@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,440 @@
1
+ import { rn as getWindow } from "./dom-query-DFCRhyj1.mjs";
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 ? getWindow(getRootNode()) : window;
433
+ win.addEventListener("languagechange", handleLocaleChange);
434
+ return () => {
435
+ win.removeEventListener("languagechange", handleLocaleChange);
436
+ };
437
+ }
438
+
439
+ //#endregion
440
+ export { createCollator, createFilter, formatBytes, formatDate, formatList, formatNumber, formatRelativeTime, getDefaultLocale, getLocaleDir, isRTL, trackLocale };
@@ -0,0 +1,25 @@
1
+ //#region src/shared/interact-outside/index.d.ts
2
+ interface InteractOutsideHandlers {
3
+ onPointerDownOutside?: ((event: PointerDownOutsideEvent) => void) | undefined;
4
+ onFocusOutside?: ((event: FocusOutsideEvent) => void) | undefined;
5
+ onInteractOutside?: ((event: InteractOutsideEvent) => void) | undefined;
6
+ }
7
+ interface InteractOutsideOptions extends InteractOutsideHandlers {
8
+ exclude?: ((target: HTMLElement) => boolean) | undefined;
9
+ defer?: boolean | undefined;
10
+ followControlledElements?: boolean | undefined;
11
+ }
12
+ interface EventDetails<T> {
13
+ originalEvent: T;
14
+ contextmenu: boolean;
15
+ focusable: boolean;
16
+ target: EventTarget;
17
+ }
18
+ type PointerDownOutsideEvent = CustomEvent<EventDetails<PointerEvent>>;
19
+ type FocusOutsideEvent = CustomEvent<EventDetails<FocusEvent>>;
20
+ type InteractOutsideEvent = PointerDownOutsideEvent | FocusOutsideEvent;
21
+ type MaybeElement = HTMLElement | null | undefined;
22
+ type NodeOrFn = MaybeElement | (() => MaybeElement);
23
+ declare function trackInteractOutside(nodeOrFn: NodeOrFn, options: InteractOutsideOptions): () => void;
24
+ //#endregion
25
+ export { InteractOutsideOptions as a, PointerDownOutsideEvent as c, InteractOutsideHandlers as i, trackInteractOutside as l, FocusOutsideEvent as n, MaybeElement as o, InteractOutsideEvent as r, NodeOrFn as s, EventDetails as t };