vorma 0.82.0 → 0.83.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/internal/framework/_typescript/create/package.json +1 -1
- package/kit/_typescript/theme/theme.ts +11 -0
- package/npm_dist/kit/_typescript/theme/theme.d.ts +1 -0
- package/npm_dist/kit/_typescript/theme/theme.d.ts.map +1 -1
- package/npm_dist/kit/_typescript/theme/theme.js +11 -0
- package/npm_dist/kit/_typescript/theme/theme.js.map +2 -2
- package/package.json +1 -1
|
@@ -130,6 +130,17 @@ export function initLocal() {
|
|
|
130
130
|
localStorage.setItem(RESOLVED_THEME_KEY, resolvedTheme);
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
+
export function getNextToggleValue(theme: Theme): Theme {
|
|
134
|
+
switch (theme) {
|
|
135
|
+
case THEMES.System:
|
|
136
|
+
return THEMES.Light;
|
|
137
|
+
case THEMES.Light:
|
|
138
|
+
return THEMES.Dark;
|
|
139
|
+
case THEMES.Dark:
|
|
140
|
+
return THEMES.System;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
133
144
|
/////////////////////////////////////////////////////////////////////
|
|
134
145
|
/////// INTERNAL UTILS
|
|
135
146
|
/////////////////////////////////////////////////////////////////////
|
|
@@ -19,5 +19,6 @@ export declare function setThemeLocal(theme: Theme): void;
|
|
|
19
19
|
export declare function addThemeChangeListener(listener: (e: CustomEvent<ThemeChangeEventDetail>) => void): CleanupFunction;
|
|
20
20
|
type CleanupFunction = () => void;
|
|
21
21
|
export declare function initLocal(): void;
|
|
22
|
+
export declare function getNextToggleValue(theme: Theme): Theme;
|
|
22
23
|
export {};
|
|
23
24
|
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../kit/_typescript/theme/theme.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM;;;;CAIT,CAAC;AAEX,QAAA,MAAM,YAAY,iCAAwB,CAAC;AAO3C,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAClD,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AACjE,KAAK,sBAAsB,GAAG;IAC7B,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,aAAa,CAAC;CAC7B,CAAC;AA2CF,wBAAgB,QAAQ,IAAI,KAAK,CAGhC;AAED,wBAAgB,aAAa,IAAI,KAAK,CAGrC;AAED,wBAAgB,gBAAgB,IAAI,aAAa,CAGhD;AAED,wBAAgB,qBAAqB,IAAI,aAAa,CAGrD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,QAOpC;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,QAOzC;AAED,wBAAgB,sBAAsB,CACrC,QAAQ,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,sBAAsB,CAAC,KAAK,IAAI,GACxD,eAAe,CAQjB;AAED,KAAK,eAAe,GAAG,MAAM,IAAI,CAAC;AAElC,wBAAgB,SAAS,SAWxB"}
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../kit/_typescript/theme/theme.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM;;;;CAIT,CAAC;AAEX,QAAA,MAAM,YAAY,iCAAwB,CAAC;AAO3C,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAClD,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AACjE,KAAK,sBAAsB,GAAG;IAC7B,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,aAAa,CAAC;CAC7B,CAAC;AA2CF,wBAAgB,QAAQ,IAAI,KAAK,CAGhC;AAED,wBAAgB,aAAa,IAAI,KAAK,CAGrC;AAED,wBAAgB,gBAAgB,IAAI,aAAa,CAGhD;AAED,wBAAgB,qBAAqB,IAAI,aAAa,CAGrD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,QAOpC;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,QAOzC;AAED,wBAAgB,sBAAsB,CACrC,QAAQ,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,sBAAsB,CAAC,KAAK,IAAI,GACxD,eAAe,CAQjB;AAED,KAAK,eAAe,GAAG,MAAM,IAAI,CAAC;AAElC,wBAAgB,SAAS,SAWxB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAStD"}
|
|
@@ -87,6 +87,16 @@ function initLocal() {
|
|
|
87
87
|
localStorage.setItem(THEME_KEY, theme);
|
|
88
88
|
localStorage.setItem(RESOLVED_THEME_KEY, resolvedTheme);
|
|
89
89
|
}
|
|
90
|
+
function getNextToggleValue(theme) {
|
|
91
|
+
switch (theme) {
|
|
92
|
+
case THEMES.System:
|
|
93
|
+
return THEMES.Light;
|
|
94
|
+
case THEMES.Light:
|
|
95
|
+
return THEMES.Dark;
|
|
96
|
+
case THEMES.Dark:
|
|
97
|
+
return THEMES.System;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
90
100
|
function __getResolvedThemeFromTheme(theme) {
|
|
91
101
|
let resolvedTheme = theme;
|
|
92
102
|
if (resolvedTheme === THEMES.System) {
|
|
@@ -111,6 +121,7 @@ function __isResolvedTheme(theme) {
|
|
|
111
121
|
export {
|
|
112
122
|
THEMES,
|
|
113
123
|
addThemeChangeListener,
|
|
124
|
+
getNextToggleValue,
|
|
114
125
|
getResolvedTheme,
|
|
115
126
|
getResolvedThemeLocal,
|
|
116
127
|
getTheme,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../kit/_typescript/theme/theme.ts"],
|
|
4
|
-
"sourcesContent": ["import { getClientCookie, setClientCookie } from \"vorma/kit/cookies\";\n\n/////////////////////////////////////////////////////////////////////\n/////// SETUP\n/////////////////////////////////////////////////////////////////////\n\nexport const THEMES = {\n\tDark: \"dark\",\n\tLight: \"light\",\n\tSystem: \"system\",\n} as const;\n\nconst THEME_VALUES = Object.values(THEMES);\nconst THEME_KEY = \"kit_theme\";\nconst RESOLVED_THEME_KEY = \"kit_resolved_theme\";\nconst PREFERS_DARK_QUERY = window.matchMedia(\"(prefers-color-scheme: dark)\");\nconst CLASSLIST = window.document.documentElement.classList;\nconst THEME_CHANGE_EVENT_KEY = \"theme_change\";\n\nexport type Theme = (typeof THEME_VALUES)[number];\nexport type ResolvedTheme = Exclude<Theme, typeof THEMES.System>;\ntype ThemeChangeEventDetail = {\n\ttheme: Theme;\n\tresolvedTheme: ResolvedTheme;\n};\n\n/////////////////////////////////////////////////////////////////////\n///////// BROADCAST CHANNEL\n/////////////////////////////////////////////////////////////////////\n\nlet bc = __newBC();\n__setBCOnMessage(bc);\n\n// bfcache stuff\nwindow.addEventListener(\"pagehide\", () => bc.close());\nwindow.addEventListener(\"pageshow\", () => {\n\tbc = __newBC();\n\t__setBCOnMessage(bc);\n});\n\nfunction __newBC(): BroadcastChannel {\n\treturn new BroadcastChannel(\"kit_theme_channel\");\n}\n\nfunction __setBCOnMessage(bc: BroadcastChannel) {\n\tbc.onmessage = (e) => {\n\t\tconst detail = e.data as ThemeChangeEventDetail;\n\t\tconst theme = detail.theme;\n\t\tconst resolvedTheme = __getResolvedThemeFromTheme(theme);\n\t\t__setClassesAndDispatchEvent({ theme, resolvedTheme });\n\t};\n}\n\n/////////////////////////////////////////////////////////////////////\n/////// PREFERS COLOR SCHEME EVENT LISTENER\n/////////////////////////////////////////////////////////////////////\n\nPREFERS_DARK_QUERY.addEventListener(\"change\", () => {\n\tif (CLASSLIST.contains(THEMES.System)) {\n\t\tsetTheme(THEMES.System);\n\t}\n});\n\n/////////////////////////////////////////////////////////////////////\n/////// PUBLIC HELPER FUNCTIONS\n/////////////////////////////////////////////////////////////////////\n\nexport function getTheme(): Theme {\n\tconst theme = getClientCookie(THEME_KEY);\n\treturn __isTheme(theme) ? theme : THEMES.System;\n}\n\nexport function getThemeLocal(): Theme {\n\tconst theme = localStorage.getItem(THEME_KEY);\n\treturn __isTheme(theme) ? theme : THEMES.System;\n}\n\nexport function getResolvedTheme(): ResolvedTheme {\n\tconst resolvedTheme = getClientCookie(RESOLVED_THEME_KEY);\n\treturn __isResolvedTheme(resolvedTheme) ? resolvedTheme : THEMES.Light;\n}\n\nexport function getResolvedThemeLocal(): ResolvedTheme {\n\tconst resolvedTheme = localStorage.getItem(RESOLVED_THEME_KEY);\n\treturn __isResolvedTheme(resolvedTheme) ? resolvedTheme : THEMES.Light;\n}\n\nexport function setTheme(theme: Theme) {\n\tconst resolvedTheme = __getResolvedThemeFromTheme(theme);\n\tsetClientCookie(THEME_KEY, theme);\n\tsetClientCookie(RESOLVED_THEME_KEY, resolvedTheme);\n\tconst detail: ThemeChangeEventDetail = { theme, resolvedTheme };\n\t__setClassesAndDispatchEvent(detail);\n\tbc.postMessage(detail);\n}\n\nexport function setThemeLocal(theme: Theme) {\n\tconst resolvedTheme = __getResolvedThemeFromTheme(theme);\n\tlocalStorage.setItem(THEME_KEY, theme);\n\tlocalStorage.setItem(RESOLVED_THEME_KEY, resolvedTheme);\n\tconst detail: ThemeChangeEventDetail = { theme, resolvedTheme };\n\t__setClassesAndDispatchEvent(detail);\n\tbc.postMessage(detail);\n}\n\nexport function addThemeChangeListener(\n\tlistener: (e: CustomEvent<ThemeChangeEventDetail>) => void,\n): CleanupFunction {\n\twindow.addEventListener(THEME_CHANGE_EVENT_KEY, listener as EventListener);\n\treturn () => {\n\t\twindow.removeEventListener(\n\t\t\tTHEME_CHANGE_EVENT_KEY,\n\t\t\tlistener as EventListener,\n\t\t);\n\t};\n}\n\ntype CleanupFunction = () => void;\n\nexport function initLocal() {\n\tconst theme = localStorage.getItem(THEME_KEY) || THEMES.System;\n\tconst resolvedTheme = __getResolvedThemeFromTheme(\n\t\t__isTheme(theme) ? theme : THEMES.System,\n\t);\n\tCLASSLIST.add(theme);\n\tif (theme === THEMES.System) {\n\t\tCLASSLIST.add(resolvedTheme);\n\t}\n\tlocalStorage.setItem(THEME_KEY, theme);\n\tlocalStorage.setItem(RESOLVED_THEME_KEY, resolvedTheme);\n}\n\n/////////////////////////////////////////////////////////////////////\n/////// INTERNAL UTILS\n/////////////////////////////////////////////////////////////////////\n\nfunction __getResolvedThemeFromTheme(theme: Theme): ResolvedTheme {\n\tlet resolvedTheme = theme;\n\tif (resolvedTheme === THEMES.System) {\n\t\tresolvedTheme = PREFERS_DARK_QUERY.matches ? THEMES.Dark : THEMES.Light;\n\t}\n\treturn resolvedTheme;\n}\n\nfunction __setClassesAndDispatchEvent(detail: ThemeChangeEventDetail) {\n\tCLASSLIST.remove(...THEME_VALUES);\n\tCLASSLIST.add(detail.theme);\n\tif (detail.theme === THEMES.System) {\n\t\tCLASSLIST.add(detail.resolvedTheme);\n\t}\n\twindow.dispatchEvent(new CustomEvent(THEME_CHANGE_EVENT_KEY, { detail }));\n}\n\n/////////////////////////////////////////////////////////////////////\n/////// TYPE GUARDS\n/////////////////////////////////////////////////////////////////////\n\nfunction __isTheme(theme: string | undefined | null): theme is Theme {\n\treturn THEME_VALUES.includes(theme as Theme);\n}\n\nfunction __isResolvedTheme(\n\ttheme: string | undefined | null,\n): theme is ResolvedTheme {\n\treturn theme === THEMES.Dark || theme === THEMES.Light;\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { getClientCookie, setClientCookie } from \"vorma/kit/cookies\";\n\n/////////////////////////////////////////////////////////////////////\n/////// SETUP\n/////////////////////////////////////////////////////////////////////\n\nexport const THEMES = {\n\tDark: \"dark\",\n\tLight: \"light\",\n\tSystem: \"system\",\n} as const;\n\nconst THEME_VALUES = Object.values(THEMES);\nconst THEME_KEY = \"kit_theme\";\nconst RESOLVED_THEME_KEY = \"kit_resolved_theme\";\nconst PREFERS_DARK_QUERY = window.matchMedia(\"(prefers-color-scheme: dark)\");\nconst CLASSLIST = window.document.documentElement.classList;\nconst THEME_CHANGE_EVENT_KEY = \"theme_change\";\n\nexport type Theme = (typeof THEME_VALUES)[number];\nexport type ResolvedTheme = Exclude<Theme, typeof THEMES.System>;\ntype ThemeChangeEventDetail = {\n\ttheme: Theme;\n\tresolvedTheme: ResolvedTheme;\n};\n\n/////////////////////////////////////////////////////////////////////\n///////// BROADCAST CHANNEL\n/////////////////////////////////////////////////////////////////////\n\nlet bc = __newBC();\n__setBCOnMessage(bc);\n\n// bfcache stuff\nwindow.addEventListener(\"pagehide\", () => bc.close());\nwindow.addEventListener(\"pageshow\", () => {\n\tbc = __newBC();\n\t__setBCOnMessage(bc);\n});\n\nfunction __newBC(): BroadcastChannel {\n\treturn new BroadcastChannel(\"kit_theme_channel\");\n}\n\nfunction __setBCOnMessage(bc: BroadcastChannel) {\n\tbc.onmessage = (e) => {\n\t\tconst detail = e.data as ThemeChangeEventDetail;\n\t\tconst theme = detail.theme;\n\t\tconst resolvedTheme = __getResolvedThemeFromTheme(theme);\n\t\t__setClassesAndDispatchEvent({ theme, resolvedTheme });\n\t};\n}\n\n/////////////////////////////////////////////////////////////////////\n/////// PREFERS COLOR SCHEME EVENT LISTENER\n/////////////////////////////////////////////////////////////////////\n\nPREFERS_DARK_QUERY.addEventListener(\"change\", () => {\n\tif (CLASSLIST.contains(THEMES.System)) {\n\t\tsetTheme(THEMES.System);\n\t}\n});\n\n/////////////////////////////////////////////////////////////////////\n/////// PUBLIC HELPER FUNCTIONS\n/////////////////////////////////////////////////////////////////////\n\nexport function getTheme(): Theme {\n\tconst theme = getClientCookie(THEME_KEY);\n\treturn __isTheme(theme) ? theme : THEMES.System;\n}\n\nexport function getThemeLocal(): Theme {\n\tconst theme = localStorage.getItem(THEME_KEY);\n\treturn __isTheme(theme) ? theme : THEMES.System;\n}\n\nexport function getResolvedTheme(): ResolvedTheme {\n\tconst resolvedTheme = getClientCookie(RESOLVED_THEME_KEY);\n\treturn __isResolvedTheme(resolvedTheme) ? resolvedTheme : THEMES.Light;\n}\n\nexport function getResolvedThemeLocal(): ResolvedTheme {\n\tconst resolvedTheme = localStorage.getItem(RESOLVED_THEME_KEY);\n\treturn __isResolvedTheme(resolvedTheme) ? resolvedTheme : THEMES.Light;\n}\n\nexport function setTheme(theme: Theme) {\n\tconst resolvedTheme = __getResolvedThemeFromTheme(theme);\n\tsetClientCookie(THEME_KEY, theme);\n\tsetClientCookie(RESOLVED_THEME_KEY, resolvedTheme);\n\tconst detail: ThemeChangeEventDetail = { theme, resolvedTheme };\n\t__setClassesAndDispatchEvent(detail);\n\tbc.postMessage(detail);\n}\n\nexport function setThemeLocal(theme: Theme) {\n\tconst resolvedTheme = __getResolvedThemeFromTheme(theme);\n\tlocalStorage.setItem(THEME_KEY, theme);\n\tlocalStorage.setItem(RESOLVED_THEME_KEY, resolvedTheme);\n\tconst detail: ThemeChangeEventDetail = { theme, resolvedTheme };\n\t__setClassesAndDispatchEvent(detail);\n\tbc.postMessage(detail);\n}\n\nexport function addThemeChangeListener(\n\tlistener: (e: CustomEvent<ThemeChangeEventDetail>) => void,\n): CleanupFunction {\n\twindow.addEventListener(THEME_CHANGE_EVENT_KEY, listener as EventListener);\n\treturn () => {\n\t\twindow.removeEventListener(\n\t\t\tTHEME_CHANGE_EVENT_KEY,\n\t\t\tlistener as EventListener,\n\t\t);\n\t};\n}\n\ntype CleanupFunction = () => void;\n\nexport function initLocal() {\n\tconst theme = localStorage.getItem(THEME_KEY) || THEMES.System;\n\tconst resolvedTheme = __getResolvedThemeFromTheme(\n\t\t__isTheme(theme) ? theme : THEMES.System,\n\t);\n\tCLASSLIST.add(theme);\n\tif (theme === THEMES.System) {\n\t\tCLASSLIST.add(resolvedTheme);\n\t}\n\tlocalStorage.setItem(THEME_KEY, theme);\n\tlocalStorage.setItem(RESOLVED_THEME_KEY, resolvedTheme);\n}\n\nexport function getNextToggleValue(theme: Theme): Theme {\n\tswitch (theme) {\n\t\tcase THEMES.System:\n\t\t\treturn THEMES.Light;\n\t\tcase THEMES.Light:\n\t\t\treturn THEMES.Dark;\n\t\tcase THEMES.Dark:\n\t\t\treturn THEMES.System;\n\t}\n}\n\n/////////////////////////////////////////////////////////////////////\n/////// INTERNAL UTILS\n/////////////////////////////////////////////////////////////////////\n\nfunction __getResolvedThemeFromTheme(theme: Theme): ResolvedTheme {\n\tlet resolvedTheme = theme;\n\tif (resolvedTheme === THEMES.System) {\n\t\tresolvedTheme = PREFERS_DARK_QUERY.matches ? THEMES.Dark : THEMES.Light;\n\t}\n\treturn resolvedTheme;\n}\n\nfunction __setClassesAndDispatchEvent(detail: ThemeChangeEventDetail) {\n\tCLASSLIST.remove(...THEME_VALUES);\n\tCLASSLIST.add(detail.theme);\n\tif (detail.theme === THEMES.System) {\n\t\tCLASSLIST.add(detail.resolvedTheme);\n\t}\n\twindow.dispatchEvent(new CustomEvent(THEME_CHANGE_EVENT_KEY, { detail }));\n}\n\n/////////////////////////////////////////////////////////////////////\n/////// TYPE GUARDS\n/////////////////////////////////////////////////////////////////////\n\nfunction __isTheme(theme: string | undefined | null): theme is Theme {\n\treturn THEME_VALUES.includes(theme as Theme);\n}\n\nfunction __isResolvedTheme(\n\ttheme: string | undefined | null,\n): theme is ResolvedTheme {\n\treturn theme === THEMES.Dark || theme === THEMES.Light;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["bc"]
|
|
7
7
|
}
|