@nysds/nys-avatar 1.11.2 → 1.11.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,752 +1,123 @@
1
- import { css as nt, LitElement as at, html as E } from "lit";
2
- /*!
3
- * ▒█▄░▒█ ▒█░░▒█ ▒█▀▀▀█ ▒█▀▀▄ ▒█▀▀▀█
4
- * ▒█▒█▒█ ▒█▄▄▄█ ░▀▀▀▄▄ ▒█░▒█ ░▀▀▀▄▄
5
- * ▒█░░▀█ ░░▒█░░ ▒█▄▄▄█ ▒█▄▄▀ ▒█▄▄▄█
6
- *
7
- * Avatar Component
8
- * Part of the New York State Design System
9
- * A design system for New York State's digital products.
10
- * Repository: https://github.com/its-hcd/nysds
11
- * License: MIT
12
- */
13
- /**
14
- * @license
15
- * Copyright 2019 Google LLC
16
- * SPDX-License-Identifier: BSD-3-Clause
17
- */
18
- const N = globalThis, D = N.ShadowRoot && (N.ShadyCSS === void 0 || N.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, et = Symbol(), V = /* @__PURE__ */ new WeakMap();
19
- let ht = class {
20
- constructor(t, e, s) {
21
- if (this._$cssResult$ = !0, s !== et) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
22
- this.cssText = t, this.t = e;
23
- }
24
- get styleSheet() {
25
- let t = this.o;
26
- const e = this.t;
27
- if (D && t === void 0) {
28
- const s = e !== void 0 && e.length === 1;
29
- s && (t = V.get(e)), t === void 0 && ((this.o = t = new CSSStyleSheet()).replaceSync(this.cssText), s && V.set(e, t));
30
- }
31
- return t;
32
- }
33
- toString() {
34
- return this.cssText;
35
- }
36
- };
37
- const lt = (r) => new ht(typeof r == "string" ? r : r + "", void 0, et), ct = (r, t) => {
38
- if (D) r.adoptedStyleSheets = t.map(((e) => e instanceof CSSStyleSheet ? e : e.styleSheet));
39
- else for (const e of t) {
40
- const s = document.createElement("style"), i = N.litNonce;
41
- i !== void 0 && s.setAttribute("nonce", i), s.textContent = e.cssText, r.appendChild(s);
42
- }
43
- }, F = D ? (r) => r : (r) => r instanceof CSSStyleSheet ? ((t) => {
44
- let e = "";
45
- for (const s of t.cssRules) e += s.cssText;
46
- return lt(e);
47
- })(r) : r;
48
- /**
49
- * @license
50
- * Copyright 2017 Google LLC
51
- * SPDX-License-Identifier: BSD-3-Clause
52
- */
53
- const { is: dt, defineProperty: pt, getOwnPropertyDescriptor: ut, getOwnPropertyNames: _t, getOwnPropertySymbols: yt, getPrototypeOf: vt } = Object, k = globalThis, J = k.trustedTypes, $t = J ? J.emptyScript : "", ft = k.reactiveElementPolyfillSupport, C = (r, t) => r, O = { toAttribute(r, t) {
54
- switch (t) {
55
- case Boolean:
56
- r = r ? $t : null;
57
- break;
58
- case Object:
59
- case Array:
60
- r = r == null ? r : JSON.stringify(r);
61
- }
62
- return r;
63
- }, fromAttribute(r, t) {
64
- let e = r;
65
- switch (t) {
66
- case Boolean:
67
- e = r !== null;
68
- break;
69
- case Number:
70
- e = r === null ? null : Number(r);
71
- break;
72
- case Object:
73
- case Array:
74
- try {
75
- e = JSON.parse(r);
76
- } catch {
77
- e = null;
78
- }
79
- }
80
- return e;
81
- } }, I = (r, t) => !dt(r, t), K = { attribute: !0, type: String, converter: O, reflect: !1, useDefault: !1, hasChanged: I };
82
- Symbol.metadata ??= Symbol("metadata"), k.litPropertyMetadata ??= /* @__PURE__ */ new WeakMap();
83
- class S extends HTMLElement {
84
- static addInitializer(t) {
85
- this._$Ei(), (this.l ??= []).push(t);
86
- }
87
- static get observedAttributes() {
88
- return this.finalize(), this._$Eh && [...this._$Eh.keys()];
89
- }
90
- static createProperty(t, e = K) {
91
- if (e.state && (e.attribute = !1), this._$Ei(), this.prototype.hasOwnProperty(t) && ((e = Object.create(e)).wrapped = !0), this.elementProperties.set(t, e), !e.noAccessor) {
92
- const s = Symbol(), i = this.getPropertyDescriptor(t, s, e);
93
- i !== void 0 && pt(this.prototype, t, i);
94
- }
95
- }
96
- static getPropertyDescriptor(t, e, s) {
97
- const { get: i, set: o } = ut(this.prototype, t) ?? { get() {
98
- return this[e];
99
- }, set(n) {
100
- this[e] = n;
101
- } };
102
- return { get: i, set(n) {
103
- const h = i?.call(this);
104
- o?.call(this, n), this.requestUpdate(t, h, s);
105
- }, configurable: !0, enumerable: !0 };
106
- }
107
- static getPropertyOptions(t) {
108
- return this.elementProperties.get(t) ?? K;
109
- }
110
- static _$Ei() {
111
- if (this.hasOwnProperty(C("elementProperties"))) return;
112
- const t = vt(this);
113
- t.finalize(), t.l !== void 0 && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties);
114
- }
115
- static finalize() {
116
- if (this.hasOwnProperty(C("finalized"))) return;
117
- if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(C("properties"))) {
118
- const e = this.properties, s = [..._t(e), ...yt(e)];
119
- for (const i of s) this.createProperty(i, e[i]);
120
- }
121
- const t = this[Symbol.metadata];
122
- if (t !== null) {
123
- const e = litPropertyMetadata.get(t);
124
- if (e !== void 0) for (const [s, i] of e) this.elementProperties.set(s, i);
125
- }
126
- this._$Eh = /* @__PURE__ */ new Map();
127
- for (const [e, s] of this.elementProperties) {
128
- const i = this._$Eu(e, s);
129
- i !== void 0 && this._$Eh.set(i, e);
130
- }
131
- this.elementStyles = this.finalizeStyles(this.styles);
132
- }
133
- static finalizeStyles(t) {
134
- const e = [];
135
- if (Array.isArray(t)) {
136
- const s = new Set(t.flat(1 / 0).reverse());
137
- for (const i of s) e.unshift(F(i));
138
- } else t !== void 0 && e.push(F(t));
139
- return e;
140
- }
141
- static _$Eu(t, e) {
142
- const s = e.attribute;
143
- return s === !1 ? void 0 : typeof s == "string" ? s : typeof t == "string" ? t.toLowerCase() : void 0;
144
- }
145
- constructor() {
146
- super(), this._$Ep = void 0, this.isUpdatePending = !1, this.hasUpdated = !1, this._$Em = null, this._$Ev();
147
- }
148
- _$Ev() {
149
- this._$ES = new Promise(((t) => this.enableUpdating = t)), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), this.constructor.l?.forEach(((t) => t(this)));
150
- }
151
- addController(t) {
152
- (this._$EO ??= /* @__PURE__ */ new Set()).add(t), this.renderRoot !== void 0 && this.isConnected && t.hostConnected?.();
153
- }
154
- removeController(t) {
155
- this._$EO?.delete(t);
156
- }
157
- _$E_() {
158
- const t = /* @__PURE__ */ new Map(), e = this.constructor.elementProperties;
159
- for (const s of e.keys()) this.hasOwnProperty(s) && (t.set(s, this[s]), delete this[s]);
160
- t.size > 0 && (this._$Ep = t);
161
- }
162
- createRenderRoot() {
163
- const t = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
164
- return ct(t, this.constructor.elementStyles), t;
165
- }
166
- connectedCallback() {
167
- this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(!0), this._$EO?.forEach(((t) => t.hostConnected?.()));
168
- }
169
- enableUpdating(t) {
170
- }
171
- disconnectedCallback() {
172
- this._$EO?.forEach(((t) => t.hostDisconnected?.()));
173
- }
174
- attributeChangedCallback(t, e, s) {
175
- this._$AK(t, s);
176
- }
177
- _$ET(t, e) {
178
- const s = this.constructor.elementProperties.get(t), i = this.constructor._$Eu(t, s);
179
- if (i !== void 0 && s.reflect === !0) {
180
- const o = (s.converter?.toAttribute !== void 0 ? s.converter : O).toAttribute(e, s.type);
181
- this._$Em = t, o == null ? this.removeAttribute(i) : this.setAttribute(i, o), this._$Em = null;
182
- }
183
- }
184
- _$AK(t, e) {
185
- const s = this.constructor, i = s._$Eh.get(t);
186
- if (i !== void 0 && this._$Em !== i) {
187
- const o = s.getPropertyOptions(i), n = typeof o.converter == "function" ? { fromAttribute: o.converter } : o.converter?.fromAttribute !== void 0 ? o.converter : O;
188
- this._$Em = i;
189
- const h = n.fromAttribute(e, o.type);
190
- this[i] = h ?? this._$Ej?.get(i) ?? h, this._$Em = null;
191
- }
192
- }
193
- requestUpdate(t, e, s) {
194
- if (t !== void 0) {
195
- const i = this.constructor, o = this[t];
196
- if (s ??= i.getPropertyOptions(t), !((s.hasChanged ?? I)(o, e) || s.useDefault && s.reflect && o === this._$Ej?.get(t) && !this.hasAttribute(i._$Eu(t, s)))) return;
197
- this.C(t, e, s);
198
- }
199
- this.isUpdatePending === !1 && (this._$ES = this._$EP());
200
- }
201
- C(t, e, { useDefault: s, reflect: i, wrapped: o }, n) {
202
- s && !(this._$Ej ??= /* @__PURE__ */ new Map()).has(t) && (this._$Ej.set(t, n ?? e ?? this[t]), o !== !0 || n !== void 0) || (this._$AL.has(t) || (this.hasUpdated || s || (e = void 0), this._$AL.set(t, e)), i === !0 && this._$Em !== t && (this._$Eq ??= /* @__PURE__ */ new Set()).add(t));
203
- }
204
- async _$EP() {
205
- this.isUpdatePending = !0;
206
- try {
207
- await this._$ES;
208
- } catch (e) {
209
- Promise.reject(e);
210
- }
211
- const t = this.scheduleUpdate();
212
- return t != null && await t, !this.isUpdatePending;
213
- }
214
- scheduleUpdate() {
215
- return this.performUpdate();
216
- }
217
- performUpdate() {
218
- if (!this.isUpdatePending) return;
219
- if (!this.hasUpdated) {
220
- if (this.renderRoot ??= this.createRenderRoot(), this._$Ep) {
221
- for (const [i, o] of this._$Ep) this[i] = o;
222
- this._$Ep = void 0;
223
- }
224
- const s = this.constructor.elementProperties;
225
- if (s.size > 0) for (const [i, o] of s) {
226
- const { wrapped: n } = o, h = this[i];
227
- n !== !0 || this._$AL.has(i) || h === void 0 || this.C(i, void 0, o, h);
228
- }
229
- }
230
- let t = !1;
231
- const e = this._$AL;
232
- try {
233
- t = this.shouldUpdate(e), t ? (this.willUpdate(e), this._$EO?.forEach(((s) => s.hostUpdate?.())), this.update(e)) : this._$EM();
234
- } catch (s) {
235
- throw t = !1, this._$EM(), s;
236
- }
237
- t && this._$AE(e);
238
- }
239
- willUpdate(t) {
240
- }
241
- _$AE(t) {
242
- this._$EO?.forEach(((e) => e.hostUpdated?.())), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t);
243
- }
244
- _$EM() {
245
- this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = !1;
246
- }
247
- get updateComplete() {
248
- return this.getUpdateComplete();
249
- }
250
- getUpdateComplete() {
251
- return this._$ES;
252
- }
253
- shouldUpdate(t) {
254
- return !0;
255
- }
256
- update(t) {
257
- this._$Eq &&= this._$Eq.forEach(((e) => this._$ET(e, this[e]))), this._$EM();
258
- }
259
- updated(t) {
260
- }
261
- firstUpdated(t) {
262
- }
263
- }
264
- S.elementStyles = [], S.shadowRootOptions = { mode: "open" }, S[C("elementProperties")] = /* @__PURE__ */ new Map(), S[C("finalized")] = /* @__PURE__ */ new Map(), ft?.({ ReactiveElement: S }), (k.reactiveElementVersions ??= []).push("2.1.1");
265
- /**
266
- * @license
267
- * Copyright 2017 Google LLC
268
- * SPDX-License-Identifier: BSD-3-Clause
269
- */
270
- const gt = { attribute: !0, type: String, converter: O, reflect: !1, hasChanged: I }, mt = (r = gt, t, e) => {
271
- const { kind: s, metadata: i } = e;
272
- let o = globalThis.litPropertyMetadata.get(i);
273
- if (o === void 0 && globalThis.litPropertyMetadata.set(i, o = /* @__PURE__ */ new Map()), s === "setter" && ((r = Object.create(r)).wrapped = !0), o.set(e.name, r), s === "accessor") {
274
- const { name: n } = e;
275
- return { set(h) {
276
- const a = t.get.call(this);
277
- t.set.call(this, h), this.requestUpdate(n, a, r);
278
- }, init(h) {
279
- return h !== void 0 && this.C(n, void 0, r, h), h;
280
- } };
281
- }
282
- if (s === "setter") {
283
- const { name: n } = e;
284
- return function(h) {
285
- const a = this[n];
286
- t.call(this, h), this.requestUpdate(n, a, r);
287
- };
288
- }
289
- throw Error("Unsupported decorator location: " + s);
290
- };
291
- function y(r) {
292
- return (t, e) => typeof e == "object" ? mt(r, t, e) : ((s, i, o) => {
293
- const n = i.hasOwnProperty(o);
294
- return i.constructor.createProperty(o, s), n ? Object.getOwnPropertyDescriptor(i, o) : void 0;
295
- })(r, t, e);
296
- }
297
- /**
298
- * @license
299
- * Copyright 2017 Google LLC
300
- * SPDX-License-Identifier: BSD-3-Clause
301
- */
302
- function At(r) {
303
- return y({ ...r, state: !0, attribute: !1 });
304
- }
305
- const bt = nt`
306
- :host {
307
- /* Global Avatar Styles */
308
-
309
- --_nys-avatar-border-radius: var(--nys-radius-round, 1776px);
310
- --_nys-avatar-size: var(--nys-avatar-size, var(--nys-font-size-6xl, 36px));
311
- --_nys-avatar-shape: var(--nys-radius-round, 1776px);
312
- --_nys-avatar-border-color: var(--nys-color-ink-reverse, #fff);
313
- --_nys-avatar-border-size: var(--nys-border-width-sm, 1px);
314
- --_nys-avatar-width: var(--nys-font-size-6xl, 36px);
315
- --_nys-avatar-color: var(--nys-color-theme, #154973);
316
- --_nys-avatar-background-color: var(--nys-color-theme-weaker, #eff6fb);
317
- --_nys-avatar-outline-color: var(--nys-color-focus, #004dd1);
318
- --_nys-avatar-outline-width: var(--nys-border-width-md, 2px);
319
- --_nys-avatar-outline-offset: var(--nys-space-2px, 2px);
320
- }
321
-
322
- .nys-avatar {
323
- display: inline-block;
324
- }
325
-
326
- .nys-avatar__component {
327
- display: flex;
328
- justify-content: center;
329
- align-items: center;
330
- border-radius: var(--_nys-avatar-border-radius);
331
- width: var(--_nys-avatar-size);
332
- height: var(--_nys-avatar-size);
333
- font-size: var(--_nys-avatar-size);
334
-
335
- overflow: hidden;
336
- box-sizing: border-box;
337
- color: var(--_nys-avatar-color);
338
- background-color: var(--_nys-avatar-background-color);
339
- border: var(--_nys-avatar-border-size) solid var(--_nys-avatar-border-color);
340
- outline-offset: var(--_nys-avatar-outline-offset);
341
- transition: all 0.15s ease-in-out;
342
- -webkit-user-select: none;
343
- -moz-user-select: none;
344
- user-select: none;
345
- }
346
-
347
- /* Hover/Active states/Disabled */
348
- :host([interactive]) .nys-avatar__component:hover,
349
- :host([interactive]) .nys-avatar__component:active {
350
- --_nys-avatar-color: var(
351
- --nys-color-text-reverse,
352
- --nys-color-ink-reverse,
353
- #fff
354
- );
355
- cursor: pointer;
356
- }
357
-
358
- :host([interactive]) .nys-avatar__component:hover {
359
- --_nys-avatar-background-color: var(--nys-color-theme-mid, #457aa5);
360
- }
361
-
362
- :host([interactive]) .nys-avatar__component:active {
363
- --_nys-avatar-background-color: var(--nys-color-theme-strong, #0e324f);
364
- }
365
-
366
- :host([disabled]) .nys-avatar__component {
367
- --_nys-avatar-color: var(--nys-color-text-disabled, #bec0c1);
368
- --_nys-avatar-background-color: var(--nys-color-neutral-10, #f6f6f6);
369
- cursor: not-allowed;
370
- }
371
-
372
- :host([disabled]) .nys-avatar__component:focus-within {
373
- outline: solid var(--_nys-avatar-outline-width)
374
- var(--_nys-avatar-outline-color);
375
- }
376
-
377
- div[part="nys-avatar__icon"] {
378
- display: flex;
379
- align-items: center;
380
- justify-content: center;
381
- }
382
-
383
- /* Content styles */
384
- .nys-avatar__initials {
385
- display: flex;
386
- align-items: center;
387
- justify-content: center;
388
- width: 100%;
389
- height: 100%;
390
- font-size: calc(var(--_nys-avatar-width) * 0.5);
391
- font-weight: bold;
392
- text-transform: uppercase;
393
- }
394
-
395
- .nys-avatar__image {
396
- width: 100%;
397
- height: 100%;
398
- object-fit: cover;
399
- }
400
-
401
- .nys-avatar__icon {
402
- width: 100%;
403
- height: 100%;
404
- fill: currentColor;
405
- }
406
- `;
407
- /**
408
- * @license
409
- * Copyright 2017 Google LLC
410
- * SPDX-License-Identifier: BSD-3-Clause
411
- */
412
- const B = globalThis, M = B.trustedTypes, Z = M ? M.createPolicy("lit-html", { createHTML: (r) => r }) : void 0, st = "$lit$", f = `lit$${Math.random().toFixed(9).slice(2)}$`, it = "?" + f, Et = `<${it}>`, A = document, T = () => A.createComment(""), x = (r) => r === null || typeof r != "object" && typeof r != "function", q = Array.isArray, St = (r) => q(r) || typeof r?.[Symbol.iterator] == "function", j = `[
413
- \f\r]`, w = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, G = /-->/g, X = />/g, g = RegExp(`>|${j}(?:([^\\s"'>=/]+)(${j}*=${j}*(?:[^
414
- \f\r"'\`<>=]|("|')|))|$)`, "g"), Q = /'/g, Y = /"/g, rt = /^(?:script|style|textarea|title)$/i, P = Symbol.for("lit-noChange"), d = Symbol.for("lit-nothing"), tt = /* @__PURE__ */ new WeakMap(), m = A.createTreeWalker(A, 129);
415
- function ot(r, t) {
416
- if (!q(r) || !r.hasOwnProperty("raw")) throw Error("invalid template strings array");
417
- return Z !== void 0 ? Z.createHTML(t) : t;
418
- }
419
- const wt = (r, t) => {
420
- const e = r.length - 1, s = [];
421
- let i, o = t === 2 ? "<svg>" : t === 3 ? "<math>" : "", n = w;
422
- for (let h = 0; h < e; h++) {
423
- const a = r[h];
424
- let c, p, l = -1, _ = 0;
425
- for (; _ < a.length && (n.lastIndex = _, p = n.exec(a), p !== null); ) _ = n.lastIndex, n === w ? p[1] === "!--" ? n = G : p[1] !== void 0 ? n = X : p[2] !== void 0 ? (rt.test(p[2]) && (i = RegExp("</" + p[2], "g")), n = g) : p[3] !== void 0 && (n = g) : n === g ? p[0] === ">" ? (n = i ?? w, l = -1) : p[1] === void 0 ? l = -2 : (l = n.lastIndex - p[2].length, c = p[1], n = p[3] === void 0 ? g : p[3] === '"' ? Y : Q) : n === Y || n === Q ? n = g : n === G || n === X ? n = w : (n = g, i = void 0);
426
- const $ = n === g && r[h + 1].startsWith("/>") ? " " : "";
427
- o += n === w ? a + Et : l >= 0 ? (s.push(c), a.slice(0, l) + st + a.slice(l) + f + $) : a + f + (l === -2 ? h : $);
428
- }
429
- return [ot(r, o + (r[e] || "<?>") + (t === 2 ? "</svg>" : t === 3 ? "</math>" : "")), s];
430
- };
431
- class U {
432
- constructor({ strings: t, _$litType$: e }, s) {
433
- let i;
434
- this.parts = [];
435
- let o = 0, n = 0;
436
- const h = t.length - 1, a = this.parts, [c, p] = wt(t, e);
437
- if (this.el = U.createElement(c, s), m.currentNode = this.el.content, e === 2 || e === 3) {
438
- const l = this.el.content.firstChild;
439
- l.replaceWith(...l.childNodes);
440
- }
441
- for (; (i = m.nextNode()) !== null && a.length < h; ) {
442
- if (i.nodeType === 1) {
443
- if (i.hasAttributes()) for (const l of i.getAttributeNames()) if (l.endsWith(st)) {
444
- const _ = p[n++], $ = i.getAttribute(l).split(f), H = /([.?@])?(.*)/.exec(_);
445
- a.push({ type: 1, index: o, name: H[2], strings: $, ctor: H[1] === "." ? xt : H[1] === "?" ? Pt : H[1] === "@" ? Ut : R }), i.removeAttribute(l);
446
- } else l.startsWith(f) && (a.push({ type: 6, index: o }), i.removeAttribute(l));
447
- if (rt.test(i.tagName)) {
448
- const l = i.textContent.split(f), _ = l.length - 1;
449
- if (_ > 0) {
450
- i.textContent = M ? M.emptyScript : "";
451
- for (let $ = 0; $ < _; $++) i.append(l[$], T()), m.nextNode(), a.push({ type: 2, index: ++o });
452
- i.append(l[_], T());
453
- }
454
- }
455
- } else if (i.nodeType === 8) if (i.data === it) a.push({ type: 2, index: o });
456
- else {
457
- let l = -1;
458
- for (; (l = i.data.indexOf(f, l + 1)) !== -1; ) a.push({ type: 7, index: o }), l += f.length - 1;
459
- }
460
- o++;
461
- }
462
- }
463
- static createElement(t, e) {
464
- const s = A.createElement("template");
465
- return s.innerHTML = t, s;
466
- }
467
- }
468
- function b(r, t, e = r, s) {
469
- if (t === P) return t;
470
- let i = s !== void 0 ? e._$Co?.[s] : e._$Cl;
471
- const o = x(t) ? void 0 : t._$litDirective$;
472
- return i?.constructor !== o && (i?._$AO?.(!1), o === void 0 ? i = void 0 : (i = new o(r), i._$AT(r, e, s)), s !== void 0 ? (e._$Co ??= [])[s] = i : e._$Cl = i), i !== void 0 && (t = b(r, i._$AS(r, t.values), i, s)), t;
473
- }
474
- class Ct {
475
- constructor(t, e) {
476
- this._$AV = [], this._$AN = void 0, this._$AD = t, this._$AM = e;
477
- }
478
- get parentNode() {
479
- return this._$AM.parentNode;
480
- }
481
- get _$AU() {
482
- return this._$AM._$AU;
483
- }
484
- u(t) {
485
- const { el: { content: e }, parts: s } = this._$AD, i = (t?.creationScope ?? A).importNode(e, !0);
486
- m.currentNode = i;
487
- let o = m.nextNode(), n = 0, h = 0, a = s[0];
488
- for (; a !== void 0; ) {
489
- if (n === a.index) {
490
- let c;
491
- a.type === 2 ? c = new z(o, o.nextSibling, this, t) : a.type === 1 ? c = new a.ctor(o, a.name, a.strings, this, t) : a.type === 6 && (c = new Ht(o, this, t)), this._$AV.push(c), a = s[++h];
492
- }
493
- n !== a?.index && (o = m.nextNode(), n++);
494
- }
495
- return m.currentNode = A, i;
496
- }
497
- p(t) {
498
- let e = 0;
499
- for (const s of this._$AV) s !== void 0 && (s.strings !== void 0 ? (s._$AI(t, s, e), e += s.strings.length - 2) : s._$AI(t[e])), e++;
500
- }
501
- }
502
- class z {
503
- get _$AU() {
504
- return this._$AM?._$AU ?? this._$Cv;
505
- }
506
- constructor(t, e, s, i) {
507
- this.type = 2, this._$AH = d, this._$AN = void 0, this._$AA = t, this._$AB = e, this._$AM = s, this.options = i, this._$Cv = i?.isConnected ?? !0;
508
- }
509
- get parentNode() {
510
- let t = this._$AA.parentNode;
511
- const e = this._$AM;
512
- return e !== void 0 && t?.nodeType === 11 && (t = e.parentNode), t;
513
- }
514
- get startNode() {
515
- return this._$AA;
516
- }
517
- get endNode() {
518
- return this._$AB;
519
- }
520
- _$AI(t, e = this) {
521
- t = b(this, t, e), x(t) ? t === d || t == null || t === "" ? (this._$AH !== d && this._$AR(), this._$AH = d) : t !== this._$AH && t !== P && this._(t) : t._$litType$ !== void 0 ? this.$(t) : t.nodeType !== void 0 ? this.T(t) : St(t) ? this.k(t) : this._(t);
522
- }
523
- O(t) {
524
- return this._$AA.parentNode.insertBefore(t, this._$AB);
525
- }
526
- T(t) {
527
- this._$AH !== t && (this._$AR(), this._$AH = this.O(t));
528
- }
529
- _(t) {
530
- this._$AH !== d && x(this._$AH) ? this._$AA.nextSibling.data = t : this.T(A.createTextNode(t)), this._$AH = t;
531
- }
532
- $(t) {
533
- const { values: e, _$litType$: s } = t, i = typeof s == "number" ? this._$AC(t) : (s.el === void 0 && (s.el = U.createElement(ot(s.h, s.h[0]), this.options)), s);
534
- if (this._$AH?._$AD === i) this._$AH.p(e);
535
- else {
536
- const o = new Ct(i, this), n = o.u(this.options);
537
- o.p(e), this.T(n), this._$AH = o;
538
- }
539
- }
540
- _$AC(t) {
541
- let e = tt.get(t.strings);
542
- return e === void 0 && tt.set(t.strings, e = new U(t)), e;
543
- }
544
- k(t) {
545
- q(this._$AH) || (this._$AH = [], this._$AR());
546
- const e = this._$AH;
547
- let s, i = 0;
548
- for (const o of t) i === e.length ? e.push(s = new z(this.O(T()), this.O(T()), this, this.options)) : s = e[i], s._$AI(o), i++;
549
- i < e.length && (this._$AR(s && s._$AB.nextSibling, i), e.length = i);
550
- }
551
- _$AR(t = this._$AA.nextSibling, e) {
552
- for (this._$AP?.(!1, !0, e); t !== this._$AB; ) {
553
- const s = t.nextSibling;
554
- t.remove(), t = s;
555
- }
556
- }
557
- setConnected(t) {
558
- this._$AM === void 0 && (this._$Cv = t, this._$AP?.(t));
559
- }
560
- }
561
- class R {
562
- get tagName() {
563
- return this.element.tagName;
564
- }
565
- get _$AU() {
566
- return this._$AM._$AU;
567
- }
568
- constructor(t, e, s, i, o) {
569
- this.type = 1, this._$AH = d, this._$AN = void 0, this.element = t, this.name = e, this._$AM = i, this.options = o, s.length > 2 || s[0] !== "" || s[1] !== "" ? (this._$AH = Array(s.length - 1).fill(new String()), this.strings = s) : this._$AH = d;
570
- }
571
- _$AI(t, e = this, s, i) {
572
- const o = this.strings;
573
- let n = !1;
574
- if (o === void 0) t = b(this, t, e, 0), n = !x(t) || t !== this._$AH && t !== P, n && (this._$AH = t);
575
- else {
576
- const h = t;
577
- let a, c;
578
- for (t = o[0], a = 0; a < o.length - 1; a++) c = b(this, h[s + a], e, a), c === P && (c = this._$AH[a]), n ||= !x(c) || c !== this._$AH[a], c === d ? t = d : t !== d && (t += (c ?? "") + o[a + 1]), this._$AH[a] = c;
579
- }
580
- n && !i && this.j(t);
581
- }
582
- j(t) {
583
- t === d ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? "");
584
- }
585
- }
586
- class xt extends R {
587
- constructor() {
588
- super(...arguments), this.type = 3;
589
- }
590
- j(t) {
591
- this.element[this.name] = t === d ? void 0 : t;
592
- }
593
- }
594
- class Pt extends R {
595
- constructor() {
596
- super(...arguments), this.type = 4;
597
- }
598
- j(t) {
599
- this.element.toggleAttribute(this.name, !!t && t !== d);
600
- }
601
- }
602
- class Ut extends R {
603
- constructor(t, e, s, i, o) {
604
- super(t, e, s, i, o), this.type = 5;
605
- }
606
- _$AI(t, e = this) {
607
- if ((t = b(this, t, e, 0) ?? d) === P) return;
608
- const s = this._$AH, i = t === d && s !== d || t.capture !== s.capture || t.once !== s.once || t.passive !== s.passive, o = t !== d && (s === d || i);
609
- i && this.element.removeEventListener(this.name, this, s), o && this.element.addEventListener(this.name, this, t), this._$AH = t;
610
- }
611
- handleEvent(t) {
612
- typeof this._$AH == "function" ? this._$AH.call(this.options?.host ?? this.element, t) : this._$AH.handleEvent(t);
613
- }
614
- }
615
- class Ht {
616
- constructor(t, e, s) {
617
- this.element = t, this.type = 6, this._$AN = void 0, this._$AM = e, this.options = s;
618
- }
619
- get _$AU() {
620
- return this._$AM._$AU;
621
- }
622
- _$AI(t) {
623
- b(this, t);
624
- }
625
- }
626
- const Nt = B.litHtmlPolyfillSupport;
627
- Nt?.(U, z), (B.litHtmlVersions ??= []).push("3.3.1");
628
- /**
629
- * @license
630
- * Copyright 2018 Google LLC
631
- * SPDX-License-Identifier: BSD-3-Clause
632
- */
633
- const L = (r) => r ?? d;
634
- var Ot = Object.defineProperty, v = (r, t, e, s) => {
635
- for (var i = void 0, o = r.length - 1, n; o >= 0; o--)
636
- (n = r[o]) && (i = n(t, e, i) || i);
637
- return i && Ot(t, e, i), i;
1
+ import { LitElement as g, unsafeCSS as m, html as l } from "lit";
2
+ import { property as e, state as b } from "lit/decorators.js";
3
+ import { ifDefined as y } from "lit/directives/if-defined.js";
4
+ const x = ":host{--_nys-avatar-border-radius: var(--nys-radius-round, 1776px);--_nys-avatar-size: var(--nys-avatar-size, var(--nys-font-size-6xl, 36px));--_nys-avatar-shape: var(--nys-radius-round, 1776px);--_nys-avatar-border-color: var(--nys-color-ink-reverse, #fff);--_nys-avatar-border-size: var(--nys-border-width-sm, 1px);--_nys-avatar-width: var(--nys-font-size-6xl, 36px);--_nys-avatar-color: var(--nys-color-theme, #154973);--_nys-avatar-background-color: var(--nys-color-theme-weaker, #eff6fb);--_nys-avatar-outline-color: var(--nys-color-focus, #004dd1);--_nys-avatar-outline-width: var(--nys-border-width-md, 2px);--_nys-avatar-outline-offset: var(--nys-space-2px, 2px)}.nys-avatar{display:inline-block}.nys-avatar__component{display:flex;justify-content:center;align-items:center;border-radius:var(--_nys-avatar-border-radius);width:var(--_nys-avatar-size);height:var(--_nys-avatar-size);font-size:var(--_nys-avatar-size);overflow:hidden;box-sizing:border-box;color:var(--_nys-avatar-color);background-color:var(--_nys-avatar-background-color);border:var(--_nys-avatar-border-size) solid var(--_nys-avatar-border-color);outline-offset:var(--_nys-avatar-outline-offset);transition:all .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host([interactive]) .nys-avatar__component:hover,:host([interactive]) .nys-avatar__component:active{--_nys-avatar-color: var( --nys-color-text-reverse, --nys-color-ink-reverse, #fff );cursor:pointer}:host([interactive]) .nys-avatar__component:hover{--_nys-avatar-background-color: var(--nys-color-theme-mid, #457aa5)}:host([interactive]) .nys-avatar__component:active{--_nys-avatar-background-color: var(--nys-color-theme-strong, #0e324f)}:host([disabled]) .nys-avatar__component{--_nys-avatar-color: var(--nys-color-text-disabled, #bec0c1);--_nys-avatar-background-color: var(--nys-color-neutral-10, #f6f6f6);cursor:not-allowed}:host([disabled]) .nys-avatar__component:focus-within{outline:solid var(--_nys-avatar-outline-width) var(--_nys-avatar-outline-color)}div[part=nys-avatar__icon]{display:flex;align-items:center;justify-content:center}.nys-avatar__initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:calc(var(--_nys-avatar-width) * .5);font-weight:700;text-transform:uppercase}.nys-avatar__image{width:100%;height:100%;object-fit:cover}.nys-avatar__icon{width:100%;height:100%;fill:currentColor}";
5
+ var C = Object.defineProperty, a = (h, n, s, i) => {
6
+ for (var r = void 0, o = h.length - 1, c; o >= 0; o--)
7
+ (c = h[o]) && (r = c(n, s, r) || r);
8
+ return r && C(n, s, r), r;
638
9
  };
639
- let Mt = 0;
640
- const W = class W extends at {
10
+ let k = 0;
11
+ const d = class d extends g {
641
12
  constructor() {
642
13
  super(...arguments), this.id = "", this.ariaLabel = "", this.image = "", this.initials = "", this.icon = "", this.color = "", this.interactive = !1, this.disabled = !1, this.lazy = !1, this._slotHasContent = !1;
643
14
  }
644
15
  /******************** Functions ********************/
645
16
  // Generate a unique ID if one is not provided
646
17
  connectedCallback() {
647
- super.connectedCallback(), this.id || (this.id = `nys-avatar-${Date.now()}-${Mt++}`);
18
+ super.connectedCallback(), this.id || (this.id = `nys-avatar-${Date.now()}-${k++}`);
648
19
  }
649
20
  async _handleSlotChange() {
650
- const t = this.shadowRoot?.querySelector("slot");
651
- if (!t) {
21
+ const n = this.shadowRoot?.querySelector("slot");
22
+ if (!n) {
652
23
  this._slotHasContent = !1;
653
24
  return;
654
25
  }
655
26
  await Promise.resolve();
656
- const e = t.assignedNodes({ flatten: !0 }).filter(
657
- (s) => s.nodeType === Node.ELEMENT_NODE || s.nodeType === Node.TEXT_NODE && s.textContent?.trim()
27
+ const s = n.assignedNodes({ flatten: !0 }).filter(
28
+ (i) => i.nodeType === Node.ELEMENT_NODE || i.nodeType === Node.TEXT_NODE && i.textContent?.trim()
658
29
  );
659
- this._slotHasContent = e.length > 0;
30
+ this._slotHasContent = s.length > 0;
660
31
  }
661
32
  // This function accounts for user set "color" prop and return the appropriate foreground contrast.
662
33
  getContrastForeground() {
663
- const t = "var(--nys-color-ink, #000)", e = "var(--nys-color-ink-reverse, #fff)", s = "var(--nys-color-text, #000)", i = "var(--nys-color-text-reverse, #fff)";
34
+ const n = "var(--nys-color-ink, #000)", s = "var(--nys-color-ink-reverse, #fff)", i = "var(--nys-color-text, #000)", r = "var(--nys-color-text-reverse, #fff)";
664
35
  if (!this.color) return;
665
36
  const o = document.createElement("div");
666
37
  o.style.color = this.color, document.body.appendChild(o);
667
- const n = getComputedStyle(o).color;
38
+ const c = getComputedStyle(o).color;
668
39
  document.body.removeChild(o);
669
- const h = n.match(/\d+/g);
670
- if (!h) return;
671
- const a = Number(h[0]), c = Number(h[1]), p = Number(h[2]), _ = (0.299 * a + 0.587 * c + 0.114 * p) / 255 < 0.5;
672
- return this.initials?.length > 0 ? _ ? i : s : _ ? e : t;
40
+ const v = c.match(/\d+/g);
41
+ if (!v) return;
42
+ const p = Number(v[0]), f = Number(v[1]), u = Number(v[2]), _ = (0.299 * p + 0.587 * f + 0.114 * u) / 255 < 0.5;
43
+ return this.initials?.length > 0 ? _ ? r : i : _ ? s : n;
673
44
  }
674
45
  render() {
675
- return E`
676
- <label class="nys-avatar" id=${this.id}>
46
+ return l`
47
+ <div class="nys-avatar">
677
48
  <div class="nys-avatar__content">
678
49
  <div
679
50
  part="nys-avatar"
680
51
  class="nys-avatar__component"
681
52
  style=${this.color ? `--_nys-avatar-background-color: ${this.color}; color: ${this.getContrastForeground()}` : ""}
682
- role=${L(
53
+ role=${y(
683
54
  this.interactive ? "button" : this.image ? void 0 : "img"
684
55
  )}
685
- aria-label=${L(
56
+ aria-label=${y(
686
57
  this.image ? void 0 : this.ariaLabel ? this.ariaLabel : "avatar"
687
58
  )}
688
- tabindex=${L(
59
+ tabindex=${y(
689
60
  this.interactive && !this.disabled ? 0 : void 0
690
61
  )}
691
62
  >
692
- ${this.image?.length > 0 ? E`<img
63
+ ${this.image?.length > 0 ? l`<img
693
64
  part="nys-avatar__image"
694
65
  class="nys-avatar__image"
695
66
  src=${this.image}
696
67
  alt=${this.ariaLabel || "avatar"}
697
68
  loading=${this.lazy ? "lazy" : "eager"}
698
- />` : this.initials?.length > 0 ? E`<span
69
+ />` : this.initials?.length > 0 ? l`<span
699
70
  part="nys-avatar__initials"
700
71
  class="nys-avatar__initials"
701
72
  aria-hidden="true"
702
73
  >${this.initials}</span
703
- >` : E`<div part="nys-avatar__icon">
74
+ >` : l`<div part="nys-avatar__icon">
704
75
  <slot @slotchange=${this._handleSlotChange}></slot>
705
- ${this._slotHasContent ? null : E`<nys-icon
76
+ ${this._slotHasContent ? null : l`<nys-icon
706
77
  label="nys-avatar__icon"
707
78
  name=${this.icon?.length > 0 ? this.icon : "account_circle"}
708
79
  ></nys-icon>`}
709
80
  </div>`}
710
81
  </div>
711
82
  </div>
712
- </label>
83
+ </div>
713
84
  `;
714
85
  }
715
86
  };
716
- W.styles = bt;
717
- let u = W;
718
- v([
719
- y({ type: String })
720
- ], u.prototype, "id");
721
- v([
722
- y({ type: String })
723
- ], u.prototype, "ariaLabel");
724
- v([
725
- y({ type: String })
726
- ], u.prototype, "image");
727
- v([
728
- y({ type: String })
729
- ], u.prototype, "initials");
730
- v([
731
- y({ type: String })
732
- ], u.prototype, "icon");
733
- v([
734
- y({ type: String })
735
- ], u.prototype, "color");
736
- v([
737
- y({ type: Boolean, reflect: !0 })
738
- ], u.prototype, "interactive");
739
- v([
740
- y({ type: Boolean, reflect: !0 })
741
- ], u.prototype, "disabled");
742
- v([
743
- y({ type: Boolean, reflect: !0 })
744
- ], u.prototype, "lazy");
745
- v([
746
- At()
747
- ], u.prototype, "_slotHasContent");
748
- customElements.get("nys-avatar") || customElements.define("nys-avatar", u);
87
+ d.styles = m(x);
88
+ let t = d;
89
+ a([
90
+ e({ type: String, reflect: !0 })
91
+ ], t.prototype, "id");
92
+ a([
93
+ e({ type: String })
94
+ ], t.prototype, "ariaLabel");
95
+ a([
96
+ e({ type: String })
97
+ ], t.prototype, "image");
98
+ a([
99
+ e({ type: String })
100
+ ], t.prototype, "initials");
101
+ a([
102
+ e({ type: String })
103
+ ], t.prototype, "icon");
104
+ a([
105
+ e({ type: String })
106
+ ], t.prototype, "color");
107
+ a([
108
+ e({ type: Boolean, reflect: !0 })
109
+ ], t.prototype, "interactive");
110
+ a([
111
+ e({ type: Boolean, reflect: !0 })
112
+ ], t.prototype, "disabled");
113
+ a([
114
+ e({ type: Boolean, reflect: !0 })
115
+ ], t.prototype, "lazy");
116
+ a([
117
+ b()
118
+ ], t.prototype, "_slotHasContent");
119
+ customElements.get("nys-avatar") || customElements.define("nys-avatar", t);
749
120
  export {
750
- u as NysAvatar
121
+ t as NysAvatar
751
122
  };
752
123
  //# sourceMappingURL=nys-avatar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nys-avatar.js","sources":["../../../node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/@lit/reactive-element/decorators/property.js","../../../node_modules/@lit/reactive-element/decorators/state.js","../src/nys-avatar.styles.ts","../../../node_modules/lit-html/lit-html.js","../../../node_modules/lit-html/directives/if-defined.js","../src/nys-avatar.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.1\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","import { css } from \"lit\";\n\nexport default css`\n :host {\n /* Global Avatar Styles */\n\n --_nys-avatar-border-radius: var(--nys-radius-round, 1776px);\n --_nys-avatar-size: var(--nys-avatar-size, var(--nys-font-size-6xl, 36px));\n --_nys-avatar-shape: var(--nys-radius-round, 1776px);\n --_nys-avatar-border-color: var(--nys-color-ink-reverse, #fff);\n --_nys-avatar-border-size: var(--nys-border-width-sm, 1px);\n --_nys-avatar-width: var(--nys-font-size-6xl, 36px);\n --_nys-avatar-color: var(--nys-color-theme, #154973);\n --_nys-avatar-background-color: var(--nys-color-theme-weaker, #eff6fb);\n --_nys-avatar-outline-color: var(--nys-color-focus, #004dd1);\n --_nys-avatar-outline-width: var(--nys-border-width-md, 2px);\n --_nys-avatar-outline-offset: var(--nys-space-2px, 2px);\n }\n\n .nys-avatar {\n display: inline-block;\n }\n\n .nys-avatar__component {\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: var(--_nys-avatar-border-radius);\n width: var(--_nys-avatar-size);\n height: var(--_nys-avatar-size);\n font-size: var(--_nys-avatar-size);\n\n overflow: hidden;\n box-sizing: border-box;\n color: var(--_nys-avatar-color);\n background-color: var(--_nys-avatar-background-color);\n border: var(--_nys-avatar-border-size) solid var(--_nys-avatar-border-color);\n outline-offset: var(--_nys-avatar-outline-offset);\n transition: all 0.15s ease-in-out;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n\n /* Hover/Active states/Disabled */\n :host([interactive]) .nys-avatar__component:hover,\n :host([interactive]) .nys-avatar__component:active {\n --_nys-avatar-color: var(\n --nys-color-text-reverse,\n --nys-color-ink-reverse,\n #fff\n );\n cursor: pointer;\n }\n\n :host([interactive]) .nys-avatar__component:hover {\n --_nys-avatar-background-color: var(--nys-color-theme-mid, #457aa5);\n }\n\n :host([interactive]) .nys-avatar__component:active {\n --_nys-avatar-background-color: var(--nys-color-theme-strong, #0e324f);\n }\n\n :host([disabled]) .nys-avatar__component {\n --_nys-avatar-color: var(--nys-color-text-disabled, #bec0c1);\n --_nys-avatar-background-color: var(--nys-color-neutral-10, #f6f6f6);\n cursor: not-allowed;\n }\n\n :host([disabled]) .nys-avatar__component:focus-within {\n outline: solid var(--_nys-avatar-outline-width)\n var(--_nys-avatar-outline-color);\n }\n\n div[part=\"nys-avatar__icon\"] {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n /* Content styles */\n .nys-avatar__initials {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n font-size: calc(var(--_nys-avatar-width) * 0.5);\n font-weight: bold;\n text-transform: uppercase;\n }\n\n .nys-avatar__image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .nys-avatar__icon {\n width: 100%;\n height: 100%;\n fill: currentColor;\n }\n`;\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=y(3),T=Symbol.for(\"lit-noChange\"),E=Symbol.for(\"lit-nothing\"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(t,i){if(!a(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[P(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?H:\"?\"===e[1]?I:\"@\"===e[1]?L:k}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=C.nextNode(),o++)}return C.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||\"\"===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}}class I extends k{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const Z={M:e,P:h,A:o,C:1,L:V,R:M,D:u,V:S,I:R,H:k,N:I,U:L,B:H,F:z},j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push(\"3.3.1\");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{Z as _$LH,x as html,w as mathml,T as noChange,E as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","import { LitElement, html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport styles from \"./nys-avatar.styles\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\n\nlet avatarIdCounter = 0; // Counter for generating unique IDs\n\nexport class NysAvatar extends LitElement {\n static styles = styles;\n\n /********************** Properties **********************/\n @property({ type: String }) id = \"\";\n @property({ type: String }) ariaLabel = \"\";\n @property({ type: String }) image = \"\";\n @property({ type: String }) initials = \"\";\n @property({ type: String }) icon = \"\";\n @property({ type: String }) color = \"\";\n @property({ type: Boolean, reflect: true }) interactive = false;\n @property({ type: Boolean, reflect: true }) disabled = false;\n @property({ type: Boolean, reflect: true }) lazy = false;\n @state() private _slotHasContent = false;\n\n /******************** Functions ********************/\n // Generate a unique ID if one is not provided\n connectedCallback() {\n super.connectedCallback();\n if (!this.id) {\n this.id = `nys-avatar-${Date.now()}-${avatarIdCounter++}`;\n }\n }\n\n private async _handleSlotChange() {\n const slot = this.shadowRoot?.querySelector<HTMLSlotElement>(\"slot\");\n if (!slot) {\n this._slotHasContent = false;\n return;\n }\n\n // Wait a tick to ensure slot assignment settled\n await Promise.resolve();\n\n const assignedNodes = slot\n .assignedNodes({ flatten: true })\n .filter(\n (node) =>\n node.nodeType === Node.ELEMENT_NODE ||\n (node.nodeType === Node.TEXT_NODE && node.textContent?.trim()),\n );\n\n this._slotHasContent = assignedNodes.length > 0;\n }\n\n // This function accounts for user set \"color\" prop and return the appropriate foreground contrast.\n private getContrastForeground() {\n /** Default NYSDS CSS vars for foreground.\n * Contrast must return =>\n * IF icon: \"--nys-color-ink-reverse\" or \"--nys-color-ink\"\n * If initials: \"--nys-color-text-reverse\" or \"--nys-color-text\"\n */\n const fgIconDark = \"var(--nys-color-ink, #000)\";\n const fgIconLight = \"var(--nys-color-ink-reverse, #fff)\";\n const fgInitialDark = \"var(--nys-color-text, #000)\";\n const fgInitialLight = \"var(--nys-color-text-reverse, #fff)\";\n\n if (!this.color) return;\n\n // Create a temporary element to compute luminance (this is in case user pass in \"var(--nys-color-stuff)\")\n const div = document.createElement(\"div\");\n div.style.color = this.color;\n document.body.appendChild(div);\n const computedColor = getComputedStyle(div).color;\n document.body.removeChild(div);\n\n // Parse RGB\n const match = computedColor.match(/\\d+/g);\n if (!match) return;\n\n const r = Number(match[0]);\n const g = Number(match[1]);\n const b = Number(match[2]);\n\n // Calculate relative luminance\n const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;\n\n const isDark = luminance < 0.5;\n if (this.initials?.length > 0) {\n return isDark ? fgInitialLight : fgInitialDark;\n } else {\n return isDark ? fgIconLight : fgIconDark;\n }\n }\n\n render() {\n return html`\n <label class=\"nys-avatar\" id=${this.id}>\n <div class=\"nys-avatar__content\">\n <div\n part=\"nys-avatar\"\n class=\"nys-avatar__component\"\n style=${this.color\n ? `--_nys-avatar-background-color: ${this.color}; color: ${this.getContrastForeground()}`\n : \"\"}\n role=${ifDefined(\n this.interactive ? \"button\" : this.image ? undefined : \"img\",\n )}\n aria-label=${ifDefined(\n this.image\n ? undefined\n : this.ariaLabel\n ? this.ariaLabel\n : \"avatar\",\n )}\n tabindex=${ifDefined(\n this.interactive && !this.disabled ? 0 : undefined,\n )}\n >\n ${this.image?.length > 0\n ? html`<img\n part=\"nys-avatar__image\"\n class=\"nys-avatar__image\"\n src=${this.image}\n alt=${this.ariaLabel || \"avatar\"}\n loading=${this.lazy ? \"lazy\" : \"eager\"}\n />`\n : this.initials?.length > 0\n ? html`<span\n part=\"nys-avatar__initials\"\n class=\"nys-avatar__initials\"\n aria-hidden=\"true\"\n >${this.initials}</span\n >`\n : html`<div part=\"nys-avatar__icon\">\n <slot @slotchange=${this._handleSlotChange}></slot>\n ${!this._slotHasContent\n ? html`<nys-icon\n label=\"nys-avatar__icon\"\n name=${this.icon?.length > 0\n ? this.icon\n : \"account_circle\"}\n ></nys-icon>`\n : null}\n </div>`}\n </div>\n </div>\n </label>\n `;\n }\n}\n\nif (!customElements.get(\"nys-avatar\")) {\n customElements.define(\"nys-avatar\", NysAvatar);\n}\n"],"names":["t","e","s","o","n$3","r","n","S","c","i","h","a","l","p","d","u","f","b","y","styles","css","v","_","m","g","$","T","E","A","C","P","V","x","N","H","I","L","k","M","R","z","j","avatarIdCounter","_NysAvatar","LitElement","slot","assignedNodes","node","fgIconDark","fgIconLight","fgInitialDark","fgInitialLight","div","computedColor","match","isDark","html","ifDefined","NysAvatar","__decorateClass","property","state"],"mappings":"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","x_google_ignoreList":[0,1,2,3,5,6]}
1
+ {"version":3,"file":"nys-avatar.js","sources":["../src/nys-avatar.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\n// @ts-ignore: SCSS module imported via bundler as inline\nimport styles from \"./nys-avatar.scss?inline\";\n\nlet avatarIdCounter = 0; // Counter for generating unique IDs\n\nexport class NysAvatar extends LitElement {\n static styles = unsafeCSS(styles);\n\n /********************** Properties **********************/\n @property({ type: String, reflect: true }) id = \"\";\n @property({ type: String }) ariaLabel = \"\";\n @property({ type: String }) image = \"\";\n @property({ type: String }) initials = \"\";\n @property({ type: String }) icon = \"\";\n @property({ type: String }) color = \"\";\n @property({ type: Boolean, reflect: true }) interactive = false;\n @property({ type: Boolean, reflect: true }) disabled = false;\n @property({ type: Boolean, reflect: true }) lazy = false;\n @state() private _slotHasContent = false;\n\n /******************** Functions ********************/\n // Generate a unique ID if one is not provided\n connectedCallback() {\n super.connectedCallback();\n if (!this.id) {\n this.id = `nys-avatar-${Date.now()}-${avatarIdCounter++}`;\n }\n }\n\n private async _handleSlotChange() {\n const slot = this.shadowRoot?.querySelector<HTMLSlotElement>(\"slot\");\n if (!slot) {\n this._slotHasContent = false;\n return;\n }\n\n // Wait a tick to ensure slot assignment settled\n await Promise.resolve();\n\n const assignedNodes = slot\n .assignedNodes({ flatten: true })\n .filter(\n (node) =>\n node.nodeType === Node.ELEMENT_NODE ||\n (node.nodeType === Node.TEXT_NODE && node.textContent?.trim()),\n );\n\n this._slotHasContent = assignedNodes.length > 0;\n }\n\n // This function accounts for user set \"color\" prop and return the appropriate foreground contrast.\n private getContrastForeground() {\n /** Default NYSDS CSS vars for foreground.\n * Contrast must return =>\n * IF icon: \"--nys-color-ink-reverse\" or \"--nys-color-ink\"\n * If initials: \"--nys-color-text-reverse\" or \"--nys-color-text\"\n */\n const fgIconDark = \"var(--nys-color-ink, #000)\";\n const fgIconLight = \"var(--nys-color-ink-reverse, #fff)\";\n const fgInitialDark = \"var(--nys-color-text, #000)\";\n const fgInitialLight = \"var(--nys-color-text-reverse, #fff)\";\n\n if (!this.color) return;\n\n // Create a temporary element to compute luminance (this is in case user pass in \"var(--nys-color-stuff)\")\n const div = document.createElement(\"div\");\n div.style.color = this.color;\n document.body.appendChild(div);\n const computedColor = getComputedStyle(div).color;\n document.body.removeChild(div);\n\n // Parse RGB\n const match = computedColor.match(/\\d+/g);\n if (!match) return;\n\n const r = Number(match[0]);\n const g = Number(match[1]);\n const b = Number(match[2]);\n\n // Calculate relative luminance\n const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;\n\n const isDark = luminance < 0.5;\n if (this.initials?.length > 0) {\n return isDark ? fgInitialLight : fgInitialDark;\n } else {\n return isDark ? fgIconLight : fgIconDark;\n }\n }\n\n render() {\n return html`\n <div class=\"nys-avatar\">\n <div class=\"nys-avatar__content\">\n <div\n part=\"nys-avatar\"\n class=\"nys-avatar__component\"\n style=${this.color\n ? `--_nys-avatar-background-color: ${this.color}; color: ${this.getContrastForeground()}`\n : \"\"}\n role=${ifDefined(\n this.interactive ? \"button\" : this.image ? undefined : \"img\",\n )}\n aria-label=${ifDefined(\n this.image\n ? undefined\n : this.ariaLabel\n ? this.ariaLabel\n : \"avatar\",\n )}\n tabindex=${ifDefined(\n this.interactive && !this.disabled ? 0 : undefined,\n )}\n >\n ${this.image?.length > 0\n ? html`<img\n part=\"nys-avatar__image\"\n class=\"nys-avatar__image\"\n src=${this.image}\n alt=${this.ariaLabel || \"avatar\"}\n loading=${this.lazy ? \"lazy\" : \"eager\"}\n />`\n : this.initials?.length > 0\n ? html`<span\n part=\"nys-avatar__initials\"\n class=\"nys-avatar__initials\"\n aria-hidden=\"true\"\n >${this.initials}</span\n >`\n : html`<div part=\"nys-avatar__icon\">\n <slot @slotchange=${this._handleSlotChange}></slot>\n ${!this._slotHasContent\n ? html`<nys-icon\n label=\"nys-avatar__icon\"\n name=${this.icon?.length > 0\n ? this.icon\n : \"account_circle\"}\n ></nys-icon>`\n : null}\n </div>`}\n </div>\n </div>\n </div>\n `;\n }\n}\n\nif (!customElements.get(\"nys-avatar\")) {\n customElements.define(\"nys-avatar\", NysAvatar);\n}\n"],"names":["avatarIdCounter","_NysAvatar","LitElement","slot","assignedNodes","node","fgIconDark","fgIconLight","fgInitialDark","fgInitialLight","div","computedColor","match","r","g","b","isDark","html","ifDefined","unsafeCSS","styles","NysAvatar","__decorateClass","property","state"],"mappings":";;;;;;;;;AAMA,IAAIA,IAAkB;AAEf,MAAMC,IAAN,MAAMA,UAAkBC,EAAW;AAAA,EAAnC,cAAA;AAAA,UAAA,GAAA,SAAA,GAIsC,KAAA,KAAK,IACpB,KAAA,YAAY,IACZ,KAAA,QAAQ,IACR,KAAA,WAAW,IACX,KAAA,OAAO,IACP,KAAA,QAAQ,IACQ,KAAA,cAAc,IACd,KAAA,WAAW,IACX,KAAA,OAAO,IAC1C,KAAQ,kBAAkB;AAAA,EAAA;AAAA;AAAA;AAAA,EAInC,oBAAoB;AAClB,UAAM,kBAAA,GACD,KAAK,OACR,KAAK,KAAK,cAAc,KAAK,KAAK,IAAIF,GAAiB;AAAA,EAE3D;AAAA,EAEA,MAAc,oBAAoB;AAChC,UAAMG,IAAO,KAAK,YAAY,cAA+B,MAAM;AACnE,QAAI,CAACA,GAAM;AACT,WAAK,kBAAkB;AACvB;AAAA,IACF;AAGA,UAAM,QAAQ,QAAA;AAEd,UAAMC,IAAgBD,EACnB,cAAc,EAAE,SAAS,GAAA,CAAM,EAC/B;AAAA,MACC,CAACE,MACCA,EAAK,aAAa,KAAK,gBACtBA,EAAK,aAAa,KAAK,aAAaA,EAAK,aAAa,KAAA;AAAA,IAAK;AAGlE,SAAK,kBAAkBD,EAAc,SAAS;AAAA,EAChD;AAAA;AAAA,EAGQ,wBAAwB;AAM9B,UAAME,IAAa,8BACbC,IAAc,sCACdC,IAAgB,+BAChBC,IAAiB;AAEvB,QAAI,CAAC,KAAK,MAAO;AAGjB,UAAMC,IAAM,SAAS,cAAc,KAAK;AACxC,IAAAA,EAAI,MAAM,QAAQ,KAAK,OACvB,SAAS,KAAK,YAAYA,CAAG;AAC7B,UAAMC,IAAgB,iBAAiBD,CAAG,EAAE;AAC5C,aAAS,KAAK,YAAYA,CAAG;AAG7B,UAAME,IAAQD,EAAc,MAAM,MAAM;AACxC,QAAI,CAACC,EAAO;AAEZ,UAAMC,IAAI,OAAOD,EAAM,CAAC,CAAC,GACnBE,IAAI,OAAOF,EAAM,CAAC,CAAC,GACnBG,IAAI,OAAOH,EAAM,CAAC,CAAC,GAKnBI,KAFa,QAAQH,IAAI,QAAQC,IAAI,QAAQC,KAAK,MAE7B;AAC3B,WAAI,KAAK,UAAU,SAAS,IACnBC,IAASP,IAAiBD,IAE1BQ,IAAST,IAAcD;AAAA,EAElC;AAAA,EAEA,SAAS;AACP,WAAOW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAMS,KAAK,QACT,mCAAmC,KAAK,KAAK,YAAY,KAAK,sBAAA,CAAuB,KACrF,EAAE;AAAA,mBACCC;AAAA,MACL,KAAK,cAAc,WAAW,KAAK,QAAQ,SAAY;AAAA,IAAA,CACxD;AAAA,yBACYA;AAAA,MACX,KAAK,QACD,SACA,KAAK,YACH,KAAK,YACL;AAAA,IAAA,CACP;AAAA,uBACUA;AAAA,MACT,KAAK,eAAe,CAAC,KAAK,WAAW,IAAI;AAAA,IAAA,CAC1C;AAAA;AAAA,cAEC,KAAK,OAAO,SAAS,IACnBD;AAAA;AAAA;AAAA,wBAGQ,KAAK,KAAK;AAAA,wBACV,KAAK,aAAa,QAAQ;AAAA,4BACtB,KAAK,OAAO,SAAS,OAAO;AAAA,sBAExC,KAAK,UAAU,SAAS,IACtBA;AAAA;AAAA;AAAA;AAAA,uBAIK,KAAK,QAAQ;AAAA,uBAElBA;AAAA,wCACsB,KAAK,iBAAiB;AAAA,sBACvC,KAAK,kBAOJ,OANAA;AAAA;AAAA,iCAES,KAAK,MAAM,SAAS,IACvB,KAAK,OACL,gBAAgB;AAAA,qCAElB;AAAA,yBACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAKvB;AACF;AA3IEhB,EAAO,SAASkB,EAAUC,CAAM;AAD3B,IAAMC,IAANpB;AAIsCqB,EAAA;AAAA,EAA1CC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAJ9BF,EAIgC,WAAA,IAAA;AACfC,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GALfF,EAKiB,WAAA,WAAA;AACAC,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GANfF,EAMiB,WAAA,OAAA;AACAC,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAPfF,EAOiB,WAAA,UAAA;AACAC,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GARfF,EAQiB,WAAA,MAAA;AACAC,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GATfF,EASiB,WAAA,OAAA;AACgBC,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAV/BF,EAUiC,WAAA,aAAA;AACAC,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAX/BF,EAWiC,WAAA,UAAA;AACAC,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAZ/BF,EAYiC,WAAA,MAAA;AAC3BC,EAAA;AAAA,EAAhBE,EAAA;AAAM,GAbIH,EAaM,WAAA,iBAAA;AAiId,eAAe,IAAI,YAAY,KAClC,eAAe,OAAO,cAAcA,CAAS;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nysds/nys-avatar",
3
- "version": "1.11.2",
3
+ "version": "1.11.3",
4
4
  "description": "The Avatar component from the NYS Design System.",
5
5
  "module": "dist/nys-avatar.js",
6
6
  "exports": {
@@ -22,12 +22,12 @@
22
22
  "lit-analyze": "lit-analyzer '**/*.ts'"
23
23
  },
24
24
  "dependencies": {
25
- "@nysds/nys-icon": "^1.11.2"
25
+ "@nysds/nys-icon": "^1.11.3"
26
26
  },
27
27
  "devDependencies": {
28
28
  "lit": "^3.3.1",
29
- "typescript": "^5.7.2",
30
- "vite": "^7.1.2"
29
+ "typescript": "^5.9.3",
30
+ "vite": "^7.1.12"
31
31
  },
32
32
  "keywords": [
33
33
  "new-york-state",
package/dist/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./nys-avatar";
@@ -1,20 +0,0 @@
1
- import { LitElement } from "lit";
2
- export declare class NysAvatar extends LitElement {
3
- static styles: import("lit").CSSResult;
4
- /********************** Properties **********************/
5
- id: string;
6
- ariaLabel: string;
7
- image: string;
8
- initials: string;
9
- icon: string;
10
- color: string;
11
- interactive: boolean;
12
- disabled: boolean;
13
- lazy: boolean;
14
- private _slotHasContent;
15
- /******************** Functions ********************/
16
- connectedCallback(): void;
17
- private _handleSlotChange;
18
- private getContrastForeground;
19
- render(): import("lit-html").TemplateResult<1>;
20
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,2 +0,0 @@
1
- declare const _default: import("lit").CSSResult;
2
- export default _default;