UNPKG

@skem9/dselect

Version:

Dropdown select box for bootstrap 5 with search, multiple, tag and image support

259 lines (246 loc) 8.02 kB
.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) !important; border-color: none !important; 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 !important; border-style: none !important; border-color: transparent !important; } .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 */