@hanzogui/floating 2.0.0-rc.41-hanzoai.5

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 (187) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/Floating.cjs +20 -0
  3. package/dist/cjs/Floating.native.js +39 -0
  4. package/dist/cjs/Floating.native.js.map +1 -0
  5. package/dist/cjs/index.cjs +73 -0
  6. package/dist/cjs/index.native.js +76 -0
  7. package/dist/cjs/index.native.js.map +1 -0
  8. package/dist/cjs/interactions/PopupTriggerMap.cjs +49 -0
  9. package/dist/cjs/interactions/PopupTriggerMap.native.js +97 -0
  10. package/dist/cjs/interactions/PopupTriggerMap.native.js.map +1 -0
  11. package/dist/cjs/interactions/createFloatingEvents.cjs +50 -0
  12. package/dist/cjs/interactions/createFloatingEvents.native.js +56 -0
  13. package/dist/cjs/interactions/createFloatingEvents.native.js.map +1 -0
  14. package/dist/cjs/interactions/safePolygon.cjs +273 -0
  15. package/dist/cjs/interactions/safePolygon.native.js +284 -0
  16. package/dist/cjs/interactions/safePolygon.native.js.map +1 -0
  17. package/dist/cjs/interactions/types.cjs +18 -0
  18. package/dist/cjs/interactions/types.native.js +21 -0
  19. package/dist/cjs/interactions/types.native.js.map +1 -0
  20. package/dist/cjs/interactions/useClick.cjs +124 -0
  21. package/dist/cjs/interactions/useClick.native.js +132 -0
  22. package/dist/cjs/interactions/useClick.native.js.map +1 -0
  23. package/dist/cjs/interactions/useDelayGroup.cjs +115 -0
  24. package/dist/cjs/interactions/useDelayGroup.native.js +125 -0
  25. package/dist/cjs/interactions/useDelayGroup.native.js.map +1 -0
  26. package/dist/cjs/interactions/useFocus.cjs +130 -0
  27. package/dist/cjs/interactions/useFocus.native.js +139 -0
  28. package/dist/cjs/interactions/useFocus.native.js.map +1 -0
  29. package/dist/cjs/interactions/useHover.cjs +357 -0
  30. package/dist/cjs/interactions/useHover.native.js +373 -0
  31. package/dist/cjs/interactions/useHover.native.js.map +1 -0
  32. package/dist/cjs/interactions/useInnerOffset.cjs +128 -0
  33. package/dist/cjs/interactions/useInnerOffset.native.js +141 -0
  34. package/dist/cjs/interactions/useInnerOffset.native.js.map +1 -0
  35. package/dist/cjs/interactions/useInteractions.cjs +105 -0
  36. package/dist/cjs/interactions/useInteractions.native.js +216 -0
  37. package/dist/cjs/interactions/useInteractions.native.js.map +1 -0
  38. package/dist/cjs/interactions/useListNavigation.cjs +418 -0
  39. package/dist/cjs/interactions/useListNavigation.native.js +433 -0
  40. package/dist/cjs/interactions/useListNavigation.native.js.map +1 -0
  41. package/dist/cjs/interactions/useRole.cjs +122 -0
  42. package/dist/cjs/interactions/useRole.native.js +136 -0
  43. package/dist/cjs/interactions/useRole.native.js.map +1 -0
  44. package/dist/cjs/interactions/useTypeahead.cjs +143 -0
  45. package/dist/cjs/interactions/useTypeahead.native.js +159 -0
  46. package/dist/cjs/interactions/useTypeahead.native.js.map +1 -0
  47. package/dist/cjs/interactions/utils.cjs +208 -0
  48. package/dist/cjs/interactions/utils.native.js +227 -0
  49. package/dist/cjs/interactions/utils.native.js.map +1 -0
  50. package/dist/cjs/middleware/inner.cjs +118 -0
  51. package/dist/cjs/middleware/inner.native.js +130 -0
  52. package/dist/cjs/middleware/inner.native.js.map +1 -0
  53. package/dist/cjs/useFloating.cjs +64 -0
  54. package/dist/cjs/useFloating.native.js +69 -0
  55. package/dist/cjs/useFloating.native.js.map +1 -0
  56. package/dist/esm/Floating.mjs +2 -0
  57. package/dist/esm/Floating.mjs.map +1 -0
  58. package/dist/esm/Floating.native.js +8 -0
  59. package/dist/esm/Floating.native.js.map +1 -0
  60. package/dist/esm/index.js +18 -0
  61. package/dist/esm/index.js.map +1 -0
  62. package/dist/esm/index.mjs +18 -0
  63. package/dist/esm/index.mjs.map +1 -0
  64. package/dist/esm/index.native.js +18 -0
  65. package/dist/esm/index.native.js.map +1 -0
  66. package/dist/esm/interactions/PopupTriggerMap.mjs +24 -0
  67. package/dist/esm/interactions/PopupTriggerMap.mjs.map +1 -0
  68. package/dist/esm/interactions/PopupTriggerMap.native.js +69 -0
  69. package/dist/esm/interactions/PopupTriggerMap.native.js.map +1 -0
  70. package/dist/esm/interactions/createFloatingEvents.mjs +25 -0
  71. package/dist/esm/interactions/createFloatingEvents.mjs.map +1 -0
  72. package/dist/esm/interactions/createFloatingEvents.native.js +28 -0
  73. package/dist/esm/interactions/createFloatingEvents.native.js.map +1 -0
  74. package/dist/esm/interactions/safePolygon.mjs +248 -0
  75. package/dist/esm/interactions/safePolygon.mjs.map +1 -0
  76. package/dist/esm/interactions/safePolygon.native.js +256 -0
  77. package/dist/esm/interactions/safePolygon.native.js.map +1 -0
  78. package/dist/esm/interactions/types.mjs +2 -0
  79. package/dist/esm/interactions/types.mjs.map +1 -0
  80. package/dist/esm/interactions/types.native.js +2 -0
  81. package/dist/esm/interactions/types.native.js.map +1 -0
  82. package/dist/esm/interactions/useClick.mjs +99 -0
  83. package/dist/esm/interactions/useClick.mjs.map +1 -0
  84. package/dist/esm/interactions/useClick.native.js +104 -0
  85. package/dist/esm/interactions/useClick.native.js.map +1 -0
  86. package/dist/esm/interactions/useDelayGroup.mjs +77 -0
  87. package/dist/esm/interactions/useDelayGroup.mjs.map +1 -0
  88. package/dist/esm/interactions/useDelayGroup.native.js +84 -0
  89. package/dist/esm/interactions/useDelayGroup.native.js.map +1 -0
  90. package/dist/esm/interactions/useFocus.mjs +105 -0
  91. package/dist/esm/interactions/useFocus.mjs.map +1 -0
  92. package/dist/esm/interactions/useFocus.native.js +111 -0
  93. package/dist/esm/interactions/useFocus.native.js.map +1 -0
  94. package/dist/esm/interactions/useHover.mjs +320 -0
  95. package/dist/esm/interactions/useHover.mjs.map +1 -0
  96. package/dist/esm/interactions/useHover.native.js +333 -0
  97. package/dist/esm/interactions/useHover.native.js.map +1 -0
  98. package/dist/esm/interactions/useInnerOffset.mjs +92 -0
  99. package/dist/esm/interactions/useInnerOffset.mjs.map +1 -0
  100. package/dist/esm/interactions/useInnerOffset.native.js +102 -0
  101. package/dist/esm/interactions/useInnerOffset.native.js.map +1 -0
  102. package/dist/esm/interactions/useInteractions.mjs +80 -0
  103. package/dist/esm/interactions/useInteractions.mjs.map +1 -0
  104. package/dist/esm/interactions/useInteractions.native.js +188 -0
  105. package/dist/esm/interactions/useInteractions.native.js.map +1 -0
  106. package/dist/esm/interactions/useListNavigation.mjs +393 -0
  107. package/dist/esm/interactions/useListNavigation.mjs.map +1 -0
  108. package/dist/esm/interactions/useListNavigation.native.js +405 -0
  109. package/dist/esm/interactions/useListNavigation.native.js.map +1 -0
  110. package/dist/esm/interactions/useRole.mjs +86 -0
  111. package/dist/esm/interactions/useRole.mjs.map +1 -0
  112. package/dist/esm/interactions/useRole.native.js +97 -0
  113. package/dist/esm/interactions/useRole.native.js.map +1 -0
  114. package/dist/esm/interactions/useTypeahead.mjs +118 -0
  115. package/dist/esm/interactions/useTypeahead.mjs.map +1 -0
  116. package/dist/esm/interactions/useTypeahead.native.js +131 -0
  117. package/dist/esm/interactions/useTypeahead.native.js.map +1 -0
  118. package/dist/esm/interactions/utils.mjs +162 -0
  119. package/dist/esm/interactions/utils.mjs.map +1 -0
  120. package/dist/esm/interactions/utils.native.js +178 -0
  121. package/dist/esm/interactions/utils.native.js.map +1 -0
  122. package/dist/esm/middleware/inner.mjs +82 -0
  123. package/dist/esm/middleware/inner.mjs.map +1 -0
  124. package/dist/esm/middleware/inner.native.js +91 -0
  125. package/dist/esm/middleware/inner.native.js.map +1 -0
  126. package/dist/esm/useFloating.mjs +27 -0
  127. package/dist/esm/useFloating.mjs.map +1 -0
  128. package/dist/esm/useFloating.native.js +29 -0
  129. package/dist/esm/useFloating.native.js.map +1 -0
  130. package/package.json +50 -0
  131. package/src/Floating.native.tsx +45 -0
  132. package/src/Floating.tsx +1 -0
  133. package/src/index.ts +116 -0
  134. package/src/interactions/PopupTriggerMap.ts +30 -0
  135. package/src/interactions/createFloatingEvents.ts +34 -0
  136. package/src/interactions/safePolygon.ts +500 -0
  137. package/src/interactions/types.ts +165 -0
  138. package/src/interactions/useClick.ts +148 -0
  139. package/src/interactions/useDelayGroup.ts +114 -0
  140. package/src/interactions/useFocus.ts +164 -0
  141. package/src/interactions/useHover.ts +453 -0
  142. package/src/interactions/useInnerOffset.ts +116 -0
  143. package/src/interactions/useInteractions.ts +101 -0
  144. package/src/interactions/useListNavigation.ts +578 -0
  145. package/src/interactions/useRole.ts +103 -0
  146. package/src/interactions/useTypeahead.ts +173 -0
  147. package/src/interactions/utils.ts +234 -0
  148. package/src/middleware/inner.ts +141 -0
  149. package/src/useFloating.tsx +53 -0
  150. package/types/Floating.d.ts +2 -0
  151. package/types/Floating.d.ts.map +1 -0
  152. package/types/Floating.native.d.ts +41 -0
  153. package/types/Floating.native.d.ts.map +1 -0
  154. package/types/index.d.ts +19 -0
  155. package/types/index.d.ts.map +1 -0
  156. package/types/interactions/PopupTriggerMap.d.ts +8 -0
  157. package/types/interactions/PopupTriggerMap.d.ts.map +1 -0
  158. package/types/interactions/createFloatingEvents.d.ts +7 -0
  159. package/types/interactions/createFloatingEvents.d.ts.map +1 -0
  160. package/types/interactions/safePolygon.d.ts +4 -0
  161. package/types/interactions/safePolygon.d.ts.map +1 -0
  162. package/types/interactions/types.d.ts +123 -0
  163. package/types/interactions/types.d.ts.map +1 -0
  164. package/types/interactions/useClick.d.ts +3 -0
  165. package/types/interactions/useClick.d.ts.map +1 -0
  166. package/types/interactions/useDelayGroup.d.ts +23 -0
  167. package/types/interactions/useDelayGroup.d.ts.map +1 -0
  168. package/types/interactions/useFocus.d.ts +3 -0
  169. package/types/interactions/useFocus.d.ts.map +1 -0
  170. package/types/interactions/useHover.d.ts +6 -0
  171. package/types/interactions/useHover.d.ts.map +1 -0
  172. package/types/interactions/useInnerOffset.d.ts +3 -0
  173. package/types/interactions/useInnerOffset.d.ts.map +1 -0
  174. package/types/interactions/useInteractions.d.ts +8 -0
  175. package/types/interactions/useInteractions.d.ts.map +1 -0
  176. package/types/interactions/useListNavigation.d.ts +3 -0
  177. package/types/interactions/useListNavigation.d.ts.map +1 -0
  178. package/types/interactions/useRole.d.ts +3 -0
  179. package/types/interactions/useRole.d.ts.map +1 -0
  180. package/types/interactions/useTypeahead.d.ts +3 -0
  181. package/types/interactions/useTypeahead.d.ts.map +1 -0
  182. package/types/interactions/utils.d.ts +46 -0
  183. package/types/interactions/utils.d.ts.map +1 -0
  184. package/types/middleware/inner.d.ts +14 -0
  185. package/types/middleware/inner.d.ts.map +1 -0
  186. package/types/useFloating.d.ts +28 -0
  187. package/types/useFloating.d.ts.map +1 -0
@@ -0,0 +1,208 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var utils_exports = {};
24
+ __export(utils_exports, {
25
+ activeElement: () => activeElement,
26
+ clearTimeoutIfSet: () => clearTimeoutIfSet,
27
+ contains: () => contains,
28
+ enqueueFocus: () => enqueueFocus,
29
+ findNonDisabledListIndex: () => findNonDisabledListIndex,
30
+ getDocument: () => getDocument,
31
+ getMaxListIndex: () => getMaxListIndex,
32
+ getMinListIndex: () => getMinListIndex,
33
+ getTarget: () => getTarget,
34
+ isElement: () => isElement,
35
+ isHTMLElement: () => isHTMLElement,
36
+ isIndexOutOfListBounds: () => isIndexOutOfListBounds,
37
+ isListIndexDisabled: () => isListIndexDisabled,
38
+ isMac: () => isMac,
39
+ isMouseLikePointerType: () => isMouseLikePointerType,
40
+ isSafari: () => isSafari,
41
+ isTypeableCombobox: () => isTypeableCombobox,
42
+ isTypeableElement: () => isTypeableElement,
43
+ isVirtualClick: () => isVirtualClick,
44
+ isVirtualPointerEvent: () => isVirtualPointerEvent,
45
+ matchesFocusVisible: () => matchesFocusVisible,
46
+ stopEvent: () => stopEvent
47
+ });
48
+ module.exports = __toCommonJS(utils_exports);
49
+ function getDocument(node) {
50
+ return node?.ownerDocument || document;
51
+ }
52
+ function contains(parent, child) {
53
+ if (!parent || !child) return false;
54
+ const rootNode = child.getRootNode?.();
55
+ if (parent.contains(child)) return true;
56
+ if (rootNode && isShadowRoot(rootNode)) {
57
+ let next = child;
58
+ while (next) {
59
+ if (parent === next) return true;
60
+ next = next.parentNode || next.host;
61
+ }
62
+ }
63
+ return false;
64
+ }
65
+ function isShadowRoot(node) {
66
+ return node instanceof ShadowRoot;
67
+ }
68
+ function getTarget(event) {
69
+ if ("composedPath" in event) {
70
+ return event.composedPath()[0];
71
+ }
72
+ return event.target;
73
+ }
74
+ function activeElement(doc) {
75
+ let el = doc.activeElement;
76
+ while (el?.shadowRoot?.activeElement != null) {
77
+ el = el.shadowRoot.activeElement;
78
+ }
79
+ return el;
80
+ }
81
+ function isHTMLElement(value) {
82
+ return value instanceof HTMLElement;
83
+ }
84
+ function isElement(value) {
85
+ return value instanceof Element;
86
+ }
87
+ const TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
88
+ function isTypeableElement(element) {
89
+ return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);
90
+ }
91
+ function isTypeableCombobox(element) {
92
+ if (!element) return false;
93
+ return element.getAttribute("role") === "combobox" && isTypeableElement(element);
94
+ }
95
+ function getPlatform() {
96
+ const uaData = navigator.userAgentData;
97
+ if (uaData?.platform) return uaData.platform;
98
+ return navigator.platform;
99
+ }
100
+ function getUserAgent() {
101
+ const uaData = navigator.userAgentData;
102
+ if (uaData && Array.isArray(uaData.brands)) {
103
+ return uaData.brands.map(({
104
+ brand,
105
+ version
106
+ }) => `${brand}/${version}`).join(" ");
107
+ }
108
+ return navigator.userAgent;
109
+ }
110
+ function isSafari() {
111
+ return /apple/i.test(navigator.vendor);
112
+ }
113
+ function isMac() {
114
+ return getPlatform().toLowerCase().startsWith("mac") && !navigator.maxTouchPoints;
115
+ }
116
+ function isJSDOM() {
117
+ return getUserAgent().includes("jsdom/");
118
+ }
119
+ function matchesFocusVisible(element) {
120
+ if (!element || isJSDOM()) return true;
121
+ try {
122
+ return element.matches(":focus-visible");
123
+ } catch {
124
+ return true;
125
+ }
126
+ }
127
+ function isMouseLikePointerType(pointerType, strict) {
128
+ const values = ["mouse", "pen"];
129
+ if (!strict) {
130
+ values.push("", void 0);
131
+ }
132
+ return values.includes(pointerType);
133
+ }
134
+ function clearTimeoutIfSet(timeoutRef) {
135
+ if (timeoutRef.current !== -1) {
136
+ clearTimeout(timeoutRef.current);
137
+ timeoutRef.current = -1;
138
+ }
139
+ }
140
+ function stopEvent(event) {
141
+ event.preventDefault();
142
+ event.stopPropagation();
143
+ }
144
+ function isVirtualClick(event) {
145
+ if (event.mozInputSource === 0 && event.isTrusted) return true;
146
+ if (isAndroid() && event.pointerType) {
147
+ return event.type === "click" && event.buttons === 1;
148
+ }
149
+ return event.detail === 0 && !event.pointerType;
150
+ }
151
+ function isVirtualPointerEvent(event) {
152
+ if (isJSDOM()) return false;
153
+ return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "mouse" || event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "touch";
154
+ }
155
+ function isAndroid() {
156
+ const re = /android/i;
157
+ return re.test(getPlatform()) || re.test(getUserAgent());
158
+ }
159
+ let rafId = 0;
160
+ function enqueueFocus(el, options = {}) {
161
+ const {
162
+ preventScroll = false,
163
+ cancelPrevious = true,
164
+ sync = false
165
+ } = options;
166
+ cancelPrevious && cancelAnimationFrame(rafId);
167
+ const exec = () => el?.focus({
168
+ preventScroll
169
+ });
170
+ if (sync) {
171
+ exec();
172
+ } else {
173
+ rafId = requestAnimationFrame(exec);
174
+ }
175
+ }
176
+ function isListIndexDisabled(listRef, index, disabledIndices) {
177
+ if (typeof disabledIndices === "function") return disabledIndices(index);
178
+ if (disabledIndices) return disabledIndices.includes(index);
179
+ const element = listRef.current[index];
180
+ return element == null || element.hasAttribute("disabled") || element.getAttribute("aria-disabled") === "true";
181
+ }
182
+ function findNonDisabledListIndex(listRef, {
183
+ startingIndex = -1,
184
+ decrement = false,
185
+ disabledIndices,
186
+ amount = 1
187
+ } = {}) {
188
+ let index = startingIndex;
189
+ do {
190
+ index += decrement ? -amount : amount;
191
+ } while (index >= 0 && index <= listRef.current.length - 1 && isListIndexDisabled(listRef, index, disabledIndices));
192
+ return index;
193
+ }
194
+ function getMinListIndex(listRef, disabledIndices) {
195
+ return findNonDisabledListIndex(listRef, {
196
+ disabledIndices
197
+ });
198
+ }
199
+ function getMaxListIndex(listRef, disabledIndices) {
200
+ return findNonDisabledListIndex(listRef, {
201
+ decrement: true,
202
+ startingIndex: listRef.current.length,
203
+ disabledIndices
204
+ });
205
+ }
206
+ function isIndexOutOfListBounds(listRef, index) {
207
+ return index < 0 || index >= listRef.current.length;
208
+ }
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var utils_exports = {};
26
+ __export(utils_exports, {
27
+ activeElement: () => activeElement,
28
+ clearTimeoutIfSet: () => clearTimeoutIfSet,
29
+ contains: () => contains,
30
+ enqueueFocus: () => enqueueFocus,
31
+ findNonDisabledListIndex: () => findNonDisabledListIndex,
32
+ getDocument: () => getDocument,
33
+ getMaxListIndex: () => getMaxListIndex,
34
+ getMinListIndex: () => getMinListIndex,
35
+ getTarget: () => getTarget,
36
+ isElement: () => isElement,
37
+ isHTMLElement: () => isHTMLElement,
38
+ isIndexOutOfListBounds: () => isIndexOutOfListBounds,
39
+ isListIndexDisabled: () => isListIndexDisabled,
40
+ isMac: () => isMac,
41
+ isMouseLikePointerType: () => isMouseLikePointerType,
42
+ isSafari: () => isSafari,
43
+ isTypeableCombobox: () => isTypeableCombobox,
44
+ isTypeableElement: () => isTypeableElement,
45
+ isVirtualClick: () => isVirtualClick,
46
+ isVirtualPointerEvent: () => isVirtualPointerEvent,
47
+ matchesFocusVisible: () => matchesFocusVisible,
48
+ stopEvent: () => stopEvent
49
+ });
50
+ module.exports = __toCommonJS(utils_exports);
51
+ function _instanceof(left, right) {
52
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
53
+ return !!right[Symbol.hasInstance](left);
54
+ } else {
55
+ return left instanceof right;
56
+ }
57
+ }
58
+ function getDocument(node) {
59
+ return (node === null || node === void 0 ? void 0 : node.ownerDocument) || document;
60
+ }
61
+ function contains(parent, child) {
62
+ var _child_getRootNode;
63
+ if (!parent || !child) return false;
64
+ var rootNode = (_child_getRootNode = child.getRootNode) === null || _child_getRootNode === void 0 ? void 0 : _child_getRootNode.call(child);
65
+ if (parent.contains(child)) return true;
66
+ if (rootNode && isShadowRoot(rootNode)) {
67
+ var next = child;
68
+ while (next) {
69
+ if (parent === next) return true;
70
+ next = next.parentNode || next.host;
71
+ }
72
+ }
73
+ return false;
74
+ }
75
+ function isShadowRoot(node) {
76
+ return _instanceof(node, ShadowRoot);
77
+ }
78
+ function getTarget(event) {
79
+ if ("composedPath" in event) {
80
+ return event.composedPath()[0];
81
+ }
82
+ return event.target;
83
+ }
84
+ function activeElement(doc) {
85
+ var _el_shadowRoot;
86
+ var el = doc.activeElement;
87
+ while ((el === null || el === void 0 ? void 0 : (_el_shadowRoot = el.shadowRoot) === null || _el_shadowRoot === void 0 ? void 0 : _el_shadowRoot.activeElement) != null) {
88
+ el = el.shadowRoot.activeElement;
89
+ }
90
+ return el;
91
+ }
92
+ function isHTMLElement(value) {
93
+ return _instanceof(value, HTMLElement);
94
+ }
95
+ function isElement(value) {
96
+ return _instanceof(value, Element);
97
+ }
98
+ var TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
99
+ function isTypeableElement(element) {
100
+ return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);
101
+ }
102
+ function isTypeableCombobox(element) {
103
+ if (!element) return false;
104
+ return element.getAttribute("role") === "combobox" && isTypeableElement(element);
105
+ }
106
+ function getPlatform() {
107
+ var uaData = navigator.userAgentData;
108
+ if (uaData === null || uaData === void 0 ? void 0 : uaData.platform) return uaData.platform;
109
+ return navigator.platform;
110
+ }
111
+ function getUserAgent() {
112
+ var uaData = navigator.userAgentData;
113
+ if (uaData && Array.isArray(uaData.brands)) {
114
+ return uaData.brands.map(function (param) {
115
+ var {
116
+ brand,
117
+ version
118
+ } = param;
119
+ return `${brand}/${version}`;
120
+ }).join(" ");
121
+ }
122
+ return navigator.userAgent;
123
+ }
124
+ function isSafari() {
125
+ return /apple/i.test(navigator.vendor);
126
+ }
127
+ function isMac() {
128
+ return getPlatform().toLowerCase().startsWith("mac") && !navigator.maxTouchPoints;
129
+ }
130
+ function isJSDOM() {
131
+ return getUserAgent().includes("jsdom/");
132
+ }
133
+ function matchesFocusVisible(element) {
134
+ if (!element || isJSDOM()) return true;
135
+ try {
136
+ return element.matches(":focus-visible");
137
+ } catch (e) {
138
+ return true;
139
+ }
140
+ }
141
+ function isMouseLikePointerType(pointerType, strict) {
142
+ var values = ["mouse", "pen"];
143
+ if (!strict) {
144
+ values.push("", void 0);
145
+ }
146
+ return values.includes(pointerType);
147
+ }
148
+ function clearTimeoutIfSet(timeoutRef) {
149
+ if (timeoutRef.current !== -1) {
150
+ clearTimeout(timeoutRef.current);
151
+ timeoutRef.current = -1;
152
+ }
153
+ }
154
+ function stopEvent(event) {
155
+ event.preventDefault();
156
+ event.stopPropagation();
157
+ }
158
+ function isVirtualClick(event) {
159
+ if (event.mozInputSource === 0 && event.isTrusted) return true;
160
+ if (isAndroid() && event.pointerType) {
161
+ return event.type === "click" && event.buttons === 1;
162
+ }
163
+ return event.detail === 0 && !event.pointerType;
164
+ }
165
+ function isVirtualPointerEvent(event) {
166
+ if (isJSDOM()) return false;
167
+ return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "mouse" || event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "touch";
168
+ }
169
+ function isAndroid() {
170
+ var re = /android/i;
171
+ return re.test(getPlatform()) || re.test(getUserAgent());
172
+ }
173
+ var rafId = 0;
174
+ function enqueueFocus(el) {
175
+ var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
176
+ var {
177
+ preventScroll = false,
178
+ cancelPrevious = true,
179
+ sync = false
180
+ } = options;
181
+ cancelPrevious && cancelAnimationFrame(rafId);
182
+ var exec = function () {
183
+ return el === null || el === void 0 ? void 0 : el.focus({
184
+ preventScroll
185
+ });
186
+ };
187
+ if (sync) {
188
+ exec();
189
+ } else {
190
+ rafId = requestAnimationFrame(exec);
191
+ }
192
+ }
193
+ function isListIndexDisabled(listRef, index, disabledIndices) {
194
+ if (typeof disabledIndices === "function") return disabledIndices(index);
195
+ if (disabledIndices) return disabledIndices.includes(index);
196
+ var element = listRef.current[index];
197
+ return element == null || element.hasAttribute("disabled") || element.getAttribute("aria-disabled") === "true";
198
+ }
199
+ function findNonDisabledListIndex(listRef) {
200
+ var {
201
+ startingIndex = -1,
202
+ decrement = false,
203
+ disabledIndices,
204
+ amount = 1
205
+ } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
206
+ var index = startingIndex;
207
+ do {
208
+ index += decrement ? -amount : amount;
209
+ } while (index >= 0 && index <= listRef.current.length - 1 && isListIndexDisabled(listRef, index, disabledIndices));
210
+ return index;
211
+ }
212
+ function getMinListIndex(listRef, disabledIndices) {
213
+ return findNonDisabledListIndex(listRef, {
214
+ disabledIndices
215
+ });
216
+ }
217
+ function getMaxListIndex(listRef, disabledIndices) {
218
+ return findNonDisabledListIndex(listRef, {
219
+ decrement: true,
220
+ startingIndex: listRef.current.length,
221
+ disabledIndices
222
+ });
223
+ }
224
+ function isIndexOutOfListBounds(listRef, index) {
225
+ return index < 0 || index >= listRef.current.length;
226
+ }
227
+ //# sourceMappingURL=utils.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","utils_exports","activeElement","clearTimeoutIfSet","contains","enqueueFocus","findNonDisabledListIndex","getDocument","getMaxListIndex","getMinListIndex","getTarget","isElement","isHTMLElement","isIndexOutOfListBounds","isListIndexDisabled","isMac","isMouseLikePointerType","isSafari","isTypeableCombobox","isTypeableElement","isVirtualClick","isVirtualPointerEvent","matchesFocusVisible","stopEvent","module","exports","_instanceof","left","right","Symbol","hasInstance","node","ownerDocument","document","parent","child","_child_getRootNode","rootNode","getRootNode","isShadowRoot","next","parentNode","host","ShadowRoot","event","composedPath","doc","_el_shadowRoot","el","shadowRoot","HTMLElement","Element","TYPEABLE_SELECTOR","element","matches","getAttribute","getPlatform","uaData","navigator","userAgentData","platform","getUserAgent","Array","isArray","brands","map","param","brand","version","join","userAgent","test","vendor","toLowerCase","startsWith","maxTouchPoints","isJSDOM","includes","e","pointerType","strict","values","push","timeoutRef","current","clearTimeout","preventDefault","stopPropagation","mozInputSource","isTrusted","isAndroid","type","buttons","detail","width","height","pressure","re","rafId","options","arguments","length","preventScroll","cancelPrevious","sync","cancelAnimationFrame","exec","focus","requestAnimationFrame","listRef","index","disabledIndices","hasAttribute","startingIndex","decrement","amount"],"sources":["utils.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar utils_exports = {};\n__export(utils_exports, {\n activeElement: () => activeElement,\n clearTimeoutIfSet: () => clearTimeoutIfSet,\n contains: () => contains,\n enqueueFocus: () => enqueueFocus,\n findNonDisabledListIndex: () => findNonDisabledListIndex,\n getDocument: () => getDocument,\n getMaxListIndex: () => getMaxListIndex,\n getMinListIndex: () => getMinListIndex,\n getTarget: () => getTarget,\n isElement: () => isElement,\n isHTMLElement: () => isHTMLElement,\n isIndexOutOfListBounds: () => isIndexOutOfListBounds,\n isListIndexDisabled: () => isListIndexDisabled,\n isMac: () => isMac,\n isMouseLikePointerType: () => isMouseLikePointerType,\n isSafari: () => isSafari,\n isTypeableCombobox: () => isTypeableCombobox,\n isTypeableElement: () => isTypeableElement,\n isVirtualClick: () => isVirtualClick,\n isVirtualPointerEvent: () => isVirtualPointerEvent,\n matchesFocusVisible: () => matchesFocusVisible,\n stopEvent: () => stopEvent\n});\nmodule.exports = __toCommonJS(utils_exports);\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction getDocument(node) {\n return (node === null || node === void 0 ? void 0 : node.ownerDocument) || document;\n}\nfunction contains(parent, child) {\n var _child_getRootNode;\n if (!parent || !child) return false;\n var rootNode = (_child_getRootNode = child.getRootNode) === null || _child_getRootNode === void 0 ? void 0 : _child_getRootNode.call(child);\n if (parent.contains(child)) return true;\n if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n while (next) {\n if (parent === next) return true;\n next = next.parentNode || next.host;\n }\n }\n return false;\n}\nfunction isShadowRoot(node) {\n return _instanceof(node, ShadowRoot);\n}\nfunction getTarget(event) {\n if (\"composedPath\" in event) {\n return event.composedPath()[0];\n }\n return event.target;\n}\nfunction activeElement(doc) {\n var _el_shadowRoot;\n var el = doc.activeElement;\n while ((el === null || el === void 0 ? void 0 : (_el_shadowRoot = el.shadowRoot) === null || _el_shadowRoot === void 0 ? void 0 : _el_shadowRoot.activeElement) != null) {\n el = el.shadowRoot.activeElement;\n }\n return el;\n}\nfunction isHTMLElement(value) {\n return _instanceof(value, HTMLElement);\n}\nfunction isElement(value) {\n return _instanceof(value, Element);\n}\nvar TYPEABLE_SELECTOR = \"input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";\nfunction isTypeableElement(element) {\n return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);\n}\nfunction isTypeableCombobox(element) {\n if (!element) return false;\n return element.getAttribute(\"role\") === \"combobox\" && isTypeableElement(element);\n}\nfunction getPlatform() {\n var uaData = navigator.userAgentData;\n if (uaData === null || uaData === void 0 ? void 0 : uaData.platform) return uaData.platform;\n return navigator.platform;\n}\nfunction getUserAgent() {\n var uaData = navigator.userAgentData;\n if (uaData && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function(param) {\n var { brand, version } = param;\n return `${brand}/${version}`;\n }).join(\" \");\n }\n return navigator.userAgent;\n}\nfunction isSafari() {\n return /apple/i.test(navigator.vendor);\n}\nfunction isMac() {\n return getPlatform().toLowerCase().startsWith(\"mac\") && !navigator.maxTouchPoints;\n}\nfunction isJSDOM() {\n return getUserAgent().includes(\"jsdom/\");\n}\nfunction matchesFocusVisible(element) {\n if (!element || isJSDOM()) return true;\n try {\n return element.matches(\":focus-visible\");\n } catch (e) {\n return true;\n }\n}\nfunction isMouseLikePointerType(pointerType, strict) {\n var values = [\n \"mouse\",\n \"pen\"\n ];\n if (!strict) {\n values.push(\"\", void 0);\n }\n return values.includes(pointerType);\n}\nfunction clearTimeoutIfSet(timeoutRef) {\n if (timeoutRef.current !== -1) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = -1;\n }\n}\nfunction stopEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction isVirtualClick(event) {\n if (event.mozInputSource === 0 && event.isTrusted) return true;\n if (isAndroid() && event.pointerType) {\n return event.type === \"click\" && event.buttons === 1;\n }\n return event.detail === 0 && !event.pointerType;\n}\nfunction isVirtualPointerEvent(event) {\n if (isJSDOM()) return false;\n return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === \"mouse\" || event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === \"touch\";\n}\nfunction isAndroid() {\n var re = /android/i;\n return re.test(getPlatform()) || re.test(getUserAgent());\n}\nvar rafId = 0;\nfunction enqueueFocus(el) {\n var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var { preventScroll = false, cancelPrevious = true, sync = false } = options;\n cancelPrevious && cancelAnimationFrame(rafId);\n var exec = function() {\n return el === null || el === void 0 ? void 0 : el.focus({\n preventScroll\n });\n };\n if (sync) {\n exec();\n } else {\n rafId = requestAnimationFrame(exec);\n }\n}\nfunction isListIndexDisabled(listRef, index, disabledIndices) {\n if (typeof disabledIndices === \"function\") return disabledIndices(index);\n if (disabledIndices) return disabledIndices.includes(index);\n var element = listRef.current[index];\n return element == null || element.hasAttribute(\"disabled\") || element.getAttribute(\"aria-disabled\") === \"true\";\n}\nfunction findNonDisabledListIndex(listRef) {\n var { startingIndex = -1, decrement = false, disabledIndices, amount = 1 } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var index = startingIndex;\n do {\n index += decrement ? -amount : amount;\n } while (index >= 0 && index <= listRef.current.length - 1 && isListIndexDisabled(listRef, index, disabledIndices));\n return index;\n}\nfunction getMinListIndex(listRef, disabledIndices) {\n return findNonDisabledListIndex(listRef, {\n disabledIndices\n });\n}\nfunction getMaxListIndex(listRef, disabledIndices) {\n return findNonDisabledListIndex(listRef, {\n decrement: true,\n startingIndex: listRef.current.length,\n disabledIndices\n });\n}\nfunction isIndexOutOfListBounds(listRef, index) {\n return index < 0 || index >= listRef.current.length;\n}\n//# sourceMappingURL=utils.js.map\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,SAAS,GAAGC,MAAM,CAACC,cAAc;AACrC,IAAIC,gBAAgB,GAAGF,MAAM,CAACG,wBAAwB;AACtD,IAAIC,iBAAiB,GAAGJ,MAAM,CAACK,mBAAmB;AAClD,IAAIC,YAAY,GAAGN,MAAM,CAACO,SAAS,CAACC,cAAc;AAClD,IAAIC,QAAQ,GAAGA,CAACC,MAAM,EAAEC,GAAG,KAAK;EAC9B,KAAK,IAAIC,IAAI,IAAID,GAAG,EAClBZ,SAAS,CAACW,MAAM,EAAEE,IAAI,EAAE;IAAEC,GAAG,EAAEF,GAAG,CAACC,IAAI,CAAC;IAAEE,UAAU,EAAE;EAAK,CAAC,CAAC;AACjE,CAAC;AACD,IAAIC,WAAW,GAAGA,CAACC,EAAE,EAAEC,IAAI,EAAEC,MAAM,EAAEC,IAAI,KAAK;EAC5C,IAAIF,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;IAClE,KAAK,IAAIG,GAAG,IAAIhB,iBAAiB,CAACa,IAAI,CAAC,EACrC,IAAI,CAACX,YAAY,CAACe,IAAI,CAACL,EAAE,EAAEI,GAAG,CAAC,IAAIA,GAAG,KAAKF,MAAM,EAC/CnB,SAAS,CAACiB,EAAE,EAAEI,GAAG,EAAE;MAAEP,GAAG,EAAEA,CAAA,KAAMI,IAAI,CAACG,GAAG,CAAC;MAAEN,UAAU,EAAE,EAAEK,IAAI,GAAGjB,gBAAgB,CAACe,IAAI,EAAEG,GAAG,CAAC,CAAC,IAAID,IAAI,CAACL;IAAW,CAAC,CAAC;EACxH;EACA,OAAOE,EAAE;AACX,CAAC;AACD,IAAIM,YAAY,GAAIC,GAAG,IAAKR,WAAW,CAAChB,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE;EAAEyB,KAAK,EAAE;AAAK,CAAC,CAAC,EAAED,GAAG,CAAC;AAC1F,IAAIE,aAAa,GAAG,CAAC,CAAC;AACtBhB,QAAQ,CAACgB,aAAa,EAAE;EACtBC,aAAa,EAAEA,CAAA,KAAMA,aAAa;EAClCC,iBAAiB,EAAEA,CAAA,KAAMA,iBAAiB;EAC1CC,QAAQ,EAAEA,CAAA,KAAMA,QAAQ;EACxBC,YAAY,EAAEA,CAAA,KAAMA,YAAY;EAChCC,wBAAwB,EAAEA,CAAA,KAAMA,wBAAwB;EACxDC,WAAW,EAAEA,CAAA,KAAMA,WAAW;EAC9BC,eAAe,EAAEA,CAAA,KAAMA,eAAe;EACtCC,eAAe,EAAEA,CAAA,KAAMA,eAAe;EACtCC,SAAS,EAAEA,CAAA,KAAMA,SAAS;EAC1BC,SAAS,EAAEA,CAAA,KAAMA,SAAS;EAC1BC,aAAa,EAAEA,CAAA,KAAMA,aAAa;EAClCC,sBAAsB,EAAEA,CAAA,KAAMA,sBAAsB;EACpDC,mBAAmB,EAAEA,CAAA,KAAMA,mBAAmB;EAC9CC,KAAK,EAAEA,CAAA,KAAMA,KAAK;EAClBC,sBAAsB,EAAEA,CAAA,KAAMA,sBAAsB;EACpDC,QAAQ,EAAEA,CAAA,KAAMA,QAAQ;EACxBC,kBAAkB,EAAEA,CAAA,KAAMA,kBAAkB;EAC5CC,iBAAiB,EAAEA,CAAA,KAAMA,iBAAiB;EAC1CC,cAAc,EAAEA,CAAA,KAAMA,cAAc;EACpCC,qBAAqB,EAAEA,CAAA,KAAMA,qBAAqB;EAClDC,mBAAmB,EAAEA,CAAA,KAAMA,mBAAmB;EAC9CC,SAAS,EAAEA,CAAA,KAAMA;AACnB,CAAC,CAAC;AACFC,MAAM,CAACC,OAAO,GAAG3B,YAAY,CAACG,aAAa,CAAC;AAC5C,SAASyB,WAAWA,CAACC,IAAI,EAAEC,KAAK,EAAE;EAChC,IAAIA,KAAK,IAAI,IAAI,IAAI,OAAOC,MAAM,KAAK,WAAW,IAAID,KAAK,CAACC,MAAM,CAACC,WAAW,CAAC,EAAE;IAC/E,OAAO,CAAC,CAACF,KAAK,CAACC,MAAM,CAACC,WAAW,CAAC,CAACH,IAAI,CAAC;EAC1C,CAAC,MAAM;IACL,OAAOA,IAAI,YAAYC,KAAK;EAC9B;AACF;AACA,SAASrB,WAAWA,CAACwB,IAAI,EAAE;EACzB,OAAO,CAACA,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAACC,aAAa,KAAKC,QAAQ;AACrF;AACA,SAAS7B,QAAQA,CAAC8B,MAAM,EAAEC,KAAK,EAAE;EAC/B,IAAIC,kBAAkB;EACtB,IAAI,CAACF,MAAM,IAAI,CAACC,KAAK,EAAE,OAAO,KAAK;EACnC,IAAIE,QAAQ,GAAG,CAACD,kBAAkB,GAAGD,KAAK,CAACG,WAAW,MAAM,IAAI,IAAIF,kBAAkB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,kBAAkB,CAACvC,IAAI,CAACsC,KAAK,CAAC;EAC3I,IAAID,MAAM,CAAC9B,QAAQ,CAAC+B,KAAK,CAAC,EAAE,OAAO,IAAI;EACvC,IAAIE,QAAQ,IAAIE,YAAY,CAACF,QAAQ,CAAC,EAAE;IACtC,IAAIG,IAAI,GAAGL,KAAK;IAChB,OAAOK,IAAI,EAAE;MACX,IAAIN,MAAM,KAAKM,IAAI,EAAE,OAAO,IAAI;MAChCA,IAAI,GAAGA,IAAI,CAACC,UAAU,IAAID,IAAI,CAACE,IAAI;IACrC;EACF;EACA,OAAO,KAAK;AACd;AACA,SAASH,YAAYA,CAACR,IAAI,EAAE;EAC1B,OAAOL,WAAW,CAACK,IAAI,EAAEY,UAAU,CAAC;AACtC;AACA,SAASjC,SAASA,CAACkC,KAAK,EAAE;EACxB,IAAI,cAAc,IAAIA,KAAK,EAAE;IAC3B,OAAOA,KAAK,CAACC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;EAChC;EACA,OAAOD,KAAK,CAAC1D,MAAM;AACrB;AACA,SAASgB,aAAaA,CAAC4C,GAAG,EAAE;EAC1B,IAAIC,cAAc;EAClB,IAAIC,EAAE,GAAGF,GAAG,CAAC5C,aAAa;EAC1B,OAAO,CAAC8C,EAAE,KAAK,IAAI,IAAIA,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAACD,cAAc,GAAGC,EAAE,CAACC,UAAU,MAAM,IAAI,IAAIF,cAAc,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,cAAc,CAAC7C,aAAa,KAAK,IAAI,EAAE;IACvK8C,EAAE,GAAGA,EAAE,CAACC,UAAU,CAAC/C,aAAa;EAClC;EACA,OAAO8C,EAAE;AACX;AACA,SAASpC,aAAaA,CAACZ,KAAK,EAAE;EAC5B,OAAO0B,WAAW,CAAC1B,KAAK,EAAEkD,WAAW,CAAC;AACxC;AACA,SAASvC,SAASA,CAACX,KAAK,EAAE;EACxB,OAAO0B,WAAW,CAAC1B,KAAK,EAAEmD,OAAO,CAAC;AACpC;AACA,IAAIC,iBAAiB,GAAG,sHAAsH;AAC9I,SAASjC,iBAAiBA,CAACkC,OAAO,EAAE;EAClC,OAAOzC,aAAa,CAACyC,OAAO,CAAC,IAAIA,OAAO,CAACC,OAAO,CAACF,iBAAiB,CAAC;AACrE;AACA,SAASlC,kBAAkBA,CAACmC,OAAO,EAAE;EACnC,IAAI,CAACA,OAAO,EAAE,OAAO,KAAK;EAC1B,OAAOA,OAAO,CAACE,YAAY,CAAC,MAAM,CAAC,KAAK,UAAU,IAAIpC,iBAAiB,CAACkC,OAAO,CAAC;AAClF;AACA,SAASG,WAAWA,CAAA,EAAG;EACrB,IAAIC,MAAM,GAAGC,SAAS,CAACC,aAAa;EACpC,IAAIF,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACG,QAAQ,EAAE,OAAOH,MAAM,CAACG,QAAQ;EAC3F,OAAOF,SAAS,CAACE,QAAQ;AAC3B;AACA,SAASC,YAAYA,CAAA,EAAG;EACtB,IAAIJ,MAAM,GAAGC,SAAS,CAACC,aAAa;EACpC,IAAIF,MAAM,IAAIK,KAAK,CAACC,OAAO,CAACN,MAAM,CAACO,MAAM,CAAC,EAAE;IAC1C,OAAOP,MAAM,CAACO,MAAM,CAACC,GAAG,CAAC,UAASC,KAAK,EAAE;MACvC,IAAI;QAAEC,KAAK;QAAEC;MAAQ,CAAC,GAAGF,KAAK;MAC9B,OAAO,GAAGC,KAAK,IAAIC,OAAO,EAAE;IAC9B,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;EACd;EACA,OAAOX,SAAS,CAACY,SAAS;AAC5B;AACA,SAASrD,QAAQA,CAAA,EAAG;EAClB,OAAO,QAAQ,CAACsD,IAAI,CAACb,SAAS,CAACc,MAAM,CAAC;AACxC;AACA,SAASzD,KAAKA,CAAA,EAAG;EACf,OAAOyC,WAAW,CAAC,CAAC,CAACiB,WAAW,CAAC,CAAC,CAACC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAChB,SAAS,CAACiB,cAAc;AACnF;AACA,SAASC,OAAOA,CAAA,EAAG;EACjB,OAAOf,YAAY,CAAC,CAAC,CAACgB,QAAQ,CAAC,QAAQ,CAAC;AAC1C;AACA,SAASvD,mBAAmBA,CAAC+B,OAAO,EAAE;EACpC,IAAI,CAACA,OAAO,IAAIuB,OAAO,CAAC,CAAC,EAAE,OAAO,IAAI;EACtC,IAAI;IACF,OAAOvB,OAAO,CAACC,OAAO,CAAC,gBAAgB,CAAC;EAC1C,CAAC,CAAC,OAAOwB,CAAC,EAAE;IACV,OAAO,IAAI;EACb;AACF;AACA,SAAS9D,sBAAsBA,CAAC+D,WAAW,EAAEC,MAAM,EAAE;EACnD,IAAIC,MAAM,GAAG,CACX,OAAO,EACP,KAAK,CACN;EACD,IAAI,CAACD,MAAM,EAAE;IACXC,MAAM,CAACC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;EACzB;EACA,OAAOD,MAAM,CAACJ,QAAQ,CAACE,WAAW,CAAC;AACrC;AACA,SAAS5E,iBAAiBA,CAACgF,UAAU,EAAE;EACrC,IAAIA,UAAU,CAACC,OAAO,KAAK,CAAC,CAAC,EAAE;IAC7BC,YAAY,CAACF,UAAU,CAACC,OAAO,CAAC;IAChCD,UAAU,CAACC,OAAO,GAAG,CAAC,CAAC;EACzB;AACF;AACA,SAAS7D,SAASA,CAACqB,KAAK,EAAE;EACxBA,KAAK,CAAC0C,cAAc,CAAC,CAAC;EACtB1C,KAAK,CAAC2C,eAAe,CAAC,CAAC;AACzB;AACA,SAASnE,cAAcA,CAACwB,KAAK,EAAE;EAC7B,IAAIA,KAAK,CAAC4C,cAAc,KAAK,CAAC,IAAI5C,KAAK,CAAC6C,SAAS,EAAE,OAAO,IAAI;EAC9D,IAAIC,SAAS,CAAC,CAAC,IAAI9C,KAAK,CAACmC,WAAW,EAAE;IACpC,OAAOnC,KAAK,CAAC+C,IAAI,KAAK,OAAO,IAAI/C,KAAK,CAACgD,OAAO,KAAK,CAAC;EACtD;EACA,OAAOhD,KAAK,CAACiD,MAAM,KAAK,CAAC,IAAI,CAACjD,KAAK,CAACmC,WAAW;AACjD;AACA,SAAS1D,qBAAqBA,CAACuB,KAAK,EAAE;EACpC,IAAIgC,OAAO,CAAC,CAAC,EAAE,OAAO,KAAK;EAC3B,OAAO,CAACc,SAAS,CAAC,CAAC,IAAI9C,KAAK,CAACkD,KAAK,KAAK,CAAC,IAAIlD,KAAK,CAACmD,MAAM,KAAK,CAAC,IAAIL,SAAS,CAAC,CAAC,IAAI9C,KAAK,CAACkD,KAAK,KAAK,CAAC,IAAIlD,KAAK,CAACmD,MAAM,KAAK,CAAC,IAAInD,KAAK,CAACoD,QAAQ,KAAK,CAAC,IAAIpD,KAAK,CAACiD,MAAM,KAAK,CAAC,IAAIjD,KAAK,CAACmC,WAAW,KAAK,OAAO,IAAInC,KAAK,CAACkD,KAAK,GAAG,CAAC,IAAIlD,KAAK,CAACmD,MAAM,GAAG,CAAC,IAAInD,KAAK,CAACoD,QAAQ,KAAK,CAAC,IAAIpD,KAAK,CAACiD,MAAM,KAAK,CAAC,IAAIjD,KAAK,CAACmC,WAAW,KAAK,OAAO;AAC/T;AACA,SAASW,SAASA,CAAA,EAAG;EACnB,IAAIO,EAAE,GAAG,UAAU;EACnB,OAAOA,EAAE,CAAC1B,IAAI,CAACf,WAAW,CAAC,CAAC,CAAC,IAAIyC,EAAE,CAAC1B,IAAI,CAACV,YAAY,CAAC,CAAC,CAAC;AAC1D;AACA,IAAIqC,KAAK,GAAG,CAAC;AACb,SAAS7F,YAAYA,CAAC2C,EAAE,EAAE;EACxB,IAAImD,OAAO,GAAGC,SAAS,CAACC,MAAM,GAAG,CAAC,IAAID,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAGA,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;EACjF,IAAI;IAAEE,aAAa,GAAG,KAAK;IAAEC,cAAc,GAAG,IAAI;IAAEC,IAAI,GAAG;EAAM,CAAC,GAAGL,OAAO;EAC5EI,cAAc,IAAIE,oBAAoB,CAACP,KAAK,CAAC;EAC7C,IAAIQ,IAAI,GAAG,SAAAA,CAAA,EAAW;IACpB,OAAO1D,EAAE,KAAK,IAAI,IAAIA,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAAC2D,KAAK,CAAC;MACtDL;IACF,CAAC,CAAC;EACJ,CAAC;EACD,IAAIE,IAAI,EAAE;IACRE,IAAI,CAAC,CAAC;EACR,CAAC,MAAM;IACLR,KAAK,GAAGU,qBAAqB,CAACF,IAAI,CAAC;EACrC;AACF;AACA,SAAS5F,mBAAmBA,CAAC+F,OAAO,EAAEC,KAAK,EAAEC,eAAe,EAAE;EAC5D,IAAI,OAAOA,eAAe,KAAK,UAAU,EAAE,OAAOA,eAAe,CAACD,KAAK,CAAC;EACxE,IAAIC,eAAe,EAAE,OAAOA,eAAe,CAAClC,QAAQ,CAACiC,KAAK,CAAC;EAC3D,IAAIzD,OAAO,GAAGwD,OAAO,CAACzB,OAAO,CAAC0B,KAAK,CAAC;EACpC,OAAOzD,OAAO,IAAI,IAAI,IAAIA,OAAO,CAAC2D,YAAY,CAAC,UAAU,CAAC,IAAI3D,OAAO,CAACE,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM;AAChH;AACA,SAASjD,wBAAwBA,CAACuG,OAAO,EAAE;EACzC,IAAI;IAAEI,aAAa,GAAG,CAAC,CAAC;IAAEC,SAAS,GAAG,KAAK;IAAEH,eAAe;IAAEI,MAAM,GAAG;EAAE,CAAC,GAAGf,SAAS,CAACC,MAAM,GAAG,CAAC,IAAID,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAGA,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;EAChJ,IAAIU,KAAK,GAAGG,aAAa;EACzB,GAAG;IACDH,KAAK,IAAII,SAAS,GAAG,CAACC,MAAM,GAAGA,MAAM;EACvC,CAAC,QAAQL,KAAK,IAAI,CAAC,IAAIA,KAAK,IAAID,OAAO,CAACzB,OAAO,CAACiB,MAAM,GAAG,CAAC,IAAIvF,mBAAmB,CAAC+F,OAAO,EAAEC,KAAK,EAAEC,eAAe,CAAC;EAClH,OAAOD,KAAK;AACd;AACA,SAASrG,eAAeA,CAACoG,OAAO,EAAEE,eAAe,EAAE;EACjD,OAAOzG,wBAAwB,CAACuG,OAAO,EAAE;IACvCE;EACF,CAAC,CAAC;AACJ;AACA,SAASvG,eAAeA,CAACqG,OAAO,EAAEE,eAAe,EAAE;EACjD,OAAOzG,wBAAwB,CAACuG,OAAO,EAAE;IACvCK,SAAS,EAAE,IAAI;IACfD,aAAa,EAAEJ,OAAO,CAACzB,OAAO,CAACiB,MAAM;IACrCU;EACF,CAAC,CAAC;AACJ;AACA,SAASlG,sBAAsBA,CAACgG,OAAO,EAAEC,KAAK,EAAE;EAC9C,OAAOA,KAAK,GAAG,CAAC,IAAIA,KAAK,IAAID,OAAO,CAACzB,OAAO,CAACiB,MAAM;AACrD","ignoreList":[]}
@@ -0,0 +1,118 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: true
30
+ }) : target, mod));
31
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: true
33
+ }), mod);
34
+ var inner_exports = {};
35
+ __export(inner_exports, {
36
+ inner: () => inner
37
+ });
38
+ module.exports = __toCommonJS(inner_exports);
39
+ var ReactDOM = __toESM(require("react-dom"), 1);
40
+ var import_react_dom = require("@floating-ui/react-dom");
41
+ function getArgsWithCustomFloatingHeight(state, height) {
42
+ return {
43
+ ...state,
44
+ rects: {
45
+ ...state.rects,
46
+ floating: {
47
+ ...state.rects.floating,
48
+ height
49
+ }
50
+ }
51
+ };
52
+ }
53
+ const inner = props => ({
54
+ name: "inner",
55
+ options: props,
56
+ async fn(state) {
57
+ const {
58
+ listRef,
59
+ overflowRef,
60
+ onFallbackChange,
61
+ offset: innerOffset = 0,
62
+ index = 0,
63
+ minItemsVisible = 4,
64
+ referenceOverflowThreshold = 0,
65
+ scrollRef,
66
+ padding = 0
67
+ } = props;
68
+ const {
69
+ rects,
70
+ elements: {
71
+ floating
72
+ }
73
+ } = state;
74
+ const item = listRef.current?.[index ?? 0];
75
+ const scrollEl = scrollRef?.current || floating;
76
+ const clientTop = floating.clientTop || scrollEl.clientTop;
77
+ const floatingIsBordered = floating.clientTop !== 0;
78
+ const scrollElIsBordered = scrollEl.clientTop !== 0;
79
+ const floatingIsScrollEl = floating === scrollEl;
80
+ if (!item || index == null) {
81
+ onFallbackChange?.(true);
82
+ return {};
83
+ }
84
+ const nextArgs = {
85
+ ...state,
86
+ ...(await (0, import_react_dom.offset)(-item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset).fn(state))
87
+ };
88
+ const detectOverflowOptions = {
89
+ padding
90
+ };
91
+ const overflow = await (0, import_react_dom.detectOverflow)(getArgsWithCustomFloatingHeight(nextArgs, scrollEl.scrollHeight + clientTop + floating.clientTop), detectOverflowOptions);
92
+ const refOverflow = await (0, import_react_dom.detectOverflow)(nextArgs, {
93
+ ...detectOverflowOptions,
94
+ elementContext: "reference"
95
+ });
96
+ const diffY = Math.max(0, overflow.top);
97
+ const nextY = nextArgs.y + diffY;
98
+ const isScrollable = scrollEl.scrollHeight > scrollEl.clientHeight;
99
+ const rounder = isScrollable ? v => v : Math.round;
100
+ const maxHeight = rounder(Math.max(0, scrollEl.scrollHeight + (floatingIsBordered && floatingIsScrollEl || scrollElIsBordered ? clientTop * 2 : 0) - diffY - Math.max(0, overflow.bottom)));
101
+ scrollEl.style.maxHeight = `${maxHeight}px`;
102
+ scrollEl.scrollTop = diffY;
103
+ if (onFallbackChange) {
104
+ const shouldFallback = scrollEl.offsetHeight < item.offsetHeight * Math.min(minItemsVisible, listRef.current?.length ?? 0) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold;
105
+ ReactDOM.flushSync(() => onFallbackChange(shouldFallback));
106
+ }
107
+ if (overflowRef) {
108
+ ;
109
+ overflowRef.current = await (0, import_react_dom.detectOverflow)(getArgsWithCustomFloatingHeight({
110
+ ...nextArgs,
111
+ y: nextY
112
+ }, scrollEl.offsetHeight + clientTop + floating.clientTop), detectOverflowOptions);
113
+ }
114
+ return {
115
+ y: nextY
116
+ };
117
+ }
118
+ });