@nysds/nys-accordion 1.11.1 → 1.11.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/nys-accordion.js +57 -514
- package/dist/nys-accordion.js.map +1 -1
- package/package.json +4 -4
- package/dist/index.d.ts +0 -2
- package/dist/nys-accordion.d.ts +0 -22
- package/dist/nys-accordion.figma.d.ts +0 -1
- package/dist/nys-accordion.styles.d.ts +0 -2
- package/dist/nys-accordionitem.d.ts +0 -21
package/dist/nys-accordion.js
CHANGED
|
@@ -1,470 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
|
467
|
-
const
|
|
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()}-${
|
|
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
|
|
514
|
-
<div
|
|
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
|
-
|
|
538
|
-
let
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
],
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
],
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
],
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
],
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
],
|
|
554
|
-
customElements.get("nys-accordionitem") || customElements.define("nys-accordionitem",
|
|
555
|
-
var
|
|
556
|
-
for (var
|
|
557
|
-
(
|
|
558
|
-
return
|
|
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
|
|
561
|
-
const
|
|
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()}-${
|
|
118
|
+
return `nys-accordionitem-${Date.now()}-${w++}`;
|
|
575
119
|
}
|
|
576
120
|
_getAccordions() {
|
|
577
121
|
return (this.shadowRoot?.querySelector("slot")?.assignedElements() || []).filter(
|
|
578
|
-
(
|
|
122
|
+
(l) => l.tagName.toLowerCase() === "nys-accordionitem"
|
|
579
123
|
);
|
|
580
124
|
}
|
|
581
125
|
_onAccordionToggle(e) {
|
|
582
126
|
if (!this.singleSelect) return;
|
|
583
|
-
const
|
|
584
|
-
e.detail.expanded && this._getAccordions().forEach((
|
|
585
|
-
|
|
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
|
|
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
|
-
|
|
604
|
-
let
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
],
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
],
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
],
|
|
614
|
-
customElements.get("nys-accordion") || customElements.define("nys-accordion",
|
|
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
|
-
|
|
617
|
-
|
|
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.
|
|
3
|
+
"version": "1.11.3",
|
|
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.
|
|
26
|
+
"@nysds/nys-icon": "^1.11.3"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"lit": "^3.3.1",
|
|
30
|
-
"typescript": "^5.
|
|
31
|
-
"vite": "^7.1.
|
|
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
package/dist/nys-accordion.d.ts
DELETED
|
@@ -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,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
|
-
}
|