@nysds/nys-stepper 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ export * from "./nys-stepper";
2
+ export * from "./nys-step";
@@ -0,0 +1,14 @@
1
+ import { LitElement } from "lit";
2
+ export declare class NysStep extends LitElement {
3
+ selected: boolean;
4
+ current: boolean;
5
+ label: string;
6
+ href: string;
7
+ isCompactExpanded: boolean;
8
+ onClick?: (e: Event) => void;
9
+ stepNumber: number;
10
+ static styles: import("lit").CSSResult;
11
+ private _handleActivate;
12
+ private _handleKeydown;
13
+ render(): import("lit-html").TemplateResult<1>;
14
+ }
@@ -0,0 +1,22 @@
1
+ import { LitElement } from "lit";
2
+ import "./nys-step";
3
+ export declare class NysStepper extends LitElement {
4
+ id: string;
5
+ name: string;
6
+ label: string;
7
+ counterText: string;
8
+ isCompactExpanded: boolean;
9
+ static styles: import("lit").CSSResult;
10
+ private _stepsNumbered;
11
+ constructor();
12
+ connectedCallback(): void;
13
+ disconnectedCallback(): void;
14
+ private _validateSteps;
15
+ private _validateButtonSlot;
16
+ private _onStepClick;
17
+ private _updateCounter;
18
+ updated(): void;
19
+ private _toggleCompact;
20
+ private _handleCounterKeydown;
21
+ render(): import("lit-html").TemplateResult<1>;
22
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,872 @@
1
+ import { css as z, LitElement as k, html as P } from "lit";
2
+ /*!
3
+ * ▒█▄░▒█ ▒█░░▒█ ▒█▀▀▀█ ▒█▀▀▄ ▒█▀▀▀█
4
+ * ▒█▒█▒█ ▒█▄▄▄█ ░▀▀▀▄▄ ▒█░▒█ ░▀▀▀▄▄
5
+ * ▒█░░▀█ ░░▒█░░ ▒█▄▄▄█ ▒█▄▄▀ ▒█▄▄▄█
6
+ *
7
+ * Stepper 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 v = globalThis, g = v.ShadowRoot && (v.ShadyCSS === void 0 || v.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, U = Symbol(), $ = /* @__PURE__ */ new WeakMap();
18
+ let T = class {
19
+ constructor(e, t, s) {
20
+ if (this._$cssResult$ = !0, s !== U) 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 (g && e === void 0) {
27
+ const s = t !== void 0 && t.length === 1;
28
+ s && (e = $.get(t)), e === void 0 && ((this.o = e = new CSSStyleSheet()).replaceSync(this.cssText), s && $.set(t, e));
29
+ }
30
+ return e;
31
+ }
32
+ toString() {
33
+ return this.cssText;
34
+ }
35
+ };
36
+ const M = (o) => new T(typeof o == "string" ? o : o + "", void 0, U), L = (o, e) => {
37
+ if (g) o.adoptedStyleSheets = e.map((t) => t instanceof CSSStyleSheet ? t : t.styleSheet);
38
+ else for (const t of e) {
39
+ const s = document.createElement("style"), r = v.litNonce;
40
+ r !== void 0 && s.setAttribute("nonce", r), s.textContent = t.cssText, o.appendChild(s);
41
+ }
42
+ }, S = g ? (o) => o : (o) => o instanceof CSSStyleSheet ? ((e) => {
43
+ let t = "";
44
+ for (const s of e.cssRules) t += s.cssText;
45
+ return M(t);
46
+ })(o) : o;
47
+ /**
48
+ * @license
49
+ * Copyright 2017 Google LLC
50
+ * SPDX-License-Identifier: BSD-3-Clause
51
+ */
52
+ const { is: N, defineProperty: R, getOwnPropertyDescriptor: j, getOwnPropertyNames: B, getOwnPropertySymbols: q, getPrototypeOf: D } = Object, c = globalThis, C = c.trustedTypes, H = C ? C.emptyScript : "", b = c.reactiveElementPolyfillSupport, y = (o, e) => o, m = { toAttribute(o, e) {
53
+ switch (e) {
54
+ case Boolean:
55
+ o = o ? H : null;
56
+ break;
57
+ case Object:
58
+ case Array:
59
+ o = o == null ? o : JSON.stringify(o);
60
+ }
61
+ return o;
62
+ }, fromAttribute(o, e) {
63
+ let t = o;
64
+ switch (e) {
65
+ case Boolean:
66
+ t = o !== null;
67
+ break;
68
+ case Number:
69
+ t = o === null ? null : Number(o);
70
+ break;
71
+ case Object:
72
+ case Array:
73
+ try {
74
+ t = JSON.parse(o);
75
+ } catch {
76
+ t = null;
77
+ }
78
+ }
79
+ return t;
80
+ } }, x = (o, e) => !N(o, e), A = { attribute: !0, type: String, converter: m, reflect: !1, hasChanged: x };
81
+ Symbol.metadata ?? (Symbol.metadata = Symbol("metadata")), c.litPropertyMetadata ?? (c.litPropertyMetadata = /* @__PURE__ */ new WeakMap());
82
+ class u extends HTMLElement {
83
+ static addInitializer(e) {
84
+ this._$Ei(), (this.l ?? (this.l = [])).push(e);
85
+ }
86
+ static get observedAttributes() {
87
+ return this.finalize(), this._$Eh && [...this._$Eh.keys()];
88
+ }
89
+ static createProperty(e, t = A) {
90
+ if (t.state && (t.attribute = !1), this._$Ei(), this.elementProperties.set(e, t), !t.noAccessor) {
91
+ const s = Symbol(), r = this.getPropertyDescriptor(e, s, t);
92
+ r !== void 0 && R(this.prototype, e, r);
93
+ }
94
+ }
95
+ static getPropertyDescriptor(e, t, s) {
96
+ const { get: r, set: n } = j(this.prototype, e) ?? { get() {
97
+ return this[t];
98
+ }, set(i) {
99
+ this[t] = i;
100
+ } };
101
+ return { get() {
102
+ return r == null ? void 0 : r.call(this);
103
+ }, set(i) {
104
+ const l = r == null ? void 0 : r.call(this);
105
+ n.call(this, i), this.requestUpdate(e, l, s);
106
+ }, configurable: !0, enumerable: !0 };
107
+ }
108
+ static getPropertyOptions(e) {
109
+ return this.elementProperties.get(e) ?? A;
110
+ }
111
+ static _$Ei() {
112
+ if (this.hasOwnProperty(y("elementProperties"))) return;
113
+ const e = D(this);
114
+ e.finalize(), e.l !== void 0 && (this.l = [...e.l]), this.elementProperties = new Map(e.elementProperties);
115
+ }
116
+ static finalize() {
117
+ if (this.hasOwnProperty(y("finalized"))) return;
118
+ if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(y("properties"))) {
119
+ const t = this.properties, s = [...B(t), ...q(t)];
120
+ for (const r of s) this.createProperty(r, t[r]);
121
+ }
122
+ const e = this[Symbol.metadata];
123
+ if (e !== null) {
124
+ const t = litPropertyMetadata.get(e);
125
+ if (t !== void 0) for (const [s, r] of t) this.elementProperties.set(s, r);
126
+ }
127
+ this._$Eh = /* @__PURE__ */ new Map();
128
+ for (const [t, s] of this.elementProperties) {
129
+ const r = this._$Eu(t, s);
130
+ r !== void 0 && this._$Eh.set(r, t);
131
+ }
132
+ this.elementStyles = this.finalizeStyles(this.styles);
133
+ }
134
+ static finalizeStyles(e) {
135
+ const t = [];
136
+ if (Array.isArray(e)) {
137
+ const s = new Set(e.flat(1 / 0).reverse());
138
+ for (const r of s) t.unshift(S(r));
139
+ } else e !== void 0 && t.push(S(e));
140
+ return t;
141
+ }
142
+ static _$Eu(e, t) {
143
+ const s = t.attribute;
144
+ return s === !1 ? void 0 : typeof s == "string" ? s : typeof e == "string" ? e.toLowerCase() : void 0;
145
+ }
146
+ constructor() {
147
+ super(), this._$Ep = void 0, this.isUpdatePending = !1, this.hasUpdated = !1, this._$Em = null, this._$Ev();
148
+ }
149
+ _$Ev() {
150
+ var e;
151
+ this._$ES = new Promise((t) => this.enableUpdating = t), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), (e = this.constructor.l) == null || e.forEach((t) => t(this));
152
+ }
153
+ addController(e) {
154
+ var t;
155
+ (this._$EO ?? (this._$EO = /* @__PURE__ */ new Set())).add(e), this.renderRoot !== void 0 && this.isConnected && ((t = e.hostConnected) == null || t.call(e));
156
+ }
157
+ removeController(e) {
158
+ var t;
159
+ (t = this._$EO) == null || t.delete(e);
160
+ }
161
+ _$E_() {
162
+ const e = /* @__PURE__ */ new Map(), t = this.constructor.elementProperties;
163
+ for (const s of t.keys()) this.hasOwnProperty(s) && (e.set(s, this[s]), delete this[s]);
164
+ e.size > 0 && (this._$Ep = e);
165
+ }
166
+ createRenderRoot() {
167
+ const e = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
168
+ return L(e, this.constructor.elementStyles), e;
169
+ }
170
+ connectedCallback() {
171
+ var e;
172
+ this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), (e = this._$EO) == null || e.forEach((t) => {
173
+ var s;
174
+ return (s = t.hostConnected) == null ? void 0 : s.call(t);
175
+ });
176
+ }
177
+ enableUpdating(e) {
178
+ }
179
+ disconnectedCallback() {
180
+ var e;
181
+ (e = this._$EO) == null || e.forEach((t) => {
182
+ var s;
183
+ return (s = t.hostDisconnected) == null ? void 0 : s.call(t);
184
+ });
185
+ }
186
+ attributeChangedCallback(e, t, s) {
187
+ this._$AK(e, s);
188
+ }
189
+ _$EC(e, t) {
190
+ var n;
191
+ const s = this.constructor.elementProperties.get(e), r = this.constructor._$Eu(e, s);
192
+ if (r !== void 0 && s.reflect === !0) {
193
+ const i = (((n = s.converter) == null ? void 0 : n.toAttribute) !== void 0 ? s.converter : m).toAttribute(t, s.type);
194
+ this._$Em = e, i == null ? this.removeAttribute(r) : this.setAttribute(r, i), this._$Em = null;
195
+ }
196
+ }
197
+ _$AK(e, t) {
198
+ var n;
199
+ const s = this.constructor, r = s._$Eh.get(e);
200
+ if (r !== void 0 && this._$Em !== r) {
201
+ const i = s.getPropertyOptions(r), l = typeof i.converter == "function" ? { fromAttribute: i.converter } : ((n = i.converter) == null ? void 0 : n.fromAttribute) !== void 0 ? i.converter : m;
202
+ this._$Em = r, this[r] = l.fromAttribute(t, i.type), this._$Em = null;
203
+ }
204
+ }
205
+ requestUpdate(e, t, s) {
206
+ if (e !== void 0) {
207
+ if (s ?? (s = this.constructor.getPropertyOptions(e)), !(s.hasChanged ?? x)(this[e], t)) return;
208
+ this.P(e, t, s);
209
+ }
210
+ this.isUpdatePending === !1 && (this._$ES = this._$ET());
211
+ }
212
+ P(e, t, s) {
213
+ this._$AL.has(e) || this._$AL.set(e, t), s.reflect === !0 && this._$Em !== e && (this._$Ej ?? (this._$Ej = /* @__PURE__ */ new Set())).add(e);
214
+ }
215
+ async _$ET() {
216
+ this.isUpdatePending = !0;
217
+ try {
218
+ await this._$ES;
219
+ } catch (t) {
220
+ Promise.reject(t);
221
+ }
222
+ const e = this.scheduleUpdate();
223
+ return e != null && await e, !this.isUpdatePending;
224
+ }
225
+ scheduleUpdate() {
226
+ return this.performUpdate();
227
+ }
228
+ performUpdate() {
229
+ var s;
230
+ if (!this.isUpdatePending) return;
231
+ if (!this.hasUpdated) {
232
+ if (this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this._$Ep) {
233
+ for (const [n, i] of this._$Ep) this[n] = i;
234
+ this._$Ep = void 0;
235
+ }
236
+ const r = this.constructor.elementProperties;
237
+ if (r.size > 0) for (const [n, i] of r) i.wrapped !== !0 || this._$AL.has(n) || this[n] === void 0 || this.P(n, this[n], i);
238
+ }
239
+ let e = !1;
240
+ const t = this._$AL;
241
+ try {
242
+ e = this.shouldUpdate(t), e ? (this.willUpdate(t), (s = this._$EO) == null || s.forEach((r) => {
243
+ var n;
244
+ return (n = r.hostUpdate) == null ? void 0 : n.call(r);
245
+ }), this.update(t)) : this._$EU();
246
+ } catch (r) {
247
+ throw e = !1, this._$EU(), r;
248
+ }
249
+ e && this._$AE(t);
250
+ }
251
+ willUpdate(e) {
252
+ }
253
+ _$AE(e) {
254
+ var t;
255
+ (t = this._$EO) == null || t.forEach((s) => {
256
+ var r;
257
+ return (r = s.hostUpdated) == null ? void 0 : r.call(s);
258
+ }), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(e)), this.updated(e);
259
+ }
260
+ _$EU() {
261
+ this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = !1;
262
+ }
263
+ get updateComplete() {
264
+ return this.getUpdateComplete();
265
+ }
266
+ getUpdateComplete() {
267
+ return this._$ES;
268
+ }
269
+ shouldUpdate(e) {
270
+ return !0;
271
+ }
272
+ update(e) {
273
+ this._$Ej && (this._$Ej = this._$Ej.forEach((t) => this._$EC(t, this[t]))), this._$EU();
274
+ }
275
+ updated(e) {
276
+ }
277
+ firstUpdated(e) {
278
+ }
279
+ }
280
+ u.elementStyles = [], u.shadowRootOptions = { mode: "open" }, u[y("elementProperties")] = /* @__PURE__ */ new Map(), u[y("finalized")] = /* @__PURE__ */ new Map(), b == null || b({ ReactiveElement: u }), (c.reactiveElementVersions ?? (c.reactiveElementVersions = [])).push("2.0.4");
281
+ /**
282
+ * @license
283
+ * Copyright 2017 Google LLC
284
+ * SPDX-License-Identifier: BSD-3-Clause
285
+ */
286
+ const I = { attribute: !0, type: String, converter: m, reflect: !1, hasChanged: x }, K = (o = I, e, t) => {
287
+ const { kind: s, metadata: r } = t;
288
+ let n = globalThis.litPropertyMetadata.get(r);
289
+ if (n === void 0 && globalThis.litPropertyMetadata.set(r, n = /* @__PURE__ */ new Map()), n.set(t.name, o), s === "accessor") {
290
+ const { name: i } = t;
291
+ return { set(l) {
292
+ const _ = e.get.call(this);
293
+ e.set.call(this, l), this.requestUpdate(i, _, o);
294
+ }, init(l) {
295
+ return l !== void 0 && this.P(i, void 0, o), l;
296
+ } };
297
+ }
298
+ if (s === "setter") {
299
+ const { name: i } = t;
300
+ return function(l) {
301
+ const _ = this[i];
302
+ e.call(this, l), this.requestUpdate(i, _, o);
303
+ };
304
+ }
305
+ throw Error("Unsupported decorator location: " + s);
306
+ };
307
+ function a(o) {
308
+ return (e, t) => typeof t == "object" ? K(o, e, t) : ((s, r, n) => {
309
+ const i = r.hasOwnProperty(n);
310
+ return r.constructor.createProperty(n, i ? { ...s, wrapped: !0 } : s), i ? Object.getOwnPropertyDescriptor(r, n) : void 0;
311
+ })(o, e, t);
312
+ }
313
+ const O = z`
314
+ :host {
315
+ /* Anything that can be overridden should be defined here */
316
+
317
+ /* Global Stepper Styles */
318
+
319
+ /* Typography */
320
+ --_nys-stepper-font-size: var(--nys-font-size-ui-md, 16px);
321
+ --_nys-stepper-font-weight: var(--nys-font-weight-semibold, 600);
322
+ --_nys-stepper-line-height: var(--nys-font-lineheight-ui-md, 24px);
323
+ --_nys-stepper-font-family: var(
324
+ --nys-font-family-ui,
325
+ var(
326
+ --nys-font-family-sans,
327
+ "Proxima Nova",
328
+ "Helvetica Neue",
329
+ "Helvetica",
330
+ "Arial",
331
+ sans-serif
332
+ )
333
+ );
334
+ --_nys-step-color: var(--nys-color-text, #1b1b1b);
335
+ --_nys-stepper-background-color: var(--nys-color-surface-raised, #f6f6f6);
336
+ }
337
+
338
+ .nys-stepper {
339
+ font-family: var(--_nys-stepper-font-family);
340
+ font-size: var(--_nys-stepper-font-size);
341
+ font-weight: var(--_nys-stepper-font-weight);
342
+ line-height: var(--_nys-stepper-line-height);
343
+ display: flex;
344
+ flex-direction: column;
345
+ counter-reset: step;
346
+ background-color: var(--_nys-stepper-background-color);
347
+ max-width: 100%;
348
+ height: 100%;
349
+ }
350
+
351
+ .nys-stepper__header {
352
+ display: flex;
353
+ flex-direction: column;
354
+ padding: var(--nys-space-400, 32px) var(--nys-space-400, 32px)
355
+ var(--nys-space-150, 12px);
356
+ }
357
+
358
+ ::slotted(div[slot="actions"]) {
359
+ display: flex;
360
+ flex-wrap: wrap;
361
+ justify-content: flex-start;
362
+ gap: var(--nys-space-100, 8px);
363
+ margin-bottom: var(--nys-space-300, 24px);
364
+ }
365
+
366
+ .nys-stepper__counter {
367
+ display: none;
368
+ text-decoration: underline;
369
+ text-decoration-style: solid;
370
+ text-decoration-skip-ink: auto;
371
+ text-decoration-thickness: 7%; /* 1.12px */
372
+ text-underline-offset: auto;
373
+ text-underline-position: from-font;
374
+ color: var(--nys-color-text, #1b1b1b);
375
+ text-overflow: ellipsis;
376
+ font-family: var(--nys-font-family-ui, "Proxima Nova");
377
+ font-size: var(--nys-font-size-ui-md, 16px);
378
+ font-style: normal;
379
+ font-weight: 400;
380
+ line-height: var(--nys-font-size-ui-md, 16px);
381
+ cursor: pointer;
382
+ width: fit-content;
383
+ }
384
+
385
+ .nys-stepper__steps {
386
+ display: flex;
387
+ flex-direction: column;
388
+ padding: var(--nys-space-150, 12px) var(--nys-space-400, 32px)
389
+ var(--nys-space-400, 32px);
390
+ overflow-y: scroll;
391
+ height: -webkit-fit-content;
392
+ height: -moz-available;
393
+ scrollbar-width: none;
394
+ background:
395
+ /* Shadow Cover TOP */
396
+ linear-gradient(
397
+ var(--nys-color-surface-raised, #f6f6f6) 30%,
398
+ rgba(255, 255, 255, 0)
399
+ )
400
+ center top,
401
+ /* Shadow Cover BOTTOM */
402
+ linear-gradient(
403
+ rgba(255, 255, 255, 0),
404
+ var(--nys-color-surface-raised, #f6f6f6) 70%
405
+ )
406
+ center bottom,
407
+ /* Shadow TOP */
408
+ linear-gradient(to bottom, rgba(99, 99, 99, 0.2), rgba(0, 0, 0, 0)) top,
409
+ /* Shadow BOTTOM */
410
+ linear-gradient(to top, rgba(99, 99, 99, 0.2), rgba(0, 0, 0, 0)) bottom;
411
+
412
+ background-repeat: no-repeat;
413
+ background-size:
414
+ 100% 40px,
415
+ 100% 40px,
416
+ 100% 14px,
417
+ 100% 14px;
418
+ background-attachment: local, local, scroll, scroll;
419
+ background-color: var(--nys-color-surface-raised, #f6f6f6);
420
+ }
421
+
422
+ .nys-step {
423
+ position: relative;
424
+ counter-increment: step;
425
+ display: flex;
426
+ flex-direction: column;
427
+ }
428
+
429
+ .nys-step__contentwrapper {
430
+ display: flex;
431
+ flex-direction: row;
432
+ align-items: center;
433
+ gap: var(--nys-space-150, 12px);
434
+ cursor: default;
435
+ width: fit-content;
436
+ }
437
+
438
+ .nys-step__contentwrapper:focus-visible {
439
+ outline: solid var(--nys-color-focus, #004dd1)
440
+ var(--nys-border-width-md, 2px);
441
+ outline-offset: var(--nys-space-2px, 2px);
442
+ border-radius: var(--nys-radius-md, 4px);
443
+ }
444
+
445
+ .nys-step__linewrapper {
446
+ width: 24px;
447
+ display: flex;
448
+ justify-content: center;
449
+ }
450
+
451
+ .nys-step__line {
452
+ width: var(--nys-size-1px, 1px);
453
+ height: var(--nys-size-300, 24px);
454
+ border-radius: var(--nys-radius-round, 1776px);
455
+ background: var(--nys-color-black-transparent-200, rgba(27, 27, 27, 0.2));
456
+ margin: var(--nys-space-100, 8px) 0;
457
+ }
458
+
459
+ .nys-step__number {
460
+ border-radius: var(--nys-radius-round, 1776px);
461
+ border: var(--nys-size-1px, 1px) solid var(--nys-color-neutral-400, #909395);
462
+ background: var(
463
+ --nys-color-white-transparent-900,
464
+ rgba(255, 255, 255, 0.9)
465
+ );
466
+ width: var(--nys-size-300, 24px);
467
+ height: var(--nys-size-300, 24px);
468
+ display: flex;
469
+ align-items: center;
470
+ justify-content: center;
471
+ text-align: center;
472
+ color: var(--nys-color-text, #1b1b1b);
473
+ }
474
+
475
+ :host([previous]) .nys-step__number,
476
+ :host([previous]) .nys-step__line,
477
+ :host([current]) .nys-step__number,
478
+ :host([current]) .nys-step__line {
479
+ background-color: var(--nys-color-theme-stronger, #081b2b);
480
+ color: var(--nys-color-text-reverse, #fff);
481
+ border-color: var(--nys-color-theme-stronger, #081b2b);
482
+ }
483
+
484
+ :host([selected]) .nys-step__number {
485
+ background-color: var(--nys-color-theme, #154973);
486
+ color: var(--nys-color-text-reverse, #fff);
487
+ border-color: var(--nys-color-theme, #154973);
488
+ outline: var(--nys-size-50, 4px) solid var(--nys-color-theme-weak, #cddde9);
489
+ }
490
+
491
+ /* Hide the line wrapper in the last step */
492
+ :host([first]) .nys-step__linewrapper {
493
+ display: none !important;
494
+ }
495
+
496
+ .nys-step__content {
497
+ display: flex;
498
+ flex-direction: column;
499
+ gap: var(--nys-space-100, 8px);
500
+ }
501
+
502
+ .nys-step__label {
503
+ color: var(--_nys-step-color);
504
+ font-family: var(--_nys-stepper-font-family);
505
+ font-size: var(--_nys-stepper-font-size);
506
+ font-weight: var(--_nys-stepper-font-weight);
507
+ line-height: var(--_nys-stepper-line-height);
508
+ line-height: var(--nys-font-size-ui-md, 16px);
509
+ letter-spacing: var(--nys-font-letterspacing-ui-md, 0.044px);
510
+ text-decoration-style: solid;
511
+ text-decoration-skip-ink: auto;
512
+ text-decoration-thickness: var(7%, 1.12px);
513
+ text-underline-offset: auto;
514
+ }
515
+
516
+ :host([current]) .nys-step__label,
517
+ :host([previous]) .nys-step__label {
518
+ text-decoration-line: underline;
519
+ }
520
+
521
+ :host([current]) .nys-step__contentwrapper,
522
+ :host([previous]) .nys-step__contentwrapper {
523
+ cursor: pointer;
524
+ }
525
+
526
+ :host([selected]) .nys-step__label {
527
+ /* UI/Medium/Bold */
528
+ font-weight: 700;
529
+ text-decoration-line: none;
530
+ }
531
+
532
+ :host([selected]) .nys-step__contentwrapper {
533
+ cursor: default;
534
+ }
535
+
536
+ :host([selected]) .nys-step__contentwrapper:focus-visible {
537
+ outline-offset: 6px;
538
+ }
539
+
540
+ @media (max-width: 1023px) {
541
+ .nys-stepper {
542
+ max-width: 1023px;
543
+ width: 100%;
544
+ }
545
+
546
+ .nys-stepper__header {
547
+ flex-direction: row-reverse;
548
+ justify-content: space-between;
549
+ padding: var(--nys-space-150, 12px);
550
+ gap: var(--nys-space-200, 16px);
551
+ }
552
+
553
+ .nys-stepper__headertext {
554
+ flex: 1 1 0;
555
+ min-width: 0;
556
+ }
557
+
558
+ ::slotted(div[slot="actions"]) {
559
+ margin-bottom: 0;
560
+ min-width: 0;
561
+ justify-content: end;
562
+ }
563
+
564
+ .nys-stepper__counter {
565
+ display: block;
566
+ }
567
+
568
+ .nys-stepper__steps {
569
+ flex-direction: row;
570
+ gap: var(--nys-space-2px, 2px);
571
+ padding: 0;
572
+ }
573
+
574
+ .nys-stepper__steps::slotted(*) {
575
+ flex: 1;
576
+ }
577
+
578
+ .nys-step__number {
579
+ border-radius: 0;
580
+ border: none;
581
+ background-color: var(--nys-color-neutral-200, #bec0c1);
582
+ height: var(--nys-size-100, 8px);
583
+ width: 100%;
584
+ color: transparent;
585
+ }
586
+
587
+ :host([previous]) .nys-step__number,
588
+ :host([current]) .nys-step__number {
589
+ background-color: var(--nys-color-neutral-900, #1b1b1b);
590
+ color: transparent;
591
+ }
592
+
593
+ :host([selected]) .nys-step__number {
594
+ background-color: var(--nys-color-theme-mid, #457aa5);
595
+ outline: none;
596
+ }
597
+
598
+ .nys-step__content,
599
+ .nys-step__linewrapper {
600
+ display: none;
601
+ }
602
+
603
+ .nys-step__contentwrapper {
604
+ cursor: default;
605
+ pointer-events: none;
606
+ width: auto;
607
+ }
608
+
609
+ /* ---------------- Expanded Mode ---------------- */
610
+ :host([isCompactExpanded]) .nys-step__content,
611
+ :host([isCompactExpanded]) .nys-step__linewrapper {
612
+ display: flex;
613
+ }
614
+
615
+ :host([isCompactExpanded]) .nys-stepper {
616
+ }
617
+
618
+ :host([isCompactExpanded]) .nys-stepper__header {
619
+ padding-bottom: var(--nys-space-250, 20px);
620
+ }
621
+
622
+ :host([isCompactExpanded]) .nys-stepper__steps {
623
+ width: -webkit-fill-available;
624
+ width: -moz-available;
625
+ z-index: 9999;
626
+ overflow-y: auto;
627
+ flex-direction: column;
628
+ gap: 0;
629
+ padding: var(--nys-space-150, 12px) var(--nys-space-400, 32px)
630
+ var(--nys-space-400, 32px);
631
+ }
632
+
633
+ :host([isCompactExpanded]) .nys-stepper__steps::slotted(*) {
634
+ flex: none;
635
+ }
636
+
637
+ :host([isCompactExpanded]) .nys-step__number {
638
+ border-radius: var(--nys-radius-round, 1776px);
639
+ border: 1px solid var(--nys-color-neutral-400, #909395);
640
+ background: var(
641
+ --nys-color-white-transparent-900,
642
+ rgba(255, 255, 255, 0.9)
643
+ );
644
+ width: var(--nys-space-300, 24px);
645
+ height: var(--nys-space-300, 24px);
646
+ color: var(--nys-color-text, #1b1b1b);
647
+ }
648
+
649
+ :host([isCompactExpanded][previous]) .nys-step__number,
650
+ :host([isCompactExpanded][previous]) .nys-step__line,
651
+ :host([isCompactExpanded][current]) .nys-step__number,
652
+ :host([isCompactExpanded][current]) .nys-step__line {
653
+ background: var(--nys-color-theme-stronger, #081b2b);
654
+ color: var(--nys-color-text-reverse, #fff);
655
+ border-color: var(--nys-color-theme-stronger, #081b2b);
656
+ }
657
+
658
+ :host([isCompactExpanded][selected]) .nys-step__number {
659
+ background: var(--nys-color-theme, #154973);
660
+ color: var(--nys-color-text-reverse, #fff);
661
+ border-color: var(--nys-color-theme, #154973);
662
+ outline: 4px solid var(--nys-color-theme-weak, #cddde9);
663
+ }
664
+
665
+ :host([isCompactExpanded]) .nys-step__contentwrapper {
666
+ pointer-events: all;
667
+ }
668
+ }
669
+ `;
670
+ var F = Object.defineProperty, h = (o, e, t, s) => {
671
+ for (var r = void 0, n = o.length - 1, i; n >= 0; n--)
672
+ (i = o[n]) && (r = i(e, t, r) || r);
673
+ return r && F(e, t, r), r;
674
+ };
675
+ const w = class w extends k {
676
+ constructor() {
677
+ super(...arguments), this.selected = !1, this.current = !1, this.label = "", this.href = "", this.isCompactExpanded = !1, this.stepNumber = 0;
678
+ }
679
+ _handleActivate(e) {
680
+ typeof this.onClick == "function" && this.onClick(e);
681
+ const t = new CustomEvent("nys-step-click", {
682
+ bubbles: !0,
683
+ composed: !0,
684
+ cancelable: !0,
685
+ detail: { href: this.href, label: this.label }
686
+ });
687
+ (this.hasAttribute("previous") || this.current) && !this.selected && (this.dispatchEvent(t), !t.defaultPrevented && this.href && (window.location.href = this.href));
688
+ }
689
+ _handleKeydown(e) {
690
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), this._handleActivate(e));
691
+ }
692
+ render() {
693
+ return P`
694
+ <div class="nys-step">
695
+ <div class="nys-step__linewrapper">
696
+ <div class="nys-step__line"></div>
697
+ </div>
698
+ <div
699
+ class="nys-step__contentwrapper"
700
+ @click=${this._handleActivate}
701
+ @keydown=${this._handleKeydown}
702
+ role="button"
703
+ aria-label="${this.label} Step"
704
+ ?disabled=${!(this.selected || this.current || this.hasAttribute("previous"))}
705
+ >
706
+ <div class="nys-step__number" tabindex="-1" aria-hidden="true">
707
+ ${this.stepNumber}
708
+ </div>
709
+ <div class="nys-step__content" tabindex="-1" aria-hidden="true">
710
+ <div
711
+ class="nys-step__label"
712
+ tabindex=${this.selected || this.current || this.hasAttribute("previous") ? "0" : "-1"}
713
+ aria-hidden="true"
714
+ >
715
+ ${this.label}
716
+ </div>
717
+ </div>
718
+ </div>
719
+ </div>
720
+ `;
721
+ }
722
+ };
723
+ w.styles = O;
724
+ let p = w;
725
+ h([
726
+ a({ type: Boolean, reflect: !0 })
727
+ ], p.prototype, "selected");
728
+ h([
729
+ a({ type: Boolean, reflect: !0 })
730
+ ], p.prototype, "current");
731
+ h([
732
+ a({ type: String })
733
+ ], p.prototype, "label");
734
+ h([
735
+ a({ type: String })
736
+ ], p.prototype, "href");
737
+ h([
738
+ a({ type: Boolean })
739
+ ], p.prototype, "isCompactExpanded");
740
+ h([
741
+ a({ type: Function })
742
+ ], p.prototype, "onClick");
743
+ h([
744
+ a({ type: Number })
745
+ ], p.prototype, "stepNumber");
746
+ customElements.get("nys-step") || customElements.define("nys-step", p);
747
+ var W = Object.defineProperty, f = (o, e, t, s) => {
748
+ for (var r = void 0, n = o.length - 1, i; n >= 0; n--)
749
+ (i = o[n]) && (r = i(e, t, r) || r);
750
+ return r && W(e, t, r), r;
751
+ };
752
+ const E = class E extends k {
753
+ constructor() {
754
+ super(), this.id = "", this.name = "", this.label = "", this.counterText = "initial", this.isCompactExpanded = !1, this._stepsNumbered = !1, this._onStepClick = async (e) => {
755
+ const t = e.composedPath().find(
756
+ (i) => i instanceof HTMLElement && i.tagName.toLowerCase() === "nys-step"
757
+ );
758
+ if (!t) return;
759
+ const s = Array.from(this.querySelectorAll("nys-step")), r = s.findIndex(
760
+ (i) => i.hasAttribute("current")
761
+ ), n = s.indexOf(t);
762
+ r !== -1 && n > r || t.hasAttribute("selected") || (s.forEach((i) => i.removeAttribute("selected")), t.setAttribute("selected", ""), this._updateCounter(), this.isCompactExpanded = !1);
763
+ };
764
+ }
765
+ connectedCallback() {
766
+ super.connectedCallback(), this.addEventListener("nys-step-click", this._onStepClick), requestAnimationFrame(() => this._validateSteps());
767
+ }
768
+ disconnectedCallback() {
769
+ this.removeEventListener("nys-step-click", this._onStepClick), super.disconnectedCallback();
770
+ }
771
+ _validateSteps() {
772
+ Array.from(this.children).forEach((e) => {
773
+ const t = e instanceof HTMLElement && e.tagName.toLowerCase() === "nys-step", s = e instanceof HTMLElement && e.hasAttribute("slot") && e.getAttribute("slot") === "actions";
774
+ !t && !s && (console.warn(
775
+ "Only <nys-step> elements or the <div slot='actions'> container are allowed as direct children of <nys-stepper>. Removing:",
776
+ e
777
+ ), e.remove());
778
+ });
779
+ }
780
+ _validateButtonSlot(e) {
781
+ const s = e.target.assignedElements();
782
+ if (s.length !== 1 || s[0].tagName.toLowerCase() !== "div") {
783
+ console.warn(
784
+ "The 'actions' slot must have exactly one <div> as a direct child."
785
+ );
786
+ return;
787
+ }
788
+ const r = s[0];
789
+ Array.from(r.children).forEach((n) => {
790
+ n instanceof HTMLElement && n.tagName.toLowerCase() === "nys-button" ? (n.setAttribute("size", "sm"), n.hasAttribute("fullWidth") && (n.style.flex = "1 1 0")) : (console.warn(
791
+ "The <div> inside 'actions' slot only accepts <nys-button> elements. Removing invalid node:",
792
+ n
793
+ ), n.remove());
794
+ });
795
+ }
796
+ _updateCounter() {
797
+ if (this.isCompactExpanded) {
798
+ this.counterText = "Back to Form", this.style.height = "-webkit-fit-content", this.style.height = "-moz-fit-content", this.style.height = "fit-content";
799
+ return;
800
+ } else
801
+ this.style.height = "auto";
802
+ const e = this.querySelectorAll("nys-step"), t = Array.from(e).findIndex(
803
+ (r) => r.hasAttribute("selected")
804
+ ), s = e.length;
805
+ this.counterText = t >= 0 ? `Step ${t + 1} of ${s}` : `Step 1 of ${s}`;
806
+ }
807
+ updated() {
808
+ const e = this.querySelectorAll("nys-step");
809
+ this._stepsNumbered || (e.forEach((n, i) => {
810
+ n.stepNumber = i + 1;
811
+ }), this._stepsNumbered = !0);
812
+ let t = !1, s = !1, r = !1;
813
+ e.forEach((n, i) => {
814
+ n.hasAttribute("current") && (r ? n.removeAttribute("current") : r = !0), i === 0 ? n.setAttribute("first", "") : n.removeAttribute("first"), n.hasAttribute("current") ? (t = !0, n.removeAttribute("previous")) : t ? n.removeAttribute("previous") : n.setAttribute("previous", ""), n.hasAttribute("selected") && (t || s ? n.removeAttribute("selected") : s = !0), this.hasAttribute("isCompactExpanded") ? n.setAttribute("isCompactExpanded", "") : n.removeAttribute("isCompactExpanded");
815
+ }), s || (r ? e.forEach((n) => {
816
+ n.hasAttribute("current") && !s && (n.setAttribute("selected", ""), s = !0);
817
+ }) : e.length > 0 && (e[0].setAttribute("current", ""), e[0].setAttribute("selected", ""))), this._updateCounter();
818
+ }
819
+ _toggleCompact() {
820
+ this.isCompactExpanded = !this.isCompactExpanded;
821
+ }
822
+ _handleCounterKeydown(e) {
823
+ (e.key === " " || e.key === "Enter") && (e.preventDefault(), this._toggleCompact());
824
+ }
825
+ render() {
826
+ return P`
827
+ <div class="nys-stepper" id=${this.id} name=${this.name}>
828
+ <div class="nys-stepper__header">
829
+ <slot name="actions" @slotchange=${this._validateButtonSlot}></slot>
830
+ <div class="nys-stepper__headertext">
831
+ <div class="nys-stepper__label">${this.label}</div>
832
+ <div
833
+ class="nys-stepper__counter"
834
+ @click=${this._toggleCompact}
835
+ @keydown=${this._handleCounterKeydown}
836
+ role="button"
837
+ tabindex="0"
838
+ aria-label=${this.isCompactExpanded ? "Collapse step navigation to view the form" : `Expand step navigation. You are on ${this.counterText}`}
839
+ aria-expanded=${this.isCompactExpanded ? "true" : "false"}
840
+ >
841
+ ${this.counterText}
842
+ </div>
843
+ </div>
844
+ </div>
845
+ <slot class="nys-stepper__steps"></slot>
846
+ </div>
847
+ `;
848
+ }
849
+ };
850
+ E.styles = O;
851
+ let d = E;
852
+ f([
853
+ a({ type: String })
854
+ ], d.prototype, "id");
855
+ f([
856
+ a({ type: String, reflect: !0 })
857
+ ], d.prototype, "name");
858
+ f([
859
+ a({ type: String })
860
+ ], d.prototype, "label");
861
+ f([
862
+ a({ type: String })
863
+ ], d.prototype, "counterText");
864
+ f([
865
+ a({ type: Boolean, reflect: !0 })
866
+ ], d.prototype, "isCompactExpanded");
867
+ customElements.get("nys-stepper") || customElements.define("nys-stepper", d);
868
+ export {
869
+ p as NysStep,
870
+ d as NysStepper
871
+ };
872
+ //# sourceMappingURL=nys-stepper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nys-stepper.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","../src/nys-stepper.styles.ts","../src/nys-step.ts","../src/nys-stepper.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:r,getOwnPropertyNames:h,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),y={attribute:!0,type:String,converter:u,reflect:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e(this.prototype,t,r)}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...h(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f)(this[t],s))return;this.P(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.P(s,this[s],i)}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU()}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:\"open\"},b[d(\"elementProperties\")]=new Map,b[d(\"finalized\")]=new Map,p?.({ReactiveElement:b}),(a.reactiveElementVersions??=[]).push(\"2.0.4\");export{b as ReactiveElement,u as defaultConverter,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.P(o,void 0,t),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,r?{...t,wrapped:!0}:t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import { css } from \"lit\";\n\nexport default css`\n :host {\n /* Anything that can be overridden should be defined here */\n\n /* Global Stepper Styles */\n\n /* Typography */\n --_nys-stepper-font-size: var(--nys-font-size-ui-md, 16px);\n --_nys-stepper-font-weight: var(--nys-font-weight-semibold, 600);\n --_nys-stepper-line-height: var(--nys-font-lineheight-ui-md, 24px);\n --_nys-stepper-font-family: var(\n --nys-font-family-ui,\n var(\n --nys-font-family-sans,\n \"Proxima Nova\",\n \"Helvetica Neue\",\n \"Helvetica\",\n \"Arial\",\n sans-serif\n )\n );\n --_nys-step-color: var(--nys-color-text, #1b1b1b);\n --_nys-stepper-background-color: var(--nys-color-surface-raised, #f6f6f6);\n }\n\n .nys-stepper {\n font-family: var(--_nys-stepper-font-family);\n font-size: var(--_nys-stepper-font-size);\n font-weight: var(--_nys-stepper-font-weight);\n line-height: var(--_nys-stepper-line-height);\n display: flex;\n flex-direction: column;\n counter-reset: step;\n background-color: var(--_nys-stepper-background-color);\n max-width: 100%;\n height: 100%;\n }\n\n .nys-stepper__header {\n display: flex;\n flex-direction: column;\n padding: var(--nys-space-400, 32px) var(--nys-space-400, 32px)\n var(--nys-space-150, 12px);\n }\n\n ::slotted(div[slot=\"actions\"]) {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n gap: var(--nys-space-100, 8px);\n margin-bottom: var(--nys-space-300, 24px);\n }\n\n .nys-stepper__counter {\n display: none;\n text-decoration: underline;\n text-decoration-style: solid;\n text-decoration-skip-ink: auto;\n text-decoration-thickness: 7%; /* 1.12px */\n text-underline-offset: auto;\n text-underline-position: from-font;\n color: var(--nys-color-text, #1b1b1b);\n text-overflow: ellipsis;\n font-family: var(--nys-font-family-ui, \"Proxima Nova\");\n font-size: var(--nys-font-size-ui-md, 16px);\n font-style: normal;\n font-weight: 400;\n line-height: var(--nys-font-size-ui-md, 16px);\n cursor: pointer;\n width: fit-content;\n }\n\n .nys-stepper__steps {\n display: flex;\n flex-direction: column;\n padding: var(--nys-space-150, 12px) var(--nys-space-400, 32px)\n var(--nys-space-400, 32px);\n overflow-y: scroll;\n height: -webkit-fit-content;\n height: -moz-available;\n scrollbar-width: none;\n background:\n /* Shadow Cover TOP */\n linear-gradient(\n var(--nys-color-surface-raised, #f6f6f6) 30%,\n rgba(255, 255, 255, 0)\n )\n center top,\n /* Shadow Cover BOTTOM */\n linear-gradient(\n rgba(255, 255, 255, 0),\n var(--nys-color-surface-raised, #f6f6f6) 70%\n )\n center bottom,\n /* Shadow TOP */\n linear-gradient(to bottom, rgba(99, 99, 99, 0.2), rgba(0, 0, 0, 0)) top,\n /* Shadow BOTTOM */\n linear-gradient(to top, rgba(99, 99, 99, 0.2), rgba(0, 0, 0, 0)) bottom;\n\n background-repeat: no-repeat;\n background-size:\n 100% 40px,\n 100% 40px,\n 100% 14px,\n 100% 14px;\n background-attachment: local, local, scroll, scroll;\n background-color: var(--nys-color-surface-raised, #f6f6f6);\n }\n\n .nys-step {\n position: relative;\n counter-increment: step;\n display: flex;\n flex-direction: column;\n }\n\n .nys-step__contentwrapper {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--nys-space-150, 12px);\n cursor: default;\n width: fit-content;\n }\n\n .nys-step__contentwrapper:focus-visible {\n outline: solid var(--nys-color-focus, #004dd1)\n var(--nys-border-width-md, 2px);\n outline-offset: var(--nys-space-2px, 2px);\n border-radius: var(--nys-radius-md, 4px);\n }\n\n .nys-step__linewrapper {\n width: 24px;\n display: flex;\n justify-content: center;\n }\n\n .nys-step__line {\n width: var(--nys-size-1px, 1px);\n height: var(--nys-size-300, 24px);\n border-radius: var(--nys-radius-round, 1776px);\n background: var(--nys-color-black-transparent-200, rgba(27, 27, 27, 0.2));\n margin: var(--nys-space-100, 8px) 0;\n }\n\n .nys-step__number {\n border-radius: var(--nys-radius-round, 1776px);\n border: var(--nys-size-1px, 1px) solid var(--nys-color-neutral-400, #909395);\n background: var(\n --nys-color-white-transparent-900,\n rgba(255, 255, 255, 0.9)\n );\n width: var(--nys-size-300, 24px);\n height: var(--nys-size-300, 24px);\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n color: var(--nys-color-text, #1b1b1b);\n }\n\n :host([previous]) .nys-step__number,\n :host([previous]) .nys-step__line,\n :host([current]) .nys-step__number,\n :host([current]) .nys-step__line {\n background-color: var(--nys-color-theme-stronger, #081b2b);\n color: var(--nys-color-text-reverse, #fff);\n border-color: var(--nys-color-theme-stronger, #081b2b);\n }\n\n :host([selected]) .nys-step__number {\n background-color: var(--nys-color-theme, #154973);\n color: var(--nys-color-text-reverse, #fff);\n border-color: var(--nys-color-theme, #154973);\n outline: var(--nys-size-50, 4px) solid var(--nys-color-theme-weak, #cddde9);\n }\n\n /* Hide the line wrapper in the last step */\n :host([first]) .nys-step__linewrapper {\n display: none !important;\n }\n\n .nys-step__content {\n display: flex;\n flex-direction: column;\n gap: var(--nys-space-100, 8px);\n }\n\n .nys-step__label {\n color: var(--_nys-step-color);\n font-family: var(--_nys-stepper-font-family);\n font-size: var(--_nys-stepper-font-size);\n font-weight: var(--_nys-stepper-font-weight);\n line-height: var(--_nys-stepper-line-height);\n line-height: var(--nys-font-size-ui-md, 16px);\n letter-spacing: var(--nys-font-letterspacing-ui-md, 0.044px);\n text-decoration-style: solid;\n text-decoration-skip-ink: auto;\n text-decoration-thickness: var(7%, 1.12px);\n text-underline-offset: auto;\n }\n\n :host([current]) .nys-step__label,\n :host([previous]) .nys-step__label {\n text-decoration-line: underline;\n }\n\n :host([current]) .nys-step__contentwrapper,\n :host([previous]) .nys-step__contentwrapper {\n cursor: pointer;\n }\n\n :host([selected]) .nys-step__label {\n /* UI/Medium/Bold */\n font-weight: 700;\n text-decoration-line: none;\n }\n\n :host([selected]) .nys-step__contentwrapper {\n cursor: default;\n }\n\n :host([selected]) .nys-step__contentwrapper:focus-visible {\n outline-offset: 6px;\n }\n\n @media (max-width: 1023px) {\n .nys-stepper {\n max-width: 1023px;\n width: 100%;\n }\n\n .nys-stepper__header {\n flex-direction: row-reverse;\n justify-content: space-between;\n padding: var(--nys-space-150, 12px);\n gap: var(--nys-space-200, 16px);\n }\n\n .nys-stepper__headertext {\n flex: 1 1 0;\n min-width: 0;\n }\n\n ::slotted(div[slot=\"actions\"]) {\n margin-bottom: 0;\n min-width: 0;\n justify-content: end;\n }\n\n .nys-stepper__counter {\n display: block;\n }\n\n .nys-stepper__steps {\n flex-direction: row;\n gap: var(--nys-space-2px, 2px);\n padding: 0;\n }\n\n .nys-stepper__steps::slotted(*) {\n flex: 1;\n }\n\n .nys-step__number {\n border-radius: 0;\n border: none;\n background-color: var(--nys-color-neutral-200, #bec0c1);\n height: var(--nys-size-100, 8px);\n width: 100%;\n color: transparent;\n }\n\n :host([previous]) .nys-step__number,\n :host([current]) .nys-step__number {\n background-color: var(--nys-color-neutral-900, #1b1b1b);\n color: transparent;\n }\n\n :host([selected]) .nys-step__number {\n background-color: var(--nys-color-theme-mid, #457aa5);\n outline: none;\n }\n\n .nys-step__content,\n .nys-step__linewrapper {\n display: none;\n }\n\n .nys-step__contentwrapper {\n cursor: default;\n pointer-events: none;\n width: auto;\n }\n\n /* ---------------- Expanded Mode ---------------- */\n :host([isCompactExpanded]) .nys-step__content,\n :host([isCompactExpanded]) .nys-step__linewrapper {\n display: flex;\n }\n\n :host([isCompactExpanded]) .nys-stepper {\n }\n\n :host([isCompactExpanded]) .nys-stepper__header {\n padding-bottom: var(--nys-space-250, 20px);\n }\n\n :host([isCompactExpanded]) .nys-stepper__steps {\n width: -webkit-fill-available;\n width: -moz-available;\n z-index: 9999;\n overflow-y: auto;\n flex-direction: column;\n gap: 0;\n padding: var(--nys-space-150, 12px) var(--nys-space-400, 32px)\n var(--nys-space-400, 32px);\n }\n\n :host([isCompactExpanded]) .nys-stepper__steps::slotted(*) {\n flex: none;\n }\n\n :host([isCompactExpanded]) .nys-step__number {\n border-radius: var(--nys-radius-round, 1776px);\n border: 1px solid var(--nys-color-neutral-400, #909395);\n background: var(\n --nys-color-white-transparent-900,\n rgba(255, 255, 255, 0.9)\n );\n width: var(--nys-space-300, 24px);\n height: var(--nys-space-300, 24px);\n color: var(--nys-color-text, #1b1b1b);\n }\n\n :host([isCompactExpanded][previous]) .nys-step__number,\n :host([isCompactExpanded][previous]) .nys-step__line,\n :host([isCompactExpanded][current]) .nys-step__number,\n :host([isCompactExpanded][current]) .nys-step__line {\n background: var(--nys-color-theme-stronger, #081b2b);\n color: var(--nys-color-text-reverse, #fff);\n border-color: var(--nys-color-theme-stronger, #081b2b);\n }\n\n :host([isCompactExpanded][selected]) .nys-step__number {\n background: var(--nys-color-theme, #154973);\n color: var(--nys-color-text-reverse, #fff);\n border-color: var(--nys-color-theme, #154973);\n outline: 4px solid var(--nys-color-theme-weak, #cddde9);\n }\n\n :host([isCompactExpanded]) .nys-step__contentwrapper {\n pointer-events: all;\n }\n }\n`;\n","import { LitElement, html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport styles from \"./nys-stepper.styles\";\n\nexport class NysStep extends LitElement {\n @property({ type: Boolean, reflect: true }) selected = false;\n @property({ type: Boolean, reflect: true }) current = false;\n @property({ type: String }) label = \"\";\n @property({ type: String }) href = \"\";\n @property({ type: Boolean }) isCompactExpanded = false;\n @property({ type: Function }) onClick?: (e: Event) => void;\n @property({ type: Number }) stepNumber = 0;\n\n static styles = styles;\n\n private _handleActivate(e: Event) {\n // Run user-supplied onClick first (if present)\n if (typeof this.onClick === \"function\") {\n this.onClick(e);\n }\n\n // Dispatch event as cancelable so user can prevent navigation\n const event = new CustomEvent(\"nys-step-click\", {\n bubbles: true,\n composed: true,\n cancelable: true,\n detail: { href: this.href, label: this.label },\n });\n\n if ((this.hasAttribute(\"previous\") || this.current) && !this.selected) {\n this.dispatchEvent(event);\n\n // Only navigate if event was not canceled\n if (!event.defaultPrevented && this.href) {\n window.location.href = this.href;\n }\n }\n }\n\n private _handleKeydown(e: KeyboardEvent) {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n this._handleActivate(e);\n }\n }\n\n render() {\n return html`\n <div class=\"nys-step\">\n <div class=\"nys-step__linewrapper\">\n <div class=\"nys-step__line\"></div>\n </div>\n <div\n class=\"nys-step__contentwrapper\"\n @click=${this._handleActivate}\n @keydown=${this._handleKeydown}\n role=\"button\"\n aria-label=\"${this.label} Step\"\n ?disabled=${!(\n this.selected ||\n this.current ||\n this.hasAttribute(\"previous\")\n )}\n >\n <div class=\"nys-step__number\" tabindex=\"-1\" aria-hidden=\"true\">\n ${this.stepNumber}\n </div>\n <div class=\"nys-step__content\" tabindex=\"-1\" aria-hidden=\"true\">\n <div\n class=\"nys-step__label\"\n tabindex=${!(\n this.selected ||\n this.current ||\n this.hasAttribute(\"previous\")\n )\n ? \"-1\"\n : \"0\"}\n aria-hidden=\"true\"\n >\n ${this.label}\n </div>\n </div>\n </div>\n </div>\n `;\n }\n}\n\nif (!customElements.get(\"nys-step\")) {\n customElements.define(\"nys-step\", NysStep);\n}\n","import { LitElement, html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport styles from \"./nys-stepper.styles\";\nimport \"./nys-step\";\n\nexport class NysStepper extends LitElement {\n @property({ type: String }) id = \"\";\n @property({ type: String, reflect: true }) name = \"\";\n @property({ type: String }) label = \"\";\n @property({ type: String }) counterText = \"initial\";\n @property({ type: Boolean, reflect: true })\n isCompactExpanded = false;\n\n static styles = styles;\n private _stepsNumbered = false;\n\n constructor() {\n super();\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener(\"nys-step-click\", this._onStepClick);\n // Defer step validation to next tick to ensure children are upgraded\n requestAnimationFrame(() => this._validateSteps());\n }\n\n disconnectedCallback() {\n this.removeEventListener(\"nys-step-click\", this._onStepClick);\n super.disconnectedCallback();\n }\n\n private _validateSteps() {\n Array.from(this.children).forEach((child) => {\n const isStep =\n child instanceof HTMLElement &&\n child.tagName.toLowerCase() === \"nys-step\";\n const isSlotActionsContainer =\n child instanceof HTMLElement &&\n child.hasAttribute(\"slot\") &&\n child.getAttribute(\"slot\") === \"actions\";\n\n if (!isStep && !isSlotActionsContainer) {\n console.warn(\n \"Only <nys-step> elements or the <div slot='actions'> container are allowed as direct children of <nys-stepper>. Removing:\",\n child,\n );\n child.remove();\n }\n });\n }\n\n private _validateButtonSlot(event: Event) {\n const slot = event.target as HTMLSlotElement;\n const assignedElements = slot.assignedElements();\n\n // Ensure exactly one direct node in the slot, and it must be a div\n if (\n assignedElements.length !== 1 ||\n assignedElements[0].tagName.toLowerCase() !== \"div\"\n ) {\n console.warn(\n \"The 'actions' slot must have exactly one <div> as a direct child.\",\n );\n return;\n }\n\n const div = assignedElements[0] as HTMLElement;\n\n // Iterate through all buttons and validate\n Array.from(div.children).forEach((button) => {\n const isNysButton =\n button instanceof HTMLElement &&\n button.tagName.toLowerCase() === \"nys-button\";\n\n if (!isNysButton) {\n console.warn(\n \"The <div> inside 'actions' slot only accepts <nys-button> elements. Removing invalid node:\",\n button,\n );\n button.remove();\n } else {\n // Ensure nys-button has correct styles\n button.setAttribute(\"size\", \"sm\");\n if (button.hasAttribute(\"fullWidth\")) {\n button.style.flex = \"1 1 0\";\n }\n }\n });\n }\n\n private _onStepClick = async (event: Event) => {\n const clickedStep = event\n .composedPath()\n .find(\n (el) =>\n el instanceof HTMLElement && el.tagName.toLowerCase() === \"nys-step\",\n ) as HTMLElement | undefined;\n\n if (!clickedStep) return;\n\n const steps = Array.from(this.querySelectorAll(\"nys-step\"));\n const currentIndex = steps.findIndex((step) =>\n step.hasAttribute(\"current\"),\n );\n const clickedIndex = steps.indexOf(clickedStep);\n\n // Can't select past current\n if (currentIndex !== -1 && clickedIndex > currentIndex) return;\n\n // Can't select already selected\n if (clickedStep.hasAttribute(\"selected\")) return;\n\n // Remove selected from previous and move to new selected\n steps.forEach((step) => step.removeAttribute(\"selected\"));\n clickedStep.setAttribute(\"selected\", \"\");\n\n // Update counter immediately\n this._updateCounter();\n\n // Close expanded if it was open\n this.isCompactExpanded = false;\n };\n\n private _updateCounter() {\n if (this.isCompactExpanded) {\n this.counterText = \"Back to Form\";\n this.style.height = \"-webkit-fit-content\";\n this.style.height = \"-moz-fit-content\";\n this.style.height = \"fit-content\";\n return;\n } else {\n this.style.height = \"auto\";\n }\n\n const steps = this.querySelectorAll<HTMLElement>(\"nys-step\");\n const selectedIndex = Array.from(steps).findIndex((step) =>\n step.hasAttribute(\"selected\"),\n );\n const totalSteps = steps.length;\n\n this.counterText =\n selectedIndex >= 0\n ? `Step ${selectedIndex + 1} of ${totalSteps}`\n : `Step 1 of ${totalSteps}`;\n }\n\n updated() {\n const steps = this.querySelectorAll<any>(\"nys-step\");\n\n if (!this._stepsNumbered) {\n steps.forEach((step, index) => {\n step.stepNumber = index + 1;\n });\n this._stepsNumbered = true;\n }\n\n let foundCurrent = false;\n let selectedAssigned = false;\n let currentAssigned = false;\n\n steps.forEach((step, i) => {\n // Check if multiple \"current\" exist, respect the first instance\n if (step.hasAttribute(\"current\")) {\n if (!currentAssigned) {\n currentAssigned = true;\n } else {\n step.removeAttribute(\"current\");\n }\n }\n\n // Set first\n if (i === 0) {\n step.setAttribute(\"first\", \"\");\n } else {\n step.removeAttribute(\"first\");\n }\n\n // Set previous\n if (step.hasAttribute(\"current\")) {\n foundCurrent = true;\n step.removeAttribute(\"previous\");\n } else if (!foundCurrent) {\n step.setAttribute(\"previous\", \"\");\n } else {\n step.removeAttribute(\"previous\");\n }\n\n // Handle selected, respect first instance\n if (step.hasAttribute(\"selected\")) {\n if (foundCurrent || selectedAssigned) {\n step.removeAttribute(\"selected\");\n } else {\n selectedAssigned = true;\n }\n }\n\n // Handle compact expanded\n if (this.hasAttribute(\"isCompactExpanded\")) {\n step.setAttribute(\"isCompactExpanded\", \"\");\n } else {\n step.removeAttribute(\"isCompactExpanded\");\n }\n });\n\n // Selected fallback\n if (!selectedAssigned) {\n if (currentAssigned) {\n steps.forEach((step) => {\n if (step.hasAttribute(\"current\") && !selectedAssigned) {\n step.setAttribute(\"selected\", \"\");\n selectedAssigned = true;\n }\n });\n } else if (steps.length > 0) {\n // If no current or selected, mark first as both current and selected\n steps[0].setAttribute(\"current\", \"\");\n steps[0].setAttribute(\"selected\", \"\");\n }\n }\n\n // Always update counter\n this._updateCounter();\n }\n\n private _toggleCompact() {\n this.isCompactExpanded = !this.isCompactExpanded;\n }\n\n private _handleCounterKeydown(event: KeyboardEvent) {\n if (event.key === \" \" || event.key === \"Enter\") {\n event.preventDefault();\n this._toggleCompact();\n }\n }\n\n render() {\n return html`\n <div class=\"nys-stepper\" id=${this.id} name=${this.name}>\n <div class=\"nys-stepper__header\">\n <slot name=\"actions\" @slotchange=${this._validateButtonSlot}></slot>\n <div class=\"nys-stepper__headertext\">\n <div class=\"nys-stepper__label\">${this.label}</div>\n <div\n class=\"nys-stepper__counter\"\n @click=${this._toggleCompact}\n @keydown=${this._handleCounterKeydown}\n role=\"button\"\n tabindex=\"0\"\n aria-label=${this.isCompactExpanded\n ? \"Collapse step navigation to view the form\"\n : `Expand step navigation. You are on ${this.counterText}`}\n aria-expanded=${this.isCompactExpanded ? \"true\" : \"false\"}\n >\n ${this.counterText}\n </div>\n </div>\n </div>\n <slot class=\"nys-stepper__steps\"></slot>\n </div>\n `;\n }\n}\n\nif (!customElements.get(\"nys-stepper\")) {\n customElements.define(\"nys-stepper\", NysStepper);\n}\n"],"names":["t","e","s","o","n$2","r","n","S","c","i","h","a","l","p","d","u","f","y","b","_a","styles","css","_NysStep","LitElement","event","html","NysStep","__decorateClass","property","_NysStepper","clickedStep","el","steps","currentIndex","step","clickedIndex","child","isStep","isSlotActionsContainer","assignedElements","div","button","selectedIndex","totalSteps","index","foundCurrent","selectedAssigned","currentAssigned","NysStepper"],"mappings":"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","x_google_ignoreList":[0,1,2]}
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").CSSResult;
2
+ export default _default;
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@nysds/nys-stepper",
3
+ "version": "1.8.0",
4
+ "description": "The Stepper component from the NYS Design System.",
5
+ "module": "dist/nys-stepper.js",
6
+ "types": "dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "import": "./dist/nys-stepper.js",
10
+ "types": "./dist/index.d.ts"
11
+ }
12
+ },
13
+ "type": "module",
14
+ "files": [
15
+ "dist/"
16
+ ],
17
+ "scripts": {
18
+ "dev": "tsc --emitDeclarationOnly && vite",
19
+ "build": "tsc --emitDeclarationOnly && vite build",
20
+ "test": "vite build && wtr",
21
+ "build:watch": "tsc --emitDeclarationOnly && vite build --watch",
22
+ "test:watch": "vite build && wtr --watch"
23
+ },
24
+ "peerDependencies": {
25
+ "lit": "^3.2.1",
26
+ "@nysds/nys-button": "^1.8.0"
27
+ },
28
+ "dependencies": {
29
+ },
30
+ "devDependencies": {
31
+ "lit": "^3.2.1",
32
+ "typescript": "^5.7.2",
33
+ "vite": "^6.3.4",
34
+ "@nysds/nys-button": "^1.8.0"
35
+ },
36
+ "keywords": [
37
+ "new-york-state",
38
+ "design-system",
39
+ "web-components",
40
+ "lit",
41
+ "nys",
42
+ "stepper",
43
+ "forms"
44
+ ],
45
+ "author": "New York State Design System Team",
46
+ "license": "MIT"
47
+ }
48
+