@xaui/native 0.9.1-alpha.12 → 0.9.1-alpha.14
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-5TKZV7IC.js → chunk-4O3PXFQ7.js} +13 -13
- package/dist/{chunk-TO6DAGFB.js → chunk-5XAFRH2H.js} +7 -2
- package/dist/{chunk-FDUI4IAM.cjs → chunk-6N5JXRUZ.cjs} +4 -1
- package/dist/{chunk-KLHHV4RU.js → chunk-CLU6QDYC.js} +135 -125
- package/dist/{chunk-ESOOMXV4.cjs → chunk-DDYMIWLW.cjs} +40 -40
- package/dist/{chunk-2FOEFUPM.cjs → chunk-F2TPUVVO.cjs} +8 -3
- package/dist/{chunk-GZIOB63O.cjs → chunk-GRXC6J5M.cjs} +127 -116
- package/dist/{chunk-SKVKAJ5Y.js → chunk-H2USQQUD.js} +23 -36
- package/dist/{chunk-CTULMYVI.cjs → chunk-MMSNVFXU.cjs} +32 -45
- package/dist/{chunk-EMXBFHIP.js → chunk-XJARE6SC.js} +4 -1
- package/dist/components/button/index.cjs +4 -4
- package/dist/components/button/index.d.cts +380 -55
- package/dist/components/button/index.d.ts +380 -55
- package/dist/components/button/index.js +3 -3
- package/dist/{create-recipe-oiLAlJ4u.d.cts → create-recipe-BcUu9b2I.d.cts} +41 -31
- package/dist/{create-recipe-3OPwcC6P.d.ts → create-recipe-DD9W6m9b.d.ts} +41 -31
- package/dist/index.cjs +8 -8
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +5 -5
- package/dist/system/index.cjs +4 -4
- package/dist/system/index.d.cts +174 -173
- package/dist/system/index.d.ts +174 -173
- package/dist/system/index.js +3 -3
- package/dist/theme/index.cjs +3 -3
- package/dist/theme/index.d.cts +19 -8
- package/dist/theme/index.d.ts +19 -8
- package/dist/theme/index.js +2 -2
- package/package.json +1 -1
|
@@ -2,18 +2,28 @@ import * as react from 'react';
|
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
import * as react_native from 'react-native';
|
|
4
4
|
import { StyleProp, TextStyle, ViewStyle, TextProps, PressableStateCallbackType } from 'react-native';
|
|
5
|
-
import { a as IconContextValue, b as IconProps, w as TextStyleProps, P as PressableFeedbackProps, x as ViewStyleProps, g as Recipe, o as SlotStyles, c as AnimationProp } from '../../create-recipe-
|
|
5
|
+
import { a as IconContextValue, b as IconProps, w as TextStyleProps, P as PressableFeedbackProps, x as ViewStyleProps, g as Recipe, o as SlotStyles, c as AnimationProp } from '../../create-recipe-DD9W6m9b.js';
|
|
6
6
|
import { S as Size, R as RadiusKey, g as XAUITheme } from '../../theme.type-C9bFJKFm.js';
|
|
7
7
|
import 'react-native-reanimated';
|
|
8
8
|
|
|
9
9
|
type ButtonSlot = 'root' | 'label' | 'icon' | 'spinner';
|
|
10
10
|
/**
|
|
11
|
-
* The
|
|
12
|
-
* is why there is no `themeColor` beside it
|
|
13
|
-
*
|
|
14
|
-
*
|
|
11
|
+
* The seven sanctioned appearances (R7). Emphasis and intention are one flat union, which
|
|
12
|
+
* is why there is no `themeColor` beside it.
|
|
13
|
+
*
|
|
14
|
+
* The emphasis ladder descends by how much of the accent is left: `primary` is the full
|
|
15
|
+
* accent, `secondary` its soft slice, `default` drops the accent for the neutral fill,
|
|
16
|
+
* `tertiary` drops the fill for a border, and `ghost` drops that too. `secondary` is to
|
|
17
|
+
* `primary` exactly what `danger-soft` is to `danger` — the same soft slice of the same
|
|
18
|
+
* family, which is why it needs no rule of its own in the recipe.
|
|
19
|
+
*
|
|
20
|
+
* **`success` and `warning` are deliberately not here.** A button is something you press,
|
|
21
|
+
* and neither of those is an action: a success is an outcome and a warning is a state,
|
|
22
|
+
* both of which a `Chip`, an `Alert` or a `Badge` reports. The theme keeps their tokens —
|
|
23
|
+
* a component that *does* report status reads them — and a button that genuinely needs a
|
|
24
|
+
* green fill passes the raw tint instead: `<Button color={theme.colors.success}>`.
|
|
15
25
|
*/
|
|
16
|
-
type ButtonVariant = 'primary' | 'secondary' | '
|
|
26
|
+
type ButtonVariant = 'primary' | 'secondary' | 'default' | 'tertiary' | 'ghost' | 'danger' | 'danger-soft';
|
|
17
27
|
type ButtonSize = Size;
|
|
18
28
|
/**
|
|
19
29
|
* What the `Button` itself understands. R14 — a name in here is the component's, so the
|
|
@@ -45,11 +55,15 @@ type ButtonOwnProps = {
|
|
|
45
55
|
type ButtonBehaviourProps = Omit<PressableFeedbackProps, 'isPressed' | 'isDisabled' | 'style' | 'children'>;
|
|
46
56
|
/**
|
|
47
57
|
* R14 — the button's own props, the press behaviour it forwards, and every `ViewStyle`
|
|
48
|
-
* key
|
|
49
|
-
* `width="100%"` is what replaced `fullWidth`, both because the style
|
|
50
|
-
* the recipe. That is the escape hatch, not the normal path.
|
|
58
|
+
* key its own vocabulary does not already claim. `height` therefore beats the height
|
|
59
|
+
* `size` chose and `width="100%"` is what replaced `fullWidth`, both because the style
|
|
60
|
+
* props resolve after the recipe. That is the escape hatch, not the normal path.
|
|
61
|
+
*
|
|
62
|
+
* `PressableFeedback` carries the same keys, so the third term is redundant today. It
|
|
63
|
+
* stays because it is the `Button` that owes them: a root states the rule for its own
|
|
64
|
+
* node rather than inheriting it from whatever it happens to render.
|
|
51
65
|
*/
|
|
52
|
-
type ButtonProps = ButtonOwnProps & ButtonBehaviourProps & Omit<ViewStyleProps, keyof ButtonOwnProps
|
|
66
|
+
type ButtonProps = ButtonOwnProps & ButtonBehaviourProps & Omit<ViewStyleProps, keyof ButtonOwnProps>;
|
|
53
67
|
/** `Text`'s own props win over the `TextStyle` keys of the same name (R14). */
|
|
54
68
|
type ButtonLabelProps = TextProps & Omit<TextStyleProps, keyof TextProps> & {
|
|
55
69
|
children?: ReactNode;
|
|
@@ -202,54 +216,14 @@ declare const Button: react.ForwardRefExoticComponent<{
|
|
|
202
216
|
style?: react_native.StyleProp<react_native.ViewStyle> | ((state: react_native.PressableStateCallbackType) => react_native.StyleProp<react_native.ViewStyle>);
|
|
203
217
|
children?: react.ReactNode;
|
|
204
218
|
} & {
|
|
205
|
-
id?: string | undefined | undefined;
|
|
206
|
-
onLayout?: ((event: react_native.LayoutChangeEvent) => void) | undefined | undefined;
|
|
207
|
-
testID?: string | undefined | undefined;
|
|
208
|
-
nativeID?: string | undefined | undefined;
|
|
209
|
-
accessible?: boolean | undefined | undefined;
|
|
210
|
-
accessibilityActions?: readonly Readonly<{
|
|
211
|
-
name: react_native.AccessibilityActionName | string;
|
|
212
|
-
label?: string | undefined;
|
|
213
|
-
}>[] | undefined;
|
|
214
|
-
accessibilityLabel?: string | undefined | undefined;
|
|
215
|
-
'aria-label'?: string | undefined | undefined;
|
|
216
|
-
accessibilityRole?: react_native.AccessibilityRole | undefined;
|
|
217
|
-
accessibilityState?: react_native.AccessibilityState | undefined;
|
|
218
|
-
'aria-busy'?: boolean | undefined | undefined;
|
|
219
|
-
'aria-checked'?: boolean | "mixed" | undefined | undefined;
|
|
220
|
-
'aria-disabled'?: boolean | undefined | undefined;
|
|
221
|
-
'aria-expanded'?: boolean | undefined | undefined;
|
|
222
|
-
'aria-selected'?: boolean | undefined | undefined;
|
|
223
|
-
accessibilityHint?: string | undefined | undefined;
|
|
224
|
-
accessibilityValue?: react_native.AccessibilityValue | undefined;
|
|
225
|
-
'aria-valuemax'?: number | undefined;
|
|
226
|
-
'aria-valuemin'?: number | undefined;
|
|
227
|
-
'aria-valuenow'?: number | undefined;
|
|
228
|
-
'aria-valuetext'?: string | undefined;
|
|
229
|
-
onAccessibilityAction?: ((event: react_native.AccessibilityActionEvent) => void) | undefined | undefined;
|
|
230
|
-
importantForAccessibility?: ("auto" | "yes" | "no" | "no-hide-descendants") | undefined | undefined;
|
|
231
|
-
'aria-hidden'?: boolean | undefined | undefined;
|
|
232
|
-
'aria-modal'?: boolean | undefined | undefined;
|
|
233
|
-
role?: react_native.Role | undefined;
|
|
234
|
-
accessibilityLabelledBy?: string | string[] | undefined | undefined;
|
|
235
|
-
'aria-labelledby'?: string | undefined | undefined;
|
|
236
|
-
accessibilityLiveRegion?: "none" | "polite" | "assertive" | undefined | undefined;
|
|
237
|
-
'aria-live'?: ("polite" | "assertive" | "off") | undefined | undefined;
|
|
238
|
-
screenReaderFocusable?: boolean | undefined | undefined;
|
|
239
|
-
accessibilityElementsHidden?: boolean | undefined | undefined;
|
|
240
|
-
accessibilityViewIsModal?: boolean | undefined | undefined;
|
|
241
|
-
onAccessibilityEscape?: (() => void) | undefined | undefined;
|
|
242
|
-
onAccessibilityTap?: (() => void) | undefined | undefined;
|
|
243
|
-
onMagicTap?: (() => void) | undefined | undefined;
|
|
244
|
-
accessibilityIgnoresInvertColors?: boolean | undefined | undefined;
|
|
245
|
-
accessibilityLanguage?: string | undefined | undefined;
|
|
246
|
-
accessibilityShowsLargeContentViewer?: boolean | undefined | undefined;
|
|
247
|
-
accessibilityLargeContentTitle?: string | undefined | undefined;
|
|
248
|
-
accessibilityRespondsToUserInteraction?: boolean | undefined | undefined;
|
|
249
219
|
hitSlop?: number | react_native.Insets | null | undefined;
|
|
220
|
+
id?: string | undefined | undefined;
|
|
250
221
|
needsOffscreenAlphaCompositing?: boolean | undefined | undefined;
|
|
222
|
+
onLayout?: ((event: react_native.LayoutChangeEvent) => void) | undefined | undefined;
|
|
251
223
|
pointerEvents?: "box-none" | "none" | "box-only" | "auto" | undefined | undefined;
|
|
252
224
|
removeClippedSubviews?: boolean | undefined | undefined;
|
|
225
|
+
testID?: string | undefined | undefined;
|
|
226
|
+
nativeID?: string | undefined | undefined;
|
|
253
227
|
collapsable?: boolean | undefined | undefined;
|
|
254
228
|
collapsableChildren?: boolean | undefined | undefined;
|
|
255
229
|
onBlur?: null | ((event: react_native.NativeSyntheticEvent<react_native.TargetedEvent>) => void) | undefined | undefined;
|
|
@@ -293,6 +267,46 @@ declare const Button: react.ForwardRefExoticComponent<{
|
|
|
293
267
|
onPointerDownCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
|
|
294
268
|
onPointerUp?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
|
|
295
269
|
onPointerUpCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
|
|
270
|
+
accessible?: boolean | undefined | undefined;
|
|
271
|
+
accessibilityActions?: readonly Readonly<{
|
|
272
|
+
name: react_native.AccessibilityActionName | string;
|
|
273
|
+
label?: string | undefined;
|
|
274
|
+
}>[] | undefined;
|
|
275
|
+
accessibilityLabel?: string | undefined | undefined;
|
|
276
|
+
'aria-label'?: string | undefined | undefined;
|
|
277
|
+
accessibilityRole?: react_native.AccessibilityRole | undefined;
|
|
278
|
+
accessibilityState?: react_native.AccessibilityState | undefined;
|
|
279
|
+
'aria-busy'?: boolean | undefined | undefined;
|
|
280
|
+
'aria-checked'?: boolean | "mixed" | undefined | undefined;
|
|
281
|
+
'aria-disabled'?: boolean | undefined | undefined;
|
|
282
|
+
'aria-expanded'?: boolean | undefined | undefined;
|
|
283
|
+
'aria-selected'?: boolean | undefined | undefined;
|
|
284
|
+
accessibilityHint?: string | undefined | undefined;
|
|
285
|
+
accessibilityValue?: react_native.AccessibilityValue | undefined;
|
|
286
|
+
'aria-valuemax'?: number | undefined;
|
|
287
|
+
'aria-valuemin'?: number | undefined;
|
|
288
|
+
'aria-valuenow'?: number | undefined;
|
|
289
|
+
'aria-valuetext'?: string | undefined;
|
|
290
|
+
onAccessibilityAction?: ((event: react_native.AccessibilityActionEvent) => void) | undefined | undefined;
|
|
291
|
+
importantForAccessibility?: ("auto" | "yes" | "no" | "no-hide-descendants") | undefined | undefined;
|
|
292
|
+
'aria-hidden'?: boolean | undefined | undefined;
|
|
293
|
+
'aria-modal'?: boolean | undefined | undefined;
|
|
294
|
+
role?: react_native.Role | undefined;
|
|
295
|
+
accessibilityLabelledBy?: string | string[] | undefined | undefined;
|
|
296
|
+
'aria-labelledby'?: string | undefined | undefined;
|
|
297
|
+
accessibilityLiveRegion?: "none" | "polite" | "assertive" | undefined | undefined;
|
|
298
|
+
'aria-live'?: ("polite" | "assertive" | "off") | undefined | undefined;
|
|
299
|
+
screenReaderFocusable?: boolean | undefined | undefined;
|
|
300
|
+
accessibilityElementsHidden?: boolean | undefined | undefined;
|
|
301
|
+
accessibilityViewIsModal?: boolean | undefined | undefined;
|
|
302
|
+
onAccessibilityEscape?: (() => void) | undefined | undefined;
|
|
303
|
+
onAccessibilityTap?: (() => void) | undefined | undefined;
|
|
304
|
+
onMagicTap?: (() => void) | undefined | undefined;
|
|
305
|
+
accessibilityIgnoresInvertColors?: boolean | undefined | undefined;
|
|
306
|
+
accessibilityLanguage?: string | undefined | undefined;
|
|
307
|
+
accessibilityShowsLargeContentViewer?: boolean | undefined | undefined;
|
|
308
|
+
accessibilityLargeContentTitle?: string | undefined | undefined;
|
|
309
|
+
accessibilityRespondsToUserInteraction?: boolean | undefined | undefined;
|
|
296
310
|
onHoverIn?: null | ((event: react_native.MouseEvent) => void) | undefined | undefined;
|
|
297
311
|
onHoverOut?: null | ((event: react_native.MouseEvent) => void) | undefined | undefined;
|
|
298
312
|
onPress?: null | ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
|
|
@@ -308,9 +322,320 @@ declare const Button: react.ForwardRefExoticComponent<{
|
|
|
308
322
|
android_ripple?: react_native.PressableAndroidRippleConfig | null | undefined;
|
|
309
323
|
testOnly_pressed?: null | boolean | undefined | undefined;
|
|
310
324
|
unstable_pressDelay?: number | undefined | undefined;
|
|
325
|
+
backfaceVisibility?: "visible" | "hidden" | undefined | undefined;
|
|
326
|
+
backgroundColor?: react_native.ColorValue | undefined;
|
|
327
|
+
borderBlockColor?: react_native.ColorValue | undefined;
|
|
328
|
+
borderBlockEndColor?: react_native.ColorValue | undefined;
|
|
329
|
+
borderBlockStartColor?: react_native.ColorValue | undefined;
|
|
330
|
+
borderBottomColor?: react_native.ColorValue | undefined;
|
|
331
|
+
borderBottomEndRadius?: string | react_native.AnimatableNumericValue | undefined;
|
|
332
|
+
borderBottomStartRadius?: string | react_native.AnimatableNumericValue | undefined;
|
|
333
|
+
borderColor?: react_native.ColorValue | undefined;
|
|
334
|
+
borderCurve?: "circular" | "continuous" | undefined | undefined;
|
|
335
|
+
borderEndColor?: react_native.ColorValue | undefined;
|
|
336
|
+
borderEndEndRadius?: string | react_native.AnimatableNumericValue | undefined;
|
|
337
|
+
borderEndStartRadius?: string | react_native.AnimatableNumericValue | undefined;
|
|
338
|
+
borderRadius?: string | react_native.AnimatableNumericValue | undefined;
|
|
339
|
+
borderStartColor?: react_native.ColorValue | undefined;
|
|
340
|
+
borderStartEndRadius?: string | react_native.AnimatableNumericValue | undefined;
|
|
341
|
+
borderStartStartRadius?: string | react_native.AnimatableNumericValue | undefined;
|
|
342
|
+
borderStyle?: "solid" | "dotted" | "dashed" | undefined | undefined;
|
|
343
|
+
borderTopColor?: react_native.ColorValue | undefined;
|
|
344
|
+
borderTopEndRadius?: string | react_native.AnimatableNumericValue | undefined;
|
|
345
|
+
borderTopStartRadius?: string | react_native.AnimatableNumericValue | undefined;
|
|
346
|
+
outlineColor?: react_native.ColorValue | undefined;
|
|
347
|
+
outlineOffset?: react_native.AnimatableNumericValue | undefined;
|
|
348
|
+
outlineStyle?: "solid" | "dotted" | "dashed" | undefined | undefined;
|
|
349
|
+
outlineWidth?: react_native.AnimatableNumericValue | undefined;
|
|
350
|
+
opacity?: react_native.AnimatableNumericValue | undefined;
|
|
351
|
+
elevation?: number | undefined | undefined;
|
|
352
|
+
isolation?: "auto" | "isolate" | undefined | undefined;
|
|
353
|
+
cursor?: react_native.CursorValue | undefined;
|
|
354
|
+
boxShadow?: string | readonly react_native.BoxShadowValue[] | undefined;
|
|
355
|
+
filter?: string | readonly react_native.FilterFunction[] | undefined;
|
|
356
|
+
mixBlendMode?: react_native.BlendMode | undefined;
|
|
357
|
+
experimental_backgroundImage?: string | readonly react_native.GradientValue[] | undefined;
|
|
358
|
+
alignContent?: "flex-start" | "flex-end" | "center" | "stretch" | "space-between" | "space-around" | "space-evenly" | undefined | undefined;
|
|
359
|
+
alignItems?: react_native.FlexAlignType | undefined;
|
|
360
|
+
alignSelf?: "auto" | react_native.FlexAlignType | undefined;
|
|
361
|
+
aspectRatio?: number | string | undefined | undefined;
|
|
362
|
+
borderBottomWidth?: number | undefined | undefined;
|
|
363
|
+
borderEndWidth?: number | undefined | undefined;
|
|
364
|
+
borderStartWidth?: number | undefined | undefined;
|
|
365
|
+
borderTopWidth?: number | undefined | undefined;
|
|
366
|
+
borderWidth?: number | undefined | undefined;
|
|
367
|
+
bottom?: react_native.DimensionValue | undefined;
|
|
368
|
+
boxSizing?: "border-box" | "content-box" | undefined | undefined;
|
|
369
|
+
display?: "none" | "flex" | "contents" | undefined | undefined;
|
|
370
|
+
end?: react_native.DimensionValue | undefined;
|
|
371
|
+
flex?: number | undefined | undefined;
|
|
372
|
+
flexBasis?: react_native.DimensionValue | undefined;
|
|
373
|
+
flexDirection?: "row" | "column" | "row-reverse" | "column-reverse" | undefined | undefined;
|
|
374
|
+
rowGap?: number | string | undefined | undefined;
|
|
375
|
+
gap?: number | string | undefined | undefined;
|
|
376
|
+
columnGap?: number | string | undefined | undefined;
|
|
377
|
+
flexGrow?: number | undefined | undefined;
|
|
378
|
+
flexShrink?: number | undefined | undefined;
|
|
379
|
+
flexWrap?: "wrap" | "nowrap" | "wrap-reverse" | undefined | undefined;
|
|
380
|
+
height?: react_native.DimensionValue | undefined;
|
|
381
|
+
justifyContent?: "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly" | undefined | undefined;
|
|
382
|
+
margin?: react_native.DimensionValue | undefined;
|
|
383
|
+
marginBottom?: react_native.DimensionValue | undefined;
|
|
384
|
+
marginEnd?: react_native.DimensionValue | undefined;
|
|
385
|
+
marginHorizontal?: react_native.DimensionValue | undefined;
|
|
386
|
+
marginStart?: react_native.DimensionValue | undefined;
|
|
387
|
+
marginTop?: react_native.DimensionValue | undefined;
|
|
388
|
+
marginVertical?: react_native.DimensionValue | undefined;
|
|
389
|
+
maxHeight?: react_native.DimensionValue | undefined;
|
|
390
|
+
maxWidth?: react_native.DimensionValue | undefined;
|
|
391
|
+
minHeight?: react_native.DimensionValue | undefined;
|
|
392
|
+
minWidth?: react_native.DimensionValue | undefined;
|
|
393
|
+
overflow?: "visible" | "hidden" | "scroll" | undefined | undefined;
|
|
394
|
+
padding?: react_native.DimensionValue | undefined;
|
|
395
|
+
paddingBottom?: react_native.DimensionValue | undefined;
|
|
396
|
+
paddingEnd?: react_native.DimensionValue | undefined;
|
|
397
|
+
paddingHorizontal?: react_native.DimensionValue | undefined;
|
|
398
|
+
paddingStart?: react_native.DimensionValue | undefined;
|
|
399
|
+
paddingTop?: react_native.DimensionValue | undefined;
|
|
400
|
+
paddingVertical?: react_native.DimensionValue | undefined;
|
|
401
|
+
position?: "absolute" | "relative" | "static" | undefined | undefined;
|
|
402
|
+
start?: react_native.DimensionValue | undefined;
|
|
403
|
+
top?: react_native.DimensionValue | undefined;
|
|
404
|
+
width?: react_native.DimensionValue | undefined;
|
|
405
|
+
zIndex?: number | undefined | undefined;
|
|
406
|
+
direction?: "inherit" | "ltr" | "rtl" | undefined | undefined;
|
|
407
|
+
inset?: react_native.DimensionValue | undefined;
|
|
408
|
+
insetBlock?: react_native.DimensionValue | undefined;
|
|
409
|
+
insetBlockEnd?: react_native.DimensionValue | undefined;
|
|
410
|
+
insetBlockStart?: react_native.DimensionValue | undefined;
|
|
411
|
+
insetInline?: react_native.DimensionValue | undefined;
|
|
412
|
+
insetInlineEnd?: react_native.DimensionValue | undefined;
|
|
413
|
+
insetInlineStart?: react_native.DimensionValue | undefined;
|
|
414
|
+
marginBlock?: react_native.DimensionValue | undefined;
|
|
415
|
+
marginBlockEnd?: react_native.DimensionValue | undefined;
|
|
416
|
+
marginBlockStart?: react_native.DimensionValue | undefined;
|
|
417
|
+
marginInline?: react_native.DimensionValue | undefined;
|
|
418
|
+
marginInlineEnd?: react_native.DimensionValue | undefined;
|
|
419
|
+
marginInlineStart?: react_native.DimensionValue | undefined;
|
|
420
|
+
paddingBlock?: react_native.DimensionValue | undefined;
|
|
421
|
+
paddingBlockEnd?: react_native.DimensionValue | undefined;
|
|
422
|
+
paddingBlockStart?: react_native.DimensionValue | undefined;
|
|
423
|
+
paddingInline?: react_native.DimensionValue | undefined;
|
|
424
|
+
paddingInlineEnd?: react_native.DimensionValue | undefined;
|
|
425
|
+
paddingInlineStart?: react_native.DimensionValue | undefined;
|
|
426
|
+
shadowColor?: react_native.ColorValue | undefined;
|
|
427
|
+
shadowOffset?: Readonly<{
|
|
428
|
+
width: number;
|
|
429
|
+
height: number;
|
|
430
|
+
}> | undefined;
|
|
431
|
+
shadowOpacity?: react_native.AnimatableNumericValue | undefined;
|
|
432
|
+
shadowRadius?: number | undefined | undefined;
|
|
433
|
+
transform?: string | readonly (({
|
|
434
|
+
scaleX: react_native.AnimatableNumericValue;
|
|
435
|
+
} & {
|
|
436
|
+
scaleY?: undefined;
|
|
437
|
+
translateX?: undefined;
|
|
438
|
+
translateY?: undefined;
|
|
439
|
+
perspective?: undefined;
|
|
440
|
+
rotate?: undefined;
|
|
441
|
+
rotateX?: undefined;
|
|
442
|
+
rotateY?: undefined;
|
|
443
|
+
rotateZ?: undefined;
|
|
444
|
+
scale?: undefined;
|
|
445
|
+
skewX?: undefined;
|
|
446
|
+
skewY?: undefined;
|
|
447
|
+
matrix?: undefined;
|
|
448
|
+
}) | ({
|
|
449
|
+
scaleY: react_native.AnimatableNumericValue;
|
|
450
|
+
} & {
|
|
451
|
+
scaleX?: undefined;
|
|
452
|
+
translateX?: undefined;
|
|
453
|
+
translateY?: undefined;
|
|
454
|
+
perspective?: undefined;
|
|
455
|
+
rotate?: undefined;
|
|
456
|
+
rotateX?: undefined;
|
|
457
|
+
rotateY?: undefined;
|
|
458
|
+
rotateZ?: undefined;
|
|
459
|
+
scale?: undefined;
|
|
460
|
+
skewX?: undefined;
|
|
461
|
+
skewY?: undefined;
|
|
462
|
+
matrix?: undefined;
|
|
463
|
+
}) | ({
|
|
464
|
+
translateX: react_native.AnimatableNumericValue | `${number}%`;
|
|
465
|
+
} & {
|
|
466
|
+
scaleX?: undefined;
|
|
467
|
+
scaleY?: undefined;
|
|
468
|
+
translateY?: undefined;
|
|
469
|
+
perspective?: undefined;
|
|
470
|
+
rotate?: undefined;
|
|
471
|
+
rotateX?: undefined;
|
|
472
|
+
rotateY?: undefined;
|
|
473
|
+
rotateZ?: undefined;
|
|
474
|
+
scale?: undefined;
|
|
475
|
+
skewX?: undefined;
|
|
476
|
+
skewY?: undefined;
|
|
477
|
+
matrix?: undefined;
|
|
478
|
+
}) | ({
|
|
479
|
+
translateY: react_native.AnimatableNumericValue | `${number}%`;
|
|
480
|
+
} & {
|
|
481
|
+
scaleX?: undefined;
|
|
482
|
+
scaleY?: undefined;
|
|
483
|
+
translateX?: undefined;
|
|
484
|
+
perspective?: undefined;
|
|
485
|
+
rotate?: undefined;
|
|
486
|
+
rotateX?: undefined;
|
|
487
|
+
rotateY?: undefined;
|
|
488
|
+
rotateZ?: undefined;
|
|
489
|
+
scale?: undefined;
|
|
490
|
+
skewX?: undefined;
|
|
491
|
+
skewY?: undefined;
|
|
492
|
+
matrix?: undefined;
|
|
493
|
+
}) | ({
|
|
494
|
+
perspective: react_native.AnimatableNumericValue;
|
|
495
|
+
} & {
|
|
496
|
+
scaleX?: undefined;
|
|
497
|
+
scaleY?: undefined;
|
|
498
|
+
translateX?: undefined;
|
|
499
|
+
translateY?: undefined;
|
|
500
|
+
rotate?: undefined;
|
|
501
|
+
rotateX?: undefined;
|
|
502
|
+
rotateY?: undefined;
|
|
503
|
+
rotateZ?: undefined;
|
|
504
|
+
scale?: undefined;
|
|
505
|
+
skewX?: undefined;
|
|
506
|
+
skewY?: undefined;
|
|
507
|
+
matrix?: undefined;
|
|
508
|
+
}) | ({
|
|
509
|
+
rotate: react_native.AnimatableStringValue;
|
|
510
|
+
} & {
|
|
511
|
+
scaleX?: undefined;
|
|
512
|
+
scaleY?: undefined;
|
|
513
|
+
translateX?: undefined;
|
|
514
|
+
translateY?: undefined;
|
|
515
|
+
perspective?: undefined;
|
|
516
|
+
rotateX?: undefined;
|
|
517
|
+
rotateY?: undefined;
|
|
518
|
+
rotateZ?: undefined;
|
|
519
|
+
scale?: undefined;
|
|
520
|
+
skewX?: undefined;
|
|
521
|
+
skewY?: undefined;
|
|
522
|
+
matrix?: undefined;
|
|
523
|
+
}) | ({
|
|
524
|
+
rotateX: react_native.AnimatableStringValue;
|
|
525
|
+
} & {
|
|
526
|
+
scaleX?: undefined;
|
|
527
|
+
scaleY?: undefined;
|
|
528
|
+
translateX?: undefined;
|
|
529
|
+
translateY?: undefined;
|
|
530
|
+
perspective?: undefined;
|
|
531
|
+
rotate?: undefined;
|
|
532
|
+
rotateY?: undefined;
|
|
533
|
+
rotateZ?: undefined;
|
|
534
|
+
scale?: undefined;
|
|
535
|
+
skewX?: undefined;
|
|
536
|
+
skewY?: undefined;
|
|
537
|
+
matrix?: undefined;
|
|
538
|
+
}) | ({
|
|
539
|
+
rotateY: react_native.AnimatableStringValue;
|
|
540
|
+
} & {
|
|
541
|
+
scaleX?: undefined;
|
|
542
|
+
scaleY?: undefined;
|
|
543
|
+
translateX?: undefined;
|
|
544
|
+
translateY?: undefined;
|
|
545
|
+
perspective?: undefined;
|
|
546
|
+
rotate?: undefined;
|
|
547
|
+
rotateX?: undefined;
|
|
548
|
+
rotateZ?: undefined;
|
|
549
|
+
scale?: undefined;
|
|
550
|
+
skewX?: undefined;
|
|
551
|
+
skewY?: undefined;
|
|
552
|
+
matrix?: undefined;
|
|
553
|
+
}) | ({
|
|
554
|
+
rotateZ: react_native.AnimatableStringValue;
|
|
555
|
+
} & {
|
|
556
|
+
scaleX?: undefined;
|
|
557
|
+
scaleY?: undefined;
|
|
558
|
+
translateX?: undefined;
|
|
559
|
+
translateY?: undefined;
|
|
560
|
+
perspective?: undefined;
|
|
561
|
+
rotate?: undefined;
|
|
562
|
+
rotateX?: undefined;
|
|
563
|
+
rotateY?: undefined;
|
|
564
|
+
scale?: undefined;
|
|
565
|
+
skewX?: undefined;
|
|
566
|
+
skewY?: undefined;
|
|
567
|
+
matrix?: undefined;
|
|
568
|
+
}) | ({
|
|
569
|
+
scale: react_native.AnimatableNumericValue;
|
|
570
|
+
} & {
|
|
571
|
+
scaleX?: undefined;
|
|
572
|
+
scaleY?: undefined;
|
|
573
|
+
translateX?: undefined;
|
|
574
|
+
translateY?: undefined;
|
|
575
|
+
perspective?: undefined;
|
|
576
|
+
rotate?: undefined;
|
|
577
|
+
rotateX?: undefined;
|
|
578
|
+
rotateY?: undefined;
|
|
579
|
+
rotateZ?: undefined;
|
|
580
|
+
skewX?: undefined;
|
|
581
|
+
skewY?: undefined;
|
|
582
|
+
matrix?: undefined;
|
|
583
|
+
}) | ({
|
|
584
|
+
skewX: react_native.AnimatableStringValue;
|
|
585
|
+
} & {
|
|
586
|
+
scaleX?: undefined;
|
|
587
|
+
scaleY?: undefined;
|
|
588
|
+
translateX?: undefined;
|
|
589
|
+
translateY?: undefined;
|
|
590
|
+
perspective?: undefined;
|
|
591
|
+
rotate?: undefined;
|
|
592
|
+
rotateX?: undefined;
|
|
593
|
+
rotateY?: undefined;
|
|
594
|
+
rotateZ?: undefined;
|
|
595
|
+
scale?: undefined;
|
|
596
|
+
skewY?: undefined;
|
|
597
|
+
matrix?: undefined;
|
|
598
|
+
}) | ({
|
|
599
|
+
skewY: react_native.AnimatableStringValue;
|
|
600
|
+
} & {
|
|
601
|
+
scaleX?: undefined;
|
|
602
|
+
scaleY?: undefined;
|
|
603
|
+
translateX?: undefined;
|
|
604
|
+
translateY?: undefined;
|
|
605
|
+
perspective?: undefined;
|
|
606
|
+
rotate?: undefined;
|
|
607
|
+
rotateX?: undefined;
|
|
608
|
+
rotateY?: undefined;
|
|
609
|
+
rotateZ?: undefined;
|
|
610
|
+
scale?: undefined;
|
|
611
|
+
skewX?: undefined;
|
|
612
|
+
matrix?: undefined;
|
|
613
|
+
}) | ({
|
|
614
|
+
matrix: react_native.AnimatableNumericValue[];
|
|
615
|
+
} & {
|
|
616
|
+
scaleX?: undefined;
|
|
617
|
+
scaleY?: undefined;
|
|
618
|
+
translateX?: undefined;
|
|
619
|
+
translateY?: undefined;
|
|
620
|
+
perspective?: undefined;
|
|
621
|
+
rotate?: undefined;
|
|
622
|
+
rotateX?: undefined;
|
|
623
|
+
rotateY?: undefined;
|
|
624
|
+
rotateZ?: undefined;
|
|
625
|
+
scale?: undefined;
|
|
626
|
+
skewX?: undefined;
|
|
627
|
+
skewY?: undefined;
|
|
628
|
+
}))[] | undefined;
|
|
629
|
+
transformOrigin?: string | (string | number)[] | undefined;
|
|
630
|
+
transformMatrix?: number[] | undefined;
|
|
631
|
+
rotation?: react_native.AnimatableNumericValue | undefined;
|
|
632
|
+
scaleX?: react_native.AnimatableNumericValue | undefined;
|
|
633
|
+
scaleY?: react_native.AnimatableNumericValue | undefined;
|
|
634
|
+
translateX?: react_native.AnimatableNumericValue | undefined;
|
|
635
|
+
translateY?: react_native.AnimatableNumericValue | undefined;
|
|
311
636
|
asChild?: boolean | undefined;
|
|
312
637
|
animation?: AnimationProp | undefined;
|
|
313
|
-
} & Omit<ViewStyleProps,
|
|
638
|
+
} & Omit<ViewStyleProps, keyof {
|
|
314
639
|
variant?: ButtonVariant;
|
|
315
640
|
size?: ButtonSize;
|
|
316
641
|
radius?: RadiusKey;
|
|
@@ -2,9 +2,9 @@ import {
|
|
|
2
2
|
Button,
|
|
3
3
|
buttonRecipe,
|
|
4
4
|
useButton
|
|
5
|
-
} from "../../chunk-
|
|
6
|
-
import "../../chunk-
|
|
7
|
-
import "../../chunk-
|
|
5
|
+
} from "../../chunk-H2USQQUD.js";
|
|
6
|
+
import "../../chunk-CLU6QDYC.js";
|
|
7
|
+
import "../../chunk-XJARE6SC.js";
|
|
8
8
|
export {
|
|
9
9
|
Button,
|
|
10
10
|
buttonRecipe,
|
|
@@ -1,8 +1,36 @@
|
|
|
1
1
|
import { ComponentType, ReactNode } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { ImageStyle, TextStyle, ViewStyle, ImageSourcePropType, StyleProp, PressableProps } from 'react-native';
|
|
3
3
|
import { SharedValue } from 'react-native-reanimated';
|
|
4
4
|
import { g as XAUITheme, X as XAUIColors } from './theme.type-C9bFJKFm.cjs';
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* R13 — React Native mirrors a layout under RTL through the Start/End properties and only
|
|
8
|
+
* those. A props API is exactly where someone writes `paddingLeft` without thinking, so
|
|
9
|
+
* the type removes the temptation instead of leaving it to a review.
|
|
10
|
+
*/
|
|
11
|
+
type DirectionalStyleKey = 'left' | 'right' | 'paddingLeft' | 'paddingRight' | 'marginLeft' | 'marginRight' | 'borderLeftWidth' | 'borderRightWidth' | 'borderLeftColor' | 'borderRightColor' | 'borderTopLeftRadius' | 'borderTopRightRadius' | 'borderBottomLeftRadius' | 'borderBottomRightRadius';
|
|
12
|
+
/**
|
|
13
|
+
* `pointerEvents` is a style key *and* a `View` prop. R14 says the component's own prop
|
|
14
|
+
* wins, so it stays the prop it has always been and is not exposed twice — the one name
|
|
15
|
+
* where the two vocabularies collide.
|
|
16
|
+
*/
|
|
17
|
+
type ComponentOwnedStyleKey = 'pointerEvents';
|
|
18
|
+
/**
|
|
19
|
+
* The style keys of a node, exposed as props (R14). Not a maintained list: it derives
|
|
20
|
+
* from the React Native type, minus what R13 forbids.
|
|
21
|
+
*
|
|
22
|
+
* ```ts
|
|
23
|
+
* type CardProps = ViewStyleProps & { variant?: CardVariant }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
type StyleProps<Style> = Omit<Style, DirectionalStyleKey | ComponentOwnedStyleKey>;
|
|
27
|
+
/** A root, or any slot that renders a view. */
|
|
28
|
+
type ViewStyleProps = StyleProps<ViewStyle>;
|
|
29
|
+
/** A text slot — `color`, `fontSize`, `letterSpacing`… */
|
|
30
|
+
type TextStyleProps = StyleProps<TextStyle>;
|
|
31
|
+
/** An image slot — `resizeMode`, `tintColor`… */
|
|
32
|
+
type ImageStyleProps = StyleProps<ImageStyle>;
|
|
33
|
+
|
|
6
34
|
/**
|
|
7
35
|
* The props Lucide, Ionicons and `react-native-vector-icons` all accept — the shape
|
|
8
36
|
* `as` is handed. It is a convention rather than an interface anyone published, which is
|
|
@@ -12,7 +40,12 @@ type IconComponentProps = {
|
|
|
12
40
|
size?: number;
|
|
13
41
|
color?: string;
|
|
14
42
|
};
|
|
15
|
-
|
|
43
|
+
/**
|
|
44
|
+
* R14 reaches the **`source` form only**, exactly like `style` below and for the same
|
|
45
|
+
* reason: it is the one of the three forms where we render the node. On the other two,
|
|
46
|
+
* `size` and `color` are what shapes the icon.
|
|
47
|
+
*/
|
|
48
|
+
type IconProps = ImageStyleProps & {
|
|
16
49
|
/** An icon component. `size` and `color` are injected into it. */
|
|
17
50
|
as?: ComponentType<IconComponentProps>;
|
|
18
51
|
/** A raw `react-native-svg` element, cloned with the resolved size and colour. */
|
|
@@ -59,7 +92,12 @@ type ResolvedAnimation = {
|
|
|
59
92
|
/** Propagated to descendants through context. */
|
|
60
93
|
disableAll: boolean;
|
|
61
94
|
};
|
|
62
|
-
|
|
95
|
+
/**
|
|
96
|
+
* R14 — it renders a `Pressable`, so it takes that node's style keys as props. The
|
|
97
|
+
* primitive every pressable component in the library is built on cannot be the one place
|
|
98
|
+
* where `padding={16}` has to become an object again.
|
|
99
|
+
*/
|
|
100
|
+
type PressableFeedbackProps = Omit<PressableProps, 'style' | 'children' | 'disabled'> & ViewStyleProps & {
|
|
63
101
|
/** Controlled: the root owns the state, because its recipe resolves on it (R5). */
|
|
64
102
|
isPressed?: boolean;
|
|
65
103
|
/** R8: `disabled` is not part of the public vocabulary, `isX` is. */
|
|
@@ -154,34 +192,6 @@ type FeedbackContext = {
|
|
|
154
192
|
waves?: readonly [RippleWave, RippleWave];
|
|
155
193
|
};
|
|
156
194
|
|
|
157
|
-
/**
|
|
158
|
-
* R13 — React Native mirrors a layout under RTL through the Start/End properties and only
|
|
159
|
-
* those. A props API is exactly where someone writes `paddingLeft` without thinking, so
|
|
160
|
-
* the type removes the temptation instead of leaving it to a review.
|
|
161
|
-
*/
|
|
162
|
-
type DirectionalStyleKey = 'left' | 'right' | 'paddingLeft' | 'paddingRight' | 'marginLeft' | 'marginRight' | 'borderLeftWidth' | 'borderRightWidth' | 'borderLeftColor' | 'borderRightColor' | 'borderTopLeftRadius' | 'borderTopRightRadius' | 'borderBottomLeftRadius' | 'borderBottomRightRadius';
|
|
163
|
-
/**
|
|
164
|
-
* `pointerEvents` is a style key *and* a `View` prop. R14 says the component's own prop
|
|
165
|
-
* wins, so it stays the prop it has always been and is not exposed twice — the one name
|
|
166
|
-
* where the two vocabularies collide.
|
|
167
|
-
*/
|
|
168
|
-
type ComponentOwnedStyleKey = 'pointerEvents';
|
|
169
|
-
/**
|
|
170
|
-
* The style keys of a node, exposed as props (R14). Not a maintained list: it derives
|
|
171
|
-
* from the React Native type, minus what R13 forbids.
|
|
172
|
-
*
|
|
173
|
-
* ```ts
|
|
174
|
-
* type CardProps = ViewStyleProps & { variant?: CardVariant }
|
|
175
|
-
* ```
|
|
176
|
-
*/
|
|
177
|
-
type StyleProps<Style> = Omit<Style, DirectionalStyleKey | ComponentOwnedStyleKey>;
|
|
178
|
-
/** A root, or any slot that renders a view. */
|
|
179
|
-
type ViewStyleProps = StyleProps<ViewStyle>;
|
|
180
|
-
/** A text slot — `color`, `fontSize`, `letterSpacing`… */
|
|
181
|
-
type TextStyleProps = StyleProps<TextStyle>;
|
|
182
|
-
/** An image slot — `resizeMode`, `tintColor`… */
|
|
183
|
-
type ImageStyleProps = StyleProps<ImageStyle>;
|
|
184
|
-
|
|
185
195
|
/**
|
|
186
196
|
* A slot is a view or a text node, and a recipe writes one object per slot, so the two
|
|
187
197
|
* RN style shapes are merged rather than discriminated per slot.
|