@grasco/profile-picture 0.2.0 → 0.2.1

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.
@@ -188,6 +188,8 @@ declare class ProfilePicture extends LitElement {
188
188
  placeholder: PlaceholderType;
189
189
  placeholderColor: string;
190
190
  fallback?: string;
191
+ fallbackMode?: "initials" | "gradient";
192
+ imageMode: "transparent" | "original";
191
193
  interactive?: InteractionConfig;
192
194
  private isLoaded;
193
195
  private hasError;
@@ -196,14 +198,22 @@ declare class ProfilePicture extends LitElement {
196
198
  private previousSrc;
197
199
  private previousExtCustomerId?;
198
200
  private retryTimeoutId?;
201
+ private randomSeed;
199
202
  private readonly RETRY_DELAY_MS;
200
203
  private get pixelSize();
204
+ /**
205
+ * Resolve the seed for cloudy gradient from available identifiers.
206
+ * Priority: extCustomerId > alt > src > random instance seed
207
+ */
208
+ private get gradientSeed();
201
209
  connectedCallback(): void;
202
210
  disconnectedCallback(): void;
203
211
  protected firstUpdated(): void;
204
212
  protected updated(changedProperties: Map<string, unknown>): void;
205
213
  protected willUpdate(changedProperties: Map<string, unknown>): void;
206
214
  private handleLoad;
215
+ private handleClick;
216
+ private handleKeyDown;
207
217
  private handleError;
208
218
  /**
209
219
  * Construct CDN URL for profile picture using ext-customer-id
@@ -216,8 +226,9 @@ declare class ProfilePicture extends LitElement {
216
226
  private renderImage;
217
227
  private renderRing;
218
228
  /**
219
- * Calculate corner offset based on variant
220
- * Returns the inset from container edge where badges/presence should be positioned
229
+ * Calculate the distance from the container edge to the avatar's visual corner point.
230
+ * For a circle, this is the 45° point on the circumference.
231
+ * Returns the inset in pixels where an indicator's CENTER should be placed.
221
232
  */
222
233
  private getCornerOffset;
223
234
  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 k=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,N,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 T=y=>{for(a=this;a.__host&&y.includes(a.__host);)a=a.__host;};for(let y of S){!l&&(!a||a===y.__host)&&T(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)&&T(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=(N=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;k(this,W,!!n),k(this,ce,!!r),k(this,he,!!o),k(this,ue,`${e}`),k(this,B,null),k(this,ee,false);}initEvent(e,t,r){throw new Error("Method not implemented.")}stopImmediatePropagation(){this.stopPropagation();}preventDefault(){k(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")?N.AT_TARGET:N.NONE}get cancelBubble(){return E(this,Q,"f")}set cancelBubble(e){e&&k(this,Q,true);}stopPropagation(){k(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,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),k(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,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??=Ie;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},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 Me=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=Me;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$",z=`lit$${Math.random().toFixed(9).slice(2)}$`,bt="?"+z,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)+z+w):a+z+(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(z),S=/([.?@])?(.*)/.exec(v);a.push({type:1,index:o,name:S[2],strings:w,ctor:S[1]==="."?Ne:S[1]==="?"?ze:S[1]==="@"?Be:q}),n.removeAttribute(h);}else h.startsWith(z)&&(a.push({type:6,index:o}),n.removeAttribute(h));if(yt.test(n.tagName)){let h=n.textContent.split(z),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(z,h+1))!==-1;)a.push({type:7,index:o}),h+=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===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??"");}},Ne=class extends q{constructor(){super(...arguments),this.type=3;}j(e){this.element[this.name]=e===g?void 0:e;}},ze=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,R=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}};R._$litElement$=true,R.finalized=true,je.litElementHydrateSupport?.({LitElement:R});var gr=je.litElementPolyfillSupport;gr?.({LitElement:R});(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)"},I={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 M(...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 Pt(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 Mt(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 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 Nt(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 zt(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 R{constructor(){super(...arguments);this.src="";this.alt="";this.size=I.size;this.variant=I.variant;this.shadow=I.shadow;this.border=false;this.borderWidth=I.borderWidth;this.borderColor=I.borderColor;this.rotation=0;this.loading=I.loading;this.placeholder=I.placeholder;this.placeholderColor=I.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[I.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=Nt(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:M("pp-container",zt(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=${M("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=Pt(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;return this.cdnImageUrl?r=this.cdnImageUrl:(!t||this.cdnLoadFailed)&&(r=this.src),this.hasError||!r?this.renderFallback():b`
781
787
  <img
782
788
  src=${r}
783
789
  alt=${this.alt}
@@ -785,25 +791,25 @@ ${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=${M("pp-image",this.isLoaded?"pp-image-loaded":"pp-image-loading")}
789
795
  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`
796
+ `}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
797
  <div
792
- class=${O("pp-ring",this.ring.animate&&!s&&"pp-ring-animated",s&&"pp-ring-progress")}
798
+ class=${M("pp-ring",this.ring.animate&&!s&&"pp-ring-animated",s&&"pp-ring-progress")}
793
799
  style=${x({inset:`-${n}px`,padding:`${t}px`,background:o,borderRadius:J[this.variant]})}>
794
800
  </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`
801
+ `}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
802
  <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})}
803
+ class=${M("pp-presence",this.presence.animate&&"pp-presence-animated")}
804
+ style=${x({width:`${r}px`,height:`${r}px`,backgroundColor:n,bottom:`${s}px`,right:`${s}px`,color:n})}
799
805
  title=${this.presence.status}>
800
806
  </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`
807
+ `}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
808
  <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}
809
+ class=${M("pp-badge",this.badge.pulse&&"pp-badge-pulse",this.badge.glow&&"pp-badge-glow",n&&"pp-badge-with-icon")}
810
+ 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]})}>
811
+ ${v?b`<span class="pp-badge-icon" style=${x({fontSize:`${w}px`})}>${v}</span>`:g}
812
+ ${h??g}
807
813
  </div>
808
814
  `}render(){let t=this.getContainerStyles(),r=this.interactive?.focusable||this.interactive?.pressable?0:void 0;return b`
809
815
  <div
@@ -812,6 +818,8 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
812
818
  tabindex=${r??g}
813
819
  role=${this.interactive?.pressable?"button":g}
814
820
  aria-label=${this.alt||g}
821
+ @click=${this.handleClick}
822
+ @keydown=${this.handleKeyDown}
815
823
  data-profile-picture>
816
824
 
817
825
  <!-- Ring Effect (behind everything) -->
@@ -819,8 +827,8 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
819
827
 
820
828
  <!-- Inner container for image clipping -->
821
829
  <div
822
- class="pp-inner"
823
- style=${x({borderRadius:J[this.variant]})}>
830
+ class=${M("pp-inner",t.innerClasses)}
831
+ style=${x({borderRadius:J[this.variant],...t.innerStyles})}>
824
832
  <!-- Placeholder -->
825
833
  ${this.renderPlaceholder()}
826
834
 
@@ -834,7 +842,7 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
834
842
  <!-- Presence Indicator -->
835
843
  ${this.renderPresence()}
836
844
  </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`
845
+ `}};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: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 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 Cr(),this}get pixelSize(){return Mt(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,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
846
  <div
839
847
  class="ppg-backdrop ppg-backdrop-visible"
840
848
  style="pointer-events: auto; background: rgba(0,0,0,0.5);"
@@ -858,7 +866,7 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
858
866
  ${t.map(X=>this.renderDropdownItem(X))}
859
867
  </div>
860
868
  </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`
869
+ `;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 T;v>=o?T=r.left:w>=o?T=r.right-o:T=(l-o)/2,T=Math.max(8,Math.min(T,l-o-8));let C=S==="bottom"?r.bottom+n:void 0,y=S==="top"?a-r.top+n:void 0,A=b`
862
870
  <div
863
871
  class="ppg-backdrop"
864
872
  style="pointer-events: auto;"
@@ -867,8 +875,8 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
867
875
  ></div>
868
876
  <div
869
877
  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}
878
+ style=${x({position:"fixed",pointerEvents:"auto",top:C!==void 0?`${C}px`:"auto",bottom:y!==void 0?`${y}px`:"auto",left:`${T}px`,width:`${o}px`})}
879
+ data-position=${S}
872
880
  role="menu"
873
881
  aria-label="Hidden users"
874
882
  >
@@ -879,10 +887,10 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
879
887
  class="ppg-dropdown-list"
880
888
  style=${x({maxHeight:`${this.dropdownMaxHeight}px`})}
881
889
  >
882
- ${t.map(I=>this.renderDropdownItem(I))}
890
+ ${t.map(L=>this.renderDropdownItem(L))}
883
891
  </div>
884
892
  </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`
893
+ `;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
894
  <div
887
895
  class="ppg-avatar-wrapper"
888
896
  style=${x({left:`${o}px`,zIndex:String(s),width:`${this.pixelSize}px`,height:`${this.pixelSize}px`})}
@@ -894,7 +902,7 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
894
902
  @mouseleave=${this.handleAvatarLeave}
895
903
  @keydown=${f=>this.handleKeyDown(f,()=>this.handleAvatarClick(t))}
896
904
  >
897
- ${this.renderProfilePicture(t,p,a,u)}
905
+ ${this.renderProfilePicture(t,l,a,c)}
898
906
  </div>
899
907
  `}renderProfilePicture(t,r,n,o){return b`
900
908
  <profile-picture
@@ -922,7 +930,7 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
922
930
  aria-haspopup="true"
923
931
  @click=${()=>this.handleCounterClick(n)}
924
932
  >
925
- ${Mt(t)}
933
+ ${Dt(t)}
926
934
  </button>
927
935
  `}renderAddButton(t){let r=Math.round(this.pixelSize*.4);return b`
928
936
  <button
@@ -946,16 +954,16 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
946
954
  <line x1="5" y1="12" x2="19" y2="12"></line>
947
955
  </svg>
948
956
  </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`
957
+ `}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
958
  <div
951
959
  class="ppg-tooltip"
952
- style=${x({top:u?"auto":`${a+n}px`,bottom:u?`${o.height-p+n}px`:"auto",left:`${s}px`})}
960
+ style=${x({top:c?"auto":`${a+n}px`,bottom:c?`${o.height-l+n}px`:"auto",left:`${s}px`})}
953
961
  data-position=${this.tooltipPosition}
954
962
  role="tooltip"
955
963
  >
956
964
  ${t.name}
957
965
  </div>
958
- `}renderDropdownItem(t){let r=Ce(t.name),n=t.src||t.extCustomerId;return b`
966
+ `}renderDropdownItem(t){let r=Ee(t.name),n=t.src||t.extCustomerId;return b`
959
967
  <div
960
968
  class="ppg-dropdown-item"
961
969
  role="menuitem"
@@ -975,7 +983,7 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
975
983
  class="ppg-dropdown-avatar-fallback"
976
984
  style=${x({background:r})}
977
985
  >
978
- ${Se(t.name)}
986
+ ${Ce(t.name)}
979
987
  </div>`}
980
988
  <div class="ppg-dropdown-info">
981
989
  <div class="ppg-dropdown-name">${t.name}</div>
@@ -990,9 +998,9 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
990
998
  `:g}
991
999
  </div>
992
1000
  </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`
1001
+ `}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
1002
  <div
995
- class=${O("ppg-container",this.animated&&"ppg-animated")}
1003
+ class=${M("ppg-container",this.animated&&"ppg-animated")}
996
1004
  style=${x({width:`${a}px`,height:`${this.pixelSize}px`})}
997
1005
  role="group"
998
1006
  aria-label="User avatars"
@@ -1001,10 +1009,10 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
1001
1009
  <slot style="display: none;"></slot>
1002
1010
 
1003
1011
  <!-- Visible avatars -->
1004
- ${o.map((c,w)=>this.renderAvatar(c,w,t))}
1012
+ ${o.map((h,v)=>this.renderAvatar(h,v,t))}
1005
1013
 
1006
1014
  <!-- Counter -->
1007
- ${n?this.renderCounter(r,u,s):g}
1015
+ ${n?this.renderCounter(r,c,s):g}
1008
1016
 
1009
1017
  <!-- Add button -->
1010
1018
  ${this.showAddButton?this.renderAddButton(f):g}
@@ -1012,7 +1020,7 @@ ${wr}`;var l=class l extends R{constructor(){super(...arguments);this.src="";thi
1012
1020
  <!-- Tooltip -->
1013
1021
  ${this.renderTooltip()}
1014
1022
  </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();
1023
+ `}};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
1024
  /*! Bundled license information:
1017
1025
 
1018
1026
  @lit-labs/ssr-dom-shim/lib/element-internals.js: