@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
@@ -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":["jsx/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":["jsx/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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"}
@@ -3,7 +3,6 @@ import { useIsomorphicLayoutEffect } from "@tamagui/constants";
3
3
  import { createChangeEventDetails, useEvent, useIsTouchDevice } from "@tamagui/core";
4
4
  import { composeEventHandlers } from "@tamagui/helpers";
5
5
  import * as React from "react";
6
- import { flushSync } from "react-dom";
7
6
  import { SCROLL_ARROW_THRESHOLD } from "./constants.mjs";
8
7
  import { SelectItemParentProvider, SelectProvider, useSelectContext, useSelectItemParentContext } from "./context.mjs";
9
8
  import { jsx } from "react/jsx-runtime";
@@ -14,7 +13,6 @@ const SelectInlineImpl = (props) => {
14
13
  const selectItemParentContext = useSelectItemParentContext(scope);
15
14
  const { setActiveIndex, selectedIndex, activeIndexRef } = selectContext;
16
15
  const { requestOpenChange, registry } = selectItemParentContext;
17
- const [scrollTop, setScrollTop] = React.useState(0);
18
16
  const touch = useIsTouchDevice();
19
17
  const listItemsRef = selectItemParentContext.listRef;
20
18
  const overflowRef = React.useRef(null);
@@ -32,10 +30,10 @@ const SelectInlineImpl = (props) => {
32
30
  const [fallback, setFallback] = React.useState(false);
33
31
  const [innerOffset, setInnerOffset] = React.useState(0);
34
32
  const [blockSelection, setBlockSelection] = React.useState(false);
35
- const floatingStyle = React.useRef({});
36
33
  React.useEffect(() => {
37
34
  if (!open) {
38
- setScrollTop(0);
35
+ setCanScrollUp(false);
36
+ setCanScrollDown(false);
39
37
  setFallback(false);
40
38
  setControlledScrolling(false);
41
39
  }
@@ -55,9 +53,8 @@ const SelectInlineImpl = (props) => {
55
53
  placement: "bottom-start",
56
54
  whileElementsMounted: autoUpdate,
57
55
  middleware: [
58
- size({ apply({ rects: { reference: { width } } }) {
59
- Object.assign(floatingStyle.current, { minWidth: width + 8 });
60
- if (refs.floating.current) Object.assign(refs.floating.current.style, floatingStyle.current);
56
+ size({ apply({ rects, elements }) {
57
+ elements.floating.style.minWidth = `${rects.reference.width + 8}px`;
61
58
  } }),
62
59
  inner({
63
60
  listRef: listItemsRef,
@@ -69,18 +66,22 @@ const SelectInlineImpl = (props) => {
69
66
  minItemsVisible: touch ? 10 : 4,
70
67
  referenceOverflowThreshold: 20
71
68
  }),
72
- offset({ crossAxis: -5 })
69
+ offset({ crossAxis: -4 })
73
70
  ]
74
71
  });
75
- const floatingRef = refs.floating;
76
- const showUpArrow = open && scrollTop > SCROLL_ARROW_THRESHOLD;
77
- const showDownArrow = open && floatingRef.current && scrollTop < floatingRef.current.scrollHeight - floatingRef.current.clientHeight - SCROLL_ARROW_THRESHOLD;
72
+ const [canScrollUp, setCanScrollUp] = React.useState(false);
73
+ const [canScrollDown, setCanScrollDown] = React.useState(false);
74
+ const updateScrollArrows = React.useCallback(() => {
75
+ const el = refs.floating.current;
76
+ if (!el) return;
77
+ setCanScrollUp(el.scrollTop > SCROLL_ARROW_THRESHOLD);
78
+ setCanScrollDown(el.scrollTop < el.scrollHeight - el.clientHeight - SCROLL_ARROW_THRESHOLD);
79
+ }, [refs]);
80
+ const showUpArrow = open && canScrollUp;
81
+ const showDownArrow = open && canScrollDown;
78
82
  const isScrollable = showDownArrow || showUpArrow;
79
83
  useIsomorphicLayoutEffect(() => {
80
- if (typeof window === "undefined") return;
81
- window.addEventListener("resize", update);
82
84
  if (open) update();
83
- return () => window.removeEventListener("resize", update);
84
85
  }, [update, open]);
85
86
  const onMatch = useEvent((index) => {
86
87
  if (!open) return;
@@ -93,23 +94,32 @@ const SelectInlineImpl = (props) => {
93
94
  });
94
95
  const dataRef = React.useRef({});
95
96
  dataRef.current.placement = computedPlacement;
96
- const interactionContext = {
97
+ const onOpenChange = useEvent((nextOpen, event, reason) => {
98
+ requestOpenChange(nextOpen, createChangeEventDetails(reason === "list-navigation" ? "keyboard" : "trigger-press", event, refs.reference.current));
99
+ });
100
+ const referenceElement = refs.reference.current || null;
101
+ const floatingElement = refs.floating.current || null;
102
+ const interactionContext = React.useMemo(() => ({
97
103
  open,
98
- onOpenChange: (nextOpen, event, reason) => {
99
- requestOpenChange(nextOpen, createChangeEventDetails(reason === "list-navigation" ? "keyboard" : "trigger-press", event, refs.reference.current));
100
- },
104
+ onOpenChange,
101
105
  refs: {
102
106
  reference: refs.reference,
103
107
  floating: refs.floating,
104
108
  domReference: refs.reference
105
109
  },
106
110
  elements: {
107
- reference: refs.reference?.current || null,
108
- floating: refs.floating?.current || null,
109
- domReference: refs.reference?.current || null
111
+ reference: referenceElement,
112
+ floating: floatingElement,
113
+ domReference: referenceElement
110
114
  },
111
115
  dataRef
112
- };
116
+ }), [
117
+ open,
118
+ onOpenChange,
119
+ refs,
120
+ referenceElement,
121
+ floatingElement
122
+ ]);
113
123
  const interactionsProps = [
114
124
  useClick(interactionContext, {
115
125
  event: "mousedown",
@@ -124,7 +134,7 @@ const SelectInlineImpl = (props) => {
124
134
  }),
125
135
  useListNavigation(interactionContext, {
126
136
  listRef: listItemsRef,
127
- activeIndex: selectContext.activeIndex ?? 0,
137
+ activeIndex: null,
128
138
  selectedIndex,
129
139
  onNavigate: (index) => {
130
140
  if (index !== null) setActiveIndex(index, {
@@ -135,13 +145,14 @@ const SelectInlineImpl = (props) => {
135
145
  });
136
146
  },
137
147
  disabledIndices: registry.getDisabledIndices(),
138
- scrollItemIntoView: false
148
+ scrollItemIntoView: false,
149
+ focusItemOnHover: false
139
150
  }),
140
151
  useTypeahead(interactionContext, {
141
152
  listRef: listContentRef,
142
153
  onMatch,
143
154
  selectedIndex,
144
- activeIndex: selectContext.activeIndex,
155
+ activeIndex: null,
145
156
  onTypingChange: (e) => {
146
157
  state.current.isTyping = e;
147
158
  }
@@ -152,7 +163,6 @@ const SelectInlineImpl = (props) => {
152
163
  }, interactionsProps));
153
164
  const interactionsContext = React.useMemo(() => {
154
165
  return {
155
- ...interactions,
156
166
  getReferenceProps(props2 = {}) {
157
167
  return interactions.getReferenceProps({
158
168
  ...props2,
@@ -168,17 +178,7 @@ const SelectInlineImpl = (props) => {
168
178
  getFloatingProps(props2) {
169
179
  return interactions.getFloatingProps({
170
180
  ref: refs.floating,
171
- className: "Select",
172
181
  ...props2,
173
- style: {
174
- position: strategy,
175
- top: y ?? "",
176
- left: x ?? "",
177
- outline: 0,
178
- scrollbarWidth: "none",
179
- ...floatingStyle.current,
180
- ...props2?.style
181
- },
182
182
  onPointerEnter() {
183
183
  setControlledScrolling(false);
184
184
  state.current.isMouseOutside = false;
@@ -197,20 +197,24 @@ const SelectInlineImpl = (props) => {
197
197
  onContextMenu(e) {
198
198
  e.preventDefault();
199
199
  },
200
- onScroll(event) {
201
- flushSync(() => {
202
- setScrollTop(event.currentTarget.scrollTop);
203
- });
204
- }
200
+ onScroll: updateScrollArrows
205
201
  });
206
202
  }
207
203
  };
208
204
  }, [
209
- refs.reference.current,
205
+ refs,
206
+ interactions,
207
+ requestOpenChange,
208
+ updateScrollArrows
209
+ ]);
210
+ const floatingPosition = React.useMemo(() => ({
211
+ position: strategy,
212
+ top: y ?? "",
213
+ left: x ?? ""
214
+ }), [
215
+ strategy,
210
216
  x,
211
- y,
212
- refs.floating.current,
213
- interactions
217
+ y
214
218
  ]);
215
219
  useIsomorphicLayoutEffect(() => {
216
220
  if (open) {
@@ -236,15 +240,15 @@ const SelectInlineImpl = (props) => {
236
240
  if (!open) return;
237
241
  const scrollActiveIntoView = (index) => {
238
242
  if (controlledScrolling && index != null) listItemsRef.current[index]?.scrollIntoView({ block: "nearest" });
239
- setScrollTop(refs.floating.current?.scrollTop ?? 0);
243
+ updateScrollArrows();
240
244
  };
241
245
  scrollActiveIntoView(activeIndexRef.current);
242
246
  return selectItemParentContext.activeIndexSubscribe(scrollActiveIntoView);
243
247
  }, [
244
248
  open,
245
- refs,
246
249
  controlledScrolling,
247
- selectItemParentContext.activeIndexSubscribe
250
+ selectItemParentContext.activeIndexSubscribe,
251
+ updateScrollArrows
248
252
  ]);
249
253
  React.useEffect(() => {
250
254
  if (open && fallback) {
@@ -265,10 +269,12 @@ const SelectInlineImpl = (props) => {
265
269
  return /* @__PURE__ */ jsx(SelectProvider, {
266
270
  scope,
267
271
  ...selectContext,
268
- setScrollTop,
272
+ updateScrollArrows,
269
273
  setInnerOffset,
270
274
  fallback,
271
275
  floatingContext,
276
+ interactions: interactionsContext,
277
+ floatingPosition,
272
278
  canScrollDown: !!showDownArrow,
273
279
  canScrollUp: !!showUpArrow,
274
280
  controlledScrolling,
@@ -282,7 +288,7 @@ const SelectInlineImpl = (props) => {
282
288
  allowMouseUpRef,
283
289
  allowSelectRef,
284
290
  dataRef,
285
- interactions: interactionsContext,
291
+ getItemProps: interactions.getItemProps,
286
292
  listRef: listItemsRef,
287
293
  selectTimeoutRef,
288
294
  children
@@ -1 +1 @@
1
- {"version":3,"file":"SelectImpl.js","names":[],"sources":["jsx/SelectImpl.js"],"sourcesContent":["import { autoUpdate, inner, offset, size, useClick, useFloatingRaw, useInnerOffset, useInteractions, useListNavigation, useRole, useTypeahead } from \"@tamagui/floating\";\nimport { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { createChangeEventDetails, useEvent, useIsTouchDevice } from \"@tamagui/core\";\nimport { composeEventHandlers } from \"@tamagui/helpers\";\nimport * as React from \"react\";\nimport { flushSync } from \"react-dom\";\nimport { SCROLL_ARROW_THRESHOLD } from \"./constants\";\nimport { SelectItemParentProvider, SelectProvider, useSelectContext, useSelectItemParentContext } from \"./context\";\nimport { jsx } from \"react/jsx-runtime\";\n\nconst SelectInlineImpl = (props) => {\n\tconst { scope, children, open = false, listContentRef } = props;\n\tconst selectContext = useSelectContext(scope);\n\tconst selectItemParentContext = useSelectItemParentContext(scope);\n\tconst { setActiveIndex, selectedIndex, activeIndexRef } = selectContext;\n\tconst { requestOpenChange, registry } = selectItemParentContext;\n\tconst [scrollTop, setScrollTop] = React.useState(0);\n\tconst touch = useIsTouchDevice();\n\tconst listItemsRef = selectItemParentContext.listRef;\n\tconst overflowRef = React.useRef(null);\n\tconst upArrowRef = React.useRef(null);\n\tconst downArrowRef = React.useRef(null);\n\tconst allowSelectRef = React.useRef(false);\n\tconst allowMouseUpRef = React.useRef(true);\n\tconst selectTimeoutRef = React.useRef(null);\n\tconst latestKeyboardEventRef = React.useRef(void 0);\n\tconst state = React.useRef({\n\t\tisMouseOutside: false,\n\t\tisTyping: false\n\t});\n\tconst [controlledScrolling, setControlledScrolling] = React.useState(false);\n\tconst [fallback, setFallback] = React.useState(false);\n\tconst [innerOffset, setInnerOffset] = React.useState(0);\n\tconst [blockSelection, setBlockSelection] = React.useState(false);\n\tconst floatingStyle = React.useRef({});\n\tReact.useEffect(() => {\n\t\tif (!open) {\n\t\t\tsetScrollTop(0);\n\t\t\tsetFallback(false);\n\t\t\tsetControlledScrolling(false);\n\t\t}\n\t}, [open]);\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (!open) return;\n\t\tconst mouseUp = (e) => {\n\t\t\tif (state.current.isMouseOutside) requestOpenChange(false, createChangeEventDetails(\"outside-press\", e));\n\t\t};\n\t\tdocument.addEventListener(\"mouseup\", mouseUp);\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\"mouseup\", mouseUp);\n\t\t};\n\t}, [open]);\n\tconst { x, y, strategy, refs, update, placement: computedPlacement } = useFloatingRaw({\n\t\topen,\n\t\tplacement: \"bottom-start\",\n\t\twhileElementsMounted: autoUpdate,\n\t\tmiddleware: [\n\t\t\tsize({ apply({ rects: { reference: { width } } }) {\n\t\t\t\tObject.assign(floatingStyle.current, { minWidth: width + 8 });\n\t\t\t\tif (refs.floating.current) Object.assign(refs.floating.current.style, floatingStyle.current);\n\t\t\t} }),\n\t\t\tinner({\n\t\t\t\tlistRef: listItemsRef,\n\t\t\t\toverflowRef,\n\t\t\t\tindex: selectedIndex,\n\t\t\t\toffset: innerOffset,\n\t\t\t\tonFallbackChange: setFallback,\n\t\t\t\tpadding: 10,\n\t\t\t\tminItemsVisible: touch ? 10 : 4,\n\t\t\t\treferenceOverflowThreshold: 20\n\t\t\t}),\n\t\t\toffset({ crossAxis: -5 })\n\t\t]\n\t});\n\tconst floatingRef = refs.floating;\n\tconst showUpArrow = open && scrollTop > SCROLL_ARROW_THRESHOLD;\n\tconst showDownArrow = open && floatingRef.current && scrollTop < floatingRef.current.scrollHeight - floatingRef.current.clientHeight - SCROLL_ARROW_THRESHOLD;\n\tconst isScrollable = showDownArrow || showUpArrow;\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (typeof window === \"undefined\") return;\n\t\twindow.addEventListener(\"resize\", update);\n\t\tif (open) update();\n\t\treturn () => window.removeEventListener(\"resize\", update);\n\t}, [update, open]);\n\tconst onMatch = useEvent((index) => {\n\t\tif (!open) return;\n\t\tsetActiveIndex(index, {\n\t\t\treason: \"keyboard\",\n\t\t\tevent: latestKeyboardEventRef.current,\n\t\t\ttrigger: void 0,\n\t\t\tindex\n\t\t});\n\t});\n\tconst dataRef = React.useRef({});\n\tdataRef.current.placement = computedPlacement;\n\tconst interactionContext = {\n\t\topen,\n\t\tonOpenChange: (nextOpen, event, reason) => {\n\t\t\trequestOpenChange(nextOpen, createChangeEventDetails(reason === \"list-navigation\" ? \"keyboard\" : \"trigger-press\", event, refs.reference.current));\n\t\t},\n\t\trefs: {\n\t\t\treference: refs.reference,\n\t\t\tfloating: refs.floating,\n\t\t\tdomReference: refs.reference\n\t\t},\n\t\telements: {\n\t\t\treference: refs.reference?.current || null,\n\t\t\tfloating: refs.floating?.current || null,\n\t\t\tdomReference: refs.reference?.current || null\n\t\t},\n\t\tdataRef\n\t};\n\tconst interactionsProps = [\n\t\tuseClick(interactionContext, {\n\t\t\tevent: \"mousedown\",\n\t\t\tkeyboardHandlers: false\n\t\t}),\n\t\tuseRole(interactionContext, { role: \"listbox\" }),\n\t\tuseInnerOffset(interactionContext, {\n\t\t\tenabled: !fallback && isScrollable,\n\t\t\tonChange: setInnerOffset,\n\t\t\toverflowRef,\n\t\t\tscrollRef: refs.floating\n\t\t}),\n\t\tuseListNavigation(interactionContext, {\n\t\t\tlistRef: listItemsRef,\n\t\t\tactiveIndex: selectContext.activeIndex ?? 0,\n\t\t\tselectedIndex,\n\t\t\tonNavigate: (index) => {\n\t\t\t\tif (index !== null) setActiveIndex(index, {\n\t\t\t\t\treason: \"list-navigation\",\n\t\t\t\t\tevent: latestKeyboardEventRef.current,\n\t\t\t\t\ttrigger: void 0,\n\t\t\t\t\tindex\n\t\t\t\t});\n\t\t\t},\n\t\t\tdisabledIndices: registry.getDisabledIndices(),\n\t\t\tscrollItemIntoView: false\n\t\t}),\n\t\tuseTypeahead(interactionContext, {\n\t\t\tlistRef: listContentRef,\n\t\t\tonMatch,\n\t\t\tselectedIndex,\n\t\t\tactiveIndex: selectContext.activeIndex,\n\t\t\tonTypingChange: (e) => {\n\t\t\t\tstate.current.isTyping = e;\n\t\t\t}\n\t\t})\n\t];\n\tconst interactions = useInteractions(React.useMemo(() => {\n\t\treturn interactionsProps;\n\t}, interactionsProps));\n\tconst interactionsContext = React.useMemo(() => {\n\t\treturn {\n\t\t\t...interactions,\n\t\t\tgetReferenceProps(props2 = {}) {\n\t\t\t\treturn interactions.getReferenceProps({\n\t\t\t\t\t...props2,\n\t\t\t\t\tonKeyDown: composeEventHandlers(props2.onKeyDown, (event) => {\n\t\t\t\t\t\tlatestKeyboardEventRef.current = event.nativeEvent || event;\n\t\t\t\t\t\tif (event.key === \"Enter\" || event.code === \"Space\" || event.key === \" \" && !state.current.isTyping) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\trequestOpenChange(true, createChangeEventDetails(\"keyboard\", event.nativeEvent || event, refs.reference.current));\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t},\n\t\t\tgetFloatingProps(props2) {\n\t\t\t\treturn interactions.getFloatingProps({\n\t\t\t\t\tref: refs.floating,\n\t\t\t\t\tclassName: \"Select\",\n\t\t\t\t\t...props2,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tposition: strategy,\n\t\t\t\t\t\ttop: y ?? \"\",\n\t\t\t\t\t\tleft: x ?? \"\",\n\t\t\t\t\t\toutline: 0,\n\t\t\t\t\t\tscrollbarWidth: \"none\",\n\t\t\t\t\t\t...floatingStyle.current,\n\t\t\t\t\t\t...props2?.style\n\t\t\t\t\t},\n\t\t\t\t\tonPointerEnter() {\n\t\t\t\t\t\tsetControlledScrolling(false);\n\t\t\t\t\t\tstate.current.isMouseOutside = false;\n\t\t\t\t\t},\n\t\t\t\t\tonPointerLeave() {\n\t\t\t\t\t\tstate.current.isMouseOutside = true;\n\t\t\t\t\t},\n\t\t\t\t\tonPointerMove() {\n\t\t\t\t\t\tstate.current.isMouseOutside = false;\n\t\t\t\t\t\tsetControlledScrolling(false);\n\t\t\t\t\t},\n\t\t\t\t\tonKeyDown(event) {\n\t\t\t\t\t\tlatestKeyboardEventRef.current = event.nativeEvent || event;\n\t\t\t\t\t\tsetControlledScrolling(true);\n\t\t\t\t\t},\n\t\t\t\t\tonContextMenu(e) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t},\n\t\t\t\t\tonScroll(event) {\n\t\t\t\t\t\tflushSync(() => {\n\t\t\t\t\t\t\tsetScrollTop(event.currentTarget.scrollTop);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t}, [\n\t\trefs.reference.current,\n\t\tx,\n\t\ty,\n\t\trefs.floating.current,\n\t\tinteractions\n\t]);\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (open) {\n\t\t\tallowMouseUpRef.current = false;\n\t\t\tselectTimeoutRef.current = setTimeout(() => {\n\t\t\t\tallowSelectRef.current = true;\n\t\t\t\tallowMouseUpRef.current = true;\n\t\t\t}, 300);\n\t\t\treturn () => {\n\t\t\t\tclearTimeout(selectTimeoutRef.current);\n\t\t\t};\n\t\t}\n\t\tallowSelectRef.current = false;\n\t\tallowMouseUpRef.current = true;\n\t\tsetInnerOffset(0);\n\t\tsetFallback(false);\n\t\tsetBlockSelection(false);\n\t}, [open]);\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (!open && state.current.isMouseOutside) state.current.isMouseOutside = false;\n\t}, [open]);\n\tReact.useEffect(() => {\n\t\tif (!open) return;\n\t\tconst scrollActiveIntoView = (index) => {\n\t\t\tif (controlledScrolling && index != null) listItemsRef.current[index]?.scrollIntoView({ block: \"nearest\" });\n\t\t\tsetScrollTop(refs.floating.current?.scrollTop ?? 0);\n\t\t};\n\t\tscrollActiveIntoView(activeIndexRef.current);\n\t\treturn selectItemParentContext.activeIndexSubscribe(scrollActiveIntoView);\n\t}, [\n\t\topen,\n\t\trefs,\n\t\tcontrolledScrolling,\n\t\tselectItemParentContext.activeIndexSubscribe\n\t]);\n\tReact.useEffect(() => {\n\t\tif (open && fallback) {\n\t\t\tif (selectedIndex != null) listItemsRef.current[selectedIndex]?.scrollIntoView({ block: \"nearest\" });\n\t\t}\n\t}, [\n\t\topen,\n\t\tfallback,\n\t\tselectedIndex\n\t]);\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (refs.floating.current && fallback) refs.floating.current.style.maxHeight = \"\";\n\t}, [refs, fallback]);\n\tconst floatingContext = React.useMemo(() => ({\n\t\trefs,\n\t\tdataRef\n\t}), [refs]);\n\treturn /* @__PURE__ */ jsx(SelectProvider, {\n\t\tscope,\n\t\t...selectContext,\n\t\tsetScrollTop,\n\t\tsetInnerOffset,\n\t\tfallback,\n\t\tfloatingContext,\n\t\tcanScrollDown: !!showDownArrow,\n\t\tcanScrollUp: !!showUpArrow,\n\t\tcontrolledScrolling,\n\t\tblockSelection,\n\t\tupArrowRef,\n\t\tdownArrowRef,\n\t\tupdate,\n\t\tchildren: /* @__PURE__ */ jsx(SelectItemParentProvider, {\n\t\t\tscope,\n\t\t\t...selectItemParentContext,\n\t\t\tallowMouseUpRef,\n\t\t\tallowSelectRef,\n\t\t\tdataRef,\n\t\t\tinteractions: interactionsContext,\n\t\t\tlistRef: listItemsRef,\n\t\t\tselectTimeoutRef,\n\t\t\tchildren\n\t\t})\n\t});\n};\n\nexport { SelectInlineImpl };"],"mappings":"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"}
1
+ {"version":3,"file":"SelectImpl.js","names":[],"sources":["jsx/SelectImpl.js"],"sourcesContent":["import { autoUpdate, inner, offset, size, useClick, useFloatingRaw, useInnerOffset, useInteractions, useListNavigation, useRole, useTypeahead } from \"@tamagui/floating\";\nimport { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { createChangeEventDetails, useEvent, useIsTouchDevice } from \"@tamagui/core\";\nimport { composeEventHandlers } from \"@tamagui/helpers\";\nimport * as React from \"react\";\nimport { SCROLL_ARROW_THRESHOLD } from \"./constants\";\nimport { SelectItemParentProvider, SelectProvider, useSelectContext, useSelectItemParentContext } from \"./context\";\nimport { jsx } from \"react/jsx-runtime\";\n\nconst SelectInlineImpl = (props) => {\n\tconst { scope, children, open = false, listContentRef } = props;\n\tconst selectContext = useSelectContext(scope);\n\tconst selectItemParentContext = useSelectItemParentContext(scope);\n\tconst { setActiveIndex, selectedIndex, activeIndexRef } = selectContext;\n\tconst { requestOpenChange, registry } = selectItemParentContext;\n\tconst touch = useIsTouchDevice();\n\tconst listItemsRef = selectItemParentContext.listRef;\n\tconst overflowRef = React.useRef(null);\n\tconst upArrowRef = React.useRef(null);\n\tconst downArrowRef = React.useRef(null);\n\tconst allowSelectRef = React.useRef(false);\n\tconst allowMouseUpRef = React.useRef(true);\n\tconst selectTimeoutRef = React.useRef(null);\n\tconst latestKeyboardEventRef = React.useRef(void 0);\n\tconst state = React.useRef({\n\t\tisMouseOutside: false,\n\t\tisTyping: false\n\t});\n\tconst [controlledScrolling, setControlledScrolling] = React.useState(false);\n\tconst [fallback, setFallback] = React.useState(false);\n\tconst [innerOffset, setInnerOffset] = React.useState(0);\n\tconst [blockSelection, setBlockSelection] = React.useState(false);\n\tReact.useEffect(() => {\n\t\tif (!open) {\n\t\t\tsetCanScrollUp(false);\n\t\t\tsetCanScrollDown(false);\n\t\t\tsetFallback(false);\n\t\t\tsetControlledScrolling(false);\n\t\t}\n\t}, [open]);\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (!open) return;\n\t\tconst mouseUp = (e) => {\n\t\t\tif (state.current.isMouseOutside) requestOpenChange(false, createChangeEventDetails(\"outside-press\", e));\n\t\t};\n\t\tdocument.addEventListener(\"mouseup\", mouseUp);\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\"mouseup\", mouseUp);\n\t\t};\n\t}, [open]);\n\tconst { x, y, strategy, refs, update, placement: computedPlacement } = useFloatingRaw({\n\t\topen,\n\t\tplacement: \"bottom-start\",\n\t\twhileElementsMounted: autoUpdate,\n\t\tmiddleware: [\n\t\t\tsize({ apply({ rects, elements }) {\n\t\t\t\telements.floating.style.minWidth = `${rects.reference.width + 8}px`;\n\t\t\t} }),\n\t\t\tinner({\n\t\t\t\tlistRef: listItemsRef,\n\t\t\t\toverflowRef,\n\t\t\t\tindex: selectedIndex,\n\t\t\t\toffset: innerOffset,\n\t\t\t\tonFallbackChange: setFallback,\n\t\t\t\tpadding: 10,\n\t\t\t\tminItemsVisible: touch ? 10 : 4,\n\t\t\t\treferenceOverflowThreshold: 20\n\t\t\t}),\n\t\t\toffset({ crossAxis: -4 })\n\t\t]\n\t});\n\tconst [canScrollUp, setCanScrollUp] = React.useState(false);\n\tconst [canScrollDown, setCanScrollDown] = React.useState(false);\n\tconst updateScrollArrows = React.useCallback(() => {\n\t\tconst el = refs.floating.current;\n\t\tif (!el) return;\n\t\tsetCanScrollUp(el.scrollTop > SCROLL_ARROW_THRESHOLD);\n\t\tsetCanScrollDown(el.scrollTop < el.scrollHeight - el.clientHeight - SCROLL_ARROW_THRESHOLD);\n\t}, [refs]);\n\tconst showUpArrow = open && canScrollUp;\n\tconst showDownArrow = open && canScrollDown;\n\tconst isScrollable = showDownArrow || showUpArrow;\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (open) update();\n\t}, [update, open]);\n\tconst onMatch = useEvent((index) => {\n\t\tif (!open) return;\n\t\tsetActiveIndex(index, {\n\t\t\treason: \"keyboard\",\n\t\t\tevent: latestKeyboardEventRef.current,\n\t\t\ttrigger: void 0,\n\t\t\tindex\n\t\t});\n\t});\n\tconst dataRef = React.useRef({});\n\tdataRef.current.placement = computedPlacement;\n\tconst onOpenChange = useEvent((nextOpen, event, reason) => {\n\t\trequestOpenChange(nextOpen, createChangeEventDetails(reason === \"list-navigation\" ? \"keyboard\" : \"trigger-press\", event, refs.reference.current));\n\t});\n\tconst referenceElement = refs.reference.current || null;\n\tconst floatingElement = refs.floating.current || null;\n\tconst interactionContext = React.useMemo(() => ({\n\t\topen,\n\t\tonOpenChange,\n\t\trefs: {\n\t\t\treference: refs.reference,\n\t\t\tfloating: refs.floating,\n\t\t\tdomReference: refs.reference\n\t\t},\n\t\telements: {\n\t\t\treference: referenceElement,\n\t\t\tfloating: floatingElement,\n\t\t\tdomReference: referenceElement\n\t\t},\n\t\tdataRef\n\t}), [\n\t\topen,\n\t\tonOpenChange,\n\t\trefs,\n\t\treferenceElement,\n\t\tfloatingElement\n\t]);\n\tconst interactionsProps = [\n\t\tuseClick(interactionContext, {\n\t\t\tevent: \"mousedown\",\n\t\t\tkeyboardHandlers: false\n\t\t}),\n\t\tuseRole(interactionContext, { role: \"listbox\" }),\n\t\tuseInnerOffset(interactionContext, {\n\t\t\tenabled: !fallback && isScrollable,\n\t\t\tonChange: setInnerOffset,\n\t\t\toverflowRef,\n\t\t\tscrollRef: refs.floating\n\t\t}),\n\t\tuseListNavigation(interactionContext, {\n\t\t\tlistRef: listItemsRef,\n\t\t\tactiveIndex: null,\n\t\t\tselectedIndex,\n\t\t\tonNavigate: (index) => {\n\t\t\t\tif (index !== null) setActiveIndex(index, {\n\t\t\t\t\treason: \"list-navigation\",\n\t\t\t\t\tevent: latestKeyboardEventRef.current,\n\t\t\t\t\ttrigger: void 0,\n\t\t\t\t\tindex\n\t\t\t\t});\n\t\t\t},\n\t\t\tdisabledIndices: registry.getDisabledIndices(),\n\t\t\tscrollItemIntoView: false,\n\t\t\tfocusItemOnHover: false\n\t\t}),\n\t\tuseTypeahead(interactionContext, {\n\t\t\tlistRef: listContentRef,\n\t\t\tonMatch,\n\t\t\tselectedIndex,\n\t\t\tactiveIndex: null,\n\t\t\tonTypingChange: (e) => {\n\t\t\t\tstate.current.isTyping = e;\n\t\t\t}\n\t\t})\n\t];\n\tconst interactions = useInteractions(React.useMemo(() => {\n\t\treturn interactionsProps;\n\t}, interactionsProps));\n\tconst interactionsContext = React.useMemo(() => {\n\t\treturn {\n\t\t\tgetReferenceProps(props2 = {}) {\n\t\t\t\treturn interactions.getReferenceProps({\n\t\t\t\t\t...props2,\n\t\t\t\t\tonKeyDown: composeEventHandlers(props2.onKeyDown, (event) => {\n\t\t\t\t\t\tlatestKeyboardEventRef.current = event.nativeEvent || event;\n\t\t\t\t\t\tif (event.key === \"Enter\" || event.code === \"Space\" || event.key === \" \" && !state.current.isTyping) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\trequestOpenChange(true, createChangeEventDetails(\"keyboard\", event.nativeEvent || event, refs.reference.current));\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t},\n\t\t\tgetFloatingProps(props2) {\n\t\t\t\treturn interactions.getFloatingProps({\n\t\t\t\t\tref: refs.floating,\n\t\t\t\t\t...props2,\n\t\t\t\t\tonPointerEnter() {\n\t\t\t\t\t\tsetControlledScrolling(false);\n\t\t\t\t\t\tstate.current.isMouseOutside = false;\n\t\t\t\t\t},\n\t\t\t\t\tonPointerLeave() {\n\t\t\t\t\t\tstate.current.isMouseOutside = true;\n\t\t\t\t\t},\n\t\t\t\t\tonPointerMove() {\n\t\t\t\t\t\tstate.current.isMouseOutside = false;\n\t\t\t\t\t\tsetControlledScrolling(false);\n\t\t\t\t\t},\n\t\t\t\t\tonKeyDown(event) {\n\t\t\t\t\t\tlatestKeyboardEventRef.current = event.nativeEvent || event;\n\t\t\t\t\t\tsetControlledScrolling(true);\n\t\t\t\t\t},\n\t\t\t\t\tonContextMenu(e) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t},\n\t\t\t\t\tonScroll: updateScrollArrows\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t}, [\n\t\trefs,\n\t\tinteractions,\n\t\trequestOpenChange,\n\t\tupdateScrollArrows\n\t]);\n\tconst floatingPosition = React.useMemo(() => ({\n\t\tposition: strategy,\n\t\ttop: y ?? \"\",\n\t\tleft: x ?? \"\"\n\t}), [\n\t\tstrategy,\n\t\tx,\n\t\ty\n\t]);\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (open) {\n\t\t\tallowMouseUpRef.current = false;\n\t\t\tselectTimeoutRef.current = setTimeout(() => {\n\t\t\t\tallowSelectRef.current = true;\n\t\t\t\tallowMouseUpRef.current = true;\n\t\t\t}, 300);\n\t\t\treturn () => {\n\t\t\t\tclearTimeout(selectTimeoutRef.current);\n\t\t\t};\n\t\t}\n\t\tallowSelectRef.current = false;\n\t\tallowMouseUpRef.current = true;\n\t\tsetInnerOffset(0);\n\t\tsetFallback(false);\n\t\tsetBlockSelection(false);\n\t}, [open]);\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (!open && state.current.isMouseOutside) state.current.isMouseOutside = false;\n\t}, [open]);\n\tReact.useEffect(() => {\n\t\tif (!open) return;\n\t\tconst scrollActiveIntoView = (index) => {\n\t\t\tif (controlledScrolling && index != null) listItemsRef.current[index]?.scrollIntoView({ block: \"nearest\" });\n\t\t\tupdateScrollArrows();\n\t\t};\n\t\tscrollActiveIntoView(activeIndexRef.current);\n\t\treturn selectItemParentContext.activeIndexSubscribe(scrollActiveIntoView);\n\t}, [\n\t\topen,\n\t\tcontrolledScrolling,\n\t\tselectItemParentContext.activeIndexSubscribe,\n\t\tupdateScrollArrows\n\t]);\n\tReact.useEffect(() => {\n\t\tif (open && fallback) {\n\t\t\tif (selectedIndex != null) listItemsRef.current[selectedIndex]?.scrollIntoView({ block: \"nearest\" });\n\t\t}\n\t}, [\n\t\topen,\n\t\tfallback,\n\t\tselectedIndex\n\t]);\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (refs.floating.current && fallback) refs.floating.current.style.maxHeight = \"\";\n\t}, [refs, fallback]);\n\tconst floatingContext = React.useMemo(() => ({\n\t\trefs,\n\t\tdataRef\n\t}), [refs]);\n\treturn /* @__PURE__ */ jsx(SelectProvider, {\n\t\tscope,\n\t\t...selectContext,\n\t\tupdateScrollArrows,\n\t\tsetInnerOffset,\n\t\tfallback,\n\t\tfloatingContext,\n\t\tinteractions: interactionsContext,\n\t\tfloatingPosition,\n\t\tcanScrollDown: !!showDownArrow,\n\t\tcanScrollUp: !!showUpArrow,\n\t\tcontrolledScrolling,\n\t\tblockSelection,\n\t\tupArrowRef,\n\t\tdownArrowRef,\n\t\tupdate,\n\t\tchildren: /* @__PURE__ */ jsx(SelectItemParentProvider, {\n\t\t\tscope,\n\t\t\t...selectItemParentContext,\n\t\t\tallowMouseUpRef,\n\t\t\tallowSelectRef,\n\t\t\tdataRef,\n\t\t\tgetItemProps: interactions.getItemProps,\n\t\t\tlistRef: listItemsRef,\n\t\t\tselectTimeoutRef,\n\t\t\tchildren\n\t\t})\n\t});\n};\n\nexport { SelectInlineImpl };"],"mappings":"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"}