@okam/stack-ui 1.40.0 → 1.40.1

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 (446) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/components/fields/ComboBox/components/ComboBoxButton.d.ts +3 -0
  3. package/components/fields/ComboBox/interface.d.ts +5 -1
  4. package/index108.js +6 -1
  5. package/index108.mjs +29 -12
  6. package/index123.js +1 -1
  7. package/index123.mjs +1 -1
  8. package/index125.js +1 -1
  9. package/index125.mjs +2 -2
  10. package/index126.js +1 -1
  11. package/index126.mjs +1 -1
  12. package/index131.js +1 -1
  13. package/index131.mjs +1 -1
  14. package/index133.js +1 -1
  15. package/index133.mjs +4 -4
  16. package/index134.js +1 -1
  17. package/index134.mjs +3 -3
  18. package/index135.js +1 -1
  19. package/index135.mjs +1 -1
  20. package/index136.js +1 -1
  21. package/index136.mjs +1 -1
  22. package/index137.js +1 -1
  23. package/index137.mjs +3 -3
  24. package/index141.js +1 -1
  25. package/index141.mjs +13 -38
  26. package/index142.js +1 -2
  27. package/index142.mjs +38 -24
  28. package/index143.js +2 -1
  29. package/index143.mjs +23 -21
  30. package/index144.js +1 -1
  31. package/index144.mjs +21 -41
  32. package/index145.js +1 -1
  33. package/index145.mjs +42 -25
  34. package/index146.js +1 -1
  35. package/index146.mjs +25 -40
  36. package/index147.js +1 -2
  37. package/index147.mjs +39 -56
  38. package/index148.js +2 -1
  39. package/index148.mjs +57 -38
  40. package/index149.js +1 -1
  41. package/index149.mjs +34 -26
  42. package/index150.js +1 -2
  43. package/index150.mjs +30 -8
  44. package/index151.js +1 -1
  45. package/index151.mjs +7 -8
  46. package/index152.js +2 -1
  47. package/index152.mjs +10 -30
  48. package/index153.js +1 -1
  49. package/index153.mjs +30 -15
  50. package/index154.js +1 -1
  51. package/index154.mjs +13 -15
  52. package/index155.js +1 -2
  53. package/index155.mjs +16 -47
  54. package/index156.js +2 -1
  55. package/index156.mjs +46 -36
  56. package/index157.js +1 -1
  57. package/index157.mjs +36 -27
  58. package/index158.js +1 -1
  59. package/index158.mjs +27 -20
  60. package/index159.js +1 -1
  61. package/index159.mjs +18 -32
  62. package/index160.js +1 -1
  63. package/index160.mjs +35 -21
  64. package/index161.js +1 -1
  65. package/index161.mjs +21 -56
  66. package/index162.js +1 -1
  67. package/index162.mjs +57 -12
  68. package/index163.js +1 -1
  69. package/index163.mjs +12 -46
  70. package/index164.js +1 -2
  71. package/index164.mjs +46 -13
  72. package/index165.js +1 -1
  73. package/index165.mjs +11 -29
  74. package/index166.js +2 -1
  75. package/index166.mjs +31 -12
  76. package/index167.js +1 -1
  77. package/index167.mjs +11 -5
  78. package/index168.js +1 -2
  79. package/index168.mjs +5 -49
  80. package/index169.js +2 -1
  81. package/index169.mjs +48 -124
  82. package/index170.js +1 -1
  83. package/index170.mjs +122 -24
  84. package/index171.js +1 -1
  85. package/index171.mjs +22 -68
  86. package/index172.js +1 -1
  87. package/index172.mjs +62 -370
  88. package/index173.js +1 -1
  89. package/index173.mjs +379 -44
  90. package/index174.js +1 -1
  91. package/index174.mjs +47 -4
  92. package/index175.js +1 -1
  93. package/index175.mjs +4 -25
  94. package/index176.js +1 -1
  95. package/index176.mjs +23 -46
  96. package/index177.js +1 -1
  97. package/index177.mjs +46 -4
  98. package/index178.js +1 -1
  99. package/index178.mjs +5 -24
  100. package/index179.js +1 -1
  101. package/index179.mjs +23 -11
  102. package/index180.js +1 -1
  103. package/index180.mjs +12 -4
  104. package/index181.js +1 -1
  105. package/index181.mjs +4 -14
  106. package/index182.js +1 -1
  107. package/index182.mjs +13 -41
  108. package/index183.js +1 -1
  109. package/index183.mjs +37 -52
  110. package/index184.js +1 -1
  111. package/index184.mjs +55 -39
  112. package/index185.js +1 -1
  113. package/index185.mjs +40 -27
  114. package/index186.js +1 -1
  115. package/index186.mjs +27 -30
  116. package/index187.js +1 -1
  117. package/index187.mjs +30 -13
  118. package/index188.js +1 -1
  119. package/index188.mjs +14 -10
  120. package/index189.js +1 -1
  121. package/index189.mjs +10 -28
  122. package/index19.js +1 -1
  123. package/index19.mjs +3 -2
  124. package/index190.js +1 -1
  125. package/index190.mjs +28 -9
  126. package/index191.js +1 -1
  127. package/index191.mjs +9 -6
  128. package/index192.js +1 -1
  129. package/index192.mjs +6 -5
  130. package/index193.js +1 -1
  131. package/index193.mjs +5 -7
  132. package/index194.js +1 -1
  133. package/index194.mjs +7 -29
  134. package/index195.js +1 -1
  135. package/index195.mjs +27 -16
  136. package/index196.js +1 -1
  137. package/index196.mjs +17 -12
  138. package/index197.js +1 -1
  139. package/index197.mjs +13 -43
  140. package/index198.js +1 -1
  141. package/index198.mjs +42 -7
  142. package/index199.js +1 -1
  143. package/index199.mjs +8 -17
  144. package/index20.js +1 -1
  145. package/index20.mjs +1 -1
  146. package/index200.js +1 -1
  147. package/index200.mjs +18 -3
  148. package/index201.js +1 -1
  149. package/index201.mjs +3 -5
  150. package/index202.js +1 -1
  151. package/index202.mjs +4 -19
  152. package/index203.js +1 -1
  153. package/index203.mjs +19 -54
  154. package/index204.js +1 -1
  155. package/index204.mjs +52 -122
  156. package/index205.js +1 -1
  157. package/index205.mjs +122 -132
  158. package/index206.js +1 -1
  159. package/index206.mjs +125 -35
  160. package/index207.js +1 -1
  161. package/index207.mjs +42 -12
  162. package/index208.js +1 -1
  163. package/index208.mjs +12 -93
  164. package/index209.js +1 -1
  165. package/index209.mjs +87 -98
  166. package/index210.js +1 -1
  167. package/index210.mjs +106 -4
  168. package/index211.js +1 -1
  169. package/index211.mjs +4 -3
  170. package/index212.js +1 -1
  171. package/index212.mjs +3 -125
  172. package/index213.js +1 -1
  173. package/index213.mjs +117 -21
  174. package/index214.js +1 -1
  175. package/index214.mjs +15 -37
  176. package/index215.js +1 -1
  177. package/index215.mjs +41 -34
  178. package/index216.js +1 -1
  179. package/index216.mjs +32 -25
  180. package/index217.js +1 -1
  181. package/index217.mjs +22 -98
  182. package/index218.js +1 -1
  183. package/index218.mjs +99 -63
  184. package/index219.js +1 -1
  185. package/index219.mjs +55 -79
  186. package/index220.js +1 -1
  187. package/index220.mjs +102 -98
  188. package/index221.js +1 -1
  189. package/index221.mjs +98 -141
  190. package/index222.js +1 -1
  191. package/index222.mjs +136 -193
  192. package/index223.js +1 -1
  193. package/index223.mjs +196 -21
  194. package/index224.js +1 -1
  195. package/index224.mjs +20 -47
  196. package/index225.js +1 -1
  197. package/index225.mjs +45 -44
  198. package/index226.js +1 -1
  199. package/index226.mjs +43 -92
  200. package/index227.js +1 -1
  201. package/index227.mjs +98 -72
  202. package/index228.js +1 -1
  203. package/index228.mjs +72 -69
  204. package/index229.js +1 -1
  205. package/index229.mjs +68 -7
  206. package/index230.js +1 -1
  207. package/index230.mjs +7 -11
  208. package/index231.js +1 -1
  209. package/index231.mjs +11 -203
  210. package/index232.js +1 -1
  211. package/index232.mjs +190 -51
  212. package/index233.js +1 -1
  213. package/index233.mjs +51 -130
  214. package/index234.js +1 -1
  215. package/index234.mjs +130 -111
  216. package/index235.js +1 -1
  217. package/index235.mjs +105 -205
  218. package/index236.js +1 -1
  219. package/index236.mjs +203 -169
  220. package/index237.js +1 -1
  221. package/index237.mjs +182 -61
  222. package/index238.js +1 -1
  223. package/index238.mjs +60 -270
  224. package/index239.js +1 -1
  225. package/index239.mjs +270 -89
  226. package/index24.js +1 -1
  227. package/index24.mjs +1 -1
  228. package/index240.js +1 -1
  229. package/index240.mjs +92 -182
  230. package/index241.js +1 -1
  231. package/index241.mjs +182 -78
  232. package/index242.js +1 -1
  233. package/index242.mjs +75 -49
  234. package/index243.js +1 -1
  235. package/index243.mjs +49 -117
  236. package/index244.js +1 -1
  237. package/index244.mjs +118 -108
  238. package/index245.js +1 -1
  239. package/index245.mjs +106 -112
  240. package/index246.js +1 -1
  241. package/index246.mjs +113 -63
  242. package/index247.js +1 -1
  243. package/index247.mjs +70 -108
  244. package/index248.js +1 -1
  245. package/index248.mjs +108 -50
  246. package/index249.js +1 -1
  247. package/index249.mjs +34 -75
  248. package/index25.js +1 -1
  249. package/index25.mjs +3 -3
  250. package/index250.js +1 -1
  251. package/index250.mjs +71 -48
  252. package/index251.js +1 -1
  253. package/index251.mjs +57 -43
  254. package/index252.js +1 -1
  255. package/index252.mjs +43 -86
  256. package/index253.js +1 -5
  257. package/index253.mjs +81 -62
  258. package/index254.js +5 -1
  259. package/index254.mjs +72 -2017
  260. package/index255.js +1 -1
  261. package/index255.mjs +2020 -54
  262. package/index256.js +1 -1
  263. package/index256.mjs +57 -186
  264. package/index257.js +1 -1
  265. package/index257.mjs +188 -5
  266. package/index258.js +1 -1
  267. package/index258.mjs +5 -121
  268. package/index259.js +1 -1
  269. package/index259.mjs +121 -43
  270. package/index26.js +1 -1
  271. package/index26.mjs +1 -1
  272. package/index260.js +1 -1
  273. package/index260.mjs +43 -230
  274. package/index261.js +1 -1
  275. package/index261.mjs +226 -27
  276. package/index262.js +1 -1
  277. package/index262.mjs +31 -3
  278. package/index263.js +1 -1
  279. package/index263.mjs +3 -4
  280. package/index264.js +1 -1
  281. package/index264.mjs +5 -5
  282. package/index265.js +1 -1
  283. package/index265.mjs +1 -1
  284. package/index266.js +1 -1
  285. package/index266.mjs +4 -4
  286. package/index267.js +1 -1
  287. package/index267.mjs +1 -1
  288. package/index268.js +1 -1
  289. package/index268.mjs +1 -1
  290. package/index269.js +1 -1
  291. package/index269.mjs +4 -4
  292. package/index27.js +1 -1
  293. package/index27.mjs +1 -1
  294. package/index270.js +1 -1
  295. package/index270.mjs +4 -4
  296. package/index271.js +1 -1
  297. package/index271.mjs +1 -1
  298. package/index272.js +1 -1
  299. package/index272.mjs +4 -4
  300. package/index273.js +1 -1
  301. package/index273.mjs +4 -4
  302. package/index274.js +1 -1
  303. package/index274.mjs +1 -1
  304. package/index275.js +1 -1
  305. package/index275.mjs +4 -4
  306. package/index276.js +1 -1
  307. package/index276.mjs +4 -4
  308. package/index277.js +1 -1
  309. package/index277.mjs +1 -1
  310. package/index278.js +1 -1
  311. package/index278.mjs +1 -1
  312. package/index279.js +1 -1
  313. package/index279.mjs +4 -4
  314. package/index280.js +1 -1
  315. package/index280.mjs +4 -4
  316. package/index281.js +1 -1
  317. package/index281.mjs +1 -1
  318. package/index282.js +1 -1
  319. package/index282.mjs +4 -4
  320. package/index283.js +1 -1
  321. package/index283.mjs +4 -4
  322. package/index284.js +1 -1
  323. package/index284.mjs +4 -4
  324. package/index285.js +1 -1
  325. package/index285.mjs +1 -1
  326. package/index286.js +1 -1
  327. package/index286.mjs +4 -4
  328. package/index287.js +1 -1
  329. package/index287.mjs +4 -4
  330. package/index288.js +1 -1
  331. package/index288.mjs +4 -4
  332. package/index289.js +1 -1
  333. package/index289.mjs +4 -4
  334. package/index29.js +1 -1
  335. package/index29.mjs +3 -3
  336. package/index290.js +1 -1
  337. package/index290.mjs +4 -4
  338. package/index291.js +1 -1
  339. package/index291.mjs +1 -1
  340. package/index292.js +1 -1
  341. package/index292.mjs +1 -1
  342. package/index293.js +1 -1
  343. package/index293.mjs +1 -1
  344. package/index294.js +1 -1
  345. package/index294.mjs +4 -4
  346. package/index295.js +1 -1
  347. package/index295.mjs +4 -4
  348. package/index296.js +1 -1
  349. package/index296.mjs +4 -4
  350. package/index297.js +1 -1
  351. package/index297.mjs +4 -4
  352. package/index298.js +1 -1
  353. package/index298.mjs +4 -130
  354. package/index299.js +1 -1
  355. package/index299.mjs +123 -183
  356. package/index30.js +1 -1
  357. package/index30.mjs +3 -3
  358. package/index300.js +1 -1
  359. package/index300.mjs +189 -8
  360. package/index301.js +1 -1
  361. package/index301.mjs +9 -3
  362. package/index302.js +1 -1
  363. package/index302.mjs +3 -36
  364. package/index303.js +1 -1
  365. package/index303.mjs +36 -5
  366. package/index304.js +1 -1
  367. package/index304.mjs +5 -29
  368. package/index305.js +1 -1
  369. package/index305.mjs +29 -6
  370. package/index306.js +1 -1
  371. package/index306.mjs +6 -62
  372. package/index307.js +1 -1
  373. package/index307.mjs +63 -7
  374. package/index308.js +1 -1
  375. package/index308.mjs +25 -23
  376. package/index309.js +1 -1
  377. package/index309.mjs +7 -93
  378. package/index31.js +1 -1
  379. package/index31.mjs +3 -3
  380. package/index310.js +1 -1
  381. package/index310.mjs +24 -6
  382. package/index311.js +1 -1
  383. package/index311.mjs +90 -23
  384. package/index312.js +1 -1
  385. package/index312.mjs +8 -32
  386. package/index313.js +1 -1
  387. package/index313.mjs +25 -6
  388. package/index314.js +1 -1
  389. package/index314.mjs +33 -6
  390. package/index315.js +1 -1
  391. package/index315.mjs +6 -50
  392. package/index316.js +1 -1
  393. package/index316.mjs +6 -29
  394. package/index317.js +1 -1
  395. package/index317.mjs +50 -14
  396. package/index318.js +1 -1
  397. package/index318.mjs +14 -21
  398. package/index319.js +1 -1
  399. package/index319.mjs +20 -28
  400. package/index320.js +1 -1
  401. package/index320.mjs +27 -64
  402. package/index321.js +1 -1
  403. package/index321.mjs +66 -53
  404. package/index322.js +1 -1
  405. package/index322.mjs +53 -54
  406. package/index323.js +1 -1
  407. package/index323.mjs +54 -281
  408. package/index324.js +1 -1
  409. package/index324.mjs +281 -20
  410. package/index325.js +1 -1
  411. package/index325.mjs +20 -3
  412. package/index326.js +1 -1
  413. package/index326.mjs +3 -4
  414. package/index327.js +1 -1
  415. package/index327.mjs +4 -8
  416. package/index328.js +1 -1
  417. package/index328.mjs +7 -4
  418. package/index329.js +1 -1
  419. package/index329.mjs +164 -27
  420. package/index33.js +1 -1
  421. package/index33.mjs +1 -1
  422. package/index330.js +1 -1
  423. package/index330.mjs +27 -164
  424. package/index331.js +1 -0
  425. package/index331.mjs +8 -0
  426. package/index35.js +1 -1
  427. package/index35.mjs +2 -2
  428. package/index36.js +1 -1
  429. package/index36.mjs +1 -1
  430. package/index39.js +1 -1
  431. package/index39.mjs +1 -1
  432. package/index43.js +1 -1
  433. package/index43.mjs +1 -1
  434. package/index45.js +1 -1
  435. package/index45.mjs +3 -3
  436. package/index47.js +1 -1
  437. package/index47.mjs +2 -2
  438. package/index48.js +1 -1
  439. package/index48.mjs +1 -1
  440. package/index49.js +1 -1
  441. package/index49.mjs +81 -82
  442. package/index51.js +1 -1
  443. package/index51.mjs +1 -1
  444. package/index95.js +1 -1
  445. package/index95.mjs +1 -1
  446. package/package.json +1 -1
package/index170.mjs CHANGED
@@ -1,30 +1,128 @@
1
- import { useState as V, useRef as C, useEffect as E, useCallback as N } from "react";
2
- function S(n, a, l) {
3
- let [p, s] = V(n || a), i = C(n !== void 0), e = n !== void 0;
4
- E(() => {
5
- let t = i.current;
6
- t !== e && process.env.NODE_ENV !== "production" && console.warn(`WARN: A component changed from ${t ? "controlled" : "uncontrolled"} to ${e ? "controlled" : "uncontrolled"}.`), i.current = e;
7
- }, [
8
- e
9
- ]);
10
- let o = e ? n : p, b = N((t, ...u) => {
11
- let f = (r, ...c) => {
12
- l && (Object.is(o, r) || l(r, ...c)), e || (o = r);
1
+ import { createContext as O, useMemo as I, useContext as U, useState as f, useRef as T, useEffect as R } from "react";
2
+ const D = {
3
+ badInput: !1,
4
+ customError: !1,
5
+ patternMismatch: !1,
6
+ rangeOverflow: !1,
7
+ rangeUnderflow: !1,
8
+ stepMismatch: !1,
9
+ tooLong: !1,
10
+ tooShort: !1,
11
+ typeMismatch: !1,
12
+ valueMissing: !1,
13
+ valid: !0
14
+ }, L = {
15
+ ...D,
16
+ customError: !0,
17
+ valid: !1
18
+ }, u = {
19
+ isInvalid: !1,
20
+ validationDetails: D,
21
+ validationErrors: []
22
+ }, B = O({}), h = "__formValidationState" + Date.now();
23
+ function P(a) {
24
+ if (a[h]) {
25
+ let { realtimeValidation: e, displayValidation: t, updateValidation: i, resetValidation: o, commitValidation: l } = a[h];
26
+ return {
27
+ realtimeValidation: e,
28
+ displayValidation: t,
29
+ updateValidation: i,
30
+ resetValidation: o,
31
+ commitValidation: l
13
32
  };
14
- typeof t == "function" ? (process.env.NODE_ENV !== "production" && console.warn("We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320"), s((c, ...m) => {
15
- let d = t(e ? o : c, ...m);
16
- return f(d, ...u), e ? c : d;
17
- })) : (e || s(t), f(t, ...u));
33
+ }
34
+ return Q(a);
35
+ }
36
+ function Q(a) {
37
+ let { isInvalid: e, validationState: t, name: i, value: o, builtinValidation: l, validate: d, validationBehavior: n = "aria" } = a;
38
+ t && (e || (e = t === "invalid"));
39
+ let v = e !== void 0 ? {
40
+ isInvalid: e,
41
+ validationErrors: [],
42
+ validationDetails: L
43
+ } : null, V = I(() => {
44
+ if (!d || o == null) return null;
45
+ let r = Y(d, o);
46
+ return C(r);
18
47
  }, [
19
- e,
20
- o,
21
- l
48
+ d,
49
+ o
22
50
  ]);
23
- return [
24
- o,
25
- b
26
- ];
51
+ l != null && l.validationDetails.valid && (l = void 0);
52
+ let s = U(B), A = I(() => i ? Array.isArray(i) ? i.flatMap((r) => S(s[r])) : S(s[i]) : [], [
53
+ s,
54
+ i
55
+ ]), [M, _] = f(s), [x, m] = f(!1);
56
+ s !== M && (_(s), m(!1));
57
+ let $ = I(() => C(x ? [] : A), [
58
+ x,
59
+ A
60
+ ]), g = T(u), [b, E] = f(u), c = T(u), w = () => {
61
+ if (!F) return;
62
+ p(!1);
63
+ let r = V || l || g.current;
64
+ y(r, c.current) || (c.current = r, E(r));
65
+ }, [F, p] = f(!1);
66
+ return R(w), {
67
+ realtimeValidation: v || $ || V || l || u,
68
+ displayValidation: n === "native" ? v || $ || b : v || $ || V || l || b,
69
+ updateValidation(r) {
70
+ n === "aria" && !y(b, r) ? E(r) : g.current = r;
71
+ },
72
+ resetValidation() {
73
+ let r = u;
74
+ y(r, c.current) || (c.current = r, E(r)), n === "native" && p(!1), m(!0);
75
+ },
76
+ commitValidation() {
77
+ n === "native" && p(!0), m(!0);
78
+ }
79
+ };
80
+ }
81
+ function S(a) {
82
+ return a ? Array.isArray(a) ? a : [
83
+ a
84
+ ] : [];
85
+ }
86
+ function Y(a, e) {
87
+ if (typeof a == "function") {
88
+ let t = a(e);
89
+ if (t && typeof t != "boolean") return S(t);
90
+ }
91
+ return [];
92
+ }
93
+ function C(a) {
94
+ return a.length ? {
95
+ isInvalid: !0,
96
+ validationErrors: a,
97
+ validationDetails: L
98
+ } : null;
99
+ }
100
+ function y(a, e) {
101
+ return a === e ? !0 : !!a && !!e && a.isInvalid === e.isInvalid && a.validationErrors.length === e.validationErrors.length && a.validationErrors.every((t, i) => t === e.validationErrors[i]) && Object.entries(a.validationDetails).every(([t, i]) => e.validationDetails[t] === i);
102
+ }
103
+ function k(...a) {
104
+ let e = /* @__PURE__ */ new Set(), t = !1, i = {
105
+ ...D
106
+ };
107
+ for (let d of a) {
108
+ var o, l;
109
+ for (let n of d.validationErrors) e.add(n);
110
+ t || (t = d.isInvalid);
111
+ for (let n in i) (o = i)[l = n] || (o[l] = d.validationDetails[n]);
112
+ }
113
+ return i.valid = !t, {
114
+ isInvalid: t,
115
+ validationErrors: [
116
+ ...e
117
+ ],
118
+ validationDetails: i
119
+ };
27
120
  }
28
121
  export {
29
- S as useControlledState
122
+ u as DEFAULT_VALIDATION_RESULT,
123
+ B as FormValidationContext,
124
+ D as VALID_VALIDITY_STATE,
125
+ k as mergeValidation,
126
+ h as privateValidationStateProp,
127
+ P as useFormValidationState
30
128
  };
package/index171.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./index306.js"),f=require("react"),E=require("./index174.js"),v=require("./index196.js");function g(i,e,t){let{validationBehavior:s,focus:u}=i;E.useLayoutEffect(()=>{if(s==="native"&&(t!=null&&t.current)&&!t.current.disabled){let n=e.realtimeValidation.isInvalid?e.realtimeValidation.validationErrors.join(" ")||"Invalid value.":"";t.current.setCustomValidity(n),t.current.hasAttribute("title")||(t.current.title=""),e.realtimeValidation.isInvalid||e.updateValidation(h(t.current))}});let o=v.useEffectEvent(()=>{e.resetValidation()}),l=v.useEffectEvent(n=>{var a;e.displayValidation.isInvalid||e.commitValidation();let c=t==null||(a=t.current)===null||a===void 0?void 0:a.form;if(!n.defaultPrevented&&t&&c&&b(c)===t.current){var d;u?u():(d=t.current)===null||d===void 0||d.focus(),m.setInteractionModality("keyboard")}n.preventDefault()}),r=v.useEffectEvent(()=>{e.commitValidation()});f.useEffect(()=>{let n=t==null?void 0:t.current;if(!n)return;let a=n.form;return n.addEventListener("invalid",l),n.addEventListener("change",r),a==null||a.addEventListener("reset",o),()=>{n.removeEventListener("invalid",l),n.removeEventListener("change",r),a==null||a.removeEventListener("reset",o)}},[t,l,r,o,s])}function y(i){let e=i.validity;return{badInput:e.badInput,customError:e.customError,patternMismatch:e.patternMismatch,rangeOverflow:e.rangeOverflow,rangeUnderflow:e.rangeUnderflow,stepMismatch:e.stepMismatch,tooLong:e.tooLong,tooShort:e.tooShort,typeMismatch:e.typeMismatch,valueMissing:e.valueMissing,valid:e.valid}}function h(i){return{isInvalid:!i.validity.valid,validationDetails:y(i),validationErrors:i.validationMessage?[i.validationMessage]:[]}}function b(i){for(let e=0;e<i.elements.length;e++){let t=i.elements[e];if(!t.validity.valid)return t}return null}exports.useFormValidation=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react");function m(o,p,s){let[b,u]=l.useState(o||p),i=l.useRef(o!==void 0),e=o!==void 0;l.useEffect(()=>{let t=i.current;t!==e&&process.env.NODE_ENV!=="production"&&console.warn(`WARN: A component changed from ${t?"controlled":"uncontrolled"} to ${e?"controlled":"uncontrolled"}.`),i.current=e},[e]);let n=e?o:b,S=l.useCallback((t,...f)=>{let d=(r,...c)=>{s&&(Object.is(n,r)||s(r,...c)),e||(n=r)};typeof t=="function"?(process.env.NODE_ENV!=="production"&&console.warn("We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320"),u((c,...V)=>{let a=t(e?n:c,...V);return d(a,...f),e?c:a})):(e||u(t),d(t,...f))},[e,n,s]);return[n,S]}exports.useControlledState=m;
package/index171.mjs CHANGED
@@ -1,76 +1,30 @@
1
- import { setInteractionModality as m } from "./index306.mjs";
2
- import { useEffect as f } from "react";
3
- import { useLayoutEffect as $ } from "./index174.mjs";
4
- import { useEffectEvent as v } from "./index196.mjs";
5
- function V(t, i, e) {
6
- let { validationBehavior: s, focus: u } = t;
7
- $(() => {
8
- if (s === "native" && (e != null && e.current) && !e.current.disabled) {
9
- let a = i.realtimeValidation.isInvalid ? i.realtimeValidation.validationErrors.join(" ") || "Invalid value." : "";
10
- e.current.setCustomValidity(a), e.current.hasAttribute("title") || (e.current.title = ""), i.realtimeValidation.isInvalid || i.updateValidation(g(e.current));
11
- }
12
- });
13
- let o = v(() => {
14
- i.resetValidation();
15
- }), l = v((a) => {
16
- var n;
17
- i.displayValidation.isInvalid || i.commitValidation();
18
- let c = e == null || (n = e.current) === null || n === void 0 ? void 0 : n.form;
19
- if (!a.defaultPrevented && e && c && b(c) === e.current) {
20
- var d;
21
- u ? u() : (d = e.current) === null || d === void 0 || d.focus(), m("keyboard");
22
- }
23
- a.preventDefault();
24
- }), r = v(() => {
25
- i.commitValidation();
26
- });
27
- f(() => {
28
- let a = e == null ? void 0 : e.current;
29
- if (!a) return;
30
- let n = a.form;
31
- return a.addEventListener("invalid", l), a.addEventListener("change", r), n == null || n.addEventListener("reset", o), () => {
32
- a.removeEventListener("invalid", l), a.removeEventListener("change", r), n == null || n.removeEventListener("reset", o);
1
+ import { useState as V, useRef as C, useEffect as E, useCallback as N } from "react";
2
+ function S(n, a, l) {
3
+ let [p, s] = V(n || a), i = C(n !== void 0), e = n !== void 0;
4
+ E(() => {
5
+ let t = i.current;
6
+ t !== e && process.env.NODE_ENV !== "production" && console.warn(`WARN: A component changed from ${t ? "controlled" : "uncontrolled"} to ${e ? "controlled" : "uncontrolled"}.`), i.current = e;
7
+ }, [
8
+ e
9
+ ]);
10
+ let o = e ? n : p, b = N((t, ...u) => {
11
+ let f = (r, ...c) => {
12
+ l && (Object.is(o, r) || l(r, ...c)), e || (o = r);
33
13
  };
14
+ typeof t == "function" ? (process.env.NODE_ENV !== "production" && console.warn("We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320"), s((c, ...m) => {
15
+ let d = t(e ? o : c, ...m);
16
+ return f(d, ...u), e ? c : d;
17
+ })) : (e || s(t), f(t, ...u));
34
18
  }, [
35
19
  e,
36
- l,
37
- r,
38
20
  o,
39
- s
21
+ l
40
22
  ]);
41
- }
42
- function p(t) {
43
- let i = t.validity;
44
- return {
45
- badInput: i.badInput,
46
- customError: i.customError,
47
- patternMismatch: i.patternMismatch,
48
- rangeOverflow: i.rangeOverflow,
49
- rangeUnderflow: i.rangeUnderflow,
50
- stepMismatch: i.stepMismatch,
51
- tooLong: i.tooLong,
52
- tooShort: i.tooShort,
53
- typeMismatch: i.typeMismatch,
54
- valueMissing: i.valueMissing,
55
- valid: i.valid
56
- };
57
- }
58
- function g(t) {
59
- return {
60
- isInvalid: !t.validity.valid,
61
- validationDetails: p(t),
62
- validationErrors: t.validationMessage ? [
63
- t.validationMessage
64
- ] : []
65
- };
66
- }
67
- function b(t) {
68
- for (let i = 0; i < t.elements.length; i++) {
69
- let e = t.elements[i];
70
- if (!e.validity.valid) return e;
71
- }
72
- return null;
23
+ return [
24
+ o,
25
+ b
26
+ ];
73
27
  }
74
28
  export {
75
- V as useFormValidation
29
+ S as useControlledState
76
30
  };
package/index172.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Y=require("./index309.js"),L=require("./index312.js"),ne=require("./index307.js"),ie=require("./index313.js"),se=require("./index210.js"),G=require("./index314.js"),oe=require("./index177.js"),o=require("./index178.js"),$=require("./index179.js"),Q=require("./index134.js"),ae=require("./index182.js"),B=require("./index183.js"),le=require("./index186.js"),ue=require("./index190.js"),ce=require("./index184.js"),A=require("./index198.js"),O=require("./index196.js"),fe=require("react-dom"),M=require("react");function ge(n){let i=M.useContext(ne.PressResponderContext);if(i){let{register:l,...u}=i;n=Q.mergeProps(u,n),l()}return ue.useSyncRef(i,n.ref),n}var R=new WeakMap;class _{continuePropagation(){G._(this,R,!1)}get shouldStopPropagation(){return ie._(this,R)}constructor(i,l,u,g){se._(this,R,{writable:!0,value:void 0}),G._(this,R,!0);var P;let y=(P=g==null?void 0:g.target)!==null&&P!==void 0?P:u.currentTarget;const d=y==null?void 0:y.getBoundingClientRect();let x,b=0,I,v=null;u.clientX!=null&&u.clientY!=null&&(I=u.clientX,v=u.clientY),d&&(I!=null&&v!=null?(x=I-d.left,b=v-d.top):(x=d.width/2,b=d.height/2)),this.type=i,this.pointerType=l,this.target=u.currentTarget,this.shiftKey=u.shiftKey,this.metaKey=u.metaKey,this.ctrlKey=u.ctrlKey,this.altKey=u.altKey,this.x=x,this.y=b}}const N=Symbol("linkClicked");function pe(n){let{onPress:i,onPressChange:l,onPressStart:u,onPressEnd:g,onPressUp:P,onClick:y,isDisabled:d,isPressed:x,preventFocusOnPress:b,shouldCancelOnPointerExit:I,allowTextSelectionOnPress:v,ref:D,...ee}=ge(n),[te,V]=M.useState(!1),K=M.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null,disposables:[]}),{addGlobalListener:C,removeAllGlobalListeners:q}=le.useGlobalListeners(),h=O.useEffectEvent((e,s)=>{let p=K.current;if(d||p.didFirePressStart)return!1;let r=!0;if(p.isTriggeringEvent=!0,u){let f=new _("pressstart",s,e);u(f),r=f.shouldStopPropagation}return l&&l(!0),p.isTriggeringEvent=!1,p.didFirePressStart=!0,V(!0),r}),E=O.useEffectEvent((e,s,p=!0)=>{let r=K.current;if(!r.didFirePressStart)return!1;r.didFirePressStart=!1,r.isTriggeringEvent=!0;let f=!0;if(g){let t=new _("pressend",s,e);g(t),f=t.shouldStopPropagation}if(l&&l(!1),V(!1),i&&p&&!d){let t=new _("press",s,e);i(t),f&&(f=t.shouldStopPropagation)}return r.isTriggeringEvent=!1,f}),k=O.useEffectEvent((e,s)=>{let p=K.current;if(d)return!1;if(P){p.isTriggeringEvent=!0;let r=new _("pressup",s,e);return P(r),p.isTriggeringEvent=!1,r.shouldStopPropagation}return!0}),T=O.useEffectEvent(e=>{let s=K.current;if(s.isPressed&&s.target){s.didFirePressStart&&s.pointerType!=null&&E(w(s.target,e),s.pointerType,!1),s.isPressed=!1,s.isOverTarget=!1,s.activePointerId=null,s.pointerType=null,q(),v||L.restoreTextSelection(s.target);for(let p of s.disposables)p();s.disposables=[]}}),X=O.useEffectEvent(e=>{I&&T(e)}),F=O.useEffectEvent(e=>{y==null||y(e)}),U=O.useEffectEvent((e,s)=>{if(y){let p=new MouseEvent("click",e);Y.setEventTarget(p,s),y(Y.createSyntheticEvent(p))}}),re=M.useMemo(()=>{let e=K.current,s={onKeyDown(r){if(H(r.nativeEvent,r.currentTarget)&&o.nodeContains(r.currentTarget,o.getEventTarget(r.nativeEvent))){var f;J(o.getEventTarget(r.nativeEvent),r.key)&&r.preventDefault();let t=!0;if(!e.isPressed&&!r.repeat){e.target=r.currentTarget,e.isPressed=!0,e.pointerType="keyboard",t=h(r,"keyboard");let a=r.currentTarget,c=m=>{H(m,a)&&!m.repeat&&o.nodeContains(a,o.getEventTarget(m))&&e.target&&k(w(e.target,m),"keyboard")};C($.getOwnerDocument(r.currentTarget),"keyup",oe.chain(c,p),!0)}t&&r.stopPropagation(),r.metaKey&&ce.isMac()&&((f=e.metaKeyEvents)===null||f===void 0||f.set(r.key,r.nativeEvent))}else r.key==="Meta"&&(e.metaKeyEvents=new Map)},onClick(r){if(!(r&&!o.nodeContains(r.currentTarget,o.getEventTarget(r.nativeEvent)))&&r&&r.button===0&&!e.isTriggeringEvent&&!B.openLink.isOpening){let f=!0;if(d&&r.preventDefault(),!e.ignoreEmulatedMouseEvents&&!e.isPressed&&(e.pointerType==="virtual"||A.isVirtualClick(r.nativeEvent))){let t=h(r,"virtual"),a=k(r,"virtual"),c=E(r,"virtual");F(r),f=t&&a&&c}else if(e.isPressed&&e.pointerType!=="keyboard"){let t=e.pointerType||r.nativeEvent.pointerType||"virtual";f=E(w(r.currentTarget,r),t,!0),e.isOverTarget=!1,F(r),T(r)}e.ignoreEmulatedMouseEvents=!1,f&&r.stopPropagation()}}},p=r=>{var f;if(e.isPressed&&e.target&&H(r,e.target)){var t;J(o.getEventTarget(r),r.key)&&r.preventDefault();let c=o.getEventTarget(r),m=o.nodeContains(e.target,o.getEventTarget(r));E(w(e.target,r),"keyboard",m),m&&U(r,e.target),q(),r.key!=="Enter"&&W(e.target)&&o.nodeContains(e.target,c)&&!r[N]&&(r[N]=!0,B.openLink(e.target,r,!1)),e.isPressed=!1,(t=e.metaKeyEvents)===null||t===void 0||t.delete(r.key)}else if(r.key==="Meta"&&(!((f=e.metaKeyEvents)===null||f===void 0)&&f.size)){var a;let c=e.metaKeyEvents;e.metaKeyEvents=void 0;for(let m of c.values())(a=e.target)===null||a===void 0||a.dispatchEvent(new KeyboardEvent("keyup",m))}};if(typeof PointerEvent<"u"){s.onPointerDown=t=>{if(t.button!==0||!o.nodeContains(t.currentTarget,o.getEventTarget(t.nativeEvent)))return;if(A.isVirtualPointerEvent(t.nativeEvent)){e.pointerType="virtual";return}e.pointerType=t.pointerType;let a=!0;if(!e.isPressed){e.isPressed=!0,e.isOverTarget=!0,e.activePointerId=t.pointerId,e.target=t.currentTarget,v||L.disableTextSelection(e.target),a=h(t,e.pointerType);let c=o.getEventTarget(t.nativeEvent);"releasePointerCapture"in c&&c.releasePointerCapture(t.pointerId),C($.getOwnerDocument(t.currentTarget),"pointerup",r,!1),C($.getOwnerDocument(t.currentTarget),"pointercancel",f,!1)}a&&t.stopPropagation()},s.onMouseDown=t=>{if(o.nodeContains(t.currentTarget,o.getEventTarget(t.nativeEvent))&&t.button===0){if(b){let a=Y.preventFocus(t.target);a&&e.disposables.push(a)}t.stopPropagation()}},s.onPointerUp=t=>{!o.nodeContains(t.currentTarget,o.getEventTarget(t.nativeEvent))||e.pointerType==="virtual"||t.button===0&&k(t,e.pointerType||t.pointerType)},s.onPointerEnter=t=>{t.pointerId===e.activePointerId&&e.target&&!e.isOverTarget&&e.pointerType!=null&&(e.isOverTarget=!0,h(w(e.target,t),e.pointerType))},s.onPointerLeave=t=>{t.pointerId===e.activePointerId&&e.target&&e.isOverTarget&&e.pointerType!=null&&(e.isOverTarget=!1,E(w(e.target,t),e.pointerType,!1),X(t))};let r=t=>{if(t.pointerId===e.activePointerId&&e.isPressed&&t.button===0&&e.target){if(o.nodeContains(e.target,o.getEventTarget(t))&&e.pointerType!=null){let a=!1,c=setTimeout(()=>{e.isPressed&&e.target instanceof HTMLElement&&(a?T(t):(ae.focusWithoutScrolling(e.target),e.target.click()))},80);C(t.currentTarget,"click",()=>a=!0,!0),e.disposables.push(()=>clearTimeout(c))}else T(t);e.isOverTarget=!1}},f=t=>{T(t)};s.onDragStart=t=>{o.nodeContains(t.currentTarget,o.getEventTarget(t.nativeEvent))&&T(t)}}else if(process.env.NODE_ENV==="test"){s.onMouseDown=t=>{if(t.button!==0||!o.nodeContains(t.currentTarget,o.getEventTarget(t.nativeEvent)))return;if(e.ignoreEmulatedMouseEvents){t.stopPropagation();return}if(e.isPressed=!0,e.isOverTarget=!0,e.target=t.currentTarget,e.pointerType=A.isVirtualClick(t.nativeEvent)?"virtual":"mouse",fe.flushSync(()=>h(t,e.pointerType))&&t.stopPropagation(),b){let c=Y.preventFocus(t.target);c&&e.disposables.push(c)}C($.getOwnerDocument(t.currentTarget),"mouseup",r,!1)},s.onMouseEnter=t=>{if(!o.nodeContains(t.currentTarget,o.getEventTarget(t.nativeEvent)))return;let a=!0;e.isPressed&&!e.ignoreEmulatedMouseEvents&&e.pointerType!=null&&(e.isOverTarget=!0,a=h(t,e.pointerType)),a&&t.stopPropagation()},s.onMouseLeave=t=>{if(!o.nodeContains(t.currentTarget,o.getEventTarget(t.nativeEvent)))return;let a=!0;e.isPressed&&!e.ignoreEmulatedMouseEvents&&e.pointerType!=null&&(e.isOverTarget=!1,a=E(t,e.pointerType,!1),X(t)),a&&t.stopPropagation()},s.onMouseUp=t=>{o.nodeContains(t.currentTarget,o.getEventTarget(t.nativeEvent))&&!e.ignoreEmulatedMouseEvents&&t.button===0&&k(t,e.pointerType||"mouse")};let r=t=>{if(t.button===0){if(e.ignoreEmulatedMouseEvents){e.ignoreEmulatedMouseEvents=!1;return}e.target&&e.target.contains(t.target)&&e.pointerType!=null||T(t),e.isOverTarget=!1}};s.onTouchStart=t=>{if(!o.nodeContains(t.currentTarget,o.getEventTarget(t.nativeEvent)))return;let a=de(t.nativeEvent);if(!a)return;e.activePointerId=a.identifier,e.ignoreEmulatedMouseEvents=!0,e.isOverTarget=!0,e.isPressed=!0,e.target=t.currentTarget,e.pointerType="touch",v||L.disableTextSelection(e.target),h(S(e.target,t),e.pointerType)&&t.stopPropagation(),C($.getOwnerWindow(t.currentTarget),"scroll",f,!0)},s.onTouchMove=t=>{if(!o.nodeContains(t.currentTarget,o.getEventTarget(t.nativeEvent)))return;if(!e.isPressed){t.stopPropagation();return}let a=z(t.nativeEvent,e.activePointerId),c=!0;a&&j(a,t.currentTarget)?!e.isOverTarget&&e.pointerType!=null&&(e.isOverTarget=!0,c=h(S(e.target,t),e.pointerType)):e.isOverTarget&&e.pointerType!=null&&(e.isOverTarget=!1,c=E(S(e.target,t),e.pointerType,!1),X(S(e.target,t))),c&&t.stopPropagation()},s.onTouchEnd=t=>{if(!o.nodeContains(t.currentTarget,o.getEventTarget(t.nativeEvent)))return;if(!e.isPressed){t.stopPropagation();return}let a=z(t.nativeEvent,e.activePointerId),c=!0;a&&j(a,t.currentTarget)&&e.pointerType!=null?(k(S(e.target,t),e.pointerType),c=E(S(e.target,t),e.pointerType),U(t.nativeEvent,e.target)):e.isOverTarget&&e.pointerType!=null&&(c=E(S(e.target,t),e.pointerType,!1)),c&&t.stopPropagation(),e.isPressed=!1,e.activePointerId=null,e.isOverTarget=!1,e.ignoreEmulatedMouseEvents=!0,e.target&&!v&&L.restoreTextSelection(e.target),q()},s.onTouchCancel=t=>{o.nodeContains(t.currentTarget,o.getEventTarget(t.nativeEvent))&&(t.stopPropagation(),e.isPressed&&T(S(e.target,t)))};let f=t=>{e.isPressed&&o.nodeContains(o.getEventTarget(t),e.target)&&T({currentTarget:e.target,shiftKey:!1,ctrlKey:!1,metaKey:!1,altKey:!1})};s.onDragStart=t=>{o.nodeContains(t.currentTarget,o.getEventTarget(t.nativeEvent))&&T(t)}}return s},[C,d,b,q,v,T,X,E,h,k,F,U]);return M.useEffect(()=>{let e=D==null?void 0:D.current;e&&e instanceof $.getOwnerWindow(e).Element&&$.getOwnerWindow(e).getComputedStyle(e).touchAction==="auto"&&(e.style.touchAction="pan-x pan-y pinch-zoom")},[D]),M.useEffect(()=>{let e=K.current;return()=>{var s;v||L.restoreTextSelection((s=e.target)!==null&&s!==void 0?s:void 0);for(let p of e.disposables)p();e.disposables=[]}},[v]),{isPressed:x||te,pressProps:Q.mergeProps(ee,re)}}function W(n){return n.tagName==="A"&&n.hasAttribute("href")}function H(n,i){const{key:l,code:u}=n,g=i,P=g.getAttribute("role");return(l==="Enter"||l===" "||l==="Spacebar"||u==="Space")&&!(g instanceof $.getOwnerWindow(g).HTMLInputElement&&!Z(g,l)||g instanceof $.getOwnerWindow(g).HTMLTextAreaElement||g.isContentEditable)&&!((P==="link"||!P&&W(g))&&l!=="Enter")}function de(n){const{targetTouches:i}=n;return i.length>0?i[0]:null}function z(n,i){const l=n.changedTouches;for(let u=0;u<l.length;u++){const g=l[u];if(g.identifier===i)return g}return null}function S(n,i){let l=0,u=0;return i.targetTouches&&i.targetTouches.length===1&&(l=i.targetTouches[0].clientX,u=i.targetTouches[0].clientY),{currentTarget:n,shiftKey:i.shiftKey,ctrlKey:i.ctrlKey,metaKey:i.metaKey,altKey:i.altKey,clientX:l,clientY:u}}function w(n,i){let l=i.clientX,u=i.clientY;return{currentTarget:n,shiftKey:i.shiftKey,ctrlKey:i.ctrlKey,metaKey:i.metaKey,altKey:i.altKey,clientX:l,clientY:u}}function ve(n){let i=0,l=0;return n.width!==void 0?i=n.width/2:n.radiusX!==void 0&&(i=n.radiusX),n.height!==void 0?l=n.height/2:n.radiusY!==void 0&&(l=n.radiusY),{top:n.clientY-l,right:n.clientX+i,bottom:n.clientY+l,left:n.clientX-i}}function Te(n,i){return!(n.left>i.right||i.left>n.right||n.top>i.bottom||i.top>n.bottom)}function j(n,i){let l=i.getBoundingClientRect(),u=ve(n);return Te(l,u)}function Ee(n){return n instanceof HTMLInputElement?!1:n instanceof HTMLButtonElement?n.type!=="submit"&&n.type!=="reset":!W(n)}function J(n,i){return n instanceof HTMLInputElement?!Z(n,i):Ee(n)}const Pe=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function Z(n,i){return n.type==="checkbox"||n.type==="radio"?i===" ":Pe.has(n.type)}exports.usePress=pe;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./index307.js"),f=require("react"),E=require("./index175.js"),v=require("./index197.js");function g(i,e,t){let{validationBehavior:s,focus:u}=i;E.useLayoutEffect(()=>{if(s==="native"&&(t!=null&&t.current)&&!t.current.disabled){let n=e.realtimeValidation.isInvalid?e.realtimeValidation.validationErrors.join(" ")||"Invalid value.":"";t.current.setCustomValidity(n),t.current.hasAttribute("title")||(t.current.title=""),e.realtimeValidation.isInvalid||e.updateValidation(h(t.current))}});let o=v.useEffectEvent(()=>{e.resetValidation()}),l=v.useEffectEvent(n=>{var a;e.displayValidation.isInvalid||e.commitValidation();let c=t==null||(a=t.current)===null||a===void 0?void 0:a.form;if(!n.defaultPrevented&&t&&c&&b(c)===t.current){var d;u?u():(d=t.current)===null||d===void 0||d.focus(),m.setInteractionModality("keyboard")}n.preventDefault()}),r=v.useEffectEvent(()=>{e.commitValidation()});f.useEffect(()=>{let n=t==null?void 0:t.current;if(!n)return;let a=n.form;return n.addEventListener("invalid",l),n.addEventListener("change",r),a==null||a.addEventListener("reset",o),()=>{n.removeEventListener("invalid",l),n.removeEventListener("change",r),a==null||a.removeEventListener("reset",o)}},[t,l,r,o,s])}function y(i){let e=i.validity;return{badInput:e.badInput,customError:e.customError,patternMismatch:e.patternMismatch,rangeOverflow:e.rangeOverflow,rangeUnderflow:e.rangeUnderflow,stepMismatch:e.stepMismatch,tooLong:e.tooLong,tooShort:e.tooShort,typeMismatch:e.typeMismatch,valueMissing:e.valueMissing,valid:e.valid}}function h(i){return{isInvalid:!i.validity.valid,validationDetails:y(i),validationErrors:i.validationMessage?[i.validationMessage]:[]}}function b(i){for(let e=0;e<i.elements.length;e++){let t=i.elements[e];if(!t.validity.valid)return t}return null}exports.useFormValidation=g;