PageSourceSearch

https://www.brandonflowersmusic.com/wp-content/plugins/umg-newsletter/public/dist/public.js?ver=2.1.0

js brandonflowersmusic.com collected 2026-09-24 21:24:26 UTC 563,323 bytes, 9,009 lines download raw bytes

vendor: 6,721 bytes, lines 1-2
1/*! For license information please see public.js.LICENSE.txt */
2(()=>{"use strict";var e,t,o,i,r,a,s={764:(e,t,o)=>{function i(e,t,o,i){var r,a=arguments.length,s=a<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,i);else for(var n=e.length-1;n>=0;n--)(r=e[n])&&(s=(a<3?r(s):a>3?r(t,o,s):r(t,o))||s);return a>3&&s&&Object.defineProperty(t,o,s),s}o.d(t,{jP:()=>Fe,RF:()=>fi}),"function"==typeof SuppressedError&&SuppressedError;const r=globalThis,a=r.trustedTypes,s=a?a.createPolicy("lit-html",{createHTML:e=>e}):void 0,n="$lit$",l=`lit$${Math.random().toFixed(9).slice(2)}$`,d="?"+l,p=`<${d}>`,c=document,u=()=>c.createComment(""),h=e=>null===e||"object"!=typeof e&&"function"!=typeof e,g=Array.isArray,m=e=>g(e)||"function"==typeof e?.[Symbol.iterator],b="[ \t\n\f\r]",f=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v=/-->/g,y=/>/g,w=RegExp(`>|${b}(?:([^\\s"'>=/]+)(${b}*=${b}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),x=/'/g,_=/"/g,k=/^(?:script|style|textarea|title)$/i,C=e=>(t,...o)=>({_$litType$:e,strings:t,values:o}),$=C(1),S=(C(2),C(3),Symbol.for("lit-noChange")),z=Symbol.for("lit-nothing"),A=new WeakMap,P=c.createTreeWalker(c,129);function N(e,t){if(!g(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==s?s.createHTML(t):t}const E=(e,t)=>{const o=e.length-1,i=[];let r,a=2===t?"<svg>":3===t?"<math>":"",s=f;for(let t=0;t<o;t++){const o=e[t];let d,c,u=-1,h=0;for(;h<o.length&&(s.lastIndex=h,c=s.exec(o),null!==c);)h=s.lastIndex,s===f?"!--"===c[1]?s=v:void 0!==c[1]?s=y:void 0!==c[2]?(k.test(c[2])&&(r=RegExp("</"+c[2],"g")),s=w):void 0!==c[3]&&(s=w):s===w?">"===c[0]?(s=r??f,u=-1):void 0===c[1]?u=-2:(u=s.lastIndex-c[2].length,d=c[1],s=void 0===c[3]?w:'"'===c[3]?_:x):s===_||s===x?s=w:s===v||s===y?s=f:(s=w,r=void 0);const g=s===w&&e[t+1].startsWith("/>")?" ":"";a+=s===f?o+p:u>=0?(i.push(d),o.slice(0,u)+n+o.slice(u)+l+g):o+l+(-2===u?t:g)}return[N(e,a+(e[o]||"<?>")+(2===t?"</svg>":3===t?"</math>":"")),i]};class B{constructor({strings:e,_$litType$:t},o){let i;this.parts=[];let r=0,s=0;const p=e.length-1,c=this.parts,[h,g]=E(e,t);if(this.el=B.createElement(h,o),P.currentNode=this.el.content,2===t||3===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(i=P.nextNode())&&c.length<p;){if(1===i.nodeType){if(i.hasAttributes())for(const e of i.getAttributeNames())if(e.endsWith(n)){const t=g[s++],o=i.getAttribute(e).split(l),a=/([.?@])?(.*)/.exec(t);c.push({type:1,index:r,name:a[2],strings:o,ctor:"."===a[1]?O:"?"===a[1]?L:"@"===a[1]?H:j}),i.removeAttribute(e)}else e.startsWith(l)&&(c.push({type:6,index:r}),i.removeAttribute(e));if(k.test(i.tagName)){const e=i.textContent.split(l),t=e.length-1;if(t>0){i.textContent=a?a.emptyScript:"";for(let o=0;o<t;o++)i.append(e[o],u()),P.nextNode(),c.push({type:2,index:++r});i.append(e[t],u())}}}else if(8===i.nodeType)if(i.data===d)c.push({type:2,index:r});else{let e=-1;for(;-1!==(e=i.data.indexOf(l,e+1));)c.push({type:7,index:r}),e+=l.length-1}r++}}static createElement(e,t){const o=c.createElement("template");return o.innerHTML=e,o}}function T(e,t,o=e,i){if(t===S)return t;let r=void 0!==i?o._$Co?.[i]:o._$Cl;const a=h(t)?void 0:t._$litDirective$;return r?.constructor!==a&&(r?._$AO?.(!1),void 0===a?r=void 0:(r=new a(e),r._$AT(e,o,i)),void 0!==i?(o._$Co??=[])[i]=r:o._$Cl=r),void 0!==r&&(t=T(e,r._$AS(e,t.values),r,i)),t}class I{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){const{el:{content:t},parts:o}=this._$AD,i=(e?.creationScope??c).importNode(t,!0);P.currentNode=i;let r=P.nextNode(),a=0,s=0,n=o[0];for(;void 0!==n;){if(a===n.index){let t;2===n.type?t=new M(r,r.nextSibling,this,e):1===n.type?t=new n.ctor(r,n.name,n.strings,this,e):6===n.type&&(t=new V(r,this,e)),this._$AV.push(t),n=o[++s]}a!==n?.index&&(r=P.nextNode(),a++)}return P.currentNode=c,i}p(e){let t=0;for(const o of this._$AV)void 0!==o&&(void 0!==o.strings?(o._$AI(e,o,t),t+=o.strings.length-2):o._$AI(e[t])),t++}}class M{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,o,i){this.type=2,this._$AH=z,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=o,this.options=i,this._$Cv=i?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode;const t=this._$AM;return void 0!==t&&11===e?.nodeType&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=T(this,e,t),h(e)?e===z||null==e||""===e?(this._$AH!==z&&this._$AR(),this._$AH=z):e!==this._$AH&&e!==S&&this._(e):void 0!==e._$litType$?this.$(e):void 0!==e.nodeType?this.T(e):m(e)?this.k(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!==z&&h(this._$AH)?this._$AA.nextSibling.data=e:this.T(c.createTextNode(e)),this._$AH=e}$(e){const{values:t,_$litType$:o}=e,i="number"==typeof o?this._$AC(e):(void 0===o.el&&(o.el=B.createElement(N(o.h,o.h[0]),this.options)),o);if(this._$AH?._$AD===i)this._$AH.p(t);else{const e=new I(i,this),o=e.u(this.options);e.p(t),this.T(o),this._$AH=e}}_$AC(e){let t=A.get(e.strings);return void 0===t&&A.set(e.strings,t=new B(e)),t}k(e){g(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let o,i=0;for(const r of e)i===t.length?t.push(o=new M(this.O(u()),this.O(u()),this,this.options)):o=t[i],o._$AI(r),i++;i<t.length&&(this._$AR(o&&o._$AB.nextSibling,i),t.length=i)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){const t=e.nextSibling;e.remove(),e=t}}setConnected(e){void 0===this._$AM&&(this._$Cv=e,this._$AP?.(e))}}class j{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,o,i,r){this.type=1,this._$AH=z,this._$AN=void 0,this.element=e,this.name=t,this._$AM=i,this.options=r,o.length>2||""!==o[0]||""!==o[1]?(this._$AH=Array(o.length-1).fill(new String),this.strings=o):this._$AH=z}_$AI(e,t=this,o,i){const r=this.strings;let a=!1;if(void 0===r)e=T(this,e,t,0),a=!h(e)||e!==this._$AH&&e!==S,a&&(this._$AH=e);else{const i=e;let s,n;for(e=r[0],s=0;s<r.length-1;s++)n=T(this,i[o+s],t,s),n===S&&(n=this._$AH[s]),a||=!h(n)||n!==this._$AH[s],n===z?e=z:e!==z&&(e+=(n??"")+r[s+1]),this._$AH[s]=n}a&&!i&&this.j(e)}j(e){e===z?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class O extends j{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===z?void 0:e}}class L extends j{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==z)}}class H extends j{constructor(e,t,o,i,r){super(e,t,o,i,r),this.type=5}
vendor: 5,616 bytes, line 2
2_$AI(e,t=this){if((e=T(this,e,t,0)??z)===S)return;const o=this._$AH,i=e===z&&o!==z||e.capture!==o.capture||e.once!==o.once||e.passive!==o.passive,r=e!==z&&(o===z||i);i&&this.element.removeEventListener(this.name,this,o),r&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}}class V{constructor(e,t,o){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=o}get _$AU(){return this._$AM._$AU}_$AI(e){T(this,e)}}const D={M:n,P:l,A:d,C:1,L:E,R:I,D:m,V:T,I:M,H:j,N:L,U:H,B:O,F:V},R=r.litHtmlPolyfillSupport;R?.(B,M),(r.litHtmlVersions??=[]).push("3.3.2");const F=1,W=2,U=3,G=4,q=e=>(...t)=>({_$litDirective$:e,values:t});class K{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,o){this._$Ct=e,this._$AM=t,this._$Ci=o}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}const J=q(class extends K{constructor(e){if(super(e),e.type!==F||"class"!==e.name||e.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(e){return" "+Object.keys(e).filter((t=>e[t])).join(" ")+" "}update(e,[t]){if(void 0===this.st){this.st=new Set,void 0!==e.strings&&(this.nt=new Set(e.strings.join(" ").split(/\s/).filter((e=>""!==e))));for(const e in t)t[e]&&!this.nt?.has(e)&&this.st.add(e);return this.render(t)}const o=e.element.classList;for(const e of this.st)e in t||(o.remove(e),this.st.delete(e));for(const e in t){const i=!!t[e];i===this.st.has(e)||this.nt?.has(e)||(i?(o.add(e),this.st.add(e)):(o.remove(e),this.st.delete(e)))}return S}}),X=globalThis,Y=X.ShadowRoot&&(void 0===X.ShadyCSS||X.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Z=Symbol(),Q=new WeakMap;class ee{constructor(e,t,o){if(this._$cssResult$=!0,o!==Z)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(Y&&void 0===e){const o=void 0!==t&&1===t.length;o&&(e=Q.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),o&&Q.set(t,e))}return e}toString(){return this.cssText}}const te=(e,...t)=>{const o=1===e.length?e[0]:t.reduce(((t,o,i)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(o)+e[i+1]),e[0]);return new ee(o,e,Z)},oe=Y?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const o of e.cssRules)t+=o.cssText;return(e=>new ee("string"==typeof e?e:e+"",void 0,Z))(t)})(e):e,{is:ie,defineProperty:re,getOwnPropertyDescriptor:ae,getOwnPropertyNames:se,getOwnPropertySymbols:ne,getPrototypeOf:le}=Object,de=globalThis,pe=de.trustedTypes,ce=pe?pe.emptyScript:"",ue=de.reactiveElementPolyfillSupport,he=(e,t)=>e,ge={toAttribute(e,t){switch(t){case Boolean:e=e?ce:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let o=e;switch(t){case Boolean:o=null!==e;break;case Number:o=null===e?null:Number(e);break;case Object:case Array:try{o=JSON.parse(e)}catch(e){o=null}}return o}},me=(e,t)=>!ie(e,t),be={attribute:!0,type:String,converter:ge,reflect:!1,useDefault:!1,hasChanged:me};Symbol.metadata??=Symbol("metadata"),de.litPropertyMetadata??=new WeakMap;class fe 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=be){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){const o=Symbol(),i=this.getPropertyDescriptor(e,o,t);void 0!==i&&re(this.prototype,e,i)}}static getPropertyDescriptor(e,t,o){const{get:i,set:r}=ae(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:i,set(t){const a=i?.call(this);r?.call(this,t),this.requestUpdate(e,a,o)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??be}static _$Ei(){if(this.hasOwnProperty(he("elementProperties")))return;const e=le(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(he("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(he("properties"))){const e=this.properties,t=[...se(e),...ne(e)];for(const o of t)this.createProperty(o,e[o])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,o]of t)this.elementProperties.set(e,o)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const o=this._$Eu(e,t);void 0!==o&&this._$Eh.set(o,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const o=new Set(e.flat(1/0).reverse());for(const e of o)t.unshift(oe(e))}else void 0!==e&&t.push(oe(e));return t}static _$Eu(e,t){const o=t.attribute;return!1===o?void 0:"string"==typeof o?o:"string"==typeof e?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),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}
vendor: 13,425 bytes, lines 2-151
2removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const o of t.keys())this.hasOwnProperty(o)&&(e.set(o,this[o]),delete this[o]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((e,t)=>{if(Y)e.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet));else for(const o of t){const t=document.createElement("style"),i=X.litNonce;void 0!==i&&t.setAttribute("nonce",i),t.textContent=o.cssText,e.appendChild(t)}})(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,o){this._$AK(e,o)}_$ET(e,t){const o=this.constructor.elementProperties.get(e),i=this.constructor._$Eu(e,o);if(void 0!==i&&!0===o.reflect){const r=(void 0!==o.converter?.toAttribute?o.converter:ge).toAttribute(t,o.type);this._$Em=e,null==r?this.removeAttribute(i):this.setAttribute(i,r),this._$Em=null}}_$AK(e,t){const o=this.constructor,i=o._$Eh.get(e);if(void 0!==i&&this._$Em!==i){const e=o.getPropertyOptions(i),r="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:ge;this._$Em=i;const a=r.fromAttribute(t,e.type);this[i]=a??this._$Ej?.get(i)??a,this._$Em=null}}requestUpdate(e,t,o,i=!1,r){if(void 0!==e){const a=this.constructor;if(!1===i&&(r=this[e]),o??=a.getPropertyOptions(e),!((o.hasChanged??me)(r,t)||o.useDefault&&o.reflect&&r===this._$Ej?.get(e)&&!this.hasAttribute(a._$Eu(e,o))))return;this.C(e,t,o)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:o,reflect:i,wrapped:r},a){o&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,a??t??this[e]),!0!==r||void 0!==a)||(this._$AL.has(e)||(this.hasUpdated||o||(t=void 0),this._$AL.set(e,t)),!0===i&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,o]of e){const{wrapped:e}=o,i=this[t];!0!==e||this._$AL.has(t)||void 0===i||this.C(t,void 0,o,i)}}let e=!1;const 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){}}fe.elementStyles=[],fe.shadowRootOptions={mode:"open"},fe[he("elementProperties")]=new Map,fe[he("finalized")]=new Map,ue?.({ReactiveElement:fe}),(de.reactiveElementVersions??=[]).push("2.1.2");const ve=globalThis;class ye extends fe{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=((e,t,o)=>{const i=o?.renderBefore??t;let r=i._$litPart$;if(void 0===r){const e=o?.renderBefore??null;i._$litPart$=r=new M(t.insertBefore(u(),e),e,void 0,o??{})}return r._$AI(e),r})(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return S}}ye._$litElement$=!0,ye.finalized=!0,ve.litElementHydrateSupport?.({LitElement:ye});const we=ve.litElementPolyfillSupport;we?.({LitElement:ye});(ve.litElementVersions??=[]).push("4.2.2");const xe={attribute:!0,type:String,converter:ge,reflect:!1,hasChanged:me},_e=(e=xe,t,o)=>{const{kind:i,metadata:r}=o;let a=globalThis.litPropertyMetadata.get(r);if(void 0===a&&globalThis.litPropertyMetadata.set(r,a=new Map),"setter"===i&&((e=Object.create(e)).wrapped=!0),a.set(o.name,e),"accessor"===i){const{name:i}=o;return{set(o){const r=t.get.call(this);t.set.call(this,o),this.requestUpdate(i,r,e,!0,o)},init(t){return void 0!==t&&this.C(i,void 0,e,t),t}}}if("setter"===i){const{name:i}=o;return function(o){const r=this[i];t.call(this,o),this.requestUpdate(i,r,e,!0,o)}}throw Error("Unsupported decorator location: "+i)};function ke(e){return(t,o)=>"object"==typeof o?_e(e,t,o):((e,t,o)=>{const i=t.hasOwnProperty(o);return t.constructor.createProperty(o,e),i?Object.getOwnPropertyDescriptor(t,o):void 0})(e,t,o)}function Ce(e){return ke({...e,state:!0,attribute:!1})}const $e=(e,t,o)=>(o.configurable=!0,o.enumerable=!0,Reflect.decorate&&"object"!=typeof t&&Object.defineProperty(e,t,o),o);function Se(e,t){return(o,i,r)=>{const a=t=>t.renderRoot?.querySelector(e)??null;if(t){const{get:e,set:t}="object"==typeof i?o:r??(()=>{const e=Symbol();return{get(){return this[e]},set(t){this[e]=t}}})();return $e(o,i,{get(){let o=e.call(this);return void 0===o&&(o=a(this),(null!==o||this.hasUpdated)&&t.call(this,o)),o}})}return $e(o,i,{get(){return a(this)}})}}let ze;function Ae(e){return(t,o)=>{const{slot:i,selector:r}=e??{},a="slot"+(i?`[name=${i}]`:":not([name])");return $e(t,o,{get(){const t=this.renderRoot?.querySelector(a),o=t?.assignedElements(e)??[];return void 0===r?o:o.filter((e=>e.matches(r)))}})}}function Pe(e,t,o){return new Promise((i=>{if(o?.duration===1/0)throw new Error("Promise-based animations must be finite.");const r=e.animate(t,{...o,duration:Ne()?0:o.duration});r.addEventListener("cancel",i,{once:!0}),r.addEventListener("finish",i,{once:!0})}))}function Ne(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}function Ee(e){return Promise.all(e.getAnimations().map((e=>new Promise((t=>{e.cancel(),requestAnimationFrame(t)})))))}function Be(e,t){return e.map((e=>({...e,height:"auto"===e.height?`${t}px`:e.height})))}function Te(e,t){const o={waitUntilFirstUpdate:!1,...t};return(t,i)=>{const{update:r}=t,a=Array.isArray(e)?e:[e];t.update=function(e){a.forEach((t=>{const r=t;if(e.has(r)){const t=e.get(r),a=this[r];t!==a&&(o.waitUntilFirstUpdate&&!this.hasUpdated||this[i](t,a))}})),r.call(this,e)}}}const Ie=[te`
3    :host {
4        display: block;
5        --foreground-color: var(--pu-accordion-color-foreground, var(--pu-color-foreground));
6        --background-color: var(--pu-accordion-color-background, var(--pu-color-background));
7        --header-foreground-color: var(--pu-accordion-header-color-foreground, var(--foreground-color));
8        --header-background-color: var(--pu-accordion-header-color-background, var(--background-color));
9        --border-color: var(--pu-accordion-border-color, var(--pu-color-border));
10    }
11    ::slotted(*[slot='header']) {
12        flex: 0 1 auto;
13        --pu-color-foreground: var(--pu-accordion-header-color-foreground, var(--foreground-color));
14    }
15
16    .accordion {
17        font-family: var(--pu-text-body-family);
18        overflow: hidden;
19        background-color: rgb(from var(--background-color) r g b / alpha);
20        outline-style: solid;
21        outline-color: rgb(from var(--border-color) r g b / alpha);
22        outline-width: var(--pu-accordion-border-width, 0);
23        border-radius: var(--pu-accordion-border-radius);
24    }
25
26    .accordion--grouped {
27        outline: none;
28        border-radius: 0;
29    }
30
31    .accordion__icon {
32        transition: all 0.2s;
33        transform: rotate(-90deg); /* Closed: points right */
34    }
35
36    .accordion--open .accordion__summary--icon-flip .accordion__icon {
37        transition: all 0.2s;
38        transform: rotate(0deg); /* Open: points down */
39    }
40
41    /** Summary */
42    details summary::-webkit-details-marker {
43        display: none;
44    }
45
46    .accordion__summary {
47        cursor: pointer;
48        list-style: none;
49
50        display: flex;
51        align-items: center;
52        justify-content: space-between;
53        gap: var(--pu-space-200, 0.5em);
54        padding: var(--pu-accordion-header-space-padding, 0.5em 1em);
55        position: relative;
56        min-height: 2.5em;
57        width: 100%;
58        z-index: 2;
59
60        color: rgb(from var(--header-foreground-color) r g b / alpha);
61        background-color: rgb(from var(--header-background-color) r g b / alpha);
62
63        -webkit-tap-highlight-color: transparent;
64    }
65
66    /** Rotate icon if .accordion__summary--icon-flip */
67    .accordion__summary > * {
68        transition: transform 0.2s ease;
69        transform: rotate(-90deg); /* Closed: points right */
70        --pu-icon-color-foreground: var(--header-foreground-color);
71    }
72    .accordion--open .accordion__summary--icon-flip > * {
73        transform: rotate(0deg); /* Open: points down */
74    }
75
76    /** Details - Container (animated via Web Animations API) */
77    .accordion__details {
78        overflow: hidden;
79    }
80
81    /** Content inside details gets the padding and styling */
82    ::slotted([slot='content']) {
83        display: block;
84        padding: var(--pu-accordion-content-space-padding, 2em 1em);
85        color: rgb(from var(--foreground-color, inherit) r g b);
86
87        --pu-color-foreground: var(--foreground-color);
88        --pu-color-background: var(--background-color);
89    }
90`,te`
91    /** Summary justify content */
92    .accordion__summary--justify-center {
93        justify-content: center;
94    }
95    .accordion__summary--justify-end {
96        justify-content: end;
97    }
98    .accordion__summary--justify-start {
99        justify-content: start;
100    }
101    .accordion__summary--justify-space-between {
102        justify-content: space-between;
103    }
104    .accordion__summary--justify-space-around {
105        justify-content: space-around;
106    }
107    .accordion__summary--justify-space-evenly {
108        justify-content: space-evenly;
109    }
110    .accordion__summary--justify-stretch {
111        justify-content: stretch;
112    }
113    .accordion__summary--justify-baseline {
114        justify-content: baseline;
115    }
116
117    /** Summary icon position */
118    .accordion__summary--icon-position-left {
119        flex-direction: row-reverse;
120    }
121`];var Me=te`
122    :host {
123        box-sizing: border-box;
124        font-size: var(--pu-font-size, 16px);
125    }
126
127    :host *,
128    :host *::before,
129    :host *::after {
130        box-sizing: border-box;
131    }
132`;function je(e){switch(e){case"xsmall":return"var(--pu-text-body-size-xs, 0.5em)";case"small":return"var(--pu-text-body-size-sm, 0.875em)";case"medium":return"var(--pu-text-body-size-md, 1em)";case"large":return"var(--pu-text-body-size-lg, 1.25em)";case"xlarge":return"var(--pu-text-body-size-xl, 1.5em)";case"2xlarge":return"var(--pu-text-body-size-2xl, 1.75em)";case"3xlarge":return"var(--pu-text-body-size-3xl, 2em)";case"4xlarge":return"var(--pu-font-size-900, 3em)";case"5xlarge":return"var(--pu-font-size-1000, 4em)"}}const Oe="important",Le=" !"+Oe,He=q(class extends K{constructor(e){if(super(e),e.type!==F||"style"!==e.name||e.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce(((t,o)=>{const i=e[o];return null==i?t:t+`${o=o.includes("-")?o:o.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${i};`}),"")}update(e,[t]){const{style:o}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(t)),this.render(t);for(const e of this.ft)null==t[e]&&(this.ft.delete(e),e.includes("-")?o.removeProperty(e):o[e]=null);for(const e in t){const i=t[e];if(null!=i){this.ft.add(e);const t="string"==typeof i&&i.endsWith(Le);e.includes("-")||t?o.setProperty(e,t?i.slice(0,-11):i,t?Oe:""):o[e]=i}}return S}});class Ve extends K{constructor(e){if(super(e),this.it=z,e.type!==W)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===z||null==e)return this._t=void 0,this.it=e;if(e===S)return e;if("string"!=typeof e)throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;const t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}}Ve.directiveName="unsafeHTML",Ve.resultType=1;const De=q(Ve);let Re="/icons";function Fe(e){Re=e}var We=te`
133    :host {
134        --color-foreground: var(--pu-icon-color-foreground, var(--pu-color-foreground));
135    }
136    .icon-container {
137        display: flex;
138        align-items: center;
139        justify-content: center;
140        font-size: var(--pu-icon-font-size, var(--font-size, inherit));
141        height: fit-content;
142        width: fit-content;
143        color: rgb(from var(--color-foreground) r g b / calc(alpha * var(--pu-icon-color-opacity, 1)));
144    }
145
146    .spinner svg {
147        animation-name: spin;
148        animation-duration: 400ms;
149        animation-timing-function: cubic-bezier(0, 0, 1, 1);
150        animation-iteration-count: infinite;
151    }
152    @keyframes spin {
153        to {
154            transform: rotate(1turn);
155        }
156    }
157`;class Ue extends ye{emit(e,t){const o=new CustomEvent(e,{bubbles:!0,cancelable:!1,composed:!0,detail:{},...t});return this.dispatchEvent(o),o}static define(e,t=this,o={}){const i=customElements.get(e);if(!i){try{customElements.define(e,t,o)}catch(i){console.log(e,i),customElements.define(e,class extends t{},o)}return}let r=" (unknown version)",a=r;"version"in t&&t.version&&(r=" v"+t.version),"version"in i&&i.version&&(a=" v"+i.version),r&&a&&r===a||console.warn(`Attempted to register <${e}>, but <${e}> has already been registered.`)}constructor(){super(),Object.entries(this.constructor.dependencies).forEach((([e,t])=>{this.constructor.define(e,t)}))}}Ue.version="5.0.28",Ue.dependencies={};class Ge extends Ue{constructor(){super(...arguments),this.svgContent="",this.name="user"}_hasSlottedContent(){for(const e of this.children){if("slot"!==e.tagName.toLowerCase())return!0;if(e.assignedNodes().length>0)return!0}return!1}connectedCallback(){super.connectedCallback(),this._hasSlottedContent()||this.svgContent||this.loadSVG()}async loadSVG(){try{const e=await fetch(function(e=""){if(!Re||"/icons"===Re){const e=window.PushWebComponents?.config;e?.iconBasePath&&Fe(e.iconBasePath)}return Re.replace(/\/$/,"")+(e?`/${e.replace(/^\//,"")}`:"")}(`/${this.name}.svg`));if(!e.ok)throw new Error("Failed to load SVG");let t=await e.text();this.svgContent=t.replace("<svg",'<svg part="svg"')}catch(e){console.error(e),this.svgContent='<svg part="svg" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 512 512">\n                <path d="M504 256c0 137-111 248-248 248S8 393 8 256C8 119.1 119 8 256 8s248 111.1 248 248zm-248 50c-25.4 0-46 20.6-46 46s20.6 46 46 46 46-20.6 46-46-20.6-46-46-46zm-43.7-165.3l7.4 136c.3 6.4 5.6 11.3 12 11.3h48.5c6.4 0 11.6-5 12-11.3l7.4-136c.4-6.9-5.1-12.7-12-12.7h-63.4c-6.9 0-12.4 5.8-12 12.7z"/>\n            </svg>'}}willUpdate(e){e.has("name")&&!this._hasSlottedContent()&&this.loadSVG()}render(){const e=this._hasSlottedContent();return $`
158            <span
159                part="base icon"
160                class="${J({"icon-container":!0,spinner:"spinner"===this.name})}"
161                style="${He({"--font-size":this.size?je(this.size):null})}"
162            >
163                ${e?$`<slot></slot>`:De(this.svgContent)}
164            </span>
165        `}}Ge.styles=[Me,We],i([ke({type:String})],Ge.prototype,"svgContent",void 0),i([ke({reflect:!0})],Ge.prototype,"name",void 0),i([ke()],Ge.prototype,"size",void 0);class qe{constructor(){this.groups=new Map,this.hosts=new Set}static getInstance(){return qe.instance||(qe.instance=new qe),qe.instance}hostConnected(){0===this.hosts.size&&this.setupGlobalListeners()}hostDisconnected(){1===this.hosts.size&&this.cleanupGlobalListeners()}addHost(e){this.hosts.add(e),e.addController(this)}removeHost(e){this.hosts.delete(e),e.removeController?.(this)}registerAccordion(e,t){this.groups.has(t)||this.groups.set(t,{accordions:new Set,policy:{mode:"exclusive"},managedBy:"individual"});const o=this.groups.get(t);o.accordions.add(e),o.managedBy||(o.managedBy="individual"),this.requestUpdateAll()}registerSlottedAccordions(e,t){this.groups.has(t)||this.groups.set(t,{accordions:new Set,policy:{mode:"exclusive"},managedBy:"group-component"});const o=this.groups.get(t);o.accordions.clear(),e.forEach((e=>{o.accordions.add(e)})),o.managedBy="group-component",this.requestUpdateAll()}validateGroupReadiness(e){const t=this.groups.get(e);return!!t&&Array.from(t.accordions).every((e=>"function"==typeof e.openAccordion&&"function"==typeof e.closeAccordion&&"boolean"==typeof e._open))}getRegistrationStatus(e,t){const o=this.groups.get(e),i=o?o.accordions.size:0;return{registered:i,expected:t,ready:!!o&&this.validateGroupReadiness(e)&&(t?i===t:i>0)}}unregisterAccordion(e,t){const o=this.groups.get(t);o&&(o.accordions.delete(e),0===o.accordions.size&&this.groups.delete(t),this.requestUpdateAll())}notifyAccordionOpening(e,t){const o=this.groups.get(t);if(o){if("exclusive"===o.policy.mode)o.accordions.forEach((t=>{t!==e&&t._open&&t.closeAccordion()}));else if("multi-select"===o.policy.mode&&o.policy.maxOpen){const e=Array.from(o.accordions).filter((e=>e._open));e.length>=o.policy.maxOpen&&e[0].closeAccordion()}this.requestUpdateAll()}}setGroupPolicy(e,t){const o=this.groups.get(e);o?o.policy=t:this.groups.set(e,{accordions:new Set,policy:t,managedBy:void 0}),this.requestUpdateAll()}getGroupAccordions(e){return this.groups.get(e)?.accordions}closeAllInGroup(e){const t=this.groups.get(e);t&&(t.accordions.forEach((e=>{e._open&&e.closeAccordion()})),this.requestUpdateAll())}openAccordionByIndex(e,t){const o=this.groups.get(e);if(o&&this.validateGroupReadiness(e)){const e=Array.from(o.accordions);t>=0&&t<e.length&&(e[t].openAccordion(),this.requestUpdateAll())}}getGroupStats(e){const t=this.groups.get(e);if(!t)return null;return{total:t.accordions.size,open:Array.from(t.accordions).filter((e=>e._open)).length}}getAllGroupIds(){return Array.from(this.groups.keys())}hasGroup(e){return this.groups.has(e)}isGroupReady(e){return this.hasGroup(e)&&this.validateGroupReadiness(e)}
165requestUpdateAll(){this.hosts.forEach((e=>{e.requestUpdate()}))}setupGlobalListeners(){}cleanupGlobalListeners(){}}class Ke extends Ue{constructor(){super(...arguments),this.icon="chevron-down",this.iconSize="xsmall",this.iconAnimation="flip",this.iconPosition="right",this.open=!1,this.justify="space-between",this._open=!1,this._inGroupContainer=!1,this.controller=qe.getInstance(),this.isAnimating=!1,this.openAccordion=()=>{this._open||this.isAnimating||(this.open=!0)},this.closeAccordion=()=>{this._open&&!this.isAnimating&&(this.open=!1)}}connectedCallback(){super.connectedCallback(),this._inGroupContainer=!!this.closest("pu-accordion-group"),this.controller.addHost(this),this.groupId&&this._registerWithVirtualGroup()}disconnectedCallback(){super.disconnectedCallback(),this.controller.removeHost(this),this.currentGroupId&&this.controller.unregisterAccordion(this,this.currentGroupId),this.detailsObserver?.disconnect(),this.currentGroupId=void 0}firstUpdated(){this.body.style.height=this.open?"auto":"0",this.open&&(this.details.open=!0,this._open=!0),this.detailsObserver=new MutationObserver((e=>{for(const t of e)if("attributes"===t.type&&"open"===t.attributeName){if(this.isAnimating)return;this.details.open?this._show():this._hide()}})),this.detailsObserver.observe(this.details,{attributes:!0})}updated(e){super.updated(e),e.has("groupId")&&this._handleGroupIdChange()}async handleOpenChange(){this.open?await this._show():await this._hide()}_registerWithVirtualGroup(){this.groupId&&(this.currentGroupId=this.groupId,this.controller.registerAccordion(this,this.groupId),this.dispatchEvent(new CustomEvent("accordion-registered",{detail:{accordion:this,groupId:this.groupId},bubbles:!0})))}_handleGroupIdChange(){this.currentGroupId&&(this.controller.unregisterAccordion(this,this.currentGroupId),this.currentGroupId=void 0),this.groupId&&this._registerWithVirtualGroup()}async _show(){if(this.isAnimating)return;this.isAnimating=!0,this._open=!0,this.currentGroupId&&this.controller.notifyAccordionOpening(this,this.currentGroupId),this.dispatchEvent(new CustomEvent("accordion-opening",{detail:{accordion:this,groupId:this.currentGroupId},bubbles:!0})),await Ee(this.body),this.details.open=!0;await Pe(this.body,Be([{height:"0",opacity:"0"},{height:"auto",opacity:"1"}],this.body.scrollHeight),{duration:150,easing:"linear"}),this.body.style.height="auto",this.isAnimating=!1,this.dispatchEvent(new CustomEvent("accordion-opened",{detail:{accordion:this},bubbles:!0}))}async _hide(){if(this.isAnimating)return;this.isAnimating=!0,this._open=!1,this.dispatchEvent(new CustomEvent("accordion-closing",{detail:{accordion:this,groupId:this.currentGroupId},bubbles:!0})),await Ee(this.body);await Pe(this.body,Be([{height:"auto",opacity:"1"},{height:"0",opacity:"0"}],this.body.scrollHeight),{duration:150,easing:"linear"}),this.body.style.height="auto",this.details.open=!1,this.isAnimating=!1,this.dispatchEvent(new CustomEvent("accordion-closed",{detail:{accordion:this},bubbles:!0}))}_handleSummaryClick(e){e.preventDefault(),this._open?this.closeAccordion():this.openAccordion()}render(){return $`
166            <details
167                part="base"
168                class="accordion ${J({"accordion--grouped":this._inGroupContainer,"accordion--open":this._open})}"
169            >
170                <summary
171                    part="header"
172                    class="accordion__summary${J({[`accordion__summary--icon-${this.iconAnimation}`]:!0,[`accordion__summary--icon-position-${this.iconPosition}`]:!0,[`accordion__summary--justify-${this.justify}`]:!0})}"
173                    aria-label="Accordion block summary"
174                    role="button"
175                    aria-expanded=${this._open}
176                    @click=${this._handleSummaryClick}
177                >
178                    <slot name="header"></slot>
179                    <pu-icon
180                        part="icon"
181                        exportparts="base,svg"
182                        class="accordion__icon"
183                        name="${this.icon}"
184                        size="${this.iconSize}"
185                    >
186                        <slot name="icon"></slot>
187                    </pu-icon>
188                </summary>
189                <div
190                    part="content"
191                    class="accordion__details"
192                    aria-hidden=${!this._open}
193                >
194                    <slot name="content"></slot>
195                </div>
196            </details>
197        `}}
197Ke.styles=[Me,Ie],Ke.dependencies={"pu-icon":Ge},i([ke()],Ke.prototype,"icon",void 0),i([ke()],Ke.prototype,"iconSize",void 0),i([ke()],Ke.prototype,"iconAnimation",void 0),i([ke()],Ke.prototype,"iconPosition",void 0),i([ke({type:Boolean})],Ke.prototype,"open",void 0),i([ke()],Ke.prototype,"justify",void 0),i([ke()],Ke.prototype,"groupId",void 0),i([Ce()],Ke.prototype,"_open",void 0),i([Ce()],Ke.prototype,"_inGroupContainer",void 0),i([Se(".accordion")],Ke.prototype,"details",void 0),i([Se(".accordion__details")],Ke.prototype,"body",void 0),i([Te("open",{waitUntilFirstUpdate:!0})],Ke.prototype,"handleOpenChange",null),Ke.define("pu-accordion");const Je=[te`
198    :host {
199        display: block;
200        --border-color: var(--pu-accordion-border-color, var(--pu-color-border));
201        --border-tl-radius: var(--pu-accordion-border-radius-top, var(--pu-accordion-border-radius, 0));
202        --border-tr-radius: var(--pu-accordion-border-radius-top, var(--pu-accordion-border-radius, 0));
203        --border-br-radius: var(--pu-accordion-border-radius-bottom, var(--pu-accordion-border-radius, 0));
204        --border-bl-radius: var(--pu-accordion-border-radius-bottom, var(--pu-accordion-border-radius, 0));
205    }
206
207    slot {
208        display: contents;
209    }
210
211    ::slotted(pu-accordion) {
212        overflow: hidden;
213        outline: solid var(--border-color) var(--pu-accordion-border-width);
214    }
215
216    ::slotted(pu-accordion:first-child) {
217        border-top-left-radius: var(--border-tl-radius);
218        border-top-right-radius: var(--border-tr-radius);
219    }
220    ::slotted(pu-accordion:last-child) {
221        border-bottom-right-radius: var(--border-br-radius);
222        border-bottom-left-radius: var(--border-bl-radius);
223    }
224    .accordion-group {
225        display: grid;
226        grid-template-columns: 1fr;
227        /* Compensate for border width */
228        gap: var(--pu-accordion-group-space-gap, var(--pu-accordion-border-width, 0.0625em));
229        padding: var(--pu-accordion-group-space-padding, var(--pu-accordion-border-width));
230    }
231`];class Xe{constructor(e,...t){this.slotNames=[],this.handleSlotChange=e=>{const t=e.target;(this.slotNames.includes("[default]")&&!t.name||t.name&&this.slotNames.includes(t.name))&&this.host.requestUpdate()},(this.host=e).addController(this),this.slotNames=t}hasDefaultSlot(){return[...this.host.childNodes].some((e=>{if(e.nodeType===e.TEXT_NODE&&""!==e.textContent.trim())return!0;if(e.nodeType===e.ELEMENT_NODE){const t=e;if("pu-visually-hidden"===t.tagName.toLowerCase())return!1;if(!t.hasAttribute("slot"))return!0}return!1}))}hasNamedSlot(e){return null!==this.host.querySelector(`:scope > [slot="${e}"]`)}test(e){return"[default]"===e?this.hasDefaultSlot():this.hasNamedSlot(e)}hostConnected(){this.host.shadowRoot.addEventListener("slotchange",this.handleSlotChange)}hostDisconnected(){this.host.shadowRoot.removeEventListener("slotchange",this.handleSlotChange)}}class Ye extends Ue{constructor(){super(),this.mode="exclusive",this.expanded=!1,this.controller=qe.getInstance(),this.slotController=new Xe(this,"accordion"),this.lastRegisteredCount=0,this.pendingStateActions=[],this._handleAccordionRegistration=e=>{e.stopPropagation(),this._manageSlottedAccordions()},this._handleAccordionOpening=e=>{e.stopPropagation();const t=e,o=t.detail?.accordion;o&&this.controller.notifyAccordionOpening(o,this.internalGroupId)},this.internalGroupId=`accordion-group-${Math.random().toString(36).substring(2,9)}`,this.controller.setGroupPolicy(this.internalGroupId,{mode:this.mode,maxOpen:this.maxOpen})}connectedCallback(){super.connectedCallback(),this.controller.addHost(this),this.addEventListener("accordion-registered",this._handleAccordionRegistration),this.addEventListener("accordion-opening",this._handleAccordionOpening)}disconnectedCallback(){super.disconnectedCallback(),this.controller.removeHost(this),this.removeEventListener("accordion-registered",this._handleAccordionRegistration),this.removeEventListener("accordion-opening",this._handleAccordionOpening);Array.from(this.slottedAccordions||[]).forEach((e=>{e&&void 0===e.groupId&&this.controller.unregisterAccordion(e,this.internalGroupId)}))}willUpdate(e){super.willUpdate(e),(e.has("mode")||e.has("maxOpen"))&&this.controller.setGroupPolicy(this.internalGroupId,{mode:this.mode,maxOpen:this.maxOpen})}updated(e){super.updated(e),this.updateComplete.then((()=>{this._manageSlottedAccordions()})),e.has("expanded")&&this.expanded&&this._queueStateAction((()=>this.openAccordionByIndex(0)))}_manageSlottedAccordions(){if(!this.slotController.test("accordion"))return;const e=Array.from(this.slottedAccordions),t=e.length;t!==this.lastRegisteredCount&&(this.lastRegisteredCount=t,this.controller.registerSlottedAccordions(e,this.internalGroupId));this.controller.getRegistrationStatus(this.internalGroupId,t).ready&&this._executePendingStateActions()}_queueStateAction(e){this.pendingStateActions.push(e)}_executePendingStateActions(){if(this.controller.isGroupReady(this.internalGroupId))for(;this.pendingStateActions.length>0;){const e=this.pendingStateActions.shift();if(e)try{e()}catch(e){console.warn("AccordionGroup: Error executing state action:",e)}}}getGroupId(){return this.internalGroupId}closeAll(){this._queueStateAction((()=>{this.controller.closeAllInGroup(this.internalGroupId)}))}openAccordionByIndex(e){this._queueStateAction((()=>{this.controller.openAccordionByIndex(this.internalGroupId,e)}))}setPolicy(e){this.controller.setGroupPolicy(this.internalGroupId,e),this.mode=e.mode,this.maxOpen=e.maxOpen}getStats(){return this.controller.getGroupStats(this.internalGroupId)||{total:0,open:0}}isReady(){return this.controller.isGroupReady(this.internalGroupId)}getRegistrationStatus(){const e=Array.from(this.slottedAccordions||[]).length;return this.controller.getRegistrationStatus(this.internalGroupId,e)}render(){return $`
232            <div
233                part="base"
234                class="accordion-group"
235            >
236                <slot name="accordion"></slot>
237            </div>
238        `}}Ye.styles=[Je],i([Ae({slot:"accordion"})],Ye.prototype,"slottedAccordions",void 0),i([ke()],Ye.prototype,"mode",void 0),i([ke({type:Number})],Ye.prototype,"maxOpen",void 0),i([ke({type:Boolean})],Ye.prototype,"expanded",void 0),Ye.define("pu-accordion-group");const Ze=e=>e??z,Qe=[te`
239    :host {
240        display: inline-block;
241    }
242
243    .badge {
244        display: flex;
245        align-items: center;
246        letter-spacing: 0.07em;
247        box-shadow: var(--pu-badge-shadow);
248        color: rgb(
249            from var(--pu-badge-color-foreground, var(--pu-color-foreground-inverse, rgb(255, 255, 255))) r g b / alpha
250        );
251        background-color: rgb(
252            from var(--pu-badge-color-background, var(--pu-color-background-inverse, rgb(0, 0, 0))) r g b /
253                calc(var(--pu-badge-opacity-background, 1) * 100%)
254        );
255        border-radius: var(--pu-badge-border-radius, var(--pu-border-radius));
256        border: solid var(--pu-badge-border-width)
257            rgb(from var(--pu-badge-color-foreground, var(--pu-color-foreground-inverse,)) r g b / alpha);
258    }
259
260    .badge ::part(span-text) {
261        display: block;
262    }
263`,te`
264    /* Layout API Classes - Size property variants */
265    .badge--size-large {
266        height: var(--pu-space-1200, 3em);
267        padding: 0 var(--pu-space-800, 2em);
268    }
269
270    .badge--size-medium {
271        height: var(--pu-space-1000, 2.5em);
272        padding: 0 var(--pu-space-600, 1.5em);
273    }
274
275    .badge--size-small {
276        height: var(--pu-space-800, 2em);
277        padding: 0 var(--pu-space-400, 0.75em);
278    }
279
280    .badge--size-slim {
281        height: var(--pu-space-600, 1.5em);
282        padding: 0 var(--pu-space-300, 0.5em);
283    }
284`],et=te`
285    /* Text component API sizes with fallbacks */
286    /* API values overriden by application tokens */
287    /* Application Token | API Token | Default Value */
288
289    .txt--headingXs {
290        font-size: var(--pu-text-heading-size, var(--pu-text-heading-size-xs, 0.75em));
291    }
292    .txt--headingSm {
293        font-size: var(--pu-text-heading-size, var(--pu-text-heading-size-sm, 0.875em));
294    }
295    .txt--headingMd {
296        font-size: var(--pu-text-heading-size, var(--pu-text-heading-size-md, 1em));
297    }
298    .txt--headingLg {
299        font-size: calc(
300            var(--pu-text-heading-scale, 1) * var(--pu-text-heading-size, var(--pu-text-heading-size-lg, 1.25em))
301        );
302    }
303    .txt--headingXl {
304        font-size: calc(
305            var(--pu-text-heading-scale, 1) * var(--pu-text-heading-size, var(--pu-text-heading-size-xl, 1.5em))
306        );
307    }
308    .txt--heading2xl {
309        font-size: calc(
310            var(--pu-text-heading-scale, 1) * var(--pu-text-heading-size, var(--pu-text-heading-size-2xl, 1.75em))
311        );
312    }
313    .txt--heading3xl {
314        font-size: calc(
315            var(--pu-text-heading-scale, 1) * var(--pu-text-heading-size, var(--pu-text-heading-size-3xl, 2em))
316        );
317    }
318    .txt--heading4xl {
319        font-size: calc(
320            var(--pu-text-heading-scale, 1) * var(--pu-text-heading-size, var(--pu-text-heading-size-4xl, 3em))
321        );
322    }
323    .txt--heading5xl {
324        font-size: calc(
325            var(--pu-text-heading-scale, 1) * var(--pu-text-heading-size, var(--pu-text-heading-size-5xl, 4em))
326        );
327    }
328    .txt--bodyXs {
329        font-size: var(--pu-text-body-size, var(--pu-text-body-size-xs, 0.75em));
330    }
331    .txt--bodySm {
332        font-size: var(--pu-text-body-size, var(--pu-text-body-size-sm, 0.875em));
333    }
334    .txt--bodyMd {
335        font-size: calc(var(--pu-text-body-scale, 1) * var(--pu-text-body-size, var(--pu-text-body-size-md, 1em)));
336    }
337    .txt--bodyLg {
338        font-size: calc(var(--pu-text-body-scale, 1) * var(--pu-text-body-size, var(--pu-text-body-size-lg, 1.25em)));
339    }
340    .txt--bodyXl {
341        font-size: calc(var(--pu-text-body-scale, 1) * var(--pu-text-body-size, var(--pu-text-body-size-xl, 1.5em)));
342    }
343    .txt--body2xl {
344        font-size: calc(var(--pu-text-body-scale, 1) * var(--pu-text-body-size, var(--pu-text-body-size-2xl, 1.75em)));
345    }
346    .txt--body3xl {
347        font-size: calc(var(--pu-text-body-scale, 1) * var(--pu-text-body-size, var(--pu-text-body-size-3xl, 2em)));
348    }
349    .txt--body4xl {
350        font-size: calc(var(--pu-text-body-scale, 1) * var(--pu-text-body-size, var(--pu-font-size-900, 3em)));
351    }
352    .txt--body5xl {
353        font-size: calc(var(--pu-text-body-scale, 1) * var(--pu-text-body-size, var(--pu-font-size-1000, 4em)));
354    }
355`,tt=te`
356    .txt--headingXs {
357        margin-bottom: var(--pu-space-100, 0.25em);
358    }
359    .txt--headingSm {
360        margin-bottom: var(--pu-space-200, 0.5em);
361    }
362    .txt--headingMd {
363        margin-bottom: var(--pu-space-300, 0.75em);
364    }
365    .txt--headingLg {
366        margin-bottom: var(--pu-space-300, 0.75em);
367    }
368    .txt--headingXl {
369        margin-bottom: var(--pu-space-400, 1em);
370    }
371    .txt--heading2xl {
372        margin-bottom: var(--pu-space-400, 1em);
373    }
374    .txt--heading3xl {
375        margin-bottom: var(--pu-space-400, 1em);
376    }
377    .txt--heading4xl {
378        margin-bottom: var(--pu-space-500, 1.25em);
379    }
380    .txt--heading5xl {
381        margin-bottom: var(--pu-space-600, 1.5em);
382    }
383    .txt--bodyXs {
384        margin-bottom: var(--pu-space-100, 0.25em);
385    }
386    .txt--bodySm {
387        margin-bottom: var(--pu-space-200, 0.5em);
388    }
389    .txt--bodyMd,
390    .txt--bodyLg,
391    .txt--bodyXl,
392    .txt--body2xl,
393    .txt--body3xl,
394    .txt--body4xl,
395    .txt--body5xl {
396        margin-bottom: var(--pu-text-space-margin-bottom, var(--pu-space-300, 0.75em));
397    }
398`,ot=te`
399    .txt--line-height-extra-loose {
400        line-height: var(--line-height, var(--pu-font-leading-900, 3));
401    }
402    .txt--line-height-very-loose {
403        line-height: var(--line-height, var(--pu-font-leading-800, 2.5));
404    }
405    .txt--line-height-loose {
406        line-height: var(--line-height, var(--pu-font-leading-700, 2));
407    }
408    .txt--line-height-normal {
409        line-height: var(--line-height, var(--pu-font-leading-500, 1.5));
410    }
411    .txt--line-height-compact {
412        line-height: var(--line-height, var(--pu-font-leading-300, 1.25));
413    }
414    .txt--line-height-dense {
415        line-height: var(--line-height, var(--pu-font-leading-100, 1));
416    }
417`,it=te`
418    @media screen and (max-width: 48em) {
419        .txt--narrow-align-start {
420            text-align: left;
421        }
422        .txt--narrow-align-center {
423            text-align: center;
424        }
425        .txt--narrow-align-end {
426            text-align: right;
427        }
428        .txt--narrow-align-justify {
429            text-align: justify;
430        }
431    }
432    @media screen and (min-width: 48.06em) {
433        .txt--margin {
434            margin-bottom: var(--pu-space-400, 1em);
435        }
436        .txt--align-start {
437            text-align: left;
438        }
439        .txt--align-center {
440            text-align: center;
441        }
442        .txt--align-end {
443            text-align: right;
444        }
445        .txt--align-justify {
446            text-align: justify;
447        }
448    }
449`,rt=[te`
450    :host {
451        --weight: var(--pu-text-weight, inherit);
452        --style: var(--pu-text-style, inherit);
453        --color: var(--pu-color-foreground-normal, var(--pu-color-foreground, inherit));
454        --transform: var(--pu-text-transform, inherit);
455        --letter-spacing: var(--pu-text-tracking, inherit);
456        --line-height: var(--pu-text-leading, inherit);
457    }
458    :host([as='span']) {
459        display: inline-flex;
460    }
461
462    .base {
463        color: var(--color, inherit);
464        text-transform: var(--transform, inherit);
465        letter-spacing: var(--letter-spacing, inherit);
466        line-height: var(--line-height, inherit);
467        font-weight: var(--weight, inherit);
468        font-style: var(--style, inherit);
469    }
470
471    .span {
472        margin-bottom: 0 !important;
473    }
474    .heading,
475    .paragraph {
476        margin-top: 0;
477        text-align: inherit;
478    }
479
480    .skeleton {
481        display: flex;
482        height: 0.5em;
483        border-radius: 0.5em;
484        min-width: 5em;
485        background-color: var(--pu-skeleton-color-foreground);
486    }
487`,te`
488    .txt--headingXs,
489    .txt--headingSm,
490    .txt--headingMd,
491    .txt--headingLg,
492    .txt--headingXl,
493    .txt--heading2xl,
494    .txt--heading3xl,
495    .txt--heading4xl,
496    .txt--heading5xl {
497        font-family: var(--pu-text-heading-family, var(--pu-font-family-heading, inherit));
498    }
499    .txt--bodyXs,
500    .txt--bodySm,
501    .txt--bodyMd,
502    .txt--bodyLg,
503    .txt--bodyXl,
504    .txt--body2xl,
505    .txt--body3xl,
506    .txt--body4xl,
507    .txt--body5xl {
508        font-family: var(--pu-text-body-family, var(--pu-font-family-body, inherit));
509    }
510`,et,tt,te`
511    .txt--heading4xl,
512    .txt--heading5xl,
513    .txt--body4xl,
514    .txt--body5xl {
515        line-height: var(--line-height, var(--pu-font-leading-100, 1));
516    }
517
518    .txt--headingXl,
519    .txt--heading2xl,
520    .txt--heading3xl,
521    .txt--bodyXl,
522    .txt--body2xl,
523    .txt--body3xl {
524        line-height: var(--line-height, var(--pu-font-leading-300, 1.25));
525    }
526
527    .txt--headingLg,
528    .txt--headingMd,
529    .txt--headingSm,
530    .txt--headingXs,
531    .tx--bodyLg,
532    .txt--bodyMd,
533    .txt--bodySm,
534    .txt--bodyXs,
535    .txt--body {
536        line-height: var(--line-height, var(--pu-font-leading-500, 1.5));
537    }
538`,te`
539    .txt--color-disabled {
540        color: rgb(from var(--pu-color-foreground-disabled, var(--pu-color-foreground)) r g b / calc(alpha * 0.3));
541    }
542    .txt--color-subdued {
543        color: rgb(from var(--pu-color-foreground-subdued, hsl(240, 5%, 65%)) r g b);
544    }
545    .txt--color-warning {
546        color: rgb(from var(--pu-color-foreground-warning, hsl(0, 72%, 51%)) r g b);
547    }
548`,te`
549    .txt--light {
550        font-weight: var(--weight, var(--pu-font-weight-300, 300));
551    }
552    .txt--regular {
553        font-weight: var(--weight, var(--pu-font-weight-400, 400));
554    }
555    .txt--medium {
556        font-weight: var(--weight, var(--pu-font-weight-500, 500));
557    }
558    .txt--semibold {
559        font-weight: var(--weight, var(--pu-font-weight-600, 600));
560    }
561    .txt--bold {
562        font-weight: var(--weight, var(--pu-font-weight-700, 700));
563    }
564    .txt--extrabold {
565        font-weight: var(--weight, var(--pu-font-weight-800, 800));
566    }
567    .txt--black {
568        font-weight: var(--weight, var(--pu-font-weight-900, 900));
569    }
570`,te`
571    .txt--italic {
572        font-style: var(--style, italic);
573    }
574    .txt--oblique {
575        font-style: var(--style, oblique);
576    }
577`,te`
578    .txt-transform--uppercase {
579        text-transform: var(--transform, uppercase);
580    }
581    .txt-transform--capitalize {
582        text-transform: var(--transform, capitalize);
583    }
584    .txt-transform--lowercase {
585        text-transform: var(--transform, lowercase);
586    }
587`,ot,te`
588    .base.txt--spacing-extra-loose {
589        letter-spacing: var(--letter-spacing, 0.2em);
590    }
591    .base.txt--spacing-very-loose {
592        letter-spacing: var(--letter-spacing, 0.1em);
593    }
594    .base.txt--spacing-loose {
595        letter-spacing: var(--letter-spacing, 0.05em);
596    }
597    .base.txt--spacing-normal {
598        letter-spacing: var(--letter-spacing, inherit);
599    }
600`,it,te`
601    .heading.text--without-margin,
602    .paragraph.text--without-margin,
603    .skeleton.text--without-margin {
604        margin-bottom: 0;
605    }
606
607    .txt--truncate {
608        overflow: hidden;
609        white-space: nowrap;
610        text-overflow: ellipsis;
611    }
612    .txt--breakword {
613        overflow-wrap: anywhere;
614        word-break: normal;
615    }
616    .txt--hidden {
617        position: absolute !important;
618        overflow: hidden;
619        width: 1px;
620        height: 1px;
621        margin: -1px;
622        padding: 0;
623        border: 0;
624        clip: rect(0 0 0 0);
625        word-wrap: normal !important;
626    }
627`];function at(e,t,o,i,r){const a=void 0===r||""===r?"function"==typeof i?i():i:r;e[o]=a,console.warn(`The "${t}" property is deprecated. Please use "${o}" instead.`)}function st(e,t,o,i){const r=i.find((e=>e.old===t));if(!r)return void console.warn(`No mapping found for deprecated property "${t}"`);const a=void 0===o||""===o?"function"==typeof r.defaultValue?r.defaultValue():r.defaultValue:o;e[r.new]=a,console.warn(`The "${t}" property is deprecated. Please use "${r.new}" instead.`)}class nt extends Ue{constructor(){super(...arguments),this.as="p",this.variant="bodyMd",this.color="normal",this.fontWeight="normal",this.fontStyle="normal",this.lineHeight="normal",this.spacing="normal",this.withMargin=!1,this.transform="none",this.truncate=!1,this.breakWord=!1,this.hidden=!1,this.deprecatedPropertyMap=[{old:"alignment",new:"textAlign",defaultValue:void 0},{old:"mobileAlignment",new:"textAlignNarrow",defaultValue:void 0}]}get alignment(){return this.textAlign}set alignment(e){this._handleDeprecated("alignment",e)}get mobileAlignment(){return this.textAlignNarrow}set mobileAlignment(e){this._handleDeprecated("mobileAlignment",e)}_handleDeprecated(e,t){st(this,e,t,this.deprecatedPropertyMap)}textClasses(){const e={base:!0,"txt--truncate":this.truncate,"txt--breakword":this.breakWord,"txt--hidden":this.hidden};return"normal"!==this.color&&(e["txt--color-"+this.color]=!0),this.variant&&(e["txt--"+this.variant]=!0),"normal"!==this.lineHeight&&(e["txt--line-height-"+this.lineHeight]=!0),"normal"!==this.spacing&&(e["txt--spacing-"+this.spacing]=!0),"normal"!==this.fontWeight&&(e["txt--"+this.fontWeight]=!0),"normal"!==this.fontStyle&&(e["txt--"+this.fontStyle]=!0),this.textAlign&&(e["txt--align-"+this.textAlign]=this.textAlign),this.textAlignNarrow?e["txt--narrow-align-"+this.textAlignNarrow]=!0:e["txt--narrow-align-"+this.textAlign]=this.textAlign,this.withMargin||"span"===this.as||(e["text--without-margin"]=!0),"none"!==this.transform&&(e["txt-transform--"+this.transform]=!0),e}textAs(e){switch(this.as){case"p":return $`<p
628                    part="base p body"
629                    class="paragraph${J(e)}"
630                >
631                    <slot></slot>
632                </p>`;case"h1":return $`<h1
633                    part="base h1 heading"
634                    class="heading${J(e)}"
635                >
636                    <slot></slot>
637                </h1>`;case"h2":return $`<h2
638                    part="base h2 heading"
639                    class="heading${J(e)}"
640                >
641                    <slot></slot>
642                </h2>`;case"h3":return $`<h3
643                    part="base h3 heading"
644                    class="heading${J(e)}"
645                >
646                    <slot></slot>
647                </h3>`;case"h4":return $`<h4
648                    part="base h4 heading"
649                    class="heading${J(e)}"
650                >
651                    <slot></slot>
652                </h4>`;case"h5":return $`<h5
653                    part="base h5 heading"
654                    class="heading${J(e)}"
655                >
656                    <slot></slot>
657                </h5>`;case"skeleton":return $`<div class="skeleton${J(e)}"></div>`;default:return $` <span
658                    part="base span body"
659                    class="span${J(e)}"
660                    ><slot></slot
661                ></span>`}}render(){return $`${this.textAs(this.textClasses())}`}}nt.styles=[Me,rt],i([ke({type:String})],nt.prototype,"as",void 0),i([ke({type:String})],nt.prototype,"variant",void 0),i([ke({type:String})],nt.prototype,"color",void 0),i([ke({type:String})],nt.prototype,"fontWeight",void 0),i([ke({type:String})],nt.prototype,"fontStyle",void 0),i([ke({type:String})],nt.prototype,"lineHeight",void 0),i([ke({type:String})],nt.prototype,"spacing",void 0),i([ke({type:String})],nt.prototype,"textAlign",void 0),i([ke({type:String})],nt.prototype,"textAlignNarrow",void 0),i([ke({type:Boolean})],nt.prototype,"withMargin",void 0),i([ke()],nt.prototype,"transform",void 0),i([ke({type:Boolean})],nt.prototype,"truncate",void 0),i([ke({type:Boolean})],nt.prototype,"breakWord",void 0),i([ke({type:Boolean})],nt.prototype,"hidden",void 0),i([ke({type:String})],nt.prototype,"alignment",null),i([ke({type:String})],nt.prototype,"mobileAlignment",null);class lt extends Ue{constructor(){super(...arguments),this.size="small"}render(){return $`
662            <span
663                part="base badge"
664                class="badge${J({[`badge--size-${this.size}`]:!0})}"
665            >
666                <pu-text
667                    part="label"
668                    exportparts="base,span,body"
669                    as="span"
670                    variant="${Ze(this.textSize)}"
671                    fontWeight="${Ze(this.textWeight)}"
672                    fontStyle="${Ze(this.textStyle)}"
673                    transform="${Ze(this.textTransform)}"
674                    lineHeight="compact"
675                    withoutMargin
676                >
677                    <slot>Badge label</slot>
678                </pu-text>
679            </span>
680        `}}lt.styles=[Me,Qe],lt.dependencies={"pu-text":nt},i([ke()],lt.prototype,"size",void 0),i([ke()],lt.prototype,"textSize",void 0),i([ke()],lt.prototype,"textWeight",void 0),i([ke()],lt.prototype,"textStyle",void 0),i([ke()],lt.prototype,"textTransform",void 0),lt.define("pu-badge");const dt=te`
681    /* narrow Media Heights (≤30em) - CSS Custom Properties */
682    @media only screen and (max-width: 30em) {
683        .media-height--xsmall {
684            --pu-banner-media-size-height: 10em;
685        }
686        .media-height--small {
687            --pu-banner-media-size-height: 15em;
688        }
689        .media-height--medium {
690            --pu-banner-media-size-height: 20em;
691        }
692        .media-height--large {
693            --pu-banner-media-size-height: 25em;
694        }
695        .media-height--xlarge {
696            --pu-banner-media-size-height: 27em;
697        }
698        .media-height--2xlarge {
699            --pu-banner-media-size-height: 30em;
700        }
701    }
702
703    /* Desktop Media Heights (≥30.06em) - CSS Custom Properties */
704    @media only screen and (min-width: 30.06em) {
705        .media-height--xsmall {
706            --pu-banner-media-size-height: 15em;
707        }
708        .media-height--small {
709            --pu-banner-media-size-height: 20em;
710        }
711        .media-height--medium {
712            --pu-banner-media-size-height: 25em;
713        }
714        .media-height--large {
715            --pu-banner-media-size-height: 30em;
716        }
717        .media-height--xlarge {
718            --pu-banner-media-size-height: 35em;
719        }
720        .media-height--2xlarge {
721            --pu-banner-media-size-height: 40em;
722        }
723    }
724
725    /* Aspect Ratio Adaptive Heights */
726    .media-height--adapt {
727        --pu-banner-media-size-height: auto;
728        --pu-banner-media-aspect: var(--pu-aspect-ratio);
729    }
730
731    /* narrow-specific adaptive heights */
732    @media only screen and (max-width: 48em) {
733        .media-height--adapt,
734        .media-narrow-adapt {
735            --pu-banner-media-size-height: auto;
736            --pu-banner-media-aspect: var(--pu-banner-media-aspect-narrow, var(--pu-aspect-ratio));
737        }
738    }
739`,pt=[te`
740    :host {
741        position: relative;
742        display: block;
743        width: 100%;
744        overflow: hidden;
745    }
746
747    /* Banner structure */
748    .banner__container {
749        position: relative;
750    }
751
752    /* Content structure */
753    .banner__content {
754        height: 100%;
755    }
756
757    .banner__content::part(content) {
758        background-color: transparent;
759        display: flex;
760    }
761
762    .banner__caption {
763        color: rgb(from var(--pu-banner-caption-color-foreground, var(--pu-color-passthrough-foreground)) r g b / 1);
764        --pu-color-foreground: rgb(from var(--pu-banner-caption-color-foreground, var(--pu-color-passthrough-foreground)) r g b / 1);
765        --pu-color-background: rgb(
766            from var(--pu-banner-caption-color-background, var(--pu-color-passthrough-background)) r g b /
767                var(--pu-card-caption-opacity-background, 1)
768        );
769    }
770
771    .banner__caption::part(content) {
772        height: auto;
773    }
774
775    /* Media overlay for over content positioning */
776    @media only screen and (min-width: 48.06em) {
777        .banner:not(.content--inline) .banner__container::after {
778            content: '';
779            display: block;
780            position: absolute;
781            top: 0;
782            left: 0;
783            height: 100%;
784            width: 100%;
785            z-index: 1;
786            background-color: rgb(
787                from var(--pu-overlay-color-background, 255, 255, 255, 0) r g b /
788                    var(--pu-opacity-overlay, 0)
789            );
790        }
791    }
792`,dt,te`
793    /* API: Banner-specific media height application using shared utility values */
794    .banner.media-height--xsmall .banner__media,
795    .banner.media-height--small .banner__media,
796    .banner.media-height--medium .banner__media,
797    .banner.media-height--large .banner__media,
798    .banner.media-height--xlarge .banner__media,
799    .banner.media-height--2xlarge .banner__media {
800        height: var(--pu-banner-media-size-height);
801    }
802
803    /* API: Banner-specific adaptive height application using shared utility values */
804    .banner.media-height--adapt .banner__media {
805        height: var(--pu-banner-media-size-height);
806        aspect-ratio: var(--pu-banner-media-aspect);
807    }
808    .banner.media-narrow-adapt .banner__media {
809        height: var(--pu-banner-media-size-height);
810        aspect-ratio: var(--pu-banner-media-aspect);
811    }
812
813    /* API: Content position variants (value-based property: contentPosition) */
814
815    /* Content over media (default behavior, enhanced positioning) */
816    @media only screen and (min-width: 48.06em) {
817        .banner:not(.content--inline) .banner__content {
818            position: absolute;
819            top: 0;
820            left: 0;
821            height: 100%;
822            width: 100%;
823            z-index: 10;
824        }
825    }
826
827    /* Content position: side */
828    .content-position--side .banner__content {
829        height: initial;
830    }
831    .content-position--side .banner__content::part(content) {
832        background-color: rgb(
833            from var(--pu-banner-caption-color-background, var(--pu-color-passthrough-background)) r g b /
834                var(--pu-card-caption-opacity-background, 1)
835        );
836    }
837    .content-position--side .banner__caption::part(content) {
838        background-color: transparent;
839    }
840    @media (min-width: 48.06em) {
841        .content-position--side .banner__content {
842            display: flex;
843        }
844    }
845
846    /* API: Without content */
847    .content--hidden {
848        display: none;
849    }
850
851    /* API: Content position: unless over - wide viewport */
852    .content--inline .banner__container {
853        display: flex;
854        flex-direction: column;
855    }
856    @media only screen and (min-width: 48.06em) {
857        .content--inline.content-position--side .banner__container {
858            flex-direction: row-reverse;
859        }
860        .content--inline.content-position--side .banner__media {
861            flex: 1 0 auto;
862            width: 70%;
863        }
864        .content--inline.content-position--side .banner__content ::slotted(*) {
865            height: 100%;
866        }
867    }
868
869    /* API: Content position: above */
870    .content-position--above .banner__media {
871        order: 2;
872    }
873    .content-position--above .banner__content {
874        order: 1;
875    }
876
877    /* API: Content position: under */
878    .content-position--under .banner__media {
879        order: 1;
880    }
881    .content-position--under .banner__content {
882        order: 2;
883    }
884
885    /* API: Content alignment (value-based property: contentAlign) */
886    @media (min-width: 48.06em) {
887        .content-align--start .banner__content::part(content) {
888            align-items: start;
889        }
890        .content-align--center .banner__content::part(content) {
891            align-items: center;
892        }
893        .content-align--end .banner__content::part(content) {
894            align-items: end;
895        }
896
897        /* API: Content justification (value-based property: contentJustify) */
898        .content-justify--start .banner__content::part(content) {
899            justify-content: start;
900        }
901        .content-justify--center .banner__content::part(content) {
902            justify-content: center;
903        }
904        .content-justify--end .banner__content::part(content) {
905            justify-content: end;
906        }
907    }
908
909    /* API: Narrow viewport content styling overrides */
910    @media only screen and (max-width: 48.06em) {
911        /* All positions - narrow content box is full width */
912        .banner__caption {
913            width: 100%;
914        }
915    }
916`],ct=[te`
917    :host {
918        --foreground-color: var(--pu-box-color-foreground, var(--pu-color-foreground));
919        --background-color: var(--pu-box-color-background);
920        --padding: var(--pu-box-space-padding);
921        --padding-top: var(--pu-box-space-padding-top);
922        --padding-right: var(--pu-box-space-padding-right);
923        --padding-bottom: var(--pu-box-space-padding-bottom);
924        --padding-left: var(--pu-box-space-padding-left);
925        --padding-narrow: var(--pu-box-space-padding-narrow);
926    }
927
928    :host,
929    :host([fit='fill']) {
930        display: block;
931        width: var(--pu-size-width, 100%);
932    }
933    :host([fit='fit-content']) {
934        width: fit-content;
935    }
936    :host([fit='auto']) {
937        width: auto;
938    }
939    @media only screen and (max-width: 48em) {
940        :host,
941        :host([fitNarrow='fill']) {
942            display: block;
943            width: var(--pu-size-width, 100%);
944        }
945        :host([fitNarrow='fit-content']) {
946            width: fit-content;
947        }
948        :host([fitNarrow='auto']) {
949            width: auto;
950        }
951    }
952
953    /* Foundation component structure */
954    .box {
955        height: 100%;
956    }
957    .box__content {
958        border-width: var(--pu-box-border-width, 0);
959        border-style: solid;
960        border-color: rgb(from var(--pu-box-border-color) r g b / alpha);
961        border-radius: var(--pu-box-border-radius);
962        color: rgb(from var(--foreground-color) r g b / alpha);
963        background: var(--pu-box-color-gradient);
964        background-color: rgb(from var(--background-color) r g b / alpha);
965        height: 100%;
966    }
967
968    .box__content {
969        padding: var(--padding, 1.5em);
970    }
971
972    /* Adaptive padding - uses clamp with remapped per-side variables */
973    .box--adaptive-padding .box__content {
974        padding-top: clamp(1em, 100vw * 0.04, var(--padding-top, var(--padding-block-start, 1.5em)));
975        padding-right: clamp(1em, 100vw * 0.04, var(--padding-right, var(--padding-inline-end, 1.5em)));
976        padding-bottom: clamp(1em, 100vw * 0.04, var(--padding-bottom, var(--padding-block-end, 1.5em)));
977        padding-left: clamp(1em, 100vw * 0.04, var(--padding-left, var(--padding-inline-start, 1.5em)));
978    }
979
980    /* Narrow viewport override */
981    @media only screen and (max-width: 48em) {
982        .box__content {
983            padding: var(--padding-narrow, 1em);
984        }
985    }
986`,te``];class ut{constructor(e){this.mode="token",this.intervalId=null,this.previousTokenValues=[],this.CHECK_INTERVAL=250,this.elementPadding={},this.host=e,e.addController(this)}hostConnected(){this.applyComputedPadding(),this.shouldWatchTokens()&&this.startTokenWatcher()}hostDisconnected(){this.stopTokenWatcher()}shouldWatchTokens(){const e=this.host;return Boolean(e.watchPaddingTokens)}hostUpdate(){this.applyComputedPadding(),this.computePadding();const e=this.shouldWatchTokens(),t=null!==this.intervalId;e&&!t?this.startTokenWatcher():!e&&t&&this.stopTokenWatcher()}startTokenWatcher(){const e=()=>{const e=getComputedStyle(this.host),t=[e.getPropertyValue("--pu-box-space-padding").trim(),e.getPropertyValue("--pu-box-space-padding-top").trim(),e.getPropertyValue("--pu-box-space-padding-right").trim(),e.getPropertyValue("--pu-box-space-padding-bottom").trim(),e.getPropertyValue("--pu-box-space-padding-left").trim(),e.getPropertyValue("--pu-box-space-padding-narrow").trim()],o=t.some(((e,t)=>e!==this.previousTokenValues[t]));o&&(this.previousTokenValues=t,this.computePadding())};e(),this.intervalId=window.setInterval(e,this.CHECK_INTERVAL)}stopTokenWatcher(){null!==this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null)}getMode(){return this.mode}splitCssShorthand(e){const t=e.trim().split(/\s+/);return 1===t.length?[t[0],t[0],t[0],t[0]]:2===t.length?[t[0],t[1],t[0],t[1]]:3===t.length?[t[0],t[1],t[2],t[1]]:t.slice(0,4)}applyComputedPadding(){const e=this.host,t=e.padding,o=e.paddingTop,i=e.paddingRight,r=e.paddingBottom,a=e.paddingLeft,s=e.paddingNarrow,n=Boolean(e.adaptivePadding),l=this.parseToLonghandEmArray(t),d=this.parseSingleToEm(o),p=this.parseSingleToEm(i),c=this.parseSingleToEm(r),u=this.parseSingleToEm(a),h=[d??(l?l[0]:void 0),p??(l?l[1]:void 0),c??(l?l[2]:void 0),u??(l?l[3]:void 0)],g=this.parseToCssShorthandEm(s),m=Boolean(t&&t.length||d||p||c||u||s&&s.length);this.mode=m?n?"adaptive":"fixed":"token",this.elementPadding={top:h[0],right:h[1],bottom:h[2],left:h[3],shorthand:h.every((e=>void 0!==e))?h.join(" "):void 0,narrow:g}}setCssVar(e,t){this.host.style.setProperty(e,t)}removeCssVar(e){this.host.style.removeProperty(e)}computePadding(){const e=getComputedStyle(this.host),t=e.getPropertyValue("--pu-box-space-padding").trim(),o=e.getPropertyValue("--pu-box-space-padding-top").trim(),i=e.getPropertyValue("--pu-box-space-padding-right").trim(),r
986=e.getPropertyValue("--pu-box-space-padding-bottom").trim(),a=e.getPropertyValue("--pu-box-space-padding-left").trim(),s=e.getPropertyValue("--pu-box-space-padding-narrow").trim(),n=t?this.splitCssShorthand(t):void 0,l=[o||(n?n[0]:""),i||(n?n[1]:""),r||(n?n[2]:""),a||(n?n[3]:"")],d=this.elementPadding.top,p=this.elementPadding.right,c=this.elementPadding.bottom,u=this.elementPadding.left,h=this.elementPadding.shorthand,g=this.elementPadding.narrow,m=h?h.split(/\s+/):void 0,b=[l[0]||d||m?.[0]||"",l[1]||p||m?.[1]||"",l[2]||c||m?.[2]||"",l[3]||u||m?.[3]||""],f=b.some((e=>""!==e));if(f){const e=b.map((e=>e||"0"));this.setCssVar("--padding",e.join(" "));const t=["block-start","inline-end","block-end","inline-start"];for(let o=0;o<4;o++)"0"!==e[o]&&this.setCssVar(`--padding-${t[o]}`,e[o])}else{this.removeCssVar("--padding");const e=["block-start","inline-end","block-end","inline-start"];for(const t of e)this.removeCssVar(`--padding-${t}`)}const v=s||g;v?this.setCssVar("--padding-narrow",v):this.removeCssVar("--padding-narrow")}parseToLonghandEmArray(e){if(!e)return;const t=e.trim();if(!t)return;if(t.includes("calc("))return;if(t.includes(",")){const e=t.split(",");if(e.length<1||e.length>4)return;const o=[];for(const t of e){const e=this.parseValueToEm(t);if(!e)return;o.push(e)}return this.expandToFour(o)}if(t.includes(" ")){const e=t.split(/\s+/);if(e.length<1||e.length>4)return;const o=[];for(const t of e){const e=this.parseValueToEm(t);if(!e)return;o.push(e)}return this.expandToFour(o)}const o=this.parseValueToEm(t);return o?this.expandToFour([o]):void 0}parseSingleToEm(e){if(!e)return;const t=e.trim();return t&&!t.includes("calc(")?this.parseValueToEm(t):void 0}parseToCssShorthandEm(e){const t=this.parseToLonghandEmArray(e);return t?t.join(" "):void 0}validateNonNegativeNumeric(e){const t=Number(e);return Number.isFinite(t)&&t>=0}numberToEm(e){const t=Number(e);return 0===t?"0":(t/16).toString()+"em"}lengthToEm(e){const t=e.trim().toLowerCase();if(!t)return;if(t.includes("calc("))return;const o=t.match(/^(\d+(?:\.\d+)?)(px|em|rem)$/);if(!o)return;const i=Number(o[1]),r=o[2];return!Number.isFinite(i)||i<0?void 0:0===i?"0":"em"===r||"rem"===r?i.toString()+"em":(i/16).toString()+"em"}parseValueToEm(e){const t=e.trim();if(t&&!t.includes("calc(")){if(/^\d+(?:\.\d+)?$/.test(t)){if(!this.validateNonNegativeNumeric(t))return;return this.numberToEm(t)}return this.lengthToEm(t)}}expandToFour(e){return 1===e.length?[e[0],e[0],e[0],e[0]]:2===e.length?[e[0],e[1],e[0],e[1]]:3===e.length?[e[0],e[1],e[2],e[1]]:e.slice(0,4)}}class ht extends Ue{constructor(){super(),this.fit="fill",this.fitNarrow="fill",this.adaptivePadding=!1,this.watchPaddingTokens=!1,this._paddingController=new ut(this)}boxStyles(){return void 0!==this.maxWidth&&this.maxWidth>0?this.style.maxWidth=this.maxWidth/16+"em":void 0!==this.maxWidth&&this.maxWidth<=0&&(this.style.maxWidth="100%"),{}}render(){return $`
987            <div
988                part="base box"
989                class="box${J({"box--adaptive-padding":this.adaptivePadding})}"
990                style="${He(this.boxStyles())}"
991            >
992                <div
993                    part="content"
994                    class="box__content"
995                >
996                    <slot></slot>
997                </div>
998            </div>
999        `}}ht.styles=[Me,ct],i([ke({reflect:!0})],ht.prototype,"fit",void 0),i([ke({reflect:!0})],ht.prototype,"fitNarrow",void 0),i([ke({type:Number})],ht.prototype,"maxWidth",void 0),i([ke()],ht.prototype,"padding",void 0),i([ke()],ht.prototype,"paddingNarrow",void 0),i([ke()],ht.prototype,"paddingTop",void 0),i([ke()],ht.prototype,"paddingRight",void 0),i([ke()],ht.prototype,"paddingBottom",void 0),i([ke()],ht.prototype,"paddingLeft",void 0),i([ke({type:Boolean})],ht.prototype,"adaptivePadding",void 0),i([ke({type:Boolean})],ht.prototype,"watchPaddingTokens",void 0);const gt=te`
1000    @media screen and (min-width: 48em) {
1001        .flex-justify--start {
1002            justify-content: start;
1003        }
1004        .flex-justify--center {
1005            justify-content: center;
1006        }
1007        .flex-justify--end {
1008            justify-content: end;
1009        }
1010        .flex-justify--space-evenly {
1011            justify-content: space-evenly;
1012        }
1013        .flex-justify--space-between {
1014            justify-content: space-between;
1015        }
1016        .flex-justify--space-around {
1017            justify-content: space-around;
1018        }
1019        .flex-justify--stretch {
1020            justify-content: stretch;
1021        }
1022    }
1023`,mt=te`
1024    @media screen and (min-width: 48em) {
1025        .flex-align--start {
1026            align-items: start;
1027        }
1028        .flex-align--center {
1029            align-items: center;
1030        }
1031        .flex-align--end {
1032            align-items: end;
1033        }
1034        .flex-align--baseline {
1035            align-items: baseline;
1036        }
1037        .flex-align--stretch {
1038            align-items: stretch;
1039        }
1040    }
1041`,bt=te`
1042    @media screen and (max-width: 47.9375em) {
1043        .flex-narrow-justify--start {
1044            justify-content: start;
1045        }
1046        .flex-narrow-justify--center {
1047            justify-content: center;
1048        }
1049        .flex-narrow-justify--end {
1050            justify-content: end;
1051        }
1052        .flex-narrow-justify--space-evenly {
1053            justify-content: space-evenly;
1054        }
1055        .flex-narrow-justify--space-between {
1056            justify-content: space-between;
1057        }
1058        .flex-narrow-justify--space-around {
1059            justify-content: space-around;
1060        }
1061        .flex-narrow-justify--stretch {
1062            justify-content: stretch;
1063        }
1064    }
1065`,ft=te`
1066    @media screen and (max-width: 47.9375em) {
1067        .flex-narrow-align--start {
1068            align-items: start;
1069        }
1070        .flex-narrow-align--center {
1071            align-items: center;
1072        }
1073        .flex-narrow-align--end {
1074            align-items: end;
1075        }
1076        .flex-narrow-align--baseline {
1077            align-items: baseline;
1078        }
1079        .flex-narrow-align--stretch {
1080            align-items: stretch;
1081        }
1082    }
1083`,vt=te`
1084    @media screen and (max-width: 64.9375em) {
1085        .flex-narrow-justify--start {
1086            justify-content: start;
1087        }
1088        .flex-narrow-justify--center {
1089            justify-content: center;
1090        }
1091        .flex-narrow-justify--end {
1092            justify-content: end;
1093        }
1094        .flex-narrow-justify--space-evenly {
1095            justify-content: space-evenly;
1096        }
1097        .flex-narrow-justify--space-between {
1098            justify-content: space-between;
1099        }
1100        .flex-narrow-justify--space-around {
1101            justify-content: space-around;
1102        }
1103        .flex-narrow-justify--stretch {
1104            justify-content: stretch;
1105        }
1106    }
1107`,yt=te`
1108    @media screen and (max-width: 64.9375em) {
1109        .flex-narrow-align--start {
1110            align-items: start;
1111        }
1112        .flex-narrow-align--center {
1113            align-items: center;
1114        }
1115        .flex-narrow-align--end {
1116            align-items: end;
1117        }
1118        .flex-narrow-align--baseline {
1119            align-items: baseline;
1120        }
1121        .flex-narrow-align--stretch {
1122            align-items: stretch;
1123        }
1124    }
1125`,wt=[te`
1126    /* Host element responsive fit behavior */
1127    :host,
1128    :host([fit='fill']) {
1129        display: block;
1130        width: 100%;
1131        height: 100%;
1132    }
1133    :host([fit='fit-content']) {
1134        height: fit-content;
1135    }
1136    :host([fit='auto']) {
1137        height: auto;
1138    }
1139
1140    @media only screen and (max-width: 48em) {
1141        :host,
1142        :host([fitNarrow='fill']) {
1143            display: block;
1144            width: 100%;
1145            height: 100%;
1146        }
1147        :host([fitNarrow='fit-content']) {
1148            height: fit-content;
1149        }
1150        :host([fitNarrow='auto']) {
1151            height: auto;
1152        }
1153    }
1154
1155    /* Flex container foundation */
1156    .vertical-stack {
1157        display: flex;
1158        flex-direction: column;
1159        height: 100%;
1160    }
1161
1162    @media screen and (min-width: 48.06em) {
1163        .vertical-stack {
1164            row-gap: var(--pu-grid-gap-y, var(--gap-y, 1em));
1165        }
1166    }
1167
1168    @media screen and (max-width: 48em) {
1169        .vertical-stack {
1170            row-gap: var(--pu-grid-gap-y-narrow, var(--gap-y-narrow, 1em));
1171        }
1172    }
1173
1174    /* Slotted element foundation */
1175    ::slotted(*) {
1176        flex-shrink: 1;
1177        height: auto;
1178    }
1179`,gt,bt,mt,ft,te`
1180    /* Value-Based Property API - Justify stretch behavior for slotted elements */
1181    .vertical-stack.flex-justify--stretch ::slotted(*) {
1182        flex-grow: 1;
1183        flex-shrink: 0;
1184    }
1185
1186    /* Value-Based Property API - Align stretch behavior for slotted elements */
1187    .vertical-stack.flex-align--stretch ::slotted(*) {
1188        display: block;
1189        width: 100%;
1190    }
1191`];class xt extends Ue{constructor(){super(...arguments),this.fit="fill",this.fitNarrow="fill",this.align="stretch",this.justify="start"}stackStyles(){let e={};return this.spacing&&(e={...e,"--gap-y":Number(this.spacing)/16+"em"}),this.spacingNarrow?e={...e,"--gap-y-narrow":Number(this.spacingNarrow)/16+"em"}:this.spacing&&(e={...e,"--gap-y-narrow":Number(this.spacing)/16+"em"}),e}stackClasses(){const e={};return e["flex-justify--"+this.justify]=!0,e["flex-align--"+this.align]=!0,this.justifyNarrow?e["flex-narrow-justify--"+this.justifyNarrow]=!0:e["flex-narrow-justify--"+this.justify]=!0,this.alignNarrow?e["flex-narrow-align--"+this.alignNarrow]=!0:e["flex-narrow-align--"+this.align]=!0,e}render(){return $`
1192            <div
1193                part="base vertical-stack"
1194                class="vertical-stack${J(this.stackClasses())}"
1195                style="${He(this.stackStyles())}"
1196            >
1197                <slot></slot>
1198            </div>
1199        `}}xt.styles=[Me,wt],i([ke({reflect:!0})],xt.prototype,"fit",void 0),i([ke({reflect:!0})],xt.prototype,"fitNarrow",void 0),i([ke()],xt.prototype,"spacing",void 0),i([ke()],xt.prototype,"spacingNarrow",void 0),i([ke()],xt.prototype,"align",void 0),i([ke()],xt.prototype,"justify",void 0),i([ke()],xt.prototype,"alignNarrow",void 0),i([ke()],xt.prototype,"justifyNarrow",void 0);class _t extends Ue{get mobileAdapt(){return this.adaptNarrow}set mobileAdapt(e){this._handleDeprecated("mobileAdapt",e)}get mobileContentJustify(){return this.contentJustifyNarrow}set mobileContentJustify(e){this._handleDeprecated("mobileContentJustify",e)}get mobilePadding(){return this.paddingNarrow}set mobilePadding(e){this._handleDeprecated("mobilePadding",e)}_handleDeprecated(e,t){st(this,e,t,this.deprecatedPropertyMap)}constructor(){super(),this.height="medium",this.adaptNarrow=!1,this.contentPosition="over",this.contentFullWidth=!1,this.contentAlign="center",this.contentJustify="center",this.contentAdaptivePadding=!1,this._contentHidden=!0,this.deprecatedPropertyMap=[{old:"mobileAdapt",new:"adaptNarrow",defaultValue:!1},{old:"mobileContentJustify",new:"contentJustifyNarrow",defaultValue:void 0},{old:"mobilePadding",new:"paddingNarrow",defaultValue:void 0}],this._hasContentSlot=new Xe(this,"content"),this.addEventListener("media-details",this.eventNotifications)}async eventNotifications(e){"media-details"===e.type&&(e.detail.mediaAspectRatio&&(this._mediaAspectRatio=e.detail.mediaAspectRatio.toString()),e.detail.narrowMediaAspectRatio?this._narrowMediaAspectRatio=e.detail.narrowMediaAspectRatio.toString():e.detail.mediaAspectRatio&&(this._mediaAspectRatio=e.detail.mediaAspectRatio.toString()))}handleSlotchange(e){e.target&&"content"===e.target.getAttribute("name")&&(this._contentHidden=!1)}bannerStyles(){let e={};return this._mediaAspectRatio&&(e={...e,"--pu-aspect-ratio":this._mediaAspectRatio}),this._narrowMediaAspectRatio?e={...e,"--pu-banner-media-aspect-narrow":this._narrowMediaAspectRatio}:this._mediaAspectRatio&&(e={...e,"--pu-banner-media-aspect-narrow":this._mediaAspectRatio}),e}bannercontentStyles(){let e={};return e={...e,"--pu-size-width":this.contentFullWidth?"100%":"auto"},e}contentOuter(){return $`
1200            ${this._hasContentSlot.test("content")?$`
1201                      <pu-box
1202                          part="banner-content"
1203                          exportparts="box-base,box-content"
1204                          class="banner__content"
1205                          padding=${"over"===this.contentPosition&&this.contentOuterPadding?this.contentOuterPadding:"0"}
1206                          paddingNarrow="0"
1207                      >
1208                          ${this.contentInner(this.contentFullWidth)}
1209                      </pu-box>
1210                  `:z}
1211        `}contentInner(e){return $`
1212            <pu-box
1213                part="banner-caption"
1214                exportparts="box-base,box-content"
1215                class="banner__caption"
1216                padding=${Ze(this.contentInnerPadding)}
1217                paddingNarrow=${Ze(this.paddingNarrow)}
1218                ?adaptivePadding=${this.contentAdaptivePadding}
1219                width="${e?"fill":"fit-content"}"
1220            >
1221                <pu-vertical-stack
1222                    part="banner-caption-layout"
1223                    exportparts="layout-base"
1224                    class="caption-inner"
1225                    fit="fill"
1226                    align=${this.contentJustify}
1227                    alignNarrow=${Ze(this.contentJustifyNarrow)}
1228                    spacing="${Ze(this.contentSpacing)}"
1229                >
1230                    <slot
1231                        name="content"
1232                        @slotchange=${this.handleSlotchange}
1233                    ></slot>
1234                </pu-vertical-stack>
1235            </pu-box>
1236        `}content(){return"over"===this.contentPosition||"side"===this.contentPosition?$` ${this.contentOuter()} `:$` ${this.contentInner(!0)} `}render(){const e="under"===this.contentPosition||"above"===this.contentPosition||"side"===this.contentPosition;return $`
1237            <div
1238                part="base banner"
1239                class="${J({banner:!0,"media-narrow-adapt":this.adaptNarrow,"content--inline":e,[`content-position--${this.contentPosition}`]:e,[`media-height--${this.height}`]:!0})}"
1240                style="${He(this.bannerStyles())}"
1241            >
1242                <div
1243                    part="container"
1244                    class="banner__container"
1245                >
1246                    <div
1247                        part="banner-media"
1248                        class="banner__media"
1249                    >
1250                        <slot name="media"></slot>
1251                    </div>
1252                    <div
1253                        part="content"
1254                        class="banner__content${J({"content--hiddent":this._contentHidden,[`content-align--${this.contentAlign}`]:!0,[`content-justify--${this.contentJustify}`]:!0})}"
1255                        style="${He(this.bannercontentStyles())}"
1256                    >
1257                        ${this.content()}
1258                    </div>
1259                </div>
1260            </div>
1261        `}}
1261_t.styles=[Me,pt],_t.dependencies={"pu-box":ht,"pu-vertical-stack":xt},i([ke()],_t.prototype,"height",void 0),i([ke({type:Boolean})],_t.prototype,"adaptNarrow",void 0),i([ke()],_t.prototype,"contentPosition",void 0),i([ke({type:Boolean})],_t.prototype,"contentFullWidth",void 0),i([ke()],_t.prototype,"contentAlign",void 0),i([ke()],_t.prototype,"contentJustify",void 0),i([ke()],_t.prototype,"contentJustifyNarrow",void 0),i([ke()],_t.prototype,"contentSpacing",void 0),i([ke({type:Boolean})],_t.prototype,"contentAdaptivePadding",void 0),i([ke()],_t.prototype,"contentInnerPadding",void 0),i([ke()],_t.prototype,"contentOuterPadding",void 0),i([ke()],_t.prototype,"paddingNarrow",void 0),i([Ce()],_t.prototype,"_mediaAspectRatio",void 0),i([Ce()],_t.prototype,"_narrowMediaAspectRatio",void 0),i([Ce()],_t.prototype,"_contentHidden",void 0),i([ke({type:Boolean})],_t.prototype,"mobileAdapt",null),i([ke()],_t.prototype,"mobileContentJustify",null),i([ke()],_t.prototype,"mobilePadding",null),_t.define("pu-banner");const kt=te`
1262    .placeholder {
1263        height: 100%;
1264        width: 100%;
1265    }
1266    .placeholder-inner {
1267        background-color: rgb(
1268            from var(--pu-skeleton-color-background, var(--pu-color-background, hsl(240, 8%, 5%))) r g b / alpha
1269        );
1270        display: flex;
1271        justify-content: center;
1272        align-items: center;
1273        height: 100%;
1274        width: 100%;
1275    }
1276    .placeholder .icon {
1277        color: rgb(from var(--pu-skeleton-color-foreground, var(--pu-color-foreground, hsl(240, 5%, 84%))) r g b / alpha);
1278        display: block;
1279        height: 50%;
1280        width: 50%;
1281    }
1282`,Ct=[te`
1283    /* Foundation image styling */
1284    .image {
1285        object-fit: cover;
1286        height: 100%;
1287        width: 100%;
1288        max-width: 100%;
1289    }
1290
1291    /* Responsive image art direction (static responsive behavior) */
1292    .tablet-up {
1293        display: block;
1294    }
1295    .tablet-down {
1296        display: none;
1297    }
1298
1299    @media only screen and (max-width: 48em) {
1300        .tablet-up {
1301            display: none;
1302        }
1303        .tablet-down {
1304            display: block;
1305        }
1306    }
1307`,kt,te`
1308    /* API: narrow image fallback behavior (boolean property: narrowSrc) */
1309    @media only screen and (max-width: 48em) {
1310        .only-tablet-up {
1311            display: block;
1312        }
1313    }
1314`];class $t extends Ue{constructor(){super(...arguments),this.alt="",this.width=100,this.height=100,this.heightNarrow=100,this.widthNarrow=100,this.load="lazy"}getAspectRatio(){return{default:(this.width/this.height).toString(),small:(this.widthNarrow/this.heightNarrow).toString()}}wideImage(){return this.src?$`
1315                <img
1316                    part="banner-image tablet-up"
1317                    alt="${this.alt}"
1318                    src="${Ze(this.src)}"
1319                    srcset="${Ze(this.srcSet)}"
1320                    sizes="${Ze(this.sizes)}"
1321                    width="${this.width}"
1322                    height="${this.height}"
1323                    loading="${this.load}"
1324                    class="${J({image:!0,"tablet-up":!0,"only-tablet-up":!this.srcNarrow})}"
1325                />
1326            `:$`
1327            <div
1328                class="${J({image:!0,placeholder:!0,wide:!0,"without-narrow":!this.srcNarrow})}"
1329                style="aspect-ratio: ${this.width/this.height}"
1330            >
1331                <div class="placeholder-inner">
1332                    <svg
1333                        class="icon"
1334                        xmlns="http://www.w3.org/2000/svg"
1335                        height="1em"
1336                        viewBox="0 0 576 512"
1337                        fill="currentcolor"
1338                    >
1339                        <path
1340                            d="M70.5 138.1C31 172.2 16 219.1 16 272c0 52 18.4 91.6 46.9 118.3C91.6 417.2 131.5 432 176 432h8.4c18.2 0 34.8-10.3 42.9-26.5l23.2-46.3C257.6 345 272.1 336 288 336s30.4 9 37.5 23.2l23.2 46.3c8.1 16.3 24.8 26.5 42.9 26.5H400c44.5 0 84.4-14.8 113.1-41.7C541.6 363.6 560 324 560 272c0-52.9-15-99.8-54.5-133.9C465.6 103.6 398.1 80 288 80s-177.6 23.6-217.5 58.1zM0 272C0 160 64 64 288 64s288 96 288 208s-80 176-176 176h-8.4c-24.2 0-46.4-13.7-57.2-35.4l-23.2-46.3c-4.4-8.8-13.3-14.3-23.2-14.3s-18.8 5.5-23.2 14.3l-23.2 46.3c-10.8 21.7-33 35.4-57.2 35.4H176C80 448 0 384 0 272zm160 32a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0-112a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm304 64a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-112 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z"
1341                        />
1342                    </svg>
1343                </div>
1344            </div>
1345        `}render(){return $`
1346            ${this.src?$`
1347                      <img
1348                          part="banner-image tablet-up"
1349                          alt="${this.alt}"
1350                          src="${Ze(this.src)}"
1351                          srcset="${Ze(this.srcSet)}"
1352                          sizes="${Ze(this.sizes)}"
1353                          height="${this.height}"
1354                          width="${this.width}"
1355                          loading="${this.load}"
1356                          class="${J({image:!0,"tablet-up":!0,"only-tablet-up":!this.srcNarrow})}"
1357                      />
1358                  `:$`
1359                      <div
1360                          class="${J({image:!0,wide:!0,placeholder:!0,"only-tablet-up":!this.srcNarrow})}"
1361                          style="aspect-ratio: ${this.width/this.height}"
1362                      >
1363                          <div class="placeholder-inner">
1364                              <svg
1365                                  class="icon"
1366                                  xmlns="http://www.w3.org/2000/svg"
1367                                  height="1em"
1368                                  viewBox="0 0 576 512"
1369                                  fill="currentcolor"
1370                              >
1371                                  <path
1372                                      d="M70.5 138.1C31 172.2 16 219.1 16 272c0 52 18.4 91.6 46.9 118.3C91.6 417.2 131.5 432 176 432h8.4c18.2 0 34.8-10.3 42.9-26.5l23.2-46.3C257.6 345 272.1 336 288 336s30.4 9 37.5 23.2l23.2 46.3c8.1 16.3 24.8 26.5 42.9 26.5H400c44.5 0 84.4-14.8 113.1-41.7C541.6 363.6 560 324 560 272c0-52.9-15-99.8-54.5-133.9C465.6 103.6 398.1 80 288 80s-177.6 23.6-217.5 58.1zM0 272C0 160 64 64 288 64s288 96 288 208s-80 176-176 176h-8.4c-24.2 0-46.4-13.7-57.2-35.4l-23.2-46.3c-4.4-8.8-13.3-14.3-23.2-14.3s-18.8 5.5-23.2 14.3l-23.2 46.3c-10.8 21.7-33 35.4-57.2 35.4H176C80 448 0 384 0 272zm160 32a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0-112a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm304 64a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-112 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z"
1373                                  />
1374                              </svg>
1375                          </div>
1376                      </div>
1377                  `}
1378            ${this.srcNarrow?$` <img
1379                      part="banner-image tablet-down"
1380                      alt="${Ze(this.alt)}"
1381                      src="${Ze(this.srcNarrow)}"
1382                      srcset="${Ze(this.srcSetNarrow)}"
1383                      sizes="${Ze(this.sizesNarrow)}"
1384                      height="${this.heightNarrow}"
1385                      width="${this.widthNarrow}"
1386                      loading="${this.load}"
1387                      class="image tablet-down"
1388                  />`:""}
1389        `}}$t.styles=[Me,Ct],i([ke()],$t.prototype,"alt",void 0),i([ke()],$t.prototype,"src",void 0),i([ke()],$t.prototype,"srcSet",void 0),i([ke()],$t.prototype,"sizes",void 0),i([ke({type:Number})],$t.prototype,"width",void 0),i([ke({type:Number})],$t.prototype,"height",void 0),i([ke()],$t.prototype,"srcNarrow",void 0),i([ke()],$t.prototype,"srcSetNarrow",void 0),i([ke()],$t.prototype,"sizesNarrow",void 0),i([ke({type:Number})],$t.prototype,"heightNarrow",void 0),i([ke({type:Number})],$t.prototype,"widthNarrow",void 0),i([ke()],$t.prototype,"load",void 0),$t.define("pu-banner-image");const St=new WeakMap,zt=new WeakMap,At=new WeakMap,Pt=new WeakSet,Nt=new WeakMap;class Et{constructor(e,t){this.handleFormData=e=>{const t=this.options.disabled(this.host),o=this.options.name(this.host),i=this.options.value(this.host),r="pu-button"===this.host.tagName.toLowerCase();this.host.isConnected&&!t&&!r&&"string"==typeof o&&o.length>0&&void 0!==i&&(Array.isArray(i)?i.forEach((t=>{e.formData.append(o,t.toString())})):e.formData.append(o,i.toString()))},this.handleFormSubmit=e=>{const t=this.options.disabled(this.host),o=this.options.reportValidity;this.form&&!this.form.noValidate&&St.get(this.form)?.forEach((e=>{this.setUserInteracted(e,!0)})),!this.form||this.form.noValidate||t||o(this.host)||(e.preventDefault(),e.stopImmediatePropagation())},this.handleInteraction=e=>{const t=Nt.get(this.host);t.includes(e.type)||t.push(e.type),t.length===this.options.assumeInteractionOn.length&&this.setUserInteracted(this.host,!0)},this.checkFormValidity=()=>{if(this.form&&!this.form.noValidate){const e=this.form.querySelectorAll("*");for(const t of e)if("function"==typeof t.checkValidity&&!t.checkValidity())return!1}return!0},this.reportFormValidity=()=>{if(this.form&&!this.form.noValidate){const e=this.form.querySelectorAll("*");for(const t of e)if("function"==typeof t.reportValidity&&!t.reportValidity())return!1}return!0},(this.host=e).addController(this),this.options={form:e=>{const t=e.form;if(t){const o=e.getRootNode().querySelector(`#${t}`);if(o)return o}return e.closest("form")},name:e=>e.name,value:e=>e.value,defaultValue:e=>e.defaultValue,disabled:e=>e.disabled??!1,reportValidity:e=>"function"!=typeof e.reportValidity||e.reportValidity(),checkValidity:e=>"function"!=typeof e.checkValidity||e.checkValidity(),setValue:(e,t)=>e.value=t,assumeInteractionOn:["pu-input"],...t}}hostConnected(){const e=this.options.form(this.host);e&&this.attachForm(e),Nt.set(this.host,[]),this.options.assumeInteractionOn.forEac
vendor: 6,386 bytes, lines 1389-1494
1389h((e=>{this.host.addEventListener(e,this.handleInteraction)}))}hostDisconnected(){this.detachForm(),Nt.delete(this.host),this.options.assumeInteractionOn.forEach((e=>{this.host.removeEventListener(e,this.handleInteraction)}))}hostUpdated(){const e=this.options.form(this.host);e||this.detachForm(),e&&this.form!==e&&(this.detachForm(),this.attachForm(e)),this.host.hasUpdated&&this.setValidity(this.host.validity.valid)}attachForm(e){e?(this.form=e,St.has(this.form)?St.get(this.form).add(this.host):St.set(this.form,new Set([this.host])),this.form.addEventListener("formdata",this.handleFormData),this.form.addEventListener("submit",this.handleFormSubmit),zt.has(this.form)||(zt.set(this.form,this.form.reportValidity),this.form.reportValidity=()=>this.reportFormValidity()),At.has(this.form)||(At.set(this.form,this.form.checkValidity),this.form.checkValidity=()=>this.checkFormValidity())):this.form=void 0}detachForm(){if(!this.form)return;const e=St.get(this.form);e&&(e.delete(this.host),e.size<=0&&(this.form.removeEventListener("formdata",this.handleFormData),this.form.removeEventListener("submit",this.handleFormSubmit),zt.has(this.form)&&(this.form.reportValidity=zt.get(this.form),zt.delete(this.form)),At.has(this.form)&&(this.form.checkValidity=At.get(this.form),At.delete(this.form)),this.form=void 0))}setUserInteracted(e,t){t?Pt.add(e):Pt.delete(e),e.requestUpdate()}doAction(e,t){if(this.form){const o=document.createElement("button");o.type=e,o.style.position="absolute",o.style.width="0",o.style.height="0",o.style.clipPath="inset(50%)",o.style.overflow="hidden",o.style.whiteSpace="nowrap",t&&(o.name=t.name,o.value=t.value,["formaction","formenctype","formmethod","formnovalidate","formtarget"].forEach((e=>{t.hasAttribute(e)&&o.setAttribute(e,t.getAttribute(e))}))),this.form.append(o),o.click(),o.remove()}}getForm(){return this.form??null}submit(e){this.doAction("submit",e)}setValidity(e){const t=this.host,o=Boolean(Pt.has(t)),i=Boolean(t.required);t.toggleAttribute("data-required",i),t.toggleAttribute("data-optional",!i),t.toggleAttribute("data-invalid",!e),t.toggleAttribute("data-valid",e),t.toggleAttribute("data-user-invalid",!e&&o),t.toggleAttribute("data-user-valid",e&&o)}updateValidity(){const e=this.host;this.setValidity(e.validity.valid)}emitInvalidEvent(e){const t=new CustomEvent("pu-invalid",{bubbles:!1,composed:!1,cancelable:!0,detail:{}});e||t.preventDefault(),this.host.dispatchEvent(t)||e?.preventDefault()}}const Bt=Object.freeze({badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:!0,valueMissing:!1});Object.freeze({...Bt,valid:!1,valueMissing:!0}),Object.freeze({...Bt,valid:!1,customError:!0});const Tt=[te`
1390    :host {
1391        font-size: 16px;
1392        --font-family: var(--pu-button-font-family, var(--pu-text-body-family, inherit));
1393        --font-weight: var(--pu-button-font-weight, var(--pu-font-weight-700, 700));
1394        --foreground-color: var(--pu-button-color-foreground, var(--pu-color-background, rgb(255, 255, 255)));
1395        --background-color: var(--pu-button-color-background, var(--pu-color-foreground, rgb(0, 0, 0)));
1396        --border-color: var(--pu-button-border-color, var(--background-color, var(--foreground-color, rgb(0, 0, 0))));
1397        --border-radius: var(--pu-button-border-radius, var(--pu-border-radius));
1398        --border-width: var(--pu-button-border-width, var(--pu-border-width, 0.0625em));
1399    }
1400    :host([fullwidth]),
1401    :host([fullwidthnarrow]) {
1402        width: 100%;
1403    }
1404
1405    :host([hideWhenExtended]) {
1406        display: block;
1407        overflow: hidden;
1408        width: 0;
1409        height: 0 !important;
1410        margin: -1px;
1411        padding: 0;
1412        border: 0;
1413        clip: rect(0 0 0 0);
1414    }
1415    /* Base Button Styles */
1416    .button {
1417        cursor: pointer;
1418        font-family: var(--font-family);
1419        font-weight: var(--font-weight);
1420        line-height: 1;
1421        letter-spacing: 0.06em;
1422        color: rgb(from var(--foreground-color) r g b / alpha);
1423        background-color: rgb(from var(--background-color) r g b / alpha);
1424        background-clip: padding-box;
1425        border-color: rgb(from var(--border-color) r g b / alpha);
1426        border-radius: var(--border-radius);
1427        border-width: var(--border-width);
1428        border-style: solid;
1429        outline: none;
1430        text-decoration: none;
1431        min-height: var(--pu-button-size-height, var(--pu-size-height, 3em));
1432        padding: var(--pu-button-space-padding, 0 2em);
1433        width: var(--pu-button-size-width, auto);
1434        appearance: none;
1435        --webkit-appearance: none;
1436    }
1437    .button__label {
1438        font-size: var(--pu-button-font-size, var(--pu-text-body-size-md, 1em));
1439    }
1440
1441    .button > * {
1442        /* Child elements */
1443        --pu-color-foreground: var(--foreground-color);
1444    }
1445
1446    a.button {
1447        display: inline-flex;
1448        align-items: center;
1449        line-height: normal;
1450    }
1451
1452    .button__label {
1453        display: flex;
1454        gap: 0.25em;
1455        align-items: center;
1456        justify-content: center;
1457        width: 100%;
1458    }
1459
1460    .button__label ::slotted(*) {
1461        --pu-text-space-margin-bottom: 0;
1462    }
1463
1464    .button:active {
1465        outline: none;
1466    }
1467
1468    .button:not(.btn--plain):not(.btn--plain-underline):not(.btn--outline):hover {
1469        box-shadow: 0 0 0 0.0625em rgb(from var(--pu-color-button-hover, var(--background-color)) r g b / alpha);
1470    }
1471
1472    .button:focus-visible:not([disabled]):not(.btn--plain):not(.btn--plain-underline),
1473    .button:focus-visible:not([disabled]).btn--extend-hidden::after {
1474        outline: none;
1475        border-color: rgb(from var(--pu-color-focus-border, inherit) r g b / alpha);
1476        box-shadow:
1477            0 0 0 0.0625em rgb(from var(--pu-color-focus-background) r g b / alpha),
1478            0 0 0 0.25em rgb(from var(--pu-color-focus-ring, hsl(213.1 93.9% 67.8%)) r g b / alpha);
1479    }
1480
1481    .button__spinner {
1482        animation-name: spin;
1483        animation-duration: 500ms;
1484        animation-timing-function: cubic-bezier(0, 0, 1, 1);
1485        animation-iteration-count: infinite;
1486        animation-direction: both;
1487        fill: currentColor;
1488        height: 1em;
1489        left: 50%;
1490        margin: calc(1em / 2 * -1) 0 0 calc(1em / 2 * -1);
1491        position: absolute;
1492        top: 50%;
1493        width: 1em;
1494    }
1495    @keyframes spin {
1496        to {
1497            transform: rotate(1turn);
1498        }
1499    }
1500
1501    /* Multi-Variant Child Element Styles - Kept in component scope since it affects multiple variants */
1502    .btn--plain > *,
1503    .btn--plain-underline > *,
1504    .btn--outline > * {
1505        /* Child elements */
1506        --pu-color-foreground: var(--background-color);
1507    }
1508`,te`
1509    /* Button Outline */
1510    :host {
1511        --outline-foreground-color: var(--pu-button-color-background, var(--pu-color-background-inverse, inherit));
1512        --outline-background-color-hover: var(--pu-button-color-background, var(--pu-color-foreground, currentColor));
1513    }
1514
1515    .btn--outline {
1516        background-color: transparent;
1517        border-color: rgb(from var(--outline-foreground-color) r g b / alpha);
1518        color: rgb(from var(--outline-foreground-color) r g b / alpha);
1519    }
1520
1521    .btn--outline:hover {
1522        border-color: transparent;
1523        box-shadow: 0 0 0 0.0625em
1524            rgb(from var(--pu-color-button-hover, var(--outline-background-color-hover)) r g b / alpha);
1525    }
1526
1527    .btn--outline > * {
1528        --pu-color-foreground: rgb(from var(--pu-button-color-background, inherit) r g b / alpha);
1529    }
1530
1531    .btn--outline[disabled],
1532    .btn--outline[disabled]:hover {
1533        cursor: default;
1534        box-shadow: none;
1535        color: rgb(from var(--pu-color-background-disabled, hsl(240, 4%, 46%)) R G B / alpha);
1536        border-color: rgb(from var(--pu-color-background-disabled, hsl(240, 4%, 46%)) R G B / alpha);
1537        background-color: transparent;
1538    }
1539`,te`
1540    /* Button Plain, Button Plain Underline */
1541    .btn--plain,
1542    .btn--plain-underline {
1543        border: none;
1544        padding: 0;
1545        height: auto;
1546        background-color: transparent;
1547        color: rgb(from var(--pu-color-foreground) r g b / alpha);
1548    }
1549
1550    /* Button Plain Underline */
1551    .btn--plain-underline {
1552        text-decoration: underline;
1553        text-underline-offset: 0.2em;
1554        transition: text-decoration-color 0.2s;
1555    }
1556
1557    .btn--plain-underline:not([disabled]):hover {
1558        text-decoration-color: rgb(from var(--pu-color-foreground) r g b / 0.5);
1559    }
1560
1561    /* Button Plain */
1562    .btn--plain:not(.btn--plain-underline):not([disabled]):hover,
1563    .btn--plain:not(.btn--plain-underline):not([disabled]):focus-visible {
1564        text-decoration-line: underline;
1565        text-underline-offset: 0.2em;
1566    }
1567
1568    .btn--plain:not([disabled]):hover,
1569    .btn--plain:not([disabled]):focus-visible {
1570        text-decoration-thickness: 0.0625em;
1571    }
1572
1573    .btn--plain-underline:not([disabled]):focus-visible {
1574        outline: none;
1575        box-shadow: none;
1576        text-decoration-thickness: 0.125em;
1577        text-underline-offset: 0.25em;
1578        text-decoration-color: var(--pu-color-focus-ring, hsl(213.1 93.9% 67.8%));
1579    }
1580
1581    /* Focus-visible styles for both plain and plain-underline buttons */
1582    .btn--plain:not([disabled]):focus-visible,
1583    .btn--plain-underline:not([disabled]):focus-visible {
1584        text-decoration-color: var(--pu-color-focus-ring, hsl(213.1 93.9% 67.8%));
1585        text-decoration-thickness: 0.125em;
1586    }
1587
1588    .btn--plain[disabled],
1589    .btn--plain-underline[disabled],
1590    .btn--plain[disabled]:hover,
1591    .btn--plain-underline[disabled]:hover,
1592    .btn--plain.button--disabled,
1593    .btn--plain-underline.button--disabled {
1594        background-color: transparent;
1595        color: rgb(from var(--pu-color-foreground-disabled, rgb(160, 160, 160)) r g b / alpha);
1596    }
1597`,te`
1598    /* Component Public API Classes - tied to component properties */
1599
1600    /* Boolean Property Classes */
1601    .btn--fullwidth {
1602        width: 100%;
1603    }
1604
1605    .btn--extend:not([disabled]):after {
1606        content: '';
1607        position: absolute;
1608        top: 0;
1609        left: 0;
1610        height: 100%;
1611        width: 100%;
1612        z-index: 20;
1613        cursor: pointer;
1614    }
1615
1616    /* Disabled State Styles */
1617    .button--disabled {
1618        pointer-events: none;
1619    }
1620
1621    .button[disabled],
1622    .button[disabled]:hover,
1623    .button--disabled,
1624    .button--disabled:hover {
1625        cursor: default;
1626    }
1627
1628    .button[disabled]:not(.btn--plain):not(.btn--plain-underline):not(.btn--outline),
1629    .button[disabled]:not(.btn--plain):not(.btn--plain-underline):not(.btn--outline):hover,
1630    .button--disabled:not(.btn--plain):not(.btn--plain-underline):not(.btn--outline),
1631    .button--disabled:not(.btn--plain):not(.btn--plain-underline):not(.btn--outline):hover {
1632        border: none;
1633        box-shadow: none;
1634        background-color: rgb(from var(--pu-button-border-color, var(--background-color)) r g b / 0.5);
1635    }
1636
1637    /* Loading State Styles */
1638    .btn--loading {
1639        position: relative;
1640    }
1641    .btn--loading ::slotted(*),
1642    .btn--loading .button__label {
1643        opacity: 0;
1644    }
1645
1646    /* Property Value Classes - Size variants */
1647    .btn--size-large:not(.btn--plain):not(.btn--plain-underline) {
1648        padding: var(--pu-button-space-padding, 0 2em);
1649        --pu-size-height: 3em;
1650    }
1651    .btn--size-medium:not(.btn--plain):not(.btn--plain-underline) {
1652        padding: var(--pu-button-space-padding, 0 1.5em);
1653        --pu-size-height: 2.75em;
1654    }
1655    .btn--size-small:not(.btn--plain):not(.btn--plain-underline) {
1656        padding: var(--pu-button-space-padding, 0 1em);
1657        --pu-size-height: 2.5em;
1658    }
1659    .btn--size-xsmall:not(.btn--plain):not(.btn--plain-underline) {
1660        padding: var(--pu-button-space-padding, 0 0.75em);
1661        --pu-size-height: 2em;
1662    }
1663    .btn--size-slim:not(.btn--plain):not(.btn--plain-underline) {
1664        padding: var(--pu-button-space-padding, 0 0.75em);
1665        --pu-size-height: 1.5em;
1666    }
1667
1668    .btn--size-large:not(.btn--plain):not(.btn--plain-underline) .button__label {
1669        font-size: var(--pu-button-font-size, var(--pu-text-body-size-md, 1em));
1670    }
1671    .btn--size-medium:not(.btn--plain):not(.btn--plain-underline) .button__label {
1672        font-size: var(--pu-button-font-size, var(--pu-text-body-size-sm, 0.875em));
1673    }
1674    .btn--size-small:not(.btn--plain):not(.btn--plain-underline) .button__label {
1675        font-size: var(--pu-button-font-size, var(--pu-text-body-size-sm, 0.875em));
1676        font-weight: var(--pu-button-font-weight, var(--pu-font-we
1676ight-400, 400));
1677    }
1678    .btn--size-xsmall:not(.btn--plain):not(.btn--plain-underline) .button__label {
1679        font-size: var(--pu-button-font-size, var(--pu-text-body-size-xs, 0.75em));
1680        font-weight: var(--pu-button-font-weight, var(--pu-font-weight-400, 400));
1681    }
1682    .btn--size-slim:not(.btn--plain):not(.btn--plain-underline) .button__label {
1683        font-weight: var(--pu-button-font-weight, var(--pu-font-weight-400));
1684        font-size: var(--pu-button-font-size, var(--pu-text-body-size-xs, 0.75em));
1685    }
1686    .btn--size-large.btn--plain .button__label,
1687    .btn--size-medium.btn--plain .button__label,
1688    .btn--size-small.btn--plain .button__label {
1689        font-size: var(--pu-button-font-size, var(--pu-text-body-size-sm, 0.875em));
1690    }
1691    .btn--size-slim.btn--plain .button__label {
1692        font-size: var(--pu-button-font-size, var(--pu-text-body-size-xs, 0.75em));
1693    }
1694
1695    /* Property Value Classes - Text alignment */
1696    .btn--text-align-left .button__label {
1697        justify-content: start;
1698    }
1699    .btn--text-align-center .button__label {
1700        justify-content: center;
1701    }
1702    .btn--text-align-right .button__label {
1703        justify-content: end;
1704    }
1705`];class It extends Ue{constructor(){super(...arguments),this.formControlController=new Et(this,{assumeInteractionOn:["click"]}),this.type="button",this.title="",this.name="",this.value="",this.target="_self",this.size="medium",this.variant="solid",this.textAlign="center",this.disabled=!1,this.fullWidth=!1,this.extendClickArea=!1,this.hideWhenExtended=!1,this.loading=!1,this.invalid=!1}get validity(){return this.isFormButton()?this.button.validity:Bt}get validationMessage(){return this.isFormButton()?this.button.validationMessage:""}firstUpdated(){this.isFormButton()&&this.formControlController.updateValidity()}handleClick(){"submit"===this.type&&this.formControlController.submit(this)}handleInvalid(e){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(e)}handleDisabledChange(){this.isFormButton()&&this.formControlController.setValidity(this.disabled)}click(){this.button.click()}focus(e){this.button.focus(e)}blur(){this.button.blur()}checkValidity(){return!this.isFormButton()||this.button.checkValidity()}getForm(){return this.formControlController.getForm()}reportValidity(){return!this.isFormButton()||this.button.reportValidity()}setCustomValidity(e){this.isFormButton()&&(this.button.setCustomValidity(e),this.formControlController.updateValidity())}isButton(){return!this.url}isLink(){return!!this.url}isFormButton(){return!(this.url||"submit"!==this.type&&"button"!==this.type&&"reset"!==this.type)}renderButtonContent(){return this.loading?$`
1706                <span
1707                    part="label"
1708                    class="button__label"
1709                >
1710                    <slot> Label </slot>
1711                    <slot name="label">Label</slot>
1712                </span>
1713                <span part="spinner">
1714                    <svg
1715                        part="svg"
1716                        class="button__spinner"
1717                        width="16"
1718                        height="16"
1719                        xmlns="http://www.w3.org/2000/svg"
1720                        focusable="false"
1721                        role="presentation"
1722                        aria-hidden="true"
1723                        viewBox="0 0 512 512"
1724                    >
1725                        <path
1726                            d="M463.9 376c7.6 4.4 17.5 1.8 21.4-6.1c17.1-34.3 26.7-73 26.7-113.9C512 120 405.9 8.8 272 .5c-8.8-.5-16 6.7-16 15.5v0c0 8.8 7.2 15.9 16 16.6C388.2 40.8 480 137.7 480 256c0 35.1-8.1 68.3-22.5 97.9c-3.9 8-1.3 17.7 6.4 22.2v0z"
1727                        />
1728                    </svg>
1729                </span>
1730            `:$`
1731                <span
1732                    part="label"
1733                    class="button__label"
1734                >
1735                    <slot> Label </slot>
1736                    <slot name="label"></slot>
1737                </span>
1738            `}renderLinkElement(){const e=this.disabled;return $`
1739            <a
1740                part="base button"
1741                class="${J({button:!0,"button--disabled":e,"btn--plain":"plain"===this.variant,"btn--plain-underline":"plain-underline"===this.variant,"btn--outline":"outline"===this.variant,"btn--fullwidth":this.fullWidth,"btn--extend":this.extendClickArea,"btn--extend-hidden":this.hideWhenExtended,"btn--loading":this.loading,[`btn--size-${this.size}`]:!!this.size,[`btn--text-align-${this.textAlign}`]:!0})}"
1742                href="${Ze(this.url)}"
1743                target="${Ze(this.target)}"
1744                title=${this.title}
1745                @click="${this.handleClick}"
1746            >
1747                ${this.renderButtonContent()}
1748            </a>
1749        `}renderButtonElement(){const e=this.isButton(),t=this.isFormButton();return $`
1750            <button
1751                part="button"
1752                class="${J({button:!0,"btn--plain":"plain"===this.variant,"btn--plain-underline":"plain-underline"===this.variant,"btn--outline":"outline"===this.variant,"btn--fullwidth":this.fullWidth,"btn--extend":this.extendClickArea,"btn--extend-hidden":this.hideWhenExtended,"btn--loading":this.loading,[`btn--size-${this.size}`]:!!this.size,[`btn--text-align-${this.textAlign}`]:!0})}"
1753                type="${Ze(e||t?this.type:void 0)}"
1754                title=${this.title}
1755                name="${Ze(t?this.name:void 0)}"
1756                value="${Ze(t?this.value:void 0)}"
1757                form="${Ze(t?this.form:void 0)}"
1758                aria-controls="${Ze(e?this.for:void 0)}"
1759                ?disabled="${e||t?this.disabled:null}"
1760                @invalid=${e||t?this.handleInvalid:null}
1761                @click="${this.handleClick}"
1762            >
1763                ${this.renderButtonContent()}
1764            </button>
1765        `}render(){const e=this.isLink();return $`${e?this.renderLinkElement():this.renderButtonElement()}`}}It.styles=[Me,Tt],i([ke()],It.prototype,"type",void 0),i([ke()],It.prototype,"title",void 0),i([ke()],It.prototype,"name",void 0),i([ke()],It.prototype,"value",void 0),i([ke()],It.prototype,"form",void 0),i([ke()],It.prototype,"for",void 0),i([ke()],It.prototype,"url",void 0),i([ke()],It.prototype,"target",void 0),i([ke()],It.prototype,"size",void 0),i([ke()],It.prototype,"variant",void 0),i([ke()],It.prototype,"textAlign",void 0),i([ke({type:Boolean,reflect:!0})],It.prototype,"disabled",void 0),i([ke({type:Boolean})],It.prototype,"fullWidth",void 0),i([ke({type:Boolean})],It.prototype,"extendClickArea",void 0),i([ke({type:Boolean,reflect:!0})],It.prototype,"hideWhenExtended",void 0),i([ke({type:Boolean,reflect:!0})],It.prototype,"loading",void 0),i([Se(".button")],It.prototype,"button",void 0),i([Ce()],It.prototype,"invalid",void 0),i([Te("disabled",{waitUntilFirstUpdate:!0})],It.prototype,"handleDisabledChange",null),It.define("pu-button"),ht.define("pu-box");const Mt=[te`
1766    :host {
1767        display: inline-flex;
1768    }
1769
1770    .button-icon {
1771        cursor: pointer;
1772        border: none;
1773        border-radius: var(--pu-icon-border-radius);
1774        padding: 0;
1775        color: rgb(from var(--pu-icon-color-foreground, inherit) r g b / alpha);
1776        background-color: rgb(
1777            from var(--pu-icon-color-background, inherit) r g b / calc(var(--pu-icon-opacity-background, 0.7) * alpha)
1778        );
1779        transition: background-color var(--pu-transition-duration-500);
1780    }
1781
1782    .button-icon:hover {
1783        background-color: rgb(
1784            from var(--pu-icon-color-background, inherit) r g b / calc(var(--pu-icon-opacity-background, 1) * alpha)
1785        );
1786    }
1787
1788    a.button-icon {
1789        display: inline-block;
1790        line-height: normal;
1791    }
1792
1793    .button-icon > * {
1794        position: relative;
1795        display: block;
1796        padding: var(--pu-icon-space-padding, var(--padding, 0.5em));
1797    }
1798
1799    /* Slotted custom SVG icon */
1800    ::slotted(*) {
1801        display: block;
1802        font-size: var(--pu-icon-font-size, inherit);
1803    }
1804
1805    .icon {
1806        line-height: 0;
1807    }
1808
1809    .button-icon[disabled]:hover {
1810        opacity: 0.5;
1811    }
1812
1813    button[disabled] {
1814        opacity: 0.5;
1815        cursor: default;
1816    }
1817
1818    @keyframes spin {
1819        to {
1820            transform: rotate(1turn);
1821        }
1822    }
1823`,te`
1824    :host {
1825        --border-color: var(--pu-icon-border-color, var(--pu-color-foreground, rgb(0, 0, 0, 0.5)));
1826    }
1827    .btn--extend-interactive::after {
1828        content: '';
1829        position: absolute;
1830        top: 0;
1831        left: 0;
1832        height: 100%;
1833        width: 100%;
1834        z-index: 1;
1835    }
1836
1837    .btn--border > *::after {
1838        content: '';
1839        position: absolute;
1840        left: 0;
1841        right: 0;
1842        top: 0;
1843        bottom: 0;
1844        box-shadow: 0 0 0 var(--pu-icon-border-width, 0.0625em)
1845            rgb(from var(--pu-icon-border-color) r g b / calc(var(--pu-icon-opacity-border, 1) * alpha));
1846    }
1847
1848    .btn--rounded,
1849    .btn--rounded > *::after {
1850        border-radius: var(--pu-icon-border-radius, 100%);
1851    }
1852`];class jt extends Ue{constructor(){super(),this.as="button",this.target="_self",this.type="button",this.borderStyle="sharp",this.name="user",this.label="",this.extendClickArea=!1,this.disabled=!1,this.border=!1,this.loading=!1,this._extendedInteraction()}async _extendedInteraction(){await this.updateComplete,this.disabled}handleClick(){!this.disabled&&this.loading}buttonIcon(){return this.loading?$`
1853                <pu-icon
1854                    part="icon"
1855                    exportparts="base,svg"
1856                    class="icon spinner"
1857                    name="spinner"
1858                    size=${Ze(this.iconSize)}
1859                >
1860                </pu-icon>
1861            `:$`
1862            <pu-icon
1863                part="icon"
1864                exportparts="base,svg"
1865                name=${this.name}
1866                size=${Ze(this.iconSize)}
1867                style="${He({"--pu-icon-font-size":this.iconSize?je(this.iconSize):null})}"
1868            >
1869                <slot name="icon"></slot>
1870            </pu-icon>
1871        `}_getPaddingValue(){return this.padding?/^\d+$/.test(this.padding)?Number(this.padding)/16+"em":this.padding:null}buttonAs(){return"button"===this.as||void 0===this.url||""===this.url?$`
1872                <button
1873                    part="base button"
1874                    class="${J({"button-icon":!0,"btn--border":this.border,"btn--rounded":"rounded"===this.borderStyle,"btn--extend-interactive":this.extendClickArea})}"
1875                    style="${He({"--padding":this._getPaddingValue()})}"
1876                    type=${this.type}
1877                    aria-label=${this.label}
1878                    aria-controls=${Ze(this.for)}
1879                    ?disabled=${this.disabled}
1880                    @click=${this.handleClick}
1881                >
1882                    ${this.buttonIcon()}
1883                </button>
1884            `:this.url?$`
1885                <a
1886                    part="base"
1887                    class="${J({"button-icon":!0,"btn--border":this.border,"btn--rounded":"rounded"===this.borderStyle,"btn--extend-interactive":this.extendClickArea})}"
1888                    href="${this.url}"
1889                    target=${this.target}
1890                    style="${He({"--padding":this._getPaddingValue()})}"
1891                    aria-label=${this.label}
1892                    ?disabled=${this.disabled}
1893                >
1894                    ${this.buttonIcon()}
1895                </a>
1896            `:void 0}render(){return $` ${this.buttonAs()} `}}jt.styles=[Me,Mt],jt.dependencies={"pu-icon":Ge},jt.shadowRootOptions={...ye.shadowRootOptions,delegatesFocus:!0},i([ke()],jt.prototype,"as",void 0),i([ke()],jt.prototype,"for",void 0),i([ke()],jt.prototype,"url",void 0),i([ke()],jt.prototype,"target",void 0),i([ke()],jt.prototype,"type",void 0),i([ke()],jt.prototype,"borderStyle",void 0),i([ke()],jt.prototype,"name",void 0),i([ke()],jt.prototype,"iconSize",void 0),i([ke()],jt.prototype,"padding",void 0),i([ke()],jt.prototype,"label",void 0),i([ke({type:Boolean})],jt.prototype,"extendClickArea",void 0),i([ke({type:Boolean,reflect:!0})],jt.prototype,"disabled",void 0),i([ke({type:Boolean})],jt.prototype,"border",void 0),i([ke({type:Boolean,reflect:!0})],jt.prototype,"loading",void 0),jt.define("pu-button-icon");const Ot=[te`
1897    /* Host element stacking layout control */
1898    @media screen and (max-width: 48em) {
1899        :host([stack]),
1900        :host([stackNarrow]),
1901        :host([mobileStack]) {
1902            display: block;
1903            width: var(--pu-button-size-width, 100%);
1904        }
1905    }
1906
1907    /* Foundation button group structure */
1908    .button-group {
1909        display: flex;
1910        align-items: center;
1911        flex-wrap: wrap;
1912        width: 100%;
1913    }
1914`,gt,bt,te`
1915    /* Boolean property API - Stack behavior */
1916    @media screen and (max-width: 48em) {
1917        .button-group {
1918            gap: var(--pu-space-group-gap, var(--pu-grid-gap-x-narrow, 0));
1919        }
1920        .button-group.group--narrow-stack {
1921            flex-direction: column;
1922        }
1923        .button-group.group--narrow-stack ::slotted(*) {
1924            display: block;
1925            width: 100%;
1926            --pu-button-size-width: 100%;
1927        }
1928    }
1929    @media screen and (min-width: 48.06em) {
1930        .button-group {
1931            gap: var(--pu-space-group-gap, var(--pu-grid-gap-horizontal, 0));
1932        }
1933        .button-group.group--stack {
1934            flex-direction: column;
1935        }
1936        .button-group.group--stack ::slotted(*) {
1937            display: block;
1938            width: 100%;
1939            --pu-button-size-width: 100%;
1940        }
1941    }
1942`];class Lt extends Ue{constructor(){super(...arguments),this.justify="start",this.justifyNarrow="start",this.stack=!1,this.stackNarrow=!1}styles(){let e={};return this.spacing&&(e={...e,"--pu-grid-gap-horizontal":parseInt(this.spacing)/16+"em"}),this.spacingNarrow?e={...e,"--pu-grid-gap-x-narrow":parseInt(this.spacingNarrow)/16+"em"}:this.spacing&&(e={...e,"--pu-grid-gap-x-narrow":parseInt(this.spacing)/16+"em"}),e}buttonGroupClasses(){const e={"button-group":!0};return e["flex-justify--"+this.justify]=!0,e["flex-narrow-justify--"+this.justifyNarrow]=!0,e["group--stack"]=this.stack,e["group--narrow-stack"]=this.stackNarrow,e}render(){return $`
1943            <div
1944                part="button-group"
1945                class="${J(this.buttonGroupClasses())}"
1946                style="${He(this.styles())}"
1947            >
1948                <slot></slot>
1949            </div>
1950        `}}function Ht(e,t){return!!e.target&&(Array.isArray(t)&&t.length>1?t.some((t=>e.target.getAttribute("name")===t)):!!t&&e.target.getAttribute("name")===t)}Lt.styles=[Me,Ot],i([ke()],Lt.prototype,"spacing",void 0),i([ke()],Lt.prototype,"spacingNarrow",void 0),i([ke()],Lt.prototype,"justify",void 0),i([ke()],Lt.prototype,"justifyNarrow",void 0),i([ke({type:Boolean,reflect:!0})],Lt.prototype,"stack",void 0),i([ke({type:Boolean,reflect:!0})],Lt.prototype,"stackNarrow",void 0),Lt.define("pu-button-group");const Vt=[te`
1951    :host {
1952        --background-color: var(--pu-card-color-background, var(--pu-color-background, inherit));
1953        --text-color: var(--pu-card-color-foreground, var(--pu-color-foreground, inherit));
1954        --border-color: var(--pu-card-border-color, var(--pu-color-border, inherit));
1955        --pu-color-foreground: var(--pu-card-color-foreground, inherit);
1956        --pu-color-background: var(--pu-card-color-background, inherit);
1957        position: relative;
1958        display: block;
1959        height: 100%;
1960        width: 100%;
1961    }
1962    /* Card: Button */
1963    slot[name='button'] {
1964        display: block;
1965        order: 3;
1966        z-index: 30;
1967    }
1968
1969    /** Card */
1970    .card {
1971        position: relative;
1972        height: 100%;
1973        width: 100%;
1974    }
1975
1976    .card__inner {
1977        display: flex;
1978        flex-direction: column;
1979        height: 100%;
1980        position: relative;
1981        overflow: hidden;
1982        border-radius: var(--pu-card-border-radius);
1983        border-width: var(--pu-card-border-width, 0);
1984        border-style: solid;
1985        border-color: rgb(from var(--border-color) r g b / alpha);
1986    }
1987
1988    /* Footer content */
1989    .card.has-footer-content {
1990        height: auto;
1991    }
1992
1993    .card.has-footer-content.under .card__inner,
1994    .card.has-footer-content.over .card__inner {
1995        border-radius: var(--pu-card-border-radius) var(--pu-card-border-radius) 0 0;
1996    }
1997
1998    .footer-content {
1999        background-color: var(--background-color);
2000        border-radius: 0 0 var(--pu-card-border-radius) var(--pu-card-border-radius);
2001        display: block;
2002        overflow: hidden;
2003    }
2004
2005    /** Caption */
2006    .caption {
2007        flex: 1;
2008        z-index: 20;
2009    }
2010
2011    .caption__inner {
2012        height: 100%;
2013        width: 100%;
2014    }
2015
2016    .caption__container {
2017        background-image: var(--pu-card-color-gradient);
2018        background-color: rgb(from var(--background-color) r g b / var(--pu-card-opacity-background, 0));
2019        color: rgb(from var(--text-color) r g b / alpha);
2020        padding: var(--pu-card-space-padding, 1em);
2021        height: 100%;
2022        width: 100%;
2023    }
2024
2025    /* Responsive padding override */
2026    @media only screen and (max-width: 48em) {
2027        .caption__container {
2028            padding: var(--pu-space-padding-narrow, 1em);
2029        }
2030    }
2031
2032    /* Card: Badge */
2033    .badge {
2034        position: absolute;
2035        top: 1em;
2036        left: 1em;
2037        z-index: 1;
2038        letter-spacing: 0.07em;
2039        pointer-events: none;
2040    }
2041
2042    /** Media */
2043    /* Media: Slotted content */
2044    .media ::slotted(*) {
2045        height: 100%;
2046    }
2047    /* Media: Layout */
2048    .media {
2049        position: relative;
2050        aspect-ratio: var(--pu-aspect-ratio-media-small);
2051        flex-shrink: 1;
2052        padding: var(--pu-card-media-space-padding);
2053        height: auto;
2054        background-color: rgb(from var(--background-color) r g b / alpha);
2055        overflow: hidden;
2056    }
2057
2058    @media (min-width: 30.06em) {
2059        .media {
2060            aspect-ratio: var(--pu-aspect-ratio-media);
2061        }
2062    }
2063`,te`
2064    .border .card__inner {
2065        padding: var(--pu-space-padding, 1em);
2066        background-color: rgb(from var(--background-color) r g b / alpha);
2067    }
2068
2069    @media screen and (min-width: 30.06em) {
2070        .border.over .caption {
2071            padding: var(--pu-space-padding, 1em);
2072        }
2073    }
2074    @media screen and (max-width: 30em) {
2075        .border.over--tablet-down .caption {
2076            padding: var(--pu-space-padding, 1em);
2077        }
2078    }
2079
2080    /* Position-specific opacity */
2081    @media (min-width: 30.06em) {
2082        .under .caption__container {
2083            background-color: rgb(from var(--background-color) r g b / var(--pu-card-opacity-background, 0));
2084        }
2085
2086        .over .caption__container {
2087            background-color: rgb(from var(--background-color) r g b / 0);
2088        }
2089    }
2090
2091    @media (max-width: 30em) {
2092        .under--tablet-down .caption__container {
2093            --pu-card-caption-opacity-background: 1; /* Transparent background when over media */
2094            background-color: rgb(from var(--background-color) r g b / var(--pu-card-opacity-background, 1));
2095        }
2096        .over--tablet-down .caption__container {
2097            --pu-card-opacity-background: 0; /* Transparent background when over media */
2098        }
2099    }
2100
2101    /* Caption content positions */
2102    .under .media {
2103        border-radius: calc(var(--pu-card-media-border-radius) * 0.7);
2104        overflow: hidden;
2105    }
2106
2107    @media only screen and (min-width: 30.06em) {
2108        .over {
2109            aspect-ratio: var(--pu-aspect-ratio-media);
2110        }
2111        .card.over .caption {
2112            position: absolute;
2113            top: 0;
2114            left: 0;
2115            height: 100%;
2116            width: 100%;
2117            z-index: 10;
2118        }
2119    }
2120
2121    @media only screen and (max-width: 30em) {
2122        .card.over--tablet-down .caption {
2123            position: absolute;
2124            top: 0;
2125            left: 0;
2126            height: 100%;
2127            width: 100%;
2128            z-index: 10;
2129        }
2130        .over--tablet-down {
2131            height: auto;
2132            aspect-ratio: var(--pu-aspect-ratio-media-small);
2133        }
2134    }
2135`];function Dt(e){if(!e)return;return e.split(",").map((e=>e.trim())).map((e=>{const t=Number(e);return 0===t?"0":t/16+"em"})).join(" ")}class Rt extends Ue{constructor(){super(...arguments),this.aspectRatio="1",this.aspectRatioNarrow="",this.position="under",this.positionNarrow="under",this.align="stretch",this.justify="start",this.border=!1,this._slotHasChildren=!1}
2135_handleSlotChange(e){this._slotHasChildren=Ht(e,"footer-content")}willUpdate(e){e.has("padding")&&(this._paddingCSS=Dt(this.padding)),e.has("paddingNarrow")&&(this._paddingNarrowCSS=Dt(this.paddingNarrow))}captionStyles(){let e={};return this._paddingCSS&&(e["--pu-space-padding"]=this._paddingCSS),this._paddingNarrowCSS&&(e["--pu-space-padding-narrow"]=this._paddingNarrowCSS),e}render(){const e=this._slotHasChildren;return $`
2136            <div
2137                part="base caption-card"
2138                class="${J({card:!0,border:this.border,under:"under"===this.position,over:"over"===this.position,"under--tablet-down":"under"===this.positionNarrow,"over--tablet-down":"over"===this.positionNarrow,"has-footer-content":e})}"
2139                style="${He({"--pu-aspect-ratio-media":this.aspectRatio,"--pu-aspect-ratio-media-small":this.aspectRatioNarrow?this.aspectRatioNarrow:this.aspectRatio})}"
2140            >
2141                <div
2142                    part="container"
2143                    class="card__inner"
2144                >
2145                    <div
2146                        part="media"
2147                        class="media"
2148                    >
2149                        <slot name="media"></slot>
2150                        <div
2151                            part="badge"
2152                            class="badge"
2153                        >
2154                            <slot name="badge"></slot>
2155                        </div>
2156                    </div>
2157                    <div
2158                        part="caption"
2159                        class="caption"
2160                    >
2161                        <div
2162                            part="content"
2163                            class="caption__inner"
2164                        >
2165                            <div
2166                                part="content-container"
2167                                class="caption__container"
2168                                style="${He(this.captionStyles())}"
2169                            >
2170                                <pu-vertical-stack
2171                                    part="base-layout"
2172                                    exportparts="base:layout"
2173                                    spacing="${Ze(this.spacing)}"
2174                                    spacingNarrow="${Ze(this.spacingNarrow?this.spacingNarrow:this.spacing)}"
2175                                    justify=${this.justify}
2176                                    align=${this.align}
2177                                >
2178                                    <slot name="content"></slot>
2179                                </pu-vertical-stack>
2180                            </div>
2181                        </div>
2182                    </div>
2183                </div>
2184                <div
2185                    part="footer-content"
2186                    class="card__footer"
2187                >
2188                    <slot
2189                        name="footer-content"
2190                        @slotchange=${this._handleSlotChange}
2191                    ></slot>
2192                </div>
2193            </div>
2194        `}}Rt.styles=[Me,Vt],Rt.dependencies={"pu-vertical-stack":xt},i([ke()],Rt.prototype,"aspectRatio",void 0),i([ke()],Rt.prototype,"aspectRatioNarrow",void 0),i([ke()],Rt.prototype,"position",void 0),i([ke()],Rt.prototype,"positionNarrow",void 0),i([ke()],Rt.prototype,"align",void 0),i([ke()],Rt.prototype,"justify",void 0),i([ke()],Rt.prototype,"padding",void 0),i([ke()],Rt.prototype,"paddingNarrow",void 0),i([ke()],Rt.prototype,"spacing",void 0),i([ke()],Rt.prototype,"spacingNarrow",void 0),i([ke({type:Boolean})],Rt.prototype,"border",void 0),i([Ce()],Rt.prototype,"_paddingCSS",void 0),i([Ce()],Rt.prototype,"_paddingNarrowCSS",void 0),i([Ce()],Rt.prototype,"_slotHasChildren",void 0),Rt.define("pu-caption-card");const Ft=(e="value")=>(t,o)=>{const i=t.constructor,r=i.prototype.attributeChangedCallback;i.prototype.attributeChangedCallback=function(t,a,s){const n=i.getPropertyOptions(e);if(t===("string"==typeof n.attribute?n.attribute:e)){const t=n.converter||ge,i=("function"==typeof t?t:t?.fromAttribute??ge.fromAttribute)(s,n.type);this[e]!==i&&(this[o]=i)}r.call(this,t,a,s)}},{I:Wt}=D,Ut={},Gt=q(class extends K{constructor(e){if(super(e),e.type!==U&&e.type!==F&&e.type!==G)throw Error("The `live` directive is not allowed on child or event bindings");if(!(e=>void 0===e.strings)(e))throw Error("`live` bindings can only contain a single expression")}render(e){return e}update(e,[t]){if(t===S||t===z)return t;const o=e.element,i=e.name;if(e.type===U){if(t===o[i])return S}else if(e.type===G){if(!!t===o.hasAttribute(i))return S}else if(e.type===F&&o.getAttribute(i)===t+"")return S;return((e,t=Ut)=>{e._$AH=t})(e),t}});var qt=te`
2195    .form-control {
2196        position: relative;
2197    }
2198    .form-control .form-control__label {
2199        display: none;
2200        margin-bottom: var(--pu-space-100, 0.25em);
2201        font-size: var(--pu-form-control-label-font-size, var(--pu-input-label-font-size, 1em));
2202    }
2203    .form-control.form-control--has-label .form-control__label {
2204        display: inline-block;
2205    }
2206
2207    /* Sizes */
2208    .form-control--small {
2209        --pu-input-label-font-size: var(--pu-form-control-label-font-size, var(--pu-text-body-size-xs, 0.75em));
2210        --pu-input-help-font-size: var(--pu-form-control-help-font-size, var(--pu-text-body-size-xs, 0.75em));
2211        --pu-input-space-padding: var(--pu-form-control-space-inline-padding, var(--pu-space-300, 0.75em));
2212    }
2213    .form-control--medium {
2214        --pu-input-label-font-size: var(--pu-form-control-label-font-size, var(--pu-text-body-size-sm, 0.875em));
2215        --pu-input-help-font-size: var(--pu-form-control-help-font-size, var(--pu-text-body-size-sm, 0.875em));
2216        --pu-input-space-padding: var(--pu-form-control-space-inline-padding, var(--pu-space-400, 1em));
2217    }
2218    .form-control--large {
2219        --pu-input-label-font-size: var(--pu-form-control-label-font-size, var(--pu-text-body-size-md, 1em));
2220        --pu-input-help-font-size: var(--pu-form-control-help-font-size, var(--pu-text-body-size-md, 1em));
2221        --pu-input-space-padding: var(--pu-form-control-space-inline-padding, var(--pu-space-500, 1.25em));
2222    }
2223
2224    /* Label */
2225    .form-control__label {
2226        color: var(--pu-input-label-color-foreground, var(--pu-color-foreground, inherit));
2227        letter-spacing: var(--pu-input-label-font-tracking, 0.05em);
2228    }
2229
2230    .form-control__label--visually-hidden {
2231        position: absolute;
2232        overflow: hidden;
2233        width: 1px;
2234        height: 1px;
2235        margin: -1px;
2236        padding: 0;
2237        border: 0;
2238        clip: rect(0 0 0 0);
2239        word-wrap: normal !important;
2240    }
2241
2242    /* Label positions */
2243
2244    /* --inset top */
2245    .form-control--label-inset-top:not(.form-control--hide-label).form-control--has-label .form-control__label {
2246        color: var(--pu-input-label-color-foreground, var(--pu-color-backround, inherit));
2247        position: absolute;
2248        z-index: 10;
2249    }
2250
2251    .form-control--label-inset-top:not(.form-control--hide-label).form-control--has-label .form-control__label {
2252        margin-top: calc(var(--pu-input-space-padding) / 2);
2253        margin-left: var(--pu-input-space-padding);
2254    }
2255
2256    /* --inset left */
2257    .form-control--label-inset-left:not(.form-control--hide-label).form-control--has-label.form-control--small {
2258        --pu-input-label-font-size: var(--pu-text-body-size-xs, 0.75em);
2259        --pu-input-space-padding: var(--pu-space-300, 0.75em);
2260    }
2261
2262    .form-control--label-inset-left:not(.form-control--hide-label).form-control--has-label.form-control--medium {
2263        --pu-input-label-font-size: var(--pu-text-body-size-sm, 0.875em);
2264        --pu-input-space-padding: var(--pu-space-400, 1em);
2265    }
2266
2267    .form-control--label-inset-left:not(.form-control--hide-label).form-control--has-label.form-control--large {
2268        --pu-input-label-font-size: var(--pu-text-body-size-md, 1em);
2269        --pu-input-space-padding: var(--pu-space-500, 1.25em);
2270    }
2271
2272    .form-control--label-inset-left:not(.form-control--hide-label).form-control--has-label .form-control__label {
2273        color: var(--pu-input-label-color-foreground, var(--pu-color-backround, inherit));
2274        position: relative;
2275        margin-left: var(--pu-input-space-padding);
2276        padding-right: var(--pu-input-space-padding);
2277        margin-bottom: 0;
2278        flex: none;
2279    }
2280    .form-control--label-inset-left:not(.form-control--hide-label).form-control--has-label .form-control__label::after {
2281        content: '';
2282        background-color: var(--pu-input-border-color, hsl(240, 5%, 65%));
2283        position: absolute;
2284        right: 0;
2285        top: 0;
2286        height: 100%;
2287        width: 0.0625em;
2288    }
2289
2290    .form-control--label-inset-left:not(.form-control--hide-label).form-control--has-label .form-control__label {
2291        position: relative;
2292        margin-left: var(--pu-input-space-padding);
2293        padding-right: var(--pu-input-space-padding);
2294        margin-bottom: 0;
2295        flex: none;
2296    }
2297
2298    .form-control--label-inset-left:not(.form-control--hide-label).form-control--has-label .form-control__label::after {
2299        content: '';
2300        background-color: var(--pu-input-border-color, hsl(240, 5%, 65%));
2301        position: absolute;
2302        right: 0;
2303        top: 0;
2304        height: 100%;
2305        width: 0.0625em;
2306    }
2307
2308    .form-control--label-inset-left:not(.form-control--hide-label).form-control--has-label
2309        .select__combobox
2310        .form-control__label {
2311        margin-left: 0;
2312        margin-right: var(--pu-input-space-padding);
2313    }
2314
2315    .form-control--label-inset-left:not(.form-control--hide-label).form-control--has-label
2316        .select__combobox
2317        .form-control__label {
2318        margin-left: 0;
2319        margin-right: var(--pu-input-space-padding);
2320    }
2321
2322    /* Required fields */
2323    :host([required]) .form-control__label::after {
2324        content: var(--pu-input-required-content, '*');
2325        margin-inline-start: var(--pu-input-required-space-offset, -2px);
2326        color: var(--pu-input-required-color-foreground, hsl(240, 5%, 65%));
2327    }
2328
2329    /* Help text */
2330    .form-control__help-text {
2331        display: none;
2332    }
2333
2334    .form-control--has-help-text .form-control__help-text {
2335        display: inline-block;
2336        color: var(--pu-input-help-color-foreground, hsl(240, 5%, 65%));
2337        font-size: var(--pu-input-help-font-size, 0.75em);
2338        margin-top: var(--pu-space-100, 0.25em);
2339    }
2340`;const Kt=[qt,te`
2341    :host {
2342        display: inline-block;
2343    }
2344
2345    .checkbox {
2346        position: relative;
2347        display: inline-flex;
2348        align-items: flex-start;
2349        font-family: var(--pu-text-body-family);
2350        font-size: var(--pu-input-font-size);
2351        color: rgb(from var(--pu-input-color-foreground, inherit) r g b / alpha);
2352        vertical-align: middle;
2353        cursor: pointer;
2354    }
2355
2356    .checkbox__control {
2357        flex: 0 0 auto;
2358        position: relative;
2359        display: inline-flex;
2360        align-items: center;
2361        justify-content: center;
2362        padding: 2px;
2363        width: var(--checkbox-size);
2364        height: var(--checkbox-size);
2365        border: solid var(--pu-input-border-width, 0.0625em)
2366            rgb(from var(--pu-input-border-color, hsl(240, 5%, 65%)) r g b / alpha);
2367        border-radius: var(--pu-border-input-corner-radius, 0.125em);
2368        background-color: rgb(from var(--pu-input-color-background, hsl(0 0% 99.5%)) r g b / alpha);
2369        transition:
2370            var(--pu-transition-duration-150) border-color,
2371            var(--pu-transition-duration-150) background-color,
2372            var(--pu-transition-duration-150) color,
2373            var(--pu-transition-duration-150) box-shadow;
2374    }
2375
2376    /* Toggle checkbox Styles */
2377    .checkbox-as-toggle {
2378        display: flex;
2379        align-items: center;
2380        gap: 0.75em;
2381    }
2382
2383    .checkbox-as-toggle .checkbox__label {
2384        margin: 0;
2385    }
2386
2387    .checkbox-as-toggle .checkbox__control {
2388        position: relative;
2389        width: var(--pu-checkbox-toggle-size-x, var(--toggle-size-x));
2390        height: var(--pu-checkbox-toggle-size-y, var(--toggle-size-y));
2391        border-radius: var(--pu-border-input-corner-radius, var(--pu-border-radius-full, 9999px));
2392        padding: 3px;
2393    }
2394
2395    .checkbox-as-toggle .checkbox__toggle-button {
2396        display: inline-block;
2397        aspect-ratio: 1 / 1;
2398        height: 100%;
2399        margin-right: auto;
2400        border-radius: var(--pu-border-input-corner-radius, var(--pu-border-radius-full, 9999px));
2401        background-color: rgb(from var(--pu-input-icon-color-foreground, hsl(240, 5%, 26%)) r g b / alpha);
2402    }
2403
2404    /* Icon checked */
2405    .checkbox-as-toggle.checkbox--checked .checkbox__toggle-button {
2406        background-color: rgb(from var(--pu-input-icon-color-foreground-checked, hsl(0 0% 99.5%)) r g b / alpha);
2407        margin-left: auto;
2408        margin-right: 0;
2409    }
2410
2411    /* Icon hover checked */
2412    .checkbox-as-toggle.checkbox--checked .checkbox__toggle-button:hover {
2413        background-color: rgb(from var(--pu-input-icon-color-foreground-checked-hover, hsl(0 0% 99.5%)) r g b / alpha);
2414    }
2415
2416    /* Icon hover unchecked */
2417    .checkbox-as-toggle:not(.checkbox--checked):not(.checkbox--disabled) .checkbox__toggle-button:hover {
2418        border-color: rgb(from var(--pu-input-icon-color-foreground-hover, hsl(240, 4%, 46%)) r g b / alpha);
2419        background-color: rgb(from var(--pu-input-icon-color-foreground-hover, hsl(240, 5%, 6%)) r g b / alpha);
2420    }
2421
2422    /* Input hover checked/indeterminate */
2423    .checkbox-as-toggle.checkbox--checked:not(.checkbox--disabled) .checkbox__control:hover,
2424    .checkbox-as-toggle.checkbox--indeterminate:not(.checkbox--disabled) .checkbox__control:hover {
2425        border-color: rgb(from var(--pu-input-border-color-checked-hover, hsl(224.3, 76.3%, 48%)) r g b / alpha);
2426        background-color: rgb(from var(--pu-input-border-color-checked-hover, hsl(224.3, 76.3%, 48%)) r g b / alpha);
2427    }
2428
2429    .checkbox__input {
2430        position: absolute;
2431        opacity: 0;
2432        padding: 0;
2433        margin: 0;
2434        pointer-events: none;
2435    }
2436
2437    .checkbox__checked-icon,
2438    .checkbox__indeterminate-icon {
2439        display: inline-flex;
2440        --pu-icon-color-foreground: rgb(
2441            from var(--pu-input-icon-color-foreground-checked, hsl(0 0% 99.5%)) r g b / alpha
2442        );
2443        --pu-icon-font-size: calc(var(--checkbox-size) * 0.7);
2444    }
2445
2446    .checkbox__label {
2447        display: inline-block;
2448        margin-inline-start: 0.5em;
2449        user-select: none;
2450        -webkit-user-select: none;
2451    }
2452
2453    :host([required]) .checkbox__label::after {
2454        content: var(--pu-input-required-content, '*');
2455        color: rgb(from var(--pu-input-required-color-foreground, hsl(240, 5%, 65%)) r g b / alpha);
2456        margin-inline-start: var(--pu-input-required-space-offset, -2px);
2457    }
2458
2459    /* Hover checked*/
2460    .checkbox:not(.checkbox--checked):not(.checkbox--disabled) .checkbox__control:hover {
2461        border-color: rgb(from var(--pu-input-border-color-hover, hsl(240, 4%, 46%)) r g b / alpha);
2462        background-color: rgb(from var(--pu-input-color-background-hover, hsl(240, 5%, 96%)) r g b / alpha);
2463    }
2464
2465    .checkbox.checkbox--checked:not(.checkbox--disabled) .checkbox__control:hover .checkbox__checked-icon,
2466    .checkbox.checkbox--checked:not(.checkbox--disabled) .checkbox__control:hover .checkbox__indeterminate-icon {
2467        display: inline-flex;
2468        --pu-icon-color-foreground: rgb(
2469            from var(--pu-input-icon-color-foreground-hover, hsl(0, 0%, 99.5%)) r g b / alpha
2470        );
2471    }
2472
2473    /* Focus */
2474    .checkbox:not(.checkbox--disabled) .checkbox__input:focus-visible ~ .checkbox__control {
2475        outline: var(--pu-border-focus-style, solid) var(--pu-border-focus-width, 2px)
2476            rgb(from var(--pu-color-focus-ring, hsl(213.1, 93.9%, 67.8%)) r g b / alpha);
2477        outline-offset: var(--pu-border-focus-offset, 0.0625em);
2478    }
2479
2480    /* Checked/indeterminate */
2481    .checkbox--checked .checkbox__control,
2482    .checkbox--indeterminate .checkbox__control {
2483        border-color: rgb(from var(--pu-input-border-color-checked, hsl(224.3, 76.3%, 48%)) r g b / alpha);
2484        background-color: rgb(from var(--pu-input-color-background-checked, hsl(221.2, 83.2%, 53.3%)) r g b / alpha);
2485    }
2486
2487    /* Checked/indeterminate + hover */
2488    .checkbox.checkbox--checked:not(.checkbox--disabled) .checkbox__control:hover,
2489    .checkbox.checkbox--indeterminate:not(.checkbox--disabled) .checkbox__control:hover {
2490        border-color: rgb(from var(--pu-input-border-color-checked-hover, hsl(224.3, 76.3%, 48%)) r g b / alpha);
2491        background-color: rgb(from var(--pu-input-border-color-checked-hover, hsl(224.3, 76.3%, 48%)) r g b / alpha);
2492    }
2493
2494    /* Disabled */
2495    .checkbox--disabled {
2496        opacity: 0.5;
2497        cursor: not-allowed;
2498    }
2499`,te`
2500    /* Size API Classes */
2501    .checkbox--small {
2502        --checkbox-size: var(--pu-space-400, 1em);
2503        --toggle-size-x: 2.5rem;
2504        --toggle-size-y: 1.5rem;
2505        --pu-input-label-font-size: var(--pu-text-body-size-xs, 0.75em);
2506    }
2507
2508    .checkbox--medium {
2509        --checkbox-size: var(--pu-space-500, 1.25em);
2510        --toggle-size-x: 3.25rem;
2511        --toggle-size-y: 1.75rem;
2512        --pu-input-label-font-size: var(--pu-text-body-size-sm, 0.875em);
2513    }
2514
2515    .checkbox--large {
2516        --checkbox-size: var(--pu-space-600, 1.5em);
2517        --toggle-size-x: 4rem;
2518        --toggle-size-y: 2.25rem;
2519        --pu-input-label-font-size: var(--pu-text-body-size-md, 1em);
2520    }
2521`];class Jt extends Ue{constructor(){super(...arguments),this.formControlController=new Et(this,{value:e=>e.checked?e.value||"on":void 0,defaultValue:e=>e.defaultChecked,setValue:(e,t)=>e.checked=Boolean(t)}),this.hasSlotController=new Xe(this,"label","help-text"),this.hasFocus=!1,this.asToggle=!1,this.label="",this.labelHidden=!1,this.title="",this.name="",this.size="medium",this.disabled=!1,this.checked=!1,this.indeterminate=!1,this.defaultChecked=!1,this.form="",this.required=!1,this.helpText="",this.deprecatedPropertyMap=[{old:"hideLabel",new:"labelHidden",defaultValue:!1}]}get hideLabel(){return this.labelHidden}set hideLabel(e){this._handleDeprecated("hideLabel",e)}_handleDeprecated(e,t){st(this,e,t,this.deprecatedPropertyMap)}get validity(){return this.input.validity}get validationMessage(){return this.input.validationMessage}firstUpdated(){this.formControlController.updateValidity()}handleClick(){this.checked=!this.checked,this.indeterminate=!1,this.emit("pu-change")}handleBlur(){this.hasFocus=!1,this.emit("pu-blur")}handleInput(){this.emit("pu-input")}handleInvalid(e){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(e)}handleFocus(){this.hasFocus=!0,this.emit("pu-focus")}handleStateChange(){this.input.checked=this.checked,this.input.indeterminate=this.indeterminate,this.formControlController.updateValidity()}click(){this.input.click()}focus(e){this.input.focus(e)}blur(){this.input.blur()}checkValidity(){return this.input.checkValidity()}getForm(){return this.formControlController.getForm()}reportValidity(){return this.input.reportValidity()}setCustomValidity(e){this.input.setCustomValidity(e),this.formControlController.updateValidity()}render(){const e=this.hasSlotController.test("label"),t=!!this.label||!!e,o=this.hasSlotController.test("help-text"),i=!!this.helpText||!!o;return $`
2522            <div
2523                part="base checkbox"
2524                class=${J({"form-control":!0,"form-control--has-label":t,"form-control--hide-label":this.labelHidden,"form-control--small":"small"===this.size,"form-control--medium":"medium"===this.size,"form-control--large":"large"===this.size,"form-control--has-help-text":i})}
2525            >
2526                <label
2527                    part="checkbox"
2528                    class=${J({checkbox:!0,"checkbox--checked":this.checked,"checkbox--disabled":this.disabled,"checkbox--focused":this.hasFocus,"checkbox--indeterminate":this.indeterminate,"checkbox--small":"small"===this.size,"checkbox--medium":"medium"===this.size,"checkbox--large":"large"===this.size,"checkbox-as-toggle":this.asToggle})}
2529                >
2530                    <input
2531                        part="input"
2532                        class="checkbox__input"
2533                        type="checkbox"
2534                        title=${this.title}
2535                        name=${this.name}
2536                        value=${Ze(this.value)}
2537                        .indeterminate=${this.indeterminate}
2538                        .checked=${Gt(this.checked)}
2539                        .disabled=${this.disabled}
2540                        .required=${this.required}
2541                        aria-checked=${this.checked?"true":"false"}
2542                        aria-describedby="help-text"
2543                        @click=${this.handleClick}
2544                        @input=${this.handleInput}
2545                        @invalid=${this.handleInvalid}
2546                        @blur=${this.handleBlur}
2547                        @focus=${this.handleFocus}
2548                    />
2549                    <span
2550                        part="control"
2551                        class="checkbox__control"
2552                    >
2553                        ${this.checked&&!this.asToggle?$`
2554                                  <pu-icon
2555                                      part="icon"
2556                                      exportparts="base,svg"
2557                                      class="checkbox__checked-icon"
2558                                      name="check"
2559                                  >
2560                                      <slot name="icon"></slot>
2561                                  </pu-icon>
2562                              `:""}
2563                        ${this.checked||!this.indeterminate||this.asToggle?"":$`
2564                                  <pu-icon
2565                                      part="icon"
2566                                      exportparts="base,svg"
2567                                      class="checkbox__indeterminate-icon"
2568                                      name="minus"
2569                                  >
2570                                      <slot name="icon"></slot>
2571                                  </pu-icon>
2572                              `}
2573                        ${this.asToggle?$` <span class="checkbox__toggle-button"></span> `:""}
2574                    </span>
2575                    <div
2576                        part="label"
2577                        class="${J({checkbox__label:!0,"form-control__label":!0,"form-control__label--visually-hidden":this.labelHidden})}"
2578                        aria-hidden=${t?"false":"true"}
2579                    >
2580                        <slot name="label">${this.label}</slot>
2581                    </div>
2582                </label>
2583
2584                <div
2585                    part="help"
2586                    aria-hidden=${i?"false":"true"}
2587                    class="form-control__help-text"
2588                    id="help-text"
2589                >
2590                    <slot name="help-text">${this.helpText}</slot>
2591                </div>
2592            </div>
2593        `}}Jt.styles=[Me,Kt],Jt.dependencies={"pu-icon":Ge},i([Se('input[type="checkbox"]')],Jt.prototype,"input",void 0),i([Ce()],Jt.prototype,"hasFocus",void 0),i([ke({type:Boolean})],Jt.prototype,"asToggle",void 0),i([ke()],Jt.prototype,"label",void 0),i([ke({type:Boolean})],Jt.prototype,"labelHidden",void 0),i([ke()],Jt.prototype,"title",void 0),i([ke()],Jt.prototype,"name",void 0),i([ke()],Jt.prototype,"value",void 0),i([ke({reflect:!0})],Jt.prototype,"size",void 0),i([ke({type:Boolean,reflect:!0})],Jt.prototype,"disabled",void 0),i([ke({type:Boolean,reflect:!0})],Jt.prototype,"checked",void 0),i([ke({type:Boolean,reflect:!0})],Jt.prototype,"indeterminate",void 0),i([Ft("checked")],Jt.prototype,"defaultChecked",void 0),i([ke({reflect:!0})],Jt.prototype,"form",void 0),i([ke({type:Boolean,reflect:!0})],Jt.prototype,"required",void 0),i([ke({attribute:"help-text"})],Jt.prototype,"helpText",void 0),i([ke({type:Boolean})],Jt.prototype,"hideLabel",null),i([Te(["checked","indeterminate"],{waitUntilFirstUpdate:!0})],Jt.prototype,"handleStateChange",null),Jt.define("pu-checkbox");var Xt=te`
2594    :host {
2595        display: inline-block;
2596        width: 280px;
2597        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
2598        border: 1px solid #ccc;
2599        border-radius: 4px;
2600        background: white;
2601        padding: 12px;
2602        box-sizing: border-box;
2603    }
2604
2605    :host([disabled]) {
2606        opacity: 0.5;
2607        pointer-events: none;
2608    }
2609
2610    .color-picker {
2611        display: flex;
2612        flex-direction: column;
2613        gap: 12px;
2614    }
2615
2616    .color-picker__label {
2617        font-size: 14px;
2618        font-weight: 500;
2619        color: #333;
2620        margin: 0;
2621    }
2622
2623    .color-picker__grid {
2624        width: 100%;
2625        height: 200px;
2626        position: relative;
2627        background: linear-gradient(to right, #fff, transparent), linear-gradient(to top, #000, transparent);
2628        border-radius: 4px;
2629        cursor: crosshair;
2630        box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
2631    }
2632
2633    .color-picker__grid-handle {
2634        position: absolute;
2635        width: 16px;
2636        height: 16px;
2637        border-radius: 50%;
2638        border: 2px solid white;
2639        box-shadow:
2640            0 0 0 1px rgba(0, 0, 0, 0.3),
2641            0 2px 4px rgba(0, 0, 0, 0.2);
2642        margin-top: -8px;
2643        margin-left: -8px;
2644        pointer-events: none;
2645        background: currentColor;
2646    }
2647
2648    .color-picker__sliders {
2649        display: flex;
2650        flex-direction: column;
2651        gap: 8px;
2652    }
2653
2654    .color-picker__hue-slider,
2655    .color-picker__alpha-slider {
2656        height: 15px;
2657        border-radius: 8px;
2658        position: relative;
2659        cursor: pointer;
2660        box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
2661    }
2662
2663    .color-picker__hue-slider {
2664        background: linear-gradient(
2665            to right,
2666            #ff0000 0%,
2667            #ffff00 16.66%,
2668            #00ff00 33.33%,
2669            #00ffff 50%,
2670            #0000ff 66.66%,
2671            #ff00ff 83.33%,
2672            #ff0000 100%
2673        );
2674    }
2675
2676    .color-picker__alpha-slider {
2677        background:
2678            linear-gradient(45deg, #ccc 25%, transparent 25%), linear-gradient(-45deg, #ccc 25%, transparent 25%),
2679            linear-gradient(45deg, transparent 75%, #ccc 75%), linear-gradient(-45deg, transparent 75%, #ccc 75%);
2680        background-size: 8px 8px;
2681        background-position:
2682            0 0,
2683            0 4px,
2684            4px -4px,
2685            -4px 0px;
2686    }
2687
2688    .color-picker__alpha-slider::after {
2689        content: '';
2690        position: absolute;
2691        top: 0;
2692        left: 0;
2693        right: 0;
2694        bottom: 0;
2695        border-radius: inherit;
2696        background: linear-gradient(to right, transparent 0%, currentColor 100%);
2697    }
2698
2699    .color-picker__slider-handle {
2700        position: absolute;
2701        top: 50%;
2702        width: 17px;
2703        height: 17px;
2704        background: white;
2705        border-radius: 50%;
2706        box-shadow:
2707            0 0 0 1px rgba(0, 0, 0, 0.3),
2708            0 2px 4px rgba(0, 0, 0, 0.2);
2709        margin-top: -8.5px;
2710        margin-left: -8.5px;
2711        pointer-events: none;
2712        z-index: 1;
2713    }
2714
2715    /* Ensure alpha slider handle matches hue slider handle exactly */
2716    .color-picker__alpha-slider .color-picker__slider-handle {
2717        background: white;
2718        box-shadow:
2719            0 0 0 1px rgba(0, 0, 0, 0.3),
2720            0 2px 4px rgba(0, 0, 0, 0.2);
2721    }
2722
2723    .color-picker__input {
2724        margin-top: 4px;
2725    }
2726
2727    .color-picker__input-wrapper {
2728        display: flex;
2729        gap: 8px;
2730        align-items: center;
2731    }
2732
2733    .color-picker__input pu-input {
2734        flex: 1;
2735    }
2736
2737    .color-picker__format-button {
2738        min-width: 44px;
2739        height: 32px;
2740        padding: 4px 8px;
2741        border: 1px solid #ccc;
2742        border-radius: 4px;
2743        background: white;
2744        color: #333;
2745        font-size: 12px;
2746        font-weight: 500;
2747        font-family: inherit;
2748        cursor: pointer;
2749        transition: all 0.15s ease;
2750        user-select: none;
2751    }
2752
2753    .color-picker__format-button:hover:not(:disabled) {
2754        background: #f5f5f5;
2755        border-color: #999;
2756    }
2757
2758    .color-picker__format-button:active:not(:disabled) {
2759        background: #e8e8e8;
2760        transform: translateY(1px);
2761    }
2762
2763    .color-picker__format-button:disabled {
2764        opacity: 0.5;
2765        cursor: not-allowed;
2766    }
2767
2768    /* Focus states */
2769    .color-picker__grid:focus-visible {
2770        outline: 2px solid #0066cc;
2771        outline-offset: 2px;
2772    }
2773
2774    .color-picker__hue-slider:focus-visible,
2775    .color-picker__alpha-slider:focus-visible {
2776        outline: 2px solid #0066cc;
2777        outline-offset: 2px;
2778    }
2779`;const Yt=[qt,te`
2780    /* Main container */
2781    .input {
2782        display: inline-flex;
2783        align-items: center;
2784        background-color: rgb(from var(--pu-input-color-background, hsl(0 0% 99.5%)) r g b / alpha);
2785        border: solid var(--pu-input-border-width, 0.0625em)
2786            rgb(
2787                from var(--pu-input-border-color, hsl(240, 5%, 65%)) r g b /
2788                    calc(alpha * var(--pu-input-opacity-border, 1))
2789            );
2790        border-radius: var(--pu-input-border-radius, var(--pu-border-radius, 0.25em));
2791        height: var(--pu-size-height);
2792        overflow: hidden;
2793        width: 100%;
2794        cursor: text;
2795    }
2796
2797    .input:hover:not(.input--disabled) {
2798        color: rgb(from var(--pu-input-color-foreground-hover, inherit) r g b / alpha);
2799        background-color: rgb(from var(--pu-input-color-background-hover, hsl(240, 5%, 96%)) r g b / alpha);
2800        border-color: rgb(from var(--pu-input-border-color-hover, hsl(240, 4%, 46%)) r g b / alpha);
2801    }
2802
2803    .input.input--focused:not(.input--disabled) {
2804        background-color: rgb(from var(--pu-color-focus-background) r g b / alpha);
2805        border-color: rgb(from var(--pu-color-focus-border) r g b / alpha);
2806        box-shadow:
2807            0 0 0 0.0625em rgb(from var(--pu-color-focus-background) r g b / alpha),
2808            0 0 0 0.25em rgb(from var(--pu-color-focus-ring, hsl(213.1 93.9% 67.8%)) r g b / alpha);
2809    }
2810
2811    /* Input field */
2812    .input__control {
2813        appearance: none;
2814        background: inherit;
2815        color: rgb(from var(--pu-input-color-foreground, inherit) r g b / alpha);
2816        border: none;
2817        flex: 1 1 auto;
2818        font-family: inherit;
2819        font-size: var(--pu-text-size);
2820        height: calc(var(--pu-size-height, 3em) - var(--pu-input-border-width, 0.0625em) * 2);
2821        letter-spacing: var(--pu-input-font-tracking, 0.05em);
2822        padding: 0 var(--pu-space-padding);
2823        width: 100%;
2824        cursor: inherit;
2825    }
2826
2827    .input__control::placeholder {
2828        color: rgb(from var(--pu-input-placeholder-color-foreground, hsl(240, 4%, 46%)) r g b / alpha);
2829    }
2830    .input__control:hover {
2831        color: rgb(from var(--pu-input-color-foreground-hover, inherit) r g b / alpha);
2832    }
2833    .input__control:focus {
2834        outline: none;
2835    }
2836
2837    /* Prefix/Suffix */
2838    .input__prefix,
2839    .input__suffix {
2840        display: inline-flex;
2841        flex: 0 0 auto;
2842        align-items: center;
2843        cursor: default;
2844        --pu-icon-color-foreground: rgb(from var(--pu-input-icon-color-foreground, hsl(240 5.9% 10%)) r g b / alpha);
2845    }
2846    .input__prefix ::slotted(*) {
2847        display: flex;
2848        margin-left: var(--pu-space-padding);
2849    }
2850    .input__suffix ::slotted(*) {
2851        display: flex;
2852        margin-right: var(--pu-space-padding);
2853    }
2854`,te`
2855    /* State API Classes */
2856    .input--disabled {
2857        background-color: rgb(from var(--pu-input-color-background-disabled, hsl(240, 5%, 96%)) r g b / alpha);
2858        border-color: rgb(from var(--pu-input-border-color-disabled, hsl(240, 5%, 84%), inherit) r g b / alpha);
2859        color: rgb(from var(--pu-input-color-foreground-disabled, inherit) r g b / alpha);
2860        cursor: not-allowed;
2861        opacity: 0.5;
2862    }
2863
2864    /* Size API Classes */
2865    .input--small {
2866        --pu-text-size: var(--pu-input-font-size, var(--pu-text-body-size-xs, 0.75em));
2867        --pu-size-height: var(--pu-input-size-height, var(--pu-space-800, 2em));
2868        --pu-space-padding: var(--pu-input-space-inline-padding, var(--pu-space-300, 0.75em));
2869        --pu-border-radius: var(--pu-input-border-radius, var(--pu-border-radius-050, 0.125em));
2870        --pu-icon-font-size: var(--pu-input-icon-font-size, var(--pu-text-body-size-sm, 0.875em));
2871    }
2872    .input--medium {
2873        --pu-text-size: var(--pu-input-font-size, var(--pu-text-body-size-sm, 0.875em));
2874        --pu-size-height: var(--pu-space-1000, 2.5em);
2875        --pu-space-padding: var(--pu-input-space-inline-padding, var(--pu-space-400, 1em));
2876        --pu-border-radius: var(--pu-input-border-radius, var(--pu-border-radius-100, 0.25em));
2877        --pu-icon-font-size: var(--pu-input-icon-font-size, var(--pu-text-body-size-md, 1em));
2878    }
2879    .input--large {
2880        --pu-text-size: var(--pu-input-font-size, var(--pu-text-body-size-md, 1em));
2881        --pu-size-height: var(--pu-input-size-height, var(--pu-space-1200, 3em));
2882        --pu-space-padding: var(--pu-input-space-inline-padding, var(--pu-space-500, 1.25em));
2883        --pu-border-radius: var(--pu-input-border-radius, var(--pu-border-radius-200, 0.5em));
2884        --pu-icon-font-size: var(--pu-input-icon-font-size, var(--pu-text-body-size-md, 1em));
2885    }
2886
2887    /* Label Position API Classes */
2888    .input--label-inset-top:not(.input--hide-label).input--has-label.input--small,
2889    .input--label-inset-top:not(.input--hide-label).input--has-label.input--medium,
2890    .input--label-inset-top:not(.input--hide-label).input--has-label.input--large {
2891        height: calc(var(--pu-size-height) + calc(var(--pu-space-padding) * 1.5));
2892        padding-top: calc(var(--pu-space-padding) * 1.5);
2893    }
2894`];class Zt extends Ue{constructor(){super(...arguments),this.formControlController=new Et(this,{assumeInteractionOn:["pu-blur","pu-input"]}),this.type="text",this.inputmode="text",this.autocomplete="on",this.size="medium",this.name="",this.value="",this.form="",this.label="",this.labelHidden=!1,this.helpText="",this.positionLabel="above",this.placeholder="",this.readonly=!1,this.required=!1,this.disabled=!1,this.autofocus=!1,this.hasFocus=!1,this.hasSlotController=new Xe(this,"label","help-text"),this.deprecatedPropertyMap=[{old:"hideLabel",new:"labelHidden",defaultValue:!1}]}get hideLabel(){return this.labelHidden}set hideLabel(e){this._handleDeprecated("hideLabel",e)}_handleDeprecated(e,t){st(this,e,t,this.deprecatedPropertyMap)}get validity(){return this.input.validity}get validationMessage(){return this.input.validationMessage}firstUpdated(){this.formControlController.updateValidity()}
2894handleBlur(){this.hasFocus=!1,this.emit("pu-blur")}handleFocus(){this.hasFocus=!0,this.emit("pu-focus")}handleInput(){this.value=this.input.value,this.formControlController.updateValidity(),this.emit("pu-input")}handleInvalid(e){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(e)}handleChange(){this.value=this.input.value,this.emit("pu-change")}handleKeyDown(e){const t=e.metaKey||e.ctrlKey||e.shiftKey||e.altKey;"Enter"!==e.key||t||setTimeout((()=>{e.defaultPrevented||e.isComposing||this.formControlController.submit()}))}checkValidity(){return this.input.checkValidity()}reportValidity(){return this.input.reportValidity()}setCustomValidity(e){this.input.setCustomValidity(e),this.formControlController.updateValidity()}getForm(){return this.formControlController.getForm()}getValue(){if(this.input)return this.input.value}setValue(e){e&&(this.value=e)}render(){const e=this.hasSlotController.test("label"),t=this.hasSlotController.test("help-text"),o=!!this.label||!!e,i=this.labelHidden&&this.required?`* ${this.placeholder}`:this.placeholder,r=!!this.helpText||!!t;return $`
2895            <div
2896                part="base input"
2897                class="${J({"form-control":!0,"form-control--small":"small"===this.size,"form-control--medium":"medium"===this.size,"form-control--large":"large"===this.size,"form-control--has-label":o,"form-control--hide-label":this.labelHidden,"form-control--has-help-text":r,[`form-control--label-${this.positionLabel}`]:!0})}">
2898                ${"above"===this.positionLabel||"inset-top"===this.positionLabel?$`
2899                          <label
2900                              part="label"
2901                              class="${J({"form-control__label":!0,"form-control__label--visually-hidden":this.labelHidden})}"
2902                              for="input"
2903                              aria-hidden=${o?"false":"true"}>
2904                              <slot name="label">${this.label}</slot>
2905                          </label>
2906                      `:""}
2907                <div class="form-control__input">
2908                    <div
2909                        part="input"
2910                        class=${J({input:!0,"input--small":"small"===this.size,"input--medium":"medium"===this.size,"input--large":"large"===this.size,"input--disabled":this.disabled,"input--focused":this.hasFocus,"input--empty":!this.value,"input--has-label":o,"input--hide-label":this.labelHidden,[`input--label-${this.positionLabel}`]:!0})}>
2911                        <span
2912                            part="prefix"
2913                            class="input__prefix">
2914                            <slot name="prefix"></slot>
2915                        </span>
2916                        ${"inset-left"===this.positionLabel?$`
2917                                  <label
2918                                      part="label"
2919                                      class="${J({"form-control__label":!0,"form-control__label--visually-hidden":this.labelHidden})}"
2920                                      for="input"
2921                                      aria-hidden=${o?"false":"true"}>
2922                                      <slot name="label">${this.label}</slot>
2923                                  </label>
2924                              `:""}
2925                        <input
2926                            part="control"
2927                            class="input__control"
2928                            id="input"
2929                            inputmode="${this.inputmode}"
2930                            autocomplete=${Ze(this.autocomplete)}
2931                            type="${this.type}"
2932                            .value="${this.value}"
2933                            name="${Ze(this.name)}"
2934                            placeholder="${i}"
2935                            ?disabled="${this.disabled}"
2936                            ?readonly=${this.readonly}
2937                            ?required="${this.required}"
2938                            ?autofocus=${this.autofocus}
2939                            @change=${this.handleChange}
2940                            @input=${this.handleInput}
2941                            @invalid=${this.handleInvalid}
2942                            @keydown=${this.handleKeyDown}
2943                            @focus=${this.handleFocus}
2944                            @blur=${this.handleBlur} />
2945                        <span
2946                            part="suffix"
2947                            class="input__suffix">
2948                            <slot name="suffix"></slot>
2949                        </span>
2950                    </div>
2951                </div>
2952                <div
2953                    part="help"
2954                    id="help-text"
2955                    class="form-control__help-text"
2956                    aria-hidden=${r?"false":"true"}>
2957                    <slot name="help-text">${this.helpText}</slot>
2958                </div>
2959            </div>
2960        `}}function Qt(e,t){(function(e){return"string"==typeof e&&-1!==e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");const o=function(e){return"string"==typeof e&&-1!==e.indexOf("%")}(e);return e=360===t?e:Math.min(t,Math.max(0,parseFloat(e))),o&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:e=360===t?(e<0?e%t+t:e%t)/parseFloat(String(t)):e%t/parseFloat(String(t))}function eo(e){return Math.min(1,Math.max(0,e))}function to(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function oo(e){return Number(e)<=1?100*Number(e)+"%":e}function io(e){return 1===e.length?"0"+e:String(e)}function ro(e,t,o){e=Qt(e,255),t=Qt(t,255),o=Qt(o,255);const i=Math.max(e,t,o),r=Math.min(e,t,o);let a=0,s=0;const n=(i+r)/2;if(i===r)s=0,a=0;else{const l=i-r;switch(s=n>.5?l/(2-i-r):l/(i+r),i){case e:a=(t-o)/l+(t<o?6:0);break;case t:a=(o-e)/l+2;break;case o:a=(e-t)/l+4}a/=6}return{h:a,s,l:n}}function ao(e,t,o){return o<0&&(o+=1),o>1&&(o-=1),o<1/6?e+6*o*(t-e):o<.5?t:o<2/3?e+(t-e)*(2/3-o)*6:e}function so(e,t,o){e=Qt(e,255),t=Qt(t,255),o=Qt(o,255);const i=Math.max(e,t,o),r=Math.min(e,t,o);let a=0;const s=i,n=i-r,l=0===i?0:n/i;if(i===r)a=0;else{switch(i){case e:a=(t-o)/n+(t<o?6:0);break;case t:a=(o-e)/n+2;break;case o:a=(e-t)/n+4}a/=6}return{h:a,s:l,v:s}}function no(e,t,o,i){const r=[io(Math.round(e).toString(16)),io(Math.round(t).toString(16)),io(Math.round(o).toString(16))];return i&&r[0].startsWith(r[0].charAt(1))&&r[1].startsWith(r[1].charAt(1))&&r[2].startsWith(r[2].charAt(1))?r[0].charAt(0)+r[1].charAt(0)+r[2].charAt(0):r.join("")}function lo(e,t,o){let i=1-e/255,r=1-t/255,a=1-o/255,s=Math.min(i,r,a);return 1===s?(i=0,r=0,a=0):(i=(i-s)/(1-s)*100,r=(r-s)/(1-s)*100,a=(a-s)/(1-s)*100),s*=100,{c:Math.round(i),m:Math.round(r),y:Math.round(a),k:Math.round(s)}}function po(e){return Math.round(255*parseFloat(e)).toString(16)}function co(e){return uo(e)/255}function uo(e){return parseInt(e,16)}Zt.styles=[Me,Yt],i([ke()],Zt.prototype,"type",void 0),i([ke()],Zt.prototype,"inputmode",void 0),i([ke()],Zt.prototype,"autocomplete",void 0),i([ke({reflect:!0})],Zt.prototype,"size",void 0),i([ke()],Zt.prototype,"name",void 0),i([ke({reflect:!0})],Zt.prototype,"value",void 0),i([ke({reflect:!0})],Zt.prototype,"form",void 0),i([ke()],Zt.prototype,"label",void 0),i([ke({type:Boolean})],Zt.prototype,"labelHidden",void 0),i([ke()],Zt.prototype,"helpText",void 0),i([ke()],Zt.prototype,"positionLabel",void 0),i([ke()],Zt.prototype,"placeholder",void 0),i([ke({type:Boolean})],Zt.prototype,"readonly",void 0),i([ke({type:Boolean})],Zt.prototype,"required",void 0),i([ke({type:Boolean,reflect:!0})],Zt.prototype,"disabled",void 0),i([ke({type:Boolean})],Zt.prototype,"autofocus",void 0),i([Ce()],Zt.prototype,"hasFocus",void 0),i([Se("input")],Zt.prototype,"input",void 0),i([ke({type:Boolean})],Zt.prototype,"hideLabel",null);const ho={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",s
2960almon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function go(e){let t={r:0,g:0,b:0},o=1,i=null,r=null,a=null,s=!1,n=!1;return"string"==typeof e&&(e=function(e){if(e=e.trim().toLowerCase(),0===e.length)return!1;let t=!1;if(ho[e])e=ho[e],t=!0;else if("transparent"===e)return{r:0,g:0,b:0,a:0,format:"name"};let o=vo.rgb.exec(e);if(o)return{r:o[1],g:o[2],b:o[3]};if(o=vo.rgba.exec(e),o)return{r:o[1],g:o[2],b:o[3],a:o[4]};if(o=vo.hsl.exec(e),o)return{h:o[1],s:o[2],l:o[3]};if(o=vo.hsla.exec(e),o)return{h:o[1],s:o[2],l:o[3],a:o[4]};if(o=vo.hsv.exec(e),o)return{h:o[1],s:o[2],v:o[3]};if(o=vo.hsva.exec(e),o)return{h:o[1],s:o[2],v:o[3],a:o[4]};if(o=vo.cmyk.exec(e),o)return{c:o[1],m:o[2],y:o[3],k:o[4]};if(o=vo.hex8.exec(e),o)return{r:uo(o[1]),g:uo(o[2]),b:uo(o[3]),a:co(o[4]),format:t?"name":"hex8"};if(o=vo.hex6.exec(e),o)return{r:uo(o[1]),g:uo(o[2]),b:uo(o[3]),format:t?"name":"hex"};if(o=vo.hex4.exec(e),o)return{r:uo(o[1]+o[1]),g:uo(o[2]+o[2]),b:uo(o[3]+o[3]),a:co(o[4]+o[4]),format:t?"name":"hex8"};if(o=vo.hex3.exec(e),o)return{r:uo(o[1]+o[1]),g:uo(o[2]+o[2]),b:uo(o[3]+o[3]),format:t?"name":"hex"};return!1}(e)),"object"==typeof e&&(yo(e.r)&&yo(e.g)&&yo(e.b)?(t=function(e,t,o){return{r:255*Qt(e,255),g:255*Qt(t,255),b:255*Qt(o,255)}}(e.r,e.g,e.b),s=!0,n="%"===String(e.r).substr(-1)?"prgb":"rgb"):yo(e.h)&&yo(e.s)&&yo(e.v)?(i=oo(e.s),r=oo(e.v),t=function(e,t,o){e=6*Qt(e,360),t=Qt(t,100),o=Qt(o,100);const i=Math.floor(e),r=e-i,a=o*(1-t),s=o*(1-r*t),n=o*(1-(1-r)*t),l=i%6;return{r:255*[o,s,a,a,n,o][l],g:255*[n,o,o,s,a,a][l],b:255*[a,a,n,o,o,s][l]}}(e.h,i,r),s=!0,n="hsv"):yo(e.h)&&yo(e.s)&&yo(e.l)?(i=oo(e.s),a=oo(e.l),t=function(e,t,o){let i,r,a;if(e=Qt(e,360),t=Qt(t,100),o=Qt(o,100),0===t)r=o,a=o,i=o;else{const s=o<.5?o*(1+t):o+t-o*t,n=2*o-s;i=ao(n,s,e+1/3),r=ao(n,s,e),a=ao(n,s,e-1/3)}return{r:255*i,g:255*r,b:255*a}}(e.h,i,a),s=!0,n="hsl"):yo(e.c)&&yo(e.m)&&yo(e.y)&&yo(e.k)&&(t=function(e,t,o,i){const r=i/100;return{r:255*(1-e/100)*(1-r),g:255*(1-t/100)*(1-r),b:255*(1-o/100)*(1-r)}}(e.c,e.m,e.y,e.k),s=!0,n="cmyk"),Object.prototype.hasOwnProperty.call(e,"a")&&(o=e.a)),o=to(o),{ok:s,format:e.format||n,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:o}}const mo="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)",bo="[\\s|\\(]+("+mo+")[,|\\s]+("+mo+")[,|\\s]+("+mo+")\\s*\\)?",fo="[\\s|\\(]+("+mo+")[,|\\s]+("+mo+")[,|\\s]+("+mo+")[,|\\s]+("+mo+")\\s*\\)?",vo={CSS_UNIT:new RegExp(mo),rgb:new RegExp("rgb"+bo),rgba:new RegExp("rgba"+fo),hsl:new RegExp("hsl"+bo),hsla:new RegExp("hsla"+fo),hsv:new RegExp("hsv"+bo),hsva:new RegExp("hsva"
2960+fo),cmyk:new RegExp("cmyk"+fo),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function yo(e){return"number"==typeof e?!Number.isNaN(e):vo.CSS_UNIT.test(e)}class wo{constructor(e="",t={}){if(e instanceof wo)return e;"number"==typeof e&&(e=function(e){return{r:e>>16,g:(65280&e)>>8,b:255&e}}(e)),this.originalInput=e;const o=go(e);this.originalInput=e,this.r=o.r,this.g=o.g,this.b=o.b,this.a=o.a,this.roundA=Math.round(100*this.a)/100,this.format=t.format??o.format,this.gradientType=t.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=o.ok}isDark(){return this.getBrightness()<128}isLight(){return!this.isDark()}getBrightness(){const e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3}getLuminance(){const e=this.toRgb();let t,o,i;const r=e.r/255,a=e.g/255,s=e.b/255;return t=r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4),o=a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4),i=s<=.03928?s/12.92:Math.pow((s+.055)/1.055,2.4),.2126*t+.7152*o+.0722*i}getAlpha(){return this.a}setAlpha(e){return this.a=to(e),this.roundA=Math.round(100*this.a)/100,this}isMonochrome(){const{s:e}=this.toHsl();return 0===e}toHsv(){const e=so(this.r,this.g,this.b);return{h:360*e.h,s:e.s,v:e.v,a:this.a}}toHsvString(){const e=so(this.r,this.g,this.b),t=Math.round(360*e.h),o=Math.round(100*e.s),i=Math.round(100*e.v);return 1===this.a?`hsv(${t}, ${o}%, ${i}%)`:`hsva(${t}, ${o}%, ${i}%, ${this.roundA})`}toHsl(){const e=ro(this.r,this.g,this.b);return{h:360*e.h,s:e.s,l:e.l,a:this.a}}toHslString(){const e=ro(this.r,this.g,this.b),t=Math.round(360*e.h),o=Math.round(100*e.s),i=Math.round(100*e.l);return 1===this.a?`hsl(${t}, ${o}%, ${i}%)`:`hsla(${t}, ${o}%, ${i}%, ${this.roundA})`}toHex(e=!1){return no(this.r,this.g,this.b,e)}toHexString(e=!1){return"#"+this.toHex(e)}toHex8(e=!1){return function(e,t,o,i,r){const a=[io(Math.round(e).toString(16)),io(Math.round(t).toString(16)),io(Math.round(o).toString(16)),io(po(i))];return r&&a[0].startsWith(a[0].charAt(1))&&a[1].startsWith(a[1].charAt(1))&&a[2].startsWith(a[2].charAt(1))&&a[3].startsWith(a[3].charAt(1))?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join("")}(this.r,this.g,this.b,this.a,e)}toHex8String(e=!1){return"#"+this.toHex8(e)}toHexShortString(e=!1){return 1===this.a?this.toHexString(e):this.toHex8String(e)}toRgb(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}}toRgbString(){const e=Math.round(this.r),t=Math.round(this.g),o=Math.round(this.b);return 1===this.a?`rgb(${e}, ${t}, ${o})`:`rgba(${e}, ${t}, ${o}, ${this.roundA})`}toPercentageRgb(){const e=e=>`${Math.round(100*Qt(e,255))}%`;return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}}toPercentageRgbString(){const e=e=>Math.round(100*Qt(e,255));return 1===this.a?`rgb(${e(this.r)}%, ${e(this.g)}%, ${e(this.b)}%)`:`rgba(${e(this.r)}%, ${e(this.g)}%, ${e(this.b)}%, ${this.roundA})`}toCmyk(){return{...lo(this.r,this.g,this.b)}}toCmykString(){const{c:e,m:t,y:o,k:i}=lo(this.r,this.g,this.b);return`cmyk(${e}, ${t}, ${o}, ${i})`}toName(){if(0===this.a)return"transparent";if(this.a<1)return!1;const e="#"+no(this.r,this.g,this.b,!1);for(const[t,o]of Object.entries(ho))if(e===o)return t;return!1}toString(e){const t=Boolean(e);e=e??this.format;let o=!1;const i=this.a<1&&this.a>=0;return t||!i||!e.startsWith("hex")&&"name"!==e?("rgb"===e&&(o=this.toRgbString()),"prgb"===e&&(o=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(o=this.toHexString()),"hex3"===e&&(o=this.toHexString(!0)),"hex4"===e&&(o=this.toHex8String(!0)),"hex8"===e&&(o=this.toHex8String()),"name"===e&&(o=this.toName()),"hsl"===e&&(o=this.toHslString()),"hsv"===e&&(o=this.toHsvString()),"cmyk"===e&&(o=this.toCmykString()),o||this.toHexString()):"name"===e&&0===this.a?this.toName():this.toRgbString()}toNumber(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)}clone(){return new wo(this.toString())}lighten(e=10){const t=this.toHsl();return t.l+=e/100,t.l=eo(t.l),new wo(t)}
2960brighten(e=10){const t=this.toRgb();return t.r=Math.max(0,Math.min(255,t.r-Math.round(-e/100*255))),t.g=Math.max(0,Math.min(255,t.g-Math.round(-e/100*255))),t.b=Math.max(0,Math.min(255,t.b-Math.round(-e/100*255))),new wo(t)}darken(e=10){const t=this.toHsl();return t.l-=e/100,t.l=eo(t.l),new wo(t)}tint(e=10){return this.mix("white",e)}shade(e=10){return this.mix("black",e)}desaturate(e=10){const t=this.toHsl();return t.s-=e/100,t.s=eo(t.s),new wo(t)}saturate(e=10){const t=this.toHsl();return t.s+=e/100,t.s=eo(t.s),new wo(t)}greyscale(){return this.desaturate(100)}spin(e){const t=this.toHsl(),o=(t.h+e)%360;return t.h=o<0?360+o:o,new wo(t)}mix(e,t=50){const o=this.toRgb(),i=new wo(e).toRgb(),r=t/100,a={r:(i.r-o.r)*r+o.r,g:(i.g-o.g)*r+o.g,b:(i.b-o.b)*r+o.b,a:(i.a-o.a)*r+o.a};return new wo(a)}analogous(e=6,t=30){const o=this.toHsl(),i=360/t,r=[this];for(o.h=(o.h-(i*e>>1)+720)%360;--e;)o.h=(o.h+i)%360,r.push(new wo(o));return r}complement(){const e=this.toHsl();return e.h=(e.h+180)%360,new wo(e)}monochromatic(e=6){const t=this.toHsv(),{h:o}=t,{s:i}=t;let{v:r}=t;const a=[],s=1/e;for(;e--;)a.push(new wo({h:o,s:i,v:r})),r=(r+s)%1;return a}splitcomplement(){const e=this.toHsl(),{h:t}=e;return[this,new wo({h:(t+72)%360,s:e.s,l:e.l}),new wo({h:(t+216)%360,s:e.s,l:e.l})]}onBackground(e){const t=this.toRgb(),o=new wo(e).toRgb(),i=t.a+o.a*(1-t.a);return new wo({r:(t.r*t.a+o.r*o.a*(1-t.a))/i,g:(t.g*t.a+o.g*o.a*(1-t.a))/i,b:(t.b*t.a+o.b*o.a*(1-t.a))/i,a:i})}triad(){return this.polyad(3)}tetrad(){return this.polyad(4)}polyad(e){const t=this.toHsl(),{h:o}=t,i=[this],r=360/e;for(let a=1;a<e;a++)i.push(new wo({h:(o+a*r)%360,s:t.s,l:t.l}));return i}equals(e){const t=new wo(e);return"cmyk"===this.format||"cmyk"===t.format?this.toCmykString()===t.toCmykString():this.toRgbString()===t.toRgbString()}}class xo extends Ue{constructor(){super(...arguments),this.formControlController=new Et(this,{assumeInteractionOn:["pu-blur","pu-input"]}),this.hue=0,this.saturation=100,this.brightness=100,this.alpha=100,this.value="rgba(255, 0, 0, 0.8)",this.defaultValue="rgba(255, 0, 0, 0.8)",this.format="rgb",this.label="",this.name="",this.disabled=!1,this.required=!1,this.handleGridPointerDown=e=>{if(this.disabled)return;const t=e.target;t.setPointerCapture(e.pointerId);const o=e=>{this.updateGridValues(e)},i=()=>{t.removeEventListener("pointermove",o),t.removeEventListener("pointerup",i),this.emit("pu-change")};t.addEventListener("pointermove",o),t.addEventListener("pointerup",i),this.updateGridValues(e),this.emit("pu-input")},this.handleHuePointerDown=e=>{if(this.disabled)return;const t=e.target;t.setPointerCapture(e.pointerId);const o=e=>{this.updateHueValue(e)},i=()=>{t.removeEventListener("pointermove",o),t.removeEventListener("pointerup",i),this.emit("pu-change")};t.addEventListener("pointermove",o),t.addEventListener("pointerup",i),this.updateHueValue(e),this.emit("pu-input")},this.handleAlphaPointerDown=e=>{if(this.disabled)return;const t=e.target;t.setPointerCapture(e.pointerId);const o=e=>{this.updateAlphaValue(e)},i=()=>{t.removeEventListener("pointermove",o),t.removeEventListener("pointerup",i),this.emit("pu-change")};t.addEventListener("pointermove",o),t.addEventListener("pointerup",i),this.updateAlphaValue(e),this.emit("pu-input")},this.handleFormatToggle=()=>{const e=["hex","rgb","hsl","hsv"],t=(e.indexOf(this.format)+1)%e.length;this.format=e[t],this.syncValues(),this.emit("pu-change")}}get validity(){return this.input?.validity||{valid:!0,badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valueMissing:!1}}get validationMessage(){return this.input?.validationMessage||""}connectedCallback(){super.connectedCallback(),this.parseColor(this.value)}firstUpdated(){}parseColor(e){try{const t=new wo(e);if(t.isValid){const e=t.toHsv();this.hue=e.h||0,this.saturation=100*e.s,this.brightness=100*e.v,this.alpha=100*e.a,this.value=t.toHexString()}}catch(t){console.warn("Invalid color:",e)}}syncValues(){try{const e=new wo({h:this.hue,s:this.saturation/100,v:this.brightness/100,a:this.alpha/100}
2960);switch(this.format){case"hex":this.value=this.alpha<100?e.toHex8String():e.toHexString();break;case"rgb":default:this.value=e.toRgbString();break;case"hsl":this.value=e.toHslString();break;case"hsv":this.value=e.toHsvString()}this.input&&(this.input.value=this.value)}catch(e){console.warn("Error syncing color values:",e)}}handleTextInput(e){const t=e.target,o=this.value;this.parseColor(t.value),this.value!==o&&(this.emit("pu-change"),this.emit("pu-input"))}checkValidity(){return this.input?.checkValidity()||!0}getForm(){return this.formControlController.getForm()}reportValidity(){return this.input?.reportValidity()||!0}setCustomValidity(e){this.input&&(this.input.setCustomValidity(e),this.formControlController.updateValidity())}updateGridValues(e){const t=e.currentTarget.getBoundingClientRect(),o=Math.max(0,Math.min(e.clientX-t.left,t.width)),i=Math.max(0,Math.min(e.clientY-t.top,t.height));this.saturation=o/t.width*100,this.brightness=100-i/t.height*100,this.syncValues(),this.emit("pu-input")}updateHueValue(e){const t=e.currentTarget.getBoundingClientRect(),o=Math.max(0,Math.min(e.clientX-t.left,t.width));this.hue=o/t.width*360,this.syncValues(),this.emit("pu-input")}updateAlphaValue(e){const t=e.currentTarget.getBoundingClientRect(),o=Math.max(0,Math.min(e.clientX-t.left,t.width));this.alpha=o/t.width*100,this.syncValues(),this.emit("pu-input")}render(){return $`
2961            <div
2962                part="base color-picker"
2963                class="color-picker"
2964                aria-disabled=${this.disabled?"true":"false"}
2965                aria-labelledby="label"
2966            >
2967                ${this.label?$`
2968                          <label
2969                              id="label"
2970                              class="color-picker__label"
2971                          >
2972                              ${this.label}
2973                          </label>
2974                      `:""}
2975
2976                <!-- Color Grid -->
2977                <div
2978                    part="grid"
2979                    class="color-picker__grid"
2980                    style="background-color: hsl(${this.hue}, 100%, 50%)"
2981                    @pointerdown=${this.handleGridPointerDown}
2982                >
2983                    <div
2984                        part="grid-handle"
2985                        class="color-picker__grid-handle"
2986                        style="left: ${this.saturation}%; top: ${100-this.brightness}%; background-color: ${this.value}"
2987                    ></div>
2988                </div>
2989
2990                <!-- Sliders Container -->
2991                <div class="color-picker__sliders">
2992                    <!-- Hue Slider -->
2993                    <div
2994                        part="hue-slider"
2995                        class="color-picker__hue-slider"
2996                        @pointerdown=${this.handleHuePointerDown}
2997                    >
2998                        <div
2999                            class="color-picker__slider-handle"
3000                            style="left: ${this.hue/360*100}%"
3001                        ></div>
3002                    </div>
3003
3004                    <!-- Alpha Slider -->
3005                    <div
3006                        part="alpha-slider"
3007                        class="color-picker__alpha-slider"
3008                        style="color: ${this.value}"
3009                        @pointerdown=${this.handleAlphaPointerDown}
3010                    >
3011                        <div
3012                            class="color-picker__slider-handle"
3013                            style="left: ${this.alpha}%"
3014                        ></div>
3015                    </div>
3016                </div>
3017
3018                <!-- Text Input and Format Controls -->
3019                <div class="color-picker__input">
3020                    <div class="color-picker__input-wrapper">
3021                        <pu-input
3022                            part="input"
3023                            type="text"
3024                            name=${this.name}
3025                            value=${this.value}
3026                            ?required=${this.required}
3027                            ?disabled=${this.disabled}
3028                            placeholder="Enter color (hex, rgb, rgba, hsl, hsla)"
3029                            @pu-input=${this.handleTextInput}
3030                            @pu-change=${this.handleTextInput}
3031                        ></pu-input>
3032                        <button
3033                            type="button"
3034                            part="format-button"
3035                            class="color-picker__format-button"
3036                            ?disabled=${this.disabled}
3037                            @click=${this.handleFormatToggle}
3038                            title="Toggle color format"
3039                        >
3040                            ${this.format.toUpperCase()}
3041                        </button>
3042                    </div>
3043                </div>
3044            </div>
3045        `}}xo.styles=[Me,Xt],xo.dependencies={"pu-input":Zt},i([Ce()],xo.prototype,"hue",void 0),i([Ce()],xo.prototype,"saturation",void 0),i([Ce()],xo.prototype,"brightness",void 0),i([Ce()],xo.prototype,"alpha",void 0),i([Se("pu-input")],xo.prototype,"input",void 0),i([ke()],xo.prototype,"value",void 0),i([ke({attribute:"default-value"})],xo.prototype,"defaultValue",void 0),i([ke()],xo.prototype,"format",void 0),i([ke()],xo.prototype,"label",void 0),i([ke()],xo.prototype,"name",void 0),i([ke({type:Boolean,reflect:!0})],xo.prototype,"disabled",void 0),i([ke({type:Boolean,reflect:!0})],xo.prototype,"required",void 0),xo.define("pu-color-picker");const _o=[te`
3046    :host {
3047        display: block;
3048        --foreground-color: var(--pu-table-color-foreground, var(--pu-color-foreground));
3049        --background-color: var(--pu-table-color-background, var(--pu-color-background));
3050    }
3051
3052    /* Base table layout */
3053    .data-table {
3054        width: 100%;
3055        color: var(--foreground-color);
3056        background: var(--pu-table-color-gradient);
3057        background-color: rgb(from var(--background-color) r g b / alpha);
3058        border-collapse: separate;
3059        border-spacing: 0;
3060        border-radius: var(--pu-table-border-radius);
3061        padding: var(--pu-table-space-padding);
3062    }
3063
3064    .data-table__body,
3065    .data-table__content {
3066        width: 100%;
3067    }
3068`,te`
3069    /* Responsive scroll behavior */
3070    .data-table.data-table--scroll {
3071        overflow-x: auto;
3072        -webkit-overflow-scrolling: touch;
3073    }
3074
3075    /* Hide header when specified */
3076    .data-table--hide-header ::slotted([slot='header']) {
3077        display: none;
3078    }
3079
3080    /* Grid view layout */
3081    @media (min-width: 48em) {
3082        .data-table--grid .data-table__body {
3083            display: grid;
3084            grid-template-columns: var(--pu-table-grid-columns, var(--grid-columns, 1fr 1fr 1fr));
3085            gap: var(--pu-table-space-gap, var(--grid-gap, 1.5em));
3086        }
3087    }
3088
3089    /* Table view layout - use table-specific columns */
3090    .data-table--grid ::slotted(pu-data-table-header) {
3091        display: none;
3092    }
3093
3094    .data-table--grid ::slotted(pu-data-table-row) {
3095        display: flex;
3096        flex-direction: column;
3097        gap: 0;
3098        border-style: solid;
3099        border-color: var(--pu-table-content-border-color);
3100        border-width: var(--pu-table-content-border-width, 0.0625em);
3101        border-radius: var(--pu-table-content-border-radius);
3102        padding: var(--pu-table-content-space-padding, 1em);
3103    }
3104
3105    /* Responsive behavior - affects child components */
3106    @media (max-width: 48em) {
3107        /* Grid view - use narrow gap on small viewports */
3108        .data-table--grid .data-table__body {
3109            display: flex;
3110            flex-direction: column;
3111            gap: var(--pu-table-space-gap, var(--grid-gap-narrow, 1em));
3112        }
3113
3114        .data-table:not(.data-table--scroll) ::slotted(pu-data-table-row) {
3115            display: block;
3116        }
3117
3118        /* Hide header in grid view on mobile */
3119        .data-table:not(.data-table--scroll) ::slotted(pu-data-table-header) {
3120            display: none;
3121        }
3122    }
3123`],ko=te`
3124    :host {
3125        --pu-color-foreground: var(--pu-table-content-color-foreground);
3126        --pu-color-background: var(--pu-table-content-color-background);
3127
3128        color: var(--pu-card-content-color-foreground);
3129        background: var(--pu-table-content-color-gradient);
3130        background-color: rgb(from var(--pu-table-content-color-background) r g b / alpha);
3131
3132        display: grid;
3133        gap: var(--pu-table-columns-space-gap, 1em);
3134        grid-template-columns: var(--pu-table-columns, var(--table-columns, repeat(auto-fit, minmax(16em, 1fr))));
3135        border-radius: var(--pu-table-content-border-radius);
3136        border-bottom-style: solid;
3137        border-bottom-width: var(--pu-table-content-border-width);
3138        border-bottom-color: rgb(from var(--pu-table-content-border-color) r g b / alpha);
3139        padding: var(--pu-table-content-space-padding, 0.5em);
3140        width: 100%;
3141    }
3142    :host(:last-child) {
3143        border-bottom: none;
3144    }
3145    /* Row variants */
3146    :host([variant='header']) {
3147        border-bottom-style: solid;
3148        border-bottom-width: var(--pu-table-header-border-width);
3149        border-bottom-color: rgb(from var(--pu-table-header-border-color) r g b / alpha);
3150    }
3151
3152    :host([variant='footer']) {
3153        border-bottom: none;
3154        border-top-style: solid;
3155        border-top-width: var(--pu-table-footer-border-width);
3156        border-top-color: rgb(from var(--pu-table-footer-border-color) r g b / alpha);
3157    }
3158
3159    .data-table-row {
3160        display: contents;
3161    }
3162`;class Co extends Ue{constructor(){super(...arguments),this.variant="body"}render(){const e={"data-table-row":!0,[`data-table-row--${this.variant}`]:!0};return $`
3163            <div
3164                part="base table-row"
3165                class="${J(e)}"
3166                role="row"
3167            >
3168                <slot></slot>
3169            </div>
3170        `}}Co.styles=[Me,ko],Co.dependencies={},i([ke()],Co.prototype,"variant",void 0);const $o=te`
3171    :host {
3172        --pu-color-foreground: var(--pu-table-content-color-foreground);
3173        --pu-color-background: var(--pu-table-content-color-background);
3174
3175        display: block;
3176        position: relative;
3177        color: var(--pu-table-header-color-foreground, var(--pu-color-foreground));
3178        background-color: rgb(from var(--pu-table-header-color-background, var(--pu-color-background)) r g b / alpha);
3179    }
3180
3181    :host([sticky]) {
3182        position: sticky;
3183        top: 0;
3184        z-index: 10;
3185    }
3186`;class So extends Ue{constructor(){super(...arguments),this.sticky=!1}render(){const e={"data-table-header":!0,"data-table-header--sticky":this.sticky};return $`
3187            <div
3188                part="base table-header"
3189                class="${J(e)}"
3190                role="rowgroup"
3191            >
3192                <slot></slot>
3193            </div>
3194        `}}So.styles=[Me,$o],So.dependencies={},i([ke({type:Boolean})],So.prototype,"sticky",void 0);const zo=te`
3195    :host {
3196        display: block;
3197    }
3198
3199    /* Individual cell styling */
3200    .data-table-cell {
3201        display: flex;
3202        align-items: var(--pu-table-cell-layout-align, start);
3203        justify-content: var(--pu-table-cell-layout-justify, start);
3204        padding: var(--pu-table-cell-space-padding, 0.5em);
3205        height: 100%; /* Ensure cells take up full height for alignment */
3206        min-width: 0; /* Allow grid items to shrink below their content size */
3207    }
3208
3209    /* Cell alignment classes */
3210    .data-table-cell--align-center {
3211        --pu-table-cell-layout-align: center;
3212    }
3213    .data-table-cell--align-end {
3214        --pu-table-cell-layout-align: end;
3215    }
3216    .data-table-cell--align-stretch {
3217        --pu-table-cell-layout-align: stretch;
3218    }
3219
3220    .data-table-cell--justify-center {
3221        --pu-table-cell-layout-justify: center;
3222    }
3223    .data-table-cell--justify-end {
3224        --pu-table-cell-layout-justify: end;
3225    }
3226    .data-table-cell--justify-space-between {
3227        --pu-table-cell-layout-justify: space-between;
3228    }
3229
3230    /* Header cell styling */
3231    .data-table-cell--header {
3232        font-weight: var(--pu-font-weight-600);
3233    }
3234`;class Ao extends Ue{constructor(){super(...arguments),this.align="start",this.justify="start",this.header=!1}render(){const e={"data-table-cell":!0,"data-table-cell--header":this.header,[`data-table-cell--align-${this.align}`]:"start"!==this.align,[`data-table-cell--justify-${this.justify}`]:"start"!==this.justify},t=this.header?"columnheader":"cell";return $`
3235            <div
3236                part="base table-cell"
3237                class="${J(e)}"
3238                role="${t}"
3239            >
3240                <slot></slot>
3241            </div>
3242        `}}Ao.styles=[Me,zo],Ao.dependencies={},i([ke()],Ao.prototype,"align",void 0),i([ke()],Ao.prototype,"justify",void 0),i([ke({type:Boolean})],Ao.prototype,"header",void 0);const Po=te`
3243    :host {
3244        --pu-color-foreground: var(--pu-table-content-color-foreground);
3245        --pu-color-background: var(--pu-table-content-color-background);
3246
3247        display: block;
3248        color: var(--pu-table-footer-color-foreground, var(--pu-color-foreground));
3249        background-color: rgb(from var(--pu-table-footer-color-background, var(--pu-color-background)) r g b / alpha);
3250    }
3251`;class No extends Ue{render(){return $`
3252            <div
3253                part="base table-footer"
3254                class="${J({"data-table-footer":!0})}"
3255                role="rowgroup"
3256            >
3257                <slot></slot>
3258            </div>
3259        `}}No.styles=[Me,Po];class Eo extends Ue{constructor(){super(...arguments),this.currentBreakpoint="",this.layout="table",this.responsiveBehavior="grid",this.tableColumns=[],this.gridColumns=[],this.title=""}tableStyles(){let e={};if(this.tableColumns.length>0?e["--table-columns"]=this.tableColumns.join(" "):e["--table-columns"]="1fr","grid"===this.layout){const t=this.getCurrentGridColumns();e["--grid-columns"]=t}return this.spacing&&(e["--grid-gap"]=parseInt(this.spacing)/16+"em"),this.spacingNarrow?e["--grid-gap-narrow"]=parseInt(this.spacingNarrow)/16+"em":this.spacing&&(e["--grid-gap-narrow"]=parseInt(this.spacing)/16+"em"),e}connectedCallback(){super.connectedCallback(),this.setupResizeObserver()}disconnectedCallback(){super.disconnectedCallback(),this.resizeObserver?.disconnect()}setupResizeObserver(){this.resizeObserver=new ResizeObserver((()=>{this.updateResponsiveStyles()})),this.resizeObserver.observe(this),this.updateResponsiveStyles()}getCurrentGridColumns(){if(!this.gridColumns||Array.isArray(this.gridColumns))return Array.isArray(this.gridColumns)?this.gridColumns.join(" "):"1fr";const e=this.offsetWidth,t=768,o=769,i=1040,r=1440;return e<=491&&this.gridColumns["small-down"]?this.gridColumns["small-down"].join(" "):e<=t&&this.gridColumns["medium-down"]?this.gridColumns["medium-down"].join(" "):e>=o&&e<i&&this.gridColumns["medium-up"]?this.gridColumns["medium-up"].join(" "):e>=i&&e<r&&this.gridColumns["large-up"]?this.gridColumns["large-up"].join(" "):e>=r&&this.gridColumns["xlarge-up"]?this.gridColumns["xlarge-up"].join(" "):"1fr"}determineCurrentBreakpoint(){const e=this.offsetWidth;return e<=491?"small-down":e<=768?"medium-down":e<1040?"medium-up":e<1440?"large-up":"xlarge-up"}updateResponsiveStyles(){const e=this.determineCurrentBreakpoint();if(e!==this.currentBreakpoint){this.currentBreakpoint=e;const t=this.tableStyles();Object.entries(t).forEach((([e,t])=>{this.style.setProperty(e,t)}))}}shouldHideHeader(){if("grid"===this.layout)return!0;if("table"===this.layout){return 1===(this.tableColumns.length>0?this.tableColumns:["1fr"]).length}return!1}render(){const e="grid"===this.layout?"grid":"table",t=this.title||"Data table",o=this.shouldHideHeader(),i=this.tableStyles();
3259return Object.entries(i).forEach((([e,t])=>{this.style.setProperty(e,t)})),$`
3260            <div
3261                part="base table"
3262                class="${J({"data-table":!0,"data-table--grid":"grid"===this.layout,"data-table--scroll":"scroll"===this.responsiveBehavior,"data-table--hide-header":o})}"
3263                role="${e}"
3264                aria-label="${t}"
3265            >
3266                <div
3267                    part="content table-content"
3268                    class="data-table__content"
3269                >
3270                    <slot name="header"></slot>
3271                    <div
3272                        part="body table-body"
3273                        class="data-table__body"
3274                        role="rowgroup"
3275                    >
3276                        <slot></slot>
3277                    </div>
3278                    <slot name="footer"></slot>
3279                </div>
3280            </div>
3281        `}}Eo.styles=[Me,_o],Eo.dependencies={"pu-data-table-row":Co,"pu-data-table-header":So,"pu-data-table-cell":Ao,"pu-data-table-footer":No},i([ke()],Eo.prototype,"layout",void 0),i([ke()],Eo.prototype,"responsiveBehavior",void 0),i([ke({type:Array})],Eo.prototype,"tableColumns",void 0),i([ke({type:Object})],Eo.prototype,"gridColumns",void 0),i([ke()],Eo.prototype,"spacing",void 0),i([ke()],Eo.prototype,"spacingNarrow",void 0),i([ke()],Eo.prototype,"title",void 0),Eo.define("pu-data-table");const Bo=[te`
3282    /* Host styles */
3283    :host {
3284        display: block;
3285        --color-foreground: var(--pu-modal-color-foreground, var(--pu-color-foreground));
3286        --color-background: var(--pu-modal-color-background, var(--pu-color-background));
3287        --color-header-foreground: var(--pu-modal-header-color-foreground, var(--color-foreground));
3288        --color-header-background: var(--pu-modal-header-color-background, transparent);
3289        --pu-section-color-foreground: var(--color-foreground);
3290        --pu-section-color-background: transparent;
3291    }
3292
3293    /* Modal */
3294    .modal {
3295        color: rgb(from var(--color-foreground) r g b);
3296        background-color: transparent;
3297        margin: 0;
3298        padding: 0;
3299        border: none;
3300        border-radius: 0;
3301        inset: 0;
3302        width: 100vw;
3303        height: 100vh;
3304        max-width: none;
3305        max-height: none;
3306    }
3307    dialog.modal::backdrop {
3308        background-color: rgb(from var(--color-background) r g b / calc(alpha * var(--pu-modal-background-opacity, 1)));
3309        background-image: var(--pu-modal-image-background);
3310        background-size: cover;
3311        background-repeat: no-repeat;
3312    }
3313
3314    .modal__inner {
3315        display: flex;
3316        flex-direction: column;
3317        height: 100svh;
3318        overflow-y: auto;
3319        overflow-x: hidden;
3320        scrollbar-width: thin;
3321        scrollbar-color: rgb(from var(--color-foreground) r g b) var(--color-background);
3322    }
3323
3324    /** Close button icon */
3325    .close-button-icon {
3326        font-size: var(--pu-icon-font-size, 1.5em);
3327    }
3328
3329    /* Modal header */
3330    .modal-header {
3331        position: relative;
3332        display: flex;
3333        align-items: center;
3334        padding: var(--pu-modal-header-space-padding, 1.5em 0);
3335        line-height: 1;
3336        --pu-color-foreground: var(--color-header-foreground);
3337        --pu-button-color-foreground: var(--color-header-background);
3338        --pu-button-color-background: var(--color-header-foreground);
3339        --pu-icon-color-foreground: var(--color-header-foreground);
3340        --pu-icon-border-color: var(--color-header-foreground);
3341        --pu-icon-color-background: transparent;
3342    }
3343
3344    .modal-header .col {
3345        flex: 1;
3346    }
3347    .modal-header .col:first-child {
3348        margin-right: auto;
3349    }
3350    .modal-header .title {
3351        margin-left: auto;
3352        text-align: center;
3353    }
3354    .modal-header .close-button {
3355        margin-left: auto;
3356        text-align: right;
3357    }
3358
3359    @media screen and (max-width: 48em) {
3360        .modal-header {
3361            padding: var(--pu-modal-header-space-padding-narrow, 1em 0);
3362        }
3363        .modal-header .close-button {
3364            flex: 0;
3365        }
3366        .modal-header .title {
3367            --pu-text-heading-scale: 0.6;
3368        }
3369        .modal-header .col:first-child {
3370            display: none;
3371        }
3372        .modal-header .title {
3373            text-align: left;
3374        }
3375    }
3376
3377    /* Section Content */
3378    .section-content {
3379        display: flex;
3380        flex: 1;
3381        flex-direction: column;
3382        margin: 0 auto;
3383        width: 100%;
3384    }
3385
3386    .section-content-block {
3387        display: flex;
3388        flex-direction: column;
3389        justify-content: center;
3390        align-items: stretch;
3391        width: 100%;
3392    }
3393
3394    .section__footer {
3395        display: flex;
3396        justify-content: center;
3397    }
3398`,te`
3399    /* Sticky Header */
3400    .modal-header--sticky .sticky {
3401        position: sticky;
3402        top: 0;
3403        left: 0;
3404        z-index: 100;
3405        width: 100%;
3406    }
3407
3408    /* Button Position */
3409    .modal-header-icon--left .modal-header {
3410        flex-direction: row-reverse;
3411    }
3412    .modal-header-icon--left .modal-header .col:first-child {
3413        margin-left: auto;
3414    }
3415    .modal-header-icon--left .modal-header .col:last-child {
3416        margin-right: auto;
3417        text-align: left;
3418    }
3419
3420    /* Narrow Sticky Bottom */
3421    @media screen and (max-width: 48em) {
3422        .modal-header--sticky.modal-header--sticky-bottom .modal-header {
3423            background-color: var(--pu-modal-header-color-background, transparent);
3424            position: fixed;
3425            padding: 1em;
3426            top: initial;
3427            left: 0;
3428            right: 0;
3429            bottom: 0;
3430            z-index: 100;
3431        }
3432        .modal-header-icon--left .modal-header .title {
3433            text-align: right;
3434        }
3435    }
3436
3437    /* Content Justify */
3438    .content-justify--start {
3439        justify-content: start;
3440    }
3441    .content-justify--center {
3442        justify-content: center;
3443    }
3444    .content-justify--end {
3445        justify-content: end;
3446    }
3447`],To=[te`
3448    :host {
3449        display: block;
3450        --img-sm: var(--pu-section-content-bg-image-size-sm);
3451        --img-md: var(--pu-section-content-bg-image-size-md);
3452        --img-lg: var(--pu-section-content-bg-image-size-lg);
3453    }
3454
3455    /* Content container */
3456    .section-content {
3457        background-color: rgb(from var(--pu-section-content-color-background) r g b / alpha);
3458        margin-top: 0;
3459        margin-right: auto;
3460        margin-bottom: 0;
3461        margin-left: auto;
3462        max-width: var(--pu-size-content-max-width, var(--section-width));
3463        display: flex;
3464        flex-direction: column;
3465        gap: var(--pu-section-content-row-gap, var(--pu-section-content-row-gap-narrow));
3466    }
3467    @media (max-width: 47.9975em) {
3468        .section-content {
3469            gap: var(--pu-section-content-row-gap-narrow, var(--gap-narrow));
3470        }
3471    }
3472`,te`
3473    /* Width API - Content width control */
3474    .section-content--page-width {
3475        max-width: var(--pu-size-content-max-width, var(--section-width));
3476    }
3477    .section-content--full-width {
3478        max-width: var(--pu-size-viewport-max-width);
3479    }
3480
3481    /* Centering API - Content alignment control */
3482    @media (min-width: 48em) {
3483        .section-content--center {
3484            display: flex;
3485            justify-content: center;
3486            text-align: center;
3487        }
3488    }
3489    @media only screen and (max-width: 48em) {
3490        .section-content--narrow-center {
3491            display: flex;
3492            justify-content: center;
3493            text-align: center;
3494        }
3495    }
3496
3497    /* Padding Type API - Side padding control */
3498    @media (min-width: 48em) {
3499        .section-content--padded {
3500            padding-top: var(--pu-section-content-space-padding-top, var(--pt));
3501            padding-bottom: var(--pu-section-content-space-padding-bottom, var(--pb));
3502            padding-left: var(--pu-section-content-space-padding-side, var(--plr));
3503            padding-right: var(--pu-section-content-space-padding-side, var(--plr));
3504        }
3505        .section-content--side-bleed {
3506            padding-top: var(--pu-section-content-space-padding-top, var(--pt));
3507            padding-bottom: var(--pu-section-content-space-padding-bottom, var(--pb));
3508            padding-left: 0;
3509            padding-right: 0;
3510        }
3511        .section-content.section-content--full-bleed {
3512            padding: 0;
3513        }
3514    }
3515
3516    @media only screen and (max-width: 48em) {
3517        .section-content--narrow-padded {
3518            padding-top: var(--pu-section-content-space-padding-top-narrow, var(--pt-narrow));
3519            padding-bottom: var(--pu-section-content-space-padding-bottom-narrow, var(--pb-narrow));
3520            padding-left: var(--pu-section-content-space-padding-side-narrow, var(--plr-narrow));
3521            padding-right: var(--pu-section-content-space-padding-side-narrow, var(--plr-narrow));
3522        }
3523        .section-content--narrow-side-bleed {
3524            padding-top: var(--pu-section-content-space-padding-top-narrow, var(--pt-narrow));
3525            padding-bottom: var(--pu-section-content-space-padding-bottom-narrow, var(--pb-narrow));
3526            padding-left: 0;
3527            padding-right: 0;
3528        }
3529        .section-content.section-content--narrow-full-bleed {
3530            padding: 0;
3531        }
3532    }
3533
3534    /* Background color/image */
3535    .section-block {
3536        color: rgb(from var(--pu-section-color-foreground) r g b / alpha);
3537        background-color: rgb(from var(--pu-section-color-background) r g b / alpha);
3538        background-size: cover;
3539        background-position: center;
3540    }
3541
3542    @media (max-width: 47.9975em) {
3543        .section-block {
3544            background-image: var(--img-sm);
3545        }
3546    }
3547    @media (min-width: 47.9975em) and (max-width: 64.9975em) {
3548        .section-block {
3549            background-image: var(--img-md);
3550        }
3551    }
3552    @media (min-width: 65em) {
3553        .section-block {
3554            background-image: var(--img-lg);
3555        }
3556    }
3557`];class Io extends Ue{constructor(){super(...arguments),this.width="page-width",this.centerContent=!1,this.centerContentNarrow=!1,this.paddingType="padded",this.paddingTypeNarrow="padded",this.isNumeric=e=>("number"==typeof e||"string"==typeof e&&""!==e.trim())&&!isNaN(e)}blockStyles(){let e={};return this.paddingTop&&(e={...e,"--pt":parseInt(this.paddingTop)/16+"em"}),this.paddingBottom&&(e={...e,"--pb":parseInt(this.paddingBottom)/16+"em"}),this.paddingTopNarrow?e={...e,"--pt-narrow":parseInt(this.paddingTopNarrow)/16+"em"}:this.paddingTop&&(e={...e,"--pt-narrow":parseInt(this.paddingTop)/16+"em"}),this.paddingBottomNarrow?e={...e,"--pb-narrow":parseInt(this.paddingBottomNarrow)/16+"em"}:this.paddingBottom&&(e={...e,"--pb-narrow":parseInt(this.paddingBottom)/16+"em"}),this.paddingSide&&(e={...e,"--plr":parseInt(this.paddingSide)/16+"em"}),this.paddingSideNarrow&&(e={...e,"--plr-narrow":parseInt(this.paddingSideNarrow)/16+"em"}),this.contentSpacing&&(e={...e,"--gap":Number(this.contentSpacing)/16+"em"}),this.contentSpacingNarrow?e={...e,"--gap-narrow":Number(this.contentSpacingNarrow)/16+"em"}:this.contentSpacing&&(e={...e,"--gap-narrow":Number(this.contentSpacing)/16+"em"}),e}sectionContentStyles(){let e={};return this.width&&this.isNumeric(this.width)&&(e={...e,"--section-width":parseInt(this.width)/16+"em"}),e}render(){const e=this.width&&!this.isNumeric(this.width);return $`
3558            <div
3559                part="base section-block"
3560                class="section-block"
3561                style="${He(this.blockStyles())}">
3562                <div
3563                    part="content"
3564                    class="${J({"section-content":!0,"section-content--center":this.centerContent,"section-content--narrow-center":!!this.centerContentNarrow,[`section-content--${this.paddingType}`]:!0,[`section-content--narrow-${this.paddingTypeNarrow}`]:!0,[`section-content--${this.width}`]:e})}"
3565                    style="${He(this.sectionContentStyles())}">
3566                    <slot></slot>
3567                    <slot name="content"></slot>
3568                </div>
3569            </div>
3570        `}}Io.styles=[Me,To],i([ke()],Io.prototype,"width",void 0),i([ke({type:Boolean})],Io.prototype,"centerContent",void 0),i([ke({type:Boolean})],Io.prototype,"centerContentNarrow",void 0),i([ke()],Io.prototype,"paddingType",void 0),i([ke()],Io.prototype,"paddingTypeNarrow",void 0),i([ke()],Io.prototype,"paddingTop",void 0),i([ke()],Io.prototype,"paddingBottom",void 0),i([ke()],Io.prototype,"paddingTopNarrow",void 0),i([ke()],Io.prototype,"paddingBottomNarrow",void 0),i([ke()],Io.prototype,"paddingSide",void 0),i([ke()],Io.prototype,"paddingSideNarrow",void 0),i([ke()],Io.prototype,"contentSpacing",void 0),i([ke()],Io.prototype,"contentSpacingNarrow",void 0);const Mo=[te`
3571    :host {
3572        display: block;
3573        width: 100%;
3574        --foreground-color: var(--pu-section-color-foreground, var(--pu-color-foreground));
3575        --background-color: var(--pu-section-color-background, var(--pu-color-background));
3576        --margin-top: var(--pu-section-space-margin-top);
3577        --margin-bottom: var(--pu-section-space-margin-bottom);
3578    }
3579    @media only screen and (max-width: 47.9975em) {
3580        :host {
3581            --margin-top: var(--pu-section-space-margin-top-narrow);
3582            --margin-bottom: var(--pu-section-space-margin-bottom-narrow);
3583        }
3584    }
3585
3586    .section {
3587        padding-top: var(--pu-section-space-padding-top);
3588        padding-bottom: var(--pu-section-space-padding-bottom);
3589        padding-left: var(--pu-section-space-padding-side);
3590        padding-right: var(--pu-section-space-padding-side);
3591        margin-top: var(--margin-top);
3592        margin-bottom: var(--margin-bottom);
3593    }
3594    @media only screen and (max-width: 47.9975em) {
3595        .section {
3596            padding-top: var(--pu-section-space-padding-top-narrow);
3597            padding-bottom: var(--pu-section-space-padding-bottom-narrow);
3598            padding-left: var(--pu-section-space-padding-side-narrow);
3599            padding-right: var(--pu-section-space-padding-side-narrow);
3600            margin-top: var(--pu-section-space-margin-top-narrow);
3601            margin-bottom: var(--pu-section-space-margin-bottom-narrow);
3602        }
3603    }
3604
3605    .section {
3606        color: rgb(from var(--foreground-color) r g b / alpha);
3607        background-color: rgb(from var(--background-color) r g b / alpha);
3608        background-size: cover;
3609        background-position: center;
3610    }
3611
3612    @media (max-width: 47.9975em) {
3613        .section {
3614            background-image: var(--pu-section-media-size-sm);
3615        }
3616    }
3617    @media (min-width: 47.9975em) and (max-width: 64.9975em) {
3618        .section {
3619            background-image: var(--pu-section-media-size-md);
3620        }
3621    }
3622    @media (min-width: 65em) {
3623        .section {
3624            background-image: var(--pu-section-media-size-lg);
3625        }
3626    }
3627
3628    @media (max-width: 47.9975em) {
3629        ::slotted(*:not(:last-child)) {
3630            margin-bottom: var(--pu-section-space-vertical-narrow) !important;
3631        }
3632    }
3633    @media (min-width: 48em) {
3634        ::slotted(*:not(:last-child)) {
3635            margin-bottom: var(--pu-section-space-vertical-wide) !important;
3636        }
3637    }
3638`];class jo extends Ue{constructor(){super(...arguments),this.as="section"}sectionStyles(){let e={};return this.spacing&&(e={...e,"--pu-section-space-vertical-wide":this.spacing+"px"}),this.spacingNarrow&&(e={...e,"--pu-section-space-vertical-narrow":this.spacingNarrow+"px"}),e}sectionAs(){return"section"===this.as?$`
3639                <section
3640                    part="base section"
3641                    class="section"
3642                    style="${He(this.sectionStyles())}"
3643                >
3644                    <slot></slot>
3645                    <slot name="content"></slot>
3646                </section>
3647            `:"header"===this.as?$`
3648                <header
3649                    part="base header"
3650                    class="section"
3651                    style="${He(this.sectionStyles())}"
3652                >
3653                    <slot></slot>
3654                    <slot name="content"></slot>
3655                </header>
3656            `:"footer"===this.as?$`
3657                <footer
3658                    part="base footer"
3659                    class="section"
3660                    style="${He(this.sectionStyles())}"
3661                >
3662                    <slot></slot>
3663                    <slot name="content"></slot>
3664                </footer>
3665            `:$`
3666                <div
3667                    part="base section"
3668                    class="section"
3669                    style="${He(this.sectionStyles())}"
3670                >
3671                    <slot></slot>
3672                    <slot name="content"></slot>
3673                </div>
3674            `}render(){return $` ${this.sectionAs()} `}}jo.styles=[Me,Mo],jo.dependencies={"pu-section-block":Io},i([ke()],jo.prototype,"as",void 0),i([ke()],jo.prototype,"spacing",void 0),i([ke()],jo.prototype,"spacingNarrow",void 0);class Oo extends Ue{constructor(){super(...arguments),this.visible=!1,this.stickyHeader=!1,this.stickyBottomNarrow=!1,this.contentWidth="page-width",this.spacing="16",this.paddingType="full-bleed",this.paddingTypeNarrow="full-bleed",this.paddingSide="24",this.paddingBottom="24",this.spacingNarrow="16",this.paddingSideNarrow="16",this.paddingBottomNarrow="24",this.iconName="close",this.buttonPosition="right",this.hasFooterSlot=new Xe(this,"footer"),this.openModal=()=>{this.visible=!0},this.closeModal=()=>{this.visible=!1},this.onBackdropClick=e=>{if(e.target===this.dlg)return void(this.visible=!1);const t=this.renderRoot.querySelector(".modal__inner");if(t){const o=t.getBoundingClientRect(),{clientX:i,clientY:r}=e;i>=o.left&&i<=o.right&&r>=o.top&&r<=o.bottom||(this.visible=!1)}},this.onClose=()=>{this.visible&&(this.visible=!1);const e=new CustomEvent("close-modal",{bubbles:!0,composed:!0});this.dispatchEvent(e),history.pushState({modalOpen:!1},"Modal Closed")},this.historyBack=()=>{this.dlg?.open&&this.dlg.close()}}connectedCallback(){window.addEventListener("popstate",this.historyBack),super.connectedCallback()}disconnectedCallback(){window.removeEventListener("popstate",this.historyBack),this.visible&&this.enableBodyScroll(),super.disconnectedCallback()}firstUpdated(){this.dlg=this.renderRoot.querySelector("dialog"),this.dlg.addEventListener("close",this.onClose)}updated(e){e.has("visible")&&(this.visible?(this.dlg.open||this.dlg.showModal(),this.disableBodyScroll(),history.pushState({modalOpen:!0},"Modal Open",window.location.pathname)):(this.dlg.open&&this.dlg.close(),this.enableBodyScroll()))}disableBodyScroll(){document.body.dataset.originalOverflow||(document.body.dataset.originalOverflow=document.body.style.overflow||"visible"),document.body.style.overflow="hidden"}enableBodyScroll(){const e=document.body.dataset.originalOverflow;e&&(document.body.style.overflow="visible"===e?"":e,delete document.body.dataset.originalOverflow)}sectionInnerStyles(){let e={};return this.maxScreenWidth&&(e["--pu-size-max-width"]=String(Number(this.maxScreenWidth)/16)+"em"),e}render(){const e=!!this.justifyContent,t="left"===this.buttonPosition,o=this.hasFooterSlot.test("footer");return $`
3675            <dialog
3676                part="base media-modal"
3677                class="modal ${J({"modal-header--sticky":this.stickyHeader,"modal
3677-header--sticky-bottom":this.stickyBottomNarrow,"modal-header-icon--left":t})}"
3678                aria-labelledby="dialog-title"
3679                @click=${this.onBackdropClick}>
3680                <div
3681                    part="container"
3682                    class="modal__inner">
3683                    <pu-section
3684                        as="header"
3685                        class="section-header sticky">
3686                        <pu-section-block
3687                            class="section-header-block"
3688                            paddingSide=${this.paddingSide}
3689                            paddingSideNarrow=${this.paddingSideNarrow}
3690                            paddingTop="0"
3691                            paddingBottom="0"
3692                            paddingTopNarrow="0"
3693                            paddingBottomNarrow="0"
3694                            width=${this.contentWidth}>
3695                            <div
3696                                part="header"
3697                                class="modal-header">
3698                                <div
3699                                    part="shim"
3700                                    class="col"></div>
3701                                <div
3702                                    part="title"
3703                                    class="title col"
3704                                    id="dialog-title">
3705                                    <slot name="title"></slot>
3706                                </div>
3707                                <div
3708                                    part="close"
3709                                    class="close-button col">
3710                                    <slot name="close-button">
3711                                        <pu-button-icon
3712                                            part="button"
3713                                            exportparts="base,icon,svg"
3714                                            class="close-button"
3715                                            name="${this.iconName}"
3716                                            iconSize="large"
3717                                            padding="0"
3718                                            extendClickArea
3719                                            @click=${()=>this.visible=!1}>
3720                                            <svg
3721                                                slot="icon"
3722                                                xmlns="http://www.w3.org/2000/svg"
3723                                                class="close-button-icon"
3724                                                id="close"
3725                                                width="1em"
3726                                                height="1em"
3727                                                viewBox="0 0 384 512"
3728                                                role="presentation"
3729                                                aria-hidden="true"
3730                                                focusable="false"
3731                                                fill="currentColor">
3732                                                <path
3733                                                    d="M192 233.4L59.5 100.9 36.9 123.5 169.4 256 36.9 388.5l22.6 22.6L192 278.6 324.5 411.1l22.6-22.6L214.6 256 347.1 123.5l-22.6-22.6L192 233.4z" />
3734                                            </svg>
3735                                        </pu-button-icon>
3736                                    </slot>
3737                                </div>
3738                            </div>
3739                        </pu-section-block>
3740                    </pu-section>
3741                    <pu-section
3742                        part="section"
3743                        exportparts="base,section,header,footer"
3744                        class="section-content ${J({["content-justify--"+this.justifyContent]:e})}"
3745                        spacing=${this.spacing}
3746                        spacingNarrow=${this.spacingNarrow}>
3747                        <pu-section-block
3748                            part="content"
3749                            exportparts="base,content"
3750                            class="section-content-block"
3751                            style="${He({"--pu-size-max-width":this.maxScreenWidth?this.maxScreenWidth:void 0})}"
3752                            paddingSide=${this.paddingSide}
3753                            paddingTop=${Ze(this.paddingTop)}
3754                            paddingBottom=${o?"0":this.paddingBottom}
3755                            paddingSideNarrow=${this.paddingSideNarrow}
3756                            paddingTopNarrow=${Ze(this.paddingTopNarrow)}
3757                            paddingBottomNarrow=${o?"0":this.paddingBottomNarrow}
3758                            paddingType=${this.paddingType}
3759                            paddingTypeNarrow=${this.paddingTypeNarrow}
3760                            width=${this.contentWidth}>
3761                            <slot name="content"></slot>
3762                        </pu-section-block>
3763                        ${o?$`
3764                                  <pu-section-block
3765                                      part="footer"
3766                                      exportparts="base,content"
3767                                      class="section__footer"
3768                                      style="${He(this.sectionInnerStyles())}"
3769                                      paddingSide=${this.paddingSide}
3770                                      paddingTop=${Ze(this.paddingTop)}
3771                                      paddingBottom=${Ze(this.paddingBottom)}
3772                                      paddingSideNarrow=${this.paddingSideNarrow}
3773                                      paddingTopNarrow=${Ze(this.paddingTopNarrow)}
3774                                      paddingBottomNarrow=${Ze(this.paddingBottomNarrow)}
3775                                      paddingType=${this.paddingType}
3776                                      paddingTypeNarrow=${this.paddingTypeNarrow}
3777                                      width=${this.contentWidth}>
3778                                      <slot name="footer"></slot>
3779                                  </pu-section-block>
3780                              `:""}
3781                    </pu-section>
3782                </div>
3783            </dialog>
3784        `}}Oo.styles=[Me,Bo],Oo.dependencies={"pu-section":jo,"pu-button-icon":jt},i([ke({type:Boolean,reflect:!0})],Oo.prototype,"visible",void 0),i([ke({reflect:!0,type:Boolean})],Oo.prototype,"stickyHeader",void 0),i([ke({reflect:!0,type:Boolean})],Oo.prototype,"stickyBottomNarrow",void 0),i([ke()],Oo.prototype,"contentWidth",void 0),i([ke({type:Number})],Oo.prototype,"maxScreenWidth",void 0),i([ke()],Oo.prototype,"justifyContent",void 0),i([ke()],Oo.prototype,"spacing",void 0),i([ke()],Oo.prototype,"paddingType",void 0),i([ke()],Oo.prototype,"paddingTypeNarrow",void 0),i([ke()],Oo.prototype,"paddingSide",void 0),i([ke()],Oo.prototype,"paddingTop",void 0),i([ke()],Oo.prototype,"paddingBottom",void 0),i([ke()],Oo.prototype,"spacingNarrow",void 0),i([ke()],Oo.prototype,"paddingSideNarrow",void 0),i([ke()],Oo.prototype,"paddingTopNarrow",void 0),i([ke()],Oo.prototype,"paddingBottomNarrow",void 0),i([ke()],Oo.prototype,"iconName",void 0),i([ke()],Oo.prototype,"buttonPosition",void 0);const Lo=[te`
3785    :host {
3786        display: block;
3787        --gradient: var(--pu-banner-media-color-gradient);
3788        --aspect: var(--pu-deferred-media-image-aspect);
3789        --aspect-small: var(--pu-deferred-media-image-narrow);
3790
3791        --pu-icon-color-foreground: var(--pu-play-button-color-foreground);
3792        --pu-icon-color-background: var(--pu-play-button-color-background);
3793        --pu-icon-border-color: var(--pu-play-button-border-color);
3794
3795        --pu-icon-opacity-background: var(--pu-play-button-opacity-background);
3796        --pu-icon-opacity-border: var(--pu-play-button-opacity-border);
3797
3798        --pu-icon-shadow: var(--pu-play-button-shadow);
3799        --pu-icon-space-padding: var(--pu-play-button-space-padding);
3800
3801        --pu-slider-icon-border-radius: var(--pu-play-button-border-radius);
3802        --pu-icon-border-width: var(--pu-play-button-border-width);
3803    }
3804
3805    .deferred-media {
3806        position: relative;
3807        width: 100%;
3808    }
3809
3810    .cover-image {
3811        background-image: var(--gradient);
3812        aspect-ratio: var(--aspect, var(--pu-deferred-media-image-narrow));
3813    }
3814
3815    @media only screen and (min-width: 30.06em) {
3816        .cover-image {
3817            aspect-ratio: var(--aspect, var(--pu-deferred-media-image-aspect));
3818        }
3819    }
3820
3821    ::slotted(img) {
3822        aspect-ratio: var(--aspect-small, var(--pu-deferred-media-image-narrow));
3823        object-fit: cover;
3824        width: 100%;
3825        height: 100%;
3826    }
3827
3828    @media only screen and (min-width: 30.06em) {
3829        ::slotted(img) {
3830            aspect-ratio: var(--aspect, var(--pu-deferred-media-image-aspect));
3831        }
3832    }
3833
3834    .play-button {
3835        position: absolute;
3836        inset: 0;
3837        display: flex;
3838        align-items: center;
3839        justify-content: center;
3840        z-index: 100;
3841        padding: 1.5em;
3842    }
3843
3844    .play-button ::part(button) {
3845        box-shadow: var(--icon-shadow, var(--pu-shadow-elevation-400));
3846    }
3847
3848    .deferred-media__video {
3849        aspect-ratio: var(--aspect-small, var(--pu-aspect-ratio-media-small));
3850        border: 0;
3851        width: 100%;
3852    }
3853
3854    iframe.video {
3855        border: 0;
3856        aspect-ratio: var(--aspect, var(--pu-aspect-ratio-media));
3857    }
3858`,te`
3859    .deferred-media--button-hover .play-button {
3860        opacity: 0;
3861        background-color: rgb(0, 0, 0, 0.2);
3862        transition: opacity var(--pu-transition-duration-500);
3863    }
3864
3865    .deferred-media--button-hover .play-button:hover {
3866        opacity: 1;
3867    }
3868`];class Ho extends Ue{constructor(){super(),this.hasSlotController=new Xe(this,"image"),this.title="",this.enableModal=!1,this.buttonSize="3xlarge",this.buttonStyle="rounded",this.buttonVisibleOnHover=!1,this._videoPlaying=!1,this._modalOpen=!1,this.aspectRatio="16/9",this.aspectRatioNarrow="16/9",this.addEventListener("close-modal",this.handleCloseVideo)}handlePlayVideo(){this.enableModal?this._modalOpen=!0:this._videoPlaying=!0}handleCloseVideo(){this._videoPlaying=!1,this._modalOpen=!1}renderVideo(){return $` <iframe
3869            part="video"
3870            class="video"
3871            src="${Ze(this.src)}"
3872            title="${Ze(this.title)}"
3873            allow="autoplay; fullscreen; picture-in-picture;"
3874            allowfullscreen
3875        >
3876        </iframe>`}render(){if(this.hasSlotController.test("image")){const e=this._coverImage[0];if(e){const t=e.getAspectRatio;if("function"==typeof t){const o=t.call(e);o?.default&&(this.aspectRatio=o.default),o?.small&&(this.aspectRatioNarrow=o.small)}else if(e instanceof HTMLImageElement){const t=Number(e.getAttribute("width")||""),o=Number(e.getAttribute("height")||""),i=t||e.naturalWidth||e.width,r=o||e.naturalHeight||e.height;if(i&&r){const e=(i/r).toString();this.aspectRatio=e,this.aspectRatioNarrow=e}}}}const e="large"===this.buttonSize?"1em":"xlarge"===this.buttonSize?"1.25em":"2xlarge"===this.buttonSize?"1.5em":"3xlarge"===this.buttonSize?"1.75em":void 0,t="sharp"===this.buttonStyle?"play":"play-rounded";return $`
3877            <div
3878                part="base deferred-media"
3879                class="${J({"deferred-media":!0,"deferred-media--button-hover":this.buttonVisibleOnHover})}"
3880                style="${He({"--pu-aspect-ratio-media":this.aspectRatio,"--pu-aspect-ratio-media-small":this.aspectRatioNarrow,"--pu-deferred-media-image-aspect":this.aspectRatio,"--pu-deferred-media-image-narrow":this.aspectRatioNarrow?this.aspectRatioNarrow:this.aspectRatio})}"
3881                ?enableModal=${this.enableModal}
3882            >
3883                <div
3884                    part="cover"
3885                    class="cover-image"
3886                >
3887                    ${this._videoPlaying?this.renderVideo():$`
3888                              <slot name="image"></slot>
3889                              <div
3890                                  part="play-button"
3891                                  class="play-button"
3892                              >
3893                                  <slot name="play-button">
3894                                      <pu-button-icon
3895                                          style=${He({...e?{"--pu-space-padding":e}:{}})}
3896                                          part="button-icon"
3897                                          exportparts="button,base,icon,svg"
3898                                          type="button"
3899                                          borderStyle="rounded"
3900                                          iconSize=${this.buttonSize}
3901                                          label="Click to play a video"
3902                                          extendClickArea
3903                                          ?border=${!0}
3904                                          @click="${this.handlePlayVideo}"
3905                                      >
3906                                          ${"play-rounded"===t?$`
3907                                                    <svg
3908                                                        slot="icon"
3909                                                        class="button-icon"
3910                                                        xmlns="http://www.w3.org/2000/svg"
3911                                                        id="play-rounded"
3912                                                        width="1em"
3913                                                        height="1em"
3914                                                        viewBox="0 0 448 512"
3915                                                        role="presentation"
3916                                                        aria-hidden="true"
3917                                                        focusable="false"
3918                                                        fill="currentColor"
3919                                                    >
3920                                                        <path
3921                                                            d="M91.2 36.9c-12.4-6.8-27.4-6.5-39.6 .7S32 57.9 32 72l0 368c0 14.1 7.5 27.2 19.6 34.4s27.2 7.5 39.6 .7l336-184c12.8-7 20.8-20.5 20.8-35.1s-8-28.1-20.8-35.1l-336-184z"
3922                                                        />
3923                                                    </svg>
3924                                                `:$`
3925                                                    <svg
3926                                                        slot="icon"
3927                                                        class="button-icon"
3928                                                        xmlns="http://www.w3.org/2000/svg"
3929                                                        id="play"
3930                                                        width="1em"
3931                                                        height="1em"
3932                                                        viewBox="0 0 384 512"
3933                                                        role="presentation"
3934                                                        aria-hidden="true"
3935                                                        focusable="false"
3936                                                        fill="currentColor"
3937                                                    >
3938                                                        <path d="M384 256L0 32V480L384 256z" />
3939                                                    </svg>
3940                                                `}
3941                                      </pu-button-icon>
3942                                  </slot>
3943                              </div>
3944                          `}
3945                </div>
3946                ${this.enableModal&&this._modalOpen?$`
3947                          <pu-media-modal
3948                              part="modal"
3949                              exportparts="base,container,header,shim,title,close,button,icon,svg,section,content"
3950                              layout="single"
3951                              justifyContent="center"
3952                              ?visible=${this._modalOpen}
3953                          >
3954                              <pu-text
3955                                  slot="title"
3956                                  as="h2"
3957                                  variant="headingXl"
3958                                  withoutMargin
3959                                  >${this.title}</pu-text
3960                              >
3961                              <div slot="content">${this.renderVideo()}</div>
3962                          </pu-media-modal>
3963                      `:""}
3964            </div>
3965        `}}Ho.styles=[Me,Lo],Ho.dependencies={"pu-media-modal":Oo,"pu-button-icon":jt,"pu-button":It},i([Ae({slot:"image"})],Ho.prototype,"_coverImage",void 0),i([ke()],Ho.prototype,"src",void 0),i([ke()],Ho.prototype,"title",void 0),i([ke({type:Boolean})],Ho.prototype,"enableModal",void 0),i([ke()],Ho.prototype,"buttonSize",void 0),i([ke()],Ho.prototype,"buttonStyle",void 0),i([ke({type:Boolean})],Ho.prototype,"buttonVisibleOnHover",void 0),i([Ce()],Ho.prototype,"_videoPlaying",void 0),i([Ce()],Ho.prototype,"_modalOpen",void 0),Ho.define("pu-deferred-media");const Vo=[te`
3966    :host {
3967        display: block;
3968        --summary-color-foreground: var(--pu-disclosure-color-foreground, var(--pu-color-foreground));
3969        --summary-color-background: var(--pu-disclosure-color-background, var(--pu-color-background));
3970        --details-color-foreground: var(--pu-disclosure-color-foreground, var(--pu-color-foreground));
3971        --details-color-background: var(--pu-disclosure-color-background, var(--pu-color-background));
3972        --details-color-border: var(--pu-disclosure-color-border, var(--pu-color-border));
3973    }
3974    :host([overlay]) {
3975        position: relative;
3976    }
3977
3978    ::slotted(*[slot='summary']) {
3979        flex: 0 1 auto;
3980    }
3981    ::slotted(*[slot='icon']) {
3982        transition: transform 0.2s ease;
3983    }
3984
3985    /** Summary foundation styling */
3986    .disclosure__details summary::-webkit-details-marker {
3987        display: none;
3988    }
3989
3990    .disclosure__summary {
3991        cursor: pointer;
3992        display: flex;
3993        align-items: center;
3994        justify-content: start;
3995        gap: var(--pu-space-200, 0.5em);
3996        list-style: none;
3997        height: 2.5em;
3998        padding: var(--pu-disclosure-summary-space-padding, 0.5em);
3999        color: rgb(from var(--summary-color-foreground) r g b / alpha);
4000        border: 0.0625em solid rgb(from var(--pu-disclosure-summary-border-color, rgb(0, 0, 0, 0)) r g b / alpha);
4001        border-radius: var(--pu-border-radius);
4002        background-color: rgb(from var(--summary-color-background) r g b / alpha);
4003        -webkit-tap-highlight-color: transparent;
4004    }
4005
4006    /** Drawer foundation styling */
4007    .disclosure__drawer {
4008        min-width: fit-content;
4009        overflow: hidden;
4010    }
4011    .disclosure__drawer:not(.disclosure__drawer--overlay) {
4012        margin-top: var(--pu-disclosure-space-distance, 1em);
4013    }
4014
4015    /* Disclosure content foundation styling */
4016    .disclosure__content {
4017        border-radius: var(--pu-border-radius);
4018        overflow-y: auto;
4019        border-style: solid;
4020        border-width: 0.0625em;
4021        padding: var(--pu-disclosure-details-space-padding, 0.5em 0);
4022
4023        color: rgb(from var(--details-color-foreground) r g b / alpha);
4024        background-color: rgb(from var(--details-color-background) r g b / alpha);
4025        border-color: rgb(from var(--details-color-border) r g b / alpha);
4026
4027        --pu-color-foreground: var(--details-color-foreground);
4028        --pu-color-background: var(--details-color-background);
4029    }
4030
4031    /* Toggle state management and animation */
4032    .disclosure__details[open] .disclosure__summary--icon-flip ::slotted(*[slot='icon']) {
4033        transform: rotate(180deg);
4034    }
4035    .disclosure__drawer {
4036        visibility: hidden;
4037    }
4038    .disclosure__content {
4039        visibility: hidden;
4040    }
4041
4042    .disclosure__details[open] .disclosure__drawer.opening {
4043        visibility: visible;
4044    }
4045
4046    .disclosure__details[open] .disclosure__content.opening {
4047        transition:
4048            transform 0.2s ease,
4049            visibility 0.2s ease;
4050        visibility: visible;
4051    }
4052
4053    /* Opening direction animations */
4054    .disclosure__content.open--vertical {
4055        transform: translateY(var(--pu-disclosure-animation-origin));
4056    }
4057    .disclosure__details[open] .disclosure__content.open--vertical.opening {
4058        transform: translateY(0);
4059    }
4060    .disclosure__details[open] .disclosure__content.open--horizontal.opening {
4061        transform: translateX(0);
4062    }
4063    .disclosure__content.open--horizontal {
4064        transform: translateX(var(--pu-disclosure-animation-origin));
4065    }
4066
4067    @media screen and (max-width: 48em) {
4068        .disclosure__content.open--vertical {
4069            transform: translateY(var(--pu-disclosure-animation-origin-narrow));
4070        }
4071        .disclosure__content.open--horizontal {
4072            transform: translateX(var(--pu-disclosure-animation-origin-narrow));
4073        }
4074    }
4075
4076    /* Content overflow scrollbar */
4077    .disclosure__content::-webkit-scrollbar {
4078        width: 0.125em;
4079    }
4080    .disclosure__content::-webkit-scrollbar-track {
4081        background: var(--details-color-foreground, rgb(0, 0, 0, 0.05));
4082        border-radius: 0.75em;
4083    }
4084    .disclosure__content::-webkit-scrollbar-thumb {
4085        background: var(--pu-color-foreground, rgb(0, 0, 0, 0.1));
4086        border-radius: 0.75em;
4087    }
4088    @supports (color: rgb(from white r g b)) {
4089        .disclosure__content::-webkit-scrollbar-track {
4090            background: rgb(from var(--details-color-foreground, rgb(0, 0, 0, 0.05)) r g b / 0.05);
4091        }
4092        .disclosure__content::-webkit-scrollbar-thumb {
4093            background: rgb(from var(--details-color-foreground, rgb(0, 0, 0, 0.1)) r g b / 0.1);
4094        }
4095    }
4096`,te`
4097    /** Summary width API */
4098    .disclosure__summary--fit-content {
4099        width: fit-content;
4100    }
4101    .disclosure__summary--fill {
4102        width: 100%;
4103    }
4104
4105    /** Summary justify content API */
4106    .disclosure__summary--justify-center {
4107        justify-content: center;
4108    }
4109    .disclosure__summary--justify-end {
4110        justify-content: end;
4111    }
4112    .disclosure__summary--justify-space-between {
4113        justify-content: space-between;
4114    }
4115    @media screen and (max-width: 48em) {
4116        .disclosure__summary--narrow-justify-center {
4117            justify-content: center;
4118        }
4119        .disclosure__summary--narrow-justify-end {
4120            justify-content: end;
4121        }
4122        .disclosure__summary--narrow-justify-space-between {
4123            justify-content: space-between;
4124        }
4125    }
4126
4127    /** Icon animation API */
4128    .disclosure__summary--icon-left {
4129        flex-direction: row-reverse;
4130    }
4131
4132    /** Drawer overlay positioning API */
4133    .disclosure__drawer--overlay {
4134        position: absolute;
4135        top: var(--pu-disclosure-space-distance, 2.5em);
4136        left: 0;
4137        z-index: 200;
4138    }
4139
4140    .disclosure__drawer--overlay.disclosure__drawer--align-left {
4141        left: -0.5em;
4142    }
4143
4144    .disclosure__drawer--overlay.disclosure__drawer--align-right {
4145        left: auto;
4146        right: -0.5em;
4147    }
4148
4149    @media screen and (min-width: 48.06em) {
4150        .disclosure__drawer--overlay.disclosure__drawer--align-right:not(.disclosure__drawer--fill)
4151            .disclosure__content {
4152            box-shadow: -0.25em 0.25em 0.5em 0 rgb(from var(--pu-color-shadow, rgb(0, 0, 0, 0)) r g b / alpha);
4153            margin: 0 0 0.75em 0.75em;
4154        }
4155    }
4156    @media screen and (min-width: 48.06em) {
4157        .disclosure__drawer--overlay.disclosure__drawer--align-left:not(.disclosure__drawer--fill)
4158            .disclosure__content {
4159            box-shadow: 0.25em 0.25em 0.5em 0 rgb(from var(--pu-color-shadow, rgb(0, 0, 0, 0)) r g b / alpha);
4160            margin: 0 0.75em 0.75em 0;
4161        }
4162    }
4163
4164    .disclosure__drawer--fill.disclosure__drawer--overlay {
4165        right: 0;
4166    }
4167
4168    /** Drawer width API */
4169    .disclosure__drawer--fit-content {
4170        width: fit-content;
4171    }
4172    .disclosure__drawer--fill {
4173        width: 100%;
4174    }
4175    .disclosure__drawer--auto {
4176        width: auto;
4177    }
4178`];class Do extends Ue{constructor(){super(...arguments),this.direction="down",this.directionInverseNarrow=!1,this.overlay=!1,this.summaryWidth="fit-content",this.detailsWidth="fit-content",this.justify="start",this.justifyNarrow="start",this.iconAnimation="flip",this.open=!1,this._animating=!1,this.deprecatedPropertyMap=[{old:"mobileDirectionInverse",new:"directionInverseNarrow",defaultValue:!1},{old:"mobileJustify",new:"justifyNarrow",defaultValue:"start"}],this.detailsOpen=()=>{this.open=!0,this.detailsElement.open=this.open},this.detailsClose=()=>{this.open=!1,this.detailsElement.open=this.open},this.getToggledState=()=>this.open}get mobileDirectionInverse(){return this.directionInverseNarrow}set mobileDirectionInverse(e){this._handleDeprecated("mobileDirectionInverse",e)}get mobileJustify(){return this.justifyNarrow}set mobileJustify(e){this._handleDeprecated("mobileJustify",e)}_handleDeprecated(e,t){st(this,e,t,this.deprecatedPropertyMap)}firstUpdated(){this.detailsElement&&(this.detailsElement.open=this.open)}updated(e){if(e.has("open")&&this.detailsElement&&this.detailsElement.open!==this.open&&(this.detailsElement.open=this.open),"auto"===this.detailsWidth){const e=this.detailsContentElm.offsetWidth;this.style.minWidth=e+"px"}}handleToggle(){!0===this.open?(requestAnimationFrame((()=>{this._animating=!0})),this.dispatchEvent(new CustomEvent("pu-disclosure:opened",{detail:{target:this},bubbles:!0,composed:!0}))):!1===this.open&&(this._animating=!1,this.dispatchEvent(new CustomEvent("pu-disclosure:closed",{detail:{target:this},bubbles:!0,composed:!0})))}handleClick(){this.detailsElement&&(this.open=this.detailsElement.open)}summaryClasses(){const e={};
4178return e["disclosure__summary--icon-"+this.iconAnimation]=!0,e["disclosure__summary--justify-"+this.justify]=!0,e["disclosure__summary--narrow-justify-"+this.justifyNarrow]=!0,e["disclosure__summary--"+this.summaryWidth]=!0,e}drawerClasses(){const e={};return e["disclosure__drawer--overlay"]=this.overlay,e["disclosure__drawer--"+this.detailsWidth]=!0,this.detailsPosition&&(e[`disclosure__drawer--align-${this.detailsPosition}`]=!0),e}drawerStyles(){let e={},t=100;return"down"!==this.direction&&"from-left"!==this.direction||(t=-100),e={...e,"--pu-disclosure-animation-origin":t+"%"},e=this.directionInverseNarrow?{...e,"--pu-disclosure-animation-origin-narrow":-1*t+"%"}:{...e,"--pu-disclosure-animation-origin-narrow":t+"%"},e}contentClasses(){const e={};return e.opening=this._animating&&this.open,"from-left"===this.direction||"from-right"===this.direction?e["open--horizontal"]=!0:"up"!==this.direction&&"down"!==this.direction||(e["open--vertical"]=!0),e}render(){return $`
4179            <details
4180                part="base disclosure"
4181                class="disclosure__details"
4182                @toggle=${this.handleClick}>
4183                <summary
4184                    part="header"
4185                    class="disclosure__summary${J(this.summaryClasses())}"
4186                    aria-label="Main Menu"
4187                    role="button"
4188                    aria-expanded=${this.open}>
4189                    <slot name="summary"></slot>
4190                    <slot name="icon"></slot>
4191                </summary>
4192                <div
4193                    part="drawer"
4194                    class="disclosure__drawer${J(this.drawerClasses())}"
4195                    style="${He(this.drawerStyles())}"
4196                    aria-hidden=${!this.open}>
4197                    <div
4198                        part="content"
4199                        class="disclosure__content${J(this.contentClasses())}"
4200                        aria-hidden=${!this.open}>
4201                        <slot name="content"></slot>
4202                    </div>
4203                </div>
4204            </details>
4205        `}}Do.styles=[Me,Vo],i([ke()],Do.prototype,"direction",void 0),i([ke({type:Boolean})],Do.prototype,"directionInverseNarrow",void 0),i([ke({type:Boolean})],Do.prototype,"overlay",void 0),i([ke()],Do.prototype,"summaryWidth",void 0),i([ke()],Do.prototype,"detailsWidth",void 0),i([ke()],Do.prototype,"detailsPosition",void 0),i([ke()],Do.prototype,"justify",void 0),i([ke()],Do.prototype,"justifyNarrow",void 0),i([ke()],Do.prototype,"iconAnimation",void 0),i([ke({type:Boolean,reflect:!0})],Do.prototype,"open",void 0),i([Ce()],Do.prototype,"_animating",void 0),i([Se("details")],Do.prototype,"detailsElement",void 0),i([Se(".disclosure__content")],Do.prototype,"detailsContentElm",void 0),i([ke({type:Boolean})],Do.prototype,"mobileDirectionInverse",null),i([ke()],Do.prototype,"mobileJustify",null),i([Te("open",{waitUntilFirstUpdate:!0})],Do.prototype,"handleToggle",null),Do.define("pu-disclosure");const Ro=[te`
4206    :host {
4207        display: block;
4208        --background-color: var(--pu-expandable-content-color-background, var(--pu-color-background));
4209    }
4210    .content-container {
4211        position: relative;
4212        overflow: hidden;
4213        transition: height 0.3s ease;
4214    }
4215    .gradient-overlay {
4216        position: absolute;
4217        bottom: 0;
4218        left: 0;
4219        right: 0;
4220        height: 3em;
4221        background: linear-gradient(transparent, var(--background-color));
4222        pointer-events: none;
4223    }
4224`,te`
4225    /* No API-driven classes needed for this simple component */
4226    /* All styling is handled through JavaScript state management */
4227`],Fo=[te`
4228    :host {
4229        display: inline-block;
4230        font-size: inherit;
4231        --foreground-color: var(--pu-link-color-foreground, var(--pu-color-foreground, inherit));
4232    }
4233    .link {
4234        color: var(--foreground-color);
4235        text-underline-offset: 0.3em;
4236        display: inline-flex;
4237        align-items: center;
4238        gap: 0.5em;
4239        flex-wrap: nowrap;
4240        white-space: nowrap;
4241        cursor: pointer;
4242    }
4243    .link:not(.link--underline) {
4244        text-decoration: none;
4245        text-decoration-color: rgba(from var(--foreground-color) r g b / 0);
4246        transition: text-decoration-color 0.2s ease-in-out;
4247    }
4248    .link:not(.link--underline):hover {
4249        text-decoration: underline;
4250        text-decoration-color: rgba(from var(--foreground-color) r g b / 1);
4251    }
4252`,te`
4253    /* Boolean Property API - Underline Behavior */
4254    .link--underline {
4255        text-decoration: underline;
4256        text-decoration-color: rgba(from var(--foreground-color) r g b / 0.5);
4257        transition: text-decoration-color 0.2s ease-in-out;
4258    }
4259    .link--underline:hover {
4260        text-decoration-color: rgba(from var(--foreground-color) r g b / 1);
4261    }
4262
4263    /* Boolean Property API - Wrap Behavior */
4264    .link--wrap {
4265        white-space: wrap;
4266    }
4267`];class Wo extends Ue{constructor(){super(...arguments),this.target="_self",this.wrap=!1,this.underline=!1}render(){return $`
4268            <a
4269                part="link"
4270                href="${Ze(this.url)}"
4271                class="${J({link:!0,"link--wrap":this.wrap,"link--underline":this.underline})}"
4272                target="${this.target}"
4273            >
4274                <slot></slot>
4275                <slot name="label"></slot>
4276            </a>
4277        `}}Wo.styles=[Me,Fo],Wo.shadowRootOptions={...ye.shadowRootOptions,delegatesFocus:!0},i([ke()],Wo.prototype,"url",void 0),i([ke()],Wo.prototype,"target",void 0),i([ke({type:Boolean})],Wo.prototype,"wrap",void 0),i([ke({type:Boolean})],Wo.prototype,"underline",void 0);class Uo extends Ue{constructor(){super(...arguments),this.expandLabel="Read more...",this.collapseLabel="Read less...",this.previewHeight=100,this.disablePreview=!1,this._expanded=!1,this._isExpandable=!1}firstUpdated(){this.contentContainer.addEventListener("transitionend",this._onTransitionEnd.bind(this)),this._updateExpandableStatus()}updated(e){(e.has("previewHeight")||e.has("disablePreview"))&&this._updateExpandableStatus()}_onSlotChange(){this._updateExpandableStatus()}_updateExpandableStatus(){requestAnimationFrame((()=>
4277{if(this.disablePreview)this._isExpandable=!1,this.contentContainer.style.height="auto";else{this.contentContainer.scrollHeight-48<=this.previewHeight?(this._isExpandable=!1,this.contentContainer.style.height="auto"):(this._isExpandable=!0,this._expanded||(this.contentContainer.style.height=this.previewHeight/16+"em"))}}))}_onTransitionEnd(e){"height"===e.propertyName&&this._expanded&&!this.disablePreview&&(this.contentContainer.style.height="auto")}toggleExpanded(){if(!this.disablePreview&&this._isExpandable){if(this._expanded){const e=this.contentContainer.scrollHeight;this.contentContainer.style.height=e/16+"em",this.contentContainer.offsetHeight;const t=this.previewHeight/16;this.contentContainer.style.height=`${t}em`}else{const e=this.contentContainer.clientHeight/16;this.contentContainer.style.height=`${e}em`,this.contentContainer.offsetHeight;const t=this.contentContainer.scrollHeight/16;this.contentContainer.style.height=`${t}em`}this._expanded=!this._expanded}}render(){return $`
4278            <div  expandable-content" class="content-container">
4279                <slot @slotchange=${this._onSlotChange}></slot>
4280                ${this._expanded||!this._isExpandable||this.disablePreview?"":$`<div
4281                              part="gradient"
4282                              class="gradient-overlay"
4283                          ></div>`}
4284            </div>
4285            ${this._isExpandable&&!this.disablePreview?$`
4286                          <pu-link
4287                              part="button"
4288                              exportparts="link"
4289                              @click=${this.toggleExpanded}
4290                              underline
4291                          >
4292                              <pu-text
4293                                  part="label"
4294                                  as="span"
4295                                  exportparts="base,span,body"
4296                                  variant="bodySm"
4297                                  fontWeight="medium"
4298                              >
4299                                  ${this._expanded?this.collapseLabel:this.expandLabel}
4300                              </pu-text>
4301                          </pu-link>
4302                      `:""}
4303        `}}Uo.styles=[Me,Ro],Uo.dependencies={"pu-link":Wo},i([ke()],Uo.prototype,"expandLabel",void 0),i([ke()],Uo.prototype,"collapseLabel",void 0),i([ke({type:Number})],Uo.prototype,"previewHeight",void 0),i([ke({type:Boolean})],Uo.prototype,"disablePreview",void 0),i([Ce()],Uo.prototype,"_expanded",void 0),i([Ce()],Uo.prototype,"_isExpandable",void 0),i([Se(".content-container")],Uo.prototype,"contentContainer",void 0),Uo.define("pu-expandable-content");const Go=[gt,mt,vt,yt,te`
4304    :host {
4305        grid-column: auto / span 1;
4306    }
4307    @media screen and (min-width: 65em) {
4308        :host {
4309            grid-column: auto / span var(--space-grid-block-span);
4310        }
4311    }
4312
4313    .footer-block {
4314        display: flex;
4315        flex-wrap: wrap;
4316        height: 100%;
4317    }
4318`];class qo extends Ue{constructor(){super(...arguments),this.span="1",this.align="start",this.justify="start",this.deprecatedPropertyMap=[{old:"mobileAlign",new:"alignNarrow",defaultValue:void 0},{old:"mobileJustify",new:"justifyNarrow",defaultValue:void 0}]}get mobileAlign(){return this.alignNarrow}set mobileAlign(e){this._handleDeprecated("mobileAlign",e)}get mobileJustify(){return this.justifyNarrow}set mobileJustify(e){this._handleDeprecated("mobileJustify",e)}_handleDeprecated(e,t){st(this,e,t,this.deprecatedPropertyMap)}updated(e){e.has("span")&&this.style.setProperty("--space-grid-block-span",this.span)}blockClasses(){const e={};return e["flex-justify--"+this.justify]=!0,e["flex-align--"+this.align]=!0,this.justifyNarrow?e["flex-narrow-justify--"+this.justifyNarrow]=!0:e["flex-narrow-justify--"+this.justify]=!0,this.alignNarrow?e["flex-narrow-align--"+this.alignNarrow]=!0:e["flex-narrow-align--"+this.align]=!0,e}render(){return $`
4319            <div part="block" class="footer-block${J(this.blockClasses())}">
4320                <slot></slot>
4321            </div>
4322        `}}qo.styles=[Me,Go],i([ke()],qo.prototype,"span",void 0),i([ke()],qo.prototype,"align",void 0),i([ke()],qo.prototype,"alignNarrow",void 0),i([ke()],qo.prototype,"justify",void 0),i([ke()],qo.prototype,"justifyNarrow",void 0),i([ke()],qo.prototype,"mobileAlign",null),i([ke()],qo.prototype,"mobileJustify",null);const Ko=[te`
4323    :host {
4324        display: block;
4325    }
4326
4327    /* Container */
4328    .footer {
4329        color: var(--pu-color-foreground, rgb(0, 0, 0));
4330        background-color: var(--pu-color-background, rgb(240, 240, 240));
4331        --pu-icon-color-foreground: var(--pu-color-foreground);
4332    }
4333    @supports (color: rgb(from white r g b)) {
4334        .footer {
4335            color: rgb(from var(--pu-color-foreground, rgb(0, 0, 0)) r g b);
4336            background-color: rgb(from var(--pu-color-background, rgb(240, 240, 240)) r g b / alpha);
4337        }
4338    }
4339
4340    /* Grid */
4341    .footer__inner {
4342        display: grid;
4343        grid-template-rows: auto;
4344        margin: 0 auto;
4345        max-width: var(--pu-footer-size-max-width, 75em);
4346    }
4347    @media screen and (max-width: 47.9975em) {
4348        .footer__inner {
4349            grid-template-columns: 1fr;
4350            gap: calc(var(--pu-footer-grid-gap-narrow) * 2);
4351        }
4352    }
4353    @media screen and (min-width: 48em) {
4354        .footer__inner {
4355            gap: calc(var(--pu-footer-grid-gap) * 2);
4356            grid-template-columns: repeat(var(--pu-footer-grid-columns, 3), 1fr);
4357            gap: var(--pu-footer-grid-gap);
4358        }
4359    }
4360
4361    /* Padding */
4362    @media screen and (max-width: 65em) {
4363        .footer {
4364            padding-top: var(--pu-footer-space-padding-top-narrow, 2em);
4365            padding-bottom: var(--pu-footer-space-padding-bottom-narrow, 2em);
4366        }
4367        .footer__inner {
4368            padding-left: var(--pu-space-padding-inline-narrow, 1em);
4369            padding-right: var(--pu-space-padding-inline-narrow, 1em);
4370        }
4371    }
4372    @media screen and (min-width: 64.9975em) {
4373        .footer {
4374            padding-top: var(--pu-footer-space-padding-top, 3em);
4375            padding-bottom: var(--pu-footer-space-padding-bottom, 3em);
4376        }
4377        .footer__inner {
4378            padding-left: var(--pu-space-padding-inline, 1.5em);
4379            padding-right: var(--pu-space-padding-inline, 1.5em);
4380        }
4381    }
4382`];class Jo extends Ue{constructor(){super(...arguments),this.columns="3",this.width="page-width",this.spacing="24",this.divider=!1,this.deprecatedPropertyMap=[{old:"mobilePaddingTop",new:"paddingTopNarrow",defaultValue:void 0},{old:"mobilePaddingBottom",new:"paddingBottomNarrow",defaultValue:void 0},{old:"mobileSpacing",new:"spacingNarrow",defaultValue:void 0}]}get mobilePaddingTop(){return this.paddingTopNarrow}set mobilePaddingTop(e){this._handleDeprecated("mobilePaddingTop",e)}get mobilePaddingBottom(){return this.paddingBottomNarrow}set mobilePaddingBottom(e){this._handleDeprecated("mobilePaddingBottom",e)}get mobileSpacing(){return this.spacingNarrow}set mobileSpacing(e){this._handleDeprecated("mobileSpacing",e)}_handleDeprecated(e,t){st(this,e,t,this.deprecatedPropertyMap)}footerStyles(){let e={};if(e={...e,"--pu-footer-grid-columns":this.columns},"full-width"===this.width&&(e={...e,"--pu-footer-size-max-width":"100%"}),this.paddingTop){const t=/^\d+$/.test(this.paddingTop)?Number(this.paddingTop)/16+"em":this.paddingTop;e={...e,"--pu-footer-space-padding-top":t}}if(this.paddingBottom){const t=/^\d+$/.test(this.paddingBottom)?Number(this.paddingBottom)/16+"em":this.paddingBottom;e={...e,"--pu-footer-space-padding-bottom":t}}if(this.paddingTopNarrow){const t=/^\d+$/.test(this.paddingTopNarrow)?Number(this.paddingTopNarrow)/16+"em":this.paddingTopNarrow;e={...e,"--pu-footer-space-padding-top-narrow":t}}else if(this.paddingTop){const t=/^\d+$/.test(this.paddingTop)?Number(this.paddingTop)/16+"em":this.paddingTop;e={...e,"--pu-footer-space-padding-top-narrow":t}}if(this.paddingBottomNarrow){const t=/^\d+$/.test(this.paddingBottomNarrow)?Number(this.paddingBottomNarrow)/16+"em":this.paddingBottomNarrow;e={...e,"--pu-footer-space-padding-bottom-narrow":t}}else if(this.paddingBottom){const t=/^\d+$/.test(this.paddingBottom)?Number(this.paddingBottom)/16+"em":this.paddingBottom;e={...e,"--pu-footer-space-padding-bottom-narrow":t}}return this.spacing&&(e={...e,"--pu-footer-grid-gap":Number(this.spacing)/16+"em"}),e=this.spacingNarrow?{...e,"--pu-footer-grid-gap-narrow":Number(this.spacingNarrow)/16+"em"}:{...e,"--pu-footer-grid-gap-narrow":Number(this.spacing)/16+"em"},e}render(){return $`
4383            <footer
4384                part="base footer"
4385                class="footer"
4386                style="${He(this.footerStyles())}"
4387            >
4388                <div
4389                    part="content"
4390                    class="footer__inner"
4391                >
4392                    <slot></slot>
4393                </div>
4394            </footer>
4395        `}}Jo.styles=[Me,Ko],Jo.dependencies={"pu-footer-block":qo},i([ke()],Jo.prototype,"columns",void 0),i([ke()],Jo.prototype,"width",void 0),i([ke()],Jo.prototype,"paddingTop",void 0),i([ke()],Jo.prototype,"paddingBottom",void 0),i([ke()],Jo.prototype,"paddingTopNarrow",void 0),i([ke()],Jo.prototype,"paddingBottomNarrow",void 0),i([ke()],Jo.prototype,"spacing",void 0),i([ke()],Jo.prototype,"spacingNarrow",void 0),i([ke({type:Boolean})],Jo.prototype,"divider",void 0),i([ke()],Jo.prototype,"mobilePaddingTop",null),i([ke()],Jo.prototype,"mobilePaddingBottom",null),i([ke()],Jo.prototype,"mobileSpacing",null),Jo.define("pu-footer");const Xo=te`
4396    /* Grid layout */
4397    .grid {
4398        /* Computed grid gap variables */
4399        --gap: var(--pu-grid-gap-x, var(--gap-x, 1.5em));
4400        --gap-narrow: var(--pu-grid-gap-x-narrow, var(--gap-x-narrow, 1em));
4401
4402        display: flex;
4403        flex-wrap: wrap;
4404        row-gap: var(--pu-grid-gap-y-narrow, var(--gap-y-narrow, 1em));
4405        column-gap: var(--pu-grid-gap-x-narrow, var(--gap-x-narrow, 1em));
4406        list-style: none;
4407        margin: 0;
4408        padding: 0;
4409    }
4410    @media screen and (min-width: 48em) {
4411        .grid {
4412            row-gap: var(--pu-grid-gap-y, var(--gap-y, 1.5em));
4413            column-gap: var(--pu-grid-gap-x, var(--gap-x, 1.5em));
4414        }
4415    }
4416
4417    .grid:not(.grid--columns) ::slotted(*),
4418    .grid > * {
4419        width: calc(25% - var(--gap-narrow) * 3 / 4);
4420        flex-grow: 0;
4421        flex-shrink: 0;
4422    }
4423
4424    .grid.grid--gapless {
4425        gap: 0;
4426    }
4427
4428    .grid:not(.grid--columns).grid--fill ::slotted(*),
4429    .grid.grid--fill > * {
4430        flex-grow: 1;
4431    }
4432
4433    /*  Responsive grid API classes */
4434    @media screen and (max-width: 47.9975em) {
4435        .grid--1-col-tablet-down:not(.grid--columns) ::slotted(*),
4436        .grid--1-col-tablet-down > * {
4437            width: 100%;
4438        }
4439        .grid--2-col-tablet-down:not(.grid--columns) ::slotted(*),
4440        .grid--2-col-tablet-down > * {
4441            width: calc(50% - var(--gap-narrow) / 2);
4442        }
4443    }
4444
4445    /* Tablet portrait */
4446    @media screen and (min-width: 30.625em) and (max-width: 47.9975em) {
4447        .grid--4-col-tablet:not(.grid--columns) ::slotted(*),
4448        .grid--4-col-tablet > * {
4449            width: calc(25% - var(--gap-narrow) * 3 / 4);
4450        }
4451        .grid--3-col-tablet:not(.grid--columns) ::slotted(*),
4452        .grid--3-col-tablet > * {
4453            width: calc(33.33% - var(--gap-narrow) * 2 / 3);
4454        }
4455        .grid--2-col-tablet:not(.grid--columns) ::slotted(*),
4456        .grid--2-col-tablet > * {
4457            width: calc(50% - var(--gap-narrow) / 2);
4458        }
4459        .grid--1-col-tablet:not(.grid--columns) ::slotted(*),
4460        .grid--1-col-tablet > * {
4461            width: 100%;
4462        }
4463        .grid--col-tablet:not(.grid--columns) ::slotted(*),
4464        .grid--col-tablet > * {
4465            width: calc(50% - var(--gap-narrow) / 2);
4466        }
4467    }
4468
4469    /* Tablet landscape */
4470    @media screen and (min-width: 48em) and (max-width: 64.9975em) {
4471        .grid--4-col-tablet:not(.grid--columns) ::slotted(*),
4472        .grid--4-col-tablet > * {
4473            width: calc(25% - var(--gap) * 3 / 4);
4474        }
4475        .grid--3-col-tablet:not(.grid--columns) ::slotted(*),
4476        .grid--3-col-tablet > * {
4477            width: calc(33.33% - var(--gap) * 2 / 3);
4478        }
4479        .grid--2-col-tablet:not(.grid--columns) ::slotted(*),
4480        .grid--2-col-tablet > * {
4481            width: calc(50% - var(--gap) / 2);
4482        }
4483        .grid--1-col-tablet:not(.grid--columns) ::slotted(*),
4484        .grid--1-col-tablet > * {
4485            width: 100%;
4486        }
4487    }
4488
4489    /* Token computed desktop grids */
4490    @media screen and (min-width: 65em) {
4491        .grid:not(.grid--columns) ::slotted(*),
4492        .grid > * {
4493            width: calc(
4494                var(--grid-columns-width, 25%) - var(--gap) * var(--grid-colum-gaps, 3) / var(--grid-columns, 4)
4495            );
4496        }
4497        .grid--2-col-desktop:not(.grid--columns) ::slotted(*),
4498        .grid--2-col-desktop > * {
4499            width: calc(50% - var(--gap) / 2);
4500        }
4501    }
4502`,Yo=[te`
4503    :host {
4504        display: block;
4505    }
4506`,gt,bt,Xo],Zo=[te`
4507    .grid-cell {
4508        height: 100%;
4509        width: 100%;
4510    }
4511`,te`
4512    /* Grid-Cell is a simple child component with no API properties */
4513    /* Styling is controlled by parent Grid component via CSS custom properties */
4514`];class Qo extends Ue{render(){return $`
4515            <div part="cell" class="grid-cell">
4516                <slot></slot>
4517            </div>
4518        `}}Qo.styles=[Me,Zo];class ei extends Ue{constructor(){super(...arguments),this.columns=4,this.columnsNarrow="1",this.gapless=!1,this.fill=!1}gridStyles(){let e={};return 6===this.columns&&(e={...e,"--grid-columns-width":"16.66%","--grid-columns":"6","--grid-colum-gaps":"5","--grid-columns-peek":"1.5"}),5===this.columns&&(e={...e,"--grid-columns-width":"20%","--grid-columns":"5","--grid-colum-gaps":"4","--grid-columns-peek":"2"}),4===this.columns&&(e={...e,"--grid-columns-width":"25%","--grid-columns":"4","--grid-colum-gaps":"3","--grid-columns-peek":"2.5"}),3===this.columns&&(e={...e,"--grid-columns-width":"33.33%","--grid-columns":"3","--grid-colum-gaps":"2","--grid-columns-peek":"3"}),2===this.columns&&(e={...e,"--grid-columns-width":"50%","--grid-columns":"2","--grid-colum-gaps":"1","--grid-columns-peek":"4"}),1===this.columns&&(e={...e,"--grid-columns-width":"100%","--grid-columns":"1","--grid-colum-gaps":"0","--grid-columns-peek":"9"}),this.spacing&&(e={...e,"--gap-x":Number(this.spacing)/16+"em","--gap-y":Number(this.spacing)/16+"em"}),this.spacingNarrow?e={...e,"--gap-x-narrow":Number(this.spacingNarrow)/16+"em","--gap-y-narrow":Number(this.spacingNarrow)/16+"em"}:this.spacing&&(e={...e,"--gap-x-narrow":Number(this.spacing)/16+"em","--gap-y-narrow":Number(this.spacing)/16+"em"}),e}render(){return $`
4519            <div
4520                part="base grid"
4521                class="grid${J({"grid--gapless":this.gapless,"grid--fill":this.fill,[`grid--${this.columns}-col-tablet`]:this.columns<3,"grid--3-col-tablet":this.columns>=3,[`grid--${this.columns}-col-desktop`]:!0,[`grid--${this.columnsNarrow}-col-tablet-down`]:!0,[`flex-justify--${this.justify}`]:!0,[`flex-narrow-justify--${this.justifyNarrow}`]:!0})}"
4522                style="${He(this.gridStyles())}"
4523            >
4524                <slot></slot>
4525            </div>
4526        `}}function ti(e,t){let o=0;return function(...i){clearTimeout(o),o=setTimeout((()=>e.apply(this,i)),t)}}ei.styles=[Me,Yo],ei.dependencies={"pu-grid-cell":Qo},i([ke({type:Number})],ei.prototype,"columns",void 0),i([ke()],ei.prototype,"columnsNarrow",void 0),i([ke()],ei.prototype,"spacing",void 0),i([ke()],ei.prototype,"spacingNarrow",void 0),i([ke({type:Boolean})],ei.prototype,"gapless",void 0),i([ke({type:Boolean})],ei.prototype,"fill",void 0),i([ke()],ei.prototype,"justify",void 0),i([ke()],ei.prototype,"justifyNarrow",void 0),ei.define("pu-grid");var oi=te`
4527    :host {
4528        display: block;
4529    }
4530
4531    .header-row {
4532        display: flex;
4533        align-items: center;
4534        gap: var(--pu-space-600, 1.5em);
4535    }
4536
4537    @media screen and (max-width: 47.9975em) {
4538        .header-row {
4539            gap: var(--pu-space-400, 1em);
4540        }
4541    }
4542    @media screen and (max-width: 47.9975em) {
4543        .header-row.justify-content-narrow-start {
4544            justify-content: start;
4545            text-align: left;
4546        }
4547        .header-row.justify-content-narrow-center {
4548            justify-content: center;
4549            text-align: center;
4550        }
4551        .header-row.justify-content-narrow-end {
4552            justify-content: end;
4553            text-align: right;
4554        }
4555        .header-row.justify-content-narrow-space-between {
4556            justify-content: space-between;
4557            text-align: left;
4558        }
4559    }
4560    @media screen and (min-width: 48em) {
4561        .header-row.justify-content-start {
4562            justify-content: start;
4563            text-align: left;
4564        }
4565        .header-row.justify-content-center {
4566            justify-content: center;
4567            text-align: center;
4568        }
4569        .header-row.justify-content-end {
4570            justify-content: end;
4571            text-align: right;
4572        }
4573        .header-row.justify-content-space-between {
4574            justify-content: space-between;
4575            text-align: left;
4576        }
4577    }
4578`;class ii extends Ue{constructor(){super(...arguments),this.justifyContent="start",this.justifyContentNarrow="start",this.deprecatedPropertyMap=[{old:"mobileJustifyContent",new:"justifyContentNarrow",defaultValue:"start"}]}get mobileJustifyContent(){return this.justifyContentNarrow}set mobileJustifyContent(e){this._handleDeprecated("mobileJustifyContent",e)}_handleDeprecated(e,t){st(this,e,t,this.deprecatedPropertyMap)}render(){return $`
4579            <div
4580                part="row"
4581                class="${J({"header-row":!0,[`justify-content-${this.justifyContent}`]:this.justifyContent,[`justify-content-narrow-${this.justifyContentNarrow}`]:this.justifyContentNarrow})}"
4582            >
4583                <slot name="header-block"></slot>
4584            </div>
4585        `}}ii.styles=[Me,oi],i([ke()],ii.prototype,"justifyContent",void 0),i([ke()],ii.prototype,"justifyContentNarrow",void 0),i([ke()],ii.prototype,"mobileJustifyContent",null);const ri=te`
4586    @media (max-width: 29.9375em) {
4587        .small-down {
4588            display: flex;
4589        }
4590        ::slotted([viewport='small-down']) {
4591            display: block;
4592        }
4593    }
4594    @media (min-width: 30em) {
4595        :host([viewport='small-down']) {
4596            display: none;
4597        }
4598        .small-down {
4599            display: none;
4600        }
4601        ::slotted([viewport='small-down']) {
4602            display: none;
4603        }
4604    }
4605    @media (max-width: 29.9375em) {
4606        :host([viewport='small-up']) {
4607            display: none;
4608        }
4609        .small-up {
4610            display: none;
4611        }
4612        ::slotted([viewport='small-up']) {
4613            display: none;
4614        }
4615    }
4616    @media (min-width: 30em) {
4617        .small-up {
4618            display: flex;
4619        }
4620        ::slotted([viewport='small-up']) {
4621            display: block;
4622        }
4623    }
4624    @media (max-width: 47.9375em) {
4625        .medium-down {
4626            display: flex;
4627        }
4628        ::slotted([viewport='medium-down']) {
4629            display: block;
4630        }
4631    }
4632    @media (min-width: 48em) {
4633        :host([viewport='medium-down']) {
4634            display: none;
4635        }
4636        .medium-down {
4637            display: none;
4638        }
4639        ::slotted([viewport='medium-down']) {
4640            display: none;
4641        }
4642    }
4643    @media (max-width: 47.9375em) {
4644        :host([viewport='medium-up']) {
4645            display: none;
4646        }
4647        .medium-up {
4648            display: none;
4649        }
4650        ::slotted([viewport='medium-up']) {
4651            display: none;
4652        }
4653    }
4654    @media (min-width: 48em) {
4655        .medium-up {
4656            display: flex;
4657        }
4658        ::slotted([viewport='medium-up']) {
4659            display: block;
4660        }
4661    }
4662    @media (max-width: 64.9375em) {
4663        .large-down {
4664            display: flex;
4665        }
4666        ::slotted([viewport='large-down']) {
4667            display: block;
4668        }
4669    }
4670    @media (min-width: 65em) {
4671        :host([viewport='large-down']) {
4672            display: none;
4673        }
4674        .large-down {
4675            display: none;
4676        }
4677        ::slotted([viewport='large-down']) {
4678            display: none;
4679        }
4680    }
4681    @media (max-width: 64.9375em) {
4682        :host([viewport='large-up']) {
4683            display: none;
4684        }
4685        .large-up {
4686            display: none;
4687        }
4688        ::slotted([viewport='large-up']) {
4689            display: none;
4690        }
4691    }
4692    @media (min-width: 65em) {
4693        .large-up {
4694            display: flex;
4695        }
4696        ::slotted([viewport='large-up']) {
4697            display: block;
4698        }
4699    }
4700    @media (max-width: 89.93755em) {
4701        .xlarge-down {
4702            display: flex;
4703        }
4704        ::slotted([viewport='xlarge-down']) {
4705            display: block;
4706        }
4707    }
4708    @media (min-width: 1440em) {
4709        :host([viewport='xlarge-down']) {
4710            display: none;
4711        }
4712        .xlarge-down {
4713            display: none;
4714        }
4715        ::slotted([viewport='xlarge-down']) {
4716            display: none;
4717        }
4718    }
4719    @media (max-width: 89.93755em) {
4720        :host([viewport='xlarge-up']) {
4721            display: none;
4722        }
4723        .xlarge-up {
4724            display: none;
4725        }
4726        ::slotted([viewport='xlarge-up']) {
4727            display: none;
4728        }
4729    }
4730    @media (min-width: 1440em) {
4731        .xlarge-up {
4732            display: flex;
4733        }
4734        ::slotted([viewport='xlarge-up']) {
4735            display: block;
4736        }
4737    }
4738`,ai=[ri,te`
4739    :host {
4740        display: block;
4741    }
4742    @media screen and (min-width: 65em) {
4743        :host([fit='fill']) {
4744            flex: 1 0 auto;
4745        }
4746        :host([fit='fit']) {
4747            flex: 0 1 auto;
4748        }
4749        :host([fit='auto']) {
4750            flex: 0 0 auto;
4751        }
4752        :host([justify='inherit']) {
4753            margin-right: 0 !important;
4754            margin-left: 0 !important;
4755        }
4756        :host([justify='start']) {
4757            margin-right: auto !important;
4758        }
4759        :host([justify='center']) {
4760            margin-left: auto !important;
4761            margin-right: auto !important;
4762        }
4763        :host([justify='end']) {
4764            margin-left: auto !important;
4765        }
4766    }
4767    @media screen and (max-width: 64.9975em) {
4768        :host([fitNarrow='fill']) {
4769            flex: 1 0 auto;
4770        }
4771        :host([fitNarrow='fit']) {
4772            flex: 0 1 auto;
4773        }
4774        :host([fitNarrow='auto']) {
4775            flex: 0 0 auto;
4776        }
4777        :host([justifyNarrow='inherit']) {
4778            margin-right: 0 !important;
4779            margin-left: 0 !important;
4780        }
4781        :host([justifyNarrow='start']) {
4782            margin-right: auto !important;
4783        }
4784        :host([justifyNarrow='center']) {
4785            margin-left: auto !important;
4786            margin-right: auto !important;
4787        }
4788        :host([justifyNarrow='end']) {
4789            margin-left: auto !important;
4790        }
4791    }
4792    .header-block {
4793        display: flex;
4794        flex-wrap: wrap;
4795        height: 100%;
4796    }
4797`];class si extends Ue{constructor(){super(...arguments),this.justify="start",this.fit="auto",this.fitNarrow="auto",this.deprecatedPropertyMap=[{old:"mobileJustify",new:"justifyNarrow",defaultValue:void 0},{old:"mobileFit",new:"fitNarrow",defaultValue:"auto"}]}get mobileJustify(){return this.justifyNarrow}set mobileJustify(e){this._handleDeprecated("mobileJustify",e)}get mobileFit(){return this.fitNarrow}set mobileFit(e){this._handleDeprecated("mobileFit",e)}_handleDeprecated(e,t){st(this,e,t,this.deprecatedPropertyMap)}blockClasses(){const e={};return"small-down"===this.viewport?e["small-down"]=!0:"small-up"===this.viewport?e["small-up"]=!0:"medium-down"===this.viewport?e["medium-down"]=!0:"medium-up"===this.viewport?e["medium-up"]=!0:"large-down"===this.viewport?e["large-down"]=!0:"large-up"===this.viewport&&(e["large-up"]=!0),e}render(){return $`
4798            <div part="block" class="header-block${J(this.blockClasses())}">
4799                <slot></slot>
4800            </div>
4801        `}}si.styles=[Me,ai],i([ke()],si.prototype,"viewport",void 0),i([ke()],si.prototype,"justify",void 0),i([ke()],si.prototype,"justifyNarrow",void 0),i([ke()],si.prototype,"fit",void 0),i([ke()],si.prototype,"fitNarrow",void 0),i([ke()],si.prototype,"mobileJustify",null),i([ke()],si.prototype,"mobileFit",null);const ni=[ri,te`
4802    :host {
4803        display: block;
4804        position: relative;
4805        z-index: 501; /* over overlay z-index */
4806    }
4807
4808    /* Header */
4809    .header {
4810        color: rgb(from var(--pu-color-foreground, rgb(0, 0, 0)) r g b);
4811        background-color: rgb(from var(--pu-color-background, rgb(240, 240, 240)) r g b / alpha);
4812        transition: all var(--pu-animation, 0.4s) ease;
4813        --pu-icon-color-foreground: var(--pu-color-foreground);
4814    }
4815
4816    @media screen and (min-width: 48em) {
4817        .header {
4818            padding-top: var(--pu-header-space-padding-top, 1em);
4819            padding-bottom: var(--pu-header-space-padding-bottom, 1em);
4820            padding-left: var(--pu-space-padding-inline, 1.5em);
4821            padding-right: var(--pu-space-padding-inline, 1.5em);
4822        }
4823    }
4824
4825    @media screen and (max-width: 47.9975em) {
4826        .header {
4827            padding-top: var(--pu-header-space-padding-top-narrow, 0.75em);
4828            padding-bottom: var(--pu-header-space-padding-bottom-narrow, 0.75em);
4829            padding-left: var(--pu-space-padding-inline-narrow, 1.5em);
4830            padding-right: var(--pu-space-padding-inline-narrow, 1.5em);
4831        }
4832    }
4833
4834    .header__inner {
4835        display: flex;
4836        flex-direction: column;
4837        row-gap: var(--pu-header-rows-gap, 1em);
4838        margin-left: auto;
4839        margin-right: auto;
4840        max-width: var(--pu-header-size-max-width, 75em);
4841    }
4842    @media screen and (max-width: 47.9975em) {
4843        .header__inner {
4844            row-gap: var(--pu-header-rows-gap-narrow, 1em);
4845        }
4846    }
4847
4848    header {
4849        transition: all var(--pu-animation, 0.4s) ease;
4850    }
4851`,te`
4852    /* Boolean Property API - Sticky Positioning */
4853    :host([sticky]) {
4854        position: sticky;
4855        top: 0;
4856        z-index: 501; /* over overlay z-index */
4857    }
4858
4859    /* Boolean Property API - Transparent Background */
4860    :host([transparent]) {
4861        position: absolute;
4862        width: 100%;
4863    }
4864
4865    /* Boolean Property API - Combined Transparent + Sticky */
4866    :host([transparent][sticky]) {
4867        position: fixed;
4868        width: 100%;
4869    }
4870
4871    /* Boolean Property API - Sticky Hide On Scroll */
4872    :host([sticky][scrolling-down]) header {
4873        transform: translateY(-100%);
4874    }
4875`];class li extends Ue{constructor(){super(...arguments),this.width="page-width",this.spacing="24",this.sticky=!1,this.stickyHideOnScroll=!1,this.transparent=!1,this.deprecatedPropertyMap=[{old:"mobilePaddingTop",new:"paddingTopNarrow",defaultValue:void 0},{old:"mobilePaddingBottom",new:"paddingBottomNarrow",defaultValue:void 0},{old:"mobileSpacing",new:"spacingNarrow",defaultValue:void 0}],this._transparentScrolling=!1,this._currentScrollPosition=0,this._debouncedEventsHandler=ti((e=>{this._eventsHandler(e)}),100),this._eventsHandler=e=>{"scroll"===e.type&&this._stickyScroll()},this._removeTransparency=()=>{const e=window.scrollY||document.documentElement.scrollTop;this._transparentScrolling=e>0}}get mobilePaddingTop(){return this.paddingTopNarrow}set mobilePaddingTop(e){this._handleDeprecated("mobilePaddingTop",e)}get mobilePaddingBottom(){return this.paddingBottomNarrow}set mobilePaddingBottom(e){this._handleDeprecated("mobilePaddingBottom",e)}get mobileSpacing(){return this.spacingNarrow}set mobileSpacing(e){this._handleDeprecated("mobileSpacing",e)}_handleDeprecated(e,t){st(this,e,t,this.deprecatedPropertyMap)}updated(e){super.updated(e),e.has("stickyHideOnScroll")&&(this.stickyHideOnScroll?window.addEventListener("scroll",this._debouncedEventsHandler):(window.removeEventListener("scroll",this._debouncedEventsHandler),this.removeAttribute("scrolling-down"))),e.has("transparent")&&(this.sticky&&this.transparent?window.addEventListener("scroll",this._removeTransparency):(window.removeEventListener("scroll",this._removeTransparency),this._transparentScrolling=!1))}disconnectedCallback(){this.sticky&&this.transparent&&window.removeEventListener("scroll",this._removeTransparency),this.sticky&&this.stickyHideOnScroll&&window.removeEventListener("scroll",this._debouncedEventsHandler),super.disconnectedCallback()}firstUpdated(){this._resizeObserver=new ResizeObserver((()=>this._initHeader())),this._resizeObserver.observe(this)}headerStyles(){let e={};if("full-width"===this.width&&(e={...e,"--pu-header-size-max-width":"100%"}),this.paddingTop){const t=/^\d+$/.test(this.paddingTop)?Number(this.paddingTop)/16+"em":this.paddingTop;e={...e,"--pu-header-space-padding-top":t}}if(this.paddingBottom){const t=/^\d+$/.test(this.paddingBottom)?Number(this.paddingBottom)/16+"em":this.paddingBottom;e={...e,"--pu-header-space-padding-bottom":t}}if(this.paddingTopNarrow){const t=/^\d+$/.test(this.paddingTopNarrow)?Number(this.paddingTopNarrow)/16+"em":this.paddingTopNarrow;e={...e,"--pu-header-space-padding-top-narrow":t}}else if(this.paddingTop){const t=/^\d+$/.test(this.paddingTop)?Number(this.paddingTop)/16+"em":this.paddingTop;e={...e,"--pu-header-space-padding-top-narrow":t}}if(this.paddingBottomNarrow){const t=/^\d+$/.test(this.paddingBottomNarrow)?Number(this.paddingBottomNarrow)/16+"em":this.paddingBottomNarrow;e={...e,"--pu-header-space-padding-bottom-narrow":t}}else if(this.paddingBottom){const t=/^\d+$/.test(this.paddingBottom)?Number(this.paddingBottom)/16+"em":this.paddingBottom;e={...e,"--pu-header-space-padding-bottom-narrow":t}}return this.spacing&&(e={...e,"--pu-header-rows-gap":Number(this.spacing)/16+"em"}),e=this.spacingNarrow?{...e,"--pu-header-rows-gap-narrow":Number(this.spacingNarrow)/16+"em"}:{...e,"--pu-header-rows-gap-narrow":Number(this.spacing)/16+"em"},this.transparent&&!this._transparentScrolling&&(e={...e,"--pu-color-background":"transparent"}),e}_initHeader(){this._currentScrollPosition=window.scrollY||document.documentElement.scrollTop,this._headerOuterHeight=this.getBoundingClientRect().bottom;const e=this.offsetHeight;this.style.setProperty("--pu-header-size-height-inner",e/16+"em"),this.style.setProperty("--pu-header-size-height-outer",this._headerOuterHeight/16+"em");const t=new CustomEvent("header-details",{detail:{height:this._headerOuterHeight},bubbles:!0,composed:!0});this.dispatchEvent(t)}_stickyScroll(){const e=window.scrollY||document.documentElement.scrollTop;this.stickyHideOnScroll?this._headerOuterHeight&&e<=this._headerOuterHeight?this.removeAttribute("scrolling-down"):e>this._currentScrollPosition?this.setAttribute("scrolling-down",""):this.removeAttribute("scrolling-down"):this.removeAttribute("scrolling-down"),this._currentScrollPosition=e<=0?0:e}render(){return $`
4876            <header
4877                part="base header"
4878                class="header"
4879                style="${He(this.headerStyles())}"
4880            >
4881                <div
4882                    part="content"
4883                    class="header__inner"
4884                >
4885                    <slot name="header-row"></slot>
4886                </div>
4887            </header>
4888        `}}li.styles=[Me,ni],li.dependencies={"pu-header-row":ii,"pu-header-block":si},i([ke()],li.prototype,"width",void 0),i([ke()],li.prototype,"paddingTop",void 0),i([ke()],li.prototype,"paddingBottom",void 0),i([ke()],li.prototype,"paddingTopNarrow",void 0),i([ke()],li.prototype,"paddingBottomNarrow",void 0),i([ke()],li.prototype,"spacing",void 0),i([ke()],li.prototype,"spacingNarrow",void 0),i([ke({type:Boolean,reflect:!0})],li.prototype,"sticky",void 0),i([ke({type:Boolean})],li.prototype,"stickyHideOnScroll",void 0),i([ke({type:Boolean,reflect:!0})],li.prototype,"transparent",void 0),i([ke()],li.prototype,"mobilePaddingTop",null),i([ke()],li.prototype,"mobilePaddingBottom",null),i([ke()],li.prototype,"mobileSpacing",null),i([Ce()],li.prototype,"_headerOuterHeight",void 0),i([Ce()],li.prototype,"_transparentScrolling",void 0),i([Ce()],li.prototype,"_currentScrollPosition",void 0),i([Se(".header")],li.prototype,"_header",void 0),li.define("pu-header");var di=te`
4889    /* Display in narrow view only */
4890    :host {
4891        display: block;
4892    }
4893
4894    /* Control icons */
4895    .nav-icon[open].nav-icon--close {
4896        display: block;
4897    }
4898    .nav-icon[open].nav-icon--open {
4899        display: none;
4900    }
4901    .nav-icon--close {
4902        display: none;
4903    }
4904    .nav-icon--open {
4905        display: block;
4906    }
4907
4908    /* Header drawer */
4909    .header-drawer {
4910        position: initial;
4911        --pu-disclosure-summary-space-padding: 0;
4912    }
4913    .header-drawer--overlay:after {
4914        content: '';
4915        position: fixed;
4916        inset: 0;
4917        z-index: -1;
4918        background-color: rgb(from var(--pu-overlay-color-background, rgb(0, 0, 0, 0.4)) r g b / alpha);
4919    }
4920
4921    pu-disclosure::part(drawer) {
4922        --pu-color-foreground: var(--pu-menu-drawer-color-foreground);
4923        --pu-icon-color-foreground: var(--pu-menu-drawer-color-foreground);
4924        --pu-disclosure-summary-color-background: transparent;
4925        --pu-disclosure-details-color-background: rgb(
4926            from var(--pu-menu-drawer-color-background, rgb(240, 240, 240)) r g b / alpha
4927        );
4928        --pu-disclosure-space-distance: var(--pu-header-size-height-inner, 0);
4929        --pu-disclosure-details-space-padding: 0;
4930        width: 90%;
4931    }
4932
4933    pu-disclosure::part(content) {
4934        border: none;
4935    }
4936
4937    /* Content structure */
4938    .content-base {
4939        display: flex;
4940        flex-direction: column;
4941        font-family: var(--pu-menu-font-family, inherit);
4942        font-size: var(--pu-menu-font-size, inherit);
4943        letter-spacing: 0.05em;
4944        height: calc(100svh - var(--pu-header-size-height-outer));
4945    }
4946    .content-navigation {
4947        flex: 1;
4948        position: relative;
4949        overflow-x: hidden;
4950    }
4951    .content-socials {
4952        display: none;
4953        align-items: center;
4954        justify-content: center;
4955        padding: var(--pu-space-600, 1.5em) var(--pu-space-400, 1.5em) var(--pu-space-1200, 3em);
4956    }
4957    .header-drawer--has-socials .content-socials {
4958        display: flex;
4959    }
4960
4961    /* Navigation lists */
4962    .nav-list {
4963        display: flex;
4964        flex-direction: column;
4965        list-style: none;
4966        margin: 0;
4967        padding: var(--pu-space-800, 2em) 0;
4968        color: rgb(from var(--pu-menu-drawer-color-foreground, var(--pu-color-foreground, rgb(0, 0, 0))) r g b / 1);
4969    }
4970
4971    /* Submenu specific styling */
4972    .nav-list[slot='submenu'] {
4973        padding: 0;
4974        width: 100%;
4975    }
4976
4977    /* Navigation labels and links */
4978    .nav-label {
4979        display: block;
4980        color: inherit;
4981        padding: var(--pu-space-300, 0.75em) var(--pu-space-600, 1.5em);
4982        text-decoration: none;
4983        transition: background-color var(--pu-transition-duration-500, 0.5s) ease;
4984    }
4985    .nav-label:hover {
4986        background-color: rgb(from var(--pu-color-background) r g b / 0.7);
4987    }
4988
4989    /* Navigation links (deepest level) */
4990    .nav-link {
4991        display: block;
4992        color: inherit;
4993        padding: var(--pu-space-300, 0.75em) var(--pu-space-600, 1.5em);
4994        text-decoration: none;
4995        transition: background-color var(--pu-transition-duration-500, 0.5s) ease;
4996    }
4997    .nav-link:hover {
4998        background-color: rgb(from var(--pu-color-background) r g b / 0.7);
4999    }
5000`;const pi=[te`
5001    :host {
5002        width: 100%;
5003    }
5004
5005    /* Summary */
5006    .nav-drawer-summary {
5007        align-items: center;
5008        color: inherit;
5009        cursor: pointer;
5010        display: flex;
5011        list-style: none;
5012        padding: 0 var(--pu-space-600, 1.5em) 0 0;
5013        transition: background-color var(--pu-transition-duration-500, 0.5s ease);
5014        -webkit-tap-highlight-color: transparent;
5015    }
5016    .nav-drawer-summary:hover {
5017        background-color: rgb(from var(--pu-color-background) r g b / 0.75);
5018    }
5019    details summary::-webkit-details-marker {
5020        display: none;
5021    }
5022
5023    /* Panel */
5024    .nav-drawer-panel {
5025        position: absolute;
5026        inset: 0;
5027        padding: var(--pu-space-800, 2em) 0;
5028        transform: translateX(100%);
5029        visibility: hidden;
5030        background-color: var(--pu-menu-drawer-color-background, rgb(236, 236, 236));
5031    }
5032    @supports (color: rgb(from white r g b)) {
5033        .nav-drawer-panel {
5034            background-color: rgb(from var(--pu-menu-drawer-color-background, rgb(236, 236, 236)) r g b / alpha);
5035        }
5036    }
5037
5038    /* Back button */
5039    .nav-back-button {
5040        cursor: pointer;
5041        display: flex;
5042        align-items: center;
5043        border: 0;
5044        box-shadow: none;
5045        column-gap: var(--pu-space-200, 0.5em);
5046        font-size: var(--pu-text-body-size-sm, 0.875em);
5047        padding: var(--pu-space-500, 1.25em) var(--pu-space-600, 1.5em);
5048        transition: background-color var(--pu-transition-duration-500, 0.5s ease);
5049        text-transform: uppercase;
5050        width: 100%;
5051
5052        color: var(--pu-menu-drawer-color-foreground, var(--pu-color-foreground, rgb(62, 62, 62)));
5053        background-color: transparent;
5054    }
5055    @supports (color: rgb(from white r g b)) {
5056        .nav-back-button {
5057            color: rgb(from var(--pu-menu-drawer-color-foreground, var(--pu-color-foreground, rgb(62, 62, 62))) r g b / alpha);
5058        }
5059    }
5060
5061    .nav-back-button:hover {
5062        background-color: var(--pu-color-background);
5063    }
5064    @supports (color: rgb(from white r g b)) {
5065        .nav-back-button:hover {
5066            background-color: rgb(from var(--pu-color-background) r g b / 0.75);
5067        }
5068    }
5069
5070    /* Navigation icons */
5071    .nav-icon {
5072        height: var(--pu-space-400, 1em);
5073        width: var(--pu-space-400, 1em);
5074    }
5075
5076    .nav-icon--expand {
5077        margin-left: auto;
5078    }
5079
5080    .nav-icon--back {
5081        margin-left: 0;
5082    }
5083`,te`
5084    /* State API - Menu drawer animation state */
5085    .nav-drawer[open].nav-drawer--opening .nav-drawer-panel {
5086        transition:
5087            transform 0.3s ease,
5088            visibility 0.3s ease;
5089        transform: translateX(0);
5090        visibility: visible;
5091    }
5092`];class ci extends Ue{constructor(){super(),this.clickOpenAction="",this.clickBackAction="",this._subN
5092avOpen=!1,this._animating=!1,this.closeDrawer=()=>{this._animating=!1,this._menuDrawer.removeAttribute("open"),this._subNavOpen=!this._subNavOpen}}_handleSummaryClick(){requestAnimationFrame((()=>{this._animating=!0})),this._subNavOpen=!this._subNavOpen}handleBackClick(){this._menuDrawer.removeAttribute("open"),this._animating=!1,this._subNavOpen=!this._subNavOpen}render(){return $`
5093            <details
5094                part="nav-drawer"
5095                class="nav-drawer${J({"nav-drawer--opening":this._animating&&this._subNavOpen})}"
5096            >
5097                <summary
5098                    part="nav-drawer-summary"
5099                    class="nav-drawer-summary"
5100                    aria-label="Main menu"
5101                    role="button"
5102                    aria-expanded=${!!this._subNavOpen}
5103                    @click=${this._handleSummaryClick}
5104                >
5105                    <slot name="summary"></slot>
5106                    <pu-icon
5107                        part="nav-icon"
5108                        exportparts="base:nav-icon-base,svg:nav-icon-svg"
5109                        class="nav-icon nav-icon--expand"
5110                        name="arrow-right-long"
5111                        size="medium"
5112                        aria-hidden="true"
5113                        focusable="false"
5114                        role="presentation"
5115                    >
5116                    </pu-icon>
5117                </summary>
5118                <div part="nav-drawer-panel" class="nav-drawer-panel" aria-hidden=${!this._subNavOpen}>
5119                    <button part="nav-back-button" class="nav-back-button" type="button" @click=${this.handleBackClick}>
5120                        <pu-icon
5121                            part="nav-icon"
5122                            exportparts="base:nav-icon-base,svg:nav-icon-svg"
5123                            class="nav-icon nav-icon--back"
5124                            name="arrow-left-long"
5125                            size="medium"
5126                            aria-hidden="true"
5127                            focusable="false"
5128                            role="presentation"
5129                        >
5130                        </pu-icon>
5131                        <slot name="summary-back"></slot>
5132                    </button>
5133                    <slot name="submenu"></slot>
5134                </div>
5135            </details>
5136        `}}ci.styles=[Me,pi],i([ke({type:String})],ci.prototype,"clickOpenAction",void 0),i([ke({type:String})],ci.prototype,"clickBackAction",void 0),i([ke({state:!0,type:Boolean})],ci.prototype,"_subNavOpen",void 0),i([Ce()],ci.prototype,"_animating",void 0),i([Se(".nav-drawer")],ci.prototype,"_menuDrawer",void 0);class ui extends Ue{constructor(){super(...arguments),this.direction="from-left",this._drawerOpen=!1,this._slotHasChildren=!1}closeDrawer(){this._drawerOpen=!1,this._drawer?.detailsClose(),document.body.removeAttribute("style"),this._closeActiveDrawers()}_handleSlotChange(e){this._slotHasChildren=Ht(e,"socials")}_openDrawer(){this._drawerOpen=!0,document.body.style.overflow="hidden"}_closeDrawer(){this._drawerOpen=!1,document.body.removeAttribute("style"),this._closeActiveDrawers()}_closeActiveDrawers(){if(!this._drawerOpen){const e=this.shadowRoot?.querySelectorAll("pu-menu-drawer");e&&e.length&&e.forEach((e=>{e.closeDrawer()}))}}menuList(){if(this.data)return $`
5137                <nav
5138                    part="nav-base"
5139                    class="nav-base"
5140                >
5141                    <ul
5142                        part="nav-list"
5143                        class="nav-list"
5144                    >
5145                        ${this.data.map((e=>$`
5146                                <li
5147                                    part="nav-list-item"
5148                                    class="nav-list-item"
5149                                >
5150                                    ${e.subItems?$`
5151                                              <!-- Menu drawer -->
5152                                              <pu-menu-drawer
5153                                                  part="nav-drawer"
5154                                                  exportparts="
5155                                                      nav-drawer,
5156                                                      nav-drawer-summary,
5157                                                      nav-label,
5158                                                      nav-link,
5159                                                      nav-icon,
5160                                                      nav-icon-base,
5161                                                      nav-icon-svg,
5162                                                      nav-drawer-panel,
5163                                                      nav-back-button
5164                                                  "
5165                                              >
5166                                                  <!-- Menu buttons -->
5167                                                  <span
5168                                                      part="nav-label"
5169                                                      slot="summary"
5170                                                      class="nav-label"
5171                                                  >
5172                                                      ${e.linkText}
5173                                                  </span>
5174                                                  <span
5175                                                      part="nav-label"
5176                                                      slot="summary-back"
5177                                                      class="nav-label"
5178                                                  >
5179                                                      ${e.linkText}
5180                                                  </span>
5181                                                  <!-- Nested menus -->
5182                                                  <ul
5183                                                      part="nav-list"
5184                                                      slot="submenu"
5185                                                      class="nav-list"
5186                                                  >
5187                                                      ${e.subItems.map((e=>$`
5188                                                              <li
5189                                                                  part="nav-list-item"
5190                                                                  class="nav-list-item"
5191                                                              >
5192                                                                  ${e.subItems?$`
5193                                                                            <pu-menu-drawer
5194                                                                                part="nav-drawer"
5195                                                                                exportparts="
5196                                                                                    nav-drawer,
5197                                                                                    nav-drawer-summary,
5198                                                                                    nav-label,
5199                                                                                    nav-icon,
5200                                                                                    nav-icon-base,
5201                                                                                    nav-icon-svg,
5202                                                                                    nav-drawer-panel,
5203                                                                                    nav-back-button
5204                                                                                "
5205                                                                            >
5206                                                                                <span
5207                                                                                    part="nav-label"
5208                                                                                    slot="summary"
5209                                                                                    class="nav-label"
5210                                                                                >
5211                                                                                    ${e.linkText}
5212                                                                                </span>
5213                                                                                <span
5214                                                                                    part="nav-label"
5215                                                                                    slot="summary-back"
5216                                                                                    class="nav-label"
5217                                                                                >
5218                                                                                    ${e.linkText}
5219                                                                                </span>
5220                                                                                <ul
5221                                                                                    part="nav-list"
5222                                                                                    slot="submenu"
5223                                                                                    class="nav-list"
5224                                                                                >
5225                                                                                    ${e.subItems.map((e=>$`
5226                                                                                                <li
5227                                                                                                    part="nav-list-item"
5228                                                                                                    class="nav-list-item"
5229                                                                                                >
5230                                                                                                    <a
5231                                                                                                        part="nav-link"
5232                                                                                                        class="nav-link"
5233                                                                                                        href="${e.linkUrl}"
5234                                                                                                        @click=${this.closeDrawer}
5235                                                                                                    >
5236                                                                                                        ${e.linkText}
5237                                                                                                    </a>
5238                                                                                                </li>
5239                                                                                            `))}
5240                                                                                </ul>
5241                                                                            </pu-menu-drawer>
5242                                                                        `:$`
5243                                                                            <a
5244                                                                                part="nav-label"
5245                                                                                class="nav-label"
5246                                                                                href="${e.linkUrl}"
5247                                                                                @click=${this.closeDrawer}
5248                                                                            >
5249                                                                                ${e.linkText}
5250                                                                            </a>
5251                                                                        `}
5252                                                              </li>
5253                                                          `))}
5254                                                  </ul>
5255                                              </pu-menu-drawer>
5256                                          `:$`
5257                                              <!-- Single link -->
5258                                              <a
5259                                                  part="nav-label"
5260                                                  class="nav-label"
5261                                                  href="${e.linkUrl}"
5262                                                  @click=${this.closeDrawer}
5263                                              >
5264                                                  ${e.linkText}
5265                                              </a>
5266                                          `}
5267                                </li>
5268                            `))}
5269                    </ul>
5270                </nav>
5271            `}render(){return $`
5272            <pu-disclosure
5273                part="drawer-base"
5274                class="header-drawer ${J({"header-drawer--has-socials":this._slotHasChildren,"header-drawer--overlay":this._drawerOpen})}"
5275                direction=${this.direction}
5276                overlay
5277                exportparts="
5278                    base:disclosure-base,
5279                    header:disclosure-header,
5280                    drawer:disclosure-drawer,
5281                    content:disclosure-content,
5282                    nav-icon,
5283                    nav-icon-base,
5284                    nav-icon-svg"
5285            >
5286                <!-- Menu control button -->
5287                <span
5288                    part="control-base"
5289                    slot="icon"
5290                    class="control-base"
5291                >
5292                    <pu-icon
5293                        part="nav-icon"
5294                        class="nav-icon nav-icon--open"
5295                        name="bars"
5296                        size="2xlarge"
5297                        ?open=${this._drawerOpen}
5298                        @click=${this._openDrawer}
5299                        role="presentation"
5300                        aria-hidden="true"
5301                        focusable="false"
5302                        exportparts="base:nav-icon-base,svg:nav-icon-svg"
5303                    >
5304                    </pu-icon>
5305                    <pu-icon
5306                        part="nav-icon"
5307                        class="nav-icon nav-icon--close"
5308                        name="close"
5309                        size="2xlarge"
5310                        ?open=${this._drawerOpen}
5311                        @click=${this._closeDrawer}
5312                        role="presentation"
5313                        aria-hidden="true"
5314                        focusable="false"
5315                        exportparts="base:nav-icon-base,svg:nav-icon-svg"
5316                    >
5317                    </pu-icon>
5318                </span>
5319                <!-- Menu drawer content -->
5320                <div
5321                    part="content-base"
5322                    slot="content"
5323                    class="content-base"
5324                >
5325                    <div
5326                        part="content-navigation"
5327                        class="content-navigation"
5328                    >
5329                        ${this.menuList()}
5330                    </div>
5331                    <div
5332                        part="content-socials"
5333                        class="content-socials"
5334                    >
5335                        <slot
5336                            name="socials"
5337                            @slotchange=${this._handleSlotChange}
5338                        ></slot>
5339                    </div>
5340                </div>
5341            </pu-disclosure>
5342        `}}ui.styles=[Me,di],ui.dependencies={"pu-menu-drawer":ci,"pu-disclosure":Do,"pu-icon":Ge},i([ke({type:Array})],ui.prototype,"data",void 0),i([ke()],ui.prototype,"direction",void 0),i([Ce()],ui.prototype,"_drawerOpen",void 0),i([Se("pu-disclosure")],ui.prototype,"_drawer",void 0),i([Ce()],ui.prototype,"_slotHasChildren",void 0),ui.define("pu-header-drawer");const hi=[te`
5343    /* Host element responsive fit behavior */
5344    :host,
5345    :host([fit='fill']) {
5346        display: block;
5347        height: 100%;
5348        width: 100%;
5349    }
5350    :host([fit='fit-content']) {
5351        width: fit-content;
5352    }
5353    :host([fit='auto']) {
5354        width: auto;
5355    }
5356
5357    @media only screen and (max-width: 48em) {
5358        :host,
5359        :host([fitNarrow='fill']) {
5360            display: block;
5361            height: 100%;
5362        }
5363        :host([fitNarrow='fit-content']) {
5364            width: fit-content;
5365        }
5366        :host([fitNarrow='auto']) {
5367            width: auto;
5368        }
5369    }
5370
5371    .horizontal-stack {
5372        display: flex;
5373    }
5374
5375    @media (min-width: 48em) {
5376        .horizontal-stack {
5377            column-gap: var(--pu-grid-gap-x, var(--gap-x, 1em));
5378            row-gap: var(--pu-grid-gap-y, var(--gap-y, 0.5em));
5379        }
5380        .horizontal-stack--fit {
5381            height: 100%;
5382        }
5383    }
5384
5385    @media (max-width: 47.9975em) {
5386        .horizontal-stack {
5387            column-gap: var(--pu-grid-gap-x-narrow, var(--gap-x-narrow, 1em));
5388            row-gap: var(--pu-grid-gap-y-narrow, var(--gap-y-narrow, 0.5em));
5389        }
5390        .horizontal-stack--fit-narrow {
5391            height: 100%;
5392        }
5393    }
5394
5395    ::slotted(*) {
5396        flex-shrink: 1;
5397    }
5398`,gt,bt,mt,ft,te`
5399    /* Boolean Property API - Wrap behavior */
5400    .horizontal-stack.group-wrap {
5401        flex-wrap: wrap;
5402    }
5403
5404    /* Value-Based Property API - Flex stretch behavior for slotted elements */
5405    @media (max-width: 47.9975em) {
5406        .horizontal-stack.flex-narrow-justify--stretch ::slotted(*) {
5407            flex: auto;
5408        }
5409    }
5410
5411    @media (min-width: 48em) {
5412        .horizontal-stack.flex-justify--stretch ::slotted(*) {
5413            flex: auto;
5414        }
5415    }
5416`];class gi extends Ue{constructor(){super(...arguments),this.fit="fill",this.fitNarrow="fill",this.justify="start",this.justifyNarrow="start",this.align="start",this.alignNarrow="start",this.wrap=!1}styles(){let e={};return this.spacing&&(e={...e,"--gap-x":parseInt(this.spacing)/16+"em","--gap-y":parseInt(this.spacing)/16+"em"}),this.spacingNarrow&&(e={...e,"--gap-x-narrow":parseInt(this.spacingNarrow)/16+"em","--gap-y-narrow":parseInt(this.spacingNarrow)/16+"em"}),e}render(){return $`
5417            <div
5418                part="base horizontal-stack"
5419                class="${J({"horizontal-stack":!0,"horizontal-stack--fit":"fill"===this.fit,"horizontal-stack--fit-narrow":"fill"===this.fitNarrow,"group-wrap":this.wrap,[`flex-justify--${this.justify}`]:!0,[`flex-narrow-justify--${this.justifyNarrow}`]:!0,[`flex-align--${this.align}`]:!0,[`flex-narrow-align--${this.alignNarrow}`]:!0})}"
5420                style="${He(this.styles())}"
5421            >
5422                <slot></slot>
5423            </div>
5424        `}}gi.styles=[Me,hi],i([ke({reflect:!0})],gi.prototype,"fit",void 0),i([ke({reflect:!0})],gi.prototype,"fitNarrow",void 0),i([ke()],gi.prototype,"spacing",void 0),i([ke()],gi.prototype,"spacingNarrow",void 0),i([ke()],gi.prototype,"justify",void 0),i([ke()],gi.prototype,"justifyNarrow",void 0),i([ke()],gi.prototype,"align",void 0),i([ke()],gi.prototype,"alignNarrow",void 0),i([ke({type:Boolean})],gi.prototype,"wrap",void 0),gi.define("pu-horizontal-stack"),Ge.define("pu-icon"),Zt.define("pu-input");const mi=[{iso2:"ZZ",name:"International",dialCode:"+",flag1x1:"/assets/flags/zz.svg"},{iso2:"AF",name:"Afghanistan",dialCode:"+93",flag1x1:"/assets/flags/af.svg"},{iso2:"AX",name:"Åland Islands",dialCode:"+358",flag1x1:"/assets/flags/ax.svg"},{iso2:"AL",name:"Albania",dialCode:"+355",flag1x1:"/assets/flags/al.svg"},{iso2:"DZ",name:"Algeria",dialCode:"+213",flag1x1:"/assets/flags/dz.svg"},{iso2:"AS",name:"American Samoa",dialCode:"+1684",flag1x1:"/assets/flags/as.svg"},{iso2:"AD",name:"Andorra",dialCode:"+376",flag1x1:"/assets/flags/ad.svg"},{iso2:"AO",name:"Angola",dialCode:"+244",flag1x1:"/assets/flags/ao.svg"},{iso2:"AI",name:"Anguilla",dialCode:"+1264",flag1x1:"/assets/flags/ai.svg"},{iso2:"AG",name:"Antigua and Barbuda",dialCode:"+1268",flag1x1:"/assets/flags/ag.svg"}
5424,{iso2:"AR",name:"Argentina",dialCode:"+54",flag1x1:"/assets/flags/ar.svg"},{iso2:"AM",name:"Armenia",dialCode:"+374",flag1x1:"/assets/flags/am.svg"},{iso2:"AW",name:"Aruba",dialCode:"+297",flag1x1:"/assets/flags/aw.svg"},{iso2:"AC",name:"Ascension Island",dialCode:"+247",flag1x1:"/assets/flags/ac.svg"},{iso2:"AU",name:"Australia",dialCode:"+61",flag1x1:"/assets/flags/au.svg"},{iso2:"AT",name:"Austria",dialCode:"+43",flag1x1:"/assets/flags/at.svg"},{iso2:"AZ",name:"Azerbaijan",dialCode:"+994",flag1x1:"/assets/flags/az.svg"},{iso2:"BS",name:"Bahamas",dialCode:"+1242",flag1x1:"/assets/flags/bs.svg"},{iso2:"BH",name:"Bahrain",dialCode:"+973",flag1x1:"/assets/flags/bh.svg"},{iso2:"BD",name:"Bangladesh",dialCode:"+880",flag1x1:"/assets/flags/bd.svg"},{iso2:"BB",name:"Barbados",dialCode:"+1246",flag1x1:"/assets/flags/bb.svg"},{iso2:"BY",name:"Belarus",dialCode:"+375",flag1x1:"/assets/flags/by.svg"},{iso2:"BE",name:"Belgium",dialCode:"+32",flag1x1:"/assets/flags/be.svg"},{iso2:"BZ",name:"Belize",dialCode:"+501",flag1x1:"/assets/flags/bz.svg"},{iso2:"BJ",name:"Benin",dialCode:"+229",flag1x1:"/assets/flags/bj.svg"},{iso2:"BM",name:"Bermuda",dialCode:"+1441",flag1x1:"/assets/flags/bm.svg"},{iso2:"BT",name:"Bhutan",dialCode:"+975",flag1x1:"/assets/flags/bt.svg"},{iso2:"BO",name:"Bolivia",dialCode:"+591",flag1x1:"/assets/flags/bo.svg"},{iso2:"BQ",name:"Bonaire, Sint Eustatius and Saba",dialCode:"+599",flag1x1:"/assets/flags/bq.svg"},{iso2:"BA",name:"Bosnia and Herzegovina",dialCode:"+387",flag1x1:"/assets/flags/ba.svg"},{iso2:"BW",name:"Botswana",dialCode:"+267",flag1x1:"/assets/flags/bw.svg"},{iso2:"BR",name:"Brazil",dialCode:"+55",flag1x1:"/assets/flags/br.svg"},{iso2:"IO",name:"British Indian Ocean Territory",dialCode:"+246",flag1x1:"/assets/flags/io.svg"},{iso2:"BN",name:"Brunei Darussalam",dialCode:"+673",flag1x1:"/assets/flags/bn.svg"},{iso2:"BG",name:"Bulgaria",dialCode:"+359",flag1x1:"/assets/flags/bg.svg"},{iso2:"BF",name:"Burkina Faso",dialCode:"+226",flag1x1:"/assets/flags/bf.svg"},{iso2:"BI",name:"Burundi",dialCode:"+257",flag1x1:"/assets/flags/bi.svg"},{iso2:"KH",name:"Cambodia",dialCode:"+855",flag1x1:"/assets/flags/kh.svg"},{iso2:"CM",name:"Cameroon",dialCode:"+237",flag1x1:"/assets/flags/cm.svg"},{iso2:"CA",name:"Canada",dialCode:"+1",flag1x1:"/assets/flags/ca.svg"},{iso2:"CV",name:"Cape Verde",dialCode:"+238",flag1x1:"/assets/flags/cv.svg"},{iso2:"KY",name:"Cayman Islands",dialCode:"+1345",flag1x1:"/assets/flags/ky.svg"},{iso2:"CF",name:"Central African Republic",dialCode:"+236",flag1x1:"/assets/flags/cf.svg"},{iso2:"TD",name:"Chad",dialCode:"+235",flag1x1:"/assets/flags/td.svg"},{iso2:"CL",name:"Chile",dialCode:"+56",flag1x1:"/assets/flags/cl.svg"},{iso2:"CN",name:"China",dialCode:"+86",flag1x1:"/assets/flags/cn.svg"},{iso2:"CX",name:"Christmas Island",dialCode:"+61",flag1x1:"/assets/flags/cx.svg"},{iso2:"CC",name:"Cocos (Keeling) Islands",dialCode:"+61",flag1x1:"/assets/flags/cc.svg"},{iso2:"CO",name:"Colombia",dialCode:"+57",flag1x1:"/assets/flags/co.svg"},{iso2:"KM",name:"Comoros",dialCode:"+269",flag1x1:"/assets/flags/km.svg"},{iso2:"CG",name:"Congo",dialCode:"+242",flag1x1:"/assets/flags/cg.svg"},{iso2:"CD",name:"Congo, Democratic Republic of the",dialCode:"+243",flag1x1:"/assets/flags/cd.svg"},{iso2:"CK",name:"Cook Islands",dialCode:"+682",flag1x1:"/assets/flags/ck.svg"},{iso2:"CR",name:"Costa Rica",dialCode:"+506",flag1x1:"/assets/flags/cr.svg"},{iso2:"CI",name:"Cote d'Ivoire",dialCode:"+225",flag1x1:"/assets/flags/ci.svg"},{iso2:"HR",name:"Croatia",dialCode:"+385",flag1x1:"/assets/flags/hr.svg"},{iso2:"CU",name:"Cuba",dialCode:"+53",flag1x1:"/assets/flags/cu.svg"},{iso2:"CW",name:"Curaçao",dialCode:"+599",flag1x1:"/assets/flags/cw.svg"},{iso2:"CY",name:"Cyprus",dialCode:"+357",flag1x1:"/assets/flags/cy.svg"},{iso2:"CZ",name:"Czech Republic",dialCode:"+420",flag1x1:"/assets/flags/cz.svg"},{iso2:"DK",name:"Denmark",dialCode:"+45",flag1x1:"/assets/flags/dk.svg"},{iso2:"DJ",name:"Djibouti",dialCode:"+253",flag1x1:"/assets/flags/dj.svg"},{iso2:"DM",name:"Dominica",dialCode:"+1767",flag1x1:"/assets/flags/dm.svg"},{iso2:"DO",name:"Dominican Republic",dialCode:"+1",flag1x1:"/assets/flags/do.svg"},{iso2:"EC",name:"Ecuador",dialCode:"+593",flag1x1:"/assets/flags/ec.svg"},{iso2:"EG",name:"Egypt",dialCode:"+20",flag1x1:"/assets/flags/eg.svg"},{iso2:"SV",name:"El Salvador",dialCode:"+503",flag1x1:"/assets/flags/sv.svg"},{iso2:"GQ",name:"Equatorial Guinea",dialCode:"+240",flag1x1:"/assets/flags/gq.svg"},{iso2:"ER",name:"Eritrea",dialCode:"+291",flag1x1:"/assets/flags/er.svg"},{iso2:"EE",name:"Estonia",dialCode:"+372",flag1x1:"/assets/flags/ee.svg"},{iso2:"ET",name:"Ethiopia",dialCode:"+251",flag1x1:"/assets/flags/et.svg"},{iso2:"FK",name:"Falkland Islands",dialCode:"+500",flag1x1:"/assets/flags/fk.svg"},{iso2:"FO",name:"Faroe Islands",dialCode:"+298",flag1x1:"/assets/flags/fo.svg"},{iso2:"FM",name:"Federated States of Micronesia",dialCode:"+691",flag1x1:"/assets/flags/fm.svg"},{iso2:"FJ",name:"Fiji",dialCode:"+679",flag1x1:"/assets/flags/fj.svg"},{iso2:"FI",name:"Finland",dialCode:"+358",flag1x1:"/assets/flags/fi.svg"},{iso2:"FR",name:"France",dialCode:"+33",flag1x1:"/assets/flags/fr.svg"},{iso2:"GF",name:"French Guiana",dialCode:"+594",flag1x1:"/assets/flags/gf.svg"},{iso2:"PF",name:"French Polynesia",dialCode:"+689",flag1x1:"/assets/flags/pf.svg"},{iso2:"GA",name:"Gabon",dialCode:"+241",flag1x1:"/assets/flags/ga.svg"},{iso2:"GM",name:"Gambia",dialCode:"+220",flag1x1:"/assets/flags/gm.svg"},{iso2:"GE",name:"Georgia",dialCode:"+995",flag1x1:"/assets/flags/ge.svg"},{iso2:"DE",name:"Germany",dialCode:"+49",flag1x1:"/assets/flags/de.svg"},{iso2:"GH",name:"Ghana",dialCode:"+233",flag1x1:"/assets/flags/gh.svg"},{iso2:"GI",name:"Gibraltar",dialCode:"+350",flag1x1:"/assets/flags/gi.svg"},{iso2:"GR",name:"Greece",dialCode:"+30",flag1x1:"/assets/flags/gr.svg"},{iso2:"GL",name:"Greenland",dialCode:"+299",flag1x1:"/assets/flags/gl.svg"},{iso2:"GD",name:"Grenada",dialCode:"+1473",flag1x1:"/assets/flags/gd.svg"},{iso2:"GP",name:"Guadeloupe",dialCode:"+590",flag1x1:"/assets/flags/gp.svg"},{iso2:"GU",name:"Guam",dialCode:"+1671",flag1x1:"/assets/flags/gu.svg"},{iso2:"GT",name:"Guatemala",dialCode:"+502",flag1x1:"/assets/flags/gt.svg"},{iso2:"GG",name:"Guernsey",dialCode:"+44",flag1x1:"/assets/flags/gg.svg"},{iso2:"GN",name:"Guinea",dialCode:"+224",flag1x1:"/assets/flags/gn.svg"},{iso2:"GW",name:"Guinea-Bissau",dialCode:"+245",flag1x1:"/assets/flags/gw.svg"},{iso2:"GY",name:"Guyana",dialCode:"+592",flag1x1:"/assets/flags/gy.svg"},{iso2:"HT",name:"Haiti",dialCode:"+509",flag1x1:"/assets/flags/ht.svg"},{iso2:"VA",name:"Holy See (Vatican City State)",dialCode:"+379",flag1x1:"/assets/flags/va.svg"},{iso2:"HN",name:"Honduras",dialCode:"+504",flag1x1:"/assets/flags/hn.svg"},{iso2:"HK",name:"Hong Kong",dialCode:"+852",flag1x1:"/assets/flags/hk.svg"},{iso2:"HU",name:"Hungary",dialCode:"+36",flag1x1:"/assets/flags/hu.svg"},{iso2:"IS",name:"Iceland",dialCode:"+354",flag1x1:"/assets/flags/is.svg"},{iso2:"IN",name:"India",dialCode:"+91",flag1x1:"/assets/flags/in.svg"},{iso2:"ID",name:"Indonesia",dialCode:"+62",flag1x1:"/assets/flags/id.svg"},{iso2:"IR",name:"Iran",dialCode:"+98",flag1x1:"/assets/flags/ir.svg"},{iso2:"IQ",name:"Iraq",dialCode:"+964",flag1x1:"/assets/flags/iq.svg"},{iso2:"IE",name:"Ireland",dialCode:"+353",flag1x1:"/assets/flags/ie.svg"},{iso2:"IM",name:"Isle of Man",dialCode:"+44",flag1x1:"/assets/flags/im.svg"},{iso2:"IL",name:"Israel",dialCode:"+972",flag1x1:"/assets/flags/il.svg"}
5424,{iso2:"IT",name:"Italy",dialCode:"+39",flag1x1:"/assets/flags/it.svg"},{iso2:"JM",name:"Jamaica",dialCode:"+1876",flag1x1:"/assets/flags/jm.svg"},{iso2:"JP",name:"Japan",dialCode:"+81",flag1x1:"/assets/flags/jp.svg"},{iso2:"JE",name:"Jersey",dialCode:"+44",flag1x1:"/assets/flags/je.svg"},{iso2:"JO",name:"Jordan",dialCode:"+962",flag1x1:"/assets/flags/jo.svg"},{iso2:"KZ",name:"Kazakhstan",dialCode:"+7",flag1x1:"/assets/flags/kz.svg"},{iso2:"KE",name:"Kenya",dialCode:"+254",flag1x1:"/assets/flags/ke.svg"},{iso2:"KI",name:"Kiribati",dialCode:"+686",flag1x1:"/assets/flags/ki.svg"},{iso2:"XK",name:"Kosovo",dialCode:"+383",flag1x1:"/assets/flags/xk.svg"},{iso2:"KW",name:"Kuwait",dialCode:"+965",flag1x1:"/assets/flags/kw.svg"},{iso2:"KG",name:"Kyrgyzstan",dialCode:"+996",flag1x1:"/assets/flags/kg.svg"},{iso2:"LA",name:"Laos",dialCode:"+856",flag1x1:"/assets/flags/la.svg"},{iso2:"LV",name:"Latvia",dialCode:"+371",flag1x1:"/assets/flags/lv.svg"},{iso2:"LB",name:"Lebanon",dialCode:"+961",flag1x1:"/assets/flags/lb.svg"},{iso2:"LS",name:"Lesotho",dialCode:"+266",flag1x1:"/assets/flags/ls.svg"},{iso2:"LR",name:"Liberia",dialCode:"+231",flag1x1:"/assets/flags/lr.svg"},{iso2:"LY",name:"Libya",dialCode:"+218",flag1x1:"/assets/flags/ly.svg"},{iso2:"LI",name:"Liechtenstein",dialCode:"+423",flag1x1:"/assets/flags/li.svg"},{iso2:"LT",name:"Lithuania",dialCode:"+370",flag1x1:"/assets/flags/lt.svg"},{iso2:"LU",name:"Luxembourg",dialCode:"+352",flag1x1:"/assets/flags/lu.svg"},{iso2:"MO",name:"Macao",dialCode:"+853",flag1x1:"/assets/flags/mo.svg"},{iso2:"MG",name:"Madagascar",dialCode:"+261",flag1x1:"/assets/flags/mg.svg"},{iso2:"MW",name:"Malawi",dialCode:"+265",flag1x1:"/assets/flags/mw.svg"},{iso2:"MY",name:"Malaysia",dialCode:"+60",flag1x1:"/assets/flags/my.svg"},{iso2:"MV",name:"Maldives",dialCode:"+960",flag1x1:"/assets/flags/mv.svg"},{iso2:"ML",name:"Mali",dialCode:"+223",flag1x1:"/assets/flags/ml.svg"},{iso2:"MT",name:"Malta",dialCode:"+356",flag1x1:"/assets/flags/mt.svg"},{iso2:"MH",name:"Marshall Islands",dialCode:"+692",flag1x1:"/assets/flags/mh.svg"},{iso2:"MQ",name:"Martinique",dialCode:"+596",flag1x1:"/assets/flags/mq.svg"},{iso2:"MR",name:"Mauritania",dialCode:"+222",flag1x1:"/assets/flags/mr.svg"},{iso2:"MU",name:"Mauritius",dialCode:"+230",flag1x1:"/assets/flags/mu.svg"},{iso2:"YT",name:"Mayotte",dialCode:"+262",flag1x1:"/assets/flags/yt.svg"},{iso2:"MX",name:"Mexico",dialCode:"+52",flag1x1:"/assets/flags/mx.svg"},{iso2:"MD",name:"Moldova",dialCode:"+373",flag1x1:"/assets/flags/md.svg"},{iso2:"MC",name:"Monaco",dialCode:"+377",flag1x1:"/assets/flags/mc.svg"},{iso2:"MN",name:"Mongolia",dialCode:"+976",flag1x1:"/assets/flags/mn.svg"},{iso2:"ME",name:"Montenegro",dialCode:"+382",flag1x1:"/assets/flags/me.svg"},{iso2:"MS",name:"Montserrat",dialCode:"+1664",flag1x1:"/assets/flags/ms.svg"},{iso2:"MA",name:"Morocco",dialCode:"+212",flag1x1:"/assets/flags/ma.svg"},{iso2:"MZ",name:"Mozambique",dialCode:"+258",flag1x1:"/assets/flags/mz.svg"},{iso2:"MM",name:"Myanmar",dialCode:"+95",flag1x1:"/assets/flags/mm.svg"},{iso2:"NA",name:"Namibia",dialCode:"+264",flag1x1:"/assets/flags/na.svg"},{iso2:"NR",name:"Nauru",dialCode:"+674",flag1x1:"/assets/flags/nr.svg"},{iso2:"NP",name:"Nepal",dialCode:"+977",flag1x1:"/assets/flags/np.svg"},{iso2:"NL",name:"Netherlands",dialCode:"+31",flag1x1:"/assets/flags/nl.svg"},{iso2:"NC",name:"New Caledonia",dialCode:"+687",flag1x1:"/assets/flags/nc.svg"},{iso2:"NZ",name:"New Zealand",dialCode:"+64",flag1x1:"/assets/flags/nz.svg"},{iso2:"NI",name:"Nicaragua",dialCode:"+505",flag1x1:"/assets/flags/ni.svg"},{iso2:"NE",name:"Niger",dialCode:"+227",flag1x1:"/assets/flags/ne.svg"},{iso2:"NG",name:"Nigeria",dialCode:"+234",flag1x1:"/assets/flags/ng.svg"},{iso2:"NU",name:"Niue",dialCode:"+683",flag1x1:"/assets/flags/nu.svg"},{iso2:"NF",name:"Norfolk Island",dialCode:"+672",flag1x1:"/assets/flags/nf.svg"},{iso2:"KP",name:"North Korea",dialCode:"+850",flag1x1:"/assets/flags/kp.svg"},{iso2:"MK",name:"North Macedonia",dialCode:"+389",flag1x1:"/assets/flags/mk.svg"},{iso2:"MP",name:"Northern Mariana Islands",dialCode:"+1670",flag1x1:"/assets/flags/mp.svg"},{iso2:"NO",name:"Norway",dialCode:"+47",flag1x1:"/assets/flags/no.svg"},{iso2:"OM",name:"Oman",dialCode:"+968",flag1x1:"/assets/flags/om.svg"},{iso2:"PK",name:"Pakistan",dialCode:"+92",flag1x1:"/assets/flags/pk.svg"},{iso2:"PW",name:"Palau",dialCode:"+680",flag1x1:"/assets/flags/pw.svg"},{iso2:"PS",name:"Palestine",dialCode:"+970",flag1x1:"/assets/flags/ps.svg"},{iso2:"PA",name:"Panama",dialCode:"+507",flag1x1:"/assets/flags/pa.svg"}
5424,{iso2:"PG",name:"Papua New Guinea",dialCode:"+675",flag1x1:"/assets/flags/pg.svg"},{iso2:"PY",name:"Paraguay",dialCode:"+595",flag1x1:"/assets/flags/py.svg"},{iso2:"PE",name:"Peru",dialCode:"+51",flag1x1:"/assets/flags/pe.svg"},{iso2:"PH",name:"Philippines",dialCode:"+63",flag1x1:"/assets/flags/ph.svg"},{iso2:"PL",name:"Poland",dialCode:"+48",flag1x1:"/assets/flags/pl.svg"},{iso2:"PT",name:"Portugal",dialCode:"+351",flag1x1:"/assets/flags/pt.svg"},{iso2:"PR",name:"Puerto Rico",dialCode:"+1",flag1x1:"/assets/flags/pr.svg"},{iso2:"QA",name:"Qatar",dialCode:"+974",flag1x1:"/assets/flags/qa.svg"},{iso2:"RE",name:"Reunion",dialCode:"+262",flag1x1:"/assets/flags/re.svg"},{iso2:"RO",name:"Romania",dialCode:"+40",flag1x1:"/assets/flags/ro.svg"},{iso2:"RU",name:"Russia",dialCode:"+7",flag1x1:"/assets/flags/ru.svg"},{iso2:"RW",name:"Rwanda",dialCode:"+250",flag1x1:"/assets/flags/rw.svg"},{iso2:"BL",name:"Saint Barthélemy",dialCode:"+590",flag1x1:"/assets/flags/bl.svg"},{iso2:"SH",name:"Saint Helena",dialCode:"+290",flag1x1:"/assets/flags/sh.svg"},{iso2:"KN",name:"Saint Kitts and Nevis",dialCode:"+1869",flag1x1:"/assets/flags/kn.svg"},{iso2:"LC",name:"Saint Lucia",dialCode:"+1758",flag1x1:"/assets/flags/lc.svg"},{iso2:"MF",name:"Saint Martin (French Part)",dialCode:"+590",flag1x1:"/assets/flags/mf.svg"},{iso2:"PM",name:"Saint Pierre and Miquelon",dialCode:"+508",flag1x1:"/assets/flags/pm.svg"},{iso2:"VC",name:"Saint Vincent and the Grenadines",dialCode:"+1784",flag1x1:"/assets/flags/vc.svg"},{iso2:"WS",name:"Samoa",dialCode:"+685",flag1x1:"/assets/flags/ws.svg"},{iso2:"SM",name:"San Marino",dialCode:"+378",flag1x1:"/assets/flags/sm.svg"},{iso2:"ST",name:"Sao Tome and Principe",dialCode:"+239",flag1x1:"/assets/flags/st.svg"},{iso2:"SA",name:"Saudi Arabia",dialCode:"+966",flag1x1:"/assets/flags/sa.svg"},{iso2:"SN",name:"Senegal",dialCode:"+221",flag1x1:"/assets/flags/sn.svg"},{iso2:"RS",name:"Serbia",dialCode:"+381",flag1x1:"/assets/flags/rs.svg"},{iso2:"SC",name:"Seychelles",dialCode:"+248",flag1x1:"/assets/flags/sc.svg"},{iso2:"SL",name:"Sierra Leone",dialCode:"+232",flag1x1:"/assets/flags/sl.svg"},{iso2:"SG",name:"Singapore",dialCode:"+65",flag1x1:"/assets/flags/sg.svg"},{iso2:"SX",name:"Sint Maarten",dialCode:"+1721",flag1x1:"/assets/flags/sx.svg"},{iso2:"SK",name:"Slovakia",dialCode:"+421",flag1x1:"/assets/flags/sk.svg"},{iso2:"SI",name:"Slovenia",dialCode:"+386",flag1x1:"/assets/flags/si.svg"},{iso2:"SB",name:"Solomon Islands",dialCode:"+677",flag1x1:"/assets/flags/sb.svg"},{iso2:"SO",name:"Somalia",dialCode:"+252",flag1x1:"/assets/flags/so.svg"},{iso2:"ZA",name:"South Africa",dialCode:"+27",flag1x1:"/assets/flags/za.svg"},{iso2:"KR",name:"South Korea",dialCode:"+82",flag1x1:"/assets/flags/kr.svg"},{iso2:"SS",name:"South Sudan",dialCode:"+211",flag1x1:"/assets/flags/ss.svg"},{iso2:"ES",name:"Spain",dialCode:"+34",flag1x1:"/assets/flags/es.svg"},{iso2:"LK",name:"Sri Lanka",dialCode:"+94",flag1x1:"/assets/flags/lk.svg"},{iso2:"SD",name:"Sudan",dialCode:"+249",flag1x1:"/assets/flags/sd.svg"},{iso2:"SR",name:"Suriname",dialCode:"+597",flag1x1:"/assets/flags/sr.svg"},{iso2:"SJ",name:"Svalbard and Jan Mayen",dialCode:"+47",flag1x1:"/assets/flags/sj.svg"},{iso2:"SZ",name:"Swaziland",dialCode:"+268",flag1x1:"/assets/flags/sz.svg"},{iso2:"SE",name:"Sweden",dialCode:"+46",flag1x1:"/assets/flags/se.svg"},{iso2:"CH",name:"Switzerland",dialCode:"+41",flag1x1:"/assets/flags/ch.svg"},{iso2:"SY",name:"Syria",dialCode:"+963",flag1x1:"/assets/flags/sy.svg"},{iso2:"TW",name:"Taiwan",dialCode:"+886",flag1x1:"/assets/flags/tw.svg"},{iso2:"TJ",name:"Tajikistan",dialCode:"+992",flag1x1:"/assets/flags/tj.svg"},{iso2:"TZ",name:"Tanzania",dialCode:"+255",flag1x1:"/assets/flags/tz.svg"},{iso2:"TH",name:"Thailand",dialCode:"+66",flag1x1:"/assets/flags/th.svg"},{iso2:"TL",name:"Timor-Leste",dialCode:"+670",flag1x1:"/assets/flags/tl.svg"},{iso2:"TG",name:"Togo",dialCode:"+228",flag1x1:"/assets/flags/tg.svg"},{iso2:"TK",name:"Tokelau",dialCode:"+690",flag1x1:"/assets/flags/tk.svg"},{iso2:"TO",name:"Tonga",dialCode:"+676",flag1x1:"/assets/flags/to.svg"},{iso2:"TT",name:"Trinidad and Tobago",dialCode:"+1868",flag1x1:"/assets/flags/tt.svg"},{iso2:"TA",name:"Tristan da Cunha",dialCode:"+290",flag1x1:"/assets/flags/ta.svg"},{iso2:"TN",name:"Tunisia",dialCode:"+216",flag1x1:"/assets/flags/tn.svg"}
5424,{iso2:"TR",name:"Turkey",dialCode:"+90",flag1x1:"/assets/flags/tr.svg"},{iso2:"TM",name:"Turkmenistan",dialCode:"+993",flag1x1:"/assets/flags/tm.svg"},{iso2:"TC",name:"Turks and Caicos Islands",dialCode:"+1649",flag1x1:"/assets/flags/tc.svg"},{iso2:"TV",name:"Tuvalu",dialCode:"+688",flag1x1:"/assets/flags/tv.svg"},{iso2:"UG",name:"Uganda",dialCode:"+256",flag1x1:"/assets/flags/ug.svg"},{iso2:"UA",name:"Ukraine",dialCode:"+380",flag1x1:"/assets/flags/ua.svg"},{iso2:"AE",name:"United Arab Emirates",dialCode:"+971",flag1x1:"/assets/flags/ae.svg"},{iso2:"GB",name:"United Kingdom",dialCode:"+44",flag1x1:"/assets/flags/gb.svg"},{iso2:"US",name:"United States",dialCode:"+1",flag1x1:"/assets/flags/us.svg"},{iso2:"UY",name:"Uruguay",dialCode:"+598",flag1x1:"/assets/flags/uy.svg"},{iso2:"UZ",name:"Uzbekistan",dialCode:"+998",flag1x1:"/assets/flags/uz.svg"},{iso2:"VU",name:"Vanuatu",dialCode:"+678",flag1x1:"/assets/flags/vu.svg"},{iso2:"VE",name:"Venezuela",dialCode:"+58",flag1x1:"/assets/flags/ve.svg"},{iso2:"VN",name:"Vietnam",dialCode:"+84",flag1x1:"/assets/flags/vn.svg"},{iso2:"VG",name:"Virgin Islands, British",dialCode:"+1284",flag1x1:"/assets/flags/vg.svg"},{iso2:"VI",name:"Virgin Islands, U.S.",dialCode:"+1340",flag1x1:"/assets/flags/vi.svg"},{iso2:"WF",name:"Wallis and Futuna",dialCode:"+681",flag1x1:"/assets/flags/wf.svg"},{iso2:"EH",name:"Western Sahara",dialCode:"+212",flag1x1:"/assets/flags/eh.svg"},{iso2:"YE",name:"Yemen",dialCode:"+967",flag1x1:"/assets/flags/ye.svg"},{iso2:"ZM",name:"Zambia",dialCode:"+260",flag1x1:"/assets/flags/zm.svg"},{iso2:"ZW",name:"Zimbabwe",dialCode:"+263",flag1x1:"/assets/flags/zw.svg"}];let bi="/assets/flags";function fi(e){bi=e}function vi(e){const t="/assets/flags";if(!e)return e;if(e.startsWith(t)){return function(e=""){if(!bi||"/assets/flags"===bi){const e=window.PushWebComponents?.config;e?.flagBasePath&&fi(e.flagBasePath)}return bi.replace(/\/$/,"")+(e?`/${e.replace(/^\//,"")}`:"")}(e.slice(13).replace(/^\//,""))}return e}const yi=[qt,te`
5425    /* Main container */
5426    .input {
5427        background-color: rgb(from var(--pu-input-color-background, hsl(0 0% 99.5%)) r g b / alpha);
5428        border: solid var(--pu-input-border-width, 0.0625em)
5429            rgb(
5430                from var(--pu-input-border-color, hsl(240, 5%, 65%)) r g b /
5431                    calc(alpha * var(--pu-input-opacity-border, 1))
5432            );
5433        border-radius: var(--pu-input-border-radius, var(--pu-border-radius, 0.25em));
5434        height: var(--pu-size-height);
5435        overflow: hidden;
5436        width: 100%;
5437        cursor: text;
5438    }
5439
5440    .input__wrapper {
5441        display: inline-flex;
5442        align-items: center;
5443        position: relative;
5444        width: 100%;
5445        height: 100%;
5446    }
5447
5448    .dial-code__container {
5449        flex: 0 1 auto;
5450        position: absolute;
5451        top: 0;
5452        bottom: 0;
5453        left: 0;
5454        padding: 0 0.5em;
5455    }
5456
5457    .dial-code__placeholder {
5458        font-size: var(--pu-flag-icon-font-size);
5459    }
5460
5461    .dial-code__flag {
5462        display: flex;
5463        gap: 0.25em;
5464        align-items: center;
5465        height: 100%;
5466    }
5467
5468    .dial-code__flag-image {
5469        aspect-ratio: 1 / 1;
5470        height: var(--pu-flag-icon-image-size);
5471        object-fit: contain;
5472        object-position: center;
5473        display: block;
5474        border-radius: var(--pu-border-radius-full, 9999px);
5475    }
5476
5477    .dial-code__select {
5478        position: absolute;
5479        top: 0;
5480        left: 0;
5481        opacity: 0;
5482        height: 100%;
5483        width: 100%;
5484        cursor: pointer;
5485    }
5486
5487    .input__container {
5488        flex: 1 0 auto;
5489        padding-left: 3em;
5490    }
5491    .input__container--dial-code-disabled {
5492        padding-left: 1.75em;
5493    }
5494
5495    .input:hover:not(.input--disabled) {
5496        color: rgb(from var(--pu-input-color-foreground-hover, inherit) r g b / alpha);
5497        background-color: rgb(from var(--pu-input-color-background-hover, hsl(240, 5%, 96%)) r g b / alpha);
5498        border-color: rgb(from var(--pu-input-border-color-hover, hsl(240, 4%, 46%)) r g b / alpha);
5499    }
5500
5501    .input.input--focused:not(.input--disabled) {
5502        background-color: rgb(from var(--pu-color-focus-background) r g b / alpha);
5503        border-color: rgb(from var(--pu-color-focus-border) r g b / alpha);
5504        box-shadow:
5505            0 0 0 0.0625em rgb(from var(--pu-color-focus-background) r g b / alpha),
5506            0 0 0 0.25em rgb(from var(--pu-color-focus-ring, hsl(213.1 93.9% 67.8%)) r g b / alpha);
5507    }
5508
5509    /* Input field */
5510    .input__control {
5511        appearance: none;
5512        background: inherit;
5513        color: rgb(from var(--pu-input-color-foreground, inherit) r g b / alpha);
5514        border: none;
5515        flex: 1 1 auto;
5516        font-family: inherit;
5517        font-size: var(--pu-text-size);
5518        height: calc(var(--pu-size-height, 3em) - var(--pu-input-border-width, 0.0625em) * 2);
5519        letter-spacing: var(--pu-input-font-tracking, 0.05em);
5520        padding: 0 var(--pu-space-padding);
5521        cursor: inherit;
5522        width: 100%;
5523    }
5524
5525    .input__control::placeholder {
5526        color: rgb(from var(--pu-input-placeholder-color-foreground, hsl(240, 4%, 46%)) r g b / alpha);
5527    }
5528    .input__control:hover {
5529        color: rgb(from var(--pu-input-color-foreground-hover, inherit) r g b / alpha);
5530    }
5531    .input__control:focus {
5532        outline: none;
5533    }
5534`,te`
5535    /* State API Classes */
5536    .input--disabled {
5537        background-color: rgb(from var(--pu-input-color-background-disabled, hsl(240, 5%, 96%)) r g b / alpha);
5538        border-color: rgb(from var(--pu-input-border-color-disabled, hsl(240, 5%, 84%), inherit) r g b / alpha);
5539        color: rgb(from var(--pu-input-color-foreground-disabled, inherit) r g b / alpha);
5540        cursor: not-allowed;
5541        opacity: 0.5;
5542    }
5543
5544    /* Size API Classes */
5545    .input--small {
5546        --pu-text-size: var(--pu-input-font-size, var(--pu-text-body-size-xs, 0.75em));
5547        --pu-size-height: var(--pu-input-size-height, var(--pu-space-800, 2em));
5548        --pu-space-padding: var(--pu-input-space-inline-padding, var(--pu-space-300, 0.75em));
5549        --pu-border-radius: var(--pu-input-border-radius, var(--pu-border-radius-050, 0.125em));
5550        --pu-icon-font-size: var(--pu-input-icon-font-size, var(--pu-text-body-size-sm, 0.875em));
5551        --pu-flag-icon-font-size: var(--pu-input-flag-icon-font-size, 1em);
5552        --pu-flag-icon-image-size: var(--pu-input-flag-icon-image-size, 1em);
5553    }
5554    .input--medium {
5555        --pu-text-size: var(--pu-input-font-size, var(--pu-text-body-size-sm, 0.875em));
5556        --pu-size-height: var(--pu-space-1000, 2.5em);
5557        --pu-space-padding: var(--pu-input-space-inline-padding, var(--pu-space-400, 1em));
5558        --pu-border-radius: var(--pu-input-border-radius, var(--pu-border-radius-100, 0.25em));
5559        --pu-icon-font-size: var(--pu-input-icon-font-size, var(--pu-text-body-size-md, 1em));
5560        --pu-flag-icon-font-size: var(--pu-input-flag-icon-font-size, 1.5em);
5561        --pu-flag-icon-image-size: var(--pu-input-flag-icon-image-size, 1.5em);
5562    }
5563    .input--large {
5564        --pu-text-size: var(--pu-input-font-size, var(--pu-text-body-size-md, 1em));
5565        --pu-size-height: var(--pu-input-size-height, var(--pu-space-1200, 3em));
5566        --pu-space-padding: var(--pu-input-space-inline-padding, var(--pu-space-500, 1.25em));
5567        --pu-border-radius: var(--pu-input-border-radius, var(--pu-border-radius-200, 0.5em));
5568        --pu-icon-font-size: var(--pu-input-icon-font-size, var(--pu-text-body-size-md, 1em));
5569        --pu-flag-icon-font-size: var(--pu-input-flag-icon-font-size, 1.75em);
5570        --pu-flag-icon-image-size: var(--pu-input-flag-icon-image-size, 1.75em);
5571    }
5572`];class wi extends Ue{constructor(){super(...arguments),this.formControlController=new Et(this,{assumeInteractionOn:["pu-blur","pu-input"]}),this.autocomplete="tel",this.inputmode="tel",this.type="tel",this.size="medium",this.name="mobilephone",this.iso="ZZ",this.phoneValue="",this.form="",this.label="",this.labelHidden=!1,this.helpText="",this.placeholder="",this.pattern="",this.readonly=!1,this.required=!1,this.dialCodeDisabled=!1,this.disabled=!1,this.autofocus=!1,this.hasFocus=!1,this.hasSlotController=new Xe(this,"label","help-text"),this.formElement=null,this.handleFormData=e=>{if(!this.disabled&&this.isConnected){const t=this.getDialCode(this.iso);t&&!e.formData.has("mobilephone_country_code")&&e.formData.append("mobilephone_country_code",t)}}}get validity(){return this.input.validity}get validationMessage(){return this.input.validationMessage}get value(){return this.phoneValue}set value(e){this.phoneValue=e}firstUpdated(){this.formControlController.updateValidity(),this.updateHiddenCountryCodeInput(),this.setupFormDataHandler()}updated(e){super.updated(e),e.has("iso")&&this.updateHiddenCountryCodeInput();this.formControlController.getForm()!==this.formElement&&this.setupFormDataHandler()}disconnectedCallback(){super.disconnectedCallback(),this.cleanupFormDataHandler()}setupFormDataHandler(){const e=this.formControlController.getForm();e&&e!==this.formElement&&(this.cleanupFormDataHandler(),e.addEventListener("formdata",this.handleFormData),this.formElement=e)}cleanupFormDataHandler(){this.formElement&&(this.formElement.removeEventListener("formdata",this.handleFormData),this.formElement=null)}getCountryEntry(e){return mi.find((t=>t.iso2===e.toUpperCase()))}getDialCode(e){const t=this.getCountryEntry(e);return t?.dialCode||"+"}updateHiddenCountryCodeInput(){this.hiddenCountryCodeInput&&(this.hiddenCountryCodeInput.value=this.getDialCode(this.iso))}
5572handleBlur(){this.hasFocus=!1,this.emit("pu-blur")}handleFocus(){this.hasFocus=!0,this.emit("pu-focus")}handleInput(){this.phoneValue=this.input.value,this.formControlController.updateValidity(),this.emit("pu-input")}handleInvalid(e){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(e)}handleChange(){this.phoneValue=this.input.value,this.emit("pu-change")}handleDialCodeChange(){const e=this.dialCodeSelect.value,t=this.getDialCode(e);this.iso=e,this.updateHiddenCountryCodeInput(),this.emit("pu-change-dial-code",{detail:{iso:e,code:t}})}handleKeyDown(e){const t=e.metaKey||e.ctrlKey||e.shiftKey||e.altKey;"Enter"!==e.key||t||setTimeout((()=>{e.defaultPrevented||e.isComposing||this.formControlController.submit()}))}checkValidity(){return this.input.checkValidity()}reportValidity(){return this.input.reportValidity()}setCustomValidity(e){this.input.setCustomValidity(e),this.formControlController.updateValidity()}getForm(){return this.formControlController.getForm()}getValue(){if(this.input)return this.input.value}setValue(e){e&&(this.phoneValue=e)}renderFlag(e,t){if("ZZ"===e)return $`<span class="dial-code__placeholder">🌐</span>`;if(t?.flag1x1){const e=vi(t.flag1x1);return $`<img
5573                class="dial-code__flag-image"
5574                src=${Ze(e)}
5575                alt=${`Country flag ${t.iso2}`} />`}return $`<span class="dial-code__placeholder">🌐</span>`}render(){const e=this.hasSlotController.test("label"),t=this.hasSlotController.test("help-text"),o=!!this.label||!!e,i=this.labelHidden&&this.required?`* ${this.placeholder}`:this.placeholder,r=!!this.helpText||!!t,a=this.getCountryEntry(this.iso),s=this.getDialCode(this.iso);return $`
5576            <input
5577                type="hidden"
5578                name="mobilephone_country_code"
5579                .value="${s}" />
5580            <div
5581                part="base input"
5582                class="${J({"form-control":!0,"form-control--small":"small"===this.size,"form-control--medium":"medium"===this.size,"form-control--large":"large"===this.size,"form-control--has-label":o,"form-control--hide-label":this.labelHidden,"form-control--has-help-text":r})}">
5583                <label
5584                    part="label"
5585                    class="${J({"form-control__label":!0,"form-control__label--visually-hidden":this.labelHidden})}"
5586                    for="input"
5587                    aria-hidden=${o?"false":"true"}>
5588                    <slot name="label">${this.label}</slot>
5589                </label>
5590                <div class="form-control__input">
5591                    <div
5592                        part="input"
5593                        class=${J({input:!0,"input--small":"small"===this.size,"input--medium":"medium"===this.size,"input--large":"large"===this.size,"input--disabled":this.disabled,"input--focused":this.hasFocus,"input--empty":!this.phoneValue,"input--has-label":o,"input--hide-label":this.labelHidden})}>
5594                        <div class="input__wrapper">
5595                            <div class="dial-code__container">
5596                                <div class="dial-code__flag">
5597                                    ${this.renderFlag(this.iso,a)}
5598                                    ${this.dialCodeDisabled?null:$`
5599                                              <pu-icon
5600                                                  name="chevron-down"
5601                                                  size="small"></pu-icon>
5602                                          `}
5603                                </div>
5604                                <select
5605                                    class="dial-code__select"
5606                                    aria-label="Phone number country"
5607                                    name="mobilephone_country_code"
5608                                    .value="${this.iso}"
5609                                    ?disabled="${this.disabled||this.dialCodeDisabled}"
5610                                    @change=${this.handleDialCodeChange}>
5611                                    ${mi.map((e=>$`<option value="${e.iso2}">${e.name} ${e.dialCode}</option>`))}
5612                                </select>
5613                            </div>
5614                            <div
5615                                class="${J({input__container:!0,"input__container--dial-code-disabled":this.dialCodeDisabled})}">
5616                                <input
5617                                    part="control"
5618                                    class="input__control"
5619                                    id="input"
5620                                    inputmode="${this.inputmode}"
5621                                    autocomplete=${Ze(this.autocomplete)}
5622                                    type="${this.type}"
5623                                    .value="${this.phoneValue}"
5624                                    name="${this.name||"mobilephone"}"
5625                                    pattern=${Ze(this.pattern||void 0)}
5626                                    placeholder="${i}"
5627                                    ?disabled="${this.disabled}"
5628                                    ?readonly=${this.readonly}
5629                                    ?required="${this.required}"
5630                                    ?autofocus=${this.autofocus}
5631                                    @change=${this.handleChange}
5632                                    @input=${this.handleInput}
5633                                    @invalid=${this.handleInvalid}
5634                                    @keydown=${this.handleKeyDown}
5635                                    @focus=${this.handleFocus}
5636                                    @blur=${this.handleBlur} />
5637                            </div>
5638                        </div>
5639                    </div>
5640                </div>
5641                <div
5642                    part="help"
5643                    id="help-text"
5644                    class="form-control__help-text"
5645                    aria-hidden=${r?"false":"true"}>
5646                    <slot name="help-text">${this.helpText}</slot>
5647                </div>
5648            </div>
5649        `}}wi.styles=[Me,yi],wi.dependencies={"pu-icon":Ge},i([ke()],wi.prototype,"autocomplete",void 0),i([ke()],wi.prototype,"inputmode",void 0),i([ke()],wi.prototype,"type",void 0),i([ke({reflect:!0})],wi.prototype,"size",void 0),i([ke()],wi.prototype,"name",void 0),i([ke()],wi.prototype,"iso",void 0),i([ke()],wi.prototype,"phoneValue",void 0),i([ke({reflect:!0})],wi.prototype,"form",void 0),i([ke()],wi.prototype,"label",void 0),i([ke({type:Boolean})],wi.prototype,"labelHidden",void 0),i([ke()],wi.prototype,"helpText",void 0),i([ke()],wi.prototype,"placeholder",void 0),i([ke()],wi.prototype,"pattern",void 0),i([ke({type:Boolean})],wi.prototype,"readonly",void 0),i([ke({type:Boolean})],wi.prototype,"required",void 0),i([ke({type:Boolean})],wi.prototype,"dialCodeDisabled",void 0),i([ke({type:Boolean,reflect:!0})],wi.prototype,"disabled",void 0),i([ke({type:Boolean})],wi.prototype,"autofocus",void 0),i([Ce()],wi.prototype,"hasFocus",void 0),i([Se('input[type="tel"]')],wi.prototype,"input",void 0),i([Se("select")],wi.prototype,"dialCodeSelect",void 0),i([Se('input[name="mobilephone_country_code"]')],wi.prototype,"hiddenCountryCodeInput",void 0),wi.define("pu-phone-input");const xi=[te`
5650    /* Image container foundation */
5651    .image-container {
5652        height: 100%;
5653        width: 100%;
5654    }
5655
5656    /* Image element foundation */
5657    .image {
5658        display: block;
5659        height: auto;
5660        max-width: 100%;
5661    }
5662
5663    /* Placeholder foundation */
5664    .placeholder {
5665        overflow: hidden;
5666        height: 100%;
5667        width: 100%;
5668        min-width: var(--pu-image-placeholder-size, 7em);
5669    }
5670`,kt,te`
5671    /* Value-Based Property API - Image fit behavior */
5672    .image-fit .image {
5673        height: 100%;
5674        width: 100%;
5675        max-width: initial;
5676    }
5677
5678    .image-fit--cover .image {
5679        object-fit: cover;
5680    }
5681
5682    .image-fit--contain .image {
5683        object-fit: contain;
5684    }
5685
5686    .image-fit--adapt .image {
5687        width: auto;
5688    }
5689`];class _i extends Ue{constructor(){super(...arguments),this.alt="",this.width=100,this.height=100,this.fit="contain",this.load="lazy"}getAspectRatio(){return{default:(this.width/this.height).toString(),small:void 0}}render(){return $`
5690            <div
5691                part="base image"
5692                class="${J({"image-container":!0,"image-fit":"adapt"!==this.fit,[`image-fit--${this.fit}`]:!0}
5692)}"
5693            >
5694                ${this.src?$`
5695                          <img
5696                              part="image"
5697                              class="image"
5698                              width="${this.width}"
5699                              height="${this.height}"
5700                              src="${Ze(this.src)}"
5701                              srcset="${Ze(this.srcSet)}"
5702                              sizes="${Ze(this.sizes)}"
5703                              alt="${this.alt}"
5704                              loading="${this.load}"
5705                              fetchpriority=${Ze(this.prefetch)}
5706                          />
5707                      `:$`
5708                          <div
5709                              part="placeholder"
5710                              class="image placeholder image--wide"
5711                          >
5712                              <div
5713                                  part="content"
5714                                  class="placeholder-inner"
5715                              >
5716                                  <svg
5717                                      class="icon"
5718                                      xmlns="http://www.w3.org/2000/svg"
5719                                      height="1em"
5720                                      viewBox="0 0 576 512"
5721                                      fill="currentcolor"
5722                                  >
5723                                      <path
5724                                          d="M70.5 138.1C31 172.2 16 219.1 16 272c0 52 18.4 91.6 46.9 118.3C91.6 417.2 131.5 432 176 432h8.4c18.2 0 34.8-10.3 42.9-26.5l23.2-46.3C257.6 345 272.1 336 288 336s30.4 9 37.5 23.2l23.2 46.3c8.1 16.3 24.8 26.5 42.9 26.5H400c44.5 0 84.4-14.8 113.1-41.7C541.6 363.6 560 324 560 272c0-52.9-15-99.8-54.5-133.9C465.6 103.6 398.1 80 288 80s-177.6 23.6-217.5 58.1zM0 272C0 160 64 64 288 64s288 96 288 208s-80 176-176 176h-8.4c-24.2 0-46.4-13.7-57.2-35.4l-23.2-46.3c-4.4-8.8-13.3-14.3-23.2-14.3s-18.8 5.5-23.2 14.3l-23.2 46.3c-10.8 21.7-33 35.4-57.2 35.4H176C80 448 0 384 0 272zm160 32a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0-112a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm304 64a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-112 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z"
5725                                      />
5726                                  </svg>
5727                              </div>
5728                          </div>
5729                      `}
5730            </div>
5731        `}}_i.styles=[Me,xi],i([ke()],_i.prototype,"alt",void 0),i([ke()],_i.prototype,"src",void 0),i([ke()],_i.prototype,"srcSet",void 0),i([ke()],_i.prototype,"sizes",void 0),i([ke({type:Number})],_i.prototype,"width",void 0),i([ke({type:Number})],_i.prototype,"height",void 0),i([ke()],_i.prototype,"fit",void 0),i([ke({type:String})],_i.prototype,"load",void 0),i([ke()],_i.prototype,"prefetch",void 0),_i.define("pu-image"),Wo.define("pu-link");const ki=[te`
5732    :host([noWrap]) {
5733        display: block;
5734        width: 100%;
5735    }
5736    .link-group {
5737        display: flex;
5738        flex-wrap: wrap;
5739        width: 100%;
5740    }
5741    @media (min-width: 48em) {
5742        .link-group {
5743            gap: var(--pu-group-space-gap, var(--gap-x, 1em));
5744        }
5745    }
5746    @media (max-width: 47.9975em) {
5747        .link-group {
5748            gap: var(--pu-group-space-gap, var(--gap-x-narrow, 1em));
5749        }
5750    }
5751`,gt,bt,mt,ft,te`
5752    /* No Wrap scrollable when overflowed */
5753    .group--no-wrap {
5754        flex-wrap: nowrap;
5755        justify-content: start;
5756        overflow-y: auto;
5757        max-width: 100%;
5758        scrollbar-color: rgb(from var(--pu-color-foreground, rgb(0, 0, 0, 0.1)) r g b / 0.1)
5759            rgb(from var(--pu-color-foreground, rgb(0, 0, 0, 0.05)) r g b / 0.05);
5760        scrollbar-width: thin;
5761        padding: 0.5em 0;
5762    }
5763
5764    .group--no-wrap ::slotted(:last-child) {
5765        margin-right: 1.5em;
5766    }
5767
5768    /* Horizontal Scrolling Behavior */
5769    @media (hover: none) {
5770        .group--no-wrap::-webkit-scrollbar {
5771            display: none;
5772        }
5773    }
5774    @media (hover: hover) {
5775        .group--no-wrap::-webkit-scrollbar {
5776            height: 0.25em;
5777        }
5778        .group--no-wrap::-webkit-scrollbar-track {
5779            background: rgb(from var(--pu-color-foreground, rgb(0, 0, 0, 0.05)) r g b / 0.05);
5780            border-radius: 0.75em;
5781        }
5782        .group--no-wrap::-webkit-scrollbar-thumb {
5783            background: rgb(from var(--pu-color-foreground, rgb(0, 0, 0, 0.1)) r g b / 0.1);
5784            border-radius: 0.75em;
5785        }
5786    }
5787
5788    /* Boolean Property API - Stack Behavior */
5789    @media screen and (max-width: 48em) {
5790        .group--narrow-stack:not(.group--no-wrap) {
5791            flex-direction: column;
5792        }
5793    }
5794    @media screen and (min-width: 48.06em) {
5795        .group--stack:not(.group--no-wrap) {
5796            flex-direction: column;
5797        }
5798    }
5799`];class Ci extends Ue{constructor(){super(...arguments),this.noWrap=!1,this.stack=!1,this.stackNarrow=!1,this.isStackedNarrow=()=>this.stackNarrow?"flex-narrow-align--"+this.justifyNarrow:this.justifyNarrow?"flex-narrow-justify--"+this.justifyNarrow:"flex-narrow-justify--"+this.justify}styles(){let e={};return this.spacing&&(e={...e,"--gap-x":parseInt(this.spacing)/16+"em"}),this.spacingNarrow?e={...e,"--gap-x-narrow":parseInt(this.spacingNarrow)/16+"em"}:this.spacing&&(e={...e,"--gap-x-narrow":parseInt(this.spacing)/16+"em"}),e}render(){const e=this.stack?`flex-align--${this.justify}`:`flex-justify--${this.justify}`,t=this.isStackedNarrow();return $`
5800            <div
5801                part="base link-group"
5802                class="${J({"link-group":!0,"group--no-wrap":this.noWrap,"group--stack":this.stack,"group--narrow-stack":this.stackNarrow,[`${e}`]:!0,[`${t}`]:t})}"
5803                style="${He(this.styles())}"
5804            >
5805                <slot></slot>
5806            </div>
5807        `}}Ci.styles=[Me,ki],i([ke()],Ci.prototype,"spacing",void 0),i([ke()],Ci.prototype,"spacingNarrow",void 0),i([ke()],Ci.prototype,"justify",void 0),i([ke()],Ci.prototype,"justifyNarrow",void 0),i([ke({type:Boolean})],Ci.prototype,"noWrap",void 0),i([ke({type:Boolean})],Ci.prototype,"stack",void 0),i([ke({type:Boolean})],Ci.prototype,"stackNarrow",void 0),Ci.define("pu-link-group");const $i=[te`
5808    :host {
5809        display: block;
5810    }
5811    .placeholder {
5812        display: block;
5813        height: 100%;
5814        width: 100%;
5815        color: var(--pu-skeleton-color-background, 230, 230, 230);
5816    }
5817    @supports (color: rgb(from white r g b)) {
5818        .placeholder {
5819            color: rgb(from var(--pu-skeleton-color-background, rgb(230, 230, 230)) r g b / alpha);
5820        }
5821    }
5822    .logo:not(.logo--show-title) {
5823        font-size: 16px; /* base font size for logo, prevents em scaling issues */
5824    }
5825    .logo {
5826        display: flex;
5827        align-items: center;
5828        color: inherit;
5829        margin: 0;
5830        height: var(--pu-logo-size-height);
5831        line-height: 1;
5832    }
5833    .logo a {
5834        display: block;
5835        color: inherit;
5836        text-decoration: none;
5837        height: 100%;
5838    }
5839    .logo-title:not(.visually-hidden) {
5840        display: inline-block;
5841        font-family: var(
5842            --pu-logo-font-family,
5843            var(--pu-text-heading-family, 'Roboto Serif', Times, 'Times New Roman', Georgia, serif)
5844        );
5845        font-size: var(--pu-logo-font-size, 1.75em);
5846    }
5847
5848    @media only screen and (max-width: 48em) {
5849        .logo {
5850            height: var(--pu-logo-size-height-narrow, calc(var(--pu-logo-size-height, 5em) / 1.25));
5851        }
5852    }
5853`,te`
5854    /* Show Title API Classes */
5855    .logo--show-title {
5856        line-height: inherit;
5857    }
5858    .logo--show-title .logo__image {
5859        display: none;
5860    }
5861    .logo--show-title a {
5862        height: auto;
5863    }
5864    .visually-hidden {
5865        position: absolute !important;
5866        overflow: hidden;
5867        width: 1px;
5868        height: 1px;
5869        margin: -1px;
5870        padding: 0;
5871        border: 0;
5872        clip: rect(0 0 0 0);
5873        word-wrap: normal !important;
5874    }
5875`];class Si extends Ue{constructor(){super(...arguments),this.url="/",this.height=80,this.title="Logo Title",this.alt="",this.titleVisible=!1,this.imgWidth=80,this.imgHeight=80,this.deprecatedPropertyMap=[{old:"showTitle",new:"titleVisible",defaultValue:!1},{old:"imgSrc",new:"src",defaultValue:void 0},{old:"imgSrcSet",new:"srcSet",defaultValue:void 0},{old:"imgSizes",new:"sizes",defaultValue:void 0}]}get showTitle(){return this.titleVisible}set showTitle(e){this._handleDeprecated("showTitle",e)}get imgSrc(){return this.src}set imgSrc(e){this._handleDeprecated("imgSrc",e)}get imgSrcSet(){return this.srcSet}set imgSrcSet(e){this._handleDeprecated("imgSrcSet",e)}get imgSizes(){return this.sizes}set imgSizes(e){this._handleDeprecated("imgSizes",e)}_handleDeprecated(e,t){st(this,e,t,this.deprecatedPropertyMap)}render(){return $`
5876            <h1
5877                part="logo"
5878                class="${J({logo:!0,"logo--show-title":this.titleVisible})}"
5879                style="${He({"--pu-logo-size-height":this.height/16+"em"})}"
5880            >
5881                <a href="${this.url}">
5882                    ${this.src?$` <pu-image
5883                              part="image"
5884                              exportparts="base,image,placeholder,content"
5885                              class="logo__image"
5886                              size="contain"
5887                              alt="${this.alt}"
5888                              src="${Ze(this.src)}"
5889                              width=${this.imgWidth}
5890                              height=${this.imgHeight}
5891                              srcSet="${Ze(this.srcSet)}"
5892                              sizes="${Ze(this.sizes)}"
5893                              lazy="lazy"
5894                          >
5895                          </pu-image>`:$`
5896                              <svg
5897                                  class="logo__image placeholder"
5898                                  xmlns="http://www.w3.org/2000/svg"
5899                                  viewBox="0 0 512 512"
5900                                  role="presentation"
5901                                  aria-hidden="true"
5902                                  focusable="false"
5903                                  fill="currentColor"
5904                              >
5905                                  <path
5906                                      d="M469.33,512H42.67A42.79,42.79,0,0,1,0,469.33V42.67A42.79,42.79,0,0,1,42.67,0H469.33A42.79,42.79,0,0,1,512,42.67V469.33A42.79,42.79,0,0,1,469.33,512Z"
5907                                  />
5908                              </svg>
5909                          `}
5910                    <span
5911                        class="${J({"logo-title":!0,"visually-hidden":!this.titleVisible})}"
5912                    >
5913                        ${this.title}
5914                    </span>
5915                </a>
5916            </h1>
5917        `}}Si.styles=[Me,$i],Si.dependencies={"pu-image":_i},i([ke()],Si.prototype,"url",void 0),i([ke({type:Number})],Si.prototype,"height",void 0),i([ke()],Si.prototype,"title",void 0),i([ke()],Si.prototype,"alt",void 0),i([ke({type:Boolean})],Si.prototype,"titleVisible",void 0),i([ke()],Si.prototype,"src",void 0),i([ke()],Si.prototype,"srcSet",void 0),i([ke()],Si.prototype,"sizes",void 0),i([ke({type:Number})],Si.prototype,"imgWidth",void 0),i([ke({type:Number})],Si.prototype,"imgHeight",void 0),i([ke({type:Boolean})],Si.prototype,"showTitle",null),i([ke()],Si.prototype,"imgSrc",null),i([ke()],Si.prototype,"imgSrcSet",null),i([ke()],Si.prototype,"imgSizes",null),Si.define("pu-logo");class zi{constructor(e){this.listeners=new Map,this.target=e}addEventListener(e,t,o){const i=this.listeners.get(e)||new Set;return this.listeners.set(e,i),i.add(t),this.target.addEventListener(e,t,o),()=>{this.removeEventListener(e,t,o)}}removeEventListener(e,t,o){const i=this.listeners.get(e);i&&(i.delete(t),0===i.size&&this.listeners.delete(e)),this.target.removeEventListener(e,t,o)}dispatchCustomEvent(e,t,o){this.target.dispatchEvent(new CustomEvent(e,{detail:t,...o}))}}class Ai extends Ue{constructor(){super(...arguments),this.mediaId=""}render(){return $`
5918            <div part="base media-gallery">
5919                <slot></slot>
5920            </div>
5921        `}}i([ke()],Ai.prototype,"mediaId",void 0);const Pi=[te`
5922    .media-main {
5923        padding-bottom: var(--pu-grid-gap-y, var(--pu-space-400, 1em));
5924    }
5925    .media-stack {
5926        border: 0.0625em solid rgb(0, 0, 0, 0.1);
5927        position: relative;
5928    }
5929    .media-stack ::slotted(*) {
5930        visibility: hidden;
5931        position: absolute;
5932        top: 0;
5933        left: 0;
5934        width: 100%;
5935        height: 100%;
5936        z-index: 1;
5937    }
5938`,te`
5939    /* Active State API Classes */
5940    .media-stack ::slotted(*[active]) {
5941        visibility: visible;
5942        position: relative;
5943        z-index: 10;
5944    }
5945`];class Ni extends Ue{constructor(){super(),this.mediaEventManager=new zi(this),this._customEventsHandler=e=>{"active-media"===e.type&&this._updateActiveMedia(e.detail.mediaId)},this.mediaEventManager.addEventListener("active-media",this._customEventsHandler)}_updateActiveMedia(e){e&&this._mediaItems.forEach((t=>{t.hasAttribute("active")&&t.removeAttribute("active"),e===t.getAttribute("mediaId")&&t.setAttribute("active","")}))}render(){return $`
5946            <div
5947                part="base media-gallery"
5948                class="media-gallery"
5949            >
5950                <div
5951                    part="main"
5952                    class="media-main"
5953                >
5954                    <div
5955                        part="media"
5956                        class="media-stack"
5957                    >
5958                        <slot name="media"></slot>
5959                    </div>
5960                </div>
5961                <div
5962                    part="thumbnails"
5963                    class="media-thumbnails"
5964                >
5965                    <slot name="thumbnail-slider"></slot>
5966                </div>
5967            </div>
5968        `}}Ni.styles=[Me,Pi],Ni.dependencies={"pu-media":Ai},i([Ae({slot:"media",selector:"pu-media"})],Ni.prototype,"_mediaItems",void 0),i([Ae({slot:"thumbnail-slider",selector:"pu-thumbnail-slider"})],Ni.prototype,"_slideItems",void 0),Ni.define("pu-media-gallery"),Oo.define("pu-media-modal");const Ei=[te`
5969    :host {
5970        display: block;
5971        width: 100%;
5972    }
5973
5974    .media-text {
5975        color: rgb(from var(--pu-media-text-color-foreground, var(--pu-color-foreground)) r g b);
5976        background-image: var(--pu-media-text-color-gradient);
5977        background-color: rgb(from var(--pu-media-text-color-background) r g b / alpha);
5978        border-radius: var(--pu-media-text-border-radius, 0);
5979        border: solid var(--pu-media-text-border-width, 0) rgb(from var(--pu-media-text-border-color) r g b / alpha);
5980        padding: var(--pu-media-text-space-padding, 0);
5981        overflow: hidden;
5982    }
5983
5984    .media-text ::part(content) {
5985        background-color: transparent;
5986    }
5987
5988    .media-text,
5989    .media-text__media {
5990        position: relative;
5991    }
5992
5993    .media-text__media {
5994        padding: var(--pu-media-space-padding);
5995        align-content: center;
5996    }
5997
5998    .media-text__media ::slotted(*) {
5999        display: block;
6000        border-radius: var(--pu-media-border-radius);
6001        overflow: hidden;
6002    }
6003
6004    .media-text__content {
6005        --pu-color-foreground: var(--pu-card-content-color-foreground, var(--pu-media-text-color-foreground));
6006        --pu-color-background: var(--pu-card-content-color-background, var(--pu-media-text-color-background));
6007        --pu-space-padding: var(--pu-card-content-space-padding);
6008        --pu-space-padding-narrow: var(--pu-card-content-space-padding-narrow, var(--pu-card-content-space-padding));
6009        background-color: var(--pu-card-content-color-background, var(--pu-media-text-color-background));
6010        color: var(--pu-card-content-color-foreground, var(--pu-media-text-color-foreground));
6011        display: flex;
6012        width: auto;
6013    }
6014
6015    @media screen and (min-width: 48.06em) {
6016        .media-text__grid {
6017            display: grid;
6018            grid-template-columns: repeat(12, [start] 1fr);
6019        }
6020    }
6021
6022    @media screen and (max-width: 48.06em) {
6023        .media-text,
6024        .media-text__grid {
6025            height: 100%;
6026        }
6027        .media-text__grid {
6028            display: flex;
6029            flex-direction: column;
6030            justify-content: stretch;
6031        }
6032        .media-text__grid > .media-text__content {
6033            display: flex;
6034            flex: 1 0 auto;
6035        }
6036
6037        .media-text__media {
6038            padding: var(--pu-media-space-padding-narrow, var(--pu-media-space-padding));
6039        }
6040    }
6041`,dt,te`
6042    .media-cover .media-text__media ::slotted(*) {
6043        height: 100%;
6044        width: 100%;
6045    }
6046
6047    .media-text__grid.media-height {
6048        overflow: hidden;
6049    }
6050
6051    @media screen and (max-width: 48.06em) {
6052        .media-text__grid.media-height {
6053            display: flex;
6054            flex-direction: column;
6055            justify-content: stretch;
6056        }
6057        .media-text__grid.media-height > .media-text__content {
6058            display: flex;
6059            flex: 1 0 auto;
6060        }
6061    }
6062
6063    @media screen and (min-width: 48.06em) {
6064        .media-text__grid.media-height {
6065            display: flex;
6066        }
6067        .media-text__grid.media-height .media-text__media {
6068            flex: 1 1 40%;
6069        }
6070        .media-text__grid.media-height .media-text__content {
6071            flex: 1 1 60%;
6072        }
6073    }
6074
6075    /* Only apply fixed heights on desktop - mobile should flow naturally */
6076    @media screen and (min-width: 48.06em) {
6077        .media-text__grid.media-height--xsmall,
6078        .media-text__grid.media-height--small,
6079        .media-text__grid.media-height--medium,
6080        .media-text__grid.media-height--large,
6081        .media-text__grid.media-height--xlarge,
6082        .media-text__grid.media-height--2xlarge {
6083            height: var(--pu-banner-media-size-height);
6084        }
6085    }
6086
6087    @media screen and (max-width: 48.06em) {
6088        .media-text__grid.media-right div:first-child {
6089            order: 1;
6090        }
6091        .media-text__grid.media-right div:last-child {
6092            order: 2;
6093        }
6094    }
6095
6096    /* Desktop: apply media-right positioning */
6097    @media screen and (min-width: 48.06em) {
6098        .media-text__grid.media-right div:first-child {
6099            order: 2;
6100        }
6101        .media-text__grid.media-right div:last-child {
6102            order: 1;
6103        }
6104        .media-right .media-text__container {
6105            flex-direction: row-reverse;
6106        }
6107    }
6108
6109    @media screen and (min-width: 48.06em) {
6110        .media-text__grid--fill .media-text__media {
6111            grid-column: start / span 12;
6112        }
6113        .media-text__grid--2xlarge .media-text__media {
6114            grid-column: start / span 8;
6115        }
6116        .media-text__grid--xlarge .media-text__media {
6117            grid-column: start / span 7;
6118        }
6119        .media-text__grid--large .media-text__media {
6120            grid-column: start / span 6;
6121        }
6122        .media-text__grid--medium .media-text__media {
6123            grid-column: start / span 5;
6124        }
6125        .media-text__grid--small .media-text__media {
6126            grid-column: start / span 4;
6127        }
6128        .media-text__grid--xsmall .media-text__media {
6129            grid-column: start / span 3;
6130        }
6131
6132        .media-text__grid--2xlarge.media-right .media-text__media {
6133            grid-column: span 7;
6134        }
6135        .media-text__grid--xlarge.media-right .media-text__media {
6136            grid-column: span 7;
6137        }
6138        .media-text__grid--large.media-right .media-text__media {
6139            grid-column: span 6;
6140        }
6141        .media-text__grid--medium.media-right .media-text__media {
6142            grid-column: span 5;
6143        }
6144        .media-text__grid--small.media-right .media-text__media {
6145            grid-column: span 4;
6146        }
6147        .media-text__grid--xsmall.media-right .media-text__media {
6148            grid-column: span 3;
6149        }
6150
6151        .media-text__grid--fill .media-text__content {
6152            grid-column: span 12;
6153        }
6154        .media-text__grid--2xlarge .media-text__content {
6155            grid-column: span 4;
6156        }
6157        .media-text__grid--xlarge .media-text__content {
6158            grid-column: span 5;
6159        }
6160        .media-text__grid--large .media-text__content {
6161            grid-column: span 6;
6162        }
6163        .media-text__grid--medium .media-text__content {
6164            grid-column: span 7;
6165        }
6166        .media-text__grid--small .media-text__content {
6167            grid-column: span 8;
6168        }
6169        .media-text__grid--xsmall .media-text__content {
6170            grid-column: span 9;
6171        }
6172
6173        .media-text__grid--2xlarge.media-right .media-text__content {
6174            grid-column: start / span 4;
6175        }
6176        .media-text__grid--xlarge.media-right .media-text__content {
6177            grid-column: start / span 5;
6178        }
6179        .media-text__grid--large.media-right .media-text__content {
6180            grid-column: start / span 6;
6181        }
6182        .media-text__grid--medium.media-right .media-text__content {
6183            grid-column: start / span 7;
6184        }
6185        .media-text__grid--small.media-right .media-text__content {
6186            grid-column: start / span 8;
6187        }
6188        .media-text__grid--xsmall.media-right .media-text__content {
6189            grid-column: start / span 9;
6190        }
6191    }
6192`];class Bi extends Ue{constructor(){super(...arguments),this.hasSlotController=new Xe(this,"media","content"),this.sizeMode="width",this.mediaHeight="adapt",this.mediaWidth="medium",this.mediaCover=!1,this.mediaOnRight=!1,this.align="center",this.alignNarrow="center",this.justify="center",this.justifyNarrow="center",this.adaptivePadding=!1}render(){const e=this.hasSlotController.test("media"),t=this.hasSlotController.test("content");return $`
6193            <div
6194                part="base media-text"
6195                class="media-text"
6196            >
6197                <div
6198                    part="grid"
6199                    class="${J({"media-text__grid":!0,"media-height":"height"===this.sizeMode,"media-right":this.mediaOnRight,[`media-text__grid--${this.mediaWidth}`]:e&&"width"===this.sizeMode,"media-text__grid--fill":!e&&"width"===this.sizeMode,[`media-height--${this.mediaHeight}`]:"height"===this.sizeMode,"media-cover":this.mediaCover})}"
6200                    style="${He({"--pu-media-space-padding":this.mediaPadding?parseInt(this.mediaPadding)/16+"em":void 0,"--pu-media-space-padding-narrow":this.mediaPaddingNarrow?parseInt(this.mediaPaddingNarrow)/16+"em":void 0})}"
6201                >
6202                    ${e?$`
6203                              <div
6204                                  part="media"
6205                                  class="media-text__media"
6206                              >
6207                                  <slot name="media"></slot>
6208                              </div>
6209                          `:z}
6210                    ${t?$`
6211                              <div
6212                                  part="content"
6213                                  class="media-text__content"
6214                                  style="${He({"--pu-space-padding":this.contentPadding?parseInt(this.contentPadding)/16+"em":void 0,"--pu-space-padding-narrow":this.contentPaddingNarrow?parseInt(this.contentPaddingNarrow)/16+"em":void 0})}"
6215                              >
6216                                  <pu-box
6217                                      part="container"
6218                                      exportparts="base:caption,content:caption-content"
6219                                      class="media-text__content-inner"
6220                                      ?adaptivePadding=${this.adaptivePadding}
6221                                      width="fill"
6222                                  >
6223                                      <pu-vertical-stack
6224                                          part="layout"
6225                                          exportparts="base:vertical-layout"
6226                                          class="${J({"media-text__content-stack":!0})}"
6227                                          spacing=${Ze(this.spacing)}
6228                                          spacingNarrow=${Ze(this.spacingNarrow)}
6229                                          justify="${this.align}"
6230                                          align="${this.justify}"
6231                                          justifyNarrow="${this.alignNarrow}"
6232                                          alignNarrow="${this.justifyNarrow}"
6233                                      >
6234                                          <slot name="content"></slot>
6235                                      </pu-vertical-stack>
6236                                  </pu-box>
6237                              </div>
6238                          `:z}
6239                </div>
6240            </div>
6241        `}}Bi.styles=[Me,Ei],Bi.dependencies={"pu-box":ht,"pu-vertical-stack":xt},i([ke()],Bi.prototype,"sizeMode",void 0),i([ke()],Bi.prototype,"mediaHeight",void 0),i([ke()],Bi.prototype,"mediaWidth",void 0),i([ke({type:Boolean})],Bi.prototype,"mediaCover",void 0),i([ke({type:Boolean})],Bi.prototype,"mediaOnRight",void 0),i([ke()],Bi.prototype,"align",void 0),i([ke()],Bi.prototype,"alignNarrow",void 0),i([ke()],Bi.prototype,"justify",void 0),i([ke()],Bi.prototype,"justifyNarrow",void 0),i([ke()],Bi.prototype,"spacing",void 0),i([ke()],Bi.prototype,"spacingNarrow",void 0),i([ke({type:Boolean})],Bi.prototype,"adaptivePadding",void 0),i([ke()],Bi.prototype,"mediaPadding",void 0),i([ke()],Bi.prototype,"mediaPaddingNarrow",void 0),i([ke()],Bi.prototype,"contentPadding",void 0),i([ke()],Bi.prototype,"contentPaddingNarrow",void 0),Bi.define("pu-media-text");const Ti=[te`
6242    .modal {
6243        pointer-events: all;
6244        display: none;
6245        justify-content: center;
6246        align-items: center;
6247        position: fixed;
6248        inset: 0;
6249        padding: var(--pu-space-600, 1.5em);
6250        margin: 0;
6251        height: 100%;
6252        width: 100%;
6253        max-width: 100%;
6254        max-height: 100%;
6255        box-sizing: border-box;
6256        z-index: 500;
6257        overflow-y: auto;
6258        border: none !important;
6259        background-color: rgb(
6260            from var(--pu-modal-color-background, var(--pu-color-background, rgb(255, 255, 255))) r g b /
6261                calc(alpha * var(--pu-modal-opacity-background, 1))
6262        );
6263        scrollbar-width: thin;
6264        scrollbar-color: var(--pu-scrollbar-thumb-color, #888) var(--pu-scrollbar-track-color, #f1f1f1);
6265    }
6266
6267    @media (max-width: 47.9975em) {
6268        .modal {
6269            padding: 0;
6270        }
6271    }
6272
6273    .modal[open] {
6274        display: flex;
6275        pointer-events: auto;
6276    }
6277
6278    .modal__inner {
6279        pointer-events: all;
6280    }
6281
6282    .modal__inner::-webkit-scrollbar {
6283        width: 8px;
6284    }
6285
6286    .modal__inner::-webkit-scrollbar-track {
6287        background: var(--pu-scrollbar-track-color, #f1f1f1);
6288    }
6289
6290    .modal__inner::-webkit-scrollbar-thumb {
6291        background: var(--pu-scrollbar-thumb-color, #888);
6292        border-radius: 4px;
6293    }
6294
6295    .modal__inner::-webkit-scrollbar-thumb:hover {
6296        background: var(--pu-scrollbar-thumb-color-hover, #555);
6297    }
6298
6299    .close-button__container {
6300        position: fixed;
6301        top: var(--pu-space-200, 0.5em);
6302        right: var(--pu-space-200, 0.5em);
6303        z-index: 10;
6304        cursor: pointer;
6305    }
6306
6307    .close-button__container > ::slotted(*) {
6308        pointer-events: auto;
6309    }
6310
6311    .close-button__container * {
6312        pointer-events: none;
6313    }
6314`,te`
6315    /** Alignment API - based on content overflow detection */
6316    .modal--align-top {
6317        align-items: flex-start;
6318    }
6319`];class Ii extends Ue{constructor(){super(),this.id="",this.alignTop=!1,this._hasCloseButtonSlot=new Xe(this,"close-button"),this.originalBodyOverflow="",this.lastActiveElement=null,this.checkModalAlignment=()=>{if(this.modalElement){const e=this.modalElement.scrollHeight>this.modalElement.clientHeight;this.alignTop!==e&&(this.alignTop=e)}},this.show=()=>{this.openModal()},this.hide=()=>{this.closeModal()},this.debouncedCheckAlignment=ti((()=>{this.checkModalAlignment()}),50)}connectedCallback(){super.connectedCallback(),window.addEventListener("overlay-open",this.show),window.addEventListener("overlay-close",this.hide)}firstUpdated(e){super.firstUpdated(e),this.modalElement&&this.debouncedCheckAlignment&&(this.resizeObserver=new ResizeObserver(this.debouncedCheckAlignment),this.resizeObserver.observe(this.modalElement),window.addEventListener("resize",this.debouncedCheckAlignment))}disconnectedCallback(){this.modalElement?.open&&(this.modalElement.close(),document.body.style.overflow=this.originalBodyOverflow),window.removeEventListener("overlay-open",this.show),window.removeEventListener("overlay-close",this.hide),this.resizeObserver&&(this.modalElement&&this.resizeObserver.unobserve(this.modalElement),this.resizeObserver.disconnect(),this.resizeObserver=void 0),this.debouncedCheckAlignment&&window.removeEventListener("resize",this.debouncedCheckAlignment),super.disconnectedCallback()}async openModal(){this.modalElement&&!this.modalElement.open&&(this.lastActiveElement=document.activeElement,this.originalBodyOverflow=document.body.style.overflow,document.body.style.overflow="hidden",this.modalElement.style.visibility="hidden",this.modalElement.showModal(),this.checkModalAlignment(),await this.updateComplete,this.modalElement.style.visibility="visible",this.emit("pu-show"))}closeModal(){this.modalElement&&this.modalElement.open&&(this.modalElement.close(),document.body.style.overflow=this.originalBodyOverflow,this.lastActiveElement?.focus(),this.emit("pu-hide"))}handleKeyDown(e){"Escape"===e.key&&this.closeModal()}modalClasses(){const e={};return this.alignTop&&(e["modal--align-top"]=!0),e}render(){const e=this.modalClasses();return $`
6320            <dialog
6321                part="base modal"
6322                class="modal ${J(e)}"
6323                id=${this.id}
6324                aria-label=${this.label||z}
6325                @keydown="${this.handleKeyDown}">
6326                ${this._hasCloseButtonSlot.test("close-button")?$`
6327                          <div
6328                              part="close"
6329                              class="close-button__container"
6330                              @click="${this.closeModal}">
6331                              <slot name="close-button"></slot>
6332                          </div>
6333                      `:null}
6334                <div
6335                    part="content"
6336                    class="modal__inner">
6337                    <slot name="content"></slot>
6338                </div>
6339            </dialog>
6340        `}}Ii.styles=[Me,Ti],i([ke()],Ii.prototype,"id",void 0),i([ke()],Ii.prototype,"label",void 0),i([Ce()],Ii.prototype,"alignTop",void 0),i([Se(".modal")],Ii.prototype,"modalElement",void 0),Ii.define("pu-modal");const Mi=[te`
6341    /* Display in narrow view only */
6342    :host {
6343        display: block;
6344    }
6345
6346    .menu {
6347        display: flex;
6348        gap: var(--pu-space-200, 0.5em);
6349        align-items: center;
6350        font-family: var(--pu-menu-font-family, inherit);
6351        font-size: var(--pu-menu-font-size, inherit);
6352        letter-spacing: 0.05em;
6353        list-style: none;
6354        line-height: 1;
6355        margin: 0;
6356        padding: 0;
6357        color: rgb(from var(--pu-color-foreground, rgb(0, 0, 0)) r g b);
6358        --pu-disclosure-summary-space-padding: 0;
6359        --pu-disclosure-details-space-padding: 0;
6360    }
6361
6362    .menu__title {
6363        font-weight: var(--pu-menu-font-weight, 700);
6364        text-transform: uppercase;
6365        width: 100%;
6366        border-bottom-width: 0.0625em;
6367        border-bottom-style: solid;
6368        border-bottom-color: rgb(
6369            from var(--pu-disclosure-details-color-foreground, var(--pu-color-foreground, rgb(0, 0, 0, 0.8))) r g b /
6370                calc(alpha * var(--pu-opacity-border, 0.8))
6371        );
6372        padding-bottom: var(--pu-space-300, 0.75em);
6373    }
6374
6375    .menu > li > * {
6376        display: inline-block;
6377        padding: 0 var(--pu-space-300, 0.75em);
6378    }
6379    .menu__link {
6380        color: inherit;
6381        text-decoration: none;
6382        transition: all var(--pu-transition-duration-500, 0.5s) ease;
6383    }
6384    .menu__link:hover,
6385    .menu__link.active,
6386    .summary.active {
6387        text-decoration: underline;
6388        text-underline-offset: 0.3em;
6389    }
6390    .menu__link.active,
6391    .summary.active {
6392        text-decoration-thickness: 0.125em;
6393    }
6394
6395    /* Menu disclosure */
6396    .menu-disclosure {
6397        position: initial;
6398        --pu-color-border: transparent;
6399    }
6400
6401    .menu-disclosure::part(drawer) {
6402        top: var(--pu-header-size-height-inner, 0);
6403    }
6404
6405    /* Menus */
6406    .menu__container.menu-list--vertical .submenu__list {
6407        flex-direction: column;
6408        gap: var(--pu-space-100, 0.25em);
6409    }
6410    .menu__list {
6411        font-family: var(--pu-menu-font-family, inherit);
6412        font-size: var(--pu-menu-font-size, inherit);
6413        list-style: none;
6414        padding: var(--pu-space-800, 2em) var(--pu-space-1200, 3em);
6415    }
6416
6417    /* Submenus */
6418    .submenu {
6419        display: flex;
6420        flex-direction: column;
6421        gap: var(--pu-space-300, 0.75em);
6422        font-size: var(--pu-text-body-size-sm, 0.75em);
6423    }
6424    .submenu__title {
6425        font-size: var(--pu-text-body-size-xs, 0.75em);
6426        font-weight: var(--pu-font-weight-300, 300);
6427        padding-right: var(--pu-space-200, 0.5em);
6428        text-transform: uppercase;
6429    }
6430    .submenu__list {
6431        display: flex;
6432        gap: var(--pu-space-300, 0.75em);
6433        list-style: none;
6434        padding: 0;
6435    }
6436    .submenu__link {
6437        display: block;
6438        color: inherit;
6439        padding: var(--pu-space-100, 0.25em) var(--pu-space-200, 0.5em);
6440        padding-left: 0;
6441        text-decoration: none;
6442        transition: all var(--pu-transition-duration-500, 0.5s) ease;
6443    }
6444    .submenu__link:hover {
6445        text-decoration: underline;
6446        text-underline-offset: 0.3em;
6447    }
6448`,te`
6449    /* Layout API - Extended */
6450    .menu-list--extended .menu__list {
6451        display: flex;
6452        flex-wrap: wrap;
6453        column-gap: var(--pu-space-800, 2em);
6454        row-gap: var(--pu-space-500, 1.25em);
6455        margin: 0 auto;
6456        max-width: var(--pu-size-content-max-width, 75em);
6457        width: 100%;
6458    }
6459
6460    /* Layout API - Compact */
6461    .menu.menu--compact .menu-disclosure::part(drawer) {
6462        top: 4.5em;
6463        left: unset;
6464        right: unset;
6465        border-radius: var(--pu-border-radius-200);
6466    }
6467    .menu.menu--compact .menu-disclosure::part(content) {
6468        border-width: 0.0625em;
6469        border-style: solid;
6470        border-color: var(--pu-disclosure-details-color-foreground, var(--pu-color-foreground, rgb(0, 0, 0, 0.8)));
6471        border-radius: var(--pu-border-radius-200);
6472    }
6473    @supports (color: rgb(from white r g b)) {
6474        .menu.menu--compact .menu-disclosure::part(content) {
6475            border-color: rgb(
6476                from var(--pu-disclosure-details-color-foreground, var(--pu-color-foreground, rgb(0, 0, 0, 0.8))) r g
6477                    b / calc(alpha * var(--pu-opacity-border, 0.8))
6478            );
6479        }
6480    }
6481
6482    .menu-list--compact .menu__list {
6483        padding: var(--pu-space-600, 1.5em);
6484    }
6485    .menu-list--compact .menu__list > *:not(:last-child) {
6486        margin-bottom: var(--pu-space-600, 1.5em);
6487    }
6488    .menu-list--compact .submenu__list {
6489        flex-direction: column;
6490        gap: var(--pu-space-100, 0.25em);
6491    }
6492    .menu-list--compact .submenu__link {
6493        padding: var(--pu-space-100, 0.25em) 0;
6494    }
6495`];class ji extends Ue{get vertical(){return this.extendedColumns}set vertical(e){this._handleDeprecated("vertical",e)}get hideMenuTitle(){return this.extendedTitleHidden}set hideMenuTitle(e){this._handleDeprecated("hideMenuTitle",e)}get submenuWidth(){return this.extendedWidth}set submenuWidth(e){this._handleDeprecated("submenuWidth",e)}_handleDeprecated(e,t){st(this,e,t,this.deprecatedPropertyMap)}constructor(){super(),this.layout="extended",this.extendedColumns=!1,this.extendedTitleHidden=!1,this.extendedWidth="page-width",this.deprecatedPropertyMap=[{old:"vertical",new:"extendedColumns",defaultValue:!1},{old:"hideMenuTitle",new:"extendedTitleHidden",defaultValue:!1},{old:"submenuWidth",new:"extendedWidth",defaultValue:"page-width"}],this._outsideClick=e=>{e.composedPath().includes(this)||this._closeDisclosures()},this.addEventListener("pu-disclosure:opened",this._handleMenuEvents),this.addEventListener("pu-disclosure:closed",this._handleMenuEvents)}disconnectedCallback(){window.removeEventListener("click",this._outsideClick),super.disconnectedCallback()}_handleMenuEvents(e){const t=e.detail.target;if("pu-disclosure:opened"===e.type&&this._menus&&this._menus.length&&this._menus.forEac
6495h((e=>{e!==t&&e.detailsClose()})),"pu-disclosure:opened"===e.type||"pu-disclosure:closed"===e.type){let e=!1;this._menus.forEach((t=>{t.getToggledState()&&(e=!0)})),e?(this.dispatchEvent(new CustomEvent("pu-overlay:opened",{bubbles:!0,composed:!0})),window.addEventListener("click",this._outsideClick)):(this.dispatchEvent(new CustomEvent("pu-overlay:closed",{bubbles:!0,composed:!0})),window.removeEventListener("click",this._outsideClick))}}_closeDisclosures(){this._menus&&this._menus.length&&this._menus.forEach((e=>{e.detailsClose()})),this.dispatchEvent(new CustomEvent("pu-overlay:closed",{bubbles:!0,composed:!0})),window.removeEventListener("click",this._outsideClick)}menuStyles(){let e={};return"full-width"===this.extendedWidth&&(e={...e,"--pu-size-content-max-width":"100%"}),e}menuClasses(){const e={};return"compact"===this.layout&&(e["menu--compact"]=!0),e}menuListClasses(){const e={};return this.extendedColumns&&"compact"!==this.layout&&(e["menu-list--vertical"]=!0),"extended"===this.layout&&(e["menu-list--extended"]=!0),"compact"===this.layout&&(e["menu-list--compact"]=!0),e}menuTitle(e){return"extended"!==this.layout||this.extendedTitleHidden?z:$`
6496                <li
6497                    part="title"
6498                    class="menu__title"
6499                >
6500                    <span> ${e} </span>
6501                </li>
6502            `}menuItemClasses(e){return Array.isArray(e)&&e.length?e.join(" "):""}menuList(){if(this.data)return $`
6503                <nav>
6504                    <ul
6505                        part="base menu"
6506                        class="menu${J(this.menuClasses())}"
6507                        style="${He(this.menuStyles())}"
6508                    >
6509                        ${this.data.map((e=>$`
6510                                <li>
6511                                    ${e.subItems?$`
6512                                              <pu-disclosure
6513                                                  part="disclosure"
6514                                                  exportparts="base,summary,drawer,content"
6515                                                  class="menu-disclosure"
6516                                                  detailsWidth=${"extended"===this.layout?"fill":"fit-content"}
6517                                                  overlay
6518                                              >
6519                                                  <span
6520                                                      part="summary"
6521                                                      slot="summary"
6522                                                      class="summary ${this.activeUrl===e.linkUrl?"active":""}"
6523                                                  >
6524                                                      ${e.linkText}
6525                                                  </span>
6526                                                  <span
6527                                                      part="icon"
6528                                                      slot="icon"
6529                                                      class="summary-icon"
6530                                                  >
6531                                                      <pu-icon
6532                                                          part="icon"
6533                                                          exportparts="base,svg"
6534                                                          name="chevron-down"
6535                                                          size="xsmall"
6536                                                      >
6537                                                      </pu-icon>
6538                                                  </span>
6539                                                  <div
6540                                                      slot="content"
6541                                                      part="container"
6542                                                      class="menu__container${J(this.menuListClasses())}"
6543                                                  >
6544                                                      <ul
6545                                                          part="menu"
6546                                                          class="menu__list"
6547                                                      >
6548                                                          ${this.menuTitle(e.linkText)}
6549                                                          ${e.subItems.map((e=>$`
6550                                                                  <li slot="items">
6551                                                                      ${e.subItems?$`
6552                                                                                <div
6553                                                                                    part="submenu"
6554                                                                                    class="submenu"
6555                                                                                >
6556                                                                                    <sp
6556an
6557                                                                                        part="title"
6558                                                                                        class="submenu__title"
6559                                                                                    >
6560                                                                                        ${e.linkText}
6561                                                                                    </span>
6562                                                                                    <ul
6563                                                                                        part="list"
6564                                                                                        class="submenu__list"
6565                                                                                    >
6566                                                                                        ${e.subItems.map((e=>$`
6567                                                                                                    <li
6568                                                                                                        part="item"
6569                                                                                                        slot="items"
6570                                                                                                    >
6571                                                                                                        <a
6572                                                                                                            part="link"
6573                                                                                                            class="submenu__link"
6574                                                                                                            href="${e.linkUrl}"
6575                                                                                                        >
6576                                                                                                            ${e.linkText}
6577                                                                                                        </a>
6578                                                                                                    </li>
6579                                                                                                `))}
6580                                                                                    </ul>
6581                                                                                </div>
6582                                                                            `:$`
6583                                                                                <a
6584                                                                                    part="link"
6585                                                                                    class="menu__link"
6586                                                                                    href="${e.linkUrl}"
6587                                                                                >
6588                                                                                    ${e.linkText}
6589                                                                                </a>
6590                                                                            `}
6591                                                                  </li>
6592                                                              `))}
6593                                                      </ul>
6594                                                  </div>
6595                                              </pu-disclosure>
6596                                          `:$`
6597                                              <a
6598                                                  part="link"
6599                                                  class="menu__link ${this.activeUrl===e.linkUrl?"active":""} ${this.menuItemClasses(e.linkClasses)}"
6600                                                  href="${e.linkUrl}"
6601                                              >
6602                                                  ${e.linkText}
6603                                              </a>
6604                                          `}
6605                                </li>
6606                            `))}
6607                    </ul>
6608                </nav>
6609            `}render(){return $` ${this.menuList()} `}}ji.styles=[Me,Mi],ji.dependencies={"pu-disclosure":Do},i([ke({type:Array})],ji.prototype,"data",void 0),i([ke()],ji.prototype,"activeUrl",void 0),i([ke()],ji.prototype,"layout",void 0),i([ke({type:Boolean})],ji.prototype,"extendedColumns",void 0),i([ke({type:Boolean})],ji.prototype,"extendedTitleHidden",void 0),i([ke()],ji.prototype,"extendedWidth",void 0),i([ke({type:Boolean})],ji.prototype,"vertical",null),i([ke({type:Boolean})],ji.prototype,"hideMenuTitle",null),i([ke()],ji.prototype,"submenuWidth",null),i([function(e){return(t,o)=>$e(t,o,{get(){return(this.renderRoot??(ze??=document.createDocumentFragment())).querySelectorAll(e)}})}("pu-disclosure")],ji.prototype,"_menus",void 0),ji.define("pu-menu");const Oi=[te`
6610    :host {
6611        display: block;
6612        margin: auto;
6613        width: 100%;
6614        color: var(--pu-color-foreground);
6615        background-color: var(--pu-color-background);
6616    }
6617    @supports (color: rgb(from white r g b)) {
6618        :host {
6619            color: rgb(from var(--pu-color-foreground) r g b);
6620            background-color: rgb(from var(--pu-color-background) r g b / alpha);
6621        }
6622    }
6623
6624    .menu-bar {
6625        display: flex;
6626        justify-content: center;
6627        position: sticky;
6628        top: 0;
6629        margin: 0 auto;
6630        max-width: var(--pu-size-viewport-max-width, 100%);
6631        width: 100%;
6632    }
6633
6634    .menu-bar__inner {
6635        max-width: var(--pu-size-content-max-width, 75em);
6636        --pu-box-color-background: transparent;
6637    }
6638
6639    ::slotted(*) {
6640        letter-spacing: 0.07em;
6641    }
6642
6643    ::slotted(pu-link:last-child) {
6644        margin-right: var(--pu-space-200, 0.5em);
6645    }
6646`,te`
6647    /* Sticky positioning API */
6648    :host([sticky]) {
6649        position: sticky;
6650        top: 0;
6651        z-index: 499;
6652    }
6653
6654    /* Border API */
6655    :host([border]) {
6656        border-bottom-width: 0.0625em;
6657        border-bottom-style: solid;
6658        border-bottom-color: rgb(var(--pu-color-foreground, rgb(255, 255, 255)));
6659    }
6660    @supports (color: rgb(from white r g b)) {
6661        :host([border]) {
6662            border-bottom-color: rgb(from var(--pu-color-foreground, rgb(255, 255, 255) r g b));
6663        }
6664    }
6665`];class Li extends Ue{constructor(){super(...arguments),this.sticky=!1,this.spacing="32",this.justify="start",this.justifyNarrow="start",this.deprecatedPropertyMap=[{old:"mobileJustify",new:"justifyNarrow",defaultValue:"start"}]}get mobileJustify(){return this.justifyNarrow}set mobileJustify(e){this._handleDeprecated("mobileJustify",e)}_handleDeprecated(e,t){st(this,e,t,this.deprecatedPropertyMap)}menuClasses(){const e={};return e.sticky=this.sticky,e}render(){return $`
6666            <nav
6667                part="base menu-bar"
6668                class="menu-bar${J(this.menuClasses())}"
6669            >
6670                <pu-box
6671                    part="container"
6672                    exportparts="base,content"
6673                    class="menu-bar__inner"
6674                    padding="${Ze(this.padding)}"
6675                >
6676                    <pu-link-group
6677                        part="layout"
6678                        exportparts="base"
6679                        spacing="${this.spacing}"
6680                        justify="${this.justify}"
6681                        justifyNarrow="${this.justifyNarrow}"
6682                        noWrap
6683                    >
6684                        <slot name="link"></slot>
6685                    </pu-link-group>
6686                </pu-box>
6687            </nav>
6688        `}}Li.styles=[Me,Oi],Li.dependencies={"pu-box":ht,"pu-link-group":Ci},i([ke({type:Boolean})],Li.prototype,"sticky",void 0),i([ke()],Li.prototype,"spacing",void 0),i([ke()],Li.prototype,"justify",void 0),i([ke()],Li.prototype,"justifyNarrow",void 0),i([ke()],Li.prototype,"padding",void 0),i([ke()],Li.prototype,"mobileJustify",null),Li.define("pu-menu
6688-bar");const Hi=[qt,te`
6689    :host([disabled]) {
6690        opacity: 0.4;
6691        pointer-events: none;
6692    }
6693
6694    :host([disabled]) .spinner:hover {
6695        background-color: transparent;
6696    }
6697
6698    /* Native input */
6699    input {
6700        border: none;
6701        background-color: inherit;
6702        color: inherit;
6703        font-family: var(--pu-text-body-family, Roboto, Arial, Helvetica, sans-serif);
6704        font-size: var(--pu-input-font-size);
6705        padding: 0;
6706        height: calc(var(--pu-input-size-height) - var(--pu-input-border-width, 0.0625em));
6707        -moz-appearance: textfield;
6708        outline: none;
6709    }
6710
6711    /* Custom input */
6712    .number-input {
6713        position: relative;
6714        width: fit-content;
6715    }
6716
6717    /* Input container */
6718    .number-input__container {
6719        position: relative;
6720        width: fit-content;
6721        -moz-appearance: textfield;
6722    }
6723
6724    .number-input:hover:not(.input--disabled) .input {
6725        color: rgb(from var(--pu-input-color-foreground-hover, inherit) r g b / alpha);
6726        background-color: rgb(from var(--pu-input-color-background-hover, hsl(240, 5%, 96%)) r g b / alpha);
6727        border-color: rgb(from var(--pu-input-border-color-hover, hsl(240, 4%, 46%)) r g b / alpha);
6728    }
6729
6730    .number-input.input--focused:not(.input--disabled) .input {
6731        background-color: rgb(from var(--pu-color-focus-background) r g b / alpha);
6732        border-color: rgb(from var(--pu-color-focus-border) r g b / alpha);
6733        box-shadow:
6734            0 0 0 0.0625em rgb(from var(--pu-color-focus-background) r g b / alpha),
6735            0 0 0 0.25em rgb(from var(--pu-color-focus-ring, hsl(213.1 93.9% 67.8%)) r g b / alpha);
6736    }
6737
6738    /** Input spinner browser override styles */
6739    :host(:not([disabled])) .number-input--min .spinner.decrease::part(button-icon) {
6740        cursor: default;
6741        pointer-events: none;
6742    }
6743    :host(:not([disabled])) .number-input--max .spinner.increase::part(button-icon) {
6744        pointer-events: none;
6745        cursor: default;
6746    }
6747    input::-webkit-outer-spin-button {
6748        appearance: none;
6749    }
6750    input::-webkit-inner-spin-button {
6751        appearance: none;
6752    }
6753
6754    /** Custom spinner styles */
6755    .spinner {
6756        position: absolute;
6757        --pu-icon-space-padding: 0;
6758    }
6759    .spinner::part(button-icon) {
6760        padding: 0.125em;
6761    }
6762`,te`
6763    /* Layout API - Inline layout */
6764    .input--inline .field__inner {
6765        flex-direction: row;
6766    }
6767
6768    /* Size API - Size variations */
6769    .input--small {
6770        --pu-input-font-size: var(--pu-text-body-size-sm, 0.875em);
6771        --pu-input-label-font-size: var(--pu-text-body-size-sm, 0.875em);
6772        --pu-input-size-height: var(--pu-space-800, 2em);
6773        --pu-input-size-width: 3em;
6774        --pu-input-space-padding: var(--pu-space-300, 0.75em);
6775        --pu-border-input-size-corner-radius: var(--pu-border-radius-050, 0.125em);
6776        --pu-icon-font-size: var(--pu-text-body-size-sm, 0.5em);
6777    }
6778    .input--medium {
6779        background: linear-gradient(to right 30%, red, blue);
6780        --pu-input-font-size: var(--pu-text-body-size-md, 1em);
6781        --pu-input-label-font-size: var(--pu-text-body-size-md, 1em);
6782        --pu-input-size-height: var(--pu-space-1000, 2.5em);
6783        --pu-input-size-width: 4em;
6784        --pu-input-space-padding: var(--pu-space-400, 1em);
6785        --pu-border-input-size-corner-radius: var(--pu-border-radius-100, 0.25em);
6786        --pu-icon-font-size: var(--pu-text-body-size-md, 0.75em);
6787    }
6788    .input--large {
6789        --pu-input-font-size: var(--pu-text-body-size-md, 1em);
6790        --pu-input-label-font-size: var(--pu-text-body-size-md, 1em);
6791        --pu-input-size-height: var(--pu-space-1200, 3em);
6792        --pu-input-size-width: var(--pu-space-2000, 5em);
6793        --pu-input-space-padding: var(--pu-space-600, 1.5em);
6794        --pu-border-input-size-corner-radius: var(--pu-border-radius-200, 0.5em);
6795        --pu-icon-font-size: var(--pu-text-body-size-md, 1em);
6796    }
6797
6798    /* Spinner Type API - Hidden/arrows spinner */
6799    .input--spinner-hidden .number-input__container,
6800    .input--arrows .number-input__container {
6801        overflow: hidden;
6802        border-radius: var(--pu-border-input-size-corner-radius, 0);
6803        border: solid var(--pu-input-border-width, 0.0625em) var(--pu-input-border-color, hsl(240, 5%, 65%));
6804        border-color: rgb(
6805            from var(--pu-input-border-color, hsl(240, 5%, 65%)) r g b /
6806                calc(alpha * var(--pu-input-opacity-border, 1))
6807        );
6808    }
6809    .input--spinner-hidden input {
6810        padding-left: calc(var(--pu-input-space-padding) * 0.5);
6811        padding-right: calc(var(--pu-input-space-padding) * 0.5);
6812        text-align: center;
6813        width: var(--pu-input-number-size-width, var(--pu-input-size-width));
6814    }
6815    .input--arrows input {
6816        padding-left: calc(var(--pu-input-space-padding) * 0.5);
6817        padding-right: var(--pu-input-space-padding);
6818        width: var(--pu-input-number-size-width, var(--pu-input-size-width));
6819    }
6820    .input--arrows .spinner.increase {
6821        --pu-slider-icon-border-radius: 0 var(--pu-border-input-size-corner-radius, 0) 0 0;
6822        top: 0.25em;
6823        right: 0.25em;
6824    }
6825    .input--arrows .spinner.decrease {
6826        --pu-slider-icon-border-radius: 0 0 var(--pu-border-input-size-corner-radius, 0) 0;
6827        bottom: 0.25em;
6828        right: 0.25em;
6829    }
6830
6831    /* Spinner Type API - Symbol input spinner */
6832    .input--symbols .number-input__container {
6833        display: flex;
6834        align-items: stretch;
6835        border-radius: var(--pu-input-border-radius, 0);
6836        border: solid var(--pu-input-border-width, 0.0625em) var(--pu-input-border-color, hsl(240, 5%, 65%));
6837        border-color: rgb(from var(--pu-input-border-color, hsl(240, 5%, 65%)) r g b / alpha);
6838    }
6839    .input--symbols .number-input__container {
6840        padding-left: calc(var(--pu-input-space-padding) * 0.2);
6841        padding-right: calc(var(--pu-input-space-padding) * 0.2);
6842        padding-top: calc(var(--pu-input-space-padding) * 0.1);
6843        padding-bottom: calc(var(--pu-input-space-padding) * 0.1);
6844    }
6845    .input--symbols input {
6846        order: 2;
6847        text-align: center;
6848        height: 1.75em;
6849        width: 2em;
6850    }
6851    .input--symbols .spinner {
6852        border: none;
6853        position: relative;
6854        height: 1.75em;
6855    }
6856    .input--symbols .spinner::part(button-icon) {
6857        padding: calc(var(--pu-input-space-padding) * 0.25);
6858    }
6859    .input--symbols .spinner.increase {
6860        border-left: none;
6861        order: 3;
6862    }
6863    .input--symbols .spinner.decrease {
6864        border-right: none;
6865        order: 1;
6866    }
6867`],Vi={assumeInteractionOn:["pu-blur","pu-input"]};class Di extends Ue{constructor(){super(...arguments),this.formControlController=new Et(this,Vi),this.size="medium",this.label="",this.labelHidden=!1,this.spinnerType="arrows",this.disabled=!1,this.required=!1,this.id="",this.name="",this.value="",this.form="",this.step=1,this.hasFocus=!1,this.hasSlotController=new Xe(this,"label","help-text"),this.deprecatedPropertyMap=[{old:"hideLabel",new:"labelHidden",defaultValue:!1}]}get hideLabel(){return this.labelHidden}set hideLabel(e){this._handleDeprecated("hideLabel",e)}_handleDeprecated(e,t){st(this,e,t,this.deprecatedPropertyMap)}get validity(){return this.input.validity}get validationMessage(){return this.input.validationMessage}firstUpdated(){this.formControlController.updateValidity()}checkValidity(){return this.input.checkValidity()}reportValidity(){return this.input.reportValidity()}setCustomValidity(e){this.input.setCustomValidity(e),this.formControlController.updateValidity()}getForm(){return this.formControlController.getForm()}getValue(){if(this.input)return this.input.value}setValue(e){e&&(this.value=e)}handleBlur(){this.hasFocus=!1,this.emit("pu-blur")}handleFocus(){this.hasFocus=!0,this.emit("pu-focus")}handleInput(){this.value=this.input.value,this.formControlController.updateValidity(),this.emit("pu-input")}handleInvalid(e){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(e)}handleChange(){this.value=this.input.value,this.validateOnChange(),this.emit("pu-change")}handleKeyDown(e){const t=e.metaKey||e.ctrlKey||e.shiftKey||e.altKey;"Enter"!==e.key||t||setTimeout((()=>{e.defaultPrevented||e.isComposing||this.formControlController.submit()}))}stepValue(e){this.input&&("plus"===e?this.input.stepUp():"minus"===e&&"0"!==this.input.value&&this.input.stepDown(),this.value=this.input.value,this.handleChange())}setSpinnerValue(e){this.input&&this.stepValue(e)}validateOnChange(){if(!this.input)return;let e=this.input.value.trim(),t=parseInt(e,10);(""===e||isNaN(t))&&(t=this.min??0),void 0!==this.min&&t<this.min?t=this.min:void 0!==this.max&&t>this.max&&(t=this.max),this.value=t.toString(),this.input.value=this.value}isMaxValue(){return Number(this.value)===this.max}isMinValue(){return!!(this.min&&parseInt(this.value)<=this.min)}render(){const e=this.min&&parseInt(this.value)===this.min||!1,t=this.max&&parseInt(this.value)>=this.max||!1,o=this.hasSlotController.test("label"),i=!!this.label||!!o;return $`
6868            <div
6869                part="base number-input"
6870                class="${J({"form-control":!0,"form-control--small":"small"===this.size,"form-control--medium":"medium"===this.size,"form-control--large":"large"===this.size,"form-control--has-label":i,"form-control--hide-label":this.labelHidden,"input--disabled":this.disabled,"input--focused":this.hasFocus,"input--small":"small"===this.size,"input--medium":"medium"===this.size,"input--large":"large"===this.size,"input--symbol
6870s":"symbols"===this.spinnerType,"input--arrows":"arrows"===this.spinnerType,"input--spinner-hidden":"none"===this.spinnerType,"input--min":e,"input--max":t})}"
6871            >
6872                <div
6873                    part="input"
6874                    class="number-input"
6875                >
6876                    <label
6877                        part="label"
6878                        class="${J({"form-control__label":!0,"form-control__label--visually-hidden":this.labelHidden})}"
6879                        for="${this.id}"
6880                        aria-hidden=${i?"false":"true"}
6881                    >
6882                        <slot name="label">${this.label}</slot>
6883                    </label>
6884                    <div
6885                        part="control"
6886                        class="number-input__container"
6887                    >
6888                        <input
6889                            part="input"
6890                            class="input"
6891                            id="${this.id}"
6892                            name="${this.name}"
6893                            step="${this.step}"
6894                            min="${Ze(this.min)}"
6895                            max="${Ze(this.max)}"
6896                            type="number"
6897                            .value="${this.value}"
6898                            ?disabled="${this.disabled}"
6899                            ?required="${this.required}"
6900                            placeholder="${Ze(this.placeholder)}"
6901                            @change=${this.handleChange}
6902                            @input=${this.handleInput}
6903                            @invalid=${this.handleInvalid}
6904                            @keydown=${this.handleKeyDown}
6905                            @focus=${this.handleFocus}
6906                            @blur=${this.handleBlur}
6907                        />
6908                        ${"none"!==this.spinnerType?$`
6909                                  ${"symbols"===this.spinnerType?$`
6910                                            <pu-button-icon
6911                                                part="increase"
6912                                                exportparts="base,icon,svg"
6913                                                class="spinner increase"
6914                                                name="plus"
6915                                                label="Increase number"
6916                                                @click="${()=>this.setSpinnerValue("plus")}"
6917                                                ?disabled=${this.isMaxValue()||this.disabled}
6918                                            >
6919                                            </pu-button-icon>
6920                                            <pu-button-icon
6921                                                part="decrease"
6922                                                exportparts="base,icon,svg"
6923                                                class="spinner decrease"
6924                                                name="minus"
6925                                                label="Decrease number"
6926                                                @click="${()=>this.setSpinnerValue("minus")}"
6927                                                ?disabled=${this.isMinValue()||this.disabled}
6928                                            >
6929                                            </pu-button-icon>
6930                                        `:$`
6931                                            <pu-button-icon
6932                                                part="increase"
6933                                                exportparts="base,icon,svg"
6934                                                class="spinner increase"
6935                                                name="chevron-up"
6936                                                label="Increase number"
6937                                                @click="${()=>this.setSpinnerValue("plus")}"
6938                                                ?disabled=${this.isMaxValue()||this.disabled}
6939                                            >
6940                                            </pu-button-icon>
6941                                            <pu-button-icon
6942                                                part="decrease"
6943                                                exportparts="base,icon,svg"
6944                                                class="spinner decrease"
6945                                                name="chevron-down"
6946                                                label="Decrease number"
6947                                                @click="${()=>this.setSpinnerValue("minus")}"
6948                                                ?disabled=${this.isMinValue()||this.disabled}
6949                                            >
6950                                            </pu-button-icon>
6951                                        `}
6952                              `:z}
6953                    </div>
6954                </div>
6955            </div>
6956        `}}Di.dependencies={"pu-button-icon":jt},Di.styles=[Me,Hi],i([ke({reflect:!0})],Di.prototype,"size",void 0),i([ke()],Di.prototype,"label",void 0),i([ke({type:Boolean})],Di.prototype,"labelHidden",void 0),i([ke()],Di.prototype,"spinnerType",void 0),i([ke()],Di.prototype,"placeholder",void 0),i([ke({type:Boolean,reflect:!0})],Di.prototype,"disabled",void 0),i([ke({type:Boolean})],Di.prototype,"required",void 0),i([ke()],Di.prototype,"id",void 0),i([ke()],Di.prototype,"name",void 0),i([ke({reflect:!0})],Di.prototype,"value",void 0),i([ke({reflect:!0})],Di.prototype,"form",void 0),i([ke({type:Number})],Di.prototype,"step",void 0),i([ke({type:Number})],Di.prototype,"min",void 0),i([ke({type:Number})],Di.prototype,"max",void 0),i([Ce()],Di.prototype,"hasFocus",void 0),i([Se("input")],Di.prototype,"input",void 0),i([ke({type:Boolean})],Di.prototype,"hideLabel",null),Di.define("pu-number-input");const Ri=[te`
6957    :host {
6958        display: block;
6959        user-select: none;
6960        -webkit-user-select: none;
6961    }
6962
6963    :host(:focus) {
6964        outline: none;
6965    }
6966
6967    .option {
6968        position: relative;
6969        display: flex;
6970        align-items: center;
6971        font-family: var(--pu-font-family-body);
6972        font-size: var(--pu-text-body-size-sm, 0.875em);
6973        line-height: var(--pu-font-leading-500, 1.5);
6974        letter-spacing: var(--pu-select-option-font-tracking, 0.05em);
6975        color: rgb(from var(--pu-select-option-color-foreground, hsl(240, 4%, 16%)) r g b / alpha);
6976        padding: var(--pu-space-200, 0.5em) var(--pu-space-400, 1em);
6977        transition: var(--pu-transition-duration-150) fill;
6978        cursor: pointer;
6979    }
6980
6981    .option .option__check {
6982        flex: 0 0 auto;
6983        display: flex;
6984        align-items: center;
6985        justify-content: center;
6986        visibility: hidden;
6987        padding-inline-end: var(--pu-space-200, 0.5em);
6988    }
6989
6990    .option:not(.option--selected) {
6991        padding-inline-start: var(--pu-space-1000, 2.5em);
6992    }
6993
6994    @media (max-width: 47.9975em) {
6995        .option {
6996            padding: var(--pu-space-300, 0.75em) var(--pu-space-400, 1em);
6997        }
6998    }
6999
7000    .option__label {
7001        flex: 1 1 auto;
7002        display: inline-block;
7003        line-height: var(--pu-font-leading-300);
7004        text-align: left;
7005    }
7006
7007    .option__prefix,
7008    .option__suffix {
7009        flex: 0 0 auto;
7010        display: flex;
7011        align-items: center;
7012    }
7013
7014    .option__prefix::slotted(*) {
7015        margin-inline-end: var(--pu-space-100, 0.25em);
7016    }
7017
7018    .option__suffix::slotted(*) {
7019        margin-inline-start: var(--pu-space-100, 0.25em);
7020    }
7021
7022    @media (forced-colors: active) {
7023        :host(:hover:not([aria-disabled='true'])) .option {
7024            outline: dashed 0.0625em SelectedItem;
7025            outline-offset: -0.0625em;
7026        }
7027    }
7028`,te`
7029    /* State API Classes */
7030    .option--hover:not(.option--current):not(.option--disabled) {
7031        background-color: rgb(from var(--pu-select-option-color-background-hover, hsl(0, 0%, 97.5%)) r g b / alpha);
7032        color: rgb(from var(--pu-select-option-color-foreground-hover, hsl(240, 5%, 26%)) r g b / alpha);
7033    }
7034
7035    .option--current,
7036    .option--current.option--disabled {
7037        background-color: rgb(from var(--pu-select-option-color-background, hsl(240, 5%, 96%)) r g b / alpha);
7038        color: rgb(from var(--pu-select-option-color-foreground-selected, hsl(240, 5%, 26%)) r g b / alpha);
7039        opacity: 1;
7040    }
7041
7042    .option--disabled {
7043        outline: none;
7044        opacity: 0.5;
7045        cursor: not-allowed;
7046    }
7047
7048    .option--selected .option__check {
7049        visibility: visible;
7050    }
7051`],Fi=Math.min,Wi=Math.max,Ui=Math.round,Gi=Math.floor,qi=e=>({x:e,y:e}),Ki={left:"right",right:"left",bottom:"top",top:"bottom"},Ji={start:"end",end:"start"};function Xi(e,t,o){return Wi(e,Fi(t,o))}function Yi(e,t){return"function"==typeof e?e(t):e}function Zi(e){return e.split("-")[0]}function Qi(e){return e.split("-")[1]}function er(e){return"x"===e?"y":"x"}function tr(e){return"y"===e?"height":"width"}const or=new Set(["top","bottom"]);function ir(e){return or.has(Zi(e))?"y":"x"}function rr(e){return er(ir(e))}function ar(e){return e.replace(/start|end/g,(e=>Ji[e]))}const sr=["left","right"],nr=["right","left"],lr=["top","bottom"],dr=["bottom","top"];function pr(e,t,o,i){const r=Qi(e);let a=function(e,t,o){switch(e){case"top":case"bottom":return o?t?nr:sr:t?sr:nr;case"left":case"right":return t?lr:dr;default:return[]}}(Zi(e),"start"===o,i);return r&&(a=a.map((e=>e+"-"+r)),t&&(a=a.concat(a.map(ar)))),a}function cr(e){return e.replace(/left|right|bottom|top/g,(e=>Ki[e]))}function ur(e){return"number"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}function hr(e){const{x:t,y:o,width:i,height:r}=e;return{width:i,height:r,top:o,left:t,right:t+i,bottom:o+r,x:t,y:o}}function gr(e,t,o){let{reference:i,floating:r}=e;const a=ir(t),s=rr(t),n=tr(s),l=Zi(t),d="y"===a,p=i.x+i.width/2-r.width/2,c=i.y+i.height/2-r.height/2,u=i[n]/2-r[n]/2;let h;switch(l){case"top":h={x:p,y:i.y-r.height};break;case"bottom":h={x:p,y:i.y+i.height};break;case"right":h={x:i.x+i.width,y:c};break;case"left":h={x:i.x-r.width,y:c};break;default:h={x:i.x,y:i.y}}switch(Qi(t)){case"start":h[s]-=u*(o&&d?-1:1);break;case"end":h[s]+=u*(o&&d?-1:1)}return h}async function mr(e,t){var o;void 0===t&&(t={});const{x:i,y:r,platform:a,rects:s,elements:n,strategy:l}=e,{boundary:d="clippingAncestors",rootBoundary:p="viewport",elementContext:c="floating",altBoundary:u=!1,padding:h=0}=Yi(t,e),g=ur(h),m=n[u?"floating"===c?"reference":"floating":c],b=hr(await a.getClippingRect({element:null==(o=await(null==a.isElement?void 0:a.isElement(m)))||o?m:m.contextElement||await(null==a.getDocumentElement?void 0:a.getDocumentElement(n.floating)),boundary:d,rootBoundary:p,strategy:l})),f="floating"===c?{x:i,y:r,width:s.floating.width,height:s.floating.height}:s.reference,v=await(null==a.getOffsetParent?void 0:a.getOffsetParent(n.floating)),y=await(null==a.isElement?void 0:a.isElement(v))&&await(null==a.getScale?void 0:a.getScale(v))||{x:1,y:1},w=hr(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:n,rect:f,offsetParent:v,strategy:l}):f);return{top:(b.top-w.top+g.top)/y.y,bottom:(w.bottom-b.bottom+g.bottom)/y.y,left:(b.left-w.left+g.left)/y.x,right:(w.right-b.right+g.right)/y.x}}const br=new Set(["left","top"]);function fr(){return"undefined"!=typeof window}function vr(e){return xr(e)?(e.nodeName||"").toLowerCase():"#document"}function yr(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function wr(e){var t;return null==(t=(xr(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function xr(e){return!!fr()&&(e instanceof Node||e instanceof yr(e).Node)}function _r(e){return!!fr()&&(e instanceof Element||e instanceof yr(e).Element)}function kr(e){return!!fr()&&(e instanceof HTMLElement||e instanceof yr(e).HTMLElement)}function Cr(e){return!(!fr()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof yr(e).ShadowRoot)}const $r=new Set(["inline","contents"]);function Sr(e){const{overflow:t,overflowX:o,overflowY:i,display:r}=Lr(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+o)&&!$r.has(r)}const zr=new Set(["table","td","th"]);function Ar(e){return zr.has(vr(e))}const Pr=[":popover-open",":modal"];function Nr(e){return Pr.some((t=>{try{return e.matches(t)}catch(e){return!1}}))}const Er=["transform","translate","scale","rotate","perspective"],Br=["transform","translate","scale","rotate","perspective","filter"],Tr=["paint","layout","strict","content"];function Ir(e){const t=Mr(),o=_r(e)?Lr(e):e;return Er.some((e=>!!o[e]&&"none"!==o[e]))||!!o.containerType&&"normal"!==o.containerType||!t&&!!o.backdropFilter&&"none"!==o.backdropFilter||!t&&!!o.filter&&"none"!==o.filter||Br.some((e=>(o.willChange||"").includes(e)))||Tr.some((e=>(o.contain||"").includes(e)))}function Mr(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}const jr=new Set(["html","body","#document"]);function Or(e){return jr.has(vr(e))}function Lr(e){return yr(e).getComputedStyle(e)}function Hr(e){return _r(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Vr(e){if("html"===vr(e))return e;const t=e.assignedSlot||e.parentNode||Cr(e)&&e.host||wr(e);return Cr(t)?t.host:t}function Dr(e){const t=Vr(e);return Or(t)?e.ownerDocument?e.ownerDocument.body:e.body:kr(t)&&Sr(t)?t:Dr(t)}function Rr(e,t,o){var i;void 0===t&&(t=[]),void 0===o&&(o=!0);const r=Dr(e),a=r===(null==(i=e.ownerDocument)?void 0:i.body),s=yr(r);if(a){const e=Fr(s);
vendor: 12,171 bytes, line 7051
7051return t.concat(s,s.visualViewport||[],Sr(r)?r:[],e&&o?Rr(e):[])}return t.concat(r,Rr(r,[],o))}function Fr(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Wr(e){const t=Lr(e);let o=parseFloat(t.width)||0,i=parseFloat(t.height)||0;const r=kr(e),a=r?e.offsetWidth:o,s=r?e.offsetHeight:i,n=Ui(o)!==a||Ui(i)!==s;return n&&(o=a,i=s),{width:o,height:i,$:n}}function Ur(e){return _r(e)?e:e.contextElement}function Gr(e){const t=Ur(e);if(!kr(t))return qi(1);const o=t.getBoundingClientRect(),{width:i,height:r,$:a}=Wr(t);let s=(a?Ui(o.width):o.width)/i,n=(a?Ui(o.height):o.height)/r;return s&&Number.isFinite(s)||(s=1),n&&Number.isFinite(n)||(n=1),{x:s,y:n}}const qr=qi(0);function Kr(e){const t=yr(e);return Mr()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:qr}function Jr(e,t,o,i){void 0===t&&(t=!1),void 0===o&&(o=!1);const r=e.getBoundingClientRect(),a=Ur(e);let s=qi(1);t&&(i?_r(i)&&(s=Gr(i)):s=Gr(e));const n=function(e,t,o){return void 0===t&&(t=!1),!(!o||t&&o!==yr(e))&&t}(a,o,i)?Kr(a):qi(0);let l=(r.left+n.x)/s.x,d=(r.top+n.y)/s.y,p=r.width/s.x,c=r.height/s.y;if(a){const e=yr(a),t=i&&_r(i)?yr(i):i;let o=e,r=Fr(o);for(;r&&i&&t!==o;){const e=Gr(r),t=r.getBoundingClientRect(),i=Lr(r),a=t.left+(r.clientLeft+parseFloat(i.paddingLeft))*e.x,s=t.top+(r.clientTop+parseFloat(i.paddingTop))*e.y;l*=e.x,d*=e.y,p*=e.x,c*=e.y,l+=a,d+=s,o=yr(r),r=Fr(o)}}return hr({width:p,height:c,x:l,y:d})}function Xr(e,t){const o=Hr(e).scrollLeft;return t?t.left+o:Jr(wr(e)).left+o}function Yr(e,t){const o=e.getBoundingClientRect();return{x:o.left+t.scrollLeft-Xr(e,o),y:o.top+t.scrollTop}}const Zr=new Set(["absolute","fixed"]);function Qr(e,t,o){let i;if("viewport"===t)i=function(e,t){const o=yr(e),i=wr(e),r=o.visualViewport;let a=i.clientWidth,s=i.clientHeight,n=0,l=0;if(r){a=r.width,s=r.height;const e=Mr();(!e||e&&"fixed"===t)&&(n=r.offsetLeft,l=r.offsetTop)}const d=Xr(i);if(d<=0){const e=i.ownerDocument,t=e.body,o=getComputedStyle(t),r="CSS1Compat"===e.compatMode&&parseFloat(o.marginLeft)+parseFloat(o.marginRight)||0,s=Math.abs(i.clientWidth-t.clientWidth-r);s<=25&&(a-=s)}else d<=25&&(a+=d);return{width:a,height:s,x:n,y:l}}(e,o);else if("document"===t)i=function(e){const t=wr(e),o=Hr(e),i=e.ownerDocument.body,r=Wi(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),a=Wi(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight);let s=-o.scrollLeft+Xr(e);const n=-o.scrollTop;return"rtl"===Lr(i).direction&&(s+=Wi(t.clientWidth,i.clientWidth)-r),{width:r,height:a,x:s,y:n}}(wr(e));else if(_r(t))i=function(e,t){const o=Jr(e,!0,"fixed"===t),i=o.top+e.clientTop,r=o.left+e.clientLeft,a=kr(e)?Gr(e):qi(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:r*a.x,y:i*a.y}}(t,o);else{const o=Kr(e);i={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return hr(i)}function ea(e,t){const o=Vr(e);return!(o===t||!_r(o)||Or(o))&&("fixed"===Lr(o).position||ea(o,t))}function ta(e,t,o){const i=kr(t),r=wr(t),a="fixed"===o,s=Jr(e,!0,a,t);let n={scrollLeft:0,scrollTop:0};const l=qi(0);function d(){l.x=Xr(r)}if(i||!i&&!a)if(("body"!==vr(t)||Sr(r))&&(n=Hr(t)),i){const e=Jr(t,!0,a,t);l.x=e.x+t.clientLeft,l.y=e.y+t.clientTop}else r&&d();a&&!i&&r&&d();const p=!r||i||a?qi(0):Yr(r,n);return{x:s.left+n.scrollLeft-l.x-p.x,y:s.top+n.scrollTop-l.y-p.y,width:s.width,height:s.height}}function oa(e){return"static"===Lr(e).position}function ia(e,t){if(!kr(e)||"fixed"===Lr(e).position)return null;if(t)return t(e);let o=e.offsetParent;return wr(e)===o&&(o=o.ownerDocument.body),o}function ra(e,t){const o=yr(e);if(Nr(e))return o;if(!kr(e)){let t=Vr(e);for(;t&&!Or(t);){if(_r(t)&&!oa(t))return t;t=Vr(t)}return o}let i=ia(e,t);for(;i&&Ar(i)&&oa(i);)i=ia(i,t);return i&&Or(i)&&oa(i)&&!Ir(i)?o:i||function(e){let t=Vr(e);for(;kr(t)&&!Or(t);){if(Ir(t))return t;if(Nr(t))return null;t=Vr(t)}return null}(e)||o}const aa={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:o,offsetParent:i,strategy:r}=e;const a="fixed"===r,s=wr(i),n=!!t&&Nr(t.floating);if(i===s||n&&a)return o;let l={scrollLeft:0,scrollTop:0},d=qi(1);const p=qi(0),c=kr(i);if((c||!c&&!a)&&(("body"!==vr(i)||Sr(s))&&(l=Hr(i)),kr(i))){const e=Jr(i);d=Gr(i),p.x=e.x+i.clientLeft,p.y=e.y+i.clientTop}const u=!s||c||a?qi(0):Yr(s,l);return{width:o.width*d.x,height:o.height*d.y,x:o.x*d.x-l.scrollLeft*d.x+p.x+u.x,y:o.y*d.y-l.scrollTop*d.y+p.y+u.y}},getDocumentElement:wr,getClippingRect:function(e){let{element:t,boundary:o,rootBoundary:i,strategy:r}=e;const a=[..."clippingAncestors"===o?Nr(t)?[]:function(e,t){const o=t.get(e);if(o)return o;let i=Rr(e,[],!1).filter((e=>_r(e)&&"body"!==vr(e))),r=null;const a="fixed"===Lr(e).position;let s=a?Vr(e):e;for(;_r(s)&&!Or(s);){const t=Lr(s),o=Ir(s);o||"fixed"!==t.position||(r=null),(a?!o&&!r:!o&&"static"===t.position&&r&&Zr.has(r.position)||Sr(s)&&!o&&ea(e,s))?i=i.filter((e=>e!==s)):r=t,s=Vr(s)}return t.set(e,i),i}(t,this._c):[].concat(o),i],s=a[0],n=a.reduce(((e,o)=>{const i=Qr(t,o,r);return e.top=Wi(i.top,e.top),e.right=Fi(i.right,e.right),e.bottom=Fi(i.bottom,e.bottom),e.left=Wi(i.left,e.left),e}),Qr(t,s,r));return{width:n.right-n.left,height:n.bottom-n.top,x:n.left,y:n.top}},getOffsetParent:ra,getElementRects:async function(e){const t=this.getOffsetParent||ra,o=this.getDimensions,i=await o(e.floating);return{reference:ta(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:o}=Wr(e);return{width:t,height:o}},getScale:Gr,isElement:_r,isRTL:function(e){return"rtl"===Lr(e).direction}};function sa(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function na(e,t,o,i){void 0===i&&(i={});const{ancestorScroll:r=!0,ancestorResize:a=!0,elementResize:s="function"==typeof ResizeObserver,layoutShift:n="function"==typeof IntersectionObserver,animationFrame:l=!1}=i,d=Ur(e),p=r||a?[...d?Rr(d):[],...Rr(t)]:[];p.forEach((e=>{r&&e.addEventListener("scroll",o,{passive:!0}),a&&e.addEventListener("resize",o)}));const c=d&&n?function(e,t){let o,i=null;const r=wr(e);function a(){var e;clearTimeout(o),null==(e=i)||e.disconnect(),i=null}return function s(n,l){void 0===n&&(n=!1),void 0===l&&(l=1),a();const d=e.getBoundingClientRect(),{left:p,top:c,width:u,height:h}=d;if(n||t(),!u||!h)return;const g={rootMargin:-Gi(c)+"px "+-Gi(r.clientWidth-(p+u))+"px "+-Gi(r.clientHeight-(c+h))+"px "+-Gi(p)+"px",threshold:Wi(0,Fi(1,l))||1};let m=!0;function b(t){const i=t[0].intersectionRatio;if(i!==l){if(!m)return s();i?s(!1,i):o=setTimeout((()=>{s(!1,1e-7)}),1e3)}1!==i||sa(d,e.getBoundingClientRect())||s(),m=!1}try{i=new IntersectionObserver(b,{...g,root:r.ownerDocument})}catch(e){i=new IntersectionObserver(b,g)}i.observe(e)}(!0),a}(d,o):null;let u,h=-1,g=null;s&&(g=new ResizeObserver((e=>{let[i]=e;i&&i.target===d&&g&&(g.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame((()=>{var e;null==(e=g)||e.observe(t)}))),o()})),d&&!l&&g.observe(d),g.observe(t));let m=l?Jr(e):null;return l&&function t(){const i=Jr(e);m&&!sa(m,i)&&o();m=i,u=requestAnimationFrame(t)}(),o(),()=>{var e;p.forEach((e=>{r&&e.removeEventListener("scroll",o),a&&e.removeEventListener("resize",o)})),null==c||c(),null==(e=g)||e.disconnect(),g=null,l&&cancelAnimationFrame(u)}}const la=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var o,i;const{x:r,y:a,placement:s,middlewareData:n}=t,l=await async function(e,t){const{placement:o,platform:i,elements:r}=e,a=await(null==i.isRTL?void 0:i.isRTL(r.floating)),s=Zi(o),n=Qi(o),l="y"===ir(o),d=br.has(s)?-1:1,p=a&&l?-1:1,c=Yi(t,e);let{mainAxis:u,crossAxis:h,alignmentAxis:g}="number"==typeof c?{mainAxis:c,crossAxis:0,alignmentAxis:null}:{mainAxis:c.mainAxis||0,crossAxis:c.crossAxis||0,alignmentAxis:c.alignmentAxis};return n&&"number"==typeof g&&(h="end"===n?-1*g:g),l?{x:h*p,y:u*d}:{x:u*d,y:h*p}}(t,e);return s===(null==(o=n.offset)?void 0:o.placement)&&null!=(i=n.arrow)&&i.alignmentOffset?{}:{x:r+l.x,y:a+l.y,data:{...l,placement:s}}}}},da=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:o,y:i,placement:r}=t,{mainAxis:a=!0,crossAxis:s=!1,limiter:n={fn:e=>{let{x:t,y:o}=e;return{x:t,y:o}}},...l}=Yi(e,t),d={x:o,y:i},p=await mr(t,l),c=ir(Zi(r)),u=er(c);let h=d[u],g=d[c];if(a){const e="y"===u?"bottom":"right";h=Xi(h+p["y"===u?"top":"left"],h,h-p[e])}if(s){const e="y"===c?"bottom":"right";g=Xi(g+p["y"===c?"top":"left"],g,g-p[e])}const m=n.fn({...t,[u]:h,[c]:g});return{...m,data:{x:m.x-o,y:m.y-i,enabled:{[u]:a,[c]:s}}}}}},pa=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var o,i;const{placement:r,middlewareData:a,rects:s,initialPlacement:n,platform:l,elements:d}=t,{mainAxis:p=!0,crossAxis:c=!0,fallbackPlacements:u,fallbackStrategy:h="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:m=!0,...b}=Yi(e,t);if(null!=(o=a.arrow)&&o.alignmentOffset)return{};const f=Zi(r),v=ir(n),y=Zi(n)===n,w=await(null==l.isRTL?void 0:l.isRTL(d.floating)),x=u||(y||!m?[cr(n)]:function(e){const t=cr(e);return[ar(e),t,ar(t)]}(n)),_="none"!==g;!u&&_&&x.push(...pr(n,m,g,w));const k=[n,...x],C=await mr(t,b),$=[];let S=(null==(i=a.flip)?void 0:i.overflows)||[];if(p&&$.push(C[f]),c){const e=function(e,t,o){void 0===o&&(o=!1);const i=Qi(e),r=rr(e),a=tr(r);let s="x"===r?i===(o?"end":"start")?"right":"left":"start"===i?"bottom":"top";return t.reference[a]>t.floating[a]&&(s=cr(s)),[s,cr(s)]}(r,s,w);$.push(C[e[0]],C[e[1]])}if(S=[...S,{placement:r,overflows:$}],!$.every((e=>e<=0))){var z,A;const e=((null==(z=a.flip)?void 0:z.index)||0)+1,t=k[e];if(t){if(!("alignment"===c&&v!==ir(t))||S.every((e=>ir(e.placement)!==v||e.overflows[0]>0)))return{data:{index:e,overflows:S},reset:{placement:t}}}let o=null==(A=S.filter((e=>e.overflows[0]<=0)).sort(((e,t)=>e.overflows[1]-t.overflows[1]))[0])?void 0:A.placement;if(!o)switch(h){case"bestFit":{var P;const e=null==(P=S.filter((e=>{if(_){const t=ir(e.placement);return t===v||"y"===t}return!0})).map((e=>[e.placement,e.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)])).sort(((e,t)=>e[1]-t[1]))[0])?void 0:P[0];e&&(o=e);break}case"initialPlacement":o=n}if(r!==o)return{reset:{placement:o}}}return{}}}},ca=function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var o,i;const{placement:r,rects:a,platform:s,elements:n}=t,{apply:l=()=>{},...d}=Yi(e,t),p=await mr(t,d),c=Zi(r),u=Qi(r),h="y"===ir(r),{width:g,height:m}=a.floating;let b,f;"top"===c||"bottom"===c?(b=c,f=u===(await(null==s.isRTL?void 0:s.isRTL(n.floating))?"start":"end")?"left":"right"):(f=c,b="end"===u?"top":"bottom");const v=m-p.top-p.bottom,y=g-p.left-p.right,w=Fi(m-p[b],v),x=Fi(g-p[f],y),_=!t.middlewareData.shift;let k=w,C=x;if(null!=(o=t.middlewareData.shift)&&o.enabled.x&&(C=y),null!=(i=t.middlewareData.shift)&&i.enabled.y&&(k=v),_&&!u){const e=Wi(p.left,0),t=Wi(p.right,0),o=Wi(p.top,0),i=Wi(p.bottom,0);h?C=g-2*(0!==e||0!==t?e+t:Wi(p.left,p.right)):k=m-2*(0!==o||0!==i?o+i:Wi(p.top,p.bottom))}await l({...t,availableWidth:C,availableHeight:k});const $=await s.getDimensions(n.floating);return g!==$.width||m!==$.height?{reset:{rects:!0}}:{}}}},ua=e=>({name:"arrow",options:e,async fn(t){const{x:o,y:i,placement:r,rects:a,platform:s,elements:n,middlewareData:l}=t,{element:d,padding:p=0}=Yi(e,t)||{};if(null==d)return{};const c=ur(p),u={x:o,y:i},h=rr(r),g=tr(h),m=await s.getDimensions(d),b="y"===h,f=b?"top":"left",v=b?"bottom":"right",y=b?"clientHeight":"clientWidth",w=a.reference[g]+a.reference[h]-u[h]-a.floating[g],x=u[h]-a.reference[h],_=await(null==s.getOffsetParent?void 0:s.getOffsetParent(d));let k=_?_[y]:0;k&&await(null==s.isElement?void 0:s.isElement(_))||(k=n.floating[y]||a.floating[g]);const C=w/2-x/2,$=k/2-m[g]/2-1,S=Fi(c[f],$),z=Fi(c[v],$),A=S,P=k-m[g]-z,N=k/2-m[g]/2+C,E=Xi(A,N,P),B=!l.arrow&&null!=Qi(r)&&N!==E&&a.reference[g]/2-(N<A?S:z)-m[g]/2<0,T=B?N<A?N-A:N-P:0;return{[h]:u[h]+T,data:{[h]:E,centerOffset:N-E-T,...B&&{alignmentOffset:T}},reset:B}}}),ha=(e,t,o)=>{const i=new Map,r={platform:aa,...o},a={...r.platform,_c:i};return(async(e,t,o)=>{const{placement:i="bottom",strategy:r="absolute",middleware:a=[],platform:s}
vendor: 8,128 bytes, lines 7051-7122
7051=o,n=a.filter(Boolean),l=await(null==s.isRTL?void 0:s.isRTL(t));let d=await s.getElementRects({reference:e,floating:t,strategy:r}),{x:p,y:c}=gr(d,i,l),u=i,h={},g=0;for(let o=0;o<n.length;o++){const{name:a,fn:m}=n[o],{x:b,y:f,data:v,reset:y}=await m({x:p,y:c,initialPlacement:i,placement:u,strategy:r,middlewareData:h,rects:d,platform:s,elements:{reference:e,floating:t}});p=null!=b?b:p,c=null!=f?f:c,h={...h,[a]:{...h[a],...v}},y&&g<=50&&(g++,"object"==typeof y&&(y.placement&&(u=y.placement),y.rects&&(d=!0===y.rects?await s.getElementRects({reference:e,floating:t,strategy:r}):y.rects),({x:p,y:c}=gr(d,u,l))),o=-1)}return{x:p,y:c,placement:u,strategy:r,middlewareData:h}})(e,t,{...r,platform:a})};function ga(e){return function(e){for(let t=e;t;t=ma(t))if(t instanceof Element&&"none"===getComputedStyle(t).display)return null;for(let t=ma(e);t;t=ma(t)){if(!(t instanceof Element))continue;const e=getComputedStyle(t);if("contents"!==e.display){if("static"!==e.position||Ir(e))return t;if("BODY"===t.tagName)return t}}return null}(e)}function ma(e){return e.assignedSlot?e.assignedSlot:e.parentNode instanceof ShadowRoot?e.parentNode.host:e.parentNode}const ba=[te`
7052    :host {
7053        --arrow-color: rgb(from var(--pu-input-icon-color-foreground, hsl(240 5.9% 10%)) r g b / alpha);
7054        --arrow-size: 0.375em;
7055        --arrow-size-diagonal: calc(var(--arrow-size) * 0.7071);
7056        --arrow-padding-offset: calc(var(--arrow-size-diagonal) - var(--arrow-size));
7057        display: contents;
7058    }
7059
7060    .popup {
7061        position: absolute;
7062        isolation: isolate;
7063        max-width: var(--auto-size-available-width, none);
7064        max-height: var(--auto-size-available-height, none);
7065        z-index: var(--pu-layer-900, 900);
7066    }
7067
7068    .popup__arrow {
7069        position: absolute;
7070        width: calc(var(--arrow-size-diagonal) * 2);
7071        height: calc(var(--arrow-size-diagonal) * 2);
7072        rotate: 45deg;
7073        background: var(--arrow-color);
7074        z-index: -1;
7075    }
7076
7077    /* Hover bridge */
7078    .popup-hover-bridge {
7079        position: fixed;
7080        z-index: calc(var(--pu-layer-900, 900) - 1);
7081        top: 0;
7082        right: 0;
7083        bottom: 0;
7084        left: 0;
7085        clip-path: polygon(
7086            var(--hover-bridge-top-left-x, 0) var(--hover-bridge-top-left-y, 0),
7087            var(--hover-bridge-top-right-x, 0) var(--hover-bridge-top-right-y, 0),
7088            var(--hover-bridge-bottom-right-x, 0) var(--hover-bridge-bottom-right-y, 0),
7089            var(--hover-bridge-bottom-left-x, 0) var(--hover-bridge-bottom-left-y, 0)
7090        );
7091    }
7092
7093    .popup-overlay {
7094        display: none;
7095        position: fixed;
7096        inset: 0;
7097        z-index: calc(var(--pu-layer-900, 900) - 1);
7098        background-color: rgb(
7099            from var(--pu-popup-overlay-color-background, hsl(240, 4%, 16%)) r g b /
7100                calc(var(--pu-popup-overlay-opacity-background, 0.9) * alpha)
7101        );
7102        pointer-events: none;
7103    }
7104`,te`
7105    /* State API Classes */
7106    .popup:not(.popup--active) {
7107        display: none;
7108    }
7109
7110    .popup-hover-bridge:not(.popup-hover-bridge--visible) {
7111        display: none;
7112    }
7113
7114    .popup-overlay.popup-overlay--visible {
7115        display: block;
7116    }
7117
7118    /* Strategy API Classes */
7119    .popup--fixed {
7120        position: fixed;
7121    }
7122`];class fa extends Ue{constructor(){super(...arguments),this.active=!1,this.placement="top",this.strategy="absolute",this.distance=0,this.skidding=0,this.arrow=!1,this.arrowPlacement="anchor",this.arrowPadding=10,this.flip=!1,this.flipFallbackPlacements="",this.flipFallbackStrategy="best-fit",this.flipBoundary=[],this.flipPadding=0,this.shift=!1,this.shiftBoundary=[],this.shiftPadding=0,this.autoSizeBoundary=[],this.autoSizePadding=0,this.hoverBridge=!1,this.narrowFloatBottom=!1,this.isnarrow=!1,this.updateHoverBridge=()=>{if(this.hoverBridge&&this.anchorEl){const e=this.anchorEl.getBoundingClientRect(),t=this.popup.getBoundingClientRect();let o=0,i=0,r=0,a=0,s=0,n=0,l=0,d=0;this.placement.includes("top")||this.placement.includes("bottom")?e.top<t.top?(o=e.left,i=e.bottom,r=e.right,a=e.bottom,s=t.left,n=t.top,l=t.right,d=t.top):(o=t.left,i=t.bottom,r=t.right,a=t.bottom,s=e.left,n=e.top,l=e.right,d=e.top):e.left<t.left?(o=e.right,i=e.top,r=t.left,a=t.top,s=e.right,n=e.bottom,l=t.left,d=t.bottom):(o=t.right,i=t.top,r=e.left,a=e.top,s=t.right,n=t.bottom,l=e.left,d=e.bottom),this.style.setProperty("--hover-bridge-top-left-x",`${o}px`),this.style.setProperty("--hover-bridge-top-left-y",`${i}px`),this.style.setProperty("--hover-bridge-top-right-x",`${r}px`),this.style.setProperty("--hover-bridge-top-right-y",`${a}px`),this.style.setProperty("--hover-bridge-bottom-left-x",`${s}px`),this.style.setProperty("--hover-bridge-bottom-left-y",`${n}px`),this.style.setProperty("--hover-bridge-bottom-right-x",`${l}px`),this.style.setProperty("--hover-bridge-bottom-right-y",`${d}px`)}}}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.start()}disconnectedCallback(){super.disconnectedCallback(),this.stop()}async updated(e){super.updated(e),e.has("active")&&(this.active?this.start():this.stop()),e.has("anchor")&&this.handleAnchorChange(),this.active&&(await this.updateComplete,this.reposition())}async handleAnchorChange(){if(await this.stop(),this.anchor&&"string"==typeof this.anchor){const e=this.getRootNode();this.anchorEl=e.getElementById(this.anchor)}else this.anchor instanceof Element||function(e){return null!==e&&"object"==typeof e&&"getBoundingClientRect"in e&&(!("contextElement"in e)||e instanceof Element)}(this.anchor)?this.anchorEl=this.anchor:this.anchorEl=this.querySelector('[slot="anchor"]');this.anchorEl instanceof HTMLSlotElement&&(this.anchorEl=this.anchorEl.assignedElements({flatten:!0})[0]),this.anchorEl&&this.start()}start(){this.anchorEl&&(this.cleanup=na(this.anchorEl,this.popup,(()=>{this.reposition()})))}async stop(){return new Promise((e=>{this.cleanup?(this.cleanup(),this.cleanup=void 0,this.removeAttribute("data-current-placement"),this.style.removeProperty("--auto-size-available-width"),this.style.removeProperty("--auto-size-available-height"),requestAnimationFrame((()=>e()))):e()}))}reposition(){if(!this.active||!this.anchorEl)return;if(this.narrowFloatBottom&&window.matchMedia("(max-width: 47.9975em)").matches)return Object.assign(this.popup.style,{bottom:"0",left:"0",right:"0",top:"auto",width:"100%",position:"fixed",zIndex:"900"}),void(this.isnarrow=!0);this.isnarrow=!1;const e=[la({mainAxis:this.distance,crossAxis:this.skidding})];this.sync?e.push(ca({apply:({rects:e})=>{const t="width"===this.sync||"both"===this.sync,o="height"===this.sync||"both"===this.sync;this.popup.style.width=t?`${e.reference.width}px`:"",this.popup.style.height=o?`${e.reference.height}px`:""}})):(this.popup.style.width="",this.popup.style.height=""),this.flip&&e.push(pa({boundary:this.flipBoundary,fallbackPlacements:this.flipFallbackPlacements,fallbackStrategy:"best-fit"===this.flipFallbackStrategy?"bestFit":"initialPlacement",padding:this.flipPadding})),this.shift&&e.push(da({boundary:this.shiftBoundary,padding:this.shiftPadding})),this.autoSize?e.push(ca({boundary:this.autoSizeBoundary,padding:this.autoSizePadding,apply:({availableWidth:e,availableHeight:t})=>{"vertical"===this.autoSize||"both"===this.autoSize?this.style.setProperty("--auto-size-available-height",`${t}px`):this.style.removeProperty("--auto-size-available-height"),"horizontal"===this.autoSize||"both"===this.autoSize?this.style.setProperty("--auto-size-available-width",`${e}px`):this.style.removeProperty("--auto-size-available-width")}})):(this.style.removeProperty("--auto-size-available-width"),this.style.removeProperty("--auto-size-available-height")),this.arrow&&e.push(ua({element:this.arrowEl,padding:this.arrowPadding}));const t="absolute"===this.strategy?e=>aa.getOffsetParent(e,ga):aa.getOffsetParent;ha(this.anchorEl,this.popup,{placement:this.placement,middleware:e,strategy:this.strategy,platform:{...aa,getOffsetParent:t}}).then((({x:e,y:t,middlewareData:o,placement:i})=>{const r=this.matches(":dir(rtl)"),a={top:"bottom",right:"left",bottom:"top",left:"r
7122ight"}[i.split("-")[0]];if(this.setAttribute("data-current-placement",i),Object.assign(this.popup.style,{left:`${e}px`,top:`${t}px`}),this.arrow){const e=o.arrow.x,t=o.arrow.y;let i="",s="",n="",l="";if("start"===this.arrowPlacement){const o="number"==typeof e?`calc(${this.arrowPadding}px - var(--arrow-padding-offset))`:"";i="number"==typeof t?`calc(${this.arrowPadding}px - var(--arrow-padding-offset))`:"",s=r?o:"",l=r?"":o}else if("end"===this.arrowPlacement){const o="number"==typeof e?`calc(${this.arrowPadding}px - var(--arrow-padding-offset))`:"";s=r?"":o,l=r?o:"",n="number"==typeof t?`calc(${this.arrowPadding}px - var(--arrow-padding-offset))`:""}else"center"===this.arrowPlacement?(l="number"==typeof e?"calc(50% - var(--arrow-size-diagonal))":"",i="number"==typeof t?"calc(50% - var(--arrow-size-diagonal))":""):(l="number"==typeof e?`${e}px`:"",i="number"==typeof t?`${t}px`:"");Object.assign(this.arrowEl.style,{top:i,right:s,bottom:n,left:l,[a]:"calc(var(--arrow-size-diagonal) * -1)"})}})),requestAnimationFrame((()=>this.updateHoverBridge())),this.emit("pu-reposition")}render(){return $`
7123            <slot name="anchor" @slotchange=${this.handleAnchorChange}></slot>
7124            <span
7125                part="hover-bridge"
7126                class=${J({"popup-hover-bridge":!0,"popup-hover-bridge--visible":this.hoverBridge&&this.active})}
7127            >
7128            </span>
7129
7130            <div
7131                part="popup"
7132                class=${J({popup:!0,"popup--active":this.active,"popup--fixed":"fixed"===this.strategy,"popup--has-arrow":this.arrow})}
7133            >
7134                <slot></slot>
7135                ${this.arrow?$`<div part="arrow" class="popup__arrow" role="presentation"></div>`:""}
7136            </div>
7137            <div
7138                part="overlay"
7139                class=${J({"popup-overlay":!0,"popup-overlay--visible":this.isnarrow&&this.narrowFloatBottom&&this.active})}
7140            ></div>
7141        `}}fa.styles=[Me,ba],i([Se(".popup")],fa.prototype,"popup",void 0),i([Se(".popup__arrow")],fa.prototype,"arrowEl",void 0),i([ke()],fa.prototype,"anchor",void 0),i([ke({type:Boolean,reflect:!0})],fa.prototype,"active",void 0),i([ke({reflect:!0})],fa.prototype,"placement",void 0),i([ke({reflect:!0})],fa.prototype,"strategy",void 0),i([ke({type:Number})],fa.prototype,"distance",void 0),i([ke({type:Number})],fa.prototype,"skidding",void 0),i([ke({type:Boolean})],fa.prototype,"arrow",void 0),i([ke({attribute:"arrow-placement"})],fa.prototype,"arrowPlacement",void 0),i([ke({attribute:"arrow-padding",type:Number})],fa.prototype,"arrowPadding",void 0),i([ke({type:Boolean})],fa.prototype,"flip",void 0),i([ke({attribute:"flip-fallback-placements",converter:{fromAttribute:e=>e.split(" ").map((e=>e.trim())).filter((e=>""!==e)),toAttribute:e=>e.join(" ")}})],fa.prototype,"flipFallbackPlacements",void 0),i([ke({attribute:"flip-fallback-strategy"})],fa.prototype,"flipFallbackStrategy",void 0),i([ke({type:Object})],fa.prototype,"flipBoundary",void 0),i([ke({attribute:"flip-padding",type:Number})],fa.prototype,"flipPadding",void 0),i([ke({type:Boolean})],fa.prototype,"shift",void 0),i([ke({type:Object})],fa.prototype,"shiftBoundary",void 0),i([ke({attribute:"shift-padding",type:Number})],fa.prototype,"shiftPadding",void 0),i([ke({attribute:"auto-size"})],fa.prototype,"autoSize",void 0),i([ke()],fa.prototype,"sync",void 0),i([ke({type:Object})],fa.prototype,"autoSizeBoundary",void 0),i([ke({attribute:"auto-size-padding",type:Number})],fa.prototype,"autoSizePadding",void 0),i([ke({attribute:"hover-bridge",type:Boolean})],fa.prototype,"hoverBridge",void 0),i([ke({type:Boolean})],fa.prototype,"narrowFloatBottom",void 0),i([Ce()],fa.prototype,"isnarrow",void 0);class va extends Ue{constructor(){super(...arguments),this.current=!1,this.selected=!1,this.hasHover=!1,this.value="",this.disabled=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("role","option"),this.setAttribute("aria-selected","false")}handleDefaultSlotChange(){customElements.whenDefined("pu-select").then((()=>{const e=this.closest("pu-select");e&&e.handleDefaultSlotChange()}))}handleMouseEnter(){this.hasHover=!0}handleMouseLeave(){this.hasHover=!1}handleDisabledChange(){this.setAttribute("aria-disabled",this.disabled?"true":"false")}handleSelectedChange(){this.setAttribute("aria-selected",this.selected?"true":"false")}handleValueChange(){"string"!=typeof this.value&&(this.value=String(this.value)),this.value.includes(" ")&&(console.error("Option values cannot include a space. All space
7141s have been replaced with underscores.",this),this.value=this.value.replace(/ /g,"_"))}getTextLabel(){const e=this.childNodes;let t="";return[...e].forEach((e=>{e.nodeType===Node.ELEMENT_NODE&&(e.hasAttribute("slot")||(t+=e.textContent)),e.nodeType===Node.TEXT_NODE&&(t+=e.textContent)})),t.trim()}render(){return $`
7142            <div
7143                part="base option"
7144                class=${J({option:!0,"option--current":this.current,"option--disabled":this.disabled,"option--selected":this.selected,"option--hover":this.hasHover})}
7145                @mouseenter=${this.handleMouseEnter}
7146                @mouseleave=${this.handleMouseLeave}
7147            >
7148                ${this.selected?$`<pu-icon
7149                          part="icon"
7150                          exportparts="base,svg"
7151                          class="option__check"
7152                          name="check"
7153                          aria-hidden="true"
7154                      ></pu-icon>`:""}
7155                <slot
7156                    part="prefix"
7157                    name="prefix"
7158                    class="option__prefix"
7159                ></slot>
7160                <slot
7161                    part="label"
7162                    class="option__label"
7163                    @slotchange=${this.handleDefaultSlotChange}
7164                ></slot>
7165                <slot
7166                    part="suffix"
7167                    name="suffix"
7168                    class="option__suffix"
7169                ></slot>
7170            </div>
7171        `}}function ya(e){const t=["button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","a[href]",'[tabindex]:not([tabindex="-1"])'].join(", ");return Array.from(e.querySelectorAll(t)).filter((e=>function(e){const t=window.getComputedStyle(e);if("none"===t.display||"hidden"===t.visibility)return!1;if("true"===e.getAttribute("aria-hidden"))return!1;const o=e.getAttribute("tabindex");if(null!==o)return"-1"!==o;const i=e.tagName.toLowerCase();return"button"===i||"input"===i||"select"===i||"textarea"===i?!e.hasAttribute("disabled"):!("a"!==i||!e.hasAttribute("href"))}(e)))}va.styles=[Me,Ri],va.dependencies={"pu-icon":Ge,"pu-popup":fa},i([Se(".option__label")],va.prototype,"defaultSlot",void 0),i([Ce()],va.prototype,"current",void 0),i([Ce()],va.prototype,"selected",void 0),i([Ce()],va.prototype,"hasHover",void 0),i([ke({reflect:!0})],va.prototype,"value",void 0),i([ke({type:Boolean,reflect:!0})],va.prototype,"disabled",void 0),i([Te("disabled")],va.prototype,"handleDisabledChange",null),i([Te("selected")],va.prototype,"handleSelectedChange",null),i([Te("value")],va.prototype,"handleValueChange",null),va.define("pu-option");const wa=[te`
7172    :host {
7173        --color-background: var(--pu-overlay-color-background, var(--pu-color-background, rgb(255, 255, 255)));
7174        --color-foreground: var(--pu-overlay-color-foreground, var(--pu-color-foreground, inherit));
7175    }
7176    .overlay {
7177        position: fixed;
7178        z-index: var(--pu-overlay-layer-index, var(--layer-index, 500));
7179        pointer-events: all;
7180        display: none;
7181        justify-content: center;
7182        align-items: center;
7183        inset: 0;
7184        margin: 0;
7185        height: 100%;
7186        width: 100%;
7187        max-width: 100%;
7188        max-height: 100%;
7189        box-sizing: border-box;
7190        overflow-y: auto;
7191        padding: var(--pu-overlay-space-padding);
7192        border: none !important;
7193        color: rgb(from var(--color-foreground) r g b);
7194        background-color: rgb(
7195            from var(--color-background) r g b / calc(alpha * var(--pu-overlay-opacity-background, 1))
7196        );
7197        background-image: var(--pu-overlay-background-image);
7198        background-size: var(--pu-overlay-background-size, cover);
7199        background-position: var(--pu-overlay-background-position, center);
7200        background-repeat: var(--pu-overlay-background-repeat, no-repeat);
7201        scrollbar-width: thin;
7202        scrollbar-color: var(--pu-scrollbar-thumb-color, #888) var(--pu-scrollbar-track-color, #f1f1f1);
7203    }
7204
7205    .overlay[open],
7206    .overlay.overlay--open {
7207        display: flex;
7208        pointer-events: auto;
7209    }
7210
7211    .overlay__inner {
7212        pointer-events: all;
7213        position: relative;
7214    }
7215
7216    .overlay__inner::-webkit-scrollbar {
7217        width: 8px;
7218    }
7219
7220    .overlay__inner::-webkit-scrollbar-track {
7221        background: var(--pu-scrollbar-track-color, #f1f1f1);
7222    }
7223
7224    .overlay__inner::-webkit-scrollbar-thumb {
7225        background: var(--pu-scrollbar-thumb-color, #888);
7226        border-radius: 4px;
7227    }
7228
7229    .overlay__inner::-webkit-scrollbar-thumb:hover {
7230        background: var(--pu-scrollbar-thumb-color-hover, #555);
7231    }
7232
7233    .close-button__container,
7234    .alt-close-button__container {
7235        --pu-icon-color-background: var(--pu-overlay-color-foreground);
7236        --pu-icon-opacity-background: var(--pu-overlay-opacity-background);
7237        --pu-icon-color-foreground: var(--pu-overlay-color-background);
7238    }
7239
7240    .close-button__container {
7241        position: fixed;
7242        top: 1em;
7243        right: 1em;
7244        z-index: 10;
7245        cursor: pointer;
7246    }
7247
7248    .alt-close-button__container {
7249        position: absolute;
7250        top: 0.5em;
7251        right: 0.5em;
7252        z-index: 10;
7253        cursor: pointer;
7254    }
7255
7256    @media (max-width: 47.9975em) {
7257        .alt-close-button__container {
7258            position: fixed;
7259            top: 1em;
7260            right: 1em;
7261        }
7262    }
7263
7264    .close-button__container > ::slotted(*) {
7265        pointer-events: auto;
7266    }
7267
7268    .close-button__container * {
7269        pointer-events: none;
7270    }
7271`,te`
7272    /** Alignment API - based on content overflow detection */
7273    .overlay--align-top {
7274        align-items: flex-start;
7275    }
7276`];class xa extends Ue{constructor(){super(),this.id="",this.layerIndex=500,this.alignTop=!1,this.isOpen=!1,this.focusTrapListeners=[],this.hasCloseButtonSlot=new Xe(this,"close-button"),this.hasAltCloseButtonSlot=new Xe(this,"alt-close-button"),this.originalBodyOverflow="",this.lastActiveElement=null,this.checkOverlayAlignment=()=>{if(this.overlayElement){const e=this.overlayElement.scrollHeight>this.overlayElement.clientHeight;this.alignTop!==e&&(this.alignTop=e)}},this.show=()=>{this.openOverlay()},this.hide=()=>{this.closeOverlay()},this.debouncedCheckAlignment=ti((()=>{this.checkOverlayAlignment()}),50)}connectedCallback(){super.connectedCallback(),window.addEventListener("overlay-open",this.show),window.addEventListener("overlay-close",this.hide)}firstUpdated(e){super.firstUpdated(e),this.overlayElement&&this.debouncedCheckAlignment&&(this.resizeObserver=new ResizeObserver(this.debouncedCheckAlignment),this.resizeObserver.observe(this.overlayElement),window.addEventListener("resize",this.debouncedCheckAlignment))}disconnectedCallback(){this.isOpen&&this.closeOverlay(),window.removeEventListener("overlay-open",this.show),window.removeEventListener("overlay-close",this.hide),this.resizeObserver&&(this.overlayElement&&this.resizeObserver.unobserve(this.overlayElement),this.resizeObserver.disconnect(),this.resizeObserver=void 0),this.debouncedCheckAlignment&&window.removeEventListener("resize",this.debouncedCheckAlignment),super.disconnectedCallback()}async openOverlay(){if(this.overlayElement&&!this.isOpen){this.lastActiveElement=document.activeElement,this.originalBodyOverflow=document.body.style.overflow,document.body.style.overflow="hidden",this.overlayElement.style.visibility="hidden",this.overlayElement.setAttribute("open",""),this.overlayElement.classList.add("overlay--open"),this.checkOverlayAlignment(),await this.updateComplete,this.overlayElement.style.visibility="visible";const e=function(e){const t=ya(e);return t.length>0?t[0]:null}(this.overlayElement);e?e.focus():this.overlayElement.focus(),this.setupFocusTrap(),this.isOpen=!0,this.emit("pu-show")}}closeOverlay(){this.overlayElement&&this.isOpen&&(this.overlayElement.removeAttribute("open"),this.overlayElement.classList.remove("overlay--open"),this.removeFocusTrap(),document.body.style.overflow=this.originalBodyOverflow,this.lastActiveElement?.focus(),this.isOpen=!1,this.emit("pu-hide"))}handleKeyDown(e){"Escape"===e.key&&this.closeOverlay()}setupFocusTrap(){if(!this.overlayElement)return;const e=e=>{if("Tab"!==e.key)return;const t=ya(this.overlayElement);if(0===t.length)return;const o=t[0],i=t[t.length-1];e.shiftKey?document.activeElement===o&&(e.preventDefault(),i.focus()):document.activeElement===i&&(e.preventDefault(),o.focus())};this.overlayElement.addEventListener("keydown",e),this.focusTrapListeners.push((()=>{this.overlayElement?.removeEventListener("keydown",e)}))}
7276removeFocusTrap(){this.focusTrapListeners.forEach((e=>e())),this.focusTrapListeners=[]}overlayClasses(){const e={};return this.alignTop&&(e["overlay--align-top"]=!0),e}render(){const e=this.overlayClasses();return $`
7277            <div
7278                part="base overlay"
7279                class="overlay ${J(e)}"
7280                id=${this.id}
7281                role="dialog"
7282                aria-modal="true"
7283                aria-label=${this.label||z}
7284                tabindex="-1"
7285                style=${He({"--layer-index":this.layerIndex})}
7286                @keydown="${this.handleKeyDown}">
7287                ${this.hasCloseButtonSlot.test("close-button")?$`
7288                          <div
7289                              part="close"
7290                              class="close-button__container"
7291                              @click="${this.closeOverlay}">
7292                              <slot name="close-button"></slot>
7293                          </div>
7294                      `:null}
7295                <div
7296                    part="content"
7297                    class="overlay__inner">
7298                    ${this.hasAltCloseButtonSlot.test("alt-close-button")?$`
7299                              <div
7300                                  part="alt-close"
7301                                  class="alt-close-button__container"
7302                                  @click="${this.closeOverlay}">
7303                                  <slot name="alt-close-button"></slot>
7304                              </div>
7305                          `:null}
7306                    <slot name="content"></slot>
7307                </div>
7308            </div>
7309        `}}xa.styles=[Me,wa],i([ke()],xa.prototype,"id",void 0),i([ke()],xa.prototype,"label",void 0),i([ke({type:Number})],xa.prototype,"layerIndex",void 0),i([Ce()],xa.prototype,"alignTop",void 0),i([Ce()],xa.prototype,"isOpen",void 0),i([Se(".overlay")],xa.prototype,"overlayElement",void 0),xa.define("pu-overlay");const _a=[te`
7310    :host {
7311        display: inline-flex;
7312        --color-foreground: var(--pu-popover-color-foreground, var(--pu-color-foreground));
7313        --color-background: var(--pu-popover-color-background, var(--pu-color-background));
7314        --pu-color-foreground: var(--pu-popover-color-foreground, inherit);
7315    }
7316    .popover {
7317        position: relative;
7318    }
7319
7320    .popover__content {
7321        color: rgb(from var(--color-foreground) r g b);
7322        background-color: rgb(from var(--color-background) r g b / alpha);
7323    }
7324
7325    .popover__content-inner {
7326        display: flex;
7327        flex-direction: column;
7328        justify-content: start;
7329        align-items: center;
7330        text-align: center;
7331        gap: var(--pu-popover-content-spacing-gap, 1.25em);
7332    }
7333
7334    .popover__content {
7335        position: absolute;
7336        left: initial;
7337        bottom: initial;
7338        top: 0;
7339        right: 0;
7340        border-style: solid;
7341        border-color: var(--pu-popover-border-color, rgb(from var(--pu-color-foreground) r g b / 0.3));
7342        border-width: var(--pu-popover-border-width, 0.0625em);
7343        border-radius: var(--pu-popover-border-radius);
7344        box-shadow: -0.1875em 0.1875em 0.5em 0 rgb(0, 0, 0, 0.3);
7345        padding: var(--pu-popover-space-padding, 1.5em);
7346        width: max-content;
7347
7348        --pu-font-body-scale: 0.8;
7349    }
7350
7351    .popover__content-inner {
7352        gap: var(--pu-popover-content-spacing-gap, 1em);
7353        width: fit-content;
7354    }
7355`];class ka extends Ue{get icon(){return this.iconName}set icon(e){at(this,"icon","iconName",(()=>"user"),e)}constructor(){super(),this.iconName="ellipsis-vertical",this.position="bottom-center",this.distance=0,this.disabled=!1,this.open=!1,this._contentStyles={top:"0px",left:"0px",visibility:"hidden",position:"absolute"},this._handleOutsideClick=e=>{e.target.closest(".popover__open-button")||e.composedPath().includes(this)||(this.open=!1)},this.addEventListener("focusout",this._focusOut)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("click",this._handleOutsideClick)}async handleOpenChange(){this.open?(window.addEventListener("click",this._handleOutsideClick),await this.updateComplete,this.updatePosition()):window.removeEventListener("click",this._handleOutsideClick)}updatePosition(){if(!this._contentElement||!this._containerElement)return;const e=this._containerElement.getBoundingClientRect(),t=this._contentElement.getBoundingClientRect(),o=e.width,i=e.he
7355ight,r=t.width,a=t.height;let s=0,n=0;const l=this.distance;switch(this.position){case"top-left":s=-a-l,n=o-r;break;case"top-center":s=-a-l,n=o/2-r/2;break;case"top-right":s=-a-l,n=0;break;case"bottom-left":s=i+l,n=o-r;break;case"bottom-center":s=i+l,n=o/2-r/2;break;case"bottom-right":s=i+l,n=0;break;case"left":s=i/2-a/2,n=-r-l;break;case"right":s=i/2-a/2,n=o+l}this._contentStyles={top:`${s}px`,left:`${n}px`,visibility:"visible",position:"absolute"}}closePopover(){this.open=!1}openPopover(){this.open=!0}_focusOut(e){e.relatedTarget&&this.contains(e.relatedTarget)||(this.open=!1)}_togglePopover(){this.open=!this.open}popovertemplate(){return this.open?$`
7356                <div
7357                    part="container"
7358                    class="popover__content"
7359                    style=${He(this._contentStyles)}
7360                >
7361                    <div
7362                        part="content"
7363                        class="popover__content-inner"
7364                    >
7365                        <slot></slot>
7366                    </div>
7367                </div>
7368            `:z}render(){return $`
7369            <div
7370                part="base popover"
7371                class="${J({popover:!0,"popover--open":this.open})}"
7372            >
7373                <pu-button-icon
7374                    part="open"
7375                    exportparts="base,icon,svg"
7376                    class="popover__open-button"
7377                    name="${this.iconName}"
7378                    iconSize="large"
7379                    @click=${this._togglePopover}
7380                    ?disabled="${this.disabled}"
7381                >
7382                </pu-button-icon>
7383                ${this.popovertemplate()}
7384            </div>
7385        `}}ka.styles=[Me,_a],ka.dependencies={"pu-button-icon":jt},i([ke()],ka.prototype,"iconName",void 0),i([ke()],ka.prototype,"position",void 0),i([ke({type:Number})],ka.prototype,"distance",void 0),i([ke({type:Boolean})],ka.prototype,"disabled",void 0),i([ke({type:Boolean,reflect:!0})],ka.prototype,"open",void 0),i([Ce()],ka.prototype,"_contentStyles",void 0),i([Se(".popover__content")],ka.prototype,"_contentElement",void 0),i([Se(".popover")],ka.prototype,"_containerElement",void 0),i([ke()],ka.prototype,"icon",null),i([Te("open",{waitUntilFirstUpdate:!0})],ka.prototype,"handleOpenChange",null),ka.define("pu-popover"),fa.define("pu-popup");const Ca=[te`
7386    :host {
7387        --color: var(--pu-color-foreground, inherit);
7388        --line-height: var(--pu-text-leading, inherit);
7389        --spacing: var(--pu-text-tracking, inherit);
7390    }
7391
7392    ::slotted(a[href^='http']) {
7393        color: inherit;
7394        text-underline-offset: 0.3em;
7395    }
7396
7397    .rich-text {
7398        display: block;
7399        color: var(--color);
7400        line-height: var(--line-height, inherit);
7401        letter-spacing: var(--spacing, inherit);
7402        column-gap: var(--pu-rich-text-columns-gap, var(--gap, 1.5em));
7403        margin-bottom: 0;
7404    }
7405`,te`
7406    /* State API Classes */
7407    .txt--break-word {
7408        word-break: break-word;
7409    }
7410
7411    /* Column Layout API Classes */
7412    @media screen and (min-width: 48.06em) {
7413        .txt--columns-2 {
7414            column-count: var(--pu-rich-text-columns, 2);
7415        }
7416
7417        .txt--columns-3 {
7418            column-count: var(--pu-rich-text-columns, 3);
7419        }
7420    }
7421`,et,tt,ot,it];var $a=te`
7422    :host {
7423        --border-radius: var(--pu-skeleton-border-radius);
7424        --color: var(--pu-skeleton-color-foreground);
7425        --sheen-color: var(--pu-skeleton-color-sheen);
7426
7427        display: block;
7428        position: relative;
7429    }
7430
7431    .skeleton {
7432        display: flex;
7433        width: 100%;
7434        height: 100%;
7435        min-height: 1rem;
7436    }
7437
7438    .skeleton__indicator {
7439        flex: 1 1 auto;
7440        background: var(--color);
7441        border-radius: var(--border-radius);
7442    }
7443
7444    .skeleton--sheen .skeleton__indicator {
7445        background: linear-gradient(270deg, var(--sheen-color), var(--color), var(--color), var(--sheen-color));
7446        background-size: 400% 100%;
7447        animation: sheen 8s ease-in-out infinite;
7448    }
7449
7450    .skeleton--pulse .skeleton__indicator {
7451        animation: pulse 2s ease-in-out 0.5s infinite;
7452    }
7453
7454    /* Forced colors mode */
7455    @media (forced-colors: active) {
7456        :host {
7457            --color: GrayText;
7458        }
7459    }
7460
7461    @keyframes sheen {
7462        0% {
7463            background-position: 200% 0;
7464        }
7465        to {
7466            background-position: -200% 0;
7467        }
7468    }
7469
7470    @keyframes pulse {
7471        0% {
7472            opacity: 1;
7473        }
7474        50% {
7475            opacity: 0.4;
7476        }
7477        100% {
7478            opacity: 1;
7479        }
7480    }
7481`;class Sa extends Ue{constructor(){super(...arguments),this.effect="none"}render(){return $`
7482            <div
7483                part="base"
7484                class=${J({skeleton:!0,"skeleton--pulse":"pulse"===this.effect,"skeleton--sheen":"sheen"===this.effect})}
7485            >
7486                <div
7487                    part="indicator"
7488                    class="skeleton__indicator"
7489                ></div>
7490            </div>
7491        `}}Sa.styles=[Me,$a],i([ke()],Sa.prototype,"effect",void 0);class za extends Ue{constructor(){super(...arguments),this.variant="bodyMd",this.lineHeight="normal",this.columns=1,this.breakWord=!1}render(){return $`
7492            <div
7493                part="base rich-text"
7494                class="rich-text${J({[`txt--${this.variant}`]:!0,[`txt--line-height-${this.lineHeight}`]:this.lineHeight,[`txt--columns-${this.columns}`]:this.columns>1,[`txt--align-${this.textAlign}`]:void 0!==this.textAlign,[`txt--narrow-align-${this.textAlignNarrow}`]:void 0!==this.textAlignNarrow,[`txt--narrow-align-${this.textAlign}`]:!this.textAlignNarrow,"txt--break-word":!!this.breakWord})}"
7495                style=${He({"--gap":this.columnsSpacing?parseInt(this.columnsSpacing)/16+"em":void 0})}
7496            >
7497                <slot></slot>
7498            </div>
7499        `}}za.styles=[Me,Ca],za.dependencies={"pu-skeleton":Sa},i([ke()],za.prototype,"variant",void 0),i([ke()],za.prototype,"lineHeight",void 0),i([ke()],za.prototype,"textAlign",void 0),i([ke()],za.prototype,"textAlignNarrow",void 0),i([ke({type:Number})],za.prototype,"columns",void 0),i([ke()],za.prototype,"columnsSpacing",void 0),i([ke({type:Boolean})],za.prototype,"breakWord",void 0),za.define("pu-rich-text");class Aa extends Ue{constructor(){super(...arguments),this.variant="solid",this.disabled=!1,this.deprecatedPropertyMap=[{old:"buttonStyle",new:"variant",defaultValue:"solid"}],this.hasFocus=!1,this.checked=!1}get buttonStyle(){return this.variant}set buttonStyle(e){this._handleDeprecated("buttonStyle",e)}_handleDeprecated(e,t){st(this,e,t,this.deprecatedPropertyMap)}connectedCallback(){super.connectedCallback(),this.setAttribute("role","presentation")}handleBlur(){this.hasFocus=!1,this.emit("pu-blur")}handleFocus(){this.hasFocus=!0,this.emit("pu-focus")}handleClick(e){if(this.disabled)return e.preventDefault(),void e.stopPropagation();this.checked=!0,this.emit("pu-change")}handleInput(){this.emit("pu-input")}handleDisabledChange(){this.setAttribute("aria-disabled",this.disabled?"true":"false")}focus(e){this.input?.focus(e)}blur(){this.input?.blur()}render(){return $`
7500            <button
7501                part="${"button"+(this.checked?" button--checked":"")}"
7502                class="${J({button:!0,"button--checked":this.checked,"button--disabled":this.disabled,"button--focused":this.hasFocus,"btn--plain":"plain"===this.variant,"btn--plain-underline":"plain-underline"===this.variant,"btn--outline":"outline"===this.variant,[`btn--size-${this.size}`]:!!this.size})}"
7503                type="button"
7504                role="radio"
7505                value=${Ze(this.value)}
7506                aria-disabled=${this.disabled}
7507                aria-checked="${this.checked}"
7508                @blur=${this.handleBlur}
7509                @focus=${this.handleFocus}
7510                @input=${this.handleInput}
7511                @click="${this.handleClick}"
7512            >
7513                <span class="button__label">
7514                    <slot> Label </slot>
7515                    <slot name="label"></slot>
7516                </span>
7517            </button>
7518        `}}Aa.styles=[Me,Tt],i([ke()],Aa.prototype,"value",void 0),i([ke()],Aa.prototype,"size",void 0),i([ke()],Aa.prototype,"variant",void 0),i([ke({type:Boolean,reflect:!0})],Aa.prototype,"disabled",void 0),i([ke()],Aa.prototype,"buttonStyle",null),i([Se(".button")],Aa.prototype,"input",void 0),i([Ce()],Aa.prototype,"hasFocus",void 0),i([ke({type:Boolean,reflect:!0})],Aa.prototype,"checked",void 0),i([Te("disabled",{waitUntilFirstUpdate:!0})],Aa.prototype,"handleDisabledChange",null),Aa.define("pu-radio-button"),jo.define("pu-section");const Pa=new Map,Na=new WeakMap;function Ea(e,t){return"rtl"===t.toLowerCase()?{keyframes:e.rtlKeyframes||e.keyframes,options:e.options}:e}function Ba(e,t){Pa.set(e,function(e){return e??{keyframes:[],options:{duration:0}}}(t))}function Ta(e,t,o){const i=Na.get(e);if(i?.[t])return Ea(i[t],o.dir);const r=Pa.get(t);return r?Ea(r,o.dir):{keyframes:[],options:{duration:0}}}function Ia(e,t,o="vertical",i="smooth"){const r=function(e,t){return{top:Math.round(e.getBoundingClientRect().top-t.getBoundingClientRect().top),left
7518:Math.round(e.getBoundingClientRect().left-t.getBoundingClientRect().left)}}(e,t),a=r.top+t.scrollTop,s=r.left+t.scrollLeft,n=t.scrollLeft,l=t.scrollLeft+t.offsetWidth,d=t.scrollTop,p=t.scrollTop+t.offsetHeight;"horizontal"!==o&&"both"!==o||(s<n?t.scrollTo({left:s,behavior:i}):s+e.clientWidth>l&&t.scrollTo({left:s-t.offsetWidth+e.clientWidth,behavior:i})),"vertical"!==o&&"both"!==o||(a<d?t.scrollTo({top:a,behavior:i}):a+e.clientHeight>p&&t.scrollTo({top:a-t.offsetHeight+e.clientHeight,behavior:i}))}function Ma(e,t){return new Promise((o=>{e.addEventListener(t,(function i(r){r.target===e&&(e.removeEventListener(t,i),o())}))}))}const ja=[qt,te`
7519    :host {
7520        display: block;
7521    }
7522
7523    /* The popup */
7524    .select {
7525        flex: 1 1 auto;
7526        display: inline-flex;
7527        width: 100%;
7528        position: relative;
7529        vertical-align: middle;
7530    }
7531
7532    select[data-current-placement^='top']::part(popup) {
7533        transform-origin: bottom;
7534    }
7535
7536    select[data-current-placement^='bottom']::part(popup) {
7537        transform-origin: top;
7538    }
7539
7540    select:not(.select--disabled):hover .select__display-input {
7541        color: rgb(from var(--pu-input-color-foreground-hover, inherit) r g b / alpha);
7542    }
7543
7544    .select:not(.select--disabled):not(.select--open).select--focused .select__combobox {
7545        background-color: rgb(from var(--pu-color-focus-background) r g b / alpha);
7546        border-color: rgb(from var(--pu-color-focus-border, inherit) r g b / alpha);
7547        box-shadow:
7548            0 0 0 0.0625em var(--pu-color-focus-background),
7549            0 0 0 0.25em var(--pu-color-focus-ring, hsl(213.1 93.9% 67.8%));
7550    }
7551
7552    .select:not(.select--disabled) .select__combobox:hover {
7553        border-color: rgb(from var(--pu-input-border-color-hover, hsl(240, 4%, 46%)) r g b / alpha);
7554    }
7555
7556    /* Combobox - main field display styles */
7557    .select__combobox {
7558        flex: 1;
7559        display: flex;
7560        justify-content: start;
7561        align-items: center;
7562        position: relative;
7563        background-color: rgb(from var(--pu-input-color-background, hsl(0 0% 99.5%)) r g b / alpha);
7564        border-style: solid;
7565        border-width: var(--pu-input-border-width, 0.0625em);
7566        border-color: rgb(
7567            from var(--pu-input-border-color, hsl(240, 5%, 65%)) r g b / calc(alpha * var(--pu-input-opacity-border, 1))
7568        );
7569        border-radius: var(--pu-input-border-radius, var(--pu-border-input-size-corner-radius, 0.5em));
7570        letter-spacing: var(--pu-input-font-tracking, 0.05em);
7571        padding-inline: var(--pu-input-space-padding);
7572        padding-block: 0;
7573        vertical-align: middle;
7574        overflow: hidden;
7575        min-height: var(--pu-input-size-height);
7576        min-width: 0;
7577        width: 100%;
7578        cursor: pointer;
7579        transition:
7580            var(--pu-transition-duration-150) color,
7581            var(--pu-transition-duration-150) border,
7582            var(--pu-transition-duration-150) box-shadow,
7583            var(--pu-transition-duration-150) background-color;
7584    }
7585
7586    /* Display input */
7587    .select__display-input {
7588        font-family: var(--pu-text-body-family);
7589        font-size: var(--pu-input-font-size);
7590        position: relative;
7591        width: 100%;
7592        border: none;
7593        background: none;
7594        color: rgb(from var(--pu-input-color-foreground, inherit) r g b / alpha);
7595        overflow: hidden;
7596        padding: 0 var(--pu-space-200) 0 0;
7597        margin: 0;
7598        -webkit-appearance: none;
7599        cursor: inherit;
7600    }
7601
7602    .select__display-input::placeholder {
7603        color: rgb(var(--pu-input-placeholder-color-foreground, hsl(240, 4%, 46%)) r g b / alpha);
7604    }
7605    .select__display-input:focus {
7606        outline: none;
7607    }
7608
7609    /* Hidden input */
7610    .select__value-input {
7611        position: absolute;
7612        top: 0;
7613        left: 0;
7614        width: 100%;
7615        height: 100%;
7616        padding: 0;
7617        margin: 0;
7618        opacity: 0;
7619        z-index: -1;
7620    }
7621
7622    /* Tags */
7623    .select__tags {
7624        display: flex;
7625        flex: 1;
7626        align-items: center;
7627        flex-wrap: wrap;
7628        margin-inline-start: var(--pu-space-100, 0.25em);
7629    }
7630    .select__tags::slotted(pu-tag) {
7631        cursor: pointer !important;
7632    }
7633
7634    /* Prefix */
7635    .select__prefix {
7636        flex: 0;
7637        display: inline-flex;
7638        align-items: center;
7639        --pu-icon-color-foreground: rgb(from var(--pu-input-icon-color-foreground, hsl(240 5.9% 10%)) r g b / alpha);
7640    }
7641
7642    /* Suffix */
7643    .select__suffix {
7644        flex: 0;
7645        display: inline-flex;
7646        align-items: center;
7647        --pu-icon-color-foreground: rgb(from var(--pu-input-icon-color-foreground, hsl(240 5.9% 10%)) r g b / alpha);
7648    }
7649
7650    /* Clear button */
7651    .select__clear {
7652        display: inline-flex;
7653        align-items: center;
7654        justify-content: center;
7655        font-size: inherit;
7656        border: none;
7657        background: none;
7658        padding: 0;
7659        transition: var(--pu-transition-duration-150) color;
7660        cursor: pointer;
7661        --pu-icon-color-foreground: rgb(from var(--pu-input-icon-color-foreground, hsl(240 5.9% 10%)) r g b / alpha);
7662    }
7663    .select__clear:hover {
7664        color: rgb(from var(--pu-input-icon-color-foreground-hover, hsl(0 0% 99.5%)) r g b / alpha);
7665    }
7666    .select__clear:focus {
7667        outline: none;
7668    }
7669
7670    /* Expand icon */
7671    .select__expand-icon {
7672        flex: 0 0 auto;
7673        display: flex;
7674        align-items: center;
7675        transition: var(--pu-transition-duration-250, 0.25s) rotate ease;
7676        rotate: 0;
7677        margin-inline-start: var(--pu-space-100, 0.25em);
7678    }
7679
7680    /* Listbox */
7681    .select__listbox {
7682        display: block;
7683        position: relative;
7684        font-family: var(--pu-text-body-family);
7685        font-size: var(--pu-text-body-size-md, 0.875em);
7686        box-shadow: var(--pu-shadow-elevation-300);
7687        background: rgb(from var(--pu-select-panel-color-background, hsl(0 0% 99.5%)) r g b / alpha);
7688        border-radius: var(--pu-input-border-radius, var(--pu-border-input-size-corner-radius, 0.25em));
7689        padding-block: var(--pu-space-300, 0.75em);
7690        padding-inline: 0;
7691        overflow: auto;
7692        overscroll-behavior: none;
7693        max-width: var(--auto-size-available-width);
7694        max-height: var(--auto-size-available-height);
7695    }
7696    .select__listbox ::slotted(pu-divider) {
7697        --spacing: var(--pu-space-200, 0.5em);
7698    }
7699    @media (max-width: 47.9975em) {
7700        .select__listbox {
7701            padding-block: var(--pu-space-400, 0.75em);
7702        }
7703    }
7704`,te`
7705    /* State API Classes */
7706    .select.select--disabled .select__combobox {
7707        background-color: rgb(from var(--pu-input-color-background-disabled, hsl(240, 5%, 96%)) r g b / alpha);
7708        border-color: rgb(from var(--pu-input-border-color-disabled, hsl(240, 5%, 84%), inherit) r g b / alpha);
7709        color: rgb(from var(--pu-input-color-foreground-disabled, inherit) r g b / alpha);
7710        opacity: 0.5;
7711        cursor: not-allowed;
7712        outline: none;
7713    }
7714
7715    .select--disabled .select__tags,
7716    .select--disabled .select__tags::slotted(sl-tag) {
7717        cursor: not-allowed !important;
7718    }
7719
7720    /* Boolean Property API - Open State */
7721    .select--open .select__expand-icon {
7722        rotate: -180deg;
7723    }
7724
7725    /* Boolean Property API - narrow Float Bottom */
7726    @media (max-width: 47.9975em) {
7727        .select.select--narrow-float-bottom .select__listbox {
7728            border-bottom-left-radius: 0;
7729            border-bottom-right-radius: 0;
7730        }
7731    }
7732
7733    /* Size API Classes - Small */
7734    /* Use rems due to the use of the font-size property */
7735    .select--small .select__combobox {
7736        --pu-input-font-size: var(--pu-select-font-size, var(--pu-text-body-size-xs, 0.75rem));
7737        --pu-input-size-height: var(--pu-select-size-height, var(--pu-space-800, 2rem));
7738        --pu-input-space-padding: var(--pu-select-space-inline-padding, var(--pu-space-300, 0.75rem));
7739        --pu-border-input-size-corner-radius: var(--pu-select-border-radius, var(--pu-border-radius-050, 0.125rem));
7740    }
7741    .select--small .select__clear {
7742        margin-inline-start: var(--pu-space-100, 0.25em);
7743    }
7744    .select--small .select__prefix::slotted(*) {
7745        margin-inline-end: var(--pu-space-200, 0.5em);
7746    }
7747    .select--small.select--multiple:not(.select--placeholder-visible) .select__combobox {
7748        padding-block: 0.125em;
7749        padding-inline-start: 0;
7750    }
7751    .select--small .select__tags {
7752        gap: 0.125em;
7753    }
7754
7755    /* Size API Classes - Medium */
7756    .select--medium .select__combobox {
7757        --pu-input-font-size: var(--pu-select-font-size, var(--pu-text-body-size-sm, 0.875rem));
7758        --pu-input-size-height: var(--pu-select-size-height, var(--pu-space-1000, 2.5rem));
7759        --pu-input-space-padding: var(--pu-select-space-inline-padding, var(--pu-space-400, 1rem));
7760        --pu-border-input-size-corner-radius: var(--pu-select-border-radius, var(--pu-border-radius-100, 0.25rem));
7761    }
7762    .select--medium .select__clear {
7763        margin-inline-start: var(--pu-space-200, 0.5em);
7764    }
7765    .select--medium .select__prefix::slotted(*) {
7766        margin-inline-end: var(--pu-space-300, 0.75em);
7767    }
7768    .select--medium.select--multiple:not(.select--placeholder-visible) .select__combobox {
7769        padding-inline-start: 0;
7770        padding-block: 0.1875em;
7771    }
7772    .select--medium .select__tags {
7773        gap: 0.1875rem;
7774    }
7775
7776    /* Size API Classes - Large */
7777    .select--large .select__combobox {
7778        --pu-input-font-size: var(--pu-select-font-size, var(--pu-text-body-size-md, 1rem));
7779        --pu-input-size-height: var(--pu-select-size-height, var(--pu-space-1200, 3rem));
7780        --pu-input-space-padding: var(--pu-select-space-inline-padding, var(--pu-space-500, 1.25rem));
7781        --pu-border-input-size-corner-radius: var(--pu-select-border-radius, var(--pu-border-radius-200, 0.5rem));
7782    }
7783    .select--large .select__clear {
7784        margin-inline-start: var(--pu-space-300, 0.75rem);
7785    }
7786    .select--large .select__prefix::slotted(*) {
7787        margin-inline-end: var(--pu-space-400, 1rem);
7788    }
7789    .select--large.select--multiple:not(.select--placeholder-visible) .select__combobox {
7790        padding-inline-start: 0;
7791        padding-block: 0.25rem;
7792    }
7793    .select--large .select__tags {
7794        gap: 0.25em;
7795    }
7796
7797    /* Boolean Property API - Fit to Content */
7798    .select__combobox--fit-to-content .select__display-input {
7799        field-sizing: content;
7800    }
7801
7802    /* Label Position API Classes */
7803    .select--label-inset-top:not(.select--hide-label).select--has-label.select--small .select__combobox,
7804    .select--label-inset-top:not(.select--hide-label).select--has-label.select--medium .select__combobox,
7805    .select--label-inset-top:not(.select--hide-label).select--has-label.select--large .select__combobox {
7806        height: calc(var(--pu-input-size-height) + calc(var(--pu-input-space-padding) * 1.5));
7807        padding-top: calc(var(--pu-input-space-padding) * 1.5);
7808    }
7809
7810    /* Multiple Selection API Classes */
7811    .select--multiple:not(.select--placeholder-visible) .select__display-input {
7812        position: absolute;
7813        z-index: -1;
7814        top: 0;
7815        left: 0;
7816        width: 100%;
7817        height: 100%;
7818        opacity: 0;
7819    }
7820`];class Oa extends Ue{constructor(){super(...arguments),this.formControlController=new Et(this,{assumeInteractionOn:["pu-blur","pu-input"]}),this.hasSlotController=new Xe(this,"help-text","label"),this.typeToSelectStr
7820ing="",this.hasFocus=!1,this.displayLabel="",this.selectedOptions=[],this.valueHasChanged=!1,this.name="",this.value="",this.defaultValue="",this.size="medium",this.placeholder="",this.fitContent=!1,this.multiple=!1,this.maxOptions=3,this.disabled=!1,this.autofocus=!1,this.clearable=!1,this.open=!1,this.label="",this.labelHidden=!1,this.placement="bottom",this.floatBottomNarrow=!1,this.positionLabel="above",this.distance=10,this.helpText="",this.form="",this.required=!1,this.deprecatedPropertyMap=[{old:"hideLabel",new:"labelHidden",defaultValue:!1},{old:"maxOptionsVisible",new:"maxOptions",defaultValue:3},{old:"mobileFloatBottom",new:"floatBottomNarrow",defaultValue:!1}],this.handleDocumentFocusIn=e=>{const t=e.composedPath();this&&!t.includes(this)&&this.hide()},this.handleDocumentKeyDown=e=>{const t=e.target,o=null!==t.closest(".select__clear"),i=null!==t.closest("pu-icon-button");if(!o&&!i){if("Escape"===e.key&&this.open&&!this.closeWatcher&&(e.preventDefault(),e.stopPropagation(),this.hide(),this.displayInput.focus({preventScroll:!0})),"Enter"===e.key||" "===e.key&&""===this.typeToSelectString)return e.preventDefault(),e.stopImmediatePropagation(),this.open?void(this.currentOption&&!this.currentOption.disabled&&(this.valueHasChanged=!0,this.multiple?this.toggleOptionSelection(this.currentOption):this.setSelectedOptions(this.currentOption),this.updateComplete.then((()=>{this.emit("pu-input"),this.emit("pu-change")})),this.multiple||(this.hide(),this.displayInput.focus({preventScroll:!0})))):void this.show();if(["ArrowUp","ArrowDown","Home","End"].includes(e.key)){const t=this.getAllOptions(),o=t.indexOf(this.currentOption);let i=Math.max(0,o);if(e.preventDefault(),!this.open&&(this.show(),this.currentOption))return;"ArrowDown"===e.key?(i=o+1,i>t.length-1&&(i=0)):"ArrowUp"===e.key?(i=o-1,i<0&&(i=t.length-1)):"Home"===e.key?i=0:"End"===e.key&&(i=t.length-1),this.setCurrentOption(t[i])}if(e.key&&1===e.key.length||"Backspace"===e.key){const t=this.getAllOptions();if(e.metaKey||e.ctrlKey||e.altKey)return;if(!this.open){if("Backspace"===e.key)return;this.show()}e.stopPropagation(),e.preventDefault(),clearTimeout(this.typeToSelectTimeout),this.typeToSelectTimeout=window.setTimeout((()=>this.typeToSelectString=""),1e3),"Backspace"===e.key?this.typeToSelectString=this.typeToSelectString.slice(0,-1):this.typeToSelectString+=e.key.toLowerCase();for(const e of t){if(e.getTextLabel().toLowerCase().startsWith(this.typeToSelectString)){this.setCurrentOption(e);break}}}}},this.handleDocumentMouseDown=e=>{const t=e.composedPath();this&&!t.includes(this)&&this.hide()}}get hideLabel(){return this.labelHidden}set hideLabel(e){this._handleDeprecated("hideLabel",e)}get maxOptionsVisible(){return this.maxOptions}set maxOptionsVisible(e){this._handleDeprecated("maxOptionsVisible",e)}get mobileFloatBottom(){return this.floatBottomNarrow}set mobileFloatBottom(e){this._handleDeprecated("mobileFloatBottom",e)}_handleDeprecated(e,t){st(this,e,t,this.deprecatedPropertyMap)}get validity(){return this.valueInput.validity}get validationMessage(){return this.valueInput.validationMessage}connectedCallback(){super.connectedCallback(),setTimeout((()=>{this.handleDefaultSlotChange()})),this.open=!1}addOpenListeners(){document.addEventListener("focusin",this.handleDocumentFocusIn),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown),this.getRootNode()!==document&&this.getRootNode().addEventListener("focusin",this.handleDocumentFocusIn),"CloseWatcher"in window&&(this.closeWatcher?.destroy(),this.closeWatcher=new CloseWatcher,this.closeWatcher.onclose=()=>{this.open&&(this.hide(),this.displayInput.focus({preventScroll:!0}))})}removeOpenListeners(){document.removeEventListener("focusin",this.handleDocumentFocusIn),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown),this.getRootNode()!==document&&this.getRootNode().removeEventListener("focusin",this.handleDocumentFocusIn),this.closeWatcher?.destroy()}handleFocus(){this.hasFocus=!0,this.displayInput.setSelectionRange(0,0),this.emit
7820("pu-focus")}handleBlur(){this.hasFocus=!1,this.emit("pu-blur")}handleLabelClick(){this.displayInput.focus()}handleComboboxMouseDown(e){const t=e.composedPath().some((e=>e instanceof Element&&"pu-icon-button"===e.tagName.toLowerCase()));this.disabled||t||(e.preventDefault(),this.displayInput.focus({preventScroll:!0}),this.open=!this.open)}handleComboboxKeyDown(e){"Tab"!==e.key&&(e.stopPropagation(),this.handleDocumentKeyDown(e))}handleClearClick(e){e.stopPropagation(),""!==this.value&&(this.setSelectedOptions([]),this.displayInput.focus({preventScroll:!0}),this.updateComplete.then((()=>{this.emit("pu-clear"),this.emit("pu-input"),this.emit("pu-change")})))}handleClearMouseDown(e){e.stopPropagation(),e.preventDefault()}handleDefaultSlotChange(){customElements.get("wa-option")||customElements.whenDefined("wa-option").then((()=>this.handleDefaultSlotChange()));const e=this.getAllOptions(),t=this.valueHasChanged?this.value:this.defaultValue,o=Array.isArray(t)?t:[t],i=[];e.forEach((e=>i.push(e.value))),this.setSelectedOptions(e.filter((e=>o.includes(e.value))))}handleOptionClick(e){const t=e.target.closest("pu-option"),o=this.value;t&&!t.disabled&&(this.valueHasChanged=!0,this.multiple?this.toggleOptionSelection(t):this.setSelectedOptions(t),this.updateComplete.then((()=>this.displayInput.focus({preventScroll:!0}))),this.value!==o&&this.updateComplete.then((()=>{this.emit("pu-input"),this.emit("pu-change")})),this.multiple||(this.hide(),this.displayInput.focus({preventScroll:!0})))}getAllOptions(){return[...this.querySelectorAll("pu-option")]}getFirstOption(){return this.querySelector("pu-option")}numOptionsSelected(e){return 0===e?"No options selected":1===e?"1 option selected":`${e} options selected`}setCurrentOption(e){this.getAllOptions().forEach((e=>{e.current=!1,e.tabIndex=-1})),e&&(this.currentOption=e,e.current=!0,e.tabIndex=0,e.focus())}setSelectedOptions(e){const t=this.getAllOptions(),o=Array.isArray(e)?e:[e];t.forEach((e=>e.selected=!1)),o.length&&o.forEach((e=>e.selected=!0)),this.selectionChanged()}toggleOptionSelection(e,t){e.selected=!0===t||!1===t?t:!e.selected,this.selectionChanged()}selectionChanged(){const e=this.getAllOptions();if(this.selectedOptions=e.filter((e=>e.selected)),this.multiple)this.value=this.selectedOptions.map((e=>e.value)),this.placeholder&&0===this.value.length?this.displayLabel="":this.displayLabel=this.numOptionsSelected(this.selectedOptions.length);else{const e=this.selectedOptions[0];this.value=e?.value??"",this.displayLabel=e?.getTextLabel?.()??""}this.updateComplete.then((()=>{this.formControlController.updateValidity()}))}handleInvalid(e){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(e)}handleDisabledChange(){this.disabled&&(this.open=!1,this.handleOpenChange())}handleValueChange(){const e=this.getAllOptions(),t=Array.isArray(this.value)?this.value:[this.value];this.setSelectedOptions(e.filter((e=>t.includes(e.value))))}async handleOpenChange(){if(this.open&&!this.disabled){this.setCurrentOption(this.selectedOptions[0]||this.getFirstOption()),this.emit("pu-show"),this.addOpenListeners(),await Ee(this),this.listbox.hidden=!1,this.popup.active=!0,requestAnimationFrame((()=>{this.setCurrentOption(this.currentOption)}));const{keyframes:e,options:t}=Ta(this,"select.show",{dir:"ltr"});await Pe(this.popup.popup,e,t),this.currentOption&&Ia(this.currentOption,this.listbox,"vertical","auto"),this.emit("pu-after-show")}else{this.emit("pu-hide"),this.removeOpenListeners(),await Ee(this);const{keyframes:e,options:t}=Ta(this,"select.hide",{dir:"ltr"});await Pe(this.popup.popup,e,t),this.listbox.hidden=!0,this.popup.active=!1,this.emit("pu-after-hide")}}async show(){if(!this.open&&!this.disabled)return this.open=!0,Ma(this,"pu-after-show");this.open=!1}async hide(){if(this.open&&!this.disabled)return this.open=!1,Ma(this,"pu-after-hide");this.open=!1}checkValidity(){return this.valueInput.checkValidity()}getForm(){return this.formControlController.getForm()}reportValidity(){return this.valueInput.reportValidity()}setCustomValidity(e){this.valueInput.setCustomValidity(e),this.formControlController.updateValidity()}focus(e){this.displayInput.focus(e)}blur(){this.displayInput.blur()}render(){const e=this.hasSlotController.test("label"),t=this.hasSlotController.test("help-text"),o=!!this.label||!!e,i=!!this.helpText||!!t,r=this.clearable&&!this.disabled&&this.value.length>0,a=this.placeholder&&this.value&&this.value.length<=0;return $`
7821            <div
7822                part="base select"
7823                class=${J({"form-control":!0,"form-control--small":"small"===this.size,"form-control--medium":"medium"===this.size,"form-control--large":"large"===this.size,"form-control--has-label":o,"form-control--has-help-text":i,"form-control--hide-label":this.labelHidden,[`form-control--label-${this.positionLabel}`]:!0})}
7824            >
7825                ${"above"===this.positionLabel||"inset-top"===this.positionLabel?$`
7826                          <label
7827                              id="label"
7828                              part="label"
7829                              class="${J({"form-control__label":!0,"form-control__label--visually-hidden":this.labelHidden})}"
7830                              aria-hidden=${o?"false":"true"}
7831                              @click=${this.handleLabelClick}
7832                          >
7833                              <slot name="label">${this.label}</slot>
7834                          </label>
7835                      `:""}
7836                <div
7837                    part="input"
7838                    class="form-control-input"
7839                >
7840                    <pu-popup
7841                        class=${J({select:!0,"select--open":this.open,"select--disabled":this.disabled,"select--multiple":this.multiple,"select--focused":this.hasFocus,"select--placeholder-visible":a,"select--top":"top"===this.placement,"select--bottom":"bottom"===this.placement,"select--small":"small"===this.size,"select--medium":"medium"===this.size,"select--large":"large"===this.size,"select--has-label":o,"select--hide-label":this.labelHidden,"select--narrow-float-bottom":this.floatBottomNarrow,[`select--label-${this.positionLabel}`]:!0})}
7842                        placement=${this.placement}
7843                        distance=${this.distance}
7844                        flip
7845                        shift
7846                        sync="width"
7847                        auto-size="vertical"
7848                        auto-size-padding="12"
7849                        ?narrowFloatBottom=${this.floatBottomNarrow}
7850                        exportparts="hover-bridge,popup,arrow,overlay"
7851                    >
7852                        <div
7853                            part="combobox"
7854                            class=${J({select__combobox:!0,"select__combobox--fit-to-content":this.fitContent})}
7855                            slot="anchor"
7856                            @keydown=${this.handleComboboxKeyDown}
7857                            @mousedown=${this.handleComboboxMouseDown}
7858                        >
7859                            <slot
7860                                part="prefix"
7861                                name="prefix"
7862                                class="select__prefix"
7863                            ></slot>
7864                            ${"inset-left"===this.positionLabel?$`
7865                                      <label
7866                                          id="label"
7867                                          part="label"
7868                                          class="${J({"form-control__label":!0,"form-control__label--visually-hidden":this.labelHidden})}"
7869                                          aria-hidden=${o?"false":"true"}
7870                                          @click=${this.handleLabelClick}
7871                                      >
7872                                          <slot name="label">${this.label}</slot>
7873                                      </label>
7874                                  `:""}
7875                            <input
7876                                part="display"
7877                                class="select__display-input"
7878                                type="text"
7879                                placeholder=${this.placeholder}
7880                                .disabled=${this.disabled}
7881                                .value=${this.displayLabel}
7882                                autocomplete="off"
7883                                spellcheck="false"
7884                                autocapitalize="off"
7885                                ?autofocus=${this.autofocus}
7886                                readonly
7887                                aria-controls="listbox"
7888                                aria-expanded=${this.open?"true":"false"}
7889                                aria-haspopup="listbox"
7890                                aria-labelledby="label"
7891                                aria-disabled=${this.disabled?"true":"false"}
7892                                aria-describedby="help-text"
7893                                role="combobox"
7894                                tabindex="0"
7895                                @focus=${this.handleFocus}
7896                                @blur=${this.handleBlur}
7897                            />
7898                            <input
7899                                class="select__value-input"
7900                                type="text"
7901                                ?disabled=${this.disabled}
7902                                ?required=${this.required}
7903                                .value=${Array.isArray(this.value)?this.value.join(", "):this.value}
7904                                tabindex="-1"
7905                                aria-hidden="true"
7906                                @focus=${()=>this.focus()}
7907                                @invalid=${this.handleInvalid}
7908                            />
7909                            ${r?$`
7910                                      <button
7911                                          part="clear"
7912                                          class="select__clear"
7913                                          type="button"
7914                                          aria-label="Clear entry"
7915                                          @mousedown=${this.handleClearMouseDown}
7916                                          @click=${this.handleClearClick}
7917                                          tabindex="-1"
7918                                      >
7919                                          <slot name="clear-icon">
7920                                              <pu-icon
7921                                                  exportparts="base,svg"
7922                                                  name="close"
7923                                              ></pu-icon>
7924                                          </slot>
7925                                      </button>
7926                                  `:""}
7927                            <slot
7928                                name="suffix"
7929                                part="suffix"
7930                                class="select__suffix"
7931                            ></slot>
7932                            <slot
7933                                name="expand-icon"
7934                                part="expand"
7935                                class="select__expand-icon"
7936                            >
7937                                <pu-icon
7938                                    exportparts="base,svg"
7939                                    name="chevron-down"
7940                                ></pu-icon>
7941                            </slot>
7942                        </div>
7943                        <div
7944                            part="listbox"
7945                            class="select__listbox"
7946                            id="listbox"
7947                            role="listbox"
7948                            aria-expanded=${this.open?"true":"false"}
7949                            aria-multiselectable=${this.multiple?"true":"false"}
7950                            aria-labelledby="label"
7951                            tabindex="-1"
7952                            @mouseup=${this.handleOptionClick}
7953                            @slotchange=${this.handleDefaultSlotChange}
7954                        >
7955                            <slot></slot>
7956                        </div>
7957                    </pu-popup>
7958                </div>
7959                <div
7960                    part="help-text"
7961                    id="help-text"
7962                    class="form-control__help-text"
7963                    aria-hidden=${i?"false":"true"}
7964                >
7965                    <slot name="help-text">${this.helpText}</slot>
7966                </div>
7967            </div>
7968        `}}Oa.styles=[Me,ja],Oa.dependencies={"pu-icon":Ge,"pu-popup":fa},i([Se(".select")],Oa.prototype,"popup",void 0),i([Se(".select__combobox")],Oa.prototype,"combobox",void 0),i([Se(".select__display-input")],Oa.prototype,"displayInput",void 0),i([Se(".select__value-input")],Oa.prototype,"valueInput",void 0),i([Se(".select__listbox")],Oa.prototype,"listbox",void 0),i([Ce()],Oa.prototype,"hasFocus",void 0),i([Ce()],Oa.prototype,"displayLabel",void 0),i([Ce()],Oa.prototype,"currentOption",void 0),i([Ce()],Oa.prototype,"selectedOptions",void 0),i([Ce()],Oa.prototype,"valueHasChanged",void 0),i([ke()],Oa.prototype,"name",void 0),i([ke({converter:{fromAttribute:e=>e.split(" "),toAttribute:e=>e.join(" ")}})],Oa.prototype,"value",void 0),i([Ft()],Oa.prototype,"defaultValue",void 0),i([ke({reflect:!0})],Oa.prototype,"size",void 0),i([ke()],Oa.prototype,"placeholder",void 0),i([ke({type:Boolean})],Oa.prototype,"fitContent",void 0),i([ke({type:Boolean,reflect:!0})],Oa.prototype,"multiple",void 0),i([ke({attribute:"max-options",type:Number})],Oa.prototype,"maxOptions",void 0),i([ke({type:Boolean,reflect:!0})],Oa.prototype,"disabled",void 0),i([ke({type:Boolean})],Oa.prototype,"autofocus",void 0),i([ke({type:Boolean})],Oa.prototype,"clearable",void 0),i([ke({type:Boolean,reflect:!0})],Oa.prototype,"open",void 0),i([ke()],Oa.prototype,"label",void 0),i([ke({type:Boolean})],Oa.prototype,"labelHidden",void 0),i([ke({reflect:!0})],Oa.prototype,"placement",void 0),i([ke({type:Boolean})],Oa.prototype,"floatBottomNarrow",void 0),i([ke()],Oa.prototype,"positionLabel",void 0),i([ke({type:Number})],Oa.prototype,"distance",void 0),i([ke()],Oa.prototype,"helpText",void 0),i([ke({reflect:!0})],Oa.prototype,"form",void 0),i([ke({type:Boolean,reflect:!0})],Oa.prototype,"required",void 0),i([ke({type:Boolean})],Oa.prototype,"hideLabel",null),i([ke({attribute:"max-options-visible",type:Number})],Oa.prototype,"maxOptionsVisible",null),i([ke({type:Boolean})],Oa.prototype,"mobileFloatBottom",null),i([Te("disabled",{waitUntilFirstUpdate:!0})],Oa.prototype,"handleDisabledChange",null),i([Te("value",{waitUntilFirstUpdate:!0})],Oa.prototype,"handleValueChange",null),i([Te("open",{waitUntilFirstUpdate:!0})],Oa.prototype,"handleOpenChange",null),Ba("select.show",{keyframes:[{opacity:0,scale:.9},{opacity:1,scale:1}],options:{duration:100,easing:"ease"}}),Ba("select.hide",{keyframes:[{opacity:1,scale:1},{opacity:0,scale:.9}],options:{duration:100,easing:"ease"}}),Oa.define("pu-select");if(!("onscrollend"in window)){const ts=new Event("scrollend"),os=new Set;document.addEventListener("touchstart",(e=>{for(let t of e.changedTouches)os.add(t.identifier)}),{passive:!0}),document.addEventListener("touchend",(e=>{for(let t of e.changedTouches)os.delete(t.identifier)}),{passive:!0});let is=new WeakMap;function rs(e,t,o){let i=e[t];e[t]=function(){let e=Array.prototype.slice.apply(arguments,[0]);i.apply(this,e),e.unshift(i),o.apply(this,e)}}function as(e,t){if("scroll"!=t&&"scrollend"!=t)return;let o=this,i=is.get(o);if(void 0===i){let t=0;i={scrollListener:e=>{clearTimeout(t),t=setTimeout((()=>{os.size?setTimeout(i.scrollListener,100):(o.dispatchEvent(ts),t=0)}),100)},listeners:0},e.apply(o,["scroll",i.scrollListener]),is.set(o,i)}i.listeners++}function ss(e,t,o){if("scroll"!=t&&"scrollend"!=t)return;let i=this,r=is.get(i);void 0!==r&&(r[t]--,--r.listeners>0||(e.apply(i,["scroll",r.scrollListener]),is.delete(i)))}rs(Element.prototype,"addEventListener",as),rs(window,"addEventListener",as),rs(document,"addEventListener",as),rs(Element.prototype,"removeEventListener",ss),rs(window,"removeEventListener",ss),rs(document,"removeEventListener",ss)}const La=[te`
7969    /* Slide component host */
7970    :host {
7971        display: block;
7972    }
7973
7974    /* Slide container foundation */
7975    .slide {
7976        height: 100%;
7977    }
7978`,te`
7979    /* Boolean Property API - Fill height behavior for grid items */
7980    .grid__item--fill-height ::slotted(*) {
7981        height: 100%;
7982    }
7983`];class Ha extends Ue{constructor(){super(...arguments),this.sliderMode="slider",this.active=!1,this.get
7983SlideContent=()=>this._slideContents}get contentType(){return this.sliderMode}set contentType(e){at(this,"contentType","sliderMode",(()=>"slider"),e)}content(){return"slider"===this.sliderMode?$`
7984                <div
7985                    part="base slide"
7986                    class="slide grid__item slide grid__item--fill-height"
7987                    role="listitem"
7988                >
7989                    <slot></slot>
7990                    <slot name="content"></slot>
7991                </div>
7992            `:$`
7993            <div
7994                part="base slide"
7995                class="slide grid__item"
7996                role="group"
7997                aria-roledescription="slide"
7998                aria-hidden="false"
7999            >
8000                <slot></slot>
8001                <slot name="content"></slot>
8002            </div>
8003        `}render(){return $` ${this.content()} `}}function*Va(e,t){if(void 0!==e){let o=0;for(const i of e)yield t(i,o++)}}function*Da(e,t,o=1){const i=void 0===t?0:e;t??=e;for(let e=i;o>0?e<t:t<e;e+=o)yield e}Ha.styles=[Me,La],i([ke()],Ha.prototype,"sliderMode",void 0),i([ke()],Ha.prototype,"contentType",null),i([ke({type:Boolean})],Ha.prototype,"active",void 0),i([Ae({slot:"content"})],Ha.prototype,"_slideContents",void 0);const Ra=[te`
8004    :host {
8005        color: rgb(from var(--pu-color-foreground, inherit) r g b);
8006    }
8007
8008    .slider-controls {
8009        display: flex;
8010        justify-content: center;
8011        align-items: center;
8012        gap: 1.5em;
8013        padding: var(--pu-space-200, 0.5em) 0;
8014        font-family: var(--pu-text-body-family, Roboto, Arial, Helvetica, sans-serif);
8015        margin-top: var(--pu-space-400);
8016    }
8017    @media screen and (min-width: 48em) {
8018        .slider-controls {
8019            gap: 1em;
8020        }
8021    }
8022
8023    /* Counter foundation styling */
8024    .slider-counter {
8025        display: flex;
8026        align-items: center;
8027        justify-content: center;
8028        font-size: var(--pu-text-body-size-xs, 0.75em);
8029        font-weight: var(--pu-font-weight-300, 300);
8030    }
8031
8032    .slider-counter-pre {
8033        padding: 0 var(--pu-space-200, 0.5em);
8034    }
8035
8036    /* Counter link foundation */
8037    .slider-counter__link {
8038        font-weight: var(--pu-font-weight-300, 300);
8039        padding: var(--pu-space-300, 0.75em) var(--pu-space-200, 0.5em);
8040    }
8041    @media screen and (min-width: 48em) {
8042        .slider-counter__link {
8043            font-weight: var(--pu-font-weight-300, 300);
8044            padding: var(--pu-space-300, 0.75em);
8045        }
8046    }
8047
8048    /* Dot foundation styling */
8049    .slider-counter__link .dot {
8050        display: block;
8051        background-color: transparent;
8052        border-radius: 50%;
8053        padding: 0;
8054        width: var(--pu-space-200, 0.5em);
8055        height: var(--pu-space-200, 0.5em);
8056        border: 0.06em solid rgb(from var(--pu-color-foreground, currentColor) r g b / 0.5);
8057    }
8058
8059    .slider-counter__link.link {
8060        cursor: pointer;
8061        display: inline-block;
8062        border: none;
8063        box-shadow: none;
8064        color: rgb(from var(--pu-link-color-foreground, var(--pu-color-foreground, currentColor)) r g b / alpha);
8065        background-color: transparent;
8066        font-size: var(--pu-text-body-size-sm, 0.875em);
8067        text-underline-offset: 0.25em;
8068    }
8069    .slider-counter__link.link:hover {
8070        text-decoration: underline;
8071    }
8072    .slider-counter__link.link--plain {
8073        text-decoration: none;
8074    }
8075    .slider-counter__link.link--active {
8076        font-weight: var(--pu-font-weight-500, 500);
8077        text-decoration: underline;
8078    }
8079`,te`
8080    /* Boolean Property API - Active state for dots */
8081    .slider-counter__link--active .dot {
8082        background-color: rgb(from var(--pu-color-foreground, currentColor) r g b / alpha);
8083    }
8084
8085    /* Value-Based Property API - Position over (overlay controls) */
8086    .slider-controls--over .slider-counter,
8087    .slider-controls--over .autoplay-button {
8088        display: none;
8089    }
8090
8091    .slider-controls--over {
8092        height: 0.1px; /* required by outside button intersection observer */
8093        padding: 0;
8094    }
8095
8096    .slider-controls--over .previous-button,
8097    .slider-controls--over .next-button {
8098        top: 50%;
8099        transform: translateY(-50%);
8100        position: absolute;
8101        z-index: 499; /* under overlay z-index */
8102
8103        --pu-slider-icon-border-radius: 0.25em;
8104        --pu-icon-color-foreground: rgb(0, 0, 0);
8105        --pu-icon-color-background: rgb(255, 255, 255, 0.8);
8106    }
8107
8108    .slider-controls--over .previous-button {
8109        left: 0.5em;
8110    }
8111
8112    .slider-controls--over .next-button {
8113        right: 0.5em;
8114    }
8115
8116    @media (max-width: 47.9975em) {
8117        .slider-controls--over .previous-button {
8118            left: -0.5em;
8119        }
8120        .slider-controls--over .next-button {
8121            right: -0.5em;
8122        }
8123    }
8124
8125    /* Value-Based Property API - Position under (standard controls) */
8126    .slider-controls--under .previous-button,
8127    .slider-controls--under .next-button {
8128        --pu-icon-color-background: transparent;
8129    }
8130`];class Fa extends Ue{constructor(){super(...arguments),this.sliderId="",this.controlMode="counter",this.controlPosition="under",this.numberOfSlides=1,this.slidesPerPage=1,this.currentPage=1,this.autoPlay=!1,this.loopSlides=!1,this.playing=!0,this._pauseHold=!1}_dispatchControlAction(e,t){const o=e.currentTarget;if(!(o&&o.getAttribute("disabled")||("onscrollend"in window==!1&&(o.style.setProperty("pointer-events","none"),setTimeout((()=>{o.style.setProperty("pointer-events","auto")}),1100/this.slidesPerPage)),"pause-slider"!==t&&"play-slider"!==t||this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0})),"previous-slide"!==t&&"next-slide"!==t||this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0})),"pause-over"===t&&(this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0})),this._pauseHold=this.playing),"pause-out"===t&&this.playing&&(this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0})),this._pauseHold=!1),"slide-link"!==t))){const o=e.currentTarget,i=o?o.dataset.slide:null;this.dispatchEvent(new CustomEvent(t,{detail:{slideNumber:i},bubbles:!0,composed:!0}))}}validateSliderId(){if(this.sliderId&&document.getElementById(this.sliderId))return this.sliderId}renderCounterButtons(){return $`
8131            <span
8132                part="slider-counter-current"
8133                class="slider-counter-current"
8134                >${this.currentPage}</span
8135            >
8136            <span
8137                part="slider-counter-pre"
8138                class="slider-counter-pre visually-hidden"
8139                >of</span
8140            >
8141            <span
8142                part="slider-counter-total"
8143                class="slider-counter-total"
8144                >${this.numberOfSlides}</span
8145            >
8146        `}renderNumberButtons(){return $`${Va(Da(1,this.numberOfSlides+1,1),(e=>$`
8147                <button
8148                    part="slider-counter-link"
8149                    class="${J({"slider-counter__link":!0,"slider-counter__link--numbers":!0,link:!0,"link--active":e===this.currentPage})}"
8150                    @click="${e=>this._dispatchControlAction(e,"slide-link")}"
8151                    data-slide=${e}
8152                >
8153                    ${e}
8154                </button>
8155            `))}`}renderDotButtons(){return $`${Va(Da(1,this.numberOfSlides+1,1),(e=>$`
8156                <button
8157                    aria-label="Go to slide ${e}"
8158                    part="slider-counter-link"
8159                    class="${J({"slider-counter__link":!0,"slider-counter__link--dots":!0,link:!0,"slider-counter__link--active":e===this.currentPage})}"
8160                    @click="${e=>this._dispatchControlAction(e,"slide-link")}"
8161                    data-slide="${e}"
8162                >
8163                    <span
8164                        part="slider-counter-dot"
8165                        class="dot"
8166                    ></span>
8167                </button>
8168            `))}`}renderAutoPlayButtons(){const e=this.playing,t=e?"pause-slider":"play-slider";return $`
8169            <pu-button-icon
8170                part="autoplay-button"
8171                exportparts="button-icon,icon"
8172                class="autoplay-button"
8173                label="Pause slides"
8174                name=${e&&!this._pauseHold?"play":e&&this._pauseHold?"pause":"play-pause"}
8175                iconSize="small"
8176                @click="${e=>
8176this._dispatchControlAction(e,t)}"
8177                @mouseover="${e?e=>this._dispatchControlAction(e,"pause-over"):null}"
8178                @mouseout="${e?e=>this._dispatchControlAction(e,"pause-out"):null}"
8179                @focusin="${e?e=>this._dispatchControlAction(e,"pause-over"):null}"
8180                @focusout="${e?e=>this._dispatchControlAction(e,"pause-out"):null}"
8181            >
8182            </pu-button-icon>
8183        `}renderNavigationButton(e){const t=this.validateSliderId(),o="next"===e?this.currentPage===this.numberOfSlides:1===this.currentPage,i="next"===e?"next-slide":"previous-slide",r="under"===this.controlPosition;return $`
8184            <pu-button-icon
8185                part="${e}-button"
8186                exportparts="button-icon,icon"
8187                class="${e}-button"
8188                label=${"next"===e?"Next slide":"Previous slide"}
8189                iconSize="${"under"===this.controlPosition&&"arrows"===this.controlMode?"large":"medium"}"
8190                padding="${Ze(r?void 0:"12")}"
8191                ?disabled=${o}
8192                ?border=${!r}
8193                @click="${e=>this._dispatchControlAction(e,i)}"
8194                aria-controls="${Ze(t)}"
8195            >
8196                ${"next"===e?$`
8197                          <svg
8198                              slot="icon"
8199                              xmlns="http://www.w3.org/2000/svg"
8200                              id="chevron-right"
8201                              width="1em"
8202                              height="1em"
8203                              viewBox="0 0 320 512"
8204                              role="presentation"
8205                              aria-hidden="true"
8206                              focusable="false"
8207                              fill="currentColor"
8208                          >
8209                              <path
8210                                  d="M310.6 256l-11.3 11.3-192 192L96 470.6 73.4 448l11.3-11.3L265.4 256 84.7 75.3 73.4 64 96 41.4l11.3 11.3 192 192L310.6 256z"
8211                              />
8212                          </svg>
8213                      `:$`
8214                          <svg
8215                              slot="icon"
8216                              xmlns="http://www.w3.org/2000/svg"
8217                              id="chevron-left"
8218                              width="1em"
8219                              height="1em"
8220                              viewBox="0 0 320 512"
8221                              role="presentation"
8222                              aria-hidden="true"
8223                              focusable="false"
8224                              fill="currentColor"
8225                          >
8226                              <path
8227                                  d="M9.4 256l11.3-11.3 192-192L224 41.4 246.6 64 235.3 75.3 54.6 256 235.3 436.7 246.6 448 224 470.6l-11.3-11.3-192-192L9.4 256z"
8228                              />
8229                          </svg>
8230                      `}
8231            </pu-button-icon>
8232        `}render(){if(!(this.numberOfSlides<=1))return $`
8233            <div
8234                part="slider-controls"
8235                class="${J({"slider-controls":!0,"slider-controls--over":"over"===this.controlPosition,"slider-controls--under":"under"===this.controlPosition})}"
8236            >
8237                ${this.renderNavigationButton("previous")}
8238                <div
8239                    part="slider-counter"
8240                    class="${J({"slider-counter":!0,[`slider-counter--${this.controlMode}`]:!0})}"
8241                >
8242                    ${"counter"===this.controlMode?this.renderCounterButtons():"numbers"===this.controlMode?this.renderNumberButtons():"dots"===this.controlMode?this.renderDotButtons():""}
8243                </div>
8244                ${this.renderNavigationButton("next")} ${this.autoPlay?this.renderAutoPlayButtons():""}
8245            </div>
8246        `}}Fa.styles=[Me,Ra],i([ke()],Fa.prototype,"sliderId",void 0),i([ke()],Fa.prototype,"controlMode",void 0),i([ke()],Fa.prototype,"controlPosition",void 0),i([ke({type:Number})],Fa.prototype,"numberOfSlides",void 0),i([ke({type:Number})],Fa.prototype,"slidesPerPage",void 0),i([ke({type:Number})],Fa.prototype,"currentPage",void 0),i([ke({type:Boolean})],Fa.prototype,"autoPlay",void 0),i([ke({type:Boolean})],Fa.prototype,"loopSlides",void 0),i([ke({type:Boolean})],Fa.prototype,"playing",void 0),i([ke({state:!0,type:Boolean})],Fa.prototype,"_pauseHold",void 0);const Wa=[te`
8247    /* Slider component host */
8248    :host {
8249        display: block;
8250        width: 100%;
8251    }
8252
8253    /* Slider component structure */
8254    .slider-component {
8255        display: flex;
8256        flex-direction: column;
8257        position: relative;
8258        margin: 0 auto;
8259    }
8260
8261    /* Slider dynamic height and transitions */
8262    .slider {
8263        transition: height 0.3s;
8264    }
8265
8266    /* Slider scroll container foundation */
8267    .slider {
8268        scrollbar-color: var(--pu-color-foreground, rgb(0, 0, 0, 0.04));
8269        -ms-overflow-style: none;
8270        scrollbar-width: none;
8271
8272        @media (prefers-reduced-motion) {
8273            scroll-behavior: auto;
8274        }
8275    }
8276    @supports (color: rgb(from white r g b)) {
8277        .slider {
8278            scrollbar-color: rgb(from var(--pu-color-foreground, rgb(0, 0, 0, 0.04)) r g b / 0.04);
8279        }
8280    }
8281
8282    .slider::-webkit-scrollbar {
8283        height: var(--space-4);
8284        width: var(--space-4);
8285        display: none;
8286    }
8287
8288    .slider::-webkit-scrollbar-thumb {
8289        background: var(--pu-color-foreground, rgb(0, 0, 0, 0.05));
8290        border-radius: var(--space-4);
8291        border: 0;
8292    }
8293
8294    .slider::-webkit-scrollbar-track {
8295        background: var(--pu-color-foreground, rgb(0, 0, 0, 0.1));
8296        border-radius: var(--space-4);
8297    }
8298
8299    @supports (color: rgb(from white r g b)) {
8300        .slider::-webkit-scrollbar-thumb {
8301            background: rgb(from var(--pu-color-foreground, 0, 0, 0, 0.05) r g b / 0.05);
8302        }
8303
8304        .slider::-webkit-scrollbar-track {
8305            background: rgb(from var(--pu-color-foreground, 0, 0, 0, 0.1) r g b / 0.1);
8306        }
8307    }
8308
8309    /* Slides styling */
8310    ::slotted(*) {
8311        scroll-snap-align: start;
8312        margin-bottom: 0;
8313    }
8314
8315    /* Slider controls visibility */
8316    pu-slider-controls {
8317        display: none;
8318    }
8319`,Xo,te`
8320    /* Boolean Property API - Slides selection behavior */
8321    .slider--slides-selectable ::slotted(*) {
8322        cursor: pointer;
8323    }
8324
8325    /* Boolean Property API - narrow slider enabled */
8326    @media screen and (max-width: 47.9975em) {
8327        .slider.slider--tablet {
8328            position: relative;
8329            flex-wrap: inherit;
8330            overflow-x: auto;
8331            overflow-y: hidden;
8332            scroll-snap-type: x mandatory;
8333            scroll-behavior: smooth;
8334        }
8335
8336        .slider-component--tablet pu-slider-controls {
8337            display: block;
8338        }
8339    }
8340
8341    /* Boolean Property API - Desktop slider enabled */
8342    @media screen and (min-width: 48em) {
8343        .slider.slider--desktop {
8344            position: relative;
8345            flex-wrap: inherit;
8346            overflow-x: auto;
8347            scroll-snap-type: x mandatory;
8348            scroll-behavior: smooth;
8349        }
8350
8351        .slider-component--desktop pu-slider-controls {
8352            display: block;
8353        }
8354    }
8355
8356    /* Boolean Property API - Gapless columns */
8357    .slider.grid.grid--gapless {
8358        gap: 0;
8359    }
8360
8361    /* Value-Based Property API - Content type slideshow */
8362    .slider-controls--top pu-slider-controls {
8363        order: 2;
8364    }
8365
8366    /* Mobile responsive API classes for column counts and peek behavior */
8367    @media screen and (max-width: 30.6225em) {
8368        /* Peek */
8369        .slider.grid--peek.grid--1-col-tablet-down ::slotted(*) {
8370            width: calc(100% - var(--pu-grid-gap-x-narrow, 1em) - 2em);
8371        }
8372        .slider.grid--peek.grid--2-col-tablet-down ::slotted(*) {
8373            width: calc(50% - var(--pu-grid-gap-x-narrow, 1em) - 1em);
8374        }
8375        /* Gapless */
8376        .slider.grid--gapless.grid--1-col-tablet-down ::slotted(*) {
8377            width: 100%;
8378        }
8379        .slider.grid--gapless.grid--2-col-tablet-down ::slotted(*) {
8380            width: 50%;
8381        }
8382        /* Gapless + Peek */
8383        .slider.grid--peek.grid--gapless.grid--1-col-tablet-down ::slotted(*) {
8384            width: calc(100% - (var(--pu-grid-gap-x-narrow, 1em) * 5));
8385        }
8386        .slider.grid--peek.grid--gapless.grid--2-col-tablet-down ::slotted(*) {
8387            width: calc(50% - (var(--pu-grid-gap-x-narrow, 1em) * 3));
8388        }
8389    }
8390
8391    /* Tablet portrait responsive API classes */
8392    @media screen and (min-width: 30.625em) and (max-width: 47.9975em) {
8393        /* Peek */
8394        .slider.grid--peek.grid--2-col-tablet ::slotted(*) {
8395            width: calc(50% - var(--pu-grid-gap-x-narrow, 1em) - 2em);
8396        }
8397        .slider.grid--peek.grid--3-col-tablet ::slotted(*) {
8398            width: calc(33.33% - var(--pu-grid-gap-x-narrow, 1em) - 1em);
8399        }
8400        /* Gapless */
8401        .slider.grid.grid--gapless.grid--2-col-tablet ::slotted(*) {
8402            width: 50%;
8403        }
8404        .slider.grid.grid--gapless.grid--3-col-tablet ::slotted(*) {
8405            width: 33.33%;
8406        }
8407        /* Gapless + Peek */
8408        .slider.grid.grid--gapless.grid--peek.grid--2-col-tablet ::slotted(*) {
8409            width: calc(50% - (var(--pu-grid-gap-x-narrow, 1em) * 5));
8410        }
8411        .slider.grid.grid--gapless.grid--peek.grid--3-col-tablet ::slotted(*) {
8412            width: calc(33.33% - (var(--pu-grid-gap-x-narrow, 1em) * 3));
8413        }
8414    }
8415
8416    /* Tablet landscape responsive API classes */
8417    @media screen and (min-width: 48em) and (max-width: 64.9975em) {
8418        /* Peek */
8419        .slider.grid--peek.grid--2-col-tablet ::slotted(*) {
8420            width: calc(50% - var(--pu-grid-gap-x, 1em) - 2em);
8421        }
8422        .slider.grid--peek.grid--3-col-tablet ::slotted(*) {
8423            width: calc(33.33% - var(--pu-grid-gap-x, 1em) - 1em);
8424        }
8425        /* Gapless */
8426        .slider.grid.grid--gapless.grid--2-col-tablet ::slotted(*) {
8427            width: 50%;
8428        }
8429        .slider.grid.grid--gapless.grid--3-col-tablet ::slotted(*) {
8430            width: 33.33%;
8431        }
8432        /* Gapless + Peek */
8433        .slider.grid.grid--gapless.grid--peek.grid--2-col-tablet ::slotted(*) {
8434            width: calc(50% - (var(--pu-grid-gap-x, 1em) * 4));
8435        }
8436        .slider.grid.grid--gapless.grid--peek.grid--3-col-tablet ::slotted(*) {
8437            width: calc(33.33% - (var(--pu-grid-gap-x, 1em) * 2));
8438        }
8439    }
8440
8441    /* Desktop variable API classes - CSS custom properties coordination */
8442    @media screen and (min-width: 65em) {
8443        .slider.grid--peek ::slotted(*) {
8444            width: calc(100% / var(--grid-columns, 4) - var(--pu-grid-gap-x, 1em) * var(--grid-columns-peek, 3));
8445        }
8446        /* Gapless */
8447        .slider.grid.grid--gapless ::slotted(*) {
8448            width: var(--grid-columns-width, 25%);
8449        }
8450        /* Gapless + Peek combinations */
8451        .slider.grid.grid--gapless.grid--peek.grid--1-col-desktop ::slotted(*) {
8452            width: calc((100% / var(--grid-columns, 4)) - 9em);
8453        }
8454        .slider.grid.grid--gapless.grid--peek.grid--2-col-desktop ::slotted(*) {
8455            width: calc((100% / var(--grid-columns, 4)) - 5em);
8456        }
8457        .slider.grid.grid--gapless.grid--peek.grid--3-col-desktop ::slotted(*) {
8458            width: calc((100% / var(--grid-columns, 4)) - 3em);
8459        }
8460        .slider.grid.grid--gapless.grid--peek.grid--4-col-desktop ::slotted(*) {
8461            width: calc((100% / var(--grid-columns, 4)) - 2em);
8462        }
8463        .slider.grid.grid--gapless.grid--peek.grid--5-col-desktop ::slotted(*) {
8464            width: calc((100% / var(--grid-columns, 4)) - 1em);
8465        }
8466        .slider.grid.grid--gapless.grid--peek.grid--6-col-desktop ::slotted(*) {
8467            width: calc((100% / var(--grid-columns, 4)) - 0.5em);
8468        }
8469    }
8470`];class Ua extends Ue{constructor(){super(),this.altText="Slider accessible name",this.altDescription="",this.sliderMode="slider",this.controlMode="counter",this.controlPosition="under",this.slider=!1,this.sliderNarrow=!1,this.peek=!1,this.adapt=!1,this.autoPlay=!1,this.playSpeed=5,this.columns=4,this.columnsNarrow="2",this.gapless=!1,this.fill=!1,this._totalPages=1,this._currentPage=1,this._playing=!1,this._sliderItemsToShow=[],this._firstSlide=null,this._secondSlide=null,this._sliderItemOffset=0,this._slidesPerPage=1,this._loopSlides=!1,this._scrolling=!1,this.slidesSelectable=!1,this._isSlideVisible=e=>{e.forEach((e=>{if(e.isIntersecting){if(e.target.shadowRoot?.querySelector("div")?.setAttribute("aria-hidden","false"),e.target.querySelectorAll("a, button").forEach((e=>{e.removeAttribute("tabindex")})),this.adapt){const t=e.target.getSlideContent();let o=0;Array.from(t).forEach((e=>{const t=e.offsetHeight;t&&t>0&&(o=t+o)})),o&&(this._slider.style.height=`${o}px`)}}else e.target.shadowRoot?.querySelector("div")?.setAttribute("aria-hidden","true"),e.target.querySelectorAll("a, button").forEach((e=>{e.setAttribute("tabindex","-1")}))}))},this._sliderId=Math.floor(1e8*Math.random()).toString(),Ua.eventTypes.forEac
8470h((e=>{this.addEventListener(e,this._customEventsHandler)}))}connectedCallback(){super.connectedCallback(),this._sliderId||(this._sliderId=Math.floor(1e8*Math.random()).toString())}firstUpdated(){this._slider&&(this._slider.id="Slider-"+this._sliderId)}disconnectedCallback(){super.disconnectedCallback(),void 0!==this._resizeObserver&&this._resizeObserver.disconnect(),void 0!==this._slideVisibleObserver&&this._slideVisibleObserver.disconnect(),this._resetAutoplay()}slidesChanged(){this.initialise()}willUpdate(e){e.has("_sliderItemsToShow")&&this._sliderSetup()}async initialise(){try{await this.updateComplete}catch(e){console.log("Initialise error",e)}this._sliderItems.length>0&&requestAnimationFrame((()=>{this._sliderItemsToShow=Array.from(this._sliderItems).filter((e=>e.clientWidth>0)),0===this._sliderItemsToShow.length&&(this._sliderItemsToShow=Array.from(this._sliderItems))}))}_sliderSetup(){if(!(this._sliderItemsToShow.length<2)&&(this._firstSlide=this._sliderItemsToShow[0],this._secondSlide=this._sliderItemsToShow[1],this._playing=!1,this._sliderItemOffset=this._secondSlide.offsetLeft-this._firstSlide.offsetLeft,this._slidesPerPage=this._sliderItemOffset>0?Math.round(this._slider.clientWidth/this._sliderItemOffset):0,this._totalPages=this._slidesPerPage>0?this._sliderItemsToShow.length-this._slidesPerPage+1:1,"slideshow"===this.sliderMode&&this._slideshowSetup(),void 0===this._resizeObserver)){const e=ti((()=>this.initialise()),100);this._resizeObserver=new ResizeObserver(e),this._resizeObserver.observe(this)}}_slideshowSetup(){this.slider=!0,this.sliderNarrow=!0,this.autoPlay&&(this._resetAutoplay(),this.play()),this._slideVisibleObserver=new IntersectionObserver(this._isSlideVisible,{root:this,rootMargin:"0px",threshold:1}),this._sliderItems.forEach(((e,t)=>{this._slideVisibleObserver?.observe(e);const o=e.shadowRoot?.querySelector("div");o?.setAttribute("aria-label",`${t+1} of ${this._sliderItems.length}`)}))}_customEventsHandler(e){e.preventDefault(),"previous-slide"===e.type&&(this._nthSlideavigation(e.type),this.pause()),"next-slide"===e.type&&(this._nextButtonClick(),this.pause()),"slide-link"===e.type&&this._slideLink(parseInt(e.detail.slideNumber)),"play-slider"===e.type&&this.play(),"pause-slider"===e.type&&this.pause(),"pause-over"===e.type&&this.pausePlay(),"pause-out"===e.type&&this.play()}_updateCurrentPage(){this._currentPage=Math.round(this._slider.scrollLeft/this._sliderItemOffset)+1}_scrollEnd(){this._scrolling=!1,this._updateCurrentPage()}_resetAutoplay(){clearInterval(this._autoRotate)}_nthSlideavigation(e){this._resetAutoplay(),this._playing=!1,this._scrolling&&"onscrollend"in window||(this._scrolling=!0,"previous-slide"===e?this._previousButtonClick():this._nextButtonClick(),this._updateCurrentPage())}_previousButtonClick(){if(!this._secondSlide||!this._firstSlide)return;const e=this._secondSlide.offsetLeft-this._firstSlide.offsetLeft;if(this._loopSlides&&1===this._currentPage)return this._slider.scrollTo({left:e*this._sliderItemsToShow.length}),void(this._currentPage=this._totalPages);this._slider.scrollTo({left:this._slider.scrollLeft-e})}_nextButtonClick(){if(this._secondSlide&&this._firstSlide)return this._loopSlides&&this._currentPage===this._totalPages?(this._slider.scrollTo({left:0}),void(this._currentPage=1)):void this._slider.scrollTo({left:this._slider.scrollLeft+(this._secondSlide.offsetLeft-this._firstSlide.offsetLeft)})}_slideLink(e){if(!this._secondSlide||!this._firstSlide)return;this._resetAutoplay(),this._playing=!1;const t=e,o=(this._secondSlide.offsetLeft-this._firstSlide.offsetLeft)*(t-1);this._slider.scrollTo({left:o})}_autoRotateSlides(){if(!this._sliderItemsToShow.length||!this._firstSlide)return;const e=this._currentPage===this._totalPages?0:this._slider.scrollLeft+this._sliderItemsToShow[1].offsetLeft-this._firstSlide.offsetLeft;this._slider.scrollTo({left:e})}initSlider(){this.initialise()}moveToSlide(e){this._slideLink(e)}play(){this._resetAutoplay(),this.autoPlay&&(this._playing=!0,this._slider.setAttribute("aria-live","off"),this._autoRotate=setInterval((()=>this._autoRotateSlides()),1e3*this.playSpeed))}pause(){this._resetAutoplay(),this.autoPlay&&(this._slider.setAttribute("aria-live","polite"),this._playing=!1)}pausePlay(){this._resetAutoplay(),this._slider.setAttribute("aria-live","polite")}resumePlay(){this.autoPlay&&this._playing&&this.play()}gridStyles(){let e={};return 6===this.columns&&(e={...e,"--grid-columns-width":"16.66%","--grid-columns":"6","--grid-colum-gaps":"5","--grid-columns-peek":"1.5"}),5===this.columns&&(e={...e,"--grid-columns-width":"20%","--grid-columns":"5","--grid-colum-gaps":"4","--grid-columns-peek":"2"}),4===this.columns&&(e={...e,"--grid-columns-width":"25%","--grid-columns":"4","--grid-colum-gaps":"3","--grid-columns-peek":"2.5"}),3===this.columns&&(e={...e,"--grid-columns-width":"33.33%","--grid-columns":"3","--grid-colum-gaps":"2","--grid-columns-peek":"3"}),2===this.columns&&(e={...e,"--grid-columns-width":"50%","--grid-columns":"2","--grid-colum-gaps":"1","--grid-columns-peek":"4"}),1===this.columns&&(e={...e,"--grid-columns-width":"100%","--grid-columns":"1","--grid-colum-gaps":"0","--grid-columns-peek":"9"}),e}sliderContent(){const e="Slider-"+this._sliderId;return"slider"===this.sliderMode?$`
8471                <ul
8472                    id=${e}
8473                    class="${J({"slider-container":!0,grid:!0,slider:this.sliderNarrow||this.slider,"slider--slides-selectable":this.slidesSelectable,"slider--desktop":this.slider,"slider--tablet":this.sliderNarrow,"grid--gapless":this.gapless,"grid--fill":this.fill,"grid--peek":this.peek&&this._totalPages>1,[`grid--${this.columns}-col-tablet`]:this.columns<3,"grid--3-col-tablet":this.columns>=3,"grid--col-tablet":this.columns>=3,[`grid--${this.columns}-col-desktop`]:!0,[`grid--${this.columnsNarrow}-col-tablet-down`]:!0})}"
8474                    part="container"
8475                    tabindex="0"
8476                    role="list"
8477                    aria-label="${this.altText}"
8478                    @scrollend="${this._scrollEnd}"
8479                >
8480                    <slot @slotchange=${this.slidesChanged}></slot>
8481                </ul>
8482            `:$`
8483            <div
8484                id=${e}
8485                class="${J({"slider-container":!0,grid:!0,slider:this.sliderNarrow||this.slider,"slider--slideshow":!0,"slider--desktop":this.slider,"slider--tablet":this.sliderNarrow,"grid--gapless":this.gapless,"grid--fill":this.fill,"grid--peek":this.peek&&this._totalPages>1,[`grid--${this.columns}-col-tablet`]:this.columns<3,"grid--3-col-tablet":this.columns>=3,"grid--col-tablet":this.columns>=3,[`grid--${this.columns}-col-desktop`]:!0,[`grid--${this.columnsNarrow}-col-tablet-down`]:!0})}"
8486                part="container"
8487                role="region"
8488                aria-live="polite"
8489                aria-atomic="true"
8490                aria-label="${this.altText}"
8491                aria-description="${this.altDescription}"
8492                @scrollend="${this._scrollEnd}"
8493                @mouseover="${this.pausePlay}"
8494                @mouseout="${this.resumePlay}"
8495                @focusin="${this.pausePlay}"
8496                @focusout="${this.resumePlay}"
8497            >
8498                <slot @slotchange=${this.slidesChanged}></slot>
8499            </div>
8500        `}sliderControls(){const e="Slider-"+this._sliderId;return this.slider||this.sliderNarrow?$`
8501                <pu-slider-controls
8502                    part="controls"
8503                    exportparts=${"slider-controls,slider-counter,slider-counter-link,slider-counter-dot,slider-counter-current,slider-counter-seperator,slider-counter-total,autoplay-button,next-button,previous-button,button-icon,icon"}
8504                    sliderId=${e}
8505                    controlMode=${this.controlMode}
8506                    controlPosition=${this.controlPosition}
8507                    slidesPerPage=${this._slidesPerPage}
8508                    numberOfSlides=${this._totalPages}
8509                    currentPage=${this._currentPage}
8510                    ?playing=${this._playing}
8511                    ?autoPlay=${this.autoPlay}
8512                    ?loopSlides=${this._loopSlides}
8513                >
8514                </pu-slider-controls>
8515            `:z}render(){return $`
8516            <div
8517                part="base slider"
8518                class="${J({"slider-component":!0,"slider-narrow-gutter":!0,"slider-component--desktop":this.slider,"slider-component--tablet":this.sliderNarrow,"slider-controls--top":"slideshow"===this.sliderMode})}"
8519                style="${He(this.gridStyles())}"
8520            >
8521                ${this.sliderContent()} ${this.sliderControls()}
8522            </div>
8523        `}}Ua.styles=[Me,Wa],Ua.dependencies={"pu-button-icon":jt,"pu-slide":Ha,"pu-slider-controls":Fa},Ua.eventTypes=["previous-slide","next-slide","slide-link","pause-slider","play-slider","pause-over","pause-out"],i([ke()],Ua.prototype,"altText",void 0),i([ke()],Ua.prototype,"altDescription",void 0),i([ke()],Ua.prototype,"sliderMode",void 0),i([ke()],Ua.prototype,"controlMode",void 0),i([ke()],Ua.prototype,"controlPosition",void 0),i([ke({type:Boolean,reflect:!0})],Ua.prototype,"slider",void 0),i([ke({type:Boolean,reflect:!0})],Ua.prototype,"sliderNarrow",void 0),i([ke({type:Boolean})],Ua.prototype,"peek",void 0),i([ke({type:Boolean})],Ua.prototype,"adapt",void 0),i([ke({type:Boolean})],Ua.prototype,"autoPlay",void 0),i([ke({type:Number})],Ua.prototype,"playSpeed",void 0),i([ke({type:Number})],Ua.prototype,"columns",void 0),i([ke()],Ua.prototype,"columnsNarrow",void 0),i([ke({type:Boolean})],Ua.prototype,"gapless",void 0),i([ke({type:Boolean})],Ua.prototype,"fill",void 0),i([Ce()],Ua.prototype,"_sliderId",void 0),i([ke({type:Number})],Ua.prototype,"_totalPages",void 0),i([Ae()],Ua.prototype,"_sliderItems",void 0),i([Se('[id^="Slider-"]')],Ua.prototype,"_slider",void 0),i([Ce()],Ua.prototype,"_currentPage",void 0),i([Ce()],Ua.prototype,"_playing",void 0),i([Ce()],Ua.prototype,"_sliderItemsToShow",void 0),i([Ce()],Ua.prototype,"_firstSlide",void 0),i([Ce()],Ua.prototype,"_secondSlide",void 0),i([Ce()],Ua.prototype,"_sliderItemOffset",void 0),i([Ce()],Ua.prototype,"_slidesPerPage",void 0),i([Ce()],Ua.prototype,"_loopSlides",void 0),i([Ce()],Ua.prototype,"_scrolling",void 0),i([Ce()],Ua.prototype,"_autoRotate",void 0),i([Ce()],Ua.prototype,"_slideVisibleObserver",void 0),i([Ce()],Ua.prototype,"_resizeObserver",void 0),Ua.define("pu-slider"),Fa.define("pu-slider-controls"),Ha.define("pu-slide");class Ga extends Ue{constructor(){super(...arguments),this.data=[],this.target="_self",this.size="large",this.spacing="24",this.justify="start",this.justifyNarrow="center",this.border=!1,this.padding="0",this.deprecatedPropertyMap=[{old:"mobileJustify",new:"justifyNarrow",defaultValue:"center"}]}get mobileJustify(){return this.justifyNarrow}set mobileJustify(e){this._handleDeprecated("mobileJustify",e)}_handleDeprecated(e,t){st(this,e,t,this.deprecatedPropertyMap)}socialLinks(){return this.data?this.data.map((e=>e.url?$`
8524                        <pu-button-icon
8525                            part="icon"
8526                            exportparts="base,icon,svg"
8527                            as="link"
8528                            url="${Ze(e.url)}"
8529                            target="${this.target}"
8530                            name="${e.iconName}"
8531                            iconSize="${this.size}"
8532                            label="${e.name}"
8533                            padding=${this.padding}
8534                            ?border="${this.border}"
8535                        >
8536                        </pu-button-icon>
8537                    `:z)):z}render(){return $`
8538            <pu-link-group
8539                part="base socials"
8540                exportparts="base"
8541                spacing="${this.spacing}"
8542                spacingNarrow="${this.spacing}"
8543                justify="${this.justify}"
8544                justifyNarrow="${this.justifyNarrow}"
8545            >
8546                ${this.socialLinks()}
8547            </pu-link-group>
8548        `}}Ga.styles=[Me],Ga.dependencies={"pu-link-group":Ci,"pu-button-icon":jt},i([ke({type:Array})],Ga.prototype,"data",void 0),i([ke()],Ga.prototype,"target",void 0),i([ke()],Ga.prototype,"size",void 0),i([ke()],Ga.prototype,"spacing",void 0),i([ke()],Ga.prototype,"justify",void 0),i([ke()],Ga.prototype,"justifyNarrow",void 0),i([ke({type:Boolean})],Ga.prototype,"border",void 0),i([ke()],Ga.prototype,"padding",void 0),i([ke()],Ga.prototype,"mobileJustify",null),Ga.define("pu-socials");const qa=[te`
8549    :host {
8550        display: block;
8551    }
8552
8553    .row {
8554        display: flex;
8555        flex-direction: row;
8556        justify-content: start;
8557        column-gap: var(--pu-table-column-space-gap, 1em);
8558        row-gap: var(--pu-table-row-space-gap, 1em);
8559        padding: var(--pu-table-space-padding, 0.25em 0);
8560    }
8561    .row > * {
8562        width: 10%;
8563    }
8564    .row > *:first-child {
8565        flex-grow: 1;
8566        width: 50%;
8567    }
8568
8569    /* Mobile: stack cells under the first cell per row */
8570    @media (max-width: 30.6225em) {
8571        .row {
8572            flex-direction: row;
8573            flex-wrap: wrap;
8574            column-gap: var(--pu-table-column-space-gap-narrow, 0.5em);
8575            row-gap: var(--pu-table-row-space-gap-narrow, 0.5em);
8576        }
8577        .row > * {
8578            width: auto;
8579            flex: 0 1 auto;
8580            min-width: 0;
8581        }
8582        .row > *:first-child {
8583            width: 100%;
8584            flex: 0 0 100%;
8585        }
8586    }
8587`,te`
8588    /* Boolean Property API - Hide title visibility */
8589    .visually-hidden {
8590        clip: rect(0 0 0 0);
8591        clip-path: inset(50%);
8592        height: 1px;
8593        overflow: hidden;
8594        position: absolute;
8595        white-space: nowrap;
8596        width: 1px;
8597    }
8598`];class Ka extends Ue{constructor(){super(...arguments),this.columnLabels=[],this.rowData=[],this.title="",this.titleHidden=!1,this.deprecatedPropertyMap=[{old:"hideTitle",new:"titleHidden",defaultValue:!1}]}get hideTitle(){return this.titleHidden}set hideTitle(e){this._handleDeprecated("hideTitle",e)}_handleDeprecated(e,t){st(this,e,t,this.deprecatedPropertyMap)}descriptionClasses(){const e={};return e["visually-hidden"]=this.titleHidden,e}tableHeader(){return Array.isArray(this.columnLabels)?$`
8599                <div
8600                    part="header"
8601                    class="table-header row"
8602                    role="rowgroup"
8603                >
8604                    ${this.columnLabels.map((e=>$`
8605                            <div
8606                                part="cell"
8607                                class="table-cell"
8608                                role="columnheader"
8609                            >
8610                                <pu-text
8611                                    exportparts="base,span,body"
8612                                    as="span"
8613                                    textAlign="start"
8614                                    fontWeight="bold"
8615                                >
8616                                    ${e}
8617                                </pu-text>
8618                            </div>
8619                        `))}
8620                </div>
8621            `:z}tableRows(){return this.rowData&&Array.isArray(this.rowData)?$` ${this.rowData.map((e=>{if(Array.isArray(e))return $`
8622                        <div
8623                            part="row"
8624                            class="table-row row"
8625                            role="rowgroup"
8626                        >
8627                            ${e.map((e=>$`
8628                                    <div
8629                                        part="cell"
8630                                        class="table-cell"
8631                                        role="cell"
8632                                    >
8633                                        <pu-text
8634                                            exportparts="base,span,body"
8635                                            as="span"
8636                                            variant="bodySm"
8637                                            textAlign="start"
8638                                        >
8639                                            ${e}
8640                                        </pu-text>
8641                                    </div>
8642                                `))}
8643                        </div>
8644                    `}))}`:z}render(){return $`
8645            <div
8646                part="base table"
8647                class="table"
8648                role="table"
8649                aria-label="${this.title}"
8650                aria-describedby="TableDescription"
8651            >
8652                <div
8653                    id="TableDescription"
8654                    part="description"
8655                    class="table-description ${J(this.descriptionClasses())}"
8656                >
8657                    <pu-text
8658                        exportparts="base,h2,heading"
8659                        slot="description"
8660                        as="h2"
8661                        variant="headingLg"
8662                        fontWeight="bold"
8663                    >
8664                        ${this.title}
8665                    </pu-text>
8666                </div>
8667                <div
8668                    part="content"
8669                    class="table-body"
8670                >
8671                    ${this.tableHeader()} ${this.tableRows()}
8672                </div>
8673            </div>
8674        `}}Ka.dependencies={"pu-text":nt},Ka.styles=[Me,qa],i([ke({type:Array})],Ka.prototype,"columnLabels",void 0),i([ke({type:Array})],Ka.prototype,"rowData",void 0),i([ke()],Ka.prototype,"title",void 0),i([ke({type:Boolean})],Ka.prototype,"titleHidden",void 0),i([ke({type:Boolean})],Ka.prototype,"hideTitle",null),Ka.define("pu-table"),nt.define("pu-text");const Ja=[qt,te`
8675    :host {
8676        display: block;
8677    }
8678
8679    .textarea {
8680        display: grid;
8681        align-items: center;
8682        background-color: rgb(from var(--pu-input-color-background, hsl(0 0% 99.5%)) r g b / alpha);
8683        border-style: solid;
8684        border-width: var(--pu-input-border-width, 0.0625em);
8685        border-color: rgb(
8686            from var(--pu-input-border-color, hsl(240, 5%, 65%)) r g b /
8687                calc(alpha * var(--pu-input-opacity-border, 1))
8688        );
8689        border-radius: var(--pu-input-border-radius, var(--pu-border-input-size-corner-radius, 0.5em));
8690        position: relative;
8691        width: 100%;
8692        font-family: var(--pu-text-body-family);
8693        font-size: var(--pu-input-font-size);
8694        line-height: var(--pu-font-leading-500);
8695        letter-spacing: var(--pu-input-font-tracking, 0.05em);
8696        vertical-align: middle;
8697        transition:
8698            var(--pu-transition-duration-150) color,
8699            var(--pu-transition-duration-150) border,
8700            var(--pu-transition-duration-150) box-shadow,
8701            var(--pu-transition-duration-150) background-color;
8702        cursor: text;
8703    }
8704
8705    .textarea:hover:not(.textarea--disabled) {
8706        background-color: rgb(from var(--pu-input-color-background-hover, hsl(240, 5%, 96%)) r g b / alpha);
8707        border-color: rgb(from var(--pu-input-border-color-hover, hsl(240, 4%, 46%)) r g b / alpha);
8708    }
8709    .textarea:hover:not(.textarea--disabled) .textarea__control {
8710        color: rgb(from var(--pu-input-color-foreground-hover, inherit) r g b / alpha);
8711    }
8712
8713    .textarea.textarea--focused:not(.textarea--disabled) {
8714        background-color: rgb(from var(--pu-color-focus-background) r g b / alpha);
8715        border-color: rgb(from var(--pu-color-focus-border, inherit) r g b / alpha);
8716        box-shadow: 0 0 0 0.25em rgb(from var(--pu-color-focus-ring, hsl(213.1 93.9% 67.8%)) r g b / alpha);
8717    }
8718
8719    .textarea.textarea--disabled {
8720        background-color: rgb(from var(--pu-input-color-background-disabled, hsl(240, 5%, 96%)) r g b / alpha);
8721        border-color: rgb(from var(--pu-input-border-color-disabled, hsl(240, 5%, 84%), inherit) r g b / alpha);
8722        opacity: 0.5;
8723        cursor: not-allowed;
8724    }
8725
8726    .textarea__control,
8727    .textarea__size-adjuster {
8728        grid-area: 1 / 1 / 2 / 2;
8729    }
8730
8731    .textarea__size-adjuster {
8732        visibility: hidden;
8733        pointer-events: none;
8734        opacity: 0;
8735    }
8736
8737    .textarea.textarea--disabled .textarea__control {
8738        color: rgb(from var(--pu-input-color-foreground-hover, inherit) r g b / alpha);
8739    }
8740
8741    .textarea.textarea--disabled .textarea__control::placeholder {
8742        color: rgb(from var(--pu-input-placeholder-color-foreground, hsl(240, 4%, 46%)) r g b / alpha);
8743    }
8744
8745    .textarea__control {
8746        font-family: inherit;
8747        font-size: inherit;
8748        font-weight: inherit;
8749        line-height: 1.4;
8750        padding: 0.5em var(--pu-input-space-padding);
8751        color: rgb(from var(--pu-input-color-foreground, inherit) r g b / alpha);
8752        border: none;
8753        border-radius: var(--pu-border-input-size-corner-radius);
8754        background: none;
8755        box-shadow: none;
8756        cursor: inherit;
8757        -webkit-appearance: none;
8758    }
8759
8760    .textarea__control::-webkit-search-decoration,
8761    .textarea__control::-webkit-search-cancel-button,
8762    .textarea__control::-webkit-search-results-button,
8763    .textarea__control::-webkit-search-results-decoration {
8764        -webkit-appearance: none;
8765    }
8766
8767    .textarea__control::placeholder {
8768        color: rgb(from var(--pu-input-placeholder-color-foreground, hsl(240, 4%, 46%)) r g b / alpha);
8769        user-select: none;
8770        -webkit-user-select: none;
8771    }
8772
8773    .textarea__control:focus {
8774        outline: none;
8775    }
8776`,te`
8777    /* Size API Classes */
8778    .textarea--small {
8779        --pu-border-input-size-corner-radius: var(--pu-border-radius-050, 0.125em);
8780        --pu-input-font-size: var(--pu-text-body-size-sm, 0.875em);
8781    }
8782
8783    .textarea--small .textarea__control {
8784        --pu-input-space-padding: var(--pu-space-300, 0.75em);
8785    }
8786
8787    .textarea--medium {
8788        --pu-border-input-size-corner-radius: var(--pu-border-radius-100, 0.25em);
8789        --pu-input-font-size: var(--pu-text-body-size-sm, 0.875em);
8790    }
8791
8792    .textarea__control {
8793        --pu-input-space-padding: var(--pu-space-400, 1em);
8794    }
8795
8796    .textarea--large {
8797        --pu-border-input-size-corner-radius: var(--pu-border-radius-200, 0.5em);
8798        --pu-input-font-size: var(--pu-text-body-size-md, 1em);
8799    }
8800
8801    .textarea--large .textarea__control {
8802        --pu-input-space-padding: var(--pu-space-500, 1.25em);
8803    }
8804
8805    /* Resize API Classes */
8806    .textarea--resize-none .textarea__control {
8807        resize: none;
8808    }
8809
8810    .textarea--resize-vertical .textarea__control {
8811        resize: vertical;
8812    }
8813
8814    .textarea--resize-auto .textarea__control {
8815        height: auto;
8816        resize: none;
8817        overflow-y: hidden;
8818    }
8819`];class Xa extends Ue{constructor(){super(...arguments),this.formControlController=new Et(this,{assumeInteractionOn:["pu-blur","pu-input"]}),this.hasSlotController=new Xe(this,"help-text","label"),this.hasFocus=!1,this.title="",this.name="",this.value="",this.size="medium",this.label="",this.labelHidden=!1,this.helpText="",this.placeholder="",this.rows=4,this.resize="vertical",this.disabled=!1,this.readonly=!1,this.form="",this.required=!1,this.autocapitalize="off",this.autofocus=!1,this.enterkeyhint="enter",this.spellcheck=!0,this.defaultValue="",this.deprecatedPropertyMap=[{old:"hideLabel",new:"labelHidden",defaultValue:!1}]}get hideLabel(){return this.labelHidden}set hideLabel(e){this._handleDeprecated("hideLabel",e)}_handleDeprecated(e,t){st(this,e,t,this.deprecatedPropertyMap)}get validity(){return this.input.validity}get validationMessage(){return this.input.validationMessage}connectedCallback(){super.connectedCallback(),this.resizeObserver=new ResizeObserver((()=>this.setTextareaHeight())),this.updateComplete.then((()=>{this.setTextareaHeight(),this.resizeObserver?.observe(this.input)}))}firstUpdated(){this.formControlController.updateValidity()}disconnectedCallback(){super.disconnectedCallback(),this.input&&this.resizeObserver?.unobserve(this.input)}
8819handleBlur(){this.hasFocus=!1,this.emit("pu-blur")}handleChange(){this.value=this.input.value,this.setTextareaHeight(),this.emit("pu-change")}handleFocus(){this.hasFocus=!0,this.emit("pu-focus")}handleInput(){this.value=this.input.value,this.emit("pu-input")}handleInvalid(e){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(e)}setTextareaHeight(){"auto"===this.resize?(this.sizeAdjuster.style.height=`${this.input.clientHeight}px`,this.input.style.height="auto",this.input.style.height=`${this.input.scrollHeight}px`):this.input.style.height=""}handleDisabledChange(){this.formControlController.setValidity(this.disabled)}handleRowsChange(){this.setTextareaHeight()}async handleValueChange(){await this.updateComplete,this.formControlController.updateValidity(),this.setTextareaHeight()}focus(e){this.input.focus(e)}blur(){this.input.blur()}select(){this.input.select()}scrollPosition(e){return e?("number"==typeof e.top&&(this.input.scrollTop=e.top),void("number"==typeof e.left&&(this.input.scrollLeft=e.left))):{top:this.input.scrollTop,left:this.input.scrollTop}}setSelectionRange(e,t,o="none"){this.input.setSelectionRange(e,t,o)}setRangeText(e,t,o,i="preserve"){const r=t??this.input.selectionStart,a=o??this.input.selectionEnd;this.input.setRangeText(e,r,a,i),this.value!==this.input.value&&(this.value=this.input.value,this.setTextareaHeight())}checkValidity(){return this.input.checkValidity()}getForm(){return this.formControlController.getForm()}reportValidity(){return this.input.reportValidity()}setCustomValidity(e){this.input.setCustomValidity(e),this.formControlController.updateValidity()}render(){const e=this.hasSlotController.test("label"),t=this.hasSlotController.test("help-text"),o=!!this.label||!!e,i=!!this.helpText||!!t,r=this.labelHidden&&this.required?`* ${this.placeholder}`:this.placeholder;return $`
8820            <div
8821                part="base text-area"
8822                class=${J({"form-control":!0,"form-control--small":"small"===this.size,"form-control--medium":"medium"===this.size,"form-control--large":"large"===this.size,"form-control--has-label":o,"form-control--has-help-text":i})}
8823            >
8824                <label
8825                    part="label"
8826                    class="${J({"form-control__label":!0,"form-control__label--visually-hidden":this.labelHidden})}"
8827                    for="input"
8828                    aria-hidden=${o?"false":"true"}
8829                >
8830                    <slot name="label">${this.label}</slot>
8831                </label>
8832
8833                <div
8834                    part="input"
8835                    class="form-control-input"
8836                >
8837                    <div
8838                        part="container"
8839                        class=${J({textarea:!0,"textarea--small":"small"===this.size,"textarea--medium":"medium"===this.size,"textarea--large":"large"===this.size,"textarea--disabled":this.disabled,"textarea--focused":this.hasFocus,"textarea--empty":!this.value,"textarea--resize-none":"none"===this.resize,"textarea--resize-vertical":"vertical"===this.resize,"textarea--resize-auto":"auto"===this.resize})}
8840                    >
8841                        <textarea
8842                            part="textarea"
8843                            id="input"
8844                            class="textarea__control"
8845                            title=${this.title}
8846                            name=${Ze(this.name)}
8847                            .value=${Gt(this.value)}
8848                            ?disabled=${this.disabled}
8849                            ?readonly=${this.readonly}
8850                            ?required=${this.required}
8851                            placeholder=${Ze(r)}
8852                            rows=${Ze(this.rows)}
8853                            minlength=${Ze(this.minlength)}
8854                            maxlength=${Ze(this.maxlength)}
8855                            autocapitalize=${Ze(this.autocapitalize)}
8856                            autocorrect=${Ze(this.textAutocorrect)}
8857                            ?autofocus=${this.autofocus}
8858                            spellcheck=${Ze(this.spellcheck)}
8859                            enterkeyhint=${Ze(this.enterkeyhint)}
8860                            inputmode=${Ze(this.inputmode)}
8861                            aria-describedby="help-text"
8862                            @change=${this.handleChange}
8863                            @input=${this.handleInput}
8864                            @invalid=${this.handleInvalid}
8865                            @focus=${this.handleFocus}
8866                            @blur=${this.handleBlur}
8867                        ></textarea>
8868                        <div
8869                            part="adjuster"
8870                            class="textarea__size-adjuster"
8871                            ?hidden=${"auto"!==this.resize}
8872                        ></div>
8873                    </div>
8874                </div>
8875
8876                <div
8877                    part="help-text"
8878                    id="help-text"
8879                    class="form-control__help-text"
8880                    aria-hidden=${i?"false":"true"}
8881                >
8882                    <slot name="help-text">${this.helpText}</slot>
8883                </div>
8884            </div>
8885        `}}Xa.styles=[Me,Ja],i([Se(".textarea__control")],Xa.prototype,"input",void 0),i([Se(".textarea__size-adjuster")],Xa.prototype,"sizeAdjuster",void 0),i([Ce()],Xa.prototype,"hasFocus",void 0),i([ke()],Xa.prototype,"title",void 0),i([ke()],Xa.prototype,"name",void 0),i([ke()],Xa.prototype,"value",void 0),i([ke({reflect:!0})],Xa.prototype,"size",void 0),i([ke()],Xa.prototype,"label",void 0),i([ke({type:Boolean})],Xa.prototype,"labelHidden",void 0),i([ke()],Xa.prototype,"helpText",void 0),i([ke()],Xa.prototype,"placeholder",void 0),i([ke({type:Number})],Xa.prototype,"rows",void 0),i([ke()],Xa.prototype,"resize",void 0),i([ke({type:Boolean,reflect:!0})],Xa.prototype,"disabled",void 0),i([ke({type:Boolean,reflect:!0})],Xa.prototype,"readonly",void 0),i([ke({reflect:!0})],Xa.prototype,"form",void 0),i([ke({type:Boolean,reflect:!0})],Xa.prototype,"required",void 0),i([ke({type:Number})],Xa.prototype,"minlength",void 0),i([ke({type:Number})],Xa.prototype,"maxlength",void 0),i([ke()],Xa.prototype,"autocapitalize",void 0),i([ke()],Xa.prototype,"textAutocorrect",void 0),i([ke()],Xa.prototype,"autocomplete",void 0),i([ke({type:Boolean})],Xa.prototype,"autofocus",void 0),i([ke()],Xa.prototype,"enterkeyhint",void 0),i([ke({type:Boolean,converter:{fromAttribute:e=>!(!e||"false"===e),toAttribute:e=>e?"true":"false"}})],Xa.prototype,"spellcheck",void 0),i([ke()],Xa.prototype,"inputmode",void 0),i([Ft()],Xa.prototype,"defaultValue",void 0),i([ke({type:Boolean})],Xa.prototype,"hideLabel",null),i([Te("disabled",{waitUntilFirstUpdate:!0})],Xa.prototype,"handleDisabledChange",null),i([Te("rows",{waitUntilFirstUpdate:!0})],Xa.prototype,"handleRowsChange",null),i([Te("value",{waitUntilFirstUpdate:!0})],Xa.prototype,"handleValueChange",null),Xa.define("pu-text-area");class Ya extends Ha{constructor(){super(...arguments),this.mediaId=""}}Ya.styles=[Ha.styles,te`
8886            :host {
8887                box-sizing: border-box;
8888                padding: var(--pu-space-100, 0.25em);
8889            }
8890            :host([active]) {
8891                padding: 0;
8892                position: relative;
8893            }
8894            :host([active])::after {
8895                content: '';
8896                display: block;
8897                position: absolute;
8898                inset: 0;
8899                background-color: rgb(255, 255, 255, 0.2);
8900                cursor: default;
8901            }
8902            li {
8903                border: 0.0625em solid rgb(0, 0, 0, 0.1);
8904            }
8905        `],i([ke()],Ya.prototype,"mediaId",void 0);class Za extends Ua{constructor(){super(),this.currentMediaId="",this.sliderMode="slider",this.slider=!0,this.sliderNarrow=!0,this.slideEventManager=new zi(this);const e=[...this.constructor.eventTypes];e.push("active-slide"),e.forEach((e=>{this.addEventListener(e,this._customEventsHandler)})),this._initialiseSlides()}connectedCallback(){super.connectedCallback(),this.slidesSelectable=!0}async _initialiseSlides(){await this.updateComplete,this._updateActiveSlide(this.currentMediaId),this._sliderItems.forEach((e=>{e.addEventListener("click",(()=>{const t={mediaId:e.getAttribute("mediaId")};this._eventsDispatcher("active-slide",t)}))}))}slidesChanged(){super.slidesChanged(),this._initialiseSlides()}
8905_updateActiveSlide(e){e&&this._sliderItems.forEach(((t,o)=>{t.hasAttribute("active")&&t.removeAttribute("active");const i=t.getAttribute("mediaId");if(e===i){t.setAttribute("active",""),this._updateActiveMedia(i);const e={slideNumber:o+1};this._eventsDispatcher("slide-link",e)}}))}_updateActiveMedia(e){this.slideEventManager.dispatchCustomEvent("active-media",{mediaId:e},{bubbles:!0,composed:!0})}_eventsDispatcher(e,t){if(!e)throw new Error("Missing custom event type");const o={bubbles:!0,composed:!0};"active-slide"==e&&this.slideEventManager.dispatchCustomEvent(e,t,o),"slide-link"==e&&this.slideEventManager.dispatchCustomEvent(e,t,o)}_customEventsHandler(e){super._customEventsHandler(e),"active-slide"===e.type&&this._updateActiveSlide(e.detail.mediaId)}updated(e){super.updated(e),e.has("currentMediaId")&&e.get("currentMediaId")&&this._updateActiveSlide(this.currentMediaId)}}Za.dependencies={"pu-button-icon":jt,"pu-slide":Ha,"pu-slider-controls":Fa,"pu-thumbnail-slide":Ya},i([ke({reflect:!0})],Za.prototype,"currentMediaId",void 0),i([ke()],Za.prototype,"sliderMode",void 0),i([ke({type:Boolean})],Za.prototype,"slider",void 0),i([ke({type:Boolean})],Za.prototype,"sliderNarrow",void 0),Za.define("pu-thumbnail-slider");const Qa=[te`
8906    :host {
8907        display: block;
8908    }
8909
8910    video,
8911    .image {
8912        display: block;
8913        height: auto;
8914        width: 100%;
8915    }
8916`,kt,te`
8917    /* Fit API Classes - Host Level */
8918    :host([fit='cover']),
8919    :host([fit='contain']) {
8920        height: 100%;
8921    }
8922
8923    /* Fit API Classes - Container Level */
8924    .video-container.image-fit--cover,
8925    .video-container.image-fit--contain {
8926        height: 100%;
8927        position: relative;
8928    }
8929
8930    .image-fit--cover video,
8931    .image-fit--contain video {
8932        position: absolute;
8933        height: 100%;
8934        width: 100%;
8935    }
8936
8937    /* Fit API Classes - Object Fit Behavior */
8938    .image-fit--cover video {
8939        object-fit: cover;
8940    }
8941    .image-fit--contain video {
8942        object-fit: contain;
8943    }
8944`];class es extends Ue{get posterSource(){return this.poster}set posterSource(e){at(this,"posterSource","poster",(()=>{}),e)}constructor(){super(),this.sources=[],this.width=100,this.height=100,this.fit="adapt",this.inBackground=!1,this.autoplay=!0,this.muted=!0,this.loop=!1,this.controls=!1,this._hasPlayed=!1,this.initialise()}containerClasses(){const e={};return e["image-fit--"+this.fit]=!0,e}async initialise(){await this.updateComplete,this._hasPlayed||(this._videoElement?.play(),this._hasPlayed=!0)}handleFirstPlay(){this._hasPlayed||(this._hasPlayed=!0)}videoType(){return this.inBackground?$`
8945                <video
8946                    width="${this.width}"
8947                    height="${this.height}"
8948                    playsinline
8949                    autoplay
8950                    loop
8951                    muted
8952                    @play=${this.handleFirstPlay}
8953                >
8954                    ${this.sources.map((e=>$`
8955                            <source
8956                                src="${e.src}"
8957                                type="video/${e.type}"
8958                                width="${this.width}"
8959                                height="${this.height}"
8960                            />
8961                        `))}
8962                </video>
8963            `:$`
8964            <video
8965                width="${this.width}"
8966                height="${this.height}"
8967                poster="${Ze(this.poster)}"
8968                ?controls="${this.controls}"
8969                ?autoplay="${this.autoplay}"
8970                ?loop="${this.loop}"
8971                ?muted="${this.muted}"
8972                @play=${this.handleFirstPlay}
8973            >
8974                ${this.sources.map((e=>$`
8975                        <source
8976                            src="${e.src}"
8977                            type="video/${e.type}"
8978                            width="${this.width}"
8979                            height="${this.height}"
8980                        />
8981                    `))}
8982            </video>
8983        `}video(){return Array.isArray(this.sources)&&this.sources.length?$` ${this.videoType()} `:$`
8984            <div
8985                class="placeholder image image--wide${J(this.containerClasses())}"
8986                style="aspect-ratio: ${this.width/this.height}"
8987            >
8988                <div class="placeholder-inner">
8989                    <svg
8990                        class="icon"
8991                        xmlns="http://www.w3.org/2000/svg"
8992                        height="1em"
8993                        viewBox="0 0 576 512"
8994                        fill="currentcolor"
8995                    >
8996                        <path
8997                            d="M70.5 138.1C31 172.2 16 219.1 16 272c0 52 18.4 91.6 46.9 118.3C91.6 417.2 131.5 432 176 432h8.4c18.2 0 34.8-10.3 42.9-26.5l23.2-46.3C257.6 345 272.1 336 288 336s30.4 9 37.5 23.2l23.2 46.3c8.1 16.3 24.8 26.5 42.9 26.5H400c44.5 0 84.4-14.8 113.1-41.7C541.6 363.6 560 324 560 272c0-52.9-15-99.8-54.5-133.9C465.6 103.6 398.1 80 288 80s-177.6 23.6-217.5 58.1zM0 272C0 160 64 64 288 64s288 96 288 208s-80 176-176 176h-8.4c-24.2 0-46.4-13.7-57.2-35.4l-23.2-46.3c-4.4-8.8-13.3-14.3-23.2-14.3s-18.8 5.5-23.2 14.3l-23.2 46.3c-10.8 21.7-33 35.4-57.2 35.4H176C80 448 0 384 0 272zm160 32a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0-112a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm304 64a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-112 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z"
8998                        />
8999                    </svg>
9000                </div>
9001            </div>
9002        `}render(){return $`
9003            <div
9004                part="base video"
9005                class="video-container${J(this.containerClasses())}"
9006            >
9007                ${this.video()}
9008            </div>
9009        `}}es.styles=[Me,Qa],i([ke({type:Array})],es.prototype,"sources",void 0),i([ke()],es.prototype,"poster",void 0),i([ke()],es.prototype,"posterSource",null),i([ke({type:Number})],es.prototype,"width",void 0),i([ke({type:Number})],es.prototype,"height",void 0),i([ke({type:String})],es.prototype,"fit",void 0),i([ke({type:Boolean})],es.prototype,"inBackground",void 0),i([ke({type:Boolean})],es.prototype,"autoplay",void 0),i([ke({type:Boolean})],es.prototype,"muted",void 0),i([ke({type:Boolean})],es.prototype,"loop",void 0),i([ke({type:Boolean})],es.prototype,"controls",void 0),i([Ce()],es.prototype,"_hasPlayed",void 0),i([Se("video")],es.prototype,"_videoElement",void 0),es.define("pu-video"),xt.define("pu-vertical-stack")},347:(e,t,o)=>{o.a(e,(async(e,t)=>{try{var i=o(764);const e=window.UMG_NEWSLETTER_FE?.assets_base_url||"",r=window.UMG_NEWSLETTER_FE?.assets_flags_base_url||"";(0,i.jP)(e),(0,i.RF)(r),await o.e(993).then(o.bind(o,993)),t()}catch(e){t(e)}}),1)}},n={};function l(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return s[e](o,o.exports,l),o.exports}l.m=s,e="function"==typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",t="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",o="function"==typeof Symbol?Symbol("webpack error"):"__webpack_error__",i=e=>{e&&e.d<1&&(e.d=1,e.forEach((e=>e.r--)),e.forEach((e=>e.r--?e.r++:e())))},l.a=(r,a,s)=>{var n;s&&((n=[]).d=-1);var l,d,p,c=new Set,u=r.exports,h=new Promise(((e,t)=>{p=t,d=e}));h[t]=u,h[e]=e=>(n&&e(n),c.forEach(e),h.catch((e=>{}))),r.exports=h,a((r=>{var a;l=(r=>r.map((r=>{if(null!==r&&"object"==typeof r){if(r[e])return r;if(r.then){var a=[];a.d=0,r.then((e=>{s[t]=e,i(a)}),(e=>{s[o]=e,i(a)}));var s={};return s[e]=e=>e(a),s}}var n={};return n[e]=e=>{},n[t]=r,n})))(r);var s=()=>l.map((e=>{if(e[o])throw e[o];return e[t]})),d=new Promise((t=>{(a=()=>t(s)).r=0;var o=e=>e!==n&&!c.has(e)&&(c.add(e),e&&!e.d&&(a.r++,e.push(a)));l.map((t=>t[e](o)))}));return a.r?d:s()}),(e=>(e?p(h[o]=e):d(u),i(n)))),n&&n.d<0&&(n.d=0)},l.d=(e,t)=>{for(var o in t)l.o(t,o)&&!l.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},l.f={},l.e=e=>Promise.all(Object.keys(l.f).reduce(((t,o)=>(l.f[o](e,t),t)),[])),l.u=e=>e+".e1a16cf0.js?ver=2.0.33",l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},a="umg-newsletter-plugin:",l.l=(e,t,o,i)=>{if(r[e])r[e].push(t);else{var s,n;if(void 0!==o)for(var d=document.getElementsByTagName("script"),p=0;p<d.length;p++){var c=d[p];if(c.getAttribute("src")==e||c.getAttribute("data-webpack")==a+o){s=c;break}}s||(n=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,l.nc&&s.setAttribute("nonce",l.nc),s.setAttribute("data-webpack",a+o),s.src=e),r[e]=[t];var u=(t,o)=>{s.onerror=s.onload=null,clearTimeout(h);var i=r[e];if(delete r[e],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEac
vendor: 1,182 bytes, line 9009
9009h((e=>e(o))),t)return t(o)},h=setTimeout(u.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=u.bind(null,s.onerror),s.onload=u.bind(null,s.onload),n&&document.head.appendChild(s)}},l.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.p="/wp-content/plugins/umg-newsletter/public/dist/",(()=>{var e={624:0};l.f.j=(t,o)=>{var i=l.o(e,t)?e[t]:void 0;if(0!==i)if(i)o.push(i[2]);else{var r=new Promise(((o,r)=>i=e[t]=[o,r]));o.push(i[2]=r);var a=l.p+l.u(t),s=new Error;l.l(a,(o=>{if(l.o(e,t)&&(0!==(i=e[t])&&(e[t]=void 0),i)){var r=o&&("load"===o.type?"missing":o.type),a=o&&o.target&&o.target.src;s.message="Loading chunk "+t+" failed.\n("+r+": "+a+")",s.name="ChunkLoadError",s.type=r,s.request=a,i[1](s)}}),"chunk-"+t,t)}};var t=(t,o)=>{var i,r,[a,s,n]=o,d=0;if(a.some((t=>0!==e[t]))){for(i in s)l.o(s,i)&&(l.m[i]=s[i]);if(n)n(l)}for(t&&t(o);d<a.length;d++)r=a[d],l.o(e,r)&&e[r]&&e[r][0](),e[r]=0},o=self.webpackChunkumg_newsletter_plugin=self.webpackChunkumg_newsletter_plugin||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))})();l(347)})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.