UNPKG

wetrade-design

Version:

一款多语言支持Vue3的UI框架

567 lines (475 loc) 13.5 kB
@import '../../style/themes/index'; @import '../../style/mixins/index'; @import '../../input/style/mixin'; @picker-prefix-cls: ~'@{wd-prefix}-picker'; @btn-prefix-cls: ~'@{wd-prefix}-btn'; .picker-size(@input-height, @font-size, @line-height: @input-line-height-base, @padding-vertical: @input-padding-vertical-base, @padding-horizontal: @input-padding-horizontal-base) { padding: @padding-vertical @padding-horizontal; line-height: @line-height; height: @input-height; } .@{picker-prefix-cls} { @arrow-size: 10px; .reset-component(); .picker-size(@height-base, @font-size-base); position: relative; display: inline-flex; align-items: center; background: @picker-bg; border: @border-width-base @border-style-base @select-border-color; border-radius: @border-radius-sm; transition: border @animation-duration-slow, box-shadow @animation-duration-slow; &:hover, &-focused { .hover(); } &-focused { .active(); background-color: @picker-active-bg; } &&-disabled { background: @input-disabled-bg-borderless; border-color: @select-border-color; cursor: not-allowed; } &&-disabled &-suffix { color: @disabled-color; } &&-borderless { background-color: transparent !important; border-color: transparent !important; box-shadow: none !important; } // ======================== hover ========================= &.@{picker-prefix-cls}-fill:not(.@{picker-prefix-cls}-unclear-wrapper):not( .@{picker-prefix-cls}-disabled ) { &:hover { .@{picker-prefix-cls} { &-suffix { opacity: 0; } &-clear { opacity: 1; } } } } // ======================== Input ========================= &-input { position: relative; display: inline-flex; align-items: center; width: 100%; > input { .input(); flex: auto; // Fix Firefox flex not correct: // https://github.com/ant-design/ant-design/pull/20023#issuecomment-564389553 min-width: 1px; height: auto; padding: 0; background: transparent; border: 0; &:focus { box-shadow: none; } &[disabled] { background: transparent; } } // &:hover { // .@{picker-prefix-cls}-clear { // opacity: 1; // } // } &-placeholder { > input { color: @input-placeholder-color; } } } // Size &-large { .picker-size(@input-height-lg, @font-size-base, @input-line-height-lg, @input-padding-vertical-lg); border-radius: @border-radius-base; .@{picker-prefix-cls}-input > input { font-size: @font-size-base; } } &-big { .picker-size(@input-height-bg, @font-size-sm, @input-line-height-lg); border-radius: @border-radius-base; .@{picker-prefix-cls}-input > input { font-size: @font-size-base; } } &-small { .picker-size(@input-height-sm, @font-size-sm, @input-line-height-base, @input-padding-vertical-sm); .@{picker-prefix-cls}-input > input { font-size: @font-size-sm; } } &-extra-small { .picker-size(@input-height-xs, @font-size-sm, @input-line-height-base, @input-padding-vertical-xs); .@{picker-prefix-cls}-input > input { font-size: @font-size-sm; } } &-suffix { align-self: center; margin-left: (@padding-xs / 2); color: @picker-suffix-color; line-height: 1; pointer-events: none; font-size: @font-size-lg; > * { vertical-align: top; } } &-clear { position: absolute; top: 50%; right: 0; color: @picker-suffix-color; line-height: 1; background: transparent; transform: translateY(-50%); cursor: pointer; opacity: 0; transition: opacity @animation-duration-slow, color @animation-duration-slow; font-size: @font-size-lg; > * { vertical-align: top; } &:hover { color: @picker-suffix-hover-color; } } &-separator { position: relative; display: inline-block; width: 1em; height: @font-size-lg; color: @disabled-color; font-size: @font-size-lg; vertical-align: top; cursor: default; .@{picker-prefix-cls}-focused & { color: @text-color-secondary; } .@{picker-prefix-cls}-range-separator & { .@{picker-prefix-cls}-disabled & { cursor: not-allowed; } } } // ======================== Range ========================= &-range { position: relative; display: inline-flex; // Clear .@{picker-prefix-cls}-clear { right: @input-padding-horizontal-base; } &:hover { .@{picker-prefix-cls}-clear { opacity: 1; } } // Active bar .@{picker-prefix-cls}-active-bar { bottom: -@border-width-base; height: 2px; margin-left: @input-padding-horizontal-base; background: @brand-primary; opacity: 0; transition: all @animation-duration-slow ease-out; pointer-events: none; } &.@{picker-prefix-cls}-focused { .@{picker-prefix-cls}-active-bar { opacity: 1; } } &-separator { align-items: center; padding: 0 @padding-xs - 2px; // line-height: 1; color: @picker-separator-color; font-size: @font-size-sm - 2.5px; line-height: @font-size-sm - 2.5px; } &.@{picker-prefix-cls}-small { .@{picker-prefix-cls}-clear { right: @input-padding-horizontal-sm; } .@{picker-prefix-cls}-active-bar { margin-left: @input-padding-horizontal-sm; } } } // ======================= Dropdown ======================= &-dropdown { .reset-component(); position: absolute; z-index: @zindex-picker; &-hidden { display: none; } &-placement-bottomLeft { .@{picker-prefix-cls}-range-arrow { top: (@arrow-size / 2) - (@arrow-size / 3); display: block; transform: rotate(-45deg); } } &-placement-topLeft { .@{picker-prefix-cls}-range-arrow { bottom: (@arrow-size / 2) - (@arrow-size / 3); display: block; transform: rotate(135deg); } } &.@{wd-prefix}-slide-up-enter.@{wd-prefix}-slide-up-enter-active&-placement-topLeft, &.@{wd-prefix}-slide-up-enter.@{wd-prefix}-slide-up-enter-active&-placement-topRight, &.@{wd-prefix}-slide-up-appear.@{wd-prefix}-slide-up-appear-active&-placement-topLeft, &.@{wd-prefix}-slide-up-appear.@{wd-prefix}-slide-up-appear-active&-placement-topRight { animation-name: antSlideDownIn; } &.@{wd-prefix}-slide-up-enter.@{wd-prefix}-slide-up-enter-active&-placement-bottomLeft, &.@{wd-prefix}-slide-up-enter.@{wd-prefix}-slide-up-enter-active&-placement-bottomRight, &.@{wd-prefix}-slide-up-appear.@{wd-prefix}-slide-up-appear-active&-placement-bottomLeft, &.@{wd-prefix}-slide-up-appear.@{wd-prefix}-slide-up-appear-active&-placement-bottomRight { animation-name: antSlideUpIn; } &.@{wd-prefix}-slide-up-leave.@{wd-prefix}-slide-up-leave-active&-placement-topLeft, &.@{wd-prefix}-slide-up-leave.@{wd-prefix}-slide-up-leave-active&-placement-topRight { animation-name: antSlideDownOut; } &.@{wd-prefix}-slide-up-leave.@{wd-prefix}-slide-up-leave-active&-placement-bottomLeft, &.@{wd-prefix}-slide-up-leave.@{wd-prefix}-slide-up-leave-active&-placement-bottomRight { animation-name: antSlideUpOut; } } &-dropdown-range { // padding: (@arrow-size * 2 / 3) 0; &-hidden { display: none; } } // Time picker with additional style &-dropdown &-panel > &-time-panel { padding-top: (@padding-xs / 2); } // ======================== Ranges ======================== &-ranges { margin-bottom: 0; padding: (@padding-xs / 2) @padding-sm; overflow: hidden; line-height: @picker-text-height - 2 * @border-width-base - (@padding-xs / 2); text-align: left; list-style: none; > li { display: inline-block; .@{btn-prefix-cls} { border: none; } } // https://github.com/ant-design/ant-design/issues/23687 .@{picker-prefix-cls}-preset > .@{wd-prefix}-tag-blue { color: @brand-primary; background: @primary-1; border-color: @primary-3; cursor: pointer; } .@{picker-prefix-cls}-ok { float: right; margin-left: @padding-xs; } } &-ranges.@{picker-prefix-cls}-ranges-hasreset { display: flex; flex-wrap: wrap; justify-content: space-between; li { margin-left: 0; } } &-range-wrapper { display: flex; } &-range-arrow { position: absolute; z-index: 1; display: none; width: @arrow-size; height: @arrow-size; margin-left: @input-padding-horizontal-base * 1.5; box-shadow: 2px -2px 6px fade(@black, 6%); transition: left @animation-duration-slow ease-out; &::after { position: absolute; top: @border-width-base; right: @border-width-base; width: @arrow-size; height: @arrow-size; border: (@arrow-size / 2) solid @border-color-split; border-color: @calendar-bg @calendar-bg transparent transparent; content: ''; } } &-panel-container { overflow: hidden; vertical-align: top; background: @calendar-bg; border-radius: @border-radius-base; box-shadow: @box-shadow-base; transition: margin @animation-duration-slow; border: 1px solid @picker-border-color; .@{picker-prefix-cls}-panels { display: inline-flex; flex-wrap: nowrap; direction: ltr; } .@{picker-prefix-cls}-panel { vertical-align: top; background: transparent; border-width: 0 0 @border-width-base 0; border-radius: 0; .@{picker-prefix-cls}-content, table { text-align: center; } &-focused { border-color: @border-color-split; } } } &-show-time-columns-3, &-show-time-columns-2, &-show-time-columns-1 { .@{picker-prefix-cls}-footer { position: absolute; bottom: @picker-show-time-footer-bottom; right: @picker-show-time-footer-right; width: @picker-show-time-footer-width; min-width: inherit; background-color: var(--wd-bg-dropdown); border-top: @picker-show-time-footer-border-top; .@{picker-prefix-cls}-ranges { padding: @picker-show-time-ranges-padding; } } .@{picker-prefix-cls}-time-panel { width: @picker-show-time-time-panel-width; } } &-show-time-columns-2, &-show-time-columns-1 { .@{picker-prefix-cls}-footer { width: @picker-show-time-columns-2-width; } .@{picker-prefix-cls}-time-panel { width: @picker-show-time-columns-2-width; } .@{picker-prefix-cls}-footer { height: auto; } .@{picker-prefix-cls}-ranges-hasreset { display: flex; flex-wrap: wrap; justify-content: space-between; li { margin-left: 0; .@{btn-prefix-cls} { padding: @picker-show-time-ranges-min-padding; } } } } &-show-time-columns-1 { .@{picker-prefix-cls}-time-panel-column { width: calc(@picker-show-time-columns-2-width - @picker-scroll-bar-padding); > li { &.@{picker-prefix-cls}-time-panel-cell { .@{picker-prefix-cls}-time-panel-cell-inner { width: calc(@picker-show-time-columns-2-width - @margin-xs * 2); } } } } } &-show-time-columns-2 { .@{picker-prefix-cls}-month-panel + .@{picker-prefix-cls}-footer, .@{picker-prefix-cls}-year-panel + .@{picker-prefix-cls}-footer { display: none; } } // ======================== Condition ======================== &-condition { width: @component-condition-width; background-color: @picker-condition-bg-color; border-color: transparent; &:hover { background-color: @picker-condition-bg-hover-color; border-color: transparent; } &.@{picker-prefix-cls} { &-focused { background-color: @picker-condition-bg-focused-color; border-color: @picker-condition-border-color; } &-disabled { background-color: @picker-condition-bg-color; border-color: transparent; color: @picker-condition-disable-color; input[disabled] { color: @picker-condition-disable-color; &::placeholder { color: @picker-condition-disable-color; } } } } &:not(.@{picker-prefix-cls}-disabled) { .@{picker-prefix-cls} { &-label { color: @picker-condition-label-color; font-size: @font-size-sm; margin-right: @margin-xs; } } } .@{picker-prefix-cls} { &-label { white-space: nowrap; font-size: @font-size-sm; margin-right: @margin-xs; } &-input { input { color: @brand-text; } } } } // shortcuts &-panel-shortcuts { display: inline-flex; } &-shortcuts-panel { width: @picker-shortcuts-width; padding: @picker-shortcuts-padding; border-right: 1px solid @picker-shortcuts-border-color; > button { width: 100%; margin-bottom: 10px; &:last-of-type { margin-bottom: 0; } } } } @import './panel'; @import './rtl';