@nysds/nys-accordion 1.11.2 → 1.11.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,470 +1,14 @@
1
- import { css as k, LitElement as C, html as U } from "lit";
2
- /*!
3
- * ▒█▄░▒█ ▒█░░▒█ ▒█▀▀▀█ ▒█▀▀▄ ▒█▀▀▀█
4
- * ▒█▒█▒█ ▒█▄▄▄█ ░▀▀▀▄▄ ▒█░▒█ ░▀▀▀▄▄
5
- * ▒█░░▀█ ░░▒█░░ ▒█▄▄▄█ ▒█▄▄▀ ▒█▄▄▄█
6
- *
7
- * Accordion 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 y = globalThis, v = y.ShadowRoot && (y.ShadyCSS === void 0 || y.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, A = Symbol(), x = /* @__PURE__ */ new WeakMap();
18
- let R = class {
19
- constructor(e, t, i) {
20
- if (this._$cssResult$ = !0, i !== A) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
21
- this.cssText = e, this.t = t;
22
- }
23
- get styleSheet() {
24
- let e = this.o;
25
- const t = this.t;
26
- if (v && e === void 0) {
27
- const i = t !== void 0 && t.length === 1;
28
- i && (e = x.get(t)), e === void 0 && ((this.o = e = new CSSStyleSheet()).replaceSync(this.cssText), i && x.set(t, e));
29
- }
30
- return e;
31
- }
32
- toString() {
33
- return this.cssText;
34
- }
35
- };
36
- const M = (s) => new R(typeof s == "string" ? s : s + "", void 0, A), z = (s, e) => {
37
- if (v) s.adoptedStyleSheets = e.map(((t) => t instanceof CSSStyleSheet ? t : t.styleSheet));
38
- else for (const t of e) {
39
- const i = document.createElement("style"), o = y.litNonce;
40
- o !== void 0 && i.setAttribute("nonce", o), i.textContent = t.cssText, s.appendChild(i);
41
- }
42
- }, S = v ? (s) => s : (s) => s instanceof CSSStyleSheet ? ((e) => {
43
- let t = "";
44
- for (const i of e.cssRules) t += i.cssText;
45
- return M(t);
46
- })(s) : s;
47
- /**
48
- * @license
49
- * Copyright 2017 Google LLC
50
- * SPDX-License-Identifier: BSD-3-Clause
51
- */
52
- const { is: T, defineProperty: j, getOwnPropertyDescriptor: q, getOwnPropertyNames: D, getOwnPropertySymbols: L, getPrototypeOf: H } = Object, _ = globalThis, w = _.trustedTypes, I = w ? w.emptyScript : "", B = _.reactiveElementPolyfillSupport, p = (s, e) => s, f = { toAttribute(s, e) {
53
- switch (e) {
54
- case Boolean:
55
- s = s ? I : null;
56
- break;
57
- case Object:
58
- case Array:
59
- s = s == null ? s : JSON.stringify(s);
60
- }
61
- return s;
62
- }, fromAttribute(s, e) {
63
- let t = s;
64
- switch (e) {
65
- case Boolean:
66
- t = s !== null;
67
- break;
68
- case Number:
69
- t = s === null ? null : Number(s);
70
- break;
71
- case Object:
72
- case Array:
73
- try {
74
- t = JSON.parse(s);
75
- } catch {
76
- t = null;
77
- }
78
- }
79
- return t;
80
- } }, m = (s, e) => !T(s, e), P = { attribute: !0, type: String, converter: f, reflect: !1, useDefault: !1, hasChanged: m };
81
- Symbol.metadata ??= Symbol("metadata"), _.litPropertyMetadata ??= /* @__PURE__ */ new WeakMap();
82
- class h extends HTMLElement {
83
- static addInitializer(e) {
84
- this._$Ei(), (this.l ??= []).push(e);
85
- }
86
- static get observedAttributes() {
87
- return this.finalize(), this._$Eh && [...this._$Eh.keys()];
88
- }
89
- static createProperty(e, t = P) {
90
- if (t.state && (t.attribute = !1), this._$Ei(), this.prototype.hasOwnProperty(e) && ((t = Object.create(t)).wrapped = !0), this.elementProperties.set(e, t), !t.noAccessor) {
91
- const i = Symbol(), o = this.getPropertyDescriptor(e, i, t);
92
- o !== void 0 && j(this.prototype, e, o);
93
- }
94
- }
95
- static getPropertyDescriptor(e, t, i) {
96
- const { get: o, set: n } = q(this.prototype, e) ?? { get() {
97
- return this[t];
98
- }, set(r) {
99
- this[t] = r;
100
- } };
101
- return { get: o, set(r) {
102
- const a = o?.call(this);
103
- n?.call(this, r), this.requestUpdate(e, a, i);
104
- }, configurable: !0, enumerable: !0 };
105
- }
106
- static getPropertyOptions(e) {
107
- return this.elementProperties.get(e) ?? P;
108
- }
109
- static _$Ei() {
110
- if (this.hasOwnProperty(p("elementProperties"))) return;
111
- const e = H(this);
112
- e.finalize(), e.l !== void 0 && (this.l = [...e.l]), this.elementProperties = new Map(e.elementProperties);
113
- }
114
- static finalize() {
115
- if (this.hasOwnProperty(p("finalized"))) return;
116
- if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(p("properties"))) {
117
- const t = this.properties, i = [...D(t), ...L(t)];
118
- for (const o of i) this.createProperty(o, t[o]);
119
- }
120
- const e = this[Symbol.metadata];
121
- if (e !== null) {
122
- const t = litPropertyMetadata.get(e);
123
- if (t !== void 0) for (const [i, o] of t) this.elementProperties.set(i, o);
124
- }
125
- this._$Eh = /* @__PURE__ */ new Map();
126
- for (const [t, i] of this.elementProperties) {
127
- const o = this._$Eu(t, i);
128
- o !== void 0 && this._$Eh.set(o, t);
129
- }
130
- this.elementStyles = this.finalizeStyles(this.styles);
131
- }
132
- static finalizeStyles(e) {
133
- const t = [];
134
- if (Array.isArray(e)) {
135
- const i = new Set(e.flat(1 / 0).reverse());
136
- for (const o of i) t.unshift(S(o));
137
- } else e !== void 0 && t.push(S(e));
138
- return t;
139
- }
140
- static _$Eu(e, t) {
141
- const i = t.attribute;
142
- return i === !1 ? void 0 : typeof i == "string" ? i : typeof e == "string" ? e.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(((e) => this.enableUpdating = e)), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), this.constructor.l?.forEach(((e) => e(this)));
149
- }
150
- addController(e) {
151
- (this._$EO ??= /* @__PURE__ */ new Set()).add(e), this.renderRoot !== void 0 && this.isConnected && e.hostConnected?.();
152
- }
153
- removeController(e) {
154
- this._$EO?.delete(e);
155
- }
156
- _$E_() {
157
- const e = /* @__PURE__ */ new Map(), t = this.constructor.elementProperties;
158
- for (const i of t.keys()) this.hasOwnProperty(i) && (e.set(i, this[i]), delete this[i]);
159
- e.size > 0 && (this._$Ep = e);
160
- }
161
- createRenderRoot() {
162
- const e = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
163
- return z(e, this.constructor.elementStyles), e;
164
- }
165
- connectedCallback() {
166
- this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(!0), this._$EO?.forEach(((e) => e.hostConnected?.()));
167
- }
168
- enableUpdating(e) {
169
- }
170
- disconnectedCallback() {
171
- this._$EO?.forEach(((e) => e.hostDisconnected?.()));
172
- }
173
- attributeChangedCallback(e, t, i) {
174
- this._$AK(e, i);
175
- }
176
- _$ET(e, t) {
177
- const i = this.constructor.elementProperties.get(e), o = this.constructor._$Eu(e, i);
178
- if (o !== void 0 && i.reflect === !0) {
179
- const n = (i.converter?.toAttribute !== void 0 ? i.converter : f).toAttribute(t, i.type);
180
- this._$Em = e, n == null ? this.removeAttribute(o) : this.setAttribute(o, n), this._$Em = null;
181
- }
182
- }
183
- _$AK(e, t) {
184
- const i = this.constructor, o = i._$Eh.get(e);
185
- if (o !== void 0 && this._$Em !== o) {
186
- const n = i.getPropertyOptions(o), r = typeof n.converter == "function" ? { fromAttribute: n.converter } : n.converter?.fromAttribute !== void 0 ? n.converter : f;
187
- this._$Em = o;
188
- const a = r.fromAttribute(t, n.type);
189
- this[o] = a ?? this._$Ej?.get(o) ?? a, this._$Em = null;
190
- }
191
- }
192
- requestUpdate(e, t, i) {
193
- if (e !== void 0) {
194
- const o = this.constructor, n = this[e];
195
- if (i ??= o.getPropertyOptions(e), !((i.hasChanged ?? m)(n, t) || i.useDefault && i.reflect && n === this._$Ej?.get(e) && !this.hasAttribute(o._$Eu(e, i)))) return;
196
- this.C(e, t, i);
197
- }
198
- this.isUpdatePending === !1 && (this._$ES = this._$EP());
199
- }
200
- C(e, t, { useDefault: i, reflect: o, wrapped: n }, r) {
201
- i && !(this._$Ej ??= /* @__PURE__ */ new Map()).has(e) && (this._$Ej.set(e, r ?? t ?? this[e]), n !== !0 || r !== void 0) || (this._$AL.has(e) || (this.hasUpdated || i || (t = void 0), this._$AL.set(e, t)), o === !0 && this._$Em !== e && (this._$Eq ??= /* @__PURE__ */ new Set()).add(e));
202
- }
203
- async _$EP() {
204
- this.isUpdatePending = !0;
205
- try {
206
- await this._$ES;
207
- } catch (t) {
208
- Promise.reject(t);
209
- }
210
- const e = this.scheduleUpdate();
211
- return e != null && await e, !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 [o, n] of this._$Ep) this[o] = n;
221
- this._$Ep = void 0;
222
- }
223
- const i = this.constructor.elementProperties;
224
- if (i.size > 0) for (const [o, n] of i) {
225
- const { wrapped: r } = n, a = this[o];
226
- r !== !0 || this._$AL.has(o) || a === void 0 || this.C(o, void 0, n, a);
227
- }
228
- }
229
- let e = !1;
230
- const t = this._$AL;
231
- try {
232
- e = this.shouldUpdate(t), e ? (this.willUpdate(t), this._$EO?.forEach(((i) => i.hostUpdate?.())), this.update(t)) : this._$EM();
233
- } catch (i) {
234
- throw e = !1, this._$EM(), i;
235
- }
236
- e && this._$AE(t);
237
- }
238
- willUpdate(e) {
239
- }
240
- _$AE(e) {
241
- this._$EO?.forEach(((t) => t.hostUpdated?.())), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(e)), this.updated(e);
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(e) {
253
- return !0;
254
- }
255
- update(e) {
256
- this._$Eq &&= this._$Eq.forEach(((t) => this._$ET(t, this[t]))), this._$EM();
257
- }
258
- updated(e) {
259
- }
260
- firstUpdated(e) {
261
- }
262
- }
263
- h.elementStyles = [], h.shadowRootOptions = { mode: "open" }, h[p("elementProperties")] = /* @__PURE__ */ new Map(), h[p("finalized")] = /* @__PURE__ */ new Map(), B?.({ ReactiveElement: h }), (_.reactiveElementVersions ??= []).push("2.1.1");
264
- /**
265
- * @license
266
- * Copyright 2017 Google LLC
267
- * SPDX-License-Identifier: BSD-3-Clause
268
- */
269
- const N = { attribute: !0, type: String, converter: f, reflect: !1, hasChanged: m }, K = (s = N, e, t) => {
270
- const { kind: i, metadata: o } = t;
271
- let n = globalThis.litPropertyMetadata.get(o);
272
- if (n === void 0 && globalThis.litPropertyMetadata.set(o, n = /* @__PURE__ */ new Map()), i === "setter" && ((s = Object.create(s)).wrapped = !0), n.set(t.name, s), i === "accessor") {
273
- const { name: r } = t;
274
- return { set(a) {
275
- const g = e.get.call(this);
276
- e.set.call(this, a), this.requestUpdate(r, g, s);
277
- }, init(a) {
278
- return a !== void 0 && this.C(r, void 0, s, a), a;
279
- } };
280
- }
281
- if (i === "setter") {
282
- const { name: r } = t;
283
- return function(a) {
284
- const g = this[r];
285
- e.call(this, a), this.requestUpdate(r, g, s);
286
- };
287
- }
288
- throw Error("Unsupported decorator location: " + i);
289
- };
290
- function d(s) {
291
- return (e, t) => typeof t == "object" ? K(s, e, t) : ((i, o, n) => {
292
- const r = o.hasOwnProperty(n);
293
- return o.constructor.createProperty(n, i), r ? Object.getOwnPropertyDescriptor(o, n) : void 0;
294
- })(s, e, t);
295
- }
296
- /**
297
- * @license
298
- * Copyright 2017 Google LLC
299
- * SPDX-License-Identifier: BSD-3-Clause
300
- */
301
- const J = (s, e, t) => (t.configurable = !0, t.enumerable = !0, Reflect.decorate && typeof e != "object" && Object.defineProperty(s, e, t), t);
302
- /**
303
- * @license
304
- * Copyright 2017 Google LLC
305
- * SPDX-License-Identifier: BSD-3-Clause
306
- */
307
- function W(s, e) {
308
- return (t, i, o) => {
309
- const n = (r) => r.renderRoot?.querySelector(s) ?? null;
310
- return J(t, i, { get() {
311
- return n(this);
312
- } });
313
- };
314
- }
315
- const O = k`
316
- :host {
317
- /* Anything that can be overridden should be defined here */
318
-
319
- /* Global Accordion Styles */
320
- --_nys-accordion-border-radius: var(--nys-radius-md, 4px);
321
- --_nys-accordion-border-width: var(--nys-border-width-md, 2px);
322
- --_nys-accordion-border-color: var(--nys-color-neutral-50, #ededed);
323
- --_nys-accordion-padding--x: var(--nys-space-250, 20px);
324
- --_nys-accordion-padding--y: var(--nys-space-200, 16px);
325
- --_nys-accordion-outline-width: var(--nys-border-width-md, 2px);
326
- --_nys-accordion-outline-offset: var(--nys-space-2px, 2px);
327
- --_nys-accordion-outline-color: var(--nys-color-focus, #004dd1);
328
- --_nys-accordion-gap: var(--nys-space-100, 8px);
329
-
330
- /* Header & Text container */
331
- --_nys-accordion-background-color: var(--nys-color-neutral-50, #ededed);
332
- --_nys-accordion-background-color--hover: var(
333
- --nys-color-neutral-100,
334
- #d0d0ce
335
- );
336
- --_nys-accordionitem-gap: var(--nys-space-200, 16px);
337
- --_nys-accordionitem-background-color: var(--nys-color-ink-reverse, #fff);
338
- --_nys-accordionitem-padding: var(--nys-space-200, 16px)
339
- var(--local-xx-spacing-205, 20px);
340
-
341
- /* Typography */
342
- --_nys-accordion-font-size: var(--nys-type-size-ui-xl, 20px);
343
- --_nys-accordion-font-weight: var(--nys-font-weight-bold, 700);
344
- --_nys-accordion-line-height: var(--nys-font-lineheight-ui-xl, 28px);
345
- --_nys-accordion-letter-spacing: var(
346
- --nys-font-letterspacing-ui-xl,
347
- 0.017px
348
- );
349
- --_nys-accordion-font-family: var(
350
- --nys-font-family-ui,
351
- var(
352
- --nys-font-family-sans,
353
- "Proxima Nova",
354
- "Helvetica Neue",
355
- "Helvetica",
356
- "Arial",
357
- sans-serif
358
- )
359
- );
360
- }
361
-
362
- /* CSS Resets */
363
- ::slotted(p),
364
- p {
365
- margin: 0 !important;
366
- }
367
-
368
- .nys-accordionitem {
369
- font-family: var(--_nys-accordion-font-family);
370
- font-size: var(--_nys-accordion-font-size);
371
- font-weight: var(--_nys-accordion-font-weight);
372
- line-height: var(--_nys-accordion-line-height);
373
- letter-spacing: var(--_nys-accordion-letter-spacing);
374
- display: flex;
375
- }
376
-
377
- .nys-accordionitem__heading {
378
- all: unset;
379
- flex: 1;
380
- gap: var(--_nys-accordionitem-gap);
381
- display: flex;
382
- padding: var(--_nys-accordion-padding--y) var(--_nys-accordion-padding--x);
383
- align-items: center;
384
- align-self: stretch;
385
- border-radius: var(--_nys-accordion-border-radius);
386
- background-color: var(--_nys-accordion-background-color);
387
- cursor: pointer;
388
- transition: 0.05s all ease-in-out;
389
- }
390
-
391
- .nys-accordionitem__heading:hover {
392
- border-radius: var(--_nys-accordion-border-radius);
393
- background-color: var(--_nys-accordion-background-color--hover);
394
- }
395
-
396
- .nys-accordionitem__heading:focus-visible {
397
- outline-offset: var(--_nys-accordion-outline-offset);
398
- outline: solid var(--_nys-accordion-outline-width)
399
- var(--_nys-accordion-outline-color);
400
- }
401
-
402
- .nys-accordionitem__heading .nys-accordionitem__heading-title {
403
- flex: 1;
404
- }
405
-
406
- /*** Content layer ***/
407
- .nys-accordionitem__content {
408
- height: 0;
409
- overflow: hidden;
410
- transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
411
- visibility: hidden;
412
- }
413
-
414
- .nys-accordionitem__content.expanded {
415
- /* Accordion JS code takes care of setting the exact calculated height so we can open exact px height */
416
- visibility: visible;
417
- }
418
-
419
- .nys-accordionitem__content-slot-container {
420
- display: flex;
421
- flex-direction: column;
422
- align-items: flex-start;
423
- gap: var(--_nys-accordion-gap);
424
- align-self: stretch;
425
- padding: var(--_nys-accordionitem-padding);
426
- background-color: var(--_nys-accordionitem-background-color);
427
- }
428
-
429
- .nys-accordionitem__content-slot-container-text {
430
- max-width: 528px;
431
- }
432
-
433
- /*** Expanded Styling ***/
434
- .expand-icon {
435
- transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
436
- }
437
- :host([expanded]) .expand-icon {
438
- transform: rotate(180deg);
439
- }
440
-
441
- /*** Bordered Styling ***/
442
- :host([bordered][expanded]) .nys-accordionitem__heading {
443
- border-radius: var(--_nys-accordion-border-radius)
444
- var(--_nys-accordion-border-radius) 0 0;
445
- }
446
-
447
- :host([bordered]) .nys-accordionitem__content-slot-container {
448
- border: var(--_nys-accordion-border-width) solid
449
- var(--_nys-accordion-border-color);
450
- border-radius: 0 0 var(--_nys-accordion-border-radius)
451
- var(--_nys-accordion-border-radius);
452
- }
453
-
454
- /*** Accordion Wrapper ***/
455
- .nys-accordion {
456
- display: flex;
457
- flex-direction: column;
458
- gap: var(--_nys-accordion-gap);
459
- }
460
- `;
461
- var G = Object.defineProperty, u = (s, e, t, i) => {
462
- for (var o = void 0, n = s.length - 1, r; n >= 0; n--)
463
- (r = s[n]) && (o = r(e, t, o) || o);
464
- return o && G(e, t, o), o;
1
+ import { LitElement as _, unsafeCSS as u, html as g } from "lit";
2
+ import { property as r, query as v } from "lit/decorators.js";
3
+ const f = ':host{--_nys-accordion-border-radius: var(--nys-radius-md, 4px);--_nys-accordion-border-width: var(--nys-border-width-md, 2px);--_nys-accordion-border-color: var(--nys-color-neutral-50, #ededed);--_nys-accordion-padding--x: var(--nys-space-250, 20px);--_nys-accordion-padding--y: var(--nys-space-200, 16px);--_nys-accordion-outline-width: var(--nys-border-width-md, 2px);--_nys-accordion-outline-offset: var(--nys-space-2px, 2px);--_nys-accordion-outline-color: var(--nys-color-focus, #004dd1);--_nys-accordion-gap: var(--nys-space-100, 8px);--_nys-accordion-background-color: var(--nys-color-neutral-50, #ededed);--_nys-accordion-background-color--hover: var( --nys-color-neutral-100, #d0d0ce );--_nys-accordionitem-gap: var(--nys-space-200, 16px);--_nys-accordionitem-background-color: var(--nys-color-ink-reverse, #fff);--_nys-accordionitem-padding: var(--nys-space-200, 16px) var(--local-xx-spacing-205, 20px);--_nys-accordion-font-size: var(--nys-type-size-ui-xl, 20px);--_nys-accordion-font-weight: var(--nys-font-weight-bold, 700);--_nys-accordion-line-height: var(--nys-font-lineheight-ui-xl, 28px);--_nys-accordion-letter-spacing: var( --nys-font-letterspacing-ui-xl, .017px );--_nys-accordion-font-family: var( --nys-font-family-ui, var( --nys-font-family-sans, "Proxima Nova", "Helvetica Neue", "Helvetica", "Arial", sans-serif ) )}::slotted(p),p{margin:0!important}.nys-accordionitem{font-family:var(--_nys-accordion-font-family);font-size:var(--_nys-accordion-font-size);font-weight:var(--_nys-accordion-font-weight);line-height:var(--_nys-accordion-line-height);letter-spacing:var(--_nys-accordion-letter-spacing);display:flex}.nys-accordionitem__heading{all:unset;flex:1;gap:var(--_nys-accordionitem-gap);display:flex;padding:var(--_nys-accordion-padding--y) var(--_nys-accordion-padding--x);align-items:center;align-self:stretch;border-radius:var(--_nys-accordion-border-radius);background-color:var(--_nys-accordion-background-color);cursor:pointer;transition:.05s all ease-in-out}.nys-accordionitem__heading:hover{border-radius:var(--_nys-accordion-border-radius);background-color:var(--_nys-accordion-background-color--hover)}.nys-accordionitem__heading:focus-visible{outline-offset:var(--_nys-accordion-outline-offset);outline:solid var(--_nys-accordion-outline-width) var(--_nys-accordion-outline-color)}.nys-accordionitem__heading .nys-accordionitem__heading-title{flex:1}.nys-accordionitem__content{height:0;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1) 0ms;visibility:hidden}.nys-accordionitem__content.expanded{visibility:visible}.nys-accordionitem__content-slot-container{display:flex;flex-direction:column;align-items:flex-start;gap:var(--_nys-accordion-gap);align-self:stretch;padding:var(--_nys-accordionitem-padding);background-color:var(--_nys-accordionitem-background-color)}.nys-accordionitem__content-slot-container-text{max-width:528px}.expand-icon{transition:all .3s cubic-bezier(.4,0,.2,1) 0ms}:host([expanded]) .expand-icon{transform:rotate(180deg)}:host([bordered][expanded]) .nys-accordionitem__heading{border-radius:var(--_nys-accordion-border-radius) var(--_nys-accordion-border-radius) 0 0}:host([bordered]) .nys-accordionitem__content-slot-container{border:var(--_nys-accordion-border-width) solid var(--_nys-accordion-border-color);border-radius:0 0 var(--_nys-accordion-border-radius) var(--_nys-accordion-border-radius)}.nys-accordion{display:flex;flex-direction:column;gap:var(--_nys-accordion-gap)}';
4
+ var m = Object.defineProperty, c = (d, e, o, l) => {
5
+ for (var n = void 0, i = d.length - 1, s; i >= 0; i--)
6
+ (s = d[i]) && (n = s(e, o, n) || n);
7
+ return n && m(e, o, n), n;
465
8
  };
466
- let V = 0;
467
- const $ = class $ extends C {
9
+ let x = 0;
10
+ const p = class p extends _ {
11
+ // Code NEED this, don't delete this. This is due to how the <nys-accordion> group is applying bordered to each individual <nys-accordionitem>
468
12
  /**************** Lifecycle Methods ****************/
469
13
  constructor() {
470
14
  super(), this.id = "", this.heading = "", this.expanded = !1, this.bordered = !1;
@@ -483,7 +27,7 @@ const $ = class $ extends C {
483
27
  }
484
28
  /******************** Functions ********************/
485
29
  _generateUniqueId() {
486
- return `nys-accordionitem-${Date.now()}-${V++}`;
30
+ return `nys-accordionitem-${Date.now()}-${x++}`;
487
31
  }
488
32
  _dispatchEvent() {
489
33
  this.dispatchEvent(
@@ -510,8 +54,8 @@ const $ = class $ extends C {
510
54
  }
511
55
  render() {
512
56
  const e = `${this.id}-content`;
513
- return U`
514
- <div id=${this.id} class="nys-accordionitem">
57
+ return g`
58
+ <div class="nys-accordionitem">
515
59
  <button
516
60
  class="nys-accordionitem__heading"
517
61
  type="button"
@@ -534,31 +78,31 @@ const $ = class $ extends C {
534
78
  </div>`;
535
79
  }
536
80
  };
537
- $.styles = O;
538
- let c = $;
539
- u([
540
- d({ type: String })
541
- ], c.prototype, "id");
542
- u([
543
- d({ type: String })
544
- ], c.prototype, "heading");
545
- u([
546
- d({ type: Boolean, reflect: !0 })
547
- ], c.prototype, "expanded");
548
- u([
549
- d({ type: Boolean, reflect: !0 })
550
- ], c.prototype, "bordered");
551
- u([
552
- W(".nys-accordionitem__content")
553
- ], c.prototype, "_contentContainer");
554
- customElements.get("nys-accordionitem") || customElements.define("nys-accordionitem", c);
555
- var F = Object.defineProperty, b = (s, e, t, i) => {
556
- for (var o = void 0, n = s.length - 1, r; n >= 0; n--)
557
- (r = s[n]) && (o = r(e, t, o) || o);
558
- return o && F(e, t, o), o;
81
+ p.styles = u(f);
82
+ let t = p;
83
+ c([
84
+ r({ type: String, reflect: !0 })
85
+ ], t.prototype, "id");
86
+ c([
87
+ r({ type: String })
88
+ ], t.prototype, "heading");
89
+ c([
90
+ r({ type: Boolean, reflect: !0 })
91
+ ], t.prototype, "expanded");
92
+ c([
93
+ r({ type: Boolean, reflect: !0 })
94
+ ], t.prototype, "bordered");
95
+ c([
96
+ v(".nys-accordionitem__content")
97
+ ], t.prototype, "_contentContainer");
98
+ customElements.get("nys-accordionitem") || customElements.define("nys-accordionitem", t);
99
+ var b = Object.defineProperty, y = (d, e, o, l) => {
100
+ for (var n = void 0, i = d.length - 1, s; i >= 0; i--)
101
+ (s = d[i]) && (n = s(e, o, n) || n);
102
+ return n && b(e, o, n), n;
559
103
  };
560
- let Q = 0;
561
- const E = class E extends C {
104
+ let w = 0;
105
+ const h = class h extends _ {
562
106
  /**************** Lifecycle Methods ****************/
563
107
  constructor() {
564
108
  super(), this.id = "", this.singleSelect = !1, this.bordered = !1;
@@ -571,18 +115,18 @@ const E = class E extends C {
571
115
  }
572
116
  /******************** Functions ********************/
573
117
  _generateUniqueId() {
574
- return `nys-accordionitem-${Date.now()}-${Q++}`;
118
+ return `nys-accordionitem-${Date.now()}-${w++}`;
575
119
  }
576
120
  _getAccordions() {
577
121
  return (this.shadowRoot?.querySelector("slot")?.assignedElements() || []).filter(
578
- (i) => i.tagName.toLowerCase() === "nys-accordionitem"
122
+ (l) => l.tagName.toLowerCase() === "nys-accordionitem"
579
123
  );
580
124
  }
581
125
  _onAccordionToggle(e) {
582
126
  if (!this.singleSelect) return;
583
- const t = e.detail.id;
584
- e.detail.expanded && this._getAccordions().forEach((o) => {
585
- o.id !== t && o.expanded && (o.expanded = !1);
127
+ const o = e.detail.id;
128
+ e.detail.expanded && this._getAccordions().forEach((n) => {
129
+ n.id !== o && n.expanded && (n.expanded = !1);
586
130
  });
587
131
  }
588
132
  _applyBordered() {
@@ -591,8 +135,7 @@ const E = class E extends C {
591
135
  });
592
136
  }
593
137
  render() {
594
- return U`<div
595
- id=${this.id}
138
+ return g`<div
596
139
  class="nys-accordion"
597
140
  @nys-accordionitem-toggle=${this._onAccordionToggle}
598
141
  >
@@ -600,20 +143,20 @@ const E = class E extends C {
600
143
  </div>`;
601
144
  }
602
145
  };
603
- E.styles = O;
604
- let l = E;
605
- b([
606
- d({ type: String })
607
- ], l.prototype, "id");
608
- b([
609
- d({ type: Boolean, reflect: !0 })
610
- ], l.prototype, "singleSelect");
611
- b([
612
- d({ type: Boolean, reflect: !0 })
613
- ], l.prototype, "bordered");
614
- customElements.get("nys-accordion") || customElements.define("nys-accordion", l);
146
+ h.styles = u(f);
147
+ let a = h;
148
+ y([
149
+ r({ type: String, reflect: !0 })
150
+ ], a.prototype, "id");
151
+ y([
152
+ r({ type: Boolean, reflect: !0 })
153
+ ], a.prototype, "singleSelect");
154
+ y([
155
+ r({ type: Boolean, reflect: !0 })
156
+ ], a.prototype, "bordered");
157
+ customElements.get("nys-accordion") || customElements.define("nys-accordion", a);
615
158
  export {
616
- l as NysAccordion,
617
- c as NysAccordionItem
159
+ a as NysAccordion,
160
+ t as NysAccordionItem
618
161
  };
619
162
  //# sourceMappingURL=nys-accordion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nys-accordion.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/base.js","../../../node_modules/@lit/reactive-element/decorators/query.js","../src/nys-accordion.styles.ts","../src/nys-accordionitem.ts","../src/nys-accordion.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","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&\"object\"!=typeof t&&Object.defineProperty(e,t,c),c);export{e as desc};\n//# sourceMappingURL=base.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e(e,r){return(n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}=\"object\"==typeof s?n:i??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return t(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return t(n,s,{get(){return o(this)}})}}export{e as query};\n//# sourceMappingURL=query.js.map\n","import { css } from \"lit\";\n\nexport default css`\n :host {\n /* Anything that can be overridden should be defined here */\n\n /* Global Accordion Styles */\n --_nys-accordion-border-radius: var(--nys-radius-md, 4px);\n --_nys-accordion-border-width: var(--nys-border-width-md, 2px);\n --_nys-accordion-border-color: var(--nys-color-neutral-50, #ededed);\n --_nys-accordion-padding--x: var(--nys-space-250, 20px);\n --_nys-accordion-padding--y: var(--nys-space-200, 16px);\n --_nys-accordion-outline-width: var(--nys-border-width-md, 2px);\n --_nys-accordion-outline-offset: var(--nys-space-2px, 2px);\n --_nys-accordion-outline-color: var(--nys-color-focus, #004dd1);\n --_nys-accordion-gap: var(--nys-space-100, 8px);\n\n /* Header & Text container */\n --_nys-accordion-background-color: var(--nys-color-neutral-50, #ededed);\n --_nys-accordion-background-color--hover: var(\n --nys-color-neutral-100,\n #d0d0ce\n );\n --_nys-accordionitem-gap: var(--nys-space-200, 16px);\n --_nys-accordionitem-background-color: var(--nys-color-ink-reverse, #fff);\n --_nys-accordionitem-padding: var(--nys-space-200, 16px)\n var(--local-xx-spacing-205, 20px);\n\n /* Typography */\n --_nys-accordion-font-size: var(--nys-type-size-ui-xl, 20px);\n --_nys-accordion-font-weight: var(--nys-font-weight-bold, 700);\n --_nys-accordion-line-height: var(--nys-font-lineheight-ui-xl, 28px);\n --_nys-accordion-letter-spacing: var(\n --nys-font-letterspacing-ui-xl,\n 0.017px\n );\n --_nys-accordion-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 /* CSS Resets */\n ::slotted(p),\n p {\n margin: 0 !important;\n }\n\n .nys-accordionitem {\n font-family: var(--_nys-accordion-font-family);\n font-size: var(--_nys-accordion-font-size);\n font-weight: var(--_nys-accordion-font-weight);\n line-height: var(--_nys-accordion-line-height);\n letter-spacing: var(--_nys-accordion-letter-spacing);\n display: flex;\n }\n\n .nys-accordionitem__heading {\n all: unset;\n flex: 1;\n gap: var(--_nys-accordionitem-gap);\n display: flex;\n padding: var(--_nys-accordion-padding--y) var(--_nys-accordion-padding--x);\n align-items: center;\n align-self: stretch;\n border-radius: var(--_nys-accordion-border-radius);\n background-color: var(--_nys-accordion-background-color);\n cursor: pointer;\n transition: 0.05s all ease-in-out;\n }\n\n .nys-accordionitem__heading:hover {\n border-radius: var(--_nys-accordion-border-radius);\n background-color: var(--_nys-accordion-background-color--hover);\n }\n\n .nys-accordionitem__heading:focus-visible {\n outline-offset: var(--_nys-accordion-outline-offset);\n outline: solid var(--_nys-accordion-outline-width)\n var(--_nys-accordion-outline-color);\n }\n\n .nys-accordionitem__heading .nys-accordionitem__heading-title {\n flex: 1;\n }\n\n /*** Content layer ***/\n .nys-accordionitem__content {\n height: 0;\n overflow: hidden;\n transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n visibility: hidden;\n }\n\n .nys-accordionitem__content.expanded {\n /* Accordion JS code takes care of setting the exact calculated height so we can open exact px height */\n visibility: visible;\n }\n\n .nys-accordionitem__content-slot-container {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--_nys-accordion-gap);\n align-self: stretch;\n padding: var(--_nys-accordionitem-padding);\n background-color: var(--_nys-accordionitem-background-color);\n }\n\n .nys-accordionitem__content-slot-container-text {\n max-width: 528px;\n }\n\n /*** Expanded Styling ***/\n .expand-icon {\n transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n }\n :host([expanded]) .expand-icon {\n transform: rotate(180deg);\n }\n\n /*** Bordered Styling ***/\n :host([bordered][expanded]) .nys-accordionitem__heading {\n border-radius: var(--_nys-accordion-border-radius)\n var(--_nys-accordion-border-radius) 0 0;\n }\n\n :host([bordered]) .nys-accordionitem__content-slot-container {\n border: var(--_nys-accordion-border-width) solid\n var(--_nys-accordion-border-color);\n border-radius: 0 0 var(--_nys-accordion-border-radius)\n var(--_nys-accordion-border-radius);\n }\n\n /*** Accordion Wrapper ***/\n .nys-accordion {\n display: flex;\n flex-direction: column;\n gap: var(--_nys-accordion-gap);\n }\n`;\n","import { LitElement, html } from \"lit\";\nimport { property, query } from \"lit/decorators.js\";\nimport styles from \"./nys-accordion.styles\";\n\nlet accordionItemIdCounter = 0; // Counter for generating unique IDs\n\nexport class NysAccordionItem extends LitElement {\n @property({ type: String }) id = \"\";\n @property({ type: String }) heading = \"\";\n @property({ type: Boolean, reflect: true }) expanded = false;\n @property({ type: Boolean, reflect: true }) bordered = false; // Code NEED this, don't delete this. This is due to how the <nys-accordion> group is applying bordered to each individual <nys-accordionitem>\n\n static styles = styles;\n\n /**************** Lifecycle Methods ****************/\n constructor() {\n super();\n }\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\n firstUpdated() {\n const slot = this.shadowRoot?.querySelector(\"slot\");\n\n /**\n * When the accordion starts expanded but the slot is empty,\n * _updateHeight runs too early and calculates height as 0.\n * Listening for slotchange ensures we recalc after the slot’s\n * content is rendered so the final height is correct.\n */\n if (this.expanded && slot) {\n slot.addEventListener(\"slotchange\", () => {\n this._updateHeight();\n });\n }\n }\n\n updated(changedProperties: Map<string, any>) {\n if (changedProperties.has(\"expanded\")) {\n this._updateHeight();\n }\n }\n\n /******************** Functions ********************/\n private _generateUniqueId() {\n return `nys-accordionitem-${Date.now()}-${accordionItemIdCounter++}`;\n }\n\n private _dispatchEvent() {\n this.dispatchEvent(\n new CustomEvent(\"nys-accordionitem-toggle\", {\n detail: { id: this.id, heading: this.heading, expanded: this.expanded },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n private _handleExpand() {\n this.expanded = !this.expanded;\n this._updateHeight();\n this._dispatchEvent();\n }\n\n private _handleKeydown(e: KeyboardEvent) {\n if (e.key === \" \" || e.key === \"Enter\") {\n e.preventDefault(); // prevent page scroll on space\n this._handleExpand();\n }\n }\n\n // Call this after first render and whenever expanded changes\n @query(\".nys-accordionitem__content\") private _contentContainer!: HTMLElement;\n private _updateHeight() {\n if (!this._contentContainer) return;\n\n if (this.expanded) {\n // Slide down the content by setting a calculated max-height, depending on the panel's height on different screen sizes\n const slotHeight = this._contentContainer.scrollHeight;\n this._contentContainer.style.height = `${slotHeight}px`;\n } else {\n // Collapse\n this._contentContainer.style.height = \"0\";\n this._contentContainer.style.overflow = \"hidden\";\n }\n }\n\n render() {\n const contentId = `${this.id}-content`;\n\n return html`\n <div id=${this.id} class=\"nys-accordionitem\">\n <button\n class=\"nys-accordionitem__heading\"\n type=\"button\"\n @click=${this._handleExpand}\n @keydown=${this._handleKeydown}\n aria-expanded=${this.expanded ? \"true\" : \"false\"}\n aria-controls=${contentId}\n >\n <p class=\"nys-accordionitem__heading-title\">${this.heading}</p>\n <nys-icon class=\"expand-icon\" name=\"chevron_down\" size=\"24\"></nys-icon>\n </button>\n </div>\n <div id=${contentId} class=\"nys-accordionitem__content ${this.expanded ? \"expanded\" : \"collapsed\"}\" role=\"region\">\n <div class=\"nys-accordionitem__content-slot-container\">\n <div class=\"nys-accordionitem__content-slot-container-text\">\n <slot></slot>\n </div>\n </div>\n </div>\n </div>`;\n }\n}\n\nif (!customElements.get(\"nys-accordionitem\")) {\n customElements.define(\"nys-accordionitem\", NysAccordionItem);\n}\n","import { LitElement, html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport styles from \"./nys-accordion.styles\";\nimport \"./nys-accordionitem\";\n\nlet accordionIdCounter = 0; // Counter for generating unique IDs\n\n/**\n * The \"nys-accordion\" is the wrapper that groups individual accordion items within it.\n * The items within is called \"nys-accordionitem\"\n */\nexport class NysAccordion extends LitElement {\n @property({ type: String }) id = \"\";\n @property({ type: Boolean, reflect: true }) singleSelect = false;\n @property({ type: Boolean, reflect: true }) bordered = false;\n\n static styles = styles;\n\n /**************** Lifecycle Methods ****************/\n constructor() {\n super();\n }\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\n updated(changedProperties: Map<string, any>) {\n if (changedProperties.has(\"bordered\")) {\n this._applyBordered();\n }\n }\n\n /******************** Functions ********************/\n private _generateUniqueId() {\n return `nys-accordionitem-${Date.now()}-${accordionIdCounter++}`;\n }\n\n private _getAccordions() {\n const slot = this.shadowRoot?.querySelector(\"slot\");\n const assigned = slot?.assignedElements() || [];\n\n return assigned.filter(\n (el) => el.tagName.toLowerCase() === \"nys-accordionitem\",\n );\n }\n\n private _onAccordionToggle(event: CustomEvent) {\n if (!this.singleSelect) return;\n\n const accordionId = event.detail.id;\n const accordionIsExpanded = event.detail.expanded;\n\n // All accordions that don't match the selected accordion's id is unexpanded.\n // If id match, it is up to the individual accordion to handle the expand logic\n if (accordionIsExpanded) {\n this._getAccordions().forEach((accordion: any) => {\n if (accordion.id !== accordionId && accordion.expanded) {\n accordion.expanded = false;\n }\n });\n }\n }\n\n private _applyBordered() {\n this._getAccordions().forEach((accordion: any) => {\n accordion.bordered = this.bordered;\n });\n }\n\n render() {\n return html`<div\n id=${this.id}\n class=\"nys-accordion\"\n @nys-accordionitem-toggle=${this._onAccordionToggle}\n >\n <slot></slot>\n </div>`;\n }\n}\n\nif (!customElements.get(\"nys-accordion\")) {\n customElements.define(\"nys-accordion\", NysAccordion);\n}\n"],"names":["t","e","s","o","n$2","r","n","S","c","i","h","a","l","p","d","u","f","b","y","styles","css","accordionItemIdCounter","_NysAccordionItem","LitElement","slot","changedProperties","slotHeight","contentId","html","NysAccordionItem","__decorateClass","property","query","accordionIdCounter","_NysAccordion","el","event","accordionId","accordion","NysAccordion"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
1
+ {"version":3,"file":"nys-accordion.js","sources":["../src/nys-accordionitem.ts","../src/nys-accordion.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from \"lit\";\nimport { property, query } from \"lit/decorators.js\";\n// @ts-ignore: SCSS module imported via bundler as inline\nimport styles from \"./nys-accordion.scss?inline\";\n\nlet accordionItemIdCounter = 0; // Counter for generating unique IDs\n\nexport class NysAccordionItem extends LitElement {\n static styles = unsafeCSS(styles);\n\n @property({ type: String, reflect: true }) id = \"\";\n @property({ type: String }) heading = \"\";\n @property({ type: Boolean, reflect: true }) expanded = false;\n @property({ type: Boolean, reflect: true }) bordered = false; // Code NEED this, don't delete this. This is due to how the <nys-accordion> group is applying bordered to each individual <nys-accordionitem>\n\n /**************** Lifecycle Methods ****************/\n constructor() {\n super();\n }\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\n firstUpdated() {\n const slot = this.shadowRoot?.querySelector(\"slot\");\n\n /**\n * When the accordion starts expanded but the slot is empty,\n * _updateHeight runs too early and calculates height as 0.\n * Listening for slotchange ensures we recalc after the slot’s\n * content is rendered so the final height is correct.\n */\n if (this.expanded && slot) {\n slot.addEventListener(\"slotchange\", () => {\n this._updateHeight();\n });\n }\n }\n\n updated(changedProperties: Map<string, any>) {\n if (changedProperties.has(\"expanded\")) {\n this._updateHeight();\n }\n }\n\n /******************** Functions ********************/\n private _generateUniqueId() {\n return `nys-accordionitem-${Date.now()}-${accordionItemIdCounter++}`;\n }\n\n private _dispatchEvent() {\n this.dispatchEvent(\n new CustomEvent(\"nys-accordionitem-toggle\", {\n detail: { id: this.id, heading: this.heading, expanded: this.expanded },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n private _handleExpand() {\n this.expanded = !this.expanded;\n this._updateHeight();\n this._dispatchEvent();\n }\n\n private _handleKeydown(e: KeyboardEvent) {\n if (e.key === \" \" || e.key === \"Enter\") {\n e.preventDefault(); // prevent page scroll on space\n this._handleExpand();\n }\n }\n\n // Call this after first render and whenever expanded changes\n @query(\".nys-accordionitem__content\") private _contentContainer!: HTMLElement;\n private _updateHeight() {\n if (!this._contentContainer) return;\n\n if (this.expanded) {\n // Slide down the content by setting a calculated max-height, depending on the panel's height on different screen sizes\n const slotHeight = this._contentContainer.scrollHeight;\n this._contentContainer.style.height = `${slotHeight}px`;\n } else {\n // Collapse\n this._contentContainer.style.height = \"0\";\n this._contentContainer.style.overflow = \"hidden\";\n }\n }\n\n render() {\n const contentId = `${this.id}-content`;\n\n return html`\n <div class=\"nys-accordionitem\">\n <button\n class=\"nys-accordionitem__heading\"\n type=\"button\"\n @click=${this._handleExpand}\n @keydown=${this._handleKeydown}\n aria-expanded=${this.expanded ? \"true\" : \"false\"}\n aria-controls=${contentId}\n >\n <p class=\"nys-accordionitem__heading-title\">${this.heading}</p>\n <nys-icon class=\"expand-icon\" name=\"chevron_down\" size=\"24\"></nys-icon>\n </button>\n </div>\n <div id=${contentId} class=\"nys-accordionitem__content ${this.expanded ? \"expanded\" : \"collapsed\"}\" role=\"region\">\n <div class=\"nys-accordionitem__content-slot-container\">\n <div class=\"nys-accordionitem__content-slot-container-text\">\n <slot></slot>\n </div>\n </div>\n </div>\n </div>`;\n }\n}\n\nif (!customElements.get(\"nys-accordionitem\")) {\n customElements.define(\"nys-accordionitem\", NysAccordionItem);\n}\n","import { LitElement, html, unsafeCSS } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport \"./nys-accordionitem\";\n// @ts-ignore: SCSS module imported via bundler as inline\nimport styles from \"./nys-accordion.scss?inline\";\n\nlet accordionIdCounter = 0; // Counter for generating unique IDs\n\n/**\n * The \"nys-accordion\" is the wrapper that groups individual accordion items within it.\n * The items within is called \"nys-accordionitem\"\n */\nexport class NysAccordion extends LitElement {\n static styles = unsafeCSS(styles);\n\n @property({ type: String, reflect: true }) id = \"\";\n @property({ type: Boolean, reflect: true }) singleSelect = false;\n @property({ type: Boolean, reflect: true }) bordered = false;\n\n /**************** Lifecycle Methods ****************/\n constructor() {\n super();\n }\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\n updated(changedProperties: Map<string, any>) {\n if (changedProperties.has(\"bordered\")) {\n this._applyBordered();\n }\n }\n\n /******************** Functions ********************/\n private _generateUniqueId() {\n return `nys-accordionitem-${Date.now()}-${accordionIdCounter++}`;\n }\n\n private _getAccordions() {\n const slot = this.shadowRoot?.querySelector(\"slot\");\n const assigned = slot?.assignedElements() || [];\n\n return assigned.filter(\n (el) => el.tagName.toLowerCase() === \"nys-accordionitem\",\n );\n }\n\n private _onAccordionToggle(event: CustomEvent) {\n if (!this.singleSelect) return;\n\n const accordionId = event.detail.id;\n const accordionIsExpanded = event.detail.expanded;\n\n // All accordions that don't match the selected accordion's id is unexpanded.\n // If id match, it is up to the individual accordion to handle the expand logic\n if (accordionIsExpanded) {\n this._getAccordions().forEach((accordion: any) => {\n if (accordion.id !== accordionId && accordion.expanded) {\n accordion.expanded = false;\n }\n });\n }\n }\n\n private _applyBordered() {\n this._getAccordions().forEach((accordion: any) => {\n accordion.bordered = this.bordered;\n });\n }\n\n render() {\n return html`<div\n class=\"nys-accordion\"\n @nys-accordionitem-toggle=${this._onAccordionToggle}\n >\n <slot></slot>\n </div>`;\n }\n}\n\nif (!customElements.get(\"nys-accordion\")) {\n customElements.define(\"nys-accordion\", NysAccordion);\n}\n"],"names":["accordionItemIdCounter","_NysAccordionItem","LitElement","slot","changedProperties","slotHeight","contentId","html","unsafeCSS","styles","NysAccordionItem","__decorateClass","property","query","accordionIdCounter","_NysAccordion","el","event","accordionId","accordion","NysAccordion"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nysds/nys-accordion",
3
- "version": "1.11.2",
3
+ "version": "1.11.4",
4
4
  "description": "The Accordion component from the NYS Design System.",
5
5
  "module": "dist/nys-accordion.js",
6
6
  "types": "dist/index.d.ts",
@@ -23,12 +23,12 @@
23
23
  "lit-analyze": "lit-analyzer '**/*.ts'"
24
24
  },
25
25
  "dependencies": {
26
- "@nysds/nys-icon": "^1.11.2"
26
+ "@nysds/nys-icon": "^1.11.4"
27
27
  },
28
28
  "devDependencies": {
29
29
  "lit": "^3.3.1",
30
- "typescript": "^5.7.2",
31
- "vite": "^7.1.2"
30
+ "typescript": "^5.9.3",
31
+ "vite": "^7.1.12"
32
32
  },
33
33
  "keywords": [
34
34
  "new-york-state",
package/dist/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from "./nys-accordion";
2
- export * from "./nys-accordionitem";
@@ -1,22 +0,0 @@
1
- import { LitElement } from "lit";
2
- import "./nys-accordionitem";
3
- /**
4
- * The "nys-accordion" is the wrapper that groups individual accordion items within it.
5
- * The items within is called "nys-accordionitem"
6
- */
7
- export declare class NysAccordion extends LitElement {
8
- id: string;
9
- singleSelect: boolean;
10
- bordered: boolean;
11
- static styles: import("lit").CSSResult;
12
- /**************** Lifecycle Methods ****************/
13
- constructor();
14
- connectedCallback(): void;
15
- updated(changedProperties: Map<string, any>): void;
16
- /******************** Functions ********************/
17
- private _generateUniqueId;
18
- private _getAccordions;
19
- private _onAccordionToggle;
20
- private _applyBordered;
21
- render(): import("lit-html").TemplateResult<1>;
22
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,2 +0,0 @@
1
- declare const _default: import("lit").CSSResult;
2
- export default _default;
@@ -1,21 +0,0 @@
1
- import { LitElement } from "lit";
2
- export declare class NysAccordionItem extends LitElement {
3
- id: string;
4
- heading: string;
5
- expanded: boolean;
6
- bordered: boolean;
7
- static styles: import("lit").CSSResult;
8
- /**************** Lifecycle Methods ****************/
9
- constructor();
10
- connectedCallback(): void;
11
- firstUpdated(): void;
12
- updated(changedProperties: Map<string, any>): void;
13
- /******************** Functions ********************/
14
- private _generateUniqueId;
15
- private _dispatchEvent;
16
- private _handleExpand;
17
- private _handleKeydown;
18
- private _contentContainer;
19
- private _updateHeight;
20
- render(): import("lit-html").TemplateResult<1>;
21
- }