@hashicorp/design-system-components 4.16.0 → 4.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. package/README.md +4 -8
  2. package/declarations/components/hds/advanced-table/expandable-tr-group.d.ts +2 -1
  3. package/declarations/components/hds/advanced-table/expandable-tr-group.d.ts.map +1 -1
  4. package/declarations/components/hds/advanced-table/index.d.ts +1 -2
  5. package/declarations/components/hds/advanced-table/index.d.ts.map +1 -1
  6. package/declarations/components/hds/advanced-table/td.d.ts +1 -3
  7. package/declarations/components/hds/advanced-table/td.d.ts.map +1 -1
  8. package/declarations/components/hds/advanced-table/th-sort.d.ts +1 -3
  9. package/declarations/components/hds/advanced-table/th-sort.d.ts.map +1 -1
  10. package/declarations/components/hds/advanced-table/th.d.ts +1 -3
  11. package/declarations/components/hds/advanced-table/th.d.ts.map +1 -1
  12. package/declarations/components/hds/alert/index.d.ts +2 -1
  13. package/declarations/components/hds/alert/index.d.ts.map +1 -1
  14. package/declarations/components/hds/app-footer/status-link.d.ts +3 -2
  15. package/declarations/components/hds/app-footer/status-link.d.ts.map +1 -1
  16. package/declarations/components/hds/app-header/index.d.ts +2 -1
  17. package/declarations/components/hds/app-header/index.d.ts.map +1 -1
  18. package/declarations/components/hds/app-side-nav/index.d.ts +2 -1
  19. package/declarations/components/hds/app-side-nav/index.d.ts.map +1 -1
  20. package/declarations/components/hds/app-side-nav/portal/target.d.ts.map +1 -1
  21. package/declarations/components/hds/breadcrumb/item.d.ts +1 -1
  22. package/declarations/components/hds/breadcrumb/item.d.ts.map +1 -1
  23. package/declarations/components/hds/code-block/copy-button.d.ts +5 -2
  24. package/declarations/components/hds/code-block/copy-button.d.ts.map +1 -1
  25. package/declarations/components/hds/code-block/index.d.ts +3 -0
  26. package/declarations/components/hds/code-block/index.d.ts.map +1 -1
  27. package/declarations/components/hds/code-editor/index.d.ts +6 -2
  28. package/declarations/components/hds/code-editor/index.d.ts.map +1 -1
  29. package/declarations/components/hds/code-editor/title.d.ts +1 -1
  30. package/declarations/components/hds/code-editor/title.d.ts.map +1 -1
  31. package/declarations/components/hds/dropdown/list-item/interactive.d.ts +2 -1
  32. package/declarations/components/hds/dropdown/list-item/interactive.d.ts.map +1 -1
  33. package/declarations/components/hds/dropdown/toggle/icon.d.ts +2 -1
  34. package/declarations/components/hds/dropdown/toggle/icon.d.ts.map +1 -1
  35. package/declarations/components/hds/flyout/body.d.ts +2 -1
  36. package/declarations/components/hds/flyout/body.d.ts.map +1 -1
  37. package/declarations/components/hds/flyout/description.d.ts +2 -1
  38. package/declarations/components/hds/flyout/description.d.ts.map +1 -1
  39. package/declarations/components/hds/flyout/footer.d.ts +2 -1
  40. package/declarations/components/hds/flyout/footer.d.ts.map +1 -1
  41. package/declarations/components/hds/flyout/header.d.ts +2 -1
  42. package/declarations/components/hds/flyout/header.d.ts.map +1 -1
  43. package/declarations/components/hds/form/masked-input/base.d.ts +5 -2
  44. package/declarations/components/hds/form/masked-input/base.d.ts.map +1 -1
  45. package/declarations/components/hds/form/super-select/multiple/base.d.ts +1 -1
  46. package/declarations/components/hds/form/super-select/multiple/base.d.ts.map +1 -1
  47. package/declarations/components/hds/form/super-select/single/base.d.ts +1 -1
  48. package/declarations/components/hds/form/super-select/single/base.d.ts.map +1 -1
  49. package/declarations/components/hds/form/text-input/field.d.ts +3 -2
  50. package/declarations/components/hds/form/text-input/field.d.ts.map +1 -1
  51. package/declarations/components/hds/icon/index.d.ts +2 -1
  52. package/declarations/components/hds/icon/index.d.ts.map +1 -1
  53. package/declarations/components/hds/interactive/index.d.ts.map +1 -1
  54. package/declarations/components/hds/link/inline.d.ts +2 -1
  55. package/declarations/components/hds/link/inline.d.ts.map +1 -1
  56. package/declarations/components/hds/link/standalone.d.ts +2 -1
  57. package/declarations/components/hds/link/standalone.d.ts.map +1 -1
  58. package/declarations/components/hds/menu-primitive/index.d.ts +2 -1
  59. package/declarations/components/hds/menu-primitive/index.d.ts.map +1 -1
  60. package/declarations/components/hds/modal/body.d.ts +2 -1
  61. package/declarations/components/hds/modal/body.d.ts.map +1 -1
  62. package/declarations/components/hds/modal/footer.d.ts +2 -1
  63. package/declarations/components/hds/modal/footer.d.ts.map +1 -1
  64. package/declarations/components/hds/modal/header.d.ts +2 -1
  65. package/declarations/components/hds/modal/header.d.ts.map +1 -1
  66. package/declarations/components/hds/pagination/compact/index.d.ts +2 -1
  67. package/declarations/components/hds/pagination/compact/index.d.ts.map +1 -1
  68. package/declarations/components/hds/pagination/numbered/index.d.ts +2 -1
  69. package/declarations/components/hds/pagination/numbered/index.d.ts.map +1 -1
  70. package/declarations/components/hds/popover-primitive/index.d.ts +2 -1
  71. package/declarations/components/hds/popover-primitive/index.d.ts.map +1 -1
  72. package/declarations/components/hds/side-nav/header/icon-button.d.ts +2 -1
  73. package/declarations/components/hds/side-nav/header/icon-button.d.ts.map +1 -1
  74. package/declarations/components/hds/side-nav/index.d.ts +2 -1
  75. package/declarations/components/hds/side-nav/index.d.ts.map +1 -1
  76. package/declarations/components/hds/side-nav/portal/target.d.ts.map +1 -1
  77. package/declarations/components/hds/stepper/task/indicator.d.ts +1 -1
  78. package/declarations/components/hds/table/index.d.ts +2 -1
  79. package/declarations/components/hds/table/index.d.ts.map +1 -1
  80. package/declarations/components/hds/table/th-selectable.d.ts +3 -3
  81. package/declarations/components/hds/table/th-selectable.d.ts.map +1 -1
  82. package/declarations/components/hds/tabs/index.d.ts +2 -1
  83. package/declarations/components/hds/tabs/index.d.ts.map +1 -1
  84. package/declarations/components/hds/tag/index.d.ts +16 -0
  85. package/declarations/components/hds/tag/index.d.ts.map +1 -1
  86. package/declarations/components/hds/tag/types.d.ts +15 -0
  87. package/declarations/components/hds/tag/types.d.ts.map +1 -1
  88. package/declarations/components/hds/time/index.d.ts.map +1 -1
  89. package/declarations/helpers/hds-format-date.d.ts +16 -3
  90. package/declarations/helpers/hds-format-date.d.ts.map +1 -1
  91. package/declarations/helpers/hds-format-relative.d.ts +9 -3
  92. package/declarations/helpers/hds-format-relative.d.ts.map +1 -1
  93. package/declarations/helpers/hds-link-to-models.d.ts +7 -1
  94. package/declarations/helpers/hds-link-to-models.d.ts.map +1 -1
  95. package/declarations/helpers/hds-link-to-query.d.ts +9 -3
  96. package/declarations/helpers/hds-link-to-query.d.ts.map +1 -1
  97. package/declarations/instance-initializers/load-sprite.d.ts.map +1 -1
  98. package/declarations/{components/hds/advanced-table/helpers.d.ts → modifiers/hds-advanced-table-cell/dom-management.d.ts} +3 -4
  99. package/declarations/modifiers/hds-advanced-table-cell/dom-management.d.ts.map +1 -0
  100. package/declarations/modifiers/hds-advanced-table-cell/keyboard-navigation.d.ts +6 -0
  101. package/declarations/modifiers/hds-advanced-table-cell/keyboard-navigation.d.ts.map +1 -0
  102. package/declarations/modifiers/hds-advanced-table-cell.d.ts +26 -0
  103. package/declarations/modifiers/hds-advanced-table-cell.d.ts.map +1 -0
  104. package/declarations/modifiers/hds-clipboard.d.ts.map +1 -1
  105. package/declarations/modifiers/hds-code-editor/languages/rego.d.ts +48 -0
  106. package/declarations/modifiers/hds-code-editor/languages/rego.d.ts.map +1 -0
  107. package/declarations/modifiers/hds-code-editor/languages/sentinel.d.ts +4 -0
  108. package/declarations/modifiers/hds-code-editor/languages/sentinel.d.ts.map +1 -1
  109. package/declarations/modifiers/hds-code-editor/types.d.ts +2 -0
  110. package/declarations/modifiers/hds-code-editor/types.d.ts.map +1 -1
  111. package/declarations/modifiers/hds-code-editor.d.ts +9 -5
  112. package/declarations/modifiers/hds-code-editor.d.ts.map +1 -1
  113. package/declarations/modifiers/hds-tooltip.d.ts +4 -2
  114. package/declarations/modifiers/hds-tooltip.d.ts.map +1 -1
  115. package/declarations/services/hds-time-types.d.ts +7 -7
  116. package/declarations/services/hds-time-types.d.ts.map +1 -1
  117. package/declarations/services/hds-time.d.ts +3 -3
  118. package/declarations/services/hds-time.d.ts.map +1 -1
  119. package/declarations/template-registry.d.ts +2 -0
  120. package/declarations/template-registry.d.ts.map +1 -1
  121. package/dist/README.md +4 -8
  122. package/dist/_app_/modifiers/hds-advanced-table-cell/dom-management.js +1 -0
  123. package/dist/_app_/modifiers/hds-advanced-table-cell/keyboard-navigation.js +1 -0
  124. package/dist/_app_/modifiers/hds-advanced-table-cell.js +1 -0
  125. package/dist/_app_/modifiers/hds-code-editor/languages/rego.js +1 -0
  126. package/dist/components/hds/accordion/index.js.map +1 -1
  127. package/dist/components/hds/accordion/item/button.js +11 -4
  128. package/dist/components/hds/accordion/item/button.js.map +1 -1
  129. package/dist/components/hds/accordion/item/index.js +12 -11
  130. package/dist/components/hds/accordion/item/index.js.map +1 -1
  131. package/dist/components/hds/advanced-table/expandable-tr-group.js +16 -12
  132. package/dist/components/hds/advanced-table/expandable-tr-group.js.map +1 -1
  133. package/dist/components/hds/advanced-table/index.js +69 -53
  134. package/dist/components/hds/advanced-table/index.js.map +1 -1
  135. package/dist/components/hds/advanced-table/td.js +30 -36
  136. package/dist/components/hds/advanced-table/td.js.map +1 -1
  137. package/dist/components/hds/advanced-table/th-button-expand.js +13 -9
  138. package/dist/components/hds/advanced-table/th-button-expand.js.map +1 -1
  139. package/dist/components/hds/advanced-table/th-button-sort.js +8 -7
  140. package/dist/components/hds/advanced-table/th-button-sort.js.map +1 -1
  141. package/dist/components/hds/advanced-table/th-button-tooltip.js +7 -6
  142. package/dist/components/hds/advanced-table/th-button-tooltip.js.map +1 -1
  143. package/dist/components/hds/advanced-table/th-selectable.js +25 -17
  144. package/dist/components/hds/advanced-table/th-selectable.js.map +1 -1
  145. package/dist/components/hds/advanced-table/th-sort.js +30 -37
  146. package/dist/components/hds/advanced-table/th-sort.js.map +1 -1
  147. package/dist/components/hds/advanced-table/th.js +29 -36
  148. package/dist/components/hds/advanced-table/th.js.map +1 -1
  149. package/dist/components/hds/advanced-table/tr.js.map +1 -1
  150. package/dist/components/hds/alert/description.js.map +1 -1
  151. package/dist/components/hds/alert/index.js +19 -16
  152. package/dist/components/hds/alert/index.js.map +1 -1
  153. package/dist/components/hds/alert/title.js.map +1 -1
  154. package/dist/components/hds/app-footer/copyright.js.map +1 -1
  155. package/dist/components/hds/app-footer/index.js.map +1 -1
  156. package/dist/components/hds/app-footer/item.js.map +1 -1
  157. package/dist/components/hds/app-footer/legal-links.js.map +1 -1
  158. package/dist/components/hds/app-footer/link.js.map +1 -1
  159. package/dist/components/hds/app-footer/status-link.js.map +1 -1
  160. package/dist/components/hds/app-frame/index.js.map +1 -1
  161. package/dist/components/hds/app-frame/parts/footer.js.map +1 -1
  162. package/dist/components/hds/app-frame/parts/header.js.map +1 -1
  163. package/dist/components/hds/app-frame/parts/main.js.map +1 -1
  164. package/dist/components/hds/app-frame/parts/modals.js.map +1 -1
  165. package/dist/components/hds/app-frame/parts/sidebar.js.map +1 -1
  166. package/dist/components/hds/app-header/home-link.js.map +1 -1
  167. package/dist/components/hds/app-header/index.js +42 -34
  168. package/dist/components/hds/app-header/index.js.map +1 -1
  169. package/dist/components/hds/app-header/menu-button.js +11 -4
  170. package/dist/components/hds/app-header/menu-button.js.map +1 -1
  171. package/dist/components/hds/app-side-nav/index.js +44 -31
  172. package/dist/components/hds/app-side-nav/index.js.map +1 -1
  173. package/dist/components/hds/app-side-nav/list/back-link.js.map +1 -1
  174. package/dist/components/hds/app-side-nav/list/index.js +15 -13
  175. package/dist/components/hds/app-side-nav/list/index.js.map +1 -1
  176. package/dist/components/hds/app-side-nav/list/item.js.map +1 -1
  177. package/dist/components/hds/app-side-nav/list/link.js.map +1 -1
  178. package/dist/components/hds/app-side-nav/list/title.js +13 -9
  179. package/dist/components/hds/app-side-nav/list/title.js.map +1 -1
  180. package/dist/components/hds/app-side-nav/portal/index.js.map +1 -1
  181. package/dist/components/hds/app-side-nav/portal/target.js +31 -28
  182. package/dist/components/hds/app-side-nav/portal/target.js.map +1 -1
  183. package/dist/components/hds/app-side-nav/toggle-button.js.map +1 -1
  184. package/dist/components/hds/application-state/body.js.map +1 -1
  185. package/dist/components/hds/application-state/footer.js.map +1 -1
  186. package/dist/components/hds/application-state/header.js.map +1 -1
  187. package/dist/components/hds/application-state/index.js.map +1 -1
  188. package/dist/components/hds/application-state/media.js.map +1 -1
  189. package/dist/components/hds/badge/index.js.map +1 -1
  190. package/dist/components/hds/badge-count/index.js.map +1 -1
  191. package/dist/components/hds/breadcrumb/index.js.map +1 -1
  192. package/dist/components/hds/breadcrumb/item.js +1 -1
  193. package/dist/components/hds/breadcrumb/item.js.map +1 -1
  194. package/dist/components/hds/breadcrumb/truncation.js.map +1 -1
  195. package/dist/components/hds/button/index.js.map +1 -1
  196. package/dist/components/hds/button-set/index.js.map +1 -1
  197. package/dist/components/hds/card/container.js.map +1 -1
  198. package/dist/components/hds/code-block/copy-button.js +9 -5
  199. package/dist/components/hds/code-block/copy-button.js.map +1 -1
  200. package/dist/components/hds/code-block/description.js.map +1 -1
  201. package/dist/components/hds/code-block/index.js +27 -21
  202. package/dist/components/hds/code-block/index.js.map +1 -1
  203. package/dist/components/hds/code-block/title.js.map +1 -1
  204. package/dist/components/hds/code-editor/description.js +6 -5
  205. package/dist/components/hds/code-editor/description.js.map +1 -1
  206. package/dist/components/hds/code-editor/full-screen-button.js.map +1 -1
  207. package/dist/components/hds/code-editor/generic.js.map +1 -1
  208. package/dist/components/hds/code-editor/index.js +67 -52
  209. package/dist/components/hds/code-editor/index.js.map +1 -1
  210. package/dist/components/hds/code-editor/title.js +6 -5
  211. package/dist/components/hds/code-editor/title.js.map +1 -1
  212. package/dist/components/hds/copy/button/index.js +23 -20
  213. package/dist/components/hds/copy/button/index.js.map +1 -1
  214. package/dist/components/hds/copy/snippet/index.js +23 -20
  215. package/dist/components/hds/copy/snippet/index.js.map +1 -1
  216. package/dist/components/hds/dialog-primitive/body.js.map +1 -1
  217. package/dist/components/hds/dialog-primitive/description.js.map +1 -1
  218. package/dist/components/hds/dialog-primitive/footer.js.map +1 -1
  219. package/dist/components/hds/dialog-primitive/header.js.map +1 -1
  220. package/dist/components/hds/dialog-primitive/overlay.js.map +1 -1
  221. package/dist/components/hds/dialog-primitive/wrapper.js.map +1 -1
  222. package/dist/components/hds/disclosure-primitive/index.js +27 -21
  223. package/dist/components/hds/disclosure-primitive/index.js.map +1 -1
  224. package/dist/components/hds/dismiss-button/index.js.map +1 -1
  225. package/dist/components/hds/dropdown/footer.js.map +1 -1
  226. package/dist/components/hds/dropdown/header.js.map +1 -1
  227. package/dist/components/hds/dropdown/index.js +12 -5
  228. package/dist/components/hds/dropdown/index.js.map +1 -1
  229. package/dist/components/hds/dropdown/list-item/checkbox.js.map +1 -1
  230. package/dist/components/hds/dropdown/list-item/checkmark.js.map +1 -1
  231. package/dist/components/hds/dropdown/list-item/copy-item.js.map +1 -1
  232. package/dist/components/hds/dropdown/list-item/description.js.map +1 -1
  233. package/dist/components/hds/dropdown/list-item/generic.js.map +1 -1
  234. package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -1
  235. package/dist/components/hds/dropdown/list-item/radio.js.map +1 -1
  236. package/dist/components/hds/dropdown/list-item/separator.js.map +1 -1
  237. package/dist/components/hds/dropdown/list-item/title.js.map +1 -1
  238. package/dist/components/hds/dropdown/toggle/button.js +12 -10
  239. package/dist/components/hds/dropdown/toggle/button.js.map +1 -1
  240. package/dist/components/hds/dropdown/toggle/chevron.js.map +1 -1
  241. package/dist/components/hds/dropdown/toggle/icon.js +20 -12
  242. package/dist/components/hds/dropdown/toggle/icon.js.map +1 -1
  243. package/dist/components/hds/flyout/body.js +2 -1
  244. package/dist/components/hds/flyout/body.js.map +1 -1
  245. package/dist/components/hds/flyout/description.js +1 -0
  246. package/dist/components/hds/flyout/description.js.map +1 -1
  247. package/dist/components/hds/flyout/footer.js +2 -1
  248. package/dist/components/hds/flyout/footer.js.map +1 -1
  249. package/dist/components/hds/flyout/header.js +2 -1
  250. package/dist/components/hds/flyout/header.js.map +1 -1
  251. package/dist/components/hds/flyout/index.js +33 -18
  252. package/dist/components/hds/flyout/index.js.map +1 -1
  253. package/dist/components/hds/form/character-count/index.js.map +1 -1
  254. package/dist/components/hds/form/checkbox/base.js.map +1 -1
  255. package/dist/components/hds/form/checkbox/field.js.map +1 -1
  256. package/dist/components/hds/form/checkbox/group.js.map +1 -1
  257. package/dist/components/hds/form/error/index.js.map +1 -1
  258. package/dist/components/hds/form/error/message.js.map +1 -1
  259. package/dist/components/hds/form/field/index.js +15 -7
  260. package/dist/components/hds/form/field/index.js.map +1 -1
  261. package/dist/components/hds/form/fieldset/index.js +15 -7
  262. package/dist/components/hds/form/fieldset/index.js.map +1 -1
  263. package/dist/components/hds/form/file-input/base.js.map +1 -1
  264. package/dist/components/hds/form/file-input/field.js.map +1 -1
  265. package/dist/components/hds/form/helper-text/index.js.map +1 -1
  266. package/dist/components/hds/form/indicator/index.js.map +1 -1
  267. package/dist/components/hds/form/label/index.js.map +1 -1
  268. package/dist/components/hds/form/legend/index.js.map +1 -1
  269. package/dist/components/hds/form/masked-input/base.js +45 -15
  270. package/dist/components/hds/form/masked-input/base.js.map +1 -1
  271. package/dist/components/hds/form/masked-input/field.js.map +1 -1
  272. package/dist/components/hds/form/radio/base.js.map +1 -1
  273. package/dist/components/hds/form/radio/field.js.map +1 -1
  274. package/dist/components/hds/form/radio/group.js.map +1 -1
  275. package/dist/components/hds/form/radio-card/description.js.map +1 -1
  276. package/dist/components/hds/form/radio-card/group.js.map +1 -1
  277. package/dist/components/hds/form/radio-card/index.js.map +1 -1
  278. package/dist/components/hds/form/radio-card/label.js.map +1 -1
  279. package/dist/components/hds/form/select/base.js.map +1 -1
  280. package/dist/components/hds/form/select/field.js.map +1 -1
  281. package/dist/components/hds/form/super-select/after-options.js.map +1 -1
  282. package/dist/components/hds/form/super-select/multiple/base.js +38 -28
  283. package/dist/components/hds/form/super-select/multiple/base.js.map +1 -1
  284. package/dist/components/hds/form/super-select/multiple/field.js.map +1 -1
  285. package/dist/components/hds/form/super-select/option-group.js +11 -10
  286. package/dist/components/hds/form/super-select/option-group.js.map +1 -1
  287. package/dist/components/hds/form/super-select/placeholder.js.map +1 -1
  288. package/dist/components/hds/form/super-select/single/base.js +17 -12
  289. package/dist/components/hds/form/super-select/single/base.js.map +1 -1
  290. package/dist/components/hds/form/super-select/single/field.js.map +1 -1
  291. package/dist/components/hds/form/text-input/base.js.map +1 -1
  292. package/dist/components/hds/form/text-input/field.js +21 -18
  293. package/dist/components/hds/form/text-input/field.js.map +1 -1
  294. package/dist/components/hds/form/textarea/base.js.map +1 -1
  295. package/dist/components/hds/form/textarea/field.js.map +1 -1
  296. package/dist/components/hds/form/toggle/base.js.map +1 -1
  297. package/dist/components/hds/form/toggle/field.js.map +1 -1
  298. package/dist/components/hds/form/toggle/group.js.map +1 -1
  299. package/dist/components/hds/form/visibility-toggle/index.js.map +1 -1
  300. package/dist/components/hds/icon/index.js +7 -3
  301. package/dist/components/hds/icon/index.js.map +1 -1
  302. package/dist/components/hds/icon-tile/index.js.map +1 -1
  303. package/dist/components/hds/interactive/index.js +12 -5
  304. package/dist/components/hds/interactive/index.js.map +1 -1
  305. package/dist/components/hds/link/inline.js.map +1 -1
  306. package/dist/components/hds/link/standalone.js.map +1 -1
  307. package/dist/components/hds/menu-primitive/index.js +37 -24
  308. package/dist/components/hds/menu-primitive/index.js.map +1 -1
  309. package/dist/components/hds/modal/body.js +1 -0
  310. package/dist/components/hds/modal/body.js.map +1 -1
  311. package/dist/components/hds/modal/footer.js +2 -1
  312. package/dist/components/hds/modal/footer.js.map +1 -1
  313. package/dist/components/hds/modal/header.js +1 -0
  314. package/dist/components/hds/modal/header.js.map +1 -1
  315. package/dist/components/hds/modal/index.js +30 -16
  316. package/dist/components/hds/modal/index.js.map +1 -1
  317. package/dist/components/hds/page-header/actions.js.map +1 -1
  318. package/dist/components/hds/page-header/badges.js.map +1 -1
  319. package/dist/components/hds/page-header/description.js.map +1 -1
  320. package/dist/components/hds/page-header/index.js.map +1 -1
  321. package/dist/components/hds/page-header/subtitle.js.map +1 -1
  322. package/dist/components/hds/page-header/title.js.map +1 -1
  323. package/dist/components/hds/pagination/compact/index.js +31 -28
  324. package/dist/components/hds/pagination/compact/index.js.map +1 -1
  325. package/dist/components/hds/pagination/info/index.js.map +1 -1
  326. package/dist/components/hds/pagination/nav/arrow.js +10 -4
  327. package/dist/components/hds/pagination/nav/arrow.js.map +1 -1
  328. package/dist/components/hds/pagination/nav/ellipsis.js.map +1 -1
  329. package/dist/components/hds/pagination/nav/number.js +10 -4
  330. package/dist/components/hds/pagination/nav/number.js.map +1 -1
  331. package/dist/components/hds/pagination/numbered/index.js +44 -47
  332. package/dist/components/hds/pagination/numbered/index.js.map +1 -1
  333. package/dist/components/hds/pagination/size-selector/index.js +12 -8
  334. package/dist/components/hds/pagination/size-selector/index.js.map +1 -1
  335. package/dist/components/hds/popover-primitive/index.js +130 -103
  336. package/dist/components/hds/popover-primitive/index.js.map +1 -1
  337. package/dist/components/hds/reveal/index.js +26 -24
  338. package/dist/components/hds/reveal/index.js.map +1 -1
  339. package/dist/components/hds/reveal/toggle/button.js.map +1 -1
  340. package/dist/components/hds/rich-tooltip/bubble.js.map +1 -1
  341. package/dist/components/hds/rich-tooltip/index.js +8 -7
  342. package/dist/components/hds/rich-tooltip/index.js.map +1 -1
  343. package/dist/components/hds/rich-tooltip/toggle.js.map +1 -1
  344. package/dist/components/hds/segmented-group/index.js.map +1 -1
  345. package/dist/components/hds/separator/index.js.map +1 -1
  346. package/dist/components/hds/side-nav/base.js.map +1 -1
  347. package/dist/components/hds/side-nav/header/home-link.js.map +1 -1
  348. package/dist/components/hds/side-nav/header/icon-button.js +1 -0
  349. package/dist/components/hds/side-nav/header/icon-button.js.map +1 -1
  350. package/dist/components/hds/side-nav/header/index.js.map +1 -1
  351. package/dist/components/hds/side-nav/index.js +47 -34
  352. package/dist/components/hds/side-nav/index.js.map +1 -1
  353. package/dist/components/hds/side-nav/list/back-link.js.map +1 -1
  354. package/dist/components/hds/side-nav/list/index.js +15 -13
  355. package/dist/components/hds/side-nav/list/index.js.map +1 -1
  356. package/dist/components/hds/side-nav/list/item.js.map +1 -1
  357. package/dist/components/hds/side-nav/list/link.js.map +1 -1
  358. package/dist/components/hds/side-nav/list/title.js +13 -9
  359. package/dist/components/hds/side-nav/list/title.js.map +1 -1
  360. package/dist/components/hds/side-nav/portal/index.js.map +1 -1
  361. package/dist/components/hds/side-nav/portal/target.js +31 -28
  362. package/dist/components/hds/side-nav/portal/target.js.map +1 -1
  363. package/dist/components/hds/side-nav/toggle-button.js.map +1 -1
  364. package/dist/components/hds/stepper/step/indicator.js.map +1 -1
  365. package/dist/components/hds/stepper/task/indicator.js.map +1 -1
  366. package/dist/components/hds/table/index.js +54 -40
  367. package/dist/components/hds/table/index.js.map +1 -1
  368. package/dist/components/hds/table/td.js.map +1 -1
  369. package/dist/components/hds/table/th-button-sort.js +8 -7
  370. package/dist/components/hds/table/th-button-sort.js.map +1 -1
  371. package/dist/components/hds/table/th-button-tooltip.js +7 -6
  372. package/dist/components/hds/table/th-button-tooltip.js.map +1 -1
  373. package/dist/components/hds/table/th-selectable.js +24 -25
  374. package/dist/components/hds/table/th-selectable.js.map +1 -1
  375. package/dist/components/hds/table/th-sort.js +12 -10
  376. package/dist/components/hds/table/th-sort.js.map +1 -1
  377. package/dist/components/hds/table/th.js +12 -10
  378. package/dist/components/hds/table/th.js.map +1 -1
  379. package/dist/components/hds/table/tr.js.map +1 -1
  380. package/dist/components/hds/tabs/index.js +77 -54
  381. package/dist/components/hds/tabs/index.js.map +1 -1
  382. package/dist/components/hds/tabs/panel.js +21 -14
  383. package/dist/components/hds/tabs/panel.js.map +1 -1
  384. package/dist/components/hds/tabs/tab.js +29 -13
  385. package/dist/components/hds/tabs/tab.js.map +1 -1
  386. package/dist/components/hds/tag/index.js +43 -3
  387. package/dist/components/hds/tag/index.js.map +1 -1
  388. package/dist/components/hds/tag/types.js +16 -1
  389. package/dist/components/hds/tag/types.js.map +1 -1
  390. package/dist/components/hds/text/body.js.map +1 -1
  391. package/dist/components/hds/text/code.js.map +1 -1
  392. package/dist/components/hds/text/display.js.map +1 -1
  393. package/dist/components/hds/text/index.js.map +1 -1
  394. package/dist/components/hds/time/index.js +19 -14
  395. package/dist/components/hds/time/index.js.map +1 -1
  396. package/dist/components/hds/time/range.js +11 -12
  397. package/dist/components/hds/time/range.js.map +1 -1
  398. package/dist/components/hds/time/single.js.map +1 -1
  399. package/dist/components/hds/toast/index.js.map +1 -1
  400. package/dist/components/hds/tooltip-button/index.js.map +1 -1
  401. package/dist/components/hds/yield/index.js.map +1 -1
  402. package/dist/components.js +1 -1
  403. package/dist/helpers/hds-format-date.js.map +1 -1
  404. package/dist/helpers/hds-format-relative.js.map +1 -1
  405. package/dist/helpers/hds-link-to-query.js.map +1 -1
  406. package/dist/instance-initializers/load-sprite.js +3 -1
  407. package/dist/instance-initializers/load-sprite.js.map +1 -1
  408. package/dist/modifiers/hds-advanced-table-cell/dom-management.js +51 -0
  409. package/dist/modifiers/hds-advanced-table-cell/dom-management.js.map +1 -0
  410. package/dist/{components/hds/advanced-table/helpers.js → modifiers/hds-advanced-table-cell/keyboard-navigation.js} +5 -44
  411. package/dist/modifiers/hds-advanced-table-cell/keyboard-navigation.js.map +1 -0
  412. package/dist/modifiers/hds-advanced-table-cell.js +55 -0
  413. package/dist/modifiers/hds-advanced-table-cell.js.map +1 -0
  414. package/dist/modifiers/hds-clipboard.js +29 -35
  415. package/dist/modifiers/hds-clipboard.js.map +1 -1
  416. package/dist/modifiers/hds-code-editor/languages/rego.js +191 -0
  417. package/dist/modifiers/hds-code-editor/languages/rego.js.map +1 -0
  418. package/dist/modifiers/hds-code-editor/languages/sentinel.js +5 -0
  419. package/dist/modifiers/hds-code-editor/languages/sentinel.js.map +1 -1
  420. package/dist/modifiers/hds-code-editor/types.js +2 -0
  421. package/dist/modifiers/hds-code-editor/types.js.map +1 -1
  422. package/dist/modifiers/hds-code-editor.js +182 -155
  423. package/dist/modifiers/hds-code-editor.js.map +1 -1
  424. package/dist/modifiers/hds-tooltip.js +128 -108
  425. package/dist/modifiers/hds-tooltip.js.map +1 -1
  426. package/dist/services/hds-time.js +29 -23
  427. package/dist/services/hds-time.js.map +1 -1
  428. package/dist/styles/@hashicorp/design-system-components.css +94 -3
  429. package/dist/styles/components/advanced-table.scss +4 -0
  430. package/dist/styles/components/badge-count.scss +1 -1
  431. package/dist/styles/components/badge.scss +11 -1
  432. package/dist/styles/components/rich-tooltip.scss +3 -1
  433. package/dist/styles/components/tag.scss +28 -0
  434. package/dist/styles/components/time.scss +7 -0
  435. package/dist/styles/components/tooltip.scss +49 -0
  436. package/dist/utils/hds-aria-described-by.js +14 -17
  437. package/dist/utils/hds-aria-described-by.js.map +1 -1
  438. package/package.json +30 -31
  439. package/declarations/components/hds/advanced-table/helpers.d.ts.map +0 -1
  440. package/dist/_app_/components/hds/advanced-table/helpers.js +0 -1
  441. package/dist/_rollupPluginBabelHelpers-C_TsMG3M.js +0 -57
  442. package/dist/_rollupPluginBabelHelpers-C_TsMG3M.js.map +0 -1
  443. package/dist/components/hds/advanced-table/helpers.js.map +0 -1
@@ -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.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 HdsTableThButtonTooltipSignature {\n Args: {\n labelId?: string;\n tooltip: string;\n };\n Element: HTMLButtonElement;\n}\n\nexport default class HdsTableThButtonTooltip extends Component<HdsTableThButtonTooltipSignature> {\n // Generates a unique ID for the (hidden) \"label prefix\" <span> element\n private _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 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,6ZAA6Z;;ACgBhb,MAAMA,uBAAuB,SAASC,SAAS,CAAmC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;AAC/F;AAAAC,IAAAA,eAAA,CACyBC,IAAAA,EAAAA,gBAAAA,EAAAA,OAAO,CAAC,IAAI,CAAC,CAAA;AAAA;EAEtC,IAAIC,OAAOA,GAAW;IACpBC,MAAM,CACJ,CAAyD,uDAAA,CAAA,EACzD,OAAO,IAAI,CAACJ,IAAI,CAACG,OAAO,KAAK,QAC/B,CAAC;AACD,IAAA,OAAO,IAAI,CAACH,IAAI,CAACG,OAAO;AAC1B;EAEA,IAAIE,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,sBAAsB,EAAE,+BAA+B,CAAC;AAEzE,IAAA,OAAOA,OAAO,CAACC,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACC,oBAAA,CAAAC,QAAA,EAjBoBZ,uBAAuB,CAAA;;;;"}
1
+ {"version":3,"file":"th-button-tooltip.js","sources":["../../../../src/components/hds/table/th-button-tooltip.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport { guidFor } from '@ember/object/internals';\n\nexport interface HdsTableThButtonTooltipSignature {\n Args: {\n labelId?: string;\n tooltip: string;\n };\n Element: HTMLButtonElement;\n}\n\nexport default class HdsTableThButtonTooltip extends Component<HdsTableThButtonTooltipSignature> {\n // Generates a unique ID for the (hidden) \"label prefix\" <span> element\n private _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 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","_prefixLabelId","guidFor","tooltip","assert","args","classNames","classes","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;;AAce,MAAMA,uBAAuB,SAASC,SAAS,CAAmC;AAC/F;AACQC,EAAAA,cAAc,GAAGC,OAAO,CAAC,IAAI,CAAC;EAEtC,IAAIC,OAAOA,GAAW;IACpBC,MAAM,CACJ,CAAyD,uDAAA,CAAA,EACzD,OAAO,IAAI,CAACC,IAAI,CAACF,OAAO,KAAK,QAC/B,CAAC;AACD,IAAA,OAAO,IAAI,CAACE,IAAI,CAACF,OAAO;AAC1B;EAEA,IAAIG,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,sBAAsB,EAAE,+BAA+B,CAAC;AAEzE,IAAA,OAAOA,OAAO,CAACC,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACC,oBAAA,CAAAC,QAAA,EAjBoBX,uBAAuB,CAAA;;;;"}
@@ -1,22 +1,29 @@
1
- import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty, a as _defineProperty } from '../../../_rollupPluginBabelHelpers-C_TsMG3M.js';
2
1
  import Component from '@glimmer/component';
3
2
  import { action } from '@ember/object';
4
3
  import { guidFor } from '@ember/object/internals';
5
4
  import { tracked } from '@glimmer/tracking';
6
5
  import { HdsTableThSortOrderLabelValues, HdsTableThSortOrderValues } from './types.js';
7
6
  import { precompileTemplate } from '@ember/template-compilation';
7
+ import { g, i, n } from 'decorator-transforms/runtime';
8
8
  import { setComponentTemplate } from '@ember/component';
9
9
 
10
10
  var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<Hds::Table::Th\n class=\"hds-table__th--is-selectable\"\n aria-sort={{if this.isSortable this.ariaSort}}\n @scope={{@selectionScope}}\n ...attributes\n>\n <div class=\"hds-table__th-content\">\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 {{#if this.isSortable}}\n <span id={{this._labelId}} class=\"sr-only\">selection state</span>\n <Hds::Table::ThButtonSort\n @sortOrder={{@sortBySelectedOrder}}\n @onClick={{@onClickSortBySelected}}\n @labelId={{this._labelId}}\n />\n {{/if}}\n </div>\n</Hds::Table::Th>");
11
11
 
12
- var _class, _descriptor;
13
- let HdsTableThSelectable = (_class = class HdsTableThSelectable extends Component {
12
+ /**
13
+ * Copyright (c) HashiCorp, Inc.
14
+ * SPDX-License-Identifier: MPL-2.0
15
+ */
16
+
17
+ class HdsTableThSelectable extends Component {
18
+ static {
19
+ g(this.prototype, "isSelected", [tracked]);
20
+ }
21
+ #isSelected = (i(this, "isSelected"), undefined);
22
+ _guid = guidFor(this);
23
+ _checkboxId = `checkbox-${this._guid}`;
24
+ _labelId = `label-${this._guid}`;
14
25
  constructor(owner, args) {
15
26
  super(owner, args);
16
- _initializerDefineProperty(this, "isSelected", _descriptor, this);
17
- _defineProperty(this, "_guid", guidFor(this));
18
- _defineProperty(this, "_checkboxId", `checkbox-${this._guid}`);
19
- _defineProperty(this, "_labelId", `label-${this._guid}`);
20
27
  this.isSelected = this.args.isSelected ?? false;
21
28
  }
22
29
  get isSortable() {
@@ -45,24 +52,23 @@ let HdsTableThSelectable = (_class = class HdsTableThSelectable extends Componen
45
52
  } = this.args;
46
53
  if (typeof didInsert === 'function') {
47
54
  didInsert(checkbox, this.args.selectionKey);
48
- // we need to use a custom event listener here because changing the `checked` value via JS
49
- // (and this happens with the "select all") doesn't trigger the `change` event
50
- // and consequently the `aria-label` won't be automatically updated (and so we have to force it)
51
- checkbox.addEventListener('toggle', this.updateAriaLabel.bind(this), true);
52
55
  }
53
56
  }
54
- willDestroyNode(checkbox) {
57
+ static {
58
+ n(this.prototype, "didInsert", [action]);
59
+ }
60
+ willDestroyNode() {
55
61
  super.willDestroy();
56
62
  const {
57
63
  willDestroy
58
64
  } = this.args;
59
65
  if (typeof willDestroy === 'function') {
60
66
  willDestroy(this.args.selectionKey);
61
- if (checkbox) {
62
- checkbox.removeEventListener('toggle', this.updateAriaLabel.bind(this), true);
63
- }
64
67
  }
65
68
  }
69
+ static {
70
+ n(this.prototype, "willDestroyNode", [action]);
71
+ }
66
72
  onSelectionChange(event) {
67
73
  // Assert event.target as HdsFormCheckboxBaseSignature['Element'] to access the 'checked' property
68
74
  const target = event.target;
@@ -74,17 +80,10 @@ let HdsTableThSelectable = (_class = class HdsTableThSelectable extends Componen
74
80
  onSelectionChange(target, this.args.selectionKey);
75
81
  }
76
82
  }
77
- updateAriaLabel(event) {
78
- // Assert event.target as HTMLInputElement to access the 'checked' property
79
- const target = event.target;
80
- this.isSelected = target.checked;
83
+ static {
84
+ n(this.prototype, "onSelectionChange", [action]);
81
85
  }
82
- }, _descriptor = _applyDecoratedDescriptor(_class.prototype, "isSelected", [tracked], {
83
- configurable: true,
84
- enumerable: true,
85
- writable: true,
86
- initializer: null
87
- }), _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);
86
+ }
88
87
  setComponentTemplate(TEMPLATE, HdsTableThSelectable);
89
88
 
90
89
  export { HdsTableThSelectable as default };
@@ -1 +1 @@
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\\n class=\\\"hds-table__th--is-selectable\\\"\\n aria-sort={{if this.isSortable this.ariaSort}}\\n @scope={{@selectionScope}}\\n ...attributes\\n>\\n <div class=\\\"hds-table__th-content\\\">\\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 {{#if this.isSortable}}\\n <span id={{this._labelId}} class=\\\"sr-only\\\">selection state</span>\\n <Hds::Table::ThButtonSort\\n @sortOrder={{@sortBySelectedOrder}}\\n @onClick={{@onClickSortBySelected}}\\n @labelId={{this._labelId}}\\n />\\n {{/if}}\\n </div>\\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 {\n HdsTableThSortOrderValues,\n HdsTableThSortOrderLabelValues,\n} from './types.ts';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base';\nimport type {\n HdsTableScope,\n HdsTableThSortOrder,\n HdsTableThSortOrderLabels,\n} from './types';\nimport type { HdsTableThSignature } from './th';\n\nexport interface HdsTableThSelectableSignature {\n Args: {\n didInsert?: (\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ) => void;\n isSelected?: boolean;\n onClickSortBySelected?: () => void;\n onSelectionChange?: (\n target: HdsFormCheckboxBaseSignature['Element'],\n selectionKey: string | undefined\n ) => void;\n selectionAriaLabelSuffix?: string;\n selectionKey?: string;\n selectionScope?: HdsTableScope;\n sortBySelectedOrder?: HdsTableThSortOrder;\n willDestroy?: (selectionKey?: string) => void;\n };\n Element: HdsTableThSignature['Element'];\n}\n\nexport default class HdsTableThSelectable extends Component<HdsTableThSelectableSignature> {\n @tracked isSelected: boolean;\n private _guid = guidFor(this);\n\n private _checkboxId = `checkbox-${this._guid}`;\n private _labelId = `label-${this._guid}`;\n\n constructor(owner: unknown, args: HdsTableThSelectableSignature['Args']) {\n super(owner, args);\n this.isSelected = this.args.isSelected ?? false;\n }\n\n get isSortable(): boolean {\n return this.args.onClickSortBySelected !== undefined;\n }\n\n get ariaLabel(): string {\n const { selectionAriaLabelSuffix = 'row' } = this.args;\n return `Select ${selectionAriaLabelSuffix}`;\n }\n\n get ariaSort(): HdsTableThSortOrderLabels | undefined {\n switch (this.args.sortBySelectedOrder) {\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 @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","owner","args","_initializerDefineProperty","_descriptor","_defineProperty","guidFor","_guid","isSelected","isSortable","onClickSortBySelected","undefined","ariaLabel","selectionAriaLabelSuffix","ariaSort","sortBySelectedOrder","HdsTableThSortOrderValues","Asc","HdsTableThSortOrderLabelValues","Desc","None","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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"}
1
+ {"version":3,"file":"th-selectable.js","sources":["../../../../src/components/hds/table/th-selectable.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport { tracked } from '@glimmer/tracking';\nimport {\n HdsTableThSortOrderValues,\n HdsTableThSortOrderLabelValues,\n} from './types.ts';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base';\nimport type {\n HdsTableScope,\n HdsTableThSortOrder,\n HdsTableThSortOrderLabels,\n} from './types';\nimport type { HdsTableThSignature } from './th';\nimport type Owner from '@ember/owner';\n\nexport interface HdsTableThSelectableSignature {\n Args: {\n didInsert?: (\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ) => void;\n isSelected?: boolean;\n onClickSortBySelected?: () => void;\n onSelectionChange?: (\n target: HdsFormCheckboxBaseSignature['Element'],\n selectionKey: string | undefined\n ) => void;\n selectionAriaLabelSuffix?: string;\n selectionKey?: string;\n selectionScope?: HdsTableScope;\n sortBySelectedOrder?: HdsTableThSortOrder;\n willDestroy?: (selectionKey?: string) => void;\n };\n Element: HdsTableThSignature['Element'];\n}\n\nexport default class HdsTableThSelectable extends Component<HdsTableThSelectableSignature> {\n @tracked isSelected: boolean;\n private _guid = guidFor(this);\n\n private _checkboxId = `checkbox-${this._guid}`;\n private _labelId = `label-${this._guid}`;\n\n constructor(owner: Owner, args: HdsTableThSelectableSignature['Args']) {\n super(owner, args);\n this.isSelected = this.args.isSelected ?? false;\n }\n\n get isSortable(): boolean {\n return this.args.onClickSortBySelected !== undefined;\n }\n\n get ariaLabel(): string {\n const { selectionAriaLabelSuffix = 'row' } = this.args;\n return `Select ${selectionAriaLabelSuffix}`;\n }\n\n get ariaSort(): HdsTableThSortOrderLabels | undefined {\n switch (this.args.sortBySelectedOrder) {\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 @action\n didInsert(checkbox: HdsFormCheckboxBaseSignature['Element']): void {\n const { didInsert } = this.args;\n if (typeof didInsert === 'function') {\n didInsert(checkbox, this.args.selectionKey);\n }\n }\n\n @action\n willDestroyNode(): void {\n super.willDestroy();\n const { willDestroy } = this.args;\n if (typeof willDestroy === 'function') {\n willDestroy(this.args.selectionKey);\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"],"names":["HdsTableThSelectable","Component","g","prototype","tracked","i","void 0","_guid","guidFor","_checkboxId","_labelId","constructor","owner","args","isSelected","isSortable","onClickSortBySelected","undefined","ariaLabel","selectionAriaLabelSuffix","ariaSort","sortBySelectedOrder","HdsTableThSortOrderValues","Asc","HdsTableThSortOrderLabelValues","Desc","None","didInsert","checkbox","selectionKey","n","action","willDestroyNode","willDestroy","onSelectionChange","event","target","checked","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { a as _defineProperty } from '../../../_rollupPluginBabelHelpers-C_TsMG3M.js';
2
1
  import Component from '@glimmer/component';
3
2
  import { guidFor } from '@ember/object/internals';
4
3
  import { assert } from '@ember/debug';
@@ -8,18 +7,21 @@ import { setComponentTemplate } from '@ember/component';
8
7
 
9
8
  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>");
10
9
 
10
+ /**
11
+ * Copyright (c) HashiCorp, Inc.
12
+ * SPDX-License-Identifier: MPL-2.0
13
+ */
14
+
11
15
  const ALIGNMENTS = Object.values(HdsTableHorizontalAlignmentValues);
12
16
  const DEFAULT_ALIGN = HdsTableHorizontalAlignmentValues.Left;
13
17
  class HdsTableThSort extends Component {
14
- constructor(...args) {
15
- super(...args);
16
- /**
17
- * Generates a unique ID for the <span> element ("label")
18
- *
19
- * @param _labelId
20
- */
21
- _defineProperty(this, "_labelId", guidFor(this));
22
- }
18
+ /**
19
+ * Generates a unique ID for the <span> element ("label")
20
+ *
21
+ * @param _labelId
22
+ */
23
+ _labelId = guidFor(this);
24
+
23
25
  /**
24
26
  * @param ariaSort
25
27
  * @type {HdsTableThSortOrderLabels}
@@ -1 +1 @@
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';\nimport type { HdsTableThButtonSortSignature } from './th-button-sort';\n\nexport const ALIGNMENTS: string[] = Object.values(\n HdsTableHorizontalAlignmentValues\n);\nexport const DEFAULT_ALIGN = HdsTableHorizontalAlignmentValues.Left;\n\nexport interface HdsTableThSortSignature {\n Args: {\n align?: HdsTableHorizontalAlignment;\n onClickSort?: HdsTableThButtonSortSignature['Args']['onClick'];\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<HdsTableThSortSignature> {\n /**\n * Generates a unique ID for the <span> element (\"label\")\n *\n * @param _labelId\n */\n private _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,gnBAAgnB;;ACoB3oB,MAAMA,UAAoB,GAAGC,MAAM,CAACC,MAAM,CAC/CC,iCACF;AACaC,MAAAA,aAAa,GAAGD,iCAAiC,CAACE;AAgBhD,MAAMC,cAAc,SAASC,SAAS,CAA0B;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;AAC7E;AACF;AACA;AACA;AACA;AAJEC,IAAAA,eAAA,CAKmBC,IAAAA,EAAAA,UAAAA,EAAAA,OAAO,CAAC,IAAI,CAAC,CAAA;AAAA;AAEhC;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;MAC3C,KAAKD,yBAAyB,CAACG,IAAI;QACjC,OAAOD,8BAA8B,CAACC,IAAI;AAC5C,MAAA;AACE;QACA,OAAOD,8BAA8B,CAACE,IAAI;AAC9C;AACF;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAgC;IACvC,MAAM;AAAEA,MAAAA,KAAK,GAAGf;KAAe,GAAG,IAAI,CAACK,IAAI;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;AACD,IAAA,OAAOA,KAAK;AACd;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAII,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,eAAe,EAAE,qBAAqB,CAAC;;AAExD;IACA,IAAI,IAAI,CAACL,KAAK,EAAE;MACdK,OAAO,CAACC,IAAI,CAAC,CAAA,qBAAA,EAAwB,IAAI,CAACN,KAAK,EAAE,CAAC;AACpD;AAEA,IAAA,OAAOK,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACK,oBAAA,CAAAC,QAAA,EA5DoBrB,cAAc,CAAA;;;;"}
1
+ {"version":3,"file":"th-sort.js","sources":["../../../../src/components/hds/table/th-sort.ts"],"sourcesContent":["/**\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';\nimport type { HdsTableThButtonSortSignature } from './th-button-sort';\n\nexport const ALIGNMENTS: string[] = Object.values(\n HdsTableHorizontalAlignmentValues\n);\nexport const DEFAULT_ALIGN = HdsTableHorizontalAlignmentValues.Left;\n\nexport interface HdsTableThSortSignature {\n Args: {\n align?: HdsTableHorizontalAlignment;\n onClickSort?: HdsTableThButtonSortSignature['Args']['onClick'];\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<HdsTableThSortSignature> {\n /**\n * Generates a unique ID for the <span> element (\"label\")\n *\n * @param _labelId\n */\n private _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","_labelId","guidFor","ariaSort","args","sortOrder","HdsTableThSortOrderValues","Asc","HdsTableThSortOrderLabelValues","Desc","None","align","assert","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;;AAkBO,MAAMA,UAAoB,GAAGC,MAAM,CAACC,MAAM,CAC/CC,iCACF;AACaC,MAAAA,aAAa,GAAGD,iCAAiC,CAACE;AAgBhD,MAAMC,cAAc,SAASC,SAAS,CAA0B;AAC7E;AACF;AACA;AACA;AACA;AACUC,EAAAA,QAAQ,GAAGC,OAAO,CAAC,IAAI,CAAC;;AAEhC;AACF;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,QAAQA,GAA8B;AACxC,IAAA,QAAQ,IAAI,CAACC,IAAI,CAACC,SAAS;MACzB,KAAKC,yBAAyB,CAACC,GAAG;QAChC,OAAOC,8BAA8B,CAACD,GAAG;MAC3C,KAAKD,yBAAyB,CAACG,IAAI;QACjC,OAAOD,8BAA8B,CAACC,IAAI;AAC5C,MAAA;AACE;QACA,OAAOD,8BAA8B,CAACE,IAAI;AAC9C;AACF;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAgC;IACvC,MAAM;AAAEA,MAAAA,KAAK,GAAGd;KAAe,GAAG,IAAI,CAACO,IAAI;AAE3CQ,IAAAA,MAAM,CACJ,CAAyDnB,sDAAAA,EAAAA,UAAU,CAACoB,IAAI,CACtE,IACF,CAAC,CAAA,YAAA,EAAeF,KAAK,CAAA,CAAE,EACvBlB,UAAU,CAACqB,QAAQ,CAACH,KAAK,CAC3B,CAAC;AACD,IAAA,OAAOA,KAAK;AACd;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAII,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,eAAe,EAAE,qBAAqB,CAAC;;AAExD;IACA,IAAI,IAAI,CAACL,KAAK,EAAE;MACdK,OAAO,CAACC,IAAI,CAAC,CAAA,qBAAA,EAAwB,IAAI,CAACN,KAAK,EAAE,CAAC;AACpD;AAEA,IAAA,OAAOK,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACK,oBAAA,CAAAC,QAAA,EA5DoBpB,cAAc,CAAA;;;;"}
@@ -1,4 +1,3 @@
1
- import { a as _defineProperty } from '../../../_rollupPluginBabelHelpers-C_TsMG3M.js';
2
1
  import Component from '@glimmer/component';
3
2
  import { guidFor } from '@ember/object/internals';
4
3
  import { assert } from '@ember/debug';
@@ -8,18 +7,21 @@ import { setComponentTemplate } from '@ember/component';
8
7
 
9
8
  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>");
10
9
 
10
+ /**
11
+ * Copyright (c) HashiCorp, Inc.
12
+ * SPDX-License-Identifier: MPL-2.0
13
+ */
14
+
11
15
  const ALIGNMENTS = Object.values(HdsTableHorizontalAlignmentValues);
12
16
  const DEFAULT_ALIGN = HdsTableHorizontalAlignmentValues.Left;
13
17
  class HdsTableTh extends Component {
14
- constructor(...args) {
15
- super(...args);
16
- /**
17
- * Generates a unique ID for the <span> element ("label")
18
- *
19
- * @param _labelId
20
- */
21
- _defineProperty(this, "_labelId", guidFor(this));
22
- }
18
+ /**
19
+ * Generates a unique ID for the <span> element ("label")
20
+ *
21
+ * @param _labelId
22
+ */
23
+ _labelId = guidFor(this);
24
+
23
25
  /**
24
26
  * @param align
25
27
  * @type {HdsTableHorizontalAlignment}
@@ -1 +1 @@
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 HdsTableThSignature {\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<HdsTableThSignature> {\n /**\n * Generates a unique ID for the <span> element (\"label\")\n *\n * @param _labelId\n */\n private _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,yrBAAyrB;;ACWptB,MAAMA,UAAoB,GAAGC,MAAM,CAACC,MAAM,CAC/CC,iCACF;AACaC,MAAAA,aAAa,GAAGD,iCAAiC,CAACE;AAgBhD,MAAMC,UAAU,SAASC,SAAS,CAAsB;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;AACrE;AACF;AACA;AACA;AACA;AAJEC,IAAAA,eAAA,CAKmBC,IAAAA,EAAAA,UAAAA,EAAAA,OAAO,CAAC,IAAI,CAAC,CAAA;AAAA;AAEhC;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAgC;IACvC,MAAM;AAAEA,MAAAA,KAAK,GAAGR;KAAe,GAAG,IAAI,CAACK,IAAI;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;AACD,IAAA,OAAOA,KAAK;AACd;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAII,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,eAAe,CAAC;;AAEjC;IACA,IAAI,IAAI,CAACL,KAAK,EAAE;MACdK,OAAO,CAACC,IAAI,CAAC,CAAA,qBAAA,EAAwB,IAAI,CAACN,KAAK,EAAE,CAAC;AACpD;AAEA,IAAA,OAAOK,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACK,oBAAA,CAAAC,QAAA,EAzCoBd,UAAU,CAAA;;;;"}
1
+ {"version":3,"file":"th.js","sources":["../../../../src/components/hds/table/th.ts"],"sourcesContent":["/**\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 HdsTableThSignature {\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<HdsTableThSignature> {\n /**\n * Generates a unique ID for the <span> element (\"label\")\n *\n * @param _labelId\n */\n private _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","_labelId","guidFor","align","args","assert","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;;AASO,MAAMA,UAAoB,GAAGC,MAAM,CAACC,MAAM,CAC/CC,iCACF;AACaC,MAAAA,aAAa,GAAGD,iCAAiC,CAACE;AAgBhD,MAAMC,UAAU,SAASC,SAAS,CAAsB;AACrE;AACF;AACA;AACA;AACA;AACUC,EAAAA,QAAQ,GAAGC,OAAO,CAAC,IAAI,CAAC;;AAEhC;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAgC;IACvC,MAAM;AAAEA,MAAAA,KAAK,GAAGN;KAAe,GAAG,IAAI,CAACO,IAAI;AAE3CC,IAAAA,MAAM,CACJ,CAA6DZ,0DAAAA,EAAAA,UAAU,CAACa,IAAI,CAC1E,IACF,CAAC,CAAA,YAAA,EAAeH,KAAK,CAAA,CAAE,EACvBV,UAAU,CAACc,QAAQ,CAACJ,KAAK,CAC3B,CAAC;AACD,IAAA,OAAOA,KAAK;AACd;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIK,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,eAAe,CAAC;;AAEjC;IACA,IAAI,IAAI,CAACN,KAAK,EAAE;MACdM,OAAO,CAACC,IAAI,CAAC,CAAA,qBAAA,EAAwB,IAAI,CAACP,KAAK,EAAE,CAAC;AACpD;AAEA,IAAA,OAAOM,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACK,oBAAA,CAAAC,QAAA,EAzCoBb,UAAU,CAAA;;;;"}
@@ -1 +1 @@
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 @sortBySelectedOrder={{@sortBySelectedOrder}}\\n @didInsert={{@didInsert}}\\n @willDestroy={{@willDestroy}}\\n @onClickSortBySelected={{@onClickSortBySelected}}\\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, HdsTableThSortOrder } from './types.ts';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base';\nimport type { HdsTableSignature } from './index.ts';\nimport type { HdsTableThSelectableSignature } from './th-selectable.ts';\n\nexport interface BaseHdsTableTrSignature {\n Args: {\n selectableColumnKey?: HdsTableSignature['Args']['selectableColumnKey'];\n isSelectable?: boolean;\n isSelected?: false;\n selectionAriaLabelSuffix?: string;\n selectionKey?: string;\n selectionScope?: HdsTableScope;\n sortBySelectedOrder?: HdsTableThSortOrder;\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 onClickSortBySelected?: HdsTableThSelectableSignature['Args']['onClickSortBySelected'];\n };\n Blocks: {\n default: [];\n };\n Element: HTMLTableRowElement;\n}\n\n// Extended interface for selectable rows\nexport interface SelectableHdsTableTrArgs extends BaseHdsTableTrSignature {\n Args: BaseHdsTableTrSignature['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 HdsTableTrSignature =\n | BaseHdsTableTrSignature\n | SelectableHdsTableTrArgs;\nexport default class HdsTableTr extends Component<HdsTableTrSignature> {\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,0nBAA0nB;;ACD5pB;AACA;AACA;AACA;;AAiDe,MAAMA,UAAU,SAASC,SAAS,CAAsB;EACrE,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;AACD,MAAA,OAAO,IAAI,CAACC,IAAI,CAACD,YAAY;AAC/B;AACA,IAAA,OAAOK,SAAS;AAClB;AACF;AAACC,oBAAA,CAAAC,QAAA,EAXoBT,UAAU,CAAA;;;;"}
1
+ {"version":3,"file":"tr.js","sources":["../../../../src/components/hds/table/tr.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport { HdsTableScopeValues } from './types.ts';\nimport type { HdsTableScope, HdsTableThSortOrder } from './types.ts';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base';\nimport type { HdsTableSignature } from './index.ts';\nimport type { HdsTableThSelectableSignature } from './th-selectable.ts';\n\nexport interface BaseHdsTableTrSignature {\n Args: {\n selectableColumnKey?: HdsTableSignature['Args']['selectableColumnKey'];\n isSelectable?: boolean;\n isSelected?: false;\n selectionAriaLabelSuffix?: string;\n selectionKey?: string;\n selectionScope?: HdsTableScope;\n sortBySelectedOrder?: HdsTableThSortOrder;\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 onClickSortBySelected?: HdsTableThSelectableSignature['Args']['onClickSortBySelected'];\n };\n Blocks: {\n default: [];\n };\n Element: HTMLTableRowElement;\n}\n\n// Extended interface for selectable rows\nexport interface SelectableHdsTableTrArgs extends BaseHdsTableTrSignature {\n Args: BaseHdsTableTrSignature['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 HdsTableTrSignature =\n | BaseHdsTableTrSignature\n | SelectableHdsTableTrArgs;\nexport default class HdsTableTr extends Component<HdsTableTrSignature> {\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":";;;;;;;AAAA;AACA;AACA;AACA;;AAiDe,MAAMA,UAAU,SAASC,SAAS,CAAsB;EACrE,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;AACD,MAAA,OAAO,IAAI,CAACC,IAAI,CAACD,YAAY;AAC/B;AACA,IAAA,OAAOK,SAAS;AAClB;AACF;AAACC,oBAAA,CAAAC,QAAA,EAXoBT,UAAU,CAAA;;;;"}
@@ -1,4 +1,3 @@
1
- import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty } from '../../../_rollupPluginBabelHelpers-C_TsMG3M.js';
2
1
  import Component from '@glimmer/component';
3
2
  import { tracked } from '@glimmer/tracking';
4
3
  import { action } from '@ember/object';
@@ -6,14 +5,55 @@ import { assert, warn } from '@ember/debug';
6
5
  import { schedule, next } from '@ember/runloop';
7
6
  import { HdsTabsSizeValues } from './types.js';
8
7
  import { precompileTemplate } from '@ember/template-compilation';
8
+ import { g, i, n } from 'decorator-transforms/runtime';
9
9
  import { setComponentTemplate } from '@ember/component';
10
10
 
11
11
  var TEMPLATE = 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 panelIds=this._panelIds\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 }}");
12
12
 
13
- var _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7;
13
+ /**
14
+ * Copyright (c) HashiCorp, Inc.
15
+ * SPDX-License-Identifier: MPL-2.0
16
+ */
17
+
14
18
  const DEFAULT_SIZE = 'medium';
15
19
  const SIZES = Object.values(HdsTabsSizeValues);
16
- let HdsTabs = (_class = class HdsTabs extends Component {
20
+ class HdsTabs extends Component {
21
+ static {
22
+ g(this.prototype, "_tabNodes", [tracked], function () {
23
+ return [];
24
+ });
25
+ }
26
+ #_tabNodes = (i(this, "_tabNodes"), undefined);
27
+ static {
28
+ g(this.prototype, "_tabIds", [tracked], function () {
29
+ return [];
30
+ });
31
+ }
32
+ #_tabIds = (i(this, "_tabIds"), undefined);
33
+ static {
34
+ g(this.prototype, "_panelNodes", [tracked], function () {
35
+ return [];
36
+ });
37
+ }
38
+ #_panelNodes = (i(this, "_panelNodes"), undefined);
39
+ static {
40
+ g(this.prototype, "_panelIds", [tracked], function () {
41
+ return [];
42
+ });
43
+ }
44
+ #_panelIds = (i(this, "_panelIds"), undefined);
45
+ static {
46
+ g(this.prototype, "_selectedTabIndex", [tracked]);
47
+ }
48
+ #_selectedTabIndex = (i(this, "_selectedTabIndex"), undefined);
49
+ static {
50
+ g(this.prototype, "_selectedTabId", [tracked]);
51
+ }
52
+ #_selectedTabId = (i(this, "_selectedTabId"), undefined);
53
+ static {
54
+ g(this.prototype, "_isControlled", [tracked]);
55
+ }
56
+ #_isControlled = (i(this, "_isControlled"), undefined);
17
57
  /**
18
58
  * Sets the size of Tabs
19
59
  * Accepted values: medium, large
@@ -33,13 +73,6 @@ let HdsTabs = (_class = class HdsTabs extends Component {
33
73
  super(owner, args);
34
74
 
35
75
  // this is to determine if the "selected" tab logic is controlled in the consumers' code or is maintained as an internal state
36
- _initializerDefineProperty(this, "_tabNodes", _descriptor, this);
37
- _initializerDefineProperty(this, "_tabIds", _descriptor2, this);
38
- _initializerDefineProperty(this, "_panelNodes", _descriptor3, this);
39
- _initializerDefineProperty(this, "_panelIds", _descriptor4, this);
40
- _initializerDefineProperty(this, "_selectedTabIndex", _descriptor5, this);
41
- _initializerDefineProperty(this, "_selectedTabId", _descriptor6, this);
42
- _initializerDefineProperty(this, "_isControlled", _descriptor7, this);
43
76
  this._isControlled = this.args.selectedTabIndex !== undefined;
44
77
  this._selectedTabIndex = this.args.selectedTabIndex ?? 0;
45
78
  }
@@ -79,12 +112,18 @@ let HdsTabs = (_class = class HdsTabs extends Component {
79
112
  this.setTabIndicator();
80
113
  });
81
114
  }
115
+ static {
116
+ n(this.prototype, "didInsert", [action]);
117
+ }
82
118
  didUpdateSelectedTabIndex() {
83
119
  // eslint-disable-next-line ember/no-runloop
84
120
  schedule('afterRender', () => {
85
121
  this.setTabIndicator();
86
122
  });
87
123
  }
124
+ static {
125
+ n(this.prototype, "didUpdateSelectedTabIndex", [action]);
126
+ }
88
127
  didUpdateSelectedTabId() {
89
128
  // if the selected tab is set dynamically (eg. in a `each` loop)
90
129
  // the `Tab` nodes will be re-inserted/rendered, which means the `this.selectedTabId` variable changes
@@ -95,12 +134,18 @@ let HdsTabs = (_class = class HdsTabs extends Component {
95
134
  this.selectedTabIndex = this._tabIds.indexOf(this._selectedTabId);
96
135
  }
97
136
  }
137
+ static {
138
+ n(this.prototype, "didUpdateSelectedTabId", [action]);
139
+ }
98
140
  didUpdateParentVisibility() {
99
141
  // eslint-disable-next-line ember/no-runloop
100
142
  schedule('afterRender', () => {
101
143
  this.setTabIndicator();
102
144
  });
103
145
  }
146
+ static {
147
+ n(this.prototype, "didUpdateParentVisibility", [action]);
148
+ }
104
149
  didInsertTab(element, isSelected) {
105
150
  this._tabNodes = [...this._tabNodes, element];
106
151
  this._tabIds = [...this._tabIds, element.id];
@@ -108,24 +153,39 @@ let HdsTabs = (_class = class HdsTabs extends Component {
108
153
  this._selectedTabId = element.id;
109
154
  }
110
155
  }
156
+ static {
157
+ n(this.prototype, "didInsertTab", [action]);
158
+ }
111
159
  didUpdateTab(tabIndex, isSelected) {
112
160
  if (isSelected) {
113
161
  this.selectedTabIndex = tabIndex;
114
162
  }
115
163
  this.setTabIndicator();
116
164
  }
165
+ static {
166
+ n(this.prototype, "didUpdateTab", [action]);
167
+ }
117
168
  willDestroyTab(element) {
118
169
  this._tabNodes = this._tabNodes.filter(node => node.id !== element.id);
119
170
  this._tabIds = this._tabIds.filter(tabId => tabId !== element.id);
120
171
  }
172
+ static {
173
+ n(this.prototype, "willDestroyTab", [action]);
174
+ }
121
175
  didInsertPanel(element, panelId) {
122
176
  this._panelNodes = [...this._panelNodes, element];
123
177
  this._panelIds = [...this._panelIds, panelId];
124
178
  }
179
+ static {
180
+ n(this.prototype, "didInsertPanel", [action]);
181
+ }
125
182
  willDestroyPanel(element) {
126
183
  this._panelNodes = this._panelNodes.filter(node => node.id !== element.id);
127
184
  this._panelIds = this._panelIds.filter(panelId => panelId !== element.id);
128
185
  }
186
+ static {
187
+ n(this.prototype, "willDestroyPanel", [action]);
188
+ }
129
189
  onClick(event, tabIndex) {
130
190
  this.selectedTabIndex = tabIndex;
131
191
  this.setTabIndicator();
@@ -135,6 +195,9 @@ let HdsTabs = (_class = class HdsTabs extends Component {
135
195
  this.args.onClickTab(event, tabIndex);
136
196
  }
137
197
  }
198
+ static {
199
+ n(this.prototype, "onClick", [action]);
200
+ }
138
201
  onKeyUp(tabIndex, event) {
139
202
  const leftArrow = 'ArrowLeft';
140
203
  const rightArrow = 'ArrowRight';
@@ -161,6 +224,9 @@ let HdsTabs = (_class = class HdsTabs extends Component {
161
224
  }
162
225
 
163
226
  // Focus tab for keyboard & mouse navigation:
227
+ static {
228
+ n(this.prototype, "onKeyUp", [action]);
229
+ }
164
230
  focusTab(tabIndex, event) {
165
231
  event.preventDefault();
166
232
  this._tabNodes[tabIndex]?.focus();
@@ -197,50 +263,7 @@ let HdsTabs = (_class = class HdsTabs extends Component {
197
263
  }
198
264
  });
199
265
  }
200
- }, _descriptor = _applyDecoratedDescriptor(_class.prototype, "_tabNodes", [tracked], {
201
- configurable: true,
202
- enumerable: true,
203
- writable: true,
204
- initializer: function () {
205
- return [];
206
- }
207
- }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, "_tabIds", [tracked], {
208
- configurable: true,
209
- enumerable: true,
210
- writable: true,
211
- initializer: function () {
212
- return [];
213
- }
214
- }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, "_panelNodes", [tracked], {
215
- configurable: true,
216
- enumerable: true,
217
- writable: true,
218
- initializer: function () {
219
- return [];
220
- }
221
- }), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, "_panelIds", [tracked], {
222
- configurable: true,
223
- enumerable: true,
224
- writable: true,
225
- initializer: function () {
226
- return [];
227
- }
228
- }), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, "_selectedTabIndex", [tracked], {
229
- configurable: true,
230
- enumerable: true,
231
- writable: true,
232
- initializer: null
233
- }), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, "_selectedTabId", [tracked], {
234
- configurable: true,
235
- enumerable: true,
236
- writable: true,
237
- initializer: null
238
- }), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, "_isControlled", [tracked], {
239
- configurable: true,
240
- enumerable: true,
241
- writable: true,
242
- initializer: null
243
- }), _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);
266
+ }
244
267
  setComponentTemplate(TEMPLATE, HdsTabs);
245
268
 
246
269
  export { DEFAULT_SIZE, SIZES, HdsTabs as default };