@xaui/native 0.9.1-alpha.4 → 0.9.1-alpha.41
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-2EGR4LWD.js +145 -0
- package/dist/chunk-2NRZKJG7.js +531 -0
- package/dist/chunk-2PMXMKS5.js +67 -0
- package/dist/chunk-2XPG2243.js +586 -0
- package/dist/chunk-36PRYGAM.js +13 -0
- package/dist/chunk-3E7CDKFO.cjs +696 -0
- package/dist/chunk-3GFRSZYR.js +54 -0
- package/dist/chunk-423RQBOX.js +21 -0
- package/dist/chunk-4CUZZWFW.js +92 -0
- package/dist/chunk-4GTAZM2C.js +174 -0
- package/dist/chunk-4KFKWBN5.cjs +89 -0
- package/dist/{chunk-3QBT3Q65.cjs → chunk-57SJ4LJF.cjs} +7 -2
- package/dist/chunk-5R26NM4M.cjs +402 -0
- package/dist/chunk-5VKYNBNA.js +607 -0
- package/dist/chunk-64MXEVT3.js +66 -0
- package/dist/chunk-6DOLGZVV.cjs +147 -0
- package/dist/chunk-6L2TS2R3.cjs +92 -0
- package/dist/chunk-6UEZJRVI.js +669 -0
- package/dist/chunk-734MFAX4.js +27 -0
- package/dist/chunk-73RKQC5X.js +104 -0
- package/dist/chunk-7DPL3ZDS.cjs +21 -0
- package/dist/chunk-7EIHHOHP.cjs +42 -0
- package/dist/chunk-7GHM4GKL.cjs +119 -0
- package/dist/chunk-7YF5NAHQ.cjs +74 -0
- package/dist/{chunk-X2K2FX3W.js → chunk-A3EGFI6T.js} +6 -1
- package/dist/chunk-ABAGZTXZ.cjs +736 -0
- package/dist/{chunk-AW63PTQ4.cjs → chunk-ACAPTWE3.cjs} +85 -81
- package/dist/chunk-AMCSSOJT.cjs +104 -0
- package/dist/chunk-BA2DBSAN.js +102 -0
- package/dist/chunk-BRRXFOBY.js +431 -0
- package/dist/chunk-C5YLPCFC.cjs +293 -0
- package/dist/chunk-DA3OKXHV.cjs +700 -0
- package/dist/chunk-DD4276RF.js +366 -0
- package/dist/chunk-DG2I4PJG.js +701 -0
- package/dist/chunk-DHGLGSH6.js +661 -0
- package/dist/chunk-DIBUQ46Y.js +346 -0
- package/dist/chunk-EGLLDKN6.js +9 -0
- package/dist/chunk-EJQCQPET.cjs +9 -0
- package/dist/chunk-EKS3W46M.cjs +66 -0
- package/dist/chunk-EZEYMLO3.js +402 -0
- package/dist/chunk-F6CQ6CBI.cjs +112 -0
- package/dist/chunk-F6W3JQ7K.js +42 -0
- package/dist/chunk-FHUYHV6J.js +89 -0
- package/dist/chunk-FNEUOBCV.cjs +174 -0
- package/dist/chunk-G3CCT4EY.js +518 -0
- package/dist/chunk-G7P3ERYF.cjs +478 -0
- package/dist/chunk-GA6PBWNT.js +147 -0
- package/dist/chunk-GFUZ3MUT.cjs +455 -0
- package/dist/chunk-GGW43Q37.cjs +1 -0
- package/dist/chunk-GTR5X65M.cjs +27 -0
- package/dist/chunk-H4E4HDEP.cjs +13 -0
- package/dist/chunk-H7DS4IO7.js +198 -0
- package/dist/chunk-HDVVZG4S.cjs +198 -0
- package/dist/chunk-IKJVLJKT.js +151 -0
- package/dist/chunk-J3MB4PI5.cjs +531 -0
- package/dist/chunk-K72UDPVN.js +119 -0
- package/dist/chunk-KCMYU7WF.js +86 -0
- package/dist/chunk-LRN3RNDO.js +940 -0
- package/dist/chunk-LTX6TB5I.js +124 -0
- package/dist/chunk-LUPCPLND.cjs +145 -0
- package/dist/chunk-M63GFNKV.js +194 -0
- package/dist/chunk-N3KTZMPG.js +293 -0
- package/dist/chunk-NCTOTTVW.js +13 -0
- package/dist/chunk-NWGLP6JX.cjs +410 -0
- package/dist/chunk-R73XQK7X.cjs +314 -0
- package/dist/chunk-RU7JCMWC.cjs +881 -0
- package/dist/chunk-SNIHUKDA.cjs +184 -0
- package/dist/chunk-T5FV5F7A.cjs +607 -0
- package/dist/chunk-TDTUAIFF.cjs +153 -0
- package/dist/chunk-TJ74XVZN.cjs +431 -0
- package/dist/chunk-TK44VBIE.cjs +194 -0
- package/dist/chunk-UAWBAD4E.cjs +346 -0
- package/dist/chunk-UFTCTTKK.js +381 -0
- package/dist/chunk-VLKBESEV.cjs +407 -0
- package/dist/chunk-WDDXU3OH.cjs +67 -0
- package/dist/chunk-WFEMJCXO.cjs +13 -0
- package/dist/chunk-WHJTBTYM.js +0 -0
- package/dist/{chunk-2KXQATVL.js → chunk-WKCQ6VGW.js} +59 -55
- package/dist/chunk-XFPQFCEK.js +455 -0
- package/dist/chunk-XSQPVDFH.cjs +60 -0
- package/dist/chunk-XTC2SLFT.js +153 -0
- package/dist/chunk-XV735BSA.cjs +366 -0
- package/dist/chunk-XWNG2U4K.cjs +124 -0
- package/dist/chunk-YGYYJ3LQ.js +314 -0
- package/dist/chunk-YVHT2UVW.js +74 -0
- package/dist/chunk-ZFOOJK37.cjs +86 -0
- package/dist/close-button.type-BUYuoSt2.d.ts +36 -0
- package/dist/close-button.type-CHsgZ3wO.d.cts +36 -0
- package/dist/components/accordion/index.cjs +35 -0
- package/dist/components/accordion/index.d.cts +299 -0
- package/dist/components/accordion/index.d.ts +299 -0
- package/dist/components/accordion/index.js +35 -0
- package/dist/components/alert/index.cjs +20 -0
- package/dist/components/alert/index.d.cts +169 -0
- package/dist/components/alert/index.d.ts +169 -0
- package/dist/components/alert/index.js +20 -0
- package/dist/components/avatar/index.cjs +16 -0
- package/dist/components/avatar/index.d.cts +131 -0
- package/dist/components/avatar/index.d.ts +131 -0
- package/dist/components/avatar/index.js +16 -0
- package/dist/components/badge/index.cjs +15 -0
- package/dist/components/badge/index.d.cts +157 -0
- package/dist/components/badge/index.d.ts +157 -0
- package/dist/components/badge/index.js +15 -0
- package/dist/components/button/index.cjs +22 -0
- package/dist/components/button/index.d.cts +613 -0
- package/dist/components/button/index.d.ts +613 -0
- package/dist/components/button/index.js +22 -0
- package/dist/components/card/index.cjs +22 -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 +22 -0
- package/dist/components/checkbox/index.cjs +26 -0
- package/dist/components/checkbox/index.d.cts +1136 -0
- package/dist/components/checkbox/index.d.ts +1136 -0
- package/dist/components/checkbox/index.js +26 -0
- package/dist/components/chip/index.cjs +20 -0
- package/dist/components/chip/index.d.cts +608 -0
- package/dist/components/chip/index.d.ts +608 -0
- package/dist/components/chip/index.js +20 -0
- package/dist/components/divider/index.cjs +13 -0
- package/dist/components/divider/index.d.cts +117 -0
- package/dist/components/divider/index.d.ts +117 -0
- package/dist/components/divider/index.js +13 -0
- package/dist/components/field-group/index.cjs +27 -0
- package/dist/components/field-group/index.d.cts +270 -0
- package/dist/components/field-group/index.d.ts +270 -0
- package/dist/components/field-group/index.js +27 -0
- package/dist/components/input-otp/index.cjs +29 -0
- package/dist/components/input-otp/index.d.cts +325 -0
- package/dist/components/input-otp/index.d.ts +325 -0
- package/dist/components/input-otp/index.js +29 -0
- package/dist/components/menu/index.cjs +49 -0
- package/dist/components/menu/index.d.cts +351 -0
- package/dist/components/menu/index.d.ts +351 -0
- package/dist/components/menu/index.js +49 -0
- package/dist/components/popover/index.cjs +38 -0
- package/dist/components/popover/index.d.cts +254 -0
- package/dist/components/popover/index.d.ts +254 -0
- package/dist/components/popover/index.js +38 -0
- package/dist/components/radio/index.cjs +26 -0
- package/dist/components/radio/index.d.cts +1102 -0
- package/dist/components/radio/index.d.ts +1102 -0
- package/dist/components/radio/index.js +26 -0
- package/dist/components/select/index.cjs +50 -0
- package/dist/components/select/index.d.cts +498 -0
- package/dist/components/select/index.d.ts +498 -0
- package/dist/components/select/index.js +50 -0
- package/dist/components/skeleton/index.cjs +11 -0
- package/dist/components/skeleton/index.d.cts +111 -0
- package/dist/components/skeleton/index.d.ts +111 -0
- package/dist/components/skeleton/index.js +11 -0
- package/dist/components/spinner/index.cjs +17 -0
- package/dist/components/spinner/index.d.cts +104 -0
- package/dist/components/spinner/index.d.ts +104 -0
- package/dist/components/spinner/index.js +17 -0
- package/dist/components/switch/index.cjs +27 -0
- package/dist/components/switch/index.d.cts +1154 -0
- package/dist/components/switch/index.d.ts +1154 -0
- package/dist/components/switch/index.js +27 -0
- package/dist/components/tabs/index.cjs +33 -0
- package/dist/components/tabs/index.d.cts +261 -0
- package/dist/components/tabs/index.d.ts +261 -0
- package/dist/components/tabs/index.js +33 -0
- package/dist/components/text-area/index.cjs +14 -0
- package/dist/components/text-area/index.d.cts +73 -0
- package/dist/components/text-area/index.d.ts +73 -0
- package/dist/components/text-area/index.js +14 -0
- package/dist/components/text-field/index.cjs +25 -0
- package/dist/components/text-field/index.d.cts +205 -0
- package/dist/components/text-field/index.d.ts +205 -0
- package/dist/components/text-field/index.js +25 -0
- package/dist/components/typography/index.cjs +15 -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 +15 -0
- package/dist/components/view/index.cjs +17 -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 +17 -0
- package/dist/create-recipe-BdVd2ffi.d.ts +114 -0
- package/dist/create-recipe-dC7wMfnj.d.cts +114 -0
- package/dist/icon.type-Kml72iSz.d.ts +73 -0
- package/dist/icon.type-d_i9ma-i.d.cts +73 -0
- package/dist/index.cjs +423 -5
- package/dist/index.d.cts +119 -4
- package/dist/index.d.ts +119 -4
- package/dist/index.js +445 -27
- package/dist/placement-DHa0Rrh1.d.cts +38 -0
- package/dist/placement-DHa0Rrh1.d.ts +38 -0
- package/dist/pressable-feedback.type-BA2C9sSz.d.cts +127 -0
- package/dist/pressable-feedback.type-Bs4dQlGj.d.ts +127 -0
- package/dist/style-props.type-CfnoGEP7.d.cts +31 -0
- package/dist/style-props.type-CfnoGEP7.d.ts +31 -0
- package/dist/system/index.cjs +73 -4
- package/dist/system/index.d.cts +379 -193
- package/dist/system/index.d.ts +379 -193
- package/dist/system/index.js +87 -18
- package/dist/text-field.type-0l73acce.d.ts +167 -0
- package/dist/text-field.type-DBh06DU5.d.cts +167 -0
- package/dist/theme/index.cjs +5 -3
- package/dist/theme/index.d.cts +55 -24
- package/dist/theme/index.d.ts +55 -24
- package/dist/theme/index.js +4 -2
- package/dist/{theme.type-C9bFJKFm.d.cts → theme.type-C2gNHpEx.d.cts} +1 -1
- package/dist/{theme.type-C9bFJKFm.d.ts → theme.type-C2gNHpEx.d.ts} +1 -1
- package/package.json +264 -18
- package/dist/chunk-ECDWSSHJ.js +0 -688
- package/dist/chunk-IYFGO523.cjs +0 -688
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Radio,
|
|
3
|
+
RadioIndicator,
|
|
4
|
+
RadioLabel,
|
|
5
|
+
RadioRoot,
|
|
6
|
+
radioRecipe,
|
|
7
|
+
useRadio
|
|
8
|
+
} from "../../chunk-N3KTZMPG.js";
|
|
9
|
+
import "../../chunk-BA2DBSAN.js";
|
|
10
|
+
import "../../chunk-F6W3JQ7K.js";
|
|
11
|
+
import "../../chunk-6UEZJRVI.js";
|
|
12
|
+
import "../../chunk-423RQBOX.js";
|
|
13
|
+
import "../../chunk-EGLLDKN6.js";
|
|
14
|
+
import "../../chunk-4GTAZM2C.js";
|
|
15
|
+
import "../../chunk-A3EGFI6T.js";
|
|
16
|
+
import "../../chunk-K72UDPVN.js";
|
|
17
|
+
import "../../chunk-36PRYGAM.js";
|
|
18
|
+
import "../../chunk-M63GFNKV.js";
|
|
19
|
+
export {
|
|
20
|
+
Radio,
|
|
21
|
+
RadioIndicator,
|
|
22
|
+
RadioLabel,
|
|
23
|
+
RadioRoot,
|
|
24
|
+
radioRecipe,
|
|
25
|
+
useRadio
|
|
26
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
var _chunkRU7JCMWCcjs = require('../../chunk-RU7JCMWC.cjs');
|
|
19
|
+
require('../../chunk-LUPCPLND.cjs');
|
|
20
|
+
require('../../chunk-WDDXU3OH.cjs');
|
|
21
|
+
require('../../chunk-EKS3W46M.cjs');
|
|
22
|
+
require('../../chunk-WFEMJCXO.cjs');
|
|
23
|
+
require('../../chunk-4KFKWBN5.cjs');
|
|
24
|
+
require('../../chunk-7EIHHOHP.cjs');
|
|
25
|
+
require('../../chunk-3E7CDKFO.cjs');
|
|
26
|
+
require('../../chunk-7DPL3ZDS.cjs');
|
|
27
|
+
require('../../chunk-EJQCQPET.cjs');
|
|
28
|
+
require('../../chunk-FNEUOBCV.cjs');
|
|
29
|
+
require('../../chunk-57SJ4LJF.cjs');
|
|
30
|
+
require('../../chunk-7GHM4GKL.cjs');
|
|
31
|
+
require('../../chunk-H4E4HDEP.cjs');
|
|
32
|
+
require('../../chunk-TK44VBIE.cjs');
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
exports.CheckIcon = _chunkRU7JCMWCcjs.CheckIcon; exports.Select = _chunkRU7JCMWCcjs.Select2; exports.SelectContent = _chunkRU7JCMWCcjs.SelectContent; exports.SelectIndicator = _chunkRU7JCMWCcjs.SelectIndicator; exports.SelectItem = _chunkRU7JCMWCcjs.SelectItem; exports.SelectItemDescription = _chunkRU7JCMWCcjs.SelectItemDescription; exports.SelectItemIndicator = _chunkRU7JCMWCcjs.SelectItemIndicator; exports.SelectItemLabel = _chunkRU7JCMWCcjs.SelectItemLabel; exports.SelectLabel = _chunkRU7JCMWCcjs.SelectLabel; exports.SelectOverlay = _chunkRU7JCMWCcjs.SelectOverlay; exports.SelectRoot = _chunkRU7JCMWCcjs.Select; exports.SelectTrigger = _chunkRU7JCMWCcjs.SelectTrigger; exports.SelectValue = _chunkRU7JCMWCcjs.SelectValue; exports.selectRecipe = _chunkRU7JCMWCcjs.selectRecipe; exports.useSelect = _chunkRU7JCMWCcjs.useSelect; exports.useSelectItem = _chunkRU7JCMWCcjs.useSelectItem;
|
|
@@ -0,0 +1,498 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode, ComponentType } from 'react';
|
|
3
|
+
import * as react_native from 'react-native';
|
|
4
|
+
import { StyleProp, ViewStyle, TextStyle, ViewProps, TextProps, PressableProps, View, Text } from 'react-native';
|
|
5
|
+
import { b as IconComponentProps, I as IconContextValue } from '../../icon.type-d_i9ma-i.cjs';
|
|
6
|
+
import { V as ViewStyleProps, T as TextStyleProps } from '../../style-props.type-CfnoGEP7.cjs';
|
|
7
|
+
import { S as Size, R as RadiusKey, X as XAUITheme } from '../../theme.type-C2gNHpEx.cjs';
|
|
8
|
+
import { P as Placement, A as Align, a as AnchoredWidth, I as Insets, b as Anchor } from '../../placement-DHa0Rrh1.cjs';
|
|
9
|
+
import { R as Recipe, S as SlotStyles, a as StyleFn } from '../../create-recipe-dC7wMfnj.cjs';
|
|
10
|
+
|
|
11
|
+
type SelectSlot = 'trigger' | 'value' | 'placeholder' | 'indicator' | 'overlay' | 'content' | 'label' | 'item' | 'itemLabel' | 'itemDescription' | 'itemIndicator';
|
|
12
|
+
/**
|
|
13
|
+
* The trigger **is** a field, so it takes the field's four emphasis levels rather than
|
|
14
|
+
* the button's ten. A select that offers `danger` would be offering an intent to a
|
|
15
|
+
* control whose intent is always the same: pick one of these.
|
|
16
|
+
*/
|
|
17
|
+
type SelectVariant = 'primary' | 'secondary' | 'tertiary' | 'ghost';
|
|
18
|
+
/**
|
|
19
|
+
* No `xs`. A trigger that small has to hold a value, a chevron and the gap between them,
|
|
20
|
+
* and at that height the value gets nothing — the control reads as a chip that lies about
|
|
21
|
+
* being pressable. The `TextField` keeps its `xs` because a field only has to hold text.
|
|
22
|
+
*/
|
|
23
|
+
type SelectSize = Exclude<Size, 'xs'>;
|
|
24
|
+
/**
|
|
25
|
+
* Which side of the trigger the list opens on. Two of the four a `Popover` takes: a
|
|
26
|
+
* select's list is as wide as the field it belongs to, and one hanging off the side of
|
|
27
|
+
* its own field reads as a menu rather than as that field's values.
|
|
28
|
+
*/
|
|
29
|
+
type SelectPlacement = Extract<Placement, 'top' | 'bottom'>;
|
|
30
|
+
/** Where the list lines up along the trigger's cross axis. */
|
|
31
|
+
type SelectAlign = Align;
|
|
32
|
+
/**
|
|
33
|
+
* `trigger` matches the field exactly, which is the default because a list wider than the
|
|
34
|
+
* control it drops out of reads as a different surface. `content-fit` lets it hug the
|
|
35
|
+
* longest label instead, bounded by the screen.
|
|
36
|
+
*/
|
|
37
|
+
type SelectWidth = AnchoredWidth;
|
|
38
|
+
/** Screen edges the list refuses to cross, in points. */
|
|
39
|
+
type SelectInsets = Insets;
|
|
40
|
+
type SelectOwnProps = {
|
|
41
|
+
children?: ReactNode;
|
|
42
|
+
variant?: SelectVariant;
|
|
43
|
+
size?: SelectSize;
|
|
44
|
+
radius?: RadiusKey;
|
|
45
|
+
/** The tint (R7) — a raw value, never a token. */
|
|
46
|
+
color?: string;
|
|
47
|
+
/** Controlled selection. Leave unset and the root owns it. */
|
|
48
|
+
value?: string;
|
|
49
|
+
defaultValue?: string;
|
|
50
|
+
onValueChange?: (value: string) => void;
|
|
51
|
+
/** Controlled open state. Leave unset and the root owns it. */
|
|
52
|
+
isOpen?: boolean;
|
|
53
|
+
defaultOpen?: boolean;
|
|
54
|
+
onOpenChange?: (isOpen: boolean) => void;
|
|
55
|
+
isDisabled?: boolean;
|
|
56
|
+
isInvalid?: boolean;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* The root renders **no node**. It is state and resolved style around a trigger and a
|
|
60
|
+
* list, and the trigger is the control — which is why `ref`, `style`, `testID`, the a11y
|
|
61
|
+
* props and R14's style props are all on `Select.Trigger` rather than here. A wrapper
|
|
62
|
+
* view would exist only to receive them, and it would put a second box around a field
|
|
63
|
+
* that already is one.
|
|
64
|
+
*/
|
|
65
|
+
type SelectProps = SelectOwnProps;
|
|
66
|
+
type SelectTriggerOwnProps = {
|
|
67
|
+
children?: ReactNode;
|
|
68
|
+
asChild?: boolean;
|
|
69
|
+
};
|
|
70
|
+
type SelectTriggerProps = SelectTriggerOwnProps & Omit<PressableProps, keyof SelectTriggerOwnProps> & Omit<ViewStyleProps, keyof SelectTriggerOwnProps | keyof PressableProps>;
|
|
71
|
+
type SelectValueOwnProps = {
|
|
72
|
+
/** Shown until something is selected, in the placeholder colour. */
|
|
73
|
+
placeholder?: string;
|
|
74
|
+
/**
|
|
75
|
+
* The selected value's label, when the caller renders items lazily and the root has
|
|
76
|
+
* never seen them. Unset, the value falls back to the label of the matching item.
|
|
77
|
+
*/
|
|
78
|
+
children?: ReactNode;
|
|
79
|
+
};
|
|
80
|
+
type SelectValueProps = SelectValueOwnProps & Omit<TextProps, keyof SelectValueOwnProps> & Omit<TextStyleProps, keyof SelectValueOwnProps | keyof TextProps>;
|
|
81
|
+
/**
|
|
82
|
+
* The chevron. It rotates on a spring rather than a timing curve, which is what makes the
|
|
83
|
+
* turn read as the list pushing it round instead of as a separate animation playing.
|
|
84
|
+
*/
|
|
85
|
+
type SelectIndicatorProps = {
|
|
86
|
+
/** The glyph. Defaults to the chevron this component ships. */
|
|
87
|
+
as?: ComponentType<IconComponentProps>;
|
|
88
|
+
size?: number;
|
|
89
|
+
/** A raw value (R7), never a token. Overrides what the trigger asked for. */
|
|
90
|
+
color?: string;
|
|
91
|
+
};
|
|
92
|
+
type SelectOverlayOwnProps = {
|
|
93
|
+
children?: ReactNode;
|
|
94
|
+
/** Pressing the backdrop closes the list. Set false and only a choice closes it. */
|
|
95
|
+
isDismissable?: boolean;
|
|
96
|
+
};
|
|
97
|
+
type SelectOverlayProps = SelectOverlayOwnProps & Omit<ViewProps, keyof SelectOverlayOwnProps> & Omit<ViewStyleProps, keyof SelectOverlayOwnProps | keyof ViewProps>;
|
|
98
|
+
type SelectContentOwnProps = {
|
|
99
|
+
children?: ReactNode;
|
|
100
|
+
placement?: SelectPlacement;
|
|
101
|
+
align?: SelectAlign;
|
|
102
|
+
width?: SelectWidth;
|
|
103
|
+
/** Distance from the trigger, in points. */
|
|
104
|
+
offset?: number;
|
|
105
|
+
/** Shift along the alignment axis, in points. */
|
|
106
|
+
alignOffset?: number;
|
|
107
|
+
/** Flip to the other side when the chosen one does not fit. */
|
|
108
|
+
avoidCollisions?: boolean;
|
|
109
|
+
insets?: SelectInsets;
|
|
110
|
+
};
|
|
111
|
+
type SelectContentProps = SelectContentOwnProps & Omit<ViewProps, keyof SelectContentOwnProps> & Omit<ViewStyleProps, keyof SelectContentOwnProps | keyof ViewProps>;
|
|
112
|
+
type SelectLabelOwnProps = {
|
|
113
|
+
children?: ReactNode;
|
|
114
|
+
};
|
|
115
|
+
type SelectLabelProps = SelectLabelOwnProps & Omit<TextProps, keyof SelectLabelOwnProps> & Omit<TextStyleProps, keyof SelectLabelOwnProps | keyof TextProps>;
|
|
116
|
+
/** What an item's render function is handed, so it can paint its own selected state. */
|
|
117
|
+
type SelectItemRenderState = {
|
|
118
|
+
isSelected: boolean;
|
|
119
|
+
isPressed: boolean;
|
|
120
|
+
isDisabled: boolean;
|
|
121
|
+
};
|
|
122
|
+
type SelectItemOwnProps = {
|
|
123
|
+
value: string;
|
|
124
|
+
/** The label the trigger shows once this item is chosen. */
|
|
125
|
+
label?: string;
|
|
126
|
+
isDisabled?: boolean;
|
|
127
|
+
children?: ReactNode | ((state: SelectItemRenderState) => ReactNode);
|
|
128
|
+
asChild?: boolean;
|
|
129
|
+
};
|
|
130
|
+
type SelectItemProps = SelectItemOwnProps & Omit<PressableProps, keyof SelectItemOwnProps> & Omit<ViewStyleProps, keyof SelectItemOwnProps | keyof PressableProps>;
|
|
131
|
+
type SelectItemTextOwnProps = {
|
|
132
|
+
children?: ReactNode;
|
|
133
|
+
};
|
|
134
|
+
type SelectItemLabelProps = SelectItemTextOwnProps & Omit<TextProps, keyof SelectItemTextOwnProps> & Omit<TextStyleProps, keyof SelectItemTextOwnProps | keyof TextProps>;
|
|
135
|
+
type SelectItemDescriptionProps = SelectItemLabelProps;
|
|
136
|
+
/** The check. Its box always renders; the glyph inside it only when the row is chosen. */
|
|
137
|
+
type SelectItemIndicatorProps = {
|
|
138
|
+
/** The glyph. Defaults to the check this component ships. */
|
|
139
|
+
as?: ComponentType<IconComponentProps>;
|
|
140
|
+
size?: number;
|
|
141
|
+
/** A raw value (R7), never a token. */
|
|
142
|
+
color?: string;
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* R5 — resolved style ids and the state the slots read. Nothing here is re-resolved by a
|
|
146
|
+
* slot, and nothing in it is a raw prop.
|
|
147
|
+
*/
|
|
148
|
+
type SelectContextValue = {
|
|
149
|
+
triggerStyle: StyleProp<ViewStyle>;
|
|
150
|
+
/**
|
|
151
|
+
* Resolved alongside the resting one rather than by the trigger: R5 keeps resolution on
|
|
152
|
+
* the root, and the trigger owns the press state the root cannot see.
|
|
153
|
+
*/
|
|
154
|
+
triggerPressedStyle: StyleProp<ViewStyle>;
|
|
155
|
+
valueStyle: StyleProp<TextStyle>;
|
|
156
|
+
placeholderStyle: StyleProp<TextStyle>;
|
|
157
|
+
indicatorStyle: StyleProp<ViewStyle>;
|
|
158
|
+
overlayStyle: StyleProp<ViewStyle>;
|
|
159
|
+
contentStyle: StyleProp<ViewStyle>;
|
|
160
|
+
labelStyle: StyleProp<TextStyle>;
|
|
161
|
+
itemStyle: StyleProp<ViewStyle>;
|
|
162
|
+
/** The same split as the trigger's, for the row a finger happens to be on. */
|
|
163
|
+
itemPressedStyle: StyleProp<ViewStyle>;
|
|
164
|
+
itemLabelStyle: StyleProp<TextStyle>;
|
|
165
|
+
itemDescriptionStyle: StyleProp<TextStyle>;
|
|
166
|
+
itemIndicatorStyle: StyleProp<ViewStyle>;
|
|
167
|
+
/**
|
|
168
|
+
* Values, not a style: `Icon` hands `size` and `color` to a third-party component, so
|
|
169
|
+
* the root flattens its indicator slot once here rather than in every icon it contains.
|
|
170
|
+
*/
|
|
171
|
+
glyph: IconContextValue;
|
|
172
|
+
/** The check's colour — the row's own, because the check belongs to the list. */
|
|
173
|
+
checkColor?: string;
|
|
174
|
+
value?: string;
|
|
175
|
+
isOpen: boolean;
|
|
176
|
+
isDisabled: boolean;
|
|
177
|
+
isInvalid: boolean;
|
|
178
|
+
open: () => void;
|
|
179
|
+
close: () => void;
|
|
180
|
+
toggle: () => void;
|
|
181
|
+
select: (value: string, label?: string) => void;
|
|
182
|
+
/** The trigger publishes its measured rectangle here; the content positions off it. */
|
|
183
|
+
anchor: SelectAnchor | null;
|
|
184
|
+
setAnchor: (anchor: SelectAnchor) => void;
|
|
185
|
+
/** Labels registered by the items, so `Select.Value` can name the chosen one. */
|
|
186
|
+
labelFor: (value: string) => string | undefined;
|
|
187
|
+
registerLabel: (value: string, label: string) => void;
|
|
188
|
+
};
|
|
189
|
+
/** The trigger's rectangle in window coordinates. */
|
|
190
|
+
type SelectAnchor = Anchor;
|
|
191
|
+
/** What one item publishes to its own slots. */
|
|
192
|
+
type SelectItemContextValue = {
|
|
193
|
+
isSelected: boolean;
|
|
194
|
+
isPressed: boolean;
|
|
195
|
+
isDisabled: boolean;
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* The chevron, turning with the list.
|
|
200
|
+
*
|
|
201
|
+
* It rotates on a spring rather than a timing curve. A 180-degree turn on a curve reads
|
|
202
|
+
* as an animation playing next to the list; on a spring heavy enough not to overshoot it
|
|
203
|
+
* reads as the list pushing the glyph round — which is the same trade HeroUI makes, with
|
|
204
|
+
* the same numbers.
|
|
205
|
+
*
|
|
206
|
+
* The rotation is a worklet on the UI thread, so it keeps turning while JavaScript is
|
|
207
|
+
* busy mounting the rows.
|
|
208
|
+
*/
|
|
209
|
+
declare function SelectIndicator({ as, ...props }: SelectIndicatorProps): react.JSX.Element;
|
|
210
|
+
declare namespace SelectIndicator {
|
|
211
|
+
var displayName: string;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* The mark on the chosen row.
|
|
216
|
+
*
|
|
217
|
+
* Its box is rendered whether or not the row is selected, and only the glyph inside it
|
|
218
|
+
* comes and goes. A box that appeared with the check would shift the label of every row
|
|
219
|
+
* the moment a selection changed.
|
|
220
|
+
*/
|
|
221
|
+
declare function SelectItemIndicator({ as, color, ...props }: SelectItemIndicatorProps): react.JSX.Element;
|
|
222
|
+
declare namespace SelectItemIndicator {
|
|
223
|
+
var displayName: string;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* A field that opens a list.
|
|
228
|
+
*
|
|
229
|
+
* ```tsx
|
|
230
|
+
* <Select defaultValue="fr" onValueChange={setLocale}>
|
|
231
|
+
* <Select.Trigger>
|
|
232
|
+
* <Select.Value placeholder="Choisir une langue" />
|
|
233
|
+
* <Select.Indicator />
|
|
234
|
+
* </Select.Trigger>
|
|
235
|
+
* <Select.Overlay />
|
|
236
|
+
* <Select.Content>
|
|
237
|
+
* <Select.Item value="fr" label="Français">
|
|
238
|
+
* <Select.ItemLabel>Français</Select.ItemLabel>
|
|
239
|
+
* <Select.ItemIndicator />
|
|
240
|
+
* </Select.Item>
|
|
241
|
+
* </Select.Content>
|
|
242
|
+
* </Select>
|
|
243
|
+
* ```
|
|
244
|
+
*
|
|
245
|
+
* **The root renders no node.** It resolves the styles every slot reads and holds the two
|
|
246
|
+
* pieces of state — what is open and what is chosen. `Select.Overlay` and
|
|
247
|
+
* `Select.Content` render into the nearest `PortalHost` rather than where they are
|
|
248
|
+
* written, so their position in the JSX says when they exist, not where they appear.
|
|
249
|
+
*/
|
|
250
|
+
declare function Select$1({ children, variant, size, radius, color, value: controlledValue, defaultValue, onValueChange, isOpen: controlledOpen, defaultOpen, onOpenChange, isDisabled, isInvalid, }: SelectProps): react.JSX.Element;
|
|
251
|
+
declare namespace Select$1 {
|
|
252
|
+
var displayName: string;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* The list. It renders into the nearest `PortalHost`, so it escapes the clipping and the
|
|
257
|
+
* stacking of whatever container held the trigger.
|
|
258
|
+
*
|
|
259
|
+
* The positioning — the measuring pass, the host's origin, the collision flip — is
|
|
260
|
+
* `useAnchoredPosition`, shared with the `Popover`. What is this component's own is the
|
|
261
|
+
* scroller, and reading the rows' labels before any of them mounts.
|
|
262
|
+
*/
|
|
263
|
+
declare const SelectContent: react.ForwardRefExoticComponent<{
|
|
264
|
+
children?: react.ReactNode;
|
|
265
|
+
placement?: SelectPlacement;
|
|
266
|
+
align?: SelectAlign;
|
|
267
|
+
width?: SelectWidth;
|
|
268
|
+
offset?: number;
|
|
269
|
+
alignOffset?: number;
|
|
270
|
+
avoidCollisions?: boolean;
|
|
271
|
+
insets?: SelectInsets;
|
|
272
|
+
} & Omit<react_native.ViewProps, keyof {
|
|
273
|
+
children?: react.ReactNode;
|
|
274
|
+
placement?: SelectPlacement;
|
|
275
|
+
align?: SelectAlign;
|
|
276
|
+
width?: SelectWidth;
|
|
277
|
+
offset?: number;
|
|
278
|
+
alignOffset?: number;
|
|
279
|
+
avoidCollisions?: boolean;
|
|
280
|
+
insets?: SelectInsets;
|
|
281
|
+
}> & Omit<ViewStyleProps, "width" | "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" | "offset" | "alignOffset" | "insets" | "placement" | "avoidCollisions" | "align"> & react.RefAttributes<View>>;
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* One row of the list.
|
|
285
|
+
*
|
|
286
|
+
* It registers its label with the root as it mounts, which is what lets `Select.Value`
|
|
287
|
+
* name the chosen one without the caller writing the label twice. `label` is that string
|
|
288
|
+
* when the row's children are not one — an avatar and two lines of text have no single
|
|
289
|
+
* label to infer.
|
|
290
|
+
*
|
|
291
|
+
* `children` may be a function, and that is the escape hatch for a row that paints its
|
|
292
|
+
* own selected state instead of showing the check.
|
|
293
|
+
*/
|
|
294
|
+
declare const SelectItem: react.ForwardRefExoticComponent<{
|
|
295
|
+
value: string;
|
|
296
|
+
label?: string;
|
|
297
|
+
isDisabled?: boolean;
|
|
298
|
+
children?: react.ReactNode | ((state: SelectItemRenderState) => react.ReactNode);
|
|
299
|
+
asChild?: boolean;
|
|
300
|
+
} & Omit<react_native.PressableProps, keyof {
|
|
301
|
+
value: string;
|
|
302
|
+
label?: string;
|
|
303
|
+
isDisabled?: boolean;
|
|
304
|
+
children?: react.ReactNode | ((state: SelectItemRenderState) => react.ReactNode);
|
|
305
|
+
asChild?: boolean;
|
|
306
|
+
}> & Omit<ViewStyleProps, "value" | "pointerEvents" | "style" | "children" | "label" | "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" | "disabled" | "onPress" | "onPressIn" | "onPressOut" | "onLongPress" | "delayLongPress" | "isDisabled" | "asChild" | "onHoverIn" | "onHoverOut" | "cancelable" | "delayHoverIn" | "delayHoverOut" | "pressRetentionOffset" | "android_disableSound" | "android_ripple" | "testOnly_pressed" | "unstable_pressDelay"> & react.RefAttributes<View>>;
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* The second line of a row. Unlike the label it wraps, because the thing it exists to
|
|
310
|
+
* carry is the sentence a label was too short for.
|
|
311
|
+
*/
|
|
312
|
+
declare const SelectItemDescription: react.ForwardRefExoticComponent<{
|
|
313
|
+
children?: react.ReactNode;
|
|
314
|
+
} & Omit<react_native.TextProps, "children"> & Omit<TextStyleProps, keyof react_native.TextProps> & react.RefAttributes<Text>>;
|
|
315
|
+
|
|
316
|
+
/** The row's text. Truncates rather than wrapping, so every row is one row tall. */
|
|
317
|
+
declare const SelectItemLabel: react.ForwardRefExoticComponent<{
|
|
318
|
+
children?: react.ReactNode;
|
|
319
|
+
} & Omit<react_native.TextProps, "children"> & Omit<TextStyleProps, keyof react_native.TextProps> & react.RefAttributes<Text>>;
|
|
320
|
+
|
|
321
|
+
/**
|
|
322
|
+
* A heading over a run of rows. It is not a row: it takes no press, and a screen reader
|
|
323
|
+
* announces it as a header so the group it opens is announced with it.
|
|
324
|
+
*/
|
|
325
|
+
declare const SelectLabel: react.ForwardRefExoticComponent<{
|
|
326
|
+
children?: react.ReactNode;
|
|
327
|
+
} & Omit<react_native.TextProps, "children"> & Omit<TextStyleProps, keyof react_native.TextProps> & react.RefAttributes<Text>>;
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* The backdrop, and what closes the list when the choice is made elsewhere.
|
|
331
|
+
*
|
|
332
|
+
* **Optional, and that is the point.** Written, it captures the press outside and dims
|
|
333
|
+
* nothing unless a `backgroundColor` says so; omitted, the list has no backdrop and only
|
|
334
|
+
* a choice closes it. A select inside a sheet that already dims its own background is the
|
|
335
|
+
* case that needs the second behaviour.
|
|
336
|
+
*
|
|
337
|
+
* It renders into the portal rather than where it is written, so it covers navigation
|
|
338
|
+
* instead of being clipped by the screen the trigger happens to sit in.
|
|
339
|
+
*/
|
|
340
|
+
declare const SelectOverlay: react.ForwardRefExoticComponent<{
|
|
341
|
+
children?: react.ReactNode;
|
|
342
|
+
isDismissable?: boolean;
|
|
343
|
+
} & Omit<react_native.ViewProps, keyof {
|
|
344
|
+
children?: react.ReactNode;
|
|
345
|
+
isDismissable?: boolean;
|
|
346
|
+
}> & 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" | "isDismissable"> & react.RefAttributes<View>>;
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* The control. It is the field the user sees, and the only node of this component that a
|
|
350
|
+
* caller can hold a ref to — the root has none.
|
|
351
|
+
*
|
|
352
|
+
* It measures itself in window coordinates on every layout, because that rectangle is
|
|
353
|
+
* what the list positions against. `measureInWindow` rather than the layout event's own
|
|
354
|
+
* `x`/`y`: those are relative to the parent, and an overlay lives in a portal that shares
|
|
355
|
+
* no parent with the trigger.
|
|
356
|
+
*
|
|
357
|
+
* The measurement goes through a ref of its own rather than the event's `currentTarget`.
|
|
358
|
+
* That field is a node handle on the old architecture and a host instance on the new one,
|
|
359
|
+
* and only one of the two answers `measureInWindow` — which is a crash on Android and
|
|
360
|
+
* nowhere else, the worst shape a bug can take.
|
|
361
|
+
*
|
|
362
|
+
* **It measures again every time the list opens**, and that is the load-bearing one.
|
|
363
|
+
* `onLayout` fires when the trigger is laid out and never again — not on scroll — so a
|
|
364
|
+
* trigger inside a `ScrollView` reports the position it had before the user moved, and
|
|
365
|
+
* the list opens against a rectangle that has since walked off. Far enough down a screen
|
|
366
|
+
* it opens past the bottom of the window and looks like nothing happened at all.
|
|
367
|
+
*/
|
|
368
|
+
declare const SelectTrigger: react.ForwardRefExoticComponent<{
|
|
369
|
+
children?: react.ReactNode;
|
|
370
|
+
asChild?: boolean;
|
|
371
|
+
} & Omit<react_native.PressableProps, keyof {
|
|
372
|
+
children?: react.ReactNode;
|
|
373
|
+
asChild?: boolean;
|
|
374
|
+
}> & 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" | "disabled" | "onPress" | "onPressIn" | "onPressOut" | "onLongPress" | "delayLongPress" | "asChild" | "onHoverIn" | "onHoverOut" | "cancelable" | "delayHoverIn" | "delayHoverOut" | "pressRetentionOffset" | "android_disableSound" | "android_ripple" | "testOnly_pressed" | "unstable_pressDelay"> & react.RefAttributes<View>>;
|
|
375
|
+
|
|
376
|
+
/**
|
|
377
|
+
* What is chosen, or the placeholder until something is.
|
|
378
|
+
*
|
|
379
|
+
* The label comes from the item that registered it, so the caller writes it once — in the
|
|
380
|
+
* list — rather than twice. `children` overrides that, which is the answer for a list
|
|
381
|
+
* rendered lazily: the root has never mounted the item, so it has never seen its label.
|
|
382
|
+
*
|
|
383
|
+
* Single-line by default. A value long enough to wrap would grow a control whose height
|
|
384
|
+
* is fixed, so it truncates instead.
|
|
385
|
+
*/
|
|
386
|
+
declare const SelectValue: react.ForwardRefExoticComponent<{
|
|
387
|
+
placeholder?: string;
|
|
388
|
+
children?: react.ReactNode;
|
|
389
|
+
} & Omit<react_native.TextProps, keyof {
|
|
390
|
+
placeholder?: string;
|
|
391
|
+
children?: react.ReactNode;
|
|
392
|
+
}> & Omit<TextStyleProps, "pointerEvents" | "style" | "children" | "id" | "onLayout" | "testID" | "nativeID" | "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" | "disabled" | "onPress" | "onPressIn" | "onPressOut" | "onLongPress" | "pressRetentionOffset" | "allowFontScaling" | "ellipsizeMode" | "lineBreakMode" | "numberOfLines" | "onTextLayout" | "maxFontSizeMultiplier" | "minimumFontScale" | "adjustsFontSizeToFit" | "dynamicTypeRamp" | "suppressHighlighting" | "lineBreakStrategyIOS" | "selectable" | "selectionColor" | "textBreakStrategy" | "dataDetectorType" | "android_hyphenationFrequency" | "placeholder"> & react.RefAttributes<Text>>;
|
|
393
|
+
|
|
394
|
+
/** The default mark on the chosen row, for the same reason the chevron ships. */
|
|
395
|
+
declare function CheckIcon({ size, color, }: IconComponentProps): react.JSX.Element;
|
|
396
|
+
declare namespace CheckIcon {
|
|
397
|
+
var displayName: string;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
declare const useSelect: () => SelectContextValue;
|
|
401
|
+
declare const useSelectItem: () => SelectItemContextValue;
|
|
402
|
+
|
|
403
|
+
declare const selectRecipe: Recipe<"value" | "label" | "overlay" | "item" | "trigger" | "indicator" | "content" | "placeholder" | "itemDescription" | "itemIndicator" | "itemLabel", SelectVariant, {
|
|
404
|
+
readonly size: {
|
|
405
|
+
readonly sm: (theme: XAUITheme) => SlotStyles<SelectSlot>;
|
|
406
|
+
readonly md: (theme: XAUITheme) => SlotStyles<SelectSlot>;
|
|
407
|
+
readonly lg: (theme: XAUITheme) => SlotStyles<SelectSlot>;
|
|
408
|
+
};
|
|
409
|
+
readonly radius: Record<RadiusKey, StyleFn<"trigger">>;
|
|
410
|
+
/**
|
|
411
|
+
* Open is not `focused`: the field's focus border is what a keyboard gives a text
|
|
412
|
+
* input, and a select that is open has no caret in it. It borrows the same token
|
|
413
|
+
* because the two mean the same thing to the eye — this control is the live one.
|
|
414
|
+
*/
|
|
415
|
+
readonly isOpen: {
|
|
416
|
+
readonly true: (theme: XAUITheme) => {
|
|
417
|
+
trigger: {
|
|
418
|
+
borderColor: string;
|
|
419
|
+
};
|
|
420
|
+
};
|
|
421
|
+
};
|
|
422
|
+
readonly isInvalid: {
|
|
423
|
+
readonly true: (theme: XAUITheme) => {
|
|
424
|
+
trigger: {
|
|
425
|
+
borderColor: string;
|
|
426
|
+
};
|
|
427
|
+
};
|
|
428
|
+
};
|
|
429
|
+
}>;
|
|
430
|
+
|
|
431
|
+
declare const Select: typeof Select$1 & {
|
|
432
|
+
Trigger: react.ForwardRefExoticComponent<{
|
|
433
|
+
children?: react.ReactNode;
|
|
434
|
+
asChild?: boolean;
|
|
435
|
+
} & Omit<react_native.PressableProps, keyof {
|
|
436
|
+
children?: react.ReactNode;
|
|
437
|
+
asChild?: boolean;
|
|
438
|
+
}> & 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" | "disabled" | "onPress" | "onPressIn" | "onPressOut" | "onLongPress" | "delayLongPress" | "asChild" | "onHoverIn" | "onHoverOut" | "cancelable" | "delayHoverIn" | "delayHoverOut" | "pressRetentionOffset" | "android_disableSound" | "android_ripple" | "testOnly_pressed" | "unstable_pressDelay"> & react.RefAttributes<react_native.View>>;
|
|
439
|
+
Value: react.ForwardRefExoticComponent<{
|
|
440
|
+
placeholder?: string;
|
|
441
|
+
children?: react.ReactNode;
|
|
442
|
+
} & Omit<react_native.TextProps, keyof {
|
|
443
|
+
placeholder?: string;
|
|
444
|
+
children?: react.ReactNode;
|
|
445
|
+
}> & Omit<TextStyleProps, "pointerEvents" | "style" | "children" | "id" | "onLayout" | "testID" | "nativeID" | "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" | "disabled" | "onPress" | "onPressIn" | "onPressOut" | "onLongPress" | "pressRetentionOffset" | "allowFontScaling" | "ellipsizeMode" | "lineBreakMode" | "numberOfLines" | "onTextLayout" | "maxFontSizeMultiplier" | "minimumFontScale" | "adjustsFontSizeToFit" | "dynamicTypeRamp" | "suppressHighlighting" | "lineBreakStrategyIOS" | "selectable" | "selectionColor" | "textBreakStrategy" | "dataDetectorType" | "android_hyphenationFrequency" | "placeholder"> & react.RefAttributes<react_native.Text>>;
|
|
446
|
+
Indicator: typeof SelectIndicator;
|
|
447
|
+
Overlay: react.ForwardRefExoticComponent<{
|
|
448
|
+
children?: react.ReactNode;
|
|
449
|
+
isDismissable?: boolean;
|
|
450
|
+
} & Omit<react_native.ViewProps, keyof {
|
|
451
|
+
children?: react.ReactNode;
|
|
452
|
+
isDismissable?: boolean;
|
|
453
|
+
}> & 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" | "isDismissable"> & react.RefAttributes<react_native.View>>;
|
|
454
|
+
Content: react.ForwardRefExoticComponent<{
|
|
455
|
+
children?: react.ReactNode;
|
|
456
|
+
placement?: SelectPlacement;
|
|
457
|
+
align?: SelectAlign;
|
|
458
|
+
width?: SelectWidth;
|
|
459
|
+
offset?: number;
|
|
460
|
+
alignOffset?: number;
|
|
461
|
+
avoidCollisions?: boolean;
|
|
462
|
+
insets?: SelectInsets;
|
|
463
|
+
} & Omit<react_native.ViewProps, keyof {
|
|
464
|
+
children?: react.ReactNode;
|
|
465
|
+
placement?: SelectPlacement;
|
|
466
|
+
align?: SelectAlign;
|
|
467
|
+
width?: SelectWidth;
|
|
468
|
+
offset?: number;
|
|
469
|
+
alignOffset?: number;
|
|
470
|
+
avoidCollisions?: boolean;
|
|
471
|
+
insets?: SelectInsets;
|
|
472
|
+
}> & Omit<ViewStyleProps, "width" | "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" | "offset" | "alignOffset" | "insets" | "placement" | "avoidCollisions" | "align"> & react.RefAttributes<react_native.View>>;
|
|
473
|
+
Label: react.ForwardRefExoticComponent<{
|
|
474
|
+
children?: react.ReactNode;
|
|
475
|
+
} & Omit<react_native.TextProps, "children"> & Omit<TextStyleProps, keyof react_native.TextProps> & react.RefAttributes<react_native.Text>>;
|
|
476
|
+
Item: react.ForwardRefExoticComponent<{
|
|
477
|
+
value: string;
|
|
478
|
+
label?: string;
|
|
479
|
+
isDisabled?: boolean;
|
|
480
|
+
children?: react.ReactNode | ((state: SelectItemRenderState) => react.ReactNode);
|
|
481
|
+
asChild?: boolean;
|
|
482
|
+
} & Omit<react_native.PressableProps, keyof {
|
|
483
|
+
value: string;
|
|
484
|
+
label?: string;
|
|
485
|
+
isDisabled?: boolean;
|
|
486
|
+
children?: react.ReactNode | ((state: SelectItemRenderState) => react.ReactNode);
|
|
487
|
+
asChild?: boolean;
|
|
488
|
+
}> & Omit<ViewStyleProps, "value" | "pointerEvents" | "style" | "children" | "label" | "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" | "disabled" | "onPress" | "onPressIn" | "onPressOut" | "onLongPress" | "delayLongPress" | "isDisabled" | "asChild" | "onHoverIn" | "onHoverOut" | "cancelable" | "delayHoverIn" | "delayHoverOut" | "pressRetentionOffset" | "android_disableSound" | "android_ripple" | "testOnly_pressed" | "unstable_pressDelay"> & react.RefAttributes<react_native.View>>;
|
|
489
|
+
ItemLabel: react.ForwardRefExoticComponent<{
|
|
490
|
+
children?: react.ReactNode;
|
|
491
|
+
} & Omit<react_native.TextProps, "children"> & Omit<TextStyleProps, keyof react_native.TextProps> & react.RefAttributes<react_native.Text>>;
|
|
492
|
+
ItemDescription: react.ForwardRefExoticComponent<{
|
|
493
|
+
children?: react.ReactNode;
|
|
494
|
+
} & Omit<react_native.TextProps, "children"> & Omit<TextStyleProps, keyof react_native.TextProps> & react.RefAttributes<react_native.Text>>;
|
|
495
|
+
ItemIndicator: typeof SelectItemIndicator;
|
|
496
|
+
};
|
|
497
|
+
|
|
498
|
+
export { CheckIcon, Select, type SelectAlign, type SelectAnchor, SelectContent, type SelectContentProps, type SelectContextValue, SelectIndicator, type SelectIndicatorProps, type SelectInsets, SelectItem, type SelectItemContextValue, SelectItemDescription, type SelectItemDescriptionProps, SelectItemIndicator, type SelectItemIndicatorProps, SelectItemLabel, type SelectItemLabelProps, type SelectItemProps, type SelectItemRenderState, SelectLabel, type SelectLabelProps, SelectOverlay, type SelectOverlayProps, type SelectPlacement, type SelectProps, Select$1 as SelectRoot, type SelectSize, type SelectSlot, SelectTrigger, type SelectTriggerProps, SelectValue, type SelectValueProps, type SelectVariant, type SelectWidth, selectRecipe, useSelect, useSelectItem };
|