@splendidlabz/utils 1.6.0 → 1.7.0

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 (472) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cjs/dom/accessibility.cjs +53 -0
  3. package/dist/cjs/dom/actions/index.cjs +407 -0
  4. package/dist/cjs/dom/actions/masonry.cjs +149 -0
  5. package/dist/cjs/dom/actions/prefer-horizontal-scroll.cjs +157 -0
  6. package/dist/cjs/dom/actions/sticky.cjs +211 -0
  7. package/dist/cjs/dom/bounding-box.cjs +70 -0
  8. package/dist/cjs/dom/clipboard.cjs +37 -0
  9. package/dist/cjs/dom/cookie.cjs +57 -0
  10. package/dist/cjs/dom/css-vars.cjs +57 -0
  11. package/dist/cjs/dom/events.cjs +95 -0
  12. package/dist/cjs/dom/focusable.cjs +143 -0
  13. package/dist/cjs/dom/font-size.cjs +74 -0
  14. package/dist/cjs/dom/get-element.cjs +98 -0
  15. package/dist/cjs/dom/hash.cjs +35 -0
  16. package/dist/cjs/dom/index.cjs +1197 -0
  17. package/dist/cjs/dom/keyboard.cjs +51 -0
  18. package/dist/cjs/dom/local-store.cjs +79 -0
  19. package/dist/cjs/dom/media.cjs +59 -0
  20. package/dist/cjs/dom/observers/index.cjs +156 -0
  21. package/dist/cjs/dom/observers/intersection-observer.cjs +91 -0
  22. package/dist/cjs/dom/observers/mutation-observer.cjs +95 -0
  23. package/dist/cjs/dom/observers/observer.cjs +48 -0
  24. package/dist/cjs/dom/observers/resize-observer.cjs +82 -0
  25. package/dist/cjs/dom/pkce.cjs +53 -0
  26. package/dist/cjs/dom/query-params.cjs +38 -0
  27. package/dist/cjs/dom/random-string.cjs +38 -0
  28. package/dist/cjs/dom/sanitize.cjs +65 -0
  29. package/dist/cjs/dom/session-store.cjs +49 -0
  30. package/dist/cjs/dom/spam-prevention.cjs +50 -0
  31. package/dist/cjs/dom/trap-focus.cjs +197 -0
  32. package/dist/cjs/dom/ui/aria-current.cjs +43 -0
  33. package/dist/cjs/dom/ui/inconsistent-button-fix.cjs +35 -0
  34. package/dist/cjs/dom/ui/index.cjs +105 -0
  35. package/dist/cjs/dom/ui/scroll-container.cjs +47 -0
  36. package/dist/cjs/dom/ui/traverse-and-scramble.cjs +50 -0
  37. package/dist/cjs/lib/arrays/index.cjs +139 -0
  38. package/dist/cjs/lib/arrays/item-position.cjs +42 -0
  39. package/dist/cjs/lib/arrays/join.cjs +43 -0
  40. package/dist/cjs/lib/arrays/shuffle.cjs +42 -0
  41. package/dist/cjs/lib/arrays/sort.cjs +67 -0
  42. package/dist/cjs/lib/arrays/split-array.cjs +41 -0
  43. package/dist/cjs/lib/arrays/unique.cjs +31 -0
  44. package/dist/cjs/lib/auth/index.cjs +53 -0
  45. package/dist/cjs/lib/auth/route-manager.cjs +51 -0
  46. package/dist/cjs/lib/checks.cjs +58 -0
  47. package/dist/cjs/lib/date/days.cjs +37 -0
  48. package/dist/cjs/lib/date/index.cjs +206 -0
  49. package/dist/cjs/lib/date/months.cjs +102 -0
  50. package/dist/cjs/lib/date/time.cjs +115 -0
  51. package/dist/cjs/lib/form/form-data.cjs +83 -0
  52. package/dist/cjs/lib/form/index.cjs +122 -0
  53. package/dist/cjs/lib/form/sanitize.cjs +61 -0
  54. package/dist/cjs/lib/functions/debounce.cjs +43 -0
  55. package/dist/cjs/lib/functions/env.cjs +32 -0
  56. package/dist/cjs/lib/functions/functional.cjs +62 -0
  57. package/dist/cjs/lib/functions/index.cjs +122 -0
  58. package/dist/cjs/lib/functions/throttle.cjs +38 -0
  59. package/dist/cjs/lib/functions/timeout.cjs +41 -0
  60. package/dist/cjs/lib/hash.cjs +43 -0
  61. package/dist/cjs/lib/index.cjs +1141 -0
  62. package/dist/cjs/lib/numbers/index.cjs +49 -0
  63. package/dist/cjs/lib/numbers/math.cjs +36 -0
  64. package/dist/cjs/lib/objects/camelcase-keys.cjs +80 -0
  65. package/dist/cjs/lib/objects/empty.cjs +39 -0
  66. package/dist/cjs/lib/objects/equal.cjs +47 -0
  67. package/dist/cjs/lib/objects/extend.cjs +146 -0
  68. package/dist/cjs/lib/objects/flatten.cjs +48 -0
  69. package/dist/cjs/lib/objects/index.cjs +375 -0
  70. package/dist/cjs/lib/objects/json.cjs +35 -0
  71. package/dist/cjs/lib/objects/loop.cjs +40 -0
  72. package/dist/cjs/lib/objects/mix/mix.cjs +112 -0
  73. package/dist/cjs/lib/objects/nested-property.cjs +45 -0
  74. package/dist/cjs/lib/objects/normalize-object.cjs +106 -0
  75. package/dist/cjs/lib/objects/omit-empty.cjs +40 -0
  76. package/dist/cjs/lib/objects/size.cjs +63 -0
  77. package/dist/cjs/lib/objects/split.cjs +39 -0
  78. package/dist/cjs/lib/promises/index.cjs +69 -0
  79. package/dist/cjs/lib/promises/reject.cjs +67 -0
  80. package/dist/cjs/lib/sse.cjs +99 -0
  81. package/dist/cjs/lib/strings/convert-case/convert-case.cjs +96 -0
  82. package/dist/cjs/lib/strings/index.cjs +190 -0
  83. package/dist/cjs/lib/strings/markdown.cjs +59 -0
  84. package/dist/cjs/lib/strings/name.cjs +46 -0
  85. package/dist/cjs/lib/strings/pluralize.cjs +40 -0
  86. package/dist/cjs/lib/strings/query-string.cjs +43 -0
  87. package/dist/cjs/lib/style/index.cjs +64 -0
  88. package/dist/cjs/lib/symbols/index.cjs +40 -0
  89. package/dist/cjs/lib/symbols/symbols.cjs +38 -0
  90. package/dist/cjs/node/common.cjs +42 -0
  91. package/dist/cjs/node/dirname.cjs +49 -0
  92. package/dist/cjs/node/file-cache.cjs +196 -0
  93. package/dist/cjs/node/file.cjs +50 -0
  94. package/dist/cjs/node/hash.cjs +42 -0
  95. package/dist/cjs/node/index.cjs +290 -0
  96. package/dist/cjs/node/pkce.cjs +62 -0
  97. package/dist/cjs/node/random-string.cjs +43 -0
  98. package/dist/cjs/node/sanitize.cjs +65 -0
  99. package/dist/esm/dom/accessibility.js +27 -0
  100. package/dist/esm/dom/actions/index.js +379 -0
  101. package/dist/esm/dom/actions/masonry.js +123 -0
  102. package/dist/esm/dom/actions/prefer-horizontal-scroll.js +131 -0
  103. package/dist/esm/dom/actions/sticky.js +185 -0
  104. package/dist/esm/dom/bounding-box.js +45 -0
  105. package/dist/esm/dom/clipboard.js +13 -0
  106. package/dist/esm/dom/cookie.js +32 -0
  107. package/dist/esm/dom/css-vars.js +28 -0
  108. package/dist/esm/dom/events.js +67 -0
  109. package/dist/esm/dom/focusable.js +118 -0
  110. package/dist/esm/dom/font-size.js +44 -0
  111. package/dist/esm/dom/get-element.js +67 -0
  112. package/dist/esm/dom/hash.js +11 -0
  113. package/dist/esm/dom/index.js +1100 -0
  114. package/dist/esm/dom/keyboard.js +23 -0
  115. package/dist/esm/dom/local-store.js +55 -0
  116. package/dist/esm/dom/media.js +33 -0
  117. package/dist/esm/dom/observers/index.js +128 -0
  118. package/dist/esm/dom/observers/intersection-observer.js +65 -0
  119. package/dist/esm/dom/observers/mutation-observer.js +69 -0
  120. package/dist/esm/dom/observers/observer.js +22 -0
  121. package/dist/esm/dom/observers/resize-observer.js +56 -0
  122. package/dist/esm/dom/pkce.js +27 -0
  123. package/dist/esm/dom/query-params.js +14 -0
  124. package/dist/esm/dom/random-string.js +13 -0
  125. package/dist/esm/dom/sanitize.js +31 -0
  126. package/dist/esm/dom/session-store.js +25 -0
  127. package/dist/esm/dom/spam-prevention.js +26 -0
  128. package/dist/esm/dom/trap-focus.js +170 -0
  129. package/dist/esm/dom/ui/aria-current.js +18 -0
  130. package/dist/esm/dom/ui/inconsistent-button-fix.js +11 -0
  131. package/dist/esm/dom/ui/index.js +75 -0
  132. package/dist/esm/dom/ui/scroll-container.js +23 -0
  133. package/dist/esm/dom/ui/traverse-and-scramble.js +26 -0
  134. package/dist/esm/lib/arrays/index.js +106 -0
  135. package/dist/esm/lib/arrays/item-position.js +16 -0
  136. package/dist/esm/lib/arrays/join.js +17 -0
  137. package/dist/esm/lib/arrays/shuffle.js +18 -0
  138. package/dist/esm/lib/arrays/sort.js +41 -0
  139. package/dist/esm/lib/arrays/split-array.js +17 -0
  140. package/dist/esm/lib/arrays/unique.js +7 -0
  141. package/dist/esm/lib/auth/index.js +26 -0
  142. package/dist/esm/lib/auth/route-manager.js +26 -0
  143. package/dist/esm/lib/checks.js +31 -0
  144. package/dist/esm/lib/date/days.js +13 -0
  145. package/dist/esm/lib/date/index.js +171 -0
  146. package/dist/esm/lib/date/months.js +78 -0
  147. package/dist/esm/lib/date/time.js +82 -0
  148. package/dist/esm/lib/form/form-data.js +58 -0
  149. package/dist/esm/lib/form/index.js +92 -0
  150. package/dist/esm/lib/form/sanitize.js +35 -0
  151. package/dist/esm/lib/functions/debounce.js +19 -0
  152. package/dist/esm/lib/functions/env.js +8 -0
  153. package/dist/esm/lib/functions/functional.js +35 -0
  154. package/dist/esm/lib/functions/index.js +87 -0
  155. package/dist/esm/lib/functions/throttle.js +14 -0
  156. package/dist/esm/lib/functions/timeout.js +15 -0
  157. package/dist/esm/lib/hash.js +19 -0
  158. package/dist/esm/lib/index.js +1023 -0
  159. package/dist/esm/lib/numbers/index.js +21 -0
  160. package/dist/esm/lib/numbers/math.js +11 -0
  161. package/dist/esm/lib/objects/camelcase-keys.js +54 -0
  162. package/dist/esm/lib/objects/empty.js +14 -0
  163. package/dist/esm/lib/objects/equal.js +12 -0
  164. package/dist/esm/lib/objects/extend.js +120 -0
  165. package/dist/esm/lib/objects/flatten.js +22 -0
  166. package/dist/esm/lib/objects/index.js +321 -0
  167. package/dist/esm/lib/objects/json.js +11 -0
  168. package/dist/esm/lib/objects/loop.js +15 -0
  169. package/dist/esm/lib/objects/mix/mix.js +87 -0
  170. package/dist/esm/lib/objects/nested-property.js +19 -0
  171. package/dist/esm/lib/objects/normalize-object.js +80 -0
  172. package/dist/esm/lib/objects/omit-empty.js +16 -0
  173. package/dist/esm/lib/objects/size.js +39 -0
  174. package/dist/esm/lib/objects/split.js +15 -0
  175. package/dist/esm/lib/promises/index.js +33 -0
  176. package/dist/esm/lib/promises/reject.js +33 -0
  177. package/dist/esm/lib/sse.js +72 -0
  178. package/dist/esm/lib/strings/convert-case/convert-case.js +65 -0
  179. package/dist/esm/lib/strings/index.js +140 -0
  180. package/dist/esm/lib/strings/markdown.js +34 -0
  181. package/dist/esm/lib/strings/name.js +22 -0
  182. package/dist/esm/lib/strings/pluralize.js +6 -0
  183. package/dist/esm/lib/strings/query-string.js +17 -0
  184. package/dist/esm/lib/style/index.js +38 -0
  185. package/dist/esm/lib/symbols/index.js +13 -0
  186. package/dist/esm/lib/symbols/symbols.js +13 -0
  187. package/dist/esm/node/common.js +8 -0
  188. package/dist/esm/node/dirname.js +14 -0
  189. package/dist/esm/node/file-cache.js +158 -0
  190. package/dist/esm/node/file.js +15 -0
  191. package/dist/esm/node/hash.js +8 -0
  192. package/dist/esm/node/index.js +243 -0
  193. package/dist/esm/node/pkce.js +28 -0
  194. package/dist/esm/node/random-string.js +9 -0
  195. package/dist/esm/node/sanitize.js +31 -0
  196. package/dist/{dom/accessibility.d.ts → types/dom/accessibility.d.cts} +5 -3
  197. package/dist/types/dom/actions/index.d.cts +3 -0
  198. package/dist/types/dom/actions/masonry.d.cts +5 -0
  199. package/dist/types/dom/actions/prefer-horizontal-scroll.d.cts +5 -0
  200. package/dist/types/dom/actions/sticky.d.cts +5 -0
  201. package/dist/{dom/bounding-box.d.ts → types/dom/bounding-box.d.cts} +4 -2
  202. package/dist/{dom/clipboard.d.ts → types/dom/clipboard.d.cts} +3 -1
  203. package/dist/types/dom/cookie.d.cts +7 -0
  204. package/dist/types/dom/css-vars.d.cts +6 -0
  205. package/dist/types/dom/events.d.cts +20 -0
  206. package/dist/{dom/focusable.d.ts → types/dom/focusable.d.cts} +5 -3
  207. package/dist/types/dom/font-size.d.cts +7 -0
  208. package/dist/{dom/get-element.d.ts → types/dom/get-element.d.cts} +10 -8
  209. package/dist/types/dom/hash.d.cts +3 -0
  210. package/dist/types/dom/index.d.cts +30 -0
  211. package/dist/{dom/keyboard.d.ts → types/dom/keyboard.d.cts} +7 -5
  212. package/dist/{dom/local-store.d.ts → types/dom/local-store.d.cts} +3 -1
  213. package/dist/types/dom/media.d.cts +5 -0
  214. package/dist/types/dom/observers/index.d.cts +3 -0
  215. package/dist/{dom/observers/intersection-observer.d.ts → types/dom/observers/intersection-observer.d.cts} +3 -1
  216. package/dist/{dom/observers/mutation-observer.d.ts → types/dom/observers/mutation-observer.d.cts} +3 -1
  217. package/dist/types/dom/observers/observer.d.cts +3 -0
  218. package/dist/{dom/observers/resize-observer.d.ts → types/dom/observers/resize-observer.d.cts} +3 -1
  219. package/dist/{node/pkce.d.ts → types/dom/pkce.d.cts} +3 -1
  220. package/dist/{dom/query-params.d.ts → types/dom/query-params.d.cts} +3 -1
  221. package/dist/{dom/random-string.d.ts → types/dom/random-string.d.cts} +4 -2
  222. package/dist/{dom/sanitize.d.ts → types/dom/sanitize.d.cts} +3 -1
  223. package/dist/{dom/session-store.d.ts → types/dom/session-store.d.cts} +3 -1
  224. package/dist/types/dom/spam-prevention.d.cts +14 -0
  225. package/dist/{dom/trap-focus.d.ts → types/dom/trap-focus.d.cts} +8 -4
  226. package/dist/types/dom/ui/aria-current.d.cts +7 -0
  227. package/dist/{dom/ui/inconsistent-button-fix.d.ts → types/dom/ui/inconsistent-button-fix.d.cts} +3 -1
  228. package/dist/types/dom/ui/index.d.cts +4 -0
  229. package/dist/types/dom/ui/scroll-container.d.cts +3 -0
  230. package/dist/{dom/ui/traverse-and-scramble.d.ts → types/dom/ui/traverse-and-scramble.d.cts} +3 -1
  231. package/dist/types/lib/arrays/index.d.cts +6 -0
  232. package/dist/{lib/arrays/item-position.d.ts → types/lib/arrays/item-position.d.cts} +5 -3
  233. package/dist/{lib/arrays/join.d.ts → types/lib/arrays/join.d.cts} +3 -1
  234. package/dist/types/lib/arrays/shuffle.d.cts +3 -0
  235. package/dist/{lib/arrays/sort.d.ts → types/lib/arrays/sort.d.cts} +3 -1
  236. package/dist/types/lib/arrays/split-array.d.cts +6 -0
  237. package/dist/types/lib/arrays/unique.d.cts +3 -0
  238. package/dist/types/lib/auth/index.d.cts +1 -0
  239. package/dist/{lib/auth/route-manager.d.ts → types/lib/auth/route-manager.d.cts} +5 -2
  240. package/dist/{lib/checks.d.ts → types/lib/checks.d.cts} +6 -4
  241. package/dist/{lib/date/days.d.ts → types/lib/date/days.d.cts} +3 -1
  242. package/dist/types/lib/date/index.d.cts +3 -0
  243. package/dist/{lib/date/months.d.ts → types/lib/date/months.d.cts} +3 -1
  244. package/dist/types/lib/date/time.d.cts +21 -0
  245. package/dist/types/lib/form/form-data.d.cts +9 -0
  246. package/dist/types/lib/form/index.d.cts +2 -0
  247. package/dist/{lib/form/sanitize.d.ts → types/lib/form/sanitize.d.cts} +6 -4
  248. package/dist/types/lib/functions/debounce.d.cts +3 -0
  249. package/dist/types/lib/functions/env.d.cts +3 -0
  250. package/dist/types/lib/functions/functional.d.cts +6 -0
  251. package/dist/types/lib/functions/index.d.cts +5 -0
  252. package/dist/types/lib/functions/throttle.d.cts +3 -0
  253. package/dist/types/lib/functions/timeout.d.cts +5 -0
  254. package/dist/types/lib/hash.d.cts +3 -0
  255. package/dist/types/lib/index.d.cts +43 -0
  256. package/dist/types/lib/numbers/index.d.cts +5 -0
  257. package/dist/types/lib/numbers/math.d.cts +4 -0
  258. package/dist/types/lib/objects/camelcase-keys.d.cts +3 -0
  259. package/dist/types/lib/objects/empty.d.cts +4 -0
  260. package/dist/types/lib/objects/equal.d.cts +4 -0
  261. package/dist/types/lib/objects/extend.d.cts +6 -0
  262. package/dist/types/lib/objects/flatten.d.cts +6 -0
  263. package/dist/types/lib/objects/index.d.cts +13 -0
  264. package/dist/types/lib/objects/json.d.cts +3 -0
  265. package/dist/types/lib/objects/loop.d.cts +4 -0
  266. package/dist/types/lib/objects/mix/mix.d.cts +4 -0
  267. package/dist/{lib/objects/nested-property.d.ts → types/lib/objects/nested-property.d.cts} +5 -3
  268. package/dist/types/lib/objects/normalize-object.d.cts +3 -0
  269. package/dist/types/lib/objects/omit-empty.d.cts +3 -0
  270. package/dist/types/lib/objects/size.d.cts +3 -0
  271. package/dist/{lib/objects/split.d.ts → types/lib/objects/split.d.cts} +3 -1
  272. package/dist/types/lib/promises/index.d.cts +1 -0
  273. package/dist/types/lib/promises/reject.d.cts +5 -0
  274. package/dist/{lib/sse.d.ts → types/lib/sse.d.cts} +4 -2
  275. package/dist/types/lib/strings/convert-case/convert-case.d.cts +10 -0
  276. package/dist/types/lib/strings/index.d.cts +5 -0
  277. package/dist/{lib/strings/markdown.d.ts → types/lib/strings/markdown.d.cts} +4 -2
  278. package/dist/types/lib/strings/name.d.cts +7 -0
  279. package/dist/types/lib/strings/pluralize.d.cts +3 -0
  280. package/dist/types/lib/strings/query-string.d.cts +10 -0
  281. package/dist/types/lib/style/index.d.cts +3 -0
  282. package/dist/types/lib/symbols/index.d.cts +1 -0
  283. package/dist/types/lib/symbols/symbols.d.cts +4 -0
  284. package/dist/types/node/common.d.cts +3 -0
  285. package/dist/types/node/dirname.d.cts +9 -0
  286. package/dist/{node/file-cache.d.ts → types/node/file-cache.d.cts} +7 -5
  287. package/dist/types/node/file.d.cts +4 -0
  288. package/dist/types/node/hash.d.cts +3 -0
  289. package/dist/types/node/index.d.cts +7 -0
  290. package/dist/{dom/pkce.d.ts → types/node/pkce.d.cts} +3 -1
  291. package/dist/types/node/random-string.d.cts +3 -0
  292. package/dist/{node/sanitize.d.ts → types/node/sanitize.d.cts} +3 -1
  293. package/package.json +28 -15
  294. package/{dom → src/dom}/index.js +1 -0
  295. package/src/dom/spam-prevention.js +39 -0
  296. package/{dom → src/dom}/ui/aria-current.js +1 -1
  297. package/{lib → src/lib}/arrays/index.js +1 -0
  298. package/{lib → src/lib}/arrays/sort.js +6 -6
  299. package/src/lib/arrays/split-array.js +15 -0
  300. package/{lib → src/lib}/auth/route-manager.js +1 -0
  301. package/{lib → src/lib}/date/time.js +36 -5
  302. package/{lib → src/lib}/objects/mix/mix.js +30 -11
  303. package/{lib → src/lib}/objects/mix/mix.test.js +49 -1
  304. package/src/lib/strings/pluralize.js +2 -0
  305. package/{lib → src/lib}/style/index.js +2 -0
  306. package/tsconfig.json +6 -6
  307. package/tsup.config.js +38 -0
  308. package/tsup.config.mjs +43 -0
  309. package/dist/dom/actions/index.d.ts +0 -3
  310. package/dist/dom/actions/masonry.d.ts +0 -3
  311. package/dist/dom/actions/prefer-horizontal-scroll.d.ts +0 -3
  312. package/dist/dom/actions/sticky.d.ts +0 -3
  313. package/dist/dom/cookie.d.ts +0 -5
  314. package/dist/dom/css-vars.d.ts +0 -4
  315. package/dist/dom/events.d.ts +0 -18
  316. package/dist/dom/font-size.d.ts +0 -5
  317. package/dist/dom/hash.d.ts +0 -1
  318. package/dist/dom/index.d.ts +0 -22
  319. package/dist/dom/media.d.ts +0 -3
  320. package/dist/dom/observers/index.d.ts +0 -3
  321. package/dist/dom/observers/observer.d.ts +0 -1
  322. package/dist/dom/ui/aria-current.d.ts +0 -5
  323. package/dist/dom/ui/index.d.ts +0 -4
  324. package/dist/dom/ui/scroll-container.d.ts +0 -1
  325. package/dist/lib/arrays/index.d.ts +0 -5
  326. package/dist/lib/arrays/shuffle.d.ts +0 -1
  327. package/dist/lib/arrays/unique.d.ts +0 -1
  328. package/dist/lib/auth/index.d.ts +0 -1
  329. package/dist/lib/date/index.d.ts +0 -3
  330. package/dist/lib/date/time.d.ts +0 -8
  331. package/dist/lib/form/form-data.d.ts +0 -7
  332. package/dist/lib/form/index.d.ts +0 -2
  333. package/dist/lib/functions/debounce.d.ts +0 -1
  334. package/dist/lib/functions/env.d.ts +0 -1
  335. package/dist/lib/functions/functional.d.ts +0 -4
  336. package/dist/lib/functions/index.d.ts +0 -5
  337. package/dist/lib/functions/throttle.d.ts +0 -1
  338. package/dist/lib/functions/timeout.d.ts +0 -3
  339. package/dist/lib/hash.d.ts +0 -1
  340. package/dist/lib/index.d.ts +0 -14
  341. package/dist/lib/numbers/index.d.ts +0 -2
  342. package/dist/lib/numbers/math.d.ts +0 -2
  343. package/dist/lib/objects/camelcase-keys.d.ts +0 -1
  344. package/dist/lib/objects/empty.d.ts +0 -2
  345. package/dist/lib/objects/equal.d.ts +0 -2
  346. package/dist/lib/objects/extend.d.ts +0 -4
  347. package/dist/lib/objects/flatten.d.ts +0 -4
  348. package/dist/lib/objects/index.d.ts +0 -13
  349. package/dist/lib/objects/json.d.ts +0 -1
  350. package/dist/lib/objects/loop.d.ts +0 -2
  351. package/dist/lib/objects/mix/mix.d.ts +0 -1
  352. package/dist/lib/objects/normalize-object.d.ts +0 -1
  353. package/dist/lib/objects/omit-empty.d.ts +0 -1
  354. package/dist/lib/objects/size.d.ts +0 -1
  355. package/dist/lib/promises/index.d.ts +0 -1
  356. package/dist/lib/promises/reject.d.ts +0 -3
  357. package/dist/lib/strings/convert-case/convert-case.d.ts +0 -8
  358. package/dist/lib/strings/index.d.ts +0 -5
  359. package/dist/lib/strings/name.d.ts +0 -5
  360. package/dist/lib/strings/pluralize.d.ts +0 -1
  361. package/dist/lib/strings/query-string.d.ts +0 -8
  362. package/dist/lib/style/index.d.ts +0 -1
  363. package/dist/lib/symbols/index.d.ts +0 -1
  364. package/dist/lib/symbols/symbols.d.ts +0 -2
  365. package/dist/node/common.d.ts +0 -1
  366. package/dist/node/dirname.d.ts +0 -7
  367. package/dist/node/file.d.ts +0 -2
  368. package/dist/node/hash.d.ts +0 -1
  369. package/dist/node/index.d.ts +0 -7
  370. package/dist/node/random-string.d.ts +0 -1
  371. package/lib/strings/pluralize.js +0 -2
  372. /package/{dom → src/dom}/accessibility.js +0 -0
  373. /package/{dom → src/dom}/actions/index.js +0 -0
  374. /package/{dom → src/dom}/actions/masonry.js +0 -0
  375. /package/{dom → src/dom}/actions/prefer-horizontal-scroll.js +0 -0
  376. /package/{dom → src/dom}/actions/sticky.js +0 -0
  377. /package/{dom → src/dom}/bounding-box.js +0 -0
  378. /package/{dom → src/dom}/clipboard.js +0 -0
  379. /package/{dom → src/dom}/cookie.js +0 -0
  380. /package/{dom → src/dom}/css-vars.js +0 -0
  381. /package/{dom → src/dom}/events.js +0 -0
  382. /package/{dom → src/dom}/events.test.js +0 -0
  383. /package/{dom → src/dom}/focusable.js +0 -0
  384. /package/{dom → src/dom}/font-size.js +0 -0
  385. /package/{dom → src/dom}/get-element.js +0 -0
  386. /package/{dom → src/dom}/hash.js +0 -0
  387. /package/{dom → src/dom}/keyboard.js +0 -0
  388. /package/{dom → src/dom}/local-store.js +0 -0
  389. /package/{dom → src/dom}/media.js +0 -0
  390. /package/{dom → src/dom}/observers/index.js +0 -0
  391. /package/{dom → src/dom}/observers/intersection-observer.js +0 -0
  392. /package/{dom → src/dom}/observers/mutation-observer.js +0 -0
  393. /package/{dom → src/dom}/observers/observer.js +0 -0
  394. /package/{dom → src/dom}/observers/resize-observer.js +0 -0
  395. /package/{dom → src/dom}/pkce.js +0 -0
  396. /package/{dom → src/dom}/query-params.js +0 -0
  397. /package/{dom → src/dom}/random-string.js +0 -0
  398. /package/{dom → src/dom}/random-string.test.js +0 -0
  399. /package/{dom → src/dom}/sanitize.js +0 -0
  400. /package/{dom → src/dom}/session-store.js +0 -0
  401. /package/{dom → src/dom}/trap-focus.js +0 -0
  402. /package/{dom → src/dom}/ui/inconsistent-button-fix.js +0 -0
  403. /package/{dom → src/dom}/ui/index.js +0 -0
  404. /package/{dom → src/dom}/ui/scroll-container.js +0 -0
  405. /package/{dom → src/dom}/ui/traverse-and-scramble.js +0 -0
  406. /package/{lib → src/lib}/arrays/item-position.js +0 -0
  407. /package/{lib → src/lib}/arrays/join.js +0 -0
  408. /package/{lib → src/lib}/arrays/shuffle.js +0 -0
  409. /package/{lib → src/lib}/arrays/sort.spec.js +0 -0
  410. /package/{lib → src/lib}/arrays/unique.js +0 -0
  411. /package/{lib → src/lib}/auth/index.js +0 -0
  412. /package/{lib → src/lib}/checks.js +0 -0
  413. /package/{lib → src/lib}/date/days.js +0 -0
  414. /package/{lib → src/lib}/date/index.js +0 -0
  415. /package/{lib → src/lib}/date/months.js +0 -0
  416. /package/{lib → src/lib}/form/form-data.js +0 -0
  417. /package/{lib → src/lib}/form/index.js +0 -0
  418. /package/{lib → src/lib}/form/sanitize.js +0 -0
  419. /package/{lib → src/lib}/form/sanitize.spec.js +0 -0
  420. /package/{lib → src/lib}/functions/debounce.js +0 -0
  421. /package/{lib → src/lib}/functions/env.js +0 -0
  422. /package/{lib → src/lib}/functions/functional.js +0 -0
  423. /package/{lib → src/lib}/functions/index.js +0 -0
  424. /package/{lib → src/lib}/functions/throttle.js +0 -0
  425. /package/{lib → src/lib}/functions/timeout.js +0 -0
  426. /package/{lib → src/lib}/hash.js +0 -0
  427. /package/{lib → src/lib}/hash.spec.js +0 -0
  428. /package/{lib → src/lib}/index.js +0 -0
  429. /package/{lib → src/lib}/numbers/index.js +0 -0
  430. /package/{lib → src/lib}/numbers/math.js +0 -0
  431. /package/{lib → src/lib}/objects/camelcase-keys.js +0 -0
  432. /package/{lib → src/lib}/objects/camelcase-keys.test.js +0 -0
  433. /package/{lib → src/lib}/objects/empty.js +0 -0
  434. /package/{lib → src/lib}/objects/equal.js +0 -0
  435. /package/{lib → src/lib}/objects/extend.js +0 -0
  436. /package/{lib → src/lib}/objects/extend.test.js +0 -0
  437. /package/{lib → src/lib}/objects/flatten.js +0 -0
  438. /package/{lib → src/lib}/objects/index.js +0 -0
  439. /package/{lib → src/lib}/objects/json.js +0 -0
  440. /package/{lib → src/lib}/objects/loop.js +0 -0
  441. /package/{lib → src/lib}/objects/loop.test.js +0 -0
  442. /package/{lib → src/lib}/objects/mix/mix.md +0 -0
  443. /package/{lib → src/lib}/objects/nested-property.js +0 -0
  444. /package/{lib → src/lib}/objects/normalize-object.js +0 -0
  445. /package/{lib → src/lib}/objects/omit-empty.js +0 -0
  446. /package/{lib → src/lib}/objects/omit-empty.test.js +0 -0
  447. /package/{lib → src/lib}/objects/size.js +0 -0
  448. /package/{lib → src/lib}/objects/split.js +0 -0
  449. /package/{lib → src/lib}/promises/index.js +0 -0
  450. /package/{lib → src/lib}/promises/reject.js +0 -0
  451. /package/{lib → src/lib}/sse.js +0 -0
  452. /package/{lib → src/lib}/strings/convert-case/convert-case.js +0 -0
  453. /package/{lib → src/lib}/strings/convert-case/convert-case.md +0 -0
  454. /package/{lib → src/lib}/strings/convert-case/convert-case.test.js +0 -0
  455. /package/{lib → src/lib}/strings/index.js +0 -0
  456. /package/{lib → src/lib}/strings/markdown.js +0 -0
  457. /package/{lib → src/lib}/strings/name.js +0 -0
  458. /package/{lib → src/lib}/strings/name.test.js +0 -0
  459. /package/{lib → src/lib}/strings/query-string.js +0 -0
  460. /package/{lib → src/lib}/symbols/index.js +0 -0
  461. /package/{lib → src/lib}/symbols/symbols.js +0 -0
  462. /package/{node → src/node}/common.js +0 -0
  463. /package/{node → src/node}/dirname.js +0 -0
  464. /package/{node → src/node}/file-cache.js +0 -0
  465. /package/{node → src/node}/file.js +0 -0
  466. /package/{node → src/node}/hash.js +0 -0
  467. /package/{node → src/node}/index.js +0 -0
  468. /package/{node → src/node}/pkce.js +0 -0
  469. /package/{node → src/node}/random-string.js +0 -0
  470. /package/{node → src/node}/random-string.test.js +0 -0
  471. /package/{node → src/node}/sanitize.js +0 -0
  472. /package/{node → src/node}/sanitize.spec.js +0 -0
@@ -0,0 +1,143 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/dom/focusable.js
20
+ var focusable_exports = {};
21
+ __export(focusable_exports, {
22
+ Focusable: () => Focusable,
23
+ getFocusableElements: () => getFocusableElements
24
+ });
25
+ module.exports = __toCommonJS(focusable_exports);
26
+ function getFocusableElements(container = document.body) {
27
+ return {
28
+ /**
29
+ * Gets the number of keyboard focusable elements.
30
+ * This is useful for checking if there are any focusable elements
31
+ * before attempting to focus them.
32
+ *
33
+ * @returns {number} The number of keyboard focusable elements
34
+ */
35
+ get length() {
36
+ return this.keyboard.length;
37
+ },
38
+ /**
39
+ * Gets all focusable elements within the container that are visible and enabled.
40
+ * This includes elements that can be focused via mouse or programmatically,
41
+ * but may not be keyboard focusable.
42
+ *
43
+ * Elements are considered focusable if they:
44
+ * - Are not disabled
45
+ * - Are not hidden
46
+ * - Are not display:none
47
+ *
48
+ * @returns {HTMLElement[]} Array of focusable elements that are visible and enabled
49
+ */
50
+ get all() {
51
+ const elements = Array.from(
52
+ container.querySelectorAll(
53
+ `a,
54
+ button,
55
+ input,
56
+ textarea,
57
+ select,
58
+ details,
59
+ iframe,
60
+ embed,
61
+ object,
62
+ summary,
63
+ dialog,
64
+ audio[controls],
65
+ video[controls],
66
+ [contenteditable],
67
+ [tabindex]
68
+ `
69
+ )
70
+ );
71
+ return elements.filter((el) => {
72
+ if (el.hasAttribute("disabled")) return false;
73
+ if (el.hasAttribute("hidden")) return false;
74
+ if (window.getComputedStyle(el).display === "none") return false;
75
+ return true;
76
+ });
77
+ },
78
+ /**
79
+ * Gets elements that can be focused via keyboard (tabIndex > -1).
80
+ * These are the elements that will be focused when using the Tab key.
81
+ *
82
+ * @returns {HTMLElement[]} Array of keyboard focusable elements
83
+ */
84
+ get keyboard() {
85
+ return this.all.filter((el) => el instanceof HTMLElement && el.tabIndex > -1);
86
+ },
87
+ /**
88
+ * Alias for keyboard focusable elements.
89
+ * This is provided for semantic clarity in certain contexts.
90
+ *
91
+ * @returns {HTMLElement[]} Array of keyboard focusable elements
92
+ */
93
+ get keyboardOnly() {
94
+ return this.keyboard;
95
+ },
96
+ /**
97
+ * Gets the first keyboard focusable element.
98
+ * This is useful for setting initial focus when opening a modal or dialog.
99
+ *
100
+ * @returns {HTMLElement|null} The first focusable element or null if none exist
101
+ */
102
+ get first() {
103
+ return this.keyboard[0] || null;
104
+ },
105
+ /**
106
+ * Gets the last keyboard focusable element.
107
+ * This is useful for focus trapping when using Shift+Tab.
108
+ *
109
+ * @returns {HTMLElement|null} The last focusable element or null if none exist
110
+ */
111
+ get last() {
112
+ return this.keyboard[this.length - 1] || null;
113
+ },
114
+ /**
115
+ * Gets the next focusable element after the given index.
116
+ * This is useful for implementing custom tab order or focus management.
117
+ *
118
+ * @param {number} index - The current element's index in the keyboard focusable array
119
+ * @returns {HTMLElement|null} The next focusable element or null if none exists
120
+ */
121
+ next(index) {
122
+ return this.keyboard[index + 1] || null;
123
+ },
124
+ /**
125
+ * Gets the previous focusable element before the given index.
126
+ * This is useful for implementing custom tab order or focus management.
127
+ *
128
+ * @param {number} index - The current element's index in the keyboard focusable array
129
+ * @returns {HTMLElement|null} The previous focusable element or null if none exists
130
+ */
131
+ prev(index) {
132
+ return this.keyboard[index - 1] || null;
133
+ }
134
+ };
135
+ }
136
+ function Focusable(container = document.body) {
137
+ return getFocusableElements(container);
138
+ }
139
+ // Annotate the CommonJS export names for ESM import in node:
140
+ 0 && (module.exports = {
141
+ Focusable,
142
+ getFocusableElements
143
+ });
@@ -0,0 +1,74 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/dom/font-size.js
20
+ var font_size_exports = {};
21
+ __export(font_size_exports, {
22
+ em: () => em,
23
+ getUnit: () => getUnit,
24
+ lh: () => lh,
25
+ rem: () => rem,
26
+ toPx: () => toPx
27
+ });
28
+ module.exports = __toCommonJS(font_size_exports);
29
+
30
+ // src/lib/numbers/index.js
31
+ function splitUnit(string) {
32
+ if (typeof string === "number") return [string, null];
33
+ const regex = /(-?\d*\.?\d+)([a-z]+)/i;
34
+ const match = string.match(regex);
35
+ if (match) return [parseFloat(match[1]), match[2]];
36
+ return [parseFloat(string), null];
37
+ }
38
+
39
+ // src/dom/font-size.js
40
+ function getUnit(value) {
41
+ const [, unit] = splitUnit(value);
42
+ return unit;
43
+ }
44
+ function em(element = document.body, multiple = 1) {
45
+ const value = parseFloat(getComputedStyle(element)["font-size"]);
46
+ return Math.round(value * multiple);
47
+ }
48
+ function rem(multiple = 1) {
49
+ const value = parseFloat(getComputedStyle(document.body)["font-size"]);
50
+ return Math.round(value * multiple);
51
+ }
52
+ function lh(element = document.body, multiple = 1) {
53
+ const lineHeight = getComputedStyle(element)["line-height"];
54
+ const value = parseFloat(lineHeight);
55
+ return Math.round(value * multiple);
56
+ }
57
+ function toPx(value, element = null) {
58
+ const [numeric, unit] = splitUnit(value);
59
+ let finalValue = 0;
60
+ if (unit === "rem") finalValue = rem(numeric);
61
+ if (unit === "em") finalValue = em(element, numeric);
62
+ if (unit === "lh") finalValue = lh(element, numeric);
63
+ if (unit === "px") finalValue = numeric;
64
+ if (!unit) finalValue = numeric;
65
+ return finalValue;
66
+ }
67
+ // Annotate the CommonJS export names for ESM import in node:
68
+ 0 && (module.exports = {
69
+ em,
70
+ getUnit,
71
+ lh,
72
+ rem,
73
+ toPx
74
+ });
@@ -0,0 +1,98 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/dom/get-element.js
20
+ var get_element_exports = {};
21
+ __export(get_element_exports, {
22
+ getAncestorWithSiblings: () => getAncestorWithSiblings,
23
+ getChildrenElements: () => getChildrenElements,
24
+ getElement: () => getElement,
25
+ getNodeType: () => getNodeType,
26
+ getParentElement: () => getParentElement,
27
+ getSelfIndex: () => getSelfIndex,
28
+ getSiblingElements: () => getSiblingElements,
29
+ isAncestor: () => isAncestor
30
+ });
31
+ module.exports = __toCommonJS(get_element_exports);
32
+ var astroNodes = ["ASTRO-SLOT", "ASTRO-ISLAND"];
33
+ function getNodeType(node) {
34
+ if (node instanceof Element) return "element";
35
+ if (node instanceof NodeList) return "nodelist";
36
+ if (Array.isArray(node)) return "array";
37
+ }
38
+ function getElement(selector) {
39
+ if (!selector) return;
40
+ if (selector instanceof Element) return selector;
41
+ return document.querySelector(selector);
42
+ }
43
+ function getChildrenElements(node) {
44
+ let children = node.children;
45
+ if (children[0]?.nodeName === "ASTRO-SLOT") children = children[0].children;
46
+ return Array.from(children);
47
+ }
48
+ function getParentElement(element) {
49
+ const parent = element.parentElement;
50
+ if (astroNodes.includes(parent.nodeName)) return getParentElement(parent);
51
+ return parent;
52
+ }
53
+ function getSiblingElements(element) {
54
+ return Array.from(element.parentElement.children).filter(
55
+ (child) => child !== element
56
+ );
57
+ }
58
+ function getSelfIndex(element) {
59
+ return Array.from(element.parentElement.children).indexOf(element);
60
+ }
61
+ function isAncestor(ancestor, element, { searchLevels = 0 } = {}) {
62
+ if (ancestor === element) return true;
63
+ let parent = element.parentElement;
64
+ if (searchLevels === 0) {
65
+ while (parent) {
66
+ if (ancestor === parent) return true;
67
+ parent = parent.parentElement;
68
+ }
69
+ } else {
70
+ for (let i = 0; i < searchLevels; i++) {
71
+ if (ancestor === parent) return true;
72
+ parent = parent.parentElement;
73
+ }
74
+ }
75
+ return false;
76
+ }
77
+ function getAncestorWithSiblings(element, { limit = false } = {}) {
78
+ const ancestor = element.parentElement;
79
+ const siblings = getSiblingElements(ancestor);
80
+ if (siblings.length) return siblings;
81
+ if (!ancestor) return null;
82
+ if (limit === false) return getAncestorWithSiblings(ancestor);
83
+ if (typeof limit === "number" && limit > 0) {
84
+ return getAncestorWithSiblings(ancestor, { limit: limit - 1 });
85
+ }
86
+ if (limit === 0) return null;
87
+ }
88
+ // Annotate the CommonJS export names for ESM import in node:
89
+ 0 && (module.exports = {
90
+ getAncestorWithSiblings,
91
+ getChildrenElements,
92
+ getElement,
93
+ getNodeType,
94
+ getParentElement,
95
+ getSelfIndex,
96
+ getSiblingElements,
97
+ isAncestor
98
+ });
@@ -0,0 +1,35 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/dom/hash.js
20
+ var hash_exports = {};
21
+ __export(hash_exports, {
22
+ sha256Hash: () => sha256Hash
23
+ });
24
+ module.exports = __toCommonJS(hash_exports);
25
+ async function sha256Hash(string) {
26
+ const utf8 = new TextEncoder().encode(string);
27
+ const hashBuffer = await crypto.subtle.digest("SHA-256", utf8);
28
+ const hashArray = Array.from(new Uint8Array(hashBuffer));
29
+ const hashHex = hashArray.map((bytes) => bytes.toString(16).padStart(2, "0")).join("");
30
+ return hashHex;
31
+ }
32
+ // Annotate the CommonJS export names for ESM import in node:
33
+ 0 && (module.exports = {
34
+ sha256Hash
35
+ });