@huin-core/react-select 1.0.5 → 1.0.7

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/index.js CHANGED
@@ -64,7 +64,6 @@ var import_react_popper = require("@huin-core/react-popper");
64
64
  var import_react_use_controllable_state = require("@huin-core/react-use-controllable-state");
65
65
  var import_react_use_previous = require("@huin-core/react-use-previous");
66
66
  var import_react_visually_hidden = require("@huin-core/react-visually-hidden");
67
- var import_jsx_runtime = require("react/jsx-runtime");
68
67
  var SELECT_NAME = "Select";
69
68
  var [Collection, useCollection, createCollectionScope] = (0, import_react_collection.createCollection)(SELECT_NAME);
70
69
  var [createSelectContext, createSelectScope] = (0, import_react_context.createContextScope)(
@@ -115,7 +114,7 @@ var Select = (props) => {
115
114
  /* @__PURE__ */ new Set()
116
115
  );
117
116
  const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(";");
118
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
117
+ return /* @__PURE__ */ React.createElement(PopperPrimitive.Root, { ...popperScope }, /* @__PURE__ */ React.createElement(
119
118
  SelectProvider,
120
119
  {
121
120
  required,
@@ -133,46 +132,42 @@ var Select = (props) => {
133
132
  onOpenChange: setOpen,
134
133
  dir: direction,
135
134
  triggerPointerDownPosRef,
136
- disabled,
137
- children: [
138
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
139
- SelectNativeOptionsProvider,
140
- {
141
- scope: props.__scopeSelect,
142
- onNativeOptionAdd: React.useCallback((option) => {
143
- setNativeOptionsSet((prev) => new Set(prev).add(option));
144
- }, []),
145
- onNativeOptionRemove: React.useCallback((option) => {
146
- setNativeOptionsSet((prev) => {
147
- const optionsSet = new Set(prev);
148
- optionsSet.delete(option);
149
- return optionsSet;
150
- });
151
- }, []),
152
- children
153
- }
154
- ) }),
155
- isFormControl ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
156
- BubbleSelect,
157
- {
158
- "aria-hidden": true,
159
- required,
160
- tabIndex: -1,
161
- name,
162
- autoComplete,
163
- value,
164
- onChange: (event) => setValue(event.target.value),
165
- disabled,
166
- children: [
167
- value === void 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("option", { value: "" }) : null,
168
- Array.from(nativeOptionsSet)
169
- ]
170
- },
171
- nativeSelectKey
172
- ) : null
173
- ]
174
- }
175
- ) });
135
+ disabled
136
+ },
137
+ /* @__PURE__ */ React.createElement(Collection.Provider, { scope: __scopeSelect }, /* @__PURE__ */ React.createElement(
138
+ SelectNativeOptionsProvider,
139
+ {
140
+ scope: props.__scopeSelect,
141
+ onNativeOptionAdd: React.useCallback((option) => {
142
+ setNativeOptionsSet((prev) => new Set(prev).add(option));
143
+ }, []),
144
+ onNativeOptionRemove: React.useCallback((option) => {
145
+ setNativeOptionsSet((prev) => {
146
+ const optionsSet = new Set(prev);
147
+ optionsSet.delete(option);
148
+ return optionsSet;
149
+ });
150
+ }, [])
151
+ },
152
+ children
153
+ )),
154
+ isFormControl ? /* @__PURE__ */ React.createElement(
155
+ BubbleSelect,
156
+ {
157
+ key: nativeSelectKey,
158
+ "aria-hidden": true,
159
+ required,
160
+ tabIndex: -1,
161
+ name,
162
+ autoComplete,
163
+ value,
164
+ onChange: (event) => setValue(event.target.value),
165
+ disabled
166
+ },
167
+ value === void 0 ? /* @__PURE__ */ React.createElement("option", { value: "" }) : null,
168
+ Array.from(nativeOptionsSet)
169
+ ) : null
170
+ ));
176
171
  };
177
172
  Select.displayName = SELECT_NAME;
178
173
  var BubbleSelect = React.forwardRef((props, forwardedRef) => {
@@ -194,7 +189,7 @@ var BubbleSelect = React.forwardRef((props, forwardedRef) => {
194
189
  select.dispatchEvent(event);
195
190
  }
196
191
  }, [prevValue, value]);
197
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_visually_hidden.VisuallyHidden, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("select", { ...selectProps, ref: composedRefs, defaultValue: value }) });
192
+ return /* @__PURE__ */ React.createElement(import_react_visually_hidden.VisuallyHidden, { asChild: true }, /* @__PURE__ */ React.createElement("select", { ...selectProps, ref: composedRefs, defaultValue: value }));
198
193
  });
199
194
  BubbleSelect.displayName = "BubbleSelect";
200
195
  var Root2 = Select;
@@ -215,7 +210,6 @@ var import_react = __toESM(require("react"));
215
210
  var import_react_primitive = require("@huin-core/react-primitive");
216
211
  var import_react_compose_refs2 = require("@huin-core/react-compose-refs");
217
212
  var import_primitive = require("@huin-core/primitive");
218
- var import_jsx_runtime2 = require("react/jsx-runtime");
219
213
  var CONTENT_NAME = "SelectContent";
220
214
  var [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});
221
215
  var VIEWPORT_NAME = "SelectViewport";
@@ -231,64 +225,61 @@ var SelectViewport = import_react.default.forwardRef((props, forwardedRef) => {
231
225
  contentContext.onViewportChange
232
226
  );
233
227
  const prevScrollTopRef = import_react.default.useRef(0);
234
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
235
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
236
- "style",
237
- {
238
- dangerouslySetInnerHTML: {
239
- __html: `[data-huin-core-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-huin-core-select-viewport]::-webkit-scrollbar{display:none}`
240
- },
241
- nonce
242
- }
243
- ),
244
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
245
- import_react_primitive.Primitive.div,
246
- {
247
- "data-huin-core-select-viewport": "",
248
- role: "presentation",
249
- ...viewportProps,
250
- ref: composedRefs,
251
- style: {
252
- // we use position: 'relative' here on the `viewport` so that when we call
253
- // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport
254
- // (independent of the scrollUpButton).
255
- position: "relative",
256
- flex: 1,
257
- overflow: "auto",
258
- ...viewportProps.style
259
- },
260
- onScroll: (0, import_primitive.composeEventHandlers)(viewportProps.onScroll, (event) => {
261
- const viewport = event.currentTarget;
262
- const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;
263
- if (shouldExpandOnScrollRef?.current && contentWrapper) {
264
- const scrolledBy = Math.abs(
265
- prevScrollTopRef.current - viewport.scrollTop
266
- );
267
- if (scrolledBy > 0) {
268
- const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;
269
- const cssMinHeight = parseFloat(contentWrapper.style.minHeight);
270
- const cssHeight = parseFloat(contentWrapper.style.height);
271
- const prevHeight = Math.max(cssMinHeight, cssHeight);
272
- if (prevHeight < availableHeight) {
273
- const nextHeight = prevHeight + scrolledBy;
274
- const clampedNextHeight = Math.min(
275
- availableHeight,
276
- nextHeight
277
- );
278
- const heightDiff = nextHeight - clampedNextHeight;
279
- contentWrapper.style.height = clampedNextHeight + "px";
280
- if (contentWrapper.style.bottom === "0px") {
281
- viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;
282
- contentWrapper.style.justifyContent = "flex-end";
283
- }
228
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
229
+ "style",
230
+ {
231
+ dangerouslySetInnerHTML: {
232
+ __html: `[data-huin-core-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-huin-core-select-viewport]::-webkit-scrollbar{display:none}`
233
+ },
234
+ nonce
235
+ }
236
+ ), /* @__PURE__ */ import_react.default.createElement(Collection.Slot, { scope: __scopeSelect }, /* @__PURE__ */ import_react.default.createElement(
237
+ import_react_primitive.Primitive.div,
238
+ {
239
+ "data-huin-core-select-viewport": "",
240
+ role: "presentation",
241
+ ...viewportProps,
242
+ ref: composedRefs,
243
+ style: {
244
+ // we use position: 'relative' here on the `viewport` so that when we call
245
+ // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport
246
+ // (independent of the scrollUpButton).
247
+ position: "relative",
248
+ flex: 1,
249
+ overflow: "auto",
250
+ ...viewportProps.style
251
+ },
252
+ onScroll: (0, import_primitive.composeEventHandlers)(viewportProps.onScroll, (event) => {
253
+ const viewport = event.currentTarget;
254
+ const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;
255
+ if (shouldExpandOnScrollRef?.current && contentWrapper) {
256
+ const scrolledBy = Math.abs(
257
+ prevScrollTopRef.current - viewport.scrollTop
258
+ );
259
+ if (scrolledBy > 0) {
260
+ const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;
261
+ const cssMinHeight = parseFloat(contentWrapper.style.minHeight);
262
+ const cssHeight = parseFloat(contentWrapper.style.height);
263
+ const prevHeight = Math.max(cssMinHeight, cssHeight);
264
+ if (prevHeight < availableHeight) {
265
+ const nextHeight = prevHeight + scrolledBy;
266
+ const clampedNextHeight = Math.min(
267
+ availableHeight,
268
+ nextHeight
269
+ );
270
+ const heightDiff = nextHeight - clampedNextHeight;
271
+ contentWrapper.style.height = clampedNextHeight + "px";
272
+ if (contentWrapper.style.bottom === "0px") {
273
+ viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;
274
+ contentWrapper.style.justifyContent = "flex-end";
284
275
  }
285
276
  }
286
277
  }
287
- prevScrollTopRef.current = viewport.scrollTop;
288
- })
289
- }
290
- ) })
291
- ] });
278
+ }
279
+ prevScrollTopRef.current = viewport.scrollTop;
280
+ })
281
+ }
282
+ )));
292
283
  });
293
284
  SelectViewport.displayName = VIEWPORT_NAME;
294
285
 
@@ -304,7 +295,6 @@ var import_primitive2 = require("@huin-core/primitive");
304
295
  var import_number = require("@huin-core/number");
305
296
  var PopperPrimitive2 = __toESM(require("@huin-core/react-popper"));
306
297
  var import_react_use_callback_ref = require("@huin-core/react-use-callback-ref");
307
- var import_jsx_runtime3 = require("react/jsx-runtime");
308
298
  var CONTENT_NAME2 = "SelectContent";
309
299
  var SelectContent = import_react2.default.forwardRef(
310
300
  (props, forwardedRef) => {
@@ -316,11 +306,11 @@ var SelectContent = import_react2.default.forwardRef(
316
306
  if (!context.open) {
317
307
  const frag = fragment;
318
308
  return frag ? import_react_dom.default.createPortal(
319
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { children: props.children }) }) }),
309
+ /* @__PURE__ */ import_react2.default.createElement(SelectContentProvider, { scope: props.__scopeSelect }, /* @__PURE__ */ import_react2.default.createElement(Collection.Slot, { scope: props.__scopeSelect }, /* @__PURE__ */ import_react2.default.createElement("div", null, props.children))),
320
310
  frag
321
311
  ) : null;
322
312
  }
323
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(SelectContentImpl, { ...props, ref: forwardedRef });
313
+ return /* @__PURE__ */ import_react2.default.createElement(SelectContentImpl, { ...props, ref: forwardedRef });
324
314
  }
325
315
  );
326
316
  SelectContent.displayName = CONTENT_NAME2;
@@ -491,7 +481,7 @@ var SelectContentImpl = import_react2.default.forwardRef((props, forwardedRef) =
491
481
  hideWhenDetached,
492
482
  avoidCollisions
493
483
  } : {};
494
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
484
+ return /* @__PURE__ */ import_react2.default.createElement(
495
485
  SelectContentProvider,
496
486
  {
497
487
  scope: __scopeSelect,
@@ -506,81 +496,81 @@ var SelectContentImpl = import_react2.default.forwardRef((props, forwardedRef) =
506
496
  selectedItemText,
507
497
  position,
508
498
  isPositioned,
509
- searchRef,
510
- children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_remove_scroll.RemoveScroll, { as: import_react_slot.Slot, allowPinchZoom: true, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
511
- import_react_focus_scope.FocusScope,
499
+ searchRef
500
+ },
501
+ /* @__PURE__ */ import_react2.default.createElement(import_react_remove_scroll.RemoveScroll, { as: import_react_slot.Slot, allowPinchZoom: true }, /* @__PURE__ */ import_react2.default.createElement(
502
+ import_react_focus_scope.FocusScope,
503
+ {
504
+ asChild: true,
505
+ trapped: context.open,
506
+ onMountAutoFocus: (event) => {
507
+ event.preventDefault();
508
+ },
509
+ onUnmountAutoFocus: (0, import_primitive2.composeEventHandlers)(
510
+ onCloseAutoFocus,
511
+ (event) => {
512
+ context.trigger?.focus({ preventScroll: true });
513
+ event.preventDefault();
514
+ }
515
+ )
516
+ },
517
+ /* @__PURE__ */ import_react2.default.createElement(
518
+ import_react_dismissable_layer.DismissableLayer,
512
519
  {
513
520
  asChild: true,
514
- trapped: context.open,
515
- onMountAutoFocus: (event) => {
516
- event.preventDefault();
517
- },
518
- onUnmountAutoFocus: (0, import_primitive2.composeEventHandlers)(
519
- onCloseAutoFocus,
520
- (event) => {
521
- context.trigger?.focus({ preventScroll: true });
522
- event.preventDefault();
523
- }
524
- ),
525
- children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
526
- import_react_dismissable_layer.DismissableLayer,
527
- {
528
- asChild: true,
529
- disableOutsidePointerEvents: true,
530
- onEscapeKeyDown,
531
- onPointerDownOutside,
532
- onFocusOutside: (event) => event.preventDefault(),
533
- onDismiss: () => context.onOpenChange(false),
534
- children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
535
- SelectPosition,
536
- {
537
- role: "listbox",
538
- id: context.contentId,
539
- "data-state": context.open ? "open" : "closed",
540
- dir: context.dir,
541
- onContextMenu: (event) => event.preventDefault(),
542
- ...contentProps,
543
- ...popperContentProps,
544
- onPlaced: () => setIsPositioned(true),
545
- ref: composedRefs,
546
- style: {
547
- // flex layout so we can place the scroll buttons properly
548
- display: "flex",
549
- flexDirection: "column",
550
- // reset the outline by default as the content MAY get focused
551
- outline: "none",
552
- ...contentProps.style
553
- },
554
- onKeyDown: (0, import_primitive2.composeEventHandlers)(
555
- contentProps.onKeyDown,
556
- (event) => {
557
- const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
558
- if (event.key === "Tab") event.preventDefault();
559
- if (!isModifierKey && event.key.length === 1)
560
- handleTypeaheadSearch(event.key);
561
- if (["ArrowUp", "ArrowDown", "Home", "End"].includes(event.key)) {
562
- const items = getItems().filter((item) => !item.disabled);
563
- let candidateNodes = items.map((item) => item.ref.current);
564
- if (["ArrowUp", "End"].includes(event.key)) {
565
- candidateNodes = candidateNodes.slice().reverse();
566
- }
567
- if (["ArrowUp", "ArrowDown"].includes(event.key)) {
568
- const currentElement = event.target;
569
- const currentIndex = candidateNodes.indexOf(currentElement);
570
- candidateNodes = candidateNodes.slice(currentIndex + 1);
571
- }
572
- setTimeout(() => focusFirst(candidateNodes));
573
- event.preventDefault();
574
- }
575
- }
576
- )
521
+ disableOutsidePointerEvents: true,
522
+ onEscapeKeyDown,
523
+ onPointerDownOutside,
524
+ onFocusOutside: (event) => event.preventDefault(),
525
+ onDismiss: () => context.onOpenChange(false)
526
+ },
527
+ /* @__PURE__ */ import_react2.default.createElement(
528
+ SelectPosition,
529
+ {
530
+ role: "listbox",
531
+ id: context.contentId,
532
+ "data-state": context.open ? "open" : "closed",
533
+ dir: context.dir,
534
+ onContextMenu: (event) => event.preventDefault(),
535
+ ...contentProps,
536
+ ...popperContentProps,
537
+ onPlaced: () => setIsPositioned(true),
538
+ ref: composedRefs,
539
+ style: {
540
+ // flex layout so we can place the scroll buttons properly
541
+ display: "flex",
542
+ flexDirection: "column",
543
+ // reset the outline by default as the content MAY get focused
544
+ outline: "none",
545
+ ...contentProps.style
546
+ },
547
+ onKeyDown: (0, import_primitive2.composeEventHandlers)(
548
+ contentProps.onKeyDown,
549
+ (event) => {
550
+ const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
551
+ if (event.key === "Tab") event.preventDefault();
552
+ if (!isModifierKey && event.key.length === 1)
553
+ handleTypeaheadSearch(event.key);
554
+ if (["ArrowUp", "ArrowDown", "Home", "End"].includes(event.key)) {
555
+ const items = getItems().filter((item) => !item.disabled);
556
+ let candidateNodes = items.map((item) => item.ref.current);
557
+ if (["ArrowUp", "End"].includes(event.key)) {
558
+ candidateNodes = candidateNodes.slice().reverse();
559
+ }
560
+ if (["ArrowUp", "ArrowDown"].includes(event.key)) {
561
+ const currentElement = event.target;
562
+ const currentIndex = candidateNodes.indexOf(currentElement);
563
+ candidateNodes = candidateNodes.slice(currentIndex + 1);
564
+ }
565
+ setTimeout(() => focusFirst(candidateNodes));
566
+ event.preventDefault();
577
567
  }
578
- )
579
- }
580
- )
581
- }
582
- ) })
583
- }
568
+ }
569
+ )
570
+ }
571
+ )
572
+ )
573
+ ))
584
574
  );
585
575
  });
586
576
  SelectContentImpl.displayName = CONTENT_IMPL_NAME;
@@ -714,41 +704,41 @@ var SelectItemAlignedPosition = import_react2.default.forwardRef((props, forward
714
704
  },
715
705
  [position, focusSelectedItem]
716
706
  );
717
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
707
+ return /* @__PURE__ */ import_react2.default.createElement(
718
708
  SelectViewportProvider,
719
709
  {
720
710
  scope: __scopeSelect,
721
711
  contentWrapper,
722
712
  shouldExpandOnScrollRef,
723
- onScrollButtonChange: handleScrollButtonChange,
724
- children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
725
- "div",
713
+ onScrollButtonChange: handleScrollButtonChange
714
+ },
715
+ /* @__PURE__ */ import_react2.default.createElement(
716
+ "div",
717
+ {
718
+ ref: setContentWrapper,
719
+ style: {
720
+ display: "flex",
721
+ flexDirection: "column",
722
+ position: "fixed",
723
+ zIndex: contentZIndex
724
+ }
725
+ },
726
+ /* @__PURE__ */ import_react2.default.createElement(
727
+ import_react_primitive2.Primitive.div,
726
728
  {
727
- ref: setContentWrapper,
729
+ ...popperProps,
730
+ ref: composedRefs,
728
731
  style: {
729
- display: "flex",
730
- flexDirection: "column",
731
- position: "fixed",
732
- zIndex: contentZIndex
733
- },
734
- children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
735
- import_react_primitive2.Primitive.div,
736
- {
737
- ...popperProps,
738
- ref: composedRefs,
739
- style: {
740
- // When we get the height of the content, it includes borders. If we were to set
741
- // the height without having `boxSizing: 'border-box'` it would be too big.
742
- boxSizing: "border-box",
743
- // We need to ensure the content doesn't get taller than the wrapper
744
- maxHeight: "100%",
745
- ...popperProps.style
746
- }
747
- }
748
- )
732
+ // When we get the height of the content, it includes borders. If we were to set
733
+ // the height without having `boxSizing: 'border-box'` it would be too big.
734
+ boxSizing: "border-box",
735
+ // We need to ensure the content doesn't get taller than the wrapper
736
+ maxHeight: "100%",
737
+ ...popperProps.style
738
+ }
749
739
  }
750
740
  )
751
- }
741
+ )
752
742
  );
753
743
  });
754
744
  SelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;
@@ -761,7 +751,7 @@ var SelectPopperPosition = import_react2.default.forwardRef((props, forwardedRef
761
751
  ...popperProps
762
752
  } = props;
763
753
  const popperScope = usePopperScope(__scopeSelect);
764
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
754
+ return /* @__PURE__ */ import_react2.default.createElement(
765
755
  PopperPrimitive2.Content,
766
756
  {
767
757
  ...popperScope,
@@ -837,7 +827,6 @@ var import_react3 = __toESM(require("react"));
837
827
  var import_react_primitive3 = require("@huin-core/react-primitive");
838
828
  var import_react_compose_refs4 = require("@huin-core/react-compose-refs");
839
829
  var import_react_use_layout_effect2 = require("@huin-core/react-use-layout-effect");
840
- var import_jsx_runtime4 = require("react/jsx-runtime");
841
830
  var VALUE_NAME = "SelectValue";
842
831
  var SelectValue = import_react3.default.forwardRef(
843
832
  (props, forwardedRef) => {
@@ -852,14 +841,14 @@ var SelectValue = import_react3.default.forwardRef(
852
841
  (0, import_react_use_layout_effect2.useLayoutEffect)(() => {
853
842
  onValueNodeHasChildrenChange(hasChildren);
854
843
  }, [onValueNodeHasChildrenChange, hasChildren]);
855
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
844
+ return /* @__PURE__ */ import_react3.default.createElement(
856
845
  import_react_primitive3.Primitive.span,
857
846
  {
858
847
  ...valueProps,
859
848
  ref: composedRefs,
860
- style: { pointerEvents: "none" },
861
- children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: placeholder }) : children
862
- }
849
+ style: { pointerEvents: "none" }
850
+ },
851
+ shouldShowPlaceholder(context.value) ? /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, placeholder) : children
863
852
  );
864
853
  }
865
854
  );
@@ -870,7 +859,6 @@ function shouldShowPlaceholder(value) {
870
859
 
871
860
  // packages/react/select/src/SelectTrigger.tsx
872
861
  var import_primitive3 = require("@huin-core/primitive");
873
- var import_jsx_runtime5 = require("react/jsx-runtime");
874
862
  var OPEN_KEYS = [" ", "Enter", "ArrowUp", "ArrowDown"];
875
863
  var TRIGGER_NAME = "SelectTrigger";
876
864
  var SelectTrigger = import_react4.default.forwardRef((props, forwardedRef) => {
@@ -905,7 +893,7 @@ var SelectTrigger = import_react4.default.forwardRef((props, forwardedRef) => {
905
893
  };
906
894
  }
907
895
  };
908
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(PopperPrimitive3.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
896
+ return /* @__PURE__ */ import_react4.default.createElement(PopperPrimitive3.Anchor, { asChild: true, ...popperScope }, /* @__PURE__ */ import_react4.default.createElement(
909
897
  import_react_primitive4.Primitive.button,
910
898
  {
911
899
  type: "button",
@@ -949,44 +937,42 @@ var SelectTrigger = import_react4.default.forwardRef((props, forwardedRef) => {
949
937
  }
950
938
  })
951
939
  }
952
- ) });
940
+ ));
953
941
  });
954
942
  SelectTrigger.displayName = TRIGGER_NAME;
955
943
 
956
944
  // packages/react/select/src/SelectIcon.tsx
957
945
  var import_react5 = __toESM(require("react"));
958
946
  var import_react_primitive5 = require("@huin-core/react-primitive");
959
- var import_jsx_runtime6 = require("react/jsx-runtime");
960
947
  var ICON_NAME = "SelectIcon";
961
948
  var SelectIcon = import_react5.default.forwardRef(
962
949
  (props, forwardedRef) => {
963
950
  const { __scopeSelect, children, ...iconProps } = props;
964
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react_primitive5.Primitive.span, { "aria-hidden": true, ...iconProps, ref: forwardedRef, children: children || "\u25BC" });
951
+ return /* @__PURE__ */ import_react5.default.createElement(import_react_primitive5.Primitive.span, { "aria-hidden": true, ...iconProps, ref: forwardedRef }, children || "\u25BC");
965
952
  }
966
953
  );
967
954
  SelectIcon.displayName = ICON_NAME;
968
955
 
969
956
  // packages/react/select/src/SelectPortal.tsx
957
+ var import_react6 = __toESM(require("react"));
970
958
  var import_react_portal = require("@huin-core/react-portal");
971
- var import_jsx_runtime7 = require("react/jsx-runtime");
972
959
  var PORTAL_NAME = "SelectPortal";
973
960
  var SelectPortal = (props) => {
974
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_portal.Portal, { asChild: true, ...props });
961
+ return /* @__PURE__ */ import_react6.default.createElement(import_react_portal.Portal, { asChild: true, ...props });
975
962
  };
976
963
  SelectPortal.displayName = PORTAL_NAME;
977
964
 
978
965
  // packages/react/select/src/SelectGroup.tsx
979
- var import_react6 = __toESM(require("react"));
966
+ var import_react7 = __toESM(require("react"));
980
967
  var import_react_primitive6 = require("@huin-core/react-primitive");
981
968
  var import_react_id2 = require("@huin-core/react-id");
982
- var import_jsx_runtime8 = require("react/jsx-runtime");
983
969
  var GROUP_NAME = "SelectGroup";
984
970
  var [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);
985
- var SelectGroup = import_react6.default.forwardRef(
971
+ var SelectGroup = import_react7.default.forwardRef(
986
972
  (props, forwardedRef) => {
987
973
  const { __scopeSelect, ...groupProps } = props;
988
974
  const groupId = (0, import_react_id2.useId)();
989
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
975
+ return /* @__PURE__ */ import_react7.default.createElement(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId }, /* @__PURE__ */ import_react7.default.createElement(
990
976
  import_react_primitive6.Primitive.div,
991
977
  {
992
978
  role: "group",
@@ -994,36 +980,34 @@ var SelectGroup = import_react6.default.forwardRef(
994
980
  ...groupProps,
995
981
  ref: forwardedRef
996
982
  }
997
- ) });
983
+ ));
998
984
  }
999
985
  );
1000
986
  SelectGroup.displayName = GROUP_NAME;
1001
987
 
1002
988
  // packages/react/select/src/SelectLabel.tsx
1003
- var import_react7 = __toESM(require("react"));
989
+ var import_react8 = __toESM(require("react"));
1004
990
  var import_react_primitive7 = require("@huin-core/react-primitive");
1005
- var import_jsx_runtime9 = require("react/jsx-runtime");
1006
991
  var LABEL_NAME = "SelectLabel";
1007
- var SelectLabel = import_react7.default.forwardRef(
992
+ var SelectLabel = import_react8.default.forwardRef(
1008
993
  (props, forwardedRef) => {
1009
994
  const { __scopeSelect, ...labelProps } = props;
1010
995
  const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);
1011
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_primitive7.Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });
996
+ return /* @__PURE__ */ import_react8.default.createElement(import_react_primitive7.Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });
1012
997
  }
1013
998
  );
1014
999
  SelectLabel.displayName = LABEL_NAME;
1015
1000
 
1016
1001
  // packages/react/select/src/SelectItem.tsx
1017
- var import_react8 = __toESM(require("react"));
1002
+ var import_react9 = __toESM(require("react"));
1018
1003
  var import_react_primitive8 = require("@huin-core/react-primitive");
1019
1004
  var import_react_compose_refs6 = require("@huin-core/react-compose-refs");
1020
1005
  var import_react_id3 = require("@huin-core/react-id");
1021
1006
  var import_primitive4 = require("@huin-core/primitive");
1022
- var import_jsx_runtime10 = require("react/jsx-runtime");
1023
1007
  var SELECTION_KEYS = [" ", "Enter"];
1024
1008
  var ITEM_NAME = "SelectItem";
1025
1009
  var [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);
1026
- var SelectItem = import_react8.default.forwardRef(
1010
+ var SelectItem = import_react9.default.forwardRef(
1027
1011
  (props, forwardedRef) => {
1028
1012
  const {
1029
1013
  __scopeSelect,
@@ -1035,14 +1019,14 @@ var SelectItem = import_react8.default.forwardRef(
1035
1019
  const context = useSelectContext(ITEM_NAME, __scopeSelect);
1036
1020
  const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);
1037
1021
  const isSelected = context.value === value;
1038
- const [textValue, setTextValue] = import_react8.default.useState(textValueProp ?? "");
1039
- const [isFocused, setIsFocused] = import_react8.default.useState(false);
1022
+ const [textValue, setTextValue] = import_react9.default.useState(textValueProp ?? "");
1023
+ const [isFocused, setIsFocused] = import_react9.default.useState(false);
1040
1024
  const composedRefs = (0, import_react_compose_refs6.useComposedRefs)(
1041
1025
  forwardedRef,
1042
1026
  (node) => contentContext.itemRefCallback?.(node, value, disabled)
1043
1027
  );
1044
1028
  const textId = (0, import_react_id3.useId)();
1045
- const pointerTypeRef = import_react8.default.useRef("touch");
1029
+ const pointerTypeRef = import_react9.default.useRef("touch");
1046
1030
  const handleSelect = () => {
1047
1031
  if (!disabled) {
1048
1032
  context.onValueChange(value);
@@ -1054,7 +1038,7 @@ var SelectItem = import_react8.default.forwardRef(
1054
1038
  "A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder."
1055
1039
  );
1056
1040
  }
1057
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1041
+ return /* @__PURE__ */ import_react9.default.createElement(
1058
1042
  SelectItemContextProvider,
1059
1043
  {
1060
1044
  scope: __scopeSelect,
@@ -1062,78 +1046,77 @@ var SelectItem = import_react8.default.forwardRef(
1062
1046
  disabled,
1063
1047
  textId,
1064
1048
  isSelected,
1065
- onItemTextChange: import_react8.default.useCallback((node) => {
1049
+ onItemTextChange: import_react9.default.useCallback((node) => {
1066
1050
  setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? "").trim());
1067
- }, []),
1068
- children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1069
- Collection.ItemSlot,
1051
+ }, [])
1052
+ },
1053
+ /* @__PURE__ */ import_react9.default.createElement(
1054
+ Collection.ItemSlot,
1055
+ {
1056
+ scope: __scopeSelect,
1057
+ value,
1058
+ disabled,
1059
+ textValue
1060
+ },
1061
+ /* @__PURE__ */ import_react9.default.createElement(
1062
+ import_react_primitive8.Primitive.div,
1070
1063
  {
1071
- scope: __scopeSelect,
1072
- value,
1073
- disabled,
1074
- textValue,
1075
- children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1076
- import_react_primitive8.Primitive.div,
1077
- {
1078
- role: "option",
1079
- "aria-labelledby": textId,
1080
- "data-highlighted": isFocused ? "" : void 0,
1081
- "aria-selected": isSelected && isFocused,
1082
- "data-state": isSelected ? "checked" : "unchecked",
1083
- "aria-disabled": disabled || void 0,
1084
- "data-disabled": disabled ? "" : void 0,
1085
- tabIndex: disabled ? void 0 : -1,
1086
- ...itemProps,
1087
- ref: composedRefs,
1088
- onFocus: (0, import_primitive4.composeEventHandlers)(itemProps.onFocus, () => setIsFocused(true)),
1089
- onBlur: (0, import_primitive4.composeEventHandlers)(itemProps.onBlur, () => setIsFocused(false)),
1090
- onClick: (0, import_primitive4.composeEventHandlers)(itemProps.onClick, () => {
1091
- if (pointerTypeRef.current !== "mouse") handleSelect();
1092
- }),
1093
- onPointerUp: (0, import_primitive4.composeEventHandlers)(itemProps.onPointerUp, () => {
1094
- if (pointerTypeRef.current === "mouse") handleSelect();
1095
- }),
1096
- onPointerDown: (0, import_primitive4.composeEventHandlers)(itemProps.onPointerDown, (event) => {
1097
- pointerTypeRef.current = event.pointerType;
1098
- }),
1099
- onPointerMove: (0, import_primitive4.composeEventHandlers)(itemProps.onPointerMove, (event) => {
1100
- pointerTypeRef.current = event.pointerType;
1101
- if (disabled) {
1102
- contentContext.onItemLeave?.();
1103
- } else if (pointerTypeRef.current === "mouse") {
1104
- event.currentTarget.focus({ preventScroll: true });
1105
- }
1106
- }),
1107
- onPointerLeave: (0, import_primitive4.composeEventHandlers)(itemProps.onPointerLeave, (event) => {
1108
- if (event.currentTarget === document.activeElement) {
1109
- contentContext.onItemLeave?.();
1110
- }
1111
- }),
1112
- onKeyDown: (0, import_primitive4.composeEventHandlers)(itemProps.onKeyDown, (event) => {
1113
- const isTypingAhead = contentContext.searchRef?.current !== "";
1114
- if (isTypingAhead && event.key === " ") return;
1115
- if (SELECTION_KEYS.includes(event.key)) handleSelect();
1116
- if (event.key === " ") event.preventDefault();
1117
- })
1064
+ role: "option",
1065
+ "aria-labelledby": textId,
1066
+ "data-highlighted": isFocused ? "" : void 0,
1067
+ "aria-selected": isSelected && isFocused,
1068
+ "data-state": isSelected ? "checked" : "unchecked",
1069
+ "aria-disabled": disabled || void 0,
1070
+ "data-disabled": disabled ? "" : void 0,
1071
+ tabIndex: disabled ? void 0 : -1,
1072
+ ...itemProps,
1073
+ ref: composedRefs,
1074
+ onFocus: (0, import_primitive4.composeEventHandlers)(itemProps.onFocus, () => setIsFocused(true)),
1075
+ onBlur: (0, import_primitive4.composeEventHandlers)(itemProps.onBlur, () => setIsFocused(false)),
1076
+ onClick: (0, import_primitive4.composeEventHandlers)(itemProps.onClick, () => {
1077
+ if (pointerTypeRef.current !== "mouse") handleSelect();
1078
+ }),
1079
+ onPointerUp: (0, import_primitive4.composeEventHandlers)(itemProps.onPointerUp, () => {
1080
+ if (pointerTypeRef.current === "mouse") handleSelect();
1081
+ }),
1082
+ onPointerDown: (0, import_primitive4.composeEventHandlers)(itemProps.onPointerDown, (event) => {
1083
+ pointerTypeRef.current = event.pointerType;
1084
+ }),
1085
+ onPointerMove: (0, import_primitive4.composeEventHandlers)(itemProps.onPointerMove, (event) => {
1086
+ pointerTypeRef.current = event.pointerType;
1087
+ if (disabled) {
1088
+ contentContext.onItemLeave?.();
1089
+ } else if (pointerTypeRef.current === "mouse") {
1090
+ event.currentTarget.focus({ preventScroll: true });
1118
1091
  }
1119
- )
1092
+ }),
1093
+ onPointerLeave: (0, import_primitive4.composeEventHandlers)(itemProps.onPointerLeave, (event) => {
1094
+ if (event.currentTarget === document.activeElement) {
1095
+ contentContext.onItemLeave?.();
1096
+ }
1097
+ }),
1098
+ onKeyDown: (0, import_primitive4.composeEventHandlers)(itemProps.onKeyDown, (event) => {
1099
+ const isTypingAhead = contentContext.searchRef?.current !== "";
1100
+ if (isTypingAhead && event.key === " ") return;
1101
+ if (SELECTION_KEYS.includes(event.key)) handleSelect();
1102
+ if (event.key === " ") event.preventDefault();
1103
+ })
1120
1104
  }
1121
1105
  )
1122
- }
1106
+ )
1123
1107
  );
1124
1108
  }
1125
1109
  );
1126
1110
  SelectItem.displayName = ITEM_NAME;
1127
1111
 
1128
1112
  // packages/react/select/src/SelectItemText.tsx
1129
- var import_react9 = __toESM(require("react"));
1113
+ var import_react10 = __toESM(require("react"));
1130
1114
  var import_react_primitive9 = require("@huin-core/react-primitive");
1131
1115
  var import_react_compose_refs7 = require("@huin-core/react-compose-refs");
1132
1116
  var import_react_use_layout_effect3 = require("@huin-core/react-use-layout-effect");
1133
1117
  var import_react_dom2 = __toESM(require("react-dom"));
1134
- var import_jsx_runtime11 = require("react/jsx-runtime");
1135
1118
  var ITEM_TEXT_NAME = "SelectItemText";
1136
- var SelectItemText = import_react9.default.forwardRef((props, forwardedRef) => {
1119
+ var SelectItemText = import_react10.default.forwardRef((props, forwardedRef) => {
1137
1120
  const { __scopeSelect, className, style, ...itemTextProps } = props;
1138
1121
  const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);
1139
1122
  const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);
@@ -1142,7 +1125,7 @@ var SelectItemText = import_react9.default.forwardRef((props, forwardedRef) => {
1142
1125
  ITEM_TEXT_NAME,
1143
1126
  __scopeSelect
1144
1127
  );
1145
- const [itemTextNode, setItemTextNode] = import_react9.default.useState(null);
1128
+ const [itemTextNode, setItemTextNode] = import_react10.default.useState(null);
1146
1129
  const composedRefs = (0, import_react_compose_refs7.useComposedRefs)(
1147
1130
  forwardedRef,
1148
1131
  (node) => setItemTextNode(node),
@@ -1154,15 +1137,15 @@ var SelectItemText = import_react9.default.forwardRef((props, forwardedRef) => {
1154
1137
  )
1155
1138
  );
1156
1139
  const textContent = itemTextNode?.textContent;
1157
- const nativeOption = import_react9.default.useMemo(
1158
- () => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1140
+ const nativeOption = import_react10.default.useMemo(
1141
+ () => /* @__PURE__ */ import_react10.default.createElement(
1159
1142
  "option",
1160
1143
  {
1144
+ key: itemContext.value,
1161
1145
  value: itemContext.value,
1162
- disabled: itemContext.disabled,
1163
- children: textContent
1146
+ disabled: itemContext.disabled
1164
1147
  },
1165
- itemContext.value
1148
+ textContent
1166
1149
  ),
1167
1150
  [itemContext.disabled, itemContext.value, textContent]
1168
1151
  );
@@ -1171,37 +1154,32 @@ var SelectItemText = import_react9.default.forwardRef((props, forwardedRef) => {
1171
1154
  onNativeOptionAdd(nativeOption);
1172
1155
  return () => onNativeOptionRemove(nativeOption);
1173
1156
  }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);
1174
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_jsx_runtime11.Fragment, { children: [
1175
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_primitive9.Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),
1176
- itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? import_react_dom2.default.createPortal(itemTextProps.children, context.valueNode) : null
1177
- ] });
1157
+ return /* @__PURE__ */ import_react10.default.createElement(import_react10.default.Fragment, null, /* @__PURE__ */ import_react10.default.createElement(import_react_primitive9.Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }), itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? import_react_dom2.default.createPortal(itemTextProps.children, context.valueNode) : null);
1178
1158
  });
1179
1159
  SelectItemText.displayName = ITEM_TEXT_NAME;
1180
1160
 
1181
1161
  // packages/react/select/src/SelectItemIndicator.tsx
1182
- var import_react10 = __toESM(require("react"));
1162
+ var import_react11 = __toESM(require("react"));
1183
1163
  var import_react_primitive10 = require("@huin-core/react-primitive");
1184
- var import_jsx_runtime12 = require("react/jsx-runtime");
1185
1164
  var ITEM_INDICATOR_NAME = "SelectItemIndicator";
1186
- var SelectItemIndicator = import_react10.default.forwardRef((props, forwardedRef) => {
1165
+ var SelectItemIndicator = import_react11.default.forwardRef((props, forwardedRef) => {
1187
1166
  const { __scopeSelect, ...itemIndicatorProps } = props;
1188
1167
  const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);
1189
- return itemContext.isSelected ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_primitive10.Primitive.span, { "aria-hidden": true, ...itemIndicatorProps, ref: forwardedRef }) : null;
1168
+ return itemContext.isSelected ? /* @__PURE__ */ import_react11.default.createElement(import_react_primitive10.Primitive.span, { "aria-hidden": true, ...itemIndicatorProps, ref: forwardedRef }) : null;
1190
1169
  });
1191
1170
  SelectItemIndicator.displayName = ITEM_INDICATOR_NAME;
1192
1171
 
1193
1172
  // packages/react/select/src/SelectScrollUpButton.tsx
1194
- var import_react12 = __toESM(require("react"));
1173
+ var import_react13 = __toESM(require("react"));
1195
1174
 
1196
1175
  // packages/react/select/src/SelectScrollDownButton.tsx
1197
- var import_react11 = __toESM(require("react"));
1176
+ var import_react12 = __toESM(require("react"));
1198
1177
  var import_react_compose_refs8 = require("@huin-core/react-compose-refs");
1199
1178
  var import_react_use_layout_effect4 = require("@huin-core/react-use-layout-effect");
1200
1179
  var import_react_primitive11 = require("@huin-core/react-primitive");
1201
1180
  var import_primitive5 = require("@huin-core/primitive");
1202
- var import_jsx_runtime13 = require("react/jsx-runtime");
1203
1181
  var SCROLL_DOWN_BUTTON_NAME = "SelectScrollDownButton";
1204
- var SelectScrollDownButton = import_react11.default.forwardRef((props, forwardedRef) => {
1182
+ var SelectScrollDownButton = import_react12.default.forwardRef((props, forwardedRef) => {
1205
1183
  const contentContext = useSelectContentContext(
1206
1184
  SCROLL_DOWN_BUTTON_NAME,
1207
1185
  props.__scopeSelect
@@ -1210,7 +1188,7 @@ var SelectScrollDownButton = import_react11.default.forwardRef((props, forwarded
1210
1188
  SCROLL_DOWN_BUTTON_NAME,
1211
1189
  props.__scopeSelect
1212
1190
  );
1213
- const [canScrollDown, setCanScrollDown] = import_react11.default.useState(false);
1191
+ const [canScrollDown, setCanScrollDown] = import_react12.default.useState(false);
1214
1192
  const composedRefs = (0, import_react_compose_refs8.useComposedRefs)(
1215
1193
  forwardedRef,
1216
1194
  viewportContext.onScrollButtonChange
@@ -1229,7 +1207,7 @@ var SelectScrollDownButton = import_react11.default.forwardRef((props, forwarded
1229
1207
  return () => viewport.removeEventListener("scroll", handleScroll2);
1230
1208
  }
1231
1209
  }, [contentContext.viewport, contentContext.isPositioned]);
1232
- return canScrollDown ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1210
+ return canScrollDown ? /* @__PURE__ */ import_react12.default.createElement(
1233
1211
  SelectScrollButtonImpl,
1234
1212
  {
1235
1213
  ...props,
@@ -1244,21 +1222,21 @@ var SelectScrollDownButton = import_react11.default.forwardRef((props, forwarded
1244
1222
  ) : null;
1245
1223
  });
1246
1224
  SelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;
1247
- var SelectScrollButtonImpl = import_react11.default.forwardRef((props, forwardedRef) => {
1225
+ var SelectScrollButtonImpl = import_react12.default.forwardRef((props, forwardedRef) => {
1248
1226
  const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;
1249
1227
  const contentContext = useSelectContentContext(
1250
1228
  "SelectScrollButton",
1251
1229
  __scopeSelect
1252
1230
  );
1253
- const autoScrollTimerRef = import_react11.default.useRef(null);
1231
+ const autoScrollTimerRef = import_react12.default.useRef(null);
1254
1232
  const getItems = useCollection(__scopeSelect);
1255
- const clearAutoScrollTimer = import_react11.default.useCallback(() => {
1233
+ const clearAutoScrollTimer = import_react12.default.useCallback(() => {
1256
1234
  if (autoScrollTimerRef.current !== null) {
1257
1235
  window.clearInterval(autoScrollTimerRef.current);
1258
1236
  autoScrollTimerRef.current = null;
1259
1237
  }
1260
1238
  }, []);
1261
- import_react11.default.useEffect(() => {
1239
+ import_react12.default.useEffect(() => {
1262
1240
  return () => clearAutoScrollTimer();
1263
1241
  }, [clearAutoScrollTimer]);
1264
1242
  (0, import_react_use_layout_effect4.useLayoutEffect)(() => {
@@ -1267,7 +1245,7 @@ var SelectScrollButtonImpl = import_react11.default.forwardRef((props, forwarded
1267
1245
  );
1268
1246
  activeItem?.ref.current?.scrollIntoView({ block: "nearest" });
1269
1247
  }, [getItems]);
1270
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1248
+ return /* @__PURE__ */ import_react12.default.createElement(
1271
1249
  import_react_primitive11.Primitive.div,
1272
1250
  {
1273
1251
  "aria-hidden": true,
@@ -1304,9 +1282,8 @@ var SelectScrollButtonImpl = import_react11.default.forwardRef((props, forwarded
1304
1282
  // packages/react/select/src/SelectScrollUpButton.tsx
1305
1283
  var import_react_compose_refs9 = require("@huin-core/react-compose-refs");
1306
1284
  var import_react_use_layout_effect5 = require("@huin-core/react-use-layout-effect");
1307
- var import_jsx_runtime14 = require("react/jsx-runtime");
1308
1285
  var SCROLL_UP_BUTTON_NAME = "SelectScrollUpButton";
1309
- var SelectScrollUpButton = import_react12.default.forwardRef((props, forwardedRef) => {
1286
+ var SelectScrollUpButton = import_react13.default.forwardRef((props, forwardedRef) => {
1310
1287
  const contentContext = useSelectContentContext(
1311
1288
  SCROLL_UP_BUTTON_NAME,
1312
1289
  props.__scopeSelect
@@ -1315,7 +1292,7 @@ var SelectScrollUpButton = import_react12.default.forwardRef((props, forwardedRe
1315
1292
  SCROLL_UP_BUTTON_NAME,
1316
1293
  props.__scopeSelect
1317
1294
  );
1318
- const [canScrollUp, setCanScrollUp] = import_react12.default.useState(false);
1295
+ const [canScrollUp, setCanScrollUp] = import_react13.default.useState(false);
1319
1296
  const composedRefs = (0, import_react_compose_refs9.useComposedRefs)(
1320
1297
  forwardedRef,
1321
1298
  viewportContext.onScrollButtonChange
@@ -1333,7 +1310,7 @@ var SelectScrollUpButton = import_react12.default.forwardRef((props, forwardedRe
1333
1310
  return () => viewport.removeEventListener("scroll", handleScroll2);
1334
1311
  }
1335
1312
  }, [contentContext.viewport, contentContext.isPositioned]);
1336
- return canScrollUp ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1313
+ return canScrollUp ? /* @__PURE__ */ import_react13.default.createElement(
1337
1314
  SelectScrollButtonImpl,
1338
1315
  {
1339
1316
  ...props,
@@ -1350,28 +1327,26 @@ var SelectScrollUpButton = import_react12.default.forwardRef((props, forwardedRe
1350
1327
  SelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;
1351
1328
 
1352
1329
  // packages/react/select/src/SelectSeparator.tsx
1353
- var import_react13 = __toESM(require("react"));
1330
+ var import_react14 = __toESM(require("react"));
1354
1331
  var import_react_primitive12 = require("@huin-core/react-primitive");
1355
- var import_jsx_runtime15 = require("react/jsx-runtime");
1356
1332
  var SEPARATOR_NAME = "SelectSeparator";
1357
- var SelectSeparator = import_react13.default.forwardRef((props, forwardedRef) => {
1333
+ var SelectSeparator = import_react14.default.forwardRef((props, forwardedRef) => {
1358
1334
  const { __scopeSelect, ...separatorProps } = props;
1359
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_primitive12.Primitive.div, { "aria-hidden": true, ...separatorProps, ref: forwardedRef });
1335
+ return /* @__PURE__ */ import_react14.default.createElement(import_react_primitive12.Primitive.div, { "aria-hidden": true, ...separatorProps, ref: forwardedRef });
1360
1336
  });
1361
1337
  SelectSeparator.displayName = SEPARATOR_NAME;
1362
1338
 
1363
1339
  // packages/react/select/src/SelectArrow.tsx
1364
1340
  var PopperPrimitive4 = __toESM(require("@huin-core/react-popper"));
1365
- var import_react14 = __toESM(require("react"));
1366
- var import_jsx_runtime16 = require("react/jsx-runtime");
1341
+ var import_react15 = __toESM(require("react"));
1367
1342
  var ARROW_NAME = "SelectArrow";
1368
- var SelectArrow = import_react14.default.forwardRef(
1343
+ var SelectArrow = import_react15.default.forwardRef(
1369
1344
  (props, forwardedRef) => {
1370
1345
  const { __scopeSelect, ...arrowProps } = props;
1371
1346
  const popperScope = usePopperScope(__scopeSelect);
1372
1347
  const context = useSelectContext(ARROW_NAME, __scopeSelect);
1373
1348
  const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);
1374
- return context.open && contentContext.position === "popper" ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1349
+ return context.open && contentContext.position === "popper" ? /* @__PURE__ */ import_react15.default.createElement(
1375
1350
  PopperPrimitive4.Arrow,
1376
1351
  {
1377
1352
  ...popperScope,