@xaui/native 0.9.1-alpha.91 → 0.9.1-alpha.93
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-2SHWOFQV.js +495 -0
- package/dist/chunk-3A5RK2R7.js +40 -0
- package/dist/chunk-6JAGPPZU.cjs +788 -0
- package/dist/chunk-7NQL5DXY.js +302 -0
- package/dist/chunk-FTPPUTWL.cjs +40 -0
- package/dist/chunk-GGP2ERSV.js +487 -0
- package/dist/chunk-LKRQUQZQ.cjs +487 -0
- package/dist/chunk-OPLPLFGK.cjs +493 -0
- package/dist/{chunk-LIEXFWTN.js → chunk-P5M5URAB.js} +29 -126
- package/dist/chunk-XWIPLZTD.cjs +302 -0
- package/dist/components/carousel/index.cjs +3 -2
- package/dist/components/carousel/index.js +2 -1
- package/dist/components/index.d.cts +3 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/components/number-pad/index.cjs +40 -0
- package/dist/components/number-pad/index.d.cts +60 -0
- package/dist/components/number-pad/index.d.ts +60 -0
- package/dist/components/number-pad/index.js +40 -0
- package/dist/components/number-pad/number-pad-action.d.cts +24 -0
- package/dist/components/number-pad/number-pad-action.d.ts +24 -0
- package/dist/components/number-pad/number-pad-backspace.d.cts +18 -0
- package/dist/components/number-pad/number-pad-backspace.d.ts +18 -0
- package/dist/components/number-pad/number-pad-cell.d.cts +7 -0
- package/dist/components/number-pad/number-pad-cell.d.ts +7 -0
- package/dist/components/number-pad/number-pad-icon.d.cts +13 -0
- package/dist/components/number-pad/number-pad-icon.d.ts +13 -0
- package/dist/components/number-pad/number-pad-key.d.cts +24 -0
- package/dist/components/number-pad/number-pad-key.d.ts +24 -0
- package/dist/components/number-pad/number-pad-label.d.cts +14 -0
- package/dist/components/number-pad/number-pad-label.d.ts +14 -0
- package/dist/components/number-pad/number-pad.context.d.cts +18 -0
- package/dist/components/number-pad/number-pad.context.d.ts +18 -0
- package/dist/components/number-pad/number-pad.d.cts +57 -0
- package/dist/components/number-pad/number-pad.d.ts +57 -0
- package/dist/components/number-pad/number-pad.recipe.d.cts +11 -0
- package/dist/components/number-pad/number-pad.recipe.d.ts +11 -0
- package/dist/components/number-pad/number-pad.style.d.cts +13 -0
- package/dist/components/number-pad/number-pad.style.d.ts +13 -0
- package/dist/components/number-pad/number-pad.type.d.cts +135 -0
- package/dist/components/number-pad/number-pad.type.d.ts +135 -0
- package/dist/components/number-pad/number-pad.utils.d.cts +34 -0
- package/dist/components/number-pad/number-pad.utils.d.ts +34 -0
- package/dist/components/pager/index.cjs +33 -0
- package/dist/components/pager/index.d.cts +60 -0
- package/dist/components/pager/index.d.ts +60 -0
- package/dist/components/pager/index.js +33 -0
- package/dist/components/pager/pager-content.d.cts +24 -0
- package/dist/components/pager/pager-content.d.ts +24 -0
- package/dist/components/pager/pager-indicator.d.cts +47 -0
- package/dist/components/pager/pager-indicator.d.ts +47 -0
- package/dist/components/pager/pager-page.d.cts +16 -0
- package/dist/components/pager/pager-page.d.ts +16 -0
- package/dist/components/pager/pager.context.d.cts +7 -0
- package/dist/components/pager/pager.context.d.ts +7 -0
- package/dist/components/pager/pager.d.cts +70 -0
- package/dist/components/pager/pager.d.ts +70 -0
- package/dist/components/pager/pager.recipe.d.cts +33 -0
- package/dist/components/pager/pager.recipe.d.ts +33 -0
- package/dist/components/pager/pager.type.d.cts +107 -0
- package/dist/components/pager/pager.type.d.ts +107 -0
- package/dist/components/rating/index.cjs +30 -0
- package/dist/components/rating/index.d.cts +41 -0
- package/dist/components/rating/index.d.ts +41 -0
- package/dist/components/rating/index.js +30 -0
- package/dist/components/rating/rating-icon.d.cts +16 -0
- package/dist/components/rating/rating-icon.d.ts +16 -0
- package/dist/components/rating/rating-item.d.cts +23 -0
- package/dist/components/rating/rating-item.d.ts +23 -0
- package/dist/components/rating/rating-star.d.cts +19 -0
- package/dist/components/rating/rating-star.d.ts +19 -0
- package/dist/components/rating/rating.context.d.cts +16 -0
- package/dist/components/rating/rating.context.d.ts +16 -0
- package/dist/components/rating/rating.d.cts +59 -0
- package/dist/components/rating/rating.d.ts +59 -0
- package/dist/components/rating/rating.recipe.d.cts +11 -0
- package/dist/components/rating/rating.recipe.d.ts +11 -0
- package/dist/components/rating/rating.style.d.cts +24 -0
- package/dist/components/rating/rating.style.d.ts +24 -0
- package/dist/components/rating/rating.type.d.cts +108 -0
- package/dist/components/rating/rating.type.d.ts +108 -0
- package/dist/components/rating/rating.utils.d.cts +28 -0
- package/dist/components/rating/rating.utils.d.ts +28 -0
- package/dist/index.cjs +91 -28
- package/dist/index.js +148 -85
- package/package.json +31 -1
- package/dist/chunk-K5UO3HBW.cjs +0 -1007
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { PressableStateCallbackType, StyleProp, TextProps, TextStyle, ViewProps, ViewStyle } from 'react-native';
|
|
3
|
+
import type { IconContextValue, IconProps } from '../../system/icon';
|
|
4
|
+
import type { PressableFeedbackProps } from '../../system/pressable-feedback';
|
|
5
|
+
import type { TextStyleProps, ViewStyleProps } from '../../system/style-props';
|
|
6
|
+
import type { RadiusKey, Size } from '../../theme/theme.type';
|
|
7
|
+
export type NumberPadSlot = 'root' | 'row' | 'key' | 'label' | 'icon' | 'ghost' | 'ghostLabel' | 'ghostIcon';
|
|
8
|
+
/**
|
|
9
|
+
* The five emphasis levels, and no intent among them. A keypad is furniture — there is no
|
|
10
|
+
* such thing as a `danger` keypad, and `success` and `warning` are outcomes rather than
|
|
11
|
+
* something you press.
|
|
12
|
+
*
|
|
13
|
+
* `default` is the default here, where the `Button` takes `primary`: eleven keys in the
|
|
14
|
+
* accent is a wall of colour, and the digit is what the eye is looking for.
|
|
15
|
+
*/
|
|
16
|
+
export type NumberPadVariant = 'primary' | 'secondary' | 'default' | 'tertiary' | 'ghost';
|
|
17
|
+
/**
|
|
18
|
+
* Three steps, and `xs` is the one missing. A key is hit with a thumb rather than pointed
|
|
19
|
+
* at, so its height is a control and a half; at `xs` that is 48 points holding a 24-point
|
|
20
|
+
* digit, which is a control-sized target pretending to be a key.
|
|
21
|
+
*/
|
|
22
|
+
export type NumberPadSize = Exclude<Size, 'xs'>;
|
|
23
|
+
type NumberPadOwnProps = {
|
|
24
|
+
variant?: NumberPadVariant;
|
|
25
|
+
/** The key's height, its corner, the gaps and the digit. Never a width. */
|
|
26
|
+
size?: NumberPadSize;
|
|
27
|
+
/** Overrides the corner `size` chose. */
|
|
28
|
+
radius?: RadiusKey;
|
|
29
|
+
/**
|
|
30
|
+
* A raw tint (R7), landing where the variant put its tokens — the filled keys only. The
|
|
31
|
+
* backspace and the free cell keep the page's foreground, because a bare glyph on a
|
|
32
|
+
* tinted pad has no tinted ground to read against.
|
|
33
|
+
*/
|
|
34
|
+
color?: string;
|
|
35
|
+
/** Controlled. Leave it out and the pad keeps the value itself. */
|
|
36
|
+
value?: string;
|
|
37
|
+
/** The starting value when uncontrolled. */
|
|
38
|
+
defaultValue?: string;
|
|
39
|
+
onChangeText?: (value: string) => void;
|
|
40
|
+
/** Fired once the value reaches `maxLength` — the PIN screen's only event. */
|
|
41
|
+
onComplete?: (value: string) => void;
|
|
42
|
+
/**
|
|
43
|
+
* How long the value may get. Unset it is unbounded, which is what a pad in front of an
|
|
44
|
+
* amount wants; set, a press past it changes nothing at all rather than truncating.
|
|
45
|
+
*/
|
|
46
|
+
maxLength?: number;
|
|
47
|
+
/** Dims every key and stops all of them. */
|
|
48
|
+
isDisabled?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* **One cell**, and it fills the free corner of the bottom row — beside the `0` and
|
|
51
|
+
* opposite the backspace. `NumberPad.Action` is what usually goes there: a fingerprint,
|
|
52
|
+
* a decimal separator, a `Clear`.
|
|
53
|
+
*
|
|
54
|
+
* The digits and the backspace are not composed, because they are not a decision (see
|
|
55
|
+
* `NUMBER_PAD_ROWS`). Left out, the corner is an empty cell that keeps the `0` centred.
|
|
56
|
+
*/
|
|
57
|
+
children?: ReactNode;
|
|
58
|
+
style?: StyleProp<ViewStyle>;
|
|
59
|
+
};
|
|
60
|
+
/** R14 — it renders a `View`, so it carries that node's style keys. */
|
|
61
|
+
export type NumberPadProps = NumberPadOwnProps & Omit<ViewProps, 'style' | 'children'> & Omit<ViewStyleProps, keyof NumberPadOwnProps>;
|
|
62
|
+
/**
|
|
63
|
+
* What every cell takes: the press behaviour of a `PressableFeedback`, minus the state the
|
|
64
|
+
* cell owns itself.
|
|
65
|
+
*/
|
|
66
|
+
type CellProps = Omit<PressableFeedbackProps, 'isPressed' | 'layout' | 'style' | 'children'> & {
|
|
67
|
+
/** Overrides the pad's own — a single key can be out while the rest are live. */
|
|
68
|
+
isDisabled?: boolean;
|
|
69
|
+
/** R9 — `Pressable`'s function form as much as an object or an array. */
|
|
70
|
+
style?: StyleProp<ViewStyle> | ((state: PressableStateCallbackType) => StyleProp<ViewStyle>);
|
|
71
|
+
children?: ReactNode;
|
|
72
|
+
};
|
|
73
|
+
export type NumberPadKeyProps = CellProps & {
|
|
74
|
+
/**
|
|
75
|
+
* What this key inserts. Usually the digit it shows, which is also what it renders when
|
|
76
|
+
* nothing is composed inside it.
|
|
77
|
+
*/
|
|
78
|
+
value: string;
|
|
79
|
+
};
|
|
80
|
+
export type NumberPadBackspaceProps = CellProps;
|
|
81
|
+
export type NumberPadActionProps = CellProps;
|
|
82
|
+
/** `Text`'s own props win over the `TextStyle` keys of the same name (R14). */
|
|
83
|
+
export type NumberPadLabelProps = TextProps & Omit<TextStyleProps, keyof TextProps> & {
|
|
84
|
+
children?: ReactNode;
|
|
85
|
+
};
|
|
86
|
+
export type NumberPadIconProps = IconProps;
|
|
87
|
+
/**
|
|
88
|
+
* Which cell a label or a glyph is inside, and how that cell is doing.
|
|
89
|
+
*
|
|
90
|
+
* `tone` is what lets `NumberPad.Label` and `NumberPad.Icon` pick the right foreground with
|
|
91
|
+
* no prop of their own: a filled key's is the variant's, a bare corner's is the page's.
|
|
92
|
+
*/
|
|
93
|
+
export type NumberPadCellContextValue = {
|
|
94
|
+
tone: NumberPadCellTone;
|
|
95
|
+
isPressed: boolean;
|
|
96
|
+
isDisabled: boolean;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Whether a cell is filled or bare. Not a public prop: the three cells have already made
|
|
100
|
+
* that decision, and a caller choosing it would be choosing which cell they meant.
|
|
101
|
+
*/
|
|
102
|
+
export type NumberPadCellTone = 'key' | 'ghost';
|
|
103
|
+
/**
|
|
104
|
+
* R5 — resolved styles, not props for a cell to resolve a second time.
|
|
105
|
+
*
|
|
106
|
+
* Both faces of a cell are in here because **a cell owns its own press state and the root
|
|
107
|
+
* cannot see it**: the root resolves pressed and unpressed once, and each cell picks. That
|
|
108
|
+
* is the `Menu`'s arrangement, for the same reason — nothing re-resolves per key, so a pad
|
|
109
|
+
* of eleven costs what a pad of two would.
|
|
110
|
+
*/
|
|
111
|
+
export type NumberPadContextValue = {
|
|
112
|
+
rowStyle: StyleProp<ViewStyle>;
|
|
113
|
+
keyStyle: StyleProp<ViewStyle>;
|
|
114
|
+
keyPressedStyle: StyleProp<ViewStyle>;
|
|
115
|
+
labelStyle: StyleProp<TextStyle>;
|
|
116
|
+
ghostStyle: StyleProp<ViewStyle>;
|
|
117
|
+
ghostPressedStyle: StyleProp<ViewStyle>;
|
|
118
|
+
ghostLabelStyle: StyleProp<TextStyle>;
|
|
119
|
+
/**
|
|
120
|
+
* Values, not a style: `Icon` hands `size` and `color` to a third-party component, so
|
|
121
|
+
* the root flattens each icon slot once here rather than in every icon it contains.
|
|
122
|
+
*/
|
|
123
|
+
icon: IconContextValue;
|
|
124
|
+
ghostIcon: IconContextValue;
|
|
125
|
+
/** Appends, clamped to `maxLength`, and fires `onComplete` when it arrives. */
|
|
126
|
+
insert: (text: string) => void;
|
|
127
|
+
/** Drops the last character. */
|
|
128
|
+
backspace: () => void;
|
|
129
|
+
/** Empties it — what a long press on the backspace does. */
|
|
130
|
+
clear: () => void;
|
|
131
|
+
value: string;
|
|
132
|
+
maxLength: number | undefined;
|
|
133
|
+
isDisabled: boolean;
|
|
134
|
+
};
|
|
135
|
+
export {};
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { PressableStateCallbackType, StyleProp, TextProps, TextStyle, ViewProps, ViewStyle } from 'react-native';
|
|
3
|
+
import type { IconContextValue, IconProps } from '../../system/icon';
|
|
4
|
+
import type { PressableFeedbackProps } from '../../system/pressable-feedback';
|
|
5
|
+
import type { TextStyleProps, ViewStyleProps } from '../../system/style-props';
|
|
6
|
+
import type { RadiusKey, Size } from '../../theme/theme.type';
|
|
7
|
+
export type NumberPadSlot = 'root' | 'row' | 'key' | 'label' | 'icon' | 'ghost' | 'ghostLabel' | 'ghostIcon';
|
|
8
|
+
/**
|
|
9
|
+
* The five emphasis levels, and no intent among them. A keypad is furniture — there is no
|
|
10
|
+
* such thing as a `danger` keypad, and `success` and `warning` are outcomes rather than
|
|
11
|
+
* something you press.
|
|
12
|
+
*
|
|
13
|
+
* `default` is the default here, where the `Button` takes `primary`: eleven keys in the
|
|
14
|
+
* accent is a wall of colour, and the digit is what the eye is looking for.
|
|
15
|
+
*/
|
|
16
|
+
export type NumberPadVariant = 'primary' | 'secondary' | 'default' | 'tertiary' | 'ghost';
|
|
17
|
+
/**
|
|
18
|
+
* Three steps, and `xs` is the one missing. A key is hit with a thumb rather than pointed
|
|
19
|
+
* at, so its height is a control and a half; at `xs` that is 48 points holding a 24-point
|
|
20
|
+
* digit, which is a control-sized target pretending to be a key.
|
|
21
|
+
*/
|
|
22
|
+
export type NumberPadSize = Exclude<Size, 'xs'>;
|
|
23
|
+
type NumberPadOwnProps = {
|
|
24
|
+
variant?: NumberPadVariant;
|
|
25
|
+
/** The key's height, its corner, the gaps and the digit. Never a width. */
|
|
26
|
+
size?: NumberPadSize;
|
|
27
|
+
/** Overrides the corner `size` chose. */
|
|
28
|
+
radius?: RadiusKey;
|
|
29
|
+
/**
|
|
30
|
+
* A raw tint (R7), landing where the variant put its tokens — the filled keys only. The
|
|
31
|
+
* backspace and the free cell keep the page's foreground, because a bare glyph on a
|
|
32
|
+
* tinted pad has no tinted ground to read against.
|
|
33
|
+
*/
|
|
34
|
+
color?: string;
|
|
35
|
+
/** Controlled. Leave it out and the pad keeps the value itself. */
|
|
36
|
+
value?: string;
|
|
37
|
+
/** The starting value when uncontrolled. */
|
|
38
|
+
defaultValue?: string;
|
|
39
|
+
onChangeText?: (value: string) => void;
|
|
40
|
+
/** Fired once the value reaches `maxLength` — the PIN screen's only event. */
|
|
41
|
+
onComplete?: (value: string) => void;
|
|
42
|
+
/**
|
|
43
|
+
* How long the value may get. Unset it is unbounded, which is what a pad in front of an
|
|
44
|
+
* amount wants; set, a press past it changes nothing at all rather than truncating.
|
|
45
|
+
*/
|
|
46
|
+
maxLength?: number;
|
|
47
|
+
/** Dims every key and stops all of them. */
|
|
48
|
+
isDisabled?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* **One cell**, and it fills the free corner of the bottom row — beside the `0` and
|
|
51
|
+
* opposite the backspace. `NumberPad.Action` is what usually goes there: a fingerprint,
|
|
52
|
+
* a decimal separator, a `Clear`.
|
|
53
|
+
*
|
|
54
|
+
* The digits and the backspace are not composed, because they are not a decision (see
|
|
55
|
+
* `NUMBER_PAD_ROWS`). Left out, the corner is an empty cell that keeps the `0` centred.
|
|
56
|
+
*/
|
|
57
|
+
children?: ReactNode;
|
|
58
|
+
style?: StyleProp<ViewStyle>;
|
|
59
|
+
};
|
|
60
|
+
/** R14 — it renders a `View`, so it carries that node's style keys. */
|
|
61
|
+
export type NumberPadProps = NumberPadOwnProps & Omit<ViewProps, 'style' | 'children'> & Omit<ViewStyleProps, keyof NumberPadOwnProps>;
|
|
62
|
+
/**
|
|
63
|
+
* What every cell takes: the press behaviour of a `PressableFeedback`, minus the state the
|
|
64
|
+
* cell owns itself.
|
|
65
|
+
*/
|
|
66
|
+
type CellProps = Omit<PressableFeedbackProps, 'isPressed' | 'layout' | 'style' | 'children'> & {
|
|
67
|
+
/** Overrides the pad's own — a single key can be out while the rest are live. */
|
|
68
|
+
isDisabled?: boolean;
|
|
69
|
+
/** R9 — `Pressable`'s function form as much as an object or an array. */
|
|
70
|
+
style?: StyleProp<ViewStyle> | ((state: PressableStateCallbackType) => StyleProp<ViewStyle>);
|
|
71
|
+
children?: ReactNode;
|
|
72
|
+
};
|
|
73
|
+
export type NumberPadKeyProps = CellProps & {
|
|
74
|
+
/**
|
|
75
|
+
* What this key inserts. Usually the digit it shows, which is also what it renders when
|
|
76
|
+
* nothing is composed inside it.
|
|
77
|
+
*/
|
|
78
|
+
value: string;
|
|
79
|
+
};
|
|
80
|
+
export type NumberPadBackspaceProps = CellProps;
|
|
81
|
+
export type NumberPadActionProps = CellProps;
|
|
82
|
+
/** `Text`'s own props win over the `TextStyle` keys of the same name (R14). */
|
|
83
|
+
export type NumberPadLabelProps = TextProps & Omit<TextStyleProps, keyof TextProps> & {
|
|
84
|
+
children?: ReactNode;
|
|
85
|
+
};
|
|
86
|
+
export type NumberPadIconProps = IconProps;
|
|
87
|
+
/**
|
|
88
|
+
* Which cell a label or a glyph is inside, and how that cell is doing.
|
|
89
|
+
*
|
|
90
|
+
* `tone` is what lets `NumberPad.Label` and `NumberPad.Icon` pick the right foreground with
|
|
91
|
+
* no prop of their own: a filled key's is the variant's, a bare corner's is the page's.
|
|
92
|
+
*/
|
|
93
|
+
export type NumberPadCellContextValue = {
|
|
94
|
+
tone: NumberPadCellTone;
|
|
95
|
+
isPressed: boolean;
|
|
96
|
+
isDisabled: boolean;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Whether a cell is filled or bare. Not a public prop: the three cells have already made
|
|
100
|
+
* that decision, and a caller choosing it would be choosing which cell they meant.
|
|
101
|
+
*/
|
|
102
|
+
export type NumberPadCellTone = 'key' | 'ghost';
|
|
103
|
+
/**
|
|
104
|
+
* R5 — resolved styles, not props for a cell to resolve a second time.
|
|
105
|
+
*
|
|
106
|
+
* Both faces of a cell are in here because **a cell owns its own press state and the root
|
|
107
|
+
* cannot see it**: the root resolves pressed and unpressed once, and each cell picks. That
|
|
108
|
+
* is the `Menu`'s arrangement, for the same reason — nothing re-resolves per key, so a pad
|
|
109
|
+
* of eleven costs what a pad of two would.
|
|
110
|
+
*/
|
|
111
|
+
export type NumberPadContextValue = {
|
|
112
|
+
rowStyle: StyleProp<ViewStyle>;
|
|
113
|
+
keyStyle: StyleProp<ViewStyle>;
|
|
114
|
+
keyPressedStyle: StyleProp<ViewStyle>;
|
|
115
|
+
labelStyle: StyleProp<TextStyle>;
|
|
116
|
+
ghostStyle: StyleProp<ViewStyle>;
|
|
117
|
+
ghostPressedStyle: StyleProp<ViewStyle>;
|
|
118
|
+
ghostLabelStyle: StyleProp<TextStyle>;
|
|
119
|
+
/**
|
|
120
|
+
* Values, not a style: `Icon` hands `size` and `color` to a third-party component, so
|
|
121
|
+
* the root flattens each icon slot once here rather than in every icon it contains.
|
|
122
|
+
*/
|
|
123
|
+
icon: IconContextValue;
|
|
124
|
+
ghostIcon: IconContextValue;
|
|
125
|
+
/** Appends, clamped to `maxLength`, and fires `onComplete` when it arrives. */
|
|
126
|
+
insert: (text: string) => void;
|
|
127
|
+
/** Drops the last character. */
|
|
128
|
+
backspace: () => void;
|
|
129
|
+
/** Empties it — what a long press on the backspace does. */
|
|
130
|
+
clear: () => void;
|
|
131
|
+
value: string;
|
|
132
|
+
maxLength: number | undefined;
|
|
133
|
+
isDisabled: boolean;
|
|
134
|
+
};
|
|
135
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The three digit rows, top to bottom, then `0` on the bottom one.
|
|
3
|
+
*
|
|
4
|
+
* Data rather than markup, and that is the whole reason this component renders its own
|
|
5
|
+
* grid instead of asking to be composed: `1` through `9` are not a decision a caller
|
|
6
|
+
* makes, and eleven hand-written cells is a layout that silently disagrees with itself
|
|
7
|
+
* the moment one of them is edited.
|
|
8
|
+
*/
|
|
9
|
+
export declare const NUMBER_PAD_ROWS: readonly [readonly ["1", "2", "3"], readonly ["4", "5", "6"], readonly ["7", "8", "9"]];
|
|
10
|
+
/** The key on the bottom row, between the free cell and the backspace. */
|
|
11
|
+
export declare const NUMBER_PAD_ZERO = "0";
|
|
12
|
+
export type AppendOptions = {
|
|
13
|
+
value: string;
|
|
14
|
+
/** What the pressed key inserts. A digit, but a decimal separator is a key too. */
|
|
15
|
+
insert: string;
|
|
16
|
+
/** Unset means unbounded — a pad in front of an amount rather than a PIN. */
|
|
17
|
+
maxLength?: number;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* The value after a key press.
|
|
21
|
+
*
|
|
22
|
+
* It **clamps rather than truncates**: a press past `maxLength` returns the value
|
|
23
|
+
* unchanged, so the caller's `onChangeText` does not fire and a full PIN cannot be
|
|
24
|
+
* completed twice by leaning on a key.
|
|
25
|
+
*
|
|
26
|
+
* The insert is measured whole rather than as one character, because a key may carry more
|
|
27
|
+
* than one — a `00` key on a currency pad is a key, and a pad that let it land halfway
|
|
28
|
+
* over the limit would produce a value one character longer than it promised.
|
|
29
|
+
*/
|
|
30
|
+
export declare function appendKey({ value, insert, maxLength }: AppendOptions): string;
|
|
31
|
+
/** The value after a backspace. Empty stays empty rather than becoming `undefined`. */
|
|
32
|
+
export declare function removeLast(value: string): string;
|
|
33
|
+
/** Whether the value has reached the length the pad was given. */
|
|
34
|
+
export declare function isComplete(value: string, maxLength?: number): boolean;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The three digit rows, top to bottom, then `0` on the bottom one.
|
|
3
|
+
*
|
|
4
|
+
* Data rather than markup, and that is the whole reason this component renders its own
|
|
5
|
+
* grid instead of asking to be composed: `1` through `9` are not a decision a caller
|
|
6
|
+
* makes, and eleven hand-written cells is a layout that silently disagrees with itself
|
|
7
|
+
* the moment one of them is edited.
|
|
8
|
+
*/
|
|
9
|
+
export declare const NUMBER_PAD_ROWS: readonly [readonly ["1", "2", "3"], readonly ["4", "5", "6"], readonly ["7", "8", "9"]];
|
|
10
|
+
/** The key on the bottom row, between the free cell and the backspace. */
|
|
11
|
+
export declare const NUMBER_PAD_ZERO = "0";
|
|
12
|
+
export type AppendOptions = {
|
|
13
|
+
value: string;
|
|
14
|
+
/** What the pressed key inserts. A digit, but a decimal separator is a key too. */
|
|
15
|
+
insert: string;
|
|
16
|
+
/** Unset means unbounded — a pad in front of an amount rather than a PIN. */
|
|
17
|
+
maxLength?: number;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* The value after a key press.
|
|
21
|
+
*
|
|
22
|
+
* It **clamps rather than truncates**: a press past `maxLength` returns the value
|
|
23
|
+
* unchanged, so the caller's `onChangeText` does not fire and a full PIN cannot be
|
|
24
|
+
* completed twice by leaning on a key.
|
|
25
|
+
*
|
|
26
|
+
* The insert is measured whole rather than as one character, because a key may carry more
|
|
27
|
+
* than one — a `00` key on a currency pad is a key, and a pad that let it land halfway
|
|
28
|
+
* over the limit would produce a value one character longer than it promised.
|
|
29
|
+
*/
|
|
30
|
+
export declare function appendKey({ value, insert, maxLength }: AppendOptions): string;
|
|
31
|
+
/** The value after a backspace. Empty stays empty rather than becoming `undefined`. */
|
|
32
|
+
export declare function removeLast(value: string): string;
|
|
33
|
+
/** Whether the value has reached the length the pad was given. */
|
|
34
|
+
export declare function isComplete(value: string, maxLength?: number): boolean;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
var _chunkOPLPLFGKcjs = require('../../chunk-OPLPLFGK.cjs');
|
|
12
|
+
require('../../chunk-FTPPUTWL.cjs');
|
|
13
|
+
require('../../chunk-WFEMJCXO.cjs');
|
|
14
|
+
require('../../chunk-7EIHHOHP.cjs');
|
|
15
|
+
require('../../chunk-FHNIGHN5.cjs');
|
|
16
|
+
require('../../chunk-SL3V7R2Y.cjs');
|
|
17
|
+
require('../../chunk-TVJXC4HY.cjs');
|
|
18
|
+
require('../../chunk-CDRGTUYF.cjs');
|
|
19
|
+
require('../../chunk-H4E4HDEP.cjs');
|
|
20
|
+
require('../../chunk-EJQCQPET.cjs');
|
|
21
|
+
require('../../chunk-IIAQISBG.cjs');
|
|
22
|
+
require('../../chunk-TK44VBIE.cjs');
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
exports.DOT_REST_OPACITY = _chunkOPLPLFGKcjs.DOT_REST_OPACITY; exports.Pager = _chunkOPLPLFGKcjs.Pager; exports.PagerContent = _chunkOPLPLFGKcjs.PagerContent; exports.PagerDot = _chunkOPLPLFGKcjs.PagerDot; exports.PagerIndicator = _chunkOPLPLFGKcjs.PagerIndicator; exports.PagerPage = _chunkOPLPLFGKcjs.PagerPage; exports.PagerRoot = _chunkOPLPLFGKcjs.PagerRoot; exports.pagerRecipe = _chunkOPLPLFGKcjs.pagerRecipe; exports.usePager = _chunkOPLPLFGKcjs.usePager;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export declare const Pager: import("react").ForwardRefExoticComponent<{
|
|
2
|
+
variant?: import("./pager.type").PagerVariant;
|
|
3
|
+
size?: import("./pager.type").PagerSize;
|
|
4
|
+
color?: string;
|
|
5
|
+
orientation?: import("./pager.type").PagerOrientation;
|
|
6
|
+
index?: number;
|
|
7
|
+
defaultIndex?: number;
|
|
8
|
+
onIndexChange?: (index: number) => void;
|
|
9
|
+
isDisabled?: boolean;
|
|
10
|
+
style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
|
|
11
|
+
children?: import("react").ReactNode;
|
|
12
|
+
} & Omit<import("react-native").ViewProps, keyof {
|
|
13
|
+
variant?: import("./pager.type").PagerVariant;
|
|
14
|
+
size?: import("./pager.type").PagerSize;
|
|
15
|
+
color?: string;
|
|
16
|
+
orientation?: import("./pager.type").PagerOrientation;
|
|
17
|
+
index?: number;
|
|
18
|
+
defaultIndex?: number;
|
|
19
|
+
onIndexChange?: (index: number) => void;
|
|
20
|
+
isDisabled?: boolean;
|
|
21
|
+
style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
|
|
22
|
+
children?: import("react").ReactNode;
|
|
23
|
+
}> & Omit<import("../..").ViewStyleProps, keyof {
|
|
24
|
+
variant?: import("./pager.type").PagerVariant;
|
|
25
|
+
size?: import("./pager.type").PagerSize;
|
|
26
|
+
color?: string;
|
|
27
|
+
orientation?: import("./pager.type").PagerOrientation;
|
|
28
|
+
index?: number;
|
|
29
|
+
defaultIndex?: number;
|
|
30
|
+
onIndexChange?: (index: number) => void;
|
|
31
|
+
isDisabled?: boolean;
|
|
32
|
+
style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
|
|
33
|
+
children?: import("react").ReactNode;
|
|
34
|
+
}> & import("react").RefAttributes<import("react-native").View>> & {
|
|
35
|
+
Content: import("react").ForwardRefExoticComponent<Omit<import("react-native").ScrollViewProps, "style" | "children"> & Omit<import("../..").ViewStyleProps, keyof import("react-native").ScrollViewProps> & {
|
|
36
|
+
style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
|
|
37
|
+
children?: import("react").ReactNode;
|
|
38
|
+
} & import("react").RefAttributes<import("react-native").ScrollView>>;
|
|
39
|
+
Page: import("react").ForwardRefExoticComponent<Omit<import("react-native").ViewProps, "style"> & Omit<import("../..").ViewStyleProps, keyof import("react-native").ViewProps> & {
|
|
40
|
+
style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
|
|
41
|
+
children?: import("react").ReactNode;
|
|
42
|
+
} & import("react").RefAttributes<import("react-native").View>>;
|
|
43
|
+
Indicator: import("react").ForwardRefExoticComponent<Omit<import("react-native").ViewProps, "style"> & Omit<import("../..").ViewStyleProps, keyof import("react-native").ViewProps> & {
|
|
44
|
+
style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
|
|
45
|
+
children?: import("react").ReactNode;
|
|
46
|
+
} & import("react").RefAttributes<import("react-native").View>>;
|
|
47
|
+
Dot: import("react").ForwardRefExoticComponent<Omit<import("react-native").ViewProps, "style"> & Omit<import("../..").ViewStyleProps, keyof import("react-native").ViewProps> & {
|
|
48
|
+
style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
|
|
49
|
+
children?: import("react").ReactNode;
|
|
50
|
+
} & {
|
|
51
|
+
index: number;
|
|
52
|
+
} & import("react").RefAttributes<import("react-native").View>>;
|
|
53
|
+
};
|
|
54
|
+
export { PagerRoot } from './pager';
|
|
55
|
+
export { PagerContent } from './pager-content';
|
|
56
|
+
export { PagerDot, PagerIndicator } from './pager-indicator';
|
|
57
|
+
export { PagerPage } from './pager-page';
|
|
58
|
+
export { usePager } from './pager.context';
|
|
59
|
+
export { DOT_REST_OPACITY, pagerRecipe } from './pager.recipe';
|
|
60
|
+
export type { PagerContentProps, PagerContextValue, PagerDotProps, PagerOrientation, PagerProps, PagerSize, PagerSlot, PagerTrackSize, PagerVariant, PagerViewSlotProps, } from './pager.type';
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export declare const Pager: import("react").ForwardRefExoticComponent<{
|
|
2
|
+
variant?: import("./pager.type").PagerVariant;
|
|
3
|
+
size?: import("./pager.type").PagerSize;
|
|
4
|
+
color?: string;
|
|
5
|
+
orientation?: import("./pager.type").PagerOrientation;
|
|
6
|
+
index?: number;
|
|
7
|
+
defaultIndex?: number;
|
|
8
|
+
onIndexChange?: (index: number) => void;
|
|
9
|
+
isDisabled?: boolean;
|
|
10
|
+
style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
|
|
11
|
+
children?: import("react").ReactNode;
|
|
12
|
+
} & Omit<import("react-native").ViewProps, keyof {
|
|
13
|
+
variant?: import("./pager.type").PagerVariant;
|
|
14
|
+
size?: import("./pager.type").PagerSize;
|
|
15
|
+
color?: string;
|
|
16
|
+
orientation?: import("./pager.type").PagerOrientation;
|
|
17
|
+
index?: number;
|
|
18
|
+
defaultIndex?: number;
|
|
19
|
+
onIndexChange?: (index: number) => void;
|
|
20
|
+
isDisabled?: boolean;
|
|
21
|
+
style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
|
|
22
|
+
children?: import("react").ReactNode;
|
|
23
|
+
}> & Omit<import("../..").ViewStyleProps, keyof {
|
|
24
|
+
variant?: import("./pager.type").PagerVariant;
|
|
25
|
+
size?: import("./pager.type").PagerSize;
|
|
26
|
+
color?: string;
|
|
27
|
+
orientation?: import("./pager.type").PagerOrientation;
|
|
28
|
+
index?: number;
|
|
29
|
+
defaultIndex?: number;
|
|
30
|
+
onIndexChange?: (index: number) => void;
|
|
31
|
+
isDisabled?: boolean;
|
|
32
|
+
style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
|
|
33
|
+
children?: import("react").ReactNode;
|
|
34
|
+
}> & import("react").RefAttributes<import("react-native").View>> & {
|
|
35
|
+
Content: import("react").ForwardRefExoticComponent<Omit<import("react-native").ScrollViewProps, "style" | "children"> & Omit<import("../..").ViewStyleProps, keyof import("react-native").ScrollViewProps> & {
|
|
36
|
+
style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
|
|
37
|
+
children?: import("react").ReactNode;
|
|
38
|
+
} & import("react").RefAttributes<import("react-native").ScrollView>>;
|
|
39
|
+
Page: import("react").ForwardRefExoticComponent<Omit<import("react-native").ViewProps, "style"> & Omit<import("../..").ViewStyleProps, keyof import("react-native").ViewProps> & {
|
|
40
|
+
style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
|
|
41
|
+
children?: import("react").ReactNode;
|
|
42
|
+
} & import("react").RefAttributes<import("react-native").View>>;
|
|
43
|
+
Indicator: import("react").ForwardRefExoticComponent<Omit<import("react-native").ViewProps, "style"> & Omit<import("../..").ViewStyleProps, keyof import("react-native").ViewProps> & {
|
|
44
|
+
style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
|
|
45
|
+
children?: import("react").ReactNode;
|
|
46
|
+
} & import("react").RefAttributes<import("react-native").View>>;
|
|
47
|
+
Dot: import("react").ForwardRefExoticComponent<Omit<import("react-native").ViewProps, "style"> & Omit<import("../..").ViewStyleProps, keyof import("react-native").ViewProps> & {
|
|
48
|
+
style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
|
|
49
|
+
children?: import("react").ReactNode;
|
|
50
|
+
} & {
|
|
51
|
+
index: number;
|
|
52
|
+
} & import("react").RefAttributes<import("react-native").View>>;
|
|
53
|
+
};
|
|
54
|
+
export { PagerRoot } from './pager';
|
|
55
|
+
export { PagerContent } from './pager-content';
|
|
56
|
+
export { PagerDot, PagerIndicator } from './pager-indicator';
|
|
57
|
+
export { PagerPage } from './pager-page';
|
|
58
|
+
export { usePager } from './pager.context';
|
|
59
|
+
export { DOT_REST_OPACITY, pagerRecipe } from './pager.recipe';
|
|
60
|
+
export type { PagerContentProps, PagerContextValue, PagerDotProps, PagerOrientation, PagerProps, PagerSize, PagerSlot, PagerTrackSize, PagerVariant, PagerViewSlotProps, } from './pager.type';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DOT_REST_OPACITY,
|
|
3
|
+
Pager,
|
|
4
|
+
PagerContent,
|
|
5
|
+
PagerDot,
|
|
6
|
+
PagerIndicator,
|
|
7
|
+
PagerPage,
|
|
8
|
+
PagerRoot,
|
|
9
|
+
pagerRecipe,
|
|
10
|
+
usePager
|
|
11
|
+
} from "../../chunk-2SHWOFQV.js";
|
|
12
|
+
import "../../chunk-3A5RK2R7.js";
|
|
13
|
+
import "../../chunk-NCTOTTVW.js";
|
|
14
|
+
import "../../chunk-F6W3JQ7K.js";
|
|
15
|
+
import "../../chunk-WFZDAXDI.js";
|
|
16
|
+
import "../../chunk-DKVXTMIJ.js";
|
|
17
|
+
import "../../chunk-3Q42X6EQ.js";
|
|
18
|
+
import "../../chunk-TTZOIXKE.js";
|
|
19
|
+
import "../../chunk-36PRYGAM.js";
|
|
20
|
+
import "../../chunk-EGLLDKN6.js";
|
|
21
|
+
import "../../chunk-Z6JBWRPL.js";
|
|
22
|
+
import "../../chunk-M63GFNKV.js";
|
|
23
|
+
export {
|
|
24
|
+
DOT_REST_OPACITY,
|
|
25
|
+
Pager,
|
|
26
|
+
PagerContent,
|
|
27
|
+
PagerDot,
|
|
28
|
+
PagerIndicator,
|
|
29
|
+
PagerPage,
|
|
30
|
+
PagerRoot,
|
|
31
|
+
pagerRecipe,
|
|
32
|
+
usePager
|
|
33
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ScrollView } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* The track: the pages, and the swiping of them.
|
|
4
|
+
*
|
|
5
|
+
* **It pages.** `pagingEnabled` is React Native's own whole-viewport paging — the thing this
|
|
6
|
+
* component is, and the thing the `Carousel` cannot use because its slides are a division of
|
|
7
|
+
* the track rather than the whole of it.
|
|
8
|
+
*
|
|
9
|
+
* **It measures itself**, and that is why the measurement is here rather than on the root:
|
|
10
|
+
* the indicator sits in the flow under the pages, so the root is taller than the box a page
|
|
11
|
+
* has to fill by exactly the height of the dots.
|
|
12
|
+
*
|
|
13
|
+
* **It counts its own children**, which is how the dots know how many pages there are
|
|
14
|
+
* without the caller passing a number that can go stale. The count is published upwards
|
|
15
|
+
* because the indicator is the track's *sibling*, not its child.
|
|
16
|
+
*
|
|
17
|
+
* **It reports its offset on the UI thread**, and the settled index from the same handler.
|
|
18
|
+
* Nothing re-renders while a finger is down except at the moment the nearest page changes,
|
|
19
|
+
* which is once per page crossed.
|
|
20
|
+
*/
|
|
21
|
+
export declare const PagerContent: import("react").ForwardRefExoticComponent<Omit<import("react-native").ScrollViewProps, "style" | "children"> & Omit<import("../..").ViewStyleProps, keyof import("react-native").ScrollViewProps> & {
|
|
22
|
+
style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
|
|
23
|
+
children?: import("react").ReactNode;
|
|
24
|
+
} & import("react").RefAttributes<ScrollView>>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ScrollView } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* The track: the pages, and the swiping of them.
|
|
4
|
+
*
|
|
5
|
+
* **It pages.** `pagingEnabled` is React Native's own whole-viewport paging — the thing this
|
|
6
|
+
* component is, and the thing the `Carousel` cannot use because its slides are a division of
|
|
7
|
+
* the track rather than the whole of it.
|
|
8
|
+
*
|
|
9
|
+
* **It measures itself**, and that is why the measurement is here rather than on the root:
|
|
10
|
+
* the indicator sits in the flow under the pages, so the root is taller than the box a page
|
|
11
|
+
* has to fill by exactly the height of the dots.
|
|
12
|
+
*
|
|
13
|
+
* **It counts its own children**, which is how the dots know how many pages there are
|
|
14
|
+
* without the caller passing a number that can go stale. The count is published upwards
|
|
15
|
+
* because the indicator is the track's *sibling*, not its child.
|
|
16
|
+
*
|
|
17
|
+
* **It reports its offset on the UI thread**, and the settled index from the same handler.
|
|
18
|
+
* Nothing re-renders while a finger is down except at the moment the nearest page changes,
|
|
19
|
+
* which is once per page crossed.
|
|
20
|
+
*/
|
|
21
|
+
export declare const PagerContent: import("react").ForwardRefExoticComponent<Omit<import("react-native").ScrollViewProps, "style" | "children"> & Omit<import("../..").ViewStyleProps, keyof import("react-native").ScrollViewProps> & {
|
|
22
|
+
style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
|
|
23
|
+
children?: import("react").ReactNode;
|
|
24
|
+
} & import("react").RefAttributes<ScrollView>>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { View } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* Which page the reader is on.
|
|
4
|
+
*
|
|
5
|
+
* With no children it draws one dot per page, which is what it is for. Children are the long
|
|
6
|
+
* form — a subset, a label beside them, a shape of your own:
|
|
7
|
+
*
|
|
8
|
+
* ```tsx
|
|
9
|
+
* <Pager.Indicator>
|
|
10
|
+
* {steps.map((step, index) => (
|
|
11
|
+
* <Pager.Dot key={step.id} index={index} />
|
|
12
|
+
* ))}
|
|
13
|
+
* </Pager.Indicator>
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* It sits **in the flow**, under the pages. A caller who wants it over them says so —
|
|
17
|
+
* `position="absolute" bottom={16} start={0} end={0}` — which is what the style props are
|
|
18
|
+
* for; absolute by default would have made the common case the one that needs undoing.
|
|
19
|
+
*/
|
|
20
|
+
export declare const PagerIndicator: import("react").ForwardRefExoticComponent<Omit<import("react-native").ViewProps, "style"> & Omit<import("../..").ViewStyleProps, keyof import("react-native").ViewProps> & {
|
|
21
|
+
style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
|
|
22
|
+
children?: import("react").ReactNode;
|
|
23
|
+
} & import("react").RefAttributes<View>>;
|
|
24
|
+
/**
|
|
25
|
+
* One dot.
|
|
26
|
+
*
|
|
27
|
+
* **It changes colour, it does not stretch.** That is the difference from
|
|
28
|
+
* `Carousel.Dot`, and it is deliberate rather than a simplification: a page control is a
|
|
29
|
+
* fixed row of marks saying how many screens there are and which one you are on, and a mark
|
|
30
|
+
* that grows makes the row's arithmetic move under a reader who is counting it. The
|
|
31
|
+
* carousel's pill is a *progress* indicator over a series; this is a position among screens.
|
|
32
|
+
*
|
|
33
|
+
* **It follows the drag rather than the settle.** The colour is interpolated from the live
|
|
34
|
+
* scroll offset on the UI thread, so it travels while the finger is still down — which is
|
|
35
|
+
* what makes a reader believe the dots are attached to the thing they are moving. Reading
|
|
36
|
+
* the settled index instead would make it jump once per gesture, after the fact.
|
|
37
|
+
*
|
|
38
|
+
* **A screen reader hears "3 of 5" rather than a label**, through `accessibilityValue`. A dot
|
|
39
|
+
* has no text of its own, and inventing one would be picking a language on behalf of every
|
|
40
|
+
* app that installs this.
|
|
41
|
+
*/
|
|
42
|
+
export declare const PagerDot: import("react").ForwardRefExoticComponent<Omit<import("react-native").ViewProps, "style"> & Omit<import("../..").ViewStyleProps, keyof import("react-native").ViewProps> & {
|
|
43
|
+
style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
|
|
44
|
+
children?: import("react").ReactNode;
|
|
45
|
+
} & {
|
|
46
|
+
index: number;
|
|
47
|
+
} & import("react").RefAttributes<View>>;
|