@splendidlabz/utils 1.5.1 → 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 +13 -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/{lib/checks.js → dist/types/lib/checks.d.cts} +6 -11
  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} +5 -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 +29 -16
  294. package/{dom → src/dom}/cookie.js +8 -7
  295. package/{dom → src/dom}/index.js +1 -0
  296. package/{dom → src/dom}/random-string.js +1 -1
  297. package/src/dom/random-string.test.js +13 -0
  298. package/src/dom/spam-prevention.js +39 -0
  299. package/{dom → src/dom}/ui/aria-current.js +1 -1
  300. package/{lib → src/lib}/arrays/index.js +1 -0
  301. package/{lib → src/lib}/arrays/sort.js +6 -6
  302. package/src/lib/arrays/split-array.js +15 -0
  303. package/{lib → src/lib}/auth/route-manager.js +1 -0
  304. package/src/lib/checks.js +53 -0
  305. package/{lib → src/lib}/date/time.js +36 -5
  306. package/src/lib/hash.js +18 -0
  307. package/src/lib/hash.spec.js +163 -0
  308. package/{lib → src/lib}/index.js +1 -0
  309. package/{lib → src/lib}/objects/mix/mix.js +30 -11
  310. package/{lib → src/lib}/objects/mix/mix.test.js +57 -1
  311. package/{lib → src/lib}/objects/split.js +1 -1
  312. package/{lib → src/lib}/strings/index.js +1 -0
  313. package/src/lib/strings/name.js +24 -0
  314. package/src/lib/strings/name.test.js +67 -0
  315. package/src/lib/strings/pluralize.js +2 -0
  316. package/{lib → src/lib}/style/index.js +2 -0
  317. package/src/node/random-string.js +10 -0
  318. package/src/node/random-string.test.js +15 -0
  319. package/tsconfig.json +6 -6
  320. package/tsup.config.js +38 -0
  321. package/tsup.config.mjs +43 -0
  322. package/dist/dom/actions/index.d.ts +0 -3
  323. package/dist/dom/actions/masonry.d.ts +0 -3
  324. package/dist/dom/actions/prefer-horizontal-scroll.d.ts +0 -3
  325. package/dist/dom/actions/sticky.d.ts +0 -3
  326. package/dist/dom/cookie.d.ts +0 -11
  327. package/dist/dom/css-vars.d.ts +0 -4
  328. package/dist/dom/events.d.ts +0 -18
  329. package/dist/dom/font-size.d.ts +0 -5
  330. package/dist/dom/hash.d.ts +0 -1
  331. package/dist/dom/index.d.ts +0 -22
  332. package/dist/dom/media.d.ts +0 -3
  333. package/dist/dom/observers/index.d.ts +0 -3
  334. package/dist/dom/observers/observer.d.ts +0 -1
  335. package/dist/dom/ui/aria-current.d.ts +0 -5
  336. package/dist/dom/ui/index.d.ts +0 -4
  337. package/dist/dom/ui/scroll-container.d.ts +0 -1
  338. package/dist/lib/arrays/index.d.ts +0 -5
  339. package/dist/lib/arrays/shuffle.d.ts +0 -1
  340. package/dist/lib/arrays/unique.d.ts +0 -1
  341. package/dist/lib/auth/index.d.ts +0 -1
  342. package/dist/lib/checks.d.ts +0 -29
  343. package/dist/lib/date/index.d.ts +0 -3
  344. package/dist/lib/date/time.d.ts +0 -8
  345. package/dist/lib/form/form-data.d.ts +0 -7
  346. package/dist/lib/form/index.d.ts +0 -2
  347. package/dist/lib/functions/debounce.d.ts +0 -1
  348. package/dist/lib/functions/env.d.ts +0 -1
  349. package/dist/lib/functions/functional.d.ts +0 -4
  350. package/dist/lib/functions/index.d.ts +0 -5
  351. package/dist/lib/functions/throttle.d.ts +0 -1
  352. package/dist/lib/functions/timeout.d.ts +0 -3
  353. package/dist/lib/index.d.ts +0 -13
  354. package/dist/lib/numbers/index.d.ts +0 -2
  355. package/dist/lib/numbers/math.d.ts +0 -2
  356. package/dist/lib/objects/camelcase-keys.d.ts +0 -1
  357. package/dist/lib/objects/empty.d.ts +0 -2
  358. package/dist/lib/objects/equal.d.ts +0 -2
  359. package/dist/lib/objects/extend.d.ts +0 -4
  360. package/dist/lib/objects/flatten.d.ts +0 -4
  361. package/dist/lib/objects/index.d.ts +0 -13
  362. package/dist/lib/objects/json.d.ts +0 -1
  363. package/dist/lib/objects/loop.d.ts +0 -2
  364. package/dist/lib/objects/mix/mix.d.ts +0 -1
  365. package/dist/lib/objects/normalize-object.d.ts +0 -1
  366. package/dist/lib/objects/omit-empty.d.ts +0 -1
  367. package/dist/lib/objects/size.d.ts +0 -1
  368. package/dist/lib/promises/index.d.ts +0 -1
  369. package/dist/lib/promises/reject.d.ts +0 -3
  370. package/dist/lib/strings/convert-case/convert-case.d.ts +0 -8
  371. package/dist/lib/strings/index.d.ts +0 -4
  372. package/dist/lib/strings/pluralize.d.ts +0 -1
  373. package/dist/lib/strings/query-string.d.ts +0 -8
  374. package/dist/lib/style/index.d.ts +0 -1
  375. package/dist/lib/symbols/index.d.ts +0 -1
  376. package/dist/lib/symbols/symbols.d.ts +0 -2
  377. package/dist/node/common.d.ts +0 -1
  378. package/dist/node/dirname.d.ts +0 -7
  379. package/dist/node/file.d.ts +0 -2
  380. package/dist/node/hash.d.ts +0 -1
  381. package/dist/node/index.d.ts +0 -7
  382. package/dist/node/random-string.d.ts +0 -2
  383. package/lib/strings/pluralize.js +0 -2
  384. package/node/random-string.js +0 -10
  385. /package/{dom → src/dom}/accessibility.js +0 -0
  386. /package/{dom → src/dom}/actions/index.js +0 -0
  387. /package/{dom → src/dom}/actions/masonry.js +0 -0
  388. /package/{dom → src/dom}/actions/prefer-horizontal-scroll.js +0 -0
  389. /package/{dom → src/dom}/actions/sticky.js +0 -0
  390. /package/{dom → src/dom}/bounding-box.js +0 -0
  391. /package/{dom → src/dom}/clipboard.js +0 -0
  392. /package/{dom → src/dom}/css-vars.js +0 -0
  393. /package/{dom → src/dom}/events.js +0 -0
  394. /package/{dom → src/dom}/events.test.js +0 -0
  395. /package/{dom → src/dom}/focusable.js +0 -0
  396. /package/{dom → src/dom}/font-size.js +0 -0
  397. /package/{dom → src/dom}/get-element.js +0 -0
  398. /package/{dom → src/dom}/hash.js +0 -0
  399. /package/{dom → src/dom}/keyboard.js +0 -0
  400. /package/{dom → src/dom}/local-store.js +0 -0
  401. /package/{dom → src/dom}/media.js +0 -0
  402. /package/{dom → src/dom}/observers/index.js +0 -0
  403. /package/{dom → src/dom}/observers/intersection-observer.js +0 -0
  404. /package/{dom → src/dom}/observers/mutation-observer.js +0 -0
  405. /package/{dom → src/dom}/observers/observer.js +0 -0
  406. /package/{dom → src/dom}/observers/resize-observer.js +0 -0
  407. /package/{dom → src/dom}/pkce.js +0 -0
  408. /package/{dom → src/dom}/query-params.js +0 -0
  409. /package/{dom → src/dom}/sanitize.js +0 -0
  410. /package/{dom → src/dom}/session-store.js +0 -0
  411. /package/{dom → src/dom}/trap-focus.js +0 -0
  412. /package/{dom → src/dom}/ui/inconsistent-button-fix.js +0 -0
  413. /package/{dom → src/dom}/ui/index.js +0 -0
  414. /package/{dom → src/dom}/ui/scroll-container.js +0 -0
  415. /package/{dom → src/dom}/ui/traverse-and-scramble.js +0 -0
  416. /package/{lib → src/lib}/arrays/item-position.js +0 -0
  417. /package/{lib → src/lib}/arrays/join.js +0 -0
  418. /package/{lib → src/lib}/arrays/shuffle.js +0 -0
  419. /package/{lib → src/lib}/arrays/sort.spec.js +0 -0
  420. /package/{lib → src/lib}/arrays/unique.js +0 -0
  421. /package/{lib → src/lib}/auth/index.js +0 -0
  422. /package/{lib → src/lib}/date/days.js +0 -0
  423. /package/{lib → src/lib}/date/index.js +0 -0
  424. /package/{lib → src/lib}/date/months.js +0 -0
  425. /package/{lib → src/lib}/form/form-data.js +0 -0
  426. /package/{lib → src/lib}/form/index.js +0 -0
  427. /package/{lib → src/lib}/form/sanitize.js +0 -0
  428. /package/{lib → src/lib}/form/sanitize.spec.js +0 -0
  429. /package/{lib → src/lib}/functions/debounce.js +0 -0
  430. /package/{lib → src/lib}/functions/env.js +0 -0
  431. /package/{lib → src/lib}/functions/functional.js +0 -0
  432. /package/{lib → src/lib}/functions/index.js +0 -0
  433. /package/{lib → src/lib}/functions/throttle.js +0 -0
  434. /package/{lib → src/lib}/functions/timeout.js +0 -0
  435. /package/{lib → src/lib}/numbers/index.js +0 -0
  436. /package/{lib → src/lib}/numbers/math.js +0 -0
  437. /package/{lib → src/lib}/objects/camelcase-keys.js +0 -0
  438. /package/{lib → src/lib}/objects/camelcase-keys.test.js +0 -0
  439. /package/{lib → src/lib}/objects/empty.js +0 -0
  440. /package/{lib → src/lib}/objects/equal.js +0 -0
  441. /package/{lib → src/lib}/objects/extend.js +0 -0
  442. /package/{lib → src/lib}/objects/extend.test.js +0 -0
  443. /package/{lib → src/lib}/objects/flatten.js +0 -0
  444. /package/{lib → src/lib}/objects/index.js +0 -0
  445. /package/{lib → src/lib}/objects/json.js +0 -0
  446. /package/{lib → src/lib}/objects/loop.js +0 -0
  447. /package/{lib → src/lib}/objects/loop.test.js +0 -0
  448. /package/{lib → src/lib}/objects/mix/mix.md +0 -0
  449. /package/{lib → src/lib}/objects/nested-property.js +0 -0
  450. /package/{lib → src/lib}/objects/normalize-object.js +0 -0
  451. /package/{lib → src/lib}/objects/omit-empty.js +0 -0
  452. /package/{lib → src/lib}/objects/omit-empty.test.js +0 -0
  453. /package/{lib → src/lib}/objects/size.js +0 -0
  454. /package/{lib → src/lib}/promises/index.js +0 -0
  455. /package/{lib → src/lib}/promises/reject.js +0 -0
  456. /package/{lib → src/lib}/sse.js +0 -0
  457. /package/{lib → src/lib}/strings/convert-case/convert-case.js +0 -0
  458. /package/{lib → src/lib}/strings/convert-case/convert-case.md +0 -0
  459. /package/{lib → src/lib}/strings/convert-case/convert-case.test.js +0 -0
  460. /package/{lib → src/lib}/strings/markdown.js +0 -0
  461. /package/{lib → src/lib}/strings/query-string.js +0 -0
  462. /package/{lib → src/lib}/symbols/index.js +0 -0
  463. /package/{lib → src/lib}/symbols/symbols.js +0 -0
  464. /package/{node → src/node}/common.js +0 -0
  465. /package/{node → src/node}/dirname.js +0 -0
  466. /package/{node → src/node}/file-cache.js +0 -0
  467. /package/{node → src/node}/file.js +0 -0
  468. /package/{node → src/node}/hash.js +0 -0
  469. /package/{node → src/node}/index.js +0 -0
  470. /package/{node → src/node}/pkce.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,157 @@
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/actions/prefer-horizontal-scroll.js
20
+ var prefer_horizontal_scroll_exports = {};
21
+ __export(prefer_horizontal_scroll_exports, {
22
+ preferHorizontalScroll: () => preferHorizontalScroll
23
+ });
24
+ module.exports = __toCommonJS(prefer_horizontal_scroll_exports);
25
+
26
+ // src/dom/get-element.js
27
+ function getElement(selector) {
28
+ if (!selector) return;
29
+ if (selector instanceof Element) return selector;
30
+ return document.querySelector(selector);
31
+ }
32
+
33
+ // src/dom/events.js
34
+ function addListeners(listeners) {
35
+ listeners.forEach(({ node, event, handler }) => {
36
+ node.addEventListener(event, handler);
37
+ });
38
+ }
39
+ function removeListeners(listeners) {
40
+ listeners.forEach(({ node, event, handler }) => {
41
+ node.removeEventListener(event, handler);
42
+ });
43
+ }
44
+
45
+ // src/dom/css-vars.js
46
+ function getCSSVar(element, prop) {
47
+ element = getElement(element);
48
+ return getComputedStyle(element).getPropertyValue(prop);
49
+ }
50
+ function setCSSVar(element, prop, value) {
51
+ element = getElement(element);
52
+ element.style.setProperty(prop, value);
53
+ }
54
+
55
+ // src/lib/objects/omit-empty.js
56
+ function omitEmpty(obj, shallow = false) {
57
+ if (typeof obj !== "object" || obj === null) return obj;
58
+ if (obj instanceof Date) return obj;
59
+ const result = Array.isArray(obj) ? [] : {};
60
+ for (const [key, value] of Object.entries(obj)) {
61
+ if (value === null || value === void 0 || value === "" || typeof value === "object" && !(value instanceof Date) && Object.keys(value).length === 0) {
62
+ continue;
63
+ }
64
+ result[key] = shallow ? value : omitEmpty(value);
65
+ }
66
+ return result;
67
+ }
68
+
69
+ // src/dom/actions/prefer-horizontal-scroll.js
70
+ var DEFAULT_OPTIONS = {
71
+ scrollSnapDelay: 1e3
72
+ };
73
+ function preferHorizontalScroll(node, props = {}) {
74
+ if (!node.classList.contains("scrollable-prefer-horizontal")) return;
75
+ const state = {
76
+ origSnapType: null,
77
+ currentSnapType: null,
78
+ snapTimeoutID: null
79
+ };
80
+ const options = {
81
+ ...DEFAULT_OPTIONS,
82
+ ...omitEmpty({
83
+ scrollSnapDelay: getCSSVar(node, "--scroll-snap-delay")
84
+ }),
85
+ ...omitEmpty(props)
86
+ };
87
+ const listeners = [
88
+ {
89
+ event: "wheel",
90
+ node,
91
+ handler: handleWheel
92
+ },
93
+ {
94
+ event: "pointerenter",
95
+ node,
96
+ handler: handlePointerEnter
97
+ },
98
+ {
99
+ event: "pointerleave",
100
+ node,
101
+ handler: handlePointerLeave
102
+ }
103
+ ];
104
+ addListeners(listeners);
105
+ function handleWheel(event) {
106
+ const direction = event.deltaY > 0 ? "down" : "up";
107
+ const updatedDelta = event.deltaY;
108
+ if (isTrackpad(event)) return false;
109
+ setCSSVar(node, "--snap-type", "none");
110
+ const scrolledAmount = node.scrollLeft;
111
+ const scrollWidth = node.scrollWidth;
112
+ const clientWidth = node.clientWidth;
113
+ const scrollableAmount = scrollWidth - clientWidth;
114
+ if (direction === "down" && scrolledAmount < scrollableAmount) {
115
+ node.scrollLeft += updatedDelta;
116
+ event.preventDefault();
117
+ }
118
+ if (direction === "up" && scrolledAmount > 0) {
119
+ node.scrollLeft += updatedDelta;
120
+ event.preventDefault();
121
+ }
122
+ const { snapTimeoutID } = state;
123
+ if (snapTimeoutID) clearTimeout(snapTimeoutID);
124
+ state.snapTimeoutID = setTimeout((_) => {
125
+ restoreHijackedState(node, state);
126
+ }, options.scrollSnapDelay);
127
+ }
128
+ function handlePointerEnter(event) {
129
+ state.origSnapType = getCSSVar(node, "--snap-type") || "proximity";
130
+ }
131
+ function handlePointerLeave(event) {
132
+ restoreHijackedState(node, state);
133
+ }
134
+ return {
135
+ destroy() {
136
+ removeListeners(listeners);
137
+ }
138
+ };
139
+ }
140
+ function restoreHijackedState(node, state) {
141
+ const scrollLeft = node.scrollLeft;
142
+ setCSSVar(node, "--snap-type", state.origSnapType);
143
+ const finalScrollLeft = node.scrollLeft;
144
+ setCSSVar(node, "--snap-type", "none");
145
+ node.scrollTo({ left: scrollLeft, behavior: "instant" });
146
+ node.scrollTo({ left: finalScrollLeft, behavior: "smooth" });
147
+ setTimeout((_) => {
148
+ setCSSVar(node, "--snap-type", state.origSnapType);
149
+ }, 250);
150
+ }
151
+ function isTrackpad(event) {
152
+ if (event.wheelDeltaY === event.deltaY * -3) return true;
153
+ }
154
+ // Annotate the CommonJS export names for ESM import in node:
155
+ 0 && (module.exports = {
156
+ preferHorizontalScroll
157
+ });
@@ -0,0 +1,211 @@
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/actions/sticky.js
20
+ var sticky_exports = {};
21
+ __export(sticky_exports, {
22
+ sticky: () => sticky
23
+ });
24
+ module.exports = __toCommonJS(sticky_exports);
25
+
26
+ // src/dom/bounding-box.js
27
+ function boundingBox(element, { containsPadding = true } = {}) {
28
+ const box = element.getBoundingClientRect();
29
+ const ret = {};
30
+ for (const prop in box) ret[prop] = box[prop];
31
+ if (!containsPadding) {
32
+ const style = getComputedStyle(element);
33
+ const paddingTop = parseFloat(style.paddingTop);
34
+ const paddingRight = parseFloat(style.paddingRight);
35
+ const paddingBottom = parseFloat(style.paddingBottom);
36
+ const paddingLeft = parseFloat(style.paddingLeft);
37
+ ret.x = ret.x + paddingLeft;
38
+ ret.y = ret.y + paddingTop;
39
+ ret.width = ret.width - paddingLeft - paddingRight;
40
+ ret.height = ret.height - paddingTop - paddingBottom;
41
+ ret.top = ret.top + paddingTop;
42
+ ret.bottom = ret.bottom - paddingBottom;
43
+ ret.right = ret.right - paddingRight;
44
+ ret.left = ret.left + paddingLeft;
45
+ }
46
+ ret.xCenter = (ret.left + ret.right) / 2;
47
+ ret.yCenter = (ret.top + ret.bottom) / 2;
48
+ return ret;
49
+ }
50
+ function boundingBoxRelativeToAncestor({ element, ancestorElement }) {
51
+ ancestorElement = ancestorElement || element.parentElement;
52
+ const box = boundingBox(element);
53
+ const ancestorBox = boundingBox(ancestorElement, {
54
+ containsPadding: false
55
+ });
56
+ return {
57
+ top: box.top - ancestorBox.top,
58
+ right: box.right - ancestorBox.right,
59
+ bottom: box.bottom - ancestorBox.bottom,
60
+ left: box.left - ancestorBox.left,
61
+ width: box.width,
62
+ height: box.height,
63
+ xCenter: (box.left + box.right) / 2 - ancestorBox.left,
64
+ yCenter: (box.top + box.bottom) / 2 - ancestorBox.top
65
+ };
66
+ }
67
+
68
+ // src/dom/events.js
69
+ function dispatchEvent(node, eventName, detail, options = {}) {
70
+ node.dispatchEvent(
71
+ new CustomEvent(eventName, {
72
+ ...options,
73
+ detail
74
+ })
75
+ );
76
+ }
77
+
78
+ // src/dom/get-element.js
79
+ function getNodeType(node) {
80
+ if (node instanceof Element) return "element";
81
+ if (node instanceof NodeList) return "nodelist";
82
+ if (Array.isArray(node)) return "array";
83
+ }
84
+
85
+ // src/dom/observers/observer.js
86
+ function useObserverMethodOnTarget(target, observer, method = "observe", options = void 0) {
87
+ const targetType = getNodeType(target);
88
+ if (targetType === "element") observer[method](target, options);
89
+ if (targetType === "nodelist") {
90
+ const elements = Array.from(target);
91
+ elements.forEach((element) => observer[method](element, options));
92
+ }
93
+ if (targetType === "array") {
94
+ target.forEach((element) => observer[method](element, options));
95
+ }
96
+ }
97
+
98
+ // src/dom/observers/resize-observer.js
99
+ function resizeObserver(target, options) {
100
+ const { callback, ...opts } = options;
101
+ const observer = new ResizeObserver(observerFn);
102
+ if (target === window) target = document.body;
103
+ useObserverMethodOnTarget(target, observer, "observe", opts);
104
+ function observerFn(entries) {
105
+ for (const entry of entries) {
106
+ if (callback) callback({ entry, entries, observer });
107
+ else dispatchEvent(target, "resize-obs", { entry, entries, observer });
108
+ }
109
+ }
110
+ return {
111
+ observe(target2) {
112
+ useObserverMethodOnTarget(target2, observer, "observe", options);
113
+ },
114
+ unobserve(target2) {
115
+ useObserverMethodOnTarget(target2, observer, "unobserve");
116
+ },
117
+ disconnect: (_) => observer.disconnect(),
118
+ destroy: (_) => observer.disconnect()
119
+ };
120
+ }
121
+
122
+ // src/dom/ui/scroll-container.js
123
+ function findScrollContainer(element, direction = "both") {
124
+ if (!element) return;
125
+ let parent = element.parentElement;
126
+ while (parent) {
127
+ const { overflow, overflowX, overflowY } = getComputedStyle(parent);
128
+ if (direction === "both") {
129
+ if (overflow.includes("auto") || overflow.includes("scroll"))
130
+ return parent;
131
+ }
132
+ if (direction === "horizontal") {
133
+ if (overflowX === "auto" || overflowX === "scroll") return parent;
134
+ }
135
+ if (direction === "vertical") {
136
+ if (overflowY === "auto" || overflowY === "scroll") return parent;
137
+ }
138
+ parent = parent.parentElement;
139
+ }
140
+ return document.documentElement;
141
+ }
142
+
143
+ // src/dom/actions/sticky.js
144
+ function sticky(node, props = {}) {
145
+ const scrollContainer = findScrollContainer(node);
146
+ let stickyTBLR = getComputedTBLR(node);
147
+ const obs = resizeObserver(node, {
148
+ callback: ({ entry }) => {
149
+ stickyTBLR = getComputedTBLR(node);
150
+ isSticking();
151
+ scrollContainer === document.documentElement ? window.addEventListener("scroll", scrollEventListener) : scrollContainer.addEventListener("scroll", scrollEventListener);
152
+ }
153
+ });
154
+ function scrollEventListener(event) {
155
+ isSticking();
156
+ }
157
+ function isSticking() {
158
+ const { top, bottom, left, right } = stickyTBLR;
159
+ const relativeRect = boundingBoxRelativeToAncestor({
160
+ element: node,
161
+ ancestorElement: scrollContainer
162
+ });
163
+ if (!isNaN(top)) {
164
+ if (relativeRect.top - top <= 1) {
165
+ node.classList.add("sticking");
166
+ } else {
167
+ node.classList.remove("sticking");
168
+ }
169
+ }
170
+ if (!isNaN(bottom)) {
171
+ if (relativeRect.bottom + bottom >= -1) {
172
+ node.classList.add("sticking");
173
+ } else {
174
+ node.classList.remove("sticking");
175
+ }
176
+ }
177
+ if (!isNaN(left)) {
178
+ if (relativeRect.left - left <= 1) {
179
+ node.classList.add("sticking");
180
+ } else {
181
+ node.classList.remove("sticking");
182
+ }
183
+ }
184
+ if (!isNaN(right)) {
185
+ if (relativeRect.right + right >= -1) {
186
+ node.classList.add("sticking");
187
+ } else {
188
+ node.classList.remove("sticking");
189
+ }
190
+ }
191
+ }
192
+ return {
193
+ destroy() {
194
+ obs.disconnect();
195
+ scrollContainer.removeEventListener("scroll", scrollEventListener);
196
+ }
197
+ };
198
+ }
199
+ function getComputedTBLR(element) {
200
+ const style = getComputedStyle(element);
201
+ return {
202
+ top: parseFloat(style.top),
203
+ bottom: parseFloat(style.bottom),
204
+ left: parseFloat(style.left),
205
+ right: parseFloat(style.right)
206
+ };
207
+ }
208
+ // Annotate the CommonJS export names for ESM import in node:
209
+ 0 && (module.exports = {
210
+ sticky
211
+ });
@@ -0,0 +1,70 @@
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/bounding-box.js
20
+ var bounding_box_exports = {};
21
+ __export(bounding_box_exports, {
22
+ boundingBox: () => boundingBox,
23
+ boundingBoxRelativeToAncestor: () => boundingBoxRelativeToAncestor
24
+ });
25
+ module.exports = __toCommonJS(bounding_box_exports);
26
+ function boundingBox(element, { containsPadding = true } = {}) {
27
+ const box = element.getBoundingClientRect();
28
+ const ret = {};
29
+ for (const prop in box) ret[prop] = box[prop];
30
+ if (!containsPadding) {
31
+ const style = getComputedStyle(element);
32
+ const paddingTop = parseFloat(style.paddingTop);
33
+ const paddingRight = parseFloat(style.paddingRight);
34
+ const paddingBottom = parseFloat(style.paddingBottom);
35
+ const paddingLeft = parseFloat(style.paddingLeft);
36
+ ret.x = ret.x + paddingLeft;
37
+ ret.y = ret.y + paddingTop;
38
+ ret.width = ret.width - paddingLeft - paddingRight;
39
+ ret.height = ret.height - paddingTop - paddingBottom;
40
+ ret.top = ret.top + paddingTop;
41
+ ret.bottom = ret.bottom - paddingBottom;
42
+ ret.right = ret.right - paddingRight;
43
+ ret.left = ret.left + paddingLeft;
44
+ }
45
+ ret.xCenter = (ret.left + ret.right) / 2;
46
+ ret.yCenter = (ret.top + ret.bottom) / 2;
47
+ return ret;
48
+ }
49
+ function boundingBoxRelativeToAncestor({ element, ancestorElement }) {
50
+ ancestorElement = ancestorElement || element.parentElement;
51
+ const box = boundingBox(element);
52
+ const ancestorBox = boundingBox(ancestorElement, {
53
+ containsPadding: false
54
+ });
55
+ return {
56
+ top: box.top - ancestorBox.top,
57
+ right: box.right - ancestorBox.right,
58
+ bottom: box.bottom - ancestorBox.bottom,
59
+ left: box.left - ancestorBox.left,
60
+ width: box.width,
61
+ height: box.height,
62
+ xCenter: (box.left + box.right) / 2 - ancestorBox.left,
63
+ yCenter: (box.top + box.bottom) / 2 - ancestorBox.top
64
+ };
65
+ }
66
+ // Annotate the CommonJS export names for ESM import in node:
67
+ 0 && (module.exports = {
68
+ boundingBox,
69
+ boundingBoxRelativeToAncestor
70
+ });
@@ -0,0 +1,37 @@
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/clipboard.js
20
+ var clipboard_exports = {};
21
+ __export(clipboard_exports, {
22
+ copyRichText: () => copyRichText
23
+ });
24
+ module.exports = __toCommonJS(clipboard_exports);
25
+ function copyRichText(element) {
26
+ const range = document.createRange();
27
+ range.selectNode(element);
28
+ const selection = window.getSelection();
29
+ selection.removeAllRanges();
30
+ selection.addRange(range);
31
+ document.execCommand("copy");
32
+ selection.removeAllRanges();
33
+ }
34
+ // Annotate the CommonJS export names for ESM import in node:
35
+ 0 && (module.exports = {
36
+ copyRichText
37
+ });
@@ -0,0 +1,57 @@
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/cookie.js
20
+ var cookie_exports = {};
21
+ __export(cookie_exports, {
22
+ cookies: () => cookies,
23
+ getCookie: () => getCookie
24
+ });
25
+ module.exports = __toCommonJS(cookie_exports);
26
+ var cookies = {
27
+ get(name) {
28
+ return getCookie(name);
29
+ },
30
+ set(name, value, days) {
31
+ setCookie(name, value, days);
32
+ }
33
+ };
34
+ function getCookie(name) {
35
+ const match = document.cookie.match(new RegExp("(^| )" + name + "=([^;]+)"));
36
+ if (!match) return null;
37
+ const decoded = decodeURIComponent(match[2]);
38
+ try {
39
+ return JSON.parse(decoded);
40
+ } catch (e) {
41
+ return decoded;
42
+ }
43
+ }
44
+ function setCookie(name, value, days) {
45
+ let expires = "";
46
+ if (days) {
47
+ const date = /* @__PURE__ */ new Date();
48
+ date.setTime(date.getTime() + days * 24 * 60 * 60 * 1e3);
49
+ expires = "; expires=" + date.toUTCString();
50
+ }
51
+ document.cookie = name + "=" + (value || "") + expires + "; path=/";
52
+ }
53
+ // Annotate the CommonJS export names for ESM import in node:
54
+ 0 && (module.exports = {
55
+ cookies,
56
+ getCookie
57
+ });
@@ -0,0 +1,57 @@
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/css-vars.js
20
+ var css_vars_exports = {};
21
+ __export(css_vars_exports, {
22
+ getCSSValue: () => getCSSValue,
23
+ getCSSVar: () => getCSSVar,
24
+ setCSSValue: () => setCSSValue,
25
+ setCSSVar: () => setCSSVar
26
+ });
27
+ module.exports = __toCommonJS(css_vars_exports);
28
+
29
+ // src/dom/get-element.js
30
+ function getElement(selector) {
31
+ if (!selector) return;
32
+ if (selector instanceof Element) return selector;
33
+ return document.querySelector(selector);
34
+ }
35
+
36
+ // src/dom/css-vars.js
37
+ function getCSSValue(element, prop) {
38
+ return getCSSVar(element, prop);
39
+ }
40
+ function setCSSValue(element, prop, value) {
41
+ setCSSVar(element, prop, value);
42
+ }
43
+ function getCSSVar(element, prop) {
44
+ element = getElement(element);
45
+ return getComputedStyle(element).getPropertyValue(prop);
46
+ }
47
+ function setCSSVar(element, prop, value) {
48
+ element = getElement(element);
49
+ element.style.setProperty(prop, value);
50
+ }
51
+ // Annotate the CommonJS export names for ESM import in node:
52
+ 0 && (module.exports = {
53
+ getCSSValue,
54
+ getCSSVar,
55
+ setCSSValue,
56
+ setCSSVar
57
+ });
@@ -0,0 +1,95 @@
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/events.js
20
+ var events_exports = {};
21
+ __export(events_exports, {
22
+ addListeners: () => addListeners,
23
+ createListeners: () => createListeners,
24
+ dispatchEvent: () => dispatchEvent,
25
+ removeListeners: () => removeListeners,
26
+ updateEvent: () => updateEvent
27
+ });
28
+ module.exports = __toCommonJS(events_exports);
29
+ function addListeners(listeners) {
30
+ listeners.forEach(({ node, event, handler }) => {
31
+ node.addEventListener(event, handler);
32
+ });
33
+ }
34
+ function removeListeners(listeners) {
35
+ listeners.forEach(({ node, event, handler }) => {
36
+ node.removeEventListener(event, handler);
37
+ });
38
+ }
39
+ function dispatchEvent(node, eventName, detail, options = {}) {
40
+ node.dispatchEvent(
41
+ new CustomEvent(eventName, {
42
+ ...options,
43
+ detail
44
+ })
45
+ );
46
+ }
47
+ function updateEvent(event, updates) {
48
+ const { type, ...rest } = event;
49
+ return new CustomEvent(event.type, {
50
+ ...rest,
51
+ ...updates
52
+ });
53
+ }
54
+ function createListeners(listeners) {
55
+ listeners = listeners || [];
56
+ listeners.forEach((listener) => {
57
+ const { node, event, handler } = listener;
58
+ node.addEventListener(event, handler);
59
+ });
60
+ return {
61
+ get list() {
62
+ return listeners;
63
+ },
64
+ add({ node, event, handler }) {
65
+ listeners.push({ node, event, handler });
66
+ node.addEventListener(event, handler);
67
+ },
68
+ remove({ node, event, handler }) {
69
+ const index = listeners.findIndex((listener) => {
70
+ if (listener.node === node && listener.event === event && listener.handler === handler) {
71
+ return true;
72
+ }
73
+ return false;
74
+ });
75
+ if (index !== -1) {
76
+ listeners.splice(index, 1);
77
+ node.removeEventListener(event, handler);
78
+ }
79
+ },
80
+ clear() {
81
+ listeners.forEach(({ node, event, handler }) => {
82
+ listeners = [];
83
+ node.removeEventListener(event, handler);
84
+ });
85
+ }
86
+ };
87
+ }
88
+ // Annotate the CommonJS export names for ESM import in node:
89
+ 0 && (module.exports = {
90
+ addListeners,
91
+ createListeners,
92
+ dispatchEvent,
93
+ removeListeners,
94
+ updateEvent
95
+ });