@splendidlabz/utils 1.11.3 → 1.11.4

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 (408) hide show
  1. package/dist/cjs/dom/accessibility.cjs +53 -0
  2. package/dist/cjs/dom/actions/index.cjs +410 -0
  3. package/dist/cjs/dom/actions/masonry.cjs +152 -0
  4. package/dist/cjs/dom/actions/prefer-horizontal-scroll.cjs +157 -0
  5. package/dist/cjs/dom/actions/sticky.cjs +213 -0
  6. package/dist/cjs/dom/bounding-box.cjs +70 -0
  7. package/dist/cjs/dom/clipboard.cjs +37 -0
  8. package/dist/cjs/dom/cookie.cjs +57 -0
  9. package/dist/cjs/dom/css-vars.cjs +57 -0
  10. package/dist/cjs/dom/events.cjs +59 -0
  11. package/{src/dom/focusable.js → dist/cjs/dom/focusable.cjs} +51 -73
  12. package/dist/cjs/dom/font-size.cjs +80 -0
  13. package/dist/cjs/dom/get-element.cjs +98 -0
  14. package/dist/cjs/dom/hash.cjs +35 -0
  15. package/dist/cjs/dom/index.cjs +1267 -0
  16. package/dist/cjs/dom/keyboard.cjs +51 -0
  17. package/dist/cjs/dom/local-store.cjs +79 -0
  18. package/dist/cjs/dom/media.cjs +59 -0
  19. package/dist/cjs/dom/observers/index.cjs +253 -0
  20. package/dist/cjs/dom/observers/intersection-observer.cjs +91 -0
  21. package/dist/cjs/dom/observers/mutation-observer.cjs +95 -0
  22. package/dist/cjs/dom/observers/observer.cjs +48 -0
  23. package/dist/cjs/dom/observers/resize-observer.cjs +84 -0
  24. package/dist/cjs/dom/observers/scroll-observer.cjs +177 -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 +63 -0
  47. package/dist/cjs/lib/date/days.cjs +37 -0
  48. package/dist/cjs/lib/date/index.cjs +208 -0
  49. package/dist/cjs/lib/date/months.cjs +102 -0
  50. package/dist/cjs/lib/date/time.cjs +117 -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/callback.cjs +31 -0
  55. package/dist/cjs/lib/functions/debounce.cjs +43 -0
  56. package/dist/cjs/lib/functions/env.cjs +32 -0
  57. package/dist/cjs/lib/functions/functional.cjs +82 -0
  58. package/dist/cjs/lib/functions/index.cjs +142 -0
  59. package/dist/cjs/lib/functions/throttle.cjs +38 -0
  60. package/dist/cjs/lib/functions/timeout.cjs +41 -0
  61. package/dist/cjs/lib/hash.cjs +43 -0
  62. package/dist/cjs/lib/index.cjs +1178 -0
  63. package/dist/cjs/lib/numbers/index.cjs +49 -0
  64. package/dist/cjs/lib/numbers/math.cjs +36 -0
  65. package/dist/cjs/lib/objects/camelcase-keys.cjs +80 -0
  66. package/dist/cjs/lib/objects/empty.cjs +39 -0
  67. package/dist/cjs/lib/objects/equal.cjs +47 -0
  68. package/dist/cjs/lib/objects/extend.cjs +147 -0
  69. package/dist/cjs/lib/objects/flatten.cjs +48 -0
  70. package/dist/cjs/lib/objects/index.cjs +378 -0
  71. package/dist/cjs/lib/objects/json.cjs +35 -0
  72. package/dist/cjs/lib/objects/loop.cjs +40 -0
  73. package/dist/cjs/lib/objects/mix/mix.cjs +115 -0
  74. package/dist/cjs/lib/objects/nested-property.cjs +45 -0
  75. package/dist/cjs/lib/objects/normalize-object.cjs +106 -0
  76. package/dist/cjs/lib/objects/omit-empty.cjs +40 -0
  77. package/dist/cjs/lib/objects/size.cjs +63 -0
  78. package/dist/cjs/lib/objects/split.cjs +39 -0
  79. package/dist/cjs/lib/promises/index.cjs +69 -0
  80. package/dist/cjs/lib/promises/reject.cjs +67 -0
  81. package/dist/cjs/lib/sse.cjs +99 -0
  82. package/dist/cjs/lib/strings/convert-case/convert-case.cjs +96 -0
  83. package/dist/cjs/lib/strings/index.cjs +197 -0
  84. package/dist/cjs/lib/strings/markdown.cjs +76 -0
  85. package/dist/cjs/lib/strings/name.cjs +46 -0
  86. package/dist/cjs/lib/strings/pluralize.cjs +40 -0
  87. package/dist/cjs/lib/strings/query-string.cjs +43 -0
  88. package/dist/cjs/lib/style/index.cjs +64 -0
  89. package/dist/cjs/lib/symbols/index.cjs +40 -0
  90. package/dist/cjs/lib/symbols/symbols.cjs +38 -0
  91. package/dist/cjs/node/dirname.cjs +49 -0
  92. package/dist/cjs/node/file-cache.cjs +200 -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 +296 -0
  96. package/dist/cjs/node/pkce.cjs +64 -0
  97. package/dist/cjs/node/random-string.cjs +43 -0
  98. package/dist/cjs/node/sanitize.cjs +65 -0
  99. package/dist/cjs/node/uuid.cjs +42 -0
  100. package/dist/esm/dom/accessibility.js +26 -0
  101. package/dist/esm/dom/actions/index.js +3 -0
  102. package/dist/esm/dom/actions/masonry.js +38 -0
  103. package/dist/esm/dom/actions/prefer-horizontal-scroll.js +90 -0
  104. package/dist/esm/dom/actions/sticky.js +70 -0
  105. package/dist/esm/dom/bounding-box.js +44 -0
  106. package/dist/esm/dom/clipboard.js +12 -0
  107. package/dist/esm/dom/cookie.js +31 -0
  108. package/dist/esm/dom/css-vars.js +21 -0
  109. package/dist/esm/dom/events.js +31 -0
  110. package/dist/esm/dom/focusable.js +117 -0
  111. package/dist/esm/dom/font-size.js +40 -0
  112. package/dist/esm/dom/get-element.js +66 -0
  113. package/dist/esm/dom/hash.js +10 -0
  114. package/dist/esm/dom/index.js +23 -0
  115. package/dist/esm/dom/keyboard.js +22 -0
  116. package/{src → dist/esm}/dom/local-store.js +16 -28
  117. package/dist/esm/dom/media.js +32 -0
  118. package/dist/esm/dom/observers/index.js +4 -0
  119. package/dist/esm/dom/observers/intersection-observer.js +36 -0
  120. package/dist/esm/dom/observers/mutation-observer.js +40 -0
  121. package/dist/esm/dom/observers/observer.js +15 -0
  122. package/dist/esm/dom/observers/resize-observer.js +29 -0
  123. package/dist/esm/dom/observers/scroll-observer.js +95 -0
  124. package/dist/esm/dom/pkce.js +20 -0
  125. package/dist/esm/dom/query-params.js +13 -0
  126. package/dist/esm/dom/random-string.js +12 -0
  127. package/dist/esm/dom/sanitize.js +8 -0
  128. package/dist/esm/dom/session-store.js +24 -0
  129. package/dist/esm/dom/spam-prevention.js +25 -0
  130. package/dist/esm/dom/trap-focus.js +51 -0
  131. package/dist/esm/dom/ui/aria-current.js +17 -0
  132. package/dist/esm/dom/ui/inconsistent-button-fix.js +10 -0
  133. package/dist/esm/dom/ui/index.js +4 -0
  134. package/dist/esm/dom/ui/scroll-container.js +22 -0
  135. package/dist/esm/dom/ui/traverse-and-scramble.js +25 -0
  136. package/dist/esm/lib/arrays/index.js +6 -0
  137. package/dist/esm/lib/arrays/item-position.js +15 -0
  138. package/dist/esm/lib/arrays/join.js +12 -0
  139. package/dist/esm/lib/arrays/shuffle.js +17 -0
  140. package/dist/esm/lib/arrays/sort.js +36 -0
  141. package/dist/esm/lib/arrays/split-array.js +16 -0
  142. package/dist/esm/lib/arrays/unique.js +6 -0
  143. package/dist/esm/lib/auth/index.js +1 -0
  144. package/dist/esm/lib/auth/route-manager.js +25 -0
  145. package/dist/esm/lib/checks.js +34 -0
  146. package/dist/esm/lib/date/days.js +12 -0
  147. package/dist/esm/lib/date/index.js +3 -0
  148. package/dist/esm/lib/date/months.js +77 -0
  149. package/dist/esm/lib/date/time.js +75 -0
  150. package/dist/esm/lib/form/form-data.js +57 -0
  151. package/dist/esm/lib/form/index.js +2 -0
  152. package/dist/esm/lib/form/sanitize.js +34 -0
  153. package/dist/esm/lib/functions/callback.js +6 -0
  154. package/dist/esm/lib/functions/debounce.js +18 -0
  155. package/dist/esm/lib/functions/env.js +7 -0
  156. package/dist/esm/lib/functions/functional.js +52 -0
  157. package/dist/esm/lib/functions/index.js +5 -0
  158. package/dist/esm/lib/functions/throttle.js +13 -0
  159. package/dist/esm/lib/functions/timeout.js +14 -0
  160. package/dist/esm/lib/hash.js +18 -0
  161. package/dist/esm/lib/index.js +14 -0
  162. package/dist/esm/lib/numbers/index.js +11 -0
  163. package/dist/esm/lib/numbers/math.js +10 -0
  164. package/dist/esm/lib/objects/camelcase-keys.js +16 -0
  165. package/dist/esm/lib/objects/empty.js +13 -0
  166. package/dist/esm/lib/objects/equal.js +11 -0
  167. package/dist/esm/lib/objects/extend.js +13 -0
  168. package/dist/esm/lib/objects/flatten.js +17 -0
  169. package/dist/esm/lib/objects/index.js +13 -0
  170. package/dist/esm/lib/objects/json.js +10 -0
  171. package/dist/esm/lib/objects/loop.js +14 -0
  172. package/dist/esm/lib/objects/mix/mix.js +88 -0
  173. package/dist/esm/lib/objects/nested-property.js +18 -0
  174. package/dist/esm/lib/objects/normalize-object.js +9 -0
  175. package/dist/esm/lib/objects/omit-empty.js +15 -0
  176. package/dist/esm/lib/objects/size.js +38 -0
  177. package/dist/esm/lib/objects/split.js +14 -0
  178. package/dist/esm/lib/promises/index.js +1 -0
  179. package/dist/esm/lib/promises/reject.js +17 -0
  180. package/dist/esm/lib/sse.js +50 -0
  181. package/dist/esm/lib/strings/convert-case/convert-case.js +64 -0
  182. package/dist/esm/lib/strings/index.js +5 -0
  183. package/dist/esm/lib/strings/markdown.js +40 -0
  184. package/dist/esm/lib/strings/name.js +21 -0
  185. package/dist/esm/lib/strings/pluralize.js +5 -0
  186. package/dist/esm/lib/strings/query-string.js +16 -0
  187. package/dist/esm/lib/style/index.js +12 -0
  188. package/dist/esm/lib/symbols/index.js +1 -0
  189. package/dist/esm/lib/symbols/symbols.js +12 -0
  190. package/dist/esm/node/context.js +0 -0
  191. package/dist/esm/node/dirname.js +13 -0
  192. package/dist/esm/node/file-cache.js +121 -0
  193. package/dist/esm/node/file.js +14 -0
  194. package/dist/esm/node/hash.js +7 -0
  195. package/dist/esm/node/index.js +7 -0
  196. package/dist/esm/node/pkce.js +20 -0
  197. package/dist/esm/node/random-string.js +8 -0
  198. package/dist/esm/node/sanitize.js +8 -0
  199. package/dist/esm/node/uuid.js +7 -0
  200. package/dist/types/dom/accessibility.d.cts +30 -0
  201. package/dist/types/dom/actions/index.d.cts +3 -0
  202. package/dist/types/dom/actions/masonry.d.cts +5 -0
  203. package/dist/types/dom/actions/prefer-horizontal-scroll.d.cts +5 -0
  204. package/dist/types/dom/actions/sticky.d.cts +5 -0
  205. package/{src/dom/bounding-box.js → dist/types/dom/bounding-box.d.cts} +8 -49
  206. package/dist/types/dom/clipboard.d.cts +7 -0
  207. package/dist/types/dom/cookie.d.cts +7 -0
  208. package/dist/types/dom/css-vars.d.cts +6 -0
  209. package/{src/dom/events.js → dist/types/dom/events.d.cts} +52 -31
  210. package/dist/types/dom/focusable.d.cts +78 -0
  211. package/dist/types/dom/font-size.d.cts +8 -0
  212. package/{src/dom/get-element.js → dist/types/dom/get-element.d.cts} +25 -99
  213. package/dist/types/dom/hash.d.cts +3 -0
  214. package/dist/types/dom/index.d.cts +31 -0
  215. package/{src/dom/keyboard.js → dist/types/dom/keyboard.d.cts} +7 -19
  216. package/dist/types/dom/local-store.d.cts +31 -0
  217. package/dist/types/dom/media.d.cts +5 -0
  218. package/dist/types/dom/observers/index.d.cts +4 -0
  219. package/dist/types/dom/observers/intersection-observer.d.cts +10 -0
  220. package/dist/types/dom/observers/mutation-observer.d.cts +9 -0
  221. package/dist/types/dom/observers/observer.d.cts +3 -0
  222. package/{src/dom/observers/resize-observer.js → dist/types/dom/observers/resize-observer.d.cts} +6 -32
  223. package/dist/types/dom/observers/scroll-observer.d.cts +40 -0
  224. package/dist/types/dom/pkce.d.cts +8 -0
  225. package/dist/types/dom/query-params.d.cts +6 -0
  226. package/dist/types/dom/random-string.d.cts +9 -0
  227. package/dist/types/dom/sanitize.d.cts +10 -0
  228. package/dist/types/dom/session-store.d.cts +7 -0
  229. package/dist/types/dom/spam-prevention.d.cts +14 -0
  230. package/dist/types/dom/trap-focus.d.cts +32 -0
  231. package/dist/types/dom/ui/aria-current.d.cts +7 -0
  232. package/{src/dom/ui/inconsistent-button-fix.js → dist/types/dom/ui/inconsistent-button-fix.d.cts} +5 -11
  233. package/dist/types/dom/ui/index.d.cts +4 -0
  234. package/dist/types/dom/ui/scroll-container.d.cts +3 -0
  235. package/dist/types/dom/ui/traverse-and-scramble.d.cts +21 -0
  236. package/dist/types/lib/arrays/index.d.cts +6 -0
  237. package/{src/lib/arrays/item-position.js → dist/types/lib/arrays/item-position.d.cts} +5 -12
  238. package/{src/lib/arrays/join.js → dist/types/lib/arrays/join.d.cts} +4 -9
  239. package/dist/types/lib/arrays/shuffle.d.cts +3 -0
  240. package/dist/types/lib/arrays/sort.d.cts +32 -0
  241. package/dist/types/lib/arrays/split-array.d.cts +6 -0
  242. package/dist/types/lib/arrays/unique.d.cts +3 -0
  243. package/dist/types/lib/auth/index.d.cts +1 -0
  244. package/dist/types/lib/auth/route-manager.d.cts +28 -0
  245. package/dist/types/lib/checks.d.cts +33 -0
  246. package/dist/types/lib/date/days.d.cts +7 -0
  247. package/dist/types/lib/date/index.d.cts +3 -0
  248. package/dist/types/lib/date/months.d.cts +11 -0
  249. package/dist/types/lib/date/time.d.cts +21 -0
  250. package/dist/types/lib/form/form-data.d.cts +9 -0
  251. package/dist/types/lib/form/index.d.cts +2 -0
  252. package/{src/lib/form/sanitize.js → dist/types/lib/form/sanitize.d.cts} +19 -39
  253. package/{src/lib/functions/callback.js → dist/types/lib/functions/callback.d.cts} +3 -3
  254. package/dist/types/lib/functions/debounce.d.cts +3 -0
  255. package/dist/types/lib/functions/env.d.cts +3 -0
  256. package/{src/lib/functions/functional.js → dist/types/lib/functions/functional.d.cts} +8 -49
  257. package/dist/types/lib/functions/index.d.cts +5 -0
  258. package/dist/types/lib/functions/throttle.d.cts +3 -0
  259. package/dist/types/lib/functions/timeout.d.cts +5 -0
  260. package/dist/types/lib/hash.d.cts +3 -0
  261. package/dist/types/lib/index.d.cts +43 -0
  262. package/dist/types/lib/numbers/index.d.cts +5 -0
  263. package/dist/types/lib/numbers/math.d.cts +4 -0
  264. package/dist/types/lib/objects/camelcase-keys.d.cts +3 -0
  265. package/dist/types/lib/objects/empty.d.cts +4 -0
  266. package/dist/types/lib/objects/equal.d.cts +4 -0
  267. package/dist/types/lib/objects/extend.d.cts +6 -0
  268. package/dist/types/lib/objects/flatten.d.cts +6 -0
  269. package/dist/types/lib/objects/index.d.cts +13 -0
  270. package/dist/types/lib/objects/json.d.cts +3 -0
  271. package/dist/types/lib/objects/loop.d.cts +4 -0
  272. package/dist/types/lib/objects/mix/mix.d.cts +44 -0
  273. package/{src/lib/objects/nested-property.js → dist/types/lib/objects/nested-property.d.cts} +4 -21
  274. package/dist/types/lib/objects/normalize-object.d.cts +3 -0
  275. package/dist/types/lib/objects/omit-empty.d.cts +3 -0
  276. package/dist/types/lib/objects/size.d.cts +3 -0
  277. package/dist/types/lib/objects/split.d.cts +14 -0
  278. package/dist/types/lib/promises/index.d.cts +1 -0
  279. package/dist/types/lib/promises/reject.d.cts +5 -0
  280. package/dist/types/lib/sse.d.cts +18 -0
  281. package/dist/types/lib/strings/convert-case/convert-case.d.cts +10 -0
  282. package/dist/types/lib/strings/index.d.cts +5 -0
  283. package/dist/types/lib/strings/markdown.d.cts +25 -0
  284. package/dist/types/lib/strings/name.d.cts +7 -0
  285. package/dist/types/lib/strings/pluralize.d.cts +3 -0
  286. package/dist/types/lib/strings/query-string.d.cts +10 -0
  287. package/dist/types/lib/style/index.d.cts +3 -0
  288. package/dist/types/lib/symbols/index.d.cts +1 -0
  289. package/dist/types/lib/symbols/symbols.d.cts +4 -0
  290. package/dist/types/node/context.d.cts +2 -0
  291. package/dist/types/node/dirname.d.cts +9 -0
  292. package/dist/types/node/file-cache.d.cts +56 -0
  293. package/dist/types/node/file.d.cts +4 -0
  294. package/dist/types/node/hash.d.cts +3 -0
  295. package/dist/types/node/index.d.cts +7 -0
  296. package/dist/types/node/pkce.d.cts +14 -0
  297. package/dist/types/node/random-string.d.cts +3 -0
  298. package/{src/node/sanitize.js → dist/types/node/sanitize.d.cts} +3 -6
  299. package/dist/types/node/uuid.d.cts +3 -0
  300. package/package.json +4 -1
  301. package/CHANGELOG.md +0 -237
  302. package/eslint.config.js +0 -2
  303. package/src/dom/accessibility.js +0 -58
  304. package/src/dom/actions/index.js +0 -3
  305. package/src/dom/actions/masonry.js +0 -43
  306. package/src/dom/actions/prefer-horizontal-scroll.js +0 -121
  307. package/src/dom/actions/sticky.js +0 -85
  308. package/src/dom/clipboard.js +0 -14
  309. package/src/dom/cookie.js +0 -32
  310. package/src/dom/css-vars.js +0 -19
  311. package/src/dom/font-size.js +0 -40
  312. package/src/dom/hash.js +0 -9
  313. package/src/dom/index.js +0 -23
  314. package/src/dom/media.js +0 -30
  315. package/src/dom/observers/index.js +0 -4
  316. package/src/dom/observers/intersection-observer.js +0 -43
  317. package/src/dom/observers/mutation-observer.js +0 -51
  318. package/src/dom/observers/observer.js +0 -18
  319. package/src/dom/observers/scroll-observer.js +0 -146
  320. package/src/dom/pkce.js +0 -34
  321. package/src/dom/query-params.js +0 -14
  322. package/src/dom/random-string.js +0 -18
  323. package/src/dom/random-string.test.js +0 -13
  324. package/src/dom/sanitize.js +0 -16
  325. package/src/dom/session-store.js +0 -29
  326. package/src/dom/spam-prevention.js +0 -40
  327. package/src/dom/trap-focus.js +0 -70
  328. package/src/dom/ui/aria-current.js +0 -20
  329. package/src/dom/ui/index.js +0 -4
  330. package/src/dom/ui/scroll-container.js +0 -25
  331. package/src/dom/ui/traverse-and-scramble.js +0 -61
  332. package/src/lib/arrays/index.js +0 -6
  333. package/src/lib/arrays/shuffle.js +0 -21
  334. package/src/lib/arrays/sort.js +0 -88
  335. package/src/lib/arrays/sort.spec.js +0 -123
  336. package/src/lib/arrays/split-array.js +0 -15
  337. package/src/lib/arrays/unique.js +0 -3
  338. package/src/lib/auth/index.js +0 -1
  339. package/src/lib/auth/route-manager.js +0 -45
  340. package/src/lib/checks.js +0 -57
  341. package/src/lib/date/days.js +0 -9
  342. package/src/lib/date/index.js +0 -3
  343. package/src/lib/date/months.js +0 -74
  344. package/src/lib/date/time.js +0 -83
  345. package/src/lib/form/form-data.js +0 -73
  346. package/src/lib/form/index.js +0 -2
  347. package/src/lib/form/sanitize.spec.js +0 -126
  348. package/src/lib/functions/debounce.js +0 -18
  349. package/src/lib/functions/env.js +0 -5
  350. package/src/lib/functions/functional.test.js +0 -196
  351. package/src/lib/functions/index.js +0 -5
  352. package/src/lib/functions/throttle.js +0 -11
  353. package/src/lib/functions/timeout.js +0 -15
  354. package/src/lib/hash.js +0 -18
  355. package/src/lib/hash.spec.js +0 -163
  356. package/src/lib/index.js +0 -14
  357. package/src/lib/numbers/index.js +0 -12
  358. package/src/lib/numbers/math.js +0 -9
  359. package/src/lib/numbers/split-unit.test.js +0 -45
  360. package/src/lib/objects/camelcase-keys.js +0 -17
  361. package/src/lib/objects/camelcase-keys.test.js +0 -72
  362. package/src/lib/objects/empty.js +0 -10
  363. package/src/lib/objects/equal.js +0 -9
  364. package/src/lib/objects/extend.js +0 -16
  365. package/src/lib/objects/extend.test.js +0 -35
  366. package/src/lib/objects/flatten.js +0 -19
  367. package/src/lib/objects/index.js +0 -13
  368. package/src/lib/objects/json.js +0 -7
  369. package/src/lib/objects/loop.js +0 -11
  370. package/src/lib/objects/loop.test.js +0 -31
  371. package/src/lib/objects/mix/mix.js +0 -191
  372. package/src/lib/objects/mix/mix.md +0 -78
  373. package/src/lib/objects/mix/mix.test.js +0 -445
  374. package/src/lib/objects/normalize-object.js +0 -10
  375. package/src/lib/objects/omit-empty.js +0 -23
  376. package/src/lib/objects/omit-empty.test.js +0 -85
  377. package/src/lib/objects/size.js +0 -41
  378. package/src/lib/objects/split.js +0 -19
  379. package/src/lib/promises/index.js +0 -1
  380. package/src/lib/promises/reject.js +0 -17
  381. package/src/lib/sse.js +0 -61
  382. package/src/lib/strings/convert-case/convert-case.js +0 -86
  383. package/src/lib/strings/convert-case/convert-case.md +0 -44
  384. package/src/lib/strings/convert-case/convert-case.test.js +0 -50
  385. package/src/lib/strings/index.js +0 -5
  386. package/src/lib/strings/markdown.js +0 -71
  387. package/src/lib/strings/markdown.spec.js +0 -73
  388. package/src/lib/strings/name.js +0 -24
  389. package/src/lib/strings/name.test.js +0 -67
  390. package/src/lib/strings/pluralize.js +0 -2
  391. package/src/lib/strings/query-string.js +0 -18
  392. package/src/lib/style/index.js +0 -13
  393. package/src/lib/symbols/index.js +0 -1
  394. package/src/lib/symbols/symbols.js +0 -9
  395. package/src/node/dirname.js +0 -17
  396. package/src/node/file-cache.js +0 -184
  397. package/src/node/file.js +0 -13
  398. package/src/node/hash.js +0 -5
  399. package/src/node/index.js +0 -7
  400. package/src/node/pkce.js +0 -33
  401. package/src/node/random-string.js +0 -10
  402. package/src/node/random-string.test.js +0 -15
  403. package/src/node/sanitize.spec.js +0 -142
  404. package/src/node/uuid.js +0 -5
  405. package/tsconfig.json +0 -23
  406. package/tsup.config.js +0 -38
  407. package/tsup.config.mjs +0 -63
  408. /package/{src/node/context.js → dist/cjs/node/context.cjs} +0 -0
@@ -0,0 +1,51 @@
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/keyboard.js
20
+ var keyboard_exports = {};
21
+ __export(keyboard_exports, {
22
+ isArrowKey: () => isArrowKey,
23
+ isEscapeKey: () => isEscapeKey,
24
+ isShiftTab: () => isShiftTab,
25
+ isTab: () => isTab,
26
+ isTabKey: () => isTabKey
27
+ });
28
+ module.exports = __toCommonJS(keyboard_exports);
29
+ function isTab(event) {
30
+ return !event.shiftKey && event.key === "Tab";
31
+ }
32
+ function isShiftTab(event) {
33
+ return event.shiftKey && event.key === "Tab";
34
+ }
35
+ function isTabKey(key) {
36
+ return key === "Tab";
37
+ }
38
+ function isArrowKey(key) {
39
+ return ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(key);
40
+ }
41
+ function isEscapeKey(key) {
42
+ return key === "Escape";
43
+ }
44
+ // Annotate the CommonJS export names for ESM import in node:
45
+ 0 && (module.exports = {
46
+ isArrowKey,
47
+ isEscapeKey,
48
+ isShiftTab,
49
+ isTab,
50
+ isTabKey
51
+ });
@@ -0,0 +1,79 @@
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/local-store.js
20
+ var local_store_exports = {};
21
+ __export(local_store_exports, {
22
+ localStore: () => localStore
23
+ });
24
+ module.exports = __toCommonJS(local_store_exports);
25
+ var localStore = {
26
+ /**
27
+ * Retrieves a value from localStorage
28
+ * @param {string} key - The key to retrieve from localStorage
29
+ * @returns {any} The stored value. Returns parsed JSON if the value was stored as JSON. Returns the original string if not JSON, or undefined if key doesn't exist
30
+ */
31
+ get(key) {
32
+ const value = localStorage.getItem(key);
33
+ if (!value) return;
34
+ try {
35
+ return JSON.parse(value);
36
+ } catch (error) {
37
+ return value;
38
+ }
39
+ },
40
+ /**
41
+ * Stores a value in localStorage
42
+ * @param {string} key - The key to store the value under
43
+ * @param {any} value - The value to store. Objects will be stringified to JSON
44
+ */
45
+ set(key, value) {
46
+ if (typeof value === "string") {
47
+ localStorage.setItem(key, value);
48
+ } else {
49
+ localStorage.setItem(key, JSON.stringify(value));
50
+ }
51
+ },
52
+ /**
53
+ * Stores multiple key-value pairs in localStorage
54
+ * @param {Object|Map} data - An object or Map containing key-value pairs to store
55
+ */
56
+ setMultiple(data) {
57
+ for (const [key, value] of Object.entries(data)) {
58
+ this.set(key, value);
59
+ }
60
+ },
61
+ /**
62
+ * Removes a value from localStorage
63
+ * @param {string} key - The key to remove from localStorage
64
+ */
65
+ remove(key) {
66
+ localStorage.removeItem(key);
67
+ },
68
+ /**
69
+ * Removes multiple keys from localStorage
70
+ * @param {string[]} keys - Array of keys to remove from localStorage
71
+ */
72
+ removeMultiple(keys) {
73
+ keys.forEach((key) => this.remove(key));
74
+ }
75
+ };
76
+ // Annotate the CommonJS export names for ESM import in node:
77
+ 0 && (module.exports = {
78
+ localStore
79
+ });
@@ -0,0 +1,59 @@
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/media.js
20
+ var media_exports = {};
21
+ __export(media_exports, {
22
+ imagesLoaded: () => imagesLoaded,
23
+ mediaLoaded: () => mediaLoaded,
24
+ videosLoaded: () => videosLoaded
25
+ });
26
+ module.exports = __toCommonJS(media_exports);
27
+ async function imagesLoaded(node) {
28
+ const images = Array.from(node.querySelectorAll("img"));
29
+ const promises = images.map((img) => {
30
+ return new Promise((resolve, reject) => {
31
+ if (img.complete) return resolve();
32
+ img.onload = resolve;
33
+ img.onerror = (e) => {
34
+ reject("Image failed to load");
35
+ };
36
+ });
37
+ });
38
+ return Promise.all(promises);
39
+ }
40
+ async function videosLoaded(node) {
41
+ const videos = Array.from(node.querySelectorAll("video"));
42
+ const promises = videos.map((video) => {
43
+ return new Promise((resolve, reject) => {
44
+ if (video.readyState === 4) return resolve();
45
+ video.onloadedmetadata = resolve;
46
+ video.onerror = reject;
47
+ });
48
+ });
49
+ return Promise.all(promises);
50
+ }
51
+ async function mediaLoaded(node) {
52
+ return Promise.all([imagesLoaded(node), videosLoaded(node)]);
53
+ }
54
+ // Annotate the CommonJS export names for ESM import in node:
55
+ 0 && (module.exports = {
56
+ imagesLoaded,
57
+ mediaLoaded,
58
+ videosLoaded
59
+ });
@@ -0,0 +1,253 @@
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/observers/index.js
20
+ var observers_exports = {};
21
+ __export(observers_exports, {
22
+ intersectionObserver: () => intersectionObserver,
23
+ mutationObserver: () => mutationObserver,
24
+ resizeObserver: () => resizeObserver,
25
+ scrollObserver: () => scrollObserver
26
+ });
27
+ module.exports = __toCommonJS(observers_exports);
28
+
29
+ // src/dom/events.js
30
+ function dispatchEvent(node, eventName, detail, options = {}) {
31
+ node.dispatchEvent(
32
+ new CustomEvent(eventName, {
33
+ ...options,
34
+ detail
35
+ })
36
+ );
37
+ }
38
+
39
+ // src/dom/get-element.js
40
+ function getNodeType(node) {
41
+ if (node instanceof Element) return "element";
42
+ if (node instanceof NodeList) return "nodelist";
43
+ if (Array.isArray(node)) return "array";
44
+ }
45
+
46
+ // src/dom/observers/observer.js
47
+ function useObserverMethodOnTarget(target, observer, method = "observe", options = void 0) {
48
+ const targetType = getNodeType(target);
49
+ if (targetType === "element") observer[method](target, options);
50
+ if (targetType === "nodelist") {
51
+ const elements = Array.from(target);
52
+ elements.forEach((element) => observer[method](element, options));
53
+ }
54
+ if (targetType === "array") {
55
+ target.forEach((element) => observer[method](element, options));
56
+ }
57
+ }
58
+
59
+ // src/dom/observers/intersection-observer.js
60
+ function intersectionObserver(target, options = {}) {
61
+ const { callback, ...opts } = options;
62
+ const observer = new IntersectionObserver(observerFn, opts);
63
+ useObserverMethodOnTarget(target, observer, "observe");
64
+ function observerFn(entries) {
65
+ for (const entry of entries) {
66
+ if (callback) callback({ entry, entries, observer });
67
+ else dispatchEvent(target, "intersect", { entry, entries, observer });
68
+ }
69
+ }
70
+ return {
71
+ observer,
72
+ observe(target2) {
73
+ useObserverMethodOnTarget(target2, observer, "observe", options);
74
+ },
75
+ unobserve(target2) {
76
+ useObserverMethodOnTarget(target2, observer, "unobserve");
77
+ },
78
+ takeRecords() {
79
+ return observer.takeRecords();
80
+ },
81
+ disconnect() {
82
+ const records = observer.takeRecords();
83
+ observer.disconnect();
84
+ if (records.length > 0) observerFn(records);
85
+ },
86
+ destroy() {
87
+ observer.disconnect();
88
+ }
89
+ };
90
+ }
91
+
92
+ // src/dom/observers/mutation-observer.js
93
+ var defaultOptions = {
94
+ attributes: false,
95
+ childList: false,
96
+ subtree: false
97
+ };
98
+ function mutationObserver(target, options) {
99
+ options = { ...defaultOptions, ...options };
100
+ const { callback, ...opts } = options;
101
+ const observer = new MutationObserver(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, "mutate", { entry, entries, observer });
108
+ }
109
+ }
110
+ return {
111
+ observer,
112
+ observe(target2) {
113
+ useObserverMethodOnTarget(target2, observer, "observe", options);
114
+ },
115
+ takeRecords() {
116
+ return observer.takeRecords();
117
+ },
118
+ disconnect() {
119
+ const records = observer.takeRecords();
120
+ observer.disconnect();
121
+ if (records.length > 0) observerFn(records);
122
+ },
123
+ destroy() {
124
+ observer.disconnect();
125
+ }
126
+ };
127
+ }
128
+
129
+ // src/dom/observers/resize-observer.js
130
+ function resizeObserver(target, options) {
131
+ const { callback, ...opts } = options;
132
+ const observer = new ResizeObserver(observerFn);
133
+ if (target === window || target === document)
134
+ target = document.documentElement;
135
+ useObserverMethodOnTarget(target, observer, "observe", opts);
136
+ function observerFn(entries) {
137
+ for (const entry of entries) {
138
+ if (callback) callback({ entry, entries, observer });
139
+ else
140
+ dispatchEvent(entry.target, "resize-obs", { entry, entries, observer });
141
+ }
142
+ }
143
+ return {
144
+ observe(target2) {
145
+ useObserverMethodOnTarget(target2, observer, "observe", options);
146
+ },
147
+ unobserve(target2) {
148
+ useObserverMethodOnTarget(target2, observer, "unobserve");
149
+ },
150
+ disconnect: (_) => observer.disconnect(),
151
+ destroy: (_) => observer.disconnect()
152
+ };
153
+ }
154
+
155
+ // src/dom/observers/scroll-observer.js
156
+ var defaultOptions2 = {
157
+ threshold: 0,
158
+ // Float between 0 to 1.
159
+ tolerance: 0.1,
160
+ // Float between 0 to 1. Tolerance for event firing
161
+ once: false
162
+ // Only fire threshold callback once
163
+ };
164
+ function getScrollElement(node) {
165
+ if (node === document || node === window || node === document.documentElement) {
166
+ return document.documentElement;
167
+ }
168
+ return (
169
+ /** @type {Element} */
170
+ node
171
+ );
172
+ }
173
+ function scrollObserver(node, options = {}) {
174
+ const { callback, onScrollDown, onScrollUp, onEnterThreshold, ...userOpts } = options;
175
+ const opts = { ...defaultOptions2, ...userOpts };
176
+ const { threshold, tolerance, once } = opts;
177
+ let prevScrollDirection = null;
178
+ let prevScrollTop = 0;
179
+ let prevScrollPercent = 0;
180
+ let thresholdFired = false;
181
+ let rafId = null;
182
+ const isDocumentScroll = node === document || node === window || node === document.documentElement;
183
+ const scrollElement = getScrollElement(node);
184
+ const eventTarget = isDocumentScroll ? window : node;
185
+ let cachedScrollHeight = 0;
186
+ let cachedClientHeight = 0;
187
+ updateCache();
188
+ const cacheObserver = resizeObserver(scrollElement, {
189
+ callback: updateCache
190
+ });
191
+ eventTarget.addEventListener("scroll", throttledObserve, { passive: true });
192
+ function throttledObserve() {
193
+ rafId = requestAnimationFrame(observe);
194
+ }
195
+ function updateCache() {
196
+ cachedScrollHeight = scrollElement.scrollHeight;
197
+ cachedClientHeight = scrollElement.clientHeight;
198
+ }
199
+ function observe() {
200
+ const scrollTop = scrollElement.scrollTop;
201
+ if (Math.abs(scrollTop - prevScrollTop) < 1) return;
202
+ const scrollDirection = scrollTop > prevScrollTop ? "down" : "up";
203
+ const maxScroll = Math.max(1, cachedScrollHeight - cachedClientHeight);
204
+ const scrollPercent = Math.min(1, Math.max(0, scrollTop / maxScroll));
205
+ const thresholdMin = threshold - tolerance / 2;
206
+ const thresholdMax = threshold + tolerance / 2;
207
+ const wasInThreshold = prevScrollPercent >= thresholdMin && prevScrollPercent <= thresholdMax;
208
+ const isInThreshold = scrollPercent >= thresholdMin && scrollPercent <= thresholdMax;
209
+ const hasEnteredThreshold = !wasInThreshold && isInThreshold && (!once || !thresholdFired);
210
+ if (hasEnteredThreshold && once) {
211
+ thresholdFired = true;
212
+ }
213
+ const callbackData = {
214
+ scrollTop,
215
+ scrollDirection,
216
+ scrollPercent,
217
+ directionChanged: scrollDirection !== prevScrollDirection,
218
+ hasEnteredThreshold,
219
+ isInThreshold
220
+ };
221
+ if (typeof callback === "function") {
222
+ callback(callbackData);
223
+ }
224
+ if (scrollDirection !== prevScrollDirection) {
225
+ if (scrollDirection === "down" && typeof onScrollDown === "function") {
226
+ onScrollDown(callbackData);
227
+ }
228
+ if (scrollDirection === "up" && typeof onScrollUp === "function") {
229
+ onScrollUp(callbackData);
230
+ }
231
+ }
232
+ if (hasEnteredThreshold && typeof onEnterThreshold === "function") {
233
+ onEnterThreshold(callbackData);
234
+ }
235
+ prevScrollTop = scrollTop;
236
+ prevScrollPercent = scrollPercent;
237
+ prevScrollDirection = scrollDirection;
238
+ }
239
+ return {
240
+ destroy() {
241
+ eventTarget.removeEventListener("scroll", throttledObserve);
242
+ if (rafId) cancelAnimationFrame(rafId);
243
+ cacheObserver.destroy();
244
+ }
245
+ };
246
+ }
247
+ // Annotate the CommonJS export names for ESM import in node:
248
+ 0 && (module.exports = {
249
+ intersectionObserver,
250
+ mutationObserver,
251
+ resizeObserver,
252
+ scrollObserver
253
+ });
@@ -0,0 +1,91 @@
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/observers/intersection-observer.js
20
+ var intersection_observer_exports = {};
21
+ __export(intersection_observer_exports, {
22
+ intersectionObserver: () => intersectionObserver
23
+ });
24
+ module.exports = __toCommonJS(intersection_observer_exports);
25
+
26
+ // src/dom/events.js
27
+ function dispatchEvent(node, eventName, detail, options = {}) {
28
+ node.dispatchEvent(
29
+ new CustomEvent(eventName, {
30
+ ...options,
31
+ detail
32
+ })
33
+ );
34
+ }
35
+
36
+ // src/dom/get-element.js
37
+ function getNodeType(node) {
38
+ if (node instanceof Element) return "element";
39
+ if (node instanceof NodeList) return "nodelist";
40
+ if (Array.isArray(node)) return "array";
41
+ }
42
+
43
+ // src/dom/observers/observer.js
44
+ function useObserverMethodOnTarget(target, observer, method = "observe", options = void 0) {
45
+ const targetType = getNodeType(target);
46
+ if (targetType === "element") observer[method](target, options);
47
+ if (targetType === "nodelist") {
48
+ const elements = Array.from(target);
49
+ elements.forEach((element) => observer[method](element, options));
50
+ }
51
+ if (targetType === "array") {
52
+ target.forEach((element) => observer[method](element, options));
53
+ }
54
+ }
55
+
56
+ // src/dom/observers/intersection-observer.js
57
+ function intersectionObserver(target, options = {}) {
58
+ const { callback, ...opts } = options;
59
+ const observer = new IntersectionObserver(observerFn, opts);
60
+ useObserverMethodOnTarget(target, observer, "observe");
61
+ function observerFn(entries) {
62
+ for (const entry of entries) {
63
+ if (callback) callback({ entry, entries, observer });
64
+ else dispatchEvent(target, "intersect", { entry, entries, observer });
65
+ }
66
+ }
67
+ return {
68
+ observer,
69
+ observe(target2) {
70
+ useObserverMethodOnTarget(target2, observer, "observe", options);
71
+ },
72
+ unobserve(target2) {
73
+ useObserverMethodOnTarget(target2, observer, "unobserve");
74
+ },
75
+ takeRecords() {
76
+ return observer.takeRecords();
77
+ },
78
+ disconnect() {
79
+ const records = observer.takeRecords();
80
+ observer.disconnect();
81
+ if (records.length > 0) observerFn(records);
82
+ },
83
+ destroy() {
84
+ observer.disconnect();
85
+ }
86
+ };
87
+ }
88
+ // Annotate the CommonJS export names for ESM import in node:
89
+ 0 && (module.exports = {
90
+ intersectionObserver
91
+ });
@@ -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/observers/mutation-observer.js
20
+ var mutation_observer_exports = {};
21
+ __export(mutation_observer_exports, {
22
+ mutationObserver: () => mutationObserver
23
+ });
24
+ module.exports = __toCommonJS(mutation_observer_exports);
25
+
26
+ // src/dom/events.js
27
+ function dispatchEvent(node, eventName, detail, options = {}) {
28
+ node.dispatchEvent(
29
+ new CustomEvent(eventName, {
30
+ ...options,
31
+ detail
32
+ })
33
+ );
34
+ }
35
+
36
+ // src/dom/get-element.js
37
+ function getNodeType(node) {
38
+ if (node instanceof Element) return "element";
39
+ if (node instanceof NodeList) return "nodelist";
40
+ if (Array.isArray(node)) return "array";
41
+ }
42
+
43
+ // src/dom/observers/observer.js
44
+ function useObserverMethodOnTarget(target, observer, method = "observe", options = void 0) {
45
+ const targetType = getNodeType(target);
46
+ if (targetType === "element") observer[method](target, options);
47
+ if (targetType === "nodelist") {
48
+ const elements = Array.from(target);
49
+ elements.forEach((element) => observer[method](element, options));
50
+ }
51
+ if (targetType === "array") {
52
+ target.forEach((element) => observer[method](element, options));
53
+ }
54
+ }
55
+
56
+ // src/dom/observers/mutation-observer.js
57
+ var defaultOptions = {
58
+ attributes: false,
59
+ childList: false,
60
+ subtree: false
61
+ };
62
+ function mutationObserver(target, options) {
63
+ options = { ...defaultOptions, ...options };
64
+ const { callback, ...opts } = options;
65
+ const observer = new MutationObserver(observerFn);
66
+ if (target === window) target = document.body;
67
+ useObserverMethodOnTarget(target, observer, "observe", opts);
68
+ function observerFn(entries) {
69
+ for (const entry of entries) {
70
+ if (callback) callback({ entry, entries, observer });
71
+ else dispatchEvent(target, "mutate", { entry, entries, observer });
72
+ }
73
+ }
74
+ return {
75
+ observer,
76
+ observe(target2) {
77
+ useObserverMethodOnTarget(target2, observer, "observe", options);
78
+ },
79
+ takeRecords() {
80
+ return observer.takeRecords();
81
+ },
82
+ disconnect() {
83
+ const records = observer.takeRecords();
84
+ observer.disconnect();
85
+ if (records.length > 0) observerFn(records);
86
+ },
87
+ destroy() {
88
+ observer.disconnect();
89
+ }
90
+ };
91
+ }
92
+ // Annotate the CommonJS export names for ESM import in node:
93
+ 0 && (module.exports = {
94
+ mutationObserver
95
+ });
@@ -0,0 +1,48 @@
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/observers/observer.js
20
+ var observer_exports = {};
21
+ __export(observer_exports, {
22
+ useObserverMethodOnTarget: () => useObserverMethodOnTarget
23
+ });
24
+ module.exports = __toCommonJS(observer_exports);
25
+
26
+ // src/dom/get-element.js
27
+ function getNodeType(node) {
28
+ if (node instanceof Element) return "element";
29
+ if (node instanceof NodeList) return "nodelist";
30
+ if (Array.isArray(node)) return "array";
31
+ }
32
+
33
+ // src/dom/observers/observer.js
34
+ function useObserverMethodOnTarget(target, observer, method = "observe", options = void 0) {
35
+ const targetType = getNodeType(target);
36
+ if (targetType === "element") observer[method](target, options);
37
+ if (targetType === "nodelist") {
38
+ const elements = Array.from(target);
39
+ elements.forEach((element) => observer[method](element, options));
40
+ }
41
+ if (targetType === "array") {
42
+ target.forEach((element) => observer[method](element, options));
43
+ }
44
+ }
45
+ // Annotate the CommonJS export names for ESM import in node:
46
+ 0 && (module.exports = {
47
+ useObserverMethodOnTarget
48
+ });