@nysds/nys-alert 1.11.4 → 1.13.0
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 +88 -78
- package/dist/nys-alert.js.map +1 -1
- package/package.json +3 -3
package/dist/nys-alert.js
CHANGED
|
@@ -1,32 +1,35 @@
|
|
|
1
1
|
import { LitElement as h, unsafeCSS as _, html as n } from "lit";
|
|
2
|
-
import { property as o, state as
|
|
3
|
-
import { ifDefined as
|
|
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-
|
|
5
|
-
var f = Object.defineProperty,
|
|
6
|
-
for (var
|
|
7
|
-
(
|
|
8
|
-
return s &&
|
|
2
|
+
import { property as o, state as p } from "lit/decorators.js";
|
|
3
|
+
import { ifDefined as l } 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-inline-start: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:.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, r = (d, t, a, i) => {
|
|
6
|
+
for (var s = void 0, c = d.length - 1, v; c >= 0; c--)
|
|
7
|
+
(v = d[c]) && (s = v(t, a, s) || s);
|
|
8
|
+
return s && f(t, a, s), s;
|
|
9
9
|
};
|
|
10
|
-
let
|
|
11
|
-
|
|
12
|
-
const r = (l = class extends h {
|
|
10
|
+
let u = 0;
|
|
11
|
+
const y = class y extends h {
|
|
13
12
|
constructor() {
|
|
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.
|
|
13
|
+
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.type = "base", this._alertClosed = !1, this._slotHasContent = !0, this._timeoutId = null;
|
|
15
14
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
) ? e : "base";
|
|
23
|
-
}
|
|
24
|
-
// Aria attributes based on the type
|
|
15
|
+
/**
|
|
16
|
+
* Returns ARIA role and label based on alert type.
|
|
17
|
+
* - 'alert' => assertive live region (implied)
|
|
18
|
+
* - 'status' => polite live region
|
|
19
|
+
* - 'region' => generic, requires aria-label
|
|
20
|
+
*/
|
|
25
21
|
get ariaAttributes() {
|
|
26
|
-
const
|
|
27
|
-
return { role:
|
|
22
|
+
const t = this.type === "danger" || this.type === "emergency" ? "alert" : this.type === "success" ? "status" : "region", a = t === "region" ? `${this.type} alert` : "";
|
|
23
|
+
return { role: t, ariaLabel: a };
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Returns live-region type for screen readers if applicable.
|
|
27
|
+
* - 'polite' for status role
|
|
28
|
+
* - undefined for alert (since it's implicitly assertive) or region
|
|
29
|
+
*/
|
|
30
|
+
get liveRegion() {
|
|
31
|
+
if (this.ariaAttributes.role === "status") return "polite";
|
|
28
32
|
}
|
|
29
|
-
// For alerts that have durations, we set a timer to close them.
|
|
30
33
|
connectedCallback() {
|
|
31
34
|
super.connectedCallback(), this.id || (this.id = this._generateUniqueId()), this.duration > 0 && (this._timeoutId = setTimeout(() => {
|
|
32
35
|
this._closeAlert();
|
|
@@ -38,13 +41,15 @@ const r = (l = class extends h {
|
|
|
38
41
|
firstUpdated() {
|
|
39
42
|
this._checkSlotContent();
|
|
40
43
|
}
|
|
41
|
-
|
|
44
|
+
/**
|
|
45
|
+
* Functions
|
|
46
|
+
* --------------------------------------------------------------------------
|
|
47
|
+
*/
|
|
42
48
|
_generateUniqueId() {
|
|
43
|
-
return `nys-alert-${Date.now()}-${
|
|
49
|
+
return `nys-alert-${Date.now()}-${u++}`;
|
|
44
50
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
return this.icon ? this.icon : this._checkAltNaming();
|
|
51
|
+
_resolveIconName() {
|
|
52
|
+
return this.icon || this._checkAltNaming();
|
|
48
53
|
}
|
|
49
54
|
_checkAltNaming() {
|
|
50
55
|
return this.type === "success" ? "check_circle" : this.type === "base" ? "info" : this.type === "danger" ? "error" : this.type === "emergency" ? "emergency_home" : this.type;
|
|
@@ -58,44 +63,52 @@ const r = (l = class extends h {
|
|
|
58
63
|
})
|
|
59
64
|
);
|
|
60
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Checks whether the default slot has content.
|
|
68
|
+
* Updates `_slotHasContent` accordingly.
|
|
69
|
+
*/
|
|
61
70
|
async _checkSlotContent() {
|
|
62
|
-
const
|
|
63
|
-
if (
|
|
64
|
-
const a =
|
|
65
|
-
(
|
|
71
|
+
const t = this.shadowRoot?.querySelector("slot");
|
|
72
|
+
if (t) {
|
|
73
|
+
const a = t.assignedNodes({ flatten: !0 }).filter(
|
|
74
|
+
(i) => i.nodeType === Node.ELEMENT_NODE || i.nodeType === Node.TEXT_NODE && i.textContent?.trim()
|
|
66
75
|
);
|
|
67
76
|
await Promise.resolve(), this._slotHasContent = a.length > 0;
|
|
68
77
|
} else
|
|
69
78
|
await Promise.resolve(), this._slotHasContent = !1;
|
|
70
79
|
}
|
|
71
80
|
render() {
|
|
72
|
-
const { role:
|
|
81
|
+
const { role: t, ariaLabel: a } = this.ariaAttributes;
|
|
73
82
|
return n`
|
|
74
83
|
${this._alertClosed ? "" : n` <div
|
|
75
84
|
class="nys-alert__container ${this._slotHasContent || this.text?.trim().length > 0 ? "" : "nys-alert--centered"}"
|
|
76
|
-
aria-label=${
|
|
85
|
+
aria-label=${l(
|
|
77
86
|
a.trim() !== "" ? a : void 0
|
|
78
87
|
)}
|
|
79
88
|
>
|
|
80
89
|
<div part="nys-alert__icon" class="nys-alert__icon">
|
|
81
90
|
<nys-icon
|
|
82
|
-
name="${this.
|
|
91
|
+
name="${this._resolveIconName()}"
|
|
83
92
|
size="3xl"
|
|
84
93
|
label="${this.type} icon"
|
|
85
94
|
></nys-icon>
|
|
86
95
|
</div>
|
|
87
|
-
<div
|
|
96
|
+
<div
|
|
97
|
+
class="nys-alert__texts"
|
|
98
|
+
role=${t}
|
|
99
|
+
aria-live=${l(this.liveRegion)}
|
|
100
|
+
>
|
|
88
101
|
<p class="nys-alert__header">${this.heading}</p>
|
|
89
102
|
${this._slotHasContent ? n`<slot></slot>` : this.text?.trim().length > 0 ? n`<p class="nys-alert__text">${this.text}</p>` : ""}
|
|
90
103
|
${this.primaryAction || this.secondaryAction ? n`<div class="nys-alert__actions">
|
|
91
104
|
${this.primaryAction ? n`<a
|
|
92
|
-
href=${
|
|
105
|
+
href=${l(this.primaryAction || void 0)}
|
|
93
106
|
class="nys-alert__action nys-alert__primary"
|
|
94
107
|
>
|
|
95
108
|
${this.primaryLabel}
|
|
96
109
|
</a>` : ""}
|
|
97
110
|
${this.secondaryAction ? n`<a
|
|
98
|
-
href=${
|
|
111
|
+
href=${l(this.secondaryAction || void 0)}
|
|
99
112
|
class="nys-alert__action nys-alert__secondary"
|
|
100
113
|
>
|
|
101
114
|
${this.secondaryLabel}
|
|
@@ -111,60 +124,57 @@ const r = (l = class extends h {
|
|
|
111
124
|
?inverted=${this.type === "emergency"}
|
|
112
125
|
ariaLabel="${this.heading}, alert, Close"
|
|
113
126
|
@nys-click=${this._closeAlert}
|
|
127
|
+
style=${l(
|
|
128
|
+
this.type === "emergency" ? "--_nys-button-outline-color: var(--nys-color-ink-reverse, var(--nys-color-white, #fff));" : void 0
|
|
129
|
+
)}
|
|
114
130
|
></nys-button>` : ""}
|
|
115
131
|
</div>`}
|
|
116
132
|
`;
|
|
117
133
|
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
"warning",
|
|
123
|
-
"danger",
|
|
124
|
-
"emergency"
|
|
125
|
-
], l);
|
|
126
|
-
t([
|
|
134
|
+
};
|
|
135
|
+
y.styles = _(g);
|
|
136
|
+
let e = y;
|
|
137
|
+
r([
|
|
127
138
|
o({ type: String, reflect: !0 })
|
|
128
|
-
],
|
|
129
|
-
|
|
139
|
+
], e.prototype, "id");
|
|
140
|
+
r([
|
|
130
141
|
o({ type: String })
|
|
131
|
-
],
|
|
132
|
-
|
|
142
|
+
], e.prototype, "heading");
|
|
143
|
+
r([
|
|
133
144
|
o({ type: String })
|
|
134
|
-
],
|
|
135
|
-
|
|
145
|
+
], e.prototype, "icon");
|
|
146
|
+
r([
|
|
136
147
|
o({ type: Boolean, reflect: !0 })
|
|
137
|
-
],
|
|
138
|
-
|
|
148
|
+
], e.prototype, "dismissible");
|
|
149
|
+
r([
|
|
139
150
|
o({ type: Number, reflect: !0 })
|
|
140
|
-
],
|
|
141
|
-
|
|
151
|
+
], e.prototype, "duration");
|
|
152
|
+
r([
|
|
142
153
|
o({ type: String })
|
|
143
|
-
],
|
|
144
|
-
|
|
154
|
+
], e.prototype, "text");
|
|
155
|
+
r([
|
|
145
156
|
o({ type: String })
|
|
146
|
-
],
|
|
147
|
-
|
|
157
|
+
], e.prototype, "primaryAction");
|
|
158
|
+
r([
|
|
148
159
|
o({ type: String })
|
|
149
|
-
],
|
|
150
|
-
|
|
160
|
+
], e.prototype, "secondaryAction");
|
|
161
|
+
r([
|
|
151
162
|
o({ type: String })
|
|
152
|
-
],
|
|
153
|
-
|
|
163
|
+
], e.prototype, "primaryLabel");
|
|
164
|
+
r([
|
|
154
165
|
o({ type: String })
|
|
155
|
-
],
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
],
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
],
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
],
|
|
165
|
-
|
|
166
|
-
customElements.get("nys-alert") || customElements.define("nys-alert", b);
|
|
166
|
+
], e.prototype, "secondaryLabel");
|
|
167
|
+
r([
|
|
168
|
+
o({ type: String, reflect: !0 })
|
|
169
|
+
], e.prototype, "type");
|
|
170
|
+
r([
|
|
171
|
+
p()
|
|
172
|
+
], e.prototype, "_alertClosed");
|
|
173
|
+
r([
|
|
174
|
+
p()
|
|
175
|
+
], e.prototype, "_slotHasContent");
|
|
176
|
+
customElements.get("nys-alert") || customElements.define("nys-alert", e);
|
|
167
177
|
export {
|
|
168
|
-
|
|
178
|
+
e as NysAlert
|
|
169
179
|
};
|
|
170
180
|
//# sourceMappingURL=nys-alert.js.map
|
package/dist/nys-alert.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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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"}
|
|
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;\n\n/**\n * `<nys-alert>` renders an informational, success, warning, or error alert.\n *\n * @slot - Default slot for additional alert content.\n *\n * @event nys-close - Fired when alert is dismissed (manual or timeout).\n * @type {CustomEvent<{id: string, type: string, label: string}>}\n *\n * Features:\n * - Accessible ARIA roles and live-region announcements.\n * - Auto-close via `duration`.\n * - Handles default slot content or fallback `text`.\n * - Optional dismiss button.\n */\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 @property({ type: String, reflect: true }) type:\n | \"base\"\n | \"info\"\n | \"success\"\n | \"warning\"\n | \"danger\"\n | \"emergency\" = \"base\";\n\n @state() private _alertClosed = false;\n @state() private _slotHasContent = true;\n\n /**\n * Returns ARIA role and label based on alert type.\n * - 'alert' => assertive live region (implied)\n * - 'status' => polite live region\n * - 'region' => generic, requires aria-label\n */\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 /**\n * Returns live-region type for screen readers if applicable.\n * - 'polite' for status role\n * - undefined for alert (since it's implicitly assertive) or region\n */\n get liveRegion(): \"polite\" | undefined {\n const role = this.ariaAttributes.role;\n if (role === \"status\") return \"polite\";\n return undefined; // for region. No need to return \"assertive\" as role=\"alert\" implies it\n }\n\n /**\n * Lifecycle methods\n * --------------------------------------------------------------------------\n */\n\n private _timeoutId: any = null;\n\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 // For alerts that have durations, we set a timer to close them.\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 /**\n * Functions\n * --------------------------------------------------------------------------\n */\n private _generateUniqueId() {\n return `nys-alert-${Date.now()}-${alertIdCounter++}`;\n }\n\n private _resolveIconName() {\n return this.icon || this._checkAltNaming();\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 /**\n * Checks whether the default slot has content.\n * Updates `_slotHasContent` accordingly.\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._resolveIconName()}\"\n size=\"3xl\"\n label=\"${this.type} icon\"\n ></nys-icon>\n </div>\n <div\n class=\"nys-alert__texts\"\n role=${role}\n aria-live=${ifDefined(this.liveRegion)}\n >\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 style=${ifDefined(\n this.type === \"emergency\"\n ? \"--_nys-button-outline-color: var(--nys-color-ink-reverse, var(--nys-color-white, #fff));\"\n : undefined,\n )}\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","LitElement","ariaRole","ariaLabel","slot","assignedNodes","node","role","html","ifDefined","unsafeCSS","styles","NysAlert","__decorateClass","property","state"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nysds/nys-alert",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.0",
|
|
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,8 +23,8 @@
|
|
|
23
23
|
"lit-analyze": "lit-analyzer '**/*.ts'"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@nysds/nys-icon": "^1.
|
|
27
|
-
"@nysds/nys-button": "^1.
|
|
26
|
+
"@nysds/nys-icon": "^1.13.0",
|
|
27
|
+
"@nysds/nys-button": "^1.13.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"lit": "^3.3.1",
|