/* * @copyright Copyright (C) 2010-2024 Combodo SAS * @license http://opensource.org/licenses/AGPL-3.0 */ $ibo-input-select--padding-x: $ibo-input--padding-x !default; $ibo-input-select--option--padding-x: $ibo-input-select--padding-x !default; $ibo-input-select--option--padding-y: $ibo-spacing-200 !default; $ibo-input-select--value--min-midth: 50px; $ibo-input-select-autocomplete--value--min-midth: 150px; $ibo-input-select-selectize--value--min-midth: 150px; $ibo-input-select-selectize--value--height: 100% !default; $ibo-input-select-selectize--value--line-height: $ibo-input--height !default; $ibo-input-select-selectize--dropdown--max-height: 50vh !default; $ibo-input-select-selectize--dropdown--max-width: 50em !default; $ibo-input-select-selectize--item--active--text-color: $ibo-color-grey-800 !default; $ibo-input-select-selectize--item--active--background-color: $ibo-color-blue-100 !default; $ibo-input-select-wrapper--width: 100% !default; $ibo-input-select-wrapper--after--content: "\f0d7" !default; $ibo-input-select-wrapper--after--right: 8px !default; $ibo-input-select-wrapper--after--height: 28px !default; $ibo-input-select-wrapper--after--margin-left: -16px !default; $ibo-input-select-wrapper--after--margin-top: 1px !default; $ibo-input-select-wrapper--after--padding-top: 3px !default; $ibo-input-select-wrapper--after--background-color: inherit !default; $ibo-input-select-wrapper--after--color: $ibo-color-grey-900 !default; $ibo-input-select--action-button--height: 28px !default; $ibo-input-select--action-button--width: 23px !default; $ibo-input-select--action-button--margin-top: $ibo-spacing-0 !default; $ibo-input-select--action-button--margin-right: 3px !default; $ibo-input-select--action-button--font-size: $ibo-font-size-100 !default; $ibo-input-select--action-button--background-color: inherit !default; $ibo-input-select--action-button--color: $ibo-color-grey-800 !default; $ibo-input-select--action-button--padding-x: $ibo-spacing-100 !default; $ibo-input-select--action-button--padding-y: $ibo-spacing-0 !default; $ibo-input-select--select-wrapper--action-button--margin-right: 20px !default; $ibo-input-select--action-button--padding-left: 6px !default; $ibo-input-select--action-button--padding-right: $ibo-spacing-100 !default; $ibo-input-select--autocomplete-item-image--size: 30px !default; $ibo-input-select--autocomplete-item-image--margin-right: 0.7rem !default; $ibo-input-select--autocomplete-item-image--background-color: $ibo-color-blue-100 !default; $ibo-input-select--autocomplete-item-image--border: 1px solid $ibo-color-grey-600 !default; .ibo-input-select { display: inline-flex; min-width: $ibo-input-select--value--min-midth; appearance: none; &.ibo-input-selectize { padding-right: 0; padding-left: 0; min-width: $ibo-input-select-selectize--value--min-midth !important; input { border-width: 0; color: inherit; border-color: $ibo-color-white-100; padding-left: $ibo-input-select--padding-x; @extend %ibo-font-ral-nor-150; } > [data-value] { height: $ibo-input-select-selectize--value--height; line-height: $ibo-input-select-selectize--value--line-height; padding-left: $ibo-input-select--padding-x; } } &[size]{ height: auto; } &[multiple] { padding-left: unset; padding-right: unset; option { padding: $ibo-input-select--option--padding-y $ibo-input-select--option--padding-x; } } } .ibo-input-select-autocomplete{ min-width: $ibo-input-select-autocomplete--value--min-midth !important; text-overflow: ellipsis; } .ibo-input-selectize { min-width: $ibo-input-select-selectize--value--min-midth !important; > div { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } > input { background-color: unset; border: unset; &:focus{ outline: none !important; /* Overwrite browsers default focus outline */ } } &.input-active{ border: 1px solid $ibo-input--focus--border-color; } } .ibo-input-select-wrapper{ position:relative; } .ibo-input-select-wrapper--with-buttons .selectize-control { display: grid; width: $ibo-input-select-wrapper--width; } .ibo-input-select-wrapper::after{ position: absolute; z-index: 1; content: $ibo-input-select-wrapper--after--content; font-family: "Font Awesome 5 Free"; font-weight: 600; height: $ibo-input-select-wrapper--after--height; margin-left: $ibo-input-select-wrapper--after--margin-left; margin-top: $ibo-input-select-wrapper--after--margin-top; padding-top: $ibo-input-select-wrapper--after--padding-top; background-color: $ibo-input-select-wrapper--after--background-color; color: $ibo-input-select-wrapper--after--color; pointer-events: none; } .ibo-input-select-wrapper--with-buttons { @extend .ibo-input-wrapper--with-buttons; } .ibo-input-select-container { display: flex; } .ibo-input-select-wrapper--with-buttons:not(.ibo-input-select-autocomplete-wrapper)::after { position: absolute; z-index: 1; content: $ibo-input-select-wrapper--after--content; font-family: "Font Awesome 5 Free"; font-weight: 600; cursor: pointer; right: $ibo-input-select-wrapper--after--right; height: $ibo-input-select-wrapper--after--height; margin-left: $ibo-input-select-wrapper--after--margin-left; margin-top: $ibo-input-select-wrapper--after--margin-top; padding-top: $ibo-input-select-wrapper--after--padding-top; background-color: $ibo-input-select-wrapper--after--background-color; color: $ibo-input-select-wrapper--after--color; pointer-events: none; } .ibo-input-select--action-buttons{ position: absolute; z-index: 1; display: flex; height: $ibo-input-select--action-button--height; margin-top: $ibo-input-select--action-button--margin-top; margin-right: $ibo-input-select--action-button--margin-right; font-size: $ibo-input-select--action-button--font-size; background-color: $ibo-input-select--action-button--background-color; color: $ibo-input-select--action-button--color; padding: $ibo-input-select--action-button--padding-y $ibo-input-select--action-button--padding-x; text-align: right; bottom: 0; top: 0; right: 0; } .ibo-input-select-wrapper .ibo-input-select--action-buttons{ margin-right: $ibo-input-select--select-wrapper--action-button--margin-right; } .ibo-input-select--action-button { display: flex; align-items: center; padding-left: $ibo-input-select--action-button--padding-left; padding-right: $ibo-input-select--action-button--padding-right; float: right; } /*2 types of selectize to manage (select + autocomplete)*/ .selectize-dropdown.ui-autocomplete, .selectize-dropdown.set-dropdown, .selectize-dropdown.plugin-custom_itop { z-index: 2000; /* Note: This is not great as it does not take into account other elements z-index, but as selectize puts its dropdown under the tag, we cannot have a z-index relative to input container. */ max-height: $ibo-input-select-selectize--dropdown--max-height; max-width: $ibo-input-select-selectize--dropdown--max-width ; overflow-y: auto; } .selectize-dropdown.ui-menu .ui-state-active { margin: unset; background-color: $ibo-input-select-selectize--item--active--background-color; color: $ibo-input-select-selectize--item--active--text-color; } .ibo-input-select--autocomplete-item { display: flex; justify-content: left; align-items: center; } .ibo-input-select--autocomplete-item-image { width: $ibo-input-select--autocomplete-item-image--size; height: $ibo-input-select--autocomplete-item-image--size; /* min-xxx are here to avoid medallion to be horizontally compressed when the title is to long */ min-width: $ibo-input-select--autocomplete-item-image--size; min-height: $ibo-input-select--autocomplete-item-image--size; background-position: center center; background-size: 100%; border-radius: 100%; margin-right: $ibo-input-select--autocomplete-item-image--margin-right; background-color: $ibo-input-select--autocomplete-item-image--background-color; border: $ibo-input-select--autocomplete-item-image--border; &.ibo-is-not-medallion{ border: unset; border-radius: 0; background-color: unset; } @extend %ibo-fully-centered-content; } .ibo-input-select--autocomplete-item-txt { @extend %ibo-font-ral-nor-100; @extend %ibo-text-truncated-with-ellipsis; } /* Use "select" in order to avoid stylizing selectize wrapper that copy select classes*/ select.ibo-input-select-placeholder{ @extend .ibo-input; @extend .ibo-input-select; }