@tamagui/select 1.110.4 → 1.111.0
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/cjs/Select.native.js +43 -157
- package/dist/cjs/Select.native.js.map +2 -2
- package/dist/cjs/SelectContent.native.js +1 -1
- package/dist/cjs/SelectContent.native.js.map +1 -1
- package/dist/cjs/SelectItem.native.js +32 -113
- package/dist/cjs/SelectItem.native.js.map +2 -2
- package/dist/cjs/SelectItemText.native.js +6 -61
- package/dist/cjs/SelectItemText.native.js.map +1 -1
- package/dist/cjs/SelectTrigger.native.js +22 -79
- package/dist/cjs/SelectTrigger.native.js.map +1 -1
- package/dist/cjs/SelectViewport.native.js +2 -2
- package/dist/cjs/SelectViewport.native.js.map +1 -1
- package/dist/cjs/context.native.js +10 -86
- package/dist/cjs/context.native.js.map +2 -2
- package/dist/esm/BubbleSelect.native.mjs +4 -0
- package/dist/esm/BubbleSelect.native.mjs.map +1 -0
- package/dist/esm/Select.native.js +43 -156
- package/dist/esm/Select.native.js.map +2 -2
- package/dist/esm/Select.native.mjs +397 -0
- package/dist/esm/Select.native.mjs.map +1 -0
- package/dist/esm/SelectContent.native.js +1 -1
- package/dist/esm/SelectContent.native.js.map +1 -1
- package/dist/esm/SelectContent.native.mjs +8 -0
- package/dist/esm/SelectContent.native.mjs.map +1 -0
- package/dist/esm/SelectImpl.native.mjs +8 -0
- package/dist/esm/SelectImpl.native.mjs.map +1 -0
- package/dist/esm/SelectItem.native.js +33 -113
- package/dist/esm/SelectItem.native.js.map +2 -2
- package/dist/esm/SelectItem.native.mjs +132 -0
- package/dist/esm/SelectItem.native.mjs.map +1 -0
- package/dist/esm/SelectItemText.native.js +5 -59
- package/dist/esm/SelectItemText.native.js.map +1 -1
- package/dist/esm/SelectItemText.native.mjs +55 -0
- package/dist/esm/SelectItemText.native.mjs.map +1 -0
- package/dist/esm/SelectScrollButton.native.mjs +8 -0
- package/dist/esm/SelectScrollButton.native.mjs.map +1 -0
- package/dist/esm/SelectTrigger.native.js +21 -77
- package/dist/esm/SelectTrigger.native.js.map +1 -1
- package/dist/esm/SelectTrigger.native.mjs +54 -0
- package/dist/esm/SelectTrigger.native.mjs.map +1 -0
- package/dist/esm/SelectViewport.native.js +2 -2
- package/dist/esm/SelectViewport.native.js.map +1 -1
- package/dist/esm/SelectViewport.native.mjs +35 -0
- package/dist/esm/SelectViewport.native.mjs.map +1 -0
- package/dist/esm/constants.native.mjs +9 -0
- package/dist/esm/constants.native.mjs.map +1 -0
- package/dist/esm/context.native.js +10 -85
- package/dist/esm/context.native.js.map +1 -1
- package/dist/esm/context.native.mjs +27 -0
- package/dist/esm/context.native.mjs.map +1 -0
- package/dist/esm/index.native.mjs +3 -0
- package/dist/esm/index.native.mjs.map +1 -0
- package/dist/esm/types.native.mjs +2 -0
- package/dist/esm/types.native.mjs.map +1 -0
- package/dist/esm/useSelectBreakpointActive.native.mjs +11 -0
- package/dist/esm/useSelectBreakpointActive.native.mjs.map +1 -0
- package/dist/jsx/Select.native.js +42 -155
- package/dist/jsx/Select.native.js.map +2 -2
- package/dist/jsx/SelectContent.native.js +1 -1
- package/dist/jsx/SelectContent.native.js.map +1 -1
- package/dist/jsx/SelectItem.native.js +32 -112
- package/dist/jsx/SelectItem.native.js.map +2 -2
- package/dist/jsx/SelectItemText.native.js +5 -59
- package/dist/jsx/SelectItemText.native.js.map +1 -1
- package/dist/jsx/SelectTrigger.native.js +21 -77
- package/dist/jsx/SelectTrigger.native.js.map +1 -1
- package/dist/jsx/SelectViewport.native.js +2 -2
- package/dist/jsx/SelectViewport.native.js.map +1 -1
- package/dist/jsx/context.native.js +10 -85
- package/dist/jsx/context.native.js.map +1 -1
- package/package.json +23 -23
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Adapt, useAdaptParent } from "@tamagui/adapt";
|
|
3
|
+
import { useComposedRefs } from "@tamagui/compose-refs";
|
|
4
|
+
import { isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
5
|
+
import { getVariableValue, styled, useEvent, useGet } from "@tamagui/core";
|
|
6
|
+
import { getSpace } from "@tamagui/get-token";
|
|
7
|
+
import { withStaticProperties } from "@tamagui/helpers";
|
|
8
|
+
import { ListItem } from "@tamagui/list-item";
|
|
9
|
+
import { PortalHost } from "@tamagui/portal";
|
|
10
|
+
import { Separator } from "@tamagui/separator";
|
|
11
|
+
import { registerFocusable } from "@tamagui/focusable";
|
|
12
|
+
import { Sheet, SheetController } from "@tamagui/sheet";
|
|
13
|
+
import { ThemeableStack, XStack, YStack } from "@tamagui/stacks";
|
|
14
|
+
import { Paragraph, SizableText } from "@tamagui/text";
|
|
15
|
+
import { useControllableState } from "@tamagui/use-controllable-state";
|
|
16
|
+
import * as React from "react";
|
|
17
|
+
import { useDebounce } from "@tamagui/use-debounce";
|
|
18
|
+
import { SELECT_NAME } from "./constants.mjs";
|
|
19
|
+
import { SelectItemParentProvider, SelectProvider, createSelectContext, useSelectContext, useSelectItemParentContext } from "./context.mjs";
|
|
20
|
+
import { SelectContent } from "./SelectContent.mjs";
|
|
21
|
+
import { SelectInlineImpl } from "./SelectImpl.mjs";
|
|
22
|
+
import { SelectItem, useSelectItemContext } from "./SelectItem.mjs";
|
|
23
|
+
import { ITEM_TEXT_NAME, SelectItemText } from "./SelectItemText.mjs";
|
|
24
|
+
import { SelectScrollDownButton, SelectScrollUpButton } from "./SelectScrollButton.mjs";
|
|
25
|
+
import { SelectTrigger } from "./SelectTrigger.mjs";
|
|
26
|
+
import { SelectViewport } from "./SelectViewport.mjs";
|
|
27
|
+
import { useSelectBreakpointActive, useShowSelectSheet } from "./useSelectBreakpointActive.mjs";
|
|
28
|
+
var VALUE_NAME = "SelectValue",
|
|
29
|
+
SelectValueFrame = styled(SizableText, {
|
|
30
|
+
name: VALUE_NAME,
|
|
31
|
+
userSelect: "none"
|
|
32
|
+
}),
|
|
33
|
+
SelectValue = SelectValueFrame.styleable(function (param, forwardedRef) {
|
|
34
|
+
var {
|
|
35
|
+
__scopeSelect,
|
|
36
|
+
children: childrenProp,
|
|
37
|
+
placeholder,
|
|
38
|
+
...props
|
|
39
|
+
} = param,
|
|
40
|
+
context = useSelectContext(VALUE_NAME, __scopeSelect),
|
|
41
|
+
itemParentContext = useSelectItemParentContext(VALUE_NAME, __scopeSelect),
|
|
42
|
+
composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange),
|
|
43
|
+
children = childrenProp ?? context.selectedItem,
|
|
44
|
+
isEmptyValue = context.value == null || context.value === "",
|
|
45
|
+
selectValueChildren = isEmptyValue ? placeholder ?? children : children;
|
|
46
|
+
return /* @__PURE__ */_jsx(SelectValueFrame, {
|
|
47
|
+
...(!props.unstyled && {
|
|
48
|
+
size: itemParentContext.size,
|
|
49
|
+
ellipse: !0,
|
|
50
|
+
// we don't want events from the portalled `SelectValue` children to bubble
|
|
51
|
+
// through the item they came from
|
|
52
|
+
pointerEvents: "none"
|
|
53
|
+
}),
|
|
54
|
+
ref: composedRefs,
|
|
55
|
+
...props,
|
|
56
|
+
children: unwrapSelectItem(selectValueChildren)
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
function unwrapSelectItem(selectValueChildren) {
|
|
60
|
+
return React.Children.map(selectValueChildren, function (child) {
|
|
61
|
+
if (child) {
|
|
62
|
+
var _child_type_staticConfig, _child_type, _child_props;
|
|
63
|
+
if (((_child_type = child.type) === null || _child_type === void 0 || (_child_type_staticConfig = _child_type.staticConfig) === null || _child_type_staticConfig === void 0 ? void 0 : _child_type_staticConfig.componentName) === ITEM_TEXT_NAME) return child.props.children;
|
|
64
|
+
if (!((_child_props = child.props) === null || _child_props === void 0) && _child_props.children) return unwrapSelectItem(child.props.children);
|
|
65
|
+
}
|
|
66
|
+
return child;
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
var SelectIcon = styled(XStack, {
|
|
70
|
+
name: "SelectIcon",
|
|
71
|
+
// @ts-ignore
|
|
72
|
+
"aria-hidden": !0,
|
|
73
|
+
children: /* @__PURE__ */_jsx(Paragraph, {
|
|
74
|
+
children: "\u25BC"
|
|
75
|
+
})
|
|
76
|
+
}),
|
|
77
|
+
ITEM_INDICATOR_NAME = "SelectItemIndicator",
|
|
78
|
+
SelectItemIndicatorFrame = styled(XStack, {
|
|
79
|
+
name: ITEM_TEXT_NAME
|
|
80
|
+
}),
|
|
81
|
+
SelectItemIndicator = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
|
|
82
|
+
var {
|
|
83
|
+
__scopeSelect,
|
|
84
|
+
...itemIndicatorProps
|
|
85
|
+
} = props,
|
|
86
|
+
context = useSelectItemParentContext(ITEM_INDICATOR_NAME, __scopeSelect),
|
|
87
|
+
itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);
|
|
88
|
+
return context.shouldRenderWebNative ? null : itemContext.isSelected ? /* @__PURE__ */_jsx(SelectItemIndicatorFrame, {
|
|
89
|
+
"aria-hidden": !0,
|
|
90
|
+
...itemIndicatorProps,
|
|
91
|
+
ref: forwardedRef
|
|
92
|
+
}) : null;
|
|
93
|
+
});
|
|
94
|
+
SelectItemIndicator.displayName = ITEM_INDICATOR_NAME;
|
|
95
|
+
var GROUP_NAME = "SelectGroup",
|
|
96
|
+
[SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME),
|
|
97
|
+
SelectGroupFrame = styled(YStack, {
|
|
98
|
+
name: GROUP_NAME,
|
|
99
|
+
width: "100%"
|
|
100
|
+
}),
|
|
101
|
+
NativeSelectTextFrame = styled(SizableText, {
|
|
102
|
+
tag: "select",
|
|
103
|
+
backgroundColor: "$background",
|
|
104
|
+
borderColor: "$borderColor",
|
|
105
|
+
hoverStyle: {
|
|
106
|
+
backgroundColor: "$backgroundHover"
|
|
107
|
+
}
|
|
108
|
+
}),
|
|
109
|
+
NativeSelectFrame = styled(ThemeableStack, {
|
|
110
|
+
name: "NativeSelect",
|
|
111
|
+
bordered: !0,
|
|
112
|
+
userSelect: "none",
|
|
113
|
+
outlineWidth: 0,
|
|
114
|
+
paddingRight: 10,
|
|
115
|
+
variants: {
|
|
116
|
+
size: {
|
|
117
|
+
"...size": function (val, extras) {
|
|
118
|
+
var {
|
|
119
|
+
tokens
|
|
120
|
+
} = extras,
|
|
121
|
+
paddingHorizontal = getVariableValue(tokens.space[val]),
|
|
122
|
+
_tokens_radius_val;
|
|
123
|
+
return {
|
|
124
|
+
borderRadius: (_tokens_radius_val = tokens.radius[val]) !== null && _tokens_radius_val !== void 0 ? _tokens_radius_val : val,
|
|
125
|
+
minHeight: tokens.size[val],
|
|
126
|
+
paddingRight: paddingHorizontal + 20,
|
|
127
|
+
paddingLeft: paddingHorizontal,
|
|
128
|
+
paddingVertical: getSpace(val, {
|
|
129
|
+
shift: -3
|
|
130
|
+
})
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
defaultVariants: {
|
|
136
|
+
size: "$2"
|
|
137
|
+
}
|
|
138
|
+
}),
|
|
139
|
+
SelectGroup = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
|
|
140
|
+
var {
|
|
141
|
+
__scopeSelect,
|
|
142
|
+
...groupProps
|
|
143
|
+
} = props,
|
|
144
|
+
groupId = React.useId(),
|
|
145
|
+
context = useSelectContext(GROUP_NAME, __scopeSelect),
|
|
146
|
+
itemParentContext = useSelectItemParentContext(GROUP_NAME, __scopeSelect),
|
|
147
|
+
_itemParentContext_size,
|
|
148
|
+
size = (_itemParentContext_size = itemParentContext.size) !== null && _itemParentContext_size !== void 0 ? _itemParentContext_size : "$true",
|
|
149
|
+
nativeSelectRef = React.useRef(null),
|
|
150
|
+
content = function () {
|
|
151
|
+
return itemParentContext.shouldRenderWebNative ? /* @__PURE__ */_jsx(NativeSelectFrame, {
|
|
152
|
+
asChild: !0,
|
|
153
|
+
size,
|
|
154
|
+
// @ts-expect-error until we support typing based on tag
|
|
155
|
+
value: context.value,
|
|
156
|
+
id: itemParentContext.id,
|
|
157
|
+
children: /* @__PURE__ */_jsx(NativeSelectTextFrame, {
|
|
158
|
+
// @ts-ignore it's ok since tag="select"
|
|
159
|
+
onChange: function (event) {
|
|
160
|
+
itemParentContext.onChange(event.currentTarget.value);
|
|
161
|
+
},
|
|
162
|
+
size,
|
|
163
|
+
ref: nativeSelectRef,
|
|
164
|
+
style: {
|
|
165
|
+
color: "var(--color)",
|
|
166
|
+
// @ts-ignore
|
|
167
|
+
appearance: "none"
|
|
168
|
+
},
|
|
169
|
+
children: props.children
|
|
170
|
+
})
|
|
171
|
+
}) : /* @__PURE__ */_jsx(SelectGroupFrame, {
|
|
172
|
+
// @ts-ignore
|
|
173
|
+
role: "group",
|
|
174
|
+
"aria-labelledby": groupId,
|
|
175
|
+
...groupProps,
|
|
176
|
+
ref: forwardedRef
|
|
177
|
+
});
|
|
178
|
+
}();
|
|
179
|
+
return /* @__PURE__ */_jsx(SelectGroupContextProvider, {
|
|
180
|
+
scope: __scopeSelect,
|
|
181
|
+
id: groupId || "",
|
|
182
|
+
children: content
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
SelectGroup.displayName = GROUP_NAME;
|
|
186
|
+
var LABEL_NAME = "SelectLabel",
|
|
187
|
+
SelectLabel = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
|
|
188
|
+
var {
|
|
189
|
+
__scopeSelect,
|
|
190
|
+
...labelProps
|
|
191
|
+
} = props,
|
|
192
|
+
context = useSelectItemParentContext(LABEL_NAME, __scopeSelect),
|
|
193
|
+
groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);
|
|
194
|
+
return context.shouldRenderWebNative ? null : /* @__PURE__ */_jsx(ListItem, {
|
|
195
|
+
tag: "div",
|
|
196
|
+
componentName: LABEL_NAME,
|
|
197
|
+
fontWeight: "800",
|
|
198
|
+
id: groupContext.id,
|
|
199
|
+
size: context.size,
|
|
200
|
+
...labelProps,
|
|
201
|
+
ref: forwardedRef
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
SelectLabel.displayName = LABEL_NAME;
|
|
205
|
+
var SelectSeparator = styled(Separator, {
|
|
206
|
+
name: "SelectSeparator"
|
|
207
|
+
}),
|
|
208
|
+
SelectSheetController = function (props) {
|
|
209
|
+
var context = useSelectContext("SelectSheetController", props.__scopeSelect),
|
|
210
|
+
showSheet = useShowSelectSheet(context),
|
|
211
|
+
breakpointActive = useSelectBreakpointActive(context.sheetBreakpoint),
|
|
212
|
+
getShowSheet = useGet(showSheet);
|
|
213
|
+
return /* @__PURE__ */_jsx(SheetController, {
|
|
214
|
+
onOpenChange: function (val) {
|
|
215
|
+
getShowSheet() && props.onOpenChange(val);
|
|
216
|
+
},
|
|
217
|
+
open: context.open,
|
|
218
|
+
hidden: breakpointActive === !1,
|
|
219
|
+
children: props.children
|
|
220
|
+
});
|
|
221
|
+
},
|
|
222
|
+
SelectSheetImpl = function (props) {
|
|
223
|
+
return /* @__PURE__ */_jsx(_Fragment, {
|
|
224
|
+
children: props.children
|
|
225
|
+
});
|
|
226
|
+
},
|
|
227
|
+
Select = withStaticProperties(function (props) {
|
|
228
|
+
var {
|
|
229
|
+
__scopeSelect,
|
|
230
|
+
native,
|
|
231
|
+
children,
|
|
232
|
+
open: openProp,
|
|
233
|
+
defaultOpen,
|
|
234
|
+
onOpenChange,
|
|
235
|
+
value: valueProp,
|
|
236
|
+
defaultValue,
|
|
237
|
+
onValueChange,
|
|
238
|
+
disablePreventBodyScroll,
|
|
239
|
+
size: sizeProp = "$true",
|
|
240
|
+
onActiveChange,
|
|
241
|
+
dir,
|
|
242
|
+
id
|
|
243
|
+
} = props,
|
|
244
|
+
internalId = React.useId(),
|
|
245
|
+
_Object_keys_,
|
|
246
|
+
scopeKey = __scopeSelect && (_Object_keys_ = Object.keys(__scopeSelect)[0]) !== null && _Object_keys_ !== void 0 ? _Object_keys_ : internalId,
|
|
247
|
+
{
|
|
248
|
+
when,
|
|
249
|
+
AdaptProvider
|
|
250
|
+
} = useAdaptParent({
|
|
251
|
+
Contents: React.useCallback(function () {
|
|
252
|
+
return /* @__PURE__ */_jsx(PortalHost, {
|
|
253
|
+
name: `${scopeKey}SheetContents`
|
|
254
|
+
});
|
|
255
|
+
}, [scopeKey])
|
|
256
|
+
}),
|
|
257
|
+
sheetBreakpoint = when,
|
|
258
|
+
isSheet = useSelectBreakpointActive(sheetBreakpoint),
|
|
259
|
+
SelectImpl = isSheet || !isWeb ? SelectSheetImpl : SelectInlineImpl,
|
|
260
|
+
forceUpdate = React.useReducer(function () {
|
|
261
|
+
return {};
|
|
262
|
+
}, {})[1],
|
|
263
|
+
[selectedItem, setSelectedItem] = React.useState(null),
|
|
264
|
+
[open, setOpen] = useControllableState({
|
|
265
|
+
prop: openProp,
|
|
266
|
+
defaultProp: defaultOpen || !1,
|
|
267
|
+
onChange: onOpenChange
|
|
268
|
+
}),
|
|
269
|
+
[value, setValue] = useControllableState({
|
|
270
|
+
prop: valueProp,
|
|
271
|
+
defaultProp: defaultValue || "",
|
|
272
|
+
onChange: onValueChange,
|
|
273
|
+
transition: !0
|
|
274
|
+
});
|
|
275
|
+
React.useEffect(function () {
|
|
276
|
+
open && emitValue(value);
|
|
277
|
+
}, [open]), React.useEffect(function () {
|
|
278
|
+
emitValue(value);
|
|
279
|
+
}, [value]), React.useEffect(function () {
|
|
280
|
+
if (props.id) return registerFocusable(props.id, {
|
|
281
|
+
focusAndSelect: function () {
|
|
282
|
+
setOpen?.(function (value2) {
|
|
283
|
+
return !value2;
|
|
284
|
+
});
|
|
285
|
+
},
|
|
286
|
+
focus: function () {}
|
|
287
|
+
});
|
|
288
|
+
}, [props.id]);
|
|
289
|
+
var [activeIndex, setActiveIndex] = React.useState(0),
|
|
290
|
+
[emitValue, valueSubscribe] = useEmitter(),
|
|
291
|
+
[emitActiveIndex, activeIndexSubscribe] = useEmitter(),
|
|
292
|
+
selectedIndexRef = React.useRef(null),
|
|
293
|
+
activeIndexRef = React.useRef(null),
|
|
294
|
+
listContentRef = React.useRef([]),
|
|
295
|
+
[selectedIndex, setSelectedIndex] = React.useState(0),
|
|
296
|
+
[valueNode, setValueNode] = React.useState(null);
|
|
297
|
+
useIsomorphicLayoutEffect(function () {
|
|
298
|
+
selectedIndexRef.current = selectedIndex, activeIndexRef.current = activeIndex;
|
|
299
|
+
});
|
|
300
|
+
var shouldRenderWebNative = isWeb && (native === !0 || native === "web" || Array.isArray(native) && native.includes("web")),
|
|
301
|
+
setActiveIndexDebounced = useDebounce(function (index) {
|
|
302
|
+
setActiveIndex(function (prev) {
|
|
303
|
+
return prev !== index ? (typeof index == "number" && emitActiveIndex(index), index) : prev;
|
|
304
|
+
});
|
|
305
|
+
}, 1, {}, []);
|
|
306
|
+
return /* @__PURE__ */_jsx(AdaptProvider, {
|
|
307
|
+
children: /* @__PURE__ */_jsx(SelectItemParentProvider, {
|
|
308
|
+
scope: __scopeSelect,
|
|
309
|
+
initialValue: React.useMemo(function () {
|
|
310
|
+
return value;
|
|
311
|
+
}, [open]),
|
|
312
|
+
size: sizeProp,
|
|
313
|
+
activeIndexSubscribe,
|
|
314
|
+
valueSubscribe,
|
|
315
|
+
setOpen,
|
|
316
|
+
id,
|
|
317
|
+
onChange: React.useCallback(function (val) {
|
|
318
|
+
setValue(val), emitValue(val);
|
|
319
|
+
}, []),
|
|
320
|
+
onActiveChange: useEvent(function () {
|
|
321
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
|
|
322
|
+
onActiveChange?.(...args);
|
|
323
|
+
}),
|
|
324
|
+
setSelectedIndex,
|
|
325
|
+
setValueAtIndex: React.useCallback(function (index, value2) {
|
|
326
|
+
listContentRef.current[index] = value2;
|
|
327
|
+
}, []),
|
|
328
|
+
shouldRenderWebNative,
|
|
329
|
+
children: /* @__PURE__ */_jsx(SelectProvider, {
|
|
330
|
+
scope: __scopeSelect,
|
|
331
|
+
disablePreventBodyScroll,
|
|
332
|
+
dir,
|
|
333
|
+
blockSelection: !1,
|
|
334
|
+
fallback: !1,
|
|
335
|
+
selectedItem,
|
|
336
|
+
setSelectedItem,
|
|
337
|
+
forceUpdate,
|
|
338
|
+
valueNode,
|
|
339
|
+
onValueNodeChange: setValueNode,
|
|
340
|
+
scopeKey,
|
|
341
|
+
sheetBreakpoint,
|
|
342
|
+
activeIndex,
|
|
343
|
+
selectedIndex,
|
|
344
|
+
setActiveIndex: setActiveIndexDebounced,
|
|
345
|
+
value,
|
|
346
|
+
open,
|
|
347
|
+
native,
|
|
348
|
+
children: /* @__PURE__ */_jsx(SelectSheetController, {
|
|
349
|
+
onOpenChange: setOpen,
|
|
350
|
+
__scopeSelect,
|
|
351
|
+
children: shouldRenderWebNative ? children : /* @__PURE__ */_jsx(SelectImpl, {
|
|
352
|
+
activeIndexRef,
|
|
353
|
+
listContentRef,
|
|
354
|
+
selectedIndexRef,
|
|
355
|
+
...props,
|
|
356
|
+
open,
|
|
357
|
+
value,
|
|
358
|
+
children
|
|
359
|
+
})
|
|
360
|
+
})
|
|
361
|
+
})
|
|
362
|
+
})
|
|
363
|
+
});
|
|
364
|
+
}, {
|
|
365
|
+
Adapt,
|
|
366
|
+
Content: SelectContent,
|
|
367
|
+
Group: SelectGroup,
|
|
368
|
+
Icon: SelectIcon,
|
|
369
|
+
Item: SelectItem,
|
|
370
|
+
ItemIndicator: SelectItemIndicator,
|
|
371
|
+
ItemText: SelectItemText,
|
|
372
|
+
Label: SelectLabel,
|
|
373
|
+
ScrollDownButton: SelectScrollDownButton,
|
|
374
|
+
ScrollUpButton: SelectScrollUpButton,
|
|
375
|
+
Trigger: SelectTrigger,
|
|
376
|
+
Value: SelectValue,
|
|
377
|
+
Viewport: SelectViewport,
|
|
378
|
+
Sheet: Sheet.Controlled
|
|
379
|
+
});
|
|
380
|
+
function useEmitter() {
|
|
381
|
+
var listeners = React.useRef();
|
|
382
|
+
listeners.current || (listeners.current = /* @__PURE__ */new Set());
|
|
383
|
+
var emit = function (value) {
|
|
384
|
+
listeners.current.forEach(function (l) {
|
|
385
|
+
return l(value);
|
|
386
|
+
});
|
|
387
|
+
},
|
|
388
|
+
subscribe = React.useCallback(function (listener) {
|
|
389
|
+
return listeners.current.add(listener), function () {
|
|
390
|
+
listeners.current.delete(listener);
|
|
391
|
+
};
|
|
392
|
+
}, []);
|
|
393
|
+
return [emit, subscribe];
|
|
394
|
+
}
|
|
395
|
+
Select.displayName = SELECT_NAME;
|
|
396
|
+
export { Select, SelectGroupFrame, SelectIcon, SelectSeparator };
|
|
397
|
+
//# sourceMappingURL=Select.native.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","Fragment","_Fragment","Adapt","useAdaptParent","useComposedRefs","isWeb","useIsomorphicLayoutEffect","getVariableValue","styled","useEvent","useGet","getSpace","withStaticProperties","ListItem","PortalHost","Separator","registerFocusable","Sheet","SheetController","ThemeableStack","XStack","YStack","Paragraph","SizableText","useControllableState","React","useDebounce","SELECT_NAME","SelectItemParentProvider","SelectProvider","createSelectContext","useSelectContext","useSelectItemParentContext","SelectContent","SelectInlineImpl","SelectItem","useSelectItemContext","ITEM_TEXT_NAME","SelectItemText","SelectScrollDownButton","SelectScrollUpButton","SelectTrigger","SelectViewport","useSelectBreakpointActive","useShowSelectSheet","VALUE_NAME","SelectValueFrame","name","userSelect","SelectValue","styleable","param","forwardedRef","__scopeSelect","children","childrenProp","placeholder","props","context","itemParentContext","composedRefs","onValueNodeChange","selectedItem","isEmptyValue","value","selectValueChildren","unstyled","size","ellipse","pointerEvents","ref","unwrapSelectItem","Children","map","child","_child_type_staticConfig","_child_type","_child_props","type","staticConfig","componentName","SelectIcon","ITEM_INDICATOR_NAME","SelectItemIndicatorFrame","SelectItemIndicator","forwardRef","itemIndicatorProps","itemContext","shouldRenderWebNative","isSelected","displayName","GROUP_NAME","SelectGroupContextProvider","useSelectGroupContext","SelectGroupFrame","width","NativeSelectTextFrame","tag","backgroundColor","borderColor","hoverStyle","NativeSelectFrame","bordered","outlineWidth","paddingRight","variants","...size","val","extras","tokens","paddingHorizontal","space","_tokens_radius_val","borderRadius","radius","minHeight","paddingLeft","paddingVertical","shift","defaultVariants","SelectGroup","groupProps","groupId","useId","_itemParentContext_size","nativeSelectRef","useRef","content","asChild","id","onChange","event","currentTarget","style","color","appearance","role","scope","LABEL_NAME","SelectLabel","labelProps","groupContext","fontWeight","SelectSeparator","SelectSheetController","showSheet","breakpointActive","sheetBreakpoint","getShowSheet","onOpenChange","open","hidden","SelectSheetImpl","Select","native","openProp","defaultOpen","valueProp","defaultValue","onValueChange","disablePreventBodyScroll","sizeProp","onActiveChange","dir","internalId","_Object_keys_","scopeKey","Object","keys","when","AdaptProvider","Contents","useCallback","isSheet","SelectImpl","forceUpdate","useReducer","setSelectedItem","useState","setOpen","prop","defaultProp","setValue","transition","useEffect","emitValue","focusAndSelect","value2","focus","activeIndex","setActiveIndex","valueSubscribe","useEmitter","emitActiveIndex","activeIndexSubscribe","selectedIndexRef","activeIndexRef","listContentRef","selectedIndex","setSelectedIndex","valueNode","setValueNode","current","Array","isArray","includes","setActiveIndexDebounced","index","prev","initialValue","useMemo","_len","arguments","length","args","_key","setValueAtIndex","blockSelection","fallback","Content","Group","Icon","Item","ItemIndicator","ItemText","Label","ScrollDownButton","ScrollUpButton","Trigger","Value","Viewport","Controlled","listeners","Set","emit","forEach","l","subscribe","listener","add","delete"],"sources":["../../src/Select.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAOC,IAAA,EAAAC,QAAA,IAAAC,SAAsB;AACtC,SAASC,KAAA,EAAAC,cAAA,QAAuB;AAChC,SAASC,eAAO,+BAAiC;AAEjD,SAASC,KAAA,EAAAC,yBAA0B,QAAU,oBAAc;AAC3D,SAASC,gBAAgB,EAAAC,MAAA,EAAAC,QAAA,EAAAC,MAAA;AACzB,SAASC,QAAA,4BAA4B;AAErC,SAASC,oBAAgB;AACzB,SAASC,QAAA,4BAAkB;AAC3B,SAASC,UAAA,QAAiB;AAC1B,SAAkCC,SAAA;AAClC,SAASC,iBAAO,4BAAuB;AACvC,SAASC,KAAA,EAAAC,eAAgB,QAAQ,gBAAc;AAC/C,SAASC,cAAW,EAAAC,MAAA,EAAAC,MAAmB;AACvC,SAASC,SAAA,EAAAC,WAAA,QAA4B;AACrC,SAAAC,oBAAuB;AACvB,YAASC,KAAA,aAAmB;AAE5B,SAASC,WAAA,QAAmB;AAC5B,SAAAC,WAAA;AAAA,SACEC,wBAAA,EAAAC,cAAA,EAAAC,mBAAA,EAAAC,gBAAA,EAAAC,0BAAA;AAAA,SACAC,aAAA;AAAA,SACAC,gBAAA;AAAA,SACAC,UAAA,EAAAC,oBAAA;AAAA,SACAC,cAAA,EAAAC,cAAA;AAAA,SACKC,sBAAA,EAAAC,oBAAA;AACP,SAASC,aAAA,QAAqB;AAC9B,SAASC,cAAA,8BAAwB;AACjC,SAASC,yBAAY,EAAAC,kBAA4B;AACjD,IAAAC,UAAS,gBAAgB;EAAAC,gBAAsB,GAAAtC,MAAA,CAAAe,WAAA;IAC/CwB,IAAA,EAAAF,UAAS;IACTG,UAAS;EACT;EAAAC,WAAS,GAAAH,gBAAsB,CAAAI,SAAA,WAAAC,KAAA,EAAAC,YAAA;IAE/B;QAAAC,aAAA;QAAAC,QAAA,EAAAC,YAAA;QAAAC,WAAA;QAAA,GAAAC;MAAA,IAAAN,KAAA;MAAAO,OAAA,GAAA3B,gBAAA,CAAAc,UAAA,EAAAQ,aAAA;MAAAM,iBAAA,GAAA3B,0BAAA,CAAAa,UAAA,EAAAQ,aAAA;MAAAO,YAAA,GAAAxD,eAAA,CAAAgD,YAAA,EAAAM,OAAA,CAAAG,iBAAA;MAAAP,QAAA,GAAAC,YAAA,IAAAG,OAAA,CAAAI,YAAA;MAAAC,YAAA,GAAAL,OAAA,CAAAM,KAAA,YAAAN,OAAA,CAAAM,KAAA;MAAAC,mBAAA,GAAAF,YAAA,GAAAP,WAAA,IAAAF,QAAA,GAAAA,QAAA;IACE,sBAAAvD,IAAA,CAAA+C,gBAAA;MACA,KAAAW,KAAA,CAAAS,QAAA;QAAAC,IACK,EAAAR,iBAAA,CAAAQ,IAAA;QAsCDC,OAmQG;QAnSH;QAGJ;QACAC,aAAY;MASR;MACJC,GAAA,EAAAV,YACE;MACE,GAAAH,KAAA;MACAH,QAAA,EAAUiB,gBAAA,CAAAN,mBAAA;IAAA,EACV;EAAA;AACG,SAELM,gBACAA,CAAAN,mBAAA;EAEA,OAAAxC,KAAM,CAAA+C,QAAU,CAAAC,GAAA,CAAAR,mBAAiB,EAAY,UAAAS,KAAa,EACpD;IAMN,IAAAA,KACE;MAAC,IAAAC,wBAAA,EAAAC,WAAA,EAAAC,YAAA;MAAA,MAAAD,WAAA,GAAAF,KAAA,CAAAI,IAAA,cAAAF,WAAA,gBAAAD,wBAAA,GAAAC,WAAA,CAAAG,YAAA,cAAAJ,wBAAA,uBAAAA,wBAAA,CAAAK,aAAA,MAAA3C,cAAA,EACE,OAAKqC,KAAM,CAAAjB,KAAA,CAAAH,QAAY;MAAA,IACtB,GAAAuB,YAAM,GAAAH,KAAA,CAAkBjB,KAAA,cAAAoB,YAAA,gBAAAA,YAAA,CAAAvB,QAAA,SACxBiB,gBAAS,CAAAG,KAAA,CAAAjB,KAAA,CAAAH,QAAA;IAAA;IAAA,OAAAoB,KAAA;EAAA;AAGM;AACjB,IAAAO,UACK,GAAAzE,MAAA,CAAAY,MAAA;IAAA2B,IAAA,EACJ,YAAG;IAAA;IAEiC;IAAAO,QACvC,iBAAAvD,IAAA,CAAAuB,SAAA;MAEJgC,QAAA;IACF;EAEA;EAAA4B,mBAAS,GAAiB,qBAA0B;EAAAC,wBAAA,GAAA3E,MAAA,CAAAY,MAAA;IAClD2B,IAAA,EAAAV;EACE;EAAA+C,mBAAW,kBAAA3D,KAAA,CAAA4D,UAAA,WAAA5B,KAAA,EAAAL,YAAA;IACT;QAAAC,aAAU;QAAM,GAAAiC;MAAc,IAAA7B,KAAkB;MAAAC,OAAA,GAAA1B,0BAAA,CAAAkD,mBAAA,EAAA7B,aAAA;MAAAkC,WAAA,GAAAnD,oBAAA,CAAA8C,mBAAA,EAAA7B,aAAA;IAC9C,OAAAK,OAAO,CAAA8B,qBAAY,UAAAD,WAAA,CAAAE,UAAA,kBAAA1F,IAAA,CAAAoF,wBAAA;MAErB,aAAU;MACR,GAAAG,kBAAO;MAEXhB,GAAA,EAAAlB;IACA,SAAO;EAAA,EACT;AACFgC,mBAAA,CAAAM,WAAA,GAAAR,mBAAA;AAMO,IAAAS,UAAM,gBAAoB;EAAA,CAAAC,0BAAQ,EAAAC,qBAAA,IAAA/D,mBAAA,CAAA6D,UAAA;EAAAG,gBAAA,GAAAtF,MAAA,CAAAa,MAAA;IACvC0B,IAAA,EAAM4C,UAAA;IAAAI,KAAA;EAAA,EAEN;EAAAC,qBAAe,GAAAxF,MAAA,CAAAe,WAAA;IACf0E,GAAA,UAAU;IACXC,eAMK,eAAsB;IAG1BC,WAAM;IACPC,UAIK;MACHF,eAAoD;IACnD;EAIA;EAAAG,iBAAY,GAAA7F,MAAA,CAAAW,cACH;IAMX4B,IAAA;IACFuD,QAAA;IAEAtD,UAAA,QAAoB;IAMpBuD,YAAM;IAQJC,YAAM;IACNC,QAAO;MAGHtC,IAAA;QACJ,SAAK,WAAAuC,CAAAC,GAAA,EAAAC,MAAA;UACL;cAAAC;YAAiB,IAAAD,MAAA;YAAAE,iBAAA,GAAAvG,gBAAA,CAAAsG,MAAA,CAAAE,KAAA,CAAAJ,GAAA;YAAAK,kBAAA;UACjB,OAAa;YACbC,YAAY,GAAAD,kBAAA,GAAAH,MAAA,CAAAK,MAAA,CAAAP,GAAA,eAAAK,kBAAA,cAAAA,kBAAA,GAAAL,GAAA;YACVQ,SAAA,EAAiBN,MAAA,CAAA1C,IAAA,CAAAwC,GAAA;YACnBH,YAAA,EAAAM,iBAAA;YAGIM,WAAA,EAAAN,iBAA2B;YACzBO,eAAA,EAAA1G,QAAA,CAAAgG,GAAA;cAEIW,KAAA;YACV;UACA;QACA;MAEA;IAAU;IACFC,eACO,EAAC;MACVpD,IAAA;IAGA;EAAO;EAAAqD,WACL,kBAAqB/F,KAAO,CAAA4D,UAAQ,WAAA5B,KAAA,EAAAL,YAAA;IAAA;QAAAC,aACzB;QAAA,GAAAoE;MAAe,IAAAhE,KAAA;MAAAiE,OAAA,GAAAjG,KAAA,CAAAkG,KAAA;MAAAjE,OAAA,GAAA3B,gBAAA,CAAA4D,UAAA,EAAAtC,aAAA;MAAAM,iBAAA,GAAA3B,0BAAA,CAAA2D,UAAA,EAAAtC,aAAA;MAAAuE,uBAAA;MAAAzD,IAAA,IAAAyD,uBAAA,GAAAjE,iBAAA,CAAAQ,IAAA,cAAAyD,uBAAA,cAAAA,uBAAA;MAAAC,eAAA,GAAApG,KAAA,CAAAqG,MAAA;MAAAC,OAAA;QAAA,OAC1BpE,iBAAc,CAAA6B,qBAAoB,kBAAAzF,IAAA,CAAAsG,iBAAA;UAAA2B,OAClC;UAAa7D,IACb;UAA+B;UACtBH,KACR,EAAAN,OAAA,CAAAM,KAAA;UAAAiE,EACH,EAAAtE,iBAAA,CAAAsE,EAAA;UACF3E,QAAA,iBAAAvD,IAAA,CAAAiG,qBAAA;YACF;YACFkC,QAAA,WAAAA,CAAAC,KAAA;cAEAxE,iBAAiB,CAAAuE,QAAA,CAAAC,KAAA,CAAAC,aAAA,CAAApE,KAAA;YACf;YACFG,IAAA;YAKIG,GAAA,EAAAuD,eAAoB;YACvBQ,KAA4C;cACrCC,KAAE,gBAAkB;cAWnB;cAAAC,UAAA;YACC;YACAjF,QAAA,EAAAG,KAAA,CAAAH;UAAA;QAEe,KACf,eAAIvD,IAAA,CAAkB+F,gBAAA;UAAA;UAEtB0C,IAAC;UAAA,mBAAAd,OAAA;UAAA,GAAAD,UAEC;UACEnD,GAAA,EAAAlB;QAAoD;MACtD;IACA,sBACKrD,IAAA,CAAA6F,0BAAA;MAAA6C,KAAA,EAAApF,aACE;MAAA4E,EAAA,EAAAP,OACL,MAAO;MAAApE,QAAA,EAAAyE;IAAA;EAEK;AACdP,WAAA,CAEC9B,WAAA,GAAAC,UAAM;AAAA,IAAA+C,UAAA;EAAAC,WAAA,kBAAAlH,KAAA,CAAA4D,UAAA,WAAA5B,KAAA,EAAAL,YAAA;IAAA;QACTC,aAAA;QAAA,GAAAuF;MAAA,IAAAnF,KAAA;MAAAC,OAAA,GAAA1B,0BAAA,CAAA0G,UAAA,EAAArF,aAAA;MAAAwF,YAAA,GAAAhD,qBAAA,CAAA6C,UAAA,EAAArF,aAAA;IAAA,OAAAK,OAAA,CAAA8B,qBAAA,yBAAAzF,IAAA,CAAAc,QAAA;MACFoF,GAAA,EAIF;MAAAjB,aAAC,EAAA0D,UAAA;MAAAI,UAAA;MAAAb,EAAA,EAECY,YAAK,CAAAZ,EAAA;MAAA9D,IACL,EAAAT,OAAA,CAAAS,IAAA;MAAiB,GAAAyE,UACb;MAAAtE,GAAA,EACJlB;IAAK;EAAA;AAKXuF,WACE,CAAAjD,WAAA,GAAAgD,UAAC;AAED,IAEJK,eAAA,GAAAvI,MAAA,CAAAO,SAAA;IACFgC,IAAA;EAEA;EAAAiG,qBAAY,GAAc,SAAAA,CAAAvF,KAAA;IAM1B,IAAMC,OAAA,GAAA3B,gBAAa,wBAIO,EAAA0B,KAAA,CAAAJ,aAAA;MAAA4F,SAAA,GAAArG,kBAAA,CAAAc,OAAA;MAAAwF,gBAAA,GAAAvG,yBAAA,CAAAe,OAAA,CAAAyF,eAAA;MAAAC,YAAA,GAAA1I,MAAA,CAAAuI,SAAA;IACxB,OAAC,eAA4ClJ,IAAiB,CAAAmB,eAAA;MAC5DmI,YAAQ,WAAAA,CAAe1C,GAAG;QAI1ByC,YAAI,CAAQ,KAAA3F,KAAA,CAAA4F,YAAA,CACH1C,GAAA;MAIP;MAAC2C,IAAA,EAAA5F,OAAA,CAAA4F,IAAA;MAAAC,MACC,EAAAL,gBAAI;MAAA5F,QACJ,EAAAG,KAAA,CAAAH;IAAe;EACJ;EAAAkG,eACP,YAAAA,CAAa/F,KAAA;IAAA,OACjB,eAAc1D,IAAA,CAAAE,SAAA;MAAAqD,QACV,EAAAG,KAAA,CAAAH;IAAA;EACC;EAAAmG,MAAA,GAAA7I,oBAAA,WAAA6C,KAAA;IAAA,IACP;QAAAJ,aAAA;QAAAqG,MAAA;QAAApG,QAAA;QAAAgG,IAAA,EAAAK,QAAA;QAAAC,WAAA;QAAAP,YAAA;QAAArF,KAAA,EAAA6F,SAAA;QAAAC,YAAA;QAAAC,aAAA;QAAAC,wBAAA;QAAA7F,IAAA,EAAA8F,QAAA;QAAAC,cAAA;QAAAC,GAAA;QAAAlC;MAAA,IAAAxE,KAAA;MAAA2G,UAAA,GAAA3I,KAAA,CAAAkG,KAAA;MAAA0C,aAAA;MAAAC,QAAA,GAAAjH,aAAA,KAAAgH,aAAA,GAAAE,MAAA,CAAAC,IAAA,CAAAnH,aAAA,kBAAAgH,aAAA,cAAAA,aAAA,GAAAD,UAAA;MAAA;QAAAK,IAAA;QAAAC;MAAA,IAAAvK,cAAA;QAEJwK,QAAA,EAAAlJ,KAAA,CAAAmJ,WAAA;UACF,sBAAA7K,IAAA,CAAAe,UAAA;YAEAiC,IAAY,KAAAuH,QAAA;UAMC;QACX,IAGIA,QAAA,CAMJ;MAKA;MAAAnB,eACE,GAAAsB,IAAA;MAAAI,OAAA,GAAAlI,yBAAA,CAAAwG,eAAA;MAAA2B,UAAA,GAAAD,OAAA,KAAAxK,KAAA,GAAAmJ,eAAA,GAAAtH,gBAAA;MAAA6I,WAAA,GAAAtJ,KAAA,CAAAuJ,UAAA;QAAC;MAAA;MAAA,CAAAlH,YAAA,EAAAmH,eAAA,IAAAxJ,KAAA,CAAAyJ,QAAA;MAAA,CAAA5B,IAAA,EAAA6B,OAAA,IAAA3J,oBAAA;QAAA4J,IACC,EAAAzB,QAAA;QACE0B,WAAI,EAAAzB,WACF,IAAM;QAAgB1B,QAE1B,EAAAmB;MAAA;MACA,CAAArF,KAAM,EAAAsH,QAAQ,IAAA9J,oBAAA;QAAA4J,IACd,EAAAvB,SAAQ;QAAqBwB,WAE5B,EAAAvB,YAAM;QAAA5B,QAAA,EAAA6B,aAAA;QACTwB,UAAA;MAEJ,CAEM;IASJ9J,KAAC,CAAA+J,SAA0C;MACzClC,IAAA,IAAMmC,SAAA,CAAAzH,KAAA;IAAA,IACJsF,IACA,IACA7H,KAAA,CAAA+J,SAAA;MAAAC,SACM,CAAAzH,KAAA;IAAA,IACNA,KACA,IACAvC,KAAA,CAAA+J,SAAO;MAAA,IACP/H,KAAA,CAAAwE,EAAA,EACA,OAAAjH,iBAAA,CAAAyC,KAAA,CAAAwE,EAAA;QACAyD,cAAA,WAAAA,CAAA;UACAP,OAAM,aAAWQ,MAAA;YACjB,QAAAA,MAAA;UACA;QACA;QACEC,KAAA,EAEE,SAAAA,CAAA,GAMJ;MAAgB,EACd;IAAoD,IAC3CnI,KACX,CAAAwE,EAAA,EACF;IAQ6C,IAC3C,CAAA4D,WAAM,EAAAC,cAAA,IAAArK,KAAA,CAAAyJ,QAAA;MAAA,CAAAO,SAAA,EAAAM,cAAA,IAAAC,UAAA;MAAA,CAAAC,eAAA,EAAAC,oBAAA,IAAAF,UAAA;MAAAG,gBAAA,GAAA1K,KAAA,CAAAqG,MAAA;MAAAsE,cAAA,GAAA3K,KAAA,CAAAqG,MAAA;MAAAuE,cAAA,GAAA5K,KAAA,CAAAqG,MAAA;MAAA,CAAAwE,aAAA,EAAAC,gBAAA,IAAA9K,KAAA,CAAAyJ,QAAA;MAAA,CAAAsB,SAAA,EAAAC,YAAA,IAAAhL,KAAA,CAAAyJ,QAAA;IAAA5K,yBACO,aAAe;MAAA6L,gBAClB,CAAAO,OAAA,GAAAJ,aAAA,EAAAF,cAAA,CAAAM,OAAA,GAAAb,WAAA;IAAA,EACZ;IAE+C,IAC7CrG,qBAAM,GAAAnF,KAAA,KAAAqJ,MAAA,WAAAA,MAAA,cAAAiD,KAAA,CAAAC,OAAA,CAAAlD,MAAA,KAAAA,MAAA,CAAAmD,QAAA;MAAAC,uBAAA,GAAApL,WAAA,WAAAqL,KAAA;QAAAjB,cACN,CAAa,UAAAkB,IAAA;UACb,OAAAA,IAAU,KAAAD,KAAA,WAAAA,KAAA,gBAAAd,eAAA,CAAAc,KAAA,GAAAA,KAAA,IAAAC,IAAA;QAAA,EACV;MAAY,GACb;IAED,sBAAgBjN,IAAM,CAAA2K,aAAA;MACpBpH,QAAI,EACF,eAAevD,IAAA,CAAA6B,wBAAA;QAEnB6G,KAAI,EAAKpF,aAEH;QACJ4J,YAAU,EAAAxL,KAAK,CAAAyL,OAAA;UACb,OAAMlJ,KAAA;QAeV,IAWAsF,IAAA,CACE;QAEDnF,IAAA,EAAA8F,QAAA;QAEDiC,oBAAM;QASJH,cAA0B;QACxBZ,OAAA;QASFlD,EAAA;QACAC,QAAA,EAAAzG,KAAA,CAAAmJ,WAAA,WAAAjE,GAAA;UACC2E,QAAA,CAAA3E,GAAA,GAAA8E,SAAA,CAAA9E,GAAA;QACD,CAAC;QACHuD,cAAA,EAAAzJ,QAAA;UAEA,KACE,IAAA0M,IAAA,GAAAC,SAAC,CAAAC,MAAA,EAAAC,IAAA,GACC,IAAAX,KAAA,CAAAQ,IAAA,GAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA,IAACD,IAAA,CAAAC,IAAA,IAAAH,SAAA,CAAAG,IAAA;UAAArD,cAAA,MAAAoD,IAAA;QAAA,EACC;QAAOf,gBACO;QAAiCiB,eACzC,EAAA/L,KAAA,CAAAmJ,WAAA,WAAAmC,KAAA,EAAApB,MAAA;UACNU,cAAA,CAAAK,OAAA,CAAAK,KAAA,IAAApB,MAAA;QAAA,GACA;QAAAnG,qBACA;QAAAlC,QACA,iBAAAvD,IAAA,CAAA8B,cAAA;UACA4G,KAAA,EAAApF,aAAgB;UACd2G,wBACA;UACFG,GAAG;UACHsD,cAAA,EAAgB;UACdC,QAAA;UACF5J,YAAC;UACDmH,eAAA;UACAF,WAAA;UACEyB,SAAA;UACF3I,iBAAK,EAAA4I,YAAA;UACLnC,QAAA;UAEAnB,eAAA;UAAA0C,WAAC;UAAAS,aAAA;UAAAR,cACQ,EAAAgB,uBAAA;UAAA9I,KACP;UAAAsF,IACA;UAAAI,MACA;UAAgBpG,QAChB,iBAAUvD,IAAA,CAAAiJ,qBAAA;YAAAK,YACV,EAAA8B,OAAA;YAAA9H,aACA;YAAAC,QACA,EAAAkC,qBAAA,GAAAlC,QAAA,kBAAAvD,IAAA,CAAA+K,UAAA;cACAsB,cAAA;cACAC,cAAA;cACAF,gBAAA;cACA,GAAA1I,KAAA;cACA6F,IAAA;cACAtF,KAAA;cACAV;YAAgB;UAChB;QACA;MACA;IAMI;EAAC;IAAApD,KAAA;IACCyN,OAAA,EAAA1L,aACA;IAAA2L,KAAA,EAAApG,WACA;IAAAqG,IAAA,EAAA5I,UACC;IAAG6I,IAAA,EAAA3L,UACJ;IAAA4L,aAAA,EACA3I,mBAAA;IAAA4I,QAAA,EAAA1L,cAEC;IAAA2L,KAAA,EAAAtF,WAAA;IAAAuF,gBAGP,EAAA3L,sBAAA;IAAA4L,cAAA,EAAA3L,oBAAA;IAAA4L,OACF,EAAA3L,aAAA;IAAA4L,KAAA,EAAApL,WAAA;IAAAqL,QAEJ,EAAA5L,cAAA;IAEJzB,KAAA,EAAAA,KAAA,CAAAsN;EAAA,EACA;AAAA,SACEvC,WAAA;EAAA,IACAwC,SAAS,GAAA/M,KAAA,CAAAqG,MAAA;EAAA0G,SACF,CAAA9B,OAAA,KAAA8B,SAAA,CAAA9B,OAAA,sBAAA+B,GAAA;EAAA,IACPC,IAAM,YAAAA,CAAA1K,KAAA;MACNwK,SAAM,CAAA9B,OAAA,CAAAiC,OAAA,WAAAC,CAAA;QACN,OAAAA,CAAA,CAAA5K,KAAe;MACf;IAAU;IACV6K,SAAO,GAAApN,KAAA,CAAAmJ,WAAA,WAAAkE,QAAA;MACP,OAAAN,SAAA,CAAA9B,OAAkB,CAAAqC,GAAA,CAAAD,QAAA;QAClBN,SAAA,CAAA9B,OAAgB,CAAAsC,MAAA,CAAAF,QAAA;MAChB;IAAS,GACT;EAAO,OACP,CACAJ,IAAA,EACFG,SAAA,CACF;AAEA;AACEpF,MAAA,CAAA/D,WAAM,GAAY/D,WAAM;AACxB,SAGA8H,MAAM,EACJ3D,gBAAU,EACZb,UACM,EAGF8D,eAAU","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/tamagui/code/ui/select/src/SelectContent.native.tsx"],
|
|
4
|
-
"mappings": "AAEO,IAAMA,gBAAgB,SAAA,OAAA;
|
|
4
|
+
"mappings": "AAEO,IAAMA,gBAAgB,SAAA,OAAA;MAAC,EAAEC,SAAQ,IAAsB;AAC5D,SAAOA;AACT;",
|
|
5
5
|
"names": ["SelectContent", "children"]
|
|
6
6
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SelectContent","param","children"],"sources":["../../src/Users/n8/tamagui/code/ui/select/src/SelectContent.native.tsx"],"sourcesContent":[null],"mappings":"AAEO,IAAMA,aAAA,GAAgB,SAAAA,CAAAC,KAAA;MAAC;IAAEC;EAAQ,IAAsBD,KAAA;EAC5D,OAAOC,QAAA;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
var SelectInlineImpl = function (props) {
|
|
3
|
+
return process.env.NODE_ENV === "development" && console.warn("Sheet not implemented inline on native"), /* @__PURE__ */_jsx(_Fragment, {
|
|
4
|
+
children: props.children
|
|
5
|
+
});
|
|
6
|
+
};
|
|
7
|
+
export { SelectInlineImpl };
|
|
8
|
+
//# sourceMappingURL=SelectImpl.native.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SelectInlineImpl","props","process","env","NODE_ENV","console","warn","_jsx","_Fragment","children"],"sources":["../../src/Users/n8/tamagui/code/ui/select/src/SelectImpl.native.tsx"],"sourcesContent":[null],"mappings":";AAOO,IAAMA,gBAAA,GAAmB,SAAAA,CAACC,KAAA;EAC/B,OAAIC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,iBAC3BC,OAAA,CAAQC,IAAA,CAAK,2CAER,eAAAC,IAAA,CAAAC,SAAA;cAAGP,KAAA,CAAMQ;;AAClB","ignoreList":[]}
|
|
@@ -4,96 +4,13 @@ import { isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
|
4
4
|
import { ListItemFrame, useListItem } from "@tamagui/list-item";
|
|
5
5
|
import * as React from "react";
|
|
6
6
|
import { createSelectContext, useSelectItemParentContext } from "./context";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
function _define_property(obj, key, value) {
|
|
16
|
-
return key in obj ? Object.defineProperty(obj, key, {
|
|
17
|
-
value,
|
|
18
|
-
enumerable: !0,
|
|
19
|
-
configurable: !0,
|
|
20
|
-
writable: !0
|
|
21
|
-
}) : obj[key] = value, obj;
|
|
22
|
-
}
|
|
23
|
-
function _instanceof(left, right) {
|
|
24
|
-
return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
|
|
25
|
-
}
|
|
26
|
-
function _iterable_to_array_limit(arr, i) {
|
|
27
|
-
var _i = arr == null ? null : typeof Symbol < "u" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
28
|
-
if (_i != null) {
|
|
29
|
-
var _arr = [], _n = !0, _d = !1, _s, _e;
|
|
30
|
-
try {
|
|
31
|
-
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done) && (_arr.push(_s.value), !(i && _arr.length === i)); _n = !0)
|
|
32
|
-
;
|
|
33
|
-
} catch (err) {
|
|
34
|
-
_d = !0, _e = err;
|
|
35
|
-
} finally {
|
|
36
|
-
try {
|
|
37
|
-
!_n && _i.return != null && _i.return();
|
|
38
|
-
} finally {
|
|
39
|
-
if (_d) throw _e;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return _arr;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
function _non_iterable_rest() {
|
|
46
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
47
|
-
}
|
|
48
|
-
function _object_spread(target) {
|
|
49
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
50
|
-
var source = arguments[i] != null ? arguments[i] : {}, ownKeys = Object.keys(source);
|
|
51
|
-
typeof Object.getOwnPropertySymbols == "function" && (ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
52
|
-
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
53
|
-
}))), ownKeys.forEach(function(key) {
|
|
54
|
-
_define_property(target, key, source[key]);
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
return target;
|
|
58
|
-
}
|
|
59
|
-
function _object_without_properties(source, excluded) {
|
|
60
|
-
if (source == null) return {};
|
|
61
|
-
var target = _object_without_properties_loose(source, excluded), key, i;
|
|
62
|
-
if (Object.getOwnPropertySymbols) {
|
|
63
|
-
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
64
|
-
for (i = 0; i < sourceSymbolKeys.length; i++)
|
|
65
|
-
key = sourceSymbolKeys[i], !(excluded.indexOf(key) >= 0) && Object.prototype.propertyIsEnumerable.call(source, key) && (target[key] = source[key]);
|
|
66
|
-
}
|
|
67
|
-
return target;
|
|
68
|
-
}
|
|
69
|
-
function _object_without_properties_loose(source, excluded) {
|
|
70
|
-
if (source == null) return {};
|
|
71
|
-
var target = {}, sourceKeys = Object.keys(source), key, i;
|
|
72
|
-
for (i = 0; i < sourceKeys.length; i++)
|
|
73
|
-
key = sourceKeys[i], !(excluded.indexOf(key) >= 0) && (target[key] = source[key]);
|
|
74
|
-
return target;
|
|
75
|
-
}
|
|
76
|
-
function _sliced_to_array(arr, i) {
|
|
77
|
-
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
78
|
-
}
|
|
79
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
80
|
-
if (o) {
|
|
81
|
-
if (typeof o == "string") return _array_like_to_array(o, minLen);
|
|
82
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
83
|
-
if (n === "Object" && o.constructor && (n = o.constructor.name), n === "Map" || n === "Set") return Array.from(n);
|
|
84
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
var ITEM_NAME = "SelectItem", _createSelectContext = _sliced_to_array(createSelectContext(ITEM_NAME), 2), SelectItemContextProvider = _createSelectContext[0], useSelectItemContext = _createSelectContext[1], SelectItem = ListItemFrame.styleable(function(props, forwardedRef) {
|
|
88
|
-
var __scopeSelect = props.__scopeSelect, value = props.value, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? !1 : _props_disabled, textValueProp = props.textValue, index = props.index, restProps = _object_without_properties(props, [
|
|
89
|
-
"__scopeSelect",
|
|
90
|
-
"value",
|
|
91
|
-
"disabled",
|
|
92
|
-
"textValue",
|
|
93
|
-
"index"
|
|
94
|
-
]), _useListItem = useListItem(_object_spread({}, !props.unstyled && {
|
|
95
|
-
ellipse: !0
|
|
96
|
-
}, restProps)), listItemProps = _useListItem.props, context = useSelectItemParentContext(ITEM_NAME, __scopeSelect), setSelectedIndex = context.setSelectedIndex, listRef = context.listRef, setOpen = context.setOpen, onChange = context.onChange, activeIndexSubscribe = context.activeIndexSubscribe, valueSubscribe = context.valueSubscribe, allowMouseUpRef = context.allowMouseUpRef, allowSelectRef = context.allowSelectRef, setValueAtIndex = context.setValueAtIndex, selectTimeoutRef = context.selectTimeoutRef, dataRef = context.dataRef, interactions = context.interactions, shouldRenderWebNative = context.shouldRenderWebNative, size = context.size, onActiveChange = context.onActiveChange, initialValue = context.initialValue, _React_useState = _sliced_to_array(React.useState(initialValue === value), 2), isSelected = _React_useState[0], setSelected = _React_useState[1];
|
|
7
|
+
var ITEM_NAME = "SelectItem", [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME), SelectItem = ListItemFrame.styleable(function(props, forwardedRef) {
|
|
8
|
+
var { __scopeSelect, value, disabled = !1, textValue: textValueProp, index, ...restProps } = props, { props: listItemProps } = useListItem({
|
|
9
|
+
...!props.unstyled && {
|
|
10
|
+
ellipse: !0
|
|
11
|
+
},
|
|
12
|
+
...restProps
|
|
13
|
+
}), context = useSelectItemParentContext(ITEM_NAME, __scopeSelect), { setSelectedIndex, listRef, setOpen, onChange, activeIndexSubscribe, valueSubscribe, allowMouseUpRef, allowSelectRef, setValueAtIndex, selectTimeoutRef, dataRef, interactions, shouldRenderWebNative, size, onActiveChange, initialValue } = context, [isSelected, setSelected] = React.useState(initialValue === value);
|
|
97
14
|
React.useEffect(function() {
|
|
98
15
|
return activeIndexSubscribe(function(i) {
|
|
99
16
|
var isActive = index === i;
|
|
@@ -112,7 +29,7 @@ var ITEM_NAME = "SelectItem", _createSelectContext = _sliced_to_array(createSele
|
|
|
112
29
|
value
|
|
113
30
|
]);
|
|
114
31
|
var textId = React.useId(), composedRefs = useComposedRefs(forwardedRef, function(node) {
|
|
115
|
-
isWeb &&
|
|
32
|
+
isWeb && node instanceof HTMLElement && listRef && (listRef.current[index] = node);
|
|
116
33
|
});
|
|
117
34
|
useIsomorphicLayoutEffect(function() {
|
|
118
35
|
setValueAtIndex(index, value);
|
|
@@ -126,19 +43,19 @@ var ITEM_NAME = "SelectItem", _createSelectContext = _sliced_to_array(createSele
|
|
|
126
43
|
}
|
|
127
44
|
var selectItemProps = React.useMemo(function() {
|
|
128
45
|
return interactions ? interactions.getItemProps({
|
|
129
|
-
onTouchMove
|
|
46
|
+
onTouchMove() {
|
|
130
47
|
allowSelectRef.current = !0, allowMouseUpRef.current = !1;
|
|
131
48
|
},
|
|
132
|
-
onTouchEnd
|
|
49
|
+
onTouchEnd() {
|
|
133
50
|
allowSelectRef.current = !1, allowMouseUpRef.current = !0;
|
|
134
51
|
},
|
|
135
|
-
onKeyDown
|
|
136
|
-
event.key === "Enter" || event.key === " " && !
|
|
52
|
+
onKeyDown(event) {
|
|
53
|
+
event.key === "Enter" || event.key === " " && !dataRef?.current.typing ? (event.preventDefault(), handleSelect()) : allowSelectRef.current = !0;
|
|
137
54
|
},
|
|
138
|
-
onClick
|
|
55
|
+
onClick() {
|
|
139
56
|
allowSelectRef.current && handleSelect();
|
|
140
57
|
},
|
|
141
|
-
onMouseUp
|
|
58
|
+
onMouseUp() {
|
|
142
59
|
allowMouseUpRef.current && (allowSelectRef.current && handleSelect(), clearTimeout(selectTimeoutRef.current), selectTimeoutRef.current = setTimeout(function() {
|
|
143
60
|
allowSelectRef.current = !0;
|
|
144
61
|
}));
|
|
@@ -157,7 +74,7 @@ var ITEM_NAME = "SelectItem", _createSelectContext = _sliced_to_array(createSele
|
|
|
157
74
|
children: shouldRenderWebNative ? /* @__PURE__ */ _jsx("option", {
|
|
158
75
|
value,
|
|
159
76
|
children: props.children
|
|
160
|
-
}) : /* @__PURE__ */ _jsx(ListItemFrame,
|
|
77
|
+
}) : /* @__PURE__ */ _jsx(ListItemFrame, {
|
|
161
78
|
tag: "div",
|
|
162
79
|
componentName: ITEM_NAME,
|
|
163
80
|
ref: composedRefs,
|
|
@@ -166,21 +83,24 @@ var ITEM_NAME = "SelectItem", _createSelectContext = _sliced_to_array(createSele
|
|
|
166
83
|
"data-state": isSelected ? "active" : "inactive",
|
|
167
84
|
"aria-disabled": disabled || void 0,
|
|
168
85
|
"data-disabled": disabled ? "" : void 0,
|
|
169
|
-
tabIndex: disabled ? void 0 : -1
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
86
|
+
tabIndex: disabled ? void 0 : -1,
|
|
87
|
+
...!props.unstyled && {
|
|
88
|
+
backgrounded: !0,
|
|
89
|
+
pressTheme: !0,
|
|
90
|
+
hoverTheme: !0,
|
|
91
|
+
focusTheme: !0,
|
|
92
|
+
cursor: "default",
|
|
93
|
+
size,
|
|
94
|
+
outlineOffset: -0.5,
|
|
95
|
+
focusVisibleStyle: {
|
|
96
|
+
outlineColor: "$outlineColor",
|
|
97
|
+
outlineWidth: 1,
|
|
98
|
+
outlineStyle: "solid"
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
...listItemProps,
|
|
102
|
+
...selectItemProps
|
|
103
|
+
})
|
|
184
104
|
});
|
|
185
105
|
}, {
|
|
186
106
|
disableTheme: !0
|