@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,865 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_create_anatomy = require("../../create-anatomy-BwDn25ph.cjs");
3
+ const require_dom_query = require("../../dom-query-CQzY93XU.cjs");
4
+ const require_computed_style = require("../../computed-style-DLArEFNw.cjs");
5
+ const require_event = require("../../event-DDz-mMhM.cjs");
6
+ const require_pointer_move = require("../../pointer-move-CGzan38r.cjs");
7
+ const require_set = require("../../set-DrtWCLFb.cjs");
8
+ const require_equal = require("../../equal-C927y7MN.cjs");
9
+ const require_utils = require("../../utils-BH-oBBz2.cjs");
10
+ const require_warning = require("../../warning-HAmFXLHm.cjs");
11
+ const require_core = require("../../core-BNMw-JId.cjs");
12
+ const require_create_props = require("../../create-props-CjLx2oS8.cjs");
13
+ //#region src/machines/scroll-area/anatomy.ts
14
+ const anatomy = require_create_anatomy.createAnatomy("scroll-area").parts("root", "viewport", "content", "scrollbar", "thumb", "corner");
15
+ const parts = anatomy.build();
16
+ //#endregion
17
+ //#region src/machines/scroll-area/dom.ts
18
+ const getRootId = (ctx) => ctx.ids?.root ?? `scroll-area:${ctx.id}`;
19
+ const getViewportId = (ctx) => ctx.ids?.viewport ?? `scroll-area:${ctx.id}:viewport`;
20
+ const getContentId = (ctx) => ctx.ids?.content ?? `scroll-area:${ctx.id}:content`;
21
+ const getRootEl = (ctx) => ctx.getById(getRootId(ctx));
22
+ const getViewportEl = (ctx) => ctx.getById(getViewportId(ctx));
23
+ const getContentEl = (ctx) => ctx.getById(getContentId(ctx));
24
+ const getScrollbarXEl = (ctx) => require_dom_query.query(getRootEl(ctx), `[data-part=scrollbar][data-orientation=horizontal][data-ownedby="${getRootId(ctx)}"]`);
25
+ const getScrollbarYEl = (ctx) => require_dom_query.query(getRootEl(ctx), `[data-part=scrollbar][data-orientation=vertical][data-ownedby="${getRootId(ctx)}"]`);
26
+ const getThumbXEl = (ctx) => require_dom_query.query(getScrollbarXEl(ctx), `[data-part=thumb][data-orientation=horizontal][data-ownedby="${getRootId(ctx)}"]`);
27
+ const getThumbYEl = (ctx) => require_dom_query.query(getScrollbarYEl(ctx), `[data-part=thumb][data-orientation=vertical][data-ownedby="${getRootId(ctx)}"]`);
28
+ const getCornerEl = (ctx) => require_dom_query.query(getRootEl(ctx), `[data-part=corner][data-ownedby="${getRootId(ctx)}"]`);
29
+ //#endregion
30
+ //#region src/machines/scroll-area/utils/scroll-progress.ts
31
+ function getScrollProgress(element, scrollThreshold) {
32
+ if (!element) return EMPTY_SCROLL_PROGRESS;
33
+ let progressX = 0;
34
+ let progressY = 0;
35
+ const maxScrollX = element.scrollWidth - element.clientWidth;
36
+ if (maxScrollX > scrollThreshold) progressX = Math.min(1, Math.max(0, element.scrollLeft / maxScrollX));
37
+ const maxScrollY = element.scrollHeight - element.clientHeight;
38
+ if (maxScrollY > scrollThreshold) progressY = Math.min(1, Math.max(0, element.scrollTop / maxScrollY));
39
+ return {
40
+ x: progressX,
41
+ y: progressY
42
+ };
43
+ }
44
+ const EMPTY_SCROLL_PROGRESS = {
45
+ x: 0,
46
+ y: 0
47
+ };
48
+ //#endregion
49
+ //#region src/machines/scroll-area/utils/smooth-scroll.ts
50
+ const DURATION = 300;
51
+ const EASE_OUT_QUAD = (t) => t * (2 - t);
52
+ function smoothScroll(node, options = {}) {
53
+ const { top, left, duration = DURATION, easing = EASE_OUT_QUAD, onComplete } = options;
54
+ if (!node) return;
55
+ const state = {
56
+ startTime: 0,
57
+ startScrollTop: node.scrollTop,
58
+ startScrollLeft: node.scrollLeft,
59
+ targetScrollTop: top ?? node.scrollTop,
60
+ targetScrollLeft: left ?? node.scrollLeft
61
+ };
62
+ let cancelled = false;
63
+ const cleanup = () => {
64
+ if (state.rafId) {
65
+ cancelAnimationFrame(state.rafId);
66
+ state.rafId = void 0;
67
+ }
68
+ cancelled = true;
69
+ };
70
+ const animate = (currentTime) => {
71
+ if (cancelled) return;
72
+ if (state.startTime === 0) state.startTime = currentTime;
73
+ const elapsed = currentTime - state.startTime;
74
+ const progress = Math.min(elapsed / duration, 1);
75
+ const easedProgress = easing(progress);
76
+ const deltaTop = state.targetScrollTop - state.startScrollTop;
77
+ const deltaLeft = state.targetScrollLeft - state.startScrollLeft;
78
+ node.scrollTop = state.startScrollTop + deltaTop * easedProgress;
79
+ node.scrollLeft = state.startScrollLeft + deltaLeft * easedProgress;
80
+ if (progress < 1) state.rafId = requestAnimationFrame(animate);
81
+ else onComplete?.();
82
+ };
83
+ state.rafId = requestAnimationFrame(animate);
84
+ return cleanup;
85
+ }
86
+ //#endregion
87
+ //#region src/machines/scroll-area/utils/scroll-to.ts
88
+ function scrollTo(node, options = {}) {
89
+ if (!node) return;
90
+ const { top, left, behavior = "smooth", easing, duration } = options;
91
+ if (behavior === "smooth") smoothScroll(node, {
92
+ top,
93
+ left,
94
+ easing,
95
+ duration
96
+ });
97
+ else {
98
+ const scrollOptions = require_utils.compact({
99
+ behavior,
100
+ top,
101
+ left
102
+ });
103
+ node.scrollTo(scrollOptions);
104
+ }
105
+ }
106
+ //#endregion
107
+ //#region src/machines/scroll-area/utils/scroll-to-edge.ts
108
+ function scrollToEdge(node, edge, dir, behavior = "smooth", easing, duration) {
109
+ if (!node) return;
110
+ const maxLeft = node.scrollWidth - node.clientWidth;
111
+ const maxTop = node.scrollHeight - node.clientHeight;
112
+ const isRtl = dir === "rtl";
113
+ let targetScrollTop;
114
+ let targetScrollLeft;
115
+ switch (edge) {
116
+ case "top":
117
+ targetScrollTop = 0;
118
+ break;
119
+ case "bottom":
120
+ targetScrollTop = maxTop;
121
+ break;
122
+ case "left":
123
+ if (isRtl) targetScrollLeft = node.scrollLeft <= 0 ? -maxLeft : 0;
124
+ else targetScrollLeft = 0;
125
+ break;
126
+ case "right":
127
+ if (isRtl) targetScrollLeft = node.scrollLeft <= 0 ? 0 : maxLeft;
128
+ else targetScrollLeft = maxLeft;
129
+ break;
130
+ }
131
+ if (behavior === "smooth") smoothScroll(node, {
132
+ top: targetScrollTop,
133
+ left: targetScrollLeft,
134
+ easing,
135
+ duration
136
+ });
137
+ else {
138
+ const options = require_utils.compact({
139
+ left: targetScrollLeft,
140
+ top: targetScrollTop,
141
+ behavior
142
+ });
143
+ node.scrollTo(options);
144
+ }
145
+ }
146
+ //#endregion
147
+ //#region src/machines/scroll-area/connect.ts
148
+ function connect(service, normalize) {
149
+ const { state, send, context, prop, scope } = service;
150
+ const dragging = state.matches("dragging");
151
+ const hovering = context.get("hovering");
152
+ const cornerSize = context.get("cornerSize");
153
+ const thumbSize = context.get("thumbSize");
154
+ const hiddenState = context.get("hiddenState");
155
+ const atSides = context.get("atSides");
156
+ return {
157
+ isAtTop: atSides.top,
158
+ isAtBottom: atSides.bottom,
159
+ isAtLeft: atSides.left,
160
+ isAtRight: atSides.right,
161
+ hasOverflowX: !hiddenState.scrollbarXHidden,
162
+ hasOverflowY: !hiddenState.scrollbarYHidden,
163
+ getScrollProgress() {
164
+ return getScrollProgress(getViewportEl(scope), 0);
165
+ },
166
+ scrollToEdge(details) {
167
+ const { edge, behavior } = details;
168
+ return scrollToEdge(getViewportEl(scope), edge, prop("dir"), behavior);
169
+ },
170
+ scrollTo(details) {
171
+ return scrollTo(getViewportEl(scope), details);
172
+ },
173
+ getScrollbarState(props) {
174
+ const horizontal = props.orientation === "horizontal";
175
+ return {
176
+ hovering,
177
+ dragging,
178
+ scrolling: context.get(horizontal ? "scrollingX" : "scrollingY"),
179
+ hidden: horizontal ? hiddenState.scrollbarXHidden : hiddenState.scrollbarYHidden
180
+ };
181
+ },
182
+ getRootProps() {
183
+ return normalize.element({
184
+ ...parts.root.attrs,
185
+ id: getRootId(scope),
186
+ dir: prop("dir"),
187
+ role: "presentation",
188
+ "data-overflow-x": require_dom_query.dataAttr(!hiddenState.scrollbarXHidden),
189
+ "data-overflow-y": require_dom_query.dataAttr(!hiddenState.scrollbarYHidden),
190
+ onPointerEnter(event) {
191
+ const target = require_event.getEventTarget(event);
192
+ if (!require_dom_query.contains(event.currentTarget, target)) return;
193
+ send({
194
+ type: "root.pointerenter",
195
+ pointerType: event.pointerType
196
+ });
197
+ },
198
+ onPointerMove(event) {
199
+ const target = require_event.getEventTarget(event);
200
+ if (!require_dom_query.contains(event.currentTarget, target)) return;
201
+ send({
202
+ type: "root.pointerenter",
203
+ pointerType: event.pointerType
204
+ });
205
+ },
206
+ onPointerDown({ pointerType }) {
207
+ send({
208
+ type: "root.pointerdown",
209
+ pointerType
210
+ });
211
+ },
212
+ onPointerLeave(event) {
213
+ if (require_dom_query.contains(event.currentTarget, event.relatedTarget)) return;
214
+ send({ type: "root.pointerleave" });
215
+ },
216
+ style: {
217
+ position: "relative",
218
+ "--corner-width": require_utils.toPx(cornerSize?.width),
219
+ "--corner-height": require_utils.toPx(cornerSize?.height),
220
+ "--thumb-width": require_utils.toPx(thumbSize?.width),
221
+ "--thumb-height": require_utils.toPx(thumbSize?.height)
222
+ }
223
+ });
224
+ },
225
+ getViewportProps() {
226
+ const handleUserInteraction = () => {
227
+ send({ type: "user.scroll" });
228
+ };
229
+ return normalize.element({
230
+ ...parts.viewport.attrs,
231
+ role: "presentation",
232
+ "data-ownedby": getRootId(scope),
233
+ id: getViewportId(scope),
234
+ "data-at-top": require_dom_query.dataAttr(atSides.top),
235
+ "data-at-bottom": require_dom_query.dataAttr(atSides.bottom),
236
+ "data-at-left": require_dom_query.dataAttr(atSides.left),
237
+ "data-at-right": require_dom_query.dataAttr(atSides.right),
238
+ "data-overflow-x": require_dom_query.dataAttr(!hiddenState.scrollbarXHidden),
239
+ "data-overflow-y": require_dom_query.dataAttr(!hiddenState.scrollbarYHidden),
240
+ tabIndex: hiddenState.scrollbarXHidden || hiddenState.scrollbarYHidden ? void 0 : 0,
241
+ style: { overflow: "auto" },
242
+ onScroll(event) {
243
+ send({
244
+ type: "viewport.scroll",
245
+ target: event.currentTarget
246
+ });
247
+ },
248
+ onWheel: handleUserInteraction,
249
+ onTouchMove: handleUserInteraction,
250
+ onPointerMove: handleUserInteraction,
251
+ onPointerEnter: handleUserInteraction,
252
+ onKeyDown: handleUserInteraction
253
+ });
254
+ },
255
+ getContentProps() {
256
+ return normalize.element({
257
+ ...parts.content.attrs,
258
+ id: getContentId(scope),
259
+ role: "presentation",
260
+ "data-overflow-x": require_dom_query.dataAttr(!hiddenState.scrollbarXHidden),
261
+ "data-overflow-y": require_dom_query.dataAttr(!hiddenState.scrollbarYHidden),
262
+ style: { minWidth: "fit-content" }
263
+ });
264
+ },
265
+ getScrollbarProps(props = {}) {
266
+ const { orientation = "vertical" } = props;
267
+ return normalize.element({
268
+ ...parts.scrollbar.attrs,
269
+ "data-ownedby": getRootId(scope),
270
+ "data-orientation": orientation,
271
+ "data-scrolling": require_dom_query.dataAttr(context.get(orientation === "horizontal" ? "scrollingX" : "scrollingY")),
272
+ "data-hover": require_dom_query.dataAttr(hovering),
273
+ "data-dragging": require_dom_query.dataAttr(dragging),
274
+ "data-overflow-x": require_dom_query.dataAttr(!hiddenState.scrollbarXHidden),
275
+ "data-overflow-y": require_dom_query.dataAttr(!hiddenState.scrollbarYHidden),
276
+ onPointerUp() {
277
+ send({
278
+ type: "scrollbar.pointerup",
279
+ orientation
280
+ });
281
+ },
282
+ onPointerDown(event) {
283
+ if (event.button !== 0) return;
284
+ if (event.currentTarget !== event.target) return;
285
+ const point = require_event.getEventPoint(event);
286
+ send({
287
+ type: "scrollbar.pointerdown",
288
+ orientation,
289
+ point
290
+ });
291
+ event.stopPropagation();
292
+ },
293
+ style: {
294
+ position: "absolute",
295
+ touchAction: "none",
296
+ WebkitUserSelect: "none",
297
+ userSelect: "none",
298
+ ...orientation === "vertical" && {
299
+ top: 0,
300
+ bottom: `var(--corner-height)`,
301
+ insetInlineEnd: 0
302
+ },
303
+ ...orientation === "horizontal" && {
304
+ insetInlineStart: 0,
305
+ insetInlineEnd: `var(--corner-width)`,
306
+ bottom: 0
307
+ }
308
+ }
309
+ });
310
+ },
311
+ getThumbProps(props = {}) {
312
+ const { orientation = "vertical" } = props;
313
+ return normalize.element({
314
+ ...parts.thumb.attrs,
315
+ "data-ownedby": getRootId(scope),
316
+ "data-orientation": orientation,
317
+ "data-hover": require_dom_query.dataAttr(hovering),
318
+ "data-dragging": require_dom_query.dataAttr(dragging),
319
+ onPointerDown(event) {
320
+ if (event.button !== 0) return;
321
+ const point = require_event.getEventPoint(event);
322
+ send({
323
+ type: "thumb.pointerdown",
324
+ orientation,
325
+ point
326
+ });
327
+ },
328
+ style: {
329
+ ...orientation === "vertical" && { height: "var(--thumb-height)" },
330
+ ...orientation === "horizontal" && { width: "var(--thumb-width)" }
331
+ }
332
+ });
333
+ },
334
+ getCornerProps() {
335
+ return normalize.element({
336
+ ...parts.corner.attrs,
337
+ "data-ownedby": getRootId(scope),
338
+ "data-hover": require_dom_query.dataAttr(hovering),
339
+ "data-state": hiddenState.cornerHidden ? "hidden" : "visible",
340
+ "data-overflow-x": require_dom_query.dataAttr(!hiddenState.scrollbarXHidden),
341
+ "data-overflow-y": require_dom_query.dataAttr(!hiddenState.scrollbarYHidden),
342
+ style: {
343
+ position: "absolute",
344
+ bottom: 0,
345
+ insetInlineEnd: 0,
346
+ width: "var(--corner-width)",
347
+ height: "var(--corner-height)"
348
+ }
349
+ });
350
+ }
351
+ };
352
+ }
353
+ //#endregion
354
+ //#region src/machines/scroll-area/utils/scroll-offset.ts
355
+ function getScrollOffset(element, prop, axis) {
356
+ if (!element) return 0;
357
+ const styles = require_computed_style.getComputedStyle(element);
358
+ const propAxis = axis === "x" ? "Inline" : "Block";
359
+ if (axis === "x" && prop === "margin") return parseFloat(styles[`${prop}InlineStart`]) * 2;
360
+ return parseFloat(styles[`${prop}${propAxis}Start`]) + parseFloat(styles[`${prop}${propAxis}End`]);
361
+ }
362
+ //#endregion
363
+ //#region src/machines/scroll-area/utils/scroll-sides.ts
364
+ function getScrollSides(node, dir) {
365
+ const scrollTop = node.scrollTop;
366
+ const scrollLeft = node.scrollLeft;
367
+ const isRtl = dir === "rtl";
368
+ const threshold = 1;
369
+ const hasVerticalScroll = node.scrollHeight - node.clientHeight > threshold;
370
+ const hasHorizontalScroll = node.scrollWidth - node.clientWidth > threshold;
371
+ const maxScrollLeft = node.scrollWidth - node.clientWidth;
372
+ const maxScrollTop = node.scrollHeight - node.clientHeight;
373
+ let atLeft = false;
374
+ let atRight = false;
375
+ let atTop = false;
376
+ let atBottom = false;
377
+ if (hasHorizontalScroll) if (isRtl) if (scrollLeft <= 0) {
378
+ atLeft = Math.abs(scrollLeft) >= maxScrollLeft - threshold;
379
+ atRight = Math.abs(scrollLeft) <= threshold;
380
+ } else {
381
+ atLeft = scrollLeft <= threshold;
382
+ atRight = scrollLeft >= maxScrollLeft - threshold;
383
+ }
384
+ else {
385
+ atLeft = scrollLeft <= threshold;
386
+ atRight = scrollLeft >= maxScrollLeft - threshold;
387
+ }
388
+ if (hasVerticalScroll) {
389
+ atTop = scrollTop <= threshold;
390
+ atBottom = scrollTop >= maxScrollTop - threshold;
391
+ }
392
+ return {
393
+ top: atTop,
394
+ right: atRight,
395
+ bottom: atBottom,
396
+ left: atLeft
397
+ };
398
+ }
399
+ //#endregion
400
+ //#region src/machines/scroll-area/utils/timeout.ts
401
+ const EMPTY = 0;
402
+ var Timeout = class {
403
+ currentId = EMPTY;
404
+ start(delay, fn) {
405
+ this.clear();
406
+ this.currentId = setTimeout(() => {
407
+ this.currentId = EMPTY;
408
+ fn();
409
+ }, delay);
410
+ }
411
+ isStarted() {
412
+ return this.currentId !== EMPTY;
413
+ }
414
+ clear = () => {
415
+ if (this.currentId !== EMPTY) {
416
+ clearTimeout(this.currentId);
417
+ this.currentId = EMPTY;
418
+ }
419
+ };
420
+ disposeEffect = () => {
421
+ return this.clear;
422
+ };
423
+ };
424
+ //#endregion
425
+ //#region src/machines/scroll-area/machine.ts
426
+ const MIN_THUMB_SIZE = 20;
427
+ const SCROLL_TIMEOUT = 1e3;
428
+ const machine = require_core.createMachine({
429
+ props({ props }) {
430
+ require_warning.ensureProps(props, ["id"]);
431
+ return props;
432
+ },
433
+ context({ bindable }) {
434
+ return {
435
+ scrollingX: bindable(() => ({ defaultValue: false })),
436
+ scrollingY: bindable(() => ({ defaultValue: false })),
437
+ hovering: bindable(() => ({ defaultValue: false })),
438
+ dragging: bindable(() => ({ defaultValue: false })),
439
+ touchModality: bindable(() => ({ defaultValue: false })),
440
+ atSides: bindable(() => ({ defaultValue: {
441
+ top: true,
442
+ right: false,
443
+ bottom: false,
444
+ left: true
445
+ } })),
446
+ cornerSize: bindable(() => ({ defaultValue: {
447
+ width: 0,
448
+ height: 0
449
+ } })),
450
+ thumbSize: bindable(() => ({ defaultValue: {
451
+ width: 0,
452
+ height: 0
453
+ } })),
454
+ hiddenState: bindable(() => ({
455
+ defaultValue: {
456
+ scrollbarYHidden: false,
457
+ scrollbarXHidden: false,
458
+ cornerHidden: false
459
+ },
460
+ hash(a) {
461
+ return `Y:${a.scrollbarYHidden} X:${a.scrollbarXHidden} C:${a.cornerHidden}`;
462
+ }
463
+ }))
464
+ };
465
+ },
466
+ refs() {
467
+ return {
468
+ orientation: "vertical",
469
+ scrollPosition: {
470
+ x: 0,
471
+ y: 0
472
+ },
473
+ scrollYTimeout: new Timeout(),
474
+ scrollXTimeout: new Timeout(),
475
+ scrollEndTimeout: new Timeout(),
476
+ startX: 0,
477
+ startY: 0,
478
+ startScrollTop: 0,
479
+ startScrollLeft: 0,
480
+ programmaticScroll: true
481
+ };
482
+ },
483
+ initialState() {
484
+ return "idle";
485
+ },
486
+ watch({ track, prop, context, send }) {
487
+ track([() => prop("dir"), () => context.hash("hiddenState")], () => {
488
+ send({ type: "thumb.measure" });
489
+ });
490
+ },
491
+ effects: [
492
+ "trackContentResize",
493
+ "trackViewportVisibility",
494
+ "trackWheelEvent"
495
+ ],
496
+ entry: ["checkHovering"],
497
+ exit: ["clearTimeouts"],
498
+ on: {
499
+ "thumb.measure": { actions: ["setThumbSize"] },
500
+ "viewport.scroll": { actions: [
501
+ "setThumbSize",
502
+ "setScrolling",
503
+ "setProgrammaticScroll"
504
+ ] },
505
+ "root.pointerenter": { actions: ["setTouchModality", "setHovering"] },
506
+ "root.pointerdown": { actions: ["setTouchModality"] },
507
+ "root.pointerleave": { actions: ["clearHovering"] }
508
+ },
509
+ states: {
510
+ idle: { on: {
511
+ "scrollbar.pointerdown": {
512
+ target: "dragging",
513
+ actions: ["scrollToPointer", "startDragging"]
514
+ },
515
+ "thumb.pointerdown": {
516
+ target: "dragging",
517
+ actions: ["startDragging"]
518
+ }
519
+ } },
520
+ dragging: {
521
+ effects: ["trackPointerMove"],
522
+ on: {
523
+ "thumb.pointermove": { actions: ["setDraggingScroll"] },
524
+ "scrollbar.pointerup": {
525
+ target: "idle",
526
+ actions: ["stopDragging"]
527
+ },
528
+ "thumb.pointerup": {
529
+ target: "idle",
530
+ actions: ["clearScrolling", "stopDragging"]
531
+ }
532
+ }
533
+ }
534
+ },
535
+ implementations: {
536
+ actions: {
537
+ setTouchModality({ context, event }) {
538
+ context.set("touchModality", event.pointerType === "touch");
539
+ },
540
+ setHovering({ context }) {
541
+ context.set("hovering", true);
542
+ },
543
+ clearHovering({ context }) {
544
+ context.set("hovering", false);
545
+ },
546
+ setProgrammaticScroll({ refs }) {
547
+ refs.get("scrollEndTimeout").start(100, () => {
548
+ refs.set("programmaticScroll", true);
549
+ });
550
+ },
551
+ clearScrolling({ context, event }) {
552
+ context.set(event.orientation === "vertical" ? "scrollingY" : "scrollingX", false);
553
+ },
554
+ setThumbSize({ context, scope, prop }) {
555
+ const viewportEl = getViewportEl(scope);
556
+ if (!viewportEl) return;
557
+ const scrollableContentHeight = viewportEl.scrollHeight;
558
+ const scrollableContentWidth = viewportEl.scrollWidth;
559
+ if (scrollableContentHeight === 0 || scrollableContentWidth === 0) return;
560
+ const scrollbarYEl = getScrollbarYEl(scope);
561
+ const scrollbarXEl = getScrollbarXEl(scope);
562
+ const thumbYEl = getThumbYEl(scope);
563
+ const thumbXEl = getThumbXEl(scope);
564
+ const viewportHeight = viewportEl.clientHeight;
565
+ const viewportWidth = viewportEl.clientWidth;
566
+ const scrollTop = viewportEl.scrollTop;
567
+ const scrollLeft = viewportEl.scrollLeft;
568
+ const scrollbarYHidden = viewportHeight >= scrollableContentHeight;
569
+ const scrollbarXHidden = viewportWidth >= scrollableContentWidth;
570
+ const ratioX = viewportWidth / scrollableContentWidth;
571
+ const ratioY = viewportHeight / scrollableContentHeight;
572
+ const nextWidth = scrollbarXHidden ? 0 : viewportWidth;
573
+ const nextHeight = scrollbarYHidden ? 0 : viewportHeight;
574
+ const scrollbarXOffset = getScrollOffset(scrollbarXEl, "padding", "x");
575
+ const scrollbarYOffset = getScrollOffset(scrollbarYEl, "padding", "y");
576
+ const thumbXOffset = getScrollOffset(thumbXEl, "margin", "x");
577
+ const thumbYOffset = getScrollOffset(thumbYEl, "margin", "y");
578
+ const idealNextWidth = nextWidth - scrollbarXOffset - thumbXOffset;
579
+ const idealNextHeight = nextHeight - scrollbarYOffset - thumbYOffset;
580
+ const maxNextWidth = scrollbarXEl ? Math.min(scrollbarXEl.offsetWidth, idealNextWidth) : idealNextWidth;
581
+ const maxNextHeight = scrollbarYEl ? Math.min(scrollbarYEl.offsetHeight, idealNextHeight) : idealNextHeight;
582
+ const clampedNextWidth = Math.max(MIN_THUMB_SIZE, maxNextWidth * ratioX);
583
+ const clampedNextHeight = Math.max(MIN_THUMB_SIZE, maxNextHeight * ratioY);
584
+ context.set("thumbSize", (prevSize) => {
585
+ if (prevSize.height === clampedNextHeight && prevSize.width === clampedNextWidth) return prevSize;
586
+ return {
587
+ width: clampedNextWidth,
588
+ height: clampedNextHeight
589
+ };
590
+ });
591
+ if (scrollbarYEl && thumbYEl) {
592
+ const maxThumbOffsetY = scrollbarYEl.offsetHeight - clampedNextHeight - scrollbarYOffset - thumbYOffset;
593
+ const scrollRatioY = scrollTop / (scrollableContentHeight - viewportHeight);
594
+ const thumbOffsetY = Math.min(maxThumbOffsetY, Math.max(0, scrollRatioY * maxThumbOffsetY));
595
+ thumbYEl.style.transform = `translate3d(0,${thumbOffsetY}px,0)`;
596
+ }
597
+ if (scrollbarXEl && thumbXEl) {
598
+ const maxThumbOffsetX = scrollbarXEl.offsetWidth - clampedNextWidth - scrollbarXOffset - thumbXOffset;
599
+ const scrollRatioX = scrollLeft / (scrollableContentWidth - viewportWidth);
600
+ const thumbOffsetX = prop("dir") === "rtl" ? require_utils.clampValue(scrollRatioX * maxThumbOffsetX, -maxThumbOffsetX, 0) : require_utils.clampValue(scrollRatioX * maxThumbOffsetX, 0, maxThumbOffsetX);
601
+ thumbXEl.style.transform = `translate3d(${thumbOffsetX}px,0,0)`;
602
+ }
603
+ if (getCornerEl(scope)) {
604
+ if (scrollbarXHidden || scrollbarYHidden) context.set("cornerSize", {
605
+ width: 0,
606
+ height: 0
607
+ });
608
+ else if (!scrollbarXHidden && !scrollbarYHidden) {
609
+ const width = scrollbarYEl?.offsetWidth || 0;
610
+ const height = scrollbarXEl?.offsetHeight || 0;
611
+ context.set("cornerSize", {
612
+ width,
613
+ height
614
+ });
615
+ }
616
+ }
617
+ context.set("hiddenState", (prevState) => {
618
+ const cornerHidden = scrollbarYHidden || scrollbarXHidden;
619
+ if (prevState.scrollbarYHidden === scrollbarYHidden && prevState.scrollbarXHidden === scrollbarXHidden && prevState.cornerHidden === cornerHidden) return prevState;
620
+ return {
621
+ scrollbarYHidden,
622
+ scrollbarXHidden,
623
+ cornerHidden
624
+ };
625
+ });
626
+ context.set("atSides", (prev) => {
627
+ const next = getScrollSides(viewportEl, prop("dir"));
628
+ if (require_equal.isEqual(prev, next)) return prev;
629
+ return next;
630
+ });
631
+ const maxScrollTop = Math.max(0, scrollableContentHeight - viewportHeight);
632
+ const maxScrollLeft = Math.max(0, scrollableContentWidth - viewportWidth);
633
+ let scrollLeftFromStart = 0;
634
+ let scrollLeftFromEnd = 0;
635
+ if (!scrollbarXHidden) {
636
+ if (prop("dir") === "rtl") scrollLeftFromStart = require_utils.clampValue(-scrollLeft, 0, maxScrollLeft);
637
+ else scrollLeftFromStart = require_utils.clampValue(scrollLeft, 0, maxScrollLeft);
638
+ scrollLeftFromEnd = maxScrollLeft - scrollLeftFromStart;
639
+ }
640
+ const scrollTopFromStart = !scrollbarYHidden ? require_utils.clampValue(scrollTop, 0, maxScrollTop) : 0;
641
+ const scrollTopFromEnd = !scrollbarYHidden ? maxScrollTop - scrollTopFromStart : 0;
642
+ require_set.setStyleProperty(viewportEl, "--scroll-area-overflow-x-start", `${scrollLeftFromStart}px`);
643
+ require_set.setStyleProperty(viewportEl, "--scroll-area-overflow-x-end", `${scrollLeftFromEnd}px`);
644
+ require_set.setStyleProperty(viewportEl, "--scroll-area-overflow-y-start", `${scrollTopFromStart}px`);
645
+ require_set.setStyleProperty(viewportEl, "--scroll-area-overflow-y-end", `${scrollTopFromEnd}px`);
646
+ },
647
+ checkHovering({ scope, context }) {
648
+ if (getViewportEl(scope)?.matches(":hover")) context.set("hovering", true);
649
+ },
650
+ setScrolling({ event, refs, context, prop }) {
651
+ const scrollPosition = {
652
+ x: event.target.scrollLeft,
653
+ y: event.target.scrollTop
654
+ };
655
+ const scrollPositionRef = refs.get("scrollPosition");
656
+ const offsetX = scrollPosition.x - scrollPositionRef.x;
657
+ const offsetY = scrollPosition.y - scrollPositionRef.y;
658
+ refs.set("scrollPosition", scrollPosition);
659
+ context.set("atSides", (prev) => {
660
+ const next = getScrollSides(event.target, prop("dir"));
661
+ if (require_equal.isEqual(prev, next)) return prev;
662
+ return next;
663
+ });
664
+ if (offsetY !== 0) {
665
+ context.set("scrollingY", true);
666
+ refs.get("scrollYTimeout").start(SCROLL_TIMEOUT, () => {
667
+ context.set("scrollingY", false);
668
+ });
669
+ }
670
+ if (offsetX !== 0) {
671
+ context.set("scrollingX", true);
672
+ refs.get("scrollXTimeout").start(SCROLL_TIMEOUT, () => {
673
+ context.set("scrollingX", false);
674
+ });
675
+ }
676
+ },
677
+ scrollToPointer({ event, scope, prop }) {
678
+ const viewportEl = getViewportEl(scope);
679
+ if (!viewportEl) return;
680
+ const thumbYRef = getThumbYEl(scope);
681
+ const scrollbarYRef = getScrollbarYEl(scope);
682
+ const thumbXRef = getThumbXEl(scope);
683
+ const scrollbarXRef = getScrollbarXEl(scope);
684
+ const client = event.point;
685
+ if (thumbYRef && scrollbarYRef && event.orientation === "vertical") {
686
+ const thumbYOffset = getScrollOffset(thumbYRef, "margin", "y");
687
+ const scrollbarYOffset = getScrollOffset(scrollbarYRef, "padding", "y");
688
+ const thumbHeight = thumbYRef.offsetHeight;
689
+ const trackRectY = scrollbarYRef.getBoundingClientRect();
690
+ const clickY = client.y - trackRectY.top - thumbHeight / 2 - scrollbarYOffset + thumbYOffset / 2;
691
+ const scrollableContentHeight = viewportEl.scrollHeight;
692
+ const viewportHeight = viewportEl.clientHeight;
693
+ viewportEl.scrollTop = clickY / (scrollbarYRef.offsetHeight - thumbHeight - scrollbarYOffset - thumbYOffset) * (scrollableContentHeight - viewportHeight);
694
+ }
695
+ if (thumbXRef && scrollbarXRef && event.orientation === "horizontal") {
696
+ const thumbXOffset = getScrollOffset(thumbXRef, "margin", "x");
697
+ const scrollbarXOffset = getScrollOffset(scrollbarXRef, "padding", "x");
698
+ const thumbWidth = thumbXRef.offsetWidth;
699
+ const trackRectX = scrollbarXRef.getBoundingClientRect();
700
+ const clickX = client.x - trackRectX.left - thumbWidth / 2 - scrollbarXOffset + thumbXOffset / 2;
701
+ const scrollableContentWidth = viewportEl.scrollWidth;
702
+ const viewportWidth = viewportEl.clientWidth;
703
+ const scrollRatioX = clickX / (scrollbarXRef.offsetWidth - thumbWidth - scrollbarXOffset - thumbXOffset);
704
+ let newScrollLeft;
705
+ if (prop("dir") === "rtl") {
706
+ newScrollLeft = (1 - scrollRatioX) * (scrollableContentWidth - viewportWidth);
707
+ if (viewportEl.scrollLeft <= 0) newScrollLeft = -newScrollLeft;
708
+ } else newScrollLeft = scrollRatioX * (scrollableContentWidth - viewportWidth);
709
+ viewportEl.scrollLeft = newScrollLeft;
710
+ }
711
+ },
712
+ startDragging({ event, refs, scope }) {
713
+ refs.set("startX", event.point.x);
714
+ refs.set("startY", event.point.y);
715
+ refs.set("orientation", event.orientation);
716
+ const viewportEl = getViewportEl(scope);
717
+ if (!viewportEl) return;
718
+ refs.set("startScrollTop", viewportEl.scrollTop);
719
+ refs.set("startScrollLeft", viewportEl.scrollLeft);
720
+ },
721
+ setDraggingScroll({ event, refs, scope, context }) {
722
+ const startY = refs.get("startY");
723
+ const startX = refs.get("startX");
724
+ const startScrollTop = refs.get("startScrollTop");
725
+ const startScrollLeft = refs.get("startScrollLeft");
726
+ const client = event.point;
727
+ const deltaY = client.y - startY;
728
+ const deltaX = client.x - startX;
729
+ const viewportEl = getViewportEl(scope);
730
+ if (!viewportEl) return;
731
+ const scrollableContentHeight = viewportEl.scrollHeight;
732
+ const viewportHeight = viewportEl.clientHeight;
733
+ const scrollableContentWidth = viewportEl.scrollWidth;
734
+ const viewportWidth = viewportEl.clientWidth;
735
+ const orientation = refs.get("orientation");
736
+ const thumbYEl = getThumbYEl(scope);
737
+ const scrollbarYEl = getScrollbarYEl(scope);
738
+ if (thumbYEl && scrollbarYEl && orientation === "vertical") {
739
+ const scrollbarYOffset = getScrollOffset(scrollbarYEl, "padding", "y");
740
+ const thumbYOffset = getScrollOffset(thumbYEl, "margin", "y");
741
+ const thumbHeight = thumbYEl.offsetHeight;
742
+ viewportEl.scrollTop = startScrollTop + deltaY / (scrollbarYEl.offsetHeight - thumbHeight - scrollbarYOffset - thumbYOffset) * (scrollableContentHeight - viewportHeight);
743
+ context.set("scrollingY", true);
744
+ refs.get("scrollYTimeout").start(SCROLL_TIMEOUT, () => {
745
+ context.set("scrollingY", false);
746
+ });
747
+ }
748
+ const thumbXEl = getThumbXEl(scope);
749
+ const scrollbarXEl = getScrollbarXEl(scope);
750
+ if (thumbXEl && scrollbarXEl && orientation === "horizontal") {
751
+ const scrollbarXOffset = getScrollOffset(scrollbarXEl, "padding", "x");
752
+ const thumbXOffset = getScrollOffset(thumbXEl, "margin", "x");
753
+ const thumbWidth = thumbXEl.offsetWidth;
754
+ viewportEl.scrollLeft = startScrollLeft + deltaX / (scrollbarXEl.offsetWidth - thumbWidth - scrollbarXOffset - thumbXOffset) * (scrollableContentWidth - viewportWidth);
755
+ context.set("scrollingX", true);
756
+ refs.get("scrollXTimeout").start(SCROLL_TIMEOUT, () => {
757
+ context.set("scrollingX", false);
758
+ });
759
+ }
760
+ },
761
+ stopDragging({ refs }) {
762
+ refs.set("orientation", null);
763
+ },
764
+ clearTimeouts({ refs }) {
765
+ refs.get("scrollYTimeout").clear();
766
+ refs.get("scrollXTimeout").clear();
767
+ refs.get("scrollEndTimeout").clear();
768
+ }
769
+ },
770
+ effects: {
771
+ trackContentResize({ scope, send }) {
772
+ const contentEl = getContentEl(scope);
773
+ const rootEl = getRootEl(scope);
774
+ if (!contentEl || !rootEl) return;
775
+ const obs = new (scope.getWin()).ResizeObserver(() => {
776
+ setTimeout(() => {
777
+ send({ type: "thumb.measure" });
778
+ }, 1);
779
+ });
780
+ obs.observe(contentEl);
781
+ obs.observe(rootEl);
782
+ return () => {
783
+ obs.disconnect();
784
+ };
785
+ },
786
+ trackViewportVisibility({ scope, send }) {
787
+ const win = scope.getWin();
788
+ const viewportEl = getViewportEl(scope);
789
+ if (!viewportEl) return;
790
+ const observer = new win.IntersectionObserver((entries) => {
791
+ entries.forEach((entry) => {
792
+ if (entry.intersectionRatio > 0) {
793
+ send({ type: "thumb.measure" });
794
+ observer.disconnect();
795
+ }
796
+ });
797
+ });
798
+ observer.observe(viewportEl);
799
+ return () => {
800
+ observer.disconnect();
801
+ };
802
+ },
803
+ trackWheelEvent({ scope }) {
804
+ const scrollbarYEl = getScrollbarYEl(scope);
805
+ const scrollbarXEl = getScrollbarXEl(scope);
806
+ if (!scrollbarYEl && !scrollbarXEl) return;
807
+ const onWheel = (event) => {
808
+ const viewportEl = getViewportEl(scope);
809
+ if (!viewportEl || event.ctrlKey) return;
810
+ const orientation = event.currentTarget.dataset.orientation;
811
+ if (orientation === "vertical") {
812
+ const canScrollY = viewportEl.scrollHeight > viewportEl.clientHeight;
813
+ const atTop = viewportEl.scrollTop === 0 && event.deltaY < 0;
814
+ const atBottom = viewportEl.scrollTop === viewportEl.scrollHeight - viewportEl.clientHeight && event.deltaY > 0;
815
+ if (!(canScrollY && event.deltaY !== 0 && !(atTop || atBottom))) return;
816
+ event.preventDefault();
817
+ viewportEl.scrollTop += event.deltaY;
818
+ } else if (orientation === "horizontal") {
819
+ const canScrollX = viewportEl.scrollWidth > viewportEl.clientWidth;
820
+ const atLeft = viewportEl.scrollLeft === 0 && event.deltaX < 0;
821
+ const atRight = viewportEl.scrollLeft === viewportEl.scrollWidth - viewportEl.clientWidth && event.deltaX > 0;
822
+ if (!(canScrollX && event.deltaX !== 0 && !(atLeft || atRight))) return;
823
+ event.preventDefault();
824
+ viewportEl.scrollLeft += event.deltaX;
825
+ }
826
+ };
827
+ return require_utils.callAll(scrollbarYEl && require_event.addDomEvent(scrollbarYEl, "wheel", onWheel, { passive: false }), scrollbarXEl && require_event.addDomEvent(scrollbarXEl, "wheel", onWheel, { passive: false }));
828
+ },
829
+ trackPointerMove({ scope, send, refs }) {
830
+ const doc = scope.getDoc();
831
+ const orientation = refs.get("orientation");
832
+ return require_pointer_move.trackPointerMove(doc, {
833
+ onPointerMove({ point }) {
834
+ send({
835
+ type: "thumb.pointermove",
836
+ orientation,
837
+ point
838
+ });
839
+ },
840
+ onPointerUp() {
841
+ send({
842
+ type: "thumb.pointerup",
843
+ orientation
844
+ });
845
+ }
846
+ });
847
+ }
848
+ }
849
+ }
850
+ });
851
+ //#endregion
852
+ //#region src/machines/scroll-area/props.ts
853
+ const props = require_create_props.createProps()([
854
+ "dir",
855
+ "getRootNode",
856
+ "ids",
857
+ "id"
858
+ ]);
859
+ const splitProps = require_utils.createSplitProps(props);
860
+ //#endregion
861
+ exports.anatomy = anatomy;
862
+ exports.connect = connect;
863
+ exports.machine = machine;
864
+ exports.props = props;
865
+ exports.splitProps = splitProps;