@tamagui/select 3.0.0-beta.922.1 → 3.0.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.
Files changed (106) hide show
  1. package/dist/cjs/Select.cjs +23 -25
  2. package/dist/cjs/Select.native.cjs +27 -26
  3. package/dist/cjs/Select.native.js +27 -26
  4. package/dist/cjs/Select.native.js.map +1 -1
  5. package/dist/cjs/SelectImpl.cjs +56 -50
  6. package/dist/cjs/SelectItem.cjs +49 -60
  7. package/dist/cjs/SelectItem.native.cjs +51 -79
  8. package/dist/cjs/SelectItem.native.js +51 -79
  9. package/dist/cjs/SelectItem.native.js.map +1 -1
  10. package/dist/cjs/SelectScrollButton.cjs +2 -2
  11. package/dist/cjs/SelectTrigger.cjs +22 -5
  12. package/dist/cjs/SelectTrigger.native.cjs +15 -5
  13. package/dist/cjs/SelectTrigger.native.js +15 -5
  14. package/dist/cjs/SelectTrigger.native.js.map +1 -1
  15. package/dist/cjs/SelectViewport.cjs +22 -30
  16. package/dist/cjs/SelectViewport.native.cjs +2 -2
  17. package/dist/cjs/SelectViewport.native.js +2 -2
  18. package/dist/cjs/SelectViewport.native.js.map +1 -1
  19. package/dist/cjs/selectionController.cjs +15 -5
  20. package/dist/cjs/selectionController.native.cjs +20 -15
  21. package/dist/cjs/selectionController.native.js +20 -15
  22. package/dist/cjs/selectionController.native.js.map +1 -1
  23. package/dist/esm/Select.mjs +27 -28
  24. package/dist/esm/Select.mjs.map +1 -1
  25. package/dist/esm/Select.native.js +31 -29
  26. package/dist/esm/Select.native.js.map +1 -1
  27. package/dist/esm/SelectImpl.mjs +56 -50
  28. package/dist/esm/SelectImpl.mjs.map +1 -1
  29. package/dist/esm/SelectItem.mjs +50 -61
  30. package/dist/esm/SelectItem.mjs.map +1 -1
  31. package/dist/esm/SelectItem.native.js +52 -80
  32. package/dist/esm/SelectItem.native.js.map +1 -1
  33. package/dist/esm/SelectScrollButton.mjs +2 -2
  34. package/dist/esm/SelectScrollButton.mjs.map +1 -1
  35. package/dist/esm/SelectTrigger.mjs +16 -5
  36. package/dist/esm/SelectTrigger.mjs.map +1 -1
  37. package/dist/esm/SelectTrigger.native.js +15 -4
  38. package/dist/esm/SelectTrigger.native.js.map +1 -1
  39. package/dist/esm/SelectViewport.mjs +22 -30
  40. package/dist/esm/SelectViewport.mjs.map +1 -1
  41. package/dist/esm/SelectViewport.native.js +3 -3
  42. package/dist/esm/SelectViewport.native.js.map +1 -1
  43. package/dist/esm/selectionController.mjs +15 -5
  44. package/dist/esm/selectionController.mjs.map +1 -1
  45. package/dist/esm/selectionController.native.js +20 -15
  46. package/dist/esm/selectionController.native.js.map +1 -1
  47. package/dist/jsx/Select.mjs +27 -28
  48. package/dist/jsx/Select.mjs.map +1 -1
  49. package/dist/jsx/Select.native.cjs +27 -26
  50. package/dist/jsx/Select.native.js +27 -26
  51. package/dist/jsx/Select.native.js.map +1 -1
  52. package/dist/jsx/SelectImpl.mjs +56 -50
  53. package/dist/jsx/SelectImpl.mjs.map +1 -1
  54. package/dist/jsx/SelectItem.mjs +50 -61
  55. package/dist/jsx/SelectItem.mjs.map +1 -1
  56. package/dist/jsx/SelectItem.native.cjs +51 -79
  57. package/dist/jsx/SelectItem.native.js +51 -79
  58. package/dist/jsx/SelectItem.native.js.map +1 -1
  59. package/dist/jsx/SelectScrollButton.mjs +2 -2
  60. package/dist/jsx/SelectScrollButton.mjs.map +1 -1
  61. package/dist/jsx/SelectTrigger.mjs +16 -5
  62. package/dist/jsx/SelectTrigger.mjs.map +1 -1
  63. package/dist/jsx/SelectTrigger.native.cjs +15 -5
  64. package/dist/jsx/SelectTrigger.native.js +15 -5
  65. package/dist/jsx/SelectTrigger.native.js.map +1 -1
  66. package/dist/jsx/SelectViewport.mjs +22 -30
  67. package/dist/jsx/SelectViewport.mjs.map +1 -1
  68. package/dist/jsx/SelectViewport.native.cjs +2 -2
  69. package/dist/jsx/SelectViewport.native.js +2 -2
  70. package/dist/jsx/SelectViewport.native.js.map +1 -1
  71. package/dist/jsx/selectionController.mjs +15 -5
  72. package/dist/jsx/selectionController.mjs.map +1 -1
  73. package/dist/jsx/selectionController.native.cjs +20 -15
  74. package/dist/jsx/selectionController.native.js +20 -15
  75. package/dist/jsx/selectionController.native.js.map +1 -1
  76. package/package.json +30 -29
  77. package/src/Select.tsx +41 -41
  78. package/src/SelectImpl.tsx +83 -81
  79. package/src/SelectItem.tsx +66 -91
  80. package/src/SelectScrollButton.tsx +2 -2
  81. package/src/SelectTrigger.tsx +19 -2
  82. package/src/SelectViewport.native.tsx +4 -4
  83. package/src/SelectViewport.tsx +21 -27
  84. package/src/selectionController.ts +20 -5
  85. package/src/types.tsx +26 -21
  86. package/types/Select.d.ts +42 -81
  87. package/types/Select.d.ts.map +1 -1
  88. package/types/SelectImpl.d.ts.map +1 -1
  89. package/types/SelectItem.d.ts +3 -5
  90. package/types/SelectItem.d.ts.map +1 -1
  91. package/types/SelectItemText.d.ts +3 -5
  92. package/types/SelectItemText.d.ts.map +1 -1
  93. package/types/SelectScrollButton.d.ts +5 -9
  94. package/types/SelectScrollButton.d.ts.map +1 -1
  95. package/types/SelectScrollButton.native.d.ts +5 -9
  96. package/types/SelectScrollButton.native.d.ts.map +1 -1
  97. package/types/SelectTrigger.d.ts +3 -5
  98. package/types/SelectTrigger.d.ts.map +1 -1
  99. package/types/SelectViewport.d.ts +4 -9
  100. package/types/SelectViewport.d.ts.map +1 -1
  101. package/types/SelectViewport.native.d.ts +4 -9
  102. package/types/SelectViewport.native.d.ts.map +1 -1
  103. package/types/selectionController.d.ts +2 -0
  104. package/types/selectionController.d.ts.map +1 -1
  105. package/types/types.d.ts +30 -21
  106. package/types/types.d.ts.map +1 -1
@@ -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
- React.useLayoutEffect(() => {
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
- listRef.current.length = registry.getItems().length;
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 setActiveIndexFast = React.useCallback((index, details) => {
295
- if (activeIndexRef.current !== index) {
296
- activeIndexRef.current = index;
297
- controller.setActiveIndex(index);
298
- if (typeof index === "number") {
299
- emitActiveIndex(index);
300
- const item = registry.getItems()[index];
301
- if (item && details) onActiveChange?.(item.value, details);
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
- setActiveIndexFast,
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
- React.useLayoutEffect(function() {
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
- listRef.current.length = registry.getItems().length;
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 setActiveIndexFast = React.useCallback(function(index, details) {
327
- if (activeIndexRef.current !== index) {
328
- activeIndexRef.current = index;
329
- controller.setActiveIndex(index);
330
- if (typeof index === "number") {
331
- emitActiveIndex(index);
332
- var item = registry.getItems()[index];
333
- if (item && details) onActiveChange === null || onActiveChange === void 0 || onActiveChange(item.value, details);
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
- setActiveIndexFast,
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
- React.useLayoutEffect(function() {
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
- listRef.current.length = registry.getItems().length;
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 setActiveIndexFast = React.useCallback(function(index, details) {
327
- if (activeIndexRef.current !== index) {
328
- activeIndexRef.current = index;
329
- controller.setActiveIndex(index);
330
- if (typeof index === "number") {
331
- emitActiveIndex(index);
332
- var item = registry.getItems()[index];
333
- if (item && details) onActiveChange === null || onActiveChange === void 0 || onActiveChange(item.value, details);
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
- setActiveIndexFast,
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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"}