@ariakit/react-core 0.1.2 → 0.1.4

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 (69) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/cjs/__chunks/{WPKIYKH6.cjs → 44M2NZSK.cjs} +6 -3
  3. package/cjs/__chunks/{CMHDB7LY.cjs → CP6M4POZ.cjs} +2 -2
  4. package/cjs/__chunks/{GEJXRZB4.cjs → FHUZG4VD.cjs} +48 -23
  5. package/cjs/__chunks/{XKBGBOWQ.cjs → MWKUZW4E.cjs} +2 -0
  6. package/cjs/__chunks/OKPDB2ZM.cjs +44 -0
  7. package/cjs/__chunks/{YAJKVIK2.cjs → TGXF67NL.cjs} +2 -2
  8. package/cjs/__chunks/{OSVJV44D.cjs → WLSIWMKQ.cjs} +2 -0
  9. package/cjs/__chunks/{KWHAB2F2.cjs → ZDO3DQPW.cjs} +1 -2
  10. package/cjs/combobox/combobox-popover.cjs +7 -8
  11. package/cjs/combobox/combobox.cjs +20 -8
  12. package/cjs/composite/composite-overflow.cjs +7 -8
  13. package/cjs/dialog/dialog.cjs +6 -7
  14. package/cjs/dialog/utils/disable-tree-outside.cjs +7 -0
  15. package/cjs/dialog/utils/disable-tree-outside.d.ts +3 -0
  16. package/cjs/dialog/utils/use-champion-dialog.cjs +2 -2
  17. package/cjs/dialog/utils/use-hide-on-interact-outside.cjs +2 -2
  18. package/cjs/dialog/utils/use-prevent-body-scroll.cjs +3 -3
  19. package/cjs/form/form-checkbox.cjs +2 -2
  20. package/cjs/hovercard/hovercard-anchor.cjs +2 -2
  21. package/cjs/hovercard/hovercard.cjs +8 -9
  22. package/cjs/menu/menu-button.cjs +2 -2
  23. package/cjs/menu/menu-item-checkbox.cjs +2 -2
  24. package/cjs/menu/menu.cjs +8 -9
  25. package/cjs/popover/popover.cjs +7 -8
  26. package/cjs/select/select-popover.cjs +7 -8
  27. package/cjs/tsconfig.build.tsbuildinfo +1 -1
  28. package/dialog/utils/disable-tree-outside/package.json +7 -0
  29. package/esm/__chunks/{4IVDKH63.js → 2WA5HZXQ.js} +2 -0
  30. package/esm/__chunks/{HLAXMBLL.js → ARIIJA3Z.js} +3 -1
  31. package/esm/__chunks/{ZVCQYVEV.js → FD7UP2TJ.js} +3 -4
  32. package/esm/__chunks/{JUUV3EHC.js → GEOALYS4.js} +1 -1
  33. package/esm/__chunks/{LFCJQX2O.js → GWYHKM6Q.js} +1 -1
  34. package/esm/__chunks/{Z3UAG7AM.js → IW7LFTQE.js} +5 -2
  35. package/esm/__chunks/{NO5K4U2Q.js → WWZPDI2E.js} +46 -21
  36. package/esm/__chunks/X3J57OQT.js +44 -0
  37. package/esm/combobox/combobox-popover.js +6 -7
  38. package/esm/combobox/combobox.js +20 -8
  39. package/esm/composite/composite-overflow.js +6 -7
  40. package/esm/dialog/dialog.js +5 -6
  41. package/esm/dialog/utils/disable-tree-outside.d.ts +3 -0
  42. package/esm/dialog/utils/disable-tree-outside.js +7 -0
  43. package/esm/dialog/utils/use-champion-dialog.js +1 -1
  44. package/esm/dialog/utils/use-hide-on-interact-outside.js +1 -1
  45. package/esm/dialog/utils/use-prevent-body-scroll.js +2 -2
  46. package/esm/form/form-checkbox.js +3 -3
  47. package/esm/hovercard/hovercard-anchor.js +1 -1
  48. package/esm/hovercard/hovercard.js +7 -8
  49. package/esm/menu/menu-button.js +1 -1
  50. package/esm/menu/menu-item-checkbox.js +3 -3
  51. package/esm/menu/menu.js +7 -8
  52. package/esm/popover/popover.js +6 -7
  53. package/esm/select/select-popover.js +6 -7
  54. package/esm/tsconfig.build.tsbuildinfo +1 -1
  55. package/package.json +5 -9
  56. package/cjs/__chunks/ORRE4SVW.cjs +0 -31
  57. package/cjs/__chunks/RDNP4FTV.cjs +0 -30
  58. package/cjs/dialog/utils/disable-pointer-events-outside.cjs +0 -7
  59. package/cjs/dialog/utils/disable-pointer-events-outside.d.ts +0 -3
  60. package/cjs/dialog/utils/use-focus-on-child-unmount.cjs +0 -6
  61. package/cjs/dialog/utils/use-focus-on-child-unmount.d.ts +0 -6
  62. package/dialog/utils/disable-pointer-events-outside/package.json +0 -7
  63. package/dialog/utils/use-focus-on-child-unmount/package.json +0 -7
  64. package/esm/__chunks/547F7FFZ.js +0 -30
  65. package/esm/__chunks/WO2RXMKK.js +0 -31
  66. package/esm/dialog/utils/disable-pointer-events-outside.d.ts +0 -3
  67. package/esm/dialog/utils/disable-pointer-events-outside.js +0 -7
  68. package/esm/dialog/utils/use-focus-on-child-unmount.d.ts +0 -6
  69. package/esm/dialog/utils/use-focus-on-child-unmount.js +0 -6
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # @ariakit/react-core
2
2
 
3
+ ## 0.1.4
4
+
5
+ ### Patch Changes
6
+
7
+ - Added support for the `inert` attribute on the `Dialog` component. If the browser supports `inert`, modal dialogs will now use it rather than focus trap regions. ([#2301](https://github.com/ariakit/ariakit/pull/2301))
8
+
9
+ - Fixed nested modal `Dialog` also closing the parent dialog when clicking outside. ([#2300](https://github.com/ariakit/ariakit/pull/2300))
10
+
11
+ - Fixed modal `Dialog` eventually losing focus to `document.body`. ([#2300](https://github.com/ariakit/ariakit/pull/2300))
12
+
13
+ - Fixed `Combobox` with `autoSelect` and `autoComplete` set to `both` or `inline` where the completion string would lose its selected state. ([#2308](https://github.com/ariakit/ariakit/pull/2308))
14
+
15
+ - Fixed `Combobox` not processing composition text (like chinese characters or accents). ([#2308](https://github.com/ariakit/ariakit/pull/2308))
16
+
17
+ ## 0.1.3
18
+
19
+ ### Patch Changes
20
+
21
+ - Fixed `Dialog` not returning focus when closed when rendered with `React.lazy`. ([#2290](https://github.com/ariakit/ariakit/pull/2290))
22
+
23
+ - Fixed `Hovercard` being shown on touch/tap on mobile devices. ([#2291](https://github.com/ariakit/ariakit/pull/2291))
24
+
25
+ - Fixed `Hovercard` not properly cleaning up the timeout to hide the card when
26
+ unmounted. ([#2289](https://github.com/ariakit/ariakit/pull/2289))
27
+
28
+ - Updated dependencies: `@ariakit/core@0.1.2`.
29
+
3
30
  ## 0.1.2
4
31
 
5
32
  ### Patch Changes
@@ -5,7 +5,7 @@
5
5
  var _OLGMV24Ucjs = require('./OLGMV24U.cjs');
6
6
 
7
7
 
8
- var _YAJKVIK2cjs = require('./YAJKVIK2.cjs');
8
+ var _TGXF67NLcjs = require('./TGXF67NL.cjs');
9
9
 
10
10
 
11
11
 
@@ -185,7 +185,10 @@ var useHovercard = _UYIFJ7U3cjs.createHook.call(void 0,
185
185
  store.hide();
186
186
  }, hideTimeout);
187
187
  };
188
- return _events.addGlobalEventListener.call(void 0, "mousemove", onMouseMove, true);
188
+ return _misc.chain.call(void 0,
189
+ _events.addGlobalEventListener.call(void 0, "mousemove", onMouseMove, true),
190
+ () => clearTimeout(hideTimeoutRef.current)
191
+ );
189
192
  }, [
190
193
  store,
191
194
  domReady,
@@ -265,7 +268,7 @@ var useHovercard = _UYIFJ7U3cjs.createHook.call(void 0,
265
268
  };
266
269
  props = useAutoFocusOnHide({ store, ...props });
267
270
  props = useAutoFocusOnShow({ store, modal, ...props });
268
- props = _YAJKVIK2cjs.usePopover.call(void 0, {
271
+ props = _TGXF67NLcjs.usePopover.call(void 0, {
269
272
  hideOnEscape,
270
273
  store,
271
274
  modal,
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _KWHAB2F2cjs = require('./KWHAB2F2.cjs');
3
+ var _ZDO3DQPWcjs = require('./ZDO3DQPW.cjs');
4
4
 
5
5
 
6
6
  var _5QY4WCTRcjs = require('./5QY4WCTR.cjs');
@@ -39,7 +39,7 @@ function getPaddingProperty(documentElement) {
39
39
  return scrollbarX ? "paddingLeft" : "paddingRight";
40
40
  }
41
41
  function usePreventBodyScroll(store, enabled) {
42
- const isChampionDialog = _KWHAB2F2cjs.useChampionDialog.call(void 0,
42
+ const isChampionDialog = _ZDO3DQPWcjs.useChampionDialog.call(void 0,
43
43
  "data-dialog-body-scroll",
44
44
  store,
45
45
  enabled
@@ -3,16 +3,13 @@
3
3
  var _2ZU7T6CDcjs = require('./2ZU7T6CD.cjs');
4
4
 
5
5
 
6
- var _XKBGBOWQcjs = require('./XKBGBOWQ.cjs');
7
-
8
-
9
- var _ORRE4SVWcjs = require('./ORRE4SVW.cjs');
6
+ var _MWKUZW4Ecjs = require('./MWKUZW4E.cjs');
10
7
 
11
8
 
12
9
  var _5EIZ4QQ7cjs = require('./5EIZ4QQ7.cjs');
13
10
 
14
11
 
15
- var _RDNP4FTVcjs = require('./RDNP4FTV.cjs');
12
+ var _OKPDB2ZMcjs = require('./OKPDB2ZM.cjs');
16
13
 
17
14
 
18
15
  var _XFVLDGPPcjs = require('./XFVLDGPP.cjs');
@@ -21,10 +18,10 @@ var _XFVLDGPPcjs = require('./XFVLDGPP.cjs');
21
18
  var _ZNVMDYMMcjs = require('./ZNVMDYMM.cjs');
22
19
 
23
20
 
24
- var _CMHDB7LYcjs = require('./CMHDB7LY.cjs');
21
+ var _CP6M4POZcjs = require('./CP6M4POZ.cjs');
25
22
 
26
23
 
27
- var _KWHAB2F2cjs = require('./KWHAB2F2.cjs');
24
+ var _ZDO3DQPWcjs = require('./ZDO3DQPW.cjs');
28
25
 
29
26
 
30
27
  var _T4TB3AAZcjs = require('./T4TB3AAZ.cjs');
@@ -142,7 +139,6 @@ var useDialog = _UYIFJ7U3cjs.createHook.call(void 0,
142
139
  (state) => preserveTabOrderProp && !modal && state.mounted
143
140
  );
144
141
  const open = store.useState("open");
145
- const openRef = _react.useRef.call(void 0, open);
146
142
  const shouldDisableAccessibilityTree = modal || portal && preserveTabOrder && _platform.isSafari.call(void 0, );
147
143
  const id = _5QY4WCTRcjs.useId.call(void 0, props.id);
148
144
  const contentElement = store.useState("contentElement");
@@ -165,14 +161,37 @@ var useDialog = _UYIFJ7U3cjs.createHook.call(void 0,
165
161
  const shouldPreventBodyScroll = store.useState(
166
162
  (state) => preventBodyScroll && state.mounted
167
163
  );
168
- _CMHDB7LYcjs.usePreventBodyScroll.call(void 0, store, shouldPreventBodyScroll);
169
- _ORRE4SVWcjs.useFocusOnChildUnmount.call(void 0, store);
170
- _XKBGBOWQcjs.useHideOnInteractOutside.call(void 0, {
164
+ _CP6M4POZcjs.usePreventBodyScroll.call(void 0, store, shouldPreventBodyScroll);
165
+ _MWKUZW4Ecjs.useHideOnInteractOutside.call(void 0, {
171
166
  store,
172
167
  modal,
173
168
  hideOnInteractOutside,
174
169
  nestedDialogs
175
170
  });
171
+ const shouldRestoreLostFocus = _ZDO3DQPWcjs.useChampionDialog.call(void 0,
172
+ "data-dialog-restore-lost-focus",
173
+ store,
174
+ open && modal && !openModals.length
175
+ );
176
+ _react.useEffect.call(void 0, () => {
177
+ if (!shouldRestoreLostFocus())
178
+ return;
179
+ let raf = 0;
180
+ const restoreLostFocus = () => {
181
+ const dialog = ref.current;
182
+ raf = requestAnimationFrame(restoreLostFocus);
183
+ if (!dialog)
184
+ return;
185
+ const doc = _dom.getDocument.call(void 0, dialog);
186
+ if (!doc.hasFocus())
187
+ return;
188
+ if (doc.activeElement !== doc.body)
189
+ return;
190
+ dialog.focus();
191
+ };
192
+ restoreLostFocus();
193
+ return () => cancelAnimationFrame(raf);
194
+ }, [shouldRestoreLostFocus]);
176
195
  const mounted = store.useState("mounted");
177
196
  if (isSafariBrowser) {
178
197
  _react.useEffect.call(void 0, () => {
@@ -218,7 +237,7 @@ var useDialog = _UYIFJ7U3cjs.createHook.call(void 0,
218
237
  return;
219
238
  return _5EIZ4QQ7cjs.prependHiddenDismiss.call(void 0, dialog, store.hide);
220
239
  }, [mounted, domReady, shouldDisableAccessibilityTree]);
221
- const shouldDisableOutside = _KWHAB2F2cjs.useChampionDialog.call(void 0,
240
+ const shouldDisableOutside = _ZDO3DQPWcjs.useChampionDialog.call(void 0,
222
241
  "data-dialog-disable-outside",
223
242
  store,
224
243
  open && !openModals.length && shouldDisableAccessibilityTree
@@ -230,13 +249,11 @@ var useDialog = _UYIFJ7U3cjs.createHook.call(void 0,
230
249
  if (modal) {
231
250
  return _misc.chain.call(void 0,
232
251
  _XFVLDGPPcjs.disableAccessibilityTreeOutside.call(void 0, element),
233
- // When the backdrop is not visible, we also need to disable pointer
234
- // events outside of the modal dialog.
235
- !backdrop ? _RDNP4FTVcjs.disablePointerEventsOutside.call(void 0, element) : null
252
+ _OKPDB2ZMcjs.disableTreeOutside.call(void 0, element)
236
253
  );
237
254
  }
238
255
  return _XFVLDGPPcjs.disableAccessibilityTreeOutside.call(void 0, element);
239
- }, [shouldDisableOutside, portal, portalNode, modal, backdrop]);
256
+ }, [shouldDisableOutside, portal, portalNode, modal]);
240
257
  const mayAutoFocusOnShow = !!autoFocusOnShow;
241
258
  const autoFocusOnShowProp = _5QY4WCTRcjs.useBooleanEvent.call(void 0, autoFocusOnShow);
242
259
  _react.useEffect.call(void 0, () => {
@@ -280,10 +297,15 @@ var useDialog = _UYIFJ7U3cjs.createHook.call(void 0,
280
297
  ]);
281
298
  const mayAutoFocusOnHide = !!autoFocusOnHide;
282
299
  const autoFocusOnHideProp = _5QY4WCTRcjs.useBooleanEvent.call(void 0, autoFocusOnHide);
300
+ const [hasOpened, setHasOpened] = _react.useState.call(void 0, false);
301
+ _react.useEffect.call(void 0, () => {
302
+ if (!open)
303
+ return;
304
+ setHasOpened(true);
305
+ return () => setHasOpened(false);
306
+ }, [open]);
283
307
  _5QY4WCTRcjs.useSafeLayoutEffect.call(void 0, () => {
284
- const prevOpen = openRef.current;
285
- openRef.current = open;
286
- if (!prevOpen)
308
+ if (!hasOpened)
287
309
  return;
288
310
  if (!mayAutoFocusOnHide)
289
311
  return;
@@ -324,7 +346,7 @@ var useDialog = _UYIFJ7U3cjs.createHook.call(void 0,
324
346
  return focusOnHide();
325
347
  }
326
348
  return focusOnHide;
327
- }, [open, mayAutoFocusOnHide, finalFocus, autoFocusOnHideProp]);
349
+ }, [hasOpened, open, mayAutoFocusOnHide, finalFocus, autoFocusOnHideProp]);
328
350
  const hideOnEscapeProp = _5QY4WCTRcjs.useBooleanEvent.call(void 0, hideOnEscape);
329
351
  _react.useEffect.call(void 0, () => {
330
352
  if (!domReady)
@@ -367,9 +389,12 @@ var useDialog = _UYIFJ7U3cjs.createHook.call(void 0,
367
389
  (element) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _SOPRUU56cjs.HeadingLevel, { level: modal ? 1 : void 0, children: element }),
368
390
  [modal]
369
391
  );
370
- const shouldFocusTrap = store.useState(
371
- (state) => modal && !openModals.length && state.open
372
- );
392
+ const [shouldFocusTrap, setShouldFocusTrap] = _react.useState.call(void 0, false);
393
+ const hasOpenModals = !!openModals.length;
394
+ _5QY4WCTRcjs.useSafeLayoutEffect.call(void 0, () => {
395
+ const value = open && modal && !hasOpenModals && !("inert" in HTMLElement.prototype);
396
+ setShouldFocusTrap(value);
397
+ }, [modal, open, hasOpenModals]);
373
398
  props = _ZNVMDYMMcjs.useFocusTrapRegion.call(void 0, { ...props, enabled: shouldFocusTrap });
374
399
  const hiddenProp = props.hidden;
375
400
  props = _5QY4WCTRcjs.useWrapElement.call(void 0,
@@ -115,6 +115,8 @@ function useHideOnInteractOutside({
115
115
  const previousMouseDown = previousMouseDownRef.current;
116
116
  if (!previousMouseDown)
117
117
  return;
118
+ if (!_dom.isVisible.call(void 0, previousMouseDown))
119
+ return;
118
120
  if (!shouldHideOnInteractOutside(hideOnInteractOutside, event)) {
119
121
  if (!modal)
120
122
  return;
@@ -0,0 +1,44 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _YHG3KGFWcjs = require('./YHG3KGFW.cjs');
4
+
5
+ // src/dialog/utils/disable-tree-outside.ts
6
+ var _misc = require('@ariakit/core/utils/misc');
7
+ function assignStyle(element, style) {
8
+ if (!element)
9
+ return () => {
10
+ };
11
+ const previousStyle = element.style.cssText;
12
+ Object.assign(element.style, style);
13
+ return () => {
14
+ element.style.cssText = previousStyle;
15
+ };
16
+ }
17
+ function disableElement(element) {
18
+ if (!("style" in element))
19
+ return _misc.noop;
20
+ const previousInert = element.inert;
21
+ element.inert = true;
22
+ return _misc.chain.call(void 0,
23
+ assignStyle(element, {
24
+ pointerEvents: "none",
25
+ userSelect: "none",
26
+ cursor: "default"
27
+ }),
28
+ () => element.inert = previousInert
29
+ );
30
+ }
31
+ function disableTreeOutside(...elements) {
32
+ const cleanups = [];
33
+ _YHG3KGFWcjs.walkTreeOutside.call(void 0, elements, (element) => {
34
+ cleanups.unshift(disableElement(element));
35
+ });
36
+ const restorePointerEvents = () => {
37
+ cleanups.forEach((fn) => fn());
38
+ };
39
+ return restorePointerEvents;
40
+ }
41
+
42
+
43
+
44
+ exports.disableTreeOutside = disableTreeOutside;
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _GEJXRZB4cjs = require('./GEJXRZB4.cjs');
3
+ var _FHUZG4VDcjs = require('./FHUZG4VD.cjs');
4
4
 
5
5
 
6
6
  var _W5PBA4D6cjs = require('./W5PBA4D6.cjs');
@@ -90,7 +90,7 @@ var usePopover = _UYIFJ7U3cjs.createHook.call(void 0,
90
90
  ...props.style
91
91
  }
92
92
  };
93
- props = _GEJXRZB4cjs.useDialog.call(void 0, {
93
+ props = _FHUZG4VDcjs.useDialog.call(void 0, {
94
94
  store,
95
95
  modal,
96
96
  preserveTabOrder,
@@ -53,6 +53,8 @@ var useHovercardAnchor = _UYIFJ7U3cjs.createHook.call(void 0,
53
53
  const { showTimeout } = store.getState();
54
54
  showTimeoutRef.current = window.setTimeout(() => {
55
55
  showTimeoutRef.current = 0;
56
+ if (!isMouseMoving())
57
+ return;
56
58
  store.show();
57
59
  }, showTimeout);
58
60
  }
@@ -1,6 +1,5 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
-
4
3
  var _5QY4WCTRcjs = require('./5QY4WCTR.cjs');
5
4
 
6
5
  // src/dialog/utils/use-champion-dialog.ts
@@ -19,7 +18,7 @@ function useChampionDialog(attribute, store, enabled) {
19
18
  const id = body.getAttribute(attribute);
20
19
  return !id || id === dialog.id;
21
20
  }, [updated, store, enabled, attribute]);
22
- _5QY4WCTRcjs.useSafeLayoutEffect.call(void 0, () => {
21
+ _react.useEffect.call(void 0, () => {
23
22
  const dialog = store.getState().contentElement;
24
23
  if (!dialog)
25
24
  return;
@@ -4,19 +4,18 @@ var _DARNBOHZcjs = require('../__chunks/DARNBOHZ.cjs');
4
4
  require('../__chunks/2WZVSPAI.cjs');
5
5
 
6
6
 
7
- var _YAJKVIK2cjs = require('../__chunks/YAJKVIK2.cjs');
8
- require('../__chunks/GEJXRZB4.cjs');
7
+ var _TGXF67NLcjs = require('../__chunks/TGXF67NL.cjs');
8
+ require('../__chunks/FHUZG4VD.cjs');
9
9
  require('../__chunks/2ZU7T6CD.cjs');
10
- require('../__chunks/XKBGBOWQ.cjs');
11
- require('../__chunks/ORRE4SVW.cjs');
10
+ require('../__chunks/MWKUZW4E.cjs');
12
11
  require('../__chunks/5EIZ4QQ7.cjs');
13
- require('../__chunks/RDNP4FTV.cjs');
12
+ require('../__chunks/OKPDB2ZM.cjs');
14
13
  require('../__chunks/XFVLDGPP.cjs');
15
14
  require('../__chunks/ZNVMDYMM.cjs');
16
15
  require('../__chunks/YHG3KGFW.cjs');
17
16
  require('../__chunks/X2GXTE3P.cjs');
18
- require('../__chunks/CMHDB7LY.cjs');
19
- require('../__chunks/KWHAB2F2.cjs');
17
+ require('../__chunks/CP6M4POZ.cjs');
18
+ require('../__chunks/ZDO3DQPW.cjs');
20
19
  require('../__chunks/T4TB3AAZ.cjs');
21
20
  require('../__chunks/SOPRUU56.cjs');
22
21
  require('../__chunks/CQSUIL2D.cjs');
@@ -53,7 +52,7 @@ var useComboboxPopover = _UYIFJ7U3cjs.createHook.call(void 0,
53
52
  ({ store, tabIndex, hideOnInteractOutside = true, ...props }) => {
54
53
  const baseElement = store.useState("baseElement");
55
54
  props = _DARNBOHZcjs.useComboboxList.call(void 0, { store, ...props });
56
- props = _YAJKVIK2cjs.usePopover.call(void 0, {
55
+ props = _TGXF67NLcjs.usePopover.call(void 0, {
57
56
  store,
58
57
  autoFocusOnShow: false,
59
58
  autoFocusOnHide: false,
@@ -66,6 +66,7 @@ var useCombobox = _UYIFJ7U3cjs.createHook.call(void 0,
66
66
  const ref = _react.useRef.call(void 0, null);
67
67
  const [valueUpdated, forceValueUpdate] = _5QY4WCTRcjs.useForceUpdate.call(void 0, );
68
68
  const valueChangedRef = _react.useRef.call(void 0, false);
69
+ const composingRef = _react.useRef.call(void 0, false);
69
70
  const autoSelect = store.useState(
70
71
  (state) => !!autoSelectProp && state.virtualFocus
71
72
  );
@@ -127,10 +128,12 @@ var useCombobox = _UYIFJ7U3cjs.createHook.call(void 0,
127
128
  return;
128
129
  if (!hasCompletionString(storeValue, activeValue))
129
130
  return;
130
- const element = ref.current;
131
- if (!element)
132
- return;
133
- element.setSelectionRange(storeValue.length, activeValue.length);
131
+ queueMicrotask(() => {
132
+ const element = ref.current;
133
+ if (!element)
134
+ return;
135
+ element.setSelectionRange(storeValue.length, activeValue.length);
136
+ });
134
137
  }, [
135
138
  valueUpdated,
136
139
  inline,
@@ -143,6 +146,8 @@ var useCombobox = _UYIFJ7U3cjs.createHook.call(void 0,
143
146
  _5QY4WCTRcjs.useSafeLayoutEffect.call(void 0, () => {
144
147
  if (!storeValue)
145
148
  return;
149
+ if (composingRef.current)
150
+ return;
146
151
  valueChangedRef.current = true;
147
152
  }, [storeValue]);
148
153
  _5QY4WCTRcjs.useSafeLayoutEffect.call(void 0, () => {
@@ -190,10 +195,16 @@ var useCombobox = _UYIFJ7U3cjs.createHook.call(void 0,
190
195
  const { target } = event;
191
196
  const nativeEvent = event.nativeEvent;
192
197
  valueChangedRef.current = true;
193
- if (isInputEvent(nativeEvent) && inline) {
194
- const textInserted = nativeEvent.inputType === "insertText";
195
- const caretAtEnd = target.selectionStart === target.value.length;
196
- setCanInline(textInserted && caretAtEnd);
198
+ if (isInputEvent(nativeEvent)) {
199
+ if (nativeEvent.isComposing) {
200
+ valueChangedRef.current = false;
201
+ composingRef.current = true;
202
+ }
203
+ if (inline) {
204
+ const textInserted = nativeEvent.inputType === "insertText" || nativeEvent.inputType === "insertCompositionText";
205
+ const caretAtEnd = target.selectionStart === target.value.length;
206
+ setCanInline(textInserted && caretAtEnd);
207
+ }
197
208
  }
198
209
  if (showOnChangeProp(event)) {
199
210
  store.show();
@@ -215,6 +226,7 @@ var useCombobox = _UYIFJ7U3cjs.createHook.call(void 0,
215
226
  if (event.defaultPrevented)
216
227
  return;
217
228
  valueChangedRef.current = true;
229
+ composingRef.current = false;
218
230
  if (!autoSelect)
219
231
  return;
220
232
  forceValueUpdate();
@@ -1,18 +1,17 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _YAJKVIK2cjs = require('../__chunks/YAJKVIK2.cjs');
4
- require('../__chunks/GEJXRZB4.cjs');
3
+ var _TGXF67NLcjs = require('../__chunks/TGXF67NL.cjs');
4
+ require('../__chunks/FHUZG4VD.cjs');
5
5
  require('../__chunks/2ZU7T6CD.cjs');
6
- require('../__chunks/XKBGBOWQ.cjs');
7
- require('../__chunks/ORRE4SVW.cjs');
6
+ require('../__chunks/MWKUZW4E.cjs');
8
7
  require('../__chunks/5EIZ4QQ7.cjs');
9
- require('../__chunks/RDNP4FTV.cjs');
8
+ require('../__chunks/OKPDB2ZM.cjs');
10
9
  require('../__chunks/XFVLDGPP.cjs');
11
10
  require('../__chunks/ZNVMDYMM.cjs');
12
11
  require('../__chunks/YHG3KGFW.cjs');
13
12
  require('../__chunks/X2GXTE3P.cjs');
14
- require('../__chunks/CMHDB7LY.cjs');
15
- require('../__chunks/KWHAB2F2.cjs');
13
+ require('../__chunks/CP6M4POZ.cjs');
14
+ require('../__chunks/ZDO3DQPW.cjs');
16
15
  require('../__chunks/T4TB3AAZ.cjs');
17
16
  require('../__chunks/SOPRUU56.cjs');
18
17
  require('../__chunks/CQSUIL2D.cjs');
@@ -72,7 +71,7 @@ var useCompositeOverflow = _UYIFJ7U3cjs.createHook.call(void 0,
72
71
  ...props,
73
72
  onFocus
74
73
  };
75
- props = _YAJKVIK2cjs.usePopover.call(void 0, {
74
+ props = _TGXF67NLcjs.usePopover.call(void 0, {
76
75
  store,
77
76
  backdropProps,
78
77
  wrapperProps,
@@ -1,18 +1,17 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _GEJXRZB4cjs = require('../__chunks/GEJXRZB4.cjs');
4
+ var _FHUZG4VDcjs = require('../__chunks/FHUZG4VD.cjs');
5
5
  require('../__chunks/2ZU7T6CD.cjs');
6
- require('../__chunks/XKBGBOWQ.cjs');
7
- require('../__chunks/ORRE4SVW.cjs');
6
+ require('../__chunks/MWKUZW4E.cjs');
8
7
  require('../__chunks/5EIZ4QQ7.cjs');
9
- require('../__chunks/RDNP4FTV.cjs');
8
+ require('../__chunks/OKPDB2ZM.cjs');
10
9
  require('../__chunks/XFVLDGPP.cjs');
11
10
  require('../__chunks/ZNVMDYMM.cjs');
12
11
  require('../__chunks/YHG3KGFW.cjs');
13
12
  require('../__chunks/X2GXTE3P.cjs');
14
- require('../__chunks/CMHDB7LY.cjs');
15
- require('../__chunks/KWHAB2F2.cjs');
13
+ require('../__chunks/CP6M4POZ.cjs');
14
+ require('../__chunks/ZDO3DQPW.cjs');
16
15
  require('../__chunks/T4TB3AAZ.cjs');
17
16
  require('../__chunks/SOPRUU56.cjs');
18
17
  require('../__chunks/CQSUIL2D.cjs');
@@ -29,4 +28,4 @@ require('../__chunks/2X5K3J7Y.cjs');
29
28
 
30
29
 
31
30
 
32
- exports.Dialog = _GEJXRZB4cjs.Dialog; exports.useDialog = _GEJXRZB4cjs.useDialog;
31
+ exports.Dialog = _FHUZG4VDcjs.Dialog; exports.useDialog = _FHUZG4VDcjs.useDialog;
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _OKPDB2ZMcjs = require('../../__chunks/OKPDB2ZM.cjs');
4
+ require('../../__chunks/YHG3KGFW.cjs');
5
+
6
+
7
+ exports.disableTreeOutside = _OKPDB2ZMcjs.disableTreeOutside;
@@ -0,0 +1,3 @@
1
+ type Elements = Array<Element | null>;
2
+ export declare function disableTreeOutside(...elements: Elements): () => void;
3
+ export {};
@@ -1,8 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _KWHAB2F2cjs = require('../../__chunks/KWHAB2F2.cjs');
3
+ var _ZDO3DQPWcjs = require('../../__chunks/ZDO3DQPW.cjs');
4
4
  require('../../__chunks/5QY4WCTR.cjs');
5
5
  require('../../__chunks/2X5K3J7Y.cjs');
6
6
 
7
7
 
8
- exports.useChampionDialog = _KWHAB2F2cjs.useChampionDialog;
8
+ exports.useChampionDialog = _ZDO3DQPWcjs.useChampionDialog;
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _XKBGBOWQcjs = require('../../__chunks/XKBGBOWQ.cjs');
3
+ var _MWKUZW4Ecjs = require('../../__chunks/MWKUZW4E.cjs');
4
4
  require('../../__chunks/X2GXTE3P.cjs');
5
5
  require('../../__chunks/5QY4WCTR.cjs');
6
6
  require('../../__chunks/2X5K3J7Y.cjs');
7
7
 
8
8
 
9
- exports.useHideOnInteractOutside = _XKBGBOWQcjs.useHideOnInteractOutside;
9
+ exports.useHideOnInteractOutside = _MWKUZW4Ecjs.useHideOnInteractOutside;
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _CMHDB7LYcjs = require('../../__chunks/CMHDB7LY.cjs');
4
- require('../../__chunks/KWHAB2F2.cjs');
3
+ var _CP6M4POZcjs = require('../../__chunks/CP6M4POZ.cjs');
4
+ require('../../__chunks/ZDO3DQPW.cjs');
5
5
  require('../../__chunks/5QY4WCTR.cjs');
6
6
  require('../../__chunks/2X5K3J7Y.cjs');
7
7
 
8
8
 
9
- exports.usePreventBodyScroll = _CMHDB7LYcjs.usePreventBodyScroll;
9
+ exports.usePreventBodyScroll = _CP6M4POZcjs.usePreventBodyScroll;
@@ -6,10 +6,10 @@ var _QRBTWQPIcjs = require('../__chunks/QRBTWQPI.cjs');
6
6
  var _OTRABJ4Ycjs = require('../__chunks/OTRABJ4Y.cjs');
7
7
 
8
8
 
9
- var _NYVIJAIXcjs = require('../__chunks/NYVIJAIX.cjs');
9
+ var _NJHMO3XKcjs = require('../__chunks/NJHMO3XK.cjs');
10
10
 
11
11
 
12
- var _NJHMO3XKcjs = require('../__chunks/NJHMO3XK.cjs');
12
+ var _NYVIJAIXcjs = require('../__chunks/NYVIJAIX.cjs');
13
13
  require('../__chunks/FO6MB5HF.cjs');
14
14
  require('../__chunks/EWCMH6G3.cjs');
15
15
  require('../__chunks/3QEUUQVB.cjs');
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _OSVJV44Dcjs = require('../__chunks/OSVJV44D.cjs');
4
+ var _WLSIWMKQcjs = require('../__chunks/WLSIWMKQ.cjs');
5
5
  require('../__chunks/44UMDBZE.cjs');
6
6
  require('../__chunks/UYIFJ7U3.cjs');
7
7
  require('../__chunks/5QY4WCTR.cjs');
@@ -9,4 +9,4 @@ require('../__chunks/2X5K3J7Y.cjs');
9
9
 
10
10
 
11
11
 
12
- exports.HovercardAnchor = _OSVJV44Dcjs.HovercardAnchor; exports.useHovercardAnchor = _OSVJV44Dcjs.useHovercardAnchor;
12
+ exports.HovercardAnchor = _WLSIWMKQcjs.HovercardAnchor; exports.useHovercardAnchor = _WLSIWMKQcjs.useHovercardAnchor;
@@ -1,21 +1,20 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _WPKIYKH6cjs = require('../__chunks/WPKIYKH6.cjs');
4
+ var _44M2NZSKcjs = require('../__chunks/44M2NZSK.cjs');
5
5
  require('../__chunks/OLGMV24U.cjs');
6
- require('../__chunks/YAJKVIK2.cjs');
7
- require('../__chunks/GEJXRZB4.cjs');
6
+ require('../__chunks/TGXF67NL.cjs');
7
+ require('../__chunks/FHUZG4VD.cjs');
8
8
  require('../__chunks/2ZU7T6CD.cjs');
9
- require('../__chunks/XKBGBOWQ.cjs');
10
- require('../__chunks/ORRE4SVW.cjs');
9
+ require('../__chunks/MWKUZW4E.cjs');
11
10
  require('../__chunks/5EIZ4QQ7.cjs');
12
- require('../__chunks/RDNP4FTV.cjs');
11
+ require('../__chunks/OKPDB2ZM.cjs');
13
12
  require('../__chunks/XFVLDGPP.cjs');
14
13
  require('../__chunks/ZNVMDYMM.cjs');
15
14
  require('../__chunks/YHG3KGFW.cjs');
16
15
  require('../__chunks/X2GXTE3P.cjs');
17
- require('../__chunks/CMHDB7LY.cjs');
18
- require('../__chunks/KWHAB2F2.cjs');
16
+ require('../__chunks/CP6M4POZ.cjs');
17
+ require('../__chunks/ZDO3DQPW.cjs');
19
18
  require('../__chunks/T4TB3AAZ.cjs');
20
19
  require('../__chunks/SOPRUU56.cjs');
21
20
  require('../__chunks/CQSUIL2D.cjs');
@@ -33,4 +32,4 @@ require('../__chunks/2X5K3J7Y.cjs');
33
32
 
34
33
 
35
34
 
36
- exports.Hovercard = _WPKIYKH6cjs.Hovercard; exports.useHovercard = _WPKIYKH6cjs.useHovercard;
35
+ exports.Hovercard = _44M2NZSKcjs.Hovercard; exports.useHovercard = _44M2NZSKcjs.useHovercard;
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _OSVJV44Dcjs = require('../__chunks/OSVJV44D.cjs');
3
+ var _WLSIWMKQcjs = require('../__chunks/WLSIWMKQ.cjs');
4
4
 
5
5
 
6
6
 
@@ -131,7 +131,7 @@ var useMenuButton = _UYIFJ7U3cjs.createHook.call(void 0,
131
131
  onKeyDown,
132
132
  onClick
133
133
  };
134
- props = _OSVJV44Dcjs.useHovercardAnchor.call(void 0, {
134
+ props = _WLSIWMKQcjs.useHovercardAnchor.call(void 0, {
135
135
  store,
136
136
  focusable,
137
137
  accessibleWhenDisabled,
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _NYVIJAIXcjs = require('../__chunks/NYVIJAIX.cjs');
3
+ var _NJHMO3XKcjs = require('../__chunks/NJHMO3XK.cjs');
4
4
 
5
5
 
6
- var _NJHMO3XKcjs = require('../__chunks/NJHMO3XK.cjs');
6
+ var _NYVIJAIXcjs = require('../__chunks/NYVIJAIX.cjs');
7
7
 
8
8
 
9
9
  var _KIZFPB5Rcjs = require('../__chunks/KIZFPB5R.cjs');