@hashicorp/design-system-components 4.16.0 → 4.17.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 (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 +1 -1
  54. package/declarations/components/hds/interactive/index.d.ts.map +1 -1
  55. package/declarations/components/hds/link/inline.d.ts +2 -1
  56. package/declarations/components/hds/link/inline.d.ts.map +1 -1
  57. package/declarations/components/hds/link/standalone.d.ts +2 -1
  58. package/declarations/components/hds/link/standalone.d.ts.map +1 -1
  59. package/declarations/components/hds/menu-primitive/index.d.ts +2 -1
  60. package/declarations/components/hds/menu-primitive/index.d.ts.map +1 -1
  61. package/declarations/components/hds/modal/body.d.ts +2 -1
  62. package/declarations/components/hds/modal/body.d.ts.map +1 -1
  63. package/declarations/components/hds/modal/footer.d.ts +2 -1
  64. package/declarations/components/hds/modal/footer.d.ts.map +1 -1
  65. package/declarations/components/hds/modal/header.d.ts +2 -1
  66. package/declarations/components/hds/modal/header.d.ts.map +1 -1
  67. package/declarations/components/hds/pagination/compact/index.d.ts +2 -1
  68. package/declarations/components/hds/pagination/compact/index.d.ts.map +1 -1
  69. package/declarations/components/hds/pagination/numbered/index.d.ts +3 -2
  70. package/declarations/components/hds/pagination/numbered/index.d.ts.map +1 -1
  71. package/declarations/components/hds/popover-primitive/index.d.ts +2 -1
  72. package/declarations/components/hds/popover-primitive/index.d.ts.map +1 -1
  73. package/declarations/components/hds/side-nav/header/icon-button.d.ts +2 -1
  74. package/declarations/components/hds/side-nav/header/icon-button.d.ts.map +1 -1
  75. package/declarations/components/hds/side-nav/index.d.ts +2 -1
  76. package/declarations/components/hds/side-nav/index.d.ts.map +1 -1
  77. package/declarations/components/hds/side-nav/portal/target.d.ts.map +1 -1
  78. package/declarations/components/hds/stepper/task/indicator.d.ts +1 -1
  79. package/declarations/components/hds/table/index.d.ts +2 -1
  80. package/declarations/components/hds/table/index.d.ts.map +1 -1
  81. package/declarations/components/hds/table/th-selectable.d.ts +3 -3
  82. package/declarations/components/hds/table/th-selectable.d.ts.map +1 -1
  83. package/declarations/components/hds/tabs/index.d.ts +2 -1
  84. package/declarations/components/hds/tabs/index.d.ts.map +1 -1
  85. package/declarations/components/hds/tag/index.d.ts +16 -0
  86. package/declarations/components/hds/tag/index.d.ts.map +1 -1
  87. package/declarations/components/hds/tag/types.d.ts +15 -0
  88. package/declarations/components/hds/tag/types.d.ts.map +1 -1
  89. package/declarations/components/hds/time/index.d.ts.map +1 -1
  90. package/declarations/helpers/hds-format-date.d.ts +16 -3
  91. package/declarations/helpers/hds-format-date.d.ts.map +1 -1
  92. package/declarations/helpers/hds-format-relative.d.ts +9 -3
  93. package/declarations/helpers/hds-format-relative.d.ts.map +1 -1
  94. package/declarations/helpers/hds-link-to-models.d.ts +7 -1
  95. package/declarations/helpers/hds-link-to-models.d.ts.map +1 -1
  96. package/declarations/helpers/hds-link-to-query.d.ts +7 -1
  97. package/declarations/helpers/hds-link-to-query.d.ts.map +1 -1
  98. package/declarations/instance-initializers/load-sprite.d.ts.map +1 -1
  99. package/declarations/{components/hds/advanced-table/helpers.d.ts → modifiers/hds-advanced-table-cell/dom-management.d.ts} +3 -4
  100. package/declarations/modifiers/hds-advanced-table-cell/dom-management.d.ts.map +1 -0
  101. package/declarations/modifiers/hds-advanced-table-cell/keyboard-navigation.d.ts +6 -0
  102. package/declarations/modifiers/hds-advanced-table-cell/keyboard-navigation.d.ts.map +1 -0
  103. package/declarations/modifiers/hds-advanced-table-cell.d.ts +26 -0
  104. package/declarations/modifiers/hds-advanced-table-cell.d.ts.map +1 -0
  105. package/declarations/modifiers/hds-clipboard.d.ts.map +1 -1
  106. package/declarations/modifiers/hds-code-editor/languages/rego.d.ts +48 -0
  107. package/declarations/modifiers/hds-code-editor/languages/rego.d.ts.map +1 -0
  108. package/declarations/modifiers/hds-code-editor/languages/sentinel.d.ts +4 -0
  109. package/declarations/modifiers/hds-code-editor/languages/sentinel.d.ts.map +1 -1
  110. package/declarations/modifiers/hds-code-editor/types.d.ts +2 -0
  111. package/declarations/modifiers/hds-code-editor/types.d.ts.map +1 -1
  112. package/declarations/modifiers/hds-code-editor.d.ts +9 -5
  113. package/declarations/modifiers/hds-code-editor.d.ts.map +1 -1
  114. package/declarations/modifiers/hds-tooltip.d.ts +4 -2
  115. package/declarations/modifiers/hds-tooltip.d.ts.map +1 -1
  116. package/declarations/services/hds-time-types.d.ts +7 -7
  117. package/declarations/services/hds-time-types.d.ts.map +1 -1
  118. package/declarations/services/hds-time.d.ts +3 -3
  119. package/declarations/services/hds-time.d.ts.map +1 -1
  120. package/declarations/template-registry.d.ts +2 -0
  121. package/declarations/template-registry.d.ts.map +1 -1
  122. package/dist/README.md +4 -8
  123. package/dist/_app_/modifiers/hds-advanced-table-cell/dom-management.js +1 -0
  124. package/dist/_app_/modifiers/hds-advanced-table-cell/keyboard-navigation.js +1 -0
  125. package/dist/_app_/modifiers/hds-advanced-table-cell.js +1 -0
  126. package/dist/_app_/modifiers/hds-code-editor/languages/rego.js +1 -0
  127. package/dist/components/hds/accordion/index.js.map +1 -1
  128. package/dist/components/hds/accordion/item/button.js +11 -4
  129. package/dist/components/hds/accordion/item/button.js.map +1 -1
  130. package/dist/components/hds/accordion/item/index.js +12 -11
  131. package/dist/components/hds/accordion/item/index.js.map +1 -1
  132. package/dist/components/hds/advanced-table/expandable-tr-group.js +16 -12
  133. package/dist/components/hds/advanced-table/expandable-tr-group.js.map +1 -1
  134. package/dist/components/hds/advanced-table/index.js +69 -53
  135. package/dist/components/hds/advanced-table/index.js.map +1 -1
  136. package/dist/components/hds/advanced-table/td.js +30 -36
  137. package/dist/components/hds/advanced-table/td.js.map +1 -1
  138. package/dist/components/hds/advanced-table/th-button-expand.js +13 -9
  139. package/dist/components/hds/advanced-table/th-button-expand.js.map +1 -1
  140. package/dist/components/hds/advanced-table/th-button-sort.js +8 -7
  141. package/dist/components/hds/advanced-table/th-button-sort.js.map +1 -1
  142. package/dist/components/hds/advanced-table/th-button-tooltip.js +7 -6
  143. package/dist/components/hds/advanced-table/th-button-tooltip.js.map +1 -1
  144. package/dist/components/hds/advanced-table/th-selectable.js +25 -17
  145. package/dist/components/hds/advanced-table/th-selectable.js.map +1 -1
  146. package/dist/components/hds/advanced-table/th-sort.js +30 -37
  147. package/dist/components/hds/advanced-table/th-sort.js.map +1 -1
  148. package/dist/components/hds/advanced-table/th.js +29 -36
  149. package/dist/components/hds/advanced-table/th.js.map +1 -1
  150. package/dist/components/hds/advanced-table/tr.js.map +1 -1
  151. package/dist/components/hds/alert/description.js.map +1 -1
  152. package/dist/components/hds/alert/index.js +19 -16
  153. package/dist/components/hds/alert/index.js.map +1 -1
  154. package/dist/components/hds/alert/title.js.map +1 -1
  155. package/dist/components/hds/app-footer/copyright.js.map +1 -1
  156. package/dist/components/hds/app-footer/index.js.map +1 -1
  157. package/dist/components/hds/app-footer/item.js.map +1 -1
  158. package/dist/components/hds/app-footer/legal-links.js.map +1 -1
  159. package/dist/components/hds/app-footer/link.js.map +1 -1
  160. package/dist/components/hds/app-footer/status-link.js.map +1 -1
  161. package/dist/components/hds/app-frame/index.js.map +1 -1
  162. package/dist/components/hds/app-frame/parts/footer.js.map +1 -1
  163. package/dist/components/hds/app-frame/parts/header.js.map +1 -1
  164. package/dist/components/hds/app-frame/parts/main.js.map +1 -1
  165. package/dist/components/hds/app-frame/parts/modals.js.map +1 -1
  166. package/dist/components/hds/app-frame/parts/sidebar.js.map +1 -1
  167. package/dist/components/hds/app-header/home-link.js.map +1 -1
  168. package/dist/components/hds/app-header/index.js +42 -34
  169. package/dist/components/hds/app-header/index.js.map +1 -1
  170. package/dist/components/hds/app-header/menu-button.js +11 -4
  171. package/dist/components/hds/app-header/menu-button.js.map +1 -1
  172. package/dist/components/hds/app-side-nav/index.js +44 -31
  173. package/dist/components/hds/app-side-nav/index.js.map +1 -1
  174. package/dist/components/hds/app-side-nav/list/back-link.js.map +1 -1
  175. package/dist/components/hds/app-side-nav/list/index.js +15 -13
  176. package/dist/components/hds/app-side-nav/list/index.js.map +1 -1
  177. package/dist/components/hds/app-side-nav/list/item.js.map +1 -1
  178. package/dist/components/hds/app-side-nav/list/link.js.map +1 -1
  179. package/dist/components/hds/app-side-nav/list/title.js +13 -9
  180. package/dist/components/hds/app-side-nav/list/title.js.map +1 -1
  181. package/dist/components/hds/app-side-nav/portal/index.js.map +1 -1
  182. package/dist/components/hds/app-side-nav/portal/target.js +31 -28
  183. package/dist/components/hds/app-side-nav/portal/target.js.map +1 -1
  184. package/dist/components/hds/app-side-nav/toggle-button.js.map +1 -1
  185. package/dist/components/hds/application-state/body.js.map +1 -1
  186. package/dist/components/hds/application-state/footer.js.map +1 -1
  187. package/dist/components/hds/application-state/header.js.map +1 -1
  188. package/dist/components/hds/application-state/index.js.map +1 -1
  189. package/dist/components/hds/application-state/media.js.map +1 -1
  190. package/dist/components/hds/badge/index.js.map +1 -1
  191. package/dist/components/hds/badge-count/index.js.map +1 -1
  192. package/dist/components/hds/breadcrumb/index.js.map +1 -1
  193. package/dist/components/hds/breadcrumb/item.js +1 -1
  194. package/dist/components/hds/breadcrumb/item.js.map +1 -1
  195. package/dist/components/hds/breadcrumb/truncation.js.map +1 -1
  196. package/dist/components/hds/button/index.js.map +1 -1
  197. package/dist/components/hds/button-set/index.js.map +1 -1
  198. package/dist/components/hds/card/container.js.map +1 -1
  199. package/dist/components/hds/code-block/copy-button.js +9 -5
  200. package/dist/components/hds/code-block/copy-button.js.map +1 -1
  201. package/dist/components/hds/code-block/description.js.map +1 -1
  202. package/dist/components/hds/code-block/index.js +27 -21
  203. package/dist/components/hds/code-block/index.js.map +1 -1
  204. package/dist/components/hds/code-block/title.js.map +1 -1
  205. package/dist/components/hds/code-editor/description.js +6 -5
  206. package/dist/components/hds/code-editor/description.js.map +1 -1
  207. package/dist/components/hds/code-editor/full-screen-button.js.map +1 -1
  208. package/dist/components/hds/code-editor/generic.js.map +1 -1
  209. package/dist/components/hds/code-editor/index.js +67 -52
  210. package/dist/components/hds/code-editor/index.js.map +1 -1
  211. package/dist/components/hds/code-editor/title.js +6 -5
  212. package/dist/components/hds/code-editor/title.js.map +1 -1
  213. package/dist/components/hds/copy/button/index.js +23 -20
  214. package/dist/components/hds/copy/button/index.js.map +1 -1
  215. package/dist/components/hds/copy/snippet/index.js +23 -20
  216. package/dist/components/hds/copy/snippet/index.js.map +1 -1
  217. package/dist/components/hds/dialog-primitive/body.js.map +1 -1
  218. package/dist/components/hds/dialog-primitive/description.js.map +1 -1
  219. package/dist/components/hds/dialog-primitive/footer.js.map +1 -1
  220. package/dist/components/hds/dialog-primitive/header.js.map +1 -1
  221. package/dist/components/hds/dialog-primitive/overlay.js.map +1 -1
  222. package/dist/components/hds/dialog-primitive/wrapper.js.map +1 -1
  223. package/dist/components/hds/disclosure-primitive/index.js +27 -21
  224. package/dist/components/hds/disclosure-primitive/index.js.map +1 -1
  225. package/dist/components/hds/dismiss-button/index.js.map +1 -1
  226. package/dist/components/hds/dropdown/footer.js.map +1 -1
  227. package/dist/components/hds/dropdown/header.js.map +1 -1
  228. package/dist/components/hds/dropdown/index.js +12 -5
  229. package/dist/components/hds/dropdown/index.js.map +1 -1
  230. package/dist/components/hds/dropdown/list-item/checkbox.js.map +1 -1
  231. package/dist/components/hds/dropdown/list-item/checkmark.js.map +1 -1
  232. package/dist/components/hds/dropdown/list-item/copy-item.js.map +1 -1
  233. package/dist/components/hds/dropdown/list-item/description.js.map +1 -1
  234. package/dist/components/hds/dropdown/list-item/generic.js.map +1 -1
  235. package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -1
  236. package/dist/components/hds/dropdown/list-item/radio.js.map +1 -1
  237. package/dist/components/hds/dropdown/list-item/separator.js.map +1 -1
  238. package/dist/components/hds/dropdown/list-item/title.js.map +1 -1
  239. package/dist/components/hds/dropdown/toggle/button.js +12 -10
  240. package/dist/components/hds/dropdown/toggle/button.js.map +1 -1
  241. package/dist/components/hds/dropdown/toggle/chevron.js.map +1 -1
  242. package/dist/components/hds/dropdown/toggle/icon.js +20 -12
  243. package/dist/components/hds/dropdown/toggle/icon.js.map +1 -1
  244. package/dist/components/hds/flyout/body.js +2 -1
  245. package/dist/components/hds/flyout/body.js.map +1 -1
  246. package/dist/components/hds/flyout/description.js +1 -0
  247. package/dist/components/hds/flyout/description.js.map +1 -1
  248. package/dist/components/hds/flyout/footer.js +2 -1
  249. package/dist/components/hds/flyout/footer.js.map +1 -1
  250. package/dist/components/hds/flyout/header.js +2 -1
  251. package/dist/components/hds/flyout/header.js.map +1 -1
  252. package/dist/components/hds/flyout/index.js +33 -18
  253. package/dist/components/hds/flyout/index.js.map +1 -1
  254. package/dist/components/hds/form/character-count/index.js.map +1 -1
  255. package/dist/components/hds/form/checkbox/base.js.map +1 -1
  256. package/dist/components/hds/form/checkbox/field.js.map +1 -1
  257. package/dist/components/hds/form/checkbox/group.js.map +1 -1
  258. package/dist/components/hds/form/error/index.js.map +1 -1
  259. package/dist/components/hds/form/error/message.js.map +1 -1
  260. package/dist/components/hds/form/field/index.js +15 -7
  261. package/dist/components/hds/form/field/index.js.map +1 -1
  262. package/dist/components/hds/form/fieldset/index.js +15 -7
  263. package/dist/components/hds/form/fieldset/index.js.map +1 -1
  264. package/dist/components/hds/form/file-input/base.js.map +1 -1
  265. package/dist/components/hds/form/file-input/field.js.map +1 -1
  266. package/dist/components/hds/form/helper-text/index.js.map +1 -1
  267. package/dist/components/hds/form/indicator/index.js.map +1 -1
  268. package/dist/components/hds/form/label/index.js.map +1 -1
  269. package/dist/components/hds/form/legend/index.js.map +1 -1
  270. package/dist/components/hds/form/masked-input/base.js +45 -15
  271. package/dist/components/hds/form/masked-input/base.js.map +1 -1
  272. package/dist/components/hds/form/masked-input/field.js.map +1 -1
  273. package/dist/components/hds/form/radio/base.js.map +1 -1
  274. package/dist/components/hds/form/radio/field.js.map +1 -1
  275. package/dist/components/hds/form/radio/group.js.map +1 -1
  276. package/dist/components/hds/form/radio-card/description.js.map +1 -1
  277. package/dist/components/hds/form/radio-card/group.js.map +1 -1
  278. package/dist/components/hds/form/radio-card/index.js.map +1 -1
  279. package/dist/components/hds/form/radio-card/label.js.map +1 -1
  280. package/dist/components/hds/form/select/base.js.map +1 -1
  281. package/dist/components/hds/form/select/field.js.map +1 -1
  282. package/dist/components/hds/form/super-select/after-options.js.map +1 -1
  283. package/dist/components/hds/form/super-select/multiple/base.js +38 -28
  284. package/dist/components/hds/form/super-select/multiple/base.js.map +1 -1
  285. package/dist/components/hds/form/super-select/multiple/field.js.map +1 -1
  286. package/dist/components/hds/form/super-select/option-group.js +11 -10
  287. package/dist/components/hds/form/super-select/option-group.js.map +1 -1
  288. package/dist/components/hds/form/super-select/placeholder.js.map +1 -1
  289. package/dist/components/hds/form/super-select/single/base.js +17 -12
  290. package/dist/components/hds/form/super-select/single/base.js.map +1 -1
  291. package/dist/components/hds/form/super-select/single/field.js.map +1 -1
  292. package/dist/components/hds/form/text-input/base.js.map +1 -1
  293. package/dist/components/hds/form/text-input/field.js +21 -18
  294. package/dist/components/hds/form/text-input/field.js.map +1 -1
  295. package/dist/components/hds/form/textarea/base.js.map +1 -1
  296. package/dist/components/hds/form/textarea/field.js.map +1 -1
  297. package/dist/components/hds/form/toggle/base.js.map +1 -1
  298. package/dist/components/hds/form/toggle/field.js.map +1 -1
  299. package/dist/components/hds/form/toggle/group.js.map +1 -1
  300. package/dist/components/hds/form/visibility-toggle/index.js.map +1 -1
  301. package/dist/components/hds/icon/index.js +7 -3
  302. package/dist/components/hds/icon/index.js.map +1 -1
  303. package/dist/components/hds/icon-tile/index.js.map +1 -1
  304. package/dist/components/hds/interactive/index.js +12 -5
  305. package/dist/components/hds/interactive/index.js.map +1 -1
  306. package/dist/components/hds/link/inline.js.map +1 -1
  307. package/dist/components/hds/link/standalone.js.map +1 -1
  308. package/dist/components/hds/menu-primitive/index.js +37 -24
  309. package/dist/components/hds/menu-primitive/index.js.map +1 -1
  310. package/dist/components/hds/modal/body.js +1 -0
  311. package/dist/components/hds/modal/body.js.map +1 -1
  312. package/dist/components/hds/modal/footer.js +2 -1
  313. package/dist/components/hds/modal/footer.js.map +1 -1
  314. package/dist/components/hds/modal/header.js +1 -0
  315. package/dist/components/hds/modal/header.js.map +1 -1
  316. package/dist/components/hds/modal/index.js +30 -16
  317. package/dist/components/hds/modal/index.js.map +1 -1
  318. package/dist/components/hds/page-header/actions.js.map +1 -1
  319. package/dist/components/hds/page-header/badges.js.map +1 -1
  320. package/dist/components/hds/page-header/description.js.map +1 -1
  321. package/dist/components/hds/page-header/index.js.map +1 -1
  322. package/dist/components/hds/page-header/subtitle.js.map +1 -1
  323. package/dist/components/hds/page-header/title.js.map +1 -1
  324. package/dist/components/hds/pagination/compact/index.js +31 -28
  325. package/dist/components/hds/pagination/compact/index.js.map +1 -1
  326. package/dist/components/hds/pagination/info/index.js.map +1 -1
  327. package/dist/components/hds/pagination/nav/arrow.js +10 -4
  328. package/dist/components/hds/pagination/nav/arrow.js.map +1 -1
  329. package/dist/components/hds/pagination/nav/ellipsis.js.map +1 -1
  330. package/dist/components/hds/pagination/nav/number.js +10 -4
  331. package/dist/components/hds/pagination/nav/number.js.map +1 -1
  332. package/dist/components/hds/pagination/numbered/index.js +44 -47
  333. package/dist/components/hds/pagination/numbered/index.js.map +1 -1
  334. package/dist/components/hds/pagination/size-selector/index.js +12 -8
  335. package/dist/components/hds/pagination/size-selector/index.js.map +1 -1
  336. package/dist/components/hds/popover-primitive/index.js +130 -103
  337. package/dist/components/hds/popover-primitive/index.js.map +1 -1
  338. package/dist/components/hds/reveal/index.js +26 -24
  339. package/dist/components/hds/reveal/index.js.map +1 -1
  340. package/dist/components/hds/reveal/toggle/button.js.map +1 -1
  341. package/dist/components/hds/rich-tooltip/bubble.js.map +1 -1
  342. package/dist/components/hds/rich-tooltip/index.js +8 -7
  343. package/dist/components/hds/rich-tooltip/index.js.map +1 -1
  344. package/dist/components/hds/rich-tooltip/toggle.js.map +1 -1
  345. package/dist/components/hds/segmented-group/index.js.map +1 -1
  346. package/dist/components/hds/separator/index.js.map +1 -1
  347. package/dist/components/hds/side-nav/base.js.map +1 -1
  348. package/dist/components/hds/side-nav/header/home-link.js.map +1 -1
  349. package/dist/components/hds/side-nav/header/icon-button.js +1 -0
  350. package/dist/components/hds/side-nav/header/icon-button.js.map +1 -1
  351. package/dist/components/hds/side-nav/header/index.js.map +1 -1
  352. package/dist/components/hds/side-nav/index.js +47 -34
  353. package/dist/components/hds/side-nav/index.js.map +1 -1
  354. package/dist/components/hds/side-nav/list/back-link.js.map +1 -1
  355. package/dist/components/hds/side-nav/list/index.js +15 -13
  356. package/dist/components/hds/side-nav/list/index.js.map +1 -1
  357. package/dist/components/hds/side-nav/list/item.js.map +1 -1
  358. package/dist/components/hds/side-nav/list/link.js.map +1 -1
  359. package/dist/components/hds/side-nav/list/title.js +13 -9
  360. package/dist/components/hds/side-nav/list/title.js.map +1 -1
  361. package/dist/components/hds/side-nav/portal/index.js.map +1 -1
  362. package/dist/components/hds/side-nav/portal/target.js +31 -28
  363. package/dist/components/hds/side-nav/portal/target.js.map +1 -1
  364. package/dist/components/hds/side-nav/toggle-button.js.map +1 -1
  365. package/dist/components/hds/stepper/step/indicator.js.map +1 -1
  366. package/dist/components/hds/stepper/task/indicator.js.map +1 -1
  367. package/dist/components/hds/table/index.js +54 -40
  368. package/dist/components/hds/table/index.js.map +1 -1
  369. package/dist/components/hds/table/td.js.map +1 -1
  370. package/dist/components/hds/table/th-button-sort.js +8 -7
  371. package/dist/components/hds/table/th-button-sort.js.map +1 -1
  372. package/dist/components/hds/table/th-button-tooltip.js +7 -6
  373. package/dist/components/hds/table/th-button-tooltip.js.map +1 -1
  374. package/dist/components/hds/table/th-selectable.js +24 -25
  375. package/dist/components/hds/table/th-selectable.js.map +1 -1
  376. package/dist/components/hds/table/th-sort.js +12 -10
  377. package/dist/components/hds/table/th-sort.js.map +1 -1
  378. package/dist/components/hds/table/th.js +12 -10
  379. package/dist/components/hds/table/th.js.map +1 -1
  380. package/dist/components/hds/table/tr.js.map +1 -1
  381. package/dist/components/hds/tabs/index.js +77 -54
  382. package/dist/components/hds/tabs/index.js.map +1 -1
  383. package/dist/components/hds/tabs/panel.js +21 -14
  384. package/dist/components/hds/tabs/panel.js.map +1 -1
  385. package/dist/components/hds/tabs/tab.js +29 -13
  386. package/dist/components/hds/tabs/tab.js.map +1 -1
  387. package/dist/components/hds/tag/index.js +43 -3
  388. package/dist/components/hds/tag/index.js.map +1 -1
  389. package/dist/components/hds/tag/types.js +16 -1
  390. package/dist/components/hds/tag/types.js.map +1 -1
  391. package/dist/components/hds/text/body.js.map +1 -1
  392. package/dist/components/hds/text/code.js.map +1 -1
  393. package/dist/components/hds/text/display.js.map +1 -1
  394. package/dist/components/hds/text/index.js.map +1 -1
  395. package/dist/components/hds/time/index.js +19 -14
  396. package/dist/components/hds/time/index.js.map +1 -1
  397. package/dist/components/hds/time/range.js +11 -12
  398. package/dist/components/hds/time/range.js.map +1 -1
  399. package/dist/components/hds/time/single.js.map +1 -1
  400. package/dist/components/hds/toast/index.js.map +1 -1
  401. package/dist/components/hds/tooltip-button/index.js.map +1 -1
  402. package/dist/components/hds/yield/index.js.map +1 -1
  403. package/dist/components.js +1 -1
  404. package/dist/helpers/hds-format-date.js.map +1 -1
  405. package/dist/helpers/hds-format-relative.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,32 +1,53 @@
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 { assert } from '@ember/debug';
5
4
  import { tracked } from '@glimmer/tracking';
6
5
  import { guidFor } from '@ember/object/internals';
7
- import config from 'ember-get-config';
8
- import { HdsAdvancedTableDensityValues, HdsAdvancedTableVerticalAlignmentValues, HdsAdvancedTableThSortOrderValues } from './types.js';
6
+ import { modifier } from 'ember-modifier';
7
+ import { HdsAdvancedTableThSortOrderValues, HdsAdvancedTableDensityValues, HdsAdvancedTableVerticalAlignmentValues } from './types.js';
9
8
  import { precompileTemplate } from '@ember/template-compilation';
9
+ import { g, i, n } from 'decorator-transforms/runtime';
10
10
  import { setComponentTemplate } from '@ember/component';
11
11
 
12
- var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<div\n class={{this.classNames}}\n ...attributes\n role=\"grid\"\n aria-describedby={{this._captionId}}\n {{style grid-template-columns=this.gridTemplateColumns}}\n {{did-insert this.didInsert}}\n {{will-destroy this.willDestroy}}\n>\n <div id={{this._captionId}} class=\"sr-only hds-advanced-table__caption\" aria-live=\"polite\">\n {{@caption}}\n {{this.sortedMessageText}}\n </div>\n <div class=\"hds-advanced-table__thead {{if @hasStickyHeader \'hds-advanced-table__thead--sticky\'}}\" role=\"rowgroup\">\n <Hds::AdvancedTable::Tr\n @selectionScope=\"col\"\n @onClickSortBySelected={{if @selectableColumnKey (fn this.setSortBy @selectableColumnKey)}}\n @sortBySelectedOrder={{if (eq this._sortBy @selectableColumnKey) this._sortOrder}}\n @isSelectable={{this.isSelectable}}\n @onSelectionChange={{this.onSelectionAllChange}}\n @didInsert={{this.didInsertSelectAllCheckbox}}\n @willDestroy={{this.willDestroySelectAllCheckbox}}\n @selectionAriaLabelSuffix=\"all rows\"\n >\n {{#each @columns as |column|}}\n {{#if column.isSortable}}\n <Hds::AdvancedTable::ThSort\n @sortOrder={{if (eq column.key this._sortBy) this._sortOrder}}\n @onClickSort={{fn this.setSortBy column.key}}\n @align={{column.align}}\n @tooltip={{column.tooltip}}\n >\n {{column.label}}\n </Hds::AdvancedTable::ThSort>\n {{else}}\n <Hds::AdvancedTable::Th\n @align={{column.align}}\n @tooltip={{column.tooltip}}\n @isVisuallyHidden={{column.isVisuallyHidden}}\n >{{column.label}}</Hds::AdvancedTable::Th>\n {{/if}}\n {{/each}}\n </Hds::AdvancedTable::Tr>\n </div>\n\n <div class=\"hds-advanced-table__tbody\" role=\"rowgroup\">\n {{! ----------------------------------------------------------------------------------------\n IMPORTANT: we loop on the `model` array and for each record\n we yield the Tr/Td/Th elements _and_ the record itself as `data`\n this means the consumer will *have to* use the `data` key to access it in their template\n -------------------------------------------------------------------------------------------- }}\n {{#each (sort-by this.getSortCriteria @model) key=this.identityKey as |record index|}}\n {{#if this.hasNestedRows}}\n <Hds::AdvancedTable::ExpandableTrGroup\n @record={{record}}\n @childrenKey={{this.childrenKey}}\n @rowIndex={{index}}\n as |T|\n >\n {{yield\n (hash\n Tr=(component \"hds/advanced-table/tr\" isParentRow=T.isExpandable depth=T.depth)\n Th=(component\n \"hds/advanced-table/th\"\n scope=\"row\"\n isExpandable=T.isExpandable\n newLabel=T.id\n parentId=T.parentId\n onClickToggle=T.onClickToggle\n isExpanded=T.isExpanded\n depth=T.depth\n )\n Td=(component \"hds/advanced-table/td\" align=@align)\n data=T.data\n isOpen=T.isExpanded\n rowIndex=T.rowIndex\n )\n to=\"body\"\n }}\n </Hds::AdvancedTable::ExpandableTrGroup>\n {{else}}\n {{yield\n (hash\n Tr=(component\n \"hds/advanced-table/tr\"\n selectionScope=\"row\"\n isSelectable=this.isSelectable\n onSelectionChange=this.onSelectionRowChange\n didInsert=this.didInsertRowCheckbox\n willDestroy=this.willDestroyRowCheckbox\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\n )\n Th=(component \"hds/advanced-table/th\" scope=\"row\")\n Td=(component \"hds/advanced-table/td\" align=@align)\n data=record\n rowIndex=index\n )\n to=\"body\"\n }}\n {{/if}}\n {{/each}}\n </div>\n</div>");
12
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<div\n class={{this.classNames}}\n ...attributes\n role=\"grid\"\n aria-describedby={{this._captionId}}\n {{style grid-template-columns=this.gridTemplateColumns}}\n {{this._setUpObserver}}\n>\n <div id={{this._captionId}} class=\"sr-only hds-advanced-table__caption\" aria-live=\"polite\">\n {{@caption}}\n {{this.sortedMessageText}}\n </div>\n <div class=\"hds-advanced-table__thead {{if @hasStickyHeader \'hds-advanced-table__thead--sticky\'}}\" role=\"rowgroup\">\n <Hds::AdvancedTable::Tr\n @selectionScope=\"col\"\n @onClickSortBySelected={{if @selectableColumnKey (fn this.setSortBy @selectableColumnKey)}}\n @sortBySelectedOrder={{if (eq this._sortBy @selectableColumnKey) this._sortOrder}}\n @isSelectable={{this.isSelectable}}\n @onSelectionChange={{this.onSelectionAllChange}}\n @didInsert={{this.didInsertSelectAllCheckbox}}\n @willDestroy={{this.willDestroySelectAllCheckbox}}\n @selectionAriaLabelSuffix=\"all rows\"\n >\n {{#each @columns as |column|}}\n {{#if column.isSortable}}\n <Hds::AdvancedTable::ThSort\n @sortOrder={{if (eq column.key this._sortBy) this._sortOrder}}\n @onClickSort={{fn this.setSortBy column.key}}\n @align={{column.align}}\n @tooltip={{column.tooltip}}\n >\n {{column.label}}\n </Hds::AdvancedTable::ThSort>\n {{else}}\n <Hds::AdvancedTable::Th\n @align={{column.align}}\n @tooltip={{column.tooltip}}\n @isVisuallyHidden={{column.isVisuallyHidden}}\n >{{column.label}}</Hds::AdvancedTable::Th>\n {{/if}}\n {{/each}}\n </Hds::AdvancedTable::Tr>\n </div>\n\n <div class=\"hds-advanced-table__tbody\" role=\"rowgroup\">\n {{! ----------------------------------------------------------------------------------------\n IMPORTANT: we loop on the `model` array and for each record\n we yield the Tr/Td/Th elements _and_ the record itself as `data`\n this means the consumer will *have to* use the `data` key to access it in their template\n -------------------------------------------------------------------------------------------- }}\n {{#each (sort-by this.getSortCriteria @model) key=this.identityKey as |record index|}}\n {{#if this.hasNestedRows}}\n <Hds::AdvancedTable::ExpandableTrGroup\n @record={{record}}\n @childrenKey={{this.childrenKey}}\n @rowIndex={{index}}\n as |T|\n >\n {{yield\n (hash\n Tr=(component \"hds/advanced-table/tr\" isParentRow=T.isExpandable depth=T.depth)\n Th=(component\n \"hds/advanced-table/th\"\n scope=\"row\"\n isExpandable=T.isExpandable\n newLabel=T.id\n parentId=T.parentId\n onClickToggle=T.onClickToggle\n isExpanded=T.isExpanded\n depth=T.depth\n )\n Td=(component \"hds/advanced-table/td\" align=@align)\n data=T.data\n isOpen=T.isExpanded\n rowIndex=T.rowIndex\n )\n to=\"body\"\n }}\n </Hds::AdvancedTable::ExpandableTrGroup>\n {{else}}\n {{yield\n (hash\n Tr=(component\n \"hds/advanced-table/tr\"\n selectionScope=\"row\"\n isSelectable=this.isSelectable\n onSelectionChange=this.onSelectionRowChange\n didInsert=this.didInsertRowCheckbox\n willDestroy=this.willDestroyRowCheckbox\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\n )\n Th=(component \"hds/advanced-table/th\" scope=\"row\")\n Td=(component \"hds/advanced-table/td\" align=@align)\n data=record\n rowIndex=index\n )\n to=\"body\"\n }}\n {{/if}}\n {{/each}}\n </div>\n</div>");
13
+
14
+ /**
15
+ * Copyright (c) HashiCorp, Inc.
16
+ * SPDX-License-Identifier: MPL-2.0
17
+ */
13
18
 
14
- var _class, _descriptor, _descriptor2, _descriptor3, _descriptor4;
15
19
  const DENSITIES = Object.values(HdsAdvancedTableDensityValues);
16
20
  const DEFAULT_DENSITY = HdsAdvancedTableDensityValues.Medium;
17
21
  const VALIGNMENTS = Object.values(HdsAdvancedTableVerticalAlignmentValues);
18
22
  const DEFAULT_VALIGN = HdsAdvancedTableVerticalAlignmentValues.Top;
19
- let HdsAdvancedTable = (_class = class HdsAdvancedTable extends Component {
20
- constructor(...args) {
21
- super(...args);
22
- _initializerDefineProperty(this, "_sortBy", _descriptor, this);
23
- _initializerDefineProperty(this, "_sortOrder", _descriptor2, this);
24
- _initializerDefineProperty(this, "_selectAllCheckbox", _descriptor3, this);
25
- _initializerDefineProperty(this, "_isSelectAllCheckboxSelected", _descriptor4, this);
26
- _defineProperty(this, "_selectableRows", []);
27
- _defineProperty(this, "_captionId", 'caption-' + guidFor(this));
28
- _defineProperty(this, "_observer", undefined);
23
+ class HdsAdvancedTable extends Component {
24
+ static {
25
+ g(this.prototype, "_sortBy", [tracked], function () {
26
+ return this.args.sortBy ?? undefined;
27
+ });
28
+ }
29
+ #_sortBy = (i(this, "_sortBy"), undefined);
30
+ static {
31
+ g(this.prototype, "_sortOrder", [tracked], function () {
32
+ return this.args.sortOrder || HdsAdvancedTableThSortOrderValues.Asc;
33
+ });
29
34
  }
35
+ #_sortOrder = (i(this, "_sortOrder"), undefined);
36
+ static {
37
+ g(this.prototype, "_selectAllCheckbox", [tracked], function () {
38
+ return undefined;
39
+ });
40
+ }
41
+ #_selectAllCheckbox = (i(this, "_selectAllCheckbox"), undefined);
42
+ static {
43
+ g(this.prototype, "_isSelectAllCheckboxSelected", [tracked], function () {
44
+ return undefined;
45
+ });
46
+ }
47
+ #_isSelectAllCheckboxSelected = (i(this, "_isSelectAllCheckboxSelected"), undefined);
48
+ _selectableRows = [];
49
+ _captionId = 'caption-' + guidFor(this);
50
+ _observer = undefined;
30
51
  get getSortCriteria() {
31
52
  // get the current column
32
53
  const currentColumn = this.args?.columns?.find(column => column.key === this._sortBy);
@@ -178,21 +199,20 @@ let HdsAdvancedTable = (_class = class HdsAdvancedTable extends Component {
178
199
  }
179
200
  return classes.join(' ');
180
201
  }
181
- didInsert(element) {
202
+ _setUpObserver = modifier(element => {
182
203
  const stickyGridHeader = element.querySelector('.hds-advanced-table__thead.hds-advanced-table__thead--sticky');
183
- if (stickyGridHeader !== null && config.environment !== 'test') {
204
+ if (stickyGridHeader !== null) {
184
205
  this._observer = new IntersectionObserver(([element]) => element?.target.classList.toggle('hds-advanced-table__thead--is-pinned', element.intersectionRatio < 1), {
185
206
  threshold: [1]
186
207
  });
187
208
  this._observer.observe(stickyGridHeader);
188
209
  }
189
- }
190
- willDestroy() {
191
- super.willDestroy();
192
- if (this._observer) {
193
- this._observer.disconnect();
194
- }
195
- }
210
+ return () => {
211
+ if (this._observer) {
212
+ this._observer.disconnect();
213
+ }
214
+ };
215
+ });
196
216
  setSortBy(column) {
197
217
  if (this._sortBy === column) {
198
218
  // check to see if the column is already sorted and invert the sort order if so
@@ -209,6 +229,9 @@ let HdsAdvancedTable = (_class = class HdsAdvancedTable extends Component {
209
229
  onSort(this._sortBy, this._sortOrder);
210
230
  }
211
231
  }
232
+ static {
233
+ n(this.prototype, "setSortBy", [action]);
234
+ }
212
235
  onSelectionChangeCallback(checkbox, selectionKey) {
213
236
  const {
214
237
  onSelectionChange
@@ -242,16 +265,28 @@ let HdsAdvancedTable = (_class = class HdsAdvancedTable extends Component {
242
265
  this._isSelectAllCheckboxSelected = this._selectAllCheckbox?.checked ?? false;
243
266
  this.onSelectionChangeCallback(this._selectAllCheckbox, 'all');
244
267
  }
268
+ static {
269
+ n(this.prototype, "onSelectionAllChange", [action]);
270
+ }
245
271
  onSelectionRowChange(checkbox, selectionKey) {
246
272
  this.setSelectAllState();
247
273
  this.onSelectionChangeCallback(checkbox, selectionKey);
248
274
  }
275
+ static {
276
+ n(this.prototype, "onSelectionRowChange", [action]);
277
+ }
249
278
  didInsertSelectAllCheckbox(checkbox) {
250
279
  this._selectAllCheckbox = checkbox;
251
280
  }
281
+ static {
282
+ n(this.prototype, "didInsertSelectAllCheckbox", [action]);
283
+ }
252
284
  willDestroySelectAllCheckbox() {
253
285
  this._selectAllCheckbox = undefined;
254
286
  }
287
+ static {
288
+ n(this.prototype, "willDestroySelectAllCheckbox", [action]);
289
+ }
255
290
  didInsertRowCheckbox(checkbox, selectionKey) {
256
291
  if (selectionKey) {
257
292
  this._selectableRows.push({
@@ -261,10 +296,16 @@ let HdsAdvancedTable = (_class = class HdsAdvancedTable extends Component {
261
296
  }
262
297
  this.setSelectAllState();
263
298
  }
299
+ static {
300
+ n(this.prototype, "didInsertRowCheckbox", [action]);
301
+ }
264
302
  willDestroyRowCheckbox(selectionKey) {
265
303
  this._selectableRows = this._selectableRows.filter(row => row.selectionKey !== selectionKey);
266
304
  this.setSelectAllState();
267
305
  }
306
+ static {
307
+ n(this.prototype, "willDestroyRowCheckbox", [action]);
308
+ }
268
309
  setSelectAllState() {
269
310
  if (this._selectAllCheckbox) {
270
311
  const selectableRowsCount = this._selectableRows.length;
@@ -277,35 +318,10 @@ let HdsAdvancedTable = (_class = class HdsAdvancedTable extends Component {
277
318
  }));
278
319
  }
279
320
  }
280
- }, _descriptor = _applyDecoratedDescriptor(_class.prototype, "_sortBy", [tracked], {
281
- configurable: true,
282
- enumerable: true,
283
- writable: true,
284
- initializer: function () {
285
- return this.args.sortBy ?? undefined;
286
- }
287
- }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, "_sortOrder", [tracked], {
288
- configurable: true,
289
- enumerable: true,
290
- writable: true,
291
- initializer: function () {
292
- return this.args.sortOrder || HdsAdvancedTableThSortOrderValues.Asc;
293
- }
294
- }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, "_selectAllCheckbox", [tracked], {
295
- configurable: true,
296
- enumerable: true,
297
- writable: true,
298
- initializer: function () {
299
- return undefined;
300
- }
301
- }), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, "_isSelectAllCheckboxSelected", [tracked], {
302
- configurable: true,
303
- enumerable: true,
304
- writable: true,
305
- initializer: function () {
306
- return undefined;
307
- }
308
- }), _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, "setSortBy", [action], Object.getOwnPropertyDescriptor(_class.prototype, "setSortBy"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onSelectionAllChange", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onSelectionAllChange"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onSelectionRowChange", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onSelectionRowChange"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didInsertSelectAllCheckbox", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsertSelectAllCheckbox"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "willDestroySelectAllCheckbox", [action], Object.getOwnPropertyDescriptor(_class.prototype, "willDestroySelectAllCheckbox"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didInsertRowCheckbox", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsertRowCheckbox"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "willDestroyRowCheckbox", [action], Object.getOwnPropertyDescriptor(_class.prototype, "willDestroyRowCheckbox"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "setSelectAllState", [action], Object.getOwnPropertyDescriptor(_class.prototype, "setSelectAllState"), _class.prototype), _class);
321
+ static {
322
+ n(this.prototype, "setSelectAllState", [action]);
323
+ }
324
+ }
309
325
  setComponentTemplate(TEMPLATE, HdsAdvancedTable);
310
326
 
311
327
  export { DEFAULT_DENSITY, DEFAULT_VALIGN, DENSITIES, VALIGNMENTS, HdsAdvancedTable as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/advanced-table/index.hbs","../../../../src/components/hds/advanced-table/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<div\\n class={{this.classNames}}\\n ...attributes\\n role=\\\"grid\\\"\\n aria-describedby={{this._captionId}}\\n {{style grid-template-columns=this.gridTemplateColumns}}\\n {{did-insert this.didInsert}}\\n {{will-destroy this.willDestroy}}\\n>\\n <div id={{this._captionId}} class=\\\"sr-only hds-advanced-table__caption\\\" aria-live=\\\"polite\\\">\\n {{@caption}}\\n {{this.sortedMessageText}}\\n </div>\\n <div class=\\\"hds-advanced-table__thead {{if @hasStickyHeader \\'hds-advanced-table__thead--sticky\\'}}\\\" role=\\\"rowgroup\\\">\\n <Hds::AdvancedTable::Tr\\n @selectionScope=\\\"col\\\"\\n @onClickSortBySelected={{if @selectableColumnKey (fn this.setSortBy @selectableColumnKey)}}\\n @sortBySelectedOrder={{if (eq this._sortBy @selectableColumnKey) this._sortOrder}}\\n @isSelectable={{this.isSelectable}}\\n @onSelectionChange={{this.onSelectionAllChange}}\\n @didInsert={{this.didInsertSelectAllCheckbox}}\\n @willDestroy={{this.willDestroySelectAllCheckbox}}\\n @selectionAriaLabelSuffix=\\\"all rows\\\"\\n >\\n {{#each @columns as |column|}}\\n {{#if column.isSortable}}\\n <Hds::AdvancedTable::ThSort\\n @sortOrder={{if (eq column.key this._sortBy) this._sortOrder}}\\n @onClickSort={{fn this.setSortBy column.key}}\\n @align={{column.align}}\\n @tooltip={{column.tooltip}}\\n >\\n {{column.label}}\\n </Hds::AdvancedTable::ThSort>\\n {{else}}\\n <Hds::AdvancedTable::Th\\n @align={{column.align}}\\n @tooltip={{column.tooltip}}\\n @isVisuallyHidden={{column.isVisuallyHidden}}\\n >{{column.label}}</Hds::AdvancedTable::Th>\\n {{/if}}\\n {{/each}}\\n </Hds::AdvancedTable::Tr>\\n </div>\\n\\n <div class=\\\"hds-advanced-table__tbody\\\" role=\\\"rowgroup\\\">\\n {{! ----------------------------------------------------------------------------------------\\n IMPORTANT: we loop on the `model` array and for each record\\n we yield the Tr/Td/Th elements _and_ the record itself as `data`\\n this means the consumer will *have to* use the `data` key to access it in their template\\n -------------------------------------------------------------------------------------------- }}\\n {{#each (sort-by this.getSortCriteria @model) key=this.identityKey as |record index|}}\\n {{#if this.hasNestedRows}}\\n <Hds::AdvancedTable::ExpandableTrGroup\\n @record={{record}}\\n @childrenKey={{this.childrenKey}}\\n @rowIndex={{index}}\\n as |T|\\n >\\n {{yield\\n (hash\\n Tr=(component \\\"hds/advanced-table/tr\\\" isParentRow=T.isExpandable depth=T.depth)\\n Th=(component\\n \\\"hds/advanced-table/th\\\"\\n scope=\\\"row\\\"\\n isExpandable=T.isExpandable\\n newLabel=T.id\\n parentId=T.parentId\\n onClickToggle=T.onClickToggle\\n isExpanded=T.isExpanded\\n depth=T.depth\\n )\\n Td=(component \\\"hds/advanced-table/td\\\" align=@align)\\n data=T.data\\n isOpen=T.isExpanded\\n rowIndex=T.rowIndex\\n )\\n to=\\\"body\\\"\\n }}\\n </Hds::AdvancedTable::ExpandableTrGroup>\\n {{else}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/advanced-table/tr\\\"\\n selectionScope=\\\"row\\\"\\n isSelectable=this.isSelectable\\n onSelectionChange=this.onSelectionRowChange\\n didInsert=this.didInsertRowCheckbox\\n willDestroy=this.willDestroyRowCheckbox\\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\\n )\\n Th=(component \\\"hds/advanced-table/th\\\" scope=\\\"row\\\")\\n Td=(component \\\"hds/advanced-table/td\\\" align=@align)\\n data=record\\n rowIndex=index\\n )\\n to=\\\"body\\\"\\n }}\\n {{/if}}\\n {{/each}}\\n </div>\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\nimport { tracked } from '@glimmer/tracking';\nimport type { ComponentLike } from '@glint/template';\nimport { guidFor } from '@ember/object/internals';\nimport config from 'ember-get-config';\n\nimport {\n HdsAdvancedTableDensityValues,\n HdsAdvancedTableThSortOrderValues,\n HdsAdvancedTableVerticalAlignmentValues,\n} from './types.ts';\nimport type {\n HdsAdvancedTableColumn,\n HdsAdvancedTableDensities,\n HdsAdvancedTableHorizontalAlignment,\n HdsAdvancedTableOnSelectionChangeSignature,\n HdsAdvancedTableSelectableRow,\n HdsAdvancedTableSortingFunction,\n HdsAdvancedTableThSortOrder,\n HdsAdvancedTableVerticalAlignment,\n HdsAdvancedTableModel,\n} from './types.ts';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base.ts';\nimport type { HdsAdvancedTableTdSignature } from './td.ts';\nimport type { HdsAdvancedTableThSignature } from './th.ts';\nimport type { HdsAdvancedTableTrSignature } from './tr.ts';\n\nexport const DENSITIES: HdsAdvancedTableDensities[] = Object.values(\n HdsAdvancedTableDensityValues\n);\nexport const DEFAULT_DENSITY = HdsAdvancedTableDensityValues.Medium;\n\nexport const VALIGNMENTS: HdsAdvancedTableVerticalAlignment[] = Object.values(\n HdsAdvancedTableVerticalAlignmentValues\n);\nexport const DEFAULT_VALIGN = HdsAdvancedTableVerticalAlignmentValues.Top;\n\nexport interface HdsAdvancedTableSignature {\n Args: {\n align?: HdsAdvancedTableHorizontalAlignment;\n caption?: string;\n columns: HdsAdvancedTableColumn[];\n density?: HdsAdvancedTableDensities;\n identityKey?: string;\n isSelectable?: boolean;\n isStriped?: boolean;\n model: HdsAdvancedTableModel;\n onSelectionChange?: (\n selection: HdsAdvancedTableOnSelectionChangeSignature\n ) => void;\n onSort?: (sortBy: string, sortOrder: HdsAdvancedTableThSortOrder) => void;\n selectionAriaLabelSuffix?: string;\n sortBy?: string;\n selectableColumnKey?: string;\n sortedMessageText?: string;\n sortOrder?: HdsAdvancedTableThSortOrder;\n valign?: HdsAdvancedTableVerticalAlignment;\n hasStickyHeader?: boolean;\n childrenKey?: string;\n };\n Blocks: {\n body?: [\n {\n Td?: ComponentLike<HdsAdvancedTableTdSignature>;\n Tr?: ComponentLike<HdsAdvancedTableTrSignature>;\n Th?: ComponentLike<HdsAdvancedTableThSignature>;\n data?: Record<string, unknown>;\n rowIndex?: number | string;\n isOpen?: boolean;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsAdvancedTable extends Component<HdsAdvancedTableSignature> {\n @tracked private _sortBy = this.args.sortBy ?? undefined;\n @tracked private _sortOrder =\n this.args.sortOrder || HdsAdvancedTableThSortOrderValues.Asc;\n @tracked\n private _selectAllCheckbox?: HdsFormCheckboxBaseSignature['Element'] =\n undefined;\n @tracked private _isSelectAllCheckboxSelected?: boolean = undefined;\n\n private _selectableRows: HdsAdvancedTableSelectableRow[] = [];\n private _captionId = 'caption-' + guidFor(this);\n private _observer: IntersectionObserver | undefined = undefined;\n\n get getSortCriteria(): string | HdsAdvancedTableSortingFunction<unknown> {\n // get the current column\n const currentColumn = this.args?.columns?.find(\n (column) => column.key === this._sortBy\n );\n if (\n // check if there is a custom sorting function associated with the current `sortBy` column (we assume the column has `isSortable`)\n currentColumn?.sortingFunction &&\n typeof currentColumn.sortingFunction === 'function'\n ) {\n return currentColumn.sortingFunction;\n } else {\n // otherwise fallback to the default format \"sortBy:sortOrder\"\n return `${this._sortBy}:${this._sortOrder}`;\n }\n }\n\n get columnWidths(): string[] | undefined {\n const { columns } = this.args;\n const widths: string[] = new Array(columns.length);\n let hasCustomColumnWidth = false;\n\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i];\n\n if (column?.['width']) {\n widths[i] = column.width;\n if (!hasCustomColumnWidth) hasCustomColumnWidth = true;\n }\n }\n\n return hasCustomColumnWidth ? widths : undefined;\n }\n\n get identityKey(): string | undefined {\n // we have to provide a way for the consumer to pass undefined because Ember tries to interpret undefined as missing an arg and therefore falls back to the default\n if (this.args.identityKey === 'none') {\n return undefined;\n } else {\n return this.args.identityKey ?? '@identity';\n }\n }\n\n get childrenKey(): string {\n const { childrenKey = 'children' } = this.args;\n\n return childrenKey;\n }\n\n get hasNestedRows(): boolean {\n const { model, columns } = this.args;\n let hasNestedRows = false;\n let isSortable = false;\n const sortableColumns: string[] = [];\n\n // if the model is not an array, assume there are no nested rows\n if (!Array.isArray(model)) return false;\n\n for (const column of columns) {\n if (column.isSortable) {\n isSortable = true;\n sortableColumns.push(column.label);\n }\n }\n\n for (const obj of model) {\n if (this.childrenKey in obj) {\n hasNestedRows = true;\n break;\n }\n }\n\n if (hasNestedRows) {\n assert(\n `Cannot have sortable columns if there are nested rows. Sortable columns are ${sortableColumns.toString()}`,\n !isSortable\n );\n }\n\n return hasNestedRows;\n }\n\n get sortedMessageText(): string {\n if (this.args.sortedMessageText) {\n return this.args.sortedMessageText;\n } else if (this._sortBy && this._sortOrder) {\n // we should allow the user to define a custom value here (e.g., for i18n) - tracked with HDS-965\n return `Sorted by ${this._sortBy} ${this._sortOrder}ending`;\n } else {\n return '';\n }\n }\n\n get isSelectable(): boolean {\n const { isSelectable = false } = this.args;\n\n if (this.hasNestedRows) {\n assert(\n '@isSelectable must not be true if there are nested rows.',\n !isSelectable\n );\n return isSelectable;\n }\n\n return isSelectable;\n }\n\n get isStriped(): boolean {\n const { isStriped = false } = this.args;\n\n if (this.hasNestedRows) {\n assert(\n '@isStriped must not be true if there are nested rows.',\n !isStriped\n );\n return isStriped;\n }\n\n return isStriped;\n }\n\n get density(): HdsAdvancedTableDensities {\n const { density = DEFAULT_DENSITY } = this.args;\n\n assert(\n `@density for \"Hds::Table\" must be one of the following: ${DENSITIES.join(\n ', '\n )}; received: ${density}`,\n DENSITIES.includes(density)\n );\n\n return density;\n }\n\n get valign(): HdsAdvancedTableVerticalAlignment {\n const { valign = DEFAULT_VALIGN } = this.args;\n\n assert(\n `@valign for \"Hds::Table\" must be one of the following: ${VALIGNMENTS.join(\n ', '\n )}; received: ${valign}`,\n VALIGNMENTS.includes(valign)\n );\n\n return valign;\n }\n\n // returns the grid-template-columns CSS attribute for the grid\n get gridTemplateColumns(): string {\n const { isSelectable, columns } = this.args;\n\n // if there is no custom column widths, each column is the same width and they take up the available space (except the select checkbox)\n if (!this.columnWidths) {\n return `${isSelectable ? 'auto ' : ''}repeat(${columns.length}, 1fr)`;\n }\n\n // if there is a select checkbox, the first column is 'auto' width to hug the checkbox content\n let style = isSelectable ? 'auto' : '';\n\n // check the custom column widths, if the current column has a custom width use the custom width. otherwise take the available space.\n for (let i = 0; i < this.columnWidths.length; i++) {\n style += ` ${this.columnWidths[i] ? this.columnWidths[i] : '1fr'}`;\n }\n\n return style;\n }\n\n get classNames(): string {\n const classes = ['hds-advanced-table'];\n\n if (this.isStriped) {\n classes.push('hds-advanced-table--striped');\n }\n\n if (this.density) {\n classes.push(`hds-advanced-table--density-${this.density}`);\n }\n\n if (this.valign) {\n classes.push(`hds-advanced-table--valign-${this.valign}`);\n }\n\n if (this.hasNestedRows) {\n classes.push(`hds-advanced-table--nested`);\n }\n\n return classes.join(' ');\n }\n\n @action didInsert(element: HTMLDivElement): void {\n const stickyGridHeader = element.querySelector(\n '.hds-advanced-table__thead.hds-advanced-table__thead--sticky'\n );\n\n if (stickyGridHeader !== null && config.environment !== 'test') {\n this._observer = new IntersectionObserver(\n ([element]) =>\n element?.target.classList.toggle(\n 'hds-advanced-table__thead--is-pinned',\n element.intersectionRatio < 1\n ),\n { threshold: [1] }\n );\n\n this._observer.observe(stickyGridHeader);\n }\n }\n\n @action willDestroy() {\n super.willDestroy();\n if (this._observer) {\n this._observer.disconnect();\n }\n }\n\n @action\n setSortBy(column: string): void {\n if (this._sortBy === column) {\n // check to see if the column is already sorted and invert the sort order if so\n this._sortOrder =\n this._sortOrder === HdsAdvancedTableThSortOrderValues.Asc\n ? HdsAdvancedTableThSortOrderValues.Desc\n : HdsAdvancedTableThSortOrderValues.Asc;\n } else {\n // otherwise, set the sort order to ascending\n this._sortBy = column;\n this._sortOrder = HdsAdvancedTableThSortOrderValues.Asc;\n }\n\n const { onSort } = this.args;\n\n if (typeof onSort === 'function') {\n onSort(this._sortBy, this._sortOrder);\n }\n }\n\n onSelectionChangeCallback(\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n const { onSelectionChange } = this.args;\n\n if (typeof onSelectionChange !== 'function') return;\n\n onSelectionChange({\n selectionKey: selectionKey,\n selectionCheckboxElement: checkbox,\n selectedRowsKeys: this._selectableRows.reduce<string[]>((acc, row) => {\n if (row.checkbox.checked) {\n acc.push(row.selectionKey);\n }\n return acc;\n }, []),\n selectableRowsStates: this._selectableRows.reduce(\n (\n acc: { selectionKey: string; isSelected: boolean | undefined }[],\n row\n ) => {\n acc.push({\n selectionKey: row.selectionKey,\n isSelected: row.checkbox.checked,\n });\n return acc;\n },\n []\n ),\n });\n }\n\n @action\n onSelectionAllChange(): void {\n this._selectableRows.forEach((row) => {\n row.checkbox.checked = this._selectAllCheckbox?.checked ?? false;\n row.checkbox.dispatchEvent(new Event('toggle', { bubbles: false }));\n });\n this._isSelectAllCheckboxSelected =\n this._selectAllCheckbox?.checked ?? false;\n this.onSelectionChangeCallback(this._selectAllCheckbox, 'all');\n }\n\n @action\n onSelectionRowChange(\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n this.setSelectAllState();\n this.onSelectionChangeCallback(checkbox, selectionKey);\n }\n\n @action\n didInsertSelectAllCheckbox(\n checkbox: HdsFormCheckboxBaseSignature['Element']\n ): void {\n this._selectAllCheckbox = checkbox;\n }\n\n @action\n willDestroySelectAllCheckbox(): void {\n this._selectAllCheckbox = undefined;\n }\n\n @action\n didInsertRowCheckbox(\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n if (selectionKey) {\n this._selectableRows.push({ selectionKey, checkbox });\n }\n this.setSelectAllState();\n }\n\n @action\n willDestroyRowCheckbox(selectionKey?: string): void {\n this._selectableRows = this._selectableRows.filter(\n (row) => row.selectionKey !== selectionKey\n );\n this.setSelectAllState();\n }\n\n @action\n setSelectAllState(): void {\n if (this._selectAllCheckbox) {\n const selectableRowsCount = this._selectableRows.length;\n const selectedRowsCount = this._selectableRows.filter(\n (row) => row.checkbox.checked\n ).length;\n\n this._selectAllCheckbox.checked =\n selectedRowsCount === selectableRowsCount;\n this._selectAllCheckbox.indeterminate =\n selectedRowsCount > 0 && selectedRowsCount < selectableRowsCount;\n this._isSelectAllCheckboxSelected = this._selectAllCheckbox.checked;\n this._selectAllCheckbox.dispatchEvent(\n new Event('toggle', { bubbles: false })\n );\n }\n }\n}\n"],"names":["DENSITIES","Object","values","HdsAdvancedTableDensityValues","DEFAULT_DENSITY","Medium","VALIGNMENTS","HdsAdvancedTableVerticalAlignmentValues","DEFAULT_VALIGN","Top","HdsAdvancedTable","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_descriptor4","_defineProperty","guidFor","undefined","getSortCriteria","currentColumn","columns","find","column","key","_sortBy","sortingFunction","_sortOrder","columnWidths","widths","Array","length","hasCustomColumnWidth","i","width","identityKey","childrenKey","hasNestedRows","model","isSortable","sortableColumns","isArray","push","label","obj","assert","toString","sortedMessageText","isSelectable","isStriped","density","join","includes","valign","gridTemplateColumns","style","classNames","classes","didInsert","element","stickyGridHeader","querySelector","config","environment","_observer","IntersectionObserver","target","classList","toggle","intersectionRatio","threshold","observe","willDestroy","disconnect","setSortBy","HdsAdvancedTableThSortOrderValues","Asc","Desc","onSort","onSelectionChangeCallback","checkbox","selectionKey","onSelectionChange","selectionCheckboxElement","selectedRowsKeys","_selectableRows","reduce","acc","row","checked","selectableRowsStates","isSelected","onSelectionAllChange","forEach","_selectAllCheckbox","dispatchEvent","Event","bubbles","_isSelectAllCheckboxSelected","onSelectionRowChange","setSelectAllState","didInsertSelectAllCheckbox","willDestroySelectAllCheckbox","didInsertRowCheckbox","willDestroyRowCheckbox","filter","selectableRowsCount","selectedRowsCount","indeterminate","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","sortBy","sortOrder","action","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/advanced-table/index.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\nimport { tracked } from '@glimmer/tracking';\nimport type { ComponentLike } from '@glint/template';\nimport { guidFor } from '@ember/object/internals';\nimport { modifier } from 'ember-modifier';\n\nimport {\n HdsAdvancedTableDensityValues,\n HdsAdvancedTableThSortOrderValues,\n HdsAdvancedTableVerticalAlignmentValues,\n} from './types.ts';\nimport type {\n HdsAdvancedTableColumn,\n HdsAdvancedTableDensities,\n HdsAdvancedTableHorizontalAlignment,\n HdsAdvancedTableOnSelectionChangeSignature,\n HdsAdvancedTableSelectableRow,\n HdsAdvancedTableSortingFunction,\n HdsAdvancedTableThSortOrder,\n HdsAdvancedTableVerticalAlignment,\n HdsAdvancedTableModel,\n} from './types.ts';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base.ts';\nimport type { HdsAdvancedTableTdSignature } from './td.ts';\nimport type { HdsAdvancedTableThSignature } from './th.ts';\nimport type { HdsAdvancedTableTrSignature } from './tr.ts';\n\nexport const DENSITIES: HdsAdvancedTableDensities[] = Object.values(\n HdsAdvancedTableDensityValues\n);\nexport const DEFAULT_DENSITY = HdsAdvancedTableDensityValues.Medium;\n\nexport const VALIGNMENTS: HdsAdvancedTableVerticalAlignment[] = Object.values(\n HdsAdvancedTableVerticalAlignmentValues\n);\nexport const DEFAULT_VALIGN = HdsAdvancedTableVerticalAlignmentValues.Top;\n\nexport interface HdsAdvancedTableSignature {\n Args: {\n align?: HdsAdvancedTableHorizontalAlignment;\n caption?: string;\n columns: HdsAdvancedTableColumn[];\n density?: HdsAdvancedTableDensities;\n identityKey?: string;\n isSelectable?: boolean;\n isStriped?: boolean;\n model: HdsAdvancedTableModel;\n onSelectionChange?: (\n selection: HdsAdvancedTableOnSelectionChangeSignature\n ) => void;\n onSort?: (sortBy: string, sortOrder: HdsAdvancedTableThSortOrder) => void;\n selectionAriaLabelSuffix?: string;\n sortBy?: string;\n selectableColumnKey?: string;\n sortedMessageText?: string;\n sortOrder?: HdsAdvancedTableThSortOrder;\n valign?: HdsAdvancedTableVerticalAlignment;\n hasStickyHeader?: boolean;\n childrenKey?: string;\n };\n Blocks: {\n body?: [\n {\n Td?: ComponentLike<HdsAdvancedTableTdSignature>;\n Tr?: ComponentLike<HdsAdvancedTableTrSignature>;\n Th?: ComponentLike<HdsAdvancedTableThSignature>;\n data?: Record<string, unknown>;\n rowIndex?: number | string;\n isOpen?: boolean;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsAdvancedTable extends Component<HdsAdvancedTableSignature> {\n @tracked private _sortBy = this.args.sortBy ?? undefined;\n @tracked private _sortOrder =\n this.args.sortOrder || HdsAdvancedTableThSortOrderValues.Asc;\n @tracked\n private _selectAllCheckbox?: HdsFormCheckboxBaseSignature['Element'] =\n undefined;\n @tracked private _isSelectAllCheckboxSelected?: boolean = undefined;\n\n private _selectableRows: HdsAdvancedTableSelectableRow[] = [];\n private _captionId = 'caption-' + guidFor(this);\n private _observer: IntersectionObserver | undefined = undefined;\n\n get getSortCriteria(): string | HdsAdvancedTableSortingFunction<unknown> {\n // get the current column\n const currentColumn = this.args?.columns?.find(\n (column) => column.key === this._sortBy\n );\n if (\n // check if there is a custom sorting function associated with the current `sortBy` column (we assume the column has `isSortable`)\n currentColumn?.sortingFunction &&\n typeof currentColumn.sortingFunction === 'function'\n ) {\n return currentColumn.sortingFunction;\n } else {\n // otherwise fallback to the default format \"sortBy:sortOrder\"\n return `${this._sortBy}:${this._sortOrder}`;\n }\n }\n\n get columnWidths(): string[] | undefined {\n const { columns } = this.args;\n const widths: string[] = new Array(columns.length);\n let hasCustomColumnWidth = false;\n\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i];\n\n if (column?.['width']) {\n widths[i] = column.width;\n if (!hasCustomColumnWidth) hasCustomColumnWidth = true;\n }\n }\n\n return hasCustomColumnWidth ? widths : undefined;\n }\n\n get identityKey(): string | undefined {\n // we have to provide a way for the consumer to pass undefined because Ember tries to interpret undefined as missing an arg and therefore falls back to the default\n if (this.args.identityKey === 'none') {\n return undefined;\n } else {\n return this.args.identityKey ?? '@identity';\n }\n }\n\n get childrenKey(): string {\n const { childrenKey = 'children' } = this.args;\n\n return childrenKey;\n }\n\n get hasNestedRows(): boolean {\n const { model, columns } = this.args;\n let hasNestedRows = false;\n let isSortable = false;\n const sortableColumns: string[] = [];\n\n // if the model is not an array, assume there are no nested rows\n if (!Array.isArray(model)) return false;\n\n for (const column of columns) {\n if (column.isSortable) {\n isSortable = true;\n sortableColumns.push(column.label);\n }\n }\n\n for (const obj of model) {\n if (this.childrenKey in obj) {\n hasNestedRows = true;\n break;\n }\n }\n\n if (hasNestedRows) {\n assert(\n `Cannot have sortable columns if there are nested rows. Sortable columns are ${sortableColumns.toString()}`,\n !isSortable\n );\n }\n\n return hasNestedRows;\n }\n\n get sortedMessageText(): string {\n if (this.args.sortedMessageText) {\n return this.args.sortedMessageText;\n } else if (this._sortBy && this._sortOrder) {\n // we should allow the user to define a custom value here (e.g., for i18n) - tracked with HDS-965\n return `Sorted by ${this._sortBy} ${this._sortOrder}ending`;\n } else {\n return '';\n }\n }\n\n get isSelectable(): boolean {\n const { isSelectable = false } = this.args;\n\n if (this.hasNestedRows) {\n assert(\n '@isSelectable must not be true if there are nested rows.',\n !isSelectable\n );\n return isSelectable;\n }\n\n return isSelectable;\n }\n\n get isStriped(): boolean {\n const { isStriped = false } = this.args;\n\n if (this.hasNestedRows) {\n assert(\n '@isStriped must not be true if there are nested rows.',\n !isStriped\n );\n return isStriped;\n }\n\n return isStriped;\n }\n\n get density(): HdsAdvancedTableDensities {\n const { density = DEFAULT_DENSITY } = this.args;\n\n assert(\n `@density for \"Hds::Table\" must be one of the following: ${DENSITIES.join(\n ', '\n )}; received: ${density}`,\n DENSITIES.includes(density)\n );\n\n return density;\n }\n\n get valign(): HdsAdvancedTableVerticalAlignment {\n const { valign = DEFAULT_VALIGN } = this.args;\n\n assert(\n `@valign for \"Hds::Table\" must be one of the following: ${VALIGNMENTS.join(\n ', '\n )}; received: ${valign}`,\n VALIGNMENTS.includes(valign)\n );\n\n return valign;\n }\n\n // returns the grid-template-columns CSS attribute for the grid\n get gridTemplateColumns(): string {\n const { isSelectable, columns } = this.args;\n\n // if there is no custom column widths, each column is the same width and they take up the available space (except the select checkbox)\n if (!this.columnWidths) {\n return `${isSelectable ? 'auto ' : ''}repeat(${columns.length}, 1fr)`;\n }\n\n // if there is a select checkbox, the first column is 'auto' width to hug the checkbox content\n let style = isSelectable ? 'auto' : '';\n\n // check the custom column widths, if the current column has a custom width use the custom width. otherwise take the available space.\n for (let i = 0; i < this.columnWidths.length; i++) {\n style += ` ${this.columnWidths[i] ? this.columnWidths[i] : '1fr'}`;\n }\n\n return style;\n }\n\n get classNames(): string {\n const classes = ['hds-advanced-table'];\n\n if (this.isStriped) {\n classes.push('hds-advanced-table--striped');\n }\n\n if (this.density) {\n classes.push(`hds-advanced-table--density-${this.density}`);\n }\n\n if (this.valign) {\n classes.push(`hds-advanced-table--valign-${this.valign}`);\n }\n\n if (this.hasNestedRows) {\n classes.push(`hds-advanced-table--nested`);\n }\n\n return classes.join(' ');\n }\n\n private _setUpObserver = modifier((element: HTMLElement) => {\n const stickyGridHeader = element.querySelector(\n '.hds-advanced-table__thead.hds-advanced-table__thead--sticky'\n );\n\n if (stickyGridHeader !== null) {\n this._observer = new IntersectionObserver(\n ([element]) =>\n element?.target.classList.toggle(\n 'hds-advanced-table__thead--is-pinned',\n element.intersectionRatio < 1\n ),\n { threshold: [1] }\n );\n\n this._observer.observe(stickyGridHeader);\n }\n\n return () => {\n if (this._observer) {\n this._observer.disconnect();\n }\n };\n });\n\n @action\n setSortBy(column: string): void {\n if (this._sortBy === column) {\n // check to see if the column is already sorted and invert the sort order if so\n this._sortOrder =\n this._sortOrder === HdsAdvancedTableThSortOrderValues.Asc\n ? HdsAdvancedTableThSortOrderValues.Desc\n : HdsAdvancedTableThSortOrderValues.Asc;\n } else {\n // otherwise, set the sort order to ascending\n this._sortBy = column;\n this._sortOrder = HdsAdvancedTableThSortOrderValues.Asc;\n }\n\n const { onSort } = this.args;\n\n if (typeof onSort === 'function') {\n onSort(this._sortBy, this._sortOrder);\n }\n }\n\n onSelectionChangeCallback(\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n const { onSelectionChange } = this.args;\n\n if (typeof onSelectionChange !== 'function') return;\n\n onSelectionChange({\n selectionKey: selectionKey,\n selectionCheckboxElement: checkbox,\n selectedRowsKeys: this._selectableRows.reduce<string[]>((acc, row) => {\n if (row.checkbox.checked) {\n acc.push(row.selectionKey);\n }\n return acc;\n }, []),\n selectableRowsStates: this._selectableRows.reduce(\n (\n acc: { selectionKey: string; isSelected: boolean | undefined }[],\n row\n ) => {\n acc.push({\n selectionKey: row.selectionKey,\n isSelected: row.checkbox.checked,\n });\n return acc;\n },\n []\n ),\n });\n }\n\n @action\n onSelectionAllChange(): void {\n this._selectableRows.forEach((row) => {\n row.checkbox.checked = this._selectAllCheckbox?.checked ?? false;\n row.checkbox.dispatchEvent(new Event('toggle', { bubbles: false }));\n });\n this._isSelectAllCheckboxSelected =\n this._selectAllCheckbox?.checked ?? false;\n this.onSelectionChangeCallback(this._selectAllCheckbox, 'all');\n }\n\n @action\n onSelectionRowChange(\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n this.setSelectAllState();\n this.onSelectionChangeCallback(checkbox, selectionKey);\n }\n\n @action\n didInsertSelectAllCheckbox(\n checkbox: HdsFormCheckboxBaseSignature['Element']\n ): void {\n this._selectAllCheckbox = checkbox;\n }\n\n @action\n willDestroySelectAllCheckbox(): void {\n this._selectAllCheckbox = undefined;\n }\n\n @action\n didInsertRowCheckbox(\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n if (selectionKey) {\n this._selectableRows.push({ selectionKey, checkbox });\n }\n this.setSelectAllState();\n }\n\n @action\n willDestroyRowCheckbox(selectionKey?: string): void {\n this._selectableRows = this._selectableRows.filter(\n (row) => row.selectionKey !== selectionKey\n );\n this.setSelectAllState();\n }\n\n @action\n setSelectAllState(): void {\n if (this._selectAllCheckbox) {\n const selectableRowsCount = this._selectableRows.length;\n const selectedRowsCount = this._selectableRows.filter(\n (row) => row.checkbox.checked\n ).length;\n\n this._selectAllCheckbox.checked =\n selectedRowsCount === selectableRowsCount;\n this._selectAllCheckbox.indeterminate =\n selectedRowsCount > 0 && selectedRowsCount < selectableRowsCount;\n this._isSelectAllCheckboxSelected = this._selectAllCheckbox.checked;\n this._selectAllCheckbox.dispatchEvent(\n new Event('toggle', { bubbles: false })\n );\n }\n }\n}\n"],"names":["DENSITIES","Object","values","HdsAdvancedTableDensityValues","DEFAULT_DENSITY","Medium","VALIGNMENTS","HdsAdvancedTableVerticalAlignmentValues","DEFAULT_VALIGN","Top","HdsAdvancedTable","Component","g","prototype","tracked","args","sortBy","undefined","i","void 0","sortOrder","HdsAdvancedTableThSortOrderValues","Asc","_selectableRows","_captionId","guidFor","_observer","getSortCriteria","currentColumn","columns","find","column","key","_sortBy","sortingFunction","_sortOrder","columnWidths","widths","Array","length","hasCustomColumnWidth","width","identityKey","childrenKey","hasNestedRows","model","isSortable","sortableColumns","isArray","push","label","obj","assert","toString","sortedMessageText","isSelectable","isStriped","density","join","includes","valign","gridTemplateColumns","style","classNames","classes","_setUpObserver","modifier","element","stickyGridHeader","querySelector","IntersectionObserver","target","classList","toggle","intersectionRatio","threshold","observe","disconnect","setSortBy","Desc","onSort","n","action","onSelectionChangeCallback","checkbox","selectionKey","onSelectionChange","selectionCheckboxElement","selectedRowsKeys","reduce","acc","row","checked","selectableRowsStates","isSelected","onSelectionAllChange","forEach","_selectAllCheckbox","dispatchEvent","Event","bubbles","_isSelectAllCheckboxSelected","onSelectionRowChange","setSelectAllState","didInsertSelectAllCheckbox","willDestroySelectAllCheckbox","didInsertRowCheckbox","willDestroyRowCheckbox","filter","selectableRowsCount","selectedRowsCount","indeterminate","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1,26 +1,32 @@
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 { assert } from '@ember/debug';
4
3
  import { action } from '@ember/object';
5
4
  import { tracked } from '@glimmer/tracking';
6
5
  import { focusable } from 'tabbable';
7
6
  import { HdsAdvancedTableHorizontalAlignmentValues } from './types.js';
8
- import { onFocusTrapDeactivate, didInsertGridCell, handleGridCellKeyPress, updateTabbableChildren } from './helpers.js';
7
+ import { onFocusTrapDeactivate } from '../../../modifiers/hds-advanced-table-cell/dom-management.js';
9
8
  import { precompileTemplate } from '@ember/template-compilation';
9
+ import { g, i, n } from 'decorator-transforms/runtime';
10
10
  import { setComponentTemplate } from '@ember/component';
11
11
 
12
- var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<div\n class={{this.classNames}}\n role=\"gridcell\"\n aria-rowspan={{@rowspan}}\n aria-colspan={{@colspan}}\n {{style grid-row=this.rowspan grid-column=this.colspan}}\n {{did-insert this.didInsert}}\n {{will-destroy this.willDestroy}}\n {{! @glint-expect-error - https://github.com/josemarluedke/ember-focus-trap/issues/86 }}\n {{focus-trap\n isActive=this._shouldTrapFocus\n shouldSelfFocus=true\n focusTrapOptions=(hash\n onDeactivate=this.onFocusTrapDeactivate initialFocus=this.getInitialFocus clickOutsideDeactivates=true\n )\n }}\n ...attributes\n>\n {{yield}}\n</div>");
12
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<div\n class={{this.classNames}}\n role=\"gridcell\"\n aria-rowspan={{@rowspan}}\n aria-colspan={{@colspan}}\n {{style grid-row=this.rowspan grid-column=this.colspan}}\n {{hds-advanced-table-cell\n handleEnableFocusTrap=this.enableFocusTrap\n shouldTrapFocus=this._shouldTrapFocus\n setCellElement=this.setElement\n }}\n {{! @glint-expect-error - https://github.com/josemarluedke/ember-focus-trap/issues/86 }}\n {{focus-trap\n isActive=this._shouldTrapFocus\n focusTrapOptions=(hash\n onDeactivate=this.onFocusTrapDeactivate initialFocus=this.getInitialFocus clickOutsideDeactivates=true\n )\n }}\n ...attributes\n>\n {{yield}}\n</div>");
13
+
14
+ /**
15
+ * Copyright (c) HashiCorp, Inc.
16
+ * SPDX-License-Identifier: MPL-2.0
17
+ */
13
18
 
14
- var _class, _descriptor;
15
19
  const ALIGNMENTS = Object.values(HdsAdvancedTableHorizontalAlignmentValues);
16
20
  const DEFAULT_ALIGN = HdsAdvancedTableHorizontalAlignmentValues.Left;
17
- let HdsAdvancedTableTd = (_class = class HdsAdvancedTableTd extends Component {
18
- constructor(...args) {
19
- super(...args);
20
- _initializerDefineProperty(this, "_shouldTrapFocus", _descriptor, this);
21
- _defineProperty(this, "_element", undefined);
22
- _defineProperty(this, "_observer", undefined);
21
+ class HdsAdvancedTableTd extends Component {
22
+ static {
23
+ g(this.prototype, "_shouldTrapFocus", [tracked], function () {
24
+ return false;
25
+ });
23
26
  }
27
+ #_shouldTrapFocus = (i(this, "_shouldTrapFocus"), undefined);
28
+ _element;
29
+
24
30
  // rowspan and colspan have to return 'auto' if not defined because otherwise the style modifier sets grid-area: undefined on the cell, which breaks the grid styles
25
31
  get rowspan() {
26
32
  if (this.args.rowspan) {
@@ -42,7 +48,7 @@ let HdsAdvancedTableTd = (_class = class HdsAdvancedTableTd extends Component {
42
48
  return align;
43
49
  }
44
50
  get classNames() {
45
- const classes = ['hds-advanced-table__td', 'hds-typography-body-200', 'hds-font-weight-regular'];
51
+ const classes = ['hds-advanced-table__td'];
46
52
 
47
53
  // add a class based on the @align argument
48
54
  if (this.align) {
@@ -54,41 +60,29 @@ let HdsAdvancedTableTd = (_class = class HdsAdvancedTableTd extends Component {
54
60
  this._shouldTrapFocus = false;
55
61
  onFocusTrapDeactivate(this._element);
56
62
  }
63
+ static {
64
+ n(this.prototype, "onFocusTrapDeactivate", [action]);
65
+ }
57
66
  enableFocusTrap() {
58
67
  this._shouldTrapFocus = true;
59
68
  }
69
+ static {
70
+ n(this.prototype, "enableFocusTrap", [action]);
71
+ }
60
72
  getInitialFocus() {
61
73
  const cellFocusableElements = focusable(this._element);
62
74
  return cellFocusableElements[0];
63
75
  }
64
- didInsert(element) {
65
- this._element = element;
66
- didInsertGridCell(element);
67
- element.addEventListener('keydown', event => {
68
- handleGridCellKeyPress(event, this.enableFocusTrap);
69
- });
70
- this._observer = new MutationObserver(() => {
71
- updateTabbableChildren(this._element, this._shouldTrapFocus);
72
- });
73
- this._observer.observe(this._element, {
74
- childList: true,
75
- subtree: true
76
- });
76
+ static {
77
+ n(this.prototype, "getInitialFocus", [action]);
77
78
  }
78
- willDestroy() {
79
- super.willDestroy();
80
- if (this._observer) {
81
- this._observer.disconnect();
82
- }
79
+ setElement(element) {
80
+ this._element = element;
83
81
  }
84
- }, _descriptor = _applyDecoratedDescriptor(_class.prototype, "_shouldTrapFocus", [tracked], {
85
- configurable: true,
86
- enumerable: true,
87
- writable: true,
88
- initializer: function () {
89
- return false;
82
+ static {
83
+ n(this.prototype, "setElement", [action]);
90
84
  }
91
- }), _applyDecoratedDescriptor(_class.prototype, "onFocusTrapDeactivate", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onFocusTrapDeactivate"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "enableFocusTrap", [action], Object.getOwnPropertyDescriptor(_class.prototype, "enableFocusTrap"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "getInitialFocus", [action], Object.getOwnPropertyDescriptor(_class.prototype, "getInitialFocus"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didInsert", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsert"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "willDestroy", [action], Object.getOwnPropertyDescriptor(_class.prototype, "willDestroy"), _class.prototype), _class);
85
+ }
92
86
  setComponentTemplate(TEMPLATE, HdsAdvancedTableTd);
93
87
 
94
88
  export { ALIGNMENTS, DEFAULT_ALIGN, HdsAdvancedTableTd as default };
@@ -1 +1 @@
1
- {"version":3,"file":"td.js","sources":["../../../../src/components/hds/advanced-table/td.hbs","../../../../src/components/hds/advanced-table/td.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div\\n class={{this.classNames}}\\n role=\\\"gridcell\\\"\\n aria-rowspan={{@rowspan}}\\n aria-colspan={{@colspan}}\\n {{style grid-row=this.rowspan grid-column=this.colspan}}\\n {{did-insert this.didInsert}}\\n {{will-destroy this.willDestroy}}\\n {{! @glint-expect-error - https://github.com/josemarluedke/ember-focus-trap/issues/86 }}\\n {{focus-trap\\n isActive=this._shouldTrapFocus\\n shouldSelfFocus=true\\n focusTrapOptions=(hash\\n onDeactivate=this.onFocusTrapDeactivate initialFocus=this.getInitialFocus clickOutsideDeactivates=true\\n )\\n }}\\n ...attributes\\n>\\n {{yield}}\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { focusable, type FocusableElement } from 'tabbable';\n\nimport type { HdsAdvancedTableHorizontalAlignment } from './types.ts';\nimport { HdsAdvancedTableHorizontalAlignmentValues } from './types.ts';\nimport {\n didInsertGridCell,\n handleGridCellKeyPress,\n updateTabbableChildren,\n onFocusTrapDeactivate,\n} from './helpers.ts';\n\nexport const ALIGNMENTS: string[] = Object.values(\n HdsAdvancedTableHorizontalAlignmentValues\n);\nexport const DEFAULT_ALIGN = HdsAdvancedTableHorizontalAlignmentValues.Left;\n\nexport interface HdsAdvancedTableTdSignature {\n Args: {\n align?: HdsAdvancedTableHorizontalAlignment;\n rowspan?: number;\n colspan?: number;\n };\n Blocks: {\n default?: [];\n };\n Element: HTMLDivElement;\n}\nexport default class HdsAdvancedTableTd extends Component<HdsAdvancedTableTdSignature> {\n @tracked private _shouldTrapFocus = false;\n private _element!: HTMLDivElement;\n private _observer: MutationObserver | undefined = undefined;\n\n // rowspan and colspan have to return 'auto' if not defined because otherwise the style modifier sets grid-area: undefined on the cell, which breaks the grid styles\n get rowspan(): string {\n if (this.args.rowspan) {\n return `span ${this.args.rowspan}`;\n }\n return 'auto';\n }\n\n get colspan(): string | undefined {\n if (this.args.colspan) {\n return `span ${this.args.colspan}`;\n }\n return 'auto';\n }\n\n get align(): HdsAdvancedTableHorizontalAlignment {\n const { align = DEFAULT_ALIGN } = this.args;\n\n assert(\n `@align for \"Hds::AdvancedTable::Td\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${align}`,\n ALIGNMENTS.includes(align)\n );\n return align;\n }\n\n get classNames(): string {\n const classes = [\n 'hds-advanced-table__td',\n 'hds-typography-body-200',\n 'hds-font-weight-regular',\n ];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-advanced-table__td--align-${this.align}`);\n }\n\n return classes.join(' ');\n }\n\n @action onFocusTrapDeactivate(): void {\n this._shouldTrapFocus = false;\n onFocusTrapDeactivate(this._element);\n }\n\n @action enableFocusTrap(): void {\n this._shouldTrapFocus = true;\n }\n\n @action getInitialFocus(): FocusableElement | undefined {\n const cellFocusableElements = focusable(this._element);\n return cellFocusableElements[0];\n }\n\n @action\n didInsert(element: HTMLDivElement): void {\n this._element = element;\n didInsertGridCell(element);\n element.addEventListener('keydown', (event: KeyboardEvent) => {\n handleGridCellKeyPress(event, this.enableFocusTrap);\n });\n\n this._observer = new MutationObserver(() => {\n updateTabbableChildren(this._element, this._shouldTrapFocus);\n });\n\n this._observer.observe(this._element, {\n childList: true,\n subtree: true,\n });\n }\n\n @action willDestroy() {\n super.willDestroy();\n if (this._observer) {\n this._observer.disconnect();\n }\n }\n}\n"],"names":["ALIGNMENTS","Object","values","HdsAdvancedTableHorizontalAlignmentValues","DEFAULT_ALIGN","Left","HdsAdvancedTableTd","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","undefined","rowspan","colspan","align","assert","join","includes","classNames","classes","push","onFocusTrapDeactivate","_shouldTrapFocus","_element","enableFocusTrap","getInitialFocus","cellFocusableElements","focusable","didInsert","element","didInsertGridCell","addEventListener","event","handleGridCellKeyPress","_observer","MutationObserver","updateTabbableChildren","observe","childList","subtree","willDestroy","disconnect","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
1
+ {"version":3,"file":"td.js","sources":["../../../../src/components/hds/advanced-table/td.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 { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { focusable, type FocusableElement } from 'tabbable';\n\nimport type { HdsAdvancedTableHorizontalAlignment } from './types.ts';\nimport { HdsAdvancedTableHorizontalAlignmentValues } from './types.ts';\nimport { onFocusTrapDeactivate } from '../../../modifiers/hds-advanced-table-cell/dom-management.ts';\n\nexport const ALIGNMENTS: string[] = Object.values(\n HdsAdvancedTableHorizontalAlignmentValues\n);\nexport const DEFAULT_ALIGN = HdsAdvancedTableHorizontalAlignmentValues.Left;\n\nexport interface HdsAdvancedTableTdSignature {\n Args: {\n align?: HdsAdvancedTableHorizontalAlignment;\n rowspan?: number;\n colspan?: number;\n };\n Blocks: {\n default?: [];\n };\n Element: HTMLDivElement;\n}\nexport default class HdsAdvancedTableTd extends Component<HdsAdvancedTableTdSignature> {\n @tracked private _shouldTrapFocus = false;\n private _element!: HTMLDivElement;\n\n // rowspan and colspan have to return 'auto' if not defined because otherwise the style modifier sets grid-area: undefined on the cell, which breaks the grid styles\n get rowspan(): string {\n if (this.args.rowspan) {\n return `span ${this.args.rowspan}`;\n }\n return 'auto';\n }\n\n get colspan(): string | undefined {\n if (this.args.colspan) {\n return `span ${this.args.colspan}`;\n }\n return 'auto';\n }\n\n get align(): HdsAdvancedTableHorizontalAlignment {\n const { align = DEFAULT_ALIGN } = this.args;\n\n assert(\n `@align for \"Hds::AdvancedTable::Td\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${align}`,\n ALIGNMENTS.includes(align)\n );\n return align;\n }\n\n get classNames(): string {\n const classes = ['hds-advanced-table__td'];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-advanced-table__td--align-${this.align}`);\n }\n\n return classes.join(' ');\n }\n\n @action onFocusTrapDeactivate(): void {\n this._shouldTrapFocus = false;\n onFocusTrapDeactivate(this._element);\n }\n\n @action enableFocusTrap(): void {\n this._shouldTrapFocus = true;\n }\n\n @action getInitialFocus(): FocusableElement | undefined {\n const cellFocusableElements = focusable(this._element);\n return cellFocusableElements[0];\n }\n\n @action setElement(element: HTMLDivElement): void {\n this._element = element;\n }\n}\n"],"names":["ALIGNMENTS","Object","values","HdsAdvancedTableHorizontalAlignmentValues","DEFAULT_ALIGN","Left","HdsAdvancedTableTd","Component","g","prototype","tracked","i","void 0","_element","rowspan","args","colspan","align","assert","join","includes","classNames","classes","push","onFocusTrapDeactivate","_shouldTrapFocus","n","action","enableFocusTrap","getInitialFocus","cellFocusableElements","focusable","setElement","element","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;;;;;;AAAA;AACA;AACA;AACA;;AAYO,MAAMA,UAAoB,GAAGC,MAAM,CAACC,MAAM,CAC/CC,yCACF;AACaC,MAAAA,aAAa,GAAGD,yCAAyC,CAACE;AAaxD,MAAMC,kBAAkB,SAASC,SAAS,CAA8B;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,kBAAA,EAAA,CACpFC,OAAO,CAAA,EAAA,YAAA;AAAA,MAAA,OAA4B,KAAK;AAAA,KAAA,CAAA;AAAA;AAAA,EAAA,iBAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,kBAAA,CAAA,EAAAC,SAAA;EACjCC,QAAQ;;AAEhB;EACA,IAAIC,OAAOA,GAAW;AACpB,IAAA,IAAI,IAAI,CAACC,IAAI,CAACD,OAAO,EAAE;AACrB,MAAA,OAAO,QAAQ,IAAI,CAACC,IAAI,CAACD,OAAO,CAAE,CAAA;AACpC;AACA,IAAA,OAAO,MAAM;AACf;EAEA,IAAIE,OAAOA,GAAuB;AAChC,IAAA,IAAI,IAAI,CAACD,IAAI,CAACC,OAAO,EAAE;AACrB,MAAA,OAAO,QAAQ,IAAI,CAACD,IAAI,CAACC,OAAO,CAAE,CAAA;AACpC;AACA,IAAA,OAAO,MAAM;AACf;EAEA,IAAIC,KAAKA,GAAwC;IAC/C,MAAM;AAAEA,MAAAA,KAAK,GAAGb;KAAe,GAAG,IAAI,CAACW,IAAI;AAE3CG,IAAAA,MAAM,CACJ,CAAqElB,kEAAAA,EAAAA,UAAU,CAACmB,IAAI,CAClF,IACF,CAAC,CAAA,YAAA,EAAeF,KAAK,CAAA,CAAE,EACvBjB,UAAU,CAACoB,QAAQ,CAACH,KAAK,CAC3B,CAAC;AACD,IAAA,OAAOA,KAAK;AACd;EAEA,IAAII,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,wBAAwB,CAAC;;AAE1C;IACA,IAAI,IAAI,CAACL,KAAK,EAAE;MACdK,OAAO,CAACC,IAAI,CAAC,CAAA,8BAAA,EAAiC,IAAI,CAACN,KAAK,EAAE,CAAC;AAC7D;AAEA,IAAA,OAAOK,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC;AAC1B;AAEQK,EAAAA,qBAAqBA,GAAS;IACpC,IAAI,CAACC,gBAAgB,GAAG,KAAK;AAC7BD,IAAAA,qBAAqB,CAAC,IAAI,CAACX,QAAQ,CAAC;AACtC;AAAC,EAAA;IAAAa,CAAA,CAAA,IAAA,CAAAjB,SAAA,EAAA,uBAAA,EAAA,CAHAkB,MAAM,CAAA,CAAA;AAAA;AAKCC,EAAAA,eAAeA,GAAS;IAC9B,IAAI,CAACH,gBAAgB,GAAG,IAAI;AAC9B;AAAC,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAjB,SAAA,EAAA,iBAAA,EAAA,CAFAkB,MAAM,CAAA,CAAA;AAAA;AAICE,EAAAA,eAAeA,GAAiC;AACtD,IAAA,MAAMC,qBAAqB,GAAGC,SAAS,CAAC,IAAI,CAAClB,QAAQ,CAAC;IACtD,OAAOiB,qBAAqB,CAAC,CAAC,CAAC;AACjC;AAAC,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAjB,SAAA,EAAA,iBAAA,EAAA,CAHAkB,MAAM,CAAA,CAAA;AAAA;EAKCK,UAAUA,CAACC,OAAuB,EAAQ;IAChD,IAAI,CAACpB,QAAQ,GAAGoB,OAAO;AACzB;AAAC,EAAA;IAAAP,CAAA,CAAA,IAAA,CAAAjB,SAAA,EAAA,YAAA,EAAA,CAFAkB,MAAM,CAAA,CAAA;AAAA;AAGT;AAACO,oBAAA,CAAAC,QAAA,EA3DoB7B,kBAAkB,CAAA;;;;"}
@@ -1,20 +1,21 @@
1
- import { _ as _applyDecoratedDescriptor, 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 { action } from '@ember/object';
5
4
  import { HdsAdvancedTableThExpandIconValues } from './types.js';
6
5
  import { precompileTemplate } from '@ember/template-compilation';
6
+ import { n } from 'decorator-transforms/runtime';
7
7
  import { setComponentTemplate } from '@ember/component';
8
8
 
9
9
  var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n{{! template-lint-disable no-unsupported-role-attributes }}\n{{! ember template lint doesnt support ARIA 1.3 yet, including aria-description - https://github.com/A11yance/aria-query/pull/557 }}\n<button\n type=\"button\"\n class={{this.classNames}}\n {{on \"click\" this.onClick}}\n aria-labelledby=\"{{this._prefixLabelId}} {{@labelId}}\"\n aria-expanded=\"{{this.isExpanded}}\"\n aria-description=\"Toggle the visibility of the related rows.\"\n ...attributes\n>\n {{! template-lint-enable no-unsupported-role-attributes}}\n <span id={{this._prefixLabelId}} class=\"hds-advanced-table__th-button-aria-label-hidden-segment\">Toggle</span>\n <Hds::Icon @name={{this.icon}} />\n</button>");
10
10
 
11
- var _class;
12
- let HdsAdvancedTableThButtonExpand = (_class = class HdsAdvancedTableThButtonExpand extends Component {
13
- constructor(...args) {
14
- super(...args);
15
- // Generates a unique ID for the (hidden) "label prefix" <span> element
16
- _defineProperty(this, "_prefixLabelId", 'prefix-' + guidFor(this));
17
- }
11
+ /**
12
+ * Copyright (c) HashiCorp, Inc.
13
+ * SPDX-License-Identifier: MPL-2.0
14
+ */
15
+
16
+ class HdsAdvancedTableThButtonExpand extends Component {
17
+ // Generates a unique ID for the (hidden) "label prefix" <span> element
18
+ _prefixLabelId = 'prefix-' + guidFor(this);
18
19
  get isExpanded() {
19
20
  const {
20
21
  isExpanded = false
@@ -33,6 +34,9 @@ let HdsAdvancedTableThButtonExpand = (_class = class HdsAdvancedTableThButtonExp
33
34
  this.args.onToggle();
34
35
  }
35
36
  }
37
+ static {
38
+ n(this.prototype, "onClick", [action]);
39
+ }
36
40
  get classNames() {
37
41
  const classes = ['hds-advanced-table__th-button', 'hds-advanced-table__th-button--expand'];
38
42
 
@@ -42,7 +46,7 @@ let HdsAdvancedTableThButtonExpand = (_class = class HdsAdvancedTableThButtonExp
42
46
  }
43
47
  return classes.join(' ');
44
48
  }
45
- }, _applyDecoratedDescriptor(_class.prototype, "onClick", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onClick"), _class.prototype), _class);
49
+ }
46
50
  setComponentTemplate(TEMPLATE, HdsAdvancedTableThButtonExpand);
47
51
 
48
52
  export { HdsAdvancedTableThButtonExpand as default };
@@ -1 +1 @@
1
- {"version":3,"file":"th-button-expand.js","sources":["../../../../src/components/hds/advanced-table/th-button-expand.hbs","../../../../src/components/hds/advanced-table/th-button-expand.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-unsupported-role-attributes }}\\n{{! ember template lint doesnt support ARIA 1.3 yet, including aria-description - https://github.com/A11yance/aria-query/pull/557 }}\\n<button\\n type=\\\"button\\\"\\n class={{this.classNames}}\\n {{on \\\"click\\\" this.onClick}}\\n aria-labelledby=\\\"{{this._prefixLabelId}} {{@labelId}}\\\"\\n aria-expanded=\\\"{{this.isExpanded}}\\\"\\n aria-description=\\\"Toggle the visibility of the related rows.\\\"\\n ...attributes\\n>\\n {{! template-lint-enable no-unsupported-role-attributes}}\\n <span id={{this._prefixLabelId}} class=\\\"hds-advanced-table__th-button-aria-label-hidden-segment\\\">Toggle</span>\\n <Hds::Icon @name={{this.icon}} />\\n</button>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { action } from '@ember/object';\n\nimport { HdsAdvancedTableThExpandIconValues } from './types.ts';\nimport type { HdsAdvancedTableThSortExpandIcons } from './types.ts';\nexport interface HdsAdvancedTableThButtonExpandSignature {\n Args: {\n labelId?: string;\n isExpanded?: boolean;\n onToggle?: () => void;\n };\n Element: HTMLButtonElement;\n}\n\nexport default class HdsAdvancedTableThButtonExpand extends Component<HdsAdvancedTableThButtonExpandSignature> {\n // Generates a unique ID for the (hidden) \"label prefix\" <span> element\n private _prefixLabelId = 'prefix-' + guidFor(this);\n\n get isExpanded(): boolean {\n const { isExpanded = false } = this.args;\n\n return isExpanded;\n }\n\n get icon(): HdsAdvancedTableThSortExpandIcons {\n if (this.isExpanded) {\n return HdsAdvancedTableThExpandIconValues.ChevronDown;\n } else {\n return HdsAdvancedTableThExpandIconValues.ChevronRight;\n }\n }\n\n @action onClick() {\n if (this.args.onToggle) {\n this.args.onToggle();\n }\n }\n\n get classNames(): string {\n const classes = [\n 'hds-advanced-table__th-button',\n 'hds-advanced-table__th-button--expand',\n ];\n\n // add a class based on the isExpanded state\n if (this.args.isExpanded) {\n classes.push(`hds-advanced-table__th-button--is-expanded`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["HdsAdvancedTableThButtonExpand","_class","Component","constructor","args","_defineProperty","guidFor","isExpanded","icon","HdsAdvancedTableThExpandIconValues","ChevronDown","ChevronRight","onClick","onToggle","classNames","classes","push","join","_applyDecoratedDescriptor","prototype","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AACA,eAAe,kBAAkB,CAAC,wwBAAwwB;;;ACmBrxBA,IAAAA,8BAA8B,IAAAC,MAAA,GAApC,MAAMD,8BAA8B,SAASE,SAAS,CAA0C;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;AAC7G;AAAAC,IAAAA,eAAA,yBACyB,SAAS,GAAGC,OAAO,CAAC,IAAI,CAAC,CAAA;AAAA;EAElD,IAAIC,UAAUA,GAAY;IACxB,MAAM;AAAEA,MAAAA,UAAU,GAAG;KAAO,GAAG,IAAI,CAACH,IAAI;AAExC,IAAA,OAAOG,UAAU;AACnB;EAEA,IAAIC,IAAIA,GAAsC;IAC5C,IAAI,IAAI,CAACD,UAAU,EAAE;MACnB,OAAOE,kCAAkC,CAACC,WAAW;AACvD,KAAC,MAAM;MACL,OAAOD,kCAAkC,CAACE,YAAY;AACxD;AACF;AAEQC,EAAAA,OAAOA,GAAG;AAChB,IAAA,IAAI,IAAI,CAACR,IAAI,CAACS,QAAQ,EAAE;AACtB,MAAA,IAAI,CAACT,IAAI,CAACS,QAAQ,EAAE;AACtB;AACF;EAEA,IAAIC,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CACd,+BAA+B,EAC/B,uCAAuC,CACxC;;AAED;AACA,IAAA,IAAI,IAAI,CAACX,IAAI,CAACG,UAAU,EAAE;AACxBQ,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,0CAAA,CAA4C,CAAC;AAC5D;AAEA,IAAA,OAAOD,OAAO,CAACE,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF,CAAC,EAAAC,yBAAA,CAAAjB,MAAA,CAAAkB,SAAA,EAAA,SAAA,EAAA,CAnBEC,MAAM,CAAAC,EAAAA,MAAA,CAAAC,wBAAA,CAAArB,MAAA,CAAAkB,SAAA,cAAAlB,MAAA,CAAAkB,SAAA,CAAA,EAAAlB,MAAA;AAlB0CsB,oBAAA,CAAAC,QAAA,EAA9BxB,8BAA8B,CAAA;;;;"}
1
+ {"version":3,"file":"th-button-expand.js","sources":["../../../../src/components/hds/advanced-table/th-button-expand.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 { action } from '@ember/object';\n\nimport { HdsAdvancedTableThExpandIconValues } from './types.ts';\nimport type { HdsAdvancedTableThSortExpandIcons } from './types.ts';\nexport interface HdsAdvancedTableThButtonExpandSignature {\n Args: {\n labelId?: string;\n isExpanded?: boolean;\n onToggle?: () => void;\n };\n Element: HTMLButtonElement;\n}\n\nexport default class HdsAdvancedTableThButtonExpand extends Component<HdsAdvancedTableThButtonExpandSignature> {\n // Generates a unique ID for the (hidden) \"label prefix\" <span> element\n private _prefixLabelId = 'prefix-' + guidFor(this);\n\n get isExpanded(): boolean {\n const { isExpanded = false } = this.args;\n\n return isExpanded;\n }\n\n get icon(): HdsAdvancedTableThSortExpandIcons {\n if (this.isExpanded) {\n return HdsAdvancedTableThExpandIconValues.ChevronDown;\n } else {\n return HdsAdvancedTableThExpandIconValues.ChevronRight;\n }\n }\n\n @action onClick() {\n if (this.args.onToggle) {\n this.args.onToggle();\n }\n }\n\n get classNames(): string {\n const classes = [\n 'hds-advanced-table__th-button',\n 'hds-advanced-table__th-button--expand',\n ];\n\n // add a class based on the isExpanded state\n if (this.args.isExpanded) {\n classes.push(`hds-advanced-table__th-button--is-expanded`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["HdsAdvancedTableThButtonExpand","Component","_prefixLabelId","guidFor","isExpanded","args","icon","HdsAdvancedTableThExpandIconValues","ChevronDown","ChevronRight","onClick","onToggle","n","prototype","action","classNames","classes","push","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;;AAiBe,MAAMA,8BAA8B,SAASC,SAAS,CAA0C;AAC7G;AACQC,EAAAA,cAAc,GAAG,SAAS,GAAGC,OAAO,CAAC,IAAI,CAAC;EAElD,IAAIC,UAAUA,GAAY;IACxB,MAAM;AAAEA,MAAAA,UAAU,GAAG;KAAO,GAAG,IAAI,CAACC,IAAI;AAExC,IAAA,OAAOD,UAAU;AACnB;EAEA,IAAIE,IAAIA,GAAsC;IAC5C,IAAI,IAAI,CAACF,UAAU,EAAE;MACnB,OAAOG,kCAAkC,CAACC,WAAW;AACvD,KAAC,MAAM;MACL,OAAOD,kCAAkC,CAACE,YAAY;AACxD;AACF;AAEQC,EAAAA,OAAOA,GAAG;AAChB,IAAA,IAAI,IAAI,CAACL,IAAI,CAACM,QAAQ,EAAE;AACtB,MAAA,IAAI,CAACN,IAAI,CAACM,QAAQ,EAAE;AACtB;AACF;AAAC,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,SAAA,EAAA,CAJAC,MAAM,CAAA,CAAA;AAAA;EAMP,IAAIC,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CACd,+BAA+B,EAC/B,uCAAuC,CACxC;;AAED;AACA,IAAA,IAAI,IAAI,CAACX,IAAI,CAACD,UAAU,EAAE;AACxBY,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,0CAAA,CAA4C,CAAC;AAC5D;AAEA,IAAA,OAAOD,OAAO,CAACE,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACC,oBAAA,CAAAC,QAAA,EArCoBpB,8BAA8B,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 { HdsAdvancedTableThSortOrderIconValues, HdsAdvancedTableThSortOrderValues, HdsAdvancedTableThSortOrderLabelValues } from './types.js';
@@ -7,14 +6,16 @@ import { setComponentTemplate } from '@ember/component';
7
6
 
8
7
  var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<button\n type=\"button\"\n class={{this.classNames}}\n {{on \"click\" this.onClick}}\n aria-labelledby=\"{{this._prefixLabelId}} {{@labelId}} {{this._suffixLabelId}}\"\n ...attributes\n>\n <span id={{this._prefixLabelId}} class=\"hds-advanced-table__th-button-aria-label-hidden-segment\">Sort by</span>\n <span\n id={{this._suffixLabelId}}\n class=\"hds-advanced-table__th-button-aria-label-hidden-segment\"\n >{{this.sortOrderLabel}}</span>\n <Hds::Icon @name={{this.icon}} />\n</button>");
9
8
 
9
+ /**
10
+ * Copyright (c) HashiCorp, Inc.
11
+ * SPDX-License-Identifier: MPL-2.0
12
+ */
13
+
10
14
  const NOOP = () => {};
11
15
  class HdsAdvancedTableThButtonSort extends Component {
12
- constructor(...args) {
13
- super(...args);
14
- // Generates a unique ID for the (hidden) "label prefix/suffix" <span> elements
15
- _defineProperty(this, "_prefixLabelId", 'prefix-' + guidFor(this));
16
- _defineProperty(this, "_suffixLabelId", 'suffix-' + guidFor(this));
17
- }
16
+ // Generates a unique ID for the (hidden) "label prefix/suffix" <span> elements
17
+ _prefixLabelId = 'prefix-' + guidFor(this);
18
+ _suffixLabelId = 'suffix-' + guidFor(this);
18
19
  get icon() {
19
20
  switch (this.args.sortOrder) {
20
21
  case HdsAdvancedTableThSortOrderValues.Asc: