funda-ui
Version:
React components using pure Bootstrap 5+ which does not contain any external style and script libraries.
430 lines (428 loc) • 16.1 kB
CSS
/* ======================================================
<!-- Select -->
/* ====================================================== */
.custom-select__wrapper {
--cus-sel-focus-border-color:#86b7fe;
--cus-sel-focus-box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25);
--cus-sel-placeholder-color: rgba(33, 37, 41, 0.75);
--cus-sel-input-placeholder-color: #c5c9d1;
--cus-sel-control-wrapper-bg: #fff;
--cus-sel-control-wrapper-border-color: #dee2e6;
--cus-sel-control-list-bg: #efefef;
--cus-sel-clear-fill: #a5a5a5;
--cus-sel-clear-hover-fill: #000;
--cus-sel-arrow-fill: #a5a5a5;
--cus-sel-searchbtn-fill: #a5a5a5;
--cus-sel-searchbtn-hover-fill: #333;
--cus-sel-removebtn-fill: #000;
--cus-sel-removebtn-hover-fill: #f00;
position: relative; /* Required */
/*------ Placeholder for input ------*/
/*------ Arrow ------*/
/*------ Clear Icon ------*/
/*------ Clear Trigger ------*/
/*------ Input ------*/
/*------ Arrow ------*/
/*------ Blinking cursor ------*/
/*------ Single selection ------*/
/*------ Multiple selection ------*/
/*------ Search button ------*/
/*------------*/
/* focus */
}
.custom-select__wrapper input::placeholder {
color: var(--cus-sel-input-placeholder-color);
}
.custom-select__wrapper .arrow svg .arrow-fill-g {
fill: var(--cus-sel-arrow-fill);
}
.custom-select__wrapper .custom-select-clear-icon {
position: absolute;
top: 50%;
transform: rotate(0deg) translateY(-50%);
transform-origin: top;
right: 1.5rem;
z-index: 2;
pointer-events: all;
}
.custom-select__wrapper .custom-select-clear-icon button {
border: none;
box-shadow: none;
margin: 0;
padding: 0;
background: none;
}
.custom-select__wrapper .custom-select-clear-icon.pos-offset {
right: 2.25rem;
}
.custom-select__wrapper .custom-select-clear-icon svg path {
fill: var(--cus-sel-clear-fill);
}
.custom-select__wrapper .custom-select-clear-icon:hover svg path {
fill: var(--cus-sel-clear-hover-fill);
}
.custom-select__wrapper .clear svg .clear-fill-g {
fill: var(--cus-sel-arrow-fill);
}
.custom-select__wrapper [data-select]:focus {
box-shadow: none;
border-color: transparent;
outline: 0;
}
.custom-select__wrapper .custom-select-arrow {
position: absolute;
top: 50%;
transform: rotate(0deg) translateY(-50%);
transform-origin: top;
right: 0.5rem;
z-index: 1;
pointer-events: none;
}
.custom-select__wrapper .custom-select-arrow.reverse {
transform: rotate(180deg) translateY(-50%);
}
.custom-select__wrapper .custom-select-multi__control-blinking-cursor {
display: inline-block;
color: var(--cus-sel-placeholder-color);
width: 100%;
/* Text preview */
}
.custom-select__wrapper .custom-select-multi__control-blinking-cursor.animated {
animation: 1s mf-sel-blink step-end infinite;
}
.custom-select__wrapper .custom-select-multi__control-blinking-cursor.control-placeholder {
color: var(--cus-sel-input-placeholder-color);
}
.custom-select__wrapper .custom-select-multi__control-blinking-cursor > span {
display: inline-block;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
max-width: 100%;
}
.custom-select__wrapper .custom-select-multi__control-blinking-following-cursor {
position: absolute;
top: 0.375rem;
margin-left: 1rem; /* offset start pixel of input control */
z-index: 1;
}
.custom-select__wrapper .custom-select-multi__control-blinking-following-cursor.animated {
animation: 1s mf-sel-blink step-end infinite;
}
.custom-select__wrapper .custom-select-multi__control-blinking-following-cursor.custom-select-multi__control-blinking-following-cursor--puretext {
margin-left: auto;
position: relative;
top: auto;
left: 0;
}
@keyframes mf-sel-blink {
from, to {
color: transparent;
}
50% {
color: var(--cus-sel-placeholder-color);
}
}
.custom-select__wrapper .custom-select-single__inputplaceholder-wrapper {
position: absolute;
top: 0;
width: 100%;
pointer-events: none;
overflow: hidden;
text-overflow: ellipsis;
border-radius: 0.375rem;
}
.custom-select__wrapper .custom-select-single__inputplaceholder-wrapper .custom-select-multi__control-blinking-cursor {
position: absolute;
top: 0.1rem;
left: 0;
padding: 0.1rem 1.5rem 0.1rem 1rem;
font-size: 0.875rem;
/* bootstrap style that match ".form-control" */
top: 0.375rem;
}
.custom-select__wrapper .custom-select-single__inputplaceholder-wrapper .custom-select-multi__control-blinking-cursor .control-placeholder {
color: var(--cus-sel-input-placeholder-color);
}
.custom-select__wrapper .custom-select-single__inputplaceholder-wrapper .custom-select-single__control-searchbtn {
z-index: 5;
pointer-events: auto;
}
.custom-select__wrapper .custom-select-single__inputplaceholder-wrapper .custom-select-single__control-searchbtn svg,
.custom-select__wrapper .custom-select-single__inputplaceholder-wrapper .custom-select-single__control-searchbtn path {
fill: var(--single-sel-searchbtn-fill);
}
.custom-select__wrapper .custom-select-single__inputplaceholder-wrapper .custom-select-single__control-searchbtn:hover svg,
.custom-select__wrapper .custom-select-single__inputplaceholder-wrapper .custom-select-single__control-searchbtn:hover path {
fill: var(--single-sel-searchbtn-hover-fill);
}
.custom-select__wrapper .custom-select-single__inputplaceholder-wrapper .custom-select-single__inputplaceholder-inner {
display: inline-block;
position: relative;
width: 100%;
/* bootstrap style that match ".form-control" */
background-color: var(--cus-sel-control-wrapper-bg);
border: 1px solid var(--cus-sel-control-wrapper-border-color);
appearance: none;
border-radius: inherit;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.custom-select__wrapper .custom-select-single__inputplaceholder-wrapper .custom-select-single__inputplaceholder-inner > input {
padding: 0.32rem 0.75rem;
opacity: 0;
pointer-events: none;
}
.custom-select__wrapper .custom-select-multi__inputplaceholder-wrapper {
position: absolute;
top: 0;
width: 100%;
pointer-events: none;
}
.custom-select__wrapper .custom-select-multi__inputplaceholder-wrapper ul,
.custom-select__wrapper .custom-select-multi__inputplaceholder-wrapper li {
padding: 0;
margin: 0;
list-style: none;
}
.custom-select__wrapper .custom-select-multi__inputplaceholder-wrapper .custom-select-multi__inputplaceholder-inner > div {
position: relative;
/* bootstrap style that match ".form-control" */
background-color: var(--cus-sel-control-wrapper-bg);
background-clip: padding-box;
border: 1px solid var(--cus-sel-control-wrapper-border-color);
appearance: none;
border-radius: 0.375rem;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
padding-bottom: 1px;
}
.custom-select__wrapper .custom-select-multi__inputplaceholder-wrapper ul.custom-select-multi__list {
margin-right: 1rem;
}
.custom-select__wrapper .custom-select-multi__inputplaceholder-wrapper ul.custom-select-multi__list li {
display: inline-block;
margin: 5px;
margin-bottom: 0;
padding: 0.1rem 1.5rem 0.1rem 1rem;
font-size: 0.875rem;
background: var(--cus-sel-control-list-bg);
border-radius: 30px;
overflow: hidden;
text-overflow: ellipsis;
position: relative;
}
.custom-select__wrapper .custom-select-multi__inputplaceholder-wrapper ul.custom-select-multi__list li.custom-select-multi__list-item-statusstring {
background: transparent;
}
.custom-select__wrapper .custom-select-multi__inputplaceholder-wrapper ul.custom-select-multi__list li.custom-select-multi__list-item-placeholder {
background: transparent;
color: var(--cus-sel-placeholder-color);
padding-left: 0.75rem;
padding-right: 0;
margin-left: 0;
white-space: nowrap;
}
.custom-select__wrapper .custom-select-multi__inputplaceholder-wrapper ul.custom-select-multi__list li.custom-select-multi__list-item-placeholder.hide {
min-width: 100px;
}
.custom-select__wrapper .custom-select-multi__inputplaceholder-wrapper ul.custom-select-multi__list li > a {
font-weight: 400;
opacity: 0.6;
font-size: 18px;
line-height: 20px;
position: absolute;
right: 8px;
top: 50%;
transform: translateY(-50%);
pointer-events: auto;
}
.custom-select__wrapper .custom-select-multi__inputplaceholder-wrapper ul.custom-select-multi__list li > a path {
fill: var(--cus-sel-removebtn-fill);
}
.custom-select__wrapper .custom-select-multi__inputplaceholder-wrapper ul.custom-select-multi__list li > a:hover path {
fill: var(--cus-sel-removebtn-hover-fill);
}
.custom-select__wrapper .custom-select-multi__inputplaceholder-wrapper ul.custom-select-multi__list li.custom-select-multi__list-item-add {
pointer-events: auto;
margin: 0;
padding: 0;
background: transparent;
}
.custom-select__wrapper .custom-select-multi__inputplaceholder-wrapper ul.custom-select-multi__list li.custom-select-multi__list-item-add input {
border: none;
font-size: 0.75rem;
transform: translateY(0.25rem);
}
.custom-select__wrapper .custom-select-multi__inputplaceholder-wrapper ul.custom-select-multi__list li.custom-select-multi__list-item-add input:focus {
border: none;
outline: none;
box-shadow: none;
}
.custom-select__wrapper .custom-select-multi__control-searchbtn {
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
z-index: 5;
pointer-events: auto;
}
.custom-select__wrapper .custom-select-multi__control-searchbtn svg,
.custom-select__wrapper .custom-select-multi__control-searchbtn path {
fill: var(--cus-sel-searchbtn-fill);
}
.custom-select__wrapper .custom-select-multi__control-searchbtn:hover svg,
.custom-select__wrapper .custom-select-multi__control-searchbtn:hover path {
fill: var(--cus-sel-searchbtn-hover-fill);
}
.custom-select__wrapper [data-select]:focus {
cursor: text ;
opacity: 0;
}
.custom-select__wrapper.active .list-group {
display: block;
}
.custom-select__wrapper.multiple-selection.active .custom-select-single__inputplaceholder-wrapper, .custom-select__wrapper.focus .custom-select-single__inputplaceholder-wrapper {
box-shadow: var(--cus-sel-focus-box-shadow);
border-color: var(--cus-sel-focus-border-color);
outline: 0;
}
.custom-select__wrapper.multiple-selection.active .custom-select-single__inputplaceholder-wrapper .custom-select-single__inputplaceholder-inner, .custom-select__wrapper.focus .custom-select-single__inputplaceholder-wrapper .custom-select-single__inputplaceholder-inner {
border-color: var(--cus-sel-focus-border-color);
}
.custom-select__wrapper.multiple-selection.active .custom-select-multi__inputplaceholder-inner > div, .custom-select__wrapper.focus .custom-select-multi__inputplaceholder-inner > div {
box-shadow: var(--cus-sel-focus-box-shadow);
border-color: var(--cus-sel-focus-border-color);
outline: 0;
}
/*------ List ------*/
.custom-select__options-wrapper {
--cus-sel-listgroup-popwin-min-width: 200px;
--cus-sel-listgroup-tool-bg: rgb(248,249,250);
--cus-sel-listgroup-checkbox: #a5a5a5;
--cus-sel-listgroup-checkbox-active: #3162B2;
--cus-sel-listgroup-item-hover-focus-bg: rgba(0,0,0,.1);
--cus-sel-listgroup-content-scrollbar-color: rgba(0, 0, 0, 0.2);
--cus-sel-listgroup-content-scrollbar-track: rgba(0, 0, 0, 0);
--cus-sel-listgroup-content-scrollbar-w: 10px;
--cus-sel-listgroup-grouptitle-color: #a2a2a2;
--cus-sel-listgroup-groupborder-color: #d8d8d8;
--cus-sel-loader-color: #000000;
display: none;
min-width: var(--cus-sel-listgroup-popwin-min-width);
z-index: 1055; /* --bs-modal-zindex */
/*------ Loader ------*/
/*------ Options ------*/
/*------ Multiple selection ------*/
/*------ Group ------*/
/*------ Extended buttons of Multiple selection ------*/
/*------ Extended buttons of Single selection ------*/
}
.custom-select__options-wrapper.active {
display: block ;
}
.custom-select__options-wrapper .cus-select-loader {
pointer-events: none;
z-index: 1;
width: 12px;
height: 12px;
text-align: center;
transform-origin: center;
transform: translate(-5px, 0) rotate(0);
animation: 1s linear infinite cus-select__spinner;
}
.custom-select__options-wrapper .cus-select-loader svg {
vertical-align: top;
}
.custom-select__options-wrapper .cus-select-loader svg path {
fill: var(--cus-sel-loader-color);
}
@keyframes cus-select__spinner {
to {
transform: translate(-5px, 0) rotate(-360deg);
}
}
.custom-select__options-wrapper .custom-select__options-contentlist {
overflow: hidden;
overflow-y: auto;
}
.custom-select__options-wrapper .custom-select__options-contentlist:focus {
outline: none;
box-shadow: none;
}
.custom-select__options-wrapper .custom-select__options-contentlist.noscroll {
overflow-y: hidden;
}
.custom-select__options-wrapper .custom-select__options-contentlist::-webkit-scrollbar {
height: var(--cus-sel-listgroup-content-scrollbar-h);
width: var(--cus-sel-listgroup-content-scrollbar-w);
}
.custom-select__options-wrapper .custom-select__options-contentlist::-webkit-scrollbar-thumb {
background: var(--cus-sel-listgroup-content-scrollbar-color);
}
.custom-select__options-wrapper .custom-select__options-contentlist::-webkit-scrollbar-track {
background: var(--cus-sel-listgroup-content-scrollbar-track);
}
.custom-select__options-wrapper .bg-light {
background-color: var(--cus-sel-listgroup-tool-bg) ;
}
.custom-select__options-wrapper .list-group-item {
/* ITEM SELECTED */
}
.custom-select__options-wrapper .list-group-item.hide {
display: none;
}
.custom-select__options-wrapper .list-group-item .custom-select-multi__control-option-item--nomatch.hide {
display: none;
}
.custom-select__options-wrapper .list-group-item .custom-select-multi__control-option-checkbox-placeholder {
display: inline-block;
}
.custom-select__options-wrapper .list-group-item .custom-select-multi__control-option-checkbox-placeholder svg {
fill: transparent;
}
.custom-select__options-wrapper .list-group-item .custom-select-multi__control-option-checkbox-placeholder svg path {
stroke: var(--cus-sel-listgroup-checkbox);
}
.custom-select__options-wrapper .list-group-item .custom-select-multi__control-option-checkbox-selected {
display: inline-block;
}
.custom-select__options-wrapper .list-group-item .custom-select-multi__control-option-checkbox-selected svg {
fill: var(--cus-sel-listgroup-checkbox);
}
.custom-select__options-wrapper .list-group-item .custom-select-multi__control-option-checkbox-selected svg path {
stroke: var(--cus-sel-listgroup-checkbox);
}
.custom-select__options-wrapper .list-group-item.item-selected .custom-select-multi__control-option-checkbox-placeholder svg path {
stroke: var(--cus-sel-listgroup-checkbox-active);
}
.custom-select__options-wrapper .list-group-item.item-selected .custom-select-multi__control-option-checkbox-selected svg {
fill: var(--cus-sel-listgroup-checkbox-active);
}
.custom-select__options-wrapper .list-group-item.item-selected .custom-select-multi__control-option-checkbox-selected svg path {
stroke: var(--cus-sel-listgroup-checkbox-active);
}
.custom-select__options-wrapper .list-group-item:hover, .custom-select__options-wrapper .list-group-item:focus {
background-color: var(--cus-sel-listgroup-item-hover-focus-bg);
}
.custom-select__options-wrapper.multiple-selection .list-group-item.active {
border-top-width: 0;
}
.custom-select__options-wrapper .custom-select-grouptitle {
pointer-events: none;
color: var(--cus-sel-listgroup-grouptitle-color);
margin-bottom: 0.3rem;
border-bottom: 1px solid var(--cus-sel-listgroup-groupborder-color) ;
}
.custom-select__options-wrapper .custom-select-multi__control-option-item--select-all.hide {
display: none ;
}
.custom-select__options-wrapper .custom-select-multi__control-option-item--select-all .btn {
font-size: 0.75rem;
padding: 0.1rem 0.5rem;
}
.custom-select__options-wrapper .custom-select-multi__control-option-item--clear.hide {
display: none ;
}
.custom-select__options-wrapper .custom-select-multi__control-option-item--clear .btn {
font-size: 0.75rem;
padding: 0.1rem 0.5rem;
}