// Bootstrap Select // ******************************************************************************* @use '../../scss/_bootstrap-extended/include' as light; @use '../../scss/_bootstrap-extended/include-dark' as dark; @import '../../scss/_custom-variables/libs'; @import 'bootstrap-select/sass/bootstrap-select.scss'; // Common Styles .bootstrap-select *, .bootstrap-select .dropdown-toggle:focus { outline: 0 !important; } .bootstrap-select { .bs-searchbox, .bs-actionsbox, .bs-donebutton { padding: 0 0 8px; } .dropdown-toggle { transition: none; padding: calc(light.$input-padding-y - light.$input-border-width) light.$input-padding-x; box-shadow: none !important; &.show, &:focus { padding: calc(light.$input-padding-y - light.$input-focus-border-width) calc(light.$input-padding-x - light.$input-border-width); } &:after { transform: rotate(45deg) translateY(-100%); position: absolute; inset-inline-end: 23px; top: 50%; margin: 0 !important; @include app-rtl { inset-inline-end: 12px; } } &:active { transform: none !important; } &.show { &:after { inset-inline-end: calc(23px - light.$input-border-width); @include app-rtl { inset-inline-end: calc(12px - light.$input-border-width); } } } .filter-option-inner-inner { line-height: light.$input-line-height; } } .btn { &:disabled, &.disabled { color: light.$btn-color !important; } } // For header dropdown close btn .dropdown-menu .popover-header { display: flex; align-items: center; button { border: none; font-size: light.$h4-font-size; background: transparent; padding-bottom: 0.125rem; } } .is-invalid { ~ .dropdown-toggle { &:after { inset-inline-end: calc(23px - light.$input-border-width); @include app-rtl { inset-inline-end: calc(12px - light.$input-border-width); } } } } } .bootstrap-select.dropup { .dropdown-toggle { &:after { transform: rotate(317deg) translateY(-30%); inset-inline-end: 14px; @include app-rtl { inset-inline-end: calc(18px); } } &.show { &:after { inset-inline-end: calc(14px - light.$input-border-width); @include app-rtl { inset-inline-end: calc(18px - light.$input-border-width); } } } } .is-invalid { ~ .dropdown-toggle { &:after { inset-inline-end: calc(14px - light.$input-border-width); @include app-rtl { inset-inline-end: calc(18px - light.$input-border-width); } } } } } // Menu Position .bootstrap-select.show-tick .dropdown-menu { li a { position: relative; } // RTL @include app-rtl { li a span.text { margin-left: 2.125rem; margin-right: 0; } } .selected span.check-mark { display: block; right: 1rem; top: 50%; margin: 0; transform: translateY(-50%); line-height: 1; @include app-rtl { left: 1rem; right: auto; } } } // To remove ripple effect .bootstrap-select .dropdown-menu.inner .selected .waves-ripple { display: none !important; } .bootstrap-select:not(.input-group-btn), .bootstrap-select[class*='col-'] { display: block; } html[class] .bootstrap-select.form-select { background: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; } // RTL @include app-rtl(false) { .bootstrap-select .dropdown-toggle .filter-option { float: right; right: 0; left: auto; text-align: right; padding-left: inherit; padding-right: 0; margin-left: -100%; margin-right: 0; } // Fix: Subtext rtl support .bootstrap-select .filter-option-inner-inner { float: right; } .bootstrap-select .dropdown-menu li small.text-muted, .bootstrap-select .filter-option small.text-muted { position: relative; top: 2px; padding-left: 0; padding-right: 0.5em; float: left; } .bootstrap-select .dropdown-toggle .filter-option-inner { padding-left: inherit; padding-right: 0; } } // Light style @if $enable-light-style { .light-style { .bootstrap-select { background-color: light.$input-bg; .dropdown-toggle { border-radius: light.$border-radius; border: light.$input-border-width solid light.$input-border-color; &.show, &:focus { border: light.$input-focus-border-width solid light.$primary; } &:not(.show):hover { border-color: light.$input-border-hover-color; } } .dropdown-menu { &[data-popper-placement='top-start'], &[data-popper-placement='top-end'] { box-shadow: 0 -0.2rem 1.25rem rgba(light.rgba-to-hex(light.$gray-500, light.$rgba-to-hex-bg), 0.4); } .notify { background: light.$popover-bg; border: light.$input-border-width solid light.$popover-border-color; } .popover-header button { color: light.$body-color; } } } } } // Dark Style @if $enable-dark-style { .dark-style { .bootstrap-select { background-color: dark.$input-bg; .dropdown-toggle { color: dark.$input-color; &:hover { color: dark.$input-color; } border: dark.$input-border-width solid dark.$input-border-color; border-radius: dark.$border-radius; &.show, &:focus { border: dark.$input-focus-border-width solid dark.$primary; } &:not(.show):hover { border-color: dark.$input-border-hover-color; } } .dropdown-menu { &[data-popper-placement='top-start'], &[data-popper-placement='top-end'] { box-shadow: 0 -0.2rem 1.25rem rgba(15, 20, 34, 0.55); } .notify { background: dark.$popover-bg; border: dark.$input-border-width solid dark.$popover-border-color; } .popover-header button { color: dark.$body-color; } } } } }