@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,860 @@
1
+ import { t as createAnatomy } from "../../create-anatomy-B2q3wiaw.js";
2
+ import { E as isEditableElement, L as ariaAttr, p as contains, t as getByTypeahead, z as dataAttr } from "../../dom-query-e7fh0TEH.js";
3
+ import { c as getNativeEvent, d as isCtrlOrMetaKey, f as isDownloadingEvent, g as isOpeningInNewTab, l as isComposingEvent, r as getEventKey, s as getEventTarget, u as isContextMenuEvent } from "../../event-bTItRgiw.js";
4
+ import { i as raf } from "../../raf-Dhvm7f1e.js";
5
+ import { t as observeAttributes } from "../../mutation-observer-qObPUo3D.js";
6
+ import { n as scrollIntoView } from "../../scroll-CVJ40w2e.js";
7
+ import { t as isEqual } from "../../equal-DtrP8DPh.js";
8
+ import { n as createSplitProps } from "../../utils-Cht5XaHf.js";
9
+ import { t as ensure } from "../../warning-CrzBpWT1.js";
10
+ import { a as GridCollection, i as Selection, o as isGridCollection, s as ListCollection } from "../../collection-CJU0oDtX.js";
11
+ import { n as deriveSelectionState, r as resolveSelectedItems, t as createSelectedItemMap } from "../../selection-map-962WvX2k.js";
12
+ import { i as setup } from "../../core-CJ0MZr3D.js";
13
+ import { a as setInteractionModality, o as trackFocusVisible, t as getInteractionModality } from "../../focus-visible-DWdQf__4.js";
14
+ import { t as createProps } from "../../create-props-CgtcN_Qu.js";
15
+ //#region src/machines/listbox/anatomy.ts
16
+ const anatomy = createAnatomy("listbox").parts("label", "input", "item", "itemText", "itemIndicator", "itemGroup", "itemGroupLabel", "content", "root", "valueText");
17
+ const parts = anatomy.build();
18
+ //#endregion
19
+ //#region src/machines/listbox/collection.ts
20
+ const collection = (options) => {
21
+ return new ListCollection(options);
22
+ };
23
+ collection.empty = () => {
24
+ return new ListCollection({ items: [] });
25
+ };
26
+ const gridCollection = (options) => {
27
+ return new GridCollection(options);
28
+ };
29
+ gridCollection.empty = () => {
30
+ return new GridCollection({
31
+ items: [],
32
+ columnCount: 0
33
+ });
34
+ };
35
+ //#endregion
36
+ //#region src/machines/listbox/dom.ts
37
+ const getRootId = (ctx) => ctx.ids?.root ?? `listbox:${ctx.id}`;
38
+ const getContentId = (ctx) => ctx.ids?.content ?? `listbox:${ctx.id}:content`;
39
+ const getLabelId = (ctx) => ctx.ids?.label ?? `listbox:${ctx.id}:label`;
40
+ const getItemId = (ctx, id) => ctx.ids?.item?.(id) ?? `listbox:${ctx.id}:item:${id}`;
41
+ const getItemGroupId = (ctx, id) => ctx.ids?.itemGroup?.(id) ?? `listbox:${ctx.id}:item-group:${id}`;
42
+ const getItemGroupLabelId = (ctx, id) => ctx.ids?.itemGroupLabel?.(id) ?? `listbox:${ctx.id}:item-group-label:${id}`;
43
+ const getContentEl = (ctx) => ctx.getById(getContentId(ctx));
44
+ const getItemEl = (ctx, id) => ctx.getById(getItemId(ctx, id));
45
+ //#endregion
46
+ //#region src/machines/listbox/connect.ts
47
+ function connect(service, normalize) {
48
+ const { context, prop, scope, computed, send, refs } = service;
49
+ const disabled = prop("disabled");
50
+ const collection = prop("collection");
51
+ const layout = isGridCollection(collection) ? "grid" : "list";
52
+ const focused = context.get("focused");
53
+ const focusVisible = refs.get("focusVisible") && focused;
54
+ const inputState = refs.get("inputState");
55
+ const value = context.get("value");
56
+ const selectedItems = computed("selectedItems");
57
+ const highlightedValue = context.get("highlightedValue");
58
+ const highlightedItem = context.get("highlightedItem");
59
+ const isTypingAhead = computed("isTypingAhead");
60
+ const interactive = computed("isInteractive");
61
+ const ariaActiveDescendant = highlightedValue ? getItemId(scope, highlightedValue) : void 0;
62
+ function getItemState(props) {
63
+ const itemDisabled = collection.getItemDisabled(props.item);
64
+ const value = collection.getItemValue(props.item);
65
+ ensure(value, () => `[wirekyt] No value found for item ${JSON.stringify(props.item)}`);
66
+ const highlighted = highlightedValue === value;
67
+ return {
68
+ value,
69
+ disabled: Boolean(disabled || itemDisabled),
70
+ focused: highlighted && focused,
71
+ focusVisible: highlighted && focusVisible,
72
+ highlighted: highlighted && (inputState.focused ? focused : focusVisible),
73
+ selected: context.get("value").includes(value)
74
+ };
75
+ }
76
+ return {
77
+ empty: value.length === 0,
78
+ highlightedItem,
79
+ highlightedValue,
80
+ clearHighlightedValue() {
81
+ send({
82
+ type: "HIGHLIGHTED_VALUE.SET",
83
+ value: null
84
+ });
85
+ },
86
+ selectedItems,
87
+ hasSelectedItems: computed("hasSelectedItems"),
88
+ value,
89
+ valueAsString: computed("valueAsString"),
90
+ collection,
91
+ disabled: !!disabled,
92
+ selectValue(value) {
93
+ send({
94
+ type: "ITEM.SELECT",
95
+ value
96
+ });
97
+ },
98
+ setValue(value) {
99
+ send({
100
+ type: "VALUE.SET",
101
+ value
102
+ });
103
+ },
104
+ selectAll() {
105
+ if (!computed("multiple")) throw new Error("[wirekyt] Cannot select all items in a single-select listbox");
106
+ send({
107
+ type: "VALUE.SET",
108
+ value: collection.getValues()
109
+ });
110
+ },
111
+ highlightValue(value) {
112
+ send({
113
+ type: "HIGHLIGHTED_VALUE.SET",
114
+ value
115
+ });
116
+ },
117
+ highlightFirst() {
118
+ send({ type: "HIGHLIGHT.FIRST" });
119
+ },
120
+ highlightLast() {
121
+ send({ type: "HIGHLIGHT.LAST" });
122
+ },
123
+ highlightNext() {
124
+ send({ type: "HIGHLIGHT.NEXT" });
125
+ },
126
+ highlightPrevious() {
127
+ send({ type: "HIGHLIGHT.PREV" });
128
+ },
129
+ clearValue(value) {
130
+ if (value) send({
131
+ type: "ITEM.CLEAR",
132
+ value
133
+ });
134
+ else send({ type: "VALUE.CLEAR" });
135
+ },
136
+ getItemState,
137
+ getRootProps() {
138
+ return normalize.element({
139
+ ...parts.root.attrs,
140
+ dir: prop("dir"),
141
+ id: getRootId(scope),
142
+ "data-orientation": prop("orientation"),
143
+ "data-disabled": dataAttr(disabled)
144
+ });
145
+ },
146
+ getInputProps(props = {}) {
147
+ const keyboardPriority = props.keyboardPriority ?? "caret";
148
+ return normalize.input({
149
+ ...parts.input.attrs,
150
+ dir: prop("dir"),
151
+ disabled,
152
+ "data-disabled": dataAttr(disabled),
153
+ autoComplete: "off",
154
+ autoCorrect: "off",
155
+ "aria-haspopup": "listbox",
156
+ "aria-controls": getContentId(scope),
157
+ "aria-autocomplete": "list",
158
+ "aria-activedescendant": ariaActiveDescendant,
159
+ spellCheck: false,
160
+ enterKeyHint: "go",
161
+ onFocus() {
162
+ queueMicrotask(() => {
163
+ send({
164
+ type: "INPUT.FOCUS",
165
+ autoHighlight: !!props?.autoHighlight
166
+ });
167
+ });
168
+ },
169
+ onBlur() {
170
+ send({
171
+ type: "CONTENT.BLUR",
172
+ src: "input"
173
+ });
174
+ },
175
+ onInput(event) {
176
+ if (!props?.autoHighlight) return;
177
+ if (event.currentTarget.value.trim()) return;
178
+ queueMicrotask(() => {
179
+ send({
180
+ type: "HIGHLIGHTED_VALUE.SET",
181
+ value: null
182
+ });
183
+ });
184
+ },
185
+ onKeyDown(event) {
186
+ if (event.defaultPrevented) return;
187
+ if (isComposingEvent(event)) return;
188
+ const nativeEvent = getNativeEvent(event);
189
+ const forwardEvent = () => {
190
+ event.preventDefault();
191
+ const keyboardEvent = new (scope.getWin()).KeyboardEvent(nativeEvent.type, nativeEvent);
192
+ getContentEl(scope)?.dispatchEvent(keyboardEvent);
193
+ };
194
+ switch (nativeEvent.key) {
195
+ case "ArrowLeft":
196
+ case "ArrowRight":
197
+ if (!isGridCollection(collection)) return;
198
+ if (event.ctrlKey) return;
199
+ if (keyboardPriority !== "navigate") return;
200
+ forwardEvent();
201
+ break;
202
+ case "Home":
203
+ case "End":
204
+ if (keyboardPriority !== "navigate") return;
205
+ if (highlightedValue == null && event.shiftKey) return;
206
+ forwardEvent();
207
+ break;
208
+ case "ArrowDown":
209
+ case "ArrowUp":
210
+ forwardEvent();
211
+ break;
212
+ case "Enter":
213
+ if (highlightedValue != null) {
214
+ event.preventDefault();
215
+ send({
216
+ type: "ITEM.CLICK",
217
+ value: highlightedValue
218
+ });
219
+ }
220
+ break;
221
+ default: break;
222
+ }
223
+ }
224
+ });
225
+ },
226
+ getLabelProps() {
227
+ return normalize.element({
228
+ dir: prop("dir"),
229
+ id: getLabelId(scope),
230
+ ...parts.label.attrs,
231
+ "data-disabled": dataAttr(disabled)
232
+ });
233
+ },
234
+ getValueTextProps() {
235
+ return normalize.element({
236
+ ...parts.valueText.attrs,
237
+ dir: prop("dir"),
238
+ "data-disabled": dataAttr(disabled)
239
+ });
240
+ },
241
+ getItemProps(props) {
242
+ const itemState = getItemState(props);
243
+ return normalize.element({
244
+ id: getItemId(scope, itemState.value),
245
+ role: "option",
246
+ ...parts.item.attrs,
247
+ dir: prop("dir"),
248
+ "data-value": itemState.value,
249
+ "aria-selected": itemState.selected,
250
+ "data-selected": dataAttr(itemState.selected),
251
+ "data-layout": layout,
252
+ "data-state": itemState.selected ? "checked" : "unchecked",
253
+ "data-orientation": prop("orientation"),
254
+ "data-highlighted": dataAttr(itemState.highlighted),
255
+ "data-disabled": dataAttr(itemState.disabled),
256
+ "aria-disabled": ariaAttr(itemState.disabled),
257
+ onPointerMove(event) {
258
+ if (!props.highlightOnHover) return;
259
+ if (itemState.disabled || event.pointerType !== "mouse") return;
260
+ if (itemState.highlighted) return;
261
+ send({
262
+ type: "ITEM.POINTER_MOVE",
263
+ value: itemState.value
264
+ });
265
+ },
266
+ onMouseDown(event) {
267
+ event.preventDefault();
268
+ getContentEl(scope)?.focus();
269
+ },
270
+ onClick(event) {
271
+ if (event.defaultPrevented) return;
272
+ if (isDownloadingEvent(event)) return;
273
+ if (isOpeningInNewTab(event)) return;
274
+ if (isContextMenuEvent(event)) return;
275
+ if (itemState.disabled) return;
276
+ send({
277
+ type: "ITEM.CLICK",
278
+ value: itemState.value,
279
+ shiftKey: event.shiftKey,
280
+ anchorValue: highlightedValue,
281
+ metaKey: isCtrlOrMetaKey(event)
282
+ });
283
+ }
284
+ });
285
+ },
286
+ getItemTextProps(props) {
287
+ const itemState = getItemState(props);
288
+ return normalize.element({
289
+ ...parts.itemText.attrs,
290
+ "data-state": itemState.selected ? "checked" : "unchecked",
291
+ "data-disabled": dataAttr(itemState.disabled),
292
+ "data-highlighted": dataAttr(itemState.highlighted)
293
+ });
294
+ },
295
+ getItemIndicatorProps(props) {
296
+ const itemState = getItemState(props);
297
+ return normalize.element({
298
+ ...parts.itemIndicator.attrs,
299
+ "aria-hidden": true,
300
+ "data-state": itemState.selected ? "checked" : "unchecked",
301
+ hidden: !itemState.selected
302
+ });
303
+ },
304
+ getItemGroupLabelProps(props) {
305
+ const { htmlFor } = props;
306
+ return normalize.element({
307
+ ...parts.itemGroupLabel.attrs,
308
+ id: getItemGroupLabelId(scope, htmlFor),
309
+ dir: prop("dir"),
310
+ role: "presentation"
311
+ });
312
+ },
313
+ getItemGroupProps(props) {
314
+ const { id } = props;
315
+ return normalize.element({
316
+ ...parts.itemGroup.attrs,
317
+ "data-disabled": dataAttr(disabled),
318
+ "data-orientation": prop("orientation"),
319
+ "data-empty": dataAttr(collection.size === 0),
320
+ id: getItemGroupId(scope, id),
321
+ "aria-labelledby": getItemGroupLabelId(scope, id),
322
+ role: "group",
323
+ dir: prop("dir")
324
+ });
325
+ },
326
+ getContentProps() {
327
+ return normalize.element({
328
+ dir: prop("dir"),
329
+ id: getContentId(scope),
330
+ role: "listbox",
331
+ ...parts.content.attrs,
332
+ "data-activedescendant": ariaActiveDescendant,
333
+ "aria-activedescendant": ariaActiveDescendant,
334
+ "data-orientation": prop("orientation"),
335
+ "aria-multiselectable": computed("multiple") ? true : void 0,
336
+ "aria-labelledby": getLabelId(scope),
337
+ tabIndex: 0,
338
+ "data-layout": layout,
339
+ "data-empty": dataAttr(collection.size === 0),
340
+ style: { "--column-count": isGridCollection(collection) ? collection.columnCount : 1 },
341
+ onFocus() {
342
+ send({ type: "CONTENT.FOCUS" });
343
+ },
344
+ onBlur() {
345
+ send({ type: "CONTENT.BLUR" });
346
+ },
347
+ onKeyDown(event) {
348
+ if (!interactive) return;
349
+ const target = getEventTarget(event);
350
+ if (!contains(event.currentTarget, getEventTarget(event))) return;
351
+ const shiftKey = event.shiftKey;
352
+ const keyMap = {
353
+ ArrowUp(event) {
354
+ let nextValue = null;
355
+ if (isGridCollection(collection) && highlightedValue) nextValue = collection.getPreviousRowValue(highlightedValue);
356
+ else if (highlightedValue) nextValue = collection.getPreviousValue(highlightedValue);
357
+ if (!nextValue && (prop("loopFocus") || !highlightedValue)) nextValue = collection.lastValue;
358
+ if (!nextValue) return;
359
+ event.preventDefault();
360
+ send({
361
+ type: "NAVIGATE",
362
+ value: nextValue,
363
+ shiftKey,
364
+ anchorValue: highlightedValue
365
+ });
366
+ },
367
+ ArrowDown(event) {
368
+ let nextValue = null;
369
+ if (isGridCollection(collection) && highlightedValue) nextValue = collection.getNextRowValue(highlightedValue);
370
+ else if (highlightedValue) nextValue = collection.getNextValue(highlightedValue);
371
+ if (!nextValue && (prop("loopFocus") || !highlightedValue)) nextValue = collection.firstValue;
372
+ if (!nextValue) return;
373
+ event.preventDefault();
374
+ send({
375
+ type: "NAVIGATE",
376
+ value: nextValue,
377
+ shiftKey,
378
+ anchorValue: highlightedValue
379
+ });
380
+ },
381
+ ArrowLeft() {
382
+ if (!isGridCollection(collection) && prop("orientation") === "vertical") return;
383
+ let nextValue = highlightedValue ? collection.getPreviousValue(highlightedValue) : null;
384
+ if (!nextValue && prop("loopFocus")) nextValue = collection.lastValue;
385
+ if (!nextValue) return;
386
+ event.preventDefault();
387
+ send({
388
+ type: "NAVIGATE",
389
+ value: nextValue,
390
+ shiftKey,
391
+ anchorValue: highlightedValue
392
+ });
393
+ },
394
+ ArrowRight() {
395
+ if (!isGridCollection(collection) && prop("orientation") === "vertical") return;
396
+ let nextValue = highlightedValue ? collection.getNextValue(highlightedValue) : null;
397
+ if (!nextValue && prop("loopFocus")) nextValue = collection.firstValue;
398
+ if (!nextValue) return;
399
+ event.preventDefault();
400
+ send({
401
+ type: "NAVIGATE",
402
+ value: nextValue,
403
+ shiftKey,
404
+ anchorValue: highlightedValue
405
+ });
406
+ },
407
+ Home(event) {
408
+ if (isEditableElement(target)) return;
409
+ event.preventDefault();
410
+ let nextValue = collection.firstValue;
411
+ send({
412
+ type: "NAVIGATE",
413
+ value: nextValue,
414
+ shiftKey,
415
+ anchorValue: highlightedValue
416
+ });
417
+ },
418
+ End(event) {
419
+ if (isEditableElement(target)) return;
420
+ event.preventDefault();
421
+ let nextValue = collection.lastValue;
422
+ send({
423
+ type: "NAVIGATE",
424
+ value: nextValue,
425
+ shiftKey,
426
+ anchorValue: highlightedValue
427
+ });
428
+ },
429
+ Enter() {
430
+ send({
431
+ type: "ITEM.CLICK",
432
+ value: highlightedValue
433
+ });
434
+ },
435
+ a(event) {
436
+ if (isCtrlOrMetaKey(event) && computed("multiple") && !prop("disallowSelectAll")) {
437
+ event.preventDefault();
438
+ send({
439
+ type: "VALUE.SET",
440
+ value: collection.getValues()
441
+ });
442
+ }
443
+ },
444
+ Space(event) {
445
+ if (isTypingAhead && prop("typeahead")) send({
446
+ type: "CONTENT.TYPEAHEAD",
447
+ key: event.key
448
+ });
449
+ else keyMap.Enter?.(event);
450
+ },
451
+ Escape(event) {
452
+ if (prop("deselectable") && value.length > 0) {
453
+ event.preventDefault();
454
+ event.stopPropagation();
455
+ send({ type: "VALUE.CLEAR" });
456
+ }
457
+ }
458
+ };
459
+ const exec = keyMap[getEventKey(event)];
460
+ if (exec) {
461
+ exec(event);
462
+ return;
463
+ }
464
+ if (isEditableElement(target)) return;
465
+ if (getByTypeahead.isValidEvent(event) && prop("typeahead")) {
466
+ send({
467
+ type: "CONTENT.TYPEAHEAD",
468
+ key: event.key
469
+ });
470
+ event.preventDefault();
471
+ }
472
+ }
473
+ });
474
+ }
475
+ };
476
+ }
477
+ //#endregion
478
+ //#region src/machines/listbox/machine.ts
479
+ const { guards, createMachine } = setup();
480
+ const { or } = guards;
481
+ const machine = createMachine({
482
+ props({ props }) {
483
+ return {
484
+ loopFocus: false,
485
+ composite: true,
486
+ defaultValue: [],
487
+ multiple: false,
488
+ typeahead: true,
489
+ collection: collection.empty(),
490
+ orientation: "vertical",
491
+ selectionMode: "single",
492
+ ...props
493
+ };
494
+ },
495
+ context({ prop, bindable, getContext }) {
496
+ const initialValue = prop("value") ?? prop("defaultValue") ?? [];
497
+ const initialSelectedItems = prop("collection").findMany(initialValue);
498
+ return {
499
+ value: bindable(() => ({
500
+ defaultValue: prop("defaultValue"),
501
+ value: prop("value"),
502
+ isEqual,
503
+ onChange(value) {
504
+ const context = getContext();
505
+ const collection = prop("collection");
506
+ const proposed = deriveSelectionState({
507
+ values: value,
508
+ collection,
509
+ selectedItemMap: context.get("selectedItemMap")
510
+ });
511
+ const effectiveValue = prop("value") ?? value;
512
+ const effective = effectiveValue === value ? proposed : deriveSelectionState({
513
+ values: effectiveValue,
514
+ collection,
515
+ selectedItemMap: proposed.nextSelectedItemMap
516
+ });
517
+ context.set("selectedItemMap", effective.nextSelectedItemMap);
518
+ return prop("onValueChange")?.({
519
+ value,
520
+ items: proposed.selectedItems
521
+ });
522
+ }
523
+ })),
524
+ highlightedValue: bindable(() => ({
525
+ defaultValue: prop("defaultHighlightedValue") || null,
526
+ value: prop("highlightedValue"),
527
+ sync: true,
528
+ onChange(value) {
529
+ prop("onHighlightChange")?.({
530
+ highlightedValue: value,
531
+ highlightedItem: prop("collection").find(value),
532
+ highlightedIndex: prop("collection").indexOf(value)
533
+ });
534
+ }
535
+ })),
536
+ highlightedItem: bindable(() => ({ defaultValue: null })),
537
+ selectedItemMap: bindable(() => {
538
+ return { defaultValue: createSelectedItemMap({
539
+ selectedItems: initialSelectedItems,
540
+ collection: prop("collection")
541
+ }) };
542
+ }),
543
+ focused: bindable(() => ({
544
+ sync: true,
545
+ defaultValue: false
546
+ }))
547
+ };
548
+ },
549
+ refs() {
550
+ return {
551
+ typeahead: { ...getByTypeahead.defaultOptions },
552
+ focusVisible: false,
553
+ inputState: {
554
+ autoHighlight: false,
555
+ focused: false
556
+ }
557
+ };
558
+ },
559
+ computed: {
560
+ hasSelectedItems: ({ context }) => context.get("value").length > 0,
561
+ isTypingAhead: ({ refs }) => refs.get("typeahead").keysSoFar !== "",
562
+ isInteractive: ({ prop }) => !prop("disabled"),
563
+ selection: ({ context, prop }) => {
564
+ const selection = new Selection(context.get("value"));
565
+ selection.selectionMode = prop("selectionMode");
566
+ selection.deselectable = !!prop("deselectable");
567
+ return selection;
568
+ },
569
+ multiple: ({ prop }) => prop("selectionMode") === "multiple" || prop("selectionMode") === "extended",
570
+ selectedItems: ({ context, prop }) => resolveSelectedItems({
571
+ values: context.get("value"),
572
+ collection: prop("collection"),
573
+ selectedItemMap: context.get("selectedItemMap")
574
+ }),
575
+ valueAsString: ({ computed, prop }) => prop("collection").stringifyItems(computed("selectedItems"))
576
+ },
577
+ initialState() {
578
+ return "idle";
579
+ },
580
+ watch({ context, prop, track, action }) {
581
+ track([() => context.get("value").toString()], () => {
582
+ action(["syncSelectedItems"]);
583
+ });
584
+ track([() => context.get("highlightedValue")], () => {
585
+ action(["syncHighlightedItem"]);
586
+ });
587
+ track([() => prop("collection").toString()], () => {
588
+ action(["syncHighlightedValue"]);
589
+ });
590
+ },
591
+ effects: ["trackFocusVisible"],
592
+ on: {
593
+ "HIGHLIGHTED_VALUE.SET": { actions: ["setHighlightedItem"] },
594
+ "ITEM.SELECT": { actions: ["selectItem"] },
595
+ "ITEM.CLEAR": { actions: ["clearItem"] },
596
+ "VALUE.SET": { actions: ["setSelectedItems"] },
597
+ "VALUE.CLEAR": { actions: ["clearSelectedItems"] },
598
+ "HIGHLIGHT.FIRST": { actions: ["highlightFirstValue"] },
599
+ "HIGHLIGHT.LAST": { actions: ["highlightLastValue"] },
600
+ "HIGHLIGHT.NEXT": { actions: ["highlightNextValue"] },
601
+ "HIGHLIGHT.PREV": { actions: ["highlightPreviousValue"] }
602
+ },
603
+ states: { idle: {
604
+ effects: ["scrollToHighlightedItem"],
605
+ on: {
606
+ "INPUT.FOCUS": { actions: ["setFocused", "setInputState"] },
607
+ "CONTENT.FOCUS": [{
608
+ guard: or("hasSelectedValue", "hasHighlightedValue"),
609
+ actions: ["setFocused"]
610
+ }, { actions: ["setFocused", "setDefaultHighlightedValue"] }],
611
+ "CONTENT.BLUR": { actions: ["clearFocused", "clearInputState"] },
612
+ "ITEM.CLICK": { actions: ["setHighlightedItem", "selectHighlightedItem"] },
613
+ "CONTENT.TYPEAHEAD": { actions: ["setFocused", "highlightMatchingItem"] },
614
+ "ITEM.POINTER_MOVE": { actions: ["highlightItem"] },
615
+ "ITEM.POINTER_LEAVE": { actions: ["clearHighlightedItem"] },
616
+ NAVIGATE: { actions: [
617
+ "setFocused",
618
+ "setHighlightedItem",
619
+ "selectWithKeyboard"
620
+ ] }
621
+ }
622
+ } },
623
+ implementations: {
624
+ guards: {
625
+ hasSelectedValue: ({ context }) => context.get("value").length > 0,
626
+ hasHighlightedValue: ({ context }) => context.get("highlightedValue") != null
627
+ },
628
+ effects: {
629
+ trackFocusVisible: ({ scope, refs }) => {
630
+ return trackFocusVisible({
631
+ root: scope.getRootNode?.(),
632
+ onChange(details) {
633
+ refs.set("focusVisible", details.isFocusVisible);
634
+ }
635
+ });
636
+ },
637
+ scrollToHighlightedItem({ context, prop, scope }) {
638
+ const exec = (immediate) => {
639
+ const highlightedValue = context.get("highlightedValue");
640
+ if (highlightedValue == null) return;
641
+ if (getInteractionModality() === "pointer") return;
642
+ const contentEl = getContentEl(scope);
643
+ const scrollToIndexFn = prop("scrollToIndexFn");
644
+ if (scrollToIndexFn) {
645
+ const highlightedIndex = prop("collection").indexOf(highlightedValue);
646
+ scrollToIndexFn?.({
647
+ index: highlightedIndex,
648
+ immediate,
649
+ getElement() {
650
+ return getItemEl(scope, highlightedValue);
651
+ }
652
+ });
653
+ return;
654
+ }
655
+ scrollIntoView(getItemEl(scope, highlightedValue), {
656
+ rootEl: contentEl,
657
+ block: "nearest"
658
+ });
659
+ };
660
+ raf(() => {
661
+ setInteractionModality("virtual");
662
+ exec(true);
663
+ });
664
+ const contentEl = () => getContentEl(scope);
665
+ return observeAttributes(contentEl, {
666
+ defer: true,
667
+ attributes: ["data-activedescendant"],
668
+ callback() {
669
+ exec(false);
670
+ }
671
+ });
672
+ }
673
+ },
674
+ actions: {
675
+ selectHighlightedItem({ context, prop, event, computed }) {
676
+ const value = event.value ?? context.get("highlightedValue");
677
+ const collection = prop("collection");
678
+ if (value == null || !collection.has(value)) return;
679
+ const selection = computed("selection");
680
+ if (event.shiftKey && computed("multiple") && event.anchorValue) {
681
+ const next = selection.extendSelection(collection, event.anchorValue, value);
682
+ invokeOnSelect(selection, next, prop("onSelect"));
683
+ context.set("value", Array.from(next));
684
+ } else {
685
+ const next = selection.select(collection, value, event.metaKey);
686
+ invokeOnSelect(selection, next, prop("onSelect"));
687
+ context.set("value", Array.from(next));
688
+ }
689
+ },
690
+ selectWithKeyboard({ context, prop, event, computed }) {
691
+ const selection = computed("selection");
692
+ const collection = prop("collection");
693
+ if (event.shiftKey && computed("multiple") && event.anchorValue) {
694
+ const next = selection.extendSelection(collection, event.anchorValue, event.value);
695
+ invokeOnSelect(selection, next, prop("onSelect"));
696
+ context.set("value", Array.from(next));
697
+ return;
698
+ }
699
+ if (prop("selectOnHighlight")) {
700
+ const next = selection.replaceSelection(collection, event.value);
701
+ invokeOnSelect(selection, next, prop("onSelect"));
702
+ context.set("value", Array.from(next));
703
+ }
704
+ },
705
+ highlightItem({ context, event }) {
706
+ context.set("highlightedValue", event.value);
707
+ },
708
+ highlightMatchingItem({ context, prop, event, refs }) {
709
+ const value = prop("collection").search(event.key, {
710
+ state: refs.get("typeahead"),
711
+ currentValue: context.get("highlightedValue")
712
+ });
713
+ if (value == null) return;
714
+ context.set("highlightedValue", value);
715
+ },
716
+ setHighlightedItem({ context, event }) {
717
+ context.set("highlightedValue", event.value);
718
+ },
719
+ highlightFirstValue({ context, prop }) {
720
+ context.set("highlightedValue", prop("collection").firstValue ?? null);
721
+ },
722
+ highlightLastValue({ context, prop }) {
723
+ context.set("highlightedValue", prop("collection").lastValue ?? null);
724
+ },
725
+ highlightNextValue({ context, prop }) {
726
+ const collection = prop("collection");
727
+ const highlightedValue = context.get("highlightedValue");
728
+ let nextValue = null;
729
+ if (isGridCollection(collection) && highlightedValue) nextValue = collection.getNextRowValue(highlightedValue);
730
+ else if (highlightedValue) nextValue = collection.getNextValue(highlightedValue);
731
+ if (!nextValue && (prop("loopFocus") || !highlightedValue)) nextValue = collection.firstValue;
732
+ if (!nextValue) return;
733
+ context.set("highlightedValue", nextValue);
734
+ },
735
+ highlightPreviousValue({ context, prop }) {
736
+ const collection = prop("collection");
737
+ const highlightedValue = context.get("highlightedValue");
738
+ let nextValue = null;
739
+ if (isGridCollection(collection) && highlightedValue) nextValue = collection.getPreviousRowValue(highlightedValue);
740
+ else if (highlightedValue) nextValue = collection.getPreviousValue(highlightedValue);
741
+ if (!nextValue && (prop("loopFocus") || !highlightedValue)) nextValue = collection.lastValue;
742
+ if (!nextValue) return;
743
+ context.set("highlightedValue", nextValue);
744
+ },
745
+ clearHighlightedItem({ context }) {
746
+ context.set("highlightedValue", null);
747
+ },
748
+ selectItem({ context, prop, event, computed }) {
749
+ const collection = prop("collection");
750
+ const selection = computed("selection");
751
+ const next = selection.select(collection, event.value);
752
+ invokeOnSelect(selection, next, prop("onSelect"));
753
+ context.set("value", Array.from(next));
754
+ },
755
+ clearItem({ context, event, computed }) {
756
+ const value = computed("selection").deselect(event.value);
757
+ context.set("value", Array.from(value));
758
+ },
759
+ setSelectedItems({ context, event }) {
760
+ context.set("value", event.value);
761
+ },
762
+ clearSelectedItems({ context }) {
763
+ context.set("value", []);
764
+ },
765
+ syncSelectedItems({ context, prop }) {
766
+ const next = deriveSelectionState({
767
+ values: context.get("value"),
768
+ collection: prop("collection"),
769
+ selectedItemMap: context.get("selectedItemMap")
770
+ });
771
+ context.set("selectedItemMap", next.nextSelectedItemMap);
772
+ },
773
+ syncHighlightedItem({ context, prop }) {
774
+ const collection = prop("collection");
775
+ const highlightedValue = context.get("highlightedValue");
776
+ const highlightedItem = highlightedValue ? collection.find(highlightedValue) : null;
777
+ context.set("highlightedItem", highlightedItem);
778
+ },
779
+ syncHighlightedValue({ context, prop, refs }) {
780
+ const collection = prop("collection");
781
+ const highlightedValue = context.get("highlightedValue");
782
+ const { autoHighlight } = refs.get("inputState");
783
+ if (autoHighlight) {
784
+ queueMicrotask(() => {
785
+ context.set("highlightedValue", prop("collection").firstValue ?? null);
786
+ });
787
+ return;
788
+ }
789
+ if (highlightedValue != null && !collection.has(highlightedValue)) queueMicrotask(() => {
790
+ context.set("highlightedValue", null);
791
+ });
792
+ },
793
+ setFocused({ context }) {
794
+ context.set("focused", true);
795
+ },
796
+ setDefaultHighlightedValue({ context, prop }) {
797
+ const firstValue = prop("collection").firstValue;
798
+ if (firstValue != null) context.set("highlightedValue", firstValue);
799
+ },
800
+ clearFocused({ context }) {
801
+ context.set("focused", false);
802
+ },
803
+ setInputState({ refs, event }) {
804
+ refs.set("inputState", {
805
+ autoHighlight: !!event.autoHighlight,
806
+ focused: true
807
+ });
808
+ },
809
+ clearInputState({ refs }) {
810
+ refs.set("inputState", {
811
+ autoHighlight: false,
812
+ focused: false
813
+ });
814
+ }
815
+ }
816
+ }
817
+ });
818
+ const diff = (a, b) => {
819
+ const result = new Set(a);
820
+ for (const item of b) result.delete(item);
821
+ return result;
822
+ };
823
+ function invokeOnSelect(current, next, onSelect) {
824
+ const added = diff(next, current);
825
+ for (const item of added) onSelect?.({ value: item });
826
+ }
827
+ //#endregion
828
+ //#region src/machines/listbox/props.ts
829
+ const props = createProps()([
830
+ "collection",
831
+ "defaultHighlightedValue",
832
+ "defaultValue",
833
+ "dir",
834
+ "disabled",
835
+ "deselectable",
836
+ "disallowSelectAll",
837
+ "getRootNode",
838
+ "highlightedValue",
839
+ "id",
840
+ "ids",
841
+ "loopFocus",
842
+ "onHighlightChange",
843
+ "onSelect",
844
+ "onValueChange",
845
+ "orientation",
846
+ "scrollToIndexFn",
847
+ "selectionMode",
848
+ "selectOnHighlight",
849
+ "typeahead",
850
+ "value"
851
+ ]);
852
+ const splitProps = createSplitProps(props);
853
+ const itemProps = createProps()(["item", "highlightOnHover"]);
854
+ const splitItemProps = createSplitProps(itemProps);
855
+ const itemGroupProps = createProps()(["id"]);
856
+ const splitItemGroupProps = createSplitProps(itemGroupProps);
857
+ const itemGroupLabelProps = createProps()(["htmlFor"]);
858
+ const splitItemGroupLabelProps = createSplitProps(itemGroupLabelProps);
859
+ //#endregion
860
+ export { anatomy, collection, connect, gridCollection, itemGroupLabelProps, itemGroupProps, itemProps, machine, props, splitItemGroupLabelProps, splitItemGroupProps, splitItemProps, splitProps };