@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,641 @@
1
+ import { t as createAnatomy } from "../../create-anatomy-B2q3wiaw.js";
2
+ import { S as getWindow, p as contains, z as dataAttr } from "../../dom-query-e7fh0TEH.js";
3
+ import { s as getEventTarget, t as addDomEvent } from "../../event-bTItRgiw.js";
4
+ import { i as raf } from "../../raf-Dhvm7f1e.js";
5
+ import { n as visuallyHiddenStyle } from "../../visually-hidden-yDJ517KZ.js";
6
+ import { s as flatArray } from "../../array-C4KbHsha.js";
7
+ import { B as hash, L as callAll, n as createSplitProps } from "../../utils-Cht5XaHf.js";
8
+ import { i as warn } from "../../warning-CrzBpWT1.js";
9
+ import { r as createMachine } from "../../core-CJ0MZr3D.js";
10
+ import { a as getAcceptAttrString, i as isFileEqual, o as getFileEntries, r as isValidFileSize, t as isValidFileType } from "../../file-utils-6EXCdfHx.js";
11
+ import { c as formatBytes } from "../../i18n-utils-C4FQZ39m.js";
12
+ import { t as createProps } from "../../create-props-CgtcN_Qu.js";
13
+ //#region src/machines/file-upload/anatomy.ts
14
+ const anatomy = createAnatomy("file-upload").parts("root", "dropzone", "item", "itemDeleteTrigger", "itemGroup", "itemName", "itemPreview", "itemPreviewImage", "itemSizeText", "label", "trigger", "clearTrigger");
15
+ const parts = anatomy.build();
16
+ //#endregion
17
+ //#region src/machines/file-upload/dom.ts
18
+ const getRootId = (ctx) => ctx.ids?.root ?? `file-upload:${ctx.id}`;
19
+ const getDropzoneId = (ctx) => ctx.ids?.dropzone ?? `file-upload:${ctx.id}:dropzone`;
20
+ const getHiddenInputId = (ctx) => ctx.ids?.hiddenInput ?? `file-upload:${ctx.id}:input`;
21
+ const getTriggerId = (ctx) => ctx.ids?.trigger ?? `file-upload:${ctx.id}:trigger`;
22
+ const getLabelId = (ctx) => ctx.ids?.label ?? `file-upload:${ctx.id}:label`;
23
+ const getItemId = (ctx, id) => ctx.ids?.item?.(id) ?? `file-upload:${ctx.id}:item:${id}`;
24
+ const getItemNameId = (ctx, id) => ctx.ids?.itemName?.(id) ?? `file-upload:${ctx.id}:item-name:${id}`;
25
+ const getItemSizeTextId = (ctx, id) => ctx.ids?.itemSizeText?.(id) ?? `file-upload:${ctx.id}:item-size:${id}`;
26
+ const getItemPreviewId = (ctx, id) => ctx.ids?.itemPreview?.(id) ?? `file-upload:${ctx.id}:item-preview:${id}`;
27
+ const getItemDeleteTriggerId = (ctx, id) => ctx.ids?.itemDeleteTrigger?.(id) ?? `file-upload:${ctx.id}:item-delete:${id}`;
28
+ const getFileId = (file) => hash(`${file.name}-${file.size}`);
29
+ const getRootEl = (ctx) => ctx.getById(getRootId(ctx));
30
+ const getHiddenInputEl = (ctx) => ctx.getById(getHiddenInputId(ctx));
31
+ const getDropzoneEl = (ctx) => ctx.getById(getDropzoneId(ctx));
32
+ //#endregion
33
+ //#region src/machines/file-upload/utils.ts
34
+ function isEventWithFiles(event) {
35
+ const target = getEventTarget(event);
36
+ if (!event.dataTransfer) return !!target && "files" in target;
37
+ return event.dataTransfer.types.some((type) => {
38
+ return type === "Files" || type === "application/x-moz-file";
39
+ });
40
+ }
41
+ function isFilesWithinRange(ctx, incomingCount, currentAcceptedFiles) {
42
+ const { prop, computed } = ctx;
43
+ if (!computed("multiple") && incomingCount > 1) return false;
44
+ if (!computed("multiple") && incomingCount + currentAcceptedFiles.length === 2) return true;
45
+ if (incomingCount + currentAcceptedFiles.length > prop("maxFiles")) return false;
46
+ return true;
47
+ }
48
+ function getEventFiles(ctx, files, currentAcceptedFiles = [], currentRejectedFiles = []) {
49
+ const { prop, computed } = ctx;
50
+ const acceptedFiles = [];
51
+ const rejectedFiles = [];
52
+ const validateParams = {
53
+ acceptedFiles: currentAcceptedFiles,
54
+ rejectedFiles: currentRejectedFiles
55
+ };
56
+ files.forEach((file) => {
57
+ const [accepted, acceptError] = isValidFileType(file, computed("acceptAttr"));
58
+ const [sizeMatch, sizeError] = isValidFileSize(file, prop("minFileSize"), prop("maxFileSize"));
59
+ const isDuplicate = currentAcceptedFiles.some((f) => isFileEqual(f, file)) || acceptedFiles.some((f) => isFileEqual(f, file));
60
+ const validateErrors = prop("validate")?.(file, validateParams);
61
+ const valid = validateErrors ? validateErrors.length === 0 : true;
62
+ if (accepted && sizeMatch && valid && !isDuplicate) acceptedFiles.push(file);
63
+ else {
64
+ const errors = [acceptError, sizeError];
65
+ if (isDuplicate) errors.push("FILE_EXISTS");
66
+ if (!valid) errors.push(...validateErrors ?? []);
67
+ rejectedFiles.push({
68
+ file,
69
+ errors: errors.filter(Boolean)
70
+ });
71
+ }
72
+ });
73
+ if (!isFilesWithinRange(ctx, acceptedFiles.length, currentAcceptedFiles)) {
74
+ acceptedFiles.forEach((file) => {
75
+ rejectedFiles.push({
76
+ file,
77
+ errors: ["TOO_MANY_FILES"]
78
+ });
79
+ });
80
+ acceptedFiles.splice(0);
81
+ }
82
+ return {
83
+ acceptedFiles,
84
+ rejectedFiles
85
+ };
86
+ }
87
+ function setInputFiles(inputEl, files) {
88
+ const win = getWindow(inputEl);
89
+ try {
90
+ if ("DataTransfer" in win) {
91
+ const dataTransfer = new win.DataTransfer();
92
+ files.forEach((file) => {
93
+ dataTransfer.items.add(file);
94
+ });
95
+ inputEl.files = dataTransfer.files;
96
+ }
97
+ } catch {}
98
+ }
99
+ //#endregion
100
+ //#region src/machines/file-upload/connect.ts
101
+ const DEFAULT_ITEM_TYPE = "accepted";
102
+ const INTERACTIVE_SELECTOR = "button, a[href], input:not([type='file']), select, textarea, [tabindex], [contenteditable]";
103
+ function isInteractiveTarget(element, container) {
104
+ if (!element || element.getAttribute("type") === "file") return false;
105
+ const interactive = element.closest(INTERACTIVE_SELECTOR);
106
+ return interactive != container && contains(container, interactive);
107
+ }
108
+ function connect(service, normalize) {
109
+ const { state, send, prop, computed, scope, context } = service;
110
+ const disabled = !!prop("disabled");
111
+ const readOnly = !!prop("readOnly");
112
+ const required = !!prop("required");
113
+ const allowDrop = prop("allowDrop");
114
+ const translations = prop("translations");
115
+ const dragging = state.matches("dragging");
116
+ const focused = state.matches("focused") && !disabled;
117
+ const acceptedFiles = context.get("acceptedFiles");
118
+ const maxFiles = prop("maxFiles");
119
+ return {
120
+ dragging,
121
+ focused,
122
+ disabled,
123
+ readOnly,
124
+ transforming: context.get("transforming"),
125
+ maxFilesReached: acceptedFiles.length >= maxFiles,
126
+ remainingFiles: Math.max(0, maxFiles - acceptedFiles.length),
127
+ openFilePicker() {
128
+ if (disabled || readOnly) return;
129
+ send({ type: "OPEN" });
130
+ },
131
+ deleteFile(file, type = DEFAULT_ITEM_TYPE) {
132
+ if (disabled || readOnly) return;
133
+ send({
134
+ type: "FILE.DELETE",
135
+ file,
136
+ itemType: type
137
+ });
138
+ },
139
+ acceptedFiles,
140
+ rejectedFiles: context.get("rejectedFiles"),
141
+ setFiles(files) {
142
+ if (disabled || readOnly) return;
143
+ send({
144
+ type: "FILES.SET",
145
+ files,
146
+ count: files.length
147
+ });
148
+ },
149
+ clearRejectedFiles() {
150
+ if (disabled || readOnly) return;
151
+ send({ type: "REJECTED_FILES.CLEAR" });
152
+ },
153
+ clearFiles() {
154
+ if (disabled || readOnly) return;
155
+ send({ type: "FILES.CLEAR" });
156
+ },
157
+ getFileSize(file) {
158
+ return formatBytes(file.size, prop("locale"));
159
+ },
160
+ createFileUrl(file, cb) {
161
+ const win = scope.getWin();
162
+ const url = win.URL.createObjectURL(file);
163
+ cb(url);
164
+ return () => win.URL.revokeObjectURL(url);
165
+ },
166
+ setClipboardFiles(dt) {
167
+ if (disabled || readOnly) return false;
168
+ const files = Array.from(dt?.items ?? []).reduce((acc, item) => {
169
+ if (item.kind !== "file") return acc;
170
+ const file = item.getAsFile();
171
+ if (!file) return acc;
172
+ return [...acc, file];
173
+ }, []);
174
+ if (!files.length) return false;
175
+ send({
176
+ type: "FILE.SELECT",
177
+ files
178
+ });
179
+ return true;
180
+ },
181
+ getRootProps() {
182
+ return normalize.element({
183
+ ...parts.root.attrs,
184
+ dir: prop("dir"),
185
+ id: getRootId(scope),
186
+ "data-disabled": dataAttr(disabled),
187
+ "data-readonly": dataAttr(readOnly),
188
+ "data-dragging": dataAttr(dragging)
189
+ });
190
+ },
191
+ getDropzoneProps(props = {}) {
192
+ return normalize.element({
193
+ ...parts.dropzone.attrs,
194
+ dir: prop("dir"),
195
+ id: getDropzoneId(scope),
196
+ tabIndex: disabled || readOnly || props.disableClick ? void 0 : 0,
197
+ role: props.disableClick ? "application" : "button",
198
+ "aria-label": translations.dropzone,
199
+ "aria-disabled": disabled || readOnly || void 0,
200
+ "data-invalid": dataAttr(prop("invalid")),
201
+ "data-disabled": dataAttr(disabled),
202
+ "data-readonly": dataAttr(readOnly),
203
+ "data-dragging": dataAttr(dragging),
204
+ onKeyDown(event) {
205
+ if (disabled || readOnly) return;
206
+ if (event.defaultPrevented) return;
207
+ const target = getEventTarget(event);
208
+ if (!contains(event.currentTarget, target)) return;
209
+ if (isInteractiveTarget(target, event.currentTarget)) return;
210
+ if (props.disableClick) return;
211
+ if (event.key !== "Enter" && event.key !== " ") return;
212
+ send({
213
+ type: "DROPZONE.CLICK",
214
+ src: "keydown"
215
+ });
216
+ },
217
+ onClick(event) {
218
+ if (disabled || readOnly) return;
219
+ if (event.defaultPrevented) return;
220
+ if (props.disableClick) return;
221
+ const target = getEventTarget(event);
222
+ if (!contains(event.currentTarget, target)) return;
223
+ if (isInteractiveTarget(target, event.currentTarget)) return;
224
+ if (event.currentTarget.localName === "label") event.preventDefault();
225
+ send({ type: "DROPZONE.CLICK" });
226
+ },
227
+ onDragOver(event) {
228
+ if (disabled || readOnly) return;
229
+ if (!allowDrop) return;
230
+ event.preventDefault();
231
+ event.stopPropagation();
232
+ try {
233
+ event.dataTransfer.dropEffect = "copy";
234
+ } catch {}
235
+ if (!isEventWithFiles(event)) return;
236
+ const count = event.dataTransfer.items.length;
237
+ send({
238
+ type: "DROPZONE.DRAG_OVER",
239
+ count
240
+ });
241
+ },
242
+ onDragLeave(event) {
243
+ if (disabled || readOnly) return;
244
+ if (!allowDrop) return;
245
+ if (contains(event.currentTarget, event.relatedTarget)) return;
246
+ send({ type: "DROPZONE.DRAG_LEAVE" });
247
+ },
248
+ onDrop(event) {
249
+ if (disabled || readOnly) return;
250
+ if (allowDrop) {
251
+ event.preventDefault();
252
+ event.stopPropagation();
253
+ }
254
+ if (!isEventWithFiles(event)) return;
255
+ getFileEntries(event.dataTransfer.items, prop("directory")).then((files) => {
256
+ send({
257
+ type: "DROPZONE.DROP",
258
+ files: flatArray(files)
259
+ });
260
+ });
261
+ },
262
+ onFocus() {
263
+ if (disabled || readOnly) return;
264
+ send({ type: "DROPZONE.FOCUS" });
265
+ },
266
+ onBlur() {
267
+ if (disabled || readOnly) return;
268
+ send({ type: "DROPZONE.BLUR" });
269
+ }
270
+ });
271
+ },
272
+ getTriggerProps() {
273
+ return normalize.button({
274
+ ...parts.trigger.attrs,
275
+ dir: prop("dir"),
276
+ id: getTriggerId(scope),
277
+ disabled: disabled || readOnly,
278
+ "data-disabled": dataAttr(disabled),
279
+ "data-readonly": dataAttr(readOnly),
280
+ "data-invalid": dataAttr(prop("invalid")),
281
+ type: "button",
282
+ onClick(event) {
283
+ if (disabled || readOnly) return;
284
+ if (contains(getDropzoneEl(scope), event.currentTarget)) event.stopPropagation();
285
+ send({ type: "OPEN" });
286
+ }
287
+ });
288
+ },
289
+ getHiddenInputProps() {
290
+ return normalize.input({
291
+ id: getHiddenInputId(scope),
292
+ tabIndex: -1,
293
+ disabled: disabled || readOnly,
294
+ type: "file",
295
+ required: prop("required"),
296
+ capture: prop("capture"),
297
+ name: prop("name"),
298
+ accept: computed("acceptAttr"),
299
+ webkitdirectory: prop("directory") ? "" : void 0,
300
+ multiple: computed("multiple") || prop("maxFiles") > 1,
301
+ "aria-hidden": true,
302
+ onClick(event) {
303
+ event.stopPropagation();
304
+ event.currentTarget.value = "";
305
+ },
306
+ onInput(event) {
307
+ if (disabled || readOnly) return;
308
+ const { files } = event.currentTarget;
309
+ send({
310
+ type: "FILE.SELECT",
311
+ files: files ? Array.from(files) : []
312
+ });
313
+ },
314
+ style: visuallyHiddenStyle
315
+ });
316
+ },
317
+ getItemGroupProps(props = {}) {
318
+ const { type = DEFAULT_ITEM_TYPE } = props;
319
+ return normalize.element({
320
+ ...parts.itemGroup.attrs,
321
+ dir: prop("dir"),
322
+ "data-disabled": dataAttr(disabled),
323
+ "data-type": type
324
+ });
325
+ },
326
+ getItemProps(props) {
327
+ const { file, type = DEFAULT_ITEM_TYPE } = props;
328
+ return normalize.element({
329
+ ...parts.item.attrs,
330
+ dir: prop("dir"),
331
+ id: getItemId(scope, getFileId(file)),
332
+ "data-disabled": dataAttr(disabled),
333
+ "data-type": type
334
+ });
335
+ },
336
+ getItemNameProps(props) {
337
+ const { file, type = DEFAULT_ITEM_TYPE } = props;
338
+ return normalize.element({
339
+ ...parts.itemName.attrs,
340
+ dir: prop("dir"),
341
+ id: getItemNameId(scope, getFileId(file)),
342
+ "data-disabled": dataAttr(disabled),
343
+ "data-type": type
344
+ });
345
+ },
346
+ getItemSizeTextProps(props) {
347
+ const { file, type = DEFAULT_ITEM_TYPE } = props;
348
+ return normalize.element({
349
+ ...parts.itemSizeText.attrs,
350
+ dir: prop("dir"),
351
+ id: getItemSizeTextId(scope, getFileId(file)),
352
+ "data-disabled": dataAttr(disabled),
353
+ "data-type": type
354
+ });
355
+ },
356
+ getItemPreviewProps(props) {
357
+ const { file, type = DEFAULT_ITEM_TYPE } = props;
358
+ return normalize.element({
359
+ ...parts.itemPreview.attrs,
360
+ dir: prop("dir"),
361
+ id: getItemPreviewId(scope, getFileId(file)),
362
+ "data-disabled": dataAttr(disabled),
363
+ "data-type": type
364
+ });
365
+ },
366
+ getItemPreviewImageProps(props) {
367
+ const { file, url, type = DEFAULT_ITEM_TYPE } = props;
368
+ if (!file.type.startsWith("image/")) throw new Error("Preview Image is only supported for image files");
369
+ return normalize.img({
370
+ ...parts.itemPreviewImage.attrs,
371
+ alt: translations.itemPreview?.(file),
372
+ src: url,
373
+ "data-disabled": dataAttr(disabled),
374
+ "data-type": type
375
+ });
376
+ },
377
+ getItemDeleteTriggerProps(props) {
378
+ const { file, type = DEFAULT_ITEM_TYPE } = props;
379
+ return normalize.button({
380
+ ...parts.itemDeleteTrigger.attrs,
381
+ dir: prop("dir"),
382
+ id: getItemDeleteTriggerId(scope, getFileId(file)),
383
+ type: "button",
384
+ disabled: disabled || readOnly,
385
+ "data-disabled": dataAttr(disabled),
386
+ "data-readonly": dataAttr(readOnly),
387
+ "data-type": type,
388
+ "aria-label": translations.deleteFile?.(file),
389
+ onClick() {
390
+ if (disabled || readOnly) return;
391
+ send({
392
+ type: "FILE.DELETE",
393
+ file,
394
+ itemType: type
395
+ });
396
+ }
397
+ });
398
+ },
399
+ getLabelProps() {
400
+ return normalize.label({
401
+ ...parts.label.attrs,
402
+ dir: prop("dir"),
403
+ id: getLabelId(scope),
404
+ htmlFor: getHiddenInputId(scope),
405
+ "data-disabled": dataAttr(disabled),
406
+ "data-required": dataAttr(required)
407
+ });
408
+ },
409
+ getClearTriggerProps() {
410
+ return normalize.button({
411
+ ...parts.clearTrigger.attrs,
412
+ dir: prop("dir"),
413
+ type: "button",
414
+ disabled: disabled || readOnly,
415
+ hidden: acceptedFiles.length === 0,
416
+ "data-disabled": dataAttr(disabled),
417
+ "data-readonly": dataAttr(readOnly),
418
+ onClick(event) {
419
+ if (event.defaultPrevented) return;
420
+ if (disabled || readOnly) return;
421
+ send({ type: "FILES.CLEAR" });
422
+ }
423
+ });
424
+ }
425
+ };
426
+ }
427
+ //#endregion
428
+ //#region src/machines/file-upload/machine.ts
429
+ const machine = createMachine({
430
+ props({ props }) {
431
+ return {
432
+ minFileSize: 0,
433
+ maxFileSize: Number.POSITIVE_INFINITY,
434
+ maxFiles: 1,
435
+ allowDrop: true,
436
+ preventDocumentDrop: true,
437
+ defaultAcceptedFiles: [],
438
+ ...props,
439
+ translations: {
440
+ dropzone: "dropzone",
441
+ itemPreview: (file) => `preview of ${file.name}`,
442
+ deleteFile: (file) => `delete file ${file.name}`,
443
+ ...props.translations
444
+ }
445
+ };
446
+ },
447
+ initialState() {
448
+ return "idle";
449
+ },
450
+ context({ prop, bindable, getContext }) {
451
+ return {
452
+ acceptedFiles: bindable(() => ({
453
+ defaultValue: prop("defaultAcceptedFiles"),
454
+ value: prop("acceptedFiles"),
455
+ isEqual: (a, b) => a.length === b?.length && a.every((file, i) => isFileEqual(file, b[i])),
456
+ hash(value) {
457
+ return value.map((file) => `${file.name}-${file.size}`).join(",");
458
+ },
459
+ onChange(value) {
460
+ const ctx = getContext();
461
+ prop("onFileAccept")?.({ files: value });
462
+ prop("onFileChange")?.({
463
+ acceptedFiles: value,
464
+ rejectedFiles: ctx.get("rejectedFiles")
465
+ });
466
+ }
467
+ })),
468
+ rejectedFiles: bindable(() => ({
469
+ defaultValue: [],
470
+ isEqual: (a, b) => a.length === b?.length && a.every((file, i) => isFileEqual(file.file, b[i].file)),
471
+ onChange(value) {
472
+ const ctx = getContext();
473
+ prop("onFileReject")?.({ files: value });
474
+ prop("onFileChange")?.({
475
+ acceptedFiles: ctx.get("acceptedFiles"),
476
+ rejectedFiles: value
477
+ });
478
+ }
479
+ })),
480
+ transforming: bindable(() => ({ defaultValue: false }))
481
+ };
482
+ },
483
+ computed: {
484
+ acceptAttr: ({ prop }) => getAcceptAttrString(prop("accept")),
485
+ multiple: ({ prop }) => prop("maxFiles") > 1
486
+ },
487
+ watch({ track, context, action }) {
488
+ track([() => context.hash("acceptedFiles")], () => {
489
+ action(["syncInputElement"]);
490
+ });
491
+ },
492
+ on: {
493
+ "FILES.SET": { actions: ["setFiles"] },
494
+ "FILE.SELECT": { actions: ["setEventFiles"] },
495
+ "FILE.DELETE": { actions: ["removeFile"] },
496
+ "FILES.CLEAR": { actions: ["clearFiles"] },
497
+ "REJECTED_FILES.CLEAR": { actions: ["clearRejectedFiles"] }
498
+ },
499
+ effects: ["preventDocumentDrop"],
500
+ states: {
501
+ idle: { on: {
502
+ OPEN: { actions: ["openFilePicker"] },
503
+ "DROPZONE.CLICK": { actions: ["openFilePicker"] },
504
+ "DROPZONE.FOCUS": { target: "focused" },
505
+ "DROPZONE.DRAG_OVER": { target: "dragging" }
506
+ } },
507
+ focused: { on: {
508
+ "DROPZONE.BLUR": { target: "idle" },
509
+ OPEN: { actions: ["openFilePicker"] },
510
+ "DROPZONE.CLICK": { actions: ["openFilePicker"] },
511
+ "DROPZONE.DRAG_OVER": { target: "dragging" }
512
+ } },
513
+ dragging: { on: {
514
+ "DROPZONE.DROP": {
515
+ target: "idle",
516
+ actions: ["setEventFiles"]
517
+ },
518
+ "DROPZONE.DRAG_LEAVE": { target: "idle" }
519
+ } }
520
+ },
521
+ implementations: {
522
+ effects: { preventDocumentDrop({ prop, scope }) {
523
+ if (!prop("preventDocumentDrop")) return;
524
+ if (!prop("allowDrop")) return;
525
+ if (prop("disabled")) return;
526
+ const doc = scope.getDoc();
527
+ const onDragOver = (event) => {
528
+ event?.preventDefault();
529
+ };
530
+ const onDrop = (event) => {
531
+ if (contains(getRootEl(scope), getEventTarget(event))) return;
532
+ event.preventDefault();
533
+ };
534
+ return callAll(addDomEvent(doc, "dragover", onDragOver, false), addDomEvent(doc, "drop", onDrop, false));
535
+ } },
536
+ actions: {
537
+ syncInputElement({ scope, context }) {
538
+ queueMicrotask(() => {
539
+ const inputEl = getHiddenInputEl(scope);
540
+ if (!inputEl) return;
541
+ setInputFiles(inputEl, context.get("acceptedFiles"));
542
+ const win = scope.getWin();
543
+ inputEl.dispatchEvent(new win.Event("change", { bubbles: true }));
544
+ });
545
+ },
546
+ openFilePicker({ scope }) {
547
+ raf(() => {
548
+ getHiddenInputEl(scope)?.click();
549
+ });
550
+ },
551
+ setFiles(params) {
552
+ const { computed, context, event } = params;
553
+ const { acceptedFiles, rejectedFiles } = getEventFiles(params, event.files);
554
+ context.set("acceptedFiles", computed("multiple") ? acceptedFiles : acceptedFiles.length > 0 ? [acceptedFiles[0]] : []);
555
+ context.set("rejectedFiles", rejectedFiles);
556
+ },
557
+ setEventFiles(params) {
558
+ const { computed, context, event, prop } = params;
559
+ const currentAcceptedFiles = context.get("acceptedFiles");
560
+ const currentRejectedFiles = context.get("rejectedFiles");
561
+ const { acceptedFiles, rejectedFiles } = getEventFiles(params, event.files, currentAcceptedFiles, currentRejectedFiles);
562
+ const set = (files) => {
563
+ if (computed("multiple")) {
564
+ context.set("acceptedFiles", (prev) => [...prev, ...files]);
565
+ context.set("rejectedFiles", rejectedFiles);
566
+ return;
567
+ }
568
+ if (files.length) {
569
+ context.set("acceptedFiles", [files[0]]);
570
+ context.set("rejectedFiles", rejectedFiles);
571
+ return;
572
+ }
573
+ if (rejectedFiles.length) {
574
+ context.set("acceptedFiles", context.get("acceptedFiles"));
575
+ context.set("rejectedFiles", rejectedFiles);
576
+ }
577
+ };
578
+ const transform = prop("transformFiles");
579
+ if (transform) {
580
+ context.set("transforming", true);
581
+ transform(acceptedFiles).then(set).catch((err) => {
582
+ warn(`[wirekyt/file-upload] error transforming files\n${err}`);
583
+ }).finally(() => {
584
+ context.set("transforming", false);
585
+ });
586
+ } else set(acceptedFiles);
587
+ },
588
+ removeFile({ context, event }) {
589
+ if (event.itemType === "rejected") {
590
+ const rejectedFiles = context.get("rejectedFiles").filter((item) => !isFileEqual(item.file, event.file));
591
+ context.set("rejectedFiles", rejectedFiles);
592
+ } else {
593
+ const files = context.get("acceptedFiles").filter((file) => !isFileEqual(file, event.file));
594
+ context.set("acceptedFiles", files);
595
+ }
596
+ },
597
+ clearRejectedFiles({ context }) {
598
+ context.set("rejectedFiles", []);
599
+ },
600
+ clearFiles({ context }) {
601
+ context.set("acceptedFiles", []);
602
+ context.set("rejectedFiles", []);
603
+ }
604
+ }
605
+ }
606
+ });
607
+ //#endregion
608
+ //#region src/machines/file-upload/props.ts
609
+ const props = createProps()([
610
+ "accept",
611
+ "acceptedFiles",
612
+ "allowDrop",
613
+ "capture",
614
+ "defaultAcceptedFiles",
615
+ "dir",
616
+ "directory",
617
+ "disabled",
618
+ "getRootNode",
619
+ "id",
620
+ "ids",
621
+ "invalid",
622
+ "locale",
623
+ "maxFiles",
624
+ "maxFileSize",
625
+ "minFileSize",
626
+ "name",
627
+ "onFileAccept",
628
+ "onFileChange",
629
+ "onFileReject",
630
+ "preventDocumentDrop",
631
+ "readOnly",
632
+ "required",
633
+ "transformFiles",
634
+ "translations",
635
+ "validate"
636
+ ]);
637
+ const splitProps = createSplitProps(props);
638
+ const itemProps = createProps()(["file", "type"]);
639
+ const splitItemProps = createSplitProps(itemProps);
640
+ //#endregion
641
+ export { anatomy, connect, itemProps, machine, props, splitItemProps, splitProps };