UNPKG

rsuite

Version:

A suite of react components

332 lines (272 loc) 8.47 kB
@import '../../Dropdown/styles/mixin'; // Picker Menu items common styles .picker-menu-items-reset() { // Set aside border-radius borders margin-bottom: @border-radius-base; overflow-y: auto; ul { list-style: none; margin: 0; padding: 0; } } // Picker Menu group common styles .picker-menu-group-common(@prefix) { // Set border & padding to menu group if it isn't the first. .@{ns}@{prefix}-menu-group:not(:first-child) { margin-top: @picker-group-select-menu-gap; border-top: 1px solid @picker-group-select-menu-lin-color; padding-top: @picker-group-select-menu-gap; } } // Group title common styles .picker-menu-group-title(@prefix) { .@{ns}@{prefix}-menu-group-title { padding: @picker-item-content-padding-vertical @picker-item-content-padding-horizontal; padding-right: @padding-base-horizontal + @dropdown-caret-width + @dropdown-caret-padding; position: relative; cursor: default; transition: @picker-item-transition; color: @picker-group-title-color; &:hover { background-color: @picker-menu-item-hover-bg; } .@{ns}@{prefix}-menu-group-caret { display: inline-block; margin-left: 2px; position: absolute; top: @padding-base-vertical; right: @padding-base-horizontal; transition: transform 0.3s linear; &::before { content: @picker-select-arrow-down; font-family: @font-family-icon; } } } } // Group closed common styles .picker-menu-group-closed(@prefix) { .@{ns}@{prefix}-menu-group-closed { .@{ns}@{prefix}-menu-group-caret { transform: rotate(90deg); } .@{ns}@{prefix}-menu-group-children { display: none; } } } .picker-select-item() { display: block; padding: @picker-item-content-padding-vertical @picker-item-content-padding-horizontal; clear: both; font-weight: normal; line-height: @line-height-base; color: @picker-select-item-color; cursor: pointer; //fixed link has not [href] style transition: @picker-item-transition; text-decoration: none; width: 100%; } .picker-item-hover() { color: @picker-select-item-color; background-color: @picker-menu-item-hover-bg; } .picker-item-active() { font-weight: @picker-select-menu-item-selected-font-weight; } .picker-calendar-cell-content() { display: inline-block; font-size: @calendar-table-cell-content-font-size; line-height: @calendar-table-cell-content-line-height; padding: @calendar-table-cell-content-padding; cursor: pointer; border-radius: @border-radius-base; &:hover { background-color: @calendar-table-cell-content-hover-bg; } } .picker-calendar-cell-content-selected() { color: @calendar-table-cell-content-selected-font-color; border-color: @calendar-table-cell-content-selected-color; background-color: @calendar-table-cell-content-selected-color; } .picker-calendar-title-show() { color: @picker-calendar-title-color; background: transparent; } .picker-custom-button-caret-size(@padding-horizontal,@padding-vertical) { .@{ns}picker-cleanable & { padding-right: @padding-horizontal + @dropdown-caret-width + @dropdown-caret-padding + 10px; } .@{ns}picker-toggle-caret { top: @padding-vertical; right: @padding-horizontal; } .@{ns}picker-toggle-clean { top: @padding-vertical; right: @dropdown-caret-width + @padding-horizontal + 10px; } } .picker-button-caret-lg() { .picker-custom-button-caret-size(@padding-large-horizontal, @padding-large-vertical); } .picker-button-caret-md() { .picker-custom-button-caret-size(@padding-base-horizontal, @padding-base-vertical); } .picker-button-caret-sm() { .picker-custom-button-caret-size(@padding-small-horizontal, @padding-small-vertical); } .picker-button-caret-xs() { .picker-custom-button-caret-size(@padding-extra-small-horizontal, @padding-extra-small-vertical); } .date-picker-custom-button-caret-size(@padding-horizontal,@top) { @calendar-caret-width: 14px; .@{ns}picker-cleanable& { padding-right: @padding-horizontal + @calendar-caret-width + @dropdown-caret-padding + @dropdown-caret-width; } .@{ns}picker-toggle-caret { top: @top; right: @padding-horizontal; } .@{ns}picker-toggle-clean { top: @top; right: @padding-horizontal + @dropdown-caret-padding + @calendar-caret-width; } } .date-picker-button-caret-lg() { .@{ns}picker-date &, .@{ns}picker-daterange & { .date-picker-custom-button-caret-size(@padding-large-horizontal, 10px); } } .date-picker-button-caret-md() { .@{ns}picker-date &, .@{ns}picker-daterange & { .date-picker-custom-button-caret-size(@padding-base-horizontal, 8px); } } .date-picker-button-caret-sm() { .@{ns}picker-date &, .@{ns}picker-daterange & { .date-picker-custom-button-caret-size(@padding-small-horizontal, 4px); } } .date-picker-button-caret-xs() { .@{ns}picker-date &, .@{ns}picker-daterange & { .date-picker-custom-button-caret-size(@padding-extra-small-horizontal, 2px); } } .date-picker-button-size(@size) { @padding-name: 'padding-@{size}-vertical'; @padding-vertical: @@padding-name; .@{ns}picker-default & { .padding-vertical(@padding-vertical - @picker-default-toggle-border-width); } } .tag-picker-search-input-size(@padding-vertical; @padding-horizontal; @font-size; @line-height;) { .@{ns}picker-input:not(.@{ns}picker-tag) & ~ .@{ns}picker-tag-wrapper .@{ns}picker-search-input { padding: @padding-vertical @padding-horizontal; font-size: @font-size; line-height: @line-height; } .@{ns}picker-input.@{ns}picker-tag & ~ .@{ns}picker-tag-wrapper { padding-bottom: @padding-vertical - 3px; .@{ns}tag { margin-top: @padding-vertical - 3px; } .@{ns}picker-search-input { padding-left: @padding-horizontal; margin-top: @padding-vertical - 3px; } .@{ns}picker-search-input input { height: @line-height * @font-size - 2px; } } .@{ns}picker-input.@{ns}picker-tag & { padding-top: @padding-vertical - 1px; padding-bottom: @padding-vertical - 1px; } } .tag-picker-search-input-lg() { .tag-picker-search-input-size( @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large ); } .tag-picker-search-input-md() { .tag-picker-search-input-size( @padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base ); } .tag-picker-search-input-sm() { .tag-picker-search-input-size( @padding-small-vertical; @padding-small-horizontal; @font-size-base; @line-height-base ); } .tag-picker-search-input-xs() { .tag-picker-search-input-size( @padding-extra-small-vertical; @padding-extra-small-horizontal; @font-size-extra-small; @line-height-extra-small ); .@{ns}picker-input.@{ns}picker-tag & ~ .@{ns}picker-tag-wrapper { padding-bottom: @padding-extra-small-vertical - 1px; .@{ns}tag { margin-top: 1px; } // Adjust search-input size the same with button .@{ns}picker-search-input { .padding-vertical(1px); } } } .input-picker-input-sizes() { @border-width: 2 * @picker-default-toggle-border-width; .@{ns}picker-toggle-custom.@{ns}btn-lg { height: @line-height-computed + @padding-large-vertical*2 - @border-width; } .@{ns}picker-toggle-custom.@{ns}btn-md { height: @line-height-computed + @padding-base-vertical*2 - @border-width; } .@{ns}picker-toggle-custom.@{ns}btn-sm { height: @line-height-computed + @padding-small-vertical*2 - @border-width; } .@{ns}picker-toggle-custom.@{ns}btn-xs { height: @line-height-computed + @padding-extra-small-vertical*2 - @border-width; } } // Default picker toggle .picker-default-toggle() { .@{ns}picker-default & { .dropdown-toggle; color: @picker-default-toggle-font-color; border: @picker-default-toggle-border-width solid @picker-default-toggle-border-color; } .@{ns}picker-disabled & { cursor: @cursor-disabled; } .@{ns}picker-default:not(.@{ns}picker-disabled) { &:hover, &:focus { border-color: @picker-default-toggle-hover-border-color; } } } // Subtle picker toggle .picker-subtle-toggle { .@{ns}picker-subtle & { .dropdown-toggle; } .@{ns}picker-subtle.@{ns}picker-disabled & { cursor: @cursor-disabled; &:hover, &:focus, &:active { background: none; &::after { display: none; } } } }