@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 +1 @@
1
- {"version":3,"file":"th-button-sort.js","sources":["../../../../src/components/hds/advanced-table/th-button-sort.hbs","../../../../src/components/hds/advanced-table/th-button-sort.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<button\\n type=\\\"button\\\"\\n class={{this.classNames}}\\n {{on \\\"click\\\" this.onClick}}\\n aria-labelledby=\\\"{{this._prefixLabelId}} {{@labelId}} {{this._suffixLabelId}}\\\"\\n ...attributes\\n>\\n <span id={{this._prefixLabelId}} class=\\\"hds-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>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\n\nimport {\n HdsAdvancedTableThSortOrderIconValues,\n HdsAdvancedTableThSortOrderLabelValues,\n HdsAdvancedTableThSortOrderValues,\n} from './types.ts';\nimport type {\n HdsAdvancedTableThSortOrder,\n HdsAdvancedTableThSortOrderIcons,\n HdsAdvancedTableThSortOrderLabels,\n} from './types.ts';\nexport interface HdsAdvancedTableThButtonSortSignature {\n Args: {\n labelId?: string;\n onClick?: () => void;\n sortOrder?: HdsAdvancedTableThSortOrder;\n };\n Element: HTMLButtonElement;\n}\n\nconst NOOP = () => {};\n\nexport default class HdsAdvancedTableThButtonSort extends Component<HdsAdvancedTableThButtonSortSignature> {\n // Generates a unique ID for the (hidden) \"label prefix/suffix\" <span> elements\n private _prefixLabelId = 'prefix-' + guidFor(this);\n private _suffixLabelId = 'suffix-' + guidFor(this);\n\n get icon(): HdsAdvancedTableThSortOrderIcons {\n switch (this.args.sortOrder) {\n case HdsAdvancedTableThSortOrderValues.Asc:\n return HdsAdvancedTableThSortOrderIconValues.ArrowUp;\n case HdsAdvancedTableThSortOrderValues.Desc:\n return HdsAdvancedTableThSortOrderIconValues.ArrowDown;\n default:\n return HdsAdvancedTableThSortOrderIconValues.SwapVertical;\n }\n }\n\n // Determines the label (suffix) to use in the `aria-labelledby` attribute of the button,\n // used to indicate what will happen if the user clicks on the button\n get sortOrderLabel(): HdsAdvancedTableThSortOrderLabels {\n return this.args.sortOrder === HdsAdvancedTableThSortOrderValues.Asc\n ? HdsAdvancedTableThSortOrderLabelValues.Desc\n : HdsAdvancedTableThSortOrderLabelValues.Asc;\n }\n\n get onClick(): () => void {\n const { onClick } = this.args;\n\n if (typeof onClick === 'function') {\n return onClick;\n } else {\n return NOOP;\n }\n }\n\n get classNames(): string {\n const classes = [\n 'hds-advanced-table__th-button',\n 'hds-advanced-table__th-button--sort',\n ];\n\n // add a class based on the @sortOrder argument\n if (\n this.args.sortOrder === HdsAdvancedTableThSortOrderValues.Asc ||\n this.args.sortOrder === HdsAdvancedTableThSortOrderValues.Desc\n ) {\n classes.push(`hds-advanced-table__th-button--is-sorted`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["NOOP","HdsAdvancedTableThButtonSort","Component","constructor","args","_defineProperty","guidFor","icon","sortOrder","HdsAdvancedTableThSortOrderValues","Asc","HdsAdvancedTableThSortOrderIconValues","ArrowUp","Desc","ArrowDown","SwapVertical","sortOrderLabel","HdsAdvancedTableThSortOrderLabelValues","onClick","classNames","classes","push","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AACA,eAAe,kBAAkB,CAAC,wkBAAwkB;;AC0B1mB,MAAMA,IAAI,GAAGA,MAAM,EAAE;AAEN,MAAMC,4BAA4B,SAASC,SAAS,CAAwC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;AACzG;AAAAC,IAAAA,eAAA,yBACyB,SAAS,GAAGC,OAAO,CAAC,IAAI,CAAC,CAAA;AAAAD,IAAAA,eAAA,yBACzB,SAAS,GAAGC,OAAO,CAAC,IAAI,CAAC,CAAA;AAAA;EAElD,IAAIC,IAAIA,GAAqC;AAC3C,IAAA,QAAQ,IAAI,CAACH,IAAI,CAACI,SAAS;MACzB,KAAKC,iCAAiC,CAACC,GAAG;QACxC,OAAOC,qCAAqC,CAACC,OAAO;MACtD,KAAKH,iCAAiC,CAACI,IAAI;QACzC,OAAOF,qCAAqC,CAACG,SAAS;AACxD,MAAA;QACE,OAAOH,qCAAqC,CAACI,YAAY;AAC7D;AACF;;AAEA;AACA;EACA,IAAIC,cAAcA,GAAsC;AACtD,IAAA,OAAO,IAAI,CAACZ,IAAI,CAACI,SAAS,KAAKC,iCAAiC,CAACC,GAAG,GAChEO,sCAAsC,CAACJ,IAAI,GAC3CI,sCAAsC,CAACP,GAAG;AAChD;EAEA,IAAIQ,OAAOA,GAAe;IACxB,MAAM;AAAEA,MAAAA;KAAS,GAAG,IAAI,CAACd,IAAI;AAE7B,IAAA,IAAI,OAAOc,OAAO,KAAK,UAAU,EAAE;AACjC,MAAA,OAAOA,OAAO;AAChB,KAAC,MAAM;AACL,MAAA,OAAOlB,IAAI;AACb;AACF;EAEA,IAAImB,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CACd,+BAA+B,EAC/B,qCAAqC,CACtC;;AAED;AACA,IAAA,IACE,IAAI,CAAChB,IAAI,CAACI,SAAS,KAAKC,iCAAiC,CAACC,GAAG,IAC7D,IAAI,CAACN,IAAI,CAACI,SAAS,KAAKC,iCAAiC,CAACI,IAAI,EAC9D;AACAO,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,wCAAA,CAA0C,CAAC;AAC1D;AAEA,IAAA,OAAOD,OAAO,CAACE,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACC,oBAAA,CAAAC,QAAA,EAlDoBvB,4BAA4B,CAAA;;;;"}
1
+ {"version":3,"file":"th-button-sort.js","sources":["../../../../src/components/hds/advanced-table/th-button-sort.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\n\nimport {\n HdsAdvancedTableThSortOrderIconValues,\n HdsAdvancedTableThSortOrderLabelValues,\n HdsAdvancedTableThSortOrderValues,\n} from './types.ts';\nimport type {\n HdsAdvancedTableThSortOrder,\n HdsAdvancedTableThSortOrderIcons,\n HdsAdvancedTableThSortOrderLabels,\n} from './types.ts';\nexport interface HdsAdvancedTableThButtonSortSignature {\n Args: {\n labelId?: string;\n onClick?: () => void;\n sortOrder?: HdsAdvancedTableThSortOrder;\n };\n Element: HTMLButtonElement;\n}\n\nconst NOOP = () => {};\n\nexport default class HdsAdvancedTableThButtonSort extends Component<HdsAdvancedTableThButtonSortSignature> {\n // Generates a unique ID for the (hidden) \"label prefix/suffix\" <span> elements\n private _prefixLabelId = 'prefix-' + guidFor(this);\n private _suffixLabelId = 'suffix-' + guidFor(this);\n\n get icon(): HdsAdvancedTableThSortOrderIcons {\n switch (this.args.sortOrder) {\n case HdsAdvancedTableThSortOrderValues.Asc:\n return HdsAdvancedTableThSortOrderIconValues.ArrowUp;\n case HdsAdvancedTableThSortOrderValues.Desc:\n return HdsAdvancedTableThSortOrderIconValues.ArrowDown;\n default:\n return HdsAdvancedTableThSortOrderIconValues.SwapVertical;\n }\n }\n\n // Determines the label (suffix) to use in the `aria-labelledby` attribute of the button,\n // used to indicate what will happen if the user clicks on the button\n get sortOrderLabel(): HdsAdvancedTableThSortOrderLabels {\n return this.args.sortOrder === HdsAdvancedTableThSortOrderValues.Asc\n ? HdsAdvancedTableThSortOrderLabelValues.Desc\n : HdsAdvancedTableThSortOrderLabelValues.Asc;\n }\n\n get onClick(): () => void {\n const { onClick } = this.args;\n\n if (typeof onClick === 'function') {\n return onClick;\n } else {\n return NOOP;\n }\n }\n\n get classNames(): string {\n const classes = [\n 'hds-advanced-table__th-button',\n 'hds-advanced-table__th-button--sort',\n ];\n\n // add a class based on the @sortOrder argument\n if (\n this.args.sortOrder === HdsAdvancedTableThSortOrderValues.Asc ||\n this.args.sortOrder === HdsAdvancedTableThSortOrderValues.Desc\n ) {\n classes.push(`hds-advanced-table__th-button--is-sorted`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["NOOP","HdsAdvancedTableThButtonSort","Component","_prefixLabelId","guidFor","_suffixLabelId","icon","args","sortOrder","HdsAdvancedTableThSortOrderValues","Asc","HdsAdvancedTableThSortOrderIconValues","ArrowUp","Desc","ArrowDown","SwapVertical","sortOrderLabel","HdsAdvancedTableThSortOrderLabelValues","onClick","classNames","classes","push","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;;AAwBA,MAAMA,IAAI,GAAGA,MAAM,EAAE;AAEN,MAAMC,4BAA4B,SAASC,SAAS,CAAwC;AACzG;AACQC,EAAAA,cAAc,GAAG,SAAS,GAAGC,OAAO,CAAC,IAAI,CAAC;AAC1CC,EAAAA,cAAc,GAAG,SAAS,GAAGD,OAAO,CAAC,IAAI,CAAC;EAElD,IAAIE,IAAIA,GAAqC;AAC3C,IAAA,QAAQ,IAAI,CAACC,IAAI,CAACC,SAAS;MACzB,KAAKC,iCAAiC,CAACC,GAAG;QACxC,OAAOC,qCAAqC,CAACC,OAAO;MACtD,KAAKH,iCAAiC,CAACI,IAAI;QACzC,OAAOF,qCAAqC,CAACG,SAAS;AACxD,MAAA;QACE,OAAOH,qCAAqC,CAACI,YAAY;AAC7D;AACF;;AAEA;AACA;EACA,IAAIC,cAAcA,GAAsC;AACtD,IAAA,OAAO,IAAI,CAACT,IAAI,CAACC,SAAS,KAAKC,iCAAiC,CAACC,GAAG,GAChEO,sCAAsC,CAACJ,IAAI,GAC3CI,sCAAsC,CAACP,GAAG;AAChD;EAEA,IAAIQ,OAAOA,GAAe;IACxB,MAAM;AAAEA,MAAAA;KAAS,GAAG,IAAI,CAACX,IAAI;AAE7B,IAAA,IAAI,OAAOW,OAAO,KAAK,UAAU,EAAE;AACjC,MAAA,OAAOA,OAAO;AAChB,KAAC,MAAM;AACL,MAAA,OAAOlB,IAAI;AACb;AACF;EAEA,IAAImB,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CACd,+BAA+B,EAC/B,qCAAqC,CACtC;;AAED;AACA,IAAA,IACE,IAAI,CAACb,IAAI,CAACC,SAAS,KAAKC,iCAAiC,CAACC,GAAG,IAC7D,IAAI,CAACH,IAAI,CAACC,SAAS,KAAKC,iCAAiC,CAACI,IAAI,EAC9D;AACAO,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,wCAAA,CAA0C,CAAC;AAC1D;AAEA,IAAA,OAAOD,OAAO,CAACE,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACC,oBAAA,CAAAC,QAAA,EAlDoBvB,4BAA4B,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 { assert } from '@ember/debug';
4
3
  import { guidFor } from '@ember/object/internals';
@@ -7,12 +6,14 @@ 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\n<button\n type=\"button\"\n class={{this.classNames}}\n {{hds-tooltip this.tooltip}}\n aria-labelledby=\"{{this._prefixLabelId}} {{@labelId}}\"\n ...attributes\n>\n <span id={{this._prefixLabelId}} class=\"hds-advanced-table__th-button-aria-label-hidden-segment\">More information for</span>\n <Hds::Icon @name=\"info\" />\n</button>");
9
8
 
9
+ /**
10
+ * Copyright (c) HashiCorp, Inc.
11
+ * SPDX-License-Identifier: MPL-2.0
12
+ */
13
+
10
14
  class HdsAdvancedTableThButtonTooltip extends Component {
11
- constructor(...args) {
12
- super(...args);
13
- // Generates a unique ID for the (hidden) "label prefix" <span> element
14
- _defineProperty(this, "_prefixLabelId", guidFor(this));
15
- }
15
+ // Generates a unique ID for the (hidden) "label prefix" <span> element
16
+ _prefixLabelId = guidFor(this);
16
17
  get tooltip() {
17
18
  assert(`@tooltip for "HdsAdvancedTableThButtonTooltip" must be a string`, typeof this.args.tooltip === 'string');
18
19
  return this.args.tooltip;
@@ -1 +1 @@
1
- {"version":3,"file":"th-button-tooltip.js","sources":["../../../../src/components/hds/advanced-table/th-button-tooltip.hbs","../../../../src/components/hds/advanced-table/th-button-tooltip.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<button\\n type=\\\"button\\\"\\n class={{this.classNames}}\\n {{hds-tooltip this.tooltip}}\\n aria-labelledby=\\\"{{this._prefixLabelId}} {{@labelId}}\\\"\\n ...attributes\\n>\\n <span id={{this._prefixLabelId}} class=\\\"hds-advanced-table__th-button-aria-label-hidden-segment\\\">More information for</span>\\n <Hds::Icon @name=\\\"info\\\" />\\n</button>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport { guidFor } from '@ember/object/internals';\n\nexport interface HdsAdvancedTableThButtonTooltipSignature {\n Args: {\n labelId?: string;\n tooltip: string;\n };\n Element: HTMLButtonElement;\n}\n\nexport default class HdsAdvancedTableThButtonTooltip extends Component<HdsAdvancedTableThButtonTooltipSignature> {\n // Generates a unique ID for the (hidden) \"label prefix\" <span> element\n private _prefixLabelId = guidFor(this);\n\n get tooltip(): string {\n assert(\n `@tooltip for \"HdsAdvancedTableThButtonTooltip\" must be a string`,\n typeof this.args.tooltip === 'string'\n );\n return this.args.tooltip;\n }\n\n get classNames(): string {\n const classes = [\n 'hds-advanced-table__th-button',\n 'hds-advanced-table__th-button--tooltip',\n ];\n\n return classes.join(' ');\n }\n}\n"],"names":["HdsAdvancedTableThButtonTooltip","Component","constructor","args","_defineProperty","guidFor","tooltip","assert","classNames","classes","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AACA,eAAe,kBAAkB,CAAC,saAAsa;;ACgBzb,MAAMA,+BAA+B,SAASC,SAAS,CAA2C;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;AAC/G;AAAAC,IAAAA,eAAA,CACyBC,IAAAA,EAAAA,gBAAAA,EAAAA,OAAO,CAAC,IAAI,CAAC,CAAA;AAAA;EAEtC,IAAIC,OAAOA,GAAW;IACpBC,MAAM,CACJ,CAAiE,+DAAA,CAAA,EACjE,OAAO,IAAI,CAACJ,IAAI,CAACG,OAAO,KAAK,QAC/B,CAAC;AACD,IAAA,OAAO,IAAI,CAACH,IAAI,CAACG,OAAO;AAC1B;EAEA,IAAIE,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CACd,+BAA+B,EAC/B,wCAAwC,CACzC;AAED,IAAA,OAAOA,OAAO,CAACC,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACC,oBAAA,CAAAC,QAAA,EApBoBZ,+BAA+B,CAAA;;;;"}
1
+ {"version":3,"file":"th-button-tooltip.js","sources":["../../../../src/components/hds/advanced-table/th-button-tooltip.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport { guidFor } from '@ember/object/internals';\n\nexport interface HdsAdvancedTableThButtonTooltipSignature {\n Args: {\n labelId?: string;\n tooltip: string;\n };\n Element: HTMLButtonElement;\n}\n\nexport default class HdsAdvancedTableThButtonTooltip extends Component<HdsAdvancedTableThButtonTooltipSignature> {\n // Generates a unique ID for the (hidden) \"label prefix\" <span> element\n private _prefixLabelId = guidFor(this);\n\n get tooltip(): string {\n assert(\n `@tooltip for \"HdsAdvancedTableThButtonTooltip\" must be a string`,\n typeof this.args.tooltip === 'string'\n );\n return this.args.tooltip;\n }\n\n get classNames(): string {\n const classes = [\n 'hds-advanced-table__th-button',\n 'hds-advanced-table__th-button--tooltip',\n ];\n\n return classes.join(' ');\n }\n}\n"],"names":["HdsAdvancedTableThButtonTooltip","Component","_prefixLabelId","guidFor","tooltip","assert","args","classNames","classes","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;;AAce,MAAMA,+BAA+B,SAASC,SAAS,CAA2C;AAC/G;AACQC,EAAAA,cAAc,GAAGC,OAAO,CAAC,IAAI,CAAC;EAEtC,IAAIC,OAAOA,GAAW;IACpBC,MAAM,CACJ,CAAiE,+DAAA,CAAA,EACjE,OAAO,IAAI,CAACC,IAAI,CAACF,OAAO,KAAK,QAC/B,CAAC;AACD,IAAA,OAAO,IAAI,CAACE,IAAI,CAACF,OAAO;AAC1B;EAEA,IAAIG,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CACd,+BAA+B,EAC/B,wCAAwC,CACzC;AAED,IAAA,OAAOA,OAAO,CAACC,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACC,oBAAA,CAAAC,QAAA,EApBoBX,+BAA+B,CAAA;;;;"}
@@ -1,23 +1,29 @@
1
- import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty, a as _defineProperty } from '../../../_rollupPluginBabelHelpers-C_TsMG3M.js';
2
1
  import Component from '@glimmer/component';
3
2
  import { action } from '@ember/object';
4
3
  import { guidFor } from '@ember/object/internals';
5
4
  import { tracked } from '@glimmer/tracking';
6
5
  import { HdsAdvancedTableThSortOrderLabelValues, HdsAdvancedTableThSortOrderValues } from './types.js';
7
6
  import { precompileTemplate } from '@ember/template-compilation';
7
+ import { g, i, n } from 'decorator-transforms/runtime';
8
8
  import { setComponentTemplate } from '@ember/component';
9
9
 
10
10
  var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<Hds::AdvancedTable::Th\n class=\"hds-advanced-table__th--is-selectable\"\n aria-sort={{if this.isSortable this.ariaSort}}\n @scope={{@selectionScope}}\n ...attributes\n>\n <div class=\"hds-advanced-table__th-content\">\n <Hds::Form::Checkbox::Base\n id={{this._checkboxId}}\n class=\"hds-advanced-table__checkbox\"\n checked={{@isSelected}}\n aria-label={{this.ariaLabel}}\n {{did-insert this.didInsertCheckbox}}\n {{will-destroy this.willDestroyNode}}\n {{on \"change\" this.onSelectionChange}}\n />\n {{#if this.isSortable}}\n <span id={{this._labelId}} class=\"sr-only\">selection state</span>\n <Hds::AdvancedTable::ThButtonSort\n @sortOrder={{@sortBySelectedOrder}}\n @onClick={{@onClickSortBySelected}}\n @labelId={{this._labelId}}\n />\n {{/if}}\n </div>\n</Hds::AdvancedTable::Th>");
11
11
 
12
- var _class, _descriptor;
13
- let HdsAdvancedTableThSelectable = (_class = class HdsAdvancedTableThSelectable extends Component {
14
- constructor(...args) {
15
- super(...args);
16
- _initializerDefineProperty(this, "_isSelected", _descriptor, this);
17
- _defineProperty(this, "_guid", guidFor(this));
18
- _defineProperty(this, "_checkboxId", `checkbox-${this._guid}`);
19
- _defineProperty(this, "_labelId", `label-${this._guid}`);
12
+ /**
13
+ * Copyright (c) HashiCorp, Inc.
14
+ * SPDX-License-Identifier: MPL-2.0
15
+ */
16
+
17
+ class HdsAdvancedTableThSelectable extends Component {
18
+ static {
19
+ g(this.prototype, "_isSelected", [tracked], function () {
20
+ return this.args.isSelected ?? false;
21
+ });
20
22
  }
23
+ #_isSelected = (i(this, "_isSelected"), undefined);
24
+ _guid = guidFor(this);
25
+ _checkboxId = `checkbox-${this._guid}`;
26
+ _labelId = `label-${this._guid}`;
21
27
  get isSortable() {
22
28
  return this.args.onClickSortBySelected !== undefined;
23
29
  }
@@ -50,6 +56,9 @@ let HdsAdvancedTableThSelectable = (_class = class HdsAdvancedTableThSelectable
50
56
  checkbox.addEventListener('toggle', this.updateAriaLabel.bind(this), true);
51
57
  }
52
58
  }
59
+ static {
60
+ n(this.prototype, "didInsertCheckbox", [action]);
61
+ }
53
62
  willDestroyNode(checkbox) {
54
63
  super.willDestroy();
55
64
  const {
@@ -62,6 +71,9 @@ let HdsAdvancedTableThSelectable = (_class = class HdsAdvancedTableThSelectable
62
71
  }
63
72
  }
64
73
  }
74
+ static {
75
+ n(this.prototype, "willDestroyNode", [action]);
76
+ }
65
77
  onSelectionChange(event) {
66
78
  // Assert event.target as HdsFormCheckboxBaseSignature['Element'] to access the 'checked' property
67
79
  const target = event.target;
@@ -73,19 +85,15 @@ let HdsAdvancedTableThSelectable = (_class = class HdsAdvancedTableThSelectable
73
85
  onSelectionChange(target, this.args.selectionKey);
74
86
  }
75
87
  }
88
+ static {
89
+ n(this.prototype, "onSelectionChange", [action]);
90
+ }
76
91
  updateAriaLabel(event) {
77
92
  // Assert event.target as HTMLInputElement to access the 'checked' property
78
93
  const target = event.target;
79
94
  this._isSelected = target.checked;
80
95
  }
81
- }, _descriptor = _applyDecoratedDescriptor(_class.prototype, "_isSelected", [tracked], {
82
- configurable: true,
83
- enumerable: true,
84
- writable: true,
85
- initializer: function () {
86
- return this.args.isSelected ?? false;
87
- }
88
- }), _applyDecoratedDescriptor(_class.prototype, "didInsertCheckbox", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsertCheckbox"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "willDestroyNode", [action], Object.getOwnPropertyDescriptor(_class.prototype, "willDestroyNode"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onSelectionChange", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onSelectionChange"), _class.prototype), _class);
96
+ }
89
97
  setComponentTemplate(TEMPLATE, HdsAdvancedTableThSelectable);
90
98
 
91
99
  export { HdsAdvancedTableThSelectable as default };
@@ -1 +1 @@
1
- {"version":3,"file":"th-selectable.js","sources":["../../../../src/components/hds/advanced-table/th-selectable.hbs","../../../../src/components/hds/advanced-table/th-selectable.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<Hds::AdvancedTable::Th\\n class=\\\"hds-advanced-table__th--is-selectable\\\"\\n aria-sort={{if this.isSortable this.ariaSort}}\\n @scope={{@selectionScope}}\\n ...attributes\\n>\\n <div class=\\\"hds-advanced-table__th-content\\\">\\n <Hds::Form::Checkbox::Base\\n id={{this._checkboxId}}\\n class=\\\"hds-advanced-table__checkbox\\\"\\n checked={{@isSelected}}\\n aria-label={{this.ariaLabel}}\\n {{did-insert this.didInsertCheckbox}}\\n {{will-destroy this.willDestroyNode}}\\n {{on \\\"change\\\" this.onSelectionChange}}\\n />\\n {{#if this.isSortable}}\\n <span id={{this._labelId}} class=\\\"sr-only\\\">selection state</span>\\n <Hds::AdvancedTable::ThButtonSort\\n @sortOrder={{@sortBySelectedOrder}}\\n @onClick={{@onClickSortBySelected}}\\n @labelId={{this._labelId}}\\n />\\n {{/if}}\\n </div>\\n</Hds::AdvancedTable::Th>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport { tracked } from '@glimmer/tracking';\n\nimport {\n HdsAdvancedTableThSortOrderValues,\n HdsAdvancedTableThSortOrderLabelValues,\n} from './types.ts';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base';\nimport type {\n HdsAdvancedTableScope,\n HdsAdvancedTableThSortOrder,\n HdsAdvancedTableThSortOrderLabels,\n} from './types.ts';\nimport type { HdsAdvancedTableThSignature } from './th.ts';\n\nexport interface HdsAdvancedTableThSelectableSignature {\n Args: {\n didInsert?: (\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ) => void;\n isSelected?: boolean;\n onClickSortBySelected?: () => void;\n onSelectionChange?: (\n target: HdsFormCheckboxBaseSignature['Element'],\n selectionKey: string | undefined\n ) => void;\n selectionAriaLabelSuffix?: string;\n selectionKey?: string;\n selectionScope?: HdsAdvancedTableScope;\n sortBySelectedOrder?: HdsAdvancedTableThSortOrder;\n willDestroy?: (selectionKey?: string) => void;\n };\n Element: HdsAdvancedTableThSignature['Element'];\n}\n\nexport default class HdsAdvancedTableThSelectable extends Component<HdsAdvancedTableThSelectableSignature> {\n @tracked private _isSelected = this.args.isSelected ?? false;\n\n private _guid = guidFor(this);\n private _checkboxId = `checkbox-${this._guid}`;\n private _labelId = `label-${this._guid}`;\n\n get isSortable(): boolean {\n return this.args.onClickSortBySelected !== undefined;\n }\n\n get ariaLabel(): string {\n const { selectionAriaLabelSuffix = 'row' } = this.args;\n return `Select ${selectionAriaLabelSuffix}`;\n }\n\n get ariaSort(): HdsAdvancedTableThSortOrderLabels | undefined {\n switch (this.args.sortBySelectedOrder) {\n case HdsAdvancedTableThSortOrderValues.Asc:\n return HdsAdvancedTableThSortOrderLabelValues.Asc;\n case HdsAdvancedTableThSortOrderValues.Desc:\n return HdsAdvancedTableThSortOrderLabelValues.Desc;\n default:\n // none is the default per the spec.\n return HdsAdvancedTableThSortOrderLabelValues.None;\n }\n }\n\n @action\n didInsertCheckbox(checkbox: HdsFormCheckboxBaseSignature['Element']): void {\n const { didInsert } = this.args;\n if (typeof didInsert === 'function') {\n didInsert(checkbox, this.args.selectionKey);\n // we need to use a custom event listener here because changing the `checked` value via JS\n // (and this happens with the \"select all\") doesn't trigger the `change` event\n // and consequently the `aria-label` won't be automatically updated (and so we have to force it)\n checkbox.addEventListener(\n 'toggle',\n this.updateAriaLabel.bind(this),\n true\n );\n }\n }\n\n @action\n willDestroyNode(checkbox: HdsFormCheckboxBaseSignature['Element']): void {\n super.willDestroy();\n const { willDestroy } = this.args;\n if (typeof willDestroy === 'function') {\n willDestroy(this.args.selectionKey);\n if (checkbox) {\n checkbox.removeEventListener(\n 'toggle',\n this.updateAriaLabel.bind(this),\n true\n );\n }\n }\n }\n\n @action\n onSelectionChange(event: Event): void {\n // Assert event.target as HdsFormCheckboxBaseSignature['Element'] to access the 'checked' property\n const target = event.target as HdsFormCheckboxBaseSignature['Element'];\n this._isSelected = target.checked;\n const { onSelectionChange } = this.args;\n if (typeof onSelectionChange === 'function') {\n onSelectionChange(target, this.args.selectionKey);\n }\n }\n\n updateAriaLabel(event: Event): void {\n // Assert event.target as HTMLInputElement to access the 'checked' property\n const target = event.target as HdsFormCheckboxBaseSignature['Element'];\n this._isSelected = target.checked;\n }\n}\n"],"names":["HdsAdvancedTableThSelectable","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","guidFor","_guid","isSortable","onClickSortBySelected","undefined","ariaLabel","selectionAriaLabelSuffix","ariaSort","sortBySelectedOrder","HdsAdvancedTableThSortOrderValues","Asc","HdsAdvancedTableThSortOrderLabelValues","Desc","None","didInsertCheckbox","checkbox","didInsert","selectionKey","addEventListener","updateAriaLabel","bind","willDestroyNode","willDestroy","removeEventListener","onSelectionChange","event","target","_isSelected","checked","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","isSelected","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
1
+ {"version":3,"file":"th-selectable.js","sources":["../../../../src/components/hds/advanced-table/th-selectable.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport { tracked } from '@glimmer/tracking';\n\nimport {\n HdsAdvancedTableThSortOrderValues,\n HdsAdvancedTableThSortOrderLabelValues,\n} from './types.ts';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base';\nimport type {\n HdsAdvancedTableScope,\n HdsAdvancedTableThSortOrder,\n HdsAdvancedTableThSortOrderLabels,\n} from './types.ts';\nimport type { HdsAdvancedTableThSignature } from './th.ts';\n\nexport interface HdsAdvancedTableThSelectableSignature {\n Args: {\n didInsert?: (\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ) => void;\n isSelected?: boolean;\n onClickSortBySelected?: () => void;\n onSelectionChange?: (\n target: HdsFormCheckboxBaseSignature['Element'],\n selectionKey: string | undefined\n ) => void;\n selectionAriaLabelSuffix?: string;\n selectionKey?: string;\n selectionScope?: HdsAdvancedTableScope;\n sortBySelectedOrder?: HdsAdvancedTableThSortOrder;\n willDestroy?: (selectionKey?: string) => void;\n };\n Element: HdsAdvancedTableThSignature['Element'];\n}\n\nexport default class HdsAdvancedTableThSelectable extends Component<HdsAdvancedTableThSelectableSignature> {\n @tracked private _isSelected = this.args.isSelected ?? false;\n\n private _guid = guidFor(this);\n private _checkboxId = `checkbox-${this._guid}`;\n private _labelId = `label-${this._guid}`;\n\n get isSortable(): boolean {\n return this.args.onClickSortBySelected !== undefined;\n }\n\n get ariaLabel(): string {\n const { selectionAriaLabelSuffix = 'row' } = this.args;\n return `Select ${selectionAriaLabelSuffix}`;\n }\n\n get ariaSort(): HdsAdvancedTableThSortOrderLabels | undefined {\n switch (this.args.sortBySelectedOrder) {\n case HdsAdvancedTableThSortOrderValues.Asc:\n return HdsAdvancedTableThSortOrderLabelValues.Asc;\n case HdsAdvancedTableThSortOrderValues.Desc:\n return HdsAdvancedTableThSortOrderLabelValues.Desc;\n default:\n // none is the default per the spec.\n return HdsAdvancedTableThSortOrderLabelValues.None;\n }\n }\n\n @action\n didInsertCheckbox(checkbox: HdsFormCheckboxBaseSignature['Element']): void {\n const { didInsert } = this.args;\n if (typeof didInsert === 'function') {\n didInsert(checkbox, this.args.selectionKey);\n // we need to use a custom event listener here because changing the `checked` value via JS\n // (and this happens with the \"select all\") doesn't trigger the `change` event\n // and consequently the `aria-label` won't be automatically updated (and so we have to force it)\n checkbox.addEventListener(\n 'toggle',\n this.updateAriaLabel.bind(this),\n true\n );\n }\n }\n\n @action\n willDestroyNode(checkbox: HdsFormCheckboxBaseSignature['Element']): void {\n super.willDestroy();\n const { willDestroy } = this.args;\n if (typeof willDestroy === 'function') {\n willDestroy(this.args.selectionKey);\n if (checkbox) {\n checkbox.removeEventListener(\n 'toggle',\n this.updateAriaLabel.bind(this),\n true\n );\n }\n }\n }\n\n @action\n onSelectionChange(event: Event): void {\n // Assert event.target as HdsFormCheckboxBaseSignature['Element'] to access the 'checked' property\n const target = event.target as HdsFormCheckboxBaseSignature['Element'];\n this._isSelected = target.checked;\n const { onSelectionChange } = this.args;\n if (typeof onSelectionChange === 'function') {\n onSelectionChange(target, this.args.selectionKey);\n }\n }\n\n updateAriaLabel(event: Event): void {\n // Assert event.target as HTMLInputElement to access the 'checked' property\n const target = event.target as HdsFormCheckboxBaseSignature['Element'];\n this._isSelected = target.checked;\n }\n}\n"],"names":["HdsAdvancedTableThSelectable","Component","g","prototype","tracked","args","isSelected","i","void 0","_guid","guidFor","_checkboxId","_labelId","isSortable","onClickSortBySelected","undefined","ariaLabel","selectionAriaLabelSuffix","ariaSort","sortBySelectedOrder","HdsAdvancedTableThSortOrderValues","Asc","HdsAdvancedTableThSortOrderLabelValues","Desc","None","didInsertCheckbox","checkbox","didInsert","selectionKey","addEventListener","updateAriaLabel","bind","n","action","willDestroyNode","willDestroy","removeEventListener","onSelectionChange","event","target","_isSelected","checked","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1,28 +1,33 @@
1
- import { _ as _applyDecoratedDescriptor, a as _defineProperty, b as _initializerDefineProperty } from '../../../_rollupPluginBabelHelpers-C_TsMG3M.js';
2
1
  import Component from '@glimmer/component';
3
2
  import { guidFor } from '@ember/object/internals';
4
3
  import { assert } from '@ember/debug';
5
4
  import { action } from '@ember/object';
6
5
  import { tracked } from '@glimmer/tracking';
7
6
  import { focusable } from 'tabbable';
8
- import { HdsAdvancedTableHorizontalAlignmentValues, HdsAdvancedTableThSortOrderLabelValues, HdsAdvancedTableThSortOrderValues } from './types.js';
9
- import { onFocusTrapDeactivate, didInsertGridCell, handleGridCellKeyPress, updateTabbableChildren } from './helpers.js';
7
+ import { HdsAdvancedTableThSortOrderLabelValues, HdsAdvancedTableThSortOrderValues, HdsAdvancedTableHorizontalAlignmentValues } from './types.js';
8
+ import { onFocusTrapDeactivate } from '../../../modifiers/hds-advanced-table-cell/dom-management.js';
10
9
  import { precompileTemplate } from '@ember/template-compilation';
10
+ import { g, i, n } from 'decorator-transforms/runtime';
11
11
  import { setComponentTemplate } from '@ember/component';
12
12
 
13
- var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<div\n class={{this.classNames}}\n aria-sort={{this.ariaSort}}\n role=\"columnheader\"\n aria-rowspan={{@rowspan}}\n aria-colspan={{@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 <div class=\"hds-advanced-table__th-content\">\n <span id={{this._labelId}} class=\"hds-typography-body-200 hds-font-weight-semibold\">{{yield}}</span>\n {{#if @tooltip}}\n <Hds::AdvancedTable::ThButtonTooltip @tooltip={{@tooltip}} @labelId={{this._labelId}} />\n {{/if}}\n <Hds::AdvancedTable::ThButtonSort @sortOrder={{@sortOrder}} @onClick={{@onClickSort}} @labelId={{this._labelId}} />\n </div>\n</div>");
13
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<div\n class={{this.classNames}}\n aria-sort={{this.ariaSort}}\n role=\"columnheader\"\n aria-rowspan={{@rowspan}}\n aria-colspan={{@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 <div class=\"hds-advanced-table__th-content\">\n <span id={{this._labelId}} class=\"hds-typography-body-200 hds-font-weight-semibold\">{{yield}}</span>\n {{#if @tooltip}}\n <Hds::AdvancedTable::ThButtonTooltip @tooltip={{@tooltip}} @labelId={{this._labelId}} />\n {{/if}}\n <Hds::AdvancedTable::ThButtonSort @sortOrder={{@sortOrder}} @onClick={{@onClickSort}} @labelId={{this._labelId}} />\n </div>\n</div>");
14
+
15
+ /**
16
+ * Copyright (c) HashiCorp, Inc.
17
+ * SPDX-License-Identifier: MPL-2.0
18
+ */
14
19
 
15
- var _class, _descriptor;
16
20
  const ALIGNMENTS = Object.values(HdsAdvancedTableHorizontalAlignmentValues);
17
21
  const DEFAULT_ALIGN = HdsAdvancedTableHorizontalAlignmentValues.Left;
18
- let HdsAdvancedTableThSort = (_class = class HdsAdvancedTableThSort extends Component {
19
- constructor(...args) {
20
- super(...args);
21
- _defineProperty(this, "_labelId", guidFor(this));
22
- _defineProperty(this, "_element", undefined);
23
- _initializerDefineProperty(this, "_shouldTrapFocus", _descriptor, this);
24
- _defineProperty(this, "_observer", undefined);
22
+ class HdsAdvancedTableThSort extends Component {
23
+ _labelId = guidFor(this);
24
+ _element;
25
+ static {
26
+ g(this.prototype, "_shouldTrapFocus", [tracked], function () {
27
+ return false;
28
+ });
25
29
  }
30
+ #_shouldTrapFocus = (i(this, "_shouldTrapFocus"), undefined);
26
31
  get ariaSort() {
27
32
  switch (this.args.sortOrder) {
28
33
  case HdsAdvancedTableThSortOrderValues.Asc:
@@ -54,41 +59,29 @@ let HdsAdvancedTableThSort = (_class = class HdsAdvancedTableThSort extends Comp
54
59
  this._shouldTrapFocus = false;
55
60
  onFocusTrapDeactivate(this._element);
56
61
  }
62
+ static {
63
+ n(this.prototype, "onFocusTrapDeactivate", [action]);
64
+ }
57
65
  enableFocusTrap() {
58
66
  this._shouldTrapFocus = true;
59
67
  }
68
+ static {
69
+ n(this.prototype, "enableFocusTrap", [action]);
70
+ }
60
71
  getInitialFocus() {
61
72
  const cellFocusableElements = focusable(this._element);
62
73
  return cellFocusableElements[0];
63
74
  }
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
- });
75
+ static {
76
+ n(this.prototype, "getInitialFocus", [action]);
77
77
  }
78
- willDestroy() {
79
- super.willDestroy();
80
- if (this._observer) {
81
- this._observer.disconnect();
82
- }
78
+ setElement(element) {
79
+ this._element = element;
83
80
  }
84
- }, _descriptor = _applyDecoratedDescriptor(_class.prototype, "_shouldTrapFocus", [tracked], {
85
- configurable: true,
86
- enumerable: true,
87
- writable: true,
88
- initializer: function () {
89
- return false;
81
+ static {
82
+ n(this.prototype, "setElement", [action]);
90
83
  }
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);
84
+ }
92
85
  setComponentTemplate(TEMPLATE, HdsAdvancedTableThSort);
93
86
 
94
87
  export { ALIGNMENTS, DEFAULT_ALIGN, HdsAdvancedTableThSort as default };
@@ -1 +1 @@
1
- {"version":3,"file":"th-sort.js","sources":["../../../../src/components/hds/advanced-table/th-sort.hbs","../../../../src/components/hds/advanced-table/th-sort.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div\\n class={{this.classNames}}\\n aria-sort={{this.ariaSort}}\\n role=\\\"columnheader\\\"\\n aria-rowspan={{@rowspan}}\\n aria-colspan={{@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 <div class=\\\"hds-advanced-table__th-content\\\">\\n <span id={{this._labelId}} class=\\\"hds-typography-body-200 hds-font-weight-semibold\\\">{{yield}}</span>\\n {{#if @tooltip}}\\n <Hds::AdvancedTable::ThButtonTooltip @tooltip={{@tooltip}} @labelId={{this._labelId}} />\\n {{/if}}\\n <Hds::AdvancedTable::ThButtonSort @sortOrder={{@sortOrder}} @onClick={{@onClickSort}} @labelId={{this._labelId}} />\\n </div>\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { assert } from '@ember/debug';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { focusable, type FocusableElement } from 'tabbable';\n\nimport {\n HdsAdvancedTableHorizontalAlignmentValues,\n HdsAdvancedTableThSortOrderValues,\n HdsAdvancedTableThSortOrderLabelValues,\n} from './types.ts';\nimport type {\n HdsAdvancedTableHorizontalAlignment,\n HdsAdvancedTableThSortOrder,\n HdsAdvancedTableThSortOrderLabels,\n} from './types.ts';\nimport type { HdsAdvancedTableThButtonSortSignature } from './th-button-sort.ts';\nimport {\n didInsertGridCell,\n handleGridCellKeyPress,\n onFocusTrapDeactivate,\n updateTabbableChildren,\n} from './helpers.ts';\n\nexport const ALIGNMENTS: string[] = Object.values(\n HdsAdvancedTableHorizontalAlignmentValues\n);\nexport const DEFAULT_ALIGN = HdsAdvancedTableHorizontalAlignmentValues.Left;\n\nexport interface HdsAdvancedTableThSortSignature {\n Args: {\n align?: HdsAdvancedTableHorizontalAlignment;\n onClickSort?: HdsAdvancedTableThButtonSortSignature['Args']['onClick'];\n sortOrder?: HdsAdvancedTableThSortOrder;\n tooltip?: string;\n rowspan?: number;\n colspan?: number;\n };\n Blocks: {\n default?: [];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsAdvancedTableThSort extends Component<HdsAdvancedTableThSortSignature> {\n private _labelId = guidFor(this);\n private _element!: HTMLDivElement;\n @tracked private _shouldTrapFocus = false;\n private _observer: MutationObserver | undefined = undefined;\n\n get ariaSort(): HdsAdvancedTableThSortOrderLabels {\n switch (this.args.sortOrder) {\n case HdsAdvancedTableThSortOrderValues.Asc:\n return HdsAdvancedTableThSortOrderLabelValues.Asc;\n case HdsAdvancedTableThSortOrderValues.Desc:\n return HdsAdvancedTableThSortOrderLabelValues.Desc;\n default:\n // none is the default per the spec.\n return HdsAdvancedTableThSortOrderLabelValues.None;\n }\n }\n\n get align(): HdsAdvancedTableHorizontalAlignment {\n const { align = DEFAULT_ALIGN } = this.args;\n\n assert(\n `@align for \"Hds::Table\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${align}`,\n ALIGNMENTS.includes(align)\n );\n return align;\n }\n\n get classNames(): string {\n const classes = ['hds-advanced-table__th', 'hds-advanced-table__th--sort'];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-advanced-table__th--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","HdsAdvancedTableThSort","_class","Component","constructor","args","_defineProperty","guidFor","_initializerDefineProperty","_descriptor","undefined","ariaSort","sortOrder","HdsAdvancedTableThSortOrderValues","Asc","HdsAdvancedTableThSortOrderLabelValues","Desc","None","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":"th-sort.js","sources":["../../../../src/components/hds/advanced-table/th-sort.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { assert } from '@ember/debug';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { focusable, type FocusableElement } from 'tabbable';\n\nimport {\n HdsAdvancedTableHorizontalAlignmentValues,\n HdsAdvancedTableThSortOrderValues,\n HdsAdvancedTableThSortOrderLabelValues,\n} from './types.ts';\nimport type {\n HdsAdvancedTableHorizontalAlignment,\n HdsAdvancedTableThSortOrder,\n HdsAdvancedTableThSortOrderLabels,\n} from './types.ts';\nimport type { HdsAdvancedTableThButtonSortSignature } from './th-button-sort.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 HdsAdvancedTableThSortSignature {\n Args: {\n align?: HdsAdvancedTableHorizontalAlignment;\n onClickSort?: HdsAdvancedTableThButtonSortSignature['Args']['onClick'];\n sortOrder?: HdsAdvancedTableThSortOrder;\n tooltip?: string;\n rowspan?: number;\n colspan?: number;\n };\n Blocks: {\n default?: [];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsAdvancedTableThSort extends Component<HdsAdvancedTableThSortSignature> {\n private _labelId = guidFor(this);\n private _element!: HTMLDivElement;\n @tracked private _shouldTrapFocus = false;\n\n get ariaSort(): HdsAdvancedTableThSortOrderLabels {\n switch (this.args.sortOrder) {\n case HdsAdvancedTableThSortOrderValues.Asc:\n return HdsAdvancedTableThSortOrderLabelValues.Asc;\n case HdsAdvancedTableThSortOrderValues.Desc:\n return HdsAdvancedTableThSortOrderLabelValues.Desc;\n default:\n // none is the default per the spec.\n return HdsAdvancedTableThSortOrderLabelValues.None;\n }\n }\n\n get align(): HdsAdvancedTableHorizontalAlignment {\n const { align = DEFAULT_ALIGN } = this.args;\n\n assert(\n `@align for \"Hds::Table\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${align}`,\n ALIGNMENTS.includes(align)\n );\n return align;\n }\n\n get classNames(): string {\n const classes = ['hds-advanced-table__th', 'hds-advanced-table__th--sort'];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-advanced-table__th--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","HdsAdvancedTableThSort","Component","_labelId","guidFor","_element","g","prototype","tracked","i","void 0","ariaSort","args","sortOrder","HdsAdvancedTableThSortOrderValues","Asc","HdsAdvancedTableThSortOrderLabelValues","Desc","None","align","assert","join","includes","classNames","classes","push","onFocusTrapDeactivate","_shouldTrapFocus","n","action","enableFocusTrap","getInitialFocus","cellFocusableElements","focusable","setElement","element","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;;AAsBO,MAAMA,UAAoB,GAAGC,MAAM,CAACC,MAAM,CAC/CC,yCACF;AACaC,MAAAA,aAAa,GAAGD,yCAAyC,CAACE;AAiBxD,MAAMC,sBAAsB,SAASC,SAAS,CAAkC;AACrFC,EAAAA,QAAQ,GAAGC,OAAO,CAAC,IAAI,CAAC;EACxBC,QAAQ;AAAkB,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,kBAAA,EAAA,CACjCC,OAAO,CAAA,EAAA,YAAA;AAAA,MAAA,OAA4B,KAAK;AAAA,KAAA,CAAA;AAAA;AAAA,EAAA,iBAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,kBAAA,CAAA,EAAAC,SAAA;EAEzC,IAAIC,QAAQA,GAAsC;AAChD,IAAA,QAAQ,IAAI,CAACC,IAAI,CAACC,SAAS;MACzB,KAAKC,iCAAiC,CAACC,GAAG;QACxC,OAAOC,sCAAsC,CAACD,GAAG;MACnD,KAAKD,iCAAiC,CAACG,IAAI;QACzC,OAAOD,sCAAsC,CAACC,IAAI;AACpD,MAAA;AACE;QACA,OAAOD,sCAAsC,CAACE,IAAI;AACtD;AACF;EAEA,IAAIC,KAAKA,GAAwC;IAC/C,MAAM;AAAEA,MAAAA,KAAK,GAAGpB;KAAe,GAAG,IAAI,CAACa,IAAI;AAE3CQ,IAAAA,MAAM,CACJ,CAAyDzB,sDAAAA,EAAAA,UAAU,CAAC0B,IAAI,CACtE,IACF,CAAC,CAAA,YAAA,EAAeF,KAAK,CAAA,CAAE,EACvBxB,UAAU,CAAC2B,QAAQ,CAACH,KAAK,CAC3B,CAAC;AACD,IAAA,OAAOA,KAAK;AACd;EAEA,IAAII,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,wBAAwB,EAAE,8BAA8B,CAAC;;AAE1E;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,CAACrB,QAAQ,CAAC;AACtC;AAAC,EAAA;IAAAuB,CAAA,CAAA,IAAA,CAAArB,SAAA,EAAA,uBAAA,EAAA,CAHAsB,MAAM,CAAA,CAAA;AAAA;AAKCC,EAAAA,eAAeA,GAAS;IAC9B,IAAI,CAACH,gBAAgB,GAAG,IAAI;AAC9B;AAAC,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAArB,SAAA,EAAA,iBAAA,EAAA,CAFAsB,MAAM,CAAA,CAAA;AAAA;AAICE,EAAAA,eAAeA,GAAiC;AACtD,IAAA,MAAMC,qBAAqB,GAAGC,SAAS,CAAC,IAAI,CAAC5B,QAAQ,CAAC;IACtD,OAAO2B,qBAAqB,CAAC,CAAC,CAAC;AACjC;AAAC,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAArB,SAAA,EAAA,iBAAA,EAAA,CAHAsB,MAAM,CAAA,CAAA;AAAA;EAKCK,UAAUA,CAACC,OAAuB,EAAQ;IAChD,IAAI,CAAC9B,QAAQ,GAAG8B,OAAO;AACzB;AAAC,EAAA;IAAAP,CAAA,CAAA,IAAA,CAAArB,SAAA,EAAA,YAAA,EAAA,CAFAsB,MAAM,CAAA,CAAA;AAAA;AAGT;AAACO,oBAAA,CAAAC,QAAA,EAzDoBpC,sBAAsB,CAAA;;;;"}
@@ -1,4 +1,3 @@
1
- import { _ as _applyDecoratedDescriptor, a as _defineProperty, b as _initializerDefineProperty } from '../../../_rollupPluginBabelHelpers-C_TsMG3M.js';
2
1
  import Component from '@glimmer/component';
3
2
  import { guidFor } from '@ember/object/internals';
4
3
  import { assert } from '@ember/debug';
@@ -6,23 +5,29 @@ import { action } from '@ember/object';
6
5
  import { tracked } from '@glimmer/tracking';
7
6
  import { focusable } from 'tabbable';
8
7
  import { HdsAdvancedTableHorizontalAlignmentValues } from './types.js';
9
- import { onFocusTrapDeactivate, didInsertGridCell, handleGridCellKeyPress, updateTabbableChildren } from './helpers.js';
8
+ import { onFocusTrapDeactivate } from '../../../modifiers/hds-advanced-table-cell/dom-management.js';
10
9
  import { precompileTemplate } from '@ember/template-compilation';
10
+ import { g, i, n } from 'decorator-transforms/runtime';
11
11
  import { setComponentTemplate } from '@ember/component';
12
12
 
13
- var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<div\n class={{this.classNames}}\n role={{this.role}}\n aria-rowspan={{@rowspan}}\n aria-colspan={{@colspan}}\n aria-describedby={{@parentId}}\n {{style grid-row=this.rowspan grid-column=this.colspan padding-left=this.paddingLeft}}\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 {{#if @isVisuallyHidden}}\n <span class=\"sr-only\">{{yield}}</span>\n {{else}}\n {{#if @tooltip}}\n <div class=\"hds-advanced-table__th-content\">\n {{#if @isExpandable}}\n <Hds::AdvancedTable::ThButtonExpand\n @labelId={{this._labelId}}\n @onToggle={{@onClickToggle}}\n @isExpanded={{@isExpanded}}\n />\n {{/if}}\n <span id={{this._labelId}} class=\"hds-typography-body-200 hds-font-weight-semibold\">{{yield}}</span>\n <Hds::AdvancedTable::ThButtonTooltip @tooltip={{@tooltip}} @labelId={{this._labelId}} />\n </div>\n {{else}}\n <div class=\"hds-advanced-table__th-content\">\n {{#if @isExpandable}}\n <Hds::AdvancedTable::ThButtonExpand\n @labelId={{this._labelId}}\n @onToggle={{@onClickToggle}}\n @isExpanded={{@isExpanded}}\n />\n {{/if}}\n <span class=\"hds-typography-body-200 hds-font-weight-semibold\" id={{this._labelId}}>{{yield}}</span>\n </div>\n {{/if}}\n {{/if}}\n</div>");
13
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<div\n class={{this.classNames}}\n role={{this.role}}\n aria-rowspan={{@rowspan}}\n aria-colspan={{@colspan}}\n aria-describedby={{@parentId}}\n {{style grid-row=this.rowspan grid-column=this.colspan padding-left=this.paddingLeft}}\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 {{#if @isVisuallyHidden}}\n <span class=\"sr-only\">{{yield}}</span>\n {{else}}\n {{#if @tooltip}}\n <div class=\"hds-advanced-table__th-content\">\n {{#if @isExpandable}}\n <Hds::AdvancedTable::ThButtonExpand\n @labelId={{this._labelId}}\n @onToggle={{@onClickToggle}}\n @isExpanded={{@isExpanded}}\n />\n {{/if}}\n <span id={{this._labelId}} class=\"hds-typography-body-200 hds-font-weight-semibold\">{{yield}}</span>\n <Hds::AdvancedTable::ThButtonTooltip @tooltip={{@tooltip}} @labelId={{this._labelId}} />\n </div>\n {{else}}\n <div class=\"hds-advanced-table__th-content\">\n {{#if @isExpandable}}\n <Hds::AdvancedTable::ThButtonExpand\n @labelId={{this._labelId}}\n @onToggle={{@onClickToggle}}\n @isExpanded={{@isExpanded}}\n />\n {{/if}}\n <span class=\"hds-typography-body-200 hds-font-weight-semibold\" id={{this._labelId}}>{{yield}}</span>\n </div>\n {{/if}}\n {{/if}}\n</div>");
14
+
15
+ /**
16
+ * Copyright (c) HashiCorp, Inc.
17
+ * SPDX-License-Identifier: MPL-2.0
18
+ */
14
19
 
15
- var _class, _descriptor;
16
20
  const ALIGNMENTS = Object.values(HdsAdvancedTableHorizontalAlignmentValues);
17
21
  const DEFAULT_ALIGN = HdsAdvancedTableHorizontalAlignmentValues.Left;
18
- let HdsAdvancedTableTh = (_class = class HdsAdvancedTableTh extends Component {
19
- constructor(...args) {
20
- super(...args);
21
- _defineProperty(this, "_labelId", this.args.newLabel ? this.args.newLabel : guidFor(this));
22
- _defineProperty(this, "_element", undefined);
23
- _initializerDefineProperty(this, "_shouldTrapFocus", _descriptor, this);
24
- _defineProperty(this, "_observer", undefined);
22
+ class HdsAdvancedTableTh extends Component {
23
+ _labelId = this.args.newLabel ? this.args.newLabel : guidFor(this);
24
+ _element;
25
+ static {
26
+ g(this.prototype, "_shouldTrapFocus", [tracked], function () {
27
+ return false;
28
+ });
25
29
  }
30
+ #_shouldTrapFocus = (i(this, "_shouldTrapFocus"), undefined);
26
31
  get scope() {
27
32
  const {
28
33
  scope = 'col'
@@ -71,41 +76,29 @@ let HdsAdvancedTableTh = (_class = class HdsAdvancedTableTh extends Component {
71
76
  this._shouldTrapFocus = false;
72
77
  onFocusTrapDeactivate(this._element);
73
78
  }
79
+ static {
80
+ n(this.prototype, "onFocusTrapDeactivate", [action]);
81
+ }
74
82
  enableFocusTrap() {
75
83
  this._shouldTrapFocus = true;
76
84
  }
85
+ static {
86
+ n(this.prototype, "enableFocusTrap", [action]);
87
+ }
77
88
  getInitialFocus() {
78
89
  const cellFocusableElements = focusable(this._element);
79
90
  return cellFocusableElements[0];
80
91
  }
81
- didInsert(element) {
82
- this._element = element;
83
- didInsertGridCell(element);
84
- element.addEventListener('keydown', event => {
85
- handleGridCellKeyPress(event, this.enableFocusTrap);
86
- });
87
- this._observer = new MutationObserver(() => {
88
- updateTabbableChildren(this._element, this._shouldTrapFocus);
89
- });
90
- this._observer.observe(this._element, {
91
- childList: true,
92
- subtree: true
93
- });
92
+ static {
93
+ n(this.prototype, "getInitialFocus", [action]);
94
94
  }
95
- willDestroy() {
96
- super.willDestroy();
97
- if (this._observer) {
98
- this._observer.disconnect();
99
- }
95
+ setElement(element) {
96
+ this._element = element;
100
97
  }
101
- }, _descriptor = _applyDecoratedDescriptor(_class.prototype, "_shouldTrapFocus", [tracked], {
102
- configurable: true,
103
- enumerable: true,
104
- writable: true,
105
- initializer: function () {
106
- return false;
98
+ static {
99
+ n(this.prototype, "setElement", [action]);
107
100
  }
108
- }), _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);
101
+ }
109
102
  setComponentTemplate(TEMPLATE, HdsAdvancedTableTh);
110
103
 
111
104
  export { ALIGNMENTS, DEFAULT_ALIGN, HdsAdvancedTableTh as default };
@@ -1 +1 @@
1
- {"version":3,"file":"th.js","sources":["../../../../src/components/hds/advanced-table/th.hbs","../../../../src/components/hds/advanced-table/th.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div\\n class={{this.classNames}}\\n role={{this.role}}\\n aria-rowspan={{@rowspan}}\\n aria-colspan={{@colspan}}\\n aria-describedby={{@parentId}}\\n {{style grid-row=this.rowspan grid-column=this.colspan padding-left=this.paddingLeft}}\\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 {{#if @isVisuallyHidden}}\\n <span class=\\\"sr-only\\\">{{yield}}</span>\\n {{else}}\\n {{#if @tooltip}}\\n <div class=\\\"hds-advanced-table__th-content\\\">\\n {{#if @isExpandable}}\\n <Hds::AdvancedTable::ThButtonExpand\\n @labelId={{this._labelId}}\\n @onToggle={{@onClickToggle}}\\n @isExpanded={{@isExpanded}}\\n />\\n {{/if}}\\n <span id={{this._labelId}} class=\\\"hds-typography-body-200 hds-font-weight-semibold\\\">{{yield}}</span>\\n <Hds::AdvancedTable::ThButtonTooltip @tooltip={{@tooltip}} @labelId={{this._labelId}} />\\n </div>\\n {{else}}\\n <div class=\\\"hds-advanced-table__th-content\\\">\\n {{#if @isExpandable}}\\n <Hds::AdvancedTable::ThButtonExpand\\n @labelId={{this._labelId}}\\n @onToggle={{@onClickToggle}}\\n @isExpanded={{@isExpanded}}\\n />\\n {{/if}}\\n <span class=\\\"hds-typography-body-200 hds-font-weight-semibold\\\" id={{this._labelId}}>{{yield}}</span>\\n </div>\\n {{/if}}\\n {{/if}}\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { assert } from '@ember/debug';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { focusable, type FocusableElement } from 'tabbable';\n\nimport type {\n HdsAdvancedTableHorizontalAlignment,\n HdsAdvancedTableScope,\n} from './types.ts';\nimport { HdsAdvancedTableHorizontalAlignmentValues } from './types.ts';\nimport {\n didInsertGridCell,\n handleGridCellKeyPress,\n onFocusTrapDeactivate,\n updateTabbableChildren,\n} from './helpers.ts';\n\nexport const ALIGNMENTS: string[] = Object.values(\n HdsAdvancedTableHorizontalAlignmentValues\n);\nexport const DEFAULT_ALIGN = HdsAdvancedTableHorizontalAlignmentValues.Left;\n\nexport interface HdsAdvancedTableThSignature {\n Args: {\n align?: HdsAdvancedTableHorizontalAlignment;\n isVisuallyHidden?: boolean;\n scope?: HdsAdvancedTableScope;\n tooltip?: string;\n rowspan?: number;\n colspan?: number;\n newLabel?: string;\n isExpandable?: boolean;\n parentId?: string;\n onClickToggle?: () => void;\n isExpanded?: boolean;\n depth?: number;\n };\n Blocks: {\n default?: [];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsAdvancedTableTh extends Component<HdsAdvancedTableThSignature> {\n private _labelId = this.args.newLabel ? this.args.newLabel : guidFor(this);\n private _element!: HTMLDivElement;\n @tracked private _shouldTrapFocus = false;\n private _observer: MutationObserver | undefined = undefined;\n\n get scope(): HdsAdvancedTableScope {\n const { scope = 'col' } = this.args;\n return scope;\n }\n\n get role(): string {\n if (this.scope === 'col') return 'columnheader';\n else return 'rowheader';\n }\n\n get align(): HdsAdvancedTableHorizontalAlignment {\n const { align = DEFAULT_ALIGN } = this.args;\n\n assert(\n `@align for \"Hds::Table::Th\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${align}`,\n ALIGNMENTS.includes(align)\n );\n return align;\n }\n\n // 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 paddingLeft(): string | undefined {\n if (this.args.depth) {\n return `calc(${this.args.depth} * 32px + 16px)`;\n }\n }\n\n get classNames(): string {\n const classes = ['hds-advanced-table__th'];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-advanced-table__th--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","HdsAdvancedTableTh","_class","Component","constructor","args","_defineProperty","newLabel","guidFor","_initializerDefineProperty","_descriptor","undefined","scope","role","align","assert","join","includes","rowspan","colspan","paddingLeft","depth","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":"th.js","sources":["../../../../src/components/hds/advanced-table/th.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { assert } from '@ember/debug';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { focusable, type FocusableElement } from 'tabbable';\n\nimport type {\n HdsAdvancedTableHorizontalAlignment,\n HdsAdvancedTableScope,\n} 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 HdsAdvancedTableThSignature {\n Args: {\n align?: HdsAdvancedTableHorizontalAlignment;\n isVisuallyHidden?: boolean;\n scope?: HdsAdvancedTableScope;\n tooltip?: string;\n rowspan?: number;\n colspan?: number;\n newLabel?: string;\n isExpandable?: boolean;\n parentId?: string;\n onClickToggle?: () => void;\n isExpanded?: boolean;\n depth?: number;\n };\n Blocks: {\n default?: [];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsAdvancedTableTh extends Component<HdsAdvancedTableThSignature> {\n private _labelId = this.args.newLabel ? this.args.newLabel : guidFor(this);\n private _element!: HTMLDivElement;\n @tracked private _shouldTrapFocus = false;\n\n get scope(): HdsAdvancedTableScope {\n const { scope = 'col' } = this.args;\n return scope;\n }\n\n get role(): string {\n if (this.scope === 'col') return 'columnheader';\n else return 'rowheader';\n }\n\n get align(): HdsAdvancedTableHorizontalAlignment {\n const { align = DEFAULT_ALIGN } = this.args;\n\n assert(\n `@align for \"Hds::Table::Th\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${align}`,\n ALIGNMENTS.includes(align)\n );\n return align;\n }\n\n // 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 paddingLeft(): string | undefined {\n if (this.args.depth) {\n return `calc(${this.args.depth} * 32px + 16px)`;\n }\n }\n\n get classNames(): string {\n const classes = ['hds-advanced-table__th'];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-advanced-table__th--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","HdsAdvancedTableTh","Component","_labelId","args","newLabel","guidFor","_element","g","prototype","tracked","i","void 0","scope","role","align","assert","join","includes","rowspan","colspan","paddingLeft","depth","classNames","classes","push","onFocusTrapDeactivate","_shouldTrapFocus","n","action","enableFocusTrap","getInitialFocus","cellFocusableElements","focusable","setElement","element","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tr.js","sources":["../../../../src/components/hds/advanced-table/tr.hbs","../../../../src/components/hds/advanced-table/tr.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<div class={{this.classNames}} role=\\\"row\\\" ...attributes>\\n {{#if @isSelectable}}\\n <Hds::AdvancedTable::ThSelectable\\n @isSelected={{@isSelected}}\\n @selectionScope={{@selectionScope}}\\n @selectionKey={{this.selectionKey}}\\n @selectionAriaLabelSuffix={{@selectionAriaLabelSuffix}}\\n @sortBySelectedOrder={{@sortBySelectedOrder}}\\n @didInsert={{@didInsert}}\\n @willDestroy={{@willDestroy}}\\n @onClickSortBySelected={{@onClickSortBySelected}}\\n @onSelectionChange={{@onSelectionChange}}\\n />\\n {{/if}}\\n\\n {{yield}}\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport { HdsAdvancedTableScopeValues } from './types.ts';\nimport type {\n HdsAdvancedTableScope,\n HdsAdvancedTableThSortOrder,\n} from './types.ts';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base.ts';\nimport type { HdsAdvancedTableSignature } from './index.ts';\nimport type { HdsAdvancedTableThSelectableSignature } from './th-selectable.ts';\n\nexport interface BaseHdsAdvancedTableTrSignature {\n Args: {\n selectableColumnKey?: HdsAdvancedTableSignature['Args']['selectableColumnKey'];\n isSelectable?: boolean;\n isSelected?: false;\n isParentRow?: boolean;\n selectionAriaLabelSuffix?: string;\n selectionKey?: string;\n selectionScope?: HdsAdvancedTableScope;\n sortBySelectedOrder?: HdsAdvancedTableThSortOrder;\n depth?: number;\n didInsert?: (\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ) => void;\n onSelectionChange?: (\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ) => void;\n willDestroy?: () => void;\n onClickSortBySelected?: HdsAdvancedTableThSelectableSignature['Args']['onClickSortBySelected'];\n };\n Blocks: {\n default?: [];\n };\n Element: HTMLDivElement;\n}\n\n// Extended interface for selectable rows\nexport interface SelectableHdsAdvancedTableTrArgs\n extends BaseHdsAdvancedTableTrSignature {\n Args: BaseHdsAdvancedTableTrSignature['Args'] & {\n isSelectable: true;\n selectionScope?: HdsAdvancedTableScopeValues.Row;\n selectionKey: string; // Now required for selectable rows\n };\n}\n\n// Union type to combine both possible states\nexport type HdsAdvancedTableTrSignature =\n | BaseHdsAdvancedTableTrSignature\n | SelectableHdsAdvancedTableTrArgs;\nexport default class HdsAdvancedTableTr extends Component<HdsAdvancedTableTrSignature> {\n get selectionKey(): string | undefined {\n if (this.args.isSelectable && this.args.selectionScope === 'row') {\n assert(\n `@selectionKey must be defined on Table::Tr or B.Tr when @isSelectable is true`,\n this.args.selectionKey\n );\n return this.args.selectionKey;\n }\n return undefined;\n }\n\n get classNames(): string {\n const { depth, isParentRow } = this.args;\n const classes = ['hds-advanced-table__tr'];\n\n if (depth && depth > 0) {\n classes.push('hds-advanced-table__tr--nested');\n }\n\n if (isParentRow) {\n classes.push('hds-advanced-table__tr--parent-row');\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["HdsAdvancedTableTr","Component","selectionKey","args","isSelectable","selectionScope","assert","undefined","classNames","depth","isParentRow","classes","push","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;;AACA,eAAe,kBAAkB,CAAC,mpBAAmpB;;ACDrrB;AACA;AACA;AACA;;AAwDe,MAAMA,kBAAkB,SAASC,SAAS,CAA8B;EACrF,IAAIC,YAAYA,GAAuB;AACrC,IAAA,IAAI,IAAI,CAACC,IAAI,CAACC,YAAY,IAAI,IAAI,CAACD,IAAI,CAACE,cAAc,KAAK,KAAK,EAAE;MAChEC,MAAM,CACJ,+EAA+E,EAC/E,IAAI,CAACH,IAAI,CAACD,YACZ,CAAC;AACD,MAAA,OAAO,IAAI,CAACC,IAAI,CAACD,YAAY;AAC/B;AACA,IAAA,OAAOK,SAAS;AAClB;EAEA,IAAIC,UAAUA,GAAW;IACvB,MAAM;MAAEC,KAAK;AAAEC,MAAAA;KAAa,GAAG,IAAI,CAACP,IAAI;AACxC,IAAA,MAAMQ,OAAO,GAAG,CAAC,wBAAwB,CAAC;AAE1C,IAAA,IAAIF,KAAK,IAAIA,KAAK,GAAG,CAAC,EAAE;AACtBE,MAAAA,OAAO,CAACC,IAAI,CAAC,gCAAgC,CAAC;AAChD;AAEA,IAAA,IAAIF,WAAW,EAAE;AACfC,MAAAA,OAAO,CAACC,IAAI,CAAC,oCAAoC,CAAC;AACpD;AAEA,IAAA,OAAOD,OAAO,CAACE,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACC,oBAAA,CAAAC,QAAA,EA1BoBf,kBAAkB,CAAA;;;;"}
1
+ {"version":3,"file":"tr.js","sources":["../../../../src/components/hds/advanced-table/tr.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport { HdsAdvancedTableScopeValues } from './types.ts';\nimport type {\n HdsAdvancedTableScope,\n HdsAdvancedTableThSortOrder,\n} from './types.ts';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base.ts';\nimport type { HdsAdvancedTableSignature } from './index.ts';\nimport type { HdsAdvancedTableThSelectableSignature } from './th-selectable.ts';\n\nexport interface BaseHdsAdvancedTableTrSignature {\n Args: {\n selectableColumnKey?: HdsAdvancedTableSignature['Args']['selectableColumnKey'];\n isSelectable?: boolean;\n isSelected?: false;\n isParentRow?: boolean;\n selectionAriaLabelSuffix?: string;\n selectionKey?: string;\n selectionScope?: HdsAdvancedTableScope;\n sortBySelectedOrder?: HdsAdvancedTableThSortOrder;\n depth?: number;\n didInsert?: (\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ) => void;\n onSelectionChange?: (\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ) => void;\n willDestroy?: () => void;\n onClickSortBySelected?: HdsAdvancedTableThSelectableSignature['Args']['onClickSortBySelected'];\n };\n Blocks: {\n default?: [];\n };\n Element: HTMLDivElement;\n}\n\n// Extended interface for selectable rows\nexport interface SelectableHdsAdvancedTableTrArgs\n extends BaseHdsAdvancedTableTrSignature {\n Args: BaseHdsAdvancedTableTrSignature['Args'] & {\n isSelectable: true;\n selectionScope?: HdsAdvancedTableScopeValues.Row;\n selectionKey: string; // Now required for selectable rows\n };\n}\n\n// Union type to combine both possible states\nexport type HdsAdvancedTableTrSignature =\n | BaseHdsAdvancedTableTrSignature\n | SelectableHdsAdvancedTableTrArgs;\nexport default class HdsAdvancedTableTr extends Component<HdsAdvancedTableTrSignature> {\n get selectionKey(): string | undefined {\n if (this.args.isSelectable && this.args.selectionScope === 'row') {\n assert(\n `@selectionKey must be defined on Table::Tr or B.Tr when @isSelectable is true`,\n this.args.selectionKey\n );\n return this.args.selectionKey;\n }\n return undefined;\n }\n\n get classNames(): string {\n const { depth, isParentRow } = this.args;\n const classes = ['hds-advanced-table__tr'];\n\n if (depth && depth > 0) {\n classes.push('hds-advanced-table__tr--nested');\n }\n\n if (isParentRow) {\n classes.push('hds-advanced-table__tr--parent-row');\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["HdsAdvancedTableTr","Component","selectionKey","args","isSelectable","selectionScope","assert","undefined","classNames","depth","isParentRow","classes","push","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;;AAwDe,MAAMA,kBAAkB,SAASC,SAAS,CAA8B;EACrF,IAAIC,YAAYA,GAAuB;AACrC,IAAA,IAAI,IAAI,CAACC,IAAI,CAACC,YAAY,IAAI,IAAI,CAACD,IAAI,CAACE,cAAc,KAAK,KAAK,EAAE;MAChEC,MAAM,CACJ,+EAA+E,EAC/E,IAAI,CAACH,IAAI,CAACD,YACZ,CAAC;AACD,MAAA,OAAO,IAAI,CAACC,IAAI,CAACD,YAAY;AAC/B;AACA,IAAA,OAAOK,SAAS;AAClB;EAEA,IAAIC,UAAUA,GAAW;IACvB,MAAM;MAAEC,KAAK;AAAEC,MAAAA;KAAa,GAAG,IAAI,CAACP,IAAI;AACxC,IAAA,MAAMQ,OAAO,GAAG,CAAC,wBAAwB,CAAC;AAE1C,IAAA,IAAIF,KAAK,IAAIA,KAAK,GAAG,CAAC,EAAE;AACtBE,MAAAA,OAAO,CAACC,IAAI,CAAC,gCAAgC,CAAC;AAChD;AAEA,IAAA,IAAIF,WAAW,EAAE;AACfC,MAAAA,OAAO,CAACC,IAAI,CAAC,oCAAoC,CAAC;AACpD;AAEA,IAAA,OAAOD,OAAO,CAACE,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACC,oBAAA,CAAAC,QAAA,EA1BoBf,kBAAkB,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"description.js","sources":["../../../../src/components/hds/alert/description.hbs","../../../../src/components/hds/alert/description.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class=\\\"hds-alert__description hds-font-weight-regular hds-foreground-primary\\\" ...attributes>{{yield}}</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nexport interface HdsAlertDescriptionSignature {\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\n\nconst HdsAlertDescription =\n TemplateOnlyComponent<HdsAlertDescriptionSignature>();\n\nexport default HdsAlertDescription;\n"],"names":["HdsAlertDescription","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,kMAAkM;;ACDpO;AACA;AACA;AACA;;AAWA,MAAMA,mBAAmB,GACvBC,qBAAqB,EAAgC;AAEvD,kBAAAC,oBAAA,CAAAC,QAAA,EAAeH,mBAAmB,CAAA;;;;"}
1
+ {"version":3,"file":"description.js","sources":["../../../../src/components/hds/alert/description.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nexport interface HdsAlertDescriptionSignature {\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\n\nconst HdsAlertDescription =\n TemplateOnlyComponent<HdsAlertDescriptionSignature>();\n\nexport default HdsAlertDescription;\n"],"names":["HdsAlertDescription","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;;AAWA,MAAMA,mBAAmB,GACvBC,qBAAqB,EAAgC;AAEvD,kBAAAC,oBAAA,CAAAC,QAAA,EAAeH,mBAAmB,CAAA;;;;"}
@@ -1,4 +1,3 @@
1
- import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty } from '../../../_rollupPluginBabelHelpers-C_TsMG3M.js';
2
1
  import Component from '@glimmer/component';
3
2
  import { action } from '@ember/object';
4
3
  import { assert } from '@ember/debug';
@@ -6,11 +5,16 @@ import { guidFor } from '@ember/object/internals';
6
5
  import { tracked } from '@glimmer/tracking';
7
6
  import { HdsAlertTypeValues, HdsAlertColorValues } from './types.js';
8
7
  import { precompileTemplate } from '@ember/template-compilation';
8
+ import { g, i, n } from 'decorator-transforms/runtime';
9
9
  import { setComponentTemplate } from '@ember/component';
10
10
 
11
11
  var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<div\n class={{this.classNames}}\n role={{this._role}}\n aria-live={{if this._role \"polite\"}}\n aria-labelledby={{this._ariaLabelledBy}}\n {{did-insert this.didInsert}}\n ...attributes\n>\n {{#if this.icon}}\n <div class=\"hds-alert__icon\">\n <Hds::Icon @name={{this.icon}} @size={{this.iconSize}} @stretched={{true}} />\n </div>\n {{/if}}\n\n <div class=\"hds-alert__content\">\n <div class=\"hds-alert__text {{if (eq @type \'compact\') \'hds-typography-body-100\' \'hds-typography-body-200\'}}\">\n {{yield (hash Title=(component \"hds/alert/title\"))}}\n {{yield (hash Description=(component \"hds/alert/description\"))}}\n </div>\n\n <div class=\"hds-alert__actions\">\n {{yield\n (hash\n Button=(component \"hds/button\" size=\"small\") LinkStandalone=(component \"hds/link/standalone\" size=\"small\")\n )\n }}\n </div>\n {{yield (hash Generic=(component \"hds/yield\"))}}\n </div>\n\n {{#if this.onDismiss}}\n <Hds::DismissButton class=\"hds-alert__dismiss\" {{on \"click\" this.onDismiss}} />\n {{/if}}\n</div>");
12
12
 
13
- var _class, _descriptor, _descriptor2;
13
+ /**
14
+ * Copyright (c) HashiCorp, Inc.
15
+ * SPDX-License-Identifier: MPL-2.0
16
+ */
17
+
14
18
  const TYPES = Object.values(HdsAlertTypeValues);
15
19
  const DEFAULT_COLOR = HdsAlertColorValues.Neutral;
16
20
  const COLORS = Object.values(HdsAlertColorValues);
@@ -24,11 +28,17 @@ const MAPPING_COLORS_TO_ICONS = {
24
28
  const CONTENT_ELEMENT_SELECTOR = '.hds-alert__content';
25
29
  const TITLE_ELEMENT_SELECTOR = '.hds-alert__title';
26
30
  const DESCRIPTION_ELEMENT_SELECTOR = '.hds-alert__description';
27
- let HdsAlert = (_class = class HdsAlert extends Component {
31
+ class HdsAlert extends Component {
32
+ static {
33
+ g(this.prototype, "_role", [tracked]);
34
+ }
35
+ #_role = (i(this, "_role"), undefined);
36
+ static {
37
+ g(this.prototype, "_ariaLabelledBy", [tracked]);
38
+ }
39
+ #_ariaLabelledBy = (i(this, "_ariaLabelledBy"), undefined);
28
40
  constructor(owner, args) {
29
41
  super(owner, args);
30
- _initializerDefineProperty(this, "_role", _descriptor, this);
31
- _initializerDefineProperty(this, "_ariaLabelledBy", _descriptor2, this);
32
42
  assert(`@type for "Hds::Alert" must be one of the following: ${TYPES.join(', ')}; received: ${this.args.type}`, TYPES.includes(this.args.type));
33
43
  }
34
44
 
@@ -116,17 +126,10 @@ let HdsAlert = (_class = class HdsAlert extends Component {
116
126
  this._ariaLabelledBy = labelId;
117
127
  }
118
128
  }
119
- }, _descriptor = _applyDecoratedDescriptor(_class.prototype, "_role", [tracked], {
120
- configurable: true,
121
- enumerable: true,
122
- writable: true,
123
- initializer: null
124
- }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, "_ariaLabelledBy", [tracked], {
125
- configurable: true,
126
- enumerable: true,
127
- writable: true,
128
- initializer: null
129
- }), _applyDecoratedDescriptor(_class.prototype, "didInsert", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsert"), _class.prototype), _class);
129
+ static {
130
+ n(this.prototype, "didInsert", [action]);
131
+ }
132
+ }
130
133
  setComponentTemplate(TEMPLATE, HdsAlert);
131
134
 
132
135
  export { COLORS, DEFAULT_COLOR, MAPPING_COLORS_TO_ICONS, TYPES, HdsAlert as default };