UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

68 lines (51 loc) 2.94 kB
"use strict"; var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) { void 0 === k2 && (k2 = k); var desc = Object.getOwnPropertyDescriptor(m, k); desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = { enumerable: !0, get: function() { return m[k]; } }), Object.defineProperty(o, k2, desc); } : function(o, m, k, k2) { void 0 === k2 && (k2 = k), o[k2] = m[k]; }), __exportStar = this && this.__exportStar || function(m, exports) { for (var p in m) "default" === p || Object.prototype.hasOwnProperty.call(exports, p) || __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: !0 }), exports.getFunnelTheme = exports.getMergedTheme = exports.themeExist = exports.removeTheme = exports.getTheme = exports.registerTheme = exports.hasThemeMerged = exports.themes = exports.defaultThemeName = exports.builtinThemes = void 0, __exportStar(require("./light"), exports), __exportStar(require("./dark"), exports); const vutils_1 = require("@visactor/vutils"), merge_theme_1 = require("../../util/theme/merge-theme"), light_1 = require("./light"), funnel_1 = require("./common/series/funnel"); Object.defineProperty(exports, "getFunnelTheme", { enumerable: !0, get: function() { return funnel_1.getFunnelTheme; } }), exports.builtinThemes = { [light_1.lightTheme.name]: light_1.lightTheme }, exports.defaultThemeName = light_1.lightTheme.name, exports.themes = new Map(Object.keys(exports.builtinThemes).map((key => [ key, exports.builtinThemes[key] ]))); const transformedThemes = new Map; exports.hasThemeMerged = new Map(Object.keys(exports.builtinThemes).map((key => [ key, key === exports.defaultThemeName ]))); const registerTheme = (name, theme) => { if (!name) return; const mergedTheme = (0, exports.getMergedTheme)(theme); exports.themes.set(name, mergedTheme), exports.hasThemeMerged.set(name, !0); }; exports.registerTheme = registerTheme; const getTheme = (name = exports.defaultThemeName) => (exports.hasThemeMerged.has(name) && !exports.hasThemeMerged.get(name) && (0, exports.registerTheme)(name, exports.themes.get(name)), exports.themes.get(name)); exports.getTheme = getTheme; const removeTheme = name => exports.themes.delete(name) && transformedThemes.delete(name) && exports.hasThemeMerged.delete(name); exports.removeTheme = removeTheme; const themeExist = name => !!(0, vutils_1.isString)(name) && exports.themes.has(name); exports.themeExist = themeExist; const getMergedTheme = theme => { var _a; const baseThemeName = null !== (_a = theme.type) && void 0 !== _a ? _a : exports.defaultThemeName, baseTheme = (0, exports.getTheme)(baseThemeName); return (0, merge_theme_1.mergeTheme)({}, baseTheme, theme); }; exports.getMergedTheme = getMergedTheme; //# sourceMappingURL=index.js.map