@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,996 @@
1
+ const require_chunk = require('../../chunk-CbDLau6x.cjs');
2
+ const require_create_anatomy = require('../../create-anatomy-CDsIFUXg.cjs');
3
+ const require_dom_query = require('../../dom-query-CWZdWUGp.cjs');
4
+ const require_utils = require('../../utils-_6frwjgJ.cjs');
5
+ const require_core = require('../../core-CQFbMdTl.cjs');
6
+ const require_create_props = require('../../create-props-YKy7JIKj.cjs');
7
+ let __internationalized_number = require("@internationalized/number");
8
+
9
+ //#region src/machines/number-input/number-input.anatomy.ts
10
+ const anatomy = require_create_anatomy.createAnatomy("numberInput").parts("root", "label", "input", "control", "valueText", "incrementTrigger", "decrementTrigger", "scrubber");
11
+ const parts = anatomy.build();
12
+
13
+ //#endregion
14
+ //#region src/machines/number-input/number-input.dom.ts
15
+ const getRootId = (ctx) => ctx.ids?.root ?? `number-input:${ctx.id}`;
16
+ const getInputId = (ctx) => ctx.ids?.input ?? `number-input:${ctx.id}:input`;
17
+ const getIncrementTriggerId = (ctx) => ctx.ids?.incrementTrigger ?? `number-input:${ctx.id}:inc`;
18
+ const getDecrementTriggerId = (ctx) => ctx.ids?.decrementTrigger ?? `number-input:${ctx.id}:dec`;
19
+ const getScrubberId = (ctx) => ctx.ids?.scrubber ?? `number-input:${ctx.id}:scrubber`;
20
+ const getCursorId = (ctx) => `number-input:${ctx.id}:cursor`;
21
+ const getLabelId = (ctx) => ctx.ids?.label ?? `number-input:${ctx.id}:label`;
22
+ const getInputEl = (ctx) => ctx.getById(getInputId(ctx));
23
+ const getIncrementTriggerEl = (ctx) => ctx.getById(getIncrementTriggerId(ctx));
24
+ const getDecrementTriggerEl = (ctx) => ctx.getById(getDecrementTriggerId(ctx));
25
+ const getCursorEl = (ctx) => ctx.getDoc().getElementById(getCursorId(ctx));
26
+ const getPressedTriggerEl = (ctx, hint) => {
27
+ let btnEl = null;
28
+ if (hint === "increment") btnEl = getIncrementTriggerEl(ctx);
29
+ if (hint === "decrement") btnEl = getDecrementTriggerEl(ctx);
30
+ return btnEl;
31
+ };
32
+ const setupVirtualCursor = (ctx, point) => {
33
+ if (require_dom_query.isSafari()) return;
34
+ createVirtualCursor(ctx, point);
35
+ return () => {
36
+ getCursorEl(ctx)?.remove();
37
+ };
38
+ };
39
+ const preventTextSelection = (ctx) => {
40
+ const doc = ctx.getDoc();
41
+ const html = doc.documentElement;
42
+ const body = doc.body;
43
+ body.style.pointerEvents = "none";
44
+ html.style.userSelect = "none";
45
+ html.style.cursor = "ew-resize";
46
+ return () => {
47
+ body.style.pointerEvents = "";
48
+ html.style.userSelect = "";
49
+ html.style.cursor = "";
50
+ if (!html.style.length) html.removeAttribute("style");
51
+ if (!body.style.length) body.removeAttribute("style");
52
+ };
53
+ };
54
+ const getMousemoveValue = (ctx, opts) => {
55
+ const { point, isRtl, event } = opts;
56
+ const win = ctx.getWin();
57
+ const x = require_utils.roundToDpr(event.movementX, win.devicePixelRatio);
58
+ const y = require_utils.roundToDpr(event.movementY, win.devicePixelRatio);
59
+ let hint = x > 0 ? "increment" : x < 0 ? "decrement" : null;
60
+ if (isRtl && hint === "increment") hint = "decrement";
61
+ if (isRtl && hint === "decrement") hint = "increment";
62
+ const newPoint = {
63
+ x: point.x + x,
64
+ y: point.y + y
65
+ };
66
+ const width = win.innerWidth;
67
+ const half = require_utils.roundToDpr(7.5, win.devicePixelRatio);
68
+ newPoint.x = require_utils.wrap(newPoint.x + half, width) - half;
69
+ return {
70
+ hint,
71
+ point: newPoint
72
+ };
73
+ };
74
+ const createVirtualCursor = (ctx, point) => {
75
+ const doc = ctx.getDoc();
76
+ const el = doc.createElement("div");
77
+ el.className = "scrubber--cursor";
78
+ el.id = getCursorId(ctx);
79
+ Object.assign(el.style, {
80
+ width: "15px",
81
+ height: "15px",
82
+ position: "fixed",
83
+ pointerEvents: "none",
84
+ left: "0px",
85
+ top: "0px",
86
+ zIndex: require_dom_query.MAX_Z_INDEX,
87
+ transform: point ? `translate3d(${point.x}px, ${point.y}px, 0px)` : void 0,
88
+ willChange: "transform"
89
+ });
90
+ el.innerHTML = `
91
+ <svg width="46" height="15" style="left: -15.5px; position: absolute; top: 0; filter: drop-shadow(rgba(0, 0, 0, 0.4) 0px 1px 1.1px);">
92
+ <g transform="translate(2 3)">
93
+ <path fill-rule="evenodd" d="M 15 4.5L 15 2L 11.5 5.5L 15 9L 15 6.5L 31 6.5L 31 9L 34.5 5.5L 31 2L 31 4.5Z" style="stroke-width: 2px; stroke: white;"></path>
94
+ <path fill-rule="evenodd" d="M 15 4.5L 15 2L 11.5 5.5L 15 9L 15 6.5L 31 6.5L 31 9L 34.5 5.5L 31 2L 31 4.5Z"></path>
95
+ </g>
96
+ </svg>`;
97
+ doc.body.appendChild(el);
98
+ };
99
+
100
+ //#endregion
101
+ //#region src/machines/number-input/cursor.ts
102
+ function recordCursor(inputEl, scope) {
103
+ if (!inputEl || !scope.isActiveElement(inputEl)) return;
104
+ try {
105
+ const { selectionStart: start, selectionEnd: end, value } = inputEl;
106
+ if (start == null || end == null) return void 0;
107
+ return {
108
+ start,
109
+ end,
110
+ value
111
+ };
112
+ } catch {
113
+ return;
114
+ }
115
+ }
116
+ function restoreCursor(inputEl, selection, scope) {
117
+ if (!inputEl || !scope.isActiveElement(inputEl)) return;
118
+ if (!selection) {
119
+ const len = inputEl.value.length;
120
+ inputEl.setSelectionRange(len, len);
121
+ return;
122
+ }
123
+ try {
124
+ const newValue = inputEl.value;
125
+ const { start, end, value: oldValue } = selection;
126
+ if (newValue === oldValue) {
127
+ inputEl.setSelectionRange(start, end);
128
+ return;
129
+ }
130
+ const newStart = getNewCursorPosition(oldValue, newValue, start);
131
+ const newEnd = start === end ? newStart : getNewCursorPosition(oldValue, newValue, end);
132
+ const clampedStart = Math.max(0, Math.min(newStart, newValue.length));
133
+ const clampedEnd = Math.max(clampedStart, Math.min(newEnd, newValue.length));
134
+ inputEl.setSelectionRange(clampedStart, clampedEnd);
135
+ } catch {
136
+ const len = inputEl.value.length;
137
+ inputEl.setSelectionRange(len, len);
138
+ }
139
+ }
140
+ function getNewCursorPosition(oldValue, newValue, oldPosition) {
141
+ const beforeCursor = oldValue.slice(0, oldPosition);
142
+ const afterCursor = oldValue.slice(oldPosition);
143
+ let prefixLength = 0;
144
+ const maxPrefixLength = Math.min(beforeCursor.length, newValue.length);
145
+ for (let i = 0; i < maxPrefixLength; i++) if (beforeCursor[i] === newValue[i]) prefixLength = i + 1;
146
+ else break;
147
+ let suffixLength = 0;
148
+ const maxSuffixLength = Math.min(afterCursor.length, newValue.length - prefixLength);
149
+ for (let i = 0; i < maxSuffixLength; i++) {
150
+ const oldIndex = afterCursor.length - 1 - i;
151
+ const newIndex = newValue.length - 1 - i;
152
+ if (afterCursor[oldIndex] === newValue[newIndex]) suffixLength = i + 1;
153
+ else break;
154
+ }
155
+ if (prefixLength >= beforeCursor.length) return prefixLength;
156
+ if (suffixLength >= afterCursor.length) return newValue.length - suffixLength;
157
+ if (prefixLength > 0) return prefixLength;
158
+ if (suffixLength > 0) return newValue.length - suffixLength;
159
+ if (oldValue.length > 0) {
160
+ const ratio = oldPosition / oldValue.length;
161
+ return Math.round(ratio * newValue.length);
162
+ }
163
+ return newValue.length;
164
+ }
165
+
166
+ //#endregion
167
+ //#region src/machines/number-input/number-input.connect.ts
168
+ function connect(service, normalize) {
169
+ const { state, send, prop, scope, computed } = service;
170
+ const focused = state.hasTag("focus");
171
+ const disabled = computed("isDisabled");
172
+ const readOnly = !!prop("readOnly");
173
+ const required = !!prop("required");
174
+ const scrubbing = state.matches("scrubbing");
175
+ const empty = computed("isValueEmpty");
176
+ const invalid = computed("isOutOfRange") || !!prop("invalid");
177
+ const isIncrementDisabled = disabled || !computed("canIncrement") || readOnly;
178
+ const isDecrementDisabled = disabled || !computed("canDecrement") || readOnly;
179
+ const translations = prop("translations");
180
+ return {
181
+ focused,
182
+ invalid,
183
+ empty,
184
+ value: computed("formattedValue"),
185
+ valueAsNumber: computed("valueAsNumber"),
186
+ setValue(value) {
187
+ send({
188
+ type: "VALUE.SET",
189
+ value
190
+ });
191
+ },
192
+ clearValue() {
193
+ send({ type: "VALUE.CLEAR" });
194
+ },
195
+ increment() {
196
+ send({ type: "VALUE.INCREMENT" });
197
+ },
198
+ decrement() {
199
+ send({ type: "VALUE.DECREMENT" });
200
+ },
201
+ setToMax() {
202
+ send({
203
+ type: "VALUE.SET",
204
+ value: prop("max")
205
+ });
206
+ },
207
+ setToMin() {
208
+ send({
209
+ type: "VALUE.SET",
210
+ value: prop("min")
211
+ });
212
+ },
213
+ focus() {
214
+ getInputEl(scope)?.focus();
215
+ },
216
+ getRootProps() {
217
+ return normalize.element({
218
+ id: getRootId(scope),
219
+ ...parts.root.attrs,
220
+ dir: prop("dir"),
221
+ "data-disabled": require_dom_query.dataAttr(disabled),
222
+ "data-focus": require_dom_query.dataAttr(focused),
223
+ "data-invalid": require_dom_query.dataAttr(invalid),
224
+ "data-scrubbing": require_dom_query.dataAttr(scrubbing)
225
+ });
226
+ },
227
+ getLabelProps() {
228
+ return normalize.label({
229
+ ...parts.label.attrs,
230
+ dir: prop("dir"),
231
+ "data-disabled": require_dom_query.dataAttr(disabled),
232
+ "data-focus": require_dom_query.dataAttr(focused),
233
+ "data-invalid": require_dom_query.dataAttr(invalid),
234
+ "data-required": require_dom_query.dataAttr(required),
235
+ "data-scrubbing": require_dom_query.dataAttr(scrubbing),
236
+ id: getLabelId(scope),
237
+ htmlFor: getInputId(scope)
238
+ });
239
+ },
240
+ getControlProps() {
241
+ return normalize.element({
242
+ ...parts.control.attrs,
243
+ dir: prop("dir"),
244
+ role: "group",
245
+ "aria-disabled": disabled,
246
+ "data-focus": require_dom_query.dataAttr(focused),
247
+ "data-disabled": require_dom_query.dataAttr(disabled),
248
+ "data-invalid": require_dom_query.dataAttr(invalid),
249
+ "data-scrubbing": require_dom_query.dataAttr(scrubbing),
250
+ "aria-invalid": require_dom_query.ariaAttr(invalid)
251
+ });
252
+ },
253
+ getValueTextProps() {
254
+ return normalize.element({
255
+ ...parts.valueText.attrs,
256
+ dir: prop("dir"),
257
+ "data-disabled": require_dom_query.dataAttr(disabled),
258
+ "data-invalid": require_dom_query.dataAttr(invalid),
259
+ "data-focus": require_dom_query.dataAttr(focused),
260
+ "data-scrubbing": require_dom_query.dataAttr(scrubbing)
261
+ });
262
+ },
263
+ getInputProps() {
264
+ return normalize.input({
265
+ ...parts.input.attrs,
266
+ dir: prop("dir"),
267
+ name: prop("name"),
268
+ form: prop("form"),
269
+ id: getInputId(scope),
270
+ role: "spinbutton",
271
+ defaultValue: computed("formattedValue"),
272
+ pattern: prop("formatOptions") ? void 0 : prop("pattern"),
273
+ inputMode: prop("inputMode"),
274
+ "aria-invalid": require_dom_query.ariaAttr(invalid),
275
+ "data-invalid": require_dom_query.dataAttr(invalid),
276
+ disabled,
277
+ "data-disabled": require_dom_query.dataAttr(disabled),
278
+ readOnly,
279
+ required: prop("required"),
280
+ autoComplete: "off",
281
+ autoCorrect: "off",
282
+ spellCheck: "false",
283
+ type: "text",
284
+ "aria-roledescription": "numberfield",
285
+ "aria-valuemin": prop("min"),
286
+ "aria-valuemax": prop("max"),
287
+ "aria-valuenow": Number.isNaN(computed("valueAsNumber")) ? void 0 : computed("valueAsNumber"),
288
+ "aria-valuetext": computed("valueText"),
289
+ "data-scrubbing": require_dom_query.dataAttr(scrubbing),
290
+ onFocus() {
291
+ send({ type: "INPUT.FOCUS" });
292
+ },
293
+ onBlur() {
294
+ send({ type: "INPUT.BLUR" });
295
+ },
296
+ onInput(event) {
297
+ const selection = recordCursor(event.currentTarget, scope);
298
+ send({
299
+ type: "INPUT.CHANGE",
300
+ target: event.currentTarget,
301
+ hint: "set",
302
+ selection
303
+ });
304
+ },
305
+ onBeforeInput(event) {
306
+ try {
307
+ const { selectionStart, selectionEnd, value } = event.currentTarget;
308
+ const nextValue = value.slice(0, selectionStart) + (event.data ?? "") + value.slice(selectionEnd);
309
+ if (!computed("parser").isValidPartialNumber(nextValue)) event.preventDefault();
310
+ } catch {}
311
+ },
312
+ onKeyDown(event) {
313
+ if (event.defaultPrevented) return;
314
+ if (readOnly) return;
315
+ if (require_dom_query.isComposingEvent(event)) return;
316
+ const step = require_dom_query.getEventStep(event) * prop("step");
317
+ const exec = {
318
+ ArrowUp() {
319
+ send({
320
+ type: "INPUT.ARROW_UP",
321
+ step
322
+ });
323
+ event.preventDefault();
324
+ },
325
+ ArrowDown() {
326
+ send({
327
+ type: "INPUT.ARROW_DOWN",
328
+ step
329
+ });
330
+ event.preventDefault();
331
+ },
332
+ Home() {
333
+ if (require_dom_query.isModifierKey(event)) return;
334
+ send({ type: "INPUT.HOME" });
335
+ event.preventDefault();
336
+ },
337
+ End() {
338
+ if (require_dom_query.isModifierKey(event)) return;
339
+ send({ type: "INPUT.END" });
340
+ event.preventDefault();
341
+ },
342
+ Enter(event$1) {
343
+ send({
344
+ type: "INPUT.ENTER",
345
+ selection: recordCursor(event$1.currentTarget, scope)
346
+ });
347
+ }
348
+ }[event.key];
349
+ exec?.(event);
350
+ }
351
+ });
352
+ },
353
+ getDecrementTriggerProps() {
354
+ return normalize.button({
355
+ ...parts.decrementTrigger.attrs,
356
+ dir: prop("dir"),
357
+ id: getDecrementTriggerId(scope),
358
+ disabled: isDecrementDisabled,
359
+ "data-disabled": require_dom_query.dataAttr(isDecrementDisabled),
360
+ "aria-label": translations.decrementLabel,
361
+ type: "button",
362
+ tabIndex: -1,
363
+ "aria-controls": getInputId(scope),
364
+ "data-scrubbing": require_dom_query.dataAttr(scrubbing),
365
+ onPointerDown(event) {
366
+ if (isDecrementDisabled) return;
367
+ if (!require_dom_query.isLeftClick(event)) return;
368
+ send({
369
+ type: "TRIGGER.PRESS_DOWN",
370
+ hint: "decrement",
371
+ pointerType: event.pointerType
372
+ });
373
+ if (event.pointerType === "mouse") event.preventDefault();
374
+ if (event.pointerType === "touch") event.currentTarget?.focus({ preventScroll: true });
375
+ },
376
+ onPointerUp(event) {
377
+ send({
378
+ type: "TRIGGER.PRESS_UP",
379
+ hint: "decrement",
380
+ pointerType: event.pointerType
381
+ });
382
+ },
383
+ onPointerLeave() {
384
+ if (isDecrementDisabled) return;
385
+ send({
386
+ type: "TRIGGER.PRESS_UP",
387
+ hint: "decrement"
388
+ });
389
+ }
390
+ });
391
+ },
392
+ getIncrementTriggerProps() {
393
+ return normalize.button({
394
+ ...parts.incrementTrigger.attrs,
395
+ dir: prop("dir"),
396
+ id: getIncrementTriggerId(scope),
397
+ disabled: isIncrementDisabled,
398
+ "data-disabled": require_dom_query.dataAttr(isIncrementDisabled),
399
+ "aria-label": translations.incrementLabel,
400
+ type: "button",
401
+ tabIndex: -1,
402
+ "aria-controls": getInputId(scope),
403
+ "data-scrubbing": require_dom_query.dataAttr(scrubbing),
404
+ onPointerDown(event) {
405
+ if (isIncrementDisabled || !require_dom_query.isLeftClick(event)) return;
406
+ send({
407
+ type: "TRIGGER.PRESS_DOWN",
408
+ hint: "increment",
409
+ pointerType: event.pointerType
410
+ });
411
+ if (event.pointerType === "mouse") event.preventDefault();
412
+ if (event.pointerType === "touch") event.currentTarget?.focus({ preventScroll: true });
413
+ },
414
+ onPointerUp(event) {
415
+ send({
416
+ type: "TRIGGER.PRESS_UP",
417
+ hint: "increment",
418
+ pointerType: event.pointerType
419
+ });
420
+ },
421
+ onPointerLeave(event) {
422
+ send({
423
+ type: "TRIGGER.PRESS_UP",
424
+ hint: "increment",
425
+ pointerType: event.pointerType
426
+ });
427
+ }
428
+ });
429
+ },
430
+ getScrubberProps() {
431
+ return normalize.element({
432
+ ...parts.scrubber.attrs,
433
+ dir: prop("dir"),
434
+ "data-disabled": require_dom_query.dataAttr(disabled),
435
+ id: getScrubberId(scope),
436
+ role: "presentation",
437
+ "data-scrubbing": require_dom_query.dataAttr(scrubbing),
438
+ onMouseDown(event) {
439
+ if (disabled) return;
440
+ if (!require_dom_query.isLeftClick(event)) return;
441
+ const point = require_dom_query.getEventPoint(event);
442
+ const dpr = require_dom_query.getWindow(event.currentTarget).devicePixelRatio;
443
+ point.x = point.x - require_utils.roundToDpr(7.5, dpr);
444
+ point.y = point.y - require_utils.roundToDpr(7.5, dpr);
445
+ send({
446
+ type: "SCRUBBER.PRESS_DOWN",
447
+ point
448
+ });
449
+ event.preventDefault();
450
+ },
451
+ style: { cursor: disabled ? void 0 : "ew-resize" }
452
+ });
453
+ }
454
+ };
455
+ }
456
+
457
+ //#endregion
458
+ //#region src/machines/number-input/number-input.utils.ts
459
+ const createFormatter = (locale, options = {}) => {
460
+ return new Intl.NumberFormat(locale, options);
461
+ };
462
+ const createParser = (locale, options = {}) => {
463
+ return new __internationalized_number.NumberParser(locale, options);
464
+ };
465
+ const parseValue = (value, params) => {
466
+ const { prop, computed } = params;
467
+ if (!prop("formatOptions")) return parseFloat(value);
468
+ if (value === "") return NaN;
469
+ return computed("parser").parse(value);
470
+ };
471
+ const formatValue = (value, params) => {
472
+ const { prop, computed } = params;
473
+ if (Number.isNaN(value)) return "";
474
+ if (!prop("formatOptions")) return value.toString();
475
+ return computed("formatter").format(value);
476
+ };
477
+ const getDefaultStep = (step, formatOptions) => {
478
+ let defaultStep = step !== void 0 && !Number.isNaN(step) ? step : 1;
479
+ if (formatOptions?.style === "percent" && (step === void 0 || Number.isNaN(step))) defaultStep = .01;
480
+ return defaultStep;
481
+ };
482
+
483
+ //#endregion
484
+ //#region src/machines/number-input/number-input.machine.ts
485
+ const { choose, guards, createMachine } = require_core.setup();
486
+ const { not, and } = guards;
487
+ const machine = createMachine({
488
+ props({ props: props$1 }) {
489
+ const step = getDefaultStep(props$1.step, props$1.formatOptions);
490
+ return {
491
+ dir: "ltr",
492
+ locale: "en-US",
493
+ focusInputOnChange: true,
494
+ clampValueOnBlur: !props$1.allowOverflow,
495
+ allowOverflow: false,
496
+ inputMode: "decimal",
497
+ pattern: "-?[0-9]*(.[0-9]+)?",
498
+ defaultValue: "",
499
+ step,
500
+ min: Number.MIN_SAFE_INTEGER,
501
+ max: Number.MAX_SAFE_INTEGER,
502
+ spinOnPress: true,
503
+ ...props$1,
504
+ translations: {
505
+ incrementLabel: "increment value",
506
+ decrementLabel: "decrease value",
507
+ ...props$1.translations
508
+ }
509
+ };
510
+ },
511
+ initialState() {
512
+ return "idle";
513
+ },
514
+ context({ prop, bindable, getComputed }) {
515
+ return {
516
+ value: bindable(() => ({
517
+ defaultValue: prop("defaultValue"),
518
+ value: prop("value"),
519
+ onChange(value) {
520
+ const valueAsNumber = parseValue(value, {
521
+ computed: getComputed(),
522
+ prop
523
+ });
524
+ prop("onValueChange")?.({
525
+ value,
526
+ valueAsNumber
527
+ });
528
+ }
529
+ })),
530
+ hint: bindable(() => ({ defaultValue: null })),
531
+ scrubberCursorPoint: bindable(() => ({
532
+ defaultValue: null,
533
+ hash(value) {
534
+ return value ? `x:${value.x}, y:${value.y}` : "";
535
+ }
536
+ })),
537
+ fieldsetDisabled: bindable(() => ({ defaultValue: false }))
538
+ };
539
+ },
540
+ computed: {
541
+ isRtl: ({ prop }) => prop("dir") === "rtl",
542
+ valueAsNumber: ({ context, computed, prop }) => parseValue(context.get("value"), {
543
+ computed,
544
+ prop
545
+ }),
546
+ formattedValue: ({ computed, prop }) => formatValue(computed("valueAsNumber"), {
547
+ computed,
548
+ prop
549
+ }),
550
+ isAtMin: ({ computed, prop }) => require_utils.isValueAtMin(computed("valueAsNumber"), prop("min")),
551
+ isAtMax: ({ computed, prop }) => require_utils.isValueAtMax(computed("valueAsNumber"), prop("max")),
552
+ isOutOfRange: ({ computed, prop }) => !require_utils.isValueWithinRange(computed("valueAsNumber"), prop("min"), prop("max")),
553
+ isValueEmpty: ({ context }) => context.get("value") === "",
554
+ isDisabled: ({ prop, context }) => !!prop("disabled") || context.get("fieldsetDisabled"),
555
+ canIncrement: ({ prop, computed }) => prop("allowOverflow") || !computed("isAtMax"),
556
+ canDecrement: ({ prop, computed }) => prop("allowOverflow") || !computed("isAtMin"),
557
+ valueText: ({ prop, context }) => prop("translations").valueText?.(context.get("value")),
558
+ formatter: require_core.memo(({ prop }) => [prop("locale"), prop("formatOptions")], ([locale, formatOptions]) => createFormatter(locale, formatOptions)),
559
+ parser: require_core.memo(({ prop }) => [prop("locale"), prop("formatOptions")], ([locale, formatOptions]) => createParser(locale, formatOptions))
560
+ },
561
+ watch({ track, action, context, computed, prop }) {
562
+ track([
563
+ () => context.get("value"),
564
+ () => prop("locale"),
565
+ () => JSON.stringify(prop("formatOptions"))
566
+ ], () => {
567
+ action(["syncInputElement"]);
568
+ });
569
+ track([() => computed("isOutOfRange")], () => {
570
+ action(["invokeOnInvalid"]);
571
+ });
572
+ track([() => context.hash("scrubberCursorPoint")], () => {
573
+ action(["setVirtualCursorPosition"]);
574
+ });
575
+ },
576
+ effects: ["trackFormControl"],
577
+ on: {
578
+ "VALUE.SET": { actions: ["setRawValue"] },
579
+ "VALUE.CLEAR": { actions: ["clearValue"] },
580
+ "VALUE.INCREMENT": { actions: ["increment"] },
581
+ "VALUE.DECREMENT": { actions: ["decrement"] }
582
+ },
583
+ states: {
584
+ idle: { on: {
585
+ "TRIGGER.PRESS_DOWN": [{
586
+ guard: "isTouchPointer",
587
+ target: "before:spin",
588
+ actions: ["setHint"]
589
+ }, {
590
+ target: "before:spin",
591
+ actions: [
592
+ "focusInput",
593
+ "invokeOnFocus",
594
+ "setHint"
595
+ ]
596
+ }],
597
+ "SCRUBBER.PRESS_DOWN": {
598
+ target: "scrubbing",
599
+ actions: [
600
+ "focusInput",
601
+ "invokeOnFocus",
602
+ "setHint",
603
+ "setCursorPoint"
604
+ ]
605
+ },
606
+ "INPUT.FOCUS": {
607
+ target: "focused",
608
+ actions: ["focusInput", "invokeOnFocus"]
609
+ }
610
+ } },
611
+ focused: {
612
+ tags: ["focus"],
613
+ effects: ["attachWheelListener"],
614
+ on: {
615
+ "TRIGGER.PRESS_DOWN": [{
616
+ guard: "isTouchPointer",
617
+ target: "before:spin",
618
+ actions: ["setHint"]
619
+ }, {
620
+ target: "before:spin",
621
+ actions: ["focusInput", "setHint"]
622
+ }],
623
+ "SCRUBBER.PRESS_DOWN": {
624
+ target: "scrubbing",
625
+ actions: [
626
+ "focusInput",
627
+ "setHint",
628
+ "setCursorPoint"
629
+ ]
630
+ },
631
+ "INPUT.ARROW_UP": { actions: ["increment"] },
632
+ "INPUT.ARROW_DOWN": { actions: ["decrement"] },
633
+ "INPUT.HOME": { actions: ["decrementToMin"] },
634
+ "INPUT.END": { actions: ["incrementToMax"] },
635
+ "INPUT.CHANGE": { actions: ["setValue", "setHint"] },
636
+ "INPUT.BLUR": [
637
+ {
638
+ guard: and("clampValueOnBlur", not("isInRange")),
639
+ target: "idle",
640
+ actions: [
641
+ "setClampedValue",
642
+ "clearHint",
643
+ "invokeOnBlur",
644
+ "invokeOnValueCommit"
645
+ ]
646
+ },
647
+ {
648
+ guard: not("isInRange"),
649
+ target: "idle",
650
+ actions: [
651
+ "setFormattedValue",
652
+ "clearHint",
653
+ "invokeOnBlur",
654
+ "invokeOnInvalid",
655
+ "invokeOnValueCommit"
656
+ ]
657
+ },
658
+ {
659
+ target: "idle",
660
+ actions: [
661
+ "setFormattedValue",
662
+ "clearHint",
663
+ "invokeOnBlur",
664
+ "invokeOnValueCommit"
665
+ ]
666
+ }
667
+ ],
668
+ "INPUT.ENTER": { actions: [
669
+ "setFormattedValue",
670
+ "clearHint",
671
+ "invokeOnBlur",
672
+ "invokeOnValueCommit"
673
+ ] }
674
+ }
675
+ },
676
+ "before:spin": {
677
+ tags: ["focus"],
678
+ effects: ["trackButtonDisabled", "waitForChangeDelay"],
679
+ entry: choose([{
680
+ guard: "isIncrementHint",
681
+ actions: ["increment"]
682
+ }, {
683
+ guard: "isDecrementHint",
684
+ actions: ["decrement"]
685
+ }]),
686
+ on: {
687
+ CHANGE_DELAY: {
688
+ target: "spinning",
689
+ guard: and("isInRange", "spinOnPress")
690
+ },
691
+ "TRIGGER.PRESS_UP": [{
692
+ guard: "isTouchPointer",
693
+ target: "focused",
694
+ actions: ["clearHint"]
695
+ }, {
696
+ target: "focused",
697
+ actions: ["focusInput", "clearHint"]
698
+ }]
699
+ }
700
+ },
701
+ spinning: {
702
+ tags: ["focus"],
703
+ effects: ["trackButtonDisabled", "spinValue"],
704
+ on: {
705
+ SPIN: [{
706
+ guard: "isIncrementHint",
707
+ actions: ["increment"]
708
+ }, {
709
+ guard: "isDecrementHint",
710
+ actions: ["decrement"]
711
+ }],
712
+ "TRIGGER.PRESS_UP": {
713
+ target: "focused",
714
+ actions: ["focusInput", "clearHint"]
715
+ }
716
+ }
717
+ },
718
+ scrubbing: {
719
+ tags: ["focus"],
720
+ effects: [
721
+ "activatePointerLock",
722
+ "trackMousemove",
723
+ "setupVirtualCursor",
724
+ "preventTextSelection"
725
+ ],
726
+ on: {
727
+ "SCRUBBER.POINTER_UP": {
728
+ target: "focused",
729
+ actions: ["focusInput", "clearCursorPoint"]
730
+ },
731
+ "SCRUBBER.POINTER_MOVE": [{
732
+ guard: "isIncrementHint",
733
+ actions: ["increment", "setCursorPoint"]
734
+ }, {
735
+ guard: "isDecrementHint",
736
+ actions: ["decrement", "setCursorPoint"]
737
+ }]
738
+ }
739
+ }
740
+ },
741
+ implementations: {
742
+ guards: {
743
+ clampValueOnBlur: ({ prop }) => prop("clampValueOnBlur"),
744
+ spinOnPress: ({ prop }) => !!prop("spinOnPress"),
745
+ isInRange: ({ computed }) => !computed("isOutOfRange"),
746
+ isDecrementHint: ({ context, event }) => (event.hint ?? context.get("hint")) === "decrement",
747
+ isIncrementHint: ({ context, event }) => (event.hint ?? context.get("hint")) === "increment",
748
+ isTouchPointer: ({ event }) => event.pointerType === "touch"
749
+ },
750
+ effects: {
751
+ waitForChangeDelay({ send }) {
752
+ const id = setTimeout(() => {
753
+ send({ type: "CHANGE_DELAY" });
754
+ }, 300);
755
+ return () => clearTimeout(id);
756
+ },
757
+ spinValue({ send }) {
758
+ const id = setInterval(() => {
759
+ send({ type: "SPIN" });
760
+ }, 50);
761
+ return () => clearInterval(id);
762
+ },
763
+ trackFormControl({ context, scope }) {
764
+ return require_dom_query.trackFormControl(getInputEl(scope), {
765
+ onFieldsetDisabledChange(disabled) {
766
+ context.set("fieldsetDisabled", disabled);
767
+ },
768
+ onFormReset() {
769
+ context.set("value", context.initial("value"));
770
+ }
771
+ });
772
+ },
773
+ setupVirtualCursor({ context, scope }) {
774
+ const point = context.get("scrubberCursorPoint");
775
+ return setupVirtualCursor(scope, point);
776
+ },
777
+ preventTextSelection({ scope }) {
778
+ return preventTextSelection(scope);
779
+ },
780
+ trackButtonDisabled({ context, scope, send }) {
781
+ const hint = context.get("hint");
782
+ return require_dom_query.observeAttributes(getPressedTriggerEl(scope, hint), {
783
+ attributes: ["disabled"],
784
+ callback() {
785
+ send({
786
+ type: "TRIGGER.PRESS_UP",
787
+ src: "attr"
788
+ });
789
+ }
790
+ });
791
+ },
792
+ attachWheelListener({ scope, send, prop }) {
793
+ const inputEl = getInputEl(scope);
794
+ if (!inputEl || !scope.isActiveElement(inputEl) || !prop("allowMouseWheel")) return;
795
+ function onWheel(event) {
796
+ event.preventDefault();
797
+ const dir = Math.sign(event.deltaY) * -1;
798
+ if (dir === 1) send({ type: "VALUE.INCREMENT" });
799
+ else if (dir === -1) send({ type: "VALUE.DECREMENT" });
800
+ }
801
+ return require_dom_query.addDomEvent(inputEl, "wheel", onWheel, { passive: false });
802
+ },
803
+ activatePointerLock({ scope }) {
804
+ if (require_dom_query.isSafari()) return;
805
+ return require_dom_query.requestPointerLock(scope.getDoc());
806
+ },
807
+ trackMousemove({ scope, send, context, computed }) {
808
+ const doc = scope.getDoc();
809
+ function onMousemove(event) {
810
+ const point = context.get("scrubberCursorPoint");
811
+ const isRtl = computed("isRtl");
812
+ const value = getMousemoveValue(scope, {
813
+ point,
814
+ isRtl,
815
+ event
816
+ });
817
+ if (!value.hint) return;
818
+ send({
819
+ type: "SCRUBBER.POINTER_MOVE",
820
+ hint: value.hint,
821
+ point: value.point
822
+ });
823
+ }
824
+ function onMouseup() {
825
+ send({ type: "SCRUBBER.POINTER_UP" });
826
+ }
827
+ return require_utils.callAll(require_dom_query.addDomEvent(doc, "mousemove", onMousemove, false), require_dom_query.addDomEvent(doc, "mouseup", onMouseup, false));
828
+ }
829
+ },
830
+ actions: {
831
+ focusInput({ scope, prop }) {
832
+ if (!prop("focusInputOnChange")) return;
833
+ const inputEl = getInputEl(scope);
834
+ if (scope.isActiveElement(inputEl)) return;
835
+ require_dom_query.raf(() => inputEl?.focus({ preventScroll: true }));
836
+ },
837
+ increment({ context, event, prop, computed }) {
838
+ let nextValue = require_utils.incrementValue(computed("valueAsNumber"), event.step ?? prop("step"));
839
+ if (!prop("allowOverflow")) nextValue = require_utils.clampValue(nextValue, prop("min"), prop("max"));
840
+ context.set("value", formatValue(nextValue, {
841
+ computed,
842
+ prop
843
+ }));
844
+ },
845
+ decrement({ context, event, prop, computed }) {
846
+ let nextValue = require_utils.decrementValue(computed("valueAsNumber"), event.step ?? prop("step"));
847
+ if (!prop("allowOverflow")) nextValue = require_utils.clampValue(nextValue, prop("min"), prop("max"));
848
+ context.set("value", formatValue(nextValue, {
849
+ computed,
850
+ prop
851
+ }));
852
+ },
853
+ setClampedValue({ context, prop, computed }) {
854
+ const nextValue = require_utils.clampValue(computed("valueAsNumber"), prop("min"), prop("max"));
855
+ context.set("value", formatValue(nextValue, {
856
+ computed,
857
+ prop
858
+ }));
859
+ },
860
+ setRawValue({ context, event, prop, computed }) {
861
+ let nextValue = parseValue(event.value, {
862
+ computed,
863
+ prop
864
+ });
865
+ if (!prop("allowOverflow")) nextValue = require_utils.clampValue(nextValue, prop("min"), prop("max"));
866
+ context.set("value", formatValue(nextValue, {
867
+ computed,
868
+ prop
869
+ }));
870
+ },
871
+ setValue({ context, event }) {
872
+ const value = event.target?.value ?? event.value;
873
+ context.set("value", value);
874
+ },
875
+ clearValue({ context }) {
876
+ context.set("value", "");
877
+ },
878
+ incrementToMax({ context, prop, computed }) {
879
+ const value = formatValue(prop("max"), {
880
+ computed,
881
+ prop
882
+ });
883
+ context.set("value", value);
884
+ },
885
+ decrementToMin({ context, prop, computed }) {
886
+ const value = formatValue(prop("min"), {
887
+ computed,
888
+ prop
889
+ });
890
+ context.set("value", value);
891
+ },
892
+ setHint({ context, event }) {
893
+ context.set("hint", event.hint);
894
+ },
895
+ clearHint({ context }) {
896
+ context.set("hint", null);
897
+ },
898
+ invokeOnFocus({ computed, prop }) {
899
+ prop("onFocusChange")?.({
900
+ focused: true,
901
+ value: computed("formattedValue"),
902
+ valueAsNumber: computed("valueAsNumber")
903
+ });
904
+ },
905
+ invokeOnBlur({ computed, prop }) {
906
+ prop("onFocusChange")?.({
907
+ focused: false,
908
+ value: computed("formattedValue"),
909
+ valueAsNumber: computed("valueAsNumber")
910
+ });
911
+ },
912
+ invokeOnInvalid({ computed, prop, event }) {
913
+ if (event.type === "INPUT.CHANGE") return;
914
+ const reason = computed("valueAsNumber") > prop("max") ? "rangeOverflow" : "rangeUnderflow";
915
+ prop("onValueInvalid")?.({
916
+ reason,
917
+ value: computed("formattedValue"),
918
+ valueAsNumber: computed("valueAsNumber")
919
+ });
920
+ },
921
+ invokeOnValueCommit({ computed, prop }) {
922
+ prop("onValueCommit")?.({
923
+ value: computed("formattedValue"),
924
+ valueAsNumber: computed("valueAsNumber")
925
+ });
926
+ },
927
+ syncInputElement({ context, event, computed, scope }) {
928
+ const value = event.type.endsWith("CHANGE") ? context.get("value") : computed("formattedValue");
929
+ const inputEl = getInputEl(scope);
930
+ const sel = event.selection ?? recordCursor(inputEl, scope);
931
+ require_dom_query.raf(() => {
932
+ require_dom_query.setElementValue(inputEl, value);
933
+ restoreCursor(inputEl, sel, scope);
934
+ });
935
+ },
936
+ setFormattedValue({ context, computed, action }) {
937
+ context.set("value", computed("formattedValue"));
938
+ action(["syncInputElement"]);
939
+ },
940
+ setCursorPoint({ context, event }) {
941
+ context.set("scrubberCursorPoint", event.point);
942
+ },
943
+ clearCursorPoint({ context }) {
944
+ context.set("scrubberCursorPoint", null);
945
+ },
946
+ setVirtualCursorPosition({ context, scope }) {
947
+ const cursorEl = getCursorEl(scope);
948
+ const point = context.get("scrubberCursorPoint");
949
+ if (!cursorEl || !point) return;
950
+ cursorEl.style.transform = `translate3d(${point.x}px, ${point.y}px, 0px)`;
951
+ }
952
+ }
953
+ }
954
+ });
955
+
956
+ //#endregion
957
+ //#region src/machines/number-input/number-input.props.ts
958
+ const props = require_create_props.createProps()([
959
+ "allowMouseWheel",
960
+ "allowOverflow",
961
+ "clampValueOnBlur",
962
+ "dir",
963
+ "disabled",
964
+ "focusInputOnChange",
965
+ "form",
966
+ "formatOptions",
967
+ "getRootNode",
968
+ "id",
969
+ "ids",
970
+ "inputMode",
971
+ "invalid",
972
+ "locale",
973
+ "max",
974
+ "min",
975
+ "name",
976
+ "onFocusChange",
977
+ "onValueChange",
978
+ "onValueCommit",
979
+ "onValueInvalid",
980
+ "pattern",
981
+ "required",
982
+ "readOnly",
983
+ "spinOnPress",
984
+ "step",
985
+ "translations",
986
+ "value",
987
+ "defaultValue"
988
+ ]);
989
+ const splitProps = require_utils.createSplitProps(props);
990
+
991
+ //#endregion
992
+ exports.anatomy = anatomy;
993
+ exports.connect = connect;
994
+ exports.machine = machine;
995
+ exports.props = props;
996
+ exports.splitProps = splitProps;