UNPKG

@brizy/ui

Version:
28 lines (27 loc) 2.54 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Theme = void 0; const react_1 = __importDefault(require("react")); const colors_1 = require("../utils/colors"); const getFieldsTheme_1 = require("../utils/getFieldsTheme"); const constants_1 = require("../constants"); const Theme = props => { var _a, _b, _c, _d; const { children, colors, shadow } = props; const { header, content, sider, footer, fields, card: cardColor } = colors || {}; const { card } = shadow || {}; const headerColor = (0, colors_1.getHexByColorType)((_a = header === null || header === void 0 ? void 0 : header.color) !== null && _a !== void 0 ? _a : "white"); const contentColor = (0, colors_1.getHexByColorType)((_b = content === null || content === void 0 ? void 0 : content.color) !== null && _b !== void 0 ? _b : "gray-lightest"); const siderColor = (0, colors_1.getHexByColorType)((_c = sider === null || sider === void 0 ? void 0 : sider.color) !== null && _c !== void 0 ? _c : "dark"); const footerColor = (0, colors_1.getHexByColorType)((_d = footer === null || footer === void 0 ? void 0 : footer.color) !== null && _d !== void 0 ? _d : "white"); const fieldsColor = (0, getFieldsTheme_1.getFieldsStyleTheme)(fields); const cardColors = Object.assign(Object.assign({}, ((cardColor === null || cardColor === void 0 ? void 0 : cardColor.background) ? { [`--${constants_1.BRZ_PREFIX}-card-background`]: (0, colors_1.getHexByColorType)(cardColor === null || cardColor === void 0 ? void 0 : cardColor.background) } : {})), ((cardColor === null || cardColor === void 0 ? void 0 : cardColor.borderColor) ? { [`--${constants_1.BRZ_PREFIX}-card-border-color`]: (0, colors_1.getHexByColorType)(cardColor === null || cardColor === void 0 ? void 0 : cardColor.borderColor) } : {})); const style = Object.assign(Object.assign(Object.assign({ [`--${constants_1.BRZ_PREFIX}-header-color`]: headerColor, [`--${constants_1.BRZ_PREFIX}-content-color`]: contentColor, [`--${constants_1.BRZ_PREFIX}-sider-color`]: siderColor, [`--${constants_1.BRZ_PREFIX}-footer-color`]: footerColor }, (card && { [`--${constants_1.BRZ_PREFIX}-card-shadow`]: card })), fieldsColor), cardColors); return (react_1.default.createElement("div", { className: `${constants_1.BRZ_PREFIX}-theme__provider`, style: style }, children)); }; exports.Theme = Theme;