@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,89 @@
1
+ import { p as Machine, u as EventObject, y as Service } from "../../types-DejIu60O.cjs";
2
+
3
+ //#region src/machines/async-list/async-list.types.d.ts
4
+ type SortDirection = "ascending" | "descending";
5
+ interface SortDescriptor<T> {
6
+ column: keyof T;
7
+ direction: SortDirection;
8
+ }
9
+ interface LoadDetails<T, C> {
10
+ signal: AbortSignal | undefined;
11
+ filterText: string;
12
+ cursor?: C | undefined;
13
+ sortDescriptor?: SortDescriptor<T> | undefined;
14
+ }
15
+ interface LoadResult<T, C> {
16
+ items: T[];
17
+ cursor?: C | undefined;
18
+ }
19
+ interface SortDetails<T> {
20
+ items: T[];
21
+ descriptor: SortDescriptor<T>;
22
+ filterText: string;
23
+ }
24
+ type LoadDependency = string | number | boolean | undefined | null;
25
+ interface AsyncListProps<T, C> {
26
+ load: (args: LoadDetails<T, C>) => Promise<LoadResult<T, C>>;
27
+ sort?: ((args: SortDetails<T>) => Promise<{
28
+ items: T[];
29
+ }> | {
30
+ items: T[];
31
+ } | undefined) | undefined;
32
+ initialItems?: T[] | undefined;
33
+ initialSortDescriptor?: SortDescriptor<T> | undefined;
34
+ initialFilterText?: string | undefined;
35
+ dependencies?: LoadDependency[] | undefined;
36
+ autoReload?: boolean | undefined;
37
+ onSuccess?: ((details: {
38
+ items: T[];
39
+ }) => void | undefined) | undefined;
40
+ onError?: ((details: {
41
+ error: Error;
42
+ }) => void | undefined) | undefined;
43
+ }
44
+ interface AsyncListSchema<T, C> {
45
+ state: "idle" | "loading" | "sorting";
46
+ props: AsyncListProps<T, C>;
47
+ context: {
48
+ items: T[];
49
+ filterText: string;
50
+ cursor?: C | undefined;
51
+ sortDescriptor?: SortDescriptor<T> | undefined;
52
+ error?: any | undefined;
53
+ };
54
+ refs: {
55
+ abort: AbortController | null;
56
+ seq: number;
57
+ };
58
+ event: EventObject;
59
+ action: string;
60
+ guard: string;
61
+ effect: string;
62
+ }
63
+ type AsyncListService<T, C> = Service<AsyncListSchema<T, C>>;
64
+ type AsyncListMachine<T, C> = Machine<AsyncListSchema<T, C>>;
65
+ interface AsyncListApi<T, C> {
66
+ items: T[];
67
+ filterText: string;
68
+ cursor: C | undefined;
69
+ sortDescriptor: SortDescriptor<T> | undefined;
70
+ loading: boolean;
71
+ sorting: boolean;
72
+ empty: boolean;
73
+ hasMore: boolean;
74
+ error: any | undefined;
75
+ abort: VoidFunction;
76
+ reload: VoidFunction;
77
+ loadMore: VoidFunction;
78
+ sort: (sortDescriptor: SortDescriptor<T>) => void;
79
+ setFilterText: (filterText: string) => void;
80
+ clearFilter: VoidFunction;
81
+ }
82
+ //#endregion
83
+ //#region src/machines/async-list/async-list.connect.d.ts
84
+ declare function connect<T, C>(service: AsyncListService<T, C>): AsyncListApi<T, C>;
85
+ //#endregion
86
+ //#region src/machines/async-list/async-list.machine.d.ts
87
+ declare const machine: Machine<AsyncListSchema<any, any>>;
88
+ //#endregion
89
+ export { type AsyncListApi as Api, type LoadDependency, type LoadDetails, type LoadResult, type AsyncListMachine as Machine, type AsyncListProps as Props, type AsyncListService as Service, type SortDescriptor, type SortDetails, type SortDirection, connect, machine };
@@ -0,0 +1,89 @@
1
+ import { p as Machine, u as EventObject, y as Service } from "../../types-DDTcG99l.mjs";
2
+
3
+ //#region src/machines/async-list/async-list.types.d.ts
4
+ type SortDirection = "ascending" | "descending";
5
+ interface SortDescriptor<T> {
6
+ column: keyof T;
7
+ direction: SortDirection;
8
+ }
9
+ interface LoadDetails<T, C> {
10
+ signal: AbortSignal | undefined;
11
+ filterText: string;
12
+ cursor?: C | undefined;
13
+ sortDescriptor?: SortDescriptor<T> | undefined;
14
+ }
15
+ interface LoadResult<T, C> {
16
+ items: T[];
17
+ cursor?: C | undefined;
18
+ }
19
+ interface SortDetails<T> {
20
+ items: T[];
21
+ descriptor: SortDescriptor<T>;
22
+ filterText: string;
23
+ }
24
+ type LoadDependency = string | number | boolean | undefined | null;
25
+ interface AsyncListProps<T, C> {
26
+ load: (args: LoadDetails<T, C>) => Promise<LoadResult<T, C>>;
27
+ sort?: ((args: SortDetails<T>) => Promise<{
28
+ items: T[];
29
+ }> | {
30
+ items: T[];
31
+ } | undefined) | undefined;
32
+ initialItems?: T[] | undefined;
33
+ initialSortDescriptor?: SortDescriptor<T> | undefined;
34
+ initialFilterText?: string | undefined;
35
+ dependencies?: LoadDependency[] | undefined;
36
+ autoReload?: boolean | undefined;
37
+ onSuccess?: ((details: {
38
+ items: T[];
39
+ }) => void | undefined) | undefined;
40
+ onError?: ((details: {
41
+ error: Error;
42
+ }) => void | undefined) | undefined;
43
+ }
44
+ interface AsyncListSchema<T, C> {
45
+ state: "idle" | "loading" | "sorting";
46
+ props: AsyncListProps<T, C>;
47
+ context: {
48
+ items: T[];
49
+ filterText: string;
50
+ cursor?: C | undefined;
51
+ sortDescriptor?: SortDescriptor<T> | undefined;
52
+ error?: any | undefined;
53
+ };
54
+ refs: {
55
+ abort: AbortController | null;
56
+ seq: number;
57
+ };
58
+ event: EventObject;
59
+ action: string;
60
+ guard: string;
61
+ effect: string;
62
+ }
63
+ type AsyncListService<T, C> = Service<AsyncListSchema<T, C>>;
64
+ type AsyncListMachine<T, C> = Machine<AsyncListSchema<T, C>>;
65
+ interface AsyncListApi<T, C> {
66
+ items: T[];
67
+ filterText: string;
68
+ cursor: C | undefined;
69
+ sortDescriptor: SortDescriptor<T> | undefined;
70
+ loading: boolean;
71
+ sorting: boolean;
72
+ empty: boolean;
73
+ hasMore: boolean;
74
+ error: any | undefined;
75
+ abort: VoidFunction;
76
+ reload: VoidFunction;
77
+ loadMore: VoidFunction;
78
+ sort: (sortDescriptor: SortDescriptor<T>) => void;
79
+ setFilterText: (filterText: string) => void;
80
+ clearFilter: VoidFunction;
81
+ }
82
+ //#endregion
83
+ //#region src/machines/async-list/async-list.connect.d.ts
84
+ declare function connect<T, C>(service: AsyncListService<T, C>): AsyncListApi<T, C>;
85
+ //#endregion
86
+ //#region src/machines/async-list/async-list.machine.d.ts
87
+ declare const machine: Machine<AsyncListSchema<any, any>>;
88
+ //#endregion
89
+ export { type AsyncListApi as Api, type LoadDependency, type LoadDetails, type LoadResult, type AsyncListMachine as Machine, type AsyncListProps as Props, type AsyncListService as Service, type SortDescriptor, type SortDetails, type SortDirection, connect, machine };
@@ -0,0 +1,310 @@
1
+ import "../../dom-query-DFCRhyj1.mjs";
2
+ import { n as ensureProps, t as ensure } from "../../utils-BZyrxWWR.mjs";
3
+ import { a as createMachine } from "../../core-DCFNMTZF.mjs";
4
+
5
+ //#region src/machines/async-list/async-list.connect.ts
6
+ function connect(service) {
7
+ const { state, context, send } = service;
8
+ const loading = state.matches("loading", "sorting");
9
+ const sorting = state.matches("sorting");
10
+ const items = context.get("items");
11
+ const cursor = context.get("cursor");
12
+ const empty = items.length === 0;
13
+ const hasMore = cursor != null;
14
+ return {
15
+ items,
16
+ sortDescriptor: context.get("sortDescriptor"),
17
+ loading,
18
+ sorting,
19
+ empty,
20
+ hasMore,
21
+ error: context.get("error"),
22
+ filterText: context.get("filterText"),
23
+ cursor,
24
+ abort() {
25
+ send({ type: "ABORT" });
26
+ },
27
+ reload() {
28
+ send({ type: "RELOAD" });
29
+ },
30
+ loadMore() {
31
+ send({ type: "LOAD_MORE" });
32
+ },
33
+ sort(sortDescriptor) {
34
+ send({
35
+ type: "SORT",
36
+ sortDescriptor
37
+ });
38
+ },
39
+ setFilterText(filterText) {
40
+ send({
41
+ type: "FILTER",
42
+ filterText
43
+ });
44
+ },
45
+ clearFilter() {
46
+ send({
47
+ type: "FILTER",
48
+ filterText: ""
49
+ });
50
+ }
51
+ };
52
+ }
53
+
54
+ //#endregion
55
+ //#region src/machines/async-list/async-list.machine.ts
56
+ const machine = createMachine({
57
+ props({ props }) {
58
+ ensureProps(props, ["load"], "load is required");
59
+ return props;
60
+ },
61
+ context({ prop, bindable }) {
62
+ return {
63
+ items: bindable(() => ({ defaultValue: prop("initialItems") ?? [] })),
64
+ cursor: bindable(() => ({ defaultValue: null })),
65
+ filterText: bindable(() => ({ defaultValue: prop("initialFilterText") ?? "" })),
66
+ sortDescriptor: bindable(() => ({ defaultValue: prop("initialSortDescriptor") })),
67
+ error: bindable(() => ({ defaultValue: void 0 }))
68
+ };
69
+ },
70
+ refs() {
71
+ return {
72
+ abort: null,
73
+ seq: 0
74
+ };
75
+ },
76
+ watch({ prop, track, send }) {
77
+ track([() => hashDeps(prop("dependencies"))], () => {
78
+ send({ type: "RELOAD" });
79
+ });
80
+ },
81
+ initialState() {
82
+ return "idle";
83
+ },
84
+ on: { RELOAD: {
85
+ target: "loading",
86
+ reenter: true,
87
+ actions: ["clearItems"]
88
+ } },
89
+ entry: ["loadIfNeeded"],
90
+ states: {
91
+ idle: { on: {
92
+ LOAD_MORE: {
93
+ guard: "hasCursor",
94
+ target: "loading"
95
+ },
96
+ SORT: [{
97
+ guard: "hasSortFn",
98
+ target: "sorting",
99
+ actions: [
100
+ "setSortDescriptor",
101
+ "clearCursor",
102
+ "performSort"
103
+ ]
104
+ }, {
105
+ target: "loading",
106
+ actions: ["setSortDescriptor", "clearCursor"]
107
+ }],
108
+ FILTER: {
109
+ target: "loading",
110
+ actions: ["setFilterText", "clearCursor"]
111
+ }
112
+ } },
113
+ loading: {
114
+ entry: ["performFetch"],
115
+ exit: ["cancelFetch"],
116
+ on: {
117
+ SUCCESS: {
118
+ target: "idle",
119
+ actions: [
120
+ "setItems",
121
+ "setCursor",
122
+ "clearError",
123
+ "invokeOnSuccess"
124
+ ]
125
+ },
126
+ ERROR: {
127
+ target: "idle",
128
+ actions: ["setError", "invokeOnError"]
129
+ },
130
+ ABORT: {
131
+ target: "idle",
132
+ actions: ["cancelFetch"]
133
+ },
134
+ FILTER: {
135
+ reenter: true,
136
+ target: "loading",
137
+ actions: ["setFilterText", "clearCursor"]
138
+ }
139
+ }
140
+ },
141
+ sorting: { on: {
142
+ SUCCESS: {
143
+ target: "idle",
144
+ actions: [
145
+ "setItems",
146
+ "setCursor",
147
+ "clearError",
148
+ "invokeOnSuccess"
149
+ ]
150
+ },
151
+ ERROR: {
152
+ target: "idle",
153
+ actions: ["setError", "invokeOnError"]
154
+ },
155
+ ABORT: {
156
+ target: "idle",
157
+ actions: ["cancelSort"]
158
+ },
159
+ FILTER: {
160
+ target: "loading",
161
+ actions: [
162
+ "setFilterText",
163
+ "clearCursor",
164
+ "cancelSort"
165
+ ]
166
+ },
167
+ RELOAD: {
168
+ target: "loading",
169
+ actions: ["clearItems", "cancelSort"]
170
+ },
171
+ SORT: [{
172
+ guard: "hasSortFn",
173
+ target: "sorting",
174
+ reenter: true,
175
+ actions: [
176
+ "setSortDescriptor",
177
+ "clearCursor",
178
+ "cancelSort",
179
+ "performSort"
180
+ ]
181
+ }, {
182
+ target: "loading",
183
+ actions: [
184
+ "setSortDescriptor",
185
+ "clearCursor",
186
+ "cancelSort"
187
+ ]
188
+ }]
189
+ } }
190
+ },
191
+ implementations: {
192
+ guards: {
193
+ hasCursor({ context }) {
194
+ return context.get("cursor") != null;
195
+ },
196
+ hasSortFn({ prop }) {
197
+ return prop("sort") != null;
198
+ }
199
+ },
200
+ actions: {
201
+ loadIfNeeded({ prop, send }) {
202
+ if (!prop("autoReload")) return;
203
+ send({ type: "RELOAD" });
204
+ },
205
+ performFetch({ context, prop, refs, send, event }) {
206
+ refs.set("abort", new AbortController());
207
+ const abort = refs.get("abort");
208
+ context.set("error", void 0);
209
+ const seq = refs.get("seq") + 1;
210
+ refs.set("seq", seq);
211
+ const isLoadMore = event.type === "LOAD_MORE";
212
+ prop("load")({
213
+ signal: abort?.signal,
214
+ cursor: isLoadMore ? context.get("cursor") : null,
215
+ filterText: event.filterText ?? context.get("filterText"),
216
+ sortDescriptor: event.sortDescriptor ?? context.get("sortDescriptor")
217
+ }).then(({ items, cursor }) => {
218
+ if (seq !== refs.get("seq")) return;
219
+ send({
220
+ type: "SUCCESS",
221
+ items,
222
+ cursor,
223
+ append: isLoadMore
224
+ });
225
+ }).catch((error) => {
226
+ if (seq !== refs.get("seq")) return;
227
+ if (isAbortError(error)) return;
228
+ send({
229
+ type: "ERROR",
230
+ error
231
+ });
232
+ });
233
+ },
234
+ performSort({ context, prop, send, event, refs }) {
235
+ const sortFn = prop("sort");
236
+ ensure(sortFn, () => "[sprawlify-js/async-list] sort is required");
237
+ const currentItems = context.get("items");
238
+ const filterText = context.get("filterText");
239
+ const seq = refs.get("seq") + 1;
240
+ refs.set("seq", seq);
241
+ Promise.resolve(sortFn({
242
+ items: currentItems,
243
+ descriptor: event.sortDescriptor,
244
+ filterText
245
+ })).then((r) => {
246
+ if (seq !== refs.get("seq")) return;
247
+ send({
248
+ type: "SUCCESS",
249
+ items: r?.items ?? currentItems,
250
+ cursor: void 0,
251
+ append: false
252
+ });
253
+ }).catch((e) => {
254
+ if (seq !== refs.get("seq")) return;
255
+ send({
256
+ type: "ERROR",
257
+ error: e
258
+ });
259
+ });
260
+ },
261
+ setSortDescriptor({ context, event }) {
262
+ context.set("sortDescriptor", event.sortDescriptor);
263
+ },
264
+ setFilterText({ context, event }) {
265
+ context.set("filterText", event.filterText);
266
+ },
267
+ invokeOnSuccess({ prop, event }) {
268
+ prop("onSuccess")?.({ items: event.items });
269
+ },
270
+ invokeOnError({ prop, event }) {
271
+ prop("onError")?.({ error: event.error });
272
+ },
273
+ clearItems({ context }) {
274
+ context.set("items", []);
275
+ },
276
+ setItems({ context, event }) {
277
+ context.set("items", (prev) => event.append ? [...prev, ...event.items] : event.items);
278
+ },
279
+ setCursor({ context, event }) {
280
+ context.set("cursor", event.cursor);
281
+ },
282
+ setError({ context, event }) {
283
+ context.set("error", event.error);
284
+ },
285
+ clearError({ context }) {
286
+ context.set("error", void 0);
287
+ },
288
+ clearCursor({ context }) {
289
+ context.set("cursor", null);
290
+ },
291
+ cancelFetch({ refs }) {
292
+ refs.get("abort")?.abort();
293
+ refs.set("abort", null);
294
+ },
295
+ cancelSort({ refs }) {
296
+ const seq = refs.get("seq") + 1;
297
+ refs.set("seq", seq);
298
+ }
299
+ }
300
+ }
301
+ });
302
+ function isAbortError(err) {
303
+ return err instanceof Error && err.name === "AbortError";
304
+ }
305
+ function hashDeps(deps = []) {
306
+ return deps.filter(Boolean).join(",");
307
+ }
308
+
309
+ //#endregion
310
+ export { connect, machine };
@@ -0,0 +1,169 @@
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_create_props = require('../../create-props-YKy7JIKj.cjs');
6
+
7
+ //#region src/machines/avatar/avatar.anatomy.ts
8
+ const anatomy = require_create_anatomy.createAnatomy("avatar").parts("root", "image", "fallback");
9
+ const parts = anatomy.build();
10
+
11
+ //#endregion
12
+ //#region src/machines/avatar/avatar.dom.ts
13
+ const getRootId = (ctx) => ctx.ids?.root ?? `avatar:${ctx.id}`;
14
+ const getImageId = (ctx) => ctx.ids?.image ?? `avatar:${ctx.id}:image`;
15
+ const getFallbackId = (ctx) => ctx.ids?.fallback ?? `avatar:${ctx.id}:fallback`;
16
+ const getRootEl = (ctx) => ctx.getById(getRootId(ctx));
17
+ const getImageEl = (ctx) => ctx.getById(getImageId(ctx));
18
+
19
+ //#endregion
20
+ //#region src/machines/avatar/avatar.connect.ts
21
+ function connect(service, normalize) {
22
+ const { state, send, prop, scope } = service;
23
+ const loaded = state.matches("loaded");
24
+ return {
25
+ loaded,
26
+ setSrc(src) {
27
+ getImageEl(scope)?.setAttribute("src", src);
28
+ },
29
+ setLoaded() {
30
+ send({
31
+ type: "img.loaded",
32
+ src: "api"
33
+ });
34
+ },
35
+ setError() {
36
+ send({
37
+ type: "img.error",
38
+ src: "api"
39
+ });
40
+ },
41
+ getRootProps() {
42
+ return normalize.element({
43
+ ...parts.root.attrs,
44
+ dir: prop("dir"),
45
+ id: getRootId(scope)
46
+ });
47
+ },
48
+ getImageProps() {
49
+ return normalize.img({
50
+ ...parts.image.attrs,
51
+ hidden: !loaded,
52
+ dir: prop("dir"),
53
+ id: getImageId(scope),
54
+ "data-state": loaded ? "visible" : "hidden",
55
+ onLoad() {
56
+ send({
57
+ type: "img.loaded",
58
+ src: "element"
59
+ });
60
+ },
61
+ onError() {
62
+ send({
63
+ type: "img.error",
64
+ src: "element"
65
+ });
66
+ }
67
+ });
68
+ },
69
+ getFallbackProps() {
70
+ return normalize.element({
71
+ ...parts.fallback.attrs,
72
+ dir: prop("dir"),
73
+ id: getFallbackId(scope),
74
+ hidden: loaded,
75
+ "data-state": loaded ? "hidden" : "visible"
76
+ });
77
+ }
78
+ };
79
+ }
80
+
81
+ //#endregion
82
+ //#region src/machines/avatar/avatar.machine.ts
83
+ const machine = require_core.createMachine({
84
+ initialState() {
85
+ return "loading";
86
+ },
87
+ effects: ["trackImageRemoval", "trackSrcChange"],
88
+ on: {
89
+ "src.change": { target: "loading" },
90
+ "img.unmount": { target: "error" }
91
+ },
92
+ states: {
93
+ loading: {
94
+ entry: ["checkImageStatus"],
95
+ on: {
96
+ "img.loaded": {
97
+ target: "loaded",
98
+ actions: ["invokeOnLoad"]
99
+ },
100
+ "img.error": {
101
+ target: "error",
102
+ actions: ["invokeOnError"]
103
+ }
104
+ }
105
+ },
106
+ error: { on: { "img.loaded": {
107
+ target: "loaded",
108
+ actions: ["invokeOnLoad"]
109
+ } } },
110
+ loaded: { on: { "img.error": {
111
+ target: "error",
112
+ actions: ["invokeOnError"]
113
+ } } }
114
+ },
115
+ implementations: {
116
+ actions: {
117
+ invokeOnLoad({ prop }) {
118
+ prop("onStatusChange")?.({ status: "loaded" });
119
+ },
120
+ invokeOnError({ prop }) {
121
+ prop("onStatusChange")?.({ status: "error" });
122
+ },
123
+ checkImageStatus({ send, scope }) {
124
+ const imageEl = getImageEl(scope);
125
+ if (!imageEl?.complete) return;
126
+ send({
127
+ type: hasLoaded(imageEl) ? "img.loaded" : "img.error",
128
+ src: "ssr"
129
+ });
130
+ }
131
+ },
132
+ effects: {
133
+ trackImageRemoval({ send, scope }) {
134
+ return require_dom_query.observeChildren(getRootEl(scope), { callback(records) {
135
+ if (Array.from(records[0].removedNodes).find((node) => node.nodeType === Node.ELEMENT_NODE && node.matches("[data-scope=avatar][data-part=image]"))) send({ type: "img.unmount" });
136
+ } });
137
+ },
138
+ trackSrcChange({ send, scope }) {
139
+ return require_dom_query.observeAttributes(getImageEl(scope), {
140
+ attributes: ["src", "srcset"],
141
+ callback() {
142
+ send({ type: "src.change" });
143
+ }
144
+ });
145
+ }
146
+ }
147
+ }
148
+ });
149
+ function hasLoaded(image) {
150
+ return image.complete && image.naturalWidth !== 0 && image.naturalHeight !== 0;
151
+ }
152
+
153
+ //#endregion
154
+ //#region src/machines/avatar/avatar.props.ts
155
+ const props = require_create_props.createProps()([
156
+ "dir",
157
+ "id",
158
+ "ids",
159
+ "onStatusChange",
160
+ "getRootNode"
161
+ ]);
162
+ const splitProps = require_utils.createSplitProps(props);
163
+
164
+ //#endregion
165
+ exports.anatomy = anatomy;
166
+ exports.connect = connect;
167
+ exports.machine = machine;
168
+ exports.props = props;
169
+ exports.splitProps = splitProps;