@xaui/native 0.9.1-alpha.2 → 0.9.1-alpha.21
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-2WMVDMFV.cjs +62 -0
- package/dist/chunk-33QILJJH.cjs +143 -0
- package/dist/chunk-4NE3SLTM.cjs +695 -0
- package/dist/{chunk-M7P46XKI.cjs → chunk-57SJ4LJF.cjs} +33 -3
- package/dist/chunk-5LC6KVL3.cjs +68 -0
- package/dist/{chunk-RBNCR5KB.js → chunk-A3EGFI6T.js} +31 -1
- package/dist/chunk-APCBIHLR.cjs +507 -0
- package/dist/chunk-BPBY7ON7.cjs +451 -0
- package/dist/chunk-EVXZGNPA.cjs +303 -0
- package/dist/chunk-EXX6ATAS.js +303 -0
- package/dist/chunk-GGW42MY4.js +20 -0
- package/dist/chunk-IBRVMLUF.js +668 -0
- package/dist/chunk-ISVUXVFL.js +471 -0
- package/dist/chunk-JL27KVRT.js +68 -0
- package/dist/chunk-JXLRHKCQ.js +143 -0
- package/dist/chunk-MC7SY2QH.cjs +20 -0
- package/dist/{chunk-RCP3SD26.js → chunk-N7C4UNUL.js} +2 -126
- package/dist/chunk-RMLFMRWL.js +102 -0
- package/dist/chunk-RRRGLRRP.cjs +28 -0
- package/dist/chunk-SGHP76GU.js +28 -0
- package/dist/{chunk-PBVPOX7D.js → chunk-TUJBDS5M.js} +30 -63
- package/dist/chunk-UBA6AEY6.cjs +102 -0
- package/dist/{chunk-NHPQQQ7P.cjs → chunk-UL263KGM.cjs} +56 -89
- package/dist/{chunk-B755PRVJ.cjs → chunk-UVO4GFSW.cjs} +3 -127
- package/dist/chunk-XHZBXYVU.js +62 -0
- package/dist/chunk-YRCUALUQ.js +451 -0
- package/dist/components/button/index.cjs +17 -0
- package/dist/components/button/index.d.cts +659 -0
- package/dist/components/button/index.d.ts +659 -0
- package/dist/components/button/index.js +17 -0
- package/dist/components/card/index.cjs +20 -0
- package/dist/components/card/index.d.cts +620 -0
- package/dist/components/card/index.d.ts +620 -0
- package/dist/components/card/index.js +20 -0
- package/dist/components/typography/index.cjs +14 -0
- package/dist/components/typography/index.d.cts +116 -0
- package/dist/components/typography/index.d.ts +116 -0
- package/dist/components/typography/index.js +14 -0
- package/dist/components/view/index.cjs +16 -0
- package/dist/components/view/index.d.cts +152 -0
- package/dist/components/view/index.d.ts +152 -0
- package/dist/components/view/index.js +16 -0
- package/dist/create-recipe-CC3NNCqF.d.ts +94 -0
- package/dist/create-recipe-CPBFg7ym.d.cts +94 -0
- package/dist/icon.type-BkcEPJbK.d.ts +73 -0
- package/dist/icon.type-Cs1tMX0W.d.cts +73 -0
- package/dist/index.cjs +167 -5
- package/dist/index.d.cts +79 -4
- package/dist/index.d.ts +79 -4
- package/dist/index.js +171 -9
- package/dist/pressable-feedback.type-DsvWZXWC.d.ts +127 -0
- package/dist/pressable-feedback.type-wfeiJz5m.d.cts +127 -0
- package/dist/style-props.type-B1BG5TCm.d.cts +31 -0
- package/dist/style-props.type-B1BG5TCm.d.ts +31 -0
- package/dist/system/index.cjs +66 -3
- package/dist/system/index.d.cts +301 -75
- package/dist/system/index.d.ts +301 -75
- package/dist/system/index.js +68 -5
- package/dist/theme/index.cjs +4 -3
- package/dist/theme/index.d.cts +27 -15
- package/dist/theme/index.d.ts +27 -15
- package/dist/theme/index.js +7 -6
- package/dist/{theme.type-B3ODSLbB.d.cts → theme.type-C2gNHpEx.d.cts} +8 -2
- package/dist/{theme.type-B3ODSLbB.d.ts → theme.type-C2gNHpEx.d.ts} +8 -2
- package/package.json +74 -18
|
@@ -0,0 +1,659 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import * as react_native from 'react-native';
|
|
4
|
+
import { StyleProp, TextStyle, ViewStyle, TextProps, PressableStateCallbackType } from 'react-native';
|
|
5
|
+
import { P as PressableFeedbackProps, a as AnimationProp } from '../../pressable-feedback.type-wfeiJz5m.cjs';
|
|
6
|
+
import { T as TextStyleProps, V as ViewStyleProps } from '../../style-props.type-B1BG5TCm.cjs';
|
|
7
|
+
import { S as Size, R as RadiusKey, X as XAUITheme } from '../../theme.type-C2gNHpEx.cjs';
|
|
8
|
+
import { a as IconContextValue, b as IconProps } from '../../icon.type-Cs1tMX0W.cjs';
|
|
9
|
+
import { R as Recipe, g as SlotStyles } from '../../create-recipe-CPBFg7ym.cjs';
|
|
10
|
+
import 'react-native-reanimated';
|
|
11
|
+
|
|
12
|
+
type ButtonSlot = 'root' | 'label' | 'icon' | 'spinner';
|
|
13
|
+
/**
|
|
14
|
+
* The seven sanctioned appearances (R7). Emphasis and intention are one flat union, which
|
|
15
|
+
* is why there is no `themeColor` beside it.
|
|
16
|
+
*
|
|
17
|
+
* The emphasis ladder descends by how much of the accent is left: `primary` is the full
|
|
18
|
+
* accent, `secondary` its soft slice, `default` drops the accent for the neutral fill,
|
|
19
|
+
* `tertiary` drops the fill for a border, and `ghost` drops that too. `secondary` is to
|
|
20
|
+
* `primary` exactly what `danger-soft` is to `danger` — the same soft slice of the same
|
|
21
|
+
* family, which is why it needs no rule of its own in the recipe.
|
|
22
|
+
*
|
|
23
|
+
* **`success` and `warning` are deliberately not here.** A button is something you press,
|
|
24
|
+
* and neither of those is an action: a success is an outcome and a warning is a state,
|
|
25
|
+
* both of which a `Chip`, an `Alert` or a `Badge` reports. The theme keeps their tokens —
|
|
26
|
+
* a component that *does* report status reads them — and a button that genuinely needs a
|
|
27
|
+
* green fill passes the raw tint instead: `<Button color={theme.colors.success}>`.
|
|
28
|
+
*/
|
|
29
|
+
type ButtonVariant = 'primary' | 'secondary' | 'default' | 'tertiary' | 'ghost' | 'danger' | 'danger-soft';
|
|
30
|
+
type ButtonSize = Size;
|
|
31
|
+
/**
|
|
32
|
+
* What the `Button` itself understands. R14 — a name in here is the component's, so the
|
|
33
|
+
* style prop that shares it is not exposed: `size` is the control's scale and never
|
|
34
|
+
* `ViewStyle`'s, and `color` is R7's tint rather than `TextStyle`'s.
|
|
35
|
+
*/
|
|
36
|
+
type ButtonOwnProps = {
|
|
37
|
+
variant?: ButtonVariant;
|
|
38
|
+
/** Height, padding, gap, radius and type. Never width. */
|
|
39
|
+
size?: ButtonSize;
|
|
40
|
+
/** Overrides the radius `size` chose. Unset, a button is the shape its size implies. */
|
|
41
|
+
radius?: RadiusKey;
|
|
42
|
+
/**
|
|
43
|
+
* A raw tint (`'#7c3aed'`), never a token (R7). Where it lands follows the variant: the
|
|
44
|
+
* background of a `primary`, the label of a `ghost`, the border and label of a
|
|
45
|
+
* `tertiary`. Its contrasted, soft and pressed slices are derived in OKLab, so it
|
|
46
|
+
* behaves exactly like `accent` — which is also why it must be a hex value.
|
|
47
|
+
*/
|
|
48
|
+
color?: string;
|
|
49
|
+
isDisabled?: boolean;
|
|
50
|
+
/** Presses through as disabled, and inserts a `Button.Spinner` if none is composed. */
|
|
51
|
+
isLoading?: boolean;
|
|
52
|
+
/** Drops the horizontal padding and squares the button on its fixed height. */
|
|
53
|
+
isIconOnly?: boolean;
|
|
54
|
+
/** R9 — `Pressable`'s function form as much as an object or an array. */
|
|
55
|
+
style?: StyleProp<ViewStyle> | ((state: PressableStateCallbackType) => StyleProp<ViewStyle>);
|
|
56
|
+
children?: ReactNode;
|
|
57
|
+
};
|
|
58
|
+
type ButtonBehaviourProps = Omit<PressableFeedbackProps, 'isPressed' | 'isDisabled' | 'style' | 'children'>;
|
|
59
|
+
/**
|
|
60
|
+
* R14 — the button's own props, the press behaviour it forwards, and every `ViewStyle`
|
|
61
|
+
* key its own vocabulary does not already claim. `height` therefore beats the height
|
|
62
|
+
* `size` chose and `width="100%"` is what replaced `fullWidth`, both because the style
|
|
63
|
+
* props resolve after the recipe. That is the escape hatch, not the normal path.
|
|
64
|
+
*
|
|
65
|
+
* `PressableFeedback` carries the same keys, so the third term is redundant today. It
|
|
66
|
+
* stays because it is the `Button` that owes them: a root states the rule for its own
|
|
67
|
+
* node rather than inheriting it from whatever it happens to render.
|
|
68
|
+
*/
|
|
69
|
+
type ButtonProps = ButtonOwnProps & ButtonBehaviourProps & Omit<ViewStyleProps, keyof ButtonOwnProps>;
|
|
70
|
+
/** `Text`'s own props win over the `TextStyle` keys of the same name (R14). */
|
|
71
|
+
type ButtonLabelProps = TextProps & Omit<TextStyleProps, keyof TextProps> & {
|
|
72
|
+
children?: ReactNode;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* `Icon`'s three forms, plus the `style` every slot carries (R2). `size` and `color`
|
|
76
|
+
* default to what the root resolved; passing either wins over it.
|
|
77
|
+
*
|
|
78
|
+
* No style props (R14), deliberately: two of the three forms have no view of our own to
|
|
79
|
+
* style — `as` hands its props to a third-party component and the children form clones
|
|
80
|
+
* the caller's element — so a `padding` here would apply in one form out of three. `size`
|
|
81
|
+
* and `color` are the escape hatch, as they already are for `style`.
|
|
82
|
+
*/
|
|
83
|
+
type ButtonIconProps = IconProps;
|
|
84
|
+
type ButtonSpinnerOwnProps = {
|
|
85
|
+
style?: StyleProp<ViewStyle>;
|
|
86
|
+
/** `false` stops the rotation. The ring stays, so the button does not change size. */
|
|
87
|
+
animation?: boolean;
|
|
88
|
+
};
|
|
89
|
+
type ButtonSpinnerProps = ButtonSpinnerOwnProps & Omit<ViewStyleProps, keyof ButtonSpinnerOwnProps>;
|
|
90
|
+
/**
|
|
91
|
+
* R5 — resolved styles, not props for a slot to resolve a second time. Each entry is the
|
|
92
|
+
* cached `StyleSheet` reference with the uncached tint pass layered over it, so a slot
|
|
93
|
+
* merges its own `style` on top and does no work of its own.
|
|
94
|
+
*/
|
|
95
|
+
type ButtonContextValue = {
|
|
96
|
+
labelStyle: StyleProp<TextStyle>;
|
|
97
|
+
spinnerStyle: StyleProp<ViewStyle>;
|
|
98
|
+
/**
|
|
99
|
+
* Values, not a style: `Icon` hands `size` and `color` to a third-party component, so
|
|
100
|
+
* the root flattens its icon slot once here rather than in every icon it contains.
|
|
101
|
+
*/
|
|
102
|
+
icon: IconContextValue;
|
|
103
|
+
isDisabled: boolean;
|
|
104
|
+
isLoading: boolean;
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* An icon that takes the button's size and colour without being told either:
|
|
109
|
+
*
|
|
110
|
+
* ```tsx
|
|
111
|
+
* <Button variant="danger">
|
|
112
|
+
* <Button.Icon as={TrashIcon} />
|
|
113
|
+
* <Button.Label>Supprimer</Button.Label>
|
|
114
|
+
* </Button>
|
|
115
|
+
* ```
|
|
116
|
+
*
|
|
117
|
+
* The values come from the root, which resolved them once; an explicit `size` or `color`
|
|
118
|
+
* still wins, which is what `Icon` promises everywhere else in the library.
|
|
119
|
+
*/
|
|
120
|
+
declare function ButtonIcon({ size, color, ...rest }: ButtonIconProps): react.JSX.Element;
|
|
121
|
+
declare namespace ButtonIcon {
|
|
122
|
+
var displayName: string;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* The busy indicator. `isLoading` inserts one when none is composed, so
|
|
127
|
+
* `<Button isLoading>Envoi…</Button>` works; composing it explicitly is how you put it
|
|
128
|
+
* after the label instead of before it.
|
|
129
|
+
*
|
|
130
|
+
* A ring rather than RN's `ActivityIndicator`: the recipe owns its diameter and its
|
|
131
|
+
* colour like every other measurement, which is what makes it follow the button's `size`
|
|
132
|
+
* and its variant with nothing to pass. P3 extracts it into the standalone `Spinner`, and
|
|
133
|
+
* this slot becomes its call site.
|
|
134
|
+
*/
|
|
135
|
+
declare function ButtonSpinner({ style, animation, ...props }: ButtonSpinnerProps): react.JSX.Element;
|
|
136
|
+
declare namespace ButtonSpinner {
|
|
137
|
+
var displayName: string;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
declare const useButton: () => ButtonContextValue;
|
|
141
|
+
|
|
142
|
+
declare const buttonRecipe: Recipe<"label" | "root" | "icon" | "spinner", ButtonVariant, {
|
|
143
|
+
readonly size: {
|
|
144
|
+
readonly xs: (theme: XAUITheme) => SlotStyles<ButtonSlot>;
|
|
145
|
+
readonly sm: (theme: XAUITheme) => SlotStyles<ButtonSlot>;
|
|
146
|
+
readonly md: (theme: XAUITheme) => SlotStyles<ButtonSlot>;
|
|
147
|
+
readonly lg: (theme: XAUITheme) => SlotStyles<ButtonSlot>;
|
|
148
|
+
};
|
|
149
|
+
readonly radius: {
|
|
150
|
+
readonly xs: (t: XAUITheme) => {
|
|
151
|
+
root: {
|
|
152
|
+
borderRadius: number;
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
readonly sm: (t: XAUITheme) => {
|
|
156
|
+
root: {
|
|
157
|
+
borderRadius: number;
|
|
158
|
+
};
|
|
159
|
+
};
|
|
160
|
+
readonly md: (t: XAUITheme) => {
|
|
161
|
+
root: {
|
|
162
|
+
borderRadius: number;
|
|
163
|
+
};
|
|
164
|
+
};
|
|
165
|
+
readonly lg: (t: XAUITheme) => {
|
|
166
|
+
root: {
|
|
167
|
+
borderRadius: number;
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
readonly xl: (t: XAUITheme) => {
|
|
171
|
+
root: {
|
|
172
|
+
borderRadius: number;
|
|
173
|
+
};
|
|
174
|
+
};
|
|
175
|
+
readonly '2xl': (t: XAUITheme) => {
|
|
176
|
+
root: {
|
|
177
|
+
borderRadius: number;
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
readonly '3xl': (t: XAUITheme) => {
|
|
181
|
+
root: {
|
|
182
|
+
borderRadius: number;
|
|
183
|
+
};
|
|
184
|
+
};
|
|
185
|
+
readonly '4xl': (t: XAUITheme) => {
|
|
186
|
+
root: {
|
|
187
|
+
borderRadius: number;
|
|
188
|
+
};
|
|
189
|
+
};
|
|
190
|
+
readonly field: (t: XAUITheme) => {
|
|
191
|
+
root: {
|
|
192
|
+
borderRadius: number;
|
|
193
|
+
};
|
|
194
|
+
};
|
|
195
|
+
readonly full: (t: XAUITheme) => {
|
|
196
|
+
root: {
|
|
197
|
+
borderRadius: number;
|
|
198
|
+
};
|
|
199
|
+
};
|
|
200
|
+
};
|
|
201
|
+
readonly isIconOnly: {
|
|
202
|
+
readonly true: () => {
|
|
203
|
+
root: {
|
|
204
|
+
paddingHorizontal: number;
|
|
205
|
+
aspectRatio: number;
|
|
206
|
+
};
|
|
207
|
+
};
|
|
208
|
+
};
|
|
209
|
+
}>;
|
|
210
|
+
|
|
211
|
+
declare const Button: react.ForwardRefExoticComponent<{
|
|
212
|
+
variant?: ButtonVariant;
|
|
213
|
+
size?: ButtonSize;
|
|
214
|
+
radius?: RadiusKey;
|
|
215
|
+
color?: string;
|
|
216
|
+
isDisabled?: boolean;
|
|
217
|
+
isLoading?: boolean;
|
|
218
|
+
isIconOnly?: boolean;
|
|
219
|
+
style?: react_native.StyleProp<react_native.ViewStyle> | ((state: react_native.PressableStateCallbackType) => react_native.StyleProp<react_native.ViewStyle>);
|
|
220
|
+
children?: react.ReactNode;
|
|
221
|
+
} & {
|
|
222
|
+
borderWidth?: number | undefined | undefined;
|
|
223
|
+
opacity?: react_native.AnimatableNumericValue | undefined;
|
|
224
|
+
filter?: string | readonly react_native.FilterFunction[] | undefined;
|
|
225
|
+
alignContent?: "flex-start" | "flex-end" | "center" | "stretch" | "space-between" | "space-around" | "space-evenly" | undefined | undefined;
|
|
226
|
+
alignItems?: react_native.FlexAlignType | undefined;
|
|
227
|
+
alignSelf?: "auto" | react_native.FlexAlignType | undefined;
|
|
228
|
+
aspectRatio?: number | string | undefined | undefined;
|
|
229
|
+
boxSizing?: "border-box" | "content-box" | undefined | undefined;
|
|
230
|
+
columnGap?: number | string | undefined | undefined;
|
|
231
|
+
direction?: "inherit" | "ltr" | "rtl" | undefined | undefined;
|
|
232
|
+
display?: "none" | "flex" | "contents" | undefined | undefined;
|
|
233
|
+
flex?: number | undefined | undefined;
|
|
234
|
+
flexBasis?: react_native.DimensionValue | undefined;
|
|
235
|
+
flexDirection?: "row" | "column" | "row-reverse" | "column-reverse" | undefined | undefined;
|
|
236
|
+
flexGrow?: number | undefined | undefined;
|
|
237
|
+
flexShrink?: number | undefined | undefined;
|
|
238
|
+
flexWrap?: "wrap" | "nowrap" | "wrap-reverse" | undefined | undefined;
|
|
239
|
+
gap?: number | string | undefined | undefined;
|
|
240
|
+
justifyContent?: "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly" | undefined | undefined;
|
|
241
|
+
overflow?: "visible" | "hidden" | "scroll" | undefined | undefined;
|
|
242
|
+
rowGap?: number | string | undefined | undefined;
|
|
243
|
+
bottom?: react_native.DimensionValue | undefined;
|
|
244
|
+
end?: react_native.DimensionValue | undefined;
|
|
245
|
+
inset?: react_native.DimensionValue | undefined;
|
|
246
|
+
insetBlock?: react_native.DimensionValue | undefined;
|
|
247
|
+
insetBlockEnd?: react_native.DimensionValue | undefined;
|
|
248
|
+
insetBlockStart?: react_native.DimensionValue | undefined;
|
|
249
|
+
insetInline?: react_native.DimensionValue | undefined;
|
|
250
|
+
insetInlineEnd?: react_native.DimensionValue | undefined;
|
|
251
|
+
insetInlineStart?: react_native.DimensionValue | undefined;
|
|
252
|
+
position?: "absolute" | "relative" | "static" | undefined | undefined;
|
|
253
|
+
start?: react_native.DimensionValue | undefined;
|
|
254
|
+
top?: react_native.DimensionValue | undefined;
|
|
255
|
+
zIndex?: number | undefined | undefined;
|
|
256
|
+
margin?: react_native.DimensionValue | undefined;
|
|
257
|
+
marginBlock?: react_native.DimensionValue | undefined;
|
|
258
|
+
marginBlockEnd?: react_native.DimensionValue | undefined;
|
|
259
|
+
marginBlockStart?: react_native.DimensionValue | undefined;
|
|
260
|
+
marginBottom?: react_native.DimensionValue | undefined;
|
|
261
|
+
marginEnd?: react_native.DimensionValue | undefined;
|
|
262
|
+
marginHorizontal?: react_native.DimensionValue | undefined;
|
|
263
|
+
marginInline?: react_native.DimensionValue | undefined;
|
|
264
|
+
marginInlineEnd?: react_native.DimensionValue | undefined;
|
|
265
|
+
marginInlineStart?: react_native.DimensionValue | undefined;
|
|
266
|
+
marginStart?: react_native.DimensionValue | undefined;
|
|
267
|
+
marginTop?: react_native.DimensionValue | undefined;
|
|
268
|
+
marginVertical?: react_native.DimensionValue | undefined;
|
|
269
|
+
padding?: react_native.DimensionValue | undefined;
|
|
270
|
+
paddingBlock?: react_native.DimensionValue | undefined;
|
|
271
|
+
paddingBlockEnd?: react_native.DimensionValue | undefined;
|
|
272
|
+
paddingBlockStart?: react_native.DimensionValue | undefined;
|
|
273
|
+
paddingBottom?: react_native.DimensionValue | undefined;
|
|
274
|
+
paddingEnd?: react_native.DimensionValue | undefined;
|
|
275
|
+
paddingHorizontal?: react_native.DimensionValue | undefined;
|
|
276
|
+
paddingInline?: react_native.DimensionValue | undefined;
|
|
277
|
+
paddingInlineEnd?: react_native.DimensionValue | undefined;
|
|
278
|
+
paddingInlineStart?: react_native.DimensionValue | undefined;
|
|
279
|
+
paddingStart?: react_native.DimensionValue | undefined;
|
|
280
|
+
paddingTop?: react_native.DimensionValue | undefined;
|
|
281
|
+
paddingVertical?: react_native.DimensionValue | undefined;
|
|
282
|
+
height?: react_native.DimensionValue | undefined;
|
|
283
|
+
maxHeight?: react_native.DimensionValue | undefined;
|
|
284
|
+
maxWidth?: react_native.DimensionValue | undefined;
|
|
285
|
+
minHeight?: react_native.DimensionValue | undefined;
|
|
286
|
+
minWidth?: react_native.DimensionValue | undefined;
|
|
287
|
+
width?: react_native.DimensionValue | undefined;
|
|
288
|
+
borderBlockColor?: react_native.ColorValue | undefined;
|
|
289
|
+
borderBlockEndColor?: react_native.ColorValue | undefined;
|
|
290
|
+
borderBlockStartColor?: react_native.ColorValue | undefined;
|
|
291
|
+
borderBottomColor?: react_native.ColorValue | undefined;
|
|
292
|
+
borderBottomEndRadius?: string | react_native.AnimatableNumericValue | undefined;
|
|
293
|
+
borderBottomStartRadius?: string | react_native.AnimatableNumericValue | undefined;
|
|
294
|
+
borderBottomWidth?: number | undefined | undefined;
|
|
295
|
+
borderColor?: react_native.ColorValue | undefined;
|
|
296
|
+
borderCurve?: "circular" | "continuous" | undefined | undefined;
|
|
297
|
+
borderEndColor?: react_native.ColorValue | undefined;
|
|
298
|
+
borderEndEndRadius?: string | react_native.AnimatableNumericValue | undefined;
|
|
299
|
+
borderEndStartRadius?: string | react_native.AnimatableNumericValue | undefined;
|
|
300
|
+
borderEndWidth?: number | undefined | undefined;
|
|
301
|
+
borderRadius?: string | react_native.AnimatableNumericValue | undefined;
|
|
302
|
+
borderStartColor?: react_native.ColorValue | undefined;
|
|
303
|
+
borderStartEndRadius?: string | react_native.AnimatableNumericValue | undefined;
|
|
304
|
+
borderStartStartRadius?: string | react_native.AnimatableNumericValue | undefined;
|
|
305
|
+
borderStartWidth?: number | undefined | undefined;
|
|
306
|
+
borderStyle?: "solid" | "dotted" | "dashed" | undefined | undefined;
|
|
307
|
+
borderTopColor?: react_native.ColorValue | undefined;
|
|
308
|
+
borderTopEndRadius?: string | react_native.AnimatableNumericValue | undefined;
|
|
309
|
+
borderTopStartRadius?: string | react_native.AnimatableNumericValue | undefined;
|
|
310
|
+
borderTopWidth?: number | undefined | undefined;
|
|
311
|
+
backfaceVisibility?: "visible" | "hidden" | undefined | undefined;
|
|
312
|
+
backgroundColor?: react_native.ColorValue | undefined;
|
|
313
|
+
boxShadow?: string | readonly react_native.BoxShadowValue[] | undefined;
|
|
314
|
+
cursor?: react_native.CursorValue | undefined;
|
|
315
|
+
elevation?: number | undefined | undefined;
|
|
316
|
+
experimental_backgroundImage?: string | readonly react_native.GradientValue[] | undefined;
|
|
317
|
+
isolation?: "auto" | "isolate" | undefined | undefined;
|
|
318
|
+
mixBlendMode?: react_native.BlendMode | undefined;
|
|
319
|
+
outlineColor?: react_native.ColorValue | undefined;
|
|
320
|
+
outlineOffset?: react_native.AnimatableNumericValue | undefined;
|
|
321
|
+
outlineStyle?: "solid" | "dotted" | "dashed" | undefined | undefined;
|
|
322
|
+
outlineWidth?: react_native.AnimatableNumericValue | undefined;
|
|
323
|
+
shadowColor?: react_native.ColorValue | undefined;
|
|
324
|
+
shadowOffset?: Readonly<{
|
|
325
|
+
width: number;
|
|
326
|
+
height: number;
|
|
327
|
+
}> | undefined;
|
|
328
|
+
shadowOpacity?: react_native.AnimatableNumericValue | undefined;
|
|
329
|
+
shadowRadius?: number | undefined | undefined;
|
|
330
|
+
rotation?: react_native.AnimatableNumericValue | undefined;
|
|
331
|
+
scaleX?: react_native.AnimatableNumericValue | undefined;
|
|
332
|
+
scaleY?: react_native.AnimatableNumericValue | undefined;
|
|
333
|
+
transform?: string | readonly (({
|
|
334
|
+
scaleX: react_native.AnimatableNumericValue;
|
|
335
|
+
} & {
|
|
336
|
+
scaleY?: undefined;
|
|
337
|
+
translateX?: undefined;
|
|
338
|
+
translateY?: undefined;
|
|
339
|
+
perspective?: undefined;
|
|
340
|
+
rotate?: undefined;
|
|
341
|
+
rotateX?: undefined;
|
|
342
|
+
rotateY?: undefined;
|
|
343
|
+
rotateZ?: undefined;
|
|
344
|
+
scale?: undefined;
|
|
345
|
+
skewX?: undefined;
|
|
346
|
+
skewY?: undefined;
|
|
347
|
+
matrix?: undefined;
|
|
348
|
+
}) | ({
|
|
349
|
+
scaleY: react_native.AnimatableNumericValue;
|
|
350
|
+
} & {
|
|
351
|
+
scaleX?: undefined;
|
|
352
|
+
translateX?: undefined;
|
|
353
|
+
translateY?: undefined;
|
|
354
|
+
perspective?: undefined;
|
|
355
|
+
rotate?: undefined;
|
|
356
|
+
rotateX?: undefined;
|
|
357
|
+
rotateY?: undefined;
|
|
358
|
+
rotateZ?: undefined;
|
|
359
|
+
scale?: undefined;
|
|
360
|
+
skewX?: undefined;
|
|
361
|
+
skewY?: undefined;
|
|
362
|
+
matrix?: undefined;
|
|
363
|
+
}) | ({
|
|
364
|
+
translateX: react_native.AnimatableNumericValue | `${number}%`;
|
|
365
|
+
} & {
|
|
366
|
+
scaleX?: undefined;
|
|
367
|
+
scaleY?: undefined;
|
|
368
|
+
translateY?: undefined;
|
|
369
|
+
perspective?: undefined;
|
|
370
|
+
rotate?: undefined;
|
|
371
|
+
rotateX?: undefined;
|
|
372
|
+
rotateY?: undefined;
|
|
373
|
+
rotateZ?: undefined;
|
|
374
|
+
scale?: undefined;
|
|
375
|
+
skewX?: undefined;
|
|
376
|
+
skewY?: undefined;
|
|
377
|
+
matrix?: undefined;
|
|
378
|
+
}) | ({
|
|
379
|
+
translateY: react_native.AnimatableNumericValue | `${number}%`;
|
|
380
|
+
} & {
|
|
381
|
+
scaleX?: undefined;
|
|
382
|
+
scaleY?: undefined;
|
|
383
|
+
translateX?: undefined;
|
|
384
|
+
perspective?: undefined;
|
|
385
|
+
rotate?: undefined;
|
|
386
|
+
rotateX?: undefined;
|
|
387
|
+
rotateY?: undefined;
|
|
388
|
+
rotateZ?: undefined;
|
|
389
|
+
scale?: undefined;
|
|
390
|
+
skewX?: undefined;
|
|
391
|
+
skewY?: undefined;
|
|
392
|
+
matrix?: undefined;
|
|
393
|
+
}) | ({
|
|
394
|
+
perspective: react_native.AnimatableNumericValue;
|
|
395
|
+
} & {
|
|
396
|
+
scaleX?: undefined;
|
|
397
|
+
scaleY?: undefined;
|
|
398
|
+
translateX?: undefined;
|
|
399
|
+
translateY?: undefined;
|
|
400
|
+
rotate?: undefined;
|
|
401
|
+
rotateX?: undefined;
|
|
402
|
+
rotateY?: undefined;
|
|
403
|
+
rotateZ?: undefined;
|
|
404
|
+
scale?: undefined;
|
|
405
|
+
skewX?: undefined;
|
|
406
|
+
skewY?: undefined;
|
|
407
|
+
matrix?: undefined;
|
|
408
|
+
}) | ({
|
|
409
|
+
rotate: react_native.AnimatableStringValue;
|
|
410
|
+
} & {
|
|
411
|
+
scaleX?: undefined;
|
|
412
|
+
scaleY?: undefined;
|
|
413
|
+
translateX?: undefined;
|
|
414
|
+
translateY?: undefined;
|
|
415
|
+
perspective?: undefined;
|
|
416
|
+
rotateX?: undefined;
|
|
417
|
+
rotateY?: undefined;
|
|
418
|
+
rotateZ?: undefined;
|
|
419
|
+
scale?: undefined;
|
|
420
|
+
skewX?: undefined;
|
|
421
|
+
skewY?: undefined;
|
|
422
|
+
matrix?: undefined;
|
|
423
|
+
}) | ({
|
|
424
|
+
rotateX: react_native.AnimatableStringValue;
|
|
425
|
+
} & {
|
|
426
|
+
scaleX?: undefined;
|
|
427
|
+
scaleY?: undefined;
|
|
428
|
+
translateX?: undefined;
|
|
429
|
+
translateY?: undefined;
|
|
430
|
+
perspective?: undefined;
|
|
431
|
+
rotate?: undefined;
|
|
432
|
+
rotateY?: undefined;
|
|
433
|
+
rotateZ?: undefined;
|
|
434
|
+
scale?: undefined;
|
|
435
|
+
skewX?: undefined;
|
|
436
|
+
skewY?: undefined;
|
|
437
|
+
matrix?: undefined;
|
|
438
|
+
}) | ({
|
|
439
|
+
rotateY: react_native.AnimatableStringValue;
|
|
440
|
+
} & {
|
|
441
|
+
scaleX?: undefined;
|
|
442
|
+
scaleY?: undefined;
|
|
443
|
+
translateX?: undefined;
|
|
444
|
+
translateY?: undefined;
|
|
445
|
+
perspective?: undefined;
|
|
446
|
+
rotate?: undefined;
|
|
447
|
+
rotateX?: undefined;
|
|
448
|
+
rotateZ?: undefined;
|
|
449
|
+
scale?: undefined;
|
|
450
|
+
skewX?: undefined;
|
|
451
|
+
skewY?: undefined;
|
|
452
|
+
matrix?: undefined;
|
|
453
|
+
}) | ({
|
|
454
|
+
rotateZ: react_native.AnimatableStringValue;
|
|
455
|
+
} & {
|
|
456
|
+
scaleX?: undefined;
|
|
457
|
+
scaleY?: undefined;
|
|
458
|
+
translateX?: undefined;
|
|
459
|
+
translateY?: undefined;
|
|
460
|
+
perspective?: undefined;
|
|
461
|
+
rotate?: undefined;
|
|
462
|
+
rotateX?: undefined;
|
|
463
|
+
rotateY?: undefined;
|
|
464
|
+
scale?: undefined;
|
|
465
|
+
skewX?: undefined;
|
|
466
|
+
skewY?: undefined;
|
|
467
|
+
matrix?: undefined;
|
|
468
|
+
}) | ({
|
|
469
|
+
scale: react_native.AnimatableNumericValue;
|
|
470
|
+
} & {
|
|
471
|
+
scaleX?: undefined;
|
|
472
|
+
scaleY?: undefined;
|
|
473
|
+
translateX?: undefined;
|
|
474
|
+
translateY?: undefined;
|
|
475
|
+
perspective?: undefined;
|
|
476
|
+
rotate?: undefined;
|
|
477
|
+
rotateX?: undefined;
|
|
478
|
+
rotateY?: undefined;
|
|
479
|
+
rotateZ?: undefined;
|
|
480
|
+
skewX?: undefined;
|
|
481
|
+
skewY?: undefined;
|
|
482
|
+
matrix?: undefined;
|
|
483
|
+
}) | ({
|
|
484
|
+
skewX: react_native.AnimatableStringValue;
|
|
485
|
+
} & {
|
|
486
|
+
scaleX?: undefined;
|
|
487
|
+
scaleY?: undefined;
|
|
488
|
+
translateX?: undefined;
|
|
489
|
+
translateY?: undefined;
|
|
490
|
+
perspective?: undefined;
|
|
491
|
+
rotate?: undefined;
|
|
492
|
+
rotateX?: undefined;
|
|
493
|
+
rotateY?: undefined;
|
|
494
|
+
rotateZ?: undefined;
|
|
495
|
+
scale?: undefined;
|
|
496
|
+
skewY?: undefined;
|
|
497
|
+
matrix?: undefined;
|
|
498
|
+
}) | ({
|
|
499
|
+
skewY: react_native.AnimatableStringValue;
|
|
500
|
+
} & {
|
|
501
|
+
scaleX?: undefined;
|
|
502
|
+
scaleY?: undefined;
|
|
503
|
+
translateX?: undefined;
|
|
504
|
+
translateY?: undefined;
|
|
505
|
+
perspective?: undefined;
|
|
506
|
+
rotate?: undefined;
|
|
507
|
+
rotateX?: undefined;
|
|
508
|
+
rotateY?: undefined;
|
|
509
|
+
rotateZ?: undefined;
|
|
510
|
+
scale?: undefined;
|
|
511
|
+
skewX?: undefined;
|
|
512
|
+
matrix?: undefined;
|
|
513
|
+
}) | ({
|
|
514
|
+
matrix: react_native.AnimatableNumericValue[];
|
|
515
|
+
} & {
|
|
516
|
+
scaleX?: undefined;
|
|
517
|
+
scaleY?: undefined;
|
|
518
|
+
translateX?: undefined;
|
|
519
|
+
translateY?: undefined;
|
|
520
|
+
perspective?: undefined;
|
|
521
|
+
rotate?: undefined;
|
|
522
|
+
rotateX?: undefined;
|
|
523
|
+
rotateY?: undefined;
|
|
524
|
+
rotateZ?: undefined;
|
|
525
|
+
scale?: undefined;
|
|
526
|
+
skewX?: undefined;
|
|
527
|
+
skewY?: undefined;
|
|
528
|
+
}))[] | undefined;
|
|
529
|
+
transformMatrix?: number[] | undefined;
|
|
530
|
+
transformOrigin?: string | (string | number)[] | undefined;
|
|
531
|
+
translateX?: react_native.AnimatableNumericValue | undefined;
|
|
532
|
+
translateY?: react_native.AnimatableNumericValue | undefined;
|
|
533
|
+
pointerEvents?: "box-none" | "none" | "box-only" | "auto" | undefined | undefined;
|
|
534
|
+
id?: string | undefined | undefined;
|
|
535
|
+
onLayout?: ((event: react_native.LayoutChangeEvent) => void) | undefined | undefined;
|
|
536
|
+
testID?: string | undefined | undefined;
|
|
537
|
+
nativeID?: string | undefined | undefined;
|
|
538
|
+
accessible?: boolean | undefined | undefined;
|
|
539
|
+
accessibilityActions?: readonly Readonly<{
|
|
540
|
+
name: react_native.AccessibilityActionName | string;
|
|
541
|
+
label?: string | undefined;
|
|
542
|
+
}>[] | undefined;
|
|
543
|
+
accessibilityLabel?: string | undefined | undefined;
|
|
544
|
+
'aria-label'?: string | undefined | undefined;
|
|
545
|
+
accessibilityRole?: react_native.AccessibilityRole | undefined;
|
|
546
|
+
accessibilityState?: react_native.AccessibilityState | undefined;
|
|
547
|
+
'aria-busy'?: boolean | undefined | undefined;
|
|
548
|
+
'aria-checked'?: boolean | "mixed" | undefined | undefined;
|
|
549
|
+
'aria-disabled'?: boolean | undefined | undefined;
|
|
550
|
+
'aria-expanded'?: boolean | undefined | undefined;
|
|
551
|
+
'aria-selected'?: boolean | undefined | undefined;
|
|
552
|
+
accessibilityHint?: string | undefined | undefined;
|
|
553
|
+
accessibilityValue?: react_native.AccessibilityValue | undefined;
|
|
554
|
+
'aria-valuemax'?: number | undefined;
|
|
555
|
+
'aria-valuemin'?: number | undefined;
|
|
556
|
+
'aria-valuenow'?: number | undefined;
|
|
557
|
+
'aria-valuetext'?: string | undefined;
|
|
558
|
+
onAccessibilityAction?: ((event: react_native.AccessibilityActionEvent) => void) | undefined | undefined;
|
|
559
|
+
importantForAccessibility?: ("auto" | "yes" | "no" | "no-hide-descendants") | undefined | undefined;
|
|
560
|
+
'aria-hidden'?: boolean | undefined | undefined;
|
|
561
|
+
'aria-modal'?: boolean | undefined | undefined;
|
|
562
|
+
role?: react_native.Role | undefined;
|
|
563
|
+
accessibilityLabelledBy?: string | string[] | undefined | undefined;
|
|
564
|
+
'aria-labelledby'?: string | undefined | undefined;
|
|
565
|
+
accessibilityLiveRegion?: "none" | "polite" | "assertive" | undefined | undefined;
|
|
566
|
+
'aria-live'?: ("polite" | "assertive" | "off") | undefined | undefined;
|
|
567
|
+
screenReaderFocusable?: boolean | undefined | undefined;
|
|
568
|
+
accessibilityElementsHidden?: boolean | undefined | undefined;
|
|
569
|
+
accessibilityViewIsModal?: boolean | undefined | undefined;
|
|
570
|
+
onAccessibilityEscape?: (() => void) | undefined | undefined;
|
|
571
|
+
onAccessibilityTap?: (() => void) | undefined | undefined;
|
|
572
|
+
onMagicTap?: (() => void) | undefined | undefined;
|
|
573
|
+
accessibilityIgnoresInvertColors?: boolean | undefined | undefined;
|
|
574
|
+
accessibilityLanguage?: string | undefined | undefined;
|
|
575
|
+
accessibilityShowsLargeContentViewer?: boolean | undefined | undefined;
|
|
576
|
+
accessibilityLargeContentTitle?: string | undefined | undefined;
|
|
577
|
+
accessibilityRespondsToUserInteraction?: boolean | undefined | undefined;
|
|
578
|
+
hitSlop?: number | react_native.Insets | null | undefined;
|
|
579
|
+
needsOffscreenAlphaCompositing?: boolean | undefined | undefined;
|
|
580
|
+
removeClippedSubviews?: boolean | undefined | undefined;
|
|
581
|
+
collapsable?: boolean | undefined | undefined;
|
|
582
|
+
collapsableChildren?: boolean | undefined | undefined;
|
|
583
|
+
onBlur?: null | ((event: react_native.NativeSyntheticEvent<react_native.TargetedEvent>) => void) | undefined | undefined;
|
|
584
|
+
onFocus?: null | ((event: react_native.NativeSyntheticEvent<react_native.TargetedEvent>) => void) | undefined | undefined;
|
|
585
|
+
renderToHardwareTextureAndroid?: boolean | undefined | undefined;
|
|
586
|
+
focusable?: boolean | undefined | undefined;
|
|
587
|
+
tabIndex?: 0 | -1 | undefined | undefined;
|
|
588
|
+
shouldRasterizeIOS?: boolean | undefined | undefined;
|
|
589
|
+
isTVSelectable?: boolean | undefined | undefined;
|
|
590
|
+
hasTVPreferredFocus?: boolean | undefined | undefined;
|
|
591
|
+
tvParallaxShiftDistanceX?: number | undefined | undefined;
|
|
592
|
+
tvParallaxShiftDistanceY?: number | undefined | undefined;
|
|
593
|
+
tvParallaxTiltAngle?: number | undefined | undefined;
|
|
594
|
+
tvParallaxMagnification?: number | undefined | undefined;
|
|
595
|
+
onStartShouldSetResponder?: ((event: react_native.GestureResponderEvent) => boolean) | undefined | undefined;
|
|
596
|
+
onMoveShouldSetResponder?: ((event: react_native.GestureResponderEvent) => boolean) | undefined | undefined;
|
|
597
|
+
onResponderEnd?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
|
|
598
|
+
onResponderGrant?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
|
|
599
|
+
onResponderReject?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
|
|
600
|
+
onResponderMove?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
|
|
601
|
+
onResponderRelease?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
|
|
602
|
+
onResponderStart?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
|
|
603
|
+
onResponderTerminationRequest?: ((event: react_native.GestureResponderEvent) => boolean) | undefined | undefined;
|
|
604
|
+
onResponderTerminate?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
|
|
605
|
+
onStartShouldSetResponderCapture?: ((event: react_native.GestureResponderEvent) => boolean) | undefined | undefined;
|
|
606
|
+
onMoveShouldSetResponderCapture?: ((event: react_native.GestureResponderEvent) => boolean) | undefined | undefined;
|
|
607
|
+
onTouchStart?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
|
|
608
|
+
onTouchMove?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
|
|
609
|
+
onTouchEnd?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
|
|
610
|
+
onTouchCancel?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
|
|
611
|
+
onTouchEndCapture?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
|
|
612
|
+
onPointerEnter?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
|
|
613
|
+
onPointerEnterCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
|
|
614
|
+
onPointerLeave?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
|
|
615
|
+
onPointerLeaveCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
|
|
616
|
+
onPointerMove?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
|
|
617
|
+
onPointerMoveCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
|
|
618
|
+
onPointerCancel?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
|
|
619
|
+
onPointerCancelCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
|
|
620
|
+
onPointerDown?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
|
|
621
|
+
onPointerDownCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
|
|
622
|
+
onPointerUp?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
|
|
623
|
+
onPointerUpCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
|
|
624
|
+
onHoverIn?: null | ((event: react_native.MouseEvent) => void) | undefined | undefined;
|
|
625
|
+
onHoverOut?: null | ((event: react_native.MouseEvent) => void) | undefined | undefined;
|
|
626
|
+
onPress?: null | ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
|
|
627
|
+
onPressIn?: null | ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
|
|
628
|
+
onPressOut?: null | ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
|
|
629
|
+
onLongPress?: null | ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
|
|
630
|
+
cancelable?: null | boolean | undefined | undefined;
|
|
631
|
+
delayHoverIn?: number | null | undefined | undefined;
|
|
632
|
+
delayHoverOut?: number | null | undefined | undefined;
|
|
633
|
+
delayLongPress?: null | number | undefined | undefined;
|
|
634
|
+
pressRetentionOffset?: number | react_native.Insets | null | undefined;
|
|
635
|
+
android_disableSound?: null | boolean | undefined | undefined;
|
|
636
|
+
android_ripple?: react_native.PressableAndroidRippleConfig | null | undefined;
|
|
637
|
+
testOnly_pressed?: null | boolean | undefined | undefined;
|
|
638
|
+
unstable_pressDelay?: number | undefined | undefined;
|
|
639
|
+
asChild?: boolean | undefined;
|
|
640
|
+
animation?: AnimationProp | undefined;
|
|
641
|
+
} & Omit<ViewStyleProps, keyof {
|
|
642
|
+
variant?: ButtonVariant;
|
|
643
|
+
size?: ButtonSize;
|
|
644
|
+
radius?: RadiusKey;
|
|
645
|
+
color?: string;
|
|
646
|
+
isDisabled?: boolean;
|
|
647
|
+
isLoading?: boolean;
|
|
648
|
+
isIconOnly?: boolean;
|
|
649
|
+
style?: react_native.StyleProp<react_native.ViewStyle> | ((state: react_native.PressableStateCallbackType) => react_native.StyleProp<react_native.ViewStyle>);
|
|
650
|
+
children?: react.ReactNode;
|
|
651
|
+
}> & react.RefAttributes<react_native.View>> & {
|
|
652
|
+
Label: react.ForwardRefExoticComponent<react_native.TextProps & Omit<TextStyleProps, keyof react_native.TextProps> & {
|
|
653
|
+
children?: react.ReactNode;
|
|
654
|
+
} & react.RefAttributes<react_native.Text>>;
|
|
655
|
+
Icon: typeof ButtonIcon;
|
|
656
|
+
Spinner: typeof ButtonSpinner;
|
|
657
|
+
};
|
|
658
|
+
|
|
659
|
+
export { Button, type ButtonContextValue, type ButtonIconProps, type ButtonLabelProps, type ButtonProps, type ButtonSize, type ButtonSlot, type ButtonSpinnerProps, type ButtonVariant, buttonRecipe, useButton };
|