@visactor/vchart
Version:
charts lib based @visactor/VGrammar
68 lines (51 loc) • 2.94 kB
JavaScript
;
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