@hashicorp/design-system-components 4.8.0 → 4.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (778) hide show
  1. package/README.md +0 -1
  2. package/declarations/components/hds/accordion/index.d.ts +4 -2
  3. package/declarations/components/hds/accordion/index.d.ts.map +1 -1
  4. package/declarations/components/hds/accordion/item/button.d.ts +3 -1
  5. package/declarations/components/hds/accordion/item/button.d.ts.map +1 -1
  6. package/declarations/components/hds/accordion/item/index.d.ts +9 -11
  7. package/declarations/components/hds/accordion/item/index.d.ts.map +1 -1
  8. package/declarations/components/hds/accordion/types.d.ts +10 -0
  9. package/declarations/components/hds/accordion/types.d.ts.map +1 -1
  10. package/declarations/components/hds/alert/description.d.ts +2 -2
  11. package/declarations/components/hds/alert/description.d.ts.map +1 -1
  12. package/declarations/components/hds/alert/index.d.ts +5 -5
  13. package/declarations/components/hds/alert/index.d.ts.map +1 -1
  14. package/declarations/components/hds/alert/title.d.ts +8 -3
  15. package/declarations/components/hds/alert/title.d.ts.map +1 -1
  16. package/declarations/components/hds/alert/types.d.ts +10 -0
  17. package/declarations/components/hds/alert/types.d.ts.map +1 -1
  18. package/declarations/components/hds/app-footer/copyright.d.ts +1 -1
  19. package/declarations/components/hds/app-footer/copyright.d.ts.map +1 -1
  20. package/declarations/components/hds/app-footer/index.d.ts +1 -1
  21. package/declarations/components/hds/app-footer/index.d.ts.map +1 -1
  22. package/declarations/components/hds/app-footer/item.d.ts +1 -1
  23. package/declarations/components/hds/app-footer/item.d.ts.map +1 -1
  24. package/declarations/components/hds/app-footer/legal-links.d.ts +1 -1
  25. package/declarations/components/hds/app-footer/legal-links.d.ts.map +1 -1
  26. package/declarations/components/hds/app-footer/link.d.ts +3 -3
  27. package/declarations/components/hds/app-footer/link.d.ts.map +1 -1
  28. package/declarations/components/hds/app-footer/status-link.d.ts +5 -10
  29. package/declarations/components/hds/app-footer/status-link.d.ts.map +1 -1
  30. package/declarations/components/hds/app-footer/types.d.ts +2 -2
  31. package/declarations/components/hds/app-footer/types.d.ts.map +1 -1
  32. package/declarations/components/hds/app-frame/index.d.ts +2 -29
  33. package/declarations/components/hds/app-frame/index.d.ts.map +1 -1
  34. package/declarations/components/hds/app-frame/parts/footer.d.ts +1 -1
  35. package/declarations/components/hds/app-frame/parts/footer.d.ts.map +1 -1
  36. package/declarations/components/hds/app-frame/parts/header.d.ts +1 -1
  37. package/declarations/components/hds/app-frame/parts/header.d.ts.map +1 -1
  38. package/declarations/components/hds/app-frame/parts/main.d.ts +1 -1
  39. package/declarations/components/hds/app-frame/parts/main.d.ts.map +1 -1
  40. package/declarations/components/hds/app-frame/parts/modals.d.ts +1 -1
  41. package/declarations/components/hds/app-frame/parts/modals.d.ts.map +1 -1
  42. package/declarations/components/hds/app-frame/parts/sidebar.d.ts +1 -1
  43. package/declarations/components/hds/app-frame/parts/sidebar.d.ts.map +1 -1
  44. package/declarations/components/hds/app-header/home-link.d.ts +3 -3
  45. package/declarations/components/hds/app-header/home-link.d.ts.map +1 -1
  46. package/declarations/components/hds/app-header/index.d.ts +12 -2
  47. package/declarations/components/hds/app-header/index.d.ts.map +1 -1
  48. package/declarations/components/hds/app-header/menu-button.d.ts +1 -1
  49. package/declarations/components/hds/app-header/menu-button.d.ts.map +1 -1
  50. package/declarations/components/hds/application-state/body.d.ts +2 -2
  51. package/declarations/components/hds/application-state/body.d.ts.map +1 -1
  52. package/declarations/components/hds/application-state/footer.d.ts +2 -2
  53. package/declarations/components/hds/application-state/footer.d.ts.map +1 -1
  54. package/declarations/components/hds/application-state/header.d.ts +6 -6
  55. package/declarations/components/hds/application-state/header.d.ts.map +1 -1
  56. package/declarations/components/hds/application-state/index.d.ts +1 -1
  57. package/declarations/components/hds/application-state/index.d.ts.map +1 -1
  58. package/declarations/components/hds/application-state/media.d.ts +2 -2
  59. package/declarations/components/hds/application-state/media.d.ts.map +1 -1
  60. package/declarations/components/hds/application-state/types.d.ts +14 -0
  61. package/declarations/components/hds/application-state/types.d.ts.map +1 -1
  62. package/declarations/components/hds/badge/index.d.ts +3 -11
  63. package/declarations/components/hds/badge/index.d.ts.map +1 -1
  64. package/declarations/components/hds/badge-count/index.d.ts +1 -1
  65. package/declarations/components/hds/badge-count/index.d.ts.map +1 -1
  66. package/declarations/components/hds/breadcrumb/index.d.ts +1 -1
  67. package/declarations/components/hds/breadcrumb/index.d.ts.map +1 -1
  68. package/declarations/components/hds/breadcrumb/item.d.ts +3 -3
  69. package/declarations/components/hds/breadcrumb/item.d.ts.map +1 -1
  70. package/declarations/components/hds/breadcrumb/truncation.d.ts +1 -1
  71. package/declarations/components/hds/breadcrumb/truncation.d.ts.map +1 -1
  72. package/declarations/components/hds/button/index.d.ts +5 -11
  73. package/declarations/components/hds/button/index.d.ts.map +1 -1
  74. package/declarations/components/hds/button-set/index.d.ts +2 -2
  75. package/declarations/components/hds/button-set/index.d.ts.map +1 -1
  76. package/declarations/components/hds/card/container.d.ts +1 -1
  77. package/declarations/components/hds/card/container.d.ts.map +1 -1
  78. package/declarations/components/hds/code-block/copy-button.d.ts +17 -1
  79. package/declarations/components/hds/code-block/copy-button.d.ts.map +1 -1
  80. package/declarations/components/hds/code-block/description.d.ts +14 -1
  81. package/declarations/components/hds/code-block/description.d.ts.map +1 -1
  82. package/declarations/components/hds/code-block/index.d.ts +48 -6
  83. package/declarations/components/hds/code-block/index.d.ts.map +1 -1
  84. package/declarations/components/hds/code-block/title.d.ts +19 -1
  85. package/declarations/components/hds/code-block/title.d.ts.map +1 -1
  86. package/declarations/components/hds/code-block/types.d.ts +26 -0
  87. package/declarations/components/hds/code-block/types.d.ts.map +1 -0
  88. package/declarations/components/hds/copy/button/index.d.ts +3 -3
  89. package/declarations/components/hds/copy/button/index.d.ts.map +1 -1
  90. package/declarations/components/hds/copy/snippet/index.d.ts +3 -3
  91. package/declarations/components/hds/copy/snippet/index.d.ts.map +1 -1
  92. package/declarations/components/hds/dialog-primitive/body.d.ts +2 -2
  93. package/declarations/components/hds/dialog-primitive/body.d.ts.map +1 -1
  94. package/declarations/components/hds/dialog-primitive/description.d.ts +2 -2
  95. package/declarations/components/hds/dialog-primitive/description.d.ts.map +1 -1
  96. package/declarations/components/hds/dialog-primitive/footer.d.ts +2 -2
  97. package/declarations/components/hds/dialog-primitive/footer.d.ts.map +1 -1
  98. package/declarations/components/hds/dialog-primitive/header.d.ts +7 -4
  99. package/declarations/components/hds/dialog-primitive/header.d.ts.map +1 -1
  100. package/declarations/components/hds/dialog-primitive/overlay.d.ts +2 -2
  101. package/declarations/components/hds/dialog-primitive/overlay.d.ts.map +1 -1
  102. package/declarations/components/hds/dialog-primitive/types.d.ts +15 -0
  103. package/declarations/components/hds/dialog-primitive/types.d.ts.map +1 -0
  104. package/declarations/components/hds/dialog-primitive/wrapper.d.ts +2 -2
  105. package/declarations/components/hds/dialog-primitive/wrapper.d.ts.map +1 -1
  106. package/declarations/components/hds/disclosure-primitive/index.d.ts +1 -1
  107. package/declarations/components/hds/disclosure-primitive/index.d.ts.map +1 -1
  108. package/declarations/components/hds/dismiss-button/index.d.ts +1 -1
  109. package/declarations/components/hds/dismiss-button/index.d.ts.map +1 -1
  110. package/declarations/components/hds/dropdown/footer.d.ts +2 -2
  111. package/declarations/components/hds/dropdown/footer.d.ts.map +1 -1
  112. package/declarations/components/hds/dropdown/header.d.ts +2 -2
  113. package/declarations/components/hds/dropdown/header.d.ts.map +1 -1
  114. package/declarations/components/hds/dropdown/index.d.ts +10 -1
  115. package/declarations/components/hds/dropdown/index.d.ts.map +1 -1
  116. package/declarations/components/hds/dropdown/list-item/checkbox.d.ts +3 -3
  117. package/declarations/components/hds/dropdown/list-item/checkbox.d.ts.map +1 -1
  118. package/declarations/components/hds/dropdown/list-item/checkmark.d.ts +3 -3
  119. package/declarations/components/hds/dropdown/list-item/checkmark.d.ts.map +1 -1
  120. package/declarations/components/hds/dropdown/list-item/copy-item.d.ts +1 -1
  121. package/declarations/components/hds/dropdown/list-item/copy-item.d.ts.map +1 -1
  122. package/declarations/components/hds/dropdown/list-item/description.d.ts +1 -1
  123. package/declarations/components/hds/dropdown/list-item/description.d.ts.map +1 -1
  124. package/declarations/components/hds/dropdown/list-item/generic.d.ts +2 -2
  125. package/declarations/components/hds/dropdown/list-item/generic.d.ts.map +1 -1
  126. package/declarations/components/hds/dropdown/list-item/interactive.d.ts +14 -20
  127. package/declarations/components/hds/dropdown/list-item/interactive.d.ts.map +1 -1
  128. package/declarations/components/hds/dropdown/list-item/radio.d.ts +3 -3
  129. package/declarations/components/hds/dropdown/list-item/radio.d.ts.map +1 -1
  130. package/declarations/components/hds/dropdown/list-item/separator.d.ts +2 -2
  131. package/declarations/components/hds/dropdown/list-item/separator.d.ts.map +1 -1
  132. package/declarations/components/hds/dropdown/list-item/title.d.ts +1 -1
  133. package/declarations/components/hds/dropdown/list-item/title.d.ts.map +1 -1
  134. package/declarations/components/hds/dropdown/toggle/button.d.ts +6 -10
  135. package/declarations/components/hds/dropdown/toggle/button.d.ts.map +1 -1
  136. package/declarations/components/hds/dropdown/toggle/chevron.d.ts +2 -2
  137. package/declarations/components/hds/dropdown/toggle/chevron.d.ts.map +1 -1
  138. package/declarations/components/hds/dropdown/toggle/icon.d.ts +7 -11
  139. package/declarations/components/hds/dropdown/toggle/icon.d.ts.map +1 -1
  140. package/declarations/components/hds/dropdown/types.d.ts +2 -0
  141. package/declarations/components/hds/dropdown/types.d.ts.map +1 -1
  142. package/declarations/components/hds/flyout/body.d.ts +1 -1
  143. package/declarations/components/hds/flyout/body.d.ts.map +1 -1
  144. package/declarations/components/hds/flyout/description.d.ts +1 -1
  145. package/declarations/components/hds/flyout/description.d.ts.map +1 -1
  146. package/declarations/components/hds/flyout/footer.d.ts +1 -1
  147. package/declarations/components/hds/flyout/footer.d.ts.map +1 -1
  148. package/declarations/components/hds/flyout/header.d.ts +3 -3
  149. package/declarations/components/hds/flyout/header.d.ts.map +1 -1
  150. package/declarations/components/hds/flyout/index.d.ts +2 -2
  151. package/declarations/components/hds/flyout/index.d.ts.map +1 -1
  152. package/declarations/components/hds/form/character-count/index.d.ts +1 -1
  153. package/declarations/components/hds/form/character-count/index.d.ts.map +1 -1
  154. package/declarations/components/hds/form/checkbox/base.d.ts +2 -2
  155. package/declarations/components/hds/form/checkbox/base.d.ts.map +1 -1
  156. package/declarations/components/hds/form/checkbox/field.d.ts +2 -2
  157. package/declarations/components/hds/form/checkbox/field.d.ts.map +1 -1
  158. package/declarations/components/hds/form/checkbox/group.d.ts +2 -2
  159. package/declarations/components/hds/form/checkbox/group.d.ts.map +1 -1
  160. package/declarations/components/hds/form/error/index.d.ts +1 -1
  161. package/declarations/components/hds/form/error/index.d.ts.map +1 -1
  162. package/declarations/components/hds/form/error/message.d.ts +2 -2
  163. package/declarations/components/hds/form/error/message.d.ts.map +1 -1
  164. package/declarations/components/hds/form/field/index.d.ts +1 -2
  165. package/declarations/components/hds/form/field/index.d.ts.map +1 -1
  166. package/declarations/components/hds/form/fieldset/index.d.ts +2 -2
  167. package/declarations/components/hds/form/fieldset/index.d.ts.map +1 -1
  168. package/declarations/components/hds/form/fieldset/types.d.ts +1 -1
  169. package/declarations/components/hds/form/fieldset/types.d.ts.map +1 -1
  170. package/declarations/components/hds/form/file-input/base.d.ts +2 -2
  171. package/declarations/components/hds/form/file-input/base.d.ts.map +1 -1
  172. package/declarations/components/hds/form/file-input/field.d.ts +2 -2
  173. package/declarations/components/hds/form/file-input/field.d.ts.map +1 -1
  174. package/declarations/components/hds/form/helper-text/index.d.ts +1 -1
  175. package/declarations/components/hds/form/helper-text/index.d.ts.map +1 -1
  176. package/declarations/components/hds/form/indicator/index.d.ts +1 -1
  177. package/declarations/components/hds/form/indicator/index.d.ts.map +1 -1
  178. package/declarations/components/hds/form/label/index.d.ts +1 -1
  179. package/declarations/components/hds/form/label/index.d.ts.map +1 -1
  180. package/declarations/components/hds/form/legend/index.d.ts +1 -1
  181. package/declarations/components/hds/form/legend/index.d.ts.map +1 -1
  182. package/declarations/components/hds/form/masked-input/base.d.ts +1 -1
  183. package/declarations/components/hds/form/masked-input/base.d.ts.map +1 -1
  184. package/declarations/components/hds/form/masked-input/field.d.ts +2 -2
  185. package/declarations/components/hds/form/masked-input/field.d.ts.map +1 -1
  186. package/declarations/components/hds/form/radio/base.d.ts +2 -2
  187. package/declarations/components/hds/form/radio/base.d.ts.map +1 -1
  188. package/declarations/components/hds/form/radio/field.d.ts +2 -2
  189. package/declarations/components/hds/form/radio/field.d.ts.map +1 -1
  190. package/declarations/components/hds/form/radio/group.d.ts +2 -2
  191. package/declarations/components/hds/form/radio/group.d.ts.map +1 -1
  192. package/declarations/components/hds/form/radio-card/description.d.ts +2 -2
  193. package/declarations/components/hds/form/radio-card/description.d.ts.map +1 -1
  194. package/declarations/components/hds/form/radio-card/group.d.ts +2 -2
  195. package/declarations/components/hds/form/radio-card/group.d.ts.map +1 -1
  196. package/declarations/components/hds/form/radio-card/index.d.ts +3 -3
  197. package/declarations/components/hds/form/radio-card/index.d.ts.map +1 -1
  198. package/declarations/components/hds/form/radio-card/label.d.ts +2 -2
  199. package/declarations/components/hds/form/radio-card/label.d.ts.map +1 -1
  200. package/declarations/components/hds/form/select/base.d.ts +1 -1
  201. package/declarations/components/hds/form/select/base.d.ts.map +1 -1
  202. package/declarations/components/hds/form/select/field.d.ts +2 -2
  203. package/declarations/components/hds/form/select/field.d.ts.map +1 -1
  204. package/declarations/components/hds/form/super-select/after-options.d.ts +19 -1
  205. package/declarations/components/hds/form/super-select/after-options.d.ts.map +1 -1
  206. package/declarations/components/hds/form/super-select/multiple/base.d.ts +33 -8
  207. package/declarations/components/hds/form/super-select/multiple/base.d.ts.map +1 -1
  208. package/declarations/components/hds/form/super-select/multiple/field.d.ts +16 -2
  209. package/declarations/components/hds/form/super-select/multiple/field.d.ts.map +1 -1
  210. package/declarations/components/hds/form/super-select/option-group.d.ts +17 -3
  211. package/declarations/components/hds/form/super-select/option-group.d.ts.map +1 -1
  212. package/declarations/components/hds/form/super-select/placeholder.d.ts +12 -1
  213. package/declarations/components/hds/form/super-select/placeholder.d.ts.map +1 -1
  214. package/declarations/components/hds/form/super-select/single/base.d.ts +43 -5
  215. package/declarations/components/hds/form/super-select/single/base.d.ts.map +1 -1
  216. package/declarations/components/hds/form/super-select/single/field.d.ts +16 -2
  217. package/declarations/components/hds/form/super-select/single/field.d.ts.map +1 -1
  218. package/declarations/components/hds/form/super-select/types.d.ts +13 -0
  219. package/declarations/components/hds/form/super-select/types.d.ts.map +1 -0
  220. package/declarations/components/hds/form/text-input/base.d.ts +1 -1
  221. package/declarations/components/hds/form/text-input/base.d.ts.map +1 -1
  222. package/declarations/components/hds/form/text-input/field.d.ts +1 -1
  223. package/declarations/components/hds/form/text-input/field.d.ts.map +1 -1
  224. package/declarations/components/hds/form/textarea/base.d.ts +1 -1
  225. package/declarations/components/hds/form/textarea/base.d.ts.map +1 -1
  226. package/declarations/components/hds/form/textarea/field.d.ts +2 -2
  227. package/declarations/components/hds/form/textarea/field.d.ts.map +1 -1
  228. package/declarations/components/hds/form/toggle/base.d.ts +2 -2
  229. package/declarations/components/hds/form/toggle/base.d.ts.map +1 -1
  230. package/declarations/components/hds/form/toggle/field.d.ts +2 -2
  231. package/declarations/components/hds/form/toggle/field.d.ts.map +1 -1
  232. package/declarations/components/hds/form/toggle/group.d.ts +2 -2
  233. package/declarations/components/hds/form/toggle/group.d.ts.map +1 -1
  234. package/declarations/components/hds/form/visibility-toggle/index.d.ts +2 -2
  235. package/declarations/components/hds/form/visibility-toggle/index.d.ts.map +1 -1
  236. package/declarations/components/hds/icon/index.d.ts +37 -0
  237. package/declarations/components/hds/icon/index.d.ts.map +1 -0
  238. package/declarations/components/hds/icon/types.d.ts +33 -0
  239. package/declarations/components/hds/icon/types.d.ts.map +1 -0
  240. package/declarations/components/hds/icon-tile/index.d.ts +8 -60
  241. package/declarations/components/hds/icon-tile/index.d.ts.map +1 -1
  242. package/declarations/components/hds/interactive/index.d.ts +1 -1
  243. package/declarations/components/hds/interactive/index.d.ts.map +1 -1
  244. package/declarations/components/hds/link/inline.d.ts +3 -3
  245. package/declarations/components/hds/link/inline.d.ts.map +1 -1
  246. package/declarations/components/hds/link/standalone.d.ts +5 -5
  247. package/declarations/components/hds/link/standalone.d.ts.map +1 -1
  248. package/declarations/components/hds/menu-primitive/index.d.ts +2 -1
  249. package/declarations/components/hds/menu-primitive/index.d.ts.map +1 -1
  250. package/declarations/components/hds/modal/body.d.ts +1 -1
  251. package/declarations/components/hds/modal/body.d.ts.map +1 -1
  252. package/declarations/components/hds/modal/footer.d.ts +1 -1
  253. package/declarations/components/hds/modal/footer.d.ts.map +1 -1
  254. package/declarations/components/hds/modal/header.d.ts +3 -3
  255. package/declarations/components/hds/modal/header.d.ts.map +1 -1
  256. package/declarations/components/hds/modal/index.d.ts +2 -2
  257. package/declarations/components/hds/modal/index.d.ts.map +1 -1
  258. package/declarations/components/hds/page-header/actions.d.ts +2 -2
  259. package/declarations/components/hds/page-header/actions.d.ts.map +1 -1
  260. package/declarations/components/hds/page-header/badges.d.ts +2 -2
  261. package/declarations/components/hds/page-header/badges.d.ts.map +1 -1
  262. package/declarations/components/hds/page-header/description.d.ts +2 -2
  263. package/declarations/components/hds/page-header/description.d.ts.map +1 -1
  264. package/declarations/components/hds/page-header/index.d.ts +2 -2
  265. package/declarations/components/hds/page-header/index.d.ts.map +1 -1
  266. package/declarations/components/hds/page-header/subtitle.d.ts +2 -2
  267. package/declarations/components/hds/page-header/subtitle.d.ts.map +1 -1
  268. package/declarations/components/hds/page-header/title.d.ts +2 -2
  269. package/declarations/components/hds/page-header/title.d.ts.map +1 -1
  270. package/declarations/components/hds/pagination/compact/index.d.ts +43 -31
  271. package/declarations/components/hds/pagination/compact/index.d.ts.map +1 -1
  272. package/declarations/components/hds/pagination/info/index.d.ts +18 -8
  273. package/declarations/components/hds/pagination/info/index.d.ts.map +1 -1
  274. package/declarations/components/hds/pagination/nav/arrow.d.ts +27 -20
  275. package/declarations/components/hds/pagination/nav/arrow.d.ts.map +1 -1
  276. package/declarations/components/hds/pagination/nav/ellipsis.d.ts +6 -1
  277. package/declarations/components/hds/pagination/nav/ellipsis.d.ts.map +1 -1
  278. package/declarations/components/hds/pagination/nav/number.d.ts +18 -9
  279. package/declarations/components/hds/pagination/nav/number.d.ts.map +1 -1
  280. package/declarations/components/hds/pagination/numbered/index.d.ts +64 -43
  281. package/declarations/components/hds/pagination/numbered/index.d.ts.map +1 -1
  282. package/declarations/components/hds/pagination/size-selector/index.d.ts +19 -27
  283. package/declarations/components/hds/pagination/size-selector/index.d.ts.map +1 -1
  284. package/declarations/components/hds/pagination/types.d.ts +25 -0
  285. package/declarations/components/hds/pagination/types.d.ts.map +1 -0
  286. package/declarations/components/hds/popover-primitive/index.d.ts +1 -1
  287. package/declarations/components/hds/popover-primitive/index.d.ts.map +1 -1
  288. package/declarations/components/hds/reveal/index.d.ts +1 -1
  289. package/declarations/components/hds/reveal/index.d.ts.map +1 -1
  290. package/declarations/components/hds/reveal/toggle/button.d.ts +1 -1
  291. package/declarations/components/hds/reveal/toggle/button.d.ts.map +1 -1
  292. package/declarations/components/hds/rich-tooltip/bubble.d.ts +1 -1
  293. package/declarations/components/hds/rich-tooltip/bubble.d.ts.map +1 -1
  294. package/declarations/components/hds/rich-tooltip/index.d.ts +1 -1
  295. package/declarations/components/hds/rich-tooltip/index.d.ts.map +1 -1
  296. package/declarations/components/hds/rich-tooltip/toggle.d.ts +3 -3
  297. package/declarations/components/hds/rich-tooltip/toggle.d.ts.map +1 -1
  298. package/declarations/components/hds/segmented-group/index.d.ts +2 -2
  299. package/declarations/components/hds/segmented-group/index.d.ts.map +1 -1
  300. package/declarations/components/hds/separator/index.d.ts +1 -1
  301. package/declarations/components/hds/separator/index.d.ts.map +1 -1
  302. package/declarations/components/hds/side-nav/base.d.ts +2 -2
  303. package/declarations/components/hds/side-nav/base.d.ts.map +1 -1
  304. package/declarations/components/hds/side-nav/header/home-link.d.ts +3 -3
  305. package/declarations/components/hds/side-nav/header/home-link.d.ts.map +1 -1
  306. package/declarations/components/hds/side-nav/header/icon-button.d.ts +4 -8
  307. package/declarations/components/hds/side-nav/header/icon-button.d.ts.map +1 -1
  308. package/declarations/components/hds/side-nav/header/index.d.ts +2 -2
  309. package/declarations/components/hds/side-nav/header/index.d.ts.map +1 -1
  310. package/declarations/components/hds/side-nav/index.d.ts +2 -2
  311. package/declarations/components/hds/side-nav/index.d.ts.map +1 -1
  312. package/declarations/components/hds/side-nav/list/back-link.d.ts +2 -2
  313. package/declarations/components/hds/side-nav/list/back-link.d.ts.map +1 -1
  314. package/declarations/components/hds/side-nav/list/index.d.ts +2 -2
  315. package/declarations/components/hds/side-nav/list/index.d.ts.map +1 -1
  316. package/declarations/components/hds/side-nav/list/item.d.ts +2 -2
  317. package/declarations/components/hds/side-nav/list/item.d.ts.map +1 -1
  318. package/declarations/components/hds/side-nav/list/link.d.ts +4 -4
  319. package/declarations/components/hds/side-nav/list/link.d.ts.map +1 -1
  320. package/declarations/components/hds/side-nav/list/title.d.ts +2 -2
  321. package/declarations/components/hds/side-nav/list/title.d.ts.map +1 -1
  322. package/declarations/components/hds/side-nav/portal/index.d.ts +1 -1
  323. package/declarations/components/hds/side-nav/portal/index.d.ts.map +1 -1
  324. package/declarations/components/hds/side-nav/portal/target.d.ts +1 -1
  325. package/declarations/components/hds/side-nav/portal/target.d.ts.map +1 -1
  326. package/declarations/components/hds/side-nav/toggle-button.d.ts +4 -4
  327. package/declarations/components/hds/side-nav/toggle-button.d.ts.map +1 -1
  328. package/declarations/components/hds/stepper/step/indicator.d.ts +1 -1
  329. package/declarations/components/hds/stepper/step/indicator.d.ts.map +1 -1
  330. package/declarations/components/hds/stepper/task/indicator.d.ts +4 -4
  331. package/declarations/components/hds/stepper/task/indicator.d.ts.map +1 -1
  332. package/declarations/components/hds/stepper/types.d.ts +2 -2
  333. package/declarations/components/hds/stepper/types.d.ts.map +1 -1
  334. package/declarations/components/hds/table/index.d.ts +76 -67
  335. package/declarations/components/hds/table/index.d.ts.map +1 -1
  336. package/declarations/components/hds/table/td.d.ts +20 -4
  337. package/declarations/components/hds/table/td.d.ts.map +1 -1
  338. package/declarations/components/hds/table/th-button-sort.d.ts +19 -7
  339. package/declarations/components/hds/table/th-button-sort.d.ts.map +1 -1
  340. package/declarations/components/hds/table/th-button-tooltip.d.ts +14 -3
  341. package/declarations/components/hds/table/th-button-tooltip.d.ts.map +1 -1
  342. package/declarations/components/hds/table/th-selectable.d.ts +26 -8
  343. package/declarations/components/hds/table/th-selectable.d.ts.map +1 -1
  344. package/declarations/components/hds/table/th-sort.d.ts +27 -7
  345. package/declarations/components/hds/table/th-sort.d.ts.map +1 -1
  346. package/declarations/components/hds/table/th.d.ts +25 -5
  347. package/declarations/components/hds/table/th.d.ts.map +1 -1
  348. package/declarations/components/hds/table/tr.d.ts +34 -4
  349. package/declarations/components/hds/table/tr.d.ts.map +1 -1
  350. package/declarations/components/hds/table/types.d.ts +79 -0
  351. package/declarations/components/hds/table/types.d.ts.map +1 -0
  352. package/declarations/components/hds/tabs/index.d.ts +1 -1
  353. package/declarations/components/hds/tabs/index.d.ts.map +1 -1
  354. package/declarations/components/hds/tabs/panel.d.ts +1 -1
  355. package/declarations/components/hds/tabs/panel.d.ts.map +1 -1
  356. package/declarations/components/hds/tabs/tab.d.ts +1 -1
  357. package/declarations/components/hds/tabs/tab.d.ts.map +1 -1
  358. package/declarations/components/hds/tag/index.d.ts +1 -1
  359. package/declarations/components/hds/tag/index.d.ts.map +1 -1
  360. package/declarations/components/hds/text/body.d.ts +1 -1
  361. package/declarations/components/hds/text/body.d.ts.map +1 -1
  362. package/declarations/components/hds/text/code.d.ts +1 -1
  363. package/declarations/components/hds/text/code.d.ts.map +1 -1
  364. package/declarations/components/hds/text/display.d.ts +1 -1
  365. package/declarations/components/hds/text/display.d.ts.map +1 -1
  366. package/declarations/components/hds/text/index.d.ts +1 -1
  367. package/declarations/components/hds/text/index.d.ts.map +1 -1
  368. package/declarations/components/hds/toast/index.d.ts +2 -2
  369. package/declarations/components/hds/toast/index.d.ts.map +1 -1
  370. package/declarations/components/hds/tooltip-button/index.d.ts +23 -5
  371. package/declarations/components/hds/tooltip-button/index.d.ts.map +1 -1
  372. package/declarations/components/hds/tooltip-button/types.d.ts +20 -0
  373. package/declarations/components/hds/tooltip-button/types.d.ts.map +1 -0
  374. package/declarations/components/hds/yield/index.d.ts +2 -2
  375. package/declarations/components/hds/yield/index.d.ts.map +1 -1
  376. package/declarations/components.d.ts +196 -96
  377. package/declarations/components.d.ts.map +1 -1
  378. package/declarations/template-registry.d.ts +93 -9
  379. package/declarations/template-registry.d.ts.map +1 -1
  380. package/declarations/utils/hds-aria-described-by.d.ts +2 -2
  381. package/declarations/utils/hds-aria-described-by.d.ts.map +1 -1
  382. package/dist/README.md +0 -1
  383. package/dist/_app_/components/hds/icon/index.js +1 -0
  384. package/dist/components/hds/accordion/index.js +8 -4
  385. package/dist/components/hds/accordion/index.js.map +1 -1
  386. package/dist/components/hds/accordion/item/button.js +4 -4
  387. package/dist/components/hds/accordion/item/button.js.map +1 -1
  388. package/dist/components/hds/accordion/item/index.js +14 -12
  389. package/dist/components/hds/accordion/item/index.js.map +1 -1
  390. package/dist/components/hds/accordion/types.js +11 -1
  391. package/dist/components/hds/accordion/types.js.map +1 -1
  392. package/dist/components/hds/alert/description.js +2 -2
  393. package/dist/components/hds/alert/description.js.map +1 -1
  394. package/dist/components/hds/alert/index.js +5 -5
  395. package/dist/components/hds/alert/index.js.map +1 -1
  396. package/dist/components/hds/alert/title.js +10 -5
  397. package/dist/components/hds/alert/title.js.map +1 -1
  398. package/dist/components/hds/alert/types.js +11 -1
  399. package/dist/components/hds/alert/types.js.map +1 -1
  400. package/dist/components/hds/app-footer/copyright.js +4 -4
  401. package/dist/components/hds/app-footer/copyright.js.map +1 -1
  402. package/dist/components/hds/app-footer/index.js +3 -3
  403. package/dist/components/hds/app-footer/index.js.map +1 -1
  404. package/dist/components/hds/app-footer/item.js +3 -3
  405. package/dist/components/hds/app-footer/item.js.map +1 -1
  406. package/dist/components/hds/app-footer/legal-links.js +3 -3
  407. package/dist/components/hds/app-footer/legal-links.js.map +1 -1
  408. package/dist/components/hds/app-footer/link.js +3 -3
  409. package/dist/components/hds/app-footer/link.js.map +1 -1
  410. package/dist/components/hds/app-footer/status-link.js +4 -13
  411. package/dist/components/hds/app-footer/status-link.js.map +1 -1
  412. package/dist/components/hds/app-footer/types.js.map +1 -1
  413. package/dist/components/hds/app-frame/index.js +17 -32
  414. package/dist/components/hds/app-frame/index.js.map +1 -1
  415. package/dist/components/hds/app-frame/parts/footer.js +3 -3
  416. package/dist/components/hds/app-frame/parts/footer.js.map +1 -1
  417. package/dist/components/hds/app-frame/parts/header.js +3 -3
  418. package/dist/components/hds/app-frame/parts/header.js.map +1 -1
  419. package/dist/components/hds/app-frame/parts/main.js +4 -4
  420. package/dist/components/hds/app-frame/parts/main.js.map +1 -1
  421. package/dist/components/hds/app-frame/parts/modals.js +3 -3
  422. package/dist/components/hds/app-frame/parts/modals.js.map +1 -1
  423. package/dist/components/hds/app-frame/parts/sidebar.js +3 -3
  424. package/dist/components/hds/app-frame/parts/sidebar.js.map +1 -1
  425. package/dist/components/hds/app-header/home-link.js +4 -4
  426. package/dist/components/hds/app-header/home-link.js.map +1 -1
  427. package/dist/components/hds/app-header/index.js +35 -11
  428. package/dist/components/hds/app-header/index.js.map +1 -1
  429. package/dist/components/hds/app-header/menu-button.js +3 -3
  430. package/dist/components/hds/app-header/menu-button.js.map +1 -1
  431. package/dist/components/hds/application-state/body.js +2 -2
  432. package/dist/components/hds/application-state/body.js.map +1 -1
  433. package/dist/components/hds/application-state/footer.js +2 -2
  434. package/dist/components/hds/application-state/footer.js.map +1 -1
  435. package/dist/components/hds/application-state/header.js +6 -5
  436. package/dist/components/hds/application-state/header.js.map +1 -1
  437. package/dist/components/hds/application-state/index.js +3 -3
  438. package/dist/components/hds/application-state/index.js.map +1 -1
  439. package/dist/components/hds/application-state/media.js +2 -2
  440. package/dist/components/hds/application-state/media.js.map +1 -1
  441. package/dist/components/hds/application-state/types.js +16 -1
  442. package/dist/components/hds/application-state/types.js.map +1 -1
  443. package/dist/components/hds/badge/index.js +5 -16
  444. package/dist/components/hds/badge/index.js.map +1 -1
  445. package/dist/components/hds/badge-count/index.js +3 -3
  446. package/dist/components/hds/badge-count/index.js.map +1 -1
  447. package/dist/components/hds/breadcrumb/index.js +3 -3
  448. package/dist/components/hds/breadcrumb/index.js.map +1 -1
  449. package/dist/components/hds/breadcrumb/item.js +4 -4
  450. package/dist/components/hds/breadcrumb/item.js.map +1 -1
  451. package/dist/components/hds/breadcrumb/truncation.js +4 -4
  452. package/dist/components/hds/breadcrumb/truncation.js.map +1 -1
  453. package/dist/components/hds/button/index.js +4 -11
  454. package/dist/components/hds/button/index.js.map +1 -1
  455. package/dist/components/hds/button-set/index.js +2 -2
  456. package/dist/components/hds/button-set/index.js.map +1 -1
  457. package/dist/components/hds/card/container.js +3 -3
  458. package/dist/components/hds/card/container.js.map +1 -1
  459. package/dist/components/hds/code-block/copy-button.js +8 -2
  460. package/dist/components/hds/code-block/copy-button.js.map +1 -1
  461. package/dist/components/hds/code-block/description.js +8 -2
  462. package/dist/components/hds/code-block/description.js.map +1 -1
  463. package/dist/components/hds/code-block/index.js +12 -10
  464. package/dist/components/hds/code-block/index.js.map +1 -1
  465. package/dist/components/hds/code-block/title.js +14 -4
  466. package/dist/components/hds/code-block/title.js.map +1 -1
  467. package/dist/components/hds/code-block/types.js +29 -0
  468. package/dist/components/hds/code-block/types.js.map +1 -0
  469. package/dist/components/hds/copy/button/index.js +3 -3
  470. package/dist/components/hds/copy/button/index.js.map +1 -1
  471. package/dist/components/hds/copy/snippet/index.js +4 -4
  472. package/dist/components/hds/copy/snippet/index.js.map +1 -1
  473. package/dist/components/hds/dialog-primitive/body.js +2 -2
  474. package/dist/components/hds/dialog-primitive/body.js.map +1 -1
  475. package/dist/components/hds/dialog-primitive/description.js +2 -2
  476. package/dist/components/hds/dialog-primitive/description.js.map +1 -1
  477. package/dist/components/hds/dialog-primitive/footer.js +2 -2
  478. package/dist/components/hds/dialog-primitive/footer.js.map +1 -1
  479. package/dist/components/hds/dialog-primitive/header.js +9 -4
  480. package/dist/components/hds/dialog-primitive/header.js.map +1 -1
  481. package/dist/components/hds/dialog-primitive/overlay.js +2 -2
  482. package/dist/components/hds/dialog-primitive/overlay.js.map +1 -1
  483. package/dist/components/hds/dialog-primitive/types.js +18 -0
  484. package/dist/components/hds/dialog-primitive/types.js.map +1 -0
  485. package/dist/components/hds/dialog-primitive/wrapper.js +2 -2
  486. package/dist/components/hds/dialog-primitive/wrapper.js.map +1 -1
  487. package/dist/components/hds/disclosure-primitive/index.js +3 -3
  488. package/dist/components/hds/disclosure-primitive/index.js.map +1 -1
  489. package/dist/components/hds/dismiss-button/index.js +4 -4
  490. package/dist/components/hds/dismiss-button/index.js.map +1 -1
  491. package/dist/components/hds/dropdown/footer.js +2 -2
  492. package/dist/components/hds/dropdown/footer.js.map +1 -1
  493. package/dist/components/hds/dropdown/header.js +2 -2
  494. package/dist/components/hds/dropdown/header.js.map +1 -1
  495. package/dist/components/hds/dropdown/index.js +19 -5
  496. package/dist/components/hds/dropdown/index.js.map +1 -1
  497. package/dist/components/hds/dropdown/list-item/checkbox.js +4 -4
  498. package/dist/components/hds/dropdown/list-item/checkbox.js.map +1 -1
  499. package/dist/components/hds/dropdown/list-item/checkmark.js +4 -4
  500. package/dist/components/hds/dropdown/list-item/checkmark.js.map +1 -1
  501. package/dist/components/hds/dropdown/list-item/copy-item.js +3 -3
  502. package/dist/components/hds/dropdown/list-item/copy-item.js.map +1 -1
  503. package/dist/components/hds/dropdown/list-item/description.js +3 -3
  504. package/dist/components/hds/dropdown/list-item/description.js.map +1 -1
  505. package/dist/components/hds/dropdown/list-item/generic.js +2 -2
  506. package/dist/components/hds/dropdown/list-item/generic.js.map +1 -1
  507. package/dist/components/hds/dropdown/list-item/interactive.js +20 -23
  508. package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -1
  509. package/dist/components/hds/dropdown/list-item/radio.js +4 -4
  510. package/dist/components/hds/dropdown/list-item/radio.js.map +1 -1
  511. package/dist/components/hds/dropdown/list-item/separator.js +2 -2
  512. package/dist/components/hds/dropdown/list-item/separator.js.map +1 -1
  513. package/dist/components/hds/dropdown/list-item/title.js +3 -3
  514. package/dist/components/hds/dropdown/list-item/title.js.map +1 -1
  515. package/dist/components/hds/dropdown/toggle/button.js +4 -24
  516. package/dist/components/hds/dropdown/toggle/button.js.map +1 -1
  517. package/dist/components/hds/dropdown/toggle/chevron.js +3 -3
  518. package/dist/components/hds/dropdown/toggle/chevron.js.map +1 -1
  519. package/dist/components/hds/dropdown/toggle/icon.js +4 -24
  520. package/dist/components/hds/dropdown/toggle/icon.js.map +1 -1
  521. package/dist/components/hds/dropdown/types.js +8 -1
  522. package/dist/components/hds/dropdown/types.js.map +1 -1
  523. package/dist/components/hds/flyout/body.js +3 -3
  524. package/dist/components/hds/flyout/body.js.map +1 -1
  525. package/dist/components/hds/flyout/description.js +3 -3
  526. package/dist/components/hds/flyout/description.js.map +1 -1
  527. package/dist/components/hds/flyout/footer.js +3 -3
  528. package/dist/components/hds/flyout/footer.js.map +1 -1
  529. package/dist/components/hds/flyout/header.js +4 -4
  530. package/dist/components/hds/flyout/header.js.map +1 -1
  531. package/dist/components/hds/flyout/index.js +4 -4
  532. package/dist/components/hds/flyout/index.js.map +1 -1
  533. package/dist/components/hds/form/character-count/index.js +3 -3
  534. package/dist/components/hds/form/character-count/index.js.map +1 -1
  535. package/dist/components/hds/form/checkbox/base.js +2 -2
  536. package/dist/components/hds/form/checkbox/base.js.map +1 -1
  537. package/dist/components/hds/form/checkbox/field.js +2 -2
  538. package/dist/components/hds/form/checkbox/field.js.map +1 -1
  539. package/dist/components/hds/form/checkbox/group.js +2 -2
  540. package/dist/components/hds/form/checkbox/group.js.map +1 -1
  541. package/dist/components/hds/form/error/index.js +4 -4
  542. package/dist/components/hds/form/error/index.js.map +1 -1
  543. package/dist/components/hds/form/error/message.js +2 -2
  544. package/dist/components/hds/form/error/message.js.map +1 -1
  545. package/dist/components/hds/form/field/index.js +4 -4
  546. package/dist/components/hds/form/field/index.js.map +1 -1
  547. package/dist/components/hds/form/fieldset/index.js +4 -4
  548. package/dist/components/hds/form/fieldset/index.js.map +1 -1
  549. package/dist/components/hds/form/fieldset/types.js +1 -1
  550. package/dist/components/hds/form/fieldset/types.js.map +1 -1
  551. package/dist/components/hds/form/file-input/base.js +2 -2
  552. package/dist/components/hds/form/file-input/base.js.map +1 -1
  553. package/dist/components/hds/form/file-input/field.js +2 -2
  554. package/dist/components/hds/form/file-input/field.js.map +1 -1
  555. package/dist/components/hds/form/helper-text/index.js +3 -3
  556. package/dist/components/hds/form/helper-text/index.js.map +1 -1
  557. package/dist/components/hds/form/indicator/index.js +3 -3
  558. package/dist/components/hds/form/indicator/index.js.map +1 -1
  559. package/dist/components/hds/form/label/index.js +3 -3
  560. package/dist/components/hds/form/label/index.js.map +1 -1
  561. package/dist/components/hds/form/legend/index.js +3 -3
  562. package/dist/components/hds/form/legend/index.js.map +1 -1
  563. package/dist/components/hds/form/masked-input/base.js +3 -3
  564. package/dist/components/hds/form/masked-input/base.js.map +1 -1
  565. package/dist/components/hds/form/masked-input/field.js +2 -2
  566. package/dist/components/hds/form/masked-input/field.js.map +1 -1
  567. package/dist/components/hds/form/radio/base.js +2 -2
  568. package/dist/components/hds/form/radio/base.js.map +1 -1
  569. package/dist/components/hds/form/radio/field.js +2 -2
  570. package/dist/components/hds/form/radio/field.js.map +1 -1
  571. package/dist/components/hds/form/radio/group.js +2 -2
  572. package/dist/components/hds/form/radio/group.js.map +1 -1
  573. package/dist/components/hds/form/radio-card/description.js +2 -2
  574. package/dist/components/hds/form/radio-card/description.js.map +1 -1
  575. package/dist/components/hds/form/radio-card/group.js +3 -3
  576. package/dist/components/hds/form/radio-card/group.js.map +1 -1
  577. package/dist/components/hds/form/radio-card/index.js +4 -4
  578. package/dist/components/hds/form/radio-card/index.js.map +1 -1
  579. package/dist/components/hds/form/radio-card/label.js +2 -2
  580. package/dist/components/hds/form/radio-card/label.js.map +1 -1
  581. package/dist/components/hds/form/select/base.js +3 -3
  582. package/dist/components/hds/form/select/base.js.map +1 -1
  583. package/dist/components/hds/form/select/field.js +2 -2
  584. package/dist/components/hds/form/select/field.js.map +1 -1
  585. package/dist/components/hds/form/super-select/after-options.js +8 -2
  586. package/dist/components/hds/form/super-select/after-options.js.map +1 -1
  587. package/dist/components/hds/form/super-select/multiple/base.js +25 -17
  588. package/dist/components/hds/form/super-select/multiple/base.js.map +1 -1
  589. package/dist/components/hds/form/super-select/multiple/field.js +5 -5
  590. package/dist/components/hds/form/super-select/multiple/field.js.map +1 -1
  591. package/dist/components/hds/form/super-select/option-group.js +4 -4
  592. package/dist/components/hds/form/super-select/option-group.js.map +1 -1
  593. package/dist/components/hds/form/super-select/placeholder.js +8 -2
  594. package/dist/components/hds/form/super-select/placeholder.js.map +1 -1
  595. package/dist/components/hds/form/super-select/single/base.js +56 -17
  596. package/dist/components/hds/form/super-select/single/base.js.map +1 -1
  597. package/dist/components/hds/form/super-select/single/field.js +5 -5
  598. package/dist/components/hds/form/super-select/single/field.js.map +1 -1
  599. package/dist/components/hds/form/super-select/types.js +20 -0
  600. package/dist/components/hds/form/super-select/types.js.map +1 -0
  601. package/dist/components/hds/form/text-input/base.js +3 -3
  602. package/dist/components/hds/form/text-input/base.js.map +1 -1
  603. package/dist/components/hds/form/text-input/field.js +3 -3
  604. package/dist/components/hds/form/text-input/field.js.map +1 -1
  605. package/dist/components/hds/form/textarea/base.js +3 -3
  606. package/dist/components/hds/form/textarea/base.js.map +1 -1
  607. package/dist/components/hds/form/textarea/field.js +2 -2
  608. package/dist/components/hds/form/textarea/field.js.map +1 -1
  609. package/dist/components/hds/form/toggle/base.js +2 -2
  610. package/dist/components/hds/form/toggle/base.js.map +1 -1
  611. package/dist/components/hds/form/toggle/field.js +2 -2
  612. package/dist/components/hds/form/toggle/field.js.map +1 -1
  613. package/dist/components/hds/form/toggle/group.js +2 -2
  614. package/dist/components/hds/form/toggle/group.js.map +1 -1
  615. package/dist/components/hds/form/visibility-toggle/index.js +3 -3
  616. package/dist/components/hds/form/visibility-toggle/index.js.map +1 -1
  617. package/dist/components/hds/icon/index.js +89 -0
  618. package/dist/components/hds/icon/index.js.map +1 -0
  619. package/dist/components/hds/icon/types.js +36 -0
  620. package/dist/components/hds/icon/types.js.map +1 -0
  621. package/dist/components/hds/icon-tile/index.js +13 -64
  622. package/dist/components/hds/icon-tile/index.js.map +1 -1
  623. package/dist/components/hds/interactive/index.js +3 -3
  624. package/dist/components/hds/interactive/index.js.map +1 -1
  625. package/dist/components/hds/link/inline.js +4 -4
  626. package/dist/components/hds/link/inline.js.map +1 -1
  627. package/dist/components/hds/link/standalone.js +4 -4
  628. package/dist/components/hds/link/standalone.js.map +1 -1
  629. package/dist/components/hds/menu-primitive/index.js +16 -6
  630. package/dist/components/hds/menu-primitive/index.js.map +1 -1
  631. package/dist/components/hds/modal/body.js +3 -3
  632. package/dist/components/hds/modal/body.js.map +1 -1
  633. package/dist/components/hds/modal/footer.js +3 -3
  634. package/dist/components/hds/modal/footer.js.map +1 -1
  635. package/dist/components/hds/modal/header.js +4 -4
  636. package/dist/components/hds/modal/header.js.map +1 -1
  637. package/dist/components/hds/modal/index.js +4 -4
  638. package/dist/components/hds/modal/index.js.map +1 -1
  639. package/dist/components/hds/page-header/actions.js +2 -2
  640. package/dist/components/hds/page-header/actions.js.map +1 -1
  641. package/dist/components/hds/page-header/badges.js +2 -2
  642. package/dist/components/hds/page-header/badges.js.map +1 -1
  643. package/dist/components/hds/page-header/description.js +2 -2
  644. package/dist/components/hds/page-header/description.js.map +1 -1
  645. package/dist/components/hds/page-header/index.js +2 -2
  646. package/dist/components/hds/page-header/index.js.map +1 -1
  647. package/dist/components/hds/page-header/subtitle.js +2 -2
  648. package/dist/components/hds/page-header/subtitle.js.map +1 -1
  649. package/dist/components/hds/page-header/title.js +2 -2
  650. package/dist/components/hds/page-header/title.js.map +1 -1
  651. package/dist/components/hds/pagination/compact/index.js +18 -28
  652. package/dist/components/hds/pagination/compact/index.js.map +1 -1
  653. package/dist/components/hds/pagination/info/index.js +4 -9
  654. package/dist/components/hds/pagination/info/index.js.map +1 -1
  655. package/dist/components/hds/pagination/nav/arrow.js +21 -36
  656. package/dist/components/hds/pagination/nav/arrow.js.map +1 -1
  657. package/dist/components/hds/pagination/nav/ellipsis.js +7 -2
  658. package/dist/components/hds/pagination/nav/ellipsis.js.map +1 -1
  659. package/dist/components/hds/pagination/nav/number.js +7 -13
  660. package/dist/components/hds/pagination/nav/number.js.map +1 -1
  661. package/dist/components/hds/pagination/numbered/index.js +43 -44
  662. package/dist/components/hds/pagination/numbered/index.js.map +1 -1
  663. package/dist/components/hds/pagination/size-selector/index.js +10 -32
  664. package/dist/components/hds/pagination/size-selector/index.js.map +1 -1
  665. package/dist/components/hds/pagination/types.js +23 -0
  666. package/dist/components/hds/pagination/types.js.map +1 -0
  667. package/dist/components/hds/popover-primitive/index.js +3 -3
  668. package/dist/components/hds/popover-primitive/index.js.map +1 -1
  669. package/dist/components/hds/reveal/index.js +3 -3
  670. package/dist/components/hds/reveal/index.js.map +1 -1
  671. package/dist/components/hds/reveal/toggle/button.js +3 -3
  672. package/dist/components/hds/reveal/toggle/button.js.map +1 -1
  673. package/dist/components/hds/rich-tooltip/bubble.js +3 -3
  674. package/dist/components/hds/rich-tooltip/bubble.js.map +1 -1
  675. package/dist/components/hds/rich-tooltip/index.js +3 -3
  676. package/dist/components/hds/rich-tooltip/index.js.map +1 -1
  677. package/dist/components/hds/rich-tooltip/toggle.js +4 -4
  678. package/dist/components/hds/rich-tooltip/toggle.js.map +1 -1
  679. package/dist/components/hds/segmented-group/index.js +2 -2
  680. package/dist/components/hds/segmented-group/index.js.map +1 -1
  681. package/dist/components/hds/separator/index.js +3 -3
  682. package/dist/components/hds/separator/index.js.map +1 -1
  683. package/dist/components/hds/side-nav/base.js +2 -2
  684. package/dist/components/hds/side-nav/base.js.map +1 -1
  685. package/dist/components/hds/side-nav/header/home-link.js +4 -4
  686. package/dist/components/hds/side-nav/header/home-link.js.map +1 -1
  687. package/dist/components/hds/side-nav/header/icon-button.js +17 -10
  688. package/dist/components/hds/side-nav/header/icon-button.js.map +1 -1
  689. package/dist/components/hds/side-nav/header/index.js +2 -2
  690. package/dist/components/hds/side-nav/header/index.js.map +1 -1
  691. package/dist/components/hds/side-nav/index.js +5 -13
  692. package/dist/components/hds/side-nav/index.js.map +1 -1
  693. package/dist/components/hds/side-nav/list/back-link.js +3 -3
  694. package/dist/components/hds/side-nav/list/back-link.js.map +1 -1
  695. package/dist/components/hds/side-nav/list/index.js +2 -2
  696. package/dist/components/hds/side-nav/list/index.js.map +1 -1
  697. package/dist/components/hds/side-nav/list/item.js +2 -2
  698. package/dist/components/hds/side-nav/list/item.js.map +1 -1
  699. package/dist/components/hds/side-nav/list/link.js +3 -3
  700. package/dist/components/hds/side-nav/list/link.js.map +1 -1
  701. package/dist/components/hds/side-nav/list/title.js +2 -2
  702. package/dist/components/hds/side-nav/list/title.js.map +1 -1
  703. package/dist/components/hds/side-nav/portal/index.js +3 -3
  704. package/dist/components/hds/side-nav/portal/index.js.map +1 -1
  705. package/dist/components/hds/side-nav/portal/target.js +4 -4
  706. package/dist/components/hds/side-nav/portal/target.js.map +1 -1
  707. package/dist/components/hds/side-nav/toggle-button.js +3 -3
  708. package/dist/components/hds/side-nav/toggle-button.js.map +1 -1
  709. package/dist/components/hds/stepper/step/indicator.js +4 -4
  710. package/dist/components/hds/stepper/step/indicator.js.map +1 -1
  711. package/dist/components/hds/stepper/task/indicator.js +4 -4
  712. package/dist/components/hds/stepper/task/indicator.js.map +1 -1
  713. package/dist/components/hds/stepper/types.js.map +1 -1
  714. package/dist/components/hds/table/index.js +27 -79
  715. package/dist/components/hds/table/index.js.map +1 -1
  716. package/dist/components/hds/table/td.js +8 -7
  717. package/dist/components/hds/table/td.js.map +1 -1
  718. package/dist/components/hds/table/th-button-sort.js +15 -14
  719. package/dist/components/hds/table/th-button-sort.js.map +1 -1
  720. package/dist/components/hds/table/th-button-tooltip.js +11 -5
  721. package/dist/components/hds/table/th-button-tooltip.js.map +1 -1
  722. package/dist/components/hds/table/th-selectable.js +18 -15
  723. package/dist/components/hds/table/th-selectable.js.map +1 -1
  724. package/dist/components/hds/table/th-sort.js +15 -14
  725. package/dist/components/hds/table/th-sort.js.map +1 -1
  726. package/dist/components/hds/table/th.js +9 -8
  727. package/dist/components/hds/table/th.js.map +1 -1
  728. package/dist/components/hds/table/tr.js +3 -3
  729. package/dist/components/hds/table/tr.js.map +1 -1
  730. package/dist/components/hds/table/types.js +49 -0
  731. package/dist/components/hds/table/types.js.map +1 -0
  732. package/dist/components/hds/tabs/index.js +3 -3
  733. package/dist/components/hds/tabs/index.js.map +1 -1
  734. package/dist/components/hds/tabs/panel.js +3 -3
  735. package/dist/components/hds/tabs/panel.js.map +1 -1
  736. package/dist/components/hds/tabs/tab.js +4 -4
  737. package/dist/components/hds/tabs/tab.js.map +1 -1
  738. package/dist/components/hds/tag/index.js +4 -4
  739. package/dist/components/hds/tag/index.js.map +1 -1
  740. package/dist/components/hds/text/body.js +3 -3
  741. package/dist/components/hds/text/body.js.map +1 -1
  742. package/dist/components/hds/text/code.js +3 -3
  743. package/dist/components/hds/text/code.js.map +1 -1
  744. package/dist/components/hds/text/display.js +3 -3
  745. package/dist/components/hds/text/display.js.map +1 -1
  746. package/dist/components/hds/text/index.js +3 -3
  747. package/dist/components/hds/text/index.js.map +1 -1
  748. package/dist/components/hds/toast/index.js +2 -2
  749. package/dist/components/hds/toast/index.js.map +1 -1
  750. package/dist/components/hds/tooltip-button/index.js +11 -11
  751. package/dist/components/hds/tooltip-button/index.js.map +1 -1
  752. package/dist/components/hds/tooltip-button/types.js +23 -0
  753. package/dist/components/hds/tooltip-button/types.js.map +1 -0
  754. package/dist/components/hds/yield/index.js +2 -2
  755. package/dist/components/hds/yield/index.js.map +1 -1
  756. package/dist/components.js +131 -30
  757. package/dist/components.js.map +1 -1
  758. package/dist/styles/@hashicorp/design-system-components.css +537 -498
  759. package/dist/styles/@hashicorp/design-system-components.scss +1 -3
  760. package/dist/styles/components/accordion.scss +2 -2
  761. package/dist/styles/components/app-footer.scss +6 -6
  762. package/dist/styles/components/app-frame.scss +23 -11
  763. package/dist/styles/components/app-header.scss +81 -7
  764. package/dist/styles/components/badge-count.scss +4 -4
  765. package/dist/styles/components/badge.scss +24 -6
  766. package/dist/styles/components/breadcrumb.scss +16 -6
  767. package/dist/styles/components/code-block/index.scss +3 -3
  768. package/dist/styles/components/dialog-primitive.scss +1 -0
  769. package/dist/styles/components/dropdown.scss +27 -32
  770. package/dist/styles/components/form/radio-card.scss +1 -1
  771. package/dist/styles/components/icon.scss +41 -0
  772. package/dist/styles/components/reveal.scss +2 -2
  773. package/dist/styles/components/side-nav/header.scss +44 -4
  774. package/dist/styles/components/side-nav/main.scss +3 -14
  775. package/dist/styles/components/stepper/task-indicator.scss +31 -15
  776. package/dist/styles/mixins/_interactive-dark-theme.scss +5 -14
  777. package/dist/utils/hds-aria-described-by.js.map +1 -1
  778. package/package.json +6 -5
@@ -1 +1 @@
1
- {"version":3,"file":"indicator.js","sources":["../../../../../src/components/hds/stepper/task/indicator.hbs","../../../../../src/components/hds/stepper/task/indicator.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 <FlightIcon class=\\\"hds-stepper-indicator-task__icon\\\" @name={{this.iconName}} @size=\\\"16\\\" />\\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';\n\nimport {\n HdsStepperStatusesValues,\n HdsStepperStatusToIconsValues,\n} from '../types.ts';\nimport type { FlightIconSignature } from '@hashicorp/ember-flight-icons/components/flight-icon';\nimport type { HdsStepperStatuses } from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: string[] = Object.values(HdsStepperStatusesValues);\n\nexport const MAPPING_STATUS_TO_ICONS = HdsStepperStatusToIconsValues;\n\ninterface HdsStepperTaskIndicatorSignature {\n Args: {\n status: HdsStepperStatuses;\n isInteractive?: boolean;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsStepperTaskIndicatorComponent extends Component<HdsStepperTaskIndicatorSignature> {\n /**\n * @param status\n * @type {string}\n * @default \"incomplete\"\n */\n\n get status(): HdsStepperStatuses {\n const { status = DEFAULT_STATUS } = this.args;\n\n assert(\n `@status for \"Hds::Stepper::Task::Indicator\" must be one of the following: ${STATUSES.join(\n ', '\n )}; received: ${status}`,\n STATUSES.includes(status)\n );\n\n return status;\n }\n\n /**\n * @param isInteractive\n * @type {boolean}\n * @default false\n */\n\n get isInteractive(): boolean {\n return this.args.isInteractive || false;\n }\n\n /**\n * @param iconName\n * @type {string}\n */\n\n get iconName(): FlightIconSignature['Args']['name'] {\n return MAPPING_STATUS_TO_ICONS[this.status];\n }\n\n /**\n * Get the class names to apply to the component.\n * @method IndicatorTask#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-stepper-indicator-task'];\n\n // Based on the @status arg\n classes.push(`hds-stepper-indicator-task--status-${this.status}`);\n\n if (this.isInteractive) {\n classes.push(`hds-stepper-indicator-task--is-interactive`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_STATUS","HdsStepperStatusesValues","Incomplete","STATUSES","Object","values","MAPPING_STATUS_TO_ICONS","HdsStepperStatusToIconsValues","HdsStepperTaskIndicatorComponent","Component","status","args","assert","join","includes","isInteractive","iconName","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,uOAAuO;;ACDzQ;AACA;AACA;AACA;;AAYaA,MAAAA,cAAc,GAAGC,wBAAwB,CAACC,WAAU;AAC1D,MAAMC,QAAkB,GAAGC,MAAM,CAACC,MAAM,CAACJ,wBAAwB,EAAC;AAElE,MAAMK,uBAAuB,GAAGC,8BAA6B;AAUrD,MAAMC,gCAAgC,SAASC,SAAS,CAAmC;AACxG;AACF;AACA;AACA;AACA;;EAEE,IAAIC,MAAMA,GAAuB;IAC/B,MAAM;AAAEA,MAAAA,MAAM,GAAGV,cAAAA;KAAgB,GAAG,IAAI,CAACW,IAAI,CAAA;AAE7CC,IAAAA,MAAM,CACJ,CAA6ET,0EAAAA,EAAAA,QAAQ,CAACU,IAAI,CACxF,IACF,CAAC,CAAA,YAAA,EAAeH,MAAM,CAAA,CAAE,EACxBP,QAAQ,CAACW,QAAQ,CAACJ,MAAM,CAC1B,CAAC,CAAA;AAED,IAAA,OAAOA,MAAM,CAAA;AACf,GAAA;;AAEA;AACF;AACA;AACA;AACA;;EAEE,IAAIK,aAAaA,GAAY;AAC3B,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,aAAa,IAAI,KAAK,CAAA;AACzC,GAAA;;AAEA;AACF;AACA;AACA;;EAEE,IAAIC,QAAQA,GAAwC;AAClD,IAAA,OAAOV,uBAAuB,CAAC,IAAI,CAACI,MAAM,CAAC,CAAA;AAC7C,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIO,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,4BAA4B,CAAC,CAAA;;AAE9C;IACAA,OAAO,CAACC,IAAI,CAAC,CAAA,mCAAA,EAAsC,IAAI,CAACT,MAAM,EAAE,CAAC,CAAA;IAEjE,IAAI,IAAI,CAACK,aAAa,EAAE;AACtBG,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,0CAAA,CAA4C,CAAC,CAAA;AAC5D,KAAA;AAEA,IAAA,OAAOD,OAAO,CAACL,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACO,oBAAA,CAAAC,QAAA,EAxDoBb,gCAAgC,CAAA;;;;"}
1
+ {"version":3,"file":"indicator.js","sources":["../../../../../src/components/hds/stepper/task/indicator.hbs","../../../../../src/components/hds/stepper/task/indicator.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 <Hds::Icon class=\\\"hds-stepper-indicator-task__icon\\\" @name={{this.iconName}} @size=\\\"16\\\" />\\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';\n\nimport {\n HdsStepperStatusesValues,\n HdsStepperStatusToIconsValues,\n} from '../types.ts';\nimport type { HdsIconSignature } from '../../icon';\nimport type { HdsStepperStatuses } from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: string[] = Object.values(HdsStepperStatusesValues);\n\nexport const MAPPING_STATUS_TO_ICONS = HdsStepperStatusToIconsValues;\n\ninterface HdsStepperTaskIndicatorSignature {\n Args: {\n status: HdsStepperStatuses;\n isInteractive?: boolean;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsStepperTaskIndicator extends Component<HdsStepperTaskIndicatorSignature> {\n /**\n * @param status\n * @type {string}\n * @default \"incomplete\"\n */\n\n get status(): HdsStepperStatuses {\n const { status = DEFAULT_STATUS } = this.args;\n\n assert(\n `@status for \"Hds::Stepper::Task::Indicator\" must be one of the following: ${STATUSES.join(\n ', '\n )}; received: ${status}`,\n STATUSES.includes(status)\n );\n\n return status;\n }\n\n /**\n * @param isInteractive\n * @type {boolean}\n * @default false\n */\n\n get isInteractive(): boolean {\n return this.args.isInteractive || false;\n }\n\n /**\n * @param iconName\n * @type {string}\n */\n\n get iconName(): HdsIconSignature['Args']['name'] {\n return MAPPING_STATUS_TO_ICONS[this.status];\n }\n\n /**\n * Get the class names to apply to the component.\n * @method IndicatorTask#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-stepper-indicator-task'];\n\n // Based on the @status arg\n classes.push(`hds-stepper-indicator-task--status-${this.status}`);\n\n if (this.isInteractive) {\n classes.push(`hds-stepper-indicator-task--is-interactive`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_STATUS","HdsStepperStatusesValues","Incomplete","STATUSES","Object","values","MAPPING_STATUS_TO_ICONS","HdsStepperStatusToIconsValues","HdsStepperTaskIndicator","Component","status","args","assert","join","includes","isInteractive","iconName","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,sOAAsO;;ACDxQ;AACA;AACA;AACA;;AAYaA,MAAAA,cAAc,GAAGC,wBAAwB,CAACC,WAAU;AAC1D,MAAMC,QAAkB,GAAGC,MAAM,CAACC,MAAM,CAACJ,wBAAwB,EAAC;AAElE,MAAMK,uBAAuB,GAAGC,8BAA6B;AAUrD,MAAMC,uBAAuB,SAASC,SAAS,CAAmC;AAC/F;AACF;AACA;AACA;AACA;;EAEE,IAAIC,MAAMA,GAAuB;IAC/B,MAAM;AAAEA,MAAAA,MAAM,GAAGV,cAAAA;KAAgB,GAAG,IAAI,CAACW,IAAI,CAAA;AAE7CC,IAAAA,MAAM,CACJ,CAA6ET,0EAAAA,EAAAA,QAAQ,CAACU,IAAI,CACxF,IACF,CAAC,CAAA,YAAA,EAAeH,MAAM,CAAA,CAAE,EACxBP,QAAQ,CAACW,QAAQ,CAACJ,MAAM,CAC1B,CAAC,CAAA;AAED,IAAA,OAAOA,MAAM,CAAA;AACf,GAAA;;AAEA;AACF;AACA;AACA;AACA;;EAEE,IAAIK,aAAaA,GAAY;AAC3B,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,aAAa,IAAI,KAAK,CAAA;AACzC,GAAA;;AAEA;AACF;AACA;AACA;;EAEE,IAAIC,QAAQA,GAAqC;AAC/C,IAAA,OAAOV,uBAAuB,CAAC,IAAI,CAACI,MAAM,CAAC,CAAA;AAC7C,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIO,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,4BAA4B,CAAC,CAAA;;AAE9C;IACAA,OAAO,CAACC,IAAI,CAAC,CAAA,mCAAA,EAAsC,IAAI,CAACT,MAAM,EAAE,CAAC,CAAA;IAEjE,IAAI,IAAI,CAACK,aAAa,EAAE;AACtBG,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,0CAAA,CAA4C,CAAC,CAAA;AAC5D,KAAA;AAEA,IAAA,OAAOD,OAAO,CAACL,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACO,oBAAA,CAAAC,QAAA,EAxDoBb,uBAAuB,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../src/components/hds/stepper/types.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\nimport type { FlightIconSignature } from '@hashicorp/ember-flight-icons/components/flight-icon';\n\nexport enum HdsStepperStatusesValues {\n Incomplete = 'incomplete',\n Progress = 'progress',\n Processing = 'processing',\n Complete = 'complete',\n}\n\nexport type HdsStepperStatuses = `${HdsStepperStatusesValues}`;\n\nexport const HdsStepperStatusToIconsValues: Record<\n HdsStepperStatusesValues,\n FlightIconSignature['Args']['name']\n> = {\n [HdsStepperStatusesValues.Incomplete]: 'circle',\n [HdsStepperStatusesValues.Progress]: 'circle-half',\n [HdsStepperStatusesValues.Processing]: 'loading',\n [HdsStepperStatusesValues.Complete]: 'check-circle',\n};\n"],"names":["HdsStepperStatusesValues","HdsStepperStatusToIconsValues","Incomplete","Progress","Processing","Complete"],"mappings":"AAAA;AACA;AACA;AACA;;AAGYA,IAAAA,wBAAwB,0BAAxBA,wBAAwB,EAAA;EAAxBA,wBAAwB,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAxBA,wBAAwB,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;EAAxBA,wBAAwB,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAxBA,wBAAwB,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;AAAA,EAAA,OAAxBA,wBAAwB,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAS7B,MAAMC,6BAGZ,GAAG;AACF,EAAA,CAACD,wBAAwB,CAACE,UAAU,GAAG,QAAQ;AAC/C,EAAA,CAACF,wBAAwB,CAACG,QAAQ,GAAG,aAAa;AAClD,EAAA,CAACH,wBAAwB,CAACI,UAAU,GAAG,SAAS;EAChD,CAACJ,wBAAwB,CAACK,QAAQ,GAAG,cAAA;AACvC;;;;"}
1
+ {"version":3,"file":"types.js","sources":["../../../../src/components/hds/stepper/types.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\nimport type { HdsIconSignature } from '../icon';\n\nexport enum HdsStepperStatusesValues {\n Incomplete = 'incomplete',\n Progress = 'progress',\n Processing = 'processing',\n Complete = 'complete',\n}\n\nexport type HdsStepperStatuses = `${HdsStepperStatusesValues}`;\n\nexport const HdsStepperStatusToIconsValues: Record<\n HdsStepperStatusesValues,\n HdsIconSignature['Args']['name']\n> = {\n [HdsStepperStatusesValues.Incomplete]: 'circle',\n [HdsStepperStatusesValues.Progress]: 'circle-half',\n [HdsStepperStatusesValues.Processing]: 'loading',\n [HdsStepperStatusesValues.Complete]: 'check-circle',\n};\n"],"names":["HdsStepperStatusesValues","HdsStepperStatusToIconsValues","Incomplete","Progress","Processing","Complete"],"mappings":"AAAA;AACA;AACA;AACA;;AAGYA,IAAAA,wBAAwB,0BAAxBA,wBAAwB,EAAA;EAAxBA,wBAAwB,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAxBA,wBAAwB,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;EAAxBA,wBAAwB,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAxBA,wBAAwB,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;AAAA,EAAA,OAAxBA,wBAAwB,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAS7B,MAAMC,6BAGZ,GAAG;AACF,EAAA,CAACD,wBAAwB,CAACE,UAAU,GAAG,QAAQ;AAC/C,EAAA,CAACF,wBAAwB,CAACG,QAAQ,GAAG,aAAa;AAClD,EAAA,CAACH,wBAAwB,CAACI,UAAU,GAAG,SAAS;EAChD,CAACJ,wBAAwB,CAACK,QAAQ,GAAG,cAAA;AACvC;;;;"}
@@ -1,19 +1,20 @@
1
1
  import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty, a as _defineProperty } from '../../../_rollupPluginBabelHelpers-KIi_qCIU.js';
2
2
  import Component from '@glimmer/component';
3
- import { tracked } from '@glimmer/tracking';
4
3
  import { action } from '@ember/object';
5
4
  import { assert } from '@ember/debug';
5
+ import { tracked } from '@glimmer/tracking';
6
+ import { HdsTableDensityValues, HdsTableVerticalAlignmentValues, HdsTableThSortOrderValues } from './types.js';
6
7
  import { precompileTemplate } from '@ember/template-compilation';
7
8
  import { setComponentTemplate } from '@ember/component';
8
9
 
9
10
  var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<table class={{this.classNames}} ...attributes>\n {{#if @columns}}\n <caption class=\"sr-only\" aria-live=\"polite\">{{@caption}} {{this.sortedMessageText}}</caption>\n {{else if @caption}}\n <caption class=\"sr-only\">{{@caption}}</caption>\n {{/if}}\n\n <thead class=\"hds-table__thead\">\n {{#if @columns}}\n <Hds::Table::Tr\n @selectionScope=\"col\"\n @isSelectable={{@isSelectable}}\n @onSelectionChange={{this.onSelectionAllChange}}\n @didInsert={{this.didInsertSelectAllCheckbox}}\n @willDestroy={{this.willDestroySelectAllCheckbox}}\n @selectionAriaLabelSuffix=\"all rows\"\n >\n {{#each @columns as |column|}}\n {{#if column.isSortable}}\n <Hds::Table::ThSort\n @sortOrder={{if (eq column.key this.sortBy) this.sortOrder}}\n @onClickSort={{fn this.setSortBy column.key}}\n @align={{column.align}}\n @width={{column.width}}\n @tooltip={{column.tooltip}}\n >\n {{column.label}}\n </Hds::Table::ThSort>\n {{else}}\n <Hds::Table::Th\n @align={{column.align}}\n @width={{column.width}}\n @tooltip={{column.tooltip}}\n @isVisuallyHidden={{column.isVisuallyHidden}}\n >{{column.label}}</Hds::Table::Th>\n {{/if}}\n {{/each}}\n </Hds::Table::Tr>\n {{else}}\n {{yield\n (hash\n Tr=(component\n \"hds/table/tr\"\n selectionScope=\"col\"\n isSelectable=@isSelectable\n onSelectionChange=this.onSelectionAllChange\n didInsert=this.didInsertSelectAllCheckbox\n willDestroy=this.willDestroySelectAllCheckbox\n selectionAriaLabelSuffix=\"all rows\"\n )\n Th=(component \"hds/table/th\")\n ThSort=(component \"hds/table/th-sort\")\n sortBy=this.sortBy\n sortOrder=this.sortOrder\n setSortBy=this.setSortBy\n )\n to=\"head\"\n }}\n {{/if}}\n </thead>\n\n <tbody class=\"hds-table__tbody\">\n {{#if @columns}}\n {{! ----------------------------------------------------------------------------------------\n IMPORTANT: we loop on the `model` array and for each record\n we yield the Tr/Td/Th elements _and_ the record itself as `data`\n this means the consumer will *have to* use the `data` key to access it in their template\n -------------------------------------------------------------------------------------------- }}\n {{#each (sort-by this.getSortCriteria @model) key=this.identityKey as |record|}}\n {{yield\n (hash\n Tr=(component\n \"hds/table/tr\"\n selectionScope=\"row\"\n isSelectable=@isSelectable\n onSelectionChange=this.onSelectionRowChange\n didInsert=this.didInsertRowCheckbox\n willDestroy=this.willDestroyRowCheckbox\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\n )\n Th=(component \"hds/table/th\" scope=\"row\")\n Td=(component \"hds/table/td\" align=@align)\n data=record\n )\n to=\"body\"\n }}\n {{/each}}\n {{else}}\n {{yield\n (hash\n Tr=(component\n \"hds/table/tr\"\n selectionScope=\"row\"\n isSelectable=@isSelectable\n onSelectionChange=this.onSelectionRowChange\n didInsert=this.didInsertRowCheckbox\n willDestroy=this.willDestroyRowCheckbox\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\n )\n Th=(component \"hds/table/th\" scope=\"row\")\n Td=(component \"hds/table/td\" align=@align)\n sortBy=this.sortBy\n sortOrder=this.sortOrder\n )\n to=\"body\"\n }}\n {{/if}}\n </tbody>\n</table>");
10
11
 
11
12
  var _class, _descriptor, _descriptor2, _descriptor3, _descriptor4;
12
- const DENSITIES = ['short', 'medium', 'tall'];
13
- const DEFAULT_DENSITY = 'medium';
14
- const VALIGNMENTS = ['top', 'middle', 'baseline'];
15
- const DEFAULT_VALIGN = 'top';
16
- let HdsTableIndexComponent = (_class = class HdsTableIndexComponent extends Component {
13
+ const DENSITIES = Object.values(HdsTableDensityValues);
14
+ const DEFAULT_DENSITY = HdsTableDensityValues.Medium;
15
+ const VALIGNMENTS = Object.values(HdsTableVerticalAlignmentValues);
16
+ const DEFAULT_VALIGN = HdsTableVerticalAlignmentValues.Top;
17
+ let HdsTable = (_class = class HdsTable extends Component {
17
18
  constructor(...args) {
18
19
  super(...args);
19
20
  _initializerDefineProperty(this, "sortBy", _descriptor, this);
@@ -22,12 +23,6 @@ let HdsTableIndexComponent = (_class = class HdsTableIndexComponent extends Comp
22
23
  _defineProperty(this, "selectableRows", []);
23
24
  _initializerDefineProperty(this, "isSelectAllCheckboxSelected", _descriptor4, this);
24
25
  }
25
- /**
26
- * @param getSortCriteria
27
- * @type {string | function}
28
- * @default sortBy:sortOrder
29
- * @description Returns the sort criteria
30
- */
31
26
  get getSortCriteria() {
32
27
  // get the current column
33
28
  const currentColumn = this.args?.columns?.find(column => column.key === this.sortBy);
@@ -40,14 +35,6 @@ let HdsTableIndexComponent = (_class = class HdsTableIndexComponent extends Comp
40
35
  return `${this.sortBy}:${this.sortOrder}`;
41
36
  }
42
37
  }
43
-
44
- /**
45
- * @param identityKey
46
- * @type {string}
47
- * @default '@identity'
48
- * @description Returns the key to use for the table rows to provide more granular control. If no identityKey is defined, Ember's default `@identity` is used. See https://api.emberjs.com/ember/release/classes/Ember.Templates.helpers/methods/each?anchor=each
49
- * this would be relevant for any table that would have data that could update or change, i.e., polling.
50
- */
51
38
  get identityKey() {
52
39
  // we have to provide a way for the consumer to pass undefined because Ember tries to interpret undefined as missing an arg and therefore falls back to the default
53
40
  if (this.args.identityKey === 'none') {
@@ -56,13 +43,6 @@ let HdsTableIndexComponent = (_class = class HdsTableIndexComponent extends Comp
56
43
  return this.args.identityKey ?? '@identity';
57
44
  }
58
45
  }
59
-
60
- /**
61
- * @param sortedMessageText
62
- * @type {string}
63
- * @default ''
64
- * @description Returns the text to display in the sorted message. If no text is defined, the default text is used.
65
- */
66
46
  get sortedMessageText() {
67
47
  if (this.args.sortedMessageText) {
68
48
  return this.args.sortedMessageText;
@@ -73,62 +53,28 @@ let HdsTableIndexComponent = (_class = class HdsTableIndexComponent extends Comp
73
53
  return '';
74
54
  }
75
55
  }
76
-
77
- /**
78
- * @param isStriped
79
- * @type {boolean}
80
- * @default false
81
- * @description Determines whether the table rows should have alternating background colors; defaults to false.
82
- */
83
56
  get isStriped() {
84
57
  return this.args.isStriped ?? false;
85
58
  }
86
-
87
- /**
88
- * @param isFixedLayout
89
- * @type {boolean}
90
- * @default false
91
- * @description Determines whether the table-display should be set to fixed; meaning, the table columns are of equal width no matter the content; defaults to false.
92
- */
93
59
  get isFixedLayout() {
94
60
  return this.args.isFixedLayout ?? false;
95
61
  }
96
-
97
- /**
98
- * @param density
99
- * @type {string}
100
- * @default 'medium'
101
- * @description Determines the density of the table cells; options are "short", "medium" and "tall". If no density is defined, "medium" is used.
102
- */
103
62
  get density() {
104
- let {
63
+ const {
105
64
  density = DEFAULT_DENSITY
106
65
  } = this.args;
107
66
  assert(`@density for "Hds::Table" must be one of the following: ${DENSITIES.join(', ')}; received: ${density}`, DENSITIES.includes(density));
108
67
  return density;
109
68
  }
110
-
111
- /**
112
- * @param valign
113
- * @type {string}
114
- * @default 'top'
115
- * @description Determines the vertical alignment of the table cells; options are: "top", "middle", "baseline". If no valign is defined, "top" is used.
116
- */
117
69
  get valign() {
118
- let {
70
+ const {
119
71
  valign = DEFAULT_VALIGN
120
72
  } = this.args;
121
73
  assert(`@valign for "Hds::Table" must be one of the following: ${VALIGNMENTS.join(', ')}; received: ${valign}`, VALIGNMENTS.includes(valign));
122
74
  return valign;
123
75
  }
124
-
125
- /**
126
- * Get the class names to apply to the component.
127
- * @method classNames
128
- * @return {string} The "class" attribute to apply to the component.
129
- */
130
76
  get classNames() {
131
- let classes = ['hds-table'];
77
+ const classes = ['hds-table'];
132
78
 
133
79
  // add a class based on the @isStriped argument
134
80
  if (this.isStriped) {
@@ -154,13 +100,13 @@ let HdsTableIndexComponent = (_class = class HdsTableIndexComponent extends Comp
154
100
  setSortBy(column) {
155
101
  if (this.sortBy === column) {
156
102
  // check to see if the column is already sorted and invert the sort order if so
157
- this.sortOrder = this.sortOrder === 'asc' ? 'desc' : 'asc';
103
+ this.sortOrder = this.sortOrder === HdsTableThSortOrderValues.Asc ? HdsTableThSortOrderValues.Desc : HdsTableThSortOrderValues.Asc;
158
104
  } else {
159
105
  // otherwise, set the sort order to ascending
160
106
  this.sortBy = column;
161
- this.sortOrder = 'asc';
107
+ this.sortOrder = HdsTableThSortOrderValues.Asc;
162
108
  }
163
- let {
109
+ const {
164
110
  onSort
165
111
  } = this.args;
166
112
  if (typeof onSort === 'function') {
@@ -168,7 +114,7 @@ let HdsTableIndexComponent = (_class = class HdsTableIndexComponent extends Comp
168
114
  }
169
115
  }
170
116
  onSelectionChangeCallback(checkbox, selectionKey) {
171
- let {
117
+ const {
172
118
  onSelectionChange
173
119
  } = this.args;
174
120
  if (typeof onSelectionChange === 'function') {
@@ -193,12 +139,12 @@ let HdsTableIndexComponent = (_class = class HdsTableIndexComponent extends Comp
193
139
  }
194
140
  onSelectionAllChange() {
195
141
  this.selectableRows.forEach(row => {
196
- row.checkbox.checked = this.selectAllCheckbox.checked;
142
+ row.checkbox.checked = this.selectAllCheckbox?.checked ?? false;
197
143
  row.checkbox.dispatchEvent(new Event('toggle', {
198
144
  bubbles: false
199
145
  }));
200
146
  });
201
- this.isSelectAllCheckboxSelected = this.selectAllCheckbox.checked;
147
+ this.isSelectAllCheckboxSelected = this.selectAllCheckbox?.checked ?? false;
202
148
  this.onSelectionChangeCallback(this.selectAllCheckbox, 'all');
203
149
  }
204
150
  onSelectionRowChange(checkbox, selectionKey) {
@@ -212,10 +158,12 @@ let HdsTableIndexComponent = (_class = class HdsTableIndexComponent extends Comp
212
158
  this.selectAllCheckbox = undefined;
213
159
  }
214
160
  didInsertRowCheckbox(checkbox, selectionKey) {
215
- this.selectableRows.push({
216
- selectionKey,
217
- checkbox
218
- });
161
+ if (selectionKey) {
162
+ this.selectableRows.push({
163
+ selectionKey,
164
+ checkbox
165
+ });
166
+ }
219
167
  this.setSelectAllState();
220
168
  }
221
169
  willDestroyRowCheckbox(selectionKey) {
@@ -224,8 +172,8 @@ let HdsTableIndexComponent = (_class = class HdsTableIndexComponent extends Comp
224
172
  }
225
173
  setSelectAllState() {
226
174
  if (this.selectAllCheckbox) {
227
- let selectableRowsCount = this.selectableRows.length;
228
- let selectedRowsCount = this.selectableRows.filter(row => row.checkbox.checked).length;
175
+ const selectableRowsCount = this.selectableRows.length;
176
+ const selectedRowsCount = this.selectableRows.filter(row => row.checkbox.checked).length;
229
177
  this.selectAllCheckbox.checked = selectedRowsCount === selectableRowsCount;
230
178
  this.selectAllCheckbox.indeterminate = selectedRowsCount > 0 && selectedRowsCount < selectableRowsCount;
231
179
  this.isSelectAllCheckboxSelected = this.selectAllCheckbox.checked;
@@ -246,7 +194,7 @@ let HdsTableIndexComponent = (_class = class HdsTableIndexComponent extends Comp
246
194
  enumerable: true,
247
195
  writable: true,
248
196
  initializer: function () {
249
- return this.args.sortOrder || 'asc';
197
+ return this.args.sortOrder || HdsTableThSortOrderValues.Asc;
250
198
  }
251
199
  }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, "selectAllCheckbox", [tracked], {
252
200
  configurable: true,
@@ -263,7 +211,7 @@ let HdsTableIndexComponent = (_class = class HdsTableIndexComponent extends Comp
263
211
  return undefined;
264
212
  }
265
213
  }), _applyDecoratedDescriptor(_class.prototype, "setSortBy", [action], Object.getOwnPropertyDescriptor(_class.prototype, "setSortBy"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onSelectionAllChange", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onSelectionAllChange"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onSelectionRowChange", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onSelectionRowChange"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didInsertSelectAllCheckbox", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsertSelectAllCheckbox"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "willDestroySelectAllCheckbox", [action], Object.getOwnPropertyDescriptor(_class.prototype, "willDestroySelectAllCheckbox"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didInsertRowCheckbox", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsertRowCheckbox"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "willDestroyRowCheckbox", [action], Object.getOwnPropertyDescriptor(_class.prototype, "willDestroyRowCheckbox"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "setSelectAllState", [action], Object.getOwnPropertyDescriptor(_class.prototype, "setSelectAllState"), _class.prototype)), _class);
266
- setComponentTemplate(TEMPLATE, HdsTableIndexComponent);
214
+ setComponentTemplate(TEMPLATE, HdsTable);
267
215
 
268
- export { DENSITIES, HdsTableIndexComponent as default };
216
+ export { DEFAULT_DENSITY, DEFAULT_VALIGN, DENSITIES, VALIGNMENTS, HdsTable as default };
269
217
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/table/index.hbs","../../../../src/components/hds/table/index.js"],"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<table class={{this.classNames}} ...attributes>\\n {{#if @columns}}\\n <caption class=\\\"sr-only\\\" aria-live=\\\"polite\\\">{{@caption}} {{this.sortedMessageText}}</caption>\\n {{else if @caption}}\\n <caption class=\\\"sr-only\\\">{{@caption}}</caption>\\n {{/if}}\\n\\n <thead class=\\\"hds-table__thead\\\">\\n {{#if @columns}}\\n <Hds::Table::Tr\\n @selectionScope=\\\"col\\\"\\n @isSelectable={{@isSelectable}}\\n @onSelectionChange={{this.onSelectionAllChange}}\\n @didInsert={{this.didInsertSelectAllCheckbox}}\\n @willDestroy={{this.willDestroySelectAllCheckbox}}\\n @selectionAriaLabelSuffix=\\\"all rows\\\"\\n >\\n {{#each @columns as |column|}}\\n {{#if column.isSortable}}\\n <Hds::Table::ThSort\\n @sortOrder={{if (eq column.key this.sortBy) this.sortOrder}}\\n @onClickSort={{fn this.setSortBy column.key}}\\n @align={{column.align}}\\n @width={{column.width}}\\n @tooltip={{column.tooltip}}\\n >\\n {{column.label}}\\n </Hds::Table::ThSort>\\n {{else}}\\n <Hds::Table::Th\\n @align={{column.align}}\\n @width={{column.width}}\\n @tooltip={{column.tooltip}}\\n @isVisuallyHidden={{column.isVisuallyHidden}}\\n >{{column.label}}</Hds::Table::Th>\\n {{/if}}\\n {{/each}}\\n </Hds::Table::Tr>\\n {{else}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"col\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionAllChange\\n didInsert=this.didInsertSelectAllCheckbox\\n willDestroy=this.willDestroySelectAllCheckbox\\n selectionAriaLabelSuffix=\\\"all rows\\\"\\n )\\n Th=(component \\\"hds/table/th\\\")\\n ThSort=(component \\\"hds/table/th-sort\\\")\\n sortBy=this.sortBy\\n sortOrder=this.sortOrder\\n setSortBy=this.setSortBy\\n )\\n to=\\\"head\\\"\\n }}\\n {{/if}}\\n </thead>\\n\\n <tbody class=\\\"hds-table__tbody\\\">\\n {{#if @columns}}\\n {{! ----------------------------------------------------------------------------------------\\n IMPORTANT: we loop on the `model` array and for each record\\n we yield the Tr/Td/Th elements _and_ the record itself as `data`\\n this means the consumer will *have to* use the `data` key to access it in their template\\n -------------------------------------------------------------------------------------------- }}\\n {{#each (sort-by this.getSortCriteria @model) key=this.identityKey as |record|}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"row\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionRowChange\\n didInsert=this.didInsertRowCheckbox\\n willDestroy=this.willDestroyRowCheckbox\\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\\n )\\n Th=(component \\\"hds/table/th\\\" scope=\\\"row\\\")\\n Td=(component \\\"hds/table/td\\\" align=@align)\\n data=record\\n )\\n to=\\\"body\\\"\\n }}\\n {{/each}}\\n {{else}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"row\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionRowChange\\n didInsert=this.didInsertRowCheckbox\\n willDestroy=this.willDestroyRowCheckbox\\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\\n )\\n Th=(component \\\"hds/table/th\\\" scope=\\\"row\\\")\\n Td=(component \\\"hds/table/td\\\" align=@align)\\n sortBy=this.sortBy\\n sortOrder=this.sortOrder\\n )\\n to=\\\"body\\\"\\n }}\\n {{/if}}\\n </tbody>\\n</table>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\n\nexport const DENSITIES = ['short', 'medium', 'tall'];\nconst DEFAULT_DENSITY = 'medium';\nconst VALIGNMENTS = ['top', 'middle', 'baseline'];\nconst DEFAULT_VALIGN = 'top';\n\nexport default class HdsTableIndexComponent extends Component {\n @tracked sortBy = this.args.sortBy;\n @tracked sortOrder = this.args.sortOrder || 'asc';\n @tracked selectAllCheckbox = undefined;\n selectableRows = [];\n @tracked isSelectAllCheckboxSelected = undefined;\n\n /**\n * @param getSortCriteria\n * @type {string | function}\n * @default sortBy:sortOrder\n * @description Returns the sort criteria\n */\n get getSortCriteria() {\n // get the current column\n const currentColumn = this.args?.columns?.find(\n (column) => column.key === this.sortBy\n );\n if (\n // check if there is a custom sorting function associated with the current `sortBy` column (we assume the column has `isSortable`)\n currentColumn?.sortingFunction &&\n typeof currentColumn.sortingFunction === 'function'\n ) {\n return currentColumn.sortingFunction;\n } else {\n // otherwise fallback to the default format \"sortBy:sortOrder\"\n return `${this.sortBy}:${this.sortOrder}`;\n }\n }\n\n /**\n * @param identityKey\n * @type {string}\n * @default '@identity'\n * @description Returns the key to use for the table rows to provide more granular control. If no identityKey is defined, Ember's default `@identity` is used. See https://api.emberjs.com/ember/release/classes/Ember.Templates.helpers/methods/each?anchor=each\n * this would be relevant for any table that would have data that could update or change, i.e., polling.\n */\n get identityKey() {\n // we have to provide a way for the consumer to pass undefined because Ember tries to interpret undefined as missing an arg and therefore falls back to the default\n if (this.args.identityKey === 'none') {\n return undefined;\n } else {\n return this.args.identityKey ?? '@identity';\n }\n }\n\n /**\n * @param sortedMessageText\n * @type {string}\n * @default ''\n * @description Returns the text to display in the sorted message. If no text is defined, the default text is used.\n */\n get sortedMessageText() {\n if (this.args.sortedMessageText) {\n return this.args.sortedMessageText;\n } else if (this.sortBy && this.sortOrder) {\n // we should allow the user to define a custom value here (e.g., for i18n) - tracked with HDS-965\n return `Sorted by ${this.sortBy} ${this.sortOrder}ending`;\n } else {\n return '';\n }\n }\n\n /**\n * @param isStriped\n * @type {boolean}\n * @default false\n * @description Determines whether the table rows should have alternating background colors; defaults to false.\n */\n get isStriped() {\n return this.args.isStriped ?? false;\n }\n\n /**\n * @param isFixedLayout\n * @type {boolean}\n * @default false\n * @description Determines whether the table-display should be set to fixed; meaning, the table columns are of equal width no matter the content; defaults to false.\n */\n get isFixedLayout() {\n return this.args.isFixedLayout ?? false;\n }\n\n /**\n * @param density\n * @type {string}\n * @default 'medium'\n * @description Determines the density of the table cells; options are \"short\", \"medium\" and \"tall\". If no density is defined, \"medium\" is used.\n */\n get density() {\n let { density = DEFAULT_DENSITY } = this.args;\n\n assert(\n `@density for \"Hds::Table\" must be one of the following: ${DENSITIES.join(\n ', '\n )}; received: ${density}`,\n DENSITIES.includes(density)\n );\n\n return density;\n }\n\n /**\n * @param valign\n * @type {string}\n * @default 'top'\n * @description Determines the vertical alignment of the table cells; options are: \"top\", \"middle\", \"baseline\". If no valign is defined, \"top\" is used.\n */\n get valign() {\n let { valign = DEFAULT_VALIGN } = this.args;\n\n assert(\n `@valign for \"Hds::Table\" must be one of the following: ${VALIGNMENTS.join(\n ', '\n )}; received: ${valign}`,\n VALIGNMENTS.includes(valign)\n );\n\n return valign;\n }\n\n /**\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() {\n let classes = ['hds-table'];\n\n // add a class based on the @isStriped argument\n if (this.isStriped) {\n classes.push('hds-table--striped');\n }\n\n // add a class based on the @isFixedLayout argument\n if (this.isFixedLayout) {\n classes.push('hds-table--layout-fixed');\n }\n\n // add a class based on the @density argument\n if (this.density) {\n classes.push(`hds-table--density-${this.density}`);\n }\n\n // add a class based on the @valign argument\n if (this.valign) {\n classes.push(`hds-table--valign-${this.valign}`);\n }\n\n return classes.join(' ');\n }\n\n @action\n setSortBy(column) {\n if (this.sortBy === column) {\n // check to see if the column is already sorted and invert the sort order if so\n this.sortOrder = this.sortOrder === 'asc' ? 'desc' : 'asc';\n } else {\n // otherwise, set the sort order to ascending\n this.sortBy = column;\n this.sortOrder = 'asc';\n }\n\n let { onSort } = this.args;\n\n if (typeof onSort === 'function') {\n onSort(this.sortBy, this.sortOrder);\n }\n }\n\n onSelectionChangeCallback(checkbox, selectionKey) {\n let { onSelectionChange } = this.args;\n if (typeof onSelectionChange === 'function') {\n onSelectionChange({\n selectionKey: selectionKey,\n selectionCheckboxElement: checkbox,\n selectedRowsKeys: this.selectableRows.reduce((acc, row) => {\n if (row.checkbox.checked) {\n acc.push(row.selectionKey);\n }\n return acc;\n }, []),\n selectableRowsStates: this.selectableRows.reduce((acc, row) => {\n acc.push({\n selectionKey: row.selectionKey,\n isSelected: row.checkbox.checked,\n });\n return acc;\n }, []),\n });\n }\n }\n\n @action\n onSelectionAllChange() {\n this.selectableRows.forEach((row) => {\n row.checkbox.checked = this.selectAllCheckbox.checked;\n row.checkbox.dispatchEvent(new Event('toggle', { bubbles: false }));\n });\n this.isSelectAllCheckboxSelected = this.selectAllCheckbox.checked;\n this.onSelectionChangeCallback(this.selectAllCheckbox, 'all');\n }\n\n @action\n onSelectionRowChange(checkbox, selectionKey) {\n this.setSelectAllState();\n this.onSelectionChangeCallback(checkbox, selectionKey);\n }\n\n @action\n didInsertSelectAllCheckbox(checkbox) {\n this.selectAllCheckbox = checkbox;\n }\n\n @action\n willDestroySelectAllCheckbox() {\n this.selectAllCheckbox = undefined;\n }\n\n @action\n didInsertRowCheckbox(checkbox, selectionKey) {\n this.selectableRows.push({ selectionKey, checkbox });\n this.setSelectAllState();\n }\n\n @action\n willDestroyRowCheckbox(selectionKey) {\n this.selectableRows = this.selectableRows.filter(\n (row) => row.selectionKey !== selectionKey\n );\n this.setSelectAllState();\n }\n\n @action\n setSelectAllState() {\n if (this.selectAllCheckbox) {\n let selectableRowsCount = this.selectableRows.length;\n let selectedRowsCount = this.selectableRows.filter(\n (row) => row.checkbox.checked\n ).length;\n\n this.selectAllCheckbox.checked =\n selectedRowsCount === selectableRowsCount;\n this.selectAllCheckbox.indeterminate =\n selectedRowsCount > 0 && selectedRowsCount < selectableRowsCount;\n this.isSelectAllCheckboxSelected = this.selectAllCheckbox.checked;\n this.selectAllCheckbox.dispatchEvent(\n new Event('toggle', { bubbles: false })\n );\n }\n }\n}\n"],"names":["DENSITIES","DEFAULT_DENSITY","VALIGNMENTS","DEFAULT_VALIGN","HdsTableIndexComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_defineProperty","_descriptor4","getSortCriteria","currentColumn","columns","find","column","key","sortBy","sortingFunction","sortOrder","identityKey","undefined","sortedMessageText","isStriped","isFixedLayout","density","assert","join","includes","valign","classNames","classes","push","setSortBy","onSort","onSelectionChangeCallback","checkbox","selectionKey","onSelectionChange","selectionCheckboxElement","selectedRowsKeys","selectableRows","reduce","acc","row","checked","selectableRowsStates","isSelected","onSelectionAllChange","forEach","selectAllCheckbox","dispatchEvent","Event","bubbles","isSelectAllCheckboxSelected","onSelectionRowChange","setSelectAllState","didInsertSelectAllCheckbox","willDestroySelectAllCheckbox","didInsertRowCheckbox","willDestroyRowCheckbox","filter","selectableRowsCount","length","selectedRowsCount","indeterminate","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/table/index.hbs","../../../../src/components/hds/table/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<table class={{this.classNames}} ...attributes>\\n {{#if @columns}}\\n <caption class=\\\"sr-only\\\" aria-live=\\\"polite\\\">{{@caption}} {{this.sortedMessageText}}</caption>\\n {{else if @caption}}\\n <caption class=\\\"sr-only\\\">{{@caption}}</caption>\\n {{/if}}\\n\\n <thead class=\\\"hds-table__thead\\\">\\n {{#if @columns}}\\n <Hds::Table::Tr\\n @selectionScope=\\\"col\\\"\\n @isSelectable={{@isSelectable}}\\n @onSelectionChange={{this.onSelectionAllChange}}\\n @didInsert={{this.didInsertSelectAllCheckbox}}\\n @willDestroy={{this.willDestroySelectAllCheckbox}}\\n @selectionAriaLabelSuffix=\\\"all rows\\\"\\n >\\n {{#each @columns as |column|}}\\n {{#if column.isSortable}}\\n <Hds::Table::ThSort\\n @sortOrder={{if (eq column.key this.sortBy) this.sortOrder}}\\n @onClickSort={{fn this.setSortBy column.key}}\\n @align={{column.align}}\\n @width={{column.width}}\\n @tooltip={{column.tooltip}}\\n >\\n {{column.label}}\\n </Hds::Table::ThSort>\\n {{else}}\\n <Hds::Table::Th\\n @align={{column.align}}\\n @width={{column.width}}\\n @tooltip={{column.tooltip}}\\n @isVisuallyHidden={{column.isVisuallyHidden}}\\n >{{column.label}}</Hds::Table::Th>\\n {{/if}}\\n {{/each}}\\n </Hds::Table::Tr>\\n {{else}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"col\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionAllChange\\n didInsert=this.didInsertSelectAllCheckbox\\n willDestroy=this.willDestroySelectAllCheckbox\\n selectionAriaLabelSuffix=\\\"all rows\\\"\\n )\\n Th=(component \\\"hds/table/th\\\")\\n ThSort=(component \\\"hds/table/th-sort\\\")\\n sortBy=this.sortBy\\n sortOrder=this.sortOrder\\n setSortBy=this.setSortBy\\n )\\n to=\\\"head\\\"\\n }}\\n {{/if}}\\n </thead>\\n\\n <tbody class=\\\"hds-table__tbody\\\">\\n {{#if @columns}}\\n {{! ----------------------------------------------------------------------------------------\\n IMPORTANT: we loop on the `model` array and for each record\\n we yield the Tr/Td/Th elements _and_ the record itself as `data`\\n this means the consumer will *have to* use the `data` key to access it in their template\\n -------------------------------------------------------------------------------------------- }}\\n {{#each (sort-by this.getSortCriteria @model) key=this.identityKey as |record|}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"row\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionRowChange\\n didInsert=this.didInsertRowCheckbox\\n willDestroy=this.willDestroyRowCheckbox\\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\\n )\\n Th=(component \\\"hds/table/th\\\" scope=\\\"row\\\")\\n Td=(component \\\"hds/table/td\\\" align=@align)\\n data=record\\n )\\n to=\\\"body\\\"\\n }}\\n {{/each}}\\n {{else}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"row\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionRowChange\\n didInsert=this.didInsertRowCheckbox\\n willDestroy=this.willDestroyRowCheckbox\\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\\n )\\n Th=(component \\\"hds/table/th\\\" scope=\\\"row\\\")\\n Td=(component \\\"hds/table/td\\\" align=@align)\\n sortBy=this.sortBy\\n sortOrder=this.sortOrder\\n )\\n to=\\\"body\\\"\\n }}\\n {{/if}}\\n </tbody>\\n</table>\")","/**\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 { assert } from '@ember/debug';\nimport { tracked } from '@glimmer/tracking';\nimport type { ComponentLike } from '@glint/template';\n\nimport {\n HdsTableDensityValues,\n HdsTableThSortOrderValues,\n HdsTableVerticalAlignmentValues,\n} from './types.ts';\nimport type {\n HdsTableColumn,\n HdsTableDensities,\n HdsTableHorizontalAlignment,\n HdsTableOnSelectionChangeArgs,\n HdsTableSelectableRow,\n HdsTableSortingFunction,\n HdsTableThSortOrder,\n HdsTableVerticalAlignment,\n} from './types';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base';\nimport type { HdsTableTdArgs } from './td.ts';\nimport type { HdsTableThArgs } from './th.ts';\nimport type { HdsTableThSortArgs } from './th-sort.ts';\nimport type { HdsTableTrArgs } from './tr.ts';\n\nexport const DENSITIES: HdsTableDensities[] = Object.values(\n HdsTableDensityValues\n);\nexport const DEFAULT_DENSITY = HdsTableDensityValues.Medium;\n\nexport const VALIGNMENTS: HdsTableVerticalAlignment[] = Object.values(\n HdsTableVerticalAlignmentValues\n);\nexport const DEFAULT_VALIGN = HdsTableVerticalAlignmentValues.Top;\n\nexport interface HdsTableArgs {\n Args: {\n align?: HdsTableHorizontalAlignment;\n caption?: string;\n columns?: HdsTableColumn[];\n density?: HdsTableDensities;\n identityKey?: string;\n isFixedLayout?: boolean;\n isSelectable?: boolean;\n isStriped?: boolean;\n model: Array<Record<string, unknown>>;\n onSelectionChange?: (selection: HdsTableOnSelectionChangeArgs) => void;\n onSort?: (sortBy: string, sortOrder: HdsTableThSortOrder) => void;\n selectionAriaLabelSuffix?: string;\n sortBy?: string;\n sortedMessageText?: string;\n sortOrder?: HdsTableThSortOrder;\n valign?: HdsTableVerticalAlignment;\n };\n Blocks: {\n head?: [\n {\n Tr: ComponentLike<HdsTableTrArgs>;\n Th: ComponentLike<HdsTableThArgs>;\n ThSort: ComponentLike<HdsTableThSortArgs>;\n sortBy?: string;\n sortOrder?: HdsTableThSortOrder;\n setSortBy: (column: string) => void;\n },\n ];\n body?: [\n {\n Td: ComponentLike<HdsTableTdArgs>;\n Tr: ComponentLike<HdsTableTrArgs>;\n Th: ComponentLike<HdsTableThArgs>;\n data?: Record<string, unknown>;\n sortBy?: string;\n sortOrder?: HdsTableThSortOrder;\n },\n ];\n };\n Element: HTMLTableElement;\n}\n\nexport default class HdsTable extends Component<HdsTableArgs> {\n @tracked sortBy = this.args.sortBy;\n @tracked sortOrder = this.args.sortOrder || HdsTableThSortOrderValues.Asc;\n @tracked selectAllCheckbox?: HdsFormCheckboxBaseSignature['Element'] =\n undefined;\n selectableRows: HdsTableSelectableRow[] = [];\n @tracked isSelectAllCheckboxSelected?: boolean = undefined;\n\n get getSortCriteria(): string | HdsTableSortingFunction<unknown> {\n // get the current column\n const currentColumn = this.args?.columns?.find(\n (column) => column.key === this.sortBy\n );\n if (\n // check if there is a custom sorting function associated with the current `sortBy` column (we assume the column has `isSortable`)\n currentColumn?.sortingFunction &&\n typeof currentColumn.sortingFunction === 'function'\n ) {\n return currentColumn.sortingFunction;\n } else {\n // otherwise fallback to the default format \"sortBy:sortOrder\"\n return `${this.sortBy}:${this.sortOrder}`;\n }\n }\n\n get identityKey(): string | undefined {\n // we have to provide a way for the consumer to pass undefined because Ember tries to interpret undefined as missing an arg and therefore falls back to the default\n if (this.args.identityKey === 'none') {\n return undefined;\n } else {\n return this.args.identityKey ?? '@identity';\n }\n }\n\n get sortedMessageText(): string {\n if (this.args.sortedMessageText) {\n return this.args.sortedMessageText;\n } else if (this.sortBy && this.sortOrder) {\n // we should allow the user to define a custom value here (e.g., for i18n) - tracked with HDS-965\n return `Sorted by ${this.sortBy} ${this.sortOrder}ending`;\n } else {\n return '';\n }\n }\n\n get isStriped(): boolean {\n return this.args.isStriped ?? false;\n }\n\n get isFixedLayout(): boolean {\n return this.args.isFixedLayout ?? false;\n }\n\n get density(): HdsTableDensities {\n const { density = DEFAULT_DENSITY } = this.args;\n\n assert(\n `@density for \"Hds::Table\" must be one of the following: ${DENSITIES.join(\n ', '\n )}; received: ${density}`,\n DENSITIES.includes(density)\n );\n\n return density;\n }\n\n get valign(): HdsTableVerticalAlignment {\n const { valign = DEFAULT_VALIGN } = this.args;\n\n assert(\n `@valign for \"Hds::Table\" must be one of the following: ${VALIGNMENTS.join(\n ', '\n )}; received: ${valign}`,\n VALIGNMENTS.includes(valign)\n );\n\n return valign;\n }\n\n get classNames(): string {\n const classes = ['hds-table'];\n\n // add a class based on the @isStriped argument\n if (this.isStriped) {\n classes.push('hds-table--striped');\n }\n\n // add a class based on the @isFixedLayout argument\n if (this.isFixedLayout) {\n classes.push('hds-table--layout-fixed');\n }\n\n // add a class based on the @density argument\n if (this.density) {\n classes.push(`hds-table--density-${this.density}`);\n }\n\n // add a class based on the @valign argument\n if (this.valign) {\n classes.push(`hds-table--valign-${this.valign}`);\n }\n\n return classes.join(' ');\n }\n\n @action\n setSortBy(column: string): void {\n if (this.sortBy === column) {\n // check to see if the column is already sorted and invert the sort order if so\n this.sortOrder =\n this.sortOrder === HdsTableThSortOrderValues.Asc\n ? HdsTableThSortOrderValues.Desc\n : HdsTableThSortOrderValues.Asc;\n } else {\n // otherwise, set the sort order to ascending\n this.sortBy = column;\n this.sortOrder = HdsTableThSortOrderValues.Asc;\n }\n\n const { onSort } = this.args;\n\n if (typeof onSort === 'function') {\n onSort(this.sortBy, this.sortOrder);\n }\n }\n\n onSelectionChangeCallback(\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n const { onSelectionChange } = this.args;\n if (typeof onSelectionChange === 'function') {\n onSelectionChange({\n selectionKey: selectionKey,\n selectionCheckboxElement: checkbox,\n selectedRowsKeys: this.selectableRows.reduce<string[]>((acc, row) => {\n if (row.checkbox.checked) {\n acc.push(row.selectionKey);\n }\n return acc;\n }, []),\n selectableRowsStates: this.selectableRows.reduce(\n (\n acc: { selectionKey: string; isSelected: boolean | undefined }[],\n row\n ) => {\n acc.push({\n selectionKey: row.selectionKey,\n isSelected: row.checkbox.checked,\n });\n return acc;\n },\n []\n ),\n });\n }\n }\n\n @action\n onSelectionAllChange(): void {\n this.selectableRows.forEach((row) => {\n row.checkbox.checked = this.selectAllCheckbox?.checked ?? false;\n row.checkbox.dispatchEvent(new Event('toggle', { bubbles: false }));\n });\n this.isSelectAllCheckboxSelected = this.selectAllCheckbox?.checked ?? false;\n this.onSelectionChangeCallback(this.selectAllCheckbox, 'all');\n }\n\n @action\n onSelectionRowChange(\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n this.setSelectAllState();\n this.onSelectionChangeCallback(checkbox, selectionKey);\n }\n\n @action\n didInsertSelectAllCheckbox(\n checkbox: HdsFormCheckboxBaseSignature['Element']\n ): void {\n this.selectAllCheckbox = checkbox;\n }\n\n @action\n willDestroySelectAllCheckbox(): void {\n this.selectAllCheckbox = undefined;\n }\n\n @action\n didInsertRowCheckbox(\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n if (selectionKey) {\n this.selectableRows.push({ selectionKey, checkbox });\n }\n this.setSelectAllState();\n }\n\n @action\n willDestroyRowCheckbox(selectionKey?: string): void {\n this.selectableRows = this.selectableRows.filter(\n (row) => row.selectionKey !== selectionKey\n );\n this.setSelectAllState();\n }\n\n @action\n setSelectAllState(): void {\n if (this.selectAllCheckbox) {\n const selectableRowsCount = this.selectableRows.length;\n const selectedRowsCount = this.selectableRows.filter(\n (row) => row.checkbox.checked\n ).length;\n\n this.selectAllCheckbox.checked =\n selectedRowsCount === selectableRowsCount;\n this.selectAllCheckbox.indeterminate =\n selectedRowsCount > 0 && selectedRowsCount < selectableRowsCount;\n this.isSelectAllCheckboxSelected = this.selectAllCheckbox.checked;\n this.selectAllCheckbox.dispatchEvent(\n new Event('toggle', { bubbles: false })\n );\n }\n }\n}\n"],"names":["DENSITIES","Object","values","HdsTableDensityValues","DEFAULT_DENSITY","Medium","VALIGNMENTS","HdsTableVerticalAlignmentValues","DEFAULT_VALIGN","Top","HdsTable","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_defineProperty","_descriptor4","getSortCriteria","currentColumn","columns","find","column","key","sortBy","sortingFunction","sortOrder","identityKey","undefined","sortedMessageText","isStriped","isFixedLayout","density","assert","join","includes","valign","classNames","classes","push","setSortBy","HdsTableThSortOrderValues","Asc","Desc","onSort","onSelectionChangeCallback","checkbox","selectionKey","onSelectionChange","selectionCheckboxElement","selectedRowsKeys","selectableRows","reduce","acc","row","checked","selectableRowsStates","isSelected","onSelectionAllChange","forEach","selectAllCheckbox","dispatchEvent","Event","bubbles","isSelectAllCheckboxSelected","onSelectionRowChange","setSelectAllState","didInsertSelectAllCheckbox","willDestroySelectAllCheckbox","didInsertRowCheckbox","willDestroyRowCheckbox","filter","selectableRowsCount","length","selectedRowsCount","indeterminate","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import Component from '@glimmer/component';
2
2
  import { assert } from '@ember/debug';
3
+ import { HdsTableHorizontalAlignmentValues } from './types.js';
3
4
  import { precompileTemplate } from '@ember/template-compilation';
4
5
  import { setComponentTemplate } from '@ember/component';
5
6
 
@@ -10,9 +11,9 @@ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-
10
11
  * SPDX-License-Identifier: MPL-2.0
11
12
  */
12
13
 
13
- const ALIGNMENTS = ['left', 'center', 'right'];
14
- const DEFAULT_ALIGN = 'left';
15
- class HdsTableTdComponent extends Component {
14
+ const ALIGNMENTS = Object.values(HdsTableHorizontalAlignmentValues);
15
+ const DEFAULT_ALIGN = HdsTableHorizontalAlignmentValues.Left;
16
+ class HdsTableTd extends Component {
16
17
  /**
17
18
  * @param align
18
19
  * @type {string}
@@ -20,7 +21,7 @@ class HdsTableTdComponent extends Component {
20
21
  * @description Determines the text alignment of the header or cell content. Options are: "left", "center", "right". If no align is defined, "left" is used.
21
22
  */
22
23
  get align() {
23
- let {
24
+ const {
24
25
  align = DEFAULT_ALIGN
25
26
  } = this.args;
26
27
  assert(`@align for "Hds::Table::Td" must be one of the following: ${ALIGNMENTS.join(', ')}; received: ${align}`, ALIGNMENTS.includes(align));
@@ -33,7 +34,7 @@ class HdsTableTdComponent extends Component {
33
34
  * @return {string} The "class" attribute to apply to the component.
34
35
  */
35
36
  get classNames() {
36
- let classes = ['hds-table__td', 'hds-typography-body-200', 'hds-font-weight-regular'];
37
+ const classes = ['hds-table__td', 'hds-typography-body-200', 'hds-font-weight-regular'];
37
38
 
38
39
  // add a class based on the @align argument
39
40
  if (this.align) {
@@ -42,7 +43,7 @@ class HdsTableTdComponent extends Component {
42
43
  return classes.join(' ');
43
44
  }
44
45
  }
45
- setComponentTemplate(TEMPLATE, HdsTableTdComponent);
46
+ setComponentTemplate(TEMPLATE, HdsTableTd);
46
47
 
47
- export { HdsTableTdComponent as default };
48
+ export { ALIGNMENTS, DEFAULT_ALIGN, HdsTableTd as default };
48
49
  //# sourceMappingURL=td.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"td.js","sources":["../../../../src/components/hds/table/td.hbs","../../../../src/components/hds/table/td.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<td class={{this.classNames}} ...attributes>\\n {{yield}}\\n</td>\")","/**\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\nconst ALIGNMENTS = ['left', 'center', 'right'];\nconst DEFAULT_ALIGN = 'left';\n\nexport default class HdsTableTdComponent extends Component {\n /**\n * @param align\n * @type {string}\n * @default left\n * @description Determines the text alignment of the header or cell content. Options are: \"left\", \"center\", \"right\". If no align is defined, \"left\" is used.\n */\n get align() {\n let { align = DEFAULT_ALIGN } = this.args;\n\n assert(\n `@align for \"Hds::Table::Td\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${align}`,\n ALIGNMENTS.includes(align)\n );\n return align;\n }\n\n /**\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() {\n let classes = [\n 'hds-table__td',\n 'hds-typography-body-200',\n 'hds-font-weight-regular',\n ];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-table__td--align-${this.align}`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["ALIGNMENTS","DEFAULT_ALIGN","HdsTableTdComponent","Component","align","args","assert","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;AACA,eAAe,kBAAkB,CAAC,gJAAgJ;;ACDlL;AACA;AACA;AACA;;AAKA,MAAMA,UAAU,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;AAC9C,MAAMC,aAAa,GAAG,MAAM,CAAA;AAEb,MAAMC,mBAAmB,SAASC,SAAS,CAAC;AACzD;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAG;IACV,IAAI;AAAEA,MAAAA,KAAK,GAAGH,aAAAA;KAAe,GAAG,IAAI,CAACI,IAAI,CAAA;AAEzCC,IAAAA,MAAM,CACJ,CAA6DN,0DAAAA,EAAAA,UAAU,CAACO,IAAI,CAC1E,IACF,CAAC,CAAA,YAAA,EAAeH,KAAK,CAAA,CAAE,EACvBJ,UAAU,CAACQ,QAAQ,CAACJ,KAAK,CAC3B,CAAC,CAAA;AACD,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIK,UAAUA,GAAG;IACf,IAAIC,OAAO,GAAG,CACZ,eAAe,EACf,yBAAyB,EACzB,yBAAyB,CAC1B,CAAA;;AAED;IACA,IAAI,IAAI,CAACN,KAAK,EAAE;MACdM,OAAO,CAACC,IAAI,CAAC,CAAA,qBAAA,EAAwB,IAAI,CAACP,KAAK,EAAE,CAAC,CAAA;AACpD,KAAA;AAEA,IAAA,OAAOM,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACK,oBAAA,CAAAC,QAAA,EAtCoBX,mBAAmB,CAAA;;;;"}
1
+ {"version":3,"file":"td.js","sources":["../../../../src/components/hds/table/td.hbs","../../../../src/components/hds/table/td.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<td class={{this.classNames}} ...attributes>\\n {{yield}}\\n</td>\")","/**\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 type { HdsTableHorizontalAlignment } from './types.ts';\nimport { HdsTableHorizontalAlignmentValues } from './types.ts';\n\nexport const ALIGNMENTS: string[] = Object.values(\n HdsTableHorizontalAlignmentValues\n);\nexport const DEFAULT_ALIGN = HdsTableHorizontalAlignmentValues.Left;\n\nexport interface HdsTableTdArgs {\n Args: {\n align?: HdsTableHorizontalAlignment;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLTableCellElement;\n}\nexport default class HdsTableTd extends Component<HdsTableTdArgs> {\n /**\n * @param align\n * @type {string}\n * @default left\n * @description Determines the text alignment of the header or cell content. Options are: \"left\", \"center\", \"right\". If no align is defined, \"left\" is used.\n */\n get align(): HdsTableHorizontalAlignment {\n const { align = DEFAULT_ALIGN } = this.args;\n\n assert(\n `@align for \"Hds::Table::Td\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${align}`,\n ALIGNMENTS.includes(align)\n );\n return align;\n }\n\n /**\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 const classes = [\n 'hds-table__td',\n 'hds-typography-body-200',\n 'hds-font-weight-regular',\n ];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-table__td--align-${this.align}`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["ALIGNMENTS","Object","values","HdsTableHorizontalAlignmentValues","DEFAULT_ALIGN","Left","HdsTableTd","Component","align","args","assert","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,gJAAgJ;;ACDlL;AACA;AACA;AACA;;AAQO,MAAMA,UAAoB,GAAGC,MAAM,CAACC,MAAM,CAC/CC,iCACF,EAAC;AACYC,MAAAA,aAAa,GAAGD,iCAAiC,CAACE,KAAI;AAWpD,MAAMC,UAAU,SAASC,SAAS,CAAiB;AAChE;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAgC;IACvC,MAAM;AAAEA,MAAAA,KAAK,GAAGJ,aAAAA;KAAe,GAAG,IAAI,CAACK,IAAI,CAAA;AAE3CC,IAAAA,MAAM,CACJ,CAA6DV,0DAAAA,EAAAA,UAAU,CAACW,IAAI,CAC1E,IACF,CAAC,CAAA,YAAA,EAAeH,KAAK,CAAA,CAAE,EACvBR,UAAU,CAACY,QAAQ,CAACJ,KAAK,CAC3B,CAAC,CAAA;AACD,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIK,UAAUA,GAAW;IACvB,MAAMC,OAAO,GAAG,CACd,eAAe,EACf,yBAAyB,EACzB,yBAAyB,CAC1B,CAAA;;AAED;IACA,IAAI,IAAI,CAACN,KAAK,EAAE;MACdM,OAAO,CAACC,IAAI,CAAC,CAAA,qBAAA,EAAwB,IAAI,CAACP,KAAK,EAAE,CAAC,CAAA;AACpD,KAAA;AAEA,IAAA,OAAOM,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACK,oBAAA,CAAAC,QAAA,EAtCoBX,UAAU,CAAA;;;;"}
@@ -1,13 +1,14 @@
1
1
  import { a as _defineProperty } from '../../../_rollupPluginBabelHelpers-KIi_qCIU.js';
2
2
  import Component from '@glimmer/component';
3
3
  import { guidFor } from '@ember/object/internals';
4
+ import { HdsTableThSortOrderIconValues, HdsTableThSortOrderValues, HdsTableThSortOrderLabelValues } from './types.js';
4
5
  import { precompileTemplate } from '@ember/template-compilation';
5
6
  import { setComponentTemplate } from '@ember/component';
6
7
 
7
- var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<button\n type=\"button\"\n class={{this.classNames}}\n {{on \"click\" this.onClick}}\n aria-labelledby=\"{{this.prefixLabelId}} {{@labelId}} {{this.suffixLabelId}}\"\n ...attributes\n>\n <span id={{this.prefixLabelId}} class=\"hds-table__th-button-aria-label-hidden-segment\">Sort by</span>\n <span id={{this.suffixLabelId}} class=\"hds-table__th-button-aria-label-hidden-segment\">{{this.sortOrderLabel}}</span>\n <FlightIcon @name={{this.icon}} />\n</button>");
8
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<button\n type=\"button\"\n class={{this.classNames}}\n {{on \"click\" this.onClick}}\n aria-labelledby=\"{{this.prefixLabelId}} {{@labelId}} {{this.suffixLabelId}}\"\n ...attributes\n>\n <span id={{this.prefixLabelId}} class=\"hds-table__th-button-aria-label-hidden-segment\">Sort by</span>\n <span id={{this.suffixLabelId}} class=\"hds-table__th-button-aria-label-hidden-segment\">{{this.sortOrderLabel}}</span>\n <Hds::Icon @name={{this.icon}} />\n</button>");
8
9
 
9
10
  const NOOP = () => {};
10
- class HdsTableThButtonSortComponent extends Component {
11
+ class HdsTableThButtonSort extends Component {
11
12
  constructor(...args) {
12
13
  super(...args);
13
14
  /**
@@ -20,19 +21,19 @@ class HdsTableThButtonSortComponent extends Component {
20
21
  }
21
22
  /**
22
23
  * @param icon
23
- * @type {string}
24
+ * @type {HdsTableThSortOrderIcons}
24
25
  * @private
25
26
  * @default swap-vertical
26
27
  * @description Determines which icon to use based on the sort order defined
27
28
  */
28
29
  get icon() {
29
30
  switch (this.args.sortOrder) {
30
- case 'asc':
31
- return 'arrow-up';
32
- case 'desc':
33
- return 'arrow-down';
31
+ case HdsTableThSortOrderValues.Asc:
32
+ return HdsTableThSortOrderIconValues.ArrowUp;
33
+ case HdsTableThSortOrderValues.Desc:
34
+ return HdsTableThSortOrderIconValues.ArrowDown;
34
35
  default:
35
- return 'swap-vertical';
36
+ return HdsTableThSortOrderIconValues.SwapVertical;
36
37
  }
37
38
  }
38
39
 
@@ -42,7 +43,7 @@ class HdsTableThButtonSortComponent extends Component {
42
43
  * @description Determines the label (suffix) to use in the `aria-labelledby` attribute of the button, used to indicate what will happen if the user clicks on the button
43
44
  */
44
45
  get sortOrderLabel() {
45
- return this.args.sortOrder === 'asc' ? 'descending' : 'ascending';
46
+ return this.args.sortOrder === HdsTableThSortOrderValues.Asc ? HdsTableThSortOrderLabelValues.Desc : HdsTableThSortOrderLabelValues.Asc;
46
47
  }
47
48
 
48
49
  /**
@@ -51,7 +52,7 @@ class HdsTableThButtonSortComponent extends Component {
51
52
  * @default () => {}
52
53
  */
53
54
  get onClick() {
54
- let {
55
+ const {
55
56
  onClick
56
57
  } = this.args;
57
58
  if (typeof onClick === 'function') {
@@ -67,16 +68,16 @@ class HdsTableThButtonSortComponent extends Component {
67
68
  * @return {string} The "class" attribute to apply to the component.
68
69
  */
69
70
  get classNames() {
70
- let classes = ['hds-table__th-button', 'hds-table__th-button--sort'];
71
+ const classes = ['hds-table__th-button', 'hds-table__th-button--sort'];
71
72
 
72
73
  // add a class based on the @sortOrder argument
73
- if (this.args.sortOrder === 'asc' || this.args.sortOrder === 'desc') {
74
+ if (this.args.sortOrder === HdsTableThSortOrderValues.Asc || this.args.sortOrder === HdsTableThSortOrderValues.Desc) {
74
75
  classes.push(`hds-table__th-button--is-sorted`);
75
76
  }
76
77
  return classes.join(' ');
77
78
  }
78
79
  }
79
- setComponentTemplate(TEMPLATE, HdsTableThButtonSortComponent);
80
+ setComponentTemplate(TEMPLATE, HdsTableThButtonSort);
80
81
 
81
- export { HdsTableThButtonSortComponent as default };
82
+ export { HdsTableThButtonSort as default };
82
83
  //# sourceMappingURL=th-button-sort.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"th-button-sort.js","sources":["../../../../src/components/hds/table/th-button-sort.hbs","../../../../src/components/hds/table/th-button-sort.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<button\\n type=\\\"button\\\"\\n class={{this.classNames}}\\n {{on \\\"click\\\" this.onClick}}\\n aria-labelledby=\\\"{{this.prefixLabelId}} {{@labelId}} {{this.suffixLabelId}}\\\"\\n ...attributes\\n>\\n <span id={{this.prefixLabelId}} class=\\\"hds-table__th-button-aria-label-hidden-segment\\\">Sort by</span>\\n <span id={{this.suffixLabelId}} class=\\\"hds-table__th-button-aria-label-hidden-segment\\\">{{this.sortOrderLabel}}</span>\\n <FlightIcon @name={{this.icon}} />\\n</button>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\n\nconst NOOP = () => {};\n\nexport default class HdsTableThButtonSortComponent extends Component {\n /**\n * Generates a unique ID for the (hidden) \"label prefix/suffix\" <span> elements\n *\n * @param prefixLabelId/suffixLabelId\n */\n prefixLabelId = 'prefix-' + guidFor(this);\n suffixLabelId = 'suffix-' + guidFor(this);\n\n /**\n * @param icon\n * @type {string}\n * @private\n * @default swap-vertical\n * @description Determines which icon to use based on the sort order defined\n */\n get icon() {\n switch (this.args.sortOrder) {\n case 'asc':\n return 'arrow-up';\n case 'desc':\n return 'arrow-down';\n default:\n return 'swap-vertical';\n }\n }\n\n /**\n * @param sortOrderLabel\n * @default 'ascending'\n * @description Determines the label (suffix) to use in the `aria-labelledby` attribute of the button, used to indicate what will happen if the user clicks on the button\n */\n get sortOrderLabel() {\n return this.args.sortOrder === 'asc' ? 'descending' : 'ascending';\n }\n\n /**\n * @param onClick\n * @type {function}\n * @default () => {}\n */\n get onClick() {\n let { onClick } = this.args;\n\n if (typeof onClick === 'function') {\n return onClick;\n } else {\n return NOOP;\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() {\n let classes = ['hds-table__th-button', 'hds-table__th-button--sort'];\n\n // add a class based on the @sortOrder argument\n if (this.args.sortOrder === 'asc' || this.args.sortOrder === 'desc') {\n classes.push(`hds-table__th-button--is-sorted`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["NOOP","HdsTableThButtonSortComponent","Component","constructor","args","_defineProperty","guidFor","icon","sortOrder","sortOrderLabel","onClick","classNames","classes","push","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,qiBAAqiB;;ACOvkB,MAAMA,IAAI,GAAGA,MAAM,EAAE,CAAA;AAEN,MAAMC,6BAA6B,SAASC,SAAS,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AACnE;AACF;AACA;AACA;AACA;AAJEC,IAAAA,eAAA,wBAKgB,SAAS,GAAGC,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAAD,IAAAA,eAAA,wBACzB,SAAS,GAAGC,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAA,GAAA;AAEzC;AACF;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,IAAIA,GAAG;AACT,IAAA,QAAQ,IAAI,CAACH,IAAI,CAACI,SAAS;AACzB,MAAA,KAAK,KAAK;AACR,QAAA,OAAO,UAAU,CAAA;AACnB,MAAA,KAAK,MAAM;AACT,QAAA,OAAO,YAAY,CAAA;AACrB,MAAA;AACE,QAAA,OAAO,eAAe,CAAA;AAC1B,KAAA;AACF,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,cAAcA,GAAG;IACnB,OAAO,IAAI,CAACL,IAAI,CAACI,SAAS,KAAK,KAAK,GAAG,YAAY,GAAG,WAAW,CAAA;AACnE,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIE,OAAOA,GAAG;IACZ,IAAI;AAAEA,MAAAA,OAAAA;KAAS,GAAG,IAAI,CAACN,IAAI,CAAA;AAE3B,IAAA,IAAI,OAAOM,OAAO,KAAK,UAAU,EAAE;AACjC,MAAA,OAAOA,OAAO,CAAA;AAChB,KAAC,MAAM;AACL,MAAA,OAAOV,IAAI,CAAA;AACb,KAAA;AACF,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIW,UAAUA,GAAG;AACf,IAAA,IAAIC,OAAO,GAAG,CAAC,sBAAsB,EAAE,4BAA4B,CAAC,CAAA;;AAEpE;AACA,IAAA,IAAI,IAAI,CAACR,IAAI,CAACI,SAAS,KAAK,KAAK,IAAI,IAAI,CAACJ,IAAI,CAACI,SAAS,KAAK,MAAM,EAAE;AACnEI,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,+BAAA,CAAiC,CAAC,CAAA;AACjD,KAAA;AAEA,IAAA,OAAOD,OAAO,CAACE,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACC,oBAAA,CAAAC,QAAA,EAlEoBf,6BAA6B,CAAA;;;;"}
1
+ {"version":3,"file":"th-button-sort.js","sources":["../../../../src/components/hds/table/th-button-sort.hbs","../../../../src/components/hds/table/th-button-sort.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<button\\n type=\\\"button\\\"\\n class={{this.classNames}}\\n {{on \\\"click\\\" this.onClick}}\\n aria-labelledby=\\\"{{this.prefixLabelId}} {{@labelId}} {{this.suffixLabelId}}\\\"\\n ...attributes\\n>\\n <span id={{this.prefixLabelId}} class=\\\"hds-table__th-button-aria-label-hidden-segment\\\">Sort by</span>\\n <span id={{this.suffixLabelId}} class=\\\"hds-table__th-button-aria-label-hidden-segment\\\">{{this.sortOrderLabel}}</span>\\n <Hds::Icon @name={{this.icon}} />\\n</button>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport {\n HdsTableThSortOrderIconValues,\n HdsTableThSortOrderLabelValues,\n HdsTableThSortOrderValues,\n} from './types.ts';\nimport type {\n HdsTableThSortOrder,\n HdsTableThSortOrderIcons,\n HdsTableThSortOrderLabels,\n} from './types.ts';\nexport interface HdsTableThButtonSortArgs {\n Args: {\n labelId?: string;\n onClick?: () => void;\n sortOrder?: HdsTableThSortOrder;\n };\n Element: HTMLButtonElement;\n}\n\nconst NOOP = () => {};\n\nexport default class HdsTableThButtonSort extends Component<HdsTableThButtonSortArgs> {\n /**\n * Generates a unique ID for the (hidden) \"label prefix/suffix\" <span> elements\n *\n * @param prefixLabelId/suffixLabelId\n */\n prefixLabelId = 'prefix-' + guidFor(this);\n suffixLabelId = 'suffix-' + guidFor(this);\n\n /**\n * @param icon\n * @type {HdsTableThSortOrderIcons}\n * @private\n * @default swap-vertical\n * @description Determines which icon to use based on the sort order defined\n */\n get icon(): HdsTableThSortOrderIcons {\n switch (this.args.sortOrder) {\n case HdsTableThSortOrderValues.Asc:\n return HdsTableThSortOrderIconValues.ArrowUp;\n case HdsTableThSortOrderValues.Desc:\n return HdsTableThSortOrderIconValues.ArrowDown;\n default:\n return HdsTableThSortOrderIconValues.SwapVertical;\n }\n }\n\n /**\n * @param sortOrderLabel\n * @default 'ascending'\n * @description Determines the label (suffix) to use in the `aria-labelledby` attribute of the button, used to indicate what will happen if the user clicks on the button\n */\n get sortOrderLabel(): HdsTableThSortOrderLabels {\n return this.args.sortOrder === HdsTableThSortOrderValues.Asc\n ? HdsTableThSortOrderLabelValues.Desc\n : HdsTableThSortOrderLabelValues.Asc;\n }\n\n /**\n * @param onClick\n * @type {function}\n * @default () => {}\n */\n get onClick(): () => void {\n const { onClick } = this.args;\n\n if (typeof onClick === 'function') {\n return onClick;\n } else {\n return NOOP;\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 const classes = ['hds-table__th-button', 'hds-table__th-button--sort'];\n\n // add a class based on the @sortOrder argument\n if (\n this.args.sortOrder === HdsTableThSortOrderValues.Asc ||\n this.args.sortOrder === HdsTableThSortOrderValues.Desc\n ) {\n classes.push(`hds-table__th-button--is-sorted`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["NOOP","HdsTableThButtonSort","Component","constructor","args","_defineProperty","guidFor","icon","sortOrder","HdsTableThSortOrderValues","Asc","HdsTableThSortOrderIconValues","ArrowUp","Desc","ArrowDown","SwapVertical","sortOrderLabel","HdsTableThSortOrderLabelValues","onClick","classNames","classes","push","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AACA,eAAe,kBAAkB,CAAC,oiBAAoiB;;ACyBtkB,MAAMA,IAAI,GAAGA,MAAM,EAAE,CAAA;AAEN,MAAMC,oBAAoB,SAASC,SAAS,CAA2B;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AACpF;AACF;AACA;AACA;AACA;AAJEC,IAAAA,eAAA,wBAKgB,SAAS,GAAGC,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAAD,IAAAA,eAAA,wBACzB,SAAS,GAAGC,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAA,GAAA;AAEzC;AACF;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,IAAIA,GAA6B;AACnC,IAAA,QAAQ,IAAI,CAACH,IAAI,CAACI,SAAS;MACzB,KAAKC,yBAAyB,CAACC,GAAG;QAChC,OAAOC,6BAA6B,CAACC,OAAO,CAAA;MAC9C,KAAKH,yBAAyB,CAACI,IAAI;QACjC,OAAOF,6BAA6B,CAACG,SAAS,CAAA;AAChD,MAAA;QACE,OAAOH,6BAA6B,CAACI,YAAY,CAAA;AACrD,KAAA;AACF,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,cAAcA,GAA8B;AAC9C,IAAA,OAAO,IAAI,CAACZ,IAAI,CAACI,SAAS,KAAKC,yBAAyB,CAACC,GAAG,GACxDO,8BAA8B,CAACJ,IAAI,GACnCI,8BAA8B,CAACP,GAAG,CAAA;AACxC,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIQ,OAAOA,GAAe;IACxB,MAAM;AAAEA,MAAAA,OAAAA;KAAS,GAAG,IAAI,CAACd,IAAI,CAAA;AAE7B,IAAA,IAAI,OAAOc,OAAO,KAAK,UAAU,EAAE;AACjC,MAAA,OAAOA,OAAO,CAAA;AAChB,KAAC,MAAM;AACL,MAAA,OAAOlB,IAAI,CAAA;AACb,KAAA;AACF,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAImB,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,sBAAsB,EAAE,4BAA4B,CAAC,CAAA;;AAEtE;AACA,IAAA,IACE,IAAI,CAAChB,IAAI,CAACI,SAAS,KAAKC,yBAAyB,CAACC,GAAG,IACrD,IAAI,CAACN,IAAI,CAACI,SAAS,KAAKC,yBAAyB,CAACI,IAAI,EACtD;AACAO,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,+BAAA,CAAiC,CAAC,CAAA;AACjD,KAAA;AAEA,IAAA,OAAOD,OAAO,CAACE,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACC,oBAAA,CAAAC,QAAA,EAvEoBvB,oBAAoB,CAAA;;;;"}
@@ -1,12 +1,13 @@
1
1
  import { a as _defineProperty } from '../../../_rollupPluginBabelHelpers-KIi_qCIU.js';
2
2
  import Component from '@glimmer/component';
3
+ import { assert } from '@ember/debug';
3
4
  import { guidFor } from '@ember/object/internals';
4
5
  import { precompileTemplate } from '@ember/template-compilation';
5
6
  import { setComponentTemplate } from '@ember/component';
6
7
 
7
- var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<button\n type=\"button\"\n class={{this.classNames}}\n {{hds-tooltip @tooltip}}\n aria-labelledby=\"{{this.prefixLabelId}} {{@labelId}}\"\n ...attributes\n>\n <span id={{this.prefixLabelId}} class=\"hds-table__th-button-aria-label-hidden-segment\">More information for</span>\n <FlightIcon @name=\"info\" />\n</button>");
8
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<button\n type=\"button\"\n class={{this.classNames}}\n {{hds-tooltip this.tooltip}}\n aria-labelledby=\"{{this.prefixLabelId}} {{@labelId}}\"\n ...attributes\n>\n <span id={{this.prefixLabelId}} class=\"hds-table__th-button-aria-label-hidden-segment\">More information for</span>\n <Hds::Icon @name=\"info\" />\n</button>");
8
9
 
9
- class HdsTableThButtonTooltipComponent extends Component {
10
+ class HdsTableThButtonTooltip extends Component {
10
11
  constructor(...args) {
11
12
  super(...args);
12
13
  /**
@@ -16,17 +17,22 @@ class HdsTableThButtonTooltipComponent extends Component {
16
17
  */
17
18
  _defineProperty(this, "prefixLabelId", guidFor(this));
18
19
  }
20
+ get tooltip() {
21
+ assert(`@tooltip for "HdsTableThButtonTooltip" must be a string`, typeof this.args.tooltip === 'string');
22
+ return this.args.tooltip;
23
+ }
24
+
19
25
  /**
20
26
  * Get the class names to apply to the component.
21
27
  * @method classNames
22
28
  * @return {string} The "class" attribute to apply to the component.
23
29
  */
24
30
  get classNames() {
25
- let classes = ['hds-table__th-button', 'hds-table__th-button--tooltip'];
31
+ const classes = ['hds-table__th-button', 'hds-table__th-button--tooltip'];
26
32
  return classes.join(' ');
27
33
  }
28
34
  }
29
- setComponentTemplate(TEMPLATE, HdsTableThButtonTooltipComponent);
35
+ setComponentTemplate(TEMPLATE, HdsTableThButtonTooltip);
30
36
 
31
- export { HdsTableThButtonTooltipComponent as default };
37
+ export { HdsTableThButtonTooltip as default };
32
38
  //# sourceMappingURL=th-button-tooltip.js.map