@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.
- 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 +56 -50
- 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 +2 -2
- 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 +22 -30
- 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 +56 -50
- 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 +2 -2
- 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 +22 -30
- 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 +56 -50
- 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 +2 -2
- 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 +22 -30
- 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 +83 -81
- package/src/SelectItem.tsx +66 -91
- package/src/SelectScrollButton.tsx +2 -2
- package/src/SelectTrigger.tsx +19 -2
- package/src/SelectViewport.native.tsx +4 -4
- package/src/SelectViewport.tsx +21 -27
- package/src/selectionController.ts +20 -5
- package/src/types.tsx +26 -21
- 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 -21
- package/types/types.d.ts.map +1 -1
|
@@ -43,13 +43,6 @@ var import_helpers = require("@tamagui/helpers");
|
|
|
43
43
|
var React = __toESM(require("react"), 1);
|
|
44
44
|
var import_context = require("./context.native.js");
|
|
45
45
|
var import_selectionController = require("./selectionController.native.js");
|
|
46
|
-
function _instanceof(left, right) {
|
|
47
|
-
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
48
|
-
return !!right[Symbol.hasInstance](left);
|
|
49
|
-
} else {
|
|
50
|
-
return left instanceof right;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
46
|
var ITEM_NAME = "SelectItem";
|
|
54
47
|
var { Provider: SelectItemContextProvider, useStyledContext: useSelectItemContext } = (0, import_core.createStyledContext)(null, ITEM_NAME);
|
|
55
48
|
var SelectItemFrame = (0, import_core.styled)(import_core.View, {
|
|
@@ -61,44 +54,22 @@ var SelectItem = (0, import_core.createStyledHOC)(SelectItemFrame, function Sele
|
|
|
61
54
|
var { scope, value, disabled: disabledProp, "aria-disabled": ariaDisabled, textValue: textValueProp, ...restProps } = props;
|
|
62
55
|
var disabled = disabledProp !== null && disabledProp !== void 0 ? disabledProp : ariaDisabled === true;
|
|
63
56
|
var context = (0, import_context.useSelectItemParentContext)(scope);
|
|
64
|
-
var
|
|
65
|
-
var
|
|
66
|
-
var { listRef, registry, mode, selectedValues, selectValue, activeIndexSubscribe, activeIndexRef, allowMouseUpRef, allowSelectRef, selectTimeoutRef, interactions, shouldRenderWebNative, setActiveIndexFast, moveActive, search } = context;
|
|
57
|
+
var isAdapted = (0, import_adapt.useAdaptIsActive)(context.adaptScope);
|
|
58
|
+
var { registry, mode, selectedValues, selectValue, activeIndexSubscribe, activeIndexRef, allowMouseUpRef, allowSelectRef, selectTimeoutRef, getItemProps, shouldRenderWebNative, setActiveIndex, lastPointerRef, moveActive, search } = context;
|
|
67
59
|
var isSelected = selectedValues.includes(value);
|
|
68
60
|
var pendingMouseUpSelectionRef = React.useRef(false);
|
|
69
61
|
var itemNodeRef = React.useRef(null);
|
|
70
|
-
var [, rerenderRegistry] = React.useReducer(function(version) {
|
|
71
|
-
return version + 1;
|
|
72
|
-
}, 0);
|
|
73
62
|
var registrationRef = React.useRef(null);
|
|
74
63
|
var initialRegistration = React.useRef({
|
|
75
64
|
value,
|
|
76
65
|
disabled,
|
|
77
66
|
textValue: textValueProp
|
|
78
67
|
});
|
|
79
|
-
(0, import_constants.useIsomorphicLayoutEffect)(function() {
|
|
80
|
-
return registry.subscribe(function() {
|
|
81
|
-
return rerenderRegistry();
|
|
82
|
-
});
|
|
83
|
-
}, [registry]);
|
|
84
68
|
(0, import_constants.useIsomorphicLayoutEffect)(function() {
|
|
85
69
|
var registration = registry.registerItem(initialRegistration.current);
|
|
86
70
|
registrationRef.current = registration;
|
|
87
|
-
|
|
88
|
-
registration.setNode(registeredNode);
|
|
89
|
-
var registeredIndex = registry.getItems().findIndex(function(item) {
|
|
90
|
-
return item.id === registration.id;
|
|
91
|
-
});
|
|
92
|
-
if (import_constants.isWeb && listRef && registeredIndex >= 0 && _instanceof(registeredNode, HTMLElement)) {
|
|
93
|
-
listRef.current[registeredIndex] = registeredNode;
|
|
94
|
-
}
|
|
71
|
+
registration.setNode(itemNodeRef.current);
|
|
95
72
|
return function() {
|
|
96
|
-
var currentIndex = registry.getItems().findIndex(function(item) {
|
|
97
|
-
return item.id === registration.id;
|
|
98
|
-
});
|
|
99
|
-
if (listRef && currentIndex >= 0 && listRef.current[currentIndex] === registeredNode) {
|
|
100
|
-
listRef.current[currentIndex] = null;
|
|
101
|
-
}
|
|
102
73
|
registrationRef.current = null;
|
|
103
74
|
registration.unregister();
|
|
104
75
|
};
|
|
@@ -119,39 +90,37 @@ var SelectItem = (0, import_core.createStyledHOC)(SelectItemFrame, function Sele
|
|
|
119
90
|
var _registrationRef_current;
|
|
120
91
|
(_registrationRef_current = registrationRef.current) === null || _registrationRef_current === void 0 ? void 0 : _registrationRef_current.setNode(itemNodeRef.current);
|
|
121
92
|
});
|
|
122
|
-
var
|
|
93
|
+
var [isActive, setIsActive] = React.useState(false);
|
|
94
|
+
var isActiveRef = React.useRef(false);
|
|
123
95
|
React.useEffect(function() {
|
|
124
96
|
var handleActiveIndex = function(i) {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
97
|
+
var next = i != null && registry.getIndex(value) === i;
|
|
98
|
+
if (next !== isActiveRef.current) {
|
|
99
|
+
isActiveRef.current = next;
|
|
100
|
+
setIsActive(next);
|
|
101
|
+
}
|
|
102
|
+
if (next && import_constants.isWeb) {
|
|
103
|
+
requestAnimationFrame(function() {
|
|
104
|
+
var _itemNodeRef_current_focus, _itemNodeRef_current;
|
|
105
|
+
(_itemNodeRef_current = itemNodeRef.current) === null || _itemNodeRef_current === void 0 ? void 0 : (_itemNodeRef_current_focus = _itemNodeRef_current.focus) === null || _itemNodeRef_current_focus === void 0 ? void 0 : _itemNodeRef_current_focus.call(_itemNodeRef_current);
|
|
106
|
+
});
|
|
132
107
|
}
|
|
133
108
|
};
|
|
134
|
-
var
|
|
135
|
-
|
|
136
|
-
handleActiveIndex(currentActiveIndex);
|
|
137
|
-
}
|
|
109
|
+
var _activeIndexRef_current;
|
|
110
|
+
handleActiveIndex((_activeIndexRef_current = activeIndexRef === null || activeIndexRef === void 0 ? void 0 : activeIndexRef.current) !== null && _activeIndexRef_current !== void 0 ? _activeIndexRef_current : null);
|
|
138
111
|
return activeIndexSubscribe(handleActiveIndex);
|
|
139
112
|
}, [
|
|
140
113
|
activeIndexRef,
|
|
141
114
|
activeIndexSubscribe,
|
|
142
|
-
|
|
143
|
-
|
|
115
|
+
registry,
|
|
116
|
+
value
|
|
144
117
|
]);
|
|
145
118
|
var textId = React.useId();
|
|
146
119
|
var refCallback = React.useCallback(function(node) {
|
|
147
120
|
var _registrationRef_current;
|
|
148
121
|
itemNodeRef.current = node;
|
|
149
122
|
(_registrationRef_current = registrationRef.current) === null || _registrationRef_current === void 0 ? void 0 : _registrationRef_current.setNode(node);
|
|
150
|
-
|
|
151
|
-
if (listRef && index >= 0) {
|
|
152
|
-
listRef.current[index] = _instanceof(node, HTMLElement) ? node : null;
|
|
153
|
-
}
|
|
154
|
-
}, [index, listRef]);
|
|
123
|
+
}, []);
|
|
155
124
|
var composedRefs = (0, import_compose_refs.useComposedRefs)(forwardedRef, refCallback);
|
|
156
125
|
var handleSelect = React.useCallback(function(event) {
|
|
157
126
|
var reason = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "item-press";
|
|
@@ -163,6 +132,27 @@ var SelectItem = (0, import_core.createStyledHOC)(SelectItemFrame, function Sele
|
|
|
163
132
|
selectValue,
|
|
164
133
|
value
|
|
165
134
|
]);
|
|
135
|
+
var handleMouseMove = React.useCallback(function(event) {
|
|
136
|
+
if (disabled) return;
|
|
137
|
+
var index = registry.getIndex(value);
|
|
138
|
+
if (index < 0) return;
|
|
139
|
+
var last = lastPointerRef.current;
|
|
140
|
+
if (event.clientX === last.x && event.clientY === last.y) return;
|
|
141
|
+
last.x = event.clientX;
|
|
142
|
+
last.y = event.clientY;
|
|
143
|
+
setActiveIndex(index, {
|
|
144
|
+
reason: "item-hover",
|
|
145
|
+
event: event.nativeEvent || event,
|
|
146
|
+
trigger: event.currentTarget,
|
|
147
|
+
index
|
|
148
|
+
});
|
|
149
|
+
}, [
|
|
150
|
+
disabled,
|
|
151
|
+
lastPointerRef,
|
|
152
|
+
registry,
|
|
153
|
+
setActiveIndex,
|
|
154
|
+
value
|
|
155
|
+
]);
|
|
166
156
|
var handleKeyDown = React.useCallback(function(event) {
|
|
167
157
|
var _event_key;
|
|
168
158
|
if (disabled) return;
|
|
@@ -177,7 +167,7 @@ var SelectItem = (0, import_core.createStyledHOC)(SelectItemFrame, function Sele
|
|
|
177
167
|
moveActive(event.key === "ArrowDown" ? 1 : -1, event.nativeEvent || event);
|
|
178
168
|
return;
|
|
179
169
|
}
|
|
180
|
-
if (!
|
|
170
|
+
if (!getItemProps && ((_event_key = event.key) === null || _event_key === void 0 ? void 0 : _event_key.length) === 1 && !event.metaKey && !event.ctrlKey) {
|
|
181
171
|
search(event.key, event.nativeEvent || event);
|
|
182
172
|
}
|
|
183
173
|
if (allowSelectRef) {
|
|
@@ -187,14 +177,14 @@ var SelectItem = (0, import_core.createStyledHOC)(SelectItemFrame, function Sele
|
|
|
187
177
|
allowSelectRef,
|
|
188
178
|
disabled,
|
|
189
179
|
handleSelect,
|
|
190
|
-
|
|
180
|
+
getItemProps,
|
|
191
181
|
moveActive,
|
|
192
182
|
search
|
|
193
183
|
]);
|
|
194
184
|
var selectItemProps = React.useMemo(function() {
|
|
195
|
-
if (
|
|
185
|
+
if (getItemProps) {
|
|
196
186
|
var { onTouchMove, onTouchEnd, onKeyDown, onClick, onMouseUp, onMouseMove, onPress, ...itemProps } = restProps;
|
|
197
|
-
var interactionProps =
|
|
187
|
+
var interactionProps = getItemProps({
|
|
198
188
|
...itemProps,
|
|
199
189
|
onTouchMove() {
|
|
200
190
|
allowSelectRef.current = true;
|
|
@@ -204,15 +194,7 @@ var SelectItem = (0, import_core.createStyledHOC)(SelectItemFrame, function Sele
|
|
|
204
194
|
allowSelectRef.current = false;
|
|
205
195
|
allowMouseUpRef.current = true;
|
|
206
196
|
},
|
|
207
|
-
onMouseMove
|
|
208
|
-
if (disabled || index < 0) return;
|
|
209
|
-
setActiveIndexFast === null || setActiveIndexFast === void 0 ? void 0 : setActiveIndexFast(index, {
|
|
210
|
-
reason: "item-hover",
|
|
211
|
-
event: event.nativeEvent || event,
|
|
212
|
-
trigger: event.currentTarget,
|
|
213
|
-
index
|
|
214
|
-
});
|
|
215
|
-
},
|
|
197
|
+
onMouseMove: handleMouseMove,
|
|
216
198
|
onKeyDown: handleKeyDown,
|
|
217
199
|
onClick(event) {
|
|
218
200
|
if (disabled) return;
|
|
@@ -266,15 +248,7 @@ var SelectItem = (0, import_core.createStyledHOC)(SelectItemFrame, function Sele
|
|
|
266
248
|
return {
|
|
267
249
|
...restProps,
|
|
268
250
|
onKeyDown: (0, import_helpers.composeEventHandlers)(restProps.onKeyDown, handleKeyDown),
|
|
269
|
-
onMouseMove: (0, import_helpers.composeEventHandlers)(restProps.onMouseMove,
|
|
270
|
-
if (disabled || index < 0) return;
|
|
271
|
-
setActiveIndexFast === null || setActiveIndexFast === void 0 ? void 0 : setActiveIndexFast(index, {
|
|
272
|
-
reason: "item-hover",
|
|
273
|
-
event: event.nativeEvent || event,
|
|
274
|
-
trigger: event.currentTarget,
|
|
275
|
-
index
|
|
276
|
-
});
|
|
277
|
-
}),
|
|
251
|
+
onMouseMove: (0, import_helpers.composeEventHandlers)(restProps.onMouseMove, handleMouseMove),
|
|
278
252
|
onPress: (0, import_helpers.composeEventHandlers)(restProps.onPress, handleSelect)
|
|
279
253
|
};
|
|
280
254
|
}, [
|
|
@@ -282,15 +256,13 @@ var SelectItem = (0, import_core.createStyledHOC)(SelectItemFrame, function Sele
|
|
|
282
256
|
allowSelectRef,
|
|
283
257
|
disabled,
|
|
284
258
|
handleKeyDown,
|
|
259
|
+
handleMouseMove,
|
|
285
260
|
handleSelect,
|
|
286
|
-
|
|
287
|
-
interactions,
|
|
261
|
+
getItemProps,
|
|
288
262
|
restProps,
|
|
289
|
-
selectTimeoutRef
|
|
290
|
-
setActiveIndexFast
|
|
263
|
+
selectTimeoutRef
|
|
291
264
|
]);
|
|
292
265
|
var accessibilityProps = (0, import_selectionController.getSelectOptionProps)(mode, isSelected, disabled, import_constants.isWeb ? "web" : "native");
|
|
293
|
-
var _selectContext_activeIndex;
|
|
294
266
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectItemContextProvider, {
|
|
295
267
|
scope,
|
|
296
268
|
value,
|
|
@@ -307,7 +279,7 @@ var SelectItem = (0, import_core.createStyledHOC)(SelectItemFrame, function Sele
|
|
|
307
279
|
"aria-labelledby": textId,
|
|
308
280
|
"data-state": isSelected ? "active" : "inactive",
|
|
309
281
|
"data-disabled": disabled ? "" : void 0,
|
|
310
|
-
tabIndex: disabled ? void 0 : import_constants.isWeb && isAdapted
|
|
282
|
+
tabIndex: disabled ? void 0 : import_constants.isWeb && isAdapted && (isActive || (activeIndexRef === null || activeIndexRef === void 0 ? void 0 : activeIndexRef.current) == null && isSelected) ? 0 : -1,
|
|
311
283
|
zIndex: 100,
|
|
312
284
|
...selectItemProps,
|
|
313
285
|
...accessibilityProps
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectItem.native.js","names":[],"sources":["jsx/SelectItem.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 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 __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar SelectItem_exports = {};\n__export(SelectItem_exports, {\n SelectItem: () => SelectItem,\n SelectItemContextProvider: () => SelectItemContextProvider,\n SelectItemFrame: () => SelectItemFrame,\n useSelectItemContext: () => useSelectItemContext\n});\nmodule.exports = __toCommonJS(SelectItem_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_compose_refs = require(\"@tamagui/compose-refs\");\nvar import_adapt = require(\"@tamagui/adapt\");\nvar import_constants = require(\"@tamagui/constants\");\nvar import_core = require(\"@tamagui/core\");\nvar import_helpers = require(\"@tamagui/helpers\");\nvar React = __toESM(require(\"react\"), 1);\nvar import_context = require(\"./context\");\nvar import_selectionController = require(\"./selectionController\");\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nvar ITEM_NAME = \"SelectItem\";\nvar { Provider: SelectItemContextProvider, useStyledContext: useSelectItemContext } = (0, import_core.createStyledContext)(null, ITEM_NAME);\nvar SelectItemFrame = (0, import_core.styled)(import_core.View, {\n displayName: ITEM_NAME,\n alignItems: \"center\",\n flexDirection: \"row\"\n});\nvar SelectItem = (0, import_core.createStyledHOC)(SelectItemFrame, function SelectItem2(props, forwardedRef) {\n var { scope, value, disabled: disabledProp, \"aria-disabled\": ariaDisabled, textValue: textValueProp, ...restProps } = props;\n var disabled = disabledProp !== null && disabledProp !== void 0 ? disabledProp : ariaDisabled === true;\n var context = (0, import_context.useSelectItemParentContext)(scope);\n var selectContext = (0, import_context.useSelectContext)(scope);\n var isAdapted = (0, import_adapt.useAdaptIsActive)(selectContext.adaptScope);\n var { listRef, registry, mode, selectedValues, selectValue, activeIndexSubscribe, activeIndexRef, allowMouseUpRef, allowSelectRef, selectTimeoutRef, interactions, shouldRenderWebNative, setActiveIndexFast, moveActive, search } = context;\n var isSelected = selectedValues.includes(value);\n var pendingMouseUpSelectionRef = React.useRef(false);\n var itemNodeRef = React.useRef(null);\n var [, rerenderRegistry] = React.useReducer(function(version) {\n return version + 1;\n }, 0);\n var registrationRef = React.useRef(null);\n var initialRegistration = React.useRef({\n value,\n disabled,\n textValue: textValueProp\n });\n (0, import_constants.useIsomorphicLayoutEffect)(function() {\n return registry.subscribe(function() {\n return rerenderRegistry();\n });\n }, [\n registry\n ]);\n (0, import_constants.useIsomorphicLayoutEffect)(function() {\n var registration = registry.registerItem(initialRegistration.current);\n registrationRef.current = registration;\n var registeredNode = itemNodeRef.current;\n registration.setNode(registeredNode);\n var registeredIndex = registry.getItems().findIndex(function(item) {\n return item.id === registration.id;\n });\n if (import_constants.isWeb && listRef && registeredIndex >= 0 && _instanceof(registeredNode, HTMLElement)) {\n listRef.current[registeredIndex] = registeredNode;\n }\n return function() {\n var currentIndex = registry.getItems().findIndex(function(item) {\n return item.id === registration.id;\n });\n if (listRef && currentIndex >= 0 && listRef.current[currentIndex] === registeredNode) {\n listRef.current[currentIndex] = null;\n }\n registrationRef.current = null;\n registration.unregister();\n };\n }, [\n registry\n ]);\n (0, import_constants.useIsomorphicLayoutEffect)(function() {\n var _registrationRef_current;\n (_registrationRef_current = registrationRef.current) === null || _registrationRef_current === void 0 ? void 0 : _registrationRef_current.update({\n value,\n disabled,\n textValue: textValueProp\n });\n }, [\n disabled,\n textValueProp,\n value\n ]);\n (0, import_constants.useIsomorphicLayoutEffect)(function() {\n var _registrationRef_current;\n (_registrationRef_current = registrationRef.current) === null || _registrationRef_current === void 0 ? void 0 : _registrationRef_current.setNode(itemNodeRef.current);\n });\n var index = registry.getIndex(value);\n React.useEffect(function() {\n var handleActiveIndex = function(i) {\n if (index === i) {\n if (import_constants.isWeb) {\n requestAnimationFrame(function() {\n var _listRef_current_index;\n listRef === null || listRef === void 0 ? void 0 : (_listRef_current_index = listRef.current[index]) === null || _listRef_current_index === void 0 ? void 0 : _listRef_current_index.focus();\n });\n }\n }\n };\n var currentActiveIndex = activeIndexRef === null || activeIndexRef === void 0 ? void 0 : activeIndexRef.current;\n if (currentActiveIndex !== null && currentActiveIndex !== void 0) {\n handleActiveIndex(currentActiveIndex);\n }\n return activeIndexSubscribe(handleActiveIndex);\n }, [\n activeIndexRef,\n activeIndexSubscribe,\n index,\n listRef\n ]);\n var textId = React.useId();\n var refCallback = React.useCallback(function(node) {\n var _registrationRef_current;\n itemNodeRef.current = node;\n (_registrationRef_current = registrationRef.current) === null || _registrationRef_current === void 0 ? void 0 : _registrationRef_current.setNode(node);\n if (!import_constants.isWeb) return;\n if (listRef && index >= 0) {\n listRef.current[index] = _instanceof(node, HTMLElement) ? node : null;\n }\n }, [\n index,\n listRef\n ]);\n var composedRefs = (0, import_compose_refs.useComposedRefs)(forwardedRef, refCallback);\n var handleSelect = React.useCallback(function(event) {\n var reason = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"item-press\";\n if (disabled) return;\n var nativeEvent = (event === null || event === void 0 ? void 0 : event.nativeEvent) || event;\n selectValue(value, (0, import_core.createChangeEventDetails)(reason, nativeEvent, event === null || event === void 0 ? void 0 : event.currentTarget));\n }, [\n disabled,\n selectValue,\n value\n ]);\n var handleKeyDown = React.useCallback(function(event) {\n var _event_key;\n if (disabled) return;\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n handleSelect(event, \"keyboard\");\n return;\n }\n if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n event.stopPropagation();\n moveActive(event.key === \"ArrowDown\" ? 1 : -1, event.nativeEvent || event);\n return;\n }\n if (!interactions && ((_event_key = event.key) === null || _event_key === void 0 ? void 0 : _event_key.length) === 1 && !event.metaKey && !event.ctrlKey) {\n search(event.key, event.nativeEvent || event);\n }\n if (allowSelectRef) {\n allowSelectRef.current = true;\n }\n }, [\n allowSelectRef,\n disabled,\n handleSelect,\n interactions,\n moveActive,\n search\n ]);\n var selectItemProps = React.useMemo(function() {\n if (interactions) {\n var { onTouchMove, onTouchEnd, onKeyDown, onClick, onMouseUp, onMouseMove, onPress, ...itemProps } = restProps;\n var interactionProps = interactions.getItemProps({\n ...itemProps,\n onTouchMove() {\n allowSelectRef.current = true;\n allowMouseUpRef.current = false;\n },\n onTouchEnd() {\n allowSelectRef.current = false;\n allowMouseUpRef.current = true;\n },\n onMouseMove(event) {\n if (disabled || index < 0) return;\n setActiveIndexFast === null || setActiveIndexFast === void 0 ? void 0 : setActiveIndexFast(index, {\n reason: \"item-hover\",\n event: event.nativeEvent || event,\n trigger: event.currentTarget,\n index\n });\n },\n onKeyDown: handleKeyDown,\n onClick(event) {\n if (disabled) return;\n var shouldSelect = pendingMouseUpSelectionRef.current || allowSelectRef.current;\n pendingMouseUpSelectionRef.current = false;\n clearTimeout(selectTimeoutRef.current);\n allowSelectRef.current = true;\n if (shouldSelect) {\n handleSelect(event);\n }\n },\n onMouseUp(event) {\n if (disabled) return;\n if (!allowMouseUpRef.current) {\n allowMouseUpRef.current = true;\n allowSelectRef.current = true;\n return;\n }\n pendingMouseUpSelectionRef.current = allowSelectRef.current;\n clearTimeout(selectTimeoutRef.current);\n selectTimeoutRef.current = setTimeout(function() {\n allowSelectRef.current = true;\n if (pendingMouseUpSelectionRef.current) {\n pendingMouseUpSelectionRef.current = false;\n handleSelect(event);\n }\n });\n }\n });\n return {\n ...interactionProps,\n onTouchMove: (0, import_helpers.composeEventHandlers)(onTouchMove, interactionProps.onTouchMove),\n onTouchEnd: (0, import_helpers.composeEventHandlers)(onTouchEnd, interactionProps.onTouchEnd),\n onKeyDown: (0, import_helpers.composeEventHandlers)(onKeyDown, interactionProps.onKeyDown),\n onClick(event) {\n var _interactionProps_onClick;\n onClick === null || onClick === void 0 ? void 0 : onClick(event);\n if (event.defaultPrevented) {\n pendingMouseUpSelectionRef.current = false;\n clearTimeout(selectTimeoutRef.current);\n allowSelectRef.current = true;\n return;\n }\n (_interactionProps_onClick = interactionProps.onClick) === null || _interactionProps_onClick === void 0 ? void 0 : _interactionProps_onClick.call(interactionProps, event);\n },\n onMouseUp: (0, import_helpers.composeEventHandlers)(onMouseUp, interactionProps.onMouseUp),\n onMouseMove: (0, import_helpers.composeEventHandlers)(onMouseMove, interactionProps.onMouseMove),\n onPress\n };\n }\n return {\n ...restProps,\n onKeyDown: (0, import_helpers.composeEventHandlers)(restProps.onKeyDown, handleKeyDown),\n onMouseMove: (0, import_helpers.composeEventHandlers)(restProps.onMouseMove, function(event) {\n if (disabled || index < 0) return;\n setActiveIndexFast === null || setActiveIndexFast === void 0 ? void 0 : setActiveIndexFast(index, {\n reason: \"item-hover\",\n event: event.nativeEvent || event,\n trigger: event.currentTarget,\n index\n });\n }),\n onPress: (0, import_helpers.composeEventHandlers)(restProps.onPress, handleSelect)\n };\n }, [\n allowMouseUpRef,\n allowSelectRef,\n disabled,\n handleKeyDown,\n handleSelect,\n index,\n interactions,\n restProps,\n selectTimeoutRef,\n setActiveIndexFast\n ]);\n var accessibilityProps = (0, import_selectionController.getSelectOptionProps)(mode, isSelected, disabled, import_constants.isWeb ? \"web\" : \"native\");\n var _selectContext_activeIndex;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectItemContextProvider, {\n scope,\n value,\n textId: textId || \"\",\n textValue: textValueProp,\n isSelected,\n children: shouldRenderWebNative ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"option\", {\n value,\n disabled,\n children: props.children\n }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectItemFrame, {\n render: \"div\",\n ref: composedRefs,\n \"aria-labelledby\": textId,\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-disabled\": disabled ? \"\" : void 0,\n tabIndex: disabled ? void 0 : import_constants.isWeb && isAdapted ? index === ((_selectContext_activeIndex = selectContext.activeIndex) !== null && _selectContext_activeIndex !== void 0 ? _selectContext_activeIndex : selectContext.selectedIndex) ? 0 : -1 : -1,\n zIndex: 100,\n ...selectItemProps,\n ...accessibilityProps\n })\n });\n}, {\n disableTheme: true\n});\n//# sourceMappingURL=SelectItem.js.map\n"],"mappings":";;;AACA,IAAI,WAAW,OAAO;AACtB,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO;AAC1B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,WAAW,KAAK,YAAY,YAAY,SAAS,OAAO,OAAO,SAAS,aAAa,GAAG,CAAC,IAAI,CAAC,GAAG,YAKnG,cAAc,CAAC,OAAO,CAAC,IAAI,aAAa,UAAU,QAAQ,WAAW;CAAE,OAAO;CAAK,YAAY;AAAK,CAAC,IAAI,QACzG,GACF;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,qBAAqB,CAAC;AAC1B,SAAS,oBAAoB;CAC3B,kBAAkB;CAClB,iCAAiC;CACjC,uBAAuB;CACvB,4BAA4B;AAC9B,CAAC;AACD,OAAO,UAAU,aAAa,kBAAkB;AAChD,IAAI,qBAAqB,QAAQ,mBAAmB;AACpD,IAAI,sBAAsB,QAAQ,uBAAuB;AACzD,IAAI,eAAe,QAAQ,gBAAgB;AAC3C,IAAI,mBAAmB,QAAQ,oBAAoB;AACnD,IAAI,cAAc,QAAQ,eAAe;AACzC,IAAI,iBAAiB,QAAQ,kBAAkB;AAC/C,IAAI,QAAQ,QAAQ,QAAQ,OAAO,GAAG,CAAC;AACvC,IAAI,iBAAiB,QAAQ,qBAAW;AACxC,IAAI,6BAA6B,QAAQ,iCAAuB;AAChE,SAAS,YAAY,MAAM,OAAO;CAChC,IAAI,SAAS,QAAQ,OAAO,WAAW,eAAe,MAAM,OAAO,cAAc;EAC/E,OAAO,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,IAAI;CACzC,OAAO;EACL,OAAO,gBAAgB;CACzB;AACF;AACA,IAAI,YAAY;AAChB,IAAI,EAAE,UAAU,2BAA2B,kBAAkB,0BAA0B,GAAG,YAAY,oBAAmB,CAAE,MAAM,SAAS;AAC1I,IAAI,mBAAmB,GAAG,YAAY,OAAM,CAAE,YAAY,MAAM;CAC9D,aAAa;CACb,YAAY;CACZ,eAAe;AACjB,CAAC;AACD,IAAI,cAAc,GAAG,YAAY,gBAAe,CAAE,iBAAiB,SAAS,YAAY,OAAO,cAAc;CAC3G,IAAI,EAAE,OAAO,OAAO,UAAU,cAAc,iBAAiB,cAAc,WAAW,eAAe,GAAG,cAAc;CACtH,IAAI,WAAW,iBAAiB,QAAQ,iBAAiB,KAAK,IAAI,eAAe,iBAAiB;CAClG,IAAI,WAAW,GAAG,eAAe,2BAA0B,CAAE,KAAK;CAClE,IAAI,iBAAiB,GAAG,eAAe,iBAAgB,CAAE,KAAK;CAC9D,IAAI,aAAa,GAAG,aAAa,iBAAgB,CAAE,cAAc,UAAU;CAC3E,IAAI,EAAE,SAAS,UAAU,MAAM,gBAAgB,aAAa,sBAAsB,gBAAgB,iBAAiB,gBAAgB,kBAAkB,cAAc,uBAAuB,oBAAoB,YAAY,WAAW;CACrO,IAAI,aAAa,eAAe,SAAS,KAAK;CAC9C,IAAI,6BAA6B,MAAM,OAAO,KAAK;CACnD,IAAI,cAAc,MAAM,OAAO,IAAI;CACnC,IAAI,GAAG,oBAAoB,MAAM,WAAW,SAAS,SAAS;EAC5D,OAAO,UAAU;CACnB,GAAG,CAAC;CACJ,IAAI,kBAAkB,MAAM,OAAO,IAAI;CACvC,IAAI,sBAAsB,MAAM,OAAO;EACrC;EACA;EACA,WAAW;CACb,CAAC;CACD,CAAC,GAAG,iBAAiB,0BAAyB,CAAE,WAAW;EACzD,OAAO,SAAS,UAAU,WAAW;GACnC,OAAO,iBAAiB;EAC1B,CAAC;CACH,GAAG,CACD,QACF,CAAC;CACD,CAAC,GAAG,iBAAiB,0BAAyB,CAAE,WAAW;EACzD,IAAI,eAAe,SAAS,aAAa,oBAAoB,OAAO;EACpE,gBAAgB,UAAU;EAC1B,IAAI,iBAAiB,YAAY;EACjC,aAAa,QAAQ,cAAc;EACnC,IAAI,kBAAkB,SAAS,SAAS,CAAC,CAAC,UAAU,SAAS,MAAM;GACjE,OAAO,KAAK,OAAO,aAAa;EAClC,CAAC;EACD,IAAI,iBAAiB,SAAS,WAAW,mBAAmB,KAAK,YAAY,gBAAgB,WAAW,GAAG;GACzG,QAAQ,QAAQ,mBAAmB;EACrC;EACA,OAAO,WAAW;GAChB,IAAI,eAAe,SAAS,SAAS,CAAC,CAAC,UAAU,SAAS,MAAM;IAC9D,OAAO,KAAK,OAAO,aAAa;GAClC,CAAC;GACD,IAAI,WAAW,gBAAgB,KAAK,QAAQ,QAAQ,kBAAkB,gBAAgB;IACpF,QAAQ,QAAQ,gBAAgB;GAClC;GACA,gBAAgB,UAAU;GAC1B,aAAa,WAAW;EAC1B;CACF,GAAG,CACD,QACF,CAAC;CACD,CAAC,GAAG,iBAAiB,0BAAyB,CAAE,WAAW;EACzD,IAAI;EACJ,CAAC,2BAA2B,gBAAgB,aAAa,QAAQ,6BAA6B,KAAK,IAAI,KAAK,IAAI,yBAAyB,OAAO;GAC9I;GACA;GACA,WAAW;EACb,CAAC;CACH,GAAG;EACD;EACA;EACA;CACF,CAAC;CACD,CAAC,GAAG,iBAAiB,0BAAyB,CAAE,WAAW;EACzD,IAAI;EACJ,CAAC,2BAA2B,gBAAgB,aAAa,QAAQ,6BAA6B,KAAK,IAAI,KAAK,IAAI,yBAAyB,QAAQ,YAAY,OAAO;CACtK,CAAC;CACD,IAAI,QAAQ,SAAS,SAAS,KAAK;CACnC,MAAM,UAAU,WAAW;EACzB,IAAI,oBAAoB,SAAS,GAAG;GAClC,IAAI,UAAU,GAAG;IACf,IAAI,iBAAiB,OAAO;KAC1B,sBAAsB,WAAW;MAC/B,IAAI;MACJ,YAAY,QAAQ,YAAY,KAAK,IAAI,KAAK,KAAK,yBAAyB,QAAQ,QAAQ,YAAY,QAAQ,2BAA2B,KAAK,IAAI,KAAK,IAAI,uBAAuB,MAAM;KAC5L,CAAC;IACH;GACF;EACF;EACA,IAAI,qBAAqB,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,eAAe;EACxG,IAAI,uBAAuB,QAAQ,uBAAuB,KAAK,GAAG;GAChE,kBAAkB,kBAAkB;EACtC;EACA,OAAO,qBAAqB,iBAAiB;CAC/C,GAAG;EACD;EACA;EACA;EACA;CACF,CAAC;CACD,IAAI,SAAS,MAAM,MAAM;CACzB,IAAI,cAAc,MAAM,YAAY,SAAS,MAAM;EACjD,IAAI;EACJ,YAAY,UAAU;EACtB,CAAC,2BAA2B,gBAAgB,aAAa,QAAQ,6BAA6B,KAAK,IAAI,KAAK,IAAI,yBAAyB,QAAQ,IAAI;EACrJ,IAAI,CAAC,iBAAiB,OAAO;EAC7B,IAAI,WAAW,SAAS,GAAG;GACzB,QAAQ,QAAQ,SAAS,YAAY,MAAM,WAAW,IAAI,OAAO;EACnE;CACF,GAAG,CACD,OACA,OACF,CAAC;CACD,IAAI,gBAAgB,GAAG,oBAAoB,gBAAe,CAAE,cAAc,WAAW;CACrF,IAAI,eAAe,MAAM,YAAY,SAAS,OAAO;EACnD,IAAI,SAAS,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK;EAC9E,IAAI,UAAU;EACd,IAAI,eAAe,UAAU,QAAQ,UAAU,KAAK,IAAI,KAAK,IAAI,MAAM,gBAAgB;EACvF,YAAY,QAAQ,GAAG,YAAY,yBAAwB,CAAE,QAAQ,aAAa,UAAU,QAAQ,UAAU,KAAK,IAAI,KAAK,IAAI,MAAM,aAAa,CAAC;CACtJ,GAAG;EACD;EACA;EACA;CACF,CAAC;CACD,IAAI,gBAAgB,MAAM,YAAY,SAAS,OAAO;EACpD,IAAI;EACJ,IAAI,UAAU;EACd,IAAI,MAAM,QAAQ,WAAW,MAAM,QAAQ,KAAK;GAC9C,MAAM,eAAe;GACrB,aAAa,OAAO,UAAU;GAC9B;EACF;EACA,IAAI,MAAM,QAAQ,eAAe,MAAM,QAAQ,WAAW;GACxD,MAAM,eAAe;GACrB,MAAM,gBAAgB;GACtB,WAAW,MAAM,QAAQ,cAAc,IAAI,CAAC,GAAG,MAAM,eAAe,KAAK;GACzE;EACF;EACA,IAAI,CAAC,kBAAkB,aAAa,MAAM,SAAS,QAAQ,eAAe,KAAK,IAAI,KAAK,IAAI,WAAW,YAAY,KAAK,CAAC,MAAM,WAAW,CAAC,MAAM,SAAS;GACxJ,OAAO,MAAM,KAAK,MAAM,eAAe,KAAK;EAC9C;EACA,IAAI,gBAAgB;GAClB,eAAe,UAAU;EAC3B;CACF,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CACD,IAAI,kBAAkB,MAAM,QAAQ,WAAW;EAC7C,IAAI,cAAc;GAChB,IAAI,EAAE,aAAa,YAAY,WAAW,SAAS,WAAW,aAAa,SAAS,GAAG,cAAc;GACrG,IAAI,mBAAmB,aAAa,aAAa;IAC/C,GAAG;IACH,cAAc;KACZ,eAAe,UAAU;KACzB,gBAAgB,UAAU;IAC5B;IACA,aAAa;KACX,eAAe,UAAU;KACzB,gBAAgB,UAAU;IAC5B;IACA,YAAY,OAAO;KACjB,IAAI,YAAY,QAAQ,GAAG;KAC3B,uBAAuB,QAAQ,uBAAuB,KAAK,IAAI,KAAK,IAAI,mBAAmB,OAAO;MAChG,QAAQ;MACR,OAAO,MAAM,eAAe;MAC5B,SAAS,MAAM;MACf;KACF,CAAC;IACH;IACA,WAAW;IACX,QAAQ,OAAO;KACb,IAAI,UAAU;KACd,IAAI,eAAe,2BAA2B,WAAW,eAAe;KACxE,2BAA2B,UAAU;KACrC,aAAa,iBAAiB,OAAO;KACrC,eAAe,UAAU;KACzB,IAAI,cAAc;MAChB,aAAa,KAAK;KACpB;IACF;IACA,UAAU,OAAO;KACf,IAAI,UAAU;KACd,IAAI,CAAC,gBAAgB,SAAS;MAC5B,gBAAgB,UAAU;MAC1B,eAAe,UAAU;MACzB;KACF;KACA,2BAA2B,UAAU,eAAe;KACpD,aAAa,iBAAiB,OAAO;KACrC,iBAAiB,UAAU,WAAW,WAAW;MAC/C,eAAe,UAAU;MACzB,IAAI,2BAA2B,SAAS;OACtC,2BAA2B,UAAU;OACrC,aAAa,KAAK;MACpB;KACF,CAAC;IACH;GACF,CAAC;GACD,OAAO;IACL,GAAG;IACH,cAAc,GAAG,eAAe,qBAAoB,CAAE,aAAa,iBAAiB,WAAW;IAC/F,aAAa,GAAG,eAAe,qBAAoB,CAAE,YAAY,iBAAiB,UAAU;IAC5F,YAAY,GAAG,eAAe,qBAAoB,CAAE,WAAW,iBAAiB,SAAS;IACzF,QAAQ,OAAO;KACb,IAAI;KACJ,YAAY,QAAQ,YAAY,KAAK,IAAI,KAAK,IAAI,QAAQ,KAAK;KAC/D,IAAI,MAAM,kBAAkB;MAC1B,2BAA2B,UAAU;MACrC,aAAa,iBAAiB,OAAO;MACrC,eAAe,UAAU;MACzB;KACF;KACA,CAAC,4BAA4B,iBAAiB,aAAa,QAAQ,8BAA8B,KAAK,IAAI,KAAK,IAAI,0BAA0B,KAAK,kBAAkB,KAAK;IAC3K;IACA,YAAY,GAAG,eAAe,qBAAoB,CAAE,WAAW,iBAAiB,SAAS;IACzF,cAAc,GAAG,eAAe,qBAAoB,CAAE,aAAa,iBAAiB,WAAW;IAC/F;GACF;EACF;EACA,OAAO;GACL,GAAG;GACH,YAAY,GAAG,eAAe,qBAAoB,CAAE,UAAU,WAAW,aAAa;GACtF,cAAc,GAAG,eAAe,qBAAoB,CAAE,UAAU,aAAa,SAAS,OAAO;IAC3F,IAAI,YAAY,QAAQ,GAAG;IAC3B,uBAAuB,QAAQ,uBAAuB,KAAK,IAAI,KAAK,IAAI,mBAAmB,OAAO;KAChG,QAAQ;KACR,OAAO,MAAM,eAAe;KAC5B,SAAS,MAAM;KACf;IACF,CAAC;GACH,CAAC;GACD,UAAU,GAAG,eAAe,qBAAoB,CAAE,UAAU,SAAS,YAAY;EACnF;CACF,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CACD,IAAI,sBAAsB,GAAG,2BAA2B,qBAAoB,CAAE,MAAM,YAAY,UAAU,iBAAiB,QAAQ,QAAQ,QAAQ;CACnJ,IAAI;CACJ,OAAuB,iBAAC,GAAG,mBAAmB,IAAG,CAAE,2BAA2B;EAC5E;EACA;EACA,QAAQ,UAAU;EAClB,WAAW;EACX;EACA,UAAU,wBAAwC,iBAAC,GAAG,mBAAmB,IAAG,CAAE,UAAU;GACtF;GACA;GACA,UAAU,MAAM;EAClB,CAAC,IAAoB,iBAAC,GAAG,mBAAmB,IAAG,CAAE,iBAAiB;GAChE,QAAQ;GACR,KAAK;GACL,mBAAmB;GACnB,cAAc,aAAa,WAAW;GACtC,iBAAiB,WAAW,KAAK,KAAK;GACtC,UAAU,WAAW,KAAK,IAAI,iBAAiB,SAAS,YAAY,YAAY,6BAA6B,cAAc,iBAAiB,QAAQ,+BAA+B,KAAK,IAAI,6BAA6B,cAAc,iBAAiB,IAAI,CAAC,IAAI,CAAC;GAClQ,QAAQ;GACR,GAAG;GACH,GAAG;EACL,CAAC;CACH,CAAC;AACH,GAAG,EACD,cAAc,KAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"SelectItem.native.js","names":[],"sources":["jsx/SelectItem.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 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 __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar SelectItem_exports = {};\n__export(SelectItem_exports, {\n SelectItem: () => SelectItem,\n SelectItemContextProvider: () => SelectItemContextProvider,\n SelectItemFrame: () => SelectItemFrame,\n useSelectItemContext: () => useSelectItemContext\n});\nmodule.exports = __toCommonJS(SelectItem_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_compose_refs = require(\"@tamagui/compose-refs\");\nvar import_adapt = require(\"@tamagui/adapt\");\nvar import_constants = require(\"@tamagui/constants\");\nvar import_core = require(\"@tamagui/core\");\nvar import_helpers = require(\"@tamagui/helpers\");\nvar React = __toESM(require(\"react\"), 1);\nvar import_context = require(\"./context\");\nvar import_selectionController = require(\"./selectionController\");\nvar ITEM_NAME = \"SelectItem\";\nvar { Provider: SelectItemContextProvider, useStyledContext: useSelectItemContext } = (0, import_core.createStyledContext)(null, ITEM_NAME);\nvar SelectItemFrame = (0, import_core.styled)(import_core.View, {\n displayName: ITEM_NAME,\n alignItems: \"center\",\n flexDirection: \"row\"\n});\nvar SelectItem = (0, import_core.createStyledHOC)(SelectItemFrame, function SelectItem2(props, forwardedRef) {\n var { scope, value, disabled: disabledProp, \"aria-disabled\": ariaDisabled, textValue: textValueProp, ...restProps } = props;\n var disabled = disabledProp !== null && disabledProp !== void 0 ? disabledProp : ariaDisabled === true;\n var context = (0, import_context.useSelectItemParentContext)(scope);\n var isAdapted = (0, import_adapt.useAdaptIsActive)(context.adaptScope);\n var { registry, mode, selectedValues, selectValue, activeIndexSubscribe, activeIndexRef, allowMouseUpRef, allowSelectRef, selectTimeoutRef, getItemProps, shouldRenderWebNative, setActiveIndex, lastPointerRef, moveActive, search } = context;\n var isSelected = selectedValues.includes(value);\n var pendingMouseUpSelectionRef = React.useRef(false);\n var itemNodeRef = React.useRef(null);\n var registrationRef = React.useRef(null);\n var initialRegistration = React.useRef({\n value,\n disabled,\n textValue: textValueProp\n });\n (0, import_constants.useIsomorphicLayoutEffect)(function() {\n var registration = registry.registerItem(initialRegistration.current);\n registrationRef.current = registration;\n registration.setNode(itemNodeRef.current);\n return function() {\n registrationRef.current = null;\n registration.unregister();\n };\n }, [\n registry\n ]);\n (0, import_constants.useIsomorphicLayoutEffect)(function() {\n var _registrationRef_current;\n (_registrationRef_current = registrationRef.current) === null || _registrationRef_current === void 0 ? void 0 : _registrationRef_current.update({\n value,\n disabled,\n textValue: textValueProp\n });\n }, [\n disabled,\n textValueProp,\n value\n ]);\n (0, import_constants.useIsomorphicLayoutEffect)(function() {\n var _registrationRef_current;\n (_registrationRef_current = registrationRef.current) === null || _registrationRef_current === void 0 ? void 0 : _registrationRef_current.setNode(itemNodeRef.current);\n });\n var [isActive, setIsActive] = React.useState(false);\n var isActiveRef = React.useRef(false);\n React.useEffect(function() {\n var handleActiveIndex = function(i) {\n var next = i != null && registry.getIndex(value) === i;\n if (next !== isActiveRef.current) {\n isActiveRef.current = next;\n setIsActive(next);\n }\n if (next && import_constants.isWeb) {\n requestAnimationFrame(function() {\n var _itemNodeRef_current_focus, _itemNodeRef_current;\n (_itemNodeRef_current = itemNodeRef.current) === null || _itemNodeRef_current === void 0 ? void 0 : (_itemNodeRef_current_focus = _itemNodeRef_current.focus) === null || _itemNodeRef_current_focus === void 0 ? void 0 : _itemNodeRef_current_focus.call(_itemNodeRef_current);\n });\n }\n };\n var _activeIndexRef_current;\n handleActiveIndex((_activeIndexRef_current = activeIndexRef === null || activeIndexRef === void 0 ? void 0 : activeIndexRef.current) !== null && _activeIndexRef_current !== void 0 ? _activeIndexRef_current : null);\n return activeIndexSubscribe(handleActiveIndex);\n }, [\n activeIndexRef,\n activeIndexSubscribe,\n registry,\n value\n ]);\n var textId = React.useId();\n var refCallback = React.useCallback(function(node) {\n var _registrationRef_current;\n itemNodeRef.current = node;\n (_registrationRef_current = registrationRef.current) === null || _registrationRef_current === void 0 ? void 0 : _registrationRef_current.setNode(node);\n }, []);\n var composedRefs = (0, import_compose_refs.useComposedRefs)(forwardedRef, refCallback);\n var handleSelect = React.useCallback(function(event) {\n var reason = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"item-press\";\n if (disabled) return;\n var nativeEvent = (event === null || event === void 0 ? void 0 : event.nativeEvent) || event;\n selectValue(value, (0, import_core.createChangeEventDetails)(reason, nativeEvent, event === null || event === void 0 ? void 0 : event.currentTarget));\n }, [\n disabled,\n selectValue,\n value\n ]);\n var handleMouseMove = React.useCallback(function(event) {\n if (disabled) return;\n var index = registry.getIndex(value);\n if (index < 0) return;\n var last = lastPointerRef.current;\n if (event.clientX === last.x && event.clientY === last.y) return;\n last.x = event.clientX;\n last.y = event.clientY;\n setActiveIndex(index, {\n reason: \"item-hover\",\n event: event.nativeEvent || event,\n trigger: event.currentTarget,\n index\n });\n }, [\n disabled,\n lastPointerRef,\n registry,\n setActiveIndex,\n value\n ]);\n var handleKeyDown = React.useCallback(function(event) {\n var _event_key;\n if (disabled) return;\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n handleSelect(event, \"keyboard\");\n return;\n }\n if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n event.stopPropagation();\n moveActive(event.key === \"ArrowDown\" ? 1 : -1, event.nativeEvent || event);\n return;\n }\n if (!getItemProps && ((_event_key = event.key) === null || _event_key === void 0 ? void 0 : _event_key.length) === 1 && !event.metaKey && !event.ctrlKey) {\n search(event.key, event.nativeEvent || event);\n }\n if (allowSelectRef) {\n allowSelectRef.current = true;\n }\n }, [\n allowSelectRef,\n disabled,\n handleSelect,\n getItemProps,\n moveActive,\n search\n ]);\n var selectItemProps = React.useMemo(function() {\n if (getItemProps) {\n var { onTouchMove, onTouchEnd, onKeyDown, onClick, onMouseUp, onMouseMove, onPress, ...itemProps } = restProps;\n var interactionProps = getItemProps({\n ...itemProps,\n onTouchMove() {\n allowSelectRef.current = true;\n allowMouseUpRef.current = false;\n },\n onTouchEnd() {\n allowSelectRef.current = false;\n allowMouseUpRef.current = true;\n },\n onMouseMove: handleMouseMove,\n onKeyDown: handleKeyDown,\n onClick(event) {\n if (disabled) return;\n var shouldSelect = pendingMouseUpSelectionRef.current || allowSelectRef.current;\n pendingMouseUpSelectionRef.current = false;\n clearTimeout(selectTimeoutRef.current);\n allowSelectRef.current = true;\n if (shouldSelect) {\n handleSelect(event);\n }\n },\n onMouseUp(event) {\n if (disabled) return;\n if (!allowMouseUpRef.current) {\n allowMouseUpRef.current = true;\n allowSelectRef.current = true;\n return;\n }\n pendingMouseUpSelectionRef.current = allowSelectRef.current;\n clearTimeout(selectTimeoutRef.current);\n selectTimeoutRef.current = setTimeout(function() {\n allowSelectRef.current = true;\n if (pendingMouseUpSelectionRef.current) {\n pendingMouseUpSelectionRef.current = false;\n handleSelect(event);\n }\n });\n }\n });\n return {\n ...interactionProps,\n onTouchMove: (0, import_helpers.composeEventHandlers)(onTouchMove, interactionProps.onTouchMove),\n onTouchEnd: (0, import_helpers.composeEventHandlers)(onTouchEnd, interactionProps.onTouchEnd),\n onKeyDown: (0, import_helpers.composeEventHandlers)(onKeyDown, interactionProps.onKeyDown),\n onClick(event) {\n var _interactionProps_onClick;\n onClick === null || onClick === void 0 ? void 0 : onClick(event);\n if (event.defaultPrevented) {\n pendingMouseUpSelectionRef.current = false;\n clearTimeout(selectTimeoutRef.current);\n allowSelectRef.current = true;\n return;\n }\n (_interactionProps_onClick = interactionProps.onClick) === null || _interactionProps_onClick === void 0 ? void 0 : _interactionProps_onClick.call(interactionProps, event);\n },\n onMouseUp: (0, import_helpers.composeEventHandlers)(onMouseUp, interactionProps.onMouseUp),\n onMouseMove: (0, import_helpers.composeEventHandlers)(onMouseMove, interactionProps.onMouseMove),\n onPress\n };\n }\n return {\n ...restProps,\n onKeyDown: (0, import_helpers.composeEventHandlers)(restProps.onKeyDown, handleKeyDown),\n onMouseMove: (0, import_helpers.composeEventHandlers)(restProps.onMouseMove, handleMouseMove),\n onPress: (0, import_helpers.composeEventHandlers)(restProps.onPress, handleSelect)\n };\n }, [\n allowMouseUpRef,\n allowSelectRef,\n disabled,\n handleKeyDown,\n handleMouseMove,\n handleSelect,\n getItemProps,\n restProps,\n selectTimeoutRef\n ]);\n var accessibilityProps = (0, import_selectionController.getSelectOptionProps)(mode, isSelected, disabled, import_constants.isWeb ? \"web\" : \"native\");\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectItemContextProvider, {\n scope,\n value,\n textId: textId || \"\",\n textValue: textValueProp,\n isSelected,\n children: shouldRenderWebNative ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"option\", {\n value,\n disabled,\n children: props.children\n }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectItemFrame, {\n render: \"div\",\n ref: composedRefs,\n \"aria-labelledby\": textId,\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-disabled\": disabled ? \"\" : void 0,\n tabIndex: disabled ? void 0 : import_constants.isWeb && isAdapted && (isActive || (activeIndexRef === null || activeIndexRef === void 0 ? void 0 : activeIndexRef.current) == null && isSelected) ? 0 : -1,\n zIndex: 100,\n ...selectItemProps,\n ...accessibilityProps\n })\n });\n}, {\n disableTheme: true\n});\n//# sourceMappingURL=SelectItem.js.map\n"],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ SelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;
|
|
|
31
31
|
const SelectScrollButtonImpl = React.memo(createStyledHOC(SelectScrollButtonFrame, (props, forwardedRef) => {
|
|
32
32
|
const { scope, dir, partClassName, ...scrollIndicatorProps } = props;
|
|
33
33
|
const { className, onPointerEnter, onPointerLeave, ...frameProps } = scrollIndicatorProps;
|
|
34
|
-
const { open, fallback,
|
|
34
|
+
const { open, fallback, updateScrollArrows, setInnerOffset, ...context } = useSelectContext(scope);
|
|
35
35
|
const floatingRef = context.floatingContext?.refs.floating;
|
|
36
36
|
const statusRef = React.useRef("idle");
|
|
37
37
|
const isVisible = context[dir === "down" ? "canScrollDown" : "canScrollUp"];
|
|
@@ -60,7 +60,7 @@ const SelectScrollButtonImpl = React.memo(createStyledHOC(SelectScrollButtonFram
|
|
|
60
60
|
if (fallback) {
|
|
61
61
|
if (floating.current) {
|
|
62
62
|
floating.current.scrollTop -= amount;
|
|
63
|
-
|
|
63
|
+
updateScrollArrows();
|
|
64
64
|
}
|
|
65
65
|
} else {
|
|
66
66
|
flushSync(() => setInnerOffset((value) => value - amount));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectScrollButton.js","names":["useFloating"],"sources":["jsx/SelectScrollButton.js"],"sourcesContent":["import { createStyledHOC, styled, View } from \"@tamagui/core\";\nimport { autoUpdate, offset, useFloatingRaw as useFloating } from \"@tamagui/floating\";\nimport { useComposedRefs } from \"@tamagui/compose-refs\";\nimport { composeEventHandlers } from \"@tamagui/helpers\";\nimport * as React from \"react\";\nimport { flushSync } from \"react-dom\";\nimport { useSelectContext } from \"./context\";\nimport { jsx } from \"react/jsx-runtime\";\nconst SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\nconst SelectScrollButtonFrame = styled(View, {\n displayName: \"SelectScrollButton\"\n});\nconst SelectScrollUpButton = createStyledHOC(\n SelectScrollButtonFrame,\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n partClassName: `is_${SCROLL_UP_BUTTON_NAME}`,\n ...props,\n dir: \"up\",\n ref: forwardedRef\n }\n );\n }\n);\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\nconst SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nconst SelectScrollDownButton = createStyledHOC(\n SelectScrollButtonFrame,\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n partClassName: `is_${SCROLL_DOWN_BUTTON_NAME}`,\n ...props,\n dir: \"down\",\n ref: forwardedRef\n }\n );\n }\n);\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\nconst SelectScrollButtonImpl = React.memo(\n createStyledHOC(\n SelectScrollButtonFrame,\n (props, forwardedRef) => {\n const { scope, dir, partClassName, ...scrollIndicatorProps } = props;\n const { className, onPointerEnter, onPointerLeave, ...frameProps } = scrollIndicatorProps;\n const { open, fallback,
|
|
1
|
+
{"version":3,"file":"SelectScrollButton.js","names":["useFloating"],"sources":["jsx/SelectScrollButton.js"],"sourcesContent":["import { createStyledHOC, styled, View } from \"@tamagui/core\";\nimport { autoUpdate, offset, useFloatingRaw as useFloating } from \"@tamagui/floating\";\nimport { useComposedRefs } from \"@tamagui/compose-refs\";\nimport { composeEventHandlers } from \"@tamagui/helpers\";\nimport * as React from \"react\";\nimport { flushSync } from \"react-dom\";\nimport { useSelectContext } from \"./context\";\nimport { jsx } from \"react/jsx-runtime\";\nconst SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\nconst SelectScrollButtonFrame = styled(View, {\n displayName: \"SelectScrollButton\"\n});\nconst SelectScrollUpButton = createStyledHOC(\n SelectScrollButtonFrame,\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n partClassName: `is_${SCROLL_UP_BUTTON_NAME}`,\n ...props,\n dir: \"up\",\n ref: forwardedRef\n }\n );\n }\n);\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\nconst SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nconst SelectScrollDownButton = createStyledHOC(\n SelectScrollButtonFrame,\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n partClassName: `is_${SCROLL_DOWN_BUTTON_NAME}`,\n ...props,\n dir: \"down\",\n ref: forwardedRef\n }\n );\n }\n);\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\nconst SelectScrollButtonImpl = React.memo(\n createStyledHOC(\n SelectScrollButtonFrame,\n (props, forwardedRef) => {\n const { scope, dir, partClassName, ...scrollIndicatorProps } = props;\n const { className, onPointerEnter, onPointerLeave, ...frameProps } = scrollIndicatorProps;\n const { open, fallback, updateScrollArrows, setInnerOffset, ...context } = useSelectContext(scope);\n const floatingRef = context.floatingContext?.refs.floating;\n const statusRef = React.useRef(\"idle\");\n const isVisible = context[dir === \"down\" ? \"canScrollDown\" : \"canScrollUp\"];\n const frameRef = React.useRef(null);\n const { x, y, refs, strategy } = useFloating({\n open: open && isVisible,\n strategy: \"fixed\",\n elements: {\n reference: floatingRef?.current\n },\n placement: dir === \"up\" ? \"top\" : \"bottom\",\n middleware: [offset(({ rects }) => -rects.floating.height)],\n whileElementsMounted: (...args) => autoUpdate(...args, { animationFrame: true })\n });\n const setFloatingRef = React.useCallback(\n (node) => {\n refs.setFloating(node);\n },\n [refs.setFloating]\n );\n const composedRef = useComposedRefs(forwardedRef, setFloatingRef);\n React.useEffect(() => {\n return () => cancelAnimationFrame(frameRef.current);\n }, []);\n if (!isVisible) {\n return null;\n }\n const onScroll = (amount) => {\n const floating = floatingRef;\n if (!floating) return;\n if (fallback) {\n if (floating.current) {\n floating.current.scrollTop -= amount;\n updateScrollArrows();\n }\n } else {\n flushSync(() => setInnerOffset((value) => value - amount));\n }\n };\n return /* @__PURE__ */ jsx(\n SelectScrollButtonFrame,\n {\n ref: composedRef,\n className: `${partClassName} ${className || \"\"}`.trim(),\n \"aria-hidden\": true,\n ...frameProps,\n zIndex: 1e3,\n position: strategy,\n left: x || 0,\n top: y || 0,\n width: `calc(${(floatingRef?.current?.offsetWidth ?? 0) - 2}px)`,\n onPointerEnter: composeEventHandlers(onPointerEnter, () => {\n statusRef.current = \"active\";\n let prevNow = Date.now();\n function frame() {\n const element = floatingRef?.current;\n if (element) {\n const currentNow = Date.now();\n const msElapsed = currentNow - prevNow;\n prevNow = currentNow;\n const pixelsToScroll = msElapsed / 2;\n const remainingPixels = dir === \"up\" ? element.scrollTop : element.scrollHeight - element.clientHeight - element.scrollTop;\n const scrollRemaining = dir === \"up\" ? element.scrollTop - pixelsToScroll > 0 : element.scrollTop + pixelsToScroll < element.scrollHeight - element.clientHeight;\n onScroll(\n dir === \"up\" ? Math.min(pixelsToScroll, remainingPixels) : Math.max(-pixelsToScroll, -remainingPixels)\n );\n if (scrollRemaining) {\n frameRef.current = requestAnimationFrame(frame);\n }\n }\n }\n cancelAnimationFrame(frameRef.current);\n frameRef.current = requestAnimationFrame(frame);\n }),\n onPointerLeave: composeEventHandlers(onPointerLeave, () => {\n statusRef.current = \"idle\";\n cancelAnimationFrame(frameRef.current);\n })\n }\n );\n }\n )\n);\nexport {\n SelectScrollButtonFrame,\n SelectScrollDownButton,\n SelectScrollUpButton\n};\n//# sourceMappingURL=SelectScrollButton.js.map\n"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { useComposedRefs } from "@tamagui/compose-refs";
|
|
|
2
2
|
import { isWeb } from "@tamagui/constants";
|
|
3
3
|
import { View, createChangeEventDetails, createStyledHOC, styled } from "@tamagui/core";
|
|
4
4
|
import { composeEventHandlers } from "@tamagui/helpers";
|
|
5
|
+
import * as React from "react";
|
|
5
6
|
import { useSelectContext, useSelectItemParentContext } from "./context.mjs";
|
|
6
7
|
import { jsx } from "react/jsx-runtime";
|
|
7
8
|
|
|
@@ -16,19 +17,29 @@ const SelectTrigger = createStyledHOC(SelectTriggerFrame, function SelectTrigger
|
|
|
16
17
|
const context = useSelectContext(scope);
|
|
17
18
|
const itemParentContext = useSelectItemParentContext(scope);
|
|
18
19
|
const composedRefs = useComposedRefs(forwardedRef, context.floatingContext?.refs.setReference);
|
|
20
|
+
const pressIsTouch = React.useRef(false);
|
|
19
21
|
if (itemParentContext.shouldRenderWebNative) return null;
|
|
20
22
|
const toggleOpen = (event, reason = "trigger-press") => {
|
|
21
23
|
if (!disabled) itemParentContext.requestOpenChange(!context.open, createChangeEventDetails(reason, event?.nativeEvent || event, event?.currentTarget));
|
|
22
24
|
};
|
|
23
|
-
const interactionProps =
|
|
25
|
+
const interactionProps = context.interactions ? context.interactions.getReferenceProps({
|
|
24
26
|
...triggerProps,
|
|
25
27
|
onMouseDown: composeEventHandlers(triggerProps.onMouseDown, () => context.floatingContext?.update?.())
|
|
26
28
|
}) : {
|
|
27
29
|
...triggerProps,
|
|
28
|
-
...isWeb ? {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
...isWeb ? {
|
|
31
|
+
onMouseDown: composeEventHandlers(triggerProps.onMouseDown, (event) => {
|
|
32
|
+
pressIsTouch.current = event.type === "touchstart";
|
|
33
|
+
if (pressIsTouch.current) return;
|
|
34
|
+
event.preventDefault();
|
|
35
|
+
toggleOpen(event);
|
|
36
|
+
}),
|
|
37
|
+
onPress: composeEventHandlers(triggerProps.onPress, (event) => {
|
|
38
|
+
if (!pressIsTouch.current) return;
|
|
39
|
+
pressIsTouch.current = false;
|
|
40
|
+
toggleOpen(event);
|
|
41
|
+
})
|
|
42
|
+
} : { onPress: composeEventHandlers(triggerProps.onPress, toggleOpen) },
|
|
32
43
|
onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {
|
|
33
44
|
if (event.key === "Enter" || event.key === " ") {
|
|
34
45
|
event.preventDefault();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectTrigger.js","names":[],"sources":["jsx/SelectTrigger.js"],"sourcesContent":["import { useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isWeb } from \"@tamagui/constants\";\nimport { View, createChangeEventDetails, createStyledHOC, styled } from \"@tamagui/core\";\nimport { composeEventHandlers } from \"@tamagui/helpers\";\nimport { useSelectContext, useSelectItemParentContext } from \"./context\";\nimport { jsx } from \"react/jsx-runtime\";\n\nconst SelectTriggerFrame = styled(View, {\n\tdisplayName: \"SelectTrigger\",\n\talignItems: \"center\",\n\tflexDirection: \"row\",\n\trender: /* @__PURE__ */ jsx(\"button\", { type: \"button\" })\n});\nconst SelectTrigger = createStyledHOC(SelectTriggerFrame, function SelectTrigger2(props, forwardedRef) {\n\tconst { scope, disabled = false, ...triggerProps } = props;\n\tconst context = useSelectContext(scope);\n\tconst itemParentContext = useSelectItemParentContext(scope);\n\tconst composedRefs = useComposedRefs(forwardedRef, context.floatingContext?.refs.setReference);\n\tif (itemParentContext.shouldRenderWebNative) return null;\n\tconst toggleOpen = (event, reason = \"trigger-press\") => {\n\t\tif (!disabled) itemParentContext.requestOpenChange(!context.open, createChangeEventDetails(reason, event?.nativeEvent || event, event?.currentTarget));\n\t};\n\tconst interactionProps =
|
|
1
|
+
{"version":3,"file":"SelectTrigger.js","names":[],"sources":["jsx/SelectTrigger.js"],"sourcesContent":["import { useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isWeb } from \"@tamagui/constants\";\nimport { View, createChangeEventDetails, createStyledHOC, styled } from \"@tamagui/core\";\nimport { composeEventHandlers } from \"@tamagui/helpers\";\nimport * as React from \"react\";\nimport { useSelectContext, useSelectItemParentContext } from \"./context\";\nimport { jsx } from \"react/jsx-runtime\";\n\nconst SelectTriggerFrame = styled(View, {\n\tdisplayName: \"SelectTrigger\",\n\talignItems: \"center\",\n\tflexDirection: \"row\",\n\trender: /* @__PURE__ */ jsx(\"button\", { type: \"button\" })\n});\nconst SelectTrigger = createStyledHOC(SelectTriggerFrame, function SelectTrigger2(props, forwardedRef) {\n\tconst { scope, disabled = false, ...triggerProps } = props;\n\tconst context = useSelectContext(scope);\n\tconst itemParentContext = useSelectItemParentContext(scope);\n\tconst composedRefs = useComposedRefs(forwardedRef, context.floatingContext?.refs.setReference);\n\tconst pressIsTouch = React.useRef(false);\n\tif (itemParentContext.shouldRenderWebNative) return null;\n\tconst toggleOpen = (event, reason = \"trigger-press\") => {\n\t\tif (!disabled) itemParentContext.requestOpenChange(!context.open, createChangeEventDetails(reason, event?.nativeEvent || event, event?.currentTarget));\n\t};\n\tconst interactionProps = context.interactions ? context.interactions.getReferenceProps({\n\t\t...triggerProps,\n\t\tonMouseDown: composeEventHandlers(triggerProps.onMouseDown, () => context.floatingContext?.update?.())\n\t}) : {\n\t\t...triggerProps,\n\t\t...isWeb ? {\n\t\t\tonMouseDown: composeEventHandlers(triggerProps.onMouseDown, (event) => {\n\t\t\t\tpressIsTouch.current = event.type === \"touchstart\";\n\t\t\t\tif (pressIsTouch.current) return;\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttoggleOpen(event);\n\t\t\t}),\n\t\t\tonPress: composeEventHandlers(triggerProps.onPress, (event) => {\n\t\t\t\tif (!pressIsTouch.current) return;\n\t\t\t\tpressIsTouch.current = false;\n\t\t\t\ttoggleOpen(event);\n\t\t\t})\n\t\t} : { onPress: composeEventHandlers(triggerProps.onPress, toggleOpen) },\n\t\tonKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {\n\t\t\tif (event.key === \"Enter\" || event.key === \" \") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttoggleOpen(event, \"keyboard\");\n\t\t\t}\n\t\t})\n\t};\n\treturn /* @__PURE__ */ jsx(SelectTriggerFrame, {\n\t\ttype: \"button\",\n\t\tid: itemParentContext.id,\n\t\trole: \"combobox\",\n\t\t\"aria-haspopup\": \"listbox\",\n\t\t\"aria-expanded\": context.open,\n\t\t\"data-state\": context.open ? \"open\" : \"closed\",\n\t\t\"aria-autocomplete\": \"none\",\n\t\taccessibilityRole: isWeb ? void 0 : \"button\",\n\t\taccessibilityState: isWeb ? void 0 : {\n\t\t\texpanded: context.open,\n\t\t\tdisabled\n\t\t},\n\t\tdir: context.dir,\n\t\tdisabled,\n\t\t\"data-disabled\": disabled ? \"\" : void 0,\n\t\t...interactionProps,\n\t\tref: composedRefs\n\t});\n});\n\nexport { SelectTrigger, SelectTriggerFrame };"],"mappings":";;;;;;;;;AAQA,MAAM,qBAAqB,OAAO,MAAM;CACvC,aAAa;CACb,YAAY;CACZ,eAAe;CACf,QAAwB,oBAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AACzD,CAAC;AACD,MAAM,gBAAgB,gBAAgB,oBAAoB,SAAS,eAAe,OAAO,cAAc;CACtG,MAAM,EAAE,OAAO,WAAW,OAAO,GAAG,iBAAiB;CACrD,MAAM,UAAU,iBAAiB,KAAK;CACtC,MAAM,oBAAoB,2BAA2B,KAAK;CAC1D,MAAM,eAAe,gBAAgB,cAAc,QAAQ,iBAAiB,KAAK,YAAY;CAC7F,MAAM,eAAe,MAAM,OAAO,KAAK;CACvC,IAAI,kBAAkB,uBAAuB,OAAO;CACpD,MAAM,cAAc,OAAO,SAAS,oBAAoB;EACvD,IAAI,CAAC,UAAU,kBAAkB,kBAAkB,CAAC,QAAQ,MAAM,yBAAyB,QAAQ,OAAO,eAAe,OAAO,OAAO,aAAa,CAAC;CACtJ;CACA,MAAM,mBAAmB,QAAQ,eAAe,QAAQ,aAAa,kBAAkB;EACtF,GAAG;EACH,aAAa,qBAAqB,aAAa,mBAAmB,QAAQ,iBAAiB,SAAS,CAAC;CACtG,CAAC,IAAI;EACJ,GAAG;EACH,GAAG,QAAQ;GACV,aAAa,qBAAqB,aAAa,cAAc,UAAU;IACtE,aAAa,UAAU,MAAM,SAAS;IACtC,IAAI,aAAa,SAAS;IAC1B,MAAM,eAAe;IACrB,WAAW,KAAK;GACjB,CAAC;GACD,SAAS,qBAAqB,aAAa,UAAU,UAAU;IAC9D,IAAI,CAAC,aAAa,SAAS;IAC3B,aAAa,UAAU;IACvB,WAAW,KAAK;GACjB,CAAC;EACF,IAAI,EAAE,SAAS,qBAAqB,aAAa,SAAS,UAAU,EAAE;EACtE,WAAW,qBAAqB,aAAa,YAAY,UAAU;GAClE,IAAI,MAAM,QAAQ,WAAW,MAAM,QAAQ,KAAK;IAC/C,MAAM,eAAe;IACrB,WAAW,OAAO,UAAU;GAC7B;EACD,CAAC;CACF;CACA,OAAuB,oBAAI,oBAAoB;EAC9C,MAAM;EACN,IAAI,kBAAkB;EACtB,MAAM;EACN,iBAAiB;EACjB,iBAAiB,QAAQ;EACzB,cAAc,QAAQ,OAAO,SAAS;EACtC,qBAAqB;EACrB,mBAAmB,QAAQ,KAAK,IAAI;EACpC,oBAAoB,QAAQ,KAAK,IAAI;GACpC,UAAU,QAAQ;GAClB;EACD;EACA,KAAK,QAAQ;EACb;EACA,iBAAiB,WAAW,KAAK,KAAK;EACtC,GAAG;EACH,KAAK;CACN,CAAC;AACF,CAAC"}
|
|
@@ -37,7 +37,7 @@ var import_compose_refs = require("@tamagui/compose-refs");
|
|
|
37
37
|
var import_constants = require("@tamagui/constants");
|
|
38
38
|
var import_core = require("@tamagui/core");
|
|
39
39
|
var import_helpers = require("@tamagui/helpers");
|
|
40
|
-
__toESM(require("react"), 1);
|
|
40
|
+
var React = __toESM(require("react"), 1);
|
|
41
41
|
var import_context = require("./context.native.js");
|
|
42
42
|
var SelectTriggerFrame = (0, import_core.styled)(import_core.View, {
|
|
43
43
|
displayName: "SelectTrigger",
|
|
@@ -51,6 +51,7 @@ var SelectTrigger = (0, import_core.createStyledHOC)(SelectTriggerFrame, functio
|
|
|
51
51
|
var context = (0, import_context.useSelectContext)(scope);
|
|
52
52
|
var itemParentContext = (0, import_context.useSelectItemParentContext)(scope);
|
|
53
53
|
var composedRefs = (0, import_compose_refs.useComposedRefs)(forwardedRef, (_context_floatingContext = context.floatingContext) === null || _context_floatingContext === void 0 ? void 0 : _context_floatingContext.refs.setReference);
|
|
54
|
+
var pressIsTouch = React.useRef(false);
|
|
54
55
|
if (itemParentContext.shouldRenderWebNative) return null;
|
|
55
56
|
var toggleOpen = function(event) {
|
|
56
57
|
var reason = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "trigger-press";
|
|
@@ -58,10 +59,19 @@ var SelectTrigger = (0, import_core.createStyledHOC)(SelectTriggerFrame, functio
|
|
|
58
59
|
};
|
|
59
60
|
var interactionProps = {
|
|
60
61
|
...triggerProps,
|
|
61
|
-
...import_constants.isWeb ? {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
...import_constants.isWeb ? {
|
|
63
|
+
onMouseDown: (0, import_helpers.composeEventHandlers)(triggerProps.onMouseDown, function(event) {
|
|
64
|
+
pressIsTouch.current = event.type === "touchstart";
|
|
65
|
+
if (pressIsTouch.current) return;
|
|
66
|
+
event.preventDefault();
|
|
67
|
+
toggleOpen(event);
|
|
68
|
+
}),
|
|
69
|
+
onPress: (0, import_helpers.composeEventHandlers)(triggerProps.onPress, function(event) {
|
|
70
|
+
if (!pressIsTouch.current) return;
|
|
71
|
+
pressIsTouch.current = false;
|
|
72
|
+
toggleOpen(event);
|
|
73
|
+
})
|
|
74
|
+
} : { onPress: (0, import_helpers.composeEventHandlers)(triggerProps.onPress, toggleOpen) },
|
|
65
75
|
onKeyDown: (0, import_helpers.composeEventHandlers)(triggerProps.onKeyDown, function(event) {
|
|
66
76
|
if (event.key === "Enter" || event.key === " ") {
|
|
67
77
|
event.preventDefault();
|
|
@@ -37,7 +37,7 @@ var import_compose_refs = require("@tamagui/compose-refs");
|
|
|
37
37
|
var import_constants = require("@tamagui/constants");
|
|
38
38
|
var import_core = require("@tamagui/core");
|
|
39
39
|
var import_helpers = require("@tamagui/helpers");
|
|
40
|
-
__toESM(require("react"), 1);
|
|
40
|
+
var React = __toESM(require("react"), 1);
|
|
41
41
|
var import_context = require("./context.native.js");
|
|
42
42
|
var SelectTriggerFrame = (0, import_core.styled)(import_core.View, {
|
|
43
43
|
displayName: "SelectTrigger",
|
|
@@ -51,6 +51,7 @@ var SelectTrigger = (0, import_core.createStyledHOC)(SelectTriggerFrame, functio
|
|
|
51
51
|
var context = (0, import_context.useSelectContext)(scope);
|
|
52
52
|
var itemParentContext = (0, import_context.useSelectItemParentContext)(scope);
|
|
53
53
|
var composedRefs = (0, import_compose_refs.useComposedRefs)(forwardedRef, (_context_floatingContext = context.floatingContext) === null || _context_floatingContext === void 0 ? void 0 : _context_floatingContext.refs.setReference);
|
|
54
|
+
var pressIsTouch = React.useRef(false);
|
|
54
55
|
if (itemParentContext.shouldRenderWebNative) return null;
|
|
55
56
|
var toggleOpen = function(event) {
|
|
56
57
|
var reason = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "trigger-press";
|
|
@@ -58,10 +59,19 @@ var SelectTrigger = (0, import_core.createStyledHOC)(SelectTriggerFrame, functio
|
|
|
58
59
|
};
|
|
59
60
|
var interactionProps = {
|
|
60
61
|
...triggerProps,
|
|
61
|
-
...import_constants.isWeb ? {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
...import_constants.isWeb ? {
|
|
63
|
+
onMouseDown: (0, import_helpers.composeEventHandlers)(triggerProps.onMouseDown, function(event) {
|
|
64
|
+
pressIsTouch.current = event.type === "touchstart";
|
|
65
|
+
if (pressIsTouch.current) return;
|
|
66
|
+
event.preventDefault();
|
|
67
|
+
toggleOpen(event);
|
|
68
|
+
}),
|
|
69
|
+
onPress: (0, import_helpers.composeEventHandlers)(triggerProps.onPress, function(event) {
|
|
70
|
+
if (!pressIsTouch.current) return;
|
|
71
|
+
pressIsTouch.current = false;
|
|
72
|
+
toggleOpen(event);
|
|
73
|
+
})
|
|
74
|
+
} : { onPress: (0, import_helpers.composeEventHandlers)(triggerProps.onPress, toggleOpen) },
|
|
65
75
|
onKeyDown: (0, import_helpers.composeEventHandlers)(triggerProps.onKeyDown, function(event) {
|
|
66
76
|
if (event.key === "Enter" || event.key === " ") {
|
|
67
77
|
event.preventDefault();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectTrigger.native.js","names":[],"sources":["jsx/SelectTrigger.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 SelectTrigger_exports = {};\n__export(SelectTrigger_exports, {\n\tSelectTrigger: () => SelectTrigger,\n\tSelectTriggerFrame: () => SelectTriggerFrame\n});\nmodule.exports = __toCommonJS(SelectTrigger_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_compose_refs = require(\"@tamagui/compose-refs\");\nvar import_constants = require(\"@tamagui/constants\");\nvar import_core = require(\"@tamagui/core\");\nvar import_helpers = require(\"@tamagui/helpers\");\
|
|
1
|
+
{"version":3,"file":"SelectTrigger.native.js","names":[],"sources":["jsx/SelectTrigger.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 SelectTrigger_exports = {};\n__export(SelectTrigger_exports, {\n\tSelectTrigger: () => SelectTrigger,\n\tSelectTriggerFrame: () => SelectTriggerFrame\n});\nmodule.exports = __toCommonJS(SelectTrigger_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_compose_refs = require(\"@tamagui/compose-refs\");\nvar import_constants = require(\"@tamagui/constants\");\nvar import_core = require(\"@tamagui/core\");\nvar import_helpers = require(\"@tamagui/helpers\");\nvar React = __toESM(require(\"react\"), 1);\nvar import_context = require(\"./context\");\nvar SelectTriggerFrame = (0, import_core.styled)(import_core.View, {\n\tdisplayName: \"SelectTrigger\",\n\talignItems: \"center\",\n\tflexDirection: \"row\",\n\trender: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"button\", { type: \"button\" })\n});\nvar SelectTrigger = (0, import_core.createStyledHOC)(SelectTriggerFrame, function SelectTrigger2(props, forwardedRef) {\n\tvar _context_floatingContext;\n\tvar { scope, disabled = false, ...triggerProps } = props;\n\tvar context = (0, import_context.useSelectContext)(scope);\n\tvar itemParentContext = (0, import_context.useSelectItemParentContext)(scope);\n\tvar composedRefs = (0, import_compose_refs.useComposedRefs)(forwardedRef, (_context_floatingContext = context.floatingContext) === null || _context_floatingContext === void 0 ? void 0 : _context_floatingContext.refs.setReference);\n\tvar pressIsTouch = React.useRef(false);\n\tif (itemParentContext.shouldRenderWebNative) return null;\n\tvar toggleOpen = function(event) {\n\t\tvar reason = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"trigger-press\";\n\t\tif (!disabled) itemParentContext.requestOpenChange(!context.open, (0, import_core.createChangeEventDetails)(reason, (event === null || event === void 0 ? void 0 : event.nativeEvent) || event, event === null || event === void 0 ? void 0 : event.currentTarget));\n\t};\n\tvar interactionProps = {\n\t\t...triggerProps,\n\t\t...import_constants.isWeb ? {\n\t\t\tonMouseDown: (0, import_helpers.composeEventHandlers)(triggerProps.onMouseDown, function(event) {\n\t\t\t\tpressIsTouch.current = event.type === \"touchstart\";\n\t\t\t\tif (pressIsTouch.current) return;\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttoggleOpen(event);\n\t\t\t}),\n\t\t\tonPress: (0, import_helpers.composeEventHandlers)(triggerProps.onPress, function(event) {\n\t\t\t\tif (!pressIsTouch.current) return;\n\t\t\t\tpressIsTouch.current = false;\n\t\t\t\ttoggleOpen(event);\n\t\t\t})\n\t\t} : { onPress: (0, import_helpers.composeEventHandlers)(triggerProps.onPress, toggleOpen) },\n\t\tonKeyDown: (0, import_helpers.composeEventHandlers)(triggerProps.onKeyDown, function(event) {\n\t\t\tif (event.key === \"Enter\" || event.key === \" \") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttoggleOpen(event, \"keyboard\");\n\t\t\t}\n\t\t})\n\t};\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectTriggerFrame, {\n\t\ttype: \"button\",\n\t\tid: itemParentContext.id,\n\t\trole: \"combobox\",\n\t\t\"aria-haspopup\": \"listbox\",\n\t\t\"aria-expanded\": context.open,\n\t\t\"aria-autocomplete\": \"none\",\n\t\taccessibilityRole: import_constants.isWeb ? void 0 : \"button\",\n\t\taccessibilityState: import_constants.isWeb ? void 0 : {\n\t\t\texpanded: context.open,\n\t\t\tdisabled\n\t\t},\n\t\tdir: context.dir,\n\t\tdisabled,\n\t\t\"data-disabled\": disabled ? \"\" : void 0,\n\t\t...interactionProps,\n\t\tref: composedRefs\n\t});\n});\n//# sourceMappingURL=SelectTrigger.js.map\n"],"mappings":";;;AACA,IAAI,WAAW,OAAO;AACtB,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO;AAC1B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC/B,KAAK,IAAI,QAAQ,KAAK,UAAU,QAAQ,MAAM;EAC7C,KAAK,IAAI;EACT,YAAY;CACb,CAAC;AACF;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC7C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EACnE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GAAG,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QAAQ,UAAU,IAAI,KAAK;GAC9G,WAAW,KAAK;GAChB,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAC3D,CAAC;CACF;CACA,OAAO;AACR;AACA,IAAI,WAAW,KAAK,YAAY,YAAY,SAAS,OAAO,OAAO,SAAS,aAAa,GAAG,CAAC,IAAI,CAAC,GAAG,YAKpG,cAAc,CAAC,OAAO,CAAC,IAAI,aAAa,UAAU,QAAQ,WAAW;CACpE,OAAO;CACP,YAAY;AACb,CAAC,IAAI,QACL,GACD;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,wBAAwB,CAAC;AAC7B,SAAS,uBAAuB;CAC/B,qBAAqB;CACrB,0BAA0B;AAC3B,CAAC;AACD,OAAO,UAAU,aAAa,qBAAqB;AACnD,IAAI,qBAAqB,QAAQ,mBAAmB;AACpD,IAAI,sBAAsB,QAAQ,uBAAuB;AACzD,IAAI,mBAAmB,QAAQ,oBAAoB;AACnD,IAAI,cAAc,QAAQ,eAAe;AACzC,IAAI,iBAAiB,QAAQ,kBAAkB;AAC/C,IAAI,QAAQ,QAAQ,QAAQ,OAAO,GAAG,CAAC;AACvC,IAAI,iBAAiB,QAAQ,qBAAW;AACxC,IAAI,sBAAsB,GAAG,YAAY,OAAM,CAAE,YAAY,MAAM;CAClE,aAAa;CACb,YAAY;CACZ,eAAe;CACf,QAAwB,iBAAC,GAAG,mBAAmB,IAAG,CAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACjF,CAAC;AACD,IAAI,iBAAiB,GAAG,YAAY,gBAAe,CAAE,oBAAoB,SAAS,eAAe,OAAO,cAAc;CACrH,IAAI;CACJ,IAAI,EAAE,OAAO,WAAW,OAAO,GAAG,iBAAiB;CACnD,IAAI,WAAW,GAAG,eAAe,iBAAgB,CAAE,KAAK;CACxD,IAAI,qBAAqB,GAAG,eAAe,2BAA0B,CAAE,KAAK;CAC5E,IAAI,gBAAgB,GAAG,oBAAoB,gBAAe,CAAE,eAAe,2BAA2B,QAAQ,qBAAqB,QAAQ,6BAA6B,KAAK,IAAI,KAAK,IAAI,yBAAyB,KAAK,YAAY;CACpO,IAAI,eAAe,MAAM,OAAO,KAAK;CACrC,IAAI,kBAAkB,uBAAuB,OAAO;CACpD,IAAI,aAAa,SAAS,OAAO;EAChC,IAAI,SAAS,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK;EAC9E,IAAI,CAAC,UAAU,kBAAkB,kBAAkB,CAAC,QAAQ,OAAO,GAAG,YAAY,yBAAwB,CAAE,SAAS,UAAU,QAAQ,UAAU,KAAK,IAAI,KAAK,IAAI,MAAM,gBAAgB,OAAO,UAAU,QAAQ,UAAU,KAAK,IAAI,KAAK,IAAI,MAAM,aAAa,CAAC;CACnQ;CACA,IAAI,mBAAmB;EACtB,GAAG;EACH,GAAG,iBAAiB,QAAQ;GAC3B,cAAc,GAAG,eAAe,qBAAoB,CAAE,aAAa,aAAa,SAAS,OAAO;IAC/F,aAAa,UAAU,MAAM,SAAS;IACtC,IAAI,aAAa,SAAS;IAC1B,MAAM,eAAe;IACrB,WAAW,KAAK;GACjB,CAAC;GACD,UAAU,GAAG,eAAe,qBAAoB,CAAE,aAAa,SAAS,SAAS,OAAO;IACvF,IAAI,CAAC,aAAa,SAAS;IAC3B,aAAa,UAAU;IACvB,WAAW,KAAK;GACjB,CAAC;EACF,IAAI,EAAE,UAAU,GAAG,eAAe,qBAAoB,CAAE,aAAa,SAAS,UAAU,EAAE;EAC1F,YAAY,GAAG,eAAe,qBAAoB,CAAE,aAAa,WAAW,SAAS,OAAO;GAC3F,IAAI,MAAM,QAAQ,WAAW,MAAM,QAAQ,KAAK;IAC/C,MAAM,eAAe;IACrB,WAAW,OAAO,UAAU;GAC7B;EACD,CAAC;CACF;CACA,OAAuB,iBAAC,GAAG,mBAAmB,IAAG,CAAE,oBAAoB;EACtE,MAAM;EACN,IAAI,kBAAkB;EACtB,MAAM;EACN,iBAAiB;EACjB,iBAAiB,QAAQ;EACzB,qBAAqB;EACrB,mBAAmB,iBAAiB,QAAQ,KAAK,IAAI;EACrD,oBAAoB,iBAAiB,QAAQ,KAAK,IAAI;GACrD,UAAU,QAAQ;GAClB;EACD;EACA,KAAK,QAAQ;EACb;EACA,iBAAiB,WAAW,KAAK,KAAK;EACtC,GAAG;EACH,KAAK;CACN,CAAC;AACF,CAAC"}
|