@ariakit/core 0.4.11 → 0.4.13

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 (76) hide show
  1. package/CHANGELOG.md +15 -1
  2. package/cjs/__chunks/{WCFMOJKV.cjs → 726BNPQZ.cjs} +36 -2
  3. package/cjs/__chunks/{BSLRW6E7.cjs → ASR6PAFN.cjs} +1 -1
  4. package/cjs/__chunks/{G2NIRMCL.cjs → BUEPUCQL.cjs} +14 -42
  5. package/cjs/__chunks/{C5P5S22J.cjs → BVPEDDW6.cjs} +7 -7
  6. package/cjs/__chunks/{W3GMUKTU.cjs → K7YTZVWC.cjs} +12 -7
  7. package/cjs/__chunks/{LSC6QXJ7.cjs → RL7DKHOF.cjs} +4 -4
  8. package/cjs/__chunks/{LLZO7SOB.cjs → TFI7KVZO.cjs} +4 -4
  9. package/cjs/__chunks/{G2MFLTB2.cjs → V4YF2QA6.cjs} +11 -11
  10. package/cjs/__chunks/{TEPPO3KC.cjs → WOLZY4WC.cjs} +6 -6
  11. package/cjs/__chunks/{I2G6EN27.cjs → YMCSKJHR.cjs} +2 -2
  12. package/cjs/checkbox/checkbox-store.cjs +3 -3
  13. package/cjs/collection/collection-store.cjs +4 -4
  14. package/cjs/combobox/combobox-store.cjs +27 -27
  15. package/cjs/composite/composite-overflow-store.cjs +5 -5
  16. package/cjs/composite/composite-store.cjs +5 -5
  17. package/cjs/composite/composite-store.d.cts +7 -1
  18. package/cjs/composite/composite-store.d.ts +7 -1
  19. package/cjs/dialog/dialog-store.cjs +4 -4
  20. package/cjs/disclosure/disclosure-store.cjs +3 -3
  21. package/cjs/form/form-store.cjs +8 -8
  22. package/cjs/hovercard/hovercard-store.cjs +6 -6
  23. package/cjs/menu/menu-bar-store.cjs +6 -6
  24. package/cjs/menu/menu-store.cjs +19 -19
  25. package/cjs/menubar/menubar-store.cjs +6 -6
  26. package/cjs/popover/popover-store.cjs +5 -5
  27. package/cjs/radio/radio-store.cjs +6 -6
  28. package/cjs/select/select-store.cjs +21 -21
  29. package/cjs/tab/tab-store.cjs +24 -24
  30. package/cjs/tag/tag-store.cjs +8 -8
  31. package/cjs/toolbar/toolbar-store.cjs +5 -5
  32. package/cjs/tooltip/tooltip-store.cjs +7 -7
  33. package/cjs/utils/dom.cjs +4 -2
  34. package/cjs/utils/dom.d.cts +6 -2
  35. package/cjs/utils/dom.d.ts +6 -2
  36. package/cjs/utils/events.cjs +7 -7
  37. package/cjs/utils/focus.cjs +10 -10
  38. package/cjs/utils/platform.cjs +3 -3
  39. package/cjs/utils/store.cjs +2 -2
  40. package/esm/__chunks/{YKFX5MNB.js → 7HRRFUKQ.js} +2 -2
  41. package/esm/__chunks/{7IJEP35G.js → AJZ4BYF3.js} +8 -3
  42. package/esm/__chunks/{EQQLU3CG.js → BCALMBPZ.js} +1 -1
  43. package/esm/__chunks/{7DTP4AQO.js → CYQWQL4J.js} +6 -34
  44. package/esm/__chunks/{PQP5VPTV.js → DTR5TSDJ.js} +36 -2
  45. package/esm/__chunks/{YOHCVXJB.js → FZZ2AVHF.js} +1 -1
  46. package/esm/__chunks/{EACLTACN.js → JTLIIJ4U.js} +2 -2
  47. package/esm/__chunks/{3UYWTADI.js → ME2CUF3F.js} +2 -2
  48. package/esm/__chunks/{3VBK76MS.js → QAGXQEUG.js} +1 -1
  49. package/esm/__chunks/{6E4KKOSB.js → RCQ5P4YE.js} +1 -1
  50. package/esm/checkbox/checkbox-store.js +1 -1
  51. package/esm/collection/collection-store.js +3 -3
  52. package/esm/combobox/combobox-store.js +8 -8
  53. package/esm/composite/composite-overflow-store.js +4 -4
  54. package/esm/composite/composite-store.d.ts +7 -1
  55. package/esm/composite/composite-store.js +4 -4
  56. package/esm/dialog/dialog-store.js +3 -3
  57. package/esm/disclosure/disclosure-store.js +2 -2
  58. package/esm/form/form-store.js +3 -3
  59. package/esm/hovercard/hovercard-store.js +5 -5
  60. package/esm/menu/menu-bar-store.js +5 -5
  61. package/esm/menu/menu-store.js +8 -8
  62. package/esm/menubar/menubar-store.js +5 -5
  63. package/esm/popover/popover-store.js +4 -4
  64. package/esm/radio/radio-store.js +4 -4
  65. package/esm/select/select-store.js +7 -7
  66. package/esm/tab/tab-store.js +4 -4
  67. package/esm/tag/tag-store.js +4 -4
  68. package/esm/toolbar/toolbar-store.js +4 -4
  69. package/esm/tooltip/tooltip-store.js +5 -5
  70. package/esm/utils/dom.d.ts +6 -2
  71. package/esm/utils/dom.js +5 -3
  72. package/esm/utils/events.js +4 -4
  73. package/esm/utils/focus.js +1 -1
  74. package/esm/utils/platform.js +2 -2
  75. package/esm/utils/store.js +1 -1
  76. package/package.json +1 -1
@@ -7,9 +7,13 @@ function checkIsBrowser() {
7
7
  return typeof window !== "undefined" && !!((_a = window.document) == null ? void 0 : _a.createElement);
8
8
  }
9
9
  function getDocument(node) {
10
- return node ? node.ownerDocument || node : document;
10
+ if (!node) return document;
11
+ if ("self" in node) return node.document;
12
+ return node.ownerDocument || document;
11
13
  }
12
14
  function getWindow(node) {
15
+ if (!node) return self;
16
+ if ("self" in node) return node.self;
13
17
  return getDocument(node).defaultView || window;
14
18
  }
15
19
  function getActiveElement(node, activeDescendant = false) {
@@ -168,6 +172,35 @@ function setSelectionRange(element, ...args) {
168
172
  element.setSelectionRange(...args);
169
173
  }
170
174
  }
175
+ function sortBasedOnDOMPosition(items, getElement) {
176
+ const pairs = items.map((item, index) => [index, item]);
177
+ let isOrderDifferent = false;
178
+ pairs.sort(([indexA, a], [indexB, b]) => {
179
+ const elementA = getElement(a);
180
+ const elementB = getElement(b);
181
+ if (elementA === elementB) return 0;
182
+ if (!elementA || !elementB) return 0;
183
+ if (isElementPreceding(elementA, elementB)) {
184
+ if (indexA > indexB) {
185
+ isOrderDifferent = true;
186
+ }
187
+ return -1;
188
+ }
189
+ if (indexA < indexB) {
190
+ isOrderDifferent = true;
191
+ }
192
+ return 1;
193
+ });
194
+ if (isOrderDifferent) {
195
+ return pairs.map(([_, item]) => item);
196
+ }
197
+ return items;
198
+ }
199
+ function isElementPreceding(a, b) {
200
+ return Boolean(
201
+ b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING
202
+ );
203
+ }
171
204
 
172
205
  export {
173
206
  canUseDOM,
@@ -187,5 +220,6 @@ export {
187
220
  scrollIntoViewIfNeeded,
188
221
  getScrollingElement,
189
222
  isPartiallyHidden,
190
- setSelectionRange
223
+ setSelectionRange,
224
+ sortBasedOnDOMPosition
191
225
  };
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  createDisclosureStore
4
- } from "./6E4KKOSB.js";
4
+ } from "./RCQ5P4YE.js";
5
5
 
6
6
  // src/dialog/dialog-store.ts
7
7
  function createDialogStore(props = {}) {
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import {
3
3
  createPopoverStore
4
- } from "./3UYWTADI.js";
4
+ } from "./ME2CUF3F.js";
5
5
  import {
6
6
  createStore
7
- } from "./EQQLU3CG.js";
7
+ } from "./BCALMBPZ.js";
8
8
  import {
9
9
  defaultValue
10
10
  } from "./PBFD2E7P.js";
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import {
3
3
  createDialogStore
4
- } from "./YOHCVXJB.js";
4
+ } from "./FZZ2AVHF.js";
5
5
  import {
6
6
  createStore,
7
7
  mergeStore,
8
8
  omit,
9
9
  throwOnConflictingProps
10
- } from "./EQQLU3CG.js";
10
+ } from "./BCALMBPZ.js";
11
11
  import {
12
12
  defaultValue
13
13
  } from "./PBFD2E7P.js";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  canUseDOM
4
- } from "./PQP5VPTV.js";
4
+ } from "./DTR5TSDJ.js";
5
5
 
6
6
  // src/utils/platform.ts
7
7
  function isTouchDevice() {
@@ -7,7 +7,7 @@ import {
7
7
  subscribe,
8
8
  sync,
9
9
  throwOnConflictingProps
10
- } from "./EQQLU3CG.js";
10
+ } from "./BCALMBPZ.js";
11
11
  import {
12
12
  defaultValue
13
13
  } from "./PBFD2E7P.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  createStore,
4
4
  throwOnConflictingProps
5
- } from "../__chunks/EQQLU3CG.js";
5
+ } from "../__chunks/BCALMBPZ.js";
6
6
  import {
7
7
  defaultValue
8
8
  } from "../__chunks/PBFD2E7P.js";
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import {
3
3
  createCollectionStore
4
- } from "../__chunks/7DTP4AQO.js";
5
- import "../__chunks/EQQLU3CG.js";
4
+ } from "../__chunks/CYQWQL4J.js";
5
+ import "../__chunks/BCALMBPZ.js";
6
6
  import "../__chunks/PBFD2E7P.js";
7
- import "../__chunks/PQP5VPTV.js";
7
+ import "../__chunks/DTR5TSDJ.js";
8
8
  import "../__chunks/3YLGPPWQ.js";
9
9
  export {
10
10
  createCollectionStore
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
  import {
3
3
  createCompositeStore
4
- } from "../__chunks/7IJEP35G.js";
5
- import "../__chunks/7DTP4AQO.js";
4
+ } from "../__chunks/AJZ4BYF3.js";
5
+ import "../__chunks/CYQWQL4J.js";
6
6
  import "../__chunks/7PRQYBBV.js";
7
7
  import {
8
8
  createPopoverStore
9
- } from "../__chunks/3UYWTADI.js";
10
- import "../__chunks/YOHCVXJB.js";
11
- import "../__chunks/6E4KKOSB.js";
9
+ } from "../__chunks/ME2CUF3F.js";
10
+ import "../__chunks/FZZ2AVHF.js";
11
+ import "../__chunks/RCQ5P4YE.js";
12
12
  import {
13
13
  batch,
14
14
  createStore,
@@ -17,7 +17,7 @@ import {
17
17
  setup,
18
18
  sync,
19
19
  throwOnConflictingProps
20
- } from "../__chunks/EQQLU3CG.js";
20
+ } from "../__chunks/BCALMBPZ.js";
21
21
  import {
22
22
  chain,
23
23
  defaultValue
@@ -25,8 +25,8 @@ import {
25
25
  import {
26
26
  isSafari,
27
27
  isTouchDevice
28
- } from "../__chunks/3VBK76MS.js";
29
- import "../__chunks/PQP5VPTV.js";
28
+ } from "../__chunks/QAGXQEUG.js";
29
+ import "../__chunks/DTR5TSDJ.js";
30
30
  import {
31
31
  __objRest,
32
32
  __spreadProps,
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import {
3
3
  createPopoverStore
4
- } from "../__chunks/3UYWTADI.js";
5
- import "../__chunks/YOHCVXJB.js";
6
- import "../__chunks/6E4KKOSB.js";
7
- import "../__chunks/EQQLU3CG.js";
4
+ } from "../__chunks/ME2CUF3F.js";
5
+ import "../__chunks/FZZ2AVHF.js";
6
+ import "../__chunks/RCQ5P4YE.js";
7
+ import "../__chunks/BCALMBPZ.js";
8
8
  import "../__chunks/PBFD2E7P.js";
9
9
  import "../__chunks/3YLGPPWQ.js";
10
10
 
@@ -31,6 +31,12 @@ export interface CompositeStoreItem extends CollectionStoreItem {
31
31
  children?: string;
32
32
  }
33
33
  export interface CompositeStoreState<T extends CompositeStoreItem = CompositeStoreItem> extends CollectionStoreState<T> {
34
+ /**
35
+ * The ID of the composite store is used to reference elements within the
36
+ * composite widget before hydration. If not provided, a random ID will be
37
+ * generated.
38
+ */
39
+ id: string;
34
40
  /**
35
41
  * The composite element itself. Typically, it's the wrapper element that
36
42
  * contains composite items. However, in a combobox, it's the input element.
@@ -289,7 +295,7 @@ export interface CompositeStoreFunctions<T extends CompositeStoreItem = Composit
289
295
  */
290
296
  last: () => string | null | undefined;
291
297
  }
292
- export interface CompositeStoreOptions<T extends CompositeStoreItem = CompositeStoreItem> extends CollectionStoreOptions<T>, StoreOptions<CompositeStoreState<T>, "virtualFocus" | "orientation" | "rtl" | "focusLoop" | "focusWrap" | "focusShift" | "includesBaseElement" | "activeId"> {
298
+ export interface CompositeStoreOptions<T extends CompositeStoreItem = CompositeStoreItem> extends CollectionStoreOptions<T>, StoreOptions<CompositeStoreState<T>, "id" | "virtualFocus" | "orientation" | "rtl" | "focusLoop" | "focusWrap" | "focusShift" | "includesBaseElement" | "activeId"> {
293
299
  /**
294
300
  * The composite item id that should be active by default when the composite
295
301
  * widget is rendered. If `null`, the composite element itself will have focus
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
  import {
3
3
  createCompositeStore
4
- } from "../__chunks/7IJEP35G.js";
5
- import "../__chunks/7DTP4AQO.js";
4
+ } from "../__chunks/AJZ4BYF3.js";
5
+ import "../__chunks/CYQWQL4J.js";
6
6
  import "../__chunks/7PRQYBBV.js";
7
- import "../__chunks/EQQLU3CG.js";
7
+ import "../__chunks/BCALMBPZ.js";
8
8
  import "../__chunks/PBFD2E7P.js";
9
- import "../__chunks/PQP5VPTV.js";
9
+ import "../__chunks/DTR5TSDJ.js";
10
10
  import "../__chunks/3YLGPPWQ.js";
11
11
  export {
12
12
  createCompositeStore
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import {
3
3
  createDialogStore
4
- } from "../__chunks/YOHCVXJB.js";
5
- import "../__chunks/6E4KKOSB.js";
6
- import "../__chunks/EQQLU3CG.js";
4
+ } from "../__chunks/FZZ2AVHF.js";
5
+ import "../__chunks/RCQ5P4YE.js";
6
+ import "../__chunks/BCALMBPZ.js";
7
7
  import "../__chunks/PBFD2E7P.js";
8
8
  import "../__chunks/3YLGPPWQ.js";
9
9
  export {
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import {
3
3
  createDisclosureStore
4
- } from "../__chunks/6E4KKOSB.js";
5
- import "../__chunks/EQQLU3CG.js";
4
+ } from "../__chunks/RCQ5P4YE.js";
5
+ import "../__chunks/BCALMBPZ.js";
6
6
  import "../__chunks/PBFD2E7P.js";
7
7
  import "../__chunks/3YLGPPWQ.js";
8
8
  export {
@@ -1,20 +1,20 @@
1
1
  "use client";
2
2
  import {
3
3
  createCollectionStore
4
- } from "../__chunks/7DTP4AQO.js";
4
+ } from "../__chunks/CYQWQL4J.js";
5
5
  import {
6
6
  createStore,
7
7
  init,
8
8
  setup,
9
9
  throwOnConflictingProps
10
- } from "../__chunks/EQQLU3CG.js";
10
+ } from "../__chunks/BCALMBPZ.js";
11
11
  import {
12
12
  applyState,
13
13
  defaultValue,
14
14
  isInteger,
15
15
  isObject
16
16
  } from "../__chunks/PBFD2E7P.js";
17
- import "../__chunks/PQP5VPTV.js";
17
+ import "../__chunks/DTR5TSDJ.js";
18
18
  import {
19
19
  __spreadProps,
20
20
  __spreadValues
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
  import {
3
3
  createHovercardStore
4
- } from "../__chunks/EACLTACN.js";
5
- import "../__chunks/3UYWTADI.js";
6
- import "../__chunks/YOHCVXJB.js";
7
- import "../__chunks/6E4KKOSB.js";
8
- import "../__chunks/EQQLU3CG.js";
4
+ } from "../__chunks/JTLIIJ4U.js";
5
+ import "../__chunks/ME2CUF3F.js";
6
+ import "../__chunks/FZZ2AVHF.js";
7
+ import "../__chunks/RCQ5P4YE.js";
8
+ import "../__chunks/BCALMBPZ.js";
9
9
  import "../__chunks/PBFD2E7P.js";
10
10
  import "../__chunks/3YLGPPWQ.js";
11
11
  export {
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import {
3
3
  createMenubarStore
4
- } from "../__chunks/YKFX5MNB.js";
5
- import "../__chunks/7IJEP35G.js";
6
- import "../__chunks/7DTP4AQO.js";
4
+ } from "../__chunks/7HRRFUKQ.js";
5
+ import "../__chunks/AJZ4BYF3.js";
6
+ import "../__chunks/CYQWQL4J.js";
7
7
  import "../__chunks/7PRQYBBV.js";
8
- import "../__chunks/EQQLU3CG.js";
8
+ import "../__chunks/BCALMBPZ.js";
9
9
  import "../__chunks/PBFD2E7P.js";
10
- import "../__chunks/PQP5VPTV.js";
10
+ import "../__chunks/DTR5TSDJ.js";
11
11
  import "../__chunks/3YLGPPWQ.js";
12
12
 
13
13
  // src/menu/menu-bar-store.ts
@@ -1,15 +1,15 @@
1
1
  "use client";
2
2
  import {
3
3
  createHovercardStore
4
- } from "../__chunks/EACLTACN.js";
4
+ } from "../__chunks/JTLIIJ4U.js";
5
5
  import {
6
6
  createCompositeStore
7
- } from "../__chunks/7IJEP35G.js";
8
- import "../__chunks/7DTP4AQO.js";
7
+ } from "../__chunks/AJZ4BYF3.js";
8
+ import "../__chunks/CYQWQL4J.js";
9
9
  import "../__chunks/7PRQYBBV.js";
10
- import "../__chunks/3UYWTADI.js";
11
- import "../__chunks/YOHCVXJB.js";
12
- import "../__chunks/6E4KKOSB.js";
10
+ import "../__chunks/ME2CUF3F.js";
11
+ import "../__chunks/FZZ2AVHF.js";
12
+ import "../__chunks/RCQ5P4YE.js";
13
13
  import {
14
14
  createStore,
15
15
  mergeStore,
@@ -18,12 +18,12 @@ import {
18
18
  setup,
19
19
  sync,
20
20
  throwOnConflictingProps
21
- } from "../__chunks/EQQLU3CG.js";
21
+ } from "../__chunks/BCALMBPZ.js";
22
22
  import {
23
23
  applyState,
24
24
  defaultValue
25
25
  } from "../__chunks/PBFD2E7P.js";
26
- import "../__chunks/PQP5VPTV.js";
26
+ import "../__chunks/DTR5TSDJ.js";
27
27
  import {
28
28
  __objRest,
29
29
  __spreadProps,
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import {
3
3
  createMenubarStore
4
- } from "../__chunks/YKFX5MNB.js";
5
- import "../__chunks/7IJEP35G.js";
6
- import "../__chunks/7DTP4AQO.js";
4
+ } from "../__chunks/7HRRFUKQ.js";
5
+ import "../__chunks/AJZ4BYF3.js";
6
+ import "../__chunks/CYQWQL4J.js";
7
7
  import "../__chunks/7PRQYBBV.js";
8
- import "../__chunks/EQQLU3CG.js";
8
+ import "../__chunks/BCALMBPZ.js";
9
9
  import "../__chunks/PBFD2E7P.js";
10
- import "../__chunks/PQP5VPTV.js";
10
+ import "../__chunks/DTR5TSDJ.js";
11
11
  import "../__chunks/3YLGPPWQ.js";
12
12
  export {
13
13
  createMenubarStore
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import {
3
3
  createPopoverStore
4
- } from "../__chunks/3UYWTADI.js";
5
- import "../__chunks/YOHCVXJB.js";
6
- import "../__chunks/6E4KKOSB.js";
7
- import "../__chunks/EQQLU3CG.js";
4
+ } from "../__chunks/ME2CUF3F.js";
5
+ import "../__chunks/FZZ2AVHF.js";
6
+ import "../__chunks/RCQ5P4YE.js";
7
+ import "../__chunks/BCALMBPZ.js";
8
8
  import "../__chunks/PBFD2E7P.js";
9
9
  import "../__chunks/3YLGPPWQ.js";
10
10
  export {
@@ -1,16 +1,16 @@
1
1
  "use client";
2
2
  import {
3
3
  createCompositeStore
4
- } from "../__chunks/7IJEP35G.js";
5
- import "../__chunks/7DTP4AQO.js";
4
+ } from "../__chunks/AJZ4BYF3.js";
5
+ import "../__chunks/CYQWQL4J.js";
6
6
  import "../__chunks/7PRQYBBV.js";
7
7
  import {
8
8
  createStore
9
- } from "../__chunks/EQQLU3CG.js";
9
+ } from "../__chunks/BCALMBPZ.js";
10
10
  import {
11
11
  defaultValue
12
12
  } from "../__chunks/PBFD2E7P.js";
13
- import "../__chunks/PQP5VPTV.js";
13
+ import "../__chunks/DTR5TSDJ.js";
14
14
  import {
15
15
  __objRest,
16
16
  __spreadProps,
@@ -1,16 +1,16 @@
1
1
  "use client";
2
2
  import {
3
3
  createCompositeStore
4
- } from "../__chunks/7IJEP35G.js";
5
- import "../__chunks/7DTP4AQO.js";
4
+ } from "../__chunks/AJZ4BYF3.js";
5
+ import "../__chunks/CYQWQL4J.js";
6
6
  import {
7
7
  toArray
8
8
  } from "../__chunks/7PRQYBBV.js";
9
9
  import {
10
10
  createPopoverStore
11
- } from "../__chunks/3UYWTADI.js";
12
- import "../__chunks/YOHCVXJB.js";
13
- import "../__chunks/6E4KKOSB.js";
11
+ } from "../__chunks/ME2CUF3F.js";
12
+ import "../__chunks/FZZ2AVHF.js";
13
+ import "../__chunks/RCQ5P4YE.js";
14
14
  import {
15
15
  batch,
16
16
  createStore,
@@ -19,11 +19,11 @@ import {
19
19
  setup,
20
20
  sync,
21
21
  throwOnConflictingProps
22
- } from "../__chunks/EQQLU3CG.js";
22
+ } from "../__chunks/BCALMBPZ.js";
23
23
  import {
24
24
  defaultValue
25
25
  } from "../__chunks/PBFD2E7P.js";
26
- import "../__chunks/PQP5VPTV.js";
26
+ import "../__chunks/DTR5TSDJ.js";
27
27
  import {
28
28
  __objRest,
29
29
  __spreadProps,
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import {
3
3
  createCompositeStore
4
- } from "../__chunks/7IJEP35G.js";
4
+ } from "../__chunks/AJZ4BYF3.js";
5
5
  import {
6
6
  createCollectionStore
7
- } from "../__chunks/7DTP4AQO.js";
7
+ } from "../__chunks/CYQWQL4J.js";
8
8
  import "../__chunks/7PRQYBBV.js";
9
9
  import {
10
10
  batch,
@@ -13,12 +13,12 @@ import {
13
13
  omit,
14
14
  setup,
15
15
  sync
16
- } from "../__chunks/EQQLU3CG.js";
16
+ } from "../__chunks/BCALMBPZ.js";
17
17
  import {
18
18
  chain,
19
19
  defaultValue
20
20
  } from "../__chunks/PBFD2E7P.js";
21
- import "../__chunks/PQP5VPTV.js";
21
+ import "../__chunks/DTR5TSDJ.js";
22
22
  import {
23
23
  __objRest,
24
24
  __spreadProps,
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import {
3
3
  createCompositeStore
4
- } from "../__chunks/7IJEP35G.js";
5
- import "../__chunks/7DTP4AQO.js";
4
+ } from "../__chunks/AJZ4BYF3.js";
5
+ import "../__chunks/CYQWQL4J.js";
6
6
  import "../__chunks/7PRQYBBV.js";
7
7
  import {
8
8
  UndoManager
@@ -11,12 +11,12 @@ import {
11
11
  createStore,
12
12
  setup,
13
13
  sync
14
- } from "../__chunks/EQQLU3CG.js";
14
+ } from "../__chunks/BCALMBPZ.js";
15
15
  import {
16
16
  applyState,
17
17
  defaultValue
18
18
  } from "../__chunks/PBFD2E7P.js";
19
- import "../__chunks/PQP5VPTV.js";
19
+ import "../__chunks/DTR5TSDJ.js";
20
20
  import {
21
21
  __spreadProps,
22
22
  __spreadValues
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
  import {
3
3
  createCompositeStore
4
- } from "../__chunks/7IJEP35G.js";
5
- import "../__chunks/7DTP4AQO.js";
4
+ } from "../__chunks/AJZ4BYF3.js";
5
+ import "../__chunks/CYQWQL4J.js";
6
6
  import "../__chunks/7PRQYBBV.js";
7
- import "../__chunks/EQQLU3CG.js";
7
+ import "../__chunks/BCALMBPZ.js";
8
8
  import {
9
9
  defaultValue
10
10
  } from "../__chunks/PBFD2E7P.js";
11
- import "../__chunks/PQP5VPTV.js";
11
+ import "../__chunks/DTR5TSDJ.js";
12
12
  import {
13
13
  __spreadProps,
14
14
  __spreadValues
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import {
3
3
  createHovercardStore
4
- } from "../__chunks/EACLTACN.js";
5
- import "../__chunks/3UYWTADI.js";
6
- import "../__chunks/YOHCVXJB.js";
7
- import "../__chunks/6E4KKOSB.js";
4
+ } from "../__chunks/JTLIIJ4U.js";
5
+ import "../__chunks/ME2CUF3F.js";
6
+ import "../__chunks/FZZ2AVHF.js";
7
+ import "../__chunks/RCQ5P4YE.js";
8
8
  import {
9
9
  createStore
10
- } from "../__chunks/EQQLU3CG.js";
10
+ } from "../__chunks/BCALMBPZ.js";
11
11
  import {
12
12
  defaultValue
13
13
  } from "../__chunks/PBFD2E7P.js";
@@ -9,11 +9,11 @@ export declare const canUseDOM: boolean;
9
9
  /**
10
10
  * Returns `element.ownerDocument || document`.
11
11
  */
12
- export declare function getDocument(node?: Node | null): Document;
12
+ export declare function getDocument(node?: Window | Document | Node | null): Document;
13
13
  /**
14
14
  * Returns `element.ownerDocument.defaultView || window`.
15
15
  */
16
- export declare function getWindow(node?: Node | null): Window;
16
+ export declare function getWindow(node?: Window | Document | Node | null): Window;
17
17
  /**
18
18
  * Returns `element.ownerDocument.activeElement`.
19
19
  */
@@ -106,3 +106,7 @@ export declare function isPartiallyHidden(element: Element): boolean;
106
106
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange
107
107
  */
108
108
  export declare function setSelectionRange(element: HTMLInputElement | HTMLTextAreaElement, ...args: Parameters<typeof HTMLInputElement.prototype.setSelectionRange>): void;
109
+ /**
110
+ * Sort the items based on their DOM position.
111
+ */
112
+ export declare function sortBasedOnDOMPosition<T>(items: T[], getElement: (item: T) => Element | null | undefined): T[];
package/esm/utils/dom.js CHANGED
@@ -17,8 +17,9 @@ import {
17
17
  isTextbox,
18
18
  isVisible,
19
19
  scrollIntoViewIfNeeded,
20
- setSelectionRange
21
- } from "../__chunks/PQP5VPTV.js";
20
+ setSelectionRange,
21
+ sortBasedOnDOMPosition
22
+ } from "../__chunks/DTR5TSDJ.js";
22
23
  import "../__chunks/3YLGPPWQ.js";
23
24
  export {
24
25
  canUseDOM,
@@ -38,5 +39,6 @@ export {
38
39
  isTextbox,
39
40
  isVisible,
40
41
  scrollIntoViewIfNeeded,
41
- setSelectionRange
42
+ setSelectionRange,
43
+ sortBasedOnDOMPosition
42
44
  };
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import {
3
3
  isApple
4
- } from "../__chunks/3VBK76MS.js";
4
+ } from "../__chunks/QAGXQEUG.js";
5
5
  import {
6
6
  contains
7
- } from "../__chunks/PQP5VPTV.js";
7
+ } from "../__chunks/DTR5TSDJ.js";
8
8
  import {
9
9
  __spreadProps,
10
10
  __spreadValues
@@ -102,7 +102,7 @@ function queueBeforeEvent(element, type, callback, timeout) {
102
102
  function addGlobalEventListener(type, listener, options, scope = window) {
103
103
  const children = [];
104
104
  try {
105
- scope.document.addEventListener(type, listener, options);
105
+ scope.addEventListener(type, listener, options);
106
106
  for (const frame of Array.from(scope.frames)) {
107
107
  children.push(addGlobalEventListener(type, listener, options, frame));
108
108
  }
@@ -110,7 +110,7 @@ function addGlobalEventListener(type, listener, options, scope = window) {
110
110
  }
111
111
  const removeEventListener = () => {
112
112
  try {
113
- scope.document.removeEventListener(type, listener, options);
113
+ scope.removeEventListener(type, listener, options);
114
114
  } catch (e) {
115
115
  }
116
116
  for (const remove of children) {
@@ -4,7 +4,7 @@ import {
4
4
  getActiveElement,
5
5
  isFrame,
6
6
  isVisible
7
- } from "../__chunks/PQP5VPTV.js";
7
+ } from "../__chunks/DTR5TSDJ.js";
8
8
  import {
9
9
  __spreadValues
10
10
  } from "../__chunks/3YLGPPWQ.js";
@@ -5,8 +5,8 @@ import {
5
5
  isMac,
6
6
  isSafari,
7
7
  isTouchDevice
8
- } from "../__chunks/3VBK76MS.js";
9
- import "../__chunks/PQP5VPTV.js";
8
+ } from "../__chunks/QAGXQEUG.js";
9
+ import "../__chunks/DTR5TSDJ.js";
10
10
  import "../__chunks/3YLGPPWQ.js";
11
11
  export {
12
12
  isApple,