@nysds/nys-stepper 1.11.4 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -33,8 +33,6 @@ const y = class y extends u {
33
33
  class="nys-step__contentwrapper"
34
34
  @click=${this._handleActivate}
35
35
  @keydown=${this._handleKeydown}
36
- role="button"
37
- aria-label="${this.label} Step"
38
36
  ?disabled=${!(this.selected || this.current || this.hasAttribute("previous"))}
39
37
  >
40
38
  <div class="nys-step__number" tabindex="-1" aria-hidden="true">
@@ -43,6 +41,8 @@ const y = class y extends u {
43
41
  <div class="nys-step__content" tabindex="-1" aria-hidden="true">
44
42
  <div
45
43
  class="nys-step__label"
44
+ role="button"
45
+ aria-label="${this.label} Step"
46
46
  tabindex=${this.selected || this.current || this.hasAttribute("previous") ? "0" : "-1"}
47
47
  aria-hidden="true"
48
48
  >
@@ -1 +1 @@
1
- {"version":3,"file":"nys-stepper.js","sources":["../src/nys-step.ts","../src/nys-stepper.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from \"lit\";\nimport { property } from \"lit/decorators.js\";\n// @ts-ignore: SCSS module imported via bundler as inline\nimport styles from \"./nys-stepper.scss?inline\";\n\nexport class NysStep extends LitElement {\n static styles = unsafeCSS(styles);\n\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({ attribute: false }) onClick?: (e: Event) => void;\n @property({ type: Number }) stepNumber = 0;\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, unsafeCSS } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport \"./nys-step\";\n// @ts-ignore: SCSS module imported via bundler as inline\nimport styles from \"./nys-stepper.scss?inline\";\n\nexport class NysStepper extends LitElement {\n static styles = unsafeCSS(styles);\n\n @property({ type: String, reflect: true }) 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 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 let newCounterText: string;\n\n if (this.isCompactExpanded) {\n newCounterText = \"Back to Form\";\n this.style.height = \"-webkit-fit-content\";\n this.style.height = \"-moz-fit-content\";\n this.style.height = \"fit-content\";\n } else {\n this.style.height = \"auto\";\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 newCounterText =\n selectedIndex >= 0\n ? `Step ${selectedIndex + 1} of ${totalSteps}`\n : `Step 1 of ${totalSteps}`;\n }\n\n if (newCounterText !== this.counterText) {\n this.counterText = newCounterText;\n }\n }\n\n willUpdate() {\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.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\" 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":["_NysStep","LitElement","event","html","unsafeCSS","styles","NysStep","__decorateClass","property","_NysStepper","clickedStep","el","steps","currentIndex","step","clickedIndex","child","isStep","isSlotActionsContainer","assignedElements","div","button","newCounterText","selectedIndex","totalSteps","index","foundCurrent","selectedAssigned","currentAssigned","i","NysStepper"],"mappings":"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"}
1
+ {"version":3,"file":"nys-stepper.js","sources":["../src/nys-step.ts","../src/nys-stepper.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from \"lit\";\nimport { property } from \"lit/decorators.js\";\n// @ts-ignore: SCSS module imported via bundler as inline\nimport styles from \"./nys-stepper.scss?inline\";\n\nexport class NysStep extends LitElement {\n static styles = unsafeCSS(styles);\n\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({ attribute: false }) onClick?: (e: Event) => void;\n @property({ type: Number }) stepNumber = 0;\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 ?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 role=\"button\"\n aria-label=\"${this.label} Step\"\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, unsafeCSS } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport \"./nys-step\";\n// @ts-ignore: SCSS module imported via bundler as inline\nimport styles from \"./nys-stepper.scss?inline\";\n\n/**\n * `<nys-stepper>` manages a sequence of `<nys-step>` elements, providing\n * multi-step navigation for forms or workflows.\n *\n * Features:\n * - Tracks selected and current steps\n * - Displays a step counter (e.g., \"Step 2 of 5\")\n * - Supports compact/expanded view toggle\n * - Validates that only `<nys-step>` or `<div slot=\"actions\">` children are used\n *\n * @fires nys-step-click - Fired when a step is clicked; bubbles with the event path\n *\n * @example\n * <div class=\"nys-grid-row\">\n * <nys-stepper\n * id=\"stepper\"\n * name=\"stepper\"\n * label=\"Register for Design System Office Hours\"\n * class=\"nys-desktop:nys-grid-col-3\"\n * >\n * <nys-step label=\"Personal Details\"></nys-step>\n * <nys-step label=\"Team Info\" selected></nys-step>\n * <nys-step label=\"Usage Survey\" current></nys-step>\n * <div slot=\"actions\">\n * <nys-button variant=\"outline\" label=\"Save & Exit\" fullWidth></nys-button>\n * </div>\n * </nys-stepper>\n * <div class=\"nys-desktop:nys-grid-col-9\" id=\"stepper-content\">\n * Page content for the selected step\n * </div>\n * </div>\n */\n\nexport class NysStepper extends LitElement {\n static styles = unsafeCSS(styles);\n\n @property({ type: String, reflect: true }) 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 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 let newCounterText: string;\n\n if (this.isCompactExpanded) {\n newCounterText = \"Back to Form\";\n this.style.height = \"-webkit-fit-content\";\n this.style.height = \"-moz-fit-content\";\n this.style.height = \"fit-content\";\n } else {\n this.style.height = \"auto\";\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 newCounterText =\n selectedIndex >= 0\n ? `Step ${selectedIndex + 1} of ${totalSteps}`\n : `Step 1 of ${totalSteps}`;\n }\n\n if (newCounterText !== this.counterText) {\n this.counterText = newCounterText;\n }\n }\n\n willUpdate() {\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.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\" 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":["_NysStep","LitElement","event","html","unsafeCSS","styles","NysStep","__decorateClass","property","_NysStepper","clickedStep","el","steps","currentIndex","step","clickedIndex","child","isStep","isSlotActionsContainer","assignedElements","div","button","newCounterText","selectedIndex","totalSteps","index","foundCurrent","selectedAssigned","currentAssigned","i","NysStepper"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nysds/nys-stepper",
3
- "version": "1.11.4",
3
+ "version": "1.13.0",
4
4
  "description": "The Stepper component from the NYS Design System.",
5
5
  "module": "dist/nys-stepper.js",
6
6
  "types": "dist/index.d.ts",
@@ -26,7 +26,7 @@
26
26
  "lit": "^3.3.1",
27
27
  "typescript": "^5.9.3",
28
28
  "vite": "^7.1.12",
29
- "@nysds/nys-button": "^1.11.4"
29
+ "@nysds/nys-button": "^1.13.0"
30
30
  },
31
31
  "keywords": [
32
32
  "new-york-state",