@hashicorp/design-system-components 6.2.0 → 6.3.0-rc-20260514101332

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 (884) hide show
  1. package/declarations/components/hds/accordion/index.d.ts +1 -1
  2. package/declarations/components/hds/accordion/item/button.d.ts +1 -1
  3. package/declarations/components/hds/accordion/item/index.d.ts +1 -1
  4. package/declarations/components/hds/advanced-table/body.d.ts +4 -0
  5. package/declarations/components/hds/advanced-table/column-manager/index.d.ts +1 -1
  6. package/declarations/components/hds/advanced-table/column-manager/order.d.ts +4 -0
  7. package/declarations/components/hds/advanced-table/column-manager/width.d.ts +4 -0
  8. package/declarations/components/hds/advanced-table/index.d.ts +1 -1
  9. package/declarations/components/hds/advanced-table/td.d.ts +1 -1
  10. package/declarations/components/hds/advanced-table/th-button-expand.d.ts +1 -1
  11. package/declarations/components/hds/advanced-table/th-button-sort.d.ts +1 -1
  12. package/declarations/components/hds/advanced-table/th-button-tooltip.d.ts +1 -1
  13. package/declarations/components/hds/advanced-table/th-context-menu.d.ts +1 -1
  14. package/declarations/components/hds/advanced-table/th-reorder-drop-target.d.ts +1 -1
  15. package/declarations/components/hds/advanced-table/th-reorder-handle.d.ts +1 -1
  16. package/declarations/components/hds/advanced-table/th-resize-handle.d.ts +1 -1
  17. package/declarations/components/hds/advanced-table/th-selectable.d.ts +1 -1
  18. package/declarations/components/hds/advanced-table/th.d.ts +1 -1
  19. package/declarations/components/hds/advanced-table/tr.d.ts +1 -1
  20. package/declarations/components/hds/advanced-table/types.d.ts +1 -1
  21. package/declarations/components/hds/advanced-table/utils.d.ts +1 -1
  22. package/declarations/components/hds/alert/description.d.ts +1 -1
  23. package/declarations/components/hds/alert/index.d.ts +10 -1
  24. package/declarations/components/hds/alert/title.d.ts +1 -1
  25. package/declarations/components/hds/app-footer/copyright.d.ts +1 -1
  26. package/declarations/components/hds/app-footer/index.d.ts +1 -1
  27. package/declarations/components/hds/app-footer/item.d.ts +1 -1
  28. package/declarations/components/hds/app-footer/legal-links.d.ts +1 -1
  29. package/declarations/components/hds/app-footer/link.d.ts +1 -1
  30. package/declarations/components/hds/app-footer/status-link.d.ts +2 -2
  31. package/declarations/components/hds/app-footer/types.d.ts +1 -1
  32. package/declarations/components/hds/app-frame/index.d.ts +1 -1
  33. package/declarations/components/hds/app-frame/parts/footer.d.ts +1 -1
  34. package/declarations/components/hds/app-frame/parts/header.d.ts +1 -1
  35. package/declarations/components/hds/app-frame/parts/main.d.ts +1 -1
  36. package/declarations/components/hds/app-frame/parts/modals.d.ts +1 -1
  37. package/declarations/components/hds/app-frame/parts/sidebar.d.ts +1 -1
  38. package/declarations/components/hds/app-header/home-link.d.ts +1 -1
  39. package/declarations/components/hds/app-header/index.d.ts +1 -1
  40. package/declarations/components/hds/app-header/menu-button.d.ts +1 -1
  41. package/declarations/components/hds/app-side-nav/index.d.ts +1 -1
  42. package/declarations/components/hds/app-side-nav/list/back-link.d.ts +1 -1
  43. package/declarations/components/hds/app-side-nav/list/index.d.ts +1 -1
  44. package/declarations/components/hds/app-side-nav/list/item.d.ts +1 -1
  45. package/declarations/components/hds/app-side-nav/list/link.d.ts +1 -1
  46. package/declarations/components/hds/app-side-nav/list/title.d.ts +1 -1
  47. package/declarations/components/hds/app-side-nav/portal/index.d.ts +1 -1
  48. package/declarations/components/hds/app-side-nav/portal/target.d.ts +1 -1
  49. package/declarations/components/hds/app-side-nav/toggle-button.d.ts +1 -1
  50. package/declarations/components/hds/application-state/body.d.ts +1 -1
  51. package/declarations/components/hds/application-state/footer.d.ts +1 -1
  52. package/declarations/components/hds/application-state/header.d.ts +1 -1
  53. package/declarations/components/hds/application-state/index.d.ts +1 -1
  54. package/declarations/components/hds/application-state/media.d.ts +1 -1
  55. package/declarations/components/hds/badge/index.d.ts +1 -1
  56. package/declarations/components/hds/badge-count/index.d.ts +1 -1
  57. package/declarations/components/hds/breadcrumb/index.d.ts +1 -1
  58. package/declarations/components/hds/breadcrumb/item.d.ts +1 -1
  59. package/declarations/components/hds/breadcrumb/truncation.d.ts +1 -1
  60. package/declarations/components/hds/button/index.d.ts +3 -1
  61. package/declarations/components/hds/button-set/index.d.ts +1 -1
  62. package/declarations/components/hds/card/container.d.ts +1 -1
  63. package/declarations/components/hds/code-block/copy-button.d.ts +1 -1
  64. package/declarations/components/hds/code-block/description.d.ts +1 -1
  65. package/declarations/components/hds/code-block/index.d.ts +1 -1
  66. package/declarations/components/hds/code-block/title.d.ts +1 -1
  67. package/declarations/components/hds/code-editor/description.d.ts +1 -1
  68. package/declarations/components/hds/code-editor/full-screen-button.d.ts +1 -1
  69. package/declarations/components/hds/code-editor/generic.d.ts +1 -1
  70. package/declarations/components/hds/code-editor/index.d.ts +1 -1
  71. package/declarations/components/hds/code-editor/title.d.ts +1 -1
  72. package/declarations/components/hds/composite/index.d.ts +4 -0
  73. package/declarations/components/hds/composite/navigation.d.ts +4 -0
  74. package/declarations/components/hds/composite/types.d.ts +4 -0
  75. package/declarations/components/hds/copy/button/index.d.ts +1 -1
  76. package/declarations/components/hds/copy/snippet/index.d.ts +1 -1
  77. package/declarations/components/hds/dialog-primitive/body.d.ts +1 -1
  78. package/declarations/components/hds/dialog-primitive/description.d.ts +1 -1
  79. package/declarations/components/hds/dialog-primitive/footer.d.ts +1 -1
  80. package/declarations/components/hds/dialog-primitive/header.d.ts +1 -1
  81. package/declarations/components/hds/dialog-primitive/overlay.d.ts +1 -1
  82. package/declarations/components/hds/dialog-primitive/wrapper.d.ts +1 -1
  83. package/declarations/components/hds/disclosure-primitive/index.d.ts +1 -1
  84. package/declarations/components/hds/dismiss-button/index.d.ts +1 -1
  85. package/declarations/components/hds/dropdown/footer.d.ts +1 -1
  86. package/declarations/components/hds/dropdown/header.d.ts +1 -1
  87. package/declarations/components/hds/dropdown/index.d.ts +1 -1
  88. package/declarations/components/hds/dropdown/list-item/checkbox.d.ts +1 -1
  89. package/declarations/components/hds/dropdown/list-item/checkmark.d.ts +1 -1
  90. package/declarations/components/hds/dropdown/list-item/copy-item.d.ts +1 -1
  91. package/declarations/components/hds/dropdown/list-item/description.d.ts +1 -1
  92. package/declarations/components/hds/dropdown/list-item/generic.d.ts +1 -1
  93. package/declarations/components/hds/dropdown/list-item/interactive.d.ts +1 -1
  94. package/declarations/components/hds/dropdown/list-item/radio.d.ts +1 -1
  95. package/declarations/components/hds/dropdown/list-item/separator.d.ts +1 -1
  96. package/declarations/components/hds/dropdown/list-item/title.d.ts +1 -1
  97. package/declarations/components/hds/dropdown/toggle/button.d.ts +1 -1
  98. package/declarations/components/hds/dropdown/toggle/chevron.d.ts +1 -1
  99. package/declarations/components/hds/dropdown/toggle/icon.d.ts +1 -1
  100. package/declarations/components/hds/filter-bar/actions-dropdown.d.ts +1 -1
  101. package/declarations/components/hds/filter-bar/applied-filters.d.ts +1 -1
  102. package/declarations/components/hds/filter-bar/filter-group/checkbox.d.ts +1 -1
  103. package/declarations/components/hds/filter-bar/filter-group/clear-button.d.ts +1 -1
  104. package/declarations/components/hds/filter-bar/filter-group/date.d.ts +1 -1
  105. package/declarations/components/hds/filter-bar/filter-group/generic.d.ts +1 -1
  106. package/declarations/components/hds/filter-bar/filter-group/index.d.ts +1 -1
  107. package/declarations/components/hds/filter-bar/filter-group/numerical.d.ts +1 -1
  108. package/declarations/components/hds/filter-bar/filter-group/radio.d.ts +1 -1
  109. package/declarations/components/hds/filter-bar/filters-dropdown.d.ts +1 -1
  110. package/declarations/components/hds/filter-bar/index.d.ts +1 -1
  111. package/declarations/components/hds/filter-bar/tabs/index.d.ts +1 -1
  112. package/declarations/components/hds/filter-bar/tabs/panel.d.ts +1 -1
  113. package/declarations/components/hds/filter-bar/tabs/tab.d.ts +1 -1
  114. package/declarations/components/hds/filter-bar/types.d.ts +1 -1
  115. package/declarations/components/hds/flyout/index.d.ts +1 -1
  116. package/declarations/components/hds/form/character-count/index.d.ts +1 -1
  117. package/declarations/components/hds/form/checkbox/base.d.ts +1 -1
  118. package/declarations/components/hds/form/checkbox/field.d.ts +1 -1
  119. package/declarations/components/hds/form/checkbox/group.d.ts +1 -1
  120. package/declarations/components/hds/form/error/index.d.ts +1 -1
  121. package/declarations/components/hds/form/error/message.d.ts +1 -1
  122. package/declarations/components/hds/form/field/index.d.ts +1 -1
  123. package/declarations/components/hds/form/fieldset/index.d.ts +1 -1
  124. package/declarations/components/hds/form/file-input/base.d.ts +1 -1
  125. package/declarations/components/hds/form/file-input/field.d.ts +1 -1
  126. package/declarations/components/hds/form/footer/index.d.ts +1 -1
  127. package/declarations/components/hds/form/header/description.d.ts +1 -1
  128. package/declarations/components/hds/form/header/index.d.ts +1 -1
  129. package/declarations/components/hds/form/header/title.d.ts +1 -1
  130. package/declarations/components/hds/form/helper-text/index.d.ts +1 -1
  131. package/declarations/components/hds/form/index.d.ts +1 -1
  132. package/declarations/components/hds/form/indicator/index.d.ts +1 -1
  133. package/declarations/components/hds/form/key-value-inputs/add-row-button.d.ts +1 -1
  134. package/declarations/components/hds/form/key-value-inputs/delete-row-button.d.ts +1 -1
  135. package/declarations/components/hds/form/key-value-inputs/field.d.ts +1 -1
  136. package/declarations/components/hds/form/key-value-inputs/generic.d.ts +1 -1
  137. package/declarations/components/hds/form/key-value-inputs/index.d.ts +1 -1
  138. package/declarations/components/hds/form/label/index.d.ts +1 -1
  139. package/declarations/components/hds/form/legend/index.d.ts +1 -1
  140. package/declarations/components/hds/form/masked-input/base.d.ts +1 -1
  141. package/declarations/components/hds/form/masked-input/field.d.ts +1 -1
  142. package/declarations/components/hds/form/radio/base.d.ts +1 -1
  143. package/declarations/components/hds/form/radio/field.d.ts +1 -1
  144. package/declarations/components/hds/form/radio/group.d.ts +1 -1
  145. package/declarations/components/hds/form/radio-card/description.d.ts +1 -1
  146. package/declarations/components/hds/form/radio-card/group.d.ts +1 -1
  147. package/declarations/components/hds/form/radio-card/index.d.ts +1 -1
  148. package/declarations/components/hds/form/radio-card/label.d.ts +1 -1
  149. package/declarations/components/hds/form/section/header.d.ts +1 -1
  150. package/declarations/components/hds/form/section/index.d.ts +1 -1
  151. package/declarations/components/hds/form/section/multi-field-group/index.d.ts +1 -1
  152. package/declarations/components/hds/form/section/multi-field-group/item.d.ts +1 -1
  153. package/declarations/components/hds/form/select/base.d.ts +1 -1
  154. package/declarations/components/hds/form/select/field.d.ts +1 -1
  155. package/declarations/components/hds/form/separator/index.d.ts +1 -1
  156. package/declarations/components/hds/form/super-select/after-options.d.ts +1 -1
  157. package/declarations/components/hds/form/super-select/multiple/base.d.ts +1 -1
  158. package/declarations/components/hds/form/super-select/multiple/field.d.ts +1 -1
  159. package/declarations/components/hds/form/super-select/option-group.d.ts +1 -1
  160. package/declarations/components/hds/form/super-select/placeholder.d.ts +1 -1
  161. package/declarations/components/hds/form/super-select/single/base.d.ts +1 -1
  162. package/declarations/components/hds/form/super-select/single/field.d.ts +1 -1
  163. package/declarations/components/hds/form/text-input/base.d.ts +1 -1
  164. package/declarations/components/hds/form/text-input/field.d.ts +2 -2
  165. package/declarations/components/hds/form/textarea/base.d.ts +1 -1
  166. package/declarations/components/hds/form/textarea/field.d.ts +1 -1
  167. package/declarations/components/hds/form/toggle/base.d.ts +1 -1
  168. package/declarations/components/hds/form/toggle/field.d.ts +1 -1
  169. package/declarations/components/hds/form/toggle/group.d.ts +1 -1
  170. package/declarations/components/hds/form/visibility-toggle/index.d.ts +1 -1
  171. package/declarations/components/hds/icon/index.d.ts +21 -5
  172. package/declarations/components/hds/icon/types.d.ts +7 -0
  173. package/declarations/components/hds/icon-tile/index.d.ts +1 -1
  174. package/declarations/components/hds/interactive/index.d.ts +1 -1
  175. package/declarations/components/hds/layout/flex/index.d.ts +1 -1
  176. package/declarations/components/hds/layout/flex/item.d.ts +1 -1
  177. package/declarations/components/hds/layout/grid/index.d.ts +1 -1
  178. package/declarations/components/hds/layout/grid/item.d.ts +1 -1
  179. package/declarations/components/hds/link/inline.d.ts +1 -1
  180. package/declarations/components/hds/link/standalone.d.ts +1 -1
  181. package/declarations/components/hds/modal/index.d.ts +1 -1
  182. package/declarations/components/hds/page-header/actions.d.ts +1 -1
  183. package/declarations/components/hds/page-header/badges.d.ts +1 -1
  184. package/declarations/components/hds/page-header/description.d.ts +1 -1
  185. package/declarations/components/hds/page-header/index.d.ts +1 -1
  186. package/declarations/components/hds/page-header/subtitle.d.ts +1 -1
  187. package/declarations/components/hds/page-header/title.d.ts +1 -1
  188. package/declarations/components/hds/pagination/compact/index.d.ts +1 -1
  189. package/declarations/components/hds/pagination/info/index.d.ts +1 -1
  190. package/declarations/components/hds/pagination/nav/arrow.d.ts +1 -1
  191. package/declarations/components/hds/pagination/nav/ellipsis.d.ts +1 -1
  192. package/declarations/components/hds/pagination/nav/number.d.ts +1 -1
  193. package/declarations/components/hds/pagination/numbered/index.d.ts +1 -1
  194. package/declarations/components/hds/pagination/size-selector/index.d.ts +1 -1
  195. package/declarations/components/hds/pagination/types.d.ts +1 -1
  196. package/declarations/components/hds/popover-primitive/index.d.ts +1 -1
  197. package/declarations/components/hds/reveal/index.d.ts +1 -1
  198. package/declarations/components/hds/reveal/toggle/button.d.ts +1 -1
  199. package/declarations/components/hds/rich-tooltip/bubble.d.ts +1 -1
  200. package/declarations/components/hds/rich-tooltip/index.d.ts +1 -1
  201. package/declarations/components/hds/rich-tooltip/toggle.d.ts +1 -1
  202. package/declarations/components/hds/segmented-group/index.d.ts +1 -1
  203. package/declarations/components/hds/separator/index.d.ts +1 -1
  204. package/declarations/components/hds/stepper/list/index.d.ts +1 -1
  205. package/declarations/components/hds/stepper/list/step.d.ts +1 -1
  206. package/declarations/components/hds/stepper/nav/index.d.ts +1 -1
  207. package/declarations/components/hds/stepper/nav/panel.d.ts +1 -1
  208. package/declarations/components/hds/stepper/nav/step.d.ts +1 -1
  209. package/declarations/components/hds/stepper/step/indicator.d.ts +1 -1
  210. package/declarations/components/hds/stepper/task/indicator.d.ts +2 -2
  211. package/declarations/components/hds/stepper/types.d.ts +1 -1
  212. package/declarations/components/hds/table/index.d.ts +1 -1
  213. package/declarations/components/hds/table/td.d.ts +1 -1
  214. package/declarations/components/hds/table/th-button-sort.d.ts +1 -1
  215. package/declarations/components/hds/table/th-button-tooltip.d.ts +1 -1
  216. package/declarations/components/hds/table/th-selectable.d.ts +1 -1
  217. package/declarations/components/hds/table/th-sort.d.ts +1 -1
  218. package/declarations/components/hds/table/th.d.ts +1 -1
  219. package/declarations/components/hds/table/tr.d.ts +1 -1
  220. package/declarations/components/hds/table/types.d.ts +1 -1
  221. package/declarations/components/hds/tabs/index.d.ts +1 -1
  222. package/declarations/components/hds/tabs/panel.d.ts +1 -1
  223. package/declarations/components/hds/tabs/tab.d.ts +1 -1
  224. package/declarations/components/hds/tag/index.d.ts +1 -1
  225. package/declarations/components/hds/text/body.d.ts +1 -1
  226. package/declarations/components/hds/text/code.d.ts +1 -1
  227. package/declarations/components/hds/text/display.d.ts +1 -1
  228. package/declarations/components/hds/text/index.d.ts +1 -1
  229. package/declarations/components/hds/theme-context/index.d.ts +24 -0
  230. package/declarations/components/hds/theme-context/types.d.ts +19 -0
  231. package/declarations/components/hds/theme-switcher/index.d.ts +43 -0
  232. package/declarations/components/hds/time/index.d.ts +1 -1
  233. package/declarations/components/hds/time/range.d.ts +1 -1
  234. package/declarations/components/hds/time/single.d.ts +1 -1
  235. package/declarations/components/hds/toast/index.d.ts +1 -1
  236. package/declarations/components/hds/tooltip-button/index.d.ts +1 -1
  237. package/declarations/components/hds/yield/index.d.ts +1 -1
  238. package/declarations/components.d.ts +3 -1
  239. package/declarations/helpers/hds-t.d.ts +1 -1
  240. package/declarations/instance-initializers/load-sprite-empty.d.ts +10 -0
  241. package/declarations/modifiers/hds-advanced-table-cell/dom-management.d.ts +1 -1
  242. package/declarations/modifiers/hds-advanced-table-cell.d.ts +1 -1
  243. package/declarations/modifiers/hds-anchored-position.d.ts +1 -1
  244. package/declarations/modifiers/hds-code-editor/highlight-styles/{hds-dark-highlight-style.d.ts → hds-highlight-style.d.ts} +2 -2
  245. package/declarations/modifiers/hds-code-editor/themes/hds-theme.d.ts +6 -0
  246. package/declarations/modifiers/hds-code-editor.d.ts +1 -1
  247. package/declarations/modifiers/hds-scroll-into-view-on-focus.d.ts +1 -1
  248. package/declarations/modifiers/hds-tooltip.d.ts +1 -1
  249. package/declarations/re-exports/codemirror.d.ts +4 -0
  250. package/declarations/services/hds-icon-registry.d.ts +31 -0
  251. package/declarations/services/hds-intl.d.ts +1 -1
  252. package/declarations/services/hds-theming.d.ts +54 -0
  253. package/declarations/services.d.ts +1 -0
  254. package/declarations/template-registry.d.ts +7 -1
  255. package/declarations/utils/hds-aria-described-by.d.ts +1 -1
  256. package/declarations/utils/hds-link-to-external.d.ts +4 -0
  257. package/dist/_app_/components/hds/theme-context.js +1 -0
  258. package/dist/_app_/components/hds/theme-switcher.js +1 -0
  259. package/dist/_app_/instance-initializers/load-sprite-empty.js +1 -0
  260. package/dist/_app_/modifiers/hds-code-editor/{palettes/hds-dark-palette.js → highlight-styles/hds-highlight-style.js} +1 -1
  261. package/dist/_app_/modifiers/hds-code-editor/themes/{hds-dark-theme.js → hds-theme.js} +1 -1
  262. package/dist/_app_/services/hds-icon-registry.js +1 -0
  263. package/dist/_app_/services/hds-theming.js +1 -0
  264. package/dist/components/hds/accordion/index.js +1 -1
  265. package/dist/components/hds/accordion/index.js.map +1 -1
  266. package/dist/components/hds/accordion/item/button.js +1 -1
  267. package/dist/components/hds/accordion/item/button.js.map +1 -1
  268. package/dist/components/hds/accordion/item/index.js +1 -1
  269. package/dist/components/hds/accordion/item/index.js.map +1 -1
  270. package/dist/components/hds/advanced-table/body.js +4 -0
  271. package/dist/components/hds/advanced-table/body.js.map +1 -1
  272. package/dist/components/hds/advanced-table/column-manager/index.js +1 -1
  273. package/dist/components/hds/advanced-table/column-manager/index.js.map +1 -1
  274. package/dist/components/hds/advanced-table/column-manager/order.js +4 -0
  275. package/dist/components/hds/advanced-table/column-manager/order.js.map +1 -1
  276. package/dist/components/hds/advanced-table/column-manager/width.js +4 -0
  277. package/dist/components/hds/advanced-table/column-manager/width.js.map +1 -1
  278. package/dist/components/hds/advanced-table/index.js +1 -1
  279. package/dist/components/hds/advanced-table/td.js +1 -1
  280. package/dist/components/hds/advanced-table/td.js.map +1 -1
  281. package/dist/components/hds/advanced-table/th-button-expand.js +1 -1
  282. package/dist/components/hds/advanced-table/th-button-expand.js.map +1 -1
  283. package/dist/components/hds/advanced-table/th-button-sort.js +1 -1
  284. package/dist/components/hds/advanced-table/th-button-sort.js.map +1 -1
  285. package/dist/components/hds/advanced-table/th-button-tooltip.js +1 -1
  286. package/dist/components/hds/advanced-table/th-button-tooltip.js.map +1 -1
  287. package/dist/components/hds/advanced-table/th-context-menu.js +1 -1
  288. package/dist/components/hds/advanced-table/th-context-menu.js.map +1 -1
  289. package/dist/components/hds/advanced-table/th-reorder-drop-target.js +1 -1
  290. package/dist/components/hds/advanced-table/th-reorder-handle.js +1 -1
  291. package/dist/components/hds/advanced-table/th-reorder-handle.js.map +1 -1
  292. package/dist/components/hds/advanced-table/th-resize-handle.js +1 -1
  293. package/dist/components/hds/advanced-table/th-selectable.js +1 -1
  294. package/dist/components/hds/advanced-table/th.js +1 -1
  295. package/dist/components/hds/advanced-table/tr.js +1 -1
  296. package/dist/components/hds/advanced-table/types.js +1 -1
  297. package/dist/components/hds/advanced-table/types.js.map +1 -1
  298. package/dist/components/hds/advanced-table/utils.js +1 -1
  299. package/dist/components/hds/advanced-table/utils.js.map +1 -1
  300. package/dist/components/hds/alert/description.js +1 -1
  301. package/dist/components/hds/alert/description.js.map +1 -1
  302. package/dist/components/hds/alert/index.js +18 -3
  303. package/dist/components/hds/alert/index.js.map +1 -1
  304. package/dist/components/hds/alert/title.js +1 -1
  305. package/dist/components/hds/alert/title.js.map +1 -1
  306. package/dist/components/hds/app-footer/copyright.js +1 -1
  307. package/dist/components/hds/app-footer/copyright.js.map +1 -1
  308. package/dist/components/hds/app-footer/index.js +1 -1
  309. package/dist/components/hds/app-footer/index.js.map +1 -1
  310. package/dist/components/hds/app-footer/item.js +1 -1
  311. package/dist/components/hds/app-footer/item.js.map +1 -1
  312. package/dist/components/hds/app-footer/legal-links.js +1 -1
  313. package/dist/components/hds/app-footer/legal-links.js.map +1 -1
  314. package/dist/components/hds/app-footer/link.js +1 -1
  315. package/dist/components/hds/app-footer/link.js.map +1 -1
  316. package/dist/components/hds/app-footer/status-link.js +1 -1
  317. package/dist/components/hds/app-footer/status-link.js.map +1 -1
  318. package/dist/components/hds/app-footer/types.js +1 -1
  319. package/dist/components/hds/app-footer/types.js.map +1 -1
  320. package/dist/components/hds/app-frame/index.js +1 -1
  321. package/dist/components/hds/app-frame/index.js.map +1 -1
  322. package/dist/components/hds/app-frame/parts/footer.js +1 -1
  323. package/dist/components/hds/app-frame/parts/footer.js.map +1 -1
  324. package/dist/components/hds/app-frame/parts/header.js +1 -1
  325. package/dist/components/hds/app-frame/parts/header.js.map +1 -1
  326. package/dist/components/hds/app-frame/parts/main.js +1 -1
  327. package/dist/components/hds/app-frame/parts/main.js.map +1 -1
  328. package/dist/components/hds/app-frame/parts/modals.js +1 -1
  329. package/dist/components/hds/app-frame/parts/modals.js.map +1 -1
  330. package/dist/components/hds/app-frame/parts/sidebar.js +1 -1
  331. package/dist/components/hds/app-frame/parts/sidebar.js.map +1 -1
  332. package/dist/components/hds/app-header/home-link.js +1 -1
  333. package/dist/components/hds/app-header/home-link.js.map +1 -1
  334. package/dist/components/hds/app-header/index.js +1 -1
  335. package/dist/components/hds/app-header/index.js.map +1 -1
  336. package/dist/components/hds/app-header/menu-button.js +1 -1
  337. package/dist/components/hds/app-header/menu-button.js.map +1 -1
  338. package/dist/components/hds/app-side-nav/index.js +1 -1
  339. package/dist/components/hds/app-side-nav/index.js.map +1 -1
  340. package/dist/components/hds/app-side-nav/list/back-link.js +1 -1
  341. package/dist/components/hds/app-side-nav/list/back-link.js.map +1 -1
  342. package/dist/components/hds/app-side-nav/list/index.js +1 -1
  343. package/dist/components/hds/app-side-nav/list/index.js.map +1 -1
  344. package/dist/components/hds/app-side-nav/list/item.js +1 -1
  345. package/dist/components/hds/app-side-nav/list/item.js.map +1 -1
  346. package/dist/components/hds/app-side-nav/list/link.js +1 -1
  347. package/dist/components/hds/app-side-nav/list/link.js.map +1 -1
  348. package/dist/components/hds/app-side-nav/list/title.js +1 -1
  349. package/dist/components/hds/app-side-nav/list/title.js.map +1 -1
  350. package/dist/components/hds/app-side-nav/portal/index.js +1 -1
  351. package/dist/components/hds/app-side-nav/portal/index.js.map +1 -1
  352. package/dist/components/hds/app-side-nav/portal/target.js +1 -1
  353. package/dist/components/hds/app-side-nav/portal/target.js.map +1 -1
  354. package/dist/components/hds/app-side-nav/toggle-button.js +1 -1
  355. package/dist/components/hds/app-side-nav/toggle-button.js.map +1 -1
  356. package/dist/components/hds/application-state/body.js +1 -1
  357. package/dist/components/hds/application-state/body.js.map +1 -1
  358. package/dist/components/hds/application-state/footer.js +1 -1
  359. package/dist/components/hds/application-state/footer.js.map +1 -1
  360. package/dist/components/hds/application-state/header.js +1 -1
  361. package/dist/components/hds/application-state/header.js.map +1 -1
  362. package/dist/components/hds/application-state/index.js +1 -1
  363. package/dist/components/hds/application-state/index.js.map +1 -1
  364. package/dist/components/hds/application-state/media.js +1 -1
  365. package/dist/components/hds/application-state/media.js.map +1 -1
  366. package/dist/components/hds/badge/index.js +1 -1
  367. package/dist/components/hds/badge/index.js.map +1 -1
  368. package/dist/components/hds/badge-count/index.js +1 -1
  369. package/dist/components/hds/badge-count/index.js.map +1 -1
  370. package/dist/components/hds/breadcrumb/index.js +1 -1
  371. package/dist/components/hds/breadcrumb/index.js.map +1 -1
  372. package/dist/components/hds/breadcrumb/item.js +1 -1
  373. package/dist/components/hds/breadcrumb/item.js.map +1 -1
  374. package/dist/components/hds/breadcrumb/truncation.js +1 -1
  375. package/dist/components/hds/breadcrumb/truncation.js.map +1 -1
  376. package/dist/components/hds/button/index.js +9 -2
  377. package/dist/components/hds/button/index.js.map +1 -1
  378. package/dist/components/hds/button-set/index.js +1 -1
  379. package/dist/components/hds/button-set/index.js.map +1 -1
  380. package/dist/components/hds/card/container.js +1 -1
  381. package/dist/components/hds/card/container.js.map +1 -1
  382. package/dist/components/hds/code-block/copy-button.js +1 -1
  383. package/dist/components/hds/code-block/copy-button.js.map +1 -1
  384. package/dist/components/hds/code-block/description.js +1 -1
  385. package/dist/components/hds/code-block/description.js.map +1 -1
  386. package/dist/components/hds/code-block/index.js +1 -1
  387. package/dist/components/hds/code-block/index.js.map +1 -1
  388. package/dist/components/hds/code-block/title.js +1 -1
  389. package/dist/components/hds/code-block/title.js.map +1 -1
  390. package/dist/components/hds/code-editor/description.js +1 -1
  391. package/dist/components/hds/code-editor/description.js.map +1 -1
  392. package/dist/components/hds/code-editor/full-screen-button.js +1 -1
  393. package/dist/components/hds/code-editor/full-screen-button.js.map +1 -1
  394. package/dist/components/hds/code-editor/generic.js +1 -1
  395. package/dist/components/hds/code-editor/generic.js.map +1 -1
  396. package/dist/components/hds/code-editor/index.js +1 -1
  397. package/dist/components/hds/code-editor/index.js.map +1 -1
  398. package/dist/components/hds/code-editor/title.js +1 -1
  399. package/dist/components/hds/code-editor/title.js.map +1 -1
  400. package/dist/components/hds/composite/index.js +4 -0
  401. package/dist/components/hds/composite/index.js.map +1 -1
  402. package/dist/components/hds/composite/navigation.js +5 -0
  403. package/dist/components/hds/composite/navigation.js.map +1 -1
  404. package/dist/components/hds/copy/button/index.js +1 -1
  405. package/dist/components/hds/copy/button/index.js.map +1 -1
  406. package/dist/components/hds/copy/snippet/index.js +1 -1
  407. package/dist/components/hds/copy/snippet/index.js.map +1 -1
  408. package/dist/components/hds/dialog-primitive/body.js +1 -1
  409. package/dist/components/hds/dialog-primitive/body.js.map +1 -1
  410. package/dist/components/hds/dialog-primitive/description.js +1 -1
  411. package/dist/components/hds/dialog-primitive/description.js.map +1 -1
  412. package/dist/components/hds/dialog-primitive/footer.js +1 -1
  413. package/dist/components/hds/dialog-primitive/footer.js.map +1 -1
  414. package/dist/components/hds/dialog-primitive/header.js +2 -6
  415. package/dist/components/hds/dialog-primitive/header.js.map +1 -1
  416. package/dist/components/hds/dialog-primitive/overlay.js +1 -1
  417. package/dist/components/hds/dialog-primitive/overlay.js.map +1 -1
  418. package/dist/components/hds/dialog-primitive/wrapper.js +1 -1
  419. package/dist/components/hds/dialog-primitive/wrapper.js.map +1 -1
  420. package/dist/components/hds/disclosure-primitive/index.js +1 -1
  421. package/dist/components/hds/disclosure-primitive/index.js.map +1 -1
  422. package/dist/components/hds/dismiss-button/index.js +1 -1
  423. package/dist/components/hds/dismiss-button/index.js.map +1 -1
  424. package/dist/components/hds/dropdown/footer.js +1 -1
  425. package/dist/components/hds/dropdown/footer.js.map +1 -1
  426. package/dist/components/hds/dropdown/header.js +1 -1
  427. package/dist/components/hds/dropdown/header.js.map +1 -1
  428. package/dist/components/hds/dropdown/index.js +1 -1
  429. package/dist/components/hds/dropdown/index.js.map +1 -1
  430. package/dist/components/hds/dropdown/list-item/checkbox.js +1 -1
  431. package/dist/components/hds/dropdown/list-item/checkbox.js.map +1 -1
  432. package/dist/components/hds/dropdown/list-item/checkmark.js +1 -1
  433. package/dist/components/hds/dropdown/list-item/checkmark.js.map +1 -1
  434. package/dist/components/hds/dropdown/list-item/copy-item.js +1 -1
  435. package/dist/components/hds/dropdown/list-item/copy-item.js.map +1 -1
  436. package/dist/components/hds/dropdown/list-item/description.js +1 -1
  437. package/dist/components/hds/dropdown/list-item/description.js.map +1 -1
  438. package/dist/components/hds/dropdown/list-item/generic.js +1 -1
  439. package/dist/components/hds/dropdown/list-item/generic.js.map +1 -1
  440. package/dist/components/hds/dropdown/list-item/interactive.js +1 -1
  441. package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -1
  442. package/dist/components/hds/dropdown/list-item/radio.js +1 -1
  443. package/dist/components/hds/dropdown/list-item/radio.js.map +1 -1
  444. package/dist/components/hds/dropdown/list-item/separator.js +1 -1
  445. package/dist/components/hds/dropdown/list-item/separator.js.map +1 -1
  446. package/dist/components/hds/dropdown/list-item/title.js +1 -1
  447. package/dist/components/hds/dropdown/list-item/title.js.map +1 -1
  448. package/dist/components/hds/dropdown/toggle/button.js +1 -1
  449. package/dist/components/hds/dropdown/toggle/button.js.map +1 -1
  450. package/dist/components/hds/dropdown/toggle/chevron.js +1 -1
  451. package/dist/components/hds/dropdown/toggle/chevron.js.map +1 -1
  452. package/dist/components/hds/dropdown/toggle/icon.js +1 -1
  453. package/dist/components/hds/dropdown/toggle/icon.js.map +1 -1
  454. package/dist/components/hds/filter-bar/actions-dropdown.js +1 -1
  455. package/dist/components/hds/filter-bar/actions-dropdown.js.map +1 -1
  456. package/dist/components/hds/filter-bar/applied-filters.js +1 -1
  457. package/dist/components/hds/filter-bar/applied-filters.js.map +1 -1
  458. package/dist/components/hds/filter-bar/filter-group/checkbox.js +1 -1
  459. package/dist/components/hds/filter-bar/filter-group/checkbox.js.map +1 -1
  460. package/dist/components/hds/filter-bar/filter-group/clear-button.js +1 -1
  461. package/dist/components/hds/filter-bar/filter-group/clear-button.js.map +1 -1
  462. package/dist/components/hds/filter-bar/filter-group/date.js +1 -1
  463. package/dist/components/hds/filter-bar/filter-group/date.js.map +1 -1
  464. package/dist/components/hds/filter-bar/filter-group/generic.js +1 -1
  465. package/dist/components/hds/filter-bar/filter-group/generic.js.map +1 -1
  466. package/dist/components/hds/filter-bar/filter-group/index.js +1 -1
  467. package/dist/components/hds/filter-bar/filter-group/index.js.map +1 -1
  468. package/dist/components/hds/filter-bar/filter-group/numerical.js +1 -1
  469. package/dist/components/hds/filter-bar/filter-group/numerical.js.map +1 -1
  470. package/dist/components/hds/filter-bar/filter-group/radio.js +1 -1
  471. package/dist/components/hds/filter-bar/filter-group/radio.js.map +1 -1
  472. package/dist/components/hds/filter-bar/filters-dropdown.js +1 -1
  473. package/dist/components/hds/filter-bar/filters-dropdown.js.map +1 -1
  474. package/dist/components/hds/filter-bar/index.js +1 -1
  475. package/dist/components/hds/filter-bar/index.js.map +1 -1
  476. package/dist/components/hds/filter-bar/tabs/index.js +1 -1
  477. package/dist/components/hds/filter-bar/tabs/index.js.map +1 -1
  478. package/dist/components/hds/filter-bar/tabs/panel.js +1 -1
  479. package/dist/components/hds/filter-bar/tabs/panel.js.map +1 -1
  480. package/dist/components/hds/filter-bar/tabs/tab.js +1 -1
  481. package/dist/components/hds/filter-bar/tabs/tab.js.map +1 -1
  482. package/dist/components/hds/filter-bar/types.js +1 -1
  483. package/dist/components/hds/filter-bar/types.js.map +1 -1
  484. package/dist/components/hds/flyout/index.js +1 -1
  485. package/dist/components/hds/flyout/index.js.map +1 -1
  486. package/dist/components/hds/form/character-count/index.js +1 -1
  487. package/dist/components/hds/form/character-count/index.js.map +1 -1
  488. package/dist/components/hds/form/checkbox/base.js +1 -1
  489. package/dist/components/hds/form/checkbox/base.js.map +1 -1
  490. package/dist/components/hds/form/checkbox/field.js +1 -1
  491. package/dist/components/hds/form/checkbox/field.js.map +1 -1
  492. package/dist/components/hds/form/checkbox/group.js +1 -1
  493. package/dist/components/hds/form/checkbox/group.js.map +1 -1
  494. package/dist/components/hds/form/error/index.js +1 -1
  495. package/dist/components/hds/form/error/index.js.map +1 -1
  496. package/dist/components/hds/form/error/message.js +1 -1
  497. package/dist/components/hds/form/error/message.js.map +1 -1
  498. package/dist/components/hds/form/field/index.js +1 -1
  499. package/dist/components/hds/form/field/index.js.map +1 -1
  500. package/dist/components/hds/form/fieldset/index.js +1 -1
  501. package/dist/components/hds/form/fieldset/index.js.map +1 -1
  502. package/dist/components/hds/form/file-input/base.js +1 -1
  503. package/dist/components/hds/form/file-input/base.js.map +1 -1
  504. package/dist/components/hds/form/file-input/field.js +1 -1
  505. package/dist/components/hds/form/file-input/field.js.map +1 -1
  506. package/dist/components/hds/form/footer/index.js +1 -1
  507. package/dist/components/hds/form/footer/index.js.map +1 -1
  508. package/dist/components/hds/form/header/description.js +1 -1
  509. package/dist/components/hds/form/header/description.js.map +1 -1
  510. package/dist/components/hds/form/header/index.js +1 -1
  511. package/dist/components/hds/form/header/index.js.map +1 -1
  512. package/dist/components/hds/form/header/title.js +1 -1
  513. package/dist/components/hds/form/header/title.js.map +1 -1
  514. package/dist/components/hds/form/helper-text/index.js +1 -1
  515. package/dist/components/hds/form/helper-text/index.js.map +1 -1
  516. package/dist/components/hds/form/index.js +1 -1
  517. package/dist/components/hds/form/index.js.map +1 -1
  518. package/dist/components/hds/form/indicator/index.js +1 -1
  519. package/dist/components/hds/form/indicator/index.js.map +1 -1
  520. package/dist/components/hds/form/key-value-inputs/add-row-button.js +1 -1
  521. package/dist/components/hds/form/key-value-inputs/add-row-button.js.map +1 -1
  522. package/dist/components/hds/form/key-value-inputs/delete-row-button.js +1 -1
  523. package/dist/components/hds/form/key-value-inputs/delete-row-button.js.map +1 -1
  524. package/dist/components/hds/form/key-value-inputs/field.js +1 -1
  525. package/dist/components/hds/form/key-value-inputs/field.js.map +1 -1
  526. package/dist/components/hds/form/key-value-inputs/generic.js +1 -1
  527. package/dist/components/hds/form/key-value-inputs/generic.js.map +1 -1
  528. package/dist/components/hds/form/key-value-inputs/index.js +1 -1
  529. package/dist/components/hds/form/key-value-inputs/index.js.map +1 -1
  530. package/dist/components/hds/form/label/index.js +1 -1
  531. package/dist/components/hds/form/label/index.js.map +1 -1
  532. package/dist/components/hds/form/legend/index.js +1 -1
  533. package/dist/components/hds/form/legend/index.js.map +1 -1
  534. package/dist/components/hds/form/masked-input/base.js +1 -1
  535. package/dist/components/hds/form/masked-input/base.js.map +1 -1
  536. package/dist/components/hds/form/masked-input/field.js +1 -1
  537. package/dist/components/hds/form/masked-input/field.js.map +1 -1
  538. package/dist/components/hds/form/radio/base.js +1 -1
  539. package/dist/components/hds/form/radio/base.js.map +1 -1
  540. package/dist/components/hds/form/radio/field.js +1 -1
  541. package/dist/components/hds/form/radio/field.js.map +1 -1
  542. package/dist/components/hds/form/radio/group.js +1 -1
  543. package/dist/components/hds/form/radio/group.js.map +1 -1
  544. package/dist/components/hds/form/radio-card/description.js +1 -1
  545. package/dist/components/hds/form/radio-card/description.js.map +1 -1
  546. package/dist/components/hds/form/radio-card/group.js +1 -1
  547. package/dist/components/hds/form/radio-card/group.js.map +1 -1
  548. package/dist/components/hds/form/radio-card/index.js +1 -1
  549. package/dist/components/hds/form/radio-card/index.js.map +1 -1
  550. package/dist/components/hds/form/radio-card/label.js +1 -1
  551. package/dist/components/hds/form/radio-card/label.js.map +1 -1
  552. package/dist/components/hds/form/section/header.js +1 -1
  553. package/dist/components/hds/form/section/header.js.map +1 -1
  554. package/dist/components/hds/form/section/index.js +1 -1
  555. package/dist/components/hds/form/section/index.js.map +1 -1
  556. package/dist/components/hds/form/section/multi-field-group/index.js +1 -1
  557. package/dist/components/hds/form/section/multi-field-group/index.js.map +1 -1
  558. package/dist/components/hds/form/section/multi-field-group/item.js +1 -1
  559. package/dist/components/hds/form/section/multi-field-group/item.js.map +1 -1
  560. package/dist/components/hds/form/select/base.js +1 -1
  561. package/dist/components/hds/form/select/base.js.map +1 -1
  562. package/dist/components/hds/form/select/field.js +1 -1
  563. package/dist/components/hds/form/select/field.js.map +1 -1
  564. package/dist/components/hds/form/separator/index.js +1 -1
  565. package/dist/components/hds/form/separator/index.js.map +1 -1
  566. package/dist/components/hds/form/super-select/after-options.js +1 -1
  567. package/dist/components/hds/form/super-select/after-options.js.map +1 -1
  568. package/dist/components/hds/form/super-select/multiple/base.js +1 -1
  569. package/dist/components/hds/form/super-select/multiple/base.js.map +1 -1
  570. package/dist/components/hds/form/super-select/multiple/field.js +1 -1
  571. package/dist/components/hds/form/super-select/multiple/field.js.map +1 -1
  572. package/dist/components/hds/form/super-select/option-group.js +1 -1
  573. package/dist/components/hds/form/super-select/option-group.js.map +1 -1
  574. package/dist/components/hds/form/super-select/placeholder.js +1 -1
  575. package/dist/components/hds/form/super-select/placeholder.js.map +1 -1
  576. package/dist/components/hds/form/super-select/single/base.js +1 -1
  577. package/dist/components/hds/form/super-select/single/base.js.map +1 -1
  578. package/dist/components/hds/form/super-select/single/field.js +1 -1
  579. package/dist/components/hds/form/super-select/single/field.js.map +1 -1
  580. package/dist/components/hds/form/text-input/base.js +1 -1
  581. package/dist/components/hds/form/text-input/base.js.map +1 -1
  582. package/dist/components/hds/form/text-input/field.js +1 -1
  583. package/dist/components/hds/form/text-input/field.js.map +1 -1
  584. package/dist/components/hds/form/textarea/base.js +1 -1
  585. package/dist/components/hds/form/textarea/base.js.map +1 -1
  586. package/dist/components/hds/form/textarea/field.js +1 -1
  587. package/dist/components/hds/form/textarea/field.js.map +1 -1
  588. package/dist/components/hds/form/toggle/base.js +1 -1
  589. package/dist/components/hds/form/toggle/base.js.map +1 -1
  590. package/dist/components/hds/form/toggle/field.js +1 -1
  591. package/dist/components/hds/form/toggle/field.js.map +1 -1
  592. package/dist/components/hds/form/toggle/group.js +1 -1
  593. package/dist/components/hds/form/toggle/group.js.map +1 -1
  594. package/dist/components/hds/form/visibility-toggle/index.js +1 -1
  595. package/dist/components/hds/form/visibility-toggle/index.js.map +1 -1
  596. package/dist/components/hds/icon/index.js +46 -11
  597. package/dist/components/hds/icon/index.js.map +1 -1
  598. package/dist/components/hds/icon/types.js +6 -1
  599. package/dist/components/hds/icon/types.js.map +1 -1
  600. package/dist/components/hds/icon-tile/index.js +2 -3
  601. package/dist/components/hds/icon-tile/index.js.map +1 -1
  602. package/dist/components/hds/interactive/index.js +1 -1
  603. package/dist/components/hds/interactive/index.js.map +1 -1
  604. package/dist/components/hds/layout/flex/index.js +1 -1
  605. package/dist/components/hds/layout/flex/index.js.map +1 -1
  606. package/dist/components/hds/layout/flex/item.js +1 -1
  607. package/dist/components/hds/layout/flex/item.js.map +1 -1
  608. package/dist/components/hds/layout/grid/index.js +1 -1
  609. package/dist/components/hds/layout/grid/index.js.map +1 -1
  610. package/dist/components/hds/layout/grid/item.js +1 -1
  611. package/dist/components/hds/layout/grid/item.js.map +1 -1
  612. package/dist/components/hds/link/inline.js +1 -1
  613. package/dist/components/hds/link/inline.js.map +1 -1
  614. package/dist/components/hds/link/standalone.js +1 -1
  615. package/dist/components/hds/link/standalone.js.map +1 -1
  616. package/dist/components/hds/modal/index.js +1 -1
  617. package/dist/components/hds/modal/index.js.map +1 -1
  618. package/dist/components/hds/page-header/actions.js +1 -1
  619. package/dist/components/hds/page-header/actions.js.map +1 -1
  620. package/dist/components/hds/page-header/badges.js +1 -1
  621. package/dist/components/hds/page-header/badges.js.map +1 -1
  622. package/dist/components/hds/page-header/description.js +1 -1
  623. package/dist/components/hds/page-header/description.js.map +1 -1
  624. package/dist/components/hds/page-header/index.js +1 -1
  625. package/dist/components/hds/page-header/index.js.map +1 -1
  626. package/dist/components/hds/page-header/subtitle.js +1 -1
  627. package/dist/components/hds/page-header/subtitle.js.map +1 -1
  628. package/dist/components/hds/page-header/title.js +1 -1
  629. package/dist/components/hds/page-header/title.js.map +1 -1
  630. package/dist/components/hds/pagination/compact/index.js +2 -2
  631. package/dist/components/hds/pagination/compact/index.js.map +1 -1
  632. package/dist/components/hds/pagination/info/index.js +1 -1
  633. package/dist/components/hds/pagination/info/index.js.map +1 -1
  634. package/dist/components/hds/pagination/nav/arrow.js +1 -1
  635. package/dist/components/hds/pagination/nav/arrow.js.map +1 -1
  636. package/dist/components/hds/pagination/nav/ellipsis.js +1 -1
  637. package/dist/components/hds/pagination/nav/ellipsis.js.map +1 -1
  638. package/dist/components/hds/pagination/nav/number.js +2 -2
  639. package/dist/components/hds/pagination/nav/number.js.map +1 -1
  640. package/dist/components/hds/pagination/numbered/index.js +2 -2
  641. package/dist/components/hds/pagination/numbered/index.js.map +1 -1
  642. package/dist/components/hds/pagination/size-selector/index.js +2 -2
  643. package/dist/components/hds/pagination/size-selector/index.js.map +1 -1
  644. package/dist/components/hds/pagination/types.js +1 -1
  645. package/dist/components/hds/pagination/types.js.map +1 -1
  646. package/dist/components/hds/popover-primitive/index.js +1 -1
  647. package/dist/components/hds/popover-primitive/index.js.map +1 -1
  648. package/dist/components/hds/reveal/index.js +1 -1
  649. package/dist/components/hds/reveal/index.js.map +1 -1
  650. package/dist/components/hds/reveal/toggle/button.js +1 -1
  651. package/dist/components/hds/reveal/toggle/button.js.map +1 -1
  652. package/dist/components/hds/rich-tooltip/bubble.js +1 -1
  653. package/dist/components/hds/rich-tooltip/bubble.js.map +1 -1
  654. package/dist/components/hds/rich-tooltip/index.js +1 -1
  655. package/dist/components/hds/rich-tooltip/index.js.map +1 -1
  656. package/dist/components/hds/rich-tooltip/toggle.js +1 -1
  657. package/dist/components/hds/rich-tooltip/toggle.js.map +1 -1
  658. package/dist/components/hds/segmented-group/index.js +1 -1
  659. package/dist/components/hds/segmented-group/index.js.map +1 -1
  660. package/dist/components/hds/separator/index.js +1 -1
  661. package/dist/components/hds/separator/index.js.map +1 -1
  662. package/dist/components/hds/stepper/list/index.js +1 -1
  663. package/dist/components/hds/stepper/list/index.js.map +1 -1
  664. package/dist/components/hds/stepper/list/step.js +1 -1
  665. package/dist/components/hds/stepper/list/step.js.map +1 -1
  666. package/dist/components/hds/stepper/nav/index.js +1 -1
  667. package/dist/components/hds/stepper/nav/index.js.map +1 -1
  668. package/dist/components/hds/stepper/nav/panel.js +1 -1
  669. package/dist/components/hds/stepper/nav/panel.js.map +1 -1
  670. package/dist/components/hds/stepper/nav/step.js +1 -1
  671. package/dist/components/hds/stepper/nav/step.js.map +1 -1
  672. package/dist/components/hds/stepper/step/indicator.js +1 -1
  673. package/dist/components/hds/stepper/step/indicator.js.map +1 -1
  674. package/dist/components/hds/stepper/task/indicator.js +1 -1
  675. package/dist/components/hds/stepper/task/indicator.js.map +1 -1
  676. package/dist/components/hds/stepper/types.js +1 -1
  677. package/dist/components/hds/stepper/types.js.map +1 -1
  678. package/dist/components/hds/table/index.js +1 -1
  679. package/dist/components/hds/table/index.js.map +1 -1
  680. package/dist/components/hds/table/td.js +1 -1
  681. package/dist/components/hds/table/td.js.map +1 -1
  682. package/dist/components/hds/table/th-button-sort.js +1 -1
  683. package/dist/components/hds/table/th-button-sort.js.map +1 -1
  684. package/dist/components/hds/table/th-button-tooltip.js +1 -1
  685. package/dist/components/hds/table/th-button-tooltip.js.map +1 -1
  686. package/dist/components/hds/table/th-selectable.js +1 -1
  687. package/dist/components/hds/table/th-selectable.js.map +1 -1
  688. package/dist/components/hds/table/th-sort.js +1 -1
  689. package/dist/components/hds/table/th-sort.js.map +1 -1
  690. package/dist/components/hds/table/th.js +1 -1
  691. package/dist/components/hds/table/th.js.map +1 -1
  692. package/dist/components/hds/table/tr.js +1 -1
  693. package/dist/components/hds/table/tr.js.map +1 -1
  694. package/dist/components/hds/table/types.js +1 -1
  695. package/dist/components/hds/table/types.js.map +1 -1
  696. package/dist/components/hds/tabs/index.js +1 -1
  697. package/dist/components/hds/tabs/index.js.map +1 -1
  698. package/dist/components/hds/tabs/panel.js +1 -1
  699. package/dist/components/hds/tabs/panel.js.map +1 -1
  700. package/dist/components/hds/tabs/tab.js +1 -1
  701. package/dist/components/hds/tabs/tab.js.map +1 -1
  702. package/dist/components/hds/tag/index.js +10 -1
  703. package/dist/components/hds/tag/index.js.map +1 -1
  704. package/dist/components/hds/text/body.js +1 -1
  705. package/dist/components/hds/text/body.js.map +1 -1
  706. package/dist/components/hds/text/code.js +1 -1
  707. package/dist/components/hds/text/code.js.map +1 -1
  708. package/dist/components/hds/text/display.js +1 -1
  709. package/dist/components/hds/text/display.js.map +1 -1
  710. package/dist/components/hds/text/index.js +1 -1
  711. package/dist/components/hds/text/index.js.map +1 -1
  712. package/dist/components/hds/theme-context/index.js +44 -0
  713. package/dist/components/hds/theme-context/index.js.map +1 -0
  714. package/dist/components/hds/theme-context/types.js +27 -0
  715. package/dist/components/hds/theme-context/types.js.map +1 -0
  716. package/dist/components/hds/theme-switcher/index.js +107 -0
  717. package/dist/components/hds/theme-switcher/index.js.map +1 -0
  718. package/dist/components/hds/time/index.js +1 -1
  719. package/dist/components/hds/time/index.js.map +1 -1
  720. package/dist/components/hds/time/range.js +1 -1
  721. package/dist/components/hds/time/range.js.map +1 -1
  722. package/dist/components/hds/time/single.js +1 -1
  723. package/dist/components/hds/time/single.js.map +1 -1
  724. package/dist/components/hds/toast/index.js +1 -1
  725. package/dist/components/hds/toast/index.js.map +1 -1
  726. package/dist/components/hds/tooltip-button/index.js +1 -1
  727. package/dist/components/hds/tooltip-button/index.js.map +1 -1
  728. package/dist/components/hds/yield/index.js +1 -1
  729. package/dist/components/hds/yield/index.js.map +1 -1
  730. package/dist/components.js +4 -2
  731. package/dist/components.js.map +1 -1
  732. package/dist/helpers/hds-t.js +1 -1
  733. package/dist/helpers/hds-t.js.map +1 -1
  734. package/dist/{index-B9OqWZ9U.js → index-DtMB-P9m.js} +7 -7
  735. package/dist/{index-B9OqWZ9U.js.map → index-DtMB-P9m.js.map} +1 -1
  736. package/dist/instance-initializers/load-sprite-empty.js +45 -0
  737. package/dist/instance-initializers/load-sprite-empty.js.map +1 -0
  738. package/dist/modifiers/hds-advanced-table-cell/dom-management.js +1 -1
  739. package/dist/modifiers/hds-advanced-table-cell/dom-management.js.map +1 -1
  740. package/dist/modifiers/hds-advanced-table-cell.js +1 -1
  741. package/dist/modifiers/hds-advanced-table-cell.js.map +1 -1
  742. package/dist/modifiers/hds-code-editor/highlight-styles/hds-highlight-style.js +107 -0
  743. package/dist/modifiers/hds-code-editor/highlight-styles/hds-highlight-style.js.map +1 -0
  744. package/dist/modifiers/hds-code-editor/themes/{hds-dark-theme.js → hds-theme.js} +41 -40
  745. package/dist/modifiers/hds-code-editor/themes/hds-theme.js.map +1 -0
  746. package/dist/modifiers/hds-code-editor.js +4 -4
  747. package/dist/modifiers/hds-code-editor.js.map +1 -1
  748. package/dist/modifiers/hds-scroll-into-view-on-focus.js +1 -1
  749. package/dist/modifiers/hds-scroll-into-view-on-focus.js.map +1 -1
  750. package/dist/modifiers/hds-tooltip.js +2 -5
  751. package/dist/modifiers/hds-tooltip.js.map +1 -1
  752. package/dist/public/assets/fonts/LICENSE.txt +93 -0
  753. package/dist/public/assets/fonts/complete/woff2/IBMPlexMono-Italic.woff2 +0 -0
  754. package/dist/public/assets/fonts/complete/woff2/IBMPlexMono-Regular.woff2 +0 -0
  755. package/dist/public/assets/fonts/complete/woff2/IBMPlexMono-SemiBold.woff2 +0 -0
  756. package/dist/public/assets/fonts/complete/woff2/IBMPlexMono-SemiBoldItalic.woff2 +0 -0
  757. package/dist/public/assets/fonts/complete/woff2/IBMPlexSans-Italic.woff2 +0 -0
  758. package/dist/public/assets/fonts/complete/woff2/IBMPlexSans-Regular.woff2 +0 -0
  759. package/dist/public/assets/fonts/complete/woff2/IBMPlexSans-SemiBold.woff2 +0 -0
  760. package/dist/public/assets/fonts/complete/woff2/IBMPlexSans-SemiBoldItalic.woff2 +0 -0
  761. package/dist/public/assets/fonts/split/woff2/IBMPlexMono-Italic-Cyrillic.woff2 +0 -0
  762. package/dist/public/assets/fonts/split/woff2/IBMPlexMono-Italic-Latin1.woff2 +0 -0
  763. package/dist/public/assets/fonts/split/woff2/IBMPlexMono-Italic-Latin2.woff2 +0 -0
  764. package/dist/public/assets/fonts/split/woff2/IBMPlexMono-Italic-Latin3.woff2 +0 -0
  765. package/dist/public/assets/fonts/split/woff2/IBMPlexMono-Italic-Pi.woff2 +0 -0
  766. package/dist/public/assets/fonts/split/woff2/IBMPlexMono-Regular-Cyrillic.woff2 +0 -0
  767. package/dist/public/assets/fonts/split/woff2/IBMPlexMono-Regular-Latin1.woff2 +0 -0
  768. package/dist/public/assets/fonts/split/woff2/IBMPlexMono-Regular-Latin2.woff2 +0 -0
  769. package/dist/public/assets/fonts/split/woff2/IBMPlexMono-Regular-Latin3.woff2 +0 -0
  770. package/dist/public/assets/fonts/split/woff2/IBMPlexMono-Regular-Pi.woff2 +0 -0
  771. package/dist/public/assets/fonts/split/woff2/IBMPlexMono-SemiBold-Cyrillic.woff2 +0 -0
  772. package/dist/public/assets/fonts/split/woff2/IBMPlexMono-SemiBold-Latin1.woff2 +0 -0
  773. package/dist/public/assets/fonts/split/woff2/IBMPlexMono-SemiBold-Latin2.woff2 +0 -0
  774. package/dist/public/assets/fonts/split/woff2/IBMPlexMono-SemiBold-Latin3.woff2 +0 -0
  775. package/dist/public/assets/fonts/split/woff2/IBMPlexMono-SemiBold-Pi.woff2 +0 -0
  776. package/dist/public/assets/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Cyrillic.woff2 +0 -0
  777. package/dist/public/assets/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Latin1.woff2 +0 -0
  778. package/dist/public/assets/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Latin2.woff2 +0 -0
  779. package/dist/public/assets/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Latin3.woff2 +0 -0
  780. package/dist/public/assets/fonts/split/woff2/IBMPlexMono-SemiBoldItalic-Pi.woff2 +0 -0
  781. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-Italic-Cyrillic.woff2 +0 -0
  782. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-Italic-Greek.woff2 +0 -0
  783. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-Italic-Latin1.woff2 +0 -0
  784. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-Italic-Latin2.woff2 +0 -0
  785. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-Italic-Latin3.woff2 +0 -0
  786. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-Italic-Pi.woff2 +0 -0
  787. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-Regular-Cyrillic.woff2 +0 -0
  788. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-Regular-Greek.woff2 +0 -0
  789. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-Regular-Latin1.woff2 +0 -0
  790. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-Regular-Latin2.woff2 +0 -0
  791. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-Regular-Latin3.woff2 +0 -0
  792. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-Regular-Pi.woff2 +0 -0
  793. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBold-Cyrillic.woff2 +0 -0
  794. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBold-Greek.woff2 +0 -0
  795. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBold-Latin1.woff2 +0 -0
  796. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBold-Latin2.woff2 +0 -0
  797. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBold-Latin3.woff2 +0 -0
  798. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBold-Pi.woff2 +0 -0
  799. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Cyrillic.woff2 +0 -0
  800. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Greek.woff2 +0 -0
  801. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Latin1.woff2 +0 -0
  802. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Latin2.woff2 +0 -0
  803. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Latin3.woff2 +0 -0
  804. package/dist/public/assets/fonts/split/woff2/IBMPlexSans-SemiBoldItalic-Pi.woff2 +0 -0
  805. package/dist/services/hds-icon-registry.js +436 -0
  806. package/dist/services/hds-icon-registry.js.map +1 -0
  807. package/dist/services/hds-intl.js +1 -1
  808. package/dist/services/hds-intl.js.map +1 -1
  809. package/dist/services/hds-theming.js +150 -0
  810. package/dist/services/hds-theming.js.map +1 -0
  811. package/dist/services.js +1 -1
  812. package/dist/styles/@hashicorp/design-system-components-common.css +10170 -0
  813. package/dist/styles/@hashicorp/design-system-components-common.css.map +1 -0
  814. package/dist/styles/@hashicorp/design-system-components-common.scss +1 -1
  815. package/dist/styles/@hashicorp/design-system-components.css +2083 -896
  816. package/dist/styles/@hashicorp/design-system-components.css.map +1 -1
  817. package/dist/styles/@hashicorp/design-system-components.scss +1 -1
  818. package/dist/styles/@hashicorp/design-system-ember-a11y-refocus.scss +5 -0
  819. package/dist/styles/@hashicorp/design-system-plex-fonts.css +362 -0
  820. package/dist/styles/@hashicorp/design-system-plex-fonts.css.map +1 -0
  821. package/dist/styles/@hashicorp/design-system-plex-fonts.scss +62 -0
  822. package/dist/styles/@hashicorp/design-system-power-select-overrides.css +3 -3
  823. package/dist/styles/@hashicorp/design-system-power-select-overrides.scss +3 -3
  824. package/dist/styles/components/advanced-table.scss +1 -1
  825. package/dist/styles/components/alert.scss +73 -94
  826. package/dist/styles/components/app-footer.scss +6 -4
  827. package/dist/styles/components/app-header.scss +134 -15
  828. package/dist/styles/components/app-side-nav/content.scss +30 -15
  829. package/dist/styles/components/app-side-nav/main.scss +2 -2
  830. package/dist/styles/components/app-side-nav/toggle-button.scss +17 -9
  831. package/dist/styles/components/app-side-nav/vars.scss +1 -1
  832. package/dist/styles/components/badge-count.scss +27 -76
  833. package/dist/styles/components/badge.scss +32 -131
  834. package/dist/styles/components/breadcrumb.scss +108 -21
  835. package/dist/styles/components/button.scss +5 -0
  836. package/dist/styles/components/card/container.scss +10 -5
  837. package/dist/styles/components/code-block/index.scss +54 -33
  838. package/dist/styles/components/code-block/theme.scss +44 -90
  839. package/dist/styles/components/code-editor/index.scss +43 -23
  840. package/dist/styles/components/copy/button.scss +17 -3
  841. package/dist/styles/components/copy/snippet.scss +17 -0
  842. package/dist/styles/components/dialog-primitive.scss +50 -10
  843. package/dist/styles/components/dismiss-button.scss +19 -14
  844. package/dist/styles/components/dropdown.scss +145 -43
  845. package/dist/styles/components/filter-bar.scss +1 -1
  846. package/dist/styles/components/flyout.scss +2 -5
  847. package/dist/styles/components/form/file-input.scss +2 -2
  848. package/dist/styles/components/form/key-value-inputs.scss +2 -4
  849. package/dist/styles/components/form/radio-card.scss +1 -1
  850. package/dist/styles/components/form/select.scss +1 -1
  851. package/dist/styles/components/form/super-select.scss +6 -6
  852. package/dist/styles/components/form/text-input.scss +2 -2
  853. package/dist/styles/components/form/textarea.scss +2 -2
  854. package/dist/styles/components/icon-tile.scss +18 -11
  855. package/dist/styles/components/index.scss +2 -1
  856. package/dist/styles/components/layout/grid.scss +1 -1
  857. package/dist/styles/components/link/inline.scss +10 -4
  858. package/dist/styles/components/link/standalone.scss +17 -80
  859. package/dist/styles/components/modal.scss +14 -10
  860. package/dist/styles/components/pagination.scss +104 -8
  861. package/dist/styles/components/reveal.scss +28 -0
  862. package/dist/styles/components/rich-tooltip.scss +53 -22
  863. package/dist/styles/components/tabs.scss +45 -8
  864. package/dist/styles/components/tag.scss +96 -34
  865. package/dist/styles/components/theme-context.scss +12 -0
  866. package/dist/styles/components/tooltip.scss +56 -26
  867. package/dist/styles/mixins/_button.scss +84 -130
  868. package/dist/styles/mixins/_carbonization.scss +43 -0
  869. package/dist/styles/mixins/_focus-ring.scss +2 -2
  870. package/dist/utils/hds-aria-described-by.js +1 -1
  871. package/dist/utils/hds-aria-described-by.js.map +1 -1
  872. package/dist/utils/hds-link-to-external.js +5 -0
  873. package/dist/utils/hds-link-to-external.js.map +1 -1
  874. package/package.json +67 -6
  875. package/declarations/modifiers/hds-code-editor/palettes/hds-dark-palette.d.ts +0 -21
  876. package/declarations/modifiers/hds-code-editor/themes/hds-dark-theme.d.ts +0 -6
  877. package/dist/_app_/modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.js +0 -1
  878. package/dist/modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.js +0 -108
  879. package/dist/modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.js.map +0 -1
  880. package/dist/modifiers/hds-code-editor/palettes/hds-dark-palette.js +0 -25
  881. package/dist/modifiers/hds-code-editor/palettes/hds-dark-palette.js.map +0 -1
  882. package/dist/modifiers/hds-code-editor/themes/hds-dark-theme.js.map +0 -1
  883. package/dist/styles/components/code-editor/theme.scss +0 -23
  884. package/dist/styles/mixins/_interactive-dark-theme.scss +0 -109
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/hds/stepper/list/index.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { schedule } from '@ember/runloop';\nimport { hash } from '@ember/helper';\n\nimport type { WithBoundArgs } from '@glint/template';\n\nimport { HdsStepperTitleTagValues } from '../types.ts';\nimport HdsStepperListStep from './step.gts';\n\nimport type { HdsStepperTitleTags, HdsStepperListStepIds } from '../types.ts';\n\nexport interface HdsStepperListSignature {\n Args: {\n titleTag?: HdsStepperTitleTags;\n ariaLabel: string;\n };\n Blocks: {\n default: [\n {\n Step?: WithBoundArgs<\n typeof HdsStepperListStep,\n 'titleTag' | 'stepIds' | 'didInsertNode' | 'willDestroyNode'\n >;\n },\n ];\n };\n Element: HTMLElement;\n}\n\nexport default class HdsStepperList extends Component<HdsStepperListSignature> {\n @tracked private _stepIds: HdsStepperListStepIds = [];\n\n get titleTag(): HdsStepperTitleTags {\n return this.args.titleTag ?? HdsStepperTitleTagValues.Div;\n }\n\n didInsertStep = (element: HTMLElement): void => {\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this._stepIds = [...this._stepIds, element.id];\n });\n };\n\n willDestroyStep = (element: HTMLElement): void => {\n this._stepIds = this._stepIds.filter(\n (stepId): boolean => stepId !== element.id\n );\n };\n\n <template>\n <ol class=\"hds-stepper-list\" aria-label={{@ariaLabel}} ...attributes>\n {{yield\n (hash\n Step=(component\n HdsStepperListStep\n titleTag=this.titleTag\n stepIds=this._stepIds\n didInsertNode=this.didInsertStep\n willDestroyNode=this.willDestroyStep\n )\n )\n }}\n </ol>\n </template>\n}\n"],"names":["HdsStepperList","Component","g","prototype","tracked","i","titleTag","args","HdsStepperTitleTagValues","Div","didInsertStep","element","schedule","_stepIds","id","willDestroyStep","filter","stepId","setComponentTemplate","precompileTemplate","strictMode","scope","hash","HdsStepperListStep"],"mappings":";;;;;;;;;;AAAA;;;AAGC;AAgCc,MAAMA,uBAAuBC,SAAA,CAAU;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,UAAA,EAAA,CACnDC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAkD,EAAE;AAAA,IAAA,CAAA,CAAA;AAAA;EAAA,SAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,UAAA,CAAA,EAAA,MAAA;EAErD,IAAIC,WAAgC;IAClC,OAAO,IAAI,CAACC,IAAI,CAACD,QAAQ,IAAIE,yBAAyBC,GAAG;AAC3D,EAAA;EAEAC,aAAA,GAAiBC,OAAS,IAAkB;AAC1C;IACAC,QAAA,CAAS,aAAA,EAAe,MAAQ;AAC9B,MAAA,IAAI,CAACC,QAAQ,GAAG,CAAI,GAAA,IAAI,CAACA,QAAQ,EAAEF,OAAA,CAAQG,EAAE,CAAC;AAChD,IAAA,CAAA,CAAA;EACF,CAAA;EAEAC,eAAA,GAAmBJ,OAAS,IAAkB;AAC5C,IAAA,IAAI,CAACE,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACG,MAAM,CACjCC,MAAA,IAAoBA,MAAA,KAAWN,QAAQG,EAAE,CAAA;EAE9C,CAAA;AAEA,EAAA;IAAAI,oBAAA,CAAAC,kBAAA,CAAA,2PAAA,EAcA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,IAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/hds/stepper/list/index.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { schedule } from '@ember/runloop';\nimport { hash } from '@ember/helper';\n\nimport type { WithBoundArgs } from '@glint/template';\n\nimport { HdsStepperTitleTagValues } from '../types.ts';\nimport HdsStepperListStep from './step.gts';\n\nimport type { HdsStepperTitleTags, HdsStepperListStepIds } from '../types.ts';\n\nexport interface HdsStepperListSignature {\n Args: {\n titleTag?: HdsStepperTitleTags;\n ariaLabel: string;\n };\n Blocks: {\n default: [\n {\n Step?: WithBoundArgs<\n typeof HdsStepperListStep,\n 'titleTag' | 'stepIds' | 'didInsertNode' | 'willDestroyNode'\n >;\n },\n ];\n };\n Element: HTMLElement;\n}\n\nexport default class HdsStepperList extends Component<HdsStepperListSignature> {\n @tracked private _stepIds: HdsStepperListStepIds = [];\n\n get titleTag(): HdsStepperTitleTags {\n return this.args.titleTag ?? HdsStepperTitleTagValues.Div;\n }\n\n didInsertStep = (element: HTMLElement): void => {\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this._stepIds = [...this._stepIds, element.id];\n });\n };\n\n willDestroyStep = (element: HTMLElement): void => {\n this._stepIds = this._stepIds.filter(\n (stepId): boolean => stepId !== element.id\n );\n };\n\n <template>\n <ol class=\"hds-stepper-list\" aria-label={{@ariaLabel}} ...attributes>\n {{yield\n (hash\n Step=(component\n HdsStepperListStep\n titleTag=this.titleTag\n stepIds=this._stepIds\n didInsertNode=this.didInsertStep\n willDestroyNode=this.willDestroyStep\n )\n )\n }}\n </ol>\n </template>\n}\n"],"names":["HdsStepperList","Component","g","prototype","tracked","i","titleTag","args","HdsStepperTitleTagValues","Div","didInsertStep","element","schedule","_stepIds","id","willDestroyStep","filter","stepId","setComponentTemplate","precompileTemplate","strictMode","scope","hash","HdsStepperListStep"],"mappings":";;;;;;;;;;AAAA;;;AAGC;AAgCc,MAAMA,uBAAuBC,SAAA,CAAU;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,UAAA,EAAA,CACnDC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAkD,EAAE;AAAA,IAAA,CAAA,CAAA;AAAA;EAAA,SAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,UAAA,CAAA,EAAA,MAAA;EAErD,IAAIC,WAAgC;IAClC,OAAO,IAAI,CAACC,IAAI,CAACD,QAAQ,IAAIE,yBAAyBC,GAAG;AAC3D,EAAA;EAEAC,aAAA,GAAiBC,OAAS,IAAkB;AAC1C;IACAC,QAAA,CAAS,aAAA,EAAe,MAAQ;AAC9B,MAAA,IAAI,CAACC,QAAQ,GAAG,CAAI,GAAA,IAAI,CAACA,QAAQ,EAAEF,OAAA,CAAQG,EAAE,CAAC;AAChD,IAAA,CAAA,CAAA;EACF,CAAA;EAEAC,eAAA,GAAmBJ,OAAS,IAAkB;AAC5C,IAAA,IAAI,CAACE,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACG,MAAM,CACjCC,MAAA,IAAoBA,MAAA,KAAWN,QAAQG,EAAE,CAAA;EAE9C,CAAA;AAEA,EAAA;IAAAI,oBAAA,CAAAC,kBAAA,CAAA,2PAAA,EAcA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,IAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -11,7 +11,7 @@ import { setComponentTemplate } from '@ember/component';
11
11
  import { g, i } from 'decorator-transforms/runtime';
12
12
 
13
13
  /**
14
- * Copyright IBM Corp. 2021, 2025
14
+ * Copyright IBM Corp. 2021, 2026
15
15
  * SPDX-License-Identifier: MPL-2.0
16
16
  */
17
17
  const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;
@@ -1 +1 @@
1
- {"version":3,"file":"step.js","sources":["../../../../../src/components/hds/stepper/list/step.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport { guidFor } from '@ember/object/internals';\nimport { modifier } from 'ember-modifier';\nimport { service } from '@ember/service';\nimport type HdsIntlService from '../../../../services/hds-intl';\nimport type Owner from '@ember/owner';\n\nimport {\n HdsStepperStatusesValues,\n HdsStepperStatusToSrOnlyText,\n HdsStepperTitleTagValues,\n} from '../types.ts';\nimport HdsTextBody from '../../text/body.gts';\nimport HdsStepperStepIndicator from '../step/indicator.gts';\n\nimport type {\n HdsStepperListStepIds,\n HdsStepperStatuses,\n HdsStepperTitleTags,\n} from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: HdsStepperStatuses[] = Object.values(\n HdsStepperStatusesValues\n);\n\nexport interface HdsStepperListStepSignature {\n Args: {\n status?: HdsStepperStatuses;\n titleTag?: HdsStepperTitleTags;\n stepIds?: HdsStepperListStepIds;\n didInsertNode?: (element: HTMLElement) => void;\n willDestroyNode?: (element: HTMLElement) => void;\n };\n Blocks: {\n title: [];\n description?: [];\n content?: [];\n };\n Element: HTMLElement;\n}\n\nexport default class HdsStepperListStep extends Component<HdsStepperListStepSignature> {\n @service declare readonly hdsIntl: HdsIntlService;\n\n private _statusSrOnlyTextMap?: Record<HdsStepperStatusesValues, string>;\n private _stepId = 'step-' + guidFor(this);\n\n private _setUpStep = modifier(\n (\n element: HTMLElement,\n [insertCallbackFunction, destroyCallbackFunction]\n ) => {\n if (typeof insertCallbackFunction === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n insertCallbackFunction(element);\n }\n\n return () => {\n if (typeof destroyCallbackFunction === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n destroyCallbackFunction(element);\n }\n };\n }\n );\n\n constructor(owner: Owner, args: HdsStepperListStepSignature['Args']) {\n super(owner, args);\n\n this._statusSrOnlyTextMap = HdsStepperStatusToSrOnlyText(this.hdsIntl);\n }\n\n get stepNumber(): number | undefined {\n return this.args.stepIds\n ? this.args.stepIds.indexOf(this._stepId) + 1\n : undefined;\n }\n\n get status(): HdsStepperStatuses {\n const { status = DEFAULT_STATUS } = this.args;\n\n assert(\n `@status for \"Hds::Stepper::List::Step\" must be one of the following: ${STATUSES.join(\n ', '\n )}; received: ${status}`,\n STATUSES.includes(status)\n );\n\n return status;\n }\n\n get statusSrOnlyText(): string {\n return this._statusSrOnlyTextMap![this.status];\n }\n\n get titleTag(): HdsStepperTitleTags {\n return this.args.titleTag ?? HdsStepperTitleTagValues.Div;\n }\n\n get classNames(): string {\n const classes = ['hds-stepper-list__step'];\n\n classes.push(`hds-stepper-list__step--${this.status}`);\n\n return classes.join(' ');\n }\n\n <template>\n <li\n class={{this.classNames}}\n ...attributes\n id={{this._stepId}}\n {{this._setUpStep @didInsertNode @willDestroyNode}}\n >\n <div class=\"hds-stepper-list__step-progress\">\n <HdsStepperStepIndicator\n @text=\"{{this.stepNumber}}\"\n @status={{this.status}}\n @isInteractive={{false}}\n class=\"hds-stepper-list__step-indicator\"\n />\n </div>\n <div class=\"hds-stepper-list__step-text\">\n <HdsTextBody\n class=\"hds-stepper-list__step-title\"\n @tag={{this.titleTag}}\n @size=\"200\"\n @weight=\"semibold\"\n @color=\"strong\"\n >\n {{yield to=\"title\"}}\n <span class=\"sr-only\">{{this.statusSrOnlyText}}</span>\n </HdsTextBody>\n {{#if (has-block \"description\")}}\n <HdsTextBody\n class=\"hds-stepper-list__step-description\"\n @tag=\"div\"\n @size=\"100\"\n @weight=\"regular\"\n @color=\"primary\"\n >\n {{yield to=\"description\"}}\n </HdsTextBody>\n {{/if}}\n {{#if (has-block \"content\")}}\n <div class=\"hds-stepper-list__step-content\">\n {{yield to=\"content\"}}\n </div>\n {{/if}}\n </div>\n </li>\n </template>\n}\n"],"names":["DEFAULT_STATUS","HdsStepperStatusesValues","Incomplete","STATUSES","Object","values","HdsStepperListStep","Component","g","prototype","service","i","_statusSrOnlyTextMap","_stepId","guidFor","_setUpStep","modifier","element","insertCallbackFunction","destroyCallbackFunction","constructor","owner","args","HdsStepperStatusToSrOnlyText","hdsIntl","stepNumber","stepIds","indexOf","undefined","status","assert","join","includes","statusSrOnlyText","titleTag","HdsStepperTitleTagValues","Div","classNames","classes","push","setComponentTemplate","precompileTemplate","strictMode","scope","HdsStepperStepIndicator","HdsTextBody"],"mappings":";;;;;;;;;;;;AAAA;;;AAGC;AAwBM,MAAMA,cAAA,GAAiBC,wBAAA,CAAyBC;AAChD,MAAMC,QAAU,GAAuBC,MAAA,CAAOC,MAAM,CACzDJ,wBAAA;AAmBa,MAAMK,2BAA2BC,SAAA,CAAU;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,SAAA,EAAA,CACvDC,OAAA,CAAA,CAAA;AAAA;EAAA,QAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,SAAA,CAAA,EAAA,MAAA;EAEOC,oBAAA;AACAC,EAAAA,OAAA,GAAU,OAAA,GAAUC,OAAA,CAAQ,IAAI,CAAA;EAEhCC,aAAaC,QAAA,CACnB,CACEC,OAAS,EACT,CAACC,wBAAwBC,uBAAA,CAAwB,KAAA;AAEjD,IAAA,IAAI,OAAOD,2BAA2B,UAAA,EAAY;AAChD;MACAA,sBAAA,CAAuBD,OAAA,CAAA;AACzB,IAAA;AAEA,IAAA,OAAO,MAAA;AACL,MAAA,IAAI,OAAOE,4BAA4B,UAAA,EAAY;AACjD;QACAA,uBAAA,CAAwBF,OAAA,CAAA;AAC1B,MAAA;IACF,CAAA;AACF,EAAA,CAAA,CAAA;AAGFG,EAAAA,WAAAA,CAAYC,KAAY,EAAEC,IAAyC,EAAE;AACnE,IAAA,KAAK,CAACD,KAAA,EAAOC,IAAA,CAAA;IAEb,IAAI,CAACV,oBAAoB,GAAGW,4BAAA,CAA6B,IAAI,CAACC,OAAO,CAAA;AACvE,EAAA;EAEA,IAAIC,UAAAA,GAAiC;IACnC,OAAO,IAAI,CAACH,IAAI,CAACI,OAAO,GACpB,IAAI,CAACJ,IAAI,CAACI,OAAO,CAACC,OAAO,CAAC,IAAI,CAACd,OAAO,IAAI,CAAA,GAC1Ce,SAAA;AACN,EAAA;EAEA,IAAIC,SAA6B;IAC/B,MAAM;AAAEA,MAAAA,MAAA,GAAS7B;KAAgB,GAAG,IAAI,CAACsB,IAAI;AAE7CQ,IAAAA,MAAA,CACE,CAAA,qEAAA,EAAwE3B,QAAA,CAAS4B,IAAI,CACnF,IAAA,CAAA,CAAA,YAAA,EACcF,MAAA,CAAA,CAAQ,EACxB1B,QAAA,CAAS6B,QAAQ,CAACH,MAAA,CAAA,CAAA;AAGpB,IAAA,OAAOA,MAAA;AACT,EAAA;EAEA,IAAII,gBAAAA,GAA2B;AAC7B,IAAA,OAAO,IAAI,CAACrB,oBAAoB,CAAE,IAAI,CAACiB,MAAM,CAAC;AAChD,EAAA;EAEA,IAAIK,WAAgC;IAClC,OAAO,IAAI,CAACZ,IAAI,CAACY,QAAQ,IAAIC,yBAAyBC,GAAG;AAC3D,EAAA;EAEA,IAAIC,UAAAA,GAAqB;AACvB,IAAA,MAAMC,OAAA,GAAU,CAAC,wBAAA,CAAyB;IAE1CA,OAAA,CAAQC,IAAI,CAAC,CAAA,wBAAA,EAA2B,IAAI,CAACV,MAAM,EAAE,CAAA;AAErD,IAAA,OAAOS,OAAA,CAAQP,IAAI,CAAC,GAAA,CAAA;AACtB,EAAA;AAEA,EAAA;IAAAS,oBAAA,CAAAC,kBAAA,CAAA,ohCAAA,EA4CA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,uBAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"step.js","sources":["../../../../../src/components/hds/stepper/list/step.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport { guidFor } from '@ember/object/internals';\nimport { modifier } from 'ember-modifier';\nimport { service } from '@ember/service';\nimport type HdsIntlService from '../../../../services/hds-intl';\nimport type Owner from '@ember/owner';\n\nimport {\n HdsStepperStatusesValues,\n HdsStepperStatusToSrOnlyText,\n HdsStepperTitleTagValues,\n} from '../types.ts';\nimport HdsTextBody from '../../text/body.gts';\nimport HdsStepperStepIndicator from '../step/indicator.gts';\n\nimport type {\n HdsStepperListStepIds,\n HdsStepperStatuses,\n HdsStepperTitleTags,\n} from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: HdsStepperStatuses[] = Object.values(\n HdsStepperStatusesValues\n);\n\nexport interface HdsStepperListStepSignature {\n Args: {\n status?: HdsStepperStatuses;\n titleTag?: HdsStepperTitleTags;\n stepIds?: HdsStepperListStepIds;\n didInsertNode?: (element: HTMLElement) => void;\n willDestroyNode?: (element: HTMLElement) => void;\n };\n Blocks: {\n title: [];\n description?: [];\n content?: [];\n };\n Element: HTMLElement;\n}\n\nexport default class HdsStepperListStep extends Component<HdsStepperListStepSignature> {\n @service declare readonly hdsIntl: HdsIntlService;\n\n private _statusSrOnlyTextMap?: Record<HdsStepperStatusesValues, string>;\n private _stepId = 'step-' + guidFor(this);\n\n private _setUpStep = modifier(\n (\n element: HTMLElement,\n [insertCallbackFunction, destroyCallbackFunction]\n ) => {\n if (typeof insertCallbackFunction === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n insertCallbackFunction(element);\n }\n\n return () => {\n if (typeof destroyCallbackFunction === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n destroyCallbackFunction(element);\n }\n };\n }\n );\n\n constructor(owner: Owner, args: HdsStepperListStepSignature['Args']) {\n super(owner, args);\n\n this._statusSrOnlyTextMap = HdsStepperStatusToSrOnlyText(this.hdsIntl);\n }\n\n get stepNumber(): number | undefined {\n return this.args.stepIds\n ? this.args.stepIds.indexOf(this._stepId) + 1\n : undefined;\n }\n\n get status(): HdsStepperStatuses {\n const { status = DEFAULT_STATUS } = this.args;\n\n assert(\n `@status for \"Hds::Stepper::List::Step\" must be one of the following: ${STATUSES.join(\n ', '\n )}; received: ${status}`,\n STATUSES.includes(status)\n );\n\n return status;\n }\n\n get statusSrOnlyText(): string {\n return this._statusSrOnlyTextMap![this.status];\n }\n\n get titleTag(): HdsStepperTitleTags {\n return this.args.titleTag ?? HdsStepperTitleTagValues.Div;\n }\n\n get classNames(): string {\n const classes = ['hds-stepper-list__step'];\n\n classes.push(`hds-stepper-list__step--${this.status}`);\n\n return classes.join(' ');\n }\n\n <template>\n <li\n class={{this.classNames}}\n ...attributes\n id={{this._stepId}}\n {{this._setUpStep @didInsertNode @willDestroyNode}}\n >\n <div class=\"hds-stepper-list__step-progress\">\n <HdsStepperStepIndicator\n @text=\"{{this.stepNumber}}\"\n @status={{this.status}}\n @isInteractive={{false}}\n class=\"hds-stepper-list__step-indicator\"\n />\n </div>\n <div class=\"hds-stepper-list__step-text\">\n <HdsTextBody\n class=\"hds-stepper-list__step-title\"\n @tag={{this.titleTag}}\n @size=\"200\"\n @weight=\"semibold\"\n @color=\"strong\"\n >\n {{yield to=\"title\"}}\n <span class=\"sr-only\">{{this.statusSrOnlyText}}</span>\n </HdsTextBody>\n {{#if (has-block \"description\")}}\n <HdsTextBody\n class=\"hds-stepper-list__step-description\"\n @tag=\"div\"\n @size=\"100\"\n @weight=\"regular\"\n @color=\"primary\"\n >\n {{yield to=\"description\"}}\n </HdsTextBody>\n {{/if}}\n {{#if (has-block \"content\")}}\n <div class=\"hds-stepper-list__step-content\">\n {{yield to=\"content\"}}\n </div>\n {{/if}}\n </div>\n </li>\n </template>\n}\n"],"names":["DEFAULT_STATUS","HdsStepperStatusesValues","Incomplete","STATUSES","Object","values","HdsStepperListStep","Component","g","prototype","service","i","_statusSrOnlyTextMap","_stepId","guidFor","_setUpStep","modifier","element","insertCallbackFunction","destroyCallbackFunction","constructor","owner","args","HdsStepperStatusToSrOnlyText","hdsIntl","stepNumber","stepIds","indexOf","undefined","status","assert","join","includes","statusSrOnlyText","titleTag","HdsStepperTitleTagValues","Div","classNames","classes","push","setComponentTemplate","precompileTemplate","strictMode","scope","HdsStepperStepIndicator","HdsTextBody"],"mappings":";;;;;;;;;;;;AAAA;;;AAGC;AAwBM,MAAMA,cAAA,GAAiBC,wBAAA,CAAyBC;AAChD,MAAMC,QAAU,GAAuBC,MAAA,CAAOC,MAAM,CACzDJ,wBAAA;AAmBa,MAAMK,2BAA2BC,SAAA,CAAU;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,SAAA,EAAA,CACvDC,OAAA,CAAA,CAAA;AAAA;EAAA,QAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,SAAA,CAAA,EAAA,MAAA;EAEOC,oBAAA;AACAC,EAAAA,OAAA,GAAU,OAAA,GAAUC,OAAA,CAAQ,IAAI,CAAA;EAEhCC,aAAaC,QAAA,CACnB,CACEC,OAAS,EACT,CAACC,wBAAwBC,uBAAA,CAAwB,KAAA;AAEjD,IAAA,IAAI,OAAOD,2BAA2B,UAAA,EAAY;AAChD;MACAA,sBAAA,CAAuBD,OAAA,CAAA;AACzB,IAAA;AAEA,IAAA,OAAO,MAAA;AACL,MAAA,IAAI,OAAOE,4BAA4B,UAAA,EAAY;AACjD;QACAA,uBAAA,CAAwBF,OAAA,CAAA;AAC1B,MAAA;IACF,CAAA;AACF,EAAA,CAAA,CAAA;AAGFG,EAAAA,WAAAA,CAAYC,KAAY,EAAEC,IAAyC,EAAE;AACnE,IAAA,KAAK,CAACD,KAAA,EAAOC,IAAA,CAAA;IAEb,IAAI,CAACV,oBAAoB,GAAGW,4BAAA,CAA6B,IAAI,CAACC,OAAO,CAAA;AACvE,EAAA;EAEA,IAAIC,UAAAA,GAAiC;IACnC,OAAO,IAAI,CAACH,IAAI,CAACI,OAAO,GACpB,IAAI,CAACJ,IAAI,CAACI,OAAO,CAACC,OAAO,CAAC,IAAI,CAACd,OAAO,IAAI,CAAA,GAC1Ce,SAAA;AACN,EAAA;EAEA,IAAIC,SAA6B;IAC/B,MAAM;AAAEA,MAAAA,MAAA,GAAS7B;KAAgB,GAAG,IAAI,CAACsB,IAAI;AAE7CQ,IAAAA,MAAA,CACE,CAAA,qEAAA,EAAwE3B,QAAA,CAAS4B,IAAI,CACnF,IAAA,CAAA,CAAA,YAAA,EACcF,MAAA,CAAA,CAAQ,EACxB1B,QAAA,CAAS6B,QAAQ,CAACH,MAAA,CAAA,CAAA;AAGpB,IAAA,OAAOA,MAAA;AACT,EAAA;EAEA,IAAII,gBAAAA,GAA2B;AAC7B,IAAA,OAAO,IAAI,CAACrB,oBAAoB,CAAE,IAAI,CAACiB,MAAM,CAAC;AAChD,EAAA;EAEA,IAAIK,WAAgC;IAClC,OAAO,IAAI,CAACZ,IAAI,CAACY,QAAQ,IAAIC,yBAAyBC,GAAG;AAC3D,EAAA;EAEA,IAAIC,UAAAA,GAAqB;AACvB,IAAA,MAAMC,OAAA,GAAU,CAAC,wBAAA,CAAyB;IAE1CA,OAAA,CAAQC,IAAI,CAAC,CAAA,wBAAA,EAA2B,IAAI,CAACV,MAAM,EAAE,CAAA;AAErD,IAAA,OAAOS,OAAA,CAAQP,IAAI,CAAC,GAAA,CAAA;AACtB,EAAA;AAEA,EAAA;IAAAS,oBAAA,CAAAC,kBAAA,CAAA,ohCAAA,EA4CA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,uBAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -14,7 +14,7 @@ import { setComponentTemplate } from '@ember/component';
14
14
  import { g, i } from 'decorator-transforms/runtime';
15
15
 
16
16
  /**
17
- * Copyright IBM Corp. 2021, 2025
17
+ * Copyright IBM Corp. 2021, 2026
18
18
  * SPDX-License-Identifier: MPL-2.0
19
19
  */
20
20
  const STEP_ELEMENT_SELECTOR = '.hds-stepper-nav__step-content';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/hds/stepper/nav/index.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { schedule } from '@ember/runloop';\nimport { assert } from '@ember/debug';\nimport { modifier } from 'ember-modifier';\nimport { hash } from '@ember/helper';\nimport { and } from 'ember-truth-helpers';\nimport style from 'ember-style-modifier';\n\nimport type { WithBoundArgs } from '@glint/template';\n\nimport { HdsStepperTitleTagValues } from '../types.ts';\nimport HdsStepperNavStep from './step.gts';\nimport HdsStepperNavPanel from './panel.gts';\n\nimport type {\n HdsStepperTitleTags,\n HdsStepperNavStepIds,\n HdsStepperNavStep as HdsStepperNavStepType,\n HdsStepperNavPanelIds,\n} from '../types.ts';\n\nconst STEP_ELEMENT_SELECTOR = '.hds-stepper-nav__step-content';\nconst PANEL_ELEMENT_SELECTOR = '.hds-stepper-nav__panel';\n\nexport interface HdsStepperNavSignature {\n Args: {\n steps?: HdsStepperNavStepType[];\n currentStep?: number;\n isInteractive?: boolean;\n titleTag?: HdsStepperTitleTags;\n ariaLabel: string;\n onStepChange?: (event: MouseEvent, stepNumber: number) => void;\n };\n Blocks: {\n body?: [];\n default: [\n {\n Step?: WithBoundArgs<\n typeof HdsStepperNavStep,\n | 'currentStep'\n | 'isNavInteractive'\n | 'titleTag'\n | 'stepIds'\n | 'panelIds'\n | 'didInsertNode'\n | 'willDestroyNode'\n | 'onStepChange'\n | 'onKeyUp'\n >;\n Panel?: WithBoundArgs<\n typeof HdsStepperNavPanel,\n | 'currentStep'\n | 'isNavInteractive'\n | 'stepIds'\n | 'panelIds'\n | 'didInsertNode'\n | 'willDestroyNode'\n >;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsStepperNav extends Component<HdsStepperNavSignature> {\n @tracked private _stepIds: HdsStepperNavStepIds = [];\n @tracked private _stepNodes: HTMLElement[] = [];\n @tracked private _panelNodes: HTMLElement[] = [];\n @tracked private _panelIds: HdsStepperNavPanelIds = [];\n\n private _element!: HTMLDivElement;\n\n private _setUpStepperNav = modifier((element: HTMLDivElement) => {\n if (this.isInteractive) {\n assert(\n 'If @isInteractive is true, the number of Steps must be equal to the number of Panels',\n this._stepNodes.length === this._panelNodes.length\n );\n }\n\n this._element = element;\n\n return () => {};\n });\n\n get currentStep(): number {\n const { currentStep } = this.args;\n\n if (currentStep) {\n if (currentStep < 0) {\n return 0;\n } else {\n return currentStep;\n }\n } else {\n return 0;\n }\n }\n\n get isInteractive(): boolean {\n return this.args.isInteractive != undefined\n ? this.args.isInteractive\n : true;\n }\n\n get titleTag(): HdsStepperTitleTags {\n return this.args.titleTag ?? HdsStepperTitleTagValues.Div;\n }\n\n get inlineStyles(): Record<string, unknown> {\n const inlineStyles: {\n '--hds-stepper-nav-progress-bar-width'?: string;\n } = {};\n\n inlineStyles['--hds-stepper-nav-progress-bar-width'] =\n this.progressBarWidthStyle;\n\n return inlineStyles;\n }\n\n get progressBarWidthStyle(): string {\n let progressBarWidth = 0;\n let progressBarOffset = 0;\n if (this._stepIds.length != 0) {\n if (this.currentStep >= this._stepIds.length) {\n progressBarWidth = 100;\n progressBarOffset = 0;\n } else {\n const activeStepWidth = 1 / this._stepIds.length / 2;\n const width = this.currentStep / this._stepIds.length;\n progressBarWidth = (width + activeStepWidth) * 100;\n progressBarOffset = 16;\n }\n }\n return `calc(${progressBarWidth}% - ${progressBarOffset}px)`;\n }\n\n didInsertStep = (): void => {\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this.updateSteps();\n });\n };\n\n willDestroyStep = (element: HTMLElement): void => {\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this._stepNodes = this._stepNodes.filter(\n (node): boolean => node.id !== element.id\n );\n this._stepIds = this._stepIds.filter(\n (stepId): boolean => stepId !== element.id\n );\n });\n };\n\n didInsertPanel = (): void => {\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this.updatePanels();\n });\n };\n\n willDestroyPanel = (element: HTMLElement): void => {\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this._panelNodes = this._panelNodes.filter(\n (node): boolean => node.id !== element.id\n );\n this._panelIds = this._panelIds.filter(\n (panelId): boolean => panelId !== element.id\n );\n });\n };\n\n onKeyUp = (currentStepIndex: number, event: KeyboardEvent): void => {\n const leftArrow = 'ArrowLeft';\n const rightArrow = 'ArrowRight';\n\n if (event.key === rightArrow) {\n const nextStepIndex = this.findNextInteractiveStepIndex(\n currentStepIndex,\n 1\n );\n this.focusStep(nextStepIndex, event);\n } else if (event.key === leftArrow) {\n const prevStepIndex = this.findNextInteractiveStepIndex(\n currentStepIndex,\n this._stepIds.length - 1\n );\n this.focusStep(prevStepIndex, event);\n }\n };\n\n // Update the step arrays based on how they are ordered in the DOM\n private updateSteps = (): void => {\n const steps = this._element.querySelectorAll(STEP_ELEMENT_SELECTOR);\n let newStepIds: HdsStepperNavStepIds = [];\n let newStepNodes: HTMLElement[] = [];\n steps.forEach((step) => {\n newStepIds = [...newStepIds, step.id];\n newStepNodes = [...newStepNodes, step as HTMLElement];\n });\n this._stepIds = newStepIds;\n this._stepNodes = newStepNodes;\n };\n\n // Update the panel arrays based on how they are ordered in the DOM\n private updatePanels = (): void => {\n const panels = this._element.querySelectorAll(PANEL_ELEMENT_SELECTOR);\n let newPanelIds: HdsStepperNavPanelIds = [];\n let newPanelNodes: HTMLElement[] = [];\n panels.forEach((panel) => {\n newPanelIds = [...newPanelIds, panel.id];\n newPanelNodes = [...newPanelNodes, panel as HTMLElement];\n });\n this._panelIds = newPanelIds;\n this._panelNodes = newPanelNodes;\n };\n\n // Find the next interactive step to focus based on keyboard input\n private findNextInteractiveStepIndex = (\n currentStepIndex: number,\n increment: number\n ): number => {\n let newStepIndex = (currentStepIndex + increment) % this._stepIds.length;\n while (newStepIndex > this.currentStep) {\n newStepIndex = (newStepIndex + increment) % this._stepIds.length;\n }\n return newStepIndex;\n };\n\n // Focus step for keyboard & mouse nav\n private focusStep = (stepIndex: number, event: KeyboardEvent): void => {\n event.preventDefault();\n const step = this._stepNodes[stepIndex];\n step?.focus();\n };\n\n get classNames() {\n const classes = ['hds-stepper-nav'];\n\n if (this.isInteractive) {\n classes.push('hds-stepper-nav--interactive');\n }\n\n return classes.join(' ');\n }\n\n <template>\n <div\n class={{this.classNames}}\n ...attributes\n {{style this.inlineStyles}}\n {{this._setUpStepperNav}}\n >\n <div class=\"hds-stepper-nav__progress-bar\"></div>\n <ol\n class=\"hds-stepper-nav__list\"\n aria-label={{@ariaLabel}}\n role={{if this.isInteractive \"tablist\"}}\n >\n {{#if @steps}}\n {{#each @steps as |step|}}\n <HdsStepperNavStep\n @currentStep={{this.currentStep}}\n @isNavInteractive={{this.isInteractive}}\n @titleTag={{this.titleTag}}\n @didInsertNode={{this.didInsertStep}}\n @willDestroyNode={{this.willDestroyStep}}\n @stepIds={{this._stepIds}}\n @panelIds={{this._panelIds}}\n @onStepChange={{@onStepChange}}\n @onKeyUp={{this.onKeyUp}}\n >\n <:title>{{step.title}}</:title>\n <:description>{{step.description}}</:description>\n </HdsStepperNavStep>\n {{/each}}\n {{else}}\n {{yield\n (hash\n Step=(component\n HdsStepperNavStep\n currentStep=this.currentStep\n isNavInteractive=this.isInteractive\n titleTag=this.titleTag\n stepIds=this._stepIds\n panelIds=this._panelIds\n didInsertNode=this.didInsertStep\n willDestroyNode=this.willDestroyStep\n onStepChange=@onStepChange\n onKeyUp=this.onKeyUp\n )\n )\n }}\n {{/if}}\n </ol>\n {{#if (and @steps (has-block \"body\"))}}\n {{#each @steps}}\n <HdsStepperNavPanel\n @currentStep={{this.currentStep}}\n @isNavInteractive={{this.isInteractive}}\n @stepIds={{this._stepIds}}\n @panelIds={{this._panelIds}}\n @didInsertNode={{this.didInsertPanel}}\n @willDestroyNode={{this.willDestroyPanel}}\n >\n {{yield to=\"body\"}}\n </HdsStepperNavPanel>\n {{/each}}\n {{else}}\n {{yield\n (hash\n Panel=(component\n HdsStepperNavPanel\n currentStep=this.currentStep\n isNavInteractive=this.isInteractive\n stepIds=this._stepIds\n panelIds=this._panelIds\n didInsertNode=this.didInsertPanel\n willDestroyNode=this.willDestroyPanel\n )\n )\n }}\n {{/if}}\n </div>\n </template>\n}\n"],"names":["STEP_ELEMENT_SELECTOR","PANEL_ELEMENT_SELECTOR","HdsStepperNav","Component","g","prototype","tracked","i","_element","_setUpStepperNav","modifier","element","isInteractive","assert","_stepNodes","length","_panelNodes","currentStep","args","undefined","titleTag","HdsStepperTitleTagValues","Div","inlineStyles","progressBarWidthStyle","progressBarWidth","progressBarOffset","_stepIds","activeStepWidth","width","didInsertStep","schedule","updateSteps","willDestroyStep","filter","node","id","stepId","didInsertPanel","updatePanels","willDestroyPanel","_panelIds","panelId","onKeyUp","currentStepIndex","event","leftArrow","rightArrow","key","nextStepIndex","findNextInteractiveStepIndex","focusStep","prevStepIndex","steps","querySelectorAll","newStepIds","newStepNodes","forEach","step","panels","newPanelIds","newPanelNodes","panel","increment","newStepIndex","stepIndex","preventDefault","focus","classNames","classes","push","join","setComponentTemplate","precompileTemplate","strictMode","scope","style","HdsStepperNavStep","hash","and","HdsStepperNavPanel"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/hds/stepper/nav/index.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { schedule } from '@ember/runloop';\nimport { assert } from '@ember/debug';\nimport { modifier } from 'ember-modifier';\nimport { hash } from '@ember/helper';\nimport { and } from 'ember-truth-helpers';\nimport style from 'ember-style-modifier';\n\nimport type { WithBoundArgs } from '@glint/template';\n\nimport { HdsStepperTitleTagValues } from '../types.ts';\nimport HdsStepperNavStep from './step.gts';\nimport HdsStepperNavPanel from './panel.gts';\n\nimport type {\n HdsStepperTitleTags,\n HdsStepperNavStepIds,\n HdsStepperNavStep as HdsStepperNavStepType,\n HdsStepperNavPanelIds,\n} from '../types.ts';\n\nconst STEP_ELEMENT_SELECTOR = '.hds-stepper-nav__step-content';\nconst PANEL_ELEMENT_SELECTOR = '.hds-stepper-nav__panel';\n\nexport interface HdsStepperNavSignature {\n Args: {\n steps?: HdsStepperNavStepType[];\n currentStep?: number;\n isInteractive?: boolean;\n titleTag?: HdsStepperTitleTags;\n ariaLabel: string;\n onStepChange?: (event: MouseEvent, stepNumber: number) => void;\n };\n Blocks: {\n body?: [];\n default: [\n {\n Step?: WithBoundArgs<\n typeof HdsStepperNavStep,\n | 'currentStep'\n | 'isNavInteractive'\n | 'titleTag'\n | 'stepIds'\n | 'panelIds'\n | 'didInsertNode'\n | 'willDestroyNode'\n | 'onStepChange'\n | 'onKeyUp'\n >;\n Panel?: WithBoundArgs<\n typeof HdsStepperNavPanel,\n | 'currentStep'\n | 'isNavInteractive'\n | 'stepIds'\n | 'panelIds'\n | 'didInsertNode'\n | 'willDestroyNode'\n >;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsStepperNav extends Component<HdsStepperNavSignature> {\n @tracked private _stepIds: HdsStepperNavStepIds = [];\n @tracked private _stepNodes: HTMLElement[] = [];\n @tracked private _panelNodes: HTMLElement[] = [];\n @tracked private _panelIds: HdsStepperNavPanelIds = [];\n\n private _element!: HTMLDivElement;\n\n private _setUpStepperNav = modifier((element: HTMLDivElement) => {\n if (this.isInteractive) {\n assert(\n 'If @isInteractive is true, the number of Steps must be equal to the number of Panels',\n this._stepNodes.length === this._panelNodes.length\n );\n }\n\n this._element = element;\n\n return () => {};\n });\n\n get currentStep(): number {\n const { currentStep } = this.args;\n\n if (currentStep) {\n if (currentStep < 0) {\n return 0;\n } else {\n return currentStep;\n }\n } else {\n return 0;\n }\n }\n\n get isInteractive(): boolean {\n return this.args.isInteractive != undefined\n ? this.args.isInteractive\n : true;\n }\n\n get titleTag(): HdsStepperTitleTags {\n return this.args.titleTag ?? HdsStepperTitleTagValues.Div;\n }\n\n get inlineStyles(): Record<string, unknown> {\n const inlineStyles: {\n '--hds-stepper-nav-progress-bar-width'?: string;\n } = {};\n\n inlineStyles['--hds-stepper-nav-progress-bar-width'] =\n this.progressBarWidthStyle;\n\n return inlineStyles;\n }\n\n get progressBarWidthStyle(): string {\n let progressBarWidth = 0;\n let progressBarOffset = 0;\n if (this._stepIds.length != 0) {\n if (this.currentStep >= this._stepIds.length) {\n progressBarWidth = 100;\n progressBarOffset = 0;\n } else {\n const activeStepWidth = 1 / this._stepIds.length / 2;\n const width = this.currentStep / this._stepIds.length;\n progressBarWidth = (width + activeStepWidth) * 100;\n progressBarOffset = 16;\n }\n }\n return `calc(${progressBarWidth}% - ${progressBarOffset}px)`;\n }\n\n didInsertStep = (): void => {\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this.updateSteps();\n });\n };\n\n willDestroyStep = (element: HTMLElement): void => {\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this._stepNodes = this._stepNodes.filter(\n (node): boolean => node.id !== element.id\n );\n this._stepIds = this._stepIds.filter(\n (stepId): boolean => stepId !== element.id\n );\n });\n };\n\n didInsertPanel = (): void => {\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this.updatePanels();\n });\n };\n\n willDestroyPanel = (element: HTMLElement): void => {\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this._panelNodes = this._panelNodes.filter(\n (node): boolean => node.id !== element.id\n );\n this._panelIds = this._panelIds.filter(\n (panelId): boolean => panelId !== element.id\n );\n });\n };\n\n onKeyUp = (currentStepIndex: number, event: KeyboardEvent): void => {\n const leftArrow = 'ArrowLeft';\n const rightArrow = 'ArrowRight';\n\n if (event.key === rightArrow) {\n const nextStepIndex = this.findNextInteractiveStepIndex(\n currentStepIndex,\n 1\n );\n this.focusStep(nextStepIndex, event);\n } else if (event.key === leftArrow) {\n const prevStepIndex = this.findNextInteractiveStepIndex(\n currentStepIndex,\n this._stepIds.length - 1\n );\n this.focusStep(prevStepIndex, event);\n }\n };\n\n // Update the step arrays based on how they are ordered in the DOM\n private updateSteps = (): void => {\n const steps = this._element.querySelectorAll(STEP_ELEMENT_SELECTOR);\n let newStepIds: HdsStepperNavStepIds = [];\n let newStepNodes: HTMLElement[] = [];\n steps.forEach((step) => {\n newStepIds = [...newStepIds, step.id];\n newStepNodes = [...newStepNodes, step as HTMLElement];\n });\n this._stepIds = newStepIds;\n this._stepNodes = newStepNodes;\n };\n\n // Update the panel arrays based on how they are ordered in the DOM\n private updatePanels = (): void => {\n const panels = this._element.querySelectorAll(PANEL_ELEMENT_SELECTOR);\n let newPanelIds: HdsStepperNavPanelIds = [];\n let newPanelNodes: HTMLElement[] = [];\n panels.forEach((panel) => {\n newPanelIds = [...newPanelIds, panel.id];\n newPanelNodes = [...newPanelNodes, panel as HTMLElement];\n });\n this._panelIds = newPanelIds;\n this._panelNodes = newPanelNodes;\n };\n\n // Find the next interactive step to focus based on keyboard input\n private findNextInteractiveStepIndex = (\n currentStepIndex: number,\n increment: number\n ): number => {\n let newStepIndex = (currentStepIndex + increment) % this._stepIds.length;\n while (newStepIndex > this.currentStep) {\n newStepIndex = (newStepIndex + increment) % this._stepIds.length;\n }\n return newStepIndex;\n };\n\n // Focus step for keyboard & mouse nav\n private focusStep = (stepIndex: number, event: KeyboardEvent): void => {\n event.preventDefault();\n const step = this._stepNodes[stepIndex];\n step?.focus();\n };\n\n get classNames() {\n const classes = ['hds-stepper-nav'];\n\n if (this.isInteractive) {\n classes.push('hds-stepper-nav--interactive');\n }\n\n return classes.join(' ');\n }\n\n <template>\n <div\n class={{this.classNames}}\n ...attributes\n {{style this.inlineStyles}}\n {{this._setUpStepperNav}}\n >\n <div class=\"hds-stepper-nav__progress-bar\"></div>\n <ol\n class=\"hds-stepper-nav__list\"\n aria-label={{@ariaLabel}}\n role={{if this.isInteractive \"tablist\"}}\n >\n {{#if @steps}}\n {{#each @steps as |step|}}\n <HdsStepperNavStep\n @currentStep={{this.currentStep}}\n @isNavInteractive={{this.isInteractive}}\n @titleTag={{this.titleTag}}\n @didInsertNode={{this.didInsertStep}}\n @willDestroyNode={{this.willDestroyStep}}\n @stepIds={{this._stepIds}}\n @panelIds={{this._panelIds}}\n @onStepChange={{@onStepChange}}\n @onKeyUp={{this.onKeyUp}}\n >\n <:title>{{step.title}}</:title>\n <:description>{{step.description}}</:description>\n </HdsStepperNavStep>\n {{/each}}\n {{else}}\n {{yield\n (hash\n Step=(component\n HdsStepperNavStep\n currentStep=this.currentStep\n isNavInteractive=this.isInteractive\n titleTag=this.titleTag\n stepIds=this._stepIds\n panelIds=this._panelIds\n didInsertNode=this.didInsertStep\n willDestroyNode=this.willDestroyStep\n onStepChange=@onStepChange\n onKeyUp=this.onKeyUp\n )\n )\n }}\n {{/if}}\n </ol>\n {{#if (and @steps (has-block \"body\"))}}\n {{#each @steps}}\n <HdsStepperNavPanel\n @currentStep={{this.currentStep}}\n @isNavInteractive={{this.isInteractive}}\n @stepIds={{this._stepIds}}\n @panelIds={{this._panelIds}}\n @didInsertNode={{this.didInsertPanel}}\n @willDestroyNode={{this.willDestroyPanel}}\n >\n {{yield to=\"body\"}}\n </HdsStepperNavPanel>\n {{/each}}\n {{else}}\n {{yield\n (hash\n Panel=(component\n HdsStepperNavPanel\n currentStep=this.currentStep\n isNavInteractive=this.isInteractive\n stepIds=this._stepIds\n panelIds=this._panelIds\n didInsertNode=this.didInsertPanel\n willDestroyNode=this.willDestroyPanel\n )\n )\n }}\n {{/if}}\n </div>\n </template>\n}\n"],"names":["STEP_ELEMENT_SELECTOR","PANEL_ELEMENT_SELECTOR","HdsStepperNav","Component","g","prototype","tracked","i","_element","_setUpStepperNav","modifier","element","isInteractive","assert","_stepNodes","length","_panelNodes","currentStep","args","undefined","titleTag","HdsStepperTitleTagValues","Div","inlineStyles","progressBarWidthStyle","progressBarWidth","progressBarOffset","_stepIds","activeStepWidth","width","didInsertStep","schedule","updateSteps","willDestroyStep","filter","node","id","stepId","didInsertPanel","updatePanels","willDestroyPanel","_panelIds","panelId","onKeyUp","currentStepIndex","event","leftArrow","rightArrow","key","nextStepIndex","findNextInteractiveStepIndex","focusStep","prevStepIndex","steps","querySelectorAll","newStepIds","newStepNodes","forEach","step","panels","newPanelIds","newPanelNodes","panel","increment","newStepIndex","stepIndex","preventDefault","focus","classNames","classes","push","join","setComponentTemplate","precompileTemplate","strictMode","scope","style","HdsStepperNavStep","hash","and","HdsStepperNavPanel"],"mappings":"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"}
@@ -6,7 +6,7 @@ import { precompileTemplate } from '@ember/template-compilation';
6
6
  import { setComponentTemplate } from '@ember/component';
7
7
 
8
8
  /**
9
- * Copyright IBM Corp. 2021, 2025
9
+ * Copyright IBM Corp. 2021, 2026
10
10
  * SPDX-License-Identifier: MPL-2.0
11
11
  */
12
12
  class HdsStepperNavPanel extends Component {
@@ -1 +1 @@
1
- {"version":3,"file":"panel.js","sources":["../../../../../src/components/hds/stepper/nav/panel.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { modifier } from 'ember-modifier';\nimport { not } from 'ember-truth-helpers';\n\nimport type { HdsStepperNavStepIds, HdsStepperNavPanelIds } from '../types.ts';\n\nexport interface HdsStepperNavPanelSignature {\n Args: {\n currentStep: number;\n isNavInteractive?: boolean;\n stepIds?: HdsStepperNavStepIds;\n panelIds?: HdsStepperNavPanelIds;\n didInsertNode?: () => void;\n willDestroyNode?: (element: HTMLElement) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLElement;\n}\n\nexport default class HdsStepperNavPanel extends Component<HdsStepperNavPanelSignature> {\n private _panelId = 'panel-' + guidFor(this);\n private _elementId?: string;\n\n private _setUpPanel = modifier(\n (\n element: HTMLElement,\n [insertCallbackFunction, destroyCallbackFunction]\n ) => {\n if (typeof insertCallbackFunction === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n insertCallbackFunction(element);\n }\n\n return () => {\n if (typeof destroyCallbackFunction === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n destroyCallbackFunction(element);\n }\n };\n }\n );\n\n get isNavInteractive(): boolean {\n return this.args.isNavInteractive != undefined\n ? this.args.isNavInteractive\n : true;\n }\n\n get nodeIndex(): number | undefined {\n return this.args.panelIds?.indexOf(this._panelId);\n }\n\n get coupledStepId(): string | undefined {\n return this.nodeIndex !== undefined\n ? this.args.stepIds?.[this.nodeIndex]\n : undefined;\n }\n\n get isVisible(): boolean {\n return this.nodeIndex === this.args.currentStep;\n }\n\n didInsertNode = (element: HTMLElement): void => {\n const { didInsertNode } = this.args;\n\n if (typeof didInsertNode === 'function') {\n this._elementId = element.id;\n didInsertNode();\n }\n };\n\n willDestroyNode = (element: HTMLElement): void => {\n const { willDestroyNode } = this.args;\n\n if (typeof willDestroyNode === 'function') {\n willDestroyNode(element);\n }\n };\n\n <template>\n <section\n class=\"hds-stepper-nav__panel\"\n ...attributes\n role={{if this.isNavInteractive \"tabpanel\"}}\n id={{this._panelId}}\n hidden={{not this.isVisible}}\n aria-labelledby={{this.coupledStepId}}\n {{this._setUpPanel this.didInsertNode this.willDestroyNode}}\n >\n {{#if this.isVisible}}\n {{yield}}\n {{/if}}\n </section>\n </template>\n}\n"],"names":["HdsStepperNavPanel","Component","_panelId","guidFor","_elementId","_setUpPanel","modifier","element","insertCallbackFunction","destroyCallbackFunction","isNavInteractive","args","undefined","nodeIndex","panelIds","indexOf","coupledStepId","stepIds","isVisible","currentStep","didInsertNode","id","willDestroyNode","setComponentTemplate","precompileTemplate","strictMode","scope","not"],"mappings":";;;;;;;AAAA;;;AAGC;AAwBc,MAAMA,2BAA2BC,SAAA,CAAU;AAChDC,EAAAA,QAAA,GAAW,QAAA,GAAWC,OAAA,CAAQ,IAAI,CAAA;EAClCC,UAAA;EAEAC,cAAcC,QAAA,CACpB,CACEC,OAAS,EACT,CAACC,wBAAwBC,uBAAA,CAAwB,KAAA;AAEjD,IAAA,IAAI,OAAOD,2BAA2B,UAAA,EAAY;AAChD;MACAA,sBAAA,CAAuBD,OAAA,CAAA;AACzB,IAAA;AAEA,IAAA,OAAO,MAAA;AACL,MAAA,IAAI,OAAOE,4BAA4B,UAAA,EAAY;AACjD;QACAA,uBAAA,CAAwBF,OAAA,CAAA;AAC1B,MAAA;IACF,CAAA;AACF,EAAA,CAAA,CAAA;EAGF,IAAIG,gBAAAA,GAA4B;AAC9B,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,gBAAgB,IAAIE,SAAA,GACjC,IAAI,CAACD,IAAI,CAACD,gBAAgB,GAC1B,IAAA;AACN,EAAA;EAEA,IAAIG,SAAAA,GAAgC;IAClC,OAAO,IAAI,CAACF,IAAI,CAACG,QAAQ,EAAEC,OAAA,CAAQ,IAAI,CAACb,QAAQ,CAAA;AAClD,EAAA;EAEA,IAAIc,aAAAA,GAAoC;AACtC,IAAA,OAAO,IAAI,CAACH,SAAS,KAAKD,SAAA,GACtB,IAAI,CAACD,IAAI,CAACM,OAAO,GAAG,IAAI,CAACJ,SAAS,CAAC,GACnCD,SAAA;AACN,EAAA;EAEA,IAAIM,SAAAA,GAAqB;IACvB,OAAO,IAAI,CAACL,SAAS,KAAK,IAAI,CAACF,IAAI,CAACQ,WAAW;AACjD,EAAA;EAEAC,aAAA,GAAiBb,OAAS,IAAkB;IAC1C,MAAM;AAAEa,MAAAA;KAAe,GAAG,IAAI,CAACT,IAAI;AAEnC,IAAA,IAAI,OAAOS,kBAAkB,UAAA,EAAY;AACvC,MAAA,IAAI,CAAChB,UAAU,GAAGG,OAAA,CAAQc,EAAE;AAC5BD,MAAAA,aAAA,EAAA;AACF,IAAA;EACF,CAAA;EAEAE,eAAA,GAAmBf,OAAS,IAAkB;IAC5C,MAAM;AAAEe,MAAAA;KAAiB,GAAG,IAAI,CAACX,IAAI;AAErC,IAAA,IAAI,OAAOW,oBAAoB,UAAA,EAAY;MACzCA,eAAA,CAAgBf,OAAA,CAAA;AAClB,IAAA;EACF,CAAA;AAEA,EAAA;IAAAgB,oBAAA,CAAAC,kBAAA,CAAA,gUAAA,EAcA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"panel.js","sources":["../../../../../src/components/hds/stepper/nav/panel.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { modifier } from 'ember-modifier';\nimport { not } from 'ember-truth-helpers';\n\nimport type { HdsStepperNavStepIds, HdsStepperNavPanelIds } from '../types.ts';\n\nexport interface HdsStepperNavPanelSignature {\n Args: {\n currentStep: number;\n isNavInteractive?: boolean;\n stepIds?: HdsStepperNavStepIds;\n panelIds?: HdsStepperNavPanelIds;\n didInsertNode?: () => void;\n willDestroyNode?: (element: HTMLElement) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLElement;\n}\n\nexport default class HdsStepperNavPanel extends Component<HdsStepperNavPanelSignature> {\n private _panelId = 'panel-' + guidFor(this);\n private _elementId?: string;\n\n private _setUpPanel = modifier(\n (\n element: HTMLElement,\n [insertCallbackFunction, destroyCallbackFunction]\n ) => {\n if (typeof insertCallbackFunction === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n insertCallbackFunction(element);\n }\n\n return () => {\n if (typeof destroyCallbackFunction === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n destroyCallbackFunction(element);\n }\n };\n }\n );\n\n get isNavInteractive(): boolean {\n return this.args.isNavInteractive != undefined\n ? this.args.isNavInteractive\n : true;\n }\n\n get nodeIndex(): number | undefined {\n return this.args.panelIds?.indexOf(this._panelId);\n }\n\n get coupledStepId(): string | undefined {\n return this.nodeIndex !== undefined\n ? this.args.stepIds?.[this.nodeIndex]\n : undefined;\n }\n\n get isVisible(): boolean {\n return this.nodeIndex === this.args.currentStep;\n }\n\n didInsertNode = (element: HTMLElement): void => {\n const { didInsertNode } = this.args;\n\n if (typeof didInsertNode === 'function') {\n this._elementId = element.id;\n didInsertNode();\n }\n };\n\n willDestroyNode = (element: HTMLElement): void => {\n const { willDestroyNode } = this.args;\n\n if (typeof willDestroyNode === 'function') {\n willDestroyNode(element);\n }\n };\n\n <template>\n <section\n class=\"hds-stepper-nav__panel\"\n ...attributes\n role={{if this.isNavInteractive \"tabpanel\"}}\n id={{this._panelId}}\n hidden={{not this.isVisible}}\n aria-labelledby={{this.coupledStepId}}\n {{this._setUpPanel this.didInsertNode this.willDestroyNode}}\n >\n {{#if this.isVisible}}\n {{yield}}\n {{/if}}\n </section>\n </template>\n}\n"],"names":["HdsStepperNavPanel","Component","_panelId","guidFor","_elementId","_setUpPanel","modifier","element","insertCallbackFunction","destroyCallbackFunction","isNavInteractive","args","undefined","nodeIndex","panelIds","indexOf","coupledStepId","stepIds","isVisible","currentStep","didInsertNode","id","willDestroyNode","setComponentTemplate","precompileTemplate","strictMode","scope","not"],"mappings":";;;;;;;AAAA;;;AAGC;AAwBc,MAAMA,2BAA2BC,SAAA,CAAU;AAChDC,EAAAA,QAAA,GAAW,QAAA,GAAWC,OAAA,CAAQ,IAAI,CAAA;EAClCC,UAAA;EAEAC,cAAcC,QAAA,CACpB,CACEC,OAAS,EACT,CAACC,wBAAwBC,uBAAA,CAAwB,KAAA;AAEjD,IAAA,IAAI,OAAOD,2BAA2B,UAAA,EAAY;AAChD;MACAA,sBAAA,CAAuBD,OAAA,CAAA;AACzB,IAAA;AAEA,IAAA,OAAO,MAAA;AACL,MAAA,IAAI,OAAOE,4BAA4B,UAAA,EAAY;AACjD;QACAA,uBAAA,CAAwBF,OAAA,CAAA;AAC1B,MAAA;IACF,CAAA;AACF,EAAA,CAAA,CAAA;EAGF,IAAIG,gBAAAA,GAA4B;AAC9B,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,gBAAgB,IAAIE,SAAA,GACjC,IAAI,CAACD,IAAI,CAACD,gBAAgB,GAC1B,IAAA;AACN,EAAA;EAEA,IAAIG,SAAAA,GAAgC;IAClC,OAAO,IAAI,CAACF,IAAI,CAACG,QAAQ,EAAEC,OAAA,CAAQ,IAAI,CAACb,QAAQ,CAAA;AAClD,EAAA;EAEA,IAAIc,aAAAA,GAAoC;AACtC,IAAA,OAAO,IAAI,CAACH,SAAS,KAAKD,SAAA,GACtB,IAAI,CAACD,IAAI,CAACM,OAAO,GAAG,IAAI,CAACJ,SAAS,CAAC,GACnCD,SAAA;AACN,EAAA;EAEA,IAAIM,SAAAA,GAAqB;IACvB,OAAO,IAAI,CAACL,SAAS,KAAK,IAAI,CAACF,IAAI,CAACQ,WAAW;AACjD,EAAA;EAEAC,aAAA,GAAiBb,OAAS,IAAkB;IAC1C,MAAM;AAAEa,MAAAA;KAAe,GAAG,IAAI,CAACT,IAAI;AAEnC,IAAA,IAAI,OAAOS,kBAAkB,UAAA,EAAY;AACvC,MAAA,IAAI,CAAChB,UAAU,GAAGG,OAAA,CAAQc,EAAE;AAC5BD,MAAAA,aAAA,EAAA;AACF,IAAA;EACF,CAAA;EAEAE,eAAA,GAAmBf,OAAS,IAAkB;IAC5C,MAAM;AAAEe,MAAAA;KAAiB,GAAG,IAAI,CAACX,IAAI;AAErC,IAAA,IAAI,OAAOW,oBAAoB,UAAA,EAAY;MACzCA,eAAA,CAAgBf,OAAA,CAAA;AAClB,IAAA;EACF,CAAA;AAEA,EAAA;IAAAgB,oBAAA,CAAAC,kBAAA,CAAA,gUAAA,EAcA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -12,7 +12,7 @@ import { setComponentTemplate } from '@ember/component';
12
12
  import { g, i } from 'decorator-transforms/runtime';
13
13
 
14
14
  /**
15
- * Copyright IBM Corp. 2021, 2025
15
+ * Copyright IBM Corp. 2021, 2026
16
16
  * SPDX-License-Identifier: MPL-2.0
17
17
  */
18
18
  const MAPPING_STATUS_TO_INDICATOR_STATUS = HdsStepperNavStatusToIndicatorStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"step.js","sources":["../../../../../src/components/hds/stepper/nav/step.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { modifier } from 'ember-modifier';\nimport { eq } from 'ember-truth-helpers';\nimport { on } from '@ember/modifier';\n\nimport { service } from '@ember/service';\nimport type HdsIntlService from '../../../../services/hds-intl';\nimport type Owner from '@ember/owner';\n\nimport {\n HdsStepperNavStatusesValues,\n HdsStepperNavStatusToIndicatorStatus,\n HdsStepperNavStatusToSrOnlyText,\n HdsStepperTitleTagValues,\n} from '../types.ts';\nimport HdsStepperStepIndicator from '../step/indicator.gts';\nimport HdsTextBody from '../../text/body.gts';\n\nimport type {\n HdsStepperNavPanelIds,\n HdsStepperNavStatuses,\n HdsStepperNavStepIds,\n HdsStepperStatuses,\n HdsStepperTitleTags,\n} from '../types.ts';\n\nexport const MAPPING_STATUS_TO_INDICATOR_STATUS =\n HdsStepperNavStatusToIndicatorStatus;\n\nexport interface HdsStepperNavStepSignature {\n Args: {\n currentStep: number;\n isNavInteractive?: boolean;\n titleTag?: HdsStepperTitleTags;\n stepIds?: HdsStepperNavStepIds;\n panelIds?: HdsStepperNavPanelIds;\n didInsertNode?: () => void;\n willDestroyNode?: (element: HTMLButtonElement) => void;\n onStepChange?: (event: MouseEvent, nodeIndex: number) => void;\n onKeyUp?: (nodeIndex: number, event: KeyboardEvent) => void;\n };\n Blocks: {\n title: [];\n description?: [];\n };\n Element: HTMLElement;\n}\n\nexport default class HdsStepperNavStep extends Component<HdsStepperNavStepSignature> {\n @service declare readonly hdsIntl: HdsIntlService;\n\n private _statusSrOnlyTextMap?: Record<HdsStepperNavStatuses, string>;\n private _stepId = 'step-' + guidFor(this);\n private _elementId?: string;\n\n private _setUpStep = modifier(\n (\n element: HTMLElement,\n [insertCallbackFunction, destroyCallbackFunction]\n ) => {\n if (typeof insertCallbackFunction === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n insertCallbackFunction(element);\n }\n\n return () => {\n if (typeof destroyCallbackFunction === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n destroyCallbackFunction(element);\n }\n };\n }\n );\n\n constructor(owner: Owner, args: HdsStepperNavStepSignature['Args']) {\n super(owner, args);\n\n this._statusSrOnlyTextMap = HdsStepperNavStatusToSrOnlyText(this.hdsIntl);\n }\n\n get titleTag(): HdsStepperTitleTags {\n return this.args.titleTag ?? HdsStepperTitleTagValues.Div;\n }\n\n get isNavInteractive(): boolean {\n return this.args.isNavInteractive != undefined\n ? this.args.isNavInteractive\n : true;\n }\n\n get nodeIndex(): number | undefined {\n return this.args.stepIds?.indexOf(this._stepId);\n }\n\n get stepNumber(): number | undefined {\n return this.args.stepIds\n ? this.args.stepIds.indexOf(this._stepId) + 1\n : undefined;\n }\n\n get coupledPanelId(): string | undefined {\n return this.nodeIndex !== undefined\n ? this.args.panelIds?.[this.nodeIndex]\n : undefined;\n }\n\n get status(): HdsStepperNavStatuses {\n if (this.nodeIndex != undefined && this.nodeIndex >= 0) {\n if (this.nodeIndex === this.args.currentStep) {\n return HdsStepperNavStatusesValues.Active;\n } else if (this.nodeIndex < this.args.currentStep) {\n return HdsStepperNavStatusesValues.Complete;\n } else {\n return HdsStepperNavStatusesValues.Incomplete;\n }\n } else {\n return HdsStepperNavStatusesValues.Incomplete;\n }\n }\n\n get stepIndicatorStatus(): HdsStepperStatuses {\n return MAPPING_STATUS_TO_INDICATOR_STATUS[this.status];\n }\n\n get statusSrOnlyText(): string {\n return this._statusSrOnlyTextMap![this.status];\n }\n\n get isInteractive(): boolean {\n return (\n this.isNavInteractive &&\n this.status === HdsStepperNavStatusesValues.Complete\n );\n }\n\n didInsertNode = (element: HTMLButtonElement): void => {\n const { didInsertNode } = this.args;\n\n if (typeof didInsertNode === 'function') {\n this._elementId = element.id;\n didInsertNode();\n }\n };\n\n willDestroyNode = (element: HTMLButtonElement): void => {\n const { willDestroyNode } = this.args;\n\n if (typeof willDestroyNode === 'function') {\n willDestroyNode(element);\n }\n };\n\n onStepChange = (event: MouseEvent): false | undefined => {\n const { onStepChange } = this.args;\n\n if (\n this.isInteractive &&\n this.nodeIndex !== undefined &&\n typeof onStepChange === 'function'\n ) {\n onStepChange(event, this.nodeIndex);\n } else {\n return false;\n }\n };\n\n onKeyUp = (event: KeyboardEvent): void => {\n const { onKeyUp } = this.args;\n\n if (\n !(this.status === HdsStepperNavStatusesValues.Incomplete) &&\n this.nodeIndex !== undefined &&\n typeof onKeyUp === 'function'\n ) {\n onKeyUp(this.nodeIndex, event);\n }\n };\n\n get classNames(): string {\n const classes = ['hds-stepper-nav__step'];\n\n classes.push(`hds-stepper-nav__step--${this.status}`);\n\n if (this.isInteractive) {\n classes.push('hds-stepper-nav__step--interactive');\n }\n\n if (this.isNavInteractive) {\n classes.push('hds-stepper-nav__step--nav-interactive');\n }\n\n return classes.join(' ');\n }\n\n <template>\n {{! template-lint-disable require-context-role no-invalid-role }}\n {{! template-lint-disable require-presentational-children }}\n {{#if this.isNavInteractive}}\n <li\n class={{this.classNames}}\n ...attributes\n role={{if this.isNavInteractive \"presentation\"}}\n >\n <button\n class=\"hds-stepper-nav__step-content hds-stepper-nav__step-button\"\n id={{this._stepId}}\n tabindex={{unless (eq this.status \"active\") \"-1\"}}\n type=\"button\"\n role=\"tab\"\n aria-controls={{this.coupledPanelId}}\n aria-selected={{if (eq this.status \"active\") \"true\" \"false\"}}\n aria-disabled={{if (eq this.status \"incomplete\") \"true\" \"false\"}}\n {{on \"click\" this.onStepChange}}\n {{on \"keyup\" this.onKeyUp}}\n {{this._setUpStep this.didInsertNode this.willDestroyNode}}\n >\n <div class=\"hds-stepper-nav__step-progress\">\n <HdsStepperStepIndicator\n @text=\"{{this.stepNumber}}\"\n @status={{this.stepIndicatorStatus}}\n @isInteractive={{true}}\n class=\"hds-stepper-nav__step-indicator\"\n />\n </div>\n <div class=\"hds-stepper-nav__step-text\">\n <HdsTextBody\n class=\"hds-stepper-nav__step-title\"\n @tag={{this.titleTag}}\n @size=\"200\"\n @weight=\"semibold\"\n >\n {{yield to=\"title\"}}\n <span class=\"sr-only\">{{this.statusSrOnlyText}}</span>\n </HdsTextBody>\n {{#if (has-block \"description\")}}\n <HdsTextBody\n class=\"hds-stepper-nav__step-description\"\n @tag=\"div\"\n @size=\"100\"\n @weight=\"regular\"\n >\n {{yield to=\"description\"}}\n </HdsTextBody>\n {{/if}}\n </div>\n </button>\n </li>\n {{else}}\n <li\n class={{this.classNames}}\n ...attributes\n role={{if this.isNavInteractive \"presentation\"}}\n aria-current={{if (eq this.status \"active\") \"step\" \"false\"}}\n >\n <div\n class=\"hds-stepper-nav__step-content\"\n id={{this._stepId}}\n {{this._setUpStep this.didInsertNode this.willDestroyNode}}\n >\n <div class=\"hds-stepper-nav__step-progress\">\n <HdsStepperStepIndicator\n @text=\"{{this.stepNumber}}\"\n @status={{this.stepIndicatorStatus}}\n @isInteractive={{false}}\n aria-hidden=\"true\"\n class=\"hds-stepper-nav__step-indicator\"\n />\n </div>\n <div class=\"hds-stepper-nav__step-text\">\n <HdsTextBody\n class=\"hds-stepper-nav__step-title\"\n @tag={{this.titleTag}}\n @size=\"200\"\n @weight=\"semibold\"\n >\n {{yield to=\"title\"}}\n <span class=\"sr-only\">{{this.statusSrOnlyText}}</span>\n </HdsTextBody>\n {{#if (has-block \"description\")}}\n <HdsTextBody\n class=\"hds-stepper-nav__step-description\"\n @tag=\"div\"\n @size=\"100\"\n @weight=\"regular\"\n >\n {{yield to=\"description\"}}\n </HdsTextBody>\n {{/if}}\n </div>\n </div>\n </li>\n {{/if}}\n {{! template-lint-enable require-presentational-children }}\n {{! template-lint-enable require-context-role no-invalid-role }}\n </template>\n}\n"],"names":["MAPPING_STATUS_TO_INDICATOR_STATUS","HdsStepperNavStatusToIndicatorStatus","HdsStepperNavStep","Component","g","prototype","service","i","_statusSrOnlyTextMap","_stepId","guidFor","_elementId","_setUpStep","modifier","element","insertCallbackFunction","destroyCallbackFunction","constructor","owner","args","HdsStepperNavStatusToSrOnlyText","hdsIntl","titleTag","HdsStepperTitleTagValues","Div","isNavInteractive","undefined","nodeIndex","stepIds","indexOf","stepNumber","coupledPanelId","panelIds","status","currentStep","HdsStepperNavStatusesValues","Active","Complete","Incomplete","stepIndicatorStatus","statusSrOnlyText","isInteractive","didInsertNode","id","willDestroyNode","onStepChange","event","onKeyUp","classNames","classes","push","join","setComponentTemplate","precompileTemplate","strictMode","scope","eq","on","HdsStepperStepIndicator","HdsTextBody"],"mappings":"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"}
1
+ {"version":3,"file":"step.js","sources":["../../../../../src/components/hds/stepper/nav/step.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { modifier } from 'ember-modifier';\nimport { eq } from 'ember-truth-helpers';\nimport { on } from '@ember/modifier';\n\nimport { service } from '@ember/service';\nimport type HdsIntlService from '../../../../services/hds-intl';\nimport type Owner from '@ember/owner';\n\nimport {\n HdsStepperNavStatusesValues,\n HdsStepperNavStatusToIndicatorStatus,\n HdsStepperNavStatusToSrOnlyText,\n HdsStepperTitleTagValues,\n} from '../types.ts';\nimport HdsStepperStepIndicator from '../step/indicator.gts';\nimport HdsTextBody from '../../text/body.gts';\n\nimport type {\n HdsStepperNavPanelIds,\n HdsStepperNavStatuses,\n HdsStepperNavStepIds,\n HdsStepperStatuses,\n HdsStepperTitleTags,\n} from '../types.ts';\n\nexport const MAPPING_STATUS_TO_INDICATOR_STATUS =\n HdsStepperNavStatusToIndicatorStatus;\n\nexport interface HdsStepperNavStepSignature {\n Args: {\n currentStep: number;\n isNavInteractive?: boolean;\n titleTag?: HdsStepperTitleTags;\n stepIds?: HdsStepperNavStepIds;\n panelIds?: HdsStepperNavPanelIds;\n didInsertNode?: () => void;\n willDestroyNode?: (element: HTMLButtonElement) => void;\n onStepChange?: (event: MouseEvent, nodeIndex: number) => void;\n onKeyUp?: (nodeIndex: number, event: KeyboardEvent) => void;\n };\n Blocks: {\n title: [];\n description?: [];\n };\n Element: HTMLElement;\n}\n\nexport default class HdsStepperNavStep extends Component<HdsStepperNavStepSignature> {\n @service declare readonly hdsIntl: HdsIntlService;\n\n private _statusSrOnlyTextMap?: Record<HdsStepperNavStatuses, string>;\n private _stepId = 'step-' + guidFor(this);\n private _elementId?: string;\n\n private _setUpStep = modifier(\n (\n element: HTMLElement,\n [insertCallbackFunction, destroyCallbackFunction]\n ) => {\n if (typeof insertCallbackFunction === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n insertCallbackFunction(element);\n }\n\n return () => {\n if (typeof destroyCallbackFunction === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n destroyCallbackFunction(element);\n }\n };\n }\n );\n\n constructor(owner: Owner, args: HdsStepperNavStepSignature['Args']) {\n super(owner, args);\n\n this._statusSrOnlyTextMap = HdsStepperNavStatusToSrOnlyText(this.hdsIntl);\n }\n\n get titleTag(): HdsStepperTitleTags {\n return this.args.titleTag ?? HdsStepperTitleTagValues.Div;\n }\n\n get isNavInteractive(): boolean {\n return this.args.isNavInteractive != undefined\n ? this.args.isNavInteractive\n : true;\n }\n\n get nodeIndex(): number | undefined {\n return this.args.stepIds?.indexOf(this._stepId);\n }\n\n get stepNumber(): number | undefined {\n return this.args.stepIds\n ? this.args.stepIds.indexOf(this._stepId) + 1\n : undefined;\n }\n\n get coupledPanelId(): string | undefined {\n return this.nodeIndex !== undefined\n ? this.args.panelIds?.[this.nodeIndex]\n : undefined;\n }\n\n get status(): HdsStepperNavStatuses {\n if (this.nodeIndex != undefined && this.nodeIndex >= 0) {\n if (this.nodeIndex === this.args.currentStep) {\n return HdsStepperNavStatusesValues.Active;\n } else if (this.nodeIndex < this.args.currentStep) {\n return HdsStepperNavStatusesValues.Complete;\n } else {\n return HdsStepperNavStatusesValues.Incomplete;\n }\n } else {\n return HdsStepperNavStatusesValues.Incomplete;\n }\n }\n\n get stepIndicatorStatus(): HdsStepperStatuses {\n return MAPPING_STATUS_TO_INDICATOR_STATUS[this.status];\n }\n\n get statusSrOnlyText(): string {\n return this._statusSrOnlyTextMap![this.status];\n }\n\n get isInteractive(): boolean {\n return (\n this.isNavInteractive &&\n this.status === HdsStepperNavStatusesValues.Complete\n );\n }\n\n didInsertNode = (element: HTMLButtonElement): void => {\n const { didInsertNode } = this.args;\n\n if (typeof didInsertNode === 'function') {\n this._elementId = element.id;\n didInsertNode();\n }\n };\n\n willDestroyNode = (element: HTMLButtonElement): void => {\n const { willDestroyNode } = this.args;\n\n if (typeof willDestroyNode === 'function') {\n willDestroyNode(element);\n }\n };\n\n onStepChange = (event: MouseEvent): false | undefined => {\n const { onStepChange } = this.args;\n\n if (\n this.isInteractive &&\n this.nodeIndex !== undefined &&\n typeof onStepChange === 'function'\n ) {\n onStepChange(event, this.nodeIndex);\n } else {\n return false;\n }\n };\n\n onKeyUp = (event: KeyboardEvent): void => {\n const { onKeyUp } = this.args;\n\n if (\n !(this.status === HdsStepperNavStatusesValues.Incomplete) &&\n this.nodeIndex !== undefined &&\n typeof onKeyUp === 'function'\n ) {\n onKeyUp(this.nodeIndex, event);\n }\n };\n\n get classNames(): string {\n const classes = ['hds-stepper-nav__step'];\n\n classes.push(`hds-stepper-nav__step--${this.status}`);\n\n if (this.isInteractive) {\n classes.push('hds-stepper-nav__step--interactive');\n }\n\n if (this.isNavInteractive) {\n classes.push('hds-stepper-nav__step--nav-interactive');\n }\n\n return classes.join(' ');\n }\n\n <template>\n {{! template-lint-disable require-context-role no-invalid-role }}\n {{! template-lint-disable require-presentational-children }}\n {{#if this.isNavInteractive}}\n <li\n class={{this.classNames}}\n ...attributes\n role={{if this.isNavInteractive \"presentation\"}}\n >\n <button\n class=\"hds-stepper-nav__step-content hds-stepper-nav__step-button\"\n id={{this._stepId}}\n tabindex={{unless (eq this.status \"active\") \"-1\"}}\n type=\"button\"\n role=\"tab\"\n aria-controls={{this.coupledPanelId}}\n aria-selected={{if (eq this.status \"active\") \"true\" \"false\"}}\n aria-disabled={{if (eq this.status \"incomplete\") \"true\" \"false\"}}\n {{on \"click\" this.onStepChange}}\n {{on \"keyup\" this.onKeyUp}}\n {{this._setUpStep this.didInsertNode this.willDestroyNode}}\n >\n <div class=\"hds-stepper-nav__step-progress\">\n <HdsStepperStepIndicator\n @text=\"{{this.stepNumber}}\"\n @status={{this.stepIndicatorStatus}}\n @isInteractive={{true}}\n class=\"hds-stepper-nav__step-indicator\"\n />\n </div>\n <div class=\"hds-stepper-nav__step-text\">\n <HdsTextBody\n class=\"hds-stepper-nav__step-title\"\n @tag={{this.titleTag}}\n @size=\"200\"\n @weight=\"semibold\"\n >\n {{yield to=\"title\"}}\n <span class=\"sr-only\">{{this.statusSrOnlyText}}</span>\n </HdsTextBody>\n {{#if (has-block \"description\")}}\n <HdsTextBody\n class=\"hds-stepper-nav__step-description\"\n @tag=\"div\"\n @size=\"100\"\n @weight=\"regular\"\n >\n {{yield to=\"description\"}}\n </HdsTextBody>\n {{/if}}\n </div>\n </button>\n </li>\n {{else}}\n <li\n class={{this.classNames}}\n ...attributes\n role={{if this.isNavInteractive \"presentation\"}}\n aria-current={{if (eq this.status \"active\") \"step\" \"false\"}}\n >\n <div\n class=\"hds-stepper-nav__step-content\"\n id={{this._stepId}}\n {{this._setUpStep this.didInsertNode this.willDestroyNode}}\n >\n <div class=\"hds-stepper-nav__step-progress\">\n <HdsStepperStepIndicator\n @text=\"{{this.stepNumber}}\"\n @status={{this.stepIndicatorStatus}}\n @isInteractive={{false}}\n aria-hidden=\"true\"\n class=\"hds-stepper-nav__step-indicator\"\n />\n </div>\n <div class=\"hds-stepper-nav__step-text\">\n <HdsTextBody\n class=\"hds-stepper-nav__step-title\"\n @tag={{this.titleTag}}\n @size=\"200\"\n @weight=\"semibold\"\n >\n {{yield to=\"title\"}}\n <span class=\"sr-only\">{{this.statusSrOnlyText}}</span>\n </HdsTextBody>\n {{#if (has-block \"description\")}}\n <HdsTextBody\n class=\"hds-stepper-nav__step-description\"\n @tag=\"div\"\n @size=\"100\"\n @weight=\"regular\"\n >\n {{yield to=\"description\"}}\n </HdsTextBody>\n {{/if}}\n </div>\n </div>\n </li>\n {{/if}}\n {{! template-lint-enable require-presentational-children }}\n {{! template-lint-enable require-context-role no-invalid-role }}\n </template>\n}\n"],"names":["MAPPING_STATUS_TO_INDICATOR_STATUS","HdsStepperNavStatusToIndicatorStatus","HdsStepperNavStep","Component","g","prototype","service","i","_statusSrOnlyTextMap","_stepId","guidFor","_elementId","_setUpStep","modifier","element","insertCallbackFunction","destroyCallbackFunction","constructor","owner","args","HdsStepperNavStatusToSrOnlyText","hdsIntl","titleTag","HdsStepperTitleTagValues","Div","isNavInteractive","undefined","nodeIndex","stepIds","indexOf","stepNumber","coupledPanelId","panelIds","status","currentStep","HdsStepperNavStatusesValues","Active","Complete","Incomplete","stepIndicatorStatus","statusSrOnlyText","isInteractive","didInsertNode","id","willDestroyNode","onStepChange","event","onKeyUp","classNames","classes","push","join","setComponentTemplate","precompileTemplate","strictMode","scope","eq","on","HdsStepperStepIndicator","HdsTextBody"],"mappings":"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"}
@@ -8,7 +8,7 @@ import { precompileTemplate } from '@ember/template-compilation';
8
8
  import { setComponentTemplate } from '@ember/component';
9
9
 
10
10
  /**
11
- * Copyright IBM Corp. 2021, 2025
11
+ * Copyright IBM Corp. 2021, 2026
12
12
  * SPDX-License-Identifier: MPL-2.0
13
13
  */
14
14
  const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;
@@ -1 +1 @@
1
- {"version":3,"file":"indicator.js","sources":["../../../../../src/components/hds/stepper/step/indicator.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport { eq } from 'ember-truth-helpers';\n\nimport { HdsStepperStatusesValues } from '../types.ts';\nimport HdsIcon from '../../icon/index.gts';\nimport HdsTextBody from '../../text/body.gts';\n\nimport type { HdsStepperStatuses } from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: HdsStepperStatuses[] = Object.values(\n HdsStepperStatusesValues\n);\n\nexport interface HdsStepperStepIndicatorSignature {\n Args: {\n status?: HdsStepperStatuses;\n isInteractive?: boolean;\n text?: string;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsStepperStepIndicator extends Component<HdsStepperStepIndicatorSignature> {\n get status(): HdsStepperStatuses {\n const { status = DEFAULT_STATUS } = this.args;\n\n assert(\n `@status for \"Hds::Stepper::Step::Indicator\" must be one of the following: ${STATUSES.join(\n ', '\n )}; received: ${status}`,\n STATUSES.includes(status)\n );\n\n return status;\n }\n\n get isInteractive(): boolean {\n return this.args.isInteractive || false;\n }\n\n get classNames(): string {\n const classes = ['hds-stepper-indicator-step'];\n\n // Based on the @status arg\n classes.push(`hds-stepper-indicator-step--status-${this.status}`);\n\n if (this.isInteractive) {\n classes.push(`hds-stepper-indicator-step--is-interactive`);\n }\n\n return classes.join(' ');\n }\n\n <template>\n <div class={{this.classNames}} ...attributes>\n <div class=\"hds-stepper-indicator-step__svg-hexagon\">\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"m3.664 6.264 6.99-4.42a2.5 2.5 0 0 1 2.67-.002l7.01 4.422A2.5 2.5 0 0 1 21.5 8.38v7.242a2.5 2.5 0 0 1-1.166 2.115l-7.01 4.422a2.5 2.5 0 0 1-2.67-.002l-6.99-4.42A2.5 2.5 0 0 1 2.5 15.623V8.377a2.5 2.5 0 0 1 1.164-2.113Z\"\n stroke-width=\"1\"\n ></path>\n </svg>\n </div>\n <div class=\"hds-stepper-indicator-step__status\">\n {{#if (eq @status \"processing\")}}\n <HdsIcon\n class=\"hds-stepper-indicator-step__icon\"\n @name=\"loading\"\n @size=\"16\"\n />\n {{else if (eq @status \"complete\")}}\n <HdsIcon\n class=\"hds-stepper-indicator-step__icon\"\n @name=\"check\"\n @size=\"16\"\n />\n {{else}}\n <HdsTextBody\n class=\"hds-stepper-indicator-step__text\"\n @tag=\"span\"\n @size=\"100\"\n @weight=\"medium\"\n >{{@text}}</HdsTextBody>\n {{/if}}\n </div>\n </div>\n </template>\n}\n"],"names":["DEFAULT_STATUS","HdsStepperStatusesValues","Incomplete","STATUSES","Object","values","HdsStepperStepIndicator","Component","status","args","assert","join","includes","isInteractive","classNames","classes","push","setComponentTemplate","precompileTemplate","strictMode","scope","eq","HdsIcon","HdsTextBody"],"mappings":";;;;;;;;;AAAA;;;AAGC;AAYM,MAAMA,cAAA,GAAiBC,wBAAA,CAAyBC;AAChD,MAAMC,QAAU,GAAuBC,MAAA,CAAOC,MAAM,CACzDJ,wBAAA;AAYa,MAAMK,gCAAgCC,SAAA,CAAU;EAC7D,IAAIC,SAA6B;IAC/B,MAAM;AAAEA,MAAAA,MAAA,GAASR;KAAgB,GAAG,IAAI,CAACS,IAAI;AAE7CC,IAAAA,MAAA,CACE,CAAA,0EAAA,EAA6EP,QAAA,CAASQ,IAAI,CACxF,IAAA,CAAA,CAAA,YAAA,EACcH,MAAA,CAAA,CAAQ,EACxBL,QAAA,CAASS,QAAQ,CAACJ,MAAA,CAAA,CAAA;AAGpB,IAAA,OAAOA,MAAA;AACT,EAAA;EAEA,IAAIK,aAAAA,GAAyB;AAC3B,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,aAAa,IAAI,KAAA;AACpC,EAAA;EAEA,IAAIC,UAAAA,GAAqB;AACvB,IAAA,MAAMC,OAAA,GAAU,CAAC,4BAAA,CAA6B;AAE9C;IACAA,OAAA,CAAQC,IAAI,CAAC,CAAA,mCAAA,EAAsC,IAAI,CAACR,MAAM,EAAE,CAAA;IAEhE,IAAI,IAAI,CAACK,aAAa,EAAE;AACtBE,MAAAA,OAAA,CAAQC,IAAI,CAAC,CAAA,0CAAA,CAA4C,CAAA;AAC3D,IAAA;AAEA,IAAA,OAAOD,OAAA,CAAQJ,IAAI,CAAC,GAAA,CAAA;AACtB,EAAA;AAEA,EAAA;IAAAM,oBAAA,CAAAC,kBAAA,CAAA,kgCAAA,EAwCA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,EAAA;QAAAC,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"indicator.js","sources":["../../../../../src/components/hds/stepper/step/indicator.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport { eq } from 'ember-truth-helpers';\n\nimport { HdsStepperStatusesValues } from '../types.ts';\nimport HdsIcon from '../../icon/index.gts';\nimport HdsTextBody from '../../text/body.gts';\n\nimport type { HdsStepperStatuses } from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: HdsStepperStatuses[] = Object.values(\n HdsStepperStatusesValues\n);\n\nexport interface HdsStepperStepIndicatorSignature {\n Args: {\n status?: HdsStepperStatuses;\n isInteractive?: boolean;\n text?: string;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsStepperStepIndicator extends Component<HdsStepperStepIndicatorSignature> {\n get status(): HdsStepperStatuses {\n const { status = DEFAULT_STATUS } = this.args;\n\n assert(\n `@status for \"Hds::Stepper::Step::Indicator\" must be one of the following: ${STATUSES.join(\n ', '\n )}; received: ${status}`,\n STATUSES.includes(status)\n );\n\n return status;\n }\n\n get isInteractive(): boolean {\n return this.args.isInteractive || false;\n }\n\n get classNames(): string {\n const classes = ['hds-stepper-indicator-step'];\n\n // Based on the @status arg\n classes.push(`hds-stepper-indicator-step--status-${this.status}`);\n\n if (this.isInteractive) {\n classes.push(`hds-stepper-indicator-step--is-interactive`);\n }\n\n return classes.join(' ');\n }\n\n <template>\n <div class={{this.classNames}} ...attributes>\n <div class=\"hds-stepper-indicator-step__svg-hexagon\">\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"m3.664 6.264 6.99-4.42a2.5 2.5 0 0 1 2.67-.002l7.01 4.422A2.5 2.5 0 0 1 21.5 8.38v7.242a2.5 2.5 0 0 1-1.166 2.115l-7.01 4.422a2.5 2.5 0 0 1-2.67-.002l-6.99-4.42A2.5 2.5 0 0 1 2.5 15.623V8.377a2.5 2.5 0 0 1 1.164-2.113Z\"\n stroke-width=\"1\"\n ></path>\n </svg>\n </div>\n <div class=\"hds-stepper-indicator-step__status\">\n {{#if (eq @status \"processing\")}}\n <HdsIcon\n class=\"hds-stepper-indicator-step__icon\"\n @name=\"loading\"\n @size=\"16\"\n />\n {{else if (eq @status \"complete\")}}\n <HdsIcon\n class=\"hds-stepper-indicator-step__icon\"\n @name=\"check\"\n @size=\"16\"\n />\n {{else}}\n <HdsTextBody\n class=\"hds-stepper-indicator-step__text\"\n @tag=\"span\"\n @size=\"100\"\n @weight=\"medium\"\n >{{@text}}</HdsTextBody>\n {{/if}}\n </div>\n </div>\n </template>\n}\n"],"names":["DEFAULT_STATUS","HdsStepperStatusesValues","Incomplete","STATUSES","Object","values","HdsStepperStepIndicator","Component","status","args","assert","join","includes","isInteractive","classNames","classes","push","setComponentTemplate","precompileTemplate","strictMode","scope","eq","HdsIcon","HdsTextBody"],"mappings":";;;;;;;;;AAAA;;;AAGC;AAYM,MAAMA,cAAA,GAAiBC,wBAAA,CAAyBC;AAChD,MAAMC,QAAU,GAAuBC,MAAA,CAAOC,MAAM,CACzDJ,wBAAA;AAYa,MAAMK,gCAAgCC,SAAA,CAAU;EAC7D,IAAIC,SAA6B;IAC/B,MAAM;AAAEA,MAAAA,MAAA,GAASR;KAAgB,GAAG,IAAI,CAACS,IAAI;AAE7CC,IAAAA,MAAA,CACE,CAAA,0EAAA,EAA6EP,QAAA,CAASQ,IAAI,CACxF,IAAA,CAAA,CAAA,YAAA,EACcH,MAAA,CAAA,CAAQ,EACxBL,QAAA,CAASS,QAAQ,CAACJ,MAAA,CAAA,CAAA;AAGpB,IAAA,OAAOA,MAAA;AACT,EAAA;EAEA,IAAIK,aAAAA,GAAyB;AAC3B,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,aAAa,IAAI,KAAA;AACpC,EAAA;EAEA,IAAIC,UAAAA,GAAqB;AACvB,IAAA,MAAMC,OAAA,GAAU,CAAC,4BAAA,CAA6B;AAE9C;IACAA,OAAA,CAAQC,IAAI,CAAC,CAAA,mCAAA,EAAsC,IAAI,CAACR,MAAM,EAAE,CAAA;IAEhE,IAAI,IAAI,CAACK,aAAa,EAAE;AACtBE,MAAAA,OAAA,CAAQC,IAAI,CAAC,CAAA,0CAAA,CAA4C,CAAA;AAC3D,IAAA;AAEA,IAAA,OAAOD,OAAA,CAAQJ,IAAI,CAAC,GAAA,CAAA;AACtB,EAAA;AAEA,EAAA;IAAAM,oBAAA,CAAAC,kBAAA,CAAA,kgCAAA,EAwCA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,EAAA;QAAAC,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -6,7 +6,7 @@ import { precompileTemplate } from '@ember/template-compilation';
6
6
  import { setComponentTemplate } from '@ember/component';
7
7
 
8
8
  /**
9
- * Copyright IBM Corp. 2021, 2025
9
+ * Copyright IBM Corp. 2021, 2026
10
10
  * SPDX-License-Identifier: MPL-2.0
11
11
  */
12
12
  const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;
@@ -1 +1 @@
1
- {"version":3,"file":"indicator.js","sources":["../../../../../src/components/hds/stepper/task/indicator.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport {\n HdsStepperStatusesValues,\n HdsStepperStatusToIconsValues,\n} from '../types.ts';\nimport HdsIcon from '../../icon/index.gts';\n\nimport type { HdsIconSignature } from '../../icon/index.gts';\nimport type { HdsStepperStatuses } from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: HdsStepperStatuses[] = Object.values(\n HdsStepperStatusesValues\n);\n\nexport const MAPPING_STATUS_TO_ICONS = HdsStepperStatusToIconsValues;\n\nexport interface HdsStepperTaskIndicatorSignature {\n Args: {\n status?: HdsStepperStatuses;\n isInteractive?: boolean;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsStepperTaskIndicator extends Component<HdsStepperTaskIndicatorSignature> {\n get status(): HdsStepperStatuses {\n const { status = DEFAULT_STATUS } = this.args;\n\n assert(\n `@status for \"Hds::Stepper::Task::Indicator\" must be one of the following: ${STATUSES.join(\n ', '\n )}; received: ${status}`,\n STATUSES.includes(status)\n );\n\n return status;\n }\n\n get isInteractive(): boolean {\n return this.args.isInteractive || false;\n }\n\n get iconName(): HdsIconSignature['Args']['name'] {\n return MAPPING_STATUS_TO_ICONS[this.status];\n }\n\n get classNames(): string {\n const classes = ['hds-stepper-indicator-task'];\n\n // Based on the @status arg\n classes.push(`hds-stepper-indicator-task--status-${this.status}`);\n\n if (this.isInteractive) {\n classes.push(`hds-stepper-indicator-task--is-interactive`);\n }\n\n return classes.join(' ');\n }\n\n <template>\n <div class={{this.classNames}} ...attributes>\n <HdsIcon\n class=\"hds-stepper-indicator-task__icon\"\n @name={{this.iconName}}\n @size=\"16\"\n />\n </div>\n </template>\n}\n"],"names":["DEFAULT_STATUS","HdsStepperStatusesValues","Incomplete","STATUSES","Object","values","MAPPING_STATUS_TO_ICONS","HdsStepperStatusToIconsValues","HdsStepperTaskIndicator","Component","status","args","assert","join","includes","isInteractive","iconName","classNames","classes","push","setComponentTemplate","precompileTemplate","strictMode","scope","HdsIcon"],"mappings":";;;;;;;AAAA;;;AAGC;AAcM,MAAMA,cAAA,GAAiBC,wBAAA,CAAyBC;AAChD,MAAMC,QAAU,GAAuBC,MAAA,CAAOC,MAAM,CACzDJ,wBAAA;AAGK,MAAMK,0BAA0BC;AAUxB,MAAMC,gCAAgCC,SAAA,CAAU;EAC7D,IAAIC,SAA6B;IAC/B,MAAM;AAAEA,MAAAA,MAAA,GAASV;KAAgB,GAAG,IAAI,CAACW,IAAI;AAE7CC,IAAAA,MAAA,CACE,CAAA,0EAAA,EAA6ET,QAAA,CAASU,IAAI,CACxF,IAAA,CAAA,CAAA,YAAA,EACcH,MAAA,CAAA,CAAQ,EACxBP,QAAA,CAASW,QAAQ,CAACJ,MAAA,CAAA,CAAA;AAGpB,IAAA,OAAOA,MAAA;AACT,EAAA;EAEA,IAAIK,aAAAA,GAAyB;AAC3B,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,aAAa,IAAI,KAAA;AACpC,EAAA;EAEA,IAAIC,QAAAA,GAA6C;AAC/C,IAAA,OAAOV,uBAAuB,CAAC,IAAI,CAACI,MAAM,CAAC;AAC7C,EAAA;EAEA,IAAIO,UAAAA,GAAqB;AACvB,IAAA,MAAMC,OAAA,GAAU,CAAC,4BAAA,CAA6B;AAE9C;IACAA,OAAA,CAAQC,IAAI,CAAC,CAAA,mCAAA,EAAsC,IAAI,CAACT,MAAM,EAAE,CAAA;IAEhE,IAAI,IAAI,CAACK,aAAa,EAAE;AACtBG,MAAAA,OAAA,CAAQC,IAAI,CAAC,CAAA,0CAAA,CAA4C,CAAA;AAC3D,IAAA;AAEA,IAAA,OAAOD,OAAA,CAAQL,IAAI,CAAC,GAAA,CAAA;AACtB,EAAA;AAEA,EAAA;IAAAO,oBAAA,CAAAC,kBAAA,CAAA,sJAAA,EAQA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"indicator.js","sources":["../../../../../src/components/hds/stepper/task/indicator.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport {\n HdsStepperStatusesValues,\n HdsStepperStatusToIconsValues,\n} from '../types.ts';\nimport HdsIcon from '../../icon/index.gts';\n\nimport type { HdsIconSignature } from '../../icon/index.gts';\nimport type { HdsStepperStatuses } from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: HdsStepperStatuses[] = Object.values(\n HdsStepperStatusesValues\n);\n\nexport const MAPPING_STATUS_TO_ICONS = HdsStepperStatusToIconsValues;\n\nexport interface HdsStepperTaskIndicatorSignature {\n Args: {\n status?: HdsStepperStatuses;\n isInteractive?: boolean;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsStepperTaskIndicator extends Component<HdsStepperTaskIndicatorSignature> {\n get status(): HdsStepperStatuses {\n const { status = DEFAULT_STATUS } = this.args;\n\n assert(\n `@status for \"Hds::Stepper::Task::Indicator\" must be one of the following: ${STATUSES.join(\n ', '\n )}; received: ${status}`,\n STATUSES.includes(status)\n );\n\n return status;\n }\n\n get isInteractive(): boolean {\n return this.args.isInteractive || false;\n }\n\n get iconName(): HdsIconSignature['Args']['name'] {\n return MAPPING_STATUS_TO_ICONS[this.status];\n }\n\n get classNames(): string {\n const classes = ['hds-stepper-indicator-task'];\n\n // Based on the @status arg\n classes.push(`hds-stepper-indicator-task--status-${this.status}`);\n\n if (this.isInteractive) {\n classes.push(`hds-stepper-indicator-task--is-interactive`);\n }\n\n return classes.join(' ');\n }\n\n <template>\n <div class={{this.classNames}} ...attributes>\n <HdsIcon\n class=\"hds-stepper-indicator-task__icon\"\n @name={{this.iconName}}\n @size=\"16\"\n />\n </div>\n </template>\n}\n"],"names":["DEFAULT_STATUS","HdsStepperStatusesValues","Incomplete","STATUSES","Object","values","MAPPING_STATUS_TO_ICONS","HdsStepperStatusToIconsValues","HdsStepperTaskIndicator","Component","status","args","assert","join","includes","isInteractive","iconName","classNames","classes","push","setComponentTemplate","precompileTemplate","strictMode","scope","HdsIcon"],"mappings":";;;;;;;AAAA;;;AAGC;AAcM,MAAMA,cAAA,GAAiBC,wBAAA,CAAyBC;AAChD,MAAMC,QAAU,GAAuBC,MAAA,CAAOC,MAAM,CACzDJ,wBAAA;AAGK,MAAMK,0BAA0BC;AAUxB,MAAMC,gCAAgCC,SAAA,CAAU;EAC7D,IAAIC,SAA6B;IAC/B,MAAM;AAAEA,MAAAA,MAAA,GAASV;KAAgB,GAAG,IAAI,CAACW,IAAI;AAE7CC,IAAAA,MAAA,CACE,CAAA,0EAAA,EAA6ET,QAAA,CAASU,IAAI,CACxF,IAAA,CAAA,CAAA,YAAA,EACcH,MAAA,CAAA,CAAQ,EACxBP,QAAA,CAASW,QAAQ,CAACJ,MAAA,CAAA,CAAA;AAGpB,IAAA,OAAOA,MAAA;AACT,EAAA;EAEA,IAAIK,aAAAA,GAAyB;AAC3B,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,aAAa,IAAI,KAAA;AACpC,EAAA;EAEA,IAAIC,QAAAA,GAA6C;AAC/C,IAAA,OAAOV,uBAAuB,CAAC,IAAI,CAACI,MAAM,CAAC;AAC7C,EAAA;EAEA,IAAIO,UAAAA,GAAqB;AACvB,IAAA,MAAMC,OAAA,GAAU,CAAC,4BAAA,CAA6B;AAE9C;IACAA,OAAA,CAAQC,IAAI,CAAC,CAAA,mCAAA,EAAsC,IAAI,CAACT,MAAM,EAAE,CAAA;IAEhE,IAAI,IAAI,CAACK,aAAa,EAAE;AACtBG,MAAAA,OAAA,CAAQC,IAAI,CAAC,CAAA,0CAAA,CAA4C,CAAA;AAC3D,IAAA;AAEA,IAAA,OAAOD,OAAA,CAAQL,IAAI,CAAC,GAAA,CAAA;AACtB,EAAA;AAEA,EAAA;IAAAO,oBAAA,CAAAC,kBAAA,CAAA,sJAAA,EAQA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2021, 2025
2
+ * Copyright IBM Corp. 2021, 2026
3
3
  * SPDX-License-Identifier: MPL-2.0
4
4
  */
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../src/components/hds/stepper/types.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\nimport type { HdsIconSignature } from '../icon/index.gts';\nimport type HdsIntlService from '../../../services/hds-intl';\n\nexport enum HdsStepperStatusesValues {\n Incomplete = 'incomplete',\n Progress = 'progress',\n Processing = 'processing',\n Complete = 'complete',\n}\n\nexport type HdsStepperStatuses = `${HdsStepperStatusesValues}`;\n\nexport const HdsStepperStatusToIconsValues: Record<\n HdsStepperStatusesValues,\n HdsIconSignature['Args']['name']\n> = {\n [HdsStepperStatusesValues.Incomplete]: 'circle',\n [HdsStepperStatusesValues.Progress]: 'circle-half',\n [HdsStepperStatusesValues.Processing]: 'loading',\n [HdsStepperStatusesValues.Complete]: 'check-circle',\n};\n\nexport function HdsStepperStatusToSrOnlyText(\n hdsIntl: HdsIntlService\n): Record<HdsStepperStatusesValues, string> {\n return {\n [HdsStepperStatusesValues.Incomplete]: '',\n [HdsStepperStatusesValues.Progress]: hdsIntl.t(\n 'hds.components.stepper.progress',\n {\n default: '(current)',\n }\n ),\n [HdsStepperStatusesValues.Processing]: hdsIntl.t(\n 'hds.components.stepper.processing',\n {\n default: '(in progress)',\n }\n ),\n [HdsStepperStatusesValues.Complete]: hdsIntl.t(\n 'hds.components.stepper.complete',\n {\n default: '(complete)',\n }\n ),\n };\n}\n\nexport enum HdsStepperTitleTagValues {\n Div = 'div',\n H1 = 'h1',\n H2 = 'h2',\n H3 = 'h3',\n H4 = 'h4',\n H5 = 'h5',\n H6 = 'h6',\n}\n\nexport type HdsStepperTitleTags = `${HdsStepperTitleTagValues}`;\n\nexport type HdsStepperNavStepIds = string[];\n\nexport interface HdsStepperNavStep {\n title: string;\n description?: string;\n}\n\nexport enum HdsStepperNavStatusesValues {\n Incomplete = 'incomplete',\n Active = 'active',\n Complete = 'complete',\n}\n\nexport type HdsStepperNavStatuses = `${HdsStepperNavStatusesValues}`;\n\nexport const HdsStepperNavStatusToIndicatorStatus: Record<\n HdsStepperNavStatusesValues,\n HdsStepperStatusesValues\n> = {\n [HdsStepperNavStatusesValues.Incomplete]: HdsStepperStatusesValues.Incomplete,\n [HdsStepperNavStatusesValues.Active]: HdsStepperStatusesValues.Progress,\n [HdsStepperNavStatusesValues.Complete]: HdsStepperStatusesValues.Complete,\n};\n\nexport function HdsStepperNavStatusToSrOnlyText(\n hdsIntl: HdsIntlService\n): Record<HdsStepperNavStatusesValues, string> {\n return {\n [HdsStepperNavStatusesValues.Incomplete]: '',\n [HdsStepperNavStatusesValues.Active]: hdsIntl.t(\n 'hds.components.stepper.nav.active',\n {\n default: '(current)',\n }\n ),\n [HdsStepperNavStatusesValues.Complete]: hdsIntl.t(\n 'hds.components.stepper.nav.complete',\n { default: '(complete)' }\n ),\n };\n}\n\nexport type HdsStepperNavPanelIds = string[];\n\nexport type HdsStepperListStepIds = string[];\n"],"names":["HdsStepperStatusesValues","HdsStepperStatusToIconsValues","Incomplete","Progress","Processing","Complete","HdsStepperStatusToSrOnlyText","hdsIntl","t","default","HdsStepperTitleTagValues","HdsStepperNavStatusesValues","HdsStepperNavStatusToIndicatorStatus","Active","HdsStepperNavStatusToSrOnlyText"],"mappings":"AAAA;AACA;AACA;AACA;;AAIA,IAAYA,wBAAwB,0BAAxBA,wBAAwB,EAAA;EAAxBA,wBAAwB,CAAA,YAAA,CAAA,GAAA,YAAA;EAAxBA,wBAAwB,CAAA,UAAA,CAAA,GAAA,UAAA;EAAxBA,wBAAwB,CAAA,YAAA,CAAA,GAAA,YAAA;EAAxBA,wBAAwB,CAAA,UAAA,CAAA,GAAA,UAAA;AAAA,EAAA,OAAxBA,wBAAwB;AAAA,CAAA,CAAA,EAAA;AAS7B,MAAMC,6BAGZ,GAAG;AACF,EAAA,CAACD,wBAAwB,CAACE,UAAU,GAAG,QAAQ;AAC/C,EAAA,CAACF,wBAAwB,CAACG,QAAQ,GAAG,aAAa;AAClD,EAAA,CAACH,wBAAwB,CAACI,UAAU,GAAG,SAAS;EAChD,CAACJ,wBAAwB,CAACK,QAAQ,GAAG;AACvC;AAEO,SAASC,4BAA4BA,CAC1CC,OAAuB,EACmB;EAC1C,OAAO;AACL,IAAA,CAACP,wBAAwB,CAACE,UAAU,GAAG,EAAE;IACzC,CAACF,wBAAwB,CAACG,QAAQ,GAAGI,OAAO,CAACC,CAAC,CAC5C,iCAAiC,EACjC;AACEC,MAAAA,OAAO,EAAE;AACX,KACF,CAAC;IACD,CAACT,wBAAwB,CAACI,UAAU,GAAGG,OAAO,CAACC,CAAC,CAC9C,mCAAmC,EACnC;AACEC,MAAAA,OAAO,EAAE;AACX,KACF,CAAC;IACD,CAACT,wBAAwB,CAACK,QAAQ,GAAGE,OAAO,CAACC,CAAC,CAC5C,iCAAiC,EACjC;AACEC,MAAAA,OAAO,EAAE;KAEb;GACD;AACH;AAEA,IAAYC,wBAAwB,0BAAxBA,wBAAwB,EAAA;EAAxBA,wBAAwB,CAAA,KAAA,CAAA,GAAA,KAAA;EAAxBA,wBAAwB,CAAA,IAAA,CAAA,GAAA,IAAA;EAAxBA,wBAAwB,CAAA,IAAA,CAAA,GAAA,IAAA;EAAxBA,wBAAwB,CAAA,IAAA,CAAA,GAAA,IAAA;EAAxBA,wBAAwB,CAAA,IAAA,CAAA,GAAA,IAAA;EAAxBA,wBAAwB,CAAA,IAAA,CAAA,GAAA,IAAA;EAAxBA,wBAAwB,CAAA,IAAA,CAAA,GAAA,IAAA;AAAA,EAAA,OAAxBA,wBAAwB;AAAA,CAAA,CAAA,EAAA;AAmBpC,IAAYC,2BAA2B,0BAA3BA,2BAA2B,EAAA;EAA3BA,2BAA2B,CAAA,YAAA,CAAA,GAAA,YAAA;EAA3BA,2BAA2B,CAAA,QAAA,CAAA,GAAA,QAAA;EAA3BA,2BAA2B,CAAA,UAAA,CAAA,GAAA,UAAA;AAAA,EAAA,OAA3BA,2BAA2B;AAAA,CAAA,CAAA,EAAA;AAQhC,MAAMC,oCAGZ,GAAG;AACF,EAAA,CAACD,2BAA2B,CAACT,UAAU,GAAGF,wBAAwB,CAACE,UAAU;AAC7E,EAAA,CAACS,2BAA2B,CAACE,MAAM,GAAGb,wBAAwB,CAACG,QAAQ;AACvE,EAAA,CAACQ,2BAA2B,CAACN,QAAQ,GAAGL,wBAAwB,CAACK;AACnE;AAEO,SAASS,+BAA+BA,CAC7CP,OAAuB,EACsB;EAC7C,OAAO;AACL,IAAA,CAACI,2BAA2B,CAACT,UAAU,GAAG,EAAE;IAC5C,CAACS,2BAA2B,CAACE,MAAM,GAAGN,OAAO,CAACC,CAAC,CAC7C,mCAAmC,EACnC;AACEC,MAAAA,OAAO,EAAE;AACX,KACF,CAAC;IACD,CAACE,2BAA2B,CAACN,QAAQ,GAAGE,OAAO,CAACC,CAAC,CAC/C,qCAAqC,EACrC;AAAEC,MAAAA,OAAO,EAAE;KACb;GACD;AACH;;;;"}
1
+ {"version":3,"file":"types.js","sources":["../../../../src/components/hds/stepper/types.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\nimport type { HdsIconSignature } from '../icon/index.gts';\nimport type HdsIntlService from '../../../services/hds-intl';\n\nexport enum HdsStepperStatusesValues {\n Incomplete = 'incomplete',\n Progress = 'progress',\n Processing = 'processing',\n Complete = 'complete',\n}\n\nexport type HdsStepperStatuses = `${HdsStepperStatusesValues}`;\n\nexport const HdsStepperStatusToIconsValues: Record<\n HdsStepperStatusesValues,\n HdsIconSignature['Args']['name']\n> = {\n [HdsStepperStatusesValues.Incomplete]: 'circle',\n [HdsStepperStatusesValues.Progress]: 'circle-half',\n [HdsStepperStatusesValues.Processing]: 'loading',\n [HdsStepperStatusesValues.Complete]: 'check-circle',\n};\n\nexport function HdsStepperStatusToSrOnlyText(\n hdsIntl: HdsIntlService\n): Record<HdsStepperStatusesValues, string> {\n return {\n [HdsStepperStatusesValues.Incomplete]: '',\n [HdsStepperStatusesValues.Progress]: hdsIntl.t(\n 'hds.components.stepper.progress',\n {\n default: '(current)',\n }\n ),\n [HdsStepperStatusesValues.Processing]: hdsIntl.t(\n 'hds.components.stepper.processing',\n {\n default: '(in progress)',\n }\n ),\n [HdsStepperStatusesValues.Complete]: hdsIntl.t(\n 'hds.components.stepper.complete',\n {\n default: '(complete)',\n }\n ),\n };\n}\n\nexport enum HdsStepperTitleTagValues {\n Div = 'div',\n H1 = 'h1',\n H2 = 'h2',\n H3 = 'h3',\n H4 = 'h4',\n H5 = 'h5',\n H6 = 'h6',\n}\n\nexport type HdsStepperTitleTags = `${HdsStepperTitleTagValues}`;\n\nexport type HdsStepperNavStepIds = string[];\n\nexport interface HdsStepperNavStep {\n title: string;\n description?: string;\n}\n\nexport enum HdsStepperNavStatusesValues {\n Incomplete = 'incomplete',\n Active = 'active',\n Complete = 'complete',\n}\n\nexport type HdsStepperNavStatuses = `${HdsStepperNavStatusesValues}`;\n\nexport const HdsStepperNavStatusToIndicatorStatus: Record<\n HdsStepperNavStatusesValues,\n HdsStepperStatusesValues\n> = {\n [HdsStepperNavStatusesValues.Incomplete]: HdsStepperStatusesValues.Incomplete,\n [HdsStepperNavStatusesValues.Active]: HdsStepperStatusesValues.Progress,\n [HdsStepperNavStatusesValues.Complete]: HdsStepperStatusesValues.Complete,\n};\n\nexport function HdsStepperNavStatusToSrOnlyText(\n hdsIntl: HdsIntlService\n): Record<HdsStepperNavStatusesValues, string> {\n return {\n [HdsStepperNavStatusesValues.Incomplete]: '',\n [HdsStepperNavStatusesValues.Active]: hdsIntl.t(\n 'hds.components.stepper.nav.active',\n {\n default: '(current)',\n }\n ),\n [HdsStepperNavStatusesValues.Complete]: hdsIntl.t(\n 'hds.components.stepper.nav.complete',\n { default: '(complete)' }\n ),\n };\n}\n\nexport type HdsStepperNavPanelIds = string[];\n\nexport type HdsStepperListStepIds = string[];\n"],"names":["HdsStepperStatusesValues","HdsStepperStatusToIconsValues","Incomplete","Progress","Processing","Complete","HdsStepperStatusToSrOnlyText","hdsIntl","t","default","HdsStepperTitleTagValues","HdsStepperNavStatusesValues","HdsStepperNavStatusToIndicatorStatus","Active","HdsStepperNavStatusToSrOnlyText"],"mappings":"AAAA;AACA;AACA;AACA;;AAIA,IAAYA,wBAAwB,0BAAxBA,wBAAwB,EAAA;EAAxBA,wBAAwB,CAAA,YAAA,CAAA,GAAA,YAAA;EAAxBA,wBAAwB,CAAA,UAAA,CAAA,GAAA,UAAA;EAAxBA,wBAAwB,CAAA,YAAA,CAAA,GAAA,YAAA;EAAxBA,wBAAwB,CAAA,UAAA,CAAA,GAAA,UAAA;AAAA,EAAA,OAAxBA,wBAAwB;AAAA,CAAA,CAAA,EAAA;AAS7B,MAAMC,6BAGZ,GAAG;AACF,EAAA,CAACD,wBAAwB,CAACE,UAAU,GAAG,QAAQ;AAC/C,EAAA,CAACF,wBAAwB,CAACG,QAAQ,GAAG,aAAa;AAClD,EAAA,CAACH,wBAAwB,CAACI,UAAU,GAAG,SAAS;EAChD,CAACJ,wBAAwB,CAACK,QAAQ,GAAG;AACvC;AAEO,SAASC,4BAA4BA,CAC1CC,OAAuB,EACmB;EAC1C,OAAO;AACL,IAAA,CAACP,wBAAwB,CAACE,UAAU,GAAG,EAAE;IACzC,CAACF,wBAAwB,CAACG,QAAQ,GAAGI,OAAO,CAACC,CAAC,CAC5C,iCAAiC,EACjC;AACEC,MAAAA,OAAO,EAAE;AACX,KACF,CAAC;IACD,CAACT,wBAAwB,CAACI,UAAU,GAAGG,OAAO,CAACC,CAAC,CAC9C,mCAAmC,EACnC;AACEC,MAAAA,OAAO,EAAE;AACX,KACF,CAAC;IACD,CAACT,wBAAwB,CAACK,QAAQ,GAAGE,OAAO,CAACC,CAAC,CAC5C,iCAAiC,EACjC;AACEC,MAAAA,OAAO,EAAE;KAEb;GACD;AACH;AAEA,IAAYC,wBAAwB,0BAAxBA,wBAAwB,EAAA;EAAxBA,wBAAwB,CAAA,KAAA,CAAA,GAAA,KAAA;EAAxBA,wBAAwB,CAAA,IAAA,CAAA,GAAA,IAAA;EAAxBA,wBAAwB,CAAA,IAAA,CAAA,GAAA,IAAA;EAAxBA,wBAAwB,CAAA,IAAA,CAAA,GAAA,IAAA;EAAxBA,wBAAwB,CAAA,IAAA,CAAA,GAAA,IAAA;EAAxBA,wBAAwB,CAAA,IAAA,CAAA,GAAA,IAAA;EAAxBA,wBAAwB,CAAA,IAAA,CAAA,GAAA,IAAA;AAAA,EAAA,OAAxBA,wBAAwB;AAAA,CAAA,CAAA,EAAA;AAmBpC,IAAYC,2BAA2B,0BAA3BA,2BAA2B,EAAA;EAA3BA,2BAA2B,CAAA,YAAA,CAAA,GAAA,YAAA;EAA3BA,2BAA2B,CAAA,QAAA,CAAA,GAAA,QAAA;EAA3BA,2BAA2B,CAAA,UAAA,CAAA,GAAA,UAAA;AAAA,EAAA,OAA3BA,2BAA2B;AAAA,CAAA,CAAA,EAAA;AAQhC,MAAMC,oCAGZ,GAAG;AACF,EAAA,CAACD,2BAA2B,CAACT,UAAU,GAAGF,wBAAwB,CAACE,UAAU;AAC7E,EAAA,CAACS,2BAA2B,CAACE,MAAM,GAAGb,wBAAwB,CAACG,QAAQ;AACvE,EAAA,CAACQ,2BAA2B,CAACN,QAAQ,GAAGL,wBAAwB,CAACK;AACnE;AAEO,SAASS,+BAA+BA,CAC7CP,OAAuB,EACsB;EAC7C,OAAO;AACL,IAAA,CAACI,2BAA2B,CAACT,UAAU,GAAG,EAAE;IAC5C,CAACS,2BAA2B,CAACE,MAAM,GAAGN,OAAO,CAACC,CAAC,CAC7C,mCAAmC,EACnC;AACEC,MAAAA,OAAO,EAAE;AACX,KACF,CAAC;IACD,CAACE,2BAA2B,CAACN,QAAQ,GAAGE,OAAO,CAACC,CAAC,CAC/C,qCAAqC,EACrC;AAAEC,MAAAA,OAAO,EAAE;KACb;GACD;AACH;;;;"}
@@ -15,7 +15,7 @@ import { setComponentTemplate } from '@ember/component';
15
15
  import { g, i } from 'decorator-transforms/runtime';
16
16
 
17
17
  /**
18
- * Copyright IBM Corp. 2021, 2025
18
+ * Copyright IBM Corp. 2021, 2026
19
19
  * SPDX-License-Identifier: MPL-2.0
20
20
  */
21
21
  const DENSITIES = Object.values(HdsTableDensityValues);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/table/index.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport { service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { fn, hash } from '@ember/helper';\nimport { eq } from 'ember-truth-helpers';\nimport { sortBy } from '@nullvoxpopuli/ember-composable-helpers';\n\nimport type { WithBoundArgs } from '@glint/template';\nimport type Owner from '@ember/owner';\n\nimport {\n HdsTableDensityValues,\n HdsTableThSortOrderValues,\n HdsTableVerticalAlignmentValues,\n} from './types.ts';\nimport HdsTableTr from './tr.gts';\nimport HdsTableTh from './th.gts';\nimport HdsTableThSort from './th-sort.gts';\nimport HdsTableTd from './td.gts';\n\nimport type {\n HdsTableColumn,\n HdsTableDensities,\n HdsTableHorizontalAlignment,\n HdsTableOnSelectionChangeSignature,\n HdsTableSelectableRow,\n HdsTableSortingFunction,\n HdsTableThSortOrder,\n HdsTableVerticalAlignment,\n HdsTableModel,\n} from './types.ts';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base.gts';\nimport type HdsIntlService from '../../../services/hds-intl.ts';\n\nexport const DENSITIES: HdsTableDensities[] = Object.values(\n HdsTableDensityValues\n);\nexport const DEFAULT_DENSITY = HdsTableDensityValues.Medium;\n\nexport const VALIGNMENTS: HdsTableVerticalAlignment[] = Object.values(\n HdsTableVerticalAlignmentValues\n);\nexport const DEFAULT_VALIGN = HdsTableVerticalAlignmentValues.Top;\n\nexport interface HdsTableSignature<T = HdsTableModel> {\n Args: {\n align?: HdsTableHorizontalAlignment;\n caption?: string;\n columns?: HdsTableColumn[];\n density?: HdsTableDensities;\n identityKey?: string;\n isFixedLayout?: boolean;\n isSelectable?: boolean;\n isStriped?: boolean;\n model?: T[];\n onSelectionChange?: (selection: HdsTableOnSelectionChangeSignature) => void;\n onSort?: (sortBy: string, sortOrder: HdsTableThSortOrder) => void;\n selectionAriaLabelSuffix?: string;\n sortBy?: string;\n selectableColumnKey?: string;\n sortedMessageText?: string;\n sortOrder?: HdsTableThSortOrder;\n valign?: HdsTableVerticalAlignment;\n };\n Blocks: {\n head?: [\n {\n Tr?: WithBoundArgs<\n typeof HdsTableTr,\n | 'selectionScope'\n | 'isSelectable'\n | 'onSelectionChange'\n | 'didInsert'\n | 'willDestroy'\n | 'selectionAriaLabelSuffix'\n | 'onClickSortBySelected'\n | 'sortBySelectedOrder'\n >;\n Th?: typeof HdsTableTh;\n ThSort?: typeof HdsTableThSort;\n sortBy?: string;\n sortOrder?: HdsTableThSortOrder;\n setSortBy?: (column: string) => void;\n },\n ];\n body?: [\n {\n Td?: WithBoundArgs<typeof HdsTableTd, 'align'>;\n Tr?: WithBoundArgs<\n typeof HdsTableTr,\n | 'selectionScope'\n | 'isSelectable'\n | 'onSelectionChange'\n | 'didInsert'\n | 'willDestroy'\n | 'selectionAriaLabelSuffix'\n >;\n Th?: WithBoundArgs<typeof HdsTableTh, 'scope'>;\n data?: T;\n rowIndex?: number;\n sortBy?: string;\n sortOrder?: HdsTableThSortOrder;\n },\n ];\n };\n Element: HTMLTableElement;\n}\n\nexport default class HdsTable<T = HdsTableModel> extends Component<\n HdsTableSignature<T>\n> {\n @service declare readonly hdsIntl: HdsIntlService;\n\n @tracked sortBy;\n @tracked sortOrder;\n @tracked\n private _selectAllCheckbox?: HdsFormCheckboxBaseSignature['Element'] =\n undefined;\n private _selectableRows: HdsTableSelectableRow[] = [];\n @tracked private _isSelectAllCheckboxSelected?: boolean = undefined;\n\n constructor(owner: Owner, args: HdsTableSignature<T>['Args']) {\n super(owner, args);\n this.sortBy = this.args.sortBy ?? undefined;\n this.sortOrder = this.args.sortOrder ?? HdsTableThSortOrderValues.Asc;\n }\n\n get getSortCriteria(): string | HdsTableSortingFunction<unknown> {\n // get the current column\n const currentColumn = this.args?.columns?.find(\n (column) => column.key === this.sortBy\n );\n if (\n // check if there is a custom sorting function associated with the current `sortBy` column (we assume the column has `isSortable`)\n currentColumn?.sortingFunction &&\n typeof currentColumn.sortingFunction === 'function'\n ) {\n return currentColumn.sortingFunction;\n } else {\n // otherwise fallback to the default format \"sortBy:sortOrder\"\n return `${this.sortBy}:${this.sortOrder}`;\n }\n }\n\n get identityKey(): string | undefined {\n // we have to provide a way for the consumer to pass undefined because Ember tries to interpret undefined as missing an arg and therefore falls back to the default\n if (this.args.identityKey === 'none') {\n return undefined;\n } else {\n return this.args.identityKey ?? '@identity';\n }\n }\n\n get sortedMessageText(): string {\n if (this.args.sortedMessageText) {\n return this.args.sortedMessageText;\n } else if (this.sortBy && this.sortOrder) {\n // we should allow the user to define a custom value here (e.g., for i18n) - tracked with HDS-965\n const translatedSortOrder = {\n [HdsTableThSortOrderValues.Asc]: this.hdsIntl.t(\n 'hds.components.common.ascending',\n { default: 'ascending' }\n ),\n [HdsTableThSortOrderValues.Desc]: this.hdsIntl.t(\n 'hds.components.common.descending',\n { default: 'descending' }\n ),\n }[this.sortOrder];\n const lowerCaseTranslatedSortOrder = translatedSortOrder.toLowerCase();\n\n return this.hdsIntl.t('hds.components.table.sorted-message-text', {\n sortBy: this.sortBy,\n sortOrder: lowerCaseTranslatedSortOrder,\n default: `Sorted by ${this.sortBy} ${lowerCaseTranslatedSortOrder}`,\n });\n } else {\n return '';\n }\n }\n\n get isStriped(): boolean {\n return this.args.isStriped ?? false;\n }\n\n get isFixedLayout(): boolean {\n return this.args.isFixedLayout ?? false;\n }\n\n get density(): HdsTableDensities {\n const { density = DEFAULT_DENSITY } = this.args;\n\n assert(\n `@density for \"Hds::Table\" must be one of the following: ${DENSITIES.join(\n ', '\n )}; received: ${density}`,\n DENSITIES.includes(density)\n );\n\n return density;\n }\n\n get valign(): HdsTableVerticalAlignment {\n const { valign = DEFAULT_VALIGN } = this.args;\n\n assert(\n `@valign for \"Hds::Table\" must be one of the following: ${VALIGNMENTS.join(\n ', '\n )}; received: ${valign}`,\n VALIGNMENTS.includes(valign)\n );\n\n return valign;\n }\n\n get classNames(): string {\n const classes = ['hds-table'];\n\n // add a class based on the @isStriped argument\n if (this.isStriped) {\n classes.push('hds-table--striped');\n }\n\n // add a class based on the @isFixedLayout argument\n if (this.isFixedLayout) {\n classes.push('hds-table--layout-fixed');\n }\n\n // add a class based on the @density argument\n if (this.density) {\n classes.push(`hds-table--density-${this.density}`);\n }\n\n // add a class based on the @valign argument\n if (this.valign) {\n classes.push(`hds-table--valign-${this.valign}`);\n }\n\n return classes.join(' ');\n }\n\n setSortBy = (column: string): void => {\n if (this.sortBy === column) {\n // check to see if the column is already sorted and invert the sort order if so\n this.sortOrder =\n this.sortOrder === HdsTableThSortOrderValues.Asc\n ? HdsTableThSortOrderValues.Desc\n : HdsTableThSortOrderValues.Asc;\n } else {\n // otherwise, set the sort order to ascending\n this.sortBy = column;\n this.sortOrder = HdsTableThSortOrderValues.Asc;\n }\n\n const { onSort } = this.args;\n\n if (typeof onSort === 'function') {\n onSort(this.sortBy, this.sortOrder);\n }\n };\n\n onSelectionChangeCallback = (\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void => {\n const { onSelectionChange } = this.args;\n if (typeof onSelectionChange === 'function') {\n onSelectionChange({\n selectionKey: selectionKey,\n selectionCheckboxElement: checkbox,\n selectedRowsKeys: this._selectableRows.reduce<string[]>((acc, row) => {\n if (row.checkbox.checked) {\n acc.push(row.selectionKey);\n }\n return acc;\n }, []),\n selectableRowsStates: this._selectableRows.reduce(\n (\n acc: { selectionKey: string; isSelected: boolean | undefined }[],\n row\n ) => {\n acc.push({\n selectionKey: row.selectionKey,\n isSelected: row.checkbox.checked,\n });\n return acc;\n },\n []\n ),\n });\n }\n };\n\n onSelectionAllChange = (): void => {\n this._selectableRows.forEach((row) => {\n row.checkbox.checked = this._selectAllCheckbox?.checked ?? false;\n });\n this._isSelectAllCheckboxSelected =\n this._selectAllCheckbox?.checked ?? false;\n this.onSelectionChangeCallback(this._selectAllCheckbox, 'all');\n };\n\n onSelectionRowChange = (\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void => {\n this.setSelectAllState();\n this.onSelectionChangeCallback(checkbox, selectionKey);\n };\n\n didInsertSelectAllCheckbox = (\n checkbox: HdsFormCheckboxBaseSignature['Element']\n ): void => {\n this._selectAllCheckbox = checkbox;\n };\n\n willDestroySelectAllCheckbox = (): void => {\n this._selectAllCheckbox = undefined;\n };\n\n didInsertRowCheckbox = (\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void => {\n if (selectionKey) {\n this._selectableRows.push({ selectionKey, checkbox });\n }\n this.setSelectAllState();\n };\n\n willDestroyRowCheckbox = (selectionKey?: string): void => {\n if (selectionKey === undefined) {\n return;\n }\n\n const index = this._selectableRows.findIndex(\n (row): boolean => row.selectionKey === selectionKey\n );\n\n if (index === -1) {\n return;\n }\n\n this._selectableRows.splice(index, 1);\n\n this.setSelectAllState();\n };\n\n setSelectAllState = (): void => {\n if (this._selectAllCheckbox) {\n const selectableRowsCount = this._selectableRows.length;\n const selectedRowsCount = this._selectableRows.filter(\n (row) => row.checkbox.checked\n ).length;\n\n this._selectAllCheckbox.checked =\n selectedRowsCount === selectableRowsCount;\n this._selectAllCheckbox.indeterminate =\n selectedRowsCount > 0 && selectedRowsCount < selectableRowsCount;\n this._isSelectAllCheckboxSelected = this._selectAllCheckbox.checked;\n }\n };\n\n <template>\n <table class={{this.classNames}} ...attributes>\n {{#if @columns}}\n <caption class=\"sr-only\" aria-live=\"polite\">{{@caption}}\n {{this.sortedMessageText}}</caption>\n {{else if @caption}}\n <caption class=\"sr-only\">{{@caption}}</caption>\n {{/if}}\n\n <thead class=\"hds-table__thead\">\n {{#if @columns}}\n <HdsTableTr\n @selectionScope=\"col\"\n @onClickSortBySelected={{if\n @selectableColumnKey\n (fn this.setSortBy @selectableColumnKey)\n }}\n @sortBySelectedOrder={{if\n (eq this.sortBy @selectableColumnKey)\n this.sortOrder\n }}\n @isSelectable={{@isSelectable}}\n @onSelectionChange={{this.onSelectionAllChange}}\n @didInsert={{this.didInsertSelectAllCheckbox}}\n @willDestroy={{this.willDestroySelectAllCheckbox}}\n @selectionAriaLabelSuffix=\"all rows\"\n >\n {{#each @columns as |column|}}\n {{#if column.isSortable}}\n <HdsTableThSort\n @sortOrder={{if (eq column.key this.sortBy) this.sortOrder}}\n @onClickSort={{fn this.setSortBy column.key}}\n @align={{column.align}}\n @width={{column.width}}\n @tooltip={{column.tooltip}}\n >\n {{column.label}}\n </HdsTableThSort>\n {{else}}\n <HdsTableTh\n @align={{column.align}}\n @width={{column.width}}\n @tooltip={{column.tooltip}}\n @isVisuallyHidden={{column.isVisuallyHidden}}\n >{{column.label}}</HdsTableTh>\n {{/if}}\n {{/each}}\n </HdsTableTr>\n {{else}}\n {{yield\n (hash\n Tr=(component\n HdsTableTr\n selectionScope=\"col\"\n isSelectable=@isSelectable\n onSelectionChange=this.onSelectionAllChange\n didInsert=this.didInsertSelectAllCheckbox\n willDestroy=this.willDestroySelectAllCheckbox\n selectionAriaLabelSuffix=\"all rows\"\n onClickSortBySelected=(if\n @selectableColumnKey (fn this.setSortBy @selectableColumnKey)\n )\n sortBySelectedOrder=(if\n (eq this.sortBy @selectableColumnKey) this.sortOrder\n )\n )\n Th=HdsTableTh\n ThSort=HdsTableThSort\n sortBy=this.sortBy\n sortOrder=this.sortOrder\n setSortBy=this.setSortBy\n )\n to=\"head\"\n }}\n {{/if}}\n </thead>\n\n <tbody class=\"hds-table__tbody\">\n {{#if @columns}}\n {{! -----------------------------------------------------------------\n IMPORTANT: we loop on the model array and for each record\n we yield the Tr/Td/Th elements _and_ the record itself as data\n this means the consumer will *have to* use the data key to access it in their template\n ----------------------------------------------------------------- }}\n {{! @glint-expect-error: [HDS-4380](https://hashicorp.atlassian.net/browse/HDS-4380) }}\n {{#let (sortBy this.getSortCriteria @model) as |sortedModel|}}\n {{#each sortedModel key=this.identityKey as |record index|}}\n {{yield\n (hash\n Tr=(component\n HdsTableTr\n selectionScope=\"row\"\n isSelectable=@isSelectable\n onSelectionChange=this.onSelectionRowChange\n didInsert=this.didInsertRowCheckbox\n willDestroy=this.willDestroyRowCheckbox\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\n )\n Th=(component HdsTableTh scope=\"row\")\n Td=(component HdsTableTd align=@align)\n data=record\n rowIndex=index\n )\n to=\"body\"\n }}\n {{/each}}\n {{/let}}\n {{else}}\n {{yield\n (hash\n Tr=(component\n HdsTableTr\n selectionScope=\"row\"\n isSelectable=@isSelectable\n onSelectionChange=this.onSelectionRowChange\n didInsert=this.didInsertRowCheckbox\n willDestroy=this.willDestroyRowCheckbox\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\n )\n Th=(component HdsTableTh scope=\"row\")\n Td=(component HdsTableTd align=@align)\n sortBy=this.sortBy\n sortOrder=this.sortOrder\n )\n to=\"body\"\n }}\n {{/if}}\n </tbody>\n </table>\n </template>\n}\n"],"names":["DENSITIES","Object","values","HdsTableDensityValues","DEFAULT_DENSITY","Medium","VALIGNMENTS","HdsTableVerticalAlignmentValues","DEFAULT_VALIGN","Top","HdsTable","Component","g","prototype","service","i","tracked","undefined","_selectableRows","constructor","owner","args","sortBy","sortOrder","HdsTableThSortOrderValues","Asc","getSortCriteria","currentColumn","columns","find","column","key","sortingFunction","identityKey","sortedMessageText","translatedSortOrder","hdsIntl","t","default","Desc","lowerCaseTranslatedSortOrder","toLowerCase","isStriped","isFixedLayout","density","assert","join","includes","valign","classNames","classes","push","setSortBy","onSort","onSelectionChangeCallback","checkbox","selectionKey","onSelectionChange","selectionCheckboxElement","selectedRowsKeys","reduce","acc","row","checked","selectableRowsStates","isSelected","onSelectionAllChange","forEach","_selectAllCheckbox","_isSelectAllCheckboxSelected","onSelectionRowChange","setSelectAllState","didInsertSelectAllCheckbox","willDestroySelectAllCheckbox","didInsertRowCheckbox","willDestroyRowCheckbox","index","findIndex","splice","selectableRowsCount","length","selectedRowsCount","filter","indeterminate","setComponentTemplate","precompileTemplate","strictMode","scope","HdsTableTr","fn","eq","HdsTableThSort","HdsTableTh","hash","HdsTableTd"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/table/index.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport { service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { fn, hash } from '@ember/helper';\nimport { eq } from 'ember-truth-helpers';\nimport { sortBy } from '@nullvoxpopuli/ember-composable-helpers';\n\nimport type { WithBoundArgs } from '@glint/template';\nimport type Owner from '@ember/owner';\n\nimport {\n HdsTableDensityValues,\n HdsTableThSortOrderValues,\n HdsTableVerticalAlignmentValues,\n} from './types.ts';\nimport HdsTableTr from './tr.gts';\nimport HdsTableTh from './th.gts';\nimport HdsTableThSort from './th-sort.gts';\nimport HdsTableTd from './td.gts';\n\nimport type {\n HdsTableColumn,\n HdsTableDensities,\n HdsTableHorizontalAlignment,\n HdsTableOnSelectionChangeSignature,\n HdsTableSelectableRow,\n HdsTableSortingFunction,\n HdsTableThSortOrder,\n HdsTableVerticalAlignment,\n HdsTableModel,\n} from './types.ts';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base.gts';\nimport type HdsIntlService from '../../../services/hds-intl.ts';\n\nexport const DENSITIES: HdsTableDensities[] = Object.values(\n HdsTableDensityValues\n);\nexport const DEFAULT_DENSITY = HdsTableDensityValues.Medium;\n\nexport const VALIGNMENTS: HdsTableVerticalAlignment[] = Object.values(\n HdsTableVerticalAlignmentValues\n);\nexport const DEFAULT_VALIGN = HdsTableVerticalAlignmentValues.Top;\n\nexport interface HdsTableSignature<T = HdsTableModel> {\n Args: {\n align?: HdsTableHorizontalAlignment;\n caption?: string;\n columns?: HdsTableColumn[];\n density?: HdsTableDensities;\n identityKey?: string;\n isFixedLayout?: boolean;\n isSelectable?: boolean;\n isStriped?: boolean;\n model?: T[];\n onSelectionChange?: (selection: HdsTableOnSelectionChangeSignature) => void;\n onSort?: (sortBy: string, sortOrder: HdsTableThSortOrder) => void;\n selectionAriaLabelSuffix?: string;\n sortBy?: string;\n selectableColumnKey?: string;\n sortedMessageText?: string;\n sortOrder?: HdsTableThSortOrder;\n valign?: HdsTableVerticalAlignment;\n };\n Blocks: {\n head?: [\n {\n Tr?: WithBoundArgs<\n typeof HdsTableTr,\n | 'selectionScope'\n | 'isSelectable'\n | 'onSelectionChange'\n | 'didInsert'\n | 'willDestroy'\n | 'selectionAriaLabelSuffix'\n | 'onClickSortBySelected'\n | 'sortBySelectedOrder'\n >;\n Th?: typeof HdsTableTh;\n ThSort?: typeof HdsTableThSort;\n sortBy?: string;\n sortOrder?: HdsTableThSortOrder;\n setSortBy?: (column: string) => void;\n },\n ];\n body?: [\n {\n Td?: WithBoundArgs<typeof HdsTableTd, 'align'>;\n Tr?: WithBoundArgs<\n typeof HdsTableTr,\n | 'selectionScope'\n | 'isSelectable'\n | 'onSelectionChange'\n | 'didInsert'\n | 'willDestroy'\n | 'selectionAriaLabelSuffix'\n >;\n Th?: WithBoundArgs<typeof HdsTableTh, 'scope'>;\n data?: T;\n rowIndex?: number;\n sortBy?: string;\n sortOrder?: HdsTableThSortOrder;\n },\n ];\n };\n Element: HTMLTableElement;\n}\n\nexport default class HdsTable<T = HdsTableModel> extends Component<\n HdsTableSignature<T>\n> {\n @service declare readonly hdsIntl: HdsIntlService;\n\n @tracked sortBy;\n @tracked sortOrder;\n @tracked\n private _selectAllCheckbox?: HdsFormCheckboxBaseSignature['Element'] =\n undefined;\n private _selectableRows: HdsTableSelectableRow[] = [];\n @tracked private _isSelectAllCheckboxSelected?: boolean = undefined;\n\n constructor(owner: Owner, args: HdsTableSignature<T>['Args']) {\n super(owner, args);\n this.sortBy = this.args.sortBy ?? undefined;\n this.sortOrder = this.args.sortOrder ?? HdsTableThSortOrderValues.Asc;\n }\n\n get getSortCriteria(): string | HdsTableSortingFunction<unknown> {\n // get the current column\n const currentColumn = this.args?.columns?.find(\n (column) => column.key === this.sortBy\n );\n if (\n // check if there is a custom sorting function associated with the current `sortBy` column (we assume the column has `isSortable`)\n currentColumn?.sortingFunction &&\n typeof currentColumn.sortingFunction === 'function'\n ) {\n return currentColumn.sortingFunction;\n } else {\n // otherwise fallback to the default format \"sortBy:sortOrder\"\n return `${this.sortBy}:${this.sortOrder}`;\n }\n }\n\n get identityKey(): string | undefined {\n // we have to provide a way for the consumer to pass undefined because Ember tries to interpret undefined as missing an arg and therefore falls back to the default\n if (this.args.identityKey === 'none') {\n return undefined;\n } else {\n return this.args.identityKey ?? '@identity';\n }\n }\n\n get sortedMessageText(): string {\n if (this.args.sortedMessageText) {\n return this.args.sortedMessageText;\n } else if (this.sortBy && this.sortOrder) {\n // we should allow the user to define a custom value here (e.g., for i18n) - tracked with HDS-965\n const translatedSortOrder = {\n [HdsTableThSortOrderValues.Asc]: this.hdsIntl.t(\n 'hds.components.common.ascending',\n { default: 'ascending' }\n ),\n [HdsTableThSortOrderValues.Desc]: this.hdsIntl.t(\n 'hds.components.common.descending',\n { default: 'descending' }\n ),\n }[this.sortOrder];\n const lowerCaseTranslatedSortOrder = translatedSortOrder.toLowerCase();\n\n return this.hdsIntl.t('hds.components.table.sorted-message-text', {\n sortBy: this.sortBy,\n sortOrder: lowerCaseTranslatedSortOrder,\n default: `Sorted by ${this.sortBy} ${lowerCaseTranslatedSortOrder}`,\n });\n } else {\n return '';\n }\n }\n\n get isStriped(): boolean {\n return this.args.isStriped ?? false;\n }\n\n get isFixedLayout(): boolean {\n return this.args.isFixedLayout ?? false;\n }\n\n get density(): HdsTableDensities {\n const { density = DEFAULT_DENSITY } = this.args;\n\n assert(\n `@density for \"Hds::Table\" must be one of the following: ${DENSITIES.join(\n ', '\n )}; received: ${density}`,\n DENSITIES.includes(density)\n );\n\n return density;\n }\n\n get valign(): HdsTableVerticalAlignment {\n const { valign = DEFAULT_VALIGN } = this.args;\n\n assert(\n `@valign for \"Hds::Table\" must be one of the following: ${VALIGNMENTS.join(\n ', '\n )}; received: ${valign}`,\n VALIGNMENTS.includes(valign)\n );\n\n return valign;\n }\n\n get classNames(): string {\n const classes = ['hds-table'];\n\n // add a class based on the @isStriped argument\n if (this.isStriped) {\n classes.push('hds-table--striped');\n }\n\n // add a class based on the @isFixedLayout argument\n if (this.isFixedLayout) {\n classes.push('hds-table--layout-fixed');\n }\n\n // add a class based on the @density argument\n if (this.density) {\n classes.push(`hds-table--density-${this.density}`);\n }\n\n // add a class based on the @valign argument\n if (this.valign) {\n classes.push(`hds-table--valign-${this.valign}`);\n }\n\n return classes.join(' ');\n }\n\n setSortBy = (column: string): void => {\n if (this.sortBy === column) {\n // check to see if the column is already sorted and invert the sort order if so\n this.sortOrder =\n this.sortOrder === HdsTableThSortOrderValues.Asc\n ? HdsTableThSortOrderValues.Desc\n : HdsTableThSortOrderValues.Asc;\n } else {\n // otherwise, set the sort order to ascending\n this.sortBy = column;\n this.sortOrder = HdsTableThSortOrderValues.Asc;\n }\n\n const { onSort } = this.args;\n\n if (typeof onSort === 'function') {\n onSort(this.sortBy, this.sortOrder);\n }\n };\n\n onSelectionChangeCallback = (\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void => {\n const { onSelectionChange } = this.args;\n if (typeof onSelectionChange === 'function') {\n onSelectionChange({\n selectionKey: selectionKey,\n selectionCheckboxElement: checkbox,\n selectedRowsKeys: this._selectableRows.reduce<string[]>((acc, row) => {\n if (row.checkbox.checked) {\n acc.push(row.selectionKey);\n }\n return acc;\n }, []),\n selectableRowsStates: this._selectableRows.reduce(\n (\n acc: { selectionKey: string; isSelected: boolean | undefined }[],\n row\n ) => {\n acc.push({\n selectionKey: row.selectionKey,\n isSelected: row.checkbox.checked,\n });\n return acc;\n },\n []\n ),\n });\n }\n };\n\n onSelectionAllChange = (): void => {\n this._selectableRows.forEach((row) => {\n row.checkbox.checked = this._selectAllCheckbox?.checked ?? false;\n });\n this._isSelectAllCheckboxSelected =\n this._selectAllCheckbox?.checked ?? false;\n this.onSelectionChangeCallback(this._selectAllCheckbox, 'all');\n };\n\n onSelectionRowChange = (\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void => {\n this.setSelectAllState();\n this.onSelectionChangeCallback(checkbox, selectionKey);\n };\n\n didInsertSelectAllCheckbox = (\n checkbox: HdsFormCheckboxBaseSignature['Element']\n ): void => {\n this._selectAllCheckbox = checkbox;\n };\n\n willDestroySelectAllCheckbox = (): void => {\n this._selectAllCheckbox = undefined;\n };\n\n didInsertRowCheckbox = (\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void => {\n if (selectionKey) {\n this._selectableRows.push({ selectionKey, checkbox });\n }\n this.setSelectAllState();\n };\n\n willDestroyRowCheckbox = (selectionKey?: string): void => {\n if (selectionKey === undefined) {\n return;\n }\n\n const index = this._selectableRows.findIndex(\n (row): boolean => row.selectionKey === selectionKey\n );\n\n if (index === -1) {\n return;\n }\n\n this._selectableRows.splice(index, 1);\n\n this.setSelectAllState();\n };\n\n setSelectAllState = (): void => {\n if (this._selectAllCheckbox) {\n const selectableRowsCount = this._selectableRows.length;\n const selectedRowsCount = this._selectableRows.filter(\n (row) => row.checkbox.checked\n ).length;\n\n this._selectAllCheckbox.checked =\n selectedRowsCount === selectableRowsCount;\n this._selectAllCheckbox.indeterminate =\n selectedRowsCount > 0 && selectedRowsCount < selectableRowsCount;\n this._isSelectAllCheckboxSelected = this._selectAllCheckbox.checked;\n }\n };\n\n <template>\n <table class={{this.classNames}} ...attributes>\n {{#if @columns}}\n <caption class=\"sr-only\" aria-live=\"polite\">{{@caption}}\n {{this.sortedMessageText}}</caption>\n {{else if @caption}}\n <caption class=\"sr-only\">{{@caption}}</caption>\n {{/if}}\n\n <thead class=\"hds-table__thead\">\n {{#if @columns}}\n <HdsTableTr\n @selectionScope=\"col\"\n @onClickSortBySelected={{if\n @selectableColumnKey\n (fn this.setSortBy @selectableColumnKey)\n }}\n @sortBySelectedOrder={{if\n (eq this.sortBy @selectableColumnKey)\n this.sortOrder\n }}\n @isSelectable={{@isSelectable}}\n @onSelectionChange={{this.onSelectionAllChange}}\n @didInsert={{this.didInsertSelectAllCheckbox}}\n @willDestroy={{this.willDestroySelectAllCheckbox}}\n @selectionAriaLabelSuffix=\"all rows\"\n >\n {{#each @columns as |column|}}\n {{#if column.isSortable}}\n <HdsTableThSort\n @sortOrder={{if (eq column.key this.sortBy) this.sortOrder}}\n @onClickSort={{fn this.setSortBy column.key}}\n @align={{column.align}}\n @width={{column.width}}\n @tooltip={{column.tooltip}}\n >\n {{column.label}}\n </HdsTableThSort>\n {{else}}\n <HdsTableTh\n @align={{column.align}}\n @width={{column.width}}\n @tooltip={{column.tooltip}}\n @isVisuallyHidden={{column.isVisuallyHidden}}\n >{{column.label}}</HdsTableTh>\n {{/if}}\n {{/each}}\n </HdsTableTr>\n {{else}}\n {{yield\n (hash\n Tr=(component\n HdsTableTr\n selectionScope=\"col\"\n isSelectable=@isSelectable\n onSelectionChange=this.onSelectionAllChange\n didInsert=this.didInsertSelectAllCheckbox\n willDestroy=this.willDestroySelectAllCheckbox\n selectionAriaLabelSuffix=\"all rows\"\n onClickSortBySelected=(if\n @selectableColumnKey (fn this.setSortBy @selectableColumnKey)\n )\n sortBySelectedOrder=(if\n (eq this.sortBy @selectableColumnKey) this.sortOrder\n )\n )\n Th=HdsTableTh\n ThSort=HdsTableThSort\n sortBy=this.sortBy\n sortOrder=this.sortOrder\n setSortBy=this.setSortBy\n )\n to=\"head\"\n }}\n {{/if}}\n </thead>\n\n <tbody class=\"hds-table__tbody\">\n {{#if @columns}}\n {{! -----------------------------------------------------------------\n IMPORTANT: we loop on the model array and for each record\n we yield the Tr/Td/Th elements _and_ the record itself as data\n this means the consumer will *have to* use the data key to access it in their template\n ----------------------------------------------------------------- }}\n {{! @glint-expect-error: [HDS-4380](https://hashicorp.atlassian.net/browse/HDS-4380) }}\n {{#let (sortBy this.getSortCriteria @model) as |sortedModel|}}\n {{#each sortedModel key=this.identityKey as |record index|}}\n {{yield\n (hash\n Tr=(component\n HdsTableTr\n selectionScope=\"row\"\n isSelectable=@isSelectable\n onSelectionChange=this.onSelectionRowChange\n didInsert=this.didInsertRowCheckbox\n willDestroy=this.willDestroyRowCheckbox\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\n )\n Th=(component HdsTableTh scope=\"row\")\n Td=(component HdsTableTd align=@align)\n data=record\n rowIndex=index\n )\n to=\"body\"\n }}\n {{/each}}\n {{/let}}\n {{else}}\n {{yield\n (hash\n Tr=(component\n HdsTableTr\n selectionScope=\"row\"\n isSelectable=@isSelectable\n onSelectionChange=this.onSelectionRowChange\n didInsert=this.didInsertRowCheckbox\n willDestroy=this.willDestroyRowCheckbox\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\n )\n Th=(component HdsTableTh scope=\"row\")\n Td=(component HdsTableTd align=@align)\n sortBy=this.sortBy\n sortOrder=this.sortOrder\n )\n to=\"body\"\n }}\n {{/if}}\n </tbody>\n </table>\n </template>\n}\n"],"names":["DENSITIES","Object","values","HdsTableDensityValues","DEFAULT_DENSITY","Medium","VALIGNMENTS","HdsTableVerticalAlignmentValues","DEFAULT_VALIGN","Top","HdsTable","Component","g","prototype","service","i","tracked","undefined","_selectableRows","constructor","owner","args","sortBy","sortOrder","HdsTableThSortOrderValues","Asc","getSortCriteria","currentColumn","columns","find","column","key","sortingFunction","identityKey","sortedMessageText","translatedSortOrder","hdsIntl","t","default","Desc","lowerCaseTranslatedSortOrder","toLowerCase","isStriped","isFixedLayout","density","assert","join","includes","valign","classNames","classes","push","setSortBy","onSort","onSelectionChangeCallback","checkbox","selectionKey","onSelectionChange","selectionCheckboxElement","selectedRowsKeys","reduce","acc","row","checked","selectableRowsStates","isSelected","onSelectionAllChange","forEach","_selectAllCheckbox","_isSelectAllCheckboxSelected","onSelectionRowChange","setSelectAllState","didInsertSelectAllCheckbox","willDestroySelectAllCheckbox","didInsertRowCheckbox","willDestroyRowCheckbox","index","findIndex","splice","selectableRowsCount","length","selectedRowsCount","filter","indeterminate","setComponentTemplate","precompileTemplate","strictMode","scope","HdsTableTr","fn","eq","HdsTableThSort","HdsTableTh","hash","HdsTableTd"],"mappings":"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"}
@@ -5,7 +5,7 @@ import { precompileTemplate } from '@ember/template-compilation';
5
5
  import { setComponentTemplate } from '@ember/component';
6
6
 
7
7
  /**
8
- * Copyright IBM Corp. 2021, 2025
8
+ * Copyright IBM Corp. 2021, 2026
9
9
  * SPDX-License-Identifier: MPL-2.0
10
10
  */
11
11
  const ALIGNMENTS = Object.values(HdsTableHorizontalAlignmentValues);
@@ -1 +1 @@
1
- {"version":3,"file":"td.js","sources":["../../../../src/components/hds/table/td.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport type { HdsTableHorizontalAlignment } from './types.ts';\nimport { HdsTableHorizontalAlignmentValues } from './types.ts';\n\nexport const ALIGNMENTS: HdsTableHorizontalAlignment[] = Object.values(\n HdsTableHorizontalAlignmentValues\n);\nexport const DEFAULT_ALIGN = HdsTableHorizontalAlignmentValues.Left;\n\nexport interface HdsTableTdSignature {\n Args: {\n align?: HdsTableHorizontalAlignment;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLTableCellElement;\n}\n\nexport default class HdsTableTd extends Component<HdsTableTdSignature> {\n get align(): HdsTableHorizontalAlignment {\n const { align = DEFAULT_ALIGN } = this.args;\n\n assert(\n `@align for \"Hds::Table::Td\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${align}`,\n ALIGNMENTS.includes(align)\n );\n return align;\n }\n\n get classNames(): string {\n const classes = [\n 'hds-table__td',\n 'hds-typography-body-200',\n 'hds-font-weight-regular',\n ];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-table__td--align-${this.align}`);\n }\n\n return classes.join(' ');\n }\n\n <template>\n <td class={{this.classNames}} ...attributes>\n {{yield}}\n </td>\n </template>\n}\n"],"names":["ALIGNMENTS","Object","values","HdsTableHorizontalAlignmentValues","DEFAULT_ALIGN","Left","HdsTableTd","Component","align","args","assert","join","includes","classNames","classes","push","setComponentTemplate","precompileTemplate","strictMode"],"mappings":";;;;;;AAAA;;;AAGC;AAQM,MAAMA,UAAY,GAAgCC,MAAA,CAAOC,MAAM,CACpEC,iCAAA;AAEK,MAAMC,aAAA,GAAgBD,iCAAA,CAAkCE;AAYhD,MAAMC,mBAAmBC,SAAA,CAAU;EAChD,IAAIC,QAAqC;IACvC,MAAM;AAAEA,MAAAA,KAAA,GAAQJ;KAAe,GAAG,IAAI,CAACK,IAAI;AAE3CC,IAAAA,MAAA,CACE,CAAA,0DAAA,EAA6DV,UAAA,CAAWW,IAAI,CAC1E,IAAA,CAAA,CAAA,YAAA,EACcH,KAAA,CAAA,CAAO,EACvBR,UAAA,CAAWY,QAAQ,CAACJ,KAAA,CAAA,CAAA;AAEtB,IAAA,OAAOA,KAAA;AACT,EAAA;EAEA,IAAIK,UAAAA,GAAqB;IACvB,MAAMC,OAAA,GAAU,CACd,eAAA,EACA,yBAAA,EACA,yBAAA,CACD;AAED;IACA,IAAI,IAAI,CAACN,KAAK,EAAE;MACdM,OAAA,CAAQC,IAAI,CAAC,CAAA,qBAAA,EAAwB,IAAI,CAACP,KAAK,EAAE,CAAA;AACnD,IAAA;AAEA,IAAA,OAAOM,OAAA,CAAQH,IAAI,CAAC,GAAA,CAAA;AACtB,EAAA;AAEA,EAAA;IAAAK,oBAAA,CAAAC,kBAAA,CAAA,kEAAA,EAIA;MAAAC,UAAA,EAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"td.js","sources":["../../../../src/components/hds/table/td.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport type { HdsTableHorizontalAlignment } from './types.ts';\nimport { HdsTableHorizontalAlignmentValues } from './types.ts';\n\nexport const ALIGNMENTS: HdsTableHorizontalAlignment[] = Object.values(\n HdsTableHorizontalAlignmentValues\n);\nexport const DEFAULT_ALIGN = HdsTableHorizontalAlignmentValues.Left;\n\nexport interface HdsTableTdSignature {\n Args: {\n align?: HdsTableHorizontalAlignment;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLTableCellElement;\n}\n\nexport default class HdsTableTd extends Component<HdsTableTdSignature> {\n get align(): HdsTableHorizontalAlignment {\n const { align = DEFAULT_ALIGN } = this.args;\n\n assert(\n `@align for \"Hds::Table::Td\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${align}`,\n ALIGNMENTS.includes(align)\n );\n return align;\n }\n\n get classNames(): string {\n const classes = [\n 'hds-table__td',\n 'hds-typography-body-200',\n 'hds-font-weight-regular',\n ];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-table__td--align-${this.align}`);\n }\n\n return classes.join(' ');\n }\n\n <template>\n <td class={{this.classNames}} ...attributes>\n {{yield}}\n </td>\n </template>\n}\n"],"names":["ALIGNMENTS","Object","values","HdsTableHorizontalAlignmentValues","DEFAULT_ALIGN","Left","HdsTableTd","Component","align","args","assert","join","includes","classNames","classes","push","setComponentTemplate","precompileTemplate","strictMode"],"mappings":";;;;;;AAAA;;;AAGC;AAQM,MAAMA,UAAY,GAAgCC,MAAA,CAAOC,MAAM,CACpEC,iCAAA;AAEK,MAAMC,aAAA,GAAgBD,iCAAA,CAAkCE;AAYhD,MAAMC,mBAAmBC,SAAA,CAAU;EAChD,IAAIC,QAAqC;IACvC,MAAM;AAAEA,MAAAA,KAAA,GAAQJ;KAAe,GAAG,IAAI,CAACK,IAAI;AAE3CC,IAAAA,MAAA,CACE,CAAA,0DAAA,EAA6DV,UAAA,CAAWW,IAAI,CAC1E,IAAA,CAAA,CAAA,YAAA,EACcH,KAAA,CAAA,CAAO,EACvBR,UAAA,CAAWY,QAAQ,CAACJ,KAAA,CAAA,CAAA;AAEtB,IAAA,OAAOA,KAAA;AACT,EAAA;EAEA,IAAIK,UAAAA,GAAqB;IACvB,MAAMC,OAAA,GAAU,CACd,eAAA,EACA,yBAAA,EACA,yBAAA,CACD;AAED;IACA,IAAI,IAAI,CAACN,KAAK,EAAE;MACdM,OAAA,CAAQC,IAAI,CAAC,CAAA,qBAAA,EAAwB,IAAI,CAACP,KAAK,EAAE,CAAA;AACnD,IAAA;AAEA,IAAA,OAAOM,OAAA,CAAQH,IAAI,CAAC,GAAA,CAAA;AACtB,EAAA;AAEA,EAAA;IAAAK,oBAAA,CAAAC,kBAAA,CAAA,kEAAA,EAIA;MAAAC,UAAA,EAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -10,7 +10,7 @@ import { setComponentTemplate } from '@ember/component';
10
10
  import { g, i } from 'decorator-transforms/runtime';
11
11
 
12
12
  /**
13
- * Copyright IBM Corp. 2021, 2025
13
+ * Copyright IBM Corp. 2021, 2026
14
14
  * SPDX-License-Identifier: MPL-2.0
15
15
  */
16
16
  const NOOP = () => {};