@tamagui/select 3.0.0-beta.924.1 → 3.0.1
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 +23 -25
- package/dist/cjs/Select.native.cjs +27 -26
- package/dist/cjs/Select.native.js +27 -26
- package/dist/cjs/Select.native.js.map +1 -1
- package/dist/cjs/SelectImpl.cjs +67 -63
- package/dist/cjs/SelectItem.cjs +49 -60
- package/dist/cjs/SelectItem.native.cjs +51 -79
- package/dist/cjs/SelectItem.native.js +51 -79
- package/dist/cjs/SelectItem.native.js.map +1 -1
- package/dist/cjs/SelectScrollButton.cjs +9 -25
- package/dist/cjs/SelectTrigger.cjs +22 -5
- package/dist/cjs/SelectTrigger.native.cjs +15 -5
- package/dist/cjs/SelectTrigger.native.js +15 -5
- package/dist/cjs/SelectTrigger.native.js.map +1 -1
- package/dist/cjs/SelectViewport.cjs +29 -32
- package/dist/cjs/SelectViewport.native.cjs +2 -2
- package/dist/cjs/SelectViewport.native.js +2 -2
- package/dist/cjs/SelectViewport.native.js.map +1 -1
- package/dist/cjs/selectionController.cjs +15 -5
- package/dist/cjs/selectionController.native.cjs +20 -15
- package/dist/cjs/selectionController.native.js +20 -15
- package/dist/cjs/selectionController.native.js.map +1 -1
- package/dist/esm/Select.mjs +27 -28
- package/dist/esm/Select.mjs.map +1 -1
- package/dist/esm/Select.native.js +31 -29
- package/dist/esm/Select.native.js.map +1 -1
- package/dist/esm/SelectImpl.mjs +68 -64
- package/dist/esm/SelectImpl.mjs.map +1 -1
- package/dist/esm/SelectItem.mjs +50 -61
- package/dist/esm/SelectItem.mjs.map +1 -1
- package/dist/esm/SelectItem.native.js +52 -80
- package/dist/esm/SelectItem.native.js.map +1 -1
- package/dist/esm/SelectScrollButton.mjs +10 -26
- package/dist/esm/SelectScrollButton.mjs.map +1 -1
- package/dist/esm/SelectTrigger.mjs +16 -5
- package/dist/esm/SelectTrigger.mjs.map +1 -1
- package/dist/esm/SelectTrigger.native.js +15 -4
- package/dist/esm/SelectTrigger.native.js.map +1 -1
- package/dist/esm/SelectViewport.mjs +30 -33
- package/dist/esm/SelectViewport.mjs.map +1 -1
- package/dist/esm/SelectViewport.native.js +3 -3
- package/dist/esm/SelectViewport.native.js.map +1 -1
- package/dist/esm/selectionController.mjs +15 -5
- package/dist/esm/selectionController.mjs.map +1 -1
- package/dist/esm/selectionController.native.js +20 -15
- package/dist/esm/selectionController.native.js.map +1 -1
- package/dist/jsx/Select.mjs +27 -28
- package/dist/jsx/Select.mjs.map +1 -1
- package/dist/jsx/Select.native.cjs +27 -26
- package/dist/jsx/Select.native.js +27 -26
- package/dist/jsx/Select.native.js.map +1 -1
- package/dist/jsx/SelectImpl.mjs +68 -64
- package/dist/jsx/SelectImpl.mjs.map +1 -1
- package/dist/jsx/SelectItem.mjs +50 -61
- package/dist/jsx/SelectItem.mjs.map +1 -1
- package/dist/jsx/SelectItem.native.cjs +51 -79
- package/dist/jsx/SelectItem.native.js +51 -79
- package/dist/jsx/SelectItem.native.js.map +1 -1
- package/dist/jsx/SelectScrollButton.mjs +10 -26
- package/dist/jsx/SelectScrollButton.mjs.map +1 -1
- package/dist/jsx/SelectTrigger.mjs +16 -5
- package/dist/jsx/SelectTrigger.mjs.map +1 -1
- package/dist/jsx/SelectTrigger.native.cjs +15 -5
- package/dist/jsx/SelectTrigger.native.js +15 -5
- package/dist/jsx/SelectTrigger.native.js.map +1 -1
- package/dist/jsx/SelectViewport.mjs +30 -33
- package/dist/jsx/SelectViewport.mjs.map +1 -1
- package/dist/jsx/SelectViewport.native.cjs +2 -2
- package/dist/jsx/SelectViewport.native.js +2 -2
- package/dist/jsx/SelectViewport.native.js.map +1 -1
- package/dist/jsx/selectionController.mjs +15 -5
- package/dist/jsx/selectionController.mjs.map +1 -1
- package/dist/jsx/selectionController.native.cjs +20 -15
- package/dist/jsx/selectionController.native.js +20 -15
- package/dist/jsx/selectionController.native.js.map +1 -1
- package/package.json +30 -29
- package/src/Select.tsx +41 -41
- package/src/SelectImpl.tsx +107 -95
- package/src/SelectItem.tsx +66 -91
- package/src/SelectScrollButton.tsx +14 -32
- package/src/SelectTrigger.tsx +19 -2
- package/src/SelectViewport.native.tsx +4 -4
- package/src/SelectViewport.tsx +34 -30
- package/src/selectionController.ts +20 -5
- package/src/types.tsx +26 -22
- package/types/Select.d.ts +42 -81
- package/types/Select.d.ts.map +1 -1
- package/types/SelectImpl.d.ts.map +1 -1
- package/types/SelectItem.d.ts +3 -5
- package/types/SelectItem.d.ts.map +1 -1
- package/types/SelectItemText.d.ts +3 -5
- package/types/SelectItemText.d.ts.map +1 -1
- package/types/SelectScrollButton.d.ts +5 -9
- package/types/SelectScrollButton.d.ts.map +1 -1
- package/types/SelectScrollButton.native.d.ts +5 -9
- package/types/SelectScrollButton.native.d.ts.map +1 -1
- package/types/SelectTrigger.d.ts +3 -5
- package/types/SelectTrigger.d.ts.map +1 -1
- package/types/SelectViewport.d.ts +4 -9
- package/types/SelectViewport.d.ts.map +1 -1
- package/types/SelectViewport.native.d.ts +4 -9
- package/types/SelectViewport.native.d.ts.map +1 -1
- package/types/selectionController.d.ts +2 -0
- package/types/selectionController.d.ts.map +1 -1
- package/types/types.d.ts +30 -22
- package/types/types.d.ts.map +1 -1
package/dist/cjs/Select.cjs
CHANGED
|
@@ -67,6 +67,8 @@ const SelectValue = (0, import_core.createStyledHOC)(SelectValueFrame, function
|
|
|
67
67
|
const itemParentContext = (0, import_context.useSelectItemParentContext)(scope);
|
|
68
68
|
const composedRefs = (0, import_compose_refs.useComposedRefs)(forwardedRef, context.onValueNodeChange);
|
|
69
69
|
const isEmptyValue = context.selectedValues.length === 0;
|
|
70
|
+
const [, rerender] = React.useReducer((version) => version + 1, 0);
|
|
71
|
+
(0, import_constants.useIsomorphicLayoutEffect)(() => itemParentContext.registry.subscribe(rerender), [itemParentContext.registry]);
|
|
70
72
|
const registeredValue = context.mode === "multiple" ? context.selectedValues.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(React.Fragment, { children: [index > 0 ? ", " : null, itemParentContext.registry.getItem(value)?.label ?? value] }, value)) : itemParentContext.registry.getItem(context.selectedValues[0])?.label ?? context.value;
|
|
71
73
|
const children = childrenProp !== void 0 ? childrenProp : context.renderValue ? context.renderValue(context.value) : registeredValue;
|
|
72
74
|
const selectValueChildren = isEmptyValue ? placeholder ?? children : children;
|
|
@@ -106,7 +108,7 @@ const SelectIndicator = (0, import_core.createStyledHOC)(SelectIndicatorFrame, f
|
|
|
106
108
|
const context = (0, import_context.useSelectContext)(scope);
|
|
107
109
|
const [layout, setLayout] = React.useState(null);
|
|
108
110
|
const rafRef = React.useRef(0);
|
|
109
|
-
|
|
111
|
+
(0, import_constants.useIsomorphicLayoutEffect)(() => {
|
|
110
112
|
const update = (index) => {
|
|
111
113
|
if (typeof index !== "number") return;
|
|
112
114
|
cancelAnimationFrame(rafRef.current);
|
|
@@ -210,6 +212,7 @@ function SelectRoot(props) {
|
|
|
210
212
|
}, [requestOpenChange]);
|
|
211
213
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_adapt.AdaptParent, {
|
|
212
214
|
scope: adaptScope,
|
|
215
|
+
adaptChildren: props.children,
|
|
213
216
|
open,
|
|
214
217
|
onOpenChange: handleAdaptOpenChange,
|
|
215
218
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectInner, {
|
|
@@ -278,28 +281,32 @@ function SelectInner(props) {
|
|
|
278
281
|
controller.setValue(value);
|
|
279
282
|
React.useEffect(() => {}, [props.id, requestOpenChange]);
|
|
280
283
|
const activeIndexRef = React.useRef(null);
|
|
281
|
-
const [activeIndex, setActiveIndexState] = React.useState(null);
|
|
282
284
|
const [emitActiveIndex, activeIndexSubscribe] = useEmitter();
|
|
283
285
|
const selectedIndexRef = React.useRef(null);
|
|
286
|
+
const lastPointerRef = React.useRef({
|
|
287
|
+
x: -1,
|
|
288
|
+
y: -1
|
|
289
|
+
});
|
|
284
290
|
const listContentRef = React.useRef([]);
|
|
285
291
|
const listRef = React.useRef([]);
|
|
286
292
|
const [valueNode, setValueNode] = React.useState(null);
|
|
287
293
|
const selectedIndex = Math.max(0, controller.selectionAnchorIndex());
|
|
288
294
|
listContentRef.current = registry.getTypeaheadLabels();
|
|
289
|
-
|
|
295
|
+
const itemNodes = registry.getNodes();
|
|
296
|
+
listRef.current.length = itemNodes.length;
|
|
297
|
+
for (let i = 0; i < itemNodes.length; i++) listRef.current[i] = itemNodes[i];
|
|
290
298
|
(0, import_constants.useIsomorphicLayoutEffect)(() => {
|
|
291
299
|
selectedIndexRef.current = selectedIndex;
|
|
292
300
|
});
|
|
293
301
|
const shouldRenderWebNative = import_constants.isWeb && (native === true || native === "web" || Array.isArray(native) && native.includes("web"));
|
|
294
|
-
const
|
|
295
|
-
if (activeIndexRef.current
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
}
|
|
302
|
+
const setActiveIndex = React.useCallback((index, details) => {
|
|
303
|
+
if (activeIndexRef.current === index) return;
|
|
304
|
+
activeIndexRef.current = index;
|
|
305
|
+
controller.setActiveIndex(index);
|
|
306
|
+
emitActiveIndex(index);
|
|
307
|
+
if (typeof index === "number") {
|
|
308
|
+
const item = registry.getItems()[index];
|
|
309
|
+
if (item && details) onActiveChange?.(item.value, details);
|
|
303
310
|
}
|
|
304
311
|
}, [
|
|
305
312
|
controller,
|
|
@@ -307,10 +314,6 @@ function SelectInner(props) {
|
|
|
307
314
|
onActiveChange,
|
|
308
315
|
registry
|
|
309
316
|
]);
|
|
310
|
-
const setActiveIndex = React.useCallback((index, details) => {
|
|
311
|
-
setActiveIndexFast(index, details);
|
|
312
|
-
setActiveIndexState(index);
|
|
313
|
-
}, [setActiveIndexFast]);
|
|
314
317
|
const activeDetails = React.useCallback((reason, index, event) => ({
|
|
315
318
|
reason,
|
|
316
319
|
event,
|
|
@@ -353,10 +356,7 @@ function SelectInner(props) {
|
|
|
353
356
|
if (open) {
|
|
354
357
|
const nextIndex = controller.initialActiveIndex();
|
|
355
358
|
if (nextIndex >= 0) setActiveIndex(nextIndex, activeDetails("list-navigation", nextIndex));
|
|
356
|
-
} else
|
|
357
|
-
setActiveIndexFast(null);
|
|
358
|
-
setActiveIndexState(null);
|
|
359
|
-
}
|
|
359
|
+
} else setActiveIndex(null);
|
|
360
360
|
}, [
|
|
361
361
|
open,
|
|
362
362
|
selectedIndex,
|
|
@@ -404,7 +404,9 @@ function SelectInner(props) {
|
|
|
404
404
|
selectValue,
|
|
405
405
|
changeNativeValue,
|
|
406
406
|
shouldRenderWebNative,
|
|
407
|
-
|
|
407
|
+
setActiveIndex,
|
|
408
|
+
selectedIndex,
|
|
409
|
+
lastPointerRef,
|
|
408
410
|
listRef,
|
|
409
411
|
moveActive,
|
|
410
412
|
search,
|
|
@@ -418,15 +420,12 @@ function SelectInner(props) {
|
|
|
418
420
|
fallback: false,
|
|
419
421
|
valueNode,
|
|
420
422
|
onValueNodeChange: setValueNode,
|
|
421
|
-
activeIndex,
|
|
422
423
|
activeIndexRef,
|
|
423
424
|
selectedIndex,
|
|
424
425
|
setActiveIndex,
|
|
425
426
|
value,
|
|
426
427
|
mode,
|
|
427
428
|
selectedValues,
|
|
428
|
-
activeItem: activeIndex == null ? void 0 : registry.getItems()[activeIndex]?.value,
|
|
429
|
-
selectionAnchor: controller.selectionAnchor()?.value,
|
|
430
429
|
open,
|
|
431
430
|
native,
|
|
432
431
|
renderValue,
|
|
@@ -435,7 +434,6 @@ function SelectInner(props) {
|
|
|
435
434
|
activeIndexRef,
|
|
436
435
|
listContentRef,
|
|
437
436
|
selectedIndexRef,
|
|
438
|
-
setActiveIndexFast,
|
|
439
437
|
...props,
|
|
440
438
|
open,
|
|
441
439
|
value,
|
|
@@ -71,6 +71,12 @@ var SelectValue = (0, import_core.createStyledHOC)(SelectValueFrame, function Se
|
|
|
71
71
|
var itemParentContext = (0, import_context.useSelectItemParentContext)(scope);
|
|
72
72
|
var composedRefs = (0, import_compose_refs.useComposedRefs)(forwardedRef, context.onValueNodeChange);
|
|
73
73
|
var isEmptyValue = context.selectedValues.length === 0;
|
|
74
|
+
var [, rerender] = React.useReducer(function(version) {
|
|
75
|
+
return version + 1;
|
|
76
|
+
}, 0);
|
|
77
|
+
(0, import_constants.useIsomorphicLayoutEffect)(function() {
|
|
78
|
+
return itemParentContext.registry.subscribe(rerender);
|
|
79
|
+
}, [itemParentContext.registry]);
|
|
74
80
|
var _itemParentContext_registry_getItem_label;
|
|
75
81
|
var registeredValue = context.mode === "multiple" ? context.selectedValues.map(function(value, index) {
|
|
76
82
|
var _itemParentContext_registry_getItem2;
|
|
@@ -116,7 +122,7 @@ var SelectIndicator = (0, import_core.createStyledHOC)(SelectIndicatorFrame, fun
|
|
|
116
122
|
var context = (0, import_context.useSelectContext)(scope);
|
|
117
123
|
var [layout, setLayout] = React.useState(null);
|
|
118
124
|
var rafRef = React.useRef(0);
|
|
119
|
-
|
|
125
|
+
(0, import_constants.useIsomorphicLayoutEffect)(function() {
|
|
120
126
|
var update = function(index) {
|
|
121
127
|
if (typeof index !== "number") return;
|
|
122
128
|
cancelAnimationFrame(rafRef.current);
|
|
@@ -223,6 +229,7 @@ function SelectRoot(props) {
|
|
|
223
229
|
}, [requestOpenChange]);
|
|
224
230
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_adapt.AdaptParent, {
|
|
225
231
|
scope: adaptScope,
|
|
232
|
+
adaptChildren: props.children,
|
|
226
233
|
open,
|
|
227
234
|
onOpenChange: handleAdaptOpenChange,
|
|
228
235
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectInner, {
|
|
@@ -267,7 +274,6 @@ function useEmitter() {
|
|
|
267
274
|
}, [])];
|
|
268
275
|
}
|
|
269
276
|
function SelectInner(props) {
|
|
270
|
-
var _registry_getItems_activeIndex, _controller_selectionAnchor;
|
|
271
277
|
var { scope = "", adaptScope, native, children, open, requestOpenChange, defaultOpen: _defaultOpen, onOpenChange: _onOpenChange, value: valueProp, defaultValue, onValueChange, multiple = false, name, form, disablePreventBodyScroll, size: sizeProp = true, onActiveChange, dir, id, renderValue, lazyMount, zIndex } = props;
|
|
272
278
|
var SelectImpl = (0, import_adapt.useAdaptIsActive)(adaptScope) ? SelectSheetImpl : import_SelectImpl.SelectInlineImpl;
|
|
273
279
|
var mode = multiple ? "multiple" : "single";
|
|
@@ -310,28 +316,32 @@ function SelectInner(props) {
|
|
|
310
316
|
});
|
|
311
317
|
}, [props.id, requestOpenChange]);
|
|
312
318
|
var activeIndexRef = React.useRef(null);
|
|
313
|
-
var [activeIndex, setActiveIndexState] = React.useState(null);
|
|
314
319
|
var [emitActiveIndex, activeIndexSubscribe] = useEmitter();
|
|
315
320
|
var selectedIndexRef = React.useRef(null);
|
|
321
|
+
var lastPointerRef = React.useRef({
|
|
322
|
+
x: -1,
|
|
323
|
+
y: -1
|
|
324
|
+
});
|
|
316
325
|
var listContentRef = React.useRef([]);
|
|
317
326
|
var listRef = React.useRef([]);
|
|
318
327
|
var [valueNode, setValueNode] = React.useState(null);
|
|
319
328
|
var selectedIndex = Math.max(0, controller.selectionAnchorIndex());
|
|
320
329
|
listContentRef.current = registry.getTypeaheadLabels();
|
|
321
|
-
|
|
330
|
+
var itemNodes = registry.getNodes();
|
|
331
|
+
listRef.current.length = itemNodes.length;
|
|
332
|
+
for (var i = 0; i < itemNodes.length; i++) listRef.current[i] = itemNodes[i];
|
|
322
333
|
(0, import_constants.useIsomorphicLayoutEffect)(function() {
|
|
323
334
|
selectedIndexRef.current = selectedIndex;
|
|
324
335
|
});
|
|
325
336
|
var shouldRenderWebNative = import_constants.isWeb && (native === true || native === "web" || Array.isArray(native) && native.includes("web"));
|
|
326
|
-
var
|
|
327
|
-
if (activeIndexRef.current
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
}
|
|
337
|
+
var setActiveIndex = React.useCallback(function(index, details) {
|
|
338
|
+
if (activeIndexRef.current === index) return;
|
|
339
|
+
activeIndexRef.current = index;
|
|
340
|
+
controller.setActiveIndex(index);
|
|
341
|
+
emitActiveIndex(index);
|
|
342
|
+
if (typeof index === "number") {
|
|
343
|
+
var item = registry.getItems()[index];
|
|
344
|
+
if (item && details) onActiveChange === null || onActiveChange === void 0 || onActiveChange(item.value, details);
|
|
335
345
|
}
|
|
336
346
|
}, [
|
|
337
347
|
controller,
|
|
@@ -339,10 +349,6 @@ function SelectInner(props) {
|
|
|
339
349
|
onActiveChange,
|
|
340
350
|
registry
|
|
341
351
|
]);
|
|
342
|
-
var setActiveIndex = React.useCallback(function(index, details) {
|
|
343
|
-
setActiveIndexFast(index, details);
|
|
344
|
-
setActiveIndexState(index);
|
|
345
|
-
}, [setActiveIndexFast]);
|
|
346
352
|
var activeDetails = React.useCallback(function(reason, index, event) {
|
|
347
353
|
return {
|
|
348
354
|
reason,
|
|
@@ -389,10 +395,7 @@ function SelectInner(props) {
|
|
|
389
395
|
if (open) {
|
|
390
396
|
var nextIndex = controller.initialActiveIndex();
|
|
391
397
|
if (nextIndex >= 0) setActiveIndex(nextIndex, activeDetails("list-navigation", nextIndex));
|
|
392
|
-
} else
|
|
393
|
-
setActiveIndexFast(null);
|
|
394
|
-
setActiveIndexState(null);
|
|
395
|
-
}
|
|
398
|
+
} else setActiveIndex(null);
|
|
396
399
|
}, [
|
|
397
400
|
open,
|
|
398
401
|
selectedIndex,
|
|
@@ -440,7 +443,9 @@ function SelectInner(props) {
|
|
|
440
443
|
selectValue,
|
|
441
444
|
changeNativeValue,
|
|
442
445
|
shouldRenderWebNative,
|
|
443
|
-
|
|
446
|
+
setActiveIndex,
|
|
447
|
+
selectedIndex,
|
|
448
|
+
lastPointerRef,
|
|
444
449
|
listRef,
|
|
445
450
|
moveActive,
|
|
446
451
|
search,
|
|
@@ -454,15 +459,12 @@ function SelectInner(props) {
|
|
|
454
459
|
fallback: false,
|
|
455
460
|
valueNode,
|
|
456
461
|
onValueNodeChange: setValueNode,
|
|
457
|
-
activeIndex,
|
|
458
462
|
activeIndexRef,
|
|
459
463
|
selectedIndex,
|
|
460
464
|
setActiveIndex,
|
|
461
465
|
value,
|
|
462
466
|
mode,
|
|
463
467
|
selectedValues,
|
|
464
|
-
activeItem: activeIndex == null ? void 0 : (_registry_getItems_activeIndex = registry.getItems()[activeIndex]) === null || _registry_getItems_activeIndex === void 0 ? void 0 : _registry_getItems_activeIndex.value,
|
|
465
|
-
selectionAnchor: (_controller_selectionAnchor = controller.selectionAnchor()) === null || _controller_selectionAnchor === void 0 ? void 0 : _controller_selectionAnchor.value,
|
|
466
468
|
open,
|
|
467
469
|
native,
|
|
468
470
|
renderValue,
|
|
@@ -471,7 +473,6 @@ function SelectInner(props) {
|
|
|
471
473
|
activeIndexRef,
|
|
472
474
|
listContentRef,
|
|
473
475
|
selectedIndexRef,
|
|
474
|
-
setActiveIndexFast,
|
|
475
476
|
...props,
|
|
476
477
|
open,
|
|
477
478
|
value,
|
|
@@ -71,6 +71,12 @@ var SelectValue = (0, import_core.createStyledHOC)(SelectValueFrame, function Se
|
|
|
71
71
|
var itemParentContext = (0, import_context.useSelectItemParentContext)(scope);
|
|
72
72
|
var composedRefs = (0, import_compose_refs.useComposedRefs)(forwardedRef, context.onValueNodeChange);
|
|
73
73
|
var isEmptyValue = context.selectedValues.length === 0;
|
|
74
|
+
var [, rerender] = React.useReducer(function(version) {
|
|
75
|
+
return version + 1;
|
|
76
|
+
}, 0);
|
|
77
|
+
(0, import_constants.useIsomorphicLayoutEffect)(function() {
|
|
78
|
+
return itemParentContext.registry.subscribe(rerender);
|
|
79
|
+
}, [itemParentContext.registry]);
|
|
74
80
|
var _itemParentContext_registry_getItem_label;
|
|
75
81
|
var registeredValue = context.mode === "multiple" ? context.selectedValues.map(function(value, index) {
|
|
76
82
|
var _itemParentContext_registry_getItem2;
|
|
@@ -116,7 +122,7 @@ var SelectIndicator = (0, import_core.createStyledHOC)(SelectIndicatorFrame, fun
|
|
|
116
122
|
var context = (0, import_context.useSelectContext)(scope);
|
|
117
123
|
var [layout, setLayout] = React.useState(null);
|
|
118
124
|
var rafRef = React.useRef(0);
|
|
119
|
-
|
|
125
|
+
(0, import_constants.useIsomorphicLayoutEffect)(function() {
|
|
120
126
|
var update = function(index) {
|
|
121
127
|
if (typeof index !== "number") return;
|
|
122
128
|
cancelAnimationFrame(rafRef.current);
|
|
@@ -223,6 +229,7 @@ function SelectRoot(props) {
|
|
|
223
229
|
}, [requestOpenChange]);
|
|
224
230
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_adapt.AdaptParent, {
|
|
225
231
|
scope: adaptScope,
|
|
232
|
+
adaptChildren: props.children,
|
|
226
233
|
open,
|
|
227
234
|
onOpenChange: handleAdaptOpenChange,
|
|
228
235
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectInner, {
|
|
@@ -267,7 +274,6 @@ function useEmitter() {
|
|
|
267
274
|
}, [])];
|
|
268
275
|
}
|
|
269
276
|
function SelectInner(props) {
|
|
270
|
-
var _registry_getItems_activeIndex, _controller_selectionAnchor;
|
|
271
277
|
var { scope = "", adaptScope, native, children, open, requestOpenChange, defaultOpen: _defaultOpen, onOpenChange: _onOpenChange, value: valueProp, defaultValue, onValueChange, multiple = false, name, form, disablePreventBodyScroll, size: sizeProp = true, onActiveChange, dir, id, renderValue, lazyMount, zIndex } = props;
|
|
272
278
|
var SelectImpl = (0, import_adapt.useAdaptIsActive)(adaptScope) ? SelectSheetImpl : import_SelectImpl.SelectInlineImpl;
|
|
273
279
|
var mode = multiple ? "multiple" : "single";
|
|
@@ -310,28 +316,32 @@ function SelectInner(props) {
|
|
|
310
316
|
});
|
|
311
317
|
}, [props.id, requestOpenChange]);
|
|
312
318
|
var activeIndexRef = React.useRef(null);
|
|
313
|
-
var [activeIndex, setActiveIndexState] = React.useState(null);
|
|
314
319
|
var [emitActiveIndex, activeIndexSubscribe] = useEmitter();
|
|
315
320
|
var selectedIndexRef = React.useRef(null);
|
|
321
|
+
var lastPointerRef = React.useRef({
|
|
322
|
+
x: -1,
|
|
323
|
+
y: -1
|
|
324
|
+
});
|
|
316
325
|
var listContentRef = React.useRef([]);
|
|
317
326
|
var listRef = React.useRef([]);
|
|
318
327
|
var [valueNode, setValueNode] = React.useState(null);
|
|
319
328
|
var selectedIndex = Math.max(0, controller.selectionAnchorIndex());
|
|
320
329
|
listContentRef.current = registry.getTypeaheadLabels();
|
|
321
|
-
|
|
330
|
+
var itemNodes = registry.getNodes();
|
|
331
|
+
listRef.current.length = itemNodes.length;
|
|
332
|
+
for (var i = 0; i < itemNodes.length; i++) listRef.current[i] = itemNodes[i];
|
|
322
333
|
(0, import_constants.useIsomorphicLayoutEffect)(function() {
|
|
323
334
|
selectedIndexRef.current = selectedIndex;
|
|
324
335
|
});
|
|
325
336
|
var shouldRenderWebNative = import_constants.isWeb && (native === true || native === "web" || Array.isArray(native) && native.includes("web"));
|
|
326
|
-
var
|
|
327
|
-
if (activeIndexRef.current
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
}
|
|
337
|
+
var setActiveIndex = React.useCallback(function(index, details) {
|
|
338
|
+
if (activeIndexRef.current === index) return;
|
|
339
|
+
activeIndexRef.current = index;
|
|
340
|
+
controller.setActiveIndex(index);
|
|
341
|
+
emitActiveIndex(index);
|
|
342
|
+
if (typeof index === "number") {
|
|
343
|
+
var item = registry.getItems()[index];
|
|
344
|
+
if (item && details) onActiveChange === null || onActiveChange === void 0 || onActiveChange(item.value, details);
|
|
335
345
|
}
|
|
336
346
|
}, [
|
|
337
347
|
controller,
|
|
@@ -339,10 +349,6 @@ function SelectInner(props) {
|
|
|
339
349
|
onActiveChange,
|
|
340
350
|
registry
|
|
341
351
|
]);
|
|
342
|
-
var setActiveIndex = React.useCallback(function(index, details) {
|
|
343
|
-
setActiveIndexFast(index, details);
|
|
344
|
-
setActiveIndexState(index);
|
|
345
|
-
}, [setActiveIndexFast]);
|
|
346
352
|
var activeDetails = React.useCallback(function(reason, index, event) {
|
|
347
353
|
return {
|
|
348
354
|
reason,
|
|
@@ -389,10 +395,7 @@ function SelectInner(props) {
|
|
|
389
395
|
if (open) {
|
|
390
396
|
var nextIndex = controller.initialActiveIndex();
|
|
391
397
|
if (nextIndex >= 0) setActiveIndex(nextIndex, activeDetails("list-navigation", nextIndex));
|
|
392
|
-
} else
|
|
393
|
-
setActiveIndexFast(null);
|
|
394
|
-
setActiveIndexState(null);
|
|
395
|
-
}
|
|
398
|
+
} else setActiveIndex(null);
|
|
396
399
|
}, [
|
|
397
400
|
open,
|
|
398
401
|
selectedIndex,
|
|
@@ -440,7 +443,9 @@ function SelectInner(props) {
|
|
|
440
443
|
selectValue,
|
|
441
444
|
changeNativeValue,
|
|
442
445
|
shouldRenderWebNative,
|
|
443
|
-
|
|
446
|
+
setActiveIndex,
|
|
447
|
+
selectedIndex,
|
|
448
|
+
lastPointerRef,
|
|
444
449
|
listRef,
|
|
445
450
|
moveActive,
|
|
446
451
|
search,
|
|
@@ -454,15 +459,12 @@ function SelectInner(props) {
|
|
|
454
459
|
fallback: false,
|
|
455
460
|
valueNode,
|
|
456
461
|
onValueNodeChange: setValueNode,
|
|
457
|
-
activeIndex,
|
|
458
462
|
activeIndexRef,
|
|
459
463
|
selectedIndex,
|
|
460
464
|
setActiveIndex,
|
|
461
465
|
value,
|
|
462
466
|
mode,
|
|
463
467
|
selectedValues,
|
|
464
|
-
activeItem: activeIndex == null ? void 0 : (_registry_getItems_activeIndex = registry.getItems()[activeIndex]) === null || _registry_getItems_activeIndex === void 0 ? void 0 : _registry_getItems_activeIndex.value,
|
|
465
|
-
selectionAnchor: (_controller_selectionAnchor = controller.selectionAnchor()) === null || _controller_selectionAnchor === void 0 ? void 0 : _controller_selectionAnchor.value,
|
|
466
468
|
open,
|
|
467
469
|
native,
|
|
468
470
|
renderValue,
|
|
@@ -471,7 +473,6 @@ function SelectInner(props) {
|
|
|
471
473
|
activeIndexRef,
|
|
472
474
|
listContentRef,
|
|
473
475
|
selectedIndexRef,
|
|
474
|
-
setActiveIndexFast,
|
|
475
476
|
...props,
|
|
476
477
|
open,
|
|
477
478
|
value,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.native.js","names":[],"sources":["cjs/Select.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n\tfor (var name in all) __defProp(target, name, {\n\t\tget: all[name],\n\t\tenumerable: true\n\t});\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: () => from[key],\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n\t// If the importer is in node compatibility mode or this is not an ESM\n\t// file that has been converted to a CommonJS file using a Babel-\n\t// compatible transform (i.e. \"__esModule\" has not been set), then set\n\t// \"default\" to the CommonJS \"module.exports\" for node compatibility.\n\tisNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\t\tvalue: mod,\n\t\tenumerable: true\n\t}) : target,\n\tmod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar Select_exports = {};\n__export(Select_exports, {\n\tSelect: () => Select,\n\tSelectGroup: () => SelectGroup,\n\tSelectGroupFrame: () => SelectGroupFrame,\n\tSelectIcon: () => SelectIcon,\n\tSelectIndicator: () => SelectIndicator,\n\tSelectIndicatorFrame: () => SelectIndicatorFrame,\n\tSelectItemIndicator: () => SelectItemIndicator,\n\tSelectItemIndicatorFrame: () => SelectItemIndicatorFrame,\n\tSelectLabel: () => SelectLabel,\n\tSelectLabelFrame: () => SelectLabelFrame,\n\tSelectRoot: () => SelectRoot,\n\tSelectSeparator: () => SelectSeparator,\n\tSelectValue: () => SelectValue,\n\tSelectValueFrame: () => SelectValueFrame\n});\nmodule.exports = __toCommonJS(Select_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_adapt = require(\"@tamagui/adapt\");\nvar import_compose_refs = require(\"@tamagui/compose-refs\");\nvar import_constants = require(\"@tamagui/constants\");\nvar import_core = require(\"@tamagui/core\");\nvar import_focus_scope = require(\"@tamagui/focus-scope\");\nvar import_focusable = require(\"@tamagui/focusable\");\nvar import_helpers = require(\"@tamagui/helpers\");\nvar import_use_controllable_state = require(\"@tamagui/use-controllable-state\");\nvar React = __toESM(require(\"react\"), 1);\nvar import_context = require(\"./context\");\nvar import_SelectContent = require(\"./SelectContent\");\nvar import_SelectImpl = require(\"./SelectImpl\");\nvar import_SelectItem = require(\"./SelectItem\");\nvar import_SelectItemText = require(\"./SelectItemText\");\nvar import_SelectScrollButton = require(\"./SelectScrollButton\");\nvar import_SelectTrigger = require(\"./SelectTrigger\");\nvar import_SelectViewport = require(\"./SelectViewport\");\nvar import_selectionController = require(\"./selectionController\");\nvar SelectValueFrame = (0, import_core.styled)(import_core.Text, { displayName: \"SelectValue\" });\nvar SelectValue = (0, import_core.createStyledHOC)(SelectValueFrame, function SelectValue2(param, forwardedRef) {\n\tvar { scope, children: childrenProp, placeholder, ...props } = param;\n\tvar _itemParentContext_registry_getItem;\n\tvar context = (0, import_context.useSelectContext)(scope);\n\tvar itemParentContext = (0, import_context.useSelectItemParentContext)(scope);\n\tvar composedRefs = (0, import_compose_refs.useComposedRefs)(\n\t\t// @ts-ignore react 19 ref type mismatch\n\t\tforwardedRef,\n\t\tcontext.onValueNodeChange\n\t);\n\tvar isEmptyValue = context.selectedValues.length === 0;\n\tvar _itemParentContext_registry_getItem_label;\n\tvar registeredValue = context.mode === \"multiple\" ? context.selectedValues.map(function(value, index) {\n\t\tvar _itemParentContext_registry_getItem2;\n\t\tvar _itemParentContext_registry_getItem_label2;\n\t\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(React.Fragment, { children: [index > 0 ? \", \" : null, (_itemParentContext_registry_getItem_label2 = (_itemParentContext_registry_getItem2 = itemParentContext.registry.getItem(value)) === null || _itemParentContext_registry_getItem2 === void 0 ? void 0 : _itemParentContext_registry_getItem2.label) !== null && _itemParentContext_registry_getItem_label2 !== void 0 ? _itemParentContext_registry_getItem_label2 : value] }, value);\n\t}) : (_itemParentContext_registry_getItem_label = (_itemParentContext_registry_getItem = itemParentContext.registry.getItem(context.selectedValues[0])) === null || _itemParentContext_registry_getItem === void 0 ? void 0 : _itemParentContext_registry_getItem.label) !== null && _itemParentContext_registry_getItem_label !== void 0 ? _itemParentContext_registry_getItem_label : context.value;\n\tvar children = childrenProp !== void 0 ? childrenProp : context.renderValue ? context.renderValue(context.value) : registeredValue;\n\tvar selectValueChildren = isEmptyValue ? placeholder !== null && placeholder !== void 0 ? placeholder : children : children;\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectValueFrame, {\n\t\tpointerEvents: \"none\",\n\t\tref: composedRefs,\n\t\t...props,\n\t\tchildren: selectValueChildren\n\t});\n});\nvar SelectIcon = (0, import_core.styled)(import_core.View, {\n\tdisplayName: \"SelectIcon\",\n\t\"aria-hidden\": true\n});\nvar SelectItemIndicatorFrame = (0, import_core.styled)(import_core.View, { displayName: \"SelectItemIndicator\" });\nvar SelectItemIndicator = (0, import_core.createStyledHOC)(SelectItemIndicatorFrame, function SelectItemIndicator2(props, forwardedRef) {\n\tvar { scope, ...itemIndicatorProps } = props;\n\tvar context = (0, import_context.useSelectItemParentContext)(scope);\n\tvar itemContext = (0, import_SelectItem.useSelectItemContext)(scope);\n\tif (context.shouldRenderWebNative) return null;\n\treturn itemContext.isSelected ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectItemIndicatorFrame, {\n\t\t\"aria-hidden\": true,\n\t\t...itemIndicatorProps,\n\t\tref: forwardedRef\n\t}) : null;\n});\nvar SelectIndicatorFrame = (0, import_core.styled)(import_core.View, {\n\tdisplayName: \"SelectIndicator\",\n\tposition: \"absolute\",\n\ttop: 0,\n\tleft: 0,\n\tpointerEvents: \"none\",\n\tzIndex: 10\n});\nvar SelectIndicator = (0, import_core.createStyledHOC)(SelectIndicatorFrame, function SelectIndicator2(param, forwardedRef) {\n\tvar { scope, ...props } = param;\n\tvar itemContext = (0, import_context.useSelectItemParentContext)(scope);\n\tvar context = (0, import_context.useSelectContext)(scope);\n\tvar [layout, setLayout] = React.useState(null);\n\tvar rafRef = React.useRef(0);\n\tReact.useLayoutEffect(function() {\n\t\tvar update = function(index) {\n\t\t\tif (typeof index !== \"number\") return;\n\t\t\tcancelAnimationFrame(rafRef.current);\n\t\t\trafRef.current = requestAnimationFrame(function() {\n\t\t\t\tvar _itemContext_listRef_current, _itemContext_listRef;\n\t\t\t\tvar node = (_itemContext_listRef = itemContext.listRef) === null || _itemContext_listRef === void 0 ? void 0 : (_itemContext_listRef_current = _itemContext_listRef.current) === null || _itemContext_listRef_current === void 0 ? void 0 : _itemContext_listRef_current[index];\n\t\t\t\tif (node) setLayout({\n\t\t\t\t\twidth: Math.round(node.offsetWidth),\n\t\t\t\t\theight: Math.round(node.offsetHeight),\n\t\t\t\t\tx: Math.round(node.offsetLeft),\n\t\t\t\t\ty: Math.round(node.offsetTop)\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\t\tif (context.open && context.activeIndexRef.current !== null) update(context.activeIndexRef.current);\n\t\treturn itemContext.activeIndexSubscribe(update);\n\t}, [context.open, itemContext.listRef]);\n\tif (!layout) return null;\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectIndicatorFrame, {\n\t\tref: forwardedRef,\n\t\t...props,\n\t\twidth: layout.width,\n\t\theight: layout.height,\n\t\tx: layout.x,\n\t\ty: layout.y\n\t});\n});\nvar GROUP_NAME = \"SelectGroup\";\nvar { Provider: SelectGroupContextProvider, useStyledContext: useSelectGroupContext } = (0, import_core.createStyledContext)({ id: \"\" }, \"SelectGroup\");\nvar SelectGroupFrame = (0, import_core.styled)(import_core.View, { displayName: GROUP_NAME });\nvar NativeSelect = (0, import_core.styled)(import_core.Text, {\n\tdisplayName: \"NativeSelect\",\n\trender: \"select\"\n});\nvar SelectGroup = (0, import_core.createStyledHOC)(SelectGroupFrame, function(props, forwardedRef) {\n\tvar { scope, ...groupProps } = props;\n\tvar groupId = React.useId();\n\tvar context = (0, import_context.useSelectContext)(scope);\n\tvar itemParentContext = (0, import_context.useSelectItemParentContext)(scope);\n\tvar StyledNativeSelect = React.useContext(import_context.SelectNativeComponentContext);\n\tvar nativeSelectRef = React.useRef(null);\n\tvar content = (function() {\n\t\tif (itemParentContext.shouldRenderWebNative) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(NativeSelect, {\n\t\t\t...StyledNativeSelect && {\n\t\t\t\trender: StyledNativeSelect,\n\t\t\t\tsize: itemParentContext.size,\n\t\t\t\tstyle: { appearance: \"none\" }\n\t\t\t},\n\t\t\t...groupProps,\n\t\t\tvalue: context.value,\n\t\t\tmultiple: context.mode === \"multiple\",\n\t\t\tname: itemParentContext.name,\n\t\t\tform: itemParentContext.form,\n\t\t\tid: itemParentContext.id,\n\t\t\tonChange: function(event) {\n\t\t\t\tvar value = context.mode === \"multiple\" ? Array.from(event.currentTarget.selectedOptions, function(option) {\n\t\t\t\t\treturn option.value;\n\t\t\t\t}) : event.currentTarget.value;\n\t\t\t\titemParentContext.changeNativeValue(value, event.nativeEvent);\n\t\t\t},\n\t\t\tref: nativeSelectRef,\n\t\t\tchildren: props.children\n\t\t});\n\t\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectGroupFrame, {\n\t\t\trole: \"group\",\n\t\t\t\"aria-labelledby\": groupId,\n\t\t\t...groupProps,\n\t\t\tref: forwardedRef\n\t\t});\n\t})();\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectGroupContextProvider, {\n\t\tscope,\n\t\tid: groupId || \"\",\n\t\tchildren: content\n\t});\n});\nSelectGroup.displayName = GROUP_NAME;\nvar SelectLabelFrame = (0, import_core.styled)(import_core.Text, { displayName: \"SelectLabel\" });\nvar SelectLabel = (0, import_core.createStyledHOC)(SelectLabelFrame, function(props, forwardedRef) {\n\tvar { scope, ...labelProps } = props;\n\tvar context = (0, import_context.useSelectItemParentContext)(scope);\n\tvar groupContext = useSelectGroupContext(scope);\n\tif (context.shouldRenderWebNative) return null;\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectLabelFrame, {\n\t\trender: \"div\",\n\t\tid: groupContext.id,\n\t\t...labelProps,\n\t\tref: forwardedRef\n\t});\n});\nvar SelectSeparator = (0, import_core.styled)(import_core.View, { displayName: \"SelectSeparator\" });\nvar SelectSheetImpl = function(props) {\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: props.children });\n};\nfunction SelectRoot(props) {\n\tvar adaptScope = `AdaptSelect${props.scope || \"\"}`;\n\tvar [open, requestOpenChange] = (0, import_use_controllable_state.useControllableState)({\n\t\tprop: props.open,\n\t\tdefaultProp: props.defaultOpen || false,\n\t\tonChange: props.onOpenChange\n\t});\n\tvar handleAdaptOpenChange = React.useCallback(function(nextOpen) {\n\t\trequestOpenChange(nextOpen, (0, import_core.createChangeEventDetails)(nextOpen ? \"trigger-press\" : \"outside-press\"));\n\t}, [requestOpenChange]);\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_adapt.AdaptParent, {\n\t\tscope: adaptScope,\n\t\topen,\n\t\tonOpenChange: handleAdaptOpenChange,\n\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectInner, {\n\t\t\t...props,\n\t\t\tscope: props.scope,\n\t\t\tadaptScope,\n\t\t\topen,\n\t\t\trequestOpenChange\n\t\t})\n\t});\n}\nvar Select = (0, import_helpers.withStaticProperties)(SelectRoot, {\n\tRoot: SelectRoot,\n\tAdapt: import_adapt.Adapt,\n\tContent: import_SelectContent.SelectContent,\n\tGroup: SelectGroup,\n\tIcon: SelectIcon,\n\tItem: import_SelectItem.SelectItem,\n\tItemIndicator: SelectItemIndicator,\n\tItemText: import_SelectItemText.SelectItemText,\n\tLabel: SelectLabel,\n\tScrollDownButton: import_SelectScrollButton.SelectScrollDownButton,\n\tScrollUpButton: import_SelectScrollButton.SelectScrollUpButton,\n\tSeparator: SelectSeparator,\n\tTrigger: import_SelectTrigger.SelectTrigger,\n\tValue: SelectValue,\n\tViewport: import_SelectViewport.SelectViewport,\n\tIndicator: SelectIndicator,\n\tFocusScope: import_focus_scope.FocusScopeController\n});\nfunction useEmitter() {\n\tvar listenersRef = React.useRef(/* @__PURE__ */ new Set());\n\treturn [React.useCallback(function(value) {\n\t\tlistenersRef.current.forEach(function(l) {\n\t\t\treturn l(value);\n\t\t});\n\t}, []), React.useCallback(function(listener) {\n\t\tlistenersRef.current.add(listener);\n\t\treturn function() {\n\t\t\tlistenersRef.current.delete(listener);\n\t\t};\n\t}, [])];\n}\nfunction SelectInner(props) {\n\tvar _registry_getItems_activeIndex, _controller_selectionAnchor;\n\tvar { scope = \"\", adaptScope, native, children, open, requestOpenChange, defaultOpen: _defaultOpen, onOpenChange: _onOpenChange, value: valueProp, defaultValue, onValueChange, multiple = false, name, form, disablePreventBodyScroll, size: sizeProp = true, onActiveChange, dir, id, renderValue, lazyMount, zIndex } = props;\n\tvar SelectImpl = (0, import_adapt.useAdaptIsActive)(adaptScope) ? SelectSheetImpl : import_SelectImpl.SelectInlineImpl;\n\tvar mode = multiple ? \"multiple\" : \"single\";\n\tvar [valueState, requestValueChange] = (0, import_use_controllable_state.useControllableState)({\n\t\tprop: valueProp,\n\t\tdefaultProp: defaultValue !== null && defaultValue !== void 0 ? defaultValue : mode === \"multiple\" ? [] : \"\",\n\t\tonChange: onValueChange,\n\t\ttransition: true\n\t});\n\tvar value = React.useMemo(function() {\n\t\treturn mode === \"multiple\" ? (0, import_selectionController.selectedValuesFromSelection)(mode, valueState) : typeof valueState === \"string\" ? valueState : \"\";\n\t}, [mode, valueState]);\n\tvar selectedValues = React.useMemo(function() {\n\t\treturn (0, import_selectionController.selectedValuesFromSelection)(mode, value);\n\t}, [mode, value]);\n\tvar [, rerenderRegistry] = React.useReducer(function(version) {\n\t\treturn version + 1;\n\t}, 0);\n\tvar registryRef = React.useRef(null);\n\tif (!registryRef.current) registryRef.current = (0, import_selectionController.createSelectItemRegistry)(rerenderRegistry);\n\tvar registry = registryRef.current;\n\tvar controllerRef = React.useRef(null);\n\tif (!controllerRef.current) controllerRef.current = (0, import_selectionController.createSelectSelectionController)({\n\t\tmode,\n\t\tvalue,\n\t\tregistry\n\t});\n\tvar controller = controllerRef.current;\n\tcontroller.setMode(mode);\n\tcontroller.setValue(value);\n\tReact.useEffect(function() {\n\t\tif (!props.id) return;\n\t\treturn (0, import_focusable.registerFocusable)(props.id, {\n\t\t\tfocusAndSelect: function() {\n\t\t\t\trequestOpenChange(function(current) {\n\t\t\t\t\treturn !current;\n\t\t\t\t}, (0, import_core.createChangeEventDetails)(\"trigger-press\"));\n\t\t\t},\n\t\t\tfocus: function() {}\n\t\t});\n\t}, [props.id, requestOpenChange]);\n\tvar activeIndexRef = React.useRef(null);\n\tvar [activeIndex, setActiveIndexState] = React.useState(null);\n\tvar [emitActiveIndex, activeIndexSubscribe] = useEmitter();\n\tvar selectedIndexRef = React.useRef(null);\n\tvar listContentRef = React.useRef([]);\n\tvar listRef = React.useRef([]);\n\tvar [valueNode, setValueNode] = React.useState(null);\n\tvar selectedIndex = Math.max(0, controller.selectionAnchorIndex());\n\tlistContentRef.current = registry.getTypeaheadLabels();\n\tlistRef.current.length = registry.getItems().length;\n\t(0, import_constants.useIsomorphicLayoutEffect)(function() {\n\t\tselectedIndexRef.current = selectedIndex;\n\t});\n\tvar shouldRenderWebNative = import_constants.isWeb && (native === true || native === \"web\" || Array.isArray(native) && native.includes(\"web\"));\n\tvar setActiveIndexFast = React.useCallback(function(index, details) {\n\t\tif (activeIndexRef.current !== index) {\n\t\t\tactiveIndexRef.current = index;\n\t\t\tcontroller.setActiveIndex(index);\n\t\t\tif (typeof index === \"number\") {\n\t\t\t\temitActiveIndex(index);\n\t\t\t\tvar item = registry.getItems()[index];\n\t\t\t\tif (item && details) onActiveChange === null || onActiveChange === void 0 || onActiveChange(item.value, details);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tcontroller,\n\t\temitActiveIndex,\n\t\tonActiveChange,\n\t\tregistry\n\t]);\n\tvar setActiveIndex = React.useCallback(function(index, details) {\n\t\tsetActiveIndexFast(index, details);\n\t\tsetActiveIndexState(index);\n\t}, [setActiveIndexFast]);\n\tvar activeDetails = React.useCallback(function(reason, index, event) {\n\t\treturn {\n\t\t\treason,\n\t\t\tevent,\n\t\t\ttrigger: void 0,\n\t\t\tindex\n\t\t};\n\t}, []);\n\tvar moveActive = React.useCallback(function(direction, event) {\n\t\tvar nextIndex = registry.nextEnabledIndex(activeIndexRef.current, direction);\n\t\tif (nextIndex >= 0) setActiveIndex(nextIndex, activeDetails(\"keyboard\", nextIndex, event));\n\t}, [\n\t\tactiveDetails,\n\t\tregistry,\n\t\tsetActiveIndex\n\t]);\n\tvar typeaheadRef = React.useRef({\n\t\ttext: \"\",\n\t\ttimeout: null\n\t});\n\tvar search = React.useCallback(function(text, event) {\n\t\tclearTimeout(typeaheadRef.current.timeout);\n\t\ttypeaheadRef.current.text += text;\n\t\tvar nextIndex = registry.findTypeaheadIndex(typeaheadRef.current.text, activeIndexRef.current);\n\t\tif (nextIndex < 0 && typeaheadRef.current.text.length > 1) {\n\t\t\ttypeaheadRef.current.text = text;\n\t\t\tnextIndex = registry.findTypeaheadIndex(text, activeIndexRef.current);\n\t\t}\n\t\ttypeaheadRef.current.timeout = setTimeout(function() {\n\t\t\ttypeaheadRef.current.text = \"\";\n\t\t}, 750);\n\t\tif (nextIndex >= 0) setActiveIndex(nextIndex, activeDetails(\"keyboard\", nextIndex, event));\n\t}, [\n\t\tactiveDetails,\n\t\tregistry,\n\t\tsetActiveIndex\n\t]);\n\tReact.useEffect(function() {\n\t\treturn function() {\n\t\t\treturn clearTimeout(typeaheadRef.current.timeout);\n\t\t};\n\t}, []);\n\tReact.useEffect(function() {\n\t\tif (open) {\n\t\t\tvar nextIndex = controller.initialActiveIndex();\n\t\t\tif (nextIndex >= 0) setActiveIndex(nextIndex, activeDetails(\"list-navigation\", nextIndex));\n\t\t} else {\n\t\t\tsetActiveIndexFast(null);\n\t\t\tsetActiveIndexState(null);\n\t\t}\n\t}, [\n\t\topen,\n\t\tselectedIndex,\n\t\tregistry.getItems().length\n\t]);\n\tvar selectValue = React.useCallback(function(nextItemValue, details) {\n\t\tvar item = registry.getItem(nextItemValue);\n\t\tif (!item || item.disabled) return;\n\t\tcontroller.setMode(mode);\n\t\tcontroller.setValue(value);\n\t\tvar previousValue = controller.value;\n\t\trequestValueChange(controller.toggle(nextItemValue), details);\n\t\tif (details.isCanceled) {\n\t\t\tcontroller.setValue(previousValue);\n\t\t\treturn;\n\t\t}\n\t\tif (controller.shouldCloseOnSelect) requestOpenChange(false, (0, import_core.createChangeEventDetails)(details.reason === \"keyboard\" ? \"keyboard\" : \"item-press\", details.event, details.trigger));\n\t}, [\n\t\tcontroller,\n\t\tmode,\n\t\tregistry,\n\t\trequestOpenChange,\n\t\trequestValueChange,\n\t\tvalue\n\t]);\n\tvar changeNativeValue = React.useCallback(function(nextValue, event) {\n\t\tvar details = (0, import_core.createChangeEventDetails)(\"native-change\", event);\n\t\trequestValueChange(nextValue, details);\n\t\tif (!details.isCanceled) controller.setValue(nextValue);\n\t}, [controller, requestValueChange]);\n\tvar content = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_context.SelectItemParentProvider, {\n\t\tscopeName: scope,\n\t\tscope,\n\t\tadaptScope,\n\t\tmode,\n\t\tselectedValues,\n\t\tregistry,\n\t\tsize: sizeProp,\n\t\tactiveIndexSubscribe,\n\t\tactiveIndexRef,\n\t\trequestOpenChange,\n\t\tid,\n\t\tname,\n\t\tform,\n\t\tselectValue,\n\t\tchangeNativeValue,\n\t\tshouldRenderWebNative,\n\t\tsetActiveIndexFast,\n\t\tlistRef,\n\t\tmoveActive,\n\t\tsearch,\n\t\tchildren: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_context.SelectProvider, {\n\t\t\tscope,\n\t\t\tscopeName: scope,\n\t\t\tadaptScope,\n\t\t\tdisablePreventBodyScroll,\n\t\t\tdir,\n\t\t\tblockSelection: false,\n\t\t\tfallback: false,\n\t\t\tvalueNode,\n\t\t\tonValueNodeChange: setValueNode,\n\t\t\tactiveIndex,\n\t\t\tactiveIndexRef,\n\t\t\tselectedIndex,\n\t\t\tsetActiveIndex,\n\t\t\tvalue,\n\t\t\tmode,\n\t\t\tselectedValues,\n\t\t\tactiveItem: activeIndex == null ? void 0 : (_registry_getItems_activeIndex = registry.getItems()[activeIndex]) === null || _registry_getItems_activeIndex === void 0 ? void 0 : _registry_getItems_activeIndex.value,\n\t\t\tselectionAnchor: (_controller_selectionAnchor = controller.selectionAnchor()) === null || _controller_selectionAnchor === void 0 ? void 0 : _controller_selectionAnchor.value,\n\t\t\topen,\n\t\t\tnative,\n\t\t\trenderValue,\n\t\t\tlazyMount,\n\t\t\tchildren: shouldRenderWebNative ? children : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectImpl, {\n\t\t\t\tactiveIndexRef,\n\t\t\t\tlistContentRef,\n\t\t\t\tselectedIndexRef,\n\t\t\t\tsetActiveIndexFast,\n\t\t\t\t...props,\n\t\t\t\topen,\n\t\t\t\tvalue,\n\t\t\t\tchildren\n\t\t\t})\n\t\t}), import_constants.isWeb && !shouldRenderWebNative && name ? (mode === \"multiple\" ? selectedValues : [value]).map(function(inputValue) {\n\t\t\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"input\", {\n\t\t\t\ttype: \"hidden\",\n\t\t\t\tname,\n\t\t\t\tform,\n\t\t\t\tvalue: inputValue\n\t\t\t}, inputValue);\n\t\t}) : null]\n\t});\n\tif (zIndex !== void 0) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_context.SelectZIndexContext.Provider, {\n\t\tvalue: zIndex,\n\t\tchildren: content\n\t});\n\treturn content;\n}\n//# sourceMappingURL=Select.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.native.js","names":[],"sources":["cjs/Select.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n\tfor (var name in all) __defProp(target, name, {\n\t\tget: all[name],\n\t\tenumerable: true\n\t});\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: () => from[key],\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n\t// If the importer is in node compatibility mode or this is not an ESM\n\t// file that has been converted to a CommonJS file using a Babel-\n\t// compatible transform (i.e. \"__esModule\" has not been set), then set\n\t// \"default\" to the CommonJS \"module.exports\" for node compatibility.\n\tisNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\t\tvalue: mod,\n\t\tenumerable: true\n\t}) : target,\n\tmod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar Select_exports = {};\n__export(Select_exports, {\n\tSelect: () => Select,\n\tSelectGroup: () => SelectGroup,\n\tSelectGroupFrame: () => SelectGroupFrame,\n\tSelectIcon: () => SelectIcon,\n\tSelectIndicator: () => SelectIndicator,\n\tSelectIndicatorFrame: () => SelectIndicatorFrame,\n\tSelectItemIndicator: () => SelectItemIndicator,\n\tSelectItemIndicatorFrame: () => SelectItemIndicatorFrame,\n\tSelectLabel: () => SelectLabel,\n\tSelectLabelFrame: () => SelectLabelFrame,\n\tSelectRoot: () => SelectRoot,\n\tSelectSeparator: () => SelectSeparator,\n\tSelectValue: () => SelectValue,\n\tSelectValueFrame: () => SelectValueFrame\n});\nmodule.exports = __toCommonJS(Select_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_adapt = require(\"@tamagui/adapt\");\nvar import_compose_refs = require(\"@tamagui/compose-refs\");\nvar import_constants = require(\"@tamagui/constants\");\nvar import_core = require(\"@tamagui/core\");\nvar import_focus_scope = require(\"@tamagui/focus-scope\");\nvar import_focusable = require(\"@tamagui/focusable\");\nvar import_helpers = require(\"@tamagui/helpers\");\nvar import_use_controllable_state = require(\"@tamagui/use-controllable-state\");\nvar React = __toESM(require(\"react\"), 1);\nvar import_context = require(\"./context\");\nvar import_SelectContent = require(\"./SelectContent\");\nvar import_SelectImpl = require(\"./SelectImpl\");\nvar import_SelectItem = require(\"./SelectItem\");\nvar import_SelectItemText = require(\"./SelectItemText\");\nvar import_SelectScrollButton = require(\"./SelectScrollButton\");\nvar import_SelectTrigger = require(\"./SelectTrigger\");\nvar import_SelectViewport = require(\"./SelectViewport\");\nvar import_selectionController = require(\"./selectionController\");\nvar SelectValueFrame = (0, import_core.styled)(import_core.Text, { displayName: \"SelectValue\" });\nvar SelectValue = (0, import_core.createStyledHOC)(SelectValueFrame, function SelectValue2(param, forwardedRef) {\n\tvar { scope, children: childrenProp, placeholder, ...props } = param;\n\tvar _itemParentContext_registry_getItem;\n\tvar context = (0, import_context.useSelectContext)(scope);\n\tvar itemParentContext = (0, import_context.useSelectItemParentContext)(scope);\n\tvar composedRefs = (0, import_compose_refs.useComposedRefs)(\n\t\t// @ts-ignore react 19 ref type mismatch\n\t\tforwardedRef,\n\t\tcontext.onValueNodeChange\n\t);\n\tvar isEmptyValue = context.selectedValues.length === 0;\n\tvar [, rerender] = React.useReducer(function(version) {\n\t\treturn version + 1;\n\t}, 0);\n\t(0, import_constants.useIsomorphicLayoutEffect)(function() {\n\t\treturn itemParentContext.registry.subscribe(rerender);\n\t}, [itemParentContext.registry]);\n\tvar _itemParentContext_registry_getItem_label;\n\tvar registeredValue = context.mode === \"multiple\" ? context.selectedValues.map(function(value, index) {\n\t\tvar _itemParentContext_registry_getItem2;\n\t\tvar _itemParentContext_registry_getItem_label2;\n\t\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(React.Fragment, { children: [index > 0 ? \", \" : null, (_itemParentContext_registry_getItem_label2 = (_itemParentContext_registry_getItem2 = itemParentContext.registry.getItem(value)) === null || _itemParentContext_registry_getItem2 === void 0 ? void 0 : _itemParentContext_registry_getItem2.label) !== null && _itemParentContext_registry_getItem_label2 !== void 0 ? _itemParentContext_registry_getItem_label2 : value] }, value);\n\t}) : (_itemParentContext_registry_getItem_label = (_itemParentContext_registry_getItem = itemParentContext.registry.getItem(context.selectedValues[0])) === null || _itemParentContext_registry_getItem === void 0 ? void 0 : _itemParentContext_registry_getItem.label) !== null && _itemParentContext_registry_getItem_label !== void 0 ? _itemParentContext_registry_getItem_label : context.value;\n\tvar children = childrenProp !== void 0 ? childrenProp : context.renderValue ? context.renderValue(context.value) : registeredValue;\n\tvar selectValueChildren = isEmptyValue ? placeholder !== null && placeholder !== void 0 ? placeholder : children : children;\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectValueFrame, {\n\t\tpointerEvents: \"none\",\n\t\tref: composedRefs,\n\t\t...props,\n\t\tchildren: selectValueChildren\n\t});\n});\nvar SelectIcon = (0, import_core.styled)(import_core.View, {\n\tdisplayName: \"SelectIcon\",\n\t\"aria-hidden\": true\n});\nvar SelectItemIndicatorFrame = (0, import_core.styled)(import_core.View, { displayName: \"SelectItemIndicator\" });\nvar SelectItemIndicator = (0, import_core.createStyledHOC)(SelectItemIndicatorFrame, function SelectItemIndicator2(props, forwardedRef) {\n\tvar { scope, ...itemIndicatorProps } = props;\n\tvar context = (0, import_context.useSelectItemParentContext)(scope);\n\tvar itemContext = (0, import_SelectItem.useSelectItemContext)(scope);\n\tif (context.shouldRenderWebNative) return null;\n\treturn itemContext.isSelected ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectItemIndicatorFrame, {\n\t\t\"aria-hidden\": true,\n\t\t...itemIndicatorProps,\n\t\tref: forwardedRef\n\t}) : null;\n});\nvar SelectIndicatorFrame = (0, import_core.styled)(import_core.View, {\n\tdisplayName: \"SelectIndicator\",\n\tposition: \"absolute\",\n\ttop: 0,\n\tleft: 0,\n\tpointerEvents: \"none\",\n\tzIndex: 10\n});\nvar SelectIndicator = (0, import_core.createStyledHOC)(SelectIndicatorFrame, function SelectIndicator2(param, forwardedRef) {\n\tvar { scope, ...props } = param;\n\tvar itemContext = (0, import_context.useSelectItemParentContext)(scope);\n\tvar context = (0, import_context.useSelectContext)(scope);\n\tvar [layout, setLayout] = React.useState(null);\n\tvar rafRef = React.useRef(0);\n\t(0, import_constants.useIsomorphicLayoutEffect)(function() {\n\t\tvar update = function(index) {\n\t\t\tif (typeof index !== \"number\") return;\n\t\t\tcancelAnimationFrame(rafRef.current);\n\t\t\trafRef.current = requestAnimationFrame(function() {\n\t\t\t\tvar _itemContext_listRef_current, _itemContext_listRef;\n\t\t\t\tvar node = (_itemContext_listRef = itemContext.listRef) === null || _itemContext_listRef === void 0 ? void 0 : (_itemContext_listRef_current = _itemContext_listRef.current) === null || _itemContext_listRef_current === void 0 ? void 0 : _itemContext_listRef_current[index];\n\t\t\t\tif (node) setLayout({\n\t\t\t\t\twidth: Math.round(node.offsetWidth),\n\t\t\t\t\theight: Math.round(node.offsetHeight),\n\t\t\t\t\tx: Math.round(node.offsetLeft),\n\t\t\t\t\ty: Math.round(node.offsetTop)\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\t\tif (context.open && context.activeIndexRef.current !== null) update(context.activeIndexRef.current);\n\t\treturn itemContext.activeIndexSubscribe(update);\n\t}, [context.open, itemContext.listRef]);\n\tif (!layout) return null;\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectIndicatorFrame, {\n\t\tref: forwardedRef,\n\t\t...props,\n\t\twidth: layout.width,\n\t\theight: layout.height,\n\t\tx: layout.x,\n\t\ty: layout.y\n\t});\n});\nvar GROUP_NAME = \"SelectGroup\";\nvar { Provider: SelectGroupContextProvider, useStyledContext: useSelectGroupContext } = (0, import_core.createStyledContext)({ id: \"\" }, \"SelectGroup\");\nvar SelectGroupFrame = (0, import_core.styled)(import_core.View, { displayName: GROUP_NAME });\nvar NativeSelect = (0, import_core.styled)(import_core.Text, {\n\tdisplayName: \"NativeSelect\",\n\trender: \"select\"\n});\nvar SelectGroup = (0, import_core.createStyledHOC)(SelectGroupFrame, function(props, forwardedRef) {\n\tvar { scope, ...groupProps } = props;\n\tvar groupId = React.useId();\n\tvar context = (0, import_context.useSelectContext)(scope);\n\tvar itemParentContext = (0, import_context.useSelectItemParentContext)(scope);\n\tvar StyledNativeSelect = React.useContext(import_context.SelectNativeComponentContext);\n\tvar nativeSelectRef = React.useRef(null);\n\tvar content = (function() {\n\t\tif (itemParentContext.shouldRenderWebNative) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(NativeSelect, {\n\t\t\t...StyledNativeSelect && {\n\t\t\t\trender: StyledNativeSelect,\n\t\t\t\tsize: itemParentContext.size,\n\t\t\t\tstyle: { appearance: \"none\" }\n\t\t\t},\n\t\t\t...groupProps,\n\t\t\tvalue: context.value,\n\t\t\tmultiple: context.mode === \"multiple\",\n\t\t\tname: itemParentContext.name,\n\t\t\tform: itemParentContext.form,\n\t\t\tid: itemParentContext.id,\n\t\t\tonChange: function(event) {\n\t\t\t\tvar value = context.mode === \"multiple\" ? Array.from(event.currentTarget.selectedOptions, function(option) {\n\t\t\t\t\treturn option.value;\n\t\t\t\t}) : event.currentTarget.value;\n\t\t\t\titemParentContext.changeNativeValue(value, event.nativeEvent);\n\t\t\t},\n\t\t\tref: nativeSelectRef,\n\t\t\tchildren: props.children\n\t\t});\n\t\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectGroupFrame, {\n\t\t\trole: \"group\",\n\t\t\t\"aria-labelledby\": groupId,\n\t\t\t...groupProps,\n\t\t\tref: forwardedRef\n\t\t});\n\t})();\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectGroupContextProvider, {\n\t\tscope,\n\t\tid: groupId || \"\",\n\t\tchildren: content\n\t});\n});\nSelectGroup.displayName = GROUP_NAME;\nvar SelectLabelFrame = (0, import_core.styled)(import_core.Text, { displayName: \"SelectLabel\" });\nvar SelectLabel = (0, import_core.createStyledHOC)(SelectLabelFrame, function(props, forwardedRef) {\n\tvar { scope, ...labelProps } = props;\n\tvar context = (0, import_context.useSelectItemParentContext)(scope);\n\tvar groupContext = useSelectGroupContext(scope);\n\tif (context.shouldRenderWebNative) return null;\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectLabelFrame, {\n\t\trender: \"div\",\n\t\tid: groupContext.id,\n\t\t...labelProps,\n\t\tref: forwardedRef\n\t});\n});\nvar SelectSeparator = (0, import_core.styled)(import_core.View, { displayName: \"SelectSeparator\" });\nvar SelectSheetImpl = function(props) {\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: props.children });\n};\nfunction SelectRoot(props) {\n\tvar adaptScope = `AdaptSelect${props.scope || \"\"}`;\n\tvar [open, requestOpenChange] = (0, import_use_controllable_state.useControllableState)({\n\t\tprop: props.open,\n\t\tdefaultProp: props.defaultOpen || false,\n\t\tonChange: props.onOpenChange\n\t});\n\tvar handleAdaptOpenChange = React.useCallback(function(nextOpen) {\n\t\trequestOpenChange(nextOpen, (0, import_core.createChangeEventDetails)(nextOpen ? \"trigger-press\" : \"outside-press\"));\n\t}, [requestOpenChange]);\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_adapt.AdaptParent, {\n\t\tscope: adaptScope,\n\t\tadaptChildren: props.children,\n\t\topen,\n\t\tonOpenChange: handleAdaptOpenChange,\n\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectInner, {\n\t\t\t...props,\n\t\t\tscope: props.scope,\n\t\t\tadaptScope,\n\t\t\topen,\n\t\t\trequestOpenChange\n\t\t})\n\t});\n}\nvar Select = (0, import_helpers.withStaticProperties)(SelectRoot, {\n\tRoot: SelectRoot,\n\tAdapt: import_adapt.Adapt,\n\tContent: import_SelectContent.SelectContent,\n\tGroup: SelectGroup,\n\tIcon: SelectIcon,\n\tItem: import_SelectItem.SelectItem,\n\tItemIndicator: SelectItemIndicator,\n\tItemText: import_SelectItemText.SelectItemText,\n\tLabel: SelectLabel,\n\tScrollDownButton: import_SelectScrollButton.SelectScrollDownButton,\n\tScrollUpButton: import_SelectScrollButton.SelectScrollUpButton,\n\tSeparator: SelectSeparator,\n\tTrigger: import_SelectTrigger.SelectTrigger,\n\tValue: SelectValue,\n\tViewport: import_SelectViewport.SelectViewport,\n\tIndicator: SelectIndicator,\n\tFocusScope: import_focus_scope.FocusScopeController\n});\nfunction useEmitter() {\n\tvar listenersRef = React.useRef(/* @__PURE__ */ new Set());\n\treturn [React.useCallback(function(value) {\n\t\tlistenersRef.current.forEach(function(l) {\n\t\t\treturn l(value);\n\t\t});\n\t}, []), React.useCallback(function(listener) {\n\t\tlistenersRef.current.add(listener);\n\t\treturn function() {\n\t\t\tlistenersRef.current.delete(listener);\n\t\t};\n\t}, [])];\n}\nfunction SelectInner(props) {\n\tvar { scope = \"\", adaptScope, native, children, open, requestOpenChange, defaultOpen: _defaultOpen, onOpenChange: _onOpenChange, value: valueProp, defaultValue, onValueChange, multiple = false, name, form, disablePreventBodyScroll, size: sizeProp = true, onActiveChange, dir, id, renderValue, lazyMount, zIndex } = props;\n\tvar SelectImpl = (0, import_adapt.useAdaptIsActive)(adaptScope) ? SelectSheetImpl : import_SelectImpl.SelectInlineImpl;\n\tvar mode = multiple ? \"multiple\" : \"single\";\n\tvar [valueState, requestValueChange] = (0, import_use_controllable_state.useControllableState)({\n\t\tprop: valueProp,\n\t\tdefaultProp: defaultValue !== null && defaultValue !== void 0 ? defaultValue : mode === \"multiple\" ? [] : \"\",\n\t\tonChange: onValueChange,\n\t\ttransition: true\n\t});\n\tvar value = React.useMemo(function() {\n\t\treturn mode === \"multiple\" ? (0, import_selectionController.selectedValuesFromSelection)(mode, valueState) : typeof valueState === \"string\" ? valueState : \"\";\n\t}, [mode, valueState]);\n\tvar selectedValues = React.useMemo(function() {\n\t\treturn (0, import_selectionController.selectedValuesFromSelection)(mode, value);\n\t}, [mode, value]);\n\tvar [, rerenderRegistry] = React.useReducer(function(version) {\n\t\treturn version + 1;\n\t}, 0);\n\tvar registryRef = React.useRef(null);\n\tif (!registryRef.current) registryRef.current = (0, import_selectionController.createSelectItemRegistry)(rerenderRegistry);\n\tvar registry = registryRef.current;\n\tvar controllerRef = React.useRef(null);\n\tif (!controllerRef.current) controllerRef.current = (0, import_selectionController.createSelectSelectionController)({\n\t\tmode,\n\t\tvalue,\n\t\tregistry\n\t});\n\tvar controller = controllerRef.current;\n\tcontroller.setMode(mode);\n\tcontroller.setValue(value);\n\tReact.useEffect(function() {\n\t\tif (!props.id) return;\n\t\treturn (0, import_focusable.registerFocusable)(props.id, {\n\t\t\tfocusAndSelect: function() {\n\t\t\t\trequestOpenChange(function(current) {\n\t\t\t\t\treturn !current;\n\t\t\t\t}, (0, import_core.createChangeEventDetails)(\"trigger-press\"));\n\t\t\t},\n\t\t\tfocus: function() {}\n\t\t});\n\t}, [props.id, requestOpenChange]);\n\tvar activeIndexRef = React.useRef(null);\n\tvar [emitActiveIndex, activeIndexSubscribe] = useEmitter();\n\tvar selectedIndexRef = React.useRef(null);\n\tvar lastPointerRef = React.useRef({\n\t\tx: -1,\n\t\ty: -1\n\t});\n\tvar listContentRef = React.useRef([]);\n\tvar listRef = React.useRef([]);\n\tvar [valueNode, setValueNode] = React.useState(null);\n\tvar selectedIndex = Math.max(0, controller.selectionAnchorIndex());\n\tlistContentRef.current = registry.getTypeaheadLabels();\n\tvar itemNodes = registry.getNodes();\n\tlistRef.current.length = itemNodes.length;\n\tfor (var i = 0; i < itemNodes.length; i++) listRef.current[i] = itemNodes[i];\n\t(0, import_constants.useIsomorphicLayoutEffect)(function() {\n\t\tselectedIndexRef.current = selectedIndex;\n\t});\n\tvar shouldRenderWebNative = import_constants.isWeb && (native === true || native === \"web\" || Array.isArray(native) && native.includes(\"web\"));\n\tvar setActiveIndex = React.useCallback(function(index, details) {\n\t\tif (activeIndexRef.current === index) return;\n\t\tactiveIndexRef.current = index;\n\t\tcontroller.setActiveIndex(index);\n\t\temitActiveIndex(index);\n\t\tif (typeof index === \"number\") {\n\t\t\tvar item = registry.getItems()[index];\n\t\t\tif (item && details) onActiveChange === null || onActiveChange === void 0 || onActiveChange(item.value, details);\n\t\t}\n\t}, [\n\t\tcontroller,\n\t\temitActiveIndex,\n\t\tonActiveChange,\n\t\tregistry\n\t]);\n\tvar activeDetails = React.useCallback(function(reason, index, event) {\n\t\treturn {\n\t\t\treason,\n\t\t\tevent,\n\t\t\ttrigger: void 0,\n\t\t\tindex\n\t\t};\n\t}, []);\n\tvar moveActive = React.useCallback(function(direction, event) {\n\t\tvar nextIndex = registry.nextEnabledIndex(activeIndexRef.current, direction);\n\t\tif (nextIndex >= 0) setActiveIndex(nextIndex, activeDetails(\"keyboard\", nextIndex, event));\n\t}, [\n\t\tactiveDetails,\n\t\tregistry,\n\t\tsetActiveIndex\n\t]);\n\tvar typeaheadRef = React.useRef({\n\t\ttext: \"\",\n\t\ttimeout: null\n\t});\n\tvar search = React.useCallback(function(text, event) {\n\t\tclearTimeout(typeaheadRef.current.timeout);\n\t\ttypeaheadRef.current.text += text;\n\t\tvar nextIndex = registry.findTypeaheadIndex(typeaheadRef.current.text, activeIndexRef.current);\n\t\tif (nextIndex < 0 && typeaheadRef.current.text.length > 1) {\n\t\t\ttypeaheadRef.current.text = text;\n\t\t\tnextIndex = registry.findTypeaheadIndex(text, activeIndexRef.current);\n\t\t}\n\t\ttypeaheadRef.current.timeout = setTimeout(function() {\n\t\t\ttypeaheadRef.current.text = \"\";\n\t\t}, 750);\n\t\tif (nextIndex >= 0) setActiveIndex(nextIndex, activeDetails(\"keyboard\", nextIndex, event));\n\t}, [\n\t\tactiveDetails,\n\t\tregistry,\n\t\tsetActiveIndex\n\t]);\n\tReact.useEffect(function() {\n\t\treturn function() {\n\t\t\treturn clearTimeout(typeaheadRef.current.timeout);\n\t\t};\n\t}, []);\n\tReact.useEffect(function() {\n\t\tif (open) {\n\t\t\tvar nextIndex = controller.initialActiveIndex();\n\t\t\tif (nextIndex >= 0) setActiveIndex(nextIndex, activeDetails(\"list-navigation\", nextIndex));\n\t\t} else setActiveIndex(null);\n\t}, [\n\t\topen,\n\t\tselectedIndex,\n\t\tregistry.getItems().length\n\t]);\n\tvar selectValue = React.useCallback(function(nextItemValue, details) {\n\t\tvar item = registry.getItem(nextItemValue);\n\t\tif (!item || item.disabled) return;\n\t\tcontroller.setMode(mode);\n\t\tcontroller.setValue(value);\n\t\tvar previousValue = controller.value;\n\t\trequestValueChange(controller.toggle(nextItemValue), details);\n\t\tif (details.isCanceled) {\n\t\t\tcontroller.setValue(previousValue);\n\t\t\treturn;\n\t\t}\n\t\tif (controller.shouldCloseOnSelect) requestOpenChange(false, (0, import_core.createChangeEventDetails)(details.reason === \"keyboard\" ? \"keyboard\" : \"item-press\", details.event, details.trigger));\n\t}, [\n\t\tcontroller,\n\t\tmode,\n\t\tregistry,\n\t\trequestOpenChange,\n\t\trequestValueChange,\n\t\tvalue\n\t]);\n\tvar changeNativeValue = React.useCallback(function(nextValue, event) {\n\t\tvar details = (0, import_core.createChangeEventDetails)(\"native-change\", event);\n\t\trequestValueChange(nextValue, details);\n\t\tif (!details.isCanceled) controller.setValue(nextValue);\n\t}, [controller, requestValueChange]);\n\tvar content = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_context.SelectItemParentProvider, {\n\t\tscopeName: scope,\n\t\tscope,\n\t\tadaptScope,\n\t\tmode,\n\t\tselectedValues,\n\t\tregistry,\n\t\tsize: sizeProp,\n\t\tactiveIndexSubscribe,\n\t\tactiveIndexRef,\n\t\trequestOpenChange,\n\t\tid,\n\t\tname,\n\t\tform,\n\t\tselectValue,\n\t\tchangeNativeValue,\n\t\tshouldRenderWebNative,\n\t\tsetActiveIndex,\n\t\tselectedIndex,\n\t\tlastPointerRef,\n\t\tlistRef,\n\t\tmoveActive,\n\t\tsearch,\n\t\tchildren: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_context.SelectProvider, {\n\t\t\tscope,\n\t\t\tscopeName: scope,\n\t\t\tadaptScope,\n\t\t\tdisablePreventBodyScroll,\n\t\t\tdir,\n\t\t\tblockSelection: false,\n\t\t\tfallback: false,\n\t\t\tvalueNode,\n\t\t\tonValueNodeChange: setValueNode,\n\t\t\tactiveIndexRef,\n\t\t\tselectedIndex,\n\t\t\tsetActiveIndex,\n\t\t\tvalue,\n\t\t\tmode,\n\t\t\tselectedValues,\n\t\t\topen,\n\t\t\tnative,\n\t\t\trenderValue,\n\t\t\tlazyMount,\n\t\t\tchildren: shouldRenderWebNative ? children : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectImpl, {\n\t\t\t\tactiveIndexRef,\n\t\t\t\tlistContentRef,\n\t\t\t\tselectedIndexRef,\n\t\t\t\t...props,\n\t\t\t\topen,\n\t\t\t\tvalue,\n\t\t\t\tchildren\n\t\t\t})\n\t\t}), import_constants.isWeb && !shouldRenderWebNative && name ? (mode === \"multiple\" ? selectedValues : [value]).map(function(inputValue) {\n\t\t\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"input\", {\n\t\t\t\ttype: \"hidden\",\n\t\t\t\tname,\n\t\t\t\tform,\n\t\t\t\tvalue: inputValue\n\t\t\t}, inputValue);\n\t\t}) : null]\n\t});\n\tif (zIndex !== void 0) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_context.SelectZIndexContext.Provider, {\n\t\tvalue: zIndex,\n\t\tchildren: content\n\t});\n\treturn content;\n}\n//# sourceMappingURL=Select.js.map\n"],"mappings":"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"}
|