@headless-primitives/combobox
Advanced tools
+10
-0
@@ -547,2 +547,12 @@ //#region ../utils/dist/index.js | ||
| } | ||
| _abortController = null; | ||
| get signal() { | ||
| return (!this._abortController || this._abortController.signal.aborted) && (this._abortController = new AbortController()), this._abortController.signal; | ||
| } | ||
| connectedCallback() { | ||
| super.connectedCallback(), (!this._abortController || this._abortController.signal.aborted) && (this._abortController = new AbortController()); | ||
| } | ||
| disconnectedCallback() { | ||
| super.disconnectedCallback(), this._abortController?.abort(), this._abortController = null; | ||
| } | ||
| }; | ||
@@ -549,0 +559,0 @@ function B(e) { |
| (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports):typeof define==`function`&&define.amd?define([`exports`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.HeadlessPrimitivesCombobox={}))})(this,function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=globalThis,n=t.ShadowRoot&&(t.ShadyCSS===void 0||t.ShadyCSS.nativeShadow)&&`adoptedStyleSheets`in Document.prototype&&`replace`in CSSStyleSheet.prototype,r=Symbol(),i=new WeakMap,a=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==r)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(n&&e===void 0){let n=t!==void 0&&t.length===1;n&&(e=i.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&i.set(t,e))}return e}toString(){return this.cssText}},o=e=>new a(typeof e==`string`?e:e+``,void 0,r),s=(e,r)=>{if(n)e.adoptedStyleSheets=r.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let n of r){let r=document.createElement(`style`),i=t.litNonce;i!==void 0&&r.setAttribute(`nonce`,i),r.textContent=n.cssText,e.appendChild(r)}},c=n?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t=``;for(let n of e.cssRules)t+=n.cssText;return o(t)})(e):e,{is:l,defineProperty:u,getOwnPropertyDescriptor:d,getOwnPropertyNames:ee,getOwnPropertySymbols:te,getPrototypeOf:ne}=Object,f=globalThis,p=f.trustedTypes,re=p?p.emptyScript:``,ie=f.reactiveElementPolyfillSupport,m=(e,t)=>e,h={toAttribute(e,t){switch(t){case Boolean:e=e?re:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=e!==null;break;case Number:n=e===null?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch{n=null}}return n}},ae=(e,t)=>!l(e,t),oe={attribute:!0,type:String,converter:h,reflect:!1,useDefault:!1,hasChanged:ae};Symbol.metadata??=Symbol(`metadata`),f.litPropertyMetadata??=new WeakMap;var g=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=oe){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let n=Symbol(),r=this.getPropertyDescriptor(e,n,t);r!==void 0&&u(this.prototype,e,r)}}static getPropertyDescriptor(e,t,n){let{get:r,set:i}=d(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:r,set(t){let a=r?.call(this);i?.call(this,t),this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??oe}static _$Ei(){if(this.hasOwnProperty(m(`elementProperties`)))return;let e=ne(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(m(`finalized`)))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(m(`properties`))){let e=this.properties,t=[...ee(e),...te(e)];for(let n of t)this.createProperty(n,e[n])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(let[e,t]of this.elementProperties){let n=this._$Eu(e,t);n!==void 0&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let n=new Set(e.flat(1/0).reverse());for(let e of n)t.unshift(c(e))}else e!==void 0&&t.push(c(e));return t}static _$Eu(e,t){let n=t.attribute;return!1===n?void 0:typeof n==`string`?n:typeof e==`string`?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$ET(e,t){let n=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,n);if(r!==void 0&&!0===n.reflect){let i=(n.converter?.toAttribute===void 0?h:n.converter).toAttribute(t,n.type);this._$Em=e,i==null?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(e,t){let n=this.constructor,r=n._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let e=n.getPropertyOptions(r),i=typeof e.converter==`function`?{fromAttribute:e.converter}:e.converter?.fromAttribute===void 0?h:e.converter;this._$Em=r;let a=i.fromAttribute(t,e.type);this[r]=a??this._$Ej?.get(r)??a,this._$Em=null}}requestUpdate(e,t,n,r=!1,i){if(e!==void 0){let a=this.constructor;if(!1===r&&(i=this[e]),n??=a.getPropertyOptions(e),!((n.hasChanged??ae)(i,t)||n.useDefault&&n.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(a._$Eu(e,n))))return;this.C(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:n,reflect:r,wrapped:i},a){n&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,a??t??this[e]),!0!==i||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||n||(t=void 0),this._$AL.set(e,t)),!0===r&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}let e=this.constructor.elementProperties;if(e.size>0)for(let[t,n]of e){let{wrapped:e}=n,r=this[t];!0!==e||this._$AL.has(t)||r===void 0||this.C(t,void 0,n,r)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}};g.elementStyles=[],g.shadowRootOptions={mode:`open`},g[m(`elementProperties`)]=new Map,g[m(`finalized`)]=new Map,ie?.({ReactiveElement:g}),(f.reactiveElementVersions??=[]).push(`2.1.2`);var _=globalThis,se=e=>e,v=_.trustedTypes,ce=v?v.createPolicy(`lit-html`,{createHTML:e=>e}):void 0,le=`$lit$`,y=`lit$${Math.random().toFixed(9).slice(2)}$`,ue=`?`+y,de=`<${ue}>`,b=document,x=()=>b.createComment(``),S=e=>e===null||typeof e!=`object`&&typeof e!=`function`,C=Array.isArray,fe=e=>C(e)||typeof e?.[Symbol.iterator]==`function`,w=`[ | ||
| \f\r]`,T=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,pe=/-->/g,me=/>/g,E=RegExp(`>|${w}(?:([^\\s"'>=/]+)(${w}*=${w}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,`g`),he=/'/g,ge=/"/g,_e=/^(?:script|style|textarea|title)$/i,D=Symbol.for(`lit-noChange`),O=Symbol.for(`lit-nothing`),k=new WeakMap,A=b.createTreeWalker(b,129);function ve(e,t){if(!C(e)||!e.hasOwnProperty(`raw`))throw Error(`invalid template strings array`);return ce===void 0?t:ce.createHTML(t)}var ye=(e,t)=>{let n=e.length-1,r=[],i,a=t===2?`<svg>`:t===3?`<math>`:``,o=T;for(let t=0;t<n;t++){let n=e[t],s,c,l=-1,u=0;for(;u<n.length&&(o.lastIndex=u,c=o.exec(n),c!==null);)u=o.lastIndex,o===T?c[1]===`!--`?o=pe:c[1]===void 0?c[2]===void 0?c[3]!==void 0&&(o=E):(_e.test(c[2])&&(i=RegExp(`</`+c[2],`g`)),o=E):o=me:o===E?c[0]===`>`?(o=i??T,l=-1):c[1]===void 0?l=-2:(l=o.lastIndex-c[2].length,s=c[1],o=c[3]===void 0?E:c[3]===`"`?ge:he):o===ge||o===he?o=E:o===pe||o===me?o=T:(o=E,i=void 0);let d=o===E&&e[t+1].startsWith(`/>`)?` `:``;a+=o===T?n+de:l>=0?(r.push(s),n.slice(0,l)+le+n.slice(l)+y+d):n+y+(l===-2?t:d)}return[ve(e,a+(e[n]||`<?>`)+(t===2?`</svg>`:t===3?`</math>`:``)),r]},j=class e{constructor({strings:t,_$litType$:n},r){let i;this.parts=[];let a=0,o=0,s=t.length-1,c=this.parts,[l,u]=ye(t,n);if(this.el=e.createElement(l,r),A.currentNode=this.el.content,n===2||n===3){let e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;(i=A.nextNode())!==null&&c.length<s;){if(i.nodeType===1){if(i.hasAttributes())for(let e of i.getAttributeNames())if(e.endsWith(le)){let t=u[o++],n=i.getAttribute(e).split(y),r=/([.?@])?(.*)/.exec(t);c.push({type:1,index:a,name:r[2],strings:n,ctor:r[1]===`.`?xe:r[1]===`?`?Se:r[1]===`@`?Ce:P}),i.removeAttribute(e)}else e.startsWith(y)&&(c.push({type:6,index:a}),i.removeAttribute(e));if(_e.test(i.tagName)){let e=i.textContent.split(y),t=e.length-1;if(t>0){i.textContent=v?v.emptyScript:``;for(let n=0;n<t;n++)i.append(e[n],x()),A.nextNode(),c.push({type:2,index:++a});i.append(e[t],x())}}}else if(i.nodeType===8)if(i.data===ue)c.push({type:2,index:a});else{let e=-1;for(;(e=i.data.indexOf(y,e+1))!==-1;)c.push({type:7,index:a}),e+=y.length-1}a++}}static createElement(e,t){let n=b.createElement(`template`);return n.innerHTML=e,n}};function M(e,t,n=e,r){if(t===D)return t;let i=r===void 0?n._$Cl:n._$Co?.[r],a=S(t)?void 0:t._$litDirective$;return i?.constructor!==a&&(i?._$AO?.(!1),a===void 0?i=void 0:(i=new a(e),i._$AT(e,n,r)),r===void 0?n._$Cl=i:(n._$Co??=[])[r]=i),i!==void 0&&(t=M(e,i._$AS(e,t.values),i,r)),t}var be=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:t},parts:n}=this._$AD,r=(e?.creationScope??b).importNode(t,!0);A.currentNode=r;let i=A.nextNode(),a=0,o=0,s=n[0];for(;s!==void 0;){if(a===s.index){let t;s.type===2?t=new N(i,i.nextSibling,this,e):s.type===1?t=new s.ctor(i,s.name,s.strings,this,e):s.type===6&&(t=new we(i,this,e)),this._$AV.push(t),s=n[++o]}a!==s?.index&&(i=A.nextNode(),a++)}return A.currentNode=b,r}p(e){let t=0;for(let n of this._$AV)n!==void 0&&(n.strings===void 0?n._$AI(e[t]):(n._$AI(e,n,t),t+=n.strings.length-2)),t++}},N=class e{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,n,r){this.type=2,this._$AH=O,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=n,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&e?.nodeType===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=M(this,e,t),S(e)?e===O||e==null||e===``?(this._$AH!==O&&this._$AR(),this._$AH=O):e!==this._$AH&&e!==D&&this._(e):e._$litType$===void 0?e.nodeType===void 0?fe(e)?this.k(e):this._(e):this.T(e):this.$(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==O&&S(this._$AH)?this._$AA.nextSibling.data=e:this.T(b.createTextNode(e)),this._$AH=e}$(e){let{values:t,_$litType$:n}=e,r=typeof n==`number`?this._$AC(e):(n.el===void 0&&(n.el=j.createElement(ve(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===r)this._$AH.p(t);else{let e=new be(r,this),n=e.u(this.options);e.p(t),this.T(n),this._$AH=e}}_$AC(e){let t=k.get(e.strings);return t===void 0&&k.set(e.strings,t=new j(e)),t}k(t){C(this._$AH)||(this._$AH=[],this._$AR());let n=this._$AH,r,i=0;for(let a of t)i===n.length?n.push(r=new e(this.O(x()),this.O(x()),this,this.options)):r=n[i],r._$AI(a),i++;i<n.length&&(this._$AR(r&&r._$AB.nextSibling,i),n.length=i)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){let t=se(e).nextSibling;se(e).remove(),e=t}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},P=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,n,r,i){this.type=1,this._$AH=O,this._$AN=void 0,this.element=e,this.name=t,this._$AM=r,this.options=i,n.length>2||n[0]!==``||n[1]!==``?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=O}_$AI(e,t=this,n,r){let i=this.strings,a=!1;if(i===void 0)e=M(this,e,t,0),a=!S(e)||e!==this._$AH&&e!==D,a&&(this._$AH=e);else{let r=e,o,s;for(e=i[0],o=0;o<i.length-1;o++)s=M(this,r[n+o],t,o),s===D&&(s=this._$AH[o]),a||=!S(s)||s!==this._$AH[o],s===O?e=O:e!==O&&(e+=(s??``)+i[o+1]),this._$AH[o]=s}a&&!r&&this.j(e)}j(e){e===O?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??``)}},xe=class extends P{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===O?void 0:e}},Se=class extends P{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==O)}},Ce=class extends P{constructor(e,t,n,r,i){super(e,t,n,r,i),this.type=5}_$AI(e,t=this){if((e=M(this,e,t,0)??O)===D)return;let n=this._$AH,r=e===O&&n!==O||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,i=e!==O&&(n===O||r);r&&this.element.removeEventListener(this.name,this,n),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH==`function`?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},we=class{constructor(e,t,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){M(this,e)}},Te=_.litHtmlPolyfillSupport;Te?.(j,N),(_.litHtmlVersions??=[]).push(`3.3.2`);var Ee=(e,t,n)=>{let r=n?.renderBefore??t,i=r._$litPart$;if(i===void 0){let e=n?.renderBefore??null;r._$litPart$=i=new N(t.insertBefore(x(),e),e,void 0,n??{})}return i._$AI(e),i},F=globalThis,I=class extends g{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Ee(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return D}};I._$litElement$=!0,I.finalized=!0,F.litElementHydrateSupport?.({LitElement:I});var De=F.litElementPolyfillSupport;De?.({LitElement:I}),(F.litElementVersions??=[]).push(`4.2.2`);var L=[];for(let e=0;e<256;++e)L.push((e+256).toString(16).slice(1));function Oe(e,t=0){return(L[e[t+0]]+L[e[t+1]]+L[e[t+2]]+L[e[t+3]]+`-`+L[e[t+4]]+L[e[t+5]]+`-`+L[e[t+6]]+L[e[t+7]]+`-`+L[e[t+8]]+L[e[t+9]]+`-`+L[e[t+10]]+L[e[t+11]]+L[e[t+12]]+L[e[t+13]]+L[e[t+14]]+L[e[t+15]]).toLowerCase()}var R,ke=new Uint8Array(16);function Ae(){if(!R){if(typeof crypto>`u`||!crypto.getRandomValues)throw Error(`crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported`);R=crypto.getRandomValues.bind(crypto)}return R(ke)}var je={randomUUID:typeof crypto<`u`&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function Me(e,t,n){e||={};let r=e.random??e.rng?.()??Ae();if(r.length<16)throw Error(`Random bytes length must be >= 16`);if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){if(n||=0,n<0||n+16>t.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=r[e];return t}return Oe(r)}function Ne(e,t,n){return je.randomUUID&&!t&&!e?je.randomUUID():Me(e,t,n)}function Pe(e=`hp`){return`${e}-${Ne()}`}var z=class extends I{createRenderRoot(){return this}emit(e,t){let n=new CustomEvent(`hp-${e}`,{detail:t,bubbles:!0,composed:!0,cancelable:!0});return this.dispatchEvent(n),n}_hpId=Pe();get hpId(){return this._hpId}};function B(e){return function(t){typeof window<`u`&&(customElements.get(e)||customElements.define(e,t))}}var V=globalThis,H=V.ShadowRoot&&(V.ShadyCSS===void 0||V.ShadyCSS.nativeShadow)&&`adoptedStyleSheets`in Document.prototype&&`replace`in CSSStyleSheet.prototype,Fe=Symbol(),Ie=new WeakMap,Le=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==Fe)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(H&&e===void 0){let n=t!==void 0&&t.length===1;n&&(e=Ie.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&Ie.set(t,e))}return e}toString(){return this.cssText}},Re=e=>new Le(typeof e==`string`?e:e+``,void 0,Fe),ze=(e,t)=>{if(H)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let n of t){let t=document.createElement(`style`),r=V.litNonce;r!==void 0&&t.setAttribute(`nonce`,r),t.textContent=n.cssText,e.appendChild(t)}},Be=H?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t=``;for(let n of e.cssRules)t+=n.cssText;return Re(t)})(e):e,{is:Ve,defineProperty:He,getOwnPropertyDescriptor:Ue,getOwnPropertyNames:We,getOwnPropertySymbols:Ge,getPrototypeOf:Ke}=Object,U=globalThis,qe=U.trustedTypes,Je=qe?qe.emptyScript:``,Ye=U.reactiveElementPolyfillSupport,W=(e,t)=>e,G={toAttribute(e,t){switch(t){case Boolean:e=e?Je:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=e!==null;break;case Number:n=e===null?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch{n=null}}return n}},K=(e,t)=>!Ve(e,t),Xe={attribute:!0,type:String,converter:G,reflect:!1,useDefault:!1,hasChanged:K};Symbol.metadata??=Symbol(`metadata`),U.litPropertyMetadata??=new WeakMap;var q=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=Xe){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let n=Symbol(),r=this.getPropertyDescriptor(e,n,t);r!==void 0&&He(this.prototype,e,r)}}static getPropertyDescriptor(e,t,n){let{get:r,set:i}=Ue(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:r,set(t){let a=r?.call(this);i?.call(this,t),this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Xe}static _$Ei(){if(this.hasOwnProperty(W(`elementProperties`)))return;let e=Ke(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(W(`finalized`)))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(W(`properties`))){let e=this.properties,t=[...We(e),...Ge(e)];for(let n of t)this.createProperty(n,e[n])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(let[e,t]of this.elementProperties){let n=this._$Eu(e,t);n!==void 0&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let n=new Set(e.flat(1/0).reverse());for(let e of n)t.unshift(Be(e))}else e!==void 0&&t.push(Be(e));return t}static _$Eu(e,t){let n=t.attribute;return!1===n?void 0:typeof n==`string`?n:typeof e==`string`?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return ze(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$ET(e,t){let n=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,n);if(r!==void 0&&!0===n.reflect){let i=(n.converter?.toAttribute===void 0?G:n.converter).toAttribute(t,n.type);this._$Em=e,i==null?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(e,t){let n=this.constructor,r=n._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let e=n.getPropertyOptions(r),i=typeof e.converter==`function`?{fromAttribute:e.converter}:e.converter?.fromAttribute===void 0?G:e.converter;this._$Em=r;let a=i.fromAttribute(t,e.type);this[r]=a??this._$Ej?.get(r)??a,this._$Em=null}}requestUpdate(e,t,n,r=!1,i){if(e!==void 0){let a=this.constructor;if(!1===r&&(i=this[e]),n??=a.getPropertyOptions(e),!((n.hasChanged??K)(i,t)||n.useDefault&&n.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(a._$Eu(e,n))))return;this.C(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:n,reflect:r,wrapped:i},a){n&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,a??t??this[e]),!0!==i||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||n||(t=void 0),this._$AL.set(e,t)),!0===r&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}let e=this.constructor.elementProperties;if(e.size>0)for(let[t,n]of e){let{wrapped:e}=n,r=this[t];!0!==e||this._$AL.has(t)||r===void 0||this.C(t,void 0,n,r)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}};q.elementStyles=[],q.shadowRootOptions={mode:`open`},q[W(`elementProperties`)]=new Map,q[W(`finalized`)]=new Map,Ye?.({ReactiveElement:q}),(U.reactiveElementVersions??=[]).push(`2.1.2`);var Ze={attribute:!0,type:String,converter:G,reflect:!1,hasChanged:K},Qe=(e=Ze,t,n)=>{let{kind:r,metadata:i}=n,a=globalThis.litPropertyMetadata.get(i);if(a===void 0&&globalThis.litPropertyMetadata.set(i,a=new Map),r===`setter`&&((e=Object.create(e)).wrapped=!0),a.set(n.name,e),r===`accessor`){let{name:r}=n;return{set(n){let i=t.get.call(this);t.set.call(this,n),this.requestUpdate(r,i,e,!0,n)},init(t){return t!==void 0&&this.C(r,void 0,e,t),t}}}if(r===`setter`){let{name:r}=n;return function(n){let i=this[r];t.call(this,n),this.requestUpdate(r,i,e,!0,n)}}throw Error(`Unsupported decorator location: `+r)};function J(e){return(t,n)=>typeof n==`object`?Qe(e,t,n):((e,t,n)=>{let r=t.hasOwnProperty(n);return t.constructor.createProperty(n,e),r?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n)}function Y(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}var X=class extends z{_input=null;disabled=!1;connectedCallback(){super.connectedCallback(),this._ensureInput(),this._sync()}get nativeInput(){return this._input}_ensureInput(){if(this._input)return;let e=this.querySelector(`input[type='text']`);if(e){this._input=e;return}let t=document.createElement(`input`);t.type=`text`,t.autocomplete=`off`,this.appendChild(t),this._input=t}_sync(){this._input&&(this._input.disabled=this.disabled,this._input.setAttribute(`aria-disabled`,String(this.disabled)))}};Y([J({type:Boolean,reflect:!0})],X.prototype,`disabled`,void 0),X=Y([B(`hp-combobox-input`)],X);var Z=class extends z{};Z=Y([B(`hp-combobox-content`)],Z);var Q=class extends z{_value=``;get value(){return this._value}set value(e){this._value=e}disabled=!1};Y([J({type:String,reflect:!0})],Q.prototype,`value`,null),Y([J({type:Boolean,reflect:!0})],Q.prototype,`disabled`,void 0),Q=Y([B(`hp-combobox-option`)],Q);var $=class extends z{_inputControl=null;_inputElement=null;_content=null;_options=[];_filteredOptions=[];_open=!1;_value=null;_inputValue=``;_highlightedIndex=-1;_rafId=null;_scrollParents=[];_isInputBound=!1;_isContentBound=!1;_isGlobalListenerBound=!1;_suppressFocusOpen=!1;_prevOpen=!1;disabled=!1;placeholder=``;get open(){return this._open}set open(e){this._open=!!e,this._sync()}get value(){return this._value}set value(e){if(this._value=e,e!==null){let t=this._options.find(t=>t.value===e);t&&(this._inputValue=t.textContent?.trim()||``)}this._sync()}connectedCallback(){super.connectedCallback(),this.setAttribute(`data-hp-component`,`combobox`),this._setupRefs(),this._bind(),this._sync(),requestAnimationFrame(()=>{this._setupRefs(),this._bind(),this._sync()})}disconnectedCallback(){super.disconnectedCallback(),this._removeGlobalListeners()}_setupRefs(){this._inputControl=this.querySelector(`hp-combobox-input`),this._content=this.querySelector(`hp-combobox-content`),this._options=Array.from(this.querySelectorAll(`hp-combobox-option`)),this._inputElement=this._inputControl?.nativeInput||this.querySelector(`input[type='text']`)}_bind(){this._inputElement&&!this._isInputBound&&(this._inputElement.addEventListener(`input`,this._onInput),this._inputElement.addEventListener(`keydown`,this._onInputKeyDown),this._inputElement.addEventListener(`focus`,this._onInputFocus),this._isInputBound=!0),this._content&&!this._isContentBound&&(this._content.addEventListener(`click`,this._onOptionClick),this._isContentBound=!0)}_computePosition(){if(!this._inputElement||!this._content)return;let e=this.getBoundingClientRect(),t=this._inputElement.getBoundingClientRect(),n=t.left-e.left,r=t.top-e.top+t.height+6;this._content.style.left=`${n}px`,this._content.style.top=`${r}px`,this._content.style.minWidth=`${t.width}px`}_startPositionLoop(){let e=()=>{this._open&&(this._computePosition(),this._rafId=requestAnimationFrame(e))};this._rafId=requestAnimationFrame(e)}_stopPositionLoop(){this._rafId!==null&&(cancelAnimationFrame(this._rafId),this._rafId=null)}_onInput=()=>{this._inputElement&&(this._inputValue=this._inputElement.value,this._open?this._sync():this.open=!0)};_onInputFocus=()=>{this.disabled||this._suppressFocusOpen||(this.open=!0)};_onInputKeyDown=e=>{if(this.disabled)return;let t=e.key;if(t===`ArrowDown`){if(e.preventDefault(),!this._open){this.open=!0;return}this._moveActive(1)}else if(t===`ArrowUp`){if(e.preventDefault(),!this._open){this.open=!0;return}this._moveActive(-1)}else if(t===`Home`)e.preventDefault(),this._moveToEdge(`first`);else if(t===`End`)e.preventDefault(),this._moveToEdge(`last`);else if(t===`Enter`){if(this._open&&this._highlightedIndex>=0){e.preventDefault();let t=this._filteredOptions[this._highlightedIndex];t&&!t.disabled&&this._selectOption(t)}}else t===`Escape`&&this._open&&(e.preventDefault(),this.close())};_onOptionClick=e=>{let t=e.target.closest(`hp-combobox-option`);!t||t.disabled||this._selectOption(t)};_filterOptions(){let e=this._inputValue.trim().toLowerCase();this._filteredOptions=this._options.filter(t=>{let n=t.textContent?.trim().toLowerCase()||``;return e.length===0||n.includes(e)})}_syncOptions(){for(let e of this._options){let t=this._filteredOptions.includes(e);e.setAttribute(`role`,`option`),e.setAttribute(`aria-selected`,String(e.value===this._value)),e.setAttribute(`aria-disabled`,String(e.disabled)),e.setAttribute(`aria-hidden`,String(!t)),e.setAttribute(`data-state`,t?`visible`:`hidden`)}this._open&&(this._filteredOptions.length===0?this._highlightedIndex=-1:(this._highlightedIndex<0||this._highlightedIndex>=this._filteredOptions.length)&&this._setActiveIndex(0))}_setActiveIndex(e){if(e<0||e>=this._filteredOptions.length){this._highlightedIndex=-1,this._inputElement&&this._inputElement.removeAttribute(`aria-activedescendant`);return}this._highlightedIndex=e;let t=this._filteredOptions[e];t&&(t.id||=`hp-combobox-option-${t.hpId}`,this._inputElement&&this._inputElement.setAttribute(`aria-activedescendant`,t.id),t.scrollIntoView({block:`nearest`}),this._emitHighlight())}_moveActive(e){if(this._filteredOptions.length===0)return;let t=(this._highlightedIndex+e+this._filteredOptions.length)%this._filteredOptions.length;this._setActiveIndex(t)}_moveToEdge(e){if(this._filteredOptions.length===0)return;let t=e===`first`?0:this._filteredOptions.length-1;this._setActiveIndex(t)}_selectOption(e){let t=e.textContent?.trim()||``;this._value=e.value,this._inputValue=t,this._syncSelection(),this._emitChange(),this._suppressFocusOpen=!0,this.close(),this._suppressFocusOpen=!1}_syncSelection(){for(let e of this._options)e.setAttribute(`aria-selected`,String(e.value===this._value));this._inputElement&&(this._inputElement.value=this._inputValue)}_sync(){if(this._setupRefs(),this._filterOptions(),this._inputElement){if(this._inputElement.disabled=this.disabled,this._inputElement.placeholder=this.placeholder,this._inputElement.setAttribute(`role`,`combobox`),this._inputElement.setAttribute(`aria-expanded`,String(this._open)),this._inputElement.setAttribute(`aria-autocomplete`,`list`),this._inputElement.setAttribute(`aria-disabled`,String(this.disabled)),this._inputElement.setAttribute(`aria-controls`,this._content?.id||``),this._highlightedIndex>=0&&this._filteredOptions[this._highlightedIndex]){let e=this._filteredOptions[this._highlightedIndex];e.id||=`hp-combobox-option-${e.hpId}`,this._inputElement.setAttribute(`aria-activedescendant`,e.id)}else this._inputElement.removeAttribute(`aria-activedescendant`);this._inputElement.value=this._inputValue}if(this._content&&(this._content.setAttribute(`role`,`listbox`),this._content.setAttribute(`data-state`,this._open?`open`:`closed`),this._content.setAttribute(`aria-hidden`,String(!this._open)),this._content.id||(this._content.id=`hp-combobox-content-${this.hpId}`),this._inputElement&&this._inputElement.setAttribute(`aria-controls`,this._content.id)),this._syncOptions(),this._open){if(this._computePosition(),this._startPositionLoop(),!this._isGlobalListenerBound){document.addEventListener(`click`,this._onClickOutside),document.addEventListener(`keydown`,this._onGlobalKeydown),this._scrollParents=this._getScrollParents(this._inputElement||this);for(let e of this._scrollParents)e.addEventListener(`scroll`,this._onScrollOrResize,{passive:!0});window.addEventListener(`resize`,this._onScrollOrResize,{passive:!0}),this._isGlobalListenerBound=!0}this._prevOpen||this.emit(`open`)}else this._stopPositionLoop(),this._removeGlobalListeners(),this._prevOpen&&this.emit(`close`);this._prevOpen=this._open}_getScrollParents(e){let t=[],n=e.parentElement;for(;n;){let{overflow:e,overflowY:r,overflowX:i}=getComputedStyle(n);/auto|scroll|overlay/.test(e+r+i)&&t.push(n),n=n.parentElement}return t.push(window),t}_removeGlobalListeners(){document.removeEventListener(`click`,this._onClickOutside),document.removeEventListener(`keydown`,this._onGlobalKeydown);for(let e of this._scrollParents)e.removeEventListener(`scroll`,this._onScrollOrResize);this._scrollParents=[],window.removeEventListener(`resize`,this._onScrollOrResize),this._isGlobalListenerBound=!1}_onClickOutside=e=>{if(!this._open||!this._content)return;let t=e.target;this.contains(t)||this._closeWithoutFocus()};_onGlobalKeydown=e=>{e.key===`Escape`&&this._open&&(e.preventDefault(),this.close())};_onScrollOrResize=()=>{this._open&&this.close()};openCombobox(e){this.disabled||(this.open=!0,e&&this._moveToEdge(e))}close(){this.open=!1,this._inputElement?.focus()}_closeWithoutFocus(){this.open=!1}toggle(){this.open=!this.open}select(e){let t=this._options.find(t=>t.value===e);t&&!t.disabled&&this._selectOption(t)}clear(){this._value=null,this._inputValue=``,this._syncSelection(),this._emitChange()}_emitChange(){let e=this._options.find(e=>e.value===this._value)||null,t={value:this._value,label:e?.textContent?.trim()||null,item:e};this.emit(`change`,t)}_emitHighlight(){let e=this._filteredOptions[this._highlightedIndex]||null,t={value:e?.value||null,label:e?.textContent?.trim()||null,item:e};this.emit(`highlight`,t)}};Y([J({type:Boolean,reflect:!0})],$.prototype,`disabled`,void 0),Y([J({type:String,reflect:!0})],$.prototype,`placeholder`,void 0),Y([J({type:Boolean,reflect:!0})],$.prototype,`open`,null),Y([J({type:String,reflect:!0})],$.prototype,`value`,null),$=Y([B(`hp-combobox`)],$),Object.defineProperty(e,`HeadlessCombobox`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(e,`HeadlessComboboxContent`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(e,`HeadlessComboboxInput`,{enumerable:!0,get:function(){return X}}),Object.defineProperty(e,`HeadlessComboboxOption`,{enumerable:!0,get:function(){return Q}})}); | ||
| \f\r]`,T=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,pe=/-->/g,me=/>/g,E=RegExp(`>|${w}(?:([^\\s"'>=/]+)(${w}*=${w}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,`g`),he=/'/g,ge=/"/g,_e=/^(?:script|style|textarea|title)$/i,D=Symbol.for(`lit-noChange`),O=Symbol.for(`lit-nothing`),k=new WeakMap,A=b.createTreeWalker(b,129);function ve(e,t){if(!C(e)||!e.hasOwnProperty(`raw`))throw Error(`invalid template strings array`);return ce===void 0?t:ce.createHTML(t)}var ye=(e,t)=>{let n=e.length-1,r=[],i,a=t===2?`<svg>`:t===3?`<math>`:``,o=T;for(let t=0;t<n;t++){let n=e[t],s,c,l=-1,u=0;for(;u<n.length&&(o.lastIndex=u,c=o.exec(n),c!==null);)u=o.lastIndex,o===T?c[1]===`!--`?o=pe:c[1]===void 0?c[2]===void 0?c[3]!==void 0&&(o=E):(_e.test(c[2])&&(i=RegExp(`</`+c[2],`g`)),o=E):o=me:o===E?c[0]===`>`?(o=i??T,l=-1):c[1]===void 0?l=-2:(l=o.lastIndex-c[2].length,s=c[1],o=c[3]===void 0?E:c[3]===`"`?ge:he):o===ge||o===he?o=E:o===pe||o===me?o=T:(o=E,i=void 0);let d=o===E&&e[t+1].startsWith(`/>`)?` `:``;a+=o===T?n+de:l>=0?(r.push(s),n.slice(0,l)+le+n.slice(l)+y+d):n+y+(l===-2?t:d)}return[ve(e,a+(e[n]||`<?>`)+(t===2?`</svg>`:t===3?`</math>`:``)),r]},j=class e{constructor({strings:t,_$litType$:n},r){let i;this.parts=[];let a=0,o=0,s=t.length-1,c=this.parts,[l,u]=ye(t,n);if(this.el=e.createElement(l,r),A.currentNode=this.el.content,n===2||n===3){let e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;(i=A.nextNode())!==null&&c.length<s;){if(i.nodeType===1){if(i.hasAttributes())for(let e of i.getAttributeNames())if(e.endsWith(le)){let t=u[o++],n=i.getAttribute(e).split(y),r=/([.?@])?(.*)/.exec(t);c.push({type:1,index:a,name:r[2],strings:n,ctor:r[1]===`.`?xe:r[1]===`?`?Se:r[1]===`@`?Ce:P}),i.removeAttribute(e)}else e.startsWith(y)&&(c.push({type:6,index:a}),i.removeAttribute(e));if(_e.test(i.tagName)){let e=i.textContent.split(y),t=e.length-1;if(t>0){i.textContent=v?v.emptyScript:``;for(let n=0;n<t;n++)i.append(e[n],x()),A.nextNode(),c.push({type:2,index:++a});i.append(e[t],x())}}}else if(i.nodeType===8)if(i.data===ue)c.push({type:2,index:a});else{let e=-1;for(;(e=i.data.indexOf(y,e+1))!==-1;)c.push({type:7,index:a}),e+=y.length-1}a++}}static createElement(e,t){let n=b.createElement(`template`);return n.innerHTML=e,n}};function M(e,t,n=e,r){if(t===D)return t;let i=r===void 0?n._$Cl:n._$Co?.[r],a=S(t)?void 0:t._$litDirective$;return i?.constructor!==a&&(i?._$AO?.(!1),a===void 0?i=void 0:(i=new a(e),i._$AT(e,n,r)),r===void 0?n._$Cl=i:(n._$Co??=[])[r]=i),i!==void 0&&(t=M(e,i._$AS(e,t.values),i,r)),t}var be=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:t},parts:n}=this._$AD,r=(e?.creationScope??b).importNode(t,!0);A.currentNode=r;let i=A.nextNode(),a=0,o=0,s=n[0];for(;s!==void 0;){if(a===s.index){let t;s.type===2?t=new N(i,i.nextSibling,this,e):s.type===1?t=new s.ctor(i,s.name,s.strings,this,e):s.type===6&&(t=new we(i,this,e)),this._$AV.push(t),s=n[++o]}a!==s?.index&&(i=A.nextNode(),a++)}return A.currentNode=b,r}p(e){let t=0;for(let n of this._$AV)n!==void 0&&(n.strings===void 0?n._$AI(e[t]):(n._$AI(e,n,t),t+=n.strings.length-2)),t++}},N=class e{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,n,r){this.type=2,this._$AH=O,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=n,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&e?.nodeType===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=M(this,e,t),S(e)?e===O||e==null||e===``?(this._$AH!==O&&this._$AR(),this._$AH=O):e!==this._$AH&&e!==D&&this._(e):e._$litType$===void 0?e.nodeType===void 0?fe(e)?this.k(e):this._(e):this.T(e):this.$(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==O&&S(this._$AH)?this._$AA.nextSibling.data=e:this.T(b.createTextNode(e)),this._$AH=e}$(e){let{values:t,_$litType$:n}=e,r=typeof n==`number`?this._$AC(e):(n.el===void 0&&(n.el=j.createElement(ve(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===r)this._$AH.p(t);else{let e=new be(r,this),n=e.u(this.options);e.p(t),this.T(n),this._$AH=e}}_$AC(e){let t=k.get(e.strings);return t===void 0&&k.set(e.strings,t=new j(e)),t}k(t){C(this._$AH)||(this._$AH=[],this._$AR());let n=this._$AH,r,i=0;for(let a of t)i===n.length?n.push(r=new e(this.O(x()),this.O(x()),this,this.options)):r=n[i],r._$AI(a),i++;i<n.length&&(this._$AR(r&&r._$AB.nextSibling,i),n.length=i)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){let t=se(e).nextSibling;se(e).remove(),e=t}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},P=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,n,r,i){this.type=1,this._$AH=O,this._$AN=void 0,this.element=e,this.name=t,this._$AM=r,this.options=i,n.length>2||n[0]!==``||n[1]!==``?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=O}_$AI(e,t=this,n,r){let i=this.strings,a=!1;if(i===void 0)e=M(this,e,t,0),a=!S(e)||e!==this._$AH&&e!==D,a&&(this._$AH=e);else{let r=e,o,s;for(e=i[0],o=0;o<i.length-1;o++)s=M(this,r[n+o],t,o),s===D&&(s=this._$AH[o]),a||=!S(s)||s!==this._$AH[o],s===O?e=O:e!==O&&(e+=(s??``)+i[o+1]),this._$AH[o]=s}a&&!r&&this.j(e)}j(e){e===O?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??``)}},xe=class extends P{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===O?void 0:e}},Se=class extends P{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==O)}},Ce=class extends P{constructor(e,t,n,r,i){super(e,t,n,r,i),this.type=5}_$AI(e,t=this){if((e=M(this,e,t,0)??O)===D)return;let n=this._$AH,r=e===O&&n!==O||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,i=e!==O&&(n===O||r);r&&this.element.removeEventListener(this.name,this,n),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH==`function`?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},we=class{constructor(e,t,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){M(this,e)}},Te=_.litHtmlPolyfillSupport;Te?.(j,N),(_.litHtmlVersions??=[]).push(`3.3.2`);var Ee=(e,t,n)=>{let r=n?.renderBefore??t,i=r._$litPart$;if(i===void 0){let e=n?.renderBefore??null;r._$litPart$=i=new N(t.insertBefore(x(),e),e,void 0,n??{})}return i._$AI(e),i},F=globalThis,I=class extends g{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Ee(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return D}};I._$litElement$=!0,I.finalized=!0,F.litElementHydrateSupport?.({LitElement:I});var De=F.litElementPolyfillSupport;De?.({LitElement:I}),(F.litElementVersions??=[]).push(`4.2.2`);var L=[];for(let e=0;e<256;++e)L.push((e+256).toString(16).slice(1));function Oe(e,t=0){return(L[e[t+0]]+L[e[t+1]]+L[e[t+2]]+L[e[t+3]]+`-`+L[e[t+4]]+L[e[t+5]]+`-`+L[e[t+6]]+L[e[t+7]]+`-`+L[e[t+8]]+L[e[t+9]]+`-`+L[e[t+10]]+L[e[t+11]]+L[e[t+12]]+L[e[t+13]]+L[e[t+14]]+L[e[t+15]]).toLowerCase()}var R,ke=new Uint8Array(16);function Ae(){if(!R){if(typeof crypto>`u`||!crypto.getRandomValues)throw Error(`crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported`);R=crypto.getRandomValues.bind(crypto)}return R(ke)}var je={randomUUID:typeof crypto<`u`&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function Me(e,t,n){e||={};let r=e.random??e.rng?.()??Ae();if(r.length<16)throw Error(`Random bytes length must be >= 16`);if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){if(n||=0,n<0||n+16>t.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=r[e];return t}return Oe(r)}function Ne(e,t,n){return je.randomUUID&&!t&&!e?je.randomUUID():Me(e,t,n)}function Pe(e=`hp`){return`${e}-${Ne()}`}var z=class extends I{createRenderRoot(){return this}emit(e,t){let n=new CustomEvent(`hp-${e}`,{detail:t,bubbles:!0,composed:!0,cancelable:!0});return this.dispatchEvent(n),n}_hpId=Pe();get hpId(){return this._hpId}_abortController=null;get signal(){return(!this._abortController||this._abortController.signal.aborted)&&(this._abortController=new AbortController),this._abortController.signal}connectedCallback(){super.connectedCallback(),(!this._abortController||this._abortController.signal.aborted)&&(this._abortController=new AbortController)}disconnectedCallback(){super.disconnectedCallback(),this._abortController?.abort(),this._abortController=null}};function B(e){return function(t){typeof window<`u`&&(customElements.get(e)||customElements.define(e,t))}}var V=globalThis,H=V.ShadowRoot&&(V.ShadyCSS===void 0||V.ShadyCSS.nativeShadow)&&`adoptedStyleSheets`in Document.prototype&&`replace`in CSSStyleSheet.prototype,Fe=Symbol(),Ie=new WeakMap,Le=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==Fe)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(H&&e===void 0){let n=t!==void 0&&t.length===1;n&&(e=Ie.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&Ie.set(t,e))}return e}toString(){return this.cssText}},Re=e=>new Le(typeof e==`string`?e:e+``,void 0,Fe),ze=(e,t)=>{if(H)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let n of t){let t=document.createElement(`style`),r=V.litNonce;r!==void 0&&t.setAttribute(`nonce`,r),t.textContent=n.cssText,e.appendChild(t)}},Be=H?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t=``;for(let n of e.cssRules)t+=n.cssText;return Re(t)})(e):e,{is:Ve,defineProperty:He,getOwnPropertyDescriptor:Ue,getOwnPropertyNames:We,getOwnPropertySymbols:Ge,getPrototypeOf:Ke}=Object,U=globalThis,qe=U.trustedTypes,Je=qe?qe.emptyScript:``,Ye=U.reactiveElementPolyfillSupport,W=(e,t)=>e,G={toAttribute(e,t){switch(t){case Boolean:e=e?Je:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=e!==null;break;case Number:n=e===null?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch{n=null}}return n}},K=(e,t)=>!Ve(e,t),Xe={attribute:!0,type:String,converter:G,reflect:!1,useDefault:!1,hasChanged:K};Symbol.metadata??=Symbol(`metadata`),U.litPropertyMetadata??=new WeakMap;var q=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=Xe){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let n=Symbol(),r=this.getPropertyDescriptor(e,n,t);r!==void 0&&He(this.prototype,e,r)}}static getPropertyDescriptor(e,t,n){let{get:r,set:i}=Ue(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:r,set(t){let a=r?.call(this);i?.call(this,t),this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Xe}static _$Ei(){if(this.hasOwnProperty(W(`elementProperties`)))return;let e=Ke(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(W(`finalized`)))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(W(`properties`))){let e=this.properties,t=[...We(e),...Ge(e)];for(let n of t)this.createProperty(n,e[n])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(let[e,t]of this.elementProperties){let n=this._$Eu(e,t);n!==void 0&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let n=new Set(e.flat(1/0).reverse());for(let e of n)t.unshift(Be(e))}else e!==void 0&&t.push(Be(e));return t}static _$Eu(e,t){let n=t.attribute;return!1===n?void 0:typeof n==`string`?n:typeof e==`string`?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return ze(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$ET(e,t){let n=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,n);if(r!==void 0&&!0===n.reflect){let i=(n.converter?.toAttribute===void 0?G:n.converter).toAttribute(t,n.type);this._$Em=e,i==null?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(e,t){let n=this.constructor,r=n._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let e=n.getPropertyOptions(r),i=typeof e.converter==`function`?{fromAttribute:e.converter}:e.converter?.fromAttribute===void 0?G:e.converter;this._$Em=r;let a=i.fromAttribute(t,e.type);this[r]=a??this._$Ej?.get(r)??a,this._$Em=null}}requestUpdate(e,t,n,r=!1,i){if(e!==void 0){let a=this.constructor;if(!1===r&&(i=this[e]),n??=a.getPropertyOptions(e),!((n.hasChanged??K)(i,t)||n.useDefault&&n.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(a._$Eu(e,n))))return;this.C(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:n,reflect:r,wrapped:i},a){n&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,a??t??this[e]),!0!==i||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||n||(t=void 0),this._$AL.set(e,t)),!0===r&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}let e=this.constructor.elementProperties;if(e.size>0)for(let[t,n]of e){let{wrapped:e}=n,r=this[t];!0!==e||this._$AL.has(t)||r===void 0||this.C(t,void 0,n,r)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}};q.elementStyles=[],q.shadowRootOptions={mode:`open`},q[W(`elementProperties`)]=new Map,q[W(`finalized`)]=new Map,Ye?.({ReactiveElement:q}),(U.reactiveElementVersions??=[]).push(`2.1.2`);var Ze={attribute:!0,type:String,converter:G,reflect:!1,hasChanged:K},Qe=(e=Ze,t,n)=>{let{kind:r,metadata:i}=n,a=globalThis.litPropertyMetadata.get(i);if(a===void 0&&globalThis.litPropertyMetadata.set(i,a=new Map),r===`setter`&&((e=Object.create(e)).wrapped=!0),a.set(n.name,e),r===`accessor`){let{name:r}=n;return{set(n){let i=t.get.call(this);t.set.call(this,n),this.requestUpdate(r,i,e,!0,n)},init(t){return t!==void 0&&this.C(r,void 0,e,t),t}}}if(r===`setter`){let{name:r}=n;return function(n){let i=this[r];t.call(this,n),this.requestUpdate(r,i,e,!0,n)}}throw Error(`Unsupported decorator location: `+r)};function J(e){return(t,n)=>typeof n==`object`?Qe(e,t,n):((e,t,n)=>{let r=t.hasOwnProperty(n);return t.constructor.createProperty(n,e),r?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n)}function Y(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}var X=class extends z{_input=null;disabled=!1;connectedCallback(){super.connectedCallback(),this._ensureInput(),this._sync()}get nativeInput(){return this._input}_ensureInput(){if(this._input)return;let e=this.querySelector(`input[type='text']`);if(e){this._input=e;return}let t=document.createElement(`input`);t.type=`text`,t.autocomplete=`off`,this.appendChild(t),this._input=t}_sync(){this._input&&(this._input.disabled=this.disabled,this._input.setAttribute(`aria-disabled`,String(this.disabled)))}};Y([J({type:Boolean,reflect:!0})],X.prototype,`disabled`,void 0),X=Y([B(`hp-combobox-input`)],X);var Z=class extends z{};Z=Y([B(`hp-combobox-content`)],Z);var Q=class extends z{_value=``;get value(){return this._value}set value(e){this._value=e}disabled=!1};Y([J({type:String,reflect:!0})],Q.prototype,`value`,null),Y([J({type:Boolean,reflect:!0})],Q.prototype,`disabled`,void 0),Q=Y([B(`hp-combobox-option`)],Q);var $=class extends z{_inputControl=null;_inputElement=null;_content=null;_options=[];_filteredOptions=[];_open=!1;_value=null;_inputValue=``;_highlightedIndex=-1;_rafId=null;_scrollParents=[];_isInputBound=!1;_isContentBound=!1;_isGlobalListenerBound=!1;_suppressFocusOpen=!1;_prevOpen=!1;disabled=!1;placeholder=``;get open(){return this._open}set open(e){this._open=!!e,this._sync()}get value(){return this._value}set value(e){if(this._value=e,e!==null){let t=this._options.find(t=>t.value===e);t&&(this._inputValue=t.textContent?.trim()||``)}this._sync()}connectedCallback(){super.connectedCallback(),this.setAttribute(`data-hp-component`,`combobox`),this._setupRefs(),this._bind(),this._sync(),requestAnimationFrame(()=>{this._setupRefs(),this._bind(),this._sync()})}disconnectedCallback(){super.disconnectedCallback(),this._removeGlobalListeners()}_setupRefs(){this._inputControl=this.querySelector(`hp-combobox-input`),this._content=this.querySelector(`hp-combobox-content`),this._options=Array.from(this.querySelectorAll(`hp-combobox-option`)),this._inputElement=this._inputControl?.nativeInput||this.querySelector(`input[type='text']`)}_bind(){this._inputElement&&!this._isInputBound&&(this._inputElement.addEventListener(`input`,this._onInput),this._inputElement.addEventListener(`keydown`,this._onInputKeyDown),this._inputElement.addEventListener(`focus`,this._onInputFocus),this._isInputBound=!0),this._content&&!this._isContentBound&&(this._content.addEventListener(`click`,this._onOptionClick),this._isContentBound=!0)}_computePosition(){if(!this._inputElement||!this._content)return;let e=this.getBoundingClientRect(),t=this._inputElement.getBoundingClientRect(),n=t.left-e.left,r=t.top-e.top+t.height+6;this._content.style.left=`${n}px`,this._content.style.top=`${r}px`,this._content.style.minWidth=`${t.width}px`}_startPositionLoop(){let e=()=>{this._open&&(this._computePosition(),this._rafId=requestAnimationFrame(e))};this._rafId=requestAnimationFrame(e)}_stopPositionLoop(){this._rafId!==null&&(cancelAnimationFrame(this._rafId),this._rafId=null)}_onInput=()=>{this._inputElement&&(this._inputValue=this._inputElement.value,this._open?this._sync():this.open=!0)};_onInputFocus=()=>{this.disabled||this._suppressFocusOpen||(this.open=!0)};_onInputKeyDown=e=>{if(this.disabled)return;let t=e.key;if(t===`ArrowDown`){if(e.preventDefault(),!this._open){this.open=!0;return}this._moveActive(1)}else if(t===`ArrowUp`){if(e.preventDefault(),!this._open){this.open=!0;return}this._moveActive(-1)}else if(t===`Home`)e.preventDefault(),this._moveToEdge(`first`);else if(t===`End`)e.preventDefault(),this._moveToEdge(`last`);else if(t===`Enter`){if(this._open&&this._highlightedIndex>=0){e.preventDefault();let t=this._filteredOptions[this._highlightedIndex];t&&!t.disabled&&this._selectOption(t)}}else t===`Escape`&&this._open&&(e.preventDefault(),this.close())};_onOptionClick=e=>{let t=e.target.closest(`hp-combobox-option`);!t||t.disabled||this._selectOption(t)};_filterOptions(){let e=this._inputValue.trim().toLowerCase();this._filteredOptions=this._options.filter(t=>{let n=t.textContent?.trim().toLowerCase()||``;return e.length===0||n.includes(e)})}_syncOptions(){for(let e of this._options){let t=this._filteredOptions.includes(e);e.setAttribute(`role`,`option`),e.setAttribute(`aria-selected`,String(e.value===this._value)),e.setAttribute(`aria-disabled`,String(e.disabled)),e.setAttribute(`aria-hidden`,String(!t)),e.setAttribute(`data-state`,t?`visible`:`hidden`)}this._open&&(this._filteredOptions.length===0?this._highlightedIndex=-1:(this._highlightedIndex<0||this._highlightedIndex>=this._filteredOptions.length)&&this._setActiveIndex(0))}_setActiveIndex(e){if(e<0||e>=this._filteredOptions.length){this._highlightedIndex=-1,this._inputElement&&this._inputElement.removeAttribute(`aria-activedescendant`);return}this._highlightedIndex=e;let t=this._filteredOptions[e];t&&(t.id||=`hp-combobox-option-${t.hpId}`,this._inputElement&&this._inputElement.setAttribute(`aria-activedescendant`,t.id),t.scrollIntoView({block:`nearest`}),this._emitHighlight())}_moveActive(e){if(this._filteredOptions.length===0)return;let t=(this._highlightedIndex+e+this._filteredOptions.length)%this._filteredOptions.length;this._setActiveIndex(t)}_moveToEdge(e){if(this._filteredOptions.length===0)return;let t=e===`first`?0:this._filteredOptions.length-1;this._setActiveIndex(t)}_selectOption(e){let t=e.textContent?.trim()||``;this._value=e.value,this._inputValue=t,this._syncSelection(),this._emitChange(),this._suppressFocusOpen=!0,this.close(),this._suppressFocusOpen=!1}_syncSelection(){for(let e of this._options)e.setAttribute(`aria-selected`,String(e.value===this._value));this._inputElement&&(this._inputElement.value=this._inputValue)}_sync(){if(this._setupRefs(),this._filterOptions(),this._inputElement){if(this._inputElement.disabled=this.disabled,this._inputElement.placeholder=this.placeholder,this._inputElement.setAttribute(`role`,`combobox`),this._inputElement.setAttribute(`aria-expanded`,String(this._open)),this._inputElement.setAttribute(`aria-autocomplete`,`list`),this._inputElement.setAttribute(`aria-disabled`,String(this.disabled)),this._inputElement.setAttribute(`aria-controls`,this._content?.id||``),this._highlightedIndex>=0&&this._filteredOptions[this._highlightedIndex]){let e=this._filteredOptions[this._highlightedIndex];e.id||=`hp-combobox-option-${e.hpId}`,this._inputElement.setAttribute(`aria-activedescendant`,e.id)}else this._inputElement.removeAttribute(`aria-activedescendant`);this._inputElement.value=this._inputValue}if(this._content&&(this._content.setAttribute(`role`,`listbox`),this._content.setAttribute(`data-state`,this._open?`open`:`closed`),this._content.setAttribute(`aria-hidden`,String(!this._open)),this._content.id||(this._content.id=`hp-combobox-content-${this.hpId}`),this._inputElement&&this._inputElement.setAttribute(`aria-controls`,this._content.id)),this._syncOptions(),this._open){if(this._computePosition(),this._startPositionLoop(),!this._isGlobalListenerBound){document.addEventListener(`click`,this._onClickOutside),document.addEventListener(`keydown`,this._onGlobalKeydown),this._scrollParents=this._getScrollParents(this._inputElement||this);for(let e of this._scrollParents)e.addEventListener(`scroll`,this._onScrollOrResize,{passive:!0});window.addEventListener(`resize`,this._onScrollOrResize,{passive:!0}),this._isGlobalListenerBound=!0}this._prevOpen||this.emit(`open`)}else this._stopPositionLoop(),this._removeGlobalListeners(),this._prevOpen&&this.emit(`close`);this._prevOpen=this._open}_getScrollParents(e){let t=[],n=e.parentElement;for(;n;){let{overflow:e,overflowY:r,overflowX:i}=getComputedStyle(n);/auto|scroll|overlay/.test(e+r+i)&&t.push(n),n=n.parentElement}return t.push(window),t}_removeGlobalListeners(){document.removeEventListener(`click`,this._onClickOutside),document.removeEventListener(`keydown`,this._onGlobalKeydown);for(let e of this._scrollParents)e.removeEventListener(`scroll`,this._onScrollOrResize);this._scrollParents=[],window.removeEventListener(`resize`,this._onScrollOrResize),this._isGlobalListenerBound=!1}_onClickOutside=e=>{if(!this._open||!this._content)return;let t=e.target;this.contains(t)||this._closeWithoutFocus()};_onGlobalKeydown=e=>{e.key===`Escape`&&this._open&&(e.preventDefault(),this.close())};_onScrollOrResize=()=>{this._open&&this.close()};openCombobox(e){this.disabled||(this.open=!0,e&&this._moveToEdge(e))}close(){this.open=!1,this._inputElement?.focus()}_closeWithoutFocus(){this.open=!1}toggle(){this.open=!this.open}select(e){let t=this._options.find(t=>t.value===e);t&&!t.disabled&&this._selectOption(t)}clear(){this._value=null,this._inputValue=``,this._syncSelection(),this._emitChange()}_emitChange(){let e=this._options.find(e=>e.value===this._value)||null,t={value:this._value,label:e?.textContent?.trim()||null,item:e};this.emit(`change`,t)}_emitHighlight(){let e=this._filteredOptions[this._highlightedIndex]||null,t={value:e?.value||null,label:e?.textContent?.trim()||null,item:e};this.emit(`highlight`,t)}};Y([J({type:Boolean,reflect:!0})],$.prototype,`disabled`,void 0),Y([J({type:String,reflect:!0})],$.prototype,`placeholder`,void 0),Y([J({type:Boolean,reflect:!0})],$.prototype,`open`,null),Y([J({type:String,reflect:!0})],$.prototype,`value`,null),$=Y([B(`hp-combobox`)],$),Object.defineProperty(e,`HeadlessCombobox`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(e,`HeadlessComboboxContent`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(e,`HeadlessComboboxInput`,{enumerable:!0,get:function(){return X}}),Object.defineProperty(e,`HeadlessComboboxOption`,{enumerable:!0,get:function(){return Q}})}); |
+2
-2
| { | ||
| "name": "@headless-primitives/combobox", | ||
| "version": "1.0.0", | ||
| "version": "1.1.0", | ||
| "description": "Headless primitive para combobox accesible", | ||
@@ -24,3 +24,3 @@ "files": [ | ||
| "lit": "^3.3.2", | ||
| "@headless-primitives/utils": "1.0.0" | ||
| "@headless-primitives/utils": "1.1.0" | ||
| }, | ||
@@ -27,0 +27,0 @@ "peerDependencies": { |
78397
1.21%1174
0.86%+ Added
- Removed