select-madu
Version:
Select-madu is a replacement for the select menu, with support for searching, multiple selections, async loading, animations and more.
167 lines (165 loc) • 4.39 kB
CSS
.select-madu {
vertical-align: middle;
cursor: pointer;
border-color: rgba(173, 173, 173, 0.4);
border-radius: 5px;
}
.select-madu.disabled {
pointer-events: none;
background: rgba(173, 173, 173, 0.1);
color: #777;
}
.select-madu-inner {
padding: 9px 12px;
padding-right: 32px;
color: inherit;
}
.select-madu-inner-tag {
background: rgba(173, 173, 173, 0.2);
display: inline-block;
border-radius: 3px;
word-break: break-all;
border: 1px solid rgba(173, 173, 173, 0.4);
margin: 0 3px;
padding: 0 0 0 5px;
cursor: default;
}
.select-madu-inner-tag span {
vertical-align: middle;
}
.select-madu-inner-tag button.select-madu-icon {
padding: 5px 2px;
border: 0;
border-left: 1px solid rgba(173, 173, 173, 0.4);
display: inline-block;
outline: 0;
cursor: pointer;
background: transparent;
}
.select-madu-inner-tag button.select-madu-icon:hover {
background: rgba(173, 173, 173, 0.3);
}
.select-madu-inner-tag button.select-madu-icon:focus {
background: rgba(173, 173, 173, 0.4);
}
.select-madu-inner input[type=search].select-madu-input {
min-height: 18px;
line-height: inherit;
}
.select-madu-inner input[type=search].select-madu-input::-webkit-search-decoration, .select-madu-inner input[type=search].select-madu-input::-webkit-search-cancel-button, .select-madu-inner input[type=search].select-madu-input::-webkit-search-results-button, .select-madu-inner input[type=search].select-madu-input::-webkit-search-results-decoration {
-webkit-appearance: none;
}
.select-madu-arrow {
position: absolute;
top: 0;
right: 0;
bottom: 0;
padding: 11px;
line-height: 0;
}
.select-madu-arrow .select-madu-spinner {
width: 18px;
height: 18px;
position: relative;
transform: translateY(-50%);
top: 50%;
}
.select-madu-arrow .select-madu-spinner .spinner-border {
color: rgba(173, 173, 173, 0.8);
position: relative;
display: inline-block;
width: calc(100% - 5px);
height: calc(100% - 5px);
vertical-align: text-bottom;
border: 0.15em solid currentColor;
border-right-color: transparent;
border-radius: 50%;
-webkit-animation: select-madu-spinner-border 0.75s linear infinite;
animation: select-madu-spinner-border 0.75s linear infinite;
}
.select-madu-arrow.loading {
padding: 9px;
}
.select-madu-icon {
display: inline-block;
vertical-align: middle;
}
.select-madu-icon > svg {
stroke: currentColor;
fill: none;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
}
.select-madu-arrow .select-madu-icon {
transform: translateY(-50%);
top: 50%;
position: relative;
line-height: 0px;
}
.select-madu.open .select-madu-arrow .select-madu-icon {
transform: translateY(-50%) rotate(180deg);
-webkit-transform: translateY(-50%) rotate(180deg);
}
.select-madu.animate .select-madu-arrow .select-madu-icon {
transition: all 0.15s ease-in-out;
-webkit-transition: all 0.15s ease-in-out;
}
.select-madu.placeholder .select-madu-inner {
color: #979797;
}
.select-madu.multiple:not(.placeholder) .select-madu-inner {
padding: 5px 4px;
height: auto;
}
.select-madu:focus, .select-madu.focus {
outline: 0;
border-color: #339dff;
}
.select-madu.open.search .select-madu-inner {
cursor: text;
}
.select-madu-dropdown .select-madu-options {
border-color: rgba(173, 173, 173, 0.4);
border-radius: 5px;
}
.select-madu-dropdown .select-madu-options ul li {
padding: 9px 12px;
}
.select-madu-dropdown .select-madu-options ul li.o {
cursor: pointer;
}
.select-madu-dropdown .select-madu-options ul li.o.selected {
background: rgba(173, 173, 173, 0.2);
color: inherit;
}
.select-madu-dropdown .select-madu-options ul li.o:hover,
.select-madu-dropdown .select-madu-options ul li.o.hovered {
background: #339dff;
color: #fff;
}
.select-madu-dropdown .select-madu-options ul li.o-h {
padding: 0;
}
.select-madu-dropdown .select-madu-options ul li.o-h strong {
padding: 9px 12px;
}
.select-madu-dropdown .select-madu-options ul ul + li.o-h {
margin-top: 5px;
}
.select-madu-dropdown .select-madu-options ul > ul li {
padding: 9px 18px;
}
.select-madu-dropdown .select-madu-options ul li.disabled {
pointer-events: none;
background: rgba(173, 173, 173, 0.1);
color: #777;
}
.select-madu-dropdown .select-madu-options .select-madu-sub-text {
color: #979797;
}
@keyframes select-madu-spinner-border {
to {
transform: rotate(360deg);
}
}