zova-module-a-style 5.1.34 → 5.1.35

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/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { BeanBase, BeanInfo, BeanScopeBase, BeanSimple, SymbolBeanFullName, UseScope, beanFullNameFromOnionName, cast, createBeanDecorator, deepExtend, useComputed } from "zova";
1
+ import { BeanBase, BeanInfo, BeanScopeBase, BeanSimple, SymbolBeanFullName, UseScope, beanFullNameFromOnionName, cast, createBeanDecorator, deepExtend, ssr_load_local, useComputed } from "zova";
2
2
  import { Bean, Scope } from "zova-module-a-bean";
3
3
  import { BeanModelBase } from "zova-module-a-model";
4
4
  import { classes, createTypeStyle, cssRaw, cssRule, style } from "typestyle";
@@ -38,7 +38,7 @@ var BeanTheme = (_dec$1 = Bean(), _dec2$1 = BeanInfo({ module: "a-style" }), _de
38
38
  async __init__() {
39
39
  const cookieTheme = this._cookieTheme = this.$ssr.profileOptions.useCookie;
40
40
  const cookieThemeDarkDefault = this.$$scopeSsr.config.cookieThemeDarkDefault;
41
- const darkModeDefault = cookieTheme ? cookieThemeDarkDefault : process.env.CLIENT ? window.ssr_load_local("themedark") ?? "auto" : "auto";
41
+ const darkModeDefault = cookieTheme ? cookieThemeDarkDefault : process.env.CLIENT ? ssr_load_local("themedark") ?? "auto" : "auto";
42
42
  this.name = this.$useState(cookieTheme ? "cookie" : "local", {
43
43
  queryKey: ["themename"],
44
44
  meta: {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/bean/bean.theme.ts","../src/config/config.ts","../src/.metadata/this.ts","../src/monkey.ts","../src/.metadata/index.ts","../src/lib/style.ts","../src/lib/theme.ts","../src/lib/themeBase.ts"],"sourcesContent":["var _dec, _dec2, _dec3, _dec4, _class, _class2, _descriptor;\nfunction _initializerDefineProperty(e, i, r, l) { r && Object.defineProperty(e, i, { enumerable: r.enumerable, configurable: r.configurable, writable: r.writable, value: r.initializer ? r.initializer.call(l) : void 0 }); }\nfunction _applyDecoratedDescriptor(i, e, r, n, l) { var a = {}; return Object.keys(n).forEach(function (i) { a[i] = n[i]; }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, (\"value\" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { return n(i, e, r) || r; }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a; }\nfunction _initializerWarningHelper(r, e) { throw Error(\"Decorating class property failed. Please ensure that transform-class-properties is enabled and runs after the decorators transform.\"); }\nimport { \"BeanInfo\" as __z_BeanInfo } from \"zova\";\nimport { beanFullNameFromOnionName, cast, UseScope } from 'zova';\nimport { Bean } from 'zova-module-a-bean';\nimport { BeanModelBase } from 'zova-module-a-model';\nexport let BeanTheme = (_dec = Bean(), _dec2 = __z_BeanInfo({\n module: \"a-style\"\n}), _dec3 = UseScope(\"a-ssr\"), _dec4 = Reflect.metadata(\"design:type\", typeof ScopeModuleASsr === \"undefined\" ? Object : ScopeModuleASsr), _dec(_class = _dec2(_class = (_class2 = class BeanTheme extends BeanModelBase {\n constructor(...args) {\n super(...args);\n this.name = void 0;\n this.darkMode = void 0;\n // auto/true/false\n this._dark = void 0;\n this.token = void 0;\n this._cookieTheme = void 0;\n this._mediaDark = void 0;\n this._onMediaDarkChange = void 0;\n _initializerDefineProperty(this, \"$$scopeSsr\", _descriptor, this);\n }\n get dark() {\n return this._dark;\n }\n async __init__() {\n const cookieTheme = this._cookieTheme = this.$ssr.profileOptions.useCookie;\n const cookieThemeDarkDefault = this.$$scopeSsr.config.cookieThemeDarkDefault;\n const darkModeDefault = cookieTheme ? cookieThemeDarkDefault : process.env.CLIENT ? window.ssr_load_local('themedark') ?? 'auto' : 'auto';\n // support admin\n this.name = this.$useState(cookieTheme ? 'cookie' : 'local', {\n queryKey: ['themename'],\n meta: {\n persister: {\n maxAge: this.scope.config.model.themename.persister.maxAge\n },\n defaultData: this.scope.config.defaultTheme\n }\n });\n this.darkMode = this.$useState(cookieTheme ? 'cookie' : 'local', {\n queryKey: ['themedark'],\n meta: {\n persister: {\n maxAge: this.scope.config.model.themename.persister.maxAge,\n deserialize: (value, deserializeDefault) => {\n if (cookieTheme && value === 'auto') value = cookieThemeDarkDefault;\n return deserializeDefault(value);\n }\n },\n defaultData: darkModeDefault\n }\n });\n this._updateDark();\n this.$watch(() => this.darkMode, () => {\n this._updateDark();\n });\n if (process.env.CLIENT) {\n this.$watch([() => this.name, () => this._dark], () => {\n this._applyTheme();\n });\n }\n\n // not use watch.immediate for await done\n await this._applyInitialThemeAndSsrDualOutput();\n this._syncDarkModePersistence();\n }\n __dispose__() {\n this._listenMediaDarkChange(false);\n }\n _updateDark() {\n this._dark = this._getDarkFromDarkMode(this.darkMode);\n this._syncDarkModePersistence();\n }\n async _applyInitialThemeAndSsrDualOutput() {\n // When server-side theme cookies are disabled, apply twice during SSR initialization so the\n // server emits both data-ssr-theme-dark-false/true markers and the browser can resolve the\n // final data-theme during bootstrap.\n await this._applyTheme();\n if (this.$ssr.cookieDisabledOnServer) {\n this.toggleDark();\n await this._applyTheme();\n }\n }\n async _applyTheme() {\n const name = this.name;\n const dark = this._dark;\n const theme = await this._loadThemeBean(name);\n if (!theme) {\n this.name = this.scope.config.defaultTheme;\n await this._applyTheme();\n return;\n }\n const res = await theme.apply({\n name,\n dark\n });\n this.token = cast(res).token;\n const handler = res.handler ?? this.scope.config.defaultThemeHandler;\n if (handler) {\n const themeHandler = await this.bean._getBean(beanFullNameFromOnionName(handler, 'meta'), true);\n await themeHandler.apply({\n name,\n dark,\n token: this.token\n });\n }\n }\n async _loadThemeBean(name) {\n const parts = name.split(':');\n if (parts.length === 1) {\n throw new Error(`invalid theme name: ${name}`);\n }\n const moduleName = parts[0];\n if (!this.app.meta.module.exists(moduleName)) return;\n return await this.bean._getBean(beanFullNameFromOnionName(name, 'theme'), true);\n }\n _syncDarkModePersistence() {\n if (!process.env.CLIENT || this._dark === undefined) return;\n const queryKey = ['themedark'];\n const target = this._cookieTheme ? 'local' : 'cookie';\n try {\n this.$persisterSaveTo(queryKey, target, this._dark);\n } catch (err) {\n if (process.env.DEV) console.warn('Failed to mirror themedark persistence', err);\n }\n }\n toggleDark() {\n this.darkMode = !this._dark;\n this._updateDark(); // immediate\n }\n _getDarkFromDarkMode(mode) {\n if (mode === undefined) mode = 'auto';\n if (mode === 'auto') {\n this._listenMediaDarkChange(true);\n return !!this._mediaDark?.matches;\n } else {\n this._listenMediaDarkChange(false);\n return mode;\n }\n }\n _listenMediaDarkChange(listen) {\n if (process.env.SERVER) return;\n if (listen) {\n if (!this._mediaDark) {\n this._mediaDark = window.matchMedia('(prefers-color-scheme: dark)');\n this._onMediaDarkChange = async () => {\n this._updateDark();\n this._applyTheme();\n };\n this._mediaDark.addEventListener('change', this._onMediaDarkChange);\n }\n } else {\n if (this._mediaDark) {\n this._mediaDark.removeEventListener('change', this._onMediaDarkChange);\n this._onMediaDarkChange = undefined;\n this._mediaDark = undefined;\n }\n }\n }\n}, _descriptor = _applyDecoratedDescriptor(_class2.prototype, \"$$scopeSsr\", [_dec3, _dec4], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _class2)) || _class) || _class);","export const config = _sys => {\n return {\n defaultCss: 'home-theme:base',\n defaultTheme: 'home-theme:default',\n defaultThemeHandler: '',\n model: {\n themename: {\n persister: {\n maxAge: Infinity\n }\n }\n }\n };\n};","export const __ThisModule__ = 'a-style';\nexport { ScopeModuleAStyle as ScopeModule } from './index.js';","import { classes, createTypeStyle, cssRaw, cssRule, style } from 'typestyle';\nimport { beanFullNameFromOnionName, BeanSimple, SymbolBeanFullName, useComputed } from 'zova';\nimport { __ThisModule__ } from './.metadata/this.js';\nimport { BeanTheme } from './bean/bean.theme.js';\nexport class Monkey extends BeanSimple {\n constructor(...args) {\n super(...args);\n this._beanTheme = void 0;\n this._beanCssBase = void 0;\n this._styleInstance = void 0;\n }\n async appInitialize() {\n if (process.env.SERVER) {\n this._styleInstance = createTypeStyle();\n this.ctx.meta.$ssr.context.onRendered(err => {\n if (err) return;\n const styles = this._styleInstance.getStyles();\n this.ctx.meta.$ssr.context._meta.endingHeadTags += `<style id=\"styles-target\">${styles}</style>`;\n });\n }\n if (process.env.CLIENT && this.ctx.meta.$ssr.isRuntimeSsrPreHydration) {\n this._styleInstance = createTypeStyle();\n this.ctx.meta.$ssr.onHydrated(() => {\n this._styleInstance.setStylesTarget(document.getElementById('styles-target'));\n });\n }\n }\n async appInitialized() {\n // theme\n this._beanTheme = await this.bean._getBean(BeanTheme, true);\n // css base\n const scope = await this.bean.getScope(__ThisModule__);\n this._beanCssBase = await this.bean._getBean(beanFullNameFromOnionName(scope.config.defaultCss, 'css'), true);\n }\n async beanInit(bean, beanInstance) {\n // eslint-disable-next-line\n const self = this;\n bean.defineProperty(beanInstance, '$style', {\n enumerable: false,\n configurable: true,\n get() {\n return function (props, ...args) {\n return self._patchStyle(beanInstance, props, ...args);\n };\n }\n });\n bean.defineProperty(beanInstance, '$cssRule', {\n enumerable: false,\n configurable: true,\n get() {\n return function (selector, ...objects) {\n return self._patchCssRule(beanInstance, selector, ...objects);\n };\n }\n });\n bean.defineProperty(beanInstance, '$cssRaw', {\n enumerable: false,\n configurable: true,\n get() {\n return function (mustBeValidCSS) {\n return self._patchCssRaw(beanInstance, mustBeValidCSS);\n };\n }\n });\n bean.defineProperty(beanInstance, '$cssBase', {\n enumerable: false,\n configurable: true,\n get() {\n return self._beanCssBase;\n }\n });\n bean.defineProperty(beanInstance, '$cssMerge', {\n enumerable: false,\n configurable: true,\n get() {\n return function (...args) {\n return self._patchCssMerge(beanInstance, ...args);\n };\n }\n });\n bean.defineProperty(beanInstance, '$theme', {\n enumerable: false,\n configurable: true,\n get() {\n return self._beanTheme;\n }\n });\n bean.defineProperty(beanInstance, '$token', {\n enumerable: false,\n configurable: true,\n get() {\n return useComputed(() => self._beanTheme.token);\n }\n });\n }\n _patchStyle(beanInstance, props, ...args) {\n // undefined/null/false\n if (!props) return undefined;\n if (this.sys.env.META_MODE === 'development') {\n if (props && typeof props === 'object') {\n props = Object.assign({\n $debugName: beanInstance[SymbolBeanFullName].replaceAll('.', '_')\n }, props);\n }\n }\n if (this._styleInstance) {\n return this._styleInstance.style(props, ...args);\n } else {\n return style(props, ...args);\n }\n }\n _patchCssRule(_beanInstance, selector, ...objects) {\n if (this._styleInstance) {\n return this._styleInstance.cssRule(selector, ...objects);\n } else {\n return cssRule(selector, ...objects);\n }\n }\n _patchCssRaw(_beanInstance, mustBeValidCSS) {\n if (this._styleInstance) {\n return this._styleInstance.cssRaw(mustBeValidCSS);\n } else {\n return cssRaw(mustBeValidCSS);\n }\n }\n _patchCssMerge(beanInstance, ...args) {\n const args2 = args.map(item => {\n if (Array.isArray(item)) {\n return this._patchCssMerge(beanInstance, ...item);\n } else if (typeof item === 'string' && item.startsWith('cssBase:')) {\n const varName = item.substring('cssBase:'.length);\n return beanInstance.$cssBase[varName];\n }\n return item;\n });\n return classes(...args2);\n }\n}","var _dec, _dec2, _class;\nimport { \"BeanInfo\" as __z_BeanInfo } from \"zova\";\n// eslint-disable\n/** bean: begin */\nexport * from '../bean/bean.theme.js';\nimport 'zova';\n/** bean: end */\n/** bean: begin */\nimport { BeanTheme } from '../bean/bean.theme.js';\nimport 'zova';\n/** bean: end */\n/** config: begin */\nexport * from '../config/config.js';\n/** config: end */\n/** monkey: begin */\nexport * from '../monkey.js';\n/** monkey: end */\n/** scope: begin */\nimport { BeanScopeBase } from 'zova';\nimport { Scope } from 'zova-module-a-bean';\nexport let ScopeModuleAStyle = (_dec = Scope(), _dec2 = __z_BeanInfo({\n module: \"a-style\"\n}), _dec(_class = _dec2(_class = class ScopeModuleAStyle extends BeanScopeBase {}) || _class) || _class);\nimport 'zova';\n\n/** scope: end */","import { createBeanDecorator } from 'zova';\nexport function Css(options) {\n return createBeanDecorator('css', 'app', true, options);\n}\nexport function Theme(options) {\n return createBeanDecorator('theme', 'app', true, options);\n}","export function $getThemeName(themeName) {\n return themeName;\n}","import { BeanBase, deepExtend } from 'zova';\nexport class BeanThemeBase extends BeanBase {\n getOptionsToken(params) {\n const options = this.$onionOptions;\n return options.token?.(params);\n }\n mergeOptionsToken(params, token) {\n const optionsToken = this.getOptionsToken(params);\n if (optionsToken) {\n token = deepExtend(token, optionsToken);\n }\n return token;\n }\n}"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/bean/bean.theme.ts","../src/config/config.ts","../src/.metadata/this.ts","../src/monkey.ts","../src/.metadata/index.ts","../src/lib/style.ts","../src/lib/theme.ts","../src/lib/themeBase.ts"],"sourcesContent":["var _dec, _dec2, _dec3, _dec4, _class, _class2, _descriptor;\nfunction _initializerDefineProperty(e, i, r, l) { r && Object.defineProperty(e, i, { enumerable: r.enumerable, configurable: r.configurable, writable: r.writable, value: r.initializer ? r.initializer.call(l) : void 0 }); }\nfunction _applyDecoratedDescriptor(i, e, r, n, l) { var a = {}; return Object.keys(n).forEach(function (i) { a[i] = n[i]; }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, (\"value\" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { return n(i, e, r) || r; }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a; }\nfunction _initializerWarningHelper(r, e) { throw Error(\"Decorating class property failed. Please ensure that transform-class-properties is enabled and runs after the decorators transform.\"); }\nimport { \"BeanInfo\" as __z_BeanInfo } from \"zova\";\nimport { beanFullNameFromOnionName, cast, ssr_load_local, UseScope } from 'zova';\nimport { Bean } from 'zova-module-a-bean';\nimport { BeanModelBase } from 'zova-module-a-model';\nexport let BeanTheme = (_dec = Bean(), _dec2 = __z_BeanInfo({\n module: \"a-style\"\n}), _dec3 = UseScope(\"a-ssr\"), _dec4 = Reflect.metadata(\"design:type\", typeof ScopeModuleASsr === \"undefined\" ? Object : ScopeModuleASsr), _dec(_class = _dec2(_class = (_class2 = class BeanTheme extends BeanModelBase {\n constructor(...args) {\n super(...args);\n this.name = void 0;\n this.darkMode = void 0;\n // auto/true/false\n this._dark = void 0;\n this.token = void 0;\n this._cookieTheme = void 0;\n this._mediaDark = void 0;\n this._onMediaDarkChange = void 0;\n _initializerDefineProperty(this, \"$$scopeSsr\", _descriptor, this);\n }\n get dark() {\n return this._dark;\n }\n async __init__() {\n const cookieTheme = this._cookieTheme = this.$ssr.profileOptions.useCookie;\n const cookieThemeDarkDefault = this.$$scopeSsr.config.cookieThemeDarkDefault;\n const darkModeDefault = cookieTheme ? cookieThemeDarkDefault : process.env.CLIENT ? ssr_load_local('themedark') ?? 'auto' : 'auto';\n // support admin\n this.name = this.$useState(cookieTheme ? 'cookie' : 'local', {\n queryKey: ['themename'],\n meta: {\n persister: {\n maxAge: this.scope.config.model.themename.persister.maxAge\n },\n defaultData: this.scope.config.defaultTheme\n }\n });\n this.darkMode = this.$useState(cookieTheme ? 'cookie' : 'local', {\n queryKey: ['themedark'],\n meta: {\n persister: {\n maxAge: this.scope.config.model.themename.persister.maxAge,\n deserialize: (value, deserializeDefault) => {\n if (cookieTheme && value === 'auto') value = cookieThemeDarkDefault;\n return deserializeDefault(value);\n }\n },\n defaultData: darkModeDefault\n }\n });\n this._updateDark();\n this.$watch(() => this.darkMode, () => {\n this._updateDark();\n });\n if (process.env.CLIENT) {\n this.$watch([() => this.name, () => this._dark], () => {\n this._applyTheme();\n });\n }\n\n // not use watch.immediate for await done\n await this._applyInitialThemeAndSsrDualOutput();\n this._syncDarkModePersistence();\n }\n __dispose__() {\n this._listenMediaDarkChange(false);\n }\n _updateDark() {\n this._dark = this._getDarkFromDarkMode(this.darkMode);\n this._syncDarkModePersistence();\n }\n async _applyInitialThemeAndSsrDualOutput() {\n // When server-side theme cookies are disabled, apply twice during SSR initialization so the\n // server emits both data-ssr-theme-dark-false/true markers and the browser can resolve the\n // final data-theme during bootstrap.\n await this._applyTheme();\n if (this.$ssr.cookieDisabledOnServer) {\n this.toggleDark();\n await this._applyTheme();\n }\n }\n async _applyTheme() {\n const name = this.name;\n const dark = this._dark;\n const theme = await this._loadThemeBean(name);\n if (!theme) {\n this.name = this.scope.config.defaultTheme;\n await this._applyTheme();\n return;\n }\n const res = await theme.apply({\n name,\n dark\n });\n this.token = cast(res).token;\n const handler = res.handler ?? this.scope.config.defaultThemeHandler;\n if (handler) {\n const themeHandler = await this.bean._getBean(beanFullNameFromOnionName(handler, 'meta'), true);\n await themeHandler.apply({\n name,\n dark,\n token: this.token\n });\n }\n }\n async _loadThemeBean(name) {\n const parts = name.split(':');\n if (parts.length === 1) {\n throw new Error(`invalid theme name: ${name}`);\n }\n const moduleName = parts[0];\n if (!this.app.meta.module.exists(moduleName)) return;\n return await this.bean._getBean(beanFullNameFromOnionName(name, 'theme'), true);\n }\n _syncDarkModePersistence() {\n if (!process.env.CLIENT || this._dark === undefined) return;\n const queryKey = ['themedark'];\n const target = this._cookieTheme ? 'local' : 'cookie';\n try {\n this.$persisterSaveTo(queryKey, target, this._dark);\n } catch (err) {\n if (process.env.DEV) console.warn('Failed to mirror themedark persistence', err);\n }\n }\n toggleDark() {\n this.darkMode = !this._dark;\n this._updateDark(); // immediate\n }\n _getDarkFromDarkMode(mode) {\n if (mode === undefined) mode = 'auto';\n if (mode === 'auto') {\n this._listenMediaDarkChange(true);\n return !!this._mediaDark?.matches;\n } else {\n this._listenMediaDarkChange(false);\n return mode;\n }\n }\n _listenMediaDarkChange(listen) {\n if (process.env.SERVER) return;\n if (listen) {\n if (!this._mediaDark) {\n this._mediaDark = window.matchMedia('(prefers-color-scheme: dark)');\n this._onMediaDarkChange = async () => {\n this._updateDark();\n this._applyTheme();\n };\n this._mediaDark.addEventListener('change', this._onMediaDarkChange);\n }\n } else {\n if (this._mediaDark) {\n this._mediaDark.removeEventListener('change', this._onMediaDarkChange);\n this._onMediaDarkChange = undefined;\n this._mediaDark = undefined;\n }\n }\n }\n}, _descriptor = _applyDecoratedDescriptor(_class2.prototype, \"$$scopeSsr\", [_dec3, _dec4], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _class2)) || _class) || _class);","export const config = _sys => {\n return {\n defaultCss: 'home-theme:base',\n defaultTheme: 'home-theme:default',\n defaultThemeHandler: '',\n model: {\n themename: {\n persister: {\n maxAge: Infinity\n }\n }\n }\n };\n};","export const __ThisModule__ = 'a-style';\nexport { ScopeModuleAStyle as ScopeModule } from './index.js';","import { classes, createTypeStyle, cssRaw, cssRule, style } from 'typestyle';\nimport { beanFullNameFromOnionName, BeanSimple, SymbolBeanFullName, useComputed } from 'zova';\nimport { __ThisModule__ } from './.metadata/this.js';\nimport { BeanTheme } from './bean/bean.theme.js';\nexport class Monkey extends BeanSimple {\n constructor(...args) {\n super(...args);\n this._beanTheme = void 0;\n this._beanCssBase = void 0;\n this._styleInstance = void 0;\n }\n async appInitialize() {\n if (process.env.SERVER) {\n this._styleInstance = createTypeStyle();\n this.ctx.meta.$ssr.context.onRendered(err => {\n if (err) return;\n const styles = this._styleInstance.getStyles();\n this.ctx.meta.$ssr.context._meta.endingHeadTags += `<style id=\"styles-target\">${styles}</style>`;\n });\n }\n if (process.env.CLIENT && this.ctx.meta.$ssr.isRuntimeSsrPreHydration) {\n this._styleInstance = createTypeStyle();\n this.ctx.meta.$ssr.onHydrated(() => {\n this._styleInstance.setStylesTarget(document.getElementById('styles-target'));\n });\n }\n }\n async appInitialized() {\n // theme\n this._beanTheme = await this.bean._getBean(BeanTheme, true);\n // css base\n const scope = await this.bean.getScope(__ThisModule__);\n this._beanCssBase = await this.bean._getBean(beanFullNameFromOnionName(scope.config.defaultCss, 'css'), true);\n }\n async beanInit(bean, beanInstance) {\n // eslint-disable-next-line\n const self = this;\n bean.defineProperty(beanInstance, '$style', {\n enumerable: false,\n configurable: true,\n get() {\n return function (props, ...args) {\n return self._patchStyle(beanInstance, props, ...args);\n };\n }\n });\n bean.defineProperty(beanInstance, '$cssRule', {\n enumerable: false,\n configurable: true,\n get() {\n return function (selector, ...objects) {\n return self._patchCssRule(beanInstance, selector, ...objects);\n };\n }\n });\n bean.defineProperty(beanInstance, '$cssRaw', {\n enumerable: false,\n configurable: true,\n get() {\n return function (mustBeValidCSS) {\n return self._patchCssRaw(beanInstance, mustBeValidCSS);\n };\n }\n });\n bean.defineProperty(beanInstance, '$cssBase', {\n enumerable: false,\n configurable: true,\n get() {\n return self._beanCssBase;\n }\n });\n bean.defineProperty(beanInstance, '$cssMerge', {\n enumerable: false,\n configurable: true,\n get() {\n return function (...args) {\n return self._patchCssMerge(beanInstance, ...args);\n };\n }\n });\n bean.defineProperty(beanInstance, '$theme', {\n enumerable: false,\n configurable: true,\n get() {\n return self._beanTheme;\n }\n });\n bean.defineProperty(beanInstance, '$token', {\n enumerable: false,\n configurable: true,\n get() {\n return useComputed(() => self._beanTheme.token);\n }\n });\n }\n _patchStyle(beanInstance, props, ...args) {\n // undefined/null/false\n if (!props) return undefined;\n if (this.sys.env.META_MODE === 'development') {\n if (props && typeof props === 'object') {\n props = Object.assign({\n $debugName: beanInstance[SymbolBeanFullName].replaceAll('.', '_')\n }, props);\n }\n }\n if (this._styleInstance) {\n return this._styleInstance.style(props, ...args);\n } else {\n return style(props, ...args);\n }\n }\n _patchCssRule(_beanInstance, selector, ...objects) {\n if (this._styleInstance) {\n return this._styleInstance.cssRule(selector, ...objects);\n } else {\n return cssRule(selector, ...objects);\n }\n }\n _patchCssRaw(_beanInstance, mustBeValidCSS) {\n if (this._styleInstance) {\n return this._styleInstance.cssRaw(mustBeValidCSS);\n } else {\n return cssRaw(mustBeValidCSS);\n }\n }\n _patchCssMerge(beanInstance, ...args) {\n const args2 = args.map(item => {\n if (Array.isArray(item)) {\n return this._patchCssMerge(beanInstance, ...item);\n } else if (typeof item === 'string' && item.startsWith('cssBase:')) {\n const varName = item.substring('cssBase:'.length);\n return beanInstance.$cssBase[varName];\n }\n return item;\n });\n return classes(...args2);\n }\n}","var _dec, _dec2, _class;\nimport { \"BeanInfo\" as __z_BeanInfo } from \"zova\";\n// eslint-disable\n/** bean: begin */\nexport * from '../bean/bean.theme.js';\nimport 'zova';\n/** bean: end */\n/** bean: begin */\nimport { BeanTheme } from '../bean/bean.theme.js';\nimport 'zova';\n/** bean: end */\n/** config: begin */\nexport * from '../config/config.js';\n/** config: end */\n/** monkey: begin */\nexport * from '../monkey.js';\n/** monkey: end */\n/** scope: begin */\nimport { BeanScopeBase } from 'zova';\nimport { Scope } from 'zova-module-a-bean';\nexport let ScopeModuleAStyle = (_dec = Scope(), _dec2 = __z_BeanInfo({\n module: \"a-style\"\n}), _dec(_class = _dec2(_class = class ScopeModuleAStyle extends BeanScopeBase {}) || _class) || _class);\nimport 'zova';\n\n/** scope: end */","import { createBeanDecorator } from 'zova';\nexport function Css(options) {\n return createBeanDecorator('css', 'app', true, options);\n}\nexport function Theme(options) {\n return createBeanDecorator('theme', 'app', true, options);\n}","export function $getThemeName(themeName) {\n return themeName;\n}","import { BeanBase, deepExtend } from 'zova';\nexport class BeanThemeBase extends BeanBase {\n getOptionsToken(params) {\n const options = this.$onionOptions;\n return options.token?.(params);\n }\n mergeOptionsToken(params, token) {\n const optionsToken = this.getOptionsToken(params);\n if (optionsToken) {\n token = deepExtend(token, optionsToken);\n }\n return token;\n }\n}"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "zova-module-a-style",
3
- "version": "5.1.34",
4
- "gitHead": "f431773baeff1b631f2ba56f657f0160e6dcbd5b",
3
+ "version": "5.1.35",
4
+ "gitHead": "eb85d771ef75776a439e56df3af8be6a3a36c1c2",
5
5
  "description": "style",
6
6
  "keywords": [
7
7
  "Zova Module"
@@ -4,11 +4,11 @@ export * from '../bean/bean.theme.js';
4
4
 
5
5
  import 'zova';
6
6
  declare module 'zova' {
7
-
8
-
7
+
8
+
9
9
  }
10
10
  declare module 'zova-module-a-style' {
11
-
11
+
12
12
  export interface BeanTheme {
13
13
  /** @internal */
14
14
  get scope(): ScopeModuleAStyle;
@@ -17,8 +17,8 @@ declare module 'zova-module-a-style' {
17
17
  export interface BeanTheme {
18
18
  get $beanFullName(): 'a-style.bean.theme';
19
19
  get $onionName(): 'a-style:theme';
20
-
21
- }
20
+
21
+ }
22
22
  }
23
23
  /** bean: end */
24
24
  /** bean: begin */
@@ -54,14 +54,14 @@ declare module 'zova' {
54
54
  export interface IBeanScopeRecord {
55
55
  'a-style': ScopeModuleAStyle;
56
56
  }
57
-
57
+
58
58
  export interface IBeanScopeConfig {
59
59
  'a-style': ReturnType<typeof config>;
60
60
  }
61
61
 
62
-
63
62
 
64
-
63
+
64
+
65
65
  }
66
-
66
+
67
67
  /** scope: end */
@@ -1,4 +1,4 @@
1
- import { beanFullNameFromOnionName, cast, UseScope } from 'zova';
1
+ import { beanFullNameFromOnionName, cast, ssr_load_local, UseScope } from 'zova';
2
2
  import { Bean } from 'zova-module-a-bean';
3
3
  import { BeanModelBase } from 'zova-module-a-model';
4
4
  import { ScopeModuleASsr } from 'zova-module-a-ssr';
@@ -31,7 +31,7 @@ export class BeanTheme extends BeanModelBase {
31
31
  const darkModeDefault = cookieTheme
32
32
  ? cookieThemeDarkDefault
33
33
  : process.env.CLIENT
34
- ? (window.ssr_load_local<ThemeDarkMode>('themedark') ?? 'auto')
34
+ ? (ssr_load_local('themedark') ?? 'auto')
35
35
  : 'auto';
36
36
  // support admin
37
37
  this.name = this.$useState(cookieTheme ? 'cookie' : 'local', {