@tamagui/floating 2.0.0-rc.3 → 2.0.0-rc.31

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 (190) hide show
  1. package/dist/cjs/Floating.native.js +4 -0
  2. package/dist/cjs/Floating.native.js.map +1 -1
  3. package/dist/cjs/index.cjs +33 -2
  4. package/dist/cjs/index.native.js +33 -2
  5. package/dist/cjs/index.native.js.map +1 -1
  6. package/dist/cjs/interactions/PopupTriggerMap.cjs +40 -0
  7. package/dist/cjs/interactions/PopupTriggerMap.native.js +73 -0
  8. package/dist/cjs/interactions/PopupTriggerMap.native.js.map +1 -0
  9. package/dist/cjs/interactions/createFloatingEvents.cjs +41 -0
  10. package/dist/cjs/interactions/createFloatingEvents.native.js +47 -0
  11. package/dist/cjs/interactions/createFloatingEvents.native.js.map +1 -0
  12. package/dist/cjs/interactions/safePolygon.cjs +191 -0
  13. package/dist/cjs/interactions/safePolygon.native.js +205 -0
  14. package/dist/cjs/interactions/safePolygon.native.js.map +1 -0
  15. package/dist/cjs/interactions/types.cjs +16 -0
  16. package/dist/cjs/interactions/types.native.js +19 -0
  17. package/dist/cjs/interactions/types.native.js.map +1 -0
  18. package/dist/cjs/interactions/useClick.cjs +82 -0
  19. package/dist/cjs/interactions/useClick.native.js +90 -0
  20. package/dist/cjs/interactions/useClick.native.js.map +1 -0
  21. package/dist/cjs/interactions/useDelayGroup.cjs +96 -0
  22. package/dist/cjs/interactions/useDelayGroup.native.js +109 -0
  23. package/dist/cjs/interactions/useDelayGroup.native.js.map +1 -0
  24. package/dist/cjs/interactions/useFocus.cjs +101 -0
  25. package/dist/cjs/interactions/useFocus.native.js +113 -0
  26. package/dist/cjs/interactions/useFocus.native.js.map +1 -0
  27. package/dist/cjs/interactions/useHover.cjs +224 -0
  28. package/dist/cjs/interactions/useHover.native.js +248 -0
  29. package/dist/cjs/interactions/useHover.native.js.map +1 -0
  30. package/dist/cjs/interactions/useInnerOffset.cjs +104 -0
  31. package/dist/cjs/interactions/useInnerOffset.native.js +118 -0
  32. package/dist/cjs/interactions/useInnerOffset.native.js.map +1 -0
  33. package/dist/cjs/interactions/useInteractions.cjs +76 -0
  34. package/dist/cjs/interactions/useInteractions.native.js +164 -0
  35. package/dist/cjs/interactions/useInteractions.native.js.map +1 -0
  36. package/dist/cjs/interactions/useListNavigation.cjs +253 -0
  37. package/dist/cjs/interactions/useListNavigation.native.js +297 -0
  38. package/dist/cjs/interactions/useListNavigation.native.js.map +1 -0
  39. package/dist/cjs/interactions/useRole.cjs +112 -0
  40. package/dist/cjs/interactions/useRole.native.js +128 -0
  41. package/dist/cjs/interactions/useRole.native.js.map +1 -0
  42. package/dist/cjs/interactions/useTypeahead.cjs +93 -0
  43. package/dist/cjs/interactions/useTypeahead.native.js +114 -0
  44. package/dist/cjs/interactions/useTypeahead.native.js.map +1 -0
  45. package/dist/cjs/interactions/utils.cjs +178 -0
  46. package/dist/cjs/interactions/utils.native.js +188 -0
  47. package/dist/cjs/interactions/utils.native.js.map +1 -0
  48. package/dist/cjs/middleware/inner.cjs +106 -0
  49. package/dist/cjs/middleware/inner.native.js +120 -0
  50. package/dist/cjs/middleware/inner.native.js.map +1 -0
  51. package/dist/cjs/useFloating.cjs +21 -17
  52. package/dist/cjs/useFloating.native.js +2 -0
  53. package/dist/cjs/useFloating.native.js.map +1 -1
  54. package/dist/esm/Floating.native.js +4 -1
  55. package/dist/esm/Floating.native.js.map +1 -1
  56. package/dist/esm/index.js +17 -34
  57. package/dist/esm/index.js.map +1 -6
  58. package/dist/esm/index.mjs +16 -2
  59. package/dist/esm/index.mjs.map +1 -1
  60. package/dist/esm/index.native.js +16 -2
  61. package/dist/esm/index.native.js.map +1 -1
  62. package/dist/esm/interactions/PopupTriggerMap.mjs +17 -0
  63. package/dist/esm/interactions/PopupTriggerMap.mjs.map +1 -0
  64. package/dist/esm/interactions/PopupTriggerMap.native.js +47 -0
  65. package/dist/esm/interactions/PopupTriggerMap.native.js.map +1 -0
  66. package/dist/esm/interactions/createFloatingEvents.mjs +18 -0
  67. package/dist/esm/interactions/createFloatingEvents.mjs.map +1 -0
  68. package/dist/esm/interactions/createFloatingEvents.native.js +21 -0
  69. package/dist/esm/interactions/createFloatingEvents.native.js.map +1 -0
  70. package/dist/esm/interactions/safePolygon.mjs +168 -0
  71. package/dist/esm/interactions/safePolygon.mjs.map +1 -0
  72. package/dist/esm/interactions/safePolygon.native.js +179 -0
  73. package/dist/esm/interactions/safePolygon.native.js.map +1 -0
  74. package/dist/esm/interactions/types.mjs +2 -0
  75. package/dist/esm/interactions/types.mjs.map +1 -0
  76. package/dist/esm/interactions/types.native.js +2 -0
  77. package/dist/esm/interactions/types.native.js.map +1 -0
  78. package/dist/esm/interactions/useClick.mjs +59 -0
  79. package/dist/esm/interactions/useClick.mjs.map +1 -0
  80. package/dist/esm/interactions/useClick.native.js +64 -0
  81. package/dist/esm/interactions/useClick.native.js.map +1 -0
  82. package/dist/esm/interactions/useDelayGroup.mjs +60 -0
  83. package/dist/esm/interactions/useDelayGroup.mjs.map +1 -0
  84. package/dist/esm/interactions/useDelayGroup.native.js +70 -0
  85. package/dist/esm/interactions/useDelayGroup.native.js.map +1 -0
  86. package/dist/esm/interactions/useFocus.mjs +78 -0
  87. package/dist/esm/interactions/useFocus.mjs.map +1 -0
  88. package/dist/esm/interactions/useFocus.native.js +87 -0
  89. package/dist/esm/interactions/useFocus.native.js.map +1 -0
  90. package/dist/esm/interactions/useHover.mjs +189 -0
  91. package/dist/esm/interactions/useHover.mjs.map +1 -0
  92. package/dist/esm/interactions/useHover.native.js +210 -0
  93. package/dist/esm/interactions/useHover.native.js.map +1 -0
  94. package/dist/esm/interactions/useInnerOffset.mjs +70 -0
  95. package/dist/esm/interactions/useInnerOffset.mjs.map +1 -0
  96. package/dist/esm/interactions/useInnerOffset.native.js +81 -0
  97. package/dist/esm/interactions/useInnerOffset.native.js.map +1 -0
  98. package/dist/esm/interactions/useInteractions.mjs +53 -0
  99. package/dist/esm/interactions/useInteractions.mjs.map +1 -0
  100. package/dist/esm/interactions/useInteractions.native.js +138 -0
  101. package/dist/esm/interactions/useInteractions.native.js.map +1 -0
  102. package/dist/esm/interactions/useListNavigation.mjs +230 -0
  103. package/dist/esm/interactions/useListNavigation.mjs.map +1 -0
  104. package/dist/esm/interactions/useListNavigation.native.js +271 -0
  105. package/dist/esm/interactions/useListNavigation.native.js.map +1 -0
  106. package/dist/esm/interactions/useRole.mjs +78 -0
  107. package/dist/esm/interactions/useRole.mjs.map +1 -0
  108. package/dist/esm/interactions/useRole.native.js +91 -0
  109. package/dist/esm/interactions/useRole.native.js.map +1 -0
  110. package/dist/esm/interactions/useTypeahead.mjs +70 -0
  111. package/dist/esm/interactions/useTypeahead.mjs.map +1 -0
  112. package/dist/esm/interactions/useTypeahead.native.js +88 -0
  113. package/dist/esm/interactions/useTypeahead.native.js.map +1 -0
  114. package/dist/esm/interactions/utils.mjs +134 -0
  115. package/dist/esm/interactions/utils.mjs.map +1 -0
  116. package/dist/esm/interactions/utils.native.js +141 -0
  117. package/dist/esm/interactions/utils.native.js.map +1 -0
  118. package/dist/esm/middleware/inner.mjs +72 -0
  119. package/dist/esm/middleware/inner.mjs.map +1 -0
  120. package/dist/esm/middleware/inner.native.js +83 -0
  121. package/dist/esm/middleware/inner.native.js.map +1 -0
  122. package/dist/esm/useFloating.mjs +21 -17
  123. package/dist/esm/useFloating.mjs.map +1 -1
  124. package/dist/esm/useFloating.native.js +2 -0
  125. package/dist/esm/useFloating.native.js.map +1 -1
  126. package/package.json +8 -10
  127. package/src/Floating.native.tsx +1 -0
  128. package/src/index.ts +49 -0
  129. package/src/interactions/PopupTriggerMap.ts +30 -0
  130. package/src/interactions/createFloatingEvents.ts +34 -0
  131. package/src/interactions/safePolygon.ts +500 -0
  132. package/src/interactions/types.ts +165 -0
  133. package/src/interactions/useClick.ts +148 -0
  134. package/src/interactions/useDelayGroup.ts +114 -0
  135. package/src/interactions/useFocus.ts +164 -0
  136. package/src/interactions/useHover.ts +453 -0
  137. package/src/interactions/useInnerOffset.ts +116 -0
  138. package/src/interactions/useInteractions.ts +101 -0
  139. package/src/interactions/useListNavigation.ts +578 -0
  140. package/src/interactions/useRole.ts +103 -0
  141. package/src/interactions/useTypeahead.ts +173 -0
  142. package/src/interactions/utils.ts +234 -0
  143. package/src/middleware/inner.ts +142 -0
  144. package/src/useFloating.tsx +13 -1
  145. package/types/Floating.native.d.ts +1 -0
  146. package/types/Floating.native.d.ts.map +1 -1
  147. package/types/index.d.ts +17 -2
  148. package/types/index.d.ts.map +1 -1
  149. package/types/interactions/PopupTriggerMap.d.ts +8 -0
  150. package/types/interactions/PopupTriggerMap.d.ts.map +1 -0
  151. package/types/interactions/createFloatingEvents.d.ts +7 -0
  152. package/types/interactions/createFloatingEvents.d.ts.map +1 -0
  153. package/types/interactions/safePolygon.d.ts +4 -0
  154. package/types/interactions/safePolygon.d.ts.map +1 -0
  155. package/types/interactions/types.d.ts +123 -0
  156. package/types/interactions/types.d.ts.map +1 -0
  157. package/types/interactions/useClick.d.ts +3 -0
  158. package/types/interactions/useClick.d.ts.map +1 -0
  159. package/types/interactions/useDelayGroup.d.ts +23 -0
  160. package/types/interactions/useDelayGroup.d.ts.map +1 -0
  161. package/types/interactions/useFocus.d.ts +3 -0
  162. package/types/interactions/useFocus.d.ts.map +1 -0
  163. package/types/interactions/useHover.d.ts +6 -0
  164. package/types/interactions/useHover.d.ts.map +1 -0
  165. package/types/interactions/useInnerOffset.d.ts +3 -0
  166. package/types/interactions/useInnerOffset.d.ts.map +1 -0
  167. package/types/interactions/useInteractions.d.ts +8 -0
  168. package/types/interactions/useInteractions.d.ts.map +1 -0
  169. package/types/interactions/useListNavigation.d.ts +3 -0
  170. package/types/interactions/useListNavigation.d.ts.map +1 -0
  171. package/types/interactions/useRole.d.ts +3 -0
  172. package/types/interactions/useRole.d.ts.map +1 -0
  173. package/types/interactions/useTypeahead.d.ts +3 -0
  174. package/types/interactions/useTypeahead.d.ts.map +1 -0
  175. package/types/interactions/utils.d.ts +46 -0
  176. package/types/interactions/utils.d.ts.map +1 -0
  177. package/types/middleware/inner.d.ts +14 -0
  178. package/types/middleware/inner.d.ts.map +1 -0
  179. package/types/useFloating.d.ts +7 -1
  180. package/types/useFloating.d.ts.map +1 -1
  181. package/dist/cjs/Floating.js +0 -15
  182. package/dist/cjs/Floating.js.map +0 -6
  183. package/dist/cjs/index.js +0 -34
  184. package/dist/cjs/index.js.map +0 -6
  185. package/dist/cjs/useFloating.js +0 -46
  186. package/dist/cjs/useFloating.js.map +0 -6
  187. package/dist/esm/Floating.js +0 -2
  188. package/dist/esm/Floating.js.map +0 -6
  189. package/dist/esm/useFloating.js +0 -23
  190. package/dist/esm/useFloating.js.map +0 -6
@@ -0,0 +1,114 @@
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: !0
11
+ });
12
+ },
13
+ __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: !0
22
+ }), mod);
23
+ var useTypeahead_exports = {};
24
+ __export(useTypeahead_exports, {
25
+ useTypeahead: () => useTypeahead
26
+ });
27
+ module.exports = __toCommonJS(useTypeahead_exports);
28
+ var import_react = require("react"),
29
+ import_use_event = require("@tamagui/use-event"),
30
+ import_utils = require("./utils.native.js");
31
+ function useTypeahead(context, props) {
32
+ var {
33
+ open,
34
+ dataRef
35
+ } = context,
36
+ {
37
+ listRef,
38
+ activeIndex,
39
+ onMatch: unstable_onMatch,
40
+ onTypingChange: unstable_onTypingChange,
41
+ enabled = !0,
42
+ findMatch = null,
43
+ resetMs = 750,
44
+ ignoreKeys = [],
45
+ selectedIndex = null
46
+ } = props,
47
+ timeoutIdRef = (0, import_react.useRef)(-1),
48
+ stringRef = (0, import_react.useRef)(""),
49
+ _ref,
50
+ prevIndexRef = (0, import_react.useRef)((_ref = selectedIndex ?? activeIndex) !== null && _ref !== void 0 ? _ref : -1),
51
+ matchIndexRef = (0, import_react.useRef)(null),
52
+ onMatch = (0, import_use_event.useEvent)(unstable_onMatch || function () {}),
53
+ onTypingChange = (0, import_use_event.useEvent)(unstable_onTypingChange || function () {}),
54
+ findMatchRef = (0, import_react.useRef)(findMatch);
55
+ findMatchRef.current = findMatch;
56
+ var ignoreKeysRef = (0, import_react.useRef)(ignoreKeys);
57
+ ignoreKeysRef.current = ignoreKeys, (0, import_react.useLayoutEffect)(function () {
58
+ open && ((0, import_utils.clearTimeoutIfSet)(timeoutIdRef), matchIndexRef.current = null, stringRef.current = "");
59
+ }, [open]), (0, import_react.useLayoutEffect)(function () {
60
+ if (open && stringRef.current === "") {
61
+ var _ref2;
62
+ prevIndexRef.current = (_ref2 = selectedIndex ?? activeIndex) !== null && _ref2 !== void 0 ? _ref2 : -1;
63
+ }
64
+ }, [open, selectedIndex, activeIndex]);
65
+ var setTypingChange = function (value) {
66
+ value ? dataRef.current.typing || (dataRef.current.typing = value, onTypingChange(value)) : dataRef.current.typing && (dataRef.current.typing = value, onTypingChange(value));
67
+ },
68
+ onKeyDown = function (event) {
69
+ function getMatchingIndex(list, orderedList, string) {
70
+ var str = findMatchRef.current ? findMatchRef.current(orderedList, string) : orderedList.find(function (text) {
71
+ return text?.toLocaleLowerCase().indexOf(string.toLocaleLowerCase()) === 0;
72
+ });
73
+ return str ? list.indexOf(str) : -1;
74
+ }
75
+ var listContent = listRef.current;
76
+ if (stringRef.current.length > 0 && stringRef.current[0] !== " " && (getMatchingIndex(listContent, listContent, stringRef.current) === -1 ? setTypingChange(!1) : event.key === " " && (0, import_utils.stopEvent)(event)), !(listContent == null || ignoreKeysRef.current.includes(event.key) ||
77
+ // character key
78
+ event.key.length !== 1 ||
79
+ // modifier key
80
+ event.ctrlKey || event.metaKey || event.altKey)) {
81
+ open && event.key !== " " && ((0, import_utils.stopEvent)(event), setTypingChange(!0));
82
+ var allowRapidSuccessionOfFirstLetter = listContent.every(function (text) {
83
+ var _text_, _text_1;
84
+ return text ? ((_text_ = text[0]) === null || _text_ === void 0 ? void 0 : _text_.toLocaleLowerCase()) !== ((_text_1 = text[1]) === null || _text_1 === void 0 ? void 0 : _text_1.toLocaleLowerCase()) : !0;
85
+ });
86
+ allowRapidSuccessionOfFirstLetter && stringRef.current === event.key && (stringRef.current = "", prevIndexRef.current = matchIndexRef.current), stringRef.current += event.key, (0, import_utils.clearTimeoutIfSet)(timeoutIdRef), timeoutIdRef.current = window.setTimeout(function () {
87
+ stringRef.current = "", prevIndexRef.current = matchIndexRef.current, setTypingChange(!1);
88
+ }, resetMs);
89
+ var prevIndex = prevIndexRef.current,
90
+ index = getMatchingIndex(listContent, [...listContent.slice((prevIndex || 0) + 1), ...listContent.slice(0, (prevIndex || 0) + 1)], stringRef.current);
91
+ index !== -1 ? (onMatch(index), matchIndexRef.current = index) : event.key !== " " && (stringRef.current = "", setTypingChange(!1));
92
+ }
93
+ },
94
+ reference = (0, import_react.useMemo)(function () {
95
+ return {
96
+ onKeyDown
97
+ };
98
+ }, [open, enabled]),
99
+ floating = (0, import_react.useMemo)(function () {
100
+ return {
101
+ onKeyDown,
102
+ onKeyUp(event) {
103
+ event.key === " " && setTypingChange(!1);
104
+ }
105
+ };
106
+ }, [open, enabled]);
107
+ return (0, import_react.useMemo)(function () {
108
+ return enabled ? {
109
+ reference,
110
+ floating
111
+ } : {};
112
+ }, [enabled, reference, floating]);
113
+ }
114
+ //# sourceMappingURL=useTypeahead.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useTypeahead_exports","__export","useTypeahead","module","exports","import_react","require","import_use_event","import_utils","context","props","open","dataRef","listRef","activeIndex","onMatch","unstable_onMatch","onTypingChange","unstable_onTypingChange","enabled","findMatch","resetMs","ignoreKeys","selectedIndex","timeoutIdRef","useRef","stringRef","_ref","prevIndexRef","matchIndexRef","useEvent","findMatchRef","current","ignoreKeysRef","useLayoutEffect","clearTimeoutIfSet","_ref2","setTypingChange","typing","onKeyDown","event","getMatchingIndex","list","orderedList","string","str","find","text","toLocaleLowerCase","indexOf","listContent","length","key","stopEvent","includes","ctrlKey","metaKey","altKey","allowRapidSuccessionOfFirstLetter","every","_text_","_text_1","window","setTimeout","prevIndex","index","slice","reference","useMemo","floating","onKeyUp"],"sources":["../../../src/interactions/useTypeahead.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,178 @@
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: !0
9
+ });
10
+ },
11
+ __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
13
+ get: () => from[key],
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ return to;
17
+ };
18
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
+ value: !0
20
+ }), mod);
21
+ var utils_exports = {};
22
+ __export(utils_exports, {
23
+ activeElement: () => activeElement,
24
+ clearTimeoutIfSet: () => clearTimeoutIfSet,
25
+ contains: () => contains,
26
+ enqueueFocus: () => enqueueFocus,
27
+ findNonDisabledListIndex: () => findNonDisabledListIndex,
28
+ getDocument: () => getDocument,
29
+ getMaxListIndex: () => getMaxListIndex,
30
+ getMinListIndex: () => getMinListIndex,
31
+ getTarget: () => getTarget,
32
+ isElement: () => isElement,
33
+ isHTMLElement: () => isHTMLElement,
34
+ isIndexOutOfListBounds: () => isIndexOutOfListBounds,
35
+ isListIndexDisabled: () => isListIndexDisabled,
36
+ isMac: () => isMac,
37
+ isMouseLikePointerType: () => isMouseLikePointerType,
38
+ isSafari: () => isSafari,
39
+ isTypeableCombobox: () => isTypeableCombobox,
40
+ isTypeableElement: () => isTypeableElement,
41
+ isVirtualClick: () => isVirtualClick,
42
+ isVirtualPointerEvent: () => isVirtualPointerEvent,
43
+ matchesFocusVisible: () => matchesFocusVisible,
44
+ stopEvent: () => stopEvent
45
+ });
46
+ module.exports = __toCommonJS(utils_exports);
47
+ function getDocument(node) {
48
+ return node?.ownerDocument || document;
49
+ }
50
+ function contains(parent, child) {
51
+ if (!parent || !child) return !1;
52
+ const rootNode = child.getRootNode?.();
53
+ if (parent.contains(child)) return !0;
54
+ if (rootNode && isShadowRoot(rootNode)) {
55
+ let next = child;
56
+ for (; next;) {
57
+ if (parent === next) return !0;
58
+ next = next.parentNode || next.host;
59
+ }
60
+ }
61
+ return !1;
62
+ }
63
+ function isShadowRoot(node) {
64
+ return node instanceof ShadowRoot;
65
+ }
66
+ function getTarget(event) {
67
+ return "composedPath" in event ? event.composedPath()[0] : event.target;
68
+ }
69
+ function activeElement(doc) {
70
+ let el = doc.activeElement;
71
+ for (; el?.shadowRoot?.activeElement != null;) el = el.shadowRoot.activeElement;
72
+ return el;
73
+ }
74
+ function isHTMLElement(value) {
75
+ return value instanceof HTMLElement;
76
+ }
77
+ function isElement(value) {
78
+ return value instanceof Element;
79
+ }
80
+ const TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
81
+ function isTypeableElement(element) {
82
+ return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);
83
+ }
84
+ function isTypeableCombobox(element) {
85
+ return element ? element.getAttribute("role") === "combobox" && isTypeableElement(element) : !1;
86
+ }
87
+ function getPlatform() {
88
+ const uaData = navigator.userAgentData;
89
+ return uaData?.platform ? uaData.platform : navigator.platform;
90
+ }
91
+ function getUserAgent() {
92
+ const uaData = navigator.userAgentData;
93
+ return uaData && Array.isArray(uaData.brands) ? uaData.brands.map(({
94
+ brand,
95
+ version
96
+ }) => `${brand}/${version}`).join(" ") : navigator.userAgent;
97
+ }
98
+ function isSafari() {
99
+ return /apple/i.test(navigator.vendor);
100
+ }
101
+ function isMac() {
102
+ return getPlatform().toLowerCase().startsWith("mac") && !navigator.maxTouchPoints;
103
+ }
104
+ function isJSDOM() {
105
+ return getUserAgent().includes("jsdom/");
106
+ }
107
+ function matchesFocusVisible(element) {
108
+ if (!element || isJSDOM()) return !0;
109
+ try {
110
+ return element.matches(":focus-visible");
111
+ } catch {
112
+ return !0;
113
+ }
114
+ }
115
+ function isMouseLikePointerType(pointerType, strict) {
116
+ const values = ["mouse", "pen"];
117
+ return strict || values.push("", void 0), values.includes(pointerType);
118
+ }
119
+ function clearTimeoutIfSet(timeoutRef) {
120
+ timeoutRef.current !== -1 && (clearTimeout(timeoutRef.current), timeoutRef.current = -1);
121
+ }
122
+ function stopEvent(event) {
123
+ event.preventDefault(), event.stopPropagation();
124
+ }
125
+ function isVirtualClick(event) {
126
+ return event.mozInputSource === 0 && event.isTrusted ? !0 : isAndroid() && event.pointerType ? event.type === "click" && event.buttons === 1 : event.detail === 0 && !event.pointerType;
127
+ }
128
+ function isVirtualPointerEvent(event) {
129
+ return isJSDOM() ? !1 : !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";
130
+ }
131
+ function isAndroid() {
132
+ const re = /android/i;
133
+ return re.test(getPlatform()) || re.test(getUserAgent());
134
+ }
135
+ let rafId = 0;
136
+ function enqueueFocus(el, options = {}) {
137
+ const {
138
+ preventScroll = !1,
139
+ cancelPrevious = !0,
140
+ sync = !1
141
+ } = options;
142
+ cancelPrevious && cancelAnimationFrame(rafId);
143
+ const exec = () => el?.focus({
144
+ preventScroll
145
+ });
146
+ sync ? exec() : rafId = requestAnimationFrame(exec);
147
+ }
148
+ function isListIndexDisabled(listRef, index, disabledIndices) {
149
+ if (typeof disabledIndices == "function") return disabledIndices(index);
150
+ if (disabledIndices) return disabledIndices.includes(index);
151
+ const element = listRef.current[index];
152
+ return element == null || element.hasAttribute("disabled") || element.getAttribute("aria-disabled") === "true";
153
+ }
154
+ function findNonDisabledListIndex(listRef, {
155
+ startingIndex = -1,
156
+ decrement = !1,
157
+ disabledIndices,
158
+ amount = 1
159
+ } = {}) {
160
+ let index = startingIndex;
161
+ do index += decrement ? -amount : amount; while (index >= 0 && index <= listRef.current.length - 1 && isListIndexDisabled(listRef, index, disabledIndices));
162
+ return index;
163
+ }
164
+ function getMinListIndex(listRef, disabledIndices) {
165
+ return findNonDisabledListIndex(listRef, {
166
+ disabledIndices
167
+ });
168
+ }
169
+ function getMaxListIndex(listRef, disabledIndices) {
170
+ return findNonDisabledListIndex(listRef, {
171
+ decrement: !0,
172
+ startingIndex: listRef.current.length,
173
+ disabledIndices
174
+ });
175
+ }
176
+ function isIndexOutOfListBounds(listRef, index) {
177
+ return index < 0 || index >= listRef.current.length;
178
+ }
@@ -0,0 +1,188 @@
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: !0
11
+ });
12
+ },
13
+ __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: !0
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 _instanceof(left, right) {
50
+ return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
51
+ }
52
+ function getDocument(node) {
53
+ return node?.ownerDocument || document;
54
+ }
55
+ function contains(parent, child) {
56
+ var _child_getRootNode;
57
+ if (!parent || !child) return !1;
58
+ var rootNode = (_child_getRootNode = child.getRootNode) === null || _child_getRootNode === void 0 ? void 0 : _child_getRootNode.call(child);
59
+ if (parent.contains(child)) return !0;
60
+ if (rootNode && isShadowRoot(rootNode)) for (var next = child; next;) {
61
+ if (parent === next) return !0;
62
+ next = next.parentNode || next.host;
63
+ }
64
+ return !1;
65
+ }
66
+ function isShadowRoot(node) {
67
+ return _instanceof(node, ShadowRoot);
68
+ }
69
+ function getTarget(event) {
70
+ return "composedPath" in event ? event.composedPath()[0] : event.target;
71
+ }
72
+ function activeElement(doc) {
73
+ for (var _el_shadowRoot, el = doc.activeElement; (el == null || (_el_shadowRoot = el.shadowRoot) === null || _el_shadowRoot === void 0 ? void 0 : _el_shadowRoot.activeElement) != null;) el = el.shadowRoot.activeElement;
74
+ return el;
75
+ }
76
+ function isHTMLElement(value) {
77
+ return _instanceof(value, HTMLElement);
78
+ }
79
+ function isElement(value) {
80
+ return _instanceof(value, Element);
81
+ }
82
+ var TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
83
+ function isTypeableElement(element) {
84
+ return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);
85
+ }
86
+ function isTypeableCombobox(element) {
87
+ return element ? element.getAttribute("role") === "combobox" && isTypeableElement(element) : !1;
88
+ }
89
+ function getPlatform() {
90
+ var uaData = navigator.userAgentData;
91
+ return uaData?.platform ? uaData.platform : navigator.platform;
92
+ }
93
+ function getUserAgent() {
94
+ var uaData = navigator.userAgentData;
95
+ return uaData && Array.isArray(uaData.brands) ? uaData.brands.map(function (param) {
96
+ var {
97
+ brand,
98
+ version
99
+ } = param;
100
+ return `${brand}/${version}`;
101
+ }).join(" ") : navigator.userAgent;
102
+ }
103
+ function isSafari() {
104
+ return /apple/i.test(navigator.vendor);
105
+ }
106
+ function isMac() {
107
+ return getPlatform().toLowerCase().startsWith("mac") && !navigator.maxTouchPoints;
108
+ }
109
+ function isJSDOM() {
110
+ return getUserAgent().includes("jsdom/");
111
+ }
112
+ function matchesFocusVisible(element) {
113
+ if (!element || isJSDOM()) return !0;
114
+ try {
115
+ return element.matches(":focus-visible");
116
+ } catch {
117
+ return !0;
118
+ }
119
+ }
120
+ function isMouseLikePointerType(pointerType, strict) {
121
+ var values = ["mouse", "pen"];
122
+ return strict || values.push("", void 0), values.includes(pointerType);
123
+ }
124
+ function clearTimeoutIfSet(timeoutRef) {
125
+ timeoutRef.current !== -1 && (clearTimeout(timeoutRef.current), timeoutRef.current = -1);
126
+ }
127
+ function stopEvent(event) {
128
+ event.preventDefault(), event.stopPropagation();
129
+ }
130
+ function isVirtualClick(event) {
131
+ return event.mozInputSource === 0 && event.isTrusted ? !0 : isAndroid() && event.pointerType ? event.type === "click" && event.buttons === 1 : event.detail === 0 && !event.pointerType;
132
+ }
133
+ function isVirtualPointerEvent(event) {
134
+ return isJSDOM() ? !1 : !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";
135
+ }
136
+ function isAndroid() {
137
+ var re = /android/i;
138
+ return re.test(getPlatform()) || re.test(getUserAgent());
139
+ }
140
+ var rafId = 0;
141
+ function enqueueFocus(el) {
142
+ var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {},
143
+ {
144
+ preventScroll = !1,
145
+ cancelPrevious = !0,
146
+ sync = !1
147
+ } = options;
148
+ cancelPrevious && cancelAnimationFrame(rafId);
149
+ var exec = function () {
150
+ return el?.focus({
151
+ preventScroll
152
+ });
153
+ };
154
+ sync ? exec() : rafId = requestAnimationFrame(exec);
155
+ }
156
+ function isListIndexDisabled(listRef, index, disabledIndices) {
157
+ if (typeof disabledIndices == "function") return disabledIndices(index);
158
+ if (disabledIndices) return disabledIndices.includes(index);
159
+ var element = listRef.current[index];
160
+ return element == null || element.hasAttribute("disabled") || element.getAttribute("aria-disabled") === "true";
161
+ }
162
+ function findNonDisabledListIndex(listRef) {
163
+ var {
164
+ startingIndex = -1,
165
+ decrement = !1,
166
+ disabledIndices,
167
+ amount = 1
168
+ } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {},
169
+ index = startingIndex;
170
+ do index += decrement ? -amount : amount; while (index >= 0 && index <= listRef.current.length - 1 && isListIndexDisabled(listRef, index, disabledIndices));
171
+ return index;
172
+ }
173
+ function getMinListIndex(listRef, disabledIndices) {
174
+ return findNonDisabledListIndex(listRef, {
175
+ disabledIndices
176
+ });
177
+ }
178
+ function getMaxListIndex(listRef, disabledIndices) {
179
+ return findNonDisabledListIndex(listRef, {
180
+ decrement: !0,
181
+ startingIndex: listRef.current.length,
182
+ disabledIndices
183
+ });
184
+ }
185
+ function isIndexOutOfListBounds(listRef, index) {
186
+ return index < 0 || index >= listRef.current.length;
187
+ }
188
+ //# sourceMappingURL=utils.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","utils_exports","__export","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","call","isShadowRoot","next","parentNode","host","ShadowRoot","event","composedPath","target","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","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":["../../../src/interactions/utils.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,106 @@
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
+ __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: !0
11
+ });
12
+ },
13
+ __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
+ value: mod,
27
+ enumerable: !0
28
+ }) : target, mod)),
29
+ __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
30
+ value: !0
31
+ }), mod);
32
+ var inner_exports = {};
33
+ __export(inner_exports, {
34
+ inner: () => inner
35
+ });
36
+ module.exports = __toCommonJS(inner_exports);
37
+ var ReactDOM = __toESM(require("react-dom"), 1),
38
+ import_react_dom = require("@floating-ui/react-dom");
39
+ function getArgsWithCustomFloatingHeight(state, height) {
40
+ return {
41
+ ...state,
42
+ rects: {
43
+ ...state.rects,
44
+ floating: {
45
+ ...state.rects.floating,
46
+ height
47
+ }
48
+ }
49
+ };
50
+ }
51
+ const inner = props => ({
52
+ name: "inner",
53
+ options: props,
54
+ async fn(state) {
55
+ const {
56
+ listRef,
57
+ overflowRef,
58
+ onFallbackChange,
59
+ offset: innerOffset = 0,
60
+ index = 0,
61
+ minItemsVisible = 4,
62
+ referenceOverflowThreshold = 0,
63
+ scrollRef,
64
+ padding = 0
65
+ } = props,
66
+ {
67
+ rects,
68
+ platform,
69
+ elements: {
70
+ floating
71
+ }
72
+ } = state,
73
+ item = listRef.current?.[index ?? 0],
74
+ scrollEl = scrollRef?.current || floating,
75
+ clientTop = floating.clientTop || scrollEl.clientTop,
76
+ floatingIsBordered = floating.clientTop !== 0,
77
+ scrollElIsBordered = scrollEl.clientTop !== 0,
78
+ floatingIsScrollEl = floating === scrollEl;
79
+ if (!item || index == null) return onFallbackChange?.(!0), {};
80
+ const nextArgs = {
81
+ ...state,
82
+ ...(await (0, import_react_dom.offset)(-item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset).fn(state))
83
+ },
84
+ detectOverflowOptions = {
85
+ padding
86
+ },
87
+ overflow = await platform.detectOverflow(getArgsWithCustomFloatingHeight(nextArgs, scrollEl.scrollHeight + clientTop + floating.clientTop), detectOverflowOptions),
88
+ refOverflow = await platform.detectOverflow(nextArgs, {
89
+ ...detectOverflowOptions,
90
+ elementContext: "reference"
91
+ }),
92
+ diffY = Math.max(0, overflow.top),
93
+ nextY = nextArgs.y + diffY,
94
+ maxHeight = (scrollEl.scrollHeight > scrollEl.clientHeight ? v => v : Math.round)(Math.max(0, scrollEl.scrollHeight + (floatingIsBordered && floatingIsScrollEl || scrollElIsBordered ? clientTop * 2 : 0) - diffY - Math.max(0, overflow.bottom)));
95
+ if (scrollEl.style.maxHeight = `${maxHeight}px`, scrollEl.scrollTop = diffY, onFallbackChange) {
96
+ const shouldFallback = scrollEl.offsetHeight < item.offsetHeight * Math.min(minItemsVisible, listRef.current?.length ?? 0) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold;
97
+ ReactDOM.flushSync(() => onFallbackChange(shouldFallback));
98
+ }
99
+ return overflowRef && (overflowRef.current = await platform.detectOverflow(getArgsWithCustomFloatingHeight({
100
+ ...nextArgs,
101
+ y: nextY
102
+ }, scrollEl.offsetHeight + clientTop + floating.clientTop), detectOverflowOptions)), {
103
+ y: nextY
104
+ };
105
+ }
106
+ });