ant-design-vue/components/theme/convertLegacyToken.ts

1108 lines
41 KiB
TypeScript
Raw Normal View History

Feat v4 (#6329) * refactor(icon): remove style dir (#6215) * refactor: rename locale * refactor: locale-provider * refactor: modal * refactor: menu * fix: custom class (#6217) * refactor: tooltip * refactor: grid (#6220) * refactor: grid * fix(grid): align & justify responsive * chore: update demo and snapshot * fix: row ts type not work * doc: update demo * refactor: ts * refactor: spin (#6222) * fix: typo (#6218) * fix: typo * docs<upload>: docs update * refactor: spin * refactor: spin * refactor: spin * refactor: spinnn * refactor: spin --------- Co-authored-by: lyn <76365499@qq.com> * fix: spin error #6222 * test: test case error (#6225) * fix: inject value maybe undefined * fix: tootip emit correct value * fix: rollback warning suffix avoid test break * doc(grid): remove unused type="flex" * refactor: skeleton (#6224) * refactor: skeleton * refactor: skeleton style * chore: modify skeleton demo style * fix(button): link and text should not have wave (#6226) * refactor: dropdown * refactor: popover & popconfirm * refactor(tag): less to cssinjs (#6227) * refactor(empty): less to cssinjs (#6230) * refactor(empty): less to cssinjs * chore: remove unuse code * fix: reactivity lose * fix: empty props #6230 * refactor: progress style (#6234) * refactor: progress * refactor: progress style * fix: progress attrs * refactor: progress #6234 * refactor: switch (#6236) * refactor: switch style * refactor: delete switch style * refactor:input (#6237) * refactor:input * fix inheritAttrs:false * fix attrs.class * feat: input add disabled * refactor:comment (#6238) * refactor:comment * fix inheritAttrs: false & attrs.class * refactor:pageheader (#6239) * refactor:pageheader * fix inheritAttrs: false & attrs.class * refactor:statistic (#6240) * refactor:statistic * fix inheritAttrs: false & attrs.class * refactor:list (#6241) * refactor:list * fix inheritAttrs: false & attrs.class * feat: update type * refactor(Space): less to cssinjs & add compact mode (#6229) * refactor(Space): less to cssinjs & add compact mode * chore(space): update md * chore(space): add demo * chore(space): add some demo * feat(button): add compact mode * fix: reactivity lose * docs: fix props version --------- Co-authored-by: tangjinzhou <415800467@qq.com> * perf: space compact * refactor:typography (#6244) * refactor:typography * fix return * fix import type * fix: typography #6244 * refactor:datepicker (#6245) * refactor: datepicker type * refactor: rate style (#6254) * refactor(layout): less to cssinjs (#6249) * doc: update layout cover * refactor(result): less to cssinjs (#6246) * refactor(result): less to cssinjs * fix: class name is overridden * docs: update result cover * refactor:slider (#6250) * feat: slider deprecated tooltipVisible * refactor(crad): less to cssinjs (#6258) * update * switch * Style adjustment * refactor(Card): less to cssinjs * Eliminate invalid code * optimization and adjustment css * Adjust the css * Optimize each item * adjustment css * refactor: card #6258 * refactor:carousel (#6262) * refactor:carousel * docs:update & refactor: carousel type --------- Co-authored-by: tangjinzhou <415800467@qq.com> * refactor:transfer (#6247) * refactor:transfer * merge v4 branch & fix theme interface conflict * docs:update & refactor: transfer type * perf: transfer * refactor:checkbox (#6248) * refactor:checkbox * docs:update & refactor: checkbox type * feat: checkbox add disabled context * refactor:pagination (#6251) * refactor:pagination * docs:update & refactor: pagination type * style: update pagination props type * refactor: mentions (#6255) * refactor: mentions * refactor: mentions menu provider * doc: update mentions demo * refcator:upload (#6261) * refcator:upload * docs:update & refactor: upload type * Update style.ts --------- Co-authored-by: tangjinzhou <415800467@qq.com> * perf: upload motion * refactor:timeline (#6263) * refactor:timeline * docs:update & refactor: timeline type * perf: timeline * refactor:steps (#6264) * refactor:steps * fix ...attrs * fix StepsToken error * docs:update & refactor: steps type * fix: steps icon clss error * refactor:collapse (#6266) * refactor:collapse * fix collapse props version * docs:update & refactor: collapse type & fix collapsible * feat: update collapse type * refactor:inputnumber (#6265) * refactor:inputnumber * docs:update & refactor: inputnumber type --------- Co-authored-by: tangjinzhou <415800467@qq.com> * feat: number add compactSize & disabledContext * refactor:table (#6267) * refactor:table * docs:update & refactor: table type --------- Co-authored-by: tangjinzhou <415800467@qq.com> * refactor: table * feat: table add expandColumnTitle slot * refactor:calendar (#6269) * refactor:calendar * docs:update * refactor:timepicker (#6270) * refactor:timepicker * docs:update & refactor: timepicker type * refactor:tree (#6276) * Feat v4 fix type errors (#6285) * fix compile type errors * fix menuprops type import * fix lint errors * fix lint errors * fix format error * fix node version * fix run dist error * fix run lint * fix as any * fix string type * refactor: rename locale file * feat: tree add leafIcon * [tabs] :less to cssinjs (#6288) * update * switch * Style adjustment * refactor(Card): less to cssinjs * tabs: less to cssinjs 开发ing * add function cssinjs * Eliminate irrelevant code * Eliminate irrelevant code 2 * update components * Eliminate irrelevant input code * refactor: tabs #6288 * feat: add segmented (#6286) * refactor: segmented #6286 * refactor:select (#6295) * refactor:select * update doc * delete useless * feat: select add context size * refactor: tree select (#6296) * feat: tree-select add context size * perf: table * docs: update doc toc * refactor: cascader * refactor: auto-complete * refactor: image * refactor: drawer * refactor:radio (#6299) * refactor:radio * fix attrs * feat: radio add disabled context * fix: some type & doc (#6292) * fix: typo (#6218) * fix: typo * docs<upload>: docs update * fix: type of minute in props disabledDateTime of DatePicker (#6233) * docs: typo (#6256) * feat: tooltip added overlayInnerStyle attribute * Update abstractTooltipProps.ts * Update Tooltip.tsx --------- Co-authored-by: lyn <76365499@qq.com> Co-authored-by: H1mple <35363759+baohangxing@users.noreply.github.com> Co-authored-by: tangjinzhou <415800467@qq.com> * refactor: form * fix: directive not work * fix: use open, remove visible * doc: update cover * refactor: remove not use code * chore: update build script * doc: update doc * doc: refactor doc * chore: update token error * chore: update style * refactor: rename _style to style * fix: tag warning * fix(dropdown): open invalid (#6316) * feat: add watermark (#6300) * feat: add watermark * feat: add watermark demo * feat: add mutationObserver * feat: add watermark demo * refactor: watermark type * doc: add theme-editor * fix: inject value maybe undefined && tag style invalid (#6320) * fix: inject value maybe undefined * fix(tag): style invalid * feat: add qrcode (#6315) * feat: add qrcode * fix: qrcode bug * fix: qrcode value required * refactor: props deconstruct * Feat v4 floatbutton (#6294) * feat: add float-button components * fix type & demo display * fix components entry * fix review bug * fix bug * fix .value * refactor: qrcode #6315 * refactor: float-button * fix: groupsize context error * fix: floatbutton animation not work * Feat v4 theme editor (#6348) * feat: add theme editor container * feat: add theme editor layout * add left panel * add vue-colorful & fix bug * 修复hue组件抖动问题 * fix bug && add demo * fix bug * fix demo preview * fix theme editor components demo * fix: token effect error * Feat v4 theme editor (#6349) * feat: add theme editor container * feat: add theme editor layout * add left panel * add vue-colorful & fix bug * 修复hue组件抖动问题 * fix bug && add demo * fix bug * fix demo preview * fix theme editor components demo * add theme editor token drawer * add theme editor token drawer * fix bug * open commment * fix error demo * fix theme editor bug * fix: cssinjs effect error * doc: format code * fix: tag click event not trigger * release 4.0.0-alpha.1 * fix: qrcode type * fix: remove not use file * doc: update doc site * doc: update site * doc: fix theme editor bgcolor (#6358) * fix: motion not work * release 4.0.0-alpha.2 * fix: qrcode ; error, close #6362 * fix docs dark theme & add docs coverDark (#6367) * fix docs dark theme & add docs coverDark * fix theme Editor edit * fix: dropdown divider disappear, close #6365 (#6369) * doc: update baner * fix: button wave not work * fix: ant-piker-cell-range-hover-end style error (#6373) * fix: ant-piker-cell-range-hover-end style error * feat: be consistent with antd * feat: be consistent with antd * fix: ConfigProvider error for style, close #6368 * release 4.0.0-alpha.4 * style: add dark style for `pre` and `code` (#6382) * docs: version menu (#6390) * Feat(DatePicker): increase presets prop (#6387) * feat(date-picker): add PresetDate type * feat(date-picker): add usePresets hook * feat(date-picker): add PresetPanel Component * feat(date-picker): add PresetPanel Component * feat(demo): update Preset Ranges Examples * feat(docs): add new prop presets * feat(docs): add new prop presets with english * fix(RangePicker): footer is not managed by panels * chore(Picker): prefixCls default rc-picker * chore(date-picker): update presetted-ranges demo * chore(date-picker): update rangePickerProps'presets * feat(date-picker): presets reactively processing * chore(date-picker): update type * refactor(RangePicker): deprecated ranges prop * chore(date-picker): update type * chore(PickerPanel): del notuse panelRef --------- Co-authored-by: tangjinzhou <415800467@qq.com> * fix: datepicker presets error #6387 * docs: update datepicker doc #6387 * feat(Steps): add items prop and variants (#6406) * refactor(steps): add items prop and variants * feat(steps): add Label Placement and Inline Steps demo * feat(steps): Label Placement and Inline Steps snap * test(steps): Steps demo snap * feat(Steps): update docs * fix(Step): progressDot * chore(useLegacyItems): change from warning to devWarning * refactor(Steps): Remove useLegacyItems * refactor(Steps): renderStep * test(Steps): update test snapshot * chore(Steps): filterEmpty * feat(Steps): update docs * docs: update site * refactor: steps #6406 * test: update steps * perf: shallowRef instead ref * fix(Modal): fix modal locale (#6423) * feat(StyleProvider): add StyleProvider handle cssinjs features (#6415) * feat(StyleProvider): StyleProvider * feat(StyleProvider): refactor to use context * chore(StyleProvider): update AStyleProviderProps type * chore(App): reback * chore(StyleProvider): export StyleProvider * feat(StyleProvider): update StyleProvider docs * feat(StyleProvider): update StyleProvider docs * feat(StyleProvider): add StyleProvider docs routes * chore(StyleProvider): with useStyleProvider * docs: update compatiple #6415 * feat(Progress): enhance size prop and add variants (#6409) * refactor(progress): Progress size and add variants * feat(progress): add `getsize` * refactor(progress): Progress size and add variants * chore(progress): update props type * chore(progress): update props type * feat(progress): update demo * feat(progress): update docs * test(progress): update test snap * fix(Circle): Merging classes * test(progress): update test snap * feat(progress): add size demo * test(progress): add size snapshot * chore(Progress): reback Circle svg class change * fix: progress borderRadius reactive #6409 * fix(defaultConfigProvider): add getPopupContainer (#6425), close #6419 * fix: qrcode size error, close #6418 * release 4.0.0-alpha.4 * fix: picker import error * test: add QRCode unit testing (#6441) * fix * fix compile type errors * fix menuprops type import * fix lint errors * fix lint errors * fix format error * fix node version * fix run dist error * fix run lint * fix as any * fix string type * fix steps error & fix docs version select option & fix theme editor error * fix(badge): badge props count default value error (#6433) * docs: update site responsive * fix: modal api method i18n not work, close #6438 * release 4.0.0-alpha.5 * chore(docs): update docs (#6446) * docs(space): update demo * docs(affix): update docs * fix: cssinjs compatibility (#6454) * feat: add convertLegacyToken * docs: v4 vuedocs (#6468) * fix introduce doc * fix getting-started doc * add migration-v4 doc * fix docs * Update migration-v4.zh-CN.md * Update migration-v4.zh-CN.md * Update migration-v4.en-US.md * Update migration-v4.zh-CN.md * Update getting-started.en-US.md * Update getting-started.zh-CN.md * Update introduce.en-US.md * Update introduce.zh-CN.md --------- Co-authored-by: tangjinzhou <415800467@qq.com> * feat: remove backtop * feat(anchor): add direction action (#6447) * refactor(anchor): direction show * refactor(anchor): update anchor css * feat(anchor): update demo * test(anchor): update demo test snap * feat(anchor): update docs * Update index.zh-CN.md * Update index.en-US.md --------- Co-authored-by: tangjinzhou <415800467@qq.com> * feat: anchor add customTitle slot #6447 * docs: update doc anchor * feat(menu): icon support function components with items and update demo (#6457) * fix(menu): icon do not show problem * fix(menu): icon do not show problem * feat(menu): update demo * test(menu): update demo snap * chore(Menu): update docs * test(Menu): update demo * Update MenuItem.tsx * Update SubMenu.tsx --------- Co-authored-by: tangjinzhou <415800467@qq.com> * doc: update menu icon * feat: menu items icon add arg * fix: antd.min error * release 4.0.0-alpha.6 * fix: table resizable not work && type error (#6514) * Refactor(demo): change options to composition api (#6499) * feat(demo): A-B * feat(demo): update B-checkbox * feat(demo): update CheckBox -DatePicker * feat(demo): update DatePicker - Form * feat(demo): update Form - List * feat(demo): update List-pagination * feat(demo): update List - skeleton * feat(demo): update skeleton - switch * feat(demo): update skeleton - switch * feat(demo): update switch - upload * feat(demo): update watermark * fix(demo): del hashId * fix: submenu type lose theme * fix: dropdown menu hide error * fix: dealing with switching topics modal, notification, message does not take effect close #6512 (#6518) * fix: resolve dark mode not support * fix: unified expression * feat(modal): add useModal (#6517) * feat(modal): add useModal hook * feat(modal): add HookModal demo * test(modal): update HookModal demo snap * feat(modal): update modal docs * chore(modal): update modal type * perf: useModal #6517 * release 4.0.0-beta.1 * docs: fix tab demo error * fix(config-provider): fix ConfigProvider.config is not function close #6528 (#6529) * Feat(use): add useMessage useNotification (#6527) * feat(Message): add useMessage hook * feat(Notification): add useNotification hook * feat(Message): add Hook demo * feat(Notification): add Hook demo * test(Message): update demo snap * test(Notification): update demo snap * docs(Message): update docs with FAQ * docs(Notification): update docs with FAQ * refactor: useMessage #6527 * refactor: useNotification #6527 * release 4.0.0-beta.2 * docs(button): update demo with space (#6536) * feat(button): demo space * test(button): update demo snap * chore(button): disabled demo Ghost space * test(button): update disabled demo snap * docs(introduce): update docs (#6539) * docs(introduce): update docs * docs(introduce): add Dollar * Update introduce.zh-CN.md * Update introduce.en-US.md --------- Co-authored-by: tangjinzhou <415800467@qq.com> * docs(customize-theme): update docs (#6540) * fix introduce doc * fix getting-started doc * add migration-v4 doc * fix docs * Update migration-v4.zh-CN.md * Update migration-v4.zh-CN.md * Update migration-v4.en-US.md * Update migration-v4.zh-CN.md * Update getting-started.en-US.md * Update getting-started.zh-CN.md * Update introduce.en-US.md * Update introduce.zh-CN.md * update customize-theme doc & fix migration-v4 error * update customize-theme doc * fix migration-v4 error * remove SSR & shadowDom * Update customize-theme.zh-CN.md * Update customize-theme.en-US.md --------- Co-authored-by: tangjinzhou <415800467@qq.com> * fix: getPopupContainer not work * release 4.0.0-beta.3 * release 4.0.0-beta.4 * docs: update grid docs (#6549) Co-authored-by: zhuzhengjian <zhuzhengjian@hoteamsoft.com> * test(alert): update demo with space (#6541) * docs(alert): update demo with space * docs(alert): update alert test snap --------- Co-authored-by: zhuzhengjian <zhuzhengjian@hoteamsoft.com> * fix: components bug & update docs (#6548) * fix bug * fix test case and update snapshot,fix space merge class * docs(grid): update migrate docs && delete xxxl in grid docs (#6562) * fix: segmentd disabled label is undefined (#6556) * fix: segmentd disabled label is undefined * fix: segmentd disabled label is undefined * fix: segmentd disabled label is undefined * fix(grid): remove grid xxxl attribute (#6572) * fix: remove grid xxxl attribute * docs: remove xxxl in grid docs * fix: tooltip custom color error * feat: remove Step __legacy * feat: add tour (#6332) * feat v4 add tour * fix type error * sync tour from antd5.4.6 & fix type error * fix error * refactor: tour #6332 * fix: tour center * fix: picker support v-show * test: update snap * test: update tour test * fix: tour-mask attrs pointer-events (#6577) * fix: tour animated * feat: support vue 3.3 slot type * release 4.0.0-rc.1 * release 4.0.0-rc.2, close #6588 * 4.0.0-rc.3 * chore: remove vue private api * fix: paginantion error, close #6590 * release 4.0.0-rc.4 * fix: checxbox style * fix: pagination mini size style * release 4.0.0-rc.5 * docs: update v4 tabs doc error(#6606) (#6607) * docs: add ant-design-vue nuxt module (#6620) * fix: layout-sider and menu transition style(#6637) (#6640) * docs: fixed the style error of online demo (#6630) * feat: ✨checkbox label slot support use option label (#6642) * docs: 📃change the default setting of "treeNodeFilterProp" from "value" to "label" * revert: ↩revert this config and create another pr to commit * feat: ✨checkbox label slot support use option label * test: 🧪update checkbox *.snap file --------- Co-authored-by: tangjinzhou <415800467@qq.com> * fix: add disabledContext override with form components (#6618) * fix: add disabledContext override with form components * test: update snap * fix: LabelWidth demo filename * fix: fontsize spelling mistake * fix(tour): target position (#6629) * style: format lint * docs(form): add form disabled demo (#6658) * fix: comment node error * release 4.0 * fix: portalWrapper add autoLock prop (#6687), close #6649 * fix: image animation & zindex, close #6675 * docs(QRCode): Synchronize QR code demonstration and add SVG (#6660) * fix: Synchronize QR code demonstration and add SVG * fix: responsive loss and invalid border style * docs: synchronize antd5.6.3 QRCode color in dark mode * feat: calendar select support info.source param (#6697) * docs: add ant-design-vue nuxt module * feat: calendar select support info.source param * docs: synchronous config-provider demo (#6706) * revert: #6706 * docs: export space-compact types (#6716) * release 4.0.0 --------- Co-authored-by: bqy_fe <1743369777@qq.com> Co-authored-by: zkwolf <chenhao5866@gmail.com> Co-authored-by: Zev Zhu <45655660+aibayanyu20@users.noreply.github.com> Co-authored-by: lyn <76365499@qq.com> Co-authored-by: 果冻橙 <shifeng199307@gmail.com> Co-authored-by: songsong0707 <74165917+songsong0707@users.noreply.github.com> Co-authored-by: yang <30883395+webvs2@users.noreply.github.com> Co-authored-by: selicens <1244620067@qq.com> Co-authored-by: 一堆菠萝 <53335668+JavanShen@users.noreply.github.com> Co-authored-by: H1mple <35363759+baohangxing@users.noreply.github.com> Co-authored-by: Cherry7 <79909910+CCherry07@users.noreply.github.com> Co-authored-by: Konv Suu <2583695112@qq.com> Co-authored-by: luoawai <32483950+luoawai@users.noreply.github.com> Co-authored-by: 鱼见 <657715602@qq.com> Co-authored-by: zhuzhengjian <zhuzhengjian@hoteamsoft.com> Co-authored-by: Cupid Valentine <53572196+valcosmos@users.noreply.github.com> Co-authored-by: 专业逮虾户aa <30494925+waldonUB@users.noreply.github.com> Co-authored-by: PanStar <PanStar@users.noreply.github.com>
2023-07-14 03:58:27 +00:00
import type { MapToken } from './interface';
import formatToken from './util/alias';
export default function convertLegacyToken(mapToken: MapToken) {
const token = formatToken(mapToken as any);
const raw = {
theme: 'default',
'ant-prefix': 'ant',
'html-selector': 'html',
// -------- Colors -----------
// >>> Primary
'primary-color': token.colorPrimary,
'primary-color-hover': token.colorPrimaryHover,
'primary-color-active': token.colorPrimaryActive,
'primary-color-outline': 'fade(@primary-color, @outline-fade)',
'processing-color': token.colorPrimary,
// >>> Info
'info-color': token.colorInfo,
'info-color-deprecated-bg': token.colorInfoBg,
'info-color-deprecated-border': token.colorInfoBorder,
// >>> Success
'success-color': token.colorSuccess,
'success-color-hover': token.colorSuccessBgHover,
'success-color-active': token.colorSuccessActive,
'success-color-outline': 'fade(@success-color, @outline-fade)',
'success-color-deprecated-bg': token.colorSuccessBg,
'success-color-deprecated-border': token.colorSuccessBorder,
// >>> Warning
'warning-color': token.colorWarning,
'warning-color-hover': token.colorWarningHover,
'warning-color-active': token.colorWarningActive,
'warning-color-outline': 'fade(@warning-color, @outline-fade)',
'warning-color-deprecated-bg': token.colorWarningBg,
'warning-color-deprecated-border': token.colorWarningBorder,
// >>> Error
'error-color': token.colorError,
'error-color-hover': token.colorErrorHover,
'error-color-active': token.colorErrorActive,
'error-color-outline': 'fade(@error-color, @outline-fade)',
'error-color-deprecated-bg': token.colorErrorBg,
'error-color-deprecated-border': token.colorErrorBorder,
'highlight-color': token.colorHighlight,
'normal-color': '#d9d9d9',
white: token.colorWhite,
black: '#000',
// Color used by default to control hover and active backgrounds and for
// alert info backgrounds.
'primary-1': token.colorPrimaryBg,
'primary-2': token.colorPrimaryBgHover,
'primary-3': token.colorPrimaryBorder,
'primary-4': token.colorPrimaryBorderHover,
'primary-5': token.colorPrimaryHover,
'primary-6': token.colorPrimary,
'primary-7': token.colorPrimaryActive,
'primary-8': token.colorPrimaryTextHover,
'primary-9': token.colorPrimaryText,
'primary-10': token.colorPrimaryTextActive,
// Base Scaffolding Variables
// ---
// Background color for `<body>`
'body-background': token.colorBgBase,
// Base background color for most components
'component-background': token.colorBgContainer,
// Popover background color
'popover-background': token.colorBgElevated,
'popover-customize-border-color': token.colorSplit,
'font-family': token.fontFamily,
'code-family': "'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace",
'text-color': token.colorText,
'text-color-secondary': token.colorTextSecondary,
'text-color-inverse': token.colorWhite,
'icon-color': token.colorIcon,
'icon-color-hover': token.colorIconHover,
'heading-color': token.colorTextHeading,
'text-color-dark': 'fade(@white, 85%)',
'text-color-secondary-dark': 'fade(@white, 65%)',
'text-selection-bg': token.colorPrimary,
'font-variant-base': 'tabular-nums',
'font-feature-settings-base': 'tnum',
'font-size-base': token.fontSize,
'font-size-lg': token.fontSizeLG,
'font-size-sm': token.fontSizeSM,
'heading-1-size': token.fontSizeHeading1,
'heading-2-size': token.fontSizeHeading2,
'heading-3-size': token.fontSizeHeading3,
'heading-4-size': token.fontSizeHeading4,
'heading-5-size': token.fontSizeHeading5,
// https://github.com/ant-design/ant-design/issues/20210
'line-height-base': token.lineHeight,
'border-radius-base': token.borderRadius,
'border-radius-sm': token.borderRadiusSM,
// control border
'control-border-radius': token.borderRadius,
// arrow border
'arrow-border-radius': token.borderRadiusSM, // 2px;
// vertical paddings
'padding-lg': token.paddingLG,
'padding-md': token.padding,
'padding-sm': token.paddingSM,
'padding-xs': token.paddingXS,
'padding-xss': token.paddingXXS,
// vertical padding for all form controls
'control-padding-horizontal': token.paddingSM, //@padding-sm;
'control-padding-horizontal-sm': token.paddingXS, // @padding-xs;
// vertical margins
'margin-lg': token.marginLG,
'margin-md': token.margin,
'margin-sm': token.marginSM,
'margin-xs': token.marginXS,
'margin-xss': token.marginXXS,
// height rules
'height-base': token.controlHeight,
'height-lg': token.controlHeightLG,
'height-sm': token.controlHeightSM,
// The background colors for active and hover states for things like
// list items or table cells.
'item-active-bg': token.controlItemBgActive,
'item-hover-bg': token.controlItemBgHover,
// ICONFONT
'iconfont-css-prefix': 'anticon',
// LINK
'link-color': token.colorLink,
'link-hover-color': token.colorLinkHover,
'link-active-color': token.colorLinkActive,
'link-decoration': 'none',
'link-hover-decoration': 'none',
'link-focus-decoration': 'none',
'link-focus-outline': 0,
// Animation
'ease-base-out': token.motionEaseOut,
'ease-base-in': 'cubic-bezier(0.9, 0, 0.3, 0.7)',
'ease-out': token.motionEaseOut,
'ease-in': 'cubic-bezier(0.55, 0.055, 0.675, 0.19)',
'ease-in-out': token.motionEaseInOut,
'ease-out-back': token.motionEaseOutBack,
'ease-in-back': 'cubic-bezier(0.71, -0.46, 0.88, 0.6)',
'ease-in-out-back': 'cubic-bezier(0.71, -0.46, 0.29, 1.46)',
'ease-out-circ': token.motionEaseOutCirc,
'ease-in-circ': 'cubic-bezier(0.6, 0.04, 0.98, 0.34)',
'ease-in-out-circ': token.motionEaseInOutCirc,
'ease-out-quint': token.motionEaseOutQuint,
'ease-in-quint': token.motionEaseInQuint,
'ease-in-out-quint': 'cubic-bezier(0.86, 0, 0.07, 1)',
// Border color
'border-color-base': token.colorBorder,
'border-color-split': token.colorSplit,
'border-color-inverse': token.colorWhite,
'border-width-base': token.lineWidth,
'border-style-base': 'solid',
// Outline
'outline-blur-size': 0,
'outline-width': token.controlOutlineWidth,
'outline-color': token.controlOutline,
'outline-fade': '20%',
'background-color-light': 'hsv(0, 0, 98%)', // background of header and selected item
'background-color-base': 'hsv(0, 0, 96%)', // Default grey background color
// Disabled states
'disabled-color': token.colorTextDisabled,
'disabled-bg': token.colorBgContainerDisabled,
'disabled-active-bg': token.colorBgContainerDisabled, // tint(@black, 90%);
'disabled-color-dark': 'fade(#fff, 35%)',
// Shadow
'shadow-color': 'rgba(0, 0, 0, 0.15)',
'shadow-color-inverse': token.colorBgContainer,
'box-shadow-base': token.boxShadow,
'shadow-1-up': token.boxShadowDrawerUp,
'shadow-1-down': token.boxShadowDrawerDown,
'shadow-1-left': token.boxShadowDrawerLeft,
'shadow-1-right': token.boxShadowDrawerRight,
'shadow-2': token.boxShadowSecondary,
// ==========================================================================
// == Components ==
// ==========================================================================
// Buttons
'btn-font-weight': '400',
'btn-border-radius-base': '@border-radius-base',
'btn-border-radius-sm': '@border-radius-base',
'btn-border-width': '@border-width-base',
'btn-border-style': '@border-style-base',
'btn-shadow': '0 2px 0 rgba(0, 0, 0, 0.015)',
'btn-primary-shadow': '0 2px 0 rgba(0, 0, 0, 0.045)',
'btn-text-shadow': '0 -1px 0 rgba(0, 0, 0, 0.12)',
'btn-primary-color': '#fff',
'btn-primary-bg': '@primary-color',
'btn-default-color': '@text-color',
'btn-default-bg': '@component-background',
'btn-default-border': '@border-color-base',
'btn-danger-color': '#fff',
'btn-danger-bg': '@error-color',
'btn-danger-border': '@error-color',
'btn-disable-color': '@disabled-color',
'btn-disable-bg': '@disabled-bg',
'btn-disable-border': '@border-color-base',
'btn-default-ghost-color': '@component-background',
'btn-default-ghost-bg': 'transparent',
'btn-default-ghost-border': '@component-background',
'btn-font-size-lg': '@font-size-lg',
'btn-font-size-sm': '@font-size-base',
'btn-padding-horizontal-base': '@padding-md - 1px',
'btn-padding-horizontal-lg': '@btn-padding-horizontal-base',
'btn-padding-horizontal-sm': '@padding-xs - 1px',
'btn-height-base': '@height-base',
'btn-height-lg': '@height-lg',
'btn-height-sm': '@height-sm',
'btn-line-height': '@line-height-base',
'btn-circle-size': '@btn-height-base',
'btn-circle-size-lg': '@btn-height-lg',
'btn-circle-size-sm': '@btn-height-sm',
'btn-square-size': '@btn-height-base',
'btn-square-size-lg': '@btn-height-lg',
'btn-square-size-sm': '@btn-height-sm',
'btn-square-only-icon-size': '@font-size-base + 2px',
'btn-square-only-icon-size-sm': '@font-size-base',
'btn-square-only-icon-size-lg': '@btn-font-size-lg + 2px',
'btn-group-border': '@primary-5',
'btn-link-hover-bg': 'transparent',
'btn-text-hover-bg': 'rgba(0, 0, 0, 0.018)',
// Checkbox
'checkbox-size': '16px',
'checkbox-color': '@primary-color',
'checkbox-check-color': '#fff',
'checkbox-check-bg': '@checkbox-check-color',
'checkbox-border-width': '@border-width-base',
'checkbox-border-radius': '@border-radius-base',
'checkbox-group-item-margin-right': '8px',
// Descriptions
'descriptions-bg': '#fafafa',
'descriptions-title-margin-bottom': '20px',
'descriptions-default-padding': '@padding-md @padding-lg',
'descriptions-middle-padding': '@padding-sm @padding-lg',
'descriptions-small-padding': '@padding-xs @padding-md',
'descriptions-item-padding-bottom': '@padding-md',
'descriptions-item-trailing-colon': 'true',
'descriptions-item-label-colon-margin-right': '8px',
'descriptions-item-label-colon-margin-left': '2px',
'descriptions-extra-color': '@text-color',
// Divider
'divider-text-padding': '1em',
'divider-orientation-margin': '5%',
'divider-color': 'rgba(0, 0, 0, 6%)',
'divider-vertical-gutter': '8px',
// Dropdown
'dropdown-selected-color': '@primary-color',
'dropdown-menu-submenu-disabled-bg': '@component-background',
'dropdown-selected-bg': '@item-active-bg',
// Empty
'empty-font-size': '@font-size-base',
// Radio
'radio-size': '16px',
'radio-top': '0.2em',
'radio-border-width': '1px',
'radio-dot-size': '@radio-size - 8px',
'radio-dot-color': '@primary-color',
'radio-dot-disabled-color': 'fade(@black, 20%)',
'radio-solid-checked-color': '@component-background',
// Radio buttons
'radio-button-bg': '@btn-default-bg',
'radio-button-checked-bg': '@btn-default-bg',
'radio-button-color': '@btn-default-color',
'radio-button-hover-color': '@primary-5',
'radio-button-active-color': '@primary-7',
'radio-button-padding-horizontal': '@padding-md - 1px',
'radio-disabled-button-checked-bg': '@disabled-active-bg',
'radio-disabled-button-checked-color': '@disabled-color',
'radio-wrapper-margin-right': '8px',
// Media queries breakpoints
// @screen-xs and @screen-xs-min is not used in Grid
// smallest break point is @screen-md
'screen-xs': '480px',
'screen-xs-min': '@screen-xs',
// 👆 Extra small screen / phone
// 👇 Small screen / tablet
'screen-sm': '576px',
'screen-sm-min': '@screen-sm',
// Medium screen / desktop
'screen-md': '768px',
'screen-md-min': '@screen-md',
// Large screen / wide desktop
'screen-lg': '992px',
'screen-lg-min': '@screen-lg',
// Extra large screen / full hd
'screen-xl': '1200px',
'screen-xl-min': '@screen-xl',
// Extra extra large screen / large desktop
'screen-xxl': '1600px',
'screen-xxl-min': '@screen-xxl',
// provide a maximum
'screen-xs-max': '(@screen-sm-min - 1px)',
'screen-sm-max': '(@screen-md-min - 1px)',
'screen-md-max': '(@screen-lg-min - 1px)',
'screen-lg-max': '(@screen-xl-min - 1px)',
'screen-xl-max': '(@screen-xxl-min - 1px)',
// Grid system
'grid-columns': '24',
// Layout
'layout-body-background': '#f0f2f5',
'layout-header-background': '#001529',
'layout-header-height': '64px',
'layout-header-padding': '0 50px',
'layout-header-color': '@text-color',
'layout-footer-padding': '24px 50px',
'layout-footer-background': '@layout-body-background',
'layout-sider-background': '@layout-header-background',
'layout-trigger-height': '48px',
'layout-trigger-background': '#002140',
'layout-trigger-color': '#fff',
'layout-zero-trigger-width': '36px',
'layout-zero-trigger-height': '42px',
// Layout light theme
'layout-sider-background-light': '#fff',
'layout-trigger-background-light': '#fff',
'layout-trigger-color-light': '@text-color',
// z-index list, order by `z-index`
'zindex-badge': 'auto',
'zindex-table-fixed': '2',
'zindex-affix': '10',
'zindex-back-top': '10',
'zindex-picker-panel': '10',
'zindex-popup-close': '10',
'zindex-modal': '1000',
'zindex-modal-mask': '1000',
'zindex-message': '1010',
'zindex-notification': '1010',
'zindex-popover': '1030',
'zindex-dropdown': '1050',
'zindex-picker': '1050',
'zindex-popoconfirm': '1060',
'zindex-tooltip': '1070',
'zindex-image': '1080',
// Animation
'animation-duration-slow': '0.3s', // Modal
'animation-duration-base': '0.2s',
'animation-duration-fast': '0.1s', // Tooltip
//CollapsePanel
'collapse-panel-border-radius': '@border-radius-base',
//Dropdown
'dropdown-menu-bg': '@component-background',
'dropdown-vertical-padding': '5px',
'dropdown-edge-child-vertical-padding': '4px',
'dropdown-font-size': '@font-size-base',
'dropdown-line-height': '22px',
// Form
// ---
'label-required-color': '@highlight-color',
'label-color': '@heading-color',
'form-warning-input-bg': '@input-bg',
'form-item-margin-bottom': '24px',
'form-item-trailing-colon': 'true',
'form-vertical-label-padding': '0 0 8px',
'form-vertical-label-margin': '0',
'form-item-label-font-size': '@font-size-base',
'form-item-label-height': '@input-height-base',
'form-item-label-colon-margin-right': '8px',
'form-item-label-colon-margin-left': '2px',
'form-error-input-bg': '@input-bg',
// Input
// ---
'input-height-base': '@height-base',
'input-height-lg': '@height-lg',
'input-height-sm': '@height-sm',
'input-padding-horizontal': '@control-padding-horizontal - 1px',
'input-padding-horizontal-base': '@input-padding-horizontal',
'input-padding-horizontal-sm': '@control-padding-horizontal-sm - 1px',
'input-padding-horizontal-lg': '@input-padding-horizontal',
'input-padding-vertical-base': `max(
(round(((@input-height-base - @font-size-base * @line-height-base) / 2) * 10) / 10) -
@border-width-base,
3px
)`,
'input-padding-vertical-sm': `max(
(round(((@input-height-sm - @font-size-base * @line-height-base) / 2) * 10) / 10) -
@border-width-base,
0
)`,
'input-padding-vertical-lg': `(
ceil(((@input-height-lg - @font-size-lg * @line-height-base) / 2) * 10) / 10
) - @border-width-base`,
'input-placeholder-color': 'hsv(0, 0, 75%)',
'input-color': '@text-color',
'input-icon-color': '@input-color',
'input-border-color': '@border-color-base',
'input-bg': '@component-background',
'input-number-hover-border-color': '@input-hover-border-color',
'input-number-handler-active-bg': '#f4f4f4',
'input-number-handler-hover-bg': '@primary-5',
'input-number-handler-bg': '@component-background',
'input-number-handler-border-color': '@border-color-base',
'input-addon-bg': '@background-color-light',
'input-hover-border-color': '@primary-5',
'input-disabled-bg': '@disabled-bg',
'input-outline-offset': '0 0',
'input-icon-hover-color': 'fade(@black, 85%)',
'input-disabled-color': '@disabled-color',
// Mentions
// ---
'mentions-dropdown-bg': '@component-background',
'mentions-dropdown-menu-item-hover-bg': '@mentions-dropdown-bg',
// Select
// ---
'select-border-color': '@border-color-base',
'select-item-selected-color': '@text-color',
'select-item-selected-font-weight': '600',
'select-dropdown-bg': '@component-background',
'select-item-selected-bg': '@primary-1',
'select-item-active-bg': '@item-hover-bg',
'select-dropdown-vertical-padding': '@dropdown-vertical-padding',
'select-dropdown-font-size': '@dropdown-font-size',
'select-dropdown-line-height': '@dropdown-line-height',
'select-dropdown-height': '32px',
'select-background': '@component-background',
'select-clear-background': '@select-background',
'select-selection-item-bg': '@background-color-base',
'select-selection-item-border-color': '@border-color-split',
'select-single-item-height-lg': '40px',
'select-multiple-item-height': '@input-height-base - @input-padding-vertical-base * 2', // Normal 24px
'select-multiple-item-height-lg': '32px',
'select-multiple-item-spacing-half': 'ceil((@input-padding-vertical-base / 2))',
'select-multiple-disabled-background': '@input-disabled-bg',
'select-multiple-item-disabled-color': '#bfbfbf',
'select-multiple-item-disabled-border-color': '@select-border-color',
// Cascader
// ---
'cascader-bg': '@component-background',
'cascader-item-selected-bg': '@primary-1',
'cascader-menu-bg': '@component-background',
'cascader-menu-border-color-split': '@border-color-split',
// Cascader
// ----
'cascader-dropdown-vertical-padding': '@dropdown-vertical-padding',
'cascader-dropdown-edge-child-vertical-padding': '@dropdown-edge-child-vertical-padding',
'cascader-dropdown-font-size': '@dropdown-font-size',
'cascader-dropdown-line-height': '@dropdown-line-height',
// Anchor
// ---
'anchor-bg': 'transparent',
'anchor-border-color': '@border-color-split',
'anchor-link-top': '4px',
'anchor-link-left': '16px',
'anchor-link-padding': '@anchor-link-top 0 @anchor-link-top @anchor-link-left',
// Tooltip
// ---
// Tooltip max width
'tooltip-max-width': '250px',
// Tooltip text color
'tooltip-color': '#fff',
// Tooltip background color
'tooltip-bg': 'rgba(0, 0, 0, 0.75)',
// Tooltip arrow width
'tooltip-arrow-width': '8px * sqrt(2)',
// Tooltip distance with trigger
'tooltip-distance': '@tooltip-arrow-width - 1px + 4px',
// Tooltip arrow color
'tooltip-arrow-color': '@tooltip-bg',
'tooltip-border-radius': '@border-radius-base',
// Popover
// ---
// Popover body background color
'popover-bg': '@component-background',
// Popover text color
'popover-color': '@text-color',
// Popover maximum width
'popover-min-width': '177px',
'popover-min-height': '32px',
// Popover arrow width
'popover-arrow-width': '@tooltip-arrow-width',
// Popover arrow color
'popover-arrow-color': '@popover-bg',
// Popover outer arrow width
// Popover outer arrow color
'popover-arrow-outer-color': '@popover-bg',
// Popover distance with trigger
'popover-distance': '@popover-arrow-width + 4px',
'popover-padding-horizontal': '@padding-md',
// Modal
// --
'modal-header-padding-vertical': '@padding-md',
'modal-header-padding-horizontal': '@padding-lg',
'modal-body-padding': '@padding-lg',
'modal-header-bg': '@component-background',
'modal-header-padding': '@modal-header-padding-vertical @modal-header-padding-horizontal',
'modal-header-border-width': '@border-width-base',
'modal-header-border-style': '@border-style-base',
'modal-header-title-line-height': '22px',
'modal-header-title-font-size': '@font-size-lg',
'modal-header-border-color-split': '@border-color-split',
'modal-header-close-size':
'@modal-header-title-line-height + 2 * @modal-header-padding-vertical',
'modal-content-bg': '@component-background',
'modal-heading-color': '@heading-color',
'modal-close-color': '@text-color-secondary',
'modal-footer-bg': 'transparent',
'modal-footer-border-color-split': '@border-color-split',
'modal-footer-border-style': '@border-style-base',
'modal-footer-padding-vertical': '10px',
'modal-footer-padding-horizontal': '16px',
'modal-footer-border-width': '@border-width-base',
'modal-mask-bg': 'fade(@black, 45%)',
'modal-confirm-body-padding': '32px 32px 24px',
'modal-confirm-title-font-size': '@font-size-lg',
'modal-border-radius': '@border-radius-base',
// Progress
// --
'progress-default-color': '@processing-color',
'progress-remaining-color': '@background-color-base',
'progress-info-text-color': '@progress-text-color',
'progress-radius': '100px',
'progress-steps-item-bg': '#f3f3f3',
'progress-text-font-size': '1em',
'progress-text-color': '@text-color', // This is for circle text color, should be renamed better
'progress-circle-text-font-size': '1em',
// Menu
// ---
'menu-inline-toplevel-item-height': '40px',
'menu-item-height': '40px',
'menu-item-group-height': '@line-height-base',
'menu-collapsed-width': '80px',
'menu-bg': '@component-background',
'menu-popup-bg': '@component-background',
'menu-item-color': '@text-color',
'menu-inline-submenu-bg': '@background-color-light',
'menu-highlight-color': '@primary-color',
'menu-highlight-danger-color': '@error-color',
'menu-item-active-bg': '@primary-1',
'menu-item-active-danger-bg': '@red-1',
'menu-item-active-border-width': '3px',
'menu-item-group-title-color': '@text-color-secondary',
'menu-item-vertical-margin': '4px',
'menu-item-font-size': '@font-size-base',
'menu-item-boundary-margin': '8px',
'menu-item-padding-horizontal': '20px',
'menu-item-padding': '0 @menu-item-padding-horizontal',
'menu-horizontal-line-height': '46px',
'menu-icon-margin-right': '10px',
'menu-icon-size': '@menu-item-font-size',
'menu-icon-size-lg': '@font-size-lg',
'menu-item-group-title-font-size': '@menu-item-font-size',
// dark theme
'menu-dark-color': '@text-color-secondary-dark',
'menu-dark-danger-color': '@error-color',
'menu-dark-bg': '@layout-header-background',
'menu-dark-arrow-color': '#fff',
'menu-dark-inline-submenu-bg': '#000c17',
'menu-dark-highlight-color': '#fff',
'menu-dark-item-active-bg': '@primary-color',
'menu-dark-item-active-danger-bg': '@error-color',
'menu-dark-selected-item-icon-color': '@white',
'menu-dark-selected-item-text-color': '@white',
'menu-dark-item-hover-bg': 'transparent',
// Spin
// ---
'spin-dot-size-sm': '14px',
'spin-dot-size': '20px',
'spin-dot-size-lg': '32px',
// Table
// --
'table-bg': '@component-background',
'table-header-bg': '@background-color-light',
'table-header-color': '@heading-color',
'table-header-sort-bg': '@background-color-base',
'table-body-sort-bg': '#fafafa',
'table-row-hover-bg': '@background-color-light',
'table-selected-row-color': 'inherit',
'table-selected-row-bg': '@primary-1',
'table-body-selected-sort-bg': '@table-selected-row-bg',
'table-selected-row-hover-bg': 'darken(@table-selected-row-bg, 2%)',
'table-expanded-row-bg': '#fbfbfb',
'table-padding-vertical': '16px',
'table-padding-horizontal': '16px',
'table-padding-vertical-md': '(@table-padding-vertical * 3 / 4)',
'table-padding-horizontal-md': '(@table-padding-horizontal / 2)',
'table-padding-vertical-sm': '(@table-padding-vertical / 2)',
'table-padding-horizontal-sm': '(@table-padding-horizontal / 2)',
'table-border-color': '@border-color-split',
'table-border-radius-base': '@border-radius-base',
'table-footer-bg': '@background-color-light',
'table-footer-color': '@heading-color',
'table-header-bg-sm': '@table-header-bg',
'table-font-size': '@font-size-base',
'table-font-size-md': '@table-font-size',
'table-font-size-sm': '@table-font-size',
'table-header-cell-split-color': 'rgba(0, 0, 0, 0.06)',
// Sorter
// Legacy: `table-header-sort-active-bg` is used for hover not real active
'table-header-sort-active-bg': 'rgba(0, 0, 0, 0.04)',
'table-fixed-header-sort-active-bg': 'hsv(0, 0, 96%)',
// Filter
'table-header-filter-active-bg': 'rgba(0, 0, 0, 0.04)',
'table-filter-btns-bg': 'inherit',
'table-filter-dropdown-bg': '@component-background',
'table-expand-icon-bg': '@component-background',
'table-selection-column-width': '32px',
// Sticky
'table-sticky-scroll-bar-bg': 'fade(#000, 35%)',
'table-sticky-scroll-bar-radius': '4px',
// Tag
// --
'tag-border-radius': '@border-radius-base',
'tag-default-bg': '@background-color-light',
'tag-default-color': '@text-color',
'tag-font-size': '@font-size-sm',
'tag-line-height': '20px',
// TimePicker
// ---
'picker-bg': '@component-background',
'picker-basic-cell-hover-color': '@item-hover-bg',
'picker-basic-cell-active-with-range-color': '@primary-1',
'picker-basic-cell-hover-with-range-color': 'lighten(@primary-color, 35%)',
'picker-basic-cell-disabled-bg': 'rgba(0, 0, 0, 0.04)',
'picker-border-color': '@border-color-split',
'picker-date-hover-range-border-color': 'lighten(@primary-color, 20%)',
'picker-date-hover-range-color': '@picker-basic-cell-hover-with-range-color',
'picker-time-panel-column-width': '56px',
'picker-time-panel-column-height': '224px',
'picker-time-panel-cell-height': '28px',
'picker-panel-cell-height': '24px',
'picker-panel-cell-width': '36px',
'picker-text-height': '40px',
'picker-panel-without-time-cell-height': '66px',
// Calendar
// ---
'calendar-bg': '@component-background',
'calendar-input-bg': '@input-bg',
'calendar-border-color': '@border-color-inverse',
'calendar-item-active-bg': '@item-active-bg',
'calendar-column-active-bg': 'fade(@calendar-item-active-bg, 20%)',
'calendar-full-bg': '@calendar-bg',
'calendar-full-panel-bg': '@calendar-full-bg',
// Carousel
// ---
'carousel-dot-width': '16px',
'carousel-dot-height': '3px',
'carousel-dot-active-width': '24px',
// Badge
// ---
'badge-height': '20px',
'badge-height-sm': '14px',
'badge-dot-size': '6px',
'badge-font-size': '@font-size-sm',
'badge-font-size-sm': '@font-size-sm',
'badge-font-weight': 'normal',
'badge-status-size': '6px',
'badge-text-color': '@component-background',
'badge-color': '@highlight-color',
// Rate
// ---
'rate-star-color': '@yellow-6',
'rate-star-bg': '@border-color-split',
'rate-star-size': '20px',
'rate-star-hover-scale': 'scale(1.1)',
// Card
// ---
'card-head-color': '@heading-color',
'card-head-background': 'transparent',
'card-head-font-size': '@font-size-lg',
'card-head-font-size-sm': '@font-size-base',
'card-head-padding': '16px',
'card-head-padding-sm': '(@card-head-padding / 2)',
'card-head-height': '48px',
'card-head-height-sm': '36px',
'card-inner-head-padding': '12px',
'card-padding-base': '24px',
'card-padding-base-sm': '(@card-padding-base / 2)',
'card-actions-background': '@component-background',
'card-actions-li-margin': '12px 0',
'card-skeleton-bg': '#cfd8dc',
'card-background': '@component-background',
'card-shadow': `0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12),
0 5px 12px 4px rgba(0, 0, 0, 0.09)`,
'card-radius': '@border-radius-base',
'card-head-tabs-margin-bottom': '-17px',
'card-head-extra-color': '@text-color',
// Comment
// ---
'comment-bg': 'inherit',
'comment-padding-base': '@padding-md 0',
'comment-nest-indent': '44px',
'comment-font-size-base': '@font-size-base',
'comment-font-size-sm': '@font-size-sm',
'comment-author-name-color': '@text-color-secondary',
'comment-author-time-color': '#ccc',
'comment-action-color': '@text-color-secondary',
'comment-action-hover-color': '#595959',
'comment-actions-margin-bottom': 'inherit',
'comment-actions-margin-top': '@margin-sm',
'comment-content-detail-p-margin-bottom': 'inherit',
// Tabs
// ---
'tabs-card-head-background': '@background-color-light',
'tabs-card-height': '40px',
'tabs-card-active-color': '@primary-color',
'tabs-card-horizontal-padding': `(
(@tabs-card-height - floor(@font-size-base * @line-height-base)) / 2
) - @border-width-base @padding-md`,
'tabs-card-horizontal-padding-sm': '6px @padding-md',
'tabs-card-horizontal-padding-lg': '7px @padding-md 6px',
'tabs-title-font-size': '@font-size-base',
'tabs-title-font-size-lg': '@font-size-lg',
'tabs-title-font-size-sm': '@font-size-base',
'tabs-ink-bar-color': '@primary-color',
'tabs-bar-margin': '0 0 @margin-md 0',
'tabs-horizontal-gutter': '32px',
'tabs-horizontal-margin': '0 0 0 @tabs-horizontal-gutter',
'tabs-horizontal-margin-rtl': '0 0 0 32px',
'tabs-horizontal-padding': '@padding-sm 0',
'tabs-horizontal-padding-lg': '@padding-md 0',
'tabs-horizontal-padding-sm': '@padding-xs 0',
'tabs-vertical-padding': '@padding-xs @padding-lg',
'tabs-vertical-margin': '@margin-md 0 0 0',
'tabs-scrolling-size': '32px',
'tabs-highlight-color': '@primary-color',
'tabs-hover-color': '@primary-5',
'tabs-active-color': '@primary-7',
'tabs-card-gutter': '2px',
'tabs-card-tab-active-border-top': '2px solid transparent',
// BackTop
// ---
'back-top-color': '#fff',
'back-top-bg': '@text-color-secondary',
'back-top-hover-bg': '@text-color',
// Avatar
// ---
'avatar-size-base': '32px',
'avatar-size-lg': '40px',
'avatar-size-sm': '24px',
'avatar-font-size-base': '18px',
'avatar-font-size-lg': '24px',
'avatar-font-size-sm': '14px',
'avatar-bg': '#ccc',
'avatar-color': '#fff',
'avatar-border-radius': '@border-radius-base',
'avatar-group-overlapping': '-8px',
'avatar-group-space': '3px',
'avatar-group-border-color': '#fff',
// Switch
// ---
'switch-height': '22px',
'switch-sm-height': '16px',
'switch-min-width': '44px',
'switch-sm-min-width': '28px',
'switch-disabled-opacity': '0.4',
'switch-color': '@primary-color',
'switch-bg': '@component-background',
'switch-shadow-color': 'fade(#00230b, 20%)',
'switch-padding': '2px',
'switch-inner-margin-min': 'ceil(@switch-height * 0.3)',
'switch-inner-margin-max': 'ceil(@switch-height * 1.1)',
'switch-sm-inner-margin-min': 'ceil(@switch-sm-height * 0.3)',
'switch-sm-inner-margin-max': 'ceil(@switch-sm-height * 1.1)',
// Pagination
// ---
'pagination-item-bg': '@component-background',
'pagination-item-size': '@height-base',
'pagination-item-size-sm': '24px',
'pagination-font-family': '@font-family',
'pagination-font-weight-active': '500',
'pagination-item-bg-active': '@component-background',
'pagination-item-link-bg': '@component-background',
'pagination-item-disabled-color-active': '@disabled-color',
'pagination-item-disabled-bg-active': '@disabled-active-bg',
'pagination-item-input-bg': '@component-background',
'pagination-mini-options-size-changer-top': '0px',
// PageHeader
// ---
'page-header-padding': '@padding-lg',
'page-header-padding-vertical': '@padding-md',
'page-header-padding-breadcrumb': '@padding-sm',
'page-header-content-padding-vertical': '@padding-sm',
'page-header-back-color': '#000',
'page-header-ghost-bg': 'inherit',
'page-header-heading-title': '@heading-4-size',
'page-header-heading-sub-title': '14px',
'page-header-tabs-tab-font-size': '16px',
// Breadcrumb
// ---
'breadcrumb-base-color': '@text-color-secondary',
'breadcrumb-last-item-color': '@text-color',
'breadcrumb-font-size': '@font-size-base',
'breadcrumb-icon-font-size': '@font-size-base',
'breadcrumb-link-color': '@text-color-secondary',
'breadcrumb-link-color-hover': '@text-color',
'breadcrumb-separator-color': '@text-color-secondary',
'breadcrumb-separator-margin': '0 @padding-xs',
// Slider
// ---
'slider-margin': '10px 6px 10px',
'slider-rail-background-color': '@background-color-base',
'slider-rail-background-color-hover': '#e1e1e1',
'slider-track-background-color': '@primary-3',
'slider-track-background-color-hover': '@primary-4',
'slider-handle-border-width': '2px',
'slider-handle-background-color': '@component-background',
'slider-handle-color': '@primary-3',
'slider-handle-color-hover': '@primary-4',
'slider-handle-color-focus': 'tint(@primary-color, 20%)',
'slider-handle-color-focus-shadow': 'fade(@primary-color, 12%)',
'slider-handle-color-tooltip-open': '@primary-color',
'slider-handle-size': '14px',
'slider-handle-margin-top': '-5px',
'slider-handle-margin-left': '-5px',
'slider-handle-shadow': '0',
'slider-dot-border-color': '@border-color-split',
'slider-dot-border-color-active': 'tint(@primary-color, 50%)',
'slider-disabled-color': '@disabled-color',
'slider-disabled-background-color': '@component-background',
// Tree
// ---
'tree-bg': '@component-background',
'tree-title-height': '24px',
'tree-child-padding': '18px',
'tree-directory-selected-color': '#fff',
'tree-directory-selected-bg': '@primary-color',
'tree-node-hover-bg': '@item-hover-bg',
'tree-node-selected-bg': '@primary-2',
// Collapse
// ---
'collapse-header-padding': '@padding-sm @padding-md',
'collapse-header-padding-extra': '40px',
'collapse-header-bg': '@background-color-light',
'collapse-content-padding': '@padding-md',
'collapse-content-bg': '@component-background',
'collapse-header-arrow-left': '16px',
// Skeleton
// ---
'skeleton-color': 'rgba(190, 190, 190, 0.2)',
'skeleton-to-color': 'shade(@skeleton-color, 5%)',
'skeleton-paragraph-margin-top': '28px',
'skeleton-paragraph-li-margin-top': '@margin-md',
'skeleton-paragraph-li-height': '16px',
'skeleton-title-height': '16px',
'skeleton-title-paragraph-margin-top': '@margin-lg',
// Transfer
// ---
'transfer-header-height': '40px',
'transfer-item-height': '@height-base',
'transfer-disabled-bg': '@disabled-bg',
'transfer-list-height': '200px',
'transfer-item-hover-bg': '@item-hover-bg',
'transfer-item-selected-hover-bg': 'darken(@item-active-bg, 2%)',
'transfer-item-padding-vertical': '6px',
'transfer-list-search-icon-top': '12px',
// Message
// ---
'message-notice-content-padding': '10px 16px',
'message-notice-content-bg': '@component-background',
// Motion
// ---
'wave-animation-width': '6px',
// Alert
// ---
'alert-success-border-color': token.colorSuccessBorder,
'alert-success-bg-color': token.colorSuccessBg,
'alert-success-icon-color': token.colorSuccess,
'alert-info-border-color': token.colorInfoBorder,
'alert-info-bg-color': token.colorInfoBg,
'alert-info-icon-color': token.colorInfo,
'alert-warning-border-color': token.colorWarningBorder,
'alert-warning-bg-color': token.colorWarningBg,
'alert-warning-icon-color': token.colorWarning,
'alert-error-border-color': token.colorErrorBorder,
'alert-error-bg-color': token.colorErrorBg,
'alert-error-icon-color': '@error-color',
'alert-message-color': '@heading-color',
'alert-text-color': '@text-color',
'alert-close-color': '@text-color-secondary',
'alert-close-hover-color': '@icon-color-hover',
'alert-padding-vertical': '@padding-xs',
'alert-padding-horizontal': '@padding-md - 1px',
'alert-no-icon-padding-vertical': '@padding-xs',
'alert-with-description-no-icon-padding-vertical': '@padding-md - 1px',
'alert-with-description-padding-vertical': '@padding-md - 1px',
'alert-with-description-padding': `@alert-with-description-padding-vertical 15px
@alert-with-description-no-icon-padding-vertical @alert-with-description-icon-size`,
'alert-icon-top': '8px + @font-size-base * (@line-height-base / 2) - (@font-size-base / 2)',
'alert-with-description-icon-size': '24px',
// List
// ---
'list-header-background': 'transparent',
'list-footer-background': 'transparent',
'list-empty-text-padding': '@padding-md',
'list-item-padding': '@padding-sm 0',
'list-item-padding-sm': '@padding-xs @padding-md',
'list-item-padding-lg': '16px 24px',
'list-item-meta-margin-bottom': '@padding-md',
'list-item-meta-avatar-margin-right': '@padding-md',
'list-item-meta-title-margin-bottom': '@padding-sm',
'list-customize-card-bg': '@component-background',
'list-item-meta-description-font-size': '@font-size-base',
// Statistic
// ---
'statistic-title-font-size': '@font-size-base',
'statistic-content-font-size': '24px',
'statistic-unit-font-size': '24px',
'statistic-font-family': '@font-family',
// Drawer
// ---
'drawer-header-padding': '@padding-md @padding-lg',
'drawer-body-padding': '@padding-lg',
'drawer-bg': '@component-background',
'drawer-footer-padding-vertical': '@modal-footer-padding-vertical',
'drawer-footer-padding-horizontal': '@modal-footer-padding-horizontal',
'drawer-header-close-size': '56px',
'drawer-title-font-size': '@font-size-lg',
'drawer-title-line-height': '22px',
// Timeline
// ---
'timeline-width': '2px',
'timeline-color': '@border-color-split',
'timeline-dot-border-width': '2px',
'timeline-dot-color': '@primary-color',
'timeline-dot-bg': '@component-background',
'timeline-item-padding-bottom': '20px',
// Typography
// ---
'typography-title-font-weight': '600',
'typography-title-margin-top': '1.2em',
'typography-title-margin-bottom': '0.5em',
// Upload
// ---
'upload-actions-color': '@text-color-secondary',
// Steps
// ---
'process-tail-color': '@border-color-split',
'steps-nav-arrow-color': 'fade(@black, 25%)',
'steps-background': '@component-background',
'steps-icon-size': '32px',
'steps-icon-custom-size': '@steps-icon-size',
'steps-icon-custom-top': '0px',
'steps-icon-custom-font-size': '24px',
'steps-icon-top': '-0.5px',
'steps-icon-font-size': '@font-size-lg',
'steps-icon-margin': '0 8px 0 0',
'steps-title-line-height': '@height-base',
'steps-small-icon-size': '24px',
'steps-small-icon-margin': '0 8px 0 0',
'steps-dot-size': '8px',
'steps-dot-top': '2px',
'steps-current-dot-size': '10px',
'steps-description-max-width': '140px',
'steps-nav-content-max-width': 'auto',
'steps-vertical-icon-width': '16px',
'steps-vertical-tail-width': '16px',
'steps-vertical-tail-width-sm': '12px',
// Notification
// ---
'notification-bg': '@component-background',
'notification-padding-vertical': '16px',
'notification-padding-horizontal': '24px',
// Result
// ---
'result-title-font-size': '24px',
'result-subtitle-font-size': '@font-size-base',
'result-icon-font-size': '72px',
'result-extra-margin': '24px 0 0 0',
// Image
// ---
'image-size-base': '48px',
'image-font-size-base': '24px',
'image-bg': '#f5f5f5',
'image-color': '#fff',
'image-mask-font-size': '16px',
'image-preview-operation-size': '18px',
'image-preview-operation-color': '@text-color-dark',
'image-preview-operation-disabled-color': 'fade(@image-preview-operation-color, 25%)',
// Segmented
// ---
'segmented-bg': 'fade(@black, 4%)',
'segmented-hover-bg': 'fade(@black, 6%)',
'segmented-selected-bg': '@white',
'segmented-label-color': 'fade(@black, 65%)',
'segmented-label-hover-color': '#262626',
} as const;
// Fill colors. e.g. '@red-1', '@yellow-6'
Object.keys(token).forEach((key: any) => {
if (key !== key.toLowerCase()) {
return;
}
const value = token[key];
if (typeof value === 'string') {
raw[key] = value;
}
});
// Convert to string
const returnData: Record<keyof typeof raw, string> = {} as any;
Object.keys(raw).forEach(key => {
const value = raw[key];
if (typeof value === 'function') {
returnData[key] = value(raw);
} else if (typeof value === 'number' && !key.includes('line-height')) {
returnData[key] = `${value}px`;
} else {
returnData[key] = `${value}`;
}
});
return returnData;
}