@keenmate/web-multiselect 2.0.0-rc08 → 2.0.0-rc09

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.
@@ -37,8 +37,8 @@
37
37
  ${o}`:t}buildRemoveButtonTooltipText(e,t){return t&&this.options.getRemoveButtonTooltipCallback?this.options.getRemoveButtonTooltipCallback(t):this.options.removeButtonTooltipText?this.options.removeButtonTooltipText.replace("{0}",e):`Remove ${e}`}attachBadgeTooltips(e){if(!this.options.isBadgeTooltipsEnabled)return;const t=!!e,o=e||this.badgesContainer,i=t?"popover-":"";if(o.querySelectorAll(".ms__badge:not(.ms__badge--more)").forEach(n=>{const a=n.querySelector(".ms__badge-remove");if(!a)return;const l=a.dataset.value,c=this.selectedOptions.get(l);if(!c)return;const d=`${i}${l}`,h=`${i}${l}-remove`,f=n.querySelector(".ms__badge-text");f&&this.spawnTooltip({id:d,trigger:f,content:this.buildBadgeTooltipContent(c)});const m=this.getItemBadgeDisplayValue(c);this.spawnTooltip({id:h,trigger:a,content:this.buildRemoveButtonTooltipText(m,c),onBeforeShow:()=>{var g;return(g=this.tooltips.get(d))==null?void 0:g.hide()}})}),!t){const n=this.badgesContainer.querySelector(".ms__badge--more"),a=n==null?void 0:n.querySelector(".ms__badge-remove");if(a&&a.dataset.action==="remove-hidden"){const l=this.options.badgesMaxVisible||3,c=this.selectedOptions.size-l;this.spawnTooltip({id:"more-badge-remove",trigger:a,content:this.buildRemoveButtonTooltipText(`${c} hidden items`)})}}}buildOptionTooltipContent(e){if(this.options.getOptionTooltipCallback)return this.options.getOptionTooltipCallback(e);const t=this.getItemDisplayValue(e),o=this.getItemSubtitle(e);return o?`${t}
38
38
  ${o}`:t}attachOptionTooltips(){if(this.destroyAllOptionTooltips(),!this.options.isOptionTooltipsEnabled)return;this.dropdown.querySelectorAll(".ms__option").forEach(t=>{const o=t,i=parseInt(o.dataset.index??"-1",10);if(i<0)return;const r=this.filteredOptions[i];if(!r)return;const n=this.buildOptionTooltipContent(r);n&&this.spawnTooltip({id:`option-${i}`,trigger:o,content:n,placement:this.options.optionTooltipPlacement??"top-start",offsetDistance:this.options.optionTooltipOffset??this.options.badgeTooltipOffset??8,showDelay:this.options.optionTooltipDelay??this.options.badgeTooltipDelay??100,cssClass:"ms__option-tooltip",visibleClass:"ms__option-tooltip--visible",followCursor:this.options.isOptionTooltipFollowCursor})})}markTruncatedOptions(){if(this.presentationMode!=="fullscreen")return;this.dropdown.querySelectorAll(".ms__option").forEach(t=>{const o=t,i=o.querySelector(".ms__option-title"),r=!!i&&i.scrollWidth>i.clientWidth+1;o.classList.toggle("ms__option--truncated",r)})}toggleLabelReveal(e){var d;if(this.labelRevealPopover&&this.labelRevealTrigger===e){this.hideLabelReveal();return}this.hideLabelReveal();const t=e.closest(".ms__option");if(!t)return;const o=parseInt(t.dataset.index??"-1",10);if(o<0)return;const i=this.isTreeMode()?(d=this.treeNodes[o])==null?void 0:d.data:this.filteredOptions[o];if(!i)return;const r=this.buildOptionTooltipContent(i);if(!r)return;const n=document.createElement("div");n.className="ms__option-tooltip ms__option-tooltip--fullscreen",typeof r=="string"?n.textContent=r:n.appendChild(r);const a=this.element.getRootNode(),l=a instanceof ShadowRoot?a:null,c=this.options.container??l??document.body;this.labelRevealTrigger=e,this.labelRevealPanel=n,this.labelRevealPopover=gr({reference:e,panel:n,container:c,placement:"top-end",offset:this.options.optionTooltipOffset??this.options.badgeTooltipOffset??8,shift:8,strategy:"fixed"}),this.labelRevealPopover.open(),requestAnimationFrame(()=>n.classList.add("ms__option-tooltip--visible"))}hideLabelReveal(){this.labelRevealPopover&&(this.labelRevealPopover.destroy(),this.labelRevealPopover=null),this.labelRevealPanel&&(this.labelRevealPanel.remove(),this.labelRevealPanel=null),this.labelRevealTrigger=null}showMessage(e,t){this.hideMessage();const o=(t==null?void 0:t.variant)??"info",i=(t==null?void 0:t.duration)??3e3,r=o==="error"||o==="warning",n=document.createElement("div");n.className=`ms__message ms__message--${o}`,n.setAttribute("role",r?"alert":"status"),n.setAttribute("aria-live",r?"assertive":"polite"),typeof e=="string"?n.textContent=e:n.appendChild(e),n.addEventListener("click",()=>this.hideMessage());const a=this.element.getRootNode(),l=a instanceof ShadowRoot?a:null;if((this.options.container??l??document.body).appendChild(n),this.messageEl=n,this.presentationMode==="fullscreen"&&(this.isOpen||this.showSelectedPopover))n.classList.add("ms__message--fullscreen");else{const h=Ge(n,this.input,{strategy:"fixed",placement:(t==null?void 0:t.placement)??"bottom",offset:8,shift:8,lockPlacement:"freeze"});this.messageCleanup=()=>h.destroy()}requestAnimationFrame(()=>n.classList.add("ms__message--visible")),i>0&&(this.messageTimer=setTimeout(()=>this.hideMessage(),i))}hideMessage(){this.messageTimer!==null&&(clearTimeout(this.messageTimer),this.messageTimer=null),this.messageCleanup&&(this.messageCleanup(),this.messageCleanup=null),this.messageEl&&(this.messageEl.remove(),this.messageEl=null)}hideOptionTooltips(){for(const[e,t]of this.tooltips)e.startsWith("option-")&&t.hide()}destroyAllOptionTooltips(){var e;for(const t of Array.from(this.tooltips.keys()))t.startsWith("option-")&&((e=this.tooltips.get(t))==null||e.destroy(),this.tooltips.delete(t))}attachActionButtonTooltips(){this.dropdown.querySelectorAll(".ms__action-btn").forEach(t=>{var c,d;const o=t,i=o.dataset.action;if(!i)return;const r=parseInt(o.dataset.buttonIndex||"-1"),n=r>=0?(c=this.options.actionButtons)==null?void 0:c[r]:(d=this.options.actionButtons)==null?void 0:d.find(h=>h.action===i);if(!n)return;const a=n.getTooltipCallback?n.getTooltipCallback(this):n.tooltip;if(!a)return;const l=`action-${r>=0?r:i}`;this.spawnTooltip({id:l,trigger:o,content:a})})}destroyAllActionButtonTooltips(){var e;for(const t of Array.from(this.tooltips.keys()))t.startsWith("action-")&&((e=this.tooltips.get(t))==null||e.destroy(),this.tooltips.delete(t))}destroyAllBadgeTooltips(){var e;for(const t of Array.from(this.tooltips.keys()))!t.startsWith("action-")&&!t.startsWith("popover-")&&((e=this.tooltips.get(t))==null||e.destroy(),this.tooltips.delete(t))}destroy(){this.destroyAllTooltips(),this.hideLabelReveal(),this.hideMessage(),this.searchDebounceTimer&&(clearTimeout(this.searchDebounceTimer),this.searchDebounceTimer=void 0),this.abortInFlightSearch(),this.dropdownCleanup&&this.dropdownCleanup(),this.hintCleanup&&this.hintCleanup(),this.selectedPopoverCleanup&&this.selectedPopoverCleanup(),this.overlayHistoryActive&&(this.overlayHistoryActive=!1,typeof window<"u"&&window.removeEventListener("popstate",this.onOverlayPopstate)),this.exitFullscreen(),this.documentClickHandler&&(document.removeEventListener("click",this.documentClickHandler),this.documentClickHandler=null),this.documentKeydownHandler&&(document.removeEventListener("keydown",this.documentKeydownHandler),this.documentKeydownHandler=null),this.virtualScroll&&(this.virtualScroll.destroy(),this.virtualScroll=null),this.dropdown&&this.dropdown.remove(),this.hint&&this.hint.remove(),this.selectedPopover&&this.selectedPopover.remove(),this.element.innerHTML="",this.element.classList.remove("ms","ms--open","ms--no-checkboxes"),Xe.info(`[${this.instanceId}] Component destroyed`)}}function Tr(){return{fromAttribute(s){if(s===null||s.trim()==="")return[];const e=s.trim();if(e.startsWith("["))try{const t=JSON.parse(e);if(Array.isArray(t))return t}catch{}return e.split(",").map(t=>t.trim())},validate(s){return Array.isArray(s)&&s.every(e=>typeof e=="string"||typeof e=="number")},toAttribute(s){return Array.isArray(s)?JSON.stringify(s):null}}}const Fs=["json","csv","plain"],Ws=",",js=`
39
39
  `;function Us(s,e,t={}){if(s==null||s.trim()==="")return{options:[]};const o=Gs(t.splitter??Ws)||Ws,i=Gs(t.rowSplitter??js)||js;switch(e){case"csv":return Pr(s,o,i);case"plain":return Ir(s,o,i);case"json":default:return Or(s)}}function Gs(s){return s.replace(/\\[ntr\\]/g,e=>e==="\\n"?`
40
- `:e==="\\t"?" ":e==="\\r"?"\r":"\\")}function Or(s){let e;try{e=JSON.parse(s)}catch(t){return{options:[],error:`data-options is not valid JSON: ${t.message}`}}return Array.isArray(e)?{options:e}:{options:[],error:"data-options JSON must be an array"}}function Ir(s,e,t){return{options:s.split(t).flatMap(i=>i.split(e)).map(i=>i.trim()).filter(i=>i.length>0).map(i=>[i,i])}}function Pr(s,e,t){const o=Mr(s,e,t).filter(n=>!(n.length===1&&n[0].trim()===""));if(o.length<2)return{options:[],error:"data-options CSV needs a header row and at least one data row"};const i=o[0].map(n=>n.trim());return{options:o.slice(1).map(n=>{const a={};return i.forEach((l,c)=>{a[l]=(n[c]??"").trim()}),a})}}function Mr(s,e,t){const o=[];let i=[],r="",n=!1;for(let a=0;a<s.length;){const l=s[a];if(n){l==='"'?s[a+1]==='"'?(r+='"',a+=2):(n=!1,a+=1):(r+=l,a+=1);continue}l==='"'?(n=!0,a+=1):s.startsWith(e,a)?(i.push(r),r="",a+=e.length):s.startsWith(t,a)?(i.push(r),o.push(i),i=[],r="",a+=t.length):(l==="\r"||(r+=l),a+=1)}return i.push(r),o.push(i),o}const Xs=`@layer variables,component,overrides;@layer variables{:host{display:block;--ms-rem: 10px;font-family:var(--ms-font-family, var(--base-font-family, inherit));--ms-accent-color: var(--base-accent-color, #3b82f6);--ms-accent-color-hover: var(--base-accent-color-hover, #2563eb);--ms-accent-color-active: var(--base-accent-color-active, #1d4ed8);--ms-accent-color-light: var(--base-accent-color-light, light-dark(#eff6ff, #1e3a5f));--ms-accent-color-light-hover: var(--base-accent-color-light-hover, light-dark(#e0f2fe, #264a73));--ms-text-color-1: var(--base-text-color-1, light-dark(#111827, #f5f5f5));--ms-text-color-2: var(--base-text-color-2, light-dark(#353b47, #d4d4d4));--ms-text-color-3: var(--base-text-color-3, light-dark(#6b7280, #a3a3a3));--ms-text-color-4: var(--base-text-color-4, light-dark(#a0a3a9, #737373));--ms-text-color-on-accent: var(--base-text-color-on-accent, #ffffff);--ms-text-primary: var(--ms-text-color-1);--ms-text-secondary: var(--ms-text-color-3);--ms-primary-bg: var(--base-hover-bg, color-mix(in srgb, var(--ms-text-color-1) 8%, var(--base-main-bg, light-dark(#ffffff, #1a1a1a))));--ms-primary-bg-hover: var(--base-active-bg, color-mix(in srgb, var(--ms-text-color-1) 14%, var(--base-main-bg, light-dark(#ffffff, #1a1a1a))));--ms-border-color: var(--base-border-color, light-dark(#cbd5e1, #52525b));--ms-border: var(--base-border, 1px solid var(--ms-border-color));--ms-input-bg: var(--base-input-bg, light-dark(#ffffff, #1a1a1a));--ms-input-color: var(--base-input-color, var(--ms-text-color-1));--ms-input-border: var(--base-input-border, 1px solid var(--ms-border-color));--ms-input-border-hover: var(--base-input-border-hover, 1px solid var(--ms-accent-color));--ms-input-border-focus: var(--base-input-border-focus, 1px solid var(--ms-accent-color));--ms-input-placeholder-color: var(--base-input-placeholder-color, var(--ms-text-color-4));--ms-input-bg-disabled: var(--base-input-bg-disabled, rgba(107, 114, 128, .05));--ms-toggle-icon-color: var(--ms-text-color-3);--ms-toggle-icon-color-open: var(--ms-text-color-3);--ms-counter-badge-bg: var(--ms-accent-color);--ms-counter-badge-bg-hover: var(--ms-accent-color-hover);--ms-counter-badge-color: var(--ms-text-color-on-accent);--ms-hint-bg: var(--base-main-bg, light-dark(#ffffff, #1a1a1a));--ms-hint-color: var(--ms-text-color-4);--ms-hint-border-color: var(--ms-border-color);--ms-dropdown-bg: var(--base-dropdown-bg, var(--base-elevated-bg, light-dark(#ffffff, #1a1a1a)));--ms-dropdown-text-color: var(--ms-text-color-1);--ms-dropdown-border-color: var(--ms-border-color);--ms-dropdown-box-shadow-semantic: var(--base-dropdown-box-shadow, 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1));--ms-actions-bg: var(--base-main-bg, light-dark(#ffffff, #1a1a1a));--ms-actions-border-color: var(--ms-border-color);--ms-action-button-bg: transparent;--ms-action-button-bg-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-color-1);--ms-group-border-color: var(--ms-border-color);--ms-option-text-color: var(--ms-text-color-1);--ms-option-bg: transparent;--ms-option-bg-hover: var(--ms-primary-bg);--ms-option-color-hover: inherit;--ms-option-bg-focused: var(--ms-primary-bg);--ms-option-color-focused: inherit;--ms-option-outline-color-focused: var(--ms-accent-color);--ms-option-bg-selected: color-mix(in srgb, var(--ms-accent-color) 10%, transparent);--ms-option-bg-matched: color-mix(in srgb, var(--ms-accent-color) 8%, transparent);--ms-option-color-matched: inherit;--ms-option-border-matched-color: color-mix(in srgb, var(--ms-accent-color) 40%, transparent);--ms-option-title-color: var(--ms-text-color-1);--ms-option-subtitle-color: var(--ms-text-color-3);--ms-option-mark-bg: color-mix(in srgb, var(--ms-accent-color) 20%, transparent);--ms-option-mark-color: inherit;--ms-loading-color: var(--ms-text-color-3);--ms-badge-bg: var(--ms-accent-color-light);--ms-badge-bg-hover: var(--base-hover-bg, var(--ms-accent-color-light-hover));--ms-badge-bg-active: var(--ms-accent-color-light-hover);--ms-badge-text-bg-hover: var(--base-hover-bg, var(--ms-accent-color-light-hover));--ms-badge-text-color-hover: var(--ms-badge-text-color);--ms-badge-counter-border-color: var(--ms-border-color);--ms-badge-counter-text-bg: var(--ms-primary-bg-hover);--ms-badge-counter-text-color: var(--ms-text-color-1);--ms-badge-counter-remove-bg: var(--ms-text-color-3);--ms-badge-counter-remove-bg-hover: var(--ms-text-color-1);--ms-badge-counter-remove-color: var(--ms-text-color-on-accent);--ms-counter-wrapper-border-color: var(--ms-border-color);--ms-count-clear-bg-hover: var(--ms-accent-color);--ms-tooltip-bg: var(--base-tooltip-bg, var(--base-inverse-bg, light-dark(#333333, #f5f5f5)));--ms-tooltip-text-color: var(--base-tooltip-text-color, light-dark(#ffffff, #1a1a1a));--ms-selected-popover-bg: var(--base-dropdown-bg, var(--base-elevated-bg, light-dark(#ffffff, #1a1a1a)));--ms-selected-popover-border-color: var(--ms-border-color);--ms-selected-popover-header-border-color: var(--ms-border-color);--ms-selected-popover-close-bg-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-padding-h: calc(1.2 * var(--ms-rem));--ms-input-height: calc(var(--base-input-size-md-height, 3.5) * var(--ms-rem));--ms-input-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-input-border-width: 1px;--ms-input-border-radius: var(--ms-border-radius-md);--ms-input-text: var(--ms-text-color-1);--ms-input-bg-disabled: rgba(107, 114, 128, .05);--ms-toggle-right: calc(1.2 * var(--ms-rem));--ms-toggle-color: var(--ms-text-color-3);--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: var(--ms-accent-color);--ms-counter-color: var(--ms-text-color-on-accent);--ms-counter-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-counter-font-weight: var(--base-font-weight-semibold, 600);--ms-counter-border-radius: var(--ms-border-radius-sm);--ms-counter-bg-hover: var(--ms-accent-color-hover);--ms-transform-scale-hover: 1.1;--ms-hint-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-hint-border: 1px solid var(--ms-hint-border-color);--ms-hint-border-radius: var(--ms-border-radius-lg);--ms-hint-box-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--ms-hint-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-dropdown-border: var(--base-dropdown-border, 1px solid var(--ms-dropdown-border-color));--ms-dropdown-border-radius: var(--ms-border-radius-lg);--ms-dropdown-box-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--ms-input-current-width: auto;--ms-dropdown-width: var(--ms-input-current-width);--ms-options-max-height: calc(32 * var(--ms-rem));--ms-option-color: var(--ms-text-color-1);--ms-z-index-dropdown: 9999;--ms-z-index-sticky: 1;--ms-z-index-fullscreen: 10001;--ms-z-index-fullscreen-tooltip: 10002;--ms-fullscreen-rem: 12px;--ms-fullscreen-bg: var(--ms-dropdown-bg);--ms-fullscreen-text-color: var(--ms-dropdown-text-color);--ms-fullscreen-header-bg: var(--ms-dropdown-bg);--ms-fullscreen-header-border: 1px solid var(--ms-dropdown-border-color);--ms-fullscreen-header-gap: calc(.8 * var(--ms-fullscreen-rem));--ms-fullscreen-header-padding-v: calc(.8 * var(--ms-fullscreen-rem));--ms-fullscreen-header-padding-h: calc(1.2 * var(--ms-fullscreen-rem));--ms-fullscreen-header-padding: var(--ms-fullscreen-header-padding-v) var(--ms-fullscreen-header-padding-h);--ms-fullscreen-header-min-height: calc(5.6 * var(--ms-fullscreen-rem));--ms-fullscreen-title-font-size: calc(1.7 * var(--ms-fullscreen-rem));--ms-fullscreen-title-font-weight: var(--base-font-weight-semibold, 600);--ms-fullscreen-search-border: var(--ms-input-border);--ms-fullscreen-search-border-radius: var(--ms-input-border-radius);--ms-fullscreen-search-padding: calc(.8 * var(--ms-fullscreen-rem)) calc(1.2 * var(--ms-fullscreen-rem));--ms-fullscreen-search-font-size: calc(1.6 * var(--ms-fullscreen-rem));--ms-fullscreen-search-clear-size: calc(2.8 * var(--ms-fullscreen-rem));--ms-fullscreen-search-clear-icon-size: calc(1.4 * var(--ms-fullscreen-rem));--ms-fullscreen-search-clear-inset: calc(.4 * var(--ms-fullscreen-rem));--ms-fullscreen-search-clear-gutter: calc(3.4 * var(--ms-fullscreen-rem));--ms-fullscreen-search-clear-color: var(--ms-text-muted-color, var(--ms-dropdown-text-color));--ms-fullscreen-search-clear-bg-hover: var(--ms-option-bg-matched, transparent);--ms-fullscreen-mode-toggle-size: calc(2.8 * var(--ms-fullscreen-rem));--ms-fullscreen-mode-toggle-icon-size: calc(1.5 * var(--ms-fullscreen-rem));--ms-fullscreen-mode-toggle-gap: calc(.4 * var(--ms-fullscreen-rem));--ms-fullscreen-mode-toggle-color: var(--ms-text-muted-color, var(--ms-dropdown-text-color));--ms-fullscreen-mode-toggle-bg: transparent;--ms-fullscreen-mode-toggle-bg-hover: var(--ms-option-bg-matched, transparent);--ms-fullscreen-close-size: calc(3.6 * var(--ms-fullscreen-rem));--ms-fullscreen-close-icon-size: calc(1.6 * var(--ms-fullscreen-rem));--ms-fullscreen-close-color: var(--ms-dropdown-text-color);--ms-fullscreen-close-bg: transparent;--ms-fullscreen-close-border: none;--ms-fullscreen-close-border-radius: 50%;--ms-fullscreen-close-bg-hover: var(--ms-option-bg-matched, transparent);--ms-fullscreen-close-edge-nudge: calc(.8 * var(--ms-fullscreen-rem));--ms-fullscreen-info-size: calc(2.8 * var(--ms-fullscreen-rem));--ms-fullscreen-info-icon-size: calc(1.8 * var(--ms-fullscreen-rem));--ms-fullscreen-info-color: var(--ms-accent-color);--ms-fullscreen-info-bg-hover: var(--ms-option-bg-matched, transparent);--ms-fullscreen-nav-gap: calc(.6 * var(--ms-fullscreen-rem));--ms-fullscreen-nav-padding-top: calc(.6 * var(--ms-fullscreen-rem));--ms-fullscreen-nav-count-font-size: calc(1.3 * var(--ms-fullscreen-rem));--ms-fullscreen-nav-count-color: var(--ms-text-muted-color, var(--ms-dropdown-text-color));--ms-fullscreen-nav-btn-size: calc(3.2 * var(--ms-fullscreen-rem));--ms-fullscreen-nav-btn-icon-size: calc(1.6 * var(--ms-fullscreen-rem));--ms-fullscreen-nav-btn-color: var(--ms-dropdown-text-color);--ms-fullscreen-nav-btn-bg: var(--ms-option-bg-matched, transparent);--ms-fullscreen-nav-btn-bg-hover: color-mix(in srgb, var(--ms-accent-color) 22%, transparent);--ms-icon-chevron: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M5 15l7-7 7 7' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/></svg>");--ms-icon-info: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/><circle cx='12' cy='7.5' r='1.3' fill='black'/><path d='M12 11v6' stroke='black' stroke-width='2' stroke-linecap='round' fill='none'/></svg>");--ms-fullscreen-tree-base-indent: calc(.7 * var(--ms-fullscreen-rem));--ms-fullscreen-tree-indent: calc(1.2 * var(--ms-fullscreen-rem));--ms-actions-gap: calc(.4 * var(--ms-rem));--ms-actions-padding: calc(.8 * var(--ms-rem));--ms-actions-border-bottom: 1px solid var(--ms-actions-border-color);--ms-action-btn-padding: calc(.4 * var(--ms-rem)) calc(.8 * var(--ms-rem));--ms-action-btn-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-action-btn-border: var(--ms-border);--ms-action-btn-border-radius: var(--ms-border-radius-sm);--ms-action-btn-bg: transparent;--ms-action-btn-color: inherit;--ms-action-btn-bg-hover: var(--ms-primary-bg);--ms-action-btn-border-color-hover: var(--ms-accent-color);--ms-transform-scale-active: .98;--ms-options-padding: 0;--ms-group-border-top: 1px solid var(--ms-group-border-color);--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(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-group-label-font-weight: var(--base-font-weight-semibold, 600);--ms-group-label-color: var(--ms-text-color-3);--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-min-height: auto;--ms-option-outline-focused: 2px solid var(--ms-option-outline-color-focused);--ms-option-focus-outline-offset: -2px;--ms-option-border-matched: 3px solid var(--ms-option-border-matched-color);--ms-option-bg-focused-hover: var(--ms-primary-bg);--ms-option-bg-matched-hover: color-mix(in srgb, var(--ms-accent-color) 12%, transparent);--ms-option-bg-selected-focused: color-mix(in srgb, var(--ms-accent-color) 15%, transparent);--ms-option-bg-selected-matched: color-mix(in srgb, var(--ms-accent-color) 15%, transparent);--ms-option-disabled-bg: var(--base-disabled-bg, transparent);--ms-option-bg-disabled-selected: color-mix(in srgb, var(--ms-accent-color) 10%, transparent);--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(var(--base-font-size-base, 1.6) * var(--ms-rem));--ms-option-title-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-option-mark-font-weight: var(--base-font-weight-semibold, 600);--ms-option-title-white-space: normal;--ms-option-title-overflow: visible;--ms-option-title-text-overflow: clip;--ms-option-subtitle-margin-top: calc(.4 * var(--ms-rem));--ms-option-subtitle-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-option-subtitle-line-height: var(--base-line-height-tight, 1.25);--ms-checkbox-margin-top: 0;--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: center;--ms-checkbox-bg: var(--ms-input-bg);--ms-checkbox-border-width: 1px;--ms-checkbox-border-color: var(--base-checkbox-border-color, #8f8f8f);--ms-checkbox-border: var(--ms-checkbox-border-width) solid var(--ms-checkbox-border-color);--ms-checkbox-border-radius: calc(.3 * var(--ms-rem));--ms-checkbox-checkmark-thickness: 2.5px;--ms-checkbox-checked-bg: var(--ms-accent-color);--ms-checkbox-checked-border: var(--ms-checkbox-border-width) solid var(--ms-accent-color);--ms-checkbox-checkmark-color: var(--ms-text-color-on-accent);--ms-checkbox-hover-border-color: var(--ms-accent-color);--ms-checkbox-disabled-bg: var(--ms-primary-bg);--ms-checkbox-disabled-border: var(--ms-checkbox-border-width) solid var(--ms-border-color);--ms-checkbox-checked-bg-hover: var(--ms-accent-color-hover);--ms-checkbox-checked-border-color-hover: var(--ms-accent-color-hover);--ms-state-min-height: calc(8 * var(--ms-rem));--ms-empty-padding: calc(1.6 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-empty-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-empty-color: var(--ms-text-color-3);--ms-loader-padding: calc(1.6 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-loader-gap: calc(.8 * var(--ms-rem));--ms-loading-text-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-loading-text-color: var(--ms-text-color-3);--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-inline-align: center;--ms-badge-gap: calc(.8 * var(--ms-rem));--ms-badge-height: calc(2.7 * var(--ms-rem));--ms-badge-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-badge-font-weight: var(--base-font-weight-semibold, 600);--ms-badge-border-radius: var(--ms-border-radius-sm);--ms-order-first: -1;--ms-badge-text-padding: 0 calc(.8 * var(--ms-rem));--ms-badge-text-bg: var(--ms-accent-color-light);--ms-badge-text-color: var(--ms-accent-color);--ms-badge-text-border: none;--ms-badge-remove-width: calc(2.7 * var(--ms-rem));--ms-badge-remove-bg: var(--ms-accent-color);--ms-badge-remove-color: var(--ms-text-color-on-accent);--ms-badge-remove-border: none;--ms-badge-remove-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-badge-remove-bg-hover: var(--ms-accent-color-hover);--ms-badge-remove-box-shadow-focus: 0 0 0 2px color-mix(in srgb, var(--ms-accent-color) 50%, transparent);--ms-badge-remove-icon-size: calc(1 * var(--ms-rem));--ms-icon-remove: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 6L18 18M18 6L6 18' stroke='black' stroke-width='2.5' stroke-linecap='round' fill='none'/></svg>");--ms-icon-search-clear: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m13.5 8.5-5 5'/><path d='m8.5 8.5 5 5'/><circle cx='11' cy='11' r='8'/><path d='m21 21-4.3-4.3'/></svg>");--ms-icon-search: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><path d='m21 21-4.3-4.3'/></svg>");--ms-icon-filter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'/></svg>");--ms-badge-counter-bg: transparent;--ms-badge-counter-border: 1px solid var(--ms-badge-counter-border-color);--ms-badge-counter-border-radius: var(--ms-border-radius-sm);--ms-more-badge-bg: var(--ms-accent-color-light);--ms-more-badge-hover-bg: var(--ms-badge-bg-hover);--ms-more-badge-active-bg: var(--ms-accent-color-light-hover);--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: var(--ms-border);--ms-counter-wrapper-border-radius: var(--ms-border-radius-sm);--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: var(--ms-primary-bg);--ms-counter-wrapper-border-color-hover: var(--ms-accent-color);--ms-count-text-bg: transparent;--ms-count-text-border: none;--ms-count-text-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-count-text-color: var(--ms-text-color-1);--ms-count-clear-size: calc(1.6 * var(--ms-rem));--ms-count-clear-bg: transparent;--ms-count-clear-color: var(--ms-text-color-3);--ms-count-clear-font-size: calc(var(--base-font-size-lg, 1.8) * var(--ms-rem));--ms-count-clear-border-radius: var(--ms-border-radius-sm);--ms-count-clear-bg-hover: color-mix(in srgb, var(--ms-accent-color) 20%, transparent);--ms-count-clear-color-hover: var(--ms-accent-color);--ms-count-clear-icon-size: calc(1.4 * var(--ms-rem));--ms-icon-clear: var(--ms-icon-remove);--ms-tooltip-color: var(--ms-tooltip-text-color);--ms-tooltip-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-tooltip-border-radius: var(--ms-border-radius-lg);--ms-tooltip-font-size: calc(var(--base-font-size-sm, 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-option-tooltip-bg: var(--ms-tooltip-bg);--ms-option-tooltip-text-color: var(--ms-tooltip-text-color);--ms-option-tooltip-padding: var(--ms-tooltip-padding);--ms-option-tooltip-border-radius: var(--ms-tooltip-border-radius);--ms-option-tooltip-font-size: var(--ms-tooltip-font-size);--ms-option-tooltip-max-width: var(--ms-tooltip-max-width);--ms-option-tooltip-shadow: var(--ms-tooltip-shadow);--ms-option-tooltip-z-index: var(--ms-tooltip-z-index);--ms-message-bg: var(--ms-message-info-bg);--ms-message-color: var(--ms-message-info-color);--ms-message-border: 1px solid transparent;--ms-message-border-radius: var(--ms-border-radius-lg);--ms-message-padding: calc(1 * var(--ms-rem)) calc(1.4 * var(--ms-rem));--ms-message-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-message-font-weight: var(--base-font-weight-medium, 500);--ms-message-max-width: calc(40 * var(--ms-rem));--ms-message-shadow: 0 4px 16px rgb(0 0 0 / .18);--ms-message-fullscreen-offset: calc(2.4 * var(--ms-fullscreen-rem));--ms-message-z-index: var(--ms-z-index-fullscreen-tooltip);--ms-message-info-bg: var(--ms-tooltip-bg);--ms-message-info-color: var(--ms-tooltip-text-color);--ms-message-warning-bg: var(--base-warning-bg, #f59e0b);--ms-message-warning-color: var(--base-warning-color, #1a1a1a);--ms-message-error-bg: var(--base-danger-bg, #ef4444);--ms-message-error-color: var(--base-danger-color, #ffffff);--ms-message-success-bg: var(--base-success-bg, #10b981);--ms-message-success-color: var(--base-success-color, #ffffff);--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-border: 1px solid var(--ms-selected-popover-border-color);--ms-selected-popover-border-radius: var(--ms-border-radius-lg);--ms-selected-popover-box-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(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: color-mix(in srgb, var(--ms-accent-color) 10%, transparent);--ms-selected-popover-header-border-bottom: 1px solid var(--ms-selected-popover-header-border-color);--ms-selected-popover-header-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-selected-popover-header-font-weight: var(--base-font-weight-semibold, 600);--ms-selected-popover-header-color: var(--ms-text-color-1);--ms-popover-close-size: calc(2.4 * var(--ms-rem));--ms-selected-popover-close-bg: transparent;--ms-selected-popover-close-color: var(--ms-text-color-3);--ms-selected-popover-close-font-size: calc(var(--base-font-size-xl, 2) * var(--ms-rem));--ms-selected-popover-close-border-radius: var(--ms-border-radius-sm);--ms-selected-popover-close-bg-hover: color-mix(in srgb, var(--ms-accent-color) 20%, transparent);--ms-selected-popover-close-color-hover: var(--ms-accent-color);--ms-selected-popover-close-icon-size: calc(1.4 * var(--ms-rem));--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(var(--base-font-size-2xs, 1) * var(--ms-rem));--ms-font-size-xs: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-font-size-sm: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-font-size-base: calc(var(--base-font-size-base, 1.6) * var(--ms-rem));--ms-font-size-lg: calc(var(--base-font-size-lg, 1.8) * var(--ms-rem));--ms-font-weight-normal: var(--base-font-weight-normal, 400);--ms-font-weight-medium: var(--base-font-weight-medium, 500);--ms-font-weight-semibold: var(--base-font-weight-semibold, 600);--ms-line-height-none: 1;--ms-line-height-tight: var(--base-line-height-tight, 1.25);--ms-line-height-normal: var(--base-line-height-normal, 1.5);--ms-line-height-relaxed: var(--base-line-height-relaxed, 1.75);--ms-border-radius-sm: calc(var(--base-border-radius-sm, .4) * var(--ms-rem));--ms-border-radius-md: calc(var(--base-border-radius-md, .6) * var(--ms-rem));--ms-border-radius-lg: calc(var(--base-border-radius-lg, .8) * var(--ms-rem));--ms-border-radius: var(--ms-border-radius-md);--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: var(--ms-border-color);--ms-scrollbar-thumb-bg-hover: var(--ms-text-color-3);--ms-scrollbar-thumb-border-radius: 4px;--ms-debug-bg: var(--base-elevated-bg, light-dark(#f9fafb, #2b2b2b));--ms-debug-border-color: var(--ms-border-color);--ms-debug-text-color: var(--ms-text-color-1);--ms-debug-border-radius: var(--ms-border-radius-md);--ms-debug-summary-color: var(--ms-accent-color);--ms-debug-summary-bg-hover: var(--ms-primary-bg);--ms-debug-summary-outline-color: var(--ms-accent-color);--ms-debug-summary-border-radius: var(--ms-border-radius-sm);--ms-debug-stats-bg: var(--base-main-bg, light-dark(#ffffff, #1a1a1a));--ms-debug-stats-border-radius: var(--ms-border-radius-sm);--ms-debug-bullet-color: var(--ms-accent-color)}}@layer component{web-multiselect:not(:defined){display:block;min-height:calc(3.5 * var(--ms-rem));color:transparent!important;background:transparent}:host{-webkit-tap-highlight-color:transparent}.ms__wrapper{display:flex;flex-direction:column;align-items:stretch}.ms__wrapper--inline{flex-direction:row;align-items:var(--ms-inline-align, center)}.ms{position:relative;width:100%}}@layer component{.ms__input-wrapper{position:relative;display:flex;align-items:center}.ms__input{box-sizing:border-box;width:100%;font-family:inherit;height:var(--ms-input-height);padding:var(--ms-input-padding);padding-inline-end:var(--ms-input-padding-right);font-size:var(--ms-input-font-size);border:var(--ms-input-border);border-radius:var(--ms-input-border-radius);background:var(--ms-input-bg);color:var(--ms-input-color);cursor:pointer;transition:border var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__input:hover:not(:focus):not(:disabled){border:var(--ms-input-border-hover)}.ms__input:focus{outline:none;border:var(--ms-input-border-focus)}.ms__input::placeholder{color:var(--ms-input-placeholder-color);opacity:0;transition:opacity var(--ms-transition-fast) var(--ms-easing-snappy)}:host([data-ready]) .ms__input::placeholder{opacity:var(--ms-placeholder-opacity)}.ms__toggle{position:absolute;inset-inline-end:var(--ms-toggle-right);top:50%;transform:var(--ms-transform-center-y);pointer-events:none;color:var(--ms-toggle-icon-color);transition:transform var(--ms-transition-fast) var(--ms-easing-snappy)}.ms--open .ms__toggle{transform:var(--ms-transform-center-y) rotate(var(--ms-transform-rotate-180));color:var(--ms-toggle-icon-color-open)}.ms__counter{position:absolute;inset-inline-end:var(--ms-counter-offset);top:50%;transform:var(--ms-transform-center-y);padding:var(--ms-counter-padding);background:var(--ms-counter-badge-bg);color:var(--ms-counter-badge-color);font-size:var(--ms-counter-font-size);font-weight:var(--ms-counter-font-weight);border-radius:var(--ms-counter-border-radius);cursor:pointer;transition:all var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__counter:hover{background:var(--ms-counter-badge-bg-hover);transform:var(--ms-transform-center-y) scale(var(--ms-transform-scale-hover))}.ms__actions{display:flex;flex-direction:column;gap:var(--ms-actions-gap);padding:var(--ms-actions-padding)}.ms__actions--top{border-bottom:var(--ms-actions-border-bottom)}.ms__actions--bottom{flex-direction:column-reverse;border-top:var(--ms-actions-border-bottom)}.ms__actions-row{display:flex;flex-wrap:nowrap;gap:var(--ms-actions-gap)}.ms__actions--wrap .ms__actions-row{flex-wrap:wrap}.ms__actions--sticky{position:sticky;z-index:var(--ms-z-index-sticky);background:var(--ms-actions-bg)}.ms__actions--sticky.ms__actions--top{top:0}.ms__actions--sticky.ms__actions--bottom{bottom:0}.ms__actions--align-stretch .ms__action-btn{flex:1}.ms__actions--align-left .ms__actions-row{justify-content:flex-start}.ms__actions--align-right .ms__actions-row{justify-content:flex-end}.ms__actions--align-center .ms__actions-row{justify-content:center}.ms__actions--align-space-between .ms__actions-row{justify-content:space-between}.ms__action-btn{font-family:inherit;padding:var(--ms-action-btn-padding);font-size:var(--ms-action-btn-font-size);border:var(--ms-action-btn-border);border-radius:var(--ms-action-btn-border-radius);background:var(--ms-action-button-bg);color:var(--ms-action-button-color);cursor:pointer;transition:all var(--ms-transition-fast) var(--ms-easing-snappy)}@media (hover: hover){.ms__action-btn:hover{background:var(--ms-action-button-bg-hover);border-color:var(--ms-action-button-border-color-hover)}}.ms__action-btn:active{transform:scale(var(--ms-transform-scale-active))}.ms__action-btn:disabled,.ms__action-btn[disabled]{opacity:var(--ms-disabled-opacity);cursor:not-allowed;pointer-events:none}}@layer component{.ms__hint{display:none;position:fixed;z-index:var(--ms-z-index-popover);padding:var(--ms-hint-padding);background:var(--ms-hint-bg);border:var(--ms-hint-border);border-radius:var(--ms-hint-border-radius);box-shadow:var(--ms-hint-box-shadow);font-size:var(--ms-hint-font-size);color:var(--ms-hint-color);line-height:var(--ms-line-height-relaxed);max-width:100%}.ms__hint--visible{display:block}.ms__dropdown{display:none;position:fixed;font-family:inherit;z-index:var(--ms-z-index-dropdown);background:var(--ms-dropdown-bg);border:var(--ms-dropdown-border);border-radius:var(--ms-dropdown-border-radius);box-shadow:var(--ms-dropdown-box-shadow);width:var(--ms-dropdown-width);max-height:var(--ms-options-max-height);overflow:hidden;color:var(--ms-dropdown-text-color)}.ms__dropdown--visible{display:flex;flex-direction:column}.ms__dropdown--fullscreen,.ms__selected-popover--fullscreen{--ms-rem: var(--ms-fullscreen-rem);--ms-option-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-option-gap: calc(.8 * var(--ms-rem));--ms-option-title-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-option-subtitle-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-option-icon-font-size: calc(var(--base-font-size-base, 1.6) * var(--ms-rem));--ms-checkbox-size: calc(1.6 * var(--ms-rem));--ms-group-label-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-group-label-padding: calc(.4 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-tree-base-indent: var(--ms-fullscreen-tree-base-indent);--ms-tree-indent: var(--ms-fullscreen-tree-indent)}.ms__selected-popover--fullscreen{--ms-badge-gap: calc(.8 * var(--ms-rem));--ms-badge-height: calc(4.2 * var(--ms-rem));--ms-badge-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-badge-text-padding: 0 calc(1.2 * var(--ms-rem));--ms-badge-remove-width: calc(3.6 * var(--ms-rem));--ms-badge-remove-icon-size: calc(1.2 * var(--ms-rem));--ms-badge-remove-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem))}.ms__dropdown--fullscreen{--ms-actions-gap: calc(.4 * var(--ms-rem));--ms-actions-padding: calc(.8 * var(--ms-rem));--ms-action-btn-padding: calc(.6 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-action-btn-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem))}.ms__dropdown--fullscreen{position:fixed;top:0;inset-inline-start:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:none;border-radius:0;background:var(--ms-fullscreen-bg);color:var(--ms-fullscreen-text-color);z-index:var(--ms-z-index-fullscreen);box-sizing:border-box;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}.ms__dropdown--fullscreen .ms__dropdown-inner{display:flex;flex-direction:column;flex:1;min-height:0;max-height:none;overflow:hidden}.ms__dropdown--fullscreen .ms__options{flex:1 1 0;min-height:0;height:auto;max-height:none;overflow-y:auto;padding-bottom:var(--ms-option-gap)}.ms__dropdown--fullscreen .ms__actions{flex:0 0 auto}.ms__fullscreen-header,.ms__selected-popover--fullscreen .ms__selected-popover-header{flex:0 0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:var(--ms-fullscreen-header-gap);min-height:var(--ms-fullscreen-header-min-height);padding:var(--ms-fullscreen-header-padding);background:var(--ms-fullscreen-header-bg);border-bottom:var(--ms-fullscreen-header-border)}.ms__fullscreen-header{align-content:flex-start}.ms__fullscreen-header>.ms__fullscreen-search-wrapper{min-height:var(--ms-fullscreen-header-min-height)}.ms__fullscreen-nav{flex:0 0 100%;display:flex;align-items:center;justify-content:space-between;gap:var(--ms-fullscreen-nav-gap);padding-top:var(--ms-fullscreen-nav-padding-top)}.ms__fullscreen-nav-count{font-size:var(--ms-fullscreen-nav-count-font-size);color:var(--ms-fullscreen-nav-count-color)}.ms__fullscreen-nav-controls{display:flex;align-items:center;gap:var(--ms-fullscreen-nav-gap)}.ms__fullscreen-nav-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:var(--ms-fullscreen-nav-btn-size);height:var(--ms-fullscreen-nav-btn-size);padding:0;color:var(--ms-fullscreen-nav-btn-color);background:var(--ms-fullscreen-nav-btn-bg);border:none;border-radius:50%;cursor:pointer}.ms__fullscreen-nav-btn:hover:not(:disabled){background:var(--ms-fullscreen-nav-btn-bg-hover)}.ms__fullscreen-nav-btn:disabled{opacity:.4;cursor:default}.ms__fullscreen-nav-btn:before{content:"";display:block;width:var(--ms-fullscreen-nav-btn-icon-size);height:var(--ms-fullscreen-nav-btn-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-chevron) center / contain no-repeat;mask:var(--ms-icon-chevron) center / contain no-repeat}.ms__fullscreen-nav-btn--next:before{transform:scaleY(-1)}.ms__fullscreen-header>.ms__fullscreen-search-wrapper,.ms__selected-popover--fullscreen .ms__selected-popover-header>span{flex:1 1 auto;min-width:0}.ms__fullscreen-search-wrapper{position:relative;display:flex;align-items:center}.ms__selected-popover--fullscreen .ms__selected-popover-header{font-size:var(--ms-fullscreen-title-font-size);font-weight:var(--ms-fullscreen-title-font-weight);color:var(--ms-fullscreen-text-color)}.ms__fullscreen-search{flex:1 1 auto;min-width:0;font-family:inherit;font-size:var(--ms-fullscreen-search-font-size);color:inherit;background:transparent;border:var(--ms-fullscreen-search-border);border-radius:var(--ms-fullscreen-search-border-radius);padding:var(--ms-fullscreen-search-padding);padding-inline-end:var(--ms-fullscreen-search-clear-gutter)}.ms__fullscreen-search:focus{outline:none;border:var(--ms-input-border-focus)}.ms__fullscreen-search-clear{position:absolute;inset-inline-end:var(--ms-fullscreen-search-clear-inset);top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:var(--ms-fullscreen-search-clear-size);height:var(--ms-fullscreen-search-clear-size);padding:0;color:var(--ms-fullscreen-search-clear-color);background:transparent;border:none;border-radius:50%;cursor:pointer}.ms__fullscreen-search-clear:hover{background:var(--ms-fullscreen-search-clear-bg-hover)}.ms__fullscreen-search-clear:before{content:"";display:block;width:var(--ms-fullscreen-search-clear-icon-size);height:var(--ms-fullscreen-search-clear-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-search-clear) center / contain no-repeat;mask:var(--ms-icon-search-clear) center / contain no-repeat}.ms__fullscreen-mode-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:var(--ms-fullscreen-mode-toggle-size);height:var(--ms-fullscreen-mode-toggle-size);margin-inline-end:var(--ms-fullscreen-mode-toggle-gap);padding:0;color:var(--ms-fullscreen-mode-toggle-color);background:var(--ms-fullscreen-mode-toggle-bg);border:none;border-radius:50%;cursor:pointer}.ms__fullscreen-mode-toggle:hover{background:var(--ms-fullscreen-mode-toggle-bg-hover)}.ms__fullscreen-mode-toggle:before{content:"";display:block;width:var(--ms-fullscreen-mode-toggle-icon-size);height:var(--ms-fullscreen-mode-toggle-icon-size);background-color:currentColor;-webkit-mask:var(--ms-fullscreen-mode-toggle-icon, var(--ms-icon-search)) center / contain no-repeat;mask:var(--ms-fullscreen-mode-toggle-icon, var(--ms-icon-search)) center / contain no-repeat}.ms__fullscreen-mode-toggle[data-mode=navigate]{--ms-fullscreen-mode-toggle-icon: var(--ms-icon-search)}.ms__fullscreen-mode-toggle[data-mode=filter]{--ms-fullscreen-mode-toggle-icon: var(--ms-icon-filter)}.ms__fullscreen-close,.ms__selected-popover--fullscreen .ms__selected-popover-close{flex:0 0 auto;position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:var(--ms-fullscreen-close-size);height:var(--ms-fullscreen-close-size);margin-inline-end:calc(-1 * var(--ms-fullscreen-close-edge-nudge));padding:0;color:var(--ms-fullscreen-close-color);background:var(--ms-fullscreen-close-bg);border:var(--ms-fullscreen-close-border);border-radius:var(--ms-fullscreen-close-border-radius);cursor:pointer}.ms__fullscreen-close:after,.ms__selected-popover--fullscreen .ms__selected-popover-close:after{content:"";position:absolute;inset-block-start:calc(-1 * var(--ms-fullscreen-close-size));inset-block-end:calc(-1 * var(--ms-fullscreen-header-padding-v));inset-inline-end:calc(-1 * var(--ms-fullscreen-header-padding-h));inset-inline-start:calc(-1 * var(--ms-fullscreen-header-gap))}.ms__fullscreen-close:hover,.ms__selected-popover--fullscreen .ms__selected-popover-close:hover{background:var(--ms-fullscreen-close-bg-hover);color:var(--ms-fullscreen-close-color)}.ms__fullscreen-close:before,.ms__selected-popover--fullscreen .ms__selected-popover-close:before{content:"";display:block;width:var(--ms-fullscreen-close-icon-size);height:var(--ms-fullscreen-close-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-remove) center / contain no-repeat;mask:var(--ms-icon-remove) center / contain no-repeat}.ms__dropdown--fullscreen .ms__option-info{flex:0 0 auto;display:none;align-items:center;justify-content:center;width:var(--ms-fullscreen-info-size);height:var(--ms-fullscreen-info-size);margin-inline-start:var(--ms-option-gap);padding:0;color:var(--ms-fullscreen-info-color);background:transparent;border:none;border-radius:50%;cursor:pointer}.ms__dropdown--fullscreen .ms__option--truncated .ms__option-info{display:inline-flex}@media (hover: hover){.ms__dropdown--fullscreen .ms__option-info:hover{background:var(--ms-fullscreen-info-bg-hover)}}.ms__dropdown--fullscreen .ms__option-info:before{content:"";display:block;width:var(--ms-fullscreen-info-icon-size);height:var(--ms-fullscreen-info-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-info) center / contain no-repeat;mask:var(--ms-icon-info) center / contain no-repeat}.ms__dropdown-inner{flex:1;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg) var(--ms-scrollbar-track-bg)}.ms__dropdown-inner::-webkit-scrollbar{width:var(--ms-scrollbar-width)}.ms__dropdown-inner::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg)}.ms__dropdown-inner::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg);border-radius:var(--ms-scrollbar-thumb-border-radius)}.ms__dropdown-inner::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover)}.ms__dropdown--virtual{max-height:none}.ms__dropdown--virtual .ms__dropdown-inner{overflow-y:visible}.ms__badge-tooltip{position:fixed;z-index:var(--ms-tooltip-z-index);opacity:0;visibility:hidden;transition:opacity var(--ms-transition-normal) ease,visibility var(--ms-transition-normal) ease;background:var(--ms-tooltip-bg);color:var(--ms-tooltip-text-color);padding:var(--ms-tooltip-padding);border-radius:var(--ms-tooltip-border-radius);font-size:var(--ms-tooltip-font-size);line-height:var(--ms-line-height-relaxed);max-width:var(--ms-tooltip-max-width);word-wrap:break-word;white-space:pre-wrap;box-shadow:var(--ms-tooltip-shadow);pointer-events:none}.ms__badge-tooltip--visible{opacity:1;visibility:visible}.ms__option-tooltip{position:fixed;z-index:var(--ms-option-tooltip-z-index);opacity:0;visibility:hidden;transition:opacity var(--ms-transition-normal) ease,visibility var(--ms-transition-normal) ease;background:var(--ms-option-tooltip-bg);color:var(--ms-option-tooltip-text-color);padding:var(--ms-option-tooltip-padding);border-radius:var(--ms-option-tooltip-border-radius);font-size:var(--ms-option-tooltip-font-size);line-height:var(--ms-line-height-relaxed);max-width:var(--ms-option-tooltip-max-width);word-wrap:break-word;white-space:pre-wrap;box-shadow:var(--ms-option-tooltip-shadow);pointer-events:none}.ms__option-tooltip--visible{opacity:1;visibility:visible}.ms__option-tooltip--fullscreen{z-index:var(--ms-z-index-fullscreen-tooltip)}.ms__message{position:fixed;z-index:var(--ms-message-z-index);box-sizing:border-box;max-width:var(--ms-message-max-width);padding:var(--ms-message-padding);font-family:inherit;font-size:var(--ms-message-font-size);font-weight:var(--ms-message-font-weight);line-height:var(--ms-line-height-normal);color:var(--ms-message-color);background:var(--ms-message-bg);border:var(--ms-message-border);border-radius:var(--ms-message-border-radius);box-shadow:var(--ms-message-shadow);cursor:pointer;opacity:0;transition:opacity var(--ms-transition-normal) ease;-webkit-tap-highlight-color:transparent}.ms__message--visible{opacity:1}.ms__message--info{background:var(--ms-message-info-bg);color:var(--ms-message-info-color)}.ms__message--warning{background:var(--ms-message-warning-bg);color:var(--ms-message-warning-color)}.ms__message--error{background:var(--ms-message-error-bg);color:var(--ms-message-error-color)}.ms__message--success{background:var(--ms-message-success-bg);color:var(--ms-message-success-color)}.ms__message--fullscreen{left:50%;right:auto;bottom:calc(var(--ms-message-fullscreen-offset) + env(safe-area-inset-bottom));transform:translate(-50%);max-width:min(var(--ms-message-max-width),calc(100vw - 4 * var(--ms-fullscreen-rem)));padding:calc(1 * var(--ms-fullscreen-rem)) calc(1.4 * var(--ms-fullscreen-rem));font-size:calc(var(--base-font-size-sm, 1.4) * var(--ms-fullscreen-rem))}.ms__selected-popover{display:none;position:fixed;z-index:var(--ms-z-index-popover);background:var(--ms-selected-popover-bg);border:var(--ms-selected-popover-border);border-radius:var(--ms-selected-popover-border-radius);box-shadow:var(--ms-selected-popover-box-shadow);width:var(--ms-selected-popover-width);max-height:var(--ms-selected-popover-max-height);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--fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:none;border-radius:0;overflow:hidden;background:var(--ms-fullscreen-bg);color:var(--ms-fullscreen-text-color);z-index:var(--ms-z-index-fullscreen);box-sizing:border-box;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}.ms__selected-popover--fullscreen .ms__selected-popover-body{flex:1 1 0;min-height:0;max-height:none}.ms__selected-popover-header{display:flex;align-items:center;justify-content:space-between;padding:var(--ms-selected-popover-header-padding);background:var(--ms-selected-popover-header-bg);border-bottom:var(--ms-selected-popover-header-border-bottom);font-size:var(--ms-selected-popover-header-font-size);font-weight:var(--ms-selected-popover-header-font-weight);color:var(--ms-selected-popover-header-color)}.ms__selected-popover-close{display:flex;align-items:center;justify-content:center;width:var(--ms-popover-close-size);height:var(--ms-popover-close-size);padding:0;border:none;background:var(--ms-selected-popover-close-bg);color:var(--ms-selected-popover-close-color);font-size:var(--ms-selected-popover-close-font-size);line-height:var(--ms-line-height-none);cursor:pointer;border-radius:var(--ms-selected-popover-close-border-radius);transition:all var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__selected-popover-close:hover{background:var(--ms-selected-popover-close-bg-hover);color:var(--ms-selected-popover-close-color-hover)}.ms__selected-popover-close:before{content:"";display:block;width:var(--ms-selected-popover-close-icon-size);height:var(--ms-selected-popover-close-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-remove) center / contain no-repeat;mask:var(--ms-icon-remove) center / contain no-repeat}.ms__selected-popover-body{display:flex;flex-direction:column;gap:var(--ms-selected-popover-body-gap);padding:var(--ms-selected-popover-body-padding);overflow-y:auto;max-height:var(--ms-selected-popover-body-max-height);scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg) var(--ms-scrollbar-track-bg)}.ms__selected-popover-body::-webkit-scrollbar{width:var(--ms-scrollbar-width)}.ms__selected-popover-body::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg)}.ms__selected-popover-body::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg);border-radius:var(--ms-scrollbar-thumb-border-radius)}.ms__selected-popover-body::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover)}.ms__selected-popover-body .ms__badge{width:100%;min-height:fit-content;line-height:var(--ms-line-height-relaxed);flex-shrink:0}.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);overflow:hidden;box-sizing:border-box}.ms__selected-popover-body--virtual .ms__badge-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@layer component{.ms--disabled .ms__input{opacity:var(--ms-disabled-input-opacity);cursor:not-allowed;background:var(--ms-input-bg-disabled)}.ms--disabled .ms__toggle{opacity:var(--ms-disabled-input-opacity)}.ms--no-checkboxes .ms__option{gap:0;padding-inline-start:var(--ms-option-padding-h)}.ms--no-checkboxes .ms__option-content{padding-inline-start:0}}@layer component;@layer component{.ms__badges{display:flex;flex-wrap:wrap;gap:var(--ms-badges-gap);padding:0}.ms__badges:empty{display:none}.ms__badges--bottom{margin-top:var(--ms-badges-margin-bottom)}.ms__badges--top{margin-bottom:var(--ms-badges-margin-top);order:var(--ms-order-first)}.ms__badges--left{order:var(--ms-order-first);margin-right:var(--ms-badges-margin-left);justify-content:flex-end}.ms__badges--right{margin-left:var(--ms-badges-margin-right);justify-content:flex-start}.ms__badge{display:inline-flex;align-items:center;height:var(--ms-badge-height);font-size:var(--ms-badge-font-size);font-weight:var(--ms-badge-font-weight);line-height:var(--ms-line-height-none);border-radius:var(--ms-badge-border-radius);overflow:hidden;max-width:100%}.ms__badge-text{display:flex;align-items:center;box-sizing:border-box;height:100%;padding:var(--ms-badge-text-padding);background:var(--ms-badge-text-bg);color:var(--ms-badge-text-color);border:var(--ms-badge-text-border);border-inline-end:none;border-start-start-radius:var(--ms-badge-border-radius);border-end-start-radius:var(--ms-badge-border-radius);border-start-end-radius:0;border-end-end-radius:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color var(--ms-transition-normal) ease,color var(--ms-transition-normal) ease}.ms__badge:hover .ms__badge-text{background:var(--ms-badge-text-bg-hover, var(--ms-badge-text-bg));color:var(--ms-badge-text-color-hover, var(--ms-badge-text-color))}.ms__badge-remove{display:flex;align-items:center;justify-content:center;box-sizing:border-box;font-family:inherit;width:var(--ms-badge-remove-width);height:100%;flex-shrink:0;background:var(--ms-badge-remove-bg);color:var(--ms-badge-remove-color);border:var(--ms-badge-remove-border);border-inline-start:none;border-start-end-radius:var(--ms-badge-border-radius);border-end-end-radius:var(--ms-badge-border-radius);border-start-start-radius:0;border-end-start-radius:0;cursor:pointer;transition:background-color var(--ms-transition-normal) ease;font-size:var(--ms-badge-remove-font-size)}.ms__badge-remove:hover{background:var(--ms-badge-remove-bg-hover)}.ms__badge-remove:focus{outline:none}.ms__badge-remove:focus-visible{outline:none;box-shadow:var(--ms-badge-remove-box-shadow-focus)}.ms__badge-remove:before{content:"";display:block;width:var(--ms-badge-remove-icon-size);height:var(--ms-badge-remove-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-remove) center / contain no-repeat;mask:var(--ms-icon-remove) center / contain no-repeat}.ms__badge--counter{cursor:pointer}.ms__badge--counter .ms__badge-text{background:var(--ms-badge-counter-text-bg);color:var(--ms-badge-counter-text-color);border:var(--ms-badge-counter-border);border-inline-end:none}.ms__badge--counter .ms__badge-remove{background:var(--ms-badge-counter-remove-bg);color:var(--ms-badge-counter-remove-color);border:var(--ms-badge-counter-border);border-inline-start:none}.ms__badge--counter .ms__badge-remove:hover{background:var(--ms-badge-counter-remove-bg-hover)}.ms__badge--more,.ms__badge[data-action=show-selected]{cursor:pointer}}@layer component{.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)}.ms__count-display--top{margin-bottom:var(--ms-count-display-margin-top);order:var(--ms-order-first)}.ms__count-display--left{order:var(--ms-order-first);margin-right:var(--ms-count-display-margin-left);justify-content:flex-start}.ms__count-display--right{margin-left:var(--ms-count-display-margin-right);justify-content:flex-end}.ms__counter-wrapper{display:inline-flex;align-items:center;gap:var(--ms-counter-wrapper-gap);background:var(--ms-counter-wrapper-bg);border:var(--ms-counter-wrapper-border);border-radius:var(--ms-counter-wrapper-border-radius);padding:var(--ms-counter-wrapper-padding);transition:all var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__counter-wrapper:hover{background:var(--ms-counter-wrapper-bg-hover);border-color:var(--ms-counter-wrapper-border-color-hover)}.ms__count-text{display:inline-flex;align-items:center;background:var(--ms-count-text-bg);border:var(--ms-count-text-border);padding:0;font-size:var(--ms-count-text-font-size);color:var(--ms-count-text-color);cursor:pointer;transition:color var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__count-clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:var(--ms-count-clear-size);height:var(--ms-count-clear-size);padding:0;border:none;background:var(--ms-count-clear-bg);color:var(--ms-count-clear-color);font-size:var(--ms-count-clear-font-size);line-height:var(--ms-line-height-none);cursor:pointer;border-radius:var(--ms-count-clear-border-radius);transition:all var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__count-clear:hover{background:var(--ms-count-clear-bg-hover);color:var(--ms-count-clear-color-hover)}.ms__count-clear:before{content:"";display:block;width:var(--ms-count-clear-icon-size);height:var(--ms-count-clear-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-clear) center / contain no-repeat;mask:var(--ms-icon-clear) center / contain no-repeat}}@layer component{.ms__debug-info{margin-top:calc(.4 * var(--ms-rem));padding:calc(.4 * var(--ms-rem));background-color:var(--ms-debug-bg);border:1px solid var(--ms-debug-border-color);border-radius:var(--ms-debug-border-radius);font-size:calc(1.2 * var(--ms-rem));color:var(--ms-debug-text-color)}.ms__debug-info details summary{cursor:pointer;font-weight:600;color:var(--ms-debug-summary-color);-webkit-user-select:none;user-select:none;padding:calc(.4 * var(--ms-rem));border-radius:var(--ms-debug-summary-border-radius)}.ms__debug-info details summary:hover{background-color:var(--ms-debug-summary-bg-hover)}.ms__debug-info details summary:focus{outline:2px solid var(--ms-debug-summary-outline-color);outline-offset:2px}.ms__debug-info .ms__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:var(--ms-debug-stats-bg);border-radius:var(--ms-debug-stats-border-radius)}.ms__debug-info .ms__debug-stats span{display:flex;justify-content:space-between;padding:2px 4px;font-family:monospace;font-size:calc(1 * var(--ms-rem))}.ms__debug-info .ms__debug-stats span:before{content:"•";margin-inline-end:calc(.4 * var(--ms-rem));color:var(--ms-debug-bullet-color)}}@layer component{.ms__options{padding:var(--ms-options-padding);scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg) var(--ms-scrollbar-track-bg)}.ms__options::-webkit-scrollbar{width:var(--ms-scrollbar-width)}.ms__options::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg)}.ms__options::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg);border-radius:var(--ms-scrollbar-thumb-border-radius)}.ms__options::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover)}.ms__options--virtual .ms__option,.ms__options--fixed-height .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);margin-top:var(--ms-group-margin-top);padding-top:var(--ms-group-padding-top)}.ms__group-label{padding:var(--ms-group-label-padding);font-size:var(--ms-group-label-font-size);font-weight:var(--ms-group-label-font-weight);color:var(--ms-group-label-color);text-transform:var(--ms-group-label-transform);letter-spacing:var(--ms-group-label-letter-spacing)}.ms__option{display:flex;align-items:var(--ms-checkbox-align, center);gap:var(--ms-option-gap);padding:var(--ms-option-padding);position:relative;min-height:var(--ms-option-min-height, auto);color:var(--ms-option-text-color);background:var(--ms-option-bg);cursor:pointer;user-select:none;-webkit-user-select:none}@media (hover: hover){.ms__option:hover{background:var(--ms-option-bg-hover);color:var(--ms-option-color-hover, inherit)}}.ms__option--focused{background:var(--ms-option-bg-focused);color:var(--ms-option-color-focused, inherit);outline:var(--ms-option-outline-focused);outline-offset:var(--ms-option-focus-outline-offset)}.ms__option--matched{background:var(--ms-option-bg-matched);color:var(--ms-option-color-matched, inherit)}.ms__option--matched:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;border-inline-start:var(--ms-option-border-matched);pointer-events:none}.ms__option--selected{background:var(--ms-option-bg-selected)}@media (hover: hover){.ms__option--selected:hover{background:var(--ms-option-bg-selected-hover, var(--ms-option-bg-selected))}}.ms__option--disabled{opacity:var(--ms-disabled-opacity);cursor:not-allowed;background:var(--ms-option-disabled-bg)}.ms__option--disabled:hover{background:var(--ms-option-disabled-bg)}@media (hover: hover){.ms__option--focused:hover{background:var(--ms-option-bg-focused-hover);color:var(--ms-option-color-focused-hover, var(--ms-option-color-focused, var(--ms-option-text-color)))}}.ms__option--matched:hover{background:var(--ms-option-bg-matched-hover);color:var(--ms-option-color-matched-hover, var(--ms-option-color-matched, var(--ms-option-text-color)))}.ms__option--selected.ms__option--focused{background:var(--ms-option-bg-selected-focused);outline:var(--ms-option-outline-focused);outline-offset:var(--ms-option-focus-outline-offset)}.ms__option--selected.ms__option--matched{background:var(--ms-option-bg-selected-matched)}.ms__option--disabled.ms__option--selected{background:var(--ms-option-bg-disabled-selected)}.ms__option--disabled.ms__option--focused{outline:none}.ms__option[data-checkbox-align=top]{--ms-checkbox-align: flex-start;--ms-checkbox-margin-top: calc(.2 * var(--ms-rem))}.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);margin-inline-end:var(--ms-checkbox-margin-right);margin-bottom:var(--ms-checkbox-margin-bottom);margin-inline-start:var(--ms-checkbox-margin-left);width:var(--ms-checkbox-size);height:var(--ms-checkbox-size);transform:scale(var(--ms-checkbox-scale));transform-origin:top left;cursor:pointer;background:var(--ms-checkbox-bg);border:var(--ms-checkbox-border);border-radius:var(--ms-checkbox-border-radius);transition:background-color .15s ease,border-color .15s ease}.ms__checkbox:after{content:"";position:absolute;display:none;left:50%;top:40%;width:30%;height:55%;transform:translate(-50%,-50%) rotate(45deg);border:solid var(--ms-checkbox-checkmark-color);border-width:0 var(--ms-checkbox-checkmark-thickness, 2px) var(--ms-checkbox-checkmark-thickness, 2px) 0}.ms__checkbox:hover:not(:disabled){border-color:var(--ms-checkbox-hover-border-color)}.ms__checkbox:checked{background:var(--ms-checkbox-checked-bg);border:var(--ms-checkbox-checked-border)}.ms__checkbox:checked:after{display:block}.ms__checkbox--indeterminate{background:var(--ms-checkbox-checked-bg);border:var(--ms-checkbox-checked-border)}.ms__checkbox--indeterminate:after{display:block;top:50%;left:50%;width:55%;height:0;transform:translate(-50%,-50%);border:none;border-bottom:var(--ms-checkbox-checkmark-thickness, 2px) solid var(--ms-checkbox-checkmark-color)}.ms__checkbox--indeterminate:hover:not(:disabled){background:var(--ms-checkbox-checked-bg-hover);border-color:var(--ms-checkbox-checked-border-color-hover)}.ms__checkbox:checked:hover:not(:disabled){background:var(--ms-checkbox-checked-bg-hover);border-color:var(--ms-checkbox-checked-border-color-hover)}.ms__checkbox:focus-visible{outline:2px solid var(--ms-checkbox-checked-bg);outline-offset:2px}.ms__checkbox:disabled{cursor:not-allowed;background:var(--ms-checkbox-disabled-bg);border:var(--ms-checkbox-disabled-border);opacity:.6}.ms__checkbox:disabled:checked{background:var(--ms-checkbox-disabled-bg)}.ms__option--disabled .ms__checkbox{cursor:not-allowed}.ms__option-content{flex:1;display:flex;align-items:center;gap:var(--ms-option-content-gap);min-width:0}.ms__option-icon{flex-shrink:0;width:var(--ms-option-icon-size);height:var(--ms-option-icon-size);display:flex;align-items:center;justify-content:center;font-size:var(--ms-option-icon-font-size)}.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);color:var(--ms-option-title-color);line-height:var(--ms-line-height-relaxed);white-space:var(--ms-option-title-white-space, normal);overflow:var(--ms-option-title-overflow, visible);text-overflow:var(--ms-option-title-text-overflow, clip)}@media (hover: hover){.ms__option:hover .ms__option-title{color:var(--ms-option-title-color-hover, var(--ms-option-title-color))}}.ms__option--selected .ms__option-title{color:var(--ms-option-title-color-selected, var(--ms-option-title-color))}@media (hover: hover){.ms__option--selected:hover .ms__option-title{color:var(--ms-option-title-color-selected-hover, var(--ms-option-title-color-selected, var(--ms-option-title-color)))}}.ms__option-title mark{background:var(--ms-option-mark-bg);color:var(--ms-option-mark-color);font-weight:var(--ms-option-mark-font-weight)}.ms__option-subtitle{margin-top:var(--ms-option-subtitle-margin-top);font-size:var(--ms-option-subtitle-font-size);color:var(--ms-option-subtitle-color);line-height:var(--ms-option-subtitle-line-height)}@media (hover: hover){.ms__option:hover .ms__option-subtitle{color:var(--ms-option-subtitle-color-hover, var(--ms-option-subtitle-color))}}.ms__option--selected .ms__option-subtitle{color:var(--ms-option-subtitle-color-selected, var(--ms-option-subtitle-color))}@media (hover: hover){.ms__option--selected:hover .ms__option-subtitle{color:var(--ms-option-subtitle-color-selected-hover, var(--ms-option-subtitle-color-selected, var(--ms-option-subtitle-color)))}}.ms__empty{display:flex;align-items:center;justify-content:center;min-height:var(--ms-state-min-height);padding:var(--ms-empty-padding);text-align:center;font-size:var(--ms-empty-font-size);color:var(--ms-empty-color)}.ms__loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:var(--ms-state-min-height);padding:var(--ms-loader-padding);gap:var(--ms-loader-gap)}.ms__loading-text{font-size:var(--ms-loading-text-font-size);color:var(--ms-loading-color)}}@layer component{.ms--rtl .ms__badges{direction:rtl}.ms--rtl .ms__badges--right{margin-left:0;margin-right:var(--ms-badges-margin-right)}.ms--rtl .ms__badges--left{margin-right:0;margin-left:var(--ms-badges-margin-left)}.ms--rtl .ms__count-display{direction:rtl}.ms--rtl .ms__count-display--right{margin-left:0;margin-right:var(--ms-count-display-margin-right)}.ms--rtl .ms__count-display--left{margin-right:0;margin-left:var(--ms-count-display-margin-left)}}@layer component{.ms__option--tree{padding-inline-start:calc(var(--ms-tree-base-indent, .75rem) + var(--ms-tree-depth, 0) * var(--ms-tree-indent, 1.25rem))}.ms__option--tree-unselectable{cursor:default}.ms__option--tree-unselectable:hover{background:transparent}}@layer overrides{:host-context([data-theme="dark"]),:host-context([data-bs-theme="dark"]),:host-context(.dark){color-scheme:dark}:host-context([data-theme="light"]),:host-context([data-bs-theme="light"]),:host-context(.light){color-scheme:light}:host([data-theme="dark"]){color-scheme:dark}:host([data-theme="light"]){color-scheme:light}}`,qs=["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"],N=()=>bo(),Lr=[{configKey:"searchHint",attribute:"search-hint",converter:L({isNullable:!0}),on:"update",description:"Small hint text shown beneath the search input."},{configKey:"searchPlaceholder",attribute:"search-placeholder",converter:L({isNullable:!0}),on:"update",description:'Placeholder text for the search input. When unset it defaults to "Search..."; if `show-search-mode-toggle` is on, the default instead becomes mode-aware ("Search…" in navigate, "Filter…" in filter). An explicit value always wins and stays fixed.'},{configKey:"selectPlaceholder",attribute:"select-placeholder",converter:L({default:"Pick an option..."}),on:"update",description:"Placeholder shown on the control when nothing is selected."},{configKey:"noDataPlaceholder",attribute:"no-data-placeholder",converter:L({isNullable:!0}),on:"update",description:"Text shown when there are no options at all."},{configKey:"dropdownMinWidth",attribute:"dropdown-min-width",converter:L({isNullable:!0}),on:"update",description:"Minimum width of the dropdown panel (any CSS length)."},{configKey:"dropdownMaxWidth",attribute:"dropdown-max-width",converter:L({isNullable:!0}),on:"update",description:"Maximum width of the dropdown panel (any CSS length)."},{configKey:"maxHeight",attribute:"max-height",converter:L({default:"20rem"}),on:"update",description:"Maximum height of the dropdown list before it scrolls."},{configKey:"emptyMessage",attribute:"empty-message",converter:L({default:"No results found"}),on:"update",description:"Message shown when a search yields no matches."},{configKey:"loadingMessage",attribute:"loading-message",converter:L({default:"Loading..."}),on:"update",description:"Message shown while options are loading."},{configKey:"removeButtonTooltipText",attribute:"remove-button-tooltip-text",converter:L({isNullable:!0}),on:"update",description:"Tooltip text for a badge remove (×) button."},{configKey:"formFieldId",attribute:"name",converter:L({isNullable:!0}),on:"reinit",description:"HTML form field name/id used for the hidden input(s)."},{configKey:"dropdownWidth",attribute:"dropdown-width",converter:L({isNullable:!0}),on:"update",description:"Fixed dropdown width; mirrored to the `--ms-dropdown-width` CSS variable."},{configKey:"selectedPopoverWidth",attribute:"selected-popover-width",converter:L({isNullable:!0}),on:"update",description:"Selected-items popover width; mirrored to `--ms-selected-popover-width`."},{configKey:"valueMember",attribute:"value-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name on an option object that holds its value."},{configKey:"displayValueMember",attribute:"display-value-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name that holds an option display label."},{configKey:"searchValueMember",attribute:"search-value-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name searched against (falls back to the display value)."},{configKey:"iconMember",attribute:"icon-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name that holds an option icon."},{configKey:"subtitleMember",attribute:"subtitle-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name that holds an option subtitle."},{configKey:"fullTitleMember",attribute:"full-title-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name that holds an option full/long title."},{configKey:"groupMember",attribute:"group-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name used to group options under headers."},{configKey:"disabledMember",attribute:"disabled-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name that marks an option disabled."},{configKey:"pathMember",attribute:"path-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name holding a node materialized tree path."},{configKey:"parentPathMember",attribute:"parent-path-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name holding a node parent path."},{configKey:"levelMember",attribute:"level-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name holding a node depth level."},{configKey:"hasChildrenMember",attribute:"has-children-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name flagging that a node has children."},{configKey:"isSelectableMember",attribute:"is-selectable-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name marking whether a node can be selected."},{configKey:"treePathSeparator",attribute:"tree-path-separator",converter:L({default:"."}),reflect:!0,on:"reinit",description:"Separator between segments in a materialized tree path."},{configKey:"isTreeEnabled",converter:F("tristate"),on:"reinit",type:"boolean",description:"Force tree mode on/off. Property-only; when unset (null) tree mode auto-enables if a path source (path-member / getPathCallback) is present."},{configKey:"checkboxMode",attribute:"checkbox-mode",converter:k(["independent","cascade"],{default:"independent"}),reflect:!0,on:"update",description:"Tree checkbox interaction.\n- `independent` (default) — toggles only the clicked node.\n- `cascade` — checks a node whole subtree and shows a tristate (checked / indeterminate / unchecked) box on branches.\n\nTree + multiple only."},{configKey:"cascadeSelectPolicy",attribute:"cascade-select-policy",converter:k(["rolled-up","leaves","all"],{default:"rolled-up"}),reflect:!0,on:"update",description:"In `cascade` mode, which values a selection emits (badges / form / change):\n- `rolled-up` (default) — minimal cover: a fully-selected subtree collapses to its root; partially-selected branches emit their individually-checked descendants.\n- `leaves` — only the checked leaf-level nodes.\n- `all` — every fully-checked node (branches and leaves)."},{configKey:"badgesDisplayMode",attribute:"badges-display-mode",converter:k(["badges","count","compact","partial","none"],{default:"badges"}),on:"reinit",description:"How the current selection is shown in the control."},{configKey:"badgesPosition",attribute:"badges-position",converter:k(["top","bottom","left","right"],{default:"bottom"}),on:"reinit",description:"Where the badges/selection appear relative to the input."},{configKey:"badgesThresholdMode",attribute:"badges-threshold-mode",converter:k(["count","partial"],{default:"count"}),on:"update",description:'How `badgesThreshold` is interpreted: collapse to a count badge, or keep partial badges + a "more" badge.'},{configKey:"searchInputMode",attribute:"search-input-mode",converter:k(["normal","readonly","hidden"],{default:"normal"}),on:"reinit",description:"Search field mode: editable, read-only, or hidden."},{configKey:"searchMode",attribute:"search-mode",converter:k(["filter","navigate"],{default:"filter"}),on:"reinit",description:"Whether typing filters the list or navigates it."},{configKey:"actionsLayout",attribute:"actions-layout",converter:k(["nowrap","wrap"],{default:"nowrap"}),on:"reinit",description:"Whether the action bar wraps or stays on one line."},{configKey:"actionsPosition",attribute:"actions-position",converter:k(["top","bottom"],{default:"top"}),on:"reinit",description:"Whether the action bar sits above or below the list."},{configKey:"actionsAlign",attribute:"actions-align",converter:k(["stretch","left","right","center","space-between"],{default:"stretch"}),on:"update",description:"Horizontal alignment of the action buttons."},{configKey:"checkboxAlign",attribute:"checkbox-align",converter:k(["top","center","bottom"],{default:"center"}),on:"update",description:"Vertical alignment of an option checkbox."},{configKey:"valueFormat",attribute:"value-format",converter:k(["json","csv","array"],{default:"json"}),on:"reinit",description:"Serialization format the control emits its value in."},{configKey:"badgeTooltipPlacement",attribute:"badge-tooltip-placement",converter:k(qs,{default:"top"}),on:"update",description:"Preferred placement of a badge tooltip relative to its badge (floating-ui placement)."},{configKey:"optionTooltipPlacement",attribute:"option-tooltip-placement",converter:k(qs,{default:"top-start"}),on:"update",description:"Preferred placement of an option tooltip (floating-ui placement)."},{configKey:"mobilePresentation",attribute:"mobile-presentation",converter:k(["auto","floating","fullscreen"],{default:"auto"}),reflect:!0,on:"update",description:"How the open dropdown is presented on phones. `auto` (default) keeps the floating panel on desktop/tablet and switches to a full-screen overlay on phone-sized touch devices (touch primary + shorter viewport side < 600px, orientation-robust); `floating` forces the anchored panel everywhere; `fullscreen` forces the full-screen overlay on any device (handy for previews/testing). Resolved reactively from the device/viewport environment."},{configKey:"fullscreenAutofocus",attribute:"fullscreen-autofocus",converter:F("default-false"),on:"update",description:"In the phone fullscreen overlay, auto-focus the search field on open (pops the soft keyboard immediately). Default `false`: the sheet opens with the list visible and the keyboard closed, appearing only when the user taps the search. Set `true` to type-to-filter right away. No effect in the floating presentation."},{configKey:"badgesThreshold",attribute:"badges-threshold",converter:z(),on:"update",description:"Threshold at which badges collapse to a count/compact view."},{configKey:"badgesMaxVisible",attribute:"badges-max-visible",converter:z(),on:"update",description:"Maximum number of badges rendered before overflow."},{configKey:"minSearchLength",attribute:"min-search-length",converter:z({default:0}),on:"update",description:"Minimum characters before searching/filtering starts."},{configKey:"searchDebounce",attribute:"search-debounce",converter:z({default:0}),on:"update",description:"Debounce delay in ms applied to the search input."},{configKey:"virtualScrollThreshold",attribute:"virtual-scroll-threshold",converter:z({default:100}),on:"reinit",description:"Option count above which virtual scrolling turns on."},{configKey:"optionHeight",attribute:"option-height",converter:z({default:50}),on:"update",description:"Fixed row height in px used by virtual scrolling."},{configKey:"badgeHeight",attribute:"badge-height",converter:z({default:36}),on:"update",description:"Fixed badge height in px used for layout/virtualization."},{configKey:"virtualScrollBuffer",attribute:"virtual-scroll-buffer",converter:z({default:10}),on:"update",description:"Extra rows rendered above/below the viewport when virtualizing."},{configKey:"badgeTooltipDelay",attribute:"badge-tooltip-delay",converter:z({default:100}),on:"update",description:"Delay in ms before a badge tooltip appears."},{configKey:"badgeTooltipOffset",attribute:"badge-tooltip-offset",converter:z({default:8}),on:"update",description:"Gap in px between a badge and its tooltip."},{configKey:"optionTooltipDelay",attribute:"option-tooltip-delay",converter:z(),on:"update",description:"Delay in ms before an option tooltip appears (falls back to badgeTooltipDelay)."},{configKey:"optionTooltipOffset",attribute:"option-tooltip-offset",converter:z(),on:"update",description:"Gap in px between an option and its tooltip."},{configKey:"isMultipleEnabled",attribute:"multiple",converter:F("default-true"),on:"reinit",description:"Allow selecting multiple options. When off, selecting one replaces the previous."},{configKey:"isGroupsAllowed",attribute:"allow-groups",converter:F("default-true"),on:"reinit",description:"Allow grouping options under group headers."},{configKey:"isCheckboxesShown",attribute:"show-checkboxes",converter:F("default-true"),on:"reinit",description:"Show a checkbox on each option."},{configKey:"isActionsSticky",attribute:"sticky-actions",converter:F("default-true"),on:"update",description:"Keep the action bar pinned while the list scrolls."},{configKey:"isPlacementLocked",attribute:"lock-placement",converter:F("default-true"),on:"update",description:"Keep the dropdown initial placement instead of flipping when it fits."},{configKey:"isSearchEnabled",attribute:"enable-search",converter:F("default-true"),on:"reinit",description:"Show the search input."},{configKey:"isKeepOptionsOnSearch",attribute:"keep-options-on-search",converter:F("default-true"),on:"update",description:"Keep already-selected options visible while filtering."},{configKey:"shouldKeepSearchOnClose",attribute:"should-keep-search-on-close",converter:F("default-true"),on:"update",description:"Preserve the search text after the dropdown closes."},{configKey:"isCloseOnSelect",attribute:"close-on-select",converter:F("default-false"),on:"update",description:"Close the dropdown immediately after a selection."},{configKey:"isAddNewAllowed",attribute:"allow-add-new",converter:F("default-false"),on:"reinit",description:"Allow adding a new option from the search text."},{configKey:"isCounterShown",attribute:"show-counter",converter:F("default-false"),on:"update",description:"Show a selected-count indicator."},{configKey:"isBadgeFullTitleShown",attribute:"show-badge-full-title",converter:F("default-false"),on:"update",description:"Show the full title on badges instead of the short label."},{configKey:"isVirtualScrollEnabled",attribute:"enable-virtual-scroll",converter:F("default-false"),on:"reinit",description:"Force virtual scrolling on regardless of the threshold."},{configKey:"isBadgeTooltipsEnabled",attribute:"enable-badge-tooltips",converter:F("default-false"),on:"update",description:"Enable tooltips on badges."},{configKey:"isOptionTooltipsEnabled",attribute:"enable-option-tooltips",converter:F("default-false"),on:"update",description:"Enable tooltips on options."},{configKey:"isOptionTooltipFollowCursor",attribute:"option-tooltip-follow-cursor",converter:F("default-false"),on:"update",description:"Make option tooltips follow the pointer."},{configKey:"isSearchModeToggleShown",attribute:"show-search-mode-toggle",converter:F("default-false"),on:"update",description:"Show a clickable toggle in the phone fullscreen overlay search header that flips `search-mode` between `filter` and `navigate` live. Fullscreen-only; no effect in the floating presentation or when search is disabled."},{configKey:"initialValues",attribute:"initial-values",converter:Tr(),default:[],on:"reinit",type:"Array<string | number>",description:'Values selected on first render. Accepts a JSON array (`["a","b"]`) or a bare CSV (`a,b,c`).'},{configKey:"showDebugInfo",attribute:"show-debug-info",converter:F("default-false"),on:"update",description:"Render an in-component debug panel.",deprecated:"Use per-instance logging (el.enableLogging()) instead."},{configKey:"options",converter:go(),on:"reinit",type:"ReadonlyArray<Record<string, unknown>>",description:"The array of option objects to render. The JS API — assign `el.options` directly. For HTML authoring use the `data-options` attribute (parsed per `data-options-format`) or declarative <option> children; both feed the same list and take precedence over this property in the order: <option> children > property > data-options."},{configKey:"optionsSource",attribute:"data-options",converter:L({isNullable:!0}),on:"reinit",type:"string",description:"HTML-authoring source for the option list, parsed per `data-options-format`. Reactive: changing either attribute re-renders. Prefer the `options` property in JS; a set `options` property and declarative <option> children both win over this."},{configKey:"optionsFormat",attribute:"data-options-format",converter:k(Fs,{default:"json"}),on:"reinit",type:"'json' | 'csv' | 'plain'",description:"How to parse the `data-options` attribute: `json` (a JSON array of objects or [value, label] tuples), `csv` (rows split on `data-options-row-splitter`, cells on `data-options-splitter`; the first row is a header — map columns via *-member), or `plain` (bare values split on both splitters -> [value, label] tuples, value === label). Default `json`."},{configKey:"optionsSplitter",attribute:"data-options-splitter",converter:L({default:","}),on:"reinit",type:"string",description:'Field/cell delimiter for the `csv` and `plain` `data-options` formats. Default `,`. Escapes `\\t` `\\n` `\\r` are honoured (e.g. `data-options-splitter="\\t"` for TSV). Ignored for `json`.'},{configKey:"optionsRowSplitter",attribute:"data-options-row-splitter",converter:L({default:`
41
- `}),on:"reinit",type:"string",description:'Row/record delimiter for the `csv` and `plain` `data-options` formats. Default newline. Escapes honoured (e.g. `data-options-row-splitter=";"` for single-line data). Ignored for `json`.'},{configKey:"actionButtons",converter:fo({validate:s=>Array.isArray(s)}),on:"reinit",type:"Array<Record<string, unknown>>",description:"Custom action buttons for the dropdown footer/header. Property-only; when unset the default Select-All / Clear buttons apply."},{configKey:"getValueCallback",converter:N(),on:"reinit",type:"(item: unknown) => string | number",description:"Extract an option value (overrides valueMember)."},{configKey:"getPathCallback",converter:N(),on:"reinit",type:"(item: unknown) => string",description:"Extract a node tree path (enables tree mode; overrides pathMember)."},{configKey:"getGroupCallback",converter:N(),on:"reinit",type:"(item: unknown) => string",description:"Extract the group name from an option (overrides groupMember)."},{configKey:"getDisabledCallback",converter:N(),on:"reinit",type:"(item: unknown) => boolean",description:"Whether an option is disabled (overrides disabledMember)."},{configKey:"getIsSelectableCallback",converter:N(),on:"reinit",type:"(node: unknown) => boolean",description:"Whether a tree node can be selected (overrides is-selectable-member)."},{configKey:"getSearchValueCallback",converter:N(),on:"reinit",type:"(item: unknown) => string",description:"Text an option is searched against (overrides searchValueMember)."},{configKey:"searchCallback",converter:N(),on:"reinit",type:"(searchTerm: string, signal?: AbortSignal) => Promise<unknown[]>",description:"Custom / async search; return the filtered options."},{configKey:"getDisplayValueCallback",converter:N(),on:"update",type:"(item: unknown) => string",description:"Compute the display label for an option (overrides displayValueMember)."},{configKey:"getBadgeDisplayCallback",converter:N(),on:"update",type:"(item: unknown) => string",description:"Compute the text shown on an option badge."},{configKey:"getBadgeClassCallback",converter:N(),on:"update",type:"(item: unknown) => string | string[]",description:"Extra CSS class(es) for an option badge."},{configKey:"getIconCallback",converter:N(),on:"update",type:"(item: unknown) => string",description:"Icon for an option (overrides iconMember)."},{configKey:"getSubtitleCallback",converter:N(),on:"update",type:"(item: unknown) => string",description:"Subtitle for an option (overrides subtitleMember)."},{configKey:"getFullTitleCallback",converter:N(),on:"update",type:"(item: unknown) => string",description:"Full title for an option (used by badges when show-badge-full-title is on)."},{configKey:"getCounterCallback",converter:N(),on:"update",type:"(count: number, moreCount?: number) => string",description:"Render the selected-count label."},{configKey:"getValueFormatCallback",converter:N(),on:"update",type:"(selectedValues: (string | number)[]) => string",description:"Serialize the selected values for form submission."},{configKey:"getBadgeTooltipCallback",converter:N(),on:"update",type:"(item: unknown) => string | HTMLElement",description:"Tooltip content for an option badge."},{configKey:"getOptionTooltipCallback",converter:N(),on:"update",type:"(item: unknown) => string | HTMLElement",description:"Tooltip content for an option row."},{configKey:"getRemoveButtonTooltipCallback",converter:N(),on:"update",type:"(item: unknown) => string",description:"Tooltip text for a badge remove button."},{configKey:"getSelectedItemClassCallback",converter:N(),on:"update",type:"(item: unknown) => string | string[]",description:"Extra CSS class(es) for a selected item."},{configKey:"renderOptionContentCallback",converter:N(),on:"update",type:"(item: unknown, context: OptionContentRenderContext) => string | HTMLElement",description:"Custom render for an option row; may return HTML or an element."},{configKey:"renderBadgeContentCallback",converter:N(),on:"update",type:"(item: unknown, context: BadgeContentRenderContext) => string | HTMLElement",description:"Custom render for a badge; may return HTML or an element."},{configKey:"renderGroupLabelContentCallback",converter:N(),on:"update",type:"(groupName: string) => string | HTMLElement",description:"Customize a group label; may return an HTML string or element."},{configKey:"renderSelectedContentCallback",converter:N(),on:"update",type:"(item: unknown) => string",description:"Custom render for the whole selected area."},{configKey:"renderSelectedItemContentCallback",converter:N(),on:"update",type:"(item: unknown) => string | HTMLElement",description:"Custom render for one selected item."},{configKey:"customStylesCallback",converter:N(),on:"update",type:"() => string",description:"Returns a CSS string injected into the component via a replaceable style slot (§12.8)."},{configKey:"beforeSearchCallback",converter:N(),on:"update",type:"(searchTerm: string) => string | null",description:"Runs before a search; return a rewritten term or null to veto."},{configKey:"beforeSelectCallback",converter:N(),on:"update",type:"(option: unknown, selectedOptions: unknown[]) => boolean | string | void",description:"Runs before selecting; return false to veto, or a string to veto and show it as a message."},{configKey:"beforeDeselectCallback",converter:N(),on:"update",type:"(option: unknown, selectedOptions: unknown[]) => boolean | string | void",description:"Runs before deselecting; return false to veto, or a string to veto and show it as a message."},{configKey:"addNewCallback",converter:N(),on:"update",type:"(value: string) => unknown | Promise<unknown>",description:"Create a new option from the typed text."},{configKey:"keydownCallback",converter:N(),on:"update",type:"(context: MultiSelectKeydownContext) => boolean | void",description:"Intercept keydown before built-in handling; return true to suppress the default. Gets the event, current state, and an imperative controller."}],Er=[{name:"select",description:"An option was selected. `detail.option` is the selected option; `detail.selectedOptions`/`detail.selectedValues` are the full selection."},{name:"deselect",description:"An option was removed from the selection. `detail.option` is that option."},{name:"change",description:"The selection changed. `detail.selectedOptions`/`detail.selectedValues` are the full selection."}],Ys=new Set(["dropdownWidth","selectedPopoverWidth","showDebugInfo","initialValues","optionsSource","optionsFormat","optionsSplitter","optionsRowSplitter","mobilePresentation"]),_t={dropdownWidth:"--ms-dropdown-width",selectedPopoverWidth:"--ms-selected-popover-width"};let Ar=null;function zr(){return Ar??(Ar=Qo(Xs,"--ms-"))}const Nr=[{key:"valueMember",member:"value",callbackKey:"getValueCallback"},{key:"displayValueMember",member:"label",callbackKey:"getDisplayValueCallback"},{key:"groupMember",member:"group",callbackKey:"getGroupCallback"},{key:"iconMember",member:"icon",callbackKey:"getIconCallback"},{key:"subtitleMember",member:"subtitle",callbackKey:"getSubtitleCallback"},{key:"disabledMember",member:"disabled",callbackKey:"getDisabledCallback"}];class Ae extends Et{constructor(){super();$(this,_);$(this,J);$(this,V);$(this,fe);$(this,tt,null);$(this,st,new Set);$(this,ot,!1);$(this,Re,!1);$(this,He);$(this,Oe);R(this,J,this.attachShadow({mode:"open"})),Yo(p(this,J),Xs),typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>this.setAttribute("data-ready","")):this.setAttribute("data-ready","")}formResetCallback(){var t;(t=p(this,V))==null||t.clearAll()}directionChanged(t){var o;(o=p(this,V))==null||o.refreshDirection()}reinit(){x(this,_,lo).call(this),this.isConnected&&x(this,_,Jt).call(this)}update(t){x(this,_,co).call(this,t),"customStylesCallback"in t&&x(this,_,Zt).call(this),"showDebugInfo"in t&&x(this,_,ts).call(this);const o={};for(const[i,r]of Object.entries(t))Ys.has(i)||(o[i]=r===null?void 0:r);p(this,V)&&Object.keys(o).length>0&&(p(this,V).updateOptions(o)||x(this,_,Jt).call(this)),"mobilePresentation"in t&&x(this,_,St).call(this,Lt())}connect(){p(this,V)||x(this,_,Qt).call(this)}disconnect(){var t;(t=p(this,V))==null||t.destroy(),R(this,V,void 0)}environmentChanged(t){x(this,_,St).call(this,t)}get name(){return this.getAttribute("name")}set name(t){t?this.setAttribute("name",t):this.removeAttribute("name")}get selectedValue(){var t;return this.flush(),((t=p(this,V))==null?void 0:t.selectedValue)??null}get selectedItem(){var t;return this.flush(),((t=p(this,V))==null?void 0:t.selectedItem)??null}getSelected(){return this.flush(),p(this,V)?p(this,V).getSelected():[]}setSelected(t,o={}){var i;this.flush(),(i=p(this,V))==null||i.setSelected(t,o)}getValue(){return this.flush(),p(this,V)?p(this,V).getValue():null}showMessage(t,o){var i;this.flush(),(i=p(this,V))==null||i.showMessage(t,o)}hideMessage(){var t;(t=p(this,V))==null||t.hideMessage()}destroy(){var t;(t=p(this,V))==null||t.destroy()}}J=new WeakMap,V=new WeakMap,fe=new WeakMap,tt=new WeakMap,st=new WeakMap,ot=new WeakMap,Re=new WeakMap,He=new WeakMap,Oe=new WeakMap,_=new WeakSet,St=function(t){var r;const o=this.config.mobilePresentation??"auto",i=oi(o,t);(r=p(this,V))==null||r.setPresentation(i==="modal"?"fullscreen":i)},Jt=function(){var t;(t=p(this,V))==null||t.destroy(),R(this,V,void 0),x(this,_,Qt).call(this)},Qt=function(){x(this,_,io).call(this),x(this,_,ho).call(this);const t=x(this,_,ro).call(this),o=x(this,_,no).call(this);o&&o.length>0?p(this,fe).dataset.initialValues=JSON.stringify(o):delete p(this,fe).dataset.initialValues,R(this,V,new Ks(p(this,fe),t)),x(this,_,Zt).call(this),x(this,_,ts).call(this),x(this,_,St).call(this,Lt())},io=function(){if(p(this,fe))return;const t=document.createElement("div");t.setAttribute("data-multiselect",""),this.className&&(t.className=this.className),p(this,J).appendChild(t),R(this,tt,Jo(p(this,J),{position:"first",className:"ms-custom-styles"})),R(this,fe,t)},ro=function(){const t={...this.config};for(const i of Ys)delete t[i];for(const i of Object.keys(t))t[i]===null&&delete t[i];let o=t.options;if(p(this,Re)&&p(this,He))o&&o.length>0&&j.warn("[MultiSelectElement] Both declarative <option> elements and programmatic .options detected. Using declarative options."),o=p(this,He);else if(!o||o.length===0){const i=this.config.optionsSource;if(i!=null){const r=this.config.optionsFormat??"json",{options:n,error:a}=Us(i,r,{splitter:this.config.optionsSplitter,rowSplitter:this.config.optionsRowSplitter});a&&j.error(`[MultiSelectElement] ${a}`),o=n}}if(t.options=o,p(this,Re))for(const{key:i,member:r,callbackKey:n}of Nr)t[i]===void 0&&!t[n]&&(t[i]=r);return t.getCounterCallback||(t.getCounterCallback=(i,r)=>r!==void 0?`+${r} more`:`${i} selected`),t.onSelect=i=>{var r;this.emit("select",{option:i,selectedOptions:((r=p(this,V))==null?void 0:r.getSelected())??[],selectedValues:x(this,_,Tt).call(this)})},t.onDeselect=i=>{var r;this.emit("deselect",{option:i,selectedOptions:((r=p(this,V))==null?void 0:r.getSelected())??[],selectedValues:x(this,_,Tt).call(this)})},t.onChange=i=>{this.emit("change",{selectedOptions:i,selectedValues:x(this,_,Tt).call(this)})},t.container=p(this,J),t.hostElement=this,t},no=function(){if(p(this,Oe)&&p(this,Oe).length>0)return p(this,Oe);const t=this.config.initialValues;return t&&t.length>0?t:void 0},Tt=function(){var o;const t=(o=p(this,V))==null?void 0:o.getValue();return t==null?[]:Array.isArray(t)?t:[t]},Zt=function(){const t=p(this,tt);if(!t)return;const o=this.config.customStylesCallback;if(typeof o!="function"){t.clear();return}try{const i=o();t.set(i),i&&x(this,_,ao).call(this,i)}catch(i){j.warn("[MultiSelectElement] customStylesCallback threw",i),t.clear()}},ao=function(t){const o=zr();if(o.size!==0)for(const{name:i,suggestions:r}of ti(t,{prefix:"--ms-",consumed:o}))p(this,st).has(i)||(p(this,st).add(i),console.warn(`[web-multiselect] customStylesCallback sets "${i}", which no web-multiselect style consumes — it will have no effect.`+(r.length?` Did you mean: ${r.join(", ")}?`:"")+" (If it's for your own custom-rendered content, ignore this.)"))},lo=function(){for(const t of Object.keys(_t))x(this,_,es).call(this,_t[t],this.config[t])},co=function(t){for(const o of Object.keys(_t))o in t&&x(this,_,es).call(this,_t[o],t[o])},es=function(t,o){o==null||o===""?this.style.removeProperty(t):this.style.setProperty(t,String(o))},ho=function(){if(p(this,ot))return;R(this,ot,!0);const t=x(this,_,uo).call(this);t&&(R(this,He,t),R(this,Re,!0))},uo=function(){const t=Array.from(this.children);if(t.length===0)return null;const o=[];let i=!1;const r=(n,a)=>{var c,d;const l={value:n.value||((c=n.textContent)==null?void 0:c.trim())||"",label:((d=n.textContent)==null?void 0:d.trim())||n.value||""};a&&(l.group=a),n.hasAttribute("selected")&&(p(this,Oe)??R(this,Oe,[])).push(l.value),n.hasAttribute("disabled")&&(l.disabled=!0),n.hasAttribute("data-icon")&&(l.icon=n.getAttribute("data-icon")),n.hasAttribute("data-subtitle")&&(l.subtitle=n.getAttribute("data-subtitle")),o.push(l),i=!0};for(const n of t)if(n.tagName==="OPTION")r(n);else if(n.tagName==="OPTGROUP"){const a=n,l=a.label||a.getAttribute("label")||"Group";for(const c of Array.from(a.querySelectorAll("option")))r(c,l)}if(!i)return null;j.debug(`[MultiSelectElement] Parsed ${o.length} declarative options from Light DOM`);for(const n of t)(n.tagName==="OPTION"||n.tagName==="OPTGROUP")&&n.remove();return o},ts=function(){const t=p(this,J).querySelector(".ms__debug-info");if(t&&t.remove(),!this.config.showDebugInfo)return;const o=document.createElement("div");o.className="ms__debug-info";const i=document.createElement("details"),r=document.createElement("summary");r.textContent="Debug Info";const n=document.createElement("div");n.className="ms__debug-stats",i.appendChild(r),i.appendChild(n),o.appendChild(i),p(this,J).appendChild(o),x(this,_,ss).call(this)},ss=function(){var l,c,d,h;const t=p(this,J).querySelector(".ms__debug-stats");if(!t||!p(this,V))return;const o="2.0.0-rc08",i=typeof window<"u"&&((c=(l=window.components)==null?void 0:l["web-multiselect"])==null?void 0:c.getInstances().length)||0,r=p(this,V).getSelected().length,n=((d=this.config.options)==null?void 0:d.length)||0,a=p(this,V);t.innerHTML=`
40
+ `:e==="\\t"?" ":e==="\\r"?"\r":"\\")}function Or(s){let e;try{e=JSON.parse(s)}catch(t){return{options:[],error:`data-options is not valid JSON: ${t.message}`}}return Array.isArray(e)?{options:e}:{options:[],error:"data-options JSON must be an array"}}function Ir(s,e,t){return{options:s.split(t).flatMap(i=>i.split(e)).map(i=>i.trim()).filter(i=>i.length>0).map(i=>[i,i])}}function Pr(s,e,t){const o=Mr(s,e,t).filter(n=>!(n.length===1&&n[0].trim()===""));if(o.length<2)return{options:[],error:"data-options CSV needs a header row and at least one data row"};const i=o[0].map(n=>n.trim());return{options:o.slice(1).map(n=>{const a={};return i.forEach((l,c)=>{a[l]=(n[c]??"").trim()}),a})}}function Mr(s,e,t){const o=[];let i=[],r="",n=!1;for(let a=0;a<s.length;){const l=s[a];if(n){l==='"'?s[a+1]==='"'?(r+='"',a+=2):(n=!1,a+=1):(r+=l,a+=1);continue}l==='"'?(n=!0,a+=1):s.startsWith(e,a)?(i.push(r),r="",a+=e.length):s.startsWith(t,a)?(i.push(r),o.push(i),i=[],r="",a+=t.length):(l==="\r"||(r+=l),a+=1)}return i.push(r),o.push(i),o}const Xs=`@layer variables,component,overrides;@layer variables{:host{display:block;--ms-rem: 10px;font-family:var(--ms-font-family, var(--base-font-family, inherit));--ms-accent-color: var(--base-accent-color, #3b82f6);--ms-accent-color-hover: var(--base-accent-color-hover, #2563eb);--ms-accent-color-active: var(--base-accent-color-active, #1d4ed8);--ms-accent-color-light: var(--base-accent-color-light, light-dark(#eff6ff, #1e3a5f));--ms-accent-color-light-hover: var(--base-accent-color-light-hover, light-dark(#e0f2fe, #264a73));--ms-text-color-1: var(--base-text-color-1, light-dark(#111827, #f5f5f5));--ms-text-color-2: var(--base-text-color-2, light-dark(#353b47, #d4d4d4));--ms-text-color-3: var(--base-text-color-3, light-dark(#6b7280, #a3a3a3));--ms-text-color-4: var(--base-text-color-4, light-dark(#a0a3a9, #737373));--ms-text-color-on-accent: var(--base-text-color-on-accent, #ffffff);--ms-text-primary: var(--ms-text-color-1);--ms-text-secondary: var(--ms-text-color-3);--ms-primary-bg: var(--base-hover-bg, color-mix(in srgb, var(--ms-text-color-1) 8%, var(--base-main-bg, light-dark(#ffffff, #1a1a1a))));--ms-primary-bg-hover: var(--base-active-bg, color-mix(in srgb, var(--ms-text-color-1) 14%, var(--base-main-bg, light-dark(#ffffff, #1a1a1a))));--ms-border-color: var(--base-border-color, light-dark(#cbd5e1, #52525b));--ms-border: var(--base-border, 1px solid var(--ms-border-color));--ms-input-bg: var(--base-input-bg, light-dark(#ffffff, #1a1a1a));--ms-input-color: var(--base-input-color, var(--ms-text-color-1));--ms-input-border: var(--base-input-border, 1px solid var(--ms-border-color));--ms-input-border-hover: var(--base-input-border-hover, 1px solid var(--ms-accent-color));--ms-input-border-focus: var(--base-input-border-focus, 1px solid var(--ms-accent-color));--ms-input-placeholder-color: var(--base-input-placeholder-color, var(--ms-text-color-4));--ms-input-bg-disabled: var(--base-input-bg-disabled, rgba(107, 114, 128, .05));--ms-toggle-icon-color: var(--ms-text-color-3);--ms-toggle-icon-color-open: var(--ms-text-color-3);--ms-counter-badge-bg: var(--ms-accent-color);--ms-counter-badge-bg-hover: var(--ms-accent-color-hover);--ms-counter-badge-color: var(--ms-text-color-on-accent);--ms-hint-bg: var(--base-main-bg, light-dark(#ffffff, #1a1a1a));--ms-hint-color: var(--ms-text-color-4);--ms-hint-border-color: var(--ms-border-color);--ms-dropdown-bg: var(--base-dropdown-bg, var(--base-elevated-bg, light-dark(#ffffff, #1a1a1a)));--ms-dropdown-text-color: var(--ms-text-color-1);--ms-dropdown-border-color: var(--ms-border-color);--ms-dropdown-box-shadow-semantic: var(--base-dropdown-box-shadow, 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1));--ms-actions-bg: var(--base-main-bg, light-dark(#ffffff, #1a1a1a));--ms-actions-border-color: var(--ms-border-color);--ms-action-button-bg: transparent;--ms-action-button-bg-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-color-1);--ms-group-border-color: var(--ms-border-color);--ms-option-text-color: var(--ms-text-color-1);--ms-option-bg: transparent;--ms-option-bg-hover: var(--ms-primary-bg);--ms-option-color-hover: inherit;--ms-option-bg-focused: var(--ms-primary-bg);--ms-option-color-focused: inherit;--ms-option-outline-color-focused: var(--ms-accent-color);--ms-option-bg-selected: color-mix(in srgb, var(--ms-accent-color) 10%, transparent);--ms-option-bg-matched: color-mix(in srgb, var(--ms-accent-color) 8%, transparent);--ms-option-color-matched: inherit;--ms-option-border-matched-color: color-mix(in srgb, var(--ms-accent-color) 40%, transparent);--ms-option-title-color: var(--ms-text-color-1);--ms-option-subtitle-color: var(--ms-text-color-3);--ms-option-mark-bg: color-mix(in srgb, var(--ms-accent-color) 20%, transparent);--ms-option-mark-color: inherit;--ms-loading-color: var(--ms-text-color-3);--ms-badge-bg: var(--ms-accent-color-light);--ms-badge-bg-hover: var(--base-hover-bg, var(--ms-accent-color-light-hover));--ms-badge-bg-active: var(--ms-accent-color-light-hover);--ms-badge-text-bg-hover: var(--base-hover-bg, var(--ms-accent-color-light-hover));--ms-badge-text-color-hover: var(--ms-badge-text-color);--ms-badge-counter-border-color: var(--ms-border-color);--ms-badge-counter-text-bg: var(--ms-primary-bg-hover);--ms-badge-counter-text-color: var(--ms-text-color-1);--ms-badge-counter-remove-bg: var(--ms-text-color-3);--ms-badge-counter-remove-bg-hover: var(--ms-text-color-1);--ms-badge-counter-remove-color: var(--ms-text-color-on-accent);--ms-counter-wrapper-border-color: var(--ms-border-color);--ms-count-clear-bg-hover: var(--ms-accent-color);--ms-tooltip-bg: var(--base-tooltip-bg, var(--base-inverse-bg, light-dark(#333333, #f5f5f5)));--ms-tooltip-text-color: var(--base-tooltip-text-color, light-dark(#ffffff, #1a1a1a));--ms-selected-popover-bg: var(--base-dropdown-bg, var(--base-elevated-bg, light-dark(#ffffff, #1a1a1a)));--ms-selected-popover-border-color: var(--ms-border-color);--ms-selected-popover-header-border-color: var(--ms-border-color);--ms-selected-popover-close-bg-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-padding-h: calc(1.2 * var(--ms-rem));--ms-input-height: calc(var(--base-input-size-md-height, 3.5) * var(--ms-rem));--ms-input-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-input-border-width: 1px;--ms-input-border-radius: var(--ms-border-radius-md);--ms-input-text: var(--ms-text-color-1);--ms-input-bg-disabled: rgba(107, 114, 128, .05);--ms-toggle-right: calc(1.2 * var(--ms-rem));--ms-toggle-color: var(--ms-text-color-3);--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: var(--ms-accent-color);--ms-counter-color: var(--ms-text-color-on-accent);--ms-counter-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-counter-font-weight: var(--base-font-weight-semibold, 600);--ms-counter-border-radius: var(--ms-border-radius-sm);--ms-counter-bg-hover: var(--ms-accent-color-hover);--ms-transform-scale-hover: 1.1;--ms-hint-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-hint-border: 1px solid var(--ms-hint-border-color);--ms-hint-border-radius: var(--ms-border-radius-lg);--ms-hint-box-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--ms-hint-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-dropdown-border: var(--base-dropdown-border, 1px solid var(--ms-dropdown-border-color));--ms-dropdown-border-radius: var(--ms-border-radius-lg);--ms-dropdown-box-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--ms-input-current-width: auto;--ms-dropdown-width: var(--ms-input-current-width);--ms-options-max-height: calc(32 * var(--ms-rem));--ms-option-color: var(--ms-text-color-1);--ms-z-index-dropdown: 9999;--ms-z-index-sticky: 1;--ms-z-index-fullscreen: 10001;--ms-z-index-fullscreen-tooltip: 10002;--ms-fullscreen-rem: 12px;--ms-fullscreen-bg: var(--ms-dropdown-bg);--ms-fullscreen-text-color: var(--ms-dropdown-text-color);--ms-fullscreen-header-bg: var(--ms-dropdown-bg);--ms-fullscreen-header-border: 1px solid var(--ms-dropdown-border-color);--ms-fullscreen-header-gap: calc(.8 * var(--ms-fullscreen-rem));--ms-fullscreen-header-padding-v: calc(.8 * var(--ms-fullscreen-rem));--ms-fullscreen-header-padding-h: calc(1.2 * var(--ms-fullscreen-rem));--ms-fullscreen-header-padding: var(--ms-fullscreen-header-padding-v) var(--ms-fullscreen-header-padding-h);--ms-fullscreen-header-min-height: calc(5.6 * var(--ms-fullscreen-rem));--ms-fullscreen-title-font-size: calc(1.7 * var(--ms-fullscreen-rem));--ms-fullscreen-title-font-weight: var(--base-font-weight-semibold, 600);--ms-fullscreen-search-border: var(--ms-input-border);--ms-fullscreen-search-border-radius: var(--ms-input-border-radius);--ms-fullscreen-search-padding: calc(.8 * var(--ms-fullscreen-rem)) calc(1.2 * var(--ms-fullscreen-rem));--ms-fullscreen-search-font-size: calc(1.6 * var(--ms-fullscreen-rem));--ms-fullscreen-search-clear-size: calc(2.8 * var(--ms-fullscreen-rem));--ms-fullscreen-search-clear-icon-size: calc(1.4 * var(--ms-fullscreen-rem));--ms-fullscreen-search-clear-inset: calc(.4 * var(--ms-fullscreen-rem));--ms-fullscreen-search-clear-gutter: calc(3.4 * var(--ms-fullscreen-rem));--ms-fullscreen-search-clear-color: var(--ms-text-muted-color, var(--ms-dropdown-text-color));--ms-fullscreen-search-clear-bg-hover: var(--ms-option-bg-matched, transparent);--ms-fullscreen-mode-toggle-size: calc(2.8 * var(--ms-fullscreen-rem));--ms-fullscreen-mode-toggle-icon-size: calc(1.5 * var(--ms-fullscreen-rem));--ms-fullscreen-mode-toggle-gap: var(--ms-fullscreen-header-gap);--ms-fullscreen-mode-toggle-color: var(--ms-text-muted-color, var(--ms-dropdown-text-color));--ms-fullscreen-mode-toggle-bg: transparent;--ms-fullscreen-mode-toggle-bg-hover: var(--ms-option-bg-matched, transparent);--ms-fullscreen-close-size: calc(3.6 * var(--ms-fullscreen-rem));--ms-fullscreen-close-icon-size: calc(1.6 * var(--ms-fullscreen-rem));--ms-fullscreen-close-color: var(--ms-dropdown-text-color);--ms-fullscreen-close-bg: transparent;--ms-fullscreen-close-border: none;--ms-fullscreen-close-border-radius: 50%;--ms-fullscreen-close-bg-hover: var(--ms-option-bg-matched, transparent);--ms-fullscreen-close-edge-nudge: calc(.8 * var(--ms-fullscreen-rem));--ms-fullscreen-info-size: calc(2.8 * var(--ms-fullscreen-rem));--ms-fullscreen-info-icon-size: calc(1.8 * var(--ms-fullscreen-rem));--ms-fullscreen-info-color: var(--ms-accent-color);--ms-fullscreen-info-bg-hover: var(--ms-option-bg-matched, transparent);--ms-fullscreen-nav-gap: calc(.6 * var(--ms-fullscreen-rem));--ms-fullscreen-nav-padding-top: calc(.6 * var(--ms-fullscreen-rem));--ms-fullscreen-nav-count-font-size: calc(1.3 * var(--ms-fullscreen-rem));--ms-fullscreen-nav-count-color: var(--ms-text-muted-color, var(--ms-dropdown-text-color));--ms-fullscreen-nav-btn-size: calc(3.2 * var(--ms-fullscreen-rem));--ms-fullscreen-nav-btn-icon-size: calc(1.6 * var(--ms-fullscreen-rem));--ms-fullscreen-nav-btn-color: var(--ms-dropdown-text-color);--ms-fullscreen-nav-btn-bg: var(--ms-option-bg-matched, transparent);--ms-fullscreen-nav-btn-bg-hover: color-mix(in srgb, var(--ms-accent-color) 22%, transparent);--ms-icon-chevron: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M5 15l7-7 7 7' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/></svg>");--ms-icon-info: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/><circle cx='12' cy='7.5' r='1.3' fill='black'/><path d='M12 11v6' stroke='black' stroke-width='2' stroke-linecap='round' fill='none'/></svg>");--ms-fullscreen-tree-base-indent: calc(.7 * var(--ms-fullscreen-rem));--ms-fullscreen-tree-indent: calc(1.2 * var(--ms-fullscreen-rem));--ms-actions-gap: calc(.4 * var(--ms-rem));--ms-actions-padding: calc(.8 * var(--ms-rem));--ms-actions-border-bottom: 1px solid var(--ms-actions-border-color);--ms-action-btn-padding: calc(.4 * var(--ms-rem)) calc(.8 * var(--ms-rem));--ms-action-btn-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-action-btn-border: var(--ms-border);--ms-action-btn-border-radius: var(--ms-border-radius-sm);--ms-action-btn-bg: transparent;--ms-action-btn-color: inherit;--ms-action-btn-bg-hover: var(--ms-primary-bg);--ms-action-btn-border-color-hover: var(--ms-accent-color);--ms-transform-scale-active: .98;--ms-options-padding: 0;--ms-group-border-top: 1px solid var(--ms-group-border-color);--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(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-group-label-font-weight: var(--base-font-weight-semibold, 600);--ms-group-label-color: var(--ms-text-color-3);--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-min-height: auto;--ms-option-outline-focused: 2px solid var(--ms-option-outline-color-focused);--ms-option-focus-outline-offset: -2px;--ms-option-border-matched: 3px solid var(--ms-option-border-matched-color);--ms-option-bg-focused-hover: var(--ms-primary-bg);--ms-option-bg-matched-hover: color-mix(in srgb, var(--ms-accent-color) 12%, transparent);--ms-option-bg-selected-focused: color-mix(in srgb, var(--ms-accent-color) 15%, transparent);--ms-option-bg-selected-matched: color-mix(in srgb, var(--ms-accent-color) 15%, transparent);--ms-option-disabled-bg: var(--base-disabled-bg, transparent);--ms-option-bg-disabled-selected: color-mix(in srgb, var(--ms-accent-color) 10%, transparent);--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(var(--base-font-size-base, 1.6) * var(--ms-rem));--ms-option-title-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-option-mark-font-weight: var(--base-font-weight-semibold, 600);--ms-option-title-white-space: normal;--ms-option-title-overflow: visible;--ms-option-title-text-overflow: clip;--ms-option-subtitle-margin-top: calc(.4 * var(--ms-rem));--ms-option-subtitle-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-option-subtitle-line-height: var(--base-line-height-tight, 1.25);--ms-checkbox-margin-top: 0;--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: center;--ms-checkbox-bg: var(--ms-input-bg);--ms-checkbox-border-width: 1px;--ms-checkbox-border-color: var(--base-checkbox-border-color, #8f8f8f);--ms-checkbox-border: var(--ms-checkbox-border-width) solid var(--ms-checkbox-border-color);--ms-checkbox-border-radius: calc(.3 * var(--ms-rem));--ms-checkbox-checkmark-thickness: 2.5px;--ms-checkbox-checked-bg: var(--ms-accent-color);--ms-checkbox-checked-border: var(--ms-checkbox-border-width) solid var(--ms-accent-color);--ms-checkbox-checkmark-color: var(--ms-text-color-on-accent);--ms-checkbox-hover-border-color: var(--ms-accent-color);--ms-checkbox-disabled-bg: var(--ms-primary-bg);--ms-checkbox-disabled-border: var(--ms-checkbox-border-width) solid var(--ms-border-color);--ms-checkbox-checked-bg-hover: var(--ms-accent-color-hover);--ms-checkbox-checked-border-color-hover: var(--ms-accent-color-hover);--ms-state-min-height: calc(8 * var(--ms-rem));--ms-empty-padding: calc(1.6 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-empty-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-empty-color: var(--ms-text-color-3);--ms-loader-padding: calc(1.6 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-loader-gap: calc(.8 * var(--ms-rem));--ms-loading-text-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-loading-text-color: var(--ms-text-color-3);--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-inline-align: center;--ms-badge-gap: calc(.8 * var(--ms-rem));--ms-badge-height: calc(2.7 * var(--ms-rem));--ms-badge-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-badge-font-weight: var(--base-font-weight-semibold, 600);--ms-badge-border-radius: var(--ms-border-radius-sm);--ms-order-first: -1;--ms-badge-text-padding: 0 calc(.8 * var(--ms-rem));--ms-badge-text-bg: var(--ms-accent-color-light);--ms-badge-text-color: var(--ms-accent-color);--ms-badge-text-border: none;--ms-badge-remove-width: calc(2.7 * var(--ms-rem));--ms-badge-remove-bg: var(--ms-accent-color);--ms-badge-remove-color: var(--ms-text-color-on-accent);--ms-badge-remove-border: none;--ms-badge-remove-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-badge-remove-bg-hover: var(--ms-accent-color-hover);--ms-badge-remove-box-shadow-focus: 0 0 0 2px color-mix(in srgb, var(--ms-accent-color) 50%, transparent);--ms-badge-remove-icon-size: calc(1 * var(--ms-rem));--ms-icon-remove: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M18 6 6 18'/><path d='m6 6 12 12'/></svg>");--ms-icon-search-clear: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m13.5 8.5-5 5'/><path d='m8.5 8.5 5 5'/><circle cx='11' cy='11' r='8'/><path d='m21 21-4.3-4.3'/></svg>");--ms-icon-search: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><path d='m21 21-4.3-4.3'/></svg>");--ms-icon-filter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'/></svg>");--ms-badge-counter-bg: transparent;--ms-badge-counter-border: 1px solid var(--ms-badge-counter-border-color);--ms-badge-counter-border-radius: var(--ms-border-radius-sm);--ms-more-badge-bg: var(--ms-accent-color-light);--ms-more-badge-hover-bg: var(--ms-badge-bg-hover);--ms-more-badge-active-bg: var(--ms-accent-color-light-hover);--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: var(--ms-border);--ms-counter-wrapper-border-radius: var(--ms-border-radius-sm);--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: var(--ms-primary-bg);--ms-counter-wrapper-border-color-hover: var(--ms-accent-color);--ms-count-text-bg: transparent;--ms-count-text-border: none;--ms-count-text-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-count-text-color: var(--ms-text-color-1);--ms-count-clear-size: calc(1.6 * var(--ms-rem));--ms-count-clear-bg: transparent;--ms-count-clear-color: var(--ms-text-color-3);--ms-count-clear-font-size: calc(var(--base-font-size-lg, 1.8) * var(--ms-rem));--ms-count-clear-border-radius: var(--ms-border-radius-sm);--ms-count-clear-bg-hover: color-mix(in srgb, var(--ms-accent-color) 20%, transparent);--ms-count-clear-color-hover: var(--ms-accent-color);--ms-count-clear-icon-size: calc(1.4 * var(--ms-rem));--ms-icon-clear: var(--ms-icon-remove);--ms-tooltip-color: var(--ms-tooltip-text-color);--ms-tooltip-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-tooltip-border-radius: var(--ms-border-radius-lg);--ms-tooltip-font-size: calc(var(--base-font-size-sm, 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-option-tooltip-bg: var(--ms-tooltip-bg);--ms-option-tooltip-text-color: var(--ms-tooltip-text-color);--ms-option-tooltip-padding: var(--ms-tooltip-padding);--ms-option-tooltip-border-radius: var(--ms-tooltip-border-radius);--ms-option-tooltip-font-size: var(--ms-tooltip-font-size);--ms-option-tooltip-max-width: var(--ms-tooltip-max-width);--ms-option-tooltip-shadow: var(--ms-tooltip-shadow);--ms-option-tooltip-z-index: var(--ms-tooltip-z-index);--ms-message-bg: var(--ms-message-info-bg);--ms-message-color: var(--ms-message-info-color);--ms-message-border: 1px solid transparent;--ms-message-border-radius: var(--ms-border-radius-lg);--ms-message-padding: calc(1 * var(--ms-rem)) calc(1.4 * var(--ms-rem));--ms-message-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-message-font-weight: var(--base-font-weight-medium, 500);--ms-message-max-width: calc(40 * var(--ms-rem));--ms-message-shadow: 0 4px 16px rgb(0 0 0 / .18);--ms-message-fullscreen-offset: calc(2.4 * var(--ms-fullscreen-rem));--ms-message-z-index: var(--ms-z-index-fullscreen-tooltip);--ms-message-info-bg: var(--ms-tooltip-bg);--ms-message-info-color: var(--ms-tooltip-text-color);--ms-message-warning-bg: var(--base-warning-bg, #f59e0b);--ms-message-warning-color: var(--base-warning-color, #1a1a1a);--ms-message-error-bg: var(--base-danger-bg, #ef4444);--ms-message-error-color: var(--base-danger-color, #ffffff);--ms-message-success-bg: var(--base-success-bg, #10b981);--ms-message-success-color: var(--base-success-color, #ffffff);--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-border: 1px solid var(--ms-selected-popover-border-color);--ms-selected-popover-border-radius: var(--ms-border-radius-lg);--ms-selected-popover-box-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(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: color-mix(in srgb, var(--ms-accent-color) 10%, transparent);--ms-selected-popover-header-border-bottom: 1px solid var(--ms-selected-popover-header-border-color);--ms-selected-popover-header-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-selected-popover-header-font-weight: var(--base-font-weight-semibold, 600);--ms-selected-popover-header-color: var(--ms-text-color-1);--ms-popover-close-size: calc(2.4 * var(--ms-rem));--ms-selected-popover-close-bg: transparent;--ms-selected-popover-close-color: var(--ms-text-color-3);--ms-selected-popover-close-font-size: calc(var(--base-font-size-xl, 2) * var(--ms-rem));--ms-selected-popover-close-border-radius: var(--ms-border-radius-sm);--ms-selected-popover-close-bg-hover: color-mix(in srgb, var(--ms-accent-color) 20%, transparent);--ms-selected-popover-close-color-hover: var(--ms-accent-color);--ms-selected-popover-close-icon-size: calc(1.4 * var(--ms-rem));--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(var(--base-font-size-2xs, 1) * var(--ms-rem));--ms-font-size-xs: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-font-size-sm: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-font-size-base: calc(var(--base-font-size-base, 1.6) * var(--ms-rem));--ms-font-size-lg: calc(var(--base-font-size-lg, 1.8) * var(--ms-rem));--ms-font-weight-normal: var(--base-font-weight-normal, 400);--ms-font-weight-medium: var(--base-font-weight-medium, 500);--ms-font-weight-semibold: var(--base-font-weight-semibold, 600);--ms-line-height-none: 1;--ms-line-height-tight: var(--base-line-height-tight, 1.25);--ms-line-height-normal: var(--base-line-height-normal, 1.5);--ms-line-height-relaxed: var(--base-line-height-relaxed, 1.75);--ms-border-radius-sm: calc(var(--base-border-radius-sm, .4) * var(--ms-rem));--ms-border-radius-md: calc(var(--base-border-radius-md, .6) * var(--ms-rem));--ms-border-radius-lg: calc(var(--base-border-radius-lg, .8) * var(--ms-rem));--ms-border-radius: var(--ms-border-radius-md);--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: var(--ms-border-color);--ms-scrollbar-thumb-bg-hover: var(--ms-text-color-3);--ms-scrollbar-thumb-border-radius: 4px;--ms-debug-bg: var(--base-elevated-bg, light-dark(#f9fafb, #2b2b2b));--ms-debug-border-color: var(--ms-border-color);--ms-debug-text-color: var(--ms-text-color-1);--ms-debug-border-radius: var(--ms-border-radius-md);--ms-debug-summary-color: var(--ms-accent-color);--ms-debug-summary-bg-hover: var(--ms-primary-bg);--ms-debug-summary-outline-color: var(--ms-accent-color);--ms-debug-summary-border-radius: var(--ms-border-radius-sm);--ms-debug-stats-bg: var(--base-main-bg, light-dark(#ffffff, #1a1a1a));--ms-debug-stats-border-radius: var(--ms-border-radius-sm);--ms-debug-bullet-color: var(--ms-accent-color)}}@layer component{web-multiselect:not(:defined){display:block;min-height:calc(3.5 * var(--ms-rem));color:transparent!important;background:transparent}:host{-webkit-tap-highlight-color:transparent}.ms__wrapper{display:flex;flex-direction:column;align-items:stretch}.ms__wrapper--inline{flex-direction:row;align-items:var(--ms-inline-align, center)}.ms{position:relative;width:100%}}@layer component{.ms__input-wrapper{position:relative;display:flex;align-items:center}.ms__input{box-sizing:border-box;width:100%;font-family:inherit;height:var(--ms-input-height);padding:var(--ms-input-padding);padding-inline-end:var(--ms-input-padding-right);font-size:var(--ms-input-font-size);border:var(--ms-input-border);border-radius:var(--ms-input-border-radius);background:var(--ms-input-bg);color:var(--ms-input-color);cursor:pointer;transition:border var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__input:hover:not(:focus):not(:disabled){border:var(--ms-input-border-hover)}.ms__input:focus{outline:none;border:var(--ms-input-border-focus)}.ms__input::placeholder{color:var(--ms-input-placeholder-color);opacity:0;transition:opacity var(--ms-transition-fast) var(--ms-easing-snappy)}:host([data-ready]) .ms__input::placeholder{opacity:var(--ms-placeholder-opacity)}.ms__toggle{position:absolute;inset-inline-end:var(--ms-toggle-right);top:50%;transform:var(--ms-transform-center-y);pointer-events:none;color:var(--ms-toggle-icon-color);transition:transform var(--ms-transition-fast) var(--ms-easing-snappy)}.ms--open .ms__toggle{transform:var(--ms-transform-center-y) rotate(var(--ms-transform-rotate-180));color:var(--ms-toggle-icon-color-open)}.ms__counter{position:absolute;inset-inline-end:var(--ms-counter-offset);top:50%;transform:var(--ms-transform-center-y);padding:var(--ms-counter-padding);background:var(--ms-counter-badge-bg);color:var(--ms-counter-badge-color);font-size:var(--ms-counter-font-size);font-weight:var(--ms-counter-font-weight);border-radius:var(--ms-counter-border-radius);cursor:pointer;transition:all var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__counter:hover{background:var(--ms-counter-badge-bg-hover);transform:var(--ms-transform-center-y) scale(var(--ms-transform-scale-hover))}.ms__actions{display:flex;flex-direction:column;gap:var(--ms-actions-gap);padding:var(--ms-actions-padding)}.ms__actions--top{border-bottom:var(--ms-actions-border-bottom)}.ms__actions--bottom{flex-direction:column-reverse;border-top:var(--ms-actions-border-bottom)}.ms__actions-row{display:flex;flex-wrap:nowrap;gap:var(--ms-actions-gap)}.ms__actions--wrap .ms__actions-row{flex-wrap:wrap}.ms__actions--sticky{position:sticky;z-index:var(--ms-z-index-sticky);background:var(--ms-actions-bg)}.ms__actions--sticky.ms__actions--top{top:0}.ms__actions--sticky.ms__actions--bottom{bottom:0}.ms__actions--align-stretch .ms__action-btn{flex:1}.ms__actions--align-left .ms__actions-row{justify-content:flex-start}.ms__actions--align-right .ms__actions-row{justify-content:flex-end}.ms__actions--align-center .ms__actions-row{justify-content:center}.ms__actions--align-space-between .ms__actions-row{justify-content:space-between}.ms__action-btn{font-family:inherit;padding:var(--ms-action-btn-padding);font-size:var(--ms-action-btn-font-size);border:var(--ms-action-btn-border);border-radius:var(--ms-action-btn-border-radius);background:var(--ms-action-button-bg);color:var(--ms-action-button-color);cursor:pointer;transition:all var(--ms-transition-fast) var(--ms-easing-snappy)}@media (hover: hover){.ms__action-btn:hover{background:var(--ms-action-button-bg-hover);border-color:var(--ms-action-button-border-color-hover)}}.ms__action-btn:active{transform:scale(var(--ms-transform-scale-active))}.ms__action-btn:disabled,.ms__action-btn[disabled]{opacity:var(--ms-disabled-opacity);cursor:not-allowed;pointer-events:none}}@layer component{.ms__hint{display:none;position:fixed;z-index:var(--ms-z-index-popover);padding:var(--ms-hint-padding);background:var(--ms-hint-bg);border:var(--ms-hint-border);border-radius:var(--ms-hint-border-radius);box-shadow:var(--ms-hint-box-shadow);font-size:var(--ms-hint-font-size);color:var(--ms-hint-color);line-height:var(--ms-line-height-relaxed);max-width:100%}.ms__hint--visible{display:block}.ms__dropdown{display:none;position:fixed;font-family:inherit;z-index:var(--ms-z-index-dropdown);background:var(--ms-dropdown-bg);border:var(--ms-dropdown-border);border-radius:var(--ms-dropdown-border-radius);box-shadow:var(--ms-dropdown-box-shadow);width:var(--ms-dropdown-width);max-height:var(--ms-options-max-height);overflow:hidden;color:var(--ms-dropdown-text-color)}.ms__dropdown--visible{display:flex;flex-direction:column}.ms__dropdown--fullscreen,.ms__selected-popover--fullscreen{--ms-rem: var(--ms-fullscreen-rem);--ms-option-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-option-gap: calc(.8 * var(--ms-rem));--ms-option-title-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-option-subtitle-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-option-icon-font-size: calc(var(--base-font-size-base, 1.6) * var(--ms-rem));--ms-checkbox-size: calc(1.6 * var(--ms-rem));--ms-group-label-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-group-label-padding: calc(.4 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-tree-base-indent: var(--ms-fullscreen-tree-base-indent);--ms-tree-indent: var(--ms-fullscreen-tree-indent)}.ms__selected-popover--fullscreen{--ms-badge-gap: calc(.8 * var(--ms-rem));--ms-badge-height: calc(4.2 * var(--ms-rem));--ms-badge-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-badge-text-padding: 0 calc(1.2 * var(--ms-rem));--ms-badge-remove-width: calc(3.6 * var(--ms-rem));--ms-badge-remove-icon-size: calc(1.2 * var(--ms-rem));--ms-badge-remove-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem))}.ms__dropdown--fullscreen{--ms-actions-gap: calc(.4 * var(--ms-rem));--ms-actions-padding: calc(.8 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-action-btn-padding: calc(.6 * var(--ms-rem)) calc(1.2 * var(--ms-rem));--ms-action-btn-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem))}.ms__dropdown--fullscreen{position:fixed;top:0;inset-inline-start:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:none;border-radius:0;background:var(--ms-fullscreen-bg);color:var(--ms-fullscreen-text-color);z-index:var(--ms-z-index-fullscreen);box-sizing:border-box;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}.ms__dropdown--fullscreen .ms__dropdown-inner{display:flex;flex-direction:column;flex:1;min-height:0;max-height:none;overflow:hidden}.ms__dropdown--fullscreen .ms__options{flex:1 1 0;min-height:0;height:auto;max-height:none;overflow-y:auto;padding-bottom:var(--ms-option-gap)}.ms__dropdown--fullscreen .ms__actions{flex:0 0 auto}.ms__fullscreen-header,.ms__selected-popover--fullscreen .ms__selected-popover-header{flex:0 0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:var(--ms-fullscreen-header-gap);min-height:var(--ms-fullscreen-header-min-height);padding:var(--ms-fullscreen-header-padding);background:var(--ms-fullscreen-header-bg);border-bottom:var(--ms-fullscreen-header-border)}.ms__fullscreen-header{align-content:flex-start}.ms__fullscreen-header>.ms__fullscreen-search-wrapper{min-height:var(--ms-fullscreen-header-min-height)}.ms__fullscreen-nav{flex:0 0 100%;display:flex;align-items:center;justify-content:space-between;gap:var(--ms-fullscreen-nav-gap);padding-top:var(--ms-fullscreen-nav-padding-top)}.ms__fullscreen-nav-count{font-size:var(--ms-fullscreen-nav-count-font-size);color:var(--ms-fullscreen-nav-count-color)}.ms__fullscreen-nav-controls{display:flex;align-items:center;gap:var(--ms-fullscreen-nav-gap)}.ms__fullscreen-nav-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:var(--ms-fullscreen-nav-btn-size);height:var(--ms-fullscreen-nav-btn-size);padding:0;color:var(--ms-fullscreen-nav-btn-color);background:var(--ms-fullscreen-nav-btn-bg);border:none;border-radius:50%;cursor:pointer}.ms__fullscreen-nav-btn:hover:not(:disabled){background:var(--ms-fullscreen-nav-btn-bg-hover)}.ms__fullscreen-nav-btn:disabled{opacity:.4;cursor:default}.ms__fullscreen-nav-btn:before{content:"";display:block;width:var(--ms-fullscreen-nav-btn-icon-size);height:var(--ms-fullscreen-nav-btn-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-chevron) center / contain no-repeat;mask:var(--ms-icon-chevron) center / contain no-repeat}.ms__fullscreen-nav-btn--next:before{transform:scaleY(-1)}.ms__fullscreen-header>.ms__fullscreen-search-wrapper,.ms__selected-popover--fullscreen .ms__selected-popover-header>span{flex:1 1 0;min-width:0}.ms__fullscreen-search-wrapper{position:relative;display:flex;align-items:center}.ms__selected-popover--fullscreen .ms__selected-popover-header{font-size:var(--ms-fullscreen-title-font-size);font-weight:var(--ms-fullscreen-title-font-weight);color:var(--ms-fullscreen-text-color)}.ms__fullscreen-search{flex:1 1 auto;min-width:0;font-family:inherit;font-size:var(--ms-fullscreen-search-font-size);color:inherit;background:transparent;border:var(--ms-fullscreen-search-border);border-radius:var(--ms-fullscreen-search-border-radius);padding:var(--ms-fullscreen-search-padding);padding-inline-end:var(--ms-fullscreen-search-clear-gutter)}.ms__fullscreen-search:focus{outline:none;border:var(--ms-input-border-focus)}.ms__fullscreen-search-clear{position:absolute;inset-inline-end:var(--ms-fullscreen-search-clear-inset);top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:var(--ms-fullscreen-search-clear-size);height:var(--ms-fullscreen-search-clear-size);padding:0;color:var(--ms-fullscreen-search-clear-color);background:transparent;border:none;border-radius:50%;cursor:pointer}.ms__fullscreen-search-clear:hover{background:var(--ms-fullscreen-search-clear-bg-hover)}.ms__fullscreen-search-clear:before{content:"";display:block;width:var(--ms-fullscreen-search-clear-icon-size);height:var(--ms-fullscreen-search-clear-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-search-clear) center / contain no-repeat;mask:var(--ms-icon-search-clear) center / contain no-repeat}.ms__fullscreen-mode-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:var(--ms-fullscreen-mode-toggle-size);height:var(--ms-fullscreen-mode-toggle-size);margin-inline-end:var(--ms-fullscreen-mode-toggle-gap);margin-inline-start:calc((var(--ms-fullscreen-close-size) - var(--ms-fullscreen-mode-toggle-size)) / 2 - var(--ms-fullscreen-close-edge-nudge));padding:0;color:var(--ms-fullscreen-mode-toggle-color);background:var(--ms-fullscreen-mode-toggle-bg);border:none;border-radius:50%;cursor:pointer}.ms__fullscreen-mode-toggle:hover{background:var(--ms-fullscreen-mode-toggle-bg-hover)}.ms__fullscreen-mode-toggle:before{content:"";display:block;width:var(--ms-fullscreen-mode-toggle-icon-size);height:var(--ms-fullscreen-mode-toggle-icon-size);background-color:currentColor;-webkit-mask:var(--ms-fullscreen-mode-toggle-icon, var(--ms-icon-search)) center / contain no-repeat;mask:var(--ms-fullscreen-mode-toggle-icon, var(--ms-icon-search)) center / contain no-repeat}.ms__fullscreen-mode-toggle[data-mode=navigate]{--ms-fullscreen-mode-toggle-icon: var(--ms-icon-search)}.ms__fullscreen-mode-toggle[data-mode=filter]{--ms-fullscreen-mode-toggle-icon: var(--ms-icon-filter)}.ms__fullscreen-close,.ms__selected-popover--fullscreen .ms__selected-popover-close{flex:0 0 auto;position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:var(--ms-fullscreen-close-size);height:var(--ms-fullscreen-close-size);margin-inline-end:calc(-1 * var(--ms-fullscreen-close-edge-nudge));padding:0;color:var(--ms-fullscreen-close-color);background:var(--ms-fullscreen-close-bg);border:var(--ms-fullscreen-close-border);border-radius:var(--ms-fullscreen-close-border-radius);cursor:pointer}.ms__fullscreen-close:after,.ms__selected-popover--fullscreen .ms__selected-popover-close:after{content:"";position:absolute;inset-block-start:calc(-1 * var(--ms-fullscreen-close-size));inset-block-end:calc(-1 * var(--ms-fullscreen-header-padding-v));inset-inline-end:calc(-1 * var(--ms-fullscreen-header-padding-h));inset-inline-start:calc(-1 * var(--ms-fullscreen-header-gap))}.ms__fullscreen-close:hover,.ms__selected-popover--fullscreen .ms__selected-popover-close:hover{background:var(--ms-fullscreen-close-bg-hover);color:var(--ms-fullscreen-close-color)}.ms__fullscreen-close:before,.ms__selected-popover--fullscreen .ms__selected-popover-close:before{content:"";display:block;width:var(--ms-fullscreen-close-icon-size);height:var(--ms-fullscreen-close-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-remove) center / contain no-repeat;mask:var(--ms-icon-remove) center / contain no-repeat}.ms__dropdown--fullscreen .ms__option-info{flex:0 0 auto;display:none;align-items:center;justify-content:center;width:var(--ms-fullscreen-info-size);height:var(--ms-fullscreen-info-size);margin-inline-start:var(--ms-option-gap);padding:0;color:var(--ms-fullscreen-info-color);background:transparent;border:none;border-radius:50%;cursor:pointer}.ms__dropdown--fullscreen .ms__option--truncated .ms__option-info{display:inline-flex}@media (hover: hover){.ms__dropdown--fullscreen .ms__option-info:hover{background:var(--ms-fullscreen-info-bg-hover)}}.ms__dropdown--fullscreen .ms__option-info:before{content:"";display:block;width:var(--ms-fullscreen-info-icon-size);height:var(--ms-fullscreen-info-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-info) center / contain no-repeat;mask:var(--ms-icon-info) center / contain no-repeat}.ms__dropdown-inner{flex:1;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg) var(--ms-scrollbar-track-bg)}.ms__dropdown-inner::-webkit-scrollbar{width:var(--ms-scrollbar-width)}.ms__dropdown-inner::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg)}.ms__dropdown-inner::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg);border-radius:var(--ms-scrollbar-thumb-border-radius)}.ms__dropdown-inner::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover)}.ms__dropdown--virtual{max-height:none}.ms__dropdown--virtual .ms__dropdown-inner{overflow-y:visible}.ms__badge-tooltip{position:fixed;z-index:var(--ms-tooltip-z-index);opacity:0;visibility:hidden;transition:opacity var(--ms-transition-normal) ease,visibility var(--ms-transition-normal) ease;background:var(--ms-tooltip-bg);color:var(--ms-tooltip-text-color);padding:var(--ms-tooltip-padding);border-radius:var(--ms-tooltip-border-radius);font-size:var(--ms-tooltip-font-size);line-height:var(--ms-line-height-relaxed);max-width:var(--ms-tooltip-max-width);word-wrap:break-word;white-space:pre-wrap;box-shadow:var(--ms-tooltip-shadow);pointer-events:none}.ms__badge-tooltip--visible{opacity:1;visibility:visible}.ms__option-tooltip{position:fixed;z-index:var(--ms-option-tooltip-z-index);opacity:0;visibility:hidden;transition:opacity var(--ms-transition-normal) ease,visibility var(--ms-transition-normal) ease;background:var(--ms-option-tooltip-bg);color:var(--ms-option-tooltip-text-color);padding:var(--ms-option-tooltip-padding);border-radius:var(--ms-option-tooltip-border-radius);font-size:var(--ms-option-tooltip-font-size);line-height:var(--ms-line-height-relaxed);max-width:var(--ms-option-tooltip-max-width);word-wrap:break-word;white-space:pre-wrap;box-shadow:var(--ms-option-tooltip-shadow);pointer-events:none}.ms__option-tooltip--visible{opacity:1;visibility:visible}.ms__option-tooltip--fullscreen{z-index:var(--ms-z-index-fullscreen-tooltip)}.ms__message{position:fixed;z-index:var(--ms-message-z-index);box-sizing:border-box;max-width:var(--ms-message-max-width);padding:var(--ms-message-padding);font-family:inherit;font-size:var(--ms-message-font-size);font-weight:var(--ms-message-font-weight);line-height:var(--ms-line-height-normal);color:var(--ms-message-color);background:var(--ms-message-bg);border:var(--ms-message-border);border-radius:var(--ms-message-border-radius);box-shadow:var(--ms-message-shadow);cursor:pointer;opacity:0;transition:opacity var(--ms-transition-normal) ease;-webkit-tap-highlight-color:transparent}.ms__message--visible{opacity:1}.ms__message--info{background:var(--ms-message-info-bg);color:var(--ms-message-info-color)}.ms__message--warning{background:var(--ms-message-warning-bg);color:var(--ms-message-warning-color)}.ms__message--error{background:var(--ms-message-error-bg);color:var(--ms-message-error-color)}.ms__message--success{background:var(--ms-message-success-bg);color:var(--ms-message-success-color)}.ms__message--fullscreen{left:50%;right:auto;bottom:calc(var(--ms-message-fullscreen-offset) + env(safe-area-inset-bottom));transform:translate(-50%);max-width:min(var(--ms-message-max-width),calc(100vw - 4 * var(--ms-fullscreen-rem)));padding:calc(1 * var(--ms-fullscreen-rem)) calc(1.4 * var(--ms-fullscreen-rem));font-size:calc(var(--base-font-size-sm, 1.4) * var(--ms-fullscreen-rem))}.ms__selected-popover{display:none;position:fixed;z-index:var(--ms-z-index-popover);background:var(--ms-selected-popover-bg);border:var(--ms-selected-popover-border);border-radius:var(--ms-selected-popover-border-radius);box-shadow:var(--ms-selected-popover-box-shadow);width:var(--ms-selected-popover-width);max-height:var(--ms-selected-popover-max-height);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--fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:none;border-radius:0;overflow:hidden;background:var(--ms-fullscreen-bg);color:var(--ms-fullscreen-text-color);z-index:var(--ms-z-index-fullscreen);box-sizing:border-box;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}.ms__selected-popover--fullscreen .ms__selected-popover-body{flex:1 1 0;min-height:0;max-height:none}.ms__selected-popover-header{display:flex;align-items:center;justify-content:space-between;padding:var(--ms-selected-popover-header-padding);background:var(--ms-selected-popover-header-bg);border-bottom:var(--ms-selected-popover-header-border-bottom);font-size:var(--ms-selected-popover-header-font-size);font-weight:var(--ms-selected-popover-header-font-weight);color:var(--ms-selected-popover-header-color)}.ms__selected-popover-close{display:flex;align-items:center;justify-content:center;width:var(--ms-popover-close-size);height:var(--ms-popover-close-size);padding:0;border:none;background:var(--ms-selected-popover-close-bg);color:var(--ms-selected-popover-close-color);font-size:var(--ms-selected-popover-close-font-size);line-height:var(--ms-line-height-none);cursor:pointer;border-radius:var(--ms-selected-popover-close-border-radius);transition:all var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__selected-popover-close:hover{background:var(--ms-selected-popover-close-bg-hover);color:var(--ms-selected-popover-close-color-hover)}.ms__selected-popover-close:before{content:"";display:block;width:var(--ms-selected-popover-close-icon-size);height:var(--ms-selected-popover-close-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-remove) center / contain no-repeat;mask:var(--ms-icon-remove) center / contain no-repeat}.ms__selected-popover-body{display:flex;flex-direction:column;gap:var(--ms-selected-popover-body-gap);padding:var(--ms-selected-popover-body-padding);overflow-y:auto;max-height:var(--ms-selected-popover-body-max-height);scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg) var(--ms-scrollbar-track-bg)}.ms__selected-popover-body::-webkit-scrollbar{width:var(--ms-scrollbar-width)}.ms__selected-popover-body::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg)}.ms__selected-popover-body::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg);border-radius:var(--ms-scrollbar-thumb-border-radius)}.ms__selected-popover-body::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover)}.ms__selected-popover-body .ms__badge{width:100%;min-height:fit-content;line-height:var(--ms-line-height-relaxed);flex-shrink:0}.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);overflow:hidden;box-sizing:border-box}.ms__selected-popover-body--virtual .ms__badge-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@layer component{.ms--disabled .ms__input{opacity:var(--ms-disabled-input-opacity);cursor:not-allowed;background:var(--ms-input-bg-disabled)}.ms--disabled .ms__toggle{opacity:var(--ms-disabled-input-opacity)}.ms--no-checkboxes .ms__option{gap:0;padding-inline-start:var(--ms-option-padding-h)}.ms--no-checkboxes .ms__option-content{padding-inline-start:0}}@layer component;@layer component{.ms__badges{display:flex;flex-wrap:wrap;gap:var(--ms-badges-gap);padding:0}.ms__badges:empty{display:none}.ms__badges--bottom{margin-top:var(--ms-badges-margin-bottom)}.ms__badges--top{margin-bottom:var(--ms-badges-margin-top);order:var(--ms-order-first)}.ms__badges--left{order:var(--ms-order-first);margin-right:var(--ms-badges-margin-left);justify-content:flex-end}.ms__badges--right{margin-left:var(--ms-badges-margin-right);justify-content:flex-start}.ms__badge{display:inline-flex;align-items:center;height:var(--ms-badge-height);font-size:var(--ms-badge-font-size);font-weight:var(--ms-badge-font-weight);line-height:var(--ms-line-height-none);border-radius:var(--ms-badge-border-radius);overflow:hidden;max-width:100%}.ms__badge-text{display:flex;align-items:center;box-sizing:border-box;height:100%;padding:var(--ms-badge-text-padding);background:var(--ms-badge-text-bg);color:var(--ms-badge-text-color);border:var(--ms-badge-text-border);border-inline-end:none;border-start-start-radius:var(--ms-badge-border-radius);border-end-start-radius:var(--ms-badge-border-radius);border-start-end-radius:0;border-end-end-radius:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color var(--ms-transition-normal) ease,color var(--ms-transition-normal) ease}.ms__badge:hover .ms__badge-text{background:var(--ms-badge-text-bg-hover, var(--ms-badge-text-bg));color:var(--ms-badge-text-color-hover, var(--ms-badge-text-color))}.ms__badge-remove{display:flex;align-items:center;justify-content:center;box-sizing:border-box;font-family:inherit;width:var(--ms-badge-remove-width);height:100%;flex-shrink:0;background:var(--ms-badge-remove-bg);color:var(--ms-badge-remove-color);border:var(--ms-badge-remove-border);border-inline-start:none;border-start-end-radius:var(--ms-badge-border-radius);border-end-end-radius:var(--ms-badge-border-radius);border-start-start-radius:0;border-end-start-radius:0;cursor:pointer;transition:background-color var(--ms-transition-normal) ease;font-size:var(--ms-badge-remove-font-size)}.ms__badge-remove:hover{background:var(--ms-badge-remove-bg-hover)}.ms__badge-remove:focus{outline:none}.ms__badge-remove:focus-visible{outline:none;box-shadow:var(--ms-badge-remove-box-shadow-focus)}.ms__badge-remove:before{content:"";display:block;width:var(--ms-badge-remove-icon-size);height:var(--ms-badge-remove-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-remove) center / contain no-repeat;mask:var(--ms-icon-remove) center / contain no-repeat}.ms__badge--counter{cursor:pointer}.ms__badge--counter .ms__badge-text{background:var(--ms-badge-counter-text-bg);color:var(--ms-badge-counter-text-color);border:var(--ms-badge-counter-border);border-inline-end:none}.ms__badge--counter .ms__badge-remove{background:var(--ms-badge-counter-remove-bg);color:var(--ms-badge-counter-remove-color);border:var(--ms-badge-counter-border);border-inline-start:none}.ms__badge--counter .ms__badge-remove:hover{background:var(--ms-badge-counter-remove-bg-hover)}.ms__badge--more,.ms__badge[data-action=show-selected]{cursor:pointer}}@layer component{.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)}.ms__count-display--top{margin-bottom:var(--ms-count-display-margin-top);order:var(--ms-order-first)}.ms__count-display--left{order:var(--ms-order-first);margin-right:var(--ms-count-display-margin-left);justify-content:flex-start}.ms__count-display--right{margin-left:var(--ms-count-display-margin-right);justify-content:flex-end}.ms__counter-wrapper{display:inline-flex;align-items:center;gap:var(--ms-counter-wrapper-gap);background:var(--ms-counter-wrapper-bg);border:var(--ms-counter-wrapper-border);border-radius:var(--ms-counter-wrapper-border-radius);padding:var(--ms-counter-wrapper-padding);transition:all var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__counter-wrapper:hover{background:var(--ms-counter-wrapper-bg-hover);border-color:var(--ms-counter-wrapper-border-color-hover)}.ms__count-text{display:inline-flex;align-items:center;background:var(--ms-count-text-bg);border:var(--ms-count-text-border);padding:0;font-size:var(--ms-count-text-font-size);color:var(--ms-count-text-color);cursor:pointer;transition:color var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__count-clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:var(--ms-count-clear-size);height:var(--ms-count-clear-size);padding:0;border:none;background:var(--ms-count-clear-bg);color:var(--ms-count-clear-color);font-size:var(--ms-count-clear-font-size);line-height:var(--ms-line-height-none);cursor:pointer;border-radius:var(--ms-count-clear-border-radius);transition:all var(--ms-transition-fast) var(--ms-easing-snappy)}.ms__count-clear:hover{background:var(--ms-count-clear-bg-hover);color:var(--ms-count-clear-color-hover)}.ms__count-clear:before{content:"";display:block;width:var(--ms-count-clear-icon-size);height:var(--ms-count-clear-icon-size);background-color:currentColor;-webkit-mask:var(--ms-icon-clear) center / contain no-repeat;mask:var(--ms-icon-clear) center / contain no-repeat}}@layer component{.ms__debug-info{margin-top:calc(.4 * var(--ms-rem));padding:calc(.4 * var(--ms-rem));background-color:var(--ms-debug-bg);border:1px solid var(--ms-debug-border-color);border-radius:var(--ms-debug-border-radius);font-size:calc(1.2 * var(--ms-rem));color:var(--ms-debug-text-color)}.ms__debug-info details summary{cursor:pointer;font-weight:600;color:var(--ms-debug-summary-color);-webkit-user-select:none;user-select:none;padding:calc(.4 * var(--ms-rem));border-radius:var(--ms-debug-summary-border-radius)}.ms__debug-info details summary:hover{background-color:var(--ms-debug-summary-bg-hover)}.ms__debug-info details summary:focus{outline:2px solid var(--ms-debug-summary-outline-color);outline-offset:2px}.ms__debug-info .ms__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:var(--ms-debug-stats-bg);border-radius:var(--ms-debug-stats-border-radius)}.ms__debug-info .ms__debug-stats span{display:flex;justify-content:space-between;padding:2px 4px;font-family:monospace;font-size:calc(1 * var(--ms-rem))}.ms__debug-info .ms__debug-stats span:before{content:"•";margin-inline-end:calc(.4 * var(--ms-rem));color:var(--ms-debug-bullet-color)}}@layer component{.ms__options{padding:var(--ms-options-padding);scrollbar-width:thin;scrollbar-color:var(--ms-scrollbar-thumb-bg) var(--ms-scrollbar-track-bg)}.ms__options::-webkit-scrollbar{width:var(--ms-scrollbar-width)}.ms__options::-webkit-scrollbar-track{background:var(--ms-scrollbar-track-bg)}.ms__options::-webkit-scrollbar-thumb{background:var(--ms-scrollbar-thumb-bg);border-radius:var(--ms-scrollbar-thumb-border-radius)}.ms__options::-webkit-scrollbar-thumb:hover{background:var(--ms-scrollbar-thumb-bg-hover)}.ms__options--virtual .ms__option,.ms__options--fixed-height .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);margin-top:var(--ms-group-margin-top);padding-top:var(--ms-group-padding-top)}.ms__group-label{padding:var(--ms-group-label-padding);font-size:var(--ms-group-label-font-size);font-weight:var(--ms-group-label-font-weight);color:var(--ms-group-label-color);text-transform:var(--ms-group-label-transform);letter-spacing:var(--ms-group-label-letter-spacing)}.ms__option{display:flex;align-items:var(--ms-checkbox-align, center);gap:var(--ms-option-gap);padding:var(--ms-option-padding);position:relative;min-height:var(--ms-option-min-height, auto);color:var(--ms-option-text-color);background:var(--ms-option-bg);cursor:pointer;user-select:none;-webkit-user-select:none}@media (hover: hover){.ms__option:hover{background:var(--ms-option-bg-hover);color:var(--ms-option-color-hover, inherit)}}.ms__option--focused{background:var(--ms-option-bg-focused);color:var(--ms-option-color-focused, inherit);outline:var(--ms-option-outline-focused);outline-offset:var(--ms-option-focus-outline-offset)}.ms__option--matched{background:var(--ms-option-bg-matched);color:var(--ms-option-color-matched, inherit)}.ms__option--matched:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;border-inline-start:var(--ms-option-border-matched);pointer-events:none}.ms__option--selected{background:var(--ms-option-bg-selected)}@media (hover: hover){.ms__option--selected:hover{background:var(--ms-option-bg-selected-hover, var(--ms-option-bg-selected))}}.ms__option--disabled{opacity:var(--ms-disabled-opacity);cursor:not-allowed;background:var(--ms-option-disabled-bg)}.ms__option--disabled:hover{background:var(--ms-option-disabled-bg)}@media (hover: hover){.ms__option--focused:hover{background:var(--ms-option-bg-focused-hover);color:var(--ms-option-color-focused-hover, var(--ms-option-color-focused, var(--ms-option-text-color)))}}.ms__option--matched:hover{background:var(--ms-option-bg-matched-hover);color:var(--ms-option-color-matched-hover, var(--ms-option-color-matched, var(--ms-option-text-color)))}.ms__option--selected.ms__option--focused{background:var(--ms-option-bg-selected-focused);outline:var(--ms-option-outline-focused);outline-offset:var(--ms-option-focus-outline-offset)}.ms__option--selected.ms__option--matched{background:var(--ms-option-bg-selected-matched)}.ms__option--disabled.ms__option--selected{background:var(--ms-option-bg-disabled-selected)}.ms__option--disabled.ms__option--focused{outline:none}.ms__option[data-checkbox-align=top]{--ms-checkbox-align: flex-start;--ms-checkbox-margin-top: calc(.2 * var(--ms-rem))}.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);margin-inline-end:var(--ms-checkbox-margin-right);margin-bottom:var(--ms-checkbox-margin-bottom);margin-inline-start:var(--ms-checkbox-margin-left);width:var(--ms-checkbox-size);height:var(--ms-checkbox-size);transform:scale(var(--ms-checkbox-scale));transform-origin:top left;cursor:pointer;background:var(--ms-checkbox-bg);border:var(--ms-checkbox-border);border-radius:var(--ms-checkbox-border-radius);transition:background-color .15s ease,border-color .15s ease}.ms__checkbox:after{content:"";position:absolute;display:none;left:50%;top:40%;width:30%;height:55%;transform:translate(-50%,-50%) rotate(45deg);border:solid var(--ms-checkbox-checkmark-color);border-width:0 var(--ms-checkbox-checkmark-thickness, 2px) var(--ms-checkbox-checkmark-thickness, 2px) 0}.ms__checkbox:hover:not(:disabled){border-color:var(--ms-checkbox-hover-border-color)}.ms__checkbox:checked{background:var(--ms-checkbox-checked-bg);border:var(--ms-checkbox-checked-border)}.ms__checkbox:checked:after{display:block}.ms__checkbox--indeterminate{background:var(--ms-checkbox-checked-bg);border:var(--ms-checkbox-checked-border)}.ms__checkbox--indeterminate:after{display:block;top:50%;left:50%;width:55%;height:0;transform:translate(-50%,-50%);border:none;border-bottom:var(--ms-checkbox-checkmark-thickness, 2px) solid var(--ms-checkbox-checkmark-color)}.ms__checkbox--indeterminate:hover:not(:disabled){background:var(--ms-checkbox-checked-bg-hover);border-color:var(--ms-checkbox-checked-border-color-hover)}.ms__checkbox:checked:hover:not(:disabled){background:var(--ms-checkbox-checked-bg-hover);border-color:var(--ms-checkbox-checked-border-color-hover)}.ms__checkbox:focus-visible{outline:2px solid var(--ms-checkbox-checked-bg);outline-offset:2px}.ms__checkbox:disabled{cursor:not-allowed;background:var(--ms-checkbox-disabled-bg);border:var(--ms-checkbox-disabled-border);opacity:.6}.ms__checkbox:disabled:checked{background:var(--ms-checkbox-disabled-bg)}.ms__option--disabled .ms__checkbox{cursor:not-allowed}.ms__option-content{flex:1;display:flex;align-items:center;gap:var(--ms-option-content-gap);min-width:0}.ms__option-icon{flex-shrink:0;width:var(--ms-option-icon-size);height:var(--ms-option-icon-size);display:flex;align-items:center;justify-content:center;font-size:var(--ms-option-icon-font-size)}.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);color:var(--ms-option-title-color);line-height:var(--ms-line-height-relaxed);white-space:var(--ms-option-title-white-space, normal);overflow:var(--ms-option-title-overflow, visible);text-overflow:var(--ms-option-title-text-overflow, clip)}@media (hover: hover){.ms__option:hover .ms__option-title{color:var(--ms-option-title-color-hover, var(--ms-option-title-color))}}.ms__option--selected .ms__option-title{color:var(--ms-option-title-color-selected, var(--ms-option-title-color))}@media (hover: hover){.ms__option--selected:hover .ms__option-title{color:var(--ms-option-title-color-selected-hover, var(--ms-option-title-color-selected, var(--ms-option-title-color)))}}.ms__option-title mark{background:var(--ms-option-mark-bg);color:var(--ms-option-mark-color);font-weight:var(--ms-option-mark-font-weight)}.ms__option-subtitle{margin-top:var(--ms-option-subtitle-margin-top);font-size:var(--ms-option-subtitle-font-size);color:var(--ms-option-subtitle-color);line-height:var(--ms-option-subtitle-line-height)}@media (hover: hover){.ms__option:hover .ms__option-subtitle{color:var(--ms-option-subtitle-color-hover, var(--ms-option-subtitle-color))}}.ms__option--selected .ms__option-subtitle{color:var(--ms-option-subtitle-color-selected, var(--ms-option-subtitle-color))}@media (hover: hover){.ms__option--selected:hover .ms__option-subtitle{color:var(--ms-option-subtitle-color-selected-hover, var(--ms-option-subtitle-color-selected, var(--ms-option-subtitle-color)))}}.ms__empty{display:flex;align-items:center;justify-content:center;min-height:var(--ms-state-min-height);padding:var(--ms-empty-padding);text-align:center;font-size:var(--ms-empty-font-size);color:var(--ms-empty-color)}.ms__loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:var(--ms-state-min-height);padding:var(--ms-loader-padding);gap:var(--ms-loader-gap)}.ms__loading-text{font-size:var(--ms-loading-text-font-size);color:var(--ms-loading-color)}}@layer component{.ms--rtl .ms__badges{direction:rtl}.ms--rtl .ms__badges--right{margin-left:0;margin-right:var(--ms-badges-margin-right)}.ms--rtl .ms__badges--left{margin-right:0;margin-left:var(--ms-badges-margin-left)}.ms--rtl .ms__count-display{direction:rtl}.ms--rtl .ms__count-display--right{margin-left:0;margin-right:var(--ms-count-display-margin-right)}.ms--rtl .ms__count-display--left{margin-right:0;margin-left:var(--ms-count-display-margin-left)}}@layer component{.ms__option--tree{padding-inline-start:calc(var(--ms-tree-base-indent, .75rem) + var(--ms-tree-depth, 0) * var(--ms-tree-indent, 1.25rem))}.ms__option--tree-unselectable{cursor:default}.ms__option--tree-unselectable:hover{background:transparent}}@layer overrides{:host-context([data-theme="dark"]),:host-context([data-bs-theme="dark"]),:host-context(.dark){color-scheme:dark}:host-context([data-theme="light"]),:host-context([data-bs-theme="light"]),:host-context(.light){color-scheme:light}:host([data-theme="dark"]){color-scheme:dark}:host([data-theme="light"]){color-scheme:light}}`,qs=["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"],N=()=>bo(),Lr=[{configKey:"searchHint",attribute:"search-hint",converter:L({isNullable:!0}),on:"update",description:"Small hint text shown beneath the search input."},{configKey:"searchPlaceholder",attribute:"search-placeholder",converter:L({isNullable:!0}),on:"update",description:'Placeholder text for the search input. When unset it defaults to "Search..."; if `show-search-mode-toggle` is on, the default instead becomes mode-aware ("Search…" in navigate, "Filter…" in filter). An explicit value always wins and stays fixed.'},{configKey:"selectPlaceholder",attribute:"select-placeholder",converter:L({default:"Pick an option..."}),on:"update",description:"Placeholder shown on the control when nothing is selected."},{configKey:"noDataPlaceholder",attribute:"no-data-placeholder",converter:L({isNullable:!0}),on:"update",description:"Text shown when there are no options at all."},{configKey:"dropdownMinWidth",attribute:"dropdown-min-width",converter:L({isNullable:!0}),on:"update",description:"Minimum width of the dropdown panel (any CSS length)."},{configKey:"dropdownMaxWidth",attribute:"dropdown-max-width",converter:L({isNullable:!0}),on:"update",description:"Maximum width of the dropdown panel (any CSS length)."},{configKey:"maxHeight",attribute:"max-height",converter:L({default:"20rem"}),on:"update",description:"Maximum height of the dropdown list before it scrolls."},{configKey:"emptyMessage",attribute:"empty-message",converter:L({default:"No results found"}),on:"update",description:"Message shown when a search yields no matches."},{configKey:"loadingMessage",attribute:"loading-message",converter:L({default:"Loading..."}),on:"update",description:"Message shown while options are loading."},{configKey:"removeButtonTooltipText",attribute:"remove-button-tooltip-text",converter:L({isNullable:!0}),on:"update",description:"Tooltip text for a badge remove (×) button."},{configKey:"formFieldId",attribute:"name",converter:L({isNullable:!0}),on:"reinit",description:"HTML form field name/id used for the hidden input(s)."},{configKey:"dropdownWidth",attribute:"dropdown-width",converter:L({isNullable:!0}),on:"update",description:"Fixed dropdown width; mirrored to the `--ms-dropdown-width` CSS variable."},{configKey:"selectedPopoverWidth",attribute:"selected-popover-width",converter:L({isNullable:!0}),on:"update",description:"Selected-items popover width; mirrored to `--ms-selected-popover-width`."},{configKey:"valueMember",attribute:"value-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name on an option object that holds its value."},{configKey:"displayValueMember",attribute:"display-value-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name that holds an option display label."},{configKey:"searchValueMember",attribute:"search-value-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name searched against (falls back to the display value)."},{configKey:"iconMember",attribute:"icon-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name that holds an option icon."},{configKey:"subtitleMember",attribute:"subtitle-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name that holds an option subtitle."},{configKey:"fullTitleMember",attribute:"full-title-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name that holds an option full/long title."},{configKey:"groupMember",attribute:"group-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name used to group options under headers."},{configKey:"disabledMember",attribute:"disabled-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name that marks an option disabled."},{configKey:"pathMember",attribute:"path-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name holding a node materialized tree path."},{configKey:"parentPathMember",attribute:"parent-path-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name holding a node parent path."},{configKey:"levelMember",attribute:"level-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name holding a node depth level."},{configKey:"hasChildrenMember",attribute:"has-children-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name flagging that a node has children."},{configKey:"isSelectableMember",attribute:"is-selectable-member",converter:L({isNullable:!0}),reflect:!0,on:"reinit",description:"Property name marking whether a node can be selected."},{configKey:"treePathSeparator",attribute:"tree-path-separator",converter:L({default:"."}),reflect:!0,on:"reinit",description:"Separator between segments in a materialized tree path."},{configKey:"isTreeEnabled",converter:F("tristate"),on:"reinit",type:"boolean",description:"Force tree mode on/off. Property-only; when unset (null) tree mode auto-enables if a path source (path-member / getPathCallback) is present."},{configKey:"checkboxMode",attribute:"checkbox-mode",converter:k(["independent","cascade"],{default:"independent"}),reflect:!0,on:"update",description:"Tree checkbox interaction.\n- `independent` (default) — toggles only the clicked node.\n- `cascade` — checks a node whole subtree and shows a tristate (checked / indeterminate / unchecked) box on branches.\n\nTree + multiple only."},{configKey:"cascadeSelectPolicy",attribute:"cascade-select-policy",converter:k(["rolled-up","leaves","all"],{default:"rolled-up"}),reflect:!0,on:"update",description:"In `cascade` mode, which values a selection emits (badges / form / change):\n- `rolled-up` (default) — minimal cover: a fully-selected subtree collapses to its root; partially-selected branches emit their individually-checked descendants.\n- `leaves` — only the checked leaf-level nodes.\n- `all` — every fully-checked node (branches and leaves)."},{configKey:"badgesDisplayMode",attribute:"badges-display-mode",converter:k(["badges","count","compact","partial","none"],{default:"badges"}),on:"reinit",description:"How the current selection is shown in the control."},{configKey:"badgesPosition",attribute:"badges-position",converter:k(["top","bottom","left","right"],{default:"bottom"}),on:"reinit",description:"Where the badges/selection appear relative to the input."},{configKey:"badgesThresholdMode",attribute:"badges-threshold-mode",converter:k(["count","partial"],{default:"count"}),on:"update",description:'How `badgesThreshold` is interpreted: collapse to a count badge, or keep partial badges + a "more" badge.'},{configKey:"searchInputMode",attribute:"search-input-mode",converter:k(["normal","readonly","hidden"],{default:"normal"}),on:"reinit",description:"Search field mode: editable, read-only, or hidden."},{configKey:"searchMode",attribute:"search-mode",converter:k(["filter","navigate"],{default:"filter"}),on:"reinit",description:"Whether typing filters the list or navigates it."},{configKey:"actionsLayout",attribute:"actions-layout",converter:k(["nowrap","wrap"],{default:"nowrap"}),on:"reinit",description:"Whether the action bar wraps or stays on one line."},{configKey:"actionsPosition",attribute:"actions-position",converter:k(["top","bottom"],{default:"top"}),on:"reinit",description:"Whether the action bar sits above or below the list."},{configKey:"actionsAlign",attribute:"actions-align",converter:k(["stretch","left","right","center","space-between"],{default:"stretch"}),on:"update",description:"Horizontal alignment of the action buttons."},{configKey:"checkboxAlign",attribute:"checkbox-align",converter:k(["top","center","bottom"],{default:"center"}),on:"update",description:"Vertical alignment of an option checkbox."},{configKey:"valueFormat",attribute:"value-format",converter:k(["json","csv","array"],{default:"json"}),on:"reinit",description:"Serialization format the control emits its value in."},{configKey:"badgeTooltipPlacement",attribute:"badge-tooltip-placement",converter:k(qs,{default:"top"}),on:"update",description:"Preferred placement of a badge tooltip relative to its badge (floating-ui placement)."},{configKey:"optionTooltipPlacement",attribute:"option-tooltip-placement",converter:k(qs,{default:"top-start"}),on:"update",description:"Preferred placement of an option tooltip (floating-ui placement)."},{configKey:"mobilePresentation",attribute:"mobile-presentation",converter:k(["auto","floating","fullscreen"],{default:"auto"}),reflect:!0,on:"update",description:"How the open dropdown is presented on phones. `auto` (default) keeps the floating panel on desktop/tablet and switches to a full-screen overlay on phone-sized touch devices (touch primary + shorter viewport side < 600px, orientation-robust); `floating` forces the anchored panel everywhere; `fullscreen` forces the full-screen overlay on any device (handy for previews/testing). Resolved reactively from the device/viewport environment."},{configKey:"fullscreenAutofocus",attribute:"fullscreen-autofocus",converter:F("default-false"),on:"update",description:"In the phone fullscreen overlay, auto-focus the search field on open (pops the soft keyboard immediately). Default `false`: the sheet opens with the list visible and the keyboard closed, appearing only when the user taps the search. Set `true` to type-to-filter right away. No effect in the floating presentation."},{configKey:"badgesThreshold",attribute:"badges-threshold",converter:z(),on:"update",description:"Threshold at which badges collapse to a count/compact view."},{configKey:"badgesMaxVisible",attribute:"badges-max-visible",converter:z(),on:"update",description:"Maximum number of badges rendered before overflow."},{configKey:"minSearchLength",attribute:"min-search-length",converter:z({default:0}),on:"update",description:"Minimum characters before searching/filtering starts."},{configKey:"searchDebounce",attribute:"search-debounce",converter:z({default:0}),on:"update",description:"Debounce delay in ms applied to the search input."},{configKey:"virtualScrollThreshold",attribute:"virtual-scroll-threshold",converter:z({default:100}),on:"reinit",description:"Option count above which virtual scrolling turns on."},{configKey:"optionHeight",attribute:"option-height",converter:z({default:50}),on:"update",description:"Fixed row height in px used by virtual scrolling."},{configKey:"badgeHeight",attribute:"badge-height",converter:z({default:36}),on:"update",description:"Fixed badge height in px used for layout/virtualization."},{configKey:"virtualScrollBuffer",attribute:"virtual-scroll-buffer",converter:z({default:10}),on:"update",description:"Extra rows rendered above/below the viewport when virtualizing."},{configKey:"badgeTooltipDelay",attribute:"badge-tooltip-delay",converter:z({default:100}),on:"update",description:"Delay in ms before a badge tooltip appears."},{configKey:"badgeTooltipOffset",attribute:"badge-tooltip-offset",converter:z({default:8}),on:"update",description:"Gap in px between a badge and its tooltip."},{configKey:"optionTooltipDelay",attribute:"option-tooltip-delay",converter:z(),on:"update",description:"Delay in ms before an option tooltip appears (falls back to badgeTooltipDelay)."},{configKey:"optionTooltipOffset",attribute:"option-tooltip-offset",converter:z(),on:"update",description:"Gap in px between an option and its tooltip."},{configKey:"isMultipleEnabled",attribute:"multiple",converter:F("default-true"),on:"reinit",description:"Allow selecting multiple options. When off, selecting one replaces the previous."},{configKey:"isGroupsAllowed",attribute:"allow-groups",converter:F("default-true"),on:"reinit",description:"Allow grouping options under group headers."},{configKey:"isCheckboxesShown",attribute:"show-checkboxes",converter:F("default-true"),on:"reinit",description:"Show a checkbox on each option."},{configKey:"isActionsSticky",attribute:"sticky-actions",converter:F("default-true"),on:"update",description:"Keep the action bar pinned while the list scrolls."},{configKey:"isPlacementLocked",attribute:"lock-placement",converter:F("default-true"),on:"update",description:"Keep the dropdown initial placement instead of flipping when it fits."},{configKey:"isSearchEnabled",attribute:"enable-search",converter:F("default-true"),on:"reinit",description:"Show the search input."},{configKey:"isKeepOptionsOnSearch",attribute:"keep-options-on-search",converter:F("default-true"),on:"update",description:"Keep already-selected options visible while filtering."},{configKey:"shouldKeepSearchOnClose",attribute:"should-keep-search-on-close",converter:F("default-true"),on:"update",description:"Preserve the search text after the dropdown closes."},{configKey:"isCloseOnSelect",attribute:"close-on-select",converter:F("default-false"),on:"update",description:"Close the dropdown immediately after a selection."},{configKey:"isAddNewAllowed",attribute:"allow-add-new",converter:F("default-false"),on:"reinit",description:"Allow adding a new option from the search text."},{configKey:"isCounterShown",attribute:"show-counter",converter:F("default-false"),on:"update",description:"Show a selected-count indicator."},{configKey:"isBadgeFullTitleShown",attribute:"show-badge-full-title",converter:F("default-false"),on:"update",description:"Show the full title on badges instead of the short label."},{configKey:"isVirtualScrollEnabled",attribute:"enable-virtual-scroll",converter:F("default-false"),on:"reinit",description:"Force virtual scrolling on regardless of the threshold."},{configKey:"isBadgeTooltipsEnabled",attribute:"enable-badge-tooltips",converter:F("default-false"),on:"update",description:"Enable tooltips on badges."},{configKey:"isOptionTooltipsEnabled",attribute:"enable-option-tooltips",converter:F("default-false"),on:"update",description:"Enable tooltips on options."},{configKey:"isOptionTooltipFollowCursor",attribute:"option-tooltip-follow-cursor",converter:F("default-false"),on:"update",description:"Make option tooltips follow the pointer."},{configKey:"isSearchModeToggleShown",attribute:"show-search-mode-toggle",converter:F("default-false"),on:"update",description:"Show a clickable toggle in the phone fullscreen overlay search header that flips `search-mode` between `filter` and `navigate` live. Fullscreen-only; no effect in the floating presentation or when search is disabled."},{configKey:"initialValues",attribute:"initial-values",converter:Tr(),default:[],on:"reinit",type:"Array<string | number>",description:'Values selected on first render. Accepts a JSON array (`["a","b"]`) or a bare CSV (`a,b,c`).'},{configKey:"showDebugInfo",attribute:"show-debug-info",converter:F("default-false"),on:"update",description:"Render an in-component debug panel.",deprecated:"Use per-instance logging (el.enableLogging()) instead."},{configKey:"options",converter:go(),on:"reinit",type:"ReadonlyArray<Record<string, unknown>>",description:"The array of option objects to render. The JS API — assign `el.options` directly. For HTML authoring use the `data-options` attribute (parsed per `data-options-format`) or declarative <option> children; both feed the same list and take precedence over this property in the order: <option> children > property > data-options."},{configKey:"optionsSource",attribute:"data-options",converter:L({isNullable:!0}),on:"reinit",type:"string",description:"HTML-authoring source for the option list, parsed per `data-options-format`. Reactive: changing either attribute re-renders. Prefer the `options` property in JS; a set `options` property and declarative <option> children both win over this."},{configKey:"optionsFormat",attribute:"data-options-format",converter:k(Fs,{default:"json"}),on:"reinit",type:"'json' | 'csv' | 'plain'",description:"How to parse the `data-options` attribute: `json` (a JSON array of objects or [value, label] tuples), `csv` (rows split on `data-options-row-splitter`, cells on `data-options-splitter`; the first row is a header — map columns via *-member), or `plain` (bare values split on both splitters -> [value, label] tuples, value === label). Default `json`."},{configKey:"optionsSplitter",attribute:"data-options-splitter",converter:L({default:","}),on:"reinit",type:"string",description:'Field/cell delimiter for the `csv` and `plain` `data-options` formats. Default `,`. Escapes `\\t` `\\n` `\\r` are honoured (e.g. `data-options-splitter="\\t"` for TSV). Ignored for `json`.'},{configKey:"optionsRowSplitter",attribute:"data-options-row-splitter",converter:L({default:`
41
+ `}),on:"reinit",type:"string",description:'Row/record delimiter for the `csv` and `plain` `data-options` formats. Default newline. Escapes honoured (e.g. `data-options-row-splitter=";"` for single-line data). Ignored for `json`.'},{configKey:"actionButtons",converter:fo({validate:s=>Array.isArray(s)}),on:"reinit",type:"Array<Record<string, unknown>>",description:"Custom action buttons for the dropdown footer/header. Property-only; when unset the default Select-All / Clear buttons apply."},{configKey:"getValueCallback",converter:N(),on:"reinit",type:"(item: unknown) => string | number",description:"Extract an option value (overrides valueMember)."},{configKey:"getPathCallback",converter:N(),on:"reinit",type:"(item: unknown) => string",description:"Extract a node tree path (enables tree mode; overrides pathMember)."},{configKey:"getGroupCallback",converter:N(),on:"reinit",type:"(item: unknown) => string",description:"Extract the group name from an option (overrides groupMember)."},{configKey:"getDisabledCallback",converter:N(),on:"reinit",type:"(item: unknown) => boolean",description:"Whether an option is disabled (overrides disabledMember)."},{configKey:"getIsSelectableCallback",converter:N(),on:"reinit",type:"(node: unknown) => boolean",description:"Whether a tree node can be selected (overrides is-selectable-member)."},{configKey:"getSearchValueCallback",converter:N(),on:"reinit",type:"(item: unknown) => string",description:"Text an option is searched against (overrides searchValueMember)."},{configKey:"searchCallback",converter:N(),on:"reinit",type:"(searchTerm: string, signal?: AbortSignal) => Promise<unknown[]>",description:"Custom / async search; return the filtered options."},{configKey:"getDisplayValueCallback",converter:N(),on:"update",type:"(item: unknown) => string",description:"Compute the display label for an option (overrides displayValueMember)."},{configKey:"getBadgeDisplayCallback",converter:N(),on:"update",type:"(item: unknown) => string",description:"Compute the text shown on an option badge."},{configKey:"getBadgeClassCallback",converter:N(),on:"update",type:"(item: unknown) => string | string[]",description:"Extra CSS class(es) for an option badge."},{configKey:"getIconCallback",converter:N(),on:"update",type:"(item: unknown) => string",description:"Icon for an option (overrides iconMember)."},{configKey:"getSubtitleCallback",converter:N(),on:"update",type:"(item: unknown) => string",description:"Subtitle for an option (overrides subtitleMember)."},{configKey:"getFullTitleCallback",converter:N(),on:"update",type:"(item: unknown) => string",description:"Full title for an option (used by badges when show-badge-full-title is on)."},{configKey:"getCounterCallback",converter:N(),on:"update",type:"(count: number, moreCount?: number) => string",description:"Render the selected-count label."},{configKey:"getValueFormatCallback",converter:N(),on:"update",type:"(selectedValues: (string | number)[]) => string",description:"Serialize the selected values for form submission."},{configKey:"getBadgeTooltipCallback",converter:N(),on:"update",type:"(item: unknown) => string | HTMLElement",description:"Tooltip content for an option badge."},{configKey:"getOptionTooltipCallback",converter:N(),on:"update",type:"(item: unknown) => string | HTMLElement",description:"Tooltip content for an option row."},{configKey:"getRemoveButtonTooltipCallback",converter:N(),on:"update",type:"(item: unknown) => string",description:"Tooltip text for a badge remove button."},{configKey:"getSelectedItemClassCallback",converter:N(),on:"update",type:"(item: unknown) => string | string[]",description:"Extra CSS class(es) for a selected item."},{configKey:"renderOptionContentCallback",converter:N(),on:"update",type:"(item: unknown, context: OptionContentRenderContext) => string | HTMLElement",description:"Custom render for an option row; may return HTML or an element."},{configKey:"renderBadgeContentCallback",converter:N(),on:"update",type:"(item: unknown, context: BadgeContentRenderContext) => string | HTMLElement",description:"Custom render for a badge; may return HTML or an element."},{configKey:"renderGroupLabelContentCallback",converter:N(),on:"update",type:"(groupName: string) => string | HTMLElement",description:"Customize a group label; may return an HTML string or element."},{configKey:"renderSelectedContentCallback",converter:N(),on:"update",type:"(item: unknown) => string",description:"Custom render for the whole selected area."},{configKey:"renderSelectedItemContentCallback",converter:N(),on:"update",type:"(item: unknown) => string | HTMLElement",description:"Custom render for one selected item."},{configKey:"customStylesCallback",converter:N(),on:"update",type:"() => string",description:"Returns a CSS string injected into the component via a replaceable style slot (§12.8)."},{configKey:"beforeSearchCallback",converter:N(),on:"update",type:"(searchTerm: string) => string | null",description:"Runs before a search; return a rewritten term or null to veto."},{configKey:"beforeSelectCallback",converter:N(),on:"update",type:"(option: unknown, selectedOptions: unknown[]) => boolean | string | void",description:"Runs before selecting; return false to veto, or a string to veto and show it as a message."},{configKey:"beforeDeselectCallback",converter:N(),on:"update",type:"(option: unknown, selectedOptions: unknown[]) => boolean | string | void",description:"Runs before deselecting; return false to veto, or a string to veto and show it as a message."},{configKey:"addNewCallback",converter:N(),on:"update",type:"(value: string) => unknown | Promise<unknown>",description:"Create a new option from the typed text."},{configKey:"keydownCallback",converter:N(),on:"update",type:"(context: MultiSelectKeydownContext) => boolean | void",description:"Intercept keydown before built-in handling; return true to suppress the default. Gets the event, current state, and an imperative controller."}],Er=[{name:"select",description:"An option was selected. `detail.option` is the selected option; `detail.selectedOptions`/`detail.selectedValues` are the full selection."},{name:"deselect",description:"An option was removed from the selection. `detail.option` is that option."},{name:"change",description:"The selection changed. `detail.selectedOptions`/`detail.selectedValues` are the full selection."}],Ys=new Set(["dropdownWidth","selectedPopoverWidth","showDebugInfo","initialValues","optionsSource","optionsFormat","optionsSplitter","optionsRowSplitter","mobilePresentation"]),_t={dropdownWidth:"--ms-dropdown-width",selectedPopoverWidth:"--ms-selected-popover-width"};let Ar=null;function zr(){return Ar??(Ar=Qo(Xs,"--ms-"))}const Nr=[{key:"valueMember",member:"value",callbackKey:"getValueCallback"},{key:"displayValueMember",member:"label",callbackKey:"getDisplayValueCallback"},{key:"groupMember",member:"group",callbackKey:"getGroupCallback"},{key:"iconMember",member:"icon",callbackKey:"getIconCallback"},{key:"subtitleMember",member:"subtitle",callbackKey:"getSubtitleCallback"},{key:"disabledMember",member:"disabled",callbackKey:"getDisabledCallback"}];class Ae extends Et{constructor(){super();$(this,_);$(this,J);$(this,V);$(this,fe);$(this,tt,null);$(this,st,new Set);$(this,ot,!1);$(this,Re,!1);$(this,He);$(this,Oe);R(this,J,this.attachShadow({mode:"open"})),Yo(p(this,J),Xs),typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>this.setAttribute("data-ready","")):this.setAttribute("data-ready","")}formResetCallback(){var t;(t=p(this,V))==null||t.clearAll()}directionChanged(t){var o;(o=p(this,V))==null||o.refreshDirection()}reinit(){x(this,_,lo).call(this),this.isConnected&&x(this,_,Jt).call(this)}update(t){x(this,_,co).call(this,t),"customStylesCallback"in t&&x(this,_,Zt).call(this),"showDebugInfo"in t&&x(this,_,ts).call(this);const o={};for(const[i,r]of Object.entries(t))Ys.has(i)||(o[i]=r===null?void 0:r);p(this,V)&&Object.keys(o).length>0&&(p(this,V).updateOptions(o)||x(this,_,Jt).call(this)),"mobilePresentation"in t&&x(this,_,St).call(this,Lt())}connect(){p(this,V)||x(this,_,Qt).call(this)}disconnect(){var t;(t=p(this,V))==null||t.destroy(),R(this,V,void 0)}environmentChanged(t){x(this,_,St).call(this,t)}get name(){return this.getAttribute("name")}set name(t){t?this.setAttribute("name",t):this.removeAttribute("name")}get selectedValue(){var t;return this.flush(),((t=p(this,V))==null?void 0:t.selectedValue)??null}get selectedItem(){var t;return this.flush(),((t=p(this,V))==null?void 0:t.selectedItem)??null}getSelected(){return this.flush(),p(this,V)?p(this,V).getSelected():[]}setSelected(t,o={}){var i;this.flush(),(i=p(this,V))==null||i.setSelected(t,o)}getValue(){return this.flush(),p(this,V)?p(this,V).getValue():null}showMessage(t,o){var i;this.flush(),(i=p(this,V))==null||i.showMessage(t,o)}hideMessage(){var t;(t=p(this,V))==null||t.hideMessage()}destroy(){var t;(t=p(this,V))==null||t.destroy()}}J=new WeakMap,V=new WeakMap,fe=new WeakMap,tt=new WeakMap,st=new WeakMap,ot=new WeakMap,Re=new WeakMap,He=new WeakMap,Oe=new WeakMap,_=new WeakSet,St=function(t){var r;const o=this.config.mobilePresentation??"auto",i=oi(o,t);(r=p(this,V))==null||r.setPresentation(i==="modal"?"fullscreen":i)},Jt=function(){var t;(t=p(this,V))==null||t.destroy(),R(this,V,void 0),x(this,_,Qt).call(this)},Qt=function(){x(this,_,io).call(this),x(this,_,ho).call(this);const t=x(this,_,ro).call(this),o=x(this,_,no).call(this);o&&o.length>0?p(this,fe).dataset.initialValues=JSON.stringify(o):delete p(this,fe).dataset.initialValues,R(this,V,new Ks(p(this,fe),t)),x(this,_,Zt).call(this),x(this,_,ts).call(this),x(this,_,St).call(this,Lt())},io=function(){if(p(this,fe))return;const t=document.createElement("div");t.setAttribute("data-multiselect",""),this.className&&(t.className=this.className),p(this,J).appendChild(t),R(this,tt,Jo(p(this,J),{position:"first",className:"ms-custom-styles"})),R(this,fe,t)},ro=function(){const t={...this.config};for(const i of Ys)delete t[i];for(const i of Object.keys(t))t[i]===null&&delete t[i];let o=t.options;if(p(this,Re)&&p(this,He))o&&o.length>0&&j.warn("[MultiSelectElement] Both declarative <option> elements and programmatic .options detected. Using declarative options."),o=p(this,He);else if(!o||o.length===0){const i=this.config.optionsSource;if(i!=null){const r=this.config.optionsFormat??"json",{options:n,error:a}=Us(i,r,{splitter:this.config.optionsSplitter,rowSplitter:this.config.optionsRowSplitter});a&&j.error(`[MultiSelectElement] ${a}`),o=n}}if(t.options=o,p(this,Re))for(const{key:i,member:r,callbackKey:n}of Nr)t[i]===void 0&&!t[n]&&(t[i]=r);return t.getCounterCallback||(t.getCounterCallback=(i,r)=>r!==void 0?`+${r} more`:`${i} selected`),t.onSelect=i=>{var r;this.emit("select",{option:i,selectedOptions:((r=p(this,V))==null?void 0:r.getSelected())??[],selectedValues:x(this,_,Tt).call(this)})},t.onDeselect=i=>{var r;this.emit("deselect",{option:i,selectedOptions:((r=p(this,V))==null?void 0:r.getSelected())??[],selectedValues:x(this,_,Tt).call(this)})},t.onChange=i=>{this.emit("change",{selectedOptions:i,selectedValues:x(this,_,Tt).call(this)})},t.container=p(this,J),t.hostElement=this,t},no=function(){if(p(this,Oe)&&p(this,Oe).length>0)return p(this,Oe);const t=this.config.initialValues;return t&&t.length>0?t:void 0},Tt=function(){var o;const t=(o=p(this,V))==null?void 0:o.getValue();return t==null?[]:Array.isArray(t)?t:[t]},Zt=function(){const t=p(this,tt);if(!t)return;const o=this.config.customStylesCallback;if(typeof o!="function"){t.clear();return}try{const i=o();t.set(i),i&&x(this,_,ao).call(this,i)}catch(i){j.warn("[MultiSelectElement] customStylesCallback threw",i),t.clear()}},ao=function(t){const o=zr();if(o.size!==0)for(const{name:i,suggestions:r}of ti(t,{prefix:"--ms-",consumed:o}))p(this,st).has(i)||(p(this,st).add(i),console.warn(`[web-multiselect] customStylesCallback sets "${i}", which no web-multiselect style consumes — it will have no effect.`+(r.length?` Did you mean: ${r.join(", ")}?`:"")+" (If it's for your own custom-rendered content, ignore this.)"))},lo=function(){for(const t of Object.keys(_t))x(this,_,es).call(this,_t[t],this.config[t])},co=function(t){for(const o of Object.keys(_t))o in t&&x(this,_,es).call(this,_t[o],t[o])},es=function(t,o){o==null||o===""?this.style.removeProperty(t):this.style.setProperty(t,String(o))},ho=function(){if(p(this,ot))return;R(this,ot,!0);const t=x(this,_,uo).call(this);t&&(R(this,He,t),R(this,Re,!0))},uo=function(){const t=Array.from(this.children);if(t.length===0)return null;const o=[];let i=!1;const r=(n,a)=>{var c,d;const l={value:n.value||((c=n.textContent)==null?void 0:c.trim())||"",label:((d=n.textContent)==null?void 0:d.trim())||n.value||""};a&&(l.group=a),n.hasAttribute("selected")&&(p(this,Oe)??R(this,Oe,[])).push(l.value),n.hasAttribute("disabled")&&(l.disabled=!0),n.hasAttribute("data-icon")&&(l.icon=n.getAttribute("data-icon")),n.hasAttribute("data-subtitle")&&(l.subtitle=n.getAttribute("data-subtitle")),o.push(l),i=!0};for(const n of t)if(n.tagName==="OPTION")r(n);else if(n.tagName==="OPTGROUP"){const a=n,l=a.label||a.getAttribute("label")||"Group";for(const c of Array.from(a.querySelectorAll("option")))r(c,l)}if(!i)return null;j.debug(`[MultiSelectElement] Parsed ${o.length} declarative options from Light DOM`);for(const n of t)(n.tagName==="OPTION"||n.tagName==="OPTGROUP")&&n.remove();return o},ts=function(){const t=p(this,J).querySelector(".ms__debug-info");if(t&&t.remove(),!this.config.showDebugInfo)return;const o=document.createElement("div");o.className="ms__debug-info";const i=document.createElement("details"),r=document.createElement("summary");r.textContent="Debug Info";const n=document.createElement("div");n.className="ms__debug-stats",i.appendChild(r),i.appendChild(n),o.appendChild(i),p(this,J).appendChild(o),x(this,_,ss).call(this)},ss=function(){var l,c,d,h;const t=p(this,J).querySelector(".ms__debug-stats");if(!t||!p(this,V))return;const o="2.0.0-rc09",i=typeof window<"u"&&((c=(l=window.components)==null?void 0:l["web-multiselect"])==null?void 0:c.getInstances().length)||0,r=p(this,V).getSelected().length,n=((d=this.config.options)==null?void 0:d.length)||0,a=p(this,V);t.innerHTML=`
42
42
  <span>Version: ${o}</span>
43
43
  <span>Total Instances: ${i}</span>
44
44
  <span>Options: ${n}</span>
@@ -47,4 +47,4 @@ ${o}`:t}attachOptionTooltips(){if(this.destroyAllOptionTooltips(),!this.options.
47
47
  <span>Dropdown: ${a.isOpen?"Open":"Closed"}</span>
48
48
  <span>Search: ${a.searchTerm||"none"}</span>
49
49
  <span>Loading: ${a.isLoading?"Yes":"No"}</span>
50
- `,setTimeout(()=>{this.config.showDebugInfo&&x(this,_,ss).call(this)},500)},u(Ae,"formAssociated",!0),u(Ae,"inputs",Lr),u(Ae,"events",Er),typeof customElements<"u"&&!customElements.get("web-multiselect")&&customElements.define("web-multiselect",Ae),Xo("web-multiselect",Ae,{config:{name:"@keenmate/web-multiselect",version:"2.0.0-rc08",author:"Keenmate",license:"MIT",repository:"git+https://github.com/keenmate/web-multiselect.git",homepage:"https://web-multiselect.keenmate.dev"},logging:ne}),S.LOGGING_CATEGORIES=br,S.MultiSelectElement=Ae,S.OPTIONS_FORMATS=Fs,S.WebMultiSelect=Ks,S.dataLogger=j,S.disableLogging=yr,S.enableLogging=vr,S.initLogger=Xe,S.interactionLogger=U,S.parseOptionsData=Us,S.setCategoryLevel=xr,S.setLogLevel=wr,S.uiLogger=Y,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});
50
+ `,setTimeout(()=>{this.config.showDebugInfo&&x(this,_,ss).call(this)},500)},u(Ae,"formAssociated",!0),u(Ae,"inputs",Lr),u(Ae,"events",Er),typeof customElements<"u"&&!customElements.get("web-multiselect")&&customElements.define("web-multiselect",Ae),Xo("web-multiselect",Ae,{config:{name:"@keenmate/web-multiselect",version:"2.0.0-rc09",author:"Keenmate",license:"MIT",repository:"git+https://github.com/keenmate/web-multiselect.git",homepage:"https://web-multiselect.keenmate.dev"},logging:ne}),S.LOGGING_CATEGORIES=br,S.MultiSelectElement=Ae,S.OPTIONS_FORMATS=Fs,S.WebMultiSelect=Ks,S.dataLogger=j,S.disableLogging=yr,S.enableLogging=vr,S.initLogger=Xe,S.interactionLogger=U,S.parseOptionsData=Us,S.setCategoryLevel=xr,S.setLogLevel=wr,S.uiLogger=Y,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});