@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,450 @@
1
+ const require_dom_query = require('./dom-query-CWZdWUGp.cjs');
2
+
3
+ //#region src/shared/i18n-utils/cache.ts
4
+ function i18nCache(Ins) {
5
+ const formatterCache = /* @__PURE__ */ new Map();
6
+ return function create(locale, options) {
7
+ const cacheKey = locale + (options ? Object.entries(options).sort((a, b) => a[0] < b[0] ? -1 : 1).join() : "");
8
+ if (formatterCache.has(cacheKey)) return formatterCache.get(cacheKey);
9
+ let formatter = new Ins(locale, options);
10
+ formatterCache.set(cacheKey, formatter);
11
+ return formatter;
12
+ };
13
+ }
14
+
15
+ //#endregion
16
+ //#region src/shared/i18n-utils/collator.ts
17
+ const getCollator = i18nCache(Intl.Collator);
18
+ function createCollator(locale = "en-US", options = {}) {
19
+ return getCollator(locale, options);
20
+ }
21
+
22
+ //#endregion
23
+ //#region src/shared/i18n-utils/filter.ts
24
+ const collatorCache = i18nCache(Intl.Collator);
25
+ function createFilter(options) {
26
+ const { locale, ...rest } = options || {};
27
+ const collator = collatorCache(locale || "en-US", {
28
+ usage: "search",
29
+ ...rest
30
+ });
31
+ function normalize(string) {
32
+ string = string.normalize("NFC");
33
+ if (collator.resolvedOptions().ignorePunctuation) string = string.replace(/\p{P}/gu, "");
34
+ return string;
35
+ }
36
+ function startsWith(string, substring) {
37
+ if (substring.length === 0) return true;
38
+ string = normalize(string);
39
+ substring = normalize(substring);
40
+ return collator.compare(string.slice(0, substring.length), substring) === 0;
41
+ }
42
+ function endsWith(string, substring) {
43
+ if (substring.length === 0) return true;
44
+ string = normalize(string);
45
+ substring = normalize(substring);
46
+ return collator.compare(string.slice(-substring.length), substring) === 0;
47
+ }
48
+ function contains(string, substring) {
49
+ if (substring.length === 0) return true;
50
+ string = normalize(string);
51
+ substring = normalize(substring);
52
+ let scan = 0;
53
+ let sliceLen = substring.length;
54
+ for (; scan + sliceLen <= string.length; scan++) {
55
+ let slice = string.slice(scan, scan + sliceLen);
56
+ if (collator.compare(substring, slice) === 0) return true;
57
+ }
58
+ return false;
59
+ }
60
+ return {
61
+ startsWith,
62
+ endsWith,
63
+ contains
64
+ };
65
+ }
66
+
67
+ //#endregion
68
+ //#region src/shared/i18n-utils/format-number.ts
69
+ const getNumberFormatter = i18nCache(Intl.NumberFormat);
70
+ function formatNumber(v, locale, options = {}) {
71
+ return getNumberFormatter(locale, options).format(v);
72
+ }
73
+
74
+ //#endregion
75
+ //#region src/shared/i18n-utils/format-bytes.ts
76
+ const bitPrefixes = [
77
+ "",
78
+ "kilo",
79
+ "mega",
80
+ "giga",
81
+ "tera"
82
+ ];
83
+ const bytePrefixes = [
84
+ "",
85
+ "kilo",
86
+ "mega",
87
+ "giga",
88
+ "tera",
89
+ "peta"
90
+ ];
91
+ const formatBytes = (bytes, locale = "en-US", options = {}) => {
92
+ if (Number.isNaN(bytes)) return "";
93
+ if (bytes === 0) return "0 B";
94
+ const { unitSystem = "decimal", precision = 3, unit = "byte", unitDisplay = "short" } = options;
95
+ const factor = unitSystem === "binary" ? 1024 : 1e3;
96
+ const prefix = unit === "bit" ? bitPrefixes : bytePrefixes;
97
+ const isNegative = bytes < 0;
98
+ let value = Math.abs(bytes);
99
+ let index = 0;
100
+ while (value >= factor && index < prefix.length - 1) {
101
+ value /= factor;
102
+ index++;
103
+ }
104
+ const v = parseFloat(value.toPrecision(precision));
105
+ return formatNumber(isNegative ? -v : v, locale, {
106
+ style: "unit",
107
+ unit: prefix[index] + unit,
108
+ unitDisplay
109
+ });
110
+ };
111
+
112
+ //#endregion
113
+ //#region src/shared/i18n-utils/format-date.ts
114
+ const symbols = "\\s|\\.|-|/|\\\\|,|\\$|\\!|\\?|:|;";
115
+ function createRegEx(sign) {
116
+ return new RegExp("(^|>|" + symbols + ")(" + sign + ")($|<|\\s|\\.|-|/|\\\\|,|\\$|\\!|\\?|:|;)", "g");
117
+ }
118
+ const FORMATS = [
119
+ "G",
120
+ "GG",
121
+ "GGG",
122
+ "GGGG",
123
+ "GGGGG",
124
+ "y",
125
+ "yo",
126
+ "yy",
127
+ "yyy",
128
+ "yyyy",
129
+ "Y",
130
+ "Yo",
131
+ "YY",
132
+ "YYY",
133
+ "YYYY",
134
+ "Q",
135
+ "Qo",
136
+ "QQ",
137
+ "QQQ",
138
+ "QQQQ",
139
+ "QQQQQ",
140
+ "M",
141
+ "Mo",
142
+ "MM",
143
+ "MMM",
144
+ "MMMM",
145
+ "MMMMM",
146
+ "E",
147
+ "EE",
148
+ "EEE",
149
+ "EEEE",
150
+ "EEEEE",
151
+ "EEEEEE",
152
+ "a",
153
+ "aa",
154
+ "aaa",
155
+ "aaaa",
156
+ "aaaaa",
157
+ "d",
158
+ "do",
159
+ "dd",
160
+ "D",
161
+ "Do",
162
+ "DD",
163
+ "DDD",
164
+ "w",
165
+ "wo",
166
+ "ww",
167
+ "s",
168
+ "so",
169
+ "ss",
170
+ "m",
171
+ "mo",
172
+ "mm",
173
+ "h",
174
+ "ho",
175
+ "hh",
176
+ "H",
177
+ "Ho",
178
+ "HH",
179
+ "z",
180
+ "zz",
181
+ "zzz",
182
+ "zzzz",
183
+ "T"
184
+ ];
185
+ function ordinal(num) {
186
+ const n = typeof num === "string" ? parseFloat(num) : num;
187
+ let suffix = "th";
188
+ if (n % 10 === 1 && n % 100 !== 11) suffix = "st";
189
+ else if (n % 10 === 2 && n % 100 !== 12) suffix = "nd";
190
+ else if (n % 10 === 3 && n % 100 !== 13) suffix = "rd";
191
+ return `${n}${suffix}`;
192
+ }
193
+ function pad(num, length) {
194
+ return String(num).padStart(length, "0");
195
+ }
196
+ function zone(str) {
197
+ return str.split(/AM|PM/)[1].trim();
198
+ }
199
+ function getFormat(date, options) {
200
+ const { locale, format, timeZone } = options;
201
+ switch (format) {
202
+ case "G":
203
+ case "GG":
204
+ case "GGG": return date.toLocaleString(locale, { era: "short" });
205
+ case "GGGG": return date.toLocaleString(locale, { era: "long" });
206
+ case "GGGGG": return date.toLocaleString(locale, { era: "narrow" });
207
+ case "y":
208
+ case "Y": return date.getFullYear();
209
+ case "yo":
210
+ case "Yo": return ordinal(date.toLocaleString(locale, { year: "numeric" }));
211
+ case "yy":
212
+ case "YY": return date.toLocaleString(locale, { year: "2-digit" });
213
+ case "yyy":
214
+ case "YYY": return date.toLocaleString(locale, { year: "numeric" }).padStart(3, "0");
215
+ case "yyyy":
216
+ case "YYYY": return date.toLocaleString(locale, { year: "numeric" }).padStart(4, "0");
217
+ case "Q":
218
+ case "QQQQQ": return Math.ceil((date.getMonth() + 1) / 3);
219
+ case "Qo": return ordinal(Math.ceil((date.getMonth() + 1) / 3));
220
+ case "QQ": return pad(Math.ceil((date.getMonth() + 1) / 3), 2);
221
+ case "QQQ": return `Q${Math.ceil((date.getMonth() + 1) / 3)}`;
222
+ case "QQQQ": return `${ordinal(String(Math.ceil((date.getMonth() + 1) / 3)))} quarter`;
223
+ case "M": return date.getMonth() + 1;
224
+ case "Mo": return ordinal(date.getMonth() + 1);
225
+ case "MM": return date.toLocaleString(locale, { month: "2-digit" });
226
+ case "MMM": return date.toLocaleString(locale, { month: "short" });
227
+ case "MMMM": return date.toLocaleString(locale, { month: "long" });
228
+ case "MMMMM": return date.toLocaleString(locale, { month: "narrow" });
229
+ case "w": return Math.ceil(date.getDate() / 7);
230
+ case "wo": return ordinal(Math.ceil(date.getDate() / 7));
231
+ case "ww": return pad(Math.ceil(date.getDate() / 7), 2);
232
+ case "d":
233
+ case "D": return date.getDate();
234
+ case "do":
235
+ case "Do": return ordinal(date.getDate());
236
+ case "dd":
237
+ case "DD": return date.toLocaleString(locale, { day: "2-digit" });
238
+ case "DDD": return pad(date.getDate(), 3);
239
+ case "E":
240
+ case "EE":
241
+ case "EEE": return date.toLocaleString(locale, { weekday: "short" });
242
+ case "EEEE": return date.toLocaleString(locale, { weekday: "long" });
243
+ case "EEEEE": return date.toLocaleString(locale, { weekday: "narrow" });
244
+ case "EEEEEE": return date.toLocaleString(locale, { weekday: "short" }).slice(0, 2);
245
+ case "h": return date.toLocaleString(locale, {
246
+ hour: "numeric",
247
+ hour12: true
248
+ });
249
+ case "ho": return ordinal(date.toLocaleString(locale, {
250
+ hour: "2-digit",
251
+ hour12: true
252
+ }));
253
+ case "hh": return date.toLocaleString(locale, {
254
+ hour: "2-digit",
255
+ hour12: true
256
+ });
257
+ case "H": return date.toLocaleString(locale, {
258
+ hour: "numeric",
259
+ hour12: false
260
+ });
261
+ case "Ho": return ordinal(+date.toLocaleString(locale, {
262
+ hour: "numeric",
263
+ hour12: false
264
+ }));
265
+ case "HH": return date.toLocaleString(locale, {
266
+ hour: "2-digit",
267
+ hour12: false
268
+ });
269
+ case "m": return date.toLocaleString(locale, { minute: "numeric" });
270
+ case "mo": return ordinal(date.toLocaleString(locale, { minute: "numeric" }));
271
+ case "mm": return date.toLocaleString(locale, { minute: "2-digit" });
272
+ case "s": return date.toLocaleString(locale, { second: "numeric" });
273
+ case "so": return ordinal(date.toLocaleString(locale, { second: "numeric" }));
274
+ case "ss": return date.toLocaleString(locale, { second: "2-digit" });
275
+ case "T": return date.getTime();
276
+ case "a":
277
+ case "aa":
278
+ case "aaa": return date.toLocaleString(locale, {
279
+ hour: "numeric",
280
+ hour12: true
281
+ }).toLocaleUpperCase();
282
+ case "aaaa": return date.toLocaleString(locale, {
283
+ hour: "numeric",
284
+ hour12: true
285
+ }).toLocaleLowerCase();
286
+ case "aaaaa": return date.toLocaleString(locale, {
287
+ hour: "numeric",
288
+ hour12: true
289
+ }).charAt(0);
290
+ case "z":
291
+ case "zz":
292
+ case "zzz": return zone(date.toLocaleString(locale, {
293
+ timeZone,
294
+ timeZoneName: "shortOffset"
295
+ }));
296
+ case "zzzz": return zone(date.toLocaleString(locale, {
297
+ timeZone,
298
+ timeZoneName: "longOffset"
299
+ }));
300
+ default: throw new Error(`Unknown format: ${format}`);
301
+ }
302
+ }
303
+ function formatDate(date, format, locale, timeZone) {
304
+ let result = format;
305
+ for (const key of FORMATS) {
306
+ const res = getFormat(date, {
307
+ locale,
308
+ format: key,
309
+ timeZone
310
+ });
311
+ result = result.replace(createRegEx(key), "$1" + res + "$3");
312
+ }
313
+ return result;
314
+ }
315
+
316
+ //#endregion
317
+ //#region src/shared/i18n-utils/format-list.ts
318
+ const getListFormatter = i18nCache(Intl.ListFormat);
319
+ function formatList(list, locale, options = {}) {
320
+ return getListFormatter(locale, options).format(list);
321
+ }
322
+
323
+ //#endregion
324
+ //#region src/shared/i18n-utils/format-relative-time.ts
325
+ const getRelativeTimeFormatter = i18nCache(Intl.RelativeTimeFormat);
326
+ function formatRelativeTime(value, locale, options = {}) {
327
+ const rtf = getRelativeTimeFormatter(locale, options);
328
+ const diff = getDistance(/* @__PURE__ */ new Date(), value);
329
+ if (diff.years > 0) return rtf.format(diff.years * diff.sign, "year");
330
+ if (diff.months > 0) return rtf.format(diff.months * diff.sign, "month");
331
+ if (diff.weeks > 0) return rtf.format(diff.weeks * diff.sign, "week");
332
+ if (diff.days > 0) return rtf.format(diff.days * diff.sign, "day");
333
+ if (diff.hours > 0) return rtf.format(diff.hours * diff.sign, "hour");
334
+ if (diff.minutes > 0) return rtf.format(diff.minutes * diff.sign, "minute");
335
+ return rtf.format(diff.seconds * diff.sign, "second");
336
+ }
337
+ const SECOND_TO_MS = 1e3;
338
+ const MINUTE_TO_MS = 1e3 * 60;
339
+ const HOUR_TO_MS = 1e3 * 60 * 60;
340
+ const DAY_TO_MS = 1e3 * 60 * 60 * 24;
341
+ const WEEK_TO_MS = 1e3 * 60 * 60 * 24 * 7;
342
+ const MONTH_TO_MS = 1e3 * 60 * 60 * 24 * 30;
343
+ const YEAR_TO_MS = 1e3 * 60 * 60 * 24 * 365;
344
+ function getDistance(startDate, endDate) {
345
+ const endTime = endDate.getTime();
346
+ const startTime = startDate.getTime();
347
+ const distance = Math.abs(endTime - startTime);
348
+ return {
349
+ sign: Math.sign(endTime - startTime),
350
+ days: Math.floor(distance / DAY_TO_MS),
351
+ hours: Math.floor(distance % DAY_TO_MS / HOUR_TO_MS),
352
+ minutes: Math.floor(distance % HOUR_TO_MS / MINUTE_TO_MS),
353
+ seconds: Math.floor(distance % MINUTE_TO_MS / SECOND_TO_MS),
354
+ weeks: Math.floor(distance / WEEK_TO_MS),
355
+ months: Math.floor(distance / MONTH_TO_MS),
356
+ years: Math.floor(distance / YEAR_TO_MS)
357
+ };
358
+ }
359
+
360
+ //#endregion
361
+ //#region src/shared/i18n-utils/is-rtl.ts
362
+ const RTL_SCRIPTS = new Set([
363
+ "Avst",
364
+ "Arab",
365
+ "Armi",
366
+ "Syrc",
367
+ "Samr",
368
+ "Mand",
369
+ "Thaa",
370
+ "Mend",
371
+ "Nkoo",
372
+ "Adlm",
373
+ "Rohg",
374
+ "Hebr"
375
+ ]);
376
+ const RTL_LANGS = new Set([
377
+ "ae",
378
+ "ar",
379
+ "arc",
380
+ "bcc",
381
+ "bqi",
382
+ "ckb",
383
+ "dv",
384
+ "fa",
385
+ "glk",
386
+ "he",
387
+ "ku",
388
+ "mzn",
389
+ "nqo",
390
+ "pnb",
391
+ "ps",
392
+ "sd",
393
+ "ug",
394
+ "ur",
395
+ "yi"
396
+ ]);
397
+ function isRTL(locale) {
398
+ if (Intl.Locale) {
399
+ const script = new Intl.Locale(locale).maximize().script ?? "";
400
+ return RTL_SCRIPTS.has(script);
401
+ }
402
+ const lang = locale.split("-")[0];
403
+ return RTL_LANGS.has(lang);
404
+ }
405
+ function getLocaleDir(locale) {
406
+ return isRTL(locale) ? "rtl" : "ltr";
407
+ }
408
+
409
+ //#endregion
410
+ //#region src/shared/i18n-utils/locale.ts
411
+ function getDefaultLocale() {
412
+ let locale = typeof navigator !== "undefined" && (navigator.language || navigator.userLanguage) || "en-US";
413
+ try {
414
+ Intl.DateTimeFormat.supportedLocalesOf([locale]);
415
+ } catch {
416
+ locale = "en-US";
417
+ }
418
+ return {
419
+ locale,
420
+ dir: isRTL(locale) ? "rtl" : "ltr"
421
+ };
422
+ }
423
+
424
+ //#endregion
425
+ //#region src/shared/i18n-utils/track-locale.ts
426
+ function trackLocale(options = {}) {
427
+ const { getRootNode, onLocaleChange } = options;
428
+ onLocaleChange?.(getDefaultLocale());
429
+ const handleLocaleChange = () => {
430
+ onLocaleChange?.(getDefaultLocale());
431
+ };
432
+ const win = getRootNode ? require_dom_query.getWindow(getRootNode()) : window;
433
+ win.addEventListener("languagechange", handleLocaleChange);
434
+ return () => {
435
+ win.removeEventListener("languagechange", handleLocaleChange);
436
+ };
437
+ }
438
+
439
+ //#endregion
440
+ exports.createCollator = createCollator;
441
+ exports.createFilter = createFilter;
442
+ exports.formatBytes = formatBytes;
443
+ exports.formatDate = formatDate;
444
+ exports.formatList = formatList;
445
+ exports.formatNumber = formatNumber;
446
+ exports.formatRelativeTime = formatRelativeTime;
447
+ exports.getDefaultLocale = getDefaultLocale;
448
+ exports.getLocaleDir = getLocaleDir;
449
+ exports.isRTL = isRTL;
450
+ exports.trackLocale = trackLocale;
@@ -0,0 +1,61 @@
1
+ //#region src/shared/i18n-utils/collator.d.ts
2
+ declare function createCollator(locale?: string, options?: Intl.CollatorOptions): Intl.Collator;
3
+ //#endregion
4
+ //#region src/shared/i18n-utils/filter.d.ts
5
+ interface FilterReturn {
6
+ startsWith(string: string, substring: string): boolean;
7
+ endsWith(string: string, substring: string): boolean;
8
+ contains(string: string, substring: string): boolean;
9
+ }
10
+ interface FilterOptions extends Intl.CollatorOptions {
11
+ locale?: string | undefined;
12
+ }
13
+ declare function createFilter(options?: FilterOptions): FilterReturn;
14
+ //#endregion
15
+ //#region src/shared/i18n-utils/format-bytes.d.ts
16
+ interface FormatBytesOptions {
17
+ precision?: number | undefined;
18
+ unitSystem?: "binary" | "decimal" | undefined;
19
+ unit?: "bit" | "byte" | undefined;
20
+ unitDisplay?: "long" | "short" | "narrow" | undefined;
21
+ }
22
+ declare const formatBytes: (bytes: number, locale?: string, options?: FormatBytesOptions) => string;
23
+ //#endregion
24
+ //#region src/shared/i18n-utils/format-date.d.ts
25
+ declare function formatDate(date: Date, format: string, locale: string, timeZone?: string): string;
26
+ //#endregion
27
+ //#region src/shared/i18n-utils/format-list.d.ts
28
+ declare function formatList(list: string[], locale: string, options?: Intl.ListFormatOptions): string;
29
+ //#endregion
30
+ //#region src/shared/i18n-utils/format-number.d.ts
31
+ declare function formatNumber(v: number, locale: string, options?: Intl.NumberFormatOptions): string;
32
+ //#endregion
33
+ //#region src/shared/i18n-utils/format-relative-time.d.ts
34
+ declare function formatRelativeTime(value: Date, locale: string, options?: Intl.RelativeTimeFormatOptions): string;
35
+ //#endregion
36
+ //#region src/shared/i18n-utils/is-rtl.d.ts
37
+ declare function isRTL(locale: string): boolean;
38
+ declare function getLocaleDir(locale: string): "ltr" | "rtl";
39
+ //#endregion
40
+ //#region src/shared/i18n-utils/locale.d.ts
41
+ type Direction = "rtl" | "ltr";
42
+ interface Locale {
43
+ locale: string;
44
+ dir: Direction;
45
+ }
46
+ declare global {
47
+ interface Navigator {
48
+ userLanguage?: string | undefined;
49
+ }
50
+ }
51
+ declare function getDefaultLocale(): Locale;
52
+ //#endregion
53
+ //#region src/shared/i18n-utils/track-locale.d.ts
54
+ interface LocaleOptions {
55
+ locale?: string | undefined;
56
+ getRootNode?: (() => ShadowRoot | Document | Node) | undefined;
57
+ onLocaleChange?: ((locale: Locale) => void) | undefined;
58
+ }
59
+ declare function trackLocale(options?: LocaleOptions): () => void;
60
+ //#endregion
61
+ export { FilterOptions, FilterReturn, FormatBytesOptions, type Locale, type LocaleOptions, createCollator, createFilter, formatBytes, formatDate, formatList, formatNumber, formatRelativeTime, getDefaultLocale, getLocaleDir, isRTL, trackLocale };
@@ -0,0 +1,61 @@
1
+ //#region src/shared/i18n-utils/collator.d.ts
2
+ declare function createCollator(locale?: string, options?: Intl.CollatorOptions): Intl.Collator;
3
+ //#endregion
4
+ //#region src/shared/i18n-utils/filter.d.ts
5
+ interface FilterReturn {
6
+ startsWith(string: string, substring: string): boolean;
7
+ endsWith(string: string, substring: string): boolean;
8
+ contains(string: string, substring: string): boolean;
9
+ }
10
+ interface FilterOptions extends Intl.CollatorOptions {
11
+ locale?: string | undefined;
12
+ }
13
+ declare function createFilter(options?: FilterOptions): FilterReturn;
14
+ //#endregion
15
+ //#region src/shared/i18n-utils/format-bytes.d.ts
16
+ interface FormatBytesOptions {
17
+ precision?: number | undefined;
18
+ unitSystem?: "binary" | "decimal" | undefined;
19
+ unit?: "bit" | "byte" | undefined;
20
+ unitDisplay?: "long" | "short" | "narrow" | undefined;
21
+ }
22
+ declare const formatBytes: (bytes: number, locale?: string, options?: FormatBytesOptions) => string;
23
+ //#endregion
24
+ //#region src/shared/i18n-utils/format-date.d.ts
25
+ declare function formatDate(date: Date, format: string, locale: string, timeZone?: string): string;
26
+ //#endregion
27
+ //#region src/shared/i18n-utils/format-list.d.ts
28
+ declare function formatList(list: string[], locale: string, options?: Intl.ListFormatOptions): string;
29
+ //#endregion
30
+ //#region src/shared/i18n-utils/format-number.d.ts
31
+ declare function formatNumber(v: number, locale: string, options?: Intl.NumberFormatOptions): string;
32
+ //#endregion
33
+ //#region src/shared/i18n-utils/format-relative-time.d.ts
34
+ declare function formatRelativeTime(value: Date, locale: string, options?: Intl.RelativeTimeFormatOptions): string;
35
+ //#endregion
36
+ //#region src/shared/i18n-utils/is-rtl.d.ts
37
+ declare function isRTL(locale: string): boolean;
38
+ declare function getLocaleDir(locale: string): "ltr" | "rtl";
39
+ //#endregion
40
+ //#region src/shared/i18n-utils/locale.d.ts
41
+ type Direction = "rtl" | "ltr";
42
+ interface Locale {
43
+ locale: string;
44
+ dir: Direction;
45
+ }
46
+ declare global {
47
+ interface Navigator {
48
+ userLanguage?: string | undefined;
49
+ }
50
+ }
51
+ declare function getDefaultLocale(): Locale;
52
+ //#endregion
53
+ //#region src/shared/i18n-utils/track-locale.d.ts
54
+ interface LocaleOptions {
55
+ locale?: string | undefined;
56
+ getRootNode?: (() => ShadowRoot | Document | Node) | undefined;
57
+ onLocaleChange?: ((locale: Locale) => void) | undefined;
58
+ }
59
+ declare function trackLocale(options?: LocaleOptions): () => void;
60
+ //#endregion
61
+ export { FilterOptions, FilterReturn, FormatBytesOptions, type Locale, type LocaleOptions, createCollator, createFilter, formatBytes, formatDate, formatList, formatNumber, formatRelativeTime, getDefaultLocale, getLocaleDir, isRTL, trackLocale };