UNPKG

winbox-ui-next

Version:

We Design Vue 2.0: A Vue.js 3 UI Library

85 lines (84 loc) 3.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports[Symbol.toStringTag] = "Module"; var vue = require("vue"); var lodashEs = require("lodash-es"); var vue3Ssr = require("@css-render/vue3-ssr"); var index_cssr = require("../_styles/global/index.cssr.js"); var context = require("../config-provider/src/context.js"); var common = require("./common.js"); function createTheme(theme) { return theme; } function useTheme(resolveId, mountId, style, defaultTheme, props, clsPrefixRef) { const ssrAdapter = vue3Ssr.useSsrAdapter(); const NConfigProvider = vue.inject(context.configProviderInjectionKey, null); if (style) { const mountStyle = () => { const clsPrefix = clsPrefixRef == null ? void 0 : clsPrefixRef.value; style.mount({ id: clsPrefix === void 0 ? mountId : clsPrefix + mountId, head: true, props: { bPrefix: clsPrefix ? `.${clsPrefix}-` : void 0 }, anchorMetaName: common.cssrAnchorMetaName, ssr: ssrAdapter }); if (!(NConfigProvider == null ? void 0 : NConfigProvider.preflightStyleDisabled)) { index_cssr.mount({ id: "n-global", head: true, anchorMetaName: common.cssrAnchorMetaName, ssr: ssrAdapter }); } }; if (ssrAdapter) { mountStyle(); } else { vue.onBeforeMount(mountStyle); } } const mergedThemeRef = vue.computed(() => { var _a; const { theme: { common: selfCommon, self, peers = {} } = {}, themeOverrides: selfOverrides = {}, builtinThemeOverrides: builtinOverrides = {} } = props; const { common: selfCommonOverrides, peers: peersOverrides } = selfOverrides; const { common: globalCommon = void 0, [resolveId]: { common: globalSelfCommon = void 0, self: globalSelf = void 0, peers: globalPeers = {} } = {} } = (NConfigProvider == null ? void 0 : NConfigProvider.mergedThemeRef.value) || {}; const { common: globalCommonOverrides = void 0, [resolveId]: globalSelfOverrides = {} } = (NConfigProvider == null ? void 0 : NConfigProvider.mergedThemeOverridesRef.value) || {}; const { common: globalSelfCommonOverrides, peers: globalPeersOverrides = {} } = globalSelfOverrides; const mergedCommon = lodashEs.merge({}, selfCommon || globalSelfCommon || globalCommon || defaultTheme.common, globalCommonOverrides, globalSelfCommonOverrides, selfCommonOverrides); const mergedSelf = lodashEs.merge((_a = self || globalSelf || defaultTheme.self) == null ? void 0 : _a(mergedCommon), builtinOverrides, globalSelfOverrides, selfOverrides); return { common: mergedCommon, self: mergedSelf, peers: lodashEs.merge({}, defaultTheme.peers, globalPeers, peers), peerOverrides: lodashEs.merge({}, builtinOverrides.peers, globalPeersOverrides, peersOverrides) }; }); return mergedThemeRef; } useTheme.props = { theme: Object, themeOverrides: Object, builtinThemeOverrides: Object }; exports.createTheme = createTheme; exports["default"] = useTheme;