@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":"th-button-tooltip.js","sources":["../../../../src/components/hds/table/th-button-tooltip.hbs","../../../../src/components/hds/table/th-button-tooltip.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<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>\")","/**\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\nexport default class HdsTableThButtonTooltipComponent extends Component {\n /**\n * Generates a unique ID for the (hidden) \"label prefix\" <span> element\n *\n * @param prefixLabelId\n */\n prefixLabelId = guidFor(this);\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--tooltip'];\n\n return classes.join(' ');\n }\n}\n"],"names":["HdsTableThButtonTooltipComponent","Component","constructor","args","_defineProperty","guidFor","classNames","classes","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,wZAAwZ;;ACO3a,MAAMA,gCAAgC,SAASC,SAAS,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AACtE;AACF;AACA;AACA;AACA;AAJEC,IAAAA,eAAA,CAKgBC,IAAAA,EAAAA,eAAAA,EAAAA,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAA,GAAA;AAE7B;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAG;AACf,IAAA,IAAIC,OAAO,GAAG,CAAC,sBAAsB,EAAE,+BAA+B,CAAC,CAAA;AAEvE,IAAA,OAAOA,OAAO,CAACC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACC,oBAAA,CAAAC,QAAA,EAlBoBV,gCAAgC,CAAA;;;;"}
1
+ {"version":3,"file":"th-button-tooltip.js","sources":["../../../../src/components/hds/table/th-button-tooltip.hbs","../../../../src/components/hds/table/th-button-tooltip.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<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>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport { guidFor } from '@ember/object/internals';\n\nexport interface HdsTableThButtonTooltipArgs {\n Args: {\n labelId?: string;\n tooltip: string;\n };\n Element: HTMLButtonElement;\n}\n\nexport default class HdsTableThButtonTooltip extends Component<HdsTableThButtonTooltipArgs> {\n /**\n * Generates a unique ID for the (hidden) \"label prefix\" <span> element\n *\n * @param prefixLabelId\n */\n prefixLabelId = guidFor(this);\n\n get tooltip(): string {\n assert(\n `@tooltip for \"HdsTableThButtonTooltip\" must be a string`,\n typeof this.args.tooltip === 'string'\n );\n return this.args.tooltip;\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--tooltip'];\n\n return classes.join(' ');\n }\n}\n"],"names":["HdsTableThButtonTooltip","Component","constructor","args","_defineProperty","guidFor","tooltip","assert","classNames","classes","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AACA,eAAe,kBAAkB,CAAC,2ZAA2Z;;ACgB9a,MAAMA,uBAAuB,SAASC,SAAS,CAA8B;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAC1F;AACF;AACA;AACA;AACA;AAJEC,IAAAA,eAAA,CAKgBC,IAAAA,EAAAA,eAAAA,EAAAA,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAA,GAAA;EAE7B,IAAIC,OAAOA,GAAW;IACpBC,MAAM,CACJ,CAAyD,uDAAA,CAAA,EACzD,OAAO,IAAI,CAACJ,IAAI,CAACG,OAAO,KAAK,QAC/B,CAAC,CAAA;AACD,IAAA,OAAO,IAAI,CAACH,IAAI,CAACG,OAAO,CAAA;AAC1B,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIE,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,sBAAsB,EAAE,+BAA+B,CAAC,CAAA;AAEzE,IAAA,OAAOA,OAAO,CAACC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACC,oBAAA,CAAAC,QAAA,EA1BoBZ,uBAAuB,CAAA;;;;"}
@@ -6,10 +6,10 @@ import { tracked } from '@glimmer/tracking';
6
6
  import { precompileTemplate } from '@ember/template-compilation';
7
7
  import { setComponentTemplate } from '@ember/component';
8
8
 
9
- var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<Hds::Table::Th class=\"hds-table__th--is-selectable\" @scope={{@selectionScope}} ...attributes>\n <Hds::Form::Checkbox::Base\n id={{this.checkboxId}}\n class=\"hds-table__checkbox\"\n checked={{@isSelected}}\n aria-label={{this.ariaLabel}}\n {{did-insert this.didInsert}}\n {{will-destroy this.willDestroy}}\n {{on \"change\" this.onSelectionChange}}\n />\n</Hds::Table::Th>");
9
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<Hds::Table::Th class=\"hds-table__th--is-selectable\" @scope={{@selectionScope}} ...attributes>\n <Hds::Form::Checkbox::Base\n id={{this.checkboxId}}\n class=\"hds-table__checkbox\"\n checked={{@isSelected}}\n aria-label={{this.ariaLabel}}\n {{did-insert this.didInsert}}\n {{will-destroy this.willDestroyNode}}\n {{on \"change\" this.onSelectionChange}}\n />\n</Hds::Table::Th>");
10
10
 
11
11
  var _class, _descriptor;
12
- let HdsTableThSelectableComponent = (_class = class HdsTableThSelectableComponent extends Component {
12
+ let HdsTableThSelectable = (_class = class HdsTableThSelectable extends Component {
13
13
  constructor(...args) {
14
14
  super(...args);
15
15
  _initializerDefineProperty(this, "isSelected", _descriptor, this);
@@ -20,7 +20,7 @@ let HdsTableThSelectableComponent = (_class = class HdsTableThSelectableComponen
20
20
  _defineProperty(this, "checkboxId", 'checkbox-' + guidFor(this));
21
21
  }
22
22
  get ariaLabel() {
23
- let {
23
+ const {
24
24
  selectionAriaLabelSuffix
25
25
  } = this.args;
26
26
  const prefix = this.isSelected ? 'Deselect' : 'Select';
@@ -31,7 +31,7 @@ let HdsTableThSelectableComponent = (_class = class HdsTableThSelectableComponen
31
31
  }
32
32
  }
33
33
  didInsert(checkbox) {
34
- let {
34
+ const {
35
35
  didInsert
36
36
  } = this.args;
37
37
  if (typeof didInsert === 'function') {
@@ -42,9 +42,9 @@ let HdsTableThSelectableComponent = (_class = class HdsTableThSelectableComponen
42
42
  checkbox.addEventListener('toggle', this.updateAriaLabel.bind(this), true);
43
43
  }
44
44
  }
45
- willDestroy(checkbox) {
46
- super.willDestroy(...arguments);
47
- let {
45
+ willDestroyNode(checkbox) {
46
+ super.willDestroy();
47
+ const {
48
48
  willDestroy
49
49
  } = this.args;
50
50
  if (typeof willDestroy === 'function') {
@@ -55,17 +55,20 @@ let HdsTableThSelectableComponent = (_class = class HdsTableThSelectableComponen
55
55
  }
56
56
  }
57
57
  onSelectionChange(event) {
58
- this.isSelected = event.target.checked;
59
- let {
58
+ // Assert event.target as HdsFormCheckboxBaseSignature['Element'] to access the 'checked' property
59
+ const target = event.target;
60
+ this.isSelected = target.checked;
61
+ const {
60
62
  onSelectionChange
61
63
  } = this.args;
62
64
  if (typeof onSelectionChange === 'function') {
63
- onSelectionChange(event.target, this.args.selectionKey);
65
+ onSelectionChange(target, this.args.selectionKey);
64
66
  }
65
67
  }
66
68
  updateAriaLabel(event) {
67
- // updating the `isSelected` value will trigger the update of the `aria-label` value via the `ariaLabel` getter
68
- this.isSelected = event.target.checked;
69
+ // Assert event.target as HTMLInputElement to access the 'checked' property
70
+ const target = event.target;
71
+ this.isSelected = target.checked;
69
72
  }
70
73
  }, (_descriptor = _applyDecoratedDescriptor(_class.prototype, "isSelected", [tracked], {
71
74
  configurable: true,
@@ -74,8 +77,8 @@ let HdsTableThSelectableComponent = (_class = class HdsTableThSelectableComponen
74
77
  initializer: function () {
75
78
  return this.args.isSelected;
76
79
  }
77
- }), _applyDecoratedDescriptor(_class.prototype, "didInsert", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsert"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "willDestroy", [action], Object.getOwnPropertyDescriptor(_class.prototype, "willDestroy"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onSelectionChange", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onSelectionChange"), _class.prototype)), _class);
78
- setComponentTemplate(TEMPLATE, HdsTableThSelectableComponent);
80
+ }), _applyDecoratedDescriptor(_class.prototype, "didInsert", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsert"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "willDestroyNode", [action], Object.getOwnPropertyDescriptor(_class.prototype, "willDestroyNode"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onSelectionChange", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onSelectionChange"), _class.prototype)), _class);
81
+ setComponentTemplate(TEMPLATE, HdsTableThSelectable);
79
82
 
80
- export { HdsTableThSelectableComponent as default };
83
+ export { HdsTableThSelectable as default };
81
84
  //# sourceMappingURL=th-selectable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"th-selectable.js","sources":["../../../../src/components/hds/table/th-selectable.hbs","../../../../src/components/hds/table/th-selectable.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<Hds::Table::Th class=\\\"hds-table__th--is-selectable\\\" @scope={{@selectionScope}} ...attributes>\\n <Hds::Form::Checkbox::Base\\n id={{this.checkboxId}}\\n class=\\\"hds-table__checkbox\\\"\\n checked={{@isSelected}}\\n aria-label={{this.ariaLabel}}\\n {{did-insert this.didInsert}}\\n {{will-destroy this.willDestroy}}\\n {{on \\\"change\\\" this.onSelectionChange}}\\n />\\n</Hds::Table::Th>\")","/**\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 { guidFor } from '@ember/object/internals';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class HdsTableThSelectableComponent extends Component {\n @tracked isSelected = this.args.isSelected;\n\n /**\n * Generate a unique ID for the Checkbox\n * @return {string}\n */\n checkboxId = 'checkbox-' + guidFor(this);\n\n get ariaLabel() {\n let { selectionAriaLabelSuffix } = this.args;\n const prefix = this.isSelected ? 'Deselect' : 'Select';\n if (selectionAriaLabelSuffix) {\n return `${prefix} ${selectionAriaLabelSuffix}`;\n } else {\n return prefix;\n }\n }\n\n @action\n didInsert(checkbox) {\n let { didInsert } = this.args;\n if (typeof didInsert === 'function') {\n didInsert(checkbox, this.args.selectionKey);\n // we need to use a custom event listener here because changing the `checked` value via JS\n // (and this happens with the \"select all\") doesn't trigger the `change` event\n // and consequently the `aria-label` won't be automatically updated (and so we have to force it)\n checkbox.addEventListener(\n 'toggle',\n this.updateAriaLabel.bind(this),\n true\n );\n }\n }\n\n @action\n willDestroy(checkbox) {\n super.willDestroy(...arguments);\n let { willDestroy } = this.args;\n if (typeof willDestroy === 'function') {\n willDestroy(this.args.selectionKey);\n if (checkbox) {\n checkbox.removeEventListener(\n 'toggle',\n this.updateAriaLabel.bind(this),\n true\n );\n }\n }\n }\n\n @action\n onSelectionChange(event) {\n this.isSelected = event.target.checked;\n let { onSelectionChange } = this.args;\n if (typeof onSelectionChange === 'function') {\n onSelectionChange(event.target, this.args.selectionKey);\n }\n }\n\n updateAriaLabel(event) {\n // updating the `isSelected` value will trigger the update of the `aria-label` value via the `ariaLabel` getter\n this.isSelected = event.target.checked;\n }\n}\n"],"names":["HdsTableThSelectableComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","guidFor","ariaLabel","selectionAriaLabelSuffix","prefix","isSelected","didInsert","checkbox","selectionKey","addEventListener","updateAriaLabel","bind","willDestroy","arguments","removeEventListener","onSelectionChange","event","target","checked","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
1
+ {"version":3,"file":"th-selectable.js","sources":["../../../../src/components/hds/table/th-selectable.hbs","../../../../src/components/hds/table/th-selectable.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<Hds::Table::Th class=\\\"hds-table__th--is-selectable\\\" @scope={{@selectionScope}} ...attributes>\\n <Hds::Form::Checkbox::Base\\n id={{this.checkboxId}}\\n class=\\\"hds-table__checkbox\\\"\\n checked={{@isSelected}}\\n aria-label={{this.ariaLabel}}\\n {{did-insert this.didInsert}}\\n {{will-destroy this.willDestroyNode}}\\n {{on \\\"change\\\" this.onSelectionChange}}\\n />\\n</Hds::Table::Th>\")","/**\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 { guidFor } from '@ember/object/internals';\nimport { tracked } from '@glimmer/tracking';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base';\nimport type { HdsTableScope } from './types';\nimport type { HdsTableThArgs } from './th';\n\nexport interface HdsTableThSelectableArgs {\n Args: {\n didInsert: (\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ) => void;\n isSelected?: boolean;\n onSelectionChange: (\n target: HdsFormCheckboxBaseSignature['Element'],\n selectionKey: string | undefined\n ) => void;\n selectionAriaLabelSuffix?: string;\n selectionKey?: string;\n selectionScope: HdsTableScope;\n willDestroy: (selectionKey?: string) => void;\n };\n Element: HdsTableThArgs['Element'];\n}\n\nexport default class HdsTableThSelectable extends Component<HdsTableThSelectableArgs> {\n @tracked isSelected = this.args.isSelected;\n\n /**\n * Generate a unique ID for the Checkbox\n * @return {string}\n */\n checkboxId = 'checkbox-' + guidFor(this);\n\n get ariaLabel(): string {\n const { selectionAriaLabelSuffix } = this.args;\n const prefix = this.isSelected ? 'Deselect' : 'Select';\n if (selectionAriaLabelSuffix) {\n return `${prefix} ${selectionAriaLabelSuffix}`;\n } else {\n return prefix;\n }\n }\n\n @action\n didInsert(checkbox: HdsFormCheckboxBaseSignature['Element']): void {\n const { didInsert } = this.args;\n if (typeof didInsert === 'function') {\n didInsert(checkbox, this.args.selectionKey);\n // we need to use a custom event listener here because changing the `checked` value via JS\n // (and this happens with the \"select all\") doesn't trigger the `change` event\n // and consequently the `aria-label` won't be automatically updated (and so we have to force it)\n checkbox.addEventListener(\n 'toggle',\n this.updateAriaLabel.bind(this),\n true\n );\n }\n }\n\n @action\n willDestroyNode(checkbox: HdsFormCheckboxBaseSignature['Element']): void {\n super.willDestroy();\n const { willDestroy } = this.args;\n if (typeof willDestroy === 'function') {\n willDestroy(this.args.selectionKey);\n if (checkbox) {\n checkbox.removeEventListener(\n 'toggle',\n this.updateAriaLabel.bind(this),\n true\n );\n }\n }\n }\n\n @action\n onSelectionChange(event: Event): void {\n // Assert event.target as HdsFormCheckboxBaseSignature['Element'] to access the 'checked' property\n const target = event.target as HdsFormCheckboxBaseSignature['Element'];\n this.isSelected = target.checked;\n const { onSelectionChange } = this.args;\n if (typeof onSelectionChange === 'function') {\n onSelectionChange(target, this.args.selectionKey);\n }\n }\n\n updateAriaLabel(event: Event): void {\n // Assert event.target as HTMLInputElement to access the 'checked' property\n const target = event.target as HdsFormCheckboxBaseSignature['Element'];\n this.isSelected = target.checked;\n }\n}\n"],"names":["HdsTableThSelectable","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","guidFor","ariaLabel","selectionAriaLabelSuffix","prefix","isSelected","didInsert","checkbox","selectionKey","addEventListener","updateAriaLabel","bind","willDestroyNode","willDestroy","removeEventListener","onSelectionChange","event","target","checked","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -2,14 +2,15 @@ import { a as _defineProperty } from '../../../_rollupPluginBabelHelpers-KIi_qCI
2
2
  import Component from '@glimmer/component';
3
3
  import { guidFor } from '@ember/object/internals';
4
4
  import { assert } from '@ember/debug';
5
+ import { HdsTableHorizontalAlignmentValues, HdsTableThSortOrderLabelValues, HdsTableThSortOrderValues } from './types.js';
5
6
  import { precompileTemplate } from '@ember/template-compilation';
6
7
  import { setComponentTemplate } from '@ember/component';
7
8
 
8
9
  var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<th\n class={{this.classNames}}\n aria-sort={{this.ariaSort}}\n {{style width=@width minWidth=@width}}\n ...attributes\n scope=\"col\"\n>\n <div class=\"hds-table__th-content\">\n <span id={{this.labelId}} class=\"hds-typography-body-200 hds-font-weight-semibold\">{{yield}}</span>\n {{#if @tooltip}}\n <Hds::Table::ThButtonTooltip @tooltip={{@tooltip}} @labelId={{this.labelId}} />\n {{/if}}\n <Hds::Table::ThButtonSort @sortOrder={{@sortOrder}} @onClick={{@onClickSort}} @labelId={{this.labelId}} />\n </div>\n</th>");
9
10
 
10
- const ALIGNMENTS = ['left', 'center', 'right'];
11
- const DEFAULT_ALIGN = 'left';
12
- class HdsTableThSortComponent extends Component {
11
+ const ALIGNMENTS = Object.values(HdsTableHorizontalAlignmentValues);
12
+ const DEFAULT_ALIGN = HdsTableHorizontalAlignmentValues.Left;
13
+ class HdsTableThSort extends Component {
13
14
  constructor(...args) {
14
15
  super(...args);
15
16
  /**
@@ -21,31 +22,31 @@ class HdsTableThSortComponent extends Component {
21
22
  }
22
23
  /**
23
24
  * @param ariaSort
24
- * @type {string}
25
+ * @type {HdsTableThSortOrderLabels}
25
26
  * @private
26
27
  * @default none
27
28
  * @description Sets the aria-sort attribute based on the sort order defined; acceptable values are ascending, descending, none(default) and other. Authors SHOULD only apply this property to table headers or grid headers. If the property is not provided, there is no defined sort order. For each table or grid, authors SHOULD apply aria-sort to only one header at a time.
28
29
  */
29
30
  get ariaSort() {
30
31
  switch (this.args.sortOrder) {
31
- case 'asc':
32
- return 'ascending';
33
- case 'desc':
34
- return 'descending';
32
+ case HdsTableThSortOrderValues.Asc:
33
+ return HdsTableThSortOrderLabelValues.Asc;
34
+ case HdsTableThSortOrderValues.Desc:
35
+ return HdsTableThSortOrderLabelValues.Desc;
35
36
  default:
36
37
  // none is the default per the spec.
37
- return 'none';
38
+ return HdsTableThSortOrderLabelValues.None;
38
39
  }
39
40
  }
40
41
 
41
42
  /**
42
43
  * @param align
43
- * @type {string}
44
+ * @type {HdsTableHorizontalAlignment}
44
45
  * @default left
45
46
  * @description Determines the text alignment of the header or cell content. Options are: "left", "center", "right". If no align is defined, "left" is used.
46
47
  */
47
48
  get align() {
48
- let {
49
+ const {
49
50
  align = DEFAULT_ALIGN
50
51
  } = this.args;
51
52
  assert(`@align for "Hds::Table" must be one of the following: ${ALIGNMENTS.join(', ')}; received: ${align}`, ALIGNMENTS.includes(align));
@@ -58,7 +59,7 @@ class HdsTableThSortComponent extends Component {
58
59
  * @return {string} The "class" attribute to apply to the component.
59
60
  */
60
61
  get classNames() {
61
- let classes = ['hds-table__th', 'hds-table__th--sort'];
62
+ const classes = ['hds-table__th', 'hds-table__th--sort'];
62
63
 
63
64
  // add a class based on the @align argument
64
65
  if (this.align) {
@@ -67,7 +68,7 @@ class HdsTableThSortComponent extends Component {
67
68
  return classes.join(' ');
68
69
  }
69
70
  }
70
- setComponentTemplate(TEMPLATE, HdsTableThSortComponent);
71
+ setComponentTemplate(TEMPLATE, HdsTableThSort);
71
72
 
72
- export { HdsTableThSortComponent as default };
73
+ export { ALIGNMENTS, DEFAULT_ALIGN, HdsTableThSort as default };
73
74
  //# sourceMappingURL=th-sort.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"th-sort.js","sources":["../../../../src/components/hds/table/th-sort.hbs","../../../../src/components/hds/table/th-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<th\\n class={{this.classNames}}\\n aria-sort={{this.ariaSort}}\\n {{style width=@width minWidth=@width}}\\n ...attributes\\n scope=\\\"col\\\"\\n>\\n <div class=\\\"hds-table__th-content\\\">\\n <span id={{this.labelId}} class=\\\"hds-typography-body-200 hds-font-weight-semibold\\\">{{yield}}</span>\\n {{#if @tooltip}}\\n <Hds::Table::ThButtonTooltip @tooltip={{@tooltip}} @labelId={{this.labelId}} />\\n {{/if}}\\n <Hds::Table::ThButtonSort @sortOrder={{@sortOrder}} @onClick={{@onClickSort}} @labelId={{this.labelId}} />\\n </div>\\n</th>\")","/**\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 { assert } from '@ember/debug';\n\nconst ALIGNMENTS = ['left', 'center', 'right'];\nconst DEFAULT_ALIGN = 'left';\n\nexport default class HdsTableThSortComponent extends Component {\n /**\n * Generates a unique ID for the <span> element (\"label\")\n *\n * @param labelId\n */\n labelId = guidFor(this);\n\n /**\n * @param ariaSort\n * @type {string}\n * @private\n * @default none\n * @description Sets the aria-sort attribute based on the sort order defined; acceptable values are ascending, descending, none(default) and other. Authors SHOULD only apply this property to table headers or grid headers. If the property is not provided, there is no defined sort order. For each table or grid, authors SHOULD apply aria-sort to only one header at a time.\n */\n get ariaSort() {\n switch (this.args.sortOrder) {\n case 'asc':\n return 'ascending';\n case 'desc':\n return 'descending';\n default:\n // none is the default per the spec.\n return 'none';\n }\n }\n\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\" 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 = ['hds-table__th', 'hds-table__th--sort'];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-table__th--align-${this.align}`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["ALIGNMENTS","DEFAULT_ALIGN","HdsTableThSortComponent","Component","constructor","args","_defineProperty","guidFor","ariaSort","sortOrder","align","assert","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AACA,eAAe,kBAAkB,CAAC,6mBAA6mB;;ACQ/oB,MAAMA,UAAU,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;AAC9C,MAAMC,aAAa,GAAG,MAAM,CAAA;AAEb,MAAMC,uBAAuB,SAASC,SAAS,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAC7D;AACF;AACA;AACA;AACA;AAJEC,IAAAA,eAAA,CAKUC,IAAAA,EAAAA,SAAAA,EAAAA,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAA,GAAA;AAEvB;AACF;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,QAAQA,GAAG;AACb,IAAA,QAAQ,IAAI,CAACH,IAAI,CAACI,SAAS;AACzB,MAAA,KAAK,KAAK;AACR,QAAA,OAAO,WAAW,CAAA;AACpB,MAAA,KAAK,MAAM;AACT,QAAA,OAAO,YAAY,CAAA;AACrB,MAAA;AACE;AACA,QAAA,OAAO,MAAM,CAAA;AACjB,KAAA;AACF,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAG;IACV,IAAI;AAAEA,MAAAA,KAAK,GAAGT,aAAAA;KAAe,GAAG,IAAI,CAACI,IAAI,CAAA;AAEzCM,IAAAA,MAAM,CACJ,CAAyDX,sDAAAA,EAAAA,UAAU,CAACY,IAAI,CACtE,IACF,CAAC,CAAA,YAAA,EAAeF,KAAK,CAAA,CAAE,EACvBV,UAAU,CAACa,QAAQ,CAACH,KAAK,CAC3B,CAAC,CAAA;AACD,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAII,UAAUA,GAAG;AACf,IAAA,IAAIC,OAAO,GAAG,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAA;;AAEtD;IACA,IAAI,IAAI,CAACL,KAAK,EAAE;MACdK,OAAO,CAACC,IAAI,CAAC,CAAA,qBAAA,EAAwB,IAAI,CAACN,KAAK,EAAE,CAAC,CAAA;AACpD,KAAA;AAEA,IAAA,OAAOK,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACK,oBAAA,CAAAC,QAAA,EA5DoBhB,uBAAuB,CAAA;;;;"}
1
+ {"version":3,"file":"th-sort.js","sources":["../../../../src/components/hds/table/th-sort.hbs","../../../../src/components/hds/table/th-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<th\\n class={{this.classNames}}\\n aria-sort={{this.ariaSort}}\\n {{style width=@width minWidth=@width}}\\n ...attributes\\n scope=\\\"col\\\"\\n>\\n <div class=\\\"hds-table__th-content\\\">\\n <span id={{this.labelId}} class=\\\"hds-typography-body-200 hds-font-weight-semibold\\\">{{yield}}</span>\\n {{#if @tooltip}}\\n <Hds::Table::ThButtonTooltip @tooltip={{@tooltip}} @labelId={{this.labelId}} />\\n {{/if}}\\n <Hds::Table::ThButtonSort @sortOrder={{@sortOrder}} @onClick={{@onClickSort}} @labelId={{this.labelId}} />\\n </div>\\n</th>\")","/**\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 { assert } from '@ember/debug';\n\nimport {\n HdsTableHorizontalAlignmentValues,\n HdsTableThSortOrderValues,\n HdsTableThSortOrderLabelValues,\n} from './types.ts';\nimport type {\n HdsTableHorizontalAlignment,\n HdsTableThSortOrder,\n HdsTableThSortOrderLabels,\n} from './types.ts';\n\nexport const ALIGNMENTS: string[] = Object.values(\n HdsTableHorizontalAlignmentValues\n);\nexport const DEFAULT_ALIGN = HdsTableHorizontalAlignmentValues.Left;\n\nexport interface HdsTableThSortArgs {\n Args: {\n align?: HdsTableHorizontalAlignment;\n onClickSort?: () => void;\n sortOrder?: HdsTableThSortOrder;\n tooltip?: string;\n width?: string;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsTableThSort extends Component<HdsTableThSortArgs> {\n /**\n * Generates a unique ID for the <span> element (\"label\")\n *\n * @param labelId\n */\n labelId = guidFor(this);\n\n /**\n * @param ariaSort\n * @type {HdsTableThSortOrderLabels}\n * @private\n * @default none\n * @description Sets the aria-sort attribute based on the sort order defined; acceptable values are ascending, descending, none(default) and other. Authors SHOULD only apply this property to table headers or grid headers. If the property is not provided, there is no defined sort order. For each table or grid, authors SHOULD apply aria-sort to only one header at a time.\n */\n get ariaSort(): HdsTableThSortOrderLabels {\n switch (this.args.sortOrder) {\n case HdsTableThSortOrderValues.Asc:\n return HdsTableThSortOrderLabelValues.Asc;\n case HdsTableThSortOrderValues.Desc:\n return HdsTableThSortOrderLabelValues.Desc;\n default:\n // none is the default per the spec.\n return HdsTableThSortOrderLabelValues.None;\n }\n }\n\n /**\n * @param align\n * @type {HdsTableHorizontalAlignment}\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\" 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 = ['hds-table__th', 'hds-table__th--sort'];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-table__th--align-${this.align}`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["ALIGNMENTS","Object","values","HdsTableHorizontalAlignmentValues","DEFAULT_ALIGN","Left","HdsTableThSort","Component","constructor","args","_defineProperty","guidFor","ariaSort","sortOrder","HdsTableThSortOrderValues","Asc","HdsTableThSortOrderLabelValues","Desc","None","align","assert","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AACA,eAAe,kBAAkB,CAAC,6mBAA6mB;;ACmBxoB,MAAMA,UAAoB,GAAGC,MAAM,CAACC,MAAM,CAC/CC,iCACF,EAAC;AACYC,MAAAA,aAAa,GAAGD,iCAAiC,CAACE,KAAI;AAgBpD,MAAMC,cAAc,SAASC,SAAS,CAAqB;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AACxE;AACF;AACA;AACA;AACA;AAJEC,IAAAA,eAAA,CAKUC,IAAAA,EAAAA,SAAAA,EAAAA,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAA,GAAA;AAEvB;AACF;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,QAAQA,GAA8B;AACxC,IAAA,QAAQ,IAAI,CAACH,IAAI,CAACI,SAAS;MACzB,KAAKC,yBAAyB,CAACC,GAAG;QAChC,OAAOC,8BAA8B,CAACD,GAAG,CAAA;MAC3C,KAAKD,yBAAyB,CAACG,IAAI;QACjC,OAAOD,8BAA8B,CAACC,IAAI,CAAA;AAC5C,MAAA;AACE;QACA,OAAOD,8BAA8B,CAACE,IAAI,CAAA;AAC9C,KAAA;AACF,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAgC;IACvC,MAAM;AAAEA,MAAAA,KAAK,GAAGf,aAAAA;KAAe,GAAG,IAAI,CAACK,IAAI,CAAA;AAE3CW,IAAAA,MAAM,CACJ,CAAyDpB,sDAAAA,EAAAA,UAAU,CAACqB,IAAI,CACtE,IACF,CAAC,CAAA,YAAA,EAAeF,KAAK,CAAA,CAAE,EACvBnB,UAAU,CAACsB,QAAQ,CAACH,KAAK,CAC3B,CAAC,CAAA;AACD,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAII,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAA;;AAExD;IACA,IAAI,IAAI,CAACL,KAAK,EAAE;MACdK,OAAO,CAACC,IAAI,CAAC,CAAA,qBAAA,EAAwB,IAAI,CAACN,KAAK,EAAE,CAAC,CAAA;AACpD,KAAA;AAEA,IAAA,OAAOK,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACK,oBAAA,CAAAC,QAAA,EA5DoBrB,cAAc,CAAA;;;;"}
@@ -2,14 +2,15 @@ import { a as _defineProperty } from '../../../_rollupPluginBabelHelpers-KIi_qCI
2
2
  import Component from '@glimmer/component';
3
3
  import { guidFor } from '@ember/object/internals';
4
4
  import { assert } from '@ember/debug';
5
+ import { HdsTableHorizontalAlignmentValues } from './types.js';
5
6
  import { precompileTemplate } from '@ember/template-compilation';
6
7
  import { setComponentTemplate } from '@ember/component';
7
8
 
8
9
  var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<th class={{this.classNames}} {{style width=@width minWidth=@width}} ...attributes scope={{(or @scope \"col\")}}>\n {{#if @isVisuallyHidden}}\n <span class=\"sr-only\">{{yield}}</span>\n {{else}}\n {{#if @tooltip}}\n <div class=\"hds-table__th-content\">\n <span id={{this.labelId}} class=\"hds-typography-body-200 hds-font-weight-semibold\">{{yield}}</span>\n <Hds::Table::ThButtonTooltip @tooltip={{@tooltip}} @labelId={{this.labelId}} />\n </div>\n {{else}}\n <span class=\"hds-typography-body-200 hds-font-weight-semibold\">{{yield}}</span>\n {{/if}}\n {{/if}}\n</th>");
9
10
 
10
- const ALIGNMENTS = ['left', 'center', 'right'];
11
- const DEFAULT_ALIGN = 'left';
12
- class HdsTableThComponent extends Component {
11
+ const ALIGNMENTS = Object.values(HdsTableHorizontalAlignmentValues);
12
+ const DEFAULT_ALIGN = HdsTableHorizontalAlignmentValues.Left;
13
+ class HdsTableTh extends Component {
13
14
  constructor(...args) {
14
15
  super(...args);
15
16
  /**
@@ -21,12 +22,12 @@ class HdsTableThComponent extends Component {
21
22
  }
22
23
  /**
23
24
  * @param align
24
- * @type {string}
25
+ * @type {HdsTableHorizontalAlignment}
25
26
  * @default left
26
27
  * @description Determines the text alignment of the header or cell content. Options are: "left", "center", "right". If no align is defined, "left" is used.
27
28
  */
28
29
  get align() {
29
- let {
30
+ const {
30
31
  align = DEFAULT_ALIGN
31
32
  } = this.args;
32
33
  assert(`@align for "Hds::Table::Th" must be one of the following: ${ALIGNMENTS.join(', ')}; received: ${align}`, ALIGNMENTS.includes(align));
@@ -39,7 +40,7 @@ class HdsTableThComponent extends Component {
39
40
  * @return {string} The "class" attribute to apply to the component.
40
41
  */
41
42
  get classNames() {
42
- let classes = ['hds-table__th'];
43
+ const classes = ['hds-table__th'];
43
44
 
44
45
  // add a class based on the @align argument
45
46
  if (this.align) {
@@ -48,7 +49,7 @@ class HdsTableThComponent extends Component {
48
49
  return classes.join(' ');
49
50
  }
50
51
  }
51
- setComponentTemplate(TEMPLATE, HdsTableThComponent);
52
+ setComponentTemplate(TEMPLATE, HdsTableTh);
52
53
 
53
- export { HdsTableThComponent as default };
54
+ export { ALIGNMENTS, DEFAULT_ALIGN, HdsTableTh as default };
54
55
  //# sourceMappingURL=th.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"th.js","sources":["../../../../src/components/hds/table/th.hbs","../../../../src/components/hds/table/th.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<th class={{this.classNames}} {{style width=@width minWidth=@width}} ...attributes scope={{(or @scope \\\"col\\\")}}>\\n {{#if @isVisuallyHidden}}\\n <span class=\\\"sr-only\\\">{{yield}}</span>\\n {{else}}\\n {{#if @tooltip}}\\n <div class=\\\"hds-table__th-content\\\">\\n <span id={{this.labelId}} class=\\\"hds-typography-body-200 hds-font-weight-semibold\\\">{{yield}}</span>\\n <Hds::Table::ThButtonTooltip @tooltip={{@tooltip}} @labelId={{this.labelId}} />\\n </div>\\n {{else}}\\n <span class=\\\"hds-typography-body-200 hds-font-weight-semibold\\\">{{yield}}</span>\\n {{/if}}\\n {{/if}}\\n</th>\")","/**\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 { assert } from '@ember/debug';\n\nconst ALIGNMENTS = ['left', 'center', 'right'];\nconst DEFAULT_ALIGN = 'left';\n\nexport default class HdsTableThComponent extends Component {\n /**\n * Generates a unique ID for the <span> element (\"label\")\n *\n * @param labelId\n */\n labelId = guidFor(this);\n\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::Th\" 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 = ['hds-table__th'];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-table__th--align-${this.align}`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["ALIGNMENTS","DEFAULT_ALIGN","HdsTableThComponent","Component","constructor","args","_defineProperty","guidFor","align","assert","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AACA,eAAe,kBAAkB,CAAC,urBAAurB;;ACQztB,MAAMA,UAAU,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;AAC9C,MAAMC,aAAa,GAAG,MAAM,CAAA;AAEb,MAAMC,mBAAmB,SAASC,SAAS,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AACzD;AACF;AACA;AACA;AACA;AAJEC,IAAAA,eAAA,CAKUC,IAAAA,EAAAA,SAAAA,EAAAA,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAA,GAAA;AAEvB;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAG;IACV,IAAI;AAAEA,MAAAA,KAAK,GAAGP,aAAAA;KAAe,GAAG,IAAI,CAACI,IAAI,CAAA;AAEzCI,IAAAA,MAAM,CACJ,CAA6DT,0DAAAA,EAAAA,UAAU,CAACU,IAAI,CAC1E,IACF,CAAC,CAAA,YAAA,EAAeF,KAAK,CAAA,CAAE,EACvBR,UAAU,CAACW,QAAQ,CAACH,KAAK,CAC3B,CAAC,CAAA;AACD,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAII,UAAUA,GAAG;AACf,IAAA,IAAIC,OAAO,GAAG,CAAC,eAAe,CAAC,CAAA;;AAE/B;IACA,IAAI,IAAI,CAACL,KAAK,EAAE;MACdK,OAAO,CAACC,IAAI,CAAC,CAAA,qBAAA,EAAwB,IAAI,CAACN,KAAK,EAAE,CAAC,CAAA;AACpD,KAAA;AAEA,IAAA,OAAOK,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACK,oBAAA,CAAAC,QAAA,EAzCoBd,mBAAmB,CAAA;;;;"}
1
+ {"version":3,"file":"th.js","sources":["../../../../src/components/hds/table/th.hbs","../../../../src/components/hds/table/th.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<th class={{this.classNames}} {{style width=@width minWidth=@width}} ...attributes scope={{(or @scope \\\"col\\\")}}>\\n {{#if @isVisuallyHidden}}\\n <span class=\\\"sr-only\\\">{{yield}}</span>\\n {{else}}\\n {{#if @tooltip}}\\n <div class=\\\"hds-table__th-content\\\">\\n <span id={{this.labelId}} class=\\\"hds-typography-body-200 hds-font-weight-semibold\\\">{{yield}}</span>\\n <Hds::Table::ThButtonTooltip @tooltip={{@tooltip}} @labelId={{this.labelId}} />\\n </div>\\n {{else}}\\n <span class=\\\"hds-typography-body-200 hds-font-weight-semibold\\\">{{yield}}</span>\\n {{/if}}\\n {{/if}}\\n</th>\")","/**\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 { assert } from '@ember/debug';\n\nimport type { HdsTableHorizontalAlignment, HdsTableScope } 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 HdsTableThArgs {\n Args: {\n align?: HdsTableHorizontalAlignment;\n isVisuallyHidden?: boolean;\n scope?: HdsTableScope;\n tooltip?: string;\n width?: string;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLTableCellElement;\n}\n\nexport default class HdsTableTh extends Component<HdsTableThArgs> {\n /**\n * Generates a unique ID for the <span> element (\"label\")\n *\n * @param labelId\n */\n labelId = guidFor(this);\n\n /**\n * @param align\n * @type {HdsTableHorizontalAlignment}\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::Th\" 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 = ['hds-table__th'];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-table__th--align-${this.align}`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["ALIGNMENTS","Object","values","HdsTableHorizontalAlignmentValues","DEFAULT_ALIGN","Left","HdsTableTh","Component","constructor","args","_defineProperty","guidFor","align","assert","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AACA,eAAe,kBAAkB,CAAC,urBAAurB;;ACWltB,MAAMA,UAAoB,GAAGC,MAAM,CAACC,MAAM,CAC/CC,iCACF,EAAC;AACYC,MAAAA,aAAa,GAAGD,iCAAiC,CAACE,KAAI;AAgBpD,MAAMC,UAAU,SAASC,SAAS,CAAiB;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAChE;AACF;AACA;AACA;AACA;AAJEC,IAAAA,eAAA,CAKUC,IAAAA,EAAAA,SAAAA,EAAAA,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAA,GAAA;AAEvB;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAgC;IACvC,MAAM;AAAEA,MAAAA,KAAK,GAAGR,aAAAA;KAAe,GAAG,IAAI,CAACK,IAAI,CAAA;AAE3CI,IAAAA,MAAM,CACJ,CAA6Db,0DAAAA,EAAAA,UAAU,CAACc,IAAI,CAC1E,IACF,CAAC,CAAA,YAAA,EAAeF,KAAK,CAAA,CAAE,EACvBZ,UAAU,CAACe,QAAQ,CAACH,KAAK,CAC3B,CAAC,CAAA;AACD,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAII,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,eAAe,CAAC,CAAA;;AAEjC;IACA,IAAI,IAAI,CAACL,KAAK,EAAE;MACdK,OAAO,CAACC,IAAI,CAAC,CAAA,qBAAA,EAAwB,IAAI,CAACN,KAAK,EAAE,CAAC,CAAA;AACpD,KAAA;AAEA,IAAA,OAAOK,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACK,oBAAA,CAAAC,QAAA,EAzCoBd,UAAU,CAAA;;;;"}
@@ -10,7 +10,7 @@ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-
10
10
  * SPDX-License-Identifier: MPL-2.0
11
11
  */
12
12
 
13
- class HdsTableTrComponent extends Component {
13
+ class HdsTableTr extends Component {
14
14
  /**
15
15
  * @param selectionKey
16
16
  * @type {string}
@@ -24,7 +24,7 @@ class HdsTableTrComponent extends Component {
24
24
  return undefined;
25
25
  }
26
26
  }
27
- setComponentTemplate(TEMPLATE, HdsTableTrComponent);
27
+ setComponentTemplate(TEMPLATE, HdsTableTr);
28
28
 
29
- export { HdsTableTrComponent as default };
29
+ export { HdsTableTr as default };
30
30
  //# sourceMappingURL=tr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tr.js","sources":["../../../../src/components/hds/table/tr.hbs","../../../../src/components/hds/table/tr.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<tr class=\\\"hds-table__tr\\\" ...attributes>\\n {{#if @isSelectable}}\\n <Hds::Table::ThSelectable\\n @isSelected={{@isSelected}}\\n @selectionScope={{@selectionScope}}\\n @selectionKey={{this.selectionKey}}\\n @selectionAriaLabelSuffix={{@selectionAriaLabelSuffix}}\\n @didInsert={{@didInsert}}\\n @willDestroy={{@willDestroy}}\\n @onSelectionChange={{@onSelectionChange}}\\n />\\n {{/if}}\\n\\n {{yield}}\\n</tr>\")","/**\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\nexport default class HdsTableTrComponent extends Component {\n /**\n * @param selectionKey\n * @type {string}\n * @default undefined\n */\n get selectionKey() {\n if (this.args.isSelectable && this.args.selectionScope === 'row') {\n assert(\n `@selectionKey must be defined on Table::Tr or B.Tr when @isSelectable is true`,\n this.args.selectionKey\n );\n return this.args.selectionKey;\n }\n return undefined;\n }\n}\n"],"names":["HdsTableTrComponent","Component","selectionKey","args","isSelectable","selectionScope","assert","undefined","setComponentTemplate","TEMPLATE"],"mappings":";;;;;AACA,eAAe,kBAAkB,CAAC,4gBAA4gB;;ACD9iB;AACA;AACA;AACA;;AAKe,MAAMA,mBAAmB,SAASC,SAAS,CAAC;AACzD;AACF;AACA;AACA;AACA;EACE,IAAIC,YAAYA,GAAG;AACjB,IAAA,IAAI,IAAI,CAACC,IAAI,CAACC,YAAY,IAAI,IAAI,CAACD,IAAI,CAACE,cAAc,KAAK,KAAK,EAAE;MAChEC,MAAM,CACJ,+EAA+E,EAC/E,IAAI,CAACH,IAAI,CAACD,YACZ,CAAC,CAAA;AACD,MAAA,OAAO,IAAI,CAACC,IAAI,CAACD,YAAY,CAAA;AAC/B,KAAA;AACA,IAAA,OAAOK,SAAS,CAAA;AAClB,GAAA;AACF,CAAA;AAACC,oBAAA,CAAAC,QAAA,EAhBoBT,mBAAmB,CAAA;;;;"}
1
+ {"version":3,"file":"tr.js","sources":["../../../../src/components/hds/table/tr.hbs","../../../../src/components/hds/table/tr.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<tr class=\\\"hds-table__tr\\\" ...attributes>\\n {{#if @isSelectable}}\\n <Hds::Table::ThSelectable\\n @isSelected={{@isSelected}}\\n @selectionScope={{@selectionScope}}\\n @selectionKey={{this.selectionKey}}\\n @selectionAriaLabelSuffix={{@selectionAriaLabelSuffix}}\\n @didInsert={{@didInsert}}\\n @willDestroy={{@willDestroy}}\\n @onSelectionChange={{@onSelectionChange}}\\n />\\n {{/if}}\\n\\n {{yield}}\\n</tr>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport { HdsTableScopeValues } from './types.ts';\nimport type { HdsTableScope } from './types.ts';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base';\n\nexport interface BaseHdsTableTrArgs {\n Args: {\n isSelectable?: boolean;\n isSelected?: false;\n selectionAriaLabelSuffix?: string;\n selectionKey?: string;\n selectionScope: HdsTableScope;\n didInsert: (\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ) => void;\n onSelectionChange: (\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ) => void;\n willDestroy: () => void;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLTableRowElement;\n}\n\n// Extended interface for selectable rows\nexport interface SelectableHdsTableTrArgs extends BaseHdsTableTrArgs {\n Args: BaseHdsTableTrArgs['Args'] & {\n isSelectable: true;\n selectionScope: HdsTableScopeValues.Row;\n selectionKey: string; // Now required for selectable rows\n };\n}\n\n// Union type to combine both possible states\nexport type HdsTableTrArgs = BaseHdsTableTrArgs | SelectableHdsTableTrArgs;\n\nexport default class HdsTableTr extends Component<HdsTableTrArgs> {\n /**\n * @param selectionKey\n * @type {string}\n * @default undefined\n */\n get selectionKey(): string | undefined {\n if (this.args.isSelectable && this.args.selectionScope === 'row') {\n assert(\n `@selectionKey must be defined on Table::Tr or B.Tr when @isSelectable is true`,\n this.args.selectionKey\n );\n return this.args.selectionKey;\n }\n return undefined;\n }\n}\n"],"names":["HdsTableTr","Component","selectionKey","args","isSelectable","selectionScope","assert","undefined","setComponentTemplate","TEMPLATE"],"mappings":";;;;;AACA,eAAe,kBAAkB,CAAC,4gBAA4gB;;ACD9iB;AACA;AACA;AACA;;AA2Ce,MAAMA,UAAU,SAASC,SAAS,CAAiB;AAChE;AACF;AACA;AACA;AACA;EACE,IAAIC,YAAYA,GAAuB;AACrC,IAAA,IAAI,IAAI,CAACC,IAAI,CAACC,YAAY,IAAI,IAAI,CAACD,IAAI,CAACE,cAAc,KAAK,KAAK,EAAE;MAChEC,MAAM,CACJ,+EAA+E,EAC/E,IAAI,CAACH,IAAI,CAACD,YACZ,CAAC,CAAA;AACD,MAAA,OAAO,IAAI,CAACC,IAAI,CAACD,YAAY,CAAA;AAC/B,KAAA;AACA,IAAA,OAAOK,SAAS,CAAA;AAClB,GAAA;AACF,CAAA;AAACC,oBAAA,CAAAC,QAAA,EAhBoBT,UAAU,CAAA;;;;"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+
6
+ let HdsTableDensityValues = /*#__PURE__*/function (HdsTableDensityValues) {
7
+ HdsTableDensityValues["Default"] = "default";
8
+ HdsTableDensityValues["Medium"] = "medium";
9
+ HdsTableDensityValues["Short"] = "short";
10
+ HdsTableDensityValues["Tall"] = "tall";
11
+ return HdsTableDensityValues;
12
+ }({});
13
+ let HdsTableHorizontalAlignmentValues = /*#__PURE__*/function (HdsTableHorizontalAlignmentValues) {
14
+ HdsTableHorizontalAlignmentValues["Center"] = "center";
15
+ HdsTableHorizontalAlignmentValues["Left"] = "left";
16
+ HdsTableHorizontalAlignmentValues["Right"] = "right";
17
+ return HdsTableHorizontalAlignmentValues;
18
+ }({});
19
+ let HdsTableScopeValues = /*#__PURE__*/function (HdsTableScopeValues) {
20
+ HdsTableScopeValues["Col"] = "col";
21
+ HdsTableScopeValues["Row"] = "row";
22
+ return HdsTableScopeValues;
23
+ }({});
24
+ let HdsTableThSortOrderIconValues = /*#__PURE__*/function (HdsTableThSortOrderIconValues) {
25
+ HdsTableThSortOrderIconValues["ArrowDown"] = "arrow-down";
26
+ HdsTableThSortOrderIconValues["ArrowUp"] = "arrow-up";
27
+ HdsTableThSortOrderIconValues["SwapVertical"] = "swap-vertical";
28
+ return HdsTableThSortOrderIconValues;
29
+ }({});
30
+ let HdsTableThSortOrderLabelValues = /*#__PURE__*/function (HdsTableThSortOrderLabelValues) {
31
+ HdsTableThSortOrderLabelValues["Asc"] = "ascending";
32
+ HdsTableThSortOrderLabelValues["Desc"] = "descending";
33
+ HdsTableThSortOrderLabelValues["None"] = "none";
34
+ return HdsTableThSortOrderLabelValues;
35
+ }({});
36
+ let HdsTableThSortOrderValues = /*#__PURE__*/function (HdsTableThSortOrderValues) {
37
+ HdsTableThSortOrderValues["Asc"] = "asc";
38
+ HdsTableThSortOrderValues["Desc"] = "desc";
39
+ return HdsTableThSortOrderValues;
40
+ }({});
41
+ let HdsTableVerticalAlignmentValues = /*#__PURE__*/function (HdsTableVerticalAlignmentValues) {
42
+ HdsTableVerticalAlignmentValues["Baseline"] = "baseline";
43
+ HdsTableVerticalAlignmentValues["Middle"] = "middle";
44
+ HdsTableVerticalAlignmentValues["Top"] = "top";
45
+ return HdsTableVerticalAlignmentValues;
46
+ }({});
47
+
48
+ export { HdsTableDensityValues, HdsTableHorizontalAlignmentValues, HdsTableScopeValues, HdsTableThSortOrderIconValues, HdsTableThSortOrderLabelValues, HdsTableThSortOrderValues, HdsTableVerticalAlignmentValues };
49
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["../../../../src/components/hds/table/types.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base';\n\nexport enum HdsTableDensityValues {\n Default = 'default',\n Medium = 'medium',\n Short = 'short',\n Tall = 'tall',\n}\nexport type HdsTableDensities = `${HdsTableDensityValues}`;\n\nexport enum HdsTableHorizontalAlignmentValues {\n Center = 'center',\n Left = 'left',\n Right = 'right',\n}\nexport type HdsTableHorizontalAlignment =\n `${HdsTableHorizontalAlignmentValues}`;\n\nexport enum HdsTableScopeValues {\n Col = 'col',\n Row = 'row',\n}\nexport type HdsTableScope = `${HdsTableScopeValues}`;\n\nexport enum HdsTableThSortOrderIconValues {\n ArrowDown = 'arrow-down',\n ArrowUp = 'arrow-up',\n SwapVertical = 'swap-vertical',\n}\nexport type HdsTableThSortOrderIcons = `${HdsTableThSortOrderIconValues}`;\n\nexport enum HdsTableThSortOrderLabelValues {\n Asc = 'ascending',\n Desc = 'descending',\n None = 'none',\n}\nexport type HdsTableThSortOrderLabels = `${HdsTableThSortOrderLabelValues}`;\n\nexport enum HdsTableThSortOrderValues {\n Asc = 'asc',\n Desc = 'desc',\n}\nexport type HdsTableThSortOrder = `${HdsTableThSortOrderValues}`;\n\nexport enum HdsTableVerticalAlignmentValues {\n Baseline = 'baseline',\n Middle = 'middle',\n Top = 'top',\n}\nexport type HdsTableVerticalAlignment = `${HdsTableVerticalAlignmentValues}`;\n\nexport type HdsTableSelectableRow = {\n checkbox: HdsFormCheckboxBaseSignature['Element'];\n selectionKey: string;\n};\n\ninterface BaseHdsTableColumn {\n align?: HdsTableHorizontalAlignment;\n isVisuallyHidden?: boolean;\n label: string;\n sortingFunction?: HdsTableSortingFunction<unknown>;\n tooltip?: string;\n width?: string;\n}\n\ninterface SortableHdsTableColumn extends BaseHdsTableColumn {\n isSortable: true;\n key: string;\n}\n\ninterface NonSortableHdsTableColumn extends BaseHdsTableColumn {\n isSortable?: false;\n key?: string;\n}\n\nexport type HdsTableColumn = SortableHdsTableColumn | NonSortableHdsTableColumn;\n\nexport type HdsTableSortingFunction<T> = (a: T, b: T) => number;\n\nexport interface HdsTableOnSelectionChangeArgs {\n selectionKey?: string;\n selectionCheckboxElement?: HdsFormCheckboxBaseSignature['Element'];\n selectedRowsKeys: string[];\n selectableRowsStates: {\n selectionKey: string;\n isSelected?: boolean;\n }[];\n}\n"],"names":["HdsTableDensityValues","HdsTableHorizontalAlignmentValues","HdsTableScopeValues","HdsTableThSortOrderIconValues","HdsTableThSortOrderLabelValues","HdsTableThSortOrderValues","HdsTableVerticalAlignmentValues"],"mappings":"AAAA;AACA;AACA;AACA;;AAIYA,IAAAA,qBAAqB,0BAArBA,qBAAqB,EAAA;EAArBA,qBAAqB,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAArBA,qBAAqB,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;EAArBA,qBAAqB,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA;EAArBA,qBAAqB,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA;AAAA,EAAA,OAArBA,qBAAqB,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAQrBC,IAAAA,iCAAiC,0BAAjCA,iCAAiC,EAAA;EAAjCA,iCAAiC,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;EAAjCA,iCAAiC,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA;EAAjCA,iCAAiC,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA;AAAA,EAAA,OAAjCA,iCAAiC,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAQjCC,IAAAA,mBAAmB,0BAAnBA,mBAAmB,EAAA;EAAnBA,mBAAmB,CAAA,KAAA,CAAA,GAAA,KAAA,CAAA;EAAnBA,mBAAmB,CAAA,KAAA,CAAA,GAAA,KAAA,CAAA;AAAA,EAAA,OAAnBA,mBAAmB,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAMnBC,IAAAA,6BAA6B,0BAA7BA,6BAA6B,EAAA;EAA7BA,6BAA6B,CAAA,WAAA,CAAA,GAAA,YAAA,CAAA;EAA7BA,6BAA6B,CAAA,SAAA,CAAA,GAAA,UAAA,CAAA;EAA7BA,6BAA6B,CAAA,cAAA,CAAA,GAAA,eAAA,CAAA;AAAA,EAAA,OAA7BA,6BAA6B,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAO7BC,IAAAA,8BAA8B,0BAA9BA,8BAA8B,EAAA;EAA9BA,8BAA8B,CAAA,KAAA,CAAA,GAAA,WAAA,CAAA;EAA9BA,8BAA8B,CAAA,MAAA,CAAA,GAAA,YAAA,CAAA;EAA9BA,8BAA8B,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA;AAAA,EAAA,OAA9BA,8BAA8B,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAO9BC,IAAAA,yBAAyB,0BAAzBA,yBAAyB,EAAA;EAAzBA,yBAAyB,CAAA,KAAA,CAAA,GAAA,KAAA,CAAA;EAAzBA,yBAAyB,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA;AAAA,EAAA,OAAzBA,yBAAyB,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAMzBC,IAAAA,+BAA+B,0BAA/BA,+BAA+B,EAAA;EAA/BA,+BAA+B,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;EAA/BA,+BAA+B,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;EAA/BA,+BAA+B,CAAA,KAAA,CAAA,GAAA,KAAA,CAAA;AAAA,EAAA,OAA/BA,+BAA+B,CAAA;AAAA,CAAA,CAAA,EAAA;;;;"}
@@ -13,7 +13,7 @@ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-
13
13
  var _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7;
14
14
  const DEFAULT_SIZE = 'medium';
15
15
  const SIZES = Object.values(HdsTabsSizeValues);
16
- let HdsTabsComponent = (_class = class HdsTabsComponent extends Component {
16
+ let HdsTabs = (_class = class HdsTabs extends Component {
17
17
  /**
18
18
  * Sets the size of Tabs
19
19
  * Accepted values: medium, large
@@ -237,7 +237,7 @@ let HdsTabsComponent = (_class = class HdsTabsComponent extends Component {
237
237
  writable: true,
238
238
  initializer: null
239
239
  }), _applyDecoratedDescriptor(_class.prototype, "didInsert", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsert"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didUpdateSelectedTabIndex", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didUpdateSelectedTabIndex"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didUpdateSelectedTabId", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didUpdateSelectedTabId"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didUpdateParentVisibility", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didUpdateParentVisibility"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didInsertTab", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsertTab"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didUpdateTab", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didUpdateTab"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "willDestroyTab", [action], Object.getOwnPropertyDescriptor(_class.prototype, "willDestroyTab"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didInsertPanel", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsertPanel"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "willDestroyPanel", [action], Object.getOwnPropertyDescriptor(_class.prototype, "willDestroyPanel"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onClick", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onClick"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onKeyUp", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onKeyUp"), _class.prototype)), _class);
240
- setComponentTemplate(TEMPLATE, HdsTabsComponent);
240
+ setComponentTemplate(TEMPLATE, HdsTabs);
241
241
 
242
- export { DEFAULT_SIZE, SIZES, HdsTabsComponent as default };
242
+ export { DEFAULT_SIZE, SIZES, HdsTabs as default };
243
243
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/tabs/index.hbs","../../../../src/components/hds/tabs/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{{! template-lint-disable no-invalid-role }}\\n<div\\n class={{this.classNames}}\\n {{did-insert this.didInsert}}\\n {{did-update this.didUpdateSelectedTabIndex this.selectedTabIndex}}\\n {{did-update this.didUpdateSelectedTabId this.selectedTabId}}\\n {{did-update this.didUpdateParentVisibility @isParentVisible}}\\n ...attributes\\n>\\n <div class=\\\"hds-tabs__tablist-wrapper\\\">\\n <ul class=\\\"hds-tabs__tablist\\\" role=\\\"tablist\\\">\\n {{yield\\n (hash\\n Tab=(component\\n \\\"hds/tabs/tab\\\"\\n didInsertNode=this.didInsertTab\\n didUpdateNode=this.didUpdateTab\\n willDestroyNode=this.willDestroyTab\\n tabIds=this.tabIds\\n selectedTabIndex=this.selectedTabIndex\\n onClick=this.onClick\\n onKeyUp=this.onKeyUp\\n )\\n )\\n }}\\n <li class=\\\"hds-tabs__tab-indicator\\\" role=\\\"presentation\\\"></li>\\n </ul>\\n </div>\\n\\n {{yield\\n (hash\\n Panel=(component\\n \\\"hds/tabs/panel\\\"\\n didInsertNode=this.didInsertPanel\\n willDestroyNode=this.willDestroyPanel\\n tabIds=this.tabIds\\n panelIds=this.panelIds\\n selectedTabIndex=this.selectedTabIndex\\n )\\n )\\n }}\\n</div>\\n{{! template-lint-enable no-invalid-role }}\")","/**\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, warn } from '@ember/debug';\nimport { next, schedule } from '@ember/runloop';\nimport { HdsTabsSizeValues } from './types.ts';\nimport type { ComponentLike } from '@glint/template';\nimport type { HdsTabsTabSignature } from './tab';\nimport type { HdsTabsPanelSignature } from './panel';\nimport type { HdsTabsTabIds, HdsTabsPanelIds, HdsTabsSizes } from './types.ts';\n\nexport const DEFAULT_SIZE: HdsTabsSizes = 'medium' as const;\nexport const SIZES: HdsTabsSizes[] = Object.values(HdsTabsSizeValues);\ninterface HdsTabsSignature {\n Args: {\n size?: HdsTabsSizes;\n onClickTab?: (event: MouseEvent, tabIndex: number) => void;\n selectedTabIndex?: HdsTabsTabSignature['Args']['selectedTabIndex'];\n isParentVisible?: boolean;\n };\n Blocks: {\n default: [\n {\n Tab?: ComponentLike<HdsTabsTabSignature>;\n Panel?: ComponentLike<HdsTabsPanelSignature>;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsTabsComponent extends Component<HdsTabsSignature> {\n @tracked tabNodes: HTMLButtonElement[] = [];\n @tracked tabIds: HdsTabsTabIds = [];\n @tracked panelNodes: HTMLElement[] = [];\n @tracked panelIds: HdsTabsPanelIds = [];\n @tracked _selectedTabIndex = this.args.selectedTabIndex ?? 0;\n @tracked selectedTabId?: string;\n @tracked isControlled: boolean;\n\n /**\n * Sets the size of Tabs\n * Accepted values: medium, large\n *\n * @param size\n * @type {string}\n * @default 'medium'\n */\n get size(): HdsTabsSizes {\n const { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Tabs\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n constructor(owner: unknown, args: HdsTabsSignature['Args']) {\n super(owner, args);\n\n // this is to determine if the \"selected\" tab logic is controlled in the consumers' code or is maintained as an internal state\n this.isControlled = this.args.selectedTabIndex !== undefined;\n }\n\n get selectedTabIndex(): number {\n if (this.isControlled) {\n return this.args.selectedTabIndex!;\n } else {\n return this._selectedTabIndex;\n }\n }\n\n set selectedTabIndex(value) {\n if (this.isControlled) {\n // noop\n } else {\n this._selectedTabIndex = value;\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-tabs'];\n\n // add a class based on the @size argument\n classes.push(`hds-tabs--size-${this.size}`);\n\n return classes.join(' ');\n }\n\n @action\n didInsert(): void {\n assert(\n 'The number of Tabs must be equal to the number of Panels',\n this.tabNodes.length === this.panelNodes.length\n );\n\n if (this.selectedTabId) {\n this.selectedTabIndex = this.tabIds.indexOf(this.selectedTabId);\n }\n\n schedule('afterRender', (): void => {\n this.setTabIndicator();\n });\n }\n\n @action\n didUpdateSelectedTabIndex(): void {\n schedule('afterRender', (): void => {\n this.setTabIndicator();\n });\n }\n\n @action\n didUpdateSelectedTabId(): void {\n // if the selected tab is set dynamically (eg. in a `each` loop)\n // the `Tab` nodes will be re-inserted/rendered, which means the `this.selectedTabId` variable changes\n // but the parent `Tabs` component has already been rendered/inserted but doesn't re-render\n // so the value of the `selectedTabIndex` is not updated, unless we trigger a recalculation\n // using the `did-update` modifier that checks for changes in the `this.selectedTabId` variable\n if (this.selectedTabId) {\n this.selectedTabIndex = this.tabIds.indexOf(this.selectedTabId);\n }\n }\n\n @action\n didUpdateParentVisibility(): void {\n schedule('afterRender', (): void => {\n this.setTabIndicator();\n });\n }\n\n @action\n didInsertTab(element: HTMLButtonElement, isSelected?: boolean): void {\n this.tabNodes = [...this.tabNodes, element];\n this.tabIds = [...this.tabIds, element.id];\n if (isSelected) {\n this.selectedTabId = element.id;\n }\n }\n\n @action\n didUpdateTab(tabIndex: number, isSelected?: boolean): void {\n if (isSelected) {\n this.selectedTabIndex = tabIndex;\n }\n this.setTabIndicator();\n }\n\n @action\n willDestroyTab(element: HTMLButtonElement): void {\n this.tabNodes = this.tabNodes.filter(\n (node): boolean => node.id !== element.id\n );\n this.tabIds = this.tabIds.filter((tabId): boolean => tabId !== element.id);\n }\n\n @action\n didInsertPanel(element: HTMLElement, panelId: string): void {\n this.panelNodes = [...this.panelNodes, element];\n this.panelIds = [...this.panelIds, panelId];\n }\n\n @action\n willDestroyPanel(element: HTMLElement): void {\n this.panelNodes = this.panelNodes.filter(\n (node): boolean => node.id !== element.id\n );\n this.panelIds = this.panelIds.filter(\n (panelId): boolean => panelId !== element.id\n );\n }\n\n @action\n onClick(event: MouseEvent, tabIndex: number): void {\n this.selectedTabIndex = tabIndex;\n this.setTabIndicator();\n\n // invoke the callback function if it's provided as argument\n if (typeof this.args.onClickTab === 'function') {\n this.args.onClickTab(event, tabIndex);\n }\n }\n\n @action\n onKeyUp(tabIndex: number, event: KeyboardEvent): void {\n const leftArrow = 'ArrowLeft';\n const rightArrow = 'ArrowRight';\n const enterKey = 'Enter';\n const spaceKey = ' ';\n\n if (event.key === rightArrow) {\n const nextTabIndex = (tabIndex + 1) % this.tabIds.length;\n this.focusTab(nextTabIndex, event);\n } else if (event.key === leftArrow) {\n const prevTabIndex =\n (tabIndex + this.tabIds.length - 1) % this.tabIds.length;\n this.focusTab(prevTabIndex, event);\n } else if (event.key === enterKey || event.key === spaceKey) {\n this.selectedTabIndex = tabIndex;\n }\n // scroll selected tab into view (it may be out of view when activated using a keyboard with `prev/next`)\n const parentNode = this.tabNodes[this.selectedTabIndex]?.parentNode;\n if (parentNode instanceof HTMLElement) {\n parentNode.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'nearest',\n });\n }\n }\n\n // Focus tab for keyboard & mouse navigation:\n focusTab(tabIndex: number, event: KeyboardEvent): void {\n event.preventDefault();\n this.tabNodes[tabIndex]?.focus();\n }\n\n setTabIndicator(): void {\n next((): void => {\n const tabElem = this.tabNodes[this.selectedTabIndex];\n\n if (tabElem != null) {\n const tabElemParentNode = tabElem.parentNode as HTMLElement;\n const tabsElemClosestList = tabElem.closest(\n '.hds-tabs__tablist'\n ) as HTMLElement;\n\n // this condition is `null` if any of the parents has `display: none`\n if (tabElemParentNode.offsetParent) {\n const tabLeftPos = tabElemParentNode.offsetLeft;\n const tabWidth = tabElemParentNode.offsetWidth;\n\n // Set CSS custom properties for indicator\n tabsElemClosestList.style.setProperty(\n '--indicator-left-pos',\n tabLeftPos + 'px'\n );\n tabsElemClosestList.style.setProperty(\n '--indicator-width',\n tabWidth + 'px'\n );\n }\n } else {\n let message = '';\n message +=\n '\"Hds::Tabs\" has tried to set the indicator for an element that doesn\\'t exist';\n if (this.tabNodes.length === 0) {\n message +=\n ' (the array `this.tabNodes` is empty, there are no tabs, probably already destroyed)';\n } else {\n message += ` (the value ${\n this.selectedTabIndex\n } of \\`this.selectedTabIndex\\` is out of bound for the array \\`this.tabNodes\\`, whose index range is [0 - ${\n this.tabNodes.length - 1\n }])`;\n }\n // https://api.emberjs.com/ember/5.3/classes/@ember%2Fdebug/methods/warn?anchor=warn\n warn(message, true, {\n id: 'hds-debug.tabs.setTabIndicator-tabElem-not-available',\n });\n }\n });\n }\n}\n"],"names":["DEFAULT_SIZE","SIZES","Object","values","HdsTabsSizeValues","HdsTabsComponent","_class","Component","size","args","assert","join","includes","constructor","owner","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_descriptor4","_descriptor5","_descriptor6","_descriptor7","isControlled","selectedTabIndex","undefined","_selectedTabIndex","value","classNames","classes","push","didInsert","tabNodes","length","panelNodes","selectedTabId","tabIds","indexOf","schedule","setTabIndicator","didUpdateSelectedTabIndex","didUpdateSelectedTabId","didUpdateParentVisibility","didInsertTab","element","isSelected","id","didUpdateTab","tabIndex","willDestroyTab","filter","node","tabId","didInsertPanel","panelId","panelIds","willDestroyPanel","onClick","event","onClickTab","onKeyUp","leftArrow","rightArrow","enterKey","spaceKey","key","nextTabIndex","focusTab","prevTabIndex","parentNode","HTMLElement","scrollIntoView","behavior","block","inline","preventDefault","focus","next","tabElem","tabElemParentNode","tabsElemClosestList","closest","offsetParent","tabLeftPos","offsetLeft","tabWidth","offsetWidth","style","setProperty","message","warn","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/tabs/index.hbs","../../../../src/components/hds/tabs/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{{! template-lint-disable no-invalid-role }}\\n<div\\n class={{this.classNames}}\\n {{did-insert this.didInsert}}\\n {{did-update this.didUpdateSelectedTabIndex this.selectedTabIndex}}\\n {{did-update this.didUpdateSelectedTabId this.selectedTabId}}\\n {{did-update this.didUpdateParentVisibility @isParentVisible}}\\n ...attributes\\n>\\n <div class=\\\"hds-tabs__tablist-wrapper\\\">\\n <ul class=\\\"hds-tabs__tablist\\\" role=\\\"tablist\\\">\\n {{yield\\n (hash\\n Tab=(component\\n \\\"hds/tabs/tab\\\"\\n didInsertNode=this.didInsertTab\\n didUpdateNode=this.didUpdateTab\\n willDestroyNode=this.willDestroyTab\\n tabIds=this.tabIds\\n selectedTabIndex=this.selectedTabIndex\\n onClick=this.onClick\\n onKeyUp=this.onKeyUp\\n )\\n )\\n }}\\n <li class=\\\"hds-tabs__tab-indicator\\\" role=\\\"presentation\\\"></li>\\n </ul>\\n </div>\\n\\n {{yield\\n (hash\\n Panel=(component\\n \\\"hds/tabs/panel\\\"\\n didInsertNode=this.didInsertPanel\\n willDestroyNode=this.willDestroyPanel\\n tabIds=this.tabIds\\n panelIds=this.panelIds\\n selectedTabIndex=this.selectedTabIndex\\n )\\n )\\n }}\\n</div>\\n{{! template-lint-enable no-invalid-role }}\")","/**\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, warn } from '@ember/debug';\nimport { next, schedule } from '@ember/runloop';\nimport { HdsTabsSizeValues } from './types.ts';\nimport type { ComponentLike } from '@glint/template';\nimport type { HdsTabsTabSignature } from './tab';\nimport type { HdsTabsPanelSignature } from './panel';\nimport type { HdsTabsTabIds, HdsTabsPanelIds, HdsTabsSizes } from './types.ts';\n\nexport const DEFAULT_SIZE: HdsTabsSizes = 'medium' as const;\nexport const SIZES: HdsTabsSizes[] = Object.values(HdsTabsSizeValues);\ninterface HdsTabsSignature {\n Args: {\n size?: HdsTabsSizes;\n onClickTab?: (event: MouseEvent, tabIndex: number) => void;\n selectedTabIndex?: HdsTabsTabSignature['Args']['selectedTabIndex'];\n isParentVisible?: boolean;\n };\n Blocks: {\n default: [\n {\n Tab?: ComponentLike<HdsTabsTabSignature>;\n Panel?: ComponentLike<HdsTabsPanelSignature>;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsTabs extends Component<HdsTabsSignature> {\n @tracked tabNodes: HTMLButtonElement[] = [];\n @tracked tabIds: HdsTabsTabIds = [];\n @tracked panelNodes: HTMLElement[] = [];\n @tracked panelIds: HdsTabsPanelIds = [];\n @tracked _selectedTabIndex = this.args.selectedTabIndex ?? 0;\n @tracked selectedTabId?: string;\n @tracked isControlled: boolean;\n\n /**\n * Sets the size of Tabs\n * Accepted values: medium, large\n *\n * @param size\n * @type {string}\n * @default 'medium'\n */\n get size(): HdsTabsSizes {\n const { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Tabs\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n constructor(owner: unknown, args: HdsTabsSignature['Args']) {\n super(owner, args);\n\n // this is to determine if the \"selected\" tab logic is controlled in the consumers' code or is maintained as an internal state\n this.isControlled = this.args.selectedTabIndex !== undefined;\n }\n\n get selectedTabIndex(): number {\n if (this.isControlled) {\n return this.args.selectedTabIndex!;\n } else {\n return this._selectedTabIndex;\n }\n }\n\n set selectedTabIndex(value) {\n if (this.isControlled) {\n // noop\n } else {\n this._selectedTabIndex = value;\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-tabs'];\n\n // add a class based on the @size argument\n classes.push(`hds-tabs--size-${this.size}`);\n\n return classes.join(' ');\n }\n\n @action\n didInsert(): void {\n assert(\n 'The number of Tabs must be equal to the number of Panels',\n this.tabNodes.length === this.panelNodes.length\n );\n\n if (this.selectedTabId) {\n this.selectedTabIndex = this.tabIds.indexOf(this.selectedTabId);\n }\n\n schedule('afterRender', (): void => {\n this.setTabIndicator();\n });\n }\n\n @action\n didUpdateSelectedTabIndex(): void {\n schedule('afterRender', (): void => {\n this.setTabIndicator();\n });\n }\n\n @action\n didUpdateSelectedTabId(): void {\n // if the selected tab is set dynamically (eg. in a `each` loop)\n // the `Tab` nodes will be re-inserted/rendered, which means the `this.selectedTabId` variable changes\n // but the parent `Tabs` component has already been rendered/inserted but doesn't re-render\n // so the value of the `selectedTabIndex` is not updated, unless we trigger a recalculation\n // using the `did-update` modifier that checks for changes in the `this.selectedTabId` variable\n if (this.selectedTabId) {\n this.selectedTabIndex = this.tabIds.indexOf(this.selectedTabId);\n }\n }\n\n @action\n didUpdateParentVisibility(): void {\n schedule('afterRender', (): void => {\n this.setTabIndicator();\n });\n }\n\n @action\n didInsertTab(element: HTMLButtonElement, isSelected?: boolean): void {\n this.tabNodes = [...this.tabNodes, element];\n this.tabIds = [...this.tabIds, element.id];\n if (isSelected) {\n this.selectedTabId = element.id;\n }\n }\n\n @action\n didUpdateTab(tabIndex: number, isSelected?: boolean): void {\n if (isSelected) {\n this.selectedTabIndex = tabIndex;\n }\n this.setTabIndicator();\n }\n\n @action\n willDestroyTab(element: HTMLButtonElement): void {\n this.tabNodes = this.tabNodes.filter(\n (node): boolean => node.id !== element.id\n );\n this.tabIds = this.tabIds.filter((tabId): boolean => tabId !== element.id);\n }\n\n @action\n didInsertPanel(element: HTMLElement, panelId: string): void {\n this.panelNodes = [...this.panelNodes, element];\n this.panelIds = [...this.panelIds, panelId];\n }\n\n @action\n willDestroyPanel(element: HTMLElement): void {\n this.panelNodes = this.panelNodes.filter(\n (node): boolean => node.id !== element.id\n );\n this.panelIds = this.panelIds.filter(\n (panelId): boolean => panelId !== element.id\n );\n }\n\n @action\n onClick(event: MouseEvent, tabIndex: number): void {\n this.selectedTabIndex = tabIndex;\n this.setTabIndicator();\n\n // invoke the callback function if it's provided as argument\n if (typeof this.args.onClickTab === 'function') {\n this.args.onClickTab(event, tabIndex);\n }\n }\n\n @action\n onKeyUp(tabIndex: number, event: KeyboardEvent): void {\n const leftArrow = 'ArrowLeft';\n const rightArrow = 'ArrowRight';\n const enterKey = 'Enter';\n const spaceKey = ' ';\n\n if (event.key === rightArrow) {\n const nextTabIndex = (tabIndex + 1) % this.tabIds.length;\n this.focusTab(nextTabIndex, event);\n } else if (event.key === leftArrow) {\n const prevTabIndex =\n (tabIndex + this.tabIds.length - 1) % this.tabIds.length;\n this.focusTab(prevTabIndex, event);\n } else if (event.key === enterKey || event.key === spaceKey) {\n this.selectedTabIndex = tabIndex;\n }\n // scroll selected tab into view (it may be out of view when activated using a keyboard with `prev/next`)\n const parentNode = this.tabNodes[this.selectedTabIndex]?.parentNode;\n if (parentNode instanceof HTMLElement) {\n parentNode.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'nearest',\n });\n }\n }\n\n // Focus tab for keyboard & mouse navigation:\n focusTab(tabIndex: number, event: KeyboardEvent): void {\n event.preventDefault();\n this.tabNodes[tabIndex]?.focus();\n }\n\n setTabIndicator(): void {\n next((): void => {\n const tabElem = this.tabNodes[this.selectedTabIndex];\n\n if (tabElem != null) {\n const tabElemParentNode = tabElem.parentNode as HTMLElement;\n const tabsElemClosestList = tabElem.closest(\n '.hds-tabs__tablist'\n ) as HTMLElement;\n\n // this condition is `null` if any of the parents has `display: none`\n if (tabElemParentNode.offsetParent) {\n const tabLeftPos = tabElemParentNode.offsetLeft;\n const tabWidth = tabElemParentNode.offsetWidth;\n\n // Set CSS custom properties for indicator\n tabsElemClosestList.style.setProperty(\n '--indicator-left-pos',\n tabLeftPos + 'px'\n );\n tabsElemClosestList.style.setProperty(\n '--indicator-width',\n tabWidth + 'px'\n );\n }\n } else {\n let message = '';\n message +=\n '\"Hds::Tabs\" has tried to set the indicator for an element that doesn\\'t exist';\n if (this.tabNodes.length === 0) {\n message +=\n ' (the array `this.tabNodes` is empty, there are no tabs, probably already destroyed)';\n } else {\n message += ` (the value ${\n this.selectedTabIndex\n } of \\`this.selectedTabIndex\\` is out of bound for the array \\`this.tabNodes\\`, whose index range is [0 - ${\n this.tabNodes.length - 1\n }])`;\n }\n // https://api.emberjs.com/ember/5.3/classes/@ember%2Fdebug/methods/warn?anchor=warn\n warn(message, true, {\n id: 'hds-debug.tabs.setTabIndicator-tabElem-not-available',\n });\n }\n });\n }\n}\n"],"names":["DEFAULT_SIZE","SIZES","Object","values","HdsTabsSizeValues","HdsTabs","_class","Component","size","args","assert","join","includes","constructor","owner","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_descriptor4","_descriptor5","_descriptor6","_descriptor7","isControlled","selectedTabIndex","undefined","_selectedTabIndex","value","classNames","classes","push","didInsert","tabNodes","length","panelNodes","selectedTabId","tabIds","indexOf","schedule","setTabIndicator","didUpdateSelectedTabIndex","didUpdateSelectedTabId","didUpdateParentVisibility","didInsertTab","element","isSelected","id","didUpdateTab","tabIndex","willDestroyTab","filter","node","tabId","didInsertPanel","panelId","panelIds","willDestroyPanel","onClick","event","onClickTab","onKeyUp","leftArrow","rightArrow","enterKey","spaceKey","key","nextTabIndex","focusTab","prevTabIndex","parentNode","HTMLElement","scrollIntoView","behavior","block","inline","preventDefault","focus","next","tabElem","tabElemParentNode","tabsElemClosestList","closest","offsetParent","tabLeftPos","offsetLeft","tabWidth","offsetWidth","style","setProperty","message","warn","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -8,7 +8,7 @@ import { setComponentTemplate } from '@ember/component';
8
8
  var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<section\n class=\"hds-tabs__panel\"\n ...attributes\n role=\"tabpanel\"\n id={{this.panelId}}\n hidden={{not this.isVisible}}\n aria-labelledby={{this.coupledTabId}}\n {{did-insert this.didInsertNode}}\n {{will-destroy this.willDestroyNode}}\n>\n {{yield (hash isVisible=this.isVisible)}}\n</section>");
9
9
 
10
10
  var _class;
11
- let HdsTabsPanelComponent = (_class = class HdsTabsPanelComponent extends Component {
11
+ let HdsTabsPanel = (_class = class HdsTabsPanel extends Component {
12
12
  constructor(...args) {
13
13
  super(...args);
14
14
  /**
@@ -55,7 +55,7 @@ let HdsTabsPanelComponent = (_class = class HdsTabsPanelComponent extends Compon
55
55
  }
56
56
  }
57
57
  }, (_applyDecoratedDescriptor(_class.prototype, "didInsertNode", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsertNode"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "willDestroyNode", [action], Object.getOwnPropertyDescriptor(_class.prototype, "willDestroyNode"), _class.prototype)), _class);
58
- setComponentTemplate(TEMPLATE, HdsTabsPanelComponent);
58
+ setComponentTemplate(TEMPLATE, HdsTabsPanel);
59
59
 
60
- export { HdsTabsPanelComponent as default };
60
+ export { HdsTabsPanel as default };
61
61
  //# sourceMappingURL=panel.js.map