@grasco/profile-picture 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -178,6 +178,7 @@ declare class ProfilePicture extends LitElement {
178
178
  borderWidth: 1 | 2 | 3 | 4 | 5 | 6 | 8;
179
179
  borderColor: string;
180
180
  rotation: number;
181
+ zoom: number;
181
182
  bgColor?: string;
182
183
  bgGradient?: string;
183
184
  ring?: RingConfig;
@@ -188,6 +189,8 @@ declare class ProfilePicture extends LitElement {
188
189
  placeholder: PlaceholderType;
189
190
  placeholderColor: string;
190
191
  fallback?: string;
192
+ fallbackMode?: "initials" | "gradient";
193
+ imageMode: "transparent" | "original";
191
194
  interactive?: InteractionConfig;
192
195
  private isLoaded;
193
196
  private hasError;
@@ -196,14 +199,22 @@ declare class ProfilePicture extends LitElement {
196
199
  private previousSrc;
197
200
  private previousExtCustomerId?;
198
201
  private retryTimeoutId?;
202
+ private randomSeed;
199
203
  private readonly RETRY_DELAY_MS;
200
204
  private get pixelSize();
205
+ /**
206
+ * Resolve the seed for cloudy gradient from available identifiers.
207
+ * Priority: extCustomerId > alt > src > random instance seed
208
+ */
209
+ private get gradientSeed();
201
210
  connectedCallback(): void;
202
211
  disconnectedCallback(): void;
203
212
  protected firstUpdated(): void;
204
213
  protected updated(changedProperties: Map<string, unknown>): void;
205
214
  protected willUpdate(changedProperties: Map<string, unknown>): void;
206
215
  private handleLoad;
216
+ private handleClick;
217
+ private handleKeyDown;
207
218
  private handleError;
208
219
  /**
209
220
  * Construct CDN URL for profile picture using ext-customer-id
@@ -216,8 +227,9 @@ declare class ProfilePicture extends LitElement {
216
227
  private renderImage;
217
228
  private renderRing;
218
229
  /**
219
- * Calculate corner offset based on variant
220
- * Returns the inset from container edge where badges/presence should be positioned
230
+ * Calculate the distance from the container edge to the avatar's visual corner point.
231
+ * For a circle, this is the 45° point on the circumference.
232
+ * Returns the inset in pixels where an indicator's CENTER should be placed.
221
233
  */
222
234
  private getCornerOffset;
223
235
  private renderPresence;
@@ -1,7 +1,7 @@
1
- var Wt=Object.defineProperty;var d=(i,e,t,r)=>{for(var n=void 0,o=i.length-1,s;o>=0;o--)(s=i[o])&&(n=(s(e,t,n))||n);return n&&Wt(e,t,n),n};var Ee="grasco-profile-picture-styles",j=false,Ke=false;function Je(){if(j||typeof document>"u")return;if(document.getElementById(Ee)){j=true;return}if(document.querySelector('link[href*="profile-picture"][href$="styles.css"]')){j=true;return}Ke||(Ke=true,qt());}function qt(){(typeof requestIdleCallback<"u"?requestIdleCallback:e=>setTimeout(e,1))(()=>Yt());}function Yt(){if(j||typeof document>"u")return;if(document.getElementById(Ee)){j=true;return}let i=Kt();if(!i)return;let e=document.createElement("link");e.id=Ee,e.rel="stylesheet",e.href=i,document.head.appendChild(e),j=true;}function Kt(){if(typeof window<"u"&&window.__GRASCO_PROFILE_PICTURE_CSS__)return window.__GRASCO_PROFILE_PICTURE_CSS__;try{let e=import.meta.url;if(e)return `${e.substring(0,e.lastIndexOf("/")+1)}dist/styles.css`}catch{}let i=document.currentScript;if(i?.src){let e=new URL(i.src);return `${e.href.substring(0,e.href.lastIndexOf("/")+1)}dist/styles.css`}return null}var Xe=class{get shadowRoot(){return this.__host.__shadowRoot}constructor(e){this.ariaActiveDescendantElement=null,this.ariaAtomic="",this.ariaAutoComplete="",this.ariaBrailleLabel="",this.ariaBrailleRoleDescription="",this.ariaBusy="",this.ariaChecked="",this.ariaColCount="",this.ariaColIndex="",this.ariaColIndexText="",this.ariaColSpan="",this.ariaControlsElements=null,this.ariaCurrent="",this.ariaDescribedByElements=null,this.ariaDescription="",this.ariaDetailsElements=null,this.ariaDisabled="",this.ariaErrorMessageElements=null,this.ariaExpanded="",this.ariaFlowToElements=null,this.ariaHasPopup="",this.ariaHidden="",this.ariaInvalid="",this.ariaKeyShortcuts="",this.ariaLabel="",this.ariaLabelledByElements=null,this.ariaLevel="",this.ariaLive="",this.ariaModal="",this.ariaMultiLine="",this.ariaMultiSelectable="",this.ariaOrientation="",this.ariaOwnsElements=null,this.ariaPlaceholder="",this.ariaPosInSet="",this.ariaPressed="",this.ariaReadOnly="",this.ariaRelevant="",this.ariaRequired="",this.ariaRoleDescription="",this.ariaRowCount="",this.ariaRowIndex="",this.ariaRowIndexText="",this.ariaRowSpan="",this.ariaSelected="",this.ariaSetSize="",this.ariaSort="",this.ariaValueMax="",this.ariaValueMin="",this.ariaValueNow="",this.ariaValueText="",this.role="",this.form=null,this.labels=[],this.states=new Set,this.validationMessage="",this.validity={},this.willValidate=true,this.__host=e;}checkValidity(){return console.warn("`ElementInternals.checkValidity()` was called on the server.This method always returns true."),true}reportValidity(){return true}setFormValue(){}setValidity(){}};var T=function(i,e,t,r,n){if(typeof e=="function"?i!==e||true:!e.has(i))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e.set(i,t),t},_=function(i,e,t,r){if(typeof e=="function"?i!==e||!r:!e.has(i))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?r:t==="a"?r.call(i):r?r.value:e.get(i)},W,ce,ue,Z,$e,Q,he,B,ee,N,ge,Ze,Qe=i=>typeof i=="boolean"?i:i?.capture??false;var Ae=class{constructor(){this.__eventListeners=new Map,this.__captureEventListeners=new Map;}addEventListener(e,t,r){if(t==null)return;let n=Qe(r)?this.__captureEventListeners:this.__eventListeners,o=n.get(e);if(o===void 0)o=new Map,n.set(e,o);else if(o.has(t))return;let s=typeof r=="object"&&r?r:{};s.signal?.addEventListener("abort",()=>this.removeEventListener(e,t,r)),o.set(t,s??{});}removeEventListener(e,t,r){if(t==null)return;let n=Qe(r)?this.__captureEventListeners:this.__eventListeners,o=n.get(e);o!==void 0&&(o.delete(t),o.size||n.delete(e));}dispatchEvent(e){let t=[this],r=this.__eventTargetParent;if(e.composed)for(;r;)t.push(r),r=r.__eventTargetParent;else for(;r&&r!==this.__host;)t.push(r),r=r.__eventTargetParent;let n=false,o=false,s=0,p=null,a=null,u=null,f=e.stopPropagation,c=e.stopImmediatePropagation;Object.defineProperties(e,{target:{get(){return p??a},...m},srcElement:{get(){return e.target},...m},currentTarget:{get(){return u},...m},eventPhase:{get(){return s},...m},composedPath:{value:()=>t,...m},stopPropagation:{value:()=>{n=true,f.call(e);},...m},stopImmediatePropagation:{value:()=>{o=true,c.call(e);},...m}});let w=(y,A,I)=>{typeof y=="function"?y(e):typeof y?.handleEvent=="function"&&y.handleEvent(e),A.once&&I.delete(y);},S=()=>(u=null,s=0,!e.defaultPrevented),C=t.slice().reverse();p=!this.__host||!e.composed?this:null;let v=y=>{for(a=this;a.__host&&y.includes(a.__host);)a=a.__host;};for(let y of C){!p&&(!a||a===y.__host)&&v(C.slice(C.indexOf(y))),u=y,s=y===e.target?2:1;let A=y.__captureEventListeners.get(e.type);if(A){for(let[I,X]of A)if(w(I,X,A),o)return S()}if(n)return S()}let D=e.bubbles?t:[this];a=null;for(let y of D){!p&&(!a||y===a.__host)&&v(D.slice(0,D.indexOf(y)+1)),u=y,s=y===e.target?2:3;let A=y.__eventListeners.get(e.type);if(A){for(let[I,X]of A)if(w(I,X,A),o)return S()}if(n)return S()}return S()}},Te=Ae;var m={__proto__:null};m.enumerable=true;Object.freeze(m);var Re=(N=class{constructor(e,t={}){if(W.set(this,false),ce.set(this,false),ue.set(this,false),Z.set(this,false),$e.set(this,Date.now()),Q.set(this,false),he.set(this,void 0),B.set(this,void 0),ee.set(this,void 0),this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,arguments.length===0)throw new Error("The type argument must be specified");if(typeof t!="object"||!t)throw new Error('The "options" argument must be an object');let{bubbles:r,cancelable:n,composed:o}=t;T(this,W,!!n),T(this,ce,!!r),T(this,ue,!!o),T(this,he,`${e}`),T(this,B,null),T(this,ee,false);}initEvent(e,t,r){throw new Error("Method not implemented.")}stopImmediatePropagation(){this.stopPropagation();}preventDefault(){T(this,Z,true);}get target(){return _(this,B,"f")}get currentTarget(){return _(this,B,"f")}get srcElement(){return _(this,B,"f")}get type(){return _(this,he,"f")}get cancelable(){return _(this,W,"f")}get defaultPrevented(){return _(this,W,"f")&&_(this,Z,"f")}get timeStamp(){return _(this,$e,"f")}composedPath(){return _(this,ee,"f")?[_(this,B,"f")]:[]}get returnValue(){return !_(this,W,"f")||!_(this,Z,"f")}get bubbles(){return _(this,ce,"f")}get composed(){return _(this,ue,"f")}get eventPhase(){return _(this,ee,"f")?N.AT_TARGET:N.NONE}get cancelBubble(){return _(this,Q,"f")}set cancelBubble(e){e&&T(this,Q,true);}stopPropagation(){T(this,Q,true);}get isTrusted(){return false}},W=new WeakMap,ce=new WeakMap,ue=new WeakMap,Z=new WeakMap,$e=new WeakMap,Q=new WeakMap,he=new WeakMap,B=new WeakMap,ee=new WeakMap,N.NONE=0,N.CAPTURING_PHASE=1,N.AT_TARGET=2,N.BUBBLING_PHASE=3,N);Object.defineProperties(Re.prototype,{initEvent:m,stopImmediatePropagation:m,preventDefault:m,target:m,currentTarget:m,srcElement:m,type:m,cancelable:m,defaultPrevented:m,timeStamp:m,composedPath:m,returnValue:m,bubbles:m,composed:m,eventPhase:m,cancelBubble:m,stopPropagation:m,isTrusted:m});var et=(Ze=class extends Re{constructor(e,t={}){super(e,t),ge.set(this,void 0),T(this,ge,t?.detail??null);}initCustomEvent(e,t,r,n){throw new Error("Method not implemented.")}get detail(){return _(this,ge,"f")}},ge=new WeakMap,Ze);Object.defineProperties(et.prototype,{detail:m});var ke=Re,Pe=et;var $;($=class{constructor(){this.STYLE_RULE=1,this.CHARSET_RULE=2,this.IMPORT_RULE=3,this.MEDIA_RULE=4,this.FONT_FACE_RULE=5,this.PAGE_RULE=6,this.NAMESPACE_RULE=10,this.KEYFRAMES_RULE=7,this.KEYFRAME_RULE=8,this.SUPPORTS_RULE=12,this.COUNTER_STYLE_RULE=11,this.FONT_FEATURE_VALUES_RULE=14,this.__parentStyleSheet=null,this.cssText="";}get parentRule(){return null}get parentStyleSheet(){return this.__parentStyleSheet}get type(){return 0}},$.STYLE_RULE=1,$.CHARSET_RULE=2,$.IMPORT_RULE=3,$.MEDIA_RULE=4,$.FONT_FACE_RULE=5,$.PAGE_RULE=6,$.NAMESPACE_RULE=10,$.KEYFRAMES_RULE=7,$.KEYFRAME_RULE=8,$.SUPPORTS_RULE=12,$.COUNTER_STYLE_RULE=11,$.FONT_FEATURE_VALUES_RULE=14,$);globalThis.Event??=ke;globalThis.CustomEvent??=Pe;var tt=new WeakMap,te=i=>{let e=tt.get(i);return e===void 0&&tt.set(i,e=new Map),e},Jt=class extends Te{constructor(){super(...arguments),this.__shadowRootMode=null,this.__shadowRoot=null,this.__internals=null;}get attributes(){return Array.from(te(this)).map(([e,t])=>({name:e,value:t}))}get shadowRoot(){return this.__shadowRootMode==="closed"?null:this.__shadowRoot}get localName(){return this.constructor.__localName}get tagName(){return this.localName?.toUpperCase()}setAttribute(e,t){te(this).set(e,String(t));}removeAttribute(e){te(this).delete(e);}toggleAttribute(e,t){if(this.hasAttribute(e)){if(t===void 0||!t)return this.removeAttribute(e),false}else return t===void 0||t?(this.setAttribute(e,""),true):false;return true}hasAttribute(e){return te(this).has(e)}attachShadow(e){let t={host:this};return this.__shadowRootMode=e.mode,e&&e.mode==="open"&&(this.__shadowRoot=t),t}attachInternals(){if(this.__internals!==null)throw new Error("Failed to execute 'attachInternals' on 'HTMLElement': ElementInternals for the specified element was already attached.");let e=new Xe(this);return this.__internals=e,e}getAttribute(e){return te(this).get(e)??null}};var Xt=class extends Jt{},Me=Xt;globalThis.litServerRoot??=Object.defineProperty(new Me,"localName",{get(){return "lit-server-root"}});function Zt(){let i,e;return {promise:new Promise((r,n)=>{i=r,e=n;}),resolve:i,reject:e}}var Ie=class{constructor(){this.__definitions=new Map,this.__reverseDefinitions=new Map,this.__pendingWhenDefineds=new Map;}define(e,t){if(this.__definitions.has(e))if(process.env.NODE_ENV==="development")console.warn(`'CustomElementRegistry' already has "${e}" defined. This may have been caused by live reload or hot module replacement in which case it can be safely ignored.
2
- Make sure to test your application with a production build as repeat registrations will throw in production.`);else throw new Error(`Failed to execute 'define' on 'CustomElementRegistry': the name "${e}" has already been used with this registry`);if(this.__reverseDefinitions.has(t))throw new Error(`Failed to execute 'define' on 'CustomElementRegistry': the constructor has already been used with this registry for the tag name ${this.__reverseDefinitions.get(t)}`);t.__localName=e,this.__definitions.set(e,{ctor:t,observedAttributes:t.observedAttributes??[]}),this.__reverseDefinitions.set(t,e),this.__pendingWhenDefineds.get(e)?.resolve(t),this.__pendingWhenDefineds.delete(e);}get(e){return this.__definitions.get(e)?.ctor}getName(e){return this.__reverseDefinitions.get(e)??null}upgrade(e){throw new Error("customElements.upgrade is not currently supported in SSR. Please file a bug if you need it.")}async whenDefined(e){let t=this.__definitions.get(e);if(t)return t.ctor;let r=this.__pendingWhenDefineds.get(e);return r||(r=Zt(),this.__pendingWhenDefineds.set(e,r)),r.promise}},Qt=Ie;var rt=new Qt;var re=globalThis,me=re.ShadowRoot&&(re.ShadyCSS===void 0||re.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,nt=Symbol(),it=new WeakMap,fe=class{constructor(e,t,r){if(this._$cssResult$=true,r!==nt)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t;}get styleSheet(){let e=this.o,t=this.t;if(me&&e===void 0){let r=t!==void 0&&t.length===1;r&&(e=it.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&it.set(t,e));}return e}toString(){return this.cssText}},ot=i=>new fe(typeof i=="string"?i:i+"",void 0,nt);var st=(i,e)=>{if(me)i.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(let t of e){let r=document.createElement("style"),n=re.litNonce;n!==void 0&&r.setAttribute("nonce",n),r.textContent=t.cssText,i.appendChild(r);}},Le=me||re.CSSStyleSheet===void 0?i=>i:i=>i instanceof CSSStyleSheet?(e=>{let t="";for(let r of e.cssRules)t+=r.cssText;return ot(t)})(i):i;var{is:er,defineProperty:tr,getOwnPropertyDescriptor:rr,getOwnPropertyNames:ir,getOwnPropertySymbols:nr,getPrototypeOf:or}=Object,oe=globalThis;oe.customElements??=rt;var at=oe.trustedTypes,sr=at?at.emptyScript:"",ar=oe.reactiveElementPolyfillSupport,ie=(i,e)=>i,ne={toAttribute(i,e){switch(e){case Boolean:i=i?sr:null;break;case Object:case Array:i=i==null?i:JSON.stringify(i);}return i},fromAttribute(i,e){let t=i;switch(e){case Boolean:t=i!==null;break;case Number:t=i===null?null:Number(i);break;case Object:case Array:try{t=JSON.parse(i);}catch{t=null;}}return t}},be=(i,e)=>!er(i,e),pt={attribute:true,type:String,converter:ne,reflect:false,useDefault:false,hasChanged:be};Symbol.metadata??=Symbol("metadata"),oe.litPropertyMetadata??=new WeakMap;var M=class extends(globalThis.HTMLElement??Me){static addInitializer(e){this._$Ei(),(this.l??=[]).push(e);}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=pt){if(t.state&&(t.attribute=false),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=true),this.elementProperties.set(e,t),!t.noAccessor){let r=Symbol(),n=this.getPropertyDescriptor(e,r,t);n!==void 0&&tr(this.prototype,e,n);}}static getPropertyDescriptor(e,t,r){let{get:n,set:o}=rr(this.prototype,e)??{get(){return this[t]},set(s){this[t]=s;}};return {get:n,set(s){let p=n?.call(this);o?.call(this,s),this.requestUpdate(e,p,r);},configurable:true,enumerable:true}}static getPropertyOptions(e){return this.elementProperties.get(e)??pt}static _$Ei(){if(this.hasOwnProperty(ie("elementProperties")))return;let e=or(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties);}static finalize(){if(this.hasOwnProperty(ie("finalized")))return;if(this.finalized=true,this._$Ei(),this.hasOwnProperty(ie("properties"))){let t=this.properties,r=[...ir(t),...nr(t)];for(let n of r)this.createProperty(n,t[n]);}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[r,n]of t)this.elementProperties.set(r,n);}this._$Eh=new Map;for(let[t,r]of this.elementProperties){let n=this._$Eu(t,r);n!==void 0&&this._$Eh.set(n,t);}this.elementStyles=this.finalizeStyles(this.styles);}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let r=new Set(e.flat(1/0).reverse());for(let n of r)t.unshift(Le(n));}else e!==void 0&&t.push(Le(e));return t}static _$Eu(e,t){let r=t.attribute;return r===false?void 0:typeof r=="string"?r:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=false,this.hasUpdated=false,this._$Em=null,this._$Ev();}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this));}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.();}removeController(e){this._$EO?.delete(e);}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let r of t.keys())this.hasOwnProperty(r)&&(e.set(r,this[r]),delete this[r]);e.size>0&&(this._$Ep=e);}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return st(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(true),this._$EO?.forEach(e=>e.hostConnected?.());}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.());}attributeChangedCallback(e,t,r){this._$AK(e,r);}_$ET(e,t){let r=this.constructor.elementProperties.get(e),n=this.constructor._$Eu(e,r);if(n!==void 0&&r.reflect===true){let o=(r.converter?.toAttribute!==void 0?r.converter:ne).toAttribute(t,r.type);this._$Em=e,o==null?this.removeAttribute(n):this.setAttribute(n,o),this._$Em=null;}}_$AK(e,t){let r=this.constructor,n=r._$Eh.get(e);if(n!==void 0&&this._$Em!==n){let o=r.getPropertyOptions(n),s=typeof o.converter=="function"?{fromAttribute:o.converter}:o.converter?.fromAttribute!==void 0?o.converter:ne;this._$Em=n;let p=s.fromAttribute(t,o.type);this[n]=p??this._$Ej?.get(n)??p,this._$Em=null;}}requestUpdate(e,t,r,n=false,o){if(e!==void 0){let s=this.constructor;if(n===false&&(o=this[e]),r??=s.getPropertyOptions(e),!((r.hasChanged??be)(o,t)||r.useDefault&&r.reflect&&o===this._$Ej?.get(e)&&!this.hasAttribute(s._$Eu(e,r))))return;this.C(e,t,r);}this.isUpdatePending===false&&(this._$ES=this._$EP());}C(e,t,{useDefault:r,reflect:n,wrapped:o},s){r&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,s??t??this[e]),o!==true||s!==void 0)||(this._$AL.has(e)||(this.hasUpdated||r||(t=void 0),this._$AL.set(e,t)),n===true&&this._$Em!==e&&(this._$Eq??=new Set).add(e));}async _$EP(){this.isUpdatePending=true;try{await this._$ES;}catch(t){Promise.reject(t);}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[n,o]of this._$Ep)this[n]=o;this._$Ep=void 0;}let r=this.constructor.elementProperties;if(r.size>0)for(let[n,o]of r){let{wrapped:s}=o,p=this[n];s!==true||this._$AL.has(n)||p===void 0||this.C(n,void 0,o,p);}}let e=false,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(r=>r.hostUpdate?.()),this.update(t)):this._$EM();}catch(r){throw e=false,this._$EM(),r}e&&this._$AE(t);}willUpdate(e){}_$AE(e){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=true,this.firstUpdated(e)),this.updated(e);}_$EM(){this._$AL=new Map,this.isUpdatePending=false;}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return true}update(e){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM();}updated(e){}firstUpdated(e){}};M.elementStyles=[],M.shadowRootOptions={mode:"open"},M[ie("elementProperties")]=new Map,M[ie("finalized")]=new Map,ar?.({ReactiveElement:M}),(oe.reactiveElementVersions??=[]).push("2.1.2");var xe=globalThis,lt=i=>i,ye=xe.trustedTypes,dt=ye?ye.createPolicy("lit-html",{createHTML:i=>i}):void 0,mt="$lit$",z=`lit$${Math.random().toFixed(9).slice(2)}$`,bt="?"+z,pr=`<${bt}>`,G=xe.document===void 0?{createTreeWalker:()=>({})}:document,ae=()=>G.createComment(""),pe=i=>i===null||typeof i!="object"&&typeof i!="function",He=Array.isArray,lr=i=>He(i)||typeof i?.[Symbol.iterator]=="function",Ue=`[
3
- \f\r]`,se=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ct=/-->/g,ut=/>/g,H=RegExp(`>|${Ue}(?:([^\\s"'>=/]+)(${Ue}*=${Ue}*(?:[^
4
- \f\r"'\`<>=]|("|')|))|$)`,"g"),ht=/'/g,gt=/"/g,yt=/^(?:script|style|textarea|title)$/i,Fe=i=>(e,...t)=>({_$litType$:i,strings:e,values:t}),b=Fe(1),L=Symbol.for("lit-noChange"),g=Symbol.for("lit-nothing"),ft=new WeakMap,F=G.createTreeWalker(G,129);function xt(i,e){if(!He(i)||!i.hasOwnProperty("raw"))throw Error("invalid template strings array");return dt!==void 0?dt.createHTML(e):e}var dr=(i,e)=>{let t=i.length-1,r=[],n,o=e===2?"<svg>":e===3?"<math>":"",s=se;for(let p=0;p<t;p++){let a=i[p],u,f,c=-1,w=0;for(;w<a.length&&(s.lastIndex=w,f=s.exec(a),f!==null);)w=s.lastIndex,s===se?f[1]==="!--"?s=ct:f[1]!==void 0?s=ut:f[2]!==void 0?(yt.test(f[2])&&(n=RegExp("</"+f[2],"g")),s=H):f[3]!==void 0&&(s=H):s===H?f[0]===">"?(s=n??se,c=-1):f[1]===void 0?c=-2:(c=s.lastIndex-f[2].length,u=f[1],s=f[3]===void 0?H:f[3]==='"'?gt:ht):s===gt||s===ht?s=H:s===ct||s===ut?s=se:(s=H,n=void 0);let S=s===H&&i[p+1].startsWith("/>")?" ":"";o+=s===se?a+pr:c>=0?(r.push(u),a.slice(0,c)+mt+a.slice(c)+z+S):a+z+(c===-2?p:S);}return [xt(i,o+(i[t]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),r]},le=class i{constructor({strings:e,_$litType$:t},r){let n;this.parts=[];let o=0,s=0,p=e.length-1,a=this.parts,[u,f]=dr(e,t);if(this.el=i.createElement(u,r),F.currentNode=this.el.content,t===2||t===3){let c=this.el.content.firstChild;c.replaceWith(...c.childNodes);}for(;(n=F.nextNode())!==null&&a.length<p;){if(n.nodeType===1){if(n.hasAttributes())for(let c of n.getAttributeNames())if(c.endsWith(mt)){let w=f[s++],S=n.getAttribute(c).split(z),C=/([.?@])?(.*)/.exec(w);a.push({type:1,index:o,name:C[2],strings:S,ctor:C[1]==="."?De:C[1]==="?"?Ne:C[1]==="@"?ze:q}),n.removeAttribute(c);}else c.startsWith(z)&&(a.push({type:6,index:o}),n.removeAttribute(c));if(yt.test(n.tagName)){let c=n.textContent.split(z),w=c.length-1;if(w>0){n.textContent=ye?ye.emptyScript:"";for(let S=0;S<w;S++)n.append(c[S],ae()),F.nextNode(),a.push({type:2,index:++o});n.append(c[w],ae());}}}else if(n.nodeType===8)if(n.data===bt)a.push({type:2,index:o});else {let c=-1;for(;(c=n.data.indexOf(z,c+1))!==-1;)a.push({type:7,index:o}),c+=z.length-1;}o++;}}static createElement(e,t){let r=G.createElement("template");return r.innerHTML=e,r}};function V(i,e,t=i,r){if(e===L)return e;let n=r!==void 0?t._$Co?.[r]:t._$Cl,o=pe(e)?void 0:e._$litDirective$;return n?.constructor!==o&&(n?._$AO?.(false),o===void 0?n=void 0:(n=new o(i),n._$AT(i,t,r)),r!==void 0?(t._$Co??=[])[r]=n:t._$Cl=n),n!==void 0&&(e=V(i,n._$AS(i,e.values),n,r)),e}var Oe=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t;}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:t},parts:r}=this._$AD,n=(e?.creationScope??G).importNode(t,true);F.currentNode=n;let o=F.nextNode(),s=0,p=0,a=r[0];for(;a!==void 0;){if(s===a.index){let u;a.type===2?u=new de(o,o.nextSibling,this,e):a.type===1?u=new a.ctor(o,a.name,a.strings,this,e):a.type===6&&(u=new Be(o,this,e)),this._$AV.push(u),a=r[++p];}s!==a?.index&&(o=F.nextNode(),s++);}return F.currentNode=G,n}p(e){let t=0;for(let r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(e,r,t),t+=r.strings.length-2):r._$AI(e[t])),t++;}},de=class i{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,r,n){this.type=2,this._$AH=g,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=r,this.options=n,this._$Cv=n?.isConnected??true;}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&e?.nodeType===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=V(this,e,t),pe(e)?e===g||e==null||e===""?(this._$AH!==g&&this._$AR(),this._$AH=g):e!==this._$AH&&e!==L&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):lr(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!==g&&pe(this._$AH)?this._$AA.nextSibling.data=e:this.T(G.createTextNode(e)),this._$AH=e;}$(e){let{values:t,_$litType$:r}=e,n=typeof r=="number"?this._$AC(e):(r.el===void 0&&(r.el=le.createElement(xt(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===n)this._$AH.p(t);else {let o=new Oe(n,this),s=o.u(this.options);o.p(t),this.T(s),this._$AH=o;}}_$AC(e){let t=ft.get(e.strings);return t===void 0&&ft.set(e.strings,t=new le(e)),t}k(e){He(this._$AH)||(this._$AH=[],this._$AR());let t=this._$AH,r,n=0;for(let o of e)n===t.length?t.push(r=new i(this.O(ae()),this.O(ae()),this,this.options)):r=t[n],r._$AI(o),n++;n<t.length&&(this._$AR(r&&r._$AB.nextSibling,n),t.length=n);}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(false,true,t);e!==this._$AB;){let r=lt(e).nextSibling;lt(e).remove(),e=r;}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e));}},q=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,r,n,o){this.type=1,this._$AH=g,this._$AN=void 0,this.element=e,this.name=t,this._$AM=n,this.options=o,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=g;}_$AI(e,t=this,r,n){let o=this.strings,s=false;if(o===void 0)e=V(this,e,t,0),s=!pe(e)||e!==this._$AH&&e!==L,s&&(this._$AH=e);else {let p=e,a,u;for(e=o[0],a=0;a<o.length-1;a++)u=V(this,p[r+a],t,a),u===L&&(u=this._$AH[a]),s||=!pe(u)||u!==this._$AH[a],u===g?e=g:e!==g&&(e+=(u??"")+o[a+1]),this._$AH[a]=u;}s&&!n&&this.j(e);}j(e){e===g?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"");}},De=class extends q{constructor(){super(...arguments),this.type=3;}j(e){this.element[this.name]=e===g?void 0:e;}},Ne=class extends q{constructor(){super(...arguments),this.type=4;}j(e){this.element.toggleAttribute(this.name,!!e&&e!==g);}},ze=class extends q{constructor(e,t,r,n,o){super(e,t,r,n,o),this.type=5;}_$AI(e,t=this){if((e=V(this,e,t,0)??g)===L)return;let r=this._$AH,n=e===g&&r!==g||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,o=e!==g&&(r===g||n);n&&this.element.removeEventListener(this.name,this,r),o&&this.element.addEventListener(this.name,this,e),this._$AH=e;}handleEvent(e){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e);}},Be=class{constructor(e,t,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=r;}get _$AU(){return this._$AM._$AU}_$AI(e){V(this,e);}};var cr=xe.litHtmlPolyfillSupport;cr?.(le,de),(xe.litHtmlVersions??=[]).push("3.3.2");var Y=(i,e,t)=>{let r=t?.renderBefore??e,n=r._$litPart$;if(n===void 0){let o=t?.renderBefore??null;r._$litPart$=n=new de(e.insertBefore(ae(),o),o,void 0,t??{});}return n._$AI(i),n};var Ge=globalThis,R=class extends M{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0;}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Y(t,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(true);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(false);}render(){return L}};R._$litElement$=true,R.finalized=true,Ge.litElementHydrateSupport?.({LitElement:R});var ur=Ge.litElementPolyfillSupport;ur?.({LitElement:R});(Ge.litElementVersions??=[]).push("4.2.2");var hr={attribute:true,type:String,converter:ne,reflect:false,hasChanged:be},gr=(i=hr,e,t)=>{let{kind:r,metadata:n}=t,o=globalThis.litPropertyMetadata.get(n);if(o===void 0&&globalThis.litPropertyMetadata.set(n,o=new Map),r==="setter"&&((i=Object.create(i)).wrapped=true),o.set(t.name,i),r==="accessor"){let{name:s}=t;return {set(p){let a=e.get.call(this);e.set.call(this,p),this.requestUpdate(s,a,i,true,p);},init(p){return p!==void 0&&this.C(s,void 0,i,p),p}}}if(r==="setter"){let{name:s}=t;return function(p){let a=this[s];e.call(this,p),this.requestUpdate(s,a,i,true,p);}}throw Error("Unsupported decorator location: "+r)};function h(i){return (e,t)=>typeof t=="object"?gr(i,e,t):((r,n,o)=>{let s=n.hasOwnProperty(o);return n.constructor.createProperty(o,r),s?Object.getOwnPropertyDescriptor(n,o):void 0})(i,e,t)}function U(i){return h({...i,state:true,attribute:false})}var vt={ATTRIBUTE:1},wt=i=>(...e)=>({_$litDirective$:i,values:e}),we=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,r){this._$Ct=e,this._$AM=t,this._$Ci=r;}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}};var St="important",fr=" !"+St,x=wt(class extends we{constructor(i){if(super(i),i.type!==vt.ATTRIBUTE||i.name!=="style"||i.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(i){return Object.keys(i).reduce((e,t)=>{let r=i[t];return r==null?e:e+`${t=t.includes("-")?t:t.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${r};`},"")}update(i,[e]){let{style:t}=i.element;if(this.ft===void 0)return this.ft=new Set(Object.keys(e)),this.render(e);for(let r of this.ft)e[r]==null&&(this.ft.delete(r),r.includes("-")?t.removeProperty(r):t[r]=null);for(let r in e){let n=e[r];if(n!=null){this.ft.add(r);let o=typeof n=="string"&&n.endsWith(fr);r.includes("-")||o?t.setProperty(r,o?n.slice(0,-11):n,o?St:""):t[r]=n;}}return L}});var K={"2xs":20,xs:24,sm:32,md:40,lg:48,xl:64,"2xl":80,"3xl":120},Ct={online:"#30D158",away:"#FFD60A",busy:"#FF453A",offline:"#8E8E93",dnd:"#FF453A"},_t={none:"none",sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)",glow:"0 0 20px 0 rgba(99, 102, 241, 0.3)"},k={size:"md",variant:"circle",loading:"lazy",placeholder:"shimmer",borderWidth:2,borderColor:"#ffffff",placeholderColor:"#f3f4f6",shadow:"sm"};var J={circle:"9999px",rounded:"12px",squircle:"30%",square:"0px"},P={max:4,direction:"ltr",overlap:.3,size:"md",tooltipDelay:300,dropdownMaxHeight:280,animated:true};function O(...i){return i.filter(Boolean).join(" ")}function je(i){return /^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/.test(i)}function Se(i){let t=i.trim().replace(/[^\w\s]/g,"").split(/\s+/).filter(Boolean);return t.length===0?"?":t.length===1?t[0].slice(0,1).toUpperCase():(t[0][0]+(t.at(-1)?.[0]??"")).toUpperCase()}function We(i){return Math.round(i*.38)}function Et(i,e){let t;if(e){let n=Math.round(i*.31);t=Math.min(24,Math.max(14,n));}else {let n=Math.round(i*.22);t=Math.min(14,Math.max(8,n));}let r=Math.max(9,Math.round(t*.55));return {size:t,fontSize:r}}function $t(i,e){let t=Math.min(16,Math.max(8,Math.round(i*.2)));return Math.min(18,t+(e-1)*2)}function At(i,e){return typeof i=="string"?i:e&&i>e?`${e}+`:i.toString()}function Tt(i){return i.length===0?"transparent":i.length===1?i[0]:`conic-gradient(${i.map((t,r)=>{let n=r/i.length*360,o=(r+1)/i.length*360;return `${t} ${n}deg ${o}deg`}).join(", ")})`}function mr(i){let e=0;for(let t=0;t<i.length;t++){let r=i.charCodeAt(t);e=(e<<5)-e+r,e&=e;}return Math.abs(e)}function Rt(i,e,t){let n=Math.max(0,Math.min(100,i))/100*360;return `conic-gradient(from 270deg, ${e} 0deg ${n}deg, ${t} ${n}deg 360deg)`}function Ce(i){let e=["linear-gradient(135deg, #667eea 0%, #764ba2 100%)","linear-gradient(135deg, #f093fb 0%, #f5576c 100%)","linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)","linear-gradient(135deg, #43e97b 0%, #38f9d7 100%)","linear-gradient(135deg, #fa709a 0%, #fee140 100%)","linear-gradient(135deg, #a8edea 0%, #fed6e3 100%)","linear-gradient(135deg, #d299c2 0%, #fef9d7 100%)","linear-gradient(135deg, #89f7fe 0%, #66a6ff 100%)","linear-gradient(135deg, #cd9cf2 0%, #f6f3ff 100%)","linear-gradient(135deg, #fddb92 0%, #d1fdff 100%)"],t=mr(i)%e.length;return e[t]}function kt(i){return typeof i=="number"?i:K[i]??K[P.size]}function Ve(i,e,t){let r=t?e-1:e;if(i<=r)return {visible:i,hidden:0,showCounter:false};let n=r-1,o=i-n;return {visible:n,hidden:o,showCounter:true}}function _e(i,e,t,r,n){let o=n??e*(1-t);return i*o}function Pt(i,e,t){return t==="ltr"?e-i:i+1}function It(i,e,t,r){if(i===0)return 0;if(i===1)return e;let n=r??e*(1-t);return e+n*(i-1)}function Mt(i){return i>99?"+99":`+${i}`}function Lt(i){return i<=80?"80":i<=120?"120":i<=240?"240":i<=480?"480":"960"}function Ut(i){if(!(i&&je(i)))return "light";let e=i.replace("#","");e.length===3&&(e=e.split("").map(s=>s+s).join(""));let t=Number.parseInt(e.slice(0,2),16),r=Number.parseInt(e.slice(2,4),16),n=Number.parseInt(e.slice(4,6),16);return (.299*t+.587*r+.114*n)/255>.5?"light":"dark"}function Ot(i,e,t,r,n){let o=i.endsWith("/")?i.slice(0,-1):i,s=`${e}_${t}_${r}.webp`;return `${o}/api/profile-picture/cdn/${s}?hostname=${n}`}function Dt(i){return {circle:"np:rounded-full",rounded:"np:rounded-xl",squircle:"np:rounded-[30%]",square:"np:rounded-none"}[i]}function Nt(i,e){return {className:{1:"np:border",2:"np:border-2",3:"np:border-[3px]",4:"np:border-4",5:"np:border-[5px]",6:"np:border-[6px]",8:"np:border-8"}[i],style:{borderColor:e,borderStyle:"solid"}}}function zt(i,e){return e?{className:"",style:{background:e}}:i?i.includes("gradient")?{className:"",style:{background:i}}:{className:"",style:{backgroundColor:i}}:{className:"",style:{backgroundColor:"#e7e7e7"}}}function Bt(i){return {boxShadow:_t[i]}}var br={shimmer:`
1
+ var qt=Object.defineProperty;var d=(i,e,t,r)=>{for(var n=void 0,o=i.length-1,s;o>=0;o--)(s=i[o])&&(n=(s(e,t,n))||n);return n&&qt(e,t,n),n};var $e="grasco-profile-picture-styles",j=false,Ke=false;function Je(){if(j||typeof document>"u")return;if(document.getElementById($e)){j=true;return}if(document.querySelector('link[href*="profile-picture"][href$="styles.css"]')){j=true;return}Ke||(Ke=true,Kt());}function Kt(){(typeof requestIdleCallback<"u"?requestIdleCallback:e=>setTimeout(e,1))(()=>Jt());}function Jt(){if(j||typeof document>"u")return;if(document.getElementById($e)){j=true;return}let i=Xt();if(!i)return;let e=document.createElement("link");e.id=$e,e.rel="stylesheet",e.href=i,document.head.appendChild(e),j=true;}function Xt(){if(typeof window<"u"&&window.__GRASCO_PROFILE_PICTURE_CSS__)return window.__GRASCO_PROFILE_PICTURE_CSS__;try{let e=import.meta.url;if(e)return `${e.substring(0,e.lastIndexOf("/")+1)}styles.css`}catch{}let i=document.currentScript;if(i?.src){let e=new URL(i.src);return `${e.href.substring(0,e.href.lastIndexOf("/")+1)}dist/styles.css`}return null}var Xe=class{get shadowRoot(){return this.__host.__shadowRoot}constructor(e){this.ariaActiveDescendantElement=null,this.ariaAtomic="",this.ariaAutoComplete="",this.ariaBrailleLabel="",this.ariaBrailleRoleDescription="",this.ariaBusy="",this.ariaChecked="",this.ariaColCount="",this.ariaColIndex="",this.ariaColIndexText="",this.ariaColSpan="",this.ariaControlsElements=null,this.ariaCurrent="",this.ariaDescribedByElements=null,this.ariaDescription="",this.ariaDetailsElements=null,this.ariaDisabled="",this.ariaErrorMessageElements=null,this.ariaExpanded="",this.ariaFlowToElements=null,this.ariaHasPopup="",this.ariaHidden="",this.ariaInvalid="",this.ariaKeyShortcuts="",this.ariaLabel="",this.ariaLabelledByElements=null,this.ariaLevel="",this.ariaLive="",this.ariaModal="",this.ariaMultiLine="",this.ariaMultiSelectable="",this.ariaOrientation="",this.ariaOwnsElements=null,this.ariaPlaceholder="",this.ariaPosInSet="",this.ariaPressed="",this.ariaReadOnly="",this.ariaRelevant="",this.ariaRequired="",this.ariaRoleDescription="",this.ariaRowCount="",this.ariaRowIndex="",this.ariaRowIndexText="",this.ariaRowSpan="",this.ariaSelected="",this.ariaSetSize="",this.ariaSort="",this.ariaValueMax="",this.ariaValueMin="",this.ariaValueNow="",this.ariaValueText="",this.role="",this.form=null,this.labels=[],this.states=new Set,this.validationMessage="",this.validity={},this.willValidate=true,this.__host=e;}checkValidity(){return console.warn("`ElementInternals.checkValidity()` was called on the server.This method always returns true."),true}reportValidity(){return true}setFormValue(){}setValidity(){}};var R=function(i,e,t,r,n){if(typeof e=="function"?i!==e||true:!e.has(i))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e.set(i,t),t},E=function(i,e,t,r){if(typeof e=="function"?i!==e||!r:!e.has(i))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?r:t==="a"?r.call(i):r?r.value:e.get(i)},W,ce,he,Z,Ae,Q,ue,B,ee,z,ge,Ze,Qe=i=>typeof i=="boolean"?i:i?.capture??false;var Te=class{constructor(){this.__eventListeners=new Map,this.__captureEventListeners=new Map;}addEventListener(e,t,r){if(t==null)return;let n=Qe(r)?this.__captureEventListeners:this.__eventListeners,o=n.get(e);if(o===void 0)o=new Map,n.set(e,o);else if(o.has(t))return;let s=typeof r=="object"&&r?r:{};s.signal?.addEventListener("abort",()=>this.removeEventListener(e,t,r)),o.set(t,s??{});}removeEventListener(e,t,r){if(t==null)return;let n=Qe(r)?this.__captureEventListeners:this.__eventListeners,o=n.get(e);o!==void 0&&(o.delete(t),o.size||n.delete(e));}dispatchEvent(e){let t=[this],r=this.__eventTargetParent;if(e.composed)for(;r;)t.push(r),r=r.__eventTargetParent;else for(;r&&r!==this.__host;)t.push(r),r=r.__eventTargetParent;let n=false,o=false,s=0,l=null,a=null,c=null,f=e.stopPropagation,h=e.stopImmediatePropagation;Object.defineProperties(e,{target:{get(){return l??a},...m},srcElement:{get(){return e.target},...m},currentTarget:{get(){return c},...m},eventPhase:{get(){return s},...m},composedPath:{value:()=>t,...m},stopPropagation:{value:()=>{n=true,f.call(e);},...m},stopImmediatePropagation:{value:()=>{o=true,h.call(e);},...m}});let v=(y,A,L)=>{typeof y=="function"?y(e):typeof y?.handleEvent=="function"&&y.handleEvent(e),A.once&&L.delete(y);},w=()=>(c=null,s=0,!e.defaultPrevented),S=t.slice().reverse();l=!this.__host||!e.composed?this:null;let k=y=>{for(a=this;a.__host&&y.includes(a.__host);)a=a.__host;};for(let y of S){!l&&(!a||a===y.__host)&&k(S.slice(S.indexOf(y))),c=y,s=y===e.target?2:1;let A=y.__captureEventListeners.get(e.type);if(A){for(let[L,X]of A)if(v(L,X,A),o)return w()}if(n)return w()}let C=e.bubbles?t:[this];a=null;for(let y of C){!l&&(!a||y===a.__host)&&k(C.slice(0,C.indexOf(y)+1)),c=y,s=y===e.target?2:3;let A=y.__eventListeners.get(e.type);if(A){for(let[L,X]of A)if(v(L,X,A),o)return w()}if(n)return w()}return w()}},ke=Te;var m={__proto__:null};m.enumerable=true;Object.freeze(m);var Re=(z=class{constructor(e,t={}){if(W.set(this,false),ce.set(this,false),he.set(this,false),Z.set(this,false),Ae.set(this,Date.now()),Q.set(this,false),ue.set(this,void 0),B.set(this,void 0),ee.set(this,void 0),this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,arguments.length===0)throw new Error("The type argument must be specified");if(typeof t!="object"||!t)throw new Error('The "options" argument must be an object');let{bubbles:r,cancelable:n,composed:o}=t;R(this,W,!!n),R(this,ce,!!r),R(this,he,!!o),R(this,ue,`${e}`),R(this,B,null),R(this,ee,false);}initEvent(e,t,r){throw new Error("Method not implemented.")}stopImmediatePropagation(){this.stopPropagation();}preventDefault(){R(this,Z,true);}get target(){return E(this,B,"f")}get currentTarget(){return E(this,B,"f")}get srcElement(){return E(this,B,"f")}get type(){return E(this,ue,"f")}get cancelable(){return E(this,W,"f")}get defaultPrevented(){return E(this,W,"f")&&E(this,Z,"f")}get timeStamp(){return E(this,Ae,"f")}composedPath(){return E(this,ee,"f")?[E(this,B,"f")]:[]}get returnValue(){return !E(this,W,"f")||!E(this,Z,"f")}get bubbles(){return E(this,ce,"f")}get composed(){return E(this,he,"f")}get eventPhase(){return E(this,ee,"f")?z.AT_TARGET:z.NONE}get cancelBubble(){return E(this,Q,"f")}set cancelBubble(e){e&&R(this,Q,true);}stopPropagation(){R(this,Q,true);}get isTrusted(){return false}},W=new WeakMap,ce=new WeakMap,he=new WeakMap,Z=new WeakMap,Ae=new WeakMap,Q=new WeakMap,ue=new WeakMap,B=new WeakMap,ee=new WeakMap,z.NONE=0,z.CAPTURING_PHASE=1,z.AT_TARGET=2,z.BUBBLING_PHASE=3,z);Object.defineProperties(Re.prototype,{initEvent:m,stopImmediatePropagation:m,preventDefault:m,target:m,currentTarget:m,srcElement:m,type:m,cancelable:m,defaultPrevented:m,timeStamp:m,composedPath:m,returnValue:m,bubbles:m,composed:m,eventPhase:m,cancelBubble:m,stopPropagation:m,isTrusted:m});var et=(Ze=class extends Re{constructor(e,t={}){super(e,t),ge.set(this,void 0),R(this,ge,t?.detail??null);}initCustomEvent(e,t,r,n){throw new Error("Method not implemented.")}get detail(){return E(this,ge,"f")}},ge=new WeakMap,Ze);Object.defineProperties(et.prototype,{detail:m});var Ie=Re,Me=et;var $;($=class{constructor(){this.STYLE_RULE=1,this.CHARSET_RULE=2,this.IMPORT_RULE=3,this.MEDIA_RULE=4,this.FONT_FACE_RULE=5,this.PAGE_RULE=6,this.NAMESPACE_RULE=10,this.KEYFRAMES_RULE=7,this.KEYFRAME_RULE=8,this.SUPPORTS_RULE=12,this.COUNTER_STYLE_RULE=11,this.FONT_FEATURE_VALUES_RULE=14,this.__parentStyleSheet=null,this.cssText="";}get parentRule(){return null}get parentStyleSheet(){return this.__parentStyleSheet}get type(){return 0}},$.STYLE_RULE=1,$.CHARSET_RULE=2,$.IMPORT_RULE=3,$.MEDIA_RULE=4,$.FONT_FACE_RULE=5,$.PAGE_RULE=6,$.NAMESPACE_RULE=10,$.KEYFRAMES_RULE=7,$.KEYFRAME_RULE=8,$.SUPPORTS_RULE=12,$.COUNTER_STYLE_RULE=11,$.FONT_FEATURE_VALUES_RULE=14,$);globalThis.Event??=Ie;globalThis.CustomEvent??=Me;var tt=new WeakMap,te=i=>{let e=tt.get(i);return e===void 0&&tt.set(i,e=new Map),e},Zt=class extends ke{constructor(){super(...arguments),this.__shadowRootMode=null,this.__shadowRoot=null,this.__internals=null;}get attributes(){return Array.from(te(this)).map(([e,t])=>({name:e,value:t}))}get shadowRoot(){return this.__shadowRootMode==="closed"?null:this.__shadowRoot}get localName(){return this.constructor.__localName}get tagName(){return this.localName?.toUpperCase()}setAttribute(e,t){te(this).set(e,String(t));}removeAttribute(e){te(this).delete(e);}toggleAttribute(e,t){if(this.hasAttribute(e)){if(t===void 0||!t)return this.removeAttribute(e),false}else return t===void 0||t?(this.setAttribute(e,""),true):false;return true}hasAttribute(e){return te(this).has(e)}attachShadow(e){let t={host:this};return this.__shadowRootMode=e.mode,e&&e.mode==="open"&&(this.__shadowRoot=t),t}attachInternals(){if(this.__internals!==null)throw new Error("Failed to execute 'attachInternals' on 'HTMLElement': ElementInternals for the specified element was already attached.");let e=new Xe(this);return this.__internals=e,e}getAttribute(e){return te(this).get(e)??null}};var Qt=class extends Zt{},Le=Qt;globalThis.litServerRoot??=Object.defineProperty(new Le,"localName",{get(){return "lit-server-root"}});function er(){let i,e;return {promise:new Promise((r,n)=>{i=r,e=n;}),resolve:i,reject:e}}var Pe=class{constructor(){this.__definitions=new Map,this.__reverseDefinitions=new Map,this.__pendingWhenDefineds=new Map;}define(e,t){if(this.__definitions.has(e))if(process.env.NODE_ENV==="development")console.warn(`'CustomElementRegistry' already has "${e}" defined. This may have been caused by live reload or hot module replacement in which case it can be safely ignored.
2
+ Make sure to test your application with a production build as repeat registrations will throw in production.`);else throw new Error(`Failed to execute 'define' on 'CustomElementRegistry': the name "${e}" has already been used with this registry`);if(this.__reverseDefinitions.has(t))throw new Error(`Failed to execute 'define' on 'CustomElementRegistry': the constructor has already been used with this registry for the tag name ${this.__reverseDefinitions.get(t)}`);t.__localName=e,this.__definitions.set(e,{ctor:t,observedAttributes:t.observedAttributes??[]}),this.__reverseDefinitions.set(t,e),this.__pendingWhenDefineds.get(e)?.resolve(t),this.__pendingWhenDefineds.delete(e);}get(e){return this.__definitions.get(e)?.ctor}getName(e){return this.__reverseDefinitions.get(e)??null}upgrade(e){throw new Error("customElements.upgrade is not currently supported in SSR. Please file a bug if you need it.")}async whenDefined(e){let t=this.__definitions.get(e);if(t)return t.ctor;let r=this.__pendingWhenDefineds.get(e);return r||(r=er(),this.__pendingWhenDefineds.set(e,r)),r.promise}},tr=Pe;var rt=new tr;var re=globalThis,me=re.ShadowRoot&&(re.ShadyCSS===void 0||re.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,nt=Symbol(),it=new WeakMap,fe=class{constructor(e,t,r){if(this._$cssResult$=true,r!==nt)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t;}get styleSheet(){let e=this.o,t=this.t;if(me&&e===void 0){let r=t!==void 0&&t.length===1;r&&(e=it.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&it.set(t,e));}return e}toString(){return this.cssText}},ot=i=>new fe(typeof i=="string"?i:i+"",void 0,nt);var st=(i,e)=>{if(me)i.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(let t of e){let r=document.createElement("style"),n=re.litNonce;n!==void 0&&r.setAttribute("nonce",n),r.textContent=t.cssText,i.appendChild(r);}},Ue=me||re.CSSStyleSheet===void 0?i=>i:i=>i instanceof CSSStyleSheet?(e=>{let t="";for(let r of e.cssRules)t+=r.cssText;return ot(t)})(i):i;var{is:rr,defineProperty:ir,getOwnPropertyDescriptor:nr,getOwnPropertyNames:or,getOwnPropertySymbols:sr,getPrototypeOf:ar}=Object,oe=globalThis;oe.customElements??=rt;var at=oe.trustedTypes,lr=at?at.emptyScript:"",pr=oe.reactiveElementPolyfillSupport,ie=(i,e)=>i,ne={toAttribute(i,e){switch(e){case Boolean:i=i?lr:null;break;case Object:case Array:i=i==null?i:JSON.stringify(i);}return i},fromAttribute(i,e){let t=i;switch(e){case Boolean:t=i!==null;break;case Number:t=i===null?null:Number(i);break;case Object:case Array:try{t=JSON.parse(i);}catch{t=null;}}return t}},be=(i,e)=>!rr(i,e),lt={attribute:true,type:String,converter:ne,reflect:false,useDefault:false,hasChanged:be};Symbol.metadata??=Symbol("metadata"),oe.litPropertyMetadata??=new WeakMap;var U=class extends(globalThis.HTMLElement??Le){static addInitializer(e){this._$Ei(),(this.l??=[]).push(e);}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=lt){if(t.state&&(t.attribute=false),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=true),this.elementProperties.set(e,t),!t.noAccessor){let r=Symbol(),n=this.getPropertyDescriptor(e,r,t);n!==void 0&&ir(this.prototype,e,n);}}static getPropertyDescriptor(e,t,r){let{get:n,set:o}=nr(this.prototype,e)??{get(){return this[t]},set(s){this[t]=s;}};return {get:n,set(s){let l=n?.call(this);o?.call(this,s),this.requestUpdate(e,l,r);},configurable:true,enumerable:true}}static getPropertyOptions(e){return this.elementProperties.get(e)??lt}static _$Ei(){if(this.hasOwnProperty(ie("elementProperties")))return;let e=ar(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties);}static finalize(){if(this.hasOwnProperty(ie("finalized")))return;if(this.finalized=true,this._$Ei(),this.hasOwnProperty(ie("properties"))){let t=this.properties,r=[...or(t),...sr(t)];for(let n of r)this.createProperty(n,t[n]);}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[r,n]of t)this.elementProperties.set(r,n);}this._$Eh=new Map;for(let[t,r]of this.elementProperties){let n=this._$Eu(t,r);n!==void 0&&this._$Eh.set(n,t);}this.elementStyles=this.finalizeStyles(this.styles);}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let r=new Set(e.flat(1/0).reverse());for(let n of r)t.unshift(Ue(n));}else e!==void 0&&t.push(Ue(e));return t}static _$Eu(e,t){let r=t.attribute;return r===false?void 0:typeof r=="string"?r:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=false,this.hasUpdated=false,this._$Em=null,this._$Ev();}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this));}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.();}removeController(e){this._$EO?.delete(e);}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let r of t.keys())this.hasOwnProperty(r)&&(e.set(r,this[r]),delete this[r]);e.size>0&&(this._$Ep=e);}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return st(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(true),this._$EO?.forEach(e=>e.hostConnected?.());}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.());}attributeChangedCallback(e,t,r){this._$AK(e,r);}_$ET(e,t){let r=this.constructor.elementProperties.get(e),n=this.constructor._$Eu(e,r);if(n!==void 0&&r.reflect===true){let o=(r.converter?.toAttribute!==void 0?r.converter:ne).toAttribute(t,r.type);this._$Em=e,o==null?this.removeAttribute(n):this.setAttribute(n,o),this._$Em=null;}}_$AK(e,t){let r=this.constructor,n=r._$Eh.get(e);if(n!==void 0&&this._$Em!==n){let o=r.getPropertyOptions(n),s=typeof o.converter=="function"?{fromAttribute:o.converter}:o.converter?.fromAttribute!==void 0?o.converter:ne;this._$Em=n;let l=s.fromAttribute(t,o.type);this[n]=l??this._$Ej?.get(n)??l,this._$Em=null;}}requestUpdate(e,t,r,n=false,o){if(e!==void 0){let s=this.constructor;if(n===false&&(o=this[e]),r??=s.getPropertyOptions(e),!((r.hasChanged??be)(o,t)||r.useDefault&&r.reflect&&o===this._$Ej?.get(e)&&!this.hasAttribute(s._$Eu(e,r))))return;this.C(e,t,r);}this.isUpdatePending===false&&(this._$ES=this._$EP());}C(e,t,{useDefault:r,reflect:n,wrapped:o},s){r&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,s??t??this[e]),o!==true||s!==void 0)||(this._$AL.has(e)||(this.hasUpdated||r||(t=void 0),this._$AL.set(e,t)),n===true&&this._$Em!==e&&(this._$Eq??=new Set).add(e));}async _$EP(){this.isUpdatePending=true;try{await this._$ES;}catch(t){Promise.reject(t);}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[n,o]of this._$Ep)this[n]=o;this._$Ep=void 0;}let r=this.constructor.elementProperties;if(r.size>0)for(let[n,o]of r){let{wrapped:s}=o,l=this[n];s!==true||this._$AL.has(n)||l===void 0||this.C(n,void 0,o,l);}}let e=false,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(r=>r.hostUpdate?.()),this.update(t)):this._$EM();}catch(r){throw e=false,this._$EM(),r}e&&this._$AE(t);}willUpdate(e){}_$AE(e){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=true,this.firstUpdated(e)),this.updated(e);}_$EM(){this._$AL=new Map,this.isUpdatePending=false;}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return true}update(e){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM();}updated(e){}firstUpdated(e){}};U.elementStyles=[],U.shadowRootOptions={mode:"open"},U[ie("elementProperties")]=new Map,U[ie("finalized")]=new Map,pr?.({ReactiveElement:U}),(oe.reactiveElementVersions??=[]).push("2.1.2");var xe=globalThis,pt=i=>i,ye=xe.trustedTypes,dt=ye?ye.createPolicy("lit-html",{createHTML:i=>i}):void 0,mt="$lit$",N=`lit$${Math.random().toFixed(9).slice(2)}$`,bt="?"+N,dr=`<${bt}>`,G=xe.document===void 0?{createTreeWalker:()=>({})}:document,ae=()=>G.createComment(""),le=i=>i===null||typeof i!="object"&&typeof i!="function",Fe=Array.isArray,cr=i=>Fe(i)||typeof i?.[Symbol.iterator]=="function",De=`[
3
+ \f\r]`,se=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ct=/-->/g,ht=/>/g,H=RegExp(`>|${De}(?:([^\\s"'>=/]+)(${De}*=${De}*(?:[^
4
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),ut=/'/g,gt=/"/g,yt=/^(?:script|style|textarea|title)$/i,Ge=i=>(e,...t)=>({_$litType$:i,strings:e,values:t}),b=Ge(1),D=Symbol.for("lit-noChange"),g=Symbol.for("lit-nothing"),ft=new WeakMap,F=G.createTreeWalker(G,129);function xt(i,e){if(!Fe(i)||!i.hasOwnProperty("raw"))throw Error("invalid template strings array");return dt!==void 0?dt.createHTML(e):e}var hr=(i,e)=>{let t=i.length-1,r=[],n,o=e===2?"<svg>":e===3?"<math>":"",s=se;for(let l=0;l<t;l++){let a=i[l],c,f,h=-1,v=0;for(;v<a.length&&(s.lastIndex=v,f=s.exec(a),f!==null);)v=s.lastIndex,s===se?f[1]==="!--"?s=ct:f[1]!==void 0?s=ht:f[2]!==void 0?(yt.test(f[2])&&(n=RegExp("</"+f[2],"g")),s=H):f[3]!==void 0&&(s=H):s===H?f[0]===">"?(s=n??se,h=-1):f[1]===void 0?h=-2:(h=s.lastIndex-f[2].length,c=f[1],s=f[3]===void 0?H:f[3]==='"'?gt:ut):s===gt||s===ut?s=H:s===ct||s===ht?s=se:(s=H,n=void 0);let w=s===H&&i[l+1].startsWith("/>")?" ":"";o+=s===se?a+dr:h>=0?(r.push(c),a.slice(0,h)+mt+a.slice(h)+N+w):a+N+(h===-2?l:w);}return [xt(i,o+(i[t]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),r]},pe=class i{constructor({strings:e,_$litType$:t},r){let n;this.parts=[];let o=0,s=0,l=e.length-1,a=this.parts,[c,f]=hr(e,t);if(this.el=i.createElement(c,r),F.currentNode=this.el.content,t===2||t===3){let h=this.el.content.firstChild;h.replaceWith(...h.childNodes);}for(;(n=F.nextNode())!==null&&a.length<l;){if(n.nodeType===1){if(n.hasAttributes())for(let h of n.getAttributeNames())if(h.endsWith(mt)){let v=f[s++],w=n.getAttribute(h).split(N),S=/([.?@])?(.*)/.exec(v);a.push({type:1,index:o,name:S[2],strings:w,ctor:S[1]==="."?ze:S[1]==="?"?Ne:S[1]==="@"?Be:q}),n.removeAttribute(h);}else h.startsWith(N)&&(a.push({type:6,index:o}),n.removeAttribute(h));if(yt.test(n.tagName)){let h=n.textContent.split(N),v=h.length-1;if(v>0){n.textContent=ye?ye.emptyScript:"";for(let w=0;w<v;w++)n.append(h[w],ae()),F.nextNode(),a.push({type:2,index:++o});n.append(h[v],ae());}}}else if(n.nodeType===8)if(n.data===bt)a.push({type:2,index:o});else {let h=-1;for(;(h=n.data.indexOf(N,h+1))!==-1;)a.push({type:7,index:o}),h+=N.length-1;}o++;}}static createElement(e,t){let r=G.createElement("template");return r.innerHTML=e,r}};function V(i,e,t=i,r){if(e===D)return e;let n=r!==void 0?t._$Co?.[r]:t._$Cl,o=le(e)?void 0:e._$litDirective$;return n?.constructor!==o&&(n?._$AO?.(false),o===void 0?n=void 0:(n=new o(i),n._$AT(i,t,r)),r!==void 0?(t._$Co??=[])[r]=n:t._$Cl=n),n!==void 0&&(e=V(i,n._$AS(i,e.values),n,r)),e}var Oe=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t;}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:t},parts:r}=this._$AD,n=(e?.creationScope??G).importNode(t,true);F.currentNode=n;let o=F.nextNode(),s=0,l=0,a=r[0];for(;a!==void 0;){if(s===a.index){let c;a.type===2?c=new de(o,o.nextSibling,this,e):a.type===1?c=new a.ctor(o,a.name,a.strings,this,e):a.type===6&&(c=new He(o,this,e)),this._$AV.push(c),a=r[++l];}s!==a?.index&&(o=F.nextNode(),s++);}return F.currentNode=G,n}p(e){let t=0;for(let r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(e,r,t),t+=r.strings.length-2):r._$AI(e[t])),t++;}},de=class i{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,r,n){this.type=2,this._$AH=g,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=r,this.options=n,this._$Cv=n?.isConnected??true;}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&e?.nodeType===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=V(this,e,t),le(e)?e===g||e==null||e===""?(this._$AH!==g&&this._$AR(),this._$AH=g):e!==this._$AH&&e!==D&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):cr(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!==g&&le(this._$AH)?this._$AA.nextSibling.data=e:this.T(G.createTextNode(e)),this._$AH=e;}$(e){let{values:t,_$litType$:r}=e,n=typeof r=="number"?this._$AC(e):(r.el===void 0&&(r.el=pe.createElement(xt(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===n)this._$AH.p(t);else {let o=new Oe(n,this),s=o.u(this.options);o.p(t),this.T(s),this._$AH=o;}}_$AC(e){let t=ft.get(e.strings);return t===void 0&&ft.set(e.strings,t=new pe(e)),t}k(e){Fe(this._$AH)||(this._$AH=[],this._$AR());let t=this._$AH,r,n=0;for(let o of e)n===t.length?t.push(r=new i(this.O(ae()),this.O(ae()),this,this.options)):r=t[n],r._$AI(o),n++;n<t.length&&(this._$AR(r&&r._$AB.nextSibling,n),t.length=n);}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(false,true,t);e!==this._$AB;){let r=pt(e).nextSibling;pt(e).remove(),e=r;}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e));}},q=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,r,n,o){this.type=1,this._$AH=g,this._$AN=void 0,this.element=e,this.name=t,this._$AM=n,this.options=o,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=g;}_$AI(e,t=this,r,n){let o=this.strings,s=false;if(o===void 0)e=V(this,e,t,0),s=!le(e)||e!==this._$AH&&e!==D,s&&(this._$AH=e);else {let l=e,a,c;for(e=o[0],a=0;a<o.length-1;a++)c=V(this,l[r+a],t,a),c===D&&(c=this._$AH[a]),s||=!le(c)||c!==this._$AH[a],c===g?e=g:e!==g&&(e+=(c??"")+o[a+1]),this._$AH[a]=c;}s&&!n&&this.j(e);}j(e){e===g?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"");}},ze=class extends q{constructor(){super(...arguments),this.type=3;}j(e){this.element[this.name]=e===g?void 0:e;}},Ne=class extends q{constructor(){super(...arguments),this.type=4;}j(e){this.element.toggleAttribute(this.name,!!e&&e!==g);}},Be=class extends q{constructor(e,t,r,n,o){super(e,t,r,n,o),this.type=5;}_$AI(e,t=this){if((e=V(this,e,t,0)??g)===D)return;let r=this._$AH,n=e===g&&r!==g||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,o=e!==g&&(r===g||n);n&&this.element.removeEventListener(this.name,this,r),o&&this.element.addEventListener(this.name,this,e),this._$AH=e;}handleEvent(e){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e);}},He=class{constructor(e,t,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=r;}get _$AU(){return this._$AM._$AU}_$AI(e){V(this,e);}};var ur=xe.litHtmlPolyfillSupport;ur?.(pe,de),(xe.litHtmlVersions??=[]).push("3.3.2");var Y=(i,e,t)=>{let r=t?.renderBefore??e,n=r._$litPart$;if(n===void 0){let o=t?.renderBefore??null;r._$litPart$=n=new de(e.insertBefore(ae(),o),o,void 0,t??{});}return n._$AI(i),n};var je=globalThis,I=class extends U{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0;}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Y(t,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(true);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(false);}render(){return D}};I._$litElement$=true,I.finalized=true,je.litElementHydrateSupport?.({LitElement:I});var gr=je.litElementPolyfillSupport;gr?.({LitElement:I});(je.litElementVersions??=[]).push("4.2.2");var fr={attribute:true,type:String,converter:ne,reflect:false,hasChanged:be},mr=(i=fr,e,t)=>{let{kind:r,metadata:n}=t,o=globalThis.litPropertyMetadata.get(n);if(o===void 0&&globalThis.litPropertyMetadata.set(n,o=new Map),r==="setter"&&((i=Object.create(i)).wrapped=true),o.set(t.name,i),r==="accessor"){let{name:s}=t;return {set(l){let a=e.get.call(this);e.set.call(this,l),this.requestUpdate(s,a,i,true,l);},init(l){return l!==void 0&&this.C(s,void 0,i,l),l}}}if(r==="setter"){let{name:s}=t;return function(l){let a=this[s];e.call(this,l),this.requestUpdate(s,a,i,true,l);}}throw Error("Unsupported decorator location: "+r)};function u(i){return (e,t)=>typeof t=="object"?mr(i,e,t):((r,n,o)=>{let s=n.hasOwnProperty(o);return n.constructor.createProperty(o,r),s?Object.getOwnPropertyDescriptor(n,o):void 0})(i,e,t)}function O(i){return u({...i,state:true,attribute:false})}var vt={ATTRIBUTE:1},wt=i=>(...e)=>({_$litDirective$:i,values:e}),we=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,r){this._$Ct=e,this._$AM=t,this._$Ci=r;}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}};var St="important",br=" !"+St,x=wt(class extends we{constructor(i){if(super(i),i.type!==vt.ATTRIBUTE||i.name!=="style"||i.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(i){return Object.keys(i).reduce((e,t)=>{let r=i[t];return r==null?e:e+`${t=t.includes("-")?t:t.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${r};`},"")}update(i,[e]){let{style:t}=i.element;if(this.ft===void 0)return this.ft=new Set(Object.keys(e)),this.render(e);for(let r of this.ft)e[r]==null&&(this.ft.delete(r),r.includes("-")?t.removeProperty(r):t[r]=null);for(let r in e){let n=e[r];if(n!=null){this.ft.add(r);let o=typeof n=="string"&&n.endsWith(br);r.includes("-")||o?t.setProperty(r,o?n.slice(0,-11):n,o?St:""):t[r]=n;}}return D}});var K={"2xs":20,xs:24,sm:32,md:40,lg:48,xl:64,"2xl":80,"3xl":120},Ct={online:"#30D158",away:"#FFD60A",busy:"#FF453A",offline:"#8E8E93",dnd:"#FF453A"},Et={none:"none",sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)",glow:"0 0 20px 0 rgba(99, 102, 241, 0.3)"},T={size:"md",variant:"circle",loading:"lazy",placeholder:"shimmer",borderWidth:2,borderColor:"#ffffff",placeholderColor:"#f3f4f6",shadow:"sm",zoom:1.2};var J={circle:"9999px",rounded:"12px",squircle:"30%",square:"0px"},M={max:4,direction:"ltr",overlap:.3,size:"md",tooltipDelay:300,dropdownMaxHeight:280,animated:true};function P(...i){return i.filter(Boolean).join(" ")}function $t(i){return /^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/.test(i)}function Ce(i){let t=i.trim().replace(/[^\w\s]/g,"").split(/\s+/).filter(Boolean);return t.length===0?"?":t.length===1?t[0].slice(0,1).toUpperCase():(t[0][0]+(t.at(-1)?.[0]??"")).toUpperCase()}function We(i){return Math.round(i*.38)}function At(i,e){let t;if(e){let n=Math.round(i*.31);t=Math.min(24,Math.max(14,n));}else {let n=Math.round(i*.22);t=Math.min(14,Math.max(8,n));}let r=Math.max(9,Math.round(t*.55));return {size:t,fontSize:r}}function Tt(i,e){let t=Math.min(16,Math.max(8,Math.round(i*.2)));return Math.min(18,t+(e-1)*2)}function kt(i,e){return typeof i=="string"?i:e&&i>e?`${e}+`:i.toString()}function Rt(i){return i.length===0?"transparent":i.length===1?i[0]:`conic-gradient(${i.map((t,r)=>{let n=r/i.length*360,o=(r+1)/i.length*360;return `${t} ${n}deg ${o}deg`}).join(", ")})`}function Se(i){let e=0;for(let t=0;t<i.length;t++){let r=i.charCodeAt(t);e=(e<<5)-e+r,e&=e;}return Math.abs(e)}function It(i,e,t){let n=Math.max(0,Math.min(100,i))/100*360;return `conic-gradient(from 270deg, ${e} 0deg ${n}deg, ${t} ${n}deg 360deg)`}function Ee(i){let e=["linear-gradient(135deg, #667eea 0%, #764ba2 100%)","linear-gradient(135deg, #f093fb 0%, #f5576c 100%)","linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)","linear-gradient(135deg, #43e97b 0%, #38f9d7 100%)","linear-gradient(135deg, #fa709a 0%, #fee140 100%)","linear-gradient(135deg, #a8edea 0%, #fed6e3 100%)","linear-gradient(135deg, #d299c2 0%, #fef9d7 100%)","linear-gradient(135deg, #89f7fe 0%, #66a6ff 100%)","linear-gradient(135deg, #cd9cf2 0%, #f6f3ff 100%)","linear-gradient(135deg, #fddb92 0%, #d1fdff 100%)"],t=Se(i)%e.length;return e[t]}var _t=[["#f4a261","#e76f51","#d4a5a5"],["#f2a9b0","#e07a5f","#d4c4a8"],["#c9b1d0","#e8a0bf","#f0d1ce"],["#89c2d9","#a3c4bc","#d5c6e0"],["#f7c59f","#f2a07b","#efcfe3"],["#b5a7d5","#d4a5c9","#f0c3d7"],["#7ec8c8","#6a9fb5","#c2b5d6"],["#f0b3ba","#d4a5c9","#c9d1d9"],["#e8b960","#d4956a","#c9a5b8"],["#a7c4a0","#c9d4a5","#e0c9b1"],["#c4819b","#d9a5b8","#b5aed4"],["#f0c27f","#e0a87c","#d4b5c9"]];function Mt(i){let e=Se(i),t=_t[e%_t.length],r=Se(i+"pos1"),n=Se(i+"pos2"),o=20+e%61,s=20+(e>>4)%61,l=20+r%61,a=20+(r>>4)%61,c=20+n%61,f=20+(n>>4)%61;return [`radial-gradient(circle at ${o}% ${s}%, ${t[0]} 0%, transparent 70%)`,`radial-gradient(circle at ${l}% ${a}%, ${t[1]} 0%, transparent 70%)`,`radial-gradient(circle at ${c}% ${f}%, ${t[2]} 0%, transparent 70%)`].join(", ")}function Pt(i){return typeof i=="number"?i:K[i]??K[M.size]}function Ve(i,e,t){let r=t?e-1:e;if(i<=r)return {visible:i,hidden:0,showCounter:false};let n=r-1,o=i-n;return {visible:n,hidden:o,showCounter:true}}function _e(i,e,t,r,n){let o=n??e*(1-t);return i*o}function Lt(i,e,t){return t==="ltr"?e-i:i+1}function Ut(i,e,t,r){if(i===0)return 0;if(i===1)return e;let n=r??e*(1-t);return e+n*(i-1)}function Dt(i){return i>99?"+99":`+${i}`}function Ot(i){return i<=80?"120":i<=120?"240":i<=240?"480":("960")}function zt(i,e,t,r,n){let o=i.endsWith("/")?i.slice(0,-1):i,s=`${e}_${t}_${r}.webp`;return `${o}/api/profile-picture/cdn/${s}?hostname=${n}`}function Nt(i){return {circle:"np:rounded-full",rounded:"np:rounded-xl",squircle:"np:rounded-[30%]",square:"np:rounded-none"}[i]}function Bt(i,e){return {className:{1:"np:border",2:"np:border-2",3:"np:border-[3px]",4:"np:border-4",5:"np:border-[5px]",6:"np:border-[6px]",8:"np:border-8"}[i],style:{borderColor:e,borderStyle:"solid"}}}function Ht(i,e){return e?{className:"",style:{background:e}}:i?i.includes("gradient")?{className:"",style:{background:i}}:{className:"",style:{backgroundColor:i}}:{className:"",style:{backgroundColor:"transparent"}}}function Ft(i){return {boxShadow:Et[i]}}var yr={shimmer:`
5
5
  @keyframes pp-shimmer {
6
6
  0% { transform: translateX(-100%); }
7
7
  100% { transform: translateX(100%); }
@@ -39,8 +39,8 @@ Make sure to test your application with a production build as repeat registratio
39
39
  0% { transform: scale(0.8); opacity: 0; }
40
40
  50% { transform: scale(1.05); }
41
41
  100% { transform: scale(1); opacity: 1; }
42
- }`},yr=Object.values(br).join(`
43
- `),xr=`
42
+ }`},xr=Object.values(yr).join(`
43
+ `),vr=`
44
44
  /* Profile Picture Component Styles */
45
45
  .pp-container {
46
46
  --pp-transition-duration: 200ms;
@@ -56,6 +56,7 @@ Make sure to test your application with a production build as repeat registratio
56
56
  }
57
57
 
58
58
  /* Inner container for image clipping - allows badges/rings to overflow */
59
+ /* Background is applied here (not on container) to prevent sub-pixel bleed-through */
59
60
  .pp-inner {
60
61
  position: absolute;
61
62
  inset: 0;
@@ -243,8 +244,8 @@ Make sure to test your application with a production build as repeat registratio
243
244
  transition: none !important;
244
245
  }
245
246
  }
246
- `,Ht=`${yr}
247
- ${xr}`,Ft=`
247
+ `,Gt=`${xr}
248
+ ${vr}`,jt=`
248
249
  @keyframes np-shimmer {
249
250
  0% { background-position: -200% 0; }
250
251
  100% { background-position: 200% 0; }
@@ -254,7 +255,7 @@ ${xr}`,Ft=`
254
255
  background-size: 200% 100%;
255
256
  animation: np-shimmer 1.5s infinite;
256
257
  }
257
- `;function Gt(i,e=.3){if(je(i)){let t=Number.parseInt(i.slice(1,3),16),r=Number.parseInt(i.slice(3,5),16),n=Number.parseInt(i.slice(5,7),16);return `0 0 20px 0 rgba(${t}, ${r}, ${n}, ${e})`}return `0 0 20px 0 ${i}`}var vr=`
258
+ `;function Wt(i,e=.3){if($t(i)){let t=Number.parseInt(i.slice(1,3),16),r=Number.parseInt(i.slice(3,5),16),n=Number.parseInt(i.slice(5,7),16);return `0 0 20px 0 rgba(${t}, ${r}, ${n}, ${e})`}return `0 0 20px 0 ${i}`}var wr=`
258
259
  @keyframes ppg-tooltip-in {
259
260
  from {
260
261
  opacity: 0;
@@ -305,7 +306,7 @@ ${xr}`,Ft=`
305
306
  opacity: 1;
306
307
  }
307
308
  }
308
- `,wr=`
309
+ `,Sr=`
309
310
  /* Profile Picture Group Container */
310
311
  .ppg-container {
311
312
  --ppg-transition: 200ms cubic-bezier(0.4, 0, 0.2, 1);
@@ -750,34 +751,39 @@ ${xr}`,Ft=`
750
751
  box-shadow: 0 0 0 1.5px rgba(44, 44, 46, 0.95), 0 0 6px rgba(48, 209, 88, 0.5);
751
752
  }
752
753
  }
753
- `,jt=`${vr}
754
- ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";this.alt="";this.size=k.size;this.variant=k.variant;this.shadow=k.shadow;this.border=false;this.borderWidth=k.borderWidth;this.borderColor=k.borderColor;this.rotation=0;this.loading=k.loading;this.placeholder=k.placeholder;this.placeholderColor=k.placeholderColor;this.isLoaded=false;this.hasError=false;this.cdnLoadFailed=false;this.previousSrc="";this.RETRY_DELAY_MS=3e4;}static{this.stylesInjected=false;}static{this.cdnBaseUrl="";}static{this.instances=new Set;}static setCdnBaseUrl(t){l.cdnBaseUrl=t,l.instances.forEach(r=>{r.extCustomerId&&!r.cdnImageUrl&&(r.cdnLoadFailed=false,r.retryTimeoutId&&(clearTimeout(r.retryTimeoutId),r.retryTimeoutId=void 0),r.previousExtCustomerId||(r.previousExtCustomerId=r.extCustomerId),r.loadCdnImage());});}static getCdnBaseUrl(){return l.cdnBaseUrl}createRenderRoot(){return l.injectStylesOnce(),this}static injectStylesOnce(){if(l.stylesInjected||typeof document>"u")return;(typeof requestIdleCallback<"u"?requestIdleCallback:r=>setTimeout(r,1))(()=>{if(l.stylesInjected)return;let r=document.createElement("style");r.textContent=Ht,document.head.appendChild(r),l.stylesInjected=true;});}get pixelSize(){let t=this.size;return typeof t=="number"?t:K[t]??K[k.size]}connectedCallback(){super.connectedCallback(),l.instances.add(this);}disconnectedCallback(){super.disconnectedCallback(),l.instances.delete(this),this.retryTimeoutId&&(clearTimeout(this.retryTimeoutId),this.retryTimeoutId=void 0);}firstUpdated(){this.extCustomerId&&l.cdnBaseUrl&&(this.previousExtCustomerId=this.extCustomerId,this.loadCdnImage());}updated(t){super.updated(t),this.extCustomerId&&l.cdnBaseUrl&&!this.cdnImageUrl&&(this.cdnLoadFailed||!this.previousExtCustomerId)&&(this.previousExtCustomerId||(this.previousExtCustomerId=this.extCustomerId),this.cdnLoadFailed=false,this.loadCdnImage());}willUpdate(t){t.has("src")&&this.src!==this.previousSrc&&(this.isLoaded=false,this.hasError=false,this.previousSrc=this.src),(t.has("extCustomerId")||t.has("size")||t.has("bgColor"))&&this.extCustomerId!==this.previousExtCustomerId&&(this.previousExtCustomerId=this.extCustomerId,this.cdnImageUrl=void 0,this.cdnLoadFailed=false,this.isLoaded=false,this.hasError=false,this.retryTimeoutId&&(clearTimeout(this.retryTimeoutId),this.retryTimeoutId=void 0),this.loadCdnImage());}handleLoad(){this.isLoaded=true,this.dispatchEvent(new CustomEvent("load",{bubbles:true,composed:true}));}handleError(){if(this.cdnImageUrl&&!this.cdnLoadFailed){this.cdnLoadFailed=true,this.cdnImageUrl=void 0,this.dispatchEvent(new CustomEvent("cdn-error",{bubbles:true,composed:true,detail:{error:"Image load failed"}})),this.retryTimeoutId&&clearTimeout(this.retryTimeoutId),this.retryTimeoutId=setTimeout(()=>{this.retryTimeoutId=void 0,this.extCustomerId&&l.cdnBaseUrl&&(this.cdnLoadFailed=false,this.hasError=false,this.isLoaded=false,this.loadCdnImage());},this.RETRY_DELAY_MS);return}this.hasError=true,this.isLoaded=true,this.dispatchEvent(new CustomEvent("error",{bubbles:true,composed:true}));}loadCdnImage(){if(!(this.extCustomerId&&l.cdnBaseUrl)){this.cdnLoadFailed=true;return}let t=Lt(this.pixelSize),r=Ut(this.bgColor),n=typeof window<"u"?window.location.hostname:"localhost";this.cdnImageUrl=Ot(l.cdnBaseUrl,this.extCustomerId,t,r,n);}getContainerStyles(){let t=zt(this.bgColor,this.bgGradient),r=this.border?Nt(this.borderWidth,this.borderColor):null,n=Bt(this.shadow),o={};if(this.glow){let p=this.glow.color??this.borderColor??"#6366f1";o={"--pp-glow-color":p,boxShadow:Gt(p,this.glow.intensity??.3)};}let s=this.interactive?.hoverable||this.interactive?.pressable;return {classes:O("pp-container",Dt(this.variant),t.className,r?.className,s&&"pp-interactive",this.glow?.animate&&"pp-glow"),styles:{width:`${this.pixelSize}px`,height:`${this.pixelSize}px`,borderRadius:J[this.variant],...t.style,...r?.style,...n,...o,cursor:this.interactive?.cursor??(s?"pointer":"default"),transform:this.rotation?`rotate(${this.rotation}deg)`:void 0}}}renderPlaceholder(){if(this.isLoaded||this.placeholder==="none")return g;let t={shimmer:"pp-shimmer",pulse:"pp-pulse",skeleton:"pp-skeleton",blur:"",none:""}[this.placeholder];return b`
755
- ${this.placeholder==="shimmer"?b`<style>${Ft}</style>`:g}
754
+ `,Vt=`${wr}
755
+ ${Sr}`;var p=class p extends I{constructor(){super(...arguments);this.src="";this.alt="";this.size=T.size;this.variant=T.variant;this.shadow=T.shadow;this.border=false;this.borderWidth=T.borderWidth;this.borderColor=T.borderColor;this.rotation=0;this.zoom=T.zoom;this.loading=T.loading;this.placeholder=T.placeholder;this.placeholderColor=T.placeholderColor;this.imageMode="original";this.isLoaded=false;this.hasError=false;this.cdnLoadFailed=false;this.previousSrc="";this.randomSeed=Math.random().toString(36).slice(2);this.RETRY_DELAY_MS=3e4;}static{this.stylesInjected=false;}static{this.cdnBaseUrl="";}static{this.instances=new Set;}static setCdnBaseUrl(t){p.cdnBaseUrl=t,p.instances.forEach(r=>{r.extCustomerId&&!r.cdnImageUrl&&(r.cdnLoadFailed=false,r.retryTimeoutId&&(clearTimeout(r.retryTimeoutId),r.retryTimeoutId=void 0),r.previousExtCustomerId||(r.previousExtCustomerId=r.extCustomerId),r.loadCdnImage());});}static getCdnBaseUrl(){return p.cdnBaseUrl}createRenderRoot(){return p.injectStylesOnce(),this}static injectStylesOnce(){if(p.stylesInjected||typeof document>"u")return;(typeof requestIdleCallback<"u"?requestIdleCallback:r=>setTimeout(r,1))(()=>{if(p.stylesInjected)return;let r=document.createElement("style");r.textContent=Gt,document.head.appendChild(r),p.stylesInjected=true;});}get pixelSize(){let t=this.size;return typeof t=="number"?t:K[t]??K[T.size]}get gradientSeed(){return this.extCustomerId||this.alt||this.src||this.randomSeed}connectedCallback(){super.connectedCallback(),p.instances.add(this);}disconnectedCallback(){super.disconnectedCallback(),p.instances.delete(this),this.retryTimeoutId&&(clearTimeout(this.retryTimeoutId),this.retryTimeoutId=void 0);}firstUpdated(){this.extCustomerId&&p.cdnBaseUrl&&(this.previousExtCustomerId=this.extCustomerId,this.loadCdnImage());}updated(t){super.updated(t),this.extCustomerId&&p.cdnBaseUrl&&!this.cdnImageUrl&&!this.previousExtCustomerId&&(this.previousExtCustomerId=this.extCustomerId,this.cdnLoadFailed=false,this.loadCdnImage());}willUpdate(t){t.has("src")&&this.src!==this.previousSrc&&(this.isLoaded=false,this.hasError=false,this.previousSrc=this.src);let r=t.has("extCustomerId")&&this.extCustomerId!==this.previousExtCustomerId,n=t.has("size")||t.has("imageMode");(r||n&&this.extCustomerId)&&(this.previousExtCustomerId=this.extCustomerId,this.cdnImageUrl=void 0,this.cdnLoadFailed=false,this.isLoaded=false,this.hasError=false,this.retryTimeoutId&&(clearTimeout(this.retryTimeoutId),this.retryTimeoutId=void 0),this.loadCdnImage());}handleLoad(){this.isLoaded=true,this.dispatchEvent(new CustomEvent("load",{bubbles:true,composed:true}));}handleClick(t){this.interactive?.pressable&&this.dispatchEvent(new CustomEvent("profile-picture-click",{bubbles:true,composed:true,detail:{extCustomerId:this.extCustomerId,alt:this.alt,src:this.src}}));}handleKeyDown(t){this.interactive?.pressable&&(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),this.handleClick(t));}handleError(){if(this.cdnImageUrl&&!this.cdnLoadFailed){this.cdnLoadFailed=true,this.cdnImageUrl=void 0,this.dispatchEvent(new CustomEvent("cdn-error",{bubbles:true,composed:true,detail:{error:"Image load failed"}})),this.retryTimeoutId&&clearTimeout(this.retryTimeoutId),this.retryTimeoutId=setTimeout(()=>{this.retryTimeoutId=void 0,this.extCustomerId&&p.cdnBaseUrl&&(this.cdnLoadFailed=false,this.hasError=false,this.isLoaded=false,this.loadCdnImage());},this.RETRY_DELAY_MS);return}this.hasError=true,this.isLoaded=true,this.dispatchEvent(new CustomEvent("error",{bubbles:true,composed:true}));}loadCdnImage(){if(!(this.extCustomerId&&p.cdnBaseUrl)){this.cdnLoadFailed=true;return}let t=Ot(this.pixelSize),r=typeof window<"u"?window.location.hostname:"localhost";this.cdnImageUrl=zt(p.cdnBaseUrl,this.extCustomerId,t,this.imageMode,r);}getContainerStyles(){let t=Ht(this.bgColor,this.bgGradient),r=this.border?Bt(this.borderWidth,this.borderColor):null,n=Ft(this.shadow),o={};if(this.glow){let l=this.glow.color??this.borderColor??"#6366f1";o={"--pp-glow-color":l,boxShadow:Wt(l,this.glow.intensity??.3)};}let s=this.interactive?.hoverable||this.interactive?.pressable;return {classes:P("pp-container",Nt(this.variant),r?.className,s&&"pp-interactive",this.glow?.animate&&"pp-glow"),styles:{width:`${this.pixelSize}px`,height:`${this.pixelSize}px`,borderRadius:J[this.variant],...r?.style,...n,...o,cursor:this.interactive?.cursor??(s?"pointer":"default"),transform:this.rotation?`rotate(${this.rotation}deg)`:void 0},innerStyles:t.style??{},innerClasses:t.className}}renderPlaceholder(){if(this.isLoaded||this.placeholder==="none")return g;let t={shimmer:"pp-shimmer",pulse:"pp-pulse",skeleton:"pp-skeleton",blur:"",none:""}[this.placeholder];return b`
756
+ ${this.placeholder==="shimmer"?b`<style>${jt}</style>`:g}
756
757
  <div
757
- class=${O("np:absolute np:inset-0",t)}
758
+ class=${P("np:absolute np:inset-0",t)}
758
759
  style=${x({backgroundColor:this.placeholderColor,borderRadius:"inherit"})}>
759
760
  </div>
760
- `}renderFallback(){if(this.fallback)return b`
761
+ `}renderFallback(){let t=!!(this.bgColor||this.bgGradient);if(this.fallbackMode==="gradient"){let n=Mt(this.gradientSeed);return b`
762
+ <div
763
+ class="pp-fallback np:absolute np:inset-0"
764
+ style=${x({background:t?"transparent":n})}>
765
+ </div>
766
+ `}if(this.fallback)return b`
761
767
  <span
762
768
  class="pp-fallback"
763
769
  style=${x({fontSize:`${We(this.pixelSize)}px`})}>
764
770
  ${this.fallback}
765
771
  </span>
766
- `;if(this.alt){let r=Ce(this.alt);return b`
772
+ `;if(this.alt){let n=Ee(this.alt);return b`
767
773
  <div
768
774
  class="pp-fallback np:absolute np:inset-0"
769
- style=${x({background:this.bgColor??r,fontSize:`${We(this.pixelSize)}px`})}>
770
- ${Se(this.alt)}
775
+ style=${x({background:t?"transparent":n,fontSize:`${We(this.pixelSize)}px`})}>
776
+ ${Ce(this.alt)}
771
777
  </div>
772
- `}let t=this.pixelSize*.5;return b`
778
+ `}let r=this.pixelSize*.5;return b`
773
779
  <svg
774
780
  class="pp-fallback-icon"
775
- style="width: ${t}px; height: ${t}px;"
781
+ style="width: ${r}px; height: ${r}px;"
776
782
  fill="currentColor"
777
783
  viewBox="0 0 24 24">
778
784
  <path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" />
779
785
  </svg>
780
- `}renderImage(){let t=!!(this.extCustomerId&&l.cdnBaseUrl),r;return this.cdnImageUrl?r=this.cdnImageUrl:(!t||this.cdnLoadFailed)&&(r=this.src),this.hasError||!r?this.renderFallback():b`
786
+ `}renderImage(){let t=!!(this.extCustomerId&&p.cdnBaseUrl),r;if(this.cdnImageUrl?r=this.cdnImageUrl:(!t||this.cdnLoadFailed)&&(r=this.src),this.hasError||!r)return this.renderFallback();let n=this.zoom&&this.zoom!==1?x({transform:`scale(${this.zoom})`}):g;return b`
781
787
  <img
782
788
  src=${r}
783
789
  alt=${this.alt}
@@ -785,25 +791,26 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
785
791
  decoding="async"
786
792
  @load=${this.handleLoad}
787
793
  @error=${this.handleError}
788
- class=${O("pp-image",this.isLoaded?"pp-image-loaded":"pp-image-loading")}
794
+ class=${P("pp-image",this.isLoaded?"pp-image-loaded":"pp-image-loading")}
795
+ style=${n}
789
796
  draggable="false" />
790
- `}renderRing(){if(!this.ring?.show)return g;let t=this.ring.width??3,r=this.ring.gap??3,n=t+r,o,s=this.ring.progress!==void 0;if(s){let p=this.ring.progress??0,a=this.ring.color??"#30D158",u=this.ring.emptyColor??"#8E8E93";o=Rt(p,a,u);}else this.ring.gradient&&this.ring.gradient.length>0?o=Tt(this.ring.gradient):o=this.ring.color??"linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888)";return b`
797
+ `}renderRing(){if(!this.ring?.show)return g;let t=this.ring.width??3,r=this.ring.gap??3,n=t+r,o,s=this.ring.progress!==void 0;if(s){let l=this.ring.progress??0,a=this.ring.color??"#30D158",c=this.ring.emptyColor??"#8E8E93";o=It(l,a,c);}else this.ring.gradient&&this.ring.gradient.length>0?o=Rt(this.ring.gradient):o=this.ring.color??"linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888)";return b`
791
798
  <div
792
- class=${O("pp-ring",this.ring.animate&&!s&&"pp-ring-animated",s&&"pp-ring-progress")}
799
+ class=${P("pp-ring",this.ring.animate&&!s&&"pp-ring-animated",s&&"pp-ring-progress")}
793
800
  style=${x({inset:`-${n}px`,padding:`${t}px`,background:o,borderRadius:J[this.variant]})}>
794
801
  </div>
795
- `}getCornerOffset(){let t=this.border?this.borderWidth:0,r=this.pixelSize*.08,o={circle:1,square:.5,rounded:.8,squircle:1.2}[this.variant];return Math.round(r*o-t*.5)}renderPresence(){if(!this.presence)return g;let t=this.presence.thickness??2,r=$t(this.pixelSize,t),n=Ct[this.presence.status],o=this.getCornerOffset();return b`
802
+ `}getCornerOffset(){let t=this.pixelSize/2,n={circle:1-Math.SQRT2/2,square:0,rounded:.04,squircle:.08}[this.variant];return t*n}renderPresence(){if(!this.presence)return g;let t=this.presence.thickness??2,r=Tt(this.pixelSize,t),n=Ct[this.presence.status],s=this.getCornerOffset()-r/2;return b`
796
803
  <div
797
- class=${O("pp-presence",this.presence.animate&&"pp-presence-animated")}
798
- style=${x({width:`${r}px`,height:`${r}px`,backgroundColor:n,bottom:`${o}px`,right:`${o}px`,color:n})}
804
+ class=${P("pp-presence",this.presence.animate&&"pp-presence-animated")}
805
+ style=${x({width:`${r}px`,height:`${r}px`,backgroundColor:n,bottom:`${s}px`,right:`${s}px`,color:n})}
799
806
  title=${this.presence.status}>
800
807
  </div>
801
- `}renderBadge(){if(!this.badge)return g;let t=this.badge.position??"bottom-right",r=this.badge.content!==void 0,n=this.badge.icon!==void 0,o=r||n,{size:s,fontSize:p}=Et(this.pixelSize,o),a=this.badge.bgColor??"#22c55e",u=this.badge.color??"#ffffff",f=this.badge.borderRadius??"9999px",c=r&&this.badge.content!==void 0?At(this.badge.content,this.badge.max):null,w=n?this.badge.icon:null,S=p*.9,v=`${-this.getCornerOffset()}px`,D={"top-left":{top:v,left:v},"top-center":{top:v,left:"50%",transform:"translateX(-50%)"},"top-right":{top:v,right:v},"bottom-left":{bottom:v,left:v},"bottom-center":{bottom:v,left:"50%",transform:"translateX(-50%)"},"bottom-right":{bottom:v,right:v}};return b`
808
+ `}renderBadge(){if(!this.badge)return g;let t=this.badge.position??"bottom-right",r=this.badge.content!==void 0,n=this.badge.icon!==void 0,o=r||n,{size:s,fontSize:l}=At(this.pixelSize,o),a=this.badge.bgColor??"#22c55e",c=this.badge.color??"#ffffff",f=this.badge.borderRadius??"9999px",h=r&&this.badge.content!==void 0?kt(this.badge.content,this.badge.max):null,v=n?this.badge.icon:null,w=l*.9,C=`${this.getCornerOffset()-s/2}px`,y={"top-left":{top:C,left:C},"top-center":{top:C,left:"50%",transform:"translateX(-50%)"},"top-right":{top:C,right:C},"bottom-left":{bottom:C,left:C},"bottom-center":{bottom:C,left:"50%",transform:"translateX(-50%)"},"bottom-right":{bottom:C,right:C}};return b`
802
809
  <div
803
- class=${O("pp-badge",this.badge.pulse&&"pp-badge-pulse",this.badge.glow&&"pp-badge-glow",n&&"pp-badge-with-icon")}
804
- style=${x({width:o?"auto":`${s}px`,minWidth:`${s}px`,height:`${s}px`,padding:o?"0 6px":"0",fontSize:`${p}px`,backgroundColor:a,color:u,borderRadius:f,"--pp-badge-glow-color":a,gap:n&&r?"4px":"0",...D[t]})}>
805
- ${w?b`<span class="pp-badge-icon" style=${x({fontSize:`${S}px`})}>${w}</span>`:g}
806
- ${c??g}
810
+ class=${P("pp-badge",this.badge.pulse&&"pp-badge-pulse",this.badge.glow&&"pp-badge-glow",n&&"pp-badge-with-icon")}
811
+ style=${x({width:o?"auto":`${s}px`,minWidth:`${s}px`,height:`${s}px`,padding:o?"0 6px":"0",fontSize:`${l}px`,backgroundColor:a,color:c,borderRadius:f,"--pp-badge-glow-color":a,gap:n&&r?"4px":"0",...y[t]})}>
812
+ ${v?b`<span class="pp-badge-icon" style=${x({fontSize:`${w}px`})}>${v}</span>`:g}
813
+ ${h??g}
807
814
  </div>
808
815
  `}render(){let t=this.getContainerStyles(),r=this.interactive?.focusable||this.interactive?.pressable?0:void 0;return b`
809
816
  <div
@@ -812,6 +819,8 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
812
819
  tabindex=${r??g}
813
820
  role=${this.interactive?.pressable?"button":g}
814
821
  aria-label=${this.alt||g}
822
+ @click=${this.handleClick}
823
+ @keydown=${this.handleKeyDown}
815
824
  data-profile-picture>
816
825
 
817
826
  <!-- Ring Effect (behind everything) -->
@@ -819,8 +828,8 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
819
828
 
820
829
  <!-- Inner container for image clipping -->
821
830
  <div
822
- class="pp-inner"
823
- style=${x({borderRadius:J[this.variant]})}>
831
+ class=${P("pp-inner",t.innerClasses)}
832
+ style=${x({borderRadius:J[this.variant],...t.innerStyles})}>
824
833
  <!-- Placeholder -->
825
834
  ${this.renderPlaceholder()}
826
835
 
@@ -834,7 +843,7 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
834
843
  <!-- Presence Indicator -->
835
844
  ${this.renderPresence()}
836
845
  </div>
837
- `}};d([h({type:String})],l.prototype,"src"),d([h({type:String})],l.prototype,"alt"),d([h({type:String,attribute:"ext-customer-id"})],l.prototype,"extCustomerId"),d([h({type:String})],l.prototype,"size"),d([h({type:String})],l.prototype,"variant"),d([h({type:String})],l.prototype,"shadow"),d([h({type:Boolean})],l.prototype,"border"),d([h({type:Number,attribute:"border-width"})],l.prototype,"borderWidth"),d([h({type:String,attribute:"border-color"})],l.prototype,"borderColor"),d([h({type:Number})],l.prototype,"rotation"),d([h({type:String,attribute:"bg-color"})],l.prototype,"bgColor"),d([h({type:String,attribute:"bg-gradient"})],l.prototype,"bgGradient"),d([h({type:Object,attribute:"ring",converter:{fromAttribute:t=>{if(t)try{return JSON.parse(t)}catch{return}},toAttribute:t=>t?JSON.stringify(t):null}})],l.prototype,"ring"),d([h({type:Object,attribute:"presence",converter:{fromAttribute:t=>{if(t)try{return JSON.parse(t)}catch{return}},toAttribute:t=>t?JSON.stringify(t):null}})],l.prototype,"presence"),d([h({type:Object,attribute:"glow",converter:{fromAttribute:t=>{if(t)try{return JSON.parse(t)}catch{return}},toAttribute:t=>t?JSON.stringify(t):null}})],l.prototype,"glow"),d([h({type:Object,attribute:"badge",converter:{fromAttribute:t=>{if(t)try{return JSON.parse(t)}catch{return}},toAttribute:t=>t?JSON.stringify(t):null}})],l.prototype,"badge"),d([h({type:String})],l.prototype,"loading"),d([h({type:String})],l.prototype,"placeholder"),d([h({type:String,attribute:"placeholder-color"})],l.prototype,"placeholderColor"),d([h({type:String})],l.prototype,"fallback"),d([h({type:Object,attribute:"interactive",converter:{fromAttribute:t=>{if(t)try{return JSON.parse(t)}catch{return}},toAttribute:t=>t?JSON.stringify(t):null}})],l.prototype,"interactive"),d([U()],l.prototype,"isLoaded"),d([U()],l.prototype,"hasError"),d([U()],l.prototype,"cdnImageUrl"),d([U()],l.prototype,"cdnLoadFailed");var qe=l;customElements.get("profile-picture")||customElements.define("profile-picture",qe);var Ye=false;function Sr(){if(Ye||typeof document>"u")return;(typeof requestIdleCallback<"u"?requestIdleCallback:e=>setTimeout(e,1))(()=>{if(Ye)return;let e=document.createElement("style");e.textContent=jt,document.head.appendChild(e),Ye=true;});}var E=class extends R{constructor(){super(...arguments);this.max=P.max;this.direction=P.direction;this.overlap=P.overlap;this.size=P.size;this.showAddButton=false;this.addButtonLabel="Add user";this.animated=P.animated;this.rotationAmount=0;this.users=[];this.dropdownOpen=false;this.tooltipData=null;this.tooltipTimeout=null;this.slotObserver=null;this.portalContainer=null;this.counterRef=null;this.handleBackdropClick=()=>{this.dropdownOpen=false,this.destroyPortal();};}createRenderRoot(){return Sr(),this}get pixelSize(){return kt(this.size)}get tooltipEnabled(){return this.tooltip?.enabled!==false}get tooltipPosition(){return this.tooltip?.position??"top"}get tooltipDelay(){return this.tooltip?.delay??P.tooltipDelay}get dropdownMaxHeight(){return this.dropdown?.maxHeight??P.dropdownMaxHeight}get showPresence(){return this.dropdown?.showPresence!==false}get dropdownPosition(){return this.dropdown?.position??"bottom"}connectedCallback(){super.connectedCallback(),this.updateUsers(),this.setupSlotObserver();}disconnectedCallback(){super.disconnectedCallback(),this.slotObserver?.disconnect(),this.clearTooltipTimeout(),this.destroyPortal();}setupSlotObserver(){this.slotObserver=new MutationObserver(()=>{this.updateUsers();}),this.slotObserver.observe(this,{childList:true,subtree:true,attributes:true,attributeFilter:["src","alt","ext-customer-id","data-user-id","data-status","variant","shadow","border","border-width","border-color","bg-color","bg-gradient"]});}updateUsers(){let t=Array.from(this.children).filter(r=>r.tagName.toLowerCase()==="profile-picture"&&r.getAttribute("slot")!=="internal");this.users=t.map((r,n)=>{let o=(a,u)=>{let f=u??a,c=r[a];return c!=null&&c!==""?String(c):r.getAttribute(f)??void 0},s=o("borderWidth","border-width"),p=s?Number.parseInt(String(s),10):void 0;return {id:o("dataUserId","data-user-id"),name:o("alt")??`User ${n+1}`,src:o("src"),extCustomerId:o("extCustomerId","ext-customer-id"),status:o("dataStatus","data-status"),element:r,index:n,variant:o("variant"),shadow:o("shadow"),border:!!(r.border??r.hasAttribute("border")),borderWidth:p,borderColor:o("borderColor","border-color"),bgColor:o("bgColor","bg-color"),bgGradient:o("bgGradient","bg-gradient")}});for(let r of this.users)r.element&&(r.element.style.display="none");}createPortal(){this.portalContainer||(this.portalContainer=document.createElement("div"),this.portalContainer.className="ppg-portal",this.portalContainer.style.cssText="position: fixed; z-index: 99999; pointer-events: none;",document.body.appendChild(this.portalContainer),document.body.style.overflow="hidden");}destroyPortal(){this.portalContainer&&(Y(g,this.portalContainer),this.portalContainer.remove(),this.portalContainer=null,document.body.style.overflow="");}updatePortalContent(t){if(!(this.portalContainer&&this.counterRef))return;let r=this.counterRef.getBoundingClientRect(),n=10,o=280,s=Math.min(this.dropdownMaxHeight+60,t.length*56+60),p=window.innerWidth,a=window.innerHeight;if(p<480){let I=b`
846
+ `}};d([u({type:String})],p.prototype,"src"),d([u({type:String})],p.prototype,"alt"),d([u({type:String,attribute:"ext-customer-id"})],p.prototype,"extCustomerId"),d([u({type:String})],p.prototype,"size"),d([u({type:String})],p.prototype,"variant"),d([u({type:String})],p.prototype,"shadow"),d([u({type:Boolean})],p.prototype,"border"),d([u({type:Number,attribute:"border-width"})],p.prototype,"borderWidth"),d([u({type:String,attribute:"border-color"})],p.prototype,"borderColor"),d([u({type:Number})],p.prototype,"rotation"),d([u({type:Number})],p.prototype,"zoom"),d([u({type:String,attribute:"bg-color"})],p.prototype,"bgColor"),d([u({type:String,attribute:"bg-gradient"})],p.prototype,"bgGradient"),d([u({type:Object,attribute:"ring",converter:{fromAttribute:t=>{if(t)try{return JSON.parse(t)}catch{return}},toAttribute:t=>t?JSON.stringify(t):null}})],p.prototype,"ring"),d([u({type:Object,attribute:"presence",converter:{fromAttribute:t=>{if(t)try{return JSON.parse(t)}catch{return}},toAttribute:t=>t?JSON.stringify(t):null}})],p.prototype,"presence"),d([u({type:Object,attribute:"glow",converter:{fromAttribute:t=>{if(t)try{return JSON.parse(t)}catch{return}},toAttribute:t=>t?JSON.stringify(t):null}})],p.prototype,"glow"),d([u({type:Object,attribute:"badge",converter:{fromAttribute:t=>{if(t)try{return JSON.parse(t)}catch{return}},toAttribute:t=>t?JSON.stringify(t):null}})],p.prototype,"badge"),d([u({type:String})],p.prototype,"loading"),d([u({type:String})],p.prototype,"placeholder"),d([u({type:String,attribute:"placeholder-color"})],p.prototype,"placeholderColor"),d([u({type:String})],p.prototype,"fallback"),d([u({type:String,attribute:"fallback-mode"})],p.prototype,"fallbackMode"),d([u({type:String,attribute:"image-mode"})],p.prototype,"imageMode"),d([u({type:Object,attribute:"interactive",converter:{fromAttribute:t=>{if(t)try{return JSON.parse(t)}catch{return}},toAttribute:t=>t?JSON.stringify(t):null}})],p.prototype,"interactive"),d([O()],p.prototype,"isLoaded"),d([O()],p.prototype,"hasError"),d([O()],p.prototype,"cdnImageUrl"),d([O()],p.prototype,"cdnLoadFailed");var qe=p;customElements.get("profile-picture")||customElements.define("profile-picture",qe);var Ye=false;function Cr(){if(Ye||typeof document>"u")return;(typeof requestIdleCallback<"u"?requestIdleCallback:e=>setTimeout(e,1))(()=>{if(Ye)return;let e=document.createElement("style");e.textContent=Vt,document.head.appendChild(e),Ye=true;});}var _=class extends I{constructor(){super(...arguments);this.max=M.max;this.direction=M.direction;this.overlap=M.overlap;this.size=M.size;this.showAddButton=false;this.addButtonLabel="Add user";this.animated=M.animated;this.rotationAmount=0;this.users=[];this.dropdownOpen=false;this.tooltipData=null;this.tooltipTimeout=null;this.slotObserver=null;this.portalContainer=null;this.counterRef=null;this.handleBackdropClick=()=>{this.dropdownOpen=false,this.destroyPortal();};}createRenderRoot(){return Cr(),this}get pixelSize(){return Pt(this.size)}get tooltipEnabled(){return this.tooltip?.enabled!==false}get tooltipPosition(){return this.tooltip?.position??"top"}get tooltipDelay(){return this.tooltip?.delay??M.tooltipDelay}get dropdownMaxHeight(){return this.dropdown?.maxHeight??M.dropdownMaxHeight}get showPresence(){return this.dropdown?.showPresence!==false}get dropdownPosition(){return this.dropdown?.position??"bottom"}connectedCallback(){super.connectedCallback(),this.updateUsers(),this.setupSlotObserver();}disconnectedCallback(){super.disconnectedCallback(),this.slotObserver?.disconnect(),this.clearTooltipTimeout(),this.destroyPortal();}setupSlotObserver(){this.slotObserver=new MutationObserver(()=>{this.updateUsers();}),this.slotObserver.observe(this,{childList:true,subtree:true,attributes:true,attributeFilter:["src","alt","ext-customer-id","data-user-id","data-status","variant","shadow","border","border-width","border-color","bg-color","bg-gradient"]});}updateUsers(){let t=Array.from(this.children).filter(r=>r.tagName.toLowerCase()==="profile-picture"&&r.getAttribute("slot")!=="internal");this.users=t.map((r,n)=>{let o=(a,c)=>{let f=c??a,h=r[a];return h!=null&&h!==""?String(h):r.getAttribute(f)??void 0},s=o("borderWidth","border-width"),l=s?Number.parseInt(String(s),10):void 0;return {id:o("dataUserId","data-user-id"),name:o("alt")??`User ${n+1}`,src:o("src"),extCustomerId:o("extCustomerId","ext-customer-id"),status:o("dataStatus","data-status"),element:r,index:n,variant:o("variant"),shadow:o("shadow"),border:!!(r.border??r.hasAttribute("border")),borderWidth:l,borderColor:o("borderColor","border-color"),bgColor:o("bgColor","bg-color"),bgGradient:o("bgGradient","bg-gradient")}});for(let r of this.users)r.element&&(r.element.style.display="none");}createPortal(){this.portalContainer||(this.portalContainer=document.createElement("div"),this.portalContainer.className="ppg-portal",this.portalContainer.style.cssText="position: fixed; z-index: 99999; pointer-events: none;",document.body.appendChild(this.portalContainer),document.body.style.overflow="hidden");}destroyPortal(){this.portalContainer&&(Y(g,this.portalContainer),this.portalContainer.remove(),this.portalContainer=null,document.body.style.overflow="");}updatePortalContent(t){if(!(this.portalContainer&&this.counterRef))return;let r=this.counterRef.getBoundingClientRect(),n=10,o=280,s=Math.min(this.dropdownMaxHeight+60,t.length*56+60),l=window.innerWidth,a=window.innerHeight;if(l<480){let L=b`
838
847
  <div
839
848
  class="ppg-backdrop ppg-backdrop-visible"
840
849
  style="pointer-events: auto; background: rgba(0,0,0,0.5);"
@@ -858,7 +867,7 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
858
867
  ${t.map(X=>this.renderDropdownItem(X))}
859
868
  </div>
860
869
  </div>
861
- `;Y(I,this.portalContainer);return}let f=a-r.bottom-n,c=r.top-n,w=p-r.left,S=r.right,C=this.dropdownPosition;C==="bottom"&&f<s&&c>f?C="top":C==="top"&&c<s&&f>c&&(C="bottom");let v;w>=o?v=r.left:S>=o?v=r.right-o:v=(p-o)/2,v=Math.max(8,Math.min(v,p-o-8));let D=C==="bottom"?r.bottom+n:void 0,y=C==="top"?a-r.top+n:void 0,A=b`
870
+ `;Y(L,this.portalContainer);return}let f=a-r.bottom-n,h=r.top-n,v=l-r.left,w=r.right,S=this.dropdownPosition;S==="bottom"&&f<s&&h>f?S="top":S==="top"&&h<s&&f>h&&(S="bottom");let k;v>=o?k=r.left:w>=o?k=r.right-o:k=(l-o)/2,k=Math.max(8,Math.min(k,l-o-8));let C=S==="bottom"?r.bottom+n:void 0,y=S==="top"?a-r.top+n:void 0,A=b`
862
871
  <div
863
872
  class="ppg-backdrop"
864
873
  style="pointer-events: auto;"
@@ -867,8 +876,8 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
867
876
  ></div>
868
877
  <div
869
878
  class="ppg-dropdown ppg-dropdown-portal"
870
- style=${x({position:"fixed",pointerEvents:"auto",top:D!==void 0?`${D}px`:"auto",bottom:y!==void 0?`${y}px`:"auto",left:`${v}px`,width:`${o}px`})}
871
- data-position=${C}
879
+ style=${x({position:"fixed",pointerEvents:"auto",top:C!==void 0?`${C}px`:"auto",bottom:y!==void 0?`${y}px`:"auto",left:`${k}px`,width:`${o}px`})}
880
+ data-position=${S}
872
881
  role="menu"
873
882
  aria-label="Hidden users"
874
883
  >
@@ -879,10 +888,10 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
879
888
  class="ppg-dropdown-list"
880
889
  style=${x({maxHeight:`${this.dropdownMaxHeight}px`})}
881
890
  >
882
- ${t.map(I=>this.renderDropdownItem(I))}
891
+ ${t.map(L=>this.renderDropdownItem(L))}
883
892
  </div>
884
893
  </div>
885
- `;Y(A,this.portalContainer);}handleAvatarClick(t){this.dispatchEvent(new CustomEvent("avatar-click",{detail:{user:t},bubbles:true,composed:true}));}handleAvatarHover(t,r){if(!this.tooltipEnabled)return;this.clearTooltipTimeout();let n=r.currentTarget;this.tooltipTimeout=window.setTimeout(()=>{this.tooltipData={user:t,rect:n.getBoundingClientRect()};},this.tooltipDelay),this.dispatchEvent(new CustomEvent("avatar-hover",{detail:{user:t},bubbles:true,composed:true}));}handleAvatarLeave(){this.clearTooltipTimeout(),this.tooltipData=null;}clearTooltipTimeout(){this.tooltipTimeout&&(window.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=null);}handleCounterClick(t){this.dropdownOpen=!this.dropdownOpen,this.dropdownOpen?(this.createPortal(),this.updatePortalContent(t)):this.destroyPortal(),this.dispatchEvent(new CustomEvent("counter-click",{detail:{hiddenUsers:t,open:this.dropdownOpen},bubbles:true,composed:true}));}handleDropdownItemClick(t){this.dropdownOpen=false,this.destroyPortal(),this.dispatchEvent(new CustomEvent("dropdown-item-click",{detail:{user:t},bubbles:true,composed:true}));}handleAddClick(){this.dispatchEvent(new CustomEvent("add-click",{bubbles:true,composed:true}));}handleKeyDown(t,r){(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),r());}renderAvatar(t,r,n){let o=_e(r,this.pixelSize,this.overlap,this.direction,this.spacing),s=Pt(r,n,this.direction),p=t.variant??"circle",a=t.shadow??"none",u=this.rotationAmount?r%2===0?-this.rotationAmount:this.rotationAmount:0;return b`
894
+ `;Y(A,this.portalContainer);}handleAvatarClick(t){this.dispatchEvent(new CustomEvent("avatar-click",{detail:{user:t},bubbles:true,composed:true}));}handleAvatarHover(t,r){if(!this.tooltipEnabled)return;this.clearTooltipTimeout();let n=r.currentTarget;this.tooltipTimeout=window.setTimeout(()=>{this.tooltipData={user:t,rect:n.getBoundingClientRect()};},this.tooltipDelay),this.dispatchEvent(new CustomEvent("avatar-hover",{detail:{user:t},bubbles:true,composed:true}));}handleAvatarLeave(){this.clearTooltipTimeout(),this.tooltipData=null;}clearTooltipTimeout(){this.tooltipTimeout&&(window.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=null);}handleCounterClick(t){this.dropdownOpen=!this.dropdownOpen,this.dropdownOpen?(this.createPortal(),this.updatePortalContent(t)):this.destroyPortal(),this.dispatchEvent(new CustomEvent("counter-click",{detail:{hiddenUsers:t,open:this.dropdownOpen},bubbles:true,composed:true}));}handleDropdownItemClick(t){this.dropdownOpen=false,this.destroyPortal(),this.dispatchEvent(new CustomEvent("dropdown-item-click",{detail:{user:t},bubbles:true,composed:true}));}handleAddClick(){this.dispatchEvent(new CustomEvent("add-click",{bubbles:true,composed:true}));}handleKeyDown(t,r){(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),r());}renderAvatar(t,r,n){let o=_e(r,this.pixelSize,this.overlap,this.direction,this.spacing),s=Lt(r,n,this.direction),l=t.variant??"circle",a=t.shadow??"none",c=this.rotationAmount?r%2===0?-this.rotationAmount:this.rotationAmount:0;return b`
886
895
  <div
887
896
  class="ppg-avatar-wrapper"
888
897
  style=${x({left:`${o}px`,zIndex:String(s),width:`${this.pixelSize}px`,height:`${this.pixelSize}px`})}
@@ -894,7 +903,7 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
894
903
  @mouseleave=${this.handleAvatarLeave}
895
904
  @keydown=${f=>this.handleKeyDown(f,()=>this.handleAvatarClick(t))}
896
905
  >
897
- ${this.renderProfilePicture(t,p,a,u)}
906
+ ${this.renderProfilePicture(t,l,a,c)}
898
907
  </div>
899
908
  `}renderProfilePicture(t,r,n,o){return b`
900
909
  <profile-picture
@@ -908,7 +917,7 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
908
917
  ?border=${t.border}
909
918
  .borderWidth=${t.border?t.borderWidth??2:2}
910
919
  .borderColor=${t.border?t.borderColor??"#ffffff":"#ffffff"}
911
- .bgColor=${t.bgGradient?void 0:t.bgColor??"#ffffff"}
920
+ .bgColor=${t.bgGradient?void 0:t.bgColor||void 0}
912
921
  .bgGradient=${t.bgGradient??void 0}
913
922
  data-user-id=${t.id??""}
914
923
  data-status=${t.status??""}
@@ -922,7 +931,7 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
922
931
  aria-haspopup="true"
923
932
  @click=${()=>this.handleCounterClick(n)}
924
933
  >
925
- ${Mt(t)}
934
+ ${Dt(t)}
926
935
  </button>
927
936
  `}renderAddButton(t){let r=Math.round(this.pixelSize*.4);return b`
928
937
  <button
@@ -946,16 +955,16 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
946
955
  <line x1="5" y1="12" x2="19" y2="12"></line>
947
956
  </svg>
948
957
  </button>
949
- `}renderTooltip(){if(!this.tooltipData)return g;let{user:t,rect:r}=this.tooltipData,n=8,o=this.getBoundingClientRect(),s=r.left-o.left+r.width/2,p=r.top-o.top,a=r.bottom-o.top,u=this.tooltipPosition==="top";return b`
958
+ `}renderTooltip(){if(!this.tooltipData)return g;let{user:t,rect:r}=this.tooltipData,n=8,o=this.getBoundingClientRect(),s=r.left-o.left+r.width/2,l=r.top-o.top,a=r.bottom-o.top,c=this.tooltipPosition==="top";return b`
950
959
  <div
951
960
  class="ppg-tooltip"
952
- style=${x({top:u?"auto":`${a+n}px`,bottom:u?`${o.height-p+n}px`:"auto",left:`${s}px`})}
961
+ style=${x({top:c?"auto":`${a+n}px`,bottom:c?`${o.height-l+n}px`:"auto",left:`${s}px`})}
953
962
  data-position=${this.tooltipPosition}
954
963
  role="tooltip"
955
964
  >
956
965
  ${t.name}
957
966
  </div>
958
- `}renderDropdownItem(t){let r=Ce(t.name),n=t.src||t.extCustomerId;return b`
967
+ `}renderDropdownItem(t){let r=Ee(t.name),n=t.src||t.extCustomerId;return b`
959
968
  <div
960
969
  class="ppg-dropdown-item"
961
970
  role="menuitem"
@@ -975,7 +984,7 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
975
984
  class="ppg-dropdown-avatar-fallback"
976
985
  style=${x({background:r})}
977
986
  >
978
- ${Se(t.name)}
987
+ ${Ce(t.name)}
979
988
  </div>`}
980
989
  <div class="ppg-dropdown-info">
981
990
  <div class="ppg-dropdown-name">${t.name}</div>
@@ -990,9 +999,9 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
990
999
  `:g}
991
1000
  </div>
992
1001
  </div>
993
- `}formatStatus(t){return {online:"Online",away:"Away",busy:"Busy",offline:"Offline",dnd:"Do not disturb"}[t]??t}updated(t){super.updated(t);let r=this.querySelector(".ppg-counter");if(r&&(this.counterRef=r),this.dropdownOpen&&this.portalContainer){let{visible:n}=Ve(this.users.length,this.max,this.showAddButton),o=this.users.slice(n);this.updatePortalContent(o);}}render(){let{visible:t,hidden:r,showCounter:n}=Ve(this.users.length,this.max,this.showAddButton),o=this.direction==="ltr"?this.users.slice(0,t):this.users.slice(0,t).reverse(),s=this.users.slice(t),p=t;n&&p++,this.showAddButton&&p++;let a=It(p,this.pixelSize,this.overlap,this.spacing),u=n?_e(t,this.pixelSize,this.overlap,this.direction,this.spacing):0,f=_e(t+(n?1:0),this.pixelSize,this.overlap,this.direction,this.spacing);return b`
1002
+ `}formatStatus(t){return {online:"Online",away:"Away",busy:"Busy",offline:"Offline",dnd:"Do not disturb"}[t]??t}updated(t){super.updated(t);let r=this.querySelector(".ppg-counter");if(r&&(this.counterRef=r),this.dropdownOpen&&this.portalContainer){let{visible:n}=Ve(this.users.length,this.max,this.showAddButton),o=this.users.slice(n);this.updatePortalContent(o);}}render(){let{visible:t,hidden:r,showCounter:n}=Ve(this.users.length,this.max,this.showAddButton),o=this.direction==="ltr"?this.users.slice(0,t):this.users.slice(0,t).reverse(),s=this.users.slice(t),l=t;n&&l++,this.showAddButton&&l++;let a=Ut(l,this.pixelSize,this.overlap,this.spacing),c=n?_e(t,this.pixelSize,this.overlap,this.direction,this.spacing):0,f=_e(t+(n?1:0),this.pixelSize,this.overlap,this.direction,this.spacing);return b`
994
1003
  <div
995
- class=${O("ppg-container",this.animated&&"ppg-animated")}
1004
+ class=${P("ppg-container",this.animated&&"ppg-animated")}
996
1005
  style=${x({width:`${a}px`,height:`${this.pixelSize}px`})}
997
1006
  role="group"
998
1007
  aria-label="User avatars"
@@ -1001,10 +1010,10 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
1001
1010
  <slot style="display: none;"></slot>
1002
1011
 
1003
1012
  <!-- Visible avatars -->
1004
- ${o.map((c,w)=>this.renderAvatar(c,w,t))}
1013
+ ${o.map((h,v)=>this.renderAvatar(h,v,t))}
1005
1014
 
1006
1015
  <!-- Counter -->
1007
- ${n?this.renderCounter(r,u,s):g}
1016
+ ${n?this.renderCounter(r,c,s):g}
1008
1017
 
1009
1018
  <!-- Add button -->
1010
1019
  ${this.showAddButton?this.renderAddButton(f):g}
@@ -1012,7 +1021,7 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
1012
1021
  <!-- Tooltip -->
1013
1022
  ${this.renderTooltip()}
1014
1023
  </div>
1015
- `}};d([h({type:Number})],E.prototype,"max"),d([h({type:String})],E.prototype,"direction"),d([h({type:Number})],E.prototype,"overlap"),d([h({type:String})],E.prototype,"size"),d([h({type:Number})],E.prototype,"spacing"),d([h({type:Object})],E.prototype,"tooltip"),d([h({type:Object})],E.prototype,"dropdown"),d([h({type:Boolean,attribute:"show-add-button"})],E.prototype,"showAddButton"),d([h({type:String,attribute:"add-button-label"})],E.prototype,"addButtonLabel"),d([h({type:Boolean})],E.prototype,"animated"),d([h({type:Number,attribute:"rotation-amount"})],E.prototype,"rotationAmount"),d([U()],E.prototype,"users"),d([U()],E.prototype,"dropdownOpen"),d([U()],E.prototype,"tooltipData");customElements.get("profile-picture-group")||customElements.define("profile-picture-group",E);Je();
1024
+ `}};d([u({type:Number})],_.prototype,"max"),d([u({type:String})],_.prototype,"direction"),d([u({type:Number})],_.prototype,"overlap"),d([u({type:String})],_.prototype,"size"),d([u({type:Number})],_.prototype,"spacing"),d([u({type:Object})],_.prototype,"tooltip"),d([u({type:Object})],_.prototype,"dropdown"),d([u({type:Boolean,attribute:"show-add-button"})],_.prototype,"showAddButton"),d([u({type:String,attribute:"add-button-label"})],_.prototype,"addButtonLabel"),d([u({type:Boolean})],_.prototype,"animated"),d([u({type:Number,attribute:"rotation-amount"})],_.prototype,"rotationAmount"),d([O()],_.prototype,"users"),d([O()],_.prototype,"dropdownOpen"),d([O()],_.prototype,"tooltipData");customElements.get("profile-picture-group")||customElements.define("profile-picture-group",_);Je();
1016
1025
  /*! Bundled license information:
1017
1026
 
1018
1027
  @lit-labs/ssr-dom-shim/lib/element-internals.js: