@nysds/nys-globalfooter 1.0.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.
@@ -0,0 +1 @@
1
+ export * from "./nys-globalfooter";
@@ -0,0 +1,14 @@
1
+ import { LitElement } from "lit";
2
+ export declare class NysGlobalFooter extends LitElement {
3
+ static styles: import("lit").CSSResult;
4
+ /********************** Properties **********************/
5
+ agencyName: string;
6
+ homepageLink: string;
7
+ disableHomepageLink: boolean;
8
+ private slotHasContent;
9
+ /**************** Lifecycle Methods ****************/
10
+ firstUpdated(): void;
11
+ /******************** Functions ********************/
12
+ private _handleSlotChange;
13
+ render(): import("lit-html").TemplateResult<1>;
14
+ }
@@ -0,0 +1,540 @@
1
+ import { css as U, LitElement as A, html as f } from "lit";
2
+ /*!
3
+ * ▒█▄░▒█ ▒█░░▒█ ▒█▀▀▀█ ▒█▀▀▄ ▒█▀▀▀█
4
+ * ▒█▒█▒█ ▒█▄▄▄█ ░▀▀▀▄▄ ▒█░▒█ ░▀▀▀▄▄
5
+ * ▒█░░▀█ ░░▒█░░ ▒█▄▄▄█ ▒█▄▄▀ ▒█▄▄▄█
6
+ *
7
+ * Global Footer Component v1.0.0
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 g = globalThis, b = g.ShadowRoot && (g.ShadyCSS === void 0 || g.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, x = Symbol(), S = /* @__PURE__ */ new WeakMap();
18
+ let O = class {
19
+ constructor(t, e, o) {
20
+ if (this._$cssResult$ = !0, o !== x) 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 (b && t === void 0) {
27
+ const o = e !== void 0 && e.length === 1;
28
+ o && (t = S.get(e)), t === void 0 && ((this.o = t = new CSSStyleSheet()).replaceSync(this.cssText), o && S.set(e, t));
29
+ }
30
+ return t;
31
+ }
32
+ toString() {
33
+ return this.cssText;
34
+ }
35
+ };
36
+ const L = (n) => new O(typeof n == "string" ? n : n + "", void 0, x), z = (n, t) => {
37
+ if (b) n.adoptedStyleSheets = t.map((e) => e instanceof CSSStyleSheet ? e : e.styleSheet);
38
+ else for (const e of t) {
39
+ const o = document.createElement("style"), s = g.litNonce;
40
+ s !== void 0 && o.setAttribute("nonce", s), o.textContent = e.cssText, n.appendChild(o);
41
+ }
42
+ }, $ = b ? (n) => n : (n) => n instanceof CSSStyleSheet ? ((t) => {
43
+ let e = "";
44
+ for (const o of t.cssRules) e += o.cssText;
45
+ return L(e);
46
+ })(n) : n;
47
+ /**
48
+ * @license
49
+ * Copyright 2017 Google LLC
50
+ * SPDX-License-Identifier: BSD-3-Clause
51
+ */
52
+ const { is: M, defineProperty: N, getOwnPropertyDescriptor: T, getOwnPropertyNames: R, getOwnPropertySymbols: j, getPrototypeOf: D } = Object, l = globalThis, w = l.trustedTypes, H = w ? w.emptyScript : "", _ = l.reactiveElementPolyfillSupport, d = (n, t) => n, y = { toAttribute(n, t) {
53
+ switch (t) {
54
+ case Boolean:
55
+ n = n ? H : null;
56
+ break;
57
+ case Object:
58
+ case Array:
59
+ n = n == null ? n : JSON.stringify(n);
60
+ }
61
+ return n;
62
+ }, fromAttribute(n, t) {
63
+ let e = n;
64
+ switch (t) {
65
+ case Boolean:
66
+ e = n !== null;
67
+ break;
68
+ case Number:
69
+ e = n === null ? null : Number(n);
70
+ break;
71
+ case Object:
72
+ case Array:
73
+ try {
74
+ e = JSON.parse(n);
75
+ } catch {
76
+ e = null;
77
+ }
78
+ }
79
+ return e;
80
+ } }, v = (n, t) => !M(n, t), P = { attribute: !0, type: String, converter: y, reflect: !1, hasChanged: v };
81
+ Symbol.metadata ?? (Symbol.metadata = Symbol("metadata")), l.litPropertyMetadata ?? (l.litPropertyMetadata = /* @__PURE__ */ new WeakMap());
82
+ class p extends HTMLElement {
83
+ static addInitializer(t) {
84
+ this._$Ei(), (this.l ?? (this.l = [])).push(t);
85
+ }
86
+ static get observedAttributes() {
87
+ return this.finalize(), this._$Eh && [...this._$Eh.keys()];
88
+ }
89
+ static createProperty(t, e = P) {
90
+ if (e.state && (e.attribute = !1), this._$Ei(), this.elementProperties.set(t, e), !e.noAccessor) {
91
+ const o = Symbol(), s = this.getPropertyDescriptor(t, o, e);
92
+ s !== void 0 && N(this.prototype, t, s);
93
+ }
94
+ }
95
+ static getPropertyDescriptor(t, e, o) {
96
+ const { get: s, set: r } = T(this.prototype, t) ?? { get() {
97
+ return this[e];
98
+ }, set(i) {
99
+ this[e] = i;
100
+ } };
101
+ return { get() {
102
+ return s == null ? void 0 : s.call(this);
103
+ }, set(i) {
104
+ const a = s == null ? void 0 : s.call(this);
105
+ r.call(this, i), this.requestUpdate(t, a, o);
106
+ }, configurable: !0, enumerable: !0 };
107
+ }
108
+ static getPropertyOptions(t) {
109
+ return this.elementProperties.get(t) ?? P;
110
+ }
111
+ static _$Ei() {
112
+ if (this.hasOwnProperty(d("elementProperties"))) return;
113
+ const t = D(this);
114
+ t.finalize(), t.l !== void 0 && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties);
115
+ }
116
+ static finalize() {
117
+ if (this.hasOwnProperty(d("finalized"))) return;
118
+ if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(d("properties"))) {
119
+ const e = this.properties, o = [...R(e), ...j(e)];
120
+ for (const s of o) this.createProperty(s, e[s]);
121
+ }
122
+ const t = this[Symbol.metadata];
123
+ if (t !== null) {
124
+ const e = litPropertyMetadata.get(t);
125
+ if (e !== void 0) for (const [o, s] of e) this.elementProperties.set(o, s);
126
+ }
127
+ this._$Eh = /* @__PURE__ */ new Map();
128
+ for (const [e, o] of this.elementProperties) {
129
+ const s = this._$Eu(e, o);
130
+ s !== void 0 && this._$Eh.set(s, e);
131
+ }
132
+ this.elementStyles = this.finalizeStyles(this.styles);
133
+ }
134
+ static finalizeStyles(t) {
135
+ const e = [];
136
+ if (Array.isArray(t)) {
137
+ const o = new Set(t.flat(1 / 0).reverse());
138
+ for (const s of o) e.unshift($(s));
139
+ } else t !== void 0 && e.push($(t));
140
+ return e;
141
+ }
142
+ static _$Eu(t, e) {
143
+ const o = e.attribute;
144
+ return o === !1 ? void 0 : typeof o == "string" ? o : typeof t == "string" ? t.toLowerCase() : void 0;
145
+ }
146
+ constructor() {
147
+ super(), this._$Ep = void 0, this.isUpdatePending = !1, this.hasUpdated = !1, this._$Em = null, this._$Ev();
148
+ }
149
+ _$Ev() {
150
+ var t;
151
+ this._$ES = new Promise((e) => this.enableUpdating = e), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), (t = this.constructor.l) == null || t.forEach((e) => e(this));
152
+ }
153
+ addController(t) {
154
+ var e;
155
+ (this._$EO ?? (this._$EO = /* @__PURE__ */ new Set())).add(t), this.renderRoot !== void 0 && this.isConnected && ((e = t.hostConnected) == null || e.call(t));
156
+ }
157
+ removeController(t) {
158
+ var e;
159
+ (e = this._$EO) == null || e.delete(t);
160
+ }
161
+ _$E_() {
162
+ const t = /* @__PURE__ */ new Map(), e = this.constructor.elementProperties;
163
+ for (const o of e.keys()) this.hasOwnProperty(o) && (t.set(o, this[o]), delete this[o]);
164
+ t.size > 0 && (this._$Ep = t);
165
+ }
166
+ createRenderRoot() {
167
+ const t = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
168
+ return z(t, this.constructor.elementStyles), t;
169
+ }
170
+ connectedCallback() {
171
+ var t;
172
+ this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), (t = this._$EO) == null || t.forEach((e) => {
173
+ var o;
174
+ return (o = e.hostConnected) == null ? void 0 : o.call(e);
175
+ });
176
+ }
177
+ enableUpdating(t) {
178
+ }
179
+ disconnectedCallback() {
180
+ var t;
181
+ (t = this._$EO) == null || t.forEach((e) => {
182
+ var o;
183
+ return (o = e.hostDisconnected) == null ? void 0 : o.call(e);
184
+ });
185
+ }
186
+ attributeChangedCallback(t, e, o) {
187
+ this._$AK(t, o);
188
+ }
189
+ _$EC(t, e) {
190
+ var r;
191
+ const o = this.constructor.elementProperties.get(t), s = this.constructor._$Eu(t, o);
192
+ if (s !== void 0 && o.reflect === !0) {
193
+ const i = (((r = o.converter) == null ? void 0 : r.toAttribute) !== void 0 ? o.converter : y).toAttribute(e, o.type);
194
+ this._$Em = t, i == null ? this.removeAttribute(s) : this.setAttribute(s, i), this._$Em = null;
195
+ }
196
+ }
197
+ _$AK(t, e) {
198
+ var r;
199
+ const o = this.constructor, s = o._$Eh.get(t);
200
+ if (s !== void 0 && this._$Em !== s) {
201
+ const i = o.getPropertyOptions(s), a = typeof i.converter == "function" ? { fromAttribute: i.converter } : ((r = i.converter) == null ? void 0 : r.fromAttribute) !== void 0 ? i.converter : y;
202
+ this._$Em = s, this[s] = a.fromAttribute(e, i.type), this._$Em = null;
203
+ }
204
+ }
205
+ requestUpdate(t, e, o) {
206
+ if (t !== void 0) {
207
+ if (o ?? (o = this.constructor.getPropertyOptions(t)), !(o.hasChanged ?? v)(this[t], e)) return;
208
+ this.P(t, e, o);
209
+ }
210
+ this.isUpdatePending === !1 && (this._$ES = this._$ET());
211
+ }
212
+ P(t, e, o) {
213
+ this._$AL.has(t) || this._$AL.set(t, e), o.reflect === !0 && this._$Em !== t && (this._$Ej ?? (this._$Ej = /* @__PURE__ */ new Set())).add(t);
214
+ }
215
+ async _$ET() {
216
+ this.isUpdatePending = !0;
217
+ try {
218
+ await this._$ES;
219
+ } catch (e) {
220
+ Promise.reject(e);
221
+ }
222
+ const t = this.scheduleUpdate();
223
+ return t != null && await t, !this.isUpdatePending;
224
+ }
225
+ scheduleUpdate() {
226
+ return this.performUpdate();
227
+ }
228
+ performUpdate() {
229
+ var o;
230
+ if (!this.isUpdatePending) return;
231
+ if (!this.hasUpdated) {
232
+ if (this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this._$Ep) {
233
+ for (const [r, i] of this._$Ep) this[r] = i;
234
+ this._$Ep = void 0;
235
+ }
236
+ const s = this.constructor.elementProperties;
237
+ if (s.size > 0) for (const [r, i] of s) i.wrapped !== !0 || this._$AL.has(r) || this[r] === void 0 || this.P(r, this[r], i);
238
+ }
239
+ let t = !1;
240
+ const e = this._$AL;
241
+ try {
242
+ t = this.shouldUpdate(e), t ? (this.willUpdate(e), (o = this._$EO) == null || o.forEach((s) => {
243
+ var r;
244
+ return (r = s.hostUpdate) == null ? void 0 : r.call(s);
245
+ }), this.update(e)) : this._$EU();
246
+ } catch (s) {
247
+ throw t = !1, this._$EU(), s;
248
+ }
249
+ t && this._$AE(e);
250
+ }
251
+ willUpdate(t) {
252
+ }
253
+ _$AE(t) {
254
+ var e;
255
+ (e = this._$EO) == null || e.forEach((o) => {
256
+ var s;
257
+ return (s = o.hostUpdated) == null ? void 0 : s.call(o);
258
+ }), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t);
259
+ }
260
+ _$EU() {
261
+ this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = !1;
262
+ }
263
+ get updateComplete() {
264
+ return this.getUpdateComplete();
265
+ }
266
+ getUpdateComplete() {
267
+ return this._$ES;
268
+ }
269
+ shouldUpdate(t) {
270
+ return !0;
271
+ }
272
+ update(t) {
273
+ this._$Ej && (this._$Ej = this._$Ej.forEach((e) => this._$EC(e, this[e]))), this._$EU();
274
+ }
275
+ updated(t) {
276
+ }
277
+ firstUpdated(t) {
278
+ }
279
+ }
280
+ p.elementStyles = [], p.shadowRootOptions = { mode: "open" }, p[d("elementProperties")] = /* @__PURE__ */ new Map(), p[d("finalized")] = /* @__PURE__ */ new Map(), _ == null || _({ ReactiveElement: p }), (l.reactiveElementVersions ?? (l.reactiveElementVersions = [])).push("2.0.4");
281
+ /**
282
+ * @license
283
+ * Copyright 2017 Google LLC
284
+ * SPDX-License-Identifier: BSD-3-Clause
285
+ */
286
+ const q = { attribute: !0, type: String, converter: y, reflect: !1, hasChanged: v }, B = (n = q, t, e) => {
287
+ const { kind: o, metadata: s } = e;
288
+ let r = globalThis.litPropertyMetadata.get(s);
289
+ if (r === void 0 && globalThis.litPropertyMetadata.set(s, r = /* @__PURE__ */ new Map()), r.set(e.name, n), o === "accessor") {
290
+ const { name: i } = e;
291
+ return { set(a) {
292
+ const c = t.get.call(this);
293
+ t.set.call(this, a), this.requestUpdate(i, c, n);
294
+ }, init(a) {
295
+ return a !== void 0 && this.P(i, void 0, n), a;
296
+ } };
297
+ }
298
+ if (o === "setter") {
299
+ const { name: i } = e;
300
+ return function(a) {
301
+ const c = this[i];
302
+ t.call(this, a), this.requestUpdate(i, c, n);
303
+ };
304
+ }
305
+ throw Error("Unsupported decorator location: " + o);
306
+ };
307
+ function u(n) {
308
+ return (t, e) => typeof e == "object" ? B(n, t, e) : ((o, s, r) => {
309
+ const i = s.hasOwnProperty(r);
310
+ return s.constructor.createProperty(r, i ? { ...o, wrapped: !0 } : o), i ? Object.getOwnPropertyDescriptor(s, r) : void 0;
311
+ })(n, t, e);
312
+ }
313
+ /**
314
+ * @license
315
+ * Copyright 2017 Google LLC
316
+ * SPDX-License-Identifier: BSD-3-Clause
317
+ */
318
+ function J(n) {
319
+ return u({ ...n, state: !0, attribute: !1 });
320
+ }
321
+ const K = U`
322
+ :host {
323
+ /* Global Footer Styles */
324
+ --_nys-globalfooter-color: var(
325
+ --nys-color-ink,
326
+ var(--nys-color-neutral-900, #1b1b1b)
327
+ );
328
+ --_nys-globalfooter-background: var(
329
+ --nys-color-theme-weaker,
330
+ var(--nys-color-state-blue-50, #eff6fb)
331
+ );
332
+ --_nys-globalfooter-gap-spacing: var(--nys-space-300, 24px);
333
+ --_nys-globalfooter-padding: var(--nys-space-400, 32px);
334
+ --_nys-globalfooter-gutter: var(--nys-gutter-sm, 20px);
335
+ --_nys-globalfooter-font-size: var(
336
+ --nys-font-size-agency-xl,
337
+ var(--nys-font-size-2xl, 22px)
338
+ );
339
+ --_nys-globalfooter-font-size-links: var(
340
+ --nys-font-size-body-md,
341
+ var(--nys-font-size-md, 16px)
342
+ );
343
+ --_nys-globalfooter-lineheight: normal;
344
+ --_nys-globalfooter-font-weight-semibold: var(
345
+ --nys-font-weight-semibold,
346
+ 600
347
+ );
348
+ --_nys-globalfooter-content-max-width: var(--nys-max-content-width, 1280px);
349
+
350
+ /* Agency Name */
351
+ --_nys-globalfooter-font-family-agency: var(
352
+ --nys-font-family-agency,
353
+ "D Sari",
354
+ Arial,
355
+ sans-serif
356
+ );
357
+
358
+ /* Links */
359
+ --_nys-globalfooter-link-gap-spacing-row: var(--nys-space-400, 32px);
360
+ --_nys-globalfooter-link-gap-spacing-column: var(--nys-space-400, 32px);
361
+ --_nys-globalfooter-lineheight-links: var(
362
+ --nys-font-lineheight-ui-md,
363
+ 24px
364
+ );
365
+ --_nys-globalfooter-link-letterspacing: var(
366
+ --nys-font-letterspacing-ui-md,
367
+ var(--nys-font-letterspacing-400, 0.044px)
368
+ );
369
+ --_nys-globalfooter-font-family: var(
370
+ --nys-font-family-ui,
371
+ var(
372
+ --nys-font-family-sans,
373
+ "Proxima Nova",
374
+ "Helvetica Neue",
375
+ "Helvetica",
376
+ "Arial",
377
+ sans-serif
378
+ )
379
+ );
380
+ }
381
+
382
+ .nys-globalfooter {
383
+ display: flex;
384
+ padding: var(--_nys-globalfooter-padding) var(--_nys-globalfooter-gutter);
385
+ justify-content: center;
386
+ background-color: var(--_nys-globalfooter-background);
387
+ color: var(--_nys-globalfooter-color);
388
+ width: 100%;
389
+ box-sizing: border-box;
390
+ }
391
+
392
+ /* Main Container */
393
+ .nys-globalfooter__main-container {
394
+ display: flex;
395
+ flex-direction: column;
396
+ gap: var(--_nys-globalfooter-gap-spacing);
397
+ width: 100%;
398
+ max-width: var(--_nys-globalfooter-content-max-width);
399
+ }
400
+
401
+ /* The Agency Name */
402
+ .nys-globalfooter__name {
403
+ margin: 0;
404
+ color: var(--_nys-globalfooter-color);
405
+ font-family: var(--_nys-globalfooter-font-family-agency);
406
+ font-size: var(--_nys-globalfooter-font-size);
407
+ font-style: normal;
408
+ font-weight: var(--_nys-globalfooter-font-weight-semibold);
409
+ line-height: var(--_nys-globalfooter-lineheight);
410
+ letter-spacing: normal;
411
+ }
412
+
413
+ /* Slotted content (menu links) basic resets */
414
+ ul {
415
+ list-style-type: none;
416
+ padding: 0;
417
+ margin: 0;
418
+ }
419
+
420
+ li {
421
+ margin: 0;
422
+ padding: 0;
423
+ }
424
+
425
+ a {
426
+ color: var(--_nys-globalfooter-color);
427
+ text-decoration: none;
428
+ font-family: var(--_nys-globalfooter-font-family);
429
+ font-size: var(--_nys-globalfooter-font-size-links);
430
+ font-style: normal;
431
+ font-weight: var(--_nys-globalfooter-font-weight-semibold);
432
+ line-height: var(--_nys-globalfooter-lineheight-links);
433
+ letter-spacing: var(--_nys-globalfooter-link-letterspacing);
434
+ }
435
+
436
+ /* Specific layout for menu links (grouped or singular list of menus) */
437
+ .nys-globalfooter__content {
438
+ width: 100%;
439
+ }
440
+
441
+ .nys-globalfooter__content ul {
442
+ display: flex;
443
+ gap: var(--_nys-globalfooter-link-gap-spacing-row)
444
+ var(--_nys-globalfooter-link-gap-spacing-column);
445
+ flex-wrap: wrap;
446
+ }
447
+
448
+ /* Breakpoints using NYSDS Guidelines (Menu Links) */
449
+ @media (min-width: 768px) {
450
+ /* Tablet (MD - Above 768px) */
451
+ :host {
452
+ --_nys-globalfooter-gutter: var(--nys-gutter-lg, 32px);
453
+ --_nys-globalfooter-link-gap-spacing-column: var(--nys-space-600, 48px);
454
+ }
455
+ }
456
+
457
+ @media (min-width: 1280px) {
458
+ /* Large Desktop (XL - Above 1280px) */
459
+ :host {
460
+ --_nys-globalfooter-gutter: var(--nys-gutter-xl, 64px);
461
+ }
462
+ }
463
+ `;
464
+ var W = Object.defineProperty, m = (n, t, e, o) => {
465
+ for (var s = void 0, r = n.length - 1, i; r >= 0; r--)
466
+ (i = n[r]) && (s = i(t, e, s) || s);
467
+ return s && W(t, e, s), s;
468
+ };
469
+ const E = class E extends A {
470
+ constructor() {
471
+ super(...arguments), this.agencyName = "", this.homepageLink = window.location.origin, this.disableHomepageLink = !1, this.slotHasContent = !0;
472
+ }
473
+ /**************** Lifecycle Methods ****************/
474
+ firstUpdated() {
475
+ var e;
476
+ const t = (e = this.shadowRoot) == null ? void 0 : e.querySelector("slot");
477
+ t == null || t.addEventListener("slotchange", () => this._handleSlotChange()), this._handleSlotChange();
478
+ }
479
+ /******************** Functions ********************/
480
+ // Gets called when the slot content changes and directly appends the slotted elements into the shadow DOM
481
+ _handleSlotChange() {
482
+ var r, i;
483
+ const t = (r = this.shadowRoot) == null ? void 0 : r.querySelector("slot");
484
+ if (!t) return;
485
+ const e = t == null ? void 0 : t.assignedNodes({ flatten: !0 }).filter((a) => a.nodeType === Node.ELEMENT_NODE);
486
+ this.slotHasContent = e.length > 0;
487
+ const o = (i = this.shadowRoot) == null ? void 0 : i.querySelector(
488
+ ".nys-globalfooter__content"
489
+ ), s = e == null ? void 0 : e.some(
490
+ (a) => a.tagName === "H4"
491
+ );
492
+ o && (o.classList.toggle("columns", s), o.classList.toggle("small", !s), o.innerHTML = "", e.forEach((a) => {
493
+ if (a.nodeType === Node.ELEMENT_NODE) {
494
+ const c = a.cloneNode(!0);
495
+ ["script", "iframe", "object", "embed"].forEach((k) => {
496
+ c.querySelectorAll(k).forEach((C) => C.remove());
497
+ }), o.appendChild(c), a.remove();
498
+ }
499
+ }));
500
+ }
501
+ render() {
502
+ var t;
503
+ return f`
504
+ <footer class="nys-globalfooter">
505
+ <div class="nys-globalfooter__main-container">
506
+ ${this.disableHomepageLink ? f`<p class="nys-globalfooter__name">${this.agencyName}</p>` : f`<a
507
+ href=${((t = this.homepageLink) == null ? void 0 : t.trim()) || window.location.origin}
508
+ >
509
+ <p class="nys-globalfooter__name">${this.agencyName}</p>
510
+ </a>`}
511
+ ${this.slotHasContent ? f`<div class="nys-globalfooter__content">
512
+ <slot
513
+ style="display: hidden"
514
+ @slotchange="${this._handleSlotChange}"
515
+ ></slot>
516
+ </div>` : ""}
517
+ </div>
518
+ </footer>
519
+ `;
520
+ }
521
+ };
522
+ E.styles = K;
523
+ let h = E;
524
+ m([
525
+ u({ type: String })
526
+ ], h.prototype, "agencyName");
527
+ m([
528
+ u({ type: String })
529
+ ], h.prototype, "homepageLink");
530
+ m([
531
+ u({ type: Boolean })
532
+ ], h.prototype, "disableHomepageLink");
533
+ m([
534
+ J()
535
+ ], h.prototype, "slotHasContent");
536
+ customElements.get("nys-globalfooter") || customElements.define("nys-globalfooter", h);
537
+ export {
538
+ h as NysGlobalFooter
539
+ };
540
+ //# sourceMappingURL=nys-globalfooter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nys-globalfooter.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-globalfooter.styles.ts","../src/nys-globalfooter.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,adoptStyles,css,getCompatibleStyle,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:r,getOwnPropertyNames:h,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),y={attribute:!0,type:String,converter:u,reflect:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class b 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=y){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e(this.prototype,t,r)}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y}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=[...h(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)}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),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),r=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f)(this[t],s))return;this.P(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){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)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.P(s,this[s],i)}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._$EU()}catch(s){throw t=!1,this._$EU(),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)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:\"open\"},b[d(\"elementProperties\")]=new Map,b[d(\"finalized\")]=new Map,p?.({ReactiveElement:b}),(a.reactiveElementVersions??=[]).push(\"2.0.4\");export{b as ReactiveElement,u as defaultConverter,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),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.P(o,void 0,t),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,r?{...t,wrapped:!0}: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 Footer Styles */\n --_nys-globalfooter-color: var(\n --nys-color-ink,\n var(--nys-color-neutral-900, #1b1b1b)\n );\n --_nys-globalfooter-background: var(\n --nys-color-theme-weaker,\n var(--nys-color-state-blue-50, #eff6fb)\n );\n --_nys-globalfooter-gap-spacing: var(--nys-space-300, 24px);\n --_nys-globalfooter-padding: var(--nys-space-400, 32px);\n --_nys-globalfooter-gutter: var(--nys-gutter-sm, 20px);\n --_nys-globalfooter-font-size: var(\n --nys-font-size-agency-xl,\n var(--nys-font-size-2xl, 22px)\n );\n --_nys-globalfooter-font-size-links: var(\n --nys-font-size-body-md,\n var(--nys-font-size-md, 16px)\n );\n --_nys-globalfooter-lineheight: normal;\n --_nys-globalfooter-font-weight-semibold: var(\n --nys-font-weight-semibold,\n 600\n );\n --_nys-globalfooter-content-max-width: var(--nys-max-content-width, 1280px);\n\n /* Agency Name */\n --_nys-globalfooter-font-family-agency: var(\n --nys-font-family-agency,\n \"D Sari\",\n Arial,\n sans-serif\n );\n\n /* Links */\n --_nys-globalfooter-link-gap-spacing-row: var(--nys-space-400, 32px);\n --_nys-globalfooter-link-gap-spacing-column: var(--nys-space-400, 32px);\n --_nys-globalfooter-lineheight-links: var(\n --nys-font-lineheight-ui-md,\n 24px\n );\n --_nys-globalfooter-link-letterspacing: var(\n --nys-font-letterspacing-ui-md,\n var(--nys-font-letterspacing-400, 0.044px)\n );\n --_nys-globalfooter-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 }\n\n .nys-globalfooter {\n display: flex;\n padding: var(--_nys-globalfooter-padding) var(--_nys-globalfooter-gutter);\n justify-content: center;\n background-color: var(--_nys-globalfooter-background);\n color: var(--_nys-globalfooter-color);\n width: 100%;\n box-sizing: border-box;\n }\n\n /* Main Container */\n .nys-globalfooter__main-container {\n display: flex;\n flex-direction: column;\n gap: var(--_nys-globalfooter-gap-spacing);\n width: 100%;\n max-width: var(--_nys-globalfooter-content-max-width);\n }\n\n /* The Agency Name */\n .nys-globalfooter__name {\n margin: 0;\n color: var(--_nys-globalfooter-color);\n font-family: var(--_nys-globalfooter-font-family-agency);\n font-size: var(--_nys-globalfooter-font-size);\n font-style: normal;\n font-weight: var(--_nys-globalfooter-font-weight-semibold);\n line-height: var(--_nys-globalfooter-lineheight);\n letter-spacing: normal;\n }\n\n /* Slotted content (menu links) basic resets */\n ul {\n list-style-type: none;\n padding: 0;\n margin: 0;\n }\n\n li {\n margin: 0;\n padding: 0;\n }\n\n a {\n color: var(--_nys-globalfooter-color);\n text-decoration: none;\n font-family: var(--_nys-globalfooter-font-family);\n font-size: var(--_nys-globalfooter-font-size-links);\n font-style: normal;\n font-weight: var(--_nys-globalfooter-font-weight-semibold);\n line-height: var(--_nys-globalfooter-lineheight-links);\n letter-spacing: var(--_nys-globalfooter-link-letterspacing);\n }\n\n /* Specific layout for menu links (grouped or singular list of menus) */\n .nys-globalfooter__content {\n width: 100%;\n }\n\n .nys-globalfooter__content ul {\n display: flex;\n gap: var(--_nys-globalfooter-link-gap-spacing-row)\n var(--_nys-globalfooter-link-gap-spacing-column);\n flex-wrap: wrap;\n }\n\n /* Breakpoints using NYSDS Guidelines (Menu Links) */\n @media (min-width: 768px) {\n /* Tablet (MD - Above 768px) */\n :host {\n --_nys-globalfooter-gutter: var(--nys-gutter-lg, 32px);\n --_nys-globalfooter-link-gap-spacing-column: var(--nys-space-600, 48px);\n }\n }\n\n @media (min-width: 1280px) {\n /* Large Desktop (XL - Above 1280px) */\n :host {\n --_nys-globalfooter-gutter: var(--nys-gutter-xl, 64px);\n }\n }\n`;\n","import { LitElement, html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport styles from \"./nys-globalfooter.styles\";\n\nexport class NysGlobalFooter extends LitElement {\n static styles = styles;\n\n /********************** Properties **********************/\n @property({ type: String }) agencyName = \"\";\n @property({ type: String }) homepageLink = window.location.origin;\n @property({ type: Boolean }) disableHomepageLink = false;\n @state() private slotHasContent = true;\n\n /**************** Lifecycle Methods ****************/\n\n firstUpdated() {\n // Check for slot content after rendering\n const slot = this.shadowRoot?.querySelector<HTMLSlotElement>(\"slot\");\n slot?.addEventListener(\"slotchange\", () => this._handleSlotChange());\n this._handleSlotChange(); // Initial check\n }\n\n /******************** Functions ********************/\n // Gets called when the slot content changes and directly appends the slotted elements into the shadow DOM\n private _handleSlotChange() {\n const slot = this.shadowRoot?.querySelector<HTMLSlotElement>(\"slot\");\n if (!slot) return;\n\n const assignedNodes = slot\n ?.assignedNodes({ flatten: true })\n .filter((node) => node.nodeType === Node.ELEMENT_NODE) as Element[]; // Filter to elements only\n\n // Update slotHasContent based on assigned elements\n this.slotHasContent = assignedNodes.length > 0;\n\n // Determine layout based on content structure\n const container = this.shadowRoot?.querySelector(\n \".nys-globalfooter__content\",\n );\n const hasMultipleGroups = assignedNodes?.some(\n (node) => node.tagName === \"H4\",\n );\n\n // Toggle layout classes\n if (container) {\n container.classList.toggle(\"columns\", hasMultipleGroups);\n container.classList.toggle(\"small\", !hasMultipleGroups);\n\n // Clear existing children in the container\n container.innerHTML = \"\";\n\n // Clone and append slotted elements into the shadow DOM container\n assignedNodes.forEach((node) => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n const cleanNode = node.cloneNode(true);\n\n // Remove <script>, <iframe>, <object>, and any potentially dangerous elements XSS\n const dangerousTags = [\"script\", \"iframe\", \"object\", \"embed\"];\n dangerousTags.forEach((tag) => {\n (cleanNode as Element)\n .querySelectorAll(tag)\n .forEach((element) => element.remove());\n });\n container.appendChild(cleanNode);\n node.remove(); // Remove from light DOM to avoid duplication\n }\n });\n }\n }\n\n render() {\n return html`\n <footer class=\"nys-globalfooter\">\n <div class=\"nys-globalfooter__main-container\">\n ${this.disableHomepageLink\n ? html`<p class=\"nys-globalfooter__name\">${this.agencyName}</p>`\n : html`<a\n href=${this.homepageLink?.trim() || window.location.origin}\n >\n <p class=\"nys-globalfooter__name\">${this.agencyName}</p>\n </a>`}\n ${this.slotHasContent\n ? html`<div class=\"nys-globalfooter__content\">\n <slot\n style=\"display: hidden\"\n @slotchange=\"${this._handleSlotChange}\"\n ></slot>\n </div>`\n : \"\"}\n </div>\n </footer>\n `;\n }\n}\n\nif (!customElements.get(\"nys-globalfooter\")) {\n customElements.define(\"nys-globalfooter\", NysGlobalFooter);\n}\n"],"names":["t","e","s","o","n$2","r","n","S","c","i","h","a","l","p","u","f","y","b","_a","styles","css","_NysGlobalFooter","LitElement","slot","assignedNodes","node","container","_b","hasMultipleGroups","cleanNode","tag","element","html","NysGlobalFooter","__decorateClass","property","state"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").CSSResult;
2
+ export default _default;
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@nysds/nys-globalfooter",
3
+ "version": "1.0.0",
4
+ "description": "A global footer component from the NYS Design System.",
5
+ "module": "dist/nys-globalfooter.js",
6
+ "types": "dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "import": "./dist/nys-globalfooter.js",
10
+ "types": "./dist/index.d.ts"
11
+ }
12
+ },
13
+ "type": "module",
14
+ "files": [
15
+ "dist/"
16
+ ],
17
+ "scripts": {
18
+ "dev": "tsc --emitDeclarationOnly && vite",
19
+ "build": "tsc --emitDeclarationOnly && vite build"
20
+ },
21
+ "peerDependencies": {
22
+ "lit": "^3.2.1"
23
+ },
24
+ "devDependencies": {
25
+ "lit": "^3.2.1",
26
+ "typescript": "^5.7.2",
27
+ "vite": "^6.0.11"
28
+ },
29
+ "keywords": [
30
+ "new-york-state",
31
+ "design-system",
32
+ "web-components",
33
+ "lit",
34
+ "nys",
35
+ "globalfooter"
36
+ ],
37
+ "author": "New York State Design System Team",
38
+ "license": "MIT"
39
+ }