UNPKG

@patternfly/react-charts

Version:

This library provides a set of React chart components for use with the PatternFly reference implementation.

114 lines 5.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getThemeComponentColors = exports.getThemeColors = exports.getComponentTheme = exports.getTheme = exports.getCustomTheme = void 0; const tslib_1 = require("tslib"); const cloneDeep_1 = tslib_1.__importDefault(require("lodash/cloneDeep")); const merge_1 = tslib_1.__importDefault(require("lodash/merge")); const ChartThemeColor_1 = require("../ChartTheme/ChartThemeColor"); const ChartThemeTypes_1 = require("../ChartTheme/ChartThemeTypes"); const blue_theme_1 = require("../ChartTheme/themes/colors/blue-theme"); const teal_theme_1 = require("../ChartTheme/themes/colors/teal-theme"); const yellow_theme_1 = require("../ChartTheme/themes/colors/yellow-theme"); const gray_theme_1 = require("../ChartTheme/themes/colors/gray-theme"); const green_theme_1 = require("../ChartTheme/themes/colors/green-theme"); const skeleton_theme_1 = require("../ChartTheme/themes/colors/skeleton-theme"); const multi_ordered_theme_1 = require("../ChartTheme/themes/colors/multi-ordered-theme"); const multi_unordered_theme_1 = require("../ChartTheme/themes/colors/multi-unordered-theme"); const orange_theme_1 = require("../ChartTheme/themes/colors/orange-theme"); const purple_theme_1 = require("../ChartTheme/themes/colors/purple-theme"); /** * Apply custom properties to base and color themes * * @param themeColor The theme color to merge with custom theme * @param customTheme The custom theme to merge * @public */ const getCustomTheme = (themeColor, customTheme) => (0, merge_1.default)((0, exports.getTheme)(themeColor), customTheme); exports.getCustomTheme = getCustomTheme; /** * Returns base theme for given color * * @public */ const getTheme = (themeColor) => { const baseTheme = (0, cloneDeep_1.default)(ChartThemeTypes_1.ChartBaseTheme); return (0, merge_1.default)(baseTheme, (0, exports.getThemeColors)(themeColor)); }; exports.getTheme = getTheme; /** * Returns base component theme for given color * * @private Not intended as public API and subject to change */ const getComponentTheme = (themeColor) => { const theme = (0, cloneDeep_1.default)(ChartThemeTypes_1.ChartBaseComponentTheme); return (0, merge_1.default)(theme, (0, exports.getThemeComponentColors)(themeColor)); }; exports.getComponentTheme = getComponentTheme; /** * Returns theme colors * * @public */ const getThemeColors = (themeColor) => { switch (themeColor) { case ChartThemeColor_1.ChartThemeColor.blue: return blue_theme_1.BlueColorTheme; case ChartThemeColor_1.ChartThemeColor.teal: return teal_theme_1.TealColorTheme; case ChartThemeColor_1.ChartThemeColor.yellow: return yellow_theme_1.YellowColorTheme; case ChartThemeColor_1.ChartThemeColor.gray: return gray_theme_1.GrayColorTheme; case ChartThemeColor_1.ChartThemeColor.green: return green_theme_1.GreenColorTheme; case ChartThemeColor_1.ChartThemeColor.multi: case ChartThemeColor_1.ChartThemeColor.multiOrdered: return multi_ordered_theme_1.MultiColorOrderedTheme; case ChartThemeColor_1.ChartThemeColor.multiUnordered: return multi_unordered_theme_1.MultiColorUnorderedTheme; case ChartThemeColor_1.ChartThemeColor.orange: return orange_theme_1.OrangeColorTheme; case ChartThemeColor_1.ChartThemeColor.purple: return purple_theme_1.PurpleColorTheme; case ChartThemeColor_1.ChartThemeColor.skeleton: return skeleton_theme_1.SkeletonColorTheme; default: return blue_theme_1.BlueColorTheme; } }; exports.getThemeColors = getThemeColors; /** * Returns theme component colors * * @private Not intended as public API and subject to change */ const getThemeComponentColors = (themeColor) => { switch (themeColor) { case ChartThemeColor_1.ChartThemeColor.blue: return blue_theme_1.BlueColorComponentTheme; case ChartThemeColor_1.ChartThemeColor.teal: return teal_theme_1.TealColorComponentTheme; case ChartThemeColor_1.ChartThemeColor.yellow: return yellow_theme_1.YellowColorComponentTheme; case ChartThemeColor_1.ChartThemeColor.gray: return gray_theme_1.GrayColorComponentTheme; case ChartThemeColor_1.ChartThemeColor.green: return green_theme_1.GreenColorComponentTheme; case ChartThemeColor_1.ChartThemeColor.multi: case ChartThemeColor_1.ChartThemeColor.multiOrdered: return multi_ordered_theme_1.MultiColorOrderedComponentTheme; case ChartThemeColor_1.ChartThemeColor.multiUnordered: return multi_unordered_theme_1.MultiColorUnorderedComponentTheme; case ChartThemeColor_1.ChartThemeColor.orange: return orange_theme_1.OrangeColorComponentTheme; case ChartThemeColor_1.ChartThemeColor.purple: return purple_theme_1.PurpleColorComponentTheme; case ChartThemeColor_1.ChartThemeColor.skeleton: return skeleton_theme_1.SkeletonColorComponentTheme; default: return blue_theme_1.BlueColorComponentTheme; } }; exports.getThemeComponentColors = getThemeComponentColors; //# sourceMappingURL=chart-theme.js.map