@tamagui/select 1.130.7 → 1.131.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.cjs +50 -43
- package/dist/cjs/Select.js +25 -28
- package/dist/cjs/Select.js.map +1 -1
- package/dist/cjs/Select.native.js +25 -23
- package/dist/cjs/Select.native.js.map +2 -2
- package/dist/cjs/SelectContent.cjs +40 -41
- package/dist/cjs/SelectContent.js +6 -6
- package/dist/cjs/SelectContent.js.map +1 -1
- package/dist/cjs/SelectImpl.cjs +8 -10
- package/dist/cjs/SelectImpl.js +3 -12
- package/dist/cjs/SelectImpl.js.map +1 -1
- package/dist/cjs/SelectItem.cjs +9 -5
- package/dist/cjs/SelectItem.js +8 -5
- package/dist/cjs/SelectItem.js.map +1 -1
- package/dist/cjs/SelectItem.native.js +4 -4
- package/dist/cjs/SelectItem.native.js.map +2 -2
- package/dist/cjs/SelectItemText.cjs +8 -8
- package/dist/cjs/SelectItemText.js +19 -17
- package/dist/cjs/SelectItemText.js.map +1 -1
- package/dist/cjs/SelectItemText.native.js +3 -3
- package/dist/cjs/SelectItemText.native.js.map +2 -2
- package/dist/cjs/SelectScrollButton.cjs +3 -3
- package/dist/cjs/SelectScrollButton.js +1 -1
- package/dist/cjs/SelectScrollButton.js.map +1 -1
- package/dist/cjs/SelectTrigger.cjs +4 -4
- package/dist/cjs/SelectTrigger.js +1 -1
- package/dist/cjs/SelectTrigger.js.map +1 -1
- package/dist/cjs/SelectTrigger.native.js +1 -1
- package/dist/cjs/SelectTrigger.native.js.map +2 -2
- package/dist/cjs/SelectViewport.cjs +17 -12
- package/dist/cjs/SelectViewport.js +7 -13
- package/dist/cjs/SelectViewport.js.map +1 -1
- package/dist/cjs/SelectViewport.native.js +2 -2
- package/dist/cjs/SelectViewport.native.js.map +2 -2
- package/dist/cjs/context.cjs +11 -13
- package/dist/cjs/context.js +6 -8
- package/dist/cjs/context.js.map +1 -1
- package/dist/cjs/context.native.js +4 -12
- package/dist/cjs/context.native.js.map +2 -2
- package/dist/cjs/index.cjs +2 -2
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/useSelectBreakpointActive.cjs +1 -1
- package/dist/cjs/useSelectBreakpointActive.js +1 -1
- package/dist/cjs/useSelectBreakpointActive.js.map +1 -1
- package/dist/cjs/useSelectBreakpointActive.native.js +1 -1
- package/dist/cjs/useSelectBreakpointActive.native.js.map +2 -2
- package/dist/esm/Select.js +32 -30
- package/dist/esm/Select.js.map +1 -1
- package/dist/esm/Select.mjs +43 -36
- package/dist/esm/Select.mjs.map +1 -1
- package/dist/esm/Select.native.js +42 -37
- package/dist/esm/Select.native.js.map +1 -1
- package/dist/esm/SelectContent.js +4 -4
- package/dist/esm/SelectContent.js.map +1 -1
- package/dist/esm/SelectContent.mjs +37 -38
- package/dist/esm/SelectContent.mjs.map +1 -1
- package/dist/esm/SelectImpl.js +3 -12
- package/dist/esm/SelectImpl.js.map +1 -1
- package/dist/esm/SelectImpl.mjs +6 -8
- package/dist/esm/SelectImpl.mjs.map +1 -1
- package/dist/esm/SelectItem.js +9 -5
- package/dist/esm/SelectItem.js.map +1 -1
- package/dist/esm/SelectItem.mjs +9 -5
- package/dist/esm/SelectItem.mjs.map +1 -1
- package/dist/esm/SelectItem.native.js +9 -5
- package/dist/esm/SelectItem.native.js.map +1 -1
- package/dist/esm/SelectItemText.js +20 -18
- package/dist/esm/SelectItemText.js.map +1 -1
- package/dist/esm/SelectItemText.mjs +7 -7
- package/dist/esm/SelectItemText.mjs.map +1 -1
- package/dist/esm/SelectItemText.native.js +7 -7
- package/dist/esm/SelectItemText.native.js.map +1 -1
- package/dist/esm/SelectScrollButton.js +1 -1
- package/dist/esm/SelectScrollButton.js.map +1 -1
- package/dist/esm/SelectScrollButton.mjs +2 -2
- package/dist/esm/SelectScrollButton.mjs.map +1 -1
- package/dist/esm/SelectTrigger.js +1 -1
- package/dist/esm/SelectTrigger.js.map +1 -1
- package/dist/esm/SelectTrigger.mjs +3 -3
- package/dist/esm/SelectTrigger.mjs.map +1 -1
- package/dist/esm/SelectTrigger.native.js +3 -3
- package/dist/esm/SelectTrigger.native.js.map +1 -1
- package/dist/esm/SelectViewport.js +8 -13
- package/dist/esm/SelectViewport.js.map +1 -1
- package/dist/esm/SelectViewport.mjs +16 -11
- package/dist/esm/SelectViewport.mjs.map +1 -1
- package/dist/esm/SelectViewport.native.js +4 -4
- package/dist/esm/SelectViewport.native.js.map +1 -1
- package/dist/esm/context.js +6 -9
- package/dist/esm/context.js.map +1 -1
- package/dist/esm/context.mjs +12 -10
- package/dist/esm/context.mjs.map +1 -1
- package/dist/esm/context.native.js +12 -10
- package/dist/esm/context.native.js.map +1 -1
- package/dist/esm/useSelectBreakpointActive.js +1 -1
- package/dist/esm/useSelectBreakpointActive.js.map +1 -1
- package/dist/esm/useSelectBreakpointActive.mjs +1 -1
- package/dist/esm/useSelectBreakpointActive.mjs.map +1 -1
- package/dist/esm/useSelectBreakpointActive.native.js +1 -1
- package/dist/esm/useSelectBreakpointActive.native.js.map +1 -1
- package/dist/jsx/Select.js +32 -30
- package/dist/jsx/Select.js.map +1 -1
- package/dist/jsx/Select.mjs +43 -36
- package/dist/jsx/Select.mjs.map +1 -1
- package/dist/jsx/Select.native.js +27 -25
- package/dist/jsx/Select.native.js.map +2 -2
- package/dist/jsx/SelectContent.js +4 -4
- package/dist/jsx/SelectContent.js.map +1 -1
- package/dist/jsx/SelectContent.mjs +37 -38
- package/dist/jsx/SelectContent.mjs.map +1 -1
- package/dist/jsx/SelectImpl.js +3 -12
- package/dist/jsx/SelectImpl.js.map +1 -1
- package/dist/jsx/SelectImpl.mjs +6 -8
- package/dist/jsx/SelectImpl.mjs.map +1 -1
- package/dist/jsx/SelectItem.js +9 -5
- package/dist/jsx/SelectItem.js.map +1 -1
- package/dist/jsx/SelectItem.mjs +9 -5
- package/dist/jsx/SelectItem.mjs.map +1 -1
- package/dist/jsx/SelectItem.native.js +6 -5
- package/dist/jsx/SelectItem.native.js.map +2 -2
- package/dist/jsx/SelectItemText.js +20 -18
- package/dist/jsx/SelectItemText.js.map +1 -1
- package/dist/jsx/SelectItemText.mjs +7 -7
- package/dist/jsx/SelectItemText.mjs.map +1 -1
- package/dist/jsx/SelectItemText.native.js +4 -4
- package/dist/jsx/SelectItemText.native.js.map +2 -2
- package/dist/jsx/SelectScrollButton.js +1 -1
- package/dist/jsx/SelectScrollButton.js.map +1 -1
- package/dist/jsx/SelectScrollButton.mjs +2 -2
- package/dist/jsx/SelectScrollButton.mjs.map +1 -1
- package/dist/jsx/SelectTrigger.js +1 -1
- package/dist/jsx/SelectTrigger.js.map +1 -1
- package/dist/jsx/SelectTrigger.mjs +3 -3
- package/dist/jsx/SelectTrigger.mjs.map +1 -1
- package/dist/jsx/SelectTrigger.native.js +1 -1
- package/dist/jsx/SelectTrigger.native.js.map +2 -2
- package/dist/jsx/SelectViewport.js +8 -13
- package/dist/jsx/SelectViewport.js.map +1 -1
- package/dist/jsx/SelectViewport.mjs +16 -11
- package/dist/jsx/SelectViewport.mjs.map +1 -1
- package/dist/jsx/SelectViewport.native.js +2 -2
- package/dist/jsx/SelectViewport.native.js.map +2 -2
- package/dist/jsx/context.js +6 -9
- package/dist/jsx/context.js.map +1 -1
- package/dist/jsx/context.mjs +12 -10
- package/dist/jsx/context.mjs.map +1 -1
- package/dist/jsx/context.native.js +5 -10
- package/dist/jsx/context.native.js.map +2 -2
- package/dist/jsx/useSelectBreakpointActive.js +1 -1
- package/dist/jsx/useSelectBreakpointActive.js.map +1 -1
- package/dist/jsx/useSelectBreakpointActive.mjs +1 -1
- package/dist/jsx/useSelectBreakpointActive.mjs.map +1 -1
- package/dist/jsx/useSelectBreakpointActive.native.js +1 -1
- package/dist/jsx/useSelectBreakpointActive.native.js.map +2 -2
- package/package.json +24 -24
- package/src/Select.tsx +55 -55
- package/src/SelectContent.tsx +4 -4
- package/src/SelectImpl.tsx +6 -16
- package/src/SelectItem.tsx +9 -7
- package/src/SelectItemText.tsx +50 -46
- package/src/SelectScrollButton.tsx +3 -3
- package/src/SelectTrigger.tsx +5 -5
- package/src/SelectViewport.native.tsx +7 -11
- package/src/SelectViewport.tsx +21 -20
- package/src/context.tsx +12 -22
- package/src/types.tsx +15 -10
- package/src/useSelectBreakpointActive.tsx +1 -1
- package/types/Select.d.ts +49 -11
- package/types/Select.d.ts.map +1 -1
- package/types/SelectContent.d.ts +1 -1
- package/types/SelectContent.d.ts.map +1 -1
- package/types/SelectImpl.d.ts.map +1 -1
- package/types/SelectItem.d.ts +13 -16
- package/types/SelectItem.d.ts.map +1 -1
- package/types/SelectItemText.d.ts +10 -3
- package/types/SelectItemText.d.ts.map +1 -1
- package/types/SelectTrigger.d.ts +4 -1
- package/types/SelectTrigger.d.ts.map +1 -1
- package/types/SelectViewport.d.ts +13 -2
- package/types/SelectViewport.d.ts.map +1 -1
- package/types/SelectViewport.native.d.ts +2 -2
- package/types/SelectViewport.native.d.ts.map +1 -1
- package/types/context.d.ts +11 -31
- package/types/context.d.ts.map +1 -1
- package/types/types.d.ts +10 -7
- package/types/types.d.ts.map +1 -1
package/dist/cjs/Select.cjs
CHANGED
|
@@ -53,15 +53,15 @@ var import_adapt = require("@tamagui/adapt"),
|
|
|
53
53
|
import_use_controllable_state = require("@tamagui/use-controllable-state"),
|
|
54
54
|
import_use_debounce = require("@tamagui/use-debounce"),
|
|
55
55
|
React = __toESM(require("react")),
|
|
56
|
-
import_context = require("./context"),
|
|
57
|
-
import_SelectContent = require("./SelectContent"),
|
|
58
|
-
import_SelectImpl = require("./SelectImpl"),
|
|
59
|
-
import_SelectItem = require("./SelectItem"),
|
|
60
|
-
import_SelectItemText = require("./SelectItemText"),
|
|
61
|
-
import_SelectScrollButton = require("./SelectScrollButton"),
|
|
62
|
-
import_SelectTrigger = require("./SelectTrigger"),
|
|
63
|
-
import_SelectViewport = require("./SelectViewport"),
|
|
64
|
-
import_useSelectBreakpointActive = require("./useSelectBreakpointActive"),
|
|
56
|
+
import_context = require("./context.cjs"),
|
|
57
|
+
import_SelectContent = require("./SelectContent.cjs"),
|
|
58
|
+
import_SelectImpl = require("./SelectImpl.cjs"),
|
|
59
|
+
import_SelectItem = require("./SelectItem.cjs"),
|
|
60
|
+
import_SelectItemText = require("./SelectItemText.cjs"),
|
|
61
|
+
import_SelectScrollButton = require("./SelectScrollButton.cjs"),
|
|
62
|
+
import_SelectTrigger = require("./SelectTrigger.cjs"),
|
|
63
|
+
import_SelectViewport = require("./SelectViewport.cjs"),
|
|
64
|
+
import_useSelectBreakpointActive = require("./useSelectBreakpointActive.cjs"),
|
|
65
65
|
import_jsx_runtime = require("react/jsx-runtime");
|
|
66
66
|
const VALUE_NAME = "SelectValue",
|
|
67
67
|
SelectValueFrame = (0, import_core.styled)(import_text.SizableText, {
|
|
@@ -69,13 +69,13 @@ const VALUE_NAME = "SelectValue",
|
|
|
69
69
|
userSelect: "none"
|
|
70
70
|
}),
|
|
71
71
|
SelectValue = SelectValueFrame.styleable(function ({
|
|
72
|
-
|
|
72
|
+
scope,
|
|
73
73
|
children: childrenProp,
|
|
74
74
|
placeholder,
|
|
75
75
|
...props
|
|
76
76
|
}, forwardedRef) {
|
|
77
|
-
const context = (0, import_context.useSelectContext)(
|
|
78
|
-
itemParentContext = (0, import_context.useSelectItemParentContext)(
|
|
77
|
+
const context = (0, import_context.useSelectContext)(scope),
|
|
78
|
+
itemParentContext = (0, import_context.useSelectItemParentContext)(scope),
|
|
79
79
|
composedRefs = (0, import_compose_refs.useComposedRefs)(forwardedRef, context.onValueNodeChange),
|
|
80
80
|
children = childrenProp ?? context.selectedItem,
|
|
81
81
|
selectValueChildren = context.value == null || context.value === "" ? placeholder ?? children : children;
|
|
@@ -109,26 +109,29 @@ const SelectIcon = (0, import_core.styled)(import_stacks.XStack, {
|
|
|
109
109
|
children: "\u25BC"
|
|
110
110
|
})
|
|
111
111
|
}),
|
|
112
|
-
ITEM_INDICATOR_NAME = "SelectItemIndicator",
|
|
113
112
|
SelectItemIndicatorFrame = (0, import_core.styled)(import_stacks.XStack, {
|
|
114
|
-
name:
|
|
113
|
+
name: "SelectItemIndicator"
|
|
115
114
|
}),
|
|
116
|
-
SelectItemIndicator = React.forwardRef((props, forwardedRef)
|
|
115
|
+
SelectItemIndicator = React.forwardRef(function (props, forwardedRef) {
|
|
117
116
|
const {
|
|
118
|
-
|
|
117
|
+
scope,
|
|
119
118
|
...itemIndicatorProps
|
|
120
119
|
} = props,
|
|
121
|
-
context = (0, import_context.useSelectItemParentContext)(
|
|
122
|
-
itemContext = (0, import_SelectItem.useSelectItemContext)(
|
|
120
|
+
context = (0, import_context.useSelectItemParentContext)(scope),
|
|
121
|
+
itemContext = (0, import_SelectItem.useSelectItemContext)(scope);
|
|
123
122
|
return context.shouldRenderWebNative ? null : itemContext.isSelected ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(SelectItemIndicatorFrame, {
|
|
124
123
|
"aria-hidden": !0,
|
|
125
124
|
...itemIndicatorProps,
|
|
126
125
|
ref: forwardedRef
|
|
127
126
|
}) : null;
|
|
128
|
-
})
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
127
|
+
}),
|
|
128
|
+
GROUP_NAME = "SelectGroup",
|
|
129
|
+
{
|
|
130
|
+
Provider: SelectGroupContextProvider,
|
|
131
|
+
useStyledContext: useSelectGroupContext
|
|
132
|
+
} = (0, import_core.createStyledContext)({
|
|
133
|
+
id: ""
|
|
134
|
+
}, "SelectGroup"),
|
|
132
135
|
SelectGroupFrame = (0, import_core.styled)(import_stacks.YStack, {
|
|
133
136
|
name: GROUP_NAME,
|
|
134
137
|
width: "100%"
|
|
@@ -172,12 +175,12 @@ const GROUP_NAME = "SelectGroup",
|
|
|
172
175
|
}),
|
|
173
176
|
SelectGroup = React.forwardRef((props, forwardedRef) => {
|
|
174
177
|
const {
|
|
175
|
-
|
|
178
|
+
scope,
|
|
176
179
|
...groupProps
|
|
177
180
|
} = props,
|
|
178
181
|
groupId = React.useId(),
|
|
179
|
-
context = (0, import_context.useSelectContext)(
|
|
180
|
-
itemParentContext = (0, import_context.useSelectItemParentContext)(
|
|
182
|
+
context = (0, import_context.useSelectContext)(scope),
|
|
183
|
+
itemParentContext = (0, import_context.useSelectItemParentContext)(scope),
|
|
181
184
|
size = itemParentContext.size ?? "$true",
|
|
182
185
|
nativeSelectRef = React.useRef(null),
|
|
183
186
|
content = itemParentContext.shouldRenderWebNative ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(NativeSelectFrame, {
|
|
@@ -205,7 +208,7 @@ const GROUP_NAME = "SelectGroup",
|
|
|
205
208
|
ref: forwardedRef
|
|
206
209
|
});
|
|
207
210
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(SelectGroupContextProvider, {
|
|
208
|
-
scope
|
|
211
|
+
scope,
|
|
209
212
|
id: groupId || "",
|
|
210
213
|
children: content
|
|
211
214
|
});
|
|
@@ -214,11 +217,11 @@ SelectGroup.displayName = GROUP_NAME;
|
|
|
214
217
|
const LABEL_NAME = "SelectLabel",
|
|
215
218
|
SelectLabel = React.forwardRef((props, forwardedRef) => {
|
|
216
219
|
const {
|
|
217
|
-
|
|
220
|
+
scope,
|
|
218
221
|
...labelProps
|
|
219
222
|
} = props,
|
|
220
|
-
context = (0, import_context.useSelectItemParentContext)(
|
|
221
|
-
groupContext = useSelectGroupContext(
|
|
223
|
+
context = (0, import_context.useSelectItemParentContext)(scope),
|
|
224
|
+
groupContext = useSelectGroupContext(scope);
|
|
222
225
|
return context.shouldRenderWebNative ? null : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_list_item.ListItem, {
|
|
223
226
|
tag: "div",
|
|
224
227
|
componentName: LABEL_NAME,
|
|
@@ -234,9 +237,9 @@ const SelectSeparator = (0, import_core.styled)(import_separator.Separator, {
|
|
|
234
237
|
name: "SelectSeparator"
|
|
235
238
|
}),
|
|
236
239
|
SelectSheetController = props => {
|
|
237
|
-
const context = (0, import_context.useSelectContext)(
|
|
240
|
+
const context = (0, import_context.useSelectContext)(props.scope),
|
|
238
241
|
showSheet = (0, import_useSelectBreakpointActive.useShowSelectSheet)(context),
|
|
239
|
-
isAdapted = (0, import_adapt.useAdaptIsActive)(),
|
|
242
|
+
isAdapted = (0, import_adapt.useAdaptIsActive)(context.adaptScope),
|
|
240
243
|
getShowSheet = (0, import_core.useGet)(showSheet);
|
|
241
244
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_sheet.SheetController, {
|
|
242
245
|
onOpenChange: val => {
|
|
@@ -251,13 +254,13 @@ const SelectSeparator = (0, import_core.styled)(import_separator.Separator, {
|
|
|
251
254
|
children: props.children
|
|
252
255
|
}),
|
|
253
256
|
Select = (0, import_helpers.withStaticProperties)(function (props) {
|
|
254
|
-
const
|
|
255
|
-
scopeKey = props.__scopeSelect ? Object.keys(props.__scopeSelect)[0] ?? internalId : internalId;
|
|
257
|
+
const adaptScope = `AdaptSelect${props.scope || ""}`;
|
|
256
258
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_adapt.AdaptParent, {
|
|
257
|
-
scope:
|
|
259
|
+
scope: adaptScope,
|
|
258
260
|
portal: !0,
|
|
259
261
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(SelectInner, {
|
|
260
|
-
|
|
262
|
+
scope: props.scope,
|
|
263
|
+
adaptScope,
|
|
261
264
|
...props
|
|
262
265
|
})
|
|
263
266
|
});
|
|
@@ -291,7 +294,8 @@ function useEmitter() {
|
|
|
291
294
|
}
|
|
292
295
|
function SelectInner(props) {
|
|
293
296
|
const {
|
|
294
|
-
|
|
297
|
+
scope = "",
|
|
298
|
+
adaptScope,
|
|
295
299
|
native,
|
|
296
300
|
children,
|
|
297
301
|
open: openProp,
|
|
@@ -306,7 +310,7 @@ function SelectInner(props) {
|
|
|
306
310
|
dir,
|
|
307
311
|
id
|
|
308
312
|
} = props,
|
|
309
|
-
SelectImpl = (0, import_adapt.useAdaptIsActive)() || !import_constants.isWeb ? SelectSheetImpl : import_SelectImpl.SelectInlineImpl,
|
|
313
|
+
SelectImpl = (0, import_adapt.useAdaptIsActive)(adaptScope) || !import_constants.isWeb ? SelectSheetImpl : import_SelectImpl.SelectInlineImpl,
|
|
310
314
|
forceUpdate = React.useReducer(() => ({}), {})[1],
|
|
311
315
|
[selectedItem, setSelectedItem] = React.useState(null),
|
|
312
316
|
[open, setOpen] = (0, import_use_controllable_state.useControllableState)({
|
|
@@ -341,7 +345,9 @@ function SelectInner(props) {
|
|
|
341
345
|
setActiveIndex(prev => prev !== index ? (typeof index == "number" && emitActiveIndex(index), index) : prev);
|
|
342
346
|
}, 1, {}, []);
|
|
343
347
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_context.SelectItemParentProvider, {
|
|
344
|
-
|
|
348
|
+
scopeName: scope,
|
|
349
|
+
scope,
|
|
350
|
+
adaptScope,
|
|
345
351
|
initialValue: React.useMemo(() => value, [open]),
|
|
346
352
|
size: sizeProp,
|
|
347
353
|
activeIndexSubscribe,
|
|
@@ -351,8 +357,8 @@ function SelectInner(props) {
|
|
|
351
357
|
onChange: React.useCallback(val => {
|
|
352
358
|
setValue(val), emitValue(val);
|
|
353
359
|
}, []),
|
|
354
|
-
onActiveChange: (0, import_core.useEvent)((
|
|
355
|
-
onActiveChange?.(
|
|
360
|
+
onActiveChange: (0, import_core.useEvent)((value2, index) => {
|
|
361
|
+
onActiveChange?.(value2, index);
|
|
356
362
|
}),
|
|
357
363
|
setSelectedIndex,
|
|
358
364
|
setValueAtIndex: React.useCallback((index, value2) => {
|
|
@@ -360,7 +366,9 @@ function SelectInner(props) {
|
|
|
360
366
|
}, []),
|
|
361
367
|
shouldRenderWebNative,
|
|
362
368
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_context.SelectProvider, {
|
|
363
|
-
scope
|
|
369
|
+
scope,
|
|
370
|
+
scopeName: scope,
|
|
371
|
+
adaptScope,
|
|
364
372
|
disablePreventBodyScroll,
|
|
365
373
|
dir,
|
|
366
374
|
blockSelection: !1,
|
|
@@ -370,7 +378,6 @@ function SelectInner(props) {
|
|
|
370
378
|
forceUpdate,
|
|
371
379
|
valueNode,
|
|
372
380
|
onValueNodeChange: setValueNode,
|
|
373
|
-
scopeKey: props.scopeKey,
|
|
374
381
|
activeIndex,
|
|
375
382
|
selectedIndex,
|
|
376
383
|
setActiveIndex: setActiveIndexDebounced,
|
|
@@ -379,7 +386,7 @@ function SelectInner(props) {
|
|
|
379
386
|
native,
|
|
380
387
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(SelectSheetController, {
|
|
381
388
|
onOpenChange: setOpen,
|
|
382
|
-
|
|
389
|
+
scope,
|
|
383
390
|
children: shouldRenderWebNative ? children : /* @__PURE__ */(0, import_jsx_runtime.jsx)(SelectImpl, {
|
|
384
391
|
activeIndexRef,
|
|
385
392
|
listContentRef,
|
package/dist/cjs/Select.js
CHANGED
|
@@ -33,13 +33,8 @@ const VALUE_NAME = "SelectValue", SelectValueFrame = (0, import_core.styled)(imp
|
|
|
33
33
|
name: VALUE_NAME,
|
|
34
34
|
userSelect: "none"
|
|
35
35
|
}), SelectValue = SelectValueFrame.styleable(
|
|
36
|
-
function({
|
|
37
|
-
|
|
38
|
-
children: childrenProp,
|
|
39
|
-
placeholder,
|
|
40
|
-
...props
|
|
41
|
-
}, forwardedRef) {
|
|
42
|
-
const context = (0, import_context.useSelectContext)(VALUE_NAME, __scopeSelect), itemParentContext = (0, import_context.useSelectItemParentContext)(VALUE_NAME, __scopeSelect), composedRefs = (0, import_compose_refs.useComposedRefs)(forwardedRef, context.onValueNodeChange), children = childrenProp ?? context.selectedItem, selectValueChildren = context.value == null || context.value === "" ? placeholder ?? children : children;
|
|
36
|
+
function({ scope, children: childrenProp, placeholder, ...props }, forwardedRef) {
|
|
37
|
+
const context = (0, import_context.useSelectContext)(scope), itemParentContext = (0, import_context.useSelectItemParentContext)(scope), composedRefs = (0, import_compose_refs.useComposedRefs)(forwardedRef, context.onValueNodeChange), children = childrenProp ?? context.selectedItem, selectValueChildren = context.value == null || context.value === "" ? placeholder ?? children : children;
|
|
43
38
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
44
39
|
SelectValueFrame,
|
|
45
40
|
{
|
|
@@ -73,16 +68,14 @@ const SelectIcon = (0, import_core.styled)(import_stacks.XStack, {
|
|
|
73
68
|
// @ts-ignore
|
|
74
69
|
"aria-hidden": !0,
|
|
75
70
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_text.Paragraph, { children: "\u25BC" })
|
|
76
|
-
}),
|
|
77
|
-
name:
|
|
71
|
+
}), SelectItemIndicatorFrame = (0, import_core.styled)(import_stacks.XStack, {
|
|
72
|
+
name: "SelectItemIndicator"
|
|
78
73
|
}), SelectItemIndicator = React.forwardRef(
|
|
79
|
-
(props, forwardedRef)
|
|
80
|
-
const {
|
|
74
|
+
function(props, forwardedRef) {
|
|
75
|
+
const { scope, ...itemIndicatorProps } = props, context = (0, import_context.useSelectItemParentContext)(scope), itemContext = (0, import_SelectItem.useSelectItemContext)(scope);
|
|
81
76
|
return context.shouldRenderWebNative ? null : itemContext.isSelected ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectItemIndicatorFrame, { "aria-hidden": !0, ...itemIndicatorProps, ref: forwardedRef }) : null;
|
|
82
77
|
}
|
|
83
|
-
)
|
|
84
|
-
SelectItemIndicator.displayName = ITEM_INDICATOR_NAME;
|
|
85
|
-
const GROUP_NAME = "SelectGroup", [SelectGroupContextProvider, useSelectGroupContext] = (0, import_context.createSelectContext)(GROUP_NAME), SelectGroupFrame = (0, import_core.styled)(import_stacks.YStack, {
|
|
78
|
+
), GROUP_NAME = "SelectGroup", { Provider: SelectGroupContextProvider, useStyledContext: useSelectGroupContext } = (0, import_core.createStyledContext)({ id: "" }, "SelectGroup"), SelectGroupFrame = (0, import_core.styled)(import_stacks.YStack, {
|
|
86
79
|
name: GROUP_NAME,
|
|
87
80
|
width: "100%"
|
|
88
81
|
}), NativeSelectTextFrame = (0, import_core.styled)(import_text.SizableText, {
|
|
@@ -119,7 +112,7 @@ const GROUP_NAME = "SelectGroup", [SelectGroupContextProvider, useSelectGroupCon
|
|
|
119
112
|
}
|
|
120
113
|
}), SelectGroup = React.forwardRef(
|
|
121
114
|
(props, forwardedRef) => {
|
|
122
|
-
const {
|
|
115
|
+
const { scope, ...groupProps } = props, groupId = React.useId(), context = (0, import_context.useSelectContext)(scope), itemParentContext = (0, import_context.useSelectItemParentContext)(scope), size = itemParentContext.size ?? "$true", nativeSelectRef = React.useRef(null), content = itemParentContext.shouldRenderWebNative ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
123
116
|
NativeSelectFrame,
|
|
124
117
|
{
|
|
125
118
|
asChild: !0,
|
|
@@ -152,13 +145,13 @@ const GROUP_NAME = "SelectGroup", [SelectGroupContextProvider, useSelectGroupCon
|
|
|
152
145
|
ref: forwardedRef
|
|
153
146
|
}
|
|
154
147
|
);
|
|
155
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectGroupContextProvider, { scope
|
|
148
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectGroupContextProvider, { scope, id: groupId || "", children: content });
|
|
156
149
|
}
|
|
157
150
|
);
|
|
158
151
|
SelectGroup.displayName = GROUP_NAME;
|
|
159
152
|
const LABEL_NAME = "SelectLabel", SelectLabel = React.forwardRef(
|
|
160
153
|
(props, forwardedRef) => {
|
|
161
|
-
const {
|
|
154
|
+
const { scope, ...labelProps } = props, context = (0, import_context.useSelectItemParentContext)(scope), groupContext = useSelectGroupContext(scope);
|
|
162
155
|
return context.shouldRenderWebNative ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
163
156
|
import_list_item.ListItem,
|
|
164
157
|
{
|
|
@@ -177,7 +170,7 @@ SelectLabel.displayName = LABEL_NAME;
|
|
|
177
170
|
const SelectSeparator = (0, import_core.styled)(import_separator.Separator, {
|
|
178
171
|
name: "SelectSeparator"
|
|
179
172
|
}), SelectSheetController = (props) => {
|
|
180
|
-
const context = (0, import_context.useSelectContext)(
|
|
173
|
+
const context = (0, import_context.useSelectContext)(props.scope), showSheet = (0, import_useSelectBreakpointActive.useShowSelectSheet)(context), isAdapted = (0, import_adapt.useAdaptIsActive)(context.adaptScope), getShowSheet = (0, import_core.useGet)(showSheet);
|
|
181
174
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
182
175
|
import_sheet.SheetController,
|
|
183
176
|
{
|
|
@@ -191,8 +184,8 @@ const SelectSeparator = (0, import_core.styled)(import_separator.Separator, {
|
|
|
191
184
|
);
|
|
192
185
|
}, SelectSheetImpl = (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: props.children }), Select = (0, import_helpers.withStaticProperties)(
|
|
193
186
|
function(props) {
|
|
194
|
-
const
|
|
195
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_adapt.AdaptParent, { scope:
|
|
187
|
+
const adaptScope = `AdaptSelect${props.scope || ""}`;
|
|
188
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_adapt.AdaptParent, { scope: adaptScope, portal: !0, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectInner, { scope: props.scope, adaptScope, ...props }) });
|
|
196
189
|
},
|
|
197
190
|
{
|
|
198
191
|
Adapt: import_adapt.Adapt,
|
|
@@ -224,7 +217,8 @@ function useEmitter() {
|
|
|
224
217
|
}
|
|
225
218
|
function SelectInner(props) {
|
|
226
219
|
const {
|
|
227
|
-
|
|
220
|
+
scope = "",
|
|
221
|
+
adaptScope,
|
|
228
222
|
native,
|
|
229
223
|
children,
|
|
230
224
|
open: openProp,
|
|
@@ -238,7 +232,7 @@ function SelectInner(props) {
|
|
|
238
232
|
onActiveChange,
|
|
239
233
|
dir,
|
|
240
234
|
id
|
|
241
|
-
} = props, SelectImpl = (0, import_adapt.useAdaptIsActive)() || !import_constants.isWeb ? SelectSheetImpl : import_SelectImpl.SelectInlineImpl, forceUpdate = React.useReducer(() => ({}), {})[1], [selectedItem, setSelectedItem] = React.useState(null), [open, setOpen] = (0, import_use_controllable_state.useControllableState)({
|
|
235
|
+
} = props, SelectImpl = (0, import_adapt.useAdaptIsActive)(adaptScope) || !import_constants.isWeb ? SelectSheetImpl : import_SelectImpl.SelectInlineImpl, forceUpdate = React.useReducer(() => ({}), {})[1], [selectedItem, setSelectedItem] = React.useState(null), [open, setOpen] = (0, import_use_controllable_state.useControllableState)({
|
|
242
236
|
prop: openProp,
|
|
243
237
|
defaultProp: defaultOpen || !1,
|
|
244
238
|
onChange: onOpenChange
|
|
@@ -268,7 +262,9 @@ function SelectInner(props) {
|
|
|
268
262
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
269
263
|
import_context.SelectItemParentProvider,
|
|
270
264
|
{
|
|
271
|
-
|
|
265
|
+
scopeName: scope,
|
|
266
|
+
scope,
|
|
267
|
+
adaptScope,
|
|
272
268
|
initialValue: React.useMemo(() => value, [open]),
|
|
273
269
|
size: sizeProp,
|
|
274
270
|
activeIndexSubscribe,
|
|
@@ -278,8 +274,8 @@ function SelectInner(props) {
|
|
|
278
274
|
onChange: React.useCallback((val) => {
|
|
279
275
|
setValue(val), emitValue(val);
|
|
280
276
|
}, []),
|
|
281
|
-
onActiveChange: (0, import_core.useEvent)((
|
|
282
|
-
onActiveChange?.(
|
|
277
|
+
onActiveChange: (0, import_core.useEvent)((value2, index) => {
|
|
278
|
+
onActiveChange?.(value2, index);
|
|
283
279
|
}),
|
|
284
280
|
setSelectedIndex,
|
|
285
281
|
setValueAtIndex: React.useCallback((index, value2) => {
|
|
@@ -289,7 +285,9 @@ function SelectInner(props) {
|
|
|
289
285
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
290
286
|
import_context.SelectProvider,
|
|
291
287
|
{
|
|
292
|
-
scope
|
|
288
|
+
scope,
|
|
289
|
+
scopeName: scope,
|
|
290
|
+
adaptScope,
|
|
293
291
|
disablePreventBodyScroll,
|
|
294
292
|
dir,
|
|
295
293
|
blockSelection: !1,
|
|
@@ -299,14 +297,13 @@ function SelectInner(props) {
|
|
|
299
297
|
forceUpdate,
|
|
300
298
|
valueNode,
|
|
301
299
|
onValueNodeChange: setValueNode,
|
|
302
|
-
scopeKey: props.scopeKey,
|
|
303
300
|
activeIndex,
|
|
304
301
|
selectedIndex,
|
|
305
302
|
setActiveIndex: setActiveIndexDebounced,
|
|
306
303
|
value,
|
|
307
304
|
open,
|
|
308
305
|
native,
|
|
309
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectSheetController, { onOpenChange: setOpen,
|
|
306
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectSheetController, { onOpenChange: setOpen, scope, children: shouldRenderWebNative ? children : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
310
307
|
SelectImpl,
|
|
311
308
|
{
|
|
312
309
|
activeIndexRef,
|
package/dist/cjs/Select.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Select.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAqD,2BACrD,sBAAgC,kCAChC,mBAAiD,+BAEjD,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["value"]
|
|
6
6
|
}
|
|
@@ -33,7 +33,7 @@ var import_jsx_runtime = require("react/jsx-runtime"), import_adapt = require("@
|
|
|
33
33
|
name: VALUE_NAME,
|
|
34
34
|
userSelect: "none"
|
|
35
35
|
}), SelectValue = SelectValueFrame.styleable(function(param, forwardedRef) {
|
|
36
|
-
var {
|
|
36
|
+
var { scope, children: childrenProp, placeholder, ...props } = param, context = (0, import_context.useSelectContext)(scope), itemParentContext = (0, import_context.useSelectItemParentContext)(scope), composedRefs = (0, import_compose_refs.useComposedRefs)(forwardedRef, context.onValueNodeChange), children = childrenProp ?? context.selectedItem, isEmptyValue = context.value == null || context.value === "", selectValueChildren = isEmptyValue ? placeholder ?? children : children;
|
|
37
37
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectValueFrame, {
|
|
38
38
|
...!props.unstyled && {
|
|
39
39
|
size: itemParentContext.size,
|
|
@@ -66,18 +66,18 @@ var SelectIcon = (0, import_core.styled)(import_stacks.XStack, {
|
|
|
66
66
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_text.Paragraph, {
|
|
67
67
|
children: "\u25BC"
|
|
68
68
|
})
|
|
69
|
-
}),
|
|
70
|
-
name:
|
|
69
|
+
}), SelectItemIndicatorFrame = (0, import_core.styled)(import_stacks.XStack, {
|
|
70
|
+
name: "SelectItemIndicator"
|
|
71
71
|
}), SelectItemIndicator = /* @__PURE__ */ React.forwardRef(function(props, forwardedRef) {
|
|
72
|
-
var {
|
|
72
|
+
var { scope, ...itemIndicatorProps } = props, context = (0, import_context.useSelectItemParentContext)(scope), itemContext = (0, import_SelectItem.useSelectItemContext)(scope);
|
|
73
73
|
return context.shouldRenderWebNative ? null : itemContext.isSelected ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectItemIndicatorFrame, {
|
|
74
74
|
"aria-hidden": !0,
|
|
75
75
|
...itemIndicatorProps,
|
|
76
76
|
ref: forwardedRef
|
|
77
77
|
}) : null;
|
|
78
|
-
})
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
}), GROUP_NAME = "SelectGroup", { Provider: SelectGroupContextProvider, useStyledContext: useSelectGroupContext } = (0, import_core.createStyledContext)({
|
|
79
|
+
id: ""
|
|
80
|
+
}, "SelectGroup"), SelectGroupFrame = (0, import_core.styled)(import_stacks.YStack, {
|
|
81
81
|
name: GROUP_NAME,
|
|
82
82
|
width: "100%"
|
|
83
83
|
}), NativeSelectTextFrame = (0, import_core.styled)(import_text.SizableText, {
|
|
@@ -113,7 +113,7 @@ var GROUP_NAME = "SelectGroup", [SelectGroupContextProvider, useSelectGroupConte
|
|
|
113
113
|
size: "$2"
|
|
114
114
|
}
|
|
115
115
|
}), SelectGroup = /* @__PURE__ */ React.forwardRef(function(props, forwardedRef) {
|
|
116
|
-
var {
|
|
116
|
+
var { scope, ...groupProps } = props, groupId = React.useId(), context = (0, import_context.useSelectContext)(scope), itemParentContext = (0, import_context.useSelectItemParentContext)(scope), _itemParentContext_size, size = (_itemParentContext_size = itemParentContext.size) !== null && _itemParentContext_size !== void 0 ? _itemParentContext_size : "$true", nativeSelectRef = React.useRef(null), content = function() {
|
|
117
117
|
return itemParentContext.shouldRenderWebNative ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(NativeSelectFrame, {
|
|
118
118
|
asChild: !0,
|
|
119
119
|
size,
|
|
@@ -143,14 +143,14 @@ var GROUP_NAME = "SelectGroup", [SelectGroupContextProvider, useSelectGroupConte
|
|
|
143
143
|
});
|
|
144
144
|
}();
|
|
145
145
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectGroupContextProvider, {
|
|
146
|
-
scope
|
|
146
|
+
scope,
|
|
147
147
|
id: groupId || "",
|
|
148
148
|
children: content
|
|
149
149
|
});
|
|
150
150
|
});
|
|
151
151
|
SelectGroup.displayName = GROUP_NAME;
|
|
152
152
|
var LABEL_NAME = "SelectLabel", SelectLabel = /* @__PURE__ */ React.forwardRef(function(props, forwardedRef) {
|
|
153
|
-
var {
|
|
153
|
+
var { scope, ...labelProps } = props, context = (0, import_context.useSelectItemParentContext)(scope), groupContext = useSelectGroupContext(scope);
|
|
154
154
|
return context.shouldRenderWebNative ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_list_item.ListItem, {
|
|
155
155
|
tag: "div",
|
|
156
156
|
componentName: LABEL_NAME,
|
|
@@ -165,7 +165,7 @@ SelectLabel.displayName = LABEL_NAME;
|
|
|
165
165
|
var SelectSeparator = (0, import_core.styled)(import_separator.Separator, {
|
|
166
166
|
name: "SelectSeparator"
|
|
167
167
|
}), SelectSheetController = function(props) {
|
|
168
|
-
var context = (0, import_context.useSelectContext)(
|
|
168
|
+
var context = (0, import_context.useSelectContext)(props.scope), showSheet = (0, import_useSelectBreakpointActive.useShowSelectSheet)(context), isAdapted = (0, import_adapt.useAdaptIsActive)(context.adaptScope), getShowSheet = (0, import_core.useGet)(showSheet);
|
|
169
169
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_sheet.SheetController, {
|
|
170
170
|
onOpenChange: function(val) {
|
|
171
171
|
getShowSheet() && props.onOpenChange(val);
|
|
@@ -179,12 +179,13 @@ var SelectSeparator = (0, import_core.styled)(import_separator.Separator, {
|
|
|
179
179
|
children: props.children
|
|
180
180
|
});
|
|
181
181
|
}, Select = (0, import_helpers.withStaticProperties)(function(props) {
|
|
182
|
-
var
|
|
182
|
+
var adaptScope = `AdaptSelect${props.scope || ""}`;
|
|
183
183
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_adapt.AdaptParent, {
|
|
184
|
-
scope:
|
|
184
|
+
scope: adaptScope,
|
|
185
185
|
portal: !0,
|
|
186
186
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectInner, {
|
|
187
|
-
|
|
187
|
+
scope: props.scope,
|
|
188
|
+
adaptScope,
|
|
188
189
|
...props
|
|
189
190
|
})
|
|
190
191
|
});
|
|
@@ -223,7 +224,7 @@ function useEmitter() {
|
|
|
223
224
|
];
|
|
224
225
|
}
|
|
225
226
|
function SelectInner(props) {
|
|
226
|
-
var {
|
|
227
|
+
var { scope = "", adaptScope, native, children, open: openProp, defaultOpen, onOpenChange, value: valueProp, defaultValue, onValueChange, disablePreventBodyScroll, size: sizeProp = "$true", onActiveChange, dir, id } = props, isAdapted = (0, import_adapt.useAdaptIsActive)(adaptScope), SelectImpl = isAdapted || !import_constants.isWeb ? SelectSheetImpl : import_SelectImpl.SelectInlineImpl, forceUpdate = React.useReducer(function() {
|
|
227
228
|
return {};
|
|
228
229
|
}, {})[1], [selectedItem, setSelectedItem] = React.useState(null), [open, setOpen] = (0, import_use_controllable_state.useControllableState)({
|
|
229
230
|
prop: openProp,
|
|
@@ -267,7 +268,9 @@ function SelectInner(props) {
|
|
|
267
268
|
});
|
|
268
269
|
}, 1, {}, []);
|
|
269
270
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_context.SelectItemParentProvider, {
|
|
270
|
-
|
|
271
|
+
scopeName: scope,
|
|
272
|
+
scope,
|
|
273
|
+
adaptScope,
|
|
271
274
|
initialValue: React.useMemo(function() {
|
|
272
275
|
return value;
|
|
273
276
|
}, [
|
|
@@ -281,10 +284,8 @@ function SelectInner(props) {
|
|
|
281
284
|
onChange: React.useCallback(function(val) {
|
|
282
285
|
setValue(val), emitValue(val);
|
|
283
286
|
}, []),
|
|
284
|
-
onActiveChange: (0, import_core.useEvent)(function() {
|
|
285
|
-
|
|
286
|
-
args[_key] = arguments[_key];
|
|
287
|
-
onActiveChange == null || onActiveChange(...args);
|
|
287
|
+
onActiveChange: (0, import_core.useEvent)(function(value2, index) {
|
|
288
|
+
onActiveChange == null || onActiveChange(value2, index);
|
|
288
289
|
}),
|
|
289
290
|
setSelectedIndex,
|
|
290
291
|
setValueAtIndex: React.useCallback(function(index, value2) {
|
|
@@ -292,7 +293,9 @@ function SelectInner(props) {
|
|
|
292
293
|
}, []),
|
|
293
294
|
shouldRenderWebNative,
|
|
294
295
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_context.SelectProvider, {
|
|
295
|
-
scope
|
|
296
|
+
scope,
|
|
297
|
+
scopeName: scope,
|
|
298
|
+
adaptScope,
|
|
296
299
|
disablePreventBodyScroll,
|
|
297
300
|
dir,
|
|
298
301
|
blockSelection: !1,
|
|
@@ -302,7 +305,6 @@ function SelectInner(props) {
|
|
|
302
305
|
forceUpdate,
|
|
303
306
|
valueNode,
|
|
304
307
|
onValueNodeChange: setValueNode,
|
|
305
|
-
scopeKey: props.scopeKey,
|
|
306
308
|
activeIndex,
|
|
307
309
|
selectedIndex,
|
|
308
310
|
setActiveIndex: setActiveIndexDebounced,
|
|
@@ -311,7 +313,7 @@ function SelectInner(props) {
|
|
|
311
313
|
native,
|
|
312
314
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectSheetController, {
|
|
313
315
|
onOpenChange: setOpen,
|
|
314
|
-
|
|
316
|
+
scope,
|
|
315
317
|
children: shouldRenderWebNative ? children : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectImpl, {
|
|
316
318
|
activeIndexRef,
|
|
317
319
|
listContentRef,
|