123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- @import (reference) '../../style/themes/index';
- @select-prefix-cls: ~'@{ant-prefix}-select';
- @selection-item-padding: ceil(@font-size-base * 1.25);
- .@{select-prefix-cls}-single {
- // ========================= Selector =========================
- .@{select-prefix-cls}-selector {
- display: flex;
- .@{select-prefix-cls}-selection-search {
- position: absolute;
- top: 0;
- right: @input-padding-horizontal-base;
- bottom: 0;
- left: @input-padding-horizontal-base;
- &-input {
- width: 100%;
- }
- }
- .@{select-prefix-cls}-selection-item,
- .@{select-prefix-cls}-selection-placeholder {
- padding: 0;
- line-height: @select-height-without-border;
- transition: all .3s, visibility 0s;
- }
- .@{select-prefix-cls}-selection-item {
- position: relative;
- user-select: none;
- }
- .@{select-prefix-cls}-selection-placeholder {
- transition: none;
- pointer-events: none;
- }
- // For common baseline align
- &::after,
- /* For '' value baseline align */
- .@{select-prefix-cls}-selection-item::after,
- /* For undefined value baseline align */
- .@{select-prefix-cls}-selection-placeholder::after {
- display: inline-block;
- width: 0;
- visibility: hidden;
- content: '\a0';
- }
- }
- // With arrow should provides `padding-right` to show the arrow
- &.@{select-prefix-cls}-show-arrow .@{select-prefix-cls}-selection-search {
- right: @input-padding-horizontal-base + @font-size-base;
- }
- &.@{select-prefix-cls}-show-arrow .@{select-prefix-cls}-selection-item,
- &.@{select-prefix-cls}-show-arrow .@{select-prefix-cls}-selection-placeholder {
- padding-right: @selection-item-padding;
- }
- // Opacity selection if open
- &.@{select-prefix-cls}-open .@{select-prefix-cls}-selection-item {
- color: @input-placeholder-color;
- }
- // ========================== Input ==========================
- // We only change the style of non-customize input which is only support by `combobox` mode.
- // Not customize
- &:not(.@{select-prefix-cls}-customize-input) {
- .@{select-prefix-cls}-selector {
- width: 100%;
- height: @input-height-base;
- padding: 0 @input-padding-horizontal-base;
- .@{select-prefix-cls}-selection-search-input {
- height: @select-height-without-border;
- }
- &::after {
- line-height: @select-height-without-border;
- }
- }
- }
- &.@{select-prefix-cls}-customize-input {
- .@{select-prefix-cls}-selector {
- &::after {
- display: none;
- }
- .@{select-prefix-cls}-selection-search {
- position: static;
- width: 100%;
- }
- .@{select-prefix-cls}-selection-placeholder {
- position: absolute;
- right: 0;
- left: 0;
- padding: 0 @input-padding-horizontal-base;
- &::after {
- display: none;
- }
- }
- }
- }
- // ============================================================
- // == Size ==
- // ============================================================
- .select-size(@suffix, @input-height) {
- @merged-cls: ~'@{select-prefix-cls}-@{suffix}';
- &.@{merged-cls}:not(.@{select-prefix-cls}-customize-input) {
- .@{select-prefix-cls}-selector {
- height: @input-height;
- &::after,
- .@{select-prefix-cls}-selection-item,
- .@{select-prefix-cls}-selection-placeholder {
- line-height: @input-height - 2 * @border-width-base;
- }
- }
- // Not customize
- &:not(.@{select-prefix-cls}-customize-input) {
- .@{select-prefix-cls}-selection-search-input {
- height: @input-height - 2 * @border-width-base;
- }
- }
- }
- }
- .select-size('lg', @select-single-item-height-lg);
- .select-size('sm', @input-height-sm);
- // Size small need additional set padding
- &.@{select-prefix-cls}-sm {
- &:not(.@{select-prefix-cls}-customize-input) {
- .@{select-prefix-cls}-selection-search {
- right: @input-padding-horizontal-sm;
- left: @input-padding-horizontal-sm;
- }
- .@{select-prefix-cls}-selector {
- padding: 0 @input-padding-horizontal-sm;
- }
- // With arrow should provides `padding-right` to show the arrow
- &.@{select-prefix-cls}-show-arrow .@{select-prefix-cls}-selection-search {
- right: @input-padding-horizontal-sm + @font-size-base * 1.5;
- }
- &.@{select-prefix-cls}-show-arrow .@{select-prefix-cls}-selection-item,
- &.@{select-prefix-cls}-show-arrow .@{select-prefix-cls}-selection-placeholder {
- padding-right: @font-size-base * 1.5;
- }
- }
- }
- &.@{select-prefix-cls}-lg {
- &:not(.@{select-prefix-cls}-customize-input) {
- .@{select-prefix-cls}-selector {
- padding: 0 @input-padding-horizontal-lg;
- }
- }
- }
- }
|