se-design 1.0.81 → 1.0.83-dev.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 (397) hide show
  1. package/dist/assets/icons/chat.svg +4 -0
  2. package/dist/assets/icons/tag.svg +2 -2
  3. package/dist/assets/style.css +1 -1
  4. package/dist/components/AccessibleDiv/index.d.ts +23 -1
  5. package/dist/components/Dropdown/index.d.ts +2 -0
  6. package/dist/components/DropdownWithInputTags/index.d.ts +3 -0
  7. package/dist/components/Link/index.d.ts +6 -2
  8. package/dist/components/MessageBar/index.d.ts +20 -1
  9. package/dist/index.js +62 -54
  10. package/dist/index.js.map +1 -1
  11. package/dist/index100.js +1 -1
  12. package/dist/index100.js.map +1 -1
  13. package/dist/index101.js +1 -1
  14. package/dist/index101.js.map +1 -1
  15. package/dist/index102.js +1 -1
  16. package/dist/index102.js.map +1 -1
  17. package/dist/index103.js +1 -1
  18. package/dist/index103.js.map +1 -1
  19. package/dist/index104.js +1 -1
  20. package/dist/index104.js.map +1 -1
  21. package/dist/index105.js +1 -1
  22. package/dist/index105.js.map +1 -1
  23. package/dist/index106.js +1 -1
  24. package/dist/index106.js.map +1 -1
  25. package/dist/index107.js +1 -1
  26. package/dist/index107.js.map +1 -1
  27. package/dist/index108.js +1 -1
  28. package/dist/index108.js.map +1 -1
  29. package/dist/index109.js +1 -1
  30. package/dist/index109.js.map +1 -1
  31. package/dist/index110.js +1 -1
  32. package/dist/index110.js.map +1 -1
  33. package/dist/index111.js +1 -1
  34. package/dist/index111.js.map +1 -1
  35. package/dist/index112.js +1 -1
  36. package/dist/index112.js.map +1 -1
  37. package/dist/index113.js +2 -2
  38. package/dist/index113.js.map +1 -1
  39. package/dist/index114.js +2 -2
  40. package/dist/index114.js.map +1 -1
  41. package/dist/index115.js +1 -1
  42. package/dist/index115.js.map +1 -1
  43. package/dist/index116.js +2 -2
  44. package/dist/index116.js.map +1 -1
  45. package/dist/index117.js +2 -2
  46. package/dist/index117.js.map +1 -1
  47. package/dist/index118.js +2 -2
  48. package/dist/index118.js.map +1 -1
  49. package/dist/index119.js +2 -2
  50. package/dist/index119.js.map +1 -1
  51. package/dist/index12.js +2 -2
  52. package/dist/index120.js +1 -1
  53. package/dist/index120.js.map +1 -1
  54. package/dist/index121.js +2 -2
  55. package/dist/index121.js.map +1 -1
  56. package/dist/index122.js +2 -2
  57. package/dist/index122.js.map +1 -1
  58. package/dist/index123.js +1 -1
  59. package/dist/index123.js.map +1 -1
  60. package/dist/index124.js +1 -1
  61. package/dist/index124.js.map +1 -1
  62. package/dist/index125.js +2 -2
  63. package/dist/index125.js.map +1 -1
  64. package/dist/index126.js +2 -2
  65. package/dist/index126.js.map +1 -1
  66. package/dist/index127.js +2 -2
  67. package/dist/index127.js.map +1 -1
  68. package/dist/index128.js +2 -2
  69. package/dist/index128.js.map +1 -1
  70. package/dist/index129.js +2 -2
  71. package/dist/index129.js.map +1 -1
  72. package/dist/index13.js +1 -1
  73. package/dist/index130.js +1 -1
  74. package/dist/index130.js.map +1 -1
  75. package/dist/index131.js +1 -1
  76. package/dist/index131.js.map +1 -1
  77. package/dist/index132.js +1 -1
  78. package/dist/index132.js.map +1 -1
  79. package/dist/index133.js +2 -2
  80. package/dist/index133.js.map +1 -1
  81. package/dist/index134.js +1 -1
  82. package/dist/index134.js.map +1 -1
  83. package/dist/index135.js +2 -2
  84. package/dist/index135.js.map +1 -1
  85. package/dist/index136.js +2 -2
  86. package/dist/index136.js.map +1 -1
  87. package/dist/index137.js +1 -1
  88. package/dist/index137.js.map +1 -1
  89. package/dist/index138.js +2 -2
  90. package/dist/index138.js.map +1 -1
  91. package/dist/index139.js +2 -2
  92. package/dist/index139.js.map +1 -1
  93. package/dist/index140.js +1 -1
  94. package/dist/index140.js.map +1 -1
  95. package/dist/index141.js +1 -1
  96. package/dist/index141.js.map +1 -1
  97. package/dist/index142.js +1 -1
  98. package/dist/index142.js.map +1 -1
  99. package/dist/index143.js +1 -1
  100. package/dist/index143.js.map +1 -1
  101. package/dist/index144.js +1 -1
  102. package/dist/index144.js.map +1 -1
  103. package/dist/index145.js +1 -1
  104. package/dist/index145.js.map +1 -1
  105. package/dist/index146.js +2 -2
  106. package/dist/index146.js.map +1 -1
  107. package/dist/index147.js +1 -1
  108. package/dist/index147.js.map +1 -1
  109. package/dist/index148.js +1 -1
  110. package/dist/index148.js.map +1 -1
  111. package/dist/index149.js +2 -2
  112. package/dist/index149.js.map +1 -1
  113. package/dist/index150.js +1 -1
  114. package/dist/index150.js.map +1 -1
  115. package/dist/index151.js +1 -1
  116. package/dist/index151.js.map +1 -1
  117. package/dist/index152.js +1 -1
  118. package/dist/index152.js.map +1 -1
  119. package/dist/index153.js +1 -1
  120. package/dist/index153.js.map +1 -1
  121. package/dist/index154.js +1 -1
  122. package/dist/index154.js.map +1 -1
  123. package/dist/index155.js +2 -2
  124. package/dist/index155.js.map +1 -1
  125. package/dist/index156.js +2 -2
  126. package/dist/index156.js.map +1 -1
  127. package/dist/index157.js +1 -1
  128. package/dist/index157.js.map +1 -1
  129. package/dist/index158.js +2 -2
  130. package/dist/index158.js.map +1 -1
  131. package/dist/index159.js +1 -1
  132. package/dist/index159.js.map +1 -1
  133. package/dist/index16.js +25 -23
  134. package/dist/index16.js.map +1 -1
  135. package/dist/index160.js +1 -1
  136. package/dist/index160.js.map +1 -1
  137. package/dist/index161.js +2 -2
  138. package/dist/index161.js.map +1 -1
  139. package/dist/index162.js +2 -2
  140. package/dist/index162.js.map +1 -1
  141. package/dist/index163.js +1 -1
  142. package/dist/index163.js.map +1 -1
  143. package/dist/index164.js +1 -1
  144. package/dist/index164.js.map +1 -1
  145. package/dist/index165.js +1 -1
  146. package/dist/index165.js.map +1 -1
  147. package/dist/index166.js +1 -1
  148. package/dist/index166.js.map +1 -1
  149. package/dist/index167.js +1 -1
  150. package/dist/index167.js.map +1 -1
  151. package/dist/index168.js +1 -1
  152. package/dist/index168.js.map +1 -1
  153. package/dist/index169.js +1 -1
  154. package/dist/index169.js.map +1 -1
  155. package/dist/index17.js +29 -29
  156. package/dist/index17.js.map +1 -1
  157. package/dist/index170.js +1 -1
  158. package/dist/index170.js.map +1 -1
  159. package/dist/index171.js +1 -1
  160. package/dist/index171.js.map +1 -1
  161. package/dist/index172.js +1 -1
  162. package/dist/index172.js.map +1 -1
  163. package/dist/index173.js +1 -1
  164. package/dist/index173.js.map +1 -1
  165. package/dist/index174.js +1 -1
  166. package/dist/index174.js.map +1 -1
  167. package/dist/index175.js +1 -1
  168. package/dist/index175.js.map +1 -1
  169. package/dist/index176.js +1 -1
  170. package/dist/index176.js.map +1 -1
  171. package/dist/index177.js +1 -1
  172. package/dist/index177.js.map +1 -1
  173. package/dist/index178.js +1 -1
  174. package/dist/index178.js.map +1 -1
  175. package/dist/index179.js +1 -1
  176. package/dist/index179.js.map +1 -1
  177. package/dist/index18.js +85 -63
  178. package/dist/index18.js.map +1 -1
  179. package/dist/index180.js +1 -1
  180. package/dist/index180.js.map +1 -1
  181. package/dist/index181.js +1 -1
  182. package/dist/index181.js.map +1 -1
  183. package/dist/index182.js +1 -1
  184. package/dist/index182.js.map +1 -1
  185. package/dist/index183.js +1 -1
  186. package/dist/index183.js.map +1 -1
  187. package/dist/index184.js +1 -1
  188. package/dist/index184.js.map +1 -1
  189. package/dist/index185.js +2 -2
  190. package/dist/index185.js.map +1 -1
  191. package/dist/index186.js +1 -1
  192. package/dist/index186.js.map +1 -1
  193. package/dist/index187.js +1 -1
  194. package/dist/index187.js.map +1 -1
  195. package/dist/index188.js +2 -2
  196. package/dist/index188.js.map +1 -1
  197. package/dist/index189.js +2 -2
  198. package/dist/index189.js.map +1 -1
  199. package/dist/index19.js +181 -166
  200. package/dist/index19.js.map +1 -1
  201. package/dist/index190.js +1 -1
  202. package/dist/index190.js.map +1 -1
  203. package/dist/index191.js +1 -1
  204. package/dist/index191.js.map +1 -1
  205. package/dist/index192.js +2 -2
  206. package/dist/index192.js.map +1 -1
  207. package/dist/index193.js +1 -1
  208. package/dist/index193.js.map +1 -1
  209. package/dist/index194.js +1 -1
  210. package/dist/index194.js.map +1 -1
  211. package/dist/index195.js +1 -1
  212. package/dist/index195.js.map +1 -1
  213. package/dist/index196.js +1 -1
  214. package/dist/index196.js.map +1 -1
  215. package/dist/index197.js +1 -1
  216. package/dist/index197.js.map +1 -1
  217. package/dist/index198.js +1 -1
  218. package/dist/index198.js.map +1 -1
  219. package/dist/index199.js +1 -1
  220. package/dist/index199.js.map +1 -1
  221. package/dist/index200.js +2 -2
  222. package/dist/index200.js.map +1 -1
  223. package/dist/index201.js +1 -1
  224. package/dist/index201.js.map +1 -1
  225. package/dist/index202.js +2 -2
  226. package/dist/index202.js.map +1 -1
  227. package/dist/index203.js +149 -2
  228. package/dist/index203.js.map +1 -1
  229. package/dist/index204.js +9 -2
  230. package/dist/index204.js.map +1 -1
  231. package/dist/index205.js +6 -2
  232. package/dist/index205.js.map +1 -1
  233. package/dist/index206.js +5 -149
  234. package/dist/index206.js.map +1 -1
  235. package/dist/index207.js +41 -4
  236. package/dist/index207.js.map +1 -1
  237. package/dist/index208.js +24 -0
  238. package/dist/index208.js.map +1 -0
  239. package/dist/index215.js +26 -0
  240. package/dist/index215.js.map +1 -0
  241. package/dist/index216.js +75 -0
  242. package/dist/index216.js.map +1 -0
  243. package/dist/{index221.js → index224.js} +1 -1
  244. package/dist/{index221.js.map → index224.js.map} +1 -1
  245. package/dist/index23.js +3 -3
  246. package/dist/index232.js +1233 -43
  247. package/dist/index232.js.map +1 -1
  248. package/dist/index235.js +46 -0
  249. package/dist/index235.js.map +1 -0
  250. package/dist/index244.js +168 -8
  251. package/dist/index244.js.map +1 -1
  252. package/dist/index245.js +3 -9
  253. package/dist/index245.js.map +1 -1
  254. package/dist/index247.js +18 -169
  255. package/dist/index247.js.map +1 -1
  256. package/dist/index248.js +10 -11
  257. package/dist/index248.js.map +1 -1
  258. package/dist/index249.js +8 -4
  259. package/dist/index249.js.map +1 -1
  260. package/dist/index25.js +175 -161
  261. package/dist/index25.js.map +1 -1
  262. package/dist/index250.js +4 -5
  263. package/dist/index250.js.map +1 -1
  264. package/dist/index251.js +168 -36
  265. package/dist/index251.js.map +1 -1
  266. package/dist/index252.js +11 -2
  267. package/dist/index252.js.map +1 -1
  268. package/dist/index253.js +5 -7
  269. package/dist/index253.js.map +1 -1
  270. package/dist/index254.js +5 -326
  271. package/dist/index254.js.map +1 -1
  272. package/dist/index255.js +36 -48
  273. package/dist/index255.js.map +1 -1
  274. package/dist/index256.js +2 -2
  275. package/dist/index257.js +7 -75
  276. package/dist/index257.js.map +1 -1
  277. package/dist/index258.js +308 -74
  278. package/dist/index258.js.map +1 -1
  279. package/dist/index259.js +45 -47
  280. package/dist/index259.js.map +1 -1
  281. package/dist/index260.js +2 -8
  282. package/dist/index260.js.map +1 -1
  283. package/dist/index261.js +75 -4
  284. package/dist/index261.js.map +1 -1
  285. package/dist/index262.js +89 -48
  286. package/dist/index262.js.map +1 -1
  287. package/dist/index263.js +52 -2
  288. package/dist/index263.js.map +1 -1
  289. package/dist/index264.js +8 -2
  290. package/dist/index264.js.map +1 -1
  291. package/dist/index265.js +8 -0
  292. package/dist/index265.js.map +1 -0
  293. package/dist/index266.js +55 -0
  294. package/dist/index266.js.map +1 -0
  295. package/dist/index267.js +5 -0
  296. package/dist/index267.js.map +1 -0
  297. package/dist/index268.js +5 -0
  298. package/dist/index268.js.map +1 -0
  299. package/dist/index28.js +5 -5
  300. package/dist/index28.js.map +1 -1
  301. package/dist/index29.js +1 -1
  302. package/dist/index3.js +59 -49
  303. package/dist/index3.js.map +1 -1
  304. package/dist/index30.js +1 -1
  305. package/dist/index33.js +1 -1
  306. package/dist/index35.js +1 -1
  307. package/dist/index36.js +2 -2
  308. package/dist/index38.js +209 -194
  309. package/dist/index38.js.map +1 -1
  310. package/dist/index39.js +3 -3
  311. package/dist/index4.js +1 -1
  312. package/dist/index40.js +1 -1
  313. package/dist/index43.js +96 -57
  314. package/dist/index43.js.map +1 -1
  315. package/dist/index45.js +60 -59
  316. package/dist/index45.js.map +1 -1
  317. package/dist/index46.js +3 -3
  318. package/dist/index49.js +1 -1
  319. package/dist/index51.js +1 -1
  320. package/dist/index52.js +2 -2
  321. package/dist/index53.js +1 -1
  322. package/dist/index55.js +2 -2
  323. package/dist/index55.js.map +1 -1
  324. package/dist/index57.js +1 -1
  325. package/dist/index6.js +238 -236
  326. package/dist/index6.js.map +1 -1
  327. package/dist/index61.js +9 -8
  328. package/dist/index61.js.map +1 -1
  329. package/dist/index63.js +1 -1
  330. package/dist/index64.js +35 -34
  331. package/dist/index64.js.map +1 -1
  332. package/dist/index65.js +1 -1
  333. package/dist/index67.js +1 -1
  334. package/dist/index68.js +80 -58
  335. package/dist/index68.js.map +1 -1
  336. package/dist/index7.js +1 -1
  337. package/dist/index70.js +1 -1
  338. package/dist/index75.js +108 -5
  339. package/dist/index75.js.map +1 -1
  340. package/dist/index76.js +18 -54
  341. package/dist/index76.js.map +1 -1
  342. package/dist/index77.js +10 -23
  343. package/dist/index77.js.map +1 -1
  344. package/dist/index78.js +5 -9
  345. package/dist/index78.js.map +1 -1
  346. package/dist/index79.js +57 -21
  347. package/dist/index79.js.map +1 -1
  348. package/dist/index80.js +22 -17
  349. package/dist/index80.js.map +1 -1
  350. package/dist/index81.js +8 -8
  351. package/dist/index81.js.map +1 -1
  352. package/dist/index83.js +2 -6
  353. package/dist/index83.js.map +1 -1
  354. package/dist/index84.js +2 -68
  355. package/dist/index84.js.map +1 -1
  356. package/dist/index85.js +2 -21
  357. package/dist/index85.js.map +1 -1
  358. package/dist/index86.js +5 -0
  359. package/dist/index86.js.map +1 -0
  360. package/dist/index87.js +2 -2
  361. package/dist/index87.js.map +1 -1
  362. package/dist/index88.js +2 -2
  363. package/dist/index88.js.map +1 -1
  364. package/dist/index89.js +1 -1
  365. package/dist/index89.js.map +1 -1
  366. package/dist/index9.js +3 -3
  367. package/dist/index90.js +2 -2
  368. package/dist/index90.js.map +1 -1
  369. package/dist/index91.js +1 -1
  370. package/dist/index91.js.map +1 -1
  371. package/dist/index92.js +1 -1
  372. package/dist/index92.js.map +1 -1
  373. package/dist/index93.js +1 -1
  374. package/dist/index93.js.map +1 -1
  375. package/dist/index94.js +1 -1
  376. package/dist/index94.js.map +1 -1
  377. package/dist/index95.js +1 -1
  378. package/dist/index95.js.map +1 -1
  379. package/dist/index96.js +1 -1
  380. package/dist/index96.js.map +1 -1
  381. package/dist/index97.js +1 -1
  382. package/dist/index97.js.map +1 -1
  383. package/dist/index98.js +1 -1
  384. package/dist/index98.js.map +1 -1
  385. package/dist/index99.js +1 -1
  386. package/dist/index99.js.map +1 -1
  387. package/package.json +1 -1
  388. package/dist/index229.js +0 -1236
  389. package/dist/index229.js.map +0 -1
  390. package/dist/index241.js +0 -173
  391. package/dist/index241.js.map +0 -1
  392. package/dist/index242.js +0 -7
  393. package/dist/index242.js.map +0 -1
  394. package/dist/index246.js +0 -8
  395. package/dist/index246.js.map +0 -1
  396. package/dist/index82.js +0 -45
  397. package/dist/index82.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index229.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index241.js DELETED
@@ -1,173 +0,0 @@
1
- import { useState as W, useMemo as F, useEffect as N, useCallback as S } from "react";
2
- import { useRovingFocus as C } from "./index70.js";
3
- const z = (e, n, s, g, m, D = !1) => {
4
- const i = e.toLocaleDateString("en-US", {
5
- weekday: "long",
6
- month: "long",
7
- day: "numeric",
8
- year: "numeric"
9
- });
10
- return m ? i : g ? `${i}, start and end of range` : n ? `${i}, start of range` : s ? `${i}, end of range` : D ? `${i}, in range` : i;
11
- }, y = (e) => {
12
- const n = e.getFullYear(), s = String(e.getMonth() + 1).padStart(2, "0"), g = String(e.getDate()).padStart(2, "0");
13
- return `date-${n}-${s}-${g}`;
14
- }, k = (e, n) => new Date(e, n + 1, 0).getDate(), L = (e) => {
15
- const n = e.getFullYear(), s = e.getMonth();
16
- return Array.from({
17
- length: k(n, s)
18
- }, (g, m) => y(new Date(n, s, m + 1)));
19
- }, x = (e, n, s) => {
20
- const g = e.getFullYear(), m = e.getMonth(), D = (a) => a.getFullYear() === g && a.getMonth() === m;
21
- if (s.startDate && D(s.startDate)) {
22
- const a = new Date(s.startDate);
23
- a.setHours(0, 0, 0, 0);
24
- const l = y(a);
25
- if (n.includes(l)) return l;
26
- }
27
- if (s.endDate && D(s.endDate)) {
28
- const a = new Date(s.endDate);
29
- a.setHours(0, 0, 0, 0);
30
- const l = y(a);
31
- if (n.includes(l)) return l;
32
- }
33
- const i = /* @__PURE__ */ new Date();
34
- if (D(i)) {
35
- const a = y(i);
36
- if (n.includes(a)) return a;
37
- }
38
- return n[0] || "";
39
- };
40
- function B({
41
- leftMonth: e,
42
- rightMonth: n,
43
- showSingleMonth: s,
44
- selectedRange: g,
45
- onMonthChange: m
46
- }) {
47
- const [D, i] = W(null), a = F(() => L(e), [e]), l = F(() => L(n), [n]), E = F(() => x(e, a, g), [e, a, g]), H = F(() => x(n, l, g), [n, l, g]), {
48
- getRovingItemProps: Y,
49
- focusItem: I,
50
- getContainerProps: U
51
- } = C({
52
- itemIds: a,
53
- defaultFocusedId: E,
54
- orientation: "grid",
55
- cols: 7,
56
- loop: !1,
57
- role: "grid"
58
- }), {
59
- getRovingItemProps: M,
60
- focusItem: h,
61
- getContainerProps: G
62
- } = C({
63
- itemIds: l,
64
- defaultFocusedId: H,
65
- orientation: "grid",
66
- cols: 7,
67
- loop: !1,
68
- role: "grid"
69
- });
70
- N(() => {
71
- if (!D) return;
72
- const f = y(D);
73
- a.includes(f) ? (I(f), i(null)) : l.includes(f) && (h(f), i(null));
74
- }, [D, a, l, I, h]);
75
- const b = S((f, K) => {
76
- const v = s || K === "left";
77
- m(new Date(f.getFullYear(), f.getMonth(), 1), v), i(new Date(f));
78
- }, [s, m]);
79
- return {
80
- getGridCellProps: S(({
81
- isLeftCalendar: f,
82
- isDateDisabled: K,
83
- handleDateClick: v
84
- }) => {
85
- const A = f ? "left" : "right", $ = f ? I : h, O = f ? Y : M, R = (t, p) => {
86
- const c = p.getFullYear(), o = p.getMonth(), d = p.getDate(), w = (r) => {
87
- if (r.getFullYear() !== c || r.getMonth() !== o) {
88
- b(r, A);
89
- return;
90
- }
91
- $(y(r));
92
- };
93
- switch (t.key) {
94
- case "ArrowLeft":
95
- t.preventDefault(), t.stopPropagation(), w(new Date(c, o, d - 1));
96
- break;
97
- case "ArrowRight":
98
- t.preventDefault(), t.stopPropagation(), w(new Date(c, o, d + 1));
99
- break;
100
- case "ArrowUp":
101
- t.preventDefault(), t.stopPropagation(), w(new Date(c, o, d - 7));
102
- break;
103
- case "ArrowDown":
104
- t.preventDefault(), t.stopPropagation(), w(new Date(c, o, d + 7));
105
- break;
106
- case "Home": {
107
- t.preventDefault(), t.stopPropagation();
108
- const r = p.getDay(), u = new Date(c, o, d - r), P = u.getMonth() !== o ? new Date(c, o, 1) : u;
109
- $(y(P));
110
- break;
111
- }
112
- case "End": {
113
- t.preventDefault(), t.stopPropagation();
114
- const r = p.getDay(), u = new Date(c, o, d + (6 - r)), P = k(c, o), T = u.getMonth() !== o ? new Date(c, o, P) : u;
115
- $(y(T));
116
- break;
117
- }
118
- case "PageUp": {
119
- t.preventDefault(), t.stopPropagation();
120
- const r = t.shiftKey ? c - 1 : c, u = t.shiftKey ? o : o - 1, P = Math.min(d, k(r, u));
121
- b(new Date(r, u, P), A);
122
- break;
123
- }
124
- case "PageDown": {
125
- t.preventDefault(), t.stopPropagation();
126
- const r = t.shiftKey ? c + 1 : c, u = t.shiftKey ? o : o + 1, P = Math.min(d, k(r, u));
127
- b(new Date(r, u, P), A);
128
- break;
129
- }
130
- case "Enter":
131
- case " ":
132
- t.preventDefault(), K(p) || v(p);
133
- break;
134
- }
135
- };
136
- return ({
137
- cellId: t,
138
- cellDate: p,
139
- disabled: c,
140
- ariaLabel: o,
141
- ariaCurrent: d,
142
- ariaDisabled: w
143
- }) => {
144
- const r = O(t);
145
- return {
146
- id: t,
147
- ref: r.ref,
148
- tabIndex: r.tabIndex,
149
- onFocus: r.onFocus,
150
- "aria-label": o,
151
- "aria-current": d,
152
- "aria-disabled": w,
153
- onKeyDown: (u) => R(u, p),
154
- onClick: () => {
155
- c || v(p);
156
- }
157
- };
158
- };
159
- }, [b, I, h, Y, M]),
160
- getLeftRovingItemProps: Y,
161
- getRightRovingItemProps: M,
162
- getLeftContainerProps: U,
163
- getRightContainerProps: G,
164
- focusLeftItem: I,
165
- focusRightItem: h
166
- };
167
- }
168
- export {
169
- y as formatDateId,
170
- z as getCellAriaLabel,
171
- B as useDatePickerA11y
172
- };
173
- //# sourceMappingURL=index241.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index241.js","sources":["../src/components/DatePicker/useDatePickerA11y.ts"],"sourcesContent":["import React, { useState, useCallback, useEffect, useMemo } from 'react';\n\nimport { useRovingFocus, RovingItemProps, RovingContainerProps, AccessibleNameInput } from '../../utils/a11y/useRovingFocus';\nimport type { DateRange } from './index';\n\nexport const getCellAriaLabel = (\n date: Date,\n isStart: boolean,\n isEnd: boolean,\n isSameStartEnd: boolean,\n singleDateSelection: boolean,\n inRange: boolean = false\n): string => {\n const base = date.toLocaleDateString('en-US', {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n });\n if (singleDateSelection) return base;\n if (isSameStartEnd) return `${base}, start and end of range`;\n if (isStart) return `${base}, start of range`;\n if (isEnd) return `${base}, end of range`;\n if (inRange) return `${base}, in range`;\n return base;\n};\n\nexport const formatDateId = (d: Date) => {\n const y = d.getFullYear();\n const m = String(d.getMonth() + 1).padStart(2, '0');\n const dd = String(d.getDate()).padStart(2, '0');\n return `date-${y}-${m}-${dd}`;\n};\n\nconst getDaysInMonth = (year: number, month: number) => new Date(year, month + 1, 0).getDate();\n\nconst getPanelItemIds = (panelDate: Date): string[] => {\n const year = panelDate.getFullYear();\n const month = panelDate.getMonth();\n return Array.from({ length: getDaysInMonth(year, month) }, (_, i) =>\n formatDateId(new Date(year, month, i + 1))\n );\n};\n\nconst getPanelDefaultFocusId = (panelDate: Date, itemIds: string[], selectedRange: DateRange): string => {\n const year = panelDate.getFullYear();\n const month = panelDate.getMonth();\n const isInPanel = (d: Date) => d.getFullYear() === year && d.getMonth() === month;\n\n // Prefer startDate if it falls in this panel\n if (selectedRange.startDate && isInPanel(selectedRange.startDate)) {\n const d = new Date(selectedRange.startDate);\n d.setHours(0, 0, 0, 0);\n const id = formatDateId(d);\n if (itemIds.includes(id)) return id;\n }\n // Fall back to endDate if it falls in this panel (e.g. right panel when start is in left panel)\n if (selectedRange.endDate && isInPanel(selectedRange.endDate)) {\n const d = new Date(selectedRange.endDate);\n d.setHours(0, 0, 0, 0);\n const id = formatDateId(d);\n if (itemIds.includes(id)) return id;\n }\n const today = new Date();\n if (isInPanel(today)) {\n const id = formatDateId(today);\n if (itemIds.includes(id)) return id;\n }\n return itemIds[0] || '';\n};\n\ninterface UseDatePickerA11yOptions {\n leftMonth: Date;\n rightMonth: Date;\n showSingleMonth: boolean;\n selectedRange: DateRange;\n onMonthChange: (date: Date, isLeft: boolean) => void;\n}\n\ninterface CellKeyDownOptions {\n isLeftCalendar: boolean;\n isDateDisabled: (date: Date) => boolean;\n handleDateClick: (date: Date) => void;\n}\n\ninterface GridCellItemInput {\n cellId: string;\n cellDate: Date;\n disabled: boolean;\n ariaLabel: string;\n ariaCurrent: 'date' | undefined;\n ariaDisabled: true | undefined;\n}\n\nexport interface GridCellElementProps {\n id: string;\n ref: (el: HTMLElement | null) => void;\n tabIndex: number;\n onFocus: () => void;\n 'aria-label': string;\n 'aria-current': 'date' | undefined;\n 'aria-disabled': true | undefined;\n onKeyDown: (e: React.KeyboardEvent) => void;\n onClick: () => void;\n}\n\ninterface UseDatePickerA11yReturn {\n getGridCellProps: (options: CellKeyDownOptions) => (item: GridCellItemInput) => GridCellElementProps;\n getLeftRovingItemProps: (id: string) => RovingItemProps;\n getRightRovingItemProps: (id: string) => RovingItemProps;\n getLeftContainerProps: (nameInput?: AccessibleNameInput) => RovingContainerProps;\n getRightContainerProps: (nameInput?: AccessibleNameInput) => RovingContainerProps;\n focusLeftItem: (id: string) => void;\n focusRightItem: (id: string) => void;\n}\n\nexport function useDatePickerA11y({\n leftMonth,\n rightMonth,\n showSingleMonth,\n selectedRange,\n onMonthChange\n}: UseDatePickerA11yOptions): UseDatePickerA11yReturn {\n const [keyboardFocusDate, setKeyboardFocusDate] = useState<Date | null>(null);\n\n const leftItemIds = useMemo(() => getPanelItemIds(leftMonth), [leftMonth]);\n const rightItemIds = useMemo(() => getPanelItemIds(rightMonth), [rightMonth]);\n\n const leftDefaultFocusId = useMemo(\n () => getPanelDefaultFocusId(leftMonth, leftItemIds, selectedRange),\n [leftMonth, leftItemIds, selectedRange]\n );\n const rightDefaultFocusId = useMemo(\n () => getPanelDefaultFocusId(rightMonth, rightItemIds, selectedRange),\n [rightMonth, rightItemIds, selectedRange]\n );\n\n const { getRovingItemProps: getLeftRovingItemProps, focusItem: focusLeftItem, getContainerProps: getLeftContainerProps } = useRovingFocus({\n itemIds: leftItemIds,\n defaultFocusedId: leftDefaultFocusId,\n orientation: 'grid',\n cols: 7,\n loop: false,\n role: 'grid'\n });\n\n const { getRovingItemProps: getRightRovingItemProps, focusItem: focusRightItem, getContainerProps: getRightContainerProps } = useRovingFocus({\n itemIds: rightItemIds,\n defaultFocusedId: rightDefaultFocusId,\n orientation: 'grid',\n cols: 7,\n loop: false,\n role: 'grid'\n });\n\n // After keyboard navigation shifts a panel to a new month, focus the target cell via roving focus refs\n useEffect(() => {\n if (!keyboardFocusDate) return;\n const id = formatDateId(keyboardFocusDate);\n if (leftItemIds.includes(id)) {\n focusLeftItem(id);\n setKeyboardFocusDate(null);\n } else if (rightItemIds.includes(id)) {\n focusRightItem(id);\n setKeyboardFocusDate(null);\n }\n }, [keyboardFocusDate, leftItemIds, rightItemIds, focusLeftItem, focusRightItem]);\n\n // Navigate the keyboard focus to a date that may be in a different month.\n // Each panel advances completely independently — never touches the other panel.\n const handleKeyboardNavigate = useCallback(\n (targetDate: Date, sourcePanel: 'left' | 'right') => {\n const isLeft = showSingleMonth || sourcePanel === 'left';\n onMonthChange(new Date(targetDate.getFullYear(), targetDate.getMonth(), 1), isLeft);\n setKeyboardFocusDate(new Date(targetDate));\n },\n [showSingleMonth, onMonthChange]\n );\n\n const getGridCellProps = useCallback(\n ({ isLeftCalendar, isDateDisabled, handleDateClick }: CellKeyDownOptions) => {\n const panel: 'left' | 'right' = isLeftCalendar ? 'left' : 'right';\n const focusPanelItem = isLeftCalendar ? focusLeftItem : focusRightItem;\n const getRovingItemProps = isLeftCalendar ? getLeftRovingItemProps : getRightRovingItemProps;\n\n const handleKeyDown = (e: React.KeyboardEvent, cellDate: Date) => {\n const cellYear = cellDate.getFullYear();\n const cellMonth = cellDate.getMonth();\n const cellDay = cellDate.getDate();\n\n const navigateTo = (targetDate: Date) => {\n if (targetDate.getFullYear() !== cellYear || targetDate.getMonth() !== cellMonth) {\n handleKeyboardNavigate(targetDate, panel);\n return;\n }\n focusPanelItem(formatDateId(targetDate));\n };\n\n switch (e.key) {\n case 'ArrowLeft':\n e.preventDefault(); e.stopPropagation();\n navigateTo(new Date(cellYear, cellMonth, cellDay - 1));\n break;\n case 'ArrowRight':\n e.preventDefault(); e.stopPropagation();\n navigateTo(new Date(cellYear, cellMonth, cellDay + 1));\n break;\n case 'ArrowUp':\n e.preventDefault(); e.stopPropagation();\n navigateTo(new Date(cellYear, cellMonth, cellDay - 7));\n break;\n case 'ArrowDown':\n e.preventDefault(); e.stopPropagation();\n navigateTo(new Date(cellYear, cellMonth, cellDay + 7));\n break;\n case 'Home': {\n // First day of the current week row (Sunday), clamped to month start\n e.preventDefault(); e.stopPropagation();\n const dayOfWeek = cellDate.getDay();\n const homeDate = new Date(cellYear, cellMonth, cellDay - dayOfWeek);\n const clamped = homeDate.getMonth() !== cellMonth ? new Date(cellYear, cellMonth, 1) : homeDate;\n focusPanelItem(formatDateId(clamped));\n break;\n }\n case 'End': {\n // Last day of the current week row (Saturday), clamped to month end\n e.preventDefault(); e.stopPropagation();\n const dayOfWeek = cellDate.getDay();\n const endDate = new Date(cellYear, cellMonth, cellDay + (6 - dayOfWeek));\n const daysInThisMonth = getDaysInMonth(cellYear, cellMonth);\n const clamped =\n endDate.getMonth() !== cellMonth ? new Date(cellYear, cellMonth, daysInThisMonth) : endDate;\n focusPanelItem(formatDateId(clamped));\n break;\n }\n case 'PageUp': {\n // Shift+PageUp = previous year, PageUp = previous month\n e.preventDefault(); e.stopPropagation();\n const tYear = e.shiftKey ? cellYear - 1 : cellYear;\n const tMonth = e.shiftKey ? cellMonth : cellMonth - 1;\n const tDay = Math.min(cellDay, getDaysInMonth(tYear, tMonth));\n handleKeyboardNavigate(new Date(tYear, tMonth, tDay), panel);\n break;\n }\n case 'PageDown': {\n // Shift+PageDown = next year, PageDown = next month\n e.preventDefault(); e.stopPropagation();\n const tYear = e.shiftKey ? cellYear + 1 : cellYear;\n const tMonth = e.shiftKey ? cellMonth : cellMonth + 1;\n const tDay = Math.min(cellDay, getDaysInMonth(tYear, tMonth));\n handleKeyboardNavigate(new Date(tYear, tMonth, tDay), panel);\n break;\n }\n case 'Enter':\n case ' ':\n e.preventDefault();\n if (!isDateDisabled(cellDate)) {\n handleDateClick(cellDate);\n }\n break;\n }\n };\n\n return ({ cellId, cellDate, disabled, ariaLabel, ariaCurrent, ariaDisabled }: GridCellItemInput): GridCellElementProps => {\n const rovingProps = getRovingItemProps(cellId);\n return {\n id: cellId,\n ref: rovingProps.ref,\n tabIndex: rovingProps.tabIndex,\n onFocus: rovingProps.onFocus,\n 'aria-label': ariaLabel,\n 'aria-current': ariaCurrent,\n 'aria-disabled': ariaDisabled,\n onKeyDown: (e: React.KeyboardEvent) => handleKeyDown(e, cellDate),\n onClick: () => { if (!disabled) handleDateClick(cellDate); }\n };\n };\n },\n [handleKeyboardNavigate, focusLeftItem, focusRightItem, getLeftRovingItemProps, getRightRovingItemProps]\n );\n\n return {\n getGridCellProps,\n getLeftRovingItemProps,\n getRightRovingItemProps,\n getLeftContainerProps,\n getRightContainerProps,\n focusLeftItem,\n focusRightItem\n };\n}\n"],"names":["useState","useMemo","useEffect","useCallback","useRovingFocus","getCellAriaLabel","date","isStart","isEnd","isSameStartEnd","singleDateSelection","inRange","base","toLocaleDateString","weekday","month","day","year","formatDateId","d","y","getFullYear","m","String","getMonth","padStart","dd","getDate","getDaysInMonth","Date","getPanelItemIds","panelDate","Array","from","length","_","i","getPanelDefaultFocusId","itemIds","selectedRange","isInPanel","startDate","setHours","id","includes","endDate","today","useDatePickerA11y","leftMonth","rightMonth","showSingleMonth","onMonthChange","keyboardFocusDate","setKeyboardFocusDate","leftItemIds","rightItemIds","leftDefaultFocusId","rightDefaultFocusId","getRovingItemProps","getLeftRovingItemProps","focusItem","focusLeftItem","getContainerProps","getLeftContainerProps","defaultFocusedId","orientation","cols","loop","role","getRightRovingItemProps","focusRightItem","getRightContainerProps","handleKeyboardNavigate","targetDate","sourcePanel","isLeft","getGridCellProps","isLeftCalendar","isDateDisabled","handleDateClick","panel","focusPanelItem","handleKeyDown","e","cellDate","cellYear","cellMonth","cellDay","navigateTo","key","preventDefault","stopPropagation","dayOfWeek","getDay","homeDate","clamped","daysInThisMonth","tYear","shiftKey","tMonth","tDay","Math","min","cellId","disabled","ariaLabel","ariaCurrent","ariaDisabled","rovingProps","ref","tabIndex","onFocus","onKeyDown","onClick"],"mappings":"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"}
package/dist/index242.js DELETED
@@ -1,7 +0,0 @@
1
- function n(e) {
2
- return new Promise((t) => setTimeout(t, e));
3
- }
4
- export {
5
- n as delay
6
- };
7
- //# sourceMappingURL=index242.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index242.js","sources":["../src/utils/delay.ts"],"sourcesContent":["/**\n * Delays execution by the specified number of milliseconds\n * @param ms - The number of milliseconds to delay\n * @returns A Promise that resolves after the specified delay\n */\nexport function delay(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n} "],"names":["delay","ms","Promise","resolve","setTimeout"],"mappings":"AAKO,SAASA,EAAMC,GAA2B;AAC7C,SAAO,IAAIC,QAAQC,CAAAA,MAAWC,WAAWD,GAASF,CAAE,CAAC;AACzD;"}
package/dist/index246.js DELETED
@@ -1,8 +0,0 @@
1
- import e from "./index249.js";
2
- function p(o, t) {
3
- o.prototype = Object.create(t.prototype), o.prototype.constructor = o, e(o, t);
4
- }
5
- export {
6
- p as default
7
- };
8
- //# sourceMappingURL=index246.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index246.js","sources":["../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"],"sourcesContent":["import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };"],"names":["_setPrototypeOf","_inheritsLoose","t","o","setPrototypeOf"],"mappings":"AACA,OAAAA,OAAA;AAAA,SAASC,EAAeC,GAAGC,GAAG;AAC5B,EAAAD,EAAE,YAAY,OAAO,OAAOC,EAAE,SAAS,GAAGD,EAAE,UAAU,cAAcA,GAAGE,EAAeF,GAAGC,CAAC;AAC5F;","x_google_ignoreList":[0]}
package/dist/index82.js DELETED
@@ -1,45 +0,0 @@
1
- import { useRef as d } from "react";
2
- import { useFocusTrap as u } from "./index72.js";
3
- import { useDismissOnEscape as c } from "./index79.js";
4
- import { getA11yNameAttributes as f } from "./index78.js";
5
- import { useStableId as p } from "./index83.js";
6
- function x({
7
- isOpen: e,
8
- onDismiss: s,
9
- ariaLabel: o,
10
- ariaLabelledBy: a,
11
- titleIdPrefix: i = "modal-title",
12
- initialFocus: m = "first",
13
- portalContainerRefs: n
14
- }) {
15
- const t = d(null), r = p(void 0, i);
16
- u({
17
- enabled: e,
18
- containerRef: t,
19
- restoreFocus: !0,
20
- initialFocus: m,
21
- portalContainerRefs: n
22
- }), c({
23
- containerRef: t,
24
- onDismiss: s,
25
- enabled: e
26
- });
27
- const l = {
28
- role: "dialog",
29
- "aria-modal": !0,
30
- tabIndex: -1,
31
- ...f({
32
- ariaLabelledBy: a ?? (o ? void 0 : r),
33
- ariaLabel: o
34
- })
35
- };
36
- return {
37
- containerRef: t,
38
- titleId: r,
39
- dialogProps: l
40
- };
41
- }
42
- export {
43
- x as useModalA11y
44
- };
45
- //# sourceMappingURL=index82.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index82.js","sources":["../src/utils/a11y/useModalA11y.ts"],"sourcesContent":["import { useRef } from 'react';\nimport type { MutableRefObject, RefObject } from 'react';\nimport { useFocusTrap } from './useFocusTrap';\nimport { useDismissOnEscape } from './useDismissOnEscape';\nimport { getA11yNameAttributes } from './accessibleName';\nimport { useStableId } from 'src/utils/useStableId';\n\nexport interface UseModalA11yOptions {\n /**\n * Whether the modal is open. Controls focus trap and Escape handler activation.\n */\n isOpen: boolean;\n /**\n * Called when Escape is pressed while focus is within the modal.\n * If undefined, Escape dismissal is disabled.\n */\n onDismiss?: () => void;\n /**\n * aria-label for modals without a visible title heading.\n * Only used when `ariaLabelledBy` is not provided.\n */\n ariaLabel?: string;\n /**\n * ID of an existing visible element (e.g. an h2 inside the modal content) that labels\n * the dialog. Preferred over ariaLabel when a visible heading already exists in the content.\n * Only used when `title` is not provided.\n */\n ariaLabelledBy?: string;\n /**\n * Prefix for the auto-generated title element id. Default: 'modal-title'.\n */\n titleIdPrefix?: string;\n /**\n * Initial focus target when the modal opens. Forwarded to useFocusTrap.\n * - 'first': Focus first focusable element (default)\n * - 'container': Focus the dialog container itself\n * - 'none': Skip — browser handles it (e.g. autofocus attribute on inner element)\n * - CSS selector string: Focus matching element\n * - HTMLElement: Focus specific element\n */\n initialFocus?: 'first' | 'container' | 'none' | string | HTMLElement;\n /**\n * Additional container refs for portal content that is logically part of this modal.\n * Passed through to useFocusTrap and useDismissOnEscape so their safety nets\n * allow focus to move into portal-rendered content (e.g., Dropdown with isWithPortal).\n */\n portalContainerRefs?: MutableRefObject<RefObject<HTMLElement | null>[]>;\n}\n\nexport interface UseModalA11yReturn {\n /**\n * Ref to attach to the dialog container element.\n */\n containerRef: React.RefObject<HTMLDivElement | null>;\n /**\n * Stable ID to set on the visible title element: `<h2 id={titleId}>`.\n * Only relevant when `title` is provided.\n */\n titleId: string;\n /**\n * Spread onto the dialog container element.\n * Includes: role=\"dialog\", aria-modal, tabIndex, aria-labelledby or aria-label.\n */\n dialogProps: {\n role: 'dialog';\n 'aria-modal': true;\n tabIndex: number;\n [key: string]: unknown;\n };\n}\n\n/**\n * Bundles all WCAG dialog semantics into a single hook.\n *\n * Handles:\n * - Stable ID for title element (aria-labelledby association)\n * - Focus trap: moves focus into modal on open, wraps Tab, restores focus on close\n * - Escape dismissal: calls onDismiss when Escape is pressed within the modal\n * - dialogProps: role=\"dialog\", aria-modal, tabIndex, aria-labelledby / aria-label\n *\n * @example Modal with a visible title (most common)\n * ```tsx\n * const MyModal = ({ isOpen, onClose }) => {\n * const { containerRef, titleId, dialogProps } = useModalA11y({\n * isOpen,\n * onDismiss: onClose,\n * });\n *\n * return (\n * <div ref={containerRef} {...dialogProps} className=\"modal-content\">\n * <h2 id={titleId}>My Title</h2>\n * ...\n * </div>\n * );\n * };\n * ```\n *\n * @example Modal without a visible title\n * ```tsx\n * const { containerRef, dialogProps } = useModalA11y({\n * isOpen,\n * onDismiss: onClose,\n * ariaLabel: 'Upload document',\n * });\n * ```\n *\n * @example Custom initial focus (specific button) or skip (autofocus)\n * ```tsx\n * useModalA11y({ isOpen, onDismiss, initialFocus: '.my-cta-btn' });\n * useModalA11y({ isOpen, onDismiss, initialFocus: 'none' }); // autofocus on inner element\n * ```\n */\nexport function useModalA11y({\n isOpen,\n onDismiss,\n ariaLabel,\n ariaLabelledBy,\n titleIdPrefix = 'modal-title',\n initialFocus = 'first',\n portalContainerRefs,\n}: UseModalA11yOptions): UseModalA11yReturn {\n const containerRef = useRef<HTMLDivElement>(null);\n const titleId = useStableId(undefined, titleIdPrefix);\n\n useFocusTrap({\n enabled: isOpen,\n containerRef,\n restoreFocus: true,\n initialFocus,\n portalContainerRefs,\n });\n\n useDismissOnEscape({\n containerRef,\n onDismiss,\n enabled: isOpen,\n });\n\n const nameAttrs = getA11yNameAttributes({\n ariaLabelledBy: ariaLabelledBy ?? (ariaLabel ? undefined : titleId),\n ariaLabel: ariaLabel,\n });\n\n const dialogProps = {\n role: 'dialog' as const,\n 'aria-modal': true as const,\n tabIndex: -1,\n ...nameAttrs,\n };\n\n return { containerRef, titleId, dialogProps };\n}\n"],"names":["useRef","useFocusTrap","useDismissOnEscape","getA11yNameAttributes","useStableId","useModalA11y","isOpen","onDismiss","ariaLabel","ariaLabelledBy","titleIdPrefix","initialFocus","portalContainerRefs","containerRef","titleId","undefined","enabled","restoreFocus","dialogProps","role","tabIndex","nameAttrs"],"mappings":"AAgHO,SAAA,UAAAA,SAAA;AAAA,SAAA,gBAAAC,SAAA;AAAA,SAAA,sBAAAC,SAAA;AAAA,SAAA,yBAAAC,SAAA;AAAA,SAAA,eAAAC,SAAA;AAAA,SAASC,EAAa;AAAA,EAC3BC,QAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,gBAAAA;AAAAA,EACAC,eAAAA,IAAgB;AAAA,EAChBC,cAAAA,IAAe;AAAA,EACfC,qBAAAA;AACmB,GAAuB;AAC1C,QAAMC,IAAeb,EAAuB,IAAI,GAC1Cc,IAAUV,EAAYW,QAAWL,CAAa;AAEpDT,EAAAA,EAAa;AAAA,IACXe,SAASV;AAAAA,IACTO,cAAAA;AAAAA,IACAI,cAAc;AAAA,IACdN,cAAAA;AAAAA,IACAC,qBAAAA;AAAAA,EAAAA,CACD,GAEDV,EAAmB;AAAA,IACjBW,cAAAA;AAAAA,IACAN,WAAAA;AAAAA,IACAS,SAASV;AAAAA,EAAAA,CACV;AAOD,QAAMY,IAAc;AAAA,IAClBC,MAAM;AAAA,IACN,cAAc;AAAA,IACdC,UAAU;AAAA,IACV,GATgBjB,EAAsB;AAAA,MACtCM,gBAAgBA,MAAmBD,IAAYO,SAAYD;AAAAA,MAC3DN,WAAAA;AAAAA,IAAAA,CACD;AAAA,EAMIa;AAGL,SAAO;AAAA,IAAER,cAAAA;AAAAA,IAAcC,SAAAA;AAAAA,IAASI,aAAAA;AAAAA,EAAAA;AAClC;"}