@okam/stack-ui 1.44.0 → 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 (347) hide show
  1. package/CHANGELOG.md +82 -4
  2. package/components/Popover/interface.d.ts +3 -3
  3. package/components/TagGroup/interface.d.ts +2 -2
  4. package/index.d.ts +2 -0
  5. package/index149.js +1 -1
  6. package/index149.mjs +4 -4
  7. package/index155.js +1 -1
  8. package/index155.mjs +4 -4
  9. package/index157.js +1 -1
  10. package/index157.mjs +4 -4
  11. package/index158.js +1 -1
  12. package/index158.mjs +2 -2
  13. package/index159.js +1 -1
  14. package/index159.mjs +1 -1
  15. package/index160.js +1 -1
  16. package/index160.mjs +1 -1
  17. package/index161.js +1 -2
  18. package/index161.mjs +39 -12
  19. package/index162.js +1 -1
  20. package/index162.mjs +12 -38
  21. package/index163.js +2 -1
  22. package/index163.mjs +26 -11
  23. package/index164.js +2 -1
  24. package/index164.mjs +38 -13
  25. package/index165.js +1 -1
  26. package/index165.mjs +21 -38
  27. package/index166.js +1 -2
  28. package/index166.mjs +44 -24
  29. package/index167.js +1 -1
  30. package/index167.mjs +25 -22
  31. package/index168.js +1 -1
  32. package/index168.mjs +40 -45
  33. package/index169.js +2 -1
  34. package/index169.mjs +57 -25
  35. package/index170.js +1 -1
  36. package/index170.mjs +39 -41
  37. package/index171.js +1 -2
  38. package/index171.mjs +30 -57
  39. package/index172.js +2 -1
  40. package/index172.mjs +8 -38
  41. package/index173.js +2 -1
  42. package/index173.mjs +9 -30
  43. package/index174.js +1 -2
  44. package/index174.mjs +32 -9
  45. package/index175.js +1 -2
  46. package/index175.mjs +14 -9
  47. package/index176.js +1 -1
  48. package/index176.mjs +16 -31
  49. package/index177.js +1 -1
  50. package/index177.mjs +11 -15
  51. package/index178.js +2 -1
  52. package/index178.mjs +47 -16
  53. package/index179.js +1 -2
  54. package/index179.mjs +36 -46
  55. package/index180.js +1 -1
  56. package/index180.mjs +31 -36
  57. package/index181.js +1 -1
  58. package/index181.mjs +20 -31
  59. package/index182.js +1 -1
  60. package/index182.mjs +32 -18
  61. package/index183.js +1 -1
  62. package/index183.mjs +14 -36
  63. package/index185.js +1 -1
  64. package/index185.mjs +3 -3
  65. package/index186.js +1 -1
  66. package/index186.mjs +23 -23
  67. package/index188.js +1 -1
  68. package/index188.mjs +5 -2025
  69. package/index189.js +2 -1
  70. package/index189.mjs +48 -58
  71. package/index190.js +1 -1
  72. package/index190.mjs +2010 -174
  73. package/index191.js +1 -1
  74. package/index191.mjs +59 -5
  75. package/index192.js +1 -2
  76. package/index192.mjs +186 -47
  77. package/index193.js +1 -1
  78. package/index193.mjs +203 -11
  79. package/index194.js +1 -1
  80. package/index194.mjs +51 -190
  81. package/index195.js +1 -1
  82. package/index195.mjs +130 -51
  83. package/index196.js +1 -1
  84. package/index196.mjs +111 -130
  85. package/index197.js +1 -1
  86. package/index197.mjs +205 -105
  87. package/index198.js +1 -1
  88. package/index198.mjs +169 -203
  89. package/index199.js +1 -1
  90. package/index199.mjs +61 -182
  91. package/index2.mjs +35 -35
  92. package/index200.js +1 -1
  93. package/index200.mjs +270 -60
  94. package/index201.js +1 -1
  95. package/index201.mjs +89 -270
  96. package/index202.js +1 -1
  97. package/index202.mjs +182 -92
  98. package/index203.js +1 -1
  99. package/index203.mjs +78 -182
  100. package/index204.js +1 -1
  101. package/index204.mjs +49 -75
  102. package/index205.js +1 -1
  103. package/index205.mjs +117 -49
  104. package/index206.js +1 -1
  105. package/index206.mjs +108 -118
  106. package/index207.js +1 -1
  107. package/index207.mjs +112 -106
  108. package/index208.js +1 -1
  109. package/index208.mjs +63 -113
  110. package/index209.js +1 -1
  111. package/index209.mjs +108 -70
  112. package/index210.js +1 -1
  113. package/index210.mjs +50 -108
  114. package/index211.js +1 -1
  115. package/index211.mjs +75 -34
  116. package/index212.js +1 -1
  117. package/index212.mjs +48 -71
  118. package/index213.js +1 -1
  119. package/index213.mjs +43 -57
  120. package/index214.js +1 -1
  121. package/index214.mjs +86 -43
  122. package/index215.js +5 -1
  123. package/index215.mjs +62 -81
  124. package/index216.js +1 -5
  125. package/index216.mjs +11 -80
  126. package/index217.js +1 -1
  127. package/index217.mjs +119 -125
  128. package/index218.js +1 -1
  129. package/index218.mjs +129 -185
  130. package/index219.js +1 -1
  131. package/index219.mjs +72 -121
  132. package/index220.js +1 -1
  133. package/index220.mjs +12 -132
  134. package/index221.js +1 -1
  135. package/index221.mjs +89 -69
  136. package/index222.js +1 -1
  137. package/index222.mjs +104 -12
  138. package/index223.js +1 -1
  139. package/index223.mjs +4 -95
  140. package/index224.js +1 -1
  141. package/index224.mjs +3 -106
  142. package/index225.js +1 -1
  143. package/index225.mjs +125 -4
  144. package/index226.js +1 -1
  145. package/index226.mjs +29 -3
  146. package/index227.js +1 -1
  147. package/index227.mjs +39 -113
  148. package/index228.js +1 -1
  149. package/index228.mjs +34 -19
  150. package/index229.js +1 -1
  151. package/index229.mjs +26 -40
  152. package/index230.js +1 -1
  153. package/index230.mjs +98 -29
  154. package/index231.js +1 -1
  155. package/index231.mjs +68 -28
  156. package/index232.js +1 -1
  157. package/index232.mjs +78 -90
  158. package/index233.js +1 -1
  159. package/index233.mjs +98 -78
  160. package/index234.js +1 -1
  161. package/index234.mjs +125 -96
  162. package/index235.js +1 -1
  163. package/index235.mjs +191 -98
  164. package/index236.js +1 -1
  165. package/index236.mjs +4 -126
  166. package/index237.js +1 -1
  167. package/index237.mjs +20 -67
  168. package/index238.js +1 -7
  169. package/index238.mjs +39 -431
  170. package/index239.js +1 -1
  171. package/index239.mjs +4 -57
  172. package/index240.js +1 -1
  173. package/index240.mjs +24 -3
  174. package/index241.js +1 -1
  175. package/index241.mjs +12 -25
  176. package/index242.js +1 -1
  177. package/index242.mjs +4 -47
  178. package/index243.js +1 -1
  179. package/index243.mjs +14 -5
  180. package/index244.js +1 -1
  181. package/index244.mjs +40 -22
  182. package/index245.js +1 -1
  183. package/index245.mjs +57 -11
  184. package/index246.js +1 -1
  185. package/index246.mjs +43 -4
  186. package/index247.js +1 -1
  187. package/index247.mjs +31 -13
  188. package/index248.js +1 -1
  189. package/index248.mjs +31 -42
  190. package/index249.js +1 -1
  191. package/index249.mjs +13 -57
  192. package/index250.js +1 -1
  193. package/index250.mjs +10 -43
  194. package/index251.js +1 -1
  195. package/index251.mjs +28 -31
  196. package/index252.js +1 -1
  197. package/index252.mjs +14 -30
  198. package/index253.js +1 -1
  199. package/index253.mjs +9 -14
  200. package/index254.js +1 -1
  201. package/index254.mjs +6 -10
  202. package/index255.js +1 -1
  203. package/index255.mjs +5 -29
  204. package/index256.js +1 -1
  205. package/index256.mjs +7 -15
  206. package/index257.js +1 -1
  207. package/index257.mjs +29 -9
  208. package/index258.js +1 -1
  209. package/index258.mjs +17 -6
  210. package/index259.js +1 -1
  211. package/index259.mjs +44 -5
  212. package/index260.js +1 -1
  213. package/index260.mjs +8 -7
  214. package/index261.js +1 -1
  215. package/index261.mjs +13 -26
  216. package/index262.js +1 -1
  217. package/index262.mjs +3 -18
  218. package/index263.js +1 -1
  219. package/index263.mjs +18 -43
  220. package/index264.js +1 -1
  221. package/index264.mjs +33 -7
  222. package/index265.js +1 -1
  223. package/index265.mjs +22 -16
  224. package/index266.js +1 -1
  225. package/index266.mjs +10 -3
  226. package/index267.js +1 -1
  227. package/index267.mjs +2 -18
  228. package/index268.js +1 -1
  229. package/index268.mjs +36 -34
  230. package/index269.js +1 -1
  231. package/index269.mjs +5 -22
  232. package/index270.js +1 -1
  233. package/index270.mjs +28 -53
  234. package/index271.js +1 -1
  235. package/index271.mjs +6 -27
  236. package/index272.js +1 -1
  237. package/index272.mjs +9 -144
  238. package/index273.js +1 -1
  239. package/index273.mjs +127 -207
  240. package/index274.js +1 -1
  241. package/index274.mjs +43 -22
  242. package/index275.js +1 -1
  243. package/index275.mjs +226 -44
  244. package/index276.js +1 -1
  245. package/index276.mjs +121 -42
  246. package/index277.js +1 -6
  247. package/index277.mjs +64 -105
  248. package/index278.js +7 -1
  249. package/index278.mjs +440 -72
  250. package/index279.js +1 -1
  251. package/index279.mjs +56 -72
  252. package/index28.js +1 -1
  253. package/index28.mjs +38 -94
  254. package/index280.js +1 -1
  255. package/index280.mjs +54 -7
  256. package/index281.js +1 -1
  257. package/index281.mjs +27 -11
  258. package/index282.js +1 -1
  259. package/index282.mjs +31 -9
  260. package/index283.js +1 -1
  261. package/index283.mjs +136 -125
  262. package/index284.js +1 -1
  263. package/index284.mjs +209 -39
  264. package/index285.js +1 -1
  265. package/index285.mjs +19 -228
  266. package/index286.js +1 -1
  267. package/index286.mjs +46 -28
  268. package/index287.js +1 -1
  269. package/index287.mjs +45 -8
  270. package/index288.js +6 -1
  271. package/index288.mjs +113 -3
  272. package/index289.js +1 -1
  273. package/index289.mjs +72 -37
  274. package/index29.js +1 -1
  275. package/index29.mjs +2 -2
  276. package/index290.js +1 -1
  277. package/index290.mjs +74 -5
  278. package/index291.js +1 -1
  279. package/index291.mjs +7 -29
  280. package/index292.js +1 -1
  281. package/index292.mjs +11 -6
  282. package/index30.js +1 -1
  283. package/index30.mjs +1 -1
  284. package/index329.js +1 -1
  285. package/index329.mjs +17 -59
  286. package/index33.js +1 -1
  287. package/index33.mjs +2 -2
  288. package/index330.js +1 -1
  289. package/index330.mjs +30 -7
  290. package/index331.js +1 -1
  291. package/index331.mjs +63 -27
  292. package/index332.js +1 -1
  293. package/index332.mjs +15 -87
  294. package/index333.js +1 -1
  295. package/index333.mjs +48 -7
  296. package/index334.js +1 -1
  297. package/index334.mjs +7 -26
  298. package/index335.js +1 -1
  299. package/index335.mjs +26 -32
  300. package/index336.js +1 -1
  301. package/index336.mjs +87 -6
  302. package/index337.js +1 -1
  303. package/index337.mjs +9 -6
  304. package/index338.js +1 -1
  305. package/index338.mjs +23 -48
  306. package/index339.js +1 -1
  307. package/index339.mjs +32 -28
  308. package/index34.js +1 -1
  309. package/index34.mjs +3 -3
  310. package/index340.js +1 -1
  311. package/index340.mjs +6 -15
  312. package/index341.js +1 -1
  313. package/index341.mjs +6 -21
  314. package/index342.js +1 -1
  315. package/index342.mjs +28 -28
  316. package/index345.js +1 -1
  317. package/index345.mjs +1 -1
  318. package/index35.js +1 -1
  319. package/index35.mjs +1 -1
  320. package/index36.js +1 -1
  321. package/index36.mjs +2 -2
  322. package/index38.js +1 -1
  323. package/index38.mjs +3 -3
  324. package/index39.js +1 -1
  325. package/index39.mjs +3 -3
  326. package/index40.js +1 -1
  327. package/index40.mjs +3 -3
  328. package/index42.js +1 -1
  329. package/index42.mjs +1 -1
  330. package/index44.js +1 -1
  331. package/index44.mjs +2 -2
  332. package/index45.js +1 -1
  333. package/index45.mjs +1 -1
  334. package/index48.js +1 -1
  335. package/index48.mjs +2 -2
  336. package/index52.js +1 -1
  337. package/index52.mjs +1 -1
  338. package/index54.js +1 -1
  339. package/index54.mjs +3 -3
  340. package/index56.js +1 -1
  341. package/index56.mjs +2 -2
  342. package/index57.js +1 -1
  343. package/index57.mjs +1 -1
  344. package/index59.js +1 -1
  345. package/index59.mjs +2 -2
  346. package/logger.d.ts +2 -2
  347. package/package.json +2 -2
package/index277.mjs CHANGED
@@ -1,116 +1,75 @@
1
- import { chain as S } from "./index243.mjs";
2
- import { useLayoutEffect as y } from "./index240.mjs";
3
- import { getScrollParent as w } from "./index258.mjs";
4
- import { isScrollable as x } from "./index259.mjs";
5
- import { isIOS as T } from "./index250.mjs";
6
- import { willOpenKeyboard as p } from "./index267.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();
15
- };
16
- }, [
17
- t
18
- ]);
19
- }
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();
1
+ import { setInteractionModality as f } from "./index331.mjs";
2
+ import { useRef as g, useEffect as $ } from "react";
3
+ import { useLayoutEffect as p } from "./index236.mjs";
4
+ import { useEffectEvent as d } from "./index252.mjs";
5
+ function w(a, e, t) {
6
+ let { validationBehavior: v, focus: s } = a;
7
+ p(() => {
8
+ if (v === "native" && (t != null && t.current) && !t.current.disabled) {
9
+ let n = e.realtimeValidation.isInvalid ? e.realtimeValidation.validationErrors.join(" ") || "Invalid value." : "";
10
+ t.current.setCustomValidity(n), t.current.hasAttribute("title") || (t.current.title = ""), e.realtimeValidation.isInvalid || e.updateValidation(h(t.current));
45
11
  }
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
- });
12
+ });
13
+ let r = g(!1), u = d(() => {
14
+ r.current || e.resetValidation();
15
+ }), c = d((n) => {
16
+ var i;
17
+ e.displayValidation.isInvalid || e.commitValidation();
18
+ let o = t == null || (i = t.current) === null || i === void 0 ? void 0 : i.form;
19
+ if (!n.defaultPrevented && t && o && y(o) === t.current) {
20
+ var l;
21
+ s ? s() : (l = t.current) === null || l === void 0 || l.focus(), f("keyboard");
58
22
  }
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
- };
23
+ n.preventDefault();
24
+ }), m = d(() => {
25
+ e.commitValidation();
26
+ });
27
+ $(() => {
28
+ let n = t == null ? void 0 : t.current;
29
+ if (!n) return;
30
+ let i = n.form, o = i == null ? void 0 : i.reset;
31
+ return i && (i.reset = () => {
32
+ r.current = !window.event || window.event.type === "message" && window.event.target instanceof MessagePort, o == null || o.call(i), r.current = !1;
33
+ }), n.addEventListener("invalid", c), n.addEventListener("change", m), i == null || i.addEventListener("reset", u), () => {
34
+ n.removeEventListener("invalid", c), n.removeEventListener("change", m), i == null || i.removeEventListener("reset", u), i && (i.reset = o);
35
+ };
36
+ }, [
37
+ t,
38
+ v
39
+ ]);
77
40
  }
78
- function b(e, t, l) {
79
- let o = e.style[t];
80
- return e.style[t] = l, () => {
81
- e.style[t] = o;
41
+ function b(a) {
42
+ let e = a.validity;
43
+ return {
44
+ badInput: e.badInput,
45
+ customError: e.customError,
46
+ patternMismatch: e.patternMismatch,
47
+ rangeOverflow: e.rangeOverflow,
48
+ rangeUnderflow: e.rangeUnderflow,
49
+ stepMismatch: e.stepMismatch,
50
+ tooLong: e.tooLong,
51
+ tooShort: e.tooShort,
52
+ typeMismatch: e.typeMismatch,
53
+ valueMissing: e.valueMissing,
54
+ valid: e.valid
82
55
  };
83
56
  }
84
- function h(e, t, l, o) {
85
- return e.addEventListener(t, l, o), () => {
86
- e.removeEventListener(t, l, o);
57
+ function h(a) {
58
+ return {
59
+ isInvalid: !a.validity.valid,
60
+ validationDetails: b(a),
61
+ validationErrors: a.validationMessage ? [
62
+ a.validationMessage
63
+ ] : []
87
64
  };
88
65
  }
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;
66
+ function y(a) {
67
+ for (let e = 0; e < a.elements.length; e++) {
68
+ let t = a.elements[e];
69
+ if (!t.validity.valid) return t;
112
70
  }
71
+ return null;
113
72
  }
114
73
  export {
115
- B as usePreventScroll
74
+ w as useFormValidation
116
75
  };
package/index278.js CHANGED
@@ -1 +1,7 @@
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 Y=require("./index336.js"),x=require("./index339.js"),Ee=require("./index334.js"),Pe=require("./index340.js"),ye=require("./index223.js"),ee=require("./index341.js"),he=require("./index239.js"),a=require("./index240.js"),d=require("./index241.js"),ue=require("./index158.js"),me=require("./index244.js"),te=require("./index245.js"),$e=require("./index248.js"),re=require("./index236.js"),Se=require("./index253.js"),be=require("./index246.js"),W=require("./index260.js"),U=require("./index252.js"),Ce=require("react-dom"),p=require("react");function Oe(n){let s=p.useContext(Ee.PressResponderContext);if(s){let{register:l,...c}=s;n=ue.mergeProps(c,n),l()}return Se.useSyncRef(s,n.ref),n}var X=new WeakMap;class F{continuePropagation(){ee._(this,X,!1)}get shouldStopPropagation(){return Pe._(this,X)}constructor(s,l,c,f){ye._(this,X,{writable:!0,value:void 0}),ee._(this,X,!0);var P;let T=(P=f==null?void 0:f.target)!==null&&P!==void 0?P:c.currentTarget;const g=T==null?void 0:T.getBoundingClientRect();let D,b=0,w,v=null;c.clientX!=null&&c.clientY!=null&&(w=c.clientX,v=c.clientY),g&&(w!=null&&v!=null?(D=w-g.left,b=v-g.top):(D=g.width/2,b=g.height/2)),this.type=s,this.pointerType=l,this.target=c.currentTarget,this.shiftKey=c.shiftKey,this.metaKey=c.metaKey,this.ctrlKey=c.ctrlKey,this.altKey=c.altKey,this.x=D,this.y=b}}const ne=Symbol("linkClicked"),ie="react-aria-pressable-style",se="data-react-aria-pressable";function ke(n){let{onPress:s,onPressChange:l,onPressStart:c,onPressEnd:f,onPressUp:P,onClick:T,isDisabled:g,isPressed:D,preventFocusOnPress:b,shouldCancelOnPointerExit:w,allowTextSelectionOnPress:v,ref:A,...fe}=Oe(n),[ge,J]=p.useState(!1),h=p.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null,disposables:[]}),{addGlobalListener:m,removeAllGlobalListeners:M,removeGlobalListener:C}=$e.useGlobalListeners(),y=p.useCallback((e,r)=>{let t=h.current;if(g||t.didFirePressStart)return!1;let i=!0;if(t.isTriggeringEvent=!0,c){let o=new F("pressstart",r,e);c(o),i=o.shouldStopPropagation}return l&&l(!0),t.isTriggeringEvent=!1,t.didFirePressStart=!0,J(!0),i},[g,c,l]),E=p.useCallback((e,r,t=!0)=>{let i=h.current;if(!i.didFirePressStart)return!1;i.didFirePressStart=!1,i.isTriggeringEvent=!0;let o=!0;if(f){let u=new F("pressend",r,e);f(u),o=u.shouldStopPropagation}if(l&&l(!1),J(!1),s&&t&&!g){let u=new F("press",r,e);s(u),o&&(o=u.shouldStopPropagation)}return i.isTriggeringEvent=!1,o},[g,f,l,s]),pe=U.useEffectEvent(E),O=p.useCallback((e,r)=>{let t=h.current;if(g)return!1;if(P){t.isTriggeringEvent=!0;let i=new F("pressup",r,e);return P(i),t.isTriggeringEvent=!1,i.shouldStopPropagation}return!0},[g,P]),de=U.useEffectEvent(O),$=p.useCallback(e=>{let r=h.current;if(r.isPressed&&r.target){r.didFirePressStart&&r.pointerType!=null&&E(K(r.target,e),r.pointerType,!1),r.isPressed=!1,L(null),r.isOverTarget=!1,r.activePointerId=null,r.pointerType=null,M(),v||x.restoreTextSelection(r.target);for(let t of r.disposables)t();r.disposables=[]}},[v,M,E]),I=U.useEffectEvent($),q=p.useCallback(e=>{w&&$(e)},[w,$]),N=p.useCallback(e=>{g||T==null||T(e)},[g,T]),V=p.useCallback((e,r)=>{if(!g&&T){let t=new MouseEvent("click",e);Y.setEventTarget(t,r),T(Y.createSyntheticEvent(t))}},[g,T]),ve=U.useEffectEvent(V),[Q,Z]=p.useState(!1);re.useLayoutEffect(()=>{let e=h.current;if(Q){let r=u=>{var k;if(e.isPressed&&e.target&&z(u,e.target)){var G;le(a.getEventTarget(u),u.key)&&u.preventDefault();let B=a.getEventTarget(u),R=a.nodeContains(e.target,a.getEventTarget(u));pe(K(e.target,u),"keyboard",R),R&&ve(u,e.target),M(),u.key!=="Enter"&&j(e.target)&&a.nodeContains(e.target,B)&&!u[ne]&&(u[ne]=!0,te.openLink(e.target,u,!1)),e.isPressed=!1,Z(!1),(G=e.metaKeyEvents)===null||G===void 0||G.delete(u.key)}else if(u.key==="Meta"&&(!((k=e.metaKeyEvents)===null||k===void 0)&&k.size)){var H;let B=e.metaKeyEvents;e.metaKeyEvents=void 0;for(let R of B.values())(H=e.target)===null||H===void 0||H.dispatchEvent(new KeyboardEvent("keyup",R))}},t=e.target,i=u=>{t&&z(u,t)&&!u.repeat&&a.nodeContains(t,a.getEventTarget(u))&&e.target&&de(K(e.target,u),"keyboard")},o=he.chain(i,r);return m(d.getOwnerDocument(e.target),"keyup",o,!0),()=>{C(d.getOwnerDocument(e.target),"keyup",o,!0)}}},[Q,m,M,C]);let[_,L]=p.useState(null);re.useLayoutEffect(()=>{let e=h.current;if(_==="pointer"){let r=i=>{if(i.pointerId===e.activePointerId&&e.isPressed&&i.button===0&&e.target){if(a.nodeContains(e.target,a.getEventTarget(i))&&e.pointerType!=null){let o=!1,u=setTimeout(()=>{e.isPressed&&e.target instanceof HTMLElement&&(o?I(i):(me.focusWithoutScrolling(e.target),e.target.click()))},80);m(i.currentTarget,"click",()=>o=!0,!0),e.disposables.push(()=>clearTimeout(u))}else I(i);e.isOverTarget=!1}},t=i=>{I(i)};return m(d.getOwnerDocument(e.target),"pointerup",r,!1),m(d.getOwnerDocument(e.target),"pointercancel",t,!1),()=>{C(d.getOwnerDocument(e.target),"pointerup",r,!1),C(d.getOwnerDocument(e.target),"pointercancel",t,!1)}}else if(_==="mouse"&&process.env.NODE_ENV==="test"){let r=t=>{if(t.button===0){if(e.ignoreEmulatedMouseEvents){e.ignoreEmulatedMouseEvents=!1;return}e.target&&e.target.contains(t.target)&&e.pointerType!=null||I(t),e.isOverTarget=!1}};return m(d.getOwnerDocument(e.target),"mouseup",r,!1),()=>{C(d.getOwnerDocument(e.target),"mouseup",r,!1)}}else if(_==="touch"&&process.env.NODE_ENV==="test"){let r=t=>{e.isPressed&&a.nodeContains(a.getEventTarget(t),e.target)&&I({currentTarget:e.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})};return m(d.getOwnerWindow(e.target),"scroll",r,!0),()=>{C(d.getOwnerWindow(e.target),"scroll",r,!0)}}},[_,m,C]);let Te=p.useMemo(()=>{let e=h.current,r={onKeyDown(t){if(z(t.nativeEvent,t.currentTarget)&&a.nodeContains(t.currentTarget,a.getEventTarget(t.nativeEvent))){var i;le(a.getEventTarget(t.nativeEvent),t.key)&&t.preventDefault();let o=!0;!e.isPressed&&!t.repeat&&(e.target=t.currentTarget,e.isPressed=!0,Z(!0),e.pointerType="keyboard",o=y(t,"keyboard")),o&&t.stopPropagation(),t.metaKey&&be.isMac()&&((i=e.metaKeyEvents)===null||i===void 0||i.set(t.key,t.nativeEvent))}else t.key==="Meta"&&(e.metaKeyEvents=new Map)},onClick(t){if(!(t&&!a.nodeContains(t.currentTarget,a.getEventTarget(t.nativeEvent)))&&t&&t.button===0&&!e.isTriggeringEvent&&!te.openLink.isOpening){let i=!0;if(g&&t.preventDefault(),!e.ignoreEmulatedMouseEvents&&!e.isPressed&&(e.pointerType==="virtual"||W.isVirtualClick(t.nativeEvent))){let o=y(t,"virtual"),u=O(t,"virtual"),k=E(t,"virtual");N(t),i=o&&u&&k}else if(e.isPressed&&e.pointerType!=="keyboard"){let o=e.pointerType||t.nativeEvent.pointerType||"virtual",u=O(K(t.currentTarget,t),o),k=E(K(t.currentTarget,t),o,!0);i=u&&k,e.isOverTarget=!1,N(t),$(t)}e.ignoreEmulatedMouseEvents=!1,i&&t.stopPropagation()}}};return typeof PointerEvent<"u"?(r.onPointerDown=t=>{if(t.button!==0||!a.nodeContains(t.currentTarget,a.getEventTarget(t.nativeEvent)))return;if(W.isVirtualPointerEvent(t.nativeEvent)){e.pointerType="virtual";return}e.pointerType=t.pointerType;let i=!0;if(!e.isPressed){e.isPressed=!0,L("pointer"),e.isOverTarget=!0,e.activePointerId=t.pointerId,e.target=t.currentTarget,v||x.disableTextSelection(e.target),i=y(t,e.pointerType);let o=a.getEventTarget(t.nativeEvent);"releasePointerCapture"in o&&o.releasePointerCapture(t.pointerId)}i&&t.stopPropagation()},r.onMouseDown=t=>{if(a.nodeContains(t.currentTarget,a.getEventTarget(t.nativeEvent))&&t.button===0){if(b){let i=Y.preventFocus(t.target);i&&e.disposables.push(i)}t.stopPropagation()}},r.onPointerUp=t=>{!a.nodeContains(t.currentTarget,a.getEventTarget(t.nativeEvent))||e.pointerType==="virtual"||t.button===0&&!e.isPressed&&O(t,e.pointerType||t.pointerType)},r.onPointerEnter=t=>{t.pointerId===e.activePointerId&&e.target&&!e.isOverTarget&&e.pointerType!=null&&(e.isOverTarget=!0,y(K(e.target,t),e.pointerType))},r.onPointerLeave=t=>{t.pointerId===e.activePointerId&&e.target&&e.isOverTarget&&e.pointerType!=null&&(e.isOverTarget=!1,E(K(e.target,t),e.pointerType,!1),q(t))},r.onDragStart=t=>{a.nodeContains(t.currentTarget,a.getEventTarget(t.nativeEvent))&&$(t)}):process.env.NODE_ENV==="test"&&(r.onMouseDown=t=>{if(t.button!==0||!a.nodeContains(t.currentTarget,a.getEventTarget(t.nativeEvent)))return;if(e.ignoreEmulatedMouseEvents){t.stopPropagation();return}if(e.isPressed=!0,L("mouse"),e.isOverTarget=!0,e.target=t.currentTarget,e.pointerType=W.isVirtualClick(t.nativeEvent)?"virtual":"mouse",Ce.flushSync(()=>y(t,e.pointerType))&&t.stopPropagation(),b){let o=Y.preventFocus(t.target);o&&e.disposables.push(o)}},r.onMouseEnter=t=>{if(!a.nodeContains(t.currentTarget,a.getEventTarget(t.nativeEvent)))return;let i=!0;e.isPressed&&!e.ignoreEmulatedMouseEvents&&e.pointerType!=null&&(e.isOverTarget=!0,i=y(t,e.pointerType)),i&&t.stopPropagation()},r.onMouseLeave=t=>{if(!a.nodeContains(t.currentTarget,a.getEventTarget(t.nativeEvent)))return;let i=!0;e.isPressed&&!e.ignoreEmulatedMouseEvents&&e.pointerType!=null&&(e.isOverTarget=!1,i=E(t,e.pointerType,!1),q(t)),i&&t.stopPropagation()},r.onMouseUp=t=>{a.nodeContains(t.currentTarget,a.getEventTarget(t.nativeEvent))&&!e.ignoreEmulatedMouseEvents&&t.button===0&&!e.isPressed&&O(t,e.pointerType||"mouse")},r.onTouchStart=t=>{if(!a.nodeContains(t.currentTarget,a.getEventTarget(t.nativeEvent)))return;let i=Ke(t.nativeEvent);if(!i)return;e.activePointerId=i.identifier,e.ignoreEmulatedMouseEvents=!0,e.isOverTarget=!0,e.isPressed=!0,L("touch"),e.target=t.currentTarget,e.pointerType="touch",v||x.disableTextSelection(e.target),y(S(e.target,t),e.pointerType)&&t.stopPropagation()},r.onTouchMove=t=>{if(!a.nodeContains(t.currentTarget,a.getEventTarget(t.nativeEvent)))return;if(!e.isPressed){t.stopPropagation();return}let i=ae(t.nativeEvent,e.activePointerId),o=!0;i&&oe(i,t.currentTarget)?!e.isOverTarget&&e.pointerType!=null&&(e.isOverTarget=!0,o=y(S(e.target,t),e.pointerType)):e.isOverTarget&&e.pointerType!=null&&(e.isOverTarget=!1,o=E(S(e.target,t),e.pointerType,!1),q(S(e.target,t))),o&&t.stopPropagation()},r.onTouchEnd=t=>{if(!a.nodeContains(t.currentTarget,a.getEventTarget(t.nativeEvent)))return;if(!e.isPressed){t.stopPropagation();return}let i=ae(t.nativeEvent,e.activePointerId),o=!0;i&&oe(i,t.currentTarget)&&e.pointerType!=null?(O(S(e.target,t),e.pointerType),o=E(S(e.target,t),e.pointerType),V(t.nativeEvent,e.target)):e.isOverTarget&&e.pointerType!=null&&(o=E(S(e.target,t),e.pointerType,!1)),o&&t.stopPropagation(),e.isPressed=!1,L(null),e.activePointerId=null,e.isOverTarget=!1,e.ignoreEmulatedMouseEvents=!0,e.target&&!v&&x.restoreTextSelection(e.target),M()},r.onTouchCancel=t=>{a.nodeContains(t.currentTarget,a.getEventTarget(t.nativeEvent))&&(t.stopPropagation(),e.isPressed&&$(S(e.target,t)))},r.onDragStart=t=>{a.nodeContains(t.currentTarget,a.getEventTarget(t.nativeEvent))&&$(t)}),r},[g,b,M,v,$,q,E,y,O,N,V]);return p.useEffect(()=>{if(!A||process.env.NODE_ENV==="test")return;const e=d.getOwnerDocument(A.current);if(!e||!e.head||e.getElementById(ie))return;const r=e.createElement("style");r.id=ie,r.textContent=`
2
+ @layer {
3
+ [${se}] {
4
+ touch-action: pan-x pan-y pinch-zoom;
5
+ }
6
+ }
7
+ `.trim(),e.head.prepend(r)},[A]),p.useEffect(()=>{let e=h.current;return()=>{var r;v||x.restoreTextSelection((r=e.target)!==null&&r!==void 0?r:void 0);for(let t of e.disposables)t();e.disposables=[]}},[v]),{isPressed:D||ge,pressProps:ue.mergeProps(fe,Te,{[se]:!0})}}function j(n){return n.tagName==="A"&&n.hasAttribute("href")}function z(n,s){const{key:l,code:c}=n,f=s,P=f.getAttribute("role");return(l==="Enter"||l===" "||l==="Spacebar"||c==="Space")&&!(f instanceof d.getOwnerWindow(f).HTMLInputElement&&!ce(f,l)||f instanceof d.getOwnerWindow(f).HTMLTextAreaElement||f.isContentEditable)&&!((P==="link"||!P&&j(f))&&l!=="Enter")}function Ke(n){const{targetTouches:s}=n;return s.length>0?s[0]:null}function ae(n,s){const l=n.changedTouches;for(let c=0;c<l.length;c++){const f=l[c];if(f.identifier===s)return f}return null}function S(n,s){let l=0,c=0;return s.targetTouches&&s.targetTouches.length===1&&(l=s.targetTouches[0].clientX,c=s.targetTouches[0].clientY),{currentTarget:n,shiftKey:s.shiftKey,ctrlKey:s.ctrlKey,metaKey:s.metaKey,altKey:s.altKey,clientX:l,clientY:c}}function K(n,s){let l=s.clientX,c=s.clientY;return{currentTarget:n,shiftKey:s.shiftKey,ctrlKey:s.ctrlKey,metaKey:s.metaKey,altKey:s.altKey,clientX:l,clientY:c}}function we(n){let s=0,l=0;return n.width!==void 0?s=n.width/2:n.radiusX!==void 0&&(s=n.radiusX),n.height!==void 0?l=n.height/2:n.radiusY!==void 0&&(l=n.radiusY),{top:n.clientY-l,right:n.clientX+s,bottom:n.clientY+l,left:n.clientX-s}}function Me(n,s){return!(n.left>s.right||s.left>n.right||n.top>s.bottom||s.top>n.bottom)}function oe(n,s){let l=s.getBoundingClientRect(),c=we(n);return Me(l,c)}function De(n){return n instanceof HTMLInputElement?!1:n instanceof HTMLButtonElement?n.type!=="submit"&&n.type!=="reset":!j(n)}function le(n,s){return n instanceof HTMLInputElement?!ce(n,s):De(n)}const Ie=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function ce(n,s){return n.type==="checkbox"||n.type==="radio"?s===" ":Ie.has(n.type)}exports.usePress=ke;