se-design 1.0.3 → 1.0.8-5.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 (559) hide show
  1. package/dist/assets/colors.css +26 -13
  2. package/dist/assets/icons/ai-off.svg +6 -0
  3. package/dist/assets/icons/ai-re-run.svg +5 -0
  4. package/dist/assets/icons/arrow-head.svg +8 -0
  5. package/dist/assets/icons/center-align.svg +3 -0
  6. package/dist/assets/icons/chat.svg +4 -0
  7. package/dist/assets/icons/checkbox-disabled-minus.svg +1 -1
  8. package/dist/assets/icons/checkbox-disabled-tick.svg +1 -1
  9. package/dist/assets/icons/checkbox-fill.svg +1 -1
  10. package/dist/assets/icons/checkbox-hover-fill.svg +2 -2
  11. package/dist/assets/icons/checkbox-hover-minus.svg +1 -1
  12. package/dist/assets/icons/checkbox-hover-tick.svg +1 -1
  13. package/dist/assets/icons/checkbox-minus.svg +1 -1
  14. package/dist/assets/icons/checkbox-tick.svg +1 -1
  15. package/dist/assets/icons/combobox-field.svg +6 -0
  16. package/dist/assets/icons/command.svg +1 -1
  17. package/dist/assets/icons/envelope.svg +4 -0
  18. package/dist/assets/icons/file-filled-checked.svg +8 -0
  19. package/dist/assets/icons/filter.svg +3 -0
  20. package/dist/assets/icons/google-drive.svg +8 -0
  21. package/dist/assets/icons/home.svg +3 -2
  22. package/dist/assets/icons/left-align.svg +3 -0
  23. package/dist/assets/icons/library.svg +6 -0
  24. package/dist/assets/icons/minus.svg +3 -0
  25. package/dist/assets/icons/plus.svg +4 -0
  26. package/dist/assets/icons/reports.svg +4 -0
  27. package/dist/assets/icons/repository.svg +4 -0
  28. package/dist/assets/icons/right-align.svg +3 -0
  29. package/dist/assets/icons/sort-asc.svg +3 -4
  30. package/dist/assets/icons/sort-desc.svg +2 -3
  31. package/dist/assets/icons/tag.svg +2 -2
  32. package/dist/assets/icons/views.svg +7 -0
  33. package/dist/assets/icons/warning.svg +10 -0
  34. package/dist/assets/style.css +1 -1
  35. package/dist/assets/typographyMixin.scss +8 -0
  36. package/dist/components/AccessibleDiv/index.d.ts +46 -0
  37. package/dist/components/Accordion/index.d.ts +2 -0
  38. package/dist/components/AutoCompleteInput/index.d.ts +37 -7
  39. package/dist/components/Avatar/index.d.ts +1 -0
  40. package/dist/components/Badge/index.d.ts +2 -0
  41. package/dist/components/Banner/index.d.ts +17 -4
  42. package/dist/components/BottomSheet/index.d.ts +14 -0
  43. package/dist/components/BreadCrumbs/index.d.ts +5 -0
  44. package/dist/components/Button/index.d.ts +51 -7
  45. package/dist/components/Checkbox/index.d.ts +35 -0
  46. package/dist/components/CustomAccordion/index.d.ts +6 -0
  47. package/dist/components/CustomModal/index.d.ts +56 -1
  48. package/dist/components/DatePicker/index.d.ts +7 -0
  49. package/dist/components/DatePicker/useDatePickerA11y.d.ts +47 -0
  50. package/dist/components/Dropdown/index.d.ts +23 -0
  51. package/dist/components/DropdownWithInputTags/index.d.ts +12 -2
  52. package/dist/components/GuidedTour/index.d.ts +27 -0
  53. package/dist/components/Header/index.d.ts +3 -2
  54. package/dist/components/Icon/index.d.ts +45 -4
  55. package/dist/components/InfoTooltip/index.d.ts +14 -1
  56. package/dist/components/Input/index.d.ts +38 -6
  57. package/dist/components/InputWithIcon/index.d.ts +36 -2
  58. package/dist/components/KebabMenu/index.d.ts +1 -0
  59. package/dist/components/LabelChip/index.d.ts +3 -0
  60. package/dist/components/Link/index.d.ts +64 -0
  61. package/dist/components/MenuItem/index.d.ts +13 -3
  62. package/dist/components/MenuList/index.d.ts +3 -2
  63. package/dist/components/MessageBar/index.d.ts +20 -1
  64. package/dist/components/Modal/index.d.ts +3 -0
  65. package/dist/components/NavigationBar/TabButton.d.ts +20 -0
  66. package/dist/components/NavigationBar/index.d.ts +8 -1
  67. package/dist/components/OTPInput/index.d.ts +1 -0
  68. package/dist/components/OnboardingTour/index.d.ts +35 -0
  69. package/dist/components/Pagination/index.d.ts +2 -0
  70. package/dist/components/Paywall/index.d.ts +47 -0
  71. package/dist/components/PhoneInput/index.d.ts +27 -0
  72. package/dist/components/Popover/index.d.ts +15 -3
  73. package/dist/components/Radio/index.d.ts +7 -1
  74. package/dist/components/RadioGroup/index.d.ts +18 -0
  75. package/dist/components/ShimmerLoader/index.d.ts +4 -2
  76. package/dist/components/SidebarOverlay/index.d.ts +36 -0
  77. package/dist/components/SkipLinksBar/index.d.ts +11 -0
  78. package/dist/components/SnackBar/index.d.ts +5 -2
  79. package/dist/components/Spinner/index.d.ts +13 -1
  80. package/dist/components/TableLayout/index.d.ts +18 -0
  81. package/dist/components/Tabs/index.d.ts +6 -1
  82. package/dist/components/TimePicker/index.d.ts +14 -0
  83. package/dist/components/Toggle/index.d.ts +25 -1
  84. package/dist/components/Tooltip/index.d.ts +19 -2
  85. package/dist/components/index.d.ts +8 -0
  86. package/dist/index.js +153 -108
  87. package/dist/index.js.map +1 -1
  88. package/dist/index10.js +23 -48
  89. package/dist/index10.js.map +1 -1
  90. package/dist/index100.js +1 -1
  91. package/dist/index100.js.map +1 -1
  92. package/dist/index101.js +1 -1
  93. package/dist/index101.js.map +1 -1
  94. package/dist/index102.js +2 -2
  95. package/dist/index102.js.map +1 -1
  96. package/dist/index103.js +1 -1
  97. package/dist/index103.js.map +1 -1
  98. package/dist/index104.js +1 -1
  99. package/dist/index104.js.map +1 -1
  100. package/dist/index105.js +1 -1
  101. package/dist/index105.js.map +1 -1
  102. package/dist/index106.js +1 -1
  103. package/dist/index106.js.map +1 -1
  104. package/dist/index107.js +1 -1
  105. package/dist/index107.js.map +1 -1
  106. package/dist/index108.js +1 -1
  107. package/dist/index108.js.map +1 -1
  108. package/dist/index109.js +1 -1
  109. package/dist/index109.js.map +1 -1
  110. package/dist/index11.js +74 -18
  111. package/dist/index11.js.map +1 -1
  112. package/dist/index110.js +1 -1
  113. package/dist/index110.js.map +1 -1
  114. package/dist/index111.js +1 -1
  115. package/dist/index111.js.map +1 -1
  116. package/dist/index112.js +2 -2
  117. package/dist/index112.js.map +1 -1
  118. package/dist/index113.js +2 -2
  119. package/dist/index113.js.map +1 -1
  120. package/dist/index114.js +2 -2
  121. package/dist/index114.js.map +1 -1
  122. package/dist/index115.js +1 -1
  123. package/dist/index115.js.map +1 -1
  124. package/dist/index116.js +1 -1
  125. package/dist/index116.js.map +1 -1
  126. package/dist/index117.js +1 -1
  127. package/dist/index117.js.map +1 -1
  128. package/dist/index118.js +1 -1
  129. package/dist/index118.js.map +1 -1
  130. package/dist/index119.js +1 -1
  131. package/dist/index119.js.map +1 -1
  132. package/dist/index12.js +76 -11
  133. package/dist/index12.js.map +1 -1
  134. package/dist/index120.js +1 -1
  135. package/dist/index120.js.map +1 -1
  136. package/dist/index121.js +2 -2
  137. package/dist/index121.js.map +1 -1
  138. package/dist/index122.js +2 -2
  139. package/dist/index122.js.map +1 -1
  140. package/dist/index123.js +1 -1
  141. package/dist/index123.js.map +1 -1
  142. package/dist/index124.js +1 -1
  143. package/dist/index124.js.map +1 -1
  144. package/dist/index125.js +2 -2
  145. package/dist/index125.js.map +1 -1
  146. package/dist/index126.js +2 -2
  147. package/dist/index126.js.map +1 -1
  148. package/dist/index127.js +2 -2
  149. package/dist/index127.js.map +1 -1
  150. package/dist/index128.js +1 -1
  151. package/dist/index128.js.map +1 -1
  152. package/dist/index129.js +1 -1
  153. package/dist/index129.js.map +1 -1
  154. package/dist/index13.js +64 -5
  155. package/dist/index13.js.map +1 -1
  156. package/dist/index130.js +2 -2
  157. package/dist/index130.js.map +1 -1
  158. package/dist/index131.js +1 -1
  159. package/dist/index131.js.map +1 -1
  160. package/dist/index132.js +1 -1
  161. package/dist/index132.js.map +1 -1
  162. package/dist/index133.js +1 -1
  163. package/dist/index133.js.map +1 -1
  164. package/dist/index134.js +1 -1
  165. package/dist/index134.js.map +1 -1
  166. package/dist/index135.js +2 -2
  167. package/dist/index135.js.map +1 -1
  168. package/dist/index136.js +2 -2
  169. package/dist/index136.js.map +1 -1
  170. package/dist/index137.js +1 -1
  171. package/dist/index137.js.map +1 -1
  172. package/dist/index138.js +1 -1
  173. package/dist/index138.js.map +1 -1
  174. package/dist/index139.js +1 -1
  175. package/dist/index139.js.map +1 -1
  176. package/dist/index14.js +15 -138
  177. package/dist/index14.js.map +1 -1
  178. package/dist/index140.js +1 -1
  179. package/dist/index140.js.map +1 -1
  180. package/dist/index141.js +1 -1
  181. package/dist/index141.js.map +1 -1
  182. package/dist/index142.js +1 -1
  183. package/dist/index142.js.map +1 -1
  184. package/dist/index143.js +1 -1
  185. package/dist/index143.js.map +1 -1
  186. package/dist/index144.js +2 -2
  187. package/dist/index144.js.map +1 -1
  188. package/dist/index145.js +1 -1
  189. package/dist/index145.js.map +1 -1
  190. package/dist/index146.js +2 -2
  191. package/dist/index146.js.map +1 -1
  192. package/dist/index147.js +1 -1
  193. package/dist/index147.js.map +1 -1
  194. package/dist/index148.js +2 -2
  195. package/dist/index148.js.map +1 -1
  196. package/dist/index149.js +1 -1
  197. package/dist/index149.js.map +1 -1
  198. package/dist/index15.js +10 -54
  199. package/dist/index15.js.map +1 -1
  200. package/dist/index150.js +1 -1
  201. package/dist/index150.js.map +1 -1
  202. package/dist/index151.js +1 -1
  203. package/dist/index151.js.map +1 -1
  204. package/dist/index152.js +1 -1
  205. package/dist/index152.js.map +1 -1
  206. package/dist/index153.js +1 -1
  207. package/dist/index153.js.map +1 -1
  208. package/dist/index154.js +1 -1
  209. package/dist/index154.js.map +1 -1
  210. package/dist/index155.js +2 -2
  211. package/dist/index155.js.map +1 -1
  212. package/dist/index156.js +2 -2
  213. package/dist/index156.js.map +1 -1
  214. package/dist/index157.js +2 -2
  215. package/dist/index157.js.map +1 -1
  216. package/dist/index158.js +2 -2
  217. package/dist/index158.js.map +1 -1
  218. package/dist/index159.js +1 -1
  219. package/dist/index159.js.map +1 -1
  220. package/dist/index16.js +216 -54
  221. package/dist/index16.js.map +1 -1
  222. package/dist/index160.js +2 -149
  223. package/dist/index160.js.map +1 -1
  224. package/dist/index161.js +5 -0
  225. package/dist/index161.js.map +1 -0
  226. package/dist/index162.js +5 -0
  227. package/dist/index162.js.map +1 -0
  228. package/dist/index163.js +5 -0
  229. package/dist/index163.js.map +1 -0
  230. package/dist/index164.js +5 -0
  231. package/dist/index164.js.map +1 -0
  232. package/dist/index165.js +5 -0
  233. package/dist/index165.js.map +1 -0
  234. package/dist/index166.js +5 -0
  235. package/dist/index166.js.map +1 -0
  236. package/dist/index167.js +5 -0
  237. package/dist/index167.js.map +1 -0
  238. package/dist/index168.js +5 -0
  239. package/dist/index168.js.map +1 -0
  240. package/dist/index169.js +5 -0
  241. package/dist/index169.js.map +1 -0
  242. package/dist/index17.js +60 -255
  243. package/dist/index17.js.map +1 -1
  244. package/dist/index170.js +5 -0
  245. package/dist/index170.js.map +1 -0
  246. package/dist/index171.js +5 -0
  247. package/dist/index171.js.map +1 -0
  248. package/dist/index172.js +2 -12
  249. package/dist/index172.js.map +1 -1
  250. package/dist/index173.js +5 -0
  251. package/dist/index173.js.map +1 -0
  252. package/dist/index174.js +5 -0
  253. package/dist/index174.js.map +1 -0
  254. package/dist/index175.js +5 -0
  255. package/dist/index175.js.map +1 -0
  256. package/dist/index176.js +5 -0
  257. package/dist/index176.js.map +1 -0
  258. package/dist/index177.js +5 -0
  259. package/dist/index177.js.map +1 -0
  260. package/dist/index178.js +5 -0
  261. package/dist/index178.js.map +1 -0
  262. package/dist/index179.js +5 -0
  263. package/dist/index179.js.map +1 -0
  264. package/dist/index18.js +128 -11
  265. package/dist/index18.js.map +1 -1
  266. package/dist/index180.js +1 -1232
  267. package/dist/index180.js.map +1 -1
  268. package/dist/index181.js +5 -0
  269. package/dist/index181.js.map +1 -0
  270. package/dist/index182.js +5 -0
  271. package/dist/index182.js.map +1 -0
  272. package/dist/index183.js +5 -0
  273. package/dist/index183.js.map +1 -0
  274. package/dist/index184.js +2 -4
  275. package/dist/index184.js.map +1 -1
  276. package/dist/index185.js +5 -0
  277. package/dist/index185.js.map +1 -0
  278. package/dist/index186.js +5 -0
  279. package/dist/index186.js.map +1 -0
  280. package/dist/index187.js +5 -0
  281. package/dist/index187.js.map +1 -0
  282. package/dist/index188.js +5 -0
  283. package/dist/index188.js.map +1 -0
  284. package/dist/index189.js +2 -10
  285. package/dist/index189.js.map +1 -1
  286. package/dist/index19.js +353 -32
  287. package/dist/index19.js.map +1 -1
  288. package/dist/index190.js +1 -9
  289. package/dist/index190.js.map +1 -1
  290. package/dist/index191.js +2 -5
  291. package/dist/index191.js.map +1 -1
  292. package/dist/index192.js +2 -170
  293. package/dist/index192.js.map +1 -1
  294. package/dist/index193.js +2 -11
  295. package/dist/index193.js.map +1 -1
  296. package/dist/index194.js +1 -5
  297. package/dist/index194.js.map +1 -1
  298. package/dist/index195.js +2 -6
  299. package/dist/index195.js.map +1 -1
  300. package/dist/index196.js +2 -38
  301. package/dist/index196.js.map +1 -1
  302. package/dist/index197.js +2 -2
  303. package/dist/index197.js.map +1 -1
  304. package/dist/index198.js +2 -8
  305. package/dist/index198.js.map +1 -1
  306. package/dist/index199.js +2 -327
  307. package/dist/index199.js.map +1 -1
  308. package/dist/index20.js +18 -55
  309. package/dist/index20.js.map +1 -1
  310. package/dist/index200.js +2 -50
  311. package/dist/index200.js.map +1 -1
  312. package/dist/index201.js +2 -2
  313. package/dist/index201.js.map +1 -1
  314. package/dist/index202.js +2 -76
  315. package/dist/index202.js.map +1 -1
  316. package/dist/index203.js +147 -91
  317. package/dist/index203.js.map +1 -1
  318. package/dist/index204.js +8 -51
  319. package/dist/index204.js.map +1 -1
  320. package/dist/index205.js +5 -7
  321. package/dist/index205.js.map +1 -1
  322. package/dist/index206.js +4 -4
  323. package/dist/index206.js.map +1 -1
  324. package/dist/index207.js +41 -50
  325. package/dist/index207.js.map +1 -1
  326. package/dist/index208.js +21 -2
  327. package/dist/index208.js.map +1 -1
  328. package/dist/index21.js +33 -76
  329. package/dist/index21.js.map +1 -1
  330. package/dist/index215.js +31 -0
  331. package/dist/index215.js.map +1 -0
  332. package/dist/index216.js +75 -0
  333. package/dist/index216.js.map +1 -0
  334. package/dist/index22.js +64 -21
  335. package/dist/index22.js.map +1 -1
  336. package/dist/index224.js +15 -0
  337. package/dist/index224.js.map +1 -0
  338. package/dist/index23.js +84 -187
  339. package/dist/index23.js.map +1 -1
  340. package/dist/index232.js +1236 -0
  341. package/dist/index232.js.map +1 -0
  342. package/dist/index235.js +46 -0
  343. package/dist/index235.js.map +1 -0
  344. package/dist/index24.js +21 -45
  345. package/dist/index24.js.map +1 -1
  346. package/dist/index244.js +173 -0
  347. package/dist/index244.js.map +1 -0
  348. package/dist/index245.js +7 -0
  349. package/dist/index245.js.map +1 -0
  350. package/dist/index247.js +22 -0
  351. package/dist/index247.js.map +1 -0
  352. package/dist/index248.js +13 -0
  353. package/dist/index248.js.map +1 -0
  354. package/dist/index249.js +13 -0
  355. package/dist/index249.js.map +1 -0
  356. package/dist/index25.js +400 -18
  357. package/dist/index25.js.map +1 -1
  358. package/dist/index250.js +8 -0
  359. package/dist/index250.js.map +1 -0
  360. package/dist/index251.js +173 -0
  361. package/dist/index251.js.map +1 -0
  362. package/dist/index252.js +14 -0
  363. package/dist/index252.js.map +1 -0
  364. package/dist/index253.js +9 -0
  365. package/dist/index253.js.map +1 -0
  366. package/dist/index254.js +9 -0
  367. package/dist/index254.js.map +1 -0
  368. package/dist/index255.js +41 -0
  369. package/dist/index255.js.map +1 -0
  370. package/dist/index256.js +5 -0
  371. package/dist/index256.js.map +1 -0
  372. package/dist/index257.js +11 -0
  373. package/dist/index257.js.map +1 -0
  374. package/dist/index258.js +330 -0
  375. package/dist/index258.js.map +1 -0
  376. package/dist/index259.js +53 -0
  377. package/dist/index259.js.map +1 -0
  378. package/dist/index26.js +46 -51
  379. package/dist/index26.js.map +1 -1
  380. package/dist/index260.js +5 -0
  381. package/dist/index260.js.map +1 -0
  382. package/dist/index261.js +79 -0
  383. package/dist/index261.js.map +1 -0
  384. package/dist/index262.js +96 -0
  385. package/dist/index262.js.map +1 -0
  386. package/dist/index263.js +55 -0
  387. package/dist/index263.js.map +1 -0
  388. package/dist/index264.js +11 -0
  389. package/dist/index264.js.map +1 -0
  390. package/dist/index265.js +8 -0
  391. package/dist/index265.js.map +1 -0
  392. package/dist/index266.js +55 -0
  393. package/dist/index266.js.map +1 -0
  394. package/dist/index267.js +5 -0
  395. package/dist/index267.js.map +1 -0
  396. package/dist/{index209.js → index268.js} +1 -1
  397. package/dist/index268.js.map +1 -0
  398. package/dist/index27.js +22 -78
  399. package/dist/index27.js.map +1 -1
  400. package/dist/index28.js +108 -83
  401. package/dist/index28.js.map +1 -1
  402. package/dist/index29.js +148 -49
  403. package/dist/index29.js.map +1 -1
  404. package/dist/index3.js +69 -65
  405. package/dist/index3.js.map +1 -1
  406. package/dist/index30.js +133 -95
  407. package/dist/index30.js.map +1 -1
  408. package/dist/index31.js +77 -56
  409. package/dist/index31.js.map +1 -1
  410. package/dist/index32.js +99 -32
  411. package/dist/index32.js.map +1 -1
  412. package/dist/index33.js +75 -36
  413. package/dist/index33.js.map +1 -1
  414. package/dist/index34.js +42 -46
  415. package/dist/index34.js.map +1 -1
  416. package/dist/index35.js +72 -56
  417. package/dist/index35.js.map +1 -1
  418. package/dist/index36.js +96 -244
  419. package/dist/index36.js.map +1 -1
  420. package/dist/index37.js +50 -37
  421. package/dist/index37.js.map +1 -1
  422. package/dist/index38.js +306 -82
  423. package/dist/index38.js.map +1 -1
  424. package/dist/index39.js +70 -31
  425. package/dist/index39.js.map +1 -1
  426. package/dist/index4.js +116 -42
  427. package/dist/index4.js.map +1 -1
  428. package/dist/index40.js +82 -50
  429. package/dist/index40.js.map +1 -1
  430. package/dist/index41.js +27 -67
  431. package/dist/index41.js.map +1 -1
  432. package/dist/index42.js +45 -51
  433. package/dist/index42.js.map +1 -1
  434. package/dist/index43.js +109 -94
  435. package/dist/index43.js.map +1 -1
  436. package/dist/index44.js +54 -92
  437. package/dist/index44.js.map +1 -1
  438. package/dist/index45.js +143 -35
  439. package/dist/index45.js.map +1 -1
  440. package/dist/index46.js +194 -30
  441. package/dist/index46.js.map +1 -1
  442. package/dist/index47.js +36 -30
  443. package/dist/index47.js.map +1 -1
  444. package/dist/index48.js +34 -53
  445. package/dist/index48.js.map +1 -1
  446. package/dist/index49.js +142 -359
  447. package/dist/index49.js.map +1 -1
  448. package/dist/index5.js +41 -238
  449. package/dist/index5.js.map +1 -1
  450. package/dist/index50.js +82 -61
  451. package/dist/index50.js.map +1 -1
  452. package/dist/index51.js +458 -35
  453. package/dist/index51.js.map +1 -1
  454. package/dist/index52.js +98 -38
  455. package/dist/index52.js.map +1 -1
  456. package/dist/index53.js +42 -84
  457. package/dist/index53.js.map +1 -1
  458. package/dist/index54.js +36 -140
  459. package/dist/index54.js.map +1 -1
  460. package/dist/index55.js +88 -136
  461. package/dist/index55.js.map +1 -1
  462. package/dist/index56.js +163 -29
  463. package/dist/index56.js.map +1 -1
  464. package/dist/index57.js +143 -45
  465. package/dist/index57.js.map +1 -1
  466. package/dist/index58.js +36 -0
  467. package/dist/index58.js.map +1 -0
  468. package/dist/index59.js +86 -2
  469. package/dist/index59.js.map +1 -1
  470. package/dist/index6.js +328 -50
  471. package/dist/index6.js.map +1 -1
  472. package/dist/index60.js +119 -2
  473. package/dist/index60.js.map +1 -1
  474. package/dist/index61.js +78 -2
  475. package/dist/index61.js.map +1 -1
  476. package/dist/index62.js +152 -2
  477. package/dist/index62.js.map +1 -1
  478. package/dist/index63.js +318 -2
  479. package/dist/index63.js.map +1 -1
  480. package/dist/index64.js +47 -2
  481. package/dist/index64.js.map +1 -1
  482. package/dist/index65.js +145 -2
  483. package/dist/index65.js.map +1 -1
  484. package/dist/index66.js +12 -2
  485. package/dist/index66.js.map +1 -1
  486. package/dist/index67.js +55 -2
  487. package/dist/index67.js.map +1 -1
  488. package/dist/index68.js +103 -2
  489. package/dist/index68.js.map +1 -1
  490. package/dist/index69.js +19 -2
  491. package/dist/index69.js.map +1 -1
  492. package/dist/index7.js +44 -51
  493. package/dist/index7.js.map +1 -1
  494. package/dist/index70.js +66 -2
  495. package/dist/index70.js.map +1 -1
  496. package/dist/index71.js +27 -2
  497. package/dist/index71.js.map +1 -1
  498. package/dist/index72.js +108 -2
  499. package/dist/index72.js.map +1 -1
  500. package/dist/index73.js +62 -2
  501. package/dist/index73.js.map +1 -1
  502. package/dist/index74.js +21 -2
  503. package/dist/index74.js.map +1 -1
  504. package/dist/index75.js +171 -2
  505. package/dist/index75.js.map +1 -1
  506. package/dist/index76.js +18 -2
  507. package/dist/index76.js.map +1 -1
  508. package/dist/index77.js +11 -2
  509. package/dist/index77.js.map +1 -1
  510. package/dist/index78.js +5 -2
  511. package/dist/index78.js.map +1 -1
  512. package/dist/index79.js +56 -2
  513. package/dist/index79.js.map +1 -1
  514. package/dist/index8.js +48 -18
  515. package/dist/index8.js.map +1 -1
  516. package/dist/index80.js +27 -2
  517. package/dist/index80.js.map +1 -1
  518. package/dist/index81.js +9 -2
  519. package/dist/index81.js.map +1 -1
  520. package/dist/index83.js +2 -2
  521. package/dist/index83.js.map +1 -1
  522. package/dist/index84.js +1 -1
  523. package/dist/index84.js.map +1 -1
  524. package/dist/index85.js +1 -1
  525. package/dist/index85.js.map +1 -1
  526. package/dist/index86.js +2 -2
  527. package/dist/index86.js.map +1 -1
  528. package/dist/index87.js +1 -1
  529. package/dist/index87.js.map +1 -1
  530. package/dist/index88.js +2 -2
  531. package/dist/index88.js.map +1 -1
  532. package/dist/index89.js +2 -2
  533. package/dist/index89.js.map +1 -1
  534. package/dist/index9.js +91 -59
  535. package/dist/index9.js.map +1 -1
  536. package/dist/index90.js +1 -1
  537. package/dist/index90.js.map +1 -1
  538. package/dist/index91.js +1 -1
  539. package/dist/index91.js.map +1 -1
  540. package/dist/index92.js +1 -1
  541. package/dist/index92.js.map +1 -1
  542. package/dist/index93.js +1 -1
  543. package/dist/index93.js.map +1 -1
  544. package/dist/index94.js +2 -2
  545. package/dist/index94.js.map +1 -1
  546. package/dist/index95.js +2 -2
  547. package/dist/index95.js.map +1 -1
  548. package/dist/index96.js +2 -2
  549. package/dist/index96.js.map +1 -1
  550. package/dist/index97.js +1 -1
  551. package/dist/index97.js.map +1 -1
  552. package/dist/index98.js +2 -2
  553. package/dist/index98.js.map +1 -1
  554. package/dist/index99.js +1 -1
  555. package/dist/index99.js.map +1 -1
  556. package/package.json +1 -1
  557. package/dist/index209.js.map +0 -1
  558. package/dist/index82.js +0 -5
  559. package/dist/index82.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index204.js","sources":["../node_modules/object-assign/index.js"],"sourcesContent":["/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n"],"names":["getOwnPropertySymbols","hasOwnProperty","propIsEnumerable","toObject","val","shouldUseNative","test1","test2","i","order2","n","test3","letter","objectAssign","target","source","from","to","symbols","s","key"],"mappings":";;;;;;;;;AAQA,MAAIA,IAAwB,OAAO,uBAC/BC,IAAiB,OAAO,UAAU,gBAClCC,IAAmB,OAAO,UAAU;AAExC,WAASC,EAASC,GAAK;AACtB,QAAIA,KAAQ;AACX,YAAM,IAAI,UAAU,uDAAuD;AAG5E,WAAO,OAAOA,CAAG;AAAA,EACjB;AAED,WAASC,IAAkB;AAC1B,QAAI;AACH,UAAI,CAAC,OAAO;AACX,eAAO;AAMR,UAAIC,IAAQ,IAAI,OAAO,KAAK;AAE5B,UADAA,EAAM,CAAC,IAAI,MACP,OAAO,oBAAoBA,CAAK,EAAE,CAAC,MAAM;AAC5C,eAAO;AAKR,eADIC,IAAQ,CAAA,GACHC,IAAI,GAAGA,IAAI,IAAIA;AACvB,QAAAD,EAAM,MAAM,OAAO,aAAaC,CAAC,CAAC,IAAIA;AAEvC,UAAIC,IAAS,OAAO,oBAAoBF,CAAK,EAAE,IAAI,SAAUG,GAAG;AAC/D,eAAOH,EAAMG,CAAC;AAAA,MACjB,CAAG;AACD,UAAID,EAAO,KAAK,EAAE,MAAM;AACvB,eAAO;AAIR,UAAIE,IAAQ,CAAA;AAIZ,aAHA,uBAAuB,MAAM,EAAE,EAAE,QAAQ,SAAUC,GAAQ;AAC1D,QAAAD,EAAMC,CAAM,IAAIA;AAAA,MACnB,CAAG,GACG,OAAO,KAAK,OAAO,OAAO,CAAE,GAAED,CAAK,CAAC,EAAE,KAAK,EAAE,MAC/C;AAAA,IAKF,QAAa;AAEb,aAAO;AAAA,IACP;AAAA,EACD;AAED,SAAAE,IAAiBR,EAAe,IAAK,OAAO,SAAS,SAAUS,GAAQC,GAAQ;AAK9E,aAJIC,GACAC,IAAKd,EAASW,CAAM,GACpBI,GAEKC,IAAI,GAAGA,IAAI,UAAU,QAAQA,KAAK;AAC1C,MAAAH,IAAO,OAAO,UAAUG,CAAC,CAAC;AAE1B,eAASC,KAAOJ;AACf,QAAIf,EAAe,KAAKe,GAAMI,CAAG,MAChCH,EAAGG,CAAG,IAAIJ,EAAKI,CAAG;AAIpB,UAAIpB,GAAuB;AAC1B,QAAAkB,IAAUlB,EAAsBgB,CAAI;AACpC,iBAASR,IAAI,GAAGA,IAAIU,EAAQ,QAAQV;AACnC,UAAIN,EAAiB,KAAKc,GAAME,EAAQV,CAAC,CAAC,MACzCS,EAAGC,EAAQV,CAAC,CAAC,IAAIQ,EAAKE,EAAQV,CAAC,CAAC;AAAA,MAGlC;AAAA,IACD;AAED,WAAOS;AAAA;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index204.js","sources":["../src/utils/a11y/elementVisibility.ts"],"sourcesContent":["/**\n * Checks if an element is visible in the DOM.\n * \n * An element is considered visible if:\n * - It exists in the DOM\n * - It's not hidden via CSS (display: none, visibility: hidden)\n * - It has actual dimensions (width > 0 and height > 0)\n * \n * @param element - The element to check, or null\n * @returns true if the element is visible, false otherwise\n * \n * @example\n * const element = document.getElementById('my-element');\n * if (isElementVisible(element)) {\n * // Element is visible\n * }\n */\nexport function isElementVisible(element: HTMLElement | null): boolean {\n if (!element) return false;\n\n // Check computed style for display/visibility\n const style = window.getComputedStyle(element);\n if (style.display === 'none' || style.visibility === 'hidden') {\n return false;\n }\n\n // Check if element has dimensions\n const rect = element.getBoundingClientRect();\n return rect.width > 0 && rect.height > 0;\n}\n"],"names":["isElementVisible","element","style","window","getComputedStyle","display","visibility","rect","getBoundingClientRect","width","height"],"mappings":"AAiBO,SAASA,EAAiBC,GAAsC;AACrE,MAAI,CAACA,EAAS,QAAO;AAGrB,QAAMC,IAAQC,OAAOC,iBAAiBH,CAAO;AAC7C,MAAIC,EAAMG,YAAY,UAAUH,EAAMI,eAAe;AACnD,WAAO;AAIT,QAAMC,IAAON,EAAQO,sBAAAA;AACrB,SAAOD,EAAKE,QAAQ,KAAKF,EAAKG,SAAS;AACzC;"}
package/dist/index205.js CHANGED
@@ -1,11 +1,9 @@
1
- var e, r;
2
- function _() {
3
- if (r) return e;
4
- r = 1;
5
- var t = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
6
- return e = t, e;
1
+ import { useRef as n } from "react";
2
+ function u(e, t = "se-id") {
3
+ const r = n("");
4
+ return r.current || (r.current = `${t}-${crypto.randomUUID()}`), e || r.current;
7
5
  }
8
6
  export {
9
- _ as __require
7
+ u as useStableId
10
8
  };
11
9
  //# sourceMappingURL=index205.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index205.js","sources":["../node_modules/prop-types/lib/ReactPropTypesSecret.js"],"sourcesContent":["/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n"],"names":["ReactPropTypesSecret","ReactPropTypesSecret_1"],"mappings":";;;;AASA,MAAIA,IAAuB;AAE3B,SAAAC,IAAiBD;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index205.js","sources":["../src/utils/useStableId.ts"],"sourcesContent":["import { useRef } from 'react';\n\n/**\n * Generates a stable unique ID for component instances (React 16 compatible).\n * Returns the provided id if given, otherwise generates a stable per-mount id.\n * \n * @param id - Optional explicit id\n * @param prefix - Prefix for auto-generated ids (default: 'se-id')\n * @returns Stable id string\n */\nexport function useStableId(id?: string, prefix: string = 'se-id'): string {\n const autoIdRef = useRef<string>('');\n \n if (!autoIdRef.current) {\n autoIdRef.current = `${prefix}-${crypto.randomUUID()}`;\n }\n \n return id || autoIdRef.current;\n}\n\n\n\n\n\n\n\n"],"names":["useRef","useStableId","id","prefix","autoIdRef","current","crypto","randomUUID"],"mappings":"AAUO,SAAA,UAAAA,SAAA;AAAA,SAASC,EAAYC,GAAaC,IAAiB,SAAiB;AACzE,QAAMC,IAAYJ,EAAe,EAAE;AAEnC,SAAKI,EAAUC,YACbD,EAAUC,UAAU,GAAGF,CAAM,IAAIG,OAAOC,YAAY,KAG/CL,KAAME,EAAUC;AACzB;"}
package/dist/index206.js CHANGED
@@ -1,8 +1,8 @@
1
- var r, e;
2
- function a() {
3
- return e || (e = 1, r = Function.call.bind(Object.prototype.hasOwnProperty)), r;
1
+ function o(...n) {
2
+ const t = [...new Set(n.filter((e) => !!e).flatMap((e) => e.trim().split(/\s+/)).filter(Boolean))];
3
+ return t.length > 0 ? t.join(" ") : void 0;
4
4
  }
5
5
  export {
6
- a as __require
6
+ o as mergeIds
7
7
  };
8
8
  //# sourceMappingURL=index206.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index206.js","sources":["../node_modules/prop-types/lib/has.js"],"sourcesContent":["module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n"],"names":["has"],"mappings":";;sBAAAA,IAAiB,SAAS,KAAK,KAAK,OAAO,UAAU,cAAc;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index206.js","sources":["../src/utils/mergeIds.ts"],"sourcesContent":["/**\n * Merges multiple ID strings into a single space-separated string.\n * Filters out falsy values and deduplicates IDs while preserving order.\n * \n * Useful for ARIA attributes (aria-describedby, aria-labelledby) and class names.\n * \n * @param ids - Array of id strings (or undefined/null)\n * @returns Merged space-separated id string, or undefined if no valid ids\n * \n * @example\n * mergeIds('error-1', undefined, 'helper-1', 'error-1')\n * // Returns: 'error-1 helper-1'\n */\nexport function mergeIds(...ids: (string | undefined | null)[]): string | undefined {\n const uniqueIds = [\n ...new Set(\n ids\n .filter((id): id is string => Boolean(id))\n .flatMap(id => id.trim().split(/\\s+/))\n .filter(Boolean)\n )\n ];\n \n return uniqueIds.length > 0 ? uniqueIds.join(' ') : undefined;\n}\n"],"names":["mergeIds","ids","uniqueIds","Set","filter","id","Boolean","flatMap","trim","split","length","join","undefined"],"mappings":"AAaO,SAASA,KAAYC,GAAwD;AAClF,QAAMC,IAAY,CAChB,GAAG,IAAIC,IACLF,EACGG,OAAO,CAACC,MAAqBC,EAAQD,CAAG,EACxCE,QAAQF,CAAAA,MAAMA,EAAGG,OAAOC,MAAM,KAAK,CAAC,EACpCL,OAAOE,OAAO,CACnB,CAAC;AAGH,SAAOJ,EAAUQ,SAAS,IAAIR,EAAUS,KAAK,GAAG,IAAIC;AACtD;"}
package/dist/index207.js CHANGED
@@ -1,55 +1,46 @@
1
- import { __require as E } from "./index205.js";
2
- import { __require as _ } from "./index206.js";
3
- var f, v;
4
- function P() {
5
- if (v) return f;
6
- v = 1;
7
- var o = function() {
1
+ import { useRef as l } from "react";
2
+ import { useFocusTrap as d } from "./index72.js";
3
+ import { useDismissOnEscape as c } from "./index215.js";
4
+ import { getA11yNameAttributes as f } from "./index81.js";
5
+ import { useStableId as p } from "./index205.js";
6
+ function x({
7
+ isOpen: t,
8
+ onDismiss: s,
9
+ ariaLabel: o,
10
+ ariaLabelledBy: i,
11
+ titleIdPrefix: a = "modal-title",
12
+ initialFocus: m = "first",
13
+ portalContainerRefs: n
14
+ }) {
15
+ const e = l(null), r = p(void 0, a);
16
+ d({
17
+ enabled: t,
18
+ containerRef: e,
19
+ restoreFocus: !0,
20
+ initialFocus: m,
21
+ portalContainerRefs: n
22
+ }), c({
23
+ containerRef: e,
24
+ onDismiss: s,
25
+ enabled: t,
26
+ useDocumentListener: !0
27
+ });
28
+ const u = {
29
+ role: "dialog",
30
+ "aria-modal": !0,
31
+ tabIndex: -1,
32
+ ...f({
33
+ ariaLabelledBy: i ?? (o ? void 0 : r),
34
+ ariaLabel: o
35
+ })
36
+ };
37
+ return {
38
+ containerRef: e,
39
+ titleId: r,
40
+ dialogProps: u
8
41
  };
9
- if (process.env.NODE_ENV !== "production") {
10
- var y = E(), t = {}, d = _();
11
- o = function(n) {
12
- var a = "Warning: " + n;
13
- typeof console < "u" && console.error(a);
14
- try {
15
- throw new Error(a);
16
- } catch {
17
- }
18
- };
19
- }
20
- function u(n, a, i, s, c) {
21
- if (process.env.NODE_ENV !== "production") {
22
- for (var e in n)
23
- if (d(n, e)) {
24
- var r;
25
- try {
26
- if (typeof n[e] != "function") {
27
- var h = Error(
28
- (s || "React class") + ": " + i + " type `" + e + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof n[e] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
29
- );
30
- throw h.name = "Invariant Violation", h;
31
- }
32
- r = n[e](a, e, s, i, null, y);
33
- } catch (l) {
34
- r = l;
35
- }
36
- if (r && !(r instanceof Error) && o(
37
- (s || "React class") + ": type specification of " + i + " `" + e + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof r + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
38
- ), r instanceof Error && !(r.message in t)) {
39
- t[r.message] = !0;
40
- var p = c ? c() : "";
41
- o(
42
- "Failed " + i + " type: " + r.message + (p ?? "")
43
- );
44
- }
45
- }
46
- }
47
- }
48
- return u.resetWarningCache = function() {
49
- process.env.NODE_ENV !== "production" && (t = {});
50
- }, f = u, f;
51
42
  }
52
43
  export {
53
- P as __require
44
+ x as useModalA11y
54
45
  };
55
46
  //# sourceMappingURL=index207.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index207.js","sources":["../node_modules/prop-types/checkPropTypes.js"],"sourcesContent":["/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n"],"names":["printWarning","ReactPropTypesSecret","require$$0","loggedTypeFailures","has","require$$1","text","message","checkPropTypes","typeSpecs","values","location","componentName","getStack","typeSpecName","error","err","ex","stack","checkPropTypes_1"],"mappings":";;;;;;AASA,MAAIA,IAAe,WAAW;AAAA;AAE9B,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,QAAIC,IAAuBC,KACvBC,IAAqB,CAAA,GACrBC,IAAMC;AAEV,IAAAL,IAAe,SAASM,GAAM;AAC5B,UAAIC,IAAU,cAAcD;AAC5B,MAAI,OAAO,UAAY,OACrB,QAAQ,MAAMC,CAAO;AAEvB,UAAI;AAIF,cAAM,IAAI,MAAMA,CAAO;AAAA,MAC7B,QAAgB;AAAA,MAAQ;AAAA,IACxB;AAAA,EACC;AAaD,WAASC,EAAeC,GAAWC,GAAQC,GAAUC,GAAeC,GAAU;AAC5E,QAAI,QAAQ,IAAI,aAAa;AAC3B,eAASC,KAAgBL;AACvB,YAAIL,EAAIK,GAAWK,CAAY,GAAG;AAChC,cAAIC;AAIJ,cAAI;AAGF,gBAAI,OAAON,EAAUK,CAAY,KAAM,YAAY;AACjD,kBAAIE,IAAM;AAAA,iBACPJ,KAAiB,iBAAiB,OAAOD,IAAW,YAAYG,IAAe,+FACC,OAAOL,EAAUK,CAAY,IAAI;AAAA,cAEhI;AACY,oBAAAE,EAAI,OAAO,uBACLA;AAAA,YACP;AACD,YAAAD,IAAQN,EAAUK,CAAY,EAAEJ,GAAQI,GAAcF,GAAeD,GAAU,MAAMV,CAAoB;AAAA,UAC1G,SAAQgB,GAAI;AACX,YAAAF,IAAQE;AAAA,UACT;AAWD,cAVIF,KAAS,EAAEA,aAAiB,UAC9Bf;AAAA,aACGY,KAAiB,iBAAiB,6BACnCD,IAAW,OAAOG,IAAe,6FAC6B,OAAOC,IAAQ;AAAA,UAIzF,GAEYA,aAAiB,SAAS,EAAEA,EAAM,WAAWZ,IAAqB;AAGpE,YAAAA,EAAmBY,EAAM,OAAO,IAAI;AAEpC,gBAAIG,IAAQL,IAAWA,EAAQ,IAAK;AAEpC,YAAAb;AAAA,cACE,YAAYW,IAAW,YAAYI,EAAM,WAAWG,KAAwB;AAAA,YACxF;AAAA,UACS;AAAA,QACF;AAAA;AAAA,EAGN;AAOD,SAAAV,EAAe,oBAAoB,WAAW;AAC5C,IAAI,QAAQ,IAAI,aAAa,iBAC3BL,IAAqB,CAAA;AAAA,EAExB,GAEDgB,IAAiBX;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index207.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 useDocumentListener: true,\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","useDocumentListener","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,IACTY,qBAAqB;AAAA,EAAA,CACtB;AAOD,QAAMC,IAAc;AAAA,IAClBC,MAAM;AAAA,IACN,cAAc;AAAA,IACdC,UAAU;AAAA,IACV,GATgBlB,EAAsB;AAAA,MACtCM,gBAAgBA,MAAmBD,IAAYO,SAAYD;AAAAA,MAC3DN,WAAAA;AAAAA,IAAAA,CACD;AAAA,EAMIc;AAGL,SAAO;AAAA,IAAET,cAAAA;AAAAA,IAAcC,SAAAA;AAAAA,IAASK,aAAAA;AAAAA,EAAAA;AAClC;"}
package/dist/index208.js CHANGED
@@ -1,5 +1,24 @@
1
- var r = {};
1
+ import { createContext as u, useRef as o, useCallback as s, useContext as c, useEffect as a } from "react";
2
+ const f = /* @__PURE__ */ u(null);
3
+ function l() {
4
+ const r = o(/* @__PURE__ */ new Set()), t = o([]);
5
+ return {
6
+ register: s((n) => (r.current.add(n), t.current = Array.from(r.current), () => {
7
+ r.current.delete(n), t.current = Array.from(r.current);
8
+ }), []),
9
+ portalContainerRefs: t
10
+ };
11
+ }
12
+ function p(r, t) {
13
+ const e = c(f);
14
+ a(() => {
15
+ if (!(!e || !t))
16
+ return e(r);
17
+ }, [e, t, r]);
18
+ }
2
19
  export {
3
- r as __exports
20
+ f as FocusTrapPortalContext,
21
+ l as useFocusTrapPortalRegistry,
22
+ p as useRegisterPortalWithFocusTrap
4
23
  };
5
24
  //# sourceMappingURL=index208.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index208.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index208.js","sources":["../src/utils/a11y/FocusTrapPortalContext.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useEffect, useRef } from 'react';\n\ntype RegisterPortal = (ref: React.RefObject<HTMLElement | null>) => () => void;\n\n/**\n * Context for portal content to register with the nearest focus trap.\n * When a Modal (or any focus trap owner) provides this context, portal-rendered\n * content (e.g., Popover with isWithPortal) can register its container ref so\n * the focus trap's safety net allows focus to move into it.\n */\nexport const FocusTrapPortalContext = createContext<RegisterPortal | null>(null);\n\n/**\n * Hook for the focus trap owner (Modal) to create a portal registration function\n * and a stable ref to the current list of portal container refs.\n *\n * Usage in Modal:\n * ```tsx\n * const { register, portalContainerRefs } = useFocusTrapPortalRegistry();\n * // Pass portalContainerRefs.current to useModalA11y\n * // Wrap children with <FocusTrapPortalContext.Provider value={register}>\n * ```\n */\nexport function useFocusTrapPortalRegistry() {\n const portalRefsSet = useRef<Set<React.RefObject<HTMLElement | null>>>(new Set());\n const portalContainerRefs = useRef<React.RefObject<HTMLElement | null>[]>([]);\n\n const register: RegisterPortal = useCallback((ref) => {\n portalRefsSet.current.add(ref);\n portalContainerRefs.current = Array.from(portalRefsSet.current);\n return () => {\n portalRefsSet.current.delete(ref);\n portalContainerRefs.current = Array.from(portalRefsSet.current);\n };\n }, []);\n\n return { register, portalContainerRefs };\n}\n\n/**\n * Hook for portal content (Popover) to register its container ref with the\n * nearest ancestor focus trap. No-op if there is no focus trap ancestor.\n *\n * @param portalRef - Ref to the portal's root DOM element\n * @param isActive - Whether the portal is currently mounted and should be registered\n */\nexport function useRegisterPortalWithFocusTrap(\n portalRef: React.RefObject<HTMLElement | null>,\n isActive: boolean\n) {\n const register = useContext(FocusTrapPortalContext);\n\n useEffect(() => {\n if (!register || !isActive) return;\n return register(portalRef);\n }, [register, isActive, portalRef]);\n}\n"],"names":["createContext","useRef","useCallback","useContext","useEffect","FocusTrapPortalContext","useFocusTrapPortalRegistry","portalRefsSet","Set","portalContainerRefs","register","ref","current","add","Array","from","delete","useRegisterPortalWithFocusTrap","portalRef","isActive"],"mappings":"AAUO,SAAA,iBAAAA,GAAA,UAAAC,GAAA,eAAAC,GAAA,cAAAC,GAAA,aAAAC,SAAA;AAAA,MAAMC,sBAA8D,IAAI;AAaxE,SAASC,IAA6B;AAC3C,QAAMC,IAAgBN,EAAiD,oBAAIO,KAAK,GAC1EC,IAAsBR,EAA8C,EAAE;AAW5E,SAAO;AAAA,IAAES,UATwBR,EAAaS,CAAAA,OAC5CJ,EAAcK,QAAQC,IAAIF,CAAG,GAC7BF,EAAoBG,UAAUE,MAAMC,KAAKR,EAAcK,OAAO,GACvD,MAAM;AACXL,MAAAA,EAAcK,QAAQI,OAAOL,CAAG,GAChCF,EAAoBG,UAAUE,MAAMC,KAAKR,EAAcK,OAAO;AAAA,IAChE,IACC,CAAA,CAAE;AAAA,IAEcH,qBAAAA;AAAAA,EAAAA;AACrB;AASO,SAASQ,EACdC,GACAC,GACA;AACA,QAAMT,IAAWP,EAAWE,CAAsB;AAElDD,EAAAA,EAAU,MAAM;AACd,QAAI,GAACM,KAAY,CAACS;AAClB,aAAOT,EAASQ,CAAS;AAAA,EAC3B,GAAG,CAACR,GAAUS,GAAUD,CAAS,CAAC;AACpC;"}
package/dist/index21.js CHANGED
@@ -1,79 +1,36 @@
1
- import s, { useState as C, useEffect as N } from "react";
2
- /* empty css */
3
- function b() {
4
- return b = Object.assign ? Object.assign.bind() : function(i) {
5
- for (var a = 1; a < arguments.length; a++) {
6
- var c = arguments[a];
7
- for (var e in c) ({}).hasOwnProperty.call(c, e) && (i[e] = c[e]);
8
- }
9
- return i;
10
- }, b.apply(null, arguments);
11
- }
12
- const I = ({
13
- className: i = "",
14
- automationId: a = "",
15
- defaultChecked: c = !1,
16
- disabled: e = !1,
17
- onChange: m,
18
- checkMarkType: r = "",
19
- label: k = "",
20
- disabledLabel: h = "",
21
- containerAutomationId: g = "",
22
- ariaLabel: f = "Checkbox"
23
- }) => {
24
- const [n, l] = C(c);
25
- N(() => {
26
- l(c);
27
- }, [c]);
28
- const p = (t) => {
29
- e || (l((o) => !o), m?.(!n, t));
30
- }, E = (t) => {
31
- if (!e && (t.key === "Enter" || t.key === " ")) {
32
- t.preventDefault(), t.stopPropagation();
33
- const o = !n;
34
- l(o);
35
- const u = t.currentTarget.closest("label")?.querySelector("input");
36
- u && m?.(o, {
37
- target: u,
38
- currentTarget: u
39
- });
40
- }
41
- }, v = () => {
42
- const t = "focus-visible:outline outline-2 outline-[var(--color-blue-400)] outline-offset-2 rounded";
43
- return e ? n && r === "tick" ? "disabled-tick" : n && r === "minus-checkbox" ? "disabled-minus-checkbox" : n && !r ? "disabled-tick" : "disabled-default" : r === "minus-checkbox" && n ? `minus-checkbox ${t}` : n ? `checked ${t}` : `unchecked ${t}`;
44
- }, y = () => e ? "checkbox-label-disabled" : "checkbox-label", d = () => e && h ? h : k, x = crypto.randomUUID();
45
- return /* @__PURE__ */ s.createElement("div", {
46
- className: "se-design-checkbox-ctn"
47
- }, /* @__PURE__ */ s.createElement("label", b({
48
- role: "checkbox",
49
- htmlFor: x,
50
- className: `se-design-checkbox ${i} ${v()}`,
51
- "data-automation-id": g || "checkbox-container",
52
- tabIndex: 0,
53
- "aria-checked": n ? "true" : "false",
54
- "aria-disabled": e ? "true" : "false"
55
- }, f ? {
56
- "aria-label": f
57
- } : {
58
- "aria-labelledby": `${a}-label`
59
- }, {
60
- onKeyDown: E
61
- }), /* @__PURE__ */ s.createElement("input", {
62
- id: x,
63
- type: "checkbox",
64
- checked: n,
65
- onChange: p,
66
- disabled: e,
67
- "aria-hidden": "true"
68
- }), /* @__PURE__ */ s.createElement("span", {
69
- className: "checkbox-item",
70
- "data-automation-id": a
71
- }), d()?.length > 0 && /* @__PURE__ */ s.createElement("span", {
72
- className: y(),
73
- "data-automation-id": "checkbox-label"
74
- }, d())));
75
- };
1
+ import e from "react";
2
+ import { Popover as l } from "./index19.js";
3
+ import { Icon as s } from "./index6.js";
4
+ const t = {
5
+ base: "se-design-hamburger-menu rounded-[6px] transition-all duration-300 p-[3px] flex items-center",
6
+ active: "bg-[var(--color-blue-450)]",
7
+ hover: "hover:bg-[var(--color-blue-450)]"
8
+ }, u = ({
9
+ className: a = "",
10
+ automationId: n = "",
11
+ popoverContentAutomationId: m = "",
12
+ menuContent: o,
13
+ popoverClassName: c = ""
14
+ }) => /* @__PURE__ */ e.createElement(l, {
15
+ className: a,
16
+ position: "bottom-left",
17
+ automationId: n,
18
+ popoverContentAutomationId: m,
19
+ renderPopoverSrcElement: ({
20
+ displayPopover: r
21
+ }) => /* @__PURE__ */ e.createElement("div", {
22
+ className: `${t.base} ${r ? t.active : ""} ${t.hover}`
23
+ }, /* @__PURE__ */ e.createElement(s, {
24
+ name: "hamburger",
25
+ stroke: "var(--color-white)"
26
+ })),
27
+ renderPopoverContents: (r) => /* @__PURE__ */ e.createElement("div", {
28
+ className: `min-w-[212px] ${c}`
29
+ }, o && /* @__PURE__ */ e.createElement("div", {
30
+ className: "menu-content"
31
+ }, o(r)))
32
+ });
76
33
  export {
77
- I as Checkbox
34
+ u as HamburgerMenu
78
35
  };
79
36
  //# sourceMappingURL=index21.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index21.js","sources":["../src/components/Checkbox/index.tsx"],"sourcesContent":["import React, { FC, useState, useEffect } from 'react';\nimport './style.scss';\n\nexport interface CheckboxProps {\n className?: string;\n automationId?: string;\n defaultChecked?: boolean;\n onChange?: (checked: boolean, e: React.ChangeEvent<HTMLInputElement>) => void;\n disabled?: boolean;\n checkMarkType?: 'tick' | 'minus-checkbox' | '';\n label?: string;\n disabledLabel?: string;\n containerAutomationId?: string;\n ariaLabel?: string;\n}\n\nexport const Checkbox: FC<CheckboxProps> = ({\n className = '',\n automationId = '',\n defaultChecked = false,\n disabled = false,\n onChange,\n checkMarkType = '',\n label = '',\n disabledLabel = '',\n containerAutomationId = '',\n ariaLabel = 'Checkbox'\n}) => {\n const [isChecked, setIsChecked] = useState(defaultChecked);\n\n useEffect(() => {\n setIsChecked(defaultChecked);\n }, [defaultChecked]);\n\n const handleClick = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (disabled) return;\n setIsChecked((prev) => (checkMarkType === 'minus-checkbox' ? !prev : !prev));\n onChange?.(!isChecked, e);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLLabelElement | HTMLSpanElement>) => {\n if (disabled) return;\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n const newChecked = !isChecked;\n setIsChecked(newChecked);\n \n // Create a proper synthetic event for the onChange callback\n const inputElement = e.currentTarget.closest('label')?.querySelector('input');\n if (inputElement) {\n const syntheticEvent = {\n target: inputElement,\n currentTarget: inputElement,\n } as React.ChangeEvent<HTMLInputElement>;\n onChange?.(newChecked, syntheticEvent);\n }\n }\n };\n\n const getCheckBoxClassName = () => {\n const focusClass = 'focus-visible:outline outline-2 outline-[var(--color-blue-400)] outline-offset-2 rounded';\n\n // Handle disabled states with proper checked status\n if (disabled) {\n if (isChecked && checkMarkType === 'tick') return 'disabled-tick';\n if (isChecked && checkMarkType === 'minus-checkbox') return 'disabled-minus-checkbox';\n if (isChecked && !checkMarkType) return 'disabled-tick'; // Default to tick for checked disabled\n return 'disabled-default'; // Unchecked disabled\n }\n\n // Handle enabled states\n if (checkMarkType === 'minus-checkbox' && isChecked) return `minus-checkbox ${focusClass}`;\n return isChecked ? `checked ${focusClass}` : `unchecked ${focusClass}`;\n };\n\n const getLabelClassName = () => {\n return disabled ? 'checkbox-label-disabled' : 'checkbox-label';\n };\n\n const getLabelText = () => {\n if (disabled && disabledLabel) {\n return disabledLabel;\n }\n return label;\n };\n const uniqueId = crypto.randomUUID();\n\n return (\n <div className=\"se-design-checkbox-ctn\">\n <label\n role=\"checkbox\"\n htmlFor={uniqueId}\n className={`se-design-checkbox ${className} ${getCheckBoxClassName()}`}\n data-automation-id={containerAutomationId || 'checkbox-container'}\n tabIndex={0}\n aria-checked={isChecked ? 'true' : 'false'}\n aria-disabled={disabled ? 'true' : 'false'}\n {...(ariaLabel ? { 'aria-label': ariaLabel } : { 'aria-labelledby': `${automationId}-label` })}\n onKeyDown={handleKeyDown}\n >\n <input\n id={uniqueId}\n type=\"checkbox\"\n checked={isChecked}\n onChange={handleClick}\n disabled={disabled}\n aria-hidden=\"true\"\n />\n <span className=\"checkbox-item\" data-automation-id={automationId}></span>\n {getLabelText()?.length > 0 && <span className={getLabelClassName()} data-automation-id=\"checkbox-label\">{getLabelText()}</span>}\n </label>\n </div>\n );\n};\n"],"names":["Checkbox","className","automationId","defaultChecked","disabled","onChange","checkMarkType","label","disabledLabel","containerAutomationId","ariaLabel","isChecked","setIsChecked","useState","useEffect","handleClick","e","prev","handleKeyDown","key","preventDefault","stopPropagation","newChecked","inputElement","currentTarget","closest","querySelector","target","getCheckBoxClassName","focusClass","getLabelClassName","getLabelText","uniqueId","crypto","randomUUID","React","createElement","_extends","role","htmlFor","tabIndex","onKeyDown","id","type","checked","length"],"mappings":";;;;;;;;;;;AAgBO,MAAMA,IAA8BA,CAAC;AAAA,EAC1CC,WAAAA,IAAY;AAAA,EACZC,cAAAA,IAAe;AAAA,EACfC,gBAAAA,IAAiB;AAAA,EACjBC,UAAAA,IAAW;AAAA,EACXC,UAAAA;AAAAA,EACAC,eAAAA,IAAgB;AAAA,EAChBC,OAAAA,IAAQ;AAAA,EACRC,eAAAA,IAAgB;AAAA,EAChBC,uBAAAA,IAAwB;AAAA,EACxBC,WAAAA,IAAY;AACd,MAAM;AACJ,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAASV,CAAc;AAEzDW,EAAAA,EAAU,MAAM;AACdF,IAAAA,EAAaT,CAAc;AAAA,EAAA,GAC1B,CAACA,CAAc,CAAC;AAEbY,QAAAA,IAAcA,CAACC,MAA2C;AAC9D,IAAIZ,MACJQ,EAAcK,OAA+C,CAACA,CAAa,GAChEZ,IAAA,CAACM,GAAWK,CAAC;AAAA,EAAA,GAGpBE,IAAgBA,CAACF,MAA+D;AACpF,QAAIZ,CAAAA,MACAY,EAAEG,QAAQ,WAAWH,EAAEG,QAAQ,MAAK;AACtCH,MAAAA,EAAEI,eAAe,GACjBJ,EAAEK,gBAAgB;AAClB,YAAMC,IAAa,CAACX;AACpBC,MAAAA,EAAaU,CAAU;AAGvB,YAAMC,IAAeP,EAAEQ,cAAcC,QAAQ,OAAO,GAAGC,cAAc,OAAO;AAC5E,MAAIH,KAKFlB,IAAWiB,GAJY;AAAA,QACrBK,QAAQJ;AAAAA,QACRC,eAAeD;AAAAA,MAAAA,CAEoB;AAAA,IAEzC;AAAA,EAAA,GAGIK,IAAuBA,MAAM;AACjC,UAAMC,IAAa;AAGnB,WAAIzB,IACEO,KAAaL,MAAkB,SAAe,kBAC9CK,KAAaL,MAAkB,mBAAyB,4BACxDK,KAAa,CAACL,IAAsB,kBACjC,qBAILA,MAAkB,oBAAoBK,IAAkB,kBAAkBkB,CAAU,KACjFlB,IAAY,WAAWkB,CAAU,KAAK,aAAaA,CAAU;AAAA,EAAA,GAGhEC,IAAoBA,MACjB1B,IAAW,4BAA4B,kBAG1C2B,IAAeA,MACf3B,KAAYI,IACPA,IAEFD,GAEHyB,IAAWC,OAAOC;AAGtBC,SAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKnC,WAAU;AAAA,EACbkC,GAAAA,gBAAAA,EAAAC,cAAA,SAAAC,EAAA;AAAA,IACEC,MAAK;AAAA,IACLC,SAASP;AAAAA,IACT/B,WAAW,sBAAsBA,CAAS,IAAI2B,EAAsB,CAAA;AAAA,IACpE,sBAAoBnB,KAAyB;AAAA,IAC7C+B,UAAU;AAAA,IACV,gBAAc7B,IAAY,SAAS;AAAA,IACnC,iBAAeP,IAAW,SAAS;AAAA,KAC9BM,IAAY;AAAA,IAAE,cAAcA;AAAAA,EAAAA,IAAc;AAAA,IAAE,mBAAmB,GAAGR,CAAY;AAAA,EAAA,GAAU;AAAA,IAC7FuC,WAAWvB;AAAAA,EAAAA,CAEXiB,GAAAC,gBAAAA,EAAAA,cAAA,SAAA;AAAA,IACEM,IAAIV;AAAAA,IACJW,MAAK;AAAA,IACLC,SAASjC;AAAAA,IACTN,UAAUU;AAAAA,IACVX,UAAAA;AAAAA,IACA,eAAY;AAAA,EAAA,CACb,GACDgC,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IAAMnC,WAAU;AAAA,IAAgB,sBAAoBC;AAAAA,EAAAA,CAAoB,GACvE6B,EAAa,GAAGc,SAAS,KAAKV,gBAAAA,EAAAC,cAAA,QAAA;AAAA,IAAMnC,WAAW6B,EAAkB;AAAA,IAAG,sBAAmB;AAAA,EAAA,GAAkBC,EAAAA,CAAqB,CAC1H,CACJ;AAET;"}
1
+ {"version":3,"file":"index21.js","sources":["../src/components/HamburgerMenu/index.tsx"],"sourcesContent":["import React, { FC } from 'react';\n\nimport { Popover } from 'src/components/Popover';\nimport { Icon } from 'src/components/Icon';\nexport interface HamburgerMenuProps {\n className?: string;\n automationId?: string;\n popoverContentAutomationId?: string;\n menuContent?: (data: any) => React.ReactNode;\n popoverClassName?: string;\n}\n\nconst menuClasses = {\n base: 'se-design-hamburger-menu rounded-[6px] transition-all duration-300 p-[3px] flex items-center',\n active: 'bg-[var(--color-blue-450)]',\n hover: 'hover:bg-[var(--color-blue-450)]'\n};\n\nexport const HamburgerMenu: FC<HamburgerMenuProps> = ({\n className = '',\n automationId = '',\n popoverContentAutomationId = '',\n menuContent,\n popoverClassName = ''\n}) => {\n\n return (\n <Popover\n className={className}\n position='bottom-left'\n automationId={automationId}\n popoverContentAutomationId={popoverContentAutomationId}\n renderPopoverSrcElement={({ displayPopover }) => (\n <div className={`${menuClasses.base} ${displayPopover ? menuClasses.active : ''} ${menuClasses.hover}`}>\n <Icon name='hamburger' stroke={'var(--color-white)'} />\n </div>\n )}\n renderPopoverContents={(data) => (\n <div className={`min-w-[212px] ${popoverClassName}`}>\n {menuContent && <div className='menu-content'>{menuContent(data)}</div>}\n </div>\n )}\n />\n );\n};\n"],"names":["React__default","Popover","Icon","menuClasses","base","active","hover","HamburgerMenu","className","automationId","popoverContentAutomationId","menuContent","popoverClassName","React","createElement","position","renderPopoverSrcElement","displayPopover","name","stroke","renderPopoverContents","data"],"mappings":"AAYA,OAAAA,OAAA;AAAA,SAAA,WAAAC,SAAA;AAAA,SAAA,QAAAC,SAAA;AAAA,MAAMC,IAAc;AAAA,EAClBC,MAAM;AAAA,EACNC,QAAQ;AAAA,EACRC,OAAO;AACT,GAEaC,IAAwCA,CAAC;AAAA,EACpDC,WAAAA,IAAY;AAAA,EACZC,cAAAA,IAAe;AAAA,EACfC,4BAAAA,IAA6B;AAAA,EAC7BC,aAAAA;AAAAA,EACAC,kBAAAA,IAAmB;AACrB,MAGIC,gBAAAA,EAAAC,cAACb,GAAO;AAAA,EACNO,WAAAA;AAAAA,EACAO,UAAS;AAAA,EACTN,cAAAA;AAAAA,EACAC,4BAAAA;AAAAA,EACAM,yBAAyBA,CAAC;AAAA,IAAEC,gBAAAA;AAAAA,EAAAA,MAC1BJ,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKN,WAAW,GAAGL,EAAYC,IAAI,IAAIa,IAAiBd,EAAYE,SAAS,EAAE,IAAIF,EAAYG,KAAK;AAAA,EAAA,GAClGO,gBAAAA,EAAAC,cAACZ,GAAI;AAAA,IAACgB,MAAK;AAAA,IAAYC,QAAQ;AAAA,EAAA,CAAuB,CACnD;AAAA,EAEPC,uBAAwBC,CAAAA,MACtBR,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKN,WAAW,iBAAiBI,CAAgB;AAAA,EAAA,GAC9CD,KAAeE,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKN,WAAU;AAAA,EAAA,GAAgBG,EAAYU,CAAI,CAAO,CACnE;AAAA,CAER;"}
@@ -0,0 +1,31 @@
1
+ import { useCallback as y, useEffect as d } from "react";
2
+ function p({
3
+ containerRef: E,
4
+ onDismiss: e,
5
+ enabled: t = !0,
6
+ useDocumentListener: u = !1,
7
+ preventDefault: c = !0,
8
+ stopPropagation: n = !0
9
+ }) {
10
+ const f = y((r) => {
11
+ !t || !e || r.key !== "Escape" || (c && r.preventDefault(), n && r.stopPropagation(), e());
12
+ }, [t, e, c, n]);
13
+ return d(() => {
14
+ if (!u || !t || !e) return;
15
+ const r = E?.current, a = (o) => {
16
+ o.key === "Escape" && (r && !r.contains(document.activeElement) || (c && o.preventDefault(), n && o.stopPropagation(), e()));
17
+ };
18
+ return document.addEventListener("keydown", a, {
19
+ capture: !0
20
+ }), () => document.removeEventListener("keydown", a, {
21
+ capture: !0
22
+ });
23
+ }, [u, t, e, E, c, n]), {
24
+ onKeyDown: u ? () => {
25
+ } : f
26
+ };
27
+ }
28
+ export {
29
+ p as useDismissOnEscape
30
+ };
31
+ //# sourceMappingURL=index215.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index215.js","sources":["../src/utils/a11y/useDismissOnEscape.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react';\nimport type { RefObject } from 'react';\n\nexport interface UseDismissOnEscapeOptions<T extends HTMLElement = HTMLElement> {\n /**\n * Container element ref — used for focus-check in document-level mode,\n * and for the returned onKeyDown in React-event mode.\n */\n containerRef?: RefObject<T | null>;\n /**\n * Callback when Escape key is pressed.\n */\n onDismiss?: () => void;\n /**\n * Whether the Escape handler is active.\n * Default: true\n */\n enabled?: boolean;\n /**\n * Use a native document-level capture listener instead of React's event system.\n * Only use this when React events can't reach the container (e.g. portals outside\n * the container's DOM tree). Prefer the default (false) for layered dismiss support.\n * Default: false\n */\n useDocumentListener?: boolean;\n /**\n * Whether to call e.preventDefault() on Escape.\n * Default: true\n */\n preventDefault?: boolean;\n /**\n * Whether to call e.stopPropagation() on Escape.\n * In React-event mode this is the layered-dismiss mechanism — set false only if\n * you want the event to continue bubbling to a parent dismiss handler.\n * Default: true\n */\n stopPropagation?: boolean;\n}\n\nexport interface UseDismissOnEscapeReturn {\n /**\n * Spread on the container element. In document-listener mode this is a no-op object.\n */\n onKeyDown: (e: React.KeyboardEvent) => void;\n}\n\n/**\n * Hook to handle Escape key dismissal.\n *\n * Default mode: returns an onKeyDown handler for the container element.\n * Uses React's synthetic events so child stopPropagation() is respected,\n * enabling layered dismiss (e.g. dropdown closes before sidebar).\n *\n * Document-listener mode (useDocumentListener: true): registers a native\n * capture listener on document. Use only when focus may be in a portal\n * outside the container's DOM tree.\n */\nexport function useDismissOnEscape<T extends HTMLElement = HTMLElement>({\n containerRef,\n onDismiss,\n enabled = true,\n useDocumentListener = false,\n preventDefault = true,\n stopPropagation = true,\n}: UseDismissOnEscapeOptions<T>): UseDismissOnEscapeReturn {\n // React-event mode: return handler to spread on container\n const onKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (!enabled || !onDismiss || e.key !== 'Escape') return;\n preventDefault && e.preventDefault();\n stopPropagation && e.stopPropagation();\n onDismiss();\n },\n [enabled, onDismiss, preventDefault, stopPropagation]\n );\n\n // Document-listener mode: native capture handler\n useEffect(() => {\n if (!useDocumentListener || !enabled || !onDismiss) return;\n\n const container = containerRef?.current;\n\n const handleEscape = (e: KeyboardEvent) => {\n if (e.key !== 'Escape') return;\n // Only fire if focus is within the container (if provided)\n if (container && !container.contains(document.activeElement)) return;\n preventDefault && e.preventDefault();\n stopPropagation && e.stopPropagation();\n onDismiss();\n };\n\n document.addEventListener('keydown', handleEscape, { capture: true });\n return () => document.removeEventListener('keydown', handleEscape, { capture: true });\n }, [useDocumentListener, enabled, onDismiss, containerRef, preventDefault, stopPropagation]);\n\n return { onKeyDown: useDocumentListener ? (() => {}) : onKeyDown };\n}\n"],"names":["useCallback","useEffect","useDismissOnEscape","containerRef","onDismiss","enabled","useDocumentListener","preventDefault","stopPropagation","onKeyDown","e","key","container","current","handleEscape","contains","document","activeElement","addEventListener","capture","removeEventListener"],"mappings":"AAyDO,SAAA,eAAAA,GAAA,aAAAC,SAAA;AAAA,SAASC,EAAwD;AAAA,EACtEC,cAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,SAAAA,IAAU;AAAA,EACVC,qBAAAA,IAAsB;AAAA,EACtBC,gBAAAA,IAAiB;AAAA,EACjBC,iBAAAA,IAAkB;AACU,GAA6B;AAEzD,QAAMC,IAAYT,EAChB,CAACU,MAA2B;AAC1B,IAAI,CAACL,KAAW,CAACD,KAAaM,EAAEC,QAAQ,aACxCJ,KAAkBG,EAAEH,eAAAA,GACpBC,KAAmBE,EAAEF,gBAAAA,GACrBJ,EAAAA;AAAAA,EACF,GACA,CAACC,GAASD,GAAWG,GAAgBC,CAAe,CACtD;AAGAP,SAAAA,EAAU,MAAM;AACd,QAAI,CAACK,KAAuB,CAACD,KAAW,CAACD,EAAW;AAEpD,UAAMQ,IAAYT,GAAcU,SAE1BC,IAAeA,CAACJ,MAAqB;AACzC,MAAIA,EAAEC,QAAQ,aAEVC,KAAa,CAACA,EAAUG,SAASC,SAASC,aAAa,MAC3DV,KAAkBG,EAAEH,eAAAA,GACpBC,KAAmBE,EAAEF,gBAAAA,GACrBJ,EAAAA;AAAAA,IACF;AAEAY,oBAASE,iBAAiB,WAAWJ,GAAc;AAAA,MAAEK,SAAS;AAAA,IAAA,CAAM,GAC7D,MAAMH,SAASI,oBAAoB,WAAWN,GAAc;AAAA,MAAEK,SAAS;AAAA,IAAA,CAAM;AAAA,EACtF,GAAG,CAACb,GAAqBD,GAASD,GAAWD,GAAcI,GAAgBC,CAAe,CAAC,GAEpF;AAAA,IAAEC,WAAWH,IAAuB,MAAM;AAAA,IAAC,IAAKG;AAAAA,EAAAA;AACzD;"}
@@ -0,0 +1,75 @@
1
+ import { useRef as a, useLayoutEffect as m, useEffect as g } from "react";
2
+ import { getFirstFocusableElement as d, getLastFocusableElement as F } from "./index71.js";
3
+ import { consumeFocusAnchor as I, consumeLastInteractedElement as E } from "./index72.js";
4
+ const f = {
5
+ position: "absolute",
6
+ opacity: 0,
7
+ pointerEvents: "none",
8
+ width: 0,
9
+ height: 0
10
+ };
11
+ function T({
12
+ isOpen: o,
13
+ isModal: i,
14
+ containerRef: e,
15
+ returnFocusRef: l
16
+ }) {
17
+ const c = a(null), r = a(null), u = a(null);
18
+ return m(() => {
19
+ if (i || !o) return;
20
+ const t = l?.current ?? I() ?? E() ?? document.activeElement;
21
+ if (!(!t || t === document.body) && t.tagName !== "IFRAME")
22
+ return c.current = t, u.current && (u.current.tabIndex = 0), () => {
23
+ u.current && (u.current.tabIndex = -1);
24
+ };
25
+ }, [o, i]), g(() => {
26
+ if (i || !o || !c.current) return;
27
+ const t = requestAnimationFrame(() => {
28
+ (d({
29
+ container: e.current
30
+ }) ?? e.current)?.focus(), r.current && (r.current.tabIndex = 0);
31
+ });
32
+ return () => {
33
+ cancelAnimationFrame(t), r.current && (r.current.tabIndex = -1);
34
+ const s = c.current;
35
+ c.current = null, s?.isConnected && requestAnimationFrame(() => s.focus());
36
+ };
37
+ }, [o, i]), {
38
+ startSentinelProps: {
39
+ ref: r,
40
+ tabIndex: -1,
41
+ style: f,
42
+ "aria-hidden": !0,
43
+ "data-focus-sentinel": "start",
44
+ onFocus: (t) => {
45
+ if (e.current?.contains(t.relatedTarget) && t.relatedTarget !== e.current) {
46
+ const n = c.current;
47
+ n?.isConnected && n.focus();
48
+ } else
49
+ r.current && (r.current.tabIndex = -1), (d({
50
+ container: e.current
51
+ }) ?? e.current)?.focus();
52
+ }
53
+ },
54
+ endSentinelProps: {
55
+ ref: u,
56
+ tabIndex: -1,
57
+ style: f,
58
+ "aria-hidden": !0,
59
+ "data-focus-sentinel": "end",
60
+ onFocus: (t) => {
61
+ if (e.current?.contains(t.relatedTarget) && t.relatedTarget !== e.current) {
62
+ const n = c.current;
63
+ n?.isConnected && n.focus();
64
+ } else
65
+ (F({
66
+ container: e.current
67
+ }) ?? e.current)?.focus();
68
+ }
69
+ }
70
+ };
71
+ }
72
+ export {
73
+ T as useFocusSentinel
74
+ };
75
+ //# sourceMappingURL=index216.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index216.js","sources":["../src/utils/a11y/useFocusSentinel.ts"],"sourcesContent":["import { useRef, useEffect, useLayoutEffect } from 'react';\n\nimport { getFirstFocusableElement, getLastFocusableElement } from './focusableElements';\nimport { consumeLastInteractedElement, consumeFocusAnchor } from './useFocusTrap';\n\nconst SENTINEL_STYLE: React.CSSProperties = {\n position: 'absolute',\n opacity: 0,\n pointerEvents: 'none',\n width: 0,\n height: 0,\n};\n\nexport interface UseFocusSentinelOptions {\n /** Whether the panel is currently open. */\n isOpen: boolean | undefined;\n /**\n * When true the hook is a no-op — dialog mode (focus trap) handles focus management instead.\n */\n isModal: boolean;\n /** Ref to the panel container element. */\n containerRef: React.RefObject<HTMLElement | null>;\n /**\n * Explicit element to restore focus to on close.\n * Overrides the automatic trigger capture.\n */\n returnFocusRef?: React.RefObject<HTMLElement | null>;\n}\n\nexport interface SentinelProps {\n ref: React.RefObject<HTMLDivElement | null>;\n tabIndex: number;\n style: React.CSSProperties;\n 'aria-hidden': true;\n 'data-focus-sentinel': 'start' | 'end';\n onFocus: (e: React.FocusEvent) => void;\n}\n\nexport interface UseFocusSentinelReturn {\n /** Spread onto an invisible div placed before the panel content. */\n startSentinelProps: SentinelProps;\n /** Spread onto an invisible div placed after the panel content. */\n endSentinelProps: SentinelProps;\n}\n\n/**\n * Focus management for complementary (non-modal) side panels.\n *\n * Moves focus into the panel on open, restores it to the trigger on close,\n * and wraps Tab / Shift+Tab back to the trigger when focus reaches either end.\n *\n * Sentinel tabIndex values are mutated imperatively (no state) to avoid\n * re-renders. React does not touch a DOM attribute unless the JSX prop value\n * changes, so the initial tabIndex={-1} in the returned props is safe.\n */\nexport function useFocusSentinel({\n isOpen,\n isModal,\n containerRef,\n returnFocusRef,\n}: UseFocusSentinelOptions): UseFocusSentinelReturn {\n const triggerRef = useRef<HTMLElement | null>(null);\n const startSentinelRef = useRef<HTMLDivElement>(null);\n const endSentinelRef = useRef<HTMLDivElement>(null);\n\n // Capture trigger before React commits (document.activeElement is still the opener).\n // Body focus = page-load open → skip so sentinels stay inert.\n useLayoutEffect(() => {\n if (isModal || !isOpen) return;\n const trigger =\n returnFocusRef?.current ??\n consumeFocusAnchor() ??\n consumeLastInteractedElement() ??\n (document.activeElement as HTMLElement);\n if (!trigger || trigger === document.body) return;\n // iframes manage their own internal focus. The parent doc only sees the\n // <iframe> element. Calling .focus() on any parent-doc element while the\n // user is inside an iframe forcibly blurs the iframe content (kills caret\n // on textareas, cancels native <select> dropdowns). Skip capture so the\n // auto-focus on open and focus-restore on close don't run.\n if (trigger.tagName === 'IFRAME') return;\n triggerRef.current = trigger;\n if (endSentinelRef.current) endSentinelRef.current.tabIndex = 0;\n return () => {\n if (endSentinelRef.current) endSentinelRef.current.tabIndex = -1;\n };\n }, [isOpen, isModal]);\n\n // Move focus into panel on open; restore to trigger on close.\n useEffect(() => {\n if (isModal || !isOpen || !triggerRef.current) return;\n\n const rafId = requestAnimationFrame(() => {\n const first = getFirstFocusableElement({ container: containerRef.current });\n (first ?? containerRef.current)?.focus();\n // Activate start sentinel so Shift+Tab from first content returns to trigger.\n if (startSentinelRef.current) startSentinelRef.current.tabIndex = 0;\n });\n\n return () => {\n cancelAnimationFrame(rafId);\n if (startSentinelRef.current) startSentinelRef.current.tabIndex = -1;\n const trigger = triggerRef.current;\n triggerRef.current = null;\n if (trigger?.isConnected) {\n requestAnimationFrame(() => trigger.focus());\n }\n };\n }, [isOpen, isModal]);\n\n const handleStartFocus = (e: React.FocusEvent) => {\n const fromInside =\n containerRef.current?.contains(e.relatedTarget as Node) &&\n e.relatedTarget !== containerRef.current;\n if (fromInside) {\n // Shift+Tab from first content → restore trigger\n const trigger = triggerRef.current;\n if (trigger?.isConnected) trigger.focus();\n } else {\n // Natural Tab entry from outside → forward to first content,\n // deactivate so next Shift+Tab exits naturally.\n if (startSentinelRef.current) startSentinelRef.current.tabIndex = -1;\n const first = getFirstFocusableElement({ container: containerRef.current });\n (first ?? containerRef.current)?.focus();\n }\n };\n\n const handleEndFocus = (e: React.FocusEvent) => {\n const fromInside =\n containerRef.current?.contains(e.relatedTarget as Node) &&\n e.relatedTarget !== containerRef.current;\n if (fromInside) {\n // Tab from last content → restore trigger\n const trigger = triggerRef.current;\n if (trigger?.isConnected) trigger.focus();\n } else {\n // Shift+Tab entry from outside → back to last content\n const last = getLastFocusableElement({ container: containerRef.current });\n (last ?? containerRef.current)?.focus();\n }\n };\n\n return {\n startSentinelProps: {\n ref: startSentinelRef,\n tabIndex: -1,\n style: SENTINEL_STYLE,\n 'aria-hidden': true as const,\n 'data-focus-sentinel': 'start' as const,\n onFocus: handleStartFocus,\n },\n endSentinelProps: {\n ref: endSentinelRef,\n tabIndex: -1,\n style: SENTINEL_STYLE,\n 'aria-hidden': true as const,\n 'data-focus-sentinel': 'end' as const,\n onFocus: handleEndFocus,\n },\n };\n}\n"],"names":["useRef","useLayoutEffect","useEffect","getFirstFocusableElement","getLastFocusableElement","consumeFocusAnchor","consumeLastInteractedElement","SENTINEL_STYLE","position","opacity","pointerEvents","width","height","useFocusSentinel","isOpen","isModal","containerRef","returnFocusRef","triggerRef","startSentinelRef","endSentinelRef","trigger","current","document","activeElement","body","tagName","tabIndex","rafId","requestAnimationFrame","container","focus","cancelAnimationFrame","isConnected","startSentinelProps","ref","style","onFocus","handleStartFocus","e","contains","relatedTarget","endSentinelProps","handleEndFocus"],"mappings":"AAKA,SAAA,UAAAA,GAAA,mBAAAC,GAAA,aAAAC,SAAA;AAAA,SAAA,4BAAAC,GAAA,2BAAAC,SAAA;AAAA,SAAA,sBAAAC,GAAA,gCAAAC,SAAA;AAAA,MAAMC,IAAsC;AAAA,EAC1CC,UAAU;AAAA,EACVC,SAAS;AAAA,EACTC,eAAe;AAAA,EACfC,OAAO;AAAA,EACPC,QAAQ;AACV;AA4CO,SAASC,EAAiB;AAAA,EAC/BC,QAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC,gBAAAA;AACuB,GAA2B;AAClD,QAAMC,IAAalB,EAA2B,IAAI,GAC5CmB,IAAmBnB,EAAuB,IAAI,GAC9CoB,IAAiBpB,EAAuB,IAAI;AAIlDC,SAAAA,EAAgB,MAAM;AACpB,QAAIc,KAAW,CAACD,EAAQ;AACxB,UAAMO,IACJJ,GAAgBK,WAChBjB,OACAC,EAAAA,KACCiB,SAASC;AACZ,QAAI,GAACH,KAAWA,MAAYE,SAASE,SAMjCJ,EAAQK,YAAY;AACxBR,aAAAA,EAAWI,UAAUD,GACjBD,EAAeE,YAASF,EAAeE,QAAQK,WAAW,IACvD,MAAM;AACX,QAAIP,EAAeE,YAASF,EAAeE,QAAQK,WAAW;AAAA,MAChE;AAAA,EACF,GAAG,CAACb,GAAQC,CAAO,CAAC,GAGpBb,EAAU,MAAM;AACd,QAAIa,KAAW,CAACD,KAAU,CAACI,EAAWI,QAAS;AAE/C,UAAMM,IAAQC,sBAAsB,MAAM;AAExC,OADc1B,EAAyB;AAAA,QAAE2B,WAAWd,EAAaM;AAAAA,MAAAA,CAAS,KAChEN,EAAaM,UAAUS,MAAAA,GAE7BZ,EAAiBG,YAASH,EAAiBG,QAAQK,WAAW;AAAA,IACpE,CAAC;AAED,WAAO,MAAM;AACXK,2BAAqBJ,CAAK,GACtBT,EAAiBG,YAASH,EAAiBG,QAAQK,WAAW;AAClE,YAAMN,IAAUH,EAAWI;AAC3BJ,MAAAA,EAAWI,UAAU,MACjBD,GAASY,eACXJ,sBAAsB,MAAMR,EAAQU,OAAO;AAAA,IAE/C;AAAA,EACF,GAAG,CAACjB,GAAQC,CAAO,CAAC,GAkCb;AAAA,IACLmB,oBAAoB;AAAA,MAClBC,KAAKhB;AAAAA,MACLQ,UAAU;AAAA,MACVS,OAAO7B;AAAAA,MACP,eAAe;AAAA,MACf,uBAAuB;AAAA,MACvB8B,SAvCqBC,CAACC,MAAwB;AAIhD,YAFEvB,EAAaM,SAASkB,SAASD,EAAEE,aAAqB,KACtDF,EAAEE,kBAAkBzB,EAAaM,SACnB;AAEd,gBAAMD,IAAUH,EAAWI;AAC3B,UAAID,GAASY,eAAaZ,EAAQU,MAAAA;AAAAA,QACpC;AAGE,UAAIZ,EAAiBG,YAASH,EAAiBG,QAAQK,WAAW,MACpDxB,EAAyB;AAAA,YAAE2B,WAAWd,EAAaM;AAAAA,UAAAA,CAAS,KAChEN,EAAaM,UAAUS,MAAAA;AAAAA,MAErC;AAAA,IAwBaO;AAAAA,IAEXI,kBAAkB;AAAA,MAChBP,KAAKf;AAAAA,MACLO,UAAU;AAAA,MACVS,OAAO7B;AAAAA,MACP,eAAe;AAAA,MACf,uBAAuB;AAAA,MACvB8B,SA9BmBM,CAACJ,MAAwB;AAI9C,YAFEvB,EAAaM,SAASkB,SAASD,EAAEE,aAAqB,KACtDF,EAAEE,kBAAkBzB,EAAaM,SACnB;AAEd,gBAAMD,IAAUH,EAAWI;AAC3B,UAAID,GAASY,eAAaZ,EAAQU,MAAAA;AAAAA,QACpC;AAGE,WADa3B,EAAwB;AAAA,YAAE0B,WAAWd,EAAaM;AAAAA,UAAAA,CAAS,KAC/DN,EAAaM,UAAUS,MAAAA;AAAAA,MAEpC;AAAA,IAiBaY;AAAAA,EACX;AAEJ;"}