@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/button/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 { eq } from 'ember-truth-helpers';\n// TEST\n\nimport {\n HdsButtonSizeValues,\n HdsButtonColorValues,\n HdsButtonIconPositionValues,\n} from './types.ts';\nimport HdsInteractive from '../interactive/index.gts';\nimport HdsIcon from '../icon/index.gts';\n\nimport type {\n HdsButtonSizes,\n HdsButtonColors,\n HdsButtonIconPositions,\n} from './types.ts';\nimport type { HdsInteractiveSignature } from '../interactive/index.gts';\nimport type { HdsIconSignature } from '../icon/index.gts';\n\nexport const SIZES: HdsButtonSizes[] = Object.values(HdsButtonSizeValues);\nexport const COLORS: HdsButtonColors[] = Object.values(HdsButtonColorValues);\nexport const ICON_POSITIONS: HdsButtonIconPositions[] = Object.values(\n HdsButtonIconPositionValues\n);\nexport const DEFAULT_SIZE = HdsButtonSizeValues.Medium;\nexport const DEFAULT_COLOR = HdsButtonColorValues.Primary;\nexport const DEFAULT_ICON_POSITION = HdsButtonIconPositionValues.Leading;\n\nexport interface HdsButtonSignature {\n Args: HdsInteractiveSignature['Args'] & {\n size?: HdsButtonSizes;\n color?: HdsButtonColors;\n text: string;\n icon?: HdsIconSignature['Args']['name'];\n iconPosition?: HdsButtonIconPositions;\n isIconOnly?: boolean;\n isFullWidth?: boolean;\n isInline?: boolean;\n };\n Element: HdsInteractiveSignature['Element'];\n}\n\nexport default class HdsButton extends Component<HdsButtonSignature> {\n get text(): string {\n // TEST2\n const { text } = this.args;\n\n assert(\n '@text for \"Hds::Button\" must have a valid value',\n text !== undefined\n );\n\n return text;\n }\n\n get size(): HdsButtonSizes {\n const { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Button\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n get color(): HdsButtonColors {\n const { color = DEFAULT_COLOR } = this.args;\n\n assert(\n `@color for \"Hds::Button\" must be one of the following: ${COLORS.join(\n ', '\n )}; received: ${color}`,\n COLORS.includes(color)\n );\n\n return color;\n }\n\n get icon(): HdsIconSignature['Args']['name'] | undefined {\n assert(\n `when the \"Hds::Button\" @color is \"tertiary\" an @icon is required`,\n !(this.color === 'tertiary' && !this.args.icon)\n );\n\n return this.args.icon ?? undefined;\n }\n\n get isIconOnly(): boolean {\n if (this.icon) {\n return this.args.isIconOnly ?? false;\n }\n return false;\n }\n\n get iconPosition(): HdsButtonIconPositions {\n const { iconPosition = DEFAULT_ICON_POSITION } = this.args;\n\n assert(\n `@iconPosition for \"Hds::Button\" must be one of the following: ${ICON_POSITIONS.join(\n ', '\n )}; received: ${iconPosition}`,\n ICON_POSITIONS.includes(iconPosition)\n );\n\n return iconPosition;\n }\n\n get iconSize(): HdsIconSignature['Args']['size'] {\n if (this.args.size === 'large') {\n return '24';\n } else {\n return '16';\n }\n }\n\n get isFullWidth(): boolean {\n return this.args.isFullWidth ?? false;\n }\n\n get classNames(): string {\n const classes = ['hds-button'];\n\n // add a class based on the @color argument\n classes.push(`hds-button--color-${this.color}`);\n\n // add a class based on the @isFullWidth argument\n if (this.isFullWidth) {\n classes.push('hds-button--width-full');\n }\n\n // add a class based on isIconOnly argument\n if (this.isIconOnly) {\n classes.push('hds-button--is-icon-only');\n }\n\n // add a class based on the @isInline argument\n if (this.args.isInline) {\n classes.push('hds-button--is-inline');\n }\n\n // add a class based on the @size argument\n classes.push(`hds-button--size-${this.size}`);\n\n return classes.join(' ');\n }\n\n <template>\n <HdsInteractive\n class={{this.classNames}}\n @current-when={{@current-when}}\n @models={{@models}}\n @model={{@model}}\n @query={{@query}}\n @replace={{@replace}}\n @route={{@route}}\n @isRouteExternal={{@isRouteExternal}}\n @href={{@href}}\n @isHrefExternal={{@isHrefExternal}}\n ...attributes\n aria-label={{if this.isIconOnly this.text null}}\n >\n {{#if this.isIconOnly}}\n {{#if this.icon}}\n <span class=\"hds-button__icon\">\n <HdsIcon\n @name={{this.icon}}\n @size={{this.iconSize}}\n @stretched={{true}}\n />\n </span>\n {{/if}}\n {{else}}\n {{#if this.icon}}\n {{#if (eq this.iconPosition \"leading\")}}\n <span class=\"hds-button__icon\">\n <HdsIcon\n @name={{this.icon}}\n @size={{this.iconSize}}\n @stretched={{true}}\n />\n </span>\n <span class=\"hds-button__text\">\n {{this.text}}\n </span>\n {{else}}\n <span class=\"hds-button__text\">\n {{this.text}}\n </span>\n <span class=\"hds-button__icon\">\n <HdsIcon\n @name={{this.icon}}\n @size={{this.iconSize}}\n @stretched={{true}}\n />\n </span>\n {{/if}}\n {{else}}\n <span class=\"hds-button__text\">\n {{this.text}}\n </span>\n {{/if}}\n {{/if}}\n </HdsInteractive>\n </template>\n}\n"],"names":["SIZES","Object","values","HdsButtonSizeValues","COLORS","HdsButtonColorValues","ICON_POSITIONS","HdsButtonIconPositionValues","DEFAULT_SIZE","Medium","DEFAULT_COLOR","Primary","DEFAULT_ICON_POSITION","Leading","HdsButton","Component","text","args","assert","undefined","size","join","includes","color","icon","isIconOnly","iconPosition","iconSize","isFullWidth","classNames","classes","push","isInline","setComponentTemplate","precompileTemplate","strictMode","scope","HdsInteractive","HdsIcon","eq"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/button/index.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { service } from '@ember/service';\nimport { assert } from '@ember/debug';\nimport { eq } from 'ember-truth-helpers';\n// TEST\n\nimport {\n HdsButtonSizeValues,\n HdsButtonColorValues,\n HdsButtonIconPositionValues,\n} from './types.ts';\nimport HdsInteractive from '../interactive/index.gts';\nimport HdsIcon from '../icon/index.gts';\nimport type HdsThemingService from '../../../services/hds-theming.ts';\n\nimport type {\n HdsButtonSizes,\n HdsButtonColors,\n HdsButtonIconPositions,\n} from './types.ts';\nimport type { HdsInteractiveSignature } from '../interactive/index.gts';\nimport type { HdsIconSignature } from '../icon/index.gts';\n\nexport const SIZES: HdsButtonSizes[] = Object.values(HdsButtonSizeValues);\nexport const COLORS: HdsButtonColors[] = Object.values(HdsButtonColorValues);\nexport const ICON_POSITIONS: HdsButtonIconPositions[] = Object.values(\n HdsButtonIconPositionValues\n);\nexport const DEFAULT_SIZE = HdsButtonSizeValues.Medium;\nexport const DEFAULT_COLOR = HdsButtonColorValues.Primary;\nexport const DEFAULT_ICON_POSITION = HdsButtonIconPositionValues.Leading;\n\nexport interface HdsButtonSignature {\n Args: HdsInteractiveSignature['Args'] & {\n size?: HdsButtonSizes;\n color?: HdsButtonColors;\n text: string;\n icon?: HdsIconSignature['Args']['name'];\n iconPosition?: HdsButtonIconPositions;\n isIconOnly?: boolean;\n isFullWidth?: boolean;\n isInline?: boolean;\n };\n Element: HdsInteractiveSignature['Element'];\n}\n\nexport default class HdsButton extends Component<HdsButtonSignature> {\n @service declare readonly hdsTheming: HdsThemingService;\n\n get text(): string {\n // TEST2\n const { text } = this.args;\n\n assert(\n '@text for \"Hds::Button\" must have a valid value',\n text !== undefined\n );\n\n return text;\n }\n\n get size(): HdsButtonSizes {\n const { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Button\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n get color(): HdsButtonColors {\n const { color = DEFAULT_COLOR } = this.args;\n\n assert(\n `@color for \"Hds::Button\" must be one of the following: ${COLORS.join(\n ', '\n )}; received: ${color}`,\n COLORS.includes(color)\n );\n\n return color;\n }\n\n get icon(): HdsIconSignature['Args']['name'] | undefined {\n assert(\n `when the \"Hds::Button\" @color is \"tertiary\" an @icon is required`,\n !(this.color === 'tertiary' && !this.args.icon)\n );\n\n return this.args.icon ?? undefined;\n }\n\n get isIconOnly(): boolean {\n if (this.icon) {\n return this.args.isIconOnly ?? false;\n }\n return false;\n }\n\n get iconPosition(): HdsButtonIconPositions {\n const { iconPosition = DEFAULT_ICON_POSITION } = this.args;\n\n assert(\n `@iconPosition for \"Hds::Button\" must be one of the following: ${ICON_POSITIONS.join(\n ', '\n )}; received: ${iconPosition}`,\n ICON_POSITIONS.includes(iconPosition)\n );\n\n return iconPosition;\n }\n\n get iconSize(): HdsIconSignature['Args']['size'] {\n // the Carbon Button component has a 16px icon also at large size (the 24px icon resized to 16px would have a smaller stroke width, which is not desireable)\n if (this.args.size === 'large' && !this.hdsTheming.isCarbonThemeEnabled) {\n return '24';\n } else {\n return '16';\n }\n }\n\n get isFullWidth(): boolean {\n return this.args.isFullWidth ?? false;\n }\n\n get classNames(): string {\n const classes = ['hds-button'];\n\n // add a class based on the @color argument\n classes.push(`hds-button--color-${this.color}`);\n\n // add a class based on the @isFullWidth argument\n if (this.isFullWidth) {\n classes.push('hds-button--width-full');\n }\n\n // add a class based on isIconOnly argument\n if (this.isIconOnly) {\n classes.push('hds-button--is-icon-only');\n }\n\n // add a class based on the @isInline argument\n if (this.args.isInline) {\n classes.push('hds-button--is-inline');\n }\n\n // add a class based on the @size argument\n classes.push(`hds-button--size-${this.size}`);\n\n return classes.join(' ');\n }\n\n <template>\n <HdsInteractive\n class={{this.classNames}}\n @current-when={{@current-when}}\n @models={{@models}}\n @model={{@model}}\n @query={{@query}}\n @replace={{@replace}}\n @route={{@route}}\n @isRouteExternal={{@isRouteExternal}}\n @href={{@href}}\n @isHrefExternal={{@isHrefExternal}}\n ...attributes\n aria-label={{if this.isIconOnly this.text null}}\n >\n {{#if this.isIconOnly}}\n {{#if this.icon}}\n <span class=\"hds-button__icon\">\n <HdsIcon\n @name={{this.icon}}\n @size={{this.iconSize}}\n @stretched={{true}}\n />\n </span>\n {{/if}}\n {{else}}\n {{#if this.icon}}\n {{#if (eq this.iconPosition \"leading\")}}\n <span class=\"hds-button__icon\">\n <HdsIcon\n @name={{this.icon}}\n @size={{this.iconSize}}\n @stretched={{true}}\n />\n </span>\n <span class=\"hds-button__text\">\n {{this.text}}\n </span>\n {{else}}\n <span class=\"hds-button__text\">\n {{this.text}}\n </span>\n <span class=\"hds-button__icon\">\n <HdsIcon\n @name={{this.icon}}\n @size={{this.iconSize}}\n @stretched={{true}}\n />\n </span>\n {{/if}}\n {{else}}\n <span class=\"hds-button__text\">\n {{this.text}}\n </span>\n {{/if}}\n {{/if}}\n </HdsInteractive>\n </template>\n}\n"],"names":["SIZES","Object","values","HdsButtonSizeValues","COLORS","HdsButtonColorValues","ICON_POSITIONS","HdsButtonIconPositionValues","DEFAULT_SIZE","Medium","DEFAULT_COLOR","Primary","DEFAULT_ICON_POSITION","Leading","HdsButton","Component","g","prototype","service","i","text","args","assert","undefined","size","join","includes","color","icon","isIconOnly","iconPosition","iconSize","hdsTheming","isCarbonThemeEnabled","isFullWidth","classNames","classes","push","isInline","setComponentTemplate","precompileTemplate","strictMode","scope","HdsInteractive","HdsIcon","eq"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { setComponentTemplate } from '@ember/component';
3
3
  import templateOnly from '@ember/component/template-only';
4
4
 
5
5
  /**
6
- * Copyright IBM Corp. 2021, 2025
6
+ * Copyright IBM Corp. 2021, 2026
7
7
  * SPDX-License-Identifier: MPL-2.0
8
8
  */
9
9
  const HdsButtonSet = setComponentTemplate(precompileTemplate("<div class=\"hds-button-set\" ...attributes>\n {{yield}}\n</div>", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/button-set/index.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\nexport interface HdsButtonSetSignature {\n Blocks: { default: [] };\n Element: HTMLDivElement;\n}\nconst HdsButtonSet: TemplateOnlyComponent<HdsButtonSetSignature> = <template>\n <div class=\"hds-button-set\" ...attributes>\n {{yield}}\n </div>\n</template>;\n\nexport default HdsButtonSet;\n"],"names":["HdsButtonSet","setComponentTemplate","precompileTemplate","strictMode","templateOnly"],"mappings":";;;;AAAA;;;AAGC;AAOD,MAAMA,YAAoC,GAAAC,oBAAA,CAAyBC,kBAAA,CAAA,mEAAA,EAInE;EAAAC,UAAA,EAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/button-set/index.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\nexport interface HdsButtonSetSignature {\n Blocks: { default: [] };\n Element: HTMLDivElement;\n}\nconst HdsButtonSet: TemplateOnlyComponent<HdsButtonSetSignature> = <template>\n <div class=\"hds-button-set\" ...attributes>\n {{yield}}\n </div>\n</template>;\n\nexport default HdsButtonSet;\n"],"names":["HdsButtonSet","setComponentTemplate","precompileTemplate","strictMode","templateOnly"],"mappings":";;;;AAAA;;;AAGC;AAOD,MAAMA,YAAoC,GAAAC,oBAAA,CAAyBC,kBAAA,CAAA,mEAAA,EAInE;EAAAC,UAAA,EAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -7,7 +7,7 @@ import { precompileTemplate } from '@ember/template-compilation';
7
7
  import { setComponentTemplate } from '@ember/component';
8
8
 
9
9
  /**
10
- * Copyright IBM Corp. 2021, 2025
10
+ * Copyright IBM Corp. 2021, 2026
11
11
  * SPDX-License-Identifier: MPL-2.0
12
12
  */
13
13
  const DEFAULT_LEVEL = HdsCardLevelValues.Base;
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sources":["../../../../src/components/hds/card/container.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';\nimport { element } from 'ember-element-helper';\n\nimport {\n HdsCardBackgroundValues,\n HdsCardLevelValues,\n HdsCardOverflowValues,\n HdsCardTagValues,\n} from './types.ts';\n\nimport type {\n HdsCardBackground,\n HdsCardLevel,\n HdsCardOverflow,\n HdsCardTag,\n} from './types.ts';\n\nexport const DEFAULT_LEVEL = HdsCardLevelValues.Base;\nexport const DEFAULT_BACKGROUND = HdsCardBackgroundValues.NeutralPrimary;\nexport const DEFAULT_OVERFLOW = HdsCardOverflowValues.Visible;\nexport const DEFAULT_TAG = HdsCardTagValues.Div;\nexport const LEVELS: HdsCardLevel[] = Object.values(HdsCardLevelValues);\nexport const BACKGROUNDS: HdsCardBackground[] = Object.values(\n HdsCardBackgroundValues\n);\nexport const OVERFLOWS: HdsCardOverflow[] = Object.values(\n HdsCardOverflowValues\n);\nexport const TAGS: HdsCardTag[] = Object.values(HdsCardTagValues);\n\nexport interface HdsCardContainerSignature {\n Args: {\n level?: HdsCardLevel;\n levelActive?: HdsCardLevel;\n levelHover?: HdsCardLevel;\n background?: HdsCardBackground;\n hasBorder?: boolean;\n overflow?: HdsCardOverflow;\n tag?: HdsCardTag;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLElement;\n}\n\nexport default class HdsCardContainer extends Component<HdsCardContainerSignature> {\n // Sets the \"elevation\" level for the component\n get level(): HdsCardLevel {\n const { level = DEFAULT_LEVEL } = this.args;\n\n assert(\n `@level for \"Hds::Card::Container\" must be one of the following: ${LEVELS.join(\n ', '\n )}; received: ${level}`,\n LEVELS.includes(level)\n );\n\n return level;\n }\n\n // Sets the \"elevation\" level for the component on \":hover\" state\n get levelHover(): HdsCardLevel | undefined {\n const { levelHover } = this.args;\n\n if (levelHover) {\n assert(\n `@levelHover for \"Hds::Card::Container\" must be one of the following: ${LEVELS.join(\n ', '\n )}; received: ${levelHover}`,\n LEVELS.includes(levelHover)\n );\n }\n\n return levelHover;\n }\n\n // Sets the \"elevation\" level for the component on \":active\" state\n get levelActive(): HdsCardLevel | undefined {\n const { levelActive } = this.args;\n\n if (levelActive) {\n assert(\n `@levelActive for \"Hds::Card::Container\" must be one of the following: ${LEVELS.join(\n ', '\n )}; received: ${levelActive}`,\n LEVELS.includes(levelActive)\n );\n }\n\n return levelActive;\n }\n\n // Sets the background for the component\n get background(): HdsCardBackground {\n const { background = DEFAULT_BACKGROUND } = this.args;\n\n assert(\n `@background for \"Hds::Card::Container\" must be one of the following: ${BACKGROUNDS.join(\n ', '\n )}; received: ${background}`,\n BACKGROUNDS.includes(background)\n );\n\n return background;\n }\n\n // Sets the level for the card\n get overflow(): HdsCardOverflow {\n const { overflow = DEFAULT_OVERFLOW } = this.args;\n\n assert(\n `@overflow for \"Hds::Card::Container\" must be one of the following: ${OVERFLOWS.join(\n ', '\n )}; received: ${overflow}`,\n OVERFLOWS.includes(overflow)\n );\n\n return overflow;\n }\n\n get componentTag(): HdsCardTag {\n const { tag = DEFAULT_TAG } = this.args;\n\n assert(\n `@tag for \"Hds::Card::Container\" must be one of the following: ${TAGS.join(', ')}; received: ${tag}`,\n TAGS.includes(tag)\n );\n\n return tag;\n }\n\n // Get the class names to apply to the component.\n get classNames(): string {\n const classes = ['hds-card__container'];\n\n // add \"elevation\" classes based on the @level and @hasBorder arguments\n classes.push(\n `hds-card__container--level-${\n this.args.hasBorder ? 'surface' : 'elevation'\n }-${this.level}`\n );\n if (this.levelHover) {\n classes.push(\n `hds-card__container--hover-level-${\n this.args.hasBorder ? 'surface' : 'elevation'\n }-${this.levelHover}`\n );\n }\n if (this.levelActive) {\n classes.push(\n `hds-card__container--active-level-${\n this.args.hasBorder ? 'surface' : 'elevation'\n }-${this.levelActive}`\n );\n }\n\n // add a class based on the @background argument\n classes.push(`hds-card__container--background-${this.background}`);\n\n // add a class based on the @overflow argument\n classes.push(`hds-card__container--overflow-${this.overflow}`);\n\n return classes.join(' ');\n }\n\n <template>\n {{!\n Dynamically generating an HTML tag in Ember creates a dynamic component class (with the corresponding tagName), while rendering\n a plain HTML element requires less computing cycles for Ember (you will notice it doesn't add the ember-view class to it).\n }}\n {{#if (eq this.componentTag \"div\")}}\n <div class={{this.classNames}} ...attributes>{{yield}}</div>\n {{else}}\n {{#let (element this.componentTag) as |Tag|}}\n <Tag\n class={{this.classNames}}\n role={{if (eq this.componentTag \"li\") \"listitem\"}}\n ...attributes\n >{{yield}}</Tag>\n {{/let}}\n {{/if}}\n </template>\n}\n"],"names":["DEFAULT_LEVEL","HdsCardLevelValues","Base","DEFAULT_BACKGROUND","HdsCardBackgroundValues","NeutralPrimary","DEFAULT_OVERFLOW","HdsCardOverflowValues","Visible","DEFAULT_TAG","HdsCardTagValues","Div","LEVELS","Object","values","BACKGROUNDS","OVERFLOWS","TAGS","HdsCardContainer","Component","level","args","assert","join","includes","levelHover","levelActive","background","overflow","componentTag","tag","classNames","classes","push","hasBorder","setComponentTemplate","precompileTemplate","strictMode","scope","eq","element"],"mappings":"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"}
1
+ {"version":3,"file":"container.js","sources":["../../../../src/components/hds/card/container.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';\nimport { element } from 'ember-element-helper';\n\nimport {\n HdsCardBackgroundValues,\n HdsCardLevelValues,\n HdsCardOverflowValues,\n HdsCardTagValues,\n} from './types.ts';\n\nimport type {\n HdsCardBackground,\n HdsCardLevel,\n HdsCardOverflow,\n HdsCardTag,\n} from './types.ts';\n\nexport const DEFAULT_LEVEL = HdsCardLevelValues.Base;\nexport const DEFAULT_BACKGROUND = HdsCardBackgroundValues.NeutralPrimary;\nexport const DEFAULT_OVERFLOW = HdsCardOverflowValues.Visible;\nexport const DEFAULT_TAG = HdsCardTagValues.Div;\nexport const LEVELS: HdsCardLevel[] = Object.values(HdsCardLevelValues);\nexport const BACKGROUNDS: HdsCardBackground[] = Object.values(\n HdsCardBackgroundValues\n);\nexport const OVERFLOWS: HdsCardOverflow[] = Object.values(\n HdsCardOverflowValues\n);\nexport const TAGS: HdsCardTag[] = Object.values(HdsCardTagValues);\n\nexport interface HdsCardContainerSignature {\n Args: {\n level?: HdsCardLevel;\n levelActive?: HdsCardLevel;\n levelHover?: HdsCardLevel;\n background?: HdsCardBackground;\n hasBorder?: boolean;\n overflow?: HdsCardOverflow;\n tag?: HdsCardTag;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLElement;\n}\n\nexport default class HdsCardContainer extends Component<HdsCardContainerSignature> {\n // Sets the \"elevation\" level for the component\n get level(): HdsCardLevel {\n const { level = DEFAULT_LEVEL } = this.args;\n\n assert(\n `@level for \"Hds::Card::Container\" must be one of the following: ${LEVELS.join(\n ', '\n )}; received: ${level}`,\n LEVELS.includes(level)\n );\n\n return level;\n }\n\n // Sets the \"elevation\" level for the component on \":hover\" state\n get levelHover(): HdsCardLevel | undefined {\n const { levelHover } = this.args;\n\n if (levelHover) {\n assert(\n `@levelHover for \"Hds::Card::Container\" must be one of the following: ${LEVELS.join(\n ', '\n )}; received: ${levelHover}`,\n LEVELS.includes(levelHover)\n );\n }\n\n return levelHover;\n }\n\n // Sets the \"elevation\" level for the component on \":active\" state\n get levelActive(): HdsCardLevel | undefined {\n const { levelActive } = this.args;\n\n if (levelActive) {\n assert(\n `@levelActive for \"Hds::Card::Container\" must be one of the following: ${LEVELS.join(\n ', '\n )}; received: ${levelActive}`,\n LEVELS.includes(levelActive)\n );\n }\n\n return levelActive;\n }\n\n // Sets the background for the component\n get background(): HdsCardBackground {\n const { background = DEFAULT_BACKGROUND } = this.args;\n\n assert(\n `@background for \"Hds::Card::Container\" must be one of the following: ${BACKGROUNDS.join(\n ', '\n )}; received: ${background}`,\n BACKGROUNDS.includes(background)\n );\n\n return background;\n }\n\n // Sets the level for the card\n get overflow(): HdsCardOverflow {\n const { overflow = DEFAULT_OVERFLOW } = this.args;\n\n assert(\n `@overflow for \"Hds::Card::Container\" must be one of the following: ${OVERFLOWS.join(\n ', '\n )}; received: ${overflow}`,\n OVERFLOWS.includes(overflow)\n );\n\n return overflow;\n }\n\n get componentTag(): HdsCardTag {\n const { tag = DEFAULT_TAG } = this.args;\n\n assert(\n `@tag for \"Hds::Card::Container\" must be one of the following: ${TAGS.join(', ')}; received: ${tag}`,\n TAGS.includes(tag)\n );\n\n return tag;\n }\n\n // Get the class names to apply to the component.\n get classNames(): string {\n const classes = ['hds-card__container'];\n\n // add \"elevation\" classes based on the @level and @hasBorder arguments\n classes.push(\n `hds-card__container--level-${\n this.args.hasBorder ? 'surface' : 'elevation'\n }-${this.level}`\n );\n if (this.levelHover) {\n classes.push(\n `hds-card__container--hover-level-${\n this.args.hasBorder ? 'surface' : 'elevation'\n }-${this.levelHover}`\n );\n }\n if (this.levelActive) {\n classes.push(\n `hds-card__container--active-level-${\n this.args.hasBorder ? 'surface' : 'elevation'\n }-${this.levelActive}`\n );\n }\n\n // add a class based on the @background argument\n classes.push(`hds-card__container--background-${this.background}`);\n\n // add a class based on the @overflow argument\n classes.push(`hds-card__container--overflow-${this.overflow}`);\n\n return classes.join(' ');\n }\n\n <template>\n {{!\n Dynamically generating an HTML tag in Ember creates a dynamic component class (with the corresponding tagName), while rendering\n a plain HTML element requires less computing cycles for Ember (you will notice it doesn't add the ember-view class to it).\n }}\n {{#if (eq this.componentTag \"div\")}}\n <div class={{this.classNames}} ...attributes>{{yield}}</div>\n {{else}}\n {{#let (element this.componentTag) as |Tag|}}\n <Tag\n class={{this.classNames}}\n role={{if (eq this.componentTag \"li\") \"listitem\"}}\n ...attributes\n >{{yield}}</Tag>\n {{/let}}\n {{/if}}\n </template>\n}\n"],"names":["DEFAULT_LEVEL","HdsCardLevelValues","Base","DEFAULT_BACKGROUND","HdsCardBackgroundValues","NeutralPrimary","DEFAULT_OVERFLOW","HdsCardOverflowValues","Visible","DEFAULT_TAG","HdsCardTagValues","Div","LEVELS","Object","values","BACKGROUNDS","OVERFLOWS","TAGS","HdsCardContainer","Component","level","args","assert","join","includes","levelHover","levelActive","background","overflow","componentTag","tag","classNames","classes","push","hasBorder","setComponentTemplate","precompileTemplate","strictMode","scope","eq","element"],"mappings":";;;;;;;;AAAA;;;AAGC;AAqBM,MAAMA,aAAA,GAAgBC,kBAAA,CAAmBC;AACzC,MAAMC,kBAAA,GAAqBC,uBAAA,CAAwBC;AACnD,MAAMC,gBAAA,GAAmBC,qBAAA,CAAsBC;AAC/C,MAAMC,WAAA,GAAcC,gBAAA,CAAiBC;AACrC,MAAMC,MAAQ,GAAiBC,MAAA,CAAOC,MAAM,CAACb,kBAAA;AAC7C,MAAMc,WAAa,GAAsBF,MAAA,CAAOC,MAAM,CAC3DV,uBAAA;AAEK,MAAMY,SAAW,GAAoBH,MAAA,CAAOC,MAAM,CACvDP,qBAAA;AAEK,MAAMU,IAAM,GAAeJ,MAAA,CAAOC,MAAM,CAACJ,gBAAA;AAkBjC,MAAMQ,yBAAyBC,SAAA,CAAU;AACtD;EACA,IAAIC,QAAsB;IACxB,MAAM;AAAEA,MAAAA,KAAA,GAAQpB;KAAe,GAAG,IAAI,CAACqB,IAAI;AAE3CC,IAAAA,MAAA,CACE,CAAA,gEAAA,EAAmEV,MAAA,CAAOW,IAAI,CAC5E,IAAA,CAAA,CAAA,YAAA,EACcH,KAAA,CAAA,CAAO,EACvBR,MAAA,CAAOY,QAAQ,CAACJ,KAAA,CAAA,CAAA;AAGlB,IAAA,OAAOA,KAAA;AACT,EAAA;AAEA;EACA,IAAIK,UAAAA,GAAuC;IACzC,MAAM;AAAEA,MAAAA;KAAY,GAAG,IAAI,CAACJ,IAAI;AAEhC,IAAA,IAAII,UAAA,EAAY;AACdH,MAAAA,MAAA,CACE,CAAA,qEAAA,EAAwEV,MAAA,CAAOW,IAAI,CACjF,IAAA,CAAA,CAAA,YAAA,EACcE,UAAA,CAAA,CAAY,EAC5Bb,MAAA,CAAOY,QAAQ,CAACC,UAAA,CAAA,CAAA;AAEpB,IAAA;AAEA,IAAA,OAAOA,UAAA;AACT,EAAA;AAEA;EACA,IAAIC,WAAAA,GAAwC;IAC1C,MAAM;AAAEA,MAAAA;KAAa,GAAG,IAAI,CAACL,IAAI;AAEjC,IAAA,IAAIK,WAAA,EAAa;AACfJ,MAAAA,MAAA,CACE,CAAA,sEAAA,EAAyEV,MAAA,CAAOW,IAAI,CAClF,IAAA,CAAA,CAAA,YAAA,EACcG,WAAA,CAAA,CAAa,EAC7Bd,MAAA,CAAOY,QAAQ,CAACE,WAAA,CAAA,CAAA;AAEpB,IAAA;AAEA,IAAA,OAAOA,WAAA;AACT,EAAA;AAEA;EACA,IAAIC,aAAgC;IAClC,MAAM;AAAEA,MAAAA,UAAA,GAAaxB;KAAoB,GAAG,IAAI,CAACkB,IAAI;AAErDC,IAAAA,MAAA,CACE,CAAA,qEAAA,EAAwEP,WAAA,CAAYQ,IAAI,CACtF,IAAA,CAAA,CAAA,YAAA,EACcI,UAAA,CAAA,CAAY,EAC5BZ,WAAA,CAAYS,QAAQ,CAACG,UAAA,CAAA,CAAA;AAGvB,IAAA,OAAOA,UAAA;AACT,EAAA;AAEA;EACA,IAAIC,WAA4B;IAC9B,MAAM;AAAEA,MAAAA,QAAA,GAAWtB;KAAkB,GAAG,IAAI,CAACe,IAAI;AAEjDC,IAAAA,MAAA,CACE,CAAA,mEAAA,EAAsEN,SAAA,CAAUO,IAAI,CAClF,IAAA,CAAA,CAAA,YAAA,EACcK,QAAA,CAAA,CAAU,EAC1BZ,SAAA,CAAUQ,QAAQ,CAACI,QAAA,CAAA,CAAA;AAGrB,IAAA,OAAOA,QAAA;AACT,EAAA;EAEA,IAAIC,eAA2B;IAC7B,MAAM;AAAEC,MAAAA,GAAA,GAAMrB;KAAa,GAAG,IAAI,CAACY,IAAI;AAEvCC,IAAAA,MAAA,CACE,CAAA,8DAAA,EAAiEL,IAAA,CAAKM,IAAI,CAAC,IAAA,CAAA,CAAA,YAAA,EAAoBO,GAAA,CAAA,CAAK,EACpGb,IAAA,CAAKO,QAAQ,CAACM,GAAA,CAAA,CAAA;AAGhB,IAAA,OAAOA,GAAA;AACT,EAAA;AAEA;EACA,IAAIC,UAAAA,GAAqB;AACvB,IAAA,MAAMC,OAAA,GAAU,CAAC,qBAAA,CAAsB;AAEvC;AACAA,IAAAA,OAAA,CAAQC,IAAI,CACV,8BACE,IAAI,CAACZ,IAAI,CAACa,SAAS,GAAG,SAAA,GAAY,eAChC,IAAI,CAACd,KAAK,EAAE,CAAA;IAElB,IAAI,IAAI,CAACK,UAAU,EAAE;AACnBO,MAAAA,OAAA,CAAQC,IAAI,CACV,oCACE,IAAI,CAACZ,IAAI,CAACa,SAAS,GAAG,SAAA,GAAY,eAChC,IAAI,CAACT,UAAU,EAAE,CAAA;AAEzB,IAAA;IACA,IAAI,IAAI,CAACC,WAAW,EAAE;AACpBM,MAAAA,OAAA,CAAQC,IAAI,CACV,qCACE,IAAI,CAACZ,IAAI,CAACa,SAAS,GAAG,SAAA,GAAY,eAChC,IAAI,CAACR,WAAW,EAAE,CAAA;AAE1B,IAAA;AAEA;IACAM,OAAA,CAAQC,IAAI,CAAC,CAAA,gCAAA,EAAmC,IAAI,CAACN,UAAU,EAAE,CAAA;AAEjE;IACAK,OAAA,CAAQC,IAAI,CAAC,CAAA,8BAAA,EAAiC,IAAI,CAACL,QAAQ,EAAE,CAAA;AAE7D,IAAA,OAAOI,OAAA,CAAQT,IAAI,CAAC,GAAA,CAAA;AACtB,EAAA;AAEA,EAAA;IAAAY,oBAAA,CAAAC,kBAAA,CAAA,+jBAAA,EAgBA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,EAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -4,7 +4,7 @@ import { precompileTemplate } from '@ember/template-compilation';
4
4
  import { setComponentTemplate } from '@ember/component';
5
5
 
6
6
  /**
7
- * Copyright IBM Corp. 2021, 2025
7
+ * Copyright IBM Corp. 2021, 2026
8
8
  * SPDX-License-Identifier: MPL-2.0
9
9
  */
10
10
  class HdsCodeBlockCopyButton extends Component {
@@ -1 +1 @@
1
- {"version":3,"file":"copy-button.js","sources":["../../../../src/components/hds/code-block/copy-button.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nimport HdsCopyButton from '../copy/button/index.gts';\n\nimport type { HdsCopyButtonSignature } from '../copy/button/index.gts';\n\nexport interface HdsCodeBlockCopyButtonSignature {\n Args: {\n targetToCopy?: HdsCopyButtonSignature['Args']['targetToCopy'];\n text?: HdsCopyButtonSignature['Args']['text'];\n onCopy?: HdsCopyButtonSignature['Args']['onSuccess'];\n copySuccessMessageText?: HdsCopyButtonSignature['Args']['ariaMessageText'];\n };\n Blocks: {\n default: [];\n };\n Element: HdsCopyButtonSignature['Element'];\n}\n\nexport default class HdsCodeBlockCopyButton extends Component<HdsCodeBlockCopyButtonSignature> {\n get text(): HdsCopyButtonSignature['Args']['text'] {\n return this.args.text ? this.args.text : 'Copy';\n }\n\n <template>\n <HdsCopyButton\n class=\"hds-code-block__copy-button\"\n @text={{this.text}}\n @isIconOnly={{true}}\n @size=\"small\"\n @targetToCopy={{@targetToCopy}}\n @onSuccess={{@onCopy}}\n @ariaMessageText={{@copySuccessMessageText}}\n ...attributes\n />\n </template>\n}\n"],"names":["HdsCodeBlockCopyButton","Component","text","args","setComponentTemplate","precompileTemplate","strictMode","scope","HdsCopyButton"],"mappings":";;;;;AAAA;;;AAGC;AAqBc,MAAMA,+BAA+BC,SAAA,CAAU;EAC5D,IAAIC,IAAAA,GAA+C;AACjD,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,IAAI,GAAG,IAAI,CAACC,IAAI,CAACD,IAAI,GAAG,MAAA;AAC3C,EAAA;AAEA,EAAA;IAAAE,oBAAA,CAAAC,kBAAA,CAAA,oOAAA,EAWA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"copy-button.js","sources":["../../../../src/components/hds/code-block/copy-button.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nimport HdsCopyButton from '../copy/button/index.gts';\n\nimport type { HdsCopyButtonSignature } from '../copy/button/index.gts';\n\nexport interface HdsCodeBlockCopyButtonSignature {\n Args: {\n targetToCopy?: HdsCopyButtonSignature['Args']['targetToCopy'];\n text?: HdsCopyButtonSignature['Args']['text'];\n onCopy?: HdsCopyButtonSignature['Args']['onSuccess'];\n copySuccessMessageText?: HdsCopyButtonSignature['Args']['ariaMessageText'];\n };\n Blocks: {\n default: [];\n };\n Element: HdsCopyButtonSignature['Element'];\n}\n\nexport default class HdsCodeBlockCopyButton extends Component<HdsCodeBlockCopyButtonSignature> {\n get text(): HdsCopyButtonSignature['Args']['text'] {\n return this.args.text ? this.args.text : 'Copy';\n }\n\n <template>\n <HdsCopyButton\n class=\"hds-code-block__copy-button\"\n @text={{this.text}}\n @isIconOnly={{true}}\n @size=\"small\"\n @targetToCopy={{@targetToCopy}}\n @onSuccess={{@onCopy}}\n @ariaMessageText={{@copySuccessMessageText}}\n ...attributes\n />\n </template>\n}\n"],"names":["HdsCodeBlockCopyButton","Component","text","args","setComponentTemplate","precompileTemplate","strictMode","scope","HdsCopyButton"],"mappings":";;;;;AAAA;;;AAGC;AAqBc,MAAMA,+BAA+BC,SAAA,CAAU;EAC5D,IAAIC,IAAAA,GAA+C;AACjD,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,IAAI,GAAG,IAAI,CAACC,IAAI,CAACD,IAAI,GAAG,MAAA;AAC3C,EAAA;AAEA,EAAA;IAAAE,oBAAA,CAAAC,kBAAA,CAAA,oOAAA,EAWA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,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
  class HdsCodeBlockDescription extends Component {
@@ -1 +1 @@
1
- {"version":3,"file":"description.js","sources":["../../../../src/components/hds/code-block/description.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';\n\nimport HdsTextBody from '../text/body.gts';\n\nimport type { HdsTextBodySignature } from '../text/body.gts';\n\ntype HdsCodeBlockDescriptionElement = HdsTextBodySignature['Element'];\nexport interface HdsCodeBlockDescriptionSignature {\n Args: {\n didInsertNode: (element: HdsCodeBlockDescriptionElement) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HdsCodeBlockDescriptionElement;\n}\n\nexport default class HdsCodeBlockDescription extends Component<HdsCodeBlockDescriptionSignature> {\n private _id = 'description-' + guidFor(this);\n\n private _setUpDescription = modifier(\n (\n element: HTMLElement,\n [insertCallbackFunction]: [(element: HTMLElement) => void]\n ) => {\n if (typeof insertCallbackFunction === 'function') {\n insertCallbackFunction(element);\n }\n }\n );\n\n <template>\n <HdsTextBody\n id={{this._id}}\n @tag=\"p\"\n @size=\"100\"\n class=\"hds-code-block__description\"\n ...attributes\n {{this._setUpDescription @didInsertNode}}\n >\n {{yield}}\n </HdsTextBody>\n </template>\n}\n"],"names":["HdsCodeBlockDescription","Component","_id","guidFor","_setUpDescription","modifier","element","insertCallbackFunction","setComponentTemplate","precompileTemplate","strictMode","scope","HdsTextBody"],"mappings":";;;;;;;AAAA;;;AAGC;AAqBc,MAAMA,gCAAgCC,SAAA,CAAU;AACrDC,EAAAA,GAAA,GAAM,cAAA,GAAiBC,OAAA,CAAQ,IAAI,CAAA;EAEnCC,iBAAA,GAAoBC,QAAA,CAC1B,CACEC,OAAS,EACT,CAACC,sBAAA,CAAyD,KAAA;AAE1D,IAAA,IAAI,OAAOA,2BAA2B,UAAA,EAAY;MAChDA,sBAAA,CAAuBD,OAAA,CAAA;AACzB,IAAA;AACF,EAAA,CAAA,CAAA;AAGF,EAAA;IAAAE,oBAAA,CAAAC,kBAAA,CAAA,mLAAA,EAWA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"description.js","sources":["../../../../src/components/hds/code-block/description.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';\n\nimport HdsTextBody from '../text/body.gts';\n\nimport type { HdsTextBodySignature } from '../text/body.gts';\n\ntype HdsCodeBlockDescriptionElement = HdsTextBodySignature['Element'];\nexport interface HdsCodeBlockDescriptionSignature {\n Args: {\n didInsertNode: (element: HdsCodeBlockDescriptionElement) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HdsCodeBlockDescriptionElement;\n}\n\nexport default class HdsCodeBlockDescription extends Component<HdsCodeBlockDescriptionSignature> {\n private _id = 'description-' + guidFor(this);\n\n private _setUpDescription = modifier(\n (\n element: HTMLElement,\n [insertCallbackFunction]: [(element: HTMLElement) => void]\n ) => {\n if (typeof insertCallbackFunction === 'function') {\n insertCallbackFunction(element);\n }\n }\n );\n\n <template>\n <HdsTextBody\n id={{this._id}}\n @tag=\"p\"\n @size=\"100\"\n class=\"hds-code-block__description\"\n ...attributes\n {{this._setUpDescription @didInsertNode}}\n >\n {{yield}}\n </HdsTextBody>\n </template>\n}\n"],"names":["HdsCodeBlockDescription","Component","_id","guidFor","_setUpDescription","modifier","element","insertCallbackFunction","setComponentTemplate","precompileTemplate","strictMode","scope","HdsTextBody"],"mappings":";;;;;;;AAAA;;;AAGC;AAqBc,MAAMA,gCAAgCC,SAAA,CAAU;AACrDC,EAAAA,GAAA,GAAM,cAAA,GAAiBC,OAAA,CAAQ,IAAI,CAAA;EAEnCC,iBAAA,GAAoBC,QAAA,CAC1B,CACEC,OAAS,EACT,CAACC,sBAAA,CAAyD,KAAA;AAE1D,IAAA,IAAI,OAAOA,2BAA2B,UAAA,EAAY;MAChDA,sBAAA,CAAuBD,OAAA,CAAA;AACzB,IAAA;AACF,EAAA,CAAA,CAAA;AAGF,EAAA;IAAAE,oBAAA,CAAAC,kBAAA,CAAA,mLAAA,EAWA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -31,7 +31,7 @@ import { setComponentTemplate } from '@ember/component';
31
31
  import { g, i } from 'decorator-transforms/runtime';
32
32
 
33
33
  /**
34
- * Copyright IBM Corp. 2021, 2025
34
+ * Copyright IBM Corp. 2021, 2026
35
35
  * SPDX-License-Identifier: MPL-2.0
36
36
  */
37
37
  const LANGUAGES = Object.values(HdsCodeBlockLanguageValues);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/code-block/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 { assert } from '@ember/debug';\nimport { next, schedule } from '@ember/runloop';\nimport { htmlSafe } from '@ember/template';\nimport { guidFor } from '@ember/object/internals';\nimport { modifier } from 'ember-modifier';\nimport { hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport Prism from 'prismjs';\nimport style from 'ember-style-modifier';\n\nimport type { SafeString } from '@ember/template';\nimport type { WithBoundArgs } from '@glint/template';\n\nimport { HdsCodeBlockLanguageValues } from './types.ts';\nimport HdsCodeBlockCopyButton from './copy-button.gts';\nimport HdsButton from '../button/index.gts';\nimport HdsCodeBlockTitle from './title.gts';\nimport HdsCodeBlockDescription from './description.gts';\n\nimport type { HdsCodeBlockTitleSignature } from './title.gts';\nimport type { HdsCodeBlockDescriptionSignature } from './description.gts';\nimport type { HdsCodeBlockLanguages } from './types.ts';\nimport type { HdsCopyButtonSignature } from '../copy/button/index.gts';\n\nimport 'prismjs/plugins/line-numbers/prism-line-numbers';\nimport 'prismjs/plugins/line-highlight/prism-line-highlight';\n\nimport 'prismjs/components/prism-bash';\nimport 'prismjs/components/prism-go';\nimport 'prismjs/components/prism-hcl';\nimport 'prismjs/components/prism-json';\nimport 'prismjs/components/prism-log';\nimport 'prismjs/components/prism-ruby';\nimport 'prismjs/components/prism-shell-session';\nimport 'prismjs/components/prism-yaml';\n\n// These imports are required to overcome a global variable clash in Helios website\n// where language import are overriden by the Prism instance in `CodeBlock`\n// Note that `prism-handlebars` is dependant on `prism-markup-templating`\nimport 'prismjs/components/prism-markup-templating';\nimport 'prismjs/components/prism-handlebars';\n\nexport const LANGUAGES: HdsCodeBlockLanguages[] = Object.values(\n HdsCodeBlockLanguageValues\n);\n\nexport interface HdsCodeBlockSignature {\n Args: {\n ariaLabel?: string;\n ariaLabelledBy?: string;\n ariaDescribedBy?: string;\n hasCopyButton?: boolean;\n hasLineNumbers?: boolean;\n hasLineWrapping?: boolean;\n highlightLines?: string;\n lineNumberStart?: number;\n isStandalone?: boolean;\n language?: HdsCodeBlockLanguages;\n maxHeight?: string;\n value: string;\n copyButtonText?: HdsCopyButtonSignature['Args']['text'];\n onCopy?: HdsCopyButtonSignature['Args']['onSuccess'];\n copySuccessMessageText?: HdsCopyButtonSignature['Args']['ariaMessageText'];\n };\n Blocks: {\n default: [\n {\n Title?: WithBoundArgs<typeof HdsCodeBlockTitle, 'didInsertNode'>;\n Description?: WithBoundArgs<\n typeof HdsCodeBlockDescription,\n 'didInsertNode'\n >;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsCodeBlock extends Component<HdsCodeBlockSignature> {\n @tracked private _prismCode: SafeString = htmlSafe('');\n @tracked private _isExpanded: boolean = false;\n @tracked private _codeContentHeight: number = 0;\n @tracked private _codeContainerHeight: number = 0;\n @tracked private _titleId: string | undefined;\n @tracked private _descriptionId: string | undefined;\n\n // Generates a unique ID for the code content\n private _preCodeId = 'pre-code-' + guidFor(this);\n private _preCodeElement!: HTMLPreElement;\n private _observer!: ResizeObserver;\n\n // If a code block is hidden from view, and made visible after load, the Prism code needs to be re-run\n private _setUpCodeObserver = modifier((element: HTMLElement) => {\n this._preCodeElement = element.querySelector(\n '.hds-code-block__code'\n ) as HTMLPreElement;\n this._observer = new ResizeObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.contentBoxSize) {\n this._updateCodeHeights();\n this._updatePrismPlugins();\n }\n });\n });\n this._observer.observe(element);\n\n return () => {\n this._observer.disconnect();\n };\n });\n\n private _setUpCodeBlockCode = modifier((element: HTMLElement) => {\n this._isExpanded = false; // reset expanded state on updates\n this.setPrismCode(element);\n return () => {};\n });\n\n get ariaLabelledBy(): string | undefined {\n if (this.args.ariaLabel !== undefined) {\n return;\n }\n\n return this.args.ariaLabelledBy ?? this._titleId;\n }\n\n get ariaDescribedBy(): string | undefined {\n return this.args.ariaDescribedBy ?? this._descriptionId;\n }\n\n // code text content for the CodeBlock\n get code(): string {\n const code = this.args.value;\n\n assert(\n '@code for \"Hds::CodeBlock\" must have a valid value',\n code !== undefined\n );\n\n if (Prism?.plugins?.['NormalizeWhitespace']) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access\n return Prism.plugins['NormalizeWhitespace'].normalize(code);\n }\n\n return code;\n }\n\n get maxHeight(): string | undefined {\n return this._isExpanded ? 'none' : this.args.maxHeight;\n }\n\n // Shows overlay footer if maxHeight is set and the pre tag content height is greater than the pre tag height\n get showFooter(): boolean {\n if (this.args.maxHeight) {\n return this._codeContentHeight > this._codeContainerHeight;\n }\n return false;\n }\n\n // Name of coding language used within CodeBlock for syntax highlighting\n get language(): HdsCodeBlockLanguages | undefined {\n return this.args.language ?? undefined;\n }\n\n // Displays line numbers if true\n get hasLineNumbers(): boolean {\n return this.args.hasLineNumbers ?? true;\n }\n\n // Make CodeBlock container corners appear rounded (the standalone variation)\n get isStandalone(): boolean {\n return this.args.isStandalone ?? true;\n }\n\n // Make text content wrap to multiple lines\n get hasLineWrapping(): boolean {\n return this.args.hasLineWrapping ?? false;\n }\n\n get copyButtonText(): HdsCopyButtonSignature['Args']['text'] {\n return this.args.copyButtonText ? this.args.copyButtonText : 'Copy';\n }\n\n registerTitleElement = (\n element: HdsCodeBlockTitleSignature['Element']\n ): void => {\n this._titleId = element.id;\n };\n\n registerDescriptionElement = (\n element: HdsCodeBlockDescriptionSignature['Element']\n ): void => {\n this._descriptionId = element.id;\n };\n\n setPrismCode = (element: HTMLElement): void => {\n const code = this.code;\n const language = this.language;\n const grammar = language ? Prism.languages[language] : undefined;\n\n if (code) {\n // eslint-disable-next-line ember/no-runloop\n next((): void => {\n if (language && grammar) {\n this._prismCode = htmlSafe(Prism.highlight(code, grammar, language));\n } else {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this._prismCode = htmlSafe(Prism.util.encode(code).toString());\n }\n\n // Existing line numbers must be removed in order to be updated correctly\n const lineNumbers = element.querySelector(\n '.line-numbers-rows'\n ) as HTMLElement;\n if (lineNumbers) {\n element.removeChild(lineNumbers);\n }\n\n if (this.args.highlightLines) {\n this._prismCode = this._addHighlightSrOnlyText(\n this._prismCode.toString()\n );\n }\n\n // Force prism-line-numbers plugin initialization, required for Prism.highlight usage\n // See https://github.com/PrismJS/prism/issues/1234\n Prism.hooks.run('complete', {\n code,\n element,\n });\n\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this._updateCodeHeights();\n // we need to delay re-evaluating the context for prism plugins for as much as possible, and `afterRender` is the 'latest' we can use in the component lifecycle\n this._updatePrismPlugins();\n });\n });\n }\n };\n\n private _updateCodeHeights = (): void => {\n if (!this._isExpanded) {\n // Get the actual height & the content height of the preCodeElement\n this._codeContentHeight = this._preCodeElement?.scrollHeight ?? 0;\n this._codeContainerHeight = this._preCodeElement?.clientHeight ?? 0;\n }\n };\n\n private _updatePrismPlugins = (): void => {\n if (this.hasLineNumbers && Prism?.plugins?.['lineNumbers']) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access\n Prism.plugins['lineNumbers'].resize(this._preCodeElement);\n }\n\n // Force prism-line-highlight plugin initialization\n // Context: https://github.com/hashicorp/design-system/pull/1749#discussion_r1374288785\n if (this.args.highlightLines) {\n // we piggy-back on the plugin's `resize` event listener to trigger a new call of the `highlightLines` function: https://github.com/PrismJS/prism/blob/master/plugins/line-highlight/prism-line-highlight.js#L337\n if (window) window.dispatchEvent(new Event('resize'));\n }\n };\n\n toggleExpanded = (): void => {\n this._isExpanded = !this._isExpanded;\n };\n\n // Logic for determining where line highlighting starts and ends taken from Prism.js plugin source code\n // Context: https://github.com/PrismJS/prism/blob/19f8de66b0f3a79aedbbf096081a4060fc0e80af/src/plugins/line-highlight/prism-line-highlight.ts#L82\n private _addHighlightSrOnlyText = (code: string): SafeString => {\n const NEW_LINE_EXP = /\\n(?!$)/g;\n const lines = code.split(NEW_LINE_EXP);\n const numLines = lines.length;\n const lineOffset = this.args.lineNumberStart\n ? this.args.lineNumberStart\n : 0;\n\n const highlightStart = '<span class=\"sr-only\">highlight start</span>';\n const highlightEnd = '<span class=\"sr-only\">highlight end</span>';\n\n const ranges = this.args.highlightLines\n ?.replace(/\\s+/g, '')\n .split(',')\n .filter(Boolean);\n\n if (ranges && ranges.length > 0) {\n const highlightedLines = [] as { start: number; end: number }[];\n\n ranges.forEach((currentRange) => {\n const range = currentRange.split('-');\n const start = +range[0]! - lineOffset;\n let end = +range[1]! || start - lineOffset;\n end = Math.min(numLines, end);\n highlightedLines.push({\n start: start,\n end: end,\n });\n });\n\n highlightedLines.forEach((line) => {\n lines[line.start - 1] = highlightStart + lines[line.start - 1];\n lines[line.end - 1] = lines[line.end - 1] + highlightEnd;\n });\n\n return htmlSafe(lines.join('\\n'));\n } else {\n return htmlSafe(code);\n }\n };\n\n get classNames(): string {\n // Currently there is only one theme so the class name is hard-coded.\n // In the future, additional themes such as a \"light\" theme could be added.\n const classes = ['hds-code-block', 'hds-code-block--theme-dark'];\n\n if (this.language) {\n classes.push(`language-${this.language}`);\n }\n\n if (this.isStandalone === true) {\n classes.push('hds-code-block--is-standalone');\n }\n\n if (this.hasLineWrapping === true) {\n classes.push('hds-code-block--has-line-wrapping');\n }\n\n // Note: Prism.js is using the specific class name \"line-numbers\" to determine implementation of line numbers in the UI\n if (this.hasLineNumbers) {\n classes.push('line-numbers');\n }\n\n if (this.showFooter) {\n classes.push('hds-code-block--has-overlay-footer');\n }\n\n if (this._isExpanded) {\n classes.push('hds-code-block--is-expanded');\n }\n\n return classes.join(' ');\n }\n\n <template>\n <div class={{this.classNames}} ...attributes {{this._setUpCodeObserver}}>\n <div class=\"hds-code-block__header\">\n {{~yield\n (hash\n Title=(component\n HdsCodeBlockTitle didInsertNode=this.registerTitleElement\n )\n )\n ~}}\n {{~yield\n (hash\n Description=(component\n HdsCodeBlockDescription\n didInsertNode=this.registerDescriptionElement\n )\n )\n ~}}\n </div>\n <div class=\"hds-code-block__body\">\n {{! content within pre tag is whitespace-sensitive; do not add new lines! }}\n <pre\n class=\"hds-code-block__code\"\n {{style maxHeight=this.maxHeight}}\n data-line={{@highlightLines}}\n data-start={{@lineNumberStart}}\n id={{this._preCodeId}}\n aria-label={{@ariaLabel}}\n aria-labelledby={{this.ariaLabelledBy}}\n aria-describedby={{this.ariaDescribedBy}}\n tabindex=\"0\"\n ><code {{this._setUpCodeBlockCode}}>\n {{~this._prismCode~}}\n </code></pre>\n\n {{#if @hasCopyButton}}\n <HdsCodeBlockCopyButton\n @targetToCopy=\"#{{this._preCodeId}}\"\n aria-describedby={{this._preCodeId}}\n @text={{this.copyButtonText}}\n @onCopy={{@onCopy}}\n @copySuccessMessageText={{@copySuccessMessageText}}\n />\n {{/if}}\n </div>\n {{#if this.showFooter}}\n <div class=\"hds-code-block__overlay-footer\">\n <HdsButton\n class=\"hds-code-block__height-toggle-button\"\n @text={{if this._isExpanded \"Show less code\" \"Show more code\"}}\n @color=\"secondary\"\n @icon={{if this._isExpanded \"unfold-close\" \"unfold-open\"}}\n @size=\"small\"\n {{on \"click\" this.toggleExpanded}}\n />\n </div>\n {{/if}}\n </div>\n </template>\n}\n"],"names":["LANGUAGES","Object","values","HdsCodeBlockLanguageValues","HdsCodeBlock","Component","g","prototype","tracked","htmlSafe","i","_preCodeId","guidFor","_preCodeElement","_observer","_setUpCodeObserver","modifier","element","querySelector","ResizeObserver","entries","forEach","entry","contentBoxSize","_updateCodeHeights","_updatePrismPlugins","observe","disconnect","_setUpCodeBlockCode","_isExpanded","setPrismCode","ariaLabelledBy","args","ariaLabel","undefined","_titleId","ariaDescribedBy","_descriptionId","code","value","assert","Prism","plugins","normalize","maxHeight","showFooter","_codeContentHeight","_codeContainerHeight","language","hasLineNumbers","isStandalone","hasLineWrapping","copyButtonText","registerTitleElement","id","registerDescriptionElement","grammar","languages","next","_prismCode","highlight","util","encode","toString","lineNumbers","removeChild","highlightLines","_addHighlightSrOnlyText","hooks","run","schedule","scrollHeight","clientHeight","resize","window","dispatchEvent","Event","toggleExpanded","NEW_LINE_EXP","lines","split","numLines","length","lineOffset","lineNumberStart","highlightStart","highlightEnd","ranges","replace","filter","Boolean","highlightedLines","currentRange","range","start","end","Math","min","push","line","join","classNames","classes","setComponentTemplate","precompileTemplate","strictMode","scope","hash","HdsCodeBlockTitle","HdsCodeBlockDescription","style","HdsCodeBlockCopyButton","HdsButton","on"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/code-block/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 { assert } from '@ember/debug';\nimport { next, schedule } from '@ember/runloop';\nimport { htmlSafe } from '@ember/template';\nimport { guidFor } from '@ember/object/internals';\nimport { modifier } from 'ember-modifier';\nimport { hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport Prism from 'prismjs';\nimport style from 'ember-style-modifier';\n\nimport type { SafeString } from '@ember/template';\nimport type { WithBoundArgs } from '@glint/template';\n\nimport { HdsCodeBlockLanguageValues } from './types.ts';\nimport HdsCodeBlockCopyButton from './copy-button.gts';\nimport HdsButton from '../button/index.gts';\nimport HdsCodeBlockTitle from './title.gts';\nimport HdsCodeBlockDescription from './description.gts';\n\nimport type { HdsCodeBlockTitleSignature } from './title.gts';\nimport type { HdsCodeBlockDescriptionSignature } from './description.gts';\nimport type { HdsCodeBlockLanguages } from './types.ts';\nimport type { HdsCopyButtonSignature } from '../copy/button/index.gts';\n\nimport 'prismjs/plugins/line-numbers/prism-line-numbers';\nimport 'prismjs/plugins/line-highlight/prism-line-highlight';\n\nimport 'prismjs/components/prism-bash';\nimport 'prismjs/components/prism-go';\nimport 'prismjs/components/prism-hcl';\nimport 'prismjs/components/prism-json';\nimport 'prismjs/components/prism-log';\nimport 'prismjs/components/prism-ruby';\nimport 'prismjs/components/prism-shell-session';\nimport 'prismjs/components/prism-yaml';\n\n// These imports are required to overcome a global variable clash in Helios website\n// where language import are overriden by the Prism instance in `CodeBlock`\n// Note that `prism-handlebars` is dependant on `prism-markup-templating`\nimport 'prismjs/components/prism-markup-templating';\nimport 'prismjs/components/prism-handlebars';\n\nexport const LANGUAGES: HdsCodeBlockLanguages[] = Object.values(\n HdsCodeBlockLanguageValues\n);\n\nexport interface HdsCodeBlockSignature {\n Args: {\n ariaLabel?: string;\n ariaLabelledBy?: string;\n ariaDescribedBy?: string;\n hasCopyButton?: boolean;\n hasLineNumbers?: boolean;\n hasLineWrapping?: boolean;\n highlightLines?: string;\n lineNumberStart?: number;\n isStandalone?: boolean;\n language?: HdsCodeBlockLanguages;\n maxHeight?: string;\n value: string;\n copyButtonText?: HdsCopyButtonSignature['Args']['text'];\n onCopy?: HdsCopyButtonSignature['Args']['onSuccess'];\n copySuccessMessageText?: HdsCopyButtonSignature['Args']['ariaMessageText'];\n };\n Blocks: {\n default: [\n {\n Title?: WithBoundArgs<typeof HdsCodeBlockTitle, 'didInsertNode'>;\n Description?: WithBoundArgs<\n typeof HdsCodeBlockDescription,\n 'didInsertNode'\n >;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsCodeBlock extends Component<HdsCodeBlockSignature> {\n @tracked private _prismCode: SafeString = htmlSafe('');\n @tracked private _isExpanded: boolean = false;\n @tracked private _codeContentHeight: number = 0;\n @tracked private _codeContainerHeight: number = 0;\n @tracked private _titleId: string | undefined;\n @tracked private _descriptionId: string | undefined;\n\n // Generates a unique ID for the code content\n private _preCodeId = 'pre-code-' + guidFor(this);\n private _preCodeElement!: HTMLPreElement;\n private _observer!: ResizeObserver;\n\n // If a code block is hidden from view, and made visible after load, the Prism code needs to be re-run\n private _setUpCodeObserver = modifier((element: HTMLElement) => {\n this._preCodeElement = element.querySelector(\n '.hds-code-block__code'\n ) as HTMLPreElement;\n this._observer = new ResizeObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.contentBoxSize) {\n this._updateCodeHeights();\n this._updatePrismPlugins();\n }\n });\n });\n this._observer.observe(element);\n\n return () => {\n this._observer.disconnect();\n };\n });\n\n private _setUpCodeBlockCode = modifier((element: HTMLElement) => {\n this._isExpanded = false; // reset expanded state on updates\n this.setPrismCode(element);\n return () => {};\n });\n\n get ariaLabelledBy(): string | undefined {\n if (this.args.ariaLabel !== undefined) {\n return;\n }\n\n return this.args.ariaLabelledBy ?? this._titleId;\n }\n\n get ariaDescribedBy(): string | undefined {\n return this.args.ariaDescribedBy ?? this._descriptionId;\n }\n\n // code text content for the CodeBlock\n get code(): string {\n const code = this.args.value;\n\n assert(\n '@code for \"Hds::CodeBlock\" must have a valid value',\n code !== undefined\n );\n\n if (Prism?.plugins?.['NormalizeWhitespace']) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access\n return Prism.plugins['NormalizeWhitespace'].normalize(code);\n }\n\n return code;\n }\n\n get maxHeight(): string | undefined {\n return this._isExpanded ? 'none' : this.args.maxHeight;\n }\n\n // Shows overlay footer if maxHeight is set and the pre tag content height is greater than the pre tag height\n get showFooter(): boolean {\n if (this.args.maxHeight) {\n return this._codeContentHeight > this._codeContainerHeight;\n }\n return false;\n }\n\n // Name of coding language used within CodeBlock for syntax highlighting\n get language(): HdsCodeBlockLanguages | undefined {\n return this.args.language ?? undefined;\n }\n\n // Displays line numbers if true\n get hasLineNumbers(): boolean {\n return this.args.hasLineNumbers ?? true;\n }\n\n // Make CodeBlock container corners appear rounded (the standalone variation)\n get isStandalone(): boolean {\n return this.args.isStandalone ?? true;\n }\n\n // Make text content wrap to multiple lines\n get hasLineWrapping(): boolean {\n return this.args.hasLineWrapping ?? false;\n }\n\n get copyButtonText(): HdsCopyButtonSignature['Args']['text'] {\n return this.args.copyButtonText ? this.args.copyButtonText : 'Copy';\n }\n\n registerTitleElement = (\n element: HdsCodeBlockTitleSignature['Element']\n ): void => {\n this._titleId = element.id;\n };\n\n registerDescriptionElement = (\n element: HdsCodeBlockDescriptionSignature['Element']\n ): void => {\n this._descriptionId = element.id;\n };\n\n setPrismCode = (element: HTMLElement): void => {\n const code = this.code;\n const language = this.language;\n const grammar = language ? Prism.languages[language] : undefined;\n\n if (code) {\n // eslint-disable-next-line ember/no-runloop\n next((): void => {\n if (language && grammar) {\n this._prismCode = htmlSafe(Prism.highlight(code, grammar, language));\n } else {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this._prismCode = htmlSafe(Prism.util.encode(code).toString());\n }\n\n // Existing line numbers must be removed in order to be updated correctly\n const lineNumbers = element.querySelector(\n '.line-numbers-rows'\n ) as HTMLElement;\n if (lineNumbers) {\n element.removeChild(lineNumbers);\n }\n\n if (this.args.highlightLines) {\n this._prismCode = this._addHighlightSrOnlyText(\n this._prismCode.toString()\n );\n }\n\n // Force prism-line-numbers plugin initialization, required for Prism.highlight usage\n // See https://github.com/PrismJS/prism/issues/1234\n Prism.hooks.run('complete', {\n code,\n element,\n });\n\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this._updateCodeHeights();\n // we need to delay re-evaluating the context for prism plugins for as much as possible, and `afterRender` is the 'latest' we can use in the component lifecycle\n this._updatePrismPlugins();\n });\n });\n }\n };\n\n private _updateCodeHeights = (): void => {\n if (!this._isExpanded) {\n // Get the actual height & the content height of the preCodeElement\n this._codeContentHeight = this._preCodeElement?.scrollHeight ?? 0;\n this._codeContainerHeight = this._preCodeElement?.clientHeight ?? 0;\n }\n };\n\n private _updatePrismPlugins = (): void => {\n if (this.hasLineNumbers && Prism?.plugins?.['lineNumbers']) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access\n Prism.plugins['lineNumbers'].resize(this._preCodeElement);\n }\n\n // Force prism-line-highlight plugin initialization\n // Context: https://github.com/hashicorp/design-system/pull/1749#discussion_r1374288785\n if (this.args.highlightLines) {\n // we piggy-back on the plugin's `resize` event listener to trigger a new call of the `highlightLines` function: https://github.com/PrismJS/prism/blob/master/plugins/line-highlight/prism-line-highlight.js#L337\n if (window) window.dispatchEvent(new Event('resize'));\n }\n };\n\n toggleExpanded = (): void => {\n this._isExpanded = !this._isExpanded;\n };\n\n // Logic for determining where line highlighting starts and ends taken from Prism.js plugin source code\n // Context: https://github.com/PrismJS/prism/blob/19f8de66b0f3a79aedbbf096081a4060fc0e80af/src/plugins/line-highlight/prism-line-highlight.ts#L82\n private _addHighlightSrOnlyText = (code: string): SafeString => {\n const NEW_LINE_EXP = /\\n(?!$)/g;\n const lines = code.split(NEW_LINE_EXP);\n const numLines = lines.length;\n const lineOffset = this.args.lineNumberStart\n ? this.args.lineNumberStart\n : 0;\n\n const highlightStart = '<span class=\"sr-only\">highlight start</span>';\n const highlightEnd = '<span class=\"sr-only\">highlight end</span>';\n\n const ranges = this.args.highlightLines\n ?.replace(/\\s+/g, '')\n .split(',')\n .filter(Boolean);\n\n if (ranges && ranges.length > 0) {\n const highlightedLines = [] as { start: number; end: number }[];\n\n ranges.forEach((currentRange) => {\n const range = currentRange.split('-');\n const start = +range[0]! - lineOffset;\n let end = +range[1]! || start - lineOffset;\n end = Math.min(numLines, end);\n highlightedLines.push({\n start: start,\n end: end,\n });\n });\n\n highlightedLines.forEach((line) => {\n lines[line.start - 1] = highlightStart + lines[line.start - 1];\n lines[line.end - 1] = lines[line.end - 1] + highlightEnd;\n });\n\n return htmlSafe(lines.join('\\n'));\n } else {\n return htmlSafe(code);\n }\n };\n\n get classNames(): string {\n // Currently there is only one theme so the class name is hard-coded.\n // In the future, additional themes such as a \"light\" theme could be added.\n const classes = ['hds-code-block', 'hds-code-block--theme-dark'];\n\n if (this.language) {\n classes.push(`language-${this.language}`);\n }\n\n if (this.isStandalone === true) {\n classes.push('hds-code-block--is-standalone');\n }\n\n if (this.hasLineWrapping === true) {\n classes.push('hds-code-block--has-line-wrapping');\n }\n\n // Note: Prism.js is using the specific class name \"line-numbers\" to determine implementation of line numbers in the UI\n if (this.hasLineNumbers) {\n classes.push('line-numbers');\n }\n\n if (this.showFooter) {\n classes.push('hds-code-block--has-overlay-footer');\n }\n\n if (this._isExpanded) {\n classes.push('hds-code-block--is-expanded');\n }\n\n return classes.join(' ');\n }\n\n <template>\n <div class={{this.classNames}} ...attributes {{this._setUpCodeObserver}}>\n <div class=\"hds-code-block__header\">\n {{~yield\n (hash\n Title=(component\n HdsCodeBlockTitle didInsertNode=this.registerTitleElement\n )\n )\n ~}}\n {{~yield\n (hash\n Description=(component\n HdsCodeBlockDescription\n didInsertNode=this.registerDescriptionElement\n )\n )\n ~}}\n </div>\n <div class=\"hds-code-block__body\">\n {{! content within pre tag is whitespace-sensitive; do not add new lines! }}\n <pre\n class=\"hds-code-block__code\"\n {{style maxHeight=this.maxHeight}}\n data-line={{@highlightLines}}\n data-start={{@lineNumberStart}}\n id={{this._preCodeId}}\n aria-label={{@ariaLabel}}\n aria-labelledby={{this.ariaLabelledBy}}\n aria-describedby={{this.ariaDescribedBy}}\n tabindex=\"0\"\n ><code {{this._setUpCodeBlockCode}}>\n {{~this._prismCode~}}\n </code></pre>\n\n {{#if @hasCopyButton}}\n <HdsCodeBlockCopyButton\n @targetToCopy=\"#{{this._preCodeId}}\"\n aria-describedby={{this._preCodeId}}\n @text={{this.copyButtonText}}\n @onCopy={{@onCopy}}\n @copySuccessMessageText={{@copySuccessMessageText}}\n />\n {{/if}}\n </div>\n {{#if this.showFooter}}\n <div class=\"hds-code-block__overlay-footer\">\n <HdsButton\n class=\"hds-code-block__height-toggle-button\"\n @text={{if this._isExpanded \"Show less code\" \"Show more code\"}}\n @color=\"secondary\"\n @icon={{if this._isExpanded \"unfold-close\" \"unfold-open\"}}\n @size=\"small\"\n {{on \"click\" this.toggleExpanded}}\n />\n </div>\n {{/if}}\n </div>\n </template>\n}\n"],"names":["LANGUAGES","Object","values","HdsCodeBlockLanguageValues","HdsCodeBlock","Component","g","prototype","tracked","htmlSafe","i","_preCodeId","guidFor","_preCodeElement","_observer","_setUpCodeObserver","modifier","element","querySelector","ResizeObserver","entries","forEach","entry","contentBoxSize","_updateCodeHeights","_updatePrismPlugins","observe","disconnect","_setUpCodeBlockCode","_isExpanded","setPrismCode","ariaLabelledBy","args","ariaLabel","undefined","_titleId","ariaDescribedBy","_descriptionId","code","value","assert","Prism","plugins","normalize","maxHeight","showFooter","_codeContentHeight","_codeContainerHeight","language","hasLineNumbers","isStandalone","hasLineWrapping","copyButtonText","registerTitleElement","id","registerDescriptionElement","grammar","languages","next","_prismCode","highlight","util","encode","toString","lineNumbers","removeChild","highlightLines","_addHighlightSrOnlyText","hooks","run","schedule","scrollHeight","clientHeight","resize","window","dispatchEvent","Event","toggleExpanded","NEW_LINE_EXP","lines","split","numLines","length","lineOffset","lineNumberStart","highlightStart","highlightEnd","ranges","replace","filter","Boolean","highlightedLines","currentRange","range","start","end","Math","min","push","line","join","classNames","classes","setComponentTemplate","precompileTemplate","strictMode","scope","hash","HdsCodeBlockTitle","HdsCodeBlockDescription","style","HdsCodeBlockCopyButton","HdsButton","on"],"mappings":"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"}
@@ -7,7 +7,7 @@ import { precompileTemplate } from '@ember/template-compilation';
7
7
  import { setComponentTemplate } from '@ember/component';
8
8
 
9
9
  /**
10
- * Copyright IBM Corp. 2021, 2025
10
+ * Copyright IBM Corp. 2021, 2026
11
11
  * SPDX-License-Identifier: MPL-2.0
12
12
  */
13
13
  class HdsCodeBlockTitle extends Component {
@@ -1 +1 @@
1
- {"version":3,"file":"title.js","sources":["../../../../src/components/hds/code-block/title.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { modifier } from 'ember-modifier';\n\nimport { HdsCodeBlockTitleTagValues } from './types.ts';\nimport HdsTextBody from '../text/body.gts';\n\nimport type { HdsCodeBlockTitleTags } from './types.ts';\nimport type { HdsTextBodySignature } from '../text/body.gts';\n\ntype HdsCodeBlockTitleElement = HdsTextBodySignature['Element'];\nexport interface HdsCodeBlockTitleSignature {\n Args: {\n tag?: HdsCodeBlockTitleTags;\n didInsertNode: (element: HdsCodeBlockTitleElement) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HdsTextBodySignature['Element'];\n}\n\nexport default class HdsCodeBlockTitle extends Component<HdsCodeBlockTitleSignature> {\n private _id = 'title-' + guidFor(this);\n\n private _setUpTitle = modifier(\n (\n element: HTMLElement,\n [insertCallbackFunction]: [(element: HTMLElement) => void]\n ) => {\n if (typeof insertCallbackFunction === 'function') {\n insertCallbackFunction(element);\n }\n }\n );\n\n get componentTag(): HdsCodeBlockTitleTags {\n return this.args.tag ?? HdsCodeBlockTitleTagValues.P;\n }\n\n <template>\n <HdsTextBody\n id={{this._id}}\n @size=\"200\"\n @tag={{this.componentTag}}\n @weight=\"semibold\"\n class=\"hds-code-block__title\"\n ...attributes\n {{this._setUpTitle @didInsertNode}}\n >\n {{yield}}\n </HdsTextBody>\n </template>\n}\n"],"names":["HdsCodeBlockTitle","Component","_id","guidFor","_setUpTitle","modifier","element","insertCallbackFunction","componentTag","args","tag","HdsCodeBlockTitleTagValues","P","setComponentTemplate","precompileTemplate","strictMode","scope","HdsTextBody"],"mappings":";;;;;;;;AAAA;;;AAGC;AAuBc,MAAMA,0BAA0BC,SAAA,CAAU;AAC/CC,EAAAA,GAAA,GAAM,QAAA,GAAWC,OAAA,CAAQ,IAAI,CAAA;EAE7BC,WAAA,GAAcC,QAAA,CACpB,CACEC,OAAS,EACT,CAACC,sBAAA,CAAyD,KAAA;AAE1D,IAAA,IAAI,OAAOA,2BAA2B,UAAA,EAAY;MAChDA,sBAAA,CAAuBD,OAAA,CAAA;AACzB,IAAA;AACF,EAAA,CAAA,CAAA;EAGF,IAAIE,eAAsC;IACxC,OAAO,IAAI,CAACC,IAAI,CAACC,GAAG,IAAIC,2BAA2BC,CAAC;AACtD,EAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,4MAAA,EAYA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"title.js","sources":["../../../../src/components/hds/code-block/title.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { modifier } from 'ember-modifier';\n\nimport { HdsCodeBlockTitleTagValues } from './types.ts';\nimport HdsTextBody from '../text/body.gts';\n\nimport type { HdsCodeBlockTitleTags } from './types.ts';\nimport type { HdsTextBodySignature } from '../text/body.gts';\n\ntype HdsCodeBlockTitleElement = HdsTextBodySignature['Element'];\nexport interface HdsCodeBlockTitleSignature {\n Args: {\n tag?: HdsCodeBlockTitleTags;\n didInsertNode: (element: HdsCodeBlockTitleElement) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HdsTextBodySignature['Element'];\n}\n\nexport default class HdsCodeBlockTitle extends Component<HdsCodeBlockTitleSignature> {\n private _id = 'title-' + guidFor(this);\n\n private _setUpTitle = modifier(\n (\n element: HTMLElement,\n [insertCallbackFunction]: [(element: HTMLElement) => void]\n ) => {\n if (typeof insertCallbackFunction === 'function') {\n insertCallbackFunction(element);\n }\n }\n );\n\n get componentTag(): HdsCodeBlockTitleTags {\n return this.args.tag ?? HdsCodeBlockTitleTagValues.P;\n }\n\n <template>\n <HdsTextBody\n id={{this._id}}\n @size=\"200\"\n @tag={{this.componentTag}}\n @weight=\"semibold\"\n class=\"hds-code-block__title\"\n ...attributes\n {{this._setUpTitle @didInsertNode}}\n >\n {{yield}}\n </HdsTextBody>\n </template>\n}\n"],"names":["HdsCodeBlockTitle","Component","_id","guidFor","_setUpTitle","modifier","element","insertCallbackFunction","componentTag","args","tag","HdsCodeBlockTitleTagValues","P","setComponentTemplate","precompileTemplate","strictMode","scope","HdsTextBody"],"mappings":";;;;;;;;AAAA;;;AAGC;AAuBc,MAAMA,0BAA0BC,SAAA,CAAU;AAC/CC,EAAAA,GAAA,GAAM,QAAA,GAAWC,OAAA,CAAQ,IAAI,CAAA;EAE7BC,WAAA,GAAcC,QAAA,CACpB,CACEC,OAAS,EACT,CAACC,sBAAA,CAAyD,KAAA;AAE1D,IAAA,IAAI,OAAOA,2BAA2B,UAAA,EAAY;MAChDA,sBAAA,CAAuBD,OAAA,CAAA;AACzB,IAAA;AACF,EAAA,CAAA,CAAA;EAGF,IAAIE,eAAsC;IACxC,OAAO,IAAI,CAACC,IAAI,CAACC,GAAG,IAAIC,2BAA2BC,CAAC;AACtD,EAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,4MAAA,EAYA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -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
  class HdsCodeEditorDescription extends Component {
@@ -1 +1 @@
1
- {"version":3,"file":"description.js","sources":["../../../../src/components/hds/code-editor/description.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n// eslint-disable-next-line ember/no-at-ember-render-modifiers\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\n\nimport HdsTextBody from '../text/body.gts';\n\nimport type { HdsTextBodySignature } from '../text/body.gts';\n\ntype HdsCodeEditorDescriptionElement = HdsTextBodySignature['Element'];\nexport interface HdsCodeEditorDescriptionSignature {\n Args: {\n editorId: string;\n onInsert: (element: HdsCodeEditorDescriptionElement) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HdsCodeEditorDescriptionElement;\n}\n\nexport default class HdsCodeEditorDescription extends Component<HdsCodeEditorDescriptionSignature> {\n private _id = `${this.args.editorId}-description`;\n\n <template>\n <HdsTextBody\n id={{this._id}}\n class=\"hds-code-editor__description\"\n @tag=\"p\"\n @size=\"100\"\n {{didInsert @onInsert}}\n ...attributes\n >\n {{yield}}\n </HdsTextBody>\n </template>\n}\n"],"names":["HdsCodeEditorDescription","Component","_id","args","editorId","setComponentTemplate","precompileTemplate","strictMode","scope","HdsTextBody","didInsert"],"mappings":";;;;;;AAAA;;;AAGC;AAsBc,MAAMA,iCAAiCC,SAAA,CAAU;AACtDC,EAAAA,GAAA,GAAM,CAAA,EAAG,IAAI,CAACC,IAAI,CAACC,QAAQ,CAAA,YAAA,CAAc;AAEjD,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,kKAAA,EAWA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,WAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"description.js","sources":["../../../../src/components/hds/code-editor/description.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n// eslint-disable-next-line ember/no-at-ember-render-modifiers\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\n\nimport HdsTextBody from '../text/body.gts';\n\nimport type { HdsTextBodySignature } from '../text/body.gts';\n\ntype HdsCodeEditorDescriptionElement = HdsTextBodySignature['Element'];\nexport interface HdsCodeEditorDescriptionSignature {\n Args: {\n editorId: string;\n onInsert: (element: HdsCodeEditorDescriptionElement) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HdsCodeEditorDescriptionElement;\n}\n\nexport default class HdsCodeEditorDescription extends Component<HdsCodeEditorDescriptionSignature> {\n private _id = `${this.args.editorId}-description`;\n\n <template>\n <HdsTextBody\n id={{this._id}}\n class=\"hds-code-editor__description\"\n @tag=\"p\"\n @size=\"100\"\n {{didInsert @onInsert}}\n ...attributes\n >\n {{yield}}\n </HdsTextBody>\n </template>\n}\n"],"names":["HdsCodeEditorDescription","Component","_id","args","editorId","setComponentTemplate","precompileTemplate","strictMode","scope","HdsTextBody","didInsert"],"mappings":";;;;;;AAAA;;;AAGC;AAsBc,MAAMA,iCAAiCC,SAAA,CAAU;AACtDC,EAAAA,GAAA,GAAM,CAAA,EAAG,IAAI,CAACC,IAAI,CAACC,QAAQ,CAAA,YAAA,CAAc;AAEjD,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,kKAAA,EAWA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,WAAA;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
  class HdsCodeEditorFullScreenButton extends Component {
@@ -1 +1 @@
1
- {"version":3,"file":"full-screen-button.js","sources":["../../../../src/components/hds/code-editor/full-screen-button.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { on } from '@ember/modifier';\n\nimport HdsButton from '../button/index.gts';\nimport hdsT from '../../../helpers/hds-t.ts';\n\nimport type { HdsButtonSignature } from '../button/index.gts';\n\nexport interface HdsCodeEditorFullScreenButtonSignature {\n Args: {\n isFullScreen: boolean;\n onToggleFullScreen: () => void;\n };\n Element: HdsButtonSignature['Element'];\n}\n\nexport default class HdsCodeEditorFullScreenButton extends Component<HdsCodeEditorFullScreenButtonSignature> {\n get state(): 'minimize' | 'maximize' {\n return this.args.isFullScreen ? 'minimize' : 'maximize';\n }\n\n get className(): string {\n const classes = [\n 'hds-code-editor__full-screen-button',\n 'hds-code-editor__button',\n ];\n\n const stateClass = `hds-code-editor__full-screen-button--${this.state}`;\n\n classes.push(stateClass);\n\n return classes.join(' ');\n }\n\n <template>\n <HdsButton\n class={{this.className}}\n aria-pressed={{@isFullScreen}}\n @isIconOnly={{true}}\n @color=\"secondary\"\n @size=\"small\"\n @icon={{this.state}}\n @text={{hdsT\n \"hds.components.code-editor.full-screen-button.text\"\n default=\"Toggle full screen view\"\n }}\n {{on \"click\" @onToggleFullScreen}}\n ...attributes\n />\n </template>\n}\n"],"names":["HdsCodeEditorFullScreenButton","Component","state","args","isFullScreen","className","classes","stateClass","push","join","setComponentTemplate","precompileTemplate","strictMode","scope","HdsButton","hdsT","on"],"mappings":";;;;;;;AAAA;;;AAGC;AAkBc,MAAMA,sCAAsCC,SAAA,CAAU;EACnE,IAAIC,KAAAA,GAAiC;IACnC,OAAO,IAAI,CAACC,IAAI,CAACC,YAAY,GAAG,UAAA,GAAa,UAAA;AAC/C,EAAA;EAEA,IAAIC,SAAAA,GAAoB;AACtB,IAAA,MAAMC,OAAA,GAAU,CACd,qCAAA,EACA,yBAAA,CACD;AAED,IAAA,MAAMC,UAAA,GAAa,CAAA,qCAAA,EAAwC,IAAI,CAACL,KAAK,CAAA,CAAE;AAEvEI,IAAAA,OAAA,CAAQE,IAAI,CAACD,UAAA,CAAA;AAEb,IAAA,OAAOD,OAAA,CAAQG,IAAI,CAAC,GAAA,CAAA;AACtB,EAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,mTAAA,EAeA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,SAAA;cAAAC,UAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"full-screen-button.js","sources":["../../../../src/components/hds/code-editor/full-screen-button.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { on } from '@ember/modifier';\n\nimport HdsButton from '../button/index.gts';\nimport hdsT from '../../../helpers/hds-t.ts';\n\nimport type { HdsButtonSignature } from '../button/index.gts';\n\nexport interface HdsCodeEditorFullScreenButtonSignature {\n Args: {\n isFullScreen: boolean;\n onToggleFullScreen: () => void;\n };\n Element: HdsButtonSignature['Element'];\n}\n\nexport default class HdsCodeEditorFullScreenButton extends Component<HdsCodeEditorFullScreenButtonSignature> {\n get state(): 'minimize' | 'maximize' {\n return this.args.isFullScreen ? 'minimize' : 'maximize';\n }\n\n get className(): string {\n const classes = [\n 'hds-code-editor__full-screen-button',\n 'hds-code-editor__button',\n ];\n\n const stateClass = `hds-code-editor__full-screen-button--${this.state}`;\n\n classes.push(stateClass);\n\n return classes.join(' ');\n }\n\n <template>\n <HdsButton\n class={{this.className}}\n aria-pressed={{@isFullScreen}}\n @isIconOnly={{true}}\n @color=\"secondary\"\n @size=\"small\"\n @icon={{this.state}}\n @text={{hdsT\n \"hds.components.code-editor.full-screen-button.text\"\n default=\"Toggle full screen view\"\n }}\n {{on \"click\" @onToggleFullScreen}}\n ...attributes\n />\n </template>\n}\n"],"names":["HdsCodeEditorFullScreenButton","Component","state","args","isFullScreen","className","classes","stateClass","push","join","setComponentTemplate","precompileTemplate","strictMode","scope","HdsButton","hdsT","on"],"mappings":";;;;;;;AAAA;;;AAGC;AAkBc,MAAMA,sCAAsCC,SAAA,CAAU;EACnE,IAAIC,KAAAA,GAAiC;IACnC,OAAO,IAAI,CAACC,IAAI,CAACC,YAAY,GAAG,UAAA,GAAa,UAAA;AAC/C,EAAA;EAEA,IAAIC,SAAAA,GAAoB;AACtB,IAAA,MAAMC,OAAA,GAAU,CACd,qCAAA,EACA,yBAAA,CACD;AAED,IAAA,MAAMC,UAAA,GAAa,CAAA,qCAAA,EAAwC,IAAI,CAACL,KAAK,CAAA,CAAE;AAEvEI,IAAAA,OAAA,CAAQE,IAAI,CAACD,UAAA,CAAA;AAEb,IAAA,OAAOD,OAAA,CAAQG,IAAI,CAAC,GAAA,CAAA;AACtB,EAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,mTAAA,EAeA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,SAAA;cAAAC,UAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -3,7 +3,7 @@ import { setComponentTemplate } from '@ember/component';
3
3
  import templateOnly from '@ember/component/template-only';
4
4
 
5
5
  /**
6
- * Copyright IBM Corp. 2021, 2025
6
+ * Copyright IBM Corp. 2021, 2026
7
7
  * SPDX-License-Identifier: MPL-2.0
8
8
  */
9
9
  const HdsCodeEditorGeneric = setComponentTemplate(precompileTemplate("<div class=\"hds-code-editor__header-generic\" ...attributes>\n {{yield}}\n</div>", {
@@ -1 +1 @@
1
- {"version":3,"file":"generic.js","sources":["../../../../src/components/hds/code-editor/generic.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface HdsCodeEditorGenericSignature {\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\n\nconst HdsCodeEditorGeneric: TemplateOnlyComponent<HdsCodeEditorGenericSignature> =\n <template>\n <div class=\"hds-code-editor__header-generic\" ...attributes>\n {{yield}}\n </div>\n </template>;\n\nexport default HdsCodeEditorGeneric;\n"],"names":["HdsCodeEditorGeneric","setComponentTemplate","precompileTemplate","strictMode","templateOnly"],"mappings":";;;;AAAA;;;AAGC;AAWD,MAAMA,oBAA4C,GAAAC,oBAAA,CAChDC,kBAAA,CAAA,oFAAA,EAIA;EAAAC,UAAA,EAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"generic.js","sources":["../../../../src/components/hds/code-editor/generic.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface HdsCodeEditorGenericSignature {\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\n\nconst HdsCodeEditorGeneric: TemplateOnlyComponent<HdsCodeEditorGenericSignature> =\n <template>\n <div class=\"hds-code-editor__header-generic\" ...attributes>\n {{yield}}\n </div>\n </template>;\n\nexport default HdsCodeEditorGeneric;\n"],"names":["HdsCodeEditorGeneric","setComponentTemplate","precompileTemplate","strictMode","templateOnly"],"mappings":";;;;AAAA;;;AAGC;AAWD,MAAMA,oBAA4C,GAAAC,oBAAA,CAChDC,kBAAA,CAAA,oFAAA,EAIA;EAAAC,UAAA,EAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -18,7 +18,7 @@ import { setComponentTemplate } from '@ember/component';
18
18
  import { g, i } from 'decorator-transforms/runtime';
19
19
 
20
20
  /**
21
- * Copyright IBM Corp. 2021, 2025
21
+ * Copyright IBM Corp. 2021, 2026
22
22
  * SPDX-License-Identifier: MPL-2.0
23
23
  */
24
24
  class HdsCodeEditor extends Component {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/code-editor/index.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 { hash } from '@ember/helper';\nimport { modifier } from 'ember-modifier';\nimport { or } from 'ember-truth-helpers';\nimport { tracked } from '@glimmer/tracking';\n// @ts-expect-error: missing types https://github.com/josemarluedke/ember-focus-trap/issues/86\nimport focusTrap from 'ember-focus-trap/modifiers/focus-trap';\n\nimport type { EditorView } from '@codemirror/view';\nimport type { WithBoundArgs } from '@glint/template';\nimport type Owner from '@ember/owner';\n\nimport hdsCodeEditorModifier from '../../../modifiers/hds-code-editor.ts';\nimport HdsCodeEditorDescription from './description.gts';\nimport HdsCodeEditorFullScreenButton from './full-screen-button.gts';\nimport HdsCodeEditorGeneric from './generic.gts';\nimport HdsCodeEditorTitle from './title.gts';\nimport HdsCopyButton from '../copy/button/index.gts';\nimport HdsIcon from '../icon/index.gts';\nimport hdsT from '../../../helpers/hds-t.ts';\n\nimport type { HdsCodeEditorDescriptionSignature } from './description.gts';\nimport type { HdsCodeEditorSignature as HdsCodeEditorModifierSignature } from '../../../modifiers/hds-code-editor.ts';\nimport type { HdsCodeEditorTitleSignature } from './title.gts';\nimport type { HdsCopyButtonSignature } from '../copy/button/index.gts';\n\nexport interface HdsCodeEditorSignature {\n Args: {\n hasCopyButton?: boolean;\n hasFullScreenButton?: boolean;\n isStandalone?: boolean;\n copyButtonText?: HdsCopyButtonSignature['Args']['text'];\n } & HdsCodeEditorModifierSignature['Args']['Named'];\n Blocks: {\n default: [\n {\n Title?: WithBoundArgs<\n typeof HdsCodeEditorTitle,\n 'onInsert' | 'editorId'\n >;\n Description?: WithBoundArgs<\n typeof HdsCodeEditorDescription,\n 'onInsert' | 'editorId'\n >;\n Generic?: typeof HdsCodeEditorGeneric;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsCodeEditor extends Component<HdsCodeEditorSignature> {\n @tracked private _isFullScreen = false;\n @tracked private _isSetupComplete = false;\n @tracked private _value;\n @tracked private _titleId: string | undefined;\n @tracked private _descriptionId: string | undefined;\n\n private _id = guidFor(this);\n\n private _handleEscape = modifier(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== 'Escape' || !this._isFullScreen) {\n return;\n }\n\n this.toggleFullScreen();\n };\n\n document.addEventListener('keydown', handleKeyDown);\n\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n });\n\n constructor(owner: Owner, args: HdsCodeEditorSignature['Args']) {\n super(owner, args);\n\n if (args.value) {\n this._value = args.value;\n }\n }\n\n get ariaLabelledBy(): string | undefined {\n if (this.args.ariaLabel !== undefined) {\n return;\n }\n\n return this.args.ariaLabelledBy ?? this._titleId;\n }\n\n get ariaDescribedBy(): string | undefined {\n return this.args.ariaDescribedBy ?? this._descriptionId;\n }\n\n get hasActions(): boolean {\n return (this.args.hasCopyButton || this.args.hasFullScreenButton) ?? false;\n }\n\n get isStandalone(): boolean {\n return this.args.isStandalone ?? true;\n }\n\n get classNames(): string {\n // Currently there is only one theme so the class name is hard-coded.\n // In the future, additional themes such as a \"light\" theme could be added.\n const classes = ['hds-code-editor', 'hds-code-editor--theme-dark'];\n\n if (this._isFullScreen) {\n classes.push('hds-code-editor--is-full-screen');\n }\n\n if (this.isStandalone) {\n classes.push('hds-code-editor--is-standalone');\n }\n\n return classes.join(' ');\n }\n\n get copyButtonText(): HdsCopyButtonSignature['Args']['text'] {\n return this.args.copyButtonText ? this.args.copyButtonText : 'Copy';\n }\n\n registerTitleElement = (\n element: HdsCodeEditorTitleSignature['Element']\n ): void => {\n this._titleId = element.id;\n };\n\n registerDescriptionElement = (\n element: HdsCodeEditorDescriptionSignature['Element']\n ): void => {\n this._descriptionId = element.id;\n };\n\n toggleFullScreen = (): void => {\n this._isFullScreen = !this._isFullScreen;\n };\n\n onInput = (newValue: string, editorView: EditorView): void => {\n this._value = newValue;\n this.args.onInput?.(newValue, editorView);\n };\n\n onKeyDown = (event: KeyboardEvent): void => {\n if (event.key === 'Escape' && this._isFullScreen) {\n this.toggleFullScreen();\n }\n };\n\n onSetup = (editorView: EditorView): void => {\n this._isSetupComplete = true;\n this.args.onSetup?.(editorView);\n };\n\n <template>\n <div\n id={{this._id}}\n class={{this.classNames}}\n {{focusTrap isActive=this._isFullScreen}}\n {{this._handleEscape}}\n ...attributes\n >\n {{! header }}\n {{#if (or this.hasActions (has-block))}}\n <div class=\"hds-code-editor__header\">\n <div class=\"hds-code-editor__header-content\">\n {{yield\n (hash\n Title=(component\n HdsCodeEditorTitle\n editorId=this._id\n onInsert=this.registerTitleElement\n )\n Description=(component\n HdsCodeEditorDescription\n editorId=this._id\n onInsert=this.registerDescriptionElement\n )\n Generic=HdsCodeEditorGeneric\n )\n }}\n </div>\n\n {{#if this.hasActions}}\n <div class=\"hds-code-editor__header-actions\">\n {{#if @hasCopyButton}}\n <HdsCopyButton\n class=\"hds-code-editor__button hds-code-editor__copy-button\"\n @isIconOnly={{true}}\n @size=\"small\"\n @text={{this.copyButtonText}}\n @textToCopy={{this._value}}\n />\n {{/if}}\n {{#if @hasFullScreenButton}}\n <HdsCodeEditorFullScreenButton\n @isFullScreen={{this._isFullScreen}}\n @onToggleFullScreen={{this.toggleFullScreen}}\n />\n {{/if}}\n </div>\n {{/if}}\n </div>\n {{/if}}\n\n {{! editor }}\n <div\n class=\"hds-code-editor__editor\"\n {{hdsCodeEditorModifier\n ariaDescribedBy=this.ariaDescribedBy\n ariaLabel=@ariaLabel\n ariaLabelledBy=this.ariaLabelledBy\n customExtensions=@customExtensions\n cspNonce=@cspNonce\n extraKeys=@extraKeys\n hasLineWrapping=@hasLineWrapping\n isLintingEnabled=@isLintingEnabled\n language=@language\n value=@value\n onBlur=@onBlur\n onInput=this.onInput\n onSetup=this.onSetup\n onLint=@onLint\n }}\n />\n\n {{! loader }}\n {{#unless this._isSetupComplete}}\n <div class=\"hds-code-editor__loader\" aria-live=\"polite\" role=\"status\">\n <HdsIcon @name=\"loading\" @size=\"24\" />\n <span class=\"sr-only\">{{hdsT\n \"hds.components.common.loading\"\n default=\"Loading\"\n }}</span>\n </div>\n {{/unless}}\n </div>\n </template>\n}\n"],"names":["HdsCodeEditor","Component","g","prototype","tracked","i","_id","guidFor","_handleEscape","modifier","handleKeyDown","event","key","_isFullScreen","toggleFullScreen","document","addEventListener","removeEventListener","constructor","owner","args","value","_value","ariaLabelledBy","ariaLabel","undefined","_titleId","ariaDescribedBy","_descriptionId","hasActions","hasCopyButton","hasFullScreenButton","isStandalone","classNames","classes","push","join","copyButtonText","registerTitleElement","element","id","registerDescriptionElement","onInput","newValue","editorView","onKeyDown","onSetup","_isSetupComplete","setComponentTemplate","precompileTemplate","strictMode","scope","focusTrap","or","hash","HdsCodeEditorTitle","HdsCodeEditorDescription","HdsCodeEditorGeneric","HdsCopyButton","HdsCodeEditorFullScreenButton","hdsCodeEditorModifier","HdsIcon","hdsT"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/code-editor/index.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 { hash } from '@ember/helper';\nimport { modifier } from 'ember-modifier';\nimport { or } from 'ember-truth-helpers';\nimport { tracked } from '@glimmer/tracking';\n// @ts-expect-error: missing types https://github.com/josemarluedke/ember-focus-trap/issues/86\nimport focusTrap from 'ember-focus-trap/modifiers/focus-trap';\n\nimport type { EditorView } from '@codemirror/view';\nimport type { WithBoundArgs } from '@glint/template';\nimport type Owner from '@ember/owner';\n\nimport hdsCodeEditorModifier from '../../../modifiers/hds-code-editor.ts';\nimport HdsCodeEditorDescription from './description.gts';\nimport HdsCodeEditorFullScreenButton from './full-screen-button.gts';\nimport HdsCodeEditorGeneric from './generic.gts';\nimport HdsCodeEditorTitle from './title.gts';\nimport HdsCopyButton from '../copy/button/index.gts';\nimport HdsIcon from '../icon/index.gts';\nimport hdsT from '../../../helpers/hds-t.ts';\n\nimport type { HdsCodeEditorDescriptionSignature } from './description.gts';\nimport type { HdsCodeEditorSignature as HdsCodeEditorModifierSignature } from '../../../modifiers/hds-code-editor.ts';\nimport type { HdsCodeEditorTitleSignature } from './title.gts';\nimport type { HdsCopyButtonSignature } from '../copy/button/index.gts';\n\nexport interface HdsCodeEditorSignature {\n Args: {\n hasCopyButton?: boolean;\n hasFullScreenButton?: boolean;\n isStandalone?: boolean;\n copyButtonText?: HdsCopyButtonSignature['Args']['text'];\n } & HdsCodeEditorModifierSignature['Args']['Named'];\n Blocks: {\n default: [\n {\n Title?: WithBoundArgs<\n typeof HdsCodeEditorTitle,\n 'onInsert' | 'editorId'\n >;\n Description?: WithBoundArgs<\n typeof HdsCodeEditorDescription,\n 'onInsert' | 'editorId'\n >;\n Generic?: typeof HdsCodeEditorGeneric;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsCodeEditor extends Component<HdsCodeEditorSignature> {\n @tracked private _isFullScreen = false;\n @tracked private _isSetupComplete = false;\n @tracked private _value;\n @tracked private _titleId: string | undefined;\n @tracked private _descriptionId: string | undefined;\n\n private _id = guidFor(this);\n\n private _handleEscape = modifier(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== 'Escape' || !this._isFullScreen) {\n return;\n }\n\n this.toggleFullScreen();\n };\n\n document.addEventListener('keydown', handleKeyDown);\n\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n });\n\n constructor(owner: Owner, args: HdsCodeEditorSignature['Args']) {\n super(owner, args);\n\n if (args.value) {\n this._value = args.value;\n }\n }\n\n get ariaLabelledBy(): string | undefined {\n if (this.args.ariaLabel !== undefined) {\n return;\n }\n\n return this.args.ariaLabelledBy ?? this._titleId;\n }\n\n get ariaDescribedBy(): string | undefined {\n return this.args.ariaDescribedBy ?? this._descriptionId;\n }\n\n get hasActions(): boolean {\n return (this.args.hasCopyButton || this.args.hasFullScreenButton) ?? false;\n }\n\n get isStandalone(): boolean {\n return this.args.isStandalone ?? true;\n }\n\n get classNames(): string {\n // Currently there is only one theme so the class name is hard-coded.\n // In the future, additional themes such as a \"light\" theme could be added.\n const classes = ['hds-code-editor', 'hds-code-editor--theme-dark'];\n\n if (this._isFullScreen) {\n classes.push('hds-code-editor--is-full-screen');\n }\n\n if (this.isStandalone) {\n classes.push('hds-code-editor--is-standalone');\n }\n\n return classes.join(' ');\n }\n\n get copyButtonText(): HdsCopyButtonSignature['Args']['text'] {\n return this.args.copyButtonText ? this.args.copyButtonText : 'Copy';\n }\n\n registerTitleElement = (\n element: HdsCodeEditorTitleSignature['Element']\n ): void => {\n this._titleId = element.id;\n };\n\n registerDescriptionElement = (\n element: HdsCodeEditorDescriptionSignature['Element']\n ): void => {\n this._descriptionId = element.id;\n };\n\n toggleFullScreen = (): void => {\n this._isFullScreen = !this._isFullScreen;\n };\n\n onInput = (newValue: string, editorView: EditorView): void => {\n this._value = newValue;\n this.args.onInput?.(newValue, editorView);\n };\n\n onKeyDown = (event: KeyboardEvent): void => {\n if (event.key === 'Escape' && this._isFullScreen) {\n this.toggleFullScreen();\n }\n };\n\n onSetup = (editorView: EditorView): void => {\n this._isSetupComplete = true;\n this.args.onSetup?.(editorView);\n };\n\n <template>\n <div\n id={{this._id}}\n class={{this.classNames}}\n {{focusTrap isActive=this._isFullScreen}}\n {{this._handleEscape}}\n ...attributes\n >\n {{! header }}\n {{#if (or this.hasActions (has-block))}}\n <div class=\"hds-code-editor__header\">\n <div class=\"hds-code-editor__header-content\">\n {{yield\n (hash\n Title=(component\n HdsCodeEditorTitle\n editorId=this._id\n onInsert=this.registerTitleElement\n )\n Description=(component\n HdsCodeEditorDescription\n editorId=this._id\n onInsert=this.registerDescriptionElement\n )\n Generic=HdsCodeEditorGeneric\n )\n }}\n </div>\n\n {{#if this.hasActions}}\n <div class=\"hds-code-editor__header-actions\">\n {{#if @hasCopyButton}}\n <HdsCopyButton\n class=\"hds-code-editor__button hds-code-editor__copy-button\"\n @isIconOnly={{true}}\n @size=\"small\"\n @text={{this.copyButtonText}}\n @textToCopy={{this._value}}\n />\n {{/if}}\n {{#if @hasFullScreenButton}}\n <HdsCodeEditorFullScreenButton\n @isFullScreen={{this._isFullScreen}}\n @onToggleFullScreen={{this.toggleFullScreen}}\n />\n {{/if}}\n </div>\n {{/if}}\n </div>\n {{/if}}\n\n {{! editor }}\n <div\n class=\"hds-code-editor__editor\"\n {{hdsCodeEditorModifier\n ariaDescribedBy=this.ariaDescribedBy\n ariaLabel=@ariaLabel\n ariaLabelledBy=this.ariaLabelledBy\n customExtensions=@customExtensions\n cspNonce=@cspNonce\n extraKeys=@extraKeys\n hasLineWrapping=@hasLineWrapping\n isLintingEnabled=@isLintingEnabled\n language=@language\n value=@value\n onBlur=@onBlur\n onInput=this.onInput\n onSetup=this.onSetup\n onLint=@onLint\n }}\n />\n\n {{! loader }}\n {{#unless this._isSetupComplete}}\n <div class=\"hds-code-editor__loader\" aria-live=\"polite\" role=\"status\">\n <HdsIcon @name=\"loading\" @size=\"24\" />\n <span class=\"sr-only\">{{hdsT\n \"hds.components.common.loading\"\n default=\"Loading\"\n }}</span>\n </div>\n {{/unless}}\n </div>\n </template>\n}\n"],"names":["HdsCodeEditor","Component","g","prototype","tracked","i","_id","guidFor","_handleEscape","modifier","handleKeyDown","event","key","_isFullScreen","toggleFullScreen","document","addEventListener","removeEventListener","constructor","owner","args","value","_value","ariaLabelledBy","ariaLabel","undefined","_titleId","ariaDescribedBy","_descriptionId","hasActions","hasCopyButton","hasFullScreenButton","isStandalone","classNames","classes","push","join","copyButtonText","registerTitleElement","element","id","registerDescriptionElement","onInput","newValue","editorView","onKeyDown","onSetup","_isSetupComplete","setComponentTemplate","precompileTemplate","strictMode","scope","focusTrap","or","hash","HdsCodeEditorTitle","HdsCodeEditorDescription","HdsCodeEditorGeneric","HdsCopyButton","HdsCodeEditorFullScreenButton","hdsCodeEditorModifier","HdsIcon","hdsT"],"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
  class HdsCodeEditorTitle extends Component {
@@ -1 +1 @@
1
- {"version":3,"file":"title.js","sources":["../../../../src/components/hds/code-editor/title.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n// eslint-disable-next-line ember/no-at-ember-render-modifiers\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\n\nimport HdsTextBody from '../text/body.gts';\n\nimport type { HdsTextBodySignature } from '../text/body.gts';\n\ntype HdsCodeEditorTitleElement = HdsTextBodySignature['Element'];\n\nexport interface HdsCodeEditorTitleSignature {\n Args: {\n editorId: string;\n tag?: HdsTextBodySignature['Args']['tag'];\n onInsert: (element: HdsCodeEditorTitleElement) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HdsCodeEditorTitleElement;\n}\n\nexport default class HdsCodeEditorTitle extends Component<HdsCodeEditorTitleSignature> {\n private _id = `${this.args.editorId}-title`;\n\n get tag(): HdsTextBodySignature['Args']['tag'] {\n return this.args.tag ?? 'h2';\n }\n\n <template>\n <HdsTextBody\n id={{this._id}}\n class=\"hds-code-editor__title\"\n @tag={{this.tag}}\n @size=\"200\"\n @weight=\"semibold\"\n {{didInsert @onInsert}}\n ...attributes\n >\n {{yield}}\n </HdsTextBody>\n </template>\n}\n"],"names":["HdsCodeEditorTitle","Component","_id","args","editorId","tag","setComponentTemplate","precompileTemplate","strictMode","scope","HdsTextBody","didInsert"],"mappings":";;;;;;AAAA;;;AAGC;AAwBc,MAAMA,2BAA2BC,SAAA,CAAU;AAChDC,EAAAA,GAAA,GAAM,CAAA,EAAG,IAAI,CAACC,IAAI,CAACC,QAAQ,CAAA,MAAA,CAAQ;EAE3C,IAAIC,GAAAA,GAA2C;AAC7C,IAAA,OAAO,IAAI,CAACF,IAAI,CAACE,GAAG,IAAI,IAAA;AAC1B,EAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,wLAAA,EAYA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,WAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"title.js","sources":["../../../../src/components/hds/code-editor/title.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n// eslint-disable-next-line ember/no-at-ember-render-modifiers\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\n\nimport HdsTextBody from '../text/body.gts';\n\nimport type { HdsTextBodySignature } from '../text/body.gts';\n\ntype HdsCodeEditorTitleElement = HdsTextBodySignature['Element'];\n\nexport interface HdsCodeEditorTitleSignature {\n Args: {\n editorId: string;\n tag?: HdsTextBodySignature['Args']['tag'];\n onInsert: (element: HdsCodeEditorTitleElement) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HdsCodeEditorTitleElement;\n}\n\nexport default class HdsCodeEditorTitle extends Component<HdsCodeEditorTitleSignature> {\n private _id = `${this.args.editorId}-title`;\n\n get tag(): HdsTextBodySignature['Args']['tag'] {\n return this.args.tag ?? 'h2';\n }\n\n <template>\n <HdsTextBody\n id={{this._id}}\n class=\"hds-code-editor__title\"\n @tag={{this.tag}}\n @size=\"200\"\n @weight=\"semibold\"\n {{didInsert @onInsert}}\n ...attributes\n >\n {{yield}}\n </HdsTextBody>\n </template>\n}\n"],"names":["HdsCodeEditorTitle","Component","_id","args","editorId","tag","setComponentTemplate","precompileTemplate","strictMode","scope","HdsTextBody","didInsert"],"mappings":";;;;;;AAAA;;;AAGC;AAwBc,MAAMA,2BAA2BC,SAAA,CAAU;AAChDC,EAAAA,GAAA,GAAM,CAAA,EAAG,IAAI,CAACC,IAAI,CAACC,QAAQ,CAAA,MAAA,CAAQ;EAE3C,IAAIC,GAAAA,GAA2C;AAC7C,IAAA,OAAO,IAAI,CAACF,IAAI,CAACE,GAAG,IAAI,IAAA;AAC1B,EAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,wLAAA,EAYA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,WAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -6,6 +6,10 @@ import { findFirstEnabled, handleKey } from './navigation.js';
6
6
  import { precompileTemplate } from '@ember/template-compilation';
7
7
  import { setComponentTemplate } from '@ember/component';
8
8
 
9
+ /**
10
+ * Copyright IBM Corp. 2021, 2026
11
+ * SPDX-License-Identifier: MPL-2.0
12
+ */
9
13
  function getElementId(element, prefix) {
10
14
  if (element.id !== '') {
11
15
  return element.id;