@skem9/dselect
Version:
Dropdown select box for bootstrap 5 with search, multiple, tag and image support
259 lines (246 loc) • 8.02 kB
CSS
.dselect-wrapper .form-select {
padding-left: 0.75rem;
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 0.25rem;
text-align: left;
}
.dselect-wrapper .form-select.show {
border-color: #86b7fe;
outline: 0;
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.dselect-wrapper .form-select.dselect-clearable {
padding-right: 3.25rem;
}
.dselect-wrapper .form-select.form-select-sm {
padding-left: 0.5rem;
}
.dselect-wrapper .form-select.form-select-sm.dselect-clearable {
padding-right: 3.125rem;
}
.dselect-wrapper .form-select.form-select-lg {
padding-left: 1rem;
}
.dselect-wrapper .form-select.form-select-lg.dselect-clearable {
padding-right: 3.375rem;
}
.dselect-wrapper .dropdown-menu {
padding: 0.375rem;
width: 100%;
}
.dselect-wrapper .dropdown-menu > .flex-column {
gap: 0.375rem;
}
.dselect-wrapper .form-select-sm + .dropdown-menu {
padding: 0.25rem;
font-size: 0.875rem;
}
.dselect-wrapper .form-select-lg + .dropdown-menu {
padding: 0.5rem;
font-size: 1.25rem;
}
.dselect-wrapper .dropdown-item,
.dselect-wrapper .dropdown-header {
padding-left: 0.375rem;
padding-right: 0.375rem;
}
.dselect-wrapper .form-select-sm + .dropdown-menu .dropdown-item,
.dselect-wrapper .form-select-sm + .dropdown-menu .dropdown-header {
padding-left: 0.25rem;
padding-right: 0.25rem;
}
.dselect-wrapper .form-select-lg + .dropdown-menu .dropdown-item,
.dselect-wrapper .form-select-lg + .dropdown-menu .dropdown-header {
padding-left: 0.5rem;
padding-right: 0.5rem;
}
.dselect-wrapper .form-control {
border-radius: 0.375rem-var(--bs-border-width);
box-shadow: 0 0 0 0.005rem rgba(13, 110, 253, 0.25) ;
border-color: none ;
padding: 0.25rem calc(0.375rem - (var(--bs-border-width)));
font-size: inherit;
}
.dselect-wrapper .form-control:focus {
border-color: #86b7fe;
}
.dselect-wrapper .form-select-sm + .dropdown-menu .form-control {
padding: calc(0.25rem - 1px) calc(0.25rem - (var(--bs-border-width)));
}
.dselect-wrapper .form-select-lg + .dropdown-menu .form-control {
padding: 0.25rem calc(0.5rem - (var(--bs-border-width)));
}
.dselect-wrapper .dselect-no-results {
padding: 0.25rem 0.375rem;
}
.dselect-wrapper .form-select-sm + .dropdown-menu .dselect-no-results {
padding: calc(0.25rem - 1px) 0.25rem;
}
.dselect-wrapper .form-select-lg + .dropdown-menu .dselect-no-results {
padding: 0.25rem 0.5rem;
}
.dselect-wrapper .dselect-tag {
padding-left: calc(0.5rem + 14px);
padding-right: 0.5rem;
border-radius: 0.375rem;
height: calc(1.5 * 1rem);
line-height: calc(1.5 * 1rem - 1px);
position: relative;
opacity: 0.8;
transition: opacity 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
.dselect-wrapper .dselect-tag {
transition: none;
}
}
.dselect-wrapper .dselect-tag:hover {
opacity: 1;
}
.dselect-wrapper .form-select-sm .dselect-tag {
height: auto;
line-height: inherit;
}
.dselect-wrapper .form-select-lg .dselect-tag {
height: calc(1.5 * 1.25rem);
line-height: calc(1.5 * 1.25rem);
}
.dselect-wrapper .dselect-tag-remove {
position: absolute;
left: 0.25rem;
top: 50%;
margin-top: -7px;
color: rgba(248, 249, 250, 0.35);
transition: color 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
.dselect-wrapper .dselect-tag-remove {
transition: none;
}
}
.dselect-wrapper .dselect-tag-remove:hover {
color: #f8f9fa;
}
.dselect-wrapper .dselect-placeholder {
color: var(--bs-secondary-color);
}
.dselect-wrapper .dropdown-header ~ .dropdown-item {
padding-left: 0.75rem;
padding-right: 0.75rem;
}
.dselect-wrapper .form-select-sm + .dropdown-menu .dropdown-header {
font-size: 0.85em;
}
.dselect-wrapper .form-select-sm + .dropdown-menu .dropdown-header ~ .dropdown-item {
padding-left: 0.5rem;
padding-right: 0.5rem;
}
.dselect-wrapper .form-select-lg + .dropdown-menu .dropdown-header {
font-size: 0.85em;
}
.dselect-wrapper .form-select-lg + .dropdown-menu .dropdown-header ~ .dropdown-item {
padding-left: 1rem;
padding-right: 1rem;
}
.dselect-wrapper .dselect-clear {
position: absolute;
padding: 0;
border: 0;
box-shadow: none;
top: 0;
bottom: 0;
right: 2.25rem;
display: flex;
align-items: center;
color: var(--bs-secondary-color);
cursor: pointer;
}
.dselect-wrapper .dselect-clear:hover {
color: inherit;
}
.dselect-wrapper .dselect-clear svg {
width: 0.625rem;
height: 0.625rem;
}
.dselect-wrapper [data-dselect-text=""] ~ .dselect-clear {
display: none;
}
.was-validated .form-select:invalid + .dselect-wrapper .form-select, .form-select.is-invalid + .dselect-wrapper .form-select {
border-color: #dc3545;
}
.was-validated .form-select:invalid + .dselect-wrapper .form-select.show, .was-validated .form-select:invalid + .dselect-wrapper .form-select:focus, .form-select.is-invalid + .dselect-wrapper .form-select.show, .form-select.is-invalid + .dselect-wrapper .form-select:focus {
box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}
.was-validated .form-select:valid + .dselect-wrapper .form-select, .form-select.is-valid + .dselect-wrapper .form-select {
border-color: #198754;
}
.was-validated .form-select:valid + .dselect-wrapper .form-select.show, .was-validated .form-select:valid + .dselect-wrapper .form-select:focus, .form-select.is-valid + .dselect-wrapper .form-select.show, .form-select.is-valid + .dselect-wrapper .form-select:focus {
box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}
.dselect-wrapper .dropdown-item:focus-visible,
.dselect-wrapper .dropdown-item:focus-within {
color: var(--bs-dropdown-link-active-color);
text-decoration: none;
background-color: var(--bs-dropdown-link-active-bg);
outline: none ;
border-style: none ;
border-color: transparent ;
}
.input-group-lg > .dselect-wrapper > .form-select {
padding: 0.5rem 1rem;
font-size: 1.25rem;
border-radius: var(--bs-border-radius-lg);
}
.input-group-sm > .dselect-wrapper > .form-select {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
border-radius: var(--bs-border-radius-sm);
}
.input-group-lg > .dselect-wrapper > .form-select,
.input-group-sm > .dselect-wrapper > .form-select {
padding-right: 3rem;
}
.input-group > .dselect-wrapper {
position: relative;
flex: 1 1 auto;
width: 1%;
min-width: 0;
}
.input-group > .dselect-wrapper:focus {
z-index: 5;
}
.input-group > .dselect-wrapper:last-child > .form-select {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.input-group > .dselect-wrapper:nth-last-child(n+3) > .form-select {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.input-group > .form-select:first-child + .dselect-wrapper:not(:last-child) > .form-select {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.input-group.has-validation > .dselect-wrapper:nth-last-child(n+4) + .form-select,
.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating):not(.dselect-wrapper) + .form-select:not(:last-child) {
border-radius: 100%;
}
.input-group.has-validation > .dselect-wrapper:not(:nth-last-child(n+4)) > .form-select {
border-top-right-radius: 0.375rem;
border-bottom-right-radius: 0.375rem;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
/*
.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select,
.input-group.has-validation > :nth-last-child(n+3):not(.dselect-wrapper) + .form-selct
.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select
*/
/*# sourceMappingURL=dselect.css.map */