@hashicorp/design-system-components 5.1.0-rc-20251202110410 → 5.1.0-rc-20251205193010

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 (1026) hide show
  1. package/README.md +1 -1
  2. package/declarations/components/hds/accordion/index.d.ts +1 -1
  3. package/declarations/components/hds/accordion/item/button.d.ts +1 -1
  4. package/declarations/components/hds/accordion/item/index.d.ts +1 -1
  5. package/declarations/components/hds/accordion/types.d.ts +1 -1
  6. package/declarations/components/hds/advanced-table/expandable-tr-group.d.ts +1 -1
  7. package/declarations/components/hds/advanced-table/index.d.ts +1 -11
  8. package/declarations/components/hds/advanced-table/models/column.d.ts +1 -1
  9. package/declarations/components/hds/advanced-table/models/row.d.ts +1 -1
  10. package/declarations/components/hds/advanced-table/models/table.d.ts +1 -1
  11. package/declarations/components/hds/advanced-table/td.d.ts +1 -1
  12. package/declarations/components/hds/advanced-table/th-button-expand.d.ts +1 -1
  13. package/declarations/components/hds/advanced-table/th-button-sort.d.ts +1 -1
  14. package/declarations/components/hds/advanced-table/th-button-tooltip.d.ts +1 -1
  15. package/declarations/components/hds/advanced-table/th-context-menu.d.ts +1 -1
  16. package/declarations/components/hds/advanced-table/th-reorder-drop-target.d.ts +1 -1
  17. package/declarations/components/hds/advanced-table/th-reorder-handle.d.ts +1 -1
  18. package/declarations/components/hds/advanced-table/th-resize-handle.d.ts +1 -1
  19. package/declarations/components/hds/advanced-table/th-selectable.d.ts +1 -1
  20. package/declarations/components/hds/advanced-table/th-sort.d.ts +1 -1
  21. package/declarations/components/hds/advanced-table/th.d.ts +1 -1
  22. package/declarations/components/hds/advanced-table/tr.d.ts +1 -1
  23. package/declarations/components/hds/advanced-table/types.d.ts +1 -1
  24. package/declarations/components/hds/advanced-table/utils.d.ts +1 -1
  25. package/declarations/components/hds/alert/description.d.ts +1 -1
  26. package/declarations/components/hds/alert/index.d.ts +1 -1
  27. package/declarations/components/hds/alert/title.d.ts +1 -1
  28. package/declarations/components/hds/alert/types.d.ts +1 -1
  29. package/declarations/components/hds/app-footer/copyright.d.ts +1 -1
  30. package/declarations/components/hds/app-footer/index.d.ts +1 -1
  31. package/declarations/components/hds/app-footer/item.d.ts +1 -1
  32. package/declarations/components/hds/app-footer/legal-links.d.ts +1 -1
  33. package/declarations/components/hds/app-footer/link.d.ts +1 -1
  34. package/declarations/components/hds/app-footer/status-link.d.ts +1 -1
  35. package/declarations/components/hds/app-footer/types.d.ts +1 -1
  36. package/declarations/components/hds/app-frame/index.d.ts +1 -1
  37. package/declarations/components/hds/app-frame/parts/footer.d.ts +1 -1
  38. package/declarations/components/hds/app-frame/parts/header.d.ts +1 -1
  39. package/declarations/components/hds/app-frame/parts/main.d.ts +1 -1
  40. package/declarations/components/hds/app-frame/parts/modals.d.ts +1 -1
  41. package/declarations/components/hds/app-frame/parts/sidebar.d.ts +1 -1
  42. package/declarations/components/hds/app-header/home-link.d.ts +1 -1
  43. package/declarations/components/hds/app-header/index.d.ts +1 -1
  44. package/declarations/components/hds/app-header/menu-button.d.ts +1 -1
  45. package/declarations/components/hds/app-side-nav/index.d.ts +1 -1
  46. package/declarations/components/hds/app-side-nav/list/back-link.d.ts +1 -1
  47. package/declarations/components/hds/app-side-nav/list/index.d.ts +1 -1
  48. package/declarations/components/hds/app-side-nav/list/item.d.ts +1 -1
  49. package/declarations/components/hds/app-side-nav/list/link.d.ts +1 -1
  50. package/declarations/components/hds/app-side-nav/list/title.d.ts +1 -1
  51. package/declarations/components/hds/app-side-nav/portal/index.d.ts +1 -1
  52. package/declarations/components/hds/app-side-nav/portal/target.d.ts +1 -1
  53. package/declarations/components/hds/app-side-nav/toggle-button.d.ts +1 -1
  54. package/declarations/components/hds/application-state/body.d.ts +1 -1
  55. package/declarations/components/hds/application-state/footer.d.ts +1 -1
  56. package/declarations/components/hds/application-state/header.d.ts +1 -1
  57. package/declarations/components/hds/application-state/index.d.ts +1 -1
  58. package/declarations/components/hds/application-state/media.d.ts +1 -1
  59. package/declarations/components/hds/application-state/types.d.ts +1 -1
  60. package/declarations/components/hds/badge/index.d.ts +1 -1
  61. package/declarations/components/hds/badge/types.d.ts +1 -1
  62. package/declarations/components/hds/badge-count/index.d.ts +1 -1
  63. package/declarations/components/hds/badge-count/types.d.ts +1 -1
  64. package/declarations/components/hds/breadcrumb/index.d.ts +1 -1
  65. package/declarations/components/hds/breadcrumb/item.d.ts +1 -1
  66. package/declarations/components/hds/breadcrumb/truncation.d.ts +1 -1
  67. package/declarations/components/hds/button/index.d.ts +1 -1
  68. package/declarations/components/hds/button/types.d.ts +1 -1
  69. package/declarations/components/hds/button-set/index.d.ts +1 -1
  70. package/declarations/components/hds/card/container.d.ts +1 -1
  71. package/declarations/components/hds/card/types.d.ts +1 -1
  72. package/declarations/components/hds/code-block/copy-button.d.ts +1 -1
  73. package/declarations/components/hds/code-block/description.d.ts +1 -1
  74. package/declarations/components/hds/code-block/index.d.ts +1 -1
  75. package/declarations/components/hds/code-block/title.d.ts +1 -1
  76. package/declarations/components/hds/code-block/types.d.ts +1 -1
  77. package/declarations/components/hds/code-editor/description.d.ts +1 -1
  78. package/declarations/components/hds/code-editor/full-screen-button.d.ts +1 -1
  79. package/declarations/components/hds/code-editor/generic.d.ts +1 -1
  80. package/declarations/components/hds/code-editor/index.d.ts +1 -1
  81. package/declarations/components/hds/code-editor/title.d.ts +1 -1
  82. package/declarations/components/hds/copy/button/index.d.ts +1 -1
  83. package/declarations/components/hds/copy/button/types.d.ts +1 -1
  84. package/declarations/components/hds/copy/snippet/index.d.ts +1 -1
  85. package/declarations/components/hds/copy/snippet/types.d.ts +1 -1
  86. package/declarations/components/hds/dialog-primitive/body.d.ts +1 -1
  87. package/declarations/components/hds/dialog-primitive/description.d.ts +1 -1
  88. package/declarations/components/hds/dialog-primitive/footer.d.ts +1 -1
  89. package/declarations/components/hds/dialog-primitive/header.d.ts +1 -1
  90. package/declarations/components/hds/dialog-primitive/overlay.d.ts +1 -1
  91. package/declarations/components/hds/dialog-primitive/types.d.ts +1 -1
  92. package/declarations/components/hds/dialog-primitive/wrapper.d.ts +1 -1
  93. package/declarations/components/hds/disclosure-primitive/index.d.ts +1 -1
  94. package/declarations/components/hds/dismiss-button/index.d.ts +1 -1
  95. package/declarations/components/hds/dropdown/footer.d.ts +1 -1
  96. package/declarations/components/hds/dropdown/header.d.ts +1 -1
  97. package/declarations/components/hds/dropdown/index.d.ts +1 -1
  98. package/declarations/components/hds/dropdown/list-item/checkbox.d.ts +1 -1
  99. package/declarations/components/hds/dropdown/list-item/checkmark.d.ts +1 -1
  100. package/declarations/components/hds/dropdown/list-item/copy-item.d.ts +1 -1
  101. package/declarations/components/hds/dropdown/list-item/description.d.ts +1 -1
  102. package/declarations/components/hds/dropdown/list-item/generic.d.ts +1 -1
  103. package/declarations/components/hds/dropdown/list-item/interactive.d.ts +1 -1
  104. package/declarations/components/hds/dropdown/list-item/radio.d.ts +1 -1
  105. package/declarations/components/hds/dropdown/list-item/separator.d.ts +1 -1
  106. package/declarations/components/hds/dropdown/list-item/title.d.ts +1 -1
  107. package/declarations/components/hds/dropdown/list-item/types.d.ts +1 -1
  108. package/declarations/components/hds/dropdown/toggle/button.d.ts +1 -1
  109. package/declarations/components/hds/dropdown/toggle/chevron.d.ts +1 -1
  110. package/declarations/components/hds/dropdown/toggle/icon.d.ts +1 -1
  111. package/declarations/components/hds/dropdown/toggle/types.d.ts +1 -1
  112. package/declarations/components/hds/dropdown/types.d.ts +1 -1
  113. package/declarations/components/hds/flyout/index.d.ts +1 -1
  114. package/declarations/components/hds/flyout/types.d.ts +1 -1
  115. package/declarations/components/hds/form/character-count/index.d.ts +1 -1
  116. package/declarations/components/hds/form/checkbox/base.d.ts +1 -1
  117. package/declarations/components/hds/form/checkbox/field.d.ts +1 -1
  118. package/declarations/components/hds/form/checkbox/group.d.ts +1 -1
  119. package/declarations/components/hds/form/error/index.d.ts +1 -1
  120. package/declarations/components/hds/form/error/message.d.ts +1 -1
  121. package/declarations/components/hds/form/field/index.d.ts +1 -1
  122. package/declarations/components/hds/form/field/types.d.ts +1 -1
  123. package/declarations/components/hds/form/fieldset/index.d.ts +1 -1
  124. package/declarations/components/hds/form/fieldset/types.d.ts +1 -1
  125. package/declarations/components/hds/form/file-input/base.d.ts +1 -1
  126. package/declarations/components/hds/form/file-input/field.d.ts +1 -1
  127. package/declarations/components/hds/form/footer/index.d.ts +1 -1
  128. package/declarations/components/hds/form/header/description.d.ts +1 -1
  129. package/declarations/components/hds/form/header/index.d.ts +1 -1
  130. package/declarations/components/hds/form/header/title.d.ts +1 -1
  131. package/declarations/components/hds/form/helper-text/index.d.ts +1 -1
  132. package/declarations/components/hds/form/index.d.ts +1 -1
  133. package/declarations/components/hds/form/indicator/index.d.ts +1 -1
  134. package/declarations/components/hds/form/key-value-inputs/add-row-button.d.ts +1 -1
  135. package/declarations/components/hds/form/key-value-inputs/delete-row-button.d.ts +1 -1
  136. package/declarations/components/hds/form/key-value-inputs/field.d.ts +1 -1
  137. package/declarations/components/hds/form/key-value-inputs/generic.d.ts +1 -1
  138. package/declarations/components/hds/form/key-value-inputs/index.d.ts +1 -1
  139. package/declarations/components/hds/form/label/index.d.ts +1 -1
  140. package/declarations/components/hds/form/legend/index.d.ts +1 -1
  141. package/declarations/components/hds/form/masked-input/base.d.ts +1 -1
  142. package/declarations/components/hds/form/masked-input/field.d.ts +1 -1
  143. package/declarations/components/hds/form/radio/base.d.ts +1 -1
  144. package/declarations/components/hds/form/radio/field.d.ts +1 -1
  145. package/declarations/components/hds/form/radio/group.d.ts +1 -1
  146. package/declarations/components/hds/form/radio-card/description.d.ts +1 -1
  147. package/declarations/components/hds/form/radio-card/group.d.ts +1 -1
  148. package/declarations/components/hds/form/radio-card/index.d.ts +1 -1
  149. package/declarations/components/hds/form/radio-card/label.d.ts +1 -1
  150. package/declarations/components/hds/form/radio-card/types.d.ts +1 -1
  151. package/declarations/components/hds/form/section/header.d.ts +1 -1
  152. package/declarations/components/hds/form/section/index.d.ts +1 -1
  153. package/declarations/components/hds/form/section/multi-field-group/index.d.ts +1 -1
  154. package/declarations/components/hds/form/section/multi-field-group/item.d.ts +1 -1
  155. package/declarations/components/hds/form/select/base.d.ts +1 -1
  156. package/declarations/components/hds/form/select/field.d.ts +1 -1
  157. package/declarations/components/hds/form/separator/index.d.ts +1 -1
  158. package/declarations/components/hds/form/super-select/after-options.d.ts +1 -1
  159. package/declarations/components/hds/form/super-select/multiple/base.d.ts +1 -1
  160. package/declarations/components/hds/form/super-select/multiple/field.d.ts +1 -1
  161. package/declarations/components/hds/form/super-select/option-group.d.ts +1 -1
  162. package/declarations/components/hds/form/super-select/placeholder.d.ts +1 -1
  163. package/declarations/components/hds/form/super-select/single/base.d.ts +1 -1
  164. package/declarations/components/hds/form/super-select/single/field.d.ts +1 -1
  165. package/declarations/components/hds/form/super-select/types.d.ts +1 -1
  166. package/declarations/components/hds/form/text-input/base.d.ts +1 -1
  167. package/declarations/components/hds/form/text-input/field.d.ts +2 -2
  168. package/declarations/components/hds/form/text-input/types.d.ts +1 -1
  169. package/declarations/components/hds/form/textarea/base.d.ts +1 -1
  170. package/declarations/components/hds/form/textarea/field.d.ts +1 -1
  171. package/declarations/components/hds/form/toggle/base.d.ts +1 -1
  172. package/declarations/components/hds/form/toggle/field.d.ts +1 -1
  173. package/declarations/components/hds/form/toggle/group.d.ts +1 -1
  174. package/declarations/components/hds/form/types.d.ts +1 -1
  175. package/declarations/components/hds/form/visibility-toggle/index.d.ts +1 -1
  176. package/declarations/components/hds/icon/index.d.ts +2 -2
  177. package/declarations/components/hds/icon/types.d.ts +1 -1
  178. package/declarations/components/hds/icon-tile/index.d.ts +1 -1
  179. package/declarations/components/hds/icon-tile/types.d.ts +1 -1
  180. package/declarations/components/hds/interactive/index.d.ts +1 -1
  181. package/declarations/components/hds/layout/flex/index.d.ts +1 -1
  182. package/declarations/components/hds/layout/flex/item.d.ts +1 -1
  183. package/declarations/components/hds/layout/flex/types.d.ts +1 -1
  184. package/declarations/components/hds/layout/grid/index.d.ts +1 -1
  185. package/declarations/components/hds/layout/grid/item.d.ts +1 -1
  186. package/declarations/components/hds/layout/grid/types.d.ts +1 -1
  187. package/declarations/components/hds/link/inline.d.ts +1 -1
  188. package/declarations/components/hds/link/standalone.d.ts +1 -1
  189. package/declarations/components/hds/link/types.d.ts +1 -1
  190. package/declarations/components/hds/modal/index.d.ts +1 -1
  191. package/declarations/components/hds/modal/types.d.ts +1 -1
  192. package/declarations/components/hds/page-header/actions.d.ts +1 -1
  193. package/declarations/components/hds/page-header/badges.d.ts +1 -1
  194. package/declarations/components/hds/page-header/description.d.ts +1 -1
  195. package/declarations/components/hds/page-header/index.d.ts +1 -1
  196. package/declarations/components/hds/page-header/subtitle.d.ts +1 -1
  197. package/declarations/components/hds/page-header/title.d.ts +1 -1
  198. package/declarations/components/hds/pagination/compact/index.d.ts +1 -1
  199. package/declarations/components/hds/pagination/info/index.d.ts +1 -1
  200. package/declarations/components/hds/pagination/nav/arrow.d.ts +1 -1
  201. package/declarations/components/hds/pagination/nav/number.d.ts +1 -1
  202. package/declarations/components/hds/pagination/numbered/index.d.ts +1 -1
  203. package/declarations/components/hds/pagination/size-selector/index.d.ts +1 -1
  204. package/declarations/components/hds/pagination/types.d.ts +1 -1
  205. package/declarations/components/hds/popover-primitive/index.d.ts +1 -1
  206. package/declarations/components/hds/reveal/index.d.ts +1 -1
  207. package/declarations/components/hds/reveal/toggle/button.d.ts +1 -1
  208. package/declarations/components/hds/rich-tooltip/bubble.d.ts +1 -1
  209. package/declarations/components/hds/rich-tooltip/index.d.ts +1 -1
  210. package/declarations/components/hds/rich-tooltip/toggle.d.ts +1 -1
  211. package/declarations/components/hds/rich-tooltip/types.d.ts +1 -1
  212. package/declarations/components/hds/segmented-group/index.d.ts +1 -1
  213. package/declarations/components/hds/separator/index.d.ts +1 -1
  214. package/declarations/components/hds/separator/types.d.ts +1 -1
  215. package/declarations/components/hds/side-nav/base.d.ts +1 -1
  216. package/declarations/components/hds/side-nav/header/home-link.d.ts +1 -1
  217. package/declarations/components/hds/side-nav/header/index.d.ts +1 -1
  218. package/declarations/components/hds/side-nav/index.d.ts +1 -1
  219. package/declarations/components/hds/side-nav/list/back-link.d.ts +1 -1
  220. package/declarations/components/hds/side-nav/list/index.d.ts +1 -1
  221. package/declarations/components/hds/side-nav/list/item.d.ts +1 -1
  222. package/declarations/components/hds/side-nav/list/link.d.ts +1 -1
  223. package/declarations/components/hds/side-nav/list/title.d.ts +1 -1
  224. package/declarations/components/hds/side-nav/portal/index.d.ts +1 -1
  225. package/declarations/components/hds/side-nav/portal/target.d.ts +1 -1
  226. package/declarations/components/hds/side-nav/toggle-button.d.ts +1 -1
  227. package/declarations/components/hds/stepper/list/index.d.ts +1 -1
  228. package/declarations/components/hds/stepper/list/step.d.ts +1 -1
  229. package/declarations/components/hds/stepper/nav/index.d.ts +1 -1
  230. package/declarations/components/hds/stepper/nav/panel.d.ts +1 -1
  231. package/declarations/components/hds/stepper/nav/step.d.ts +1 -1
  232. package/declarations/components/hds/stepper/step/indicator.d.ts +1 -1
  233. package/declarations/components/hds/stepper/task/indicator.d.ts +2 -2
  234. package/declarations/components/hds/stepper/types.d.ts +1 -1
  235. package/declarations/components/hds/table/index.d.ts +1 -1
  236. package/declarations/components/hds/table/td.d.ts +1 -1
  237. package/declarations/components/hds/table/th-button-sort.d.ts +1 -1
  238. package/declarations/components/hds/table/th-button-tooltip.d.ts +1 -1
  239. package/declarations/components/hds/table/th-selectable.d.ts +1 -1
  240. package/declarations/components/hds/table/th-sort.d.ts +1 -1
  241. package/declarations/components/hds/table/th.d.ts +1 -1
  242. package/declarations/components/hds/table/tr.d.ts +1 -1
  243. package/declarations/components/hds/table/types.d.ts +1 -1
  244. package/declarations/components/hds/tabs/index.d.ts +1 -1
  245. package/declarations/components/hds/tabs/panel.d.ts +1 -1
  246. package/declarations/components/hds/tabs/tab.d.ts +1 -1
  247. package/declarations/components/hds/tabs/types.d.ts +1 -1
  248. package/declarations/components/hds/tag/index.d.ts +1 -1
  249. package/declarations/components/hds/tag/types.d.ts +1 -1
  250. package/declarations/components/hds/text/body.d.ts +1 -1
  251. package/declarations/components/hds/text/code.d.ts +1 -1
  252. package/declarations/components/hds/text/display.d.ts +1 -1
  253. package/declarations/components/hds/text/index.d.ts +1 -1
  254. package/declarations/components/hds/text/types.d.ts +1 -1
  255. package/declarations/components/hds/time/index.d.ts +1 -1
  256. package/declarations/components/hds/time/range.d.ts +1 -1
  257. package/declarations/components/hds/time/single.d.ts +1 -1
  258. package/declarations/components/hds/toast/index.d.ts +1 -1
  259. package/declarations/components/hds/tooltip-button/index.d.ts +1 -1
  260. package/declarations/components/hds/tooltip-button/types.d.ts +1 -1
  261. package/declarations/components/hds/yield/index.d.ts +1 -1
  262. package/declarations/components.d.ts +1 -13
  263. package/declarations/helpers/hds-format-date.d.ts +1 -1
  264. package/declarations/helpers/hds-format-relative.d.ts +1 -1
  265. package/declarations/helpers/hds-link-to-models.d.ts +1 -1
  266. package/declarations/helpers/hds-link-to-query.d.ts +1 -1
  267. package/declarations/helpers/hds-t.d.ts +1 -1
  268. package/declarations/helpers.d.ts +1 -1
  269. package/declarations/instance-initializers/load-sprite.d.ts +1 -1
  270. package/declarations/modifiers/hds-advanced-table-cell/dom-management.d.ts +1 -1
  271. package/declarations/modifiers/hds-advanced-table-cell/keyboard-navigation.d.ts +1 -1
  272. package/declarations/modifiers/hds-advanced-table-cell.d.ts +1 -1
  273. package/declarations/modifiers/hds-anchored-position.d.ts +1 -1
  274. package/declarations/modifiers/hds-clipboard.d.ts +1 -1
  275. package/declarations/modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.d.ts +1 -1
  276. package/declarations/modifiers/hds-code-editor/languages/rego.d.ts +1 -1
  277. package/declarations/modifiers/hds-code-editor/languages/sentinel.d.ts +1 -1
  278. package/declarations/modifiers/hds-code-editor/linters/json-linter.d.ts +1 -1
  279. package/declarations/modifiers/hds-code-editor/palettes/hds-dark-palette.d.ts +1 -1
  280. package/declarations/modifiers/hds-code-editor/themes/hds-dark-theme.d.ts +1 -1
  281. package/declarations/modifiers/hds-code-editor/types.d.ts +1 -1
  282. package/declarations/modifiers/hds-code-editor.d.ts +4 -2
  283. package/declarations/modifiers/hds-register-event.d.ts +1 -1
  284. package/declarations/modifiers/hds-tooltip.d.ts +1 -1
  285. package/declarations/modifiers.d.ts +1 -1
  286. package/declarations/re-exports/codemirror.d.ts +5 -0
  287. package/declarations/services/hds-intl.d.ts +1 -1
  288. package/declarations/services/hds-time-types.d.ts +1 -1
  289. package/declarations/services/hds-time.d.ts +1 -1
  290. package/declarations/services.d.ts +1 -1
  291. package/declarations/template-registry.d.ts +1 -34
  292. package/declarations/utils/hds-aria-described-by.d.ts +1 -1
  293. package/declarations/utils/hds-breakpoints.d.ts +1 -1
  294. package/declarations/utils/hds-get-element-id.d.ts +1 -1
  295. package/declarations/utils/hds-resolve-link-to-external.d.ts +1 -1
  296. package/dist/README.md +1 -1
  297. package/dist/components/hds/accordion/index.js +2 -2
  298. package/dist/components/hds/accordion/index.js.map +1 -1
  299. package/dist/components/hds/accordion/item/button.js +2 -2
  300. package/dist/components/hds/accordion/item/button.js.map +1 -1
  301. package/dist/components/hds/accordion/item/index.js +2 -2
  302. package/dist/components/hds/accordion/item/index.js.map +1 -1
  303. package/dist/components/hds/accordion/types.js +1 -1
  304. package/dist/components/hds/accordion/types.js.map +1 -1
  305. package/dist/components/hds/advanced-table/expandable-tr-group.js +2 -2
  306. package/dist/components/hds/advanced-table/expandable-tr-group.js.map +1 -1
  307. package/dist/components/hds/advanced-table/index.js +10 -12
  308. package/dist/components/hds/advanced-table/index.js.map +1 -1
  309. package/dist/components/hds/advanced-table/models/column.js +1 -1
  310. package/dist/components/hds/advanced-table/models/column.js.map +1 -1
  311. package/dist/components/hds/advanced-table/models/row.js +1 -1
  312. package/dist/components/hds/advanced-table/models/row.js.map +1 -1
  313. package/dist/components/hds/advanced-table/models/table.js +1 -1
  314. package/dist/components/hds/advanced-table/models/table.js.map +1 -1
  315. package/dist/components/hds/advanced-table/td.js +2 -2
  316. package/dist/components/hds/advanced-table/td.js.map +1 -1
  317. package/dist/components/hds/advanced-table/th-button-expand.js +2 -2
  318. package/dist/components/hds/advanced-table/th-button-expand.js.map +1 -1
  319. package/dist/components/hds/advanced-table/th-button-sort.js +2 -2
  320. package/dist/components/hds/advanced-table/th-button-sort.js.map +1 -1
  321. package/dist/components/hds/advanced-table/th-button-tooltip.js +2 -2
  322. package/dist/components/hds/advanced-table/th-button-tooltip.js.map +1 -1
  323. package/dist/components/hds/advanced-table/th-context-menu.js +2 -2
  324. package/dist/components/hds/advanced-table/th-context-menu.js.map +1 -1
  325. package/dist/components/hds/advanced-table/th-reorder-drop-target.js +2 -2
  326. package/dist/components/hds/advanced-table/th-reorder-drop-target.js.map +1 -1
  327. package/dist/components/hds/advanced-table/th-reorder-handle.js +2 -2
  328. package/dist/components/hds/advanced-table/th-reorder-handle.js.map +1 -1
  329. package/dist/components/hds/advanced-table/th-resize-handle.js +2 -2
  330. package/dist/components/hds/advanced-table/th-resize-handle.js.map +1 -1
  331. package/dist/components/hds/advanced-table/th-selectable.js +2 -2
  332. package/dist/components/hds/advanced-table/th-selectable.js.map +1 -1
  333. package/dist/components/hds/advanced-table/th-sort.js +2 -2
  334. package/dist/components/hds/advanced-table/th-sort.js.map +1 -1
  335. package/dist/components/hds/advanced-table/th.js +2 -2
  336. package/dist/components/hds/advanced-table/th.js.map +1 -1
  337. package/dist/components/hds/advanced-table/tr.js +2 -2
  338. package/dist/components/hds/advanced-table/tr.js.map +1 -1
  339. package/dist/components/hds/advanced-table/types.js +1 -1
  340. package/dist/components/hds/advanced-table/types.js.map +1 -1
  341. package/dist/components/hds/advanced-table/utils.js +1 -1
  342. package/dist/components/hds/advanced-table/utils.js.map +1 -1
  343. package/dist/components/hds/alert/description.js +2 -2
  344. package/dist/components/hds/alert/description.js.map +1 -1
  345. package/dist/components/hds/alert/index.js +2 -2
  346. package/dist/components/hds/alert/index.js.map +1 -1
  347. package/dist/components/hds/alert/title.js +2 -2
  348. package/dist/components/hds/alert/title.js.map +1 -1
  349. package/dist/components/hds/alert/types.js +1 -1
  350. package/dist/components/hds/alert/types.js.map +1 -1
  351. package/dist/components/hds/app-footer/copyright.js +2 -2
  352. package/dist/components/hds/app-footer/copyright.js.map +1 -1
  353. package/dist/components/hds/app-footer/index.js +2 -2
  354. package/dist/components/hds/app-footer/index.js.map +1 -1
  355. package/dist/components/hds/app-footer/item.js +2 -2
  356. package/dist/components/hds/app-footer/item.js.map +1 -1
  357. package/dist/components/hds/app-footer/legal-links.js +2 -2
  358. package/dist/components/hds/app-footer/legal-links.js.map +1 -1
  359. package/dist/components/hds/app-footer/link.js +2 -2
  360. package/dist/components/hds/app-footer/link.js.map +1 -1
  361. package/dist/components/hds/app-footer/status-link.js +2 -2
  362. package/dist/components/hds/app-footer/status-link.js.map +1 -1
  363. package/dist/components/hds/app-footer/types.js +1 -1
  364. package/dist/components/hds/app-footer/types.js.map +1 -1
  365. package/dist/components/hds/app-frame/index.js +2 -2
  366. package/dist/components/hds/app-frame/index.js.map +1 -1
  367. package/dist/components/hds/app-frame/parts/footer.js +2 -2
  368. package/dist/components/hds/app-frame/parts/footer.js.map +1 -1
  369. package/dist/components/hds/app-frame/parts/header.js +2 -2
  370. package/dist/components/hds/app-frame/parts/header.js.map +1 -1
  371. package/dist/components/hds/app-frame/parts/main.js +2 -2
  372. package/dist/components/hds/app-frame/parts/main.js.map +1 -1
  373. package/dist/components/hds/app-frame/parts/modals.js +2 -2
  374. package/dist/components/hds/app-frame/parts/modals.js.map +1 -1
  375. package/dist/components/hds/app-frame/parts/sidebar.js +2 -2
  376. package/dist/components/hds/app-frame/parts/sidebar.js.map +1 -1
  377. package/dist/components/hds/app-header/home-link.js +2 -2
  378. package/dist/components/hds/app-header/home-link.js.map +1 -1
  379. package/dist/components/hds/app-header/index.js +2 -2
  380. package/dist/components/hds/app-header/index.js.map +1 -1
  381. package/dist/components/hds/app-header/menu-button.js +2 -2
  382. package/dist/components/hds/app-header/menu-button.js.map +1 -1
  383. package/dist/components/hds/app-side-nav/index.js +2 -2
  384. package/dist/components/hds/app-side-nav/index.js.map +1 -1
  385. package/dist/components/hds/app-side-nav/list/back-link.js +2 -2
  386. package/dist/components/hds/app-side-nav/list/back-link.js.map +1 -1
  387. package/dist/components/hds/app-side-nav/list/index.js +2 -2
  388. package/dist/components/hds/app-side-nav/list/index.js.map +1 -1
  389. package/dist/components/hds/app-side-nav/list/item.js +2 -2
  390. package/dist/components/hds/app-side-nav/list/item.js.map +1 -1
  391. package/dist/components/hds/app-side-nav/list/link.js +2 -2
  392. package/dist/components/hds/app-side-nav/list/link.js.map +1 -1
  393. package/dist/components/hds/app-side-nav/list/title.js +2 -2
  394. package/dist/components/hds/app-side-nav/list/title.js.map +1 -1
  395. package/dist/components/hds/app-side-nav/portal/index.js +2 -2
  396. package/dist/components/hds/app-side-nav/portal/index.js.map +1 -1
  397. package/dist/components/hds/app-side-nav/portal/target.js +2 -2
  398. package/dist/components/hds/app-side-nav/portal/target.js.map +1 -1
  399. package/dist/components/hds/app-side-nav/toggle-button.js +2 -2
  400. package/dist/components/hds/app-side-nav/toggle-button.js.map +1 -1
  401. package/dist/components/hds/application-state/body.js +2 -2
  402. package/dist/components/hds/application-state/body.js.map +1 -1
  403. package/dist/components/hds/application-state/footer.js +2 -2
  404. package/dist/components/hds/application-state/footer.js.map +1 -1
  405. package/dist/components/hds/application-state/header.js +2 -2
  406. package/dist/components/hds/application-state/header.js.map +1 -1
  407. package/dist/components/hds/application-state/index.js +2 -2
  408. package/dist/components/hds/application-state/index.js.map +1 -1
  409. package/dist/components/hds/application-state/media.js +2 -2
  410. package/dist/components/hds/application-state/media.js.map +1 -1
  411. package/dist/components/hds/application-state/types.js +1 -1
  412. package/dist/components/hds/application-state/types.js.map +1 -1
  413. package/dist/components/hds/badge/index.js +2 -2
  414. package/dist/components/hds/badge/index.js.map +1 -1
  415. package/dist/components/hds/badge/types.js +1 -1
  416. package/dist/components/hds/badge/types.js.map +1 -1
  417. package/dist/components/hds/badge-count/index.js +2 -2
  418. package/dist/components/hds/badge-count/index.js.map +1 -1
  419. package/dist/components/hds/badge-count/types.js +1 -1
  420. package/dist/components/hds/badge-count/types.js.map +1 -1
  421. package/dist/components/hds/breadcrumb/index.js +2 -2
  422. package/dist/components/hds/breadcrumb/index.js.map +1 -1
  423. package/dist/components/hds/breadcrumb/item.js +2 -2
  424. package/dist/components/hds/breadcrumb/item.js.map +1 -1
  425. package/dist/components/hds/breadcrumb/truncation.js +2 -2
  426. package/dist/components/hds/breadcrumb/truncation.js.map +1 -1
  427. package/dist/components/hds/button/index.js +2 -2
  428. package/dist/components/hds/button/index.js.map +1 -1
  429. package/dist/components/hds/button/types.js +1 -1
  430. package/dist/components/hds/button/types.js.map +1 -1
  431. package/dist/components/hds/button-set/index.js +2 -2
  432. package/dist/components/hds/button-set/index.js.map +1 -1
  433. package/dist/components/hds/card/container.js +2 -2
  434. package/dist/components/hds/card/container.js.map +1 -1
  435. package/dist/components/hds/card/types.js +1 -1
  436. package/dist/components/hds/card/types.js.map +1 -1
  437. package/dist/components/hds/code-block/copy-button.js +2 -2
  438. package/dist/components/hds/code-block/copy-button.js.map +1 -1
  439. package/dist/components/hds/code-block/description.js +2 -2
  440. package/dist/components/hds/code-block/description.js.map +1 -1
  441. package/dist/components/hds/code-block/index.js +2 -2
  442. package/dist/components/hds/code-block/index.js.map +1 -1
  443. package/dist/components/hds/code-block/title.js +2 -2
  444. package/dist/components/hds/code-block/title.js.map +1 -1
  445. package/dist/components/hds/code-block/types.js +1 -1
  446. package/dist/components/hds/code-block/types.js.map +1 -1
  447. package/dist/components/hds/code-editor/description.js +2 -2
  448. package/dist/components/hds/code-editor/description.js.map +1 -1
  449. package/dist/components/hds/code-editor/full-screen-button.js +2 -2
  450. package/dist/components/hds/code-editor/full-screen-button.js.map +1 -1
  451. package/dist/components/hds/code-editor/generic.js +2 -2
  452. package/dist/components/hds/code-editor/generic.js.map +1 -1
  453. package/dist/components/hds/code-editor/index.js +2 -2
  454. package/dist/components/hds/code-editor/index.js.map +1 -1
  455. package/dist/components/hds/code-editor/title.js +2 -2
  456. package/dist/components/hds/code-editor/title.js.map +1 -1
  457. package/dist/components/hds/copy/button/index.js +2 -2
  458. package/dist/components/hds/copy/button/index.js.map +1 -1
  459. package/dist/components/hds/copy/button/types.js +1 -1
  460. package/dist/components/hds/copy/button/types.js.map +1 -1
  461. package/dist/components/hds/copy/snippet/index.js +2 -2
  462. package/dist/components/hds/copy/snippet/index.js.map +1 -1
  463. package/dist/components/hds/copy/snippet/types.js +1 -1
  464. package/dist/components/hds/copy/snippet/types.js.map +1 -1
  465. package/dist/components/hds/dialog-primitive/body.js +2 -2
  466. package/dist/components/hds/dialog-primitive/body.js.map +1 -1
  467. package/dist/components/hds/dialog-primitive/description.js +2 -2
  468. package/dist/components/hds/dialog-primitive/description.js.map +1 -1
  469. package/dist/components/hds/dialog-primitive/footer.js +2 -2
  470. package/dist/components/hds/dialog-primitive/footer.js.map +1 -1
  471. package/dist/components/hds/dialog-primitive/header.js +2 -2
  472. package/dist/components/hds/dialog-primitive/header.js.map +1 -1
  473. package/dist/components/hds/dialog-primitive/overlay.js +2 -2
  474. package/dist/components/hds/dialog-primitive/overlay.js.map +1 -1
  475. package/dist/components/hds/dialog-primitive/types.js +1 -1
  476. package/dist/components/hds/dialog-primitive/types.js.map +1 -1
  477. package/dist/components/hds/dialog-primitive/wrapper.js +2 -2
  478. package/dist/components/hds/dialog-primitive/wrapper.js.map +1 -1
  479. package/dist/components/hds/disclosure-primitive/index.js +2 -2
  480. package/dist/components/hds/disclosure-primitive/index.js.map +1 -1
  481. package/dist/components/hds/dismiss-button/index.js +2 -2
  482. package/dist/components/hds/dismiss-button/index.js.map +1 -1
  483. package/dist/components/hds/dropdown/footer.js +2 -2
  484. package/dist/components/hds/dropdown/footer.js.map +1 -1
  485. package/dist/components/hds/dropdown/header.js +2 -2
  486. package/dist/components/hds/dropdown/header.js.map +1 -1
  487. package/dist/components/hds/dropdown/index.js +2 -2
  488. package/dist/components/hds/dropdown/index.js.map +1 -1
  489. package/dist/components/hds/dropdown/list-item/checkbox.js +2 -2
  490. package/dist/components/hds/dropdown/list-item/checkbox.js.map +1 -1
  491. package/dist/components/hds/dropdown/list-item/checkmark.js +2 -2
  492. package/dist/components/hds/dropdown/list-item/checkmark.js.map +1 -1
  493. package/dist/components/hds/dropdown/list-item/copy-item.js +2 -2
  494. package/dist/components/hds/dropdown/list-item/copy-item.js.map +1 -1
  495. package/dist/components/hds/dropdown/list-item/description.js +2 -2
  496. package/dist/components/hds/dropdown/list-item/description.js.map +1 -1
  497. package/dist/components/hds/dropdown/list-item/generic.js +2 -2
  498. package/dist/components/hds/dropdown/list-item/generic.js.map +1 -1
  499. package/dist/components/hds/dropdown/list-item/interactive.js +2 -2
  500. package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -1
  501. package/dist/components/hds/dropdown/list-item/radio.js +2 -2
  502. package/dist/components/hds/dropdown/list-item/radio.js.map +1 -1
  503. package/dist/components/hds/dropdown/list-item/separator.js +2 -2
  504. package/dist/components/hds/dropdown/list-item/separator.js.map +1 -1
  505. package/dist/components/hds/dropdown/list-item/title.js +2 -2
  506. package/dist/components/hds/dropdown/list-item/title.js.map +1 -1
  507. package/dist/components/hds/dropdown/list-item/types.js +1 -1
  508. package/dist/components/hds/dropdown/list-item/types.js.map +1 -1
  509. package/dist/components/hds/dropdown/toggle/button.js +2 -2
  510. package/dist/components/hds/dropdown/toggle/button.js.map +1 -1
  511. package/dist/components/hds/dropdown/toggle/chevron.js +2 -2
  512. package/dist/components/hds/dropdown/toggle/chevron.js.map +1 -1
  513. package/dist/components/hds/dropdown/toggle/icon.js +2 -2
  514. package/dist/components/hds/dropdown/toggle/icon.js.map +1 -1
  515. package/dist/components/hds/dropdown/toggle/types.js +1 -1
  516. package/dist/components/hds/dropdown/toggle/types.js.map +1 -1
  517. package/dist/components/hds/dropdown/types.js +1 -1
  518. package/dist/components/hds/dropdown/types.js.map +1 -1
  519. package/dist/components/hds/flyout/index.js +2 -2
  520. package/dist/components/hds/flyout/index.js.map +1 -1
  521. package/dist/components/hds/flyout/types.js +1 -1
  522. package/dist/components/hds/flyout/types.js.map +1 -1
  523. package/dist/components/hds/form/character-count/index.js +2 -2
  524. package/dist/components/hds/form/character-count/index.js.map +1 -1
  525. package/dist/components/hds/form/checkbox/base.js +2 -2
  526. package/dist/components/hds/form/checkbox/base.js.map +1 -1
  527. package/dist/components/hds/form/checkbox/field.js +2 -2
  528. package/dist/components/hds/form/checkbox/field.js.map +1 -1
  529. package/dist/components/hds/form/checkbox/group.js +2 -2
  530. package/dist/components/hds/form/checkbox/group.js.map +1 -1
  531. package/dist/components/hds/form/error/index.js +2 -2
  532. package/dist/components/hds/form/error/index.js.map +1 -1
  533. package/dist/components/hds/form/error/message.js +2 -2
  534. package/dist/components/hds/form/error/message.js.map +1 -1
  535. package/dist/components/hds/form/field/index.js +2 -2
  536. package/dist/components/hds/form/field/index.js.map +1 -1
  537. package/dist/components/hds/form/field/types.js +1 -1
  538. package/dist/components/hds/form/field/types.js.map +1 -1
  539. package/dist/components/hds/form/fieldset/index.js +2 -2
  540. package/dist/components/hds/form/fieldset/index.js.map +1 -1
  541. package/dist/components/hds/form/fieldset/types.js +1 -1
  542. package/dist/components/hds/form/fieldset/types.js.map +1 -1
  543. package/dist/components/hds/form/file-input/base.js +2 -2
  544. package/dist/components/hds/form/file-input/base.js.map +1 -1
  545. package/dist/components/hds/form/file-input/field.js +2 -2
  546. package/dist/components/hds/form/file-input/field.js.map +1 -1
  547. package/dist/components/hds/form/footer/index.js +2 -2
  548. package/dist/components/hds/form/footer/index.js.map +1 -1
  549. package/dist/components/hds/form/header/description.js +2 -2
  550. package/dist/components/hds/form/header/description.js.map +1 -1
  551. package/dist/components/hds/form/header/index.js +2 -2
  552. package/dist/components/hds/form/header/index.js.map +1 -1
  553. package/dist/components/hds/form/header/title.js +2 -2
  554. package/dist/components/hds/form/header/title.js.map +1 -1
  555. package/dist/components/hds/form/helper-text/index.js +2 -2
  556. package/dist/components/hds/form/helper-text/index.js.map +1 -1
  557. package/dist/components/hds/form/index.js +2 -2
  558. package/dist/components/hds/form/index.js.map +1 -1
  559. package/dist/components/hds/form/indicator/index.js +2 -2
  560. package/dist/components/hds/form/indicator/index.js.map +1 -1
  561. package/dist/components/hds/form/key-value-inputs/add-row-button.js +2 -2
  562. package/dist/components/hds/form/key-value-inputs/add-row-button.js.map +1 -1
  563. package/dist/components/hds/form/key-value-inputs/delete-row-button.js +2 -2
  564. package/dist/components/hds/form/key-value-inputs/delete-row-button.js.map +1 -1
  565. package/dist/components/hds/form/key-value-inputs/field.js +2 -2
  566. package/dist/components/hds/form/key-value-inputs/field.js.map +1 -1
  567. package/dist/components/hds/form/key-value-inputs/generic.js +2 -2
  568. package/dist/components/hds/form/key-value-inputs/generic.js.map +1 -1
  569. package/dist/components/hds/form/key-value-inputs/index.js +2 -2
  570. package/dist/components/hds/form/key-value-inputs/index.js.map +1 -1
  571. package/dist/components/hds/form/label/index.js +2 -2
  572. package/dist/components/hds/form/label/index.js.map +1 -1
  573. package/dist/components/hds/form/legend/index.js +2 -2
  574. package/dist/components/hds/form/legend/index.js.map +1 -1
  575. package/dist/components/hds/form/masked-input/base.js +2 -2
  576. package/dist/components/hds/form/masked-input/base.js.map +1 -1
  577. package/dist/components/hds/form/masked-input/field.js +2 -2
  578. package/dist/components/hds/form/masked-input/field.js.map +1 -1
  579. package/dist/components/hds/form/radio/base.js +2 -2
  580. package/dist/components/hds/form/radio/base.js.map +1 -1
  581. package/dist/components/hds/form/radio/field.js +2 -2
  582. package/dist/components/hds/form/radio/field.js.map +1 -1
  583. package/dist/components/hds/form/radio/group.js +2 -2
  584. package/dist/components/hds/form/radio/group.js.map +1 -1
  585. package/dist/components/hds/form/radio-card/description.js +2 -2
  586. package/dist/components/hds/form/radio-card/description.js.map +1 -1
  587. package/dist/components/hds/form/radio-card/group.js +2 -2
  588. package/dist/components/hds/form/radio-card/group.js.map +1 -1
  589. package/dist/components/hds/form/radio-card/index.js +2 -2
  590. package/dist/components/hds/form/radio-card/index.js.map +1 -1
  591. package/dist/components/hds/form/radio-card/label.js +2 -2
  592. package/dist/components/hds/form/radio-card/label.js.map +1 -1
  593. package/dist/components/hds/form/radio-card/types.js +1 -1
  594. package/dist/components/hds/form/radio-card/types.js.map +1 -1
  595. package/dist/components/hds/form/section/header.js +2 -2
  596. package/dist/components/hds/form/section/header.js.map +1 -1
  597. package/dist/components/hds/form/section/index.js +2 -2
  598. package/dist/components/hds/form/section/index.js.map +1 -1
  599. package/dist/components/hds/form/section/multi-field-group/index.js +2 -2
  600. package/dist/components/hds/form/section/multi-field-group/index.js.map +1 -1
  601. package/dist/components/hds/form/section/multi-field-group/item.js +2 -2
  602. package/dist/components/hds/form/section/multi-field-group/item.js.map +1 -1
  603. package/dist/components/hds/form/select/base.js +2 -2
  604. package/dist/components/hds/form/select/base.js.map +1 -1
  605. package/dist/components/hds/form/select/field.js +2 -2
  606. package/dist/components/hds/form/select/field.js.map +1 -1
  607. package/dist/components/hds/form/separator/index.js +2 -2
  608. package/dist/components/hds/form/separator/index.js.map +1 -1
  609. package/dist/components/hds/form/super-select/after-options.js +2 -2
  610. package/dist/components/hds/form/super-select/after-options.js.map +1 -1
  611. package/dist/components/hds/form/super-select/multiple/base.js +2 -2
  612. package/dist/components/hds/form/super-select/multiple/base.js.map +1 -1
  613. package/dist/components/hds/form/super-select/multiple/field.js +2 -2
  614. package/dist/components/hds/form/super-select/multiple/field.js.map +1 -1
  615. package/dist/components/hds/form/super-select/option-group.js +2 -2
  616. package/dist/components/hds/form/super-select/option-group.js.map +1 -1
  617. package/dist/components/hds/form/super-select/placeholder.js +2 -2
  618. package/dist/components/hds/form/super-select/placeholder.js.map +1 -1
  619. package/dist/components/hds/form/super-select/single/base.js +2 -2
  620. package/dist/components/hds/form/super-select/single/base.js.map +1 -1
  621. package/dist/components/hds/form/super-select/single/field.js +2 -2
  622. package/dist/components/hds/form/super-select/single/field.js.map +1 -1
  623. package/dist/components/hds/form/super-select/types.js +1 -1
  624. package/dist/components/hds/form/super-select/types.js.map +1 -1
  625. package/dist/components/hds/form/text-input/base.js +2 -2
  626. package/dist/components/hds/form/text-input/base.js.map +1 -1
  627. package/dist/components/hds/form/text-input/field.js +2 -2
  628. package/dist/components/hds/form/text-input/field.js.map +1 -1
  629. package/dist/components/hds/form/text-input/types.js +1 -1
  630. package/dist/components/hds/form/text-input/types.js.map +1 -1
  631. package/dist/components/hds/form/textarea/base.js +2 -2
  632. package/dist/components/hds/form/textarea/base.js.map +1 -1
  633. package/dist/components/hds/form/textarea/field.js +2 -2
  634. package/dist/components/hds/form/textarea/field.js.map +1 -1
  635. package/dist/components/hds/form/toggle/base.js +2 -2
  636. package/dist/components/hds/form/toggle/base.js.map +1 -1
  637. package/dist/components/hds/form/toggle/field.js +2 -2
  638. package/dist/components/hds/form/toggle/field.js.map +1 -1
  639. package/dist/components/hds/form/toggle/group.js +2 -2
  640. package/dist/components/hds/form/toggle/group.js.map +1 -1
  641. package/dist/components/hds/form/types.js +1 -1
  642. package/dist/components/hds/form/types.js.map +1 -1
  643. package/dist/components/hds/form/visibility-toggle/index.js +2 -2
  644. package/dist/components/hds/form/visibility-toggle/index.js.map +1 -1
  645. package/dist/components/hds/icon/index.js +2 -2
  646. package/dist/components/hds/icon/index.js.map +1 -1
  647. package/dist/components/hds/icon/types.js +1 -1
  648. package/dist/components/hds/icon/types.js.map +1 -1
  649. package/dist/components/hds/icon-tile/index.js +2 -2
  650. package/dist/components/hds/icon-tile/index.js.map +1 -1
  651. package/dist/components/hds/icon-tile/types.js +1 -1
  652. package/dist/components/hds/icon-tile/types.js.map +1 -1
  653. package/dist/components/hds/interactive/index.js +1 -1
  654. package/dist/components/hds/interactive/index.js.map +1 -1
  655. package/dist/components/hds/layout/flex/index.js +2 -2
  656. package/dist/components/hds/layout/flex/index.js.map +1 -1
  657. package/dist/components/hds/layout/flex/item.js +2 -2
  658. package/dist/components/hds/layout/flex/item.js.map +1 -1
  659. package/dist/components/hds/layout/flex/types.js +1 -1
  660. package/dist/components/hds/layout/flex/types.js.map +1 -1
  661. package/dist/components/hds/layout/grid/index.js +2 -2
  662. package/dist/components/hds/layout/grid/index.js.map +1 -1
  663. package/dist/components/hds/layout/grid/item.js +2 -2
  664. package/dist/components/hds/layout/grid/item.js.map +1 -1
  665. package/dist/components/hds/layout/grid/types.js +1 -1
  666. package/dist/components/hds/layout/grid/types.js.map +1 -1
  667. package/dist/components/hds/link/inline.js +1 -1
  668. package/dist/components/hds/link/inline.js.map +1 -1
  669. package/dist/components/hds/link/standalone.js +1 -1
  670. package/dist/components/hds/link/standalone.js.map +1 -1
  671. package/dist/components/hds/link/types.js +1 -1
  672. package/dist/components/hds/link/types.js.map +1 -1
  673. package/dist/components/hds/modal/index.js +2 -2
  674. package/dist/components/hds/modal/index.js.map +1 -1
  675. package/dist/components/hds/modal/types.js +1 -1
  676. package/dist/components/hds/modal/types.js.map +1 -1
  677. package/dist/components/hds/page-header/actions.js +2 -2
  678. package/dist/components/hds/page-header/actions.js.map +1 -1
  679. package/dist/components/hds/page-header/badges.js +2 -2
  680. package/dist/components/hds/page-header/badges.js.map +1 -1
  681. package/dist/components/hds/page-header/description.js +2 -2
  682. package/dist/components/hds/page-header/description.js.map +1 -1
  683. package/dist/components/hds/page-header/index.js +2 -2
  684. package/dist/components/hds/page-header/index.js.map +1 -1
  685. package/dist/components/hds/page-header/subtitle.js +2 -2
  686. package/dist/components/hds/page-header/subtitle.js.map +1 -1
  687. package/dist/components/hds/page-header/title.js +2 -2
  688. package/dist/components/hds/page-header/title.js.map +1 -1
  689. package/dist/components/hds/pagination/compact/index.js +2 -2
  690. package/dist/components/hds/pagination/compact/index.js.map +1 -1
  691. package/dist/components/hds/pagination/info/index.js +2 -2
  692. package/dist/components/hds/pagination/info/index.js.map +1 -1
  693. package/dist/components/hds/pagination/nav/arrow.js +2 -2
  694. package/dist/components/hds/pagination/nav/arrow.js.map +1 -1
  695. package/dist/components/hds/pagination/nav/ellipsis.js +2 -2
  696. package/dist/components/hds/pagination/nav/ellipsis.js.map +1 -1
  697. package/dist/components/hds/pagination/nav/number.js +2 -2
  698. package/dist/components/hds/pagination/nav/number.js.map +1 -1
  699. package/dist/components/hds/pagination/numbered/index.js +2 -2
  700. package/dist/components/hds/pagination/numbered/index.js.map +1 -1
  701. package/dist/components/hds/pagination/size-selector/index.js +2 -2
  702. package/dist/components/hds/pagination/size-selector/index.js.map +1 -1
  703. package/dist/components/hds/pagination/types.js +1 -1
  704. package/dist/components/hds/pagination/types.js.map +1 -1
  705. package/dist/components/hds/popover-primitive/index.js +2 -2
  706. package/dist/components/hds/popover-primitive/index.js.map +1 -1
  707. package/dist/components/hds/reveal/index.js +2 -2
  708. package/dist/components/hds/reveal/index.js.map +1 -1
  709. package/dist/components/hds/reveal/toggle/button.js +2 -2
  710. package/dist/components/hds/reveal/toggle/button.js.map +1 -1
  711. package/dist/components/hds/rich-tooltip/bubble.js +1 -1
  712. package/dist/components/hds/rich-tooltip/bubble.js.map +1 -1
  713. package/dist/components/hds/rich-tooltip/index.js +1 -1
  714. package/dist/components/hds/rich-tooltip/index.js.map +1 -1
  715. package/dist/components/hds/rich-tooltip/toggle.js +2 -2
  716. package/dist/components/hds/rich-tooltip/toggle.js.map +1 -1
  717. package/dist/components/hds/rich-tooltip/types.js +1 -1
  718. package/dist/components/hds/rich-tooltip/types.js.map +1 -1
  719. package/dist/components/hds/segmented-group/index.js +2 -2
  720. package/dist/components/hds/segmented-group/index.js.map +1 -1
  721. package/dist/components/hds/separator/index.js +2 -2
  722. package/dist/components/hds/separator/index.js.map +1 -1
  723. package/dist/components/hds/separator/types.js +1 -1
  724. package/dist/components/hds/separator/types.js.map +1 -1
  725. package/dist/components/hds/side-nav/base.js +2 -2
  726. package/dist/components/hds/side-nav/base.js.map +1 -1
  727. package/dist/components/hds/side-nav/header/home-link.js +2 -2
  728. package/dist/components/hds/side-nav/header/home-link.js.map +1 -1
  729. package/dist/components/hds/side-nav/header/index.js +2 -2
  730. package/dist/components/hds/side-nav/header/index.js.map +1 -1
  731. package/dist/components/hds/side-nav/index.js +2 -2
  732. package/dist/components/hds/side-nav/index.js.map +1 -1
  733. package/dist/components/hds/side-nav/list/back-link.js +2 -2
  734. package/dist/components/hds/side-nav/list/back-link.js.map +1 -1
  735. package/dist/components/hds/side-nav/list/index.js +2 -2
  736. package/dist/components/hds/side-nav/list/index.js.map +1 -1
  737. package/dist/components/hds/side-nav/list/item.js +2 -2
  738. package/dist/components/hds/side-nav/list/item.js.map +1 -1
  739. package/dist/components/hds/side-nav/list/link.js +2 -2
  740. package/dist/components/hds/side-nav/list/link.js.map +1 -1
  741. package/dist/components/hds/side-nav/list/title.js +2 -2
  742. package/dist/components/hds/side-nav/list/title.js.map +1 -1
  743. package/dist/components/hds/side-nav/portal/index.js +2 -2
  744. package/dist/components/hds/side-nav/portal/index.js.map +1 -1
  745. package/dist/components/hds/side-nav/portal/target.js +2 -2
  746. package/dist/components/hds/side-nav/portal/target.js.map +1 -1
  747. package/dist/components/hds/side-nav/toggle-button.js +2 -2
  748. package/dist/components/hds/side-nav/toggle-button.js.map +1 -1
  749. package/dist/components/hds/stepper/list/index.js +2 -2
  750. package/dist/components/hds/stepper/list/index.js.map +1 -1
  751. package/dist/components/hds/stepper/list/step.js +2 -2
  752. package/dist/components/hds/stepper/list/step.js.map +1 -1
  753. package/dist/components/hds/stepper/nav/index.js +2 -2
  754. package/dist/components/hds/stepper/nav/index.js.map +1 -1
  755. package/dist/components/hds/stepper/nav/panel.js +2 -2
  756. package/dist/components/hds/stepper/nav/panel.js.map +1 -1
  757. package/dist/components/hds/stepper/nav/step.js +2 -2
  758. package/dist/components/hds/stepper/nav/step.js.map +1 -1
  759. package/dist/components/hds/stepper/step/indicator.js +2 -2
  760. package/dist/components/hds/stepper/step/indicator.js.map +1 -1
  761. package/dist/components/hds/stepper/task/indicator.js +2 -2
  762. package/dist/components/hds/stepper/task/indicator.js.map +1 -1
  763. package/dist/components/hds/stepper/types.js +1 -1
  764. package/dist/components/hds/stepper/types.js.map +1 -1
  765. package/dist/components/hds/table/index.js +2 -2
  766. package/dist/components/hds/table/index.js.map +1 -1
  767. package/dist/components/hds/table/td.js +2 -2
  768. package/dist/components/hds/table/td.js.map +1 -1
  769. package/dist/components/hds/table/th-button-sort.js +2 -2
  770. package/dist/components/hds/table/th-button-sort.js.map +1 -1
  771. package/dist/components/hds/table/th-button-tooltip.js +2 -2
  772. package/dist/components/hds/table/th-button-tooltip.js.map +1 -1
  773. package/dist/components/hds/table/th-selectable.js +2 -2
  774. package/dist/components/hds/table/th-selectable.js.map +1 -1
  775. package/dist/components/hds/table/th-sort.js +2 -2
  776. package/dist/components/hds/table/th-sort.js.map +1 -1
  777. package/dist/components/hds/table/th.js +2 -2
  778. package/dist/components/hds/table/th.js.map +1 -1
  779. package/dist/components/hds/table/tr.js +2 -2
  780. package/dist/components/hds/table/tr.js.map +1 -1
  781. package/dist/components/hds/table/types.js +1 -1
  782. package/dist/components/hds/table/types.js.map +1 -1
  783. package/dist/components/hds/tabs/index.js +2 -2
  784. package/dist/components/hds/tabs/index.js.map +1 -1
  785. package/dist/components/hds/tabs/panel.js +2 -2
  786. package/dist/components/hds/tabs/panel.js.map +1 -1
  787. package/dist/components/hds/tabs/tab.js +2 -2
  788. package/dist/components/hds/tabs/tab.js.map +1 -1
  789. package/dist/components/hds/tabs/types.js +1 -1
  790. package/dist/components/hds/tabs/types.js.map +1 -1
  791. package/dist/components/hds/tag/index.js +2 -2
  792. package/dist/components/hds/tag/index.js.map +1 -1
  793. package/dist/components/hds/tag/types.js +1 -1
  794. package/dist/components/hds/tag/types.js.map +1 -1
  795. package/dist/components/hds/text/body.js +2 -2
  796. package/dist/components/hds/text/body.js.map +1 -1
  797. package/dist/components/hds/text/code.js +2 -2
  798. package/dist/components/hds/text/code.js.map +1 -1
  799. package/dist/components/hds/text/display.js +2 -2
  800. package/dist/components/hds/text/display.js.map +1 -1
  801. package/dist/components/hds/text/index.js +2 -2
  802. package/dist/components/hds/text/index.js.map +1 -1
  803. package/dist/components/hds/text/types.js +1 -1
  804. package/dist/components/hds/text/types.js.map +1 -1
  805. package/dist/components/hds/time/index.js +2 -2
  806. package/dist/components/hds/time/index.js.map +1 -1
  807. package/dist/components/hds/time/range.js +2 -2
  808. package/dist/components/hds/time/range.js.map +1 -1
  809. package/dist/components/hds/time/single.js +2 -2
  810. package/dist/components/hds/time/single.js.map +1 -1
  811. package/dist/components/hds/toast/index.js +2 -2
  812. package/dist/components/hds/toast/index.js.map +1 -1
  813. package/dist/components/hds/tooltip-button/index.js +2 -2
  814. package/dist/components/hds/tooltip-button/index.js.map +1 -1
  815. package/dist/components/hds/tooltip-button/types.js +1 -1
  816. package/dist/components/hds/tooltip-button/types.js.map +1 -1
  817. package/dist/components/hds/yield/index.js +2 -2
  818. package/dist/components/hds/yield/index.js.map +1 -1
  819. package/dist/components.js +0 -12
  820. package/dist/components.js.map +1 -1
  821. package/dist/helpers/hds-format-date.js +1 -1
  822. package/dist/helpers/hds-format-date.js.map +1 -1
  823. package/dist/helpers/hds-format-relative.js +1 -1
  824. package/dist/helpers/hds-format-relative.js.map +1 -1
  825. package/dist/helpers/hds-link-to-models.js +1 -1
  826. package/dist/helpers/hds-link-to-models.js.map +1 -1
  827. package/dist/helpers/hds-link-to-query.js +1 -1
  828. package/dist/helpers/hds-link-to-query.js.map +1 -1
  829. package/dist/helpers/hds-t.js +1 -1
  830. package/dist/helpers/hds-t.js.map +1 -1
  831. package/dist/instance-initializers/load-sprite.js +1 -1
  832. package/dist/instance-initializers/load-sprite.js.map +1 -1
  833. package/dist/modifiers/hds-advanced-table-cell/dom-management.js +1 -1
  834. package/dist/modifiers/hds-advanced-table-cell/dom-management.js.map +1 -1
  835. package/dist/modifiers/hds-advanced-table-cell/keyboard-navigation.js +1 -1
  836. package/dist/modifiers/hds-advanced-table-cell/keyboard-navigation.js.map +1 -1
  837. package/dist/modifiers/hds-advanced-table-cell.js +1 -1
  838. package/dist/modifiers/hds-advanced-table-cell.js.map +1 -1
  839. package/dist/modifiers/hds-anchored-position.js +1 -1
  840. package/dist/modifiers/hds-anchored-position.js.map +1 -1
  841. package/dist/modifiers/hds-clipboard.js +1 -1
  842. package/dist/modifiers/hds-clipboard.js.map +1 -1
  843. package/dist/modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.js +1 -1
  844. package/dist/modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.js.map +1 -1
  845. package/dist/modifiers/hds-code-editor/languages/rego.js +1 -1
  846. package/dist/modifiers/hds-code-editor/languages/rego.js.map +1 -1
  847. package/dist/modifiers/hds-code-editor/languages/sentinel.js +1 -1
  848. package/dist/modifiers/hds-code-editor/languages/sentinel.js.map +1 -1
  849. package/dist/modifiers/hds-code-editor/linters/json-linter.js +1 -1
  850. package/dist/modifiers/hds-code-editor/linters/json-linter.js.map +1 -1
  851. package/dist/modifiers/hds-code-editor/palettes/hds-dark-palette.js +1 -1
  852. package/dist/modifiers/hds-code-editor/palettes/hds-dark-palette.js.map +1 -1
  853. package/dist/modifiers/hds-code-editor/themes/hds-dark-theme.js +1 -1
  854. package/dist/modifiers/hds-code-editor/themes/hds-dark-theme.js.map +1 -1
  855. package/dist/modifiers/hds-code-editor/types.js +1 -1
  856. package/dist/modifiers/hds-code-editor/types.js.map +1 -1
  857. package/dist/modifiers/hds-code-editor.js +9 -8
  858. package/dist/modifiers/hds-code-editor.js.map +1 -1
  859. package/dist/modifiers/hds-register-event.js +1 -1
  860. package/dist/modifiers/hds-register-event.js.map +1 -1
  861. package/dist/modifiers/hds-tooltip.js +1 -1
  862. package/dist/modifiers/hds-tooltip.js.map +1 -1
  863. package/dist/re-exports/codemirror.js +6 -0
  864. package/dist/re-exports/codemirror.js.map +1 -0
  865. package/dist/services/hds-intl.js +1 -1
  866. package/dist/services/hds-intl.js.map +1 -1
  867. package/dist/services/hds-time.js.map +1 -1
  868. package/dist/styles/@hashicorp/design-system-components.css +110 -329
  869. package/dist/styles/@hashicorp/design-system-components.scss +1 -2
  870. package/dist/styles/@hashicorp/design-system-power-select-overrides.scss +1 -1
  871. package/dist/styles/components/accordion.scss +1 -1
  872. package/dist/styles/components/advanced-table.scss +2 -68
  873. package/dist/styles/components/alert.scss +1 -1
  874. package/dist/styles/components/app-footer.scss +1 -1
  875. package/dist/styles/components/app-frame.scss +1 -1
  876. package/dist/styles/components/app-header.scss +1 -1
  877. package/dist/styles/components/app-side-nav/content.scss +1 -1
  878. package/dist/styles/components/app-side-nav/index.scss +1 -1
  879. package/dist/styles/components/app-side-nav/main.scss +1 -1
  880. package/dist/styles/components/app-side-nav/toggle-button.scss +1 -1
  881. package/dist/styles/components/app-side-nav/vars.scss +1 -1
  882. package/dist/styles/components/application-state.scss +1 -1
  883. package/dist/styles/components/badge-count.scss +1 -1
  884. package/dist/styles/components/badge.scss +1 -1
  885. package/dist/styles/components/breadcrumb.scss +1 -1
  886. package/dist/styles/components/button-set.scss +1 -1
  887. package/dist/styles/components/button.scss +1 -1
  888. package/dist/styles/components/card/container.scss +1 -1
  889. package/dist/styles/components/card/index.scss +1 -1
  890. package/dist/styles/components/code-block/index.scss +1 -1
  891. package/dist/styles/components/code-block/theme.scss +1 -1
  892. package/dist/styles/components/code-editor/index.scss +1 -1
  893. package/dist/styles/components/code-editor/theme.scss +1 -1
  894. package/dist/styles/components/copy/button.scss +1 -1
  895. package/dist/styles/components/copy/index.scss +1 -1
  896. package/dist/styles/components/copy/snippet.scss +1 -1
  897. package/dist/styles/components/dialog-primitive.scss +1 -1
  898. package/dist/styles/components/disclosure-primitive.scss +1 -1
  899. package/dist/styles/components/dismiss-button.scss +1 -1
  900. package/dist/styles/components/dropdown.scss +1 -1
  901. package/dist/styles/components/flyout.scss +1 -1
  902. package/dist/styles/components/form/character-count.scss +1 -1
  903. package/dist/styles/components/form/checkbox.scss +1 -1
  904. package/dist/styles/components/form/error.scss +1 -1
  905. package/dist/styles/components/form/field.scss +1 -1
  906. package/dist/styles/components/form/file-input.scss +1 -1
  907. package/dist/styles/components/form/group.scss +1 -1
  908. package/dist/styles/components/form/helper-text.scss +1 -1
  909. package/dist/styles/components/form/index.scss +1 -1
  910. package/dist/styles/components/form/indicator.scss +1 -1
  911. package/dist/styles/components/form/key-value-inputs.scss +1 -1
  912. package/dist/styles/components/form/label.scss +1 -1
  913. package/dist/styles/components/form/layout.scss +1 -1
  914. package/dist/styles/components/form/legend.scss +1 -1
  915. package/dist/styles/components/form/masked-input.scss +1 -1
  916. package/dist/styles/components/form/radio-card.scss +1 -1
  917. package/dist/styles/components/form/radio.scss +1 -1
  918. package/dist/styles/components/form/select.scss +1 -1
  919. package/dist/styles/components/form/super-select.scss +1 -1
  920. package/dist/styles/components/form/text-input.scss +1 -1
  921. package/dist/styles/components/form/textarea.scss +1 -1
  922. package/dist/styles/components/form/toggle.scss +1 -1
  923. package/dist/styles/components/form/visibility-toggle.scss +1 -1
  924. package/dist/styles/components/icon-tile.scss +1 -1
  925. package/dist/styles/components/icon.scss +1 -1
  926. package/dist/styles/components/layout/flex.scss +1 -1
  927. package/dist/styles/components/layout/grid.scss +1 -1
  928. package/dist/styles/components/layout/index.scss +1 -1
  929. package/dist/styles/components/link/index.scss +1 -1
  930. package/dist/styles/components/link/inline.scss +1 -1
  931. package/dist/styles/components/link/standalone.scss +1 -1
  932. package/dist/styles/components/modal.scss +1 -1
  933. package/dist/styles/components/page-header.scss +1 -1
  934. package/dist/styles/components/pagination.scss +1 -1
  935. package/dist/styles/components/reveal.scss +1 -1
  936. package/dist/styles/components/rich-tooltip.scss +1 -1
  937. package/dist/styles/components/segmented-group.scss +1 -1
  938. package/dist/styles/components/separator.scss +1 -1
  939. package/dist/styles/components/side-nav/a11y-refocus.scss +1 -1
  940. package/dist/styles/components/side-nav/content.scss +1 -1
  941. package/dist/styles/components/side-nav/header.scss +1 -1
  942. package/dist/styles/components/side-nav/index.scss +1 -1
  943. package/dist/styles/components/side-nav/main.scss +1 -1
  944. package/dist/styles/components/side-nav/toggle-button.scss +1 -1
  945. package/dist/styles/components/side-nav/vars.scss +1 -1
  946. package/dist/styles/components/stepper/index.scss +1 -1
  947. package/dist/styles/components/stepper/list.scss +1 -1
  948. package/dist/styles/components/stepper/nav.scss +1 -1
  949. package/dist/styles/components/stepper/step-indicator.scss +1 -1
  950. package/dist/styles/components/stepper/task-indicator.scss +1 -1
  951. package/dist/styles/components/table.scss +1 -1
  952. package/dist/styles/components/tabs.scss +1 -1
  953. package/dist/styles/components/tag.scss +1 -1
  954. package/dist/styles/components/text.scss +1 -1
  955. package/dist/styles/components/time.scss +1 -1
  956. package/dist/styles/components/toast.scss +1 -1
  957. package/dist/styles/components/tooltip.scss +1 -1
  958. package/dist/styles/mixins/_breakpoints.scss +1 -1
  959. package/dist/styles/mixins/_button.scss +1 -1
  960. package/dist/styles/mixins/_focus-ring.scss +1 -1
  961. package/dist/styles/mixins/_interactive-dark-theme.scss +1 -1
  962. package/dist/styles/mixins/_screen-reader-only.scss +1 -1
  963. package/dist/utils/hds-aria-described-by.js +1 -1
  964. package/dist/utils/hds-aria-described-by.js.map +1 -1
  965. package/dist/utils/hds-breakpoints.js +1 -1
  966. package/dist/utils/hds-breakpoints.js.map +1 -1
  967. package/dist/utils/hds-get-element-id.js +1 -1
  968. package/dist/utils/hds-get-element-id.js.map +1 -1
  969. package/dist/utils/hds-resolve-link-to-external.js +1 -1
  970. package/dist/utils/hds-resolve-link-to-external.js.map +1 -1
  971. package/package.json +7 -14
  972. package/translations/hds/components/advanced-table/en-us.yaml +0 -3
  973. package/declarations/components/hds/filter-bar/checkbox.d.ts +0 -21
  974. package/declarations/components/hds/filter-bar/date.d.ts +0 -47
  975. package/declarations/components/hds/filter-bar/filter-group.d.ts +0 -51
  976. package/declarations/components/hds/filter-bar/filters-dropdown.d.ts +0 -38
  977. package/declarations/components/hds/filter-bar/generic.d.ts +0 -24
  978. package/declarations/components/hds/filter-bar/index.d.ts +0 -48
  979. package/declarations/components/hds/filter-bar/radio.d.ts +0 -21
  980. package/declarations/components/hds/filter-bar/range.d.ts +0 -45
  981. package/declarations/components/hds/filter-bar/tabs/index.d.ts +0 -43
  982. package/declarations/components/hds/filter-bar/tabs/panel.d.ts +0 -28
  983. package/declarations/components/hds/filter-bar/tabs/tab.d.ts +0 -34
  984. package/declarations/components/hds/filter-bar/types.d.ts +0 -86
  985. package/dist/_app_/components/hds/filter-bar/checkbox.js +0 -1
  986. package/dist/_app_/components/hds/filter-bar/date.js +0 -1
  987. package/dist/_app_/components/hds/filter-bar/filter-group.js +0 -1
  988. package/dist/_app_/components/hds/filter-bar/filters-dropdown.js +0 -1
  989. package/dist/_app_/components/hds/filter-bar/generic.js +0 -1
  990. package/dist/_app_/components/hds/filter-bar/radio.js +0 -1
  991. package/dist/_app_/components/hds/filter-bar/range.js +0 -1
  992. package/dist/_app_/components/hds/filter-bar/tabs/panel.js +0 -1
  993. package/dist/_app_/components/hds/filter-bar/tabs/tab.js +0 -1
  994. package/dist/_app_/components/hds/filter-bar/tabs.js +0 -1
  995. package/dist/_app_/components/hds/filter-bar.js +0 -1
  996. package/dist/components/hds/filter-bar/checkbox.js +0 -40
  997. package/dist/components/hds/filter-bar/checkbox.js.map +0 -1
  998. package/dist/components/hds/filter-bar/date.js +0 -164
  999. package/dist/components/hds/filter-bar/date.js.map +0 -1
  1000. package/dist/components/hds/filter-bar/filter-group.js +0 -226
  1001. package/dist/components/hds/filter-bar/filter-group.js.map +0 -1
  1002. package/dist/components/hds/filter-bar/filters-dropdown.js +0 -120
  1003. package/dist/components/hds/filter-bar/filters-dropdown.js.map +0 -1
  1004. package/dist/components/hds/filter-bar/generic.js +0 -43
  1005. package/dist/components/hds/filter-bar/generic.js.map +0 -1
  1006. package/dist/components/hds/filter-bar/index.js +0 -237
  1007. package/dist/components/hds/filter-bar/index.js.map +0 -1
  1008. package/dist/components/hds/filter-bar/radio.js +0 -40
  1009. package/dist/components/hds/filter-bar/radio.js.map +0 -1
  1010. package/dist/components/hds/filter-bar/range.js +0 -163
  1011. package/dist/components/hds/filter-bar/range.js.map +0 -1
  1012. package/dist/components/hds/filter-bar/tabs/index.js +0 -181
  1013. package/dist/components/hds/filter-bar/tabs/index.js.map +0 -1
  1014. package/dist/components/hds/filter-bar/tabs/panel.js +0 -67
  1015. package/dist/components/hds/filter-bar/tabs/panel.js.map +0 -1
  1016. package/dist/components/hds/filter-bar/tabs/tab.js +0 -98
  1017. package/dist/components/hds/filter-bar/tabs/tab.js.map +0 -1
  1018. package/dist/components/hds/filter-bar/types.js +0 -35
  1019. package/dist/components/hds/filter-bar/types.js.map +0 -1
  1020. package/dist/styles/components/filter-bar.scss +0 -180
  1021. package/translations/hds/components/filter-bar/date/en-us.yaml +0 -18
  1022. package/translations/hds/components/filter-bar/en-us.yaml +0 -9
  1023. package/translations/hds/components/filter-bar/filter-group/en-us.yaml +0 -1
  1024. package/translations/hds/components/filter-bar/filter-options/en-us.yaml +0 -1
  1025. package/translations/hds/components/filter-bar/filters-dropdown/en-us.yaml +0 -7
  1026. package/translations/hds/components/filter-bar/range/en-us.yaml +0 -15
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/advanced-table/index.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\nimport { tracked } from '@glimmer/tracking';\nimport { guidFor } from '@ember/object/internals';\nimport { service } from '@ember/service';\nimport { modifier } from 'ember-modifier';\nimport HdsAdvancedTableTableModel from './models/table.ts';\n\nimport type Owner from '@ember/owner';\nimport type { WithBoundArgs } from '@glint/template';\nimport type { ComponentLike } from '@glint/template';\nimport {\n HdsAdvancedTableDensityValues,\n HdsAdvancedTableVerticalAlignmentValues,\n} from './types.ts';\nimport type {\n HdsAdvancedTableColumn,\n HdsAdvancedTableDensities,\n HdsAdvancedTableHorizontalAlignment,\n HdsAdvancedTableOnSelectionChangeSignature,\n HdsAdvancedTableSelectableRow,\n HdsAdvancedTableThSortOrder,\n HdsAdvancedTableVerticalAlignment,\n HdsAdvancedTableModel,\n HdsAdvancedTableExpandState,\n HdsAdvancedTableColumnReorderCallback,\n} from './types.ts';\nimport type { HdsFilterBarSignature } from '../filter-bar/index.ts';\nimport type HdsAdvancedTableColumnType from './models/column.ts';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base.ts';\nimport type HdsAdvancedTableTd from './td.ts';\nimport type HdsAdvancedTableTh from './th.ts';\nimport type HdsAdvancedTableTr from './tr.ts';\nimport type HdsIntlService from '../../../services/hds-intl.ts';\n\nexport const DENSITIES: HdsAdvancedTableDensities[] = Object.values(\n HdsAdvancedTableDensityValues\n);\nexport const DEFAULT_DENSITY = HdsAdvancedTableDensityValues.Medium;\n\nexport const VALIGNMENTS: HdsAdvancedTableVerticalAlignment[] = Object.values(\n HdsAdvancedTableVerticalAlignmentValues\n);\nexport const DEFAULT_VALIGN = HdsAdvancedTableVerticalAlignmentValues.Top;\n\nexport const BORDER_WIDTH = 1;\n\nconst DEFAULT_SCROLL_DIMENSIONS = {\n bottom: '0px',\n height: '0px',\n left: '0px',\n right: '0px',\n width: '0px',\n};\n\nconst getScrollIndicatorDimensions = (\n scrollWrapper: HTMLDivElement,\n theadElement: HTMLDivElement,\n hasStickyFirstColumn: boolean,\n hasFirstColumnPxWidth: boolean,\n isStickyColumnPinned: boolean\n) => {\n const horizontalScrollBarHeight =\n scrollWrapper.offsetHeight - scrollWrapper.clientHeight;\n const verticalScrollBarWidth =\n scrollWrapper.offsetWidth - scrollWrapper.clientWidth;\n\n let leftOffset = 0;\n\n if (hasStickyFirstColumn) {\n const stickyColumnHeaders = theadElement.querySelectorAll(\n '.hds-advanced-table__th--is-sticky-column'\n );\n\n stickyColumnHeaders?.forEach((el) => {\n // querySelectorAll returns Elements, which don't have offsetWidth\n // need to use offsetWidth to account for the cell borders\n const elAsHTMLElement = el as HTMLElement;\n leftOffset += elAsHTMLElement.offsetWidth;\n });\n\n // offsets the left: -1px position if there are multiple sticky columns or the first column has a fixed pixel width\n if (stickyColumnHeaders.length > 1 || hasFirstColumnPxWidth) {\n leftOffset -= 1;\n }\n\n // offsets the left: -1px position if the sticky column is already pinned when the scroll indicator is calculated\n if (isStickyColumnPinned) {\n leftOffset -= 1;\n }\n }\n\n return {\n bottom: `${horizontalScrollBarHeight}px`,\n height: `${scrollWrapper.offsetHeight - horizontalScrollBarHeight}px`,\n left: `${leftOffset}px`,\n right: `${verticalScrollBarWidth}px`,\n width: `${scrollWrapper.offsetWidth - verticalScrollBarWidth}px`,\n };\n};\n\nconst getStickyColumnLeftOffset = (\n theadElement: HTMLDivElement,\n hasRowSelection: boolean,\n isStickyColumnPinned: boolean\n) => {\n // if there is no select checkbox column, the sticky column is all the way to the left\n if (!hasRowSelection) return '0px';\n\n const selectableCell = theadElement.querySelector(\n '.hds-advanced-table__th--is-selectable'\n ) as HTMLElement;\n\n let leftOffset = selectableCell?.offsetWidth ?? 0;\n\n // if the sticky column is pinned when the offset is calculated, we need to account for the increased width of the border\n if (isStickyColumnPinned && leftOffset > 0) {\n leftOffset -= 2;\n }\n\n return `${leftOffset}px`;\n};\n\nexport interface HdsAdvancedTableSignature {\n Args: {\n align?: HdsAdvancedTableHorizontalAlignment;\n caption?: string;\n columns: HdsAdvancedTableColumn[];\n columnOrder?: string[];\n density?: HdsAdvancedTableDensities;\n identityKey?: string;\n isSelectable?: boolean;\n isStriped?: boolean;\n model: HdsAdvancedTableModel;\n reorderedMessageText?: string;\n selectionAriaLabelSuffix?: string;\n sortBy?: string;\n selectableColumnKey?: string;\n sortedMessageText?: string;\n sortOrder?: HdsAdvancedTableThSortOrder;\n valign?: HdsAdvancedTableVerticalAlignment;\n hasReorderableColumns?: boolean;\n hasResizableColumns?: boolean;\n hasStickyHeader?: boolean;\n hasStickyFirstColumn?: boolean;\n childrenKey?: string;\n maxHeight?: string;\n isEmpty?: boolean;\n onColumnReorder?: HdsAdvancedTableColumnReorderCallback;\n onColumnResize?: (columnKey: string, newWidth?: string) => void;\n onSelectionChange?: (\n selection: HdsAdvancedTableOnSelectionChangeSignature\n ) => void;\n onSort?: (sortBy: string, sortOrder: HdsAdvancedTableThSortOrder) => void;\n };\n Blocks: {\n actions?: [\n {\n FilterBar?: ComponentLike<HdsFilterBarSignature>;\n },\n ];\n body?: [\n {\n Td?: WithBoundArgs<typeof HdsAdvancedTableTd, 'align'>;\n Tr?: WithBoundArgs<\n typeof HdsAdvancedTableTr,\n | 'selectionScope'\n | 'isLastRow'\n | 'isSelectable'\n | 'onSelectionChange'\n | 'didInsert'\n | 'willDestroy'\n | 'selectionAriaLabelSuffix'\n | 'hasStickyColumn'\n | 'isStickyColumnPinned'\n | 'isParentRow'\n | 'depth'\n | 'displayRow'\n >;\n Th?: WithBoundArgs<\n typeof HdsAdvancedTableTh,\n | 'depth'\n | 'isExpandable'\n | 'isExpanded'\n | 'newLabel'\n | 'parentId'\n | 'scope'\n | 'isStickyColumn'\n | 'isStickyColumnPinned'\n | 'onClickToggle'\n >;\n data?: Record<string, unknown>;\n rowIndex?: number | string;\n isOpen?: HdsAdvancedTableExpandState;\n },\n ];\n emptyState?: [];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsAdvancedTable extends Component<HdsAdvancedTableSignature> {\n @service hdsIntl!: HdsIntlService;\n\n @tracked\n private _selectAllCheckbox?: HdsFormCheckboxBaseSignature['Element'] =\n undefined;\n @tracked private _isSelectAllCheckboxSelected?: boolean = undefined;\n @tracked private _tableHeight = 0;\n private _selectableRows: HdsAdvancedTableSelectableRow[] = [];\n private _captionId = 'caption-' + guidFor(this);\n private _tableModel!: HdsAdvancedTableTableModel;\n private _scrollHandler!: (event: Event) => void;\n private _resizeObserver!: ResizeObserver;\n private _theadElement!: HTMLDivElement;\n private _scrollWrapperElement!: HTMLDivElement;\n\n @tracked scrollIndicatorDimensions = DEFAULT_SCROLL_DIMENSIONS;\n @tracked isStickyColumnPinned = false;\n @tracked isStickyHeaderPinned = false;\n @tracked hasPinnedFirstColumn: boolean | undefined = undefined;\n @tracked reorderedMessageText = '';\n @tracked showScrollIndicatorLeft = false;\n @tracked showScrollIndicatorRight = false;\n @tracked showScrollIndicatorTop = false;\n @tracked showScrollIndicatorBottom = false;\n @tracked stickyColumnOffset = '0px';\n\n constructor(owner: Owner, args: HdsAdvancedTableSignature['Args']) {\n super(owner, args);\n\n const {\n model,\n columns,\n columnOrder,\n childrenKey,\n hasReorderableColumns,\n hasResizableColumns,\n sortBy,\n sortOrder,\n hasStickyFirstColumn,\n onSort,\n } = args;\n\n this._tableModel = new HdsAdvancedTableTableModel({\n model,\n columns,\n columnOrder,\n childrenKey,\n hasReorderableColumns,\n hasResizableColumns,\n sortBy,\n sortOrder,\n onColumnReorder: this._onColumnReorder.bind(this),\n onSort,\n });\n\n this._runAssertions();\n\n if (hasStickyFirstColumn) {\n this.hasPinnedFirstColumn = true;\n }\n }\n\n get isEmpty(): boolean {\n const { isEmpty } = this.args;\n if (isEmpty !== undefined) {\n return isEmpty;\n }\n return false;\n }\n\n get identityKey(): string | undefined {\n // we have to provide a way for the consumer to pass undefined because Ember tries to interpret undefined as missing an arg and therefore falls back to the default\n if (this.args.identityKey === 'none') {\n return undefined;\n } else {\n return this.args.identityKey ?? '@identity';\n }\n }\n\n get childrenKey(): string {\n const { childrenKey = 'children' } = this.args;\n\n return childrenKey;\n }\n\n get hasStickyFirstColumn(): boolean | undefined {\n // The user-controlled `hasPinnedFirstColumn` variable takes precedence over the model's `hasStickyFirstColumn` property.\n if (this.hasPinnedFirstColumn !== undefined) {\n return this.hasPinnedFirstColumn;\n } else if (this.args.hasStickyFirstColumn === false) {\n return this.args.hasStickyFirstColumn;\n }\n\n return undefined;\n }\n\n get hasScrollIndicator(): boolean {\n if (this.hasStickyFirstColumn) {\n return true;\n }\n\n return false;\n }\n\n get sortedMessageText(): string {\n const { sortedMessageText } = this.args;\n const { sortBy, sortOrder } = this._tableModel;\n\n if (sortedMessageText !== undefined) {\n return sortedMessageText;\n } else if (sortBy !== undefined && sortOrder !== undefined) {\n // we should allow the user to define a custom value here (e.g., for i18n) - tracked with HDS-965\n return `Sorted by ${sortBy} ${sortOrder}ending`;\n } else {\n return '';\n }\n }\n\n get isSelectable(): boolean {\n const { isSelectable = false } = this.args;\n\n if (this._tableModel.hasRowsWithChildren) {\n assert(\n '@isSelectable must not be true if there are nested rows.',\n !isSelectable\n );\n return isSelectable;\n }\n\n return isSelectable;\n }\n\n get isStriped(): boolean {\n const { isStriped = false } = this.args;\n\n if (this._tableModel.hasRowsWithChildren) {\n assert(\n '@isStriped must not be true if there are nested rows.',\n !isStriped\n );\n return isStriped;\n }\n\n return isStriped;\n }\n\n get density(): HdsAdvancedTableDensities {\n const { density = DEFAULT_DENSITY } = this.args;\n\n assert(\n `@density for \"Hds::Table\" must be one of the following: ${DENSITIES.join(\n ', '\n )}; received: ${density}`,\n DENSITIES.includes(density)\n );\n\n return density;\n }\n\n get hasStickyHeader(): boolean {\n if (this.args.maxHeight && this.args.hasStickyHeader !== false) {\n return true;\n } else if (this.args.hasStickyHeader && !this.args.maxHeight) {\n assert('Must set @maxHeight to use @hasStickyHeader.', false);\n }\n\n return false;\n }\n\n get valign(): HdsAdvancedTableVerticalAlignment {\n const { valign = DEFAULT_VALIGN } = this.args;\n\n assert(\n `@valign for \"Hds::Table\" must be one of the following: ${VALIGNMENTS.join(\n ', '\n )}; received: ${valign}`,\n VALIGNMENTS.includes(valign)\n );\n\n return valign;\n }\n\n // returns the grid-template-columns CSS attribute for the grid\n get gridTemplateColumns(): string {\n const { isSelectable } = this.args;\n const { orderedColumns } = this._tableModel;\n\n // if there is a select checkbox, the first column has a 'min-content' width to hug the checkbox content\n let style = isSelectable ? 'min-content ' : '';\n\n for (let i = 0; i < orderedColumns.length; i++) {\n style += ` ${orderedColumns[i]!.appliedWidth}`;\n }\n\n return style;\n }\n\n get classNames(): string {\n const classes = ['hds-advanced-table'];\n\n if (this.isStriped) {\n classes.push('hds-advanced-table--striped');\n }\n\n if (this.density) {\n classes.push(`hds-advanced-table--density-${this.density}`);\n }\n\n if (this.valign) {\n classes.push(`hds-advanced-table--valign-${this.valign}`);\n }\n\n if (this._tableModel.hasRowsWithChildren) {\n classes.push(`hds-advanced-table--nested`);\n }\n\n return classes.join(' ');\n }\n\n get theadClassNames(): string {\n const classes = ['hds-advanced-table__thead'];\n\n if (this.hasStickyHeader) {\n classes.push('hds-advanced-table__thead--sticky');\n }\n\n if (this.isStickyHeaderPinned) {\n classes.push('hds-advanced-table__thead--is-pinned');\n }\n\n if (this._tableModel.hasResizableColumns) {\n classes.push('hds-advanced-table__thead--has-resizable-columns');\n }\n\n return classes.join(' ');\n }\n\n private _registerGridElement = modifier((element: HTMLDivElement) => {\n this._tableModel.gridElement = element;\n });\n\n private _registerThElement = modifier(\n (element: HTMLDivElement, [column]: [HdsAdvancedTableColumnType]) => {\n if (column === undefined) {\n return;\n }\n\n column.thElement = element;\n }\n );\n\n private _setUpScrollWrapper = modifier((element: HTMLDivElement) => {\n this._scrollWrapperElement = element;\n\n const updateHorizontalScrollIndicators = () => {\n this.showScrollIndicatorRight = element.clientWidth < element.scrollWidth;\n };\n\n this._scrollHandler = () => {\n this._updateScrollIndicators(element);\n };\n\n element.addEventListener('scroll', this._scrollHandler);\n\n const updateMeasurements = () => {\n this._tableHeight = element.offsetHeight;\n\n const hasFirstColumnPxWidth =\n this._tableModel.columns[0]?.pxWidth !== undefined;\n\n this.scrollIndicatorDimensions = getScrollIndicatorDimensions(\n element,\n this._theadElement,\n this.hasStickyFirstColumn ? true : false,\n hasFirstColumnPxWidth,\n this.isStickyColumnPinned\n );\n\n if (this.hasStickyFirstColumn) {\n this.stickyColumnOffset = getStickyColumnLeftOffset(\n this._theadElement,\n isSelectable,\n this.isStickyColumnPinned\n );\n }\n };\n\n const { isSelectable = false } = this.args;\n\n this._resizeObserver = new ResizeObserver((entries) => {\n entries.forEach(() => {\n updateMeasurements();\n updateHorizontalScrollIndicators();\n });\n });\n\n this._resizeObserver.observe(element);\n\n updateMeasurements();\n\n // on render check if should show right scroll indicator\n updateHorizontalScrollIndicators();\n\n // on render check if should show bottom scroll indicator\n if (element.clientHeight < element.scrollHeight) {\n this.showScrollIndicatorBottom = true;\n }\n\n return () => {\n element.removeEventListener('scroll', this._scrollHandler);\n this._resizeObserver.disconnect();\n };\n });\n\n private _runAssertions() {\n const {\n columns,\n hasReorderableColumns,\n hasResizableColumns,\n hasStickyFirstColumn,\n } = this.args;\n\n if (this._tableModel.hasRowsWithChildren) {\n const sortableColumns = columns.filter((column) => column.isSortable);\n const sortableColumnLabels = sortableColumns.map(\n (column) => column.label\n );\n\n assert(\n 'Cannot have reorderable columns if there are nested rows.',\n !hasReorderableColumns\n );\n\n assert(\n `Cannot have sortable columns if there are nested rows. Sortable columns are ${sortableColumnLabels.toString()}`,\n sortableColumns.length === 0\n );\n\n assert(\n 'Cannot have a sticky first column if there are nested rows.',\n hasStickyFirstColumn === undefined\n );\n\n assert(\n `Cannot have resizable columns if there are nested rows.`,\n !hasResizableColumns\n );\n }\n\n if (hasReorderableColumns) {\n assert(\n 'Cannot have both reorderable columns and a sticky first column.',\n hasStickyFirstColumn === undefined\n );\n }\n }\n\n private _setUpThead = modifier((element: HTMLDivElement) => {\n this._theadElement = element;\n });\n\n private _onColumnReorder: HdsAdvancedTableColumnReorderCallback = ({\n column,\n newOrder,\n insertedAt,\n }) => {\n const { reorderedMessageText } = this.args;\n\n if (reorderedMessageText !== undefined) {\n this.reorderedMessageText = reorderedMessageText;\n } else {\n const newPosition = insertedAt + 1;\n const translatedReorderedMessageText = this.hdsIntl.t(\n 'hds.advanced-table.reordered-message',\n {\n default: `Moved ${column.label} column to position ${newPosition}`,\n columnLabel: column.label,\n newPosition,\n }\n );\n\n this.reorderedMessageText = translatedReorderedMessageText;\n }\n\n this.args.onColumnReorder?.({\n column,\n newOrder,\n insertedAt,\n });\n };\n\n onSelectionChangeCallback(\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n const { onSelectionChange } = this.args;\n\n if (typeof onSelectionChange !== 'function') return;\n\n onSelectionChange({\n selectionKey: selectionKey,\n selectionCheckboxElement: checkbox,\n selectedRowsKeys: this._selectableRows.reduce<string[]>((acc, row) => {\n if (row.checkbox.checked) {\n acc.push(row.selectionKey);\n }\n return acc;\n }, []),\n selectableRowsStates: this._selectableRows.reduce(\n (\n acc: { selectionKey: string; isSelected: boolean | undefined }[],\n row\n ) => {\n acc.push({\n selectionKey: row.selectionKey,\n isSelected: row.checkbox.checked,\n });\n return acc;\n },\n []\n ),\n });\n }\n\n @action\n setupTableModelData(): void {\n const { columns, model, sortBy, sortOrder } = this.args;\n\n this._tableModel.setupData({\n columns,\n model,\n sortBy,\n sortOrder,\n });\n }\n\n @action\n updateTableModelColumnOrder(): void {\n if (this.args.columnOrder === undefined) {\n return;\n }\n\n this._tableModel.columnOrder = this.args.columnOrder;\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 private _updateScrollIndicators(element: HTMLElement): void {\n // 6px as a buffer so the shadow doesn't appear over the border radius on the edge of the table\n const SCROLL_BUFFER = 6;\n\n // left scroll indicator and sticky column styles\n if (element.scrollLeft > SCROLL_BUFFER) {\n if (this.hasStickyFirstColumn) {\n this.isStickyColumnPinned = true;\n }\n if (!this.showScrollIndicatorLeft) {\n this.showScrollIndicatorLeft = true;\n }\n } else if (element.scrollLeft === 0 && this.showScrollIndicatorLeft) {\n this.isStickyColumnPinned = false;\n this.showScrollIndicatorLeft = false;\n }\n\n // the right edge is how far the user can scroll, which is the full width of the table - the visible section of the table (also subtract the buffer)\n const rightEdge = element.scrollWidth - element.clientWidth - SCROLL_BUFFER;\n\n // right scroll indicator\n if (element.scrollLeft < rightEdge) {\n this.showScrollIndicatorRight = true;\n } else {\n this.showScrollIndicatorRight = false;\n }\n\n // sticky header\n if (element.scrollTop > 0) {\n if (this.hasStickyHeader) {\n this.isStickyHeaderPinned = true;\n }\n this.showScrollIndicatorTop = true;\n } else {\n if (this.hasStickyHeader) {\n this.isStickyHeaderPinned = false;\n }\n this.showScrollIndicatorTop = false;\n }\n\n // the bottom edge is how far the user can scroll, which is the full height of the table - the visible section of the table (also subtract the buffer)\n const bottomEdge =\n element.scrollHeight - element.clientHeight - SCROLL_BUFFER;\n\n // bottom scroll indicator\n if (element.scrollTop < bottomEdge) {\n this.showScrollIndicatorBottom = true;\n } else {\n this.showScrollIndicatorBottom = false;\n }\n }\n\n private _onPinFirstColumn = (): void => {\n this.hasPinnedFirstColumn = this.hasPinnedFirstColumn ? false : true;\n // we need to retrigger the scroll indicator updates if the pinned state is changed when the table is already scrolled\n this._updateScrollIndicators(this._scrollWrapperElement);\n };\n\n private _isStickyColumn = (\n column: HdsAdvancedTableColumnType\n ): boolean | undefined => {\n if (column.isFirst && this.hasStickyFirstColumn !== undefined) {\n return this.hasStickyFirstColumn;\n }\n return undefined;\n };\n}\n"],"names":["DENSITIES","Object","values","HdsAdvancedTableDensityValues","DEFAULT_DENSITY","Medium","VALIGNMENTS","HdsAdvancedTableVerticalAlignmentValues","DEFAULT_VALIGN","Top","BORDER_WIDTH","DEFAULT_SCROLL_DIMENSIONS","bottom","height","left","right","width","getScrollIndicatorDimensions","scrollWrapper","theadElement","hasStickyFirstColumn","hasFirstColumnPxWidth","isStickyColumnPinned","horizontalScrollBarHeight","offsetHeight","clientHeight","verticalScrollBarWidth","offsetWidth","clientWidth","leftOffset","stickyColumnHeaders","querySelectorAll","forEach","el","elAsHTMLElement","length","getStickyColumnLeftOffset","hasRowSelection","selectableCell","querySelector","HdsAdvancedTable","Component","g","prototype","service","i","void 0","tracked","undefined","_selectableRows","_captionId","guidFor","_tableModel","_scrollHandler","_resizeObserver","_theadElement","_scrollWrapperElement","constructor","owner","args","model","columns","columnOrder","childrenKey","hasReorderableColumns","hasResizableColumns","sortBy","sortOrder","onSort","HdsAdvancedTableTableModel","onColumnReorder","_onColumnReorder","bind","_runAssertions","hasPinnedFirstColumn","isEmpty","identityKey","hasScrollIndicator","sortedMessageText","isSelectable","hasRowsWithChildren","assert","isStriped","density","join","includes","hasStickyHeader","maxHeight","valign","gridTemplateColumns","orderedColumns","style","appliedWidth","classNames","classes","push","theadClassNames","isStickyHeaderPinned","_registerGridElement","modifier","element","gridElement","_registerThElement","column","thElement","_setUpScrollWrapper","updateHorizontalScrollIndicators","showScrollIndicatorRight","scrollWidth","_updateScrollIndicators","addEventListener","updateMeasurements","_tableHeight","pxWidth","scrollIndicatorDimensions","stickyColumnOffset","ResizeObserver","entries","observe","scrollHeight","showScrollIndicatorBottom","removeEventListener","disconnect","sortableColumns","filter","isSortable","sortableColumnLabels","map","label","toString","_setUpThead","newOrder","insertedAt","reorderedMessageText","newPosition","translatedReorderedMessageText","hdsIntl","t","default","columnLabel","onSelectionChangeCallback","checkbox","selectionKey","onSelectionChange","selectionCheckboxElement","selectedRowsKeys","reduce","acc","row","checked","selectableRowsStates","isSelected","setupTableModelData","setupData","n","action","updateTableModelColumnOrder","onSelectionAllChange","_selectAllCheckbox","_isSelectAllCheckboxSelected","onSelectionRowChange","setSelectAllState","didInsertSelectAllCheckbox","willDestroySelectAllCheckbox","didInsertRowCheckbox","willDestroyRowCheckbox","selectableRowsCount","selectedRowsCount","indeterminate","SCROLL_BUFFER","scrollLeft","showScrollIndicatorLeft","rightEdge","scrollTop","showScrollIndicatorTop","bottomEdge","_onPinFirstColumn","_isStickyColumn","isFirst","setComponentTemplate","TEMPLATE"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/advanced-table/index.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\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 { guidFor } from '@ember/object/internals';\nimport { service } from '@ember/service';\nimport { modifier } from 'ember-modifier';\nimport HdsAdvancedTableTableModel from './models/table.ts';\n\nimport type Owner from '@ember/owner';\nimport type { WithBoundArgs } from '@glint/template';\nimport {\n HdsAdvancedTableDensityValues,\n HdsAdvancedTableVerticalAlignmentValues,\n} from './types.ts';\nimport type {\n HdsAdvancedTableColumn,\n HdsAdvancedTableDensities,\n HdsAdvancedTableHorizontalAlignment,\n HdsAdvancedTableOnSelectionChangeSignature,\n HdsAdvancedTableSelectableRow,\n HdsAdvancedTableThSortOrder,\n HdsAdvancedTableVerticalAlignment,\n HdsAdvancedTableModel,\n HdsAdvancedTableExpandState,\n HdsAdvancedTableColumnReorderCallback,\n} from './types.ts';\nimport type HdsAdvancedTableColumnType from './models/column.ts';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base.ts';\nimport type HdsAdvancedTableTd from './td.ts';\nimport type HdsAdvancedTableTh from './th.ts';\nimport type HdsAdvancedTableTr from './tr.ts';\nimport type HdsIntlService from '../../../services/hds-intl.ts';\n\nexport const DENSITIES: HdsAdvancedTableDensities[] = Object.values(\n HdsAdvancedTableDensityValues\n);\nexport const DEFAULT_DENSITY = HdsAdvancedTableDensityValues.Medium;\n\nexport const VALIGNMENTS: HdsAdvancedTableVerticalAlignment[] = Object.values(\n HdsAdvancedTableVerticalAlignmentValues\n);\nexport const DEFAULT_VALIGN = HdsAdvancedTableVerticalAlignmentValues.Top;\n\nexport const BORDER_WIDTH = 1;\n\nconst DEFAULT_SCROLL_DIMENSIONS = {\n bottom: '0px',\n height: '0px',\n left: '0px',\n right: '0px',\n width: '0px',\n};\n\nconst getScrollIndicatorDimensions = (\n scrollWrapper: HTMLDivElement,\n theadElement: HTMLDivElement,\n hasStickyFirstColumn: boolean,\n hasFirstColumnPxWidth: boolean,\n isStickyColumnPinned: boolean\n) => {\n const horizontalScrollBarHeight =\n scrollWrapper.offsetHeight - scrollWrapper.clientHeight;\n const verticalScrollBarWidth =\n scrollWrapper.offsetWidth - scrollWrapper.clientWidth;\n\n let leftOffset = 0;\n\n if (hasStickyFirstColumn) {\n const stickyColumnHeaders = theadElement.querySelectorAll(\n '.hds-advanced-table__th--is-sticky-column'\n );\n\n stickyColumnHeaders?.forEach((el) => {\n // querySelectorAll returns Elements, which don't have offsetWidth\n // need to use offsetWidth to account for the cell borders\n const elAsHTMLElement = el as HTMLElement;\n leftOffset += elAsHTMLElement.offsetWidth;\n });\n\n // offsets the left: -1px position if there are multiple sticky columns or the first column has a fixed pixel width\n if (stickyColumnHeaders.length > 1 || hasFirstColumnPxWidth) {\n leftOffset -= 1;\n }\n\n // offsets the left: -1px position if the sticky column is already pinned when the scroll indicator is calculated\n if (isStickyColumnPinned) {\n leftOffset -= 1;\n }\n }\n\n return {\n bottom: `${horizontalScrollBarHeight}px`,\n height: `${scrollWrapper.offsetHeight - horizontalScrollBarHeight}px`,\n left: `${leftOffset}px`,\n right: `${verticalScrollBarWidth}px`,\n width: `${scrollWrapper.offsetWidth - verticalScrollBarWidth}px`,\n };\n};\n\nconst getStickyColumnLeftOffset = (\n theadElement: HTMLDivElement,\n hasRowSelection: boolean,\n isStickyColumnPinned: boolean\n) => {\n // if there is no select checkbox column, the sticky column is all the way to the left\n if (!hasRowSelection) return '0px';\n\n const selectableCell = theadElement.querySelector(\n '.hds-advanced-table__th--is-selectable'\n ) as HTMLElement;\n\n let leftOffset = selectableCell?.offsetWidth ?? 0;\n\n // if the sticky column is pinned when the offset is calculated, we need to account for the increased width of the border\n if (isStickyColumnPinned && leftOffset > 0) {\n leftOffset -= 2;\n }\n\n return `${leftOffset}px`;\n};\n\nexport interface HdsAdvancedTableSignature {\n Args: {\n align?: HdsAdvancedTableHorizontalAlignment;\n caption?: string;\n columns: HdsAdvancedTableColumn[];\n columnOrder?: string[];\n density?: HdsAdvancedTableDensities;\n identityKey?: string;\n isSelectable?: boolean;\n isStriped?: boolean;\n model: HdsAdvancedTableModel;\n reorderedMessageText?: string;\n selectionAriaLabelSuffix?: string;\n sortBy?: string;\n selectableColumnKey?: string;\n sortedMessageText?: string;\n sortOrder?: HdsAdvancedTableThSortOrder;\n valign?: HdsAdvancedTableVerticalAlignment;\n hasReorderableColumns?: boolean;\n hasResizableColumns?: boolean;\n hasStickyHeader?: boolean;\n hasStickyFirstColumn?: boolean;\n childrenKey?: string;\n maxHeight?: string;\n onColumnReorder?: HdsAdvancedTableColumnReorderCallback;\n onColumnResize?: (columnKey: string, newWidth?: string) => void;\n onSelectionChange?: (\n selection: HdsAdvancedTableOnSelectionChangeSignature\n ) => void;\n onSort?: (sortBy: string, sortOrder: HdsAdvancedTableThSortOrder) => void;\n };\n Blocks: {\n body?: [\n {\n Td?: WithBoundArgs<typeof HdsAdvancedTableTd, 'align'>;\n Tr?: WithBoundArgs<\n typeof HdsAdvancedTableTr,\n | 'selectionScope'\n | 'isLastRow'\n | 'isSelectable'\n | 'onSelectionChange'\n | 'didInsert'\n | 'willDestroy'\n | 'selectionAriaLabelSuffix'\n | 'hasStickyColumn'\n | 'isStickyColumnPinned'\n | 'isParentRow'\n | 'depth'\n | 'displayRow'\n >;\n Th?: WithBoundArgs<\n typeof HdsAdvancedTableTh,\n | 'depth'\n | 'isExpandable'\n | 'isExpanded'\n | 'newLabel'\n | 'parentId'\n | 'scope'\n | 'isStickyColumn'\n | 'isStickyColumnPinned'\n | 'onClickToggle'\n >;\n data?: Record<string, unknown>;\n rowIndex?: number | string;\n isOpen?: HdsAdvancedTableExpandState;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsAdvancedTable extends Component<HdsAdvancedTableSignature> {\n @service hdsIntl!: HdsIntlService;\n\n @tracked\n private _selectAllCheckbox?: HdsFormCheckboxBaseSignature['Element'] =\n undefined;\n @tracked private _isSelectAllCheckboxSelected?: boolean = undefined;\n @tracked private _tableHeight = 0;\n private _selectableRows: HdsAdvancedTableSelectableRow[] = [];\n private _captionId = 'caption-' + guidFor(this);\n private _tableModel!: HdsAdvancedTableTableModel;\n private _scrollHandler!: (event: Event) => void;\n private _resizeObserver!: ResizeObserver;\n private _theadElement!: HTMLDivElement;\n private _scrollWrapperElement!: HTMLDivElement;\n\n @tracked scrollIndicatorDimensions = DEFAULT_SCROLL_DIMENSIONS;\n @tracked isStickyColumnPinned = false;\n @tracked isStickyHeaderPinned = false;\n @tracked hasPinnedFirstColumn: boolean | undefined = undefined;\n @tracked reorderedMessageText = '';\n @tracked showScrollIndicatorLeft = false;\n @tracked showScrollIndicatorRight = false;\n @tracked showScrollIndicatorTop = false;\n @tracked showScrollIndicatorBottom = false;\n @tracked stickyColumnOffset = '0px';\n\n constructor(owner: Owner, args: HdsAdvancedTableSignature['Args']) {\n super(owner, args);\n\n const {\n model,\n columns,\n columnOrder,\n childrenKey,\n hasReorderableColumns,\n hasResizableColumns,\n sortBy,\n sortOrder,\n hasStickyFirstColumn,\n onSort,\n } = args;\n\n this._tableModel = new HdsAdvancedTableTableModel({\n model,\n columns,\n columnOrder,\n childrenKey,\n hasReorderableColumns,\n hasResizableColumns,\n sortBy,\n sortOrder,\n onColumnReorder: this._onColumnReorder.bind(this),\n onSort,\n });\n\n this._runAssertions();\n\n if (hasStickyFirstColumn) {\n this.hasPinnedFirstColumn = true;\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 childrenKey(): string {\n const { childrenKey = 'children' } = this.args;\n\n return childrenKey;\n }\n\n get hasStickyFirstColumn(): boolean | undefined {\n // The user-controlled `hasPinnedFirstColumn` variable takes precedence over the model's `hasStickyFirstColumn` property.\n if (this.hasPinnedFirstColumn !== undefined) {\n return this.hasPinnedFirstColumn;\n } else if (this.args.hasStickyFirstColumn === false) {\n return this.args.hasStickyFirstColumn;\n }\n\n return undefined;\n }\n\n get hasScrollIndicator(): boolean {\n if (this.hasStickyFirstColumn) {\n return true;\n }\n\n return false;\n }\n\n get sortedMessageText(): string {\n const { sortedMessageText } = this.args;\n const { sortBy, sortOrder } = this._tableModel;\n\n if (sortedMessageText !== undefined) {\n return sortedMessageText;\n } else if (sortBy !== undefined && sortOrder !== undefined) {\n // we should allow the user to define a custom value here (e.g., for i18n) - tracked with HDS-965\n return `Sorted by ${sortBy} ${sortOrder}ending`;\n } else {\n return '';\n }\n }\n\n get isSelectable(): boolean {\n const { isSelectable = false } = this.args;\n\n if (this._tableModel.hasRowsWithChildren) {\n assert(\n '@isSelectable must not be true if there are nested rows.',\n !isSelectable\n );\n return isSelectable;\n }\n\n return isSelectable;\n }\n\n get isStriped(): boolean {\n const { isStriped = false } = this.args;\n\n if (this._tableModel.hasRowsWithChildren) {\n assert(\n '@isStriped must not be true if there are nested rows.',\n !isStriped\n );\n return isStriped;\n }\n\n return isStriped;\n }\n\n get density(): HdsAdvancedTableDensities {\n const { density = DEFAULT_DENSITY } = this.args;\n\n assert(\n `@density for \"Hds::Table\" must be one of the following: ${DENSITIES.join(\n ', '\n )}; received: ${density}`,\n DENSITIES.includes(density)\n );\n\n return density;\n }\n\n get hasStickyHeader(): boolean {\n if (this.args.maxHeight && this.args.hasStickyHeader !== false) {\n return true;\n } else if (this.args.hasStickyHeader && !this.args.maxHeight) {\n assert('Must set @maxHeight to use @hasStickyHeader.', false);\n }\n\n return false;\n }\n\n get valign(): HdsAdvancedTableVerticalAlignment {\n const { valign = DEFAULT_VALIGN } = this.args;\n\n assert(\n `@valign for \"Hds::Table\" must be one of the following: ${VALIGNMENTS.join(\n ', '\n )}; received: ${valign}`,\n VALIGNMENTS.includes(valign)\n );\n\n return valign;\n }\n\n // returns the grid-template-columns CSS attribute for the grid\n get gridTemplateColumns(): string {\n const { isSelectable } = this.args;\n const { orderedColumns } = this._tableModel;\n\n // if there is a select checkbox, the first column has a 'min-content' width to hug the checkbox content\n let style = isSelectable ? 'min-content ' : '';\n\n for (let i = 0; i < orderedColumns.length; i++) {\n style += ` ${orderedColumns[i]!.appliedWidth}`;\n }\n\n return style;\n }\n\n get classNames(): string {\n const classes = ['hds-advanced-table'];\n\n if (this.isStriped) {\n classes.push('hds-advanced-table--striped');\n }\n\n if (this.density) {\n classes.push(`hds-advanced-table--density-${this.density}`);\n }\n\n if (this.valign) {\n classes.push(`hds-advanced-table--valign-${this.valign}`);\n }\n\n if (this._tableModel.hasRowsWithChildren) {\n classes.push(`hds-advanced-table--nested`);\n }\n\n return classes.join(' ');\n }\n\n get theadClassNames(): string {\n const classes = ['hds-advanced-table__thead'];\n\n if (this.hasStickyHeader) {\n classes.push('hds-advanced-table__thead--sticky');\n }\n\n if (this.isStickyHeaderPinned) {\n classes.push('hds-advanced-table__thead--is-pinned');\n }\n\n if (this._tableModel.hasResizableColumns) {\n classes.push('hds-advanced-table__thead--has-resizable-columns');\n }\n\n return classes.join(' ');\n }\n\n private _registerGridElement = modifier((element: HTMLDivElement) => {\n this._tableModel.gridElement = element;\n });\n\n private _registerThElement = modifier(\n (element: HTMLDivElement, [column]: [HdsAdvancedTableColumnType]) => {\n if (column === undefined) {\n return;\n }\n\n column.thElement = element;\n }\n );\n\n private _setUpScrollWrapper = modifier((element: HTMLDivElement) => {\n this._scrollWrapperElement = element;\n\n const updateHorizontalScrollIndicators = () => {\n this.showScrollIndicatorRight = element.clientWidth < element.scrollWidth;\n };\n\n this._scrollHandler = () => {\n this._updateScrollIndicators(element);\n };\n\n element.addEventListener('scroll', this._scrollHandler);\n\n const updateMeasurements = () => {\n this._tableHeight = element.offsetHeight;\n\n const hasFirstColumnPxWidth =\n this._tableModel.columns[0]?.pxWidth !== undefined;\n\n this.scrollIndicatorDimensions = getScrollIndicatorDimensions(\n element,\n this._theadElement,\n this.hasStickyFirstColumn ? true : false,\n hasFirstColumnPxWidth,\n this.isStickyColumnPinned\n );\n\n if (this.hasStickyFirstColumn) {\n this.stickyColumnOffset = getStickyColumnLeftOffset(\n this._theadElement,\n isSelectable,\n this.isStickyColumnPinned\n );\n }\n };\n\n const { isSelectable = false } = this.args;\n\n this._resizeObserver = new ResizeObserver((entries) => {\n entries.forEach(() => {\n updateMeasurements();\n updateHorizontalScrollIndicators();\n });\n });\n\n this._resizeObserver.observe(element);\n\n updateMeasurements();\n\n // on render check if should show right scroll indicator\n updateHorizontalScrollIndicators();\n\n // on render check if should show bottom scroll indicator\n if (element.clientHeight < element.scrollHeight) {\n this.showScrollIndicatorBottom = true;\n }\n\n return () => {\n element.removeEventListener('scroll', this._scrollHandler);\n this._resizeObserver.disconnect();\n };\n });\n\n private _runAssertions() {\n const {\n columns,\n hasReorderableColumns,\n hasResizableColumns,\n hasStickyFirstColumn,\n } = this.args;\n\n if (this._tableModel.hasRowsWithChildren) {\n const sortableColumns = columns.filter((column) => column.isSortable);\n const sortableColumnLabels = sortableColumns.map(\n (column) => column.label\n );\n\n assert(\n 'Cannot have reorderable columns if there are nested rows.',\n !hasReorderableColumns\n );\n\n assert(\n `Cannot have sortable columns if there are nested rows. Sortable columns are ${sortableColumnLabels.toString()}`,\n sortableColumns.length === 0\n );\n\n assert(\n 'Cannot have a sticky first column if there are nested rows.',\n hasStickyFirstColumn === undefined\n );\n\n assert(\n `Cannot have resizable columns if there are nested rows.`,\n !hasResizableColumns\n );\n }\n\n if (hasReorderableColumns) {\n assert(\n 'Cannot have both reorderable columns and a sticky first column.',\n hasStickyFirstColumn === undefined\n );\n }\n }\n\n private _setUpThead = modifier((element: HTMLDivElement) => {\n this._theadElement = element;\n });\n\n private _onColumnReorder: HdsAdvancedTableColumnReorderCallback = ({\n column,\n newOrder,\n insertedAt,\n }) => {\n const { reorderedMessageText } = this.args;\n\n if (reorderedMessageText !== undefined) {\n this.reorderedMessageText = reorderedMessageText;\n } else {\n const newPosition = insertedAt + 1;\n const translatedReorderedMessageText = this.hdsIntl.t(\n 'hds.advanced-table.reordered-message',\n {\n default: `Moved ${column.label} column to position ${newPosition}`,\n columnLabel: column.label,\n newPosition,\n }\n );\n\n this.reorderedMessageText = translatedReorderedMessageText;\n }\n\n this.args.onColumnReorder?.({\n column,\n newOrder,\n insertedAt,\n });\n };\n\n onSelectionChangeCallback(\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n const { onSelectionChange } = this.args;\n\n if (typeof onSelectionChange !== 'function') return;\n\n onSelectionChange({\n selectionKey: selectionKey,\n selectionCheckboxElement: checkbox,\n selectedRowsKeys: this._selectableRows.reduce<string[]>((acc, row) => {\n if (row.checkbox.checked) {\n acc.push(row.selectionKey);\n }\n return acc;\n }, []),\n selectableRowsStates: this._selectableRows.reduce(\n (\n acc: { selectionKey: string; isSelected: boolean | undefined }[],\n row\n ) => {\n acc.push({\n selectionKey: row.selectionKey,\n isSelected: row.checkbox.checked,\n });\n return acc;\n },\n []\n ),\n });\n }\n\n @action\n setupTableModelData(): void {\n const { columns, model, sortBy, sortOrder } = this.args;\n\n this._tableModel.setupData({\n columns,\n model,\n sortBy,\n sortOrder,\n });\n }\n\n @action\n updateTableModelColumnOrder(): void {\n if (this.args.columnOrder === undefined) {\n return;\n }\n\n this._tableModel.columnOrder = this.args.columnOrder;\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 if (selectionKey === undefined) {\n return;\n }\n\n const index = this._selectableRows.findIndex(\n (row) => row.selectionKey === selectionKey\n );\n\n if (index === -1) {\n return;\n }\n\n this._selectableRows.splice(index, 1);\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 private _updateScrollIndicators(element: HTMLElement): void {\n // 6px as a buffer so the shadow doesn't appear over the border radius on the edge of the table\n const SCROLL_BUFFER = 6;\n\n // left scroll indicator and sticky column styles\n if (element.scrollLeft > SCROLL_BUFFER) {\n if (this.hasStickyFirstColumn) {\n this.isStickyColumnPinned = true;\n }\n if (!this.showScrollIndicatorLeft) {\n this.showScrollIndicatorLeft = true;\n }\n } else if (element.scrollLeft === 0 && this.showScrollIndicatorLeft) {\n this.isStickyColumnPinned = false;\n this.showScrollIndicatorLeft = false;\n }\n\n // the right edge is how far the user can scroll, which is the full width of the table - the visible section of the table (also subtract the buffer)\n const rightEdge = element.scrollWidth - element.clientWidth - SCROLL_BUFFER;\n\n // right scroll indicator\n if (element.scrollLeft < rightEdge) {\n this.showScrollIndicatorRight = true;\n } else {\n this.showScrollIndicatorRight = false;\n }\n\n // sticky header\n if (element.scrollTop > 0) {\n if (this.hasStickyHeader) {\n this.isStickyHeaderPinned = true;\n }\n this.showScrollIndicatorTop = true;\n } else {\n if (this.hasStickyHeader) {\n this.isStickyHeaderPinned = false;\n }\n this.showScrollIndicatorTop = false;\n }\n\n // the bottom edge is how far the user can scroll, which is the full height of the table - the visible section of the table (also subtract the buffer)\n const bottomEdge =\n element.scrollHeight - element.clientHeight - SCROLL_BUFFER;\n\n // bottom scroll indicator\n if (element.scrollTop < bottomEdge) {\n this.showScrollIndicatorBottom = true;\n } else {\n this.showScrollIndicatorBottom = false;\n }\n }\n\n private _onPinFirstColumn = (): void => {\n this.hasPinnedFirstColumn = this.hasPinnedFirstColumn ? false : true;\n // we need to retrigger the scroll indicator updates if the pinned state is changed when the table is already scrolled\n this._updateScrollIndicators(this._scrollWrapperElement);\n };\n\n private _isStickyColumn = (\n column: HdsAdvancedTableColumnType\n ): boolean | undefined => {\n if (column.isFirst && this.hasStickyFirstColumn !== undefined) {\n return this.hasStickyFirstColumn;\n }\n return undefined;\n };\n}\n"],"names":["DENSITIES","Object","values","HdsAdvancedTableDensityValues","DEFAULT_DENSITY","Medium","VALIGNMENTS","HdsAdvancedTableVerticalAlignmentValues","DEFAULT_VALIGN","Top","BORDER_WIDTH","DEFAULT_SCROLL_DIMENSIONS","bottom","height","left","right","width","getScrollIndicatorDimensions","scrollWrapper","theadElement","hasStickyFirstColumn","hasFirstColumnPxWidth","isStickyColumnPinned","horizontalScrollBarHeight","offsetHeight","clientHeight","verticalScrollBarWidth","offsetWidth","clientWidth","leftOffset","stickyColumnHeaders","querySelectorAll","forEach","el","elAsHTMLElement","length","getStickyColumnLeftOffset","hasRowSelection","selectableCell","querySelector","HdsAdvancedTable","Component","g","prototype","service","i","void 0","tracked","undefined","_selectableRows","_captionId","guidFor","_tableModel","_scrollHandler","_resizeObserver","_theadElement","_scrollWrapperElement","constructor","owner","args","model","columns","columnOrder","childrenKey","hasReorderableColumns","hasResizableColumns","sortBy","sortOrder","onSort","HdsAdvancedTableTableModel","onColumnReorder","_onColumnReorder","bind","_runAssertions","hasPinnedFirstColumn","identityKey","hasScrollIndicator","sortedMessageText","isSelectable","hasRowsWithChildren","assert","isStriped","density","join","includes","hasStickyHeader","maxHeight","valign","gridTemplateColumns","orderedColumns","style","appliedWidth","classNames","classes","push","theadClassNames","isStickyHeaderPinned","_registerGridElement","modifier","element","gridElement","_registerThElement","column","thElement","_setUpScrollWrapper","updateHorizontalScrollIndicators","showScrollIndicatorRight","scrollWidth","_updateScrollIndicators","addEventListener","updateMeasurements","_tableHeight","pxWidth","scrollIndicatorDimensions","stickyColumnOffset","ResizeObserver","entries","observe","scrollHeight","showScrollIndicatorBottom","removeEventListener","disconnect","sortableColumns","filter","isSortable","sortableColumnLabels","map","label","toString","_setUpThead","newOrder","insertedAt","reorderedMessageText","newPosition","translatedReorderedMessageText","hdsIntl","t","default","columnLabel","onSelectionChangeCallback","checkbox","selectionKey","onSelectionChange","selectionCheckboxElement","selectedRowsKeys","reduce","acc","row","checked","selectableRowsStates","isSelected","setupTableModelData","setupData","n","action","updateTableModelColumnOrder","onSelectionAllChange","_selectAllCheckbox","_isSelectAllCheckboxSelected","onSelectionRowChange","setSelectAllState","didInsertSelectAllCheckbox","willDestroySelectAllCheckbox","didInsertRowCheckbox","willDestroyRowCheckbox","index","findIndex","splice","selectableRowsCount","selectedRowsCount","indeterminate","SCROLL_BUFFER","scrollLeft","showScrollIndicatorLeft","rightEdge","scrollTop","showScrollIndicatorTop","bottomEdge","_onPinFirstColumn","_isStickyColumn","isFirst","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { guidFor } from '@ember/object/internals';
4
4
  import { g, i, n } from 'decorator-transforms/runtime';
5
5
 
6
6
  /**
7
- * Copyright (c) HashiCorp, Inc.
7
+ * Copyright IBM Corp. 2021, 2025
8
8
  * SPDX-License-Identifier: MPL-2.0
9
9
  */
10
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"column.js","sources":["../../../../../src/components/hds/advanced-table/models/column.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\n\nimport type { HdsAdvancedTableThReorderHandleSignature } from '../th-reorder-handle.ts';\nimport type HdsAdvancedTableModel from './table.ts';\nimport type { HdsDropdownToggleButtonSignature } from '../../dropdown/toggle/button.ts';\nimport type {\n HdsAdvancedTableCell,\n HdsAdvancedTableHorizontalAlignment,\n HdsAdvancedTableColumn as HdsAdvancedTableColumnType,\n} from '../types';\n\nexport const DEFAULT_WIDTH = '1fr'; // default to '1fr' to allow flexible width\nexport const DEFAULT_MIN_WIDTH = '150px';\nexport const DEFAULT_MAX_WIDTH = '800px';\n\nfunction isPxSize(value?: string): boolean {\n if (value === undefined) {\n return false;\n }\n\n return /^-?\\d+(\\.\\d+)?px$/.test(value);\n}\n\nfunction pxToNumber(pxString: string): number {\n return parseFloat(pxString.slice(0, -2));\n}\n\nexport default class HdsAdvancedTableColumn {\n @tracked label: string = '';\n @tracked align?: HdsAdvancedTableHorizontalAlignment = 'left';\n @tracked isBeingDragged: boolean = false;\n @tracked isExpandable?: boolean = false;\n @tracked isSortable?: boolean = false;\n @tracked isVisuallyHidden?: boolean = false;\n @tracked key: string;\n @tracked tooltip?: string = undefined;\n @tracked sortingFunction?: (a: unknown, b: unknown) => number = undefined;\n\n // elements\n @tracked thElement?: HTMLDivElement = undefined;\n @tracked\n reorderHandleElement?: HdsAdvancedTableThReorderHandleSignature['Element'] =\n undefined;\n @tracked\n thContextMenuToggleElement?: HdsDropdownToggleButtonSignature['Element'] =\n undefined;\n\n // width properties\n @tracked transientWidth?: `${number}px` = undefined; // used for transient width changes\n @tracked width: string = DEFAULT_WIDTH;\n @tracked minWidth: `${number}px` = DEFAULT_MIN_WIDTH;\n @tracked maxWidth: `${number}px` = DEFAULT_MAX_WIDTH;\n @tracked originalWidth: string = this.width; // used to restore the width when resetting\n @tracked widthDebts: Record<string, number> = {}; // used to track width changes imposed by other columns\n\n table: HdsAdvancedTableModel;\n\n get cells(): HdsAdvancedTableCell[] {\n return this.table.flattenedVisibleRows.map((row) => {\n const cell = row.cells.find((cell) => cell.columnKey === this.key);\n\n return cell!;\n });\n }\n\n get appliedWidth(): string {\n return this.transientWidth ?? this.width;\n }\n get pxAppliedWidth(): number | undefined {\n if (isPxSize(this.appliedWidth)) {\n return pxToNumber(this.appliedWidth);\n }\n }\n\n get pxTransientWidth(): number | undefined {\n if (this.transientWidth !== undefined) {\n return pxToNumber(this.transientWidth);\n }\n }\n set pxTransientWidth(value: number | undefined) {\n if (value !== undefined && value >= 0) {\n this.transientWidth = `${value}px`;\n } else {\n this.transientWidth = undefined;\n }\n }\n\n get pxWidth(): number {\n if (isPxSize(this.width)) {\n return pxToNumber(this.width);\n } else {\n return this.thElement?.offsetWidth ?? 0;\n }\n }\n set pxWidth(value: number) {\n this.width = `${value}px`;\n }\n\n get pxMinWidth(): number {\n return isPxSize(this.minWidth) ? pxToNumber(this.minWidth) : 0;\n }\n\n get pxMaxWidth(): number {\n return isPxSize(this.maxWidth) ? pxToNumber(this.maxWidth) : Infinity;\n }\n\n get index(): number {\n const { orderedColumns } = this.table;\n\n if (orderedColumns.length === 0) {\n return -1;\n }\n\n return orderedColumns.findIndex((column) => column.key === this.key);\n }\n\n get isFirst(): boolean {\n return this.index === 0;\n }\n\n get isLast(): boolean {\n return this.index !== -1 && this.index === this.table.columns.length - 1;\n }\n\n get siblings(): {\n previous?: HdsAdvancedTableColumn;\n next?: HdsAdvancedTableColumn;\n } {\n const { index, table } = this;\n const { orderedColumns } = table;\n\n if (index === -1) {\n return {};\n }\n\n return {\n previous: this.isFirst ? undefined : orderedColumns[index - 1],\n next: this.isLast ? undefined : orderedColumns[index + 1],\n };\n }\n\n constructor(args: {\n column: HdsAdvancedTableColumnType;\n table: HdsAdvancedTableModel;\n }) {\n const { column, table } = args;\n\n // set reference to table model\n this.table = table;\n\n // set column properties\n this.label = column.label;\n this.align = column.align ?? 'left';\n this.isExpandable = 'isExpandable' in column ? column.isExpandable : false;\n this.isSortable = column.isSortable ?? false;\n this.isVisuallyHidden = column.isVisuallyHidden ?? false;\n this.key = column.key ?? guidFor(this);\n this.tooltip = column.tooltip;\n this._setWidthValues(column);\n this.sortingFunction = column.sortingFunction;\n }\n\n // main collection function\n private collectWidthDebts(): void {\n this.table.columns.forEach((debtor) => {\n const debtToCollect = debtor.widthDebts[this.key] ?? 0;\n\n if (debtToCollect <= 0) {\n return;\n }\n\n const amountPaid = debtor._sourceFundsForPayment(debtToCollect);\n\n if (amountPaid > 0) {\n this.pxWidth = (this.pxWidth ?? 0) + amountPaid;\n\n const remainingDebt = debtToCollect - amountPaid;\n\n if (remainingDebt > 0) {\n debtor.widthDebts[this.key] = remainingDebt;\n } else {\n delete debtor.widthDebts[this.key];\n }\n }\n });\n }\n\n // function for recursively recovering width debts without ending up in a deficit\n private _sourceFundsForPayment(amountNeeded: number): number {\n let fundsSourced = 0;\n\n // preferentially source width from our own surplus first\n const surplus = Math.max(0, (this.pxWidth ?? 0) - this.pxMinWidth);\n const paymentFromSurplus = Math.min(amountNeeded, surplus);\n\n if (paymentFromSurplus > 0) {\n this.pxWidth = (this.pxWidth ?? 0) - paymentFromSurplus;\n\n fundsSourced = fundsSourced + paymentFromSurplus;\n }\n\n // if we dont have enough to cover, source from debtors recursively\n const shortfall = amountNeeded - fundsSourced;\n\n if (shortfall > 0) {\n const ourDebtors = this.table.columns.filter(\n (column) => column.widthDebts[this.key]\n );\n\n for (const subDebtor of ourDebtors) {\n const amountStillNeeded = amountNeeded - fundsSourced;\n\n if (amountStillNeeded <= 0) {\n break;\n }\n\n const subDebtOwed = subDebtor.widthDebts[this.key] ?? 0;\n const amountToRequest = Math.min(amountStillNeeded, subDebtOwed);\n\n const collectedFromSubDebtor =\n subDebtor._sourceFundsForPayment(amountToRequest);\n\n if (collectedFromSubDebtor > 0) {\n fundsSourced = fundsSourced + collectedFromSubDebtor;\n\n // Update the sub-debtor's ledger.\n const remainingSubDebt = subDebtOwed - collectedFromSubDebtor;\n\n if (remainingSubDebt > 0) {\n subDebtor.widthDebts[this.key] = remainingSubDebt;\n } else {\n delete subDebtor.widthDebts[this.key];\n }\n }\n }\n }\n\n return fundsSourced;\n }\n\n private payWidthDebts(): void {\n Object.entries(this.widthDebts).forEach(([lenderKey, amount]) => {\n const lender = this.table.getColumnByKey(lenderKey);\n\n if (lender !== undefined) {\n // Give the width back to the column that lent it to us\n lender.pxWidth = (lender.pxWidth ?? 0) + amount;\n }\n });\n\n // Clear our own debt ledger, as we've paid everyone back\n this.widthDebts = {};\n }\n\n private settleWidthDebts(): void {\n this.collectWidthDebts();\n this.payWidthDebts();\n }\n\n // set initial width values\n private _setWidthValues({\n width,\n minWidth,\n maxWidth,\n }: HdsAdvancedTableColumnType): void {\n this.width = width ?? DEFAULT_WIDTH;\n\n // capture the width at the time of instantiation so it can be restored\n this.originalWidth = this.width;\n\n this.minWidth = minWidth ?? DEFAULT_MIN_WIDTH;\n this.maxWidth = maxWidth ?? DEFAULT_MAX_WIDTH;\n }\n\n @action focusReorderHandle(): void {\n if (this.thElement === undefined) {\n return;\n }\n\n // focus the th element first (parent) to ensure the handle is visible\n this.thElement.focus({ preventScroll: true });\n\n if (this.reorderHandleElement === undefined) {\n return;\n }\n\n // then focus the reorder handle element\n this.reorderHandleElement.focus();\n }\n\n // Sets the column width in pixels, ensuring it respects the min and max width constraints.\n setPxTransientWidth(newPxWidth: number): void {\n const pxMinWidth = this.pxMinWidth ?? 1;\n const minLimitedPxWidth = Math.max(newPxWidth, pxMinWidth);\n\n this.pxTransientWidth =\n this.pxMaxWidth !== undefined\n ? Math.min(minLimitedPxWidth, this.pxMaxWidth)\n : minLimitedPxWidth;\n\n if (this.key === undefined) {\n return;\n }\n }\n\n @action\n restoreWidth(): void {\n this.settleWidthDebts();\n\n this.width = this.originalWidth;\n }\n}\n"],"names":["DEFAULT_WIDTH","DEFAULT_MIN_WIDTH","DEFAULT_MAX_WIDTH","isPxSize","value","undefined","test","pxToNumber","pxString","parseFloat","slice","HdsAdvancedTableColumn","g","prototype","tracked","i","void 0","width","table","cells","flattenedVisibleRows","map","row","cell","find","columnKey","key","appliedWidth","transientWidth","pxAppliedWidth","pxTransientWidth","pxWidth","thElement","offsetWidth","pxMinWidth","minWidth","pxMaxWidth","maxWidth","Infinity","index","orderedColumns","length","findIndex","column","isFirst","isLast","columns","siblings","previous","next","constructor","args","label","align","isExpandable","isSortable","isVisuallyHidden","guidFor","tooltip","_setWidthValues","sortingFunction","collectWidthDebts","forEach","debtor","debtToCollect","widthDebts","amountPaid","_sourceFundsForPayment","remainingDebt","amountNeeded","fundsSourced","surplus","Math","max","paymentFromSurplus","min","shortfall","ourDebtors","filter","subDebtor","amountStillNeeded","subDebtOwed","amountToRequest","collectedFromSubDebtor","remainingSubDebt","payWidthDebts","Object","entries","lenderKey","amount","lender","getColumnByKey","settleWidthDebts","originalWidth","focusReorderHandle","focus","preventScroll","reorderHandleElement","n","action","setPxTransientWidth","newPxWidth","minLimitedPxWidth","restoreWidth"],"mappings":"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"}
1
+ {"version":3,"file":"column.js","sources":["../../../../../src/components/hds/advanced-table/models/column.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\n\nimport type { HdsAdvancedTableThReorderHandleSignature } from '../th-reorder-handle.ts';\nimport type HdsAdvancedTableModel from './table.ts';\nimport type { HdsDropdownToggleButtonSignature } from '../../dropdown/toggle/button.ts';\nimport type {\n HdsAdvancedTableCell,\n HdsAdvancedTableHorizontalAlignment,\n HdsAdvancedTableColumn as HdsAdvancedTableColumnType,\n} from '../types';\n\nexport const DEFAULT_WIDTH = '1fr'; // default to '1fr' to allow flexible width\nexport const DEFAULT_MIN_WIDTH = '150px';\nexport const DEFAULT_MAX_WIDTH = '800px';\n\nfunction isPxSize(value?: string): boolean {\n if (value === undefined) {\n return false;\n }\n\n return /^-?\\d+(\\.\\d+)?px$/.test(value);\n}\n\nfunction pxToNumber(pxString: string): number {\n return parseFloat(pxString.slice(0, -2));\n}\n\nexport default class HdsAdvancedTableColumn {\n @tracked label: string = '';\n @tracked align?: HdsAdvancedTableHorizontalAlignment = 'left';\n @tracked isBeingDragged: boolean = false;\n @tracked isExpandable?: boolean = false;\n @tracked isSortable?: boolean = false;\n @tracked isVisuallyHidden?: boolean = false;\n @tracked key: string;\n @tracked tooltip?: string = undefined;\n @tracked sortingFunction?: (a: unknown, b: unknown) => number = undefined;\n\n // elements\n @tracked thElement?: HTMLDivElement = undefined;\n @tracked\n reorderHandleElement?: HdsAdvancedTableThReorderHandleSignature['Element'] =\n undefined;\n @tracked\n thContextMenuToggleElement?: HdsDropdownToggleButtonSignature['Element'] =\n undefined;\n\n // width properties\n @tracked transientWidth?: `${number}px` = undefined; // used for transient width changes\n @tracked width: string = DEFAULT_WIDTH;\n @tracked minWidth: `${number}px` = DEFAULT_MIN_WIDTH;\n @tracked maxWidth: `${number}px` = DEFAULT_MAX_WIDTH;\n @tracked originalWidth: string = this.width; // used to restore the width when resetting\n @tracked widthDebts: Record<string, number> = {}; // used to track width changes imposed by other columns\n\n table: HdsAdvancedTableModel;\n\n get cells(): HdsAdvancedTableCell[] {\n return this.table.flattenedVisibleRows.map((row) => {\n const cell = row.cells.find((cell) => cell.columnKey === this.key);\n\n return cell!;\n });\n }\n\n get appliedWidth(): string {\n return this.transientWidth ?? this.width;\n }\n get pxAppliedWidth(): number | undefined {\n if (isPxSize(this.appliedWidth)) {\n return pxToNumber(this.appliedWidth);\n }\n }\n\n get pxTransientWidth(): number | undefined {\n if (this.transientWidth !== undefined) {\n return pxToNumber(this.transientWidth);\n }\n }\n set pxTransientWidth(value: number | undefined) {\n if (value !== undefined && value >= 0) {\n this.transientWidth = `${value}px`;\n } else {\n this.transientWidth = undefined;\n }\n }\n\n get pxWidth(): number {\n if (isPxSize(this.width)) {\n return pxToNumber(this.width);\n } else {\n return this.thElement?.offsetWidth ?? 0;\n }\n }\n set pxWidth(value: number) {\n this.width = `${value}px`;\n }\n\n get pxMinWidth(): number {\n return isPxSize(this.minWidth) ? pxToNumber(this.minWidth) : 0;\n }\n\n get pxMaxWidth(): number {\n return isPxSize(this.maxWidth) ? pxToNumber(this.maxWidth) : Infinity;\n }\n\n get index(): number {\n const { orderedColumns } = this.table;\n\n if (orderedColumns.length === 0) {\n return -1;\n }\n\n return orderedColumns.findIndex((column) => column.key === this.key);\n }\n\n get isFirst(): boolean {\n return this.index === 0;\n }\n\n get isLast(): boolean {\n return this.index !== -1 && this.index === this.table.columns.length - 1;\n }\n\n get siblings(): {\n previous?: HdsAdvancedTableColumn;\n next?: HdsAdvancedTableColumn;\n } {\n const { index, table } = this;\n const { orderedColumns } = table;\n\n if (index === -1) {\n return {};\n }\n\n return {\n previous: this.isFirst ? undefined : orderedColumns[index - 1],\n next: this.isLast ? undefined : orderedColumns[index + 1],\n };\n }\n\n constructor(args: {\n column: HdsAdvancedTableColumnType;\n table: HdsAdvancedTableModel;\n }) {\n const { column, table } = args;\n\n // set reference to table model\n this.table = table;\n\n // set column properties\n this.label = column.label;\n this.align = column.align ?? 'left';\n this.isExpandable = 'isExpandable' in column ? column.isExpandable : false;\n this.isSortable = column.isSortable ?? false;\n this.isVisuallyHidden = column.isVisuallyHidden ?? false;\n this.key = column.key ?? guidFor(this);\n this.tooltip = column.tooltip;\n this._setWidthValues(column);\n this.sortingFunction = column.sortingFunction;\n }\n\n // main collection function\n private collectWidthDebts(): void {\n this.table.columns.forEach((debtor) => {\n const debtToCollect = debtor.widthDebts[this.key] ?? 0;\n\n if (debtToCollect <= 0) {\n return;\n }\n\n const amountPaid = debtor._sourceFundsForPayment(debtToCollect);\n\n if (amountPaid > 0) {\n this.pxWidth = (this.pxWidth ?? 0) + amountPaid;\n\n const remainingDebt = debtToCollect - amountPaid;\n\n if (remainingDebt > 0) {\n debtor.widthDebts[this.key] = remainingDebt;\n } else {\n delete debtor.widthDebts[this.key];\n }\n }\n });\n }\n\n // function for recursively recovering width debts without ending up in a deficit\n private _sourceFundsForPayment(amountNeeded: number): number {\n let fundsSourced = 0;\n\n // preferentially source width from our own surplus first\n const surplus = Math.max(0, (this.pxWidth ?? 0) - this.pxMinWidth);\n const paymentFromSurplus = Math.min(amountNeeded, surplus);\n\n if (paymentFromSurplus > 0) {\n this.pxWidth = (this.pxWidth ?? 0) - paymentFromSurplus;\n\n fundsSourced = fundsSourced + paymentFromSurplus;\n }\n\n // if we dont have enough to cover, source from debtors recursively\n const shortfall = amountNeeded - fundsSourced;\n\n if (shortfall > 0) {\n const ourDebtors = this.table.columns.filter(\n (column) => column.widthDebts[this.key]\n );\n\n for (const subDebtor of ourDebtors) {\n const amountStillNeeded = amountNeeded - fundsSourced;\n\n if (amountStillNeeded <= 0) {\n break;\n }\n\n const subDebtOwed = subDebtor.widthDebts[this.key] ?? 0;\n const amountToRequest = Math.min(amountStillNeeded, subDebtOwed);\n\n const collectedFromSubDebtor =\n subDebtor._sourceFundsForPayment(amountToRequest);\n\n if (collectedFromSubDebtor > 0) {\n fundsSourced = fundsSourced + collectedFromSubDebtor;\n\n // Update the sub-debtor's ledger.\n const remainingSubDebt = subDebtOwed - collectedFromSubDebtor;\n\n if (remainingSubDebt > 0) {\n subDebtor.widthDebts[this.key] = remainingSubDebt;\n } else {\n delete subDebtor.widthDebts[this.key];\n }\n }\n }\n }\n\n return fundsSourced;\n }\n\n private payWidthDebts(): void {\n Object.entries(this.widthDebts).forEach(([lenderKey, amount]) => {\n const lender = this.table.getColumnByKey(lenderKey);\n\n if (lender !== undefined) {\n // Give the width back to the column that lent it to us\n lender.pxWidth = (lender.pxWidth ?? 0) + amount;\n }\n });\n\n // Clear our own debt ledger, as we've paid everyone back\n this.widthDebts = {};\n }\n\n private settleWidthDebts(): void {\n this.collectWidthDebts();\n this.payWidthDebts();\n }\n\n // set initial width values\n private _setWidthValues({\n width,\n minWidth,\n maxWidth,\n }: HdsAdvancedTableColumnType): void {\n this.width = width ?? DEFAULT_WIDTH;\n\n // capture the width at the time of instantiation so it can be restored\n this.originalWidth = this.width;\n\n this.minWidth = minWidth ?? DEFAULT_MIN_WIDTH;\n this.maxWidth = maxWidth ?? DEFAULT_MAX_WIDTH;\n }\n\n @action focusReorderHandle(): void {\n if (this.thElement === undefined) {\n return;\n }\n\n // focus the th element first (parent) to ensure the handle is visible\n this.thElement.focus({ preventScroll: true });\n\n if (this.reorderHandleElement === undefined) {\n return;\n }\n\n // then focus the reorder handle element\n this.reorderHandleElement.focus();\n }\n\n // Sets the column width in pixels, ensuring it respects the min and max width constraints.\n setPxTransientWidth(newPxWidth: number): void {\n const pxMinWidth = this.pxMinWidth ?? 1;\n const minLimitedPxWidth = Math.max(newPxWidth, pxMinWidth);\n\n this.pxTransientWidth =\n this.pxMaxWidth !== undefined\n ? Math.min(minLimitedPxWidth, this.pxMaxWidth)\n : minLimitedPxWidth;\n\n if (this.key === undefined) {\n return;\n }\n }\n\n @action\n restoreWidth(): void {\n this.settleWidthDebts();\n\n this.width = this.originalWidth;\n }\n}\n"],"names":["DEFAULT_WIDTH","DEFAULT_MIN_WIDTH","DEFAULT_MAX_WIDTH","isPxSize","value","undefined","test","pxToNumber","pxString","parseFloat","slice","HdsAdvancedTableColumn","g","prototype","tracked","i","void 0","width","table","cells","flattenedVisibleRows","map","row","cell","find","columnKey","key","appliedWidth","transientWidth","pxAppliedWidth","pxTransientWidth","pxWidth","thElement","offsetWidth","pxMinWidth","minWidth","pxMaxWidth","maxWidth","Infinity","index","orderedColumns","length","findIndex","column","isFirst","isLast","columns","siblings","previous","next","constructor","args","label","align","isExpandable","isSortable","isVisuallyHidden","guidFor","tooltip","_setWidthValues","sortingFunction","collectWidthDebts","forEach","debtor","debtToCollect","widthDebts","amountPaid","_sourceFundsForPayment","remainingDebt","amountNeeded","fundsSourced","surplus","Math","max","paymentFromSurplus","min","shortfall","ourDebtors","filter","subDebtor","amountStillNeeded","subDebtOwed","amountToRequest","collectedFromSubDebtor","remainingSubDebt","payWidthDebts","Object","entries","lenderKey","amount","lender","getColumnByKey","settleWidthDebts","originalWidth","focusReorderHandle","focus","preventScroll","reorderHandleElement","n","action","setPxTransientWidth","newPxWidth","minLimitedPxWidth","restoreWidth"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { guidFor } from '@ember/object/internals';
4
4
  import { g, i, n } from 'decorator-transforms/runtime';
5
5
 
6
6
  /**
7
- * Copyright (c) HashiCorp, Inc.
7
+ * Copyright IBM Corp. 2021, 2025
8
8
  * SPDX-License-Identifier: MPL-2.0
9
9
  */
10
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"row.js","sources":["../../../../../src/components/hds/advanced-table/models/row.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\n\nimport type { HdsAdvancedTableColumn, HdsAdvancedTableCell } from '../types';\nimport type HdsAdvancedTableTableModel from './table';\n\ninterface HdsAdvancedTableRowArgs {\n [key: string]: unknown;\n columns: HdsAdvancedTableColumn[];\n table: HdsAdvancedTableTableModel;\n id?: string;\n childrenKey?: string;\n}\n\nexport default class HdsAdvancedTableRow {\n id = guidFor(this);\n\n // row data\n [key: string]: unknown;\n\n @tracked isOpen: boolean = false;\n @tracked cells: HdsAdvancedTableCell[] = [];\n\n children: HdsAdvancedTableRow[] = [];\n childrenKey: string;\n table: HdsAdvancedTableTableModel;\n\n get hasChildren(): boolean {\n return this.children.length > 0;\n }\n\n get showChildren(): boolean {\n return this.isOpen && this.hasChildren;\n }\n\n get orderedCells(): HdsAdvancedTableCell[] {\n const { columnOrder, hasReorderableColumns } = this.table;\n\n if (hasReorderableColumns) {\n return columnOrder.reduce<HdsAdvancedTableCell[]>((acc, key) => {\n const cell = this.cells.find((cell) => cell.columnKey === key);\n\n if (cell !== undefined) {\n acc.push(cell);\n }\n\n return acc;\n }, []);\n } else {\n return this.cells;\n }\n }\n\n constructor(args: HdsAdvancedTableRowArgs) {\n const { columns, table } = args;\n\n this.table = table;\n\n this.cells = columns.map((column) => {\n const cell = args[column.key ?? ''];\n\n return {\n columnKey: column.key ?? '',\n content: cell,\n };\n });\n\n // set row data\n Object.assign(this, args);\n\n this.childrenKey = args.childrenKey ?? 'children';\n\n const childModels = args[this.childrenKey];\n\n if (Array.isArray(childModels)) {\n this.children = childModels.map(\n (child) =>\n new HdsAdvancedTableRow({\n ...(child as HdsAdvancedTableRowArgs),\n columns: args.columns,\n childrenKey: this.childrenKey,\n })\n );\n }\n }\n\n @action\n openAll() {\n this.isOpen = true;\n this.children.forEach((child) => child.openAll());\n }\n\n @action\n collapseAll() {\n this.isOpen = false;\n this.children.forEach((child) => child.collapseAll());\n }\n\n @action\n onClickToggle() {\n this.isOpen = !this.isOpen;\n }\n}\n"],"names":["HdsAdvancedTableRow","id","guidFor","g","prototype","tracked","i","void 0","children","childrenKey","table","hasChildren","length","showChildren","isOpen","orderedCells","columnOrder","hasReorderableColumns","reduce","acc","key","cell","cells","find","columnKey","undefined","push","constructor","args","columns","map","column","content","Object","assign","childModels","Array","isArray","child","openAll","forEach","n","action","collapseAll","onClickToggle"],"mappings":"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"}
1
+ {"version":3,"file":"row.js","sources":["../../../../../src/components/hds/advanced-table/models/row.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\n\nimport type { HdsAdvancedTableColumn, HdsAdvancedTableCell } from '../types';\nimport type HdsAdvancedTableTableModel from './table';\n\ninterface HdsAdvancedTableRowArgs {\n [key: string]: unknown;\n columns: HdsAdvancedTableColumn[];\n table: HdsAdvancedTableTableModel;\n id?: string;\n childrenKey?: string;\n}\n\nexport default class HdsAdvancedTableRow {\n id = guidFor(this);\n\n // row data\n [key: string]: unknown;\n\n @tracked isOpen: boolean = false;\n @tracked cells: HdsAdvancedTableCell[] = [];\n\n children: HdsAdvancedTableRow[] = [];\n childrenKey: string;\n table: HdsAdvancedTableTableModel;\n\n get hasChildren(): boolean {\n return this.children.length > 0;\n }\n\n get showChildren(): boolean {\n return this.isOpen && this.hasChildren;\n }\n\n get orderedCells(): HdsAdvancedTableCell[] {\n const { columnOrder, hasReorderableColumns } = this.table;\n\n if (hasReorderableColumns) {\n return columnOrder.reduce<HdsAdvancedTableCell[]>((acc, key) => {\n const cell = this.cells.find((cell) => cell.columnKey === key);\n\n if (cell !== undefined) {\n acc.push(cell);\n }\n\n return acc;\n }, []);\n } else {\n return this.cells;\n }\n }\n\n constructor(args: HdsAdvancedTableRowArgs) {\n const { columns, table } = args;\n\n this.table = table;\n\n this.cells = columns.map((column) => {\n const cell = args[column.key ?? ''];\n\n return {\n columnKey: column.key ?? '',\n content: cell,\n };\n });\n\n // set row data\n Object.assign(this, args);\n\n this.childrenKey = args.childrenKey ?? 'children';\n\n const childModels = args[this.childrenKey];\n\n if (Array.isArray(childModels)) {\n this.children = childModels.map(\n (child) =>\n new HdsAdvancedTableRow({\n ...(child as HdsAdvancedTableRowArgs),\n columns: args.columns,\n childrenKey: this.childrenKey,\n })\n );\n }\n }\n\n @action\n openAll() {\n this.isOpen = true;\n this.children.forEach((child) => child.openAll());\n }\n\n @action\n collapseAll() {\n this.isOpen = false;\n this.children.forEach((child) => child.collapseAll());\n }\n\n @action\n onClickToggle() {\n this.isOpen = !this.isOpen;\n }\n}\n"],"names":["HdsAdvancedTableRow","id","guidFor","g","prototype","tracked","i","void 0","children","childrenKey","table","hasChildren","length","showChildren","isOpen","orderedCells","columnOrder","hasReorderableColumns","reduce","acc","key","cell","cells","find","columnKey","undefined","push","constructor","args","columns","map","column","content","Object","assign","childModels","Array","isArray","child","openAll","forEach","n","action","collapseAll","onClickToggle"],"mappings":";;;;;AAAA;AACA;AACA;AACA;;AAiBe,MAAMA,mBAAmB,CAAC;AACvCC,EAAAA,EAAE,GAAGC,OAAO,CAAC,IAAI,CAAC;;AAElB;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,QAAA,EAAA,CAGCC,OAAO,CAAA,EAAA,YAAA;AAAA,MAAA,OAAmB,KAAK;AAAA,IAAA,CAAA,CAAA;AAAA;AAAA,EAAA,OAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,QAAA,CAAA,EAAAC,MAAA;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,OAAA,EAAA,CAC/BC,OAAO,CAAA,EAAA,YAAA;AAAA,MAAA,OAAiC,EAAE;AAAA,IAAA,CAAA,CAAA;AAAA;AAAA,EAAA,MAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,OAAA,CAAA,EAAAC,MAAA;AAE3CC,EAAAA,QAAQ,GAA0B,EAAE;EACpCC,WAAW;EACXC,KAAK;EAEL,IAAIC,WAAWA,GAAY;AACzB,IAAA,OAAO,IAAI,CAACH,QAAQ,CAACI,MAAM,GAAG,CAAC;AACjC,EAAA;EAEA,IAAIC,YAAYA,GAAY;AAC1B,IAAA,OAAO,IAAI,CAACC,MAAM,IAAI,IAAI,CAACH,WAAW;AACxC,EAAA;EAEA,IAAII,YAAYA,GAA2B;IACzC,MAAM;MAAEC,WAAW;AAAEC,MAAAA;KAAuB,GAAG,IAAI,CAACP,KAAK;AAEzD,IAAA,IAAIO,qBAAqB,EAAE;MACzB,OAAOD,WAAW,CAACE,MAAM,CAAyB,CAACC,GAAG,EAAEC,GAAG,KAAK;AAC9D,QAAA,MAAMC,IAAI,GAAG,IAAI,CAACC,KAAK,CAACC,IAAI,CAAEF,IAAI,IAAKA,IAAI,CAACG,SAAS,KAAKJ,GAAG,CAAC;QAE9D,IAAIC,IAAI,KAAKI,SAAS,EAAE;AACtBN,UAAAA,GAAG,CAACO,IAAI,CAACL,IAAI,CAAC;AAChB,QAAA;AAEA,QAAA,OAAOF,GAAG;MACZ,CAAC,EAAE,EAAE,CAAC;AACR,IAAA,CAAC,MAAM;MACL,OAAO,IAAI,CAACG,KAAK;AACnB,IAAA;AACF,EAAA;EAEAK,WAAWA,CAACC,IAA6B,EAAE;IACzC,MAAM;MAAEC,OAAO;AAAEnB,MAAAA;AAAM,KAAC,GAAGkB,IAAI;IAE/B,IAAI,CAAClB,KAAK,GAAGA,KAAK;IAElB,IAAI,CAACY,KAAK,GAAGO,OAAO,CAACC,GAAG,CAAEC,MAAM,IAAK;MACnC,MAAMV,IAAI,GAAGO,IAAI,CAACG,MAAM,CAACX,GAAG,IAAI,EAAE,CAAC;MAEnC,OAAO;AACLI,QAAAA,SAAS,EAAEO,MAAM,CAACX,GAAG,IAAI,EAAE;AAC3BY,QAAAA,OAAO,EAAEX;OACV;AACH,IAAA,CAAC,CAAC;;AAEF;AACAY,IAAAA,MAAM,CAACC,MAAM,CAAC,IAAI,EAAEN,IAAI,CAAC;AAEzB,IAAA,IAAI,CAACnB,WAAW,GAAGmB,IAAI,CAACnB,WAAW,IAAI,UAAU;AAEjD,IAAA,MAAM0B,WAAW,GAAGP,IAAI,CAAC,IAAI,CAACnB,WAAW,CAAC;AAE1C,IAAA,IAAI2B,KAAK,CAACC,OAAO,CAACF,WAAW,CAAC,EAAE;MAC9B,IAAI,CAAC3B,QAAQ,GAAG2B,WAAW,CAACL,GAAG,CAC5BQ,KAAK,IACJ,IAAItC,mBAAmB,CAAC;AACtB,QAAA,GAAIsC,KAAiC;QACrCT,OAAO,EAAED,IAAI,CAACC,OAAO;QACrBpB,WAAW,EAAE,IAAI,CAACA;AACpB,OAAC,CACL,CAAC;AACH,IAAA;AACF,EAAA;AAGA8B,EAAAA,OAAOA,GAAG;IACR,IAAI,CAACzB,MAAM,GAAG,IAAI;AAClB,IAAA,IAAI,CAACN,QAAQ,CAACgC,OAAO,CAAEF,KAAK,IAAKA,KAAK,CAACC,OAAO,EAAE,CAAC;AACnD,EAAA;AAAC,EAAA;IAAAE,CAAA,CAAA,IAAA,CAAArC,SAAA,EAAA,SAAA,EAAA,CAJAsC,MAAM,CAAA,CAAA;AAAA;AAOPC,EAAAA,WAAWA,GAAG;IACZ,IAAI,CAAC7B,MAAM,GAAG,KAAK;AACnB,IAAA,IAAI,CAACN,QAAQ,CAACgC,OAAO,CAAEF,KAAK,IAAKA,KAAK,CAACK,WAAW,EAAE,CAAC;AACvD,EAAA;AAAC,EAAA;IAAAF,CAAA,CAAA,IAAA,CAAArC,SAAA,EAAA,aAAA,EAAA,CAJAsC,MAAM,CAAA,CAAA;AAAA;AAOPE,EAAAA,aAAaA,GAAG;AACd,IAAA,IAAI,CAAC9B,MAAM,GAAG,CAAC,IAAI,CAACA,MAAM;AAC5B,EAAA;AAAC,EAAA;IAAA2B,CAAA,CAAA,IAAA,CAAArC,SAAA,EAAA,eAAA,EAAA,CAHAsC,MAAM,CAAA,CAAA;AAAA;AAIT;;;;"}
@@ -7,7 +7,7 @@ import { HdsAdvancedTableThSortOrderValues, HdsAdvancedTableColumnReorderSideVal
7
7
  import { g, i, n } from 'decorator-transforms/runtime';
8
8
 
9
9
  /**
10
- * Copyright (c) HashiCorp, Inc.
10
+ * Copyright IBM Corp. 2021, 2025
11
11
  * SPDX-License-Identifier: MPL-2.0
12
12
  */
13
13
 
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sources":["../../../../../src/components/hds/advanced-table/models/table.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport HdsAdvancedTableRow from './row.ts';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { isEmpty } from '@ember/utils';\nimport HdsAdvancedTableColumn from './column.ts';\nimport {\n HdsAdvancedTableColumnReorderSideValues,\n HdsAdvancedTableThSortOrderValues,\n} from '../types.ts';\n\nimport type { HdsAdvancedTableSignature } from '../index.ts';\nimport type {\n HdsAdvancedTableExpandState,\n HdsAdvancedTableCell,\n HdsAdvancedTableColumnReorderCallback,\n HdsAdvancedTableColumnReorderSide,\n HdsAdvancedTableSortingFunction,\n} from '../types';\n\ntype HdsAdvancedTableTableArgs = Pick<\n HdsAdvancedTableSignature['Args'],\n | 'model'\n | 'columns'\n | 'columnOrder'\n | 'childrenKey'\n | 'hasReorderableColumns'\n | 'hasResizableColumns'\n | 'sortBy'\n | 'sortOrder'\n | 'onSort'\n | 'onColumnReorder'\n | 'onColumnResize'\n>;\n\nfunction getVisibleRows(rows: HdsAdvancedTableRow[]): HdsAdvancedTableRow[] {\n return rows.reduce((acc, row) => {\n acc.push(row);\n\n if (row.isOpen && row.children) {\n acc.push(...getVisibleRows(row.children));\n }\n\n return acc;\n }, [] as HdsAdvancedTableRow[]);\n}\n\nfunction getChildrenCount(rows: HdsAdvancedTableRow[]): number {\n return rows.reduce(\n (acc, row) => acc + 1 + getChildrenCount(row.children ?? []),\n 0\n );\n}\n\nexport default class HdsAdvancedTableTableModel {\n @tracked columns: HdsAdvancedTableColumn[] = [];\n @tracked columnOrder: string[] = [];\n @tracked reorderDraggedColumn: HdsAdvancedTableColumn | null = null;\n @tracked reorderHoveredColumn: HdsAdvancedTableColumn | null = null;\n @tracked rows: HdsAdvancedTableRow[] = [];\n @tracked sortBy: HdsAdvancedTableTableArgs['sortBy'] = undefined;\n @tracked sortOrder: HdsAdvancedTableTableArgs['sortOrder'] =\n HdsAdvancedTableThSortOrderValues.Asc;\n @tracked gridElement?: HTMLDivElement = undefined;\n\n childrenKey?: HdsAdvancedTableTableArgs['childrenKey'];\n hasReorderableColumns?: HdsAdvancedTableTableArgs['hasReorderableColumns'];\n hasResizableColumns?: HdsAdvancedTableTableArgs['hasResizableColumns'];\n onColumnReorder?: HdsAdvancedTableColumnReorderCallback;\n onSort?: HdsAdvancedTableSignature['Args']['onSort'];\n\n constructor(args: HdsAdvancedTableTableArgs) {\n const {\n model,\n columns,\n columnOrder,\n childrenKey,\n hasReorderableColumns,\n hasResizableColumns,\n sortBy,\n sortOrder,\n onColumnReorder,\n onSort,\n } = args;\n\n this.childrenKey = childrenKey;\n this.hasReorderableColumns = hasReorderableColumns;\n this.hasResizableColumns = hasResizableColumns;\n this.onSort = onSort;\n\n this.setupData({ model, columns, sortBy, sortOrder });\n\n // set initial column order\n if (this.hasReorderableColumns) {\n this.columnOrder = isEmpty(columnOrder)\n ? this.columns.map((column) => column.key)\n : columnOrder!; // ensured non-empty\n\n this.onColumnReorder = onColumnReorder;\n }\n }\n\n get hasColumnBeingDragged(): boolean {\n return this.reorderDraggedColumn !== null;\n }\n\n get reorderDraggedColumnCells(): HdsAdvancedTableCell[] {\n if (this.reorderDraggedColumn === null) {\n return [];\n }\n\n const { key } = this.reorderDraggedColumn;\n\n return this.flattenedVisibleRows.map((row) => {\n const cell = row.cells.find((cell) => cell.columnKey === key);\n\n return cell!;\n });\n }\n\n get orderedColumns(): HdsAdvancedTableColumn[] {\n if (this.hasReorderableColumns) {\n return this.columnOrder.reduce<HdsAdvancedTableColumn[]>((acc, key) => {\n const column = this.columns.find((column) => column.key === key);\n\n if (column !== undefined) {\n acc.push(column);\n }\n\n return acc;\n }, []);\n } else {\n return this.columns;\n }\n }\n\n get sortCriteria(): string | HdsAdvancedTableSortingFunction<unknown> {\n // get the current column\n const currentColumn = this.columns.find(\n (column) => column.key === this.sortBy\n );\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 sortedRows(): HdsAdvancedTableRow[] {\n const criteria = this.sortCriteria;\n const rows = this.rows;\n\n if (rows.length <= 1 || criteria === undefined) {\n return rows;\n }\n\n if (typeof criteria === 'function') {\n // Use custom sort function\n return [...rows].sort(criteria);\n } else {\n // Parse the criteria string format \"sortBy:sortOrder\"\n const [sortBy, sortOrder] = criteria.split(':');\n\n if (!sortBy) {\n return rows;\n }\n\n return [...rows].sort((a, b) => {\n const valueA = a[sortBy] as string | number | boolean;\n const valueB = b[sortBy] as string | number | boolean;\n\n if (valueA < valueB) {\n return sortOrder === 'asc' ? -1 : 1;\n }\n if (valueA > valueB) {\n return sortOrder === 'asc' ? 1 : -1;\n }\n\n return 0;\n });\n }\n }\n\n get totalRowCount(): number {\n return getChildrenCount(this.sortedRows);\n }\n\n get flattenedVisibleRows(): HdsAdvancedTableRow[] {\n return getVisibleRows(this.sortedRows);\n }\n\n get lastVisibleRow(): HdsAdvancedTableRow | undefined {\n return this.flattenedVisibleRows[this.flattenedVisibleRows.length - 1];\n }\n\n get hasRowsWithChildren(): boolean {\n return this.rows.some((row) => row.hasChildren);\n }\n\n get allRowsAreOpen(): boolean {\n return this.flattenedVisibleRows.length === this.totalRowCount;\n }\n\n get expandState(): HdsAdvancedTableExpandState {\n if (this.allRowsAreOpen) {\n return true;\n } else {\n return false;\n }\n }\n\n setTransientColumnWidths(options: { roundValues?: boolean } = {}): void {\n const roundValues = options.roundValues ?? false;\n\n this.columns.forEach((column) => {\n column.pxTransientWidth = roundValues\n ? Math.round(column.pxWidth)\n : column.pxWidth;\n });\n }\n\n resetTransientColumnWidths(): void {\n this.columns.forEach((column) => {\n column.pxTransientWidth = undefined;\n });\n }\n\n getColumnByKey(key: string): HdsAdvancedTableColumn | undefined {\n return this.columns.find((column) => column.key === key);\n }\n\n @action\n setupData(\n args: Pick<\n HdsAdvancedTableTableArgs,\n 'model' | 'columns' | 'sortBy' | 'sortOrder'\n >\n ) {\n const { model, columns, sortBy, sortOrder } = args;\n\n this.sortBy = sortBy;\n this.sortOrder = sortOrder ?? HdsAdvancedTableThSortOrderValues.Asc;\n\n this.columns = columns.map(\n (column) =>\n new HdsAdvancedTableColumn({\n column,\n table: this,\n })\n );\n\n this.rows = model.map((row) => {\n return new HdsAdvancedTableRow({\n ...row,\n childrenKey: this.childrenKey,\n columns,\n table: this,\n });\n });\n }\n\n @action\n restoreColumnWidths(): void {\n this.columns.forEach((column) => {\n column.width = column.originalWidth;\n });\n }\n\n @action\n setSortBy(column: string): void {\n if (this.sortBy === column) {\n // check to see if the column is already sorted and invert the sort order if so\n this.sortOrder =\n this.sortOrder === HdsAdvancedTableThSortOrderValues.Asc\n ? HdsAdvancedTableThSortOrderValues.Desc\n : HdsAdvancedTableThSortOrderValues.Asc;\n } else {\n // otherwise, set the sort order to ascending\n this.sortBy = column;\n this.sortOrder = HdsAdvancedTableThSortOrderValues.Asc;\n }\n\n if (typeof this.onSort === 'function') {\n this.onSort(this.sortBy, this.sortOrder);\n }\n }\n\n @action\n openAll() {\n this.rows.forEach((row) => row.openAll());\n }\n\n @action\n collapseAll() {\n this.rows.forEach((row) => row.collapseAll());\n }\n\n @action\n toggleAll() {\n if (this.allRowsAreOpen) {\n this.collapseAll();\n } else {\n this.openAll();\n }\n }\n\n @action\n stepColumn(column: HdsAdvancedTableColumn, step: number): void {\n const { table } = column;\n const oldIndex = table.orderedColumns.indexOf(column);\n const newIndex = oldIndex + step;\n\n // Check if the new position is within the array bounds.\n if (newIndex < 0 || newIndex >= table.orderedColumns.length) {\n return;\n }\n\n const targetColumn = table.orderedColumns[newIndex];\n\n if (targetColumn === undefined) {\n return;\n }\n\n // Determine the side based on the step direction.\n const side: HdsAdvancedTableColumnReorderSide =\n step > 0\n ? HdsAdvancedTableColumnReorderSideValues.Right\n : HdsAdvancedTableColumnReorderSideValues.Left;\n\n table.moveColumnToTarget(column, targetColumn, side);\n }\n\n @action\n moveColumnToTerminalPosition(\n column: HdsAdvancedTableColumn,\n position: 'start' | 'end'\n ): void {\n const firstColumn = this.orderedColumns.find((column) => column.isFirst);\n\n const {\n targetColumn,\n side,\n }: {\n targetColumn?: HdsAdvancedTableColumn;\n side: HdsAdvancedTableColumnReorderSide;\n } =\n position === 'start'\n ? {\n targetColumn: firstColumn,\n side: HdsAdvancedTableColumnReorderSideValues.Left,\n }\n : {\n targetColumn: this.orderedColumns[this.orderedColumns.length - 1],\n side: HdsAdvancedTableColumnReorderSideValues.Right,\n };\n\n if (targetColumn === undefined) {\n return;\n }\n\n // Move the column to the target position\n this.moveColumnToTarget(column, targetColumn, side);\n }\n\n @action\n moveColumnToTarget(\n sourceColumn: HdsAdvancedTableColumn,\n targetColumn: HdsAdvancedTableColumn,\n side: HdsAdvancedTableColumnReorderSide\n ): void {\n const sourceKey = sourceColumn.key;\n const targetKey = targetColumn.key;\n\n const oldIndex = this.columnOrder.indexOf(sourceKey);\n const newIndex = this.columnOrder.indexOf(targetKey);\n\n if (oldIndex !== -1 && newIndex !== -1) {\n const updated = [...this.columnOrder];\n\n updated.splice(oldIndex, 1); // Remove from old position\n\n // Calculate the insertion index based on the side\n // If dropping to the right of the target, insert after the target\n // If dropping to the left of the target, insert before the target\n // Adjust for the shift in indices caused by removing the source column\n const adjustedIndex =\n side === HdsAdvancedTableColumnReorderSideValues.Right\n ? newIndex > oldIndex\n ? newIndex\n : newIndex + 1\n : newIndex > oldIndex\n ? newIndex - 1\n : newIndex;\n\n updated.splice(adjustedIndex, 0, sourceColumn.key); // Insert at new position\n\n this.columnOrder = updated;\n\n // we need to wait until the reposition has finished\n requestAnimationFrame(() => {\n sourceColumn.thElement?.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'center',\n });\n\n sourceColumn.isBeingDragged = false;\n\n this.onColumnReorder?.({\n column: sourceColumn,\n newOrder: updated,\n insertedAt: updated.indexOf(sourceColumn.key),\n });\n });\n }\n }\n\n @action\n moveColumnToDropTarget(\n targetColumn: HdsAdvancedTableColumn,\n side: HdsAdvancedTableColumnReorderSide\n ) {\n const sourceColumn = this.reorderDraggedColumn;\n\n if (sourceColumn == null || sourceColumn === targetColumn) {\n return;\n }\n\n this.moveColumnToTarget(sourceColumn, targetColumn, side);\n }\n}\n"],"names":["getVisibleRows","rows","reduce","acc","row","push","isOpen","children","getChildrenCount","HdsAdvancedTableTableModel","g","prototype","tracked","i","void 0","undefined","HdsAdvancedTableThSortOrderValues","Asc","childrenKey","hasReorderableColumns","hasResizableColumns","onColumnReorder","onSort","constructor","args","model","columns","columnOrder","sortBy","sortOrder","setupData","isEmpty","map","column","key","hasColumnBeingDragged","reorderDraggedColumn","reorderDraggedColumnCells","flattenedVisibleRows","cell","cells","find","columnKey","orderedColumns","sortCriteria","currentColumn","sortingFunction","sortedRows","criteria","length","sort","split","a","b","valueA","valueB","totalRowCount","lastVisibleRow","hasRowsWithChildren","some","hasChildren","allRowsAreOpen","expandState","setTransientColumnWidths","options","roundValues","forEach","pxTransientWidth","Math","round","pxWidth","resetTransientColumnWidths","getColumnByKey","HdsAdvancedTableColumn","table","HdsAdvancedTableRow","n","action","restoreColumnWidths","width","originalWidth","setSortBy","Desc","openAll","collapseAll","toggleAll","stepColumn","step","oldIndex","indexOf","newIndex","targetColumn","side","HdsAdvancedTableColumnReorderSideValues","Right","Left","moveColumnToTarget","moveColumnToTerminalPosition","position","firstColumn","isFirst","sourceColumn","sourceKey","targetKey","updated","splice","adjustedIndex","requestAnimationFrame","thElement","scrollIntoView","behavior","block","inline","isBeingDragged","newOrder","insertedAt","moveColumnToDropTarget"],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sources":["../../../../../src/components/hds/advanced-table/models/table.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport HdsAdvancedTableRow from './row.ts';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { isEmpty } from '@ember/utils';\nimport HdsAdvancedTableColumn from './column.ts';\nimport {\n HdsAdvancedTableColumnReorderSideValues,\n HdsAdvancedTableThSortOrderValues,\n} from '../types.ts';\n\nimport type { HdsAdvancedTableSignature } from '../index.ts';\nimport type {\n HdsAdvancedTableExpandState,\n HdsAdvancedTableCell,\n HdsAdvancedTableColumnReorderCallback,\n HdsAdvancedTableColumnReorderSide,\n HdsAdvancedTableSortingFunction,\n} from '../types';\n\ntype HdsAdvancedTableTableArgs = Pick<\n HdsAdvancedTableSignature['Args'],\n | 'model'\n | 'columns'\n | 'columnOrder'\n | 'childrenKey'\n | 'hasReorderableColumns'\n | 'hasResizableColumns'\n | 'sortBy'\n | 'sortOrder'\n | 'onSort'\n | 'onColumnReorder'\n | 'onColumnResize'\n>;\n\nfunction getVisibleRows(rows: HdsAdvancedTableRow[]): HdsAdvancedTableRow[] {\n return rows.reduce((acc, row) => {\n acc.push(row);\n\n if (row.isOpen && row.children) {\n acc.push(...getVisibleRows(row.children));\n }\n\n return acc;\n }, [] as HdsAdvancedTableRow[]);\n}\n\nfunction getChildrenCount(rows: HdsAdvancedTableRow[]): number {\n return rows.reduce(\n (acc, row) => acc + 1 + getChildrenCount(row.children ?? []),\n 0\n );\n}\n\nexport default class HdsAdvancedTableTableModel {\n @tracked columns: HdsAdvancedTableColumn[] = [];\n @tracked columnOrder: string[] = [];\n @tracked reorderDraggedColumn: HdsAdvancedTableColumn | null = null;\n @tracked reorderHoveredColumn: HdsAdvancedTableColumn | null = null;\n @tracked rows: HdsAdvancedTableRow[] = [];\n @tracked sortBy: HdsAdvancedTableTableArgs['sortBy'] = undefined;\n @tracked sortOrder: HdsAdvancedTableTableArgs['sortOrder'] =\n HdsAdvancedTableThSortOrderValues.Asc;\n @tracked gridElement?: HTMLDivElement = undefined;\n\n childrenKey?: HdsAdvancedTableTableArgs['childrenKey'];\n hasReorderableColumns?: HdsAdvancedTableTableArgs['hasReorderableColumns'];\n hasResizableColumns?: HdsAdvancedTableTableArgs['hasResizableColumns'];\n onColumnReorder?: HdsAdvancedTableColumnReorderCallback;\n onSort?: HdsAdvancedTableSignature['Args']['onSort'];\n\n constructor(args: HdsAdvancedTableTableArgs) {\n const {\n model,\n columns,\n columnOrder,\n childrenKey,\n hasReorderableColumns,\n hasResizableColumns,\n sortBy,\n sortOrder,\n onColumnReorder,\n onSort,\n } = args;\n\n this.childrenKey = childrenKey;\n this.hasReorderableColumns = hasReorderableColumns;\n this.hasResizableColumns = hasResizableColumns;\n this.onSort = onSort;\n\n this.setupData({ model, columns, sortBy, sortOrder });\n\n // set initial column order\n if (this.hasReorderableColumns) {\n this.columnOrder = isEmpty(columnOrder)\n ? this.columns.map((column) => column.key)\n : columnOrder!; // ensured non-empty\n\n this.onColumnReorder = onColumnReorder;\n }\n }\n\n get hasColumnBeingDragged(): boolean {\n return this.reorderDraggedColumn !== null;\n }\n\n get reorderDraggedColumnCells(): HdsAdvancedTableCell[] {\n if (this.reorderDraggedColumn === null) {\n return [];\n }\n\n const { key } = this.reorderDraggedColumn;\n\n return this.flattenedVisibleRows.map((row) => {\n const cell = row.cells.find((cell) => cell.columnKey === key);\n\n return cell!;\n });\n }\n\n get orderedColumns(): HdsAdvancedTableColumn[] {\n if (this.hasReorderableColumns) {\n return this.columnOrder.reduce<HdsAdvancedTableColumn[]>((acc, key) => {\n const column = this.columns.find((column) => column.key === key);\n\n if (column !== undefined) {\n acc.push(column);\n }\n\n return acc;\n }, []);\n } else {\n return this.columns;\n }\n }\n\n get sortCriteria(): string | HdsAdvancedTableSortingFunction<unknown> {\n // get the current column\n const currentColumn = this.columns.find(\n (column) => column.key === this.sortBy\n );\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 sortedRows(): HdsAdvancedTableRow[] {\n const criteria = this.sortCriteria;\n const rows = this.rows;\n\n if (rows.length <= 1 || criteria === undefined) {\n return rows;\n }\n\n if (typeof criteria === 'function') {\n // Use custom sort function\n return [...rows].sort(criteria);\n } else {\n // Parse the criteria string format \"sortBy:sortOrder\"\n const [sortBy, sortOrder] = criteria.split(':');\n\n if (!sortBy) {\n return rows;\n }\n\n return [...rows].sort((a, b) => {\n const valueA = a[sortBy] as string | number | boolean;\n const valueB = b[sortBy] as string | number | boolean;\n\n if (valueA < valueB) {\n return sortOrder === 'asc' ? -1 : 1;\n }\n if (valueA > valueB) {\n return sortOrder === 'asc' ? 1 : -1;\n }\n\n return 0;\n });\n }\n }\n\n get totalRowCount(): number {\n return getChildrenCount(this.sortedRows);\n }\n\n get flattenedVisibleRows(): HdsAdvancedTableRow[] {\n return getVisibleRows(this.sortedRows);\n }\n\n get lastVisibleRow(): HdsAdvancedTableRow | undefined {\n return this.flattenedVisibleRows[this.flattenedVisibleRows.length - 1];\n }\n\n get hasRowsWithChildren(): boolean {\n return this.rows.some((row) => row.hasChildren);\n }\n\n get allRowsAreOpen(): boolean {\n return this.flattenedVisibleRows.length === this.totalRowCount;\n }\n\n get expandState(): HdsAdvancedTableExpandState {\n if (this.allRowsAreOpen) {\n return true;\n } else {\n return false;\n }\n }\n\n setTransientColumnWidths(options: { roundValues?: boolean } = {}): void {\n const roundValues = options.roundValues ?? false;\n\n this.columns.forEach((column) => {\n column.pxTransientWidth = roundValues\n ? Math.round(column.pxWidth)\n : column.pxWidth;\n });\n }\n\n resetTransientColumnWidths(): void {\n this.columns.forEach((column) => {\n column.pxTransientWidth = undefined;\n });\n }\n\n getColumnByKey(key: string): HdsAdvancedTableColumn | undefined {\n return this.columns.find((column) => column.key === key);\n }\n\n @action\n setupData(\n args: Pick<\n HdsAdvancedTableTableArgs,\n 'model' | 'columns' | 'sortBy' | 'sortOrder'\n >\n ) {\n const { model, columns, sortBy, sortOrder } = args;\n\n this.sortBy = sortBy;\n this.sortOrder = sortOrder ?? HdsAdvancedTableThSortOrderValues.Asc;\n\n this.columns = columns.map(\n (column) =>\n new HdsAdvancedTableColumn({\n column,\n table: this,\n })\n );\n\n this.rows = model.map((row) => {\n return new HdsAdvancedTableRow({\n ...row,\n childrenKey: this.childrenKey,\n columns,\n table: this,\n });\n });\n }\n\n @action\n restoreColumnWidths(): void {\n this.columns.forEach((column) => {\n column.width = column.originalWidth;\n });\n }\n\n @action\n setSortBy(column: string): void {\n if (this.sortBy === column) {\n // check to see if the column is already sorted and invert the sort order if so\n this.sortOrder =\n this.sortOrder === HdsAdvancedTableThSortOrderValues.Asc\n ? HdsAdvancedTableThSortOrderValues.Desc\n : HdsAdvancedTableThSortOrderValues.Asc;\n } else {\n // otherwise, set the sort order to ascending\n this.sortBy = column;\n this.sortOrder = HdsAdvancedTableThSortOrderValues.Asc;\n }\n\n if (typeof this.onSort === 'function') {\n this.onSort(this.sortBy, this.sortOrder);\n }\n }\n\n @action\n openAll() {\n this.rows.forEach((row) => row.openAll());\n }\n\n @action\n collapseAll() {\n this.rows.forEach((row) => row.collapseAll());\n }\n\n @action\n toggleAll() {\n if (this.allRowsAreOpen) {\n this.collapseAll();\n } else {\n this.openAll();\n }\n }\n\n @action\n stepColumn(column: HdsAdvancedTableColumn, step: number): void {\n const { table } = column;\n const oldIndex = table.orderedColumns.indexOf(column);\n const newIndex = oldIndex + step;\n\n // Check if the new position is within the array bounds.\n if (newIndex < 0 || newIndex >= table.orderedColumns.length) {\n return;\n }\n\n const targetColumn = table.orderedColumns[newIndex];\n\n if (targetColumn === undefined) {\n return;\n }\n\n // Determine the side based on the step direction.\n const side: HdsAdvancedTableColumnReorderSide =\n step > 0\n ? HdsAdvancedTableColumnReorderSideValues.Right\n : HdsAdvancedTableColumnReorderSideValues.Left;\n\n table.moveColumnToTarget(column, targetColumn, side);\n }\n\n @action\n moveColumnToTerminalPosition(\n column: HdsAdvancedTableColumn,\n position: 'start' | 'end'\n ): void {\n const firstColumn = this.orderedColumns.find((column) => column.isFirst);\n\n const {\n targetColumn,\n side,\n }: {\n targetColumn?: HdsAdvancedTableColumn;\n side: HdsAdvancedTableColumnReorderSide;\n } =\n position === 'start'\n ? {\n targetColumn: firstColumn,\n side: HdsAdvancedTableColumnReorderSideValues.Left,\n }\n : {\n targetColumn: this.orderedColumns[this.orderedColumns.length - 1],\n side: HdsAdvancedTableColumnReorderSideValues.Right,\n };\n\n if (targetColumn === undefined) {\n return;\n }\n\n // Move the column to the target position\n this.moveColumnToTarget(column, targetColumn, side);\n }\n\n @action\n moveColumnToTarget(\n sourceColumn: HdsAdvancedTableColumn,\n targetColumn: HdsAdvancedTableColumn,\n side: HdsAdvancedTableColumnReorderSide\n ): void {\n const sourceKey = sourceColumn.key;\n const targetKey = targetColumn.key;\n\n const oldIndex = this.columnOrder.indexOf(sourceKey);\n const newIndex = this.columnOrder.indexOf(targetKey);\n\n if (oldIndex !== -1 && newIndex !== -1) {\n const updated = [...this.columnOrder];\n\n updated.splice(oldIndex, 1); // Remove from old position\n\n // Calculate the insertion index based on the side\n // If dropping to the right of the target, insert after the target\n // If dropping to the left of the target, insert before the target\n // Adjust for the shift in indices caused by removing the source column\n const adjustedIndex =\n side === HdsAdvancedTableColumnReorderSideValues.Right\n ? newIndex > oldIndex\n ? newIndex\n : newIndex + 1\n : newIndex > oldIndex\n ? newIndex - 1\n : newIndex;\n\n updated.splice(adjustedIndex, 0, sourceColumn.key); // Insert at new position\n\n this.columnOrder = updated;\n\n // we need to wait until the reposition has finished\n requestAnimationFrame(() => {\n sourceColumn.thElement?.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'center',\n });\n\n sourceColumn.isBeingDragged = false;\n\n this.onColumnReorder?.({\n column: sourceColumn,\n newOrder: updated,\n insertedAt: updated.indexOf(sourceColumn.key),\n });\n });\n }\n }\n\n @action\n moveColumnToDropTarget(\n targetColumn: HdsAdvancedTableColumn,\n side: HdsAdvancedTableColumnReorderSide\n ) {\n const sourceColumn = this.reorderDraggedColumn;\n\n if (sourceColumn == null || sourceColumn === targetColumn) {\n return;\n }\n\n this.moveColumnToTarget(sourceColumn, targetColumn, side);\n }\n}\n"],"names":["getVisibleRows","rows","reduce","acc","row","push","isOpen","children","getChildrenCount","HdsAdvancedTableTableModel","g","prototype","tracked","i","void 0","undefined","HdsAdvancedTableThSortOrderValues","Asc","childrenKey","hasReorderableColumns","hasResizableColumns","onColumnReorder","onSort","constructor","args","model","columns","columnOrder","sortBy","sortOrder","setupData","isEmpty","map","column","key","hasColumnBeingDragged","reorderDraggedColumn","reorderDraggedColumnCells","flattenedVisibleRows","cell","cells","find","columnKey","orderedColumns","sortCriteria","currentColumn","sortingFunction","sortedRows","criteria","length","sort","split","a","b","valueA","valueB","totalRowCount","lastVisibleRow","hasRowsWithChildren","some","hasChildren","allRowsAreOpen","expandState","setTransientColumnWidths","options","roundValues","forEach","pxTransientWidth","Math","round","pxWidth","resetTransientColumnWidths","getColumnByKey","HdsAdvancedTableColumn","table","HdsAdvancedTableRow","n","action","restoreColumnWidths","width","originalWidth","setSortBy","Desc","openAll","collapseAll","toggleAll","stepColumn","step","oldIndex","indexOf","newIndex","targetColumn","side","HdsAdvancedTableColumnReorderSideValues","Right","Left","moveColumnToTarget","moveColumnToTerminalPosition","position","firstColumn","isFirst","sourceColumn","sourceKey","targetKey","updated","splice","adjustedIndex","requestAnimationFrame","thElement","scrollIntoView","behavior","block","inline","isBeingDragged","newOrder","insertedAt","moveColumnToDropTarget"],"mappings":"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"}
@@ -9,10 +9,10 @@ import { precompileTemplate } from '@ember/template-compilation';
9
9
  import { g, i, n } from 'decorator-transforms/runtime';
10
10
  import { setComponentTemplate } from '@ember/component';
11
11
 
12
- var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<div\n class={{this.classNames}}\n role=\"gridcell\"\n aria-rowspan={{@rowspan}}\n aria-colspan={{@colspan}}\n {{style grid-row=this.rowspan grid-column=this.colspan}}\n {{hds-advanced-table-cell\n handleEnableFocusTrap=this.enableFocusTrap\n shouldTrapFocus=this._shouldTrapFocus\n setCellElement=this.setElement\n }}\n {{! @glint-expect-error - https://github.com/josemarluedke/ember-focus-trap/issues/86 }}\n {{focus-trap\n isActive=this._shouldTrapFocus\n focusTrapOptions=(hash\n onDeactivate=this.onFocusTrapDeactivate initialFocus=this.getInitialFocus clickOutsideDeactivates=true\n )\n }}\n ...attributes\n>\n {{yield}}\n</div>");
12
+ var TEMPLATE = precompileTemplate("{{!\n Copyright IBM Corp. 2021, 2025\n SPDX-License-Identifier: MPL-2.0\n}}\n<div\n class={{this.classNames}}\n role=\"gridcell\"\n aria-rowspan={{@rowspan}}\n aria-colspan={{@colspan}}\n {{style grid-row=this.rowspan grid-column=this.colspan}}\n {{hds-advanced-table-cell\n handleEnableFocusTrap=this.enableFocusTrap\n shouldTrapFocus=this._shouldTrapFocus\n setCellElement=this.setElement\n }}\n {{! @glint-expect-error - https://github.com/josemarluedke/ember-focus-trap/issues/86 }}\n {{focus-trap\n isActive=this._shouldTrapFocus\n focusTrapOptions=(hash\n onDeactivate=this.onFocusTrapDeactivate initialFocus=this.getInitialFocus clickOutsideDeactivates=true\n )\n }}\n ...attributes\n>\n {{yield}}\n</div>");
13
13
 
14
14
  /**
15
- * Copyright (c) HashiCorp, Inc.
15
+ * Copyright IBM Corp. 2021, 2025
16
16
  * SPDX-License-Identifier: MPL-2.0
17
17
  */
18
18
 
@@ -1 +1 @@
1
- {"version":3,"file":"td.js","sources":["../../../../src/components/hds/advanced-table/td.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { focusable, type FocusableElement } from 'tabbable';\n\nimport type { HdsAdvancedTableHorizontalAlignment } from './types.ts';\nimport { HdsAdvancedTableHorizontalAlignmentValues } from './types.ts';\nimport { onFocusTrapDeactivate } from '../../../modifiers/hds-advanced-table-cell/dom-management.ts';\n\nexport const ALIGNMENTS: HdsAdvancedTableHorizontalAlignment[] = Object.values(\n HdsAdvancedTableHorizontalAlignmentValues\n);\nexport const DEFAULT_ALIGN = HdsAdvancedTableHorizontalAlignmentValues.Left;\n\nexport interface HdsAdvancedTableTdSignature {\n Args: {\n align?: HdsAdvancedTableHorizontalAlignment;\n rowspan?: number;\n colspan?: number;\n };\n Blocks: {\n default?: [];\n };\n Element: HTMLDivElement;\n}\nexport default class HdsAdvancedTableTd extends Component<HdsAdvancedTableTdSignature> {\n @tracked private _shouldTrapFocus = false;\n private _element!: HTMLDivElement;\n\n // rowspan and colspan have to return 'auto' if not defined because otherwise the style modifier sets grid-area: undefined on the cell, which breaks the grid styles\n get rowspan(): string {\n if (this.args.rowspan) {\n return `span ${this.args.rowspan}`;\n }\n return 'auto';\n }\n\n get colspan(): string | undefined {\n if (this.args.colspan) {\n return `span ${this.args.colspan}`;\n }\n return 'auto';\n }\n\n get align(): HdsAdvancedTableHorizontalAlignment {\n const { align = DEFAULT_ALIGN } = this.args;\n\n assert(\n `@align for \"Hds::AdvancedTable::Td\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${align}`,\n ALIGNMENTS.includes(align)\n );\n return align;\n }\n\n get classNames(): string {\n const classes = ['hds-advanced-table__td'];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-advanced-table__td--align-${this.align}`);\n }\n\n return classes.join(' ');\n }\n\n @action onFocusTrapDeactivate(): void {\n this._shouldTrapFocus = false;\n onFocusTrapDeactivate(this._element);\n }\n\n @action enableFocusTrap(): void {\n this._shouldTrapFocus = true;\n }\n\n @action getInitialFocus(): FocusableElement | undefined {\n const cellFocusableElements = focusable(this._element);\n return cellFocusableElements[0];\n }\n\n @action setElement(element: HTMLDivElement): void {\n this._element = element;\n }\n}\n"],"names":["ALIGNMENTS","Object","values","HdsAdvancedTableHorizontalAlignmentValues","DEFAULT_ALIGN","Left","HdsAdvancedTableTd","Component","g","prototype","tracked","i","void 0","_element","rowspan","args","colspan","align","assert","join","includes","classNames","classes","push","onFocusTrapDeactivate","_shouldTrapFocus","n","action","enableFocusTrap","getInitialFocus","cellFocusableElements","focusable","setElement","element","setComponentTemplate","TEMPLATE"],"mappings":"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"}
1
+ {"version":3,"file":"td.js","sources":["../../../../src/components/hds/advanced-table/td.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { focusable, type FocusableElement } from 'tabbable';\n\nimport type { HdsAdvancedTableHorizontalAlignment } from './types.ts';\nimport { HdsAdvancedTableHorizontalAlignmentValues } from './types.ts';\nimport { onFocusTrapDeactivate } from '../../../modifiers/hds-advanced-table-cell/dom-management.ts';\n\nexport const ALIGNMENTS: HdsAdvancedTableHorizontalAlignment[] = Object.values(\n HdsAdvancedTableHorizontalAlignmentValues\n);\nexport const DEFAULT_ALIGN = HdsAdvancedTableHorizontalAlignmentValues.Left;\n\nexport interface HdsAdvancedTableTdSignature {\n Args: {\n align?: HdsAdvancedTableHorizontalAlignment;\n rowspan?: number;\n colspan?: number;\n };\n Blocks: {\n default?: [];\n };\n Element: HTMLDivElement;\n}\nexport default class HdsAdvancedTableTd extends Component<HdsAdvancedTableTdSignature> {\n @tracked private _shouldTrapFocus = false;\n private _element!: HTMLDivElement;\n\n // rowspan and colspan have to return 'auto' if not defined because otherwise the style modifier sets grid-area: undefined on the cell, which breaks the grid styles\n get rowspan(): string {\n if (this.args.rowspan) {\n return `span ${this.args.rowspan}`;\n }\n return 'auto';\n }\n\n get colspan(): string | undefined {\n if (this.args.colspan) {\n return `span ${this.args.colspan}`;\n }\n return 'auto';\n }\n\n get align(): HdsAdvancedTableHorizontalAlignment {\n const { align = DEFAULT_ALIGN } = this.args;\n\n assert(\n `@align for \"Hds::AdvancedTable::Td\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${align}`,\n ALIGNMENTS.includes(align)\n );\n return align;\n }\n\n get classNames(): string {\n const classes = ['hds-advanced-table__td'];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-advanced-table__td--align-${this.align}`);\n }\n\n return classes.join(' ');\n }\n\n @action onFocusTrapDeactivate(): void {\n this._shouldTrapFocus = false;\n onFocusTrapDeactivate(this._element);\n }\n\n @action enableFocusTrap(): void {\n this._shouldTrapFocus = true;\n }\n\n @action getInitialFocus(): FocusableElement | undefined {\n const cellFocusableElements = focusable(this._element);\n return cellFocusableElements[0];\n }\n\n @action setElement(element: HTMLDivElement): void {\n this._element = element;\n }\n}\n"],"names":["ALIGNMENTS","Object","values","HdsAdvancedTableHorizontalAlignmentValues","DEFAULT_ALIGN","Left","HdsAdvancedTableTd","Component","g","prototype","tracked","i","void 0","_element","rowspan","args","colspan","align","assert","join","includes","classNames","classes","push","onFocusTrapDeactivate","_shouldTrapFocus","n","action","enableFocusTrap","getInitialFocus","cellFocusableElements","focusable","setElement","element","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -6,10 +6,10 @@ import { precompileTemplate } from '@ember/template-compilation';
6
6
  import { n } from 'decorator-transforms/runtime';
7
7
  import { setComponentTemplate } from '@ember/component';
8
8
 
9
- var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n{{! template-lint-disable no-unsupported-role-attributes }}\n{{! ember template lint doesnt support ARIA 1.3 yet, including aria-description - https://github.com/A11yance/aria-query/pull/557 }}\n<button\n type=\"button\"\n class={{this.classNames}}\n {{on \"click\" this.onClick}}\n aria-labelledby=\"{{this._prefixLabelId}} {{@labelId}}\"\n aria-expanded=\"{{this.isExpanded}}\"\n aria-description={{hds-t\n \"hds.components.advanced-table.th-button-expand.aria-description\"\n default=\"Toggle the visibility of the related rows.\"\n }}\n ...attributes\n>\n {{! template-lint-enable no-unsupported-role-attributes}}\n <span id={{this._prefixLabelId}} class=\"hds-advanced-table__th-button-aria-label-hidden-segment\">\n {{hds-t \"hds.components.common.toggle\" default=\"Toggle\"}}\n </span>\n <Hds::Icon @name={{this.icon}} />\n</button>");
9
+ var TEMPLATE = precompileTemplate("{{!\n Copyright IBM Corp. 2021, 2025\n SPDX-License-Identifier: MPL-2.0\n}}\n{{! template-lint-disable no-unsupported-role-attributes }}\n{{! ember template lint doesnt support ARIA 1.3 yet, including aria-description - https://github.com/A11yance/aria-query/pull/557 }}\n<button\n type=\"button\"\n class={{this.classNames}}\n {{on \"click\" this.onClick}}\n aria-labelledby=\"{{this._prefixLabelId}} {{@labelId}}\"\n aria-expanded=\"{{this.isExpanded}}\"\n aria-description={{hds-t\n \"hds.components.advanced-table.th-button-expand.aria-description\"\n default=\"Toggle the visibility of the related rows.\"\n }}\n ...attributes\n>\n {{! template-lint-enable no-unsupported-role-attributes}}\n <span id={{this._prefixLabelId}} class=\"hds-advanced-table__th-button-aria-label-hidden-segment\">\n {{hds-t \"hds.components.common.toggle\" default=\"Toggle\"}}\n </span>\n <Hds::Icon @name={{this.icon}} />\n</button>");
10
10
 
11
11
  /**
12
- * Copyright (c) HashiCorp, Inc.
12
+ * Copyright IBM Corp. 2021, 2025
13
13
  * SPDX-License-Identifier: MPL-2.0
14
14
  */
15
15