@ariakit/react-core 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/cjs/__chunks/{6RCPYDT6.cjs → 375RXJFL.cjs} +2 -2
  3. package/cjs/__chunks/{OUTZPTLJ.cjs → EYTZU2B4.cjs} +2 -2
  4. package/cjs/__chunks/{T32XRZLL.cjs → FEBBQUM7.cjs} +3 -14
  5. package/cjs/__chunks/{WUK3NG7Y.cjs → GRK5YRZL.cjs} +4 -4
  6. package/cjs/__chunks/{VJIEWS6G.cjs → IFEQZXEG.cjs} +4 -4
  7. package/cjs/__chunks/{MLHQHZEA.cjs → J3NZDY4L.cjs} +2 -2
  8. package/cjs/__chunks/{YHNU4DBC.cjs → JJH3U4MG.cjs} +7 -7
  9. package/cjs/__chunks/{5W6JBMZ4.cjs → KKTRLNQK.cjs} +2 -2
  10. package/cjs/__chunks/{ID5QP4WT.cjs → LM5EDRV3.cjs} +3 -3
  11. package/cjs/__chunks/{MMDU7VRJ.cjs → M7WN4XJH.cjs} +2 -2
  12. package/cjs/__chunks/{RGJCGG4P.cjs → NWGQLRRK.cjs} +2 -2
  13. package/cjs/__chunks/{K5V42RR6.cjs → PIZ222UU.cjs} +2 -2
  14. package/cjs/__chunks/{6U7MUWYL.cjs → PQ4VU6KG.cjs} +2 -2
  15. package/cjs/__chunks/{JH5Y3M4V.cjs → QCQVRINH.cjs} +2 -2
  16. package/cjs/__chunks/{3PW624M3.cjs → QUSHM3AR.cjs} +2 -2
  17. package/cjs/__chunks/{NCXCQQBN.cjs → T5YJMXLP.cjs} +2 -2
  18. package/cjs/__chunks/{JFOUIQSF.cjs → THCBJSSM.cjs} +13 -2
  19. package/cjs/__chunks/{QWP2WC6E.cjs → VYKATRVC.cjs} +2 -2
  20. package/cjs/__chunks/{YEAKVHCK.cjs → W6FESCVU.cjs} +2 -2
  21. package/cjs/__chunks/{PR3MIXQD.cjs → WH5VAOIH.cjs} +2 -2
  22. package/cjs/__chunks/{2FVHSC23.cjs → X3FFBMDH.cjs} +4 -4
  23. package/cjs/__chunks/{LTD4F7TZ.cjs → X3YXQESW.cjs} +2 -2
  24. package/cjs/__chunks/{5QD55NKL.cjs → XRZ2L7EA.cjs} +4 -3
  25. package/cjs/__chunks/{TTVVUWIY.cjs → Z3JYZ4IW.cjs} +2 -2
  26. package/cjs/__chunks/{ZMTZTMRS.cjs → Z7QK7V4M.cjs} +2 -2
  27. package/cjs/button/button.cjs +4 -4
  28. package/cjs/checkbox/checkbox.cjs +4 -4
  29. package/cjs/combobox/combobox-cancel.cjs +4 -4
  30. package/cjs/combobox/combobox-disclosure.cjs +6 -6
  31. package/cjs/combobox/combobox-item.cjs +4 -5
  32. package/cjs/combobox/combobox-item.d.cts +1 -0
  33. package/cjs/combobox/combobox-item.d.ts +1 -0
  34. package/cjs/combobox/combobox-list.cjs +3 -3
  35. package/cjs/combobox/combobox-popover.cjs +9 -9
  36. package/cjs/combobox/combobox.cjs +26 -12
  37. package/cjs/combobox/combobox.d.cts +41 -9
  38. package/cjs/combobox/combobox.d.ts +41 -9
  39. package/cjs/command/command.cjs +3 -3
  40. package/cjs/composite/composite-hover.d.cts +1 -0
  41. package/cjs/composite/composite-hover.d.ts +1 -0
  42. package/cjs/composite/composite-item.cjs +4 -4
  43. package/cjs/composite/composite-overflow-disclosure.cjs +9 -9
  44. package/cjs/composite/composite-overflow.cjs +6 -6
  45. package/cjs/composite/composite.cjs +3 -3
  46. package/cjs/dialog/dialog-backdrop.cjs +3 -3
  47. package/cjs/dialog/dialog-disclosure.cjs +6 -6
  48. package/cjs/dialog/dialog-dismiss.cjs +5 -5
  49. package/cjs/dialog/dialog.cjs +5 -5
  50. package/cjs/disclosure/disclosure-content.cjs +2 -2
  51. package/cjs/disclosure/disclosure-store.d.cts +3 -0
  52. package/cjs/disclosure/disclosure-store.d.ts +3 -0
  53. package/cjs/disclosure/disclosure.cjs +5 -5
  54. package/cjs/focusable/focusable.cjs +2 -2
  55. package/cjs/form/form-checkbox.cjs +4 -4
  56. package/cjs/form/form-input.cjs +2 -2
  57. package/cjs/form/form-push.cjs +4 -4
  58. package/cjs/form/form-radio.cjs +5 -5
  59. package/cjs/form/form-remove.cjs +4 -4
  60. package/cjs/form/form-reset.cjs +4 -4
  61. package/cjs/form/form-submit.cjs +4 -4
  62. package/cjs/hovercard/hovercard-anchor.cjs +3 -3
  63. package/cjs/hovercard/hovercard-disclosure.cjs +6 -6
  64. package/cjs/hovercard/hovercard-dismiss.cjs +7 -7
  65. package/cjs/hovercard/hovercard.cjs +7 -7
  66. package/cjs/menu/menu-bar.cjs +4 -4
  67. package/cjs/menu/menu-button.cjs +9 -9
  68. package/cjs/menu/menu-dismiss.cjs +7 -7
  69. package/cjs/menu/menu-item-checkbox.cjs +7 -7
  70. package/cjs/menu/menu-item-radio.cjs +7 -7
  71. package/cjs/menu/menu-item.cjs +5 -5
  72. package/cjs/menu/menu-list.cjs +5 -5
  73. package/cjs/menu/menu.cjs +11 -11
  74. package/cjs/menubar/menubar.cjs +4 -4
  75. package/cjs/popover/popover-disclosure.cjs +7 -7
  76. package/cjs/popover/popover-dismiss.cjs +6 -6
  77. package/cjs/popover/popover.cjs +6 -6
  78. package/cjs/radio/radio-group.cjs +3 -3
  79. package/cjs/radio/radio.cjs +5 -5
  80. package/cjs/select/select-item.cjs +4 -4
  81. package/cjs/select/select-list.cjs +5 -5
  82. package/cjs/select/select-popover.cjs +10 -10
  83. package/cjs/select/select.cjs +7 -7
  84. package/cjs/tab/tab-list.cjs +3 -3
  85. package/cjs/tab/tab-panel.cjs +4 -4
  86. package/cjs/tab/tab.cjs +4 -4
  87. package/cjs/toolbar/toolbar-container.cjs +5 -5
  88. package/cjs/toolbar/toolbar-input.cjs +5 -5
  89. package/cjs/toolbar/toolbar-item.cjs +5 -5
  90. package/cjs/toolbar/toolbar.cjs +3 -3
  91. package/cjs/tooltip/tooltip-anchor.cjs +3 -3
  92. package/cjs/tooltip/tooltip.cjs +8 -8
  93. package/cjs/tooltip/tooltip.d.cts +6 -2
  94. package/cjs/tooltip/tooltip.d.ts +6 -2
  95. package/esm/__chunks/{KTPXKSJN.js → 237HGZM2.js} +1 -1
  96. package/esm/__chunks/{IU2VX2AY.js → 2P6ANLPF.js} +1 -1
  97. package/esm/__chunks/{WKBVQ2CE.js → 3MQJRHSX.js} +1 -1
  98. package/esm/__chunks/{CJ6B7ETA.js → 3N4FFVWW.js} +1 -1
  99. package/esm/__chunks/{G77JJQ4O.js → 5KB2YIDT.js} +1 -1
  100. package/esm/__chunks/{NNMCIH2I.js → 5SF76VVA.js} +1 -1
  101. package/esm/__chunks/{WWVP4SPG.js → 6YZEXKNV.js} +2 -2
  102. package/esm/__chunks/{TNUQLYBS.js → AFNONYRE.js} +1 -1
  103. package/esm/__chunks/{KMWSQ7OZ.js → BYD75WXE.js} +1 -1
  104. package/esm/__chunks/{VVLSOSIG.js → C6OBNQ4F.js} +1 -1
  105. package/esm/__chunks/{TZP63GN5.js → EF4Q2SSO.js} +2 -2
  106. package/esm/__chunks/{6WQW7ZIA.js → FTNKYK65.js} +1 -1
  107. package/esm/__chunks/{NIWODFOI.js → FWINX72I.js} +1 -1
  108. package/esm/__chunks/{FY6FFKYI.js → IKMNNZAH.js} +1 -1
  109. package/esm/__chunks/{ID4VKXL5.js → JJ3MV4KB.js} +1 -1
  110. package/esm/__chunks/{ZF6ZK5BT.js → KSZPJCUA.js} +1 -1
  111. package/esm/__chunks/{SSK5L4K7.js → KXSO5EFT.js} +3 -3
  112. package/esm/__chunks/{GYVFAVAN.js → PDRDZB4I.js} +2 -2
  113. package/esm/__chunks/{SOGTNTQC.js → RQZGFHI2.js} +14 -3
  114. package/esm/__chunks/{S7DYINJG.js → ULZ2KGZN.js} +1 -1
  115. package/esm/__chunks/{3PDOEITM.js → VYNLQCY5.js} +1 -1
  116. package/esm/__chunks/{VA234QKF.js → WAZE6NXP.js} +4 -3
  117. package/esm/__chunks/{TTFA75QD.js → Y3BYYHRY.js} +2 -13
  118. package/esm/__chunks/{RZWNNUWF.js → Z72LDQLY.js} +1 -1
  119. package/esm/__chunks/{CQJLVEBA.js → ZK5NO24C.js} +1 -1
  120. package/esm/button/button.js +3 -3
  121. package/esm/checkbox/checkbox.js +3 -3
  122. package/esm/combobox/combobox-cancel.js +3 -3
  123. package/esm/combobox/combobox-disclosure.js +5 -5
  124. package/esm/combobox/combobox-item.d.ts +1 -0
  125. package/esm/combobox/combobox-item.js +3 -4
  126. package/esm/combobox/combobox-list.js +2 -2
  127. package/esm/combobox/combobox-popover.js +6 -6
  128. package/esm/combobox/combobox.d.ts +41 -9
  129. package/esm/combobox/combobox.js +25 -11
  130. package/esm/command/command.js +2 -2
  131. package/esm/composite/composite-hover.d.ts +1 -0
  132. package/esm/composite/composite-item.js +3 -3
  133. package/esm/composite/composite-overflow-disclosure.js +7 -7
  134. package/esm/composite/composite-overflow.js +5 -5
  135. package/esm/composite/composite.js +2 -2
  136. package/esm/dialog/dialog-backdrop.js +2 -2
  137. package/esm/dialog/dialog-disclosure.js +5 -5
  138. package/esm/dialog/dialog-dismiss.js +4 -4
  139. package/esm/dialog/dialog.js +4 -4
  140. package/esm/disclosure/disclosure-content.js +1 -1
  141. package/esm/disclosure/disclosure-store.d.ts +3 -0
  142. package/esm/disclosure/disclosure.js +4 -4
  143. package/esm/focusable/focusable.js +1 -1
  144. package/esm/form/form-checkbox.js +3 -3
  145. package/esm/form/form-input.js +1 -1
  146. package/esm/form/form-push.js +3 -3
  147. package/esm/form/form-radio.js +4 -4
  148. package/esm/form/form-remove.js +3 -3
  149. package/esm/form/form-reset.js +3 -3
  150. package/esm/form/form-submit.js +3 -3
  151. package/esm/hovercard/hovercard-anchor.js +2 -2
  152. package/esm/hovercard/hovercard-disclosure.js +5 -5
  153. package/esm/hovercard/hovercard-dismiss.js +6 -6
  154. package/esm/hovercard/hovercard.js +6 -6
  155. package/esm/menu/menu-bar.js +3 -3
  156. package/esm/menu/menu-button.js +7 -7
  157. package/esm/menu/menu-dismiss.js +6 -6
  158. package/esm/menu/menu-item-checkbox.js +5 -5
  159. package/esm/menu/menu-item-radio.js +5 -5
  160. package/esm/menu/menu-item.js +4 -4
  161. package/esm/menu/menu-list.js +4 -4
  162. package/esm/menu/menu.js +8 -8
  163. package/esm/menubar/menubar.js +3 -3
  164. package/esm/popover/popover-disclosure.js +6 -6
  165. package/esm/popover/popover-dismiss.js +5 -5
  166. package/esm/popover/popover.js +5 -5
  167. package/esm/radio/radio-group.js +2 -2
  168. package/esm/radio/radio.js +4 -4
  169. package/esm/select/select-item.js +3 -3
  170. package/esm/select/select-list.js +4 -4
  171. package/esm/select/select-popover.js +7 -7
  172. package/esm/select/select.js +6 -6
  173. package/esm/tab/tab-list.js +2 -2
  174. package/esm/tab/tab-panel.js +2 -2
  175. package/esm/tab/tab.js +3 -3
  176. package/esm/toolbar/toolbar-container.js +4 -4
  177. package/esm/toolbar/toolbar-input.js +4 -4
  178. package/esm/toolbar/toolbar-item.js +4 -4
  179. package/esm/toolbar/toolbar.js +2 -2
  180. package/esm/tooltip/tooltip-anchor.js +2 -2
  181. package/esm/tooltip/tooltip.d.ts +6 -2
  182. package/esm/tooltip/tooltip.js +6 -6
  183. package/package.json +2 -2
@@ -5,7 +5,7 @@ import {
5
5
  } from "./UNDSQXBK.js";
6
6
  import {
7
7
  isHidden
8
- } from "./SOGTNTQC.js";
8
+ } from "./RQZGFHI2.js";
9
9
  import {
10
10
  createElement,
11
11
  createHook,
@@ -13,7 +13,6 @@ import {
13
13
  } from "./5M6RSQEC.js";
14
14
  import {
15
15
  useAttribute,
16
- useEvent,
17
16
  useId,
18
17
  useMergeRefs,
19
18
  useWrapElement
@@ -40,15 +39,6 @@ var useComboboxList = createHook(
40
39
  );
41
40
  const ref = useRef(null);
42
41
  const id = useId(props.id);
43
- const onKeyDownProp = props.onKeyDown;
44
- const onKeyDown = useEvent((event) => {
45
- onKeyDownProp == null ? void 0 : onKeyDownProp(event);
46
- if (event.defaultPrevented)
47
- return;
48
- if (event.key === "Escape") {
49
- store == null ? void 0 : store.move(null);
50
- }
51
- });
52
42
  props = useWrapElement(
53
43
  props,
54
44
  (element) => /* @__PURE__ */ jsx(ComboboxScopedContextProvider, { value: store, children: element }),
@@ -70,8 +60,7 @@ var useComboboxList = createHook(
70
60
  "aria-multiselectable": ariaMultiSelectable
71
61
  }, props), {
72
62
  ref: useMergeRefs(id ? store.setContentElement : null, ref, props.ref),
73
- style,
74
- onKeyDown
63
+ style
75
64
  });
76
65
  return removeUndefinedValues(props);
77
66
  }
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  useDialogDisclosure
4
- } from "./NNMCIH2I.js";
4
+ } from "./5SF76VVA.js";
5
5
  import {
6
6
  usePopoverAnchor
7
7
  } from "./NLT7LY5Y.js";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  usePopoverDismiss
4
- } from "./FY6FFKYI.js";
4
+ } from "./IKMNNZAH.js";
5
5
  import {
6
6
  useHovercardScopedContext
7
7
  } from "./TWDHCE7Y.js";
@@ -2,9 +2,9 @@
2
2
  import {
3
3
  Button,
4
4
  useButton
5
- } from "../__chunks/ID4VKXL5.js";
6
- import "../__chunks/ZF6ZK5BT.js";
7
- import "../__chunks/VA234QKF.js";
5
+ } from "../__chunks/JJ3MV4KB.js";
6
+ import "../__chunks/KSZPJCUA.js";
7
+ import "../__chunks/WAZE6NXP.js";
8
8
  import "../__chunks/SHA3WOPI.js";
9
9
  import "../__chunks/5M6RSQEC.js";
10
10
  import "../__chunks/6O5OEQGF.js";
@@ -2,11 +2,11 @@
2
2
  import {
3
3
  Checkbox,
4
4
  useCheckbox
5
- } from "../__chunks/3PDOEITM.js";
5
+ } from "../__chunks/VYNLQCY5.js";
6
6
  import "../__chunks/EUN6HFWO.js";
7
7
  import "../__chunks/6XBVQI3K.js";
8
- import "../__chunks/ZF6ZK5BT.js";
9
- import "../__chunks/VA234QKF.js";
8
+ import "../__chunks/KSZPJCUA.js";
9
+ import "../__chunks/WAZE6NXP.js";
10
10
  import "../__chunks/SHA3WOPI.js";
11
11
  import "../__chunks/5M6RSQEC.js";
12
12
  import "../__chunks/EKQEJRUF.js";
@@ -1,17 +1,17 @@
1
1
  "use client";
2
2
  import {
3
3
  useButton
4
- } from "../__chunks/ID4VKXL5.js";
4
+ } from "../__chunks/JJ3MV4KB.js";
5
5
  import {
6
6
  useComboboxProviderContext
7
7
  } from "../__chunks/UNDSQXBK.js";
8
- import "../__chunks/ZF6ZK5BT.js";
8
+ import "../__chunks/KSZPJCUA.js";
9
9
  import "../__chunks/3D6OCOHF.js";
10
10
  import "../__chunks/MADQZZRL.js";
11
11
  import "../__chunks/TE637IA7.js";
12
12
  import "../__chunks/XXVAHUAO.js";
13
13
  import "../__chunks/J55AVALY.js";
14
- import "../__chunks/VA234QKF.js";
14
+ import "../__chunks/WAZE6NXP.js";
15
15
  import "../__chunks/SHA3WOPI.js";
16
16
  import {
17
17
  createElement,
@@ -1,19 +1,19 @@
1
1
  "use client";
2
2
  import {
3
3
  useDialogDisclosure
4
- } from "../__chunks/NNMCIH2I.js";
5
- import "../__chunks/TNUQLYBS.js";
6
- import "../__chunks/ID4VKXL5.js";
4
+ } from "../__chunks/5SF76VVA.js";
5
+ import "../__chunks/AFNONYRE.js";
6
+ import "../__chunks/JJ3MV4KB.js";
7
7
  import {
8
8
  useComboboxProviderContext
9
9
  } from "../__chunks/UNDSQXBK.js";
10
- import "../__chunks/ZF6ZK5BT.js";
10
+ import "../__chunks/KSZPJCUA.js";
11
11
  import "../__chunks/3D6OCOHF.js";
12
12
  import "../__chunks/MADQZZRL.js";
13
13
  import "../__chunks/TE637IA7.js";
14
14
  import "../__chunks/XXVAHUAO.js";
15
15
  import "../__chunks/J55AVALY.js";
16
- import "../__chunks/VA234QKF.js";
16
+ import "../__chunks/WAZE6NXP.js";
17
17
  import "../__chunks/SHA3WOPI.js";
18
18
  import {
19
19
  createElement,
@@ -90,6 +90,7 @@ export interface ComboboxItemOptions<T extends ElementType = TagName> extends Co
90
90
  * - [Combobox with links](https://ariakit.org/examples/combobox-links)
91
91
  * - [Submenu with
92
92
  * Combobox](https://ariakit.org/examples/menu-nested-combobox)
93
+ * - [Command Menu](https://ariakit.org/examples/dialog-combobox-command-menu)
93
94
  */
94
95
  hideOnClick?: BooleanOrCallback<MouseEvent<HTMLElement>>;
95
96
  /**
@@ -9,8 +9,8 @@ import {
9
9
  } from "../__chunks/UNDSQXBK.js";
10
10
  import {
11
11
  useCompositeItem
12
- } from "../__chunks/VVLSOSIG.js";
13
- import "../__chunks/ZF6ZK5BT.js";
12
+ } from "../__chunks/C6OBNQ4F.js";
13
+ import "../__chunks/KSZPJCUA.js";
14
14
  import "../__chunks/7YKLTEOQ.js";
15
15
  import "../__chunks/3IEDWLST.js";
16
16
  import "../__chunks/3D6OCOHF.js";
@@ -18,7 +18,7 @@ import "../__chunks/MADQZZRL.js";
18
18
  import "../__chunks/TE637IA7.js";
19
19
  import "../__chunks/XXVAHUAO.js";
20
20
  import "../__chunks/J55AVALY.js";
21
- import "../__chunks/VA234QKF.js";
21
+ import "../__chunks/WAZE6NXP.js";
22
22
  import "../__chunks/SHA3WOPI.js";
23
23
  import {
24
24
  createElement,
@@ -127,7 +127,6 @@ var useComboboxItem = createHook(
127
127
  }
128
128
  }
129
129
  if (hideOnClickProp(event)) {
130
- store == null ? void 0 : store.move(null);
131
130
  store == null ? void 0 : store.hide();
132
131
  }
133
132
  });
@@ -2,11 +2,11 @@
2
2
  import {
3
3
  ComboboxList,
4
4
  useComboboxList
5
- } from "../__chunks/TTFA75QD.js";
5
+ } from "../__chunks/Y3BYYHRY.js";
6
6
  import "../__chunks/UNDSQXBK.js";
7
7
  import "../__chunks/3D6OCOHF.js";
8
8
  import "../__chunks/MADQZZRL.js";
9
- import "../__chunks/SOGTNTQC.js";
9
+ import "../__chunks/RQZGFHI2.js";
10
10
  import "../__chunks/TE637IA7.js";
11
11
  import "../__chunks/XXVAHUAO.js";
12
12
  import "../__chunks/J55AVALY.js";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  useComboboxList
4
- } from "../__chunks/TTFA75QD.js";
4
+ } from "../__chunks/Y3BYYHRY.js";
5
5
  import {
6
6
  useComboboxProviderContext
7
7
  } from "../__chunks/UNDSQXBK.js";
@@ -9,11 +9,11 @@ import "../__chunks/3D6OCOHF.js";
9
9
  import "../__chunks/MADQZZRL.js";
10
10
  import {
11
11
  usePopover
12
- } from "../__chunks/KMWSQ7OZ.js";
12
+ } from "../__chunks/BYD75WXE.js";
13
13
  import {
14
14
  createDialogComponent
15
- } from "../__chunks/SSK5L4K7.js";
16
- import "../__chunks/CJ6B7ETA.js";
15
+ } from "../__chunks/KXSO5EFT.js";
16
+ import "../__chunks/3N4FFVWW.js";
17
17
  import "../__chunks/NOYDL3YS.js";
18
18
  import "../__chunks/BULCTPRV.js";
19
19
  import "../__chunks/6BJGLK2C.js";
@@ -34,11 +34,11 @@ import "../__chunks/WKWX2XLD.js";
34
34
  import "../__chunks/7452U3HH.js";
35
35
  import "../__chunks/XPF5GU3Q.js";
36
36
  import "../__chunks/CBTO7DFZ.js";
37
- import "../__chunks/SOGTNTQC.js";
37
+ import "../__chunks/RQZGFHI2.js";
38
38
  import "../__chunks/TE637IA7.js";
39
39
  import "../__chunks/XXVAHUAO.js";
40
40
  import "../__chunks/J55AVALY.js";
41
- import "../__chunks/VA234QKF.js";
41
+ import "../__chunks/WAZE6NXP.js";
42
42
  import "../__chunks/SHA3WOPI.js";
43
43
  import "../__chunks/IFT5JEUU.js";
44
44
  import {
@@ -49,8 +49,8 @@ export interface ComboboxOptions<T extends ElementType = TagName> extends Compos
49
49
  store?: ComboboxStore;
50
50
  /**
51
51
  * Whether the first enabled item will be automatically selected when the
52
- * combobox input value changes. When it's set to `true`, the exact behavior
53
- * will depend on the value of the
52
+ * combobox input value changes. When it's set to `true` or `"always"`, the
53
+ * exact behavior will depend on the value of the
54
54
  * [`autoComplete`](https://ariakit.org/reference/combobox#autocomplete) prop:
55
55
  * - If [`autoComplete`](https://ariakit.org/reference/combobox#autocomplete)
56
56
  * is `both` or `inline`, the first item is automatically focused when the
@@ -60,13 +60,16 @@ export interface ComboboxOptions<T extends ElementType = TagName> extends Compos
60
60
  * is `list` or `none`, the first item is automatically focused when the
61
61
  * popup opens, but the input value doesn't change.
62
62
  *
63
+ * When it's set to `"always"`, the first enabled item will be automatically
64
+ * highlighted when the combobox list opens.
65
+ *
63
66
  * To change which item is auto selected, use the
64
67
  * [`getAutoSelectId`](https://ariakit.org/reference/combobox#getautoselectid)
65
68
  * prop.
66
69
  *
70
+ *
67
71
  * Live examples:
68
- * - [Combobox with integrated
69
- * filter](https://ariakit.org/examples/combobox-filtering-integrated)
72
+ * - [Command Menu](https://ariakit.org/examples/dialog-combobox-command-menu)
70
73
  * - [ComboboxGroup](https://ariakit.org/examples/combobox-group)
71
74
  * - [Combobox with links](https://ariakit.org/examples/combobox-links)
72
75
  * - [Textarea with inline
@@ -75,7 +78,7 @@ export interface ComboboxOptions<T extends ElementType = TagName> extends Compos
75
78
  * - [Select with Combobox](https://ariakit.org/examples/select-combobox)
76
79
  * @default false
77
80
  */
78
- autoSelect?: boolean;
81
+ autoSelect?: boolean | "always";
79
82
  /**
80
83
  * Function that takes the currently rendered items and returns the id of the
81
84
  * item to be auto selected when the
@@ -134,6 +137,14 @@ export interface ComboboxOptions<T extends ElementType = TagName> extends Compos
134
137
  * @default "list"
135
138
  */
136
139
  autoComplete?: StringWithValue<Required<AriaAttributes>["aria-autocomplete"]>;
140
+ /**
141
+ * Determines if the highlighted item should lose focus when the user clicks
142
+ * on the combobox input element. By default, this prop's value is set
143
+ * according to the
144
+ * [`includesBaseElement`](https://ariakit.org/reference/combobox-provider#includesbaseelement)
145
+ * value.
146
+ */
147
+ blurActiveItemOnClick?: BooleanOrCallback<MouseEvent<HTMLElement>>;
137
148
  /**
138
149
  * Whether the [`ComboboxList`](https://ariakit.org/reference/combobox-list)
139
150
  * or [`ComboboxPopover`](https://ariakit.org/reference/combobox-popover)
@@ -149,6 +160,16 @@ export interface ComboboxOptions<T extends ElementType = TagName> extends Compos
149
160
  * ```
150
161
  */
151
162
  showOnChange?: BooleanOrCallback<ChangeEvent<HTMLElement>>;
163
+ /**
164
+ * Whether the [`ComboboxList`](https://ariakit.org/reference/combobox-list)
165
+ * or [`ComboboxPopover`](https://ariakit.org/reference/combobox-popover)
166
+ * components should be shown when the input is clicked.
167
+ * @deprecated Use
168
+ * [`showOnClick`](https://ariakit.org/reference/combobox#showonclick)
169
+ * instead.
170
+ * @default true
171
+ */
172
+ showOnMouseDown?: BooleanOrCallback<MouseEvent<HTMLElement>>;
152
173
  /**
153
174
  * Whether the [`ComboboxList`](https://ariakit.org/reference/combobox-list)
154
175
  * or [`ComboboxPopover`](https://ariakit.org/reference/combobox-popover)
@@ -160,10 +181,21 @@ export interface ComboboxOptions<T extends ElementType = TagName> extends Compos
160
181
  * @default true
161
182
  * @example
162
183
  * ```jsx
163
- * <Combobox showOnMouseDown={value.length > 1} />
184
+ * <Combobox showOnClick={value.length > 1} />
164
185
  * ```
165
186
  */
166
- showOnMouseDown?: BooleanOrCallback<MouseEvent<HTMLElement>>;
187
+ showOnClick?: BooleanOrCallback<MouseEvent<HTMLElement>>;
188
+ /**
189
+ * Whether the [`ComboboxList`](https://ariakit.org/reference/combobox-list)
190
+ * or [`ComboboxPopover`](https://ariakit.org/reference/combobox-popover)
191
+ * components should be shown when the user presses the arrow up or down keys
192
+ * while focusing on the combobox input element.
193
+ * @deprecated Use
194
+ * [`showOnKeyPress`](https://ariakit.org/reference/combobox#showonkeypress)
195
+ * instead.
196
+ * @default true
197
+ */
198
+ showOnKeyDown?: BooleanOrCallback<ReactKeyboardEvent<HTMLElement>>;
167
199
  /**
168
200
  * Whether the [`ComboboxList`](https://ariakit.org/reference/combobox-list)
169
201
  * or [`ComboboxPopover`](https://ariakit.org/reference/combobox-popover)
@@ -176,10 +208,10 @@ export interface ComboboxOptions<T extends ElementType = TagName> extends Compos
176
208
  * @default true
177
209
  * @example
178
210
  * ```jsx
179
- * <Combobox showOnKeyDown={value.length > 1} />
211
+ * <Combobox showOnKeyPress={value.length > 1} />
180
212
  * ```
181
213
  */
182
- showOnKeyDown?: BooleanOrCallback<ReactKeyboardEvent<HTMLElement>>;
214
+ showOnKeyPress?: BooleanOrCallback<ReactKeyboardEvent<HTMLElement>>;
183
215
  /**
184
216
  * Whether the combobox
185
217
  * [`value`](https://ariakit.org/reference/combobox-provider#value) state
@@ -7,14 +7,14 @@ import {
7
7
  } from "../__chunks/UNDSQXBK.js";
8
8
  import {
9
9
  useComposite
10
- } from "../__chunks/6WQW7ZIA.js";
10
+ } from "../__chunks/FTNKYK65.js";
11
11
  import "../__chunks/3IEDWLST.js";
12
12
  import "../__chunks/3D6OCOHF.js";
13
13
  import "../__chunks/MADQZZRL.js";
14
14
  import "../__chunks/TE637IA7.js";
15
15
  import "../__chunks/XXVAHUAO.js";
16
16
  import "../__chunks/J55AVALY.js";
17
- import "../__chunks/VA234QKF.js";
17
+ import "../__chunks/WAZE6NXP.js";
18
18
  import "../__chunks/SHA3WOPI.js";
19
19
  import {
20
20
  createElement,
@@ -87,8 +87,11 @@ var useCombobox = createHook(
87
87
  showOnChange = true,
88
88
  setValueOnChange = true,
89
89
  showOnMouseDown = true,
90
+ showOnClick = showOnMouseDown,
91
+ blurActiveItemOnClick,
90
92
  setValueOnClick = true,
91
93
  showOnKeyDown = true,
94
+ showOnKeyPress = showOnKeyDown,
92
95
  moveOnKeyPress = true,
93
96
  autoComplete = "list"
94
97
  } = _b, props = __objRest(_b, [
@@ -99,8 +102,11 @@ var useCombobox = createHook(
99
102
  "showOnChange",
100
103
  "setValueOnChange",
101
104
  "showOnMouseDown",
105
+ "showOnClick",
106
+ "blurActiveItemOnClick",
102
107
  "setValueOnClick",
103
108
  "showOnKeyDown",
109
+ "showOnKeyPress",
104
110
  "moveOnKeyPress",
105
111
  "autoComplete"
106
112
  ]);
@@ -115,7 +121,7 @@ var useCombobox = createHook(
115
121
  const canAutoSelectRef = useRef(false);
116
122
  const composingRef = useRef(false);
117
123
  const autoSelect = store.useState(
118
- (state) => !!autoSelectProp && state.virtualFocus
124
+ (state) => state.virtualFocus && autoSelectProp
119
125
  );
120
126
  const inline = autoComplete === "inline" || autoComplete === "both";
121
127
  const [canInline, setCanInline] = useState(inline);
@@ -234,16 +240,18 @@ var useCombobox = createHook(
234
240
  canAutoSelectRef.current = true;
235
241
  }, [storeValue]);
236
242
  useSafeLayoutEffect(() => {
237
- if (open)
243
+ if (autoSelect !== "always" && open)
238
244
  return;
239
- canAutoSelectRef.current = false;
240
- }, [open]);
245
+ canAutoSelectRef.current = open;
246
+ }, [autoSelect, open]);
241
247
  const resetValueOnSelect = store.useState("resetValueOnSelect");
242
248
  useUpdateEffect(() => {
243
249
  var _a2;
244
250
  const canAutoSelect = canAutoSelectRef.current;
245
251
  if (!store)
246
252
  return;
253
+ if (!open)
254
+ return;
247
255
  if ((!autoSelect || !canAutoSelect) && !resetValueOnSelect)
248
256
  return;
249
257
  const { baseElement, contentElement: contentElement2, activeId } = store.getState();
@@ -268,6 +276,7 @@ var useCombobox = createHook(
268
276
  return;
269
277
  }, [
270
278
  store,
279
+ open,
271
280
  valueUpdated,
272
281
  storeValue,
273
282
  autoSelect,
@@ -344,8 +353,11 @@ var useCombobox = createHook(
344
353
  forceValueUpdate();
345
354
  });
346
355
  const onMouseDownProp = props.onMouseDown;
356
+ const blurActiveItemOnClickProp = useBooleanEvent(
357
+ blurActiveItemOnClick != null ? blurActiveItemOnClick : () => !!(store == null ? void 0 : store.getState().includesBaseElement)
358
+ );
347
359
  const setValueOnClickProp = useBooleanEvent(setValueOnClick);
348
- const showOnMouseDownProp = useBooleanEvent(showOnMouseDown);
360
+ const showOnClickProp = useBooleanEvent(showOnClick);
349
361
  const onMouseDown = useEvent((event) => {
350
362
  onMouseDownProp == null ? void 0 : onMouseDownProp(event);
351
363
  if (event.defaultPrevented)
@@ -356,16 +368,18 @@ var useCombobox = createHook(
356
368
  return;
357
369
  if (!store)
358
370
  return;
359
- store.setActiveId(null);
371
+ if (blurActiveItemOnClickProp(event)) {
372
+ store.setActiveId(null);
373
+ }
360
374
  if (setValueOnClickProp(event)) {
361
375
  store.setValue(value);
362
376
  }
363
- if (showOnMouseDownProp(event)) {
377
+ if (showOnClickProp(event)) {
364
378
  queueBeforeEvent(event.currentTarget, "mouseup", store.show);
365
379
  }
366
380
  });
367
381
  const onKeyDownProp = props.onKeyDown;
368
- const showOnKeyDownProp = useBooleanEvent(showOnKeyDown);
382
+ const showOnKeyPressProp = useBooleanEvent(showOnKeyPress);
369
383
  const onKeyDown = useEvent((event) => {
370
384
  onKeyDownProp == null ? void 0 : onKeyDownProp(event);
371
385
  if (!event.repeat) {
@@ -389,7 +403,7 @@ var useCombobox = createHook(
389
403
  if (activeId !== null)
390
404
  return;
391
405
  if (event.key === "ArrowUp" || event.key === "ArrowDown") {
392
- if (showOnKeyDownProp(event)) {
406
+ if (showOnKeyPressProp(event)) {
393
407
  event.preventDefault();
394
408
  store.show();
395
409
  }
@@ -2,8 +2,8 @@
2
2
  import {
3
3
  Command,
4
4
  useCommand
5
- } from "../__chunks/ZF6ZK5BT.js";
6
- import "../__chunks/VA234QKF.js";
5
+ } from "../__chunks/KSZPJCUA.js";
6
+ import "../__chunks/WAZE6NXP.js";
7
7
  import "../__chunks/SHA3WOPI.js";
8
8
  import "../__chunks/5M6RSQEC.js";
9
9
  import "../__chunks/6O5OEQGF.js";
@@ -88,6 +88,7 @@ export interface CompositeHoverOptions<_T extends ElementType = TagName> extends
88
88
  * - [Submenu with
89
89
  * Combobox](https://ariakit.org/examples/menu-nested-combobox)
90
90
  * - [Combobox with tabs](https://ariakit.org/examples/combobox-tabs)
91
+ * - [Command Menu](https://ariakit.org/examples/dialog-combobox-command-menu)
91
92
  */
92
93
  blurOnHoverEnd?: BooleanOrCallback<ReactMouseEvent<HTMLElement>>;
93
94
  }
@@ -2,13 +2,13 @@
2
2
  import {
3
3
  CompositeItem,
4
4
  useCompositeItem
5
- } from "../__chunks/VVLSOSIG.js";
6
- import "../__chunks/ZF6ZK5BT.js";
5
+ } from "../__chunks/C6OBNQ4F.js";
6
+ import "../__chunks/KSZPJCUA.js";
7
7
  import "../__chunks/7YKLTEOQ.js";
8
8
  import "../__chunks/3IEDWLST.js";
9
9
  import "../__chunks/3D6OCOHF.js";
10
10
  import "../__chunks/MADQZZRL.js";
11
- import "../__chunks/VA234QKF.js";
11
+ import "../__chunks/WAZE6NXP.js";
12
12
  import "../__chunks/SHA3WOPI.js";
13
13
  import "../__chunks/5M6RSQEC.js";
14
14
  import "../__chunks/EKQEJRUF.js";
@@ -1,15 +1,15 @@
1
1
  "use client";
2
2
  import {
3
3
  usePopoverDisclosure
4
- } from "../__chunks/RZWNNUWF.js";
5
- import "../__chunks/NNMCIH2I.js";
6
- import "../__chunks/TNUQLYBS.js";
4
+ } from "../__chunks/Z72LDQLY.js";
5
+ import "../__chunks/5SF76VVA.js";
6
+ import "../__chunks/AFNONYRE.js";
7
7
  import "../__chunks/NLT7LY5Y.js";
8
- import "../__chunks/ID4VKXL5.js";
8
+ import "../__chunks/JJ3MV4KB.js";
9
9
  import {
10
10
  useCompositeItem
11
- } from "../__chunks/VVLSOSIG.js";
12
- import "../__chunks/ZF6ZK5BT.js";
11
+ } from "../__chunks/C6OBNQ4F.js";
12
+ import "../__chunks/KSZPJCUA.js";
13
13
  import "../__chunks/7YKLTEOQ.js";
14
14
  import "../__chunks/3IEDWLST.js";
15
15
  import "../__chunks/3D6OCOHF.js";
@@ -17,7 +17,7 @@ import "../__chunks/MADQZZRL.js";
17
17
  import "../__chunks/TE637IA7.js";
18
18
  import "../__chunks/XXVAHUAO.js";
19
19
  import "../__chunks/J55AVALY.js";
20
- import "../__chunks/VA234QKF.js";
20
+ import "../__chunks/WAZE6NXP.js";
21
21
  import "../__chunks/SHA3WOPI.js";
22
22
  import {
23
23
  createElement,
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import {
3
3
  usePopover
4
- } from "../__chunks/KMWSQ7OZ.js";
5
- import "../__chunks/SSK5L4K7.js";
6
- import "../__chunks/CJ6B7ETA.js";
4
+ } from "../__chunks/BYD75WXE.js";
5
+ import "../__chunks/KXSO5EFT.js";
6
+ import "../__chunks/3N4FFVWW.js";
7
7
  import "../__chunks/NOYDL3YS.js";
8
8
  import "../__chunks/BULCTPRV.js";
9
9
  import "../__chunks/6BJGLK2C.js";
@@ -24,11 +24,11 @@ import "../__chunks/WKWX2XLD.js";
24
24
  import "../__chunks/7452U3HH.js";
25
25
  import "../__chunks/XPF5GU3Q.js";
26
26
  import "../__chunks/CBTO7DFZ.js";
27
- import "../__chunks/SOGTNTQC.js";
27
+ import "../__chunks/RQZGFHI2.js";
28
28
  import "../__chunks/TE637IA7.js";
29
29
  import "../__chunks/XXVAHUAO.js";
30
30
  import "../__chunks/J55AVALY.js";
31
- import "../__chunks/VA234QKF.js";
31
+ import "../__chunks/WAZE6NXP.js";
32
32
  import "../__chunks/SHA3WOPI.js";
33
33
  import "../__chunks/IFT5JEUU.js";
34
34
  import {
@@ -2,11 +2,11 @@
2
2
  import {
3
3
  Composite,
4
4
  useComposite
5
- } from "../__chunks/6WQW7ZIA.js";
5
+ } from "../__chunks/FTNKYK65.js";
6
6
  import "../__chunks/3IEDWLST.js";
7
7
  import "../__chunks/3D6OCOHF.js";
8
8
  import "../__chunks/MADQZZRL.js";
9
- import "../__chunks/VA234QKF.js";
9
+ import "../__chunks/WAZE6NXP.js";
10
10
  import "../__chunks/SHA3WOPI.js";
11
11
  import "../__chunks/5M6RSQEC.js";
12
12
  import "../__chunks/6O5OEQGF.js";
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import {
3
3
  DialogBackdrop
4
- } from "../__chunks/CJ6B7ETA.js";
4
+ } from "../__chunks/3N4FFVWW.js";
5
5
  import "../__chunks/TL67WVI6.js";
6
6
  import "../__chunks/MKDDWKFK.js";
7
7
  import "../__chunks/72E5EPFF.js";
8
8
  import "../__chunks/X6WIMZJE.js";
9
9
  import "../__chunks/CBTO7DFZ.js";
10
- import "../__chunks/SOGTNTQC.js";
10
+ import "../__chunks/RQZGFHI2.js";
11
11
  import "../__chunks/XXVAHUAO.js";
12
12
  import "../__chunks/J55AVALY.js";
13
13
  import "../__chunks/5M6RSQEC.js";
@@ -2,13 +2,13 @@
2
2
  import {
3
3
  DialogDisclosure,
4
4
  useDialogDisclosure
5
- } from "../__chunks/NNMCIH2I.js";
6
- import "../__chunks/TNUQLYBS.js";
7
- import "../__chunks/ID4VKXL5.js";
8
- import "../__chunks/ZF6ZK5BT.js";
5
+ } from "../__chunks/5SF76VVA.js";
6
+ import "../__chunks/AFNONYRE.js";
7
+ import "../__chunks/JJ3MV4KB.js";
8
+ import "../__chunks/KSZPJCUA.js";
9
9
  import "../__chunks/XXVAHUAO.js";
10
10
  import "../__chunks/J55AVALY.js";
11
- import "../__chunks/VA234QKF.js";
11
+ import "../__chunks/WAZE6NXP.js";
12
12
  import "../__chunks/SHA3WOPI.js";
13
13
  import "../__chunks/5M6RSQEC.js";
14
14
  import "../__chunks/6O5OEQGF.js";
@@ -2,12 +2,12 @@
2
2
  import {
3
3
  DialogDismiss,
4
4
  useDialogDismiss
5
- } from "../__chunks/G77JJQ4O.js";
6
- import "../__chunks/ID4VKXL5.js";
7
- import "../__chunks/ZF6ZK5BT.js";
5
+ } from "../__chunks/5KB2YIDT.js";
6
+ import "../__chunks/JJ3MV4KB.js";
7
+ import "../__chunks/KSZPJCUA.js";
8
8
  import "../__chunks/XXVAHUAO.js";
9
9
  import "../__chunks/J55AVALY.js";
10
- import "../__chunks/VA234QKF.js";
10
+ import "../__chunks/WAZE6NXP.js";
11
11
  import "../__chunks/SHA3WOPI.js";
12
12
  import "../__chunks/5M6RSQEC.js";
13
13
  import "../__chunks/6O5OEQGF.js";
@@ -3,8 +3,8 @@ import {
3
3
  Dialog,
4
4
  createDialogComponent,
5
5
  useDialog
6
- } from "../__chunks/SSK5L4K7.js";
7
- import "../__chunks/CJ6B7ETA.js";
6
+ } from "../__chunks/KXSO5EFT.js";
7
+ import "../__chunks/3N4FFVWW.js";
8
8
  import "../__chunks/NOYDL3YS.js";
9
9
  import "../__chunks/BULCTPRV.js";
10
10
  import "../__chunks/6BJGLK2C.js";
@@ -25,10 +25,10 @@ import "../__chunks/WKWX2XLD.js";
25
25
  import "../__chunks/7452U3HH.js";
26
26
  import "../__chunks/XPF5GU3Q.js";
27
27
  import "../__chunks/CBTO7DFZ.js";
28
- import "../__chunks/SOGTNTQC.js";
28
+ import "../__chunks/RQZGFHI2.js";
29
29
  import "../__chunks/XXVAHUAO.js";
30
30
  import "../__chunks/J55AVALY.js";
31
- import "../__chunks/VA234QKF.js";
31
+ import "../__chunks/WAZE6NXP.js";
32
32
  import "../__chunks/SHA3WOPI.js";
33
33
  import "../__chunks/IFT5JEUU.js";
34
34
  import "../__chunks/5M6RSQEC.js";