@keenmate/web-multiselect 1.10.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,9 @@
1
- (function(y,I){typeof exports=="object"&&typeof module<"u"?I(exports):typeof define=="function"&&define.amd?define(["exports"],I):(y=typeof globalThis<"u"?globalThis:y||self,I(y.MultiSelect={}))})(this,function(y){"use strict";var xs=Object.defineProperty;var Cs=(y,I,L)=>I in y?xs(y,I,{enumerable:!0,configurable:!0,writable:!0,value:L}):y[I]=L;var d=(y,I,L)=>Cs(y,typeof I!="symbol"?I+"":I,L);const I=Math.min,L=Math.max,ie=Math.round,re=Math.floor,V=s=>({x:s,y:s}),bt={left:"right",right:"left",bottom:"top",top:"bottom"},ft={start:"end",end:"start"};function Pe(s,e,t){return L(s,I(e,t))}function ne(s,e){return typeof s=="function"?s(e):s}function F(s){return s.split("-")[0]}function ae(s){return s.split("-")[1]}function Ee(s){return s==="x"?"y":"x"}function ze(s){return s==="y"?"height":"width"}const vt=new Set(["top","bottom"]);function $(s){return vt.has(F(s))?"y":"x"}function Ve(s){return Ee($(s))}function _t(s,e,t){t===void 0&&(t=!1);const o=ae(s),i=Ve(s),r=ze(i);let n=i==="x"?o===(t?"end":"start")?"right":"left":o==="start"?"bottom":"top";return e.reference[r]>e.floating[r]&&(n=le(n)),[n,le(n)]}function wt(s){const e=le(s);return[be(s),e,be(e)]}function be(s){return s.replace(/start|end/g,e=>ft[e])}const Be=["left","right"],De=["right","left"],kt=["top","bottom"],yt=["bottom","top"];function xt(s,e,t){switch(s){case"top":case"bottom":return t?e?De:Be:e?Be:De;case"left":case"right":return e?kt:yt;default:return[]}}function Ct(s,e,t,o){const i=ae(s);let r=xt(F(s),t==="start",o);return i&&(r=r.map(n=>n+"-"+i),e&&(r=r.concat(r.map(be)))),r}function le(s){return s.replace(/left|right|bottom|top/g,e=>bt[e])}function St(s){return{top:0,right:0,bottom:0,left:0,...s}}function Tt(s){return typeof s!="number"?St(s):{top:s,right:s,bottom:s,left:s}}function ce(s){const{x:e,y:t,width:o,height:i}=s;return{width:o,height:i,top:t,left:e,right:e+o,bottom:t+i,x:e,y:t}}function $e(s,e,t){let{reference:o,floating:i}=s;const r=$(e),n=Ve(e),a=ze(n),l=F(e),c=r==="y",h=o.x+o.width/2-i.width/2,p=o.y+o.height/2-i.height/2,u=o[a]/2-i[a]/2;let m;switch(l){case"top":m={x:h,y:o.y-i.height};break;case"bottom":m={x:h,y:o.y+o.height};break;case"right":m={x:o.x+o.width,y:p};break;case"left":m={x:o.x-i.width,y:p};break;default:m={x:o.x,y:o.y}}switch(ae(e)){case"start":m[n]-=u*(t&&c?-1:1);break;case"end":m[n]+=u*(t&&c?-1:1);break}return m}const It=async(s,e,t)=>{const{placement:o="bottom",strategy:i="absolute",middleware:r=[],platform:n}=t,a=r.filter(Boolean),l=await(n.isRTL==null?void 0:n.isRTL(e));let c=await n.getElementRects({reference:s,floating:e,strategy:i}),{x:h,y:p}=$e(c,o,l),u=o,m={},g=0;for(let b=0;b<a.length;b++){const{name:f,fn:v}=a[b],{x:w,y:k,data:T,reset:C}=await v({x:h,y:p,initialPlacement:o,placement:u,strategy:i,middlewareData:m,rects:c,platform:n,elements:{reference:s,floating:e}});h=w??h,p=k??p,m={...m,[f]:{...m[f],...T}},C&&g<=50&&(g++,typeof C=="object"&&(C.placement&&(u=C.placement),C.rects&&(c=C.rects===!0?await n.getElementRects({reference:s,floating:e,strategy:i}):C.rects),{x:h,y:p}=$e(c,u,l)),b=-1)}return{x:h,y:p,placement:u,strategy:i,middlewareData:m}};async function He(s,e){var t;e===void 0&&(e={});const{x:o,y:i,platform:r,rects:n,elements:a,strategy:l}=s,{boundary:c="clippingAncestors",rootBoundary:h="viewport",elementContext:p="floating",altBoundary:u=!1,padding:m=0}=ne(e,s),g=Tt(m),f=a[u?p==="floating"?"reference":"floating":p],v=ce(await r.getClippingRect({element:(t=await(r.isElement==null?void 0:r.isElement(f)))==null||t?f:f.contextElement||await(r.getDocumentElement==null?void 0:r.getDocumentElement(a.floating)),boundary:c,rootBoundary:h,strategy:l})),w=p==="floating"?{x:o,y:i,width:n.floating.width,height:n.floating.height}:n.reference,k=await(r.getOffsetParent==null?void 0:r.getOffsetParent(a.floating)),T=await(r.isElement==null?void 0:r.isElement(k))?await(r.getScale==null?void 0:r.getScale(k))||{x:1,y:1}:{x:1,y:1},C=ce(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:w,offsetParent:k,strategy:l}):w);return{top:(v.top-C.top+g.top)/T.y,bottom:(C.bottom-v.bottom+g.bottom)/T.y,left:(v.left-C.left+g.left)/T.x,right:(C.right-v.right+g.right)/T.x}}const Ot=function(s){return s===void 0&&(s={}),{name:"flip",options:s,async fn(e){var t,o;const{placement:i,middlewareData:r,rects:n,initialPlacement:a,platform:l,elements:c}=e,{mainAxis:h=!0,crossAxis:p=!0,fallbackPlacements:u,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:b=!0,...f}=ne(s,e);if((t=r.arrow)!=null&&t.alignmentOffset)return{};const v=F(i),w=$(a),k=F(a)===a,T=await(l.isRTL==null?void 0:l.isRTL(c.floating)),C=u||(k||!b?[le(a)]:wt(a)),se=g!=="none";!u&&se&&C.push(...Ct(a,b,g,T));const Y=[a,...C],Ae=await He(e,f),ge=[];let J=((o=r.flip)==null?void 0:o.overflows)||[];if(h&&ge.push(Ae[v]),p){const G=_t(i,n,T);ge.push(Ae[G[0]],Ae[G[1]])}if(J=[...J,{placement:i,overflows:ge}],!ge.every(G=>G<=0)){var pt,ut;const G=(((pt=r.flip)==null?void 0:pt.index)||0)+1,Me=Y[G];if(Me&&(!(p==="alignment"?w!==$(Me):!1)||J.every(z=>$(z.placement)===w?z.overflows[0]>0:!0)))return{data:{index:G,overflows:J},reset:{placement:Me}};let oe=(ut=J.filter(j=>j.overflows[0]<=0).sort((j,z)=>j.overflows[1]-z.overflows[1])[0])==null?void 0:ut.placement;if(!oe)switch(m){case"bestFit":{var gt;const j=(gt=J.filter(z=>{if(se){const R=$(z.placement);return R===w||R==="y"}return!0}).map(z=>[z.placement,z.overflows.filter(R=>R>0).reduce((R,ys)=>R+ys,0)]).sort((z,R)=>z[1]-R[1])[0])==null?void 0:gt[0];j&&(oe=j);break}case"initialPlacement":oe=a;break}if(i!==oe)return{reset:{placement:oe}}}return{}}}},Lt=new Set(["left","top"]);async function At(s,e){const{placement:t,platform:o,elements:i}=s,r=await(o.isRTL==null?void 0:o.isRTL(i.floating)),n=F(t),a=ae(t),l=$(t)==="y",c=Lt.has(n)?-1:1,h=r&&l?-1:1,p=ne(e,s);let{mainAxis:u,crossAxis:m,alignmentAxis:g}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return a&&typeof g=="number"&&(m=a==="end"?g*-1:g),l?{x:m*h,y:u*c}:{x:u*c,y:m*h}}const Mt=function(s){return s===void 0&&(s=0),{name:"offset",options:s,async fn(e){var t,o;const{x:i,y:r,placement:n,middlewareData:a}=e,l=await At(e,s);return n===((t=a.offset)==null?void 0:t.placement)&&(o=a.arrow)!=null&&o.alignmentOffset?{}:{x:i+l.x,y:r+l.y,data:{...l,placement:n}}}}},Pt=function(s){return s===void 0&&(s={}),{name:"shift",options:s,async fn(e){const{x:t,y:o,placement:i}=e,{mainAxis:r=!0,crossAxis:n=!1,limiter:a={fn:f=>{let{x:v,y:w}=f;return{x:v,y:w}}},...l}=ne(s,e),c={x:t,y:o},h=await He(e,l),p=$(F(i)),u=Ee(p);let m=c[u],g=c[p];if(r){const f=u==="y"?"top":"left",v=u==="y"?"bottom":"right",w=m+h[f],k=m-h[v];m=Pe(w,m,k)}if(n){const f=p==="y"?"top":"left",v=p==="y"?"bottom":"right",w=g+h[f],k=g-h[v];g=Pe(w,g,k)}const b=a.fn({...e,[u]:m,[p]:g});return{...b,data:{x:b.x-t,y:b.y-o,enabled:{[u]:r,[p]:n}}}}}};function de(){return typeof window<"u"}function U(s){return Re(s)?(s.nodeName||"").toLowerCase():"#document"}function O(s){var e;return(s==null||(e=s.ownerDocument)==null?void 0:e.defaultView)||window}function B(s){var e;return(e=(Re(s)?s.ownerDocument:s.document)||window.document)==null?void 0:e.documentElement}function Re(s){return de()?s instanceof Node||s instanceof O(s).Node:!1}function A(s){return de()?s instanceof Element||s instanceof O(s).Element:!1}function D(s){return de()?s instanceof HTMLElement||s instanceof O(s).HTMLElement:!1}function Fe(s){return!de()||typeof ShadowRoot>"u"?!1:s instanceof ShadowRoot||s instanceof O(s).ShadowRoot}const Et=new Set(["inline","contents"]);function X(s){const{overflow:e,overflowX:t,overflowY:o,display:i}=M(s);return/auto|scroll|overlay|hidden|clip/.test(e+o+t)&&!Et.has(i)}const zt=new Set(["table","td","th"]);function Vt(s){return zt.has(U(s))}const Bt=[":popover-open",":modal"];function he(s){return Bt.some(e=>{try{return s.matches(e)}catch{return!1}})}const Dt=["transform","translate","scale","rotate","perspective"],$t=["transform","translate","scale","rotate","perspective","filter"],Ht=["paint","layout","strict","content"];function fe(s){const e=ve(),t=A(s)?M(s):s;return Dt.some(o=>t[o]?t[o]!=="none":!1)||(t.containerType?t.containerType!=="normal":!1)||!e&&(t.backdropFilter?t.backdropFilter!=="none":!1)||!e&&(t.filter?t.filter!=="none":!1)||$t.some(o=>(t.willChange||"").includes(o))||Ht.some(o=>(t.contain||"").includes(o))}function Rt(s){let e=H(s);for(;D(e)&&!K(e);){if(fe(e))return e;if(he(e))return null;e=H(e)}return null}function ve(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const Ft=new Set(["html","body","#document"]);function K(s){return Ft.has(U(s))}function M(s){return O(s).getComputedStyle(s)}function me(s){return A(s)?{scrollLeft:s.scrollLeft,scrollTop:s.scrollTop}:{scrollLeft:s.scrollX,scrollTop:s.scrollY}}function H(s){if(U(s)==="html")return s;const e=s.assignedSlot||s.parentNode||Fe(s)&&s.host||B(s);return Fe(e)?e.host:e}function Ne(s){const e=H(s);return K(e)?s.ownerDocument?s.ownerDocument.body:s.body:D(e)&&X(e)?e:Ne(e)}function Q(s,e,t){var o;e===void 0&&(e=[]),t===void 0&&(t=!0);const i=Ne(s),r=i===((o=s.ownerDocument)==null?void 0:o.body),n=O(i);if(r){const a=_e(n);return e.concat(n,n.visualViewport||[],X(i)?i:[],a&&t?Q(a):[])}return e.concat(i,Q(i,[],t))}function _e(s){return s.parent&&Object.getPrototypeOf(s.parent)?s.frameElement:null}function We(s){const e=M(s);let t=parseFloat(e.width)||0,o=parseFloat(e.height)||0;const i=D(s),r=i?s.offsetWidth:t,n=i?s.offsetHeight:o,a=ie(t)!==r||ie(o)!==n;return a&&(t=r,o=n),{width:t,height:o,$:a}}function we(s){return A(s)?s:s.contextElement}function q(s){const e=we(s);if(!D(e))return V(1);const t=e.getBoundingClientRect(),{width:o,height:i,$:r}=We(e);let n=(r?ie(t.width):t.width)/o,a=(r?ie(t.height):t.height)/i;return(!n||!Number.isFinite(n))&&(n=1),(!a||!Number.isFinite(a))&&(a=1),{x:n,y:a}}const Nt=V(0);function Ge(s){const e=O(s);return!ve()||!e.visualViewport?Nt:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function Wt(s,e,t){return e===void 0&&(e=!1),!t||e&&t!==O(s)?!1:e}function N(s,e,t,o){e===void 0&&(e=!1),t===void 0&&(t=!1);const i=s.getBoundingClientRect(),r=we(s);let n=V(1);e&&(o?A(o)&&(n=q(o)):n=q(s));const a=Wt(r,t,o)?Ge(r):V(0);let l=(i.left+a.x)/n.x,c=(i.top+a.y)/n.y,h=i.width/n.x,p=i.height/n.y;if(r){const u=O(r),m=o&&A(o)?O(o):o;let g=u,b=_e(g);for(;b&&o&&m!==g;){const f=q(b),v=b.getBoundingClientRect(),w=M(b),k=v.left+(b.clientLeft+parseFloat(w.paddingLeft))*f.x,T=v.top+(b.clientTop+parseFloat(w.paddingTop))*f.y;l*=f.x,c*=f.y,h*=f.x,p*=f.y,l+=k,c+=T,g=O(b),b=_e(g)}}return ce({width:h,height:p,x:l,y:c})}function pe(s,e){const t=me(s).scrollLeft;return e?e.left+t:N(B(s)).left+t}function je(s,e){const t=s.getBoundingClientRect(),o=t.left+e.scrollLeft-pe(s,t),i=t.top+e.scrollTop;return{x:o,y:i}}function Gt(s){let{elements:e,rect:t,offsetParent:o,strategy:i}=s;const r=i==="fixed",n=B(o),a=e?he(e.floating):!1;if(o===n||a&&r)return t;let l={scrollLeft:0,scrollTop:0},c=V(1);const h=V(0),p=D(o);if((p||!p&&!r)&&((U(o)!=="body"||X(n))&&(l=me(o)),D(o))){const m=N(o);c=q(o),h.x=m.x+o.clientLeft,h.y=m.y+o.clientTop}const u=n&&!p&&!r?je(n,l):V(0);return{width:t.width*c.x,height:t.height*c.y,x:t.x*c.x-l.scrollLeft*c.x+h.x+u.x,y:t.y*c.y-l.scrollTop*c.y+h.y+u.y}}function jt(s){return Array.from(s.getClientRects())}function Ut(s){const e=B(s),t=me(s),o=s.ownerDocument.body,i=L(e.scrollWidth,e.clientWidth,o.scrollWidth,o.clientWidth),r=L(e.scrollHeight,e.clientHeight,o.scrollHeight,o.clientHeight);let n=-t.scrollLeft+pe(s);const a=-t.scrollTop;return M(o).direction==="rtl"&&(n+=L(e.clientWidth,o.clientWidth)-i),{width:i,height:r,x:n,y:a}}const Ue=25;function Kt(s,e){const t=O(s),o=B(s),i=t.visualViewport;let r=o.clientWidth,n=o.clientHeight,a=0,l=0;if(i){r=i.width,n=i.height;const h=ve();(!h||h&&e==="fixed")&&(a=i.offsetLeft,l=i.offsetTop)}const c=pe(o);if(c<=0){const h=o.ownerDocument,p=h.body,u=getComputedStyle(p),m=h.compatMode==="CSS1Compat"&&parseFloat(u.marginLeft)+parseFloat(u.marginRight)||0,g=Math.abs(o.clientWidth-p.clientWidth-m);g<=Ue&&(r-=g)}else c<=Ue&&(r+=c);return{width:r,height:n,x:a,y:l}}const qt=new Set(["absolute","fixed"]);function Yt(s,e){const t=N(s,!0,e==="fixed"),o=t.top+s.clientTop,i=t.left+s.clientLeft,r=D(s)?q(s):V(1),n=s.clientWidth*r.x,a=s.clientHeight*r.y,l=i*r.x,c=o*r.y;return{width:n,height:a,x:l,y:c}}function Ke(s,e,t){let o;if(e==="viewport")o=Kt(s,t);else if(e==="document")o=Ut(B(s));else if(A(e))o=Yt(e,t);else{const i=Ge(s);o={x:e.x-i.x,y:e.y-i.y,width:e.width,height:e.height}}return ce(o)}function qe(s,e){const t=H(s);return t===e||!A(t)||K(t)?!1:M(t).position==="fixed"||qe(t,e)}function Jt(s,e){const t=e.get(s);if(t)return t;let o=Q(s,[],!1).filter(a=>A(a)&&U(a)!=="body"),i=null;const r=M(s).position==="fixed";let n=r?H(s):s;for(;A(n)&&!K(n);){const a=M(n),l=fe(n);!l&&a.position==="fixed"&&(i=null),(r?!l&&!i:!l&&a.position==="static"&&!!i&&qt.has(i.position)||X(n)&&!l&&qe(s,n))?o=o.filter(h=>h!==n):i=a,n=H(n)}return e.set(s,o),o}function Xt(s){let{element:e,boundary:t,rootBoundary:o,strategy:i}=s;const n=[...t==="clippingAncestors"?he(e)?[]:Jt(e,this._c):[].concat(t),o],a=n[0],l=n.reduce((c,h)=>{const p=Ke(e,h,i);return c.top=L(p.top,c.top),c.right=I(p.right,c.right),c.bottom=I(p.bottom,c.bottom),c.left=L(p.left,c.left),c},Ke(e,a,i));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function Qt(s){const{width:e,height:t}=We(s);return{width:e,height:t}}function Zt(s,e,t){const o=D(e),i=B(e),r=t==="fixed",n=N(s,!0,r,e);let a={scrollLeft:0,scrollTop:0};const l=V(0);function c(){l.x=pe(i)}if(o||!o&&!r)if((U(e)!=="body"||X(i))&&(a=me(e)),o){const m=N(e,!0,r,e);l.x=m.x+e.clientLeft,l.y=m.y+e.clientTop}else i&&c();r&&!o&&i&&c();const h=i&&!o&&!r?je(i,a):V(0),p=n.left+a.scrollLeft-l.x-h.x,u=n.top+a.scrollTop-l.y-h.y;return{x:p,y:u,width:n.width,height:n.height}}function ke(s){return M(s).position==="static"}function Ye(s,e){if(!D(s)||M(s).position==="fixed")return null;if(e)return e(s);let t=s.offsetParent;return B(s)===t&&(t=t.ownerDocument.body),t}function Je(s,e){const t=O(s);if(he(s))return t;if(!D(s)){let i=H(s);for(;i&&!K(i);){if(A(i)&&!ke(i))return i;i=H(i)}return t}let o=Ye(s,e);for(;o&&Vt(o)&&ke(o);)o=Ye(o,e);return o&&K(o)&&ke(o)&&!fe(o)?t:o||Rt(s)||t}const es=async function(s){const e=this.getOffsetParent||Je,t=this.getDimensions,o=await t(s.floating);return{reference:Zt(s.reference,await e(s.floating),s.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function ts(s){return M(s).direction==="rtl"}const ss={convertOffsetParentRelativeRectToViewportRelativeRect:Gt,getDocumentElement:B,getClippingRect:Xt,getOffsetParent:Je,getElementRects:es,getClientRects:jt,getDimensions:Qt,getScale:q,isElement:A,isRTL:ts};function Xe(s,e){return s.x===e.x&&s.y===e.y&&s.width===e.width&&s.height===e.height}function os(s,e){let t=null,o;const i=B(s);function r(){var a;clearTimeout(o),(a=t)==null||a.disconnect(),t=null}function n(a,l){a===void 0&&(a=!1),l===void 0&&(l=1),r();const c=s.getBoundingClientRect(),{left:h,top:p,width:u,height:m}=c;if(a||e(),!u||!m)return;const g=re(p),b=re(i.clientWidth-(h+u)),f=re(i.clientHeight-(p+m)),v=re(h),k={rootMargin:-g+"px "+-b+"px "+-f+"px "+-v+"px",threshold:L(0,I(1,l))||1};let T=!0;function C(se){const Y=se[0].intersectionRatio;if(Y!==l){if(!T)return n();Y?n(!1,Y):o=setTimeout(()=>{n(!1,1e-7)},1e3)}Y===1&&!Xe(c,s.getBoundingClientRect())&&n(),T=!1}try{t=new IntersectionObserver(C,{...k,root:i.ownerDocument})}catch{t=new IntersectionObserver(C,k)}t.observe(s)}return n(!0),r}function ye(s,e,t,o){o===void 0&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:n=typeof ResizeObserver=="function",layoutShift:a=typeof IntersectionObserver=="function",animationFrame:l=!1}=o,c=we(s),h=i||r?[...c?Q(c):[],...Q(e)]:[];h.forEach(v=>{i&&v.addEventListener("scroll",t,{passive:!0}),r&&v.addEventListener("resize",t)});const p=c&&a?os(c,t):null;let u=-1,m=null;n&&(m=new ResizeObserver(v=>{let[w]=v;w&&w.target===c&&m&&(m.unobserve(e),cancelAnimationFrame(u),u=requestAnimationFrame(()=>{var k;(k=m)==null||k.observe(e)})),t()}),c&&!l&&m.observe(c),m.observe(e));let g,b=l?N(s):null;l&&f();function f(){const v=N(s);b&&!Xe(b,v)&&t(),b=v,g=requestAnimationFrame(f)}return t(),()=>{var v;h.forEach(w=>{i&&w.removeEventListener("scroll",t),r&&w.removeEventListener("resize",t)}),p==null||p(),(v=m)==null||v.disconnect(),m=null,l&&cancelAnimationFrame(g)}}const xe=Mt,Ce=Pt,Qe=Ot,Se=(s,e,t)=>{const o=new Map,i={platform:ss,...t},r={...i.platform,_c:o};return It(s,e,{...i,platform:r})};var Ze=function(){},P="undefined",is=typeof window!==P&&typeof window.navigator!==P&&/Trident\/|MSIE /.test(window.navigator.userAgent),Te=["trace","debug","info","warn","error"],Z={},_=null;function et(s,e){var t=s[e];if(typeof t.bind=="function")return t.bind(s);try{return Function.prototype.bind.call(t,s)}catch{return function(){return Function.prototype.apply.apply(t,[s,arguments])}}}function rs(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function ns(s){return s==="debug"&&(s="log"),typeof console===P?!1:s==="trace"&&is?rs:console[s]!==void 0?et(console,s):console.log!==void 0?et(console,"log"):Ze}function ee(){for(var s=this.getLevel(),e=0;e<Te.length;e++){var t=Te[e];this[t]=e<s?Ze:this.methodFactory(t,s,this.name)}if(this.log=this.debug,typeof console===P&&s<this.levels.SILENT)return"No console available for logging"}function as(s){return function(){typeof console!==P&&(ee.call(this),this[s].apply(this,arguments))}}function ls(s,e,t){return ns(s)||as.apply(this,arguments)}function tt(s,e){var t=this,o,i,r,n="loglevel";typeof s=="string"?n+=":"+s:typeof s=="symbol"&&(n=void 0);function a(u){var m=(Te[u]||"silent").toUpperCase();if(!(typeof window===P||!n)){try{window.localStorage[n]=m;return}catch{}try{window.document.cookie=encodeURIComponent(n)+"="+m+";"}catch{}}}function l(){var u;if(!(typeof window===P||!n)){try{u=window.localStorage[n]}catch{}if(typeof u===P)try{var m=window.document.cookie,g=encodeURIComponent(n),b=m.indexOf(g+"=");b!==-1&&(u=/^([^;]+)/.exec(m.slice(b+g.length+1))[1])}catch{}return t.levels[u]===void 0&&(u=void 0),u}}function c(){if(!(typeof window===P||!n)){try{window.localStorage.removeItem(n)}catch{}try{window.document.cookie=encodeURIComponent(n)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}function h(u){var m=u;if(typeof m=="string"&&t.levels[m.toUpperCase()]!==void 0&&(m=t.levels[m.toUpperCase()]),typeof m=="number"&&m>=0&&m<=t.levels.SILENT)return m;throw new TypeError("log.setLevel() called with invalid level: "+u)}t.name=s,t.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},t.methodFactory=e||ls,t.getLevel=function(){return r??i??o},t.setLevel=function(u,m){return r=h(u),m!==!1&&a(r),ee.call(t)},t.setDefaultLevel=function(u){i=h(u),l()||t.setLevel(u,!1)},t.resetLevel=function(){r=null,c(),ee.call(t)},t.enableAll=function(u){t.setLevel(t.levels.TRACE,u)},t.disableAll=function(u){t.setLevel(t.levels.SILENT,u)},t.rebuild=function(){if(_!==t&&(o=h(_.getLevel())),ee.call(t),_===t)for(var u in Z)Z[u].rebuild()},o=h(_?_.getLevel():"WARN");var p=l();p!=null&&(r=h(p)),ee.call(t)}_=new tt,_.getLogger=function(e){if(typeof e!="symbol"&&typeof e!="string"||e==="")throw new TypeError("You must supply a name when creating a logger.");var t=Z[e];return t||(t=Z[e]=new tt(e,_.methodFactory)),t};var cs=typeof window!==P?window.log:void 0;_.noConflict=function(){return typeof window!==P&&window.log===_&&(window.log=cs),_},_.getLoggers=function(){return Z},_.default=_;var ds=function(s){for(var e=1,t=arguments.length,o;e<t;e++)for(o in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],o)&&(s[o]=arguments[e][o]);return s},hs={template:"[%t] %l:",levelFormatter:function(s){return s.toUpperCase()},nameFormatter:function(s){return s||"root"},timestampFormatter:function(s){return s.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,"$1")},format:void 0},st,W={},ms=function(s){if(!s||!s.getLogger)throw new TypeError("Argument is not a root logger");st=s},ps=function(s,e){if(!s||!s.setLevel)throw new TypeError("Argument is not a logger");var t=s.methodFactory,o=s.name||"",i=W[o]||W[""]||hs;function r(n,a,l){var c=t(n,a,l),h=W[l]||W[""],p=h.template.indexOf("%t")!==-1,u=h.template.indexOf("%l")!==-1,m=h.template.indexOf("%n")!==-1;return function(){for(var g="",b=arguments.length,f=Array(b),v=0;v<b;v++)f[v]=arguments[v];if(o||!W[l]){var w=h.timestampFormatter(new Date),k=h.levelFormatter(n),T=h.nameFormatter(l);h.format?g+=h.format(k,T,w):(g+=h.template,p&&(g=g.replace(/%t/,w)),u&&(g=g.replace(/%l/,k)),m&&(g=g.replace(/%n/,T))),f.length&&typeof f[0]=="string"?f[0]=g+" "+f[0]:f.unshift(g)}c.apply(void 0,f)}}return W[o]||(s.methodFactory=r),e=e||{},e.template&&(e.format=void 0),W[o]=ds({},i,e),s.setLevel(s.getLevel()),st||s.warn("It is necessary to call the function reg() of loglevel-plugin-prefix before calling apply. From the next release, it will throw an error. See more: https://github.com/kutuluk/loglevel-plugin-prefix/blob/master/README.md"),s},us={reg:ms,apply:ps};const gs={debug:"#0ea5e9",info:"#10b981",warn:"#f59e0b",error:"#ef4444"};us.reg(_);const bs=s=>s.toTimeString().split(" ")[0]+"."+s.getMilliseconds().toString().padStart(3,"0"),fs=_.methodFactory;_.methodFactory=function(s,e,t){const o=fs(s,e,t),r=`color: ${gs[s]||"#666"}; font-weight: bold;`,n="color: inherit;";return function(...a){const l=bs(new Date),c=s.toUpperCase(),h=t?`%c[${l}]%c %c[${c}]%c %c[${t}]%c`:`%c[${l}]%c %c[${c}]%c`;o(h,...t?[r,n,r,n,r,n]:[r,n,r,n],...a)}},typeof _.setDefaultLevel=="function"?_.setDefaultLevel("silent"):_.setLevel("silent",!1);const te=_.getLogger("MULTISELECT:INIT"),x=_.getLogger("MULTISELECT:DATA"),E=_.getLogger("MULTISELECT:UI"),S=_.getLogger("MULTISELECT:INTERACTION"),ot=["MULTISELECT:INIT","MULTISELECT:DATA","MULTISELECT:UI","MULTISELECT:INTERACTION"];function Ie(){typeof _.rebuild=="function"&&_.rebuild()}function it(){_.setLevel("debug"),Ie()}function rt(){_.setLevel("silent"),Ie()}function nt(s){_.setLevel(s),Ie()}function at(s,e){const t=s.includes(":")?s:`MULTISELECT:${s}`;_.getLogger(t).setLevel(e)}class lt{constructor(e){d(this,"container");d(this,"wrapper");d(this,"viewport");d(this,"itemHeight");d(this,"items");d(this,"renderItem");d(this,"bufferSize");d(this,"onVisibleRangeChange");d(this,"onScroll");d(this,"scrollTop",0);d(this,"viewportHeight",0);d(this,"visibleStart",0);d(this,"visibleEnd",0);d(this,"scrollHandler");d(this,"resizeObserver");this.container=e.container,this.itemHeight=e.itemHeight,this.items=e.items,this.renderItem=e.renderItem,this.bufferSize=e.bufferSize??10,this.onVisibleRangeChange=e.onVisibleRangeChange,this.onScroll=e.onScroll,this.scrollHandler=this.handleScroll.bind(this),this.init()}init(){this.container.innerHTML="",this.wrapper=document.createElement("div"),this.wrapper.style.position="relative",this.wrapper.style.width="100%",this.wrapper.style.height=`${this.items.length*this.itemHeight}px`,this.wrapper.className="ms__virtual-scroll-wrapper",this.viewport=document.createElement("div"),this.viewport.style.position="absolute",this.viewport.style.top="0",this.viewport.style.left="0",this.viewport.style.right="0",this.viewport.style.width="100%",this.viewport.className="ms__virtual-scroll-viewport",this.wrapper.appendChild(this.viewport),this.container.appendChild(this.wrapper),this.container.addEventListener("scroll",this.scrollHandler),typeof ResizeObserver<"u"&&(this.resizeObserver=new ResizeObserver(()=>{this.updateViewportHeight(),this.render()}),this.resizeObserver.observe(this.container)),this.updateViewportHeight(),this.render()}updateViewportHeight(){const e=this.container.clientHeight;e>0&&(this.viewportHeight=e)}handleScroll(){this.scrollTop=this.container.scrollTop,this.onScroll&&this.onScroll(this.scrollTop),this.render()}calculateVisibleRange(){const e=Math.floor(this.scrollTop/this.itemHeight),t=Math.ceil((this.scrollTop+this.viewportHeight)/this.itemHeight),o=Math.max(0,e-this.bufferSize),i=Math.min(this.items.length,t+this.bufferSize);return{start:o,end:i}}render(){const{start:e,end:t}=this.calculateVisibleRange();if(e===this.visibleStart&&t===this.visibleEnd)return;this.visibleStart=e,this.visibleEnd=t,this.onVisibleRangeChange&&this.onVisibleRangeChange(e,t);let o="";for(let i=e;i<t;i++){const r=this.items[i],n=this.renderItem(r,i),a=i*this.itemHeight;o+=`<div class="ms__virtual-item" style="position: absolute; top: ${a}px; left: 0; right: 0; height: ${this.itemHeight}px;" data-index="${i}">`,o+=n,o+="</div>"}this.viewport.innerHTML=o}setItems(e){const t=e!==this.items||e.length!==this.items.length;this.items=e,this.wrapper.style.height=`${e.length*this.itemHeight}px`,this.updateViewportHeight(),t&&(this.scrollTop=0,this.container.scrollTop=0),this.visibleStart=-1,this.visibleEnd=-1,this.render()}scrollToIndex(e){if(e<0||e>=this.items.length)return;const t=e*this.itemHeight,o=t+this.itemHeight,i=this.container.scrollTop,r=i+this.viewportHeight;t<i?this.container.scrollTop=t:o>r&&(this.container.scrollTop=o-this.viewportHeight)}getVisibleRange(){return{start:this.visibleStart,end:this.visibleEnd}}getItemCount(){return this.items.length}setItemHeight(e){this.itemHeight=e,this.wrapper.style.height=`${this.items.length*e}px`,this.visibleStart=-1,this.visibleEnd=-1,this.render()}setBufferSize(e){this.bufferSize=e,this.visibleStart=-1,this.visibleEnd=-1,this.render()}refresh(){this.visibleStart=-1,this.visibleEnd=-1,this.render()}destroy(){this.container.removeEventListener("scroll",this.scrollHandler),this.resizeObserver&&this.resizeObserver.disconnect(),this.container.innerHTML=""}}class vs{constructor(e){d(this,"element");d(this,"trigger");d(this,"container");d(this,"placement");d(this,"offsetDistance");d(this,"showDelay");d(this,"hideDelay");d(this,"visibleClass");d(this,"onBeforeShow");d(this,"showTimer",null);d(this,"hideTimer",null);d(this,"positionCleanup",null);d(this,"handleMouseEnter");d(this,"handleMouseLeave");this.trigger=e.trigger,this.container=e.container,this.placement=e.placement??"top",this.offsetDistance=e.offsetDistance??8,this.showDelay=e.showDelay??100,this.hideDelay=e.hideDelay??100,this.visibleClass=e.visibleClass??"ms__badge-tooltip--visible",this.onBeforeShow=e.onBeforeShow,this.element=document.createElement("div"),this.element.className=e.cssClass??"ms__badge-tooltip",typeof e.content=="string"?this.element.textContent=e.content:this.element.appendChild(e.content),this.container.appendChild(this.element),this.handleMouseEnter=()=>this.scheduleShow(),this.handleMouseLeave=()=>this.scheduleHide(),this.trigger.addEventListener("mouseenter",this.handleMouseEnter),this.trigger.addEventListener("mouseleave",this.handleMouseLeave)}scheduleShow(){this.hideTimer!==null&&(clearTimeout(this.hideTimer),this.hideTimer=null),this.showTimer===null&&(this.showTimer=window.setTimeout(()=>{this.showTimer=null,this.show()},this.showDelay))}scheduleHide(){this.showTimer!==null&&(clearTimeout(this.showTimer),this.showTimer=null),this.hideTimer===null&&(this.hideTimer=window.setTimeout(()=>{this.hideTimer=null,this.hide()},this.hideDelay))}show(){var e;(e=this.onBeforeShow)==null||e.call(this),this.element.classList.add(this.visibleClass),this.positionCleanup&&this.positionCleanup(),this.positionCleanup=ye(this.trigger,this.element,()=>{Se(this.trigger,this.element,{placement:this.placement,strategy:"fixed",middleware:[xe(this.offsetDistance),Qe(),Ce({padding:8})]}).then(({x:t,y:o})=>{Object.assign(this.element.style,{left:`${t}px`,top:`${o}px`})})})}hide(){this.element.classList.remove(this.visibleClass),this.positionCleanup&&(this.positionCleanup(),this.positionCleanup=null)}hideImmediate(){this.showTimer!==null&&(clearTimeout(this.showTimer),this.showTimer=null),this.hideTimer!==null&&(clearTimeout(this.hideTimer),this.hideTimer=null),this.hide()}destroy(){this.showTimer!==null&&clearTimeout(this.showTimer),this.hideTimer!==null&&clearTimeout(this.hideTimer),this.showTimer=null,this.hideTimer=null,this.positionCleanup&&(this.positionCleanup(),this.positionCleanup=null),this.trigger.removeEventListener("mouseenter",this.handleMouseEnter),this.trigger.removeEventListener("mouseleave",this.handleMouseLeave),this.element.remove()}}class ct{constructor(e,t={}){d(this,"element");d(this,"instanceId");d(this,"options");d(this,"isOpen",!1);d(this,"selectedValues",new Set);d(this,"selectedOptions",new Map);d(this,"allOptions",[]);d(this,"filteredOptions",[]);d(this,"hiddenInputs",[]);d(this,"focusedIndex",-1);d(this,"matchingIndices",new Set);d(this,"searchTerm","");d(this,"isLoading",!1);d(this,"showSelectedPopover",!1);d(this,"selectedPopoverPlacement",null);d(this,"dropdownPlacement",null);d(this,"isRTL",!1);d(this,"effectiveBadgesPosition","bottom");d(this,"justClosedViaClick",!1);d(this,"dropdownCleanup",null);d(this,"hintCleanup",null);d(this,"selectedPopoverCleanup",null);d(this,"tooltips",new Map);d(this,"virtualScroll",null);d(this,"optionsContainer",null);d(this,"selectedPopoverVirtualScroll",null);d(this,"selectedPopoverContainer",null);d(this,"input");d(this,"dropdown");d(this,"dropdownInner");d(this,"badgesContainer");d(this,"counter");d(this,"hint");d(this,"selectedPopover");d(this,"documentKeydownHandler",null);d(this,"documentClickHandler",null);this.element=e,this.instanceId=`MS-${Math.random().toString(36).slice(2,11)}`,this.options={searchHint:e.dataset.searchHint||"",searchPlaceholder:e.dataset.searchPlaceholder||"Search...",dropdownMinWidth:e.dataset.dropdownMinWidth||void 0,dropdownMaxWidth:e.dataset.dropdownMaxWidth||void 0,badgesDisplayMode:e.dataset.badgesDisplayMode||"badges",badgesPosition:e.dataset.badgesPosition||"bottom",badgesThresholdMode:e.dataset.badgesThresholdMode||"count",maxHeight:e.dataset.maxHeight||"20rem",emptyMessage:e.dataset.emptyMessage||"No results found",loadingMessage:e.dataset.loadingMessage||"Loading...",searchInputMode:e.dataset.searchInputMode||"normal",searchMode:e.dataset.searchMode||"filter",badgesThreshold:e.dataset.badgesThreshold?parseInt(e.dataset.badgesThreshold):void 0,minSearchLength:parseInt(e.dataset.minSearchLength||"0")||0,isMultipleEnabled:e.dataset.multiple!=="false",isGroupsAllowed:e.dataset.allowGroups!=="false",isCheckboxesShown:e.dataset.showCheckboxes!=="false",isActionsSticky:e.dataset.stickyActions!=="false",isCloseOnSelect:e.dataset.closeOnSelect==="true",isPlacementLocked:e.dataset.lockPlacement!=="false",isSearchEnabled:e.dataset.enableSearch!=="false",isAddNewAllowed:e.dataset.allowAddNew==="true",isCounterShown:e.dataset.showCounter==="true",isKeepOptionsOnSearch:e.dataset.keepOptionsOnSearch!=="false",shouldKeepSearchOnClose:e.dataset.keepSearchOnClose!=="false",options:[],container:void 0,...t},this.init()}extractField(e,t){if(Array.isArray(e)&&e.length===2){if(t.tupleSkip)return typeof t.fallback=="function"?t.fallback():t.fallback;if(t.tupleIndex!==void 0){const i=e[t.tupleIndex];return t.transform?t.transform(i):i}}if(t.member&&e[t.member]!==void 0){const i=e[t.member];return t.transform?t.transform(i):i}return t.callback?t.callback(e):typeof t.fallback=="function"?t.fallback():t.fallback}getItemValue(e){return this.extractField(e,{tupleIndex:0,member:this.options.valueMember,callback:this.options.getValueCallback,fallback:"[N/A]"})}getItemDisplayValue(e){return this.extractField(e,{tupleIndex:1,member:this.options.displayValueMember,callback:this.options.getDisplayValueCallback,transform:String,fallback:"[N/A]"})}getItemBadgeDisplayValue(e){return this.options.getBadgeDisplayCallback?this.options.getBadgeDisplayCallback(e):this.getItemDisplayValue(e)}getItemSearchValue(e){return this.extractField(e,{member:this.options.searchValueMember,callback:this.options.getSearchValueCallback,transform:String,fallback:()=>this.getItemDisplayValue(e)})}getItemIcon(e){return this.extractField(e,{tupleSkip:!0,member:this.options.iconMember,callback:this.options.getIconCallback,transform:String,fallback:void 0})}getItemSubtitle(e){return this.extractField(e,{tupleSkip:!0,member:this.options.subtitleMember,callback:this.options.getSubtitleCallback,transform:String,fallback:void 0})}getItemGroup(e){return this.extractField(e,{tupleSkip:!0,member:this.options.groupMember,callback:this.options.getGroupCallback,transform:String,fallback:void 0})}getItemDisabled(e){return this.extractField(e,{tupleSkip:!0,member:this.options.disabledMember,callback:this.options.getDisabledCallback,transform:Boolean,fallback:!1})}init(){this.parseOptions(),this.buildHTML(),this.attachEvents(),this.parseInitialSelection(),te.debug(`Initialized [${this.instanceId}] with options:`,{placeholder:this.options.searchPlaceholder,totalOptions:this.allOptions.length,isCloseOnSelect:this.options.isCloseOnSelect,dataAttribute:this.element.dataset.closeOnSelect})}parseOptions(){const e=this.element.dataset.options;if(e)try{this.allOptions=JSON.parse(e)}catch(t){x.error(`[${this.instanceId}] Failed to parse data-options:`,t),this.allOptions=[]}else this.options.options&&(this.allOptions=this.options.options);this.filteredOptions=[...this.allOptions]}buildHTML(){const e=this.options.container||document.body,t=this.element.getRootNode(),o=t instanceof ShadowRoot?t.host:this.element,i=o.getAttribute("dir")==="rtl",r=o.closest('[dir="rtl"]')!==null;this.isRTL=i||r,te.debug(`[${this.instanceId}] RTL Debug:`,{isShadowRoot:t instanceof ShadowRoot,hostElement:o,elementDir:o.getAttribute("dir"),hasElementDir:i,hasAncestorDir:r,isRTL:this.isRTL}),this.effectiveBadgesPosition=this.options.badgesPosition||"bottom",this.isRTL&&(this.effectiveBadgesPosition==="left"?this.effectiveBadgesPosition="right":this.effectiveBadgesPosition==="right"&&(this.effectiveBadgesPosition="left")),this.element.classList.add("ms"),this.isRTL&&(this.element.classList.add("ms--rtl"),te.debug(`[${this.instanceId}] Added ms--rtl class to element`)),(!this.options.isCheckboxesShown||!this.options.isMultipleEnabled)&&this.element.classList.add("ms--no-checkboxes");const n=document.createElement("div");n.className="ms__input-wrapper",this.input=document.createElement("input"),this.input.type="text",this.input.className="ms__input",this.input.placeholder=this.options.searchPlaceholder,this.input.autocomplete="off",this.options.searchInputMode==="readonly"?this.input.readOnly=!0:this.options.searchInputMode==="hidden"&&(this.input.style.display="none");const a=document.createElement("span");a.className="ms__toggle",a.innerHTML="▼",this.counter=document.createElement("span"),this.counter.className="ms__counter",this.counter.style.display="none",n.appendChild(this.input),n.appendChild(this.counter),n.appendChild(a),this.badgesContainer=document.createElement("div"),this.badgesContainer.className="ms__badges";const l=document.createElement("div");l.className="ms-wrapper",(this.effectiveBadgesPosition==="left"||this.effectiveBadgesPosition==="right")&&l.classList.add("ms-wrapper--inline"),l.appendChild(n),l.appendChild(this.badgesContainer),this.element.appendChild(l),this.dropdown=document.createElement("div"),this.dropdown.className="ms__dropdown",this.dropdownInner=document.createElement("div"),this.dropdownInner.className="ms__dropdown-inner",this.dropdown.appendChild(this.dropdownInner),e.appendChild(this.dropdown),this.options.searchHint&&(this.hint=document.createElement("div"),this.hint.className="ms__hint",this.hint.textContent=this.options.searchHint,e.appendChild(this.hint)),this.selectedPopover=document.createElement("div"),this.selectedPopover.className="ms__selected-popover",e.appendChild(this.selectedPopover),this.renderDropdown()}shouldUseVirtualScroll(){if(!this.options.isVirtualScrollEnabled||this.options.isGroupsAllowed&&this.hasGroups())return!1;const e=this.options.virtualScrollThreshold??100;return this.filteredOptions.length>=e}hasGroups(){return this.filteredOptions.some(e=>{const t=this.getItemGroup(e);return t&&t.trim()!==""})}renderDropdown(){if(this.destroyAllActionButtonTooltips(),this.shouldUseVirtualScroll()){this.dropdown.classList.add("ms__dropdown--virtual"),this.renderDropdownVirtual();return}this.dropdown.classList.remove("ms__dropdown--virtual"),this.virtualScroll&&(this.virtualScroll.destroy(),this.virtualScroll=null,this.optionsContainer=null);let e="";if(this.isLoading){e+='<div class="ms__loader">',e+='<div class="pa-loader pa-loader--sm"></div>',e+=`<div class="ms__loading-text">${this.options.loadingMessage}</div>`,e+="</div>",this.dropdownInner.innerHTML=e;return}if(e+=this.renderActionsHTML(),e+='<div class="ms__options">',this.filteredOptions.length===0)e+=`<div class="ms__empty">${this.options.emptyMessage}</div>`;else if(this.options.isGroupsAllowed){const t=this.groupOptions(this.filteredOptions),o=new Map;this.filteredOptions.forEach((i,r)=>o.set(i,r)),Object.keys(t).forEach(i=>{if(e+='<div class="ms__group">',i!=="__ungrouped__")if(this.options.renderGroupLabelContentCallback){const r=this.options.renderGroupLabelContentCallback(i);if(r instanceof HTMLElement){const n=document.createElement("div");n.className="ms__group-label",n.appendChild(r),e+=n.outerHTML}else e+=`<div class="ms__group-label">${r}</div>`}else e+=`<div class="ms__group-label">${i}</div>`;t[i].forEach(r=>{e+=this.renderOption(r,o.get(r)??-1)}),e+="</div>"})}else this.filteredOptions.forEach((t,o)=>{e+=this.renderOption(t,o)});e+="</div>",this.dropdownInner.innerHTML=e,this.attachActionButtonTooltips()}renderDropdownVirtual(){if(this.destroyAllActionButtonTooltips(),!this.virtualScroll){let o="";o+=this.renderActionsHTML();const i=this.options.maxHeight||"20rem",r=this.options.optionHeight??50;o+=`<div class="ms__options ms__options--virtual" style="height: ${i}; max-height: ${i}; overflow-y: auto; position: relative; --ms-option-height: ${r}px;"></div>`,this.dropdownInner.innerHTML=o,this.optionsContainer=this.dropdownInner.querySelector(".ms__options")}if(this.filteredOptions.length===0){this.virtualScroll&&(this.virtualScroll.destroy(),this.virtualScroll=null),this.optionsContainer.innerHTML=`<div class="ms__empty">${this.options.emptyMessage}</div>`;return}const e=this.options.optionHeight??50,t=this.options.virtualScrollBuffer??10;requestAnimationFrame(()=>{this.optionsContainer&&(this.virtualScroll?this.virtualScroll.setItems(this.filteredOptions):this.virtualScroll=new lt({container:this.optionsContainer,itemHeight:e,items:this.filteredOptions,renderItem:(o,i)=>this.renderOption(o,i),bufferSize:t}),this.attachActionButtonTooltips())})}renderActionsHTML(){const e=this.options.actionButtons;if(!this.options.isMultipleEnabled||!e||e.length===0)return"";const t=this.options.isActionsSticky?" ms__actions--sticky":"",o=this.options.actionsLayout==="wrap"?" ms__actions--wrap":"",i=e.map((r,n)=>{if(!(r.isVisibleCallback?r.isVisibleCallback(this):r.isVisible??!0))return"";const c=(r.isDisabledCallback?r.isDisabledCallback(this):r.isDisabled??!1)?" disabled":"",h=r.getTextCallback?r.getTextCallback(this):r.text;let p="";if(r.getClassCallback){const u=r.getClassCallback(this);p=Array.isArray(u)?` ${u.join(" ")}`:u?` ${u}`:""}else r.cssClass&&(p=` ${r.cssClass}`);return`<button type="button"${c} class="ms__action-btn${p}" data-action="${r.action}" data-button-index="${n}">${h}</button>`}).join("");return`<div class="ms__actions${t}${o}">${i}</div>`}renderOption(e,t){const o=this.getItemValue(e),i=this.getItemDisplayValue(e),r=this.getItemIcon(e),n=this.getItemSubtitle(e),a=this.getItemDisabled(e),l=this.selectedValues.has(String(o)),c=t===this.focusedIndex,h=this.matchingIndices.has(t),p=["ms__option"];l&&p.push("ms__option--selected"),c&&p.push("ms__option--focused"),h&&p.push("ms__option--matched"),a&&p.push("ms__option--disabled");const u=this.options.checkboxAlign&&this.options.checkboxAlign!=="center"?` data-checkbox-align="${this.options.checkboxAlign}"`:"";let m=`<div class="${p.join(" ")}" data-value="${o}" data-index="${t}"${u}>`;if(this.options.isCheckboxesShown&&this.options.isMultipleEnabled&&(m+=`<input type="checkbox" class="ms__checkbox" ${l?"checked":""} ${a?"disabled":""}>`),m+='<div class="ms__option-content">',this.options.renderOptionContentCallback){const g={index:t,isSelected:l,isFocused:c,isMatched:h,isDisabled:a},b=this.options.renderOptionContentCallback(e,g);typeof b=="string"?m+=b:m+=b.outerHTML}else r&&(m+=`<span class="ms__option-icon">${r}</span>`),m+='<div class="ms__option-text">',m+=`<div class="ms__option-title">${this.highlightMatch(i,this.searchTerm)}</div>`,n&&(m+=`<div class="ms__option-subtitle">${n}</div>`),m+="</div>";return m+="</div>",m+="</div>",m}highlightMatch(e,t){if(!t)return e;const o=new RegExp(`(${t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})`,"gi");return e.replace(o,"<mark>$1</mark>")}groupOptions(e){const t={};return e.forEach(o=>{const i=this.getItemGroup(o)||"__ungrouped__";t[i]||(t[i]=[]),t[i].push(o)}),t}renderBadges(){this.destroyAllBadgeTooltips();const e=Array.from(this.selectedOptions.values()),t=this.selectedValues.size;if(!this.options.isMultipleEnabled){this.badgesContainer.innerHTML="",this.counter.style.display="none";let r;e[0]&&(this.options.renderSelectedContentCallback?r=this.options.renderSelectedContentCallback(e[0]):r=this.getItemDisplayValue(e[0])),!this.isOpen&&t>0&&e.length>0?this.input.value=r:this.isOpen||(this.input.value="");return}let o=this.options.badgesDisplayMode;if(this.options.badgesThreshold!==null&&t>this.options.badgesThreshold&&o!=="none"&&(o=this.options.badgesThresholdMode||"count"),!this.isOpen)if(t>0&&o==="count"){const r=this.options.getCounterCallback?this.options.getCounterCallback(t):`${t} selected`;this.input.placeholder=r}else this.input.placeholder=this.options.searchPlaceholder;if(this.options.isCounterShown&&t>0?(this.counter.textContent=`[${t}]`,this.counter.style.display=""):this.counter.style.display="none",o==="none"){this.badgesContainer.innerHTML="";return}if(o==="badges")this.badgesContainer.className=`ms__badges ms__badges--${this.effectiveBadgesPosition}`,this.badgesContainer.innerHTML=e.map(r=>this.renderBadgeHTML(r,{displayMode:"badges",isInPopover:!1})).join("");else if(o==="partial"){this.badgesContainer.className=`ms__badges ms__badges--${this.effectiveBadgesPosition}`;const r=this.options.badgesMaxVisible||3,n=e.slice(0,r),a=t-r,l=n.map(h=>this.renderBadgeHTML(h,{displayMode:"partial",isInPopover:!1})).join("");let c="";a>0&&(c=`
1
+ (function(_,I){typeof exports=="object"&&typeof module<"u"?I(exports):typeof define=="function"&&define.amd?define(["exports"],I):(_=typeof globalThis<"u"?globalThis:_||self,I(_.MultiSelect={}))})(this,function(_){"use strict";var Ts=Object.defineProperty;var Is=(_,I,L)=>I in _?Ts(_,I,{enumerable:!0,configurable:!0,writable:!0,value:L}):_[I]=L;var d=(_,I,L)=>Is(_,typeof I!="symbol"?I+"":I,L);const I=Math.min,L=Math.max,ie=Math.round,re=Math.floor,V=o=>({x:o,y:o}),ft={left:"right",right:"left",bottom:"top",top:"bottom"},vt={start:"end",end:"start"};function Pe(o,e,t){return L(o,I(e,t))}function ne(o,e){return typeof o=="function"?o(e):o}function F(o){return o.split("-")[0]}function ae(o){return o.split("-")[1]}function Ee(o){return o==="x"?"y":"x"}function ze(o){return o==="y"?"height":"width"}const wt=new Set(["top","bottom"]);function $(o){return wt.has(F(o))?"y":"x"}function Ve(o){return Ee($(o))}function kt(o,e,t){t===void 0&&(t=!1);const s=ae(o),i=Ve(o),r=ze(i);let n=i==="x"?s===(t?"end":"start")?"right":"left":s==="start"?"bottom":"top";return e.reference[r]>e.floating[r]&&(n=le(n)),[n,le(n)]}function yt(o){const e=le(o);return[be(o),e,be(e)]}function be(o){return o.replace(/start|end/g,e=>vt[e])}const Be=["left","right"],De=["right","left"],_t=["top","bottom"],xt=["bottom","top"];function Ct(o,e,t){switch(o){case"top":case"bottom":return t?e?De:Be:e?Be:De;case"left":case"right":return e?_t:xt;default:return[]}}function St(o,e,t,s){const i=ae(o);let r=Ct(F(o),t==="start",s);return i&&(r=r.map(n=>n+"-"+i),e&&(r=r.concat(r.map(be)))),r}function le(o){return o.replace(/left|right|bottom|top/g,e=>ft[e])}function Tt(o){return{top:0,right:0,bottom:0,left:0,...o}}function It(o){return typeof o!="number"?Tt(o):{top:o,right:o,bottom:o,left:o}}function ce(o){const{x:e,y:t,width:s,height:i}=o;return{width:s,height:i,top:t,left:e,right:e+s,bottom:t+i,x:e,y:t}}function $e(o,e,t){let{reference:s,floating:i}=o;const r=$(e),n=Ve(e),a=ze(n),l=F(e),c=r==="y",h=s.x+s.width/2-i.width/2,p=s.y+s.height/2-i.height/2,u=s[a]/2-i[a]/2;let m;switch(l){case"top":m={x:h,y:s.y-i.height};break;case"bottom":m={x:h,y:s.y+s.height};break;case"right":m={x:s.x+s.width,y:p};break;case"left":m={x:s.x-i.width,y:p};break;default:m={x:s.x,y:s.y}}switch(ae(e)){case"start":m[n]-=u*(t&&c?-1:1);break;case"end":m[n]+=u*(t&&c?-1:1);break}return m}const Ot=async(o,e,t)=>{const{placement:s="bottom",strategy:i="absolute",middleware:r=[],platform:n}=t,a=r.filter(Boolean),l=await(n.isRTL==null?void 0:n.isRTL(e));let c=await n.getElementRects({reference:o,floating:e,strategy:i}),{x:h,y:p}=$e(c,s,l),u=s,m={},g=0;for(let b=0;b<a.length;b++){const{name:f,fn:v}=a[b],{x:k,y,data:T,reset:C}=await v({x:h,y:p,initialPlacement:s,placement:u,strategy:i,middlewareData:m,rects:c,platform:n,elements:{reference:o,floating:e}});h=k??h,p=y??p,m={...m,[f]:{...m[f],...T}},C&&g<=50&&(g++,typeof C=="object"&&(C.placement&&(u=C.placement),C.rects&&(c=C.rects===!0?await n.getElementRects({reference:o,floating:e,strategy:i}):C.rects),{x:h,y:p}=$e(c,u,l)),b=-1)}return{x:h,y:p,placement:u,strategy:i,middlewareData:m}};async function Re(o,e){var t;e===void 0&&(e={});const{x:s,y:i,platform:r,rects:n,elements:a,strategy:l}=o,{boundary:c="clippingAncestors",rootBoundary:h="viewport",elementContext:p="floating",altBoundary:u=!1,padding:m=0}=ne(e,o),g=It(m),f=a[u?p==="floating"?"reference":"floating":p],v=ce(await r.getClippingRect({element:(t=await(r.isElement==null?void 0:r.isElement(f)))==null||t?f:f.contextElement||await(r.getDocumentElement==null?void 0:r.getDocumentElement(a.floating)),boundary:c,rootBoundary:h,strategy:l})),k=p==="floating"?{x:s,y:i,width:n.floating.width,height:n.floating.height}:n.reference,y=await(r.getOffsetParent==null?void 0:r.getOffsetParent(a.floating)),T=await(r.isElement==null?void 0:r.isElement(y))?await(r.getScale==null?void 0:r.getScale(y))||{x:1,y:1}:{x:1,y:1},C=ce(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:k,offsetParent:y,strategy:l}):k);return{top:(v.top-C.top+g.top)/T.y,bottom:(C.bottom-v.bottom+g.bottom)/T.y,left:(v.left-C.left+g.left)/T.x,right:(C.right-v.right+g.right)/T.x}}const Lt=function(o){return o===void 0&&(o={}),{name:"flip",options:o,async fn(e){var t,s;const{placement:i,middlewareData:r,rects:n,initialPlacement:a,platform:l,elements:c}=e,{mainAxis:h=!0,crossAxis:p=!0,fallbackPlacements:u,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:b=!0,...f}=ne(o,e);if((t=r.arrow)!=null&&t.alignmentOffset)return{};const v=F(i),k=$(a),y=F(a)===a,T=await(l.isRTL==null?void 0:l.isRTL(c.floating)),C=u||(y||!b?[le(a)]:yt(a)),se=g!=="none";!u&&se&&C.push(...St(a,b,g,T));const Y=[a,...C],Ae=await Re(e,f),ge=[];let J=((s=r.flip)==null?void 0:s.overflows)||[];if(h&&ge.push(Ae[v]),p){const j=kt(i,n,T);ge.push(Ae[j[0]],Ae[j[1]])}if(J=[...J,{placement:i,overflows:ge}],!ge.every(j=>j<=0)){var ut,gt;const j=(((ut=r.flip)==null?void 0:ut.index)||0)+1,Me=Y[j];if(Me&&(!(p==="alignment"?k!==$(Me):!1)||J.every(z=>$(z.placement)===k?z.overflows[0]>0:!0)))return{data:{index:j,overflows:J},reset:{placement:Me}};let oe=(gt=J.filter(G=>G.overflows[0]<=0).sort((G,z)=>G.overflows[1]-z.overflows[1])[0])==null?void 0:gt.placement;if(!oe)switch(m){case"bestFit":{var bt;const G=(bt=J.filter(z=>{if(se){const H=$(z.placement);return H===k||H==="y"}return!0}).map(z=>[z.placement,z.overflows.filter(H=>H>0).reduce((H,Ss)=>H+Ss,0)]).sort((z,H)=>z[1]-H[1])[0])==null?void 0:bt[0];G&&(oe=G);break}case"initialPlacement":oe=a;break}if(i!==oe)return{reset:{placement:oe}}}return{}}}},At=new Set(["left","top"]);async function Mt(o,e){const{placement:t,platform:s,elements:i}=o,r=await(s.isRTL==null?void 0:s.isRTL(i.floating)),n=F(t),a=ae(t),l=$(t)==="y",c=At.has(n)?-1:1,h=r&&l?-1:1,p=ne(e,o);let{mainAxis:u,crossAxis:m,alignmentAxis:g}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return a&&typeof g=="number"&&(m=a==="end"?g*-1:g),l?{x:m*h,y:u*c}:{x:u*c,y:m*h}}const Pt=function(o){return o===void 0&&(o=0),{name:"offset",options:o,async fn(e){var t,s;const{x:i,y:r,placement:n,middlewareData:a}=e,l=await Mt(e,o);return n===((t=a.offset)==null?void 0:t.placement)&&(s=a.arrow)!=null&&s.alignmentOffset?{}:{x:i+l.x,y:r+l.y,data:{...l,placement:n}}}}},Et=function(o){return o===void 0&&(o={}),{name:"shift",options:o,async fn(e){const{x:t,y:s,placement:i}=e,{mainAxis:r=!0,crossAxis:n=!1,limiter:a={fn:f=>{let{x:v,y:k}=f;return{x:v,y:k}}},...l}=ne(o,e),c={x:t,y:s},h=await Re(e,l),p=$(F(i)),u=Ee(p);let m=c[u],g=c[p];if(r){const f=u==="y"?"top":"left",v=u==="y"?"bottom":"right",k=m+h[f],y=m-h[v];m=Pe(k,m,y)}if(n){const f=p==="y"?"top":"left",v=p==="y"?"bottom":"right",k=g+h[f],y=g-h[v];g=Pe(k,g,y)}const b=a.fn({...e,[u]:m,[p]:g});return{...b,data:{x:b.x-t,y:b.y-s,enabled:{[u]:r,[p]:n}}}}}};function de(){return typeof window<"u"}function U(o){return He(o)?(o.nodeName||"").toLowerCase():"#document"}function O(o){var e;return(o==null||(e=o.ownerDocument)==null?void 0:e.defaultView)||window}function B(o){var e;return(e=(He(o)?o.ownerDocument:o.document)||window.document)==null?void 0:e.documentElement}function He(o){return de()?o instanceof Node||o instanceof O(o).Node:!1}function A(o){return de()?o instanceof Element||o instanceof O(o).Element:!1}function D(o){return de()?o instanceof HTMLElement||o instanceof O(o).HTMLElement:!1}function Fe(o){return!de()||typeof ShadowRoot>"u"?!1:o instanceof ShadowRoot||o instanceof O(o).ShadowRoot}const zt=new Set(["inline","contents"]);function X(o){const{overflow:e,overflowX:t,overflowY:s,display:i}=M(o);return/auto|scroll|overlay|hidden|clip/.test(e+s+t)&&!zt.has(i)}const Vt=new Set(["table","td","th"]);function Bt(o){return Vt.has(U(o))}const Dt=[":popover-open",":modal"];function he(o){return Dt.some(e=>{try{return o.matches(e)}catch{return!1}})}const $t=["transform","translate","scale","rotate","perspective"],Rt=["transform","translate","scale","rotate","perspective","filter"],Ht=["paint","layout","strict","content"];function fe(o){const e=ve(),t=A(o)?M(o):o;return $t.some(s=>t[s]?t[s]!=="none":!1)||(t.containerType?t.containerType!=="normal":!1)||!e&&(t.backdropFilter?t.backdropFilter!=="none":!1)||!e&&(t.filter?t.filter!=="none":!1)||Rt.some(s=>(t.willChange||"").includes(s))||Ht.some(s=>(t.contain||"").includes(s))}function Ft(o){let e=R(o);for(;D(e)&&!K(e);){if(fe(e))return e;if(he(e))return null;e=R(e)}return null}function ve(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const Nt=new Set(["html","body","#document"]);function K(o){return Nt.has(U(o))}function M(o){return O(o).getComputedStyle(o)}function me(o){return A(o)?{scrollLeft:o.scrollLeft,scrollTop:o.scrollTop}:{scrollLeft:o.scrollX,scrollTop:o.scrollY}}function R(o){if(U(o)==="html")return o;const e=o.assignedSlot||o.parentNode||Fe(o)&&o.host||B(o);return Fe(e)?e.host:e}function Ne(o){const e=R(o);return K(e)?o.ownerDocument?o.ownerDocument.body:o.body:D(e)&&X(e)?e:Ne(e)}function Z(o,e,t){var s;e===void 0&&(e=[]),t===void 0&&(t=!0);const i=Ne(o),r=i===((s=o.ownerDocument)==null?void 0:s.body),n=O(i);if(r){const a=we(n);return e.concat(n,n.visualViewport||[],X(i)?i:[],a&&t?Z(a):[])}return e.concat(i,Z(i,[],t))}function we(o){return o.parent&&Object.getPrototypeOf(o.parent)?o.frameElement:null}function We(o){const e=M(o);let t=parseFloat(e.width)||0,s=parseFloat(e.height)||0;const i=D(o),r=i?o.offsetWidth:t,n=i?o.offsetHeight:s,a=ie(t)!==r||ie(s)!==n;return a&&(t=r,s=n),{width:t,height:s,$:a}}function ke(o){return A(o)?o:o.contextElement}function q(o){const e=ke(o);if(!D(e))return V(1);const t=e.getBoundingClientRect(),{width:s,height:i,$:r}=We(e);let n=(r?ie(t.width):t.width)/s,a=(r?ie(t.height):t.height)/i;return(!n||!Number.isFinite(n))&&(n=1),(!a||!Number.isFinite(a))&&(a=1),{x:n,y:a}}const Wt=V(0);function je(o){const e=O(o);return!ve()||!e.visualViewport?Wt:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function jt(o,e,t){return e===void 0&&(e=!1),!t||e&&t!==O(o)?!1:e}function N(o,e,t,s){e===void 0&&(e=!1),t===void 0&&(t=!1);const i=o.getBoundingClientRect(),r=ke(o);let n=V(1);e&&(s?A(s)&&(n=q(s)):n=q(o));const a=jt(r,t,s)?je(r):V(0);let l=(i.left+a.x)/n.x,c=(i.top+a.y)/n.y,h=i.width/n.x,p=i.height/n.y;if(r){const u=O(r),m=s&&A(s)?O(s):s;let g=u,b=we(g);for(;b&&s&&m!==g;){const f=q(b),v=b.getBoundingClientRect(),k=M(b),y=v.left+(b.clientLeft+parseFloat(k.paddingLeft))*f.x,T=v.top+(b.clientTop+parseFloat(k.paddingTop))*f.y;l*=f.x,c*=f.y,h*=f.x,p*=f.y,l+=y,c+=T,g=O(b),b=we(g)}}return ce({width:h,height:p,x:l,y:c})}function pe(o,e){const t=me(o).scrollLeft;return e?e.left+t:N(B(o)).left+t}function Ge(o,e){const t=o.getBoundingClientRect(),s=t.left+e.scrollLeft-pe(o,t),i=t.top+e.scrollTop;return{x:s,y:i}}function Gt(o){let{elements:e,rect:t,offsetParent:s,strategy:i}=o;const r=i==="fixed",n=B(s),a=e?he(e.floating):!1;if(s===n||a&&r)return t;let l={scrollLeft:0,scrollTop:0},c=V(1);const h=V(0),p=D(s);if((p||!p&&!r)&&((U(s)!=="body"||X(n))&&(l=me(s)),D(s))){const m=N(s);c=q(s),h.x=m.x+s.clientLeft,h.y=m.y+s.clientTop}const u=n&&!p&&!r?Ge(n,l):V(0);return{width:t.width*c.x,height:t.height*c.y,x:t.x*c.x-l.scrollLeft*c.x+h.x+u.x,y:t.y*c.y-l.scrollTop*c.y+h.y+u.y}}function Ut(o){return Array.from(o.getClientRects())}function Kt(o){const e=B(o),t=me(o),s=o.ownerDocument.body,i=L(e.scrollWidth,e.clientWidth,s.scrollWidth,s.clientWidth),r=L(e.scrollHeight,e.clientHeight,s.scrollHeight,s.clientHeight);let n=-t.scrollLeft+pe(o);const a=-t.scrollTop;return M(s).direction==="rtl"&&(n+=L(e.clientWidth,s.clientWidth)-i),{width:i,height:r,x:n,y:a}}const Ue=25;function qt(o,e){const t=O(o),s=B(o),i=t.visualViewport;let r=s.clientWidth,n=s.clientHeight,a=0,l=0;if(i){r=i.width,n=i.height;const h=ve();(!h||h&&e==="fixed")&&(a=i.offsetLeft,l=i.offsetTop)}const c=pe(s);if(c<=0){const h=s.ownerDocument,p=h.body,u=getComputedStyle(p),m=h.compatMode==="CSS1Compat"&&parseFloat(u.marginLeft)+parseFloat(u.marginRight)||0,g=Math.abs(s.clientWidth-p.clientWidth-m);g<=Ue&&(r-=g)}else c<=Ue&&(r+=c);return{width:r,height:n,x:a,y:l}}const Yt=new Set(["absolute","fixed"]);function Jt(o,e){const t=N(o,!0,e==="fixed"),s=t.top+o.clientTop,i=t.left+o.clientLeft,r=D(o)?q(o):V(1),n=o.clientWidth*r.x,a=o.clientHeight*r.y,l=i*r.x,c=s*r.y;return{width:n,height:a,x:l,y:c}}function Ke(o,e,t){let s;if(e==="viewport")s=qt(o,t);else if(e==="document")s=Kt(B(o));else if(A(e))s=Jt(e,t);else{const i=je(o);s={x:e.x-i.x,y:e.y-i.y,width:e.width,height:e.height}}return ce(s)}function qe(o,e){const t=R(o);return t===e||!A(t)||K(t)?!1:M(t).position==="fixed"||qe(t,e)}function Xt(o,e){const t=e.get(o);if(t)return t;let s=Z(o,[],!1).filter(a=>A(a)&&U(a)!=="body"),i=null;const r=M(o).position==="fixed";let n=r?R(o):o;for(;A(n)&&!K(n);){const a=M(n),l=fe(n);!l&&a.position==="fixed"&&(i=null),(r?!l&&!i:!l&&a.position==="static"&&!!i&&Yt.has(i.position)||X(n)&&!l&&qe(o,n))?s=s.filter(h=>h!==n):i=a,n=R(n)}return e.set(o,s),s}function Zt(o){let{element:e,boundary:t,rootBoundary:s,strategy:i}=o;const n=[...t==="clippingAncestors"?he(e)?[]:Xt(e,this._c):[].concat(t),s],a=n[0],l=n.reduce((c,h)=>{const p=Ke(e,h,i);return c.top=L(p.top,c.top),c.right=I(p.right,c.right),c.bottom=I(p.bottom,c.bottom),c.left=L(p.left,c.left),c},Ke(e,a,i));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function Qt(o){const{width:e,height:t}=We(o);return{width:e,height:t}}function es(o,e,t){const s=D(e),i=B(e),r=t==="fixed",n=N(o,!0,r,e);let a={scrollLeft:0,scrollTop:0};const l=V(0);function c(){l.x=pe(i)}if(s||!s&&!r)if((U(e)!=="body"||X(i))&&(a=me(e)),s){const m=N(e,!0,r,e);l.x=m.x+e.clientLeft,l.y=m.y+e.clientTop}else i&&c();r&&!s&&i&&c();const h=i&&!s&&!r?Ge(i,a):V(0),p=n.left+a.scrollLeft-l.x-h.x,u=n.top+a.scrollTop-l.y-h.y;return{x:p,y:u,width:n.width,height:n.height}}function ye(o){return M(o).position==="static"}function Ye(o,e){if(!D(o)||M(o).position==="fixed")return null;if(e)return e(o);let t=o.offsetParent;return B(o)===t&&(t=t.ownerDocument.body),t}function Je(o,e){const t=O(o);if(he(o))return t;if(!D(o)){let i=R(o);for(;i&&!K(i);){if(A(i)&&!ye(i))return i;i=R(i)}return t}let s=Ye(o,e);for(;s&&Bt(s)&&ye(s);)s=Ye(s,e);return s&&K(s)&&ye(s)&&!fe(s)?t:s||Ft(o)||t}const ts=async function(o){const e=this.getOffsetParent||Je,t=this.getDimensions,s=await t(o.floating);return{reference:es(o.reference,await e(o.floating),o.strategy),floating:{x:0,y:0,width:s.width,height:s.height}}};function ss(o){return M(o).direction==="rtl"}const Xe={convertOffsetParentRelativeRectToViewportRelativeRect:Gt,getDocumentElement:B,getClippingRect:Zt,getOffsetParent:Je,getElementRects:ts,getClientRects:Ut,getDimensions:Qt,getScale:q,isElement:A,isRTL:ss};function Ze(o,e){return o.x===e.x&&o.y===e.y&&o.width===e.width&&o.height===e.height}function os(o,e){let t=null,s;const i=B(o);function r(){var a;clearTimeout(s),(a=t)==null||a.disconnect(),t=null}function n(a,l){a===void 0&&(a=!1),l===void 0&&(l=1),r();const c=o.getBoundingClientRect(),{left:h,top:p,width:u,height:m}=c;if(a||e(),!u||!m)return;const g=re(p),b=re(i.clientWidth-(h+u)),f=re(i.clientHeight-(p+m)),v=re(h),y={rootMargin:-g+"px "+-b+"px "+-f+"px "+-v+"px",threshold:L(0,I(1,l))||1};let T=!0;function C(se){const Y=se[0].intersectionRatio;if(Y!==l){if(!T)return n();Y?n(!1,Y):s=setTimeout(()=>{n(!1,1e-7)},1e3)}Y===1&&!Ze(c,o.getBoundingClientRect())&&n(),T=!1}try{t=new IntersectionObserver(C,{...y,root:i.ownerDocument})}catch{t=new IntersectionObserver(C,y)}t.observe(o)}return n(!0),r}function _e(o,e,t,s){s===void 0&&(s={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:n=typeof ResizeObserver=="function",layoutShift:a=typeof IntersectionObserver=="function",animationFrame:l=!1}=s,c=ke(o),h=i||r?[...c?Z(c):[],...Z(e)]:[];h.forEach(v=>{i&&v.addEventListener("scroll",t,{passive:!0}),r&&v.addEventListener("resize",t)});const p=c&&a?os(c,t):null;let u=-1,m=null;n&&(m=new ResizeObserver(v=>{let[k]=v;k&&k.target===c&&m&&(m.unobserve(e),cancelAnimationFrame(u),u=requestAnimationFrame(()=>{var y;(y=m)==null||y.observe(e)})),t()}),c&&!l&&m.observe(c),m.observe(e));let g,b=l?N(o):null;l&&f();function f(){const v=N(o);b&&!Ze(b,v)&&t(),b=v,g=requestAnimationFrame(f)}return t(),()=>{var v;h.forEach(k=>{i&&k.removeEventListener("scroll",t),r&&k.removeEventListener("resize",t)}),p==null||p(),(v=m)==null||v.disconnect(),m=null,l&&cancelAnimationFrame(g)}}const xe=Pt,Ce=Et,Qe=Lt,Se=(o,e,t)=>{const s=new Map,i={platform:Xe,...t},r={...i.platform,_c:s};return Ot(o,e,{...i,platform:r})};var et=function(){},P="undefined",is=typeof window!==P&&typeof window.navigator!==P&&/Trident\/|MSIE /.test(window.navigator.userAgent),Te=["trace","debug","info","warn","error"],Q={},w=null;function tt(o,e){var t=o[e];if(typeof t.bind=="function")return t.bind(o);try{return Function.prototype.bind.call(t,o)}catch{return function(){return Function.prototype.apply.apply(t,[o,arguments])}}}function rs(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function ns(o){return o==="debug"&&(o="log"),typeof console===P?!1:o==="trace"&&is?rs:console[o]!==void 0?tt(console,o):console.log!==void 0?tt(console,"log"):et}function ee(){for(var o=this.getLevel(),e=0;e<Te.length;e++){var t=Te[e];this[t]=e<o?et:this.methodFactory(t,o,this.name)}if(this.log=this.debug,typeof console===P&&o<this.levels.SILENT)return"No console available for logging"}function as(o){return function(){typeof console!==P&&(ee.call(this),this[o].apply(this,arguments))}}function ls(o,e,t){return ns(o)||as.apply(this,arguments)}function st(o,e){var t=this,s,i,r,n="loglevel";typeof o=="string"?n+=":"+o:typeof o=="symbol"&&(n=void 0);function a(u){var m=(Te[u]||"silent").toUpperCase();if(!(typeof window===P||!n)){try{window.localStorage[n]=m;return}catch{}try{window.document.cookie=encodeURIComponent(n)+"="+m+";"}catch{}}}function l(){var u;if(!(typeof window===P||!n)){try{u=window.localStorage[n]}catch{}if(typeof u===P)try{var m=window.document.cookie,g=encodeURIComponent(n),b=m.indexOf(g+"=");b!==-1&&(u=/^([^;]+)/.exec(m.slice(b+g.length+1))[1])}catch{}return t.levels[u]===void 0&&(u=void 0),u}}function c(){if(!(typeof window===P||!n)){try{window.localStorage.removeItem(n)}catch{}try{window.document.cookie=encodeURIComponent(n)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}function h(u){var m=u;if(typeof m=="string"&&t.levels[m.toUpperCase()]!==void 0&&(m=t.levels[m.toUpperCase()]),typeof m=="number"&&m>=0&&m<=t.levels.SILENT)return m;throw new TypeError("log.setLevel() called with invalid level: "+u)}t.name=o,t.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},t.methodFactory=e||ls,t.getLevel=function(){return r??i??s},t.setLevel=function(u,m){return r=h(u),m!==!1&&a(r),ee.call(t)},t.setDefaultLevel=function(u){i=h(u),l()||t.setLevel(u,!1)},t.resetLevel=function(){r=null,c(),ee.call(t)},t.enableAll=function(u){t.setLevel(t.levels.TRACE,u)},t.disableAll=function(u){t.setLevel(t.levels.SILENT,u)},t.rebuild=function(){if(w!==t&&(s=h(w.getLevel())),ee.call(t),w===t)for(var u in Q)Q[u].rebuild()},s=h(w?w.getLevel():"WARN");var p=l();p!=null&&(r=h(p)),ee.call(t)}w=new st,w.getLogger=function(e){if(typeof e!="symbol"&&typeof e!="string"||e==="")throw new TypeError("You must supply a name when creating a logger.");var t=Q[e];return t||(t=Q[e]=new st(e,w.methodFactory)),t};var cs=typeof window!==P?window.log:void 0;w.noConflict=function(){return typeof window!==P&&window.log===w&&(window.log=cs),w},w.getLoggers=function(){return Q},w.default=w;var ds=function(o){for(var e=1,t=arguments.length,s;e<t;e++)for(s in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],s)&&(o[s]=arguments[e][s]);return o},hs={template:"[%t] %l:",levelFormatter:function(o){return o.toUpperCase()},nameFormatter:function(o){return o||"root"},timestampFormatter:function(o){return o.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,"$1")},format:void 0},ot,W={},ms=function(o){if(!o||!o.getLogger)throw new TypeError("Argument is not a root logger");ot=o},ps=function(o,e){if(!o||!o.setLevel)throw new TypeError("Argument is not a logger");var t=o.methodFactory,s=o.name||"",i=W[s]||W[""]||hs;function r(n,a,l){var c=t(n,a,l),h=W[l]||W[""],p=h.template.indexOf("%t")!==-1,u=h.template.indexOf("%l")!==-1,m=h.template.indexOf("%n")!==-1;return function(){for(var g="",b=arguments.length,f=Array(b),v=0;v<b;v++)f[v]=arguments[v];if(s||!W[l]){var k=h.timestampFormatter(new Date),y=h.levelFormatter(n),T=h.nameFormatter(l);h.format?g+=h.format(y,T,k):(g+=h.template,p&&(g=g.replace(/%t/,k)),u&&(g=g.replace(/%l/,y)),m&&(g=g.replace(/%n/,T))),f.length&&typeof f[0]=="string"?f[0]=g+" "+f[0]:f.unshift(g)}c.apply(void 0,f)}}return W[s]||(o.methodFactory=r),e=e||{},e.template&&(e.format=void 0),W[s]=ds({},i,e),o.setLevel(o.getLevel()),ot||o.warn("It is necessary to call the function reg() of loglevel-plugin-prefix before calling apply. From the next release, it will throw an error. See more: https://github.com/kutuluk/loglevel-plugin-prefix/blob/master/README.md"),o},us={reg:ms,apply:ps};const gs={debug:"#0ea5e9",info:"#10b981",warn:"#f59e0b",error:"#ef4444"};us.reg(w);const bs=o=>o.toTimeString().split(" ")[0]+"."+o.getMilliseconds().toString().padStart(3,"0"),fs=w.methodFactory;w.methodFactory=function(o,e,t){const s=fs(o,e,t),r=`color: ${gs[o]||"#666"}; font-weight: bold;`,n="color: inherit;";return function(...a){const l=bs(new Date),c=o.toUpperCase(),h=t?`%c[${l}]%c %c[${c}]%c %c[${t}]%c`:`%c[${l}]%c %c[${c}]%c`;s(h,...t?[r,n,r,n,r,n]:[r,n,r,n],...a)}},typeof w.setDefaultLevel=="function"?w.setDefaultLevel("silent"):w.setLevel("silent",!1);const te=w.getLogger("MULTISELECT:INIT"),x=w.getLogger("MULTISELECT:DATA"),E=w.getLogger("MULTISELECT:UI"),S=w.getLogger("MULTISELECT:INTERACTION"),it=["MULTISELECT:INIT","MULTISELECT:DATA","MULTISELECT:UI","MULTISELECT:INTERACTION"];function Ie(){typeof w.rebuild=="function"&&w.rebuild()}function rt(){w.setLevel("debug"),Ie()}function nt(){w.setLevel("silent"),Ie()}function at(o){w.setLevel(o),Ie()}function lt(o,e){const t=o.includes(":")?o:`MULTISELECT:${o}`;w.getLogger(t).setLevel(e)}class ct{constructor(e){d(this,"container");d(this,"wrapper");d(this,"viewport");d(this,"itemHeight");d(this,"items");d(this,"renderItem");d(this,"bufferSize");d(this,"onVisibleRangeChange");d(this,"onScroll");d(this,"scrollTop",0);d(this,"viewportHeight",0);d(this,"visibleStart",0);d(this,"visibleEnd",0);d(this,"scrollHandler");d(this,"resizeObserver");this.container=e.container,this.itemHeight=e.itemHeight,this.items=e.items,this.renderItem=e.renderItem,this.bufferSize=e.bufferSize??10,this.onVisibleRangeChange=e.onVisibleRangeChange,this.onScroll=e.onScroll,this.scrollHandler=this.handleScroll.bind(this),this.init()}init(){this.container.innerHTML="",this.wrapper=document.createElement("div"),this.wrapper.style.position="relative",this.wrapper.style.width="100%",this.wrapper.style.height=`${this.items.length*this.itemHeight}px`,this.wrapper.className="ms__virtual-scroll-wrapper",this.viewport=document.createElement("div"),this.viewport.style.position="absolute",this.viewport.style.top="0",this.viewport.style.left="0",this.viewport.style.right="0",this.viewport.style.width="100%",this.viewport.className="ms__virtual-scroll-viewport",this.wrapper.appendChild(this.viewport),this.container.appendChild(this.wrapper),this.container.addEventListener("scroll",this.scrollHandler),typeof ResizeObserver<"u"&&(this.resizeObserver=new ResizeObserver(()=>{this.updateViewportHeight(),this.render()}),this.resizeObserver.observe(this.container)),this.updateViewportHeight(),this.render()}updateViewportHeight(){const e=this.container.clientHeight;e>0&&(this.viewportHeight=e)}handleScroll(){this.scrollTop=this.container.scrollTop,this.onScroll&&this.onScroll(this.scrollTop),this.render()}calculateVisibleRange(){const e=Math.floor(this.scrollTop/this.itemHeight),t=Math.ceil((this.scrollTop+this.viewportHeight)/this.itemHeight),s=Math.max(0,e-this.bufferSize),i=Math.min(this.items.length,t+this.bufferSize);return{start:s,end:i}}render(){const{start:e,end:t}=this.calculateVisibleRange();if(e===this.visibleStart&&t===this.visibleEnd)return;this.visibleStart=e,this.visibleEnd=t,this.onVisibleRangeChange&&this.onVisibleRangeChange(e,t);let s="";for(let i=e;i<t;i++){const r=this.items[i],n=this.renderItem(r,i),a=i*this.itemHeight;s+=`<div class="ms__virtual-item" style="position: absolute; top: ${a}px; left: 0; right: 0; height: ${this.itemHeight}px;" data-index="${i}">`,s+=n,s+="</div>"}this.viewport.innerHTML=s}setItems(e){const t=e!==this.items||e.length!==this.items.length;this.items=e,this.wrapper.style.height=`${e.length*this.itemHeight}px`,this.updateViewportHeight(),t&&(this.scrollTop=0,this.container.scrollTop=0),this.visibleStart=-1,this.visibleEnd=-1,this.render()}scrollToIndex(e){if(e<0||e>=this.items.length)return;const t=e*this.itemHeight,s=t+this.itemHeight,i=this.container.scrollTop,r=i+this.viewportHeight;t<i?this.container.scrollTop=t:s>r&&(this.container.scrollTop=s-this.viewportHeight)}getVisibleRange(){return{start:this.visibleStart,end:this.visibleEnd}}getItemCount(){return this.items.length}setItemHeight(e){this.itemHeight=e,this.wrapper.style.height=`${this.items.length*e}px`,this.visibleStart=-1,this.visibleEnd=-1,this.render()}setBufferSize(e){this.bufferSize=e,this.visibleStart=-1,this.visibleEnd=-1,this.render()}refresh(){this.visibleStart=-1,this.visibleEnd=-1,this.render()}destroy(){this.container.removeEventListener("scroll",this.scrollHandler),this.resizeObserver&&this.resizeObserver.disconnect(),this.container.innerHTML=""}}class vs{constructor(e){d(this,"element");d(this,"trigger");d(this,"container");d(this,"placement");d(this,"offsetDistance");d(this,"showDelay");d(this,"hideDelay");d(this,"visibleClass");d(this,"onBeforeShow");d(this,"showTimer",null);d(this,"hideTimer",null);d(this,"positionCleanup",null);d(this,"handleMouseEnter");d(this,"handleMouseLeave");this.trigger=e.trigger,this.container=e.container,this.placement=e.placement??"top",this.offsetDistance=e.offsetDistance??8,this.showDelay=e.showDelay??100,this.hideDelay=e.hideDelay??100,this.visibleClass=e.visibleClass??"ms__badge-tooltip--visible",this.onBeforeShow=e.onBeforeShow,this.element=document.createElement("div"),this.element.className=e.cssClass??"ms__badge-tooltip",typeof e.content=="string"?this.element.textContent=e.content:this.element.appendChild(e.content),this.container.appendChild(this.element),this.handleMouseEnter=()=>this.scheduleShow(),this.handleMouseLeave=()=>this.scheduleHide(),this.trigger.addEventListener("mouseenter",this.handleMouseEnter),this.trigger.addEventListener("mouseleave",this.handleMouseLeave)}scheduleShow(){this.hideTimer!==null&&(clearTimeout(this.hideTimer),this.hideTimer=null),this.showTimer===null&&(this.showTimer=window.setTimeout(()=>{this.showTimer=null,this.show()},this.showDelay))}scheduleHide(){this.showTimer!==null&&(clearTimeout(this.showTimer),this.showTimer=null),this.hideTimer===null&&(this.hideTimer=window.setTimeout(()=>{this.hideTimer=null,this.hide()},this.hideDelay))}show(){var e;(e=this.onBeforeShow)==null||e.call(this),this.element.classList.add(this.visibleClass),this.positionCleanup&&this.positionCleanup(),this.positionCleanup=_e(this.trigger,this.element,()=>{Se(this.trigger,this.element,{placement:this.placement,strategy:"fixed",middleware:[xe(this.offsetDistance),Qe(),Ce({padding:8})]}).then(({x:t,y:s})=>{Object.assign(this.element.style,{left:`${t}px`,top:`${s}px`})})})}hide(){this.element.classList.remove(this.visibleClass),this.positionCleanup&&(this.positionCleanup(),this.positionCleanup=null)}hideImmediate(){this.showTimer!==null&&(clearTimeout(this.showTimer),this.showTimer=null),this.hideTimer!==null&&(clearTimeout(this.hideTimer),this.hideTimer=null),this.hide()}destroy(){this.showTimer!==null&&clearTimeout(this.showTimer),this.hideTimer!==null&&clearTimeout(this.hideTimer),this.showTimer=null,this.hideTimer=null,this.positionCleanup&&(this.positionCleanup(),this.positionCleanup=null),this.trigger.removeEventListener("mouseenter",this.handleMouseEnter),this.trigger.removeEventListener("mouseleave",this.handleMouseLeave),this.element.remove()}}function ws(o){let e=o;for(;e&&!(e===document.body||e===document.documentElement);){if(e instanceof Element){const s=getComputedStyle(e);if(s.transform!=="none"||s.perspective!=="none"||s.filter!=="none")return e;const i=s.backdropFilter;if(i&&i!=="none"||s.willChange&&/\b(transform|filter|perspective)\b/.test(s.willChange))return e}const t=e.parentNode;e=t instanceof ShadowRoot?t.host:t}return window}function ks(o,e,t){let s=o;for(;s&&!(s===document.body||s===document.documentElement);){if(s instanceof Element){const r=s.getBoundingClientRect();if(Math.abs(r.x-e)<2&&Math.abs(r.y-t)<2)return s}const i=s.parentNode;s=i instanceof ShadowRoot?i.host:i}return null}function ys(o){const e=getComputedStyle(o),t=[];e.transform!=="none"&&t.push(`transform: ${e.transform}`),e.perspective!=="none"&&t.push(`perspective: ${e.perspective}`),e.filter!=="none"&&t.push(`filter: ${e.filter}`);const s=e.backdropFilter;return s&&s!=="none"&&t.push(`backdrop-filter: ${s}`),e.willChange&&/\b(transform|filter|perspective)\b/.test(e.willChange)&&t.push(`will-change: ${e.willChange}`),e.contain&&/\b(paint|layout|strict|content)\b/.test(e.contain)&&t.push(`contain: ${e.contain}`),e.containerType&&e.containerType!=="normal"&&t.push(`container-type: ${e.containerType}`),t.join("; ")}class dt{constructor(e,t={}){d(this,"element");d(this,"instanceId");d(this,"options");d(this,"isOpen",!1);d(this,"selectedValues",new Set);d(this,"selectedOptions",new Map);d(this,"allOptions",[]);d(this,"filteredOptions",[]);d(this,"hiddenInputs",[]);d(this,"focusedIndex",-1);d(this,"matchingIndices",new Set);d(this,"searchTerm","");d(this,"isLoading",!1);d(this,"showSelectedPopover",!1);d(this,"selectedPopoverPlacement",null);d(this,"dropdownPlacement",null);d(this,"isRTL",!1);d(this,"effectiveBadgesPosition","bottom");d(this,"justClosedViaClick",!1);d(this,"positioningDriftWarned",!1);d(this,"dropdownCleanup",null);d(this,"hintCleanup",null);d(this,"selectedPopoverCleanup",null);d(this,"tooltips",new Map);d(this,"virtualScroll",null);d(this,"optionsContainer",null);d(this,"selectedPopoverVirtualScroll",null);d(this,"selectedPopoverContainer",null);d(this,"input");d(this,"dropdown");d(this,"dropdownInner");d(this,"badgesContainer");d(this,"counter");d(this,"hint");d(this,"selectedPopover");d(this,"documentKeydownHandler",null);d(this,"documentClickHandler",null);this.element=e,this.instanceId=`MS-${Math.random().toString(36).slice(2,11)}`,this.options={searchHint:e.dataset.searchHint||"",searchPlaceholder:e.dataset.searchPlaceholder||"Search...",dropdownMinWidth:e.dataset.dropdownMinWidth||void 0,dropdownMaxWidth:e.dataset.dropdownMaxWidth||void 0,badgesDisplayMode:e.dataset.badgesDisplayMode||"badges",badgesPosition:e.dataset.badgesPosition||"bottom",badgesThresholdMode:e.dataset.badgesThresholdMode||"count",maxHeight:e.dataset.maxHeight||"20rem",emptyMessage:e.dataset.emptyMessage||"No results found",loadingMessage:e.dataset.loadingMessage||"Loading...",searchInputMode:e.dataset.searchInputMode||"normal",searchMode:e.dataset.searchMode||"filter",badgesThreshold:e.dataset.badgesThreshold?parseInt(e.dataset.badgesThreshold):void 0,minSearchLength:parseInt(e.dataset.minSearchLength||"0")||0,isMultipleEnabled:e.dataset.multiple!=="false",isGroupsAllowed:e.dataset.allowGroups!=="false",isCheckboxesShown:e.dataset.showCheckboxes!=="false",isActionsSticky:e.dataset.stickyActions!=="false",isCloseOnSelect:e.dataset.closeOnSelect==="true",isPlacementLocked:e.dataset.lockPlacement!=="false",isSearchEnabled:e.dataset.enableSearch!=="false",isAddNewAllowed:e.dataset.allowAddNew==="true",isCounterShown:e.dataset.showCounter==="true",isKeepOptionsOnSearch:e.dataset.keepOptionsOnSearch!=="false",shouldKeepSearchOnClose:e.dataset.keepSearchOnClose!=="false",options:[],container:void 0,...t},this.init()}extractField(e,t){if(Array.isArray(e)&&e.length===2){if(t.tupleSkip)return typeof t.fallback=="function"?t.fallback():t.fallback;if(t.tupleIndex!==void 0){const i=e[t.tupleIndex];return t.transform?t.transform(i):i}}if(t.member&&e[t.member]!==void 0){const i=e[t.member];return t.transform?t.transform(i):i}return t.callback?t.callback(e):typeof t.fallback=="function"?t.fallback():t.fallback}getItemValue(e){return this.extractField(e,{tupleIndex:0,member:this.options.valueMember,callback:this.options.getValueCallback,fallback:"[N/A]"})}getItemDisplayValue(e){return this.extractField(e,{tupleIndex:1,member:this.options.displayValueMember,callback:this.options.getDisplayValueCallback,transform:String,fallback:"[N/A]"})}getItemBadgeDisplayValue(e){return this.options.getBadgeDisplayCallback?this.options.getBadgeDisplayCallback(e):this.getItemDisplayValue(e)}getItemSearchValue(e){return this.extractField(e,{member:this.options.searchValueMember,callback:this.options.getSearchValueCallback,transform:String,fallback:()=>this.getItemDisplayValue(e)})}getItemIcon(e){return this.extractField(e,{tupleSkip:!0,member:this.options.iconMember,callback:this.options.getIconCallback,transform:String,fallback:void 0})}getItemSubtitle(e){return this.extractField(e,{tupleSkip:!0,member:this.options.subtitleMember,callback:this.options.getSubtitleCallback,transform:String,fallback:void 0})}getItemGroup(e){return this.extractField(e,{tupleSkip:!0,member:this.options.groupMember,callback:this.options.getGroupCallback,transform:String,fallback:void 0})}getItemDisabled(e){return this.extractField(e,{tupleSkip:!0,member:this.options.disabledMember,callback:this.options.getDisabledCallback,transform:Boolean,fallback:!1})}init(){this.parseOptions(),this.buildHTML(),this.attachEvents(),this.parseInitialSelection(),te.debug(`Initialized [${this.instanceId}] with options:`,{placeholder:this.options.searchPlaceholder,totalOptions:this.allOptions.length,isCloseOnSelect:this.options.isCloseOnSelect,dataAttribute:this.element.dataset.closeOnSelect})}parseOptions(){const e=this.element.dataset.options;if(e)try{this.allOptions=JSON.parse(e)}catch(t){x.error(`[${this.instanceId}] Failed to parse data-options:`,t),this.allOptions=[]}else this.options.options&&(this.allOptions=this.options.options);this.filteredOptions=[...this.allOptions]}buildHTML(){const e=this.options.container||document.body,t=this.element.getRootNode(),s=t instanceof ShadowRoot?t.host:this.element,i=s.getAttribute("dir")==="rtl",r=s.closest('[dir="rtl"]')!==null;this.isRTL=i||r,te.debug(`[${this.instanceId}] RTL Debug:`,{isShadowRoot:t instanceof ShadowRoot,hostElement:s,elementDir:s.getAttribute("dir"),hasElementDir:i,hasAncestorDir:r,isRTL:this.isRTL}),this.effectiveBadgesPosition=this.options.badgesPosition||"bottom",this.isRTL&&(this.effectiveBadgesPosition==="left"?this.effectiveBadgesPosition="right":this.effectiveBadgesPosition==="right"&&(this.effectiveBadgesPosition="left")),this.element.classList.add("ms"),this.isRTL&&(this.element.classList.add("ms--rtl"),te.debug(`[${this.instanceId}] Added ms--rtl class to element`)),(!this.options.isCheckboxesShown||!this.options.isMultipleEnabled)&&this.element.classList.add("ms--no-checkboxes");const n=document.createElement("div");n.className="ms__input-wrapper",this.input=document.createElement("input"),this.input.type="text",this.input.className="ms__input",this.input.placeholder=this.options.searchPlaceholder,this.input.autocomplete="off",this.options.searchInputMode==="readonly"?this.input.readOnly=!0:this.options.searchInputMode==="hidden"&&(this.input.style.display="none");const a=document.createElement("span");a.className="ms__toggle",a.innerHTML="▼",this.counter=document.createElement("span"),this.counter.className="ms__counter",this.counter.style.display="none",n.appendChild(this.input),n.appendChild(this.counter),n.appendChild(a),this.badgesContainer=document.createElement("div"),this.badgesContainer.className="ms__badges";const l=document.createElement("div");l.className="ms-wrapper",(this.effectiveBadgesPosition==="left"||this.effectiveBadgesPosition==="right")&&l.classList.add("ms-wrapper--inline"),l.appendChild(n),l.appendChild(this.badgesContainer),this.element.appendChild(l),this.dropdown=document.createElement("div"),this.dropdown.className="ms__dropdown",this.dropdownInner=document.createElement("div"),this.dropdownInner.className="ms__dropdown-inner",this.dropdown.appendChild(this.dropdownInner),e.appendChild(this.dropdown),this.options.searchHint&&(this.hint=document.createElement("div"),this.hint.className="ms__hint",this.hint.textContent=this.options.searchHint,e.appendChild(this.hint)),this.selectedPopover=document.createElement("div"),this.selectedPopover.className="ms__selected-popover",e.appendChild(this.selectedPopover),this.renderDropdown()}shouldUseVirtualScroll(){if(!this.options.isVirtualScrollEnabled||this.options.isGroupsAllowed&&this.hasGroups())return!1;const e=this.options.virtualScrollThreshold??100;return this.filteredOptions.length>=e}hasGroups(){return this.filteredOptions.some(e=>{const t=this.getItemGroup(e);return t&&t.trim()!==""})}renderDropdown(){if(this.destroyAllActionButtonTooltips(),this.shouldUseVirtualScroll()){this.dropdown.classList.add("ms__dropdown--virtual"),this.renderDropdownVirtual();return}this.dropdown.classList.remove("ms__dropdown--virtual"),this.virtualScroll&&(this.virtualScroll.destroy(),this.virtualScroll=null,this.optionsContainer=null);let e="";if(this.isLoading){e+='<div class="ms__loader">',e+='<div class="pa-loader pa-loader--sm"></div>',e+=`<div class="ms__loading-text">${this.options.loadingMessage}</div>`,e+="</div>",this.dropdownInner.innerHTML=e;return}if(e+=this.renderActionsHTML(),e+='<div class="ms__options">',this.filteredOptions.length===0)e+=`<div class="ms__empty">${this.options.emptyMessage}</div>`;else if(this.options.isGroupsAllowed){const t=this.groupOptions(this.filteredOptions),s=new Map;this.filteredOptions.forEach((i,r)=>s.set(i,r)),Object.keys(t).forEach(i=>{if(e+='<div class="ms__group">',i!=="__ungrouped__")if(this.options.renderGroupLabelContentCallback){const r=this.options.renderGroupLabelContentCallback(i);if(r instanceof HTMLElement){const n=document.createElement("div");n.className="ms__group-label",n.appendChild(r),e+=n.outerHTML}else e+=`<div class="ms__group-label">${r}</div>`}else e+=`<div class="ms__group-label">${i}</div>`;t[i].forEach(r=>{e+=this.renderOption(r,s.get(r)??-1)}),e+="</div>"})}else this.filteredOptions.forEach((t,s)=>{e+=this.renderOption(t,s)});e+="</div>",this.dropdownInner.innerHTML=e,this.attachActionButtonTooltips()}renderDropdownVirtual(){if(this.destroyAllActionButtonTooltips(),!this.virtualScroll){let s="";s+=this.renderActionsHTML();const i=this.options.maxHeight||"20rem",r=this.options.optionHeight??50;s+=`<div class="ms__options ms__options--virtual" style="height: ${i}; max-height: ${i}; overflow-y: auto; position: relative; --ms-option-height: ${r}px;"></div>`,this.dropdownInner.innerHTML=s,this.optionsContainer=this.dropdownInner.querySelector(".ms__options")}if(this.filteredOptions.length===0){this.virtualScroll&&(this.virtualScroll.destroy(),this.virtualScroll=null),this.optionsContainer.innerHTML=`<div class="ms__empty">${this.options.emptyMessage}</div>`;return}const e=this.options.optionHeight??50,t=this.options.virtualScrollBuffer??10;requestAnimationFrame(()=>{this.optionsContainer&&(this.virtualScroll?this.virtualScroll.setItems(this.filteredOptions):this.virtualScroll=new ct({container:this.optionsContainer,itemHeight:e,items:this.filteredOptions,renderItem:(s,i)=>this.renderOption(s,i),bufferSize:t}),this.attachActionButtonTooltips())})}renderActionsHTML(){const e=this.options.actionButtons;if(!this.options.isMultipleEnabled||!e||e.length===0)return"";const t=this.options.isActionsSticky?" ms__actions--sticky":"",s=this.options.actionsLayout==="wrap"?" ms__actions--wrap":"",i=e.map((r,n)=>{if(!(r.isVisibleCallback?r.isVisibleCallback(this):r.isVisible??!0))return"";const c=(r.isDisabledCallback?r.isDisabledCallback(this):r.isDisabled??!1)?" disabled":"",h=r.getTextCallback?r.getTextCallback(this):r.text;let p="";if(r.getClassCallback){const u=r.getClassCallback(this);p=Array.isArray(u)?` ${u.join(" ")}`:u?` ${u}`:""}else r.cssClass&&(p=` ${r.cssClass}`);return`<button type="button"${c} class="ms__action-btn${p}" data-action="${r.action}" data-button-index="${n}">${h}</button>`}).join("");return`<div class="ms__actions${t}${s}">${i}</div>`}renderOption(e,t){const s=this.getItemValue(e),i=this.getItemDisplayValue(e),r=this.getItemIcon(e),n=this.getItemSubtitle(e),a=this.getItemDisabled(e),l=this.selectedValues.has(String(s)),c=t===this.focusedIndex,h=this.matchingIndices.has(t),p=["ms__option"];l&&p.push("ms__option--selected"),c&&p.push("ms__option--focused"),h&&p.push("ms__option--matched"),a&&p.push("ms__option--disabled");const u=this.options.checkboxAlign&&this.options.checkboxAlign!=="center"?` data-checkbox-align="${this.options.checkboxAlign}"`:"";let m=`<div class="${p.join(" ")}" data-value="${s}" data-index="${t}"${u}>`;if(this.options.isCheckboxesShown&&this.options.isMultipleEnabled&&(m+=`<input type="checkbox" class="ms__checkbox" ${l?"checked":""} ${a?"disabled":""}>`),m+='<div class="ms__option-content">',this.options.renderOptionContentCallback){const g={index:t,isSelected:l,isFocused:c,isMatched:h,isDisabled:a},b=this.options.renderOptionContentCallback(e,g);typeof b=="string"?m+=b:m+=b.outerHTML}else r&&(m+=`<span class="ms__option-icon">${r}</span>`),m+='<div class="ms__option-text">',m+=`<div class="ms__option-title">${this.highlightMatch(i,this.searchTerm)}</div>`,n&&(m+=`<div class="ms__option-subtitle">${n}</div>`),m+="</div>";return m+="</div>",m+="</div>",m}highlightMatch(e,t){if(!t)return e;const s=new RegExp(`(${t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})`,"gi");return e.replace(s,"<mark>$1</mark>")}groupOptions(e){const t={};return e.forEach(s=>{const i=this.getItemGroup(s)||"__ungrouped__";t[i]||(t[i]=[]),t[i].push(s)}),t}renderBadges(){this.destroyAllBadgeTooltips();const e=Array.from(this.selectedOptions.values()),t=this.selectedValues.size;if(!this.options.isMultipleEnabled){this.badgesContainer.innerHTML="",this.counter.style.display="none";let r;e[0]&&(this.options.renderSelectedContentCallback?r=this.options.renderSelectedContentCallback(e[0]):r=this.getItemDisplayValue(e[0])),!this.isOpen&&t>0&&e.length>0?this.input.value=r:this.isOpen||(this.input.value="");return}let s=this.options.badgesDisplayMode;if(this.options.badgesThreshold!==null&&t>this.options.badgesThreshold&&s!=="none"&&(s=this.options.badgesThresholdMode||"count"),!this.isOpen)if(t>0&&s==="count"){const r=this.options.getCounterCallback?this.options.getCounterCallback(t):`${t} selected`;this.input.placeholder=r}else this.input.placeholder=this.options.searchPlaceholder;if(this.options.isCounterShown&&t>0?(this.counter.textContent=`[${t}]`,this.counter.style.display=""):this.counter.style.display="none",s==="none"){this.badgesContainer.innerHTML="";return}if(s==="badges")this.badgesContainer.className=`ms__badges ms__badges--${this.effectiveBadgesPosition}`,this.badgesContainer.innerHTML=e.map(r=>this.renderBadgeHTML(r,{displayMode:"badges",isInPopover:!1})).join("");else if(s==="partial"){this.badgesContainer.className=`ms__badges ms__badges--${this.effectiveBadgesPosition}`;const r=this.options.badgesMaxVisible||3,n=e.slice(0,r),a=t-r,l=n.map(h=>this.renderBadgeHTML(h,{displayMode:"partial",isInPopover:!1})).join("");let c="";a>0&&(c=`
2
2
  <div class="ms__badge ms__badge--counter ms__badge--more" data-action="show-selected">
3
3
  <span class="ms__badge-text">${this.options.getCounterCallback?this.options.getCounterCallback(t,a):`+${a} more`}</span>
4
4
  <button type="button" class="ms__badge-remove" data-action="remove-hidden" aria-label="Remove ${a} hidden items"></button>
5
5
  </div>
6
- `),this.badgesContainer.innerHTML=l+c}else if(o==="compact")if(this.badgesContainer.className=`ms__badges ms__badges--${this.effectiveBadgesPosition}`,t>0){const r=e[0],n=this.getItemBadgeDisplayValue(r),a=t-1;let l=n;if(a>0){const c=this.options.getCounterCallback?this.options.getCounterCallback(t,a):`+${a} more`;l=`${n} (${c})`}this.badgesContainer.innerHTML=`
6
+ `),this.badgesContainer.innerHTML=l+c}else if(s==="compact")if(this.badgesContainer.className=`ms__badges ms__badges--${this.effectiveBadgesPosition}`,t>0){const r=e[0],n=this.getItemBadgeDisplayValue(r),a=t-1;let l=n;if(a>0){const c=this.options.getCounterCallback?this.options.getCounterCallback(t,a):`+${a} more`;l=`${n} (${c})`}this.badgesContainer.innerHTML=`
7
7
  <div class="ms__badge" data-action="show-selected">
8
8
  <span class="ms__badge-text">${l}</span>
9
9
  <button type="button" class="ms__badge-remove" data-action="clear-count" aria-label="Clear all selections"></button>
@@ -13,7 +13,7 @@
13
13
  <span class="ms__badge-text">${r}</span>
14
14
  <button type="button" class="ms__badge-remove" data-action="clear-count" aria-label="Clear all selections"></button>
15
15
  </div>
16
- `}else this.badgesContainer.innerHTML="";this.attachBadgeTooltips()}attachEvents(){this.input.addEventListener("mousedown",e=>{e.stopPropagation(),this.isOpen?(this.justClosedViaClick=!0,this.close(),setTimeout(()=>{this.justClosedViaClick=!1},0)):this.open()}),this.input.addEventListener("focus",()=>{!this.isOpen&&!this.justClosedViaClick&&this.open()}),this.input.addEventListener("input",e=>{const t=e.target.value;this.options.isSearchEnabled&&!this.isOpen&&this.open(),this.handleSearch(t)}),this.input.addEventListener("keydown",e=>this.handleKeydown(e)),this.documentClickHandler=e=>this.handleClickOutside(e),setTimeout(()=>{document.addEventListener("click",this.documentClickHandler)},0),this.documentKeydownHandler=e=>{e.key==="Escape"&&this.showSelectedPopover&&(e.preventDefault(),this.hideSelectedPopover())},document.addEventListener("keydown",this.documentKeydownHandler),this.dropdown.addEventListener("click",e=>this.handleDropdownClick(e)),this.dropdownInner.addEventListener("wheel",e=>{if(this.virtualScroll)return;const t=e.currentTarget,o=t.scrollTop===0,i=t.scrollTop+t.clientHeight>=t.scrollHeight;(e.deltaY<0&&o||e.deltaY>0&&i)&&e.preventDefault(),e.stopPropagation()},{passive:!1}),this.badgesContainer.addEventListener("mousedown",e=>{e.target.closest('[data-action="show-selected"]')&&!this.showSelectedPopover&&e.stopPropagation()}),this.badgesContainer.addEventListener("click",e=>this.handleBadgeClick(e)),this.counter.addEventListener("mousedown",e=>{this.showSelectedPopover||e.stopPropagation()}),this.counter.addEventListener("click",e=>{e.stopPropagation(),this.toggleSelectedPopover()}),this.selectedPopover.addEventListener("click",e=>this.handleSelectedPopoverClick(e))}async handleSearch(e){if(this.searchTerm=e,!this.options.isSearchEnabled)return;let t=e;if(this.options.beforeSearchCallback){const o=this.options.beforeSearchCallback(e);if(o===null){x.debug(`[${this.instanceId}] beforeSearchCallback blocked search for term:`,e),this.filteredOptions=[...this.allOptions],this.matchingIndices.clear(),this.renderDropdown();return}t=o,t!==e&&x.debug(`[${this.instanceId}] beforeSearchCallback transformed: "${e}" -> "${t}"`)}if(this.options.searchCallback){if(t.length<this.options.minSearchLength){this.isLoading=!1,this.options.isKeepOptionsOnSearch?(this.filteredOptions=[...this.allOptions],x.debug(`[${this.instanceId}] Search term below minimum, showing ${this.allOptions.length} initial options`)):this.filteredOptions=[],this.matchingIndices.clear(),this.renderDropdown();return}this.isLoading=!0,this.renderDropdown(),x.debug(`[${this.instanceId}] Loading data for search term:`,t);try{const o=await this.options.searchCallback(t);if(this.searchTerm===e){const i=o||[];this.filteredOptions=[...i],this.isLoading=!1,this.matchingIndices.clear(),this.focusedIndex=this.options.isSearchEnabled&&this.filteredOptions.length>0?0:-1,this.renderDropdown(),x.debug(`[${this.instanceId}] Loaded ${i.length} results`)}}catch(o){x.error(`[${this.instanceId}] Error loading data:`,o),this.isLoading=!1,this.options.isKeepOptionsOnSearch?this.filteredOptions=[...this.allOptions]:this.filteredOptions=[],this.matchingIndices.clear(),this.renderDropdown()}}else{if(!t)this.filteredOptions=[...this.allOptions],this.matchingIndices.clear(),this.focusedIndex=this.filteredOptions.length>0?0:-1;else{const o=this.options.searchMode||"filter",i=t.toLowerCase();if(o==="filter")this.filteredOptions=this.allOptions.filter(r=>this.getItemSearchValue(r).toLowerCase().includes(i)),this.matchingIndices.clear(),this.focusedIndex=this.filteredOptions.length>0?0:-1,x.debug(`[${this.instanceId}] Filter mode: ${this.filteredOptions.length} matches for "${t}"`);else{this.filteredOptions=[...this.allOptions],this.matchingIndices.clear();let r=-1;this.allOptions.forEach((n,a)=>{this.getItemSearchValue(n).toLowerCase().includes(i)&&(this.matchingIndices.add(a),r===-1&&(r=a))}),r>=0?(this.focusedIndex=r,x.debug(`[${this.instanceId}] Navigate mode: ${this.matchingIndices.size} matches, jumped to index ${r}`)):x.debug(`[${this.instanceId}] Navigate mode: No matches found, keeping previous focus`)}}this.renderDropdown(),this.options.searchMode==="navigate"&&this.focusedIndex>=0&&this.scrollToFocused()}}handleKeydown(e){if(!this.isOpen){(e.key==="Enter"||e.key==="ArrowDown")&&(e.preventDefault(),this.open());return}if(!this.options.isSearchEnabled){const t=e.key.length===1||e.key==="Backspace"||e.key==="Delete",o=["ArrowUp","ArrowDown","PageUp","PageDown","Home","End","Enter","Escape","Tab"].includes(e.key);if(t&&!o){e.preventDefault();return}}switch(e.key){case"ArrowDown":e.preventDefault(),e.ctrlKey||e.metaKey?this.focusNextMatch():this.focusNext();break;case"ArrowUp":e.preventDefault(),e.ctrlKey||e.metaKey?this.focusPreviousMatch():this.focusPrevious();break;case"Enter":e.preventDefault(),this.focusedIndex>=0?this.toggleOption(this.filteredOptions[this.focusedIndex]):this.options.isAddNewAllowed&&this.options.addNewCallback&&this.input.value.trim()&&this.handleAddNew(this.input.value.trim());break;case"Escape":e.preventDefault(),this.showSelectedPopover?this.hideSelectedPopover():this.input.value?(this.input.value="",this.searchTerm="",this.filteredOptions=[...this.allOptions],this.focusedIndex=-1,this.renderDropdown()):this.close();break;case"Tab":this.close();break;case"PageUp":e.preventDefault(),this.focusPageUp();break;case"PageDown":e.preventDefault(),this.focusPageDown();break;case"Home":e.preventDefault(),this.focusFirst();break;case"End":e.preventDefault(),this.focusLast();break}}handleDropdownClick(e){var i;S.debug(`[${this.instanceId}] Dropdown clicked`,{target:e.target.className}),e.stopPropagation();const t=e.target.closest("[data-action]");if(t){e.preventDefault();const r=t.dataset.action;if(S.debug(`[${this.instanceId}] Action button clicked:`,r),r==="select-all")this.selectAll();else if(r==="clear-all")this.clearAll();else if(r==="custom"){const n=parseInt(t.dataset.buttonIndex||"-1"),a=(i=this.options.actionButtons)==null?void 0:i[n];a!=null&&a.onClick&&a.onClick(this)}return}const o=e.target.closest(".ms__option");if(o&&!o.classList.contains("ms__option--disabled")){e.preventDefault();const r=o.dataset.value,n=this.filteredOptions.findIndex(a=>String(this.getItemValue(a))===r);S.debug(`[${this.instanceId}] Option clicked:`,{value:r,optionIndex:n,closeOnSelect:this.options.isCloseOnSelect,placeholder:this.options.searchPlaceholder}),n>=0&&(this.focusedIndex=n,this.toggleOption(this.filteredOptions[n]),this.isOpen&&this.input.focus())}}handleBadgeClick(e){if(e.target.closest('[data-action="clear-count"]')){e.preventDefault(),e.stopPropagation(),S.debug(`[${this.instanceId}] Clear count button clicked`),this.clearAll();return}if(e.target.closest('[data-action="show-selected"]')){e.preventDefault(),e.stopPropagation(),this.toggleSelectedPopover();return}const i=e.target.closest(".ms__badge-remove");if(i){if(e.preventDefault(),e.stopPropagation(),i.dataset.action==="remove-hidden"){S.debug(`[${this.instanceId}] Remove hidden items button clicked`);const l=this.options.badgesMaxVisible||3;Array.from(this.selectedOptions.values()).slice(l).forEach(p=>this.deselectOption(p));return}const n=i.dataset.value,a=this.selectedOptions.get(n);a&&this.deselectOption(a);return}if(e.target.closest(".ms__badge--more")&&!e.target.closest(".ms__badge-remove")){e.preventDefault(),e.stopPropagation(),S.debug(`[${this.instanceId}] '+X more' badge clicked, showing popover`),this.toggleSelectedPopover();return}}handleClickOutside(e){var i;const t=e.composedPath();if(this.showSelectedPopover&&!t.some(n=>n instanceof Node&&(this.selectedPopover.contains(n)||this.counter.contains(n)||n.closest&&n.closest('[data-action="show-selected"]')))){E.debug(`[${this.instanceId}] Closing selected popover due to click outside`),this.hideSelectedPopover();return}if(!this.isOpen)return;const o=t.some(r=>r instanceof Node&&(this.element.contains(r)||this.dropdown.contains(r)||this.hint&&this.hint.contains(r)));S.debug(`[${this.instanceId}] handleClickOutside`,{target:e.target.className,targetTag:e.target.tagName,clickedInside:o,pathLength:t.length,firstInPath:(i=t[0])==null?void 0:i.tagName,elementContains:t.some(r=>r instanceof Node&&this.element.contains(r)),dropdownContains:t.some(r=>r instanceof Node&&this.dropdown.contains(r)),isConnected:this.dropdown.isConnected}),o||(S.warn(`[${this.instanceId}] Closing dropdown due to click outside`),this.close())}focusBy(e){const t=this.filteredOptions.length;if(t===0)return;const o=e(this.focusedIndex,t);o<0||(this.focusedIndex=o,this.renderDropdown(),this.scrollToFocused())}focusNext(){this.focusBy((e,t)=>Math.min(t-1,e+1))}focusPrevious(){this.focusBy(e=>Math.max(0,e-1))}focusFirst(){this.focusBy(()=>0)}focusLast(){this.focusBy((e,t)=>t-1)}focusPageUp(){this.focusBy(e=>Math.max(0,e-10))}focusPageDown(){this.focusBy((e,t)=>Math.min(t-1,e+10))}focusNextMatch(){if(this.matchingIndices.size===0)return;const e=Array.from(this.matchingIndices).sort((i,r)=>i-r),t=e.findIndex(i=>i===this.focusedIndex),o=(t+1)%e.length;this.focusBy(()=>e[o]),S.debug(`[${this.instanceId}] Jumped to next match: index ${this.focusedIndex} (${t+1} of ${e.length})`)}focusPreviousMatch(){if(this.matchingIndices.size===0)return;const e=Array.from(this.matchingIndices).sort((i,r)=>i-r),t=e.findIndex(i=>i===this.focusedIndex),o=t<=0?e.length-1:t-1;this.focusBy(()=>e[o]),S.debug(`[${this.instanceId}] Jumped to previous match: index ${this.focusedIndex} (${t+1} of ${e.length})`)}scrollToFocused(){if(this.virtualScroll&&this.focusedIndex>=0)this.virtualScroll.scrollToIndex(this.focusedIndex);else{const e=this.dropdown.querySelector(".ms__option--focused");e&&e.scrollIntoView({block:"nearest",behavior:"smooth"})}}toggleOption(e){if(this.getItemDisabled(e)){S.debug(`[${this.instanceId}] toggleOption ignored — option is disabled`);return}const t=this.getItemValue(e),o=String(t);if(S.debug(`[${this.instanceId}] toggleOption called`,{value:t,multiple:this.options.isMultipleEnabled}),!this.options.isMultipleEnabled){this.selectedValues.has(o)?(S.debug(`[${this.instanceId}] Deselecting option in single-select mode`,{value:t}),this.deselectOption(e)):(S.debug(`[${this.instanceId}] Clearing previous selections and selecting new option`,{value:t}),this.selectedValues.clear(),this.selectedOptions.clear(),this.selectOption(e)),this.close();return}this.selectedValues.has(o)?(S.debug(`[${this.instanceId}] Deselecting option`,{value:t}),this.deselectOption(e)):(S.debug(`[${this.instanceId}] Selecting option`,{value:t}),this.selectOption(e)),this.options.isCloseOnSelect&&this.close()}async handleAddNew(e){if(this.options.addNewCallback)try{x.debug(`[${this.instanceId}] Adding new option:`,e);const t=await this.options.addNewCallback(e);this.allOptions.push(t),this.filteredOptions.push(t),this.selectOption(t),this.input.value="",this.renderDropdown(),this.renderBadges(),this.options.isCloseOnSelect&&this.close()}catch(t){x.error(`[${this.instanceId}] Error adding new option:`,t)}}selectOption(e){const t=this.getItemValue(e),o=String(t);this.selectedValues.add(o),this.selectedOptions.set(o,e),this.commit({added:[e]})}deselectOption(e){const t=this.getItemValue(e),o=String(t);this.selectedValues.delete(o),this.selectedOptions.delete(o),this.commit({removed:[e]})}selectAll(){const e=[];this.filteredOptions.forEach(t=>{if(this.getItemDisabled(t))return;const o=String(this.getItemValue(t));this.selectedValues.has(o)||(this.selectedValues.add(o),this.selectedOptions.set(o,t),e.push(t))}),this.commit({added:e})}clearAll(){const e=Array.from(this.selectedOptions.values());this.selectedValues.clear(),this.selectedOptions.clear(),this.commit({removed:e})}commit(e){this.renderDropdown(),this.renderBadges(),this.updateHiddenInput();const t=e.added??[],o=e.removed??[];this.options.selectCallback&&t.forEach(i=>this.options.selectCallback(i)),this.options.deselectCallback&&o.forEach(i=>this.options.deselectCallback(i)),(t.length>0||o.length>0)&&this.options.changeCallback&&this.options.changeCallback(this.getSelected())}open(){E.debug(`[${this.instanceId}] open() called`,{isOpen:this.isOpen}),!this.isOpen&&(this.isOpen=!0,this.element.classList.add("ms--open"),this.dropdown.classList.add("ms__dropdown--visible"),E.info(`[${this.instanceId}] Dropdown opened`),this.input.placeholder=this.options.searchPlaceholder,!this.options.isMultipleEnabled&&this.options.isSearchEnabled&&(this.input.value=""),this.options.searchCallback&&this.options.isKeepOptionsOnSearch&&!this.searchTerm&&(this.filteredOptions=[...this.allOptions],E.debug(`[${this.instanceId}] Showing ${this.allOptions.length} initial options on open`)),this.renderDropdown(),this.positionDropdown(),this.hint&&(this.hint.classList.add("ms__hint--visible"),this.positionHint()))}close(){E.debug(`[${this.instanceId}] close() called`,{isOpen:this.isOpen}),this.isOpen&&(this.isOpen=!1,this.element.classList.remove("ms--open"),this.dropdown.classList.remove("ms__dropdown--visible"),this.hint&&this.hint.classList.remove("ms__hint--visible"),this.options.shouldKeepSearchOnClose||(this.searchTerm="",(this.options.isMultipleEnabled||this.options.isSearchEnabled)&&(this.input.value=""),this.filteredOptions=[...this.allOptions]),this.focusedIndex=-1,this.renderBadges(),this.dropdownCleanup&&(this.dropdownCleanup(),this.dropdownCleanup=null),this.hintCleanup&&(this.hintCleanup(),this.hintCleanup=null),this.dropdownPlacement=null,E.debug(`[${this.instanceId}] Dropdown closed`))}anchorFloatingPanel(e,t){return ye(this.input,e,()=>{var a;const o=((a=t.isLocked)==null?void 0:a.call(t))??!0,i=t.getPlacement(),r=o&&i?i:"bottom-start",n=[xe(4),...o&&i?[]:[Qe()],Ce({padding:8})];Se(this.input,e,{placement:r,strategy:"fixed",middleware:n}).then(({x:l,y:c,placement:h})=>{var u;i||t.setPlacement(h);const p={position:"fixed",left:`${l}px`,top:`${c}px`,width:`${this.input.offsetWidth}px`};this.options.dropdownMinWidth&&(p.minWidth=this.options.dropdownMinWidth),t.applyMaxWidth&&this.options.dropdownMaxWidth&&(p.maxWidth=this.options.dropdownMaxWidth),Object.assign(e.style,p),(u=t.afterPosition)==null||u.call(t)})})}positionDropdown(){this.dropdownCleanup=this.anchorFloatingPanel(this.dropdown,{getPlacement:()=>this.dropdownPlacement,setPlacement:e=>{this.dropdownPlacement=e,E.debug(`[${this.instanceId}] Locked dropdown placement:`,e)},isLocked:()=>!!this.options.isPlacementLocked,applyMaxWidth:!0,afterPosition:()=>{this.hint&&this.isOpen&&this.positionHint()}})}positionHint(){this.hint&&(this.hintCleanup&&this.hintCleanup(),this.hintCleanup=ye(this.input,this.hint,()=>{let e="top-start";this.dropdownPlacement&&(this.dropdownPlacement.startsWith("bottom")?e=this.dropdownPlacement.replace("bottom","top"):this.dropdownPlacement.startsWith("top")&&(e=this.dropdownPlacement.replace("top","bottom"))),Se(this.input,this.hint,{placement:e,strategy:"fixed",middleware:[xe(4),Ce({padding:8})]}).then(({x:t,y:o})=>{Object.assign(this.hint.style,{position:"fixed",left:`${t}px`,top:`${o}px`})})}))}parseInitialSelection(){const e=this.element.dataset.initialValues;if(e)try{JSON.parse(e).forEach(o=>{this.selectedValues.add(String(o))}),this.reconcileSelectedOptions(),this.renderBadges()}catch(t){x.error(`[${this.instanceId}] Failed to parse initial values:`,t)}}reconcileSelectedOptions(){this.selectedValues.size===0||this.allOptions.length===0||this.selectedValues.forEach(e=>{if(this.selectedOptions.has(e))return;const t=this.allOptions.find(o=>String(this.getItemValue(o))===e);t&&this.selectedOptions.set(e,t)})}toggleSelectedPopover(){this.showSelectedPopover?this.hideSelectedPopover():this.showPopover()}showPopover(){E.debug(`[${this.instanceId}] showPopover() called`),this.isOpen&&this.close(),this.showSelectedPopover=!0,this.renderSelectedPopover(),this.selectedPopover.classList.add("ms__selected-popover--visible");const e=this.options.virtualScrollThreshold??100;this.selectedValues.size>=e&&this.selectedPopover.classList.add("ms__selected-popover--virtual"),this.positionSelectedPopover()}hideSelectedPopover(){var e;E.debug(`[${this.instanceId}] hideSelectedPopover() called`),this.showSelectedPopover=!1,this.selectedPopover.classList.remove("ms__selected-popover--visible"),this.selectedPopover.classList.remove("ms__selected-popover--virtual"),this.selectedPopoverPlacement=null,this.selectedPopoverVirtualScroll&&(this.selectedPopoverVirtualScroll.destroy(),this.selectedPopoverVirtualScroll=null,this.selectedPopoverContainer=null),this.selectedPopoverCleanup&&(this.selectedPopoverCleanup(),this.selectedPopoverCleanup=null);for(const t of Array.from(this.tooltips.keys()))t.startsWith("popover-")&&((e=this.tooltips.get(t))==null||e.destroy(),this.tooltips.delete(t))}renderSelectedPopover(){const e=Array.from(this.selectedOptions.values()),t=this.selectedValues.size,o=this.options.virtualScrollThreshold??100;if(t>=o){this.renderSelectedPopoverVirtual(e,t);return}this.selectedPopover.innerHTML=`
16
+ `}else this.badgesContainer.innerHTML="";this.attachBadgeTooltips()}attachEvents(){this.input.addEventListener("mousedown",e=>{e.stopPropagation(),this.isOpen?(this.justClosedViaClick=!0,this.close(),setTimeout(()=>{this.justClosedViaClick=!1},0)):this.open()}),this.input.addEventListener("focus",()=>{!this.isOpen&&!this.justClosedViaClick&&this.open()}),this.input.addEventListener("input",e=>{const t=e.target.value;this.options.isSearchEnabled&&!this.isOpen&&this.open(),this.handleSearch(t)}),this.input.addEventListener("keydown",e=>this.handleKeydown(e)),this.documentClickHandler=e=>this.handleClickOutside(e),setTimeout(()=>{document.addEventListener("click",this.documentClickHandler)},0),this.documentKeydownHandler=e=>{e.key==="Escape"&&this.showSelectedPopover&&(e.preventDefault(),this.hideSelectedPopover())},document.addEventListener("keydown",this.documentKeydownHandler),this.dropdown.addEventListener("click",e=>this.handleDropdownClick(e)),this.dropdownInner.addEventListener("wheel",e=>{if(this.virtualScroll)return;const t=e.currentTarget,s=t.scrollTop===0,i=t.scrollTop+t.clientHeight>=t.scrollHeight;(e.deltaY<0&&s||e.deltaY>0&&i)&&e.preventDefault(),e.stopPropagation()},{passive:!1}),this.badgesContainer.addEventListener("mousedown",e=>{e.target.closest('[data-action="show-selected"]')&&!this.showSelectedPopover&&e.stopPropagation()}),this.badgesContainer.addEventListener("click",e=>this.handleBadgeClick(e)),this.counter.addEventListener("mousedown",e=>{this.showSelectedPopover||e.stopPropagation()}),this.counter.addEventListener("click",e=>{e.stopPropagation(),this.toggleSelectedPopover()}),this.selectedPopover.addEventListener("click",e=>this.handleSelectedPopoverClick(e))}async handleSearch(e){if(this.searchTerm=e,!this.options.isSearchEnabled)return;let t=e;if(this.options.beforeSearchCallback){const s=this.options.beforeSearchCallback(e);if(s===null){x.debug(`[${this.instanceId}] beforeSearchCallback blocked search for term:`,e),this.filteredOptions=[...this.allOptions],this.matchingIndices.clear(),this.renderDropdown();return}t=s,t!==e&&x.debug(`[${this.instanceId}] beforeSearchCallback transformed: "${e}" -> "${t}"`)}if(this.options.searchCallback){if(t.length<this.options.minSearchLength){this.isLoading=!1,this.options.isKeepOptionsOnSearch?(this.filteredOptions=[...this.allOptions],x.debug(`[${this.instanceId}] Search term below minimum, showing ${this.allOptions.length} initial options`)):this.filteredOptions=[],this.matchingIndices.clear(),this.renderDropdown();return}this.isLoading=!0,this.renderDropdown(),x.debug(`[${this.instanceId}] Loading data for search term:`,t);try{const s=await this.options.searchCallback(t);if(this.searchTerm===e){const i=s||[];this.filteredOptions=[...i],this.isLoading=!1,this.matchingIndices.clear(),this.focusedIndex=this.options.isSearchEnabled&&this.filteredOptions.length>0?0:-1,this.renderDropdown(),x.debug(`[${this.instanceId}] Loaded ${i.length} results`)}}catch(s){x.error(`[${this.instanceId}] Error loading data:`,s),this.isLoading=!1,this.options.isKeepOptionsOnSearch?this.filteredOptions=[...this.allOptions]:this.filteredOptions=[],this.matchingIndices.clear(),this.renderDropdown()}}else{if(!t)this.filteredOptions=[...this.allOptions],this.matchingIndices.clear(),this.focusedIndex=this.filteredOptions.length>0?0:-1;else{const s=this.options.searchMode||"filter",i=t.toLowerCase();if(s==="filter")this.filteredOptions=this.allOptions.filter(r=>this.getItemSearchValue(r).toLowerCase().includes(i)),this.matchingIndices.clear(),this.focusedIndex=this.filteredOptions.length>0?0:-1,x.debug(`[${this.instanceId}] Filter mode: ${this.filteredOptions.length} matches for "${t}"`);else{this.filteredOptions=[...this.allOptions],this.matchingIndices.clear();let r=-1;this.allOptions.forEach((n,a)=>{this.getItemSearchValue(n).toLowerCase().includes(i)&&(this.matchingIndices.add(a),r===-1&&(r=a))}),r>=0?(this.focusedIndex=r,x.debug(`[${this.instanceId}] Navigate mode: ${this.matchingIndices.size} matches, jumped to index ${r}`)):x.debug(`[${this.instanceId}] Navigate mode: No matches found, keeping previous focus`)}}this.renderDropdown(),this.options.searchMode==="navigate"&&this.focusedIndex>=0&&this.scrollToFocused()}}handleKeydown(e){if(!this.isOpen){(e.key==="Enter"||e.key==="ArrowDown")&&(e.preventDefault(),this.open());return}if(!this.options.isSearchEnabled){const t=e.key.length===1||e.key==="Backspace"||e.key==="Delete",s=["ArrowUp","ArrowDown","PageUp","PageDown","Home","End","Enter","Escape","Tab"].includes(e.key);if(t&&!s){e.preventDefault();return}}switch(e.key){case"ArrowDown":e.preventDefault(),e.ctrlKey||e.metaKey?this.focusNextMatch():this.focusNext();break;case"ArrowUp":e.preventDefault(),e.ctrlKey||e.metaKey?this.focusPreviousMatch():this.focusPrevious();break;case"Enter":e.preventDefault(),this.focusedIndex>=0?this.toggleOption(this.filteredOptions[this.focusedIndex]):this.options.isAddNewAllowed&&this.options.addNewCallback&&this.input.value.trim()&&this.handleAddNew(this.input.value.trim());break;case"Escape":e.preventDefault(),this.showSelectedPopover?this.hideSelectedPopover():this.input.value?(this.input.value="",this.searchTerm="",this.filteredOptions=[...this.allOptions],this.focusedIndex=-1,this.renderDropdown()):this.close();break;case"Tab":this.close();break;case"PageUp":e.preventDefault(),this.focusPageUp();break;case"PageDown":e.preventDefault(),this.focusPageDown();break;case"Home":e.preventDefault(),this.focusFirst();break;case"End":e.preventDefault(),this.focusLast();break}}handleDropdownClick(e){var i;S.debug(`[${this.instanceId}] Dropdown clicked`,{target:e.target.className}),e.stopPropagation();const t=e.target.closest("[data-action]");if(t){e.preventDefault();const r=t.dataset.action;if(S.debug(`[${this.instanceId}] Action button clicked:`,r),r==="select-all")this.selectAll();else if(r==="clear-all")this.clearAll();else if(r==="custom"){const n=parseInt(t.dataset.buttonIndex||"-1"),a=(i=this.options.actionButtons)==null?void 0:i[n];a!=null&&a.onClick&&a.onClick(this)}return}const s=e.target.closest(".ms__option");if(s&&!s.classList.contains("ms__option--disabled")){e.preventDefault();const r=s.dataset.value,n=this.filteredOptions.findIndex(a=>String(this.getItemValue(a))===r);S.debug(`[${this.instanceId}] Option clicked:`,{value:r,optionIndex:n,closeOnSelect:this.options.isCloseOnSelect,placeholder:this.options.searchPlaceholder}),n>=0&&(this.focusedIndex=n,this.toggleOption(this.filteredOptions[n]),this.isOpen&&this.input.focus())}}handleBadgeClick(e){if(e.target.closest('[data-action="clear-count"]')){e.preventDefault(),e.stopPropagation(),S.debug(`[${this.instanceId}] Clear count button clicked`),this.clearAll();return}if(e.target.closest('[data-action="show-selected"]')){e.preventDefault(),e.stopPropagation(),this.toggleSelectedPopover();return}const i=e.target.closest(".ms__badge-remove");if(i){if(e.preventDefault(),e.stopPropagation(),i.dataset.action==="remove-hidden"){S.debug(`[${this.instanceId}] Remove hidden items button clicked`);const l=this.options.badgesMaxVisible||3;Array.from(this.selectedOptions.values()).slice(l).forEach(p=>this.deselectOption(p));return}const n=i.dataset.value,a=this.selectedOptions.get(n);a&&this.deselectOption(a);return}if(e.target.closest(".ms__badge--more")&&!e.target.closest(".ms__badge-remove")){e.preventDefault(),e.stopPropagation(),S.debug(`[${this.instanceId}] '+X more' badge clicked, showing popover`),this.toggleSelectedPopover();return}}handleClickOutside(e){var i;const t=e.composedPath();if(this.showSelectedPopover&&!t.some(n=>n instanceof Node&&(this.selectedPopover.contains(n)||this.counter.contains(n)||n.closest&&n.closest('[data-action="show-selected"]')))){E.debug(`[${this.instanceId}] Closing selected popover due to click outside`),this.hideSelectedPopover();return}if(!this.isOpen)return;const s=t.some(r=>r instanceof Node&&(this.element.contains(r)||this.dropdown.contains(r)||this.hint&&this.hint.contains(r)));S.debug(`[${this.instanceId}] handleClickOutside`,{target:e.target.className,targetTag:e.target.tagName,clickedInside:s,pathLength:t.length,firstInPath:(i=t[0])==null?void 0:i.tagName,elementContains:t.some(r=>r instanceof Node&&this.element.contains(r)),dropdownContains:t.some(r=>r instanceof Node&&this.dropdown.contains(r)),isConnected:this.dropdown.isConnected}),s||(S.warn(`[${this.instanceId}] Closing dropdown due to click outside`),this.close())}focusBy(e){const t=this.filteredOptions.length;if(t===0)return;const s=e(this.focusedIndex,t);s<0||(this.focusedIndex=s,this.renderDropdown(),this.scrollToFocused())}focusNext(){this.focusBy((e,t)=>Math.min(t-1,e+1))}focusPrevious(){this.focusBy(e=>Math.max(0,e-1))}focusFirst(){this.focusBy(()=>0)}focusLast(){this.focusBy((e,t)=>t-1)}focusPageUp(){this.focusBy(e=>Math.max(0,e-10))}focusPageDown(){this.focusBy((e,t)=>Math.min(t-1,e+10))}focusNextMatch(){if(this.matchingIndices.size===0)return;const e=Array.from(this.matchingIndices).sort((i,r)=>i-r),t=e.findIndex(i=>i===this.focusedIndex),s=(t+1)%e.length;this.focusBy(()=>e[s]),S.debug(`[${this.instanceId}] Jumped to next match: index ${this.focusedIndex} (${t+1} of ${e.length})`)}focusPreviousMatch(){if(this.matchingIndices.size===0)return;const e=Array.from(this.matchingIndices).sort((i,r)=>i-r),t=e.findIndex(i=>i===this.focusedIndex),s=t<=0?e.length-1:t-1;this.focusBy(()=>e[s]),S.debug(`[${this.instanceId}] Jumped to previous match: index ${this.focusedIndex} (${t+1} of ${e.length})`)}scrollToFocused(){if(this.virtualScroll&&this.focusedIndex>=0)this.virtualScroll.scrollToIndex(this.focusedIndex);else{const e=this.dropdown.querySelector(".ms__option--focused");e&&e.scrollIntoView({block:"nearest",behavior:"smooth"})}}toggleOption(e){if(this.getItemDisabled(e)){S.debug(`[${this.instanceId}] toggleOption ignored — option is disabled`);return}const t=this.getItemValue(e),s=String(t);if(S.debug(`[${this.instanceId}] toggleOption called`,{value:t,multiple:this.options.isMultipleEnabled}),!this.options.isMultipleEnabled){this.selectedValues.has(s)?(S.debug(`[${this.instanceId}] Deselecting option in single-select mode`,{value:t}),this.deselectOption(e)):(S.debug(`[${this.instanceId}] Clearing previous selections and selecting new option`,{value:t}),this.selectedValues.clear(),this.selectedOptions.clear(),this.selectOption(e)),this.close();return}this.selectedValues.has(s)?(S.debug(`[${this.instanceId}] Deselecting option`,{value:t}),this.deselectOption(e)):(S.debug(`[${this.instanceId}] Selecting option`,{value:t}),this.selectOption(e)),this.options.isCloseOnSelect&&this.close()}async handleAddNew(e){if(this.options.addNewCallback)try{x.debug(`[${this.instanceId}] Adding new option:`,e);const t=await this.options.addNewCallback(e);this.allOptions.push(t),this.filteredOptions.push(t),this.selectOption(t),this.input.value="",this.renderDropdown(),this.renderBadges(),this.options.isCloseOnSelect&&this.close()}catch(t){x.error(`[${this.instanceId}] Error adding new option:`,t)}}selectOption(e){const t=this.getItemValue(e),s=String(t);this.selectedValues.add(s),this.selectedOptions.set(s,e),this.commit({added:[e]})}deselectOption(e){const t=this.getItemValue(e),s=String(t);this.selectedValues.delete(s),this.selectedOptions.delete(s),this.commit({removed:[e]})}selectAll(){const e=[];this.filteredOptions.forEach(t=>{if(this.getItemDisabled(t))return;const s=String(this.getItemValue(t));this.selectedValues.has(s)||(this.selectedValues.add(s),this.selectedOptions.set(s,t),e.push(t))}),this.commit({added:e})}clearAll(){const e=Array.from(this.selectedOptions.values());this.selectedValues.clear(),this.selectedOptions.clear(),this.commit({removed:e})}commit(e){this.renderDropdown(),this.renderBadges(),this.updateHiddenInput();const t=e.added??[],s=e.removed??[];this.options.selectCallback&&t.forEach(i=>this.options.selectCallback(i)),this.options.deselectCallback&&s.forEach(i=>this.options.deselectCallback(i)),(t.length>0||s.length>0)&&this.options.changeCallback&&this.options.changeCallback(this.getSelected())}open(){E.debug(`[${this.instanceId}] open() called`,{isOpen:this.isOpen}),!this.isOpen&&(this.isOpen=!0,this.element.classList.add("ms--open"),this.dropdown.classList.add("ms__dropdown--visible"),E.info(`[${this.instanceId}] Dropdown opened`),this.input.placeholder=this.options.searchPlaceholder,!this.options.isMultipleEnabled&&this.options.isSearchEnabled&&(this.input.value=""),this.options.searchCallback&&this.options.isKeepOptionsOnSearch&&!this.searchTerm&&(this.filteredOptions=[...this.allOptions],E.debug(`[${this.instanceId}] Showing ${this.allOptions.length} initial options on open`)),this.renderDropdown(),this.positionDropdown(),this.hint&&(this.hint.classList.add("ms__hint--visible"),this.positionHint()))}close(){E.debug(`[${this.instanceId}] close() called`,{isOpen:this.isOpen}),this.isOpen&&(this.isOpen=!1,this.element.classList.remove("ms--open"),this.dropdown.classList.remove("ms__dropdown--visible"),this.hint&&this.hint.classList.remove("ms__hint--visible"),this.options.shouldKeepSearchOnClose||(this.searchTerm="",(this.options.isMultipleEnabled||this.options.isSearchEnabled)&&(this.input.value=""),this.filteredOptions=[...this.allOptions]),this.focusedIndex=-1,this.renderBadges(),this.dropdownCleanup&&(this.dropdownCleanup(),this.dropdownCleanup=null),this.hintCleanup&&(this.hintCleanup(),this.hintCleanup=null),this.dropdownPlacement=null,E.debug(`[${this.instanceId}] Dropdown closed`))}anchorFloatingPanel(e,t){const s={...Xe,getOffsetParent:()=>ws(this.input)};return _e(this.input,e,()=>{var l;e.style.width=`${this.input.offsetWidth}px`,this.options.dropdownMinWidth&&(e.style.minWidth=this.options.dropdownMinWidth),t.applyMaxWidth&&this.options.dropdownMaxWidth&&(e.style.maxWidth=this.options.dropdownMaxWidth);const i=((l=t.isLocked)==null?void 0:l.call(t))??!0,r=t.getPlacement(),n=i&&r?r:"bottom-start",a=[xe(4),...i&&r?[]:[Qe()],Ce({padding:8})];Se(this.input,e,{placement:n,strategy:"fixed",middleware:a,platform:s}).then(({x:c,y:h,placement:p})=>{var u;r||t.setPlacement(p),Object.assign(e.style,{position:"fixed",left:`${c}px`,top:`${h}px`}),this.verifyPanelLanded(e,c,h),(u=t.afterPosition)==null||u.call(t)})})}verifyPanelLanded(e,t,s){if(this.positioningDriftWarned)return;const i=e.getBoundingClientRect(),r=i.x-t,n=i.y-s;if(Math.abs(r)<1&&Math.abs(n)<1)return;this.positioningDriftWarned=!0;const a=ks(this.input,r,n),l=a?`<${a.tagName.toLowerCase()}${a.id?"#"+a.id:""}${typeof a.className=="string"&&a.className?"."+a.className.split(/\s+/).filter(Boolean).slice(0,2).join("."):""}>`:"an ancestor element (could not auto-identify)",c=a?ys(a):"";console.warn(`[@keenmate/web-multiselect] Dropdown panel rendered ${r.toFixed(0)}px / ${n.toFixed(0)}px away from where the library positioned it. Most likely culprit: ${l}`+(c?` (has ${c})`:"")+".\nAn ancestor of <web-multiselect> establishes a fixed-positioning containing block that the library's heuristic doesn't recognize. Fix on your side: replace the property with `transform: translateZ(0)` on that ancestor, OR move the trigger out of that ancestor's subtree. If neither is acceptable, please file an issue at https://github.com/keenmate/web-multiselect/issues with the ancestor's computed CSS.")}positionDropdown(){this.dropdownCleanup=this.anchorFloatingPanel(this.dropdown,{getPlacement:()=>this.dropdownPlacement,setPlacement:e=>{this.dropdownPlacement=e,E.debug(`[${this.instanceId}] Locked dropdown placement:`,e)},isLocked:()=>!!this.options.isPlacementLocked,applyMaxWidth:!0,afterPosition:()=>{this.hint&&this.isOpen&&this.positionHint()}})}positionHint(){this.hint&&(this.hintCleanup&&this.hintCleanup(),this.hintCleanup=_e(this.input,this.hint,()=>{let e="top-start";this.dropdownPlacement&&(this.dropdownPlacement.startsWith("bottom")?e=this.dropdownPlacement.replace("bottom","top"):this.dropdownPlacement.startsWith("top")&&(e=this.dropdownPlacement.replace("top","bottom"))),Se(this.input,this.hint,{placement:e,strategy:"fixed",middleware:[xe(4),Ce({padding:8})]}).then(({x:t,y:s})=>{Object.assign(this.hint.style,{position:"fixed",left:`${t}px`,top:`${s}px`})})}))}parseInitialSelection(){const e=this.element.dataset.initialValues;if(e)try{JSON.parse(e).forEach(s=>{this.selectedValues.add(String(s))}),this.reconcileSelectedOptions(),this.renderBadges()}catch(t){x.error(`[${this.instanceId}] Failed to parse initial values:`,t)}}reconcileSelectedOptions(){this.selectedValues.size===0||this.allOptions.length===0||this.selectedValues.forEach(e=>{if(this.selectedOptions.has(e))return;const t=this.allOptions.find(s=>String(this.getItemValue(s))===e);t&&this.selectedOptions.set(e,t)})}toggleSelectedPopover(){this.showSelectedPopover?this.hideSelectedPopover():this.showPopover()}showPopover(){E.debug(`[${this.instanceId}] showPopover() called`),this.isOpen&&this.close(),this.showSelectedPopover=!0,this.renderSelectedPopover(),this.selectedPopover.classList.add("ms__selected-popover--visible");const e=this.options.virtualScrollThreshold??100;this.selectedValues.size>=e&&this.selectedPopover.classList.add("ms__selected-popover--virtual"),this.positionSelectedPopover()}hideSelectedPopover(){var e;E.debug(`[${this.instanceId}] hideSelectedPopover() called`),this.showSelectedPopover=!1,this.selectedPopover.classList.remove("ms__selected-popover--visible"),this.selectedPopover.classList.remove("ms__selected-popover--virtual"),this.selectedPopoverPlacement=null,this.selectedPopoverVirtualScroll&&(this.selectedPopoverVirtualScroll.destroy(),this.selectedPopoverVirtualScroll=null,this.selectedPopoverContainer=null),this.selectedPopoverCleanup&&(this.selectedPopoverCleanup(),this.selectedPopoverCleanup=null);for(const t of Array.from(this.tooltips.keys()))t.startsWith("popover-")&&((e=this.tooltips.get(t))==null||e.destroy(),this.tooltips.delete(t))}renderSelectedPopover(){const e=Array.from(this.selectedOptions.values()),t=this.selectedValues.size,s=this.options.virtualScrollThreshold??100;if(t>=s){this.renderSelectedPopoverVirtual(e,t);return}this.selectedPopover.innerHTML=`
17
17
  <div class="ms__selected-popover-header">
18
18
  <span>Selected Items (${t})</span>
19
19
  <button type="button" class="ms__selected-popover-close" aria-label="Close"></button>
@@ -27,14 +27,14 @@
27
27
  <button type="button" class="ms__selected-popover-close" aria-label="Close"></button>
28
28
  </div>
29
29
  <div class="ms__selected-popover-body ms__selected-popover-body--virtual" style="height: 18rem; overflow-y: auto; position: relative; --ms-badge-height-virtual: ${a}px;"></div>
30
- `;this.selectedPopover.innerHTML=l,this.selectedPopoverContainer=this.selectedPopover.querySelector(".ms__selected-popover-body")}if(!this.selectedPopoverContainer)return;const r=(this.options.badgeHeight??36)+4,n=this.options.virtualScrollBuffer??10;requestAnimationFrame(()=>{this.selectedPopoverContainer&&(this.selectedPopoverVirtualScroll?this.selectedPopoverVirtualScroll.setItems(e):this.selectedPopoverVirtualScroll=new lt({container:this.selectedPopoverContainer,itemHeight:r,items:e,renderItem:a=>this.renderBadgeHTML(a,{displayMode:this.options.badgesDisplayMode||"badges",isInPopover:!0}),bufferSize:n,onVisibleRangeChange:()=>{this.attachBadgeTooltips(this.selectedPopoverContainer)}}))})}renderBadgeHTML(e,t){const o=this.getItemValue(e);let i;const r=t.isInPopover?this.options.renderSelectedItemContentCallback:void 0;if(r){const c=r(e);i=typeof c=="string"?c:c.outerHTML}else if(this.options.renderBadgeContentCallback){const c=this.options.renderBadgeContentCallback(e,t);i=typeof c=="string"?c:c.outerHTML}else i=this.getItemBadgeDisplayValue(e);const n=t.isInPopover?this.options.getSelectedItemClassCallback||this.options.getBadgeClassCallback:this.options.getBadgeClassCallback;let a="ms__badge";if(n){const c=n(e),h=Array.isArray(c)?c:[c];a+=" "+h.filter(p=>p).join(" ")}const l=this.getItemBadgeDisplayValue(e);return`
30
+ `;this.selectedPopover.innerHTML=l,this.selectedPopoverContainer=this.selectedPopover.querySelector(".ms__selected-popover-body")}if(!this.selectedPopoverContainer)return;const r=(this.options.badgeHeight??36)+4,n=this.options.virtualScrollBuffer??10;requestAnimationFrame(()=>{this.selectedPopoverContainer&&(this.selectedPopoverVirtualScroll?this.selectedPopoverVirtualScroll.setItems(e):this.selectedPopoverVirtualScroll=new ct({container:this.selectedPopoverContainer,itemHeight:r,items:e,renderItem:a=>this.renderBadgeHTML(a,{displayMode:this.options.badgesDisplayMode||"badges",isInPopover:!0}),bufferSize:n,onVisibleRangeChange:()=>{this.attachBadgeTooltips(this.selectedPopoverContainer)}}))})}renderBadgeHTML(e,t){const s=this.getItemValue(e);let i;const r=t.isInPopover?this.options.renderSelectedItemContentCallback:void 0;if(r){const c=r(e);i=typeof c=="string"?c:c.outerHTML}else if(this.options.renderBadgeContentCallback){const c=this.options.renderBadgeContentCallback(e,t);i=typeof c=="string"?c:c.outerHTML}else i=this.getItemBadgeDisplayValue(e);const n=t.isInPopover?this.options.getSelectedItemClassCallback||this.options.getBadgeClassCallback:this.options.getBadgeClassCallback;let a="ms__badge";if(n){const c=n(e),h=Array.isArray(c)?c:[c];a+=" "+h.filter(p=>p).join(" ")}const l=this.getItemBadgeDisplayValue(e);return`
31
31
  <div class="${a}">
32
32
  <span class="ms__badge-text">${i}</span>
33
- <button type="button" class="ms__badge-remove" data-value="${o}" aria-label="Remove ${l}"></button>
33
+ <button type="button" class="ms__badge-remove" data-value="${s}" aria-label="Remove ${l}"></button>
34
34
  </div>
35
- `}handleSelectedPopoverClick(e){if(e.stopPropagation(),e.target.closest(".ms__selected-popover-close")){e.preventDefault(),this.hideSelectedPopover();return}const o=e.target.closest(".ms__badge-remove");if(o){e.preventDefault();const i=o.dataset.value,r=this.selectedOptions.get(i);r&&(this.deselectOption(r),this.renderSelectedPopover(),this.selectedValues.size===0&&this.hideSelectedPopover())}}positionSelectedPopover(){this.selectedPopoverCleanup=this.anchorFloatingPanel(this.selectedPopover,{getPlacement:()=>this.selectedPopoverPlacement,setPlacement:e=>{this.selectedPopoverPlacement=e,E.debug(`[${this.instanceId}] Locked popover placement:`,e)}})}updateHiddenInput(){if(!this.options.formFieldId)return;this.hiddenInputs.forEach(i=>i.remove()),this.hiddenInputs=[];const e=this.options.valueFormat||"json",t=Array.from(this.selectedOptions.values()).map(i=>this.getItemValue(i)),o=this.options.hostElement||this.element;if(e==="array")t.forEach(i=>{const r=document.createElement("input");r.type="hidden",r.name=`${this.options.formFieldId}[]`,r.value=String(i),o.appendChild(r),this.hiddenInputs.push(r)});else{const i=document.createElement("input");i.type="hidden",i.name=this.options.formFieldId,i.id=this.options.formFieldId,i.value=this.getFormValue(),o.appendChild(i),this.hiddenInputs.push(i)}}getFormValue(){const e=Array.from(this.selectedOptions.values()).map(o=>this.getItemValue(o));return this.options.getValueFormatCallback?this.options.getValueFormatCallback(e):(this.options.valueFormat||"json")==="csv"?e.join(","):JSON.stringify(e)}getSelected(){return Array.from(this.selectedOptions.values())}setSelected(e){this.selectedValues=new Set(e.map(t=>String(t))),this.selectedOptions.clear(),e.forEach(t=>{const o=String(t),i=this.allOptions.find(r=>String(this.getItemValue(r))===o);i&&this.selectedOptions.set(o,i)}),this.renderDropdown(),this.renderBadges(),this.updateHiddenInput()}updateOptions(e){const t=!!this.hint,o="searchHint"in e?!!e.searchHint:t;if(t!==o)return!1;if(Object.assign(this.options,e),"options"in e&&e.options!==void 0&&(this.allOptions=e.options,this.filteredOptions=this.searchTerm?this.filteredOptions:[...this.allOptions],this.reconcileSelectedOptions()),this.element.classList.toggle("ms--no-checkboxes",!this.options.isCheckboxesShown||!this.options.isMultipleEnabled),"badgesPosition"in e){this.effectiveBadgesPosition=this.options.badgesPosition||"bottom",this.isRTL&&(this.effectiveBadgesPosition==="left"?this.effectiveBadgesPosition="right":this.effectiveBadgesPosition==="right"&&(this.effectiveBadgesPosition="left"));const i=this.element.querySelector(".ms-wrapper");i==null||i.classList.toggle("ms-wrapper--inline",this.effectiveBadgesPosition==="left"||this.effectiveBadgesPosition==="right")}return"searchPlaceholder"in e&&!this.isOpen&&(this.input.placeholder=this.options.searchPlaceholder),"searchInputMode"in e&&(this.input.readOnly=this.options.searchInputMode==="readonly",this.input.style.display=this.options.searchInputMode==="hidden"?"none":""),"searchHint"in e&&this.hint&&(this.hint.textContent=this.options.searchHint||""),this.renderDropdown(),this.renderBadges(),this.updateHiddenInput(),!0}get selectedItem(){return this.selectedOptions.size===0?null:Array.from(this.selectedOptions.values())[0]}get selectedValue(){if(!this.options.valueMember&&!this.options.getValueCallback)return null;if(this.selectedOptions.size===0)return this.options.isMultipleEnabled?[]:null;const e=Array.from(this.selectedOptions.values()).map(t=>this.getItemValue(t));return this.options.isMultipleEnabled?e:e[0]??null}getValue(){if(this.selectedOptions.size===0)return this.options.isMultipleEnabled?[]:null;const e=Array.from(this.selectedOptions.values()).map(t=>this.getItemValue(t));return this.options.isMultipleEnabled?e:e[0]??null}spawnTooltip(e){var o;(o=this.tooltips.get(e.id))==null||o.destroy();const t=new vs({trigger:e.trigger,container:this.options.container||document.body,content:e.content,placement:this.options.badgeTooltipPlacement||"top",offsetDistance:this.options.badgeTooltipOffset??8,showDelay:this.options.badgeTooltipDelay??100,onBeforeShow:e.onBeforeShow});this.tooltips.set(e.id,t)}destroyAllTooltips(){this.tooltips.forEach(e=>e.destroy()),this.tooltips.clear()}buildBadgeTooltipContent(e){if(this.options.getBadgeTooltipCallback)return this.options.getBadgeTooltipCallback(e);const t=this.getItemBadgeDisplayValue(e),o=this.getItemSubtitle(e);return o?`${t}
36
- ${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 h=`${i}${l}`,p=`${i}${l}-remove`,u=n.querySelector(".ms__badge-text");u&&this.spawnTooltip({id:h,trigger:u,content:this.buildBadgeTooltipContent(c)});const m=this.getItemBadgeDisplayValue(c);this.spawnTooltip({id:p,trigger:a,content:this.buildRemoveButtonTooltipText(m,c),onBeforeShow:()=>{var g;return(g=this.tooltips.get(h))==null?void 0:g.hideImmediate()}})}),!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`)})}}}attachActionButtonTooltips(){this.dropdown.querySelectorAll(".ms__action-btn").forEach(t=>{var c,h;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]:(h=this.options.actionButtons)==null?void 0:h.find(p=>p.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.dropdownCleanup&&this.dropdownCleanup(),this.hintCleanup&&this.hintCleanup(),this.selectedPopoverCleanup&&this.selectedPopoverCleanup(),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"),te.info(`[${this.instanceId}] Component destroyed`)}}const _s=`:host{--ms-rem: 10px;font-family:var(--ms-font-family, var(--base-font-family, inherit));display:block;--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, #eff6ff);--ms-accent-color-light-hover: var(--base-accent-color-light-hover, #e0f2fe);--ms-text-color-1: var(--base-text-color-1, #111827);--ms-text-color-2: var(--base-text-color-2, #353b47);--ms-text-color-3: var(--base-text-color-3, #6b7280);--ms-text-color-4: var(--base-text-color-4, #a0a3a9);--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-primary-bg, var(--base-main-bg, #f3f4f6));--ms-primary-bg-hover: var(--base-hover-bg, #e5e7eb);--ms-border-color: var(--base-border-color, #e5e7eb);--ms-border: var(--base-border, 1px solid var(--ms-border-color));--ms-input-bg: var(--base-input-bg, #ffffff);--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, #ffffff);--ms-hint-color: var(--ms-text-color-4);--ms-hint-border-color: var(--ms-border-color);--ms-dropdown-bg: var(--base-dropdown-bg, #ffffff);--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, #ffffff);--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-input-bg));--ms-badge-bg-active: var(--ms-accent-color-light-hover);--ms-badge-text-bg-hover: var(--base-hover-bg, var(--ms-input-bg));--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, #333333);--ms-tooltip-text-color: var(--base-tooltip-text-color, #ffffff);--ms-selected-popover-bg: var(--base-dropdown-bg, #ffffff);--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-input-size-xs-font: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-input-size-xs-padding-v: calc(.4 * var(--ms-rem));--ms-input-size-xs-padding-h: calc(.8 * var(--ms-rem));--ms-input-size-xs-height: calc(var(--base-input-size-xs-height, 3.1) * var(--ms-rem));--ms-input-size-sm-font: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-input-size-sm-padding-v: calc(.5 * var(--ms-rem));--ms-input-size-sm-padding-h: calc(1 * var(--ms-rem));--ms-input-size-sm-height: calc(var(--base-input-size-sm-height, 3.3) * var(--ms-rem));--ms-input-size-md-font: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-input-size-md-padding-v: calc(.8 * var(--ms-rem));--ms-input-size-md-padding-h: calc(1.2 * var(--ms-rem));--ms-input-size-md-height: calc(var(--base-input-size-md-height, 3.5) * var(--ms-rem));--ms-input-size-lg-font: calc(var(--base-font-size-base, 1.6) * var(--ms-rem));--ms-input-size-lg-padding-v: calc(1 * var(--ms-rem));--ms-input-size-lg-padding-h: calc(1.4 * var(--ms-rem));--ms-input-size-lg-height: calc(var(--base-input-size-lg-height, 3.8) * var(--ms-rem));--ms-input-size-xl-font: calc(var(--base-font-size-lg, 1.8) * var(--ms-rem));--ms-input-size-xl-padding-v: calc(1.2 * var(--ms-rem));--ms-input-size-xl-padding-h: calc(1.6 * var(--ms-rem));--ms-input-size-xl-height: calc(var(--base-input-size-xl-height, 4.1) * var(--ms-rem));--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-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-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-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-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: calc(.2 * var(--ms-rem));--ms-checkbox-margin-right: 0;--ms-checkbox-margin-bottom: 0;--ms-checkbox-margin-left: 0;--ms-checkbox-size: calc(1.6 * var(--ms-rem));--ms-checkbox-scale: 1;--ms-checkbox-align: center;--ms-checkbox-bg: var(--ms-input-bg);--ms-checkbox-border: var(--ms-border);--ms-checkbox-border-radius: calc(.3 * var(--ms-rem));--ms-checkbox-checked-bg: var(--ms-accent-color);--ms-checkbox-checked-border: 1px 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-border);--ms-checkbox-checked-bg-hover: var(--ms-accent-color-hover);--ms-checkbox-checked-border-color-hover: var(--ms-accent-color-hover);--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));--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-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-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}multi-select:not(:defined){display:block;min-height:calc(3.5 * var(--ms-rem));color:transparent!important;background: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%}.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-right: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__input.ms__input--xs{font-size:var(--ms-input-size-xs-font);padding:var(--ms-input-size-xs-padding-v) var(--ms-input-size-xs-padding-h);padding-right:calc(var(--ms-input-size-xs-padding-h) * 2.5);height:var(--ms-input-size-xs-height)}.ms__input.ms__input--sm{font-size:var(--ms-input-size-sm-font);padding:var(--ms-input-size-sm-padding-v) var(--ms-input-size-sm-padding-h);padding-right:calc(var(--ms-input-size-sm-padding-h) * 2.5);height:var(--ms-input-size-sm-height)}.ms__input.ms__input--lg{font-size:var(--ms-input-size-lg-font);padding:var(--ms-input-size-lg-padding-v) var(--ms-input-size-lg-padding-h);padding-right:calc(var(--ms-input-size-lg-padding-h) * 2.5);height:var(--ms-input-size-lg-height)}.ms__input.ms__input--xl{font-size:var(--ms-input-size-xl-font);padding:var(--ms-input-size-xl-padding-v) var(--ms-input-size-xl-padding-h);padding-right:calc(var(--ms-input-size-xl-padding-h) * 2.5);height:var(--ms-input-size-xl-height)}.ms__toggle{position:absolute;right:var(--ms-toggle-right);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;right: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__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);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-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__actions{display:flex;flex-wrap:nowrap;gap:var(--ms-actions-gap);padding:var(--ms-actions-padding);border-bottom:var(--ms-actions-border-bottom)}.ms__actions--wrap{flex-wrap:wrap}.ms__actions--sticky{position:sticky;top:0;z-index:var(--ms-z-index-sticky);background:var(--ms-actions-bg)}.ms__action-btn{flex:1;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)}.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}.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{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);color:var(--ms-option-text-color);background:var(--ms-option-bg);cursor:pointer}.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);border-left:var(--ms-option-border-matched)}.ms__option--selected{background:var(--ms-option-bg-selected)}.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)}.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);border-left:var(--ms-option-border-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__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-right:var(--ms-checkbox-margin-right);margin-bottom:var(--ms-checkbox-margin-bottom);margin-left: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 2px 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: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)}.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))}.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)}.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))}.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{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;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)}.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__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}.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-right:none;border-radius:var(--ms-badge-border-radius) 0 0 var(--ms-badge-border-radius);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-left:none;border-radius:0 var(--ms-badge-border-radius) var(--ms-badge-border-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-right: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-left: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}.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__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-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)}.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}.ms--rtl .ms__input-wrapper{direction:rtl}.ms--rtl .ms__input{text-align:right;padding-left:var(--ms-input-padding-right);padding-right:var(--ms-input-padding-h)}.ms--rtl .ms__toggle{left:var(--ms-toggle-right)!important;right:auto!important}.ms--rtl .ms__counter{left:var(--ms-counter-offset)!important;right:auto!important}.ms--rtl .ms__dropdown{direction:rtl;text-align:right}.ms--rtl .ms__option{flex-direction:row-reverse}.ms--rtl .ms__checkbox{margin-left:var(--ms-spacing-sm);margin-right:0}.ms--rtl .ms__option-content{text-align:right}.ms--rtl .ms__option-icon{margin-left:var(--ms-spacing-xs);margin-right:0}.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__badge{flex-direction:row-reverse}.ms--rtl .ms__badge-remove{border-radius:var(--ms-badge-border-radius) 0 0 var(--ms-badge-border-radius);border-left:var(--ms-badge-remove-border);border-right:none}.ms--rtl .ms__badge-text{border-radius:0 var(--ms-badge-border-radius) var(--ms-badge-border-radius) 0;border-right:var(--ms-badge-text-border);border-left:none}.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)}.ms--rtl .ms__counter-wrapper{flex-direction:row-reverse}.ms--rtl .ms__selected-popover{direction:rtl;text-align:right}.ms--rtl .ms__actions{direction:rtl}.ms--rtl .ms__group-label,.ms--rtl .ms__empty{text-align:right}.ms--rtl .ms__hint{direction:rtl;text-align:right}.ms--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-left:var(--ms-option-padding-h)}.ms--no-checkboxes .ms__option-content{padding-left:0}.ms-debug-info{margin-top:calc(.4 * var(--ms-rem));padding:calc(.4 * var(--ms-rem));background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:calc(var(--base-border-radius-md, .6) * var(--ms-rem));font-size:calc(1.2 * var(--ms-rem));color:#111827}.ms-debug-info details summary{cursor:pointer;font-weight:600;color:#2563eb;-webkit-user-select:none;user-select:none;padding:calc(.4 * var(--ms-rem));border-radius:calc(var(--base-border-radius-sm, .4) * var(--ms-rem))}.ms-debug-info details summary:hover{background-color:#f3f4f6}.ms-debug-info details summary:focus{outline:2px solid #3b82f6;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:#fff;border-radius:calc(var(--base-border-radius-sm, .4) * var(--ms-rem))}.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-right:calc(.4 * var(--ms-rem));color:#3b82f6}`,ws=typeof HTMLElement<"u"?HTMLElement:class{},Oe=[{attr:"search-hint",key:"searchHint",parser:"string-or-undefined"},{attr:"search-placeholder",key:"searchPlaceholder",parser:"string",default:"Search..."},{attr:"dropdown-min-width",key:"dropdownMinWidth",parser:"string-or-undefined"},{attr:"dropdown-max-width",key:"dropdownMaxWidth",parser:"string-or-undefined"},{attr:"max-height",key:"maxHeight",parser:"string",default:"20rem"},{attr:"empty-message",key:"emptyMessage",parser:"string",default:"No results found"},{attr:"loading-message",key:"loadingMessage",parser:"string",default:"Loading..."},{attr:"remove-button-tooltip-text",key:"removeButtonTooltipText",parser:"string-or-undefined"},{attr:"name",key:"formFieldId",parser:"string-or-undefined"},{attr:"value-member",key:"valueMember",parser:"string-or-undefined"},{attr:"display-value-member",key:"displayValueMember",parser:"string-or-undefined"},{attr:"search-value-member",key:"searchValueMember",parser:"string-or-undefined"},{attr:"icon-member",key:"iconMember",parser:"string-or-undefined"},{attr:"subtitle-member",key:"subtitleMember",parser:"string-or-undefined"},{attr:"group-member",key:"groupMember",parser:"string-or-undefined"},{attr:"disabled-member",key:"disabledMember",parser:"string-or-undefined"},{attr:"badges-display-mode",key:"badgesDisplayMode",parser:"enum",enumValues:["badges","count","compact","partial","none"],default:"badges"},{attr:"badges-position",key:"badgesPosition",parser:"enum",enumValues:["top","bottom","left","right"],default:"bottom"},{attr:"badges-threshold-mode",key:"badgesThresholdMode",parser:"enum",enumValues:["count","partial"],default:"count"},{attr:"search-input-mode",key:"searchInputMode",parser:"enum",enumValues:["normal","readonly","hidden"],default:"normal"},{attr:"search-mode",key:"searchMode",parser:"enum",enumValues:["filter","navigate"],default:"filter"},{attr:"actions-layout",key:"actionsLayout",parser:"enum",enumValues:["nowrap","wrap"],default:"nowrap"},{attr:"checkbox-align",key:"checkboxAlign",parser:"enum",enumValues:["top","center","bottom"],default:"center"},{attr:"value-format",key:"valueFormat",parser:"enum",enumValues:["json","csv","array"],default:"json"},{attr:"badge-tooltip-placement",key:"badgeTooltipPlacement",parser:"enum",enumValues:["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"],default:"top"},{attr:"badges-threshold",key:"badgesThreshold",parser:"int"},{attr:"badges-max-visible",key:"badgesMaxVisible",parser:"int"},{attr:"min-search-length",key:"minSearchLength",parser:"int",default:0},{attr:"virtual-scroll-threshold",key:"virtualScrollThreshold",parser:"int",default:100},{attr:"option-height",key:"optionHeight",parser:"int",default:50},{attr:"badge-height",key:"badgeHeight",parser:"int",default:36},{attr:"virtual-scroll-buffer",key:"virtualScrollBuffer",parser:"int",default:10},{attr:"badge-tooltip-delay",key:"badgeTooltipDelay",parser:"int",default:100},{attr:"badge-tooltip-offset",key:"badgeTooltipOffset",parser:"int",default:8},{attr:"multiple",key:"isMultipleEnabled",parser:"bool-default-true"},{attr:"allow-groups",key:"isGroupsAllowed",parser:"bool-default-true"},{attr:"show-checkboxes",key:"isCheckboxesShown",parser:"bool-default-true"},{attr:"sticky-actions",key:"isActionsSticky",parser:"bool-default-true"},{attr:"lock-placement",key:"isPlacementLocked",parser:"bool-default-true"},{attr:"enable-search",key:"isSearchEnabled",parser:"bool-default-true"},{attr:"keep-options-on-search",key:"isKeepOptionsOnSearch",parser:"bool-default-true"},{attr:"should-keep-search-on-close",key:"shouldKeepSearchOnClose",parser:"bool-default-true"},{attr:"close-on-select",key:"isCloseOnSelect",parser:"bool-default-false"},{attr:"allow-add-new",key:"isAddNewAllowed",parser:"bool-default-false"},{attr:"show-counter",key:"isCounterShown",parser:"bool-default-false"},{attr:"enable-virtual-scroll",key:"isVirtualScrollEnabled",parser:"bool-default-false"},{attr:"enable-badge-tooltips",key:"isBadgeTooltipsEnabled",parser:"bool-default-false"}],ks=new Map(Oe.map(s=>[s.attr,s])),dt=[{key:"valueMember",field:"_valueMember"},{key:"displayValueMember",field:"_displayValueMember"},{key:"searchValueMember",field:"_searchValueMember"},{key:"iconMember",field:"_iconMember"},{key:"subtitleMember",field:"_subtitleMember"},{key:"groupMember",field:"_groupMember"},{key:"disabledMember",field:"_disabledMember"}];function ht(s,e){if(e===null||e==="")switch(s.parser){case"bool-default-true":return!0;case"bool-default-false":return!1;default:return s.default}switch(s.parser){case"string":case"string-or-undefined":return e;case"enum":return s.enumValues.includes(e)?e:s.default;case"int":{const t=parseInt(e);return isNaN(t)?s.default:t}case"bool-default-true":return e!=="false";case"bool-default-false":return e==="true"}}const Le=new Set;function mt(){return Array.from(Le)}class ue extends ws{constructor(){super();d(this,"picker");d(this,"containerElement");d(this,"shadow");d(this,"internals");d(this,"_options");d(this,"_valueMember");d(this,"_getValueCallback");d(this,"_displayValueMember");d(this,"_getDisplayValueCallback");d(this,"_getBadgeDisplayCallback");d(this,"_getBadgeClassCallback");d(this,"_customStylesCallback");d(this,"_searchValueMember");d(this,"_getSearchValueCallback");d(this,"_iconMember");d(this,"_getIconCallback");d(this,"_subtitleMember");d(this,"_getSubtitleCallback");d(this,"_groupMember");d(this,"_getGroupCallback");d(this,"_renderGroupLabelContentCallback");d(this,"_disabledMember");d(this,"_getDisabledCallback");d(this,"_getValueFormatCallback");d(this,"_getBadgeTooltipCallback");d(this,"_getRemoveButtonTooltipCallback");d(this,"_renderOptionContentCallback");d(this,"_renderBadgeContentCallback");d(this,"_renderSelectedItemContentCallback");d(this,"_getSelectedItemClassCallback");d(this,"_renderSelectedContentCallback");d(this,"_getCounterCallback");d(this,"_actionButtons");d(this,"_beforeSearchCallback");d(this,"_searchCallback");d(this,"_addNewCallback");d(this,"_selectCallback");d(this,"_deselectCallback");d(this,"_changeCallback");d(this,"_declarativeSelectedValues");if(this.shadow=this.attachShadow({mode:"open"}),typeof this.attachInternals=="function")try{this.internals=this.attachInternals()}catch{}const t=document.createElement("style");t.textContent=_s,this.shadow.appendChild(t),requestAnimationFrame(()=>{this.setAttribute("data-ready","")})}static get observedAttributes(){return[...Oe.map(t=>t.attr),"initial-values","show-debug-info"]}formResetCallback(){var t;(t=this.picker)==null||t.clearAll()}connectedCallback(){Le.add(this),this.render();const t=this.parseDeclarativeOptions();t&&(this._options&&this._options.length>0&&x.warn("[MultiSelectElement] Both declarative <option> elements and programmatic .options detected. Using declarative options."),this._options=t),this.initializePicker()}disconnectedCallback(){Le.delete(this),this.picker&&this.picker.destroy()}attributeChangedCallback(t,o,i){var n;if(o===i||!this.picker||t==="initial-values")return;if(t==="show-debug-info"){const a=this.shadow.querySelector(".ms-debug-info");a&&a.remove(),i==="true"&&this.renderDebugInfo();return}const r=ks.get(t);if(r){const a=ht(r,i),l=(n=dt.find(u=>u.key===r.key))==null?void 0:n.field,c=a===void 0&&l?this[l]:a,h={[r.key]:c};if(this.picker.updateOptions(h))return}this.reinitialize()}render(){this.containerElement=document.createElement("div"),this.containerElement.setAttribute("data-multiselect",""),this.className&&(this.containerElement.className=this.className),this.shadow.appendChild(this.containerElement),this.getAttribute("show-debug-info")==="true"&&this.renderDebugInfo()}renderDebugInfo(){const t=this.shadow.querySelector(".ms-debug-info");t&&t.remove();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),this.shadow.appendChild(o),this.updateDebugInfo()}updateDebugInfo(){var m,g;const t=this.shadow.querySelector(".ms-debug-stats");if(!t||!this.picker)return;const o="1.10.0",i=mt().length,n=this.picker.getSelected().length,a=((m=this._options)==null?void 0:m.length)||0,l=this.picker,c=l.isOpen||!1,h=l.searchTerm||"",p=l.isLoading||!1,u=((g=l.filteredOptions)==null?void 0:g.length)||0;t.innerHTML=`
37
- <span>Version: ${o}</span>
35
+ `}handleSelectedPopoverClick(e){if(e.stopPropagation(),e.target.closest(".ms__selected-popover-close")){e.preventDefault(),this.hideSelectedPopover();return}const s=e.target.closest(".ms__badge-remove");if(s){e.preventDefault();const i=s.dataset.value,r=this.selectedOptions.get(i);r&&(this.deselectOption(r),this.renderSelectedPopover(),this.selectedValues.size===0&&this.hideSelectedPopover())}}positionSelectedPopover(){this.selectedPopoverCleanup=this.anchorFloatingPanel(this.selectedPopover,{getPlacement:()=>this.selectedPopoverPlacement,setPlacement:e=>{this.selectedPopoverPlacement=e,E.debug(`[${this.instanceId}] Locked popover placement:`,e)}})}updateHiddenInput(){if(!this.options.formFieldId)return;this.hiddenInputs.forEach(i=>i.remove()),this.hiddenInputs=[];const e=this.options.valueFormat||"json",t=Array.from(this.selectedOptions.values()).map(i=>this.getItemValue(i)),s=this.options.hostElement||this.element;if(e==="array")t.forEach(i=>{const r=document.createElement("input");r.type="hidden",r.name=`${this.options.formFieldId}[]`,r.value=String(i),s.appendChild(r),this.hiddenInputs.push(r)});else{const i=document.createElement("input");i.type="hidden",i.name=this.options.formFieldId,i.id=this.options.formFieldId,i.value=this.getFormValue(),s.appendChild(i),this.hiddenInputs.push(i)}}getFormValue(){const e=Array.from(this.selectedOptions.values()).map(s=>this.getItemValue(s));return this.options.getValueFormatCallback?this.options.getValueFormatCallback(e):(this.options.valueFormat||"json")==="csv"?e.join(","):JSON.stringify(e)}getSelected(){return Array.from(this.selectedOptions.values())}setSelected(e){this.selectedValues=new Set(e.map(t=>String(t))),this.selectedOptions.clear(),e.forEach(t=>{const s=String(t),i=this.allOptions.find(r=>String(this.getItemValue(r))===s);i&&this.selectedOptions.set(s,i)}),this.renderDropdown(),this.renderBadges(),this.updateHiddenInput()}updateOptions(e){const t=!!this.hint,s="searchHint"in e?!!e.searchHint:t;if(t!==s)return!1;if(Object.assign(this.options,e),"options"in e&&e.options!==void 0&&(this.allOptions=e.options,this.filteredOptions=this.searchTerm?this.filteredOptions:[...this.allOptions],this.reconcileSelectedOptions()),this.element.classList.toggle("ms--no-checkboxes",!this.options.isCheckboxesShown||!this.options.isMultipleEnabled),"badgesPosition"in e){this.effectiveBadgesPosition=this.options.badgesPosition||"bottom",this.isRTL&&(this.effectiveBadgesPosition==="left"?this.effectiveBadgesPosition="right":this.effectiveBadgesPosition==="right"&&(this.effectiveBadgesPosition="left"));const i=this.element.querySelector(".ms-wrapper");i==null||i.classList.toggle("ms-wrapper--inline",this.effectiveBadgesPosition==="left"||this.effectiveBadgesPosition==="right")}return"searchPlaceholder"in e&&!this.isOpen&&(this.input.placeholder=this.options.searchPlaceholder),"searchInputMode"in e&&(this.input.readOnly=this.options.searchInputMode==="readonly",this.input.style.display=this.options.searchInputMode==="hidden"?"none":""),"searchHint"in e&&this.hint&&(this.hint.textContent=this.options.searchHint||""),this.renderDropdown(),this.renderBadges(),this.updateHiddenInput(),!0}get selectedItem(){return this.selectedOptions.size===0?null:Array.from(this.selectedOptions.values())[0]}get selectedValue(){if(!this.options.valueMember&&!this.options.getValueCallback)return null;if(this.selectedOptions.size===0)return this.options.isMultipleEnabled?[]:null;const e=Array.from(this.selectedOptions.values()).map(t=>this.getItemValue(t));return this.options.isMultipleEnabled?e:e[0]??null}getValue(){if(this.selectedOptions.size===0)return this.options.isMultipleEnabled?[]:null;const e=Array.from(this.selectedOptions.values()).map(t=>this.getItemValue(t));return this.options.isMultipleEnabled?e:e[0]??null}spawnTooltip(e){var s;(s=this.tooltips.get(e.id))==null||s.destroy();const t=new vs({trigger:e.trigger,container:this.options.container||document.body,content:e.content,placement:this.options.badgeTooltipPlacement||"top",offsetDistance:this.options.badgeTooltipOffset??8,showDelay:this.options.badgeTooltipDelay??100,onBeforeShow:e.onBeforeShow});this.tooltips.set(e.id,t)}destroyAllTooltips(){this.tooltips.forEach(e=>e.destroy()),this.tooltips.clear()}buildBadgeTooltipContent(e){if(this.options.getBadgeTooltipCallback)return this.options.getBadgeTooltipCallback(e);const t=this.getItemBadgeDisplayValue(e),s=this.getItemSubtitle(e);return s?`${t}
36
+ ${s}`: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,s=e||this.badgesContainer,i=t?"popover-":"";if(s.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 h=`${i}${l}`,p=`${i}${l}-remove`,u=n.querySelector(".ms__badge-text");u&&this.spawnTooltip({id:h,trigger:u,content:this.buildBadgeTooltipContent(c)});const m=this.getItemBadgeDisplayValue(c);this.spawnTooltip({id:p,trigger:a,content:this.buildRemoveButtonTooltipText(m,c),onBeforeShow:()=>{var g;return(g=this.tooltips.get(h))==null?void 0:g.hideImmediate()}})}),!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`)})}}}attachActionButtonTooltips(){this.dropdown.querySelectorAll(".ms__action-btn").forEach(t=>{var c,h;const s=t,i=s.dataset.action;if(!i)return;const r=parseInt(s.dataset.buttonIndex||"-1"),n=r>=0?(c=this.options.actionButtons)==null?void 0:c[r]:(h=this.options.actionButtons)==null?void 0:h.find(p=>p.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:s,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.dropdownCleanup&&this.dropdownCleanup(),this.hintCleanup&&this.hintCleanup(),this.selectedPopoverCleanup&&this.selectedPopoverCleanup(),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"),te.info(`[${this.instanceId}] Component destroyed`)}}const _s=`:host{--ms-rem: 10px;font-family:var(--ms-font-family, var(--base-font-family, inherit));display:block;--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(#e5e7eb, #3a3a3a));--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-input-bg));--ms-badge-bg-active: var(--ms-accent-color-light-hover);--ms-badge-text-bg-hover: var(--base-hover-bg, var(--ms-input-bg));--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-input-size-xs-font: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));--ms-input-size-xs-padding-v: calc(.4 * var(--ms-rem));--ms-input-size-xs-padding-h: calc(.8 * var(--ms-rem));--ms-input-size-xs-height: calc(var(--base-input-size-xs-height, 3.1) * var(--ms-rem));--ms-input-size-sm-font: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-input-size-sm-padding-v: calc(.5 * var(--ms-rem));--ms-input-size-sm-padding-h: calc(1 * var(--ms-rem));--ms-input-size-sm-height: calc(var(--base-input-size-sm-height, 3.3) * var(--ms-rem));--ms-input-size-md-font: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));--ms-input-size-md-padding-v: calc(.8 * var(--ms-rem));--ms-input-size-md-padding-h: calc(1.2 * var(--ms-rem));--ms-input-size-md-height: calc(var(--base-input-size-md-height, 3.5) * var(--ms-rem));--ms-input-size-lg-font: calc(var(--base-font-size-base, 1.6) * var(--ms-rem));--ms-input-size-lg-padding-v: calc(1 * var(--ms-rem));--ms-input-size-lg-padding-h: calc(1.4 * var(--ms-rem));--ms-input-size-lg-height: calc(var(--base-input-size-lg-height, 3.8) * var(--ms-rem));--ms-input-size-xl-font: calc(var(--base-font-size-lg, 1.8) * var(--ms-rem));--ms-input-size-xl-padding-v: calc(1.2 * var(--ms-rem));--ms-input-size-xl-padding-h: calc(1.6 * var(--ms-rem));--ms-input-size-xl-height: calc(var(--base-input-size-xl-height, 4.1) * var(--ms-rem));--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-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-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-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-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: calc(.2 * var(--ms-rem));--ms-checkbox-margin-right: 0;--ms-checkbox-margin-bottom: 0;--ms-checkbox-margin-left: 0;--ms-checkbox-size: calc(1.6 * var(--ms-rem));--ms-checkbox-scale: 1;--ms-checkbox-align: center;--ms-checkbox-bg: var(--ms-input-bg);--ms-checkbox-border: var(--ms-border);--ms-checkbox-border-radius: calc(.3 * var(--ms-rem));--ms-checkbox-checked-bg: var(--ms-accent-color);--ms-checkbox-checked-border: 1px 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-border);--ms-checkbox-checked-bg-hover: var(--ms-accent-color-hover);--ms-checkbox-checked-border-color-hover: var(--ms-accent-color-hover);--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));--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-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-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}multi-select:not(:defined){display:block;min-height:calc(3.5 * var(--ms-rem));color:transparent!important;background: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%}.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-right: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__input.ms__input--xs{font-size:var(--ms-input-size-xs-font);padding:var(--ms-input-size-xs-padding-v) var(--ms-input-size-xs-padding-h);padding-right:calc(var(--ms-input-size-xs-padding-h) * 2.5);height:var(--ms-input-size-xs-height)}.ms__input.ms__input--sm{font-size:var(--ms-input-size-sm-font);padding:var(--ms-input-size-sm-padding-v) var(--ms-input-size-sm-padding-h);padding-right:calc(var(--ms-input-size-sm-padding-h) * 2.5);height:var(--ms-input-size-sm-height)}.ms__input.ms__input--lg{font-size:var(--ms-input-size-lg-font);padding:var(--ms-input-size-lg-padding-v) var(--ms-input-size-lg-padding-h);padding-right:calc(var(--ms-input-size-lg-padding-h) * 2.5);height:var(--ms-input-size-lg-height)}.ms__input.ms__input--xl{font-size:var(--ms-input-size-xl-font);padding:var(--ms-input-size-xl-padding-v) var(--ms-input-size-xl-padding-h);padding-right:calc(var(--ms-input-size-xl-padding-h) * 2.5);height:var(--ms-input-size-xl-height)}.ms__toggle{position:absolute;right:var(--ms-toggle-right);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;right: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__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);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-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__actions{display:flex;flex-wrap:nowrap;gap:var(--ms-actions-gap);padding:var(--ms-actions-padding);border-bottom:var(--ms-actions-border-bottom)}.ms__actions--wrap{flex-wrap:wrap}.ms__actions--sticky{position:sticky;top:0;z-index:var(--ms-z-index-sticky);background:var(--ms-actions-bg)}.ms__action-btn{flex:1;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)}.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}.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{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);color:var(--ms-option-text-color);background:var(--ms-option-bg);cursor:pointer}.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);border-left:var(--ms-option-border-matched)}.ms__option--selected{background:var(--ms-option-bg-selected)}.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)}.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);border-left:var(--ms-option-border-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__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-right:var(--ms-checkbox-margin-right);margin-bottom:var(--ms-checkbox-margin-bottom);margin-left: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 2px 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: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)}.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))}.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)}.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))}.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{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;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)}.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__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}.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-right:none;border-radius:var(--ms-badge-border-radius) 0 0 var(--ms-badge-border-radius);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-left:none;border-radius:0 var(--ms-badge-border-radius) var(--ms-badge-border-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-right: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-left: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}.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__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-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)}.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}.ms--rtl .ms__input-wrapper{direction:rtl}.ms--rtl .ms__input{text-align:right;padding-left:var(--ms-input-padding-right);padding-right:var(--ms-input-padding-h)}.ms--rtl .ms__toggle{left:var(--ms-toggle-right)!important;right:auto!important}.ms--rtl .ms__counter{left:var(--ms-counter-offset)!important;right:auto!important}.ms--rtl .ms__dropdown{direction:rtl;text-align:right}.ms--rtl .ms__option{flex-direction:row-reverse}.ms--rtl .ms__checkbox{margin-left:var(--ms-spacing-sm);margin-right:0}.ms--rtl .ms__option-content{text-align:right}.ms--rtl .ms__option-icon{margin-left:var(--ms-spacing-xs);margin-right:0}.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__badge{flex-direction:row-reverse}.ms--rtl .ms__badge-remove{border-radius:var(--ms-badge-border-radius) 0 0 var(--ms-badge-border-radius);border-left:var(--ms-badge-remove-border);border-right:none}.ms--rtl .ms__badge-text{border-radius:0 var(--ms-badge-border-radius) var(--ms-badge-border-radius) 0;border-right:var(--ms-badge-text-border);border-left:none}.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)}.ms--rtl .ms__counter-wrapper{flex-direction:row-reverse}.ms--rtl .ms__selected-popover{direction:rtl;text-align:right}.ms--rtl .ms__actions{direction:rtl}.ms--rtl .ms__group-label,.ms--rtl .ms__empty{text-align:right}.ms--rtl .ms__hint{direction:rtl;text-align:right}.ms--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-left:var(--ms-option-padding-h)}.ms--no-checkboxes .ms__option-content{padding-left:0}.ms-debug-info{margin-top:calc(.4 * var(--ms-rem));padding:calc(.4 * var(--ms-rem));background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:calc(var(--base-border-radius-md, .6) * var(--ms-rem));font-size:calc(1.2 * var(--ms-rem));color:#111827}.ms-debug-info details summary{cursor:pointer;font-weight:600;color:#2563eb;-webkit-user-select:none;user-select:none;padding:calc(.4 * var(--ms-rem));border-radius:calc(var(--base-border-radius-sm, .4) * var(--ms-rem))}.ms-debug-info details summary:hover{background-color:#f3f4f6}.ms-debug-info details summary:focus{outline:2px solid #3b82f6;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:#fff;border-radius:calc(var(--base-border-radius-sm, .4) * var(--ms-rem))}.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-right:calc(.4 * var(--ms-rem));color:#3b82f6}`,xs=typeof HTMLElement<"u"?HTMLElement:class{},Oe=[{attr:"search-hint",key:"searchHint",parser:"string-or-undefined"},{attr:"search-placeholder",key:"searchPlaceholder",parser:"string",default:"Search..."},{attr:"dropdown-min-width",key:"dropdownMinWidth",parser:"string-or-undefined"},{attr:"dropdown-max-width",key:"dropdownMaxWidth",parser:"string-or-undefined"},{attr:"max-height",key:"maxHeight",parser:"string",default:"20rem"},{attr:"empty-message",key:"emptyMessage",parser:"string",default:"No results found"},{attr:"loading-message",key:"loadingMessage",parser:"string",default:"Loading..."},{attr:"remove-button-tooltip-text",key:"removeButtonTooltipText",parser:"string-or-undefined"},{attr:"name",key:"formFieldId",parser:"string-or-undefined"},{attr:"value-member",key:"valueMember",parser:"string-or-undefined"},{attr:"display-value-member",key:"displayValueMember",parser:"string-or-undefined"},{attr:"search-value-member",key:"searchValueMember",parser:"string-or-undefined"},{attr:"icon-member",key:"iconMember",parser:"string-or-undefined"},{attr:"subtitle-member",key:"subtitleMember",parser:"string-or-undefined"},{attr:"group-member",key:"groupMember",parser:"string-or-undefined"},{attr:"disabled-member",key:"disabledMember",parser:"string-or-undefined"},{attr:"badges-display-mode",key:"badgesDisplayMode",parser:"enum",enumValues:["badges","count","compact","partial","none"],default:"badges"},{attr:"badges-position",key:"badgesPosition",parser:"enum",enumValues:["top","bottom","left","right"],default:"bottom"},{attr:"badges-threshold-mode",key:"badgesThresholdMode",parser:"enum",enumValues:["count","partial"],default:"count"},{attr:"search-input-mode",key:"searchInputMode",parser:"enum",enumValues:["normal","readonly","hidden"],default:"normal"},{attr:"search-mode",key:"searchMode",parser:"enum",enumValues:["filter","navigate"],default:"filter"},{attr:"actions-layout",key:"actionsLayout",parser:"enum",enumValues:["nowrap","wrap"],default:"nowrap"},{attr:"checkbox-align",key:"checkboxAlign",parser:"enum",enumValues:["top","center","bottom"],default:"center"},{attr:"value-format",key:"valueFormat",parser:"enum",enumValues:["json","csv","array"],default:"json"},{attr:"badge-tooltip-placement",key:"badgeTooltipPlacement",parser:"enum",enumValues:["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"],default:"top"},{attr:"badges-threshold",key:"badgesThreshold",parser:"int"},{attr:"badges-max-visible",key:"badgesMaxVisible",parser:"int"},{attr:"min-search-length",key:"minSearchLength",parser:"int",default:0},{attr:"virtual-scroll-threshold",key:"virtualScrollThreshold",parser:"int",default:100},{attr:"option-height",key:"optionHeight",parser:"int",default:50},{attr:"badge-height",key:"badgeHeight",parser:"int",default:36},{attr:"virtual-scroll-buffer",key:"virtualScrollBuffer",parser:"int",default:10},{attr:"badge-tooltip-delay",key:"badgeTooltipDelay",parser:"int",default:100},{attr:"badge-tooltip-offset",key:"badgeTooltipOffset",parser:"int",default:8},{attr:"multiple",key:"isMultipleEnabled",parser:"bool-default-true"},{attr:"allow-groups",key:"isGroupsAllowed",parser:"bool-default-true"},{attr:"show-checkboxes",key:"isCheckboxesShown",parser:"bool-default-true"},{attr:"sticky-actions",key:"isActionsSticky",parser:"bool-default-true"},{attr:"lock-placement",key:"isPlacementLocked",parser:"bool-default-true"},{attr:"enable-search",key:"isSearchEnabled",parser:"bool-default-true"},{attr:"keep-options-on-search",key:"isKeepOptionsOnSearch",parser:"bool-default-true"},{attr:"should-keep-search-on-close",key:"shouldKeepSearchOnClose",parser:"bool-default-true"},{attr:"close-on-select",key:"isCloseOnSelect",parser:"bool-default-false"},{attr:"allow-add-new",key:"isAddNewAllowed",parser:"bool-default-false"},{attr:"show-counter",key:"isCounterShown",parser:"bool-default-false"},{attr:"enable-virtual-scroll",key:"isVirtualScrollEnabled",parser:"bool-default-false"},{attr:"enable-badge-tooltips",key:"isBadgeTooltipsEnabled",parser:"bool-default-false"}],Cs=new Map(Oe.map(o=>[o.attr,o])),ht=[{key:"valueMember",field:"_valueMember"},{key:"displayValueMember",field:"_displayValueMember"},{key:"searchValueMember",field:"_searchValueMember"},{key:"iconMember",field:"_iconMember"},{key:"subtitleMember",field:"_subtitleMember"},{key:"groupMember",field:"_groupMember"},{key:"disabledMember",field:"_disabledMember"}];function mt(o,e){if(e===null||e==="")switch(o.parser){case"bool-default-true":return!0;case"bool-default-false":return!1;default:return o.default}switch(o.parser){case"string":case"string-or-undefined":return e;case"enum":return o.enumValues.includes(e)?e:o.default;case"int":{const t=parseInt(e);return isNaN(t)?o.default:t}case"bool-default-true":return e!=="false";case"bool-default-false":return e==="true"}}const Le=new Set;function pt(){return Array.from(Le)}class ue extends xs{constructor(){super();d(this,"picker");d(this,"containerElement");d(this,"shadow");d(this,"internals");d(this,"_options");d(this,"_valueMember");d(this,"_getValueCallback");d(this,"_displayValueMember");d(this,"_getDisplayValueCallback");d(this,"_getBadgeDisplayCallback");d(this,"_getBadgeClassCallback");d(this,"_customStylesCallback");d(this,"_searchValueMember");d(this,"_getSearchValueCallback");d(this,"_iconMember");d(this,"_getIconCallback");d(this,"_subtitleMember");d(this,"_getSubtitleCallback");d(this,"_groupMember");d(this,"_getGroupCallback");d(this,"_renderGroupLabelContentCallback");d(this,"_disabledMember");d(this,"_getDisabledCallback");d(this,"_getValueFormatCallback");d(this,"_getBadgeTooltipCallback");d(this,"_getRemoveButtonTooltipCallback");d(this,"_renderOptionContentCallback");d(this,"_renderBadgeContentCallback");d(this,"_renderSelectedItemContentCallback");d(this,"_getSelectedItemClassCallback");d(this,"_renderSelectedContentCallback");d(this,"_getCounterCallback");d(this,"_actionButtons");d(this,"_beforeSearchCallback");d(this,"_searchCallback");d(this,"_addNewCallback");d(this,"_selectCallback");d(this,"_deselectCallback");d(this,"_changeCallback");d(this,"_declarativeSelectedValues");if(this.shadow=this.attachShadow({mode:"open"}),typeof this.attachInternals=="function")try{this.internals=this.attachInternals()}catch{}const t=document.createElement("style");t.textContent=_s,this.shadow.appendChild(t),requestAnimationFrame(()=>{this.setAttribute("data-ready","")})}static get observedAttributes(){return[...Oe.map(t=>t.attr),"initial-values","show-debug-info"]}formResetCallback(){var t;(t=this.picker)==null||t.clearAll()}connectedCallback(){Le.add(this),this.render();const t=this.parseDeclarativeOptions();t&&(this._options&&this._options.length>0&&x.warn("[MultiSelectElement] Both declarative <option> elements and programmatic .options detected. Using declarative options."),this._options=t),this.initializePicker()}disconnectedCallback(){Le.delete(this),this.picker&&this.picker.destroy()}attributeChangedCallback(t,s,i){var n;if(s===i||!this.picker||t==="initial-values")return;if(t==="show-debug-info"){const a=this.shadow.querySelector(".ms-debug-info");a&&a.remove(),i==="true"&&this.renderDebugInfo();return}const r=Cs.get(t);if(r){const a=mt(r,i),l=(n=ht.find(u=>u.key===r.key))==null?void 0:n.field,c=a===void 0&&l?this[l]:a,h={[r.key]:c};if(this.picker.updateOptions(h))return}this.reinitialize()}render(){this.containerElement=document.createElement("div"),this.containerElement.setAttribute("data-multiselect",""),this.className&&(this.containerElement.className=this.className),this.shadow.appendChild(this.containerElement),this.getAttribute("show-debug-info")==="true"&&this.renderDebugInfo()}renderDebugInfo(){const t=this.shadow.querySelector(".ms-debug-info");t&&t.remove();const s=document.createElement("div");s.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),s.appendChild(i),this.shadow.appendChild(s),this.updateDebugInfo()}updateDebugInfo(){var m,g;const t=this.shadow.querySelector(".ms-debug-stats");if(!t||!this.picker)return;const s="1.11.0",i=pt().length,n=this.picker.getSelected().length,a=((m=this._options)==null?void 0:m.length)||0,l=this.picker,c=l.isOpen||!1,h=l.searchTerm||"",p=l.isLoading||!1,u=((g=l.filteredOptions)==null?void 0:g.length)||0;t.innerHTML=`
37
+ <span>Version: ${s}</span>
38
38
  <span>Total Instances: ${i}</span>
39
39
  <span>Options: ${a}</span>
40
40
  <span>Filtered: ${u}</span>
@@ -42,4 +42,4 @@ ${o}`:t}buildRemoveButtonTooltipText(e,t){return t&&this.options.getRemoveButton
42
42
  <span>Dropdown: ${c?"Open":"Closed"}</span>
43
43
  <span>Search: ${h||"none"}</span>
44
44
  <span>Loading: ${p?"Yes":"No"}</span>
45
- `,setTimeout(()=>{this.getAttribute("show-debug-info")==="true"&&this.updateDebugInfo()},500)}parseDeclarativeOptions(){var r,n,a,l;const t=[],o=Array.from(this.children);if(o.length===0)return null;let i=!1;for(const c of o)if(c.tagName==="OPTION"){const h=c,p={value:h.value||((r=h.textContent)==null?void 0:r.trim())||"",label:((n=h.textContent)==null?void 0:n.trim())||h.value||""};h.hasAttribute("selected")&&(this._declarativeSelectedValues||(this._declarativeSelectedValues=[]),this._declarativeSelectedValues.push(p.value)),h.hasAttribute("disabled")&&(p.disabled=!0),h.hasAttribute("data-icon")&&(p.icon=h.getAttribute("data-icon")),h.hasAttribute("data-subtitle")&&(p.subtitle=h.getAttribute("data-subtitle")),t.push(p),i=!0}else if(c.tagName==="OPTGROUP"){const h=c,p=h.label||h.getAttribute("label")||"Group",u=Array.from(h.querySelectorAll("option"));for(const m of u){const g={value:m.value||((a=m.textContent)==null?void 0:a.trim())||"",label:((l=m.textContent)==null?void 0:l.trim())||m.value||"",group:p};m.hasAttribute("selected")&&(this._declarativeSelectedValues||(this._declarativeSelectedValues=[]),this._declarativeSelectedValues.push(g.value)),m.hasAttribute("disabled")&&(g.disabled=!0),m.hasAttribute("data-icon")&&(g.icon=m.getAttribute("data-icon")),m.hasAttribute("data-subtitle")&&(g.subtitle=m.getAttribute("data-subtitle")),t.push(g),i=!0}}return i?(x.debug(`[MultiSelectElement] Parsed ${t.length} declarative options from Light DOM`),o.forEach(c=>{(c.tagName==="OPTION"||c.tagName==="OPTGROUP")&&c.remove()}),t):null}parseAttributesFromTable(){const t={};for(const o of Oe){const i=ht(o,this.getAttribute(o.attr));i!==void 0&&(t[o.key]=i)}return t}initializePicker(){if(!this.containerElement)return;let t;const o=this.getAttribute("data-options");if(o&&this._options===void 0)try{t=JSON.parse(o)}catch(n){x.error("[MultiSelectElement] Failed to parse data-options:",n)}let i;if(this._declarativeSelectedValues&&this._declarativeSelectedValues.length>0)i=this._declarativeSelectedValues,x.debug(`[MultiSelectElement] Using ${i.length} declaratively selected values`);else{const n=this.getAttribute("initial-values");if(n)try{i=JSON.parse(n)}catch(a){x.error("[MultiSelectElement] Failed to parse initial-values:",a)}}const r=this.parseAttributesFromTable();for(const{key:n,field:a}of dt)r[n]===void 0&&(r[n]=this[a]);if(Object.assign(r,{actionButtons:this._actionButtons,getValueCallback:this._getValueCallback,getDisplayValueCallback:this._getDisplayValueCallback,getBadgeDisplayCallback:this._getBadgeDisplayCallback,getBadgeClassCallback:this._getBadgeClassCallback,customStylesCallback:this._customStylesCallback,getSearchValueCallback:this._getSearchValueCallback,getIconCallback:this._getIconCallback,getSubtitleCallback:this._getSubtitleCallback,getGroupCallback:this._getGroupCallback,renderGroupLabelContentCallback:this._renderGroupLabelContentCallback,getDisabledCallback:this._getDisabledCallback,renderOptionContentCallback:this._renderOptionContentCallback,renderBadgeContentCallback:this._renderBadgeContentCallback,renderSelectedItemContentCallback:this._renderSelectedItemContentCallback,getSelectedItemClassCallback:this._getSelectedItemClassCallback,renderSelectedContentCallback:this._renderSelectedContentCallback,getValueFormatCallback:this._getValueFormatCallback,getBadgeTooltipCallback:this._getBadgeTooltipCallback,getRemoveButtonTooltipCallback:this._getRemoveButtonTooltipCallback,getCounterCallback:this._getCounterCallback||((n,a)=>a!==void 0?`+${a} more`:`${n} selected`),options:this._options??t,beforeSearchCallback:this._beforeSearchCallback,searchCallback:this._searchCallback,addNewCallback:this._addNewCallback,selectCallback:n=>{var a;this._selectCallback&&this._selectCallback(n),this.dispatchEvent(new CustomEvent("select",{detail:{option:n,selectedOptions:(a=this.picker)==null?void 0:a.getSelected(),selectedValues:this.collectSelectedValues()}}))},deselectCallback:n=>{var a;this._deselectCallback&&this._deselectCallback(n),this.dispatchEvent(new CustomEvent("deselect",{detail:{option:n,selectedOptions:(a=this.picker)==null?void 0:a.getSelected(),selectedValues:this.collectSelectedValues()}}))},changeCallback:n=>{this._changeCallback&&this._changeCallback(n),this.dispatchEvent(new CustomEvent("change",{detail:{selectedOptions:n,selectedValues:this.collectSelectedValues()}}))},container:this.shadow,hostElement:this}),i&&(this.containerElement.dataset.initialValues=JSON.stringify(i)),this.picker=new ct(this.containerElement,r),this._customStylesCallback){const n=this._customStylesCallback();if(n){const a=document.createElement("style");a.className="ms-custom-styles",a.textContent=n,this.shadow.insertBefore(a,this.shadow.firstChild)}}}reinitialize(){this.picker&&(this.picker.destroy(),this.initializePicker())}updatePicker(t){this.picker&&(this.picker.updateOptions(t)||this.reinitialize())}collectSelectedValues(){var o;const t=(o=this.picker)==null?void 0:o.getValue();return t==null?[]:Array.isArray(t)?t:[t]}get options(){return this._options}set options(t){this._options=t,this.updatePicker({options:t})}set valueMember(t){this._valueMember=t||void 0,t?this.setAttribute("value-member",t):this.removeAttribute("value-member")}get valueMember(){return this.getAttribute("value-member")}set displayValueMember(t){this._displayValueMember=t||void 0,t?this.setAttribute("display-value-member",t):this.removeAttribute("display-value-member")}get displayValueMember(){return this.getAttribute("display-value-member")}set searchValueMember(t){this._searchValueMember=t||void 0,t?this.setAttribute("search-value-member",t):this.removeAttribute("search-value-member")}get searchValueMember(){return this.getAttribute("search-value-member")}set iconMember(t){this._iconMember=t||void 0,t?this.setAttribute("icon-member",t):this.removeAttribute("icon-member")}get iconMember(){return this.getAttribute("icon-member")}set subtitleMember(t){this._subtitleMember=t||void 0,t?this.setAttribute("subtitle-member",t):this.removeAttribute("subtitle-member")}get subtitleMember(){return this.getAttribute("subtitle-member")}set groupMember(t){this._groupMember=t||void 0,t?this.setAttribute("group-member",t):this.removeAttribute("group-member")}get groupMember(){return this.getAttribute("group-member")}set disabledMember(t){this._disabledMember=t||void 0,t?this.setAttribute("disabled-member",t):this.removeAttribute("disabled-member")}get disabledMember(){return this.getAttribute("disabled-member")}set getValueCallback(t){this._getValueCallback=t,this.updatePicker({getValueCallback:t})}get getValueCallback(){return this._getValueCallback}set getDisplayValueCallback(t){this._getDisplayValueCallback=t,this.updatePicker({getDisplayValueCallback:t})}get getDisplayValueCallback(){return this._getDisplayValueCallback}set getBadgeDisplayCallback(t){this._getBadgeDisplayCallback=t,this.updatePicker({getBadgeDisplayCallback:t})}get getBadgeDisplayCallback(){return this._getBadgeDisplayCallback}set getBadgeClassCallback(t){this._getBadgeClassCallback=t,this.updatePicker({getBadgeClassCallback:t})}get getBadgeClassCallback(){return this._getBadgeClassCallback}set customStylesCallback(t){if(this._customStylesCallback=t,this.picker&&t){const o=t();if(o){const i=this.shadow.querySelector("style.ms-custom-styles");i&&i.remove();const r=document.createElement("style");r.className="ms-custom-styles",r.textContent=o,this.shadow.appendChild(r),this.picker.renderBadges()}}}get customStylesCallback(){return this._customStylesCallback}set getSearchValueCallback(t){this._getSearchValueCallback=t,this.updatePicker({getSearchValueCallback:t})}get getSearchValueCallback(){return this._getSearchValueCallback}set getIconCallback(t){this._getIconCallback=t,this.updatePicker({getIconCallback:t})}get getIconCallback(){return this._getIconCallback}set getSubtitleCallback(t){this._getSubtitleCallback=t,this.updatePicker({getSubtitleCallback:t})}get getSubtitleCallback(){return this._getSubtitleCallback}set getGroupCallback(t){this._getGroupCallback=t,this.updatePicker({getGroupCallback:t})}get getGroupCallback(){return this._getGroupCallback}set renderGroupLabelContentCallback(t){this._renderGroupLabelContentCallback=t,this.updatePicker({renderGroupLabelContentCallback:t})}get renderGroupLabelContentCallback(){return this._renderGroupLabelContentCallback}set getDisabledCallback(t){this._getDisabledCallback=t,this.updatePicker({getDisabledCallback:t})}get getDisabledCallback(){return this._getDisabledCallback}set renderOptionContentCallback(t){this._renderOptionContentCallback=t,this.updatePicker({renderOptionContentCallback:t})}get renderOptionContentCallback(){return this._renderOptionContentCallback}set renderBadgeContentCallback(t){this._renderBadgeContentCallback=t,this.updatePicker({renderBadgeContentCallback:t})}get renderBadgeContentCallback(){return this._renderBadgeContentCallback}set renderSelectedItemContentCallback(t){this._renderSelectedItemContentCallback=t,this.updatePicker({renderSelectedItemContentCallback:t})}get renderSelectedItemContentCallback(){return this._renderSelectedItemContentCallback}set getSelectedItemClassCallback(t){this._getSelectedItemClassCallback=t,this.updatePicker({getSelectedItemClassCallback:t})}get getSelectedItemClassCallback(){return this._getSelectedItemClassCallback}set renderSelectedContentCallback(t){this._renderSelectedContentCallback=t,this.updatePicker({renderSelectedContentCallback:t})}get renderSelectedContentCallback(){return this._renderSelectedContentCallback}set name(t){t?this.setAttribute("name",t):this.removeAttribute("name")}get name(){return this.getAttribute("name")}set valueFormat(t){t?this.setAttribute("value-format",t):this.removeAttribute("value-format")}get valueFormat(){return this.getAttribute("value-format")}set getValueFormatCallback(t){this._getValueFormatCallback=t,this.updatePicker({getValueFormatCallback:t})}get getValueFormatCallback(){return this._getValueFormatCallback}set thresholdMode(t){t?this.setAttribute("threshold-mode",t):this.removeAttribute("threshold-mode")}get thresholdMode(){return this.getAttribute("threshold-mode")}set badgesMaxVisible(t){t!==null?this.setAttribute("badges-max-visible",String(t)):this.removeAttribute("badges-max-visible")}get badgesMaxVisible(){const t=this.getAttribute("badges-max-visible");return t?parseInt(t):null}set checkboxAlign(t){t?this.setAttribute("checkbox-align",t):this.removeAttribute("checkbox-align")}get checkboxAlign(){return this.getAttribute("checkbox-align")}set enableBadgeTooltips(t){t?this.setAttribute("enable-badge-tooltips","true"):this.removeAttribute("enable-badge-tooltips")}get enableBadgeTooltips(){return this.getAttribute("enable-badge-tooltips")==="true"}set badgeTooltipPlacement(t){t?this.setAttribute("badge-tooltip-placement",t):this.removeAttribute("badge-tooltip-placement")}get badgeTooltipPlacement(){return this.getAttribute("badge-tooltip-placement")}set getBadgeTooltipCallback(t){this._getBadgeTooltipCallback=t,this.updatePicker({getBadgeTooltipCallback:t})}get getBadgeTooltipCallback(){return this._getBadgeTooltipCallback}set getRemoveButtonTooltipCallback(t){this._getRemoveButtonTooltipCallback=t,this.updatePicker({getRemoveButtonTooltipCallback:t})}get getRemoveButtonTooltipCallback(){return this._getRemoveButtonTooltipCallback}set removeButtonTooltipText(t){t?this.setAttribute("remove-button-tooltip-text",t):this.removeAttribute("remove-button-tooltip-text")}get removeButtonTooltipText(){return this.getAttribute("remove-button-tooltip-text")}set getCounterCallback(t){this._getCounterCallback=t,this.updatePicker({getCounterCallback:t})}get getCounterCallback(){return this._getCounterCallback}get beforeSearchCallback(){return this._beforeSearchCallback}set beforeSearchCallback(t){this._beforeSearchCallback=t,this.updatePicker({beforeSearchCallback:t})}get searchCallback(){return this._searchCallback}set searchCallback(t){this._searchCallback=t,this.updatePicker({searchCallback:t})}get addNewCallback(){return this._addNewCallback}set addNewCallback(t){this._addNewCallback=t,this.updatePicker({addNewCallback:t})}get selectCallback(){return this._selectCallback}set selectCallback(t){this._selectCallback=t}get deselectCallback(){return this._deselectCallback}set deselectCallback(t){this._deselectCallback=t}get changeCallback(){return this._changeCallback}set changeCallback(t){this._changeCallback=t}get actionButtons(){return this._actionButtons}set actionButtons(t){this._actionButtons=t,this.updatePicker({actionButtons:t})}get selectedValue(){var t;return((t=this.picker)==null?void 0:t.selectedValue)??null}get selectedItem(){var t;return((t=this.picker)==null?void 0:t.selectedItem)??null}getSelected(){return this.picker?this.picker.getSelected():[]}setSelected(t){this.picker&&this.picker.setSelected(t)}getValue(){return this.picker?this.picker.getValue():null}destroy(){this.picker&&this.picker.destroy()}}d(ue,"formAssociated",!0),typeof window<"u"&&typeof customElements<"u"&&(customElements.get("web-multiselect")||customElements.define("web-multiselect",ue)),typeof window<"u"&&(window.components=window.components||{},window.components["web-multiselect"]={version:()=>"1.10.0",config:{name:"@keenmate/web-multiselect",version:"1.10.0",author:"Keenmate",license:"MIT",repository:"git+https://github.com/keenmate/web-multiselect.git",homepage:"https://web-multiselect.keenmate.dev"},logging:{enableLogging:it,disableLogging:rt,setLogLevel:nt,setCategoryLevel:at,getCategories:()=>[...ot]},register:()=>{typeof customElements<"u"&&!customElements.get("web-multiselect")&&customElements.define("web-multiselect",ue)},getInstances:()=>mt()}),y.LOGGING_CATEGORIES=ot,y.MultiSelectElement=ue,y.WebMultiSelect=ct,y.dataLogger=x,y.disableLogging=rt,y.enableLogging=it,y.initLogger=te,y.interactionLogger=S,y.setCategoryLevel=at,y.setLogLevel=nt,y.uiLogger=E,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})});
45
+ `,setTimeout(()=>{this.getAttribute("show-debug-info")==="true"&&this.updateDebugInfo()},500)}parseDeclarativeOptions(){var r,n,a,l;const t=[],s=Array.from(this.children);if(s.length===0)return null;let i=!1;for(const c of s)if(c.tagName==="OPTION"){const h=c,p={value:h.value||((r=h.textContent)==null?void 0:r.trim())||"",label:((n=h.textContent)==null?void 0:n.trim())||h.value||""};h.hasAttribute("selected")&&(this._declarativeSelectedValues||(this._declarativeSelectedValues=[]),this._declarativeSelectedValues.push(p.value)),h.hasAttribute("disabled")&&(p.disabled=!0),h.hasAttribute("data-icon")&&(p.icon=h.getAttribute("data-icon")),h.hasAttribute("data-subtitle")&&(p.subtitle=h.getAttribute("data-subtitle")),t.push(p),i=!0}else if(c.tagName==="OPTGROUP"){const h=c,p=h.label||h.getAttribute("label")||"Group",u=Array.from(h.querySelectorAll("option"));for(const m of u){const g={value:m.value||((a=m.textContent)==null?void 0:a.trim())||"",label:((l=m.textContent)==null?void 0:l.trim())||m.value||"",group:p};m.hasAttribute("selected")&&(this._declarativeSelectedValues||(this._declarativeSelectedValues=[]),this._declarativeSelectedValues.push(g.value)),m.hasAttribute("disabled")&&(g.disabled=!0),m.hasAttribute("data-icon")&&(g.icon=m.getAttribute("data-icon")),m.hasAttribute("data-subtitle")&&(g.subtitle=m.getAttribute("data-subtitle")),t.push(g),i=!0}}return i?(x.debug(`[MultiSelectElement] Parsed ${t.length} declarative options from Light DOM`),s.forEach(c=>{(c.tagName==="OPTION"||c.tagName==="OPTGROUP")&&c.remove()}),t):null}parseAttributesFromTable(){const t={};for(const s of Oe){const i=mt(s,this.getAttribute(s.attr));i!==void 0&&(t[s.key]=i)}return t}initializePicker(){if(!this.containerElement)return;let t;const s=this.getAttribute("data-options");if(s&&this._options===void 0)try{t=JSON.parse(s)}catch(n){x.error("[MultiSelectElement] Failed to parse data-options:",n)}let i;if(this._declarativeSelectedValues&&this._declarativeSelectedValues.length>0)i=this._declarativeSelectedValues,x.debug(`[MultiSelectElement] Using ${i.length} declaratively selected values`);else{const n=this.getAttribute("initial-values");if(n)try{i=JSON.parse(n)}catch(a){x.error("[MultiSelectElement] Failed to parse initial-values:",a)}}const r=this.parseAttributesFromTable();for(const{key:n,field:a}of ht)r[n]===void 0&&(r[n]=this[a]);if(Object.assign(r,{actionButtons:this._actionButtons,getValueCallback:this._getValueCallback,getDisplayValueCallback:this._getDisplayValueCallback,getBadgeDisplayCallback:this._getBadgeDisplayCallback,getBadgeClassCallback:this._getBadgeClassCallback,customStylesCallback:this._customStylesCallback,getSearchValueCallback:this._getSearchValueCallback,getIconCallback:this._getIconCallback,getSubtitleCallback:this._getSubtitleCallback,getGroupCallback:this._getGroupCallback,renderGroupLabelContentCallback:this._renderGroupLabelContentCallback,getDisabledCallback:this._getDisabledCallback,renderOptionContentCallback:this._renderOptionContentCallback,renderBadgeContentCallback:this._renderBadgeContentCallback,renderSelectedItemContentCallback:this._renderSelectedItemContentCallback,getSelectedItemClassCallback:this._getSelectedItemClassCallback,renderSelectedContentCallback:this._renderSelectedContentCallback,getValueFormatCallback:this._getValueFormatCallback,getBadgeTooltipCallback:this._getBadgeTooltipCallback,getRemoveButtonTooltipCallback:this._getRemoveButtonTooltipCallback,getCounterCallback:this._getCounterCallback||((n,a)=>a!==void 0?`+${a} more`:`${n} selected`),options:this._options??t,beforeSearchCallback:this._beforeSearchCallback,searchCallback:this._searchCallback,addNewCallback:this._addNewCallback,selectCallback:n=>{var a;this._selectCallback&&this._selectCallback(n),this.dispatchEvent(new CustomEvent("select",{detail:{option:n,selectedOptions:(a=this.picker)==null?void 0:a.getSelected(),selectedValues:this.collectSelectedValues()}}))},deselectCallback:n=>{var a;this._deselectCallback&&this._deselectCallback(n),this.dispatchEvent(new CustomEvent("deselect",{detail:{option:n,selectedOptions:(a=this.picker)==null?void 0:a.getSelected(),selectedValues:this.collectSelectedValues()}}))},changeCallback:n=>{this._changeCallback&&this._changeCallback(n),this.dispatchEvent(new CustomEvent("change",{detail:{selectedOptions:n,selectedValues:this.collectSelectedValues()}}))},container:this.shadow,hostElement:this}),i&&(this.containerElement.dataset.initialValues=JSON.stringify(i)),this.picker=new dt(this.containerElement,r),this._customStylesCallback){const n=this._customStylesCallback();if(n){const a=document.createElement("style");a.className="ms-custom-styles",a.textContent=n,this.shadow.insertBefore(a,this.shadow.firstChild)}}}reinitialize(){this.picker&&(this.picker.destroy(),this.initializePicker())}updatePicker(t){this.picker&&(this.picker.updateOptions(t)||this.reinitialize())}collectSelectedValues(){var s;const t=(s=this.picker)==null?void 0:s.getValue();return t==null?[]:Array.isArray(t)?t:[t]}get options(){return this._options}set options(t){this._options=t,this.updatePicker({options:t})}set valueMember(t){this._valueMember=t||void 0,t?this.setAttribute("value-member",t):this.removeAttribute("value-member")}get valueMember(){return this.getAttribute("value-member")}set displayValueMember(t){this._displayValueMember=t||void 0,t?this.setAttribute("display-value-member",t):this.removeAttribute("display-value-member")}get displayValueMember(){return this.getAttribute("display-value-member")}set searchValueMember(t){this._searchValueMember=t||void 0,t?this.setAttribute("search-value-member",t):this.removeAttribute("search-value-member")}get searchValueMember(){return this.getAttribute("search-value-member")}set iconMember(t){this._iconMember=t||void 0,t?this.setAttribute("icon-member",t):this.removeAttribute("icon-member")}get iconMember(){return this.getAttribute("icon-member")}set subtitleMember(t){this._subtitleMember=t||void 0,t?this.setAttribute("subtitle-member",t):this.removeAttribute("subtitle-member")}get subtitleMember(){return this.getAttribute("subtitle-member")}set groupMember(t){this._groupMember=t||void 0,t?this.setAttribute("group-member",t):this.removeAttribute("group-member")}get groupMember(){return this.getAttribute("group-member")}set disabledMember(t){this._disabledMember=t||void 0,t?this.setAttribute("disabled-member",t):this.removeAttribute("disabled-member")}get disabledMember(){return this.getAttribute("disabled-member")}set getValueCallback(t){this._getValueCallback=t,this.updatePicker({getValueCallback:t})}get getValueCallback(){return this._getValueCallback}set getDisplayValueCallback(t){this._getDisplayValueCallback=t,this.updatePicker({getDisplayValueCallback:t})}get getDisplayValueCallback(){return this._getDisplayValueCallback}set getBadgeDisplayCallback(t){this._getBadgeDisplayCallback=t,this.updatePicker({getBadgeDisplayCallback:t})}get getBadgeDisplayCallback(){return this._getBadgeDisplayCallback}set getBadgeClassCallback(t){this._getBadgeClassCallback=t,this.updatePicker({getBadgeClassCallback:t})}get getBadgeClassCallback(){return this._getBadgeClassCallback}set customStylesCallback(t){if(this._customStylesCallback=t,this.picker&&t){const s=t();if(s){const i=this.shadow.querySelector("style.ms-custom-styles");i&&i.remove();const r=document.createElement("style");r.className="ms-custom-styles",r.textContent=s,this.shadow.appendChild(r),this.picker.renderBadges()}}}get customStylesCallback(){return this._customStylesCallback}set getSearchValueCallback(t){this._getSearchValueCallback=t,this.updatePicker({getSearchValueCallback:t})}get getSearchValueCallback(){return this._getSearchValueCallback}set getIconCallback(t){this._getIconCallback=t,this.updatePicker({getIconCallback:t})}get getIconCallback(){return this._getIconCallback}set getSubtitleCallback(t){this._getSubtitleCallback=t,this.updatePicker({getSubtitleCallback:t})}get getSubtitleCallback(){return this._getSubtitleCallback}set getGroupCallback(t){this._getGroupCallback=t,this.updatePicker({getGroupCallback:t})}get getGroupCallback(){return this._getGroupCallback}set renderGroupLabelContentCallback(t){this._renderGroupLabelContentCallback=t,this.updatePicker({renderGroupLabelContentCallback:t})}get renderGroupLabelContentCallback(){return this._renderGroupLabelContentCallback}set getDisabledCallback(t){this._getDisabledCallback=t,this.updatePicker({getDisabledCallback:t})}get getDisabledCallback(){return this._getDisabledCallback}set renderOptionContentCallback(t){this._renderOptionContentCallback=t,this.updatePicker({renderOptionContentCallback:t})}get renderOptionContentCallback(){return this._renderOptionContentCallback}set renderBadgeContentCallback(t){this._renderBadgeContentCallback=t,this.updatePicker({renderBadgeContentCallback:t})}get renderBadgeContentCallback(){return this._renderBadgeContentCallback}set renderSelectedItemContentCallback(t){this._renderSelectedItemContentCallback=t,this.updatePicker({renderSelectedItemContentCallback:t})}get renderSelectedItemContentCallback(){return this._renderSelectedItemContentCallback}set getSelectedItemClassCallback(t){this._getSelectedItemClassCallback=t,this.updatePicker({getSelectedItemClassCallback:t})}get getSelectedItemClassCallback(){return this._getSelectedItemClassCallback}set renderSelectedContentCallback(t){this._renderSelectedContentCallback=t,this.updatePicker({renderSelectedContentCallback:t})}get renderSelectedContentCallback(){return this._renderSelectedContentCallback}set name(t){t?this.setAttribute("name",t):this.removeAttribute("name")}get name(){return this.getAttribute("name")}set valueFormat(t){t?this.setAttribute("value-format",t):this.removeAttribute("value-format")}get valueFormat(){return this.getAttribute("value-format")}set getValueFormatCallback(t){this._getValueFormatCallback=t,this.updatePicker({getValueFormatCallback:t})}get getValueFormatCallback(){return this._getValueFormatCallback}set thresholdMode(t){t?this.setAttribute("threshold-mode",t):this.removeAttribute("threshold-mode")}get thresholdMode(){return this.getAttribute("threshold-mode")}set badgesMaxVisible(t){t!==null?this.setAttribute("badges-max-visible",String(t)):this.removeAttribute("badges-max-visible")}get badgesMaxVisible(){const t=this.getAttribute("badges-max-visible");return t?parseInt(t):null}set checkboxAlign(t){t?this.setAttribute("checkbox-align",t):this.removeAttribute("checkbox-align")}get checkboxAlign(){return this.getAttribute("checkbox-align")}set enableBadgeTooltips(t){t?this.setAttribute("enable-badge-tooltips","true"):this.removeAttribute("enable-badge-tooltips")}get enableBadgeTooltips(){return this.getAttribute("enable-badge-tooltips")==="true"}set badgeTooltipPlacement(t){t?this.setAttribute("badge-tooltip-placement",t):this.removeAttribute("badge-tooltip-placement")}get badgeTooltipPlacement(){return this.getAttribute("badge-tooltip-placement")}set getBadgeTooltipCallback(t){this._getBadgeTooltipCallback=t,this.updatePicker({getBadgeTooltipCallback:t})}get getBadgeTooltipCallback(){return this._getBadgeTooltipCallback}set getRemoveButtonTooltipCallback(t){this._getRemoveButtonTooltipCallback=t,this.updatePicker({getRemoveButtonTooltipCallback:t})}get getRemoveButtonTooltipCallback(){return this._getRemoveButtonTooltipCallback}set removeButtonTooltipText(t){t?this.setAttribute("remove-button-tooltip-text",t):this.removeAttribute("remove-button-tooltip-text")}get removeButtonTooltipText(){return this.getAttribute("remove-button-tooltip-text")}set getCounterCallback(t){this._getCounterCallback=t,this.updatePicker({getCounterCallback:t})}get getCounterCallback(){return this._getCounterCallback}get beforeSearchCallback(){return this._beforeSearchCallback}set beforeSearchCallback(t){this._beforeSearchCallback=t,this.updatePicker({beforeSearchCallback:t})}get searchCallback(){return this._searchCallback}set searchCallback(t){this._searchCallback=t,this.updatePicker({searchCallback:t})}get addNewCallback(){return this._addNewCallback}set addNewCallback(t){this._addNewCallback=t,this.updatePicker({addNewCallback:t})}get selectCallback(){return this._selectCallback}set selectCallback(t){this._selectCallback=t}get deselectCallback(){return this._deselectCallback}set deselectCallback(t){this._deselectCallback=t}get changeCallback(){return this._changeCallback}set changeCallback(t){this._changeCallback=t}get actionButtons(){return this._actionButtons}set actionButtons(t){this._actionButtons=t,this.updatePicker({actionButtons:t})}get selectedValue(){var t;return((t=this.picker)==null?void 0:t.selectedValue)??null}get selectedItem(){var t;return((t=this.picker)==null?void 0:t.selectedItem)??null}getSelected(){return this.picker?this.picker.getSelected():[]}setSelected(t){this.picker&&this.picker.setSelected(t)}getValue(){return this.picker?this.picker.getValue():null}destroy(){this.picker&&this.picker.destroy()}}d(ue,"formAssociated",!0),typeof window<"u"&&typeof customElements<"u"&&(customElements.get("web-multiselect")||customElements.define("web-multiselect",ue)),typeof window<"u"&&(window.components=window.components||{},window.components["web-multiselect"]={version:()=>"1.11.0",config:{name:"@keenmate/web-multiselect",version:"1.11.0",author:"Keenmate",license:"MIT",repository:"git+https://github.com/keenmate/web-multiselect.git",homepage:"https://web-multiselect.keenmate.dev"},logging:{enableLogging:rt,disableLogging:nt,setLogLevel:at,setCategoryLevel:lt,getCategories:()=>[...it]},register:()=>{typeof customElements<"u"&&!customElements.get("web-multiselect")&&customElements.define("web-multiselect",ue)},getInstances:()=>pt()}),_.LOGGING_CATEGORIES=it,_.MultiSelectElement=ue,_.WebMultiSelect=dt,_.dataLogger=x,_.disableLogging=nt,_.enableLogging=rt,_.initLogger=te,_.interactionLogger=S,_.setCategoryLevel=lt,_.setLogLevel=at,_.uiLogger=E,Object.defineProperty(_,Symbol.toStringTag,{value:"Module"})});