@okam/stack-ui 1.44.1 → 1.44.3

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/CHANGELOG.md +56 -0
  2. package/index145.js +1 -1
  3. package/index145.mjs +1 -1
  4. package/index149.js +1 -1
  5. package/index149.mjs +3 -3
  6. package/index155.js +1 -1
  7. package/index155.mjs +1 -1
  8. package/index157.js +1 -1
  9. package/index157.mjs +4 -4
  10. package/index158.js +1 -1
  11. package/index158.mjs +2 -2
  12. package/index159.js +1 -1
  13. package/index159.mjs +1 -1
  14. package/index160.js +1 -1
  15. package/index160.mjs +1 -1
  16. package/index161.js +1 -1
  17. package/index161.mjs +2 -2
  18. package/index165.js +1 -1
  19. package/index165.mjs +2 -2
  20. package/index166.js +1 -1
  21. package/index166.mjs +4 -4
  22. package/index167.js +1 -1
  23. package/index167.mjs +3 -3
  24. package/index168.js +1 -1
  25. package/index168.mjs +9 -9
  26. package/index169.js +1 -1
  27. package/index169.mjs +2 -2
  28. package/index174.js +1 -1
  29. package/index174.mjs +2 -2
  30. package/index179.js +1 -1
  31. package/index179.mjs +4 -4
  32. package/index180.js +1 -1
  33. package/index180.mjs +1 -1
  34. package/index181.js +1 -1
  35. package/index181.mjs +2 -2
  36. package/index182.js +1 -1
  37. package/index182.mjs +3 -3
  38. package/index185.js +1 -1
  39. package/index185.mjs +3 -3
  40. package/index186.js +1 -1
  41. package/index186.mjs +23 -23
  42. package/index187.js +1 -1
  43. package/index187.mjs +12 -12
  44. package/index188.js +1 -1
  45. package/index188.mjs +5 -2024
  46. package/index189.js +2 -1
  47. package/index189.mjs +48 -58
  48. package/index190.js +1 -1
  49. package/index190.mjs +2010 -174
  50. package/index191.js +1 -1
  51. package/index191.mjs +56 -200
  52. package/index192.js +1 -1
  53. package/index192.mjs +186 -62
  54. package/index193.js +1 -1
  55. package/index193.mjs +189 -129
  56. package/index194.js +1 -1
  57. package/index194.mjs +55 -115
  58. package/index195.js +1 -1
  59. package/index195.mjs +127 -208
  60. package/index196.js +1 -1
  61. package/index196.mjs +107 -173
  62. package/index197.js +1 -1
  63. package/index197.mjs +215 -60
  64. package/index198.js +1 -1
  65. package/index198.mjs +178 -267
  66. package/index199.js +1 -1
  67. package/index199.mjs +63 -92
  68. package/index200.js +1 -1
  69. package/index200.mjs +254 -163
  70. package/index201.js +1 -1
  71. package/index201.mjs +91 -77
  72. package/index202.js +1 -1
  73. package/index202.mjs +183 -53
  74. package/index203.js +1 -1
  75. package/index203.mjs +72 -114
  76. package/index204.js +1 -1
  77. package/index204.mjs +51 -109
  78. package/index205.js +1 -1
  79. package/index205.mjs +112 -108
  80. package/index206.js +1 -1
  81. package/index206.mjs +109 -65
  82. package/index207.js +1 -1
  83. package/index207.mjs +117 -105
  84. package/index208.js +1 -1
  85. package/index208.mjs +68 -48
  86. package/index209.js +1 -1
  87. package/index209.mjs +108 -91
  88. package/index210.js +1 -1
  89. package/index210.mjs +36 -54
  90. package/index211.js +1 -1
  91. package/index211.mjs +78 -41
  92. package/index212.js +1 -1
  93. package/index212.mjs +52 -81
  94. package/index213.js +1 -5
  95. package/index213.mjs +42 -66
  96. package/index214.js +1 -1
  97. package/index214.mjs +100 -12
  98. package/index215.js +5 -1
  99. package/index215.mjs +80 -5
  100. package/index216.js +1 -2
  101. package/index216.mjs +11 -49
  102. package/index217.js +1 -1
  103. package/index217.mjs +124 -9
  104. package/index218.js +1 -1
  105. package/index218.mjs +132 -56
  106. package/index219.js +1 -1
  107. package/index219.mjs +73 -131
  108. package/index220.js +1 -1
  109. package/index220.mjs +14 -14
  110. package/index221.js +1 -1
  111. package/index221.mjs +85 -33
  112. package/index222.js +1 -1
  113. package/index222.mjs +104 -229
  114. package/index223.js +1 -1
  115. package/index223.mjs +4 -125
  116. package/index224.js +1 -1
  117. package/index224.mjs +3 -72
  118. package/index225.js +1 -7
  119. package/index225.mjs +117 -431
  120. package/index226.js +1 -1
  121. package/index226.mjs +29 -58
  122. package/index227.js +1 -1
  123. package/index227.mjs +51 -54
  124. package/index228.js +1 -1
  125. package/index228.mjs +45 -4
  126. package/index229.js +1 -1
  127. package/index229.mjs +36 -24
  128. package/index230.js +1 -1
  129. package/index230.mjs +106 -40
  130. package/index231.js +1 -1
  131. package/index231.mjs +77 -5
  132. package/index232.js +1 -1
  133. package/index232.mjs +100 -23
  134. package/index233.js +1 -1
  135. package/index233.mjs +98 -13
  136. package/index234.js +1 -1
  137. package/index234.mjs +130 -4
  138. package/index235.js +1 -1
  139. package/index235.mjs +190 -14
  140. package/index236.js +1 -1
  141. package/index236.mjs +4 -43
  142. package/index237.js +1 -1
  143. package/index237.mjs +25 -43
  144. package/index238.js +1 -1
  145. package/index238.mjs +44 -29
  146. package/index239.js +1 -1
  147. package/index239.mjs +4 -30
  148. package/index240.js +1 -1
  149. package/index240.mjs +24 -10
  150. package/index241.js +1 -1
  151. package/index241.mjs +11 -28
  152. package/index242.js +1 -1
  153. package/index242.mjs +4 -15
  154. package/index243.js +1 -1
  155. package/index243.mjs +14 -9
  156. package/index244.js +1 -1
  157. package/index244.mjs +42 -6
  158. package/index245.js +1 -1
  159. package/index245.mjs +58 -5
  160. package/index246.js +1 -1
  161. package/index246.mjs +43 -7
  162. package/index247.js +1 -1
  163. package/index247.mjs +30 -27
  164. package/index248.js +1 -1
  165. package/index248.mjs +29 -15
  166. package/index249.js +1 -1
  167. package/index249.mjs +14 -44
  168. package/index250.js +1 -1
  169. package/index250.mjs +10 -8
  170. package/index251.js +1 -1
  171. package/index251.mjs +27 -14
  172. package/index252.js +1 -1
  173. package/index252.mjs +16 -3
  174. package/index253.js +1 -1
  175. package/index253.mjs +9 -19
  176. package/index254.js +1 -1
  177. package/index254.mjs +6 -34
  178. package/index255.js +1 -1
  179. package/index255.mjs +5 -22
  180. package/index256.js +1 -1
  181. package/index256.mjs +7 -27
  182. package/index257.js +1 -1
  183. package/index257.mjs +27 -128
  184. package/index258.js +1 -1
  185. package/index258.mjs +17 -190
  186. package/index259.js +1 -1
  187. package/index259.mjs +43 -8
  188. package/index260.js +1 -1
  189. package/index260.mjs +8 -3
  190. package/index261.js +1 -1
  191. package/index261.mjs +15 -35
  192. package/index262.js +1 -1
  193. package/index262.mjs +3 -6
  194. package/index263.js +1 -1
  195. package/index263.mjs +19 -29
  196. package/index264.js +1 -1
  197. package/index264.mjs +34 -6
  198. package/index265.js +1 -1
  199. package/index265.mjs +20 -122
  200. package/index266.js +1 -1
  201. package/index266.mjs +8 -133
  202. package/index267.js +1 -1
  203. package/index267.mjs +3 -75
  204. package/index268.js +1 -1
  205. package/index268.mjs +36 -14
  206. package/index269.js +1 -1
  207. package/index269.mjs +5 -95
  208. package/index270.js +1 -1
  209. package/index270.mjs +28 -105
  210. package/index271.js +1 -1
  211. package/index271.mjs +6 -4
  212. package/index272.js +1 -1
  213. package/index272.mjs +9 -3
  214. package/index273.js +1 -1
  215. package/index273.mjs +130 -122
  216. package/index274.js +1 -1
  217. package/index274.mjs +37 -23
  218. package/index275.js +1 -1
  219. package/index275.mjs +231 -51
  220. package/index276.js +1 -1
  221. package/index276.mjs +122 -41
  222. package/index277.js +1 -1
  223. package/index277.mjs +70 -35
  224. package/index278.js +7 -1
  225. package/index278.mjs +429 -103
  226. package/index279.js +1 -1
  227. package/index279.mjs +58 -77
  228. package/index280.js +1 -1
  229. package/index280.mjs +52 -99
  230. package/index281.js +1 -1
  231. package/index281.mjs +27 -97
  232. package/index282.js +1 -1
  233. package/index282.mjs +28 -141
  234. package/index283.js +1 -1
  235. package/index283.mjs +140 -209
  236. package/index284.js +1 -1
  237. package/index284.mjs +213 -22
  238. package/index285.js +1 -1
  239. package/index285.mjs +20 -47
  240. package/index286.js +1 -1
  241. package/index286.mjs +45 -42
  242. package/index287.js +1 -6
  243. package/index287.mjs +41 -108
  244. package/index288.js +6 -1
  245. package/index288.mjs +114 -72
  246. package/index289.js +1 -1
  247. package/index289.mjs +72 -75
  248. package/index290.js +1 -1
  249. package/index290.mjs +74 -7
  250. package/index291.js +1 -1
  251. package/index291.mjs +7 -11
  252. package/index292.js +1 -1
  253. package/index292.mjs +10 -30
  254. package/index293.js +1 -1
  255. package/index293.mjs +4 -3
  256. package/index294.js +1 -1
  257. package/index294.mjs +3 -4
  258. package/index329.js +1 -1
  259. package/index329.mjs +1 -1
  260. package/index331.js +1 -1
  261. package/index331.mjs +4 -4
  262. package/index332.js +1 -1
  263. package/index332.mjs +4 -4
  264. package/index333.js +1 -1
  265. package/index333.mjs +5 -5
  266. package/index335.js +1 -1
  267. package/index335.mjs +2 -2
  268. package/index336.js +1 -1
  269. package/index336.mjs +4 -4
  270. package/index339.js +1 -1
  271. package/index339.mjs +3 -3
  272. package/index342.js +1 -1
  273. package/index342.mjs +1 -1
  274. package/index345.js +1 -1
  275. package/index345.mjs +1 -1
  276. package/logger.d.ts +2 -2
  277. package/package.json +2 -2
package/index284.mjs CHANGED
@@ -1,25 +1,216 @@
1
- import { useEffect as a } from "react";
2
- const i = /* @__PURE__ */ new WeakMap();
3
- function u(s) {
4
- let { triggerRef: e, isOpen: r, onClose: t } = s;
5
- a(() => {
6
- if (!r || t === null) return;
7
- let o = (n) => {
8
- let l = n.target;
9
- if (!e.current || l instanceof Node && !l.contains(e.current) || n.target instanceof HTMLInputElement || n.target instanceof HTMLTextAreaElement) return;
10
- let f = t || i.get(e.current);
11
- f && f();
12
- };
13
- return window.addEventListener("scroll", o, !0), () => {
14
- window.removeEventListener("scroll", o, !0);
15
- };
16
- }, [
17
- r,
18
- t,
19
- e
20
- ]);
1
+ import { isWebKit as at } from "./index246.mjs";
2
+ import { clamp as G } from "./index294.mjs";
3
+ const E = {
4
+ top: "top",
5
+ bottom: "top",
6
+ left: "left",
7
+ right: "left"
8
+ }, F = {
9
+ top: "bottom",
10
+ bottom: "top",
11
+ left: "right",
12
+ right: "left"
13
+ }, pt = {
14
+ top: "left",
15
+ left: "top"
16
+ }, K = {
17
+ top: "height",
18
+ left: "width"
19
+ }, O = {
20
+ width: "totalWidth",
21
+ height: "totalHeight"
22
+ }, z = {};
23
+ let ft = () => typeof document < "u" ? window.visualViewport : null;
24
+ function q(e, t) {
25
+ let o = 0, c = 0, l = 0, i = 0, m = 0, f = 0, p = {};
26
+ var r;
27
+ let s = ((r = t == null ? void 0 : t.scale) !== null && r !== void 0 ? r : 1) > 1;
28
+ if (e.tagName === "BODY" || e.tagName === "HTML") {
29
+ let v = document.documentElement;
30
+ l = v.clientWidth, i = v.clientHeight;
31
+ var $;
32
+ o = ($ = t == null ? void 0 : t.width) !== null && $ !== void 0 ? $ : l;
33
+ var g;
34
+ c = (g = t == null ? void 0 : t.height) !== null && g !== void 0 ? g : i, p.top = v.scrollTop || e.scrollTop, p.left = v.scrollLeft || e.scrollLeft, t && (m = t.offsetTop, f = t.offsetLeft);
35
+ } else
36
+ ({ width: o, height: c, top: m, left: f } = k(e, !1)), p.top = e.scrollTop, p.left = e.scrollLeft, l = o, i = c;
37
+ if (at() && (e.tagName === "BODY" || e.tagName === "HTML") && s) {
38
+ p.top = 0, p.left = 0;
39
+ var d;
40
+ m = (d = t == null ? void 0 : t.pageTop) !== null && d !== void 0 ? d : 0;
41
+ var n;
42
+ f = (n = t == null ? void 0 : t.pageLeft) !== null && n !== void 0 ? n : 0;
43
+ }
44
+ return {
45
+ width: o,
46
+ height: c,
47
+ totalWidth: l,
48
+ totalHeight: i,
49
+ scroll: p,
50
+ top: m,
51
+ left: f
52
+ };
53
+ }
54
+ function st(e) {
55
+ return {
56
+ top: e.scrollTop,
57
+ left: e.scrollLeft,
58
+ width: e.scrollWidth,
59
+ height: e.scrollHeight
60
+ };
61
+ }
62
+ function J(e, t, o, c, l, i, m) {
63
+ var f;
64
+ let p = (f = l.scroll[e]) !== null && f !== void 0 ? f : 0, r = c[K[e]], s = m[e] + c.scroll[E[e]] + i, $ = m[e] + c.scroll[E[e]] + r - i, g = t - p + c.scroll[E[e]] + m[e] - c[E[e]], d = t - p + o + c.scroll[E[e]] + m[e] - c[E[e]];
65
+ return g < s ? s - g : d > $ ? Math.max($ - d, s - g) : 0;
66
+ }
67
+ function mt(e) {
68
+ let t = window.getComputedStyle(e);
69
+ return {
70
+ top: parseInt(t.marginTop, 10) || 0,
71
+ bottom: parseInt(t.marginBottom, 10) || 0,
72
+ left: parseInt(t.marginLeft, 10) || 0,
73
+ right: parseInt(t.marginRight, 10) || 0
74
+ };
75
+ }
76
+ function Q(e) {
77
+ if (z[e]) return z[e];
78
+ let [t, o] = e.split(" "), c = E[t] || "right", l = pt[c];
79
+ E[o] || (o = "center");
80
+ let i = K[c], m = K[l];
81
+ return z[e] = {
82
+ placement: t,
83
+ crossPlacement: o,
84
+ axis: c,
85
+ crossAxis: l,
86
+ size: i,
87
+ crossSize: m
88
+ }, z[e];
89
+ }
90
+ function Y(e, t, o, c, l, i, m, f, p, r, s) {
91
+ let { placement: $, crossPlacement: g, axis: d, crossAxis: n, size: v, crossSize: P } = c, x = {};
92
+ var h;
93
+ x[n] = (h = e[n]) !== null && h !== void 0 ? h : 0;
94
+ var b, a, _, u;
95
+ g === "center" ? x[n] += (((b = e[P]) !== null && b !== void 0 ? b : 0) - ((a = o[P]) !== null && a !== void 0 ? a : 0)) / 2 : g !== n && (x[n] += ((_ = e[P]) !== null && _ !== void 0 ? _ : 0) - ((u = o[P]) !== null && u !== void 0 ? u : 0)), x[n] += i;
96
+ const I = e[n] - o[P] + p + r, T = e[n] + e[P] - p - r;
97
+ if (x[n] = G(x[n], I, T), $ === d) {
98
+ let A = f ? s[v] : s[O[v]];
99
+ x[F[d]] = Math.floor(A - e[d] + l);
100
+ } else x[d] = Math.floor(e[d] + e[v] + l);
101
+ return x;
102
+ }
103
+ function dt(e, t, o, c, l, i, m, f, p, r, s) {
104
+ var $, g;
105
+ let d = (e.top != null ? e.top : p[O.height] - (($ = e.bottom) !== null && $ !== void 0 ? $ : 0) - m) - ((g = p.scroll.top) !== null && g !== void 0 ? g : 0), n = r ? o.top : 0;
106
+ var v, P, x;
107
+ let h = {
108
+ // This should be boundary top in container coord system vs viewport top in container coord system
109
+ // For the viewport top, there are several cases
110
+ // 1. pinchzoom case where we want the viewports offset top as top here
111
+ // 2. case where container is offset from the boundary and is contained by the boundary. In this case the top we want here is NOT 0, we want to take boundary's top even though is is a negative number OR the visual viewport, whichever is more restrictive
112
+ top: Math.max(t.top + n, ((v = s == null ? void 0 : s.offsetTop) !== null && v !== void 0 ? v : t.top) + n),
113
+ bottom: Math.min(t.top + t.height + n, ((P = s == null ? void 0 : s.offsetTop) !== null && P !== void 0 ? P : 0) + ((x = s == null ? void 0 : s.height) !== null && x !== void 0 ? x : 0))
114
+ };
115
+ var b, a, _, u;
116
+ return f !== "top" ? (
117
+ // We want the distance between the top of the overlay to the bottom of the boundary
118
+ Math.max(0, h.bottom - d - (((b = l.top) !== null && b !== void 0 ? b : 0) + ((a = l.bottom) !== null && a !== void 0 ? a : 0) + i))
119
+ ) : Math.max(0, d + m - h.top - (((_ = l.top) !== null && _ !== void 0 ? _ : 0) + ((u = l.bottom) !== null && u !== void 0 ? u : 0) + i));
120
+ }
121
+ function U(e, t, o, c, l, i, m, f) {
122
+ let { placement: p, axis: r, size: s } = i;
123
+ var $, g;
124
+ if (p === r) return Math.max(0, o[r] - (($ = m.scroll[r]) !== null && $ !== void 0 ? $ : 0) - (e[r] + (f ? t[r] : 0)) - ((g = c[r]) !== null && g !== void 0 ? g : 0) - c[F[r]] - l);
125
+ var d, n;
126
+ return Math.max(0, e[s] + e[r] + (f ? t[r] : 0) - o[r] - o[s] + ((d = m.scroll[r]) !== null && d !== void 0 ? d : 0) - ((n = c[r]) !== null && n !== void 0 ? n : 0) - c[F[r]] - l);
127
+ }
128
+ function gt(e, t, o, c, l, i, m, f, p, r, s, $, g, d, n, v, P, x) {
129
+ let h = Q(e), { size: b, crossAxis: a, crossSize: _, placement: u, crossPlacement: I } = h, T = Y(t, f, o, h, s, $, r, g, n, v, p), A = s, w = U(f, r, t, l, i + s, h, p, P);
130
+ if (m && o[b] > w) {
131
+ let W = Q(`${F[u]} ${I}`), it = Y(t, f, o, W, s, $, r, g, n, v, p);
132
+ U(f, r, t, l, i + s, W, p, P) > w && (h = W, T = it, A = s);
133
+ }
134
+ let M = "bottom";
135
+ h.axis === "top" ? h.placement === "top" ? M = "top" : h.placement === "bottom" && (M = "bottom") : h.crossAxis === "top" && (h.crossPlacement === "top" ? M = "bottom" : h.crossPlacement === "bottom" && (M = "top"));
136
+ let H = J(a, T[a], o[_], f, p, i, r);
137
+ T[a] += H;
138
+ let C = dt(T, f, r, g, l, i, o.height, M, p, P, x);
139
+ d && d < C && (C = d), o.height = Math.min(o.height, C), T = Y(t, f, o, h, A, $, r, g, n, v, p), H = J(a, T[a], o[_], f, p, i, r), T[a] += H;
140
+ let S = {}, L = t[a] - T[a] - l[E[a]], V = L + 0.5 * t[_];
141
+ const tt = n / 2 + v;
142
+ var R, N, X, Z;
143
+ const et = E[a] === "left" ? ((R = l.left) !== null && R !== void 0 ? R : 0) + ((N = l.right) !== null && N !== void 0 ? N : 0) : ((X = l.top) !== null && X !== void 0 ? X : 0) + ((Z = l.bottom) !== null && Z !== void 0 ? Z : 0), lt = o[_] - et - n / 2 - v, ot = t[a] + n / 2 - (T[a] + l[E[a]]), ct = t[a] + t[_] - n / 2 - (T[a] + l[E[a]]), nt = G(V, ot, ct);
144
+ S[a] = G(nt, tt, lt), { placement: u, crossPlacement: I } = h, n ? L = S[a] : I === "right" ? L += t[_] : I === "center" && (L += t[_] / 2);
145
+ let j = u === "left" || u === "top" ? o[b] : 0, rt = {
146
+ x: u === "top" || u === "bottom" ? L : j,
147
+ y: u === "left" || u === "right" ? L : j
148
+ };
149
+ return {
150
+ position: T,
151
+ maxHeight: C,
152
+ arrowOffsetLeft: S.left,
153
+ arrowOffsetTop: S.top,
154
+ placement: u,
155
+ triggerAnchorPoint: rt
156
+ };
157
+ }
158
+ function _t(e) {
159
+ let { placement: t, targetNode: o, overlayNode: c, scrollNode: l, padding: i, shouldFlip: m, boundaryElement: f, offset: p, crossOffset: r, maxHeight: s, arrowSize: $ = 0, arrowBoundaryOffset: g = 0 } = e, d = ft(), n = c instanceof HTMLElement ? ht(c) : document.documentElement, v = n === document.documentElement;
160
+ const P = window.getComputedStyle(n).position;
161
+ let x = !!P && P !== "static", h = v ? k(o, !1) : B(o, n, !1);
162
+ if (!v) {
163
+ let { marginTop: S, marginLeft: L } = window.getComputedStyle(o);
164
+ h.top += parseInt(S, 10) || 0, h.left += parseInt(L, 10) || 0;
165
+ }
166
+ let b = k(c, !0), a = mt(c);
167
+ var _, u;
168
+ b.width += ((_ = a.left) !== null && _ !== void 0 ? _ : 0) + ((u = a.right) !== null && u !== void 0 ? u : 0);
169
+ var I, T;
170
+ b.height += ((I = a.top) !== null && I !== void 0 ? I : 0) + ((T = a.bottom) !== null && T !== void 0 ? T : 0);
171
+ let A = st(l), w = q(f, d), M = q(n, d), H = B(f, n, !1), C = f.contains(n);
172
+ return gt(t, h, b, A, a, i, m, w, M, H, p, r, x, s, $, g, C, d);
173
+ }
174
+ function y(e, t) {
175
+ let { top: o, left: c, width: l, height: i } = e.getBoundingClientRect();
176
+ return t && e instanceof e.ownerDocument.defaultView.HTMLElement && (l = e.offsetWidth, i = e.offsetHeight), {
177
+ top: o,
178
+ left: c,
179
+ width: l,
180
+ height: i
181
+ };
182
+ }
183
+ function k(e, t) {
184
+ let { top: o, left: c, width: l, height: i } = y(e, t), { scrollTop: m, scrollLeft: f, clientTop: p, clientLeft: r } = document.documentElement;
185
+ return {
186
+ top: o + m - p,
187
+ left: c + f - r,
188
+ width: l,
189
+ height: i
190
+ };
191
+ }
192
+ function B(e, t, o) {
193
+ let c = window.getComputedStyle(e), l;
194
+ if (c.position === "fixed") l = y(e, o);
195
+ else {
196
+ l = k(e, o);
197
+ let i = k(t, o), m = window.getComputedStyle(t);
198
+ i.top += (parseInt(m.borderTopWidth, 10) || 0) - t.scrollTop, i.left += (parseInt(m.borderLeftWidth, 10) || 0) - t.scrollLeft, l.top -= i.top, l.left -= i.left;
199
+ }
200
+ return l.top -= parseInt(c.marginTop, 10) || 0, l.left -= parseInt(c.marginLeft, 10) || 0, l;
201
+ }
202
+ function ht(e) {
203
+ let t = e.offsetParent;
204
+ if (t && t === document.body && window.getComputedStyle(t).position === "static" && !D(t) && (t = document.documentElement), t == null)
205
+ for (t = e.parentElement; t && !D(t); ) t = t.parentElement;
206
+ return t || document.documentElement;
207
+ }
208
+ function D(e) {
209
+ let t = window.getComputedStyle(e);
210
+ return t.transform !== "none" || /transform|perspective/.test(t.willChange) || t.filter !== "none" || t.contain === "paint" || "backdropFilter" in t && t.backdropFilter !== "none" || "WebkitBackdropFilter" in t && t.WebkitBackdropFilter !== "none";
21
211
  }
22
212
  export {
23
- i as onCloseMap,
24
- u as useCloseOnScroll
213
+ _t as calculatePosition,
214
+ gt as calculatePositionInternal,
215
+ y as getRect
25
216
  };
package/index285.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("@react-aria/focus"),D=require("react"),h=require("./index227.js"),y=require("./index286.js"),t=[];function b(a,i){let{onClose:n,shouldCloseOnBlur:l,isOpen:o,isDismissable:u=!1,isKeyboardDismissDisabled:d=!1,shouldCloseOnInteractOutside:s}=a;D.useEffect(()=>{if(o&&!t.includes(i))return t.push(i),()=>{let e=t.indexOf(i);e>=0&&t.splice(e,1)}},[o,i]);let r=()=>{t[t.length-1]===i&&n&&n()},c=e=>{(!s||s(e.target))&&t[t.length-1]===i&&(e.stopPropagation(),e.preventDefault())},f=e=>{(!s||s(e.target))&&(t[t.length-1]===i&&(e.stopPropagation(),e.preventDefault()),r())},p=e=>{e.key==="Escape"&&!d&&!e.nativeEvent.isComposing&&(e.stopPropagation(),e.preventDefault(),r())};y.useInteractOutside({ref:i,onInteractOutside:u&&o?f:void 0,onInteractOutsideStart:c});let{focusWithinProps:O}=h.useFocusWithin({isDisabled:!l,onBlurWithin:e=>{!e.relatedTarget||v.isElementInChildOfActiveScope(e.relatedTarget)||(!s||s(e.relatedTarget))&&(n==null||n())}}),g=e=>{e.target===e.currentTarget&&e.preventDefault()};return{overlayProps:{onKeyDown:p,...O},underlayProps:{onPointerDown:g}}}exports.useOverlay=b;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),i=new WeakMap;function c(s){let{triggerRef:e,isOpen:r,onClose:t}=s;a.useEffect(()=>{if(!r||t===null)return;let o=n=>{let l=n.target;if(!e.current||l instanceof Node&&!l.contains(e.current)||n.target instanceof HTMLInputElement||n.target instanceof HTMLTextAreaElement)return;let f=t||i.get(e.current);f&&f()};return window.addEventListener("scroll",o,!0),()=>{window.removeEventListener("scroll",o,!0)}},[r,t,e])}exports.onCloseMap=i;exports.useCloseOnScroll=c;
package/index285.mjs CHANGED
@@ -1,52 +1,25 @@
1
- import { isElementInChildOfActiveScope as g } from "@react-aria/focus";
2
- import { useEffect as m } from "react";
3
- import { useFocusWithin as v } from "./index227.mjs";
4
- import { useInteractOutside as b } from "./index286.mjs";
5
- const t = [];
6
- function C(a, i) {
7
- let { onClose: o, shouldCloseOnBlur: l, isOpen: n, isDismissable: d = !1, isKeyboardDismissDisabled: u = !1, shouldCloseOnInteractOutside: s } = a;
8
- m(() => {
9
- if (n && !t.includes(i))
10
- return t.push(i), () => {
11
- let e = t.indexOf(i);
12
- e >= 0 && t.splice(e, 1);
13
- };
1
+ import { useEffect as a } from "react";
2
+ const i = /* @__PURE__ */ new WeakMap();
3
+ function u(s) {
4
+ let { triggerRef: e, isOpen: r, onClose: t } = s;
5
+ a(() => {
6
+ if (!r || t === null) return;
7
+ let o = (n) => {
8
+ let l = n.target;
9
+ if (!e.current || l instanceof Node && !l.contains(e.current) || n.target instanceof HTMLInputElement || n.target instanceof HTMLTextAreaElement) return;
10
+ let f = t || i.get(e.current);
11
+ f && f();
12
+ };
13
+ return window.addEventListener("scroll", o, !0), () => {
14
+ window.removeEventListener("scroll", o, !0);
15
+ };
14
16
  }, [
15
- n,
16
- i
17
+ r,
18
+ t,
19
+ e
17
20
  ]);
18
- let r = () => {
19
- t[t.length - 1] === i && o && o();
20
- }, f = (e) => {
21
- (!s || s(e.target)) && t[t.length - 1] === i && (e.stopPropagation(), e.preventDefault());
22
- }, p = (e) => {
23
- (!s || s(e.target)) && (t[t.length - 1] === i && (e.stopPropagation(), e.preventDefault()), r());
24
- }, c = (e) => {
25
- e.key === "Escape" && !u && !e.nativeEvent.isComposing && (e.stopPropagation(), e.preventDefault(), r());
26
- };
27
- b({
28
- ref: i,
29
- onInteractOutside: d && n ? p : void 0,
30
- onInteractOutsideStart: f
31
- });
32
- let { focusWithinProps: O } = v({
33
- isDisabled: !l,
34
- onBlurWithin: (e) => {
35
- !e.relatedTarget || g(e.relatedTarget) || (!s || s(e.relatedTarget)) && (o == null || o());
36
- }
37
- }), D = (e) => {
38
- e.target === e.currentTarget && e.preventDefault();
39
- };
40
- return {
41
- overlayProps: {
42
- onKeyDown: c,
43
- ...O
44
- },
45
- underlayProps: {
46
- onPointerDown: D
47
- }
48
- };
49
21
  }
50
22
  export {
51
- C as useOverlay
23
+ i as onCloseMap,
24
+ u as useCloseOnScroll
52
25
  };
package/index286.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("./index233.js"),v=require("./index242.js"),m=require("react");function g(r){let{ref:n,onInteractOutside:o,isDisabled:d,onInteractOutsideStart:l}=r,E=m.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}),s=v.useEffectEvent(e=>{o&&c(e,n)&&(l&&l(e),E.current.isPointerDown=!0)}),f=v.useEffectEvent(e=>{o&&o(e)});m.useEffect(()=>{let e=E.current;if(d)return;const w=n.current,t=D.getOwnerDocument(w);if(typeof PointerEvent<"u"){let i=u=>{e.isPointerDown&&c(u,n)&&f(u),e.isPointerDown=!1};return t.addEventListener("pointerdown",s,!0),t.addEventListener("click",i,!0),()=>{t.removeEventListener("pointerdown",s,!0),t.removeEventListener("click",i,!0)}}else if(process.env.NODE_ENV==="test"){let i=a=>{e.ignoreEmulatedMouseEvents?e.ignoreEmulatedMouseEvents=!1:e.isPointerDown&&c(a,n)&&f(a),e.isPointerDown=!1},u=a=>{e.ignoreEmulatedMouseEvents=!0,e.isPointerDown&&c(a,n)&&f(a),e.isPointerDown=!1};return t.addEventListener("mousedown",s,!0),t.addEventListener("mouseup",i,!0),t.addEventListener("touchstart",s,!0),t.addEventListener("touchend",u,!0),()=>{t.removeEventListener("mousedown",s,!0),t.removeEventListener("mouseup",i,!0),t.removeEventListener("touchstart",s,!0),t.removeEventListener("touchend",u,!0)}}},[n,d])}function c(r,n){if(r.button>0)return!1;if(r.target){const o=r.target.ownerDocument;if(!o||!o.documentElement.contains(r.target)||r.target.closest("[data-react-aria-top-layer]"))return!1}return n.current?!r.composedPath().includes(n.current):!1}exports.useInteractOutside=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("@react-aria/focus"),D=require("react"),h=require("./index280.js"),y=require("./index287.js"),t=[];function b(a,i){let{onClose:n,shouldCloseOnBlur:l,isOpen:o,isDismissable:u=!1,isKeyboardDismissDisabled:d=!1,shouldCloseOnInteractOutside:s}=a;D.useEffect(()=>{if(o&&!t.includes(i))return t.push(i),()=>{let e=t.indexOf(i);e>=0&&t.splice(e,1)}},[o,i]);let r=()=>{t[t.length-1]===i&&n&&n()},c=e=>{(!s||s(e.target))&&t[t.length-1]===i&&(e.stopPropagation(),e.preventDefault())},f=e=>{(!s||s(e.target))&&(t[t.length-1]===i&&(e.stopPropagation(),e.preventDefault()),r())},p=e=>{e.key==="Escape"&&!d&&!e.nativeEvent.isComposing&&(e.stopPropagation(),e.preventDefault(),r())};y.useInteractOutside({ref:i,onInteractOutside:u&&o?f:void 0,onInteractOutsideStart:c});let{focusWithinProps:O}=h.useFocusWithin({isDisabled:!l,onBlurWithin:e=>{!e.relatedTarget||v.isElementInChildOfActiveScope(e.relatedTarget)||(!s||s(e.relatedTarget))&&(n==null||n())}}),g=e=>{e.target===e.currentTarget&&e.preventDefault()};return{overlayProps:{onKeyDown:p,...O},underlayProps:{onPointerDown:g}}}exports.useOverlay=b;
package/index286.mjs CHANGED
@@ -1,49 +1,52 @@
1
- import { getOwnerDocument as p } from "./index233.mjs";
2
- import { useEffectEvent as m } from "./index242.mjs";
3
- import { useRef as w, useEffect as D } from "react";
4
- function g(r) {
5
- let { ref: n, onInteractOutside: o, isDisabled: d, onInteractOutsideStart: l } = r, E = w({
6
- isPointerDown: !1,
7
- ignoreEmulatedMouseEvents: !1
8
- }), s = m((e) => {
9
- o && f(e, n) && (l && l(e), E.current.isPointerDown = !0);
10
- }), c = m((e) => {
11
- o && o(e);
12
- });
13
- D(() => {
14
- let e = E.current;
15
- if (d) return;
16
- const v = n.current, t = p(v);
17
- if (typeof PointerEvent < "u") {
18
- let i = (u) => {
19
- e.isPointerDown && f(u, n) && c(u), e.isPointerDown = !1;
20
- };
21
- return t.addEventListener("pointerdown", s, !0), t.addEventListener("click", i, !0), () => {
22
- t.removeEventListener("pointerdown", s, !0), t.removeEventListener("click", i, !0);
23
- };
24
- } else if (process.env.NODE_ENV === "test") {
25
- let i = (a) => {
26
- e.ignoreEmulatedMouseEvents ? e.ignoreEmulatedMouseEvents = !1 : e.isPointerDown && f(a, n) && c(a), e.isPointerDown = !1;
27
- }, u = (a) => {
28
- e.ignoreEmulatedMouseEvents = !0, e.isPointerDown && f(a, n) && c(a), e.isPointerDown = !1;
1
+ import { isElementInChildOfActiveScope as g } from "@react-aria/focus";
2
+ import { useEffect as m } from "react";
3
+ import { useFocusWithin as v } from "./index280.mjs";
4
+ import { useInteractOutside as b } from "./index287.mjs";
5
+ const t = [];
6
+ function C(a, i) {
7
+ let { onClose: o, shouldCloseOnBlur: l, isOpen: n, isDismissable: d = !1, isKeyboardDismissDisabled: u = !1, shouldCloseOnInteractOutside: s } = a;
8
+ m(() => {
9
+ if (n && !t.includes(i))
10
+ return t.push(i), () => {
11
+ let e = t.indexOf(i);
12
+ e >= 0 && t.splice(e, 1);
29
13
  };
30
- return t.addEventListener("mousedown", s, !0), t.addEventListener("mouseup", i, !0), t.addEventListener("touchstart", s, !0), t.addEventListener("touchend", u, !0), () => {
31
- t.removeEventListener("mousedown", s, !0), t.removeEventListener("mouseup", i, !0), t.removeEventListener("touchstart", s, !0), t.removeEventListener("touchend", u, !0);
32
- };
33
- }
34
14
  }, [
35
15
  n,
36
- d
16
+ i
37
17
  ]);
38
- }
39
- function f(r, n) {
40
- if (r.button > 0) return !1;
41
- if (r.target) {
42
- const o = r.target.ownerDocument;
43
- if (!o || !o.documentElement.contains(r.target) || r.target.closest("[data-react-aria-top-layer]")) return !1;
44
- }
45
- return n.current ? !r.composedPath().includes(n.current) : !1;
18
+ let r = () => {
19
+ t[t.length - 1] === i && o && o();
20
+ }, f = (e) => {
21
+ (!s || s(e.target)) && t[t.length - 1] === i && (e.stopPropagation(), e.preventDefault());
22
+ }, p = (e) => {
23
+ (!s || s(e.target)) && (t[t.length - 1] === i && (e.stopPropagation(), e.preventDefault()), r());
24
+ }, c = (e) => {
25
+ e.key === "Escape" && !u && !e.nativeEvent.isComposing && (e.stopPropagation(), e.preventDefault(), r());
26
+ };
27
+ b({
28
+ ref: i,
29
+ onInteractOutside: d && n ? p : void 0,
30
+ onInteractOutsideStart: f
31
+ });
32
+ let { focusWithinProps: O } = v({
33
+ isDisabled: !l,
34
+ onBlurWithin: (e) => {
35
+ !e.relatedTarget || g(e.relatedTarget) || (!s || s(e.relatedTarget)) && (o == null || o());
36
+ }
37
+ }), D = (e) => {
38
+ e.target === e.currentTarget && e.preventDefault();
39
+ };
40
+ return {
41
+ overlayProps: {
42
+ onKeyDown: c,
43
+ ...O
44
+ },
45
+ underlayProps: {
46
+ onPointerDown: D
47
+ }
48
+ };
46
49
  }
47
50
  export {
48
- g as useInteractOutside
51
+ C as useOverlay
49
52
  };
package/index287.js CHANGED
@@ -1,6 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("./index231.js"),w=require("./index228.js"),y=require("./index244.js"),T=require("./index245.js"),M=require("./index237.js"),p=require("./index253.js"),a=typeof document<"u"&&window.visualViewport;let s=0,h;function H(e={}){let{isDisabled:t}=e;w.useLayoutEffect(()=>{if(!t)return s++,s===1&&(M.isIOS()?h=q():h=L()),()=>{s--,s===0&&h()}},[t])}function L(){let e=window.innerWidth-document.documentElement.clientWidth;return S.chain(e>0&&("scrollbarGutter"in document.documentElement.style?$(document.documentElement,"scrollbarGutter","stable"):$(document.documentElement,"paddingRight",`${e}px`)),$(document.documentElement,"overflow","hidden"))}function q(){let e,t=!1,n=c=>{let l=c.target;e=T.isScrollable(l)?l:y.getScrollParent(l,!0),t=!1;let r=l.ownerDocument.defaultView.getSelection();r&&!r.isCollapsed&&r.containsNode(l,!0)&&(t=!0),"selectionStart"in l&&"selectionEnd"in l&&l.selectionStart<l.selectionEnd&&l.ownerDocument.activeElement===l&&(t=!0)},o=document.createElement("style");o.textContent=`
2
- @layer {
3
- * {
4
- overscroll-behavior: contain;
5
- }
6
- }`.trim(),document.head.prepend(o);let i=c=>{if(!(c.touches.length===2||t)){if(!e||e===document.documentElement||e===document.body){c.preventDefault();return}e.scrollHeight===e.clientHeight&&e.scrollWidth===e.clientWidth&&c.preventDefault()}},u=c=>{let l=c.target,r=c.relatedTarget;if(r&&p.willOpenKeyboard(r))r.focus({preventScroll:!0}),g(r,p.willOpenKeyboard(l));else if(!r){var f;let v=(f=l.parentElement)===null||f===void 0?void 0:f.closest("[tabindex]");v==null||v.focus({preventScroll:!0})}},d=HTMLElement.prototype.focus;HTMLElement.prototype.focus=function(c){let l=document.activeElement!=null&&p.willOpenKeyboard(document.activeElement);d.call(this,{...c,preventScroll:!0}),(!c||!c.preventScroll)&&g(this,l)};let m=S.chain(b(document,"touchstart",n,{passive:!1,capture:!0}),b(document,"touchmove",i,{passive:!1,capture:!0}),b(document,"blur",u,!0));return()=>{m(),o.remove(),HTMLElement.prototype.focus=d}}function $(e,t,n){let o=e.style[t];return e.style[t]=n,()=>{e.style[t]=o}}function b(e,t,n,o){return e.addEventListener(t,n,o),()=>{e.removeEventListener(t,n,o)}}function g(e,t){t||!a?E(e):a.addEventListener("resize",()=>E(e),{once:!0})}function E(e){let t=document.scrollingElement||document.documentElement,n=e;for(;n&&n!==t;){let o=y.getScrollParent(n);if(o!==document.documentElement&&o!==document.body&&o!==n){let i=o.getBoundingClientRect(),u=n.getBoundingClientRect();if(u.top<i.top||u.bottom>i.top+n.clientHeight){let d=i.bottom;a&&(d=Math.min(d,a.offsetTop+a.height));let m=u.top-i.top-((d-i.top)/2-u.height/2);o.scrollTo({top:Math.max(0,Math.min(o.scrollHeight-o.clientHeight,o.scrollTop+m)),behavior:"smooth"})}}n=o.parentElement}}exports.usePreventScroll=H;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("./index241.js"),v=require("./index252.js"),m=require("react");function g(r){let{ref:n,onInteractOutside:o,isDisabled:d,onInteractOutsideStart:l}=r,E=m.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}),s=v.useEffectEvent(e=>{o&&c(e,n)&&(l&&l(e),E.current.isPointerDown=!0)}),f=v.useEffectEvent(e=>{o&&o(e)});m.useEffect(()=>{let e=E.current;if(d)return;const w=n.current,t=D.getOwnerDocument(w);if(typeof PointerEvent<"u"){let i=u=>{e.isPointerDown&&c(u,n)&&f(u),e.isPointerDown=!1};return t.addEventListener("pointerdown",s,!0),t.addEventListener("click",i,!0),()=>{t.removeEventListener("pointerdown",s,!0),t.removeEventListener("click",i,!0)}}else if(process.env.NODE_ENV==="test"){let i=a=>{e.ignoreEmulatedMouseEvents?e.ignoreEmulatedMouseEvents=!1:e.isPointerDown&&c(a,n)&&f(a),e.isPointerDown=!1},u=a=>{e.ignoreEmulatedMouseEvents=!0,e.isPointerDown&&c(a,n)&&f(a),e.isPointerDown=!1};return t.addEventListener("mousedown",s,!0),t.addEventListener("mouseup",i,!0),t.addEventListener("touchstart",s,!0),t.addEventListener("touchend",u,!0),()=>{t.removeEventListener("mousedown",s,!0),t.removeEventListener("mouseup",i,!0),t.removeEventListener("touchstart",s,!0),t.removeEventListener("touchend",u,!0)}}},[n,d])}function c(r,n){if(r.button>0)return!1;if(r.target){const o=r.target.ownerDocument;if(!o||!o.documentElement.contains(r.target)||r.target.closest("[data-react-aria-top-layer]"))return!1}return n.current?!r.composedPath().includes(n.current):!1}exports.useInteractOutside=g;
package/index287.mjs CHANGED
@@ -1,116 +1,49 @@
1
- import { chain as S } from "./index231.mjs";
2
- import { useLayoutEffect as y } from "./index228.mjs";
3
- import { getScrollParent as w } from "./index244.mjs";
4
- import { isScrollable as x } from "./index245.mjs";
5
- import { isIOS as T } from "./index237.mjs";
6
- import { willOpenKeyboard as p } from "./index253.mjs";
7
- const u = typeof document < "u" && window.visualViewport;
8
- let s = 0, v;
9
- function B(e = {}) {
10
- let { isDisabled: t } = e;
11
- y(() => {
12
- if (!t)
13
- return s++, s === 1 && (T() ? v = H() : v = M()), () => {
14
- s--, s === 0 && v();
1
+ import { getOwnerDocument as p } from "./index241.mjs";
2
+ import { useEffectEvent as m } from "./index252.mjs";
3
+ import { useRef as w, useEffect as D } from "react";
4
+ function g(r) {
5
+ let { ref: n, onInteractOutside: o, isDisabled: d, onInteractOutsideStart: l } = r, E = w({
6
+ isPointerDown: !1,
7
+ ignoreEmulatedMouseEvents: !1
8
+ }), s = m((e) => {
9
+ o && f(e, n) && (l && l(e), E.current.isPointerDown = !0);
10
+ }), c = m((e) => {
11
+ o && o(e);
12
+ });
13
+ D(() => {
14
+ let e = E.current;
15
+ if (d) return;
16
+ const v = n.current, t = p(v);
17
+ if (typeof PointerEvent < "u") {
18
+ let i = (u) => {
19
+ e.isPointerDown && f(u, n) && c(u), e.isPointerDown = !1;
20
+ };
21
+ return t.addEventListener("pointerdown", s, !0), t.addEventListener("click", i, !0), () => {
22
+ t.removeEventListener("pointerdown", s, !0), t.removeEventListener("click", i, !0);
23
+ };
24
+ } else if (process.env.NODE_ENV === "test") {
25
+ let i = (a) => {
26
+ e.ignoreEmulatedMouseEvents ? e.ignoreEmulatedMouseEvents = !1 : e.isPointerDown && f(a, n) && c(a), e.isPointerDown = !1;
27
+ }, u = (a) => {
28
+ e.ignoreEmulatedMouseEvents = !0, e.isPointerDown && f(a, n) && c(a), e.isPointerDown = !1;
29
+ };
30
+ return t.addEventListener("mousedown", s, !0), t.addEventListener("mouseup", i, !0), t.addEventListener("touchstart", s, !0), t.addEventListener("touchend", u, !0), () => {
31
+ t.removeEventListener("mousedown", s, !0), t.removeEventListener("mouseup", i, !0), t.removeEventListener("touchstart", s, !0), t.removeEventListener("touchend", u, !0);
15
32
  };
33
+ }
16
34
  }, [
17
- t
35
+ n,
36
+ d
18
37
  ]);
19
38
  }
20
- function M() {
21
- let e = window.innerWidth - document.documentElement.clientWidth;
22
- return S(e > 0 && // Use scrollbar-gutter when supported because it also works for fixed positioned elements.
23
- ("scrollbarGutter" in document.documentElement.style ? b(document.documentElement, "scrollbarGutter", "stable") : b(document.documentElement, "paddingRight", `${e}px`)), b(document.documentElement, "overflow", "hidden"));
24
- }
25
- function H() {
26
- let e, t = !1, l = (n) => {
27
- let c = n.target;
28
- e = x(c) ? c : w(c, !0), t = !1;
29
- let r = c.ownerDocument.defaultView.getSelection();
30
- r && !r.isCollapsed && r.containsNode(c, !0) && (t = !0), "selectionStart" in c && "selectionEnd" in c && c.selectionStart < c.selectionEnd && c.ownerDocument.activeElement === c && (t = !0);
31
- }, o = document.createElement("style");
32
- o.textContent = `
33
- @layer {
34
- * {
35
- overscroll-behavior: contain;
36
- }
37
- }`.trim(), document.head.prepend(o);
38
- let i = (n) => {
39
- if (!(n.touches.length === 2 || t)) {
40
- if (!e || e === document.documentElement || e === document.body) {
41
- n.preventDefault();
42
- return;
43
- }
44
- e.scrollHeight === e.clientHeight && e.scrollWidth === e.clientWidth && n.preventDefault();
45
- }
46
- }, d = (n) => {
47
- let c = n.target, r = n.relatedTarget;
48
- if (r && p(r))
49
- r.focus({
50
- preventScroll: !0
51
- }), E(r, p(c));
52
- else if (!r) {
53
- var m;
54
- let $ = (m = c.parentElement) === null || m === void 0 ? void 0 : m.closest("[tabindex]");
55
- $ == null || $.focus({
56
- preventScroll: !0
57
- });
58
- }
59
- }, a = HTMLElement.prototype.focus;
60
- HTMLElement.prototype.focus = function(n) {
61
- let c = document.activeElement != null && p(document.activeElement);
62
- a.call(this, {
63
- ...n,
64
- preventScroll: !0
65
- }), (!n || !n.preventScroll) && E(this, c);
66
- };
67
- let f = S(h(document, "touchstart", l, {
68
- passive: !1,
69
- capture: !0
70
- }), h(document, "touchmove", i, {
71
- passive: !1,
72
- capture: !0
73
- }), h(document, "blur", d, !0));
74
- return () => {
75
- f(), o.remove(), HTMLElement.prototype.focus = a;
76
- };
77
- }
78
- function b(e, t, l) {
79
- let o = e.style[t];
80
- return e.style[t] = l, () => {
81
- e.style[t] = o;
82
- };
83
- }
84
- function h(e, t, l, o) {
85
- return e.addEventListener(t, l, o), () => {
86
- e.removeEventListener(t, l, o);
87
- };
88
- }
89
- function E(e, t) {
90
- t || !u ? g(e) : u.addEventListener("resize", () => g(e), {
91
- once: !0
92
- });
93
- }
94
- function g(e) {
95
- let t = document.scrollingElement || document.documentElement, l = e;
96
- for (; l && l !== t; ) {
97
- let o = w(l);
98
- if (o !== document.documentElement && o !== document.body && o !== l) {
99
- let i = o.getBoundingClientRect(), d = l.getBoundingClientRect();
100
- if (d.top < i.top || d.bottom > i.top + l.clientHeight) {
101
- let a = i.bottom;
102
- u && (a = Math.min(a, u.offsetTop + u.height));
103
- let f = d.top - i.top - ((a - i.top) / 2 - d.height / 2);
104
- o.scrollTo({
105
- // Clamp to the valid range to prevent over-scrolling.
106
- top: Math.max(0, Math.min(o.scrollHeight - o.clientHeight, o.scrollTop + f)),
107
- behavior: "smooth"
108
- });
109
- }
110
- }
111
- l = o.parentElement;
39
+ function f(r, n) {
40
+ if (r.button > 0) return !1;
41
+ if (r.target) {
42
+ const o = r.target.ownerDocument;
43
+ if (!o || !o.documentElement.contains(r.target) || r.target.closest("[data-react-aria-top-layer]")) return !1;
112
44
  }
45
+ return n.current ? !r.composedPath().includes(n.current) : !1;
113
46
  }
114
47
  export {
115
- B as usePreventScroll
48
+ g as useInteractOutside
116
49
  };
package/index288.js CHANGED
@@ -1 +1,6 @@
1
- "use strict";const e=require("./index295.js"),r=require("./index296.js"),t=require("./index297.js"),s=require("./index298.js"),u=require("./index299.js"),n=require("./index300.js"),i=require("./index301.js"),o=require("./index302.js"),c=require("./index303.js"),q=require("./index304.js"),R=require("./index305.js"),l=require("./index306.js"),E=require("./index307.js"),S=require("./index308.js"),h=require("./index309.js"),L=require("./index310.js"),T=require("./index311.js"),a=require("./index312.js"),I=require("./index313.js"),P=require("./index314.js"),U=require("./index315.js"),d=require("./index316.js"),f=require("./index317.js"),p=require("./index318.js"),k=require("./index319.js"),K=require("./index320.js"),N=require("./index321.js"),b=require("./index322.js"),v=require("./index323.js"),z=require("./index324.js"),A=require("./index325.js"),B=require("./index326.js"),C=require("./index327.js"),D=require("./index328.js");exports.default={};exports.default={"ar-AE":e,"bg-BG":r,"cs-CZ":t,"da-DK":s,"de-DE":u,"el-GR":n,"en-US":i,"es-ES":o,"et-EE":c,"fi-FI":q,"fr-FR":R,"he-IL":l,"hr-HR":E,"hu-HU":S,"it-IT":h,"ja-JP":L,"ko-KR":T,"lt-LT":a,"lv-LV":I,"nb-NO":P,"nl-NL":U,"pl-PL":d,"pt-BR":f,"pt-PT":p,"ro-RO":k,"ru-RU":K,"sk-SK":N,"sl-SI":b,"sr-SP":v,"sv-SE":z,"tr-TR":A,"uk-UA":B,"zh-CN":C,"zh-TW":D};module.exports=exports.default;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("./index239.js"),w=require("./index236.js"),y=require("./index254.js"),T=require("./index255.js"),M=require("./index246.js"),p=require("./index263.js"),a=typeof document<"u"&&window.visualViewport;let s=0,h;function H(e={}){let{isDisabled:t}=e;w.useLayoutEffect(()=>{if(!t)return s++,s===1&&(M.isIOS()?h=q():h=L()),()=>{s--,s===0&&h()}},[t])}function L(){let e=window.innerWidth-document.documentElement.clientWidth;return S.chain(e>0&&("scrollbarGutter"in document.documentElement.style?$(document.documentElement,"scrollbarGutter","stable"):$(document.documentElement,"paddingRight",`${e}px`)),$(document.documentElement,"overflow","hidden"))}function q(){let e,t=!1,n=c=>{let l=c.target;e=T.isScrollable(l)?l:y.getScrollParent(l,!0),t=!1;let r=l.ownerDocument.defaultView.getSelection();r&&!r.isCollapsed&&r.containsNode(l,!0)&&(t=!0),"selectionStart"in l&&"selectionEnd"in l&&l.selectionStart<l.selectionEnd&&l.ownerDocument.activeElement===l&&(t=!0)},o=document.createElement("style");o.textContent=`
2
+ @layer {
3
+ * {
4
+ overscroll-behavior: contain;
5
+ }
6
+ }`.trim(),document.head.prepend(o);let i=c=>{if(!(c.touches.length===2||t)){if(!e||e===document.documentElement||e===document.body){c.preventDefault();return}e.scrollHeight===e.clientHeight&&e.scrollWidth===e.clientWidth&&c.preventDefault()}},u=c=>{let l=c.target,r=c.relatedTarget;if(r&&p.willOpenKeyboard(r))r.focus({preventScroll:!0}),g(r,p.willOpenKeyboard(l));else if(!r){var f;let v=(f=l.parentElement)===null||f===void 0?void 0:f.closest("[tabindex]");v==null||v.focus({preventScroll:!0})}},d=HTMLElement.prototype.focus;HTMLElement.prototype.focus=function(c){let l=document.activeElement!=null&&p.willOpenKeyboard(document.activeElement);d.call(this,{...c,preventScroll:!0}),(!c||!c.preventScroll)&&g(this,l)};let m=S.chain(b(document,"touchstart",n,{passive:!1,capture:!0}),b(document,"touchmove",i,{passive:!1,capture:!0}),b(document,"blur",u,!0));return()=>{m(),o.remove(),HTMLElement.prototype.focus=d}}function $(e,t,n){let o=e.style[t];return e.style[t]=n,()=>{e.style[t]=o}}function b(e,t,n,o){return e.addEventListener(t,n,o),()=>{e.removeEventListener(t,n,o)}}function g(e,t){t||!a?E(e):a.addEventListener("resize",()=>E(e),{once:!0})}function E(e){let t=document.scrollingElement||document.documentElement,n=e;for(;n&&n!==t;){let o=y.getScrollParent(n);if(o!==document.documentElement&&o!==document.body&&o!==n){let i=o.getBoundingClientRect(),u=n.getBoundingClientRect();if(u.top<i.top||u.bottom>i.top+n.clientHeight){let d=i.bottom;a&&(d=Math.min(d,a.offsetTop+a.height));let m=u.top-i.top-((d-i.top)/2-u.height/2);o.scrollTo({top:Math.max(0,Math.min(o.scrollHeight-o.clientHeight,o.scrollTop+m)),behavior:"smooth"})}}n=o.parentElement}}exports.usePreventScroll=H;