@wirekyt/dom 0.0.1 → 0.0.2

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 (476) hide show
  1. package/dist/anatomy-DMuSMbOP.d.cts +18 -0
  2. package/dist/anatomy-DMuSMbOP.d.ts +18 -0
  3. package/dist/anatomy.cjs +3 -0
  4. package/dist/anatomy.d.cts +2 -0
  5. package/dist/anatomy.d.ts +2 -0
  6. package/dist/anatomy.js +2 -0
  7. package/dist/angle-3hqP0Mp5.cjs +13 -0
  8. package/dist/angle-oNt8uGHQ.js +8 -0
  9. package/dist/aria-hidden-CEXexb2I.js +127 -0
  10. package/dist/aria-hidden-Y7iJHPMr.cjs +132 -0
  11. package/dist/aria-hidden.cjs +3 -0
  12. package/dist/aria-hidden.d.cts +10 -0
  13. package/dist/aria-hidden.d.ts +10 -0
  14. package/dist/aria-hidden.js +2 -0
  15. package/dist/array-BGtygd0o.cjs +198 -0
  16. package/dist/array-C4KbHsha.js +73 -0
  17. package/dist/auto-resize-5F5iiKZb.cjs +106 -0
  18. package/dist/auto-resize-KkNfCcBt.js +95 -0
  19. package/dist/auto-resize.cjs +4 -0
  20. package/dist/auto-resize.d.cts +7 -0
  21. package/dist/auto-resize.d.ts +7 -0
  22. package/dist/auto-resize.js +2 -0
  23. package/dist/caret-CHqaP4XG.cjs +30 -0
  24. package/dist/caret-aiDJ6mAS.js +19 -0
  25. package/dist/closest-Clo6ODcK.js +117 -0
  26. package/dist/closest-IiRz1GIJ.cjs +176 -0
  27. package/dist/collection-CJU0oDtX.js +1295 -0
  28. package/dist/collection-CwzUJwBJ.cjs +1342 -0
  29. package/dist/collection.cjs +15 -0
  30. package/dist/collection.d.cts +34 -0
  31. package/dist/collection.d.ts +34 -0
  32. package/dist/collection.js +3 -0
  33. package/dist/color-CsugZjq6.d.cts +60 -0
  34. package/dist/color-CsugZjq6.d.ts +60 -0
  35. package/dist/color-utils-DzeOVYlL.cjs +662 -0
  36. package/dist/color-utils-lDDg9FEh.js +639 -0
  37. package/dist/color-utils.cjs +6 -0
  38. package/dist/color-utils.d.cts +18 -0
  39. package/dist/color-utils.d.ts +18 -0
  40. package/dist/color-utils.js +2 -0
  41. package/dist/computed-style-B1MKlCoo.js +9 -0
  42. package/dist/computed-style-DLArEFNw.cjs +14 -0
  43. package/dist/controller-B8E8ZJCI.cjs +133 -0
  44. package/dist/controller-Dv7lWHDr.js +92 -0
  45. package/dist/core-BF6G2RiC.d.cts +1 -0
  46. package/dist/core-BNMw-JId.cjs +372 -0
  47. package/dist/core-BdeZuSX6.d.ts +1 -0
  48. package/dist/core-CJ0MZr3D.js +289 -0
  49. package/dist/core.cjs +19 -0
  50. package/dist/core.d.cts +3 -0
  51. package/dist/core.d.ts +3 -0
  52. package/dist/core.js +3 -0
  53. package/dist/create-anatomy-B2q3wiaw.js +22 -0
  54. package/dist/create-anatomy-BwDn25ph.cjs +27 -0
  55. package/dist/create-props-CgtcN_Qu.js +4 -0
  56. package/dist/create-props-CjLx2oS8.cjs +9 -0
  57. package/dist/data-url-C-Uk31Q9.cjs +42 -0
  58. package/dist/data-url-DHUHj7UF.js +37 -0
  59. package/dist/data-url-Gx_SWG-k.d.cts +10 -0
  60. package/dist/data-url-Gx_SWG-k.d.ts +10 -0
  61. package/dist/date-utils-D-JJHedx.cjs +868 -0
  62. package/dist/date-utils-D5zXW-Cs.js +569 -0
  63. package/dist/date-utils.cjs +52 -0
  64. package/dist/date-utils.d.cts +7 -0
  65. package/dist/date-utils.d.ts +7 -0
  66. package/dist/date-utils.js +2 -0
  67. package/dist/dismissable-C0bixtzl.cjs +348 -0
  68. package/dist/dismissable-KM1jPtNQ.js +337 -0
  69. package/dist/dismissable-layer-BTX5EvXw.d.ts +40 -0
  70. package/dist/dismissable-layer-Ch5niVaq.d.cts +40 -0
  71. package/dist/dismissable.cjs +4 -0
  72. package/dist/dismissable.d.cts +3 -0
  73. package/dist/dismissable.d.ts +3 -0
  74. package/dist/dismissable.js +2 -0
  75. package/dist/dom-query-CQzY93XU.cjs +488 -0
  76. package/dist/dom-query-e7fh0TEH.js +243 -0
  77. package/dist/dom-query.cjs +180 -0
  78. package/dist/dom-query.d.cts +142 -0
  79. package/dist/dom-query.d.ts +142 -0
  80. package/dist/dom-query.js +43 -0
  81. package/dist/equal-C927y7MN.cjs +30 -0
  82. package/dist/equal-DtrP8DPh.js +25 -0
  83. package/dist/event-DDz-mMhM.cjs +242 -0
  84. package/dist/event-bTItRgiw.js +117 -0
  85. package/dist/file-utils-6EXCdfHx.js +116 -0
  86. package/dist/file-utils-B7OJigQq.cjs +151 -0
  87. package/dist/file-utils.cjs +92 -0
  88. package/dist/file-utils.d.cts +40 -0
  89. package/dist/file-utils.d.ts +40 -0
  90. package/dist/file-utils.js +82 -0
  91. package/dist/focus-trap-89E5I9nm.js +487 -0
  92. package/dist/focus-trap-D7jKsfHW.cjs +498 -0
  93. package/dist/focus-trap.cjs +4 -0
  94. package/dist/focus-trap.d.cts +89 -0
  95. package/dist/focus-trap.d.ts +89 -0
  96. package/dist/focus-trap.js +2 -0
  97. package/dist/focus-visible-DWdQf__4.js +176 -0
  98. package/dist/focus-visible-G4cmlWqq.cjs +217 -0
  99. package/dist/focus-visible.cjs +9 -0
  100. package/dist/focus-visible.d.cts +32 -0
  101. package/dist/focus-visible.d.ts +32 -0
  102. package/dist/focus-visible.js +2 -0
  103. package/dist/form-B1DW_w_3.js +89 -0
  104. package/dist/form-CoupKpuP.cjs +130 -0
  105. package/dist/from-window-5ZhzSURC.js +68 -0
  106. package/dist/from-window-B9DKtaoR.cjs +115 -0
  107. package/dist/functions-isw5Ovcx.d.cts +16 -0
  108. package/dist/functions-isw5Ovcx.d.ts +16 -0
  109. package/dist/highlight-word.cjs +95 -0
  110. package/dist/highlight-word.d.cts +24 -0
  111. package/dist/highlight-word.d.ts +24 -0
  112. package/dist/highlight-word.js +94 -0
  113. package/dist/hotkeys.cjs +1183 -0
  114. package/dist/hotkeys.d.cts +199 -0
  115. package/dist/hotkeys.d.ts +199 -0
  116. package/dist/hotkeys.js +1173 -0
  117. package/dist/i18n-utils-BD4VtonY.cjs +345 -0
  118. package/dist/i18n-utils-C4FQZ39m.js +280 -0
  119. package/dist/i18n-utils.cjs +216 -0
  120. package/dist/i18n-utils.d.cts +71 -0
  121. package/dist/i18n-utils.d.ts +71 -0
  122. package/dist/i18n-utils.js +204 -0
  123. package/dist/index-3tNJficI.d.cts +117 -0
  124. package/dist/index-3tNJficI.d.ts +117 -0
  125. package/dist/index-BEfvdGE2.d.cts +116 -0
  126. package/dist/index-BEfvdGE2.d.ts +116 -0
  127. package/dist/index-BF6G2RiC.d.cts +1 -0
  128. package/dist/index-BKgxIVbE.d.cts +285 -0
  129. package/dist/index-BMtpmaRD.d.cts +16 -0
  130. package/dist/index-BMtpmaRD.d.ts +16 -0
  131. package/dist/index-BWiYePx8.d.cts +216 -0
  132. package/dist/index-BXfunVyD.d.cts +1342 -0
  133. package/dist/index-BXfunVyD.d.ts +1342 -0
  134. package/dist/index-BdeZuSX6.d.ts +1 -0
  135. package/dist/index-C2865AJq.d.cts +25 -0
  136. package/dist/index-C2865AJq.d.ts +25 -0
  137. package/dist/index-CFoN0L3C.d.ts +285 -0
  138. package/dist/index-vPrqYDHu.d.ts +216 -0
  139. package/dist/index.cjs +19 -0
  140. package/dist/index.d.cts +3 -0
  141. package/dist/index.d.ts +3 -0
  142. package/dist/index.js +3 -0
  143. package/dist/initial-focus-BQxRRFPa.cjs +37 -0
  144. package/dist/initial-focus-BrN5tT2X.js +26 -0
  145. package/dist/interact-outside-BjqIunFx.js +211 -0
  146. package/dist/interact-outside-Dphjr2Zh.cjs +216 -0
  147. package/dist/interact-outside.cjs +3 -0
  148. package/dist/interact-outside.d.cts +2 -0
  149. package/dist/interact-outside.d.ts +2 -0
  150. package/dist/interact-outside.js +2 -0
  151. package/dist/json-tree-utils.cjs +1518 -0
  152. package/dist/json-tree-utils.d.cts +117 -0
  153. package/dist/json-tree-utils.d.ts +117 -0
  154. package/dist/json-tree-utils.js +1469 -0
  155. package/dist/list-collection-D_eNKrot.d.cts +60 -0
  156. package/dist/list-collection-RqYEWHb4.d.ts +60 -0
  157. package/dist/live-region-BD0OgmrH.cjs +68 -0
  158. package/dist/live-region-F8YMmbrY.js +63 -0
  159. package/dist/live-region.cjs +3 -0
  160. package/dist/live-region.d.cts +2 -0
  161. package/dist/live-region.d.ts +2 -0
  162. package/dist/live-region.js +2 -0
  163. package/dist/machines/accordion/index.cjs +328 -0
  164. package/dist/machines/accordion/index.d.cts +83 -0
  165. package/dist/machines/accordion/index.d.ts +83 -0
  166. package/dist/machines/accordion/index.js +321 -0
  167. package/dist/machines/angle-slider/index.cjs +420 -0
  168. package/dist/machines/angle-slider/index.d.cts +84 -0
  169. package/dist/machines/angle-slider/index.d.ts +84 -0
  170. package/dist/machines/angle-slider/index.js +415 -0
  171. package/dist/machines/async-list/index.cjs +310 -0
  172. package/dist/machines/async-list/index.d.cts +90 -0
  173. package/dist/machines/async-list/index.d.ts +90 -0
  174. package/dist/machines/async-list/index.js +308 -0
  175. package/dist/machines/avatar/index.cjs +165 -0
  176. package/dist/machines/avatar/index.d.cts +63 -0
  177. package/dist/machines/avatar/index.d.ts +63 -0
  178. package/dist/machines/avatar/index.js +160 -0
  179. package/dist/machines/carousel/index.cjs +929 -0
  180. package/dist/machines/carousel/index.d.cts +146 -0
  181. package/dist/machines/carousel/index.d.ts +146 -0
  182. package/dist/machines/carousel/index.js +920 -0
  183. package/dist/machines/cascade-select/index.cjs +1426 -0
  184. package/dist/machines/cascade-select/index.d.cts +167 -0
  185. package/dist/machines/cascade-select/index.d.ts +167 -0
  186. package/dist/machines/cascade-select/index.js +1419 -0
  187. package/dist/machines/checkbox/index.cjs +316 -0
  188. package/dist/machines/checkbox/index.d.cts +81 -0
  189. package/dist/machines/checkbox/index.d.ts +81 -0
  190. package/dist/machines/checkbox/index.js +311 -0
  191. package/dist/machines/clipboard/index.cjs +228 -0
  192. package/dist/machines/clipboard/index.d.cts +72 -0
  193. package/dist/machines/clipboard/index.d.ts +72 -0
  194. package/dist/machines/clipboard/index.js +221 -0
  195. package/dist/machines/collapsible/index.cjs +363 -0
  196. package/dist/machines/collapsible/index.d.cts +82 -0
  197. package/dist/machines/collapsible/index.d.ts +82 -0
  198. package/dist/machines/collapsible/index.js +358 -0
  199. package/dist/machines/color-picker/index.cjs +1534 -0
  200. package/dist/machines/color-picker/index.d.cts +207 -0
  201. package/dist/machines/color-picker/index.d.ts +207 -0
  202. package/dist/machines/color-picker/index.js +1518 -0
  203. package/dist/machines/combobox/index.cjs +1554 -0
  204. package/dist/machines/combobox/index.d.cts +219 -0
  205. package/dist/machines/combobox/index.d.ts +219 -0
  206. package/dist/machines/combobox/index.js +1542 -0
  207. package/dist/machines/date-input/index.cjs +1974 -0
  208. package/dist/machines/date-input/index.d.cts +230 -0
  209. package/dist/machines/date-input/index.d.ts +230 -0
  210. package/dist/machines/date-input/index.js +1958 -0
  211. package/dist/machines/date-picker/index.cjs +2424 -0
  212. package/dist/machines/date-picker/index.d.cts +378 -0
  213. package/dist/machines/date-picker/index.d.ts +378 -0
  214. package/dist/machines/date-picker/index.js +2408 -0
  215. package/dist/machines/dialog/index.cjs +378 -0
  216. package/dist/machines/dialog/index.d.cts +94 -0
  217. package/dist/machines/dialog/index.d.ts +94 -0
  218. package/dist/machines/dialog/index.js +373 -0
  219. package/dist/machines/drawer/index.cjs +2066 -0
  220. package/dist/machines/drawer/index.d.cts +334 -0
  221. package/dist/machines/drawer/index.d.ts +334 -0
  222. package/dist/machines/drawer/index.js +2059 -0
  223. package/dist/machines/editable/index.cjs +550 -0
  224. package/dist/machines/editable/index.d.cts +114 -0
  225. package/dist/machines/editable/index.d.ts +114 -0
  226. package/dist/machines/editable/index.js +545 -0
  227. package/dist/machines/file-upload/index.cjs +648 -0
  228. package/dist/machines/file-upload/index.d.cts +150 -0
  229. package/dist/machines/file-upload/index.d.ts +150 -0
  230. package/dist/machines/file-upload/index.js +641 -0
  231. package/dist/machines/floating-panel/index.cjs +1020 -0
  232. package/dist/machines/floating-panel/index.d.cts +149 -0
  233. package/dist/machines/floating-panel/index.d.ts +149 -0
  234. package/dist/machines/floating-panel/index.js +1012 -0
  235. package/dist/machines/hover-card/index.cjs +441 -0
  236. package/dist/machines/hover-card/index.d.cts +82 -0
  237. package/dist/machines/hover-card/index.d.ts +82 -0
  238. package/dist/machines/hover-card/index.js +436 -0
  239. package/dist/machines/image-cropper/index.cjs +2082 -0
  240. package/dist/machines/image-cropper/index.d.cts +182 -0
  241. package/dist/machines/image-cropper/index.d.ts +182 -0
  242. package/dist/machines/image-cropper/index.js +2076 -0
  243. package/dist/machines/listbox/index.cjs +873 -0
  244. package/dist/machines/listbox/index.d.cts +175 -0
  245. package/dist/machines/listbox/index.d.ts +175 -0
  246. package/dist/machines/listbox/index.js +860 -0
  247. package/dist/machines/marquee/index.cjs +387 -0
  248. package/dist/machines/marquee/index.d.cts +102 -0
  249. package/dist/machines/marquee/index.d.ts +102 -0
  250. package/dist/machines/marquee/index.js +382 -0
  251. package/dist/machines/menu/index.cjs +1562 -0
  252. package/dist/machines/menu/index.d.cts +188 -0
  253. package/dist/machines/menu/index.d.ts +188 -0
  254. package/dist/machines/menu/index.js +1549 -0
  255. package/dist/machines/navigation-menu/index.cjs +860 -0
  256. package/dist/machines/navigation-menu/index.d.cts +131 -0
  257. package/dist/machines/navigation-menu/index.d.ts +131 -0
  258. package/dist/machines/navigation-menu/index.js +855 -0
  259. package/dist/machines/number-input/index.cjs +1014 -0
  260. package/dist/machines/number-input/index.d.cts +136 -0
  261. package/dist/machines/number-input/index.d.ts +136 -0
  262. package/dist/machines/number-input/index.js +1009 -0
  263. package/dist/machines/pagination/index.cjs +413 -0
  264. package/dist/machines/pagination/index.d.cts +139 -0
  265. package/dist/machines/pagination/index.d.ts +139 -0
  266. package/dist/machines/pagination/index.js +404 -0
  267. package/dist/machines/password-input/index.cjs +224 -0
  268. package/dist/machines/password-input/index.d.cts +71 -0
  269. package/dist/machines/password-input/index.d.ts +71 -0
  270. package/dist/machines/password-input/index.js +219 -0
  271. package/dist/machines/pin-input/index.cjs +595 -0
  272. package/dist/machines/pin-input/index.d.cts +107 -0
  273. package/dist/machines/pin-input/index.d.ts +107 -0
  274. package/dist/machines/pin-input/index.js +590 -0
  275. package/dist/machines/popover/index.cjs +516 -0
  276. package/dist/machines/popover/index.d.cts +107 -0
  277. package/dist/machines/popover/index.d.ts +107 -0
  278. package/dist/machines/popover/index.js +511 -0
  279. package/dist/machines/presence/index.cjs +193 -0
  280. package/dist/machines/presence/index.d.cts +44 -0
  281. package/dist/machines/presence/index.d.ts +44 -0
  282. package/dist/machines/presence/index.js +190 -0
  283. package/dist/machines/progress/index.cjs +282 -0
  284. package/dist/machines/progress/index.d.cts +96 -0
  285. package/dist/machines/progress/index.d.ts +96 -0
  286. package/dist/machines/progress/index.js +277 -0
  287. package/dist/machines/qr-code/index.cjs +167 -0
  288. package/dist/machines/qr-code/index.d.cts +71 -0
  289. package/dist/machines/qr-code/index.d.ts +71 -0
  290. package/dist/machines/qr-code/index.js +162 -0
  291. package/dist/machines/radio-group/index.cjs +465 -0
  292. package/dist/machines/radio-group/index.d.cts +218 -0
  293. package/dist/machines/radio-group/index.d.ts +218 -0
  294. package/dist/machines/radio-group/index.js +458 -0
  295. package/dist/machines/rating-group/index.cjs +405 -0
  296. package/dist/machines/rating-group/index.d.cts +101 -0
  297. package/dist/machines/rating-group/index.d.ts +101 -0
  298. package/dist/machines/rating-group/index.js +398 -0
  299. package/dist/machines/scroll-area/index.cjs +865 -0
  300. package/dist/machines/scroll-area/index.d.cts +126 -0
  301. package/dist/machines/scroll-area/index.d.ts +126 -0
  302. package/dist/machines/scroll-area/index.js +860 -0
  303. package/dist/machines/select/index.cjs +1226 -0
  304. package/dist/machines/select/index.d.cts +190 -0
  305. package/dist/machines/select/index.d.ts +190 -0
  306. package/dist/machines/select/index.js +1214 -0
  307. package/dist/machines/signature-pad/index.cjs +337 -0
  308. package/dist/machines/signature-pad/index.d.cts +108 -0
  309. package/dist/machines/signature-pad/index.d.ts +108 -0
  310. package/dist/machines/signature-pad/index.js +330 -0
  311. package/dist/machines/slider/index.cjs +1103 -0
  312. package/dist/machines/slider/index.d.cts +154 -0
  313. package/dist/machines/slider/index.d.ts +154 -0
  314. package/dist/machines/slider/index.js +1094 -0
  315. package/dist/machines/splitter/index.cjs +1686 -0
  316. package/dist/machines/splitter/index.d.cts +282 -0
  317. package/dist/machines/splitter/index.d.ts +282 -0
  318. package/dist/machines/splitter/index.js +1675 -0
  319. package/dist/machines/steps/index.cjs +330 -0
  320. package/dist/machines/steps/index.d.cts +109 -0
  321. package/dist/machines/steps/index.d.ts +109 -0
  322. package/dist/machines/steps/index.js +325 -0
  323. package/dist/machines/switch/index.cjs +307 -0
  324. package/dist/machines/switch/index.d.cts +80 -0
  325. package/dist/machines/switch/index.d.ts +80 -0
  326. package/dist/machines/switch/index.js +302 -0
  327. package/dist/machines/tabs/index.cjs +542 -0
  328. package/dist/machines/tabs/index.d.cts +113 -0
  329. package/dist/machines/tabs/index.d.ts +113 -0
  330. package/dist/machines/tabs/index.js +533 -0
  331. package/dist/machines/tags-input/index.cjs +1151 -0
  332. package/dist/machines/tags-input/index.d.cts +182 -0
  333. package/dist/machines/tags-input/index.d.ts +182 -0
  334. package/dist/machines/tags-input/index.js +1144 -0
  335. package/dist/machines/timer/index.cjs +329 -0
  336. package/dist/machines/timer/index.d.cts +102 -0
  337. package/dist/machines/timer/index.d.ts +102 -0
  338. package/dist/machines/timer/index.js +323 -0
  339. package/dist/machines/toast/index.cjs +1185 -0
  340. package/dist/machines/toast/index.d.cts +204 -0
  341. package/dist/machines/toast/index.d.ts +204 -0
  342. package/dist/machines/toast/index.js +1180 -0
  343. package/dist/machines/toc/index.cjs +358 -0
  344. package/dist/machines/toc/index.d.cts +98 -0
  345. package/dist/machines/toc/index.d.ts +98 -0
  346. package/dist/machines/toc/index.js +351 -0
  347. package/dist/machines/toggle/index.cjs +99 -0
  348. package/dist/machines/toggle/index.d.cts +46 -0
  349. package/dist/machines/toggle/index.d.ts +46 -0
  350. package/dist/machines/toggle/index.js +94 -0
  351. package/dist/machines/toggle-group/index.cjs +329 -0
  352. package/dist/machines/toggle-group/index.d.cts +81 -0
  353. package/dist/machines/toggle-group/index.d.ts +81 -0
  354. package/dist/machines/toggle-group/index.js +322 -0
  355. package/dist/machines/tooltip/index.cjs +638 -0
  356. package/dist/machines/tooltip/index.d.cts +84 -0
  357. package/dist/machines/tooltip/index.d.ts +84 -0
  358. package/dist/machines/tooltip/index.js +633 -0
  359. package/dist/machines/tour/index.cjs +1123 -0
  360. package/dist/machines/tour/index.d.cts +207 -0
  361. package/dist/machines/tour/index.d.ts +207 -0
  362. package/dist/machines/tour/index.js +1115 -0
  363. package/dist/machines/tree-view/index.cjs +1288 -0
  364. package/dist/machines/tree-view/index.d.cts +221 -0
  365. package/dist/machines/tree-view/index.d.ts +221 -0
  366. package/dist/machines/tree-view/index.js +1279 -0
  367. package/dist/mutation-observer-_LbwtN3W.cjs +61 -0
  368. package/dist/mutation-observer-qObPUo3D.js +50 -0
  369. package/dist/navigate-CJOaL3vx.js +31 -0
  370. package/dist/navigate-uJG-006f.cjs +42 -0
  371. package/dist/overflow-BBihfMxX.cjs +67 -0
  372. package/dist/overflow-C-zO1CWA.js +44 -0
  373. package/dist/platform-BDB0wXUk.js +26 -0
  374. package/dist/platform-BZS-dkZN.cjs +109 -0
  375. package/dist/point-C9A4dk1i.js +27 -0
  376. package/dist/point-DxnCrJBy.cjs +32 -0
  377. package/dist/pointer-lock-BvfSjt_s.cjs +31 -0
  378. package/dist/pointer-lock-WezxTqu-.js +26 -0
  379. package/dist/pointer-move-CGzan38r.cjs +42 -0
  380. package/dist/pointer-move-Tijb8Ptk.js +37 -0
  381. package/dist/polygon-BvdwYRBw.js +76 -0
  382. package/dist/polygon-CTR1kEoU.cjs +93 -0
  383. package/dist/popper-DkAAS9VE.cjs +487 -0
  384. package/dist/popper-DzBZzAe4.js +464 -0
  385. package/dist/popper.cjs +6 -0
  386. package/dist/popper.d.cts +2 -0
  387. package/dist/popper.d.ts +2 -0
  388. package/dist/popper.js +2 -0
  389. package/dist/press-B7XLrLGR.js +65 -0
  390. package/dist/press-BdD5suLQ.cjs +70 -0
  391. package/dist/proxy-tab-focus-DWMXvAfO.js +54 -0
  392. package/dist/proxy-tab-focus-NthYgHdY.cjs +59 -0
  393. package/dist/raf-BSDcY4UD.cjs +85 -0
  394. package/dist/raf-DgINgykK.d.cts +15 -0
  395. package/dist/raf-DgINgykK.d.ts +15 -0
  396. package/dist/raf-Dhvm7f1e.js +62 -0
  397. package/dist/rect-utils-DiT4k3jS.cjs +548 -0
  398. package/dist/rect-utils-d_3gZVsc.js +459 -0
  399. package/dist/rect-utils.cjs +165 -0
  400. package/dist/rect-utils.d.cts +197 -0
  401. package/dist/rect-utils.d.ts +197 -0
  402. package/dist/rect-utils.js +116 -0
  403. package/dist/remove-scroll-DTVA5f4w.cjs +86 -0
  404. package/dist/remove-scroll-WEheFCiq.js +81 -0
  405. package/dist/remove-scroll.cjs +3 -0
  406. package/dist/remove-scroll.d.cts +4 -0
  407. package/dist/remove-scroll.d.ts +4 -0
  408. package/dist/remove-scroll.js +2 -0
  409. package/dist/rolldown-runtime-D6vf50IK.cjs +28 -0
  410. package/dist/scale-C5BBHVgH.js +17 -0
  411. package/dist/scale-C7iiUGhS.cjs +22 -0
  412. package/dist/scope-CysKlKe9.cjs +28 -0
  413. package/dist/scope-D1873Mzi.js +23 -0
  414. package/dist/scroll-CVJ40w2e.js +46 -0
  415. package/dist/scroll-Dyd1QLrc.cjs +63 -0
  416. package/dist/scroll-snap-Cuaqdevf.cjs +224 -0
  417. package/dist/scroll-snap-DqMiFASa.js +201 -0
  418. package/dist/scroll-snap.cjs +6 -0
  419. package/dist/scroll-snap.d.cts +14 -0
  420. package/dist/scroll-snap.d.ts +14 -0
  421. package/dist/scroll-snap.js +2 -0
  422. package/dist/selection-ClKhnWit.d.cts +49 -0
  423. package/dist/selection-DzLiSVkg.d.ts +49 -0
  424. package/dist/selection-map-962WvX2k.js +45 -0
  425. package/dist/selection-map-BwlZr1LH.cjs +68 -0
  426. package/dist/set-CFNGOW5W.js +50 -0
  427. package/dist/set-DrtWCLFb.cjs +73 -0
  428. package/dist/store-BLpJlMxz.js +257 -0
  429. package/dist/store-Btfrm2bs.cjs +47 -0
  430. package/dist/store-C5HvdLyc.js +42 -0
  431. package/dist/store-Wg8KVwNv.cjs +298 -0
  432. package/dist/store.cjs +9 -0
  433. package/dist/store.d.cts +26 -0
  434. package/dist/store.d.ts +26 -0
  435. package/dist/store.js +2 -0
  436. package/dist/stringify-state.cjs +48 -0
  437. package/dist/stringify-state.d.cts +8 -0
  438. package/dist/stringify-state.d.ts +8 -0
  439. package/dist/stringify-state.js +44 -0
  440. package/dist/tabbable-Bz1-1GAY.cjs +206 -0
  441. package/dist/tabbable-CDA1YMjZ.js +147 -0
  442. package/dist/text-selection-B3OQpQGy.cjs +75 -0
  443. package/dist/text-selection-DXvWvm6k.js +64 -0
  444. package/dist/timers-BRyPrXIX.js +82 -0
  445. package/dist/timers-Beu4SfAj.cjs +99 -0
  446. package/dist/tree-collection-3QX3EIhq.d.ts +77 -0
  447. package/dist/tree-collection-C6oDQGUJ.d.cts +77 -0
  448. package/dist/typeahead-DremEgML.d.cts +45 -0
  449. package/dist/typeahead-DremEgML.d.ts +45 -0
  450. package/dist/types-BFuHIo7S.js +10 -0
  451. package/dist/types-CczqoQLL.d.cts +57 -0
  452. package/dist/types-CczqoQLL.d.ts +57 -0
  453. package/dist/types-CjocssbC.d.cts +13 -0
  454. package/dist/types-CjocssbC.d.ts +13 -0
  455. package/dist/types-D7oF7eWh.d.cts +54 -0
  456. package/dist/types-D7oF7eWh.d.ts +54 -0
  457. package/dist/types-HCvp3Bhv.cjs +21 -0
  458. package/dist/types.cjs +14 -0
  459. package/dist/types.d.cts +6 -0
  460. package/dist/types.d.ts +6 -0
  461. package/dist/types.js +12 -0
  462. package/dist/utils-BH-oBBz2.cjs +614 -0
  463. package/dist/utils-Cht5XaHf.js +267 -0
  464. package/dist/utils.cjs +95 -0
  465. package/dist/utils.d.cts +144 -0
  466. package/dist/utils.d.ts +144 -0
  467. package/dist/utils.js +7 -0
  468. package/dist/visually-hidden-BgSCFLz_.cjs +29 -0
  469. package/dist/visually-hidden-yDJ517KZ.js +18 -0
  470. package/dist/wait-for-3n85JcCU.d.cts +15 -0
  471. package/dist/wait-for-3n85JcCU.d.ts +15 -0
  472. package/dist/wait-for-CI5Ye-Lo.js +69 -0
  473. package/dist/wait-for-Db73VpZQ.cjs +86 -0
  474. package/dist/warning-CrzBpWT1.js +19 -0
  475. package/dist/warning-HAmFXLHm.cjs +42 -0
  476. package/package.json +349 -6
@@ -0,0 +1,487 @@
1
+ import { T as isDocument, g as getDocument, m as getActiveElement } from "./dom-query-e7fh0TEH.js";
2
+ import { a as isControlledElement, i as isControlledByExpandedController, n as getControlledElements, r as hasControllerElements } from "./controller-Dv7lWHDr.js";
3
+ import { s as getEventTarget, t as addDomEvent } from "./event-bTItRgiw.js";
4
+ import { c as getTabbables, l as isFocusable, o as getTabIndex, r as getFocusables, u as isTabbable } from "./tabbable-CDA1YMjZ.js";
5
+ import { i as raf } from "./raf-Dhvm7f1e.js";
6
+ //#region src/common/focus-trap/focus-trap.ts
7
+ const activeFocusTraps = {
8
+ activateTrap(trapStack, trap) {
9
+ if (trapStack.length > 0) {
10
+ const activeTrap = trapStack[trapStack.length - 1];
11
+ if (activeTrap !== trap) activeTrap.pause();
12
+ }
13
+ const trapIndex = trapStack.indexOf(trap);
14
+ if (trapIndex === -1) trapStack.push(trap);
15
+ else {
16
+ trapStack.splice(trapIndex, 1);
17
+ trapStack.push(trap);
18
+ }
19
+ },
20
+ deactivateTrap(trapStack, trap) {
21
+ const trapIndex = trapStack.indexOf(trap);
22
+ if (trapIndex !== -1) trapStack.splice(trapIndex, 1);
23
+ if (trapStack.length > 0) trapStack[trapStack.length - 1].unpause();
24
+ }
25
+ };
26
+ const sharedTrapStack = [];
27
+ var FocusTrap = class {
28
+ trapStack;
29
+ config;
30
+ doc;
31
+ state = {
32
+ containers: [],
33
+ containerGroups: [],
34
+ tabbableGroups: [],
35
+ nodeFocusedBeforeActivation: null,
36
+ mostRecentlyFocusedNode: null,
37
+ active: false,
38
+ paused: false,
39
+ delayInitialFocusTimer: void 0,
40
+ recentNavEvent: void 0
41
+ };
42
+ portalContainers = /* @__PURE__ */ new Set();
43
+ addPortalContainer(controlledElement) {
44
+ const portalContainer = controlledElement.parentElement;
45
+ if (portalContainer && !this.portalContainers.has(portalContainer)) {
46
+ this.portalContainers.add(portalContainer);
47
+ if (this.state.active && !this.state.paused) this.observePortalContainer(portalContainer);
48
+ }
49
+ }
50
+ observePortalContainer(portalContainer) {
51
+ this._mutationObserver?.observe(portalContainer, {
52
+ subtree: true,
53
+ childList: true,
54
+ attributes: true,
55
+ attributeFilter: ["aria-controls", "aria-expanded"]
56
+ });
57
+ }
58
+ updatePortalContainers() {
59
+ if (!this.config.followControlledElements) return;
60
+ this.state.containers.forEach((container) => {
61
+ getControlledElements(container).forEach((controlledElement) => {
62
+ this.addPortalContainer(controlledElement);
63
+ });
64
+ });
65
+ }
66
+ get active() {
67
+ return this.state.active;
68
+ }
69
+ get paused() {
70
+ return this.state.paused;
71
+ }
72
+ constructor(elements, options) {
73
+ this.trapStack = options.trapStack || sharedTrapStack;
74
+ const config = {
75
+ returnFocusOnDeactivate: true,
76
+ escapeDeactivates: true,
77
+ delayInitialFocus: true,
78
+ followControlledElements: true,
79
+ isKeyForward,
80
+ isKeyBackward,
81
+ ...options
82
+ };
83
+ this.doc = config.document || getDocument(Array.isArray(elements) ? elements[0] : elements);
84
+ this.config = config;
85
+ this.updateContainerElements(elements);
86
+ this.setupMutationObserver();
87
+ }
88
+ findContainerIndex(element, event) {
89
+ const composedPath = typeof event?.composedPath === "function" ? event.composedPath() : void 0;
90
+ return this.state.containerGroups.findIndex(({ container, tabbableNodes }) => container.contains(element) || composedPath?.includes(container) || tabbableNodes.find((node) => node === element) || this.isControlledElement(container, element));
91
+ }
92
+ isControlledElement(container, element) {
93
+ if (!this.config.followControlledElements) return false;
94
+ return isControlledElement(container, element);
95
+ }
96
+ updateTabbableNodes() {
97
+ this.state.containerGroups = this.state.containers.map((container) => {
98
+ const tabbableNodes = getTabbables(container, { getShadowRoot: this.config.getShadowRoot });
99
+ const focusableNodes = getFocusables(container, { getShadowRoot: this.config.getShadowRoot });
100
+ const firstTabbableNode = tabbableNodes[0];
101
+ const lastTabbableNode = tabbableNodes[tabbableNodes.length - 1];
102
+ const firstDomTabbableNode = firstTabbableNode;
103
+ const lastDomTabbableNode = lastTabbableNode;
104
+ let posTabIndexesFound = false;
105
+ for (let i = 0; i < tabbableNodes.length; i++) if (getTabIndex(tabbableNodes[i]) > 0) {
106
+ posTabIndexesFound = true;
107
+ break;
108
+ }
109
+ function nextTabbableNode(node, forward = true) {
110
+ const nodeIdx = tabbableNodes.indexOf(node);
111
+ if (nodeIdx >= 0) return tabbableNodes[nodeIdx + (forward ? 1 : -1)];
112
+ const focusableIdx = focusableNodes.indexOf(node);
113
+ if (focusableIdx < 0) return void 0;
114
+ if (forward) {
115
+ for (let i = focusableIdx + 1; i < focusableNodes.length; i++) if (isTabbable(focusableNodes[i])) return focusableNodes[i];
116
+ } else for (let i = focusableIdx - 1; i >= 0; i--) if (isTabbable(focusableNodes[i])) return focusableNodes[i];
117
+ }
118
+ return {
119
+ container,
120
+ tabbableNodes,
121
+ focusableNodes,
122
+ posTabIndexesFound,
123
+ firstTabbableNode,
124
+ lastTabbableNode,
125
+ firstDomTabbableNode,
126
+ lastDomTabbableNode,
127
+ nextTabbableNode
128
+ };
129
+ });
130
+ this.state.tabbableGroups = this.state.containerGroups.filter((group) => group.tabbableNodes.length > 0);
131
+ if (this.state.tabbableGroups.length <= 0 && !this.getNodeForOption("fallbackFocus")) throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");
132
+ if (this.state.containerGroups.find((g) => g.posTabIndexesFound) && this.state.containerGroups.length > 1) throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.");
133
+ }
134
+ listenerCleanups = [];
135
+ addListeners() {
136
+ if (!this.state.active) return;
137
+ activeFocusTraps.activateTrap(this.trapStack, this);
138
+ this.state.delayInitialFocusTimer = this.config.delayInitialFocus ? delay(() => {
139
+ this.tryFocus(this.getInitialFocusNode());
140
+ }) : this.tryFocus(this.getInitialFocusNode());
141
+ this.listenerCleanups.push(addDomEvent(this.doc, "focusin", this.handleFocus, true), addDomEvent(this.doc, "mousedown", this.handlePointerDown, {
142
+ capture: true,
143
+ passive: false
144
+ }), addDomEvent(this.doc, "touchstart", this.handlePointerDown, {
145
+ capture: true,
146
+ passive: false
147
+ }), addDomEvent(this.doc, "click", this.handleClick, {
148
+ capture: true,
149
+ passive: false
150
+ }), addDomEvent(this.doc, "keydown", this.handleTabKey, {
151
+ capture: true,
152
+ passive: false
153
+ }), addDomEvent(this.doc, "keydown", this.handleEscapeKey));
154
+ return this;
155
+ }
156
+ removeListeners() {
157
+ if (!this.state.active) return;
158
+ this.listenerCleanups.forEach((cleanup) => cleanup());
159
+ this.listenerCleanups = [];
160
+ return this;
161
+ }
162
+ handleFocus = (event) => {
163
+ const target = getEventTarget(event);
164
+ const targetContained = this.findContainerIndex(target, event) >= 0;
165
+ if (targetContained || isDocument(target)) {
166
+ if (targetContained) this.state.mostRecentlyFocusedNode = target;
167
+ } else {
168
+ event.stopImmediatePropagation();
169
+ let nextNode;
170
+ let navAcrossContainers = true;
171
+ if (this.state.mostRecentlyFocusedNode) {
172
+ if (getTabIndex(this.state.mostRecentlyFocusedNode) > 0) {
173
+ const mruContainerIdx = this.findContainerIndex(this.state.mostRecentlyFocusedNode);
174
+ const { tabbableNodes } = this.state.containerGroups[mruContainerIdx];
175
+ if (tabbableNodes.length > 0) {
176
+ const mruTabIdx = tabbableNodes.findIndex((node) => node === this.state.mostRecentlyFocusedNode);
177
+ if (mruTabIdx >= 0) {
178
+ if (this.config.isKeyForward(this.state.recentNavEvent)) {
179
+ if (mruTabIdx + 1 < tabbableNodes.length) {
180
+ nextNode = tabbableNodes[mruTabIdx + 1];
181
+ navAcrossContainers = false;
182
+ }
183
+ } else if (mruTabIdx - 1 >= 0) {
184
+ nextNode = tabbableNodes[mruTabIdx - 1];
185
+ navAcrossContainers = false;
186
+ }
187
+ }
188
+ }
189
+ } else if (!this.state.containerGroups.some((g) => g.tabbableNodes.some((n) => getTabIndex(n) > 0))) navAcrossContainers = false;
190
+ } else navAcrossContainers = false;
191
+ if (navAcrossContainers) nextNode = this.findNextNavNode({
192
+ target: this.state.mostRecentlyFocusedNode,
193
+ isBackward: this.config.isKeyBackward(this.state.recentNavEvent)
194
+ });
195
+ if (nextNode) this.tryFocus(nextNode);
196
+ else this.tryFocus(this.state.mostRecentlyFocusedNode || this.getInitialFocusNode());
197
+ }
198
+ this.state.recentNavEvent = void 0;
199
+ };
200
+ handlePointerDown = (event) => {
201
+ const target = getEventTarget(event);
202
+ if (this.findContainerIndex(target, event) >= 0) return;
203
+ if (valueOrHandler(this.config.clickOutsideDeactivates, event)) {
204
+ this.deactivate({ returnFocus: this.config.returnFocusOnDeactivate });
205
+ return;
206
+ }
207
+ if (valueOrHandler(this.config.allowOutsideClick, event)) return;
208
+ event.preventDefault();
209
+ };
210
+ handleClick = (event) => {
211
+ const target = getEventTarget(event);
212
+ if (this.findContainerIndex(target, event) >= 0) return;
213
+ if (valueOrHandler(this.config.clickOutsideDeactivates, event)) return;
214
+ if (valueOrHandler(this.config.allowOutsideClick, event)) return;
215
+ event.preventDefault();
216
+ event.stopImmediatePropagation();
217
+ };
218
+ handleTabKey = (event) => {
219
+ if (this.config.isKeyForward(event) || this.config.isKeyBackward(event)) {
220
+ this.state.recentNavEvent = event;
221
+ const isBackward = this.config.isKeyBackward(event);
222
+ const destinationNode = this.findNextNavNode({
223
+ event,
224
+ isBackward
225
+ });
226
+ if (!destinationNode) return;
227
+ if (isTabEvent(event)) event.preventDefault();
228
+ this.tryFocus(destinationNode);
229
+ }
230
+ };
231
+ handleEscapeKey = (event) => {
232
+ if (isEscapeEvent(event) && valueOrHandler(this.config.escapeDeactivates, event) !== false) {
233
+ event.preventDefault();
234
+ this.deactivate();
235
+ }
236
+ };
237
+ _mutationObserver;
238
+ setupMutationObserver = () => {
239
+ const win = this.doc.defaultView || window;
240
+ this._mutationObserver = new win.MutationObserver((mutations) => {
241
+ if (mutations.some((mutation) => {
242
+ return Array.from(mutation.removedNodes).some((node) => node === this.state.mostRecentlyFocusedNode);
243
+ })) this.tryFocus(this.getInitialFocusNode());
244
+ if (mutations.some((mutation) => {
245
+ if (mutation.type === "attributes" && (mutation.attributeName === "aria-controls" || mutation.attributeName === "aria-expanded")) return true;
246
+ if (mutation.type === "childList" && mutation.addedNodes.length > 0) return Array.from(mutation.addedNodes).some((node) => {
247
+ if (node.nodeType !== Node.ELEMENT_NODE) return false;
248
+ const element = node;
249
+ if (hasControllerElements(element)) return true;
250
+ if (element.id && !this.state.containers.some((c) => c.contains(element))) return isControlledByExpandedController(element);
251
+ return false;
252
+ });
253
+ return false;
254
+ }) && this.state.active && !this.state.paused) {
255
+ this.updateTabbableNodes();
256
+ this.updatePortalContainers();
257
+ }
258
+ });
259
+ };
260
+ updateObservedNodes = () => {
261
+ this._mutationObserver?.disconnect();
262
+ if (this.state.active && !this.state.paused) {
263
+ this.state.containers.map((container) => {
264
+ this._mutationObserver?.observe(container, {
265
+ subtree: true,
266
+ childList: true,
267
+ attributes: true,
268
+ attributeFilter: ["aria-controls", "aria-expanded"]
269
+ });
270
+ });
271
+ this.portalContainers.forEach((portalContainer) => {
272
+ this.observePortalContainer(portalContainer);
273
+ });
274
+ }
275
+ };
276
+ getInitialFocusNode = () => {
277
+ let node = this.getNodeForOption("initialFocus", { hasFallback: true });
278
+ if (node === false) return false;
279
+ if (node === void 0 || node && !isFocusable(node)) {
280
+ const activeElement = getActiveElement(this.doc);
281
+ if (activeElement && this.findContainerIndex(activeElement) >= 0) node = activeElement;
282
+ else {
283
+ const firstTabbableGroup = this.state.tabbableGroups[0];
284
+ node = firstTabbableGroup && firstTabbableGroup.firstTabbableNode || this.getNodeForOption("fallbackFocus");
285
+ }
286
+ } else if (node === null) node = this.getNodeForOption("fallbackFocus");
287
+ if (!node) throw new Error("Your focus-trap needs to have at least one focusable element");
288
+ if (!node.isConnected) node = this.getNodeForOption("fallbackFocus");
289
+ if (!node || !node.isConnected) throw new Error("Your focus-trap needs to have at least one focusable element");
290
+ return node;
291
+ };
292
+ tryFocus = (node) => {
293
+ if (node === false) return;
294
+ if (node === getActiveElement(this.doc)) return;
295
+ if (!node || !node.focus) {
296
+ this.tryFocus(this.getInitialFocusNode());
297
+ return;
298
+ }
299
+ node.focus({ preventScroll: !!this.config.preventScroll });
300
+ this.state.mostRecentlyFocusedNode = node;
301
+ if (isSelectableInput(node)) node.select();
302
+ };
303
+ activate(activateOptions) {
304
+ if (this.state.active) return this;
305
+ const onActivate = this.getOption(activateOptions, "onActivate");
306
+ const onPostActivate = this.getOption(activateOptions, "onPostActivate");
307
+ const checkCanFocusTrap = this.getOption(activateOptions, "checkCanFocusTrap");
308
+ if (!checkCanFocusTrap) this.updateTabbableNodes();
309
+ this.state.active = true;
310
+ this.state.paused = false;
311
+ this.state.nodeFocusedBeforeActivation = getActiveElement(this.doc);
312
+ onActivate?.();
313
+ const finishActivation = () => {
314
+ if (checkCanFocusTrap) this.updateTabbableNodes();
315
+ this.addListeners();
316
+ this.updateObservedNodes();
317
+ onPostActivate?.();
318
+ };
319
+ if (checkCanFocusTrap) {
320
+ checkCanFocusTrap(this.state.containers.concat()).then(finishActivation, finishActivation);
321
+ return this;
322
+ }
323
+ finishActivation();
324
+ return this;
325
+ }
326
+ deactivate = (deactivateOptions) => {
327
+ if (!this.state.active) return this;
328
+ const options = {
329
+ onDeactivate: this.config.onDeactivate,
330
+ onPostDeactivate: this.config.onPostDeactivate,
331
+ checkCanReturnFocus: this.config.checkCanReturnFocus,
332
+ ...deactivateOptions
333
+ };
334
+ clearTimeout(this.state.delayInitialFocusTimer);
335
+ this.state.delayInitialFocusTimer = void 0;
336
+ this.removeListeners();
337
+ this.state.active = false;
338
+ this.state.paused = false;
339
+ this.updateObservedNodes();
340
+ activeFocusTraps.deactivateTrap(this.trapStack, this);
341
+ this.portalContainers.clear();
342
+ const onDeactivate = this.getOption(options, "onDeactivate");
343
+ const onPostDeactivate = this.getOption(options, "onPostDeactivate");
344
+ const checkCanReturnFocus = this.getOption(options, "checkCanReturnFocus");
345
+ const returnFocus = this.getOption(options, "returnFocus", "returnFocusOnDeactivate");
346
+ onDeactivate?.();
347
+ const finishDeactivation = () => {
348
+ delay(() => {
349
+ if (returnFocus) {
350
+ const returnFocusNode = this.getReturnFocusNode(this.state.nodeFocusedBeforeActivation);
351
+ this.tryFocus(returnFocusNode);
352
+ }
353
+ onPostDeactivate?.();
354
+ });
355
+ };
356
+ if (returnFocus && checkCanReturnFocus) {
357
+ checkCanReturnFocus(this.getReturnFocusNode(this.state.nodeFocusedBeforeActivation)).then(finishDeactivation, finishDeactivation);
358
+ return this;
359
+ }
360
+ finishDeactivation();
361
+ return this;
362
+ };
363
+ pause = (pauseOptions) => {
364
+ if (this.state.paused || !this.state.active) return this;
365
+ const onPause = this.getOption(pauseOptions, "onPause");
366
+ const onPostPause = this.getOption(pauseOptions, "onPostPause");
367
+ this.state.paused = true;
368
+ onPause?.();
369
+ this.removeListeners();
370
+ this.updateObservedNodes();
371
+ onPostPause?.();
372
+ return this;
373
+ };
374
+ unpause = (unpauseOptions) => {
375
+ if (!this.state.paused || !this.state.active) return this;
376
+ const onUnpause = this.getOption(unpauseOptions, "onUnpause");
377
+ const onPostUnpause = this.getOption(unpauseOptions, "onPostUnpause");
378
+ this.state.paused = false;
379
+ onUnpause?.();
380
+ this.updateTabbableNodes();
381
+ this.addListeners();
382
+ this.updateObservedNodes();
383
+ onPostUnpause?.();
384
+ return this;
385
+ };
386
+ updateContainerElements = (containerElements) => {
387
+ this.state.containers = Array.isArray(containerElements) ? containerElements.filter(Boolean) : [containerElements].filter(Boolean);
388
+ if (this.state.active) this.updateTabbableNodes();
389
+ this.updateObservedNodes();
390
+ return this;
391
+ };
392
+ getReturnFocusNode = (previousActiveElement) => {
393
+ const node = this.getNodeForOption("setReturnFocus", { params: [previousActiveElement] });
394
+ return node ? node : node === false ? false : previousActiveElement;
395
+ };
396
+ getOption = (configOverrideOptions, optionName, configOptionName) => {
397
+ return configOverrideOptions && configOverrideOptions[optionName] !== void 0 ? configOverrideOptions[optionName] : this.config[configOptionName || optionName];
398
+ };
399
+ getNodeForOption = (optionName, { hasFallback = false, params = [] } = {}) => {
400
+ let optionValue = this.config[optionName];
401
+ if (typeof optionValue === "function") optionValue = optionValue(...params);
402
+ if (optionValue === true) optionValue = void 0;
403
+ if (!optionValue) {
404
+ if (optionValue === void 0 || optionValue === false) return optionValue;
405
+ throw new Error(`\`${optionName}\` was specified but was not a node, or did not return a node`);
406
+ }
407
+ let node = optionValue;
408
+ if (typeof optionValue === "string") {
409
+ try {
410
+ node = this.doc.querySelector(optionValue);
411
+ } catch (err) {
412
+ throw new Error(`\`${optionName}\` appears to be an invalid selector; error="${err.message}"`);
413
+ }
414
+ if (!node) {
415
+ if (!hasFallback) throw new Error(`\`${optionName}\` as selector refers to no known node`);
416
+ }
417
+ }
418
+ return node;
419
+ };
420
+ findNextNavNode = (opts) => {
421
+ const { event, isBackward = false } = opts;
422
+ const target = opts.target || getEventTarget(event);
423
+ this.updateTabbableNodes();
424
+ let destinationNode = null;
425
+ if (this.state.tabbableGroups.length > 0) {
426
+ const containerIndex = this.findContainerIndex(target, event);
427
+ const containerGroup = containerIndex >= 0 ? this.state.containerGroups[containerIndex] : void 0;
428
+ if (containerIndex < 0) if (isBackward) destinationNode = this.state.tabbableGroups[this.state.tabbableGroups.length - 1].lastTabbableNode;
429
+ else destinationNode = this.state.tabbableGroups[0].firstTabbableNode;
430
+ else if (isBackward) {
431
+ let startOfGroupIndex = this.state.tabbableGroups.findIndex(({ firstTabbableNode }) => target === firstTabbableNode);
432
+ if (startOfGroupIndex < 0 && (containerGroup?.container === target || isFocusable(target) && !isTabbable(target) && !containerGroup?.nextTabbableNode(target, false))) startOfGroupIndex = containerIndex;
433
+ if (startOfGroupIndex >= 0) {
434
+ const destinationGroupIndex = startOfGroupIndex === 0 ? this.state.tabbableGroups.length - 1 : startOfGroupIndex - 1;
435
+ const destinationGroup = this.state.tabbableGroups[destinationGroupIndex];
436
+ destinationNode = getTabIndex(target) >= 0 ? destinationGroup.lastTabbableNode : destinationGroup.lastDomTabbableNode;
437
+ } else if (!isTabEvent(event)) destinationNode = containerGroup?.nextTabbableNode(target, false);
438
+ } else {
439
+ let lastOfGroupIndex = this.state.tabbableGroups.findIndex(({ lastTabbableNode }) => target === lastTabbableNode);
440
+ if (lastOfGroupIndex < 0 && (containerGroup?.container === target || isFocusable(target) && !isTabbable(target) && !containerGroup?.nextTabbableNode(target))) lastOfGroupIndex = containerIndex;
441
+ if (lastOfGroupIndex >= 0) {
442
+ const destinationGroupIndex = lastOfGroupIndex === this.state.tabbableGroups.length - 1 ? 0 : lastOfGroupIndex + 1;
443
+ const destinationGroup = this.state.tabbableGroups[destinationGroupIndex];
444
+ destinationNode = getTabIndex(target) >= 0 ? destinationGroup.firstTabbableNode : destinationGroup.firstDomTabbableNode;
445
+ } else if (!isTabEvent(event)) destinationNode = containerGroup?.nextTabbableNode(target);
446
+ }
447
+ } else destinationNode = this.getNodeForOption("fallbackFocus");
448
+ return destinationNode;
449
+ };
450
+ };
451
+ const isKeyboardEvent = (event) => event?.type === "keydown";
452
+ const isTabEvent = (event) => isKeyboardEvent(event) && event?.key === "Tab";
453
+ const isKeyForward = (e) => isKeyboardEvent(e) && e.key === "Tab" && !e?.shiftKey;
454
+ const isKeyBackward = (e) => isKeyboardEvent(e) && e.key === "Tab" && e?.shiftKey;
455
+ const valueOrHandler = (value, ...params) => typeof value === "function" ? value(...params) : value;
456
+ const isEscapeEvent = (event) => !event.isComposing && event.key === "Escape";
457
+ const delay = (fn) => setTimeout(fn, 0);
458
+ const isSelectableInput = (node) => node.localName === "input" && "select" in node && typeof node.select === "function";
459
+ //#endregion
460
+ //#region src/common/focus-trap/index.ts
461
+ function trapFocus(el, options = {}) {
462
+ let trap;
463
+ const cleanup = raf(() => {
464
+ const resolvedElements = (Array.isArray(el) ? el : [el]).map((e) => typeof e === "function" ? e() : e).filter((e) => e != null);
465
+ if (resolvedElements.length === 0) return;
466
+ const primaryEl = resolvedElements[0];
467
+ trap = new FocusTrap(resolvedElements, {
468
+ escapeDeactivates: false,
469
+ allowOutsideClick: true,
470
+ preventScroll: true,
471
+ returnFocusOnDeactivate: true,
472
+ delayInitialFocus: false,
473
+ fallbackFocus: primaryEl,
474
+ ...options,
475
+ document: getDocument(primaryEl)
476
+ });
477
+ try {
478
+ trap.activate();
479
+ } catch {}
480
+ });
481
+ return function destroy() {
482
+ trap?.deactivate();
483
+ cleanup();
484
+ };
485
+ }
486
+ //#endregion
487
+ export { FocusTrap as n, trapFocus as t };