UNPKG

@xcritical/theme

Version:
282 lines (257 loc) 8.4 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var get = _interopDefault(require('lodash.get')); var isEmpty = _interopDefault(require('lodash.isempty')); var memoize = _interopDefault(require('micro-memoize')); var fastEquals = require('fast-equals'); var styledComponents = require('styled-components'); var utilitify = require('utilitify'); var WHITE = '#FFFFFF'; var BLUE = '#0078FF'; var TEAL_BLUE = '#00CAFF'; var ORANGE = '#FF8F00'; var ROSE_MADDER = '#E71D36'; var GREEN = '#2DD070'; var JUNGLE_GREEN = '#1B998B'; var PORTLAND_ORANGE = '#F46036'; var VERDIGRIS = '#5ABCB9'; var GOLDENROD = '#D5A021'; var PURPLE = '#5A51DE'; var BDAZZLED_BLUE = '#2F6690'; var PINK = '#FF004F'; var RED = '#E3111A'; var BRONZE = '#C67C3B'; var TIFFANY = '#1ACEB3'; var YELLOW = '#FFC800'; var ORCHID = '#B959FF'; var BLACK = ' #000'; var BLACK_RAISIN = '#212734'; var DEFAULT = '#212734'; var BLACK_CHAROCOAL = '#31394C'; var CHAROCOAL = BLACK_CHAROCOAL; var PAYNES_GRAY = '#3D465E'; var GRAY = '#F0F0F0'; var GRAY_BLUE = '#5a6268'; var DARK_LIME = '#28a745'; var BRIGHT_RED = '#dc3545'; var VIVID_YELLOW = '#ffc107'; var STRONG_CYAN = '#17a2b8'; var GRAY_LIGHT = '#f8f9fa'; var PRIMARY = BLUE; var SECONDARY = GRAY_BLUE; var SUCCESS = DARK_LIME; var DANGER = BRIGHT_RED; var WARNING = VIVID_YELLOW; var INFO = STRONG_CYAN; var DARK = PAYNES_GRAY; var LIGHT = GRAY_LIGHT; var colors = { WHITE: WHITE, BLUE: BLUE, TEAL_BLUE: TEAL_BLUE, ORANGE: ORANGE, ROSE_MADDER: ROSE_MADDER, GREEN: GREEN, JUNGLE_GREEN: JUNGLE_GREEN, PORTLAND_ORANGE: PORTLAND_ORANGE, VERDIGRIS: VERDIGRIS, GOLDENROD: GOLDENROD, PURPLE: PURPLE, BDAZZLED_BLUE: BDAZZLED_BLUE, PINK: PINK, RED: RED, BRONZE: BRONZE, TIFFANY: TIFFANY, YELLOW: YELLOW, ORCHID: ORCHID, BLACK: BLACK, BLACK_RAISIN: BLACK_RAISIN, DEFAULT: DEFAULT, BLACK_CHAROCOAL: BLACK_CHAROCOAL, CHAROCOAL: CHAROCOAL, PAYNES_GRAY: PAYNES_GRAY, GRAY: GRAY, GRAY_BLUE: GRAY_BLUE, DARK_LIME: DARK_LIME, BRIGHT_RED: BRIGHT_RED, VIVID_YELLOW: VIVID_YELLOW, STRONG_CYAN: STRONG_CYAN, GRAY_LIGHT: GRAY_LIGHT, PRIMARY: PRIMARY, SECONDARY: SECONDARY, SUCCESS: SUCCESS, DANGER: DANGER, WARNING: WARNING, INFO: INFO, DARK: DARK, LIGHT: LIGHT }; function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; } var _templateObject; var getAppearancePath = function getAppearancePath(appearanceName, propertyPath // eslint-disable-next-line function-paren-newline ) { if (appearanceName === void 0) { appearanceName = 'default'; } var res = ['appearance', appearanceName].concat(Array.isArray(propertyPath) ? propertyPath : [propertyPath]).filter(function (item) { return !!item; }); return res; }; var mergeBaseTheme = /*#__PURE__*/memoize(function (namespace, defaultTheme, theme) { return namespace && theme[namespace] && !isEmpty(theme[namespace]) ? utilitify.mergeDeep(defaultTheme, theme[namespace]) : defaultTheme; }, { isEqual: fastEquals.shallowEqual }); var getThemedState = function getThemedState(namespace, defaultTheme) { return memoize(function (theme, propertyPath) { if (theme === void 0) { theme = {}; } var componentTheme = mergeBaseTheme(namespace, defaultTheme, theme); return propertyPath ? get(componentTheme, propertyPath) : componentTheme; }, { isEqual: fastEquals.shallowEqual }); }; var compileAppearanceTheme = /*#__PURE__*/memoize(function (namespace, defaultTheme, theme, appearanceName, baseAppearanceName) { var themeExtractor = getThemedState(namespace, defaultTheme); if (appearanceName !== baseAppearanceName) { return utilitify.mergeDeep(themeExtractor(theme, getAppearancePath(baseAppearanceName)) || {}, themeExtractor(theme, getAppearancePath(appearanceName)) || {}); } return themeExtractor(theme, getAppearancePath(appearanceName)) || {}; }, { isEqual: fastEquals.shallowEqual }); function getStatesTheme(theme, stateName, baseState) { if (baseState === void 0) { baseState = 'default'; } var merged = utilitify.mergeDeep(get(theme, baseState, {}), get(theme, stateName, {})); return function (propertyPath, defaultValue) { return propertyPath ? get(merged, propertyPath, defaultValue) : merged; }; } function getAppearanceTheme(namespace, defaultTheme) { return memoize(function (theme, appearanceName, propertyPath, baseAppearanceName) { var themeExtractor = getThemedState(namespace, defaultTheme); var compiledTheme = compileAppearanceTheme(namespace, defaultTheme, theme, appearanceName, baseAppearanceName != null ? baseAppearanceName : 'default'); if (propertyPath) { return get(compiledTheme, propertyPath) || themeExtractor(theme, propertyPath); } return compiledTheme; }, { isEqual: fastEquals.shallowEqual }); } var getFontStyle = function getFontStyle(_ref) { var size = _ref.size, weight = _ref.weight, lineHeight = _ref.lineHeight, _ref$lineHeightRatio = _ref.lineHeightRatio, lineHeightRatio = _ref$lineHeightRatio === void 0 ? 1.69 : _ref$lineHeightRatio; return styledComponents.css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", ";\n ", ";\n"])), weight ? "font-weight: " + weight : null, size ? "font-size: " + size + "px; line-height: " + (lineHeight != null ? lineHeight : lineHeightRatio) + ";" : null); }; var getFontObj = function getFontObj(_temp) { var _ref2 = _temp === void 0 ? {} : _temp, size = _ref2.size, weight = _ref2.weight, lineHeight = _ref2.lineHeight, _ref2$lineHeightRatio = _ref2.lineHeightRatio, lineHeightRatio = _ref2$lineHeightRatio === void 0 ? 1.69 : _ref2$lineHeightRatio; return _extends({}, weight && { fontWeight: weight }, size && { fontSize: size + "px", lineHeight: lineHeight != null ? lineHeight : lineHeightRatio }); }; var rtlSide = function rtlSide(isRTL, property) { if (isRTL) { if (property === 'left') { return 'right'; } if (property === 'right') { return 'left'; } } return property; }; var rtlSwapper = function rtlSwapper(isRTL, left, right) { if (isRTL) { return [right, left]; } return [left, right]; }; exports.BDAZZLED_BLUE = BDAZZLED_BLUE; exports.BLACK = BLACK; exports.BLACK_CHAROCOAL = BLACK_CHAROCOAL; exports.BLACK_RAISIN = BLACK_RAISIN; exports.BLUE = BLUE; exports.BRIGHT_RED = BRIGHT_RED; exports.BRONZE = BRONZE; exports.CHAROCOAL = CHAROCOAL; exports.DANGER = DANGER; exports.DARK = DARK; exports.DARK_LIME = DARK_LIME; exports.DEFAULT = DEFAULT; exports.GOLDENROD = GOLDENROD; exports.GRAY = GRAY; exports.GRAY_BLUE = GRAY_BLUE; exports.GRAY_LIGHT = GRAY_LIGHT; exports.GREEN = GREEN; exports.INFO = INFO; exports.JUNGLE_GREEN = JUNGLE_GREEN; exports.LIGHT = LIGHT; exports.ORANGE = ORANGE; exports.ORCHID = ORCHID; exports.PAYNES_GRAY = PAYNES_GRAY; exports.PINK = PINK; exports.PORTLAND_ORANGE = PORTLAND_ORANGE; exports.PRIMARY = PRIMARY; exports.PURPLE = PURPLE; exports.RED = RED; exports.ROSE_MADDER = ROSE_MADDER; exports.SECONDARY = SECONDARY; exports.STRONG_CYAN = STRONG_CYAN; exports.SUCCESS = SUCCESS; exports.TEAL_BLUE = TEAL_BLUE; exports.TIFFANY = TIFFANY; exports.VERDIGRIS = VERDIGRIS; exports.VIVID_YELLOW = VIVID_YELLOW; exports.WARNING = WARNING; exports.WHITE = WHITE; exports.YELLOW = YELLOW; exports.colors = colors; exports.compileAppearanceTheme = compileAppearanceTheme; exports.getAppearancePath = getAppearancePath; exports.getAppearanceTheme = getAppearanceTheme; exports.getFontObj = getFontObj; exports.getFontStyle = getFontStyle; exports.getStatesTheme = getStatesTheme; exports.getThemedState = getThemedState; exports.mergeBaseTheme = mergeBaseTheme; exports.rtlSide = rtlSide; exports.rtlSwapper = rtlSwapper; //# sourceMappingURL=theme.cjs.development.js.map