@hanzogui/floating 8.3.0 → 8.3.2

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 (277) hide show
  1. package/dist/cjs/Floating.js +5 -0
  2. package/dist/cjs/Floating.js.map +1 -0
  3. package/dist/cjs/index.js +57 -0
  4. package/dist/cjs/index.js.map +1 -0
  5. package/dist/cjs/interactions/PopupTriggerMap.js +33 -0
  6. package/dist/cjs/interactions/PopupTriggerMap.js.map +1 -0
  7. package/dist/cjs/interactions/createFloatingEvents.js +31 -0
  8. package/dist/cjs/interactions/createFloatingEvents.js.map +1 -0
  9. package/dist/cjs/interactions/safePolygon.js +435 -0
  10. package/dist/cjs/interactions/safePolygon.js.map +1 -0
  11. package/dist/cjs/interactions/types.js +3 -0
  12. package/dist/cjs/interactions/types.js.map +1 -0
  13. package/dist/cjs/interactions/useClick.js +118 -0
  14. package/dist/cjs/interactions/useClick.js.map +1 -0
  15. package/dist/cjs/interactions/useDelayGroup.js +84 -0
  16. package/dist/cjs/interactions/useDelayGroup.js.map +1 -0
  17. package/dist/cjs/interactions/useFocus.js +118 -0
  18. package/dist/cjs/interactions/useFocus.js.map +1 -0
  19. package/dist/cjs/interactions/useHover.js +357 -0
  20. package/dist/cjs/interactions/useHover.js.map +1 -0
  21. package/dist/cjs/interactions/useInnerOffset.js +92 -0
  22. package/dist/cjs/interactions/useInnerOffset.js.map +1 -0
  23. package/dist/cjs/interactions/useInteractions.js +88 -0
  24. package/dist/cjs/interactions/useInteractions.js.map +1 -0
  25. package/dist/cjs/interactions/useListNavigation.js +447 -0
  26. package/dist/cjs/interactions/useListNavigation.js.map +1 -0
  27. package/dist/cjs/interactions/useRole.js +69 -0
  28. package/dist/cjs/interactions/useRole.js.map +1 -0
  29. package/dist/cjs/interactions/useTypeahead.js +121 -0
  30. package/dist/cjs/interactions/useTypeahead.js.map +1 -0
  31. package/dist/cjs/interactions/utils.js +200 -0
  32. package/dist/cjs/interactions/utils.js.map +1 -0
  33. package/dist/cjs/middleware/inner.js +82 -0
  34. package/dist/cjs/middleware/inner.js.map +1 -0
  35. package/dist/cjs/package.json +1 -0
  36. package/dist/cjs/useFloating.js +29 -0
  37. package/dist/cjs/useFloating.js.map +1 -0
  38. package/dist/esm/Floating.js +2 -0
  39. package/dist/esm/Floating.js.map +1 -0
  40. package/dist/esm/index.js +23 -18
  41. package/dist/esm/index.js.map +1 -1
  42. package/dist/esm/interactions/PopupTriggerMap.js +29 -0
  43. package/dist/esm/interactions/PopupTriggerMap.js.map +1 -0
  44. package/dist/esm/interactions/createFloatingEvents.js +28 -0
  45. package/dist/esm/interactions/createFloatingEvents.js.map +1 -0
  46. package/dist/esm/interactions/safePolygon.js +432 -0
  47. package/dist/esm/interactions/safePolygon.js.map +1 -0
  48. package/dist/esm/interactions/types.js +2 -0
  49. package/dist/esm/interactions/types.js.map +1 -0
  50. package/dist/esm/interactions/useClick.js +115 -0
  51. package/dist/esm/interactions/useClick.js.map +1 -0
  52. package/dist/esm/interactions/useDelayGroup.js +78 -0
  53. package/dist/esm/interactions/useDelayGroup.js.map +1 -0
  54. package/dist/esm/interactions/useFocus.js +115 -0
  55. package/dist/esm/interactions/useFocus.js.map +1 -0
  56. package/dist/esm/interactions/useHover.js +352 -0
  57. package/dist/esm/interactions/useHover.js.map +1 -0
  58. package/dist/esm/interactions/useInnerOffset.js +88 -0
  59. package/dist/esm/interactions/useInnerOffset.js.map +1 -0
  60. package/dist/esm/interactions/useInteractions.js +85 -0
  61. package/dist/esm/interactions/useInteractions.js.map +1 -0
  62. package/dist/esm/interactions/useListNavigation.js +444 -0
  63. package/dist/esm/interactions/useListNavigation.js.map +1 -0
  64. package/dist/esm/interactions/useRole.js +65 -0
  65. package/dist/esm/interactions/useRole.js.map +1 -0
  66. package/dist/esm/interactions/useTypeahead.js +118 -0
  67. package/dist/esm/interactions/useTypeahead.js.map +1 -0
  68. package/dist/esm/interactions/utils.js +176 -0
  69. package/dist/esm/interactions/utils.js.map +1 -0
  70. package/dist/esm/middleware/inner.js +77 -0
  71. package/dist/esm/middleware/inner.js.map +1 -0
  72. package/dist/esm/useFloating.js +24 -0
  73. package/dist/esm/useFloating.js.map +1 -0
  74. package/dist/native/Floating.js +5 -0
  75. package/dist/native/Floating.js.map +1 -0
  76. package/dist/native/index.js +23 -0
  77. package/dist/native/index.js.map +1 -0
  78. package/dist/native/interactions/PopupTriggerMap.js +29 -0
  79. package/dist/native/interactions/PopupTriggerMap.js.map +1 -0
  80. package/dist/native/interactions/createFloatingEvents.js +28 -0
  81. package/dist/native/interactions/createFloatingEvents.js.map +1 -0
  82. package/dist/native/interactions/safePolygon.js +432 -0
  83. package/dist/native/interactions/safePolygon.js.map +1 -0
  84. package/dist/native/interactions/types.js +2 -0
  85. package/dist/native/interactions/types.js.map +1 -0
  86. package/dist/native/interactions/useClick.js +115 -0
  87. package/dist/native/interactions/useClick.js.map +1 -0
  88. package/dist/native/interactions/useDelayGroup.js +78 -0
  89. package/dist/native/interactions/useDelayGroup.js.map +1 -0
  90. package/dist/native/interactions/useFocus.js +115 -0
  91. package/dist/native/interactions/useFocus.js.map +1 -0
  92. package/dist/native/interactions/useHover.js +352 -0
  93. package/dist/native/interactions/useHover.js.map +1 -0
  94. package/dist/native/interactions/useInnerOffset.js +88 -0
  95. package/dist/native/interactions/useInnerOffset.js.map +1 -0
  96. package/dist/native/interactions/useInteractions.js +85 -0
  97. package/dist/native/interactions/useInteractions.js.map +1 -0
  98. package/dist/native/interactions/useListNavigation.js +444 -0
  99. package/dist/native/interactions/useListNavigation.js.map +1 -0
  100. package/dist/native/interactions/useRole.js +65 -0
  101. package/dist/native/interactions/useRole.js.map +1 -0
  102. package/dist/native/interactions/useTypeahead.js +118 -0
  103. package/dist/native/interactions/useTypeahead.js.map +1 -0
  104. package/dist/native/interactions/utils.js +176 -0
  105. package/dist/native/interactions/utils.js.map +1 -0
  106. package/dist/native/middleware/inner.js +77 -0
  107. package/dist/native/middleware/inner.js.map +1 -0
  108. package/dist/native/useFloating.js +24 -0
  109. package/dist/native/useFloating.js.map +1 -0
  110. package/package.json +16 -16
  111. package/src/index.ts +18 -18
  112. package/src/interactions/safePolygon.ts +2 -2
  113. package/src/interactions/types.ts +2 -2
  114. package/src/interactions/useClick.ts +2 -2
  115. package/src/interactions/useDelayGroup.ts +1 -1
  116. package/src/interactions/useFocus.ts +2 -2
  117. package/src/interactions/useHover.ts +2 -2
  118. package/src/interactions/useInnerOffset.ts +1 -1
  119. package/src/interactions/useInteractions.ts +1 -1
  120. package/src/interactions/useListNavigation.ts +2 -2
  121. package/src/interactions/useRole.ts +1 -1
  122. package/src/interactions/useTypeahead.ts +6 -2
  123. package/src/useFloating.tsx +2 -2
  124. package/types/index.d.ts +18 -18
  125. package/types/index.d.ts.map +1 -1
  126. package/types/interactions/PopupTriggerMap.d.ts.map +1 -1
  127. package/types/interactions/safePolygon.d.ts +1 -1
  128. package/types/interactions/safePolygon.d.ts.map +1 -1
  129. package/types/interactions/types.d.ts +2 -2
  130. package/types/interactions/types.d.ts.map +1 -1
  131. package/types/interactions/useClick.d.ts +1 -1
  132. package/types/interactions/useClick.d.ts.map +1 -1
  133. package/types/interactions/useDelayGroup.d.ts +1 -1
  134. package/types/interactions/useDelayGroup.d.ts.map +1 -1
  135. package/types/interactions/useFocus.d.ts +1 -1
  136. package/types/interactions/useFocus.d.ts.map +1 -1
  137. package/types/interactions/useHover.d.ts +1 -1
  138. package/types/interactions/useHover.d.ts.map +1 -1
  139. package/types/interactions/useInnerOffset.d.ts +1 -1
  140. package/types/interactions/useInnerOffset.d.ts.map +1 -1
  141. package/types/interactions/useInteractions.d.ts +1 -1
  142. package/types/interactions/useInteractions.d.ts.map +1 -1
  143. package/types/interactions/useListNavigation.d.ts +1 -1
  144. package/types/interactions/useListNavigation.d.ts.map +1 -1
  145. package/types/interactions/useRole.d.ts +1 -1
  146. package/types/interactions/useRole.d.ts.map +1 -1
  147. package/types/interactions/useTypeahead.d.ts +1 -1
  148. package/types/interactions/useTypeahead.d.ts.map +1 -1
  149. package/types/middleware/inner.d.ts.map +1 -1
  150. package/types/useFloating.d.ts +2 -2
  151. package/types/useFloating.d.ts.map +1 -1
  152. package/dist/cjs/Floating.cjs +0 -20
  153. package/dist/cjs/Floating.native.js +0 -39
  154. package/dist/cjs/Floating.native.js.map +0 -1
  155. package/dist/cjs/index.cjs +0 -73
  156. package/dist/cjs/index.native.js +0 -76
  157. package/dist/cjs/index.native.js.map +0 -1
  158. package/dist/cjs/interactions/PopupTriggerMap.cjs +0 -49
  159. package/dist/cjs/interactions/PopupTriggerMap.native.js +0 -97
  160. package/dist/cjs/interactions/PopupTriggerMap.native.js.map +0 -1
  161. package/dist/cjs/interactions/createFloatingEvents.cjs +0 -50
  162. package/dist/cjs/interactions/createFloatingEvents.native.js +0 -56
  163. package/dist/cjs/interactions/createFloatingEvents.native.js.map +0 -1
  164. package/dist/cjs/interactions/safePolygon.cjs +0 -273
  165. package/dist/cjs/interactions/safePolygon.native.js +0 -284
  166. package/dist/cjs/interactions/safePolygon.native.js.map +0 -1
  167. package/dist/cjs/interactions/types.cjs +0 -18
  168. package/dist/cjs/interactions/types.native.js +0 -21
  169. package/dist/cjs/interactions/types.native.js.map +0 -1
  170. package/dist/cjs/interactions/useClick.cjs +0 -124
  171. package/dist/cjs/interactions/useClick.native.js +0 -132
  172. package/dist/cjs/interactions/useClick.native.js.map +0 -1
  173. package/dist/cjs/interactions/useDelayGroup.cjs +0 -115
  174. package/dist/cjs/interactions/useDelayGroup.native.js +0 -125
  175. package/dist/cjs/interactions/useDelayGroup.native.js.map +0 -1
  176. package/dist/cjs/interactions/useFocus.cjs +0 -130
  177. package/dist/cjs/interactions/useFocus.native.js +0 -139
  178. package/dist/cjs/interactions/useFocus.native.js.map +0 -1
  179. package/dist/cjs/interactions/useHover.cjs +0 -357
  180. package/dist/cjs/interactions/useHover.native.js +0 -373
  181. package/dist/cjs/interactions/useHover.native.js.map +0 -1
  182. package/dist/cjs/interactions/useInnerOffset.cjs +0 -128
  183. package/dist/cjs/interactions/useInnerOffset.native.js +0 -141
  184. package/dist/cjs/interactions/useInnerOffset.native.js.map +0 -1
  185. package/dist/cjs/interactions/useInteractions.cjs +0 -105
  186. package/dist/cjs/interactions/useInteractions.native.js +0 -216
  187. package/dist/cjs/interactions/useInteractions.native.js.map +0 -1
  188. package/dist/cjs/interactions/useListNavigation.cjs +0 -418
  189. package/dist/cjs/interactions/useListNavigation.native.js +0 -433
  190. package/dist/cjs/interactions/useListNavigation.native.js.map +0 -1
  191. package/dist/cjs/interactions/useRole.cjs +0 -122
  192. package/dist/cjs/interactions/useRole.native.js +0 -136
  193. package/dist/cjs/interactions/useRole.native.js.map +0 -1
  194. package/dist/cjs/interactions/useTypeahead.cjs +0 -143
  195. package/dist/cjs/interactions/useTypeahead.native.js +0 -159
  196. package/dist/cjs/interactions/useTypeahead.native.js.map +0 -1
  197. package/dist/cjs/interactions/utils.cjs +0 -208
  198. package/dist/cjs/interactions/utils.native.js +0 -227
  199. package/dist/cjs/interactions/utils.native.js.map +0 -1
  200. package/dist/cjs/middleware/inner.cjs +0 -118
  201. package/dist/cjs/middleware/inner.native.js +0 -130
  202. package/dist/cjs/middleware/inner.native.js.map +0 -1
  203. package/dist/cjs/useFloating.cjs +0 -64
  204. package/dist/cjs/useFloating.native.js +0 -69
  205. package/dist/cjs/useFloating.native.js.map +0 -1
  206. package/dist/esm/Floating.mjs +0 -2
  207. package/dist/esm/Floating.mjs.map +0 -1
  208. package/dist/esm/Floating.native.js +0 -8
  209. package/dist/esm/Floating.native.js.map +0 -1
  210. package/dist/esm/index.mjs +0 -18
  211. package/dist/esm/index.mjs.map +0 -1
  212. package/dist/esm/index.native.js +0 -18
  213. package/dist/esm/index.native.js.map +0 -1
  214. package/dist/esm/interactions/PopupTriggerMap.mjs +0 -24
  215. package/dist/esm/interactions/PopupTriggerMap.mjs.map +0 -1
  216. package/dist/esm/interactions/PopupTriggerMap.native.js +0 -69
  217. package/dist/esm/interactions/PopupTriggerMap.native.js.map +0 -1
  218. package/dist/esm/interactions/createFloatingEvents.mjs +0 -25
  219. package/dist/esm/interactions/createFloatingEvents.mjs.map +0 -1
  220. package/dist/esm/interactions/createFloatingEvents.native.js +0 -28
  221. package/dist/esm/interactions/createFloatingEvents.native.js.map +0 -1
  222. package/dist/esm/interactions/safePolygon.mjs +0 -248
  223. package/dist/esm/interactions/safePolygon.mjs.map +0 -1
  224. package/dist/esm/interactions/safePolygon.native.js +0 -256
  225. package/dist/esm/interactions/safePolygon.native.js.map +0 -1
  226. package/dist/esm/interactions/types.mjs +0 -2
  227. package/dist/esm/interactions/types.mjs.map +0 -1
  228. package/dist/esm/interactions/types.native.js +0 -2
  229. package/dist/esm/interactions/types.native.js.map +0 -1
  230. package/dist/esm/interactions/useClick.mjs +0 -99
  231. package/dist/esm/interactions/useClick.mjs.map +0 -1
  232. package/dist/esm/interactions/useClick.native.js +0 -104
  233. package/dist/esm/interactions/useClick.native.js.map +0 -1
  234. package/dist/esm/interactions/useDelayGroup.mjs +0 -77
  235. package/dist/esm/interactions/useDelayGroup.mjs.map +0 -1
  236. package/dist/esm/interactions/useDelayGroup.native.js +0 -84
  237. package/dist/esm/interactions/useDelayGroup.native.js.map +0 -1
  238. package/dist/esm/interactions/useFocus.mjs +0 -105
  239. package/dist/esm/interactions/useFocus.mjs.map +0 -1
  240. package/dist/esm/interactions/useFocus.native.js +0 -111
  241. package/dist/esm/interactions/useFocus.native.js.map +0 -1
  242. package/dist/esm/interactions/useHover.mjs +0 -320
  243. package/dist/esm/interactions/useHover.mjs.map +0 -1
  244. package/dist/esm/interactions/useHover.native.js +0 -333
  245. package/dist/esm/interactions/useHover.native.js.map +0 -1
  246. package/dist/esm/interactions/useInnerOffset.mjs +0 -92
  247. package/dist/esm/interactions/useInnerOffset.mjs.map +0 -1
  248. package/dist/esm/interactions/useInnerOffset.native.js +0 -102
  249. package/dist/esm/interactions/useInnerOffset.native.js.map +0 -1
  250. package/dist/esm/interactions/useInteractions.mjs +0 -80
  251. package/dist/esm/interactions/useInteractions.mjs.map +0 -1
  252. package/dist/esm/interactions/useInteractions.native.js +0 -188
  253. package/dist/esm/interactions/useInteractions.native.js.map +0 -1
  254. package/dist/esm/interactions/useListNavigation.mjs +0 -393
  255. package/dist/esm/interactions/useListNavigation.mjs.map +0 -1
  256. package/dist/esm/interactions/useListNavigation.native.js +0 -405
  257. package/dist/esm/interactions/useListNavigation.native.js.map +0 -1
  258. package/dist/esm/interactions/useRole.mjs +0 -86
  259. package/dist/esm/interactions/useRole.mjs.map +0 -1
  260. package/dist/esm/interactions/useRole.native.js +0 -97
  261. package/dist/esm/interactions/useRole.native.js.map +0 -1
  262. package/dist/esm/interactions/useTypeahead.mjs +0 -118
  263. package/dist/esm/interactions/useTypeahead.mjs.map +0 -1
  264. package/dist/esm/interactions/useTypeahead.native.js +0 -131
  265. package/dist/esm/interactions/useTypeahead.native.js.map +0 -1
  266. package/dist/esm/interactions/utils.mjs +0 -162
  267. package/dist/esm/interactions/utils.mjs.map +0 -1
  268. package/dist/esm/interactions/utils.native.js +0 -178
  269. package/dist/esm/interactions/utils.native.js.map +0 -1
  270. package/dist/esm/middleware/inner.mjs +0 -82
  271. package/dist/esm/middleware/inner.mjs.map +0 -1
  272. package/dist/esm/middleware/inner.native.js +0 -91
  273. package/dist/esm/middleware/inner.native.js.map +0 -1
  274. package/dist/esm/useFloating.mjs +0 -27
  275. package/dist/esm/useFloating.mjs.map +0 -1
  276. package/dist/esm/useFloating.native.js +0 -29
  277. package/dist/esm/useFloating.native.js.map +0 -1
@@ -1,115 +0,0 @@
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 useDelayGroup_exports = {};
35
- __export(useDelayGroup_exports, {
36
- FloatingDelayGroup: () => FloatingDelayGroup,
37
- useDelayGroup: () => useDelayGroup,
38
- useDelayGroupContext: () => useDelayGroupContext
39
- });
40
- module.exports = __toCommonJS(useDelayGroup_exports);
41
- var React = __toESM(require("react"), 1);
42
- const DelayGroupContext = React.createContext({
43
- currentId: null,
44
- setCurrentId: () => {},
45
- delay: 0,
46
- timeoutMs: 0,
47
- initialDelay: 0
48
- });
49
- function useDelayGroupContext() {
50
- return React.useContext(DelayGroupContext);
51
- }
52
- function FloatingDelayGroup({
53
- children,
54
- delay,
55
- timeoutMs = 0
56
- }) {
57
- const [currentId, setCurrentIdRaw] = React.useState(null);
58
- const timeoutRef = React.useRef(void 0);
59
- const setCurrentId = React.useCallback(id => {
60
- clearTimeout(timeoutRef.current);
61
- if (id == null && timeoutMs > 0) {
62
- timeoutRef.current = setTimeout(() => {
63
- setCurrentIdRaw(null);
64
- }, timeoutMs);
65
- } else {
66
- setCurrentIdRaw(id);
67
- }
68
- }, [timeoutMs]);
69
- React.useEffect(() => {
70
- return () => clearTimeout(timeoutRef.current);
71
- }, []);
72
- const value = React.useMemo(() => ({
73
- currentId,
74
- setCurrentId,
75
- delay,
76
- timeoutMs,
77
- initialDelay: delay
78
- }), [currentId, setCurrentId, delay, timeoutMs]);
79
- return React.createElement(DelayGroupContext.Provider, {
80
- value
81
- }, children);
82
- }
83
- function useDelayGroup(context, options = {}) {
84
- const {
85
- id
86
- } = options;
87
- const groupContext = React.useContext(DelayGroupContext);
88
- React.useEffect(() => {
89
- if (!context.open && groupContext.currentId === id) {
90
- groupContext.setCurrentId(null);
91
- }
92
- }, [context.open, id]);
93
- React.useEffect(() => {
94
- if (groupContext.currentId != null && groupContext.currentId !== id && context.open) {
95
- context.onOpenChange(false);
96
- }
97
- }, [groupContext.currentId, id, context.open]);
98
- if (groupContext.currentId != null) {
99
- return {
100
- delay: {
101
- open: 1,
102
- close: getClose(groupContext.initialDelay)
103
- },
104
- currentId: groupContext.currentId
105
- };
106
- }
107
- return {
108
- delay: groupContext.initialDelay,
109
- currentId: groupContext.currentId
110
- };
111
- }
112
- function getClose(delay) {
113
- if (typeof delay === "number") return delay;
114
- return delay?.close ?? 0;
115
- }
@@ -1,125 +0,0 @@
1
- "use strict";
2
-
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __export = (target, all) => {
10
- for (var name in all) __defProp(target, name, {
11
- get: all[name],
12
- enumerable: true
13
- });
14
- };
15
- var __copyProps = (to, from, except, desc) => {
16
- if (from && typeof from === "object" || typeof from === "function") {
17
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
- get: () => from[key],
19
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
- });
21
- }
22
- return to;
23
- };
24
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
- // If the importer is in node compatibility mode or this is not an ESM
26
- // file that has been converted to a CommonJS file using a Babel-
27
- // compatible transform (i.e. "__esModule" has not been set), then set
28
- // "default" to the CommonJS "module.exports" for node compatibility.
29
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
- value: mod,
31
- enumerable: true
32
- }) : target, mod));
33
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
- value: true
35
- }), mod);
36
- var useDelayGroup_exports = {};
37
- __export(useDelayGroup_exports, {
38
- FloatingDelayGroup: () => FloatingDelayGroup,
39
- useDelayGroup: () => useDelayGroup,
40
- useDelayGroupContext: () => useDelayGroupContext
41
- });
42
- module.exports = __toCommonJS(useDelayGroup_exports);
43
- var React = __toESM(require("react"), 1);
44
- var DelayGroupContext = React.createContext({
45
- currentId: null,
46
- setCurrentId: function () {},
47
- delay: 0,
48
- timeoutMs: 0,
49
- initialDelay: 0
50
- });
51
- function useDelayGroupContext() {
52
- return React.useContext(DelayGroupContext);
53
- }
54
- function FloatingDelayGroup(param) {
55
- var {
56
- children,
57
- delay,
58
- timeoutMs = 0
59
- } = param;
60
- var [currentId, setCurrentIdRaw] = React.useState(null);
61
- var timeoutRef = React.useRef(void 0);
62
- var setCurrentId = React.useCallback(function (id) {
63
- clearTimeout(timeoutRef.current);
64
- if (id == null && timeoutMs > 0) {
65
- timeoutRef.current = setTimeout(function () {
66
- setCurrentIdRaw(null);
67
- }, timeoutMs);
68
- } else {
69
- setCurrentIdRaw(id);
70
- }
71
- }, [timeoutMs]);
72
- React.useEffect(function () {
73
- return function () {
74
- return clearTimeout(timeoutRef.current);
75
- };
76
- }, []);
77
- var value = React.useMemo(function () {
78
- return {
79
- currentId,
80
- setCurrentId,
81
- delay,
82
- timeoutMs,
83
- initialDelay: delay
84
- };
85
- }, [currentId, setCurrentId, delay, timeoutMs]);
86
- return React.createElement(DelayGroupContext.Provider, {
87
- value
88
- }, children);
89
- }
90
- function useDelayGroup(context) {
91
- var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
92
- var {
93
- id
94
- } = options;
95
- var groupContext = React.useContext(DelayGroupContext);
96
- React.useEffect(function () {
97
- if (!context.open && groupContext.currentId === id) {
98
- groupContext.setCurrentId(null);
99
- }
100
- }, [context.open, id]);
101
- React.useEffect(function () {
102
- if (groupContext.currentId != null && groupContext.currentId !== id && context.open) {
103
- context.onOpenChange(false);
104
- }
105
- }, [groupContext.currentId, id, context.open]);
106
- if (groupContext.currentId != null) {
107
- return {
108
- delay: {
109
- open: 1,
110
- close: getClose(groupContext.initialDelay)
111
- },
112
- currentId: groupContext.currentId
113
- };
114
- }
115
- return {
116
- delay: groupContext.initialDelay,
117
- currentId: groupContext.currentId
118
- };
119
- }
120
- function getClose(delay) {
121
- if (typeof delay === "number") return delay;
122
- var _delay_close;
123
- return (_delay_close = delay === null || delay === void 0 ? void 0 : delay.close) !== null && _delay_close !== void 0 ? _delay_close : 0;
124
- }
125
- //# sourceMappingURL=useDelayGroup.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useDelayGroup_exports","__export","FloatingDelayGroup","useDelayGroup","useDelayGroupContext","module","exports","React","__toESM","require","DelayGroupContext","createContext","currentId","setCurrentId","delay","timeoutMs","initialDelay","useContext","param","children","setCurrentIdRaw","useState","timeoutRef","useRef","useCallback","id","clearTimeout","current","setTimeout","useEffect","useMemo","createElement","Provider","context","options","arguments","length","groupContext","open","onOpenChange"],"sources":["../../../src/interactions/useDelayGroup.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,qBAAA;AAAAC,QAAA,CAAAD,qBAAA;EAAAE,kBAAA,EAAAA,CAAA,KAAAA,kBAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,oBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAuB,GAAAX,YAAA,CAAAK,qBAAA;AAWvB,IAAAO,KAAM,GAAAC,OAAA,CAAAC,OAAoB,QAAM;AAAsC,IACpEC,iBAAW,GAAAH,KAAA,CAAAI,aAAA;EACXC,SAAA,MAAc;EAAOC,YAAA,WAAAA,CAAA,GACrB;EACAC,KAAA;EACAC,SAAA;EACDC,YAAA;AAEM;AACL,SAAOZ,oBAAiBA,CAAA;EAC1B,OAAAG,KAAA,CAAAU,UAAA,CAAAP,iBAAA;AAKO;AAA4B,SACjCR,mBAAAgB,KAAA;EACA;IAAAC,QAAA;IAAAL,KAAA;IAAAC,SAAA;EAAA,IAAAG,KAAA;EACA,KAAAN,SAAY,EAAAQ,eAAA,IAAAb,KAAA,CAAAc,QAAA;EACd,IAIGC,UAAA,GAAAf,KAAA,CAAAgB,MAAA;EACD,IAAAV,YAAO,GAAWN,KAAA,CAAAiB,WAAe,CAAI,UAAMC,EAAA;IAC3CC,YAAM,CAAAJ,UAAmB,CAAAK,OAAsC;IAE/D,IAAMF,EAAA,YAAAV,SAAqB;MACxBO,UAAkC,CAAAK,OAAA,GAAAC,UAAA;QACjCR,eAAa;MACb,GAAAL,SAAU;IAER;MACEK,eAAA,CAAAK,EAAA;IAAoB;EACV,IAEZV,SAAA,CAAkB;EACpBR,KACF,CAAAsB,SAAA;IACA,OAAC,YAAS;MACZ,OAAAH,YAAA,CAAAJ,UAAA,CAAAK,OAAA;IAEA;EACE;EACF,IAAI5B,KAAC,GAAAQ,KAAA,CAAAuB,OAAA;IAEL,OAAM;MACJlB,SAAO;MACLC,YAAA;MACAC,KAAA;MACAC,SAAA;MACAC,YAAA,EAAAF;IAAA;EACc,GAChB,CACAF,SAAC,EACHC,YAAA,EAEAC,KAAO,EACTC,SAAA,CAIO;EAIL,OAAMR,KAAK,CAAAwB,aAAI,CAAArB,iBAAA,CAAAsB,QAAA;IACfjC;EAGA,GAAAoB,QAAM;AACJ;AACE,SAAAhB,aAAaA,CAAA8B,OAAA,EAAa;EAAI,IAChCC,OAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;EACF,IAAI;IAAAV;EAAA,IAAQS,OAAQ;EAIpB,IAAAG,YAAgB,GAAA9B,KAAM,CAAAU,UAAA,CAAAP,iBAAA;EACpBH,KAAA,CAAIsB,SAAA,aAAa;IACf,KAAAI,OAAQ,CAAAK,IAAA,IAAAD,YAAkB,CAAAzB,SAAA,KAAAa,EAAA;MAC5BY,YAAA,CAAAxB,YAAA;IACF;EAIA,IACEoB,OAAO,CAAAK,IAAA,EAAAb,EACL,CAA6D;EACrClB,KAC1B,CAAAsB,SAAA;IACF,IAAAQ,YAAA,CAAAzB,SAAA,YAAAyB,YAAA,CAAAzB,SAAA,KAAAa,EAAA,IAAAQ,OAAA,CAAAK,IAAA;MAEAL,OAAO,CAAAM,YAAA;IACL;EAAoB,GACpB,CACFF,YAAA,CAAAzB,SAAA,EACFa,EAAA,EAEAQ,OAAS,CAAAK,IAAA,CACP;EACA,IAAAD,YAAc,CAAAzB,SAAS;IACzB","ignoreList":[]}
@@ -1,130 +0,0 @@
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 useFocus_exports = {};
24
- __export(useFocus_exports, {
25
- useFocus: () => useFocus
26
- });
27
- module.exports = __toCommonJS(useFocus_exports);
28
- var import_react = require("react");
29
- var import_utils = require("./utils.cjs");
30
- function isMacSafari() {
31
- return (0, import_utils.isMac)() && (0, import_utils.isSafari)();
32
- }
33
- function useFocus(context, props = {}) {
34
- const {
35
- open,
36
- onOpenChange,
37
- events,
38
- dataRef,
39
- elements
40
- } = context;
41
- const {
42
- enabled = true,
43
- visibleOnly = true
44
- } = props;
45
- const blockFocusRef = (0, import_react.useRef)(false);
46
- const timeoutRef = (0, import_react.useRef)(-1);
47
- const keyboardModalityRef = (0, import_react.useRef)(true);
48
- (0, import_react.useEffect)(() => {
49
- if (!enabled) return;
50
- const win = (0, import_utils.getDocument)(elements.domReference).defaultView || window;
51
- function onBlur() {
52
- if (!open && (0, import_utils.isHTMLElement)(elements.domReference) && elements.domReference === (0, import_utils.activeElement)((0, import_utils.getDocument)(elements.domReference))) {
53
- blockFocusRef.current = true;
54
- }
55
- }
56
- function onKeyDown() {
57
- keyboardModalityRef.current = true;
58
- }
59
- function onPointerDown() {
60
- keyboardModalityRef.current = false;
61
- }
62
- win.addEventListener("blur", onBlur);
63
- if (isMacSafari()) {
64
- win.addEventListener("keydown", onKeyDown, true);
65
- win.addEventListener("pointerdown", onPointerDown, true);
66
- }
67
- return () => {
68
- win.removeEventListener("blur", onBlur);
69
- if (isMacSafari()) {
70
- win.removeEventListener("keydown", onKeyDown, true);
71
- win.removeEventListener("pointerdown", onPointerDown, true);
72
- }
73
- };
74
- }, [elements.domReference, open, enabled]);
75
- (0, import_react.useEffect)(() => {
76
- if (!enabled) return;
77
- if (!events) return;
78
- function handleOpenChange({
79
- reason
80
- }) {
81
- if (reason === "reference-press" || reason === "escape-key") {
82
- blockFocusRef.current = true;
83
- }
84
- }
85
- events.on("openchange", handleOpenChange);
86
- return () => {
87
- events.off("openchange", handleOpenChange);
88
- };
89
- }, [events, enabled]);
90
- (0, import_react.useEffect)(() => {
91
- return () => {
92
- (0, import_utils.clearTimeoutIfSet)(timeoutRef);
93
- };
94
- }, []);
95
- const reference = (0, import_react.useMemo)(() => ({
96
- onMouseLeave() {
97
- blockFocusRef.current = false;
98
- },
99
- onFocus(event) {
100
- if (blockFocusRef.current) return;
101
- const target = (0, import_utils.getTarget)(event.nativeEvent);
102
- if (visibleOnly && (0, import_utils.isElement)(target)) {
103
- if (isMacSafari() && !event.relatedTarget) {
104
- if (!keyboardModalityRef.current && !(0, import_utils.isTypeableElement)(target)) {
105
- return;
106
- }
107
- } else if (!(0, import_utils.matchesFocusVisible)(target)) {
108
- return;
109
- }
110
- }
111
- onOpenChange(true, event.nativeEvent, "focus");
112
- },
113
- onBlur(event) {
114
- blockFocusRef.current = false;
115
- const relatedTarget = event.relatedTarget;
116
- const nativeEvent = event.nativeEvent;
117
- timeoutRef.current = window.setTimeout(() => {
118
- const activeEl = (0, import_utils.activeElement)(elements.domReference ? elements.domReference.ownerDocument : document);
119
- if (!relatedTarget && activeEl === elements.domReference) return;
120
- if ((0, import_utils.contains)(context.refs.floating.current, activeEl) || (0, import_utils.contains)(elements.domReference, activeEl)) {
121
- return;
122
- }
123
- onOpenChange(false, nativeEvent, "focus");
124
- });
125
- }
126
- }), [context.refs.floating, elements.domReference, onOpenChange, visibleOnly]);
127
- return (0, import_react.useMemo)(() => enabled ? {
128
- reference
129
- } : {}, [enabled, reference]);
130
- }
@@ -1,139 +0,0 @@
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 useFocus_exports = {};
26
- __export(useFocus_exports, {
27
- useFocus: () => useFocus
28
- });
29
- module.exports = __toCommonJS(useFocus_exports);
30
- var import_react = require("react");
31
- var import_utils = require("./utils.native.js");
32
- function isMacSafari() {
33
- return (0, import_utils.isMac)() && (0, import_utils.isSafari)();
34
- }
35
- function useFocus(context) {
36
- var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
37
- var {
38
- open,
39
- onOpenChange,
40
- events,
41
- dataRef,
42
- elements
43
- } = context;
44
- var {
45
- enabled = true,
46
- visibleOnly = true
47
- } = props;
48
- var blockFocusRef = (0, import_react.useRef)(false);
49
- var timeoutRef = (0, import_react.useRef)(-1);
50
- var keyboardModalityRef = (0, import_react.useRef)(true);
51
- (0, import_react.useEffect)(function () {
52
- if (!enabled) return;
53
- var win = (0, import_utils.getDocument)(elements.domReference).defaultView || window;
54
- function onBlur() {
55
- if (!open && (0, import_utils.isHTMLElement)(elements.domReference) && elements.domReference === (0, import_utils.activeElement)((0, import_utils.getDocument)(elements.domReference))) {
56
- blockFocusRef.current = true;
57
- }
58
- }
59
- function onKeyDown() {
60
- keyboardModalityRef.current = true;
61
- }
62
- function onPointerDown() {
63
- keyboardModalityRef.current = false;
64
- }
65
- win.addEventListener("blur", onBlur);
66
- if (isMacSafari()) {
67
- win.addEventListener("keydown", onKeyDown, true);
68
- win.addEventListener("pointerdown", onPointerDown, true);
69
- }
70
- return function () {
71
- win.removeEventListener("blur", onBlur);
72
- if (isMacSafari()) {
73
- win.removeEventListener("keydown", onKeyDown, true);
74
- win.removeEventListener("pointerdown", onPointerDown, true);
75
- }
76
- };
77
- }, [elements.domReference, open, enabled]);
78
- (0, import_react.useEffect)(function () {
79
- if (!enabled) return;
80
- if (!events) return;
81
- function handleOpenChange(param) {
82
- var {
83
- reason
84
- } = param;
85
- if (reason === "reference-press" || reason === "escape-key") {
86
- blockFocusRef.current = true;
87
- }
88
- }
89
- events.on("openchange", handleOpenChange);
90
- return function () {
91
- events.off("openchange", handleOpenChange);
92
- };
93
- }, [events, enabled]);
94
- (0, import_react.useEffect)(function () {
95
- return function () {
96
- (0, import_utils.clearTimeoutIfSet)(timeoutRef);
97
- };
98
- }, []);
99
- var reference = (0, import_react.useMemo)(function () {
100
- return {
101
- onMouseLeave() {
102
- blockFocusRef.current = false;
103
- },
104
- onFocus(event) {
105
- if (blockFocusRef.current) return;
106
- var target = (0, import_utils.getTarget)(event.nativeEvent);
107
- if (visibleOnly && (0, import_utils.isElement)(target)) {
108
- if (isMacSafari() && !event.relatedTarget) {
109
- if (!keyboardModalityRef.current && !(0, import_utils.isTypeableElement)(target)) {
110
- return;
111
- }
112
- } else if (!(0, import_utils.matchesFocusVisible)(target)) {
113
- return;
114
- }
115
- }
116
- onOpenChange(true, event.nativeEvent, "focus");
117
- },
118
- onBlur(event) {
119
- blockFocusRef.current = false;
120
- var relatedTarget = event.relatedTarget;
121
- var nativeEvent = event.nativeEvent;
122
- timeoutRef.current = window.setTimeout(function () {
123
- var activeEl = (0, import_utils.activeElement)(elements.domReference ? elements.domReference.ownerDocument : document);
124
- if (!relatedTarget && activeEl === elements.domReference) return;
125
- if ((0, import_utils.contains)(context.refs.floating.current, activeEl) || (0, import_utils.contains)(elements.domReference, activeEl)) {
126
- return;
127
- }
128
- onOpenChange(false, nativeEvent, "focus");
129
- });
130
- }
131
- };
132
- }, [context.refs.floating, elements.domReference, onOpenChange, visibleOnly]);
133
- return (0, import_react.useMemo)(function () {
134
- return enabled ? {
135
- reference
136
- } : {};
137
- }, [enabled, reference]);
138
- }
139
- //# sourceMappingURL=useFocus.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useFocus_exports","__export","useFocus","module","exports","import_react","require","import_utils","isMacSafari","isMac","isSafari","context","props","arguments","length","open","onOpenChange","events","dataRef","elements","enabled","visibleOnly","blockFocusRef","useRef","timeoutRef","keyboardModalityRef","useEffect","win","getDocument","domReference","defaultView","window","onBlur","isHTMLElement","activeElement","current","onKeyDown","onPointerDown","addEventListener","removeEventListener","handleOpenChange","param","reason","on","off","clearTimeoutIfSet","reference","useMemo","onMouseLeave","onFocus","event","target","getTarget","nativeEvent","isElement","relatedTarget","isTypeableElement","matchesFocusVisible","setTimeout","activeEl","ownerDocument","document","contains","refs","floating"],"sources":["../../../src/interactions/useFocus.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}