UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

625 lines (545 loc) 18.9 kB
@iconfont: ~'~choerodon-ui-font'; /* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */ @import '@{iconfont}/style/theme'; @import '../color/colors'; // The prefix to use on all css classes from c7n. @c7n-prefix: c7n; @c7n-pro-prefix: c7n-pro; // -------- Colors ----------- @primary-color: @blue-6; @info-color: @blue-6; @success-color: @green-6; @processing-color: @primary-color; @error-color: @red-6; @error-bg-color: #fcebeb; @highlight-color: @red-6; @warning-color: @gold-6; @normal-color: #d9d9d9; @B500: #a6a6a6; // Color used by default to control hover and active backgrounds and for // alert info backgrounds. @primary-1: color(~`colorPalette('@{primary-color}', 1) `); // replace tint(@primary-color, 90%) @primary-2: color(~`colorPalette('@{primary-color}', 2) `); // replace tint(@primary-color, 80%) @primary-3: color(~`colorPalette('@{primary-color}', 3) `); // unused @primary-4: color(~`colorPalette('@{primary-color}', 4) `); // unused @primary-5: color( ~`colorPalette('@{primary-color}', 5) ` ); // color used to control the text color in many active and hover states, replace tint(@primary-color, 20%) @primary-6: @primary-color; // color used to control the text color of active buttons, don't use, use @primary-color @primary-7: color(~`colorPalette('@{primary-color}', 7) `); // replace shade(@primary-color, 5%) @primary-8: color(~`colorPalette('@{primary-color}', 8) `); // unused @primary-9: color(~`colorPalette('@{primary-color}', 9) `); // unused @primary-10: color(~`colorPalette('@{primary-color}', 10) `); // unused // Base Scaffolding Variables // --- // Background color for `<body>` @body-background: #fff; // Base background color for most components @component-background: #fff; @font-family-no-number: 'Chinese Quote', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif; @font-family: 'Monospaced Number', @font-family-no-number; @code-family: Consolas, Menlo, Courier, monospace; @heading-color: fade(#000, 85%); @text-color: fade(#000, 100%); @text-color-secondary: fade(#000, 45%); @heading-color-dark: fade(#fff, 100%); @text-color-dark: fade(#fff, 85%); @text-color-secondary-dark: fade(#fff, 65%); @font-size-base: 0.13rem; @font-size-lg: @font-size-base + 0.03rem; @font-size-sm: @font-size-base - 0.01rem; @line-height-base: 1.5; @border-radius-lg: 0.1rem; @border-radius-base: 0.02rem; @border-radius-sm: 0.02rem; // paddings @padding-lg: 0.24rem; // containers @padding-md: 0.16rem; // small containers and buttons @padding-sm: 0.12rem; // Form controls and items @padding-xs: 0.08rem; // small items @padding-vertical-base: 0.01rem; @padding-vertical-sm: 0.01rem; @padding-vertical-lg: 0.06rem; // vertical padding for all form controls @control-padding-horizontal: @padding-sm; @control-padding-horizontal-sm: @padding-xs; // vertical margins @margin-lg: 24px; // containers @margin-md: 16px; // small containers and buttons @margin-sm: 12px; // Form controls and items @margin-xs: 8px; // small items @margin-xss: 4px; // more small // The background colors for active and hover states for things like // list items or table cells. @item-active-bg: rgba(140, 158, 255, 0.12); @item-hover-bg: @background-color-light; @item-focus-bg: @background-color-light; // use choerodon-ui-font // ICONFONT //@iconfont-css-prefix: icon; //@icon-url: "~choerodon-ui-font/fonts/icomoon"; //Icon //@icon-font-size-base: .18rem; //@icon-font-size-sm: .16rem; //@icon-font-size-lg: .2rem; // LINK @link-color: @primary-color; @link-hover-color: color(~`colorPalette('@{link-color}', 5) `); @link-active-color: color(~`colorPalette('@{link-color}', 7) `); @link-decoration: none; @link-hover-decoration: none; // Animation @ease-out: cubic-bezier(0.215, 0.61, 0.355, 1); @ease-in: cubic-bezier(0.55, 0.055, 0.675, 0.19); @ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1); @ease-out-back: cubic-bezier(0.12, 0.4, 0.29, 1.46); @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: cubic-bezier(0, 0, 0.2, 1); // cubic-bezier(0.08, 0.82, 0.17, 1); @ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.34); @ease-in-out-circ: cubic-bezier(0.78, 0.14, 0.15, 0.86); @ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1); @ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06); @ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1); // Border color @border-color-base: #e0e0e0; // base border outline a component @border-color-split: hsv(0, 0, 91%); // split border inside a component @border-width-base: 0.01rem; // width of the border for a component @border-style-base: solid; // style of a components border // Outline @outline-blur-size: 0; @outline-width: 0.02rem; @outline-color: @primary-color; @background-color-light: fade(#000, 4%); // background of header and selected item @background-color-base: hsv(0, 0, 96%); // Default grey background color // Disabled states @disabled-color: fade(#000, 25%); @disabled-bg: @background-color-base; @disabled-color-dark: fade(#fff, 35%); // Shadow @shadow-color: rgba(0, 0, 0, 0.12); @box-shadow-base: @shadow-1-down; @shadow-1-up: 0 -0.02rem 0.08rem @shadow-color; @shadow-1-down: 0 0.02rem 0.08rem @shadow-color; @shadow-1-left: -0.02rem 0 0.08rem @shadow-color; @shadow-1-right: 0.02rem 0 0.08rem @shadow-color; @shadow-2: 0 0.04rem 0.12rem @shadow-color; @shadow-3: 0 0 0 0.01rem @component-background; @shadow-4: 0 0.05rem 0.05rem -0.03rem rgba(0, 0, 0, 0.2), 0 0.08rem 0.1rem 0.01rem rgba(0, 0, 0, 0.14), 0 0.03rem 0.14rem 0.02rem rgba(0, 0, 0, 0.12); // Buttons @btn-font-weight: 500; @btn-border-radius-base: @border-radius-base; @btn-border-radius-sm: @border-radius-base; @btn-hover-default-color: rgba(0, 0, 0, 0.08); @btn-hover-other-color: rgba(255, 255, 255, 0.08); @btn-primary-color: #fff; @btn-primary-bg: @primary-color; @btn-default-color: @text-color; @btn-default-bg: transparent; @btn-default-border: @border-color-base; @btn-danger-color: @error-color; @btn-danger-bg: rgba(0, 0, 0, 0); @btn-danger-border: @border-color-base; @btn-disable-color: @disabled-color; @btn-disable-bg: transparent; @btn-disable-border: @border-color-base; @btn-line-height: 1.5; @btn-padding-base: 0 @padding-sm - 0.02rem; @btn-padding-lg: @btn-padding-base; @btn-padding-sm: @padding-vertical-sm @padding-xs - 0.02rem; @btn-font-size-lg: @font-size-lg; @btn-font-size-sm: @font-size-sm; @btn-height-base: 0.3rem; @btn-height-lg: 0.4rem; @btn-height-sm: 0.24rem; @btn-circle-size: @btn-height-base; @btn-circle-size-lg: @btn-height-lg; @btn-circle-size-sm: @btn-height-sm; @btn-group-border: @primary-5; @btn-box-shadow: 0 0.03rem 0.01rem -0.02rem rgba(0, 0, 0, 0.2), 0 0.02rem 0.02rem 0 rgba(0, 0, 0, 0.14), 0 0.01rem 0.05rem 0 rgba(0, 0, 0, 0.12); @btn-focus-box-shadow: 0 0.04rem 0.03rem -0.02rem rgba(0, 0, 0, 0.2), 0 0.03rem 0.03rem 0 rgba(0, 0, 0, 0.14), 0 0.03rem 0.08rem 0 rgba(0, 0, 0, 0.12); @btn-active-box-shadow: @shadow-4; @btn-icon-size: 0.14rem; // Checkbox @checkbox-size: 0.16rem; @checkbox-color: @primary-color; @checkbox-border-color: fade(#000, 65%); @checkbox-border-width: 0.02rem; // Radio @radio-border-color: rgba(0, 0, 0, 0.24); @radio-disabled-color: rgba(0, 0, 0, 0.54); @radio-disabled-bg: rgba(0, 0, 0, 0.12); @radio-disabled-check-bg: rgba(0, 0, 0, 0.24); @radio-size: 0.14rem; @radio-dot-color: @primary-color; // Radio buttons @radio-button-bg: @btn-default-bg; @radio-button-color: @btn-default-color; @radio-button-hover-color: @primary-5; @radio-button-active-color: @primary-7; // Media queries breakpoints // Extra small screen / phone @screen-xs: 480px; @screen-xs-min: @screen-xs; // 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 descktop @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; @grid-gutter-width: 0; // Layout @layout-body-background: #f0f2f5; @layout-header-background: #001529; @layout-footer-background: @layout-body-background; @layout-header-height: 0.64rem; @layout-header-padding: 0 0.5rem; @layout-footer-padding: 0.24rem 0.5rem; @layout-sider-background: @layout-header-background; @layout-trigger-height: 0.48rem; @layout-trigger-background: #002140; @layout-trigger-color: #fff; @layout-zero-trigger-width: 0.36rem; @layout-zero-trigger-height: 0.42rem; // z-index list @zindex-modal-container: 1000; @zindex-popup-container: 1050; @zindex-affix: 10; @zindex-back-top: 10; @zindex-modal-mask: 1000; @zindex-modal: 1000; @zindex-notification: 1030; @zindex-message: 1030; @zindex-popover: 1030; @zindex-picker: 1050; @zindex-dropdown: 1050; @zindex-tooltip: 1060; // Animation @animation-duration-slower: 0.45s; // Ripple @animation-duration-slow: 0.3s; // Modal @animation-duration-base: 0.2s; @animation-duration-fast: 0.1s; // Tooltip // Form // --- @label-required-color: @highlight-color; @label-color: rgba(0, 0, 0, 60%); @label-colon-color: rgba(0, 0, 0, 60%); @field-help-color: rgba(0, 0, 0, 40%); @form-item-margin-top: 0.07rem; @form-item-margin-bottom: 0.2rem; @form-item-trailing-colon: true; @form-vertical-label-padding: 0 0 0.08rem; @form-vertical-label-margin: 0; @float-label-transform-origin-high: 0.1rem -330%; // SelectBox, Range, CheckBox, Switch // Input // --- @input-height-base: 0.3rem; @input-height-lg: 0.4rem; @input-height-sm: 0.24rem; @input-padding-horizontal: @control-padding-horizontal - 0.02rem; @input-padding-horizontal-base: @input-padding-horizontal; @input-padding-horizontal-sm: @control-padding-horizontal-sm - 0.02rem; @input-padding-horizontal-lg: @input-padding-horizontal; @input-padding-vertical-base: @padding-vertical-base; @input-padding-vertical-sm: @padding-vertical-sm; @input-padding-vertical-lg: @padding-vertical-lg; @input-placeholder-color: hsv(0, 0, 75%); // @input-color: fade(@text-color, 54%); @input-active-color: @text-color; @input-color: rgb(0, 0, 0); // @input-border-color: @border-color-base; @input-baseline-color: rgba(0, 0, 0, 0.54); @input-border-color: rgba(0, 0, 0, 0.2); @input-wrapper-bg: @component-background; @input-bg: transparent; @input-required-bg: @yellow-1; @input-addon-bg: @background-color-light; @input-hover-border-color: @primary-color; @input-disabled-bg: @disabled-bg; @input-disabled-color: rgba(0, 0, 0, 0.54); @input-icon-width-base: 0.24rem; @input-icon-width-lg: 0.3rem; @input-icon-width-sm: 0.2rem; @input-button-width: @input-icon-width-base; @input-addon-bg: #eee; //step @step-border-color: rgba(0, 0, 0, 0.26); @step-wait-color: rgba(0, 0, 0, 0.36); // Tooltip // --- // Tooltip max width @tooltip-max-width: 4rem; @tooltip-min-width: 0.3rem; @tooltip-min-height: 0.32rem; // Tooltip text color @tooltip-color: #fff; // Tooltip background color @tooltip-bg: rgba(0, 0, 0, 0.75); // Tooltip arrow width @tooltip-arrow-width: 0.05rem; // Tooltip distance with trigger @tooltip-distance: @tooltip-arrow-width + 0.03rem; // Tooltip arrow color @tooltip-arrow-color: @tooltip-bg; // Tooltip light theme colors @tooltip-color-light: #000; @tooltip-bg-light: #fff; @tooltip-arrow-color-light: @tooltip-bg-light; // Popover // --- // Popover body background color @popover-bg: #fff; // Popover text color @popover-color: @text-color; // Popover maximum width @popover-min-width: 1.77rem; // Popover arrow width @popover-arrow-width: 0.05rem; // 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 + 0.04rem; // Modal // -- @modal-font-size-lg: 0.2rem; @modal-mask-bg: rgba(0, 0, 0, 0.288); @modal-content-shadow: @shadow-2; // Sidebar @sidebar-font-size-lg: 0.18rem; @sidebar-header-height: 0.65rem; // Progress // -- @progress-default-color: @processing-color; @progress-remaining-color: @background-color-base; // Menu // --- @menu-inline-toplevel-item-height: 0.4rem; @menu-item-height: 0.4rem; @menu-collapsed-width: 0.8rem; @menu-bg: @component-background; @menu-item-color: @text-color; @menu-highlight-color: @primary-color; @menu-item-active-bg: @item-active-bg; @menu-item-group-title-color: @text-color-secondary; // dark theme @menu-dark-color: @text-color-secondary-dark; @menu-dark-bg: @layout-header-background; @menu-dark-arrow-color: #fff; @menu-dark-submenu-bg: #000c17; @menu-dark-highlight-color: #fff; @menu-dark-item-selected-bg: @primary-color; // Spin // --- @spin-dot-size-sm: 0.2rem; @spin-dot-size: 0.3rem; @spin-dot-size-lg: 0.5rem; // Table // -- @table-header-bg: @background-color-light; @table-header-sort-bg: @background-color-base; @table-row-hover-bg: @item-hover-bg; @table-current-row-bg: @item-active-bg; @table-even-row-bg: fade(#000, 2%); @table-cell-focus-bg: fade(#000, 8%); @table-selected-row-bg: fade(#a1c2fa, 16%); @table-expanded-row-bg: #fbfbfb; @table-mouse-batch-choose-bg: @table-selected-row-bg; @table-padding-vertical: 0.05rem; @table-padding-horizontal: @input-padding-horizontal; @table-split-color: @primary-color; @table-editable-cell-border-color: @input-border-color; @table-editable-cell-required-bg: @input-required-bg; // PerformanceTable @performance-table-header-bg: #f5f5f5; // Loader @loader-spin-ring-wide: 3px; @loader-spin-ring-color: fade(@primary-color, 80); @loader-spin-ring-active-color: @B500; @loader-duration-normal: 0.6s; //@head-background: #f5f5f5; //@body-background: #fff; //@pagination-background: #f5f5f5; //@resize-mouse-color: @H500; // 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; // Tag // -- @tag-default-bg: @primary-color; @tag-default-color: #fff; @tag-multiple-color: rgba(255, 255, 255, 0.72); @tag-font-size: @font-size-sm; // TimePicker // --- @time-picker-panel-column-width: 0.56rem; @time-picker-panel-width: @time-picker-panel-column-width * 3; @time-picker-selected-bg: @background-color-base; // Carousel // --- @carousel-dot-width: 0.16rem; @carousel-dot-height: 0.03rem; @carousel-dot-active-width: 0.24rem; // Badge // --- @badge-height: 0.2rem; @badge-dot-size: 0.06rem; @badge-font-size: @font-size-sm; @badge-font-weight: normal; @badge-status-size: 0.06rem; // Rate // --- @rate-star-color: @yellow-6; @rate-star-bg: @border-color-split; // Card // --- @card-head-color: @heading-color; @card-head-background: @component-background; @card-head-padding: 0.16rem; @card-inner-head-padding: 0.12rem; @card-padding-base: 0.24rem; @card-padding-wider: 0.32rem; @card-actions-background: @background-color-light; @card-shadow: 0 0.02rem 0.08rem rgba(0, 0, 0, 0.09); // Tabs // --- @tabs-card-head-background: @background-color-light; @tabs-card-height: 0.4rem; @tabs-card-active-color: @primary-color; @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-bg-color: @primary-color; @tab-bar-margin: 0 0 0.16rem 0; @tab-horizontal-margin: 0 0.32rem 0 0; @tab-vertical-margin: 0 0 0.16rem 0; @tab-horizontal-padding: 0.08rem 0.16rem; @tab-vertical-padding: 0.08rem 0.24rem; @tab-scrolling-size: 0.32rem; @tab-highlight-color: @primary-color; @tab-normal-color: rgba(0, 0, 0, 0.87); @tab-hover-color: @primary-5; @tab-active-color: @primary-7; // BackTop // --- @back-top-color: #fff; @back-top-bg: @text-color-secondary; @back-top-hover-bg: @text-color; // Avatar // --- @avatar-size-base: 0.32rem; @avatar-size-lg: 0.4rem; @avatar-size-sm: 0.24rem; @avatar-font-size-base: 0.18rem; @avatar-font-size-lg: 0.24rem; @avatar-font-size-sm: 0.14rem; @avatar-bg: #ccc; @avatar-color: #fff; @avatar-border-radius: @border-radius-base; // Switch // --- @switch-height: 0.20rem; @switch-sm-height: 0.16rem; @switch-lg-height: 0.24rem; @switch-sm-checked-margin-left: 0.03rem - @switch-sm-height; @switch-disabled-opacity: 0.4; @switch-checked-color: @primary-color; @switch-color: @primary-3; // Pagination // --- @pagination-item-size: 0.32rem; @pagination-item-size-sm: 0.2rem; @pagination-item-size-lg: 0.4rem; @pagination-font-family: Arial; @pagination-font-weight-active: 500; // 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-sm; @breadcrumb-link-color: @text-color-secondary; @breadcrumb-link-color-hover: @primary-5; @breadcrumb-separator-color: @text-color-secondary; @breadcrumb-separator-margin: 0 @padding-xs; // Slider // --- @slider-margin: 0.14rem 0.06rem 0.1rem; @slider-rail-background-color: @background-color-base; @slider-rail-background-color-hover: #e1e1e1; @slider-track-background-color: @primary-color; @slider-track-background-color-hover: @primary-7; @slider-handle-color: @primary-color; @slider-handle-color-hover: @primary-7; @slider-handle-color-focus: tint(@primary-color, 20%); @slider-handle-color-focus-shadow: tint(@primary-color, 50%); @slider-handle-color-tooltip-open: @primary-color; @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; //Ripple // --- @ripple-dark-color: fade(#000, 10%); @ripple-light-color: fade(#fff, 10%); // CodeArea // --- @codearea-border: @border-width-base @border-style-base @border-color-base; // Transfer // --- @transfer-disabled-bg: @disabled-bg; // Skeleton // --- @skeleton-color: #f2f2f2; @skeleton-to-color: shade(@skeleton-color, 5%); // Collapse // --- @collapse-header-padding: 0.12rem; @collapse-header-padding-extra: .4rem; @collapse-header-bg: @background-color-light; @collapse-content-padding: @padding-md; @collapse-content-bg: @component-background; //CollapsePanel @collapse-panel-border-radius: @border-radius-base; // Result // --- @result-title-font-size: 24px; @result-subtitle-font-size: @font-size-base; @result-icon-font-size: 72px; @result-extra-margin: 32px 0 0 0; // Statistic // --- @statistic-title-font-size: @font-size-base; @statistic-content-font-size: 24px; @statistic-unit-font-size: 16px; @statistic-font-family: @font-family;