@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
JavaScript
"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