@nysds/nys-alert 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.
package/dist/nys-alert.js CHANGED
@@ -1,793 +1,30 @@
1
- import { css as at, LitElement as lt, html as g } from "lit";
2
- /*!
3
- * ▒█▄░▒█ ▒█░░▒█ ▒█▀▀▀█ ▒█▀▀▄ ▒█▀▀▀█
4
- * ▒█▒█▒█ ▒█▄▄▄█ ░▀▀▀▄▄ ▒█░▒█ ░▀▀▀▄▄
5
- * ▒█░░▀█ ░░▒█░░ ▒█▄▄▄█ ▒█▄▄▀ ▒█▄▄▄█
6
- *
7
- * Alert Component
8
- * Part of the New York State Design System
9
- * Repository: https://github.com/its-hcd/nysds
10
- * License: MIT
11
- */
12
- /**
13
- * @license
14
- * Copyright 2019 Google LLC
15
- * SPDX-License-Identifier: BSD-3-Clause
16
- */
17
- const T = globalThis, D = T.ShadowRoot && (T.ShadyCSS === void 0 || T.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, et = Symbol(), W = /* @__PURE__ */ new WeakMap();
18
- let ct = class {
19
- constructor(t, e, s) {
20
- if (this._$cssResult$ = !0, s !== et) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
21
- this.cssText = t, this.t = e;
22
- }
23
- get styleSheet() {
24
- let t = this.o;
25
- const e = this.t;
26
- if (D && t === void 0) {
27
- const s = e !== void 0 && e.length === 1;
28
- s && (t = W.get(e)), t === void 0 && ((this.o = t = new CSSStyleSheet()).replaceSync(this.cssText), s && W.set(e, t));
29
- }
30
- return t;
31
- }
32
- toString() {
33
- return this.cssText;
34
- }
35
- };
36
- const ht = (i) => new ct(typeof i == "string" ? i : i + "", void 0, et), dt = (i, t) => {
37
- if (D) i.adoptedStyleSheets = t.map(((e) => e instanceof CSSStyleSheet ? e : e.styleSheet));
38
- else for (const e of t) {
39
- const s = document.createElement("style"), r = T.litNonce;
40
- r !== void 0 && s.setAttribute("nonce", r), s.textContent = e.cssText, i.appendChild(s);
41
- }
42
- }, F = D ? (i) => i : (i) => i instanceof CSSStyleSheet ? ((t) => {
43
- let e = "";
44
- for (const s of t.cssRules) e += s.cssText;
45
- return ht(e);
46
- })(i) : i;
47
- /**
48
- * @license
49
- * Copyright 2017 Google LLC
50
- * SPDX-License-Identifier: BSD-3-Clause
51
- */
52
- const { is: pt, defineProperty: yt, getOwnPropertyDescriptor: ut, getOwnPropertyNames: _t, getOwnPropertySymbols: ft, getPrototypeOf: vt } = Object, L = globalThis, J = L.trustedTypes, gt = J ? J.emptyScript : "", $t = L.reactiveElementPolyfillSupport, C = (i, t) => i, U = { toAttribute(i, t) {
53
- switch (t) {
54
- case Boolean:
55
- i = i ? gt : null;
56
- break;
57
- case Object:
58
- case Array:
59
- i = i == null ? i : JSON.stringify(i);
60
- }
61
- return i;
62
- }, fromAttribute(i, t) {
63
- let e = i;
64
- switch (t) {
65
- case Boolean:
66
- e = i !== null;
67
- break;
68
- case Number:
69
- e = i === null ? null : Number(i);
70
- break;
71
- case Object:
72
- case Array:
73
- try {
74
- e = JSON.parse(i);
75
- } catch {
76
- e = null;
77
- }
78
- }
79
- return e;
80
- } }, B = (i, t) => !pt(i, t), K = { attribute: !0, type: String, converter: U, reflect: !1, useDefault: !1, hasChanged: B };
81
- Symbol.metadata ??= Symbol("metadata"), L.litPropertyMetadata ??= /* @__PURE__ */ new WeakMap();
82
- class S extends HTMLElement {
83
- static addInitializer(t) {
84
- this._$Ei(), (this.l ??= []).push(t);
85
- }
86
- static get observedAttributes() {
87
- return this.finalize(), this._$Eh && [...this._$Eh.keys()];
88
- }
89
- static createProperty(t, e = K) {
90
- 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) {
91
- const s = Symbol(), r = this.getPropertyDescriptor(t, s, e);
92
- r !== void 0 && yt(this.prototype, t, r);
93
- }
94
- }
95
- static getPropertyDescriptor(t, e, s) {
96
- const { get: r, set: o } = ut(this.prototype, t) ?? { get() {
97
- return this[e];
98
- }, set(n) {
99
- this[e] = n;
100
- } };
101
- return { get: r, set(n) {
102
- const l = r?.call(this);
103
- o?.call(this, n), this.requestUpdate(t, l, s);
104
- }, configurable: !0, enumerable: !0 };
105
- }
106
- static getPropertyOptions(t) {
107
- return this.elementProperties.get(t) ?? K;
108
- }
109
- static _$Ei() {
110
- if (this.hasOwnProperty(C("elementProperties"))) return;
111
- const t = vt(this);
112
- t.finalize(), t.l !== void 0 && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties);
113
- }
114
- static finalize() {
115
- if (this.hasOwnProperty(C("finalized"))) return;
116
- if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(C("properties"))) {
117
- const e = this.properties, s = [..._t(e), ...ft(e)];
118
- for (const r of s) this.createProperty(r, e[r]);
119
- }
120
- const t = this[Symbol.metadata];
121
- if (t !== null) {
122
- const e = litPropertyMetadata.get(t);
123
- if (e !== void 0) for (const [s, r] of e) this.elementProperties.set(s, r);
124
- }
125
- this._$Eh = /* @__PURE__ */ new Map();
126
- for (const [e, s] of this.elementProperties) {
127
- const r = this._$Eu(e, s);
128
- r !== void 0 && this._$Eh.set(r, e);
129
- }
130
- this.elementStyles = this.finalizeStyles(this.styles);
131
- }
132
- static finalizeStyles(t) {
133
- const e = [];
134
- if (Array.isArray(t)) {
135
- const s = new Set(t.flat(1 / 0).reverse());
136
- for (const r of s) e.unshift(F(r));
137
- } else t !== void 0 && e.push(F(t));
138
- return e;
139
- }
140
- static _$Eu(t, e) {
141
- const s = e.attribute;
142
- return s === !1 ? void 0 : typeof s == "string" ? s : typeof t == "string" ? t.toLowerCase() : void 0;
143
- }
144
- constructor() {
145
- super(), this._$Ep = void 0, this.isUpdatePending = !1, this.hasUpdated = !1, this._$Em = null, this._$Ev();
146
- }
147
- _$Ev() {
148
- this._$ES = new Promise(((t) => this.enableUpdating = t)), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), this.constructor.l?.forEach(((t) => t(this)));
149
- }
150
- addController(t) {
151
- (this._$EO ??= /* @__PURE__ */ new Set()).add(t), this.renderRoot !== void 0 && this.isConnected && t.hostConnected?.();
152
- }
153
- removeController(t) {
154
- this._$EO?.delete(t);
155
- }
156
- _$E_() {
157
- const t = /* @__PURE__ */ new Map(), e = this.constructor.elementProperties;
158
- for (const s of e.keys()) this.hasOwnProperty(s) && (t.set(s, this[s]), delete this[s]);
159
- t.size > 0 && (this._$Ep = t);
160
- }
161
- createRenderRoot() {
162
- const t = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
163
- return dt(t, this.constructor.elementStyles), t;
164
- }
165
- connectedCallback() {
166
- this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(!0), this._$EO?.forEach(((t) => t.hostConnected?.()));
167
- }
168
- enableUpdating(t) {
169
- }
170
- disconnectedCallback() {
171
- this._$EO?.forEach(((t) => t.hostDisconnected?.()));
172
- }
173
- attributeChangedCallback(t, e, s) {
174
- this._$AK(t, s);
175
- }
176
- _$ET(t, e) {
177
- const s = this.constructor.elementProperties.get(t), r = this.constructor._$Eu(t, s);
178
- if (r !== void 0 && s.reflect === !0) {
179
- const o = (s.converter?.toAttribute !== void 0 ? s.converter : U).toAttribute(e, s.type);
180
- this._$Em = t, o == null ? this.removeAttribute(r) : this.setAttribute(r, o), this._$Em = null;
181
- }
182
- }
183
- _$AK(t, e) {
184
- const s = this.constructor, r = s._$Eh.get(t);
185
- if (r !== void 0 && this._$Em !== r) {
186
- const o = s.getPropertyOptions(r), n = typeof o.converter == "function" ? { fromAttribute: o.converter } : o.converter?.fromAttribute !== void 0 ? o.converter : U;
187
- this._$Em = r;
188
- const l = n.fromAttribute(e, o.type);
189
- this[r] = l ?? this._$Ej?.get(r) ?? l, this._$Em = null;
190
- }
191
- }
192
- requestUpdate(t, e, s) {
193
- if (t !== void 0) {
194
- const r = this.constructor, o = this[t];
195
- if (s ??= r.getPropertyOptions(t), !((s.hasChanged ?? B)(o, e) || s.useDefault && s.reflect && o === this._$Ej?.get(t) && !this.hasAttribute(r._$Eu(t, s)))) return;
196
- this.C(t, e, s);
197
- }
198
- this.isUpdatePending === !1 && (this._$ES = this._$EP());
199
- }
200
- C(t, e, { useDefault: s, reflect: r, wrapped: o }, n) {
201
- 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)), r === !0 && this._$Em !== t && (this._$Eq ??= /* @__PURE__ */ new Set()).add(t));
202
- }
203
- async _$EP() {
204
- this.isUpdatePending = !0;
205
- try {
206
- await this._$ES;
207
- } catch (e) {
208
- Promise.reject(e);
209
- }
210
- const t = this.scheduleUpdate();
211
- return t != null && await t, !this.isUpdatePending;
212
- }
213
- scheduleUpdate() {
214
- return this.performUpdate();
215
- }
216
- performUpdate() {
217
- if (!this.isUpdatePending) return;
218
- if (!this.hasUpdated) {
219
- if (this.renderRoot ??= this.createRenderRoot(), this._$Ep) {
220
- for (const [r, o] of this._$Ep) this[r] = o;
221
- this._$Ep = void 0;
222
- }
223
- const s = this.constructor.elementProperties;
224
- if (s.size > 0) for (const [r, o] of s) {
225
- const { wrapped: n } = o, l = this[r];
226
- n !== !0 || this._$AL.has(r) || l === void 0 || this.C(r, void 0, o, l);
227
- }
228
- }
229
- let t = !1;
230
- const e = this._$AL;
231
- try {
232
- t = this.shouldUpdate(e), t ? (this.willUpdate(e), this._$EO?.forEach(((s) => s.hostUpdate?.())), this.update(e)) : this._$EM();
233
- } catch (s) {
234
- throw t = !1, this._$EM(), s;
235
- }
236
- t && this._$AE(e);
237
- }
238
- willUpdate(t) {
239
- }
240
- _$AE(t) {
241
- this._$EO?.forEach(((e) => e.hostUpdated?.())), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t);
242
- }
243
- _$EM() {
244
- this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = !1;
245
- }
246
- get updateComplete() {
247
- return this.getUpdateComplete();
248
- }
249
- getUpdateComplete() {
250
- return this._$ES;
251
- }
252
- shouldUpdate(t) {
253
- return !0;
254
- }
255
- update(t) {
256
- this._$Eq &&= this._$Eq.forEach(((e) => this._$ET(e, this[e]))), this._$EM();
257
- }
258
- updated(t) {
259
- }
260
- firstUpdated(t) {
261
- }
262
- }
263
- S.elementStyles = [], S.shadowRootOptions = { mode: "open" }, S[C("elementProperties")] = /* @__PURE__ */ new Map(), S[C("finalized")] = /* @__PURE__ */ new Map(), $t?.({ ReactiveElement: S }), (L.reactiveElementVersions ??= []).push("2.1.1");
264
- /**
265
- * @license
266
- * Copyright 2017 Google LLC
267
- * SPDX-License-Identifier: BSD-3-Clause
268
- */
269
- const mt = { attribute: !0, type: String, converter: U, reflect: !1, hasChanged: B }, bt = (i = mt, t, e) => {
270
- const { kind: s, metadata: r } = e;
271
- let o = globalThis.litPropertyMetadata.get(r);
272
- if (o === void 0 && globalThis.litPropertyMetadata.set(r, o = /* @__PURE__ */ new Map()), s === "setter" && ((i = Object.create(i)).wrapped = !0), o.set(e.name, i), s === "accessor") {
273
- const { name: n } = e;
274
- return { set(l) {
275
- const a = t.get.call(this);
276
- t.set.call(this, l), this.requestUpdate(n, a, i);
277
- }, init(l) {
278
- return l !== void 0 && this.C(n, void 0, i, l), l;
279
- } };
280
- }
281
- if (s === "setter") {
282
- const { name: n } = e;
283
- return function(l) {
284
- const a = this[n];
285
- t.call(this, l), this.requestUpdate(n, a, i);
286
- };
287
- }
288
- throw Error("Unsupported decorator location: " + s);
289
- };
290
- function _(i) {
291
- return (t, e) => typeof e == "object" ? bt(i, t, e) : ((s, r, o) => {
292
- const n = r.hasOwnProperty(o);
293
- return r.constructor.createProperty(o, s), n ? Object.getOwnPropertyDescriptor(r, o) : void 0;
294
- })(i, t, e);
295
- }
296
- /**
297
- * @license
298
- * Copyright 2017 Google LLC
299
- * SPDX-License-Identifier: BSD-3-Clause
300
- */
301
- function st(i) {
302
- return _({ ...i, state: !0, attribute: !1 });
303
- }
304
- const At = at`
305
- :host {
306
- /* Global Alert Styles */
307
- --_nys-alert-border-width: var(--nys-border-width-lg, 4px);
308
- --_nys-alert-border-radius: var(--nys-radius-md, 4px);
309
- --_nys-alert-color: var(
310
- --nys-alert-color,
311
- var(--nys-color-text, var(--nys-color-neutral-900, #1b1b1b))
312
- );
313
- --_nys-alert-color--link: var(
314
- --nys-alert-color--link,
315
- var(--nys-color-link, var(--nys-color-blue-600, #004dd1))
316
- );
317
- --_nys-alert-color--link--hover: var(
318
- --nys-alert-color--link--hover,
319
- var(--nys-color-link-strong, var(--nys-color-blue-700, #003ba1))
320
- );
321
- --_nys-alert-color--link--active: var(
322
- --nys-alert-color--link--active,
323
- var(--nys-color-link-strongest, var(--nys-color-blue-800, #002971))
324
- );
325
- --_nys-alert-padding: var(--nys-space-250, 20px);
326
- --_nys-alert-font-family: var(
327
- --nys-font-family-ui,
328
- var(
329
- --nys-font-family-sans,
330
- "Proxima Nova",
331
- "Helvetica Neue",
332
- "Helvetica",
333
- "Arial",
334
- sans-serif
335
- )
336
- );
337
- --_nys-alert-font-size: var(--nys-font-size-ui-md, 16px);
338
- --_nys-alert-line-height: var(--nys-font-lineheight-ui-md, 24px);
339
- --_nys-alert-letter-spacing: var(
340
- --nys-font-letterspacing-ui-md,
341
- var(--nys-font-letterspacing-400, 0.044px)
342
- );
343
- --_nys-alert-font-weight--regular: var(--nys-font-weight-regular, 400);
344
- --_nys-alert-font-weight--semibold: var(--nys-font-weight-semibold, 600);
345
-
346
- /* Border specifics */
347
- --_nys-alert-border-color: var(
348
- --nys-alert-border-color,
349
- var(--nys-color-base, var(--nys-color-neutral-600, #62666a))
350
- );
351
-
352
- /* Background type specifics */
353
- --_nys-alert-background-color: var(
354
- --nys-alert-background-color,
355
- var(--nys-color-base-weak, var(--nys-color-neutral-10, #f6f6f6))
356
- );
357
-
358
- /* Theme Icon */
359
- --_nys-alert-gap--icon: var(--nys-space-150, 12px);
360
- --_nys-alert-gap--text: var(--nys-space-50, 4px);
361
-
362
- /* Action Statement */
363
- --_nys-alert-gap--actions: var(--nys-space-150, 12px);
364
- }
365
-
366
- /* Main alert container */
367
- .nys-alert__container {
368
- display: flex;
369
- background-color: var(--_nys-alert-background-color);
370
- border-left: var(--_nys-alert-border-width) solid
371
- var(--_nys-alert-border-color);
372
- border-radius: var(--_nys-alert-border-radius);
373
- color: var(--_nys-alert-color);
374
- padding: var(--_nys-alert-padding);
375
- font-style: normal;
376
- font-family: var(--_nys-alert-font-family);
377
- font-size: var(--_nys-alert-font-size);
378
- line-height: var(--_nys-alert-line-height);
379
- letter-spacing: var(--_nys-alert-letter-spacing);
380
- gap: var(--_nys-alert-gap--icon);
381
- }
382
-
383
- p {
384
- margin: 0;
385
- }
386
-
387
- ::slotted(p) {
388
- margin-bottom: 0 !important;
389
- }
390
-
391
- /* Icon */
392
- .nys-alert__icon {
393
- margin-top: -1.5px;
394
- }
395
-
396
- /* Links */
397
- a,
398
- a:visited {
399
- font-weight: var(--_nys-alert-font-weight--semibold);
400
- font-size: var(--_nys-alert-font-size);
401
- color: var(--_nys-alert-color--link);
402
- }
403
- a:hover {
404
- color: var(--_nys-alert-color--link--hover);
405
- }
406
- a:active {
407
- color: var(--_nys-alert-color--link--active);
408
- }
409
-
410
- /* For HTML elements put into the slot */
411
- ::slotted(a) {
412
- color: var(--_nys-alert-color--link);
413
- }
414
-
415
- /* Handles both header and description text */
416
- .nys-alert__texts {
417
- position: relative;
418
- display: flex;
419
- flex-direction: column;
420
- flex: 1;
421
- gap: var(--_nys-alert-gap--text);
422
- }
423
-
424
- .nys-alert__header {
425
- margin: 0;
426
- font-weight: var(--_nys-alert-font-weight--semibold);
427
- }
428
-
429
- .nys-alert__text {
430
- font-weight: var(--_nys-alert-font-weight--regular);
431
- margin: 0;
432
- }
433
-
434
- /* For HTML elements put into the slot */
435
- ::slotted(*) {
436
- font-weight: var(--_nys-alert-font-weight--regular);
437
- margin: 0;
438
- }
439
-
440
- /* Centered variant: For no descriptions, we remove the <slot name="text"> via JS logic. In styling, centers the icon for a compact layout. */
441
- .nys-alert--centered {
442
- display: flex;
443
- align-items: center;
444
- }
445
- .nys-alert--centered .nys-alert__header {
446
- margin-bottom: -3px; /* Adjusts the header text to be centered */
447
- }
448
- .nys-alert--centered div[part="nys-alert__icon"] {
449
- margin-top: 0;
450
- display: flex;
451
- align-items: center;
452
- justify-content: center;
453
- }
454
-
455
- /* Action Statement */
456
- .nys-alert__actions {
457
- display: flex;
458
- gap: var(--_nys-alert-gap--actions);
459
- flex-wrap: wrap;
460
- }
461
-
462
- /* Dismiss Button */
463
- #dismiss-btn {
464
- margin-top: -8px;
465
- }
466
-
467
- /* Alert Types */
468
- :host([type="info"]) {
469
- --_nys-alert-border-color: var(
470
- --nys-alert-border-color,
471
- var(--nys-color-info, var(--nys-color-blue-600, #004dd1))
472
- );
473
- --_nys-alert-background-color: var(
474
- --nys-alert-background-color,
475
- var(--nys-color-info-weak, var(--nys-color-blue-50, #e5effa))
476
- );
477
- }
478
- :host([type="success"]) {
479
- --_nys-alert-border-color: var(
480
- --nys-alert-border-color,
481
- var(--nys-color-success, var(--nys-color-green-600, #1e752e))
482
- );
483
- --_nys-alert-background-color: var(
484
- --nys-alert-background-color,
485
- var(--nys-color-success-weak, var(--nys-color-green-50, #e8f1ea))
486
- );
487
- }
488
- :host([type="warning"]) {
489
- --_nys-alert-border-color: var(
490
- --nys-alert-border-color,
491
- var(--nys-color-warning, var(--nys-color-yellow-400, #face00))
492
- );
493
- --_nys-alert-background-color: var(
494
- --nys-alert-background-color,
495
- var(--nys-color-warning-weak, var(--nys-color-yellow-50, #fefae5))
496
- );
497
- }
498
- :host([type="danger"]) {
499
- --_nys-alert-border-color: var(
500
- --nys-alert-border-color,
501
- var(--nys-color-danger, var(--nys-color-red-600, #b52c2c))
502
- );
503
- --_nys-alert-background-color: var(
504
- --nys-alert-background-color,
505
- var(--nys-color-danger-weak, var(--nys-color-red-50, #f7eaea))
506
- );
507
- }
508
- :host([type="emergency"]) {
509
- --_nys-alert-border-color: var(
510
- --nys-alert-border-color,
511
- var(--nys-color-emergency, var(--nys-color-red-800, #721c1c))
512
- );
513
- --_nys-alert-background-color: var(
514
- --nys-alert-background-color,
515
- var(--nys-color-emergency, var(--nys-color-red-800, #721c1c))
516
- );
517
- --_nys-alert-color: var(
518
- --nys-alert-color,
519
- var(--nys-color-text-reverse, var(--nys-color-white, #fff))
520
- );
521
- --_nys-alert-color--link: var(
522
- --nys-alert-color--link,
523
- var(--nys-color-link-reverse-neutral, var(--nys-color-white, #fff))
524
- );
525
- --_nys-alert-color--link--hover: var(
526
- --nys-alert-color--link--hover,
527
- var(--nys-color-link-reverse-neutral, var(--nys-color-white, #fff))
528
- );
529
- --_nys-alert-color--link--active: var(
530
- --nys-alert-color--link--active,
531
- var(--nys-color-link-reverse-neutral, var(--nys-color-white, #fff))
532
- );
533
- }
534
- :host([type="emergency"]) a:hover {
535
- text-decoration-thickness: 2px;
536
- }
537
- :host([type="emergency"]) a:active {
538
- text-decoration-thickness: 3px;
539
- }
540
- `;
541
- /**
542
- * @license
543
- * Copyright 2017 Google LLC
544
- * SPDX-License-Identifier: BSD-3-Clause
545
- */
546
- const q = globalThis, O = q.trustedTypes, Y = O ? O.createPolicy("lit-html", { createHTML: (i) => i }) : void 0, rt = "$lit$", $ = `lit$${Math.random().toFixed(9).slice(2)}$`, it = "?" + $, wt = `<${it}>`, w = document, M = () => w.createComment(""), k = (i) => i === null || typeof i != "object" && typeof i != "function", V = Array.isArray, Et = (i) => V(i) || typeof i?.[Symbol.iterator] == "function", j = `[
547
- \f\r]`, x = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, Z = /-->/g, G = />/g, b = RegExp(`>|${j}(?:([^\\s"'>=/]+)(${j}*=${j}*(?:[^
548
- \f\r"'\`<>=]|("|')|))|$)`, "g"), X = /'/g, Q = /"/g, ot = /^(?:script|style|textarea|title)$/i, P = Symbol.for("lit-noChange"), h = Symbol.for("lit-nothing"), tt = /* @__PURE__ */ new WeakMap(), A = w.createTreeWalker(w, 129);
549
- function nt(i, t) {
550
- if (!V(i) || !i.hasOwnProperty("raw")) throw Error("invalid template strings array");
551
- return Y !== void 0 ? Y.createHTML(t) : t;
552
- }
553
- const St = (i, t) => {
554
- const e = i.length - 1, s = [];
555
- let r, o = t === 2 ? "<svg>" : t === 3 ? "<math>" : "", n = x;
556
- for (let l = 0; l < e; l++) {
557
- const a = i[l];
558
- let d, p, c = -1, f = 0;
559
- for (; f < a.length && (n.lastIndex = f, p = n.exec(a), p !== null); ) f = n.lastIndex, n === x ? p[1] === "!--" ? n = Z : p[1] !== void 0 ? n = G : p[2] !== void 0 ? (ot.test(p[2]) && (r = RegExp("</" + p[2], "g")), n = b) : p[3] !== void 0 && (n = b) : n === b ? p[0] === ">" ? (n = r ?? x, c = -1) : p[1] === void 0 ? c = -2 : (c = n.lastIndex - p[2].length, d = p[1], n = p[3] === void 0 ? b : p[3] === '"' ? Q : X) : n === Q || n === X ? n = b : n === Z || n === G ? n = x : (n = b, r = void 0);
560
- const v = n === b && i[l + 1].startsWith("/>") ? " " : "";
561
- o += n === x ? a + wt : c >= 0 ? (s.push(d), a.slice(0, c) + rt + a.slice(c) + $ + v) : a + $ + (c === -2 ? l : v);
562
- }
563
- return [nt(i, o + (i[e] || "<?>") + (t === 2 ? "</svg>" : t === 3 ? "</math>" : "")), s];
564
- };
565
- class N {
566
- constructor({ strings: t, _$litType$: e }, s) {
567
- let r;
568
- this.parts = [];
569
- let o = 0, n = 0;
570
- const l = t.length - 1, a = this.parts, [d, p] = St(t, e);
571
- if (this.el = N.createElement(d, s), A.currentNode = this.el.content, e === 2 || e === 3) {
572
- const c = this.el.content.firstChild;
573
- c.replaceWith(...c.childNodes);
574
- }
575
- for (; (r = A.nextNode()) !== null && a.length < l; ) {
576
- if (r.nodeType === 1) {
577
- if (r.hasAttributes()) for (const c of r.getAttributeNames()) if (c.endsWith(rt)) {
578
- const f = p[n++], v = r.getAttribute(c).split($), H = /([.?@])?(.*)/.exec(f);
579
- a.push({ type: 1, index: o, name: H[2], strings: v, ctor: H[1] === "." ? Ct : H[1] === "?" ? kt : H[1] === "@" ? Pt : R }), r.removeAttribute(c);
580
- } else c.startsWith($) && (a.push({ type: 6, index: o }), r.removeAttribute(c));
581
- if (ot.test(r.tagName)) {
582
- const c = r.textContent.split($), f = c.length - 1;
583
- if (f > 0) {
584
- r.textContent = O ? O.emptyScript : "";
585
- for (let v = 0; v < f; v++) r.append(c[v], M()), A.nextNode(), a.push({ type: 2, index: ++o });
586
- r.append(c[f], M());
587
- }
588
- }
589
- } else if (r.nodeType === 8) if (r.data === it) a.push({ type: 2, index: o });
590
- else {
591
- let c = -1;
592
- for (; (c = r.data.indexOf($, c + 1)) !== -1; ) a.push({ type: 7, index: o }), c += $.length - 1;
593
- }
594
- o++;
595
- }
596
- }
597
- static createElement(t, e) {
598
- const s = w.createElement("template");
599
- return s.innerHTML = t, s;
600
- }
601
- }
602
- function E(i, t, e = i, s) {
603
- if (t === P) return t;
604
- let r = s !== void 0 ? e._$Co?.[s] : e._$Cl;
605
- const o = k(t) ? void 0 : t._$litDirective$;
606
- return r?.constructor !== o && (r?._$AO?.(!1), o === void 0 ? r = void 0 : (r = new o(i), r._$AT(i, e, s)), s !== void 0 ? (e._$Co ??= [])[s] = r : e._$Cl = r), r !== void 0 && (t = E(i, r._$AS(i, t.values), r, s)), t;
607
- }
608
- class xt {
609
- constructor(t, e) {
610
- this._$AV = [], this._$AN = void 0, this._$AD = t, this._$AM = e;
611
- }
612
- get parentNode() {
613
- return this._$AM.parentNode;
614
- }
615
- get _$AU() {
616
- return this._$AM._$AU;
617
- }
618
- u(t) {
619
- const { el: { content: e }, parts: s } = this._$AD, r = (t?.creationScope ?? w).importNode(e, !0);
620
- A.currentNode = r;
621
- let o = A.nextNode(), n = 0, l = 0, a = s[0];
622
- for (; a !== void 0; ) {
623
- if (n === a.index) {
624
- let d;
625
- a.type === 2 ? d = new I(o, o.nextSibling, this, t) : a.type === 1 ? d = new a.ctor(o, a.name, a.strings, this, t) : a.type === 6 && (d = new Nt(o, this, t)), this._$AV.push(d), a = s[++l];
626
- }
627
- n !== a?.index && (o = A.nextNode(), n++);
628
- }
629
- return A.currentNode = w, r;
630
- }
631
- p(t) {
632
- let e = 0;
633
- 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++;
634
- }
635
- }
636
- class I {
637
- get _$AU() {
638
- return this._$AM?._$AU ?? this._$Cv;
639
- }
640
- constructor(t, e, s, r) {
641
- this.type = 2, this._$AH = h, this._$AN = void 0, this._$AA = t, this._$AB = e, this._$AM = s, this.options = r, this._$Cv = r?.isConnected ?? !0;
642
- }
643
- get parentNode() {
644
- let t = this._$AA.parentNode;
645
- const e = this._$AM;
646
- return e !== void 0 && t?.nodeType === 11 && (t = e.parentNode), t;
647
- }
648
- get startNode() {
649
- return this._$AA;
650
- }
651
- get endNode() {
652
- return this._$AB;
653
- }
654
- _$AI(t, e = this) {
655
- t = E(this, t, e), k(t) ? t === h || t == null || t === "" ? (this._$AH !== h && this._$AR(), this._$AH = h) : t !== this._$AH && t !== P && this._(t) : t._$litType$ !== void 0 ? this.$(t) : t.nodeType !== void 0 ? this.T(t) : Et(t) ? this.k(t) : this._(t);
656
- }
657
- O(t) {
658
- return this._$AA.parentNode.insertBefore(t, this._$AB);
659
- }
660
- T(t) {
661
- this._$AH !== t && (this._$AR(), this._$AH = this.O(t));
662
- }
663
- _(t) {
664
- this._$AH !== h && k(this._$AH) ? this._$AA.nextSibling.data = t : this.T(w.createTextNode(t)), this._$AH = t;
665
- }
666
- $(t) {
667
- const { values: e, _$litType$: s } = t, r = typeof s == "number" ? this._$AC(t) : (s.el === void 0 && (s.el = N.createElement(nt(s.h, s.h[0]), this.options)), s);
668
- if (this._$AH?._$AD === r) this._$AH.p(e);
669
- else {
670
- const o = new xt(r, this), n = o.u(this.options);
671
- o.p(e), this.T(n), this._$AH = o;
672
- }
673
- }
674
- _$AC(t) {
675
- let e = tt.get(t.strings);
676
- return e === void 0 && tt.set(t.strings, e = new N(t)), e;
677
- }
678
- k(t) {
679
- V(this._$AH) || (this._$AH = [], this._$AR());
680
- const e = this._$AH;
681
- let s, r = 0;
682
- for (const o of t) r === e.length ? e.push(s = new I(this.O(M()), this.O(M()), this, this.options)) : s = e[r], s._$AI(o), r++;
683
- r < e.length && (this._$AR(s && s._$AB.nextSibling, r), e.length = r);
684
- }
685
- _$AR(t = this._$AA.nextSibling, e) {
686
- for (this._$AP?.(!1, !0, e); t !== this._$AB; ) {
687
- const s = t.nextSibling;
688
- t.remove(), t = s;
689
- }
690
- }
691
- setConnected(t) {
692
- this._$AM === void 0 && (this._$Cv = t, this._$AP?.(t));
693
- }
694
- }
695
- class R {
696
- get tagName() {
697
- return this.element.tagName;
698
- }
699
- get _$AU() {
700
- return this._$AM._$AU;
701
- }
702
- constructor(t, e, s, r, o) {
703
- this.type = 1, this._$AH = h, this._$AN = void 0, this.element = t, this.name = e, this._$AM = r, this.options = o, s.length > 2 || s[0] !== "" || s[1] !== "" ? (this._$AH = Array(s.length - 1).fill(new String()), this.strings = s) : this._$AH = h;
704
- }
705
- _$AI(t, e = this, s, r) {
706
- const o = this.strings;
707
- let n = !1;
708
- if (o === void 0) t = E(this, t, e, 0), n = !k(t) || t !== this._$AH && t !== P, n && (this._$AH = t);
709
- else {
710
- const l = t;
711
- let a, d;
712
- for (t = o[0], a = 0; a < o.length - 1; a++) d = E(this, l[s + a], e, a), d === P && (d = this._$AH[a]), n ||= !k(d) || d !== this._$AH[a], d === h ? t = h : t !== h && (t += (d ?? "") + o[a + 1]), this._$AH[a] = d;
713
- }
714
- n && !r && this.j(t);
715
- }
716
- j(t) {
717
- t === h ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? "");
718
- }
719
- }
720
- class Ct extends R {
721
- constructor() {
722
- super(...arguments), this.type = 3;
723
- }
724
- j(t) {
725
- this.element[this.name] = t === h ? void 0 : t;
726
- }
727
- }
728
- class kt extends R {
729
- constructor() {
730
- super(...arguments), this.type = 4;
731
- }
732
- j(t) {
733
- this.element.toggleAttribute(this.name, !!t && t !== h);
734
- }
735
- }
736
- class Pt extends R {
737
- constructor(t, e, s, r, o) {
738
- super(t, e, s, r, o), this.type = 5;
739
- }
740
- _$AI(t, e = this) {
741
- if ((t = E(this, t, e, 0) ?? h) === P) return;
742
- const s = this._$AH, r = t === h && s !== h || t.capture !== s.capture || t.once !== s.once || t.passive !== s.passive, o = t !== h && (s === h || r);
743
- r && this.element.removeEventListener(this.name, this, s), o && this.element.addEventListener(this.name, this, t), this._$AH = t;
744
- }
745
- handleEvent(t) {
746
- typeof this._$AH == "function" ? this._$AH.call(this.options?.host ?? this.element, t) : this._$AH.handleEvent(t);
747
- }
748
- }
749
- class Nt {
750
- constructor(t, e, s) {
751
- this.element = t, this.type = 6, this._$AN = void 0, this._$AM = e, this.options = s;
752
- }
753
- get _$AU() {
754
- return this._$AM._$AU;
755
- }
756
- _$AI(t) {
757
- E(this, t);
758
- }
759
- }
760
- const Ht = q.litHtmlPolyfillSupport;
761
- Ht?.(N, I), (q.litHtmlVersions ??= []).push("3.3.1");
762
- /**
763
- * @license
764
- * Copyright 2018 Google LLC
765
- * SPDX-License-Identifier: BSD-3-Clause
766
- */
767
- const z = (i) => i ?? h;
768
- var Tt = Object.defineProperty, Ut = Object.getOwnPropertyDescriptor, u = (i, t, e, s) => {
769
- for (var r = s > 1 ? void 0 : s ? Ut(t, e) : t, o = i.length - 1, n; o >= 0; o--)
770
- (n = i[o]) && (r = (s ? n(t, e, r) : n(r)) || r);
771
- return s && r && Tt(t, e, r), r;
1
+ import { LitElement as h, unsafeCSS as _, html as n } from "lit";
2
+ import { property as o, state as v } from "lit/decorators.js";
3
+ import { ifDefined as d } from "lit/directives/if-defined.js";
4
+ const g = ':host{--_nys-alert-border-width: var(--nys-border-width-lg, 4px);--_nys-alert-border-radius: var(--nys-radius-md, 4px);--_nys-alert-color: var( --nys-alert-color, var(--nys-color-text, var(--nys-color-neutral-900, #1b1b1b)) );--_nys-alert-color--link: var( --nys-alert-color--link, var(--nys-color-link, var(--nys-color-blue-600, #004dd1)) );--_nys-alert-color--link--hover: var( --nys-alert-color--link--hover, var(--nys-color-link-strong, var(--nys-color-blue-700, #003ba1)) );--_nys-alert-color--link--active: var( --nys-alert-color--link--active, var(--nys-color-link-strongest, var(--nys-color-blue-800, #002971)) );--_nys-alert-padding: var(--nys-space-250, 20px);--_nys-alert-font-family: var( --nys-font-family-ui, var( --nys-font-family-sans, "Proxima Nova", "Helvetica Neue", "Helvetica", "Arial", sans-serif ) );--_nys-alert-font-size: var(--nys-font-size-ui-md, 16px);--_nys-alert-line-height: var(--nys-font-lineheight-ui-md, 24px);--_nys-alert-letter-spacing: var( --nys-font-letterspacing-ui-md, var(--nys-font-letterspacing-400, .044px) );--_nys-alert-font-weight--regular: var(--nys-font-weight-regular, 400);--_nys-alert-font-weight--semibold: var(--nys-font-weight-semibold, 600);--_nys-alert-border-color: var( --nys-alert-border-color, var(--nys-color-base, var(--nys-color-neutral-600, #62666a)) );--_nys-alert-background-color: var( --nys-alert-background-color, var(--nys-color-base-weak, var(--nys-color-neutral-10, #f6f6f6)) );--_nys-alert-gap--icon: var(--nys-space-150, 12px);--_nys-alert-gap--text: var(--nys-space-50, 4px);--_nys-alert-gap--actions: var(--nys-space-150, 12px)}.nys-alert__container{display:flex;background-color:var(--_nys-alert-background-color);border-left:var(--_nys-alert-border-width) solid var(--_nys-alert-border-color);border-radius:var(--_nys-alert-border-radius);color:var(--_nys-alert-color);padding:var(--_nys-alert-padding);font-style:normal;font-family:var(--_nys-alert-font-family);font-size:var(--_nys-alert-font-size);line-height:var(--_nys-alert-line-height);letter-spacing:var(--_nys-alert-letter-spacing);gap:var(--_nys-alert-gap--icon)}p{margin:0}::slotted(p){margin-bottom:0!important}.nys-alert__icon{margin-top:-1.5px}a,a:visited{font-weight:var(--_nys-alert-font-weight--semibold);font-size:var(--_nys-alert-font-size);color:var(--_nys-alert-color--link)}a:hover{color:var(--_nys-alert-color--link--hover)}a:active{color:var(--_nys-alert-color--link--active)}::slotted(a){color:var(--_nys-alert-color--link)}.nys-alert__texts{position:relative;display:flex;flex-direction:column;flex:1;gap:var(--_nys-alert-gap--text)}.nys-alert__header{margin:0;font-weight:var(--_nys-alert-font-weight--semibold)}.nys-alert__text{font-weight:var(--_nys-alert-font-weight--regular);margin:0}::slotted(*){font-weight:var(--_nys-alert-font-weight--regular);margin:0}.nys-alert--centered{display:flex;align-items:center}.nys-alert--centered .nys-alert__header{margin-bottom:-3px}.nys-alert--centered div[part=nys-alert__icon]{margin-top:0;display:flex;align-items:center;justify-content:center}.nys-alert__actions{display:flex;gap:var(--_nys-alert-gap--actions);flex-wrap:wrap}#dismiss-btn{margin-top:-8px}:host([type=info]){--_nys-alert-border-color: var( --nys-alert-border-color, var(--nys-color-info, var(--nys-color-blue-600, #004dd1)) );--_nys-alert-background-color: var( --nys-alert-background-color, var(--nys-color-info-weak, var(--nys-color-blue-50, #e5effa)) )}:host([type=success]){--_nys-alert-border-color: var( --nys-alert-border-color, var(--nys-color-success, var(--nys-color-green-600, #1e752e)) );--_nys-alert-background-color: var( --nys-alert-background-color, var(--nys-color-success-weak, var(--nys-color-green-50, #e8f1ea)) )}:host([type=warning]){--_nys-alert-border-color: var( --nys-alert-border-color, var(--nys-color-warning, var(--nys-color-yellow-400, #face00)) );--_nys-alert-background-color: var( --nys-alert-background-color, var(--nys-color-warning-weak, var(--nys-color-yellow-50, #fefae5)) )}:host([type=danger]){--_nys-alert-border-color: var( --nys-alert-border-color, var(--nys-color-danger, var(--nys-color-red-600, #b52c2c)) );--_nys-alert-background-color: var( --nys-alert-background-color, var(--nys-color-danger-weak, var(--nys-color-red-50, #f7eaea)) )}:host([type=emergency]){--_nys-alert-border-color: var( --nys-alert-border-color, var(--nys-color-emergency, var(--nys-color-red-800, #721c1c)) );--_nys-alert-background-color: var( --nys-alert-background-color, var(--nys-color-emergency, var(--nys-color-red-800, #721c1c)) );--_nys-alert-color: var( --nys-alert-color, var(--nys-color-text-reverse, var(--nys-color-white, #fff)) );--_nys-alert-color--link: var( --nys-alert-color--link, var(--nys-color-link-reverse-neutral, var(--nys-color-white, #fff)) );--_nys-alert-color--link--hover: var( --nys-alert-color--link--hover, var(--nys-color-link-reverse-neutral, var(--nys-color-white, #fff)) );--_nys-alert-color--link--active: var( --nys-alert-color--link--active, var(--nys-color-link-reverse-neutral, var(--nys-color-white, #fff)) )}:host([type=emergency]) a:hover{text-decoration-thickness:2px}:host([type=emergency]) a:active{text-decoration-thickness:3px}';
5
+ var f = Object.defineProperty, u = Object.getOwnPropertyDescriptor, t = (p, e, a, s) => {
6
+ for (var i = s > 1 ? void 0 : s ? u(e, a) : e, c = p.length - 1, y; c >= 0; c--)
7
+ (y = p[c]) && (i = (s ? y(e, a, i) : y(i)) || i);
8
+ return s && i && f(e, a, i), i;
772
9
  };
773
- let Ot = 0;
774
- var m;
775
- const y = (m = class extends lt {
10
+ let m = 0;
11
+ var l;
12
+ const r = (l = class extends h {
776
13
  constructor() {
777
14
  super(...arguments), this.id = "", this.heading = "", this.icon = "", this.dismissible = !1, this.duration = 0, this.text = "", this.primaryAction = "", this.secondaryAction = "", this.primaryLabel = "Learn more", this.secondaryLabel = "Dismiss", this._alertClosed = !1, this._slotHasContent = !0, this._type = "base", this._timeoutId = null;
778
15
  }
779
16
  get type() {
780
17
  return this._type;
781
18
  }
782
- set type(t) {
783
- this._type = m.VALID_TYPES.includes(
784
- t
785
- ) ? t : "base";
19
+ set type(e) {
20
+ this._type = l.VALID_TYPES.includes(
21
+ e
22
+ ) ? e : "base";
786
23
  }
787
24
  // Aria attributes based on the type
788
25
  get ariaAttributes() {
789
- const t = this.type === "danger" || this.type === "emergency" ? "alert" : this.type === "success" ? "status" : "region", e = t === "region" ? `${this.type} alert` : "";
790
- return { role: t, ariaLabel: e };
26
+ const e = this.type === "danger" || this.type === "emergency" ? "alert" : this.type === "success" ? "status" : "region", a = e === "region" ? `${this.type} alert` : "";
27
+ return { role: e, ariaLabel: a };
791
28
  }
792
29
  // For alerts that have durations, we set a timer to close them.
793
30
  connectedCallback() {
@@ -803,7 +40,7 @@ const y = (m = class extends lt {
803
40
  }
804
41
  /******************** Functions ********************/
805
42
  _generateUniqueId() {
806
- return `nys-alert-${Date.now()}-${Ot++}`;
43
+ return `nys-alert-${Date.now()}-${m++}`;
807
44
  }
808
45
  // Helper function for overriding default icons or checking special naming cases (e.g. type=success)
809
46
  _getIconName() {
@@ -822,23 +59,22 @@ const y = (m = class extends lt {
822
59
  );
823
60
  }
824
61
  async _checkSlotContent() {
825
- const t = this.shadowRoot?.querySelector("slot");
826
- if (t) {
827
- const e = t.assignedNodes({ flatten: !0 }).filter(
62
+ const e = this.shadowRoot?.querySelector("slot");
63
+ if (e) {
64
+ const a = e.assignedNodes({ flatten: !0 }).filter(
828
65
  (s) => s.nodeType === Node.ELEMENT_NODE || s.nodeType === Node.TEXT_NODE && s.textContent?.trim()
829
66
  );
830
- await Promise.resolve(), this._slotHasContent = e.length > 0;
67
+ await Promise.resolve(), this._slotHasContent = a.length > 0;
831
68
  } else
832
69
  await Promise.resolve(), this._slotHasContent = !1;
833
70
  }
834
71
  render() {
835
- const { role: t, ariaLabel: e } = this.ariaAttributes;
836
- return g`
837
- ${this._alertClosed ? "" : g` <div
838
- id=${this.id}
72
+ const { role: e, ariaLabel: a } = this.ariaAttributes;
73
+ return n`
74
+ ${this._alertClosed ? "" : n` <div
839
75
  class="nys-alert__container ${this._slotHasContent || this.text?.trim().length > 0 ? "" : "nys-alert--centered"}"
840
- aria-label=${z(
841
- e.trim() !== "" ? e : void 0
76
+ aria-label=${d(
77
+ a.trim() !== "" ? a : void 0
842
78
  )}
843
79
  >
844
80
  <div part="nys-alert__icon" class="nys-alert__icon">
@@ -848,25 +84,25 @@ const y = (m = class extends lt {
848
84
  label="${this.type} icon"
849
85
  ></nys-icon>
850
86
  </div>
851
- <div class="nys-alert__texts" role=${t}>
87
+ <div class="nys-alert__texts" role=${e}>
852
88
  <p class="nys-alert__header">${this.heading}</p>
853
- ${this._slotHasContent ? g`<slot></slot>` : this.text?.trim().length > 0 ? g`<p class="nys-alert__text">${this.text}</p>` : ""}
854
- ${this.primaryAction || this.secondaryAction ? g`<div class="nys-alert__actions">
855
- ${this.primaryAction ? g`<a
856
- href=${z(this.primaryAction || void 0)}
89
+ ${this._slotHasContent ? n`<slot></slot>` : this.text?.trim().length > 0 ? n`<p class="nys-alert__text">${this.text}</p>` : ""}
90
+ ${this.primaryAction || this.secondaryAction ? n`<div class="nys-alert__actions">
91
+ ${this.primaryAction ? n`<a
92
+ href=${d(this.primaryAction || void 0)}
857
93
  class="nys-alert__action nys-alert__primary"
858
94
  >
859
95
  ${this.primaryLabel}
860
96
  </a>` : ""}
861
- ${this.secondaryAction ? g`<a
862
- href=${z(this.secondaryAction || void 0)}
97
+ ${this.secondaryAction ? n`<a
98
+ href=${d(this.secondaryAction || void 0)}
863
99
  class="nys-alert__action nys-alert__secondary"
864
100
  >
865
101
  ${this.secondaryLabel}
866
102
  </a>` : ""}
867
103
  </div> ` : ""}
868
104
  </div>
869
- ${this.dismissible ? g` <nys-button
105
+ ${this.dismissible ? n` <nys-button
870
106
  id="dismiss-btn"
871
107
  variant="ghost"
872
108
  circle
@@ -879,56 +115,56 @@ const y = (m = class extends lt {
879
115
  </div>`}
880
116
  `;
881
117
  }
882
- }, m.styles = At, m.VALID_TYPES = [
118
+ }, l.styles = _(g), l.VALID_TYPES = [
883
119
  "base",
884
120
  "info",
885
121
  "success",
886
122
  "warning",
887
123
  "danger",
888
124
  "emergency"
889
- ], m);
890
- u([
891
- _({ type: String })
892
- ], y.prototype, "id", 2);
893
- u([
894
- _({ type: String })
895
- ], y.prototype, "heading", 2);
896
- u([
897
- _({ type: String })
898
- ], y.prototype, "icon", 2);
899
- u([
900
- _({ type: Boolean, reflect: !0 })
901
- ], y.prototype, "dismissible", 2);
902
- u([
903
- _({ type: Number, reflect: !0 })
904
- ], y.prototype, "duration", 2);
905
- u([
906
- _({ type: String })
907
- ], y.prototype, "text", 2);
908
- u([
909
- _({ type: String })
910
- ], y.prototype, "primaryAction", 2);
911
- u([
912
- _({ type: String })
913
- ], y.prototype, "secondaryAction", 2);
914
- u([
915
- _({ type: String })
916
- ], y.prototype, "primaryLabel", 2);
917
- u([
918
- _({ type: String })
919
- ], y.prototype, "secondaryLabel", 2);
920
- u([
921
- st()
922
- ], y.prototype, "_alertClosed", 2);
923
- u([
924
- st()
925
- ], y.prototype, "_slotHasContent", 2);
926
- u([
927
- _({ reflect: !0 })
928
- ], y.prototype, "type", 1);
929
- let Mt = y;
930
- customElements.get("nys-alert") || customElements.define("nys-alert", Mt);
125
+ ], l);
126
+ t([
127
+ o({ type: String, reflect: !0 })
128
+ ], r.prototype, "id", 2);
129
+ t([
130
+ o({ type: String })
131
+ ], r.prototype, "heading", 2);
132
+ t([
133
+ o({ type: String })
134
+ ], r.prototype, "icon", 2);
135
+ t([
136
+ o({ type: Boolean, reflect: !0 })
137
+ ], r.prototype, "dismissible", 2);
138
+ t([
139
+ o({ type: Number, reflect: !0 })
140
+ ], r.prototype, "duration", 2);
141
+ t([
142
+ o({ type: String })
143
+ ], r.prototype, "text", 2);
144
+ t([
145
+ o({ type: String })
146
+ ], r.prototype, "primaryAction", 2);
147
+ t([
148
+ o({ type: String })
149
+ ], r.prototype, "secondaryAction", 2);
150
+ t([
151
+ o({ type: String })
152
+ ], r.prototype, "primaryLabel", 2);
153
+ t([
154
+ o({ type: String })
155
+ ], r.prototype, "secondaryLabel", 2);
156
+ t([
157
+ v()
158
+ ], r.prototype, "_alertClosed", 2);
159
+ t([
160
+ v()
161
+ ], r.prototype, "_slotHasContent", 2);
162
+ t([
163
+ o({ reflect: !0 })
164
+ ], r.prototype, "type", 1);
165
+ let b = r;
166
+ customElements.get("nys-alert") || customElements.define("nys-alert", b);
931
167
  export {
932
- Mt as NysAlert
168
+ b as NysAlert
933
169
  };
934
170
  //# sourceMappingURL=nys-alert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nys-alert.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-alert.styles.ts","../../../node_modules/lit-html/lit-html.js","../../../node_modules/lit-html/directives/if-defined.js","../src/nys-alert.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 Alert Styles */\n --_nys-alert-border-width: var(--nys-border-width-lg, 4px);\n --_nys-alert-border-radius: var(--nys-radius-md, 4px);\n --_nys-alert-color: var(\n --nys-alert-color,\n var(--nys-color-text, var(--nys-color-neutral-900, #1b1b1b))\n );\n --_nys-alert-color--link: var(\n --nys-alert-color--link,\n var(--nys-color-link, var(--nys-color-blue-600, #004dd1))\n );\n --_nys-alert-color--link--hover: var(\n --nys-alert-color--link--hover,\n var(--nys-color-link-strong, var(--nys-color-blue-700, #003ba1))\n );\n --_nys-alert-color--link--active: var(\n --nys-alert-color--link--active,\n var(--nys-color-link-strongest, var(--nys-color-blue-800, #002971))\n );\n --_nys-alert-padding: var(--nys-space-250, 20px);\n --_nys-alert-font-family: var(\n --nys-font-family-ui,\n var(\n --nys-font-family-sans,\n \"Proxima Nova\",\n \"Helvetica Neue\",\n \"Helvetica\",\n \"Arial\",\n sans-serif\n )\n );\n --_nys-alert-font-size: var(--nys-font-size-ui-md, 16px);\n --_nys-alert-line-height: var(--nys-font-lineheight-ui-md, 24px);\n --_nys-alert-letter-spacing: var(\n --nys-font-letterspacing-ui-md,\n var(--nys-font-letterspacing-400, 0.044px)\n );\n --_nys-alert-font-weight--regular: var(--nys-font-weight-regular, 400);\n --_nys-alert-font-weight--semibold: var(--nys-font-weight-semibold, 600);\n\n /* Border specifics */\n --_nys-alert-border-color: var(\n --nys-alert-border-color,\n var(--nys-color-base, var(--nys-color-neutral-600, #62666a))\n );\n\n /* Background type specifics */\n --_nys-alert-background-color: var(\n --nys-alert-background-color,\n var(--nys-color-base-weak, var(--nys-color-neutral-10, #f6f6f6))\n );\n\n /* Theme Icon */\n --_nys-alert-gap--icon: var(--nys-space-150, 12px);\n --_nys-alert-gap--text: var(--nys-space-50, 4px);\n\n /* Action Statement */\n --_nys-alert-gap--actions: var(--nys-space-150, 12px);\n }\n\n /* Main alert container */\n .nys-alert__container {\n display: flex;\n background-color: var(--_nys-alert-background-color);\n border-left: var(--_nys-alert-border-width) solid\n var(--_nys-alert-border-color);\n border-radius: var(--_nys-alert-border-radius);\n color: var(--_nys-alert-color);\n padding: var(--_nys-alert-padding);\n font-style: normal;\n font-family: var(--_nys-alert-font-family);\n font-size: var(--_nys-alert-font-size);\n line-height: var(--_nys-alert-line-height);\n letter-spacing: var(--_nys-alert-letter-spacing);\n gap: var(--_nys-alert-gap--icon);\n }\n\n p {\n margin: 0;\n }\n\n ::slotted(p) {\n margin-bottom: 0 !important;\n }\n\n /* Icon */\n .nys-alert__icon {\n margin-top: -1.5px;\n }\n\n /* Links */\n a,\n a:visited {\n font-weight: var(--_nys-alert-font-weight--semibold);\n font-size: var(--_nys-alert-font-size);\n color: var(--_nys-alert-color--link);\n }\n a:hover {\n color: var(--_nys-alert-color--link--hover);\n }\n a:active {\n color: var(--_nys-alert-color--link--active);\n }\n\n /* For HTML elements put into the slot */\n ::slotted(a) {\n color: var(--_nys-alert-color--link);\n }\n\n /* Handles both header and description text */\n .nys-alert__texts {\n position: relative;\n display: flex;\n flex-direction: column;\n flex: 1;\n gap: var(--_nys-alert-gap--text);\n }\n\n .nys-alert__header {\n margin: 0;\n font-weight: var(--_nys-alert-font-weight--semibold);\n }\n\n .nys-alert__text {\n font-weight: var(--_nys-alert-font-weight--regular);\n margin: 0;\n }\n\n /* For HTML elements put into the slot */\n ::slotted(*) {\n font-weight: var(--_nys-alert-font-weight--regular);\n margin: 0;\n }\n\n /* Centered variant: For no descriptions, we remove the <slot name=\"text\"> via JS logic. In styling, centers the icon for a compact layout. */\n .nys-alert--centered {\n display: flex;\n align-items: center;\n }\n .nys-alert--centered .nys-alert__header {\n margin-bottom: -3px; /* Adjusts the header text to be centered */\n }\n .nys-alert--centered div[part=\"nys-alert__icon\"] {\n margin-top: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n /* Action Statement */\n .nys-alert__actions {\n display: flex;\n gap: var(--_nys-alert-gap--actions);\n flex-wrap: wrap;\n }\n\n /* Dismiss Button */\n #dismiss-btn {\n margin-top: -8px;\n }\n\n /* Alert Types */\n :host([type=\"info\"]) {\n --_nys-alert-border-color: var(\n --nys-alert-border-color,\n var(--nys-color-info, var(--nys-color-blue-600, #004dd1))\n );\n --_nys-alert-background-color: var(\n --nys-alert-background-color,\n var(--nys-color-info-weak, var(--nys-color-blue-50, #e5effa))\n );\n }\n :host([type=\"success\"]) {\n --_nys-alert-border-color: var(\n --nys-alert-border-color,\n var(--nys-color-success, var(--nys-color-green-600, #1e752e))\n );\n --_nys-alert-background-color: var(\n --nys-alert-background-color,\n var(--nys-color-success-weak, var(--nys-color-green-50, #e8f1ea))\n );\n }\n :host([type=\"warning\"]) {\n --_nys-alert-border-color: var(\n --nys-alert-border-color,\n var(--nys-color-warning, var(--nys-color-yellow-400, #face00))\n );\n --_nys-alert-background-color: var(\n --nys-alert-background-color,\n var(--nys-color-warning-weak, var(--nys-color-yellow-50, #fefae5))\n );\n }\n :host([type=\"danger\"]) {\n --_nys-alert-border-color: var(\n --nys-alert-border-color,\n var(--nys-color-danger, var(--nys-color-red-600, #b52c2c))\n );\n --_nys-alert-background-color: var(\n --nys-alert-background-color,\n var(--nys-color-danger-weak, var(--nys-color-red-50, #f7eaea))\n );\n }\n :host([type=\"emergency\"]) {\n --_nys-alert-border-color: var(\n --nys-alert-border-color,\n var(--nys-color-emergency, var(--nys-color-red-800, #721c1c))\n );\n --_nys-alert-background-color: var(\n --nys-alert-background-color,\n var(--nys-color-emergency, var(--nys-color-red-800, #721c1c))\n );\n --_nys-alert-color: var(\n --nys-alert-color,\n var(--nys-color-text-reverse, var(--nys-color-white, #fff))\n );\n --_nys-alert-color--link: var(\n --nys-alert-color--link,\n var(--nys-color-link-reverse-neutral, var(--nys-color-white, #fff))\n );\n --_nys-alert-color--link--hover: var(\n --nys-alert-color--link--hover,\n var(--nys-color-link-reverse-neutral, var(--nys-color-white, #fff))\n );\n --_nys-alert-color--link--active: var(\n --nys-alert-color--link--active,\n var(--nys-color-link-reverse-neutral, var(--nys-color-white, #fff))\n );\n }\n :host([type=\"emergency\"]) a:hover {\n text-decoration-thickness: 2px;\n }\n :host([type=\"emergency\"]) a:active {\n text-decoration-thickness: 3px;\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-alert.styles\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\n\nlet alertIdCounter = 0; // Counter for generating unique IDs\n\nexport class NysAlert extends LitElement {\n static styles = styles;\n\n /********************** Properties **********************/\n @property({ type: String }) id = \"\";\n @property({ type: String }) heading = \"\";\n @property({ type: String }) icon = \"\";\n @property({ type: Boolean, reflect: true }) dismissible = false;\n @property({ type: Number, reflect: true }) duration = 0;\n @property({ type: String }) text = \"\";\n @property({ type: String }) primaryAction = \"\";\n @property({ type: String }) secondaryAction = \"\";\n @property({ type: String }) primaryLabel = \"Learn more\";\n @property({ type: String }) secondaryLabel = \"Dismiss\";\n\n @state() private _alertClosed = false;\n @state() private _slotHasContent = true;\n\n // --- Valid Alert Types --- //\n private static readonly VALID_TYPES = [\n \"base\",\n \"info\",\n \"success\",\n \"warning\",\n \"danger\",\n \"emergency\",\n ] as const;\n private _type: (typeof NysAlert.VALID_TYPES)[number] = \"base\";\n\n @property({ reflect: true })\n get type() {\n return this._type;\n }\n\n set type(value: string) {\n this._type = NysAlert.VALID_TYPES.includes(\n value as (typeof NysAlert.VALID_TYPES)[number],\n )\n ? (value as (typeof NysAlert.VALID_TYPES)[number])\n : \"base\";\n }\n\n // Aria attributes based on the type\n get ariaAttributes(): {\n role: \"alert\" | \"status\" | \"region\";\n ariaLabel: string;\n } {\n const ariaRole =\n this.type === \"danger\" || this.type === \"emergency\"\n ? \"alert\"\n : this.type === \"success\"\n ? \"status\"\n : \"region\"; // Default role\n\n // Set aria-label only for role=\"region\"\n const ariaLabel = ariaRole === \"region\" ? `${this.type} alert` : \"\";\n\n return { role: ariaRole, ariaLabel };\n }\n\n /**************** Lifecycle Methods ****************/\n\n private _timeoutId: any = null;\n\n // For alerts that have durations, we set a timer to close them.\n connectedCallback() {\n super.connectedCallback();\n\n // Generate a unique ID if not provided\n if (!this.id) {\n this.id = this._generateUniqueId();\n }\n\n if (this.duration > 0) {\n this._timeoutId = setTimeout(() => {\n this._closeAlert();\n }, this.duration);\n }\n }\n\n disconnectedCallback() {\n if (this._timeoutId) {\n clearTimeout(this._timeoutId);\n }\n super.disconnectedCallback();\n }\n\n firstUpdated() {\n this._checkSlotContent();\n }\n\n /******************** Functions ********************/\n private _generateUniqueId() {\n return `nys-alert-${Date.now()}-${alertIdCounter++}`;\n }\n\n // Helper function for overriding default icons or checking special naming cases (e.g. type=success)\n private _getIconName() {\n if (this.icon) {\n return this.icon;\n } else {\n return this._checkAltNaming(); // checking alternative svg naming\n }\n }\n\n private _checkAltNaming() {\n // map 'success' to 'check_circle'\n return this.type === \"success\"\n ? \"check_circle\"\n : this.type === \"base\"\n ? \"info\"\n : this.type === \"danger\"\n ? \"error\"\n : this.type === \"emergency\"\n ? \"emergency_home\"\n : this.type;\n }\n\n private _closeAlert() {\n this._alertClosed = true;\n /* Dispatch a custom event for the close action:\n * allows bubbling up so if developers wish to implement a local save to remember closed alerts.\n */\n this.dispatchEvent(\n new CustomEvent(\"nys-close\", {\n detail: { id: this.id, type: this.type, label: this.heading },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n private async _checkSlotContent() {\n const slot = this.shadowRoot?.querySelector<HTMLSlotElement>(\"slot\");\n if (slot) {\n // Check if slot has assigned nodes with content (elements or non-empty text nodes)\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 await Promise.resolve();\n this._slotHasContent = assignedNodes.length > 0;\n } else {\n await Promise.resolve();\n this._slotHasContent = false; // No slot found\n }\n }\n\n render() {\n const { role, ariaLabel } = this.ariaAttributes;\n\n return html`\n ${!this._alertClosed\n ? html` <div\n id=${this.id}\n class=\"nys-alert__container ${this._slotHasContent ||\n this.text?.trim().length > 0\n ? \"\"\n : \"nys-alert--centered\"}\"\n aria-label=${ifDefined(\n ariaLabel.trim() !== \"\" ? ariaLabel : undefined,\n )}\n >\n <div part=\"nys-alert__icon\" class=\"nys-alert__icon\">\n <nys-icon\n name=\"${this._getIconName()}\"\n size=\"3xl\"\n label=\"${this.type} icon\"\n ></nys-icon>\n </div>\n <div class=\"nys-alert__texts\" role=${role}>\n <p class=\"nys-alert__header\">${this.heading}</p>\n ${this._slotHasContent\n ? html`<slot></slot>`\n : this.text?.trim().length > 0\n ? html`<p class=\"nys-alert__text\">${this.text}</p>`\n : \"\"}\n ${this.primaryAction || this.secondaryAction\n ? html`<div class=\"nys-alert__actions\">\n ${this.primaryAction\n ? html`<a\n href=${ifDefined(this.primaryAction || undefined)}\n class=\"nys-alert__action nys-alert__primary\"\n >\n ${this.primaryLabel}\n </a>`\n : \"\"}\n ${this.secondaryAction\n ? html`<a\n href=${ifDefined(this.secondaryAction || undefined)}\n class=\"nys-alert__action nys-alert__secondary\"\n >\n ${this.secondaryLabel}\n </a>`\n : \"\"}\n </div> `\n : \"\"}\n </div>\n ${this.dismissible\n ? html` <nys-button\n id=\"dismiss-btn\"\n variant=\"ghost\"\n circle\n icon=\"close\"\n size=\"sm\"\n ?inverted=${this.type === \"emergency\"}\n ariaLabel=\"${this.heading}, alert, Close\"\n @nys-click=${this._closeAlert}\n ></nys-button>`\n : \"\"}\n </div>`\n : \"\"}\n `;\n }\n}\n\nif (!customElements.get(\"nys-alert\")) {\n customElements.define(\"nys-alert\", NysAlert);\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","H","I","L","k","M","R","z","j","alertIdCounter","_NysAlert","_a","LitElement","value","ariaRole","ariaLabel","slot","assignedNodes","node","role","html","ifDefined","__decorateClass","property","state","NysAlert"],"mappings":"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","x_google_ignoreList":[0,1,2,3,5,6]}
1
+ {"version":3,"file":"nys-alert.js","sources":["../src/nys-alert.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-alert.scss?inline\";\n\nlet alertIdCounter = 0; // Counter for generating unique IDs\n\nexport class NysAlert extends LitElement {\n static styles = unsafeCSS(styles);\n\n /********************** Properties **********************/\n @property({ type: String, reflect: true }) id = \"\";\n @property({ type: String }) heading = \"\";\n @property({ type: String }) icon = \"\";\n @property({ type: Boolean, reflect: true }) dismissible = false;\n @property({ type: Number, reflect: true }) duration = 0;\n @property({ type: String }) text = \"\";\n @property({ type: String }) primaryAction = \"\";\n @property({ type: String }) secondaryAction = \"\";\n @property({ type: String }) primaryLabel = \"Learn more\";\n @property({ type: String }) secondaryLabel = \"Dismiss\";\n\n @state() private _alertClosed = false;\n @state() private _slotHasContent = true;\n\n // --- Valid Alert Types --- //\n private static readonly VALID_TYPES = [\n \"base\",\n \"info\",\n \"success\",\n \"warning\",\n \"danger\",\n \"emergency\",\n ] as const;\n private _type: (typeof NysAlert.VALID_TYPES)[number] = \"base\";\n\n @property({ reflect: true })\n get type() {\n return this._type;\n }\n\n set type(value: string) {\n this._type = NysAlert.VALID_TYPES.includes(\n value as (typeof NysAlert.VALID_TYPES)[number],\n )\n ? (value as (typeof NysAlert.VALID_TYPES)[number])\n : \"base\";\n }\n\n // Aria attributes based on the type\n get ariaAttributes(): {\n role: \"alert\" | \"status\" | \"region\";\n ariaLabel: string;\n } {\n const ariaRole =\n this.type === \"danger\" || this.type === \"emergency\"\n ? \"alert\"\n : this.type === \"success\"\n ? \"status\"\n : \"region\"; // Default role\n\n // Set aria-label only for role=\"region\"\n const ariaLabel = ariaRole === \"region\" ? `${this.type} alert` : \"\";\n\n return { role: ariaRole, ariaLabel };\n }\n\n /**************** Lifecycle Methods ****************/\n\n private _timeoutId: any = null;\n\n // For alerts that have durations, we set a timer to close them.\n connectedCallback() {\n super.connectedCallback();\n\n // Generate a unique ID if not provided\n if (!this.id) {\n this.id = this._generateUniqueId();\n }\n\n if (this.duration > 0) {\n this._timeoutId = setTimeout(() => {\n this._closeAlert();\n }, this.duration);\n }\n }\n\n disconnectedCallback() {\n if (this._timeoutId) {\n clearTimeout(this._timeoutId);\n }\n super.disconnectedCallback();\n }\n\n firstUpdated() {\n this._checkSlotContent();\n }\n\n /******************** Functions ********************/\n private _generateUniqueId() {\n return `nys-alert-${Date.now()}-${alertIdCounter++}`;\n }\n\n // Helper function for overriding default icons or checking special naming cases (e.g. type=success)\n private _getIconName() {\n if (this.icon) {\n return this.icon;\n } else {\n return this._checkAltNaming(); // checking alternative svg naming\n }\n }\n\n private _checkAltNaming() {\n // map 'success' to 'check_circle'\n return this.type === \"success\"\n ? \"check_circle\"\n : this.type === \"base\"\n ? \"info\"\n : this.type === \"danger\"\n ? \"error\"\n : this.type === \"emergency\"\n ? \"emergency_home\"\n : this.type;\n }\n\n private _closeAlert() {\n this._alertClosed = true;\n /* Dispatch a custom event for the close action:\n * allows bubbling up so if developers wish to implement a local save to remember closed alerts.\n */\n this.dispatchEvent(\n new CustomEvent(\"nys-close\", {\n detail: { id: this.id, type: this.type, label: this.heading },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n private async _checkSlotContent() {\n const slot = this.shadowRoot?.querySelector<HTMLSlotElement>(\"slot\");\n if (slot) {\n // Check if slot has assigned nodes with content (elements or non-empty text nodes)\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 await Promise.resolve();\n this._slotHasContent = assignedNodes.length > 0;\n } else {\n await Promise.resolve();\n this._slotHasContent = false; // No slot found\n }\n }\n\n render() {\n const { role, ariaLabel } = this.ariaAttributes;\n\n return html`\n ${!this._alertClosed\n ? html` <div\n class=\"nys-alert__container ${this._slotHasContent ||\n this.text?.trim().length > 0\n ? \"\"\n : \"nys-alert--centered\"}\"\n aria-label=${ifDefined(\n ariaLabel.trim() !== \"\" ? ariaLabel : undefined,\n )}\n >\n <div part=\"nys-alert__icon\" class=\"nys-alert__icon\">\n <nys-icon\n name=\"${this._getIconName()}\"\n size=\"3xl\"\n label=\"${this.type} icon\"\n ></nys-icon>\n </div>\n <div class=\"nys-alert__texts\" role=${role}>\n <p class=\"nys-alert__header\">${this.heading}</p>\n ${this._slotHasContent\n ? html`<slot></slot>`\n : this.text?.trim().length > 0\n ? html`<p class=\"nys-alert__text\">${this.text}</p>`\n : \"\"}\n ${this.primaryAction || this.secondaryAction\n ? html`<div class=\"nys-alert__actions\">\n ${this.primaryAction\n ? html`<a\n href=${ifDefined(this.primaryAction || undefined)}\n class=\"nys-alert__action nys-alert__primary\"\n >\n ${this.primaryLabel}\n </a>`\n : \"\"}\n ${this.secondaryAction\n ? html`<a\n href=${ifDefined(this.secondaryAction || undefined)}\n class=\"nys-alert__action nys-alert__secondary\"\n >\n ${this.secondaryLabel}\n </a>`\n : \"\"}\n </div> `\n : \"\"}\n </div>\n ${this.dismissible\n ? html` <nys-button\n id=\"dismiss-btn\"\n variant=\"ghost\"\n circle\n icon=\"close\"\n size=\"sm\"\n ?inverted=${this.type === \"emergency\"}\n ariaLabel=\"${this.heading}, alert, Close\"\n @nys-click=${this._closeAlert}\n ></nys-button>`\n : \"\"}\n </div>`\n : \"\"}\n `;\n }\n}\n\nif (!customElements.get(\"nys-alert\")) {\n customElements.define(\"nys-alert\", NysAlert);\n}\n"],"names":["alertIdCounter","_NysAlert","_a","LitElement","value","ariaRole","ariaLabel","slot","assignedNodes","node","role","html","ifDefined","unsafeCSS","styles","__decorateClass","property","state","NysAlert"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nysds/nys-alert",
3
- "version": "1.11.2",
3
+ "version": "1.11.3",
4
4
  "description": "The Alert component from the NYS Design System.",
5
5
  "module": "dist/nys-alert.js",
6
6
  "types": "dist/index.d.ts",
@@ -23,13 +23,13 @@
23
23
  "lit-analyze": "lit-analyzer '**/*.ts'"
24
24
  },
25
25
  "dependencies": {
26
- "@nysds/nys-icon": "^1.11.2",
27
- "@nysds/nys-button": "^1.11.2"
26
+ "@nysds/nys-icon": "^1.11.3",
27
+ "@nysds/nys-button": "^1.11.3"
28
28
  },
29
29
  "devDependencies": {
30
30
  "lit": "^3.3.1",
31
- "typescript": "^5.7.2",
32
- "vite": "^7.1.2"
31
+ "typescript": "^5.9.3",
32
+ "vite": "^7.1.12"
33
33
  },
34
34
  "keywords": [
35
35
  "new-york-state",
package/dist/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./nys-alert";
@@ -1,37 +0,0 @@
1
- import { LitElement } from "lit";
2
- export declare class NysAlert extends LitElement {
3
- static styles: import("lit").CSSResult;
4
- /********************** Properties **********************/
5
- id: string;
6
- heading: string;
7
- icon: string;
8
- dismissible: boolean;
9
- duration: number;
10
- text: string;
11
- primaryAction: string;
12
- secondaryAction: string;
13
- primaryLabel: string;
14
- secondaryLabel: string;
15
- private _alertClosed;
16
- private _slotHasContent;
17
- private static readonly VALID_TYPES;
18
- private _type;
19
- get type(): string;
20
- set type(value: string);
21
- get ariaAttributes(): {
22
- role: "alert" | "status" | "region";
23
- ariaLabel: string;
24
- };
25
- /**************** Lifecycle Methods ****************/
26
- private _timeoutId;
27
- connectedCallback(): void;
28
- disconnectedCallback(): void;
29
- firstUpdated(): void;
30
- /******************** Functions ********************/
31
- private _generateUniqueId;
32
- private _getIconName;
33
- private _checkAltNaming;
34
- private _closeAlert;
35
- private _checkSlotContent;
36
- render(): import("lit-html").TemplateResult<1>;
37
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,2 +0,0 @@
1
- declare const _default: import("lit").CSSResult;
2
- export default _default;