@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,36 +1,53 @@
1
- import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty, a as _defineProperty } from '../../../../_rollupPluginBabelHelpers-C_TsMG3M.js';
2
1
  import Component from '@glimmer/component';
3
2
  import { inject } from '@ember/service';
4
3
  import { tracked } from '@glimmer/tracking';
5
4
  import { action } from '@ember/object';
6
- import { DEBUG } from '@glimmer/env';
7
5
  import { macroCondition, isTesting } from '@embroider/macros';
8
6
  import { precompileTemplate } from '@ember/template-compilation';
7
+ import { g, i, n } from 'decorator-transforms/runtime';
9
8
  import { setComponentTemplate } from '@ember/component';
10
9
 
11
10
  var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<div class=\"hds-side-nav__content\" ...attributes>\n <PortalTarget\n @multiple={{true}}\n @onChange={{this.panelsChanged}}\n @name={{if @targetName @targetName \"hds-side-nav-portal-target\"}}\n class=\"hds-side-nav__content-panels hds-side-nav-hide-when-minimized\"\n {{did-update this.didUpdateSubnav this.numSubnavs}}\n />\n</div>");
12
11
 
13
- var _class, _descriptor, _descriptor2, _descriptor3;
14
- let HdsSideNavPortalTarget = (_class = class HdsSideNavPortalTarget extends Component {
15
- constructor(...args) {
16
- super(...args);
17
- _initializerDefineProperty(this, "router", _descriptor, this);
18
- _initializerDefineProperty(this, "numSubnavs", _descriptor2, this);
19
- _initializerDefineProperty(this, "lastPanelEl", _descriptor3, this);
20
- _defineProperty(this, "prefersReducedMotionMQ", window.matchMedia('(prefers-reduced-motion: reduce)'));
12
+ /**
13
+ * Copyright (c) HashiCorp, Inc.
14
+ * SPDX-License-Identifier: MPL-2.0
15
+ */
16
+
17
+ class HdsSideNavPortalTarget extends Component {
18
+ static {
19
+ g(this.prototype, "router", [inject]);
20
+ }
21
+ #router = (i(this, "router"), undefined);
22
+ static {
23
+ g(this.prototype, "numSubnavs", [tracked], function () {
24
+ return 0;
25
+ });
21
26
  }
27
+ #numSubnavs = (i(this, "numSubnavs"), undefined);
28
+ static {
29
+ g(this.prototype, "lastPanelEl", [tracked]);
30
+ }
31
+ #lastPanelEl = (i(this, "lastPanelEl"), undefined);
22
32
  static get prefersReducedMotionOverride() {
23
33
  return macroCondition(isTesting()) ? true : false;
24
34
  }
35
+ prefersReducedMotionMQ = window.matchMedia('(prefers-reduced-motion: reduce)');
25
36
  get prefersReducedMotion() {
26
37
  return HdsSideNavPortalTarget.prefersReducedMotionOverride || this.prefersReducedMotionMQ && this.prefersReducedMotionMQ.matches;
27
38
  }
28
39
  panelsChanged(portalCount) {
29
40
  this.numSubnavs = portalCount;
30
41
  }
42
+ static {
43
+ n(this.prototype, "panelsChanged", [action]);
44
+ }
31
45
  didUpdateSubnav(element, [count]) {
32
46
  this.animateSubnav(element, [count]);
33
47
  }
48
+ static {
49
+ n(this.prototype, "didUpdateSubnav", [action]);
50
+ }
34
51
  animateSubnav(element, [count]) {
35
52
  /*
36
53
  * Here is what the layout looks like for this setup
@@ -111,7 +128,7 @@ let HdsSideNavPortalTarget = (_class = class HdsSideNavPortalTarget extends Comp
111
128
  }
112
129
  }
113
130
  // Notice: we don't add the styles by default because it writes a `style` attribute to the element and it causes an additional re-render
114
- if (DEBUG) {
131
+ if (macroCondition(isTesting())) {
115
132
  // Check the visibility of the element before attempting to commitStyles.
116
133
  if (targetElement.offsetParent !== null) {
117
134
  anim.commitStyles();
@@ -149,24 +166,10 @@ let HdsSideNavPortalTarget = (_class = class HdsSideNavPortalTarget extends Comp
149
166
  });
150
167
  }
151
168
  }
152
- }, _descriptor = _applyDecoratedDescriptor(_class.prototype, "router", [inject], {
153
- configurable: true,
154
- enumerable: true,
155
- writable: true,
156
- initializer: null
157
- }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, "numSubnavs", [tracked], {
158
- configurable: true,
159
- enumerable: true,
160
- writable: true,
161
- initializer: function () {
162
- return 0;
169
+ static {
170
+ n(this.prototype, "animateSubnav", [action]);
163
171
  }
164
- }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, "lastPanelEl", [tracked], {
165
- configurable: true,
166
- enumerable: true,
167
- writable: true,
168
- initializer: null
169
- }), _applyDecoratedDescriptor(_class.prototype, "panelsChanged", [action], Object.getOwnPropertyDescriptor(_class.prototype, "panelsChanged"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didUpdateSubnav", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didUpdateSubnav"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "animateSubnav", [action], Object.getOwnPropertyDescriptor(_class.prototype, "animateSubnav"), _class.prototype), _class);
172
+ }
170
173
  setComponentTemplate(TEMPLATE, HdsSideNavPortalTarget);
171
174
 
172
175
  export { HdsSideNavPortalTarget as default };
@@ -1 +1 @@
1
- {"version":3,"file":"target.js","sources":["../../../../../src/components/hds/side-nav/portal/target.hbs","../../../../../src/components/hds/side-nav/portal/target.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=\\\"hds-side-nav__content\\\" ...attributes>\\n <PortalTarget\\n @multiple={{true}}\\n @onChange={{this.panelsChanged}}\\n @name={{if @targetName @targetName \\\"hds-side-nav-portal-target\\\"}}\\n class=\\\"hds-side-nav__content-panels hds-side-nav-hide-when-minimized\\\"\\n {{did-update this.didUpdateSubnav this.numSubnavs}}\\n />\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { DEBUG } from '@glimmer/env';\nimport { macroCondition, isTesting } from '@embroider/macros';\n\nimport type { HdsSideNavPortalSignature } from './index';\n\n// import { PortalTargetSignature } from 'ember-stargate/components/portal-target';\nexport interface PortalTargetSignature {\n Element: HTMLDivElement;\n Args: {\n name: string;\n multiple?: boolean;\n onChange?: (count: number) => void;\n };\n Blocks: {\n default: [number];\n };\n}\n\nimport type { Registry as Services } from '@ember/service';\n\nexport interface HdsSideNavPortalTargetSignature {\n Args: PortalTargetSignature['Args'] & {\n targetName?: HdsSideNavPortalSignature['Args']['targetName'];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsSideNavPortalTarget extends Component<HdsSideNavPortalTargetSignature> {\n @service router!: Services['router'];\n\n @tracked numSubnavs = 0;\n @tracked lastPanelEl: Element | undefined;\n\n static get prefersReducedMotionOverride(): boolean {\n return macroCondition(isTesting()) ? true : false;\n }\n\n prefersReducedMotionMQ = window.matchMedia(\n '(prefers-reduced-motion: reduce)'\n );\n\n get prefersReducedMotion(): boolean {\n return (\n HdsSideNavPortalTarget.prefersReducedMotionOverride ||\n (this.prefersReducedMotionMQ && this.prefersReducedMotionMQ.matches)\n );\n }\n\n @action\n panelsChanged(portalCount: number): void {\n this.numSubnavs = portalCount;\n }\n\n @action\n didUpdateSubnav(element: HTMLElement, [count]: [number]): void {\n this.animateSubnav(element, [count]);\n }\n\n @action\n animateSubnav(element: HTMLElement, [count]: [number]): void {\n /*\n * Here is what the layout looks like for this setup\n *\n\n SideNav\n +----------------------+\n | +------------------+ |\n | | (\"header\") | |\n | +------------------+ |\n | |\n | +------------------+ |\n | | (\"body\") | |\n (PortalTarget) | | | |\n +----------------------------------------------+ | |\n | +----------+ +----------+ | +----------+ | | |\n | | (Portal) | | (Portal) | | (Portal) | | | |\n | | | | | | | | | | |\n | | hidden | | hidden | | *active* | | | |\n | | panel | | panel | | | panel | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | +----------+ +----------+ | +----------+ | | |\n +----------------------------------------------+ | |\n | | | |\n | +------------------+ |\n | |\n | +------------------+ |\n | | (\"footer\") | |\n | +------------------+ |\n +----------------------+\n\n *\n * every time `HcAppFrame::SideNav::Portal` renders, it contains a portaled \"panel\"\n * that is rendered into the `hds-side-nav__content-panels` (inside the PortalTarget).\n *\n * Rendering or unrendering other `HcAppFrame::SideNav::Portal`s triggers the number of\n * subnavs to change (via `numSubnavs`), so this function runs and slides\n * `hds-side-nav__content-panels` left or right using the `element.animate` api.\n *\n * */\n\n const activeIndex = count - 1;\n const targetElement = element;\n const { prefersReducedMotion } = this;\n\n const styles = getComputedStyle(targetElement);\n const columnWidth = styles.getPropertyValue(\n '--hds-app-sidenav-width-expanded'\n );\n const slideDuration = prefersReducedMotion ? 0 : 150;\n let fadeDuration = prefersReducedMotion ? 0 : 175;\n let fadeDelay = prefersReducedMotion ? 0 : 50;\n\n // slide entire parent panel\n const start = styles.transform;\n const end = `translateX(-${activeIndex * parseInt(columnWidth, 10)}px)`;\n const anim = targetElement.animate(\n [{ transform: start }, { transform: end }],\n {\n duration: slideDuration,\n easing: 'cubic-bezier(0.65, 0, 0.35, 1)',\n fill: 'forwards',\n }\n );\n\n anim.finished.then((): void => {\n // uncomment this if we need/want to scroll the element to the top\n // targetElement.scrollIntoView(true);\n if (activeIndex > 0) {\n const allPrev = Array.from(targetElement.children).slice(\n 0,\n activeIndex\n ) as HTMLElement[];\n for (const ele of allPrev) {\n ele.ariaHidden = 'true';\n ele.style.setProperty('visibility', 'hidden');\n ele.style.setProperty('opacity', '0');\n }\n }\n // Notice: we don't add the styles by default because it writes a `style` attribute to the element and it causes an additional re-render\n if (DEBUG) {\n // Check the visibility of the element before attempting to commitStyles.\n if (targetElement.offsetParent !== null) {\n anim.commitStyles();\n }\n }\n });\n\n // fade in next panel\n const nextPanelEl = targetElement.children[activeIndex] as HTMLElement;\n\n // get reference to last child panel\n const lastPanelEl = targetElement.children[\n targetElement.children.length - 1\n ] as HTMLElement;\n\n if (nextPanelEl) {\n nextPanelEl.ariaHidden = 'false';\n nextPanelEl.style.setProperty('visibility', 'visible');\n // this eliminates a flicker if there's only one subnav rendering or if we\n // already just rendered this panel.\n if (this.lastPanelEl) {\n if (activeIndex === 0 || nextPanelEl.isSameNode(this.lastPanelEl)) {\n fadeDelay = 0;\n fadeDuration = 0;\n }\n }\n\n // remember the last panel\n this.lastPanelEl = lastPanelEl;\n\n nextPanelEl.animate([{ opacity: '0' }, { opacity: '1' }], {\n delay: fadeDelay,\n duration: fadeDuration,\n fill: 'forwards',\n });\n }\n }\n}\n"],"names":["HdsSideNavPortalTarget","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_defineProperty","window","matchMedia","prefersReducedMotionOverride","macroCondition","isTesting","prefersReducedMotion","prefersReducedMotionMQ","matches","panelsChanged","portalCount","numSubnavs","didUpdateSubnav","element","count","animateSubnav","activeIndex","targetElement","styles","getComputedStyle","columnWidth","getPropertyValue","slideDuration","fadeDuration","fadeDelay","start","transform","end","parseInt","anim","animate","duration","easing","fill","finished","then","allPrev","Array","from","children","slice","ele","ariaHidden","style","setProperty","DEBUG","offsetParent","commitStyles","nextPanelEl","lastPanelEl","length","isSameNode","opacity","delay","_applyDecoratedDescriptor","prototype","service","configurable","enumerable","writable","initializer","tracked","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
1
+ {"version":3,"file":"target.js","sources":["../../../../../src/components/hds/side-nav/portal/target.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { macroCondition, isTesting } from '@embroider/macros';\n\nimport type { HdsSideNavPortalSignature } from './index';\n\n// import { PortalTargetSignature } from 'ember-stargate/components/portal-target';\nexport interface PortalTargetSignature {\n Element: HTMLDivElement;\n Args: {\n name: string;\n multiple?: boolean;\n onChange?: (count: number) => void;\n };\n Blocks: {\n default: [number];\n };\n}\n\nimport type { Registry as Services } from '@ember/service';\n\nexport interface HdsSideNavPortalTargetSignature {\n Args: PortalTargetSignature['Args'] & {\n targetName?: HdsSideNavPortalSignature['Args']['targetName'];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsSideNavPortalTarget extends Component<HdsSideNavPortalTargetSignature> {\n @service router!: Services['router'];\n\n @tracked numSubnavs = 0;\n @tracked lastPanelEl: Element | undefined;\n\n static get prefersReducedMotionOverride(): boolean {\n return macroCondition(isTesting()) ? true : false;\n }\n\n prefersReducedMotionMQ = window.matchMedia(\n '(prefers-reduced-motion: reduce)'\n );\n\n get prefersReducedMotion(): boolean {\n return (\n HdsSideNavPortalTarget.prefersReducedMotionOverride ||\n (this.prefersReducedMotionMQ && this.prefersReducedMotionMQ.matches)\n );\n }\n\n @action\n panelsChanged(portalCount: number): void {\n this.numSubnavs = portalCount;\n }\n\n @action\n didUpdateSubnav(element: HTMLElement, [count]: [number]): void {\n this.animateSubnav(element, [count]);\n }\n\n @action\n animateSubnav(element: HTMLElement, [count]: [number]): void {\n /*\n * Here is what the layout looks like for this setup\n *\n\n SideNav\n +----------------------+\n | +------------------+ |\n | | (\"header\") | |\n | +------------------+ |\n | |\n | +------------------+ |\n | | (\"body\") | |\n (PortalTarget) | | | |\n +----------------------------------------------+ | |\n | +----------+ +----------+ | +----------+ | | |\n | | (Portal) | | (Portal) | | (Portal) | | | |\n | | | | | | | | | | |\n | | hidden | | hidden | | *active* | | | |\n | | panel | | panel | | | panel | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | +----------+ +----------+ | +----------+ | | |\n +----------------------------------------------+ | |\n | | | |\n | +------------------+ |\n | |\n | +------------------+ |\n | | (\"footer\") | |\n | +------------------+ |\n +----------------------+\n\n *\n * every time `HcAppFrame::SideNav::Portal` renders, it contains a portaled \"panel\"\n * that is rendered into the `hds-side-nav__content-panels` (inside the PortalTarget).\n *\n * Rendering or unrendering other `HcAppFrame::SideNav::Portal`s triggers the number of\n * subnavs to change (via `numSubnavs`), so this function runs and slides\n * `hds-side-nav__content-panels` left or right using the `element.animate` api.\n *\n * */\n\n const activeIndex = count - 1;\n const targetElement = element;\n const { prefersReducedMotion } = this;\n\n const styles = getComputedStyle(targetElement);\n const columnWidth = styles.getPropertyValue(\n '--hds-app-sidenav-width-expanded'\n );\n const slideDuration = prefersReducedMotion ? 0 : 150;\n let fadeDuration = prefersReducedMotion ? 0 : 175;\n let fadeDelay = prefersReducedMotion ? 0 : 50;\n\n // slide entire parent panel\n const start = styles.transform;\n const end = `translateX(-${activeIndex * parseInt(columnWidth, 10)}px)`;\n const anim = targetElement.animate(\n [{ transform: start }, { transform: end }],\n {\n duration: slideDuration,\n easing: 'cubic-bezier(0.65, 0, 0.35, 1)',\n fill: 'forwards',\n }\n );\n\n anim.finished.then((): void => {\n // uncomment this if we need/want to scroll the element to the top\n // targetElement.scrollIntoView(true);\n if (activeIndex > 0) {\n const allPrev = Array.from(targetElement.children).slice(\n 0,\n activeIndex\n ) as HTMLElement[];\n for (const ele of allPrev) {\n ele.ariaHidden = 'true';\n ele.style.setProperty('visibility', 'hidden');\n ele.style.setProperty('opacity', '0');\n }\n }\n // Notice: we don't add the styles by default because it writes a `style` attribute to the element and it causes an additional re-render\n if (macroCondition(isTesting())) {\n // Check the visibility of the element before attempting to commitStyles.\n if (targetElement.offsetParent !== null) {\n anim.commitStyles();\n }\n }\n });\n\n // fade in next panel\n const nextPanelEl = targetElement.children[activeIndex] as HTMLElement;\n\n // get reference to last child panel\n const lastPanelEl = targetElement.children[\n targetElement.children.length - 1\n ] as HTMLElement;\n\n if (nextPanelEl) {\n nextPanelEl.ariaHidden = 'false';\n nextPanelEl.style.setProperty('visibility', 'visible');\n // this eliminates a flicker if there's only one subnav rendering or if we\n // already just rendered this panel.\n if (this.lastPanelEl) {\n if (activeIndex === 0 || nextPanelEl.isSameNode(this.lastPanelEl)) {\n fadeDelay = 0;\n fadeDuration = 0;\n }\n }\n\n // remember the last panel\n this.lastPanelEl = lastPanelEl;\n\n nextPanelEl.animate([{ opacity: '0' }, { opacity: '1' }], {\n delay: fadeDelay,\n duration: fadeDuration,\n fill: 'forwards',\n });\n }\n }\n}\n"],"names":["HdsSideNavPortalTarget","Component","g","prototype","service","i","void 0","tracked","prefersReducedMotionOverride","macroCondition","isTesting","prefersReducedMotionMQ","window","matchMedia","prefersReducedMotion","matches","panelsChanged","portalCount","numSubnavs","n","action","didUpdateSubnav","element","count","animateSubnav","activeIndex","targetElement","styles","getComputedStyle","columnWidth","getPropertyValue","slideDuration","fadeDuration","fadeDelay","start","transform","end","parseInt","anim","animate","duration","easing","fill","finished","then","allPrev","Array","from","children","slice","ele","ariaHidden","style","setProperty","offsetParent","commitStyles","nextPanelEl","lastPanelEl","length","isSameNode","opacity","delay","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-button.js","sources":["../../../../src/components/hds/side-nav/toggle-button.hbs","../../../../src/components/hds/side-nav/toggle-button.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 class=\\\"hds-side-nav__toggle-button\\\" type=\\\"button\\\" ...attributes>\\n <Hds::Icon @name={{@icon}} />\\n</button>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nimport type { HdsIconSignature } from '../icon';\n\nexport interface HdsSideNavToggleButtonSignature {\n Args: {\n icon: HdsIconSignature['Args']['name'];\n };\n Element: HTMLButtonElement;\n}\n\nconst HdsSideNavToggleButton =\n TemplateOnlyComponent<HdsSideNavToggleButtonSignature>();\n\nexport default HdsSideNavToggleButton;\n"],"names":["HdsSideNavToggleButton","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,wMAAwM;;ACD1O;AACA;AACA;AACA;;AAaA,MAAMA,sBAAsB,GAC1BC,qBAAqB,EAAmC;AAE1D,mBAAAC,oBAAA,CAAAC,QAAA,EAAeH,sBAAsB,CAAA;;;;"}
1
+ {"version":3,"file":"toggle-button.js","sources":["../../../../src/components/hds/side-nav/toggle-button.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nimport type { HdsIconSignature } from '../icon';\n\nexport interface HdsSideNavToggleButtonSignature {\n Args: {\n icon: HdsIconSignature['Args']['name'];\n };\n Element: HTMLButtonElement;\n}\n\nconst HdsSideNavToggleButton =\n TemplateOnlyComponent<HdsSideNavToggleButtonSignature>();\n\nexport default HdsSideNavToggleButton;\n"],"names":["HdsSideNavToggleButton","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;;AAaA,MAAMA,sBAAsB,GAC1BC,qBAAqB,EAAmC;AAE1D,mBAAAC,oBAAA,CAAAC,QAAA,EAAeH,sBAAsB,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"indicator.js","sources":["../../../../../src/components/hds/stepper/step/indicator.hbs","../../../../../src/components/hds/stepper/step/indicator.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class={{this.classNames}} ...attributes>\\n <div class=\\\"hds-stepper-indicator-step__svg-hexagon\\\">\\n <svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" aria-hidden=\\\"true\\\">\\n <path\\n d=\\\"m3.664 6.264 6.99-4.42a2.5 2.5 0 0 1 2.67-.002l7.01 4.422A2.5 2.5 0 0 1 21.5 8.38v7.242a2.5 2.5 0 0 1-1.166 2.115l-7.01 4.422a2.5 2.5 0 0 1-2.67-.002l-6.99-4.42A2.5 2.5 0 0 1 2.5 15.623V8.377a2.5 2.5 0 0 1 1.164-2.113Z\\\"\\n stroke-width=\\\"1\\\"\\n ></path>\\n </svg>\\n </div>\\n <div class=\\\"hds-stepper-indicator-step__status\\\">\\n {{#if (eq @status \\\"processing\\\")}}\\n <Hds::Icon class=\\\"hds-stepper-indicator-step__icon\\\" @name=\\\"loading\\\" @size=\\\"16\\\" />\\n {{else if (eq @status \\\"complete\\\")}}\\n <Hds::Icon class=\\\"hds-stepper-indicator-step__icon\\\" @name=\\\"check\\\" @size=\\\"16\\\" />\\n {{else}}\\n <Hds::Text::Body\\n class=\\\"hds-stepper-indicator-step__text\\\"\\n @tag=\\\"span\\\"\\n @size=\\\"100\\\"\\n @weight=\\\"medium\\\"\\n >{{@text}}</Hds::Text::Body>\\n {{/if}}\\n </div>\\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 { HdsStepperStatusesValues } from '../types.ts';\nimport type { HdsStepperStatuses } from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: string[] = Object.values(HdsStepperStatusesValues);\n\nexport interface HdsStepperStepIndicatorSignature {\n Args: {\n status?: HdsStepperStatuses;\n isInteractive?: boolean;\n text?: string;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsStepperStepIndicator extends Component<HdsStepperStepIndicatorSignature> {\n /**\n * @param status\n * @type {string}\n * @default \"incomplete\"\n */\n\n get status(): HdsStepperStatuses {\n const { status = DEFAULT_STATUS } = this.args;\n\n assert(\n `@status for \"Hds::Stepper::Step::Indicator\" must be one of the following: ${STATUSES.join(\n ', '\n )}; received: ${status}`,\n STATUSES.includes(status)\n );\n\n return status;\n }\n\n /**\n * @param isInteractive\n * @type {boolean}\n * @default false\n */\n\n get isInteractive(): boolean {\n return this.args.isInteractive || false;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method IndicatorStep#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-stepper-indicator-step'];\n\n // Based on the @status arg\n classes.push(`hds-stepper-indicator-step--status-${this.status}`);\n\n if (this.isInteractive) {\n classes.push(`hds-stepper-indicator-step--is-interactive`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_STATUS","HdsStepperStatusesValues","Incomplete","STATUSES","Object","values","HdsStepperStepIndicator","Component","status","args","assert","join","includes","isInteractive","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,kqCAAkqC;;ACDpsC;AACA;AACA;AACA;;AAQaA,MAAAA,cAAc,GAAGC,wBAAwB,CAACC;AAChD,MAAMC,QAAkB,GAAGC,MAAM,CAACC,MAAM,CAACJ,wBAAwB;AAWzD,MAAMK,uBAAuB,SAASC,SAAS,CAAmC;AAC/F;AACF;AACA;AACA;AACA;;EAEE,IAAIC,MAAMA,GAAuB;IAC/B,MAAM;AAAEA,MAAAA,MAAM,GAAGR;KAAgB,GAAG,IAAI,CAACS,IAAI;AAE7CC,IAAAA,MAAM,CACJ,CAA6EP,0EAAAA,EAAAA,QAAQ,CAACQ,IAAI,CACxF,IACF,CAAC,CAAA,YAAA,EAAeH,MAAM,CAAA,CAAE,EACxBL,QAAQ,CAACS,QAAQ,CAACJ,MAAM,CAC1B,CAAC;AAED,IAAA,OAAOA,MAAM;AACf;;AAEA;AACF;AACA;AACA;AACA;;EAEE,IAAIK,aAAaA,GAAY;AAC3B,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,aAAa,IAAI,KAAK;AACzC;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,4BAA4B,CAAC;;AAE9C;IACAA,OAAO,CAACC,IAAI,CAAC,CAAA,mCAAA,EAAsC,IAAI,CAACR,MAAM,EAAE,CAAC;IAEjE,IAAI,IAAI,CAACK,aAAa,EAAE;AACtBE,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,0CAAA,CAA4C,CAAC;AAC5D;AAEA,IAAA,OAAOD,OAAO,CAACJ,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACM,oBAAA,CAAAC,QAAA,EA/CoBZ,uBAAuB,CAAA;;;;"}
1
+ {"version":3,"file":"indicator.js","sources":["../../../../../src/components/hds/stepper/step/indicator.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 { HdsStepperStatusesValues } from '../types.ts';\nimport type { HdsStepperStatuses } from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: string[] = Object.values(HdsStepperStatusesValues);\n\nexport interface HdsStepperStepIndicatorSignature {\n Args: {\n status?: HdsStepperStatuses;\n isInteractive?: boolean;\n text?: string;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsStepperStepIndicator extends Component<HdsStepperStepIndicatorSignature> {\n /**\n * @param status\n * @type {string}\n * @default \"incomplete\"\n */\n\n get status(): HdsStepperStatuses {\n const { status = DEFAULT_STATUS } = this.args;\n\n assert(\n `@status for \"Hds::Stepper::Step::Indicator\" must be one of the following: ${STATUSES.join(\n ', '\n )}; received: ${status}`,\n STATUSES.includes(status)\n );\n\n return status;\n }\n\n /**\n * @param isInteractive\n * @type {boolean}\n * @default false\n */\n\n get isInteractive(): boolean {\n return this.args.isInteractive || false;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method IndicatorStep#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-stepper-indicator-step'];\n\n // Based on the @status arg\n classes.push(`hds-stepper-indicator-step--status-${this.status}`);\n\n if (this.isInteractive) {\n classes.push(`hds-stepper-indicator-step--is-interactive`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_STATUS","HdsStepperStatusesValues","Incomplete","STATUSES","Object","values","HdsStepperStepIndicator","Component","status","args","assert","join","includes","isInteractive","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;;AAQaA,MAAAA,cAAc,GAAGC,wBAAwB,CAACC;AAChD,MAAMC,QAAkB,GAAGC,MAAM,CAACC,MAAM,CAACJ,wBAAwB;AAWzD,MAAMK,uBAAuB,SAASC,SAAS,CAAmC;AAC/F;AACF;AACA;AACA;AACA;;EAEE,IAAIC,MAAMA,GAAuB;IAC/B,MAAM;AAAEA,MAAAA,MAAM,GAAGR;KAAgB,GAAG,IAAI,CAACS,IAAI;AAE7CC,IAAAA,MAAM,CACJ,CAA6EP,0EAAAA,EAAAA,QAAQ,CAACQ,IAAI,CACxF,IACF,CAAC,CAAA,YAAA,EAAeH,MAAM,CAAA,CAAE,EACxBL,QAAQ,CAACS,QAAQ,CAACJ,MAAM,CAC1B,CAAC;AAED,IAAA,OAAOA,MAAM;AACf;;AAEA;AACF;AACA;AACA;AACA;;EAEE,IAAIK,aAAaA,GAAY;AAC3B,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,aAAa,IAAI,KAAK;AACzC;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,4BAA4B,CAAC;;AAE9C;IACAA,OAAO,CAACC,IAAI,CAAC,CAAA,mCAAA,EAAsC,IAAI,CAACR,MAAM,EAAE,CAAC;IAEjE,IAAI,IAAI,CAACK,aAAa,EAAE;AACtBE,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,0CAAA,CAA4C,CAAC;AAC5D;AAEA,IAAA,OAAOD,OAAO,CAACJ,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACM,oBAAA,CAAAC,QAAA,EA/CoBZ,uBAAuB,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"indicator.js","sources":["../../../../../src/components/hds/stepper/task/indicator.hbs","../../../../../src/components/hds/stepper/task/indicator.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class={{this.classNames}} ...attributes>\\n <Hds::Icon class=\\\"hds-stepper-indicator-task__icon\\\" @name={{this.iconName}} @size=\\\"16\\\" />\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport {\n HdsStepperStatusesValues,\n HdsStepperStatusToIconsValues,\n} from '../types.ts';\nimport type { HdsIconSignature } from '../../icon';\nimport type { HdsStepperStatuses } from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: string[] = Object.values(HdsStepperStatusesValues);\n\nexport const MAPPING_STATUS_TO_ICONS = HdsStepperStatusToIconsValues;\n\nexport interface HdsStepperTaskIndicatorSignature {\n Args: {\n status?: HdsStepperStatuses;\n isInteractive?: boolean;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsStepperTaskIndicator extends Component<HdsStepperTaskIndicatorSignature> {\n /**\n * @param status\n * @type {string}\n * @default \"incomplete\"\n */\n\n get status(): HdsStepperStatuses {\n const { status = DEFAULT_STATUS } = this.args;\n\n assert(\n `@status for \"Hds::Stepper::Task::Indicator\" must be one of the following: ${STATUSES.join(\n ', '\n )}; received: ${status}`,\n STATUSES.includes(status)\n );\n\n return status;\n }\n\n /**\n * @param isInteractive\n * @type {boolean}\n * @default false\n */\n\n get isInteractive(): boolean {\n return this.args.isInteractive || false;\n }\n\n /**\n * @param iconName\n * @type {string}\n */\n\n get iconName(): HdsIconSignature['Args']['name'] {\n return MAPPING_STATUS_TO_ICONS[this.status];\n }\n\n /**\n * Get the class names to apply to the component.\n * @method IndicatorTask#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-stepper-indicator-task'];\n\n // Based on the @status arg\n classes.push(`hds-stepper-indicator-task--status-${this.status}`);\n\n if (this.isInteractive) {\n classes.push(`hds-stepper-indicator-task--is-interactive`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_STATUS","HdsStepperStatusesValues","Incomplete","STATUSES","Object","values","MAPPING_STATUS_TO_ICONS","HdsStepperStatusToIconsValues","HdsStepperTaskIndicator","Component","status","args","assert","join","includes","isInteractive","iconName","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,sOAAsO;;ACDxQ;AACA;AACA;AACA;;AAYaA,MAAAA,cAAc,GAAGC,wBAAwB,CAACC;AAChD,MAAMC,QAAkB,GAAGC,MAAM,CAACC,MAAM,CAACJ,wBAAwB;AAEjE,MAAMK,uBAAuB,GAAGC;AAUxB,MAAMC,uBAAuB,SAASC,SAAS,CAAmC;AAC/F;AACF;AACA;AACA;AACA;;EAEE,IAAIC,MAAMA,GAAuB;IAC/B,MAAM;AAAEA,MAAAA,MAAM,GAAGV;KAAgB,GAAG,IAAI,CAACW,IAAI;AAE7CC,IAAAA,MAAM,CACJ,CAA6ET,0EAAAA,EAAAA,QAAQ,CAACU,IAAI,CACxF,IACF,CAAC,CAAA,YAAA,EAAeH,MAAM,CAAA,CAAE,EACxBP,QAAQ,CAACW,QAAQ,CAACJ,MAAM,CAC1B,CAAC;AAED,IAAA,OAAOA,MAAM;AACf;;AAEA;AACF;AACA;AACA;AACA;;EAEE,IAAIK,aAAaA,GAAY;AAC3B,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,aAAa,IAAI,KAAK;AACzC;;AAEA;AACF;AACA;AACA;;EAEE,IAAIC,QAAQA,GAAqC;AAC/C,IAAA,OAAOV,uBAAuB,CAAC,IAAI,CAACI,MAAM,CAAC;AAC7C;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIO,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,4BAA4B,CAAC;;AAE9C;IACAA,OAAO,CAACC,IAAI,CAAC,CAAA,mCAAA,EAAsC,IAAI,CAACT,MAAM,EAAE,CAAC;IAEjE,IAAI,IAAI,CAACK,aAAa,EAAE;AACtBG,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,0CAAA,CAA4C,CAAC;AAC5D;AAEA,IAAA,OAAOD,OAAO,CAACL,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACO,oBAAA,CAAAC,QAAA,EAxDoBb,uBAAuB,CAAA;;;;"}
1
+ {"version":3,"file":"indicator.js","sources":["../../../../../src/components/hds/stepper/task/indicator.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 {\n HdsStepperStatusesValues,\n HdsStepperStatusToIconsValues,\n} from '../types.ts';\nimport type { HdsIconSignature } from '../../icon';\nimport type { HdsStepperStatuses } from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: string[] = Object.values(HdsStepperStatusesValues);\n\nexport const MAPPING_STATUS_TO_ICONS = HdsStepperStatusToIconsValues;\n\nexport interface HdsStepperTaskIndicatorSignature {\n Args: {\n status?: HdsStepperStatuses;\n isInteractive?: boolean;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsStepperTaskIndicator extends Component<HdsStepperTaskIndicatorSignature> {\n /**\n * @param status\n * @type {string}\n * @default \"incomplete\"\n */\n\n get status(): HdsStepperStatuses {\n const { status = DEFAULT_STATUS } = this.args;\n\n assert(\n `@status for \"Hds::Stepper::Task::Indicator\" must be one of the following: ${STATUSES.join(\n ', '\n )}; received: ${status}`,\n STATUSES.includes(status)\n );\n\n return status;\n }\n\n /**\n * @param isInteractive\n * @type {boolean}\n * @default false\n */\n\n get isInteractive(): boolean {\n return this.args.isInteractive || false;\n }\n\n /**\n * @param iconName\n * @type {string}\n */\n\n get iconName(): HdsIconSignature['Args']['name'] {\n return MAPPING_STATUS_TO_ICONS[this.status];\n }\n\n /**\n * Get the class names to apply to the component.\n * @method IndicatorTask#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-stepper-indicator-task'];\n\n // Based on the @status arg\n classes.push(`hds-stepper-indicator-task--status-${this.status}`);\n\n if (this.isInteractive) {\n classes.push(`hds-stepper-indicator-task--is-interactive`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_STATUS","HdsStepperStatusesValues","Incomplete","STATUSES","Object","values","MAPPING_STATUS_TO_ICONS","HdsStepperStatusToIconsValues","HdsStepperTaskIndicator","Component","status","args","assert","join","includes","isInteractive","iconName","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;;AAYaA,MAAAA,cAAc,GAAGC,wBAAwB,CAACC;AAChD,MAAMC,QAAkB,GAAGC,MAAM,CAACC,MAAM,CAACJ,wBAAwB;AAEjE,MAAMK,uBAAuB,GAAGC;AAUxB,MAAMC,uBAAuB,SAASC,SAAS,CAAmC;AAC/F;AACF;AACA;AACA;AACA;;EAEE,IAAIC,MAAMA,GAAuB;IAC/B,MAAM;AAAEA,MAAAA,MAAM,GAAGV;KAAgB,GAAG,IAAI,CAACW,IAAI;AAE7CC,IAAAA,MAAM,CACJ,CAA6ET,0EAAAA,EAAAA,QAAQ,CAACU,IAAI,CACxF,IACF,CAAC,CAAA,YAAA,EAAeH,MAAM,CAAA,CAAE,EACxBP,QAAQ,CAACW,QAAQ,CAACJ,MAAM,CAC1B,CAAC;AAED,IAAA,OAAOA,MAAM;AACf;;AAEA;AACF;AACA;AACA;AACA;;EAEE,IAAIK,aAAaA,GAAY;AAC3B,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,aAAa,IAAI,KAAK;AACzC;;AAEA;AACF;AACA;AACA;;EAEE,IAAIC,QAAQA,GAAqC;AAC/C,IAAA,OAAOV,uBAAuB,CAAC,IAAI,CAACI,MAAM,CAAC;AAC7C;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIO,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,4BAA4B,CAAC;;AAE9C;IACAA,OAAO,CAACC,IAAI,CAAC,CAAA,mCAAA,EAAsC,IAAI,CAACT,MAAM,EAAE,CAAC;IAEjE,IAAI,IAAI,CAACK,aAAa,EAAE;AACtBG,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,0CAAA,CAA4C,CAAC;AAC5D;AAEA,IAAA,OAAOD,OAAO,CAACL,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACO,oBAAA,CAAAC,QAAA,EAxDoBb,uBAAuB,CAAA;;;;"}
@@ -1,27 +1,47 @@
1
- import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty, a as _defineProperty } from '../../../_rollupPluginBabelHelpers-C_TsMG3M.js';
2
1
  import Component from '@glimmer/component';
3
2
  import { action } from '@ember/object';
4
3
  import { assert } from '@ember/debug';
5
4
  import { tracked } from '@glimmer/tracking';
6
- import { HdsTableDensityValues, HdsTableVerticalAlignmentValues, HdsTableThSortOrderValues } from './types.js';
5
+ import { HdsTableThSortOrderValues, HdsTableDensityValues, HdsTableVerticalAlignmentValues } 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<table class={{this.classNames}} ...attributes>\n {{#if @columns}}\n <caption class=\"sr-only\" aria-live=\"polite\">{{@caption}} {{this.sortedMessageText}}</caption>\n {{else if @caption}}\n <caption class=\"sr-only\">{{@caption}}</caption>\n {{/if}}\n\n <thead class=\"hds-table__thead\">\n {{#if @columns}}\n <Hds::Table::Tr\n @selectionScope=\"col\"\n @onClickSortBySelected={{if @selectableColumnKey (fn this.setSortBy @selectableColumnKey)}}\n @sortBySelectedOrder={{if (eq this.sortBy @selectableColumnKey) this.sortOrder}}\n @isSelectable={{@isSelectable}}\n @onSelectionChange={{this.onSelectionAllChange}}\n @didInsert={{this.didInsertSelectAllCheckbox}}\n @willDestroy={{this.willDestroySelectAllCheckbox}}\n @selectionAriaLabelSuffix=\"all rows\"\n >\n {{#each @columns as |column|}}\n {{#if column.isSortable}}\n <Hds::Table::ThSort\n @sortOrder={{if (eq column.key this.sortBy) this.sortOrder}}\n @onClickSort={{fn this.setSortBy column.key}}\n @align={{column.align}}\n @width={{column.width}}\n @tooltip={{column.tooltip}}\n >\n {{column.label}}\n </Hds::Table::ThSort>\n {{else}}\n <Hds::Table::Th\n @align={{column.align}}\n @width={{column.width}}\n @tooltip={{column.tooltip}}\n @isVisuallyHidden={{column.isVisuallyHidden}}\n >{{column.label}}</Hds::Table::Th>\n {{/if}}\n {{/each}}\n </Hds::Table::Tr>\n {{else}}\n {{yield\n (hash\n Tr=(component\n \"hds/table/tr\"\n selectionScope=\"col\"\n isSelectable=@isSelectable\n onSelectionChange=this.onSelectionAllChange\n didInsert=this.didInsertSelectAllCheckbox\n willDestroy=this.willDestroySelectAllCheckbox\n selectionAriaLabelSuffix=\"all rows\"\n onClickSortBySelected=(if @selectableColumnKey (fn this.setSortBy @selectableColumnKey))\n sortBySelectedOrder=(if (eq this.sortBy @selectableColumnKey) this.sortOrder)\n )\n Th=(component \"hds/table/th\")\n ThSort=(component \"hds/table/th-sort\")\n sortBy=this.sortBy\n sortOrder=this.sortOrder\n setSortBy=this.setSortBy\n )\n to=\"head\"\n }}\n {{/if}}\n </thead>\n\n <tbody class=\"hds-table__tbody\">\n {{#if @columns}}\n {{! ----------------------------------------------------------------------------------------\n IMPORTANT: we loop on the `model` array and for each record\n we yield the Tr/Td/Th elements _and_ the record itself as `data`\n this means the consumer will *have to* use the `data` key to access it in their template\n -------------------------------------------------------------------------------------------- }}\n {{#each (sort-by this.getSortCriteria @model) key=this.identityKey as |record index|}}\n {{yield\n (hash\n Tr=(component\n \"hds/table/tr\"\n selectionScope=\"row\"\n isSelectable=@isSelectable\n onSelectionChange=this.onSelectionRowChange\n didInsert=this.didInsertRowCheckbox\n willDestroy=this.willDestroyRowCheckbox\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\n )\n Th=(component \"hds/table/th\" scope=\"row\")\n Td=(component \"hds/table/td\" align=@align)\n data=record\n rowIndex=index\n )\n to=\"body\"\n }}\n {{/each}}\n {{else}}\n {{yield\n (hash\n Tr=(component\n \"hds/table/tr\"\n selectionScope=\"row\"\n isSelectable=@isSelectable\n onSelectionChange=this.onSelectionRowChange\n didInsert=this.didInsertRowCheckbox\n willDestroy=this.willDestroyRowCheckbox\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\n )\n Th=(component \"hds/table/th\" scope=\"row\")\n Td=(component \"hds/table/td\" align=@align)\n sortBy=this.sortBy\n sortOrder=this.sortOrder\n )\n to=\"body\"\n }}\n {{/if}}\n </tbody>\n</table>");
11
11
 
12
- var _class, _descriptor, _descriptor2, _descriptor3, _descriptor4;
12
+ /**
13
+ * Copyright (c) HashiCorp, Inc.
14
+ * SPDX-License-Identifier: MPL-2.0
15
+ */
16
+
13
17
  const DENSITIES = Object.values(HdsTableDensityValues);
14
18
  const DEFAULT_DENSITY = HdsTableDensityValues.Medium;
15
19
  const VALIGNMENTS = Object.values(HdsTableVerticalAlignmentValues);
16
20
  const DEFAULT_VALIGN = HdsTableVerticalAlignmentValues.Top;
17
- let HdsTable = (_class = class HdsTable extends Component {
21
+ class HdsTable extends Component {
22
+ static {
23
+ g(this.prototype, "sortBy", [tracked]);
24
+ }
25
+ #sortBy = (i(this, "sortBy"), undefined);
26
+ static {
27
+ g(this.prototype, "sortOrder", [tracked]);
28
+ }
29
+ #sortOrder = (i(this, "sortOrder"), undefined);
30
+ static {
31
+ g(this.prototype, "_selectAllCheckbox", [tracked], function () {
32
+ return undefined;
33
+ });
34
+ }
35
+ #_selectAllCheckbox = (i(this, "_selectAllCheckbox"), undefined);
36
+ _selectableRows = [];
37
+ static {
38
+ g(this.prototype, "_isSelectAllCheckboxSelected", [tracked], function () {
39
+ return undefined;
40
+ });
41
+ }
42
+ #_isSelectAllCheckboxSelected = (i(this, "_isSelectAllCheckboxSelected"), undefined);
18
43
  constructor(owner, args) {
19
44
  super(owner, args);
20
- _initializerDefineProperty(this, "sortBy", _descriptor, this);
21
- _initializerDefineProperty(this, "sortOrder", _descriptor2, this);
22
- _initializerDefineProperty(this, "_selectAllCheckbox", _descriptor3, this);
23
- _defineProperty(this, "_selectableRows", []);
24
- _initializerDefineProperty(this, "_isSelectAllCheckboxSelected", _descriptor4, this);
25
45
  this.sortBy = this.args.sortBy ?? undefined;
26
46
  this.sortOrder = this.args.sortOrder ?? HdsTableThSortOrderValues.Asc;
27
47
  }
@@ -115,6 +135,9 @@ let HdsTable = (_class = class HdsTable extends Component {
115
135
  onSort(this.sortBy, this.sortOrder);
116
136
  }
117
137
  }
138
+ static {
139
+ n(this.prototype, "setSortBy", [action]);
140
+ }
118
141
  onSelectionChangeCallback(checkbox, selectionKey) {
119
142
  const {
120
143
  onSelectionChange
@@ -142,23 +165,32 @@ let HdsTable = (_class = class HdsTable extends Component {
142
165
  onSelectionAllChange() {
143
166
  this._selectableRows.forEach(row => {
144
167
  row.checkbox.checked = this._selectAllCheckbox?.checked ?? false;
145
- row.checkbox.dispatchEvent(new Event('toggle', {
146
- bubbles: false
147
- }));
148
168
  });
149
169
  this._isSelectAllCheckboxSelected = this._selectAllCheckbox?.checked ?? false;
150
170
  this.onSelectionChangeCallback(this._selectAllCheckbox, 'all');
151
171
  }
172
+ static {
173
+ n(this.prototype, "onSelectionAllChange", [action]);
174
+ }
152
175
  onSelectionRowChange(checkbox, selectionKey) {
153
176
  this.setSelectAllState();
154
177
  this.onSelectionChangeCallback(checkbox, selectionKey);
155
178
  }
179
+ static {
180
+ n(this.prototype, "onSelectionRowChange", [action]);
181
+ }
156
182
  didInsertSelectAllCheckbox(checkbox) {
157
183
  this._selectAllCheckbox = checkbox;
158
184
  }
185
+ static {
186
+ n(this.prototype, "didInsertSelectAllCheckbox", [action]);
187
+ }
159
188
  willDestroySelectAllCheckbox() {
160
189
  this._selectAllCheckbox = undefined;
161
190
  }
191
+ static {
192
+ n(this.prototype, "willDestroySelectAllCheckbox", [action]);
193
+ }
162
194
  didInsertRowCheckbox(checkbox, selectionKey) {
163
195
  if (selectionKey) {
164
196
  this._selectableRows.push({
@@ -168,10 +200,16 @@ let HdsTable = (_class = class HdsTable extends Component {
168
200
  }
169
201
  this.setSelectAllState();
170
202
  }
203
+ static {
204
+ n(this.prototype, "didInsertRowCheckbox", [action]);
205
+ }
171
206
  willDestroyRowCheckbox(selectionKey) {
172
207
  this._selectableRows = this._selectableRows.filter(row => row.selectionKey !== selectionKey);
173
208
  this.setSelectAllState();
174
209
  }
210
+ static {
211
+ n(this.prototype, "willDestroyRowCheckbox", [action]);
212
+ }
175
213
  setSelectAllState() {
176
214
  if (this._selectAllCheckbox) {
177
215
  const selectableRowsCount = this._selectableRows.length;
@@ -179,36 +217,12 @@ let HdsTable = (_class = class HdsTable extends Component {
179
217
  this._selectAllCheckbox.checked = selectedRowsCount === selectableRowsCount;
180
218
  this._selectAllCheckbox.indeterminate = selectedRowsCount > 0 && selectedRowsCount < selectableRowsCount;
181
219
  this._isSelectAllCheckboxSelected = this._selectAllCheckbox.checked;
182
- this._selectAllCheckbox.dispatchEvent(new Event('toggle', {
183
- bubbles: false
184
- }));
185
220
  }
186
221
  }
187
- }, _descriptor = _applyDecoratedDescriptor(_class.prototype, "sortBy", [tracked], {
188
- configurable: true,
189
- enumerable: true,
190
- writable: true,
191
- initializer: null
192
- }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, "sortOrder", [tracked], {
193
- configurable: true,
194
- enumerable: true,
195
- writable: true,
196
- initializer: null
197
- }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, "_selectAllCheckbox", [tracked], {
198
- configurable: true,
199
- enumerable: true,
200
- writable: true,
201
- initializer: function () {
202
- return undefined;
203
- }
204
- }), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, "_isSelectAllCheckboxSelected", [tracked], {
205
- configurable: true,
206
- enumerable: true,
207
- writable: true,
208
- initializer: function () {
209
- return undefined;
210
- }
211
- }), _applyDecoratedDescriptor(_class.prototype, "setSortBy", [action], Object.getOwnPropertyDescriptor(_class.prototype, "setSortBy"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onSelectionAllChange", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onSelectionAllChange"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onSelectionRowChange", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onSelectionRowChange"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didInsertSelectAllCheckbox", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsertSelectAllCheckbox"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "willDestroySelectAllCheckbox", [action], Object.getOwnPropertyDescriptor(_class.prototype, "willDestroySelectAllCheckbox"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didInsertRowCheckbox", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsertRowCheckbox"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "willDestroyRowCheckbox", [action], Object.getOwnPropertyDescriptor(_class.prototype, "willDestroyRowCheckbox"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "setSelectAllState", [action], Object.getOwnPropertyDescriptor(_class.prototype, "setSelectAllState"), _class.prototype), _class);
222
+ static {
223
+ n(this.prototype, "setSelectAllState", [action]);
224
+ }
225
+ }
212
226
  setComponentTemplate(TEMPLATE, HdsTable);
213
227
 
214
228
  export { DEFAULT_DENSITY, DEFAULT_VALIGN, DENSITIES, VALIGNMENTS, HdsTable as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/table/index.hbs","../../../../src/components/hds/table/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<table class={{this.classNames}} ...attributes>\\n {{#if @columns}}\\n <caption class=\\\"sr-only\\\" aria-live=\\\"polite\\\">{{@caption}} {{this.sortedMessageText}}</caption>\\n {{else if @caption}}\\n <caption class=\\\"sr-only\\\">{{@caption}}</caption>\\n {{/if}}\\n\\n <thead class=\\\"hds-table__thead\\\">\\n {{#if @columns}}\\n <Hds::Table::Tr\\n @selectionScope=\\\"col\\\"\\n @onClickSortBySelected={{if @selectableColumnKey (fn this.setSortBy @selectableColumnKey)}}\\n @sortBySelectedOrder={{if (eq this.sortBy @selectableColumnKey) this.sortOrder}}\\n @isSelectable={{@isSelectable}}\\n @onSelectionChange={{this.onSelectionAllChange}}\\n @didInsert={{this.didInsertSelectAllCheckbox}}\\n @willDestroy={{this.willDestroySelectAllCheckbox}}\\n @selectionAriaLabelSuffix=\\\"all rows\\\"\\n >\\n {{#each @columns as |column|}}\\n {{#if column.isSortable}}\\n <Hds::Table::ThSort\\n @sortOrder={{if (eq column.key this.sortBy) this.sortOrder}}\\n @onClickSort={{fn this.setSortBy column.key}}\\n @align={{column.align}}\\n @width={{column.width}}\\n @tooltip={{column.tooltip}}\\n >\\n {{column.label}}\\n </Hds::Table::ThSort>\\n {{else}}\\n <Hds::Table::Th\\n @align={{column.align}}\\n @width={{column.width}}\\n @tooltip={{column.tooltip}}\\n @isVisuallyHidden={{column.isVisuallyHidden}}\\n >{{column.label}}</Hds::Table::Th>\\n {{/if}}\\n {{/each}}\\n </Hds::Table::Tr>\\n {{else}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"col\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionAllChange\\n didInsert=this.didInsertSelectAllCheckbox\\n willDestroy=this.willDestroySelectAllCheckbox\\n selectionAriaLabelSuffix=\\\"all rows\\\"\\n onClickSortBySelected=(if @selectableColumnKey (fn this.setSortBy @selectableColumnKey))\\n sortBySelectedOrder=(if (eq this.sortBy @selectableColumnKey) this.sortOrder)\\n )\\n Th=(component \\\"hds/table/th\\\")\\n ThSort=(component \\\"hds/table/th-sort\\\")\\n sortBy=this.sortBy\\n sortOrder=this.sortOrder\\n setSortBy=this.setSortBy\\n )\\n to=\\\"head\\\"\\n }}\\n {{/if}}\\n </thead>\\n\\n <tbody class=\\\"hds-table__tbody\\\">\\n {{#if @columns}}\\n {{! ----------------------------------------------------------------------------------------\\n IMPORTANT: we loop on the `model` array and for each record\\n we yield the Tr/Td/Th elements _and_ the record itself as `data`\\n this means the consumer will *have to* use the `data` key to access it in their template\\n -------------------------------------------------------------------------------------------- }}\\n {{#each (sort-by this.getSortCriteria @model) key=this.identityKey as |record index|}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"row\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionRowChange\\n didInsert=this.didInsertRowCheckbox\\n willDestroy=this.willDestroyRowCheckbox\\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\\n )\\n Th=(component \\\"hds/table/th\\\" scope=\\\"row\\\")\\n Td=(component \\\"hds/table/td\\\" align=@align)\\n data=record\\n rowIndex=index\\n )\\n to=\\\"body\\\"\\n }}\\n {{/each}}\\n {{else}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"row\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionRowChange\\n didInsert=this.didInsertRowCheckbox\\n willDestroy=this.willDestroyRowCheckbox\\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\\n )\\n Th=(component \\\"hds/table/th\\\" scope=\\\"row\\\")\\n Td=(component \\\"hds/table/td\\\" align=@align)\\n sortBy=this.sortBy\\n sortOrder=this.sortOrder\\n )\\n to=\\\"body\\\"\\n }}\\n {{/if}}\\n </tbody>\\n</table>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\nimport { tracked } from '@glimmer/tracking';\nimport type { ComponentLike } from '@glint/template';\n\nimport {\n HdsTableDensityValues,\n HdsTableThSortOrderValues,\n HdsTableVerticalAlignmentValues,\n} from './types.ts';\nimport type {\n HdsTableColumn,\n HdsTableDensities,\n HdsTableHorizontalAlignment,\n HdsTableOnSelectionChangeSignature,\n HdsTableSelectableRow,\n HdsTableSortingFunction,\n HdsTableThSortOrder,\n HdsTableVerticalAlignment,\n HdsTableModel,\n} from './types';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base';\nimport type { HdsTableTdSignature } from './td.ts';\nimport type { HdsTableThSignature } from './th.ts';\nimport type { HdsTableThSortSignature } from './th-sort.ts';\nimport type { HdsTableTrSignature } from './tr.ts';\n\nexport const DENSITIES: HdsTableDensities[] = Object.values(\n HdsTableDensityValues\n);\nexport const DEFAULT_DENSITY = HdsTableDensityValues.Medium;\n\nexport const VALIGNMENTS: HdsTableVerticalAlignment[] = Object.values(\n HdsTableVerticalAlignmentValues\n);\nexport const DEFAULT_VALIGN = HdsTableVerticalAlignmentValues.Top;\n\nexport interface HdsTableSignature {\n Args: {\n align?: HdsTableHorizontalAlignment;\n caption?: string;\n columns?: HdsTableColumn[];\n density?: HdsTableDensities;\n identityKey?: string;\n isFixedLayout?: boolean;\n isSelectable?: boolean;\n isStriped?: boolean;\n model?: HdsTableModel;\n onSelectionChange?: (selection: HdsTableOnSelectionChangeSignature) => void;\n onSort?: (sortBy: string, sortOrder: HdsTableThSortOrder) => void;\n selectionAriaLabelSuffix?: string;\n sortBy?: string;\n selectableColumnKey?: string;\n sortedMessageText?: string;\n sortOrder?: HdsTableThSortOrder;\n valign?: HdsTableVerticalAlignment;\n };\n Blocks: {\n head?: [\n {\n Tr?: ComponentLike<HdsTableTrSignature>;\n Th?: ComponentLike<HdsTableThSignature>;\n ThSort?: ComponentLike<HdsTableThSortSignature>;\n sortBy?: string;\n sortOrder?: HdsTableThSortOrder;\n setSortBy?: (column: string) => void;\n },\n ];\n body?: [\n {\n Td?: ComponentLike<HdsTableTdSignature>;\n Tr?: ComponentLike<HdsTableTrSignature>;\n Th?: ComponentLike<HdsTableThSignature>;\n data?: Record<string, unknown>;\n rowIndex?: number;\n sortBy?: string;\n sortOrder?: HdsTableThSortOrder;\n },\n ];\n };\n Element: HTMLTableElement;\n}\n\nexport default class HdsTable extends Component<HdsTableSignature> {\n @tracked sortBy;\n @tracked sortOrder;\n @tracked\n private _selectAllCheckbox?: HdsFormCheckboxBaseSignature['Element'] =\n undefined;\n private _selectableRows: HdsTableSelectableRow[] = [];\n @tracked private _isSelectAllCheckboxSelected?: boolean = undefined;\n\n constructor(owner: unknown, args: HdsTableSignature['Args']) {\n super(owner, args);\n this.sortBy = this.args.sortBy ?? undefined;\n this.sortOrder = this.args.sortOrder ?? HdsTableThSortOrderValues.Asc;\n }\n\n get getSortCriteria(): string | HdsTableSortingFunction<unknown> {\n // get the current column\n const currentColumn = this.args?.columns?.find(\n (column) => column.key === this.sortBy\n );\n if (\n // check if there is a custom sorting function associated with the current `sortBy` column (we assume the column has `isSortable`)\n currentColumn?.sortingFunction &&\n typeof currentColumn.sortingFunction === 'function'\n ) {\n return currentColumn.sortingFunction;\n } else {\n // otherwise fallback to the default format \"sortBy:sortOrder\"\n return `${this.sortBy}:${this.sortOrder}`;\n }\n }\n\n get identityKey(): string | undefined {\n // we have to provide a way for the consumer to pass undefined because Ember tries to interpret undefined as missing an arg and therefore falls back to the default\n if (this.args.identityKey === 'none') {\n return undefined;\n } else {\n return this.args.identityKey ?? '@identity';\n }\n }\n\n get sortedMessageText(): string {\n if (this.args.sortedMessageText) {\n return this.args.sortedMessageText;\n } else if (this.sortBy && this.sortOrder) {\n // we should allow the user to define a custom value here (e.g., for i18n) - tracked with HDS-965\n return `Sorted by ${this.sortBy} ${this.sortOrder}ending`;\n } else {\n return '';\n }\n }\n\n get isStriped(): boolean {\n return this.args.isStriped ?? false;\n }\n\n get isFixedLayout(): boolean {\n return this.args.isFixedLayout ?? false;\n }\n\n get density(): HdsTableDensities {\n const { density = DEFAULT_DENSITY } = this.args;\n\n assert(\n `@density for \"Hds::Table\" must be one of the following: ${DENSITIES.join(\n ', '\n )}; received: ${density}`,\n DENSITIES.includes(density)\n );\n\n return density;\n }\n\n get valign(): HdsTableVerticalAlignment {\n const { valign = DEFAULT_VALIGN } = this.args;\n\n assert(\n `@valign for \"Hds::Table\" must be one of the following: ${VALIGNMENTS.join(\n ', '\n )}; received: ${valign}`,\n VALIGNMENTS.includes(valign)\n );\n\n return valign;\n }\n\n get classNames(): string {\n const classes = ['hds-table'];\n\n // add a class based on the @isStriped argument\n if (this.isStriped) {\n classes.push('hds-table--striped');\n }\n\n // add a class based on the @isFixedLayout argument\n if (this.isFixedLayout) {\n classes.push('hds-table--layout-fixed');\n }\n\n // add a class based on the @density argument\n if (this.density) {\n classes.push(`hds-table--density-${this.density}`);\n }\n\n // add a class based on the @valign argument\n if (this.valign) {\n classes.push(`hds-table--valign-${this.valign}`);\n }\n\n return classes.join(' ');\n }\n\n @action\n setSortBy(column: string): void {\n if (this.sortBy === column) {\n // check to see if the column is already sorted and invert the sort order if so\n this.sortOrder =\n this.sortOrder === HdsTableThSortOrderValues.Asc\n ? HdsTableThSortOrderValues.Desc\n : HdsTableThSortOrderValues.Asc;\n } else {\n // otherwise, set the sort order to ascending\n this.sortBy = column;\n this.sortOrder = HdsTableThSortOrderValues.Asc;\n }\n\n const { onSort } = this.args;\n\n if (typeof onSort === 'function') {\n onSort(this.sortBy, this.sortOrder);\n }\n }\n\n onSelectionChangeCallback(\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n const { onSelectionChange } = this.args;\n if (typeof onSelectionChange === 'function') {\n onSelectionChange({\n selectionKey: selectionKey,\n selectionCheckboxElement: checkbox,\n selectedRowsKeys: this._selectableRows.reduce<string[]>((acc, row) => {\n if (row.checkbox.checked) {\n acc.push(row.selectionKey);\n }\n return acc;\n }, []),\n selectableRowsStates: this._selectableRows.reduce(\n (\n acc: { selectionKey: string; isSelected: boolean | undefined }[],\n row\n ) => {\n acc.push({\n selectionKey: row.selectionKey,\n isSelected: row.checkbox.checked,\n });\n return acc;\n },\n []\n ),\n });\n }\n }\n\n @action\n onSelectionAllChange(): void {\n this._selectableRows.forEach((row) => {\n row.checkbox.checked = this._selectAllCheckbox?.checked ?? false;\n row.checkbox.dispatchEvent(new Event('toggle', { bubbles: false }));\n });\n this._isSelectAllCheckboxSelected =\n this._selectAllCheckbox?.checked ?? false;\n this.onSelectionChangeCallback(this._selectAllCheckbox, 'all');\n }\n\n @action\n onSelectionRowChange(\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n this.setSelectAllState();\n this.onSelectionChangeCallback(checkbox, selectionKey);\n }\n\n @action\n didInsertSelectAllCheckbox(\n checkbox: HdsFormCheckboxBaseSignature['Element']\n ): void {\n this._selectAllCheckbox = checkbox;\n }\n\n @action\n willDestroySelectAllCheckbox(): void {\n this._selectAllCheckbox = undefined;\n }\n\n @action\n didInsertRowCheckbox(\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n if (selectionKey) {\n this._selectableRows.push({ selectionKey, checkbox });\n }\n this.setSelectAllState();\n }\n\n @action\n willDestroyRowCheckbox(selectionKey?: string): void {\n this._selectableRows = this._selectableRows.filter(\n (row) => row.selectionKey !== selectionKey\n );\n this.setSelectAllState();\n }\n\n @action\n setSelectAllState(): void {\n if (this._selectAllCheckbox) {\n const selectableRowsCount = this._selectableRows.length;\n const selectedRowsCount = this._selectableRows.filter(\n (row) => row.checkbox.checked\n ).length;\n\n this._selectAllCheckbox.checked =\n selectedRowsCount === selectableRowsCount;\n this._selectAllCheckbox.indeterminate =\n selectedRowsCount > 0 && selectedRowsCount < selectableRowsCount;\n this._isSelectAllCheckboxSelected = this._selectAllCheckbox.checked;\n this._selectAllCheckbox.dispatchEvent(\n new Event('toggle', { bubbles: false })\n );\n }\n }\n}\n"],"names":["DENSITIES","Object","values","HdsTableDensityValues","DEFAULT_DENSITY","Medium","VALIGNMENTS","HdsTableVerticalAlignmentValues","DEFAULT_VALIGN","Top","HdsTable","_class","Component","constructor","owner","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_defineProperty","_descriptor4","sortBy","undefined","sortOrder","HdsTableThSortOrderValues","Asc","getSortCriteria","currentColumn","columns","find","column","key","sortingFunction","identityKey","sortedMessageText","isStriped","isFixedLayout","density","assert","join","includes","valign","classNames","classes","push","setSortBy","Desc","onSort","onSelectionChangeCallback","checkbox","selectionKey","onSelectionChange","selectionCheckboxElement","selectedRowsKeys","_selectableRows","reduce","acc","row","checked","selectableRowsStates","isSelected","onSelectionAllChange","forEach","_selectAllCheckbox","dispatchEvent","Event","bubbles","_isSelectAllCheckboxSelected","onSelectionRowChange","setSelectAllState","didInsertSelectAllCheckbox","willDestroySelectAllCheckbox","didInsertRowCheckbox","willDestroyRowCheckbox","filter","selectableRowsCount","length","selectedRowsCount","indeterminate","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/table/index.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\nimport { tracked } from '@glimmer/tracking';\nimport type { ComponentLike } from '@glint/template';\n\nimport {\n HdsTableDensityValues,\n HdsTableThSortOrderValues,\n HdsTableVerticalAlignmentValues,\n} from './types.ts';\nimport type {\n HdsTableColumn,\n HdsTableDensities,\n HdsTableHorizontalAlignment,\n HdsTableOnSelectionChangeSignature,\n HdsTableSelectableRow,\n HdsTableSortingFunction,\n HdsTableThSortOrder,\n HdsTableVerticalAlignment,\n HdsTableModel,\n} from './types';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base';\nimport type { HdsTableTdSignature } from './td.ts';\nimport type { HdsTableThSignature } from './th.ts';\nimport type { HdsTableThSortSignature } from './th-sort.ts';\nimport type { HdsTableTrSignature } from './tr.ts';\nimport type Owner from '@ember/owner';\n\nexport const DENSITIES: HdsTableDensities[] = Object.values(\n HdsTableDensityValues\n);\nexport const DEFAULT_DENSITY = HdsTableDensityValues.Medium;\n\nexport const VALIGNMENTS: HdsTableVerticalAlignment[] = Object.values(\n HdsTableVerticalAlignmentValues\n);\nexport const DEFAULT_VALIGN = HdsTableVerticalAlignmentValues.Top;\n\nexport interface HdsTableSignature {\n Args: {\n align?: HdsTableHorizontalAlignment;\n caption?: string;\n columns?: HdsTableColumn[];\n density?: HdsTableDensities;\n identityKey?: string;\n isFixedLayout?: boolean;\n isSelectable?: boolean;\n isStriped?: boolean;\n model?: HdsTableModel;\n onSelectionChange?: (selection: HdsTableOnSelectionChangeSignature) => void;\n onSort?: (sortBy: string, sortOrder: HdsTableThSortOrder) => void;\n selectionAriaLabelSuffix?: string;\n sortBy?: string;\n selectableColumnKey?: string;\n sortedMessageText?: string;\n sortOrder?: HdsTableThSortOrder;\n valign?: HdsTableVerticalAlignment;\n };\n Blocks: {\n head?: [\n {\n Tr?: ComponentLike<HdsTableTrSignature>;\n Th?: ComponentLike<HdsTableThSignature>;\n ThSort?: ComponentLike<HdsTableThSortSignature>;\n sortBy?: string;\n sortOrder?: HdsTableThSortOrder;\n setSortBy?: (column: string) => void;\n },\n ];\n body?: [\n {\n Td?: ComponentLike<HdsTableTdSignature>;\n Tr?: ComponentLike<HdsTableTrSignature>;\n Th?: ComponentLike<HdsTableThSignature>;\n data?: Record<string, unknown>;\n rowIndex?: number;\n sortBy?: string;\n sortOrder?: HdsTableThSortOrder;\n },\n ];\n };\n Element: HTMLTableElement;\n}\n\nexport default class HdsTable extends Component<HdsTableSignature> {\n @tracked sortBy;\n @tracked sortOrder;\n @tracked\n private _selectAllCheckbox?: HdsFormCheckboxBaseSignature['Element'] =\n undefined;\n private _selectableRows: HdsTableSelectableRow[] = [];\n @tracked private _isSelectAllCheckboxSelected?: boolean = undefined;\n\n constructor(owner: Owner, args: HdsTableSignature['Args']) {\n super(owner, args);\n this.sortBy = this.args.sortBy ?? undefined;\n this.sortOrder = this.args.sortOrder ?? HdsTableThSortOrderValues.Asc;\n }\n\n get getSortCriteria(): string | HdsTableSortingFunction<unknown> {\n // get the current column\n const currentColumn = this.args?.columns?.find(\n (column) => column.key === this.sortBy\n );\n if (\n // check if there is a custom sorting function associated with the current `sortBy` column (we assume the column has `isSortable`)\n currentColumn?.sortingFunction &&\n typeof currentColumn.sortingFunction === 'function'\n ) {\n return currentColumn.sortingFunction;\n } else {\n // otherwise fallback to the default format \"sortBy:sortOrder\"\n return `${this.sortBy}:${this.sortOrder}`;\n }\n }\n\n get identityKey(): string | undefined {\n // we have to provide a way for the consumer to pass undefined because Ember tries to interpret undefined as missing an arg and therefore falls back to the default\n if (this.args.identityKey === 'none') {\n return undefined;\n } else {\n return this.args.identityKey ?? '@identity';\n }\n }\n\n get sortedMessageText(): string {\n if (this.args.sortedMessageText) {\n return this.args.sortedMessageText;\n } else if (this.sortBy && this.sortOrder) {\n // we should allow the user to define a custom value here (e.g., for i18n) - tracked with HDS-965\n return `Sorted by ${this.sortBy} ${this.sortOrder}ending`;\n } else {\n return '';\n }\n }\n\n get isStriped(): boolean {\n return this.args.isStriped ?? false;\n }\n\n get isFixedLayout(): boolean {\n return this.args.isFixedLayout ?? false;\n }\n\n get density(): HdsTableDensities {\n const { density = DEFAULT_DENSITY } = this.args;\n\n assert(\n `@density for \"Hds::Table\" must be one of the following: ${DENSITIES.join(\n ', '\n )}; received: ${density}`,\n DENSITIES.includes(density)\n );\n\n return density;\n }\n\n get valign(): HdsTableVerticalAlignment {\n const { valign = DEFAULT_VALIGN } = this.args;\n\n assert(\n `@valign for \"Hds::Table\" must be one of the following: ${VALIGNMENTS.join(\n ', '\n )}; received: ${valign}`,\n VALIGNMENTS.includes(valign)\n );\n\n return valign;\n }\n\n get classNames(): string {\n const classes = ['hds-table'];\n\n // add a class based on the @isStriped argument\n if (this.isStriped) {\n classes.push('hds-table--striped');\n }\n\n // add a class based on the @isFixedLayout argument\n if (this.isFixedLayout) {\n classes.push('hds-table--layout-fixed');\n }\n\n // add a class based on the @density argument\n if (this.density) {\n classes.push(`hds-table--density-${this.density}`);\n }\n\n // add a class based on the @valign argument\n if (this.valign) {\n classes.push(`hds-table--valign-${this.valign}`);\n }\n\n return classes.join(' ');\n }\n\n @action\n setSortBy(column: string): void {\n if (this.sortBy === column) {\n // check to see if the column is already sorted and invert the sort order if so\n this.sortOrder =\n this.sortOrder === HdsTableThSortOrderValues.Asc\n ? HdsTableThSortOrderValues.Desc\n : HdsTableThSortOrderValues.Asc;\n } else {\n // otherwise, set the sort order to ascending\n this.sortBy = column;\n this.sortOrder = HdsTableThSortOrderValues.Asc;\n }\n\n const { onSort } = this.args;\n\n if (typeof onSort === 'function') {\n onSort(this.sortBy, this.sortOrder);\n }\n }\n\n onSelectionChangeCallback(\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n const { onSelectionChange } = this.args;\n if (typeof onSelectionChange === 'function') {\n onSelectionChange({\n selectionKey: selectionKey,\n selectionCheckboxElement: checkbox,\n selectedRowsKeys: this._selectableRows.reduce<string[]>((acc, row) => {\n if (row.checkbox.checked) {\n acc.push(row.selectionKey);\n }\n return acc;\n }, []),\n selectableRowsStates: this._selectableRows.reduce(\n (\n acc: { selectionKey: string; isSelected: boolean | undefined }[],\n row\n ) => {\n acc.push({\n selectionKey: row.selectionKey,\n isSelected: row.checkbox.checked,\n });\n return acc;\n },\n []\n ),\n });\n }\n }\n\n @action\n onSelectionAllChange(): void {\n this._selectableRows.forEach((row) => {\n row.checkbox.checked = this._selectAllCheckbox?.checked ?? false;\n });\n this._isSelectAllCheckboxSelected =\n this._selectAllCheckbox?.checked ?? false;\n this.onSelectionChangeCallback(this._selectAllCheckbox, 'all');\n }\n\n @action\n onSelectionRowChange(\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n this.setSelectAllState();\n this.onSelectionChangeCallback(checkbox, selectionKey);\n }\n\n @action\n didInsertSelectAllCheckbox(\n checkbox: HdsFormCheckboxBaseSignature['Element']\n ): void {\n this._selectAllCheckbox = checkbox;\n }\n\n @action\n willDestroySelectAllCheckbox(): void {\n this._selectAllCheckbox = undefined;\n }\n\n @action\n didInsertRowCheckbox(\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n if (selectionKey) {\n this._selectableRows.push({ selectionKey, checkbox });\n }\n this.setSelectAllState();\n }\n\n @action\n willDestroyRowCheckbox(selectionKey?: string): void {\n this._selectableRows = this._selectableRows.filter(\n (row) => row.selectionKey !== selectionKey\n );\n this.setSelectAllState();\n }\n\n @action\n setSelectAllState(): void {\n if (this._selectAllCheckbox) {\n const selectableRowsCount = this._selectableRows.length;\n const selectedRowsCount = this._selectableRows.filter(\n (row) => row.checkbox.checked\n ).length;\n\n this._selectAllCheckbox.checked =\n selectedRowsCount === selectableRowsCount;\n this._selectAllCheckbox.indeterminate =\n selectedRowsCount > 0 && selectedRowsCount < selectableRowsCount;\n this._isSelectAllCheckboxSelected = this._selectAllCheckbox.checked;\n }\n }\n}\n"],"names":["DENSITIES","Object","values","HdsTableDensityValues","DEFAULT_DENSITY","Medium","VALIGNMENTS","HdsTableVerticalAlignmentValues","DEFAULT_VALIGN","Top","HdsTable","Component","g","prototype","tracked","i","void 0","undefined","_selectableRows","constructor","owner","args","sortBy","sortOrder","HdsTableThSortOrderValues","Asc","getSortCriteria","currentColumn","columns","find","column","key","sortingFunction","identityKey","sortedMessageText","isStriped","isFixedLayout","density","assert","join","includes","valign","classNames","classes","push","setSortBy","Desc","onSort","n","action","onSelectionChangeCallback","checkbox","selectionKey","onSelectionChange","selectionCheckboxElement","selectedRowsKeys","reduce","acc","row","checked","selectableRowsStates","isSelected","onSelectionAllChange","forEach","_selectAllCheckbox","_isSelectAllCheckboxSelected","onSelectionRowChange","setSelectAllState","didInsertSelectAllCheckbox","willDestroySelectAllCheckbox","didInsertRowCheckbox","willDestroyRowCheckbox","filter","selectableRowsCount","length","selectedRowsCount","indeterminate","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;;AA+BO,MAAMA,SAA8B,GAAGC,MAAM,CAACC,MAAM,CACzDC,qBACF;AACaC,MAAAA,eAAe,GAAGD,qBAAqB,CAACE;AAE9C,MAAMC,WAAwC,GAAGL,MAAM,CAACC,MAAM,CACnEK,+BACF;AACaC,MAAAA,cAAc,GAAGD,+BAA+B,CAACE;AAgD/C,MAAMC,QAAQ,SAASC,SAAS,CAAoB;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,QAAA,EAAA,CAChEC,OAAO,CAAA,CAAA;AAAA;AAAA,EAAA,OAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,QAAA,CAAA,EAAAC,SAAA;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,WAAA,EAAA,CACPC,OAAO,CAAA,CAAA;AAAA;AAAA,EAAA,UAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,WAAA,CAAA,EAAAC,SAAA;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,oBAAA,EAAA,CACPC,OAAO,CAAA,EAAA,YAAA;AAAA,MAAA,OAENG,SAAS;AAAA,KAAA,CAAA;AAAA;AAAA,EAAA,mBAAA,IAAAF,CAAA,CAAA,IAAA,EAAA,oBAAA,CAAA,EAAAC,SAAA;AACHE,EAAAA,eAAe,GAA4B,EAAE;AAAC,EAAA;IAAAN,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,8BAAA,EAAA,CACrDC,OAAO,CAAA,EAAA,YAAA;AAAA,MAAA,OAAkDG,SAAS;AAAA,KAAA,CAAA;AAAA;AAAA,EAAA,6BAAA,IAAAF,CAAA,CAAA,IAAA,EAAA,8BAAA,CAAA,EAAAC,SAAA;AAEnEG,EAAAA,WAAWA,CAACC,KAAY,EAAEC,IAA+B,EAAE;AACzD,IAAA,KAAK,CAACD,KAAK,EAAEC,IAAI,CAAC;IAClB,IAAI,CAACC,MAAM,GAAG,IAAI,CAACD,IAAI,CAACC,MAAM,IAAIL,SAAS;IAC3C,IAAI,CAACM,SAAS,GAAG,IAAI,CAACF,IAAI,CAACE,SAAS,IAAIC,yBAAyB,CAACC,GAAG;AACvE;EAEA,IAAIC,eAAeA,GAA8C;AAC/D;AACA,IAAA,MAAMC,aAAa,GAAG,IAAI,CAACN,IAAI,EAAEO,OAAO,EAAEC,IAAI,CAC3CC,MAAM,IAAKA,MAAM,CAACC,GAAG,KAAK,IAAI,CAACT,MAClC,CAAC;AACD,IAAA;AACE;IACAK,aAAa,EAAEK,eAAe,IAC9B,OAAOL,aAAa,CAACK,eAAe,KAAK,UAAU,EACnD;MACA,OAAOL,aAAa,CAACK,eAAe;AACtC,KAAC,MAAM;AACL;MACA,OAAO,CAAA,EAAG,IAAI,CAACV,MAAM,IAAI,IAAI,CAACC,SAAS,CAAE,CAAA;AAC3C;AACF;EAEA,IAAIU,WAAWA,GAAuB;AACpC;AACA,IAAA,IAAI,IAAI,CAACZ,IAAI,CAACY,WAAW,KAAK,MAAM,EAAE;AACpC,MAAA,OAAOhB,SAAS;AAClB,KAAC,MAAM;AACL,MAAA,OAAO,IAAI,CAACI,IAAI,CAACY,WAAW,IAAI,WAAW;AAC7C;AACF;EAEA,IAAIC,iBAAiBA,GAAW;AAC9B,IAAA,IAAI,IAAI,CAACb,IAAI,CAACa,iBAAiB,EAAE;AAC/B,MAAA,OAAO,IAAI,CAACb,IAAI,CAACa,iBAAiB;KACnC,MAAM,IAAI,IAAI,CAACZ,MAAM,IAAI,IAAI,CAACC,SAAS,EAAE;AACxC;MACA,OAAO,CAAA,UAAA,EAAa,IAAI,CAACD,MAAM,IAAI,IAAI,CAACC,SAAS,CAAQ,MAAA,CAAA;AAC3D,KAAC,MAAM;AACL,MAAA,OAAO,EAAE;AACX;AACF;EAEA,IAAIY,SAASA,GAAY;AACvB,IAAA,OAAO,IAAI,CAACd,IAAI,CAACc,SAAS,IAAI,KAAK;AACrC;EAEA,IAAIC,aAAaA,GAAY;AAC3B,IAAA,OAAO,IAAI,CAACf,IAAI,CAACe,aAAa,IAAI,KAAK;AACzC;EAEA,IAAIC,OAAOA,GAAsB;IAC/B,MAAM;AAAEA,MAAAA,OAAO,GAAGjC;KAAiB,GAAG,IAAI,CAACiB,IAAI;AAE/CiB,IAAAA,MAAM,CACJ,CAA2DtC,wDAAAA,EAAAA,SAAS,CAACuC,IAAI,CACvE,IACF,CAAC,CAAA,YAAA,EAAeF,OAAO,CAAA,CAAE,EACzBrC,SAAS,CAACwC,QAAQ,CAACH,OAAO,CAC5B,CAAC;AAED,IAAA,OAAOA,OAAO;AAChB;EAEA,IAAII,MAAMA,GAA8B;IACtC,MAAM;AAAEA,MAAAA,MAAM,GAAGjC;KAAgB,GAAG,IAAI,CAACa,IAAI;AAE7CiB,IAAAA,MAAM,CACJ,CAA0DhC,uDAAAA,EAAAA,WAAW,CAACiC,IAAI,CACxE,IACF,CAAC,CAAA,YAAA,EAAeE,MAAM,CAAA,CAAE,EACxBnC,WAAW,CAACkC,QAAQ,CAACC,MAAM,CAC7B,CAAC;AAED,IAAA,OAAOA,MAAM;AACf;EAEA,IAAIC,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,WAAW,CAAC;;AAE7B;IACA,IAAI,IAAI,CAACR,SAAS,EAAE;AAClBQ,MAAAA,OAAO,CAACC,IAAI,CAAC,oBAAoB,CAAC;AACpC;;AAEA;IACA,IAAI,IAAI,CAACR,aAAa,EAAE;AACtBO,MAAAA,OAAO,CAACC,IAAI,CAAC,yBAAyB,CAAC;AACzC;;AAEA;IACA,IAAI,IAAI,CAACP,OAAO,EAAE;MAChBM,OAAO,CAACC,IAAI,CAAC,CAAA,mBAAA,EAAsB,IAAI,CAACP,OAAO,EAAE,CAAC;AACpD;;AAEA;IACA,IAAI,IAAI,CAACI,MAAM,EAAE;MACfE,OAAO,CAACC,IAAI,CAAC,CAAA,kBAAA,EAAqB,IAAI,CAACH,MAAM,EAAE,CAAC;AAClD;AAEA,IAAA,OAAOE,OAAO,CAACJ,IAAI,CAAC,GAAG,CAAC;AAC1B;EAGAM,SAASA,CAACf,MAAc,EAAQ;AAC9B,IAAA,IAAI,IAAI,CAACR,MAAM,KAAKQ,MAAM,EAAE;AAC1B;AACA,MAAA,IAAI,CAACP,SAAS,GACZ,IAAI,CAACA,SAAS,KAAKC,yBAAyB,CAACC,GAAG,GAC5CD,yBAAyB,CAACsB,IAAI,GAC9BtB,yBAAyB,CAACC,GAAG;AACrC,KAAC,MAAM;AACL;MACA,IAAI,CAACH,MAAM,GAAGQ,MAAM;AACpB,MAAA,IAAI,CAACP,SAAS,GAAGC,yBAAyB,CAACC,GAAG;AAChD;IAEA,MAAM;AAAEsB,MAAAA;KAAQ,GAAG,IAAI,CAAC1B,IAAI;AAE5B,IAAA,IAAI,OAAO0B,MAAM,KAAK,UAAU,EAAE;MAChCA,MAAM,CAAC,IAAI,CAACzB,MAAM,EAAE,IAAI,CAACC,SAAS,CAAC;AACrC;AACF;AAAC,EAAA;IAAAyB,CAAA,CAAA,IAAA,CAAAnC,SAAA,EAAA,WAAA,EAAA,CAnBAoC,MAAM,CAAA,CAAA;AAAA;AAqBPC,EAAAA,yBAAyBA,CACvBC,QAAkD,EAClDC,YAAqB,EACf;IACN,MAAM;AAAEC,MAAAA;KAAmB,GAAG,IAAI,CAAChC,IAAI;AACvC,IAAA,IAAI,OAAOgC,iBAAiB,KAAK,UAAU,EAAE;AAC3CA,MAAAA,iBAAiB,CAAC;AAChBD,QAAAA,YAAY,EAAEA,YAAY;AAC1BE,QAAAA,wBAAwB,EAAEH,QAAQ;QAClCI,gBAAgB,EAAE,IAAI,CAACrC,eAAe,CAACsC,MAAM,CAAW,CAACC,GAAG,EAAEC,GAAG,KAAK;AACpE,UAAA,IAAIA,GAAG,CAACP,QAAQ,CAACQ,OAAO,EAAE;AACxBF,YAAAA,GAAG,CAACb,IAAI,CAACc,GAAG,CAACN,YAAY,CAAC;AAC5B;AACA,UAAA,OAAOK,GAAG;SACX,EAAE,EAAE,CAAC;QACNG,oBAAoB,EAAE,IAAI,CAAC1C,eAAe,CAACsC,MAAM,CAC/C,CACEC,GAAgE,EAChEC,GAAG,KACA;UACHD,GAAG,CAACb,IAAI,CAAC;YACPQ,YAAY,EAAEM,GAAG,CAACN,YAAY;AAC9BS,YAAAA,UAAU,EAAEH,GAAG,CAACP,QAAQ,CAACQ;AAC3B,WAAC,CAAC;AACF,UAAA,OAAOF,GAAG;AACZ,SAAC,EACD,EACF;AACF,OAAC,CAAC;AACJ;AACF;AAGAK,EAAAA,oBAAoBA,GAAS;AAC3B,IAAA,IAAI,CAAC5C,eAAe,CAAC6C,OAAO,CAAEL,GAAG,IAAK;MACpCA,GAAG,CAACP,QAAQ,CAACQ,OAAO,GAAG,IAAI,CAACK,kBAAkB,EAAEL,OAAO,IAAI,KAAK;AAClE,KAAC,CAAC;IACF,IAAI,CAACM,4BAA4B,GAC/B,IAAI,CAACD,kBAAkB,EAAEL,OAAO,IAAI,KAAK;IAC3C,IAAI,CAACT,yBAAyB,CAAC,IAAI,CAACc,kBAAkB,EAAE,KAAK,CAAC;AAChE;AAAC,EAAA;IAAAhB,CAAA,CAAA,IAAA,CAAAnC,SAAA,EAAA,sBAAA,EAAA,CARAoC,MAAM,CAAA,CAAA;AAAA;AAWPiB,EAAAA,oBAAoBA,CAClBf,QAAkD,EAClDC,YAAqB,EACf;IACN,IAAI,CAACe,iBAAiB,EAAE;AACxB,IAAA,IAAI,CAACjB,yBAAyB,CAACC,QAAQ,EAAEC,YAAY,CAAC;AACxD;AAAC,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAnC,SAAA,EAAA,sBAAA,EAAA,CAPAoC,MAAM,CAAA,CAAA;AAAA;EAUPmB,0BAA0BA,CACxBjB,QAAiD,EAC3C;IACN,IAAI,CAACa,kBAAkB,GAAGb,QAAQ;AACpC;AAAC,EAAA;IAAAH,CAAA,CAAA,IAAA,CAAAnC,SAAA,EAAA,4BAAA,EAAA,CALAoC,MAAM,CAAA,CAAA;AAAA;AAQPoB,EAAAA,4BAA4BA,GAAS;IACnC,IAAI,CAACL,kBAAkB,GAAG/C,SAAS;AACrC;AAAC,EAAA;IAAA+B,CAAA,CAAA,IAAA,CAAAnC,SAAA,EAAA,8BAAA,EAAA,CAHAoC,MAAM,CAAA,CAAA;AAAA;AAMPqB,EAAAA,oBAAoBA,CAClBnB,QAAiD,EACjDC,YAAqB,EACf;AACN,IAAA,IAAIA,YAAY,EAAE;AAChB,MAAA,IAAI,CAAClC,eAAe,CAAC0B,IAAI,CAAC;QAAEQ,YAAY;AAAED,QAAAA;AAAS,OAAC,CAAC;AACvD;IACA,IAAI,CAACgB,iBAAiB,EAAE;AAC1B;AAAC,EAAA;IAAAnB,CAAA,CAAA,IAAA,CAAAnC,SAAA,EAAA,sBAAA,EAAA,CATAoC,MAAM,CAAA,CAAA;AAAA;EAYPsB,sBAAsBA,CAACnB,YAAqB,EAAQ;AAClD,IAAA,IAAI,CAAClC,eAAe,GAAG,IAAI,CAACA,eAAe,CAACsD,MAAM,CAC/Cd,GAAG,IAAKA,GAAG,CAACN,YAAY,KAAKA,YAChC,CAAC;IACD,IAAI,CAACe,iBAAiB,EAAE;AAC1B;AAAC,EAAA;IAAAnB,CAAA,CAAA,IAAA,CAAAnC,SAAA,EAAA,wBAAA,EAAA,CANAoC,MAAM,CAAA,CAAA;AAAA;AASPkB,EAAAA,iBAAiBA,GAAS;IACxB,IAAI,IAAI,CAACH,kBAAkB,EAAE;AAC3B,MAAA,MAAMS,mBAAmB,GAAG,IAAI,CAACvD,eAAe,CAACwD,MAAM;AACvD,MAAA,MAAMC,iBAAiB,GAAG,IAAI,CAACzD,eAAe,CAACsD,MAAM,CAClDd,GAAG,IAAKA,GAAG,CAACP,QAAQ,CAACQ,OACxB,CAAC,CAACe,MAAM;AAER,MAAA,IAAI,CAACV,kBAAkB,CAACL,OAAO,GAC7BgB,iBAAiB,KAAKF,mBAAmB;MAC3C,IAAI,CAACT,kBAAkB,CAACY,aAAa,GACnCD,iBAAiB,GAAG,CAAC,IAAIA,iBAAiB,GAAGF,mBAAmB;AAClE,MAAA,IAAI,CAACR,4BAA4B,GAAG,IAAI,CAACD,kBAAkB,CAACL,OAAO;AACrE;AACF;AAAC,EAAA;IAAAX,CAAA,CAAA,IAAA,CAAAnC,SAAA,EAAA,mBAAA,EAAA,CAdAoC,MAAM,CAAA,CAAA;AAAA;AAeT;AAAC4B,oBAAA,CAAAC,QAAA,EAtOoBpE,QAAQ,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"td.js","sources":["../../../../src/components/hds/table/td.hbs","../../../../src/components/hds/table/td.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<td class={{this.classNames}} ...attributes>\\n {{yield}}\\n</td>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport type { HdsTableHorizontalAlignment } from './types.ts';\nimport { HdsTableHorizontalAlignmentValues } from './types.ts';\n\nexport const ALIGNMENTS: string[] = Object.values(\n HdsTableHorizontalAlignmentValues\n);\nexport const DEFAULT_ALIGN = HdsTableHorizontalAlignmentValues.Left;\n\nexport interface HdsTableTdSignature {\n Args: {\n align?: HdsTableHorizontalAlignment;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLTableCellElement;\n}\nexport default class HdsTableTd extends Component<HdsTableTdSignature> {\n /**\n * @param align\n * @type {string}\n * @default left\n * @description Determines the text alignment of the header or cell content. Options are: \"left\", \"center\", \"right\". If no align is defined, \"left\" is used.\n */\n get align(): HdsTableHorizontalAlignment {\n const { align = DEFAULT_ALIGN } = this.args;\n\n assert(\n `@align for \"Hds::Table::Td\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${align}`,\n ALIGNMENTS.includes(align)\n );\n return align;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = [\n 'hds-table__td',\n 'hds-typography-body-200',\n 'hds-font-weight-regular',\n ];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-table__td--align-${this.align}`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["ALIGNMENTS","Object","values","HdsTableHorizontalAlignmentValues","DEFAULT_ALIGN","Left","HdsTableTd","Component","align","args","assert","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,gJAAgJ;;ACDlL;AACA;AACA;AACA;;AAQO,MAAMA,UAAoB,GAAGC,MAAM,CAACC,MAAM,CAC/CC,iCACF;AACaC,MAAAA,aAAa,GAAGD,iCAAiC,CAACE;AAWhD,MAAMC,UAAU,SAASC,SAAS,CAAsB;AACrE;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAgC;IACvC,MAAM;AAAEA,MAAAA,KAAK,GAAGJ;KAAe,GAAG,IAAI,CAACK,IAAI;AAE3CC,IAAAA,MAAM,CACJ,CAA6DV,0DAAAA,EAAAA,UAAU,CAACW,IAAI,CAC1E,IACF,CAAC,CAAA,YAAA,EAAeH,KAAK,CAAA,CAAE,EACvBR,UAAU,CAACY,QAAQ,CAACJ,KAAK,CAC3B,CAAC;AACD,IAAA,OAAOA,KAAK;AACd;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIK,UAAUA,GAAW;IACvB,MAAMC,OAAO,GAAG,CACd,eAAe,EACf,yBAAyB,EACzB,yBAAyB,CAC1B;;AAED;IACA,IAAI,IAAI,CAACN,KAAK,EAAE;MACdM,OAAO,CAACC,IAAI,CAAC,CAAA,qBAAA,EAAwB,IAAI,CAACP,KAAK,EAAE,CAAC;AACpD;AAEA,IAAA,OAAOM,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACK,oBAAA,CAAAC,QAAA,EAtCoBX,UAAU,CAAA;;;;"}
1
+ {"version":3,"file":"td.js","sources":["../../../../src/components/hds/table/td.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport type { HdsTableHorizontalAlignment } from './types.ts';\nimport { HdsTableHorizontalAlignmentValues } from './types.ts';\n\nexport const ALIGNMENTS: string[] = Object.values(\n HdsTableHorizontalAlignmentValues\n);\nexport const DEFAULT_ALIGN = HdsTableHorizontalAlignmentValues.Left;\n\nexport interface HdsTableTdSignature {\n Args: {\n align?: HdsTableHorizontalAlignment;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLTableCellElement;\n}\nexport default class HdsTableTd extends Component<HdsTableTdSignature> {\n /**\n * @param align\n * @type {string}\n * @default left\n * @description Determines the text alignment of the header or cell content. Options are: \"left\", \"center\", \"right\". If no align is defined, \"left\" is used.\n */\n get align(): HdsTableHorizontalAlignment {\n const { align = DEFAULT_ALIGN } = this.args;\n\n assert(\n `@align for \"Hds::Table::Td\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${align}`,\n ALIGNMENTS.includes(align)\n );\n return align;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = [\n 'hds-table__td',\n 'hds-typography-body-200',\n 'hds-font-weight-regular',\n ];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-table__td--align-${this.align}`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["ALIGNMENTS","Object","values","HdsTableHorizontalAlignmentValues","DEFAULT_ALIGN","Left","HdsTableTd","Component","align","args","assert","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;;AAQO,MAAMA,UAAoB,GAAGC,MAAM,CAACC,MAAM,CAC/CC,iCACF;AACaC,MAAAA,aAAa,GAAGD,iCAAiC,CAACE;AAWhD,MAAMC,UAAU,SAASC,SAAS,CAAsB;AACrE;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAgC;IACvC,MAAM;AAAEA,MAAAA,KAAK,GAAGJ;KAAe,GAAG,IAAI,CAACK,IAAI;AAE3CC,IAAAA,MAAM,CACJ,CAA6DV,0DAAAA,EAAAA,UAAU,CAACW,IAAI,CAC1E,IACF,CAAC,CAAA,YAAA,EAAeH,KAAK,CAAA,CAAE,EACvBR,UAAU,CAACY,QAAQ,CAACJ,KAAK,CAC3B,CAAC;AACD,IAAA,OAAOA,KAAK;AACd;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIK,UAAUA,GAAW;IACvB,MAAMC,OAAO,GAAG,CACd,eAAe,EACf,yBAAyB,EACzB,yBAAyB,CAC1B;;AAED;IACA,IAAI,IAAI,CAACN,KAAK,EAAE;MACdM,OAAO,CAACC,IAAI,CAAC,CAAA,qBAAA,EAAwB,IAAI,CAACP,KAAK,EAAE,CAAC;AACpD;AAEA,IAAA,OAAOM,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACK,oBAAA,CAAAC,QAAA,EAtCoBX,UAAU,CAAA;;;;"}
@@ -1,4 +1,3 @@
1
- import { a as _defineProperty } from '../../../_rollupPluginBabelHelpers-C_TsMG3M.js';
2
1
  import Component from '@glimmer/component';
3
2
  import { guidFor } from '@ember/object/internals';
4
3
  import { HdsTableThSortOrderIconValues, HdsTableThSortOrderValues, HdsTableThSortOrderLabelValues } from './types.js';
@@ -7,14 +6,16 @@ import { setComponentTemplate } from '@ember/component';
7
6
 
8
7
  var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<button\n type=\"button\"\n class={{this.classNames}}\n {{on \"click\" this.onClick}}\n aria-labelledby=\"{{this._prefixLabelId}} {{@labelId}} {{this._suffixLabelId}}\"\n ...attributes\n>\n <span id={{this._prefixLabelId}} class=\"hds-table__th-button-aria-label-hidden-segment\">Sort by</span>\n <span id={{this._suffixLabelId}} class=\"hds-table__th-button-aria-label-hidden-segment\">{{this.sortOrderLabel}}</span>\n <Hds::Icon @name={{this.icon}} />\n</button>");
9
8
 
9
+ /**
10
+ * Copyright (c) HashiCorp, Inc.
11
+ * SPDX-License-Identifier: MPL-2.0
12
+ */
13
+
10
14
  const NOOP = () => {};
11
15
  class HdsTableThButtonSort extends Component {
12
- constructor(...args) {
13
- super(...args);
14
- // Generates a unique ID for the (hidden) "label prefix/suffix" <span> elements
15
- _defineProperty(this, "_prefixLabelId", 'prefix-' + guidFor(this));
16
- _defineProperty(this, "_suffixLabelId", 'suffix-' + guidFor(this));
17
- }
16
+ // Generates a unique ID for the (hidden) "label prefix/suffix" <span> elements
17
+ _prefixLabelId = 'prefix-' + guidFor(this);
18
+ _suffixLabelId = 'suffix-' + guidFor(this);
18
19
  get icon() {
19
20
  switch (this.args.sortOrder) {
20
21
  case HdsTableThSortOrderValues.Asc:
@@ -1 +1 @@
1
- {"version":3,"file":"th-button-sort.js","sources":["../../../../src/components/hds/table/th-button-sort.hbs","../../../../src/components/hds/table/th-button-sort.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<button\\n type=\\\"button\\\"\\n class={{this.classNames}}\\n {{on \\\"click\\\" this.onClick}}\\n aria-labelledby=\\\"{{this._prefixLabelId}} {{@labelId}} {{this._suffixLabelId}}\\\"\\n ...attributes\\n>\\n <span id={{this._prefixLabelId}} class=\\\"hds-table__th-button-aria-label-hidden-segment\\\">Sort by</span>\\n <span id={{this._suffixLabelId}} class=\\\"hds-table__th-button-aria-label-hidden-segment\\\">{{this.sortOrderLabel}}</span>\\n <Hds::Icon @name={{this.icon}} />\\n</button>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport {\n HdsTableThSortOrderIconValues,\n HdsTableThSortOrderLabelValues,\n HdsTableThSortOrderValues,\n} from './types.ts';\nimport type {\n HdsTableThSortOrder,\n HdsTableThSortOrderIcons,\n HdsTableThSortOrderLabels,\n} from './types.ts';\nexport interface HdsTableThButtonSortSignature {\n Args: {\n labelId?: string;\n onClick?: () => void;\n sortOrder?: HdsTableThSortOrder;\n };\n Element: HTMLButtonElement;\n}\n\nconst NOOP = () => {};\n\nexport default class HdsTableThButtonSort extends Component<HdsTableThButtonSortSignature> {\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(): HdsTableThSortOrderIcons {\n switch (this.args.sortOrder) {\n case HdsTableThSortOrderValues.Asc:\n return HdsTableThSortOrderIconValues.ArrowUp;\n case HdsTableThSortOrderValues.Desc:\n return HdsTableThSortOrderIconValues.ArrowDown;\n default:\n return HdsTableThSortOrderIconValues.SwapVertical;\n }\n }\n\n // 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(): HdsTableThSortOrderLabels {\n return this.args.sortOrder === HdsTableThSortOrderValues.Asc\n ? HdsTableThSortOrderLabelValues.Desc\n : HdsTableThSortOrderLabelValues.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 = ['hds-table__th-button', 'hds-table__th-button--sort'];\n\n // add a class based on the @sortOrder argument\n if (\n this.args.sortOrder === HdsTableThSortOrderValues.Asc ||\n this.args.sortOrder === HdsTableThSortOrderValues.Desc\n ) {\n classes.push(`hds-table__th-button--is-sorted`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["NOOP","HdsTableThButtonSort","Component","constructor","args","_defineProperty","guidFor","icon","sortOrder","HdsTableThSortOrderValues","Asc","HdsTableThSortOrderIconValues","ArrowUp","Desc","ArrowDown","SwapVertical","sortOrderLabel","HdsTableThSortOrderLabelValues","onClick","classNames","classes","push","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AACA,eAAe,kBAAkB,CAAC,wiBAAwiB;;ACyB1kB,MAAMA,IAAI,GAAGA,MAAM,EAAE;AAEN,MAAMC,oBAAoB,SAASC,SAAS,CAAgC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;AACzF;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,GAA6B;AACnC,IAAA,QAAQ,IAAI,CAACH,IAAI,CAACI,SAAS;MACzB,KAAKC,yBAAyB,CAACC,GAAG;QAChC,OAAOC,6BAA6B,CAACC,OAAO;MAC9C,KAAKH,yBAAyB,CAACI,IAAI;QACjC,OAAOF,6BAA6B,CAACG,SAAS;AAChD,MAAA;QACE,OAAOH,6BAA6B,CAACI,YAAY;AACrD;AACF;;AAEA;AACA;EACA,IAAIC,cAAcA,GAA8B;AAC9C,IAAA,OAAO,IAAI,CAACZ,IAAI,CAACI,SAAS,KAAKC,yBAAyB,CAACC,GAAG,GACxDO,8BAA8B,CAACJ,IAAI,GACnCI,8BAA8B,CAACP,GAAG;AACxC;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,CAAC,sBAAsB,EAAE,4BAA4B,CAAC;;AAEtE;AACA,IAAA,IACE,IAAI,CAAChB,IAAI,CAACI,SAAS,KAAKC,yBAAyB,CAACC,GAAG,IACrD,IAAI,CAACN,IAAI,CAACI,SAAS,KAAKC,yBAAyB,CAACI,IAAI,EACtD;AACAO,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,+BAAA,CAAiC,CAAC;AACjD;AAEA,IAAA,OAAOD,OAAO,CAACE,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACC,oBAAA,CAAAC,QAAA,EA/CoBvB,oBAAoB,CAAA;;;;"}
1
+ {"version":3,"file":"th-button-sort.js","sources":["../../../../src/components/hds/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';\nimport {\n HdsTableThSortOrderIconValues,\n HdsTableThSortOrderLabelValues,\n HdsTableThSortOrderValues,\n} from './types.ts';\nimport type {\n HdsTableThSortOrder,\n HdsTableThSortOrderIcons,\n HdsTableThSortOrderLabels,\n} from './types.ts';\nexport interface HdsTableThButtonSortSignature {\n Args: {\n labelId?: string;\n onClick?: () => void;\n sortOrder?: HdsTableThSortOrder;\n };\n Element: HTMLButtonElement;\n}\n\nconst NOOP = () => {};\n\nexport default class HdsTableThButtonSort extends Component<HdsTableThButtonSortSignature> {\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(): HdsTableThSortOrderIcons {\n switch (this.args.sortOrder) {\n case HdsTableThSortOrderValues.Asc:\n return HdsTableThSortOrderIconValues.ArrowUp;\n case HdsTableThSortOrderValues.Desc:\n return HdsTableThSortOrderIconValues.ArrowDown;\n default:\n return HdsTableThSortOrderIconValues.SwapVertical;\n }\n }\n\n // 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(): HdsTableThSortOrderLabels {\n return this.args.sortOrder === HdsTableThSortOrderValues.Asc\n ? HdsTableThSortOrderLabelValues.Desc\n : HdsTableThSortOrderLabelValues.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 = ['hds-table__th-button', 'hds-table__th-button--sort'];\n\n // add a class based on the @sortOrder argument\n if (\n this.args.sortOrder === HdsTableThSortOrderValues.Asc ||\n this.args.sortOrder === HdsTableThSortOrderValues.Desc\n ) {\n classes.push(`hds-table__th-button--is-sorted`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["NOOP","HdsTableThButtonSort","Component","_prefixLabelId","guidFor","_suffixLabelId","icon","args","sortOrder","HdsTableThSortOrderValues","Asc","HdsTableThSortOrderIconValues","ArrowUp","Desc","ArrowDown","SwapVertical","sortOrderLabel","HdsTableThSortOrderLabelValues","onClick","classNames","classes","push","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;;AAuBA,MAAMA,IAAI,GAAGA,MAAM,EAAE;AAEN,MAAMC,oBAAoB,SAASC,SAAS,CAAgC;AACzF;AACQC,EAAAA,cAAc,GAAG,SAAS,GAAGC,OAAO,CAAC,IAAI,CAAC;AAC1CC,EAAAA,cAAc,GAAG,SAAS,GAAGD,OAAO,CAAC,IAAI,CAAC;EAElD,IAAIE,IAAIA,GAA6B;AACnC,IAAA,QAAQ,IAAI,CAACC,IAAI,CAACC,SAAS;MACzB,KAAKC,yBAAyB,CAACC,GAAG;QAChC,OAAOC,6BAA6B,CAACC,OAAO;MAC9C,KAAKH,yBAAyB,CAACI,IAAI;QACjC,OAAOF,6BAA6B,CAACG,SAAS;AAChD,MAAA;QACE,OAAOH,6BAA6B,CAACI,YAAY;AACrD;AACF;;AAEA;AACA;EACA,IAAIC,cAAcA,GAA8B;AAC9C,IAAA,OAAO,IAAI,CAACT,IAAI,CAACC,SAAS,KAAKC,yBAAyB,CAACC,GAAG,GACxDO,8BAA8B,CAACJ,IAAI,GACnCI,8BAA8B,CAACP,GAAG;AACxC;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,CAAC,sBAAsB,EAAE,4BAA4B,CAAC;;AAEtE;AACA,IAAA,IACE,IAAI,CAACb,IAAI,CAACC,SAAS,KAAKC,yBAAyB,CAACC,GAAG,IACrD,IAAI,CAACH,IAAI,CAACC,SAAS,KAAKC,yBAAyB,CAACI,IAAI,EACtD;AACAO,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,+BAAA,CAAiC,CAAC;AACjD;AAEA,IAAA,OAAOD,OAAO,CAACE,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACC,oBAAA,CAAAC,QAAA,EA/CoBvB,oBAAoB,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-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 HdsTableThButtonTooltip 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 "HdsTableThButtonTooltip" must be a string`, typeof this.args.tooltip === 'string');
18
19
  return this.args.tooltip;