src/less/select2-toptal-theme.less
@import "variables.less";
/*
* @reference https://github.com/ttskch/select2-bootstrap4-theme/tree/master/src
*/
/******** layout.less ********/
// basic
.select2-container {
display: block;
*:focus {
outline: 0;
}
}
// input-group
.input-group {
.select2-container--toptal {
-webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: calc(100% - ~"@{button-width}" - 1px);
}
.input-group-append {
width: @button-width;
height: @input-height;
}
@media (max-width: 767px) {
flex-direction: column;
.select2-container--toptal {
width: 100% !important;
max-width: 100%;
}
.input-group-append {
width: 100%;
margin-top: 12px;
margin-left: 0;
}
}
}
.select2-container--toptal {
// input box
.select2-selection {
background-color: @input-bg;
border-radius: 0;
border: 1px solid @input-border-color;
box-shadow: none;
width: 100%;
-webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
.select2-search__field {
font-size: 16px;
line-height: 24px;
height: 24px;
margin: 10px 0;
color: @input-text-color;
caret-color: @input-caret-color;
-webkit-appearance: none;
border-radius: 0;
@media (min-width: 768px) {
font-size: 13px;
line-height: 20px;
height: 20px;
margin: 12px 0;
}
&::-webkit-search-decoration {
-webkit-appearance: none;
}
&::placeholder {
color: @input-placeholder;
}
&::-webkit-input-placeholder {
color: @input-placeholder;
}
&:-ms-input-placeholder {
color: @input-placeholder;
}
&::-moz-placeholder {
color: @input-placeholder;
}
}
}
// focused input box
&.select2-container--focus {
.select2-selection {
box-shadow: none;
border-color: @input-focus-border-color;
}
// when open, hide bottom border
&.select2-container--open .select2-selection {
// border-bottom: none;
// border-bottom-left-radius: 0;
// border-bottom-right-radius: 0;
}
}
// dropdown
.select2-dropdown {
border: none;
background-color: @dropdown-bg;
box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.08);
color: @dropdown-text-color;
font-size: 13px;
line-height: 16px;
margin-top: 0;
// dropdown opened above
&.select2-dropdown--above {
// border-top: 1px solid $input-border-color;
// border-top-left-radius: $input-border-radius;
// border-top-right-radius: $input-border-radius;
}
// selected item
.select2-results__option[aria-selected=true] {
background-color: @option-selected-color;
}
}
.select2-results__option {
padding: 10px;
}
// mouse hovered item
.select2-results__message,
.select2-results__option--highlighted,
.select2-results__option--highlighted.select2-results__option[aria-selected=true] {
background-color: @option-highlighted-color;
}
// fixes vertical overflow
.select2-results > .select2-results__options {
max-height: @dropdown-max-height;
overflow-y: auto;
}
}
/******** end of layout.less ********/
/******** multiple.less ********/
.select2-container--toptal {
.select2-selection--multiple {
// height of input box
min-height: @input-height;
// input box
.select2-selection__rendered {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
list-style: none;
margin: 0;
padding: 0 10px;
width: 100%;
display: block;
}
// each selected item in input box
.select2-selection__choice {
font-size: 12px;
font-weight: @weight-semibold;
line-height: 22px;
color: @tag-color;
padding: 0 12px;
border-radius: @tag-border-radius;
border: 1px solid @tag-border-color;
margin: 10px 6px 0 0;
float: left;
cursor: pointer;
}
// x button of each selected item in input box
.select2-selection__choice__remove {
color: @tag-remove-color;
float: right;
margin-left: 8px;
font-size: 18px;
font-weight: @weight-regular;
&:hover {
color: @tag-remove-color-hover;
}
}
}
}
/******** end of multiple.less ********/
/******** button.less ********/
.input-group-append {
& > .btn-gitignore {
width: 100%;
color: @button-text;
background: @button-bg;
-webkit-transition: background .35s cubic-bezier(0,0,.2,1);
transition: background .35s cubic-bezier(0,0,.2,1);
font-size: 14px;
line-height: 16px;
text-align: center;
border-radius: 0;
&:focus {
box-shadow: none;
border-color: @input-focus-border-color;
}
&:hover {
background: @button-bg-hover;
}
}
}
/******** end of button.less ********/