@ukic/web-components 3.17.0 → 3.18.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.
Files changed (190) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/ic-alert.cjs.entry.js +6 -2
  3. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  4. package/dist/cjs/ic-button_3.cjs.entry.js +28 -16
  5. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-checkbox-group.cjs.entry.js +23 -2
  7. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  9. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-input-label_2.cjs.entry.js +3 -4
  13. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-skeleton.cjs.entry.js +20 -5
  15. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-step.cjs.entry.js +16 -14
  17. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-stepper.cjs.entry.js +24 -4
  19. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-switch.cjs.entry.js +4 -4
  21. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
  23. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  24. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  25. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-toast.cjs.entry.js +5 -5
  27. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +2 -2
  28. package/dist/cjs/ic-toggle-button.cjs.entry.js +2 -2
  29. package/dist/cjs/loader.cjs.js +1 -1
  30. package/dist/collection/components/ic-alert/ic-alert.js +26 -2
  31. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  32. package/dist/collection/components/ic-alert/ic-alert.stories.js +15 -0
  33. package/dist/collection/components/ic-button/ic-button.css +12 -0
  34. package/dist/collection/components/ic-button/ic-button.js +3 -3
  35. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  36. package/dist/collection/components/ic-button/ic-button.stories.js +251 -0
  37. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +25 -2
  38. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  39. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +16 -8
  40. package/dist/collection/components/ic-data-list/ic-data-list.stories.js +6 -0
  41. package/dist/collection/components/ic-data-row/ic-data-row.css +1 -1
  42. package/dist/collection/components/ic-input-validation/ic-input-validation.js +7 -8
  43. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  44. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +29 -14
  45. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  46. package/dist/collection/components/ic-menu/ic-menu.css +1 -1
  47. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +2 -2
  48. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +1 -1
  49. package/dist/collection/components/ic-select/ic-select_(single).stories.js +3 -3
  50. package/dist/collection/components/ic-skeleton/ic-skeleton.js +58 -5
  51. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  52. package/dist/collection/components/ic-skeleton/ic-skeleton.stories.js +4 -3
  53. package/dist/collection/components/ic-step/ic-step.css +16 -7
  54. package/dist/collection/components/ic-step/ic-step.js +19 -14
  55. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  56. package/dist/collection/components/ic-stepper/ic-stepper.js +24 -4
  57. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  58. package/dist/collection/components/ic-stepper/ic-stepper.stories.js +12 -0
  59. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  60. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
  61. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  62. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  63. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  64. package/dist/collection/components/ic-toast/ic-toast.js +5 -5
  65. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  66. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  67. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  68. package/dist/components/ic-alert.js +7 -2
  69. package/dist/components/ic-alert.js.map +1 -1
  70. package/dist/components/ic-button2.js +4 -4
  71. package/dist/components/ic-button2.js.map +1 -1
  72. package/dist/components/ic-checkbox-group.js +24 -2
  73. package/dist/components/ic-checkbox-group.js.map +1 -1
  74. package/dist/components/ic-data-row.js +1 -1
  75. package/dist/components/ic-data-row.js.map +1 -1
  76. package/dist/components/ic-input-validation2.js +4 -5
  77. package/dist/components/ic-input-validation2.js.map +1 -1
  78. package/dist/components/ic-loading-indicator2.js +27 -13
  79. package/dist/components/ic-loading-indicator2.js.map +1 -1
  80. package/dist/components/ic-menu2.js +1 -1
  81. package/dist/components/ic-menu2.js.map +1 -1
  82. package/dist/components/ic-radio-group.js.map +1 -1
  83. package/dist/components/ic-side-navigation.js.map +1 -1
  84. package/dist/components/ic-skeleton.js +23 -6
  85. package/dist/components/ic-skeleton.js.map +1 -1
  86. package/dist/components/ic-step.js +17 -15
  87. package/dist/components/ic-step.js.map +1 -1
  88. package/dist/components/ic-stepper.js +24 -4
  89. package/dist/components/ic-stepper.js.map +1 -1
  90. package/dist/components/ic-switch.js +4 -4
  91. package/dist/components/ic-tab-context.js +1 -1
  92. package/dist/components/ic-tab-group.js +2 -2
  93. package/dist/components/ic-tab-panel.js +2 -2
  94. package/dist/components/ic-theme.js +1 -1
  95. package/dist/components/ic-toast-region.js +1 -1
  96. package/dist/components/ic-toast.js +5 -5
  97. package/dist/components/ic-toggle-button-group.js +2 -2
  98. package/dist/components/ic-toggle-button.js +2 -2
  99. package/dist/core/core.esm.js +1 -1
  100. package/dist/core/core.esm.js.map +1 -1
  101. package/dist/core/p-049839cd.entry.js +2 -0
  102. package/dist/core/p-049839cd.entry.js.map +1 -0
  103. package/dist/core/p-0648dd8e.entry.js +2 -0
  104. package/dist/core/p-0648dd8e.entry.js.map +1 -0
  105. package/dist/core/{p-f51c609d.entry.js → p-177d3c2f.entry.js} +2 -2
  106. package/dist/core/{p-5254a078.entry.js → p-1be17f22.entry.js} +2 -2
  107. package/dist/core/{p-7d0d85c4.entry.js → p-4631ac1b.entry.js} +2 -2
  108. package/dist/core/{p-30312243.entry.js → p-49444c33.entry.js} +2 -2
  109. package/dist/core/p-49444c33.entry.js.map +1 -0
  110. package/dist/core/p-5d2efd2d.entry.js +2 -0
  111. package/dist/core/p-5d2efd2d.entry.js.map +1 -0
  112. package/dist/core/{p-b59504f1.entry.js → p-72e5eb70.entry.js} +2 -2
  113. package/dist/core/{p-b59504f1.entry.js.map → p-72e5eb70.entry.js.map} +1 -1
  114. package/dist/core/{p-3636be4f.entry.js → p-7dff646d.entry.js} +2 -2
  115. package/dist/core/p-a5295f66.entry.js +2 -0
  116. package/dist/core/p-a5295f66.entry.js.map +1 -0
  117. package/dist/core/{p-3d23ce54.entry.js → p-a61fa6ad.entry.js} +2 -2
  118. package/dist/core/{p-53740194.entry.js → p-a8310dfd.entry.js} +2 -2
  119. package/dist/core/p-a8310dfd.entry.js.map +1 -0
  120. package/dist/core/{p-afbba548.entry.js → p-af728534.entry.js} +2 -2
  121. package/dist/core/{p-04cb17d7.entry.js → p-b9459ba2.entry.js} +2 -2
  122. package/dist/core/{p-adde6c66.entry.js → p-d376858f.entry.js} +2 -2
  123. package/dist/core/{p-4d3b219c.entry.js → p-de630a9a.entry.js} +2 -2
  124. package/dist/core/p-e82d9a6f.entry.js +2 -0
  125. package/dist/core/p-e82d9a6f.entry.js.map +1 -0
  126. package/dist/core/{p-b83a736d.entry.js → p-ed3aaa3a.entry.js} +2 -2
  127. package/dist/core/p-ed3aaa3a.entry.js.map +1 -0
  128. package/dist/esm/core.js +1 -1
  129. package/dist/esm/ic-alert.entry.js +6 -2
  130. package/dist/esm/ic-alert.entry.js.map +1 -1
  131. package/dist/esm/ic-button_3.entry.js +28 -16
  132. package/dist/esm/ic-button_3.entry.js.map +1 -1
  133. package/dist/esm/ic-checkbox-group.entry.js +23 -2
  134. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  135. package/dist/esm/ic-data-row.entry.js +1 -1
  136. package/dist/esm/ic-data-row.entry.js.map +1 -1
  137. package/dist/esm/ic-input-component-container_3.entry.js +1 -1
  138. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  139. package/dist/esm/ic-input-label_2.entry.js +3 -4
  140. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  141. package/dist/esm/ic-skeleton.entry.js +20 -5
  142. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  143. package/dist/esm/ic-step.entry.js +17 -15
  144. package/dist/esm/ic-step.entry.js.map +1 -1
  145. package/dist/esm/ic-stepper.entry.js +24 -4
  146. package/dist/esm/ic-stepper.entry.js.map +1 -1
  147. package/dist/esm/ic-switch.entry.js +4 -4
  148. package/dist/esm/ic-tab-context.entry.js +1 -1
  149. package/dist/esm/ic-tab-group.entry.js +2 -2
  150. package/dist/esm/ic-tab-panel.entry.js +2 -2
  151. package/dist/esm/ic-theme.entry.js +1 -1
  152. package/dist/esm/ic-toast-region.entry.js +1 -1
  153. package/dist/esm/ic-toast.entry.js +5 -5
  154. package/dist/esm/ic-toggle-button-group.entry.js +2 -2
  155. package/dist/esm/ic-toggle-button.entry.js +2 -2
  156. package/dist/esm/loader.js +1 -1
  157. package/dist/types/components/ic-alert/ic-alert.d.ts +4 -0
  158. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +3 -0
  159. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +1 -1
  160. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +4 -1
  161. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +8 -0
  162. package/dist/types/components/ic-step/ic-step.d.ts +3 -0
  163. package/dist/types/components/ic-stepper/ic-stepper.d.ts +1 -0
  164. package/dist/types/components.d.ts +28 -4
  165. package/hydrate/index.js +151 -71
  166. package/hydrate/index.mjs +151 -71
  167. package/package.json +2 -2
  168. package/vscode-data.json +13 -1
  169. package/dist/core/p-1f41818b.entry.js +0 -2
  170. package/dist/core/p-1f41818b.entry.js.map +0 -1
  171. package/dist/core/p-30312243.entry.js.map +0 -1
  172. package/dist/core/p-33e35173.entry.js +0 -2
  173. package/dist/core/p-33e35173.entry.js.map +0 -1
  174. package/dist/core/p-34407b13.entry.js +0 -2
  175. package/dist/core/p-34407b13.entry.js.map +0 -1
  176. package/dist/core/p-42d35fc4.entry.js +0 -2
  177. package/dist/core/p-42d35fc4.entry.js.map +0 -1
  178. package/dist/core/p-53740194.entry.js.map +0 -1
  179. package/dist/core/p-b83a736d.entry.js.map +0 -1
  180. package/dist/core/p-cce398e1.entry.js +0 -2
  181. package/dist/core/p-cce398e1.entry.js.map +0 -1
  182. /package/dist/core/{p-f51c609d.entry.js.map → p-177d3c2f.entry.js.map} +0 -0
  183. /package/dist/core/{p-5254a078.entry.js.map → p-1be17f22.entry.js.map} +0 -0
  184. /package/dist/core/{p-7d0d85c4.entry.js.map → p-4631ac1b.entry.js.map} +0 -0
  185. /package/dist/core/{p-3636be4f.entry.js.map → p-7dff646d.entry.js.map} +0 -0
  186. /package/dist/core/{p-3d23ce54.entry.js.map → p-a61fa6ad.entry.js.map} +0 -0
  187. /package/dist/core/{p-afbba548.entry.js.map → p-af728534.entry.js.map} +0 -0
  188. /package/dist/core/{p-04cb17d7.entry.js.map → p-b9459ba2.entry.js.map} +0 -0
  189. /package/dist/core/{p-adde6c66.entry.js.map → p-d376858f.entry.js.map} +0 -0
  190. /package/dist/core/{p-4d3b219c.entry.js.map → p-de630a9a.entry.js.map} +0 -0
@@ -17,6 +17,7 @@
17
17
  }
18
18
 
19
19
  .heading,
20
+ ::slotted([slot="heading"]),
20
21
  .subheading,
21
22
  .step-status,
22
23
  .next-step {
@@ -79,11 +80,13 @@
79
80
  width: 14.25rem;
80
81
  }
81
82
 
82
- :host(.ic-step-compact) .heading {
83
+ :host(.ic-step-compact) .heading,
84
+ :host(.ic-step-compact) ::slotted([slot="heading"]) {
83
85
  color: var(--ic-stepper-compact-step-title);
84
86
  }
85
87
 
86
- :host(.ic-step-compact) .disabled .heading {
88
+ :host(.ic-step-compact) .disabled .heading,
89
+ :host(.ic-step-compact) .disabled ::slotted([slot="heading"]) {
87
90
  color: var(--ic-stepper-compact-step-title-disabled);
88
91
  }
89
92
 
@@ -165,24 +168,29 @@
165
168
  }
166
169
 
167
170
  :host(.ic-step-default) .heading,
171
+ :host(.ic-step-default) ::slotted([slot="heading"]),
168
172
  .subheading {
169
173
  width: -moz-fit-content;
170
174
  width: fit-content;
171
175
  }
172
176
 
173
- .heading {
177
+ .heading,
178
+ ::slotted([slot="heading"]) {
174
179
  color: var(--ic-step-title);
175
180
  }
176
181
 
177
- .current .heading {
182
+ .current .heading,
183
+ .current ::slotted([slot="heading"]) {
178
184
  color: var(--ic-step-title-current);
179
185
  }
180
186
 
181
- .completed .heading {
187
+ .completed .heading,
188
+ .completed ::slotted([slot="heading"]) {
182
189
  color: var(--ic-step-title-success);
183
190
  }
184
191
 
185
- .disabled .heading {
192
+ .disabled .heading,
193
+ .disabled ::slotted([slot="heading"]) {
186
194
  color: var(--ic-step-title-disabled);
187
195
  }
188
196
 
@@ -317,7 +325,8 @@
317
325
  .disabled,
318
326
  .disabled .heading-area,
319
327
  .disabled .step-icon-inner,
320
- .disabled .heading {
328
+ .disabled .heading,
329
+ .disabled ::slotted([slot="heading"]) {
321
330
  color: GrayText;
322
331
  }
323
332
 
@@ -1,7 +1,10 @@
1
1
  import { Host, h } from "@stencil/core";
2
2
  import checkIcon from "../../assets/check-icon.svg";
3
3
  import warningIcon from "../../assets/warning-icon-outline.svg";
4
- import { isPropDefined } from "../../utils/helpers";
4
+ import { isPropDefined, isSlotUsed } from "../../utils/helpers";
5
+ /**
6
+ * @slot heading - Content will be rendered in place of the heading prop.
7
+ */
5
8
  export class Step {
6
9
  constructor() {
7
10
  /**
@@ -44,6 +47,8 @@ export class Step {
44
47
  const { compactStepStyling, current, heading, icI18n, lastStep, lastStepNum, nextStepHeading, progress, status, stepNum, subheading, theme, type, variant, } = this;
45
48
  // ARIA LABEL
46
49
  let ariaLabel = "";
50
+ const hasHeading = (isPropDefined(heading) && heading !== "") ||
51
+ isSlotUsed(this.el, "heading");
47
52
  if (type === "completed") {
48
53
  ariaLabel = `. ${icI18n.completed}`;
49
54
  }
@@ -72,27 +77,27 @@ export class Step {
72
77
  // STATUS ICON FOR COMPACT STEP
73
78
  let statusIcon;
74
79
  if (type === "completed" || compactStepStyling === "completed") {
75
- statusIcon = (h("span", { key: '864d4561a571389ff3128b00ffb529010930b4b5', class: "check-icon step-icon", "aria-hidden": "true", innerHTML: checkIcon }));
80
+ statusIcon = (h("span", { key: 'ba84e43d6b6febb1b465c7d0a5a5bd76e6645c01', class: "check-icon step-icon", "aria-hidden": "true", innerHTML: checkIcon }));
76
81
  }
77
82
  else if (type === "disabled" || compactStepStyling === "disabled") {
78
- statusIcon = (h("span", { key: '7bf14abf049e8e5d3fc870c574393adb49e68b8c', class: "warning-icon step-icon", "aria-hidden": "true", innerHTML: warningIcon }));
83
+ statusIcon = (h("span", { key: '43b597121b17fa8aef98f41792b9e75e5da95d73', class: "warning-icon step-icon", "aria-hidden": "true", innerHTML: warningIcon }));
79
84
  }
80
85
  // COMPACT STEP COMPONENT
81
- const compactStep = (h("div", { key: '4f3ac82fbcc83d16b72393415b08bb383b3844e1', class: {
86
+ const compactStep = (h("div", { key: 'cac4daaa6da8904d2e69ec16346262d18281819d', class: {
82
87
  ["step"]: true,
83
88
  ["current"]: !!current,
84
89
  [`compact-step-${compactStepStyling}`]: !!compactStepStyling,
85
90
  ["disabled"]: type === "disabled" || compactStepStyling === "disabled",
86
- } }, h("ic-loading-indicator", { key: '53ebcdba2a35459adeb1ac198e7a48620eb5ed8f', class: {
91
+ } }, h("ic-loading-indicator", { key: 'aef65f9660c2bd2fe46dc205afbf582c16d6b6a0', class: {
87
92
  "compact-step-progress-indicator": true,
88
93
  "not-required": type === "disabled" || compactStepStyling === "disabled",
89
- }, "aria-hidden": "true", size: "small", "inner-label": stepNum, progress: progress }), h("div", { key: '1206ec1c72eafac85fa94f936db215fd6d66a9da', class: "heading-area" }, h("ic-typography", { key: 'ecd033d92e805fc2538f92253f43a667594d30da', variant: "h4", class: "heading" }, heading), h("div", { key: '98f5a4369ed8e41271c9e5121d6ef4e68191e766', class: "info-line" }, h("ic-typography", { key: '5b58bcbe7124d039d41e6cddd1c737a82e689f46', variant: "caption", class: "step-num" }, `${stepNum} ${icI18n.of} ${lastStepNum}`, h("span", { key: '86b332b0596baaa8f14e6232ca4742fca349b401', class: "visually-hidden" }, ` ${icI18n.steps}`)), (this.subheading ||
94
+ }, "aria-hidden": "true", size: "small", "inner-label": stepNum, progress: progress }), h("div", { key: 'ddb67de08977f0f460d72493d9049d332296aeaa', class: "heading-area" }, isSlotUsed(this.el, "heading") ? (h("slot", { name: "heading" })) : (h("ic-typography", { variant: "h4", class: "heading" }, heading)), h("div", { key: 'f6b657968d62be2010ee736bbccbcf3484f56196', class: "info-line" }, h("ic-typography", { key: 'c632f49ad68d701a398e3cfb7a60bf08ceb00b98', variant: "caption", class: "step-num" }, `${stepNum} ${icI18n.of} ${lastStepNum}`, h("span", { key: '6fa841aa5da07894c41076b60ffc7846ceee6595', class: "visually-hidden" }, ` ${icI18n.steps}`)), (this.subheading ||
90
95
  type === "completed" ||
91
96
  type === "disabled" ||
92
97
  (this.variant === "compact" &&
93
98
  !!compactStepStyling &&
94
99
  compactStepStyling !== "active") ||
95
- !!status) && (h("div", { key: 'e7348cf5cb486de2bd35047429b8baedb64e7945', class: "step-status" }, statusIcon !== undefined && statusIcon, (subheading || stepType) && (h("ic-typography", { key: '1e636d26071c9274b29b3e9fbd5edcff666bf650', variant: "caption" }, subheading !== null && isPropDefined(subheading)
100
+ !!status) && (h("div", { key: '7a309e8ff089ca29c132aec776ee076bc107b46a', class: "step-status" }, statusIcon !== undefined && statusIcon, (subheading || stepType) && (h("ic-typography", { key: '9aeddf74fce64cfb90861b7e0ca88ac7c206c0ad', variant: "caption" }, subheading !== null && isPropDefined(subheading)
96
101
  ? subheading
97
102
  : type === "disabled" ||
98
103
  (variant === "compact" &&
@@ -105,26 +110,26 @@ export class Step {
105
110
  // ICON FOR DEFAULT STEP
106
111
  let icon;
107
112
  if (type !== "completed") {
108
- icon = (h("ic-typography", { key: '11944edb6340175b2619cd7bf1a92a077c2581e7', variant: "subtitle-small" }, h("span", { key: '5636bdbab2cbae08c7122adae7376b380d2c0e6b', class: "step-icon-inner", "aria-hidden": "true" }, this.stepNum)));
113
+ icon = (h("ic-typography", { key: 'b2bd2aec5f28419635b1d0c2983c1d131fa0cf93', variant: "subtitle-small" }, h("span", { key: '26ad3501e4f159aac36162064f712c404b896017', class: "step-icon-inner", "aria-hidden": "true" }, this.stepNum)));
109
114
  }
110
115
  else {
111
- icon = (h("div", { key: 'b479680a69976f4a1fecff4944fe49d6ad7a1803', class: "step-icon-inner", "aria-hidden": "true" }, h("span", { key: 'f147fc626a8a1ee01f7a00e642353f0393f2a9bf', class: "check-icon", innerHTML: checkIcon })));
116
+ icon = (h("div", { key: '6b34304442c6b4eb8b106a0ff2ad5c231bf205bf', class: "step-icon-inner", "aria-hidden": "true" }, h("span", { key: 'd62fc155679ce30e9fbf87e2a26d47a7f4b546ed', class: "check-icon", innerHTML: checkIcon })));
112
117
  }
113
118
  // STEP CONNECT FOR DEFAULT STEP
114
- const partialBar = type === "current" && (h("div", { key: '38562e1d3953a8e3fad8a666be017c6eb8b023d8', class: "step-connect-inner" }));
115
- const finalStep = !lastStep && (h("div", { key: '92355de2de8a20e3efd244e90181ed4728908396', class: {
119
+ const partialBar = type === "current" && (h("div", { key: '9aca98b76e886d9d11cedba769002d757c85f6f0', class: "step-connect-inner" }));
120
+ const finalStep = !lastStep && (h("div", { key: '494c8fb9fe72ce7ba37a52b56edcd00460248cca', class: {
116
121
  ["step-connect"]: true,
117
122
  ["aligned-full-width"]: !!(((_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.classList.contains("ic-stepper-default")) &&
118
123
  !this.el.parentElement.classList.contains("ic-stepper-aligned-left")),
119
124
  } }, partialBar));
120
125
  // DEFAULT STEP COMPONENT
121
- const defaultStep = (h("div", { key: '26938dd799f54d8440d45c9d9615a4831f7cab98', class: {
126
+ const defaultStep = (h("div", { key: '00c780fca9cab9cf01f5662d10fed10474d84045', class: {
122
127
  ["step"]: true,
123
128
  [`${type}`]: true,
124
- } }, h("div", { key: '34aca5fbe4025940b5226476d1da17725831a7db', class: "step-top" }, h("div", { key: 'e59c7c95a9b32b9e897a6dc6d37000cd45294caf', class: "step-icon" }, icon), finalStep), (heading || subheading || status) && (h("div", { key: '568405e10345dfe382fd78d096391cc870914f6a', class: "heading-area" }, heading && (h("ic-typography", { key: '6dcac8ec5550fe94c80e75c65ecec33dee7b4157', variant: "subtitle-large", class: "heading" }, heading)), heading && (subheading || status) && (h("ic-typography", { key: 'efe9c1f647e25a84eded6c390ff1b487e0ea5a0d', variant: "caption", class: "subheading" }, subheading !== null && isPropDefined(subheading)
129
+ } }, h("div", { key: 'd727e05be7c6179c65fafc7eb6508b871ff5e30c', class: "step-top" }, h("div", { key: 'e03d6f2665ef97f1d6f2d38e86cf1461d515cd7a', class: "step-icon" }, icon), finalStep), (hasHeading || subheading || status) && (h("div", { key: '04d1c9ac6ee4df8e5d4394a1d1f6fe073d8ee307', class: "heading-area" }, isSlotUsed(this.el, "heading") ? (h("slot", { name: "heading" })) : (h("ic-typography", { variant: "subtitle-large", class: "heading" }, heading)), hasHeading && (subheading || status) && (h("ic-typography", { key: '16fc9c541e21d0be0d8f0f7566ed8ac8e5c333cd', variant: "caption", class: "subheading" }, subheading !== null && isPropDefined(subheading)
125
130
  ? subheading
126
131
  : stepStatus))))));
127
- return (h(Host, { key: '359b602ab02607c5ec02673283f99172c3b4a924', role: "listitem", "aria-label": `${icI18n.step} ${stepNum}${ariaLabel}`, "aria-current": (current || type === "current") && "step", class: {
132
+ return (h(Host, { key: 'b0ae592b4c3148fe977efc52cd17f88c2a01da2c', role: "listitem", "aria-label": `${icI18n.step} ${stepNum}${ariaLabel}`, "aria-current": (current || type === "current") && "step", class: {
128
133
  ["aligned-full-width"]: !!(((_b = this.el.parentElement) === null || _b === void 0 ? void 0 : _b.classList.contains("ic-stepper-default")) &&
129
134
  !this.el.parentElement.classList.contains("ic-stepper-aligned-left")),
130
135
  [`ic-step-${variant}`]: true,
@@ -1 +1 @@
1
- {"version":3,"file":"ic-step.js","sourceRoot":"","sources":["../../../src/components/ic-step/ic-step.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, Element, Watch } from \"@stencil/core\";\nimport checkIcon from \"../../assets/check-icon.svg\";\nimport warningIcon from \"../../assets/warning-icon-outline.svg\";\nimport {\n IcStepVariants,\n IcStepStatuses,\n IcStepTypes,\n IcStepI18n,\n} from \"./ic-step.types\";\nimport { isPropDefined } from \"../../utils/helpers\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-step\",\n styleUrl: \"ic-step.css\",\n shadow: true,\n})\nexport class Step {\n @Element() el: HTMLIcStepElement;\n\n /**\n * @internal If a compact stepper is being used, this sets the styling of the step.\n */\n @Prop() compactStepStyling?: IcStepTypes;\n\n /**\n * @internal If `true`, and a compact stepper is being used, the current step will be the only step in view.\n */\n @Prop({ mutable: true }) current?: boolean = false;\n\n /**\n * Words within the component that can be replaced to translate the component into a different language\n */\n @Prop() icI18n: IcStepI18n = {\n next: \"Next\",\n step: \"Step\",\n steps: \"Steps\",\n of: \"of\",\n lastStep: \"Last step\",\n completed: \"Completed\",\n notRequired: \"Not required\",\n required: \"Required\",\n optional: \"Optional\",\n };\n\n /**\n * @internal If `true`, the step will be marked as being the last one in the series. This is managed by ic-stepper.\n */\n @Prop() lastStep!: boolean;\n\n /**\n * @internal The step number of the final step. This is managed by ic-stepper.\n */\n @Prop() lastStepNum?: number;\n\n /**\n * @internal The name of the next step. This is managed by ic-stepper.\n */\n @Prop() nextStepHeading?: string;\n\n /**\n * @internal The progress of the next step, calculated by dividing the current step number by the total number of steps. This is managed by ic-stepper.\n */\n @Prop() progress?: number;\n\n /**\n * @internal The step number, managed by ic-stepper.\n */\n @Prop() stepNum?: number;\n\n /**\n * The status of the step. Use this prop to display a status message on the step if it is required or optional.\n */\n @Prop() status?: IcStepStatuses;\n\n /**\n * Additional information about the step. Use this prop to override the default step status messaging displayed when selecting a step type or step status.\n */\n @Prop() subheading?: string;\n\n /**\n * The title of the step within the stepper.\n */\n @Prop() heading?: string;\n\n /**\n * @internal Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * @internal The variant of the step. This is managed by ic-stepper.\n */\n @Prop() variant!: IcStepVariants;\n\n /**\n * The state of the step within the stepper.\n */\n @Prop() type?: IcStepTypes = \"active\";\n\n @Watch(\"type\")\n typeChangeHandler(): void {\n if (this.variant === \"compact\" && this.type === \"current\") {\n this.current = true;\n } else {\n this.current = false;\n }\n }\n\n render() {\n const {\n compactStepStyling,\n current,\n heading,\n icI18n,\n lastStep,\n lastStepNum,\n nextStepHeading,\n progress,\n status,\n stepNum,\n subheading,\n theme,\n type,\n variant,\n } = this;\n\n // ARIA LABEL\n let ariaLabel = \"\";\n\n if (type === \"completed\") {\n ariaLabel = `. ${icI18n.completed}`;\n } else if (type === \"disabled\") {\n ariaLabel = `. ${icI18n.notRequired}`;\n } else if (status === \"required\") {\n ariaLabel = `. ${icI18n.required}`;\n } else if (status === \"optional\") {\n ariaLabel = `. ${icI18n.optional}`;\n }\n\n // STEP STATUS\n let stepStatus;\n if (status && isPropDefined(status)) {\n stepStatus = status[0].toUpperCase() + status.slice(1);\n }\n\n // STEP TYPE\n let stepType;\n if (type === \"disabled\" || compactStepStyling === \"disabled\") {\n stepType = icI18n.notRequired;\n } else if (compactStepStyling === \"completed\") {\n stepType = icI18n.completed;\n }\n\n // STATUS ICON FOR COMPACT STEP\n let statusIcon;\n if (type === \"completed\" || compactStepStyling === \"completed\") {\n statusIcon = (\n <span\n class=\"check-icon step-icon\"\n aria-hidden=\"true\"\n innerHTML={checkIcon}\n ></span>\n );\n } else if (type === \"disabled\" || compactStepStyling === \"disabled\") {\n statusIcon = (\n <span\n class=\"warning-icon step-icon\"\n aria-hidden=\"true\"\n innerHTML={warningIcon}\n ></span>\n );\n }\n\n // COMPACT STEP COMPONENT\n const compactStep = (\n <div\n class={{\n [\"step\"]: true,\n [\"current\"]: !!current,\n [`compact-step-${compactStepStyling}`]: !!compactStepStyling,\n [\"disabled\"]:\n type === \"disabled\" || compactStepStyling === \"disabled\",\n }}\n >\n <ic-loading-indicator\n class={{\n \"compact-step-progress-indicator\": true,\n \"not-required\":\n type === \"disabled\" || compactStepStyling === \"disabled\",\n }}\n aria-hidden=\"true\"\n size=\"small\"\n inner-label={stepNum}\n progress={progress}\n ></ic-loading-indicator>\n <div class=\"heading-area\">\n <ic-typography variant=\"h4\" class=\"heading\">\n {heading}\n </ic-typography>\n <div class=\"info-line\">\n <ic-typography variant=\"caption\" class=\"step-num\">\n {`${stepNum} ${icI18n.of} ${lastStepNum}`}\n <span class=\"visually-hidden\">{` ${icI18n.steps}`}</span>\n </ic-typography>\n {(this.subheading ||\n type === \"completed\" ||\n type === \"disabled\" ||\n (this.variant === \"compact\" &&\n !!compactStepStyling &&\n compactStepStyling !== \"active\") ||\n !!status) && (\n <div class=\"step-status\">\n {statusIcon !== undefined && statusIcon}\n {(subheading || stepType) && (\n <ic-typography variant=\"caption\">\n {subheading !== null && isPropDefined(subheading)\n ? subheading\n : type === \"disabled\" ||\n (variant === \"compact\" &&\n compactStepStyling === \"disabled\") ||\n type === \"completed\" ||\n (variant === \"compact\" &&\n compactStepStyling === \"completed\")\n ? stepType\n : status && stepStatus}\n </ic-typography>\n )}\n </div>\n )}\n </div>\n {lastStep ? (\n <ic-typography variant=\"subtitle-small\" class=\"next-step\">\n {icI18n.lastStep}\n </ic-typography>\n ) : (\n isPropDefined(nextStepHeading) && (\n <ic-typography variant=\"subtitle-small\" class=\"next-step\">\n {icI18n.next}\n <span class=\"visually-hidden\"> {icI18n.step}</span>:{\" \"}\n {this.nextStepHeading}\n </ic-typography>\n )\n )}\n </div>\n </div>\n );\n\n // ICON FOR DEFAULT STEP\n let icon;\n if (type !== \"completed\") {\n icon = (\n <ic-typography variant=\"subtitle-small\">\n <span class=\"step-icon-inner\" aria-hidden=\"true\">\n {this.stepNum}\n </span>\n </ic-typography>\n );\n } else {\n icon = (\n <div class=\"step-icon-inner\" aria-hidden=\"true\">\n <span class=\"check-icon\" innerHTML={checkIcon}></span>\n </div>\n );\n }\n\n // STEP CONNECT FOR DEFAULT STEP\n const partialBar = type === \"current\" && (\n <div class=\"step-connect-inner\"></div>\n );\n\n const finalStep = !lastStep && (\n <div\n class={{\n [\"step-connect\"]: true,\n [\"aligned-full-width\"]: !!(\n this.el.parentElement?.classList.contains(\"ic-stepper-default\") &&\n !this.el.parentElement.classList.contains(\"ic-stepper-aligned-left\")\n ),\n }}\n >\n {partialBar}\n </div>\n );\n\n // DEFAULT STEP COMPONENT\n const defaultStep = (\n <div\n class={{\n [\"step\"]: true,\n [`${type}`]: true,\n }}\n >\n <div class=\"step-top\">\n <div class=\"step-icon\">{icon}</div>\n {finalStep}\n </div>\n {(heading || subheading || status) && (\n <div class=\"heading-area\">\n {heading && (\n <ic-typography variant=\"subtitle-large\" class=\"heading\">\n {heading}\n </ic-typography>\n )}\n {heading && (subheading || status) && (\n <ic-typography variant=\"caption\" class=\"subheading\">\n {subheading !== null && isPropDefined(subheading)\n ? subheading\n : stepStatus}\n </ic-typography>\n )}\n </div>\n )}\n </div>\n );\n\n return (\n <Host\n role=\"listitem\"\n aria-label={`${icI18n.step} ${stepNum}${ariaLabel}`}\n aria-current={(current || type === \"current\") && \"step\"}\n class={{\n [\"aligned-full-width\"]: !!(\n this.el.parentElement?.classList.contains(\"ic-stepper-default\") &&\n !this.el.parentElement.classList.contains(\"ic-stepper-aligned-left\")\n ),\n [`ic-step-${variant}`]: true,\n [`ic-theme-${theme}`]: this.theme !== \"inherit\",\n }}\n >\n {variant === \"compact\" ? compactStep : defaultStep}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-step.js","sourceRoot":"","sources":["../../../src/components/ic-step/ic-step.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, Element, Watch } from \"@stencil/core\";\nimport checkIcon from \"../../assets/check-icon.svg\";\nimport warningIcon from \"../../assets/warning-icon-outline.svg\";\nimport {\n IcStepVariants,\n IcStepStatuses,\n IcStepTypes,\n IcStepI18n,\n} from \"./ic-step.types\";\nimport { isPropDefined, isSlotUsed } from \"../../utils/helpers\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n/**\n * @slot heading - Content will be rendered in place of the heading prop.\n */\n@Component({\n tag: \"ic-step\",\n styleUrl: \"ic-step.css\",\n shadow: true,\n})\nexport class Step {\n @Element() el: HTMLIcStepElement;\n\n /**\n * @internal If a compact stepper is being used, this sets the styling of the step.\n */\n @Prop() compactStepStyling?: IcStepTypes;\n\n /**\n * @internal If `true`, and a compact stepper is being used, the current step will be the only step in view.\n */\n @Prop({ mutable: true }) current?: boolean = false;\n\n /**\n * Words within the component that can be replaced to translate the component into a different language\n */\n @Prop() icI18n: IcStepI18n = {\n next: \"Next\",\n step: \"Step\",\n steps: \"Steps\",\n of: \"of\",\n lastStep: \"Last step\",\n completed: \"Completed\",\n notRequired: \"Not required\",\n required: \"Required\",\n optional: \"Optional\",\n };\n\n /**\n * @internal If `true`, the step will be marked as being the last one in the series. This is managed by ic-stepper.\n */\n @Prop() lastStep!: boolean;\n\n /**\n * @internal The step number of the final step. This is managed by ic-stepper.\n */\n @Prop() lastStepNum?: number;\n\n /**\n * @internal The name of the next step. This is managed by ic-stepper.\n */\n @Prop() nextStepHeading?: string;\n\n /**\n * @internal The progress of the next step, calculated by dividing the current step number by the total number of steps. This is managed by ic-stepper.\n */\n @Prop() progress?: number;\n\n /**\n * @internal The step number, managed by ic-stepper.\n */\n @Prop() stepNum?: number;\n\n /**\n * The status of the step. Use this prop to display a status message on the step if it is required or optional.\n */\n @Prop() status?: IcStepStatuses;\n\n /**\n * Additional information about the step. Use this prop to override the default step status messaging displayed when selecting a step type or step status.\n */\n @Prop() subheading?: string;\n\n /**\n * The title of the step within the stepper.\n */\n @Prop() heading?: string;\n\n /**\n * @internal Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * @internal The variant of the step. This is managed by ic-stepper.\n */\n @Prop() variant!: IcStepVariants;\n\n /**\n * The state of the step within the stepper.\n */\n @Prop() type?: IcStepTypes = \"active\";\n\n @Watch(\"type\")\n typeChangeHandler(): void {\n if (this.variant === \"compact\" && this.type === \"current\") {\n this.current = true;\n } else {\n this.current = false;\n }\n }\n\n render() {\n const {\n compactStepStyling,\n current,\n heading,\n icI18n,\n lastStep,\n lastStepNum,\n nextStepHeading,\n progress,\n status,\n stepNum,\n subheading,\n theme,\n type,\n variant,\n } = this;\n\n // ARIA LABEL\n let ariaLabel = \"\";\n\n const hasHeading =\n (isPropDefined(heading) && heading !== \"\") ||\n isSlotUsed(this.el, \"heading\");\n\n if (type === \"completed\") {\n ariaLabel = `. ${icI18n.completed}`;\n } else if (type === \"disabled\") {\n ariaLabel = `. ${icI18n.notRequired}`;\n } else if (status === \"required\") {\n ariaLabel = `. ${icI18n.required}`;\n } else if (status === \"optional\") {\n ariaLabel = `. ${icI18n.optional}`;\n }\n\n // STEP STATUS\n let stepStatus;\n if (status && isPropDefined(status)) {\n stepStatus = status[0].toUpperCase() + status.slice(1);\n }\n\n // STEP TYPE\n let stepType;\n if (type === \"disabled\" || compactStepStyling === \"disabled\") {\n stepType = icI18n.notRequired;\n } else if (compactStepStyling === \"completed\") {\n stepType = icI18n.completed;\n }\n\n // STATUS ICON FOR COMPACT STEP\n let statusIcon;\n if (type === \"completed\" || compactStepStyling === \"completed\") {\n statusIcon = (\n <span\n class=\"check-icon step-icon\"\n aria-hidden=\"true\"\n innerHTML={checkIcon}\n ></span>\n );\n } else if (type === \"disabled\" || compactStepStyling === \"disabled\") {\n statusIcon = (\n <span\n class=\"warning-icon step-icon\"\n aria-hidden=\"true\"\n innerHTML={warningIcon}\n ></span>\n );\n }\n\n // COMPACT STEP COMPONENT\n const compactStep = (\n <div\n class={{\n [\"step\"]: true,\n [\"current\"]: !!current,\n [`compact-step-${compactStepStyling}`]: !!compactStepStyling,\n [\"disabled\"]:\n type === \"disabled\" || compactStepStyling === \"disabled\",\n }}\n >\n <ic-loading-indicator\n class={{\n \"compact-step-progress-indicator\": true,\n \"not-required\":\n type === \"disabled\" || compactStepStyling === \"disabled\",\n }}\n aria-hidden=\"true\"\n size=\"small\"\n inner-label={stepNum}\n progress={progress}\n ></ic-loading-indicator>\n <div class=\"heading-area\">\n {isSlotUsed(this.el, \"heading\") ? (\n <slot name=\"heading\"></slot>\n ) : (\n <ic-typography variant=\"h4\" class=\"heading\">\n {heading}\n </ic-typography>\n )}\n <div class=\"info-line\">\n <ic-typography variant=\"caption\" class=\"step-num\">\n {`${stepNum} ${icI18n.of} ${lastStepNum}`}\n <span class=\"visually-hidden\">{` ${icI18n.steps}`}</span>\n </ic-typography>\n {(this.subheading ||\n type === \"completed\" ||\n type === \"disabled\" ||\n (this.variant === \"compact\" &&\n !!compactStepStyling &&\n compactStepStyling !== \"active\") ||\n !!status) && (\n <div class=\"step-status\">\n {statusIcon !== undefined && statusIcon}\n {(subheading || stepType) && (\n <ic-typography variant=\"caption\">\n {subheading !== null && isPropDefined(subheading)\n ? subheading\n : type === \"disabled\" ||\n (variant === \"compact\" &&\n compactStepStyling === \"disabled\") ||\n type === \"completed\" ||\n (variant === \"compact\" &&\n compactStepStyling === \"completed\")\n ? stepType\n : status && stepStatus}\n </ic-typography>\n )}\n </div>\n )}\n </div>\n {lastStep ? (\n <ic-typography variant=\"subtitle-small\" class=\"next-step\">\n {icI18n.lastStep}\n </ic-typography>\n ) : (\n isPropDefined(nextStepHeading) && (\n <ic-typography variant=\"subtitle-small\" class=\"next-step\">\n {icI18n.next}\n <span class=\"visually-hidden\"> {icI18n.step}</span>:{\" \"}\n {this.nextStepHeading}\n </ic-typography>\n )\n )}\n </div>\n </div>\n );\n\n // ICON FOR DEFAULT STEP\n let icon;\n if (type !== \"completed\") {\n icon = (\n <ic-typography variant=\"subtitle-small\">\n <span class=\"step-icon-inner\" aria-hidden=\"true\">\n {this.stepNum}\n </span>\n </ic-typography>\n );\n } else {\n icon = (\n <div class=\"step-icon-inner\" aria-hidden=\"true\">\n <span class=\"check-icon\" innerHTML={checkIcon}></span>\n </div>\n );\n }\n\n // STEP CONNECT FOR DEFAULT STEP\n const partialBar = type === \"current\" && (\n <div class=\"step-connect-inner\"></div>\n );\n\n const finalStep = !lastStep && (\n <div\n class={{\n [\"step-connect\"]: true,\n [\"aligned-full-width\"]: !!(\n this.el.parentElement?.classList.contains(\"ic-stepper-default\") &&\n !this.el.parentElement.classList.contains(\"ic-stepper-aligned-left\")\n ),\n }}\n >\n {partialBar}\n </div>\n );\n\n // DEFAULT STEP COMPONENT\n const defaultStep = (\n <div\n class={{\n [\"step\"]: true,\n [`${type}`]: true,\n }}\n >\n <div class=\"step-top\">\n <div class=\"step-icon\">{icon}</div>\n {finalStep}\n </div>\n {(hasHeading || subheading || status) && (\n <div class=\"heading-area\">\n {isSlotUsed(this.el, \"heading\") ? (\n <slot name=\"heading\"></slot>\n ) : (\n <ic-typography variant=\"subtitle-large\" class=\"heading\">\n {heading}\n </ic-typography>\n )}\n {hasHeading && (subheading || status) && (\n <ic-typography variant=\"caption\" class=\"subheading\">\n {subheading !== null && isPropDefined(subheading)\n ? subheading\n : stepStatus}\n </ic-typography>\n )}\n </div>\n )}\n </div>\n );\n\n return (\n <Host\n role=\"listitem\"\n aria-label={`${icI18n.step} ${stepNum}${ariaLabel}`}\n aria-current={(current || type === \"current\") && \"step\"}\n class={{\n [\"aligned-full-width\"]: !!(\n this.el.parentElement?.classList.contains(\"ic-stepper-default\") &&\n !this.el.parentElement.classList.contains(\"ic-stepper-aligned-left\")\n ),\n [`ic-step-${variant}`]: true,\n [`ic-theme-${theme}`]: this.theme !== \"inherit\",\n }}\n >\n {variant === \"compact\" ? compactStep : defaultStep}\n </Host>\n );\n }\n}\n"]}
@@ -47,10 +47,29 @@ export class Stepper {
47
47
  * The variant of the stepper.
48
48
  */
49
49
  this.variant = "default";
50
+ this.stepHeading = (step, includeAutogeneratedTitles = false) => {
51
+ var _a, _b, _c, _d;
52
+ if (step.hasAttribute("heading") && step.getAttribute("heading") !== "") {
53
+ return step.getAttribute("heading") || undefined;
54
+ }
55
+ const headingSlot = (_a = step.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name="heading"]');
56
+ const assignedNodes = ((_b = headingSlot === null || headingSlot === void 0 ? void 0 : headingSlot.assignedNodes) === null || _b === void 0 ? void 0 : _b.call(headingSlot)) || [];
57
+ for (const node of assignedNodes) {
58
+ const text = node.nodeType === Node.TEXT_NODE
59
+ ? (_c = node.textContent) === null || _c === void 0 ? void 0 : _c.trim()
60
+ : (_d = node.innerText) === null || _d === void 0 ? void 0 : _d.trim();
61
+ if (text)
62
+ return text;
63
+ }
64
+ if (includeAutogeneratedTitles && step.heading) {
65
+ return step.heading;
66
+ }
67
+ return undefined;
68
+ };
50
69
  // Get all steps currently within this stepper
51
70
  this.getChildren = () => {
52
71
  this.steps = Array.from(this.el.querySelectorAll("ic-step"));
53
- this.stepsWithStepTitles = Array.from(this.el.querySelectorAll("ic-step[heading]"));
72
+ this.stepsWithStepTitles = this.steps.filter((step) => !!this.stepHeading(step, false));
54
73
  };
55
74
  // Inform the user that stepTitles are required on all steps in a compact stepper
56
75
  this.checkStepTitles = () => {
@@ -132,7 +151,8 @@ export class Stepper {
132
151
  step.classList.add("hide");
133
152
  }
134
153
  if (!step.lastStep) {
135
- step.nextStepHeading = this.steps[index + 1].heading;
154
+ const nextStep = this.steps[index + 1];
155
+ step.nextStepHeading = this.stepHeading(nextStep, true);
136
156
  step.progress = (step.stepNum / this.steps.length) * 100;
137
157
  }
138
158
  else if (step.lastStep && this.stepTypes[index] !== "completed") {
@@ -259,11 +279,11 @@ export class Stepper {
259
279
  checkResizeObserver(this.runResizeObserver);
260
280
  }
261
281
  render() {
262
- return (h(Host, { key: '8905befe9177785369ef0d277f7f21d823cd727b', class: {
282
+ return (h(Host, { key: '2ec1fcb09c175807a7d6c4f56748378363073f1e', class: {
263
283
  [`ic-stepper-${this.variant}`]: true,
264
284
  ["ic-stepper-aligned-left"]: this.variant === "default" && this.aligned === "left",
265
285
  [`ic-theme-${this.theme}`]: this.theme !== "inherit",
266
- } }, h("ul", { key: '19d67dcea521d17802c2d98946ce24254ef4969a', class: "step-item-list" }, h("slot", { key: 'fe75a601beeed1e3dbfc9df495909af26ad11523' }))));
286
+ } }, h("ul", { key: 'a83274c2c50ef587165b467a169f0f252e5540c7', class: "step-item-list" }, h("slot", { key: '0143ddf0255e345ded3a8d741797c0d0ce1da4ca' }))));
267
287
  }
268
288
  static get is() { return "ic-stepper"; }
269
289
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"ic-stepper.js","sourceRoot":"","sources":["../../../src/components/ic-stepper/ic-stepper.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Host, Prop, h, State, Watch } from \"@stencil/core\";\nimport { checkResizeObserver, pxToRem } from \"../../utils/helpers\";\nimport { IcStepperAlignment } from \"./ic-stepper.types\";\nimport {\n IcStepTypes,\n IcStepVariants,\n IcStepI18n,\n} from \"../ic-step/ic-step.types\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-stepper\",\n styleUrl: \"ic-stepper.css\",\n shadow: true,\n})\nexport class Stepper {\n private resizeObserver: ResizeObserver | null = null;\n private steps: HTMLIcStepElement[];\n private stepsWithStepTitles: HTMLIcStepElement[];\n private visuallyHidden: string = \"visually-hidden\";\n\n @Element() el: HTMLIcStepperElement;\n\n @State() alignedFullWidth: boolean = true;\n @State() autoSetStepTitles: boolean = true;\n @State() lastStepWidth: number = 0;\n @State() noOfResizes?: number = 0;\n @State() stepperWidth: number | undefined = document\n .querySelector(\"ic-stepper\")\n ?.getBoundingClientRect().width;\n @State() stepTypes: IcStepTypes[] = [];\n @State() variantOverride?: boolean = this.variant !== \"compact\";\n\n /**\n * The alignment of the default stepper within its container.\n */\n @Prop() aligned?: IcStepperAlignment = \"full-width\";\n\n /**\n * The length of the connector between each step in pixels. Minimum length is 100px.\n */\n @Prop() connectorWidth?: number = 100;\n\n /**\n * If `true`, the information about each step, i.e. step title, step subtitle and step status, will be hidden on all default steps. The information about each step will still be visible in the compact variant of the stepper.\n */\n @Prop() hideStepInfo?: boolean = false;\n\n /**\n * Provide alternative values for text in all child steps. For the purpose of translating the application into other languages.\n */\n @Prop() icI18n?: IcStepI18n = {\n next: \"Next\",\n step: \"Step\",\n steps: \"Steps\",\n of: \"of\",\n lastStep: \"Last step\",\n completed: \"Completed\",\n notRequired: \"Not required\",\n required: \"Required\",\n optional: \"Optional\",\n };\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n @Watch(\"theme\")\n handleThemeChange(): void {\n this.getChildren();\n this.steps.forEach((step) => {\n step.theme = this.theme;\n });\n }\n\n /**\n * The variant of the stepper.\n */\n @Prop({ mutable: true }) variant?: IcStepVariants = \"default\";\n\n @Watch(\"hideStepInfo\")\n @Watch(\"variant\")\n handlePropChange(): void {\n this.setHideStepInfo();\n this.getChildren();\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n componentWillLoad(): void {\n this.setStepTypes();\n this.handleThemeChange();\n\n if (this.variant === \"compact\") {\n this.variantOverride = false;\n }\n }\n\n componentWillRender(): void {\n this.initialiseStepStates();\n }\n\n componentDidLoad(): void {\n checkResizeObserver(this.runResizeObserver);\n }\n\n // Get all steps currently within this stepper\n private getChildren = (): void => {\n this.steps = Array.from(this.el.querySelectorAll(\"ic-step\"));\n\n this.stepsWithStepTitles = Array.from(\n this.el.querySelectorAll(\"ic-step[heading]\")\n );\n };\n\n // Inform the user that stepTitles are required on all steps in a compact stepper\n private checkStepTitles = (): void => {\n if (\n this.stepsWithStepTitles.length < this.steps.length &&\n this.variantOverride &&\n this.variant === \"compact\"\n ) {\n this.noOfResizes = this.noOfResizes! + 1;\n if (this.noOfResizes === 1) {\n console.error(\n `The prop 'heading' is required for all steps of the Stepper component (compact variant)`\n );\n }\n }\n };\n\n private setStepTypes = (): void => {\n this.getChildren();\n this.stepTypes = [];\n for (let i = 0; i < this.steps.length; i++) {\n this.stepTypes.push(\"active\");\n }\n };\n\n private setStepperWidth = (): void => {\n this.alignedFullWidth =\n this.variant === \"default\" && this.aligned === \"full-width\";\n\n const lastStep = this.steps[this.steps.length - 1];\n lastStep.style.maxWidth = \"none\";\n\n if (this.alignedFullWidth) {\n this.stepperWidth = this.el.offsetWidth;\n lastStep.style.maxWidth = pxToRem(\n `${this.stepperWidth / this.steps.length}px`\n );\n this.lastStepWidth = lastStep.offsetWidth;\n }\n };\n\n private initialiseStepStates = (): void => {\n this.steps.forEach((step, index) => {\n // Set language\n if (this.icI18n !== undefined) {\n step.icI18n = this.icI18n;\n }\n // Set variant\n step.variant = this.variant!;\n // Assign stepNum to each step\n step.stepNum = index + 1;\n // Assign lastStep to final step\n step.lastStep = index === this.steps.length - 1;\n step.lastStepNum = this.steps.length;\n\n if (step.type !== \"current\") {\n step.current = false;\n this.stepTypes[index] = step.type!;\n } else {\n step.current = true;\n }\n\n const stepTitleArea =\n step.shadowRoot &&\n step.shadowRoot.querySelector(\".step > .heading-area\");\n\n if (this.stepsWithStepTitles.length == 0 && this.variantOverride) {\n if (this.variant === \"compact\") {\n this.autoSetStepTitles = true;\n if (this.autoSetStepTitles) {\n step.heading = \"Step \" + step.stepNum;\n stepTitleArea &&\n stepTitleArea\n ?.querySelector(\".heading\")\n ?.setAttribute(\"aria-hidden\", \"true\");\n }\n }\n if (this.variant === \"default\") {\n this.autoSetStepTitles = false;\n if (!this.autoSetStepTitles) {\n step.heading = undefined;\n stepTitleArea &&\n stepTitleArea\n ?.querySelector(\".heading\")\n ?.removeAttribute(\"aria-hidden\");\n }\n }\n }\n\n if (this.variant === \"compact\") {\n if (step.current === true || step.type === \"current\") {\n step.classList.remove(\"hide\");\n step.classList.add(\"show\");\n } else if (step.classList.contains(\"show\")) {\n step.classList.remove(\"show\");\n step.classList.add(\"hide\");\n }\n\n if (!step.lastStep) {\n step.nextStepHeading = this.steps[index + 1].heading;\n step.progress = (step.stepNum / this.steps.length) * 100;\n } else if (step.lastStep && this.stepTypes[index] !== \"completed\") {\n step.progress = 95;\n } else {\n step.progress = 100;\n }\n\n if (this.hideStepInfo && stepTitleArea !== null) {\n stepTitleArea.classList.remove(this.visuallyHidden);\n }\n\n step.compactStepStyling = this.stepTypes[index];\n }\n\n if (this.variant === \"default\") {\n if (!step.lastStep) {\n if (this.alignedFullWidth && this.stepperWidth !== undefined) {\n step.style.width = pxToRem(\n `${\n (this.stepperWidth - this.lastStepWidth) /\n (this.steps.length - 1)\n }px`\n );\n step.style.minWidth = pxToRem(\"148px\");\n }\n } else if (step.lastStep) {\n step.classList.add(\"last-step\");\n if (this.alignedFullWidth) {\n step.style.maxWidth = `${this.lastStepWidth}px`;\n } else if (this.connectorWidth) {\n step.style.maxWidth =\n this.connectorWidth > 100\n ? pxToRem(`${this.connectorWidth + 48}px`)\n : pxToRem(\"148px\");\n }\n }\n\n if (this.aligned === \"left\" && this.connectorWidth) {\n step.style.width =\n this.connectorWidth > 100\n ? pxToRem(`${this.connectorWidth + 48}px`)\n : pxToRem(\"148px\");\n const stepConnect = step.shadowRoot?.querySelector(\n \".step > .step-top > .step-connect\"\n ) as HTMLElement;\n\n if (stepConnect) {\n stepConnect.style.width =\n this.connectorWidth > 100\n ? pxToRem(`${this.connectorWidth}px`)\n : pxToRem(\"100px\");\n }\n }\n\n if (this.hideStepInfo && stepTitleArea !== null) {\n stepTitleArea.classList.add(this.visuallyHidden);\n }\n }\n });\n };\n\n private setHideStepInfo = (): void => {\n this.steps.forEach((step) => {\n const stepTitleArea = step.shadowRoot?.querySelector(\n \".step > .heading-area\"\n );\n\n if (stepTitleArea) {\n if (this.hideStepInfo) {\n stepTitleArea.classList?.add(this.visuallyHidden);\n } else {\n stepTitleArea.classList?.remove(this.visuallyHidden);\n }\n }\n });\n };\n\n private overrideVariant = () => {\n if (this.variantOverride) {\n let minDefaultStepperWidth = 148 * this.steps.length;\n\n if (\n this.aligned === \"left\" &&\n this.connectorWidth &&\n this.connectorWidth > 100\n ) {\n minDefaultStepperWidth = (this.connectorWidth + 48) * this.steps.length;\n }\n if (this.el.clientWidth < minDefaultStepperWidth) {\n this.variant = \"compact\";\n } else {\n this.variant = \"default\";\n }\n }\n };\n\n private resizeObserverCallback = () => {\n this.getChildren();\n this.checkStepTitles();\n this.overrideVariant();\n this.setStepperWidth();\n this.initialiseStepStates();\n this.handleThemeChange();\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.el);\n };\n\n render() {\n return (\n <Host\n class={{\n [`ic-stepper-${this.variant}`]: true,\n [\"ic-stepper-aligned-left\"]:\n this.variant === \"default\" && this.aligned === \"left\",\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n >\n <ul class=\"step-item-list\">\n <slot></slot>\n </ul>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-stepper.js","sourceRoot":"","sources":["../../../src/components/ic-stepper/ic-stepper.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Host, Prop, h, State, Watch } from \"@stencil/core\";\nimport { checkResizeObserver, pxToRem } from \"../../utils/helpers\";\nimport { IcStepperAlignment } from \"./ic-stepper.types\";\nimport {\n IcStepTypes,\n IcStepVariants,\n IcStepI18n,\n} from \"../ic-step/ic-step.types\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-stepper\",\n styleUrl: \"ic-stepper.css\",\n shadow: true,\n})\nexport class Stepper {\n private resizeObserver: ResizeObserver | null = null;\n private steps: HTMLIcStepElement[];\n private stepsWithStepTitles: HTMLIcStepElement[];\n private visuallyHidden: string = \"visually-hidden\";\n\n @Element() el: HTMLIcStepperElement;\n\n @State() alignedFullWidth: boolean = true;\n @State() autoSetStepTitles: boolean = true;\n @State() lastStepWidth: number = 0;\n @State() noOfResizes?: number = 0;\n @State() stepperWidth: number | undefined = document\n .querySelector(\"ic-stepper\")\n ?.getBoundingClientRect().width;\n @State() stepTypes: IcStepTypes[] = [];\n @State() variantOverride?: boolean = this.variant !== \"compact\";\n\n /**\n * The alignment of the default stepper within its container.\n */\n @Prop() aligned?: IcStepperAlignment = \"full-width\";\n\n /**\n * The length of the connector between each step in pixels. Minimum length is 100px.\n */\n @Prop() connectorWidth?: number = 100;\n\n /**\n * If `true`, the information about each step, i.e. step title, step subtitle and step status, will be hidden on all default steps. The information about each step will still be visible in the compact variant of the stepper.\n */\n @Prop() hideStepInfo?: boolean = false;\n\n /**\n * Provide alternative values for text in all child steps. For the purpose of translating the application into other languages.\n */\n @Prop() icI18n?: IcStepI18n = {\n next: \"Next\",\n step: \"Step\",\n steps: \"Steps\",\n of: \"of\",\n lastStep: \"Last step\",\n completed: \"Completed\",\n notRequired: \"Not required\",\n required: \"Required\",\n optional: \"Optional\",\n };\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n @Watch(\"theme\")\n handleThemeChange(): void {\n this.getChildren();\n this.steps.forEach((step) => {\n step.theme = this.theme;\n });\n }\n\n /**\n * The variant of the stepper.\n */\n @Prop({ mutable: true }) variant?: IcStepVariants = \"default\";\n\n @Watch(\"hideStepInfo\")\n @Watch(\"variant\")\n handlePropChange(): void {\n this.setHideStepInfo();\n this.getChildren();\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n componentWillLoad(): void {\n this.setStepTypes();\n this.handleThemeChange();\n\n if (this.variant === \"compact\") {\n this.variantOverride = false;\n }\n }\n\n componentWillRender(): void {\n this.initialiseStepStates();\n }\n\n componentDidLoad(): void {\n checkResizeObserver(this.runResizeObserver);\n }\n\n private stepHeading = (\n step: HTMLIcStepElement,\n includeAutogeneratedTitles: boolean = false\n ): string | undefined => {\n if (step.hasAttribute(\"heading\") && step.getAttribute(\"heading\") !== \"\") {\n return step.getAttribute(\"heading\") || undefined;\n }\n\n const headingSlot = step.shadowRoot?.querySelector(\n 'slot[name=\"heading\"]'\n ) as HTMLSlotElement | null;\n const assignedNodes = headingSlot?.assignedNodes?.() || [];\n for (const node of assignedNodes) {\n const text =\n node.nodeType === Node.TEXT_NODE\n ? node.textContent?.trim()\n : (node as HTMLElement).innerText?.trim();\n if (text) return text;\n }\n\n if (includeAutogeneratedTitles && step.heading) {\n return step.heading;\n }\n return undefined;\n };\n\n // Get all steps currently within this stepper\n private getChildren = (): void => {\n this.steps = Array.from(this.el.querySelectorAll(\"ic-step\"));\n\n this.stepsWithStepTitles = this.steps.filter(\n (step) => !!this.stepHeading(step, false)\n );\n };\n\n // Inform the user that stepTitles are required on all steps in a compact stepper\n private checkStepTitles = (): void => {\n if (\n this.stepsWithStepTitles.length < this.steps.length &&\n this.variantOverride &&\n this.variant === \"compact\"\n ) {\n this.noOfResizes = this.noOfResizes! + 1;\n if (this.noOfResizes === 1) {\n console.error(\n `The prop 'heading' is required for all steps of the Stepper component (compact variant)`\n );\n }\n }\n };\n\n private setStepTypes = (): void => {\n this.getChildren();\n this.stepTypes = [];\n for (let i = 0; i < this.steps.length; i++) {\n this.stepTypes.push(\"active\");\n }\n };\n\n private setStepperWidth = (): void => {\n this.alignedFullWidth =\n this.variant === \"default\" && this.aligned === \"full-width\";\n\n const lastStep = this.steps[this.steps.length - 1];\n lastStep.style.maxWidth = \"none\";\n\n if (this.alignedFullWidth) {\n this.stepperWidth = this.el.offsetWidth;\n lastStep.style.maxWidth = pxToRem(\n `${this.stepperWidth / this.steps.length}px`\n );\n this.lastStepWidth = lastStep.offsetWidth;\n }\n };\n\n private initialiseStepStates = (): void => {\n this.steps.forEach((step, index) => {\n // Set language\n if (this.icI18n !== undefined) {\n step.icI18n = this.icI18n;\n }\n // Set variant\n step.variant = this.variant!;\n // Assign stepNum to each step\n step.stepNum = index + 1;\n // Assign lastStep to final step\n step.lastStep = index === this.steps.length - 1;\n step.lastStepNum = this.steps.length;\n\n if (step.type !== \"current\") {\n step.current = false;\n this.stepTypes[index] = step.type!;\n } else {\n step.current = true;\n }\n\n const stepTitleArea =\n step.shadowRoot &&\n step.shadowRoot.querySelector(\".step > .heading-area\");\n\n if (this.stepsWithStepTitles.length == 0 && this.variantOverride) {\n if (this.variant === \"compact\") {\n this.autoSetStepTitles = true;\n if (this.autoSetStepTitles) {\n step.heading = \"Step \" + step.stepNum;\n stepTitleArea &&\n stepTitleArea\n ?.querySelector(\".heading\")\n ?.setAttribute(\"aria-hidden\", \"true\");\n }\n }\n if (this.variant === \"default\") {\n this.autoSetStepTitles = false;\n if (!this.autoSetStepTitles) {\n step.heading = undefined;\n stepTitleArea &&\n stepTitleArea\n ?.querySelector(\".heading\")\n ?.removeAttribute(\"aria-hidden\");\n }\n }\n }\n\n if (this.variant === \"compact\") {\n if (step.current === true || step.type === \"current\") {\n step.classList.remove(\"hide\");\n step.classList.add(\"show\");\n } else if (step.classList.contains(\"show\")) {\n step.classList.remove(\"show\");\n step.classList.add(\"hide\");\n }\n\n if (!step.lastStep) {\n const nextStep = this.steps[index + 1];\n step.nextStepHeading = this.stepHeading(nextStep, true);\n step.progress = (step.stepNum / this.steps.length) * 100;\n } else if (step.lastStep && this.stepTypes[index] !== \"completed\") {\n step.progress = 95;\n } else {\n step.progress = 100;\n }\n\n if (this.hideStepInfo && stepTitleArea !== null) {\n stepTitleArea.classList.remove(this.visuallyHidden);\n }\n\n step.compactStepStyling = this.stepTypes[index];\n }\n\n if (this.variant === \"default\") {\n if (!step.lastStep) {\n if (this.alignedFullWidth && this.stepperWidth !== undefined) {\n step.style.width = pxToRem(\n `${\n (this.stepperWidth - this.lastStepWidth) /\n (this.steps.length - 1)\n }px`\n );\n step.style.minWidth = pxToRem(\"148px\");\n }\n } else if (step.lastStep) {\n step.classList.add(\"last-step\");\n if (this.alignedFullWidth) {\n step.style.maxWidth = `${this.lastStepWidth}px`;\n } else if (this.connectorWidth) {\n step.style.maxWidth =\n this.connectorWidth > 100\n ? pxToRem(`${this.connectorWidth + 48}px`)\n : pxToRem(\"148px\");\n }\n }\n\n if (this.aligned === \"left\" && this.connectorWidth) {\n step.style.width =\n this.connectorWidth > 100\n ? pxToRem(`${this.connectorWidth + 48}px`)\n : pxToRem(\"148px\");\n const stepConnect = step.shadowRoot?.querySelector(\n \".step > .step-top > .step-connect\"\n ) as HTMLElement;\n\n if (stepConnect) {\n stepConnect.style.width =\n this.connectorWidth > 100\n ? pxToRem(`${this.connectorWidth}px`)\n : pxToRem(\"100px\");\n }\n }\n\n if (this.hideStepInfo && stepTitleArea !== null) {\n stepTitleArea.classList.add(this.visuallyHidden);\n }\n }\n });\n };\n\n private setHideStepInfo = (): void => {\n this.steps.forEach((step) => {\n const stepTitleArea = step.shadowRoot?.querySelector(\n \".step > .heading-area\"\n );\n\n if (stepTitleArea) {\n if (this.hideStepInfo) {\n stepTitleArea.classList?.add(this.visuallyHidden);\n } else {\n stepTitleArea.classList?.remove(this.visuallyHidden);\n }\n }\n });\n };\n\n private overrideVariant = () => {\n if (this.variantOverride) {\n let minDefaultStepperWidth = 148 * this.steps.length;\n\n if (\n this.aligned === \"left\" &&\n this.connectorWidth &&\n this.connectorWidth > 100\n ) {\n minDefaultStepperWidth = (this.connectorWidth + 48) * this.steps.length;\n }\n if (this.el.clientWidth < minDefaultStepperWidth) {\n this.variant = \"compact\";\n } else {\n this.variant = \"default\";\n }\n }\n };\n\n private resizeObserverCallback = () => {\n this.getChildren();\n this.checkStepTitles();\n this.overrideVariant();\n this.setStepperWidth();\n this.initialiseStepStates();\n this.handleThemeChange();\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.el);\n };\n\n render() {\n return (\n <Host\n class={{\n [`ic-stepper-${this.variant}`]: true,\n [\"ic-stepper-aligned-left\"]:\n this.variant === \"default\" && this.aligned === \"left\",\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n >\n <ul class=\"step-item-list\">\n <slot></slot>\n </ul>\n </Host>\n );\n }\n}\n"]}
@@ -338,6 +338,18 @@ export const Internationalisation = {
338
338
  name: "Internationalisation",
339
339
  };
340
340
 
341
+ export const SlottedHeading = {
342
+ render: () =>
343
+ html`<ic-stepper>
344
+ <ic-step type="completed"><span slot="heading">Create</span></ic-step>
345
+ <ic-step type="current"><span slot="heading">Read</span></ic-step>
346
+ <ic-step type="active"><span slot="heading">Update</span></ic-step>
347
+ <ic-step type="disabled"><span slot="heading">Delete</span></ic-step>
348
+ </ic-stepper>`,
349
+
350
+ name: "Slotted heading",
351
+ };
352
+
341
353
  export const Playground = {
342
354
  render: (args) =>
343
355
  html`<ic-stepper theme=${args.theme}>
@@ -91,16 +91,16 @@ export class Switch {
91
91
  const { label, checkedState, size, disabled, name, value, hideLabel, helperText, inputId, theme, } = this;
92
92
  const isSmall = size === "small";
93
93
  renderHiddenInput(this.el, checkedState ? value : "", name, disabled);
94
- return (h(Host, { key: '83cfaa808706cfbd930349b19264611eeb9eb7a1', class: {
94
+ return (h(Host, { key: 'e11db5d9ef7157f5b496107646dd45989b3fd2cf', class: {
95
95
  [`ic-theme-${theme}`]: theme !== "inherit",
96
- } }, h("label", { key: '3952a6e8d7bd6778f6e72bd714f3413fb32ce43c', class: {
96
+ } }, h("label", { key: '3f0b6684b623d60898f68ae91914696ed1856907', class: {
97
97
  "ic-switch-container": true,
98
98
  "ic-switch-disabled": !!disabled,
99
99
  "ic-switch-small": isSmall,
100
- }, htmlFor: inputId }, !hideLabel && (h("ic-input-label", { key: 'da48a174f9dd1a8ec052f102424cecfe39b629f1', for: inputId, label: label, helperText: helperText, readonly: false, disabled: disabled, class: {
100
+ }, htmlFor: inputId }, !hideLabel && (h("ic-input-label", { key: 'd170da813d11e7842c7b52ad33a0e003326c91b2', for: inputId, label: label, helperText: helperText, readonly: false, disabled: disabled, class: {
101
101
  "ic-switch-label": true,
102
102
  "ic-switch-label-small": isSmall,
103
- } }, h("slot", { key: 'f80f2d947f1ef1c448152a54878e00ca8ad93733', name: "helper-text", slot: "helper-text" }))), !hideLabel && h("span", { key: '3c56f4c0fb5e15be23d11931b95d9abfe6dc56f0', class: "ic-switch-line-break" }), h("input", { key: '2f23a8d5ef4aed9348bae49cf1d65d27d6af7f50', checked: checkedState, disabled: disabled, "aria-label": label, "aria-checked": checkedState ? "true" : "false", "aria-describedby": getInputDescribedByText(this.el, inputId, helperText !== "", false), role: "switch", class: "ic-switch-input", type: "checkbox", name: "toggle", id: inputId, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.handleChange }), h("span", { key: '1799cf9b15ba7f41ecdd5846c874313270b005d7', class: "ic-switch-toggle" }, h("svg", { key: 'dfdd27f600056edb4f0c21dc52c9c5b316a58749', class: "ic-switch-icon", "aria-hidden": "true", focusable: "false", viewBox: "0 0 10 10", xmlns: "http://www.w3.org/2000/svg" }, h("line", { key: 'e1fc26ba3d5ffe9901f5ded149c6783e5e897951', class: "ic-switch-icon-line", x1: "9", y1: isSmall ? "2" : "1", x2: "9", y2: isSmall ? "8" : "9" })), h("svg", { key: 'dbe0ba812d70c2ced199a5fbdfd2637a67477f3c', class: "ic-switch-icon", "aria-hidden": "true", focusable: "false", viewBox: "0 0 10 10", xmlns: "http://www.w3.org/2000/svg" }, h("circle", { key: '41fab06f91865db47d4c82b44eb913cb566a965c', class: "ic-switch-icon-circle", fill: "none", cx: "5", cy: "5", r: isSmall ? "3.335" : "4.445" }))), h("slot", { key: '26b7e9ad4067d5571b676872dd506371c03766b2', name: "right-adornment" }))));
103
+ } }, h("slot", { key: '86b0675dc2701c7eae251047fd8cc4177d3ec3a5', name: "helper-text", slot: "helper-text" }))), !hideLabel && h("span", { key: '10a20bc44042273b6dda222f4c0547279b89844f', class: "ic-switch-line-break" }), h("input", { key: '6edd5108b2f94b6fb0766b142980e1c7d5ef2209', checked: checkedState, disabled: disabled, "aria-label": label, "aria-checked": checkedState ? "true" : "false", "aria-describedby": getInputDescribedByText(this.el, inputId, helperText !== "", false), role: "switch", class: "ic-switch-input", type: "checkbox", name: "toggle", id: inputId, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.handleChange }), h("span", { key: 'f8fe1fa3345d804d3df07284bc66d8f54127833a', class: "ic-switch-toggle" }, h("svg", { key: 'bbd2c67828e7931dc5618be39e454075352ba321', class: "ic-switch-icon", "aria-hidden": "true", focusable: "false", viewBox: "0 0 10 10", xmlns: "http://www.w3.org/2000/svg" }, h("line", { key: '430057b77a9506f2eeb2338ab9db8917234d1f93', class: "ic-switch-icon-line", x1: "9", y1: isSmall ? "2" : "1", x2: "9", y2: isSmall ? "8" : "9" })), h("svg", { key: 'f3a8b817039210b892faee6ca5a115d4fdb07286', class: "ic-switch-icon", "aria-hidden": "true", focusable: "false", viewBox: "0 0 10 10", xmlns: "http://www.w3.org/2000/svg" }, h("circle", { key: 'f7d2d56b743834016888f477892202e17b2b3fef', class: "ic-switch-icon-circle", fill: "none", cx: "5", cy: "5", r: isSmall ? "3.335" : "4.445" }))), h("slot", { key: 'fec7bad487e3f3c4e3223b713b74653c155114ae', name: "right-adornment" }))));
104
104
  }
105
105
  static get is() { return "ic-switch"; }
106
106
  static get encapsulation() { return "shadow"; }
@@ -228,7 +228,7 @@ export class TabContext {
228
228
  }
229
229
  }
230
230
  render() {
231
- return h("slot", { key: '10bbbe55408243a3a5665b6f079a2b88912abb61' });
231
+ return h("slot", { key: 'f5ec87ebfe042f0ebc06c809601b7040c0979dc3' });
232
232
  }
233
233
  static get is() { return "ic-tab-context"; }
234
234
  static get properties() {
@@ -16,11 +16,11 @@ export class TabGroup {
16
16
  }
17
17
  render() {
18
18
  const { inline, theme, label, monochrome } = this;
19
- return (h(Host, { key: '6d47bc467418bb3448bc201c2903c1729d0b218c', role: "tablist", "aria-label": label, class: {
19
+ return (h(Host, { key: 'd4354a73edcfe5ed044e2acf6d04256eddcb7f40', role: "tablist", "aria-label": label, class: {
20
20
  ["ic-tab-group-inline"]: !!inline,
21
21
  [`ic-theme-${theme}`]: theme !== "inherit",
22
22
  ["ic-tab-group-monochrome"]: !!monochrome,
23
- } }, h("ic-horizontal-scroll", { key: '4cd7ad023ed041945dd0ea53ea30ef471c4dc87a', theme: theme, "focus-trigger": "tabFocus", monochrome: monochrome }, h("div", { key: '7b755ee071f940a648289a38cf792a86b19ee0f5', class: "tabs-container" }, h("slot", { key: 'c28ac4504330b33bc6809e8cc4bb8646eb0545e9' })))));
23
+ } }, h("ic-horizontal-scroll", { key: '42cf7391e17b38a3489e77bc3d882aa31902c14a', theme: theme, "focus-trigger": "tabFocus", monochrome: monochrome }, h("div", { key: '81270d7ad5567b23ab8098679705c3818b3bfd35', class: "tabs-container" }, h("slot", { key: 'ee7b2ece3edc06146170b759f2c08e22bca9fc7f' })))));
24
24
  }
25
25
  static get is() { return "ic-tab-group"; }
26
26
  static get encapsulation() { return "shadow"; }
@@ -17,10 +17,10 @@ export class TabPanel {
17
17
  }
18
18
  render() {
19
19
  const { active, theme } = this;
20
- return (h(Host, { key: 'aa17ab5e82e7692328cfa063e5666edfd65b1c9c', class: {
20
+ return (h(Host, { key: '5da4dba2bf404436c8b49173f9056d56912e9049', class: {
21
21
  [`ic-theme-${theme}`]: theme !== "inherit",
22
22
  "ic-tab-panel-hidden": !active,
23
- }, role: "tabpanel", "aria-hidden": `${!active}` }, h("div", { key: '719d420b5a75b8fcc722c7e510f86411e18afade' }, h("slot", { key: 'bec1ba48c3e0ced13c339f31f9af1663c068144d' }))));
23
+ }, role: "tabpanel", "aria-hidden": `${!active}` }, h("div", { key: '9f7b4cbaa9a2c5a72307ca07097cdb50fd93adb2' }, h("slot", { key: 'f97121f2a2d3092c18bd15c82743ba2a988a1134' }))));
24
24
  }
25
25
  static get is() { return "ic-tab-panel"; }
26
26
  static get encapsulation() { return "shadow"; }
@@ -65,7 +65,7 @@ export class Theme {
65
65
  }
66
66
  render() {
67
67
  const { themeClass } = this;
68
- return (h(Host, { key: '603b695aae6f29ef4f3d89d4e1995221b3324753', class: themeClass }, h("slot", { key: '0b4c3bd3f4b078775ff13677feb3f0fbc080d810' })));
68
+ return (h(Host, { key: 'd994b33e982d89fdb62837456a5a1c90471d0a6a', class: themeClass }, h("slot", { key: 'cc67f5ec282adfe4695a7ecf9134fba920a71a7e' })));
69
69
  }
70
70
  static get is() { return "ic-theme"; }
71
71
  static get properties() {
@@ -206,20 +206,20 @@ export class Toast {
206
206
  }
207
207
  render() {
208
208
  const { variant, heading, message, visible, isManual, dismissButtonAriaLabel, theme, } = this;
209
- return (h(Host, { key: '9934a16e3f339bec971138aec7d46092216d5554', class: {
209
+ return (h(Host, { key: '2bac1c836e58af45a4471435aa0721bfd0aafcc4', class: {
210
210
  [`ic-theme-${theme}`]: theme !== "inherit",
211
211
  ["ic-toast-hidden"]: !visible,
212
212
  [`ic-toast-variant-${variant}`]: variant !== undefined,
213
- }, tabindex: "0", onFocus: this.onFocus, onBlur: this.onBlur, role: isManual ? "dialog" : "alert", "aria-live": isManual ? null : "polite" }, h("div", { key: '97a03d41017adf58f826e42291906b3225ab091c', class: {
213
+ }, tabindex: "0", onFocus: this.onFocus, onBlur: this.onBlur, role: isManual ? "dialog" : "alert", "aria-live": isManual ? null : "polite" }, h("div", { key: 'b4388f3cfba0cb1084e026dca2f97efd3ccafc2a', class: {
214
214
  ["container"]: true,
215
215
  [`container-${variant}`]: variant !== undefined,
216
- } }, variant && visible && (h("div", { key: '289b4544bee27fd02b20deae22b5bbb822844c9e', class: "toast-icon-container" }, h("div", { key: '03dae21944b95c1d96e2a6b2480b0c20e12ccbd7', class: {
216
+ } }, variant && visible && (h("div", { key: 'e587c5b11b4ddcd93e1eb8ee0a8b2f2e63154e48', class: "toast-icon-container" }, h("div", { key: '841cabdcbc6b499303599d3f521332877a626dc8', class: {
217
217
  ["divider"]: true,
218
218
  [`divider-${variant}`]: true,
219
- } }), variant === "neutral" ? (h("slot", { name: "neutral-icon" })) : (h("span", { class: "toast-icon", innerHTML: VARIANT_ICONS[variant].icon })))), h("div", { key: '6191a3f5c39adfa8c5ab4ca5c9e35fd214e00fa2', class: {
219
+ } }), variant === "neutral" ? (h("slot", { name: "neutral-icon" })) : (h("span", { class: "toast-icon", innerHTML: VARIANT_ICONS[variant].icon })))), h("div", { key: '0346511199e51296a49ceb78c3858e93f481ff9a', class: {
220
220
  ["toast-content"]: true,
221
221
  ["no-icon"]: variant === "neutral" && !isSlotUsed(this.el, "neutral-icon"),
222
- } }, h("div", { key: '1e08fbbfa2ba920c1b90f2eaf35aa801830d47b0', class: "toast-text" }, h("ic-typography", { key: 'ebc61cb12c3bdd05511ae567d09f5504ad010c47', variant: "subtitle-large", class: "toast-heading" }, visible && (isManual ? h("h5", null, heading) : h("p", null, heading))), message && (h("ic-typography", { key: '48ffe5377a09237ac490c8d4a62e962979ce6dc0', variant: "body", class: "toast-message" }, visible && h("p", { key: '7fbffa0f6e6d30389a9d0e5a3b5e1c279911ed9a' }, message)))), isSlotUsed(this.el, "action") && (h("div", { key: '83ba75d3d7aa54caf13cc7723defee623103dffc', class: "toast-action-container" }, h("slot", { key: '18367dd5f8acdc33129ead64728abc71a82f7e57', name: "action" })))), !isManual ? (h("ic-loading-indicator", { class: "toast-dismiss-timer", theme: "dark", monochrome: true, size: "icon", progress: this.timerProgress, description: "Dismiss timer" })) : (h("ic-button", { id: "dismiss-button", innerHTML: closeIcon, onClick: this.dismissAction, variant: "icon-tertiary", "aria-label": dismissButtonAriaLabel })))));
222
+ } }, h("div", { key: '455cef756a449a6a23dec8679f6a9e68ca19e761', class: "toast-text" }, h("ic-typography", { key: '33a1f0d5080f96a67fc9ef753d2b90806665f62e', variant: "subtitle-large", class: "toast-heading" }, visible && (isManual ? h("h5", null, heading) : h("p", null, heading))), message && (h("ic-typography", { key: '334748fcea7132f4c3f82f8e3f6267c532796289', variant: "body", class: "toast-message" }, visible && h("p", { key: '5178bc7cba60aa663105fa09fc31617c6a923f0d' }, message)))), isSlotUsed(this.el, "action") && (h("div", { key: '263401f6f52c6acd495a448fb21176a3af002234', class: "toast-action-container" }, h("slot", { key: '3f1cbc47a3a01254c7581ec4a0a1a6ef988cd417', name: "action" })))), !isManual ? (h("ic-loading-indicator", { class: "toast-dismiss-timer", theme: "dark", monochrome: true, size: "icon", progress: this.timerProgress, description: "Dismiss timer" })) : (h("ic-button", { id: "dismiss-button", innerHTML: closeIcon, onClick: this.dismissAction, variant: "icon-tertiary", "aria-label": dismissButtonAriaLabel })))));
223
223
  }
224
224
  static get is() { return "ic-toast"; }
225
225
  static get encapsulation() { return "shadow"; }
@@ -40,7 +40,7 @@ export class ToastRegion {
40
40
  }
41
41
  }
42
42
  render() {
43
- return h("slot", { key: 'fbb8173202304d09e434a726e85fad986cb79a9f' });
43
+ return h("slot", { key: '8ba16a1a1aa173043f4a14af432e11a82fffda5a' });
44
44
  }
45
45
  static get is() { return "ic-toast-region"; }
46
46
  static get properties() {
@@ -150,7 +150,7 @@ export class ToggleButton {
150
150
  render() {
151
151
  const { accessibleLabel, checked, disabled, fullWidth, iconPlacement, monochrome, label, loading, outline, size, theme, tooltipPlacement, variant, } = this;
152
152
  const iconVariant = variant === "icon";
153
- return (h(Host, { key: '74d882ab9a0ea86b7f1b1eaa74a40ee32fd44800', class: {
153
+ return (h(Host, { key: 'a7fc7b7059ce70e3234ef1635586a175d69891a3', class: {
154
154
  "ic-toggle-button-checked": checked,
155
155
  "ic-toggle-button-disabled": disabled,
156
156
  "ic-toggle-button-icon": iconVariant,
@@ -160,7 +160,7 @@ export class ToggleButton {
160
160
  "ic-toggle-button-hide-outline": !outline,
161
161
  [`ic-toggle-button-${size}`]: true,
162
162
  [`ic-theme-${theme}`]: theme !== "inherit",
163
- }, onFocus: this.handleFocus }, h("ic-button", { key: '067df9f2c2b9a6f6a21d1a70ddac41b7ae1c9f13', "aria-pressed": `${checked}`, variant: iconVariant ? "icon-tertiary" : "secondary", onClick: this.handleClick, title: accessibleLabel, "aria-label": `${accessibleLabel ? accessibleLabel : label}, ${checked ? "ticked" : "unticked"}`, disabled: disabled, size: size, fullWidth: fullWidth, loading: loading, tooltipPlacement: tooltipPlacement }, !iconVariant && label, h("slot", { key: 'e6b0d906bda4695ab9e64da852a99da851001974' }), isSlotUsed(this.el, "icon") && (h("slot", { key: '70b5c83cca0a126ab9eafa9d84327c83e6936ce8', name: "icon", slot: `${iconPlacement}-icon` })), isSlotUsed(this.el, "badge") && (h("slot", { key: 'c43ead3695a0f7a019b3eb0aa4b396f85c0e96eb', name: "badge", slot: "badge" })))));
163
+ }, onFocus: this.handleFocus }, h("ic-button", { key: '163a1360e830e9ef99683346438f9becc8c70482', "aria-pressed": `${checked}`, variant: iconVariant ? "icon-tertiary" : "secondary", onClick: this.handleClick, title: accessibleLabel, "aria-label": `${accessibleLabel ? accessibleLabel : label}, ${checked ? "ticked" : "unticked"}`, disabled: disabled, size: size, fullWidth: fullWidth, loading: loading, tooltipPlacement: tooltipPlacement }, !iconVariant && label, h("slot", { key: 'b9a212fe0f7566d49b1545a999c1f8929775beed' }), isSlotUsed(this.el, "icon") && (h("slot", { key: '69aa58ba2bb432ee222abc899fcb7f666d784176', name: "icon", slot: `${iconPlacement}-icon` })), isSlotUsed(this.el, "badge") && (h("slot", { key: 'd274ed4513b466b0e0c0e690cc085e8aca2e74ca', name: "badge", slot: "badge" })))));
164
164
  }
165
165
  static get is() { return "ic-toggle-button"; }
166
166
  static get encapsulation() { return "shadow"; }
@@ -245,14 +245,14 @@ export class ToggleButtonGroup {
245
245
  }
246
246
  render() {
247
247
  const { accessibleLabel, disabled, fullWidth, loading, monochrome, outline, theme, } = this;
248
- return (h(Host, { key: '5ae12c9f09c65a04cbe1f19850998c0d942327c8', role: "group", "aria-label": accessibleLabel, tabindex: disabled ? -1 : 0, class: {
248
+ return (h(Host, { key: 'd8c78a67a57bfaf00ff1f7f732ea581af080c7a6', role: "group", "aria-label": accessibleLabel, tabindex: disabled ? -1 : 0, class: {
249
249
  "ic-toggle-button-group-disabled": disabled,
250
250
  "ic-toggle-button-group-full-width": fullWidth,
251
251
  "ic-toggle-button-group-loading": loading,
252
252
  "ic-toggle-button-group-monochrome": monochrome,
253
253
  "ic-toggle-button-group-hide-outline": !outline,
254
254
  [`ic-theme-${theme}`]: theme !== "inherit",
255
- }, onFocus: this.handleHostFocus }, h("slot", { key: '02c4f4cd7df626d4032246bdbcd7e07d2167ba52' })));
255
+ }, onFocus: this.handleHostFocus }, h("slot", { key: '84cdbfb743f949d9c804da2af8bcc6d7cfdd035e' })));
256
256
  }
257
257
  static get is() { return "ic-toggle-button-group"; }
258
258
  static get encapsulation() { return "shadow"; }