@keenmate/web-multiselect 1.1.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +198 -110
- package/dist/multiselect.js +930 -908
- package/dist/multiselect.umd.js +22 -22
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/scss/_badges-display.scss +1 -0
- package/src/scss/_base.scss +1 -1
- package/src/scss/_css-variables.scss +65 -0
- package/src/scss/_input-dropdown.scss +52 -0
- package/src/scss/_options.scss +90 -3
- package/src/scss/_tooltips-popover.scss +21 -0
- package/src/scss/_variables.scss +91 -40
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";:host{--ms-accent-color: #3b82f6;--ms-accent-color-hover: #2563eb;--ms-accent-color-active: #1d4ed8;--ms-text-primary: #111827;--ms-text-secondary: #6b7280;--ms-text-white: #ffffff;--ms-primary-bg: #f3f4f6;--ms-primary-bg-hover: #e5e7eb;--ms-border-color: #e5e7eb;--ms-input-background: var(--ms-input-bg);--ms-input-color: var(--ms-text-primary);--ms-input-border-color: var(--ms-border-color);--ms-input-border-color-focus: var(--ms-accent-color);--ms-input-placeholder-color: var(--ms-text-secondary);--ms-input-background-disabled: var(--ms-input-bg-disabled);--ms-toggle-icon-color: var(--ms-text-secondary);--ms-toggle-icon-color-open: var(--ms-text-secondary);--ms-counter-badge-background: var(--ms-accent-color);--ms-counter-badge-background-hover: var(--ms-accent-color-hover);--ms-counter-badge-color: var(--ms-text-white);--ms-hint-background: var(--ms-hint-bg);--ms-hint-color: var(--ms-text-secondary);--ms-hint-border-color: var(--ms-border-color);--ms-dropdown-background: var(--ms-dropdown-bg);--ms-dropdown-text-color: var(--ms-text-primary);--ms-dropdown-border-color: var(--ms-border-color);--ms-actions-background: var(--ms-dropdown-bg);--ms-actions-border-color: var(--ms-border-color);--ms-action-button-background: transparent;--ms-action-button-background-hover: var(--ms-primary-bg);--ms-action-button-border-color: var(--ms-border-color);--ms-action-button-border-color-hover: var(--ms-accent-color);--ms-action-button-color: var(--ms-text-primary);--ms-group-border-color: var(--ms-border-color);--ms-group-label-color: var(--ms-text-secondary);--ms-option-text-color: var(--ms-text-primary);--ms-option-background: transparent;--ms-option-background-hover: var(--ms-primary-bg);--ms-option-background-focused: var(--ms-primary-bg);--ms-option-outline-color-focused: var(--ms-accent-color);--ms-option-background-selected: var(--ms-option-bg-selected);--ms-option-background-matched: var(--ms-option-bg-matched);--ms-option-border-matched-color: var(--ms-option-border-matched);--ms-option-title-color: var(--ms-text-primary);--ms-option-subtitle-color: var(--ms-text-secondary);--ms-option-mark-background: var(--ms-option-mark-bg);--ms-empty-color: var(--ms-text-secondary);--ms-loading-color: var(--ms-text-secondary);--ms-badge-background: var(--ms-badge-bg);--ms-badge-background-hover: var(--ms-badge-bg-hover);--ms-badge-background-active: var(--ms-badge-bg-active);--ms-badge-text-background: var(--ms-badge-text-bg);--ms-badge-text-color: var(--ms-accent-color);--ms-badge-remove-background: var(--ms-accent-color);--ms-badge-remove-background-hover: var(--ms-accent-color-hover);--ms-badge-remove-color: var(--ms-text-white);--ms-badge-counter-border-color: var(--ms-border-color);--ms-badge-counter-text-background: var(--ms-badge-counter-text-bg);--ms-badge-counter-text-color: var(--ms-text-secondary);--ms-badge-counter-remove-background: var(--ms-badge-counter-remove-bg);--ms-badge-counter-remove-background-hover: var(--ms-badge-counter-remove-bg-hover);--ms-badge-counter-remove-color: var(--ms-badge-counter-remove-color);--ms-counter-wrapper-background: transparent;--ms-counter-wrapper-background-hover: var(--ms-primary-bg);--ms-counter-wrapper-border-color: var(--ms-border-color);--ms-counter-wrapper-border-color-hover: var(--ms-accent-color);--ms-count-text-color: var(--ms-text-primary);--ms-count-clear-background: transparent;--ms-count-clear-background-hover: var(--ms-accent-color);--ms-count-clear-color: var(--ms-text-secondary);--ms-count-clear-color-hover: var(--ms-accent-color);--ms-tooltip-background: var(--ms-tooltip-bg);--ms-tooltip-text-color: var(--ms-tooltip-color);--ms-selected-popover-background: var(--ms-dropdown-bg);--ms-selected-popover-border-color: var(--ms-border-color);--ms-selected-popover-header-background: var(--ms-selected-popover-header-bg);--ms-selected-popover-header-color: var(--ms-text-primary);--ms-selected-popover-header-border-color: var(--ms-border-color);--ms-selected-popover-close-background: transparent;--ms-selected-popover-close-background-hover: var(--ms-accent-color);--ms-selected-popover-close-color: var(--ms-text-secondary);--ms-selected-popover-close-color-hover: var(--ms-accent-color);--ms-input-padding: .5rem .75rem;--ms-input-padding-right: 2.5rem;--ms-input-font-size: .875rem;--ms-input-border-style: 1px solid #d1d5db;--ms-input-border-radius: .375rem;--ms-input-bg: #ffffff;--ms-input-text: #111827;--ms-input-focus-border-color: #3b82f6;--ms-input-placeholder-color: #6b7280;--ms-input-bg-disabled: rgba(107, 114, 128, .05);--ms-toggle-right: .75rem;--ms-toggle-color: #6b7280;--ms-transform-center-y: translateY(-50%);--ms-transform-rotate-180: 180deg;--ms-counter-offset: 2rem;--ms-counter-padding: .125rem .25rem;--ms-counter-bg: #3b82f6;--ms-counter-color: #ffffff;--ms-counter-font-size: .75rem;--ms-counter-font-weight: 600;--ms-counter-border-radius: .25rem;--ms-counter-bg-hover: #2563eb;--ms-transform-scale-hover: 1.1;--ms-hint-padding: .5rem .75rem;--ms-hint-bg: #ffffff;--ms-hint-border: 1px solid #e5e7eb;--ms-hint-border-radius: .375rem;--ms-hint-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--ms-hint-font-size: .75rem;--ms-hint-color: #6b7280;--ms-line-height-relaxed: 1.4;--ms-dropdown-bg: #ffffff;--ms-dropdown-border: 1px solid #e5e7eb;--ms-dropdown-border-radius: .375rem;--ms-dropdown-box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--ms-options-max-height: 20rem;--ms-option-color: #111827;--ms-z-index-dropdown: 9999;--ms-z-index-sticky: 1;--ms-actions-gap: .25rem;--ms-actions-padding: .5rem;--ms-actions-border-bottom: 1px solid #e5e7eb;--ms-actions-bg: #ffffff;--ms-action-btn-padding: .25rem .5rem;--ms-action-btn-font-size: .75rem;--ms-action-btn-border: 1px solid #e5e7eb;--ms-action-btn-border-radius: .25rem;--ms-action-btn-bg: transparent;--ms-action-btn-color: inherit;--ms-action-btn-bg-hover: #f3f4f6;--ms-action-btn-border-color-hover: #3b82f6;--ms-transform-scale-active: .98;--ms-options-padding: .25rem 0;--ms-group-border-top: 1px solid #e5e7eb;--ms-group-margin-top: .25rem;--ms-group-padding-top: .25rem;--ms-group-label-padding: .25rem .75rem;--ms-group-label-font-size: .75rem;--ms-group-label-font-weight: 600;--ms-group-label-color: #6b7280;--ms-group-label-transform: uppercase;--ms-group-label-letter-spacing: .05em;--ms-option-gap: .5rem;--ms-option-padding: .5rem .75rem;--ms-option-padding-h: .75rem;--ms-option-bg: transparent;--ms-option-bg-hover: #f9fafb;--ms-option-bg-focused: #f9fafb;--ms-option-outline-focused: 2px solid #3b82f6;--ms-option-focus-outline-offset: -2px;--ms-option-bg-matched: rgba(59, 130, 246, .08);--ms-option-border-matched: 3px solid rgba(59, 130, 246, .4);--ms-option-bg-selected: rgba(59, 130, 246, .1);--ms-disabled-opacity: .5;--ms-option-content-gap: .5rem;--ms-option-icon-size: 1.25rem;--ms-option-icon-font-size: 1rem;--ms-option-title-font-size: .875rem;--ms-option-title-color: inherit;--ms-option-mark-bg: rgba(59, 130, 246, .2);--ms-option-mark-color: inherit;--ms-option-mark-font-weight: 600;--ms-option-subtitle-margin-top: .25rem;--ms-option-subtitle-font-size: .75rem;--ms-option-subtitle-color: #6b7280;--ms-option-subtitle-line-height: 1.3;--ms-checkbox-margin-top: .125rem;--ms-checkbox-margin-right: 0;--ms-checkbox-margin-bottom: 0;--ms-checkbox-margin-left: 0;--ms-checkbox-size: 16px;--ms-checkbox-scale: 1;--ms-checkbox-align: flex-start;--ms-empty-padding: 1rem .75rem;--ms-empty-font-size: .875rem;--ms-empty-color: #6b7280;--ms-loader-padding: 1rem;--ms-loader-gap: .5rem;--ms-loading-text-font-size: .875rem;--ms-loading-text-color: #6b7280;--ms-badges-gap: .5rem;--ms-badges-margin-bottom: .5rem;--ms-badges-margin-top: .5rem;--ms-badges-margin-left: .25rem;--ms-badges-margin-right: .25rem;--ms-badge-gap: .5rem;--ms-badge-height: 1.7rem;--ms-badge-font-size: .75rem;--ms-badge-font-weight: 600;--ms-badge-border-radius: .375rem;--ms-badge-bg: #eff6ff;--ms-badge-bg-hover: #ffffff;--ms-badge-bg-active: #e0f2fe;--ms-order-first: -1;--ms-badge-text-padding: 0 .5rem;--ms-badge-text-bg: #eff6ff;--ms-badge-text-color: #3b82f6;--ms-badge-remove-width: 1.7rem;--ms-badge-remove-bg: #3b82f6;--ms-badge-remove-color: #ffffff;--ms-badge-remove-border: none;--ms-badge-remove-font-size: .75rem;--ms-badge-remove-bg-hover: #2563eb;--ms-badge-remove-box-shadow-focus: 0 0 0 2px rgba(59, 130, 246, .5);--ms-icon-remove: "×";--ms-badge-counter-bg: transparent;--ms-badge-counter-border: 1px solid #e5e7eb;--ms-badge-counter-border-radius: .25rem;--ms-badge-counter-text-color: #6b7280;--ms-badge-counter-text-bg: #d1d5db;--ms-badge-counter-remove-bg: #6b7280;--ms-badge-counter-remove-color: #ffffff;--ms-badge-counter-remove-bg-hover: #111827;--ms-more-badge-bg: #eff6ff;--ms-more-badge-hover-bg: #ffffff;--ms-more-badge-active-bg: #e0f2fe;--ms-count-display-margin-bottom: .5rem;--ms-count-display-margin-top: .5rem;--ms-count-display-margin-left: .5rem;--ms-count-display-margin-right: .5rem;--ms-counter-wrapper-bg: transparent;--ms-counter-wrapper-border: 1px solid #e5e7eb;--ms-counter-wrapper-border-radius: .25rem;--ms-counter-wrapper-padding: .25rem .5rem;--ms-counter-wrapper-gap: .25rem;--ms-counter-wrapper-bg-hover: #f9fafb;--ms-counter-wrapper-border-color-hover: #3b82f6;--ms-count-text-bg: transparent;--ms-count-text-border: none;--ms-count-text-font-size: .875rem;--ms-count-text-color: #111827;--ms-count-clear-size: 1rem;--ms-count-clear-bg: transparent;--ms-count-clear-color: #6b7280;--ms-count-clear-font-size: 1.125rem;--ms-count-clear-border-radius: 50%;--ms-count-clear-bg-hover: rgba(59, 130, 246, .2);--ms-count-clear-color-hover: #3b82f6;--ms-icon-clear: "×";--ms-tooltip-bg: #333;--ms-tooltip-color: #fff;--ms-tooltip-padding: .5rem .75rem;--ms-tooltip-border-radius: .375rem;--ms-tooltip-font-size: .875rem;--ms-tooltip-max-width: 20rem;--ms-tooltip-shadow: 0 2px 8px rgba(0, 0, 0, .15);--ms-tooltip-z-index: 10000;--ms-z-index-popover: 10000;--ms-selected-popover-width: 20rem;--ms-selected-popover-max-height: 20rem;--ms-selected-popover-bg: #ffffff;--ms-selected-popover-border: 1px solid #e5e7eb;--ms-selected-popover-border-radius: .375rem;--ms-selected-popover-box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--ms-selected-popover-header-padding: .5rem .75rem;--ms-selected-popover-header-bg: rgba(59, 130, 246, .1);--ms-selected-popover-header-border-bottom: 1px solid #e5e7eb;--ms-selected-popover-header-font-size: .875rem;--ms-selected-popover-header-font-weight: 600;--ms-selected-popover-header-color: #111827;--ms-popover-close-size: 1.5rem;--ms-selected-popover-close-bg: transparent;--ms-selected-popover-close-color: #6b7280;--ms-selected-popover-close-font-size: 1.25rem;--ms-selected-popover-close-border-radius: 50%;--ms-selected-popover-close-bg-hover: rgba(59, 130, 246, .2);--ms-selected-popover-close-color-hover: #3b82f6;--ms-selected-popover-body-gap: .25rem;--ms-selected-popover-body-padding: .5rem;--ms-selected-popover-body-max-height: 18rem;--ms-font-size-2xs: .625rem;--ms-font-size-xs: .75rem;--ms-font-size-sm: .875rem;--ms-font-size-base: 1rem;--ms-font-size-lg: 1.125rem;--ms-font-weight-medium: 500;--ms-font-weight-semibold: 600;--ms-line-height-none: 1;--ms-spacing-xs: .25rem;--ms-spacing-sm: .5rem;--ms-spacing-md: .75rem;--ms-spacing-lg: 1rem;--ms-transition-fast: .15s;--ms-transition-normal: .2s;--ms-easing-snappy: cubic-bezier(.4, 0, .2, 1);--ms-placeholder-opacity: .6;--ms-disabled-input-opacity: .6}multi-select:not(:defined){display:block;min-height:2.5rem;color:transparent!important;background:transparent}.ml-wrapper{display:flex;flex-direction:column;align-items:stretch}.ml-wrapper--inline{flex-direction:row;align-items:flex-start}.ml{position:relative;width:100%}.ms__input-wrapper{position:relative;display:flex;align-items:center}.ms__input{width:100%;padding:var(--ms-input-padding, .5rem .75rem);padding-right:var(--ms-input-padding-right, 2.5rem);font-size:var(--ms-input-font-size, .875rem);border:var(--ms-input-border-style, 1px solid #d1d5db);border-radius:var(--ms-input-border-radius, .375rem);background:var(--ms-input-background, #ffffff);color:var(--ms-input-color, #111827);cursor:pointer;transition:border-color var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__input:focus{outline:none;border-color:var(--ms-input-border-color-focus, #3b82f6)}.ms__input::placeholder{color:var(--ms-input-placeholder-color, #6b7280);opacity:0;transition:opacity var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}:host([data-ready]) .ms__input::placeholder{opacity:var(--ms-placeholder-opacity, .6)}.ms__toggle{position:absolute;right:var(--ms-toggle-right, .75rem);top:50%;transform:var(--ms-transform-center-y, translateY(-50%));pointer-events:none;color:var(--ms-toggle-icon-color, #6b7280);transition:transform var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms--open .ms__toggle{transform:var(--ms-transform-center-y, translateY(-50%)) rotate(var(--ms-transform-rotate-180, 180deg));color:var(--ms-toggle-icon-color-open, #6b7280)}.ms__counter{position:absolute;right:var(--ms-counter-offset, 2rem);top:50%;transform:var(--ms-transform-center-y, translateY(-50%));padding:var(--ms-counter-padding, .125rem .25rem);background:var(--ms-counter-badge-background, #3b82f6);color:var(--ms-counter-badge-color, #ffffff);font-size:var(--ms-counter-font-size, .75rem);font-weight:var(--ms-counter-font-weight, 600);border-radius:var(--ms-counter-border-radius, .25rem);cursor:pointer;transition:all var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__counter:hover{background:var(--ms-counter-badge-background-hover, #2563eb);transform:var(--ms-transform-center-y, translateY(-50%)) scale(var(--ms-transform-scale-hover, 1.1))}.ms__hint{display:none;position:absolute;z-index:var(--ms-z-index-popover, 10000);padding:var(--ms-hint-padding, .5rem .75rem);background:var(--ms-hint-background, #ffffff);border:var(--ms-hint-border, 1px solid #e5e7eb);border-radius:var(--ms-hint-border-radius, .375rem);box-shadow:var(--ms-hint-box-shadow, 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1));font-size:var(--ms-hint-font-size, .75rem);color:var(--ms-hint-color, #6b7280);line-height:var(--ms-line-height-relaxed, 1.4);max-width:100%}.ms__hint--visible{display:block}.ms__dropdown{display:none;position:absolute;z-index:var(--ms-z-index-dropdown, 9999);background:var(--ms-dropdown-background, #ffffff);border:var(--ms-dropdown-border, 1px solid #e5e7eb);border-radius:var(--ms-dropdown-border-radius, .375rem);box-shadow:var(--ms-dropdown-box-shadow, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1));max-height:var(--ms-options-max-height, 20rem);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;color:var(--ms-dropdown-text-color, #111827)}.ms__dropdown--visible{display:block}.ms__dropdown--virtual{overflow-y:visible;max-height:none}.ms__actions{display:flex;flex-wrap:nowrap;gap:var(--ms-actions-gap, .25rem);padding:var(--ms-actions-padding, .5rem);border-bottom:var(--ms-actions-border-bottom, 1px solid #e5e7eb)}.ms__actions--wrap{flex-wrap:wrap}.ms__actions--sticky{position:sticky;top:0;z-index:var(--ms-z-index-sticky, 1);background:var(--ms-actions-background, #ffffff)}.ms__action-btn{flex:1;padding:var(--ms-action-btn-padding, .25rem .5rem);font-size:var(--ms-action-btn-font-size, .75rem);border:var(--ms-action-btn-border, 1px solid #e5e7eb);border-radius:var(--ms-action-btn-border-radius, .25rem);background:var(--ms-action-button-background, transparent);color:var(--ms-action-button-color, inherit);cursor:pointer;transition:all var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__action-btn:hover{background:var(--ms-action-button-background-hover, #f3f4f6);border-color:var(--ms-action-button-border-color-hover, #3b82f6)}.ms__action-btn:active{transform:scale(var(--ms-transform-scale-active, .98))}.ms__action-btn:disabled,.ms__action-btn[disabled]{opacity:var(--ms-disabled-opacity, .5);cursor:not-allowed;pointer-events:none}.ms__options{padding:var(--ms-options-padding, .25rem 0)}.ms__options--virtual .ms__option{height:var(--ms-option-height, 50px);min-height:var(--ms-option-height, 50px);max-height:var(--ms-option-height, 50px);overflow:hidden;box-sizing:border-box}.ms__group+.ms__group{border-top:var(--ms-group-border-top, 1px solid #e5e7eb);margin-top:var(--ms-group-margin-top, .25rem);padding-top:var(--ms-group-padding-top, .25rem)}.ms__group-label{padding:var(--ms-group-label-padding, .25rem .75rem);font-size:var(--ms-group-label-font-size, .75rem);font-weight:var(--ms-group-label-font-weight, 600);color:var(--ms-group-label-color, #6b7280);text-transform:var(--ms-group-label-transform, uppercase);letter-spacing:var(--ms-group-label-letter-spacing, .05em)}.ms__option{display:flex;align-items:var(--ms-checkbox-align, flex-start);gap:var(--ms-option-gap, .5rem);padding:var(--ms-option-padding, .5rem .75rem);color:var(--ms-option-text-color, #111827);background:var(--ms-option-background, transparent);cursor:pointer;transition:background-color var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__option:hover{background:var(--ms-option-background-hover, #f9fafb)}.ms__option--focused{background:var(--ms-option-background-focused, #f9fafb);outline:var(--ms-option-outline-focused, 2px solid #3b82f6);outline-offset:var(--ms-option-focus-outline-offset, -2px)}.ms__option--matched{background:var(--ms-option-background-matched, rgba(59, 130, 246, .08));border-left:var(--ms-option-border-matched, 3px solid rgba(59, 130, 246, .4))}.ms__option--selected{background:var(--ms-option-background-selected, rgba(59, 130, 246, .1))}.ms__option--selected:hover{background:var(--ms-option-bg-selected-hover, var(--ms-option-background-selected, rgba(59, 130, 246, .1)))}.ms__option--disabled{opacity:var(--ms-disabled-opacity, .5);cursor:not-allowed}.ms__option--disabled:hover{background:var(--ms-option-background, transparent)}.ms__option[data-checkbox-align=center]{--ms-checkbox-align: center}.ms__option[data-checkbox-align=bottom]{--ms-checkbox-align: flex-end}.ms__checkbox{flex-shrink:0;margin-top:var(--ms-checkbox-margin-top, .125rem);margin-right:var(--ms-checkbox-margin-right, 0);margin-bottom:var(--ms-checkbox-margin-bottom, 0);margin-left:var(--ms-checkbox-margin-left, 0);width:var(--ms-checkbox-size, 16px);height:var(--ms-checkbox-size, 16px);transform:scale(var(--ms-checkbox-scale, 1));transform-origin:top left;cursor:pointer}.ms__option--disabled .ms__checkbox{cursor:not-allowed}.ms__option-content{flex:1;display:flex;align-items:flex-start;gap:var(--ms-option-content-gap, .5rem);min-width:0}.ms__option-icon{flex-shrink:0;width:var(--ms-option-icon-size, 1.25rem);height:var(--ms-option-icon-size, 1.25rem);display:flex;align-items:center;justify-content:center;font-size:var(--ms-option-icon-font-size, 1rem)}.ms__option-icon svg{width:100%;height:100%;fill:currentColor}.ms__option-text{flex:1;min-width:0}.ms__option-title{font-size:var(--ms-option-title-font-size, .875rem);color:var(--ms-option-title-color, inherit);line-height:var(--ms-line-height-relaxed, 1.4)}.ms__option-title mark{background:var(--ms-option-mark-background, rgba(59, 130, 246, .2));color:var(--ms-option-mark-color, inherit);font-weight:var(--ms-option-mark-font-weight, 600)}.ms__option-subtitle{margin-top:var(--ms-option-subtitle-margin-top, .25rem);font-size:var(--ms-option-subtitle-font-size, .75rem);color:var(--ms-option-subtitle-color, #6b7280);line-height:var(--ms-option-subtitle-line-height, 1.3)}.ms__empty{padding:var(--ms-empty-padding, 1rem .75rem);text-align:center;font-size:var(--ms-empty-font-size, .875rem);color:var(--ms-empty-color, #6b7280)}.ms__loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--ms-loader-padding, 1rem);gap:var(--ms-loader-gap, .5rem)}.ms__loading-text{font-size:var(--ms-loading-text-font-size, .875rem);color:var(--ms-loading-color, #6b7280)}.ms__badges{display:flex;flex-wrap:wrap;gap:var(--ms-badges-gap, .5rem);padding:0}.ms__badges:empty{display:none}.ms__badges--bottom{margin-top:var(--ms-badges-margin-bottom, .5rem)}.ms__badges--top{margin-bottom:var(--ms-badges-margin-top, .5rem);order:var(--ms-order-first, -1)}.ms__badges--left{order:var(--ms-order-first, -1);margin-right:var(--ms-badges-margin-left, .25rem);justify-content:flex-end}.ms__badges--right{margin-left:var(--ms-badges-margin-right, .25rem);justify-content:flex-start}.ms__count-display{display:flex;align-items:center}.ms__count-display:empty{display:none}.ms__count-display--bottom{margin-top:var(--ms-count-display-margin-bottom, .5rem)}.ms__count-display--top{margin-bottom:var(--ms-count-display-margin-top, .5rem);order:var(--ms-order-first, -1)}.ms__count-display--left{order:var(--ms-order-first, -1);margin-right:var(--ms-count-display-margin-left, .5rem);justify-content:flex-start}.ms__count-display--right{margin-left:var(--ms-count-display-margin-right, .5rem);justify-content:flex-end}.ms__counter-wrapper{display:inline-flex;align-items:center;gap:var(--ms-counter-wrapper-gap, .25rem);background:var(--ms-counter-wrapper-background, transparent);border:var(--ms-counter-wrapper-border, 1px solid #e5e7eb);border-radius:var(--ms-counter-wrapper-border-radius, .25rem);padding:var(--ms-counter-wrapper-padding, .25rem .5rem);transition:all var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__counter-wrapper:hover{background:var(--ms-counter-wrapper-background-hover, #f9fafb);border-color:var(--ms-counter-wrapper-border-color-hover, #3b82f6)}.ms__count-text{display:inline-flex;align-items:center;background:var(--ms-count-text-bg, transparent);border:var(--ms-count-text-border, none);padding:0;font-size:var(--ms-count-text-font-size, .875rem);color:var(--ms-count-text-color, #111827);cursor:pointer;transition:color var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__count-clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:var(--ms-count-clear-size, 1rem);height:var(--ms-count-clear-size, 1rem);padding:0;border:none;background:var(--ms-count-clear-background, transparent);color:var(--ms-count-clear-color, #6b7280);font-size:var(--ms-count-clear-font-size, 1.125rem);line-height:var(--ms-line-height-none, 1);cursor:pointer;border-radius:var(--ms-count-clear-border-radius, 50%);transition:all var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__count-clear:hover{background:var(--ms-count-clear-background-hover, rgba(59, 130, 246, .2));color:var(--ms-count-clear-color-hover, #3b82f6)}.ms__count-clear:before{content:var(--ms-icon-clear, "×")}.ms__badge{display:inline-flex;align-items:center;height:var(--ms-badge-height, 1.7rem);font-size:var(--ms-badge-font-size, .75rem);font-weight:var(--ms-badge-font-weight, 600);line-height:var(--ms-line-height-none, 1);border-radius:var(--ms-badge-border-radius, .375rem);overflow:hidden;max-width:100%}.ms__badge-text{display:flex;align-items:center;height:100%;padding:var(--ms-badge-text-padding, 0 .5rem);background:var(--ms-badge-text-background, #eff6ff);color:var(--ms-badge-text-color, #3b82f6);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color var(--ms-transition-normal, .2s) ease}.ms__badge-remove{display:flex;align-items:center;justify-content:center;width:var(--ms-badge-remove-width, 1.7rem);height:100%;flex-shrink:0;background:var(--ms-badge-remove-background, #3b82f6);color:var(--ms-badge-remove-color, #ffffff);border:var(--ms-badge-remove-border, none);cursor:pointer;transition:background-color var(--ms-transition-normal, .2s) ease;font-size:var(--ms-badge-remove-font-size, .75rem)}.ms__badge-remove:hover{background:var(--ms-badge-remove-background-hover, #2563eb)}.ms__badge-remove:focus{outline:none;box-shadow:var(--ms-badge-remove-box-shadow-focus, 0 0 0 2px rgba(59, 130, 246, .5))}.ms__badge-remove:before{content:var(--ms-icon-remove, "×");font-size:var(--ms-font-size-base, 1rem);line-height:var(--ms-line-height-none, 1)}.ms__badge--counter{border:var(--ms-badge-counter-border, 1px solid #e5e7eb);cursor:pointer}.ms__badge--counter .ms__badge-text{background:var(--ms-badge-counter-text-background, #d1d5db);color:var(--ms-badge-counter-text-color, #6b7280)}.ms__badge--counter .ms__badge-remove{background:var(--ms-badge-counter-remove-background, #6b7280);color:var(--ms-badge-counter-remove-color, #ffffff)}.ms__badge--counter .ms__badge-remove:hover{background:var(--ms-badge-counter-remove-background-hover, #111827)}.ms__badge--more{cursor:pointer}.ms__badge-tooltip{position:fixed;z-index:var(--ms-tooltip-z-index, 10000);opacity:0;visibility:hidden;transition:opacity var(--ms-transition-normal, .2s) ease,visibility var(--ms-transition-normal, .2s) ease;background:var(--ms-tooltip-background, #333);color:var(--ms-tooltip-text-color, #fff);padding:var(--ms-tooltip-padding, .5rem .75rem);border-radius:var(--ms-tooltip-border-radius, .375rem);font-size:var(--ms-tooltip-font-size, .875rem);line-height:var(--ms-line-height-relaxed, 1.4);max-width:var(--ms-tooltip-max-width, 20rem);word-wrap:break-word;white-space:pre-wrap;box-shadow:var(--ms-tooltip-shadow, 0 2px 8px rgba(0, 0, 0, .15));pointer-events:none}.ms__badge-tooltip--visible{opacity:1;visibility:visible}.ms__selected-popover{display:none;position:absolute;z-index:var(--ms-z-index-popover, 10000);background:var(--ms-selected-popover-background, #ffffff);border:var(--ms-selected-popover-border, 1px solid #e5e7eb);border-radius:var(--ms-selected-popover-border-radius, .375rem);box-shadow:var(--ms-selected-popover-box-shadow, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1));width:var(--ms-selected-popover-width, 20rem);max-height:var(--ms-selected-popover-max-height, 20rem);overflow:hidden}.ms__selected-popover--visible{display:flex;flex-direction:column}.ms__selected-popover--virtual{display:block;overflow:visible;max-height:none}.ms__selected-popover-header{display:flex;align-items:center;justify-content:space-between;padding:var(--ms-selected-popover-header-padding, .5rem .75rem);background:var(--ms-selected-popover-header-background, rgba(59, 130, 246, .1));border-bottom:var(--ms-selected-popover-header-border-bottom, 1px solid #e5e7eb);font-size:var(--ms-selected-popover-header-font-size, .875rem);font-weight:var(--ms-selected-popover-header-font-weight, 600);color:var(--ms-selected-popover-header-color, #111827)}.ms__selected-popover-close{display:flex;align-items:center;justify-content:center;width:var(--ms-popover-close-size, 1.5rem);height:var(--ms-popover-close-size, 1.5rem);padding:0;border:none;background:var(--ms-selected-popover-close-background, transparent);color:var(--ms-selected-popover-close-color, #6b7280);font-size:var(--ms-selected-popover-close-font-size, 1.25rem);line-height:var(--ms-line-height-none, 1);cursor:pointer;border-radius:var(--ms-selected-popover-close-border-radius, 50%);transition:all var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__selected-popover-close:hover{background:var(--ms-selected-popover-close-background-hover, rgba(59, 130, 246, .2));color:var(--ms-selected-popover-close-color-hover, #3b82f6)}.ms__selected-popover-body{display:flex;flex-direction:column;gap:var(--ms-selected-popover-body-gap, .25rem);padding:var(--ms-selected-popover-body-padding, .5rem);overflow-y:auto;max-height:var(--ms-selected-popover-body-max-height, 18rem)}.ms__selected-popover-body .ms__badge{width:100%;min-height:fit-content;line-height:var(--ms-line-height-relaxed, 1.4)}.ms__selected-popover-body .ms__badge-text{flex:1;min-width:0;white-space:normal;word-wrap:break-word}.ms__selected-popover-body--virtual{display:block;max-height:none;padding:0}.ms__selected-popover-body--virtual .ms__badge{height:var(--ms-badge-height-virtual, 36px);min-height:var(--ms-badge-height-virtual, 36px);max-height:var(--ms-badge-height-virtual, 36px);margin-bottom:var(--ms-selected-popover-body-gap, .25rem);overflow:hidden;box-sizing:border-box}.ms__selected-popover-body--virtual .ms__badge-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms--rtl .ms__input-wrapper{direction:rtl}.ms--rtl .ms__input{text-align:right;padding-left:var(--ms-input-padding-right, 2.5rem);padding-right:var(--ms-input-padding-h, .75rem)}.ms--rtl .ms__toggle{left:var(--ms-toggle-right, .75rem)!important;right:auto!important}.ms--rtl .ms__counter{left:var(--ms-counter-offset, 2rem)!important;right:auto!important}.ms--rtl .ms__dropdown{direction:rtl;text-align:right}.ms--rtl .ms__option{flex-direction:row-reverse}.ms--rtl .ms__checkbox{margin-left:var(--ms-spacing-sm, .5rem);margin-right:0}.ms--rtl .ms__option-content{text-align:right}.ms--rtl .ms__option-icon{margin-left:var(--ms-spacing-xs, .25rem);margin-right:0}.ms--rtl .ms__badges{direction:rtl}.ms--rtl .ms__badge{flex-direction:row-reverse}.ms--rtl .ms__badge-remove{border-radius:var(--ms-badge-remove-border-radius-rtl, .375rem) 0 0 var(--ms-badge-remove-border-radius-rtl, .375rem);border-left:var(--ms-badge-remove-border, none);border-right:none}.ms--rtl .ms__badge-text{border-radius:0 var(--ms-badge-text-border-radius-rtl, .375rem) var(--ms-badge-text-border-radius-rtl, .375rem) 0}.ms--rtl .ms__count-display{direction:rtl}.ms--rtl .ms__counter-wrapper{flex-direction:row-reverse}.ms--rtl .ms__selected-popover{direction:rtl;text-align:right}.ms--rtl .ms__actions{direction:rtl}.ms--rtl .ms__group-label,.ms--rtl .ms__empty{text-align:right}.ms--rtl .ms__hint{direction:rtl;text-align:right}.ms--xs .ms__input{font-size:var(--ms-font-size-xs, .75rem)}.ms--xs .ms__option{padding:var(--ms-spacing-xs, .25rem) var(--ms-spacing-sm, .5rem)}.ms--xs .ms__option-title{font-size:var(--ms-font-size-xs, .75rem)}.ms--xs .ms__badge{font-size:var(--ms-font-size-2xs, .625rem)}.ms--sm .ms__input,.ms--sm .ms__option-title{font-size:var(--ms-font-size-xs, .75rem)}.ms--lg .ms__input,.ms--lg .ms__option-title{font-size:var(--ms-font-size-base, 1rem)}.ms--lg .ms__badge{font-size:var(--ms-font-size-sm, .875rem)}.ms--xl .ms__input,.ms--xl .ms__option-title{font-size:var(--ms-font-size-lg, 1.125rem)}.ms--xl .ms__badge{font-size:var(--ms-font-size-base, 1rem)}.ms--disabled .ms__input{opacity:var(--ms-disabled-input-opacity, .6);cursor:not-allowed;background:var(--ms-input-bg-disabled, rgba(107, 114, 128, .05))}.ms--disabled .ms__toggle{opacity:var(--ms-disabled-input-opacity, .6)}.ms--no-checkboxes .ms__option{gap:0;padding-left:var(--ms-option-padding-h, .75rem)}.ms--no-checkboxes .ms__option-content{padding-left:0}.ml-debug-info{margin-top:.25rem;padding:.25rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;font-size:.75rem;color:#111827}.ml-debug-info details summary{cursor:pointer;font-weight:600;color:#2563eb;-webkit-user-select:none;user-select:none;padding:.25rem;border-radius:.25rem}.ml-debug-info details summary:hover{background-color:#f3f4f6}.ml-debug-info details summary:focus{outline:2px solid #3b82f6;outline-offset:2px}.ml-debug-info .ml-debug-stats{display:flex;flex-direction:column;gap:.25rem;margin-top:.25rem;padding:.25rem;background-color:#fff;border-radius:.25rem}.ml-debug-info .ml-debug-stats span{display:flex;justify-content:space-between;padding:2px 4px;font-family:monospace;font-size:.625rem}.ml-debug-info .ml-debug-stats span:before{content:"•";margin-right:.25rem;color:#3b82f6}
|
|
1
|
+
@charset "UTF-8";:host{--ms-rem: 10px;--ms-accent-color: #3b82f6;--ms-accent-color-hover: #2563eb;--ms-accent-color-active: #1d4ed8;--ms-text-primary: #111827;--ms-text-secondary: #6b7280;--ms-text-white: #ffffff;--ms-primary-bg: #f3f4f6;--ms-primary-bg-hover: #e5e7eb;--ms-border-color: #e5e7eb;--ms-input-background: var(--ms-input-bg);--ms-input-color: var(--ms-text-primary);--ms-input-border-color: var(--ms-border-color);--ms-input-border-color-focus: var(--ms-accent-color);--ms-input-placeholder-color: var(--ms-text-secondary);--ms-input-background-disabled: var(--ms-input-bg-disabled);--ms-toggle-icon-color: var(--ms-text-secondary);--ms-toggle-icon-color-open: var(--ms-text-secondary);--ms-counter-badge-background: var(--ms-accent-color);--ms-counter-badge-background-hover: var(--ms-accent-color-hover);--ms-counter-badge-color: var(--ms-text-white);--ms-hint-background: var(--ms-hint-bg);--ms-hint-color: var(--ms-text-secondary);--ms-hint-border-color: var(--ms-border-color);--ms-dropdown-background: var(--ms-dropdown-bg);--ms-dropdown-text-color: var(--ms-text-primary);--ms-dropdown-border-color: var(--ms-border-color);--ms-actions-background: var(--ms-dropdown-bg);--ms-actions-border-color: var(--ms-border-color);--ms-action-button-background: transparent;--ms-action-button-background-hover: var(--ms-primary-bg);--ms-action-button-border-color: var(--ms-border-color);--ms-action-button-border-color-hover: var(--ms-accent-color);--ms-action-button-color: var(--ms-text-primary);--ms-group-border-color: var(--ms-border-color);--ms-group-label-color: var(--ms-text-secondary);--ms-option-text-color: var(--ms-text-primary);--ms-option-background: transparent;--ms-option-background-hover: var(--ms-primary-bg);--ms-option-color-hover: inherit;--ms-option-background-focused: var(--ms-primary-bg);--ms-option-color-focused: inherit;--ms-option-outline-color-focused: var(--ms-accent-color);--ms-option-background-selected: var(--ms-option-bg-selected);--ms-option-color-selected: inherit;--ms-option-color-selected-hover: var(--ms-option-color-selected);--ms-option-background-matched: var(--ms-option-bg-matched);--ms-option-color-matched: inherit;--ms-option-border-matched-color: var(--ms-option-border-matched);--ms-option-title-color: var(--ms-text-primary);--ms-option-subtitle-color: var(--ms-text-secondary);--ms-option-mark-background: var(--ms-option-mark-bg);--ms-empty-color: var(--ms-text-secondary);--ms-loading-color: var(--ms-text-secondary);--ms-badge-background: var(--ms-badge-bg);--ms-badge-background-hover: var(--ms-badge-bg-hover);--ms-badge-background-active: var(--ms-badge-bg-active);--ms-badge-text-background: var(--ms-badge-text-bg);--ms-badge-text-color: var(--ms-accent-color);--ms-badge-remove-background: var(--ms-accent-color);--ms-badge-remove-background-hover: var(--ms-accent-color-hover);--ms-badge-remove-color: var(--ms-text-white);--ms-badge-counter-border-color: var(--ms-border-color);--ms-badge-counter-text-background: var(--ms-badge-counter-text-bg);--ms-badge-counter-text-color: var(--ms-text-secondary);--ms-badge-counter-remove-background: var(--ms-badge-counter-remove-bg);--ms-badge-counter-remove-background-hover: var(--ms-badge-counter-remove-bg-hover);--ms-badge-counter-remove-color: var(--ms-badge-counter-remove-color);--ms-counter-wrapper-background: transparent;--ms-counter-wrapper-background-hover: var(--ms-primary-bg);--ms-counter-wrapper-border-color: var(--ms-border-color);--ms-counter-wrapper-border-color-hover: var(--ms-accent-color);--ms-count-text-color: var(--ms-text-primary);--ms-count-clear-background: transparent;--ms-count-clear-background-hover: var(--ms-accent-color);--ms-count-clear-color: var(--ms-text-secondary);--ms-count-clear-color-hover: var(--ms-accent-color);--ms-tooltip-background: var(--ms-tooltip-bg);--ms-tooltip-text-color: var(--ms-tooltip-color);--ms-selected-popover-background: var(--ms-dropdown-bg);--ms-selected-popover-border-color: var(--ms-border-color);--ms-selected-popover-header-background: var(--ms-selected-popover-header-bg);--ms-selected-popover-header-color: var(--ms-text-primary);--ms-selected-popover-header-border-color: var(--ms-border-color);--ms-selected-popover-close-background: transparent;--ms-selected-popover-close-background-hover: var(--ms-accent-color);--ms-selected-popover-close-color: var(--ms-text-secondary);--ms-selected-popover-close-color-hover: var(--ms-accent-color);--ms-input-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-input-padding-right: calc(4 * var(--ms-rem));--ms-input-font-size: calc(1.4 * var(--ms-rem));--ms-input-border-style: 1px solid #d1d5db;--ms-input-border-radius: calc(.6 * var(--ms-rem));--ms-input-bg: #ffffff;--ms-input-text: #111827;--ms-input-focus-border-color: #3b82f6;--ms-input-placeholder-color: #6b7280;--ms-input-bg-disabled: rgba(107, 114, 128, .05);--ms-input-size-xs-font: calc(1.2 * var(--ms-rem));--ms-input-size-xs-padding-v: calc(.4 * var(--ms-rem));--ms-input-size-xs-padding-h: calc(.8 * var(--ms-rem));--ms-input-size-xs-height: calc(3.1 * var(--ms-rem));--ms-input-size-sm-font: calc(1.3 * var(--ms-rem));--ms-input-size-sm-padding-v: calc(.5 * var(--ms-rem));--ms-input-size-sm-padding-h: calc(.8 * var(--ms-rem));--ms-input-size-sm-height: calc(3.3 * var(--ms-rem));--ms-input-size-md-font: calc(1.4 * var(--ms-rem));--ms-input-size-md-padding-v: calc(.8 * var(--ms-rem));--ms-input-size-md-padding-h: calc(1.2 * var(--ms-rem));--ms-input-size-md-height: calc(3.5 * var(--ms-rem));--ms-input-size-lg-font: calc(1.6 * var(--ms-rem));--ms-input-size-lg-padding-v: calc(1 * var(--ms-rem));--ms-input-size-lg-padding-h: calc(1.4 * var(--ms-rem));--ms-input-size-lg-height: calc(3.8 * var(--ms-rem));--ms-input-size-xl-font: calc(1.8 * var(--ms-rem));--ms-input-size-xl-padding-v: calc(1.2 * var(--ms-rem));--ms-input-size-xl-padding-h: calc(1.6 * var(--ms-rem));--ms-input-size-xl-height: calc(4.1 * var(--ms-rem));--ms-toggle-right: calc(1.2 * var(--ms-rem));--ms-toggle-color: #6b7280;--ms-transform-center-y: translateY(-50%);--ms-transform-rotate-180: 180deg;--ms-counter-offset: calc(3.2 * var(--ms-rem));--ms-counter-padding: calc(.2 * var(--ms-rem)) calc(.4 * var(--ms-rem));--ms-counter-bg: #3b82f6;--ms-counter-color: #ffffff;--ms-counter-font-size: calc(1.2 * var(--ms-rem));--ms-counter-font-weight: 600;--ms-counter-border-radius: calc(.4 * var(--ms-rem));--ms-counter-bg-hover: #2563eb;--ms-transform-scale-hover: 1.1;--ms-hint-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-hint-bg: #ffffff;--ms-hint-border: 1px solid #e5e7eb;--ms-hint-border-radius: calc(.6 * var(--ms-rem));--ms-hint-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--ms-hint-font-size: calc(1.2 * var(--ms-rem));--ms-hint-color: #6b7280;--ms-line-height-relaxed: 1.4;--ms-dropdown-bg: #ffffff;--ms-dropdown-border: 1px solid #e5e7eb;--ms-dropdown-border-radius: calc(.6 * var(--ms-rem));--ms-dropdown-box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--ms-options-max-height: calc(32 * var(--ms-rem));--ms-option-color: #111827;--ms-z-index-dropdown: 9999;--ms-z-index-sticky: 1;--ms-actions-gap: calc(.4 * var(--ms-rem));--ms-actions-padding: calc(.8 * var(--ms-rem));--ms-actions-border-bottom: 1px solid #e5e7eb;--ms-actions-bg: #ffffff;--ms-action-btn-padding: calc(.4 * var(--ms-rem)) calc(.8 * var(--ms-rem));--ms-action-btn-font-size: calc(1.2 * var(--ms-rem));--ms-action-btn-border: 1px solid #e5e7eb;--ms-action-btn-border-radius: calc(.4 * var(--ms-rem));--ms-action-btn-bg: transparent;--ms-action-btn-color: inherit;--ms-action-btn-bg-hover: #f3f4f6;--ms-action-btn-border-color-hover: #3b82f6;--ms-transform-scale-active: .98;--ms-options-padding: calc(.4 * var(--ms-rem)) 0;--ms-group-border-top: 1px solid #e5e7eb;--ms-group-margin-top: calc(.4 * var(--ms-rem));--ms-group-padding-top: calc(.4 * var(--ms-rem));--ms-group-label-padding: calc(.4 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-group-label-font-size: calc(1.2 * var(--ms-rem));--ms-group-label-font-weight: 600;--ms-group-label-color: #6b7280;--ms-group-label-transform: uppercase;--ms-group-label-letter-spacing: .05em;--ms-option-gap: calc(.8 * var(--ms-rem));--ms-option-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-option-padding-h: calc(1.2 * var(--ms-rem));--ms-option-bg: transparent;--ms-option-bg-hover: #f9fafb;--ms-option-bg-focused: #f9fafb;--ms-option-outline-focused: 2px solid #3b82f6;--ms-option-focus-outline-offset: -2px;--ms-option-bg-matched: rgba(59, 130, 246, .08);--ms-option-border-matched: 3px solid rgba(59, 130, 246, .4);--ms-option-bg-selected: rgba(59, 130, 246, .1);--ms-disabled-opacity: .5;--ms-option-content-gap: calc(.8 * var(--ms-rem));--ms-option-icon-size: calc(2 * var(--ms-rem));--ms-option-icon-font-size: calc(1.6 * var(--ms-rem));--ms-option-title-font-size: calc(1.4 * var(--ms-rem));--ms-option-title-color: inherit;--ms-option-mark-bg: rgba(59, 130, 246, .2);--ms-option-mark-color: inherit;--ms-option-mark-font-weight: 600;--ms-option-subtitle-margin-top: calc(.4 * var(--ms-rem));--ms-option-subtitle-font-size: calc(1.2 * var(--ms-rem));--ms-option-subtitle-color: #6b7280;--ms-option-subtitle-line-height: 1.3;--ms-checkbox-margin-top: calc(.2 * var(--ms-rem));--ms-checkbox-margin-right: 0;--ms-checkbox-margin-bottom: 0;--ms-checkbox-margin-left: 0;--ms-checkbox-size: calc(1.6 * var(--ms-rem));--ms-checkbox-scale: 1;--ms-checkbox-align: flex-start;--ms-checkbox-bg: #ffffff;--ms-checkbox-border: 1px solid #d1d5db;--ms-checkbox-border-radius: calc(.3 * var(--ms-rem));--ms-checkbox-checked-bg: #3b82f6;--ms-checkbox-checked-border: 1px solid #3b82f6;--ms-checkbox-checkmark-color: #ffffff;--ms-checkbox-hover-border-color: #3b82f6;--ms-checkbox-disabled-bg: #e5e7eb;--ms-checkbox-disabled-border: 1px solid #e5e7eb;--ms-empty-padding: calc(1.6 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-empty-font-size: calc(1.4 * var(--ms-rem));--ms-empty-color: #6b7280;--ms-loader-padding: calc(1.6 * var(--ms-rem));--ms-loader-gap: calc(.8 * var(--ms-rem));--ms-loading-text-font-size: calc(1.4 * var(--ms-rem));--ms-loading-text-color: #6b7280;--ms-badges-gap: calc(.8 * var(--ms-rem));--ms-badges-margin-bottom: calc(.8 * var(--ms-rem));--ms-badges-margin-top: calc(.8 * var(--ms-rem));--ms-badges-margin-left: calc(.4 * var(--ms-rem));--ms-badges-margin-right: calc(.4 * var(--ms-rem));--ms-badge-gap: calc(.8 * var(--ms-rem));--ms-badge-height: calc(2.7 * var(--ms-rem));--ms-badge-font-size: calc(1.2 * var(--ms-rem));--ms-badge-font-weight: 600;--ms-badge-border-radius: calc(.6 * var(--ms-rem));--ms-badge-border: none;--ms-badge-bg: #eff6ff;--ms-badge-bg-hover: #ffffff;--ms-badge-bg-active: #e0f2fe;--ms-order-first: -1;--ms-badge-text-padding: 0 calc(.8 * var(--ms-rem));--ms-badge-text-bg: #eff6ff;--ms-badge-text-color: #3b82f6;--ms-badge-remove-width: calc(2.7 * var(--ms-rem));--ms-badge-remove-bg: #3b82f6;--ms-badge-remove-color: #ffffff;--ms-badge-remove-border: none;--ms-badge-remove-font-size: calc(1.2 * var(--ms-rem));--ms-badge-remove-bg-hover: #2563eb;--ms-badge-remove-box-shadow-focus: 0 0 0 2px rgba(59, 130, 246, .5);--ms-icon-remove: "×";--ms-badge-counter-bg: transparent;--ms-badge-counter-border: 1px solid #e5e7eb;--ms-badge-counter-border-radius: calc(.4 * var(--ms-rem));--ms-badge-counter-text-color: #6b7280;--ms-badge-counter-text-bg: #d1d5db;--ms-badge-counter-remove-bg: #6b7280;--ms-badge-counter-remove-color: #ffffff;--ms-badge-counter-remove-bg-hover: #111827;--ms-more-badge-bg: #eff6ff;--ms-more-badge-hover-bg: #ffffff;--ms-more-badge-active-bg: #e0f2fe;--ms-count-display-margin-bottom: calc(.8 * var(--ms-rem));--ms-count-display-margin-top: calc(.8 * var(--ms-rem));--ms-count-display-margin-left: calc(.8 * var(--ms-rem));--ms-count-display-margin-right: calc(.8 * var(--ms-rem));--ms-counter-wrapper-bg: transparent;--ms-counter-wrapper-border: 1px solid #e5e7eb;--ms-counter-wrapper-border-radius: calc(.4 * var(--ms-rem));--ms-counter-wrapper-padding: calc(.4 * var(--ms-rem)) calc(.8 * var(--ms-rem));--ms-counter-wrapper-gap: calc(.4 * var(--ms-rem));--ms-counter-wrapper-bg-hover: #f9fafb;--ms-counter-wrapper-border-color-hover: #3b82f6;--ms-count-text-bg: transparent;--ms-count-text-border: none;--ms-count-text-font-size: calc(1.4 * var(--ms-rem));--ms-count-text-color: #111827;--ms-count-clear-size: calc(1.6 * var(--ms-rem));--ms-count-clear-bg: transparent;--ms-count-clear-color: #6b7280;--ms-count-clear-font-size: calc(1.8 * var(--ms-rem));--ms-count-clear-border-radius: 50%;--ms-count-clear-bg-hover: rgba(59, 130, 246, .2);--ms-count-clear-color-hover: #3b82f6;--ms-icon-clear: "×";--ms-tooltip-bg: #333;--ms-tooltip-color: #fff;--ms-tooltip-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-tooltip-border-radius: calc(.6 * var(--ms-rem));--ms-tooltip-font-size: calc(1.4 * var(--ms-rem));--ms-tooltip-max-width: calc(32 * var(--ms-rem));--ms-tooltip-shadow: 0 2px 8px rgba(0, 0, 0, .15);--ms-tooltip-z-index: 10000;--ms-z-index-popover: 10000;--ms-selected-popover-width: calc(32 * var(--ms-rem));--ms-selected-popover-max-height: calc(32 * var(--ms-rem));--ms-selected-popover-bg: #ffffff;--ms-selected-popover-border: 1px solid #e5e7eb;--ms-selected-popover-border-radius: calc(.6 * var(--ms-rem));--ms-selected-popover-box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--ms-selected-popover-header-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-selected-popover-header-bg: rgba(59, 130, 246, .1);--ms-selected-popover-header-border-bottom: 1px solid #e5e7eb;--ms-selected-popover-header-font-size: calc(1.4 * var(--ms-rem));--ms-selected-popover-header-font-weight: 600;--ms-selected-popover-header-color: #111827;--ms-popover-close-size: calc(2.4 * var(--ms-rem));--ms-selected-popover-close-bg: transparent;--ms-selected-popover-close-color: #6b7280;--ms-selected-popover-close-font-size: calc(2 * var(--ms-rem));--ms-selected-popover-close-border-radius: 50%;--ms-selected-popover-close-bg-hover: rgba(59, 130, 246, .2);--ms-selected-popover-close-color-hover: #3b82f6;--ms-selected-popover-body-gap: calc(.4 * var(--ms-rem));--ms-selected-popover-body-padding: calc(.8 * var(--ms-rem));--ms-selected-popover-body-max-height: calc(28.8 * var(--ms-rem));--ms-font-size-2xs: calc(1 * var(--ms-rem));--ms-font-size-xs: calc(1.2 * var(--ms-rem));--ms-font-size-sm: calc(1.4 * var(--ms-rem));--ms-font-size-base: calc(1.6 * var(--ms-rem));--ms-font-size-lg: calc(1.8 * var(--ms-rem));--ms-font-weight-medium: 500;--ms-font-weight-semibold: 600;--ms-line-height-none: 1;--ms-spacing-xs: calc(.4 * var(--ms-rem));--ms-spacing-sm: calc(.8 * var(--ms-rem));--ms-spacing-md: calc(1.2 * var(--ms-rem));--ms-spacing-lg: calc(1.6 * var(--ms-rem));--ms-transition-fast: .15s;--ms-transition-normal: .2s;--ms-easing-snappy: cubic-bezier(.4, 0, .2, 1);--ms-placeholder-opacity: .6;--ms-disabled-input-opacity: .6;--ms-scrollbar-width: 8px;--ms-scrollbar-track-bg: transparent;--ms-scrollbar-thumb-bg: #d1d5db;--ms-scrollbar-thumb-bg-hover: #6b7280;--ms-scrollbar-thumb-border-radius: 4px}multi-select:not(:defined){display:block;min-height:calc(3.5 * var(--ms-rem));color:transparent!important;background:transparent}.ml-wrapper{display:flex;flex-direction:column;align-items:stretch}.ml-wrapper--inline{flex-direction:row;align-items:flex-start}.ml{position:relative;width:100%}.ms__input-wrapper{position:relative;display:flex;align-items:center}.ms__input{box-sizing:border-box;width:100%;height:var(--ms-input-size-md-height, calc(3.5 * var(--ms-rem)));padding:var(--ms-input-padding, calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));padding-right:var(--ms-input-padding-right, calc(4 * var(--ms-rem)));font-size:var(--ms-input-font-size, calc(1.4 * var(--ms-rem)));border:var(--ms-input-border-style, 1px solid #d1d5db);border-radius:var(--ms-input-border-radius, calc(.6 * var(--ms-rem)));background:var(--ms-input-background, #ffffff);color:var(--ms-input-color, #111827);cursor:pointer;transition:border-color var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__input:focus{outline:none;border-color:var(--ms-input-border-color-focus, #3b82f6)}.ms__input::placeholder{color:var(--ms-input-placeholder-color, #6b7280);opacity:0;transition:opacity var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}:host([data-ready]) .ms__input::placeholder{opacity:var(--ms-placeholder-opacity, .6)}.ms__input.ms__input--xs{font-size:var(--ms-input-size-xs-font);padding:var(--ms-input-size-xs-padding-v) var(--ms-input-size-xs-padding-h);padding-right:calc(var(--ms-input-size-xs-padding-h) * 2.5);height:var(--ms-input-size-xs-height)}.ms__input.ms__input--sm{font-size:var(--ms-input-size-sm-font);padding:var(--ms-input-size-sm-padding-v) var(--ms-input-size-sm-padding-h);padding-right:calc(var(--ms-input-size-sm-padding-h) * 2.5);height:var(--ms-input-size-sm-height)}.ms__input.ms__input--lg{font-size:var(--ms-input-size-lg-font);padding:var(--ms-input-size-lg-padding-v) var(--ms-input-size-lg-padding-h);padding-right:calc(var(--ms-input-size-lg-padding-h) * 2.5);height:var(--ms-input-size-lg-height)}.ms__input.ms__input--xl{font-size:var(--ms-input-size-xl-font);padding:var(--ms-input-size-xl-padding-v) var(--ms-input-size-xl-padding-h);padding-right:calc(var(--ms-input-size-xl-padding-h) * 2.5);height:var(--ms-input-size-xl-height)}.ms__toggle{position:absolute;right:var(--ms-toggle-right, calc(1.2 * var(--ms-rem)));top:50%;transform:var(--ms-transform-center-y, translateY(-50%));pointer-events:none;color:var(--ms-toggle-icon-color, #6b7280);transition:transform var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms--open .ms__toggle{transform:var(--ms-transform-center-y, translateY(-50%)) rotate(var(--ms-transform-rotate-180, 180deg));color:var(--ms-toggle-icon-color-open, #6b7280)}.ms__counter{position:absolute;right:var(--ms-counter-offset, calc(3.2 * var(--ms-rem)));top:50%;transform:var(--ms-transform-center-y, translateY(-50%));padding:var(--ms-counter-padding, calc(.2 * var(--ms-rem)) calc(.4 * var(--ms-rem)));background:var(--ms-counter-badge-background, #3b82f6);color:var(--ms-counter-badge-color, #ffffff);font-size:var(--ms-counter-font-size, calc(1.2 * var(--ms-rem)));font-weight:var(--ms-counter-font-weight, 600);border-radius:var(--ms-counter-border-radius, calc(.4 * var(--ms-rem)));cursor:pointer;transition:all var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__counter:hover{background:var(--ms-counter-badge-background-hover, #2563eb);transform:var(--ms-transform-center-y, translateY(-50%)) scale(var(--ms-transform-scale-hover, 1.1))}.ms__hint{display:none;position:absolute;z-index:var(--ms-z-index-popover, 10000);padding:var(--ms-hint-padding, calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));background:var(--ms-hint-background, #ffffff);border:var(--ms-hint-border, 1px solid #e5e7eb);border-radius:var(--ms-hint-border-radius, calc(.6 * var(--ms-rem)));box-shadow:var(--ms-hint-box-shadow, 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1));font-size:var(--ms-hint-font-size, calc(1.2 * var(--ms-rem)));color:var(--ms-hint-color, #6b7280);line-height:var(--ms-line-height-relaxed, 1.4);max-width:100%}.ms__hint--visible{display:block}.ms__dropdown{display:none;position:absolute;z-index:var(--ms-z-index-dropdown, 9999);background:var(--ms-dropdown-background, #ffffff);border:var(--ms-dropdown-border, 1px solid #e5e7eb);border-radius:var(--ms-dropdown-border-radius, calc(.6 * var(--ms-rem)));box-shadow:var(--ms-dropdown-box-shadow, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1));max-height:var(--ms-options-max-height, calc(32 * var(--ms-rem)));overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;color:var(--ms-dropdown-text-color, #111827);scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg, #d1d5db) var(--ms-scrollbar-track-bg, transparent)}.ms__dropdown::-webkit-scrollbar{width:var(--ms-scrollbar-width, 8px)}.ms__dropdown::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg, transparent)}.ms__dropdown::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg, #d1d5db);border-radius:var(--ms-scrollbar-thumb-border-radius, 4px)}.ms__dropdown::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover, #6b7280)}.ms__dropdown--visible{display:block}.ms__dropdown--virtual{overflow-y:visible;max-height:none}.ms__actions{display:flex;flex-wrap:nowrap;gap:var(--ms-actions-gap, calc(.4 * var(--ms-rem)));padding:var(--ms-actions-padding, calc(.8 * var(--ms-rem)));border-bottom:var(--ms-actions-border-bottom, 1px solid #e5e7eb)}.ms__actions--wrap{flex-wrap:wrap}.ms__actions--sticky{position:sticky;top:0;z-index:var(--ms-z-index-sticky, 1);background:var(--ms-actions-background, #ffffff)}.ms__action-btn{flex:1;padding:var(--ms-action-btn-padding, calc(.4 * var(--ms-rem)) calc(.8 * var(--ms-rem)));font-size:var(--ms-action-btn-font-size, calc(1.2 * var(--ms-rem)));border:var(--ms-action-btn-border, 1px solid #e5e7eb);border-radius:var(--ms-action-btn-border-radius, calc(.4 * var(--ms-rem)));background:var(--ms-action-button-background, transparent);color:var(--ms-action-button-color, inherit);cursor:pointer;transition:all var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__action-btn:hover{background:var(--ms-action-button-background-hover, #f3f4f6);border-color:var(--ms-action-button-border-color-hover, #3b82f6)}.ms__action-btn:active{transform:scale(var(--ms-transform-scale-active, .98))}.ms__action-btn:disabled,.ms__action-btn[disabled]{opacity:var(--ms-disabled-opacity, .5);cursor:not-allowed;pointer-events:none}.ms__options{padding:var(--ms-options-padding, calc(.4 * var(--ms-rem)) 0);scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg, #d1d5db) var(--ms-scrollbar-track-bg, transparent)}.ms__options::-webkit-scrollbar{width:var(--ms-scrollbar-width, 8px)}.ms__options::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg, transparent)}.ms__options::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg, #d1d5db);border-radius:var(--ms-scrollbar-thumb-border-radius, 4px)}.ms__options::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover, #6b7280)}.ms__options--virtual .ms__option{height:var(--ms-option-height, 50px);min-height:var(--ms-option-height, 50px);max-height:var(--ms-option-height, 50px);overflow:hidden;box-sizing:border-box}.ms__group+.ms__group{border-top:var(--ms-group-border-top, 1px solid #e5e7eb);margin-top:var(--ms-group-margin-top, calc(.4 * var(--ms-rem)));padding-top:var(--ms-group-padding-top, calc(.4 * var(--ms-rem)))}.ms__group-label{padding:var(--ms-group-label-padding, calc(.4 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));font-size:var(--ms-group-label-font-size, calc(1.2 * var(--ms-rem)));font-weight:var(--ms-group-label-font-weight, 600);color:var(--ms-group-label-color, #6b7280);text-transform:var(--ms-group-label-transform, uppercase);letter-spacing:var(--ms-group-label-letter-spacing, .05em)}.ms__option{display:flex;align-items:var(--ms-checkbox-align, flex-start);gap:var(--ms-option-gap, calc(.8 * var(--ms-rem)));padding:var(--ms-option-padding, calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));color:var(--ms-option-text-color, #111827);background:var(--ms-option-background, transparent);cursor:pointer;transition:background-color var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__option:hover{background:var(--ms-option-background-hover, #f9fafb);color:var(--ms-option-color-hover, inherit)}.ms__option--focused{background:var(--ms-option-background-focused, #f9fafb);color:var(--ms-option-color-focused, inherit);outline:var(--ms-option-outline-focused, 2px solid #3b82f6);outline-offset:var(--ms-option-focus-outline-offset, -2px)}.ms__option--matched{background:var(--ms-option-background-matched, rgba(59, 130, 246, .08));color:var(--ms-option-color-matched, inherit);border-left:var(--ms-option-border-matched, 3px solid rgba(59, 130, 246, .4))}.ms__option--selected{background:var(--ms-option-background-selected, rgba(59, 130, 246, .1));color:var(--ms-option-color-selected, inherit)}.ms__option--selected:hover{background:var(--ms-option-bg-selected-hover, var(--ms-option-background-selected, rgba(59, 130, 246, .1)));color:var(--ms-option-color-selected-hover, var(--ms-option-color-selected, inherit))}.ms__option--disabled{opacity:var(--ms-disabled-opacity, .5);cursor:not-allowed}.ms__option--disabled:hover{background:var(--ms-option-background, transparent)}.ms__option[data-checkbox-align=center]{--ms-checkbox-align: center}.ms__option[data-checkbox-align=bottom]{--ms-checkbox-align: flex-end}.ms__checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;flex-shrink:0;position:relative;margin-top:var(--ms-checkbox-margin-top, calc(.2 * var(--ms-rem)));margin-right:var(--ms-checkbox-margin-right, 0);margin-bottom:var(--ms-checkbox-margin-bottom, 0);margin-left:var(--ms-checkbox-margin-left, 0);width:var(--ms-checkbox-size, calc(1.6 * var(--ms-rem)));height:var(--ms-checkbox-size, calc(1.6 * var(--ms-rem)));transform:scale(var(--ms-checkbox-scale, 1));transform-origin:top left;cursor:pointer;background:var(--ms-checkbox-bg, #ffffff);border:var(--ms-checkbox-border, 1px solid #d1d5db);border-radius:var(--ms-checkbox-border-radius, calc(.3 * var(--ms-rem)));transition:background-color .15s ease,border-color .15s ease}.ms__checkbox:after{content:"";position:absolute;display:none;left:50%;top:45%;width:30%;height:55%;transform:translate(-50%,-50%) rotate(45deg);border:solid var(--ms-checkbox-checkmark-color, #ffffff);border-width:0 2px 2px 0}.ms__checkbox:hover:not(:disabled){border-color:var(--ms-checkbox-hover-border-color, #3b82f6)}.ms__checkbox:checked{background:var(--ms-checkbox-checked-bg, #3b82f6);border:var(--ms-checkbox-checked-border, 1px solid #3b82f6)}.ms__checkbox:checked:after{display:block}.ms__checkbox:focus-visible{outline:2px solid var(--ms-checkbox-checked-bg, #3b82f6);outline-offset:2px}.ms__checkbox:disabled{cursor:not-allowed;background:var(--ms-checkbox-disabled-bg, #e5e7eb);border:var(--ms-checkbox-disabled-border, 1px solid #e5e7eb);opacity:.6}.ms__checkbox:disabled:checked{background:var(--ms-checkbox-disabled-bg, #e5e7eb)}.ms__option--disabled .ms__checkbox{cursor:not-allowed}.ms__option-content{flex:1;display:flex;align-items:flex-start;gap:var(--ms-option-content-gap, calc(.8 * var(--ms-rem)));min-width:0}.ms__option-icon{flex-shrink:0;width:var(--ms-option-icon-size, calc(2 * var(--ms-rem)));height:var(--ms-option-icon-size, calc(2 * var(--ms-rem)));display:flex;align-items:center;justify-content:center;font-size:var(--ms-option-icon-font-size, calc(1.6 * var(--ms-rem)))}.ms__option-icon svg{width:100%;height:100%;fill:currentColor}.ms__option-text{flex:1;min-width:0}.ms__option-title{font-size:var(--ms-option-title-font-size, calc(1.4 * var(--ms-rem)));color:var(--ms-option-title-color, inherit);line-height:var(--ms-line-height-relaxed, 1.4)}.ms__option-title mark{background:var(--ms-option-mark-background, rgba(59, 130, 246, .2));color:var(--ms-option-mark-color, inherit);font-weight:var(--ms-option-mark-font-weight, 600)}.ms__option-subtitle{margin-top:var(--ms-option-subtitle-margin-top, calc(.4 * var(--ms-rem)));font-size:var(--ms-option-subtitle-font-size, calc(1.2 * var(--ms-rem)));color:var(--ms-option-subtitle-color, #6b7280);line-height:var(--ms-option-subtitle-line-height, 1.3)}.ms__empty{padding:var(--ms-empty-padding, calc(1.6 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));text-align:center;font-size:var(--ms-empty-font-size, calc(1.4 * var(--ms-rem)));color:var(--ms-empty-color, #6b7280)}.ms__loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--ms-loader-padding, calc(1.6 * var(--ms-rem)));gap:var(--ms-loader-gap, calc(.8 * var(--ms-rem)))}.ms__loading-text{font-size:var(--ms-loading-text-font-size, calc(1.4 * var(--ms-rem)));color:var(--ms-loading-color, #6b7280)}.ms__badges{display:flex;flex-wrap:wrap;gap:var(--ms-badges-gap, calc(.8 * var(--ms-rem)));padding:0}.ms__badges:empty{display:none}.ms__badges--bottom{margin-top:var(--ms-badges-margin-bottom, calc(.8 * var(--ms-rem)))}.ms__badges--top{margin-bottom:var(--ms-badges-margin-top, calc(.8 * var(--ms-rem)));order:var(--ms-order-first, -1)}.ms__badges--left{order:var(--ms-order-first, -1);margin-right:var(--ms-badges-margin-left, calc(.4 * var(--ms-rem)));justify-content:flex-end}.ms__badges--right{margin-left:var(--ms-badges-margin-right, calc(.4 * var(--ms-rem)));justify-content:flex-start}.ms__count-display{display:flex;align-items:center}.ms__count-display:empty{display:none}.ms__count-display--bottom{margin-top:var(--ms-count-display-margin-bottom, calc(.8 * var(--ms-rem)))}.ms__count-display--top{margin-bottom:var(--ms-count-display-margin-top, calc(.8 * var(--ms-rem)));order:var(--ms-order-first, -1)}.ms__count-display--left{order:var(--ms-order-first, -1);margin-right:var(--ms-count-display-margin-left, calc(.8 * var(--ms-rem)));justify-content:flex-start}.ms__count-display--right{margin-left:var(--ms-count-display-margin-right, calc(.8 * var(--ms-rem)));justify-content:flex-end}.ms__counter-wrapper{display:inline-flex;align-items:center;gap:var(--ms-counter-wrapper-gap, calc(.4 * var(--ms-rem)));background:var(--ms-counter-wrapper-background, transparent);border:var(--ms-counter-wrapper-border, 1px solid #e5e7eb);border-radius:var(--ms-counter-wrapper-border-radius, calc(.4 * var(--ms-rem)));padding:var(--ms-counter-wrapper-padding, calc(.4 * var(--ms-rem)) calc(.8 * var(--ms-rem)));transition:all var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__counter-wrapper:hover{background:var(--ms-counter-wrapper-background-hover, #f9fafb);border-color:var(--ms-counter-wrapper-border-color-hover, #3b82f6)}.ms__count-text{display:inline-flex;align-items:center;background:var(--ms-count-text-bg, transparent);border:var(--ms-count-text-border, none);padding:0;font-size:var(--ms-count-text-font-size, calc(1.4 * var(--ms-rem)));color:var(--ms-count-text-color, #111827);cursor:pointer;transition:color var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__count-clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:var(--ms-count-clear-size, calc(1.6 * var(--ms-rem)));height:var(--ms-count-clear-size, calc(1.6 * var(--ms-rem)));padding:0;border:none;background:var(--ms-count-clear-background, transparent);color:var(--ms-count-clear-color, #6b7280);font-size:var(--ms-count-clear-font-size, calc(1.8 * var(--ms-rem)));line-height:var(--ms-line-height-none, 1);cursor:pointer;border-radius:var(--ms-count-clear-border-radius, 50%);transition:all var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__count-clear:hover{background:var(--ms-count-clear-background-hover, rgba(59, 130, 246, .2));color:var(--ms-count-clear-color-hover, #3b82f6)}.ms__count-clear:before{content:var(--ms-icon-clear, "×")}.ms__badge{display:inline-flex;align-items:center;height:var(--ms-badge-height, calc(2.7 * var(--ms-rem)));font-size:var(--ms-badge-font-size, calc(1.2 * var(--ms-rem)));font-weight:var(--ms-badge-font-weight, 600);line-height:var(--ms-line-height-none, 1);border-radius:var(--ms-badge-border-radius, calc(.6 * var(--ms-rem)));border:var(--ms-badge-border, none);overflow:hidden;max-width:100%}.ms__badge-text{display:flex;align-items:center;height:100%;padding:var(--ms-badge-text-padding, 0 calc(.8 * var(--ms-rem)));background:var(--ms-badge-text-background, #eff6ff);color:var(--ms-badge-text-color, #3b82f6);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color var(--ms-transition-normal, .2s) ease}.ms__badge-remove{display:flex;align-items:center;justify-content:center;width:var(--ms-badge-remove-width, calc(2.7 * var(--ms-rem)));height:100%;flex-shrink:0;background:var(--ms-badge-remove-background, #3b82f6);color:var(--ms-badge-remove-color, #ffffff);border:var(--ms-badge-remove-border, none);cursor:pointer;transition:background-color var(--ms-transition-normal, .2s) ease;font-size:var(--ms-badge-remove-font-size, calc(1.2 * var(--ms-rem)))}.ms__badge-remove:hover{background:var(--ms-badge-remove-background-hover, #2563eb)}.ms__badge-remove:focus{outline:none;box-shadow:var(--ms-badge-remove-box-shadow-focus, 0 0 0 2px rgba(59, 130, 246, .5))}.ms__badge-remove:before{content:var(--ms-icon-remove, "×");font-size:var(--ms-font-size-base, calc(1.6 * var(--ms-rem)));line-height:var(--ms-line-height-none, 1)}.ms__badge--counter{border:var(--ms-badge-counter-border, 1px solid #e5e7eb);cursor:pointer}.ms__badge--counter .ms__badge-text{background:var(--ms-badge-counter-text-background, #d1d5db);color:var(--ms-badge-counter-text-color, #6b7280)}.ms__badge--counter .ms__badge-remove{background:var(--ms-badge-counter-remove-background, #6b7280);color:var(--ms-badge-counter-remove-color, #ffffff)}.ms__badge--counter .ms__badge-remove:hover{background:var(--ms-badge-counter-remove-background-hover, #111827)}.ms__badge--more{cursor:pointer}.ms__badge-tooltip{position:fixed;z-index:var(--ms-tooltip-z-index, 10000);opacity:0;visibility:hidden;transition:opacity var(--ms-transition-normal, .2s) ease,visibility var(--ms-transition-normal, .2s) ease;background:var(--ms-tooltip-background, #333);color:var(--ms-tooltip-text-color, #fff);padding:var(--ms-tooltip-padding, calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));border-radius:var(--ms-tooltip-border-radius, calc(.6 * var(--ms-rem)));font-size:var(--ms-tooltip-font-size, calc(1.4 * var(--ms-rem)));line-height:var(--ms-line-height-relaxed, 1.4);max-width:var(--ms-tooltip-max-width, calc(32 * var(--ms-rem)));word-wrap:break-word;white-space:pre-wrap;box-shadow:var(--ms-tooltip-shadow, 0 2px 8px rgba(0, 0, 0, .15));pointer-events:none}.ms__badge-tooltip--visible{opacity:1;visibility:visible}.ms__selected-popover{display:none;position:absolute;z-index:var(--ms-z-index-popover, 10000);background:var(--ms-selected-popover-background, #ffffff);border:var(--ms-selected-popover-border, 1px solid #e5e7eb);border-radius:var(--ms-selected-popover-border-radius, calc(.6 * var(--ms-rem)));box-shadow:var(--ms-selected-popover-box-shadow, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1));width:var(--ms-selected-popover-width, calc(32 * var(--ms-rem)));max-height:var(--ms-selected-popover-max-height, calc(32 * var(--ms-rem)));overflow:hidden}.ms__selected-popover--visible{display:flex;flex-direction:column}.ms__selected-popover--virtual{display:block;overflow:visible;max-height:none}.ms__selected-popover-header{display:flex;align-items:center;justify-content:space-between;padding:var(--ms-selected-popover-header-padding, calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem)));background:var(--ms-selected-popover-header-background, rgba(59, 130, 246, .1));border-bottom:var(--ms-selected-popover-header-border-bottom, 1px solid #e5e7eb);font-size:var(--ms-selected-popover-header-font-size, calc(1.4 * var(--ms-rem)));font-weight:var(--ms-selected-popover-header-font-weight, 600);color:var(--ms-selected-popover-header-color, #111827)}.ms__selected-popover-close{display:flex;align-items:center;justify-content:center;width:var(--ms-popover-close-size, calc(2.4 * var(--ms-rem)));height:var(--ms-popover-close-size, calc(2.4 * var(--ms-rem)));padding:0;border:none;background:var(--ms-selected-popover-close-background, transparent);color:var(--ms-selected-popover-close-color, #6b7280);font-size:var(--ms-selected-popover-close-font-size, calc(2 * var(--ms-rem)));line-height:var(--ms-line-height-none, 1);cursor:pointer;border-radius:var(--ms-selected-popover-close-border-radius, 50%);transition:all var(--ms-transition-fast, .15s) var(--ms-easing-snappy, cubic-bezier(.4, 0, .2, 1))}.ms__selected-popover-close:hover{background:var(--ms-selected-popover-close-background-hover, rgba(59, 130, 246, .2));color:var(--ms-selected-popover-close-color-hover, #3b82f6)}.ms__selected-popover-body{display:flex;flex-direction:column;gap:var(--ms-selected-popover-body-gap, calc(.4 * var(--ms-rem)));padding:var(--ms-selected-popover-body-padding, calc(.8 * var(--ms-rem)));overflow-y:auto;max-height:var(--ms-selected-popover-body-max-height, calc(28.8 * var(--ms-rem)));scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg, #d1d5db) var(--ms-scrollbar-track-bg, transparent)}.ms__selected-popover-body::-webkit-scrollbar{width:var(--ms-scrollbar-width, 8px)}.ms__selected-popover-body::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg, transparent)}.ms__selected-popover-body::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg, #d1d5db);border-radius:var(--ms-scrollbar-thumb-border-radius, 4px)}.ms__selected-popover-body::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover, #6b7280)}.ms__selected-popover-body .ms__badge{width:100%;min-height:fit-content;line-height:var(--ms-line-height-relaxed, 1.4)}.ms__selected-popover-body .ms__badge-text{flex:1;min-width:0;white-space:normal;word-wrap:break-word}.ms__selected-popover-body--virtual{display:block;max-height:none;padding:0}.ms__selected-popover-body--virtual .ms__badge{height:var(--ms-badge-height-virtual, 36px);min-height:var(--ms-badge-height-virtual, 36px);max-height:var(--ms-badge-height-virtual, 36px);margin-bottom:var(--ms-selected-popover-body-gap, calc(.4 * var(--ms-rem)));overflow:hidden;box-sizing:border-box}.ms__selected-popover-body--virtual .ms__badge-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms--rtl .ms__input-wrapper{direction:rtl}.ms--rtl .ms__input{text-align:right;padding-left:var(--ms-input-padding-right, calc(4 * var(--ms-rem)));padding-right:var(--ms-input-padding-h, calc(1.2 * var(--ms-rem)))}.ms--rtl .ms__toggle{left:var(--ms-toggle-right, calc(1.2 * var(--ms-rem)))!important;right:auto!important}.ms--rtl .ms__counter{left:var(--ms-counter-offset, calc(3.2 * var(--ms-rem)))!important;right:auto!important}.ms--rtl .ms__dropdown{direction:rtl;text-align:right}.ms--rtl .ms__option{flex-direction:row-reverse}.ms--rtl .ms__checkbox{margin-left:var(--ms-spacing-sm, calc(.8 * var(--ms-rem)));margin-right:0}.ms--rtl .ms__option-content{text-align:right}.ms--rtl .ms__option-icon{margin-left:var(--ms-spacing-xs, calc(.4 * var(--ms-rem)));margin-right:0}.ms--rtl .ms__badges{direction:rtl}.ms--rtl .ms__badge{flex-direction:row-reverse}.ms--rtl .ms__badge-remove{border-radius:var(--ms-badge-remove-border-radius-rtl, calc(.6 * var(--ms-rem))) 0 0 var(--ms-badge-remove-border-radius-rtl, calc(.6 * var(--ms-rem)));border-left:var(--ms-badge-remove-border, none);border-right:none}.ms--rtl .ms__badge-text{border-radius:0 var(--ms-badge-text-border-radius-rtl, calc(.6 * var(--ms-rem))) var(--ms-badge-text-border-radius-rtl, calc(.6 * var(--ms-rem))) 0}.ms--rtl .ms__count-display{direction:rtl}.ms--rtl .ms__counter-wrapper{flex-direction:row-reverse}.ms--rtl .ms__selected-popover{direction:rtl;text-align:right}.ms--rtl .ms__actions{direction:rtl}.ms--rtl .ms__group-label,.ms--rtl .ms__empty{text-align:right}.ms--rtl .ms__hint{direction:rtl;text-align:right}.ms--xs .ms__input{font-size:var(--ms-font-size-xs, calc(1.2 * var(--ms-rem)))}.ms--xs .ms__option{padding:var(--ms-spacing-xs, calc(.4 * var(--ms-rem))) var(--ms-spacing-sm, calc(.8 * var(--ms-rem)))}.ms--xs .ms__option-title{font-size:var(--ms-font-size-xs, calc(1.2 * var(--ms-rem)))}.ms--xs .ms__badge{font-size:var(--ms-font-size-2xs, calc(1 * var(--ms-rem)))}.ms--sm .ms__input,.ms--sm .ms__option-title{font-size:var(--ms-font-size-xs, calc(1.2 * var(--ms-rem)))}.ms--lg .ms__input,.ms--lg .ms__option-title{font-size:var(--ms-font-size-base, calc(1.6 * var(--ms-rem)))}.ms--lg .ms__badge{font-size:var(--ms-font-size-sm, calc(1.4 * var(--ms-rem)))}.ms--xl .ms__input,.ms--xl .ms__option-title{font-size:var(--ms-font-size-lg, calc(1.8 * var(--ms-rem)))}.ms--xl .ms__badge{font-size:var(--ms-font-size-base, calc(1.6 * var(--ms-rem)))}.ms--disabled .ms__input{opacity:var(--ms-disabled-input-opacity, .6);cursor:not-allowed;background:var(--ms-input-bg-disabled, rgba(107, 114, 128, .05))}.ms--disabled .ms__toggle{opacity:var(--ms-disabled-input-opacity, .6)}.ms--no-checkboxes .ms__option{gap:0;padding-left:var(--ms-option-padding-h, calc(1.2 * var(--ms-rem)))}.ms--no-checkboxes .ms__option-content{padding-left:0}.ml-debug-info{margin-top:calc(.4 * var(--ms-rem));padding:calc(.4 * var(--ms-rem));background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:calc(.6 * var(--ms-rem));font-size:calc(1.2 * var(--ms-rem));color:#111827}.ml-debug-info details summary{cursor:pointer;font-weight:600;color:#2563eb;-webkit-user-select:none;user-select:none;padding:calc(.4 * var(--ms-rem));border-radius:calc(.4 * var(--ms-rem))}.ml-debug-info details summary:hover{background-color:#f3f4f6}.ml-debug-info details summary:focus{outline:2px solid #3b82f6;outline-offset:2px}.ml-debug-info .ml-debug-stats{display:flex;flex-direction:column;gap:calc(.4 * var(--ms-rem));margin-top:calc(.4 * var(--ms-rem));padding:calc(.4 * var(--ms-rem));background-color:#fff;border-radius:calc(.4 * var(--ms-rem))}.ml-debug-info .ml-debug-stats span{display:flex;justify-content:space-between;padding:2px 4px;font-family:monospace;font-size:calc(1 * var(--ms-rem))}.ml-debug-info .ml-debug-stats span:before{content:"•";margin-right:calc(.4 * var(--ms-rem));color:#3b82f6}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keenmate/web-multiselect",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Lightweight multiselect web component with typeahead search, rich content support, and excellent keyboard navigation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/multiselect.umd.js",
|
|
@@ -146,6 +146,7 @@
|
|
|
146
146
|
font-weight: var(--ms-badge-font-weight, $ml-badge-font-weight);
|
|
147
147
|
line-height: var(--ms-line-height-none, $ml-line-height-none);
|
|
148
148
|
border-radius: var(--ms-badge-border-radius, $ml-badge-border-radius);
|
|
149
|
+
border: var(--ms-badge-border, $ml-badge-border);
|
|
149
150
|
overflow: hidden;
|
|
150
151
|
max-width: 100%;
|
|
151
152
|
}
|
package/src/scss/_base.scss
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
// Keep element visible to prevent layout shift, but hide any text content
|
|
13
13
|
multi-select:not(:defined) {
|
|
14
14
|
display: block;
|
|
15
|
-
min-height:
|
|
15
|
+
min-height: calc(3.5 * var(--ms-rem)); // 35px (md size)
|
|
16
16
|
color: transparent !important;
|
|
17
17
|
background: transparent;
|
|
18
18
|
}
|
|
@@ -19,6 +19,15 @@
|
|
|
19
19
|
@use 'variables' as *;
|
|
20
20
|
|
|
21
21
|
:host {
|
|
22
|
+
// ==========================================================================
|
|
23
|
+
// BASE SIZING UNIT
|
|
24
|
+
// ==========================================================================
|
|
25
|
+
// All sizing values are based on this unit for consistent scaling.
|
|
26
|
+
// Default: 10px produces standard pixel values
|
|
27
|
+
// Pure Admin: Set to 1rem (inherits from html { font-size: 10px })
|
|
28
|
+
// Custom: Set to any value to scale all sizes proportionally
|
|
29
|
+
--ms-rem: 10px;
|
|
30
|
+
|
|
22
31
|
// ==========================================================================
|
|
23
32
|
// COLORS & THEME
|
|
24
33
|
// ==========================================================================
|
|
@@ -105,10 +114,15 @@
|
|
|
105
114
|
--ms-option-text-color: var(--ms-text-primary);
|
|
106
115
|
--ms-option-background: transparent;
|
|
107
116
|
--ms-option-background-hover: var(--ms-primary-bg);
|
|
117
|
+
--ms-option-color-hover: inherit;
|
|
108
118
|
--ms-option-background-focused: var(--ms-primary-bg);
|
|
119
|
+
--ms-option-color-focused: inherit;
|
|
109
120
|
--ms-option-outline-color-focused: var(--ms-accent-color);
|
|
110
121
|
--ms-option-background-selected: var(--ms-option-bg-selected);
|
|
122
|
+
--ms-option-color-selected: inherit;
|
|
123
|
+
--ms-option-color-selected-hover: var(--ms-option-color-selected);
|
|
111
124
|
--ms-option-background-matched: var(--ms-option-bg-matched);
|
|
125
|
+
--ms-option-color-matched: inherit;
|
|
112
126
|
--ms-option-border-matched-color: var(--ms-option-border-matched);
|
|
113
127
|
|
|
114
128
|
// Option Content Semantic Variables
|
|
@@ -193,6 +207,35 @@
|
|
|
193
207
|
--ms-input-placeholder-color: #{$ml-input-placeholder-color};
|
|
194
208
|
--ms-input-bg-disabled: #{$ml-input-bg-disabled};
|
|
195
209
|
|
|
210
|
+
// ==========================================================================
|
|
211
|
+
// INPUT SIZE VARIANTS
|
|
212
|
+
// ==========================================================================
|
|
213
|
+
|
|
214
|
+
--ms-input-size-xs-font: #{$ms-input-size-xs-font};
|
|
215
|
+
--ms-input-size-xs-padding-v: #{$ms-input-size-xs-padding-v};
|
|
216
|
+
--ms-input-size-xs-padding-h: #{$ms-input-size-xs-padding-h};
|
|
217
|
+
--ms-input-size-xs-height: #{$ms-input-size-xs-height};
|
|
218
|
+
|
|
219
|
+
--ms-input-size-sm-font: #{$ms-input-size-sm-font};
|
|
220
|
+
--ms-input-size-sm-padding-v: #{$ms-input-size-sm-padding-v};
|
|
221
|
+
--ms-input-size-sm-padding-h: #{$ms-input-size-sm-padding-h};
|
|
222
|
+
--ms-input-size-sm-height: #{$ms-input-size-sm-height};
|
|
223
|
+
|
|
224
|
+
--ms-input-size-md-font: #{$ms-input-size-md-font};
|
|
225
|
+
--ms-input-size-md-padding-v: #{$ms-input-size-md-padding-v};
|
|
226
|
+
--ms-input-size-md-padding-h: #{$ms-input-size-md-padding-h};
|
|
227
|
+
--ms-input-size-md-height: #{$ms-input-size-md-height};
|
|
228
|
+
|
|
229
|
+
--ms-input-size-lg-font: #{$ms-input-size-lg-font};
|
|
230
|
+
--ms-input-size-lg-padding-v: #{$ms-input-size-lg-padding-v};
|
|
231
|
+
--ms-input-size-lg-padding-h: #{$ms-input-size-lg-padding-h};
|
|
232
|
+
--ms-input-size-lg-height: #{$ms-input-size-lg-height};
|
|
233
|
+
|
|
234
|
+
--ms-input-size-xl-font: #{$ms-input-size-xl-font};
|
|
235
|
+
--ms-input-size-xl-padding-v: #{$ms-input-size-xl-padding-v};
|
|
236
|
+
--ms-input-size-xl-padding-h: #{$ms-input-size-xl-padding-h};
|
|
237
|
+
--ms-input-size-xl-height: #{$ms-input-size-xl-height};
|
|
238
|
+
|
|
196
239
|
// ==========================================================================
|
|
197
240
|
// TOGGLE ICON
|
|
198
241
|
// ==========================================================================
|
|
@@ -330,6 +373,17 @@
|
|
|
330
373
|
--ms-checkbox-scale: #{$ml-checkbox-scale};
|
|
331
374
|
--ms-checkbox-align: flex-start; // flex-start (top), center, flex-end (bottom)
|
|
332
375
|
|
|
376
|
+
// Checkbox Styling (custom appearance)
|
|
377
|
+
--ms-checkbox-bg: #{$ml-checkbox-bg};
|
|
378
|
+
--ms-checkbox-border: #{$ml-checkbox-border};
|
|
379
|
+
--ms-checkbox-border-radius: #{$ml-checkbox-border-radius};
|
|
380
|
+
--ms-checkbox-checked-bg: #{$ml-checkbox-checked-bg};
|
|
381
|
+
--ms-checkbox-checked-border: #{$ml-checkbox-checked-border};
|
|
382
|
+
--ms-checkbox-checkmark-color: #{$ml-checkbox-checkmark-color};
|
|
383
|
+
--ms-checkbox-hover-border-color: #{$ml-checkbox-hover-border-color};
|
|
384
|
+
--ms-checkbox-disabled-bg: #{$ml-checkbox-disabled-bg};
|
|
385
|
+
--ms-checkbox-disabled-border: #{$ml-checkbox-disabled-border};
|
|
386
|
+
|
|
333
387
|
// ==========================================================================
|
|
334
388
|
// EMPTY & LOADING STATES
|
|
335
389
|
// ==========================================================================
|
|
@@ -363,6 +417,7 @@
|
|
|
363
417
|
--ms-badge-font-size: #{$ml-badge-font-size};
|
|
364
418
|
--ms-badge-font-weight: #{$ml-badge-font-weight};
|
|
365
419
|
--ms-badge-border-radius: #{$ml-badge-border-radius};
|
|
420
|
+
--ms-badge-border: #{$ml-badge-border};
|
|
366
421
|
--ms-badge-bg: #{$ml-badge-bg};
|
|
367
422
|
--ms-badge-bg-hover: #{$ml-badge-bg-hover};
|
|
368
423
|
--ms-badge-bg-active: #{$ml-badge-bg-active};
|
|
@@ -532,4 +587,14 @@
|
|
|
532
587
|
|
|
533
588
|
--ms-placeholder-opacity: #{$ml-placeholder-opacity};
|
|
534
589
|
--ms-disabled-input-opacity: #{$ml-disabled-input-opacity};
|
|
590
|
+
|
|
591
|
+
// ==========================================================================
|
|
592
|
+
// SCROLLBAR
|
|
593
|
+
// ==========================================================================
|
|
594
|
+
|
|
595
|
+
--ms-scrollbar-width: #{$ml-scrollbar-width};
|
|
596
|
+
--ms-scrollbar-track-bg: #{$ml-scrollbar-track-bg};
|
|
597
|
+
--ms-scrollbar-thumb-bg: #{$ml-scrollbar-thumb-bg};
|
|
598
|
+
--ms-scrollbar-thumb-bg-hover: #{$ml-scrollbar-thumb-bg-hover};
|
|
599
|
+
--ms-scrollbar-thumb-border-radius: #{$ml-scrollbar-thumb-border-radius};
|
|
535
600
|
}
|
|
@@ -18,7 +18,9 @@
|
|
|
18
18
|
|
|
19
19
|
// Search input
|
|
20
20
|
.ms__input {
|
|
21
|
+
box-sizing: border-box;
|
|
21
22
|
width: 100%;
|
|
23
|
+
height: var(--ms-input-size-md-height, $ms-input-size-md-height); // Default to md size (35px)
|
|
22
24
|
padding: var(--ms-input-padding, $ml-input-padding);
|
|
23
25
|
padding-right: var(--ms-input-padding-right, $ml-input-padding-right); // Space for dropdown icon
|
|
24
26
|
font-size: var(--ms-input-font-size, $ml-input-font-size);
|
|
@@ -44,6 +46,35 @@
|
|
|
44
46
|
:host([data-ready]) &::placeholder {
|
|
45
47
|
opacity: var(--ms-placeholder-opacity, $ml-placeholder-opacity);
|
|
46
48
|
}
|
|
49
|
+
|
|
50
|
+
// Size variants
|
|
51
|
+
&.ms__input--xs {
|
|
52
|
+
font-size: var(--ms-input-size-xs-font);
|
|
53
|
+
padding: var(--ms-input-size-xs-padding-v) var(--ms-input-size-xs-padding-h);
|
|
54
|
+
padding-right: calc(var(--ms-input-size-xs-padding-h) * 2.5);
|
|
55
|
+
height: var(--ms-input-size-xs-height);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
&.ms__input--sm {
|
|
59
|
+
font-size: var(--ms-input-size-sm-font);
|
|
60
|
+
padding: var(--ms-input-size-sm-padding-v) var(--ms-input-size-sm-padding-h);
|
|
61
|
+
padding-right: calc(var(--ms-input-size-sm-padding-h) * 2.5);
|
|
62
|
+
height: var(--ms-input-size-sm-height);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
&.ms__input--lg {
|
|
66
|
+
font-size: var(--ms-input-size-lg-font);
|
|
67
|
+
padding: var(--ms-input-size-lg-padding-v) var(--ms-input-size-lg-padding-h);
|
|
68
|
+
padding-right: calc(var(--ms-input-size-lg-padding-h) * 2.5);
|
|
69
|
+
height: var(--ms-input-size-lg-height);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
&.ms__input--xl {
|
|
73
|
+
font-size: var(--ms-input-size-xl-font);
|
|
74
|
+
padding: var(--ms-input-size-xl-padding-v) var(--ms-input-size-xl-padding-h);
|
|
75
|
+
padding-right: calc(var(--ms-input-size-xl-padding-h) * 2.5);
|
|
76
|
+
height: var(--ms-input-size-xl-height);
|
|
77
|
+
}
|
|
47
78
|
}
|
|
48
79
|
|
|
49
80
|
// ==============================================================================
|
|
@@ -136,6 +167,27 @@
|
|
|
136
167
|
-webkit-overflow-scrolling: touch;
|
|
137
168
|
color: var(--ms-dropdown-text-color, $ml-option-color);
|
|
138
169
|
|
|
170
|
+
// Scrollbar styling
|
|
171
|
+
scrollbar-width: thin; // Firefox
|
|
172
|
+
scrollbar-color: var(--ms-scrollbar-thumb-bg, $ml-scrollbar-thumb-bg) var(--ms-scrollbar-track-bg, $ml-scrollbar-track-bg);
|
|
173
|
+
|
|
174
|
+
&::-webkit-scrollbar {
|
|
175
|
+
width: var(--ms-scrollbar-width, $ml-scrollbar-width);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
&::-webkit-scrollbar-track {
|
|
179
|
+
background: var(--ms-scrollbar-track-bg, $ml-scrollbar-track-bg);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
&::-webkit-scrollbar-thumb {
|
|
183
|
+
background: var(--ms-scrollbar-thumb-bg, $ml-scrollbar-thumb-bg);
|
|
184
|
+
border-radius: var(--ms-scrollbar-thumb-border-radius, $ml-scrollbar-thumb-border-radius);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
&::-webkit-scrollbar-thumb:hover {
|
|
188
|
+
background: var(--ms-scrollbar-thumb-bg-hover, $ml-scrollbar-thumb-bg-hover);
|
|
189
|
+
}
|
|
190
|
+
|
|
139
191
|
&--visible {
|
|
140
192
|
display: block;
|
|
141
193
|
}
|
package/src/scss/_options.scss
CHANGED
|
@@ -12,6 +12,27 @@
|
|
|
12
12
|
// Options container
|
|
13
13
|
.ms__options {
|
|
14
14
|
padding: var(--ms-options-padding, $ml-options-padding);
|
|
15
|
+
|
|
16
|
+
// Scrollbar styling
|
|
17
|
+
scrollbar-width: thin; // Firefox
|
|
18
|
+
scrollbar-color: var(--ms-scrollbar-thumb-bg, $ml-scrollbar-thumb-bg) var(--ms-scrollbar-track-bg, $ml-scrollbar-track-bg);
|
|
19
|
+
|
|
20
|
+
&::-webkit-scrollbar {
|
|
21
|
+
width: var(--ms-scrollbar-width, $ml-scrollbar-width);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&::-webkit-scrollbar-track {
|
|
25
|
+
background: var(--ms-scrollbar-track-bg, $ml-scrollbar-track-bg);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&::-webkit-scrollbar-thumb {
|
|
29
|
+
background: var(--ms-scrollbar-thumb-bg, $ml-scrollbar-thumb-bg);
|
|
30
|
+
border-radius: var(--ms-scrollbar-thumb-border-radius, $ml-scrollbar-thumb-border-radius);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&::-webkit-scrollbar-thumb:hover {
|
|
34
|
+
background: var(--ms-scrollbar-thumb-bg-hover, $ml-scrollbar-thumb-bg-hover);
|
|
35
|
+
}
|
|
15
36
|
}
|
|
16
37
|
|
|
17
38
|
// Virtual scroll - enforce consistent heights
|
|
@@ -67,24 +88,29 @@
|
|
|
67
88
|
|
|
68
89
|
&:hover {
|
|
69
90
|
background: var(--ms-option-background-hover, $ml-option-bg-hover);
|
|
91
|
+
color: var(--ms-option-color-hover, inherit);
|
|
70
92
|
}
|
|
71
93
|
|
|
72
94
|
&--focused {
|
|
73
95
|
background: var(--ms-option-background-focused, $ml-option-bg-focused);
|
|
96
|
+
color: var(--ms-option-color-focused, inherit);
|
|
74
97
|
outline: var(--ms-option-outline-focused, $ml-option-outline-focused);
|
|
75
98
|
outline-offset: var(--ms-option-focus-outline-offset, $ml-option-focus-outline-offset);
|
|
76
99
|
}
|
|
77
100
|
|
|
78
101
|
&--matched {
|
|
79
102
|
background: var(--ms-option-background-matched, $ml-option-bg-matched);
|
|
103
|
+
color: var(--ms-option-color-matched, inherit);
|
|
80
104
|
border-left: var(--ms-option-border-matched, $ml-option-border-matched);
|
|
81
105
|
}
|
|
82
106
|
|
|
83
107
|
&--selected {
|
|
84
108
|
background: var(--ms-option-background-selected, $ml-option-bg-selected);
|
|
109
|
+
color: var(--ms-option-color-selected, inherit);
|
|
85
110
|
|
|
86
111
|
&:hover {
|
|
87
112
|
background: var(--ms-option-bg-selected-hover, var(--ms-option-background-selected, $ml-option-bg-selected));
|
|
113
|
+
color: var(--ms-option-color-selected-hover, var(--ms-option-color-selected, inherit));
|
|
88
114
|
}
|
|
89
115
|
}
|
|
90
116
|
|
|
@@ -108,13 +134,19 @@
|
|
|
108
134
|
}
|
|
109
135
|
|
|
110
136
|
// ==============================================================================
|
|
111
|
-
// CHECKBOX
|
|
137
|
+
// CHECKBOX (Custom Styled)
|
|
112
138
|
// ==============================================================================
|
|
139
|
+
// Uses a hidden native checkbox with a custom styled pseudo-element overlay.
|
|
140
|
+
// This allows full control over background, border, and checkmark colors.
|
|
113
141
|
|
|
114
|
-
// Checkbox
|
|
115
142
|
.ms__checkbox {
|
|
143
|
+
// Hide native checkbox but keep it accessible
|
|
144
|
+
appearance: none;
|
|
145
|
+
-webkit-appearance: none;
|
|
146
|
+
-moz-appearance: none;
|
|
116
147
|
flex-shrink: 0;
|
|
117
|
-
|
|
148
|
+
position: relative;
|
|
149
|
+
margin-top: var(--ms-checkbox-margin-top, $ml-checkbox-margin-top);
|
|
118
150
|
margin-right: var(--ms-checkbox-margin-right, $ml-checkbox-margin-right);
|
|
119
151
|
margin-bottom: var(--ms-checkbox-margin-bottom, $ml-checkbox-margin-bottom);
|
|
120
152
|
margin-left: var(--ms-checkbox-margin-left, $ml-checkbox-margin-left);
|
|
@@ -124,6 +156,61 @@
|
|
|
124
156
|
transform-origin: top left;
|
|
125
157
|
cursor: pointer;
|
|
126
158
|
|
|
159
|
+
// Custom checkbox appearance
|
|
160
|
+
background: var(--ms-checkbox-bg, $ml-checkbox-bg);
|
|
161
|
+
border: var(--ms-checkbox-border, $ml-checkbox-border);
|
|
162
|
+
border-radius: var(--ms-checkbox-border-radius, $ml-checkbox-border-radius);
|
|
163
|
+
transition: background-color 0.15s ease, border-color 0.15s ease;
|
|
164
|
+
|
|
165
|
+
// Checkmark using ::after pseudo-element
|
|
166
|
+
&::after {
|
|
167
|
+
content: '';
|
|
168
|
+
position: absolute;
|
|
169
|
+
display: none;
|
|
170
|
+
// Checkmark positioning (centered, slightly offset for visual balance)
|
|
171
|
+
left: 50%;
|
|
172
|
+
top: 45%;
|
|
173
|
+
width: 30%;
|
|
174
|
+
height: 55%;
|
|
175
|
+
transform: translate(-50%, -50%) rotate(45deg);
|
|
176
|
+
// Checkmark shape (right and bottom borders form the check)
|
|
177
|
+
border: solid var(--ms-checkbox-checkmark-color, $ml-checkbox-checkmark-color);
|
|
178
|
+
border-width: 0 2px 2px 0;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// Hover state
|
|
182
|
+
&:hover:not(:disabled) {
|
|
183
|
+
border-color: var(--ms-checkbox-hover-border-color, $ml-checkbox-hover-border-color);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// Checked state
|
|
187
|
+
&:checked {
|
|
188
|
+
background: var(--ms-checkbox-checked-bg, $ml-checkbox-checked-bg);
|
|
189
|
+
border: var(--ms-checkbox-checked-border, $ml-checkbox-checked-border);
|
|
190
|
+
|
|
191
|
+
&::after {
|
|
192
|
+
display: block;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
// Focus state (accessibility)
|
|
197
|
+
&:focus-visible {
|
|
198
|
+
outline: 2px solid var(--ms-checkbox-checked-bg, $ml-checkbox-checked-bg);
|
|
199
|
+
outline-offset: 2px;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
// Disabled state
|
|
203
|
+
&:disabled {
|
|
204
|
+
cursor: not-allowed;
|
|
205
|
+
background: var(--ms-checkbox-disabled-bg, $ml-checkbox-disabled-bg);
|
|
206
|
+
border: var(--ms-checkbox-disabled-border, $ml-checkbox-disabled-border);
|
|
207
|
+
opacity: 0.6;
|
|
208
|
+
|
|
209
|
+
&:checked {
|
|
210
|
+
background: var(--ms-checkbox-disabled-bg, $ml-checkbox-disabled-bg);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
127
214
|
.ms__option--disabled & {
|
|
128
215
|
cursor: not-allowed;
|
|
129
216
|
}
|
|
@@ -106,6 +106,27 @@
|
|
|
106
106
|
overflow-y: auto;
|
|
107
107
|
max-height: var(--ms-selected-popover-body-max-height, $ml-selected-popover-body-max-height);
|
|
108
108
|
|
|
109
|
+
// Scrollbar styling
|
|
110
|
+
scrollbar-width: thin; // Firefox
|
|
111
|
+
scrollbar-color: var(--ms-scrollbar-thumb-bg, $ml-scrollbar-thumb-bg) var(--ms-scrollbar-track-bg, $ml-scrollbar-track-bg);
|
|
112
|
+
|
|
113
|
+
&::-webkit-scrollbar {
|
|
114
|
+
width: var(--ms-scrollbar-width, $ml-scrollbar-width);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
&::-webkit-scrollbar-track {
|
|
118
|
+
background: var(--ms-scrollbar-track-bg, $ml-scrollbar-track-bg);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
&::-webkit-scrollbar-thumb {
|
|
122
|
+
background: var(--ms-scrollbar-thumb-bg, $ml-scrollbar-thumb-bg);
|
|
123
|
+
border-radius: var(--ms-scrollbar-thumb-border-radius, $ml-scrollbar-thumb-border-radius);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
&::-webkit-scrollbar-thumb:hover {
|
|
127
|
+
background: var(--ms-scrollbar-thumb-bg-hover, $ml-scrollbar-thumb-bg-hover);
|
|
128
|
+
}
|
|
129
|
+
|
|
109
130
|
// Badges inside popover (non-virtual mode)
|
|
110
131
|
.ms__badge {
|
|
111
132
|
width: 100%;
|