UNPKG

antd

Version:

An enterprise-class UI design language and React components implementation

255 lines (254 loc) 12.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _interface = require("../../theme/interface"); var _genStyleUtils = require("../../theme/util/genStyleUtils"); const genVariantStyle = token => { const { componentCls, antCls } = token; // Default: '--ant-btn-' const getCssVar = (0, _genStyleUtils.genCssVar)(antCls, 'btn'); return { [componentCls]: [ // ============================================================== // == Variable == // ============================================================== { // Border [getCssVar('border-width')]: '1px', [getCssVar('border-color')]: '#000', [getCssVar('border-color-hover')]: `var(${getCssVar('border-color')})`, [getCssVar('border-color-active')]: `var(${getCssVar('border-color')})`, [getCssVar('border-color-disabled')]: `var(${getCssVar('border-color')})`, [getCssVar('border-style')]: 'solid', // Text [getCssVar('text-color')]: '#000', [getCssVar('text-color-hover')]: `var(${getCssVar('text-color')})`, [getCssVar('text-color-active')]: `var(${getCssVar('text-color')})`, [getCssVar('text-color-disabled')]: `var(${getCssVar('text-color')})`, // Background [getCssVar('bg-color')]: '#ddd', [getCssVar('bg-color-hover')]: `var(${getCssVar('bg-color')})`, [getCssVar('bg-color-active')]: `var(${getCssVar('bg-color')})`, [getCssVar('bg-color-disabled')]: token.colorBgContainerDisabled, [getCssVar('bg-color-container')]: token.colorBgContainer, // Shadow [getCssVar('shadow')]: 'none' }, // ============================================================== // == Template == // ============================================================== { // Basic border: `var(${getCssVar('border-width')}) var(${getCssVar('border-style')}) var(${getCssVar('border-color')})`, color: `var(${getCssVar('text-color')})`, backgroundColor: `var(${getCssVar('bg-color')})`, // Status [`&:not(:disabled):not(${componentCls}-disabled)`]: { // Hover '&:hover': { border: `var(${getCssVar('border-width')}) var(${getCssVar('border-style')}) var(${getCssVar('border-color-hover')})`, color: `var(${getCssVar('text-color-hover')})`, backgroundColor: `var(${getCssVar('bg-color-hover')})` }, // Active '&:active': { border: `var(${getCssVar('border-width')}) var(${getCssVar('border-style')}) var(${getCssVar('border-color-active')})`, color: `var(${getCssVar('text-color-active')})`, backgroundColor: `var(${getCssVar('bg-color-active')})` } } }, // ============================================================== // == Variants == // ============================================================== { // >>>>> Solid [`&${componentCls}-variant-solid`]: { // Solid Variables [getCssVar('solid-bg-color')]: `var(${getCssVar('color-base')})`, [getCssVar('solid-bg-color-hover')]: `var(${getCssVar('color-hover')})`, [getCssVar('solid-bg-color-active')]: `var(${getCssVar('color-active')})`, // Variables [getCssVar('border-color')]: 'transparent', [getCssVar('text-color')]: token.colorTextLightSolid, [getCssVar('bg-color')]: `var(${getCssVar('solid-bg-color')})`, [getCssVar('bg-color-hover')]: `var(${getCssVar('solid-bg-color-hover')})`, [getCssVar('bg-color-active')]: `var(${getCssVar('solid-bg-color-active')})`, // Box Shadow boxShadow: `var(${getCssVar('shadow')})` }, // >>>>> Outlined & Dashed [`&${componentCls}-variant-outlined, &${componentCls}-variant-dashed`]: { [getCssVar('border-color')]: `var(${getCssVar('color-base')})`, [getCssVar('border-color-hover')]: `var(${getCssVar('color-hover')})`, [getCssVar('border-color-active')]: `var(${getCssVar('color-active')})`, [getCssVar('bg-color')]: `var(${getCssVar('bg-color-container')})`, [getCssVar('text-color')]: `var(${getCssVar('color-base')})`, [getCssVar('text-color-hover')]: `var(${getCssVar('color-hover')})`, [getCssVar('text-color-active')]: `var(${getCssVar('color-active')})`, // Box Shadow boxShadow: `var(${getCssVar('shadow')})` }, // >>>>> Dashed [`&${componentCls}-variant-dashed`]: { [getCssVar('border-style')]: 'dashed', [getCssVar('bg-color-disabled')]: token.dashedBgDisabled }, // >>>>> Filled [`&${componentCls}-variant-filled`]: { [getCssVar('border-color')]: 'transparent', [getCssVar('text-color')]: `var(${getCssVar('color-base')})`, [getCssVar('bg-color')]: `var(${getCssVar('color-light')})`, [getCssVar('bg-color-hover')]: `var(${getCssVar('color-light-hover')})`, [getCssVar('bg-color-active')]: `var(${getCssVar('color-light-active')})` }, // >>>>> Text & Link [`&${componentCls}-variant-text, &${componentCls}-variant-link`]: { [getCssVar('border-color')]: 'transparent', [getCssVar('text-color')]: `var(${getCssVar('color-base')})`, [getCssVar('text-color-hover')]: `var(${getCssVar('color-hover')})`, [getCssVar('text-color-active')]: `var(${getCssVar('color-active')})`, [getCssVar('bg-color')]: 'transparent', [getCssVar('bg-color-hover')]: 'transparent', [getCssVar('bg-color-active')]: 'transparent', [`&:disabled, &${token.componentCls}-disabled`]: { background: 'transparent', borderColor: 'transparent' } }, // >>>>> Text [`&${componentCls}-variant-text`]: { [getCssVar('bg-color-hover')]: `var(${getCssVar('color-light')})`, [getCssVar('bg-color-active')]: `var(${getCssVar('color-light-active')})` } }, // ============================================================== // == Colors == // ============================================================== { // ======================== By Default ======================== // >>>>> Link [`&${componentCls}-variant-link`]: { [getCssVar('color-base')]: token.colorLink, [getCssVar('color-hover')]: token.colorLinkHover, [getCssVar('color-active')]: token.colorLinkActive }, // ======================== Compatible ======================== // >>>>> Primary [`&${componentCls}-color-primary`]: { [getCssVar('color-base')]: token.colorPrimary, [getCssVar('color-hover')]: token.colorPrimaryHover, [getCssVar('color-active')]: token.colorPrimaryActive, [getCssVar('color-light')]: token.colorPrimaryBg, [getCssVar('color-light-hover')]: token.colorPrimaryBgHover, [getCssVar('color-light-active')]: token.colorPrimaryBorder, [getCssVar('shadow')]: token.primaryShadow, [`&${componentCls}-variant-solid`]: { [getCssVar('text-color')]: token.primaryColor, [getCssVar('text-color-hover')]: `var(${getCssVar('text-color')})`, [getCssVar('text-color-active')]: `var(${getCssVar('text-color')})` } }, // >>>>> Danger [`&${componentCls}-color-dangerous`]: { [getCssVar('color-base')]: token.colorError, [getCssVar('color-hover')]: token.colorErrorHover, [getCssVar('color-active')]: token.colorErrorActive, [getCssVar('color-light')]: token.colorErrorBg, [getCssVar('color-light-hover')]: token.colorErrorBgFilledHover, [getCssVar('color-light-active')]: token.colorErrorBgActive, [getCssVar('shadow')]: token.dangerShadow, [`&${componentCls}-variant-solid`]: { [getCssVar('text-color')]: token.dangerColor, [getCssVar('text-color-hover')]: `var(${getCssVar('text-color')})`, [getCssVar('text-color-active')]: `var(${getCssVar('text-color')})` } }, // >>>>> Default [`&${componentCls}-color-default`]: { [getCssVar('solid-bg-color')]: token.colorBgSolid, [getCssVar('solid-bg-color-hover')]: token.colorBgSolidHover, [getCssVar('solid-bg-color-active')]: token.colorBgSolidActive, [getCssVar('color-base')]: token.defaultBorderColor, [getCssVar('color-hover')]: token.defaultHoverBorderColor, [getCssVar('color-active')]: token.defaultActiveBorderColor, [getCssVar('color-light')]: token.colorFillTertiary, [getCssVar('color-light-hover')]: token.colorFillSecondary, [getCssVar('color-light-active')]: token.colorFill, [getCssVar('text-color')]: token.colorText, [getCssVar('text-color-hover')]: token.defaultHoverBorderColor, [getCssVar('text-color-active')]: token.defaultActiveBorderColor, [getCssVar('shadow')]: token.defaultShadow, [`&${componentCls}-variant-solid`]: { [getCssVar('text-color')]: token.solidTextColor, [getCssVar('text-color-hover')]: `var(${getCssVar('text-color')})`, [getCssVar('text-color-active')]: `var(${getCssVar('text-color')})` }, [`&${componentCls}-variant-filled, &${componentCls}-variant-text`]: { [getCssVar('text-color-hover')]: `var(${getCssVar('text-color')})`, [getCssVar('text-color-active')]: `var(${getCssVar('text-color')})` }, [`&${componentCls}-variant-outlined, &${componentCls}-variant-dashed`]: { [getCssVar('bg-color-hover')]: token.defaultHoverBg, [getCssVar('bg-color-active')]: token.defaultActiveBg }, [`&${componentCls}-background-ghost`]: { [`&${componentCls}-variant-outlined, &${componentCls}-variant-dashed`]: { [getCssVar('text-color')]: token.defaultGhostColor, [getCssVar('border-color')]: token.defaultGhostBorderColor } } } }, // >>>>> Preset Colors _interface.PresetColors.map(colorKey => { const darkColor = token[`${colorKey}6`]; const lightColor = token[`${colorKey}1`]; const hoverColor = token[`${colorKey}5`]; const lightHoverColor = token[`${colorKey}2`]; const lightActiveColor = token[`${colorKey}3`]; const activeColor = token[`${colorKey}7`]; const shadowColor = token[`${colorKey}ShadowColor`]; return { [`&${componentCls}-color-${colorKey}`]: { [getCssVar('color-base')]: darkColor, [getCssVar('color-hover')]: hoverColor, [getCssVar('color-active')]: activeColor, [getCssVar('color-light')]: lightColor, [getCssVar('color-light-hover')]: lightHoverColor, [getCssVar('color-light-active')]: lightActiveColor, [getCssVar('shadow')]: shadowColor } }; }), // ============================================================== // == Disabled == // ============================================================== { // Disabled [`&:disabled, &${token.componentCls}-disabled`]: { cursor: 'not-allowed', borderColor: token.colorBorderDisabled, background: `var(${getCssVar('bg-color-disabled')})`, color: token.colorTextDisabled, boxShadow: 'none' } }, // ============================================================== // == Ghost == // ============================================================== { // Ghost [`&${componentCls}-background-ghost`]: { [getCssVar('bg-color')]: 'transparent', [getCssVar('shadow')]: 'none' } }] }; }; var _default = exports.default = genVariantStyle;