Skip to content

Commit ee5d729

Browse files
committed
feat(react-native-li): add rtlMarkerReversed prop to MarkerBox
1 parent d3fd79c commit ee5d729

9 files changed

+34
-9
lines changed

packages/react-native-li/docs/react-native-li.markedlistitem.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ See [CSS Lists and Counters Module Level 3, Markers](https://www.w3.org/TR/css-l
1111
<b>Signature:</b>
1212

1313
```typescript
14-
export default function MarkedListItem({ counterRenderer, index, startIndex, rtlLineReversed, markerTextStyle, markerBoxStyle, maxNumOfCodepoints, markerTextWidth, style, renderMarker, children }: PropsWithChildren<MarkedListItemProps>): JSX.Element;
14+
export default function MarkedListItem({ counterRenderer, index, startIndex, rtlLineReversed, rtlMarkerReversed, markerTextStyle, markerBoxStyle, maxNumOfCodepoints, markerTextWidth, style, renderMarker, children }: PropsWithChildren<MarkedListItemProps>): JSX.Element;
1515
```
1616

1717
## Parameters
1818

1919
| Parameter | Type | Description |
2020
| --- | --- | --- |
21-
| { counterRenderer, index, startIndex, rtlLineReversed, markerTextStyle, markerBoxStyle, maxNumOfCodepoints, markerTextWidth, style, renderMarker, children } | PropsWithChildren&lt;[MarkedListItemProps](./react-native-li.markedlistitemprops.md)<!-- -->&gt; | |
21+
| { counterRenderer, index, startIndex, rtlLineReversed, rtlMarkerReversed, markerTextStyle, markerBoxStyle, maxNumOfCodepoints, markerTextWidth, style, renderMarker, children } | PropsWithChildren&lt;[MarkedListItemProps](./react-native-li.markedlistitemprops.md)<!-- -->&gt; | |
2222

2323
<b>Returns:</b>
2424

packages/react-native-li/docs/react-native-li.markedlistitemprops.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Props for the [MarkedListItem()](./react-native-li.markedlistitem.md) component.
99
<b>Signature:</b>
1010

1111
```typescript
12-
export declare type MarkedListItemProps = Required<Pick<MarkedListProps, 'counterRenderer' | 'renderMarker' | 'markerTextStyle' | 'markerBoxStyle' | 'rtlLineReversed' | 'startIndex'>> & {
12+
export declare type MarkedListItemProps = Required<Pick<MarkedListProps, 'counterRenderer' | 'renderMarker' | 'markerTextStyle' | 'markerBoxStyle' | 'rtlLineReversed' | 'rtlMarkerReversed' | 'startIndex'>> & {
1313
index: number;
1414
markerTextWidth: number;
1515
maxNumOfCodepoints: number;

packages/react-native-li/docs/react-native-li.markerboxprops.md

+1
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,6 @@ export interface MarkerBoxProps
2121
| [markerTextStyle](./react-native-li.markerboxprops.markertextstyle.md) | TextStyle | Style for any text element. Should not contain CSS box model properties. |
2222
| [markerTextWidth](./react-native-li.markerboxprops.markertextwidth.md) | number | The width for the marker text element. |
2323
| [maxNumOfCodepoints](./react-native-li.markerboxprops.maxnumofcodepoints.md) | number | The maximum length of the <code>markerString</code> in range. |
24+
| [rtlMarkerReversed](./react-native-li.markerboxprops.rtlmarkerreversed.md) | true \| false | Whether to reverse or not the order of elements in marker (prefix, counter, suffix). |
2425
| [style](./react-native-li.markerboxprops.style.md) | StyleProp&lt;TextStyle&gt; | Style for the container <code>Text</code> element. |
2526

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [@jsamr/react-native-li](./react-native-li.md) &gt; [MarkerBoxProps](./react-native-li.markerboxprops.md) &gt; [rtlMarkerReversed](./react-native-li.markerboxprops.rtlmarkerreversed.md)
4+
5+
## MarkerBoxProps.rtlMarkerReversed property
6+
7+
Whether to reverse or not the order of elements in marker (prefix, counter, suffix).
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
rtlMarkerReversed: true | false;
13+
```

packages/react-native-li/docs/react-native-li.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
| Function | Description |
1010
| --- | --- |
1111
| [MarkedList({ children, ...props })](./react-native-li.markedlist.md) | A component which given a counter style, wraps each of its children with a [MarkedListItem()](./react-native-li.markedlistitem.md)<!-- -->. The latter prepends the child with a marker box containing a marker string representation for this child index.<!-- -->See [CSS Lists and Counters Module Level 3, Markers](https://www.w3.org/TR/css-lists-3/#markers)<!-- -->. |
12-
| [MarkedListItem({ counterRenderer, index, startIndex, rtlLineReversed, markerTextStyle, markerBoxStyle, maxNumOfCodepoints, markerTextWidth, style, renderMarker, children })](./react-native-li.markedlistitem.md) | A component which reproduces CSS3 <code>display: list-item;</code> behavior. It prepends its child with a marker box containing a marker string representation for this child index.<!-- -->See [CSS Lists and Counters Module Level 3, Markers](https://www.w3.org/TR/css-lists-3/#markers)<!-- -->. |
12+
| [MarkedListItem({ counterRenderer, index, startIndex, rtlLineReversed, rtlMarkerReversed, markerTextStyle, markerBoxStyle, maxNumOfCodepoints, markerTextWidth, style, renderMarker, children })](./react-native-li.markedlistitem.md) | A component which reproduces CSS3 <code>display: list-item;</code> behavior. It prepends its child with a marker box containing a marker string representation for this child index.<!-- -->See [CSS Lists and Counters Module Level 3, Markers](https://www.w3.org/TR/css-lists-3/#markers)<!-- -->. |
1313
| [MarkerBox({ style, counterRenderer, counterIndex, markerTextStyle, markerTextWidth })](./react-native-li.markerbox.md) | Default component to render the list marker.<!-- -->See [CSS Lists and Counters Module Level 3, Markers](https://www.w3.org/TR/css-lists-3/#marker-pseudo) |
1414
| [useMarkedList({ counterRenderer, startIndex, lineStyle, rtlLineReversed, rtlMarkerReversed, markerTextStyle, markerBoxStyle, length, renderMarker, computeMarkerBoxWidth })](./react-native-li.usemarkedlist.md) | A hook to reuse MarkedList logic to render custom lists components in combination with [MarkedListItem()](./react-native-li.markedlistitem.md)<!-- -->. |
1515

packages/react-native-li/etc/react-native-li.api.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ export { MarkedList }
2121
export default MarkedList;
2222

2323
// @public
24-
export function MarkedListItem({ counterRenderer, index, startIndex, rtlLineReversed, markerTextStyle, markerBoxStyle, maxNumOfCodepoints, markerTextWidth, style, renderMarker, children }: PropsWithChildren<MarkedListItemProps>): JSX.Element;
24+
export function MarkedListItem({ counterRenderer, index, startIndex, rtlLineReversed, rtlMarkerReversed, markerTextStyle, markerBoxStyle, maxNumOfCodepoints, markerTextWidth, style, renderMarker, children }: PropsWithChildren<MarkedListItemProps>): JSX.Element;
2525

2626
// @public
27-
export type MarkedListItemProps = Required<Pick<MarkedListProps, 'counterRenderer' | 'renderMarker' | 'markerTextStyle' | 'markerBoxStyle' | 'rtlLineReversed' | 'startIndex'>> & {
27+
export type MarkedListItemProps = Required<Pick<MarkedListProps, 'counterRenderer' | 'renderMarker' | 'markerTextStyle' | 'markerBoxStyle' | 'rtlLineReversed' | 'rtlMarkerReversed' | 'startIndex'>> & {
2828
index: number;
2929
markerTextWidth: number;
3030
maxNumOfCodepoints: number;
@@ -54,6 +54,7 @@ export interface MarkerBoxProps {
5454
markerTextStyle: TextStyle;
5555
markerTextWidth: number;
5656
maxNumOfCodepoints: number;
57+
rtlMarkerReversed: true | false;
5758
style: StyleProp<TextStyle>;
5859
}
5960

packages/react-native-li/src/MarkedListItem.tsx

+4
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export type MarkedListItemProps = Required<
1515
| 'markerTextStyle'
1616
| 'markerBoxStyle'
1717
| 'rtlLineReversed'
18+
| 'rtlMarkerReversed'
1819
| 'startIndex'
1920
>
2021
> & {
@@ -38,6 +39,7 @@ export default function MarkedListItem({
3839
index,
3940
startIndex,
4041
rtlLineReversed,
42+
rtlMarkerReversed,
4143
markerTextStyle,
4244
markerBoxStyle,
4345
maxNumOfCodepoints,
@@ -53,6 +55,8 @@ export default function MarkedListItem({
5355
key={index}>
5456
{renderMarker({
5557
counterRenderer,
58+
rtlMarkerReversed:
59+
typeof rtlMarkerReversed === 'boolean' ? rtlMarkerReversed : true,
5660
counterIndex: index + startIndex,
5761
maxNumOfCodepoints,
5862
style: markerBoxStyle,

packages/react-native-li/src/shared-types.ts

+5
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ export interface MarkerBoxProps {
3232
* The maximum length of the `markerString` in range.
3333
*/
3434
maxNumOfCodepoints: number;
35+
/**
36+
* Whether to reverse or not the order of elements in marker (prefix,
37+
* counter, suffix).
38+
*/
39+
rtlMarkerReversed: true | false;
3540
}
3641

3742
/**

packages/react-native-li/src/useMarkedList.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,14 @@ export default function useMarkedList({
6868
);
6969
return {
7070
maxNumOfCodepoints,
71+
rtlMarkerReversed,
72+
markerTextWidth,
73+
renderMarker,
74+
startIndex,
7175
rtlLineReversed: syntheticRtlLineReversed,
7276
markerTextStyle: syntheticMarkerTextStyle,
73-
markerTextWidth,
7477
markerBoxStyle: markerBoxStyle as any,
75-
renderMarker,
7678
counterRenderer: renderer,
77-
startIndex,
7879
style: lineStyle
7980
};
8081
}

0 commit comments

Comments
 (0)