@sprawlify/primitives 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/dist/anatomy.cjs +3 -0
  2. package/dist/anatomy.d.cts +2 -0
  3. package/dist/anatomy.d.mts +2 -0
  4. package/dist/anatomy.mjs +3 -0
  5. package/dist/aria-hidden-DqYx0f_y.mjs +177 -0
  6. package/dist/aria-hidden-DtLU6hSU.cjs +182 -0
  7. package/dist/aria-hidden.cjs +4 -0
  8. package/dist/aria-hidden.d.cts +16 -0
  9. package/dist/aria-hidden.d.mts +16 -0
  10. package/dist/aria-hidden.mjs +4 -0
  11. package/dist/auto-resize-D3qHtFy1.mjs +114 -0
  12. package/dist/auto-resize-xzlPFDyD.cjs +125 -0
  13. package/dist/auto-resize.cjs +5 -0
  14. package/dist/auto-resize.d.cts +17 -0
  15. package/dist/auto-resize.d.mts +17 -0
  16. package/dist/auto-resize.mjs +4 -0
  17. package/dist/chunk-CbDLau6x.cjs +34 -0
  18. package/dist/collection-8XqaNHs_.mjs +1279 -0
  19. package/dist/collection-DIoIDISa.cjs +1326 -0
  20. package/dist/collection.cjs +11 -0
  21. package/dist/collection.d.cts +5 -0
  22. package/dist/collection.d.mts +5 -0
  23. package/dist/collection.mjs +4 -0
  24. package/dist/color-BkAP1Tkd.d.mts +60 -0
  25. package/dist/color-VKewNv2e.d.cts +60 -0
  26. package/dist/color-utils-Cc5GVXZh.mjs +657 -0
  27. package/dist/color-utils-LER_6Zwu.cjs +680 -0
  28. package/dist/color-utils.cjs +7 -0
  29. package/dist/color-utils.d.cts +19 -0
  30. package/dist/color-utils.d.mts +19 -0
  31. package/dist/color-utils.mjs +4 -0
  32. package/dist/core-30pJjyC2.d.mts +49 -0
  33. package/dist/core-CQFbMdTl.cjs +176 -0
  34. package/dist/core-CefBjbst.d.cts +49 -0
  35. package/dist/core-DCFNMTZF.mjs +129 -0
  36. package/dist/core.cjs +12 -0
  37. package/dist/core.d.cts +3 -0
  38. package/dist/core.d.mts +3 -0
  39. package/dist/core.mjs +5 -0
  40. package/dist/create-anatomy-B3XYc-qG.d.mts +70 -0
  41. package/dist/create-anatomy-BGQ8pv8J.d.cts +70 -0
  42. package/dist/create-anatomy-BbDZbHpC.mjs +39 -0
  43. package/dist/create-anatomy-CDsIFUXg.cjs +45 -0
  44. package/dist/create-props-BnF_vl-E.mjs +5 -0
  45. package/dist/create-props-YKy7JIKj.cjs +11 -0
  46. package/dist/data-url-C3ITPVRX.d.cts +10 -0
  47. package/dist/data-url-DLwZ9M77.d.mts +10 -0
  48. package/dist/date-utils-D2xPHa_I.cjs +738 -0
  49. package/dist/date-utils-wEa1hhpc.mjs +474 -0
  50. package/dist/date-utils.cjs +46 -0
  51. package/dist/date-utils.d.cts +101 -0
  52. package/dist/date-utils.d.mts +2 -0
  53. package/dist/date-utils.mjs +3 -0
  54. package/dist/defineProperty-BoUOT9Ie.cjs +49 -0
  55. package/dist/defineProperty-DrXfyjd4.mjs +43 -0
  56. package/dist/dismissable-CTfKZ4OG.cjs +282 -0
  57. package/dist/dismissable-DDrx0xnH.mjs +271 -0
  58. package/dist/dismissable-layer-C7pZU2wi.d.cts +39 -0
  59. package/dist/dismissable-layer-t_b0fk-p.d.mts +39 -0
  60. package/dist/dismissable.cjs +7 -0
  61. package/dist/dismissable.d.cts +3 -0
  62. package/dist/dismissable.d.mts +3 -0
  63. package/dist/dismissable.mjs +6 -0
  64. package/dist/dom-query-CWZdWUGp.cjs +2141 -0
  65. package/dist/dom-query-DFCRhyj1.mjs +1374 -0
  66. package/dist/dom-query.cjs +130 -0
  67. package/dist/dom-query.d.cts +307 -0
  68. package/dist/dom-query.d.mts +307 -0
  69. package/dist/dom-query.mjs +3 -0
  70. package/dist/file-utils.cjs +220 -0
  71. package/dist/file-utils.d.cts +51 -0
  72. package/dist/file-utils.d.mts +51 -0
  73. package/dist/file-utils.mjs +210 -0
  74. package/dist/focus-trap-D-bypQEJ.mjs +485 -0
  75. package/dist/focus-trap-D4i52S9A.cjs +496 -0
  76. package/dist/focus-trap.cjs +5 -0
  77. package/dist/focus-trap.d.cts +88 -0
  78. package/dist/focus-trap.d.mts +88 -0
  79. package/dist/focus-trap.mjs +4 -0
  80. package/dist/focus-visible-DYTWdWpa.cjs +210 -0
  81. package/dist/focus-visible-irppYatv.mjs +175 -0
  82. package/dist/focus-visible.cjs +9 -0
  83. package/dist/focus-visible.d.cts +31 -0
  84. package/dist/focus-visible.d.mts +31 -0
  85. package/dist/focus-visible.mjs +4 -0
  86. package/dist/functions-BOkTDEFM.d.cts +15 -0
  87. package/dist/functions-IZtWcC8Q.d.mts +15 -0
  88. package/dist/highlight-word.cjs +100 -0
  89. package/dist/highlight-word.d.cts +24 -0
  90. package/dist/highlight-word.d.mts +24 -0
  91. package/dist/highlight-word.mjs +99 -0
  92. package/dist/hotkeys.cjs +758 -0
  93. package/dist/hotkeys.d.cts +130 -0
  94. package/dist/hotkeys.d.mts +130 -0
  95. package/dist/hotkeys.mjs +754 -0
  96. package/dist/i18n-utils.cjs +450 -0
  97. package/dist/i18n-utils.d.cts +61 -0
  98. package/dist/i18n-utils.d.mts +61 -0
  99. package/dist/i18n-utils.mjs +440 -0
  100. package/dist/index-BkzYij2j.d.mts +25 -0
  101. package/dist/index-Bqw3r34-.d.cts +1383 -0
  102. package/dist/index-C0MKXQmE.d.mts +1383 -0
  103. package/dist/index-C9-feK5c.d.cts +25 -0
  104. package/dist/index-CD5FN7kY.d.mts +114 -0
  105. package/dist/index-CJji6wHl.d.cts +15 -0
  106. package/dist/index-CNi5FkPe.d.mts +15 -0
  107. package/dist/index-D96rs8B0.d.mts +115 -0
  108. package/dist/index.cjs +0 -0
  109. package/dist/index.d.cts +1 -0
  110. package/dist/index.d.mts +1 -0
  111. package/dist/index.mjs +1 -0
  112. package/dist/interact-outside-BplxR9cR.mjs +200 -0
  113. package/dist/interact-outside-C8-oFBpB.cjs +205 -0
  114. package/dist/interact-outside.cjs +5 -0
  115. package/dist/interact-outside.d.cts +2 -0
  116. package/dist/interact-outside.d.mts +2 -0
  117. package/dist/interact-outside.mjs +5 -0
  118. package/dist/json-tree-utils.cjs +1512 -0
  119. package/dist/json-tree-utils.d.cts +117 -0
  120. package/dist/json-tree-utils.d.mts +117 -0
  121. package/dist/json-tree-utils.mjs +1463 -0
  122. package/dist/list-collection-BIMJGQjn.d.cts +61 -0
  123. package/dist/list-collection-Db3eixRU.d.mts +61 -0
  124. package/dist/live-region-CcZPGo89.cjs +52 -0
  125. package/dist/live-region-CnPh21WH.mjs +46 -0
  126. package/dist/live-region.cjs +3 -0
  127. package/dist/live-region.d.cts +2 -0
  128. package/dist/live-region.d.mts +2 -0
  129. package/dist/live-region.mjs +3 -0
  130. package/dist/machines/accordion/index.cjs +328 -0
  131. package/dist/machines/accordion/index.d.cts +83 -0
  132. package/dist/machines/accordion/index.d.mts +83 -0
  133. package/dist/machines/accordion/index.mjs +322 -0
  134. package/dist/machines/async-list/index.cjs +311 -0
  135. package/dist/machines/async-list/index.d.cts +89 -0
  136. package/dist/machines/async-list/index.d.mts +89 -0
  137. package/dist/machines/async-list/index.mjs +310 -0
  138. package/dist/machines/avatar/index.cjs +169 -0
  139. package/dist/machines/avatar/index.d.cts +63 -0
  140. package/dist/machines/avatar/index.d.mts +63 -0
  141. package/dist/machines/avatar/index.mjs +165 -0
  142. package/dist/machines/bottom-sheet/index.cjs +676 -0
  143. package/dist/machines/bottom-sheet/index.d.cts +239 -0
  144. package/dist/machines/bottom-sheet/index.d.mts +239 -0
  145. package/dist/machines/bottom-sheet/index.mjs +672 -0
  146. package/dist/machines/carousel/index.cjs +859 -0
  147. package/dist/machines/carousel/index.d.cts +146 -0
  148. package/dist/machines/carousel/index.d.mts +146 -0
  149. package/dist/machines/carousel/index.mjs +851 -0
  150. package/dist/machines/checkbox/index.cjs +316 -0
  151. package/dist/machines/checkbox/index.d.cts +81 -0
  152. package/dist/machines/checkbox/index.d.mts +81 -0
  153. package/dist/machines/checkbox/index.mjs +312 -0
  154. package/dist/machines/clipboard/index.cjs +225 -0
  155. package/dist/machines/clipboard/index.d.cts +68 -0
  156. package/dist/machines/clipboard/index.d.mts +68 -0
  157. package/dist/machines/clipboard/index.mjs +219 -0
  158. package/dist/machines/collapsible/index.cjs +362 -0
  159. package/dist/machines/collapsible/index.d.cts +82 -0
  160. package/dist/machines/collapsible/index.d.mts +82 -0
  161. package/dist/machines/collapsible/index.mjs +358 -0
  162. package/dist/machines/color-picker/index.cjs +1529 -0
  163. package/dist/machines/color-picker/index.d.cts +205 -0
  164. package/dist/machines/color-picker/index.d.mts +205 -0
  165. package/dist/machines/color-picker/index.mjs +1514 -0
  166. package/dist/machines/combobox/index.cjs +1593 -0
  167. package/dist/machines/combobox/index.d.cts +214 -0
  168. package/dist/machines/combobox/index.d.mts +214 -0
  169. package/dist/machines/combobox/index.mjs +1582 -0
  170. package/dist/machines/date-picker/index.cjs +2177 -0
  171. package/dist/machines/date-picker/index.d.cts +350 -0
  172. package/dist/machines/date-picker/index.d.mts +350 -0
  173. package/dist/machines/date-picker/index.mjs +2161 -0
  174. package/dist/machines/dialog/index.cjs +325 -0
  175. package/dist/machines/dialog/index.d.cts +80 -0
  176. package/dist/machines/dialog/index.d.mts +80 -0
  177. package/dist/machines/dialog/index.mjs +321 -0
  178. package/dist/machines/editable/index.cjs +551 -0
  179. package/dist/machines/editable/index.d.cts +114 -0
  180. package/dist/machines/editable/index.d.mts +114 -0
  181. package/dist/machines/editable/index.mjs +547 -0
  182. package/dist/machines/floating-panel/index.cjs +995 -0
  183. package/dist/machines/floating-panel/index.d.cts +147 -0
  184. package/dist/machines/floating-panel/index.d.mts +147 -0
  185. package/dist/machines/floating-panel/index.mjs +988 -0
  186. package/dist/machines/hover-card/index.cjs +383 -0
  187. package/dist/machines/hover-card/index.d.cts +69 -0
  188. package/dist/machines/hover-card/index.d.mts +69 -0
  189. package/dist/machines/hover-card/index.mjs +379 -0
  190. package/dist/machines/image-cropper/index.cjs +1995 -0
  191. package/dist/machines/image-cropper/index.d.cts +182 -0
  192. package/dist/machines/image-cropper/index.d.mts +182 -0
  193. package/dist/machines/image-cropper/index.mjs +1990 -0
  194. package/dist/machines/listbox/index.cjs +794 -0
  195. package/dist/machines/listbox/index.d.cts +168 -0
  196. package/dist/machines/listbox/index.d.mts +168 -0
  197. package/dist/machines/listbox/index.mjs +782 -0
  198. package/dist/machines/marquee/index.cjs +395 -0
  199. package/dist/machines/marquee/index.d.cts +102 -0
  200. package/dist/machines/marquee/index.d.mts +102 -0
  201. package/dist/machines/marquee/index.mjs +391 -0
  202. package/dist/machines/menu/index.cjs +1298 -0
  203. package/dist/machines/menu/index.d.cts +175 -0
  204. package/dist/machines/menu/index.d.mts +175 -0
  205. package/dist/machines/menu/index.mjs +1286 -0
  206. package/dist/machines/navigation-menu/index.cjs +861 -0
  207. package/dist/machines/navigation-menu/index.d.cts +127 -0
  208. package/dist/machines/navigation-menu/index.d.mts +127 -0
  209. package/dist/machines/navigation-menu/index.mjs +857 -0
  210. package/dist/machines/number-input/index.cjs +996 -0
  211. package/dist/machines/number-input/index.d.cts +134 -0
  212. package/dist/machines/number-input/index.d.mts +134 -0
  213. package/dist/machines/number-input/index.mjs +991 -0
  214. package/dist/machines/pagination/index.cjs +419 -0
  215. package/dist/machines/pagination/index.d.cts +139 -0
  216. package/dist/machines/pagination/index.d.mts +139 -0
  217. package/dist/machines/pagination/index.mjs +411 -0
  218. package/dist/machines/password-input/index.cjs +228 -0
  219. package/dist/machines/password-input/index.d.cts +71 -0
  220. package/dist/machines/password-input/index.d.mts +71 -0
  221. package/dist/machines/password-input/index.mjs +224 -0
  222. package/dist/machines/pin-input/index.cjs +523 -0
  223. package/dist/machines/pin-input/index.d.cts +105 -0
  224. package/dist/machines/pin-input/index.d.mts +105 -0
  225. package/dist/machines/pin-input/index.mjs +519 -0
  226. package/dist/machines/popover/index.cjs +430 -0
  227. package/dist/machines/popover/index.d.cts +88 -0
  228. package/dist/machines/popover/index.d.mts +88 -0
  229. package/dist/machines/popover/index.mjs +426 -0
  230. package/dist/machines/presence/index.cjs +192 -0
  231. package/dist/machines/presence/index.d.cts +44 -0
  232. package/dist/machines/presence/index.d.mts +44 -0
  233. package/dist/machines/presence/index.mjs +190 -0
  234. package/dist/machines/progress/index.cjs +288 -0
  235. package/dist/machines/progress/index.d.cts +96 -0
  236. package/dist/machines/progress/index.d.mts +96 -0
  237. package/dist/machines/progress/index.mjs +284 -0
  238. package/dist/machines/qr-code/index.cjs +172 -0
  239. package/dist/machines/qr-code/index.d.cts +70 -0
  240. package/dist/machines/qr-code/index.d.mts +70 -0
  241. package/dist/machines/qr-code/index.mjs +167 -0
  242. package/dist/machines/radio-group/index.cjs +436 -0
  243. package/dist/machines/radio-group/index.d.cts +106 -0
  244. package/dist/machines/radio-group/index.d.mts +106 -0
  245. package/dist/machines/radio-group/index.mjs +430 -0
  246. package/dist/machines/rating-group/index.cjs +405 -0
  247. package/dist/machines/rating-group/index.d.cts +101 -0
  248. package/dist/machines/rating-group/index.d.mts +101 -0
  249. package/dist/machines/rating-group/index.mjs +399 -0
  250. package/dist/machines/scroll-area/index.cjs +857 -0
  251. package/dist/machines/scroll-area/index.d.cts +159 -0
  252. package/dist/machines/scroll-area/index.d.mts +159 -0
  253. package/dist/machines/scroll-area/index.mjs +853 -0
  254. package/dist/machines/select/index.cjs +1165 -0
  255. package/dist/machines/select/index.d.cts +183 -0
  256. package/dist/machines/select/index.d.mts +183 -0
  257. package/dist/machines/select/index.mjs +1154 -0
  258. package/dist/machines/signature-pad/index.cjs +334 -0
  259. package/dist/machines/signature-pad/index.d.cts +108 -0
  260. package/dist/machines/signature-pad/index.d.mts +108 -0
  261. package/dist/machines/signature-pad/index.mjs +328 -0
  262. package/dist/machines/slider/index.cjs +957 -0
  263. package/dist/machines/slider/index.d.cts +149 -0
  264. package/dist/machines/slider/index.d.mts +149 -0
  265. package/dist/machines/slider/index.mjs +949 -0
  266. package/dist/machines/splitter/index.cjs +1112 -0
  267. package/dist/machines/splitter/index.d.cts +155 -0
  268. package/dist/machines/splitter/index.d.mts +155 -0
  269. package/dist/machines/splitter/index.mjs +1103 -0
  270. package/dist/machines/steps/index.cjs +289 -0
  271. package/dist/machines/steps/index.d.cts +97 -0
  272. package/dist/machines/steps/index.d.mts +97 -0
  273. package/dist/machines/steps/index.mjs +285 -0
  274. package/dist/machines/switch/index.cjs +305 -0
  275. package/dist/machines/switch/index.d.cts +80 -0
  276. package/dist/machines/switch/index.d.mts +80 -0
  277. package/dist/machines/switch/index.mjs +301 -0
  278. package/dist/machines/tabs/index.cjs +508 -0
  279. package/dist/machines/tabs/index.d.cts +111 -0
  280. package/dist/machines/tabs/index.d.mts +111 -0
  281. package/dist/machines/tabs/index.mjs +500 -0
  282. package/dist/machines/tags-input/index.cjs +1127 -0
  283. package/dist/machines/tags-input/index.d.cts +179 -0
  284. package/dist/machines/tags-input/index.d.mts +179 -0
  285. package/dist/machines/tags-input/index.mjs +1121 -0
  286. package/dist/machines/timer/index.cjs +329 -0
  287. package/dist/machines/timer/index.d.cts +98 -0
  288. package/dist/machines/timer/index.d.mts +98 -0
  289. package/dist/machines/timer/index.mjs +324 -0
  290. package/dist/machines/toast/index.cjs +1155 -0
  291. package/dist/machines/toast/index.d.cts +195 -0
  292. package/dist/machines/toast/index.d.mts +195 -0
  293. package/dist/machines/toast/index.mjs +1151 -0
  294. package/dist/machines/toggle/index.cjs +103 -0
  295. package/dist/machines/toggle/index.d.cts +46 -0
  296. package/dist/machines/toggle/index.d.mts +46 -0
  297. package/dist/machines/toggle/index.mjs +99 -0
  298. package/dist/machines/toggle-group/index.cjs +328 -0
  299. package/dist/machines/toggle-group/index.d.cts +81 -0
  300. package/dist/machines/toggle-group/index.d.mts +81 -0
  301. package/dist/machines/toggle-group/index.mjs +322 -0
  302. package/dist/machines/tooltip/index.cjs +516 -0
  303. package/dist/machines/tooltip/index.d.cts +71 -0
  304. package/dist/machines/tooltip/index.d.mts +71 -0
  305. package/dist/machines/tooltip/index.mjs +512 -0
  306. package/dist/machines/tour/index.cjs +1108 -0
  307. package/dist/machines/tour/index.d.cts +206 -0
  308. package/dist/machines/tour/index.d.mts +206 -0
  309. package/dist/machines/tour/index.mjs +1101 -0
  310. package/dist/machines/tree-view/index.cjs +1271 -0
  311. package/dist/machines/tree-view/index.d.cts +215 -0
  312. package/dist/machines/tree-view/index.d.mts +215 -0
  313. package/dist/machines/tree-view/index.mjs +1263 -0
  314. package/dist/node-BctU8GXk.d.mts +24 -0
  315. package/dist/node-CSsuPZVZ.d.cts +24 -0
  316. package/dist/popper-BPJeAtcA.mjs +349 -0
  317. package/dist/popper-D0FAW_p7.cjs +373 -0
  318. package/dist/popper.cjs +8 -0
  319. package/dist/popper.d.cts +74 -0
  320. package/dist/popper.d.mts +2 -0
  321. package/dist/popper.mjs +5 -0
  322. package/dist/raf-BnlYUlDi.d.mts +15 -0
  323. package/dist/raf-Cd2FGy0z.d.cts +15 -0
  324. package/dist/rect-utils-0ellN0a_.mjs +854 -0
  325. package/dist/rect-utils-DKLRhP8G.cjs +1147 -0
  326. package/dist/rect-utils.cjs +51 -0
  327. package/dist/rect-utils.d.cts +198 -0
  328. package/dist/rect-utils.d.mts +198 -0
  329. package/dist/rect-utils.mjs +3 -0
  330. package/dist/remove-scroll-Lrfv79X_.mjs +58 -0
  331. package/dist/remove-scroll-Uvzg1L9r.cjs +63 -0
  332. package/dist/remove-scroll.cjs +0 -0
  333. package/dist/remove-scroll.d.cts +1 -0
  334. package/dist/remove-scroll.d.mts +1 -0
  335. package/dist/remove-scroll.mjs +1 -0
  336. package/dist/scroll-snap-CrTmQRzA.mjs +152 -0
  337. package/dist/scroll-snap-zyiZLv7W.cjs +175 -0
  338. package/dist/scroll-snap.cjs +7 -0
  339. package/dist/scroll-snap.d.cts +14 -0
  340. package/dist/scroll-snap.d.mts +14 -0
  341. package/dist/scroll-snap.mjs +4 -0
  342. package/dist/selection-BIhSzkF7.d.mts +50 -0
  343. package/dist/selection-CS1GBp8e.d.cts +50 -0
  344. package/dist/store-BZcXv49B.cjs +305 -0
  345. package/dist/store-DEojWy9H.mjs +263 -0
  346. package/dist/store.cjs +9 -0
  347. package/dist/store.d.cts +26 -0
  348. package/dist/store.d.mts +26 -0
  349. package/dist/store.mjs +3 -0
  350. package/dist/stringify-state.cjs +49 -0
  351. package/dist/stringify-state.d.cts +8 -0
  352. package/dist/stringify-state.d.mts +8 -0
  353. package/dist/stringify-state.mjs +46 -0
  354. package/dist/tree-collection-BwU5WhGQ.d.mts +78 -0
  355. package/dist/tree-collection-DP_eznnI.d.cts +78 -0
  356. package/dist/typeahead-BdNwVP09.d.cts +45 -0
  357. package/dist/typeahead-XN6lZ7G9.d.mts +45 -0
  358. package/dist/types-BivBkYg9.d.cts +57 -0
  359. package/dist/types-Bl_6JtPQ.d.mts +57 -0
  360. package/dist/types-CPUMVt7c.d.mts +54 -0
  361. package/dist/types-CT_W6HWr.d.cts +54 -0
  362. package/dist/types-DDTcG99l.d.mts +201 -0
  363. package/dist/types-DejIu60O.d.cts +201 -0
  364. package/dist/types-DiIdKZ3K.d.cts +45 -0
  365. package/dist/types-GxLIgJib.d.cts +17 -0
  366. package/dist/types.cjs +15 -0
  367. package/dist/types.d.cts +2 -0
  368. package/dist/types.d.mts +2 -0
  369. package/dist/types.mjs +14 -0
  370. package/dist/utils-BZyrxWWR.mjs +525 -0
  371. package/dist/utils-_6frwjgJ.cjs +1040 -0
  372. package/dist/utils.cjs +88 -0
  373. package/dist/utils.d.cts +144 -0
  374. package/dist/utils.d.mts +144 -0
  375. package/dist/utils.mjs +3 -0
  376. package/dist/wait-for-CMjPsqWk.d.cts +10 -0
  377. package/dist/wait-for-D2nkdD4z.d.mts +10 -0
  378. package/package.json +399 -0
@@ -0,0 +1,859 @@
1
+ const require_create_anatomy = require('../../create-anatomy-CDsIFUXg.cjs');
2
+ const require_dom_query = require('../../dom-query-CWZdWUGp.cjs');
3
+ const require_utils = require('../../utils-_6frwjgJ.cjs');
4
+ const require_core = require('../../core-CQFbMdTl.cjs');
5
+ const require_scroll_snap = require('../../scroll-snap-zyiZLv7W.cjs');
6
+ const require_create_props = require('../../create-props-YKy7JIKj.cjs');
7
+
8
+ //#region src/machines/carousel/carousel.anatomy.ts
9
+ const anatomy = require_create_anatomy.createAnatomy("carousel").parts("root", "itemGroup", "item", "control", "nextTrigger", "prevTrigger", "indicatorGroup", "indicator", "autoplayTrigger", "progressText");
10
+ const parts = anatomy.build();
11
+
12
+ //#endregion
13
+ //#region src/machines/carousel/carousel.dom.ts
14
+ const getRootId = (ctx) => ctx.ids?.root ?? `carousel:${ctx.id}`;
15
+ const getItemId = (ctx, index) => ctx.ids?.item?.(index) ?? `carousel:${ctx.id}:item:${index}`;
16
+ const getItemGroupId = (ctx) => ctx.ids?.itemGroup ?? `carousel:${ctx.id}:item-group`;
17
+ const getNextTriggerId = (ctx) => ctx.ids?.nextTrigger ?? `carousel:${ctx.id}:next-trigger`;
18
+ const getPrevTriggerId = (ctx) => ctx.ids?.prevTrigger ?? `carousel:${ctx.id}:prev-trigger`;
19
+ const getIndicatorGroupId = (ctx) => ctx.ids?.indicatorGroup ?? `carousel:${ctx.id}:indicator-group`;
20
+ const getIndicatorId = (ctx, index) => ctx.ids?.indicator?.(index) ?? `carousel:${ctx.id}:indicator:${index}`;
21
+ const getItemGroupEl = (ctx) => ctx.getById(getItemGroupId(ctx));
22
+ const getItemEls = (ctx) => require_dom_query.queryAll(getItemGroupEl(ctx), `[data-part=item]`);
23
+ const getIndicatorEl = (ctx, page) => ctx.getById(getIndicatorId(ctx, page));
24
+ const syncTabIndex = (ctx) => {
25
+ const el = getItemGroupEl(ctx);
26
+ if (!el) return;
27
+ const tabbables = require_dom_query.getTabbables(el);
28
+ el.setAttribute("tabindex", tabbables.length > 0 ? "-1" : "0");
29
+ };
30
+
31
+ //#endregion
32
+ //#region src/machines/carousel/carousel.connect.ts
33
+ function connect(service, normalize) {
34
+ const { state, context, computed, send, scope, prop } = service;
35
+ const isPlaying = state.matches("autoplay");
36
+ const isDragging = state.matches("dragging");
37
+ const canScrollNext = computed("canScrollNext");
38
+ const canScrollPrev = computed("canScrollPrev");
39
+ const horizontal = computed("isHorizontal");
40
+ const autoSize = prop("autoSize");
41
+ const pageSnapPoints = Array.from(context.get("pageSnapPoints"));
42
+ const page = context.get("page");
43
+ const slidesPerPage = prop("slidesPerPage");
44
+ const padding = prop("padding");
45
+ const translations = prop("translations");
46
+ return {
47
+ isPlaying,
48
+ isDragging,
49
+ page,
50
+ pageSnapPoints,
51
+ canScrollNext,
52
+ canScrollPrev,
53
+ getProgress() {
54
+ return page / pageSnapPoints.length;
55
+ },
56
+ getProgressText() {
57
+ const details = {
58
+ page: page + 1,
59
+ totalPages: pageSnapPoints.length
60
+ };
61
+ return translations.progressText?.(details) ?? "";
62
+ },
63
+ scrollToIndex(index, instant) {
64
+ send({
65
+ type: "INDEX.SET",
66
+ index,
67
+ instant
68
+ });
69
+ },
70
+ scrollTo(index, instant) {
71
+ send({
72
+ type: "PAGE.SET",
73
+ index,
74
+ instant
75
+ });
76
+ },
77
+ scrollNext(instant) {
78
+ send({
79
+ type: "PAGE.NEXT",
80
+ instant
81
+ });
82
+ },
83
+ scrollPrev(instant) {
84
+ send({
85
+ type: "PAGE.PREV",
86
+ instant
87
+ });
88
+ },
89
+ play() {
90
+ send({ type: "AUTOPLAY.START" });
91
+ },
92
+ pause() {
93
+ send({ type: "AUTOPLAY.PAUSE" });
94
+ },
95
+ isInView(index) {
96
+ return Array.from(context.get("slidesInView")).includes(index);
97
+ },
98
+ refresh() {
99
+ send({ type: "SNAP.REFRESH" });
100
+ },
101
+ getRootProps() {
102
+ return normalize.element({
103
+ ...parts.root.attrs,
104
+ id: getRootId(scope),
105
+ role: "region",
106
+ "aria-roledescription": "carousel",
107
+ "data-orientation": prop("orientation"),
108
+ dir: prop("dir"),
109
+ style: {
110
+ "--slides-per-page": slidesPerPage,
111
+ "--slide-spacing": prop("spacing"),
112
+ "--slide-item-size": autoSize ? "auto" : "calc(100% / var(--slides-per-page) - var(--slide-spacing) * (var(--slides-per-page) - 1) / var(--slides-per-page))"
113
+ }
114
+ });
115
+ },
116
+ getItemGroupProps() {
117
+ return normalize.element({
118
+ ...parts.itemGroup.attrs,
119
+ id: getItemGroupId(scope),
120
+ "data-orientation": prop("orientation"),
121
+ "data-dragging": require_dom_query.dataAttr(isDragging),
122
+ dir: prop("dir"),
123
+ "aria-live": isPlaying ? "off" : "polite",
124
+ onFocus(event) {
125
+ if (!require_dom_query.contains(event.currentTarget, require_dom_query.getEventTarget(event))) return;
126
+ send({ type: "VIEWPORT.FOCUS" });
127
+ },
128
+ onBlur(event) {
129
+ if (require_dom_query.contains(event.currentTarget, event.relatedTarget)) return;
130
+ send({ type: "VIEWPORT.BLUR" });
131
+ },
132
+ onMouseDown(event) {
133
+ if (event.defaultPrevented) return;
134
+ if (!prop("allowMouseDrag")) return;
135
+ if (!require_dom_query.isLeftClick(event)) return;
136
+ const target = require_dom_query.getEventTarget(event);
137
+ if (require_dom_query.isFocusable(target) && target !== event.currentTarget) return;
138
+ event.preventDefault();
139
+ send({ type: "DRAGGING.START" });
140
+ },
141
+ onWheel: require_utils.throttle((event) => {
142
+ const axis = prop("orientation") === "horizontal" ? "deltaX" : "deltaY";
143
+ if (event[axis] < 0 && !computed("canScrollPrev")) return;
144
+ if (event[axis] > 0 && !computed("canScrollNext")) return;
145
+ send({ type: "USER.SCROLL" });
146
+ }, 150),
147
+ onTouchStart() {
148
+ send({ type: "USER.SCROLL" });
149
+ },
150
+ style: {
151
+ display: autoSize ? "flex" : "grid",
152
+ gap: "var(--slide-spacing)",
153
+ scrollSnapType: [horizontal ? "x" : "y", prop("snapType")].join(" "),
154
+ gridAutoFlow: horizontal ? "column" : "row",
155
+ scrollbarWidth: "none",
156
+ overscrollBehaviorX: "contain",
157
+ [horizontal ? "gridAutoColumns" : "gridAutoRows"]: autoSize ? void 0 : "var(--slide-item-size)",
158
+ [horizontal ? "scrollPaddingInline" : "scrollPaddingBlock"]: padding,
159
+ [horizontal ? "paddingInline" : "paddingBlock"]: padding,
160
+ [horizontal ? "overflowX" : "overflowY"]: "auto"
161
+ }
162
+ });
163
+ },
164
+ getItemProps(props$1) {
165
+ const isInView = context.get("slidesInView").includes(props$1.index);
166
+ return normalize.element({
167
+ ...parts.item.attrs,
168
+ id: getItemId(scope, props$1.index),
169
+ dir: prop("dir"),
170
+ role: "group",
171
+ "data-index": props$1.index,
172
+ "data-inview": require_dom_query.dataAttr(isInView),
173
+ "aria-roledescription": "slide",
174
+ "data-orientation": prop("orientation"),
175
+ "aria-label": translations.item(props$1.index, prop("slideCount")),
176
+ "aria-hidden": require_dom_query.ariaAttr(!isInView),
177
+ style: {
178
+ flex: "0 0 auto",
179
+ [horizontal ? "maxWidth" : "maxHeight"]: "100%",
180
+ scrollSnapAlign: (() => {
181
+ const snapAlign = props$1.snapAlign ?? "start";
182
+ const slidesPerMove = prop("slidesPerMove");
183
+ const perMove = slidesPerMove === "auto" ? Math.floor(prop("slidesPerPage")) : slidesPerMove;
184
+ return (props$1.index + perMove) % perMove === 0 ? snapAlign : void 0;
185
+ })()
186
+ }
187
+ });
188
+ },
189
+ getControlProps() {
190
+ return normalize.element({
191
+ ...parts.control.attrs,
192
+ "data-orientation": prop("orientation")
193
+ });
194
+ },
195
+ getPrevTriggerProps() {
196
+ return normalize.button({
197
+ ...parts.prevTrigger.attrs,
198
+ id: getPrevTriggerId(scope),
199
+ type: "button",
200
+ disabled: !canScrollPrev,
201
+ dir: prop("dir"),
202
+ "aria-label": translations.prevTrigger,
203
+ "data-orientation": prop("orientation"),
204
+ "aria-controls": getItemGroupId(scope),
205
+ onClick(event) {
206
+ if (event.defaultPrevented) return;
207
+ send({
208
+ type: "PAGE.PREV",
209
+ src: "trigger"
210
+ });
211
+ }
212
+ });
213
+ },
214
+ getNextTriggerProps() {
215
+ return normalize.button({
216
+ ...parts.nextTrigger.attrs,
217
+ dir: prop("dir"),
218
+ id: getNextTriggerId(scope),
219
+ type: "button",
220
+ "aria-label": translations.nextTrigger,
221
+ "data-orientation": prop("orientation"),
222
+ "aria-controls": getItemGroupId(scope),
223
+ disabled: !canScrollNext,
224
+ onClick(event) {
225
+ if (event.defaultPrevented) return;
226
+ send({
227
+ type: "PAGE.NEXT",
228
+ src: "trigger"
229
+ });
230
+ }
231
+ });
232
+ },
233
+ getIndicatorGroupProps() {
234
+ return normalize.element({
235
+ ...parts.indicatorGroup.attrs,
236
+ dir: prop("dir"),
237
+ id: getIndicatorGroupId(scope),
238
+ "data-orientation": prop("orientation"),
239
+ onKeyDown(event) {
240
+ if (event.defaultPrevented) return;
241
+ const src = "indicator";
242
+ const exec = {
243
+ ArrowDown(event$1) {
244
+ if (horizontal) return;
245
+ send({
246
+ type: "PAGE.NEXT",
247
+ src
248
+ });
249
+ event$1.preventDefault();
250
+ },
251
+ ArrowUp(event$1) {
252
+ if (horizontal) return;
253
+ send({
254
+ type: "PAGE.PREV",
255
+ src
256
+ });
257
+ event$1.preventDefault();
258
+ },
259
+ ArrowRight(event$1) {
260
+ if (!horizontal) return;
261
+ send({
262
+ type: "PAGE.NEXT",
263
+ src
264
+ });
265
+ event$1.preventDefault();
266
+ },
267
+ ArrowLeft(event$1) {
268
+ if (!horizontal) return;
269
+ send({
270
+ type: "PAGE.PREV",
271
+ src
272
+ });
273
+ event$1.preventDefault();
274
+ },
275
+ Home(event$1) {
276
+ send({
277
+ type: "PAGE.SET",
278
+ index: 0,
279
+ src
280
+ });
281
+ event$1.preventDefault();
282
+ },
283
+ End(event$1) {
284
+ send({
285
+ type: "PAGE.SET",
286
+ index: pageSnapPoints.length - 1,
287
+ src
288
+ });
289
+ event$1.preventDefault();
290
+ }
291
+ }[require_dom_query.getEventKey(event, {
292
+ dir: prop("dir"),
293
+ orientation: prop("orientation")
294
+ })];
295
+ exec?.(event);
296
+ }
297
+ });
298
+ },
299
+ getIndicatorProps(props$1) {
300
+ return normalize.button({
301
+ ...parts.indicator.attrs,
302
+ dir: prop("dir"),
303
+ id: getIndicatorId(scope, props$1.index),
304
+ type: "button",
305
+ "data-orientation": prop("orientation"),
306
+ "data-index": props$1.index,
307
+ "data-readonly": require_dom_query.dataAttr(props$1.readOnly),
308
+ "data-current": require_dom_query.dataAttr(props$1.index === page),
309
+ "aria-label": translations.indicator(props$1.index),
310
+ onClick(event) {
311
+ if (event.defaultPrevented) return;
312
+ if (props$1.readOnly) return;
313
+ send({
314
+ type: "PAGE.SET",
315
+ index: props$1.index,
316
+ src: "indicator"
317
+ });
318
+ }
319
+ });
320
+ },
321
+ getAutoplayTriggerProps() {
322
+ return normalize.button({
323
+ ...parts.autoplayTrigger.attrs,
324
+ type: "button",
325
+ "data-orientation": prop("orientation"),
326
+ "data-pressed": require_dom_query.dataAttr(isPlaying),
327
+ "aria-label": isPlaying ? translations.autoplayStop : translations.autoplayStart,
328
+ onClick(event) {
329
+ if (event.defaultPrevented) return;
330
+ send({ type: isPlaying ? "AUTOPLAY.PAUSE" : "AUTOPLAY.START" });
331
+ }
332
+ });
333
+ },
334
+ getProgressTextProps() {
335
+ return normalize.element({ ...parts.progressText.attrs });
336
+ }
337
+ };
338
+ }
339
+
340
+ //#endregion
341
+ //#region src/machines/carousel/carousel.machine.ts
342
+ const machine = require_core.createMachine({
343
+ props({ props: props$1 }) {
344
+ require_utils.ensureProps(props$1, ["slideCount"], "carousel");
345
+ return {
346
+ dir: "ltr",
347
+ defaultPage: 0,
348
+ orientation: "horizontal",
349
+ snapType: "mandatory",
350
+ loop: !!props$1.autoplay,
351
+ slidesPerPage: 1,
352
+ slidesPerMove: "auto",
353
+ spacing: "0px",
354
+ autoplay: false,
355
+ allowMouseDrag: false,
356
+ inViewThreshold: .6,
357
+ autoSize: false,
358
+ ...props$1,
359
+ translations: {
360
+ nextTrigger: "Next slide",
361
+ prevTrigger: "Previous slide",
362
+ indicator: (index) => `Go to slide ${index + 1}`,
363
+ item: (index, count) => `${index + 1} of ${count}`,
364
+ autoplayStart: "Start slide rotation",
365
+ autoplayStop: "Stop slide rotation",
366
+ progressText: ({ page, totalPages }) => `${page} / ${totalPages}`,
367
+ ...props$1.translations
368
+ }
369
+ };
370
+ },
371
+ refs() {
372
+ return { timeoutRef: void 0 };
373
+ },
374
+ initialState({ prop }) {
375
+ return prop("autoplay") ? "autoplay" : "idle";
376
+ },
377
+ context({ prop, bindable, getContext }) {
378
+ return {
379
+ page: bindable(() => ({
380
+ defaultValue: prop("defaultPage"),
381
+ value: prop("page"),
382
+ onChange(page) {
383
+ const pageSnapPoints = getContext().get("pageSnapPoints");
384
+ prop("onPageChange")?.({
385
+ page,
386
+ pageSnapPoint: pageSnapPoints[page]
387
+ });
388
+ }
389
+ })),
390
+ pageSnapPoints: bindable(() => {
391
+ return { defaultValue: prop("autoSize") ? Array.from({ length: prop("slideCount") }, (_, i) => i) : getPageSnapPoints(prop("slideCount"), prop("slidesPerMove"), prop("slidesPerPage")) };
392
+ }),
393
+ slidesInView: bindable(() => ({ defaultValue: [] }))
394
+ };
395
+ },
396
+ computed: {
397
+ isRtl: ({ prop }) => prop("dir") === "rtl",
398
+ isHorizontal: ({ prop }) => prop("orientation") === "horizontal",
399
+ canScrollNext: ({ prop, context }) => prop("loop") || context.get("page") < context.get("pageSnapPoints").length - 1,
400
+ canScrollPrev: ({ prop, context }) => prop("loop") || context.get("page") > 0,
401
+ autoplayInterval: ({ prop }) => {
402
+ const autoplay = prop("autoplay");
403
+ return require_utils.isObject(autoplay) ? autoplay.delay : 4e3;
404
+ }
405
+ },
406
+ watch({ track, action, context, prop, send }) {
407
+ track([() => prop("slidesPerPage"), () => prop("slidesPerMove")], () => {
408
+ action(["setSnapPoints"]);
409
+ });
410
+ track([() => context.get("page")], () => {
411
+ action(["scrollToPage", "focusIndicatorEl"]);
412
+ });
413
+ track([() => prop("orientation"), () => prop("autoSize")], () => {
414
+ action(["setSnapPoints", "scrollToPage"]);
415
+ });
416
+ track([() => prop("slideCount")], () => {
417
+ send({
418
+ type: "SNAP.REFRESH",
419
+ src: "slide.count"
420
+ });
421
+ });
422
+ track([() => !!prop("autoplay")], () => {
423
+ send({
424
+ type: prop("autoplay") ? "AUTOPLAY.START" : "AUTOPLAY.PAUSE",
425
+ src: "autoplay.prop.change"
426
+ });
427
+ });
428
+ },
429
+ on: {
430
+ "PAGE.NEXT": {
431
+ target: "idle",
432
+ actions: ["clearScrollEndTimer", "setNextPage"]
433
+ },
434
+ "PAGE.PREV": {
435
+ target: "idle",
436
+ actions: ["clearScrollEndTimer", "setPrevPage"]
437
+ },
438
+ "PAGE.SET": {
439
+ target: "idle",
440
+ actions: ["clearScrollEndTimer", "setPage"]
441
+ },
442
+ "INDEX.SET": {
443
+ target: "idle",
444
+ actions: ["clearScrollEndTimer", "setMatchingPage"]
445
+ },
446
+ "SNAP.REFRESH": { actions: ["setSnapPoints", "clampPage"] },
447
+ "PAGE.SCROLL": { actions: ["scrollToPage"] }
448
+ },
449
+ effects: [
450
+ "trackSlideMutation",
451
+ "trackSlideIntersections",
452
+ "trackSlideResize"
453
+ ],
454
+ entry: ["setSnapPoints", "setPage"],
455
+ exit: ["clearScrollEndTimer"],
456
+ states: {
457
+ idle: { on: {
458
+ "DRAGGING.START": {
459
+ target: "dragging",
460
+ actions: ["invokeDragStart"]
461
+ },
462
+ "AUTOPLAY.START": {
463
+ target: "autoplay",
464
+ actions: ["invokeAutoplayStart"]
465
+ },
466
+ "USER.SCROLL": { target: "userScroll" },
467
+ "VIEWPORT.FOCUS": { target: "focus" }
468
+ } },
469
+ focus: {
470
+ effects: ["trackKeyboardScroll"],
471
+ on: {
472
+ "VIEWPORT.BLUR": { target: "idle" },
473
+ "PAGE.NEXT": { actions: ["clearScrollEndTimer", "setNextPage"] },
474
+ "PAGE.PREV": { actions: ["clearScrollEndTimer", "setPrevPage"] },
475
+ "PAGE.SET": { actions: ["clearScrollEndTimer", "setPage"] },
476
+ "INDEX.SET": { actions: ["clearScrollEndTimer", "setMatchingPage"] },
477
+ "USER.SCROLL": { target: "userScroll" }
478
+ }
479
+ },
480
+ dragging: {
481
+ effects: ["trackPointerMove"],
482
+ entry: ["disableScrollSnap"],
483
+ on: {
484
+ DRAGGING: { actions: ["scrollSlides", "invokeDragging"] },
485
+ "DRAGGING.END": {
486
+ target: "idle",
487
+ actions: ["endDragging", "invokeDraggingEnd"]
488
+ }
489
+ }
490
+ },
491
+ userScroll: {
492
+ effects: ["trackScroll"],
493
+ on: {
494
+ "DRAGGING.START": {
495
+ target: "dragging",
496
+ actions: ["invokeDragStart"]
497
+ },
498
+ "SCROLL.END": [{
499
+ guard: "isFocused",
500
+ target: "focus",
501
+ actions: ["setClosestPage"]
502
+ }, {
503
+ target: "idle",
504
+ actions: ["setClosestPage"]
505
+ }]
506
+ }
507
+ },
508
+ autoplay: {
509
+ effects: [
510
+ "trackDocumentVisibility",
511
+ "trackScroll",
512
+ "autoUpdateSlide"
513
+ ],
514
+ exit: ["invokeAutoplayEnd"],
515
+ on: {
516
+ "AUTOPLAY.TICK": { actions: ["setNextPage", "invokeAutoplay"] },
517
+ "DRAGGING.START": {
518
+ target: "dragging",
519
+ actions: ["invokeDragStart"]
520
+ },
521
+ "AUTOPLAY.PAUSE": { target: "idle" }
522
+ }
523
+ }
524
+ },
525
+ implementations: {
526
+ guards: { isFocused: ({ scope }) => scope.isActiveElement(getItemGroupEl(scope)) },
527
+ effects: {
528
+ autoUpdateSlide({ computed, send }) {
529
+ const id = setInterval(() => {
530
+ send({
531
+ type: computed("canScrollNext") ? "AUTOPLAY.TICK" : "AUTOPLAY.PAUSE",
532
+ src: "autoplay.interval"
533
+ });
534
+ }, computed("autoplayInterval"));
535
+ return () => clearInterval(id);
536
+ },
537
+ trackSlideMutation({ scope, send }) {
538
+ const el = getItemGroupEl(scope);
539
+ if (!el) return;
540
+ const observer = new (scope.getWin()).MutationObserver(() => {
541
+ send({
542
+ type: "SNAP.REFRESH",
543
+ src: "slide.mutation"
544
+ });
545
+ syncTabIndex(scope);
546
+ });
547
+ syncTabIndex(scope);
548
+ observer.observe(el, {
549
+ childList: true,
550
+ subtree: true
551
+ });
552
+ return () => observer.disconnect();
553
+ },
554
+ trackSlideResize({ scope, send }) {
555
+ if (!getItemGroupEl(scope)) return;
556
+ const exec = () => {
557
+ send({
558
+ type: "SNAP.REFRESH",
559
+ src: "slide.resize"
560
+ });
561
+ };
562
+ require_dom_query.raf(() => {
563
+ exec();
564
+ require_dom_query.raf(() => {
565
+ send({
566
+ type: "PAGE.SCROLL",
567
+ instant: true
568
+ });
569
+ });
570
+ });
571
+ const itemEls = getItemEls(scope);
572
+ itemEls.forEach(exec);
573
+ return require_utils.callAll(...itemEls.map((el) => require_dom_query.resizeObserverBorderBox.observe(el, exec)));
574
+ },
575
+ trackSlideIntersections({ scope, prop, context }) {
576
+ const el = getItemGroupEl(scope);
577
+ const observer = new (scope.getWin()).IntersectionObserver((entries) => {
578
+ const slidesInView = entries.reduce((acc, entry) => {
579
+ const target = entry.target;
580
+ const index = Number(target.dataset.index ?? "-1");
581
+ if (index == null || Number.isNaN(index) || index === -1) return acc;
582
+ return entry.isIntersecting ? require_utils.add(acc, index) : require_utils.remove(acc, index);
583
+ }, context.get("slidesInView"));
584
+ context.set("slidesInView", require_utils.uniq(slidesInView));
585
+ }, {
586
+ root: el,
587
+ threshold: prop("inViewThreshold")
588
+ });
589
+ getItemEls(scope).forEach((slide) => observer.observe(slide));
590
+ return () => observer.disconnect();
591
+ },
592
+ trackScroll({ send, refs, scope }) {
593
+ const el = getItemGroupEl(scope);
594
+ if (!el) return;
595
+ const onScroll = () => {
596
+ clearTimeout(refs.get("timeoutRef"));
597
+ refs.set("timeoutRef", void 0);
598
+ refs.set("timeoutRef", setTimeout(() => {
599
+ send({ type: "SCROLL.END" });
600
+ }, 150));
601
+ };
602
+ return require_dom_query.addDomEvent(el, "scroll", onScroll, { passive: true });
603
+ },
604
+ trackDocumentVisibility({ scope, send }) {
605
+ const doc = scope.getDoc();
606
+ const onVisibilityChange = () => {
607
+ if (doc.visibilityState === "visible") return;
608
+ send({
609
+ type: "AUTOPLAY.PAUSE",
610
+ src: "doc.hidden"
611
+ });
612
+ };
613
+ return require_dom_query.addDomEvent(doc, "visibilitychange", onVisibilityChange);
614
+ },
615
+ trackPointerMove({ scope, send }) {
616
+ return require_dom_query.trackPointerMove(scope.getDoc(), {
617
+ onPointerMove({ event }) {
618
+ send({
619
+ type: "DRAGGING",
620
+ left: -event.movementX,
621
+ top: -event.movementY
622
+ });
623
+ },
624
+ onPointerUp() {
625
+ send({ type: "DRAGGING.END" });
626
+ }
627
+ });
628
+ },
629
+ trackKeyboardScroll({ scope, send, context }) {
630
+ const win = scope.getWin();
631
+ const onKeyDown = (event) => {
632
+ switch (event.key) {
633
+ case "ArrowRight":
634
+ event.preventDefault();
635
+ send({ type: "PAGE.NEXT" });
636
+ break;
637
+ case "ArrowLeft":
638
+ event.preventDefault();
639
+ send({ type: "PAGE.PREV" });
640
+ break;
641
+ case "Home":
642
+ event.preventDefault();
643
+ send({
644
+ type: "PAGE.SET",
645
+ index: 0
646
+ });
647
+ break;
648
+ case "End":
649
+ event.preventDefault();
650
+ send({
651
+ type: "PAGE.SET",
652
+ index: context.get("pageSnapPoints").length - 1
653
+ });
654
+ }
655
+ };
656
+ return require_dom_query.addDomEvent(win, "keydown", onKeyDown, { capture: true });
657
+ }
658
+ },
659
+ actions: {
660
+ clearScrollEndTimer({ refs }) {
661
+ if (refs.get("timeoutRef") == null) return;
662
+ clearTimeout(refs.get("timeoutRef"));
663
+ refs.set("timeoutRef", void 0);
664
+ },
665
+ scrollToPage({ context, event, scope, computed, flush }) {
666
+ const behavior = event.instant ? "instant" : "smooth";
667
+ const index = require_utils.clampValue(event.index ?? context.get("page"), 0, context.get("pageSnapPoints").length - 1);
668
+ const el = getItemGroupEl(scope);
669
+ if (!el) return;
670
+ const axis = computed("isHorizontal") ? "left" : "top";
671
+ flush(() => {
672
+ el.scrollTo({
673
+ [axis]: context.get("pageSnapPoints")[index],
674
+ behavior
675
+ });
676
+ });
677
+ },
678
+ setClosestPage({ context, scope, computed }) {
679
+ const el = getItemGroupEl(scope);
680
+ if (!el) return;
681
+ const scrollPosition = computed("isHorizontal") ? el.scrollLeft : el.scrollTop;
682
+ const page = context.get("pageSnapPoints").findIndex((point) => Math.abs(point - scrollPosition) < 1);
683
+ if (page === -1) return;
684
+ context.set("page", page);
685
+ },
686
+ setNextPage({ context, prop, state }) {
687
+ const loop = state.matches("autoplay") || prop("loop");
688
+ const page = require_utils.nextIndex(context.get("pageSnapPoints"), context.get("page"), { loop });
689
+ context.set("page", page);
690
+ },
691
+ setPrevPage({ context, prop, state }) {
692
+ const loop = state.matches("autoplay") || prop("loop");
693
+ const page = require_utils.prevIndex(context.get("pageSnapPoints"), context.get("page"), { loop });
694
+ context.set("page", page);
695
+ },
696
+ setMatchingPage({ context, event, computed, scope }) {
697
+ const el = getItemGroupEl(scope);
698
+ if (!el) return;
699
+ const snapPoint = require_scroll_snap.findSnapPoint(el, computed("isHorizontal") ? "x" : "y", (node) => node.dataset.index === event.index.toString());
700
+ if (snapPoint == null) return;
701
+ const page = context.get("pageSnapPoints").findIndex((point) => Math.abs(point - snapPoint) < 1);
702
+ context.set("page", page);
703
+ },
704
+ setPage({ context, event }) {
705
+ const page = event.index ?? context.get("page");
706
+ context.set("page", page);
707
+ },
708
+ clampPage({ context }) {
709
+ const index = require_utils.clampValue(context.get("page"), 0, context.get("pageSnapPoints").length - 1);
710
+ context.set("page", index);
711
+ },
712
+ setSnapPoints({ context, computed, scope }) {
713
+ const el = getItemGroupEl(scope);
714
+ if (!el) return;
715
+ const scrollSnapPoints = require_scroll_snap.getScrollSnapPositions(el);
716
+ context.set("pageSnapPoints", computed("isHorizontal") ? scrollSnapPoints.x : scrollSnapPoints.y);
717
+ },
718
+ disableScrollSnap({ scope }) {
719
+ const el = getItemGroupEl(scope);
720
+ if (!el) return;
721
+ const styles = getComputedStyle(el);
722
+ el.dataset.scrollSnapType = styles.getPropertyValue("scroll-snap-type");
723
+ el.style.setProperty("scroll-snap-type", "none");
724
+ },
725
+ scrollSlides({ scope, event }) {
726
+ getItemGroupEl(scope)?.scrollBy({
727
+ left: event.left,
728
+ top: event.top,
729
+ behavior: "instant"
730
+ });
731
+ },
732
+ endDragging({ scope, context, computed }) {
733
+ const el = getItemGroupEl(scope);
734
+ if (!el) return;
735
+ const isHorizontal = computed("isHorizontal");
736
+ const scrollPos = isHorizontal ? el.scrollLeft : el.scrollTop;
737
+ const snapPoints = context.get("pageSnapPoints");
738
+ const closest = snapPoints.reduce((closest$1, curr) => {
739
+ return Math.abs(curr - scrollPos) < Math.abs(closest$1 - scrollPos) ? curr : closest$1;
740
+ }, snapPoints[0]);
741
+ require_dom_query.raf(() => {
742
+ el.scrollTo({
743
+ left: isHorizontal ? closest : el.scrollLeft,
744
+ top: isHorizontal ? el.scrollTop : closest,
745
+ behavior: "smooth"
746
+ });
747
+ context.set("page", snapPoints.indexOf(closest));
748
+ const scrollSnapType = el.dataset.scrollSnapType;
749
+ if (scrollSnapType) {
750
+ el.style.setProperty("scroll-snap-type", scrollSnapType);
751
+ delete el.dataset.scrollSnapType;
752
+ }
753
+ });
754
+ },
755
+ focusIndicatorEl({ context, event, scope }) {
756
+ if (event.src !== "indicator") return;
757
+ const el = getIndicatorEl(scope, context.get("page"));
758
+ if (!el) return;
759
+ require_dom_query.raf(() => el.focus({ preventScroll: true }));
760
+ },
761
+ invokeDragStart({ context, prop }) {
762
+ prop("onDragStatusChange")?.({
763
+ type: "dragging.start",
764
+ isDragging: true,
765
+ page: context.get("page")
766
+ });
767
+ },
768
+ invokeDragging({ context, prop }) {
769
+ prop("onDragStatusChange")?.({
770
+ type: "dragging",
771
+ isDragging: true,
772
+ page: context.get("page")
773
+ });
774
+ },
775
+ invokeDraggingEnd({ context, prop }) {
776
+ prop("onDragStatusChange")?.({
777
+ type: "dragging.end",
778
+ isDragging: false,
779
+ page: context.get("page")
780
+ });
781
+ },
782
+ invokeAutoplay({ context, prop }) {
783
+ prop("onAutoplayStatusChange")?.({
784
+ type: "autoplay",
785
+ isPlaying: true,
786
+ page: context.get("page")
787
+ });
788
+ },
789
+ invokeAutoplayStart({ context, prop }) {
790
+ prop("onAutoplayStatusChange")?.({
791
+ type: "autoplay.start",
792
+ isPlaying: true,
793
+ page: context.get("page")
794
+ });
795
+ },
796
+ invokeAutoplayEnd({ context, prop }) {
797
+ prop("onAutoplayStatusChange")?.({
798
+ type: "autoplay.stop",
799
+ isPlaying: false,
800
+ page: context.get("page")
801
+ });
802
+ }
803
+ }
804
+ }
805
+ });
806
+ function getPageSnapPoints(totalSlides, slidesPerMove, slidesPerPage) {
807
+ if (totalSlides == null || slidesPerPage <= 0) return [];
808
+ const snapPoints = [];
809
+ const perMove = slidesPerMove === "auto" ? Math.floor(slidesPerPage) : slidesPerMove;
810
+ if (perMove <= 0) return [];
811
+ for (let i = 0; i < totalSlides; i += perMove) {
812
+ if (i + slidesPerPage > totalSlides) break;
813
+ snapPoints.push(i);
814
+ }
815
+ return snapPoints;
816
+ }
817
+
818
+ //#endregion
819
+ //#region src/machines/carousel/carousel.props.ts
820
+ const props = require_create_props.createProps()([
821
+ "dir",
822
+ "getRootNode",
823
+ "id",
824
+ "ids",
825
+ "loop",
826
+ "page",
827
+ "defaultPage",
828
+ "onPageChange",
829
+ "orientation",
830
+ "slideCount",
831
+ "slidesPerPage",
832
+ "slidesPerMove",
833
+ "spacing",
834
+ "padding",
835
+ "autoplay",
836
+ "allowMouseDrag",
837
+ "inViewThreshold",
838
+ "translations",
839
+ "snapType",
840
+ "autoSize",
841
+ "onDragStatusChange",
842
+ "onAutoplayStatusChange"
843
+ ]);
844
+ const splitProps = require_utils.createSplitProps(props);
845
+ const indicatorProps = require_create_props.createProps()(["index", "readOnly"]);
846
+ const splitIndicatorProps = require_utils.createSplitProps(indicatorProps);
847
+ const itemProps = require_create_props.createProps()(["index", "snapAlign"]);
848
+ const splitItemProps = require_utils.createSplitProps(itemProps);
849
+
850
+ //#endregion
851
+ exports.anatomy = anatomy;
852
+ exports.connect = connect;
853
+ exports.indicatorProps = indicatorProps;
854
+ exports.itemProps = itemProps;
855
+ exports.machine = machine;
856
+ exports.props = props;
857
+ exports.splitIndicatorProps = splitIndicatorProps;
858
+ exports.splitItemProps = splitItemProps;
859
+ exports.splitProps = splitProps;