@splendidlabz/utils 1.11.3 → 1.11.5
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.
- package/dist/cjs/dom/accessibility.cjs +53 -0
- package/dist/cjs/dom/actions/index.cjs +410 -0
- package/dist/cjs/dom/actions/masonry.cjs +152 -0
- package/dist/cjs/dom/actions/prefer-horizontal-scroll.cjs +157 -0
- package/dist/cjs/dom/actions/sticky.cjs +213 -0
- package/dist/cjs/dom/bounding-box.cjs +70 -0
- package/dist/cjs/dom/clipboard.cjs +37 -0
- package/dist/cjs/dom/cookie.cjs +57 -0
- package/dist/cjs/dom/css-vars.cjs +57 -0
- package/dist/cjs/dom/events.cjs +59 -0
- package/{src/dom/focusable.js → dist/cjs/dom/focusable.cjs} +51 -73
- package/dist/cjs/dom/font-size.cjs +80 -0
- package/dist/cjs/dom/get-element.cjs +98 -0
- package/dist/cjs/dom/hash.cjs +35 -0
- package/dist/cjs/dom/index.cjs +1267 -0
- package/dist/cjs/dom/keyboard.cjs +51 -0
- package/dist/cjs/dom/local-store.cjs +79 -0
- package/dist/cjs/dom/media.cjs +59 -0
- package/dist/cjs/dom/observers/index.cjs +253 -0
- package/dist/cjs/dom/observers/intersection-observer.cjs +91 -0
- package/dist/cjs/dom/observers/mutation-observer.cjs +95 -0
- package/dist/cjs/dom/observers/observer.cjs +48 -0
- package/dist/cjs/dom/observers/resize-observer.cjs +84 -0
- package/dist/cjs/dom/observers/scroll-observer.cjs +177 -0
- package/dist/cjs/dom/pkce.cjs +53 -0
- package/dist/cjs/dom/query-params.cjs +38 -0
- package/dist/cjs/dom/random-string.cjs +38 -0
- package/dist/cjs/dom/sanitize.cjs +65 -0
- package/dist/cjs/dom/session-store.cjs +49 -0
- package/dist/cjs/dom/spam-prevention.cjs +50 -0
- package/dist/cjs/dom/trap-focus.cjs +197 -0
- package/dist/cjs/dom/ui/aria-current.cjs +43 -0
- package/dist/cjs/dom/ui/inconsistent-button-fix.cjs +35 -0
- package/dist/cjs/dom/ui/index.cjs +105 -0
- package/dist/cjs/dom/ui/scroll-container.cjs +47 -0
- package/dist/cjs/dom/ui/traverse-and-scramble.cjs +50 -0
- package/dist/cjs/lib/arrays/index.cjs +139 -0
- package/dist/cjs/lib/arrays/item-position.cjs +42 -0
- package/dist/cjs/lib/arrays/join.cjs +43 -0
- package/dist/cjs/lib/arrays/shuffle.cjs +42 -0
- package/dist/cjs/lib/arrays/sort.cjs +67 -0
- package/dist/cjs/lib/arrays/split-array.cjs +41 -0
- package/dist/cjs/lib/arrays/unique.cjs +31 -0
- package/dist/cjs/lib/auth/index.cjs +53 -0
- package/dist/cjs/lib/auth/route-manager.cjs +51 -0
- package/dist/cjs/lib/checks.cjs +63 -0
- package/dist/cjs/lib/date/days.cjs +37 -0
- package/dist/cjs/lib/date/index.cjs +208 -0
- package/dist/cjs/lib/date/months.cjs +102 -0
- package/dist/cjs/lib/date/time.cjs +117 -0
- package/dist/cjs/lib/form/form-data.cjs +83 -0
- package/dist/cjs/lib/form/index.cjs +122 -0
- package/dist/cjs/lib/form/sanitize.cjs +61 -0
- package/dist/cjs/lib/functions/callback.cjs +31 -0
- package/dist/cjs/lib/functions/debounce.cjs +43 -0
- package/dist/cjs/lib/functions/env.cjs +32 -0
- package/dist/cjs/lib/functions/functional.cjs +82 -0
- package/dist/cjs/lib/functions/index.cjs +142 -0
- package/dist/cjs/lib/functions/throttle.cjs +38 -0
- package/dist/cjs/lib/functions/timeout.cjs +41 -0
- package/dist/cjs/lib/hash.cjs +43 -0
- package/dist/cjs/lib/index.cjs +1178 -0
- package/dist/cjs/lib/numbers/index.cjs +49 -0
- package/dist/cjs/lib/numbers/math.cjs +36 -0
- package/dist/cjs/lib/objects/camelcase-keys.cjs +80 -0
- package/dist/cjs/lib/objects/empty.cjs +39 -0
- package/dist/cjs/lib/objects/equal.cjs +47 -0
- package/dist/cjs/lib/objects/extend.cjs +147 -0
- package/dist/cjs/lib/objects/flatten.cjs +48 -0
- package/dist/cjs/lib/objects/index.cjs +378 -0
- package/dist/cjs/lib/objects/json.cjs +35 -0
- package/dist/cjs/lib/objects/loop.cjs +40 -0
- package/dist/cjs/lib/objects/mix/mix.cjs +115 -0
- package/dist/cjs/lib/objects/nested-property.cjs +45 -0
- package/dist/cjs/lib/objects/normalize-object.cjs +106 -0
- package/dist/cjs/lib/objects/omit-empty.cjs +40 -0
- package/dist/cjs/lib/objects/size.cjs +63 -0
- package/dist/cjs/lib/objects/split.cjs +39 -0
- package/dist/cjs/lib/promises/index.cjs +69 -0
- package/dist/cjs/lib/promises/reject.cjs +67 -0
- package/dist/cjs/lib/sse.cjs +99 -0
- package/dist/cjs/lib/strings/convert-case/convert-case.cjs +96 -0
- package/dist/cjs/lib/strings/index.cjs +197 -0
- package/dist/cjs/lib/strings/markdown.cjs +76 -0
- package/dist/cjs/lib/strings/name.cjs +46 -0
- package/dist/cjs/lib/strings/pluralize.cjs +40 -0
- package/dist/cjs/lib/strings/query-string.cjs +43 -0
- package/dist/cjs/lib/style/index.cjs +64 -0
- package/dist/cjs/lib/symbols/index.cjs +40 -0
- package/dist/cjs/lib/symbols/symbols.cjs +38 -0
- package/dist/cjs/node/dirname.cjs +49 -0
- package/dist/cjs/node/file-cache.cjs +200 -0
- package/dist/cjs/node/file.cjs +50 -0
- package/dist/cjs/node/hash.cjs +42 -0
- package/dist/cjs/node/index.cjs +296 -0
- package/dist/cjs/node/pkce.cjs +64 -0
- package/dist/cjs/node/random-string.cjs +43 -0
- package/dist/cjs/node/sanitize.cjs +65 -0
- package/dist/cjs/node/uuid.cjs +42 -0
- package/dist/esm/dom/accessibility.js +26 -0
- package/dist/esm/dom/actions/index.js +3 -0
- package/dist/esm/dom/actions/masonry.js +38 -0
- package/dist/esm/dom/actions/prefer-horizontal-scroll.js +90 -0
- package/dist/esm/dom/actions/sticky.js +70 -0
- package/dist/esm/dom/bounding-box.js +44 -0
- package/dist/esm/dom/clipboard.js +12 -0
- package/dist/esm/dom/cookie.js +31 -0
- package/dist/esm/dom/css-vars.js +21 -0
- package/dist/esm/dom/events.js +31 -0
- package/dist/esm/dom/focusable.js +117 -0
- package/dist/esm/dom/font-size.js +40 -0
- package/dist/esm/dom/get-element.js +66 -0
- package/dist/esm/dom/hash.js +10 -0
- package/dist/esm/dom/index.js +23 -0
- package/dist/esm/dom/keyboard.js +22 -0
- package/{src → dist/esm}/dom/local-store.js +16 -28
- package/dist/esm/dom/media.js +32 -0
- package/dist/esm/dom/observers/index.js +4 -0
- package/dist/esm/dom/observers/intersection-observer.js +36 -0
- package/dist/esm/dom/observers/mutation-observer.js +40 -0
- package/dist/esm/dom/observers/observer.js +15 -0
- package/dist/esm/dom/observers/resize-observer.js +29 -0
- package/dist/esm/dom/observers/scroll-observer.js +95 -0
- package/dist/esm/dom/pkce.js +20 -0
- package/dist/esm/dom/query-params.js +13 -0
- package/dist/esm/dom/random-string.js +12 -0
- package/dist/esm/dom/sanitize.js +8 -0
- package/dist/esm/dom/session-store.js +24 -0
- package/dist/esm/dom/spam-prevention.js +25 -0
- package/dist/esm/dom/trap-focus.js +51 -0
- package/dist/esm/dom/ui/aria-current.js +17 -0
- package/dist/esm/dom/ui/inconsistent-button-fix.js +10 -0
- package/dist/esm/dom/ui/index.js +4 -0
- package/dist/esm/dom/ui/scroll-container.js +22 -0
- package/dist/esm/dom/ui/traverse-and-scramble.js +25 -0
- package/dist/esm/lib/arrays/index.js +6 -0
- package/dist/esm/lib/arrays/item-position.js +15 -0
- package/dist/esm/lib/arrays/join.js +12 -0
- package/dist/esm/lib/arrays/shuffle.js +17 -0
- package/dist/esm/lib/arrays/sort.js +36 -0
- package/dist/esm/lib/arrays/split-array.js +16 -0
- package/dist/esm/lib/arrays/unique.js +6 -0
- package/dist/esm/lib/auth/index.js +1 -0
- package/dist/esm/lib/auth/route-manager.js +25 -0
- package/dist/esm/lib/checks.js +34 -0
- package/dist/esm/lib/date/days.js +12 -0
- package/dist/esm/lib/date/index.js +3 -0
- package/dist/esm/lib/date/months.js +77 -0
- package/dist/esm/lib/date/time.js +75 -0
- package/dist/esm/lib/form/form-data.js +57 -0
- package/dist/esm/lib/form/index.js +2 -0
- package/dist/esm/lib/form/sanitize.js +34 -0
- package/dist/esm/lib/functions/callback.js +6 -0
- package/dist/esm/lib/functions/debounce.js +18 -0
- package/dist/esm/lib/functions/env.js +7 -0
- package/dist/esm/lib/functions/functional.js +52 -0
- package/dist/esm/lib/functions/index.js +5 -0
- package/dist/esm/lib/functions/throttle.js +13 -0
- package/dist/esm/lib/functions/timeout.js +14 -0
- package/dist/esm/lib/hash.js +18 -0
- package/dist/esm/lib/index.js +14 -0
- package/dist/esm/lib/numbers/index.js +11 -0
- package/dist/esm/lib/numbers/math.js +10 -0
- package/dist/esm/lib/objects/camelcase-keys.js +16 -0
- package/dist/esm/lib/objects/empty.js +13 -0
- package/dist/esm/lib/objects/equal.js +11 -0
- package/dist/esm/lib/objects/extend.js +13 -0
- package/dist/esm/lib/objects/flatten.js +17 -0
- package/dist/esm/lib/objects/index.js +13 -0
- package/dist/esm/lib/objects/json.js +10 -0
- package/dist/esm/lib/objects/loop.js +14 -0
- package/dist/esm/lib/objects/mix/mix.js +88 -0
- package/dist/esm/lib/objects/nested-property.js +18 -0
- package/dist/esm/lib/objects/normalize-object.js +9 -0
- package/dist/esm/lib/objects/omit-empty.js +15 -0
- package/dist/esm/lib/objects/size.js +38 -0
- package/dist/esm/lib/objects/split.js +14 -0
- package/dist/esm/lib/promises/index.js +1 -0
- package/dist/esm/lib/promises/reject.js +17 -0
- package/dist/esm/lib/sse.js +50 -0
- package/dist/esm/lib/strings/convert-case/convert-case.js +64 -0
- package/dist/esm/lib/strings/index.js +5 -0
- package/dist/esm/lib/strings/markdown.js +40 -0
- package/dist/esm/lib/strings/name.js +21 -0
- package/dist/esm/lib/strings/pluralize.js +5 -0
- package/dist/esm/lib/strings/query-string.js +16 -0
- package/dist/esm/lib/style/index.js +12 -0
- package/dist/esm/lib/symbols/index.js +1 -0
- package/dist/esm/lib/symbols/symbols.js +12 -0
- package/dist/esm/node/context.js +0 -0
- package/dist/esm/node/dirname.js +13 -0
- package/dist/esm/node/file-cache.js +121 -0
- package/dist/esm/node/file.js +14 -0
- package/dist/esm/node/hash.js +7 -0
- package/dist/esm/node/index.js +7 -0
- package/dist/esm/node/pkce.js +20 -0
- package/dist/esm/node/random-string.js +8 -0
- package/dist/esm/node/sanitize.js +8 -0
- package/dist/esm/node/uuid.js +7 -0
- package/dist/types/dom/accessibility.d.cts +30 -0
- package/dist/types/dom/actions/index.d.cts +3 -0
- package/dist/types/dom/actions/masonry.d.cts +5 -0
- package/dist/types/dom/actions/prefer-horizontal-scroll.d.cts +5 -0
- package/dist/types/dom/actions/sticky.d.cts +5 -0
- package/{src/dom/bounding-box.js → dist/types/dom/bounding-box.d.cts} +8 -49
- package/dist/types/dom/clipboard.d.cts +7 -0
- package/dist/types/dom/cookie.d.cts +7 -0
- package/dist/types/dom/css-vars.d.cts +6 -0
- package/{src/dom/events.js → dist/types/dom/events.d.cts} +52 -31
- package/dist/types/dom/focusable.d.cts +78 -0
- package/dist/types/dom/font-size.d.cts +8 -0
- package/{src/dom/get-element.js → dist/types/dom/get-element.d.cts} +25 -99
- package/dist/types/dom/hash.d.cts +3 -0
- package/dist/types/dom/index.d.cts +31 -0
- package/{src/dom/keyboard.js → dist/types/dom/keyboard.d.cts} +7 -19
- package/dist/types/dom/local-store.d.cts +31 -0
- package/dist/types/dom/media.d.cts +5 -0
- package/dist/types/dom/observers/index.d.cts +4 -0
- package/dist/types/dom/observers/intersection-observer.d.cts +10 -0
- package/dist/types/dom/observers/mutation-observer.d.cts +9 -0
- package/dist/types/dom/observers/observer.d.cts +3 -0
- package/{src/dom/observers/resize-observer.js → dist/types/dom/observers/resize-observer.d.cts} +6 -32
- package/dist/types/dom/observers/scroll-observer.d.cts +40 -0
- package/dist/types/dom/pkce.d.cts +8 -0
- package/dist/types/dom/query-params.d.cts +6 -0
- package/dist/types/dom/random-string.d.cts +9 -0
- package/dist/types/dom/sanitize.d.cts +10 -0
- package/dist/types/dom/session-store.d.cts +7 -0
- package/dist/types/dom/spam-prevention.d.cts +14 -0
- package/dist/types/dom/trap-focus.d.cts +32 -0
- package/dist/types/dom/ui/aria-current.d.cts +7 -0
- package/{src/dom/ui/inconsistent-button-fix.js → dist/types/dom/ui/inconsistent-button-fix.d.cts} +5 -11
- package/dist/types/dom/ui/index.d.cts +4 -0
- package/dist/types/dom/ui/scroll-container.d.cts +3 -0
- package/dist/types/dom/ui/traverse-and-scramble.d.cts +21 -0
- package/dist/types/lib/arrays/index.d.cts +6 -0
- package/{src/lib/arrays/item-position.js → dist/types/lib/arrays/item-position.d.cts} +5 -12
- package/{src/lib/arrays/join.js → dist/types/lib/arrays/join.d.cts} +4 -9
- package/dist/types/lib/arrays/shuffle.d.cts +3 -0
- package/dist/types/lib/arrays/sort.d.cts +32 -0
- package/dist/types/lib/arrays/split-array.d.cts +6 -0
- package/dist/types/lib/arrays/unique.d.cts +3 -0
- package/dist/types/lib/auth/index.d.cts +1 -0
- package/dist/types/lib/auth/route-manager.d.cts +28 -0
- package/dist/types/lib/checks.d.cts +33 -0
- package/dist/types/lib/date/days.d.cts +7 -0
- package/dist/types/lib/date/index.d.cts +3 -0
- package/dist/types/lib/date/months.d.cts +11 -0
- package/dist/types/lib/date/time.d.cts +21 -0
- package/dist/types/lib/form/form-data.d.cts +9 -0
- package/dist/types/lib/form/index.d.cts +2 -0
- package/{src/lib/form/sanitize.js → dist/types/lib/form/sanitize.d.cts} +19 -39
- package/{src/lib/functions/callback.js → dist/types/lib/functions/callback.d.cts} +3 -3
- package/dist/types/lib/functions/debounce.d.cts +3 -0
- package/dist/types/lib/functions/env.d.cts +3 -0
- package/{src/lib/functions/functional.js → dist/types/lib/functions/functional.d.cts} +8 -49
- package/dist/types/lib/functions/index.d.cts +5 -0
- package/dist/types/lib/functions/throttle.d.cts +3 -0
- package/dist/types/lib/functions/timeout.d.cts +5 -0
- package/dist/types/lib/hash.d.cts +3 -0
- package/dist/types/lib/index.d.cts +43 -0
- package/dist/types/lib/numbers/index.d.cts +5 -0
- package/dist/types/lib/numbers/math.d.cts +4 -0
- package/dist/types/lib/objects/camelcase-keys.d.cts +3 -0
- package/dist/types/lib/objects/empty.d.cts +4 -0
- package/dist/types/lib/objects/equal.d.cts +4 -0
- package/dist/types/lib/objects/extend.d.cts +6 -0
- package/dist/types/lib/objects/flatten.d.cts +6 -0
- package/dist/types/lib/objects/index.d.cts +13 -0
- package/dist/types/lib/objects/json.d.cts +3 -0
- package/dist/types/lib/objects/loop.d.cts +4 -0
- package/dist/types/lib/objects/mix/mix.d.cts +44 -0
- package/{src/lib/objects/nested-property.js → dist/types/lib/objects/nested-property.d.cts} +4 -21
- package/dist/types/lib/objects/normalize-object.d.cts +3 -0
- package/dist/types/lib/objects/omit-empty.d.cts +3 -0
- package/dist/types/lib/objects/size.d.cts +3 -0
- package/dist/types/lib/objects/split.d.cts +14 -0
- package/dist/types/lib/promises/index.d.cts +1 -0
- package/dist/types/lib/promises/reject.d.cts +5 -0
- package/dist/types/lib/sse.d.cts +18 -0
- package/dist/types/lib/strings/convert-case/convert-case.d.cts +10 -0
- package/dist/types/lib/strings/index.d.cts +5 -0
- package/dist/types/lib/strings/markdown.d.cts +25 -0
- package/dist/types/lib/strings/name.d.cts +7 -0
- package/dist/types/lib/strings/pluralize.d.cts +3 -0
- package/dist/types/lib/strings/query-string.d.cts +10 -0
- package/dist/types/lib/style/index.d.cts +3 -0
- package/dist/types/lib/symbols/index.d.cts +1 -0
- package/dist/types/lib/symbols/symbols.d.cts +4 -0
- package/dist/types/node/context.d.cts +2 -0
- package/dist/types/node/dirname.d.cts +9 -0
- package/dist/types/node/file-cache.d.cts +56 -0
- package/dist/types/node/file.d.cts +4 -0
- package/dist/types/node/hash.d.cts +3 -0
- package/dist/types/node/index.d.cts +7 -0
- package/dist/types/node/pkce.d.cts +14 -0
- package/dist/types/node/random-string.d.cts +3 -0
- package/{src/node/sanitize.js → dist/types/node/sanitize.d.cts} +3 -6
- package/dist/types/node/uuid.d.cts +3 -0
- package/package.json +18 -15
- package/CHANGELOG.md +0 -237
- package/eslint.config.js +0 -2
- package/src/dom/accessibility.js +0 -58
- package/src/dom/actions/index.js +0 -3
- package/src/dom/actions/masonry.js +0 -43
- package/src/dom/actions/prefer-horizontal-scroll.js +0 -121
- package/src/dom/actions/sticky.js +0 -85
- package/src/dom/clipboard.js +0 -14
- package/src/dom/cookie.js +0 -32
- package/src/dom/css-vars.js +0 -19
- package/src/dom/font-size.js +0 -40
- package/src/dom/hash.js +0 -9
- package/src/dom/index.js +0 -23
- package/src/dom/media.js +0 -30
- package/src/dom/observers/index.js +0 -4
- package/src/dom/observers/intersection-observer.js +0 -43
- package/src/dom/observers/mutation-observer.js +0 -51
- package/src/dom/observers/observer.js +0 -18
- package/src/dom/observers/scroll-observer.js +0 -146
- package/src/dom/pkce.js +0 -34
- package/src/dom/query-params.js +0 -14
- package/src/dom/random-string.js +0 -18
- package/src/dom/random-string.test.js +0 -13
- package/src/dom/sanitize.js +0 -16
- package/src/dom/session-store.js +0 -29
- package/src/dom/spam-prevention.js +0 -40
- package/src/dom/trap-focus.js +0 -70
- package/src/dom/ui/aria-current.js +0 -20
- package/src/dom/ui/index.js +0 -4
- package/src/dom/ui/scroll-container.js +0 -25
- package/src/dom/ui/traverse-and-scramble.js +0 -61
- package/src/lib/arrays/index.js +0 -6
- package/src/lib/arrays/shuffle.js +0 -21
- package/src/lib/arrays/sort.js +0 -88
- package/src/lib/arrays/sort.spec.js +0 -123
- package/src/lib/arrays/split-array.js +0 -15
- package/src/lib/arrays/unique.js +0 -3
- package/src/lib/auth/index.js +0 -1
- package/src/lib/auth/route-manager.js +0 -45
- package/src/lib/checks.js +0 -57
- package/src/lib/date/days.js +0 -9
- package/src/lib/date/index.js +0 -3
- package/src/lib/date/months.js +0 -74
- package/src/lib/date/time.js +0 -83
- package/src/lib/form/form-data.js +0 -73
- package/src/lib/form/index.js +0 -2
- package/src/lib/form/sanitize.spec.js +0 -126
- package/src/lib/functions/debounce.js +0 -18
- package/src/lib/functions/env.js +0 -5
- package/src/lib/functions/functional.test.js +0 -196
- package/src/lib/functions/index.js +0 -5
- package/src/lib/functions/throttle.js +0 -11
- package/src/lib/functions/timeout.js +0 -15
- package/src/lib/hash.js +0 -18
- package/src/lib/hash.spec.js +0 -163
- package/src/lib/index.js +0 -14
- package/src/lib/numbers/index.js +0 -12
- package/src/lib/numbers/math.js +0 -9
- package/src/lib/numbers/split-unit.test.js +0 -45
- package/src/lib/objects/camelcase-keys.js +0 -17
- package/src/lib/objects/camelcase-keys.test.js +0 -72
- package/src/lib/objects/empty.js +0 -10
- package/src/lib/objects/equal.js +0 -9
- package/src/lib/objects/extend.js +0 -16
- package/src/lib/objects/extend.test.js +0 -35
- package/src/lib/objects/flatten.js +0 -19
- package/src/lib/objects/index.js +0 -13
- package/src/lib/objects/json.js +0 -7
- package/src/lib/objects/loop.js +0 -11
- package/src/lib/objects/loop.test.js +0 -31
- package/src/lib/objects/mix/mix.js +0 -191
- package/src/lib/objects/mix/mix.md +0 -78
- package/src/lib/objects/mix/mix.test.js +0 -445
- package/src/lib/objects/normalize-object.js +0 -10
- package/src/lib/objects/omit-empty.js +0 -23
- package/src/lib/objects/omit-empty.test.js +0 -85
- package/src/lib/objects/size.js +0 -41
- package/src/lib/objects/split.js +0 -19
- package/src/lib/promises/index.js +0 -1
- package/src/lib/promises/reject.js +0 -17
- package/src/lib/sse.js +0 -61
- package/src/lib/strings/convert-case/convert-case.js +0 -86
- package/src/lib/strings/convert-case/convert-case.md +0 -44
- package/src/lib/strings/convert-case/convert-case.test.js +0 -50
- package/src/lib/strings/index.js +0 -5
- package/src/lib/strings/markdown.js +0 -71
- package/src/lib/strings/markdown.spec.js +0 -73
- package/src/lib/strings/name.js +0 -24
- package/src/lib/strings/name.test.js +0 -67
- package/src/lib/strings/pluralize.js +0 -2
- package/src/lib/strings/query-string.js +0 -18
- package/src/lib/style/index.js +0 -13
- package/src/lib/symbols/index.js +0 -1
- package/src/lib/symbols/symbols.js +0 -9
- package/src/node/dirname.js +0 -17
- package/src/node/file-cache.js +0 -184
- package/src/node/file.js +0 -13
- package/src/node/hash.js +0 -5
- package/src/node/index.js +0 -7
- package/src/node/pkce.js +0 -33
- package/src/node/random-string.js +0 -10
- package/src/node/random-string.test.js +0 -15
- package/src/node/sanitize.spec.js +0 -142
- package/src/node/uuid.js +0 -5
- package/tsconfig.json +0 -23
- package/tsup.config.js +0 -38
- package/tsup.config.mjs +0 -63
- /package/{src/node/context.js → dist/cjs/node/context.cjs} +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Split on object up based on the keys provided.
|
|
3
|
+
* @param {Object} obj
|
|
4
|
+
* @param {Array} keys
|
|
5
|
+
* @returns
|
|
6
|
+
*/
|
|
7
|
+
declare function splitObject(obj: any, keys: any[]): {
|
|
8
|
+
picked: {};
|
|
9
|
+
omitted: any;
|
|
10
|
+
p: {};
|
|
11
|
+
o: any;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { splitObject };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { reject } from './reject.cjs';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
declare function createSSE({ event, data, id, retry }: {
|
|
2
|
+
event: any;
|
|
3
|
+
data: any;
|
|
4
|
+
id: any;
|
|
5
|
+
retry: any;
|
|
6
|
+
}): string;
|
|
7
|
+
/**
|
|
8
|
+
* Parses a single SSE message into a structured object
|
|
9
|
+
* @param {string} message - The raw SSE message
|
|
10
|
+
* @returns {Object|null} The parsed message or null if invalid
|
|
11
|
+
* @property {string} [event] - The event type if specified
|
|
12
|
+
* @property {string|Object} data - The message data (parsed as JSON if possible)
|
|
13
|
+
* @property {string} [id] - The message ID if specified
|
|
14
|
+
* @property {number} [retry] - The retry interval if specified
|
|
15
|
+
*/
|
|
16
|
+
declare function parseSSE(message: string): any | null;
|
|
17
|
+
|
|
18
|
+
export { createSSE, parseSSE };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
declare function toKebab(string: any): any;
|
|
2
|
+
declare function toCamel(string: any): any;
|
|
3
|
+
declare function toPascal(string: any): any;
|
|
4
|
+
declare function toTitle(string: any): any;
|
|
5
|
+
declare function toSlug(string: any): any;
|
|
6
|
+
declare function toSentence(string: any): any;
|
|
7
|
+
declare function toUpper(string: any): any;
|
|
8
|
+
declare function toLower(string: any): any;
|
|
9
|
+
|
|
10
|
+
export { toCamel, toKebab, toLower, toPascal, toSentence, toSlug, toTitle, toUpper };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { toCamel, toKebab, toLower, toPascal, toSentence, toSlug, toTitle, toUpper } from './convert-case/convert-case.cjs';
|
|
2
|
+
export { markdown, treatMarkdownWhitespace } from './markdown.cjs';
|
|
3
|
+
export { parseFullName } from './name.cjs';
|
|
4
|
+
export { pluralize } from './pluralize.cjs';
|
|
5
|
+
export { plural, stripNumbers, toQueryString } from './query-string.cjs';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts markdown content to HTML with whitespace handling
|
|
3
|
+
* @param {string} content - Markdown content to convert
|
|
4
|
+
* @param {Object} [options={}] - Conversion options
|
|
5
|
+
* @param {boolean} [options.inline=false] - Whether content should be treated as inline markdown
|
|
6
|
+
* @returns {string} Converted HTML string
|
|
7
|
+
*/
|
|
8
|
+
declare function markdown(content: string, options?: {
|
|
9
|
+
inline?: boolean;
|
|
10
|
+
}): string;
|
|
11
|
+
/**
|
|
12
|
+
* Handles whitespace in markdown content to ensure proper rendering
|
|
13
|
+
* @param {string} content - Markdown content to process
|
|
14
|
+
* @param {Object} [options={}] - Processing options
|
|
15
|
+
* @param {boolean} [options.inline=false] - Whether content is inline markdown
|
|
16
|
+
* @returns {{ content: string, inline: boolean }} Processed content and inline status
|
|
17
|
+
*/
|
|
18
|
+
declare function treatMarkdownWhitespace(content: string, { inline }?: {
|
|
19
|
+
inline?: boolean;
|
|
20
|
+
}): {
|
|
21
|
+
content: string;
|
|
22
|
+
inline: boolean;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { markdown, treatMarkdownWhitespace };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts object into a query string
|
|
3
|
+
* @param {Object} object
|
|
4
|
+
* @returns
|
|
5
|
+
*/
|
|
6
|
+
declare function toQueryString(object: any): string;
|
|
7
|
+
declare function plural(count: any, noun: any, suffix?: string): string;
|
|
8
|
+
declare function stripNumbers(string: any): any;
|
|
9
|
+
|
|
10
|
+
export { plural, stripNumbers, toQueryString };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { getSymbol, getSymbolValue } from './symbols.cjs';
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a file cache instance for managing cached files in a directory
|
|
3
|
+
* @param {string} dir - Absolute or relative path to cache directory
|
|
4
|
+
* @returns {Promise<object>} Cache instance
|
|
5
|
+
* @property {function(string): Promise<number>} cacheAt - Returns the cached file's modified timestamp, or directory's last modified time if no file specified
|
|
6
|
+
* @property {function(string): string} getAbsPath - Returns absolute path for a file in cache
|
|
7
|
+
* @property {function(string): Promise<boolean>} hasFile - Checks if a file exists in cache
|
|
8
|
+
* @property {function(string): Promise<Buffer|undefined>} loadFile - Loads file contents from cache
|
|
9
|
+
* @property {function(string, string|Buffer): Promise<void>} saveFile - Saves data to cache file
|
|
10
|
+
* @property {function(string): Promise<object>} loadJSON - Loads and parses JSON from cache file
|
|
11
|
+
* @property {function(string, object): Promise<void>} saveJSON - Saves object as JSON to cache file
|
|
12
|
+
*/
|
|
13
|
+
declare function createCache(dir: string): Promise<object>;
|
|
14
|
+
/**
|
|
15
|
+
* Legacy file cache API for managing a single cached file
|
|
16
|
+
* @param {Object} options
|
|
17
|
+
* @param {string} options.dir - Absolute or relative path to cache directory
|
|
18
|
+
* @param {string} options.file - Filename to cache
|
|
19
|
+
* @returns {Promise<{
|
|
20
|
+
* modifiedAt: number,
|
|
21
|
+
* load: () => Promise<Buffer>,
|
|
22
|
+
* save: (data: string|Buffer) => Promise<void>,
|
|
23
|
+
* loadJSON: () => Promise<object>,
|
|
24
|
+
* saveJSON: (data: object) => Promise<void>
|
|
25
|
+
* }>}
|
|
26
|
+
*/
|
|
27
|
+
declare function fileCache({ dir, file }: {
|
|
28
|
+
dir: string;
|
|
29
|
+
file: string;
|
|
30
|
+
}): Promise<{
|
|
31
|
+
modifiedAt: number;
|
|
32
|
+
load: () => Promise<Buffer>;
|
|
33
|
+
save: (data: string | Buffer) => Promise<void>;
|
|
34
|
+
loadJSON: () => Promise<object>;
|
|
35
|
+
saveJSON: (data: object) => Promise<void>;
|
|
36
|
+
}>;
|
|
37
|
+
/**
|
|
38
|
+
* Gets the most recent modification time of files matching the glob pattern
|
|
39
|
+
* @param {string|string[]} globPath - Glob pattern(s) to match files
|
|
40
|
+
* @returns {Promise<number>} Timestamp of most recently modified file, or 0 if no files found
|
|
41
|
+
*/
|
|
42
|
+
declare function getLastModifiedTime(globPath: string | string[]): Promise<number>;
|
|
43
|
+
/**
|
|
44
|
+
* @deprecated Use getLastModifiedTime instead
|
|
45
|
+
* @param {string|string[]} globPath - Glob pattern(s) to match files
|
|
46
|
+
* @returns {Promise<number>} Timestamp of most recently modified file, or 0 if no files found
|
|
47
|
+
*/
|
|
48
|
+
declare function getLatestModifiedTime(globPath: string | string[]): Promise<number>;
|
|
49
|
+
/**
|
|
50
|
+
* Removes leading slash from a path string
|
|
51
|
+
* @param {string} x - Path string to process
|
|
52
|
+
* @returns {string} Path without leading slash
|
|
53
|
+
*/
|
|
54
|
+
declare function removeFirstSlash(x: string): string;
|
|
55
|
+
|
|
56
|
+
export { createCache, fileCache, getLastModifiedTime, getLatestModifiedTime, removeFirstSlash };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { __dirname, dirname } from './dirname.cjs';
|
|
2
|
+
export { createCache, fileCache, getLastModifiedTime, getLatestModifiedTime, removeFirstSlash } from './file-cache.cjs';
|
|
3
|
+
export { sha256Hash } from './hash.cjs';
|
|
4
|
+
export { PKCE, getCodeChallenge } from './pkce.cjs';
|
|
5
|
+
export { randomString } from './random-string.cjs';
|
|
6
|
+
export { sanitize } from './sanitize.cjs';
|
|
7
|
+
export { uuid } from './uuid.cjs';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
declare function PKCE(): Promise<{
|
|
2
|
+
state: string;
|
|
3
|
+
code_verifier: string;
|
|
4
|
+
code_challenge: string;
|
|
5
|
+
code_challenge_method: string;
|
|
6
|
+
}>;
|
|
7
|
+
/**
|
|
8
|
+
* Generates code challenge in node
|
|
9
|
+
* @param {string} verifier
|
|
10
|
+
* @returns string
|
|
11
|
+
*/
|
|
12
|
+
declare function getCodeChallenge(verifier: string): string;
|
|
13
|
+
|
|
14
|
+
export { PKCE, getCodeChallenge };
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import sanitizeHtml from 'sanitize-html'
|
|
2
|
-
import { sanitize as sanitizeLib } from '../lib/form/sanitize.js'
|
|
3
|
-
|
|
4
1
|
/**
|
|
5
2
|
* Sanitizes values using sanitize-html
|
|
6
3
|
* @param {*} value - Value to sanitize (string, array, or object)
|
|
@@ -8,6 +5,6 @@ import { sanitize as sanitizeLib } from '../lib/form/sanitize.js'
|
|
|
8
5
|
* @returns {*} Sanitized value
|
|
9
6
|
* @throws {Error} If input is a string but sanitize-html fails
|
|
10
7
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
8
|
+
declare function sanitize(value: any, options?: any): any;
|
|
9
|
+
|
|
10
|
+
export { sanitize };
|
package/package.json
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@splendidlabz/utils",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.5",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"homepage": "https://splendidlabz.com/docs/utils",
|
|
7
7
|
"sideEffects": false,
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
8
11
|
"main": "./dist/cjs/lib/index.cjs",
|
|
9
12
|
"module": "./dist/esm/lib/index.js",
|
|
10
13
|
"types": "./dist/types/lib/index.d.cts",
|
|
@@ -54,23 +57,23 @@
|
|
|
54
57
|
"author": "Zell Liew <zellwk@gmail.com>",
|
|
55
58
|
"dependencies": {
|
|
56
59
|
"deep-eql": "^5.0.2",
|
|
57
|
-
"dompurify": "^3.
|
|
58
|
-
"glob": "^
|
|
59
|
-
"markdown-it": "^14.1.
|
|
60
|
+
"dompurify": "^3.4.0",
|
|
61
|
+
"glob": "^13.0.6",
|
|
62
|
+
"markdown-it": "^14.1.1",
|
|
60
63
|
"markdown-it-anchor": "^9.2.0",
|
|
61
|
-
"marked": "^
|
|
62
|
-
"marked-gfm-heading-id": "^4.1.
|
|
63
|
-
"marked-mangle": "^1.1.
|
|
64
|
+
"marked": "^18.0.2",
|
|
65
|
+
"marked-gfm-heading-id": "^4.1.4",
|
|
66
|
+
"marked-mangle": "^1.1.13",
|
|
64
67
|
"pluralize": "^8.0.0",
|
|
65
|
-
"sanitize-html": "^2.17.
|
|
66
|
-
"statuses": "^2.0.
|
|
68
|
+
"sanitize-html": "^2.17.3",
|
|
69
|
+
"statuses": "^2.0.2"
|
|
67
70
|
},
|
|
68
71
|
"devDependencies": {
|
|
69
|
-
"@splendidlabz/eslint-config": "2.1.
|
|
70
|
-
"jsdom": "^
|
|
71
|
-
"np": "^
|
|
72
|
-
"tsup": "^8.
|
|
73
|
-
"typescript": "^
|
|
74
|
-
"vitest": "^
|
|
72
|
+
"@splendidlabz/eslint-config": "2.1.4",
|
|
73
|
+
"jsdom": "^29.0.2",
|
|
74
|
+
"np": "^11.1.0",
|
|
75
|
+
"tsup": "^8.5.1",
|
|
76
|
+
"typescript": "^6.0.3",
|
|
77
|
+
"vitest": "^4.1.4"
|
|
75
78
|
}
|
|
76
79
|
}
|
package/CHANGELOG.md
DELETED
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
# @splendidlabz/utils
|
|
2
|
-
|
|
3
|
-
## 1.11.3
|
|
4
|
-
|
|
5
|
-
### Patch Changes
|
|
6
|
-
|
|
7
|
-
- 7b9b628: Added context utility
|
|
8
|
-
|
|
9
|
-
## 1.11.2
|
|
10
|
-
|
|
11
|
-
### Patch Changes
|
|
12
|
-
|
|
13
|
-
- - Add `updateMasonryLayout` method to `masonry` nodes.
|
|
14
|
-
|
|
15
|
-
## 1.11.1
|
|
16
|
-
|
|
17
|
-
### Patch Changes
|
|
18
|
-
|
|
19
|
-
- Fix auth jwt secret
|
|
20
|
-
|
|
21
|
-
## 1.11.0
|
|
22
|
-
|
|
23
|
-
### Minor Changes
|
|
24
|
-
|
|
25
|
-
- Utils: Add isFunction
|
|
26
|
-
|
|
27
|
-
## 1.10.7
|
|
28
|
-
|
|
29
|
-
### Patch Changes
|
|
30
|
-
|
|
31
|
-
- Allow fileCache to accept absolute urls
|
|
32
|
-
|
|
33
|
-
## 1.10.6
|
|
34
|
-
|
|
35
|
-
### Patch Changes
|
|
36
|
-
|
|
37
|
-
- Bump
|
|
38
|
-
|
|
39
|
-
## 1.10.5
|
|
40
|
-
|
|
41
|
-
### Patch Changes
|
|
42
|
-
|
|
43
|
-
- Fixed `env` in node
|
|
44
|
-
|
|
45
|
-
## 1.10.4
|
|
46
|
-
|
|
47
|
-
### Patch Changes
|
|
48
|
-
|
|
49
|
-
- - Add env to utils/node.
|
|
50
|
-
- Allow JWT_SECRET to be retrieved from both import.meta.env and process.env
|
|
51
|
-
|
|
52
|
-
## 1.10.3
|
|
53
|
-
|
|
54
|
-
### Patch Changes
|
|
55
|
-
|
|
56
|
-
- Prevent tsup from bundling — allows tree shaking
|
|
57
|
-
|
|
58
|
-
## 1.10.2
|
|
59
|
-
|
|
60
|
-
### Patch Changes
|
|
61
|
-
|
|
62
|
-
- Built
|
|
63
|
-
|
|
64
|
-
## 1.10.1
|
|
65
|
-
|
|
66
|
-
### Patch Changes
|
|
67
|
-
|
|
68
|
-
- Fix circular references and typescript errors
|
|
69
|
-
|
|
70
|
-
## 1.10.0
|
|
71
|
-
|
|
72
|
-
### Minor Changes
|
|
73
|
-
|
|
74
|
-
- 4efacb3: - 6c636877 fix scroll observer
|
|
75
|
-
- 54effb06 add rlh
|
|
76
|
-
|
|
77
|
-
## 1.9.1
|
|
78
|
-
|
|
79
|
-
### Patch Changes
|
|
80
|
-
|
|
81
|
-
- Replace Markdown with Markdown-it
|
|
82
|
-
|
|
83
|
-
## 1.9.0
|
|
84
|
-
|
|
85
|
-
### Minor Changes
|
|
86
|
-
|
|
87
|
-
- 8f2cb34: - 48406c69 Add JSDocs for events
|
|
88
|
-
- 304b5310 Utils: Add runCallback
|
|
89
|
-
|
|
90
|
-
## 1.8.2
|
|
91
|
-
|
|
92
|
-
### Patch Changes
|
|
93
|
-
|
|
94
|
-
- - abd0770c Add pipeAsync and composeAsync along with tests
|
|
95
|
-
|
|
96
|
-
## 1.8.1
|
|
97
|
-
|
|
98
|
-
### Patch Changes
|
|
99
|
-
|
|
100
|
-
- Build
|
|
101
|
-
|
|
102
|
-
## 1.8.0
|
|
103
|
-
|
|
104
|
-
### Minor Changes
|
|
105
|
-
|
|
106
|
-
- Several updates
|
|
107
|
-
|
|
108
|
-
## 1.7.0
|
|
109
|
-
|
|
110
|
-
### Minor Changes
|
|
111
|
-
|
|
112
|
-
- 2c149fc: Now supports CJS
|
|
113
|
-
- Many changes! Woo
|
|
114
|
-
|
|
115
|
-
## 1.6.0
|
|
116
|
-
|
|
117
|
-
### Minor Changes
|
|
118
|
-
|
|
119
|
-
- Many many upgrades which I didn't document properly 😅. The details are in Github history, but too many details to talk about now.
|
|
120
|
-
|
|
121
|
-
## 1.5.1
|
|
122
|
-
|
|
123
|
-
### Patch Changes
|
|
124
|
-
|
|
125
|
-
- - Utils: Added getFocusableElements as alias of Focusables
|
|
126
|
-
- Styles: Adjusted `grid-with-breakout` children classes and CSS properties. Wrote docs for it.
|
|
127
|
-
|
|
128
|
-
## 1.5.0
|
|
129
|
-
|
|
130
|
-
### Minor Changes
|
|
131
|
-
|
|
132
|
-
- 859a2b0: Add utilities for SSE
|
|
133
|
-
- acf9faf: Improve sort function
|
|
134
|
-
- 8b17adc: Ready for next release
|
|
135
|
-
- 5fe7c51: - Just bumping
|
|
136
|
-
- Fix bug with `mix` erroring when a `null` or `undefined` source is passed to it. `mix` now ignores `null` and `undefined`.
|
|
137
|
-
- Adds `toDegrees`
|
|
138
|
-
- Adds `toRadians`
|
|
139
|
-
- Adds `getCSSValue` and `setCSSValue`. They're aliases for `getCSSVar` and `setCSSVar` but they're more descriptive for standard properties.
|
|
140
|
-
- Renamed `hasLabel` to `checkForAccessibleName`
|
|
141
|
-
- Add `getParentElement` to get the parent element of a DOM node. If it encounters an `ASTRO-ISLAND` and `ASTRO-SLOT`, it goes one level up.
|
|
142
|
-
|
|
143
|
-
### Patch Changes
|
|
144
|
-
|
|
145
|
-
- df4f2d6: Simplified Markdown — so utils now contain a markdown function
|
|
146
|
-
- Include typescript checks!
|
|
147
|
-
- bb06596: Updates
|
|
148
|
-
|
|
149
|
-
## 1.5.0-beta.6
|
|
150
|
-
|
|
151
|
-
### Minor Changes
|
|
152
|
-
|
|
153
|
-
- Add utilities for SSE
|
|
154
|
-
|
|
155
|
-
## 1.5.0-beta.5
|
|
156
|
-
|
|
157
|
-
### Minor Changes
|
|
158
|
-
|
|
159
|
-
- Ready for next release
|
|
160
|
-
|
|
161
|
-
## 1.5.0-alpha.4
|
|
162
|
-
|
|
163
|
-
### Patch Changes
|
|
164
|
-
|
|
165
|
-
- Updates
|
|
166
|
-
|
|
167
|
-
## 1.5.0-alpha.3
|
|
168
|
-
|
|
169
|
-
### Minor Changes
|
|
170
|
-
|
|
171
|
-
- 5fe7c51: - Just bumping
|
|
172
|
-
- Fix bug with `mix` erroring when a `null` or `undefined` source is passed to it. `mix` now ignores `null` and `undefined`.
|
|
173
|
-
- Adds `toDegrees`
|
|
174
|
-
- Adds `toRadians`
|
|
175
|
-
- Adds `getCSSValue` and `setCSSValue`. They're aliases for `getCSSVar` and `setCSSVar` but they're more descriptive for standard properties.
|
|
176
|
-
- Renamed `hasLabel` to `checkForAccessibleName`
|
|
177
|
-
- Add `getParentElement` to get the parent element of a DOM node. If it encounters an `ASTRO-ISLAND` and `ASTRO-SLOT`, it goes one level up.
|
|
178
|
-
|
|
179
|
-
## 1.5.0-alpha.2
|
|
180
|
-
|
|
181
|
-
### Minor Changes
|
|
182
|
-
|
|
183
|
-
- acf9faf: Improve sort function
|
|
184
|
-
|
|
185
|
-
## 1.5.0-alpha.1
|
|
186
|
-
|
|
187
|
-
### Patch Changes
|
|
188
|
-
|
|
189
|
-
- df4f2d6: Simplified Markdown — so utils now contain a markdown function
|
|
190
|
-
|
|
191
|
-
## 1.5.0-alpha.0
|
|
192
|
-
|
|
193
|
-
### Minor Changes
|
|
194
|
-
|
|
195
|
-
- Just bumping
|
|
196
|
-
|
|
197
|
-
## 1.4.0
|
|
198
|
-
|
|
199
|
-
### Minor Changes
|
|
200
|
-
|
|
201
|
-
- Added a couple of improvements
|
|
202
|
-
|
|
203
|
-
## 1.3.0
|
|
204
|
-
|
|
205
|
-
### Minor Changes
|
|
206
|
-
|
|
207
|
-
- a9128f4: Add Debounce and Throttle functions
|
|
208
|
-
|
|
209
|
-
## 1.2.0
|
|
210
|
-
|
|
211
|
-
### Minor Changes
|
|
212
|
-
|
|
213
|
-
- a9128f4: - Add `uuid` to `utils/node`
|
|
214
|
-
- Add `uuid` to `utils/dom`
|
|
215
|
-
- Add `MONTHS` constant to `utils`
|
|
216
|
-
|
|
217
|
-
### Patch Changes
|
|
218
|
-
|
|
219
|
-
- a9128f4: - Change `randomString` in `utils/dom` to produce a HTML-usable string
|
|
220
|
-
|
|
221
|
-
## 1.1.2
|
|
222
|
-
|
|
223
|
-
### Patch Changes
|
|
224
|
-
|
|
225
|
-
- Add query params path
|
|
226
|
-
|
|
227
|
-
## 1.1.1
|
|
228
|
-
|
|
229
|
-
### Patch Changes
|
|
230
|
-
|
|
231
|
-
- Fix session store path
|
|
232
|
-
|
|
233
|
-
## 1.1.0
|
|
234
|
-
|
|
235
|
-
### Minor Changes
|
|
236
|
-
|
|
237
|
-
- 2d5789f: New and better cache utility
|
package/eslint.config.js
DELETED
package/src/dom/accessibility.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
// export function stopBodyScroll(element) {
|
|
2
|
-
// if (!element) element = document.body
|
|
3
|
-
// const top = document.documentElement.scrollTop
|
|
4
|
-
// element.style.top = -1 * top + 'px'
|
|
5
|
-
// element.style.overflow = 'hidden'
|
|
6
|
-
// }
|
|
7
|
-
|
|
8
|
-
// export function allowBodyScroll() {
|
|
9
|
-
// const top = parseFloat(document.body.style.top) * -1
|
|
10
|
-
// document.body.style.top = null
|
|
11
|
-
// document.body.style.overflow = null
|
|
12
|
-
// document.documentElement.scrollTop = top
|
|
13
|
-
// }
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Checks if an element has an accessible name through label or aria-labelledby
|
|
17
|
-
* @param {string} [label] - The label text
|
|
18
|
-
* @param {string} [labelledBy] - The aria-labelledby value
|
|
19
|
-
* @returns {boolean} True if the element has an accessible name
|
|
20
|
-
*/
|
|
21
|
-
export function hasAccessibleName(label, labelledBy) {
|
|
22
|
-
if (label || labelledBy) return true
|
|
23
|
-
return false
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Checks if an element has an accessible name and logs a warning/error if it doesn't
|
|
28
|
-
* @param {Object} [options] - Options for checking accessible name
|
|
29
|
-
* @param {string} [options.name] - The name of the element being checked
|
|
30
|
-
* @param {string} [options.ariaLabel] - The aria-label value
|
|
31
|
-
* @param {string} [options.ariaLabelledBy] - The aria-labelledby value
|
|
32
|
-
* @param {'warn'|'error'} [options.severity='warn'] - Severity level for the message
|
|
33
|
-
* @returns {boolean} True if the element has an accessible name
|
|
34
|
-
*/
|
|
35
|
-
export function checkForAccessibleName({
|
|
36
|
-
name,
|
|
37
|
-
ariaLabel,
|
|
38
|
-
ariaLabelledBy,
|
|
39
|
-
severity = 'warn',
|
|
40
|
-
} = {}) {
|
|
41
|
-
if (ariaLabel || ariaLabelledBy) return true
|
|
42
|
-
|
|
43
|
-
const message = `${name} is missing an accessible name. Please provide an accessible name with 'aria-label' or 'aria-labelledby'.`
|
|
44
|
-
if (severity === 'warn') console.warn(message)
|
|
45
|
-
if (severity === 'error') console.error(message)
|
|
46
|
-
return false
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Checks if an ARIA popup value is valid
|
|
51
|
-
* @param {string} value - The ARIA popup value to check
|
|
52
|
-
* @returns {boolean} True if the value is invalid
|
|
53
|
-
*/
|
|
54
|
-
export function isInvalidAriaPopup(value) {
|
|
55
|
-
const allowedPopoupValues = ['dialog', 'menu', 'listbox', 'grid', 'tree']
|
|
56
|
-
if (!allowedPopoupValues.includes(value)) return true
|
|
57
|
-
return false
|
|
58
|
-
}
|
package/src/dom/actions/index.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { getChildrenElements } from '../get-element.js'
|
|
2
|
-
import { mediaLoaded } from '../media.js'
|
|
3
|
-
import { resizeObserver } from '../observers/resize-observer.js'
|
|
4
|
-
|
|
5
|
-
export async function masonry(node) {
|
|
6
|
-
if (nativeMasonrySupport(node)) return
|
|
7
|
-
|
|
8
|
-
const colGap = parseFloat(getComputedStyle(node).columnGap)
|
|
9
|
-
const items = getChildrenElements(node)
|
|
10
|
-
|
|
11
|
-
node.style.setProperty('row-gap', '1px', 'important')
|
|
12
|
-
node.style.gridAutoRows = '0px'
|
|
13
|
-
node.updateMasonryLayout = _ => layout({ colGap, items })
|
|
14
|
-
|
|
15
|
-
try {
|
|
16
|
-
await mediaLoaded(node)
|
|
17
|
-
} catch (e) {}
|
|
18
|
-
|
|
19
|
-
layout({ colGap, items })
|
|
20
|
-
|
|
21
|
-
const obs = resizeObserver(node, {
|
|
22
|
-
async callback(opts) {
|
|
23
|
-
layout({ colGap, items })
|
|
24
|
-
},
|
|
25
|
-
})
|
|
26
|
-
|
|
27
|
-
async function layout({ colGap, items }) {
|
|
28
|
-
items.forEach(item => {
|
|
29
|
-
const ib = item.getBoundingClientRect()
|
|
30
|
-
item.style.gridRowEnd = `span ${Math.round(ib.height + colGap)}`
|
|
31
|
-
})
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return {
|
|
35
|
-
destroy() {
|
|
36
|
-
obs.disconnect()
|
|
37
|
-
},
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function nativeMasonrySupport(node) {
|
|
42
|
-
return getComputedStyle(node).gridTemplateRows === 'masonry'
|
|
43
|
-
}
|