@xaui/native 0.9.1-alpha.34 → 0.9.1-alpha.36
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-I66VMLHE.cjs → chunk-2L7FOIWY.cjs} +21 -21
- package/dist/{chunk-VSALV7VO.cjs → chunk-2LNE4PWB.cjs} +2 -2
- package/dist/{chunk-HVD5EX7V.js → chunk-2OZPOWFB.js} +1 -1
- package/dist/{chunk-6M7RUU7V.cjs → chunk-2SCE7TFZ.cjs} +64 -64
- package/dist/{chunk-L55CDXNI.js → chunk-3YZSUDZ2.js} +108 -102
- package/dist/{chunk-NLASSGA7.js → chunk-4XFEEBPU.js} +10 -2
- package/dist/{chunk-4SLOOIE5.cjs → chunk-5BNIIDQD.cjs} +2 -2
- package/dist/{chunk-HXL2QCMR.js → chunk-5GMU7ESV.js} +14 -14
- package/dist/{chunk-Q3D6KIVF.cjs → chunk-6N5ZCEAB.cjs} +104 -98
- package/dist/{chunk-GBFQZQ77.js → chunk-6U5IUUAR.js} +2 -2
- package/dist/{chunk-XWMB66ZM.cjs → chunk-ADQVA2FQ.cjs} +2 -2
- package/dist/{chunk-LT6XHFXJ.cjs → chunk-AQXNEV6J.cjs} +20 -21
- package/dist/{chunk-CNNLMMFV.cjs → chunk-AZRMOWRG.cjs} +6 -6
- package/dist/{chunk-JCYWU5TO.js → chunk-B6OKVLC7.js} +1 -1
- package/dist/{chunk-M2BGCN77.js → chunk-BAPXLO5N.js} +4 -4
- package/dist/{chunk-MHEL3NAN.js → chunk-CVCE7TW5.js} +53 -53
- package/dist/{chunk-BA2MPBCO.js → chunk-DL2PGB5G.js} +58 -58
- package/dist/{chunk-NFFL3E4N.js → chunk-DOLWSO7A.js} +2 -2
- package/dist/{chunk-ZA6RT3XQ.js → chunk-E5ZW7MBW.js} +16 -16
- package/dist/{chunk-K7LLERKT.cjs → chunk-EFPWXJAJ.cjs} +11 -11
- package/dist/{chunk-GGW42MY4.js → chunk-FJ5TLRT3.js} +2 -1
- package/dist/{chunk-CYS6U374.cjs → chunk-FVKIQBHS.cjs} +4 -4
- package/dist/{chunk-PBR44KVV.cjs → chunk-FYCDRRJ2.cjs} +22 -22
- package/dist/{chunk-DBXFFJTC.cjs → chunk-GHKJ6MUH.cjs} +8 -8
- package/dist/{chunk-QY4MN7X3.cjs → chunk-GPZSTEEI.cjs} +12 -12
- package/dist/{chunk-OHEHPQLC.cjs → chunk-HQVVQGYV.cjs} +2 -2
- package/dist/{chunk-MC7SY2QH.cjs → chunk-HT7H35GU.cjs} +2 -1
- package/dist/{chunk-PCWT2YBE.cjs → chunk-ISPOIMGX.cjs} +2 -2
- package/dist/{chunk-TZG3DERP.js → chunk-JB5XANQY.js} +1 -1
- package/dist/{chunk-I6ZB3FZI.cjs → chunk-K3AVOT6L.cjs} +2 -2
- package/dist/{chunk-AYOVBZAX.js → chunk-K7GAHNMJ.js} +3 -3
- package/dist/{chunk-2IWL6R3D.js → chunk-KZVHC4FL.js} +3 -3
- package/dist/{chunk-AOEXU5UV.cjs → chunk-LCDHTLSG.cjs} +3 -3
- package/dist/{chunk-UORTYL63.cjs → chunk-MFXZHLOU.cjs} +11 -11
- package/dist/{chunk-MSMZBUZO.cjs → chunk-N2U63JUX.cjs} +6 -6
- package/dist/{chunk-SLUJFE6R.js → chunk-OMV5MUTM.js} +15 -15
- package/dist/{chunk-MEYCZS32.js → chunk-OSCW7I4H.js} +1 -1
- package/dist/{chunk-WJPQARJ5.js → chunk-OWE5IID7.js} +1 -1
- package/dist/{chunk-DUQUCOUY.cjs → chunk-PGQWUASE.cjs} +2 -2
- package/dist/{chunk-LZK77LFX.js → chunk-QZO57TPX.js} +1 -1
- package/dist/{chunk-7CTIE42J.cjs → chunk-RPOKLFRB.cjs} +16 -8
- package/dist/{chunk-U3RDU3HU.js → chunk-RSGIJ6RI.js} +2 -2
- package/dist/{chunk-UR6DNU2M.js → chunk-SAGMDVFU.js} +2 -2
- package/dist/{chunk-CM4LI5OH.cjs → chunk-TE7KVFE4.cjs} +9 -9
- package/dist/{chunk-NMAZ2TQF.js → chunk-U3HFQHGZ.js} +1 -1
- package/dist/{chunk-XNNJM5DQ.js → chunk-UCW25LL6.js} +75 -75
- package/dist/{chunk-ZC35YYKS.js → chunk-V5IVMZQJ.js} +1 -1
- package/dist/{chunk-KQKD3KB3.js → chunk-VWATEE5O.js} +19 -20
- package/dist/{chunk-TVCS5UOE.cjs → chunk-XARBUUIE.cjs} +49 -49
- package/dist/{chunk-OX2YNMNS.cjs → chunk-ZU3XQZ63.cjs} +63 -63
- package/dist/components/alert/index.cjs +7 -7
- package/dist/components/alert/index.js +6 -6
- package/dist/components/avatar/index.cjs +5 -5
- package/dist/components/avatar/index.js +4 -4
- package/dist/components/badge/index.cjs +4 -4
- package/dist/components/badge/index.js +3 -3
- package/dist/components/button/index.cjs +6 -6
- package/dist/components/button/index.js +5 -5
- package/dist/components/card/index.cjs +5 -5
- package/dist/components/card/index.js +4 -4
- package/dist/components/checkbox/index.cjs +5 -5
- package/dist/components/checkbox/index.js +4 -4
- package/dist/components/chip/index.cjs +7 -7
- package/dist/components/chip/index.js +6 -6
- package/dist/components/divider/index.cjs +4 -4
- package/dist/components/divider/index.js +3 -3
- package/dist/components/field-group/index.cjs +28 -0
- package/dist/components/{input-group → field-group}/index.d.cts +60 -60
- package/dist/components/{input-group → field-group}/index.d.ts +60 -60
- package/dist/components/field-group/index.js +28 -0
- package/dist/components/input-otp/index.cjs +4 -4
- package/dist/components/input-otp/index.js +3 -3
- package/dist/components/radio/index.cjs +5 -5
- package/dist/components/radio/index.js +4 -4
- package/dist/components/skeleton/index.cjs +4 -4
- package/dist/components/skeleton/index.d.cts +44 -53
- package/dist/components/skeleton/index.d.ts +44 -53
- package/dist/components/skeleton/index.js +3 -3
- package/dist/components/spinner/index.cjs +4 -4
- package/dist/components/spinner/index.js +3 -3
- package/dist/components/switch/index.cjs +5 -5
- package/dist/components/switch/index.js +4 -4
- package/dist/components/text-area/index.cjs +5 -5
- package/dist/components/text-area/index.d.cts +10 -10
- package/dist/components/text-area/index.d.ts +10 -10
- package/dist/components/text-area/index.js +4 -4
- package/dist/components/text-field/index.cjs +26 -0
- package/dist/components/{input → text-field}/index.d.cts +43 -43
- package/dist/components/{input → text-field}/index.d.ts +43 -43
- package/dist/components/text-field/index.js +26 -0
- package/dist/components/typography/index.cjs +4 -4
- package/dist/components/typography/index.js +3 -3
- package/dist/components/view/index.cjs +4 -4
- package/dist/components/view/index.js +3 -3
- package/dist/index.cjs +26 -26
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +60 -60
- package/dist/system/index.cjs +7 -7
- package/dist/system/index.js +6 -6
- package/dist/{input.type-D2qgi03E.d.ts → text-field.type-0l73acce.d.ts} +24 -24
- package/dist/{input.type-BUMDlzL9.d.cts → text-field.type-DBh06DU5.d.cts} +24 -24
- package/dist/theme/index.cjs +3 -3
- package/dist/theme/index.js +2 -2
- package/package.json +16 -16
- package/dist/components/input/index.cjs +0 -26
- package/dist/components/input/index.js +0 -26
- package/dist/components/input-group/index.cjs +0 -28
- package/dist/components/input-group/index.js +0 -28
|
@@ -4,10 +4,10 @@ import * as react_native from 'react-native';
|
|
|
4
4
|
import { StyleProp, ViewStyle, ViewProps, View, TextInput } from 'react-native';
|
|
5
5
|
import { V as ViewStyleProps, T as TextStyleProps } from '../../style-props.type-CfnoGEP7.js';
|
|
6
6
|
import { a as IconProps } from '../../icon.type-Kml72iSz.js';
|
|
7
|
-
import {
|
|
7
|
+
import { T as TextFieldFieldProps } from '../../text-field.type-0l73acce.js';
|
|
8
8
|
import '../../theme.type-C2gNHpEx.js';
|
|
9
9
|
|
|
10
|
-
type
|
|
10
|
+
type FieldGroupOwnProps = {
|
|
11
11
|
style?: StyleProp<ViewStyle>;
|
|
12
12
|
children?: ReactNode;
|
|
13
13
|
};
|
|
@@ -15,14 +15,14 @@ type InputGroupOwnProps = {
|
|
|
15
15
|
* R14 — the wrapper `View`'s own props, plus every `ViewStyle` key it does not claim.
|
|
16
16
|
*
|
|
17
17
|
* **There is no `variant`, no `size`, no `color` and no `isDisabled` here.** They are the
|
|
18
|
-
* `
|
|
18
|
+
* `TextField`'s, and a `FieldGroup` is one row inside it: a second `size` on this root would
|
|
19
19
|
* be a second answer to a question the field has already answered.
|
|
20
20
|
*/
|
|
21
|
-
type
|
|
21
|
+
type FieldGroupProps = FieldGroupOwnProps & Omit<ViewProps, keyof FieldGroupOwnProps> & Omit<ViewStyleProps, keyof FieldGroupOwnProps | keyof ViewProps> & {
|
|
22
22
|
/** R12 — merge into the single child instead of rendering a `View`. */
|
|
23
23
|
asChild?: boolean;
|
|
24
24
|
};
|
|
25
|
-
type
|
|
25
|
+
type FieldGroupDecoratorOwnProps = {
|
|
26
26
|
/**
|
|
27
27
|
* The decorator stops taking touches and disappears from the accessibility tree, so a
|
|
28
28
|
* tap on the glyph focuses the field under it and a screen reader announces the field
|
|
@@ -37,20 +37,20 @@ type InputGroupDecoratorOwnProps = {
|
|
|
37
37
|
style?: StyleProp<ViewStyle>;
|
|
38
38
|
children?: ReactNode;
|
|
39
39
|
};
|
|
40
|
-
type
|
|
41
|
-
type
|
|
42
|
-
type
|
|
40
|
+
type FieldGroupDecoratorProps = FieldGroupDecoratorOwnProps & Omit<ViewProps, keyof FieldGroupDecoratorOwnProps> & Omit<ViewStyleProps, keyof FieldGroupDecoratorOwnProps | keyof ViewProps>;
|
|
41
|
+
type FieldGroupPrefixProps = FieldGroupDecoratorProps;
|
|
42
|
+
type FieldGroupSuffixProps = FieldGroupDecoratorProps;
|
|
43
43
|
/** Which edge a decorator is pinned to, and therefore which width it reports. */
|
|
44
|
-
type
|
|
44
|
+
type FieldGroupSide = 'prefix' | 'suffix';
|
|
45
45
|
/**
|
|
46
|
-
* Everything `
|
|
46
|
+
* Everything `TextField.Field` accepts. It **is** that field — the same `TextInput`, the same
|
|
47
47
|
* focus plumbing, the same styles — with the padding the two decorators measured.
|
|
48
48
|
*/
|
|
49
|
-
type
|
|
49
|
+
type FieldGroupFieldProps = TextFieldFieldProps;
|
|
50
50
|
/** Everything `Icon` accepts. `size` and `color` fall back to the field's own. */
|
|
51
|
-
type
|
|
51
|
+
type FieldGroupIconProps = IconProps;
|
|
52
52
|
/**
|
|
53
|
-
* R5 — but the only thing here that is not already resolved on the `
|
|
53
|
+
* R5 — but the only thing here that is not already resolved on the `TextField`'s context: two
|
|
54
54
|
* widths nobody can know before layout.
|
|
55
55
|
*
|
|
56
56
|
* A decorator is out of flow, so it cannot push the text aside the way a sibling in a row
|
|
@@ -58,7 +58,7 @@ type InputGroupIconProps = IconProps;
|
|
|
58
58
|
* measured width. That is the same shape `TextArea` uses for `rows` — a raw number the
|
|
59
59
|
* slot turns into a style, outside the cache.
|
|
60
60
|
*/
|
|
61
|
-
type
|
|
61
|
+
type FieldGroupContextValue = {
|
|
62
62
|
/** `0` while the decorator is absent, and until its first layout. */
|
|
63
63
|
prefixWidth: number;
|
|
64
64
|
suffixWidth: number;
|
|
@@ -71,12 +71,12 @@ type InputGroupContextValue = {
|
|
|
71
71
|
* either:
|
|
72
72
|
*
|
|
73
73
|
* ```tsx
|
|
74
|
-
* <
|
|
75
|
-
* <
|
|
76
|
-
* </
|
|
74
|
+
* <FieldGroup.Prefix isDecorative>
|
|
75
|
+
* <FieldGroup.Icon as={MailIcon} />
|
|
76
|
+
* </FieldGroup.Prefix>
|
|
77
77
|
* ```
|
|
78
78
|
*
|
|
79
|
-
* The size comes from the `
|
|
79
|
+
* The size comes from the `TextField`'s own `size` — one step above the field's type, as on
|
|
80
80
|
* the `Button` and the `Chip`, because a 16pt glyph beside 16pt of text reads as the
|
|
81
81
|
* smaller of the two. The colour is the theme's `fieldPlaceholder`: a mark in a field is
|
|
82
82
|
* decoration for the text, not text. An explicit `size` or `color` still wins, which is
|
|
@@ -88,8 +88,8 @@ type InputGroupContextValue = {
|
|
|
88
88
|
* the same slot `Button`, `Chip` and `Alert` all have, and it exists so that a form does
|
|
89
89
|
* not carry a hard-coded `#888` on every field.
|
|
90
90
|
*/
|
|
91
|
-
declare function
|
|
92
|
-
declare namespace
|
|
91
|
+
declare function FieldGroupIcon({ size, color, ...rest }: FieldGroupIconProps): react.JSX.Element;
|
|
92
|
+
declare namespace FieldGroupIcon {
|
|
93
93
|
var displayName: string;
|
|
94
94
|
}
|
|
95
95
|
|
|
@@ -97,37 +97,37 @@ declare namespace InputGroupIcon {
|
|
|
97
97
|
* A field with something beside it — a glyph, a unit, a reveal toggle.
|
|
98
98
|
*
|
|
99
99
|
* ```tsx
|
|
100
|
-
* <
|
|
101
|
-
* <
|
|
102
|
-
* <
|
|
103
|
-
* <
|
|
104
|
-
* <
|
|
105
|
-
* </
|
|
106
|
-
* <
|
|
107
|
-
* <
|
|
100
|
+
* <TextField>
|
|
101
|
+
* <TextField.Label>Mot de passe</TextField.Label>
|
|
102
|
+
* <FieldGroup>
|
|
103
|
+
* <FieldGroup.Prefix isDecorative>
|
|
104
|
+
* <FieldGroup.Icon as={LockIcon} />
|
|
105
|
+
* </FieldGroup.Prefix>
|
|
106
|
+
* <FieldGroup.Field secureTextEntry value={password} onChangeText={setPassword} />
|
|
107
|
+
* <FieldGroup.Suffix>
|
|
108
108
|
* <Pressable onPress={toggle} hitSlop={20}>
|
|
109
|
-
* <
|
|
109
|
+
* <FieldGroup.Icon as={EyeIcon} />
|
|
110
110
|
* </Pressable>
|
|
111
|
-
* </
|
|
112
|
-
* </
|
|
113
|
-
* <
|
|
114
|
-
* </
|
|
111
|
+
* </FieldGroup.Suffix>
|
|
112
|
+
* </FieldGroup>
|
|
113
|
+
* <TextField.Description>Douze caractères au moins.</TextField.Description>
|
|
114
|
+
* </TextField>
|
|
115
115
|
* ```
|
|
116
116
|
*
|
|
117
|
-
* **It goes inside
|
|
117
|
+
* **It goes inside a `TextField`, and it replaces nothing but the field.** The column, the
|
|
118
118
|
* label, the hint, the error, the four variants, the `size`, the `radius`, the tint, the
|
|
119
|
-
* focus and `isInvalid` are all still the `
|
|
119
|
+
* focus and `isInvalid` are all still the `TextField`'s — this root is one row of that column,
|
|
120
120
|
* and it owns exactly one thing: how wide the two decorators turned out to be.
|
|
121
121
|
*
|
|
122
122
|
* That is why the box is still the `TextInput` itself. A wrapper carrying the border, the
|
|
123
|
-
* fill and the radius would be a second thing to keep in step with `
|
|
123
|
+
* fill and the radius would be a second thing to keep in step with `TextField`, and the day
|
|
124
124
|
* one of them gained a shadow the other would not have it. The decorators are laid **over**
|
|
125
125
|
* the field instead, out of flow, and the field clears them with padding.
|
|
126
126
|
*
|
|
127
127
|
* It works under `TextArea` too — the same context, the same field — though a decorator
|
|
128
128
|
* centred over six lines of text is rarely what a multiline field wants.
|
|
129
129
|
*/
|
|
130
|
-
declare const
|
|
130
|
+
declare const FieldGroupRoot: react.ForwardRefExoticComponent<{
|
|
131
131
|
style?: react_native.StyleProp<react_native.ViewStyle>;
|
|
132
132
|
children?: react.ReactNode;
|
|
133
133
|
} & Omit<react_native.ViewProps, keyof {
|
|
@@ -138,13 +138,13 @@ declare const InputGroupRoot: react.ForwardRefExoticComponent<{
|
|
|
138
138
|
} & react.RefAttributes<View>>;
|
|
139
139
|
|
|
140
140
|
/**
|
|
141
|
-
* The `TextInput` itself — `
|
|
141
|
+
* The `TextInput` itself — `TextField.Field` with the room the two decorators need.
|
|
142
142
|
*
|
|
143
143
|
* ```tsx
|
|
144
|
-
* <
|
|
144
|
+
* <FieldGroup.Field value={query} onChangeText={setQuery} placeholder="Rechercher…" />
|
|
145
145
|
* ```
|
|
146
146
|
*
|
|
147
|
-
* It renders the `
|
|
147
|
+
* It renders the `TextField`'s field rather than a second `TextInput`, so the focus plumbing,
|
|
148
148
|
* the placeholder colour, the label association, `isInvalid` and `isDisabled` are the ones
|
|
149
149
|
* already written, and every `TextInput` prop is written here for the same reason it is
|
|
150
150
|
* there.
|
|
@@ -155,18 +155,18 @@ declare const InputGroupRoot: react.ForwardRefExoticComponent<{
|
|
|
155
155
|
* own `paddingHorizontal`, which is what makes them win, and before the caller's `style`,
|
|
156
156
|
* which still has the last word.
|
|
157
157
|
*/
|
|
158
|
-
declare const
|
|
158
|
+
declare const FieldGroupField: react.ForwardRefExoticComponent<Omit<react_native.TextInputProps, "editable"> & Omit<TextStyleProps, keyof react_native.TextInputProps> & react.RefAttributes<TextInput>>;
|
|
159
159
|
|
|
160
160
|
/**
|
|
161
161
|
* What sits before the text — a search glyph, a currency, a country code.
|
|
162
162
|
*
|
|
163
163
|
* ```tsx
|
|
164
|
-
* <
|
|
165
|
-
* <
|
|
166
|
-
* <
|
|
167
|
-
* </
|
|
168
|
-
* <
|
|
169
|
-
* </
|
|
164
|
+
* <FieldGroup>
|
|
165
|
+
* <FieldGroup.Prefix isDecorative>
|
|
166
|
+
* <FieldGroup.Icon as={SearchIcon} />
|
|
167
|
+
* </FieldGroup.Prefix>
|
|
168
|
+
* <FieldGroup.Field placeholder="Rechercher…" />
|
|
169
|
+
* </FieldGroup>
|
|
170
170
|
* ```
|
|
171
171
|
*
|
|
172
172
|
* It is pinned to the **leading** edge and inset by the field's own padding, so the glyph
|
|
@@ -176,7 +176,7 @@ declare const InputGroupField: react.ForwardRefExoticComponent<Omit<react_native
|
|
|
176
176
|
*
|
|
177
177
|
* Add `isDecorative` whenever it holds nothing to press. Leave it off for a control.
|
|
178
178
|
*/
|
|
179
|
-
declare const
|
|
179
|
+
declare const FieldGroupPrefix: react.ForwardRefExoticComponent<{
|
|
180
180
|
isDecorative?: boolean;
|
|
181
181
|
style?: react_native.StyleProp<react_native.ViewStyle>;
|
|
182
182
|
children?: react.ReactNode;
|
|
@@ -190,14 +190,14 @@ declare const InputGroupPrefix: react.ForwardRefExoticComponent<{
|
|
|
190
190
|
* What sits after the text — a reveal toggle, a clear button, a unit, a counter.
|
|
191
191
|
*
|
|
192
192
|
* ```tsx
|
|
193
|
-
* <
|
|
194
|
-
* <
|
|
195
|
-
* <
|
|
193
|
+
* <FieldGroup>
|
|
194
|
+
* <FieldGroup.Field secureTextEntry value={password} onChangeText={setPassword} />
|
|
195
|
+
* <FieldGroup.Suffix>
|
|
196
196
|
* <Pressable onPress={toggle} hitSlop={20}>
|
|
197
|
-
* <
|
|
197
|
+
* <FieldGroup.Icon as={isVisible ? EyeOffIcon : EyeIcon} />
|
|
198
198
|
* </Pressable>
|
|
199
|
-
* </
|
|
200
|
-
* </
|
|
199
|
+
* </FieldGroup.Suffix>
|
|
200
|
+
* </FieldGroup>
|
|
201
201
|
* ```
|
|
202
202
|
*
|
|
203
203
|
* The trailing edge is where a suffix is most often a **control**, which is why
|
|
@@ -208,7 +208,7 @@ declare const InputGroupPrefix: react.ForwardRefExoticComponent<{
|
|
|
208
208
|
* `Pressable` with a `hitSlop` is the thing to put there — a 16pt glyph is not a touch
|
|
209
209
|
* target on its own.
|
|
210
210
|
*/
|
|
211
|
-
declare const
|
|
211
|
+
declare const FieldGroupSuffix: react.ForwardRefExoticComponent<{
|
|
212
212
|
isDecorative?: boolean;
|
|
213
213
|
style?: react_native.StyleProp<react_native.ViewStyle>;
|
|
214
214
|
children?: react.ReactNode;
|
|
@@ -218,7 +218,7 @@ declare const InputGroupSuffix: react.ForwardRefExoticComponent<{
|
|
|
218
218
|
children?: react.ReactNode;
|
|
219
219
|
}> & Omit<ViewStyleProps, "pointerEvents" | "style" | "children" | "hitSlop" | "id" | "needsOffscreenAlphaCompositing" | "onLayout" | "removeClippedSubviews" | "testID" | "nativeID" | "collapsable" | "collapsableChildren" | "onBlur" | "onFocus" | "renderToHardwareTextureAndroid" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "aria-label" | "accessibilityRole" | "accessibilityState" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "accessibilityHint" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "onAccessibilityAction" | "importantForAccessibility" | "aria-hidden" | "aria-modal" | "role" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "screenReaderFocusable" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "accessibilityLanguage" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "accessibilityRespondsToUserInteraction" | "isDecorative"> & react.RefAttributes<View>>;
|
|
220
220
|
|
|
221
|
-
declare const
|
|
221
|
+
declare const useFieldGroup: () => FieldGroupContextValue;
|
|
222
222
|
|
|
223
223
|
/**
|
|
224
224
|
* The room a decorator asks the field to leave it, from the width it measured.
|
|
@@ -234,9 +234,9 @@ declare function decoratorPadding(prefixWidth: number, suffixWidth: number): Vie
|
|
|
234
234
|
|
|
235
235
|
/**
|
|
236
236
|
* The four parts of a decorated field. The label, the hint and the error are **not** here:
|
|
237
|
-
* they are the `
|
|
237
|
+
* they are the `TextField`'s, and a `FieldGroup` lives inside one.
|
|
238
238
|
*/
|
|
239
|
-
declare const
|
|
239
|
+
declare const FieldGroup: react.ForwardRefExoticComponent<{
|
|
240
240
|
style?: react_native.StyleProp<react_native.ViewStyle>;
|
|
241
241
|
children?: react.ReactNode;
|
|
242
242
|
} & Omit<react_native.ViewProps, keyof {
|
|
@@ -264,7 +264,7 @@ declare const InputGroup: react.ForwardRefExoticComponent<{
|
|
|
264
264
|
style?: react_native.StyleProp<react_native.ViewStyle>;
|
|
265
265
|
children?: react.ReactNode;
|
|
266
266
|
}> & Omit<ViewStyleProps, "pointerEvents" | "style" | "children" | "hitSlop" | "id" | "needsOffscreenAlphaCompositing" | "onLayout" | "removeClippedSubviews" | "testID" | "nativeID" | "collapsable" | "collapsableChildren" | "onBlur" | "onFocus" | "renderToHardwareTextureAndroid" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "aria-label" | "accessibilityRole" | "accessibilityState" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "accessibilityHint" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "onAccessibilityAction" | "importantForAccessibility" | "aria-hidden" | "aria-modal" | "role" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "screenReaderFocusable" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "accessibilityLanguage" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "accessibilityRespondsToUserInteraction" | "isDecorative"> & react.RefAttributes<react_native.View>>;
|
|
267
|
-
Icon: typeof
|
|
267
|
+
Icon: typeof FieldGroupIcon;
|
|
268
268
|
};
|
|
269
269
|
|
|
270
|
-
export {
|
|
270
|
+
export { FieldGroup, type FieldGroupContextValue, FieldGroupField, type FieldGroupFieldProps, FieldGroupIcon, type FieldGroupIconProps, FieldGroupPrefix, type FieldGroupPrefixProps, type FieldGroupProps, FieldGroupRoot, type FieldGroupSide, FieldGroupSuffix, type FieldGroupSuffixProps, decoratorPadding, useFieldGroup };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import {
|
|
2
|
+
FieldGroup,
|
|
3
|
+
FieldGroupField,
|
|
4
|
+
FieldGroupIcon,
|
|
5
|
+
FieldGroupPrefix,
|
|
6
|
+
FieldGroupRoot,
|
|
7
|
+
FieldGroupSuffix,
|
|
8
|
+
decoratorPadding,
|
|
9
|
+
useFieldGroup
|
|
10
|
+
} from "../../chunk-CVCE7TW5.js";
|
|
11
|
+
import "../../chunk-3YZSUDZ2.js";
|
|
12
|
+
import "../../chunk-OWE5IID7.js";
|
|
13
|
+
import "../../chunk-YXPYOOHU.js";
|
|
14
|
+
import "../../chunk-36PRYGAM.js";
|
|
15
|
+
import "../../chunk-4GTAZM2C.js";
|
|
16
|
+
import "../../chunk-OSCW7I4H.js";
|
|
17
|
+
import "../../chunk-A3EGFI6T.js";
|
|
18
|
+
import "../../chunk-FJ5TLRT3.js";
|
|
19
|
+
export {
|
|
20
|
+
FieldGroup,
|
|
21
|
+
FieldGroupField,
|
|
22
|
+
FieldGroupIcon,
|
|
23
|
+
FieldGroupPrefix,
|
|
24
|
+
FieldGroupRoot,
|
|
25
|
+
FieldGroupSuffix,
|
|
26
|
+
decoratorPadding,
|
|
27
|
+
useFieldGroup
|
|
28
|
+
};
|
|
@@ -8,15 +8,15 @@
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunkFYCDRRJ2cjs = require('../../chunk-FYCDRRJ2.cjs');
|
|
12
12
|
require('../../chunk-7EIHHOHP.cjs');
|
|
13
13
|
require('../../chunk-EJQCQPET.cjs');
|
|
14
14
|
require('../../chunk-54FJOKAN.cjs');
|
|
15
15
|
require('../../chunk-H4E4HDEP.cjs');
|
|
16
16
|
require('../../chunk-FNEUOBCV.cjs');
|
|
17
|
-
require('../../chunk-
|
|
17
|
+
require('../../chunk-K3AVOT6L.cjs');
|
|
18
18
|
require('../../chunk-57SJ4LJF.cjs');
|
|
19
|
-
require('../../chunk-
|
|
19
|
+
require('../../chunk-HT7H35GU.cjs');
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
@@ -27,4 +27,4 @@ require('../../chunk-MC7SY2QH.cjs');
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
exports.InputOTP =
|
|
30
|
+
exports.InputOTP = _chunkFYCDRRJ2cjs.InputOTP; exports.OTP_ALPHANUMERIC = _chunkFYCDRRJ2cjs.OTP_ALPHANUMERIC; exports.OTP_DIGITS = _chunkFYCDRRJ2cjs.OTP_DIGITS; exports.OTP_LETTERS = _chunkFYCDRRJ2cjs.OTP_LETTERS; exports.buildSlots = _chunkFYCDRRJ2cjs.buildSlots; exports.extractPastedCode = _chunkFYCDRRJ2cjs.extractPastedCode; exports.inputOTPRecipe = _chunkFYCDRRJ2cjs.inputOTPRecipe; exports.useInputOTP = _chunkFYCDRRJ2cjs.useInputOTP; exports.useInputOTPBox = _chunkFYCDRRJ2cjs.useInputOTPBox;
|
|
@@ -8,15 +8,15 @@ import {
|
|
|
8
8
|
inputOTPRecipe,
|
|
9
9
|
useInputOTP,
|
|
10
10
|
useInputOTPBox
|
|
11
|
-
} from "../../chunk-
|
|
11
|
+
} from "../../chunk-OMV5MUTM.js";
|
|
12
12
|
import "../../chunk-F6W3JQ7K.js";
|
|
13
13
|
import "../../chunk-EGLLDKN6.js";
|
|
14
14
|
import "../../chunk-YXPYOOHU.js";
|
|
15
15
|
import "../../chunk-36PRYGAM.js";
|
|
16
16
|
import "../../chunk-4GTAZM2C.js";
|
|
17
|
-
import "../../chunk-
|
|
17
|
+
import "../../chunk-OSCW7I4H.js";
|
|
18
18
|
import "../../chunk-A3EGFI6T.js";
|
|
19
|
-
import "../../chunk-
|
|
19
|
+
import "../../chunk-FJ5TLRT3.js";
|
|
20
20
|
export {
|
|
21
21
|
InputOTP,
|
|
22
22
|
OTP_ALPHANUMERIC,
|
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkN2U63JUXcjs = require('../../chunk-N2U63JUX.cjs');
|
|
9
9
|
require('../../chunk-F6CQ6CBI.cjs');
|
|
10
10
|
require('../../chunk-7EIHHOHP.cjs');
|
|
11
|
-
require('../../chunk-
|
|
11
|
+
require('../../chunk-2SCE7TFZ.cjs');
|
|
12
12
|
require('../../chunk-7DPL3ZDS.cjs');
|
|
13
13
|
require('../../chunk-EJQCQPET.cjs');
|
|
14
14
|
require('../../chunk-54FJOKAN.cjs');
|
|
15
15
|
require('../../chunk-H4E4HDEP.cjs');
|
|
16
16
|
require('../../chunk-FNEUOBCV.cjs');
|
|
17
|
-
require('../../chunk-
|
|
17
|
+
require('../../chunk-K3AVOT6L.cjs');
|
|
18
18
|
require('../../chunk-57SJ4LJF.cjs');
|
|
19
|
-
require('../../chunk-
|
|
19
|
+
require('../../chunk-HT7H35GU.cjs');
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
@@ -24,4 +24,4 @@ require('../../chunk-MC7SY2QH.cjs');
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
exports.Radio =
|
|
27
|
+
exports.Radio = _chunkN2U63JUXcjs.Radio; exports.RadioIndicator = _chunkN2U63JUXcjs.RadioIndicator; exports.RadioLabel = _chunkN2U63JUXcjs.RadioLabel; exports.RadioRoot = _chunkN2U63JUXcjs.RadioRoot; exports.radioRecipe = _chunkN2U63JUXcjs.radioRecipe; exports.useRadio = _chunkN2U63JUXcjs.useRadio;
|
|
@@ -5,18 +5,18 @@ import {
|
|
|
5
5
|
RadioRoot,
|
|
6
6
|
radioRecipe,
|
|
7
7
|
useRadio
|
|
8
|
-
} from "../../chunk-
|
|
8
|
+
} from "../../chunk-DOLWSO7A.js";
|
|
9
9
|
import "../../chunk-BA2DBSAN.js";
|
|
10
10
|
import "../../chunk-F6W3JQ7K.js";
|
|
11
|
-
import "../../chunk-
|
|
11
|
+
import "../../chunk-UCW25LL6.js";
|
|
12
12
|
import "../../chunk-423RQBOX.js";
|
|
13
13
|
import "../../chunk-EGLLDKN6.js";
|
|
14
14
|
import "../../chunk-YXPYOOHU.js";
|
|
15
15
|
import "../../chunk-36PRYGAM.js";
|
|
16
16
|
import "../../chunk-4GTAZM2C.js";
|
|
17
|
-
import "../../chunk-
|
|
17
|
+
import "../../chunk-OSCW7I4H.js";
|
|
18
18
|
import "../../chunk-A3EGFI6T.js";
|
|
19
|
-
import "../../chunk-
|
|
19
|
+
import "../../chunk-FJ5TLRT3.js";
|
|
20
20
|
export {
|
|
21
21
|
Radio,
|
|
22
22
|
RadioIndicator,
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkAQXNEV6Jcjs = require('../../chunk-AQXNEV6J.cjs');
|
|
5
5
|
require('../../chunk-FNEUOBCV.cjs');
|
|
6
|
-
require('../../chunk-
|
|
6
|
+
require('../../chunk-K3AVOT6L.cjs');
|
|
7
7
|
require('../../chunk-57SJ4LJF.cjs');
|
|
8
|
-
require('../../chunk-
|
|
8
|
+
require('../../chunk-HT7H35GU.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
exports.Skeleton =
|
|
12
|
+
exports.Skeleton = _chunkAQXNEV6Jcjs.Skeleton; exports.skeletonRecipe = _chunkAQXNEV6Jcjs.skeletonRecipe;
|
|
@@ -5,27 +5,58 @@ import { V as ViewStyleProps } from '../../style-props.type-CfnoGEP7.cjs';
|
|
|
5
5
|
import { R as RadiusKey } from '../../theme.type-C2gNHpEx.cjs';
|
|
6
6
|
import { R as Recipe, a as StyleFn } from '../../create-recipe-dC7wMfnj.cjs';
|
|
7
7
|
|
|
8
|
-
type SkeletonSlot = 'root';
|
|
9
8
|
/**
|
|
10
|
-
*
|
|
9
|
+
* The shape of what has not arrived yet.
|
|
11
10
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
11
|
+
* ```tsx
|
|
12
|
+
* <Skeleton width={140} height={20} />
|
|
13
|
+
* <Skeleton width={48} height={48} radius="full" />
|
|
14
|
+
*
|
|
15
|
+
* <Skeleton isLoading={!user} height={20} width={140}>
|
|
16
|
+
* <Typography>{user?.name}</Typography>
|
|
17
|
+
* </Skeleton>
|
|
18
|
+
* ```
|
|
15
19
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
20
|
+
* **One node and no slots.** A placeholder is a rectangle; there is nothing inside it to
|
|
21
|
+
* name. A paragraph of them is three of these in a `Column`, which is composition doing
|
|
22
|
+
* what a `lines={3}` prop would otherwise hard-code — including the last line being
|
|
23
|
+
* shorter, which is the only reason the paragraph reads as a paragraph.
|
|
19
24
|
*
|
|
20
|
-
* **
|
|
21
|
-
*
|
|
22
|
-
*
|
|
25
|
+
* **It has no `size`, and that is the design.** Only the caller knows the shape of the
|
|
26
|
+
* thing that is missing, so R14's `width` and `height` are the whole sizing API — full
|
|
27
|
+
* React Native names and values, `width="60%"` as readily as `width={140}`. A `size`
|
|
28
|
+
* token here would be a scale of rectangles nobody's content happens to be.
|
|
29
|
+
*
|
|
30
|
+
* **`isLoading={false}` renders `children`**, which is what makes it a gate rather than a
|
|
31
|
+
* shape you mount and unmount around your own content.
|
|
23
32
|
*/
|
|
24
|
-
|
|
33
|
+
declare const Skeleton: react.ForwardRefExoticComponent<Omit<ViewProps, "style"> & {
|
|
34
|
+
radius?: RadiusKey;
|
|
35
|
+
color?: string;
|
|
36
|
+
isLoading?: boolean;
|
|
37
|
+
animation?: boolean;
|
|
38
|
+
children?: react.ReactNode;
|
|
39
|
+
style?: StyleProp<ViewStyle>;
|
|
40
|
+
} & Omit<ViewStyleProps, "color" | "pointerEvents" | "style" | "children" | "hitSlop" | "id" | "needsOffscreenAlphaCompositing" | "onLayout" | "removeClippedSubviews" | "testID" | "nativeID" | "collapsable" | "collapsableChildren" | "onBlur" | "onFocus" | "renderToHardwareTextureAndroid" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "aria-label" | "accessibilityRole" | "accessibilityState" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "accessibilityHint" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "onAccessibilityAction" | "importantForAccessibility" | "aria-hidden" | "aria-modal" | "role" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "screenReaderFocusable" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "accessibilityLanguage" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "accessibilityRespondsToUserInteraction" | "animation" | "radius" | "isLoading"> & react.RefAttributes<View>>;
|
|
41
|
+
|
|
42
|
+
declare const skeletonRecipe: Recipe<"root", "default", {
|
|
43
|
+
readonly radius: Record<RadiusKey, StyleFn<"root">>;
|
|
44
|
+
}>;
|
|
45
|
+
|
|
46
|
+
type SkeletonSlot = 'root';
|
|
25
47
|
/**
|
|
26
48
|
* What the `Skeleton` itself understands. R14 — a name in here is the component's, so the
|
|
27
49
|
* style prop that shares it is not exposed: `color` is R7's tint.
|
|
28
50
|
*
|
|
51
|
+
* **No `variant`.** It had two — the neutral fill and that fill at half — sold as the two
|
|
52
|
+
* backgrounds a placeholder is drawn on. Measured, the second is *less* visible than the
|
|
53
|
+
* first on every surface in both modes, so it was never the answer to "this block reads as
|
|
54
|
+
* a hole"; and on a `secondary` `Card` in dark mode both resolve to the surface's own
|
|
55
|
+
* `#27272a` and vanish. A skeleton has to contrast with whatever is under it, and a fixed
|
|
56
|
+
* token cannot know what that is — two frozen values were never going to cover three
|
|
57
|
+
* surfaces times two modes. `color` is the way past it, and it is honest about being a
|
|
58
|
+
* raw value rather than a name that promises a system.
|
|
59
|
+
*
|
|
29
60
|
* **No `asChild`** (R12), because `children` is already taken and means the opposite of
|
|
30
61
|
* what the prop would need it to. Here it is the content the block stands in for — what
|
|
31
62
|
* renders once `isLoading` is `false` — while `asChild` hands `Slot` an element to merge
|
|
@@ -34,7 +65,6 @@ type SkeletonVariant = 'default' | 'secondary';
|
|
|
34
65
|
* instead, and R14 gives every `ViewStyle` key as a prop.
|
|
35
66
|
*/
|
|
36
67
|
type SkeletonOwnProps = {
|
|
37
|
-
variant?: SkeletonVariant;
|
|
38
68
|
/**
|
|
39
69
|
* The corner. `full` is the circle an avatar placeholder needs, and it is why this is a
|
|
40
70
|
* prop rather than the caller's `borderRadius` — a circle is a shape the vocabulary
|
|
@@ -78,43 +108,4 @@ type SkeletonOwnProps = {
|
|
|
78
108
|
};
|
|
79
109
|
type SkeletonProps = Omit<ViewProps, 'style'> & SkeletonOwnProps & Omit<ViewStyleProps, keyof SkeletonOwnProps | keyof ViewProps>;
|
|
80
110
|
|
|
81
|
-
|
|
82
|
-
* The shape of what has not arrived yet.
|
|
83
|
-
*
|
|
84
|
-
* ```tsx
|
|
85
|
-
* <Skeleton width={140} height={20} />
|
|
86
|
-
* <Skeleton width={48} height={48} radius="full" />
|
|
87
|
-
*
|
|
88
|
-
* <Skeleton isLoading={!user} height={20} width={140}>
|
|
89
|
-
* <Typography>{user?.name}</Typography>
|
|
90
|
-
* </Skeleton>
|
|
91
|
-
* ```
|
|
92
|
-
*
|
|
93
|
-
* **One node and no slots.** A placeholder is a rectangle; there is nothing inside it to
|
|
94
|
-
* name. A paragraph of them is three of these in a `Column`, which is composition doing
|
|
95
|
-
* what a `lines={3}` prop would otherwise hard-code — including the last line being
|
|
96
|
-
* shorter, which is the only reason the paragraph reads as a paragraph.
|
|
97
|
-
*
|
|
98
|
-
* **It has no `size`, and that is the design.** Only the caller knows the shape of the
|
|
99
|
-
* thing that is missing, so R14's `width` and `height` are the whole sizing API — full
|
|
100
|
-
* React Native names and values, `width="60%"` as readily as `width={140}`. A `size`
|
|
101
|
-
* token here would be a scale of rectangles nobody's content happens to be.
|
|
102
|
-
*
|
|
103
|
-
* **`isLoading={false}` renders `children`**, which is what makes it a gate rather than a
|
|
104
|
-
* shape you mount and unmount around your own content.
|
|
105
|
-
*/
|
|
106
|
-
declare const Skeleton: react.ForwardRefExoticComponent<Omit<ViewProps, "style"> & {
|
|
107
|
-
variant?: SkeletonVariant;
|
|
108
|
-
radius?: RadiusKey;
|
|
109
|
-
color?: string;
|
|
110
|
-
isLoading?: boolean;
|
|
111
|
-
animation?: boolean;
|
|
112
|
-
children?: react.ReactNode;
|
|
113
|
-
style?: StyleProp<ViewStyle>;
|
|
114
|
-
} & Omit<ViewStyleProps, "color" | "pointerEvents" | "style" | "children" | "hitSlop" | "id" | "needsOffscreenAlphaCompositing" | "onLayout" | "removeClippedSubviews" | "testID" | "nativeID" | "collapsable" | "collapsableChildren" | "onBlur" | "onFocus" | "renderToHardwareTextureAndroid" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "aria-label" | "accessibilityRole" | "accessibilityState" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "accessibilityHint" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "onAccessibilityAction" | "importantForAccessibility" | "aria-hidden" | "aria-modal" | "role" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "screenReaderFocusable" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "accessibilityLanguage" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "accessibilityRespondsToUserInteraction" | "animation" | "radius" | "variant" | "isLoading"> & react.RefAttributes<View>>;
|
|
115
|
-
|
|
116
|
-
declare const skeletonRecipe: Recipe<"root", SkeletonVariant, {
|
|
117
|
-
readonly radius: Record<RadiusKey, StyleFn<"root">>;
|
|
118
|
-
}>;
|
|
119
|
-
|
|
120
|
-
export { Skeleton, type SkeletonProps, type SkeletonSlot, type SkeletonVariant, skeletonRecipe };
|
|
111
|
+
export { Skeleton, type SkeletonProps, type SkeletonSlot, skeletonRecipe };
|