@just-web/toolkits 1.0.0 → 2.1.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.
- package/dist/attributes/get-attribute.cjs +1 -1
- package/dist/attributes/get-attribute.cjs.map +1 -1
- package/dist/attributes/get-attribute.d.cts +2 -2
- package/dist/attributes/get-attribute.d.cts.map +1 -1
- package/dist/attributes/get-attribute.d.mts +2 -2
- package/dist/attributes/get-attribute.d.mts.map +1 -1
- package/dist/attributes/get-attribute.mjs +1 -1
- package/dist/attributes/get-attribute.mjs.map +1 -1
- package/dist/attributes/get-data-attribute.cjs +1 -1
- package/dist/attributes/get-data-attribute.cjs.map +1 -1
- package/dist/attributes/get-data-attribute.d.cts +2 -2
- package/dist/attributes/get-data-attribute.d.cts.map +1 -1
- package/dist/attributes/get-data-attribute.d.mts +2 -2
- package/dist/attributes/get-data-attribute.d.mts.map +1 -1
- package/dist/attributes/get-data-attribute.mjs +1 -1
- package/dist/attributes/get-data-attribute.mjs.map +1 -1
- package/dist/attributes/observe-attribute.cjs +1 -1
- package/dist/attributes/observe-attribute.cjs.map +1 -1
- package/dist/attributes/observe-attribute.d.cts +2 -2
- package/dist/attributes/observe-attribute.d.cts.map +1 -1
- package/dist/attributes/observe-attribute.d.mts +2 -2
- package/dist/attributes/observe-attribute.d.mts.map +1 -1
- package/dist/attributes/observe-attribute.mjs +1 -1
- package/dist/attributes/observe-attribute.mjs.map +1 -1
- package/dist/attributes/observe-data-attribute.cjs +1 -1
- package/dist/attributes/observe-data-attribute.cjs.map +1 -1
- package/dist/attributes/observe-data-attribute.d.cts +2 -2
- package/dist/attributes/observe-data-attribute.d.cts.map +1 -1
- package/dist/attributes/observe-data-attribute.d.mts +2 -2
- package/dist/attributes/observe-data-attribute.d.mts.map +1 -1
- package/dist/attributes/observe-data-attribute.mjs +1 -1
- package/dist/attributes/observe-data-attribute.mjs.map +1 -1
- package/dist/color-scheme/color-scheme.types.d.cts +11 -0
- package/dist/color-scheme/color-scheme.types.d.cts.map +1 -0
- package/dist/color-scheme/color-scheme.types.d.mts +11 -0
- package/dist/color-scheme/color-scheme.types.d.mts.map +1 -0
- package/dist/color-scheme/get-prefers-color-scheme.cjs +3 -1
- package/dist/color-scheme/get-prefers-color-scheme.cjs.map +1 -1
- package/dist/color-scheme/get-prefers-color-scheme.d.cts +7 -2
- package/dist/color-scheme/get-prefers-color-scheme.d.cts.map +1 -1
- package/dist/color-scheme/get-prefers-color-scheme.d.mts +7 -2
- package/dist/color-scheme/get-prefers-color-scheme.d.mts.map +1 -1
- package/dist/color-scheme/get-prefers-color-scheme.mjs +3 -1
- package/dist/color-scheme/get-prefers-color-scheme.mjs.map +1 -1
- package/dist/color-scheme/observe-prefers-color-scheme.cjs.map +1 -1
- package/dist/color-scheme/observe-prefers-color-scheme.d.cts +4 -1
- package/dist/color-scheme/observe-prefers-color-scheme.d.cts.map +1 -1
- package/dist/color-scheme/observe-prefers-color-scheme.d.mts +4 -1
- package/dist/color-scheme/observe-prefers-color-scheme.d.mts.map +1 -1
- package/dist/color-scheme/observe-prefers-color-scheme.mjs.map +1 -1
- package/dist/index.d.cts +2 -1
- package/dist/index.d.mts +2 -1
- package/dist/react/hooks/use-attribute.cjs +7 -7
- package/dist/react/hooks/use-attribute.cjs.map +1 -1
- package/dist/react/hooks/use-attribute.d.cts +4 -4
- package/dist/react/hooks/use-attribute.d.mts +4 -4
- package/dist/react/hooks/use-attribute.mjs +7 -7
- package/dist/react/hooks/use-attribute.mjs.map +1 -1
- package/dist/react/hooks/use-theme-by-class-name.cjs +2 -6
- package/dist/react/hooks/use-theme-by-class-name.cjs.map +1 -1
- package/dist/react/hooks/use-theme-by-class-name.d.cts +2 -2
- package/dist/react/hooks/use-theme-by-class-name.d.cts.map +1 -1
- package/dist/react/hooks/use-theme-by-class-name.d.mts +2 -2
- package/dist/react/hooks/use-theme-by-class-name.d.mts.map +1 -1
- package/dist/react/hooks/use-theme-by-class-name.mjs +2 -6
- package/dist/react/hooks/use-theme-by-class-name.mjs.map +1 -1
- package/dist/react/hooks/use-theme-by-data-attribute.cjs +2 -7
- package/dist/react/hooks/use-theme-by-data-attribute.cjs.map +1 -1
- package/dist/react/hooks/use-theme-by-data-attribute.d.cts +2 -2
- package/dist/react/hooks/use-theme-by-data-attribute.d.cts.map +1 -1
- package/dist/react/hooks/use-theme-by-data-attribute.d.mts +2 -2
- package/dist/react/hooks/use-theme-by-data-attribute.d.mts.map +1 -1
- package/dist/react/hooks/use-theme-by-data-attribute.mjs +2 -7
- package/dist/react/hooks/use-theme-by-data-attribute.mjs.map +1 -1
- package/dist/react/hooks/use-theme-by-local-storage.cjs +1 -5
- package/dist/react/hooks/use-theme-by-local-storage.cjs.map +1 -1
- package/dist/react/hooks/use-theme-by-local-storage.d.cts.map +1 -1
- package/dist/react/hooks/use-theme-by-local-storage.d.mts.map +1 -1
- package/dist/react/hooks/use-theme-by-local-storage.mjs +1 -5
- package/dist/react/hooks/use-theme-by-local-storage.mjs.map +1 -1
- package/dist/react/theme/create-theme-hook.cjs.map +1 -1
- package/dist/react/theme/create-theme-hook.mjs.map +1 -1
- package/dist/theme/_utils/match-attribute-value-to-theme.cjs +29 -0
- package/dist/theme/_utils/match-attribute-value-to-theme.cjs.map +1 -0
- package/dist/theme/_utils/match-attribute-value-to-theme.mjs +28 -0
- package/dist/theme/_utils/match-attribute-value-to-theme.mjs.map +1 -0
- package/dist/theme/_utils/parse-stored-theme.cjs +61 -7
- package/dist/theme/_utils/parse-stored-theme.cjs.map +1 -1
- package/dist/theme/_utils/parse-stored-theme.mjs +61 -7
- package/dist/theme/_utils/parse-stored-theme.mjs.map +1 -1
- package/dist/theme/_utils/resolve-theme-map-value.cjs +19 -0
- package/dist/theme/_utils/resolve-theme-map-value.cjs.map +1 -0
- package/dist/theme/_utils/resolve-theme-map-value.mjs +17 -0
- package/dist/theme/_utils/resolve-theme-map-value.mjs.map +1 -0
- package/dist/theme/_utils/set-theme-to-stores.cjs +1 -1
- package/dist/theme/_utils/set-theme-to-stores.cjs.map +1 -1
- package/dist/theme/_utils/set-theme-to-stores.mjs +1 -1
- package/dist/theme/_utils/set-theme-to-stores.mjs.map +1 -1
- package/dist/theme/class-name/parse-class-name.cjs +32 -0
- package/dist/theme/class-name/parse-class-name.cjs.map +1 -0
- package/dist/theme/class-name/parse-class-name.d.cts +20 -0
- package/dist/theme/class-name/parse-class-name.d.cts.map +1 -0
- package/dist/theme/class-name/parse-class-name.d.mts +20 -0
- package/dist/theme/class-name/parse-class-name.d.mts.map +1 -0
- package/dist/theme/class-name/parse-class-name.mjs +31 -0
- package/dist/theme/class-name/parse-class-name.mjs.map +1 -0
- package/dist/theme/class-name/read-class-name.cjs +20 -0
- package/dist/theme/class-name/read-class-name.cjs.map +1 -0
- package/dist/theme/class-name/read-class-name.d.cts +20 -0
- package/dist/theme/class-name/read-class-name.d.cts.map +1 -0
- package/dist/theme/class-name/read-class-name.d.mts +20 -0
- package/dist/theme/class-name/read-class-name.d.mts.map +1 -0
- package/dist/theme/class-name/read-class-name.mjs +20 -0
- package/dist/theme/class-name/read-class-name.mjs.map +1 -0
- package/dist/theme/class-name/stringify-class-name.cjs +31 -0
- package/dist/theme/class-name/stringify-class-name.cjs.map +1 -0
- package/dist/theme/class-name/stringify-class-name.d.cts +21 -0
- package/dist/theme/class-name/stringify-class-name.d.cts.map +1 -0
- package/dist/theme/class-name/stringify-class-name.d.mts +21 -0
- package/dist/theme/class-name/stringify-class-name.d.mts.map +1 -0
- package/dist/theme/class-name/stringify-class-name.mjs +31 -0
- package/dist/theme/class-name/stringify-class-name.mjs.map +1 -0
- package/dist/theme/class-name/subscribe-class-name.cjs +31 -0
- package/dist/theme/class-name/subscribe-class-name.cjs.map +1 -0
- package/dist/theme/class-name/subscribe-class-name.d.cts +21 -0
- package/dist/theme/class-name/subscribe-class-name.d.cts.map +1 -0
- package/dist/theme/class-name/subscribe-class-name.d.mts +21 -0
- package/dist/theme/class-name/subscribe-class-name.d.mts.map +1 -0
- package/dist/theme/class-name/subscribe-class-name.mjs +31 -0
- package/dist/theme/class-name/subscribe-class-name.mjs.map +1 -0
- package/dist/theme/class-name/write-class-name.cjs +20 -0
- package/dist/theme/class-name/write-class-name.cjs.map +1 -0
- package/dist/theme/class-name/write-class-name.d.cts +20 -0
- package/dist/theme/class-name/write-class-name.d.cts.map +1 -0
- package/dist/theme/class-name/write-class-name.d.mts +20 -0
- package/dist/theme/class-name/write-class-name.d.mts.map +1 -0
- package/dist/theme/class-name/write-class-name.mjs +20 -0
- package/dist/theme/class-name/write-class-name.mjs.map +1 -0
- package/dist/theme/compose-theme-stores.cjs.map +1 -1
- package/dist/theme/compose-theme-stores.mjs.map +1 -1
- package/dist/theme/cookie/_cookie-utils.cjs +37 -0
- package/dist/theme/cookie/_cookie-utils.cjs.map +1 -0
- package/dist/theme/cookie/_cookie-utils.mjs +33 -0
- package/dist/theme/cookie/_cookie-utils.mjs.map +1 -0
- package/dist/theme/cookie/read-cookie-theme.cjs +22 -0
- package/dist/theme/cookie/read-cookie-theme.cjs.map +1 -0
- package/dist/theme/cookie/read-cookie-theme.d.cts +22 -0
- package/dist/theme/cookie/read-cookie-theme.d.cts.map +1 -0
- package/dist/theme/cookie/read-cookie-theme.d.mts +22 -0
- package/dist/theme/cookie/read-cookie-theme.d.mts.map +1 -0
- package/dist/theme/cookie/read-cookie-theme.mjs +22 -0
- package/dist/theme/cookie/read-cookie-theme.mjs.map +1 -0
- package/dist/theme/cookie/write-cookie-theme.cjs +29 -0
- package/dist/theme/cookie/write-cookie-theme.cjs.map +1 -0
- package/dist/theme/cookie/write-cookie-theme.d.cts +24 -0
- package/dist/theme/cookie/write-cookie-theme.d.cts.map +1 -0
- package/dist/theme/cookie/write-cookie-theme.d.mts +24 -0
- package/dist/theme/cookie/write-cookie-theme.d.mts.map +1 -0
- package/dist/theme/cookie/write-cookie-theme.mjs +29 -0
- package/dist/theme/cookie/write-cookie-theme.mjs.map +1 -0
- package/dist/theme/data-attribute/_constant.cjs +7 -0
- package/dist/theme/data-attribute/_constant.cjs.map +1 -0
- package/dist/theme/data-attribute/_constant.mjs +6 -0
- package/dist/theme/data-attribute/_constant.mjs.map +1 -0
- package/dist/theme/data-attribute/parse-data-attribute.cjs +24 -0
- package/dist/theme/data-attribute/parse-data-attribute.cjs.map +1 -0
- package/dist/theme/data-attribute/parse-data-attribute.d.cts +21 -0
- package/dist/theme/data-attribute/parse-data-attribute.d.cts.map +1 -0
- package/dist/theme/data-attribute/parse-data-attribute.d.mts +21 -0
- package/dist/theme/data-attribute/parse-data-attribute.d.mts.map +1 -0
- package/dist/theme/data-attribute/parse-data-attribute.mjs +24 -0
- package/dist/theme/data-attribute/parse-data-attribute.mjs.map +1 -0
- package/dist/theme/data-attribute/read-data-attribute.cjs +23 -0
- package/dist/theme/data-attribute/read-data-attribute.cjs.map +1 -0
- package/dist/theme/data-attribute/read-data-attribute.d.cts +21 -0
- package/dist/theme/data-attribute/read-data-attribute.d.cts.map +1 -0
- package/dist/theme/data-attribute/read-data-attribute.d.mts +21 -0
- package/dist/theme/data-attribute/read-data-attribute.d.mts.map +1 -0
- package/dist/theme/data-attribute/read-data-attribute.mjs +23 -0
- package/dist/theme/data-attribute/read-data-attribute.mjs.map +1 -0
- package/dist/theme/data-attribute/stringify-data-attribute.cjs +33 -0
- package/dist/theme/data-attribute/stringify-data-attribute.cjs.map +1 -0
- package/dist/theme/data-attribute/stringify-data-attribute.d.cts +23 -0
- package/dist/theme/data-attribute/stringify-data-attribute.d.cts.map +1 -0
- package/dist/theme/data-attribute/stringify-data-attribute.d.mts +23 -0
- package/dist/theme/data-attribute/stringify-data-attribute.d.mts.map +1 -0
- package/dist/theme/data-attribute/stringify-data-attribute.mjs +33 -0
- package/dist/theme/data-attribute/stringify-data-attribute.mjs.map +1 -0
- package/dist/theme/data-attribute/subscribe-data-attribute.cjs +28 -0
- package/dist/theme/data-attribute/subscribe-data-attribute.cjs.map +1 -0
- package/dist/theme/data-attribute/subscribe-data-attribute.d.cts +22 -0
- package/dist/theme/data-attribute/subscribe-data-attribute.d.cts.map +1 -0
- package/dist/theme/data-attribute/subscribe-data-attribute.d.mts +22 -0
- package/dist/theme/data-attribute/subscribe-data-attribute.d.mts.map +1 -0
- package/dist/theme/data-attribute/subscribe-data-attribute.mjs +28 -0
- package/dist/theme/data-attribute/subscribe-data-attribute.mjs.map +1 -0
- package/dist/theme/data-attribute/write-data-attribute.cjs +30 -0
- package/dist/theme/data-attribute/write-data-attribute.cjs.map +1 -0
- package/dist/theme/data-attribute/write-data-attribute.d.cts +21 -0
- package/dist/theme/data-attribute/write-data-attribute.d.cts.map +1 -0
- package/dist/theme/data-attribute/write-data-attribute.d.mts +21 -0
- package/dist/theme/data-attribute/write-data-attribute.d.mts.map +1 -0
- package/dist/theme/data-attribute/write-data-attribute.mjs +30 -0
- package/dist/theme/data-attribute/write-data-attribute.mjs.map +1 -0
- package/dist/theme/local-storage/read-local-storage.cjs +22 -0
- package/dist/theme/local-storage/read-local-storage.cjs.map +1 -0
- package/dist/theme/local-storage/read-local-storage.d.cts +19 -0
- package/dist/theme/local-storage/read-local-storage.d.cts.map +1 -0
- package/dist/theme/local-storage/read-local-storage.d.mts +19 -0
- package/dist/theme/local-storage/read-local-storage.d.mts.map +1 -0
- package/dist/theme/local-storage/read-local-storage.mjs +22 -0
- package/dist/theme/local-storage/read-local-storage.mjs.map +1 -0
- package/dist/theme/local-storage/write-local-storage.cjs +26 -0
- package/dist/theme/local-storage/write-local-storage.cjs.map +1 -0
- package/dist/theme/local-storage/write-local-storage.d.cts +23 -0
- package/dist/theme/local-storage/write-local-storage.d.cts.map +1 -0
- package/dist/theme/local-storage/write-local-storage.d.mts +23 -0
- package/dist/theme/local-storage/write-local-storage.d.mts.map +1 -0
- package/dist/theme/local-storage/write-local-storage.mjs +26 -0
- package/dist/theme/local-storage/write-local-storage.mjs.map +1 -0
- package/dist/theme/prefers-color-scheme-theme/read-prefers-color-scheme-theme.cjs +20 -0
- package/dist/theme/prefers-color-scheme-theme/read-prefers-color-scheme-theme.cjs.map +1 -0
- package/dist/theme/prefers-color-scheme-theme/read-prefers-color-scheme-theme.d.cts +23 -0
- package/dist/theme/prefers-color-scheme-theme/read-prefers-color-scheme-theme.d.cts.map +1 -0
- package/dist/theme/prefers-color-scheme-theme/read-prefers-color-scheme-theme.d.mts +23 -0
- package/dist/theme/prefers-color-scheme-theme/read-prefers-color-scheme-theme.d.mts.map +1 -0
- package/dist/theme/prefers-color-scheme-theme/read-prefers-color-scheme-theme.mjs +20 -0
- package/dist/theme/prefers-color-scheme-theme/read-prefers-color-scheme-theme.mjs.map +1 -0
- package/dist/theme/prefers-color-scheme-theme/subscribe-prefers-color-scheme-theme.cjs +20 -0
- package/dist/theme/prefers-color-scheme-theme/subscribe-prefers-color-scheme-theme.cjs.map +1 -0
- package/dist/theme/prefers-color-scheme-theme/subscribe-prefers-color-scheme-theme.d.cts +20 -0
- package/dist/theme/prefers-color-scheme-theme/subscribe-prefers-color-scheme-theme.d.cts.map +1 -0
- package/dist/theme/prefers-color-scheme-theme/subscribe-prefers-color-scheme-theme.d.mts +20 -0
- package/dist/theme/prefers-color-scheme-theme/subscribe-prefers-color-scheme-theme.d.mts.map +1 -0
- package/dist/theme/prefers-color-scheme-theme/subscribe-prefers-color-scheme-theme.mjs +20 -0
- package/dist/theme/prefers-color-scheme-theme/subscribe-prefers-color-scheme-theme.mjs.map +1 -0
- package/dist/theme/session-storage/read-session-storage.cjs +22 -0
- package/dist/theme/session-storage/read-session-storage.cjs.map +1 -0
- package/dist/theme/session-storage/read-session-storage.d.cts +19 -0
- package/dist/theme/session-storage/read-session-storage.d.cts.map +1 -0
- package/dist/theme/session-storage/read-session-storage.d.mts +19 -0
- package/dist/theme/session-storage/read-session-storage.d.mts.map +1 -0
- package/dist/theme/session-storage/read-session-storage.mjs +22 -0
- package/dist/theme/session-storage/read-session-storage.mjs.map +1 -0
- package/dist/theme/session-storage/write-session-storage.cjs +26 -0
- package/dist/theme/session-storage/write-session-storage.cjs.map +1 -0
- package/dist/theme/session-storage/write-session-storage.d.cts +23 -0
- package/dist/theme/session-storage/write-session-storage.d.cts.map +1 -0
- package/dist/theme/session-storage/write-session-storage.d.mts +23 -0
- package/dist/theme/session-storage/write-session-storage.d.mts.map +1 -0
- package/dist/theme/session-storage/write-session-storage.mjs +26 -0
- package/dist/theme/session-storage/write-session-storage.mjs.map +1 -0
- package/dist/theme/theme-entry.types.d.cts +13 -1
- package/dist/theme/theme-entry.types.d.cts.map +1 -1
- package/dist/theme/theme-entry.types.d.mts +13 -1
- package/dist/theme/theme-entry.types.d.mts.map +1 -1
- package/dist/theme/theme-map.types.d.cts +11 -3
- package/dist/theme/theme-map.types.d.cts.map +1 -1
- package/dist/theme/theme-map.types.d.mts +11 -3
- package/dist/theme/theme-map.types.d.mts.map +1 -1
- package/dist/theme/theme-store/async-theme-store.types.d.cts +1 -1
- package/dist/theme/theme-store/async-theme-store.types.d.cts.map +1 -1
- package/dist/theme/theme-store/async-theme-store.types.d.mts +1 -1
- package/dist/theme/theme-store/async-theme-store.types.d.mts.map +1 -1
- package/dist/theme/theme-store/class-name-theme-store/class-name-theme-store.cjs +22 -19
- package/dist/theme/theme-store/class-name-theme-store/class-name-theme-store.cjs.map +1 -1
- package/dist/theme/theme-store/class-name-theme-store/class-name-theme-store.d.cts +7 -2
- package/dist/theme/theme-store/class-name-theme-store/class-name-theme-store.d.cts.map +1 -1
- package/dist/theme/theme-store/class-name-theme-store/class-name-theme-store.d.mts +7 -2
- package/dist/theme/theme-store/class-name-theme-store/class-name-theme-store.d.mts.map +1 -1
- package/dist/theme/theme-store/class-name-theme-store/class-name-theme-store.mjs +22 -19
- package/dist/theme/theme-store/class-name-theme-store/class-name-theme-store.mjs.map +1 -1
- package/dist/theme/theme-store/cookie-theme-store/cookie-theme-store.cjs +18 -36
- package/dist/theme/theme-store/cookie-theme-store/cookie-theme-store.cjs.map +1 -1
- package/dist/theme/theme-store/cookie-theme-store/cookie-theme-store.d.cts +5 -3
- package/dist/theme/theme-store/cookie-theme-store/cookie-theme-store.d.cts.map +1 -1
- package/dist/theme/theme-store/cookie-theme-store/cookie-theme-store.d.mts +5 -3
- package/dist/theme/theme-store/cookie-theme-store/cookie-theme-store.d.mts.map +1 -1
- package/dist/theme/theme-store/cookie-theme-store/cookie-theme-store.mjs +18 -36
- package/dist/theme/theme-store/cookie-theme-store/cookie-theme-store.mjs.map +1 -1
- package/dist/theme/theme-store/data-attribute-theme-store/data-attribute-theme-store.cjs +40 -20
- package/dist/theme/theme-store/data-attribute-theme-store/data-attribute-theme-store.cjs.map +1 -1
- package/dist/theme/theme-store/data-attribute-theme-store/data-attribute-theme-store.d.cts +30 -7
- package/dist/theme/theme-store/data-attribute-theme-store/data-attribute-theme-store.d.cts.map +1 -1
- package/dist/theme/theme-store/data-attribute-theme-store/data-attribute-theme-store.d.mts +30 -7
- package/dist/theme/theme-store/data-attribute-theme-store/data-attribute-theme-store.d.mts.map +1 -1
- package/dist/theme/theme-store/data-attribute-theme-store/data-attribute-theme-store.mjs +40 -20
- package/dist/theme/theme-store/data-attribute-theme-store/data-attribute-theme-store.mjs.map +1 -1
- package/dist/theme/theme-store/in-memory-theme-store/in-memory-theme-store.cjs +1 -1
- package/dist/theme/theme-store/in-memory-theme-store/in-memory-theme-store.cjs.map +1 -1
- package/dist/theme/theme-store/in-memory-theme-store/in-memory-theme-store.d.cts +1 -1
- package/dist/theme/theme-store/in-memory-theme-store/in-memory-theme-store.d.mts +1 -1
- package/dist/theme/theme-store/in-memory-theme-store/in-memory-theme-store.mjs +1 -1
- package/dist/theme/theme-store/in-memory-theme-store/in-memory-theme-store.mjs.map +1 -1
- package/dist/theme/theme-store/local-storage-theme-store/local-storage-theme-store.cjs +13 -12
- package/dist/theme/theme-store/local-storage-theme-store/local-storage-theme-store.cjs.map +1 -1
- package/dist/theme/theme-store/local-storage-theme-store/local-storage-theme-store.d.cts +8 -2
- package/dist/theme/theme-store/local-storage-theme-store/local-storage-theme-store.d.cts.map +1 -1
- package/dist/theme/theme-store/local-storage-theme-store/local-storage-theme-store.d.mts +8 -2
- package/dist/theme/theme-store/local-storage-theme-store/local-storage-theme-store.d.mts.map +1 -1
- package/dist/theme/theme-store/local-storage-theme-store/local-storage-theme-store.mjs +13 -12
- package/dist/theme/theme-store/local-storage-theme-store/local-storage-theme-store.mjs.map +1 -1
- package/dist/theme/theme-store/prefers-color-scheme-theme-store/prefers-color-scheme-theme-store.cjs +4 -5
- package/dist/theme/theme-store/prefers-color-scheme-theme-store/prefers-color-scheme-theme-store.cjs.map +1 -1
- package/dist/theme/theme-store/prefers-color-scheme-theme-store/prefers-color-scheme-theme-store.d.cts.map +1 -1
- package/dist/theme/theme-store/prefers-color-scheme-theme-store/prefers-color-scheme-theme-store.d.mts.map +1 -1
- package/dist/theme/theme-store/prefers-color-scheme-theme-store/prefers-color-scheme-theme-store.mjs +4 -5
- package/dist/theme/theme-store/prefers-color-scheme-theme-store/prefers-color-scheme-theme-store.mjs.map +1 -1
- package/dist/theme/theme-store/session-storage-theme-store/session-storage-theme-store.cjs +13 -12
- package/dist/theme/theme-store/session-storage-theme-store/session-storage-theme-store.cjs.map +1 -1
- package/dist/theme/theme-store/session-storage-theme-store/session-storage-theme-store.d.cts +8 -2
- package/dist/theme/theme-store/session-storage-theme-store/session-storage-theme-store.d.cts.map +1 -1
- package/dist/theme/theme-store/session-storage-theme-store/session-storage-theme-store.d.mts +8 -2
- package/dist/theme/theme-store/session-storage-theme-store/session-storage-theme-store.d.mts.map +1 -1
- package/dist/theme/theme-store/session-storage-theme-store/session-storage-theme-store.mjs +13 -12
- package/dist/theme/theme-store/session-storage-theme-store/session-storage-theme-store.mjs.map +1 -1
- package/dist/theme/theme-store/theme-store.types.d.cts +1 -1
- package/dist/theme/theme-store/theme-store.types.d.cts.map +1 -1
- package/dist/theme/theme-store/theme-store.types.d.mts +1 -1
- package/dist/theme/theme-store/theme-store.types.d.mts.map +1 -1
- package/dist/theme/web-storage/read-web-storage.cjs +20 -0
- package/dist/theme/web-storage/read-web-storage.cjs.map +1 -0
- package/dist/theme/web-storage/read-web-storage.d.cts +21 -0
- package/dist/theme/web-storage/read-web-storage.d.cts.map +1 -0
- package/dist/theme/web-storage/read-web-storage.d.mts +21 -0
- package/dist/theme/web-storage/read-web-storage.d.mts.map +1 -0
- package/dist/theme/web-storage/read-web-storage.mjs +20 -0
- package/dist/theme/web-storage/read-web-storage.mjs.map +1 -0
- package/dist/theme/web-storage/write-web-storage.cjs +33 -0
- package/dist/theme/web-storage/write-web-storage.cjs.map +1 -0
- package/dist/theme/web-storage/write-web-storage.d.cts +25 -0
- package/dist/theme/web-storage/write-web-storage.d.cts.map +1 -0
- package/dist/theme/web-storage/write-web-storage.d.mts +25 -0
- package/dist/theme/web-storage/write-web-storage.d.mts.map +1 -0
- package/dist/theme/web-storage/write-web-storage.mjs +32 -0
- package/dist/theme/web-storage/write-web-storage.mjs.map +1 -0
- package/dist/theme.cjs +41 -1
- package/dist/theme.d.cts +23 -3
- package/dist/theme.d.mts +23 -3
- package/dist/theme.mjs +21 -1
- package/dist/utils/append-id.cjs +2 -2
- package/dist/utils/append-id.cjs.map +1 -1
- package/dist/utils/append-id.d.cts +3 -3
- package/dist/utils/append-id.d.mts +3 -3
- package/dist/utils/append-id.mjs +2 -2
- package/dist/utils/append-id.mjs.map +1 -1
- package/package.json +1 -1
- package/src/attributes/get-attribute.ts +5 -2
- package/src/attributes/get-data-attribute.ts +5 -2
- package/src/attributes/observe-attribute.ts +2 -2
- package/src/attributes/observe-data-attribute.ts +2 -2
- package/src/color-scheme/color-scheme.types.ts +7 -0
- package/src/color-scheme/get-prefers-color-scheme.ts +6 -4
- package/src/color-scheme/observe-prefers-color-scheme.ts +3 -1
- package/src/index.ts +1 -0
- package/src/react/hooks/use-attribute.ts +11 -11
- package/src/react/hooks/use-theme-by-class-name.ts +5 -10
- package/src/react/hooks/use-theme-by-data-attribute.ts +5 -12
- package/src/react/hooks/use-theme-by-local-storage.ts +3 -9
- package/src/react/theme/create-theme-hook.ts +4 -6
- package/src/testing/theme/theme-result-card.tsx +1 -0
- package/src/theme/_utils/match-attribute-value-to-theme.ts +36 -0
- package/src/theme/_utils/parse-stored-theme.ts +51 -11
- package/src/theme/_utils/resolve-theme-map-value.ts +15 -0
- package/src/theme/_utils/set-theme-to-stores.ts +3 -3
- package/src/theme/class-name/parse-class-name.ts +31 -0
- package/src/theme/class-name/read-class-name.ts +24 -0
- package/src/theme/class-name/stringify-class-name.ts +36 -0
- package/src/theme/class-name/subscribe-class-name.ts +39 -0
- package/src/theme/class-name/write-class-name.ts +24 -0
- package/src/theme/compose-theme-stores.ts +1 -1
- package/src/theme/cookie/_cookie-utils.ts +45 -0
- package/src/theme/cookie/read-cookie-theme.ts +33 -0
- package/src/theme/cookie/write-cookie-theme.ts +48 -0
- package/src/theme/data-attribute/_constant.ts +1 -0
- package/src/theme/data-attribute/parse-data-attribute.ts +25 -0
- package/src/theme/data-attribute/read-data-attribute.ts +29 -0
- package/src/theme/data-attribute/stringify-data-attribute.ts +39 -0
- package/src/theme/data-attribute/subscribe-data-attribute.ts +39 -0
- package/src/theme/data-attribute/write-data-attribute.ts +40 -0
- package/src/theme/local-storage/read-local-storage.ts +23 -0
- package/src/theme/local-storage/write-local-storage.ts +31 -0
- package/src/theme/prefers-color-scheme-theme/read-prefers-color-scheme-theme.ts +30 -0
- package/src/theme/prefers-color-scheme-theme/subscribe-prefers-color-scheme-theme.ts +24 -0
- package/src/theme/session-storage/read-session-storage.ts +23 -0
- package/src/theme/session-storage/write-session-storage.ts +31 -0
- package/src/theme/theme-entry.types.ts +21 -0
- package/src/theme/theme-map.types.ts +9 -2
- package/src/theme/theme-store/async-theme-store.types.ts +1 -3
- package/src/theme/theme-store/class-name-theme-store/class-name-theme-store.ts +20 -26
- package/src/theme/theme-store/cookie-theme-store/cookie-theme-store.ts +18 -63
- package/src/theme/theme-store/data-attribute-theme-store/data-attribute-theme-store.ts +42 -29
- package/src/theme/theme-store/in-memory-theme-store/in-memory-theme-store.ts +1 -1
- package/src/theme/theme-store/local-storage-theme-store/local-storage-theme-store.ts +17 -20
- package/src/theme/theme-store/prefers-color-scheme-theme-store/prefers-color-scheme-theme-store.ts +4 -5
- package/src/theme/theme-store/session-storage-theme-store/session-storage-theme-store.ts +17 -20
- package/src/theme/theme-store/theme-store.types.ts +1 -3
- package/src/theme/web-storage/read-web-storage.ts +22 -0
- package/src/theme/web-storage/write-web-storage.ts +46 -0
- package/src/theme.ts +20 -0
- package/src/utils/append-id.ts +3 -3
- package/dist/theme/class-name/apply-theme-to-class-name.cjs +0 -23
- package/dist/theme/class-name/apply-theme-to-class-name.cjs.map +0 -1
- package/dist/theme/class-name/apply-theme-to-class-name.mjs +0 -22
- package/dist/theme/class-name/apply-theme-to-class-name.mjs.map +0 -1
- package/dist/theme/class-name/resolve-theme-from-class-name.cjs +0 -23
- package/dist/theme/class-name/resolve-theme-from-class-name.cjs.map +0 -1
- package/dist/theme/class-name/resolve-theme-from-class-name.mjs +0 -22
- package/dist/theme/class-name/resolve-theme-from-class-name.mjs.map +0 -1
- package/dist/theme/data-attribute/apply-theme-to-data-attribute.cjs +0 -23
- package/dist/theme/data-attribute/apply-theme-to-data-attribute.cjs.map +0 -1
- package/dist/theme/data-attribute/apply-theme-to-data-attribute.mjs +0 -22
- package/dist/theme/data-attribute/apply-theme-to-data-attribute.mjs.map +0 -1
- package/dist/theme/data-attribute/resolve-theme-from-data-attribute.cjs +0 -23
- package/dist/theme/data-attribute/resolve-theme-from-data-attribute.cjs.map +0 -1
- package/dist/theme/data-attribute/resolve-theme-from-data-attribute.mjs +0 -22
- package/dist/theme/data-attribute/resolve-theme-from-data-attribute.mjs.map +0 -1
- package/src/theme/class-name/apply-theme-to-class-name.ts +0 -26
- package/src/theme/class-name/resolve-theme-from-class-name.ts +0 -22
- package/src/theme/data-attribute/apply-theme-to-data-attribute.ts +0 -27
- package/src/theme/data-attribute/resolve-theme-from-data-attribute.ts +0 -23
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { getPrefersColorScheme } from "../../color-scheme/get-prefers-color-scheme.mjs";
|
|
2
|
+
import { themeEntry } from "../theme-entry.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/theme/prefers-color-scheme-theme/read-prefers-color-scheme-theme.ts
|
|
5
|
+
/**
|
|
6
|
+
* Reads a theme entry from the system `prefers-color-scheme` media query.
|
|
7
|
+
*
|
|
8
|
+
* Themes must only include `light` and `dark` keys—this mirrors the system preference.
|
|
9
|
+
*
|
|
10
|
+
* @param themes - Record with `light` and `dark` keys mapping to theme values
|
|
11
|
+
* @param options.defaultColorScheme - Fallback when matchMedia is unavailable (e.g. SSR, default: 'light')
|
|
12
|
+
* @returns ThemeEntry for current system preference
|
|
13
|
+
*/
|
|
14
|
+
function readPrefersColorSchemeTheme(themes, options) {
|
|
15
|
+
return themeEntry(themes, getPrefersColorScheme(options?.defaultColorScheme ?? "light"));
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { readPrefersColorSchemeTheme };
|
|
20
|
+
//# sourceMappingURL=read-prefers-color-scheme-theme.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-prefers-color-scheme-theme.mjs","names":[],"sources":["../../../src/theme/prefers-color-scheme-theme/read-prefers-color-scheme-theme.ts"],"sourcesContent":["import { getPrefersColorScheme } from '../../color-scheme/get-prefers-color-scheme.ts'\nimport { themeEntry } from '../theme-entry.ts'\nimport type { ThemeEntry } from '../theme-entry.types.ts'\n\ntype PrefersColorSchemeThemes = {\n\tlight: string | readonly string[]\n\tdark: string | readonly string[]\n}\n\nexport interface ReadPrefersColorSchemeThemeOptions {\n\tdefaultColorScheme?: 'light' | 'dark' | undefined\n}\n\n/**\n * Reads a theme entry from the system `prefers-color-scheme` media query.\n *\n * Themes must only include `light` and `dark` keys—this mirrors the system preference.\n *\n * @param themes - Record with `light` and `dark` keys mapping to theme values\n * @param options.defaultColorScheme - Fallback when matchMedia is unavailable (e.g. SSR, default: 'light')\n * @returns ThemeEntry for current system preference\n */\nexport function readPrefersColorSchemeTheme<Themes extends PrefersColorSchemeThemes>(\n\tthemes: Themes,\n\toptions?: ReadPrefersColorSchemeThemeOptions | undefined\n): ThemeEntry<Themes> {\n\tconst defaultColorScheme = options?.defaultColorScheme ?? 'light'\n\tconst scheme = getPrefersColorScheme(defaultColorScheme)\n\treturn themeEntry(themes, scheme)\n}\n"],"mappings":";;;;;;;;;;;;;AAsBA,SAAgB,4BACf,QACA,SACqB;AAGrB,QAAO,WAAW,QADH,sBADY,SAAS,sBAAsB,QACF,CACvB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const require_observe_prefers_color_scheme = require('../../color-scheme/observe-prefers-color-scheme.cjs');
|
|
2
|
+
const require_theme_entry = require('../theme-entry.cjs');
|
|
3
|
+
|
|
4
|
+
//#region src/theme/prefers-color-scheme-theme/subscribe-prefers-color-scheme-theme.ts
|
|
5
|
+
/**
|
|
6
|
+
* Subscribes to system `prefers-color-scheme` changes and invokes the handler with theme entries.
|
|
7
|
+
*
|
|
8
|
+
* Themes must only include `light` and `dark` keys—this mirrors the system preference.
|
|
9
|
+
*
|
|
10
|
+
* @param themes - Record with `light` and `dark` keys mapping to theme values
|
|
11
|
+
* @param handler - Callback invoked when the color scheme preference changes
|
|
12
|
+
* @returns Unsubscribe function
|
|
13
|
+
*/
|
|
14
|
+
function subscribePrefersColorSchemeTheme(themes, handler) {
|
|
15
|
+
return require_observe_prefers_color_scheme.observePrefersColorScheme((scheme) => handler(require_theme_entry.themeEntry(themes, scheme)));
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
exports.subscribePrefersColorSchemeTheme = subscribePrefersColorSchemeTheme;
|
|
20
|
+
//# sourceMappingURL=subscribe-prefers-color-scheme-theme.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscribe-prefers-color-scheme-theme.cjs","names":["observePrefersColorScheme","themeEntry"],"sources":["../../../src/theme/prefers-color-scheme-theme/subscribe-prefers-color-scheme-theme.ts"],"sourcesContent":["import { observePrefersColorScheme } from '../../color-scheme/observe-prefers-color-scheme.ts'\nimport { themeEntry } from '../theme-entry.ts'\nimport type { ThemeEntry } from '../theme-entry.types.ts'\n\ntype PrefersColorSchemeThemes = {\n\tlight: string | readonly string[]\n\tdark: string | readonly string[]\n}\n\n/**\n * Subscribes to system `prefers-color-scheme` changes and invokes the handler with theme entries.\n *\n * Themes must only include `light` and `dark` keys—this mirrors the system preference.\n *\n * @param themes - Record with `light` and `dark` keys mapping to theme values\n * @param handler - Callback invoked when the color scheme preference changes\n * @returns Unsubscribe function\n */\nexport function subscribePrefersColorSchemeTheme<Themes extends PrefersColorSchemeThemes>(\n\tthemes: Themes,\n\thandler: (entry: ThemeEntry<Themes>) => void\n): () => void {\n\treturn observePrefersColorScheme((scheme) => handler(themeEntry(themes, scheme)))\n}\n"],"mappings":";;;;;;;;;;;;;AAkBA,SAAgB,iCACf,QACA,SACa;AACb,QAAOA,gEAA2B,WAAW,QAAQC,+BAAW,QAAQ,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ThemeEntry } from "../theme-entry.types.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/theme/prefers-color-scheme-theme/subscribe-prefers-color-scheme-theme.d.ts
|
|
4
|
+
type PrefersColorSchemeThemes = {
|
|
5
|
+
light: string | readonly string[];
|
|
6
|
+
dark: string | readonly string[];
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Subscribes to system `prefers-color-scheme` changes and invokes the handler with theme entries.
|
|
10
|
+
*
|
|
11
|
+
* Themes must only include `light` and `dark` keys—this mirrors the system preference.
|
|
12
|
+
*
|
|
13
|
+
* @param themes - Record with `light` and `dark` keys mapping to theme values
|
|
14
|
+
* @param handler - Callback invoked when the color scheme preference changes
|
|
15
|
+
* @returns Unsubscribe function
|
|
16
|
+
*/
|
|
17
|
+
declare function subscribePrefersColorSchemeTheme<Themes extends PrefersColorSchemeThemes>(themes: Themes, handler: (entry: ThemeEntry<Themes>) => void): () => void;
|
|
18
|
+
//#endregion
|
|
19
|
+
export { subscribePrefersColorSchemeTheme };
|
|
20
|
+
//# sourceMappingURL=subscribe-prefers-color-scheme-theme.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscribe-prefers-color-scheme-theme.d.cts","names":[],"sources":["../../../src/theme/prefers-color-scheme-theme/subscribe-prefers-color-scheme-theme.ts"],"sourcesContent":[],"mappings":";;;KAIK,wBAAA;;EAAA,IAAA,EAAA,MAAA,GAAA,SAAA,MAAwB,EAAA;AAc7B,CAAA;;;;;;;;;;iBAAgB,gDAAgD,kCACvD,yBACS,WAAW"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ThemeEntry } from "../theme-entry.types.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/theme/prefers-color-scheme-theme/subscribe-prefers-color-scheme-theme.d.ts
|
|
4
|
+
type PrefersColorSchemeThemes = {
|
|
5
|
+
light: string | readonly string[];
|
|
6
|
+
dark: string | readonly string[];
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Subscribes to system `prefers-color-scheme` changes and invokes the handler with theme entries.
|
|
10
|
+
*
|
|
11
|
+
* Themes must only include `light` and `dark` keys—this mirrors the system preference.
|
|
12
|
+
*
|
|
13
|
+
* @param themes - Record with `light` and `dark` keys mapping to theme values
|
|
14
|
+
* @param handler - Callback invoked when the color scheme preference changes
|
|
15
|
+
* @returns Unsubscribe function
|
|
16
|
+
*/
|
|
17
|
+
declare function subscribePrefersColorSchemeTheme<Themes extends PrefersColorSchemeThemes>(themes: Themes, handler: (entry: ThemeEntry<Themes>) => void): () => void;
|
|
18
|
+
//#endregion
|
|
19
|
+
export { subscribePrefersColorSchemeTheme };
|
|
20
|
+
//# sourceMappingURL=subscribe-prefers-color-scheme-theme.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscribe-prefers-color-scheme-theme.d.mts","names":[],"sources":["../../../src/theme/prefers-color-scheme-theme/subscribe-prefers-color-scheme-theme.ts"],"sourcesContent":[],"mappings":";;;KAIK,wBAAA;;EAAA,IAAA,EAAA,MAAA,GAAA,SAAA,MAAwB,EAAA;AAc7B,CAAA;;;;;;;;;;iBAAgB,gDAAgD,kCACvD,yBACS,WAAW"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { observePrefersColorScheme } from "../../color-scheme/observe-prefers-color-scheme.mjs";
|
|
2
|
+
import { themeEntry } from "../theme-entry.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/theme/prefers-color-scheme-theme/subscribe-prefers-color-scheme-theme.ts
|
|
5
|
+
/**
|
|
6
|
+
* Subscribes to system `prefers-color-scheme` changes and invokes the handler with theme entries.
|
|
7
|
+
*
|
|
8
|
+
* Themes must only include `light` and `dark` keys—this mirrors the system preference.
|
|
9
|
+
*
|
|
10
|
+
* @param themes - Record with `light` and `dark` keys mapping to theme values
|
|
11
|
+
* @param handler - Callback invoked when the color scheme preference changes
|
|
12
|
+
* @returns Unsubscribe function
|
|
13
|
+
*/
|
|
14
|
+
function subscribePrefersColorSchemeTheme(themes, handler) {
|
|
15
|
+
return observePrefersColorScheme((scheme) => handler(themeEntry(themes, scheme)));
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { subscribePrefersColorSchemeTheme };
|
|
20
|
+
//# sourceMappingURL=subscribe-prefers-color-scheme-theme.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscribe-prefers-color-scheme-theme.mjs","names":[],"sources":["../../../src/theme/prefers-color-scheme-theme/subscribe-prefers-color-scheme-theme.ts"],"sourcesContent":["import { observePrefersColorScheme } from '../../color-scheme/observe-prefers-color-scheme.ts'\nimport { themeEntry } from '../theme-entry.ts'\nimport type { ThemeEntry } from '../theme-entry.types.ts'\n\ntype PrefersColorSchemeThemes = {\n\tlight: string | readonly string[]\n\tdark: string | readonly string[]\n}\n\n/**\n * Subscribes to system `prefers-color-scheme` changes and invokes the handler with theme entries.\n *\n * Themes must only include `light` and `dark` keys—this mirrors the system preference.\n *\n * @param themes - Record with `light` and `dark` keys mapping to theme values\n * @param handler - Callback invoked when the color scheme preference changes\n * @returns Unsubscribe function\n */\nexport function subscribePrefersColorSchemeTheme<Themes extends PrefersColorSchemeThemes>(\n\tthemes: Themes,\n\thandler: (entry: ThemeEntry<Themes>) => void\n): () => void {\n\treturn observePrefersColorScheme((scheme) => handler(themeEntry(themes, scheme)))\n}\n"],"mappings":";;;;;;;;;;;;;AAkBA,SAAgB,iCACf,QACA,SACa;AACb,QAAO,2BAA2B,WAAW,QAAQ,WAAW,QAAQ,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const require_read_web_storage = require('../web-storage/read-web-storage.cjs');
|
|
2
|
+
|
|
3
|
+
//#region src/theme/session-storage/read-session-storage.ts
|
|
4
|
+
/**
|
|
5
|
+
* Reads a theme entry from sessionStorage.
|
|
6
|
+
*
|
|
7
|
+
* @param themes - Record mapping theme keys to values (for validation)
|
|
8
|
+
* @param storageKey - sessionStorage key to read from
|
|
9
|
+
* @param options.parse - Custom parser (default: parseStoredTheme)
|
|
10
|
+
* @returns ThemeEntry if found, undefined otherwise. Returns undefined when sessionStorage is unavailable (e.g. SSR).
|
|
11
|
+
*/
|
|
12
|
+
function readSessionStorage(themes, storageKey, options) {
|
|
13
|
+
if (!window?.sessionStorage) return void 0;
|
|
14
|
+
return require_read_web_storage.readWebStorage(themes, storageKey, {
|
|
15
|
+
storage: window.sessionStorage,
|
|
16
|
+
parse: options?.parse
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
//#endregion
|
|
21
|
+
exports.readSessionStorage = readSessionStorage;
|
|
22
|
+
//# sourceMappingURL=read-session-storage.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-session-storage.cjs","names":["readWebStorage"],"sources":["../../../src/theme/session-storage/read-session-storage.ts"],"sourcesContent":["import type { ParseStoredTheme, ThemeEntry } from '../theme-entry.types.ts'\nimport type { ThemeMap } from '../theme-map.types.ts'\nimport { readWebStorage } from '../web-storage/read-web-storage.ts'\n\n/**\n * Reads a theme entry from sessionStorage.\n *\n * @param themes - Record mapping theme keys to values (for validation)\n * @param storageKey - sessionStorage key to read from\n * @param options.parse - Custom parser (default: parseStoredTheme)\n * @returns ThemeEntry if found, undefined otherwise. Returns undefined when sessionStorage is unavailable (e.g. SSR).\n */\nexport function readSessionStorage<Themes extends ThemeMap>(\n\tthemes: Themes,\n\tstorageKey: string,\n\toptions?: { parse?: ParseStoredTheme<Themes> | undefined }\n): ThemeEntry<Themes> | undefined {\n\tif (!window?.sessionStorage) return undefined\n\treturn readWebStorage(themes, storageKey, {\n\t\tstorage: window.sessionStorage,\n\t\tparse: options?.parse\n\t})\n}\n"],"mappings":";;;;;;;;;;;AAYA,SAAgB,mBACf,QACA,YACA,SACiC;AACjC,KAAI,CAAC,QAAQ,eAAgB,QAAO;AACpC,QAAOA,wCAAe,QAAQ,YAAY;EACzC,SAAS,OAAO;EAChB,OAAO,SAAS;EAChB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ThemeMap } from "../theme-map.types.cjs";
|
|
2
|
+
import { ParseStoredTheme, ThemeEntry } from "../theme-entry.types.cjs";
|
|
3
|
+
|
|
4
|
+
//#region src/theme/session-storage/read-session-storage.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Reads a theme entry from sessionStorage.
|
|
8
|
+
*
|
|
9
|
+
* @param themes - Record mapping theme keys to values (for validation)
|
|
10
|
+
* @param storageKey - sessionStorage key to read from
|
|
11
|
+
* @param options.parse - Custom parser (default: parseStoredTheme)
|
|
12
|
+
* @returns ThemeEntry if found, undefined otherwise. Returns undefined when sessionStorage is unavailable (e.g. SSR).
|
|
13
|
+
*/
|
|
14
|
+
declare function readSessionStorage<Themes extends ThemeMap>(themes: Themes, storageKey: string, options?: {
|
|
15
|
+
parse?: ParseStoredTheme<Themes> | undefined;
|
|
16
|
+
}): ThemeEntry<Themes> | undefined;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { readSessionStorage };
|
|
19
|
+
//# sourceMappingURL=read-session-storage.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-session-storage.d.cts","names":[],"sources":["../../../src/theme/session-storage/read-session-storage.ts"],"sourcesContent":[],"mappings":";;;;;;;AAYA;;;;;;AAIG,iBAJa,kBAIb,CAAA,eAJ+C,QAI/C,CAAA,CAAA,MAAA,EAHM,MAGN,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA;EAAU,KAAA,CAAA,EADQ,gBACR,CADyB,MACzB,CAAA,GAAA,SAAA;IAAV,WAAW"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ThemeMap } from "../theme-map.types.mjs";
|
|
2
|
+
import { ParseStoredTheme, ThemeEntry } from "../theme-entry.types.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/theme/session-storage/read-session-storage.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Reads a theme entry from sessionStorage.
|
|
8
|
+
*
|
|
9
|
+
* @param themes - Record mapping theme keys to values (for validation)
|
|
10
|
+
* @param storageKey - sessionStorage key to read from
|
|
11
|
+
* @param options.parse - Custom parser (default: parseStoredTheme)
|
|
12
|
+
* @returns ThemeEntry if found, undefined otherwise. Returns undefined when sessionStorage is unavailable (e.g. SSR).
|
|
13
|
+
*/
|
|
14
|
+
declare function readSessionStorage<Themes extends ThemeMap>(themes: Themes, storageKey: string, options?: {
|
|
15
|
+
parse?: ParseStoredTheme<Themes> | undefined;
|
|
16
|
+
}): ThemeEntry<Themes> | undefined;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { readSessionStorage };
|
|
19
|
+
//# sourceMappingURL=read-session-storage.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-session-storage.d.mts","names":[],"sources":["../../../src/theme/session-storage/read-session-storage.ts"],"sourcesContent":[],"mappings":";;;;;;;AAYA;;;;;;AAIG,iBAJa,kBAIb,CAAA,eAJ+C,QAI/C,CAAA,CAAA,MAAA,EAHM,MAGN,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA;EAAU,KAAA,CAAA,EADQ,gBACR,CADyB,MACzB,CAAA,GAAA,SAAA;IAAV,WAAW"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { readWebStorage } from "../web-storage/read-web-storage.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/theme/session-storage/read-session-storage.ts
|
|
4
|
+
/**
|
|
5
|
+
* Reads a theme entry from sessionStorage.
|
|
6
|
+
*
|
|
7
|
+
* @param themes - Record mapping theme keys to values (for validation)
|
|
8
|
+
* @param storageKey - sessionStorage key to read from
|
|
9
|
+
* @param options.parse - Custom parser (default: parseStoredTheme)
|
|
10
|
+
* @returns ThemeEntry if found, undefined otherwise. Returns undefined when sessionStorage is unavailable (e.g. SSR).
|
|
11
|
+
*/
|
|
12
|
+
function readSessionStorage(themes, storageKey, options) {
|
|
13
|
+
if (!window?.sessionStorage) return void 0;
|
|
14
|
+
return readWebStorage(themes, storageKey, {
|
|
15
|
+
storage: window.sessionStorage,
|
|
16
|
+
parse: options?.parse
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
//#endregion
|
|
21
|
+
export { readSessionStorage };
|
|
22
|
+
//# sourceMappingURL=read-session-storage.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-session-storage.mjs","names":[],"sources":["../../../src/theme/session-storage/read-session-storage.ts"],"sourcesContent":["import type { ParseStoredTheme, ThemeEntry } from '../theme-entry.types.ts'\nimport type { ThemeMap } from '../theme-map.types.ts'\nimport { readWebStorage } from '../web-storage/read-web-storage.ts'\n\n/**\n * Reads a theme entry from sessionStorage.\n *\n * @param themes - Record mapping theme keys to values (for validation)\n * @param storageKey - sessionStorage key to read from\n * @param options.parse - Custom parser (default: parseStoredTheme)\n * @returns ThemeEntry if found, undefined otherwise. Returns undefined when sessionStorage is unavailable (e.g. SSR).\n */\nexport function readSessionStorage<Themes extends ThemeMap>(\n\tthemes: Themes,\n\tstorageKey: string,\n\toptions?: { parse?: ParseStoredTheme<Themes> | undefined }\n): ThemeEntry<Themes> | undefined {\n\tif (!window?.sessionStorage) return undefined\n\treturn readWebStorage(themes, storageKey, {\n\t\tstorage: window.sessionStorage,\n\t\tparse: options?.parse\n\t})\n}\n"],"mappings":";;;;;;;;;;;AAYA,SAAgB,mBACf,QACA,YACA,SACiC;AACjC,KAAI,CAAC,QAAQ,eAAgB,QAAO;AACpC,QAAO,eAAe,QAAQ,YAAY;EACzC,SAAS,OAAO;EAChB,OAAO,SAAS;EAChB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const require_write_web_storage = require('../web-storage/write-web-storage.cjs');
|
|
2
|
+
|
|
3
|
+
//#region src/theme/session-storage/write-session-storage.ts
|
|
4
|
+
/**
|
|
5
|
+
* Writes a theme entry to sessionStorage.
|
|
6
|
+
*
|
|
7
|
+
* Performs setItem/removeItem only. Does not notify subscribers; the store must call notify() after this.
|
|
8
|
+
*
|
|
9
|
+
* @param themes - Record mapping theme keys to values (used by stringify)
|
|
10
|
+
* @param storageKey - sessionStorage key to write to
|
|
11
|
+
* @param entry - Theme entry to write, or null/undefined to remove
|
|
12
|
+
* @param options.stringify - Custom serializer (default: JSON.stringify)
|
|
13
|
+
* @param options.onError - Optional callback invoked when storage write throws
|
|
14
|
+
*/
|
|
15
|
+
function writeSessionStorage(themes, storageKey, entry, options) {
|
|
16
|
+
if (!window?.sessionStorage) return;
|
|
17
|
+
require_write_web_storage.writeWebStorage(themes, storageKey, entry, {
|
|
18
|
+
storage: window.sessionStorage,
|
|
19
|
+
stringify: options?.stringify,
|
|
20
|
+
onError: options?.onError
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
//#endregion
|
|
25
|
+
exports.writeSessionStorage = writeSessionStorage;
|
|
26
|
+
//# sourceMappingURL=write-session-storage.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-session-storage.cjs","names":[],"sources":["../../../src/theme/session-storage/write-session-storage.ts"],"sourcesContent":["import type { StringifyStoredTheme, ThemeEntry } from '../theme-entry.types.ts'\nimport type { ThemeMap } from '../theme-map.types.ts'\nimport { writeWebStorage } from '../web-storage/write-web-storage.ts'\n\n/**\n * Writes a theme entry to sessionStorage.\n *\n * Performs setItem/removeItem only. Does not notify subscribers; the store must call notify() after this.\n *\n * @param themes - Record mapping theme keys to values (used by stringify)\n * @param storageKey - sessionStorage key to write to\n * @param entry - Theme entry to write, or null/undefined to remove\n * @param options.stringify - Custom serializer (default: JSON.stringify)\n * @param options.onError - Optional callback invoked when storage write throws\n */\nexport function writeSessionStorage<Themes extends ThemeMap>(\n\tthemes: Themes,\n\tstorageKey: string,\n\tentry: ThemeEntry<Themes> | null | undefined,\n\toptions?: {\n\t\tstringify?: StringifyStoredTheme<Themes> | undefined\n\t\tonError?: ((error: unknown) => void) | undefined\n\t}\n): void {\n\tif (!window?.sessionStorage) return\n\twriteWebStorage(themes, storageKey, entry, {\n\t\tstorage: window.sessionStorage,\n\t\tstringify: options?.stringify,\n\t\tonError: options?.onError\n\t})\n}\n"],"mappings":";;;;;;;;;;;;;;AAeA,SAAgB,oBACf,QACA,YACA,OACA,SAIO;AACP,KAAI,CAAC,QAAQ,eAAgB;AAC7B,2CAAgB,QAAQ,YAAY,OAAO;EAC1C,SAAS,OAAO;EAChB,WAAW,SAAS;EACpB,SAAS,SAAS;EAClB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ThemeMap } from "../theme-map.types.cjs";
|
|
2
|
+
import { StringifyStoredTheme, ThemeEntry } from "../theme-entry.types.cjs";
|
|
3
|
+
|
|
4
|
+
//#region src/theme/session-storage/write-session-storage.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Writes a theme entry to sessionStorage.
|
|
8
|
+
*
|
|
9
|
+
* Performs setItem/removeItem only. Does not notify subscribers; the store must call notify() after this.
|
|
10
|
+
*
|
|
11
|
+
* @param themes - Record mapping theme keys to values (used by stringify)
|
|
12
|
+
* @param storageKey - sessionStorage key to write to
|
|
13
|
+
* @param entry - Theme entry to write, or null/undefined to remove
|
|
14
|
+
* @param options.stringify - Custom serializer (default: JSON.stringify)
|
|
15
|
+
* @param options.onError - Optional callback invoked when storage write throws
|
|
16
|
+
*/
|
|
17
|
+
declare function writeSessionStorage<Themes extends ThemeMap>(themes: Themes, storageKey: string, entry: ThemeEntry<Themes> | null | undefined, options?: {
|
|
18
|
+
stringify?: StringifyStoredTheme<Themes> | undefined;
|
|
19
|
+
onError?: ((error: unknown) => void) | undefined;
|
|
20
|
+
}): void;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { writeSessionStorage };
|
|
23
|
+
//# sourceMappingURL=write-session-storage.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-session-storage.d.cts","names":[],"sources":["../../../src/theme/session-storage/write-session-storage.ts"],"sourcesContent":[],"mappings":";;;;;;;AAeA;;;;;;;;;iBAAgB,mCAAmC,kBAC1C,mCAED,WAAW;cAEL,qBAAqB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ThemeMap } from "../theme-map.types.mjs";
|
|
2
|
+
import { StringifyStoredTheme, ThemeEntry } from "../theme-entry.types.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/theme/session-storage/write-session-storage.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Writes a theme entry to sessionStorage.
|
|
8
|
+
*
|
|
9
|
+
* Performs setItem/removeItem only. Does not notify subscribers; the store must call notify() after this.
|
|
10
|
+
*
|
|
11
|
+
* @param themes - Record mapping theme keys to values (used by stringify)
|
|
12
|
+
* @param storageKey - sessionStorage key to write to
|
|
13
|
+
* @param entry - Theme entry to write, or null/undefined to remove
|
|
14
|
+
* @param options.stringify - Custom serializer (default: JSON.stringify)
|
|
15
|
+
* @param options.onError - Optional callback invoked when storage write throws
|
|
16
|
+
*/
|
|
17
|
+
declare function writeSessionStorage<Themes extends ThemeMap>(themes: Themes, storageKey: string, entry: ThemeEntry<Themes> | null | undefined, options?: {
|
|
18
|
+
stringify?: StringifyStoredTheme<Themes> | undefined;
|
|
19
|
+
onError?: ((error: unknown) => void) | undefined;
|
|
20
|
+
}): void;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { writeSessionStorage };
|
|
23
|
+
//# sourceMappingURL=write-session-storage.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-session-storage.d.mts","names":[],"sources":["../../../src/theme/session-storage/write-session-storage.ts"],"sourcesContent":[],"mappings":";;;;;;;AAeA;;;;;;;;;iBAAgB,mCAAmC,kBAC1C,mCAED,WAAW;cAEL,qBAAqB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { writeWebStorage } from "../web-storage/write-web-storage.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/theme/session-storage/write-session-storage.ts
|
|
4
|
+
/**
|
|
5
|
+
* Writes a theme entry to sessionStorage.
|
|
6
|
+
*
|
|
7
|
+
* Performs setItem/removeItem only. Does not notify subscribers; the store must call notify() after this.
|
|
8
|
+
*
|
|
9
|
+
* @param themes - Record mapping theme keys to values (used by stringify)
|
|
10
|
+
* @param storageKey - sessionStorage key to write to
|
|
11
|
+
* @param entry - Theme entry to write, or null/undefined to remove
|
|
12
|
+
* @param options.stringify - Custom serializer (default: JSON.stringify)
|
|
13
|
+
* @param options.onError - Optional callback invoked when storage write throws
|
|
14
|
+
*/
|
|
15
|
+
function writeSessionStorage(themes, storageKey, entry, options) {
|
|
16
|
+
if (!window?.sessionStorage) return;
|
|
17
|
+
writeWebStorage(themes, storageKey, entry, {
|
|
18
|
+
storage: window.sessionStorage,
|
|
19
|
+
stringify: options?.stringify,
|
|
20
|
+
onError: options?.onError
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
//#endregion
|
|
25
|
+
export { writeSessionStorage };
|
|
26
|
+
//# sourceMappingURL=write-session-storage.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-session-storage.mjs","names":[],"sources":["../../../src/theme/session-storage/write-session-storage.ts"],"sourcesContent":["import type { StringifyStoredTheme, ThemeEntry } from '../theme-entry.types.ts'\nimport type { ThemeMap } from '../theme-map.types.ts'\nimport { writeWebStorage } from '../web-storage/write-web-storage.ts'\n\n/**\n * Writes a theme entry to sessionStorage.\n *\n * Performs setItem/removeItem only. Does not notify subscribers; the store must call notify() after this.\n *\n * @param themes - Record mapping theme keys to values (used by stringify)\n * @param storageKey - sessionStorage key to write to\n * @param entry - Theme entry to write, or null/undefined to remove\n * @param options.stringify - Custom serializer (default: JSON.stringify)\n * @param options.onError - Optional callback invoked when storage write throws\n */\nexport function writeSessionStorage<Themes extends ThemeMap>(\n\tthemes: Themes,\n\tstorageKey: string,\n\tentry: ThemeEntry<Themes> | null | undefined,\n\toptions?: {\n\t\tstringify?: StringifyStoredTheme<Themes> | undefined\n\t\tonError?: ((error: unknown) => void) | undefined\n\t}\n): void {\n\tif (!window?.sessionStorage) return\n\twriteWebStorage(themes, storageKey, entry, {\n\t\tstorage: window.sessionStorage,\n\t\tstringify: options?.stringify,\n\t\tonError: options?.onError\n\t})\n}\n"],"mappings":";;;;;;;;;;;;;;AAeA,SAAgB,oBACf,QACA,YACA,OACA,SAIO;AACP,KAAI,CAAC,QAAQ,eAAgB;AAC7B,iBAAgB,QAAQ,YAAY,OAAO;EAC1C,SAAS,OAAO;EAChB,WAAW,SAAS;EACpB,SAAS,SAAS;EAClB,CAAC"}
|
|
@@ -11,6 +11,18 @@ interface ThemeEntry<Themes extends ThemeMap = ThemeMap> {
|
|
|
11
11
|
theme: keyof Themes;
|
|
12
12
|
value: Themes[keyof Themes];
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Function type for parsing stored string into ThemeEntry.
|
|
16
|
+
* Used as options.parse in persisting theme stores.
|
|
17
|
+
* Value accepts null (e.g. from getItem, getAttribute, cookie parsing).
|
|
18
|
+
*/
|
|
19
|
+
type ParseStoredTheme<Themes extends ThemeMap> = (themes: Themes, value: string | null | undefined) => ThemeEntry<Themes> | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Function type for stringify ThemeEntry to a stored string.
|
|
22
|
+
* Used as options.stringify in persisting theme stores.
|
|
23
|
+
* Existing accepts null (e.g. from getAttribute, getItem); entry accepts null for remove/clear.
|
|
24
|
+
*/
|
|
25
|
+
type StringifyStoredTheme<Themes extends ThemeMap> = (themes: Themes, existing: string | null | undefined, entry: ThemeEntry<Themes> | null | undefined) => string;
|
|
14
26
|
//#endregion
|
|
15
|
-
export { ThemeEntry };
|
|
27
|
+
export { ParseStoredTheme, StringifyStoredTheme, ThemeEntry };
|
|
16
28
|
//# sourceMappingURL=theme-entry.types.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-entry.types.d.cts","names":[],"sources":["../../src/theme/theme-entry.types.ts"],"sourcesContent":[],"mappings":";;;;;;AAOA;;;AACc,UADG,UACH,CAAA,eAD6B,QAC7B,GADwC,QACxC,CAAA,CAAA;EACN,KAAA,EAAA,MADM,MACN;EAAa,KAAA,EAAb,MAAa,CAAA,MAAA,MAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"theme-entry.types.d.cts","names":[],"sources":["../../src/theme/theme-entry.types.ts"],"sourcesContent":[],"mappings":";;;;;;AAOA;;;AACc,UADG,UACH,CAAA,eAD6B,QAC7B,GADwC,QACxC,CAAA,CAAA;EACN,KAAA,EAAA,MADM,MACN;EAAa,KAAA,EAAb,MAAa,CAAA,MAAA,MAAA,CAAA;;AAQrB;;;;;AAGe,KAHH,gBAGG,CAAA,eAH6B,QAG7B,CAAA,GAAA,CAAA,MAAA,EAFN,MAEM,EAAA,KAAA,EAAA,MAAA,GAAA,IAAA,GAAA,SAAA,EAAA,GAAV,UAAU,CAAC,MAAD,CAAA,GAAA,SAAA;AAOf;;;;;AAGkB,KAHN,oBAGM,CAAA,eAH8B,QAG9B,CAAA,GAAA,CAAA,MAAA,EAFT,MAES,EAAA,QAAA,EAAA,MAAA,GAAA,IAAA,GAAA,SAAA,EAAA,KAAA,EAAV,UAAU,CAAC,MAAD,CAAA,GAAA,IAAA,GAAA,SAAA,EAAA,GAAA,MAAA"}
|
|
@@ -11,6 +11,18 @@ interface ThemeEntry<Themes extends ThemeMap = ThemeMap> {
|
|
|
11
11
|
theme: keyof Themes;
|
|
12
12
|
value: Themes[keyof Themes];
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Function type for parsing stored string into ThemeEntry.
|
|
16
|
+
* Used as options.parse in persisting theme stores.
|
|
17
|
+
* Value accepts null (e.g. from getItem, getAttribute, cookie parsing).
|
|
18
|
+
*/
|
|
19
|
+
type ParseStoredTheme<Themes extends ThemeMap> = (themes: Themes, value: string | null | undefined) => ThemeEntry<Themes> | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Function type for stringify ThemeEntry to a stored string.
|
|
22
|
+
* Used as options.stringify in persisting theme stores.
|
|
23
|
+
* Existing accepts null (e.g. from getAttribute, getItem); entry accepts null for remove/clear.
|
|
24
|
+
*/
|
|
25
|
+
type StringifyStoredTheme<Themes extends ThemeMap> = (themes: Themes, existing: string | null | undefined, entry: ThemeEntry<Themes> | null | undefined) => string;
|
|
14
26
|
//#endregion
|
|
15
|
-
export { ThemeEntry };
|
|
27
|
+
export { ParseStoredTheme, StringifyStoredTheme, ThemeEntry };
|
|
16
28
|
//# sourceMappingURL=theme-entry.types.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-entry.types.d.mts","names":[],"sources":["../../src/theme/theme-entry.types.ts"],"sourcesContent":[],"mappings":";;;;;;AAOA;;;AACc,UADG,UACH,CAAA,eAD6B,QAC7B,GADwC,QACxC,CAAA,CAAA;EACN,KAAA,EAAA,MADM,MACN;EAAa,KAAA,EAAb,MAAa,CAAA,MAAA,MAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"theme-entry.types.d.mts","names":[],"sources":["../../src/theme/theme-entry.types.ts"],"sourcesContent":[],"mappings":";;;;;;AAOA;;;AACc,UADG,UACH,CAAA,eAD6B,QAC7B,GADwC,QACxC,CAAA,CAAA;EACN,KAAA,EAAA,MADM,MACN;EAAa,KAAA,EAAb,MAAa,CAAA,MAAA,MAAA,CAAA;;AAQrB;;;;;AAGe,KAHH,gBAGG,CAAA,eAH6B,QAG7B,CAAA,GAAA,CAAA,MAAA,EAFN,MAEM,EAAA,KAAA,EAAA,MAAA,GAAA,IAAA,GAAA,SAAA,EAAA,GAAV,UAAU,CAAC,MAAD,CAAA,GAAA,SAAA;AAOf;;;;;AAGkB,KAHN,oBAGM,CAAA,eAH8B,QAG9B,CAAA,GAAA,CAAA,MAAA,EAFT,MAES,EAAA,QAAA,EAAA,MAAA,GAAA,IAAA,GAAA,SAAA,EAAA,KAAA,EAAV,UAAU,CAAC,MAAD,CAAA,GAAA,IAAA,GAAA,SAAA,EAAA,GAAA,MAAA"}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
//#region src/theme/theme-map.types.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Polymorphic theme value: string, array, or object with themeValue.
|
|
4
|
+
* The object form allows storing extra user metadata in persistent stores (localStorage, etc.).
|
|
5
|
+
*/
|
|
6
|
+
type ThemeMapValue = string | readonly string[] | {
|
|
7
|
+
themeValue: string | readonly string[];
|
|
8
|
+
};
|
|
2
9
|
/**
|
|
3
10
|
* Record mapping theme keys to their values.
|
|
4
|
-
* Each value can be a single string
|
|
11
|
+
* Each value can be a single string, readonly string[] (e.g. multiple CSS classes),
|
|
12
|
+
* or { themeValue: string | string[] } for polymorphic values with extra metadata.
|
|
5
13
|
* Used by all ThemeStore factories via the themes option.
|
|
6
14
|
*/
|
|
7
|
-
type ThemeMap<Theme extends string = string> = Record<Theme,
|
|
15
|
+
type ThemeMap<Theme extends string = string> = Record<Theme, ThemeMapValue>;
|
|
8
16
|
//#endregion
|
|
9
|
-
export { ThemeMap };
|
|
17
|
+
export { ThemeMap, ThemeMapValue };
|
|
10
18
|
//# sourceMappingURL=theme-map.types.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-map.types.d.cts","names":[],"sources":["../../src/theme/theme-map.types.ts"],"sourcesContent":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"theme-map.types.d.cts","names":[],"sources":["../../src/theme/theme-map.types.ts"],"sourcesContent":[],"mappings":";;AAIA;AAQA;;AAAoE,KARxD,aAAA,GAQwD,MAAA,GAAA,SAAA,MAAA,EAAA,GAAA;EAAd,UAAA,EAAA,MAAA,GAAA,SAAA,MAAA,EAAA;CAAM;;;;;;;KAAhD,0CAA0C,OAAO,OAAO"}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
//#region src/theme/theme-map.types.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Polymorphic theme value: string, array, or object with themeValue.
|
|
4
|
+
* The object form allows storing extra user metadata in persistent stores (localStorage, etc.).
|
|
5
|
+
*/
|
|
6
|
+
type ThemeMapValue = string | readonly string[] | {
|
|
7
|
+
themeValue: string | readonly string[];
|
|
8
|
+
};
|
|
2
9
|
/**
|
|
3
10
|
* Record mapping theme keys to their values.
|
|
4
|
-
* Each value can be a single string
|
|
11
|
+
* Each value can be a single string, readonly string[] (e.g. multiple CSS classes),
|
|
12
|
+
* or { themeValue: string | string[] } for polymorphic values with extra metadata.
|
|
5
13
|
* Used by all ThemeStore factories via the themes option.
|
|
6
14
|
*/
|
|
7
|
-
type ThemeMap<Theme extends string = string> = Record<Theme,
|
|
15
|
+
type ThemeMap<Theme extends string = string> = Record<Theme, ThemeMapValue>;
|
|
8
16
|
//#endregion
|
|
9
|
-
export { ThemeMap };
|
|
17
|
+
export { ThemeMap, ThemeMapValue };
|
|
10
18
|
//# sourceMappingURL=theme-map.types.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-map.types.d.mts","names":[],"sources":["../../src/theme/theme-map.types.ts"],"sourcesContent":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"theme-map.types.d.mts","names":[],"sources":["../../src/theme/theme-map.types.ts"],"sourcesContent":[],"mappings":";;AAIA;AAQA;;AAAoE,KARxD,aAAA,GAQwD,MAAA,GAAA,SAAA,MAAA,EAAA,GAAA;EAAd,UAAA,EAAA,MAAA,GAAA,SAAA,MAAA,EAAA;CAAM;;;;;;;KAAhD,0CAA0C,OAAO,OAAO"}
|
|
@@ -18,7 +18,7 @@ import { ThemeEntry } from "../theme-entry.types.cjs";
|
|
|
18
18
|
interface AsyncThemeStore<Themes extends ThemeMap = ThemeMap> {
|
|
19
19
|
read?: (() => ThemeEntry<Themes> | undefined | Promise<ThemeEntry<Themes> | undefined>) | undefined;
|
|
20
20
|
write?: ((entry: ThemeEntry<Themes> | undefined) => void | Promise<void>) | undefined;
|
|
21
|
-
subscribe?: ((handler: (entry: ThemeEntry<Themes> | undefined
|
|
21
|
+
subscribe?: ((handler: (entry: ThemeEntry<Themes> | undefined) => void) => () => void) | undefined;
|
|
22
22
|
}
|
|
23
23
|
//#endregion
|
|
24
24
|
export { AsyncThemeStore };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-theme-store.types.d.cts","names":[],"sources":["../../../src/theme/theme-store/async-theme-store.types.ts"],"sourcesContent":[],"mappings":";;;;;;;AAeA;;;;;;;;;;AAI4D,UAJ3C,eAI2C,CAAA,eAJZ,QAIY,GAJD,QAIC,CAAA,CAAA;
|
|
1
|
+
{"version":3,"file":"async-theme-store.types.d.cts","names":[],"sources":["../../../src/theme/theme-store/async-theme-store.types.ts"],"sourcesContent":[],"mappings":";;;;;;;AAeA;;;;;;;;;;AAI4D,UAJ3C,eAI2C,CAAA,eAJZ,QAIY,GAJD,QAIC,CAAA,CAAA;EACjB,IAAA,CAAA,EAAA,CAAA,GAAA,GAHhC,UAGgC,CAHrB,MAGqB,CAAA,GAAA,SAAA,GAHC,OAGD,CAHS,UAGT,CAHoB,MAGpB,CAAA,GAAA,SAAA,CAAA,CAAA,GAAA,SAAA;EAAX,KAAA,CAAA,EAAA,CAAA,CAAA,KAAA,EADd,UACc,CADH,MACG,CAAA,GAAA,SAAA,EAAA,GAAA,IAAA,GAD4B,OAC5B,CAAA,IAAA,CAAA,CAAA,GAAA,SAAA;EAAU,SAAA,CAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,KAAA,EAAV,UAAU,CAAC,MAAD,CAAA,GAAA,SAAA,EAAA,GAAA,IAAA,EAAA,GAAA,GAAA,GAAA,IAAA,CAAA,GAAA,SAAA"}
|
|
@@ -18,7 +18,7 @@ import { ThemeEntry } from "../theme-entry.types.mjs";
|
|
|
18
18
|
interface AsyncThemeStore<Themes extends ThemeMap = ThemeMap> {
|
|
19
19
|
read?: (() => ThemeEntry<Themes> | undefined | Promise<ThemeEntry<Themes> | undefined>) | undefined;
|
|
20
20
|
write?: ((entry: ThemeEntry<Themes> | undefined) => void | Promise<void>) | undefined;
|
|
21
|
-
subscribe?: ((handler: (entry: ThemeEntry<Themes> | undefined
|
|
21
|
+
subscribe?: ((handler: (entry: ThemeEntry<Themes> | undefined) => void) => () => void) | undefined;
|
|
22
22
|
}
|
|
23
23
|
//#endregion
|
|
24
24
|
export { AsyncThemeStore };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-theme-store.types.d.mts","names":[],"sources":["../../../src/theme/theme-store/async-theme-store.types.ts"],"sourcesContent":[],"mappings":";;;;;;;AAeA;;;;;;;;;;AAI4D,UAJ3C,eAI2C,CAAA,eAJZ,QAIY,GAJD,QAIC,CAAA,CAAA;
|
|
1
|
+
{"version":3,"file":"async-theme-store.types.d.mts","names":[],"sources":["../../../src/theme/theme-store/async-theme-store.types.ts"],"sourcesContent":[],"mappings":";;;;;;;AAeA;;;;;;;;;;AAI4D,UAJ3C,eAI2C,CAAA,eAJZ,QAIY,GAJD,QAIC,CAAA,CAAA;EACjB,IAAA,CAAA,EAAA,CAAA,GAAA,GAHhC,UAGgC,CAHrB,MAGqB,CAAA,GAAA,SAAA,GAHC,OAGD,CAHS,UAGT,CAHoB,MAGpB,CAAA,GAAA,SAAA,CAAA,CAAA,GAAA,SAAA;EAAX,KAAA,CAAA,EAAA,CAAA,CAAA,KAAA,EADd,UACc,CADH,MACG,CAAA,GAAA,SAAA,EAAA,GAAA,IAAA,GAD4B,OAC5B,CAAA,IAAA,CAAA,CAAA,GAAA,SAAA;EAAU,SAAA,CAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,KAAA,EAAV,UAAU,CAAC,MAAD,CAAA,GAAA,SAAA,EAAA,GAAA,IAAA,EAAA,GAAA,GAAA,GAAA,IAAA,CAAA,GAAA,SAAA"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
const require_observe_attribute = require('../../../attributes/observe-attribute.cjs');
|
|
2
|
-
const require_resolve_theme_from_class_name = require('../../class-name/resolve-theme-from-class-name.cjs');
|
|
3
|
-
const require_theme_entry = require('../../theme-entry.cjs');
|
|
4
1
|
const require_dummy_theme_store = require('../../../testing/theme/dummy-theme-store.cjs');
|
|
5
|
-
const
|
|
2
|
+
const require_parse_class_name = require('../../class-name/parse-class-name.cjs');
|
|
3
|
+
const require_read_class_name = require('../../class-name/read-class-name.cjs');
|
|
4
|
+
const require_stringify_class_name = require('../../class-name/stringify-class-name.cjs');
|
|
5
|
+
const require_subscribe_class_name = require('../../class-name/subscribe-class-name.cjs');
|
|
6
|
+
const require_write_class_name = require('../../class-name/write-class-name.cjs');
|
|
6
7
|
|
|
7
8
|
//#region src/theme/theme-store/class-name-theme-store/class-name-theme-store.ts
|
|
8
9
|
/**
|
|
9
10
|
* Creates a theme store that reads and writes via element class names.
|
|
10
11
|
*
|
|
11
12
|
* @param themes - Record mapping theme keys to class name(s)
|
|
12
|
-
* @param options.element - Element to operate on (
|
|
13
|
+
* @param options.element - Element to operate on (accepts null e.g. from refs). Defaults to document.documentElement.
|
|
14
|
+
* @param options.parse - Custom parser (default: parseClassName)
|
|
15
|
+
* @param options.stringify - Custom serializer (default: stringifyClassName)
|
|
13
16
|
* @returns ThemeStore
|
|
14
17
|
*
|
|
15
18
|
* @example
|
|
@@ -24,26 +27,26 @@ const require_apply_theme_to_class_name = require('../../class-name/apply-theme-
|
|
|
24
27
|
function classNameThemeStore(themes, options) {
|
|
25
28
|
const element = options?.element ?? document?.documentElement;
|
|
26
29
|
if (!element) return require_dummy_theme_store.dummyThemeStore;
|
|
30
|
+
const parse = options?.parse ?? require_parse_class_name.parseClassName;
|
|
31
|
+
const stringify = options?.stringify ?? require_stringify_class_name.stringifyClassName;
|
|
27
32
|
return {
|
|
28
33
|
read() {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
return require_read_class_name.readClassName(themes, {
|
|
35
|
+
element,
|
|
36
|
+
parse
|
|
37
|
+
});
|
|
32
38
|
},
|
|
33
39
|
write(entry) {
|
|
34
|
-
|
|
40
|
+
require_write_class_name.writeClassName(themes, entry, {
|
|
41
|
+
element,
|
|
42
|
+
stringify
|
|
43
|
+
});
|
|
35
44
|
},
|
|
36
45
|
subscribe(handler) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const key = theme ?? void 0;
|
|
42
|
-
if (lastEmitted === key) return;
|
|
43
|
-
lastEmitted = key;
|
|
44
|
-
handler(entry);
|
|
45
|
-
} }, element);
|
|
46
|
-
return () => observer.disconnect();
|
|
46
|
+
return require_subscribe_class_name.subscribeClassName(themes, handler, {
|
|
47
|
+
element,
|
|
48
|
+
parse
|
|
49
|
+
});
|
|
47
50
|
}
|
|
48
51
|
};
|
|
49
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-name-theme-store.cjs","names":["dummyThemeStore","
|
|
1
|
+
{"version":3,"file":"class-name-theme-store.cjs","names":["dummyThemeStore","parseClassName","stringifyClassName","readClassName","subscribeClassName"],"sources":["../../../../src/theme/theme-store/class-name-theme-store/class-name-theme-store.ts"],"sourcesContent":["import type { Required } from 'type-plus'\nimport { dummyThemeStore } from '../../../testing/theme/dummy-theme-store.ts'\nimport { parseClassName } from '../../class-name/parse-class-name.ts'\nimport { readClassName } from '../../class-name/read-class-name.ts'\nimport { stringifyClassName } from '../../class-name/stringify-class-name.ts'\nimport { subscribeClassName } from '../../class-name/subscribe-class-name.ts'\nimport { writeClassName } from '../../class-name/write-class-name.ts'\nimport type { ParseStoredTheme, StringifyStoredTheme } from '../../theme-entry.types.ts'\nimport type { ThemeMap } from '../../theme-map.types.ts'\nimport type { ThemeStore } from '../theme-store.types.ts'\n\n/**\n * Creates a theme store that reads and writes via element class names.\n *\n * @param themes - Record mapping theme keys to class name(s)\n * @param options.element - Element to operate on (accepts null e.g. from refs). Defaults to document.documentElement.\n * @param options.parse - Custom parser (default: parseClassName)\n * @param options.stringify - Custom serializer (default: stringifyClassName)\n * @returns ThemeStore\n *\n * @example\n * ```ts\n * const themes = { current: 'theme-current', grayscale: 'theme-grayscale' }\n * const store = classNameThemeStore(themes)\n * store.read() // returns themeResult from element.className\n * store.write(themeEntry(themes, 'grayscale'))\n * store.subscribe((themeResult) => {})\n * ```\n */\nexport function classNameThemeStore<Themes extends ThemeMap>(\n\tthemes: Themes,\n\toptions?: {\n\t\telement?: Element | null | undefined\n\t\tparse?: ParseStoredTheme<Themes> | undefined\n\t\tstringify?: StringifyStoredTheme<Themes> | undefined\n\t}\n): Required<ThemeStore<Themes>> {\n\tconst element = options?.element ?? document?.documentElement\n\n\tif (!element) return dummyThemeStore\n\n\tconst parse = options?.parse ?? parseClassName\n\tconst stringify = options?.stringify ?? stringifyClassName\n\n\treturn {\n\t\tread() {\n\t\t\treturn readClassName(themes, { element, parse })\n\t\t},\n\t\twrite(entry) {\n\t\t\twriteClassName(themes, entry, { element, stringify })\n\t\t},\n\t\tsubscribe(handler) {\n\t\t\treturn subscribeClassName(themes, handler, { element, parse })\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,SAAgB,oBACf,QACA,SAK+B;CAC/B,MAAM,UAAU,SAAS,WAAW,UAAU;AAE9C,KAAI,CAAC,QAAS,QAAOA;CAErB,MAAM,QAAQ,SAAS,SAASC;CAChC,MAAM,YAAY,SAAS,aAAaC;AAExC,QAAO;EACN,OAAO;AACN,UAAOC,sCAAc,QAAQ;IAAE;IAAS;IAAO,CAAC;;EAEjD,MAAM,OAAO;AACZ,2CAAe,QAAQ,OAAO;IAAE;IAAS;IAAW,CAAC;;EAEtD,UAAU,SAAS;AAClB,UAAOC,gDAAmB,QAAQ,SAAS;IAAE;IAAS;IAAO,CAAC;;EAE/D"}
|