@hashicorp/design-system-components 4.16.0 → 4.17.1

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 (443) hide show
  1. package/README.md +4 -8
  2. package/declarations/components/hds/advanced-table/expandable-tr-group.d.ts +2 -1
  3. package/declarations/components/hds/advanced-table/expandable-tr-group.d.ts.map +1 -1
  4. package/declarations/components/hds/advanced-table/index.d.ts +1 -2
  5. package/declarations/components/hds/advanced-table/index.d.ts.map +1 -1
  6. package/declarations/components/hds/advanced-table/td.d.ts +1 -3
  7. package/declarations/components/hds/advanced-table/td.d.ts.map +1 -1
  8. package/declarations/components/hds/advanced-table/th-sort.d.ts +1 -3
  9. package/declarations/components/hds/advanced-table/th-sort.d.ts.map +1 -1
  10. package/declarations/components/hds/advanced-table/th.d.ts +1 -3
  11. package/declarations/components/hds/advanced-table/th.d.ts.map +1 -1
  12. package/declarations/components/hds/alert/index.d.ts +2 -1
  13. package/declarations/components/hds/alert/index.d.ts.map +1 -1
  14. package/declarations/components/hds/app-footer/status-link.d.ts +3 -2
  15. package/declarations/components/hds/app-footer/status-link.d.ts.map +1 -1
  16. package/declarations/components/hds/app-header/index.d.ts +2 -1
  17. package/declarations/components/hds/app-header/index.d.ts.map +1 -1
  18. package/declarations/components/hds/app-side-nav/index.d.ts +2 -1
  19. package/declarations/components/hds/app-side-nav/index.d.ts.map +1 -1
  20. package/declarations/components/hds/app-side-nav/portal/target.d.ts.map +1 -1
  21. package/declarations/components/hds/breadcrumb/item.d.ts +1 -1
  22. package/declarations/components/hds/breadcrumb/item.d.ts.map +1 -1
  23. package/declarations/components/hds/code-block/copy-button.d.ts +5 -2
  24. package/declarations/components/hds/code-block/copy-button.d.ts.map +1 -1
  25. package/declarations/components/hds/code-block/index.d.ts +3 -0
  26. package/declarations/components/hds/code-block/index.d.ts.map +1 -1
  27. package/declarations/components/hds/code-editor/index.d.ts +6 -2
  28. package/declarations/components/hds/code-editor/index.d.ts.map +1 -1
  29. package/declarations/components/hds/code-editor/title.d.ts +1 -1
  30. package/declarations/components/hds/code-editor/title.d.ts.map +1 -1
  31. package/declarations/components/hds/dropdown/list-item/interactive.d.ts +2 -1
  32. package/declarations/components/hds/dropdown/list-item/interactive.d.ts.map +1 -1
  33. package/declarations/components/hds/dropdown/toggle/icon.d.ts +2 -1
  34. package/declarations/components/hds/dropdown/toggle/icon.d.ts.map +1 -1
  35. package/declarations/components/hds/flyout/body.d.ts +2 -1
  36. package/declarations/components/hds/flyout/body.d.ts.map +1 -1
  37. package/declarations/components/hds/flyout/description.d.ts +2 -1
  38. package/declarations/components/hds/flyout/description.d.ts.map +1 -1
  39. package/declarations/components/hds/flyout/footer.d.ts +2 -1
  40. package/declarations/components/hds/flyout/footer.d.ts.map +1 -1
  41. package/declarations/components/hds/flyout/header.d.ts +2 -1
  42. package/declarations/components/hds/flyout/header.d.ts.map +1 -1
  43. package/declarations/components/hds/form/masked-input/base.d.ts +5 -2
  44. package/declarations/components/hds/form/masked-input/base.d.ts.map +1 -1
  45. package/declarations/components/hds/form/super-select/multiple/base.d.ts +1 -1
  46. package/declarations/components/hds/form/super-select/multiple/base.d.ts.map +1 -1
  47. package/declarations/components/hds/form/super-select/single/base.d.ts +1 -1
  48. package/declarations/components/hds/form/super-select/single/base.d.ts.map +1 -1
  49. package/declarations/components/hds/form/text-input/field.d.ts +3 -2
  50. package/declarations/components/hds/form/text-input/field.d.ts.map +1 -1
  51. package/declarations/components/hds/icon/index.d.ts +2 -1
  52. package/declarations/components/hds/icon/index.d.ts.map +1 -1
  53. package/declarations/components/hds/interactive/index.d.ts.map +1 -1
  54. package/declarations/components/hds/link/inline.d.ts +2 -1
  55. package/declarations/components/hds/link/inline.d.ts.map +1 -1
  56. package/declarations/components/hds/link/standalone.d.ts +2 -1
  57. package/declarations/components/hds/link/standalone.d.ts.map +1 -1
  58. package/declarations/components/hds/menu-primitive/index.d.ts +2 -1
  59. package/declarations/components/hds/menu-primitive/index.d.ts.map +1 -1
  60. package/declarations/components/hds/modal/body.d.ts +2 -1
  61. package/declarations/components/hds/modal/body.d.ts.map +1 -1
  62. package/declarations/components/hds/modal/footer.d.ts +2 -1
  63. package/declarations/components/hds/modal/footer.d.ts.map +1 -1
  64. package/declarations/components/hds/modal/header.d.ts +2 -1
  65. package/declarations/components/hds/modal/header.d.ts.map +1 -1
  66. package/declarations/components/hds/pagination/compact/index.d.ts +2 -1
  67. package/declarations/components/hds/pagination/compact/index.d.ts.map +1 -1
  68. package/declarations/components/hds/pagination/numbered/index.d.ts +2 -1
  69. package/declarations/components/hds/pagination/numbered/index.d.ts.map +1 -1
  70. package/declarations/components/hds/popover-primitive/index.d.ts +2 -1
  71. package/declarations/components/hds/popover-primitive/index.d.ts.map +1 -1
  72. package/declarations/components/hds/side-nav/header/icon-button.d.ts +2 -1
  73. package/declarations/components/hds/side-nav/header/icon-button.d.ts.map +1 -1
  74. package/declarations/components/hds/side-nav/index.d.ts +2 -1
  75. package/declarations/components/hds/side-nav/index.d.ts.map +1 -1
  76. package/declarations/components/hds/side-nav/portal/target.d.ts.map +1 -1
  77. package/declarations/components/hds/stepper/task/indicator.d.ts +1 -1
  78. package/declarations/components/hds/table/index.d.ts +2 -1
  79. package/declarations/components/hds/table/index.d.ts.map +1 -1
  80. package/declarations/components/hds/table/th-selectable.d.ts +3 -3
  81. package/declarations/components/hds/table/th-selectable.d.ts.map +1 -1
  82. package/declarations/components/hds/tabs/index.d.ts +2 -1
  83. package/declarations/components/hds/tabs/index.d.ts.map +1 -1
  84. package/declarations/components/hds/tag/index.d.ts +16 -0
  85. package/declarations/components/hds/tag/index.d.ts.map +1 -1
  86. package/declarations/components/hds/tag/types.d.ts +15 -0
  87. package/declarations/components/hds/tag/types.d.ts.map +1 -1
  88. package/declarations/components/hds/time/index.d.ts.map +1 -1
  89. package/declarations/helpers/hds-format-date.d.ts +16 -3
  90. package/declarations/helpers/hds-format-date.d.ts.map +1 -1
  91. package/declarations/helpers/hds-format-relative.d.ts +9 -3
  92. package/declarations/helpers/hds-format-relative.d.ts.map +1 -1
  93. package/declarations/helpers/hds-link-to-models.d.ts +7 -1
  94. package/declarations/helpers/hds-link-to-models.d.ts.map +1 -1
  95. package/declarations/helpers/hds-link-to-query.d.ts +9 -3
  96. package/declarations/helpers/hds-link-to-query.d.ts.map +1 -1
  97. package/declarations/instance-initializers/load-sprite.d.ts.map +1 -1
  98. package/declarations/{components/hds/advanced-table/helpers.d.ts → modifiers/hds-advanced-table-cell/dom-management.d.ts} +3 -4
  99. package/declarations/modifiers/hds-advanced-table-cell/dom-management.d.ts.map +1 -0
  100. package/declarations/modifiers/hds-advanced-table-cell/keyboard-navigation.d.ts +6 -0
  101. package/declarations/modifiers/hds-advanced-table-cell/keyboard-navigation.d.ts.map +1 -0
  102. package/declarations/modifiers/hds-advanced-table-cell.d.ts +26 -0
  103. package/declarations/modifiers/hds-advanced-table-cell.d.ts.map +1 -0
  104. package/declarations/modifiers/hds-clipboard.d.ts.map +1 -1
  105. package/declarations/modifiers/hds-code-editor/languages/rego.d.ts +48 -0
  106. package/declarations/modifiers/hds-code-editor/languages/rego.d.ts.map +1 -0
  107. package/declarations/modifiers/hds-code-editor/languages/sentinel.d.ts +4 -0
  108. package/declarations/modifiers/hds-code-editor/languages/sentinel.d.ts.map +1 -1
  109. package/declarations/modifiers/hds-code-editor/types.d.ts +2 -0
  110. package/declarations/modifiers/hds-code-editor/types.d.ts.map +1 -1
  111. package/declarations/modifiers/hds-code-editor.d.ts +9 -5
  112. package/declarations/modifiers/hds-code-editor.d.ts.map +1 -1
  113. package/declarations/modifiers/hds-tooltip.d.ts +4 -2
  114. package/declarations/modifiers/hds-tooltip.d.ts.map +1 -1
  115. package/declarations/services/hds-time-types.d.ts +7 -7
  116. package/declarations/services/hds-time-types.d.ts.map +1 -1
  117. package/declarations/services/hds-time.d.ts +3 -3
  118. package/declarations/services/hds-time.d.ts.map +1 -1
  119. package/declarations/template-registry.d.ts +2 -0
  120. package/declarations/template-registry.d.ts.map +1 -1
  121. package/dist/README.md +4 -8
  122. package/dist/_app_/modifiers/hds-advanced-table-cell/dom-management.js +1 -0
  123. package/dist/_app_/modifiers/hds-advanced-table-cell/keyboard-navigation.js +1 -0
  124. package/dist/_app_/modifiers/hds-advanced-table-cell.js +1 -0
  125. package/dist/_app_/modifiers/hds-code-editor/languages/rego.js +1 -0
  126. package/dist/components/hds/accordion/index.js.map +1 -1
  127. package/dist/components/hds/accordion/item/button.js +11 -4
  128. package/dist/components/hds/accordion/item/button.js.map +1 -1
  129. package/dist/components/hds/accordion/item/index.js +12 -11
  130. package/dist/components/hds/accordion/item/index.js.map +1 -1
  131. package/dist/components/hds/advanced-table/expandable-tr-group.js +16 -12
  132. package/dist/components/hds/advanced-table/expandable-tr-group.js.map +1 -1
  133. package/dist/components/hds/advanced-table/index.js +69 -53
  134. package/dist/components/hds/advanced-table/index.js.map +1 -1
  135. package/dist/components/hds/advanced-table/td.js +30 -36
  136. package/dist/components/hds/advanced-table/td.js.map +1 -1
  137. package/dist/components/hds/advanced-table/th-button-expand.js +13 -9
  138. package/dist/components/hds/advanced-table/th-button-expand.js.map +1 -1
  139. package/dist/components/hds/advanced-table/th-button-sort.js +8 -7
  140. package/dist/components/hds/advanced-table/th-button-sort.js.map +1 -1
  141. package/dist/components/hds/advanced-table/th-button-tooltip.js +7 -6
  142. package/dist/components/hds/advanced-table/th-button-tooltip.js.map +1 -1
  143. package/dist/components/hds/advanced-table/th-selectable.js +25 -17
  144. package/dist/components/hds/advanced-table/th-selectable.js.map +1 -1
  145. package/dist/components/hds/advanced-table/th-sort.js +30 -37
  146. package/dist/components/hds/advanced-table/th-sort.js.map +1 -1
  147. package/dist/components/hds/advanced-table/th.js +29 -36
  148. package/dist/components/hds/advanced-table/th.js.map +1 -1
  149. package/dist/components/hds/advanced-table/tr.js.map +1 -1
  150. package/dist/components/hds/alert/description.js.map +1 -1
  151. package/dist/components/hds/alert/index.js +19 -16
  152. package/dist/components/hds/alert/index.js.map +1 -1
  153. package/dist/components/hds/alert/title.js.map +1 -1
  154. package/dist/components/hds/app-footer/copyright.js.map +1 -1
  155. package/dist/components/hds/app-footer/index.js.map +1 -1
  156. package/dist/components/hds/app-footer/item.js.map +1 -1
  157. package/dist/components/hds/app-footer/legal-links.js.map +1 -1
  158. package/dist/components/hds/app-footer/link.js.map +1 -1
  159. package/dist/components/hds/app-footer/status-link.js.map +1 -1
  160. package/dist/components/hds/app-frame/index.js.map +1 -1
  161. package/dist/components/hds/app-frame/parts/footer.js.map +1 -1
  162. package/dist/components/hds/app-frame/parts/header.js.map +1 -1
  163. package/dist/components/hds/app-frame/parts/main.js.map +1 -1
  164. package/dist/components/hds/app-frame/parts/modals.js.map +1 -1
  165. package/dist/components/hds/app-frame/parts/sidebar.js.map +1 -1
  166. package/dist/components/hds/app-header/home-link.js.map +1 -1
  167. package/dist/components/hds/app-header/index.js +42 -34
  168. package/dist/components/hds/app-header/index.js.map +1 -1
  169. package/dist/components/hds/app-header/menu-button.js +11 -4
  170. package/dist/components/hds/app-header/menu-button.js.map +1 -1
  171. package/dist/components/hds/app-side-nav/index.js +44 -31
  172. package/dist/components/hds/app-side-nav/index.js.map +1 -1
  173. package/dist/components/hds/app-side-nav/list/back-link.js.map +1 -1
  174. package/dist/components/hds/app-side-nav/list/index.js +15 -13
  175. package/dist/components/hds/app-side-nav/list/index.js.map +1 -1
  176. package/dist/components/hds/app-side-nav/list/item.js.map +1 -1
  177. package/dist/components/hds/app-side-nav/list/link.js.map +1 -1
  178. package/dist/components/hds/app-side-nav/list/title.js +13 -9
  179. package/dist/components/hds/app-side-nav/list/title.js.map +1 -1
  180. package/dist/components/hds/app-side-nav/portal/index.js.map +1 -1
  181. package/dist/components/hds/app-side-nav/portal/target.js +31 -28
  182. package/dist/components/hds/app-side-nav/portal/target.js.map +1 -1
  183. package/dist/components/hds/app-side-nav/toggle-button.js.map +1 -1
  184. package/dist/components/hds/application-state/body.js.map +1 -1
  185. package/dist/components/hds/application-state/footer.js.map +1 -1
  186. package/dist/components/hds/application-state/header.js.map +1 -1
  187. package/dist/components/hds/application-state/index.js.map +1 -1
  188. package/dist/components/hds/application-state/media.js.map +1 -1
  189. package/dist/components/hds/badge/index.js.map +1 -1
  190. package/dist/components/hds/badge-count/index.js.map +1 -1
  191. package/dist/components/hds/breadcrumb/index.js.map +1 -1
  192. package/dist/components/hds/breadcrumb/item.js +1 -1
  193. package/dist/components/hds/breadcrumb/item.js.map +1 -1
  194. package/dist/components/hds/breadcrumb/truncation.js.map +1 -1
  195. package/dist/components/hds/button/index.js.map +1 -1
  196. package/dist/components/hds/button-set/index.js.map +1 -1
  197. package/dist/components/hds/card/container.js.map +1 -1
  198. package/dist/components/hds/code-block/copy-button.js +9 -5
  199. package/dist/components/hds/code-block/copy-button.js.map +1 -1
  200. package/dist/components/hds/code-block/description.js.map +1 -1
  201. package/dist/components/hds/code-block/index.js +27 -21
  202. package/dist/components/hds/code-block/index.js.map +1 -1
  203. package/dist/components/hds/code-block/title.js.map +1 -1
  204. package/dist/components/hds/code-editor/description.js +6 -5
  205. package/dist/components/hds/code-editor/description.js.map +1 -1
  206. package/dist/components/hds/code-editor/full-screen-button.js.map +1 -1
  207. package/dist/components/hds/code-editor/generic.js.map +1 -1
  208. package/dist/components/hds/code-editor/index.js +67 -52
  209. package/dist/components/hds/code-editor/index.js.map +1 -1
  210. package/dist/components/hds/code-editor/title.js +6 -5
  211. package/dist/components/hds/code-editor/title.js.map +1 -1
  212. package/dist/components/hds/copy/button/index.js +23 -20
  213. package/dist/components/hds/copy/button/index.js.map +1 -1
  214. package/dist/components/hds/copy/snippet/index.js +23 -20
  215. package/dist/components/hds/copy/snippet/index.js.map +1 -1
  216. package/dist/components/hds/dialog-primitive/body.js.map +1 -1
  217. package/dist/components/hds/dialog-primitive/description.js.map +1 -1
  218. package/dist/components/hds/dialog-primitive/footer.js.map +1 -1
  219. package/dist/components/hds/dialog-primitive/header.js.map +1 -1
  220. package/dist/components/hds/dialog-primitive/overlay.js.map +1 -1
  221. package/dist/components/hds/dialog-primitive/wrapper.js.map +1 -1
  222. package/dist/components/hds/disclosure-primitive/index.js +27 -21
  223. package/dist/components/hds/disclosure-primitive/index.js.map +1 -1
  224. package/dist/components/hds/dismiss-button/index.js.map +1 -1
  225. package/dist/components/hds/dropdown/footer.js.map +1 -1
  226. package/dist/components/hds/dropdown/header.js.map +1 -1
  227. package/dist/components/hds/dropdown/index.js +12 -5
  228. package/dist/components/hds/dropdown/index.js.map +1 -1
  229. package/dist/components/hds/dropdown/list-item/checkbox.js.map +1 -1
  230. package/dist/components/hds/dropdown/list-item/checkmark.js.map +1 -1
  231. package/dist/components/hds/dropdown/list-item/copy-item.js.map +1 -1
  232. package/dist/components/hds/dropdown/list-item/description.js.map +1 -1
  233. package/dist/components/hds/dropdown/list-item/generic.js.map +1 -1
  234. package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -1
  235. package/dist/components/hds/dropdown/list-item/radio.js.map +1 -1
  236. package/dist/components/hds/dropdown/list-item/separator.js.map +1 -1
  237. package/dist/components/hds/dropdown/list-item/title.js.map +1 -1
  238. package/dist/components/hds/dropdown/toggle/button.js +12 -10
  239. package/dist/components/hds/dropdown/toggle/button.js.map +1 -1
  240. package/dist/components/hds/dropdown/toggle/chevron.js.map +1 -1
  241. package/dist/components/hds/dropdown/toggle/icon.js +20 -12
  242. package/dist/components/hds/dropdown/toggle/icon.js.map +1 -1
  243. package/dist/components/hds/flyout/body.js +2 -1
  244. package/dist/components/hds/flyout/body.js.map +1 -1
  245. package/dist/components/hds/flyout/description.js +1 -0
  246. package/dist/components/hds/flyout/description.js.map +1 -1
  247. package/dist/components/hds/flyout/footer.js +2 -1
  248. package/dist/components/hds/flyout/footer.js.map +1 -1
  249. package/dist/components/hds/flyout/header.js +2 -1
  250. package/dist/components/hds/flyout/header.js.map +1 -1
  251. package/dist/components/hds/flyout/index.js +33 -18
  252. package/dist/components/hds/flyout/index.js.map +1 -1
  253. package/dist/components/hds/form/character-count/index.js.map +1 -1
  254. package/dist/components/hds/form/checkbox/base.js.map +1 -1
  255. package/dist/components/hds/form/checkbox/field.js.map +1 -1
  256. package/dist/components/hds/form/checkbox/group.js.map +1 -1
  257. package/dist/components/hds/form/error/index.js.map +1 -1
  258. package/dist/components/hds/form/error/message.js.map +1 -1
  259. package/dist/components/hds/form/field/index.js +15 -7
  260. package/dist/components/hds/form/field/index.js.map +1 -1
  261. package/dist/components/hds/form/fieldset/index.js +15 -7
  262. package/dist/components/hds/form/fieldset/index.js.map +1 -1
  263. package/dist/components/hds/form/file-input/base.js.map +1 -1
  264. package/dist/components/hds/form/file-input/field.js.map +1 -1
  265. package/dist/components/hds/form/helper-text/index.js.map +1 -1
  266. package/dist/components/hds/form/indicator/index.js.map +1 -1
  267. package/dist/components/hds/form/label/index.js.map +1 -1
  268. package/dist/components/hds/form/legend/index.js.map +1 -1
  269. package/dist/components/hds/form/masked-input/base.js +45 -15
  270. package/dist/components/hds/form/masked-input/base.js.map +1 -1
  271. package/dist/components/hds/form/masked-input/field.js.map +1 -1
  272. package/dist/components/hds/form/radio/base.js.map +1 -1
  273. package/dist/components/hds/form/radio/field.js.map +1 -1
  274. package/dist/components/hds/form/radio/group.js.map +1 -1
  275. package/dist/components/hds/form/radio-card/description.js.map +1 -1
  276. package/dist/components/hds/form/radio-card/group.js.map +1 -1
  277. package/dist/components/hds/form/radio-card/index.js.map +1 -1
  278. package/dist/components/hds/form/radio-card/label.js.map +1 -1
  279. package/dist/components/hds/form/select/base.js.map +1 -1
  280. package/dist/components/hds/form/select/field.js.map +1 -1
  281. package/dist/components/hds/form/super-select/after-options.js.map +1 -1
  282. package/dist/components/hds/form/super-select/multiple/base.js +38 -28
  283. package/dist/components/hds/form/super-select/multiple/base.js.map +1 -1
  284. package/dist/components/hds/form/super-select/multiple/field.js.map +1 -1
  285. package/dist/components/hds/form/super-select/option-group.js +11 -10
  286. package/dist/components/hds/form/super-select/option-group.js.map +1 -1
  287. package/dist/components/hds/form/super-select/placeholder.js.map +1 -1
  288. package/dist/components/hds/form/super-select/single/base.js +17 -12
  289. package/dist/components/hds/form/super-select/single/base.js.map +1 -1
  290. package/dist/components/hds/form/super-select/single/field.js.map +1 -1
  291. package/dist/components/hds/form/text-input/base.js.map +1 -1
  292. package/dist/components/hds/form/text-input/field.js +21 -18
  293. package/dist/components/hds/form/text-input/field.js.map +1 -1
  294. package/dist/components/hds/form/textarea/base.js.map +1 -1
  295. package/dist/components/hds/form/textarea/field.js.map +1 -1
  296. package/dist/components/hds/form/toggle/base.js.map +1 -1
  297. package/dist/components/hds/form/toggle/field.js.map +1 -1
  298. package/dist/components/hds/form/toggle/group.js.map +1 -1
  299. package/dist/components/hds/form/visibility-toggle/index.js.map +1 -1
  300. package/dist/components/hds/icon/index.js +7 -3
  301. package/dist/components/hds/icon/index.js.map +1 -1
  302. package/dist/components/hds/icon-tile/index.js.map +1 -1
  303. package/dist/components/hds/interactive/index.js +12 -5
  304. package/dist/components/hds/interactive/index.js.map +1 -1
  305. package/dist/components/hds/link/inline.js.map +1 -1
  306. package/dist/components/hds/link/standalone.js.map +1 -1
  307. package/dist/components/hds/menu-primitive/index.js +37 -24
  308. package/dist/components/hds/menu-primitive/index.js.map +1 -1
  309. package/dist/components/hds/modal/body.js +1 -0
  310. package/dist/components/hds/modal/body.js.map +1 -1
  311. package/dist/components/hds/modal/footer.js +2 -1
  312. package/dist/components/hds/modal/footer.js.map +1 -1
  313. package/dist/components/hds/modal/header.js +1 -0
  314. package/dist/components/hds/modal/header.js.map +1 -1
  315. package/dist/components/hds/modal/index.js +30 -16
  316. package/dist/components/hds/modal/index.js.map +1 -1
  317. package/dist/components/hds/page-header/actions.js.map +1 -1
  318. package/dist/components/hds/page-header/badges.js.map +1 -1
  319. package/dist/components/hds/page-header/description.js.map +1 -1
  320. package/dist/components/hds/page-header/index.js.map +1 -1
  321. package/dist/components/hds/page-header/subtitle.js.map +1 -1
  322. package/dist/components/hds/page-header/title.js.map +1 -1
  323. package/dist/components/hds/pagination/compact/index.js +31 -28
  324. package/dist/components/hds/pagination/compact/index.js.map +1 -1
  325. package/dist/components/hds/pagination/info/index.js.map +1 -1
  326. package/dist/components/hds/pagination/nav/arrow.js +10 -4
  327. package/dist/components/hds/pagination/nav/arrow.js.map +1 -1
  328. package/dist/components/hds/pagination/nav/ellipsis.js.map +1 -1
  329. package/dist/components/hds/pagination/nav/number.js +10 -4
  330. package/dist/components/hds/pagination/nav/number.js.map +1 -1
  331. package/dist/components/hds/pagination/numbered/index.js +44 -47
  332. package/dist/components/hds/pagination/numbered/index.js.map +1 -1
  333. package/dist/components/hds/pagination/size-selector/index.js +12 -8
  334. package/dist/components/hds/pagination/size-selector/index.js.map +1 -1
  335. package/dist/components/hds/popover-primitive/index.js +130 -103
  336. package/dist/components/hds/popover-primitive/index.js.map +1 -1
  337. package/dist/components/hds/reveal/index.js +26 -24
  338. package/dist/components/hds/reveal/index.js.map +1 -1
  339. package/dist/components/hds/reveal/toggle/button.js.map +1 -1
  340. package/dist/components/hds/rich-tooltip/bubble.js.map +1 -1
  341. package/dist/components/hds/rich-tooltip/index.js +8 -7
  342. package/dist/components/hds/rich-tooltip/index.js.map +1 -1
  343. package/dist/components/hds/rich-tooltip/toggle.js.map +1 -1
  344. package/dist/components/hds/segmented-group/index.js.map +1 -1
  345. package/dist/components/hds/separator/index.js.map +1 -1
  346. package/dist/components/hds/side-nav/base.js.map +1 -1
  347. package/dist/components/hds/side-nav/header/home-link.js.map +1 -1
  348. package/dist/components/hds/side-nav/header/icon-button.js +1 -0
  349. package/dist/components/hds/side-nav/header/icon-button.js.map +1 -1
  350. package/dist/components/hds/side-nav/header/index.js.map +1 -1
  351. package/dist/components/hds/side-nav/index.js +47 -34
  352. package/dist/components/hds/side-nav/index.js.map +1 -1
  353. package/dist/components/hds/side-nav/list/back-link.js.map +1 -1
  354. package/dist/components/hds/side-nav/list/index.js +15 -13
  355. package/dist/components/hds/side-nav/list/index.js.map +1 -1
  356. package/dist/components/hds/side-nav/list/item.js.map +1 -1
  357. package/dist/components/hds/side-nav/list/link.js.map +1 -1
  358. package/dist/components/hds/side-nav/list/title.js +13 -9
  359. package/dist/components/hds/side-nav/list/title.js.map +1 -1
  360. package/dist/components/hds/side-nav/portal/index.js.map +1 -1
  361. package/dist/components/hds/side-nav/portal/target.js +31 -28
  362. package/dist/components/hds/side-nav/portal/target.js.map +1 -1
  363. package/dist/components/hds/side-nav/toggle-button.js.map +1 -1
  364. package/dist/components/hds/stepper/step/indicator.js.map +1 -1
  365. package/dist/components/hds/stepper/task/indicator.js.map +1 -1
  366. package/dist/components/hds/table/index.js +54 -40
  367. package/dist/components/hds/table/index.js.map +1 -1
  368. package/dist/components/hds/table/td.js.map +1 -1
  369. package/dist/components/hds/table/th-button-sort.js +8 -7
  370. package/dist/components/hds/table/th-button-sort.js.map +1 -1
  371. package/dist/components/hds/table/th-button-tooltip.js +7 -6
  372. package/dist/components/hds/table/th-button-tooltip.js.map +1 -1
  373. package/dist/components/hds/table/th-selectable.js +24 -25
  374. package/dist/components/hds/table/th-selectable.js.map +1 -1
  375. package/dist/components/hds/table/th-sort.js +12 -10
  376. package/dist/components/hds/table/th-sort.js.map +1 -1
  377. package/dist/components/hds/table/th.js +12 -10
  378. package/dist/components/hds/table/th.js.map +1 -1
  379. package/dist/components/hds/table/tr.js.map +1 -1
  380. package/dist/components/hds/tabs/index.js +77 -54
  381. package/dist/components/hds/tabs/index.js.map +1 -1
  382. package/dist/components/hds/tabs/panel.js +21 -14
  383. package/dist/components/hds/tabs/panel.js.map +1 -1
  384. package/dist/components/hds/tabs/tab.js +29 -13
  385. package/dist/components/hds/tabs/tab.js.map +1 -1
  386. package/dist/components/hds/tag/index.js +43 -3
  387. package/dist/components/hds/tag/index.js.map +1 -1
  388. package/dist/components/hds/tag/types.js +16 -1
  389. package/dist/components/hds/tag/types.js.map +1 -1
  390. package/dist/components/hds/text/body.js.map +1 -1
  391. package/dist/components/hds/text/code.js.map +1 -1
  392. package/dist/components/hds/text/display.js.map +1 -1
  393. package/dist/components/hds/text/index.js.map +1 -1
  394. package/dist/components/hds/time/index.js +19 -14
  395. package/dist/components/hds/time/index.js.map +1 -1
  396. package/dist/components/hds/time/range.js +11 -12
  397. package/dist/components/hds/time/range.js.map +1 -1
  398. package/dist/components/hds/time/single.js.map +1 -1
  399. package/dist/components/hds/toast/index.js.map +1 -1
  400. package/dist/components/hds/tooltip-button/index.js.map +1 -1
  401. package/dist/components/hds/yield/index.js.map +1 -1
  402. package/dist/components.js +1 -1
  403. package/dist/helpers/hds-format-date.js.map +1 -1
  404. package/dist/helpers/hds-format-relative.js.map +1 -1
  405. package/dist/helpers/hds-link-to-query.js.map +1 -1
  406. package/dist/instance-initializers/load-sprite.js +3 -1
  407. package/dist/instance-initializers/load-sprite.js.map +1 -1
  408. package/dist/modifiers/hds-advanced-table-cell/dom-management.js +51 -0
  409. package/dist/modifiers/hds-advanced-table-cell/dom-management.js.map +1 -0
  410. package/dist/{components/hds/advanced-table/helpers.js → modifiers/hds-advanced-table-cell/keyboard-navigation.js} +5 -44
  411. package/dist/modifiers/hds-advanced-table-cell/keyboard-navigation.js.map +1 -0
  412. package/dist/modifiers/hds-advanced-table-cell.js +55 -0
  413. package/dist/modifiers/hds-advanced-table-cell.js.map +1 -0
  414. package/dist/modifiers/hds-clipboard.js +29 -35
  415. package/dist/modifiers/hds-clipboard.js.map +1 -1
  416. package/dist/modifiers/hds-code-editor/languages/rego.js +191 -0
  417. package/dist/modifiers/hds-code-editor/languages/rego.js.map +1 -0
  418. package/dist/modifiers/hds-code-editor/languages/sentinel.js +5 -0
  419. package/dist/modifiers/hds-code-editor/languages/sentinel.js.map +1 -1
  420. package/dist/modifiers/hds-code-editor/types.js +2 -0
  421. package/dist/modifiers/hds-code-editor/types.js.map +1 -1
  422. package/dist/modifiers/hds-code-editor.js +182 -155
  423. package/dist/modifiers/hds-code-editor.js.map +1 -1
  424. package/dist/modifiers/hds-tooltip.js +128 -108
  425. package/dist/modifiers/hds-tooltip.js.map +1 -1
  426. package/dist/services/hds-time.js +29 -23
  427. package/dist/services/hds-time.js.map +1 -1
  428. package/dist/styles/@hashicorp/design-system-components.css +94 -3
  429. package/dist/styles/components/advanced-table.scss +4 -0
  430. package/dist/styles/components/badge-count.scss +1 -1
  431. package/dist/styles/components/badge.scss +11 -1
  432. package/dist/styles/components/rich-tooltip.scss +3 -1
  433. package/dist/styles/components/tag.scss +28 -0
  434. package/dist/styles/components/time.scss +7 -0
  435. package/dist/styles/components/tooltip.scss +49 -0
  436. package/dist/utils/hds-aria-described-by.js +14 -17
  437. package/dist/utils/hds-aria-described-by.js.map +1 -1
  438. package/package.json +30 -31
  439. package/declarations/components/hds/advanced-table/helpers.d.ts.map +0 -1
  440. package/dist/_app_/components/hds/advanced-table/helpers.js +0 -1
  441. package/dist/_rollupPluginBabelHelpers-C_TsMG3M.js +0 -57
  442. package/dist/_rollupPluginBabelHelpers-C_TsMG3M.js.map +0 -1
  443. package/dist/components/hds/advanced-table/helpers.js.map +0 -1
@@ -4,7 +4,7 @@ import { assert } from '@ember/debug';
4
4
  import { precompileTemplate } from '@ember/template-compilation';
5
5
  import { setComponentTemplate } from '@ember/component';
6
6
 
7
- var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<li class=\"hds-breadcrumb__item\" style={{this.itemStyle}} ...attributes>\n {{#if @current}}\n <div class=\"hds-breadcrumb__current\">\n {{#if @icon}}\n <div class=\"hds-breadcrumb__icon\">\n <Hds::Icon @name={{@icon}} @size=\"16\" @stretched={{true}} />\n </div>\n {{/if}}\n <span class=\"hds-breadcrumb__text\">{{@text}}</span>\n </div>\n {{else}}\n {{#if @isRouteExternal}}\n <LinkToExternal\n class=\"hds-breadcrumb__link\"\n @current-when={{@current-when}}\n @models={{hds-link-to-models @model @models}}\n @query={{hds-link-to-query @query}}\n @replace={{@replace}}\n @route={{@route}}\n >\n {{#if @icon}}\n <div class=\"hds-breadcrumb__icon\">\n <Hds::Icon @name={{@icon}} @size=\"16\" @stretched={{true}} />\n </div>\n {{/if}}\n <span class=\"hds-breadcrumb__text\">{{@text}}</span>\n </LinkToExternal>\n {{else}}\n <LinkTo\n class=\"hds-breadcrumb__link\"\n @current-when={{@current-when}}\n @models={{hds-link-to-models @model @models}}\n @query={{hds-link-to-query @query}}\n @replace={{@replace}}\n @route={{@route}}\n >\n {{#if @icon}}\n <div class=\"hds-breadcrumb__icon\">\n <Hds::Icon @name={{@icon}} @size=\"16\" @stretched={{true}} />\n </div>\n {{/if}}\n <span class=\"hds-breadcrumb__text\">{{@text}}</span>\n </LinkTo>\n {{/if}}\n {{/if}}\n</li>");
7
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<li class=\"hds-breadcrumb__item\" style={{this.itemStyle}} ...attributes>\n {{#if @current}}\n <div class=\"hds-breadcrumb__current\">\n {{#if @icon}}\n <div class=\"hds-breadcrumb__icon\">\n <Hds::Icon @name={{@icon}} @size=\"16\" @stretched={{true}} />\n </div>\n {{/if}}\n <span class=\"hds-breadcrumb__text\">{{@text}}</span>\n </div>\n {{else}}\n {{#if @isRouteExternal}}\n {{! @glint-expect-error: FIXME: pnpm migration }}\n <LinkToExternal\n class=\"hds-breadcrumb__link\"\n @current-when={{@current-when}}\n @models={{hds-link-to-models @model @models}}\n @query={{hds-link-to-query @query}}\n @replace={{@replace}}\n @route={{@route}}\n >\n {{#if @icon}}\n <div class=\"hds-breadcrumb__icon\">\n <Hds::Icon @name={{@icon}} @size=\"16\" @stretched={{true}} />\n </div>\n {{/if}}\n <span class=\"hds-breadcrumb__text\">{{@text}}</span>\n </LinkToExternal>\n {{else}}\n <LinkTo\n class=\"hds-breadcrumb__link\"\n @current-when={{@current-when}}\n @models={{hds-link-to-models @model @models}}\n @query={{hds-link-to-query @query}}\n @replace={{@replace}}\n @route={{@route}}\n >\n {{#if @icon}}\n <div class=\"hds-breadcrumb__icon\">\n <Hds::Icon @name={{@icon}} @size=\"16\" @stretched={{true}} />\n </div>\n {{/if}}\n <span class=\"hds-breadcrumb__text\">{{@text}}</span>\n </LinkTo>\n {{/if}}\n {{/if}}\n</li>");
8
8
 
9
9
  /**
10
10
  * Copyright (c) HashiCorp, Inc.
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sources":["../../../../src/components/hds/breadcrumb/item.hbs","../../../../src/components/hds/breadcrumb/item.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<li class=\\\"hds-breadcrumb__item\\\" style={{this.itemStyle}} ...attributes>\\n {{#if @current}}\\n <div class=\\\"hds-breadcrumb__current\\\">\\n {{#if @icon}}\\n <div class=\\\"hds-breadcrumb__icon\\\">\\n <Hds::Icon @name={{@icon}} @size=\\\"16\\\" @stretched={{true}} />\\n </div>\\n {{/if}}\\n <span class=\\\"hds-breadcrumb__text\\\">{{@text}}</span>\\n </div>\\n {{else}}\\n {{#if @isRouteExternal}}\\n <LinkToExternal\\n class=\\\"hds-breadcrumb__link\\\"\\n @current-when={{@current-when}}\\n @models={{hds-link-to-models @model @models}}\\n @query={{hds-link-to-query @query}}\\n @replace={{@replace}}\\n @route={{@route}}\\n >\\n {{#if @icon}}\\n <div class=\\\"hds-breadcrumb__icon\\\">\\n <Hds::Icon @name={{@icon}} @size=\\\"16\\\" @stretched={{true}} />\\n </div>\\n {{/if}}\\n <span class=\\\"hds-breadcrumb__text\\\">{{@text}}</span>\\n </LinkToExternal>\\n {{else}}\\n <LinkTo\\n class=\\\"hds-breadcrumb__link\\\"\\n @current-when={{@current-when}}\\n @models={{hds-link-to-models @model @models}}\\n @query={{hds-link-to-query @query}}\\n @replace={{@replace}}\\n @route={{@route}}\\n >\\n {{#if @icon}}\\n <div class=\\\"hds-breadcrumb__icon\\\">\\n <Hds::Icon @name={{@icon}} @size=\\\"16\\\" @stretched={{true}} />\\n </div>\\n {{/if}}\\n <span class=\\\"hds-breadcrumb__text\\\">{{@text}}</span>\\n </LinkTo>\\n {{/if}}\\n {{/if}}\\n</li>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { htmlSafe } from '@ember/template';\nimport { assert } from '@ember/debug';\nimport type { SafeString } from '@ember/template/-private/handlebars';\nimport type { HdsIconSignature } from '../icon';\n\nexport interface HdsBreadcrumbItemSignature {\n Args: {\n current?: boolean;\n maxWidth?: string;\n text: string;\n isRouteExternal?: boolean;\n icon?: HdsIconSignature['Args']['name'];\n route?: string;\n models?: Array<string | number>;\n model?: string | number;\n query?: Record<string, string>;\n 'current-when'?: string;\n replace?: boolean;\n };\n Element: HTMLLIElement;\n}\n\nexport default class HdsBreadcrumbItem extends Component<HdsBreadcrumbItemSignature> {\n /**\n * @param maxWidth\n * @type {string}\n * @default undefined\n * @description A parameter that can be applied to an \"item\" to limit its max-width\n */\n get maxWidth(): string | undefined {\n const { maxWidth } = this.args;\n\n if (maxWidth) {\n assert(\n `@maxWidth for \"Hds::Breadcrumb::Item\" must be a size as number in 'px' or in 'em' (eg. '200px' or '24em'); received: ${maxWidth}`,\n maxWidth.match(/^\\d+(px|em)$/)\n );\n\n return maxWidth;\n } else {\n return undefined;\n }\n }\n\n /**\n * Get the inline style to apply to the item.\n * @method BreadcrumbItem#itemStyle\n * @return {string} The \"style\" attribute to apply to the item.\n */\n get itemStyle(): SafeString | undefined {\n if (this.maxWidth) {\n return htmlSafe(`max-width: ${this.maxWidth}`);\n } else {\n return undefined;\n }\n }\n\n /**\n * Get the class names to apply to the component.\n * @method BreadcrumbItem#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-breadcrumb__item'];\n\n return classes.join(' ');\n }\n}\n"],"names":["HdsBreadcrumbItem","Component","maxWidth","args","assert","match","undefined","itemStyle","htmlSafe","classNames","classes","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,ilDAAilD;;ACDnnD;AACA;AACA;AACA;;AAyBe,MAAMA,iBAAiB,SAASC,SAAS,CAA6B;AACnF;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,QAAQA,GAAuB;IACjC,MAAM;AAAEA,MAAAA;KAAU,GAAG,IAAI,CAACC,IAAI;AAE9B,IAAA,IAAID,QAAQ,EAAE;MACZE,MAAM,CACJ,CAAwHF,qHAAAA,EAAAA,QAAQ,CAAE,CAAA,EAClIA,QAAQ,CAACG,KAAK,CAAC,cAAc,CAC/B,CAAC;AAED,MAAA,OAAOH,QAAQ;AACjB,KAAC,MAAM;AACL,MAAA,OAAOI,SAAS;AAClB;AACF;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,SAASA,GAA2B;IACtC,IAAI,IAAI,CAACL,QAAQ,EAAE;AACjB,MAAA,OAAOM,QAAQ,CAAC,CAAA,WAAA,EAAc,IAAI,CAACN,QAAQ,EAAE,CAAC;AAChD,KAAC,MAAM;AACL,MAAA,OAAOI,SAAS;AAClB;AACF;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIG,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,sBAAsB,CAAC;AAExC,IAAA,OAAOA,OAAO,CAACC,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACC,oBAAA,CAAAC,QAAA,EA7CoBb,iBAAiB,CAAA;;;;"}
1
+ {"version":3,"file":"item.js","sources":["../../../../src/components/hds/breadcrumb/item.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { htmlSafe } from '@ember/template';\nimport { assert } from '@ember/debug';\nimport type { SafeString } from '@ember/template';\nimport type { HdsIconSignature } from '../icon';\n\nexport interface HdsBreadcrumbItemSignature {\n Args: {\n current?: boolean;\n maxWidth?: string;\n text: string;\n isRouteExternal?: boolean;\n icon?: HdsIconSignature['Args']['name'];\n route?: string;\n models?: Array<string | number>;\n model?: string | number;\n query?: Record<string, string>;\n 'current-when'?: string;\n replace?: boolean;\n };\n Element: HTMLLIElement;\n}\n\nexport default class HdsBreadcrumbItem extends Component<HdsBreadcrumbItemSignature> {\n /**\n * @param maxWidth\n * @type {string}\n * @default undefined\n * @description A parameter that can be applied to an \"item\" to limit its max-width\n */\n get maxWidth(): string | undefined {\n const { maxWidth } = this.args;\n\n if (maxWidth) {\n assert(\n `@maxWidth for \"Hds::Breadcrumb::Item\" must be a size as number in 'px' or in 'em' (eg. '200px' or '24em'); received: ${maxWidth}`,\n maxWidth.match(/^\\d+(px|em)$/)\n );\n\n return maxWidth;\n } else {\n return undefined;\n }\n }\n\n /**\n * Get the inline style to apply to the item.\n * @method BreadcrumbItem#itemStyle\n * @return {string} The \"style\" attribute to apply to the item.\n */\n get itemStyle(): SafeString | undefined {\n if (this.maxWidth) {\n return htmlSafe(`max-width: ${this.maxWidth}`);\n } else {\n return undefined;\n }\n }\n\n /**\n * Get the class names to apply to the component.\n * @method BreadcrumbItem#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-breadcrumb__item'];\n\n return classes.join(' ');\n }\n}\n"],"names":["HdsBreadcrumbItem","Component","maxWidth","args","assert","match","undefined","itemStyle","htmlSafe","classNames","classes","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;;AAyBe,MAAMA,iBAAiB,SAASC,SAAS,CAA6B;AACnF;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,QAAQA,GAAuB;IACjC,MAAM;AAAEA,MAAAA;KAAU,GAAG,IAAI,CAACC,IAAI;AAE9B,IAAA,IAAID,QAAQ,EAAE;MACZE,MAAM,CACJ,CAAwHF,qHAAAA,EAAAA,QAAQ,CAAE,CAAA,EAClIA,QAAQ,CAACG,KAAK,CAAC,cAAc,CAC/B,CAAC;AAED,MAAA,OAAOH,QAAQ;AACjB,KAAC,MAAM;AACL,MAAA,OAAOI,SAAS;AAClB;AACF;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,SAASA,GAA2B;IACtC,IAAI,IAAI,CAACL,QAAQ,EAAE;AACjB,MAAA,OAAOM,QAAQ,CAAC,CAAA,WAAA,EAAc,IAAI,CAACN,QAAQ,EAAE,CAAC;AAChD,KAAC,MAAM;AACL,MAAA,OAAOI,SAAS;AAClB;AACF;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIG,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,sBAAsB,CAAC;AAExC,IAAA,OAAOA,OAAO,CAACC,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACC,oBAAA,CAAAC,QAAA,EA7CoBb,iBAAiB,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"truncation.js","sources":["../../../../src/components/hds/breadcrumb/truncation.hbs","../../../../src/components/hds/breadcrumb/truncation.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<li class=\\\"hds-breadcrumb__item hds-breadcrumb__item--is-truncation\\\" ...attributes>\\n <Hds::PopoverPrimitive @enableClickEvents={{true}} as |PP|>\\n <div {{PP.setupPrimitiveContainer}}>\\n <button\\n type=\\\"button\\\"\\n class=\\\"hds-breadcrumb__truncation-toggle\\\"\\n aria-label={{this.ariaLabel}}\\n aria-expanded={{if PP.isOpen \\\"true\\\" \\\"false\\\"}}\\n {{PP.setupPrimitiveToggle}}\\n >\\n <Hds::Icon @name=\\\"more-horizontal\\\" @size=\\\"16\\\" />\\n </button>\\n <div\\n class=\\\"hds-breadcrumb__truncation-content\\\"\\n {{PP.setupPrimitivePopover anchoredPositionOptions=(hash placement=\\\"bottom-start\\\" offsetOptions=4)}}\\n >\\n <ol class=\\\"hds-breadcrumb__sublist\\\">\\n {{yield}}\\n </ol>\\n </div>\\n </div>\\n </Hds::PopoverPrimitive>\\n</li>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nexport interface HdsBreadcrumbTruncationSignature {\n Args: {\n ariaLabel?: string;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLLIElement;\n}\n\nexport default class HdsBreadcrumbTruncation extends Component<HdsBreadcrumbTruncationSignature> {\n /**\n * @param ariaLabel\n * @type {string}\n * @default 'show more'\n */\n get ariaLabel(): string {\n return this.args.ariaLabel ?? 'show more';\n }\n}\n"],"names":["HdsBreadcrumbTruncation","Component","ariaLabel","args","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,s5BAAs5B;;ACDx7B;AACA;AACA;AACA;;AAce,MAAMA,uBAAuB,SAASC,SAAS,CAAmC;AAC/F;AACF;AACA;AACA;AACA;EACE,IAAIC,SAASA,GAAW;AACtB,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,SAAS,IAAI,WAAW;AAC3C;AACF;AAACE,oBAAA,CAAAC,QAAA,EAToBL,uBAAuB,CAAA;;;;"}
1
+ {"version":3,"file":"truncation.js","sources":["../../../../src/components/hds/breadcrumb/truncation.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nexport interface HdsBreadcrumbTruncationSignature {\n Args: {\n ariaLabel?: string;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLLIElement;\n}\n\nexport default class HdsBreadcrumbTruncation extends Component<HdsBreadcrumbTruncationSignature> {\n /**\n * @param ariaLabel\n * @type {string}\n * @default 'show more'\n */\n get ariaLabel(): string {\n return this.args.ariaLabel ?? 'show more';\n }\n}\n"],"names":["HdsBreadcrumbTruncation","Component","ariaLabel","args","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;;AAce,MAAMA,uBAAuB,SAASC,SAAS,CAAmC;AAC/F;AACF;AACA;AACA;AACA;EACE,IAAIC,SAASA,GAAW;AACtB,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,SAAS,IAAI,WAAW;AAC3C;AACF;AAACE,oBAAA,CAAAC,QAAA,EAToBL,uBAAuB,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/button/index.hbs","../../../../src/components/hds/button/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<Hds::Interactive\\n class={{this.classNames}}\\n @current-when={{@current-when}}\\n @models={{hds-link-to-models @model @models}}\\n @query={{hds-link-to-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 <Hds::Icon @name={{this.icon}} @size={{this.iconSize}} @stretched={{true}} />\\n </span>\\n {{/if}}\\n {{else}}\\n {{#if this.icon}}\\n {{#if (eq this.iconPosition \\\"leading\\\")}}\\n <span class=\\\"hds-button__icon\\\">\\n <Hds::Icon @name={{this.icon}} @size={{this.iconSize}} @stretched={{true}} />\\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 <Hds::Icon @name={{this.icon}} @size={{this.iconSize}} @stretched={{true}} />\\n </span>\\n {{/if}}\\n {{else}}\\n <span class=\\\"hds-button__text\\\">\\n {{this.text}}\\n </span>\\n {{/if}}\\n {{/if}}\\n</Hds::Interactive>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport {\n HdsButtonSizeValues,\n HdsButtonColorValues,\n HdsButtonIconPositionValues,\n} from './types.ts';\n\nimport type {\n HdsButtonSizes,\n HdsButtonColors,\n HdsButtonIconPositions,\n} from './types.ts';\nimport type { HdsInteractiveSignature } from '../interactive/';\nimport type { HdsIconSignature } from '../icon';\n\nexport const SIZES: string[] = Object.values(HdsButtonSizeValues);\nexport const COLORS: string[] = Object.values(HdsButtonColorValues);\nexport const ICONPOSITIONS: string[] = Object.values(\n HdsButtonIconPositionValues\n);\nexport const DEFAULT_SIZE = HdsButtonSizeValues.Medium;\nexport const DEFAULT_COLOR = HdsButtonColorValues.Primary;\nexport const DEFAULT_ICONPOSITION = 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 /**\n * @param text\n * @type {string}\n * @description The text of the button or value of `aria-label` if `isIconOnly` is set to `true`. If no text value is defined an error will be thrown.\n */\n get text(): string {\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 /**\n * @param size\n * @type {string}\n * @default medium\n * @description The size of the button; acceptable values are `small`, `medium`, and `large`\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 /**\n * @param color\n * @type {string}\n * @default primary\n * @description Determines the color of button to be used; acceptable values are `primary`, `secondary`, and `critical`\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 /**\n * @param isIconOnly\n * @type {boolean}\n * @default false\n * @description Indicates if the button will only contain an icon; component will also ensure that accessible text is still applied to the component.\n */\n get isIconOnly(): boolean {\n if (this.icon) {\n return this.args.isIconOnly ?? false;\n }\n return false;\n }\n\n /**\n * @param iconPosition\n * @type {string}\n * @default leading\n * @description Positions the icon before or after the text; allowed values are `leading` or `trailing`\n */\n get iconPosition(): HdsButtonIconPositions {\n const { iconPosition = DEFAULT_ICONPOSITION } = this.args;\n\n assert(\n `@iconPosition for \"Hds::Button\" must be one of the following: ${ICONPOSITIONS.join(\n ', '\n )}; received: ${iconPosition}`,\n ICONPOSITIONS.includes(iconPosition)\n );\n\n return iconPosition;\n }\n\n /**\n * @param iconSize\n * @type {string}\n * @default 16\n * @description ensures that the correct icon size is used. Automatically calculated.\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 /**\n * @param isFullWidth\n * @type {boolean}\n * @default false\n * @description Indicates that a button should take up the full width of the parent container. The default is false.\n */\n get isFullWidth(): boolean {\n return this.args.isFullWidth ?? false;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method Button#classNames\n * @return {string} The \"class\" attribute to apply to the component.\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"],"names":["SIZES","Object","values","HdsButtonSizeValues","COLORS","HdsButtonColorValues","ICONPOSITIONS","HdsButtonIconPositionValues","DEFAULT_SIZE","Medium","DEFAULT_COLOR","Primary","DEFAULT_ICONPOSITION","Leading","HdsButton","Component","text","args","assert","undefined","size","join","includes","color","icon","isIconOnly","iconPosition","iconSize","isFullWidth","classNames","classes","push","isInline","setComponentTemplate","TEMPLATE"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/button/index.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport {\n HdsButtonSizeValues,\n HdsButtonColorValues,\n HdsButtonIconPositionValues,\n} from './types.ts';\n\nimport type {\n HdsButtonSizes,\n HdsButtonColors,\n HdsButtonIconPositions,\n} from './types.ts';\nimport type { HdsInteractiveSignature } from '../interactive/';\nimport type { HdsIconSignature } from '../icon';\n\nexport const SIZES: string[] = Object.values(HdsButtonSizeValues);\nexport const COLORS: string[] = Object.values(HdsButtonColorValues);\nexport const ICONPOSITIONS: string[] = Object.values(\n HdsButtonIconPositionValues\n);\nexport const DEFAULT_SIZE = HdsButtonSizeValues.Medium;\nexport const DEFAULT_COLOR = HdsButtonColorValues.Primary;\nexport const DEFAULT_ICONPOSITION = 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 /**\n * @param text\n * @type {string}\n * @description The text of the button or value of `aria-label` if `isIconOnly` is set to `true`. If no text value is defined an error will be thrown.\n */\n get text(): string {\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 /**\n * @param size\n * @type {string}\n * @default medium\n * @description The size of the button; acceptable values are `small`, `medium`, and `large`\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 /**\n * @param color\n * @type {string}\n * @default primary\n * @description Determines the color of button to be used; acceptable values are `primary`, `secondary`, and `critical`\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 /**\n * @param isIconOnly\n * @type {boolean}\n * @default false\n * @description Indicates if the button will only contain an icon; component will also ensure that accessible text is still applied to the component.\n */\n get isIconOnly(): boolean {\n if (this.icon) {\n return this.args.isIconOnly ?? false;\n }\n return false;\n }\n\n /**\n * @param iconPosition\n * @type {string}\n * @default leading\n * @description Positions the icon before or after the text; allowed values are `leading` or `trailing`\n */\n get iconPosition(): HdsButtonIconPositions {\n const { iconPosition = DEFAULT_ICONPOSITION } = this.args;\n\n assert(\n `@iconPosition for \"Hds::Button\" must be one of the following: ${ICONPOSITIONS.join(\n ', '\n )}; received: ${iconPosition}`,\n ICONPOSITIONS.includes(iconPosition)\n );\n\n return iconPosition;\n }\n\n /**\n * @param iconSize\n * @type {string}\n * @default 16\n * @description ensures that the correct icon size is used. Automatically calculated.\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 /**\n * @param isFullWidth\n * @type {boolean}\n * @default false\n * @description Indicates that a button should take up the full width of the parent container. The default is false.\n */\n get isFullWidth(): boolean {\n return this.args.isFullWidth ?? false;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method Button#classNames\n * @return {string} The \"class\" attribute to apply to the component.\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"],"names":["SIZES","Object","values","HdsButtonSizeValues","COLORS","HdsButtonColorValues","ICONPOSITIONS","HdsButtonIconPositionValues","DEFAULT_SIZE","Medium","DEFAULT_COLOR","Primary","DEFAULT_ICONPOSITION","Leading","HdsButton","Component","text","args","assert","undefined","size","join","includes","color","icon","isIconOnly","iconPosition","iconSize","isFullWidth","classNames","classes","push","isInline","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/button-set/index.hbs","../../../../src/components/hds/button-set/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class=\\\"hds-button-set\\\" ...attributes>\\n {{yield}}\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\nexport interface HdsButtonSetSignature {\n Blocks: { default: [] };\n Element: HTMLDivElement;\n}\nconst HdsButtonSet = TemplateOnlyComponent<HdsButtonSetSignature>();\n\nexport default HdsButtonSet;\n"],"names":["HdsButtonSet","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,iJAAiJ;;ACDnL;AACA;AACA;AACA;;AAOA,MAAMA,YAAY,GAAGC,qBAAqB,EAAyB;AAEnE,YAAAC,oBAAA,CAAAC,QAAA,EAAeH,YAAY,CAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/button-set/index.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\nexport interface HdsButtonSetSignature {\n Blocks: { default: [] };\n Element: HTMLDivElement;\n}\nconst HdsButtonSet = TemplateOnlyComponent<HdsButtonSetSignature>();\n\nexport default HdsButtonSet;\n"],"names":["HdsButtonSet","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;;AAOA,MAAMA,YAAY,GAAGC,qBAAqB,EAAyB;AAEnE,YAAAC,oBAAA,CAAAC,QAAA,EAAeH,YAAY,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sources":["../../../../src/components/hds/card/container.hbs","../../../../src/components/hds/card/container.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class={{this.classNames}} ...attributes>\\n {{yield}}\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport {\n HdsCardBackgroundValues,\n HdsCardLevelValues,\n HdsCardOverflowValues,\n} from './types.ts';\nimport type {\n HdsCardBackground,\n HdsCardLevel,\n HdsCardOverflow,\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 AVAILABLE_LEVELS: string[] = Object.values(HdsCardLevelValues);\nexport const AVAILABLE_BACKGROUNDS: string[] = Object.values(\n HdsCardBackgroundValues\n);\nexport const AVAILABLE_OVERFLOWS: string[] = Object.values(\n HdsCardOverflowValues\n);\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 };\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsCardContainer extends Component<HdsCardContainerSignature> {\n /**\n * Sets the \"elevation\" level for the component\n * Accepted values: base, mid, high\n *\n * @param level\n * @type {HdsCardLevel}\n * @default 'base'\n */\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: ${AVAILABLE_LEVELS.join(\n ', '\n )}; received: ${level}`,\n AVAILABLE_LEVELS.includes(level)\n );\n\n return level;\n }\n\n /**\n * Sets the \"elevation\" level for the component on \":hover\" state\n * Accepted values: base, mid, high\n *\n * @param levelHover\n * @type {HdsCardLevel}\n */\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: ${AVAILABLE_LEVELS.join(\n ', '\n )}; received: ${levelHover}`,\n AVAILABLE_LEVELS.includes(levelHover)\n );\n }\n\n return levelHover;\n }\n\n /**\n * Sets the \"elevation\" level for the component on \":active\" state\n * Accepted values: base, mid, high\n *\n * @param levelActive\n * @type {HdsCardLevel}\n */\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: ${AVAILABLE_LEVELS.join(\n ', '\n )}; received: ${levelActive}`,\n AVAILABLE_LEVELS.includes(levelActive)\n );\n }\n\n return levelActive;\n }\n\n /**\n * Sets the background for the component\n * Accepted values: neutral-primary, neutral-secondary\n *\n * @param background\n * @type {HdsCardBackground}\n * @default 'base'\n */\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: ${AVAILABLE_BACKGROUNDS.join(\n ', '\n )}; received: ${background}`,\n AVAILABLE_BACKGROUNDS.includes(background)\n );\n\n return background;\n }\n\n /**\n * Sets the level for the card\n * Accepted values: visible, hidden\n *\n * @param overflow\n * @type {HdsCardOverflow}\n * @default 'visible'\n */\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: ${AVAILABLE_OVERFLOWS.join(\n ', '\n )}; received: ${overflow}`,\n AVAILABLE_OVERFLOWS.includes(overflow)\n );\n\n return overflow;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method Card#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\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"],"names":["DEFAULT_LEVEL","HdsCardLevelValues","Base","DEFAULT_BACKGROUND","HdsCardBackgroundValues","NeutralPrimary","DEFAULT_OVERFLOW","HdsCardOverflowValues","Visible","AVAILABLE_LEVELS","Object","values","AVAILABLE_BACKGROUNDS","AVAILABLE_OVERFLOWS","HdsCardContainer","Component","level","args","assert","join","includes","levelHover","levelActive","background","overflow","classNames","classes","push","hasBorder","setComponentTemplate","TEMPLATE"],"mappings":"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"}
1
+ {"version":3,"file":"container.js","sources":["../../../../src/components/hds/card/container.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport {\n HdsCardBackgroundValues,\n HdsCardLevelValues,\n HdsCardOverflowValues,\n} from './types.ts';\nimport type {\n HdsCardBackground,\n HdsCardLevel,\n HdsCardOverflow,\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 AVAILABLE_LEVELS: string[] = Object.values(HdsCardLevelValues);\nexport const AVAILABLE_BACKGROUNDS: string[] = Object.values(\n HdsCardBackgroundValues\n);\nexport const AVAILABLE_OVERFLOWS: string[] = Object.values(\n HdsCardOverflowValues\n);\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 };\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsCardContainer extends Component<HdsCardContainerSignature> {\n /**\n * Sets the \"elevation\" level for the component\n * Accepted values: base, mid, high\n *\n * @param level\n * @type {HdsCardLevel}\n * @default 'base'\n */\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: ${AVAILABLE_LEVELS.join(\n ', '\n )}; received: ${level}`,\n AVAILABLE_LEVELS.includes(level)\n );\n\n return level;\n }\n\n /**\n * Sets the \"elevation\" level for the component on \":hover\" state\n * Accepted values: base, mid, high\n *\n * @param levelHover\n * @type {HdsCardLevel}\n */\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: ${AVAILABLE_LEVELS.join(\n ', '\n )}; received: ${levelHover}`,\n AVAILABLE_LEVELS.includes(levelHover)\n );\n }\n\n return levelHover;\n }\n\n /**\n * Sets the \"elevation\" level for the component on \":active\" state\n * Accepted values: base, mid, high\n *\n * @param levelActive\n * @type {HdsCardLevel}\n */\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: ${AVAILABLE_LEVELS.join(\n ', '\n )}; received: ${levelActive}`,\n AVAILABLE_LEVELS.includes(levelActive)\n );\n }\n\n return levelActive;\n }\n\n /**\n * Sets the background for the component\n * Accepted values: neutral-primary, neutral-secondary\n *\n * @param background\n * @type {HdsCardBackground}\n * @default 'base'\n */\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: ${AVAILABLE_BACKGROUNDS.join(\n ', '\n )}; received: ${background}`,\n AVAILABLE_BACKGROUNDS.includes(background)\n );\n\n return background;\n }\n\n /**\n * Sets the level for the card\n * Accepted values: visible, hidden\n *\n * @param overflow\n * @type {HdsCardOverflow}\n * @default 'visible'\n */\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: ${AVAILABLE_OVERFLOWS.join(\n ', '\n )}; received: ${overflow}`,\n AVAILABLE_OVERFLOWS.includes(overflow)\n );\n\n return overflow;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method Card#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\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"],"names":["DEFAULT_LEVEL","HdsCardLevelValues","Base","DEFAULT_BACKGROUND","HdsCardBackgroundValues","NeutralPrimary","DEFAULT_OVERFLOW","HdsCardOverflowValues","Visible","AVAILABLE_LEVELS","Object","values","AVAILABLE_BACKGROUNDS","AVAILABLE_OVERFLOWS","HdsCardContainer","Component","level","args","assert","join","includes","levelHover","levelActive","background","overflow","classNames","classes","push","hasBorder","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1,16 +1,20 @@
1
- import TemplateOnlyComponent from '@ember/component/template-only';
1
+ import Component from '@glimmer/component';
2
2
  import { precompileTemplate } from '@ember/template-compilation';
3
3
  import { setComponentTemplate } from '@ember/component';
4
4
 
5
- var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<Hds::Copy::Button\n class=\"hds-code-block__copy-button\"\n @text=\"Copy\"\n @isIconOnly={{true}}\n @size=\"small\"\n @targetToCopy={{@targetToCopy}}\n ...attributes\n/>");
5
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<Hds::Copy::Button\n class=\"hds-code-block__copy-button\"\n @text={{this.text}}\n @isIconOnly={{true}}\n @size=\"small\"\n @targetToCopy={{@targetToCopy}}\n ...attributes\n/>");
6
6
 
7
7
  /**
8
8
  * Copyright (c) HashiCorp, Inc.
9
9
  * SPDX-License-Identifier: MPL-2.0
10
10
  */
11
11
 
12
- const HdsCodeBlockCopyButton = TemplateOnlyComponent();
13
- var copyButton = setComponentTemplate(TEMPLATE, HdsCodeBlockCopyButton);
12
+ class HdsCodeBlockCopyButton extends Component {
13
+ get text() {
14
+ return this.args.text ? this.args.text : 'Copy';
15
+ }
16
+ }
17
+ setComponentTemplate(TEMPLATE, HdsCodeBlockCopyButton);
14
18
 
15
- export { copyButton as default };
19
+ export { HdsCodeBlockCopyButton as default };
16
20
  //# sourceMappingURL=copy-button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"copy-button.js","sources":["../../../../src/components/hds/code-block/copy-button.hbs","../../../../src/components/hds/code-block/copy-button.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<Hds::Copy::Button\\n class=\\\"hds-code-block__copy-button\\\"\\n @text=\\\"Copy\\\"\\n @isIconOnly={{true}}\\n @size=\\\"small\\\"\\n @targetToCopy={{@targetToCopy}}\\n ...attributes\\n/>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport templateOnlyComponent from '@ember/component/template-only';\nimport type { HdsCopyButtonSignature } from '../copy/button';\n\nexport interface HdsCodeBlockCopyButtonSignature {\n Args: {\n targetToCopy?: HdsCopyButtonSignature['Args']['targetToCopy'];\n };\n Blocks: {\n default: [];\n };\n Element: HdsCopyButtonSignature['Element'];\n}\n\nconst HdsCodeBlockCopyButton =\n templateOnlyComponent<HdsCodeBlockCopyButtonSignature>();\n\nexport default HdsCodeBlockCopyButton;\n"],"names":["HdsCodeBlockCopyButton","templateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,kQAAkQ;;ACDpS;AACA;AACA;AACA;;AAeA,MAAMA,sBAAsB,GAC1BC,qBAAqB,EAAmC;AAE1D,iBAAAC,oBAAA,CAAAC,QAAA,EAAeH,sBAAsB,CAAA;;;;"}
1
+ {"version":3,"file":"copy-button.js","sources":["../../../../src/components/hds/code-block/copy-button.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nimport type { HdsCopyButtonSignature } from '../copy/button';\n\nexport interface HdsCodeBlockCopyButtonSignature {\n Args: {\n targetToCopy?: HdsCopyButtonSignature['Args']['targetToCopy'];\n text?: HdsCopyButtonSignature['Args']['text'];\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"],"names":["HdsCodeBlockCopyButton","Component","text","args","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;;AAiBe,MAAMA,sBAAsB,SAASC,SAAS,CAAkC;EAC7F,IAAIC,IAAIA,GAA2C;AACjD,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,IAAI,GAAG,IAAI,CAACC,IAAI,CAACD,IAAI,GAAG,MAAM;AACjD;AACF;AAACE,oBAAA,CAAAC,QAAA,EAJoBL,sBAAsB,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"description.js","sources":["../../../../src/components/hds/code-block/description.hbs","../../../../src/components/hds/code-block/description.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<Hds::Text::Body @tag=\\\"p\\\" @size=\\\"100\\\" class=\\\"hds-code-block__description\\\" ...attributes>\\n {{yield}}\\n</Hds::Text::Body>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport templateOnlyComponent from '@ember/component/template-only';\nimport type { HdsTextBodySignature } from '../text/body';\n\nexport interface HdsCodeBlockDescriptionSignature {\n Blocks: {\n default: [];\n };\n Element: HdsTextBodySignature['Element'];\n}\n\nconst HdsCodeBlockDescription =\n templateOnlyComponent<HdsCodeBlockDescriptionSignature>();\n\nexport default HdsCodeBlockDescription;\n"],"names":["HdsCodeBlockDescription","templateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,iNAAiN;;ACDnP;AACA;AACA;AACA;;AAYA,MAAMA,uBAAuB,GAC3BC,qBAAqB,EAAoC;AAE3D,kBAAAC,oBAAA,CAAAC,QAAA,EAAeH,uBAAuB,CAAA;;;;"}
1
+ {"version":3,"file":"description.js","sources":["../../../../src/components/hds/code-block/description.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport templateOnlyComponent from '@ember/component/template-only';\nimport type { HdsTextBodySignature } from '../text/body';\n\nexport interface HdsCodeBlockDescriptionSignature {\n Blocks: {\n default: [];\n };\n Element: HdsTextBodySignature['Element'];\n}\n\nconst HdsCodeBlockDescription =\n templateOnlyComponent<HdsCodeBlockDescriptionSignature>();\n\nexport default HdsCodeBlockDescription;\n"],"names":["HdsCodeBlockDescription","templateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;;AAYA,MAAMA,uBAAuB,GAC3BC,qBAAqB,EAAoC;AAE3D,kBAAAC,oBAAA,CAAAC,QAAA,EAAeH,uBAAuB,CAAA;;;;"}
@@ -1,4 +1,3 @@
1
- import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty, a as _defineProperty } from '../../../_rollupPluginBabelHelpers-C_TsMG3M.js';
2
1
  import Component from '@glimmer/component';
3
2
  import { action } from '@ember/object';
4
3
  import { tracked } from '@glimmer/tracking';
@@ -21,23 +20,31 @@ import 'prismjs/components/prism-yaml';
21
20
  import 'prismjs/components/prism-markup-templating';
22
21
  import 'prismjs/components/prism-handlebars';
23
22
  import { precompileTemplate } from '@ember/template-compilation';
23
+ import { g, i, n } from 'decorator-transforms/runtime';
24
24
  import { setComponentTemplate } from '@ember/component';
25
25
 
26
- var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<div class={{this.classNames}} ...attributes>\n <div class=\"hds-code-block__header\">\n {{~yield (hash Title=(component \"hds/code-block/title\"))~}}\n {{~yield (hash Description=(component \"hds/code-block/description\"))~}}\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=@maxHeight}}\n data-line={{@highlightLines}}\n data-start={{@lineNumberStart}}\n id={{this._preCodeId}}\n tabindex=\"0\"\n ><code {{did-insert this.setPrismCode}} {{did-update this.setPrismCode this.code @language}}>\n {{~this._prismCode~}}\n </code></pre>\n\n {{#if @hasCopyButton}}\n <Hds::CodeBlock::CopyButton @targetToCopy=\"#{{this._preCodeId}}\" aria-describedby={{this._preCodeId}} />\n {{/if}}\n </div>\n</div>");
26
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<div class={{this.classNames}} ...attributes>\n <div class=\"hds-code-block__header\">\n {{~yield (hash Title=(component \"hds/code-block/title\"))~}}\n {{~yield (hash Description=(component \"hds/code-block/description\"))~}}\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=@maxHeight}}\n data-line={{@highlightLines}}\n data-start={{@lineNumberStart}}\n id={{this._preCodeId}}\n tabindex=\"0\"\n ><code {{did-insert this.setPrismCode}} {{did-update this.setPrismCode this.code @language}}>\n {{~this._prismCode~}}\n </code></pre>\n\n {{#if @hasCopyButton}}\n <Hds::CodeBlock::CopyButton\n @targetToCopy=\"#{{this._preCodeId}}\"\n aria-describedby={{this._preCodeId}}\n @text={{this.copyButtonText}}\n />\n {{/if}}\n </div>\n</div>");
27
+
28
+ /**
29
+ * Copyright (c) HashiCorp, Inc.
30
+ * SPDX-License-Identifier: MPL-2.0
31
+ */
27
32
 
28
- var _class, _descriptor;
29
33
  const LANGUAGES = Object.values(HdsCodeBlockLanguageValues);
30
- let HdsCodeBlock = (_class = class HdsCodeBlock extends Component {
31
- constructor(...args) {
32
- super(...args);
33
- _initializerDefineProperty(this, "_prismCode", _descriptor, this);
34
- /**
35
- * Generates a unique ID for the code content
36
- *
37
- * @param _preCodeId
38
- */
39
- _defineProperty(this, "_preCodeId", 'pre-code-' + guidFor(this));
34
+ class HdsCodeBlock extends Component {
35
+ static {
36
+ g(this.prototype, "_prismCode", [tracked], function () {
37
+ return htmlSafe('');
38
+ });
40
39
  }
40
+ #_prismCode = (i(this, "_prismCode"), undefined);
41
+ /**
42
+ * Generates a unique ID for the code content
43
+ *
44
+ * @param _preCodeId
45
+ */
46
+ _preCodeId = 'pre-code-' + guidFor(this);
47
+
41
48
  /**
42
49
  * @param code
43
50
  * @type {string}
@@ -91,6 +98,9 @@ let HdsCodeBlock = (_class = class HdsCodeBlock extends Component {
91
98
  get hasLineWrapping() {
92
99
  return this.args.hasLineWrapping ?? false;
93
100
  }
101
+ get copyButtonText() {
102
+ return this.args.copyButtonText ? this.args.copyButtonText : 'Copy';
103
+ }
94
104
  setPrismCode(element) {
95
105
  const code = this.code;
96
106
  const language = this.language;
@@ -130,6 +140,9 @@ let HdsCodeBlock = (_class = class HdsCodeBlock extends Component {
130
140
  * @method classNames
131
141
  * @return {string} The "class" attribute to apply to the component.
132
142
  */
143
+ static {
144
+ n(this.prototype, "setPrismCode", [action]);
145
+ }
133
146
  get classNames() {
134
147
  // Currently there is only one theme so the class name is hard-coded.
135
148
  // In the future, additional themes such as a "light" theme could be added.
@@ -150,14 +163,7 @@ let HdsCodeBlock = (_class = class HdsCodeBlock extends Component {
150
163
  }
151
164
  return classes.join(' ');
152
165
  }
153
- }, _descriptor = _applyDecoratedDescriptor(_class.prototype, "_prismCode", [tracked], {
154
- configurable: true,
155
- enumerable: true,
156
- writable: true,
157
- initializer: function () {
158
- return htmlSafe('');
159
- }
160
- }), _applyDecoratedDescriptor(_class.prototype, "setPrismCode", [action], Object.getOwnPropertyDescriptor(_class.prototype, "setPrismCode"), _class.prototype), _class);
166
+ }
161
167
  setComponentTemplate(TEMPLATE, HdsCodeBlock);
162
168
 
163
169
  export { LANGUAGES, HdsCodeBlock as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/code-block/index.hbs","../../../../src/components/hds/code-block/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<div class={{this.classNames}} ...attributes>\\n <div class=\\\"hds-code-block__header\\\">\\n {{~yield (hash Title=(component \\\"hds/code-block/title\\\"))~}}\\n {{~yield (hash Description=(component \\\"hds/code-block/description\\\"))~}}\\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=@maxHeight}}\\n data-line={{@highlightLines}}\\n data-start={{@lineNumberStart}}\\n id={{this._preCodeId}}\\n tabindex=\\\"0\\\"\\n ><code {{did-insert this.setPrismCode}} {{did-update this.setPrismCode this.code @language}}>\\n {{~this._prismCode~}}\\n </code></pre>\\n\\n {{#if @hasCopyButton}}\\n <Hds::CodeBlock::CopyButton @targetToCopy=\\\"#{{this._preCodeId}}\\\" aria-describedby={{this._preCodeId}} />\\n {{/if}}\\n </div>\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\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';\n\nimport Prism from 'prismjs';\n\nimport type { SafeString } from '@ember/template/-private/handlebars';\nimport type { ComponentLike } from '@glint/template';\n\nimport type { HdsCodeBlockTitleSignature } from './title';\nimport type { HdsCodeBlockDescriptionSignature } from './description';\nimport { HdsCodeBlockLanguageValues } from './types.ts';\nimport type { HdsCodeBlockLanguages } from './types.ts';\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: string[] = Object.values(HdsCodeBlockLanguageValues);\n\nexport interface HdsCodeBlockSignature {\n Args: {\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 };\n Blocks: {\n default: [\n {\n Title?: ComponentLike<HdsCodeBlockTitleSignature>;\n Description?: ComponentLike<HdsCodeBlockDescriptionSignature>;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsCodeBlock extends Component<HdsCodeBlockSignature> {\n @tracked private _prismCode: SafeString = htmlSafe('');\n\n /**\n * Generates a unique ID for the code content\n *\n * @param _preCodeId\n */\n private _preCodeId = 'pre-code-' + guidFor(this);\n\n /**\n * @param code\n * @type {string}\n * @description code text content for the CodeBlock\n */\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 return Prism.plugins['NormalizeWhitespace'].normalize(code);\n }\n\n return code;\n }\n\n /**\n * @param language\n * @type {string}\n * @default undefined\n * @description name of coding language used within CodeBlock for syntax highlighting\n */\n get language(): HdsCodeBlockLanguages | undefined {\n return this.args.language ?? undefined;\n }\n\n /**\n * @param hasLineNumbers\n * @type {boolean}\n * @default true\n * @description Displays line numbers if true\n */\n get hasLineNumbers(): boolean {\n return this.args.hasLineNumbers ?? true;\n }\n\n /**\n * @param isStandalone\n * @type {boolean}\n * @default true\n * @description Make CodeBlock container corners appear rounded\n */\n get isStandalone(): boolean {\n return this.args.isStandalone ?? true;\n }\n\n /**\n * @param hasLineWrapping\n * @type {boolean}\n * @default false\n * @description Make text content wrap on multiple lines\n */\n get hasLineWrapping(): boolean {\n return this.args.hasLineWrapping ?? false;\n }\n\n @action\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(() => {\n if (language && grammar) {\n this._prismCode = htmlSafe(Prism.highlight(code, grammar, language));\n } else {\n this._prismCode = htmlSafe(Prism.util.encode(code).toString());\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 // 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 need to delay re-evaluating the context for prism-line-highlight for as much as possible, and `afterRender` is the 'latest' we can use in the component lifecycle\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', () => {\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 }\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\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 return classes.join(' ');\n }\n}\n"],"names":["LANGUAGES","Object","values","HdsCodeBlockLanguageValues","HdsCodeBlock","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","guidFor","code","value","assert","undefined","Prism","plugins","normalize","language","hasLineNumbers","isStandalone","hasLineWrapping","setPrismCode","element","grammar","languages","next","_prismCode","htmlSafe","highlight","util","encode","toString","hooks","run","highlightLines","schedule","window","dispatchEvent","Event","classNames","classes","push","join","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,eAAe,kBAAkB,CAAC,29BAA29B;;;ACwCt/B,MAAMA,SAAmB,GAAGC,MAAM,CAACC,MAAM,CAACC,0BAA0B;AAyBtDC,IAAAA,YAAY,IAAAC,MAAA,GAAlB,MAAMD,YAAY,SAASE,SAAS,CAAwB;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;AAAAC,IAAAA,0BAAA,qBAAAC,WAAA,EAAA,IAAA,CAAA;AAGzE;AACF;AACA;AACA;AACA;AAJEC,IAAAA,eAAA,qBAKqB,WAAW,GAAGC,OAAO,CAAC,IAAI,CAAC,CAAA;AAAA;AAEhD;AACF;AACA;AACA;AACA;EACE,IAAIC,IAAIA,GAAW;AACjB,IAAA,MAAMA,IAAI,GAAG,IAAI,CAACL,IAAI,CAACM,KAAK;AAE5BC,IAAAA,MAAM,CACJ,oDAAoD,EACpDF,IAAI,KAAKG,SACX,CAAC;AAED,IAAA,IAAIC,KAAK,EAAEC,OAAO,GAAG,qBAAqB,CAAC,EAAE;MAC3C,OAAOD,KAAK,CAACC,OAAO,CAAC,qBAAqB,CAAC,CAACC,SAAS,CAACN,IAAI,CAAC;AAC7D;AAEA,IAAA,OAAOA,IAAI;AACb;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAIO,QAAQA,GAAsC;AAChD,IAAA,OAAO,IAAI,CAACZ,IAAI,CAACY,QAAQ,IAAIJ,SAAS;AACxC;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAIK,cAAcA,GAAY;AAC5B,IAAA,OAAO,IAAI,CAACb,IAAI,CAACa,cAAc,IAAI,IAAI;AACzC;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,YAAYA,GAAY;AAC1B,IAAA,OAAO,IAAI,CAACd,IAAI,CAACc,YAAY,IAAI,IAAI;AACvC;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,eAAeA,GAAY;AAC7B,IAAA,OAAO,IAAI,CAACf,IAAI,CAACe,eAAe,IAAI,KAAK;AAC3C;EAGAC,YAAYA,CAACC,OAAoB,EAAQ;AACvC,IAAA,MAAMZ,IAAI,GAAG,IAAI,CAACA,IAAI;AACtB,IAAA,MAAMO,QAAQ,GAAG,IAAI,CAACA,QAAQ;IAC9B,MAAMM,OAAO,GAAGN,QAAQ,GAAGH,KAAK,CAACU,SAAS,CAACP,QAAQ,CAAC,GAAGJ,SAAS;AAEhE,IAAA,IAAIH,IAAI,EAAE;AACR;AACAe,MAAAA,IAAI,CAAC,MAAM;QACT,IAAIR,QAAQ,IAAIM,OAAO,EAAE;AACvB,UAAA,IAAI,CAACG,UAAU,GAAGC,QAAQ,CAACb,KAAK,CAACc,SAAS,CAAClB,IAAI,EAAEa,OAAO,EAAEN,QAAQ,CAAC,CAAC;AACtE,SAAC,MAAM;AACL,UAAA,IAAI,CAACS,UAAU,GAAGC,QAAQ,CAACb,KAAK,CAACe,IAAI,CAACC,MAAM,CAACpB,IAAI,CAAC,CAACqB,QAAQ,EAAE,CAAC;AAChE;;AAEA;AACA;AACAjB,QAAAA,KAAK,CAACkB,KAAK,CAACC,GAAG,CAAC,UAAU,EAAE;UAC1BvB,IAAI;AACJY,UAAAA;AACF,SAAC,CAAC;;AAEF;AACA;AACA,QAAA,IAAI,IAAI,CAACjB,IAAI,CAAC6B,cAAc,EAAE;AAC5B;AACA;UACAC,QAAQ,CAAC,aAAa,EAAE,MAAM;AAC5B;YACA,IAAIC,MAAM,EAAEA,MAAM,CAACC,aAAa,CAAC,IAAIC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACvD,WAAC,CAAC;AACJ;AACF,OAAC,CAAC;AACJ;AACF;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAW;AACvB;AACA;AACA,IAAA,MAAMC,OAAO,GAAG,CAAC,gBAAgB,EAAE,4BAA4B,CAAC;IAEhE,IAAI,IAAI,CAACvB,QAAQ,EAAE;MACjBuB,OAAO,CAACC,IAAI,CAAC,CAAA,SAAA,EAAY,IAAI,CAACxB,QAAQ,EAAE,CAAC;AAC3C;AAEA,IAAA,IAAI,IAAI,CAACE,YAAY,KAAK,IAAI,EAAE;AAC9BqB,MAAAA,OAAO,CAACC,IAAI,CAAC,+BAA+B,CAAC;AAC/C;AAEA,IAAA,IAAI,IAAI,CAACrB,eAAe,KAAK,IAAI,EAAE;AACjCoB,MAAAA,OAAO,CAACC,IAAI,CAAC,mCAAmC,CAAC;AACnD;;AAEA;IACA,IAAI,IAAI,CAACvB,cAAc,EAAE;AACvBsB,MAAAA,OAAO,CAACC,IAAI,CAAC,cAAc,CAAC;AAC9B;AAEA,IAAA,OAAOD,OAAO,CAACE,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF,CAAC,EAAAnC,WAAA,GAAAoC,yBAAA,CAAAzC,MAAA,CAAA0C,SAAA,EAAA,YAAA,EAAA,CAtIEC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;AAAAC,EAAAA,WAAA,cAAA;IAAA,OAAkCtB,QAAQ,CAAC,EAAE,CAAC;AAAA;AAAA,CAAAgB,CAAAA,EAAAA,yBAAA,CAAAzC,MAAA,CAAA0C,SAAA,EAqErDM,cAAAA,EAAAA,CAAAA,MAAM,GAAApD,MAAA,CAAAqD,wBAAA,CAAAjD,MAAA,CAAA0C,SAAA,EAAA,cAAA,CAAA,EAAA1C,MAAA,CAAA0C,SAAA,GAAA1C,MAAA;AAtEwBkD,oBAAA,CAAAC,QAAA,EAAZpD,YAAY,CAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/code-block/index.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\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';\n\nimport Prism from 'prismjs';\n\nimport type { SafeString } from '@ember/template';\nimport type { ComponentLike } from '@glint/template';\n\nimport type { HdsCodeBlockTitleSignature } from './title';\nimport type { HdsCodeBlockDescriptionSignature } from './description';\nimport { HdsCodeBlockLanguageValues } from './types.ts';\nimport type { HdsCodeBlockLanguages } from './types.ts';\nimport type { HdsCopyButtonSignature } from '../copy/button/index.ts';\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: string[] = Object.values(HdsCodeBlockLanguageValues);\n\nexport interface HdsCodeBlockSignature {\n Args: {\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 };\n Blocks: {\n default: [\n {\n Title?: ComponentLike<HdsCodeBlockTitleSignature>;\n Description?: ComponentLike<HdsCodeBlockDescriptionSignature>;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsCodeBlock extends Component<HdsCodeBlockSignature> {\n @tracked private _prismCode: SafeString = htmlSafe('');\n\n /**\n * Generates a unique ID for the code content\n *\n * @param _preCodeId\n */\n private _preCodeId = 'pre-code-' + guidFor(this);\n\n /**\n * @param code\n * @type {string}\n * @description code text content for the CodeBlock\n */\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 return Prism.plugins['NormalizeWhitespace'].normalize(code);\n }\n\n return code;\n }\n\n /**\n * @param language\n * @type {string}\n * @default undefined\n * @description name of coding language used within CodeBlock for syntax highlighting\n */\n get language(): HdsCodeBlockLanguages | undefined {\n return this.args.language ?? undefined;\n }\n\n /**\n * @param hasLineNumbers\n * @type {boolean}\n * @default true\n * @description Displays line numbers if true\n */\n get hasLineNumbers(): boolean {\n return this.args.hasLineNumbers ?? true;\n }\n\n /**\n * @param isStandalone\n * @type {boolean}\n * @default true\n * @description Make CodeBlock container corners appear rounded\n */\n get isStandalone(): boolean {\n return this.args.isStandalone ?? true;\n }\n\n /**\n * @param hasLineWrapping\n * @type {boolean}\n * @default false\n * @description Make text content wrap on multiple lines\n */\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 @action\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(() => {\n if (language && grammar) {\n this._prismCode = htmlSafe(Prism.highlight(code, grammar, language));\n } else {\n this._prismCode = htmlSafe(Prism.util.encode(code).toString());\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 // 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 need to delay re-evaluating the context for prism-line-highlight for as much as possible, and `afterRender` is the 'latest' we can use in the component lifecycle\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', () => {\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 }\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\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 return classes.join(' ');\n }\n}\n"],"names":["LANGUAGES","Object","values","HdsCodeBlockLanguageValues","HdsCodeBlock","Component","g","prototype","tracked","htmlSafe","i","void 0","_preCodeId","guidFor","code","args","value","assert","undefined","Prism","plugins","normalize","language","hasLineNumbers","isStandalone","hasLineWrapping","copyButtonText","setPrismCode","element","grammar","languages","next","_prismCode","highlight","util","encode","toString","hooks","run","highlightLines","schedule","window","dispatchEvent","Event","n","action","classNames","classes","push","join","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"title.js","sources":["../../../../src/components/hds/code-block/title.hbs","../../../../src/components/hds/code-block/title.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<Hds::Text::Body @size=\\\"200\\\" @tag={{this.componentTag}} @weight=\\\"semibold\\\" class=\\\"hds-code-block__title\\\" ...attributes>\\n {{yield}}\\n</Hds::Text::Body>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\nimport Component from '@glimmer/component';\nimport { HdsCodeBlockTitleTagValues } from './types.ts';\nimport type { HdsCodeBlockTitleTags } from './types';\nimport type { HdsTextBodySignature } from '../text/body';\n\nexport interface HdsCodeBlockTitleSignature {\n Args: {\n tag?: HdsCodeBlockTitleTags;\n };\n Blocks: {\n default: [];\n };\n Element: HdsTextBodySignature['Element'];\n}\n\nexport default class HdsCodeBlockTitle extends Component<HdsCodeBlockTitleSignature> {\n get componentTag(): HdsCodeBlockTitleTags {\n return this.args.tag ?? HdsCodeBlockTitleTagValues.P;\n }\n}\n"],"names":["HdsCodeBlockTitle","Component","componentTag","args","tag","HdsCodeBlockTitleTagValues","P","setComponentTemplate","TEMPLATE"],"mappings":";;;;;AACA,eAAe,kBAAkB,CAAC,gPAAgP;;ACDlR;AACA;AACA;AACA;AAgBe,MAAMA,iBAAiB,SAASC,SAAS,CAA6B;EACnF,IAAIC,YAAYA,GAA0B;IACxC,OAAO,IAAI,CAACC,IAAI,CAACC,GAAG,IAAIC,0BAA0B,CAACC,CAAC;AACtD;AACF;AAACC,oBAAA,CAAAC,QAAA,EAJoBR,iBAAiB,CAAA;;;;"}
1
+ {"version":3,"file":"title.js","sources":["../../../../src/components/hds/code-block/title.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\nimport Component from '@glimmer/component';\nimport { HdsCodeBlockTitleTagValues } from './types.ts';\nimport type { HdsCodeBlockTitleTags } from './types';\nimport type { HdsTextBodySignature } from '../text/body';\n\nexport interface HdsCodeBlockTitleSignature {\n Args: {\n tag?: HdsCodeBlockTitleTags;\n };\n Blocks: {\n default: [];\n };\n Element: HdsTextBodySignature['Element'];\n}\n\nexport default class HdsCodeBlockTitle extends Component<HdsCodeBlockTitleSignature> {\n get componentTag(): HdsCodeBlockTitleTags {\n return this.args.tag ?? HdsCodeBlockTitleTagValues.P;\n }\n}\n"],"names":["HdsCodeBlockTitle","Component","componentTag","args","tag","HdsCodeBlockTitleTagValues","P","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AAgBe,MAAMA,iBAAiB,SAASC,SAAS,CAA6B;EACnF,IAAIC,YAAYA,GAA0B;IACxC,OAAO,IAAI,CAACC,IAAI,CAACC,GAAG,IAAIC,0BAA0B,CAACC,CAAC;AACtD;AACF;AAACC,oBAAA,CAAAC,QAAA,EAJoBR,iBAAiB,CAAA;;;;"}
@@ -1,15 +1,16 @@
1
- import { a as _defineProperty } from '../../../_rollupPluginBabelHelpers-C_TsMG3M.js';
2
1
  import Component from '@glimmer/component';
3
2
  import { precompileTemplate } from '@ember/template-compilation';
4
3
  import { setComponentTemplate } from '@ember/component';
5
4
 
6
5
  var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<Hds::Text::Body\n id={{this._id}}\n class=\"hds-code-editor__description\"\n @tag=\"p\"\n @size=\"100\"\n {{did-insert @onInsert}}\n ...attributes\n>\n {{yield}}\n</Hds::Text::Body>");
7
6
 
7
+ /**
8
+ * Copyright (c) HashiCorp, Inc.
9
+ * SPDX-License-Identifier: MPL-2.0
10
+ */
11
+
8
12
  class HdsCodeEditorDescription extends Component {
9
- constructor(...args) {
10
- super(...args);
11
- _defineProperty(this, "_id", `${this.args.editorId}-description`);
12
- }
13
+ _id = `${this.args.editorId}-description`;
13
14
  }
14
15
  setComponentTemplate(TEMPLATE, HdsCodeEditorDescription);
15
16
 
@@ -1 +1 @@
1
- {"version":3,"file":"description.js","sources":["../../../../src/components/hds/code-editor/description.hbs","../../../../src/components/hds/code-editor/description.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<Hds::Text::Body\\n id={{this._id}}\\n class=\\\"hds-code-editor__description\\\"\\n @tag=\\\"p\\\"\\n @size=\\\"100\\\"\\n {{did-insert @onInsert}}\\n ...attributes\\n>\\n {{yield}}\\n</Hds::Text::Body>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nimport type { HdsTextBodySignature } from '../text/body';\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"],"names":["HdsCodeEditorDescription","Component","constructor","args","_defineProperty","editorId","setComponentTemplate","TEMPLATE"],"mappings":";;;;;AACA,eAAe,kBAAkB,CAAC,+QAA+Q;;ACoBlS,MAAMA,wBAAwB,SAASC,SAAS,CAAoC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;AAAAC,IAAAA,eAAA,cACnF,CAAG,EAAA,IAAI,CAACD,IAAI,CAACE,QAAQ,CAAc,YAAA,CAAA,CAAA;AAAA;AACnD;AAACC,oBAAA,CAAAC,QAAA,EAFoBP,wBAAwB,CAAA;;;;"}
1
+ {"version":3,"file":"description.js","sources":["../../../../src/components/hds/code-editor/description.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nimport type { HdsTextBodySignature } from '../text/body';\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"],"names":["HdsCodeEditorDescription","Component","_id","args","editorId","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;;AAkBe,MAAMA,wBAAwB,SAASC,SAAS,CAAoC;AACzFC,EAAAA,GAAG,GAAG,CAAG,EAAA,IAAI,CAACC,IAAI,CAACC,QAAQ,CAAc,YAAA,CAAA;AACnD;AAACC,oBAAA,CAAAC,QAAA,EAFoBN,wBAAwB,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"full-screen-button.js","sources":["../../../../src/components/hds/code-editor/full-screen-button.hbs","../../../../src/components/hds/code-editor/full-screen-button.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<Hds::Button\\n class={{this.className}}\\n aria-pressed={{@isFullScreen}}\\n @isIconOnly={{true}}\\n @color=\\\"secondary\\\"\\n @size=\\\"small\\\"\\n @icon={{this.state}}\\n @text=\\\"Toggle full screen view\\\"\\n {{on \\\"click\\\" @onToggleFullScreen}}\\n ...attributes\\n/>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nimport type { HdsButtonSignature } from '../button';\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"],"names":["HdsCodeEditorFullScreenButton","Component","state","args","isFullScreen","className","classes","stateClass","push","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,yVAAyV;;ACD3X;AACA;AACA;AACA;;AAce,MAAMA,6BAA6B,SAASC,SAAS,CAAyC;EAC3G,IAAIC,KAAKA,GAA4B;IACnC,OAAO,IAAI,CAACC,IAAI,CAACC,YAAY,GAAG,UAAU,GAAG,UAAU;AACzD;EAEA,IAAIC,SAASA,GAAW;AACtB,IAAA,MAAMC,OAAO,GAAG,CACd,qCAAqC,EACrC,yBAAyB,CAC1B;AAED,IAAA,MAAMC,UAAU,GAAG,CAAA,qCAAA,EAAwC,IAAI,CAACL,KAAK,CAAE,CAAA;AAEvEI,IAAAA,OAAO,CAACE,IAAI,CAACD,UAAU,CAAC;AAExB,IAAA,OAAOD,OAAO,CAACG,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACC,oBAAA,CAAAC,QAAA,EAjBoBX,6BAA6B,CAAA;;;;"}
1
+ {"version":3,"file":"full-screen-button.js","sources":["../../../../src/components/hds/code-editor/full-screen-button.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nimport type { HdsButtonSignature } from '../button';\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"],"names":["HdsCodeEditorFullScreenButton","Component","state","args","isFullScreen","className","classes","stateClass","push","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;;AAce,MAAMA,6BAA6B,SAASC,SAAS,CAAyC;EAC3G,IAAIC,KAAKA,GAA4B;IACnC,OAAO,IAAI,CAACC,IAAI,CAACC,YAAY,GAAG,UAAU,GAAG,UAAU;AACzD;EAEA,IAAIC,SAASA,GAAW;AACtB,IAAA,MAAMC,OAAO,GAAG,CACd,qCAAqC,EACrC,yBAAyB,CAC1B;AAED,IAAA,MAAMC,UAAU,GAAG,CAAA,qCAAA,EAAwC,IAAI,CAACL,KAAK,CAAE,CAAA;AAEvEI,IAAAA,OAAO,CAACE,IAAI,CAACD,UAAU,CAAC;AAExB,IAAA,OAAOD,OAAO,CAACG,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACC,oBAAA,CAAAC,QAAA,EAjBoBX,6BAA6B,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"generic.js","sources":["../../../../src/components/hds/code-editor/generic.hbs","../../../../src/components/hds/code-editor/generic.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class=\\\"hds-code-editor__header-generic\\\" ...attributes>\\n {{yield}}\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nexport interface HdsCodeEditorGenericSignature {\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\n\nconst HdsCodeEditorGeneric =\n TemplateOnlyComponent<HdsCodeEditorGenericSignature>();\n\nexport default HdsCodeEditorGeneric;\n"],"names":["HdsCodeEditorGeneric","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,kKAAkK;;ACDpM;AACA;AACA;AACA;;AAWA,MAAMA,oBAAoB,GACxBC,qBAAqB,EAAiC;AAExD,cAAAC,oBAAA,CAAAC,QAAA,EAAeH,oBAAoB,CAAA;;;;"}
1
+ {"version":3,"file":"generic.js","sources":["../../../../src/components/hds/code-editor/generic.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nexport interface HdsCodeEditorGenericSignature {\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\n\nconst HdsCodeEditorGeneric =\n TemplateOnlyComponent<HdsCodeEditorGenericSignature>();\n\nexport default HdsCodeEditorGeneric;\n"],"names":["HdsCodeEditorGeneric","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;;AAWA,MAAMA,oBAAoB,GACxBC,qBAAqB,EAAiC;AAExD,cAAAC,oBAAA,CAAAC,QAAA,EAAeH,oBAAoB,CAAA;;;;"}
@@ -1,36 +1,59 @@
1
- import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty, a as _defineProperty } from '../../../_rollupPluginBabelHelpers-C_TsMG3M.js';
2
1
  import Component from '@glimmer/component';
3
2
  import { tracked } from '@glimmer/tracking';
4
3
  import { action } from '@ember/object';
5
4
  import { modifier } from 'ember-modifier';
6
5
  import { guidFor } from '@ember/object/internals';
7
6
  import { precompileTemplate } from '@ember/template-compilation';
7
+ import { g, i, n } from 'decorator-transforms/runtime';
8
8
  import { setComponentTemplate } from '@ember/component';
9
9
 
10
- var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<div\n id={{this._id}}\n class={{this.classNames}}\n {{! @glint-expect-error - https://github.com/josemarluedke/ember-focus-trap/issues/86 }}\n {{focus-trap 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 \"hds/code-editor/title\" editorId=this._id onInsert=this.registerTitleElement)\n Description=(component\n \"hds/code-editor/description\" editorId=this._id onInsert=this.registerDescriptionElement\n )\n Generic=(component \"hds/code-editor/generic\")\n )\n }}\n </div>\n\n {{#if this.hasActions}}\n <div class=\"hds-code-editor__header-actions\">\n {{#if @hasCopyButton}}\n <Hds::Copy::Button\n class=\"hds-code-editor__button hds-code-editor__copy-button\"\n @isIconOnly={{true}}\n @size=\"small\"\n @text=\"Copy\"\n @textToCopy={{this._value}}\n />\n {{/if}}\n {{#if @hasFullScreenButton}}\n <Hds::CodeEditor::FullScreenButton\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 {{hds-code-editor\n ariaDescribedBy=this.ariaDescribedBy\n ariaLabel=@ariaLabel\n ariaLabelledBy=this.ariaLabelledBy\n value=@value\n language=@language\n onBlur=@onBlur\n onInput=this.onInput\n onSetup=this.onSetup\n }}\n />\n\n {{! loader }}\n {{#unless this._isSetupComplete}}\n <div class=\"hds-code-editor__loader\" aria-live=\"polite\" role=\"status\">\n <Hds::Icon @name=\"loading\" @size=\"24\" />\n <span class=\"sr-only\">Loading</span>\n </div>\n {{/unless}}\n</div>");
10
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<div\n id={{this._id}}\n class={{this.classNames}}\n {{! @glint-expect-error - https://github.com/josemarluedke/ember-focus-trap/issues/86 }}\n {{focus-trap 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 \"hds/code-editor/title\" editorId=this._id onInsert=this.registerTitleElement)\n Description=(component\n \"hds/code-editor/description\" editorId=this._id onInsert=this.registerDescriptionElement\n )\n Generic=(component \"hds/code-editor/generic\")\n )\n }}\n </div>\n\n {{#if this.hasActions}}\n <div class=\"hds-code-editor__header-actions\">\n {{#if @hasCopyButton}}\n <Hds::Copy::Button\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 <Hds::CodeEditor::FullScreenButton\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 {{hds-code-editor\n ariaDescribedBy=this.ariaDescribedBy\n ariaLabel=@ariaLabel\n ariaLabelledBy=this.ariaLabelledBy\n hasLineWrapping=@hasLineWrapping\n language=@language\n value=@value\n onBlur=@onBlur\n onInput=this.onInput\n onSetup=this.onSetup\n }}\n />\n\n {{! loader }}\n {{#unless this._isSetupComplete}}\n <div class=\"hds-code-editor__loader\" aria-live=\"polite\" role=\"status\">\n <Hds::Icon @name=\"loading\" @size=\"24\" />\n <span class=\"sr-only\">Loading</span>\n </div>\n {{/unless}}\n</div>");
11
11
 
12
- var _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5;
13
- let HdsCodeEditor = (_class = class HdsCodeEditor extends Component {
12
+ /**
13
+ * Copyright (c) HashiCorp, Inc.
14
+ * SPDX-License-Identifier: MPL-2.0
15
+ */
16
+
17
+ class HdsCodeEditor extends Component {
18
+ static {
19
+ g(this.prototype, "_isFullScreen", [tracked], function () {
20
+ return false;
21
+ });
22
+ }
23
+ #_isFullScreen = (i(this, "_isFullScreen"), undefined);
24
+ static {
25
+ g(this.prototype, "_isSetupComplete", [tracked], function () {
26
+ return false;
27
+ });
28
+ }
29
+ #_isSetupComplete = (i(this, "_isSetupComplete"), undefined);
30
+ static {
31
+ g(this.prototype, "_value", [tracked]);
32
+ }
33
+ #_value = (i(this, "_value"), undefined);
34
+ static {
35
+ g(this.prototype, "_titleId", [tracked]);
36
+ }
37
+ #_titleId = (i(this, "_titleId"), undefined);
38
+ static {
39
+ g(this.prototype, "_descriptionId", [tracked]);
40
+ }
41
+ #_descriptionId = (i(this, "_descriptionId"), undefined);
42
+ _id = guidFor(this);
43
+ _handleEscape = modifier(() => {
44
+ const handleKeyDown = event => {
45
+ if (event.key !== 'Escape' || !this._isFullScreen) {
46
+ return;
47
+ }
48
+ this.toggleFullScreen();
49
+ };
50
+ document.addEventListener('keydown', handleKeyDown);
51
+ return () => {
52
+ document.removeEventListener('keydown', handleKeyDown);
53
+ };
54
+ });
14
55
  constructor(owner, args) {
15
56
  super(owner, args);
16
- _initializerDefineProperty(this, "_isFullScreen", _descriptor, this);
17
- _initializerDefineProperty(this, "_isSetupComplete", _descriptor2, this);
18
- _initializerDefineProperty(this, "_value", _descriptor3, this);
19
- _initializerDefineProperty(this, "_titleId", _descriptor4, this);
20
- _initializerDefineProperty(this, "_descriptionId", _descriptor5, this);
21
- _defineProperty(this, "_id", guidFor(this));
22
- _defineProperty(this, "_handleEscape", modifier(() => {
23
- const handleKeyDown = event => {
24
- if (event.key !== 'Escape' || !this._isFullScreen) {
25
- return;
26
- }
27
- this.toggleFullScreen();
28
- };
29
- document.addEventListener('keydown', handleKeyDown);
30
- return () => {
31
- document.removeEventListener('keydown', handleKeyDown);
32
- };
33
- }));
34
57
  if (args.value) {
35
58
  this._value = args.value;
36
59
  }
@@ -62,58 +85,50 @@ let HdsCodeEditor = (_class = class HdsCodeEditor extends Component {
62
85
  }
63
86
  return classes.join(' ');
64
87
  }
88
+ get copyButtonText() {
89
+ return this.args.copyButtonText ? this.args.copyButtonText : 'Copy';
90
+ }
65
91
  registerTitleElement(element) {
66
92
  this._titleId = element.id;
67
93
  }
94
+ static {
95
+ n(this.prototype, "registerTitleElement", [action]);
96
+ }
68
97
  registerDescriptionElement(element) {
69
98
  this._descriptionId = element.id;
70
99
  }
100
+ static {
101
+ n(this.prototype, "registerDescriptionElement", [action]);
102
+ }
71
103
  toggleFullScreen() {
72
104
  this._isFullScreen = !this._isFullScreen;
73
105
  }
106
+ static {
107
+ n(this.prototype, "toggleFullScreen", [action]);
108
+ }
74
109
  onInput(newValue) {
75
110
  this._value = newValue;
76
111
  this.args.onInput?.(newValue);
77
112
  }
113
+ static {
114
+ n(this.prototype, "onInput", [action]);
115
+ }
78
116
  onKeyDown(event) {
79
117
  if (event.key === 'Escape' && this._isFullScreen) {
80
118
  this.toggleFullScreen();
81
119
  }
82
120
  }
121
+ static {
122
+ n(this.prototype, "onKeyDown", [action]);
123
+ }
83
124
  onSetup(editorView) {
84
125
  this._isSetupComplete = true;
85
126
  this.args.onSetup?.(editorView);
86
127
  }
87
- }, _descriptor = _applyDecoratedDescriptor(_class.prototype, "_isFullScreen", [tracked], {
88
- configurable: true,
89
- enumerable: true,
90
- writable: true,
91
- initializer: function () {
92
- return false;
93
- }
94
- }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, "_isSetupComplete", [tracked], {
95
- configurable: true,
96
- enumerable: true,
97
- writable: true,
98
- initializer: function () {
99
- return false;
100
- }
101
- }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, "_value", [tracked], {
102
- configurable: true,
103
- enumerable: true,
104
- writable: true,
105
- initializer: null
106
- }), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, "_titleId", [tracked], {
107
- configurable: true,
108
- enumerable: true,
109
- writable: true,
110
- initializer: null
111
- }), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, "_descriptionId", [tracked], {
112
- configurable: true,
113
- enumerable: true,
114
- writable: true,
115
- initializer: null
116
- }), _applyDecoratedDescriptor(_class.prototype, "registerTitleElement", [action], Object.getOwnPropertyDescriptor(_class.prototype, "registerTitleElement"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "registerDescriptionElement", [action], Object.getOwnPropertyDescriptor(_class.prototype, "registerDescriptionElement"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "toggleFullScreen", [action], Object.getOwnPropertyDescriptor(_class.prototype, "toggleFullScreen"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onInput", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onInput"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onKeyDown", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onKeyDown"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onSetup", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onSetup"), _class.prototype), _class);
128
+ static {
129
+ n(this.prototype, "onSetup", [action]);
130
+ }
131
+ }
117
132
  setComponentTemplate(TEMPLATE, HdsCodeEditor);
118
133
 
119
134
  export { HdsCodeEditor as default };