@tamagui/select 3.0.0-beta.924.1 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Select.cjs +23 -25
- package/dist/cjs/Select.native.cjs +27 -26
- package/dist/cjs/Select.native.js +27 -26
- package/dist/cjs/Select.native.js.map +1 -1
- package/dist/cjs/SelectImpl.cjs +67 -63
- package/dist/cjs/SelectItem.cjs +49 -60
- package/dist/cjs/SelectItem.native.cjs +51 -79
- package/dist/cjs/SelectItem.native.js +51 -79
- package/dist/cjs/SelectItem.native.js.map +1 -1
- package/dist/cjs/SelectScrollButton.cjs +9 -25
- package/dist/cjs/SelectTrigger.cjs +22 -5
- package/dist/cjs/SelectTrigger.native.cjs +15 -5
- package/dist/cjs/SelectTrigger.native.js +15 -5
- package/dist/cjs/SelectTrigger.native.js.map +1 -1
- package/dist/cjs/SelectViewport.cjs +29 -32
- package/dist/cjs/SelectViewport.native.cjs +2 -2
- package/dist/cjs/SelectViewport.native.js +2 -2
- package/dist/cjs/SelectViewport.native.js.map +1 -1
- package/dist/cjs/selectionController.cjs +15 -5
- package/dist/cjs/selectionController.native.cjs +20 -15
- package/dist/cjs/selectionController.native.js +20 -15
- package/dist/cjs/selectionController.native.js.map +1 -1
- package/dist/esm/Select.mjs +27 -28
- package/dist/esm/Select.mjs.map +1 -1
- package/dist/esm/Select.native.js +31 -29
- package/dist/esm/Select.native.js.map +1 -1
- package/dist/esm/SelectImpl.mjs +68 -64
- package/dist/esm/SelectImpl.mjs.map +1 -1
- package/dist/esm/SelectItem.mjs +50 -61
- package/dist/esm/SelectItem.mjs.map +1 -1
- package/dist/esm/SelectItem.native.js +52 -80
- package/dist/esm/SelectItem.native.js.map +1 -1
- package/dist/esm/SelectScrollButton.mjs +10 -26
- package/dist/esm/SelectScrollButton.mjs.map +1 -1
- package/dist/esm/SelectTrigger.mjs +16 -5
- package/dist/esm/SelectTrigger.mjs.map +1 -1
- package/dist/esm/SelectTrigger.native.js +15 -4
- package/dist/esm/SelectTrigger.native.js.map +1 -1
- package/dist/esm/SelectViewport.mjs +30 -33
- package/dist/esm/SelectViewport.mjs.map +1 -1
- package/dist/esm/SelectViewport.native.js +3 -3
- package/dist/esm/SelectViewport.native.js.map +1 -1
- package/dist/esm/selectionController.mjs +15 -5
- package/dist/esm/selectionController.mjs.map +1 -1
- package/dist/esm/selectionController.native.js +20 -15
- package/dist/esm/selectionController.native.js.map +1 -1
- package/dist/jsx/Select.mjs +27 -28
- package/dist/jsx/Select.mjs.map +1 -1
- package/dist/jsx/Select.native.cjs +27 -26
- package/dist/jsx/Select.native.js +27 -26
- package/dist/jsx/Select.native.js.map +1 -1
- package/dist/jsx/SelectImpl.mjs +68 -64
- package/dist/jsx/SelectImpl.mjs.map +1 -1
- package/dist/jsx/SelectItem.mjs +50 -61
- package/dist/jsx/SelectItem.mjs.map +1 -1
- package/dist/jsx/SelectItem.native.cjs +51 -79
- package/dist/jsx/SelectItem.native.js +51 -79
- package/dist/jsx/SelectItem.native.js.map +1 -1
- package/dist/jsx/SelectScrollButton.mjs +10 -26
- package/dist/jsx/SelectScrollButton.mjs.map +1 -1
- package/dist/jsx/SelectTrigger.mjs +16 -5
- package/dist/jsx/SelectTrigger.mjs.map +1 -1
- package/dist/jsx/SelectTrigger.native.cjs +15 -5
- package/dist/jsx/SelectTrigger.native.js +15 -5
- package/dist/jsx/SelectTrigger.native.js.map +1 -1
- package/dist/jsx/SelectViewport.mjs +30 -33
- package/dist/jsx/SelectViewport.mjs.map +1 -1
- package/dist/jsx/SelectViewport.native.cjs +2 -2
- package/dist/jsx/SelectViewport.native.js +2 -2
- package/dist/jsx/SelectViewport.native.js.map +1 -1
- package/dist/jsx/selectionController.mjs +15 -5
- package/dist/jsx/selectionController.mjs.map +1 -1
- package/dist/jsx/selectionController.native.cjs +20 -15
- package/dist/jsx/selectionController.native.js +20 -15
- package/dist/jsx/selectionController.native.js.map +1 -1
- package/package.json +30 -29
- package/src/Select.tsx +41 -41
- package/src/SelectImpl.tsx +107 -95
- package/src/SelectItem.tsx +66 -91
- package/src/SelectScrollButton.tsx +14 -32
- package/src/SelectTrigger.tsx +19 -2
- package/src/SelectViewport.native.tsx +4 -4
- package/src/SelectViewport.tsx +34 -30
- package/src/selectionController.ts +20 -5
- package/src/types.tsx +26 -22
- package/types/Select.d.ts +42 -81
- package/types/Select.d.ts.map +1 -1
- package/types/SelectImpl.d.ts.map +1 -1
- package/types/SelectItem.d.ts +3 -5
- package/types/SelectItem.d.ts.map +1 -1
- package/types/SelectItemText.d.ts +3 -5
- package/types/SelectItemText.d.ts.map +1 -1
- package/types/SelectScrollButton.d.ts +5 -9
- package/types/SelectScrollButton.d.ts.map +1 -1
- package/types/SelectScrollButton.native.d.ts +5 -9
- package/types/SelectScrollButton.native.d.ts.map +1 -1
- package/types/SelectTrigger.d.ts +3 -5
- package/types/SelectTrigger.d.ts.map +1 -1
- package/types/SelectViewport.d.ts +4 -9
- package/types/SelectViewport.d.ts.map +1 -1
- package/types/SelectViewport.native.d.ts +4 -9
- package/types/SelectViewport.native.d.ts.map +1 -1
- package/types/selectionController.d.ts +2 -0
- package/types/selectionController.d.ts.map +1 -1
- package/types/types.d.ts +30 -22
- package/types/types.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectionController.native.js","names":[],"sources":["cjs/selectionController.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar selectionController_exports = {};\n__export(selectionController_exports, {\n createSelectItemRegistry: () => createSelectItemRegistry,\n createSelectSelectionController: () => createSelectSelectionController,\n getSelectLabelText: () => getSelectLabelText,\n getSelectListboxProps: () => getSelectListboxProps,\n getSelectOptionProps: () => getSelectOptionProps,\n normalizeSelectSelection: () => normalizeSelectSelection,\n selectedValuesFromSelection: () => selectedValuesFromSelection\n});\nmodule.exports = __toCommonJS(selectionController_exports);\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction getSelectLabelText(label) {\n if (typeof label === \"string\" || typeof label === \"number\") {\n return String(label);\n }\n if (Array.isArray(label)) {\n return label.map(getSelectLabelText).join(\"\");\n }\n if (label && (typeof label === \"undefined\" ? \"undefined\" : _type_of(label)) === \"object\" && \"props\" in label) {\n var _label_props;\n return getSelectLabelText((_label_props = label.props) === null || _label_props === void 0 ? void 0 : _label_props.children);\n }\n return \"\";\n}\nfunction createSelectItemRegistry(onChange) {\n var items = [];\n var labelRegistrations = /* @__PURE__ */ new Map();\n var explicitTextValues = /* @__PURE__ */ new Map();\n var itemNodes = /* @__PURE__ */ new Map();\n var listeners = /* @__PURE__ */ new Set();\n var notify = function() {\n onChange === null || onChange === void 0 ? void 0 : onChange();\n listeners.forEach(function(listener) {\n return listener();\n });\n };\n var getItems = function() {\n return items;\n };\n var getItem = function(value) {\n return items.find(function(item) {\n return item.value === value;\n });\n };\n var getIndex = function(value) {\n return items.findIndex(function(item) {\n return item.value === value;\n });\n };\n var getRegisteredLabel = function(value) {\n var registrations = labelRegistrations.get(value);\n if (!(registrations === null || registrations === void 0 ? void 0 : registrations.size)) return void 0;\n var values = Array.from(registrations.values());\n return values[values.length - 1];\n };\n var applyRegisteredLabel = function(value) {\n var registeredLabel = getRegisteredLabel(value);\n var changed = false;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = items[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var item = _step.value;\n if (item.value !== value) continue;\n var nextLabel = registeredLabel === null || registeredLabel === void 0 ? void 0 : registeredLabel.label;\n var nextTextValue = explicitTextValues.get(item.id) || (registeredLabel === null || registeredLabel === void 0 ? void 0 : registeredLabel.textValue);\n if (item.label !== nextLabel || item.textValue !== nextTextValue) {\n item.label = nextLabel;\n item.textValue = nextTextValue;\n changed = true;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (changed) notify();\n };\n var syncNodeOrder = function() {\n var previousOrder = items.map(function(item) {\n return item.id;\n });\n items.sort(function(a, b) {\n var aNode = itemNodes.get(a.id);\n var bNode = itemNodes.get(b.id);\n if (!aNode || !bNode || typeof aNode.compareDocumentPosition !== \"function\") {\n return 0;\n }\n var position = aNode.compareDocumentPosition(bNode);\n if (position & 4) return -1;\n if (position & 2) return 1;\n return 0;\n });\n if (items.some(function(item, index) {\n return item.id !== previousOrder[index];\n })) {\n notify();\n }\n };\n var registerItem = function(item) {\n var id = Symbol(item.value);\n var registeredLabel = getRegisteredLabel(item.value);\n var _item_textValue;\n var registeredItem = {\n ...item,\n ...registeredLabel,\n textValue: (_item_textValue = item.textValue) !== null && _item_textValue !== void 0 ? _item_textValue : registeredLabel === null || registeredLabel === void 0 ? void 0 : registeredLabel.textValue,\n id\n };\n explicitTextValues.set(id, item.textValue);\n items.push(registeredItem);\n notify();\n return {\n id,\n update(next) {\n var index = items.findIndex(function(current2) {\n return current2.id === id;\n });\n if (index < 0) return;\n var current = items[index];\n if (\"textValue\" in next) {\n explicitTextValues.set(id, next.textValue);\n }\n var nextItem = {\n ...current,\n ...next\n };\n if (next.value !== void 0 && next.value !== current.value) {\n var nextLabel = getRegisteredLabel(next.value);\n nextItem.label = nextLabel === null || nextLabel === void 0 ? void 0 : nextLabel.label;\n }\n var explicitTextValue = explicitTextValues.get(id);\n nextItem.textValue = explicitTextValue || getSelectLabelText(nextItem.label) || (nextItem.label ? nextItem.value : void 0);\n var changed = Object.entries(next).some(function(param) {\n var [key, value] = param;\n return current[key] !== value;\n });\n var textValueChanged = current.textValue !== nextItem.textValue;\n if (!changed && !textValueChanged) return;\n items[index] = nextItem;\n notify();\n },\n setNode(node) {\n if (node) {\n itemNodes.set(id, node);\n syncNodeOrder();\n } else {\n itemNodes.delete(id);\n }\n },\n unregister() {\n var index = items.findIndex(function(current) {\n return current.id === id;\n });\n if (index < 0) return;\n items.splice(index, 1);\n explicitTextValues.delete(id);\n itemNodes.delete(id);\n notify();\n }\n };\n };\n var registerLabel = function(value, label, textValue) {\n var id = Symbol(value);\n var normalizedTextValue = textValue || getSelectLabelText(label) || value;\n var _labelRegistrations_get;\n var registrations = (_labelRegistrations_get = labelRegistrations.get(value)) !== null && _labelRegistrations_get !== void 0 ? _labelRegistrations_get : (function() {\n var next = /* @__PURE__ */ new Map();\n labelRegistrations.set(value, next);\n return next;\n })();\n registrations.set(id, {\n label,\n textValue: normalizedTextValue\n });\n applyRegisteredLabel(value);\n return function() {\n registrations.delete(id);\n if (!registrations.size) {\n labelRegistrations.delete(value);\n }\n applyRegisteredLabel(value);\n };\n };\n var firstEnabledIndex = function() {\n return items.findIndex(function(item) {\n return !item.disabled;\n });\n };\n var nextEnabledIndex = function(fromIndex, direction) {\n if (!items.length) return -1;\n if (fromIndex == null || fromIndex < 0 || fromIndex >= items.length) {\n if (direction === 1) return firstEnabledIndex();\n for (var index = items.length - 1; index >= 0; index--) {\n if (!items[index].disabled) return index;\n }\n return -1;\n }\n for (var offset = 1; offset <= items.length; offset++) {\n var _items_index;\n var index1 = (fromIndex + direction * offset + items.length) % items.length;\n if (!((_items_index = items[index1]) === null || _items_index === void 0 ? void 0 : _items_index.disabled)) return index1;\n }\n return -1;\n };\n var findTypeaheadIndex = function(search, fromIndex) {\n var normalizedSearch = search.trim().toLocaleLowerCase();\n if (!normalizedSearch) return -1;\n var start = fromIndex == null || fromIndex < 0 ? -1 : fromIndex;\n for (var offset = 1; offset <= items.length; offset++) {\n var index = (start + offset) % items.length;\n var item = items[index];\n var label = item.textValue || getSelectLabelText(item.label) || item.value;\n if (!item.disabled && label.toLocaleLowerCase().startsWith(normalizedSearch)) {\n return index;\n }\n }\n return -1;\n };\n return {\n subscribe(listener) {\n listeners.add(listener);\n return function() {\n listeners.delete(listener);\n };\n },\n registerItem,\n registerLabel,\n getItems,\n getItem,\n getIndex,\n firstEnabledIndex,\n nextEnabledIndex,\n findTypeaheadIndex,\n getDisabledIndices: function() {\n return items.flatMap(function(item, index) {\n return item.disabled ? [\n index\n ] : [];\n });\n },\n getTypeaheadLabels: function() {\n return items.map(function(item) {\n return item.textValue || getSelectLabelText(item.label) || item.value;\n });\n }\n };\n}\nfunction normalizeSelectSelection(mode, value) {\n if (mode === \"single\") {\n return typeof value === \"string\" ? value : \"\";\n }\n var values = Array.isArray(value) ? value : [];\n return [\n ...new Set(values)\n ];\n}\nfunction selectedValuesFromSelection(mode, value) {\n var normalized = normalizeSelectSelection(mode, value);\n return mode === \"multiple\" ? normalized : normalized ? [\n normalized\n ] : [];\n}\nfunction createSelectSelectionController(param) {\n var { mode: initialMode, value: initialValue, registry } = param;\n var mode = initialMode;\n var value = normalizeSelectSelection(mode, initialValue);\n var activeIndex = null;\n var selectedValues = function() {\n return selectedValuesFromSelection(mode, value);\n };\n var setMode = function(nextMode) {\n if (mode === nextMode) return value;\n mode = nextMode;\n value = normalizeSelectSelection(mode, value);\n return value;\n };\n var setValue = function(nextValue) {\n value = normalizeSelectSelection(mode, nextValue);\n return value;\n };\n var isSelected = function(itemValue) {\n return selectedValues().includes(itemValue);\n };\n var toggle = function(itemValue) {\n var item = registry.getItem(itemValue);\n if (!item || item.disabled) return value;\n if (mode === \"single\") {\n value = itemValue;\n return value;\n }\n var current = selectedValues();\n value = current.includes(itemValue) ? current.filter(function(currentValue) {\n return currentValue !== itemValue;\n }) : [\n ...current,\n itemValue\n ];\n return value;\n };\n var selectionAnchor = function() {\n var values = selectedValues();\n for (var index = values.length - 1; index >= 0; index--) {\n var item = registry.getItem(values[index]);\n if (item) return item;\n }\n var firstEnabledIndex = registry.firstEnabledIndex();\n return firstEnabledIndex < 0 ? void 0 : registry.getItems()[firstEnabledIndex];\n };\n var selectionAnchorIndex = function() {\n var anchor = selectionAnchor();\n return anchor ? registry.getIndex(anchor.value) : -1;\n };\n var initialActiveIndex = function() {\n var anchorIndex = selectionAnchorIndex();\n var anchor = anchorIndex < 0 ? void 0 : registry.getItems()[anchorIndex];\n return anchor && !anchor.disabled ? anchorIndex : registry.firstEnabledIndex();\n };\n var moveActive = function(direction) {\n var nextIndex = registry.nextEnabledIndex(activeIndex, direction);\n activeIndex = nextIndex < 0 ? null : nextIndex;\n return activeIndex == null ? void 0 : registry.getItems()[activeIndex];\n };\n return {\n registry,\n get mode() {\n return mode;\n },\n get value() {\n return value;\n },\n get activeIndex() {\n return activeIndex;\n },\n get activeItem() {\n return activeIndex == null ? void 0 : registry.getItems()[activeIndex];\n },\n get shouldCloseOnSelect() {\n return mode === \"single\";\n },\n setMode,\n setValue,\n isSelected,\n toggle,\n selectionAnchor,\n selectionAnchorIndex,\n initialActiveIndex,\n setActiveIndex(index) {\n activeIndex = index;\n },\n moveActive\n };\n}\nfunction getSelectListboxProps(mode) {\n return {\n role: \"listbox\",\n \"aria-multiselectable\": mode === \"multiple\" ? true : void 0\n };\n}\nfunction getSelectOptionProps(mode, selected, disabled, platform) {\n if (platform === \"native\") {\n return {\n accessibilityRole: mode === \"multiple\" ? \"checkbox\" : \"button\",\n accessibilityState: {\n selected: mode === \"single\" ? selected : void 0,\n checked: mode === \"multiple\" ? selected : void 0,\n disabled\n }\n };\n }\n return {\n role: \"option\",\n \"aria-selected\": selected,\n \"aria-disabled\": disabled || void 0\n };\n}\n//# sourceMappingURL=selectionController.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"selectionController.native.js","names":[],"sources":["cjs/selectionController.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar selectionController_exports = {};\n__export(selectionController_exports, {\n createSelectItemRegistry: () => createSelectItemRegistry,\n createSelectSelectionController: () => createSelectSelectionController,\n getSelectLabelText: () => getSelectLabelText,\n getSelectListboxProps: () => getSelectListboxProps,\n getSelectOptionProps: () => getSelectOptionProps,\n normalizeSelectSelection: () => normalizeSelectSelection,\n selectedValuesFromSelection: () => selectedValuesFromSelection\n});\nmodule.exports = __toCommonJS(selectionController_exports);\nfunction getSelectLabelText(label) {\n if (typeof label === \"string\" || typeof label === \"number\") {\n return String(label);\n }\n if (Array.isArray(label)) {\n return label.map(getSelectLabelText).join(\"\");\n }\n if (label && typeof label === \"object\" && \"props\" in label) {\n var _label_props;\n return getSelectLabelText((_label_props = label.props) === null || _label_props === void 0 ? void 0 : _label_props.children);\n }\n return \"\";\n}\nfunction createSelectItemRegistry(onChange) {\n var items = [];\n var labelRegistrations = /* @__PURE__ */ new Map();\n var explicitTextValues = /* @__PURE__ */ new Map();\n var itemNodes = /* @__PURE__ */ new Map();\n var listeners = /* @__PURE__ */ new Set();\n var indexByValue = null;\n var notify = function() {\n indexByValue = null;\n onChange === null || onChange === void 0 ? void 0 : onChange();\n listeners.forEach(function(listener) {\n return listener();\n });\n };\n var getItems = function() {\n return items;\n };\n var getItem = function(value) {\n return items.find(function(item) {\n return item.value === value;\n });\n };\n var getIndex = function(value) {\n if (!indexByValue) {\n indexByValue = /* @__PURE__ */ new Map();\n items.forEach(function(item, index) {\n if (!indexByValue.has(item.value)) indexByValue.set(item.value, index);\n });\n }\n var _indexByValue_get;\n return (_indexByValue_get = indexByValue.get(value)) !== null && _indexByValue_get !== void 0 ? _indexByValue_get : -1;\n };\n var getNodes = function() {\n return items.map(function(item) {\n var _itemNodes_get;\n return (_itemNodes_get = itemNodes.get(item.id)) !== null && _itemNodes_get !== void 0 ? _itemNodes_get : null;\n });\n };\n var getRegisteredLabel = function(value) {\n var registrations = labelRegistrations.get(value);\n if (!(registrations === null || registrations === void 0 ? void 0 : registrations.size)) return void 0;\n var values = Array.from(registrations.values());\n return values[values.length - 1];\n };\n var applyRegisteredLabel = function(value) {\n var registeredLabel = getRegisteredLabel(value);\n var changed = false;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = items[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var item = _step.value;\n if (item.value !== value) continue;\n var nextLabel = registeredLabel === null || registeredLabel === void 0 ? void 0 : registeredLabel.label;\n var nextTextValue = explicitTextValues.get(item.id) || (registeredLabel === null || registeredLabel === void 0 ? void 0 : registeredLabel.textValue);\n if (item.label !== nextLabel || item.textValue !== nextTextValue) {\n item.label = nextLabel;\n item.textValue = nextTextValue;\n changed = true;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (changed) notify();\n };\n var syncNodeOrder = function() {\n items.sort(function(a, b) {\n var aNode = itemNodes.get(a.id);\n var bNode = itemNodes.get(b.id);\n if (!aNode || !bNode || typeof aNode.compareDocumentPosition !== \"function\") {\n return 0;\n }\n var position = aNode.compareDocumentPosition(bNode);\n if (position & 4) return -1;\n if (position & 2) return 1;\n return 0;\n });\n };\n var registerItem = function(item) {\n var id = Symbol(item.value);\n var registeredLabel = getRegisteredLabel(item.value);\n var _item_textValue;\n var registeredItem = {\n ...item,\n ...registeredLabel,\n textValue: (_item_textValue = item.textValue) !== null && _item_textValue !== void 0 ? _item_textValue : registeredLabel === null || registeredLabel === void 0 ? void 0 : registeredLabel.textValue,\n id\n };\n explicitTextValues.set(id, item.textValue);\n items.push(registeredItem);\n notify();\n return {\n id,\n update(next) {\n var index = items.findIndex(function(current2) {\n return current2.id === id;\n });\n if (index < 0) return;\n var current = items[index];\n if (\"textValue\" in next) {\n explicitTextValues.set(id, next.textValue);\n }\n var nextItem = {\n ...current,\n ...next\n };\n if (next.value !== void 0 && next.value !== current.value) {\n var nextLabel = getRegisteredLabel(next.value);\n nextItem.label = nextLabel === null || nextLabel === void 0 ? void 0 : nextLabel.label;\n }\n var explicitTextValue = explicitTextValues.get(id);\n nextItem.textValue = explicitTextValue || getSelectLabelText(nextItem.label) || (nextItem.label ? nextItem.value : void 0);\n var changed = Object.entries(next).some(function(param) {\n var [key, value] = param;\n return current[key] !== value;\n });\n var textValueChanged = current.textValue !== nextItem.textValue;\n if (!changed && !textValueChanged) return;\n items[index] = nextItem;\n notify();\n },\n setNode(node) {\n var _itemNodes_get;\n if (((_itemNodes_get = itemNodes.get(id)) !== null && _itemNodes_get !== void 0 ? _itemNodes_get : null) === (node !== null && node !== void 0 ? node : null)) return;\n if (node) {\n itemNodes.set(id, node);\n syncNodeOrder();\n } else {\n itemNodes.delete(id);\n }\n notify();\n },\n unregister() {\n var index = items.findIndex(function(current) {\n return current.id === id;\n });\n if (index < 0) return;\n items.splice(index, 1);\n explicitTextValues.delete(id);\n itemNodes.delete(id);\n notify();\n }\n };\n };\n var registerLabel = function(value, label, textValue) {\n var id = Symbol(value);\n var normalizedTextValue = textValue || getSelectLabelText(label) || value;\n var _labelRegistrations_get;\n var registrations = (_labelRegistrations_get = labelRegistrations.get(value)) !== null && _labelRegistrations_get !== void 0 ? _labelRegistrations_get : (function() {\n var next = /* @__PURE__ */ new Map();\n labelRegistrations.set(value, next);\n return next;\n })();\n registrations.set(id, {\n label,\n textValue: normalizedTextValue\n });\n applyRegisteredLabel(value);\n return function() {\n registrations.delete(id);\n if (!registrations.size) {\n labelRegistrations.delete(value);\n }\n applyRegisteredLabel(value);\n };\n };\n var firstEnabledIndex = function() {\n return items.findIndex(function(item) {\n return !item.disabled;\n });\n };\n var nextEnabledIndex = function(fromIndex, direction) {\n if (!items.length) return -1;\n if (fromIndex == null || fromIndex < 0 || fromIndex >= items.length) {\n if (direction === 1) return firstEnabledIndex();\n for (var index = items.length - 1; index >= 0; index--) {\n if (!items[index].disabled) return index;\n }\n return -1;\n }\n for (var offset = 1; offset <= items.length; offset++) {\n var _items_index;\n var index1 = (fromIndex + direction * offset + items.length) % items.length;\n if (!((_items_index = items[index1]) === null || _items_index === void 0 ? void 0 : _items_index.disabled)) return index1;\n }\n return -1;\n };\n var findTypeaheadIndex = function(search, fromIndex) {\n var normalizedSearch = search.trim().toLocaleLowerCase();\n if (!normalizedSearch) return -1;\n var start = fromIndex == null || fromIndex < 0 ? -1 : fromIndex;\n for (var offset = 1; offset <= items.length; offset++) {\n var index = (start + offset) % items.length;\n var item = items[index];\n var label = item.textValue || getSelectLabelText(item.label) || item.value;\n if (!item.disabled && label.toLocaleLowerCase().startsWith(normalizedSearch)) {\n return index;\n }\n }\n return -1;\n };\n return {\n subscribe(listener) {\n listeners.add(listener);\n return function() {\n listeners.delete(listener);\n };\n },\n registerItem,\n registerLabel,\n getItems,\n getItem,\n getIndex,\n getNodes,\n firstEnabledIndex,\n nextEnabledIndex,\n findTypeaheadIndex,\n getDisabledIndices: function() {\n return items.flatMap(function(item, index) {\n return item.disabled ? [\n index\n ] : [];\n });\n },\n getTypeaheadLabels: function() {\n return items.map(function(item) {\n return item.textValue || getSelectLabelText(item.label) || item.value;\n });\n }\n };\n}\nfunction normalizeSelectSelection(mode, value) {\n if (mode === \"single\") {\n return typeof value === \"string\" ? value : \"\";\n }\n var values = Array.isArray(value) ? value : [];\n return [\n ...new Set(values)\n ];\n}\nfunction selectedValuesFromSelection(mode, value) {\n var normalized = normalizeSelectSelection(mode, value);\n return mode === \"multiple\" ? normalized : normalized ? [\n normalized\n ] : [];\n}\nfunction createSelectSelectionController(param) {\n var { mode: initialMode, value: initialValue, registry } = param;\n var mode = initialMode;\n var value = normalizeSelectSelection(mode, initialValue);\n var activeIndex = null;\n var selectedValues = function() {\n return selectedValuesFromSelection(mode, value);\n };\n var setMode = function(nextMode) {\n if (mode === nextMode) return value;\n mode = nextMode;\n value = normalizeSelectSelection(mode, value);\n return value;\n };\n var setValue = function(nextValue) {\n value = normalizeSelectSelection(mode, nextValue);\n return value;\n };\n var isSelected = function(itemValue) {\n return selectedValues().includes(itemValue);\n };\n var toggle = function(itemValue) {\n var item = registry.getItem(itemValue);\n if (!item || item.disabled) return value;\n if (mode === \"single\") {\n value = itemValue;\n return value;\n }\n var current = selectedValues();\n value = current.includes(itemValue) ? current.filter(function(currentValue) {\n return currentValue !== itemValue;\n }) : [\n ...current,\n itemValue\n ];\n return value;\n };\n var selectionAnchor = function() {\n var values = selectedValues();\n for (var index = values.length - 1; index >= 0; index--) {\n var item = registry.getItem(values[index]);\n if (item) return item;\n }\n var firstEnabledIndex = registry.firstEnabledIndex();\n return firstEnabledIndex < 0 ? void 0 : registry.getItems()[firstEnabledIndex];\n };\n var selectionAnchorIndex = function() {\n var anchor = selectionAnchor();\n return anchor ? registry.getIndex(anchor.value) : -1;\n };\n var initialActiveIndex = function() {\n var anchorIndex = selectionAnchorIndex();\n var anchor = anchorIndex < 0 ? void 0 : registry.getItems()[anchorIndex];\n return anchor && !anchor.disabled ? anchorIndex : registry.firstEnabledIndex();\n };\n var moveActive = function(direction) {\n var nextIndex = registry.nextEnabledIndex(activeIndex, direction);\n activeIndex = nextIndex < 0 ? null : nextIndex;\n return activeIndex == null ? void 0 : registry.getItems()[activeIndex];\n };\n return {\n registry,\n get mode() {\n return mode;\n },\n get value() {\n return value;\n },\n get activeIndex() {\n return activeIndex;\n },\n get activeItem() {\n return activeIndex == null ? void 0 : registry.getItems()[activeIndex];\n },\n get shouldCloseOnSelect() {\n return mode === \"single\";\n },\n setMode,\n setValue,\n isSelected,\n toggle,\n selectionAnchor,\n selectionAnchorIndex,\n initialActiveIndex,\n setActiveIndex(index) {\n activeIndex = index;\n },\n moveActive\n };\n}\nfunction getSelectListboxProps(mode) {\n return {\n role: \"listbox\",\n \"aria-multiselectable\": mode === \"multiple\" ? true : void 0\n };\n}\nfunction getSelectOptionProps(mode, selected, disabled, platform) {\n if (platform === \"native\") {\n return {\n accessibilityRole: mode === \"multiple\" ? \"checkbox\" : \"button\",\n accessibilityState: {\n selected: mode === \"single\" ? selected : void 0,\n checked: mode === \"multiple\" ? selected : void 0,\n disabled\n }\n };\n }\n return {\n role: \"option\",\n \"aria-selected\": selected,\n \"aria-disabled\": disabled || void 0\n };\n}\n//# sourceMappingURL=selectionController.js.map\n"],"mappings":"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"}
|
package/dist/esm/Select.mjs
CHANGED
|
@@ -23,6 +23,8 @@ const SelectValue = createStyledHOC(SelectValueFrame, function SelectValue2({ sc
|
|
|
23
23
|
const itemParentContext = useSelectItemParentContext(scope);
|
|
24
24
|
const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);
|
|
25
25
|
const isEmptyValue = context.selectedValues.length === 0;
|
|
26
|
+
const [, rerender] = React.useReducer((version) => version + 1, 0);
|
|
27
|
+
useIsomorphicLayoutEffect(() => itemParentContext.registry.subscribe(rerender), [itemParentContext.registry]);
|
|
26
28
|
const registeredValue = context.mode === "multiple" ? context.selectedValues.map((value, index) => /* @__PURE__ */ jsxs(React.Fragment, { children: [index > 0 ? ", " : null, itemParentContext.registry.getItem(value)?.label ?? value] }, value)) : itemParentContext.registry.getItem(context.selectedValues[0])?.label ?? context.value;
|
|
27
29
|
const children = childrenProp !== void 0 ? childrenProp : context.renderValue ? context.renderValue(context.value) : registeredValue;
|
|
28
30
|
const selectValueChildren = isEmptyValue ? placeholder ?? children : children;
|
|
@@ -62,7 +64,7 @@ const SelectIndicator = createStyledHOC(SelectIndicatorFrame, function SelectInd
|
|
|
62
64
|
const context = useSelectContext(scope);
|
|
63
65
|
const [layout, setLayout] = React.useState(null);
|
|
64
66
|
const rafRef = React.useRef(0);
|
|
65
|
-
|
|
67
|
+
useIsomorphicLayoutEffect(() => {
|
|
66
68
|
const update = (index) => {
|
|
67
69
|
if (typeof index !== "number") return;
|
|
68
70
|
cancelAnimationFrame(rafRef.current);
|
|
@@ -161,12 +163,14 @@ function SelectRoot(props) {
|
|
|
161
163
|
defaultProp: props.defaultOpen || false,
|
|
162
164
|
onChange: props.onOpenChange
|
|
163
165
|
});
|
|
166
|
+
const handleAdaptOpenChange = React.useCallback((nextOpen) => {
|
|
167
|
+
requestOpenChange(nextOpen, createChangeEventDetails(nextOpen ? "trigger-press" : "outside-press"));
|
|
168
|
+
}, [requestOpenChange]);
|
|
164
169
|
return /* @__PURE__ */ jsx(AdaptParent, {
|
|
165
170
|
scope: adaptScope,
|
|
171
|
+
adaptChildren: props.children,
|
|
166
172
|
open,
|
|
167
|
-
onOpenChange:
|
|
168
|
-
requestOpenChange(nextOpen, createChangeEventDetails(nextOpen ? "trigger-press" : "outside-press"));
|
|
169
|
-
}, [requestOpenChange]),
|
|
173
|
+
onOpenChange: handleAdaptOpenChange,
|
|
170
174
|
children: /* @__PURE__ */ jsx(SelectInner, {
|
|
171
175
|
...props,
|
|
172
176
|
scope: props.scope,
|
|
@@ -233,28 +237,32 @@ function SelectInner(props) {
|
|
|
233
237
|
controller.setValue(value);
|
|
234
238
|
React.useEffect(() => {}, [props.id, requestOpenChange]);
|
|
235
239
|
const activeIndexRef = React.useRef(null);
|
|
236
|
-
const [activeIndex, setActiveIndexState] = React.useState(null);
|
|
237
240
|
const [emitActiveIndex, activeIndexSubscribe] = useEmitter();
|
|
238
241
|
const selectedIndexRef = React.useRef(null);
|
|
242
|
+
const lastPointerRef = React.useRef({
|
|
243
|
+
x: -1,
|
|
244
|
+
y: -1
|
|
245
|
+
});
|
|
239
246
|
const listContentRef = React.useRef([]);
|
|
240
247
|
const listRef = React.useRef([]);
|
|
241
248
|
const [valueNode, setValueNode] = React.useState(null);
|
|
242
249
|
const selectedIndex = Math.max(0, controller.selectionAnchorIndex());
|
|
243
250
|
listContentRef.current = registry.getTypeaheadLabels();
|
|
244
|
-
|
|
251
|
+
const itemNodes = registry.getNodes();
|
|
252
|
+
listRef.current.length = itemNodes.length;
|
|
253
|
+
for (let i = 0; i < itemNodes.length; i++) listRef.current[i] = itemNodes[i];
|
|
245
254
|
useIsomorphicLayoutEffect(() => {
|
|
246
255
|
selectedIndexRef.current = selectedIndex;
|
|
247
256
|
});
|
|
248
257
|
const shouldRenderWebNative = isWeb && (native === true || native === "web" || Array.isArray(native) && native.includes("web"));
|
|
249
|
-
const
|
|
250
|
-
if (activeIndexRef.current
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
}
|
|
258
|
+
const setActiveIndex = React.useCallback((index, details) => {
|
|
259
|
+
if (activeIndexRef.current === index) return;
|
|
260
|
+
activeIndexRef.current = index;
|
|
261
|
+
controller.setActiveIndex(index);
|
|
262
|
+
emitActiveIndex(index);
|
|
263
|
+
if (typeof index === "number") {
|
|
264
|
+
const item = registry.getItems()[index];
|
|
265
|
+
if (item && details) onActiveChange?.(item.value, details);
|
|
258
266
|
}
|
|
259
267
|
}, [
|
|
260
268
|
controller,
|
|
@@ -262,10 +270,6 @@ function SelectInner(props) {
|
|
|
262
270
|
onActiveChange,
|
|
263
271
|
registry
|
|
264
272
|
]);
|
|
265
|
-
const setActiveIndex = React.useCallback((index, details) => {
|
|
266
|
-
setActiveIndexFast(index, details);
|
|
267
|
-
setActiveIndexState(index);
|
|
268
|
-
}, [setActiveIndexFast]);
|
|
269
273
|
const activeDetails = React.useCallback((reason, index, event) => ({
|
|
270
274
|
reason,
|
|
271
275
|
event,
|
|
@@ -308,10 +312,7 @@ function SelectInner(props) {
|
|
|
308
312
|
if (open) {
|
|
309
313
|
const nextIndex = controller.initialActiveIndex();
|
|
310
314
|
if (nextIndex >= 0) setActiveIndex(nextIndex, activeDetails("list-navigation", nextIndex));
|
|
311
|
-
} else
|
|
312
|
-
setActiveIndexFast(null);
|
|
313
|
-
setActiveIndexState(null);
|
|
314
|
-
}
|
|
315
|
+
} else setActiveIndex(null);
|
|
315
316
|
}, [
|
|
316
317
|
open,
|
|
317
318
|
selectedIndex,
|
|
@@ -357,7 +358,9 @@ function SelectInner(props) {
|
|
|
357
358
|
if (!details.isCanceled) controller.setValue(nextValue);
|
|
358
359
|
}, [controller, requestValueChange]),
|
|
359
360
|
shouldRenderWebNative,
|
|
360
|
-
|
|
361
|
+
setActiveIndex,
|
|
362
|
+
selectedIndex,
|
|
363
|
+
lastPointerRef,
|
|
361
364
|
listRef,
|
|
362
365
|
moveActive,
|
|
363
366
|
search,
|
|
@@ -371,15 +374,12 @@ function SelectInner(props) {
|
|
|
371
374
|
fallback: false,
|
|
372
375
|
valueNode,
|
|
373
376
|
onValueNodeChange: setValueNode,
|
|
374
|
-
activeIndex,
|
|
375
377
|
activeIndexRef,
|
|
376
378
|
selectedIndex,
|
|
377
379
|
setActiveIndex,
|
|
378
380
|
value,
|
|
379
381
|
mode,
|
|
380
382
|
selectedValues,
|
|
381
|
-
activeItem: activeIndex == null ? void 0 : registry.getItems()[activeIndex]?.value,
|
|
382
|
-
selectionAnchor: controller.selectionAnchor()?.value,
|
|
383
383
|
open,
|
|
384
384
|
native,
|
|
385
385
|
renderValue,
|
|
@@ -388,7 +388,6 @@ function SelectInner(props) {
|
|
|
388
388
|
activeIndexRef,
|
|
389
389
|
listContentRef,
|
|
390
390
|
selectedIndexRef,
|
|
391
|
-
setActiveIndexFast,
|
|
392
391
|
...props,
|
|
393
392
|
open,
|
|
394
393
|
value,
|
package/dist/esm/Select.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":[],"sources":["esm/Select.js"],"sourcesContent":["import { Adapt, AdaptParent, useAdaptIsActive } from \"@tamagui/adapt\";\nimport { useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { Text, View, createChangeEventDetails, createStyledContext, createStyledHOC, styled } from \"@tamagui/core\";\nimport { FocusScopeController } from \"@tamagui/focus-scope\";\nimport { withStaticProperties } from \"@tamagui/helpers\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport * as React from \"react\";\nimport { SelectItemParentProvider, SelectNativeComponentContext, SelectProvider, SelectZIndexContext, useSelectContext, useSelectItemParentContext } from \"./context\";\nimport { SelectContent } from \"./SelectContent\";\nimport { SelectInlineImpl } from \"./SelectImpl\";\nimport { SelectItem, useSelectItemContext } from \"./SelectItem\";\nimport { SelectItemText } from \"./SelectItemText\";\nimport { SelectScrollDownButton, SelectScrollUpButton } from \"./SelectScrollButton\";\nimport { SelectTrigger } from \"./SelectTrigger\";\nimport { SelectViewport } from \"./SelectViewport\";\nimport { createSelectItemRegistry, createSelectSelectionController, selectedValuesFromSelection } from \"./selectionController\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\n\nconst SelectValueFrame = styled(Text, { displayName: \"SelectValue\" });\nconst SelectValue = createStyledHOC(SelectValueFrame, function SelectValue2({ scope, children: childrenProp, placeholder, ...props }, forwardedRef) {\n\tconst context = useSelectContext(scope);\n\tconst itemParentContext = useSelectItemParentContext(scope);\n\tconst composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n\tconst isEmptyValue = context.selectedValues.length === 0;\n\tconst registeredValue = context.mode === \"multiple\" ? context.selectedValues.map((value, index) => /* @__PURE__ */ jsxs(React.Fragment, { children: [index > 0 ? \", \" : null, itemParentContext.registry.getItem(value)?.label ?? value] }, value)) : itemParentContext.registry.getItem(context.selectedValues[0])?.label ?? context.value;\n\tconst children = childrenProp !== void 0 ? childrenProp : context.renderValue ? context.renderValue(context.value) : registeredValue;\n\tconst selectValueChildren = isEmptyValue ? placeholder ?? children : children;\n\treturn /* @__PURE__ */ jsx(SelectValueFrame, {\n\t\tpointerEvents: \"none\",\n\t\tref: composedRefs,\n\t\t...props,\n\t\tchildren: selectValueChildren\n\t});\n});\nconst SelectIcon = styled(View, {\n\tdisplayName: \"SelectIcon\",\n\t\"aria-hidden\": true\n});\nconst SelectItemIndicatorFrame = styled(View, { displayName: \"SelectItemIndicator\" });\nconst SelectItemIndicator = createStyledHOC(SelectItemIndicatorFrame, function SelectItemIndicator2(props, forwardedRef) {\n\tconst { scope, ...itemIndicatorProps } = props;\n\tconst context = useSelectItemParentContext(scope);\n\tconst itemContext = useSelectItemContext(scope);\n\tif (context.shouldRenderWebNative) return null;\n\treturn itemContext.isSelected ? /* @__PURE__ */ jsx(SelectItemIndicatorFrame, {\n\t\t\"aria-hidden\": true,\n\t\t...itemIndicatorProps,\n\t\tref: forwardedRef\n\t}) : null;\n});\nconst SelectIndicatorFrame = styled(View, {\n\tdisplayName: \"SelectIndicator\",\n\tposition: \"absolute\",\n\ttop: 0,\n\tleft: 0,\n\tpointerEvents: \"none\",\n\tzIndex: 10\n});\nconst SelectIndicator = createStyledHOC(SelectIndicatorFrame, function SelectIndicator2({ scope, ...props }, forwardedRef) {\n\tconst itemContext = useSelectItemParentContext(scope);\n\tconst context = useSelectContext(scope);\n\tconst [layout, setLayout] = React.useState(null);\n\tconst rafRef = React.useRef(0);\n\tReact.useLayoutEffect(() => {\n\t\tconst update = (index) => {\n\t\t\tif (typeof index !== \"number\") return;\n\t\t\tcancelAnimationFrame(rafRef.current);\n\t\t\trafRef.current = requestAnimationFrame(() => {\n\t\t\t\tconst node = 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__ */ 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});\nconst GROUP_NAME = \"SelectGroup\";\nconst { Provider: SelectGroupContextProvider, useStyledContext: useSelectGroupContext } = createStyledContext({ id: \"\" }, \"SelectGroup\");\nconst SelectGroupFrame = styled(View, { displayName: GROUP_NAME });\nconst NativeSelect = styled(Text, {\n\tdisplayName: \"NativeSelect\",\n\trender: \"select\"\n});\nconst SelectGroup = createStyledHOC(SelectGroupFrame, (props, forwardedRef) => {\n\tconst { scope, ...groupProps } = props;\n\tconst groupId = React.useId();\n\tconst context = useSelectContext(scope);\n\tconst itemParentContext = useSelectItemParentContext(scope);\n\tconst StyledNativeSelect = React.useContext(SelectNativeComponentContext);\n\tconst nativeSelectRef = React.useRef(null);\n\tconst content = (() => {\n\t\tif (itemParentContext.shouldRenderWebNative) return /* @__PURE__ */ 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: ((event) => {\n\t\t\t\tconst value = context.mode === \"multiple\" ? Array.from(event.currentTarget.selectedOptions, (option) => option.value) : 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__ */ 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__ */ jsx(SelectGroupContextProvider, {\n\t\tscope,\n\t\tid: groupId || \"\",\n\t\tchildren: content\n\t});\n});\nSelectGroup.displayName = GROUP_NAME;\nconst SelectLabelFrame = styled(Text, { displayName: \"SelectLabel\" });\nconst SelectLabel = createStyledHOC(SelectLabelFrame, (props, forwardedRef) => {\n\tconst { scope, ...labelProps } = props;\n\tconst context = useSelectItemParentContext(scope);\n\tconst groupContext = useSelectGroupContext(scope);\n\tif (context.shouldRenderWebNative) return null;\n\treturn /* @__PURE__ */ jsx(SelectLabelFrame, {\n\t\trender: \"div\",\n\t\tid: groupContext.id,\n\t\t...labelProps,\n\t\tref: forwardedRef\n\t});\n});\nconst SelectSeparator = styled(View, { displayName: \"SelectSeparator\" });\nconst SelectSheetImpl = (props) => {\n\treturn /* @__PURE__ */ jsx(Fragment, { children: props.children });\n};\nfunction SelectRoot(props) {\n\tconst adaptScope = `AdaptSelect${props.scope || \"\"}`;\n\tconst [open, requestOpenChange] = useControllableState({\n\t\tprop: props.open,\n\t\tdefaultProp: props.defaultOpen || false,\n\t\tonChange: props.onOpenChange\n\t});\n\treturn /* @__PURE__ */ jsx(AdaptParent, {\n\t\tscope: adaptScope,\n\t\topen,\n\t\tonOpenChange: React.useCallback((nextOpen) => {\n\t\t\trequestOpenChange(nextOpen, createChangeEventDetails(nextOpen ? \"trigger-press\" : \"outside-press\"));\n\t\t}, [requestOpenChange]),\n\t\tchildren: /* @__PURE__ */ 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}\nconst Select = withStaticProperties(SelectRoot, {\n\tRoot: SelectRoot,\n\tAdapt,\n\tContent: SelectContent,\n\tGroup: SelectGroup,\n\tIcon: SelectIcon,\n\tItem: SelectItem,\n\tItemIndicator: SelectItemIndicator,\n\tItemText: SelectItemText,\n\tLabel: SelectLabel,\n\tScrollDownButton: SelectScrollDownButton,\n\tScrollUpButton: SelectScrollUpButton,\n\tSeparator: SelectSeparator,\n\tTrigger: SelectTrigger,\n\tValue: SelectValue,\n\tViewport: SelectViewport,\n\tIndicator: SelectIndicator,\n\tFocusScope: FocusScopeController\n});\nfunction useEmitter() {\n\tconst listenersRef = React.useRef(/* @__PURE__ */ new Set());\n\treturn [React.useCallback((value) => {\n\t\tlistenersRef.current.forEach((l) => l(value));\n\t}, []), React.useCallback((listener) => {\n\t\tlistenersRef.current.add(listener);\n\t\treturn () => {\n\t\t\tlistenersRef.current.delete(listener);\n\t\t};\n\t}, [])];\n}\nfunction SelectInner(props) {\n\tconst { 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\tconst SelectImpl = useAdaptIsActive(adaptScope) ? SelectSheetImpl : SelectInlineImpl;\n\tconst mode = multiple ? \"multiple\" : \"single\";\n\tconst [valueState, requestValueChange] = useControllableState({\n\t\tprop: valueProp,\n\t\tdefaultProp: defaultValue ?? (mode === \"multiple\" ? [] : \"\"),\n\t\tonChange: onValueChange,\n\t\ttransition: true\n\t});\n\tconst value = React.useMemo(() => mode === \"multiple\" ? selectedValuesFromSelection(mode, valueState) : typeof valueState === \"string\" ? valueState : \"\", [mode, valueState]);\n\tconst selectedValues = React.useMemo(() => selectedValuesFromSelection(mode, value), [mode, value]);\n\tconst [, rerenderRegistry] = React.useReducer((version) => version + 1, 0);\n\tconst registryRef = React.useRef(null);\n\tif (!registryRef.current) registryRef.current = createSelectItemRegistry(rerenderRegistry);\n\tconst registry = registryRef.current;\n\tconst controllerRef = React.useRef(null);\n\tif (!controllerRef.current) controllerRef.current = createSelectSelectionController({\n\t\tmode,\n\t\tvalue,\n\t\tregistry\n\t});\n\tconst controller = controllerRef.current;\n\tcontroller.setMode(mode);\n\tcontroller.setValue(value);\n\tReact.useEffect(() => {}, [props.id, requestOpenChange]);\n\tconst activeIndexRef = React.useRef(null);\n\tconst [activeIndex, setActiveIndexState] = React.useState(null);\n\tconst [emitActiveIndex, activeIndexSubscribe] = useEmitter();\n\tconst selectedIndexRef = React.useRef(null);\n\tconst listContentRef = React.useRef([]);\n\tconst listRef = React.useRef([]);\n\tconst [valueNode, setValueNode] = React.useState(null);\n\tconst selectedIndex = Math.max(0, controller.selectionAnchorIndex());\n\tlistContentRef.current = registry.getTypeaheadLabels();\n\tlistRef.current.length = registry.getItems().length;\n\tuseIsomorphicLayoutEffect(() => {\n\t\tselectedIndexRef.current = selectedIndex;\n\t});\n\tconst shouldRenderWebNative = isWeb && (native === true || native === \"web\" || Array.isArray(native) && native.includes(\"web\"));\n\tconst setActiveIndexFast = React.useCallback((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\tconst item = registry.getItems()[index];\n\t\t\t\tif (item && details) 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\tconst setActiveIndex = React.useCallback((index, details) => {\n\t\tsetActiveIndexFast(index, details);\n\t\tsetActiveIndexState(index);\n\t}, [setActiveIndexFast]);\n\tconst activeDetails = React.useCallback((reason, index, event) => ({\n\t\treason,\n\t\tevent,\n\t\ttrigger: void 0,\n\t\tindex\n\t}), []);\n\tconst moveActive = React.useCallback((direction, event) => {\n\t\tconst 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\tconst typeaheadRef = React.useRef({\n\t\ttext: \"\",\n\t\ttimeout: null\n\t});\n\tconst search = React.useCallback((text, event) => {\n\t\tclearTimeout(typeaheadRef.current.timeout);\n\t\ttypeaheadRef.current.text += text;\n\t\tlet 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(() => {\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(() => {\n\t\treturn () => clearTimeout(typeaheadRef.current.timeout);\n\t}, []);\n\tReact.useEffect(() => {\n\t\tif (open) {\n\t\t\tconst 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\tconst content = /* @__PURE__ */ jsxs(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: React.useCallback((nextItemValue, details) => {\n\t\t\tconst item = registry.getItem(nextItemValue);\n\t\t\tif (!item || item.disabled) return;\n\t\t\tcontroller.setMode(mode);\n\t\t\tcontroller.setValue(value);\n\t\t\tconst previousValue = controller.value;\n\t\t\trequestValueChange(controller.toggle(nextItemValue), details);\n\t\t\tif (details.isCanceled) {\n\t\t\t\tcontroller.setValue(previousValue);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (controller.shouldCloseOnSelect) requestOpenChange(false, createChangeEventDetails(details.reason === \"keyboard\" ? \"keyboard\" : \"item-press\", details.event, details.trigger));\n\t\t}, [\n\t\t\tcontroller,\n\t\t\tmode,\n\t\t\tregistry,\n\t\t\trequestOpenChange,\n\t\t\trequestValueChange,\n\t\t\tvalue\n\t\t]),\n\t\tchangeNativeValue: React.useCallback((nextValue, event) => {\n\t\t\tconst details = createChangeEventDetails(\"native-change\", event);\n\t\t\trequestValueChange(nextValue, details);\n\t\t\tif (!details.isCanceled) controller.setValue(nextValue);\n\t\t}, [controller, requestValueChange]),\n\t\tshouldRenderWebNative,\n\t\tsetActiveIndexFast,\n\t\tlistRef,\n\t\tmoveActive,\n\t\tsearch,\n\t\tchildren: [/* @__PURE__ */ jsx(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]?.value,\n\t\t\tselectionAnchor: 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__ */ 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}), isWeb && !shouldRenderWebNative && name ? (mode === \"multiple\" ? selectedValues : [value]).map((inputValue) => /* @__PURE__ */ jsx(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname,\n\t\t\tform,\n\t\t\tvalue: inputValue\n\t\t}, inputValue)) : null]\n\t});\n\tif (zIndex !== void 0) return /* @__PURE__ */ jsx(SelectZIndexContext.Provider, {\n\t\tvalue: zIndex,\n\t\tchildren: content\n\t});\n\treturn content;\n}\n\nexport { Select, SelectGroup, SelectGroupFrame, SelectIcon, SelectIndicator, SelectIndicatorFrame, SelectItemIndicator, SelectItemIndicatorFrame, SelectLabel, SelectLabelFrame, SelectRoot, SelectSeparator, SelectValue, SelectValueFrame };"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.js","names":[],"sources":["esm/Select.js"],"sourcesContent":["import { Adapt, AdaptParent, useAdaptIsActive } from \"@tamagui/adapt\";\nimport { useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { Text, View, createChangeEventDetails, createStyledContext, createStyledHOC, styled } from \"@tamagui/core\";\nimport { FocusScopeController } from \"@tamagui/focus-scope\";\nimport { withStaticProperties } from \"@tamagui/helpers\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport * as React from \"react\";\nimport { SelectItemParentProvider, SelectNativeComponentContext, SelectProvider, SelectZIndexContext, useSelectContext, useSelectItemParentContext } from \"./context\";\nimport { SelectContent } from \"./SelectContent\";\nimport { SelectInlineImpl } from \"./SelectImpl\";\nimport { SelectItem, useSelectItemContext } from \"./SelectItem\";\nimport { SelectItemText } from \"./SelectItemText\";\nimport { SelectScrollDownButton, SelectScrollUpButton } from \"./SelectScrollButton\";\nimport { SelectTrigger } from \"./SelectTrigger\";\nimport { SelectViewport } from \"./SelectViewport\";\nimport { createSelectItemRegistry, createSelectSelectionController, selectedValuesFromSelection } from \"./selectionController\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\n\nconst SelectValueFrame = styled(Text, { displayName: \"SelectValue\" });\nconst SelectValue = createStyledHOC(SelectValueFrame, function SelectValue2({ scope, children: childrenProp, placeholder, ...props }, forwardedRef) {\n\tconst context = useSelectContext(scope);\n\tconst itemParentContext = useSelectItemParentContext(scope);\n\tconst composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n\tconst isEmptyValue = context.selectedValues.length === 0;\n\tconst [, rerender] = React.useReducer((version) => version + 1, 0);\n\tuseIsomorphicLayoutEffect(() => itemParentContext.registry.subscribe(rerender), [itemParentContext.registry]);\n\tconst registeredValue = context.mode === \"multiple\" ? context.selectedValues.map((value, index) => /* @__PURE__ */ jsxs(React.Fragment, { children: [index > 0 ? \", \" : null, itemParentContext.registry.getItem(value)?.label ?? value] }, value)) : itemParentContext.registry.getItem(context.selectedValues[0])?.label ?? context.value;\n\tconst children = childrenProp !== void 0 ? childrenProp : context.renderValue ? context.renderValue(context.value) : registeredValue;\n\tconst selectValueChildren = isEmptyValue ? placeholder ?? children : children;\n\treturn /* @__PURE__ */ jsx(SelectValueFrame, {\n\t\tpointerEvents: \"none\",\n\t\tref: composedRefs,\n\t\t...props,\n\t\tchildren: selectValueChildren\n\t});\n});\nconst SelectIcon = styled(View, {\n\tdisplayName: \"SelectIcon\",\n\t\"aria-hidden\": true\n});\nconst SelectItemIndicatorFrame = styled(View, { displayName: \"SelectItemIndicator\" });\nconst SelectItemIndicator = createStyledHOC(SelectItemIndicatorFrame, function SelectItemIndicator2(props, forwardedRef) {\n\tconst { scope, ...itemIndicatorProps } = props;\n\tconst context = useSelectItemParentContext(scope);\n\tconst itemContext = useSelectItemContext(scope);\n\tif (context.shouldRenderWebNative) return null;\n\treturn itemContext.isSelected ? /* @__PURE__ */ jsx(SelectItemIndicatorFrame, {\n\t\t\"aria-hidden\": true,\n\t\t...itemIndicatorProps,\n\t\tref: forwardedRef\n\t}) : null;\n});\nconst SelectIndicatorFrame = styled(View, {\n\tdisplayName: \"SelectIndicator\",\n\tposition: \"absolute\",\n\ttop: 0,\n\tleft: 0,\n\tpointerEvents: \"none\",\n\tzIndex: 10\n});\nconst SelectIndicator = createStyledHOC(SelectIndicatorFrame, function SelectIndicator2({ scope, ...props }, forwardedRef) {\n\tconst itemContext = useSelectItemParentContext(scope);\n\tconst context = useSelectContext(scope);\n\tconst [layout, setLayout] = React.useState(null);\n\tconst rafRef = React.useRef(0);\n\tuseIsomorphicLayoutEffect(() => {\n\t\tconst update = (index) => {\n\t\t\tif (typeof index !== \"number\") return;\n\t\t\tcancelAnimationFrame(rafRef.current);\n\t\t\trafRef.current = requestAnimationFrame(() => {\n\t\t\t\tconst node = 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__ */ 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});\nconst GROUP_NAME = \"SelectGroup\";\nconst { Provider: SelectGroupContextProvider, useStyledContext: useSelectGroupContext } = createStyledContext({ id: \"\" }, \"SelectGroup\");\nconst SelectGroupFrame = styled(View, { displayName: GROUP_NAME });\nconst NativeSelect = styled(Text, {\n\tdisplayName: \"NativeSelect\",\n\trender: \"select\"\n});\nconst SelectGroup = createStyledHOC(SelectGroupFrame, (props, forwardedRef) => {\n\tconst { scope, ...groupProps } = props;\n\tconst groupId = React.useId();\n\tconst context = useSelectContext(scope);\n\tconst itemParentContext = useSelectItemParentContext(scope);\n\tconst StyledNativeSelect = React.useContext(SelectNativeComponentContext);\n\tconst nativeSelectRef = React.useRef(null);\n\tconst content = (() => {\n\t\tif (itemParentContext.shouldRenderWebNative) return /* @__PURE__ */ 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: ((event) => {\n\t\t\t\tconst value = context.mode === \"multiple\" ? Array.from(event.currentTarget.selectedOptions, (option) => option.value) : 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__ */ 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__ */ jsx(SelectGroupContextProvider, {\n\t\tscope,\n\t\tid: groupId || \"\",\n\t\tchildren: content\n\t});\n});\nSelectGroup.displayName = GROUP_NAME;\nconst SelectLabelFrame = styled(Text, { displayName: \"SelectLabel\" });\nconst SelectLabel = createStyledHOC(SelectLabelFrame, (props, forwardedRef) => {\n\tconst { scope, ...labelProps } = props;\n\tconst context = useSelectItemParentContext(scope);\n\tconst groupContext = useSelectGroupContext(scope);\n\tif (context.shouldRenderWebNative) return null;\n\treturn /* @__PURE__ */ jsx(SelectLabelFrame, {\n\t\trender: \"div\",\n\t\tid: groupContext.id,\n\t\t...labelProps,\n\t\tref: forwardedRef\n\t});\n});\nconst SelectSeparator = styled(View, { displayName: \"SelectSeparator\" });\nconst SelectSheetImpl = (props) => {\n\treturn /* @__PURE__ */ jsx(Fragment, { children: props.children });\n};\nfunction SelectRoot(props) {\n\tconst adaptScope = `AdaptSelect${props.scope || \"\"}`;\n\tconst [open, requestOpenChange] = useControllableState({\n\t\tprop: props.open,\n\t\tdefaultProp: props.defaultOpen || false,\n\t\tonChange: props.onOpenChange\n\t});\n\tconst handleAdaptOpenChange = React.useCallback((nextOpen) => {\n\t\trequestOpenChange(nextOpen, createChangeEventDetails(nextOpen ? \"trigger-press\" : \"outside-press\"));\n\t}, [requestOpenChange]);\n\treturn /* @__PURE__ */ jsx(AdaptParent, {\n\t\tscope: adaptScope,\n\t\tadaptChildren: props.children,\n\t\topen,\n\t\tonOpenChange: handleAdaptOpenChange,\n\t\tchildren: /* @__PURE__ */ 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}\nconst Select = withStaticProperties(SelectRoot, {\n\tRoot: SelectRoot,\n\tAdapt,\n\tContent: SelectContent,\n\tGroup: SelectGroup,\n\tIcon: SelectIcon,\n\tItem: SelectItem,\n\tItemIndicator: SelectItemIndicator,\n\tItemText: SelectItemText,\n\tLabel: SelectLabel,\n\tScrollDownButton: SelectScrollDownButton,\n\tScrollUpButton: SelectScrollUpButton,\n\tSeparator: SelectSeparator,\n\tTrigger: SelectTrigger,\n\tValue: SelectValue,\n\tViewport: SelectViewport,\n\tIndicator: SelectIndicator,\n\tFocusScope: FocusScopeController\n});\nfunction useEmitter() {\n\tconst listenersRef = React.useRef(/* @__PURE__ */ new Set());\n\treturn [React.useCallback((value) => {\n\t\tlistenersRef.current.forEach((l) => l(value));\n\t}, []), React.useCallback((listener) => {\n\t\tlistenersRef.current.add(listener);\n\t\treturn () => {\n\t\t\tlistenersRef.current.delete(listener);\n\t\t};\n\t}, [])];\n}\nfunction SelectInner(props) {\n\tconst { 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\tconst SelectImpl = useAdaptIsActive(adaptScope) ? SelectSheetImpl : SelectInlineImpl;\n\tconst mode = multiple ? \"multiple\" : \"single\";\n\tconst [valueState, requestValueChange] = useControllableState({\n\t\tprop: valueProp,\n\t\tdefaultProp: defaultValue ?? (mode === \"multiple\" ? [] : \"\"),\n\t\tonChange: onValueChange,\n\t\ttransition: true\n\t});\n\tconst value = React.useMemo(() => mode === \"multiple\" ? selectedValuesFromSelection(mode, valueState) : typeof valueState === \"string\" ? valueState : \"\", [mode, valueState]);\n\tconst selectedValues = React.useMemo(() => selectedValuesFromSelection(mode, value), [mode, value]);\n\tconst [, rerenderRegistry] = React.useReducer((version) => version + 1, 0);\n\tconst registryRef = React.useRef(null);\n\tif (!registryRef.current) registryRef.current = createSelectItemRegistry(rerenderRegistry);\n\tconst registry = registryRef.current;\n\tconst controllerRef = React.useRef(null);\n\tif (!controllerRef.current) controllerRef.current = createSelectSelectionController({\n\t\tmode,\n\t\tvalue,\n\t\tregistry\n\t});\n\tconst controller = controllerRef.current;\n\tcontroller.setMode(mode);\n\tcontroller.setValue(value);\n\tReact.useEffect(() => {}, [props.id, requestOpenChange]);\n\tconst activeIndexRef = React.useRef(null);\n\tconst [emitActiveIndex, activeIndexSubscribe] = useEmitter();\n\tconst selectedIndexRef = React.useRef(null);\n\tconst lastPointerRef = React.useRef({\n\t\tx: -1,\n\t\ty: -1\n\t});\n\tconst listContentRef = React.useRef([]);\n\tconst listRef = React.useRef([]);\n\tconst [valueNode, setValueNode] = React.useState(null);\n\tconst selectedIndex = Math.max(0, controller.selectionAnchorIndex());\n\tlistContentRef.current = registry.getTypeaheadLabels();\n\tconst itemNodes = registry.getNodes();\n\tlistRef.current.length = itemNodes.length;\n\tfor (let i = 0; i < itemNodes.length; i++) listRef.current[i] = itemNodes[i];\n\tuseIsomorphicLayoutEffect(() => {\n\t\tselectedIndexRef.current = selectedIndex;\n\t});\n\tconst shouldRenderWebNative = isWeb && (native === true || native === \"web\" || Array.isArray(native) && native.includes(\"web\"));\n\tconst setActiveIndex = React.useCallback((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\tconst item = registry.getItems()[index];\n\t\t\tif (item && details) onActiveChange?.(item.value, details);\n\t\t}\n\t}, [\n\t\tcontroller,\n\t\temitActiveIndex,\n\t\tonActiveChange,\n\t\tregistry\n\t]);\n\tconst activeDetails = React.useCallback((reason, index, event) => ({\n\t\treason,\n\t\tevent,\n\t\ttrigger: void 0,\n\t\tindex\n\t}), []);\n\tconst moveActive = React.useCallback((direction, event) => {\n\t\tconst 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\tconst typeaheadRef = React.useRef({\n\t\ttext: \"\",\n\t\ttimeout: null\n\t});\n\tconst search = React.useCallback((text, event) => {\n\t\tclearTimeout(typeaheadRef.current.timeout);\n\t\ttypeaheadRef.current.text += text;\n\t\tlet 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(() => {\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(() => {\n\t\treturn () => clearTimeout(typeaheadRef.current.timeout);\n\t}, []);\n\tReact.useEffect(() => {\n\t\tif (open) {\n\t\t\tconst 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\tconst content = /* @__PURE__ */ jsxs(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: React.useCallback((nextItemValue, details) => {\n\t\t\tconst item = registry.getItem(nextItemValue);\n\t\t\tif (!item || item.disabled) return;\n\t\t\tcontroller.setMode(mode);\n\t\t\tcontroller.setValue(value);\n\t\t\tconst previousValue = controller.value;\n\t\t\trequestValueChange(controller.toggle(nextItemValue), details);\n\t\t\tif (details.isCanceled) {\n\t\t\t\tcontroller.setValue(previousValue);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (controller.shouldCloseOnSelect) requestOpenChange(false, createChangeEventDetails(details.reason === \"keyboard\" ? \"keyboard\" : \"item-press\", details.event, details.trigger));\n\t\t}, [\n\t\t\tcontroller,\n\t\t\tmode,\n\t\t\tregistry,\n\t\t\trequestOpenChange,\n\t\t\trequestValueChange,\n\t\t\tvalue\n\t\t]),\n\t\tchangeNativeValue: React.useCallback((nextValue, event) => {\n\t\t\tconst details = createChangeEventDetails(\"native-change\", event);\n\t\t\trequestValueChange(nextValue, details);\n\t\t\tif (!details.isCanceled) controller.setValue(nextValue);\n\t\t}, [controller, requestValueChange]),\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__ */ jsx(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__ */ 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}), isWeb && !shouldRenderWebNative && name ? (mode === \"multiple\" ? selectedValues : [value]).map((inputValue) => /* @__PURE__ */ jsx(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname,\n\t\t\tform,\n\t\t\tvalue: inputValue\n\t\t}, inputValue)) : null]\n\t});\n\tif (zIndex !== void 0) return /* @__PURE__ */ jsx(SelectZIndexContext.Provider, {\n\t\tvalue: zIndex,\n\t\tchildren: content\n\t});\n\treturn content;\n}\n\nexport { Select, SelectGroup, SelectGroupFrame, SelectIcon, SelectIndicator, SelectIndicatorFrame, SelectItemIndicator, SelectItemIndicatorFrame, SelectLabel, SelectLabelFrame, SelectRoot, SelectSeparator, SelectValue, SelectValueFrame };"],"mappings":"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"}
|
|
@@ -26,6 +26,12 @@ var SelectValue = createStyledHOC(SelectValueFrame, function SelectValue2(param,
|
|
|
26
26
|
var itemParentContext = useSelectItemParentContext(scope);
|
|
27
27
|
var composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);
|
|
28
28
|
var isEmptyValue = context.selectedValues.length === 0;
|
|
29
|
+
var [, rerender] = React.useReducer(function(version) {
|
|
30
|
+
return version + 1;
|
|
31
|
+
}, 0);
|
|
32
|
+
useIsomorphicLayoutEffect(function() {
|
|
33
|
+
return itemParentContext.registry.subscribe(rerender);
|
|
34
|
+
}, [itemParentContext.registry]);
|
|
29
35
|
var _itemParentContext_registry_getItem_label;
|
|
30
36
|
var registeredValue = context.mode === "multiple" ? context.selectedValues.map(function(value, index) {
|
|
31
37
|
var _itemParentContext_registry_getItem2;
|
|
@@ -71,7 +77,7 @@ var SelectIndicator = createStyledHOC(SelectIndicatorFrame, function SelectIndic
|
|
|
71
77
|
var context = useSelectContext(scope);
|
|
72
78
|
var [layout, setLayout] = React.useState(null);
|
|
73
79
|
var rafRef = React.useRef(0);
|
|
74
|
-
|
|
80
|
+
useIsomorphicLayoutEffect(function() {
|
|
75
81
|
var update = function(index) {
|
|
76
82
|
if (typeof index !== "number") return;
|
|
77
83
|
cancelAnimationFrame(rafRef.current);
|
|
@@ -173,12 +179,14 @@ function SelectRoot(props) {
|
|
|
173
179
|
defaultProp: props.defaultOpen || false,
|
|
174
180
|
onChange: props.onOpenChange
|
|
175
181
|
});
|
|
182
|
+
var handleAdaptOpenChange = React.useCallback(function(nextOpen) {
|
|
183
|
+
requestOpenChange(nextOpen, createChangeEventDetails(nextOpen ? "trigger-press" : "outside-press"));
|
|
184
|
+
}, [requestOpenChange]);
|
|
176
185
|
return /* @__PURE__ */ jsx(AdaptParent, {
|
|
177
186
|
scope: adaptScope,
|
|
187
|
+
adaptChildren: props.children,
|
|
178
188
|
open,
|
|
179
|
-
onOpenChange:
|
|
180
|
-
requestOpenChange(nextOpen, createChangeEventDetails(nextOpen ? "trigger-press" : "outside-press"));
|
|
181
|
-
}, [requestOpenChange]),
|
|
189
|
+
onOpenChange: handleAdaptOpenChange,
|
|
182
190
|
children: /* @__PURE__ */ jsx(SelectInner, {
|
|
183
191
|
...props,
|
|
184
192
|
scope: props.scope,
|
|
@@ -221,7 +229,6 @@ function useEmitter() {
|
|
|
221
229
|
}, [])];
|
|
222
230
|
}
|
|
223
231
|
function SelectInner(props) {
|
|
224
|
-
var _registry_getItems_activeIndex, _controller_selectionAnchor;
|
|
225
232
|
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;
|
|
226
233
|
var SelectImpl = useAdaptIsActive(adaptScope) ? SelectSheetImpl : SelectInlineImpl;
|
|
227
234
|
var mode = multiple ? "multiple" : "single";
|
|
@@ -264,28 +271,32 @@ function SelectInner(props) {
|
|
|
264
271
|
});
|
|
265
272
|
}, [props.id, requestOpenChange]);
|
|
266
273
|
var activeIndexRef = React.useRef(null);
|
|
267
|
-
var [activeIndex, setActiveIndexState] = React.useState(null);
|
|
268
274
|
var [emitActiveIndex, activeIndexSubscribe] = useEmitter();
|
|
269
275
|
var selectedIndexRef = React.useRef(null);
|
|
276
|
+
var lastPointerRef = React.useRef({
|
|
277
|
+
x: -1,
|
|
278
|
+
y: -1
|
|
279
|
+
});
|
|
270
280
|
var listContentRef = React.useRef([]);
|
|
271
281
|
var listRef = React.useRef([]);
|
|
272
282
|
var [valueNode, setValueNode] = React.useState(null);
|
|
273
283
|
var selectedIndex = Math.max(0, controller.selectionAnchorIndex());
|
|
274
284
|
listContentRef.current = registry.getTypeaheadLabels();
|
|
275
|
-
|
|
285
|
+
var itemNodes = registry.getNodes();
|
|
286
|
+
listRef.current.length = itemNodes.length;
|
|
287
|
+
for (var i = 0; i < itemNodes.length; i++) listRef.current[i] = itemNodes[i];
|
|
276
288
|
useIsomorphicLayoutEffect(function() {
|
|
277
289
|
selectedIndexRef.current = selectedIndex;
|
|
278
290
|
});
|
|
279
291
|
var shouldRenderWebNative = isWeb && (native === true || native === "web" || Array.isArray(native) && native.includes("web"));
|
|
280
|
-
var
|
|
281
|
-
if (activeIndexRef.current
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
}
|
|
292
|
+
var setActiveIndex = React.useCallback(function(index, details) {
|
|
293
|
+
if (activeIndexRef.current === index) return;
|
|
294
|
+
activeIndexRef.current = index;
|
|
295
|
+
controller.setActiveIndex(index);
|
|
296
|
+
emitActiveIndex(index);
|
|
297
|
+
if (typeof index === "number") {
|
|
298
|
+
var item = registry.getItems()[index];
|
|
299
|
+
if (item && details) onActiveChange === null || onActiveChange === void 0 || onActiveChange(item.value, details);
|
|
289
300
|
}
|
|
290
301
|
}, [
|
|
291
302
|
controller,
|
|
@@ -293,10 +304,6 @@ function SelectInner(props) {
|
|
|
293
304
|
onActiveChange,
|
|
294
305
|
registry
|
|
295
306
|
]);
|
|
296
|
-
var setActiveIndex = React.useCallback(function(index, details) {
|
|
297
|
-
setActiveIndexFast(index, details);
|
|
298
|
-
setActiveIndexState(index);
|
|
299
|
-
}, [setActiveIndexFast]);
|
|
300
307
|
var activeDetails = React.useCallback(function(reason, index, event) {
|
|
301
308
|
return {
|
|
302
309
|
reason,
|
|
@@ -343,10 +350,7 @@ function SelectInner(props) {
|
|
|
343
350
|
if (open) {
|
|
344
351
|
var nextIndex = controller.initialActiveIndex();
|
|
345
352
|
if (nextIndex >= 0) setActiveIndex(nextIndex, activeDetails("list-navigation", nextIndex));
|
|
346
|
-
} else
|
|
347
|
-
setActiveIndexFast(null);
|
|
348
|
-
setActiveIndexState(null);
|
|
349
|
-
}
|
|
353
|
+
} else setActiveIndex(null);
|
|
350
354
|
}, [
|
|
351
355
|
open,
|
|
352
356
|
selectedIndex,
|
|
@@ -392,7 +396,9 @@ function SelectInner(props) {
|
|
|
392
396
|
if (!details.isCanceled) controller.setValue(nextValue);
|
|
393
397
|
}, [controller, requestValueChange]),
|
|
394
398
|
shouldRenderWebNative,
|
|
395
|
-
|
|
399
|
+
setActiveIndex,
|
|
400
|
+
selectedIndex,
|
|
401
|
+
lastPointerRef,
|
|
396
402
|
listRef,
|
|
397
403
|
moveActive,
|
|
398
404
|
search,
|
|
@@ -406,15 +412,12 @@ function SelectInner(props) {
|
|
|
406
412
|
fallback: false,
|
|
407
413
|
valueNode,
|
|
408
414
|
onValueNodeChange: setValueNode,
|
|
409
|
-
activeIndex,
|
|
410
415
|
activeIndexRef,
|
|
411
416
|
selectedIndex,
|
|
412
417
|
setActiveIndex,
|
|
413
418
|
value,
|
|
414
419
|
mode,
|
|
415
420
|
selectedValues,
|
|
416
|
-
activeItem: activeIndex == null ? void 0 : (_registry_getItems_activeIndex = registry.getItems()[activeIndex]) === null || _registry_getItems_activeIndex === void 0 ? void 0 : _registry_getItems_activeIndex.value,
|
|
417
|
-
selectionAnchor: (_controller_selectionAnchor = controller.selectionAnchor()) === null || _controller_selectionAnchor === void 0 ? void 0 : _controller_selectionAnchor.value,
|
|
418
421
|
open,
|
|
419
422
|
native,
|
|
420
423
|
renderValue,
|
|
@@ -423,7 +426,6 @@ function SelectInner(props) {
|
|
|
423
426
|
activeIndexRef,
|
|
424
427
|
listContentRef,
|
|
425
428
|
selectedIndexRef,
|
|
426
|
-
setActiveIndexFast,
|
|
427
429
|
...props,
|
|
428
430
|
open,
|
|
429
431
|
value,
|