@hashicorp/design-system-components 6.2.0 → 6.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (748) hide show
  1. package/declarations/components/hds/accordion/index.d.ts +1 -1
  2. package/declarations/components/hds/accordion/item/button.d.ts +1 -1
  3. package/declarations/components/hds/accordion/item/index.d.ts +1 -1
  4. package/declarations/components/hds/advanced-table/body.d.ts +4 -0
  5. package/declarations/components/hds/advanced-table/column-manager/index.d.ts +1 -1
  6. package/declarations/components/hds/advanced-table/column-manager/order.d.ts +4 -0
  7. package/declarations/components/hds/advanced-table/column-manager/width.d.ts +4 -0
  8. package/declarations/components/hds/advanced-table/index.d.ts +1 -1
  9. package/declarations/components/hds/advanced-table/td.d.ts +1 -1
  10. package/declarations/components/hds/advanced-table/th-button-expand.d.ts +1 -1
  11. package/declarations/components/hds/advanced-table/th-button-sort.d.ts +1 -1
  12. package/declarations/components/hds/advanced-table/th-button-tooltip.d.ts +1 -1
  13. package/declarations/components/hds/advanced-table/th-context-menu.d.ts +1 -1
  14. package/declarations/components/hds/advanced-table/th-reorder-drop-target.d.ts +1 -1
  15. package/declarations/components/hds/advanced-table/th-reorder-handle.d.ts +1 -1
  16. package/declarations/components/hds/advanced-table/th-resize-handle.d.ts +1 -1
  17. package/declarations/components/hds/advanced-table/th-selectable.d.ts +1 -1
  18. package/declarations/components/hds/advanced-table/th.d.ts +1 -1
  19. package/declarations/components/hds/advanced-table/tr.d.ts +1 -1
  20. package/declarations/components/hds/advanced-table/types.d.ts +1 -1
  21. package/declarations/components/hds/advanced-table/utils.d.ts +1 -1
  22. package/declarations/components/hds/alert/description.d.ts +1 -1
  23. package/declarations/components/hds/alert/index.d.ts +1 -1
  24. package/declarations/components/hds/alert/title.d.ts +1 -1
  25. package/declarations/components/hds/app-footer/copyright.d.ts +1 -1
  26. package/declarations/components/hds/app-footer/index.d.ts +1 -1
  27. package/declarations/components/hds/app-footer/item.d.ts +1 -1
  28. package/declarations/components/hds/app-footer/legal-links.d.ts +1 -1
  29. package/declarations/components/hds/app-footer/link.d.ts +1 -1
  30. package/declarations/components/hds/app-footer/status-link.d.ts +3 -3
  31. package/declarations/components/hds/app-footer/types.d.ts +1 -1
  32. package/declarations/components/hds/app-frame/index.d.ts +1 -1
  33. package/declarations/components/hds/app-frame/parts/footer.d.ts +1 -1
  34. package/declarations/components/hds/app-frame/parts/header.d.ts +1 -1
  35. package/declarations/components/hds/app-frame/parts/main.d.ts +1 -1
  36. package/declarations/components/hds/app-frame/parts/modals.d.ts +1 -1
  37. package/declarations/components/hds/app-frame/parts/sidebar.d.ts +1 -1
  38. package/declarations/components/hds/app-header/home-link.d.ts +1 -1
  39. package/declarations/components/hds/app-header/index.d.ts +1 -1
  40. package/declarations/components/hds/app-header/menu-button.d.ts +1 -1
  41. package/declarations/components/hds/app-side-nav/index.d.ts +1 -1
  42. package/declarations/components/hds/app-side-nav/list/back-link.d.ts +1 -1
  43. package/declarations/components/hds/app-side-nav/list/index.d.ts +1 -1
  44. package/declarations/components/hds/app-side-nav/list/item.d.ts +1 -1
  45. package/declarations/components/hds/app-side-nav/list/link.d.ts +1 -1
  46. package/declarations/components/hds/app-side-nav/list/title.d.ts +1 -1
  47. package/declarations/components/hds/app-side-nav/portal/index.d.ts +1 -1
  48. package/declarations/components/hds/app-side-nav/portal/target.d.ts +1 -1
  49. package/declarations/components/hds/app-side-nav/toggle-button.d.ts +1 -1
  50. package/declarations/components/hds/application-state/body.d.ts +1 -1
  51. package/declarations/components/hds/application-state/footer.d.ts +1 -1
  52. package/declarations/components/hds/application-state/header.d.ts +1 -1
  53. package/declarations/components/hds/application-state/index.d.ts +1 -1
  54. package/declarations/components/hds/application-state/media.d.ts +1 -1
  55. package/declarations/components/hds/badge/index.d.ts +1 -1
  56. package/declarations/components/hds/badge-count/index.d.ts +1 -1
  57. package/declarations/components/hds/breadcrumb/index.d.ts +1 -1
  58. package/declarations/components/hds/breadcrumb/item.d.ts +2 -3
  59. package/declarations/components/hds/breadcrumb/truncation.d.ts +1 -1
  60. package/declarations/components/hds/button/index.d.ts +1 -1
  61. package/declarations/components/hds/button-set/index.d.ts +1 -1
  62. package/declarations/components/hds/card/container.d.ts +1 -1
  63. package/declarations/components/hds/code-block/copy-button.d.ts +1 -1
  64. package/declarations/components/hds/code-block/description.d.ts +1 -1
  65. package/declarations/components/hds/code-block/index.d.ts +1 -1
  66. package/declarations/components/hds/code-block/title.d.ts +1 -1
  67. package/declarations/components/hds/code-editor/description.d.ts +1 -1
  68. package/declarations/components/hds/code-editor/full-screen-button.d.ts +1 -1
  69. package/declarations/components/hds/code-editor/generic.d.ts +1 -1
  70. package/declarations/components/hds/code-editor/index.d.ts +1 -1
  71. package/declarations/components/hds/code-editor/title.d.ts +1 -1
  72. package/declarations/components/hds/composite/index.d.ts +4 -0
  73. package/declarations/components/hds/composite/navigation.d.ts +4 -0
  74. package/declarations/components/hds/composite/types.d.ts +4 -0
  75. package/declarations/components/hds/copy/button/index.d.ts +1 -1
  76. package/declarations/components/hds/copy/snippet/index.d.ts +5 -1
  77. package/declarations/components/hds/dialog-primitive/body.d.ts +1 -1
  78. package/declarations/components/hds/dialog-primitive/description.d.ts +1 -1
  79. package/declarations/components/hds/dialog-primitive/footer.d.ts +1 -1
  80. package/declarations/components/hds/dialog-primitive/header.d.ts +1 -1
  81. package/declarations/components/hds/dialog-primitive/overlay.d.ts +1 -1
  82. package/declarations/components/hds/dialog-primitive/wrapper.d.ts +1 -1
  83. package/declarations/components/hds/disclosure-primitive/index.d.ts +1 -1
  84. package/declarations/components/hds/dismiss-button/index.d.ts +1 -1
  85. package/declarations/components/hds/dropdown/footer.d.ts +1 -1
  86. package/declarations/components/hds/dropdown/header.d.ts +1 -1
  87. package/declarations/components/hds/dropdown/index.d.ts +1 -1
  88. package/declarations/components/hds/dropdown/list-item/checkbox.d.ts +1 -1
  89. package/declarations/components/hds/dropdown/list-item/checkmark.d.ts +1 -1
  90. package/declarations/components/hds/dropdown/list-item/copy-item.d.ts +1 -1
  91. package/declarations/components/hds/dropdown/list-item/description.d.ts +1 -1
  92. package/declarations/components/hds/dropdown/list-item/generic.d.ts +1 -1
  93. package/declarations/components/hds/dropdown/list-item/interactive.d.ts +1 -1
  94. package/declarations/components/hds/dropdown/list-item/radio.d.ts +1 -1
  95. package/declarations/components/hds/dropdown/list-item/separator.d.ts +1 -1
  96. package/declarations/components/hds/dropdown/list-item/title.d.ts +1 -1
  97. package/declarations/components/hds/dropdown/toggle/button.d.ts +1 -1
  98. package/declarations/components/hds/dropdown/toggle/chevron.d.ts +1 -1
  99. package/declarations/components/hds/dropdown/toggle/icon.d.ts +1 -1
  100. package/declarations/components/hds/filter-bar/actions-dropdown.d.ts +1 -1
  101. package/declarations/components/hds/filter-bar/applied-filters.d.ts +1 -1
  102. package/declarations/components/hds/filter-bar/filter-group/checkbox.d.ts +1 -1
  103. package/declarations/components/hds/filter-bar/filter-group/clear-button.d.ts +1 -1
  104. package/declarations/components/hds/filter-bar/filter-group/date.d.ts +1 -1
  105. package/declarations/components/hds/filter-bar/filter-group/generic.d.ts +1 -1
  106. package/declarations/components/hds/filter-bar/filter-group/index.d.ts +1 -1
  107. package/declarations/components/hds/filter-bar/filter-group/numerical.d.ts +1 -1
  108. package/declarations/components/hds/filter-bar/filter-group/radio.d.ts +1 -1
  109. package/declarations/components/hds/filter-bar/filters-dropdown.d.ts +1 -1
  110. package/declarations/components/hds/filter-bar/index.d.ts +1 -1
  111. package/declarations/components/hds/filter-bar/tabs/index.d.ts +1 -1
  112. package/declarations/components/hds/filter-bar/tabs/panel.d.ts +1 -1
  113. package/declarations/components/hds/filter-bar/tabs/tab.d.ts +1 -1
  114. package/declarations/components/hds/filter-bar/types.d.ts +1 -1
  115. package/declarations/components/hds/flyout/index.d.ts +1 -1
  116. package/declarations/components/hds/form/character-count/index.d.ts +1 -1
  117. package/declarations/components/hds/form/checkbox/base.d.ts +1 -1
  118. package/declarations/components/hds/form/checkbox/field.d.ts +1 -1
  119. package/declarations/components/hds/form/checkbox/group.d.ts +1 -1
  120. package/declarations/components/hds/form/error/index.d.ts +1 -1
  121. package/declarations/components/hds/form/error/message.d.ts +1 -1
  122. package/declarations/components/hds/form/field/index.d.ts +1 -1
  123. package/declarations/components/hds/form/fieldset/index.d.ts +1 -1
  124. package/declarations/components/hds/form/file-input/base.d.ts +1 -1
  125. package/declarations/components/hds/form/file-input/field.d.ts +1 -1
  126. package/declarations/components/hds/form/footer/index.d.ts +1 -1
  127. package/declarations/components/hds/form/header/description.d.ts +1 -1
  128. package/declarations/components/hds/form/header/index.d.ts +1 -1
  129. package/declarations/components/hds/form/header/title.d.ts +1 -1
  130. package/declarations/components/hds/form/helper-text/index.d.ts +1 -1
  131. package/declarations/components/hds/form/index.d.ts +1 -1
  132. package/declarations/components/hds/form/indicator/index.d.ts +1 -1
  133. package/declarations/components/hds/form/key-value-inputs/add-row-button.d.ts +1 -1
  134. package/declarations/components/hds/form/key-value-inputs/delete-row-button.d.ts +1 -1
  135. package/declarations/components/hds/form/key-value-inputs/field.d.ts +1 -1
  136. package/declarations/components/hds/form/key-value-inputs/generic.d.ts +1 -1
  137. package/declarations/components/hds/form/key-value-inputs/index.d.ts +1 -1
  138. package/declarations/components/hds/form/label/index.d.ts +1 -1
  139. package/declarations/components/hds/form/legend/index.d.ts +1 -1
  140. package/declarations/components/hds/form/masked-input/base.d.ts +1 -1
  141. package/declarations/components/hds/form/masked-input/field.d.ts +1 -1
  142. package/declarations/components/hds/form/radio/base.d.ts +1 -1
  143. package/declarations/components/hds/form/radio/field.d.ts +1 -1
  144. package/declarations/components/hds/form/radio/group.d.ts +1 -1
  145. package/declarations/components/hds/form/radio-card/description.d.ts +1 -1
  146. package/declarations/components/hds/form/radio-card/group.d.ts +1 -1
  147. package/declarations/components/hds/form/radio-card/index.d.ts +1 -1
  148. package/declarations/components/hds/form/radio-card/label.d.ts +1 -1
  149. package/declarations/components/hds/form/section/header.d.ts +1 -1
  150. package/declarations/components/hds/form/section/index.d.ts +1 -1
  151. package/declarations/components/hds/form/section/multi-field-group/index.d.ts +1 -1
  152. package/declarations/components/hds/form/section/multi-field-group/item.d.ts +1 -1
  153. package/declarations/components/hds/form/select/base.d.ts +1 -1
  154. package/declarations/components/hds/form/select/field.d.ts +1 -1
  155. package/declarations/components/hds/form/separator/index.d.ts +1 -1
  156. package/declarations/components/hds/form/super-select/after-options.d.ts +1 -1
  157. package/declarations/components/hds/form/super-select/multiple/base.d.ts +1 -1
  158. package/declarations/components/hds/form/super-select/multiple/field.d.ts +1 -1
  159. package/declarations/components/hds/form/super-select/option-group.d.ts +1 -1
  160. package/declarations/components/hds/form/super-select/placeholder.d.ts +1 -1
  161. package/declarations/components/hds/form/super-select/single/base.d.ts +1 -1
  162. package/declarations/components/hds/form/super-select/single/field.d.ts +1 -1
  163. package/declarations/components/hds/form/text-input/base.d.ts +1 -1
  164. package/declarations/components/hds/form/text-input/field.d.ts +1 -1
  165. package/declarations/components/hds/form/textarea/base.d.ts +1 -1
  166. package/declarations/components/hds/form/textarea/field.d.ts +1 -1
  167. package/declarations/components/hds/form/toggle/base.d.ts +1 -1
  168. package/declarations/components/hds/form/toggle/field.d.ts +1 -1
  169. package/declarations/components/hds/form/toggle/group.d.ts +1 -1
  170. package/declarations/components/hds/form/visibility-toggle/index.d.ts +1 -1
  171. package/declarations/components/hds/icon/index.d.ts +1 -1
  172. package/declarations/components/hds/icon-tile/index.d.ts +1 -1
  173. package/declarations/components/hds/interactive/index.d.ts +1 -1
  174. package/declarations/components/hds/layout/flex/index.d.ts +1 -1
  175. package/declarations/components/hds/layout/flex/item.d.ts +1 -1
  176. package/declarations/components/hds/layout/grid/index.d.ts +1 -1
  177. package/declarations/components/hds/layout/grid/item.d.ts +1 -1
  178. package/declarations/components/hds/link/inline.d.ts +1 -1
  179. package/declarations/components/hds/link/standalone.d.ts +1 -1
  180. package/declarations/components/hds/modal/index.d.ts +1 -1
  181. package/declarations/components/hds/page-header/actions.d.ts +1 -1
  182. package/declarations/components/hds/page-header/badges.d.ts +1 -1
  183. package/declarations/components/hds/page-header/description.d.ts +1 -1
  184. package/declarations/components/hds/page-header/index.d.ts +1 -1
  185. package/declarations/components/hds/page-header/subtitle.d.ts +1 -1
  186. package/declarations/components/hds/page-header/title.d.ts +1 -1
  187. package/declarations/components/hds/pagination/compact/index.d.ts +1 -1
  188. package/declarations/components/hds/pagination/info/index.d.ts +1 -1
  189. package/declarations/components/hds/pagination/nav/arrow.d.ts +1 -1
  190. package/declarations/components/hds/pagination/nav/ellipsis.d.ts +1 -1
  191. package/declarations/components/hds/pagination/nav/number.d.ts +1 -1
  192. package/declarations/components/hds/pagination/numbered/index.d.ts +1 -1
  193. package/declarations/components/hds/pagination/size-selector/index.d.ts +1 -1
  194. package/declarations/components/hds/pagination/types.d.ts +1 -1
  195. package/declarations/components/hds/popover-primitive/index.d.ts +1 -1
  196. package/declarations/components/hds/reveal/index.d.ts +1 -1
  197. package/declarations/components/hds/reveal/toggle/button.d.ts +1 -1
  198. package/declarations/components/hds/rich-tooltip/bubble.d.ts +1 -1
  199. package/declarations/components/hds/rich-tooltip/index.d.ts +1 -1
  200. package/declarations/components/hds/rich-tooltip/toggle.d.ts +1 -1
  201. package/declarations/components/hds/segmented-group/index.d.ts +1 -1
  202. package/declarations/components/hds/separator/index.d.ts +1 -1
  203. package/declarations/components/hds/stepper/list/index.d.ts +1 -1
  204. package/declarations/components/hds/stepper/list/step.d.ts +1 -1
  205. package/declarations/components/hds/stepper/nav/index.d.ts +1 -1
  206. package/declarations/components/hds/stepper/nav/panel.d.ts +1 -1
  207. package/declarations/components/hds/stepper/nav/step.d.ts +1 -1
  208. package/declarations/components/hds/stepper/step/indicator.d.ts +1 -1
  209. package/declarations/components/hds/stepper/task/indicator.d.ts +1 -1
  210. package/declarations/components/hds/stepper/types.d.ts +1 -1
  211. package/declarations/components/hds/table/index.d.ts +1 -1
  212. package/declarations/components/hds/table/td.d.ts +1 -1
  213. package/declarations/components/hds/table/th-button-sort.d.ts +1 -1
  214. package/declarations/components/hds/table/th-button-tooltip.d.ts +1 -1
  215. package/declarations/components/hds/table/th-selectable.d.ts +1 -1
  216. package/declarations/components/hds/table/th-sort.d.ts +1 -1
  217. package/declarations/components/hds/table/th.d.ts +1 -1
  218. package/declarations/components/hds/table/tr.d.ts +1 -1
  219. package/declarations/components/hds/table/types.d.ts +1 -1
  220. package/declarations/components/hds/tabs/index.d.ts +1 -1
  221. package/declarations/components/hds/tabs/panel.d.ts +1 -1
  222. package/declarations/components/hds/tabs/tab.d.ts +1 -1
  223. package/declarations/components/hds/tag/index.d.ts +1 -1
  224. package/declarations/components/hds/text/body.d.ts +1 -1
  225. package/declarations/components/hds/text/code.d.ts +1 -1
  226. package/declarations/components/hds/text/display.d.ts +1 -1
  227. package/declarations/components/hds/text/index.d.ts +1 -1
  228. package/declarations/components/hds/time/index.d.ts +1 -1
  229. package/declarations/components/hds/time/range.d.ts +1 -1
  230. package/declarations/components/hds/time/single.d.ts +1 -1
  231. package/declarations/components/hds/toast/index.d.ts +1 -1
  232. package/declarations/components/hds/tooltip-button/index.d.ts +1 -1
  233. package/declarations/components/hds/yield/index.d.ts +1 -1
  234. package/declarations/components.d.ts +1 -1
  235. package/declarations/helpers/hds-t.d.ts +1 -1
  236. package/declarations/modifiers/hds-advanced-table-cell/dom-management.d.ts +1 -1
  237. package/declarations/modifiers/hds-advanced-table-cell.d.ts +1 -1
  238. package/declarations/modifiers/hds-code-editor.d.ts +1 -1
  239. package/declarations/modifiers/hds-scroll-into-view-on-focus.d.ts +1 -1
  240. package/declarations/modifiers/hds-tooltip.d.ts +1 -1
  241. package/declarations/re-exports/codemirror.d.ts +4 -0
  242. package/declarations/services/hds-intl.d.ts +1 -1
  243. package/declarations/template-registry.d.ts +1 -1
  244. package/declarations/utils/hds-aria-described-by.d.ts +1 -1
  245. package/declarations/utils/hds-link-to-external.d.ts +4 -0
  246. package/dist/components/hds/accordion/index.js +1 -1
  247. package/dist/components/hds/accordion/index.js.map +1 -1
  248. package/dist/components/hds/accordion/item/button.js +1 -1
  249. package/dist/components/hds/accordion/item/button.js.map +1 -1
  250. package/dist/components/hds/accordion/item/index.js +1 -1
  251. package/dist/components/hds/accordion/item/index.js.map +1 -1
  252. package/dist/components/hds/advanced-table/body.js +4 -0
  253. package/dist/components/hds/advanced-table/body.js.map +1 -1
  254. package/dist/components/hds/advanced-table/column-manager/index.js +1 -1
  255. package/dist/components/hds/advanced-table/column-manager/index.js.map +1 -1
  256. package/dist/components/hds/advanced-table/column-manager/order.js +4 -0
  257. package/dist/components/hds/advanced-table/column-manager/order.js.map +1 -1
  258. package/dist/components/hds/advanced-table/column-manager/width.js +4 -0
  259. package/dist/components/hds/advanced-table/column-manager/width.js.map +1 -1
  260. package/dist/components/hds/advanced-table/index.js +1 -1
  261. package/dist/components/hds/advanced-table/td.js +1 -1
  262. package/dist/components/hds/advanced-table/td.js.map +1 -1
  263. package/dist/components/hds/advanced-table/th-button-expand.js +1 -1
  264. package/dist/components/hds/advanced-table/th-button-expand.js.map +1 -1
  265. package/dist/components/hds/advanced-table/th-button-sort.js +1 -1
  266. package/dist/components/hds/advanced-table/th-button-sort.js.map +1 -1
  267. package/dist/components/hds/advanced-table/th-button-tooltip.js +1 -1
  268. package/dist/components/hds/advanced-table/th-button-tooltip.js.map +1 -1
  269. package/dist/components/hds/advanced-table/th-context-menu.js +1 -1
  270. package/dist/components/hds/advanced-table/th-context-menu.js.map +1 -1
  271. package/dist/components/hds/advanced-table/th-reorder-drop-target.js +1 -1
  272. package/dist/components/hds/advanced-table/th-reorder-handle.js +1 -1
  273. package/dist/components/hds/advanced-table/th-reorder-handle.js.map +1 -1
  274. package/dist/components/hds/advanced-table/th-resize-handle.js +1 -1
  275. package/dist/components/hds/advanced-table/th-selectable.js +1 -1
  276. package/dist/components/hds/advanced-table/th.js +1 -1
  277. package/dist/components/hds/advanced-table/tr.js +1 -1
  278. package/dist/components/hds/advanced-table/types.js +1 -1
  279. package/dist/components/hds/advanced-table/types.js.map +1 -1
  280. package/dist/components/hds/advanced-table/utils.js +1 -1
  281. package/dist/components/hds/advanced-table/utils.js.map +1 -1
  282. package/dist/components/hds/alert/description.js +1 -1
  283. package/dist/components/hds/alert/description.js.map +1 -1
  284. package/dist/components/hds/alert/index.js +1 -1
  285. package/dist/components/hds/alert/index.js.map +1 -1
  286. package/dist/components/hds/alert/title.js +1 -1
  287. package/dist/components/hds/alert/title.js.map +1 -1
  288. package/dist/components/hds/app-footer/copyright.js +1 -1
  289. package/dist/components/hds/app-footer/copyright.js.map +1 -1
  290. package/dist/components/hds/app-footer/index.js +1 -1
  291. package/dist/components/hds/app-footer/index.js.map +1 -1
  292. package/dist/components/hds/app-footer/item.js +1 -1
  293. package/dist/components/hds/app-footer/item.js.map +1 -1
  294. package/dist/components/hds/app-footer/legal-links.js +1 -1
  295. package/dist/components/hds/app-footer/legal-links.js.map +1 -1
  296. package/dist/components/hds/app-footer/link.js +1 -1
  297. package/dist/components/hds/app-footer/link.js.map +1 -1
  298. package/dist/components/hds/app-footer/status-link.js +9 -6
  299. package/dist/components/hds/app-footer/status-link.js.map +1 -1
  300. package/dist/components/hds/app-footer/types.js +1 -1
  301. package/dist/components/hds/app-footer/types.js.map +1 -1
  302. package/dist/components/hds/app-frame/index.js +1 -1
  303. package/dist/components/hds/app-frame/index.js.map +1 -1
  304. package/dist/components/hds/app-frame/parts/footer.js +1 -1
  305. package/dist/components/hds/app-frame/parts/footer.js.map +1 -1
  306. package/dist/components/hds/app-frame/parts/header.js +1 -1
  307. package/dist/components/hds/app-frame/parts/header.js.map +1 -1
  308. package/dist/components/hds/app-frame/parts/main.js +1 -1
  309. package/dist/components/hds/app-frame/parts/main.js.map +1 -1
  310. package/dist/components/hds/app-frame/parts/modals.js +1 -1
  311. package/dist/components/hds/app-frame/parts/modals.js.map +1 -1
  312. package/dist/components/hds/app-frame/parts/sidebar.js +1 -1
  313. package/dist/components/hds/app-frame/parts/sidebar.js.map +1 -1
  314. package/dist/components/hds/app-header/home-link.js +1 -1
  315. package/dist/components/hds/app-header/home-link.js.map +1 -1
  316. package/dist/components/hds/app-header/index.js +1 -1
  317. package/dist/components/hds/app-header/index.js.map +1 -1
  318. package/dist/components/hds/app-header/menu-button.js +1 -1
  319. package/dist/components/hds/app-header/menu-button.js.map +1 -1
  320. package/dist/components/hds/app-side-nav/index.js +1 -1
  321. package/dist/components/hds/app-side-nav/index.js.map +1 -1
  322. package/dist/components/hds/app-side-nav/list/back-link.js +1 -1
  323. package/dist/components/hds/app-side-nav/list/back-link.js.map +1 -1
  324. package/dist/components/hds/app-side-nav/list/index.js +1 -1
  325. package/dist/components/hds/app-side-nav/list/index.js.map +1 -1
  326. package/dist/components/hds/app-side-nav/list/item.js +1 -1
  327. package/dist/components/hds/app-side-nav/list/item.js.map +1 -1
  328. package/dist/components/hds/app-side-nav/list/link.js +1 -1
  329. package/dist/components/hds/app-side-nav/list/link.js.map +1 -1
  330. package/dist/components/hds/app-side-nav/list/title.js +1 -1
  331. package/dist/components/hds/app-side-nav/list/title.js.map +1 -1
  332. package/dist/components/hds/app-side-nav/portal/index.js +1 -1
  333. package/dist/components/hds/app-side-nav/portal/index.js.map +1 -1
  334. package/dist/components/hds/app-side-nav/portal/target.js +1 -1
  335. package/dist/components/hds/app-side-nav/portal/target.js.map +1 -1
  336. package/dist/components/hds/app-side-nav/toggle-button.js +1 -1
  337. package/dist/components/hds/app-side-nav/toggle-button.js.map +1 -1
  338. package/dist/components/hds/application-state/body.js +1 -1
  339. package/dist/components/hds/application-state/body.js.map +1 -1
  340. package/dist/components/hds/application-state/footer.js +1 -1
  341. package/dist/components/hds/application-state/footer.js.map +1 -1
  342. package/dist/components/hds/application-state/header.js +1 -1
  343. package/dist/components/hds/application-state/header.js.map +1 -1
  344. package/dist/components/hds/application-state/index.js +1 -1
  345. package/dist/components/hds/application-state/index.js.map +1 -1
  346. package/dist/components/hds/application-state/media.js +1 -1
  347. package/dist/components/hds/application-state/media.js.map +1 -1
  348. package/dist/components/hds/badge/index.js +1 -1
  349. package/dist/components/hds/badge/index.js.map +1 -1
  350. package/dist/components/hds/badge-count/index.js +1 -1
  351. package/dist/components/hds/badge-count/index.js.map +1 -1
  352. package/dist/components/hds/breadcrumb/index.js +1 -1
  353. package/dist/components/hds/breadcrumb/index.js.map +1 -1
  354. package/dist/components/hds/breadcrumb/item.js +8 -5
  355. package/dist/components/hds/breadcrumb/item.js.map +1 -1
  356. package/dist/components/hds/breadcrumb/truncation.js +1 -1
  357. package/dist/components/hds/breadcrumb/truncation.js.map +1 -1
  358. package/dist/components/hds/button/index.js +1 -1
  359. package/dist/components/hds/button/index.js.map +1 -1
  360. package/dist/components/hds/button-set/index.js +1 -1
  361. package/dist/components/hds/button-set/index.js.map +1 -1
  362. package/dist/components/hds/card/container.js +1 -1
  363. package/dist/components/hds/card/container.js.map +1 -1
  364. package/dist/components/hds/code-block/copy-button.js +1 -1
  365. package/dist/components/hds/code-block/copy-button.js.map +1 -1
  366. package/dist/components/hds/code-block/description.js +1 -1
  367. package/dist/components/hds/code-block/description.js.map +1 -1
  368. package/dist/components/hds/code-block/index.js +4 -2
  369. package/dist/components/hds/code-block/index.js.map +1 -1
  370. package/dist/components/hds/code-block/title.js +1 -1
  371. package/dist/components/hds/code-block/title.js.map +1 -1
  372. package/dist/components/hds/code-editor/description.js +1 -1
  373. package/dist/components/hds/code-editor/description.js.map +1 -1
  374. package/dist/components/hds/code-editor/full-screen-button.js +1 -1
  375. package/dist/components/hds/code-editor/full-screen-button.js.map +1 -1
  376. package/dist/components/hds/code-editor/generic.js +1 -1
  377. package/dist/components/hds/code-editor/generic.js.map +1 -1
  378. package/dist/components/hds/code-editor/index.js +1 -1
  379. package/dist/components/hds/code-editor/index.js.map +1 -1
  380. package/dist/components/hds/code-editor/title.js +1 -1
  381. package/dist/components/hds/code-editor/title.js.map +1 -1
  382. package/dist/components/hds/composite/index.js +4 -0
  383. package/dist/components/hds/composite/index.js.map +1 -1
  384. package/dist/components/hds/composite/navigation.js +5 -0
  385. package/dist/components/hds/composite/navigation.js.map +1 -1
  386. package/dist/components/hds/copy/button/index.js +6 -2
  387. package/dist/components/hds/copy/button/index.js.map +1 -1
  388. package/dist/components/hds/copy/snippet/index.js +20 -2
  389. package/dist/components/hds/copy/snippet/index.js.map +1 -1
  390. package/dist/components/hds/dialog-primitive/body.js +1 -1
  391. package/dist/components/hds/dialog-primitive/body.js.map +1 -1
  392. package/dist/components/hds/dialog-primitive/description.js +1 -1
  393. package/dist/components/hds/dialog-primitive/description.js.map +1 -1
  394. package/dist/components/hds/dialog-primitive/footer.js +1 -1
  395. package/dist/components/hds/dialog-primitive/footer.js.map +1 -1
  396. package/dist/components/hds/dialog-primitive/header.js +1 -1
  397. package/dist/components/hds/dialog-primitive/header.js.map +1 -1
  398. package/dist/components/hds/dialog-primitive/overlay.js +1 -1
  399. package/dist/components/hds/dialog-primitive/overlay.js.map +1 -1
  400. package/dist/components/hds/dialog-primitive/wrapper.js +1 -1
  401. package/dist/components/hds/dialog-primitive/wrapper.js.map +1 -1
  402. package/dist/components/hds/disclosure-primitive/index.js +1 -1
  403. package/dist/components/hds/disclosure-primitive/index.js.map +1 -1
  404. package/dist/components/hds/dismiss-button/index.js +1 -1
  405. package/dist/components/hds/dismiss-button/index.js.map +1 -1
  406. package/dist/components/hds/dropdown/footer.js +1 -1
  407. package/dist/components/hds/dropdown/footer.js.map +1 -1
  408. package/dist/components/hds/dropdown/header.js +1 -1
  409. package/dist/components/hds/dropdown/header.js.map +1 -1
  410. package/dist/components/hds/dropdown/index.js +1 -1
  411. package/dist/components/hds/dropdown/index.js.map +1 -1
  412. package/dist/components/hds/dropdown/list-item/checkbox.js +1 -1
  413. package/dist/components/hds/dropdown/list-item/checkbox.js.map +1 -1
  414. package/dist/components/hds/dropdown/list-item/checkmark.js +1 -1
  415. package/dist/components/hds/dropdown/list-item/checkmark.js.map +1 -1
  416. package/dist/components/hds/dropdown/list-item/copy-item.js +1 -1
  417. package/dist/components/hds/dropdown/list-item/copy-item.js.map +1 -1
  418. package/dist/components/hds/dropdown/list-item/description.js +1 -1
  419. package/dist/components/hds/dropdown/list-item/description.js.map +1 -1
  420. package/dist/components/hds/dropdown/list-item/generic.js +1 -1
  421. package/dist/components/hds/dropdown/list-item/generic.js.map +1 -1
  422. package/dist/components/hds/dropdown/list-item/interactive.js +1 -1
  423. package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -1
  424. package/dist/components/hds/dropdown/list-item/radio.js +1 -1
  425. package/dist/components/hds/dropdown/list-item/radio.js.map +1 -1
  426. package/dist/components/hds/dropdown/list-item/separator.js +1 -1
  427. package/dist/components/hds/dropdown/list-item/separator.js.map +1 -1
  428. package/dist/components/hds/dropdown/list-item/title.js +1 -1
  429. package/dist/components/hds/dropdown/list-item/title.js.map +1 -1
  430. package/dist/components/hds/dropdown/toggle/button.js +1 -1
  431. package/dist/components/hds/dropdown/toggle/button.js.map +1 -1
  432. package/dist/components/hds/dropdown/toggle/chevron.js +1 -1
  433. package/dist/components/hds/dropdown/toggle/chevron.js.map +1 -1
  434. package/dist/components/hds/dropdown/toggle/icon.js +1 -1
  435. package/dist/components/hds/dropdown/toggle/icon.js.map +1 -1
  436. package/dist/components/hds/filter-bar/actions-dropdown.js +1 -1
  437. package/dist/components/hds/filter-bar/actions-dropdown.js.map +1 -1
  438. package/dist/components/hds/filter-bar/applied-filters.js +1 -1
  439. package/dist/components/hds/filter-bar/applied-filters.js.map +1 -1
  440. package/dist/components/hds/filter-bar/filter-group/checkbox.js +1 -1
  441. package/dist/components/hds/filter-bar/filter-group/checkbox.js.map +1 -1
  442. package/dist/components/hds/filter-bar/filter-group/clear-button.js +1 -1
  443. package/dist/components/hds/filter-bar/filter-group/clear-button.js.map +1 -1
  444. package/dist/components/hds/filter-bar/filter-group/date.js +1 -1
  445. package/dist/components/hds/filter-bar/filter-group/date.js.map +1 -1
  446. package/dist/components/hds/filter-bar/filter-group/generic.js +1 -1
  447. package/dist/components/hds/filter-bar/filter-group/generic.js.map +1 -1
  448. package/dist/components/hds/filter-bar/filter-group/index.js +1 -1
  449. package/dist/components/hds/filter-bar/filter-group/index.js.map +1 -1
  450. package/dist/components/hds/filter-bar/filter-group/numerical.js +1 -1
  451. package/dist/components/hds/filter-bar/filter-group/numerical.js.map +1 -1
  452. package/dist/components/hds/filter-bar/filter-group/radio.js +1 -1
  453. package/dist/components/hds/filter-bar/filter-group/radio.js.map +1 -1
  454. package/dist/components/hds/filter-bar/filters-dropdown.js +1 -1
  455. package/dist/components/hds/filter-bar/filters-dropdown.js.map +1 -1
  456. package/dist/components/hds/filter-bar/index.js +1 -1
  457. package/dist/components/hds/filter-bar/index.js.map +1 -1
  458. package/dist/components/hds/filter-bar/tabs/index.js +1 -1
  459. package/dist/components/hds/filter-bar/tabs/index.js.map +1 -1
  460. package/dist/components/hds/filter-bar/tabs/panel.js +1 -1
  461. package/dist/components/hds/filter-bar/tabs/panel.js.map +1 -1
  462. package/dist/components/hds/filter-bar/tabs/tab.js +1 -1
  463. package/dist/components/hds/filter-bar/tabs/tab.js.map +1 -1
  464. package/dist/components/hds/filter-bar/types.js +1 -1
  465. package/dist/components/hds/filter-bar/types.js.map +1 -1
  466. package/dist/components/hds/flyout/index.js +1 -1
  467. package/dist/components/hds/flyout/index.js.map +1 -1
  468. package/dist/components/hds/form/character-count/index.js +1 -1
  469. package/dist/components/hds/form/character-count/index.js.map +1 -1
  470. package/dist/components/hds/form/checkbox/base.js +1 -1
  471. package/dist/components/hds/form/checkbox/base.js.map +1 -1
  472. package/dist/components/hds/form/checkbox/field.js +1 -1
  473. package/dist/components/hds/form/checkbox/field.js.map +1 -1
  474. package/dist/components/hds/form/checkbox/group.js +1 -1
  475. package/dist/components/hds/form/checkbox/group.js.map +1 -1
  476. package/dist/components/hds/form/error/index.js +1 -1
  477. package/dist/components/hds/form/error/index.js.map +1 -1
  478. package/dist/components/hds/form/error/message.js +1 -1
  479. package/dist/components/hds/form/error/message.js.map +1 -1
  480. package/dist/components/hds/form/field/index.js +1 -1
  481. package/dist/components/hds/form/field/index.js.map +1 -1
  482. package/dist/components/hds/form/fieldset/index.js +1 -1
  483. package/dist/components/hds/form/fieldset/index.js.map +1 -1
  484. package/dist/components/hds/form/file-input/base.js +1 -1
  485. package/dist/components/hds/form/file-input/base.js.map +1 -1
  486. package/dist/components/hds/form/file-input/field.js +1 -1
  487. package/dist/components/hds/form/file-input/field.js.map +1 -1
  488. package/dist/components/hds/form/footer/index.js +1 -1
  489. package/dist/components/hds/form/footer/index.js.map +1 -1
  490. package/dist/components/hds/form/header/description.js +1 -1
  491. package/dist/components/hds/form/header/description.js.map +1 -1
  492. package/dist/components/hds/form/header/index.js +1 -1
  493. package/dist/components/hds/form/header/index.js.map +1 -1
  494. package/dist/components/hds/form/header/title.js +1 -1
  495. package/dist/components/hds/form/header/title.js.map +1 -1
  496. package/dist/components/hds/form/helper-text/index.js +1 -1
  497. package/dist/components/hds/form/helper-text/index.js.map +1 -1
  498. package/dist/components/hds/form/index.js +1 -1
  499. package/dist/components/hds/form/index.js.map +1 -1
  500. package/dist/components/hds/form/indicator/index.js +1 -1
  501. package/dist/components/hds/form/indicator/index.js.map +1 -1
  502. package/dist/components/hds/form/key-value-inputs/add-row-button.js +1 -1
  503. package/dist/components/hds/form/key-value-inputs/add-row-button.js.map +1 -1
  504. package/dist/components/hds/form/key-value-inputs/delete-row-button.js +1 -1
  505. package/dist/components/hds/form/key-value-inputs/delete-row-button.js.map +1 -1
  506. package/dist/components/hds/form/key-value-inputs/field.js +1 -1
  507. package/dist/components/hds/form/key-value-inputs/field.js.map +1 -1
  508. package/dist/components/hds/form/key-value-inputs/generic.js +1 -1
  509. package/dist/components/hds/form/key-value-inputs/generic.js.map +1 -1
  510. package/dist/components/hds/form/key-value-inputs/index.js +1 -1
  511. package/dist/components/hds/form/key-value-inputs/index.js.map +1 -1
  512. package/dist/components/hds/form/label/index.js +1 -1
  513. package/dist/components/hds/form/label/index.js.map +1 -1
  514. package/dist/components/hds/form/legend/index.js +1 -1
  515. package/dist/components/hds/form/legend/index.js.map +1 -1
  516. package/dist/components/hds/form/masked-input/base.js +1 -1
  517. package/dist/components/hds/form/masked-input/base.js.map +1 -1
  518. package/dist/components/hds/form/masked-input/field.js +1 -1
  519. package/dist/components/hds/form/masked-input/field.js.map +1 -1
  520. package/dist/components/hds/form/radio/base.js +1 -1
  521. package/dist/components/hds/form/radio/base.js.map +1 -1
  522. package/dist/components/hds/form/radio/field.js +1 -1
  523. package/dist/components/hds/form/radio/field.js.map +1 -1
  524. package/dist/components/hds/form/radio/group.js +1 -1
  525. package/dist/components/hds/form/radio/group.js.map +1 -1
  526. package/dist/components/hds/form/radio-card/description.js +1 -1
  527. package/dist/components/hds/form/radio-card/description.js.map +1 -1
  528. package/dist/components/hds/form/radio-card/group.js +1 -1
  529. package/dist/components/hds/form/radio-card/group.js.map +1 -1
  530. package/dist/components/hds/form/radio-card/index.js +1 -1
  531. package/dist/components/hds/form/radio-card/index.js.map +1 -1
  532. package/dist/components/hds/form/radio-card/label.js +1 -1
  533. package/dist/components/hds/form/radio-card/label.js.map +1 -1
  534. package/dist/components/hds/form/section/header.js +1 -1
  535. package/dist/components/hds/form/section/header.js.map +1 -1
  536. package/dist/components/hds/form/section/index.js +1 -1
  537. package/dist/components/hds/form/section/index.js.map +1 -1
  538. package/dist/components/hds/form/section/multi-field-group/index.js +1 -1
  539. package/dist/components/hds/form/section/multi-field-group/index.js.map +1 -1
  540. package/dist/components/hds/form/section/multi-field-group/item.js +1 -1
  541. package/dist/components/hds/form/section/multi-field-group/item.js.map +1 -1
  542. package/dist/components/hds/form/select/base.js +1 -1
  543. package/dist/components/hds/form/select/base.js.map +1 -1
  544. package/dist/components/hds/form/select/field.js +1 -1
  545. package/dist/components/hds/form/select/field.js.map +1 -1
  546. package/dist/components/hds/form/separator/index.js +1 -1
  547. package/dist/components/hds/form/separator/index.js.map +1 -1
  548. package/dist/components/hds/form/super-select/after-options.js +1 -1
  549. package/dist/components/hds/form/super-select/after-options.js.map +1 -1
  550. package/dist/components/hds/form/super-select/multiple/base.js +1 -1
  551. package/dist/components/hds/form/super-select/multiple/base.js.map +1 -1
  552. package/dist/components/hds/form/super-select/multiple/field.js +1 -1
  553. package/dist/components/hds/form/super-select/multiple/field.js.map +1 -1
  554. package/dist/components/hds/form/super-select/option-group.js +1 -1
  555. package/dist/components/hds/form/super-select/option-group.js.map +1 -1
  556. package/dist/components/hds/form/super-select/placeholder.js +1 -1
  557. package/dist/components/hds/form/super-select/placeholder.js.map +1 -1
  558. package/dist/components/hds/form/super-select/single/base.js +1 -1
  559. package/dist/components/hds/form/super-select/single/base.js.map +1 -1
  560. package/dist/components/hds/form/super-select/single/field.js +1 -1
  561. package/dist/components/hds/form/super-select/single/field.js.map +1 -1
  562. package/dist/components/hds/form/text-input/base.js +1 -1
  563. package/dist/components/hds/form/text-input/base.js.map +1 -1
  564. package/dist/components/hds/form/text-input/field.js +1 -1
  565. package/dist/components/hds/form/text-input/field.js.map +1 -1
  566. package/dist/components/hds/form/textarea/base.js +1 -1
  567. package/dist/components/hds/form/textarea/base.js.map +1 -1
  568. package/dist/components/hds/form/textarea/field.js +1 -1
  569. package/dist/components/hds/form/textarea/field.js.map +1 -1
  570. package/dist/components/hds/form/toggle/base.js +1 -1
  571. package/dist/components/hds/form/toggle/base.js.map +1 -1
  572. package/dist/components/hds/form/toggle/field.js +1 -1
  573. package/dist/components/hds/form/toggle/field.js.map +1 -1
  574. package/dist/components/hds/form/toggle/group.js +1 -1
  575. package/dist/components/hds/form/toggle/group.js.map +1 -1
  576. package/dist/components/hds/form/visibility-toggle/index.js +1 -1
  577. package/dist/components/hds/form/visibility-toggle/index.js.map +1 -1
  578. package/dist/components/hds/icon/index.js +1 -1
  579. package/dist/components/hds/icon/index.js.map +1 -1
  580. package/dist/components/hds/icon-tile/index.js +1 -1
  581. package/dist/components/hds/icon-tile/index.js.map +1 -1
  582. package/dist/components/hds/interactive/index.js +1 -1
  583. package/dist/components/hds/interactive/index.js.map +1 -1
  584. package/dist/components/hds/layout/flex/index.js +1 -1
  585. package/dist/components/hds/layout/flex/index.js.map +1 -1
  586. package/dist/components/hds/layout/flex/item.js +1 -1
  587. package/dist/components/hds/layout/flex/item.js.map +1 -1
  588. package/dist/components/hds/layout/grid/index.js +1 -1
  589. package/dist/components/hds/layout/grid/index.js.map +1 -1
  590. package/dist/components/hds/layout/grid/item.js +1 -1
  591. package/dist/components/hds/layout/grid/item.js.map +1 -1
  592. package/dist/components/hds/link/inline.js +1 -1
  593. package/dist/components/hds/link/inline.js.map +1 -1
  594. package/dist/components/hds/link/standalone.js +1 -1
  595. package/dist/components/hds/link/standalone.js.map +1 -1
  596. package/dist/components/hds/modal/index.js +1 -1
  597. package/dist/components/hds/modal/index.js.map +1 -1
  598. package/dist/components/hds/page-header/actions.js +1 -1
  599. package/dist/components/hds/page-header/actions.js.map +1 -1
  600. package/dist/components/hds/page-header/badges.js +1 -1
  601. package/dist/components/hds/page-header/badges.js.map +1 -1
  602. package/dist/components/hds/page-header/description.js +1 -1
  603. package/dist/components/hds/page-header/description.js.map +1 -1
  604. package/dist/components/hds/page-header/index.js +1 -1
  605. package/dist/components/hds/page-header/index.js.map +1 -1
  606. package/dist/components/hds/page-header/subtitle.js +1 -1
  607. package/dist/components/hds/page-header/subtitle.js.map +1 -1
  608. package/dist/components/hds/page-header/title.js +1 -1
  609. package/dist/components/hds/page-header/title.js.map +1 -1
  610. package/dist/components/hds/pagination/compact/index.js +1 -1
  611. package/dist/components/hds/pagination/compact/index.js.map +1 -1
  612. package/dist/components/hds/pagination/info/index.js +1 -1
  613. package/dist/components/hds/pagination/info/index.js.map +1 -1
  614. package/dist/components/hds/pagination/nav/arrow.js +1 -1
  615. package/dist/components/hds/pagination/nav/arrow.js.map +1 -1
  616. package/dist/components/hds/pagination/nav/ellipsis.js +1 -1
  617. package/dist/components/hds/pagination/nav/ellipsis.js.map +1 -1
  618. package/dist/components/hds/pagination/nav/number.js +1 -1
  619. package/dist/components/hds/pagination/nav/number.js.map +1 -1
  620. package/dist/components/hds/pagination/numbered/index.js +1 -1
  621. package/dist/components/hds/pagination/numbered/index.js.map +1 -1
  622. package/dist/components/hds/pagination/size-selector/index.js +1 -1
  623. package/dist/components/hds/pagination/size-selector/index.js.map +1 -1
  624. package/dist/components/hds/pagination/types.js +1 -1
  625. package/dist/components/hds/pagination/types.js.map +1 -1
  626. package/dist/components/hds/popover-primitive/index.js +1 -1
  627. package/dist/components/hds/popover-primitive/index.js.map +1 -1
  628. package/dist/components/hds/reveal/index.js +1 -1
  629. package/dist/components/hds/reveal/index.js.map +1 -1
  630. package/dist/components/hds/reveal/toggle/button.js +1 -1
  631. package/dist/components/hds/reveal/toggle/button.js.map +1 -1
  632. package/dist/components/hds/rich-tooltip/bubble.js +1 -1
  633. package/dist/components/hds/rich-tooltip/bubble.js.map +1 -1
  634. package/dist/components/hds/rich-tooltip/index.js +1 -1
  635. package/dist/components/hds/rich-tooltip/index.js.map +1 -1
  636. package/dist/components/hds/rich-tooltip/toggle.js +1 -1
  637. package/dist/components/hds/rich-tooltip/toggle.js.map +1 -1
  638. package/dist/components/hds/segmented-group/index.js +1 -1
  639. package/dist/components/hds/segmented-group/index.js.map +1 -1
  640. package/dist/components/hds/separator/index.js +1 -1
  641. package/dist/components/hds/separator/index.js.map +1 -1
  642. package/dist/components/hds/stepper/list/index.js +1 -1
  643. package/dist/components/hds/stepper/list/index.js.map +1 -1
  644. package/dist/components/hds/stepper/list/step.js +1 -1
  645. package/dist/components/hds/stepper/list/step.js.map +1 -1
  646. package/dist/components/hds/stepper/nav/index.js +1 -1
  647. package/dist/components/hds/stepper/nav/index.js.map +1 -1
  648. package/dist/components/hds/stepper/nav/panel.js +1 -1
  649. package/dist/components/hds/stepper/nav/panel.js.map +1 -1
  650. package/dist/components/hds/stepper/nav/step.js +1 -7
  651. package/dist/components/hds/stepper/nav/step.js.map +1 -1
  652. package/dist/components/hds/stepper/step/indicator.js +1 -1
  653. package/dist/components/hds/stepper/step/indicator.js.map +1 -1
  654. package/dist/components/hds/stepper/task/indicator.js +1 -1
  655. package/dist/components/hds/stepper/task/indicator.js.map +1 -1
  656. package/dist/components/hds/stepper/types.js +1 -1
  657. package/dist/components/hds/stepper/types.js.map +1 -1
  658. package/dist/components/hds/table/index.js +1 -1
  659. package/dist/components/hds/table/index.js.map +1 -1
  660. package/dist/components/hds/table/td.js +1 -1
  661. package/dist/components/hds/table/td.js.map +1 -1
  662. package/dist/components/hds/table/th-button-sort.js +1 -1
  663. package/dist/components/hds/table/th-button-sort.js.map +1 -1
  664. package/dist/components/hds/table/th-button-tooltip.js +1 -1
  665. package/dist/components/hds/table/th-button-tooltip.js.map +1 -1
  666. package/dist/components/hds/table/th-selectable.js +1 -1
  667. package/dist/components/hds/table/th-selectable.js.map +1 -1
  668. package/dist/components/hds/table/th-sort.js +1 -1
  669. package/dist/components/hds/table/th-sort.js.map +1 -1
  670. package/dist/components/hds/table/th.js +1 -1
  671. package/dist/components/hds/table/th.js.map +1 -1
  672. package/dist/components/hds/table/tr.js +1 -1
  673. package/dist/components/hds/table/tr.js.map +1 -1
  674. package/dist/components/hds/table/types.js +1 -1
  675. package/dist/components/hds/table/types.js.map +1 -1
  676. package/dist/components/hds/tabs/index.js +1 -1
  677. package/dist/components/hds/tabs/index.js.map +1 -1
  678. package/dist/components/hds/tabs/panel.js +1 -1
  679. package/dist/components/hds/tabs/panel.js.map +1 -1
  680. package/dist/components/hds/tabs/tab.js +1 -1
  681. package/dist/components/hds/tabs/tab.js.map +1 -1
  682. package/dist/components/hds/tag/index.js +1 -1
  683. package/dist/components/hds/tag/index.js.map +1 -1
  684. package/dist/components/hds/text/body.js +1 -1
  685. package/dist/components/hds/text/body.js.map +1 -1
  686. package/dist/components/hds/text/code.js +1 -1
  687. package/dist/components/hds/text/code.js.map +1 -1
  688. package/dist/components/hds/text/display.js +1 -1
  689. package/dist/components/hds/text/display.js.map +1 -1
  690. package/dist/components/hds/text/index.js +1 -1
  691. package/dist/components/hds/text/index.js.map +1 -1
  692. package/dist/components/hds/time/index.js +1 -1
  693. package/dist/components/hds/time/index.js.map +1 -1
  694. package/dist/components/hds/time/range.js +1 -1
  695. package/dist/components/hds/time/range.js.map +1 -1
  696. package/dist/components/hds/time/single.js +1 -1
  697. package/dist/components/hds/time/single.js.map +1 -1
  698. package/dist/components/hds/toast/index.js +1 -1
  699. package/dist/components/hds/toast/index.js.map +1 -1
  700. package/dist/components/hds/tooltip-button/index.js +1 -1
  701. package/dist/components/hds/tooltip-button/index.js.map +1 -1
  702. package/dist/components/hds/yield/index.js +1 -1
  703. package/dist/components/hds/yield/index.js.map +1 -1
  704. package/dist/components.js +1 -1
  705. package/dist/helpers/hds-t.js +1 -1
  706. package/dist/helpers/hds-t.js.map +1 -1
  707. package/dist/{index-B9OqWZ9U.js → index-DtMB-P9m.js} +7 -7
  708. package/dist/{index-B9OqWZ9U.js.map → index-DtMB-P9m.js.map} +1 -1
  709. package/dist/modifiers/hds-advanced-table-cell/dom-management.js +1 -1
  710. package/dist/modifiers/hds-advanced-table-cell/dom-management.js.map +1 -1
  711. package/dist/modifiers/hds-advanced-table-cell.js +1 -1
  712. package/dist/modifiers/hds-advanced-table-cell.js.map +1 -1
  713. package/dist/modifiers/hds-clipboard.js +6 -2
  714. package/dist/modifiers/hds-clipboard.js.map +1 -1
  715. package/dist/modifiers/hds-code-editor.js.map +1 -1
  716. package/dist/modifiers/hds-scroll-into-view-on-focus.js +1 -1
  717. package/dist/modifiers/hds-scroll-into-view-on-focus.js.map +1 -1
  718. package/dist/modifiers/hds-tooltip.js +1 -1
  719. package/dist/modifiers/hds-tooltip.js.map +1 -1
  720. package/dist/services/hds-intl.js +1 -1
  721. package/dist/services/hds-intl.js.map +1 -1
  722. package/dist/styles/@hashicorp/design-system-components-common.scss +1 -1
  723. package/dist/styles/@hashicorp/design-system-components.css +159 -153
  724. package/dist/styles/@hashicorp/design-system-components.css.map +1 -1
  725. package/dist/styles/@hashicorp/design-system-components.scss +1 -1
  726. package/dist/styles/@hashicorp/design-system-ember-a11y-refocus.scss +5 -0
  727. package/dist/styles/components/advanced-table.scss +1 -1
  728. package/dist/styles/components/app-header.scss +1 -1
  729. package/dist/styles/components/app-side-nav/content.scss +1 -1
  730. package/dist/styles/components/app-side-nav/vars.scss +1 -1
  731. package/dist/styles/components/breadcrumb.scss +1 -1
  732. package/dist/styles/components/code-block/index.scss +1 -1
  733. package/dist/styles/components/code-editor/index.scss +1 -1
  734. package/dist/styles/components/dropdown.scss +4 -0
  735. package/dist/styles/components/filter-bar.scss +1 -1
  736. package/dist/styles/components/flyout.scss +1 -1
  737. package/dist/styles/components/index.scss +1 -1
  738. package/dist/styles/components/layout/grid.scss +1 -1
  739. package/dist/styles/components/stepper/nav.scss +66 -67
  740. package/dist/styles/mixins/_interactive-dark-theme.scss +1 -1
  741. package/dist/utils/hds-aria-described-by.js +1 -1
  742. package/dist/utils/hds-aria-described-by.js.map +1 -1
  743. package/dist/utils/hds-link-to-external.js +5 -0
  744. package/dist/utils/hds-link-to-external.js.map +1 -1
  745. package/package.json +2 -2
  746. package/translations/hds/components/code-block/en-us.yaml +3 -0
  747. package/translations/hds/components/copy-button/en-us.yaml +3 -1
  748. package/translations/hds/components/copy-snippet/en-us.yaml +3 -0
@@ -7,7 +7,7 @@ import { precompileTemplate } from '@ember/template-compilation';
7
7
  import { setComponentTemplate } from '@ember/component';
8
8
 
9
9
  /**
10
- * Copyright (c) HashiCorp, Inc.
10
+ * Copyright IBM Corp. 2021, 2026
11
11
  * SPDX-License-Identifier: MPL-2.0
12
12
  */
13
13
  class HdsFilterBarFilterGroupRadio extends Component {
@@ -1 +1 @@
1
- {"version":3,"file":"radio.js","sources":["../../../../../src/components/hds/filter-bar/filter-group/radio.gts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { on } from '@ember/modifier';\n\nimport HdsFormRadioBase from '../../form/radio/base.gts';\nimport HdsTextBody from '../../text/body.gts';\n\nimport type { HdsFilterBarFilter } from '../types.ts';\n\nexport interface HdsFilterBarFilterGroupRadioSignature {\n Args: {\n value: string;\n label: string;\n name: string;\n searchValue?: string;\n keyFilter?: HdsFilterBarFilter;\n onChange?: (event: Event, label?: string) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLLabelElement;\n}\n\nexport default class HdsFilterBarFilterGroupRadio extends Component<HdsFilterBarFilterGroupRadioSignature> {\n private _elementId = 'radio' + guidFor(this);\n\n onChange = (event: Event): void => {\n const { onChange, label } = this.args;\n if (onChange && typeof onChange === 'function') {\n onChange(event, label);\n }\n };\n\n get isChecked(): boolean {\n const { keyFilter, value } = this.args;\n if (\n keyFilter &&\n keyFilter.type === 'single-select' &&\n value &&\n 'value' in keyFilter.data\n ) {\n return keyFilter.data.value === value;\n }\n return false;\n }\n\n get isHidden(): boolean {\n const { searchValue, label } = this.args;\n if (searchValue && searchValue.length > 0) {\n return !label.toLowerCase().includes(searchValue.toLowerCase());\n }\n return false;\n }\n\n get classNames(): string {\n const classes = [\n 'hds-filter-bar__filter-group__radio',\n 'hds-filter-bar__filter-group__selection-option',\n 'hds-typography-body-200',\n ];\n\n if (this.isHidden) {\n classes.push(`hds-filter-bar__filter-group__selection-option--hidden`);\n }\n\n return classes.join(' ');\n }\n\n <template>\n <label class={{this.classNames}} ...attributes for={{this._elementId}}>\n <HdsFormRadioBase\n class=\"hds-filter-bar__filter-group__selection-option__control\"\n id={{this._elementId}}\n name={{@name}}\n checked={{this.isChecked}}\n @value={{@value}}\n {{on \"change\" this.onChange}}\n />\n <HdsTextBody\n @tag=\"span\"\n @size=\"200\"\n @weight=\"medium\"\n class=\"hds-filter-bar__filter-group__selection-option__text-content\"\n >{{@label}}</HdsTextBody>\n </label>\n </template>\n}\n"],"names":["HdsFilterBarFilterGroupRadio","Component","_elementId","guidFor","onChange","event","label","args","isChecked","keyFilter","value","type","data","isHidden","searchValue","length","toLowerCase","includes","classNames","classes","push","join","setComponentTemplate","precompileTemplate","strictMode","scope","HdsFormRadioBase","on","HdsTextBody"],"mappings":";;;;;;;;AAAA;;;AAGC;AA0Bc,MAAMA,qCAAqCC,SAAA,CAAU;AAC1DC,EAAAA,UAAA,GAAa,OAAA,GAAUC,OAAA,CAAQ,IAAI,CAAA;EAE3CC,QAAA,GAAYC,KAAO,IAAY;IAC7B,MAAM;MAAED,QAAQ;AAAEE,MAAAA;KAAO,GAAG,IAAI,CAACC,IAAI;AACrC,IAAA,IAAIH,QAAA,IAAY,OAAOA,QAAA,KAAa,UAAA,EAAY;AAC9CA,MAAAA,QAAA,CAASC,KAAA,EAAOC,KAAA,CAAA;AAClB,IAAA;EACF,CAAA;EAEA,IAAIE,SAAAA,GAAqB;IACvB,MAAM;MAAEC,SAAS;AAAEC,MAAAA;KAAO,GAAG,IAAI,CAACH,IAAI;AACtC,IAAA,IACEE,SAAA,IACAA,UAAUE,IAAI,KAAK,mBACnBD,KAAA,IACA,OAAA,IAAWD,SAAA,CAAUG,IAAI,EACzB;AACA,MAAA,OAAOH,SAAA,CAAUG,IAAI,CAACF,KAAK,KAAKA,KAAA;AAClC,IAAA;AACA,IAAA,OAAO,KAAA;AACT,EAAA;EAEA,IAAIG,QAAAA,GAAoB;IACtB,MAAM;MAAEC,WAAW;AAAER,MAAAA;KAAO,GAAG,IAAI,CAACC,IAAI;AACxC,IAAA,IAAIO,WAAA,IAAeA,WAAA,CAAYC,MAAM,GAAG,CAAA,EAAG;AACzC,MAAA,OAAO,CAACT,KAAA,CAAMU,WAAW,GAAGC,QAAQ,CAACH,YAAYE,WAAW,EAAA,CAAA;AAC9D,IAAA;AACA,IAAA,OAAO,KAAA;AACT,EAAA;EAEA,IAAIE,UAAAA,GAAqB;IACvB,MAAMC,OAAA,GAAU,CACd,qCAAA,EACA,gDAAA,EACA,yBAAA,CACD;IAED,IAAI,IAAI,CAACN,QAAQ,EAAE;AACjBM,MAAAA,OAAA,CAAQC,IAAI,CAAC,CAAA,sDAAA,CAAwD,CAAA;AACvE,IAAA;AAEA,IAAA,OAAOD,OAAA,CAAQE,IAAI,CAAC,GAAA,CAAA;AACtB,EAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,+bAAA,EAiBA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,gBAAA;QAAAC,EAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"radio.js","sources":["../../../../../src/components/hds/filter-bar/filter-group/radio.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { on } from '@ember/modifier';\n\nimport HdsFormRadioBase from '../../form/radio/base.gts';\nimport HdsTextBody from '../../text/body.gts';\n\nimport type { HdsFilterBarFilter } from '../types.ts';\n\nexport interface HdsFilterBarFilterGroupRadioSignature {\n Args: {\n value: string;\n label: string;\n name: string;\n searchValue?: string;\n keyFilter?: HdsFilterBarFilter;\n onChange?: (event: Event, label?: string) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLLabelElement;\n}\n\nexport default class HdsFilterBarFilterGroupRadio extends Component<HdsFilterBarFilterGroupRadioSignature> {\n private _elementId = 'radio' + guidFor(this);\n\n onChange = (event: Event): void => {\n const { onChange, label } = this.args;\n if (onChange && typeof onChange === 'function') {\n onChange(event, label);\n }\n };\n\n get isChecked(): boolean {\n const { keyFilter, value } = this.args;\n if (\n keyFilter &&\n keyFilter.type === 'single-select' &&\n value &&\n 'value' in keyFilter.data\n ) {\n return keyFilter.data.value === value;\n }\n return false;\n }\n\n get isHidden(): boolean {\n const { searchValue, label } = this.args;\n if (searchValue && searchValue.length > 0) {\n return !label.toLowerCase().includes(searchValue.toLowerCase());\n }\n return false;\n }\n\n get classNames(): string {\n const classes = [\n 'hds-filter-bar__filter-group__radio',\n 'hds-filter-bar__filter-group__selection-option',\n 'hds-typography-body-200',\n ];\n\n if (this.isHidden) {\n classes.push(`hds-filter-bar__filter-group__selection-option--hidden`);\n }\n\n return classes.join(' ');\n }\n\n <template>\n <label class={{this.classNames}} ...attributes for={{this._elementId}}>\n <HdsFormRadioBase\n class=\"hds-filter-bar__filter-group__selection-option__control\"\n id={{this._elementId}}\n name={{@name}}\n checked={{this.isChecked}}\n @value={{@value}}\n {{on \"change\" this.onChange}}\n />\n <HdsTextBody\n @tag=\"span\"\n @size=\"200\"\n @weight=\"medium\"\n class=\"hds-filter-bar__filter-group__selection-option__text-content\"\n >{{@label}}</HdsTextBody>\n </label>\n </template>\n}\n"],"names":["HdsFilterBarFilterGroupRadio","Component","_elementId","guidFor","onChange","event","label","args","isChecked","keyFilter","value","type","data","isHidden","searchValue","length","toLowerCase","includes","classNames","classes","push","join","setComponentTemplate","precompileTemplate","strictMode","scope","HdsFormRadioBase","on","HdsTextBody"],"mappings":";;;;;;;;AAAA;;;AAGC;AA0Bc,MAAMA,qCAAqCC,SAAA,CAAU;AAC1DC,EAAAA,UAAA,GAAa,OAAA,GAAUC,OAAA,CAAQ,IAAI,CAAA;EAE3CC,QAAA,GAAYC,KAAO,IAAY;IAC7B,MAAM;MAAED,QAAQ;AAAEE,MAAAA;KAAO,GAAG,IAAI,CAACC,IAAI;AACrC,IAAA,IAAIH,QAAA,IAAY,OAAOA,QAAA,KAAa,UAAA,EAAY;AAC9CA,MAAAA,QAAA,CAASC,KAAA,EAAOC,KAAA,CAAA;AAClB,IAAA;EACF,CAAA;EAEA,IAAIE,SAAAA,GAAqB;IACvB,MAAM;MAAEC,SAAS;AAAEC,MAAAA;KAAO,GAAG,IAAI,CAACH,IAAI;AACtC,IAAA,IACEE,SAAA,IACAA,UAAUE,IAAI,KAAK,mBACnBD,KAAA,IACA,OAAA,IAAWD,SAAA,CAAUG,IAAI,EACzB;AACA,MAAA,OAAOH,SAAA,CAAUG,IAAI,CAACF,KAAK,KAAKA,KAAA;AAClC,IAAA;AACA,IAAA,OAAO,KAAA;AACT,EAAA;EAEA,IAAIG,QAAAA,GAAoB;IACtB,MAAM;MAAEC,WAAW;AAAER,MAAAA;KAAO,GAAG,IAAI,CAACC,IAAI;AACxC,IAAA,IAAIO,WAAA,IAAeA,WAAA,CAAYC,MAAM,GAAG,CAAA,EAAG;AACzC,MAAA,OAAO,CAACT,KAAA,CAAMU,WAAW,GAAGC,QAAQ,CAACH,YAAYE,WAAW,EAAA,CAAA;AAC9D,IAAA;AACA,IAAA,OAAO,KAAA;AACT,EAAA;EAEA,IAAIE,UAAAA,GAAqB;IACvB,MAAMC,OAAA,GAAU,CACd,qCAAA,EACA,gDAAA,EACA,yBAAA,CACD;IAED,IAAI,IAAI,CAACN,QAAQ,EAAE;AACjBM,MAAAA,OAAA,CAAQC,IAAI,CAAC,CAAA,sDAAA,CAAwD,CAAA;AACvE,IAAA;AAEA,IAAA,OAAOD,OAAA,CAAQE,IAAI,CAAC,GAAA,CAAA;AACtB,EAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,+bAAA,EAiBA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,gBAAA;QAAAC,EAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -15,7 +15,7 @@ import { setComponentTemplate } from '@ember/component';
15
15
  import { g, i } from 'decorator-transforms/runtime';
16
16
 
17
17
  /**
18
- * Copyright (c) HashiCorp, Inc.
18
+ * Copyright IBM Corp. 2021, 2026
19
19
  * SPDX-License-Identifier: MPL-2.0
20
20
  */
21
21
  const DEFAULT_DROPDOWN_HEIGHT = '600px';
@@ -1 +1 @@
1
- {"version":3,"file":"filters-dropdown.js","sources":["../../../../src/components/hds/filter-bar/filters-dropdown.gts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { modifier } from 'ember-modifier';\nimport style from 'ember-style-modifier';\nimport { hash, fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\n\nimport type { WithBoundArgs } from '@glint/template';\n\nimport hdsT from '../../../helpers/hds-t.ts';\nimport HdsDropdown from '../dropdown/index.gts';\nimport HdsFilterBarFilterGroup from './filter-group/index.gts';\nimport HdsFilterBarTabs from './tabs/index.gts';\nimport HdsButtonSet from '../button-set/index.gts';\nimport HdsButton from '../button/index.gts';\n\nimport type { HdsFilterBarFilters, HdsFilterBarFilter } from './types.ts';\nimport type { HdsDropdownSignature } from '../dropdown/index.gts';\n\nexport const DEFAULT_DROPDOWN_HEIGHT = '600px';\n\nexport interface HdsFilterBarFiltersDropdownSignature {\n Args: {\n filters: HdsFilterBarFilters;\n isLiveFilter?: boolean;\n height?: string;\n onFilter?: (filters: HdsFilterBarFilters) => void;\n onFocusOut?: HdsDropdownSignature['Args']['onFocusOut'];\n };\n Blocks: {\n default: [\n {\n FilterGroup?: WithBoundArgs<\n typeof HdsFilterBarFilterGroup,\n 'tab' | 'panel' | 'filters' | 'onChange'\n >;\n close: HdsDropdownSignature['Blocks']['default'][0]['close'];\n },\n ];\n };\n Element: HdsDropdownSignature['Element'];\n}\n\nexport default class HdsFilterBarFiltersDropdown extends Component<HdsFilterBarFiltersDropdownSignature> {\n @tracked internalFilters: HdsFilterBarFilters = {};\n\n private _syncFilters = modifier(() => {\n const { filters } = this.args;\n if (filters) {\n this.internalFilters = this._copyFilters(filters);\n } else {\n this.internalFilters = {};\n }\n });\n\n get isLiveFilter(): boolean {\n return this.args.isLiveFilter ?? false;\n }\n\n get dropdownHeightStyle(): Record<string, string> {\n const heightStyle: { [key: string]: string } = {};\n heightStyle['--filter-bar-filters-dropdown-height'] =\n this.args.height ?? DEFAULT_DROPDOWN_HEIGHT;\n return heightStyle;\n }\n\n onFilter = (key: string, keyFilter?: HdsFilterBarFilter): void => {\n this.internalFilters = this._updateFilter(key, keyFilter);\n\n if (this.isLiveFilter) {\n this._applyFilters();\n }\n };\n\n onApply = (closeDropdown: () => void): void => {\n this._applyFilters(closeDropdown);\n };\n\n onClear = (closeDropdown: () => void): void => {\n const { onFilter } = this.args;\n this.internalFilters = {};\n\n if (onFilter && typeof onFilter === 'function') {\n onFilter(this.internalFilters);\n }\n\n if (closeDropdown && typeof closeDropdown === 'function') {\n closeDropdown();\n }\n };\n\n private _copyFilters = (\n filters: HdsFilterBarFilters\n ): HdsFilterBarFilters => {\n const newFilters = {} as HdsFilterBarFilters;\n\n // Note: Due to the filters being an Ember object, structuredClone cannot be used here.\n // Further investigation will be done in a follow-up task: https://hashicorp.atlassian.net/browse/HDS-5907\n Object.keys(filters).forEach((k) => {\n newFilters[k] = JSON.parse(\n JSON.stringify(filters[k])\n ) as HdsFilterBarFilter;\n });\n\n return newFilters;\n };\n\n private _updateFilter = (\n key: string,\n keyFilter?: HdsFilterBarFilter\n ): HdsFilterBarFilters => {\n const newFilters = this._copyFilters(this.internalFilters);\n if (keyFilter === undefined) {\n delete newFilters[key];\n } else {\n Object.assign(newFilters, { [key]: keyFilter });\n }\n\n return { ...newFilters };\n };\n\n private _applyFilters = (closeDropdown?: () => void): void => {\n const { onFilter } = this.args;\n if (onFilter && typeof onFilter === 'function') {\n onFilter(this.internalFilters);\n }\n\n if (closeDropdown && typeof closeDropdown === 'function') {\n closeDropdown();\n }\n };\n\n <template>\n <HdsDropdown\n @listPosition=\"bottom-left\"\n @width=\"600px\"\n @onFocusOut={{@onFocusOut}}\n ...attributes\n class=\"hds-filter-bar__filters-dropdown\"\n {{style this.dropdownHeightStyle}}\n {{this._syncFilters}}\n as |D|\n >\n <D.ToggleButton\n @icon=\"filter\"\n @text={{hdsT\n \"hds.components.filter-bar.filters-dropdown.toggle-button\"\n default=\"Filters\"\n }}\n @color=\"secondary\"\n @size=\"small\"\n />\n <D.Generic>\n <HdsFilterBarTabs as |T|>\n {{yield\n (hash\n FilterGroup=(component\n HdsFilterBarFilterGroup\n tab=T.Tab\n panel=T.Panel\n onChange=this.onFilter\n filters=this.internalFilters\n )\n close=D.close\n )\n }}\n </HdsFilterBarTabs>\n </D.Generic>\n <D.Footer @hasDivider={{true}}>\n <HdsButtonSet>\n {{#unless this.isLiveFilter}}\n <HdsButton\n @text={{hdsT\n \"hds.components.filter-bar.filters-dropdown.apply\"\n default=\"Apply filters\"\n }}\n @size=\"small\"\n {{on \"click\" (fn this.onApply D.close)}}\n />\n {{/unless}}\n <HdsButton\n @text={{hdsT\n \"hds.components.filter-bar.filters-dropdown.clear\"\n default=\"Clear all filters\"\n }}\n @color=\"secondary\"\n @size=\"small\"\n {{on \"click\" (fn this.onClear D.close)}}\n />\n </HdsButtonSet>\n </D.Footer>\n </HdsDropdown>\n </template>\n}\n"],"names":["DEFAULT_DROPDOWN_HEIGHT","HdsFilterBarFiltersDropdown","Component","g","prototype","tracked","i","_syncFilters","modifier","filters","args","internalFilters","_copyFilters","isLiveFilter","dropdownHeightStyle","heightStyle","height","onFilter","key","keyFilter","_updateFilter","_applyFilters","onApply","closeDropdown","onClear","newFilters","Object","keys","forEach","k","JSON","parse","stringify","undefined","assign","setComponentTemplate","precompileTemplate","strictMode","scope","HdsDropdown","style","hdsT","HdsFilterBarTabs","hash","HdsFilterBarFilterGroup","HdsButtonSet","HdsButton","on","fn"],"mappings":"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"}
1
+ {"version":3,"file":"filters-dropdown.js","sources":["../../../../src/components/hds/filter-bar/filters-dropdown.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { modifier } from 'ember-modifier';\nimport style from 'ember-style-modifier';\nimport { hash, fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\n\nimport type { WithBoundArgs } from '@glint/template';\n\nimport hdsT from '../../../helpers/hds-t.ts';\nimport HdsDropdown from '../dropdown/index.gts';\nimport HdsFilterBarFilterGroup from './filter-group/index.gts';\nimport HdsFilterBarTabs from './tabs/index.gts';\nimport HdsButtonSet from '../button-set/index.gts';\nimport HdsButton from '../button/index.gts';\n\nimport type { HdsFilterBarFilters, HdsFilterBarFilter } from './types.ts';\nimport type { HdsDropdownSignature } from '../dropdown/index.gts';\n\nexport const DEFAULT_DROPDOWN_HEIGHT = '600px';\n\nexport interface HdsFilterBarFiltersDropdownSignature {\n Args: {\n filters: HdsFilterBarFilters;\n isLiveFilter?: boolean;\n height?: string;\n onFilter?: (filters: HdsFilterBarFilters) => void;\n onFocusOut?: HdsDropdownSignature['Args']['onFocusOut'];\n };\n Blocks: {\n default: [\n {\n FilterGroup?: WithBoundArgs<\n typeof HdsFilterBarFilterGroup,\n 'tab' | 'panel' | 'filters' | 'onChange'\n >;\n close: HdsDropdownSignature['Blocks']['default'][0]['close'];\n },\n ];\n };\n Element: HdsDropdownSignature['Element'];\n}\n\nexport default class HdsFilterBarFiltersDropdown extends Component<HdsFilterBarFiltersDropdownSignature> {\n @tracked internalFilters: HdsFilterBarFilters = {};\n\n private _syncFilters = modifier(() => {\n const { filters } = this.args;\n if (filters) {\n this.internalFilters = this._copyFilters(filters);\n } else {\n this.internalFilters = {};\n }\n });\n\n get isLiveFilter(): boolean {\n return this.args.isLiveFilter ?? false;\n }\n\n get dropdownHeightStyle(): Record<string, string> {\n const heightStyle: { [key: string]: string } = {};\n heightStyle['--filter-bar-filters-dropdown-height'] =\n this.args.height ?? DEFAULT_DROPDOWN_HEIGHT;\n return heightStyle;\n }\n\n onFilter = (key: string, keyFilter?: HdsFilterBarFilter): void => {\n this.internalFilters = this._updateFilter(key, keyFilter);\n\n if (this.isLiveFilter) {\n this._applyFilters();\n }\n };\n\n onApply = (closeDropdown: () => void): void => {\n this._applyFilters(closeDropdown);\n };\n\n onClear = (closeDropdown: () => void): void => {\n const { onFilter } = this.args;\n this.internalFilters = {};\n\n if (onFilter && typeof onFilter === 'function') {\n onFilter(this.internalFilters);\n }\n\n if (closeDropdown && typeof closeDropdown === 'function') {\n closeDropdown();\n }\n };\n\n private _copyFilters = (\n filters: HdsFilterBarFilters\n ): HdsFilterBarFilters => {\n const newFilters = {} as HdsFilterBarFilters;\n\n // Note: Due to the filters being an Ember object, structuredClone cannot be used here.\n // Further investigation will be done in a follow-up task: https://hashicorp.atlassian.net/browse/HDS-5907\n Object.keys(filters).forEach((k) => {\n newFilters[k] = JSON.parse(\n JSON.stringify(filters[k])\n ) as HdsFilterBarFilter;\n });\n\n return newFilters;\n };\n\n private _updateFilter = (\n key: string,\n keyFilter?: HdsFilterBarFilter\n ): HdsFilterBarFilters => {\n const newFilters = this._copyFilters(this.internalFilters);\n if (keyFilter === undefined) {\n delete newFilters[key];\n } else {\n Object.assign(newFilters, { [key]: keyFilter });\n }\n\n return { ...newFilters };\n };\n\n private _applyFilters = (closeDropdown?: () => void): void => {\n const { onFilter } = this.args;\n if (onFilter && typeof onFilter === 'function') {\n onFilter(this.internalFilters);\n }\n\n if (closeDropdown && typeof closeDropdown === 'function') {\n closeDropdown();\n }\n };\n\n <template>\n <HdsDropdown\n @listPosition=\"bottom-left\"\n @width=\"600px\"\n @onFocusOut={{@onFocusOut}}\n ...attributes\n class=\"hds-filter-bar__filters-dropdown\"\n {{style this.dropdownHeightStyle}}\n {{this._syncFilters}}\n as |D|\n >\n <D.ToggleButton\n @icon=\"filter\"\n @text={{hdsT\n \"hds.components.filter-bar.filters-dropdown.toggle-button\"\n default=\"Filters\"\n }}\n @color=\"secondary\"\n @size=\"small\"\n />\n <D.Generic>\n <HdsFilterBarTabs as |T|>\n {{yield\n (hash\n FilterGroup=(component\n HdsFilterBarFilterGroup\n tab=T.Tab\n panel=T.Panel\n onChange=this.onFilter\n filters=this.internalFilters\n )\n close=D.close\n )\n }}\n </HdsFilterBarTabs>\n </D.Generic>\n <D.Footer @hasDivider={{true}}>\n <HdsButtonSet>\n {{#unless this.isLiveFilter}}\n <HdsButton\n @text={{hdsT\n \"hds.components.filter-bar.filters-dropdown.apply\"\n default=\"Apply filters\"\n }}\n @size=\"small\"\n {{on \"click\" (fn this.onApply D.close)}}\n />\n {{/unless}}\n <HdsButton\n @text={{hdsT\n \"hds.components.filter-bar.filters-dropdown.clear\"\n default=\"Clear all filters\"\n }}\n @color=\"secondary\"\n @size=\"small\"\n {{on \"click\" (fn this.onClear D.close)}}\n />\n </HdsButtonSet>\n </D.Footer>\n </HdsDropdown>\n </template>\n}\n"],"names":["DEFAULT_DROPDOWN_HEIGHT","HdsFilterBarFiltersDropdown","Component","g","prototype","tracked","i","_syncFilters","modifier","filters","args","internalFilters","_copyFilters","isLiveFilter","dropdownHeightStyle","heightStyle","height","onFilter","key","keyFilter","_updateFilter","_applyFilters","onApply","closeDropdown","onClear","newFilters","Object","keys","forEach","k","JSON","parse","stringify","undefined","assign","setComponentTemplate","precompileTemplate","strictMode","scope","HdsDropdown","style","hdsT","HdsFilterBarTabs","hash","HdsFilterBarFilterGroup","HdsButtonSet","HdsButton","on","fn"],"mappings":"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"}
@@ -23,7 +23,7 @@ import { setComponentTemplate } from '@ember/component';
23
23
  import { g, i } from 'decorator-transforms/runtime';
24
24
 
25
25
  /**
26
- * Copyright (c) HashiCorp, Inc.
26
+ * Copyright IBM Corp. 2021, 2026
27
27
  * SPDX-License-Identifier: MPL-2.0
28
28
  */
29
29
  class HdsFilterBar extends Component {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/filter-bar/index.gts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { service } from '@ember/service';\nimport { isArray } from '@ember/array';\nimport { modifier } from 'ember-modifier';\nimport { guidFor } from '@ember/object/internals';\nimport { hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\n\nimport type { WithBoundArgs } from '@glint/template';\n\nimport { NUMERICAL_SELECTORS_TEXT } from './filter-group/numerical.gts';\nimport { DATE_SELECTORS_TEXT } from './filter-group/date.gts';\nimport hdsT from '../../../helpers/hds-t.ts';\nimport HdsYield from '../yield/index.gts';\nimport HdsFilterBarActionsDropdown from './actions-dropdown.gts';\nimport HdsFilterBarFiltersDropdown from './filters-dropdown.gts';\nimport HdsLayoutFlex from '../layout/flex/index.gts';\nimport HdsFormTextInputBase from '../form/text-input/base.gts';\nimport HdsButton from '../button/index.gts';\nimport HdsSeparator from '../separator/index.gts';\nimport HdsTextBody from '../text/body.gts';\nimport HdsFilterBarAppliedFilters from './applied-filters.gts';\n\nimport type HdsIntlService from '../../../services/hds-intl.ts';\nimport type {\n HdsFilterBarFilters,\n HdsFilterBarFilter,\n HdsFilterBarFilterType,\n HdsFilterBarData,\n HdsFilterBarGenericFilterData,\n} from './types.ts';\n\nexport interface HdsFilterBarSignature {\n Args: {\n filters: HdsFilterBarFilters;\n isLiveFilter?: boolean;\n hasSearch?: boolean;\n searchPlaceholder?: string;\n onFilter?: (filters: HdsFilterBarFilters) => void;\n };\n Blocks: {\n default?: [\n {\n FiltersDropdown?: WithBoundArgs<\n typeof HdsFilterBarFiltersDropdown,\n 'filters' | 'isLiveFilter' | 'onFilter'\n >;\n ActionsDropdown?: WithBoundArgs<\n typeof HdsFilterBarActionsDropdown,\n never\n >;\n ActionsGeneric?: typeof HdsYield;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsFilterBar extends Component<HdsFilterBarSignature> {\n @service hdsIntl!: HdsIntlService;\n\n @tracked _isExpanded: boolean = this.hasActiveFilters;\n\n private _dropdownToggleElement!: HTMLDivElement;\n private _appliedFiltersButtonId = 'applied-filters-button-' + guidFor(this);\n private _appliedFiltersContentId = 'applied-filters-content-' + guidFor(this);\n\n private _setUpFilterBar = modifier((element: HTMLDivElement) => {\n this._dropdownToggleElement = element.querySelector(\n '.hds-filter-bar__filters-dropdown .hds-dropdown-toggle-button'\n ) as HTMLDivElement;\n\n // Align the expanded state with the presence of active filters\n this._isExpanded = this.hasActiveFilters;\n });\n\n get searchValue(): string {\n const { filters } = this.args;\n if (filters['search']) {\n return this._getFilterValueText(filters['search']);\n }\n return '';\n }\n\n get searchPlaceholder(): string {\n return (\n this.args.searchPlaceholder ||\n this.hdsIntl.t('hds.components.filter-bar.search.placeholder', {\n default: 'Search',\n })\n );\n }\n\n get hasActiveFilters(): boolean {\n return Object.keys(this.args.filters).length > 0;\n }\n\n onFilter = (filters: HdsFilterBarFilters): void => {\n const { onFilter } = this.args;\n if (onFilter && typeof onFilter === 'function') {\n onFilter(filters);\n\n if (Object.keys(filters).length > 0) {\n this._isExpanded = true;\n } else {\n this._isExpanded = false;\n }\n }\n };\n\n clearFilters = (): void => {\n const { onFilter } = this.args;\n if (onFilter && typeof onFilter === 'function') {\n onFilter({});\n this._isExpanded = false;\n }\n this._dropdownToggleElement?.focus();\n };\n\n onSearch = (event: Event): void => {\n const { filters } = this.args;\n const input = event.target as HTMLInputElement;\n const value = input?.value;\n\n const newFilters = this._copyFilters(filters);\n\n if (value.length > 0) {\n newFilters['search'] = {\n type: 'search',\n text: 'Search',\n data: { value },\n };\n } else {\n delete newFilters['search'];\n }\n\n this.onFilter({ ...newFilters });\n };\n\n toggleExpand = (): void => {\n this._isExpanded = !this._isExpanded;\n };\n\n private _copyFilters = (\n filters: HdsFilterBarFilters\n ): HdsFilterBarFilters => {\n const newFilters = {} as HdsFilterBarFilters;\n\n // Note: Due to the filters being an Ember object, structuredClone cannot be used here.\n // Further investigation will be done in a follow-up task: https://hashicorp.atlassian.net/browse/HDS-5907\n Object.keys(filters).forEach((k) => {\n newFilters[k] = JSON.parse(\n JSON.stringify(filters[k])\n ) as HdsFilterBarFilter;\n });\n\n return newFilters;\n };\n\n private _onFilterDismiss = (key: string, filterValue?: unknown): void => {\n const { filters } = this.args;\n if (filters && filters[key]) {\n const keyFilter: HdsFilterBarFilter = filters[key];\n const newFilters = this._copyFilters(filters);\n\n if (\n (keyFilter.type === 'multi-select' && isArray(keyFilter.data)) ||\n (keyFilter.type === 'generic' && isArray(keyFilter.data))\n ) {\n const newKeyfilter = keyFilter.data?.filter(\n (item) => item.value !== filterValue\n );\n if (newKeyfilter.length === 0) {\n delete newFilters[key];\n } else {\n newFilters[key] = {\n type: keyFilter.type,\n text: keyFilter.text,\n data: newKeyfilter,\n };\n }\n } else {\n delete newFilters[key];\n }\n\n this.onFilter({ ...newFilters });\n }\n this._dropdownToggleElement?.focus();\n };\n\n private _filterData = (\n data: HdsFilterBarData\n ): HdsFilterBarGenericFilterData => {\n const result = {\n value: '',\n } as HdsFilterBarGenericFilterData;\n if ('value' in data) {\n result.value = data.value;\n }\n if ('label' in data) {\n result.label = data.label;\n }\n return result;\n };\n\n private _getFilterValueText = (filter: HdsFilterBarFilter): string => {\n const result = this._filterData(filter.data);\n const resultLabel = result?.label as string;\n const resultValue = result?.value as string;\n return resultLabel ?? resultValue;\n };\n\n private _getFilterKeyText = (\n key: string,\n data: HdsFilterBarFilter\n ): string => {\n if (data.text) {\n return data.text;\n } else {\n return key;\n }\n };\n\n private _getNumericalFilterValueText = (\n filter: HdsFilterBarFilter\n ): string => {\n const data = filter.data;\n\n if (filter.type === 'numerical' && 'selector' in data && 'value' in data) {\n const selector = data.selector as keyof typeof NUMERICAL_SELECTORS_TEXT;\n if (\n selector === 'between' &&\n typeof data.value === 'object' &&\n data.value !== null\n ) {\n const separatorText = this.hdsIntl.t(\n 'hds.components.filter-bar.tag.numerical-filter.separator',\n {\n default: 'and',\n }\n );\n return `${NUMERICAL_SELECTORS_TEXT[selector]} ${data.value.start} ${separatorText} ${data.value.end}`;\n } else if (typeof data.value !== 'object') {\n return `${NUMERICAL_SELECTORS_TEXT[selector]} ${data.value}`;\n }\n return '';\n } else {\n return '';\n }\n };\n\n private _getDateFilterValueText = (filter: HdsFilterBarFilter): string => {\n const data = filter.data;\n\n if (\n (filter.type === 'date' ||\n filter.type === 'datetime' ||\n filter.type === 'time') &&\n 'selector' in data &&\n 'value' in data\n ) {\n const selector = data.selector as keyof typeof DATE_SELECTORS_TEXT;\n if (\n selector === 'between' &&\n typeof data.value === 'object' &&\n data.value !== null\n ) {\n const separatorText = this.hdsIntl.t(\n 'hds.components.filter-bar.tag.date-filter.separator',\n {\n default: 'and',\n }\n );\n const startDateText = this._formatDateFilterText(\n data.value.start as string,\n filter.type\n );\n const endDateText = this._formatDateFilterText(\n data.value.end as string,\n filter.type\n );\n return `${DATE_SELECTORS_TEXT[selector]} ${startDateText} ${separatorText} ${endDateText}`;\n } else if (data.value !== null && typeof data.value !== 'object') {\n const dateText = this._formatDateFilterText(\n data.value as string,\n filter.type\n );\n return `${DATE_SELECTORS_TEXT[selector]} ${dateText}`;\n }\n return '';\n } else {\n return '';\n }\n };\n\n private _formatDateFilterText = (\n dateString: string,\n filterType: HdsFilterBarFilterType\n ): string => {\n let date;\n if (filterType === 'time') {\n date = new Date(`1970-01-01T${dateString}`);\n } else {\n date = new Date(dateString);\n }\n\n let options = {};\n if (filterType === 'date') {\n options = { dateStyle: 'short' };\n } else if (filterType === 'time') {\n options = { timeStyle: 'short' };\n } else {\n options = { dateStyle: 'short', timeStyle: 'short' };\n }\n\n const newDate = new Intl.DateTimeFormat(undefined, options);\n return newDate.format(date);\n };\n\n private _getGenericFilterValueText = (filter: HdsFilterBarFilter): string => {\n if ('dismissTagText' in filter) {\n return filter.dismissTagText ?? '';\n } else {\n return '';\n }\n };\n\n private _getMultiSelectFilterData = (\n data: HdsFilterBarData\n ): { value: unknown; label?: string }[] => {\n if (isArray(data)) {\n return data.map((item) => this._filterData(item));\n }\n return [];\n };\n\n <template>\n <div class=\"hds-filter-bar\" ...attributes {{this._setUpFilterBar}}>\n {{#if @isLiveFilter}}\n <span class=\"sr-only\">{{hdsT\n \"hds.components.filter-bar.live-filtering\"\n default=\"Filters will be applied automatically as selections are made\"\n }}</span>\n {{/if}}\n <HdsLayoutFlex @align=\"center\" @gap=\"8\" class=\"hds-filter-bar__actions\">\n <HdsButton\n @text={{hdsT\n \"hds.components.filter-bar.applied-filters.toggle-button\"\n default=\"View applied filters\"\n }}\n @color=\"secondary\"\n @size=\"small\"\n @icon={{if this._isExpanded \"unfold-close\" \"unfold-open\"}}\n @isIconOnly={{true}}\n id={{this._appliedFiltersButtonId}}\n aria-controls={{this._appliedFiltersContentId}}\n aria-expanded={{if this._isExpanded \"true\" \"false\"}}\n class=\"hds-filter-bar__applied-filters-toggle-button\"\n {{on \"click\" this.toggleExpand}}\n />\n {{yield\n (hash\n FiltersDropdown=(component\n HdsFilterBarFiltersDropdown\n filters=@filters\n isLiveFilter=@isLiveFilter\n onFilter=this.onFilter\n )\n )\n }}\n {{#if @hasSearch}}\n <HdsFormTextInputBase\n @type=\"search\"\n @value={{this.searchValue}}\n class=\"hds-filter-bar__search\"\n placeholder={{this.searchPlaceholder}}\n aria-label={{hdsT\n \"hds.components.filter-bar.search.aria-label\"\n default=\"Search\"\n }}\n name=\"search\"\n {{on \"change\" this.onSearch}}\n />\n {{/if}}\n <HdsLayoutFlex\n @gap=\"8\"\n @align=\"center\"\n class=\"hds-filter-bar__actions__right\"\n >\n {{yield (hash ActionsGeneric=HdsYield)}}\n {{yield (hash ActionsDropdown=HdsFilterBarActionsDropdown)}}\n </HdsLayoutFlex>\n </HdsLayoutFlex>\n <div\n class=\"hds-filter-bar__applied-filters-list\"\n id={{this._appliedFiltersContentId}}\n >\n {{#if this._isExpanded}}\n <HdsSeparator @spacing=\"0\" />\n <div class=\"hds-filter-bar__applied-filters-list__content\">\n {{#if this.hasActiveFilters}}\n <HdsFilterBarAppliedFilters\n @filters={{@filters}}\n @onFilterDismiss={{this._onFilterDismiss}}\n />\n <HdsButton\n class=\"hds-filter-bar__clear-button\"\n @text={{hdsT\n \"hds.components.filter-bar.applied-filters.clear-filters\"\n default=\"Clear all filters\"\n }}\n @color=\"tertiary\"\n @icon=\"x\"\n @size=\"small\"\n {{on \"click\" this.clearFilters}}\n />\n {{else}}\n <HdsTextBody @size={{100}} @color=\"faint\">\n {{hdsT\n \"hds.components.filter-bar.applied-filters.no-filters-applied\"\n default=\"No filters applied\"\n }}\n </HdsTextBody>\n {{/if}}\n </div>\n {{/if}}\n </div>\n </div>\n </template>\n}\n"],"names":["HdsFilterBar","Component","g","prototype","service","i","tracked","hasActiveFilters","_dropdownToggleElement","_appliedFiltersButtonId","guidFor","_appliedFiltersContentId","_setUpFilterBar","modifier","element","querySelector","_isExpanded","searchValue","filters","args","_getFilterValueText","searchPlaceholder","hdsIntl","t","default","Object","keys","length","onFilter","clearFilters","focus","onSearch","event","input","target","value","newFilters","_copyFilters","type","text","data","toggleExpand","forEach","k","JSON","parse","stringify","_onFilterDismiss","key","filterValue","keyFilter","isArray","newKeyfilter","filter","item","_filterData","result","label","resultLabel","resultValue","_getFilterKeyText","_getNumericalFilterValueText","selector","separatorText","NUMERICAL_SELECTORS_TEXT","start","end","_getDateFilterValueText","startDateText","_formatDateFilterText","endDateText","DATE_SELECTORS_TEXT","dateText","dateString","filterType","date","Date","options","dateStyle","timeStyle","newDate","Intl","DateTimeFormat","undefined","format","_getGenericFilterValueText","dismissTagText","_getMultiSelectFilterData","map","setComponentTemplate","precompileTemplate","strictMode","scope","hdsT","HdsLayoutFlex","HdsButton","on","hash","HdsFilterBarFiltersDropdown","HdsFormTextInputBase","HdsYield","HdsFilterBarActionsDropdown","HdsSeparator","HdsFilterBarAppliedFilters","HdsTextBody"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/filter-bar/index.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { service } from '@ember/service';\nimport { isArray } from '@ember/array';\nimport { modifier } from 'ember-modifier';\nimport { guidFor } from '@ember/object/internals';\nimport { hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\n\nimport type { WithBoundArgs } from '@glint/template';\n\nimport { NUMERICAL_SELECTORS_TEXT } from './filter-group/numerical.gts';\nimport { DATE_SELECTORS_TEXT } from './filter-group/date.gts';\nimport hdsT from '../../../helpers/hds-t.ts';\nimport HdsYield from '../yield/index.gts';\nimport HdsFilterBarActionsDropdown from './actions-dropdown.gts';\nimport HdsFilterBarFiltersDropdown from './filters-dropdown.gts';\nimport HdsLayoutFlex from '../layout/flex/index.gts';\nimport HdsFormTextInputBase from '../form/text-input/base.gts';\nimport HdsButton from '../button/index.gts';\nimport HdsSeparator from '../separator/index.gts';\nimport HdsTextBody from '../text/body.gts';\nimport HdsFilterBarAppliedFilters from './applied-filters.gts';\n\nimport type HdsIntlService from '../../../services/hds-intl.ts';\nimport type {\n HdsFilterBarFilters,\n HdsFilterBarFilter,\n HdsFilterBarFilterType,\n HdsFilterBarData,\n HdsFilterBarGenericFilterData,\n} from './types.ts';\n\nexport interface HdsFilterBarSignature {\n Args: {\n filters: HdsFilterBarFilters;\n isLiveFilter?: boolean;\n hasSearch?: boolean;\n searchPlaceholder?: string;\n onFilter?: (filters: HdsFilterBarFilters) => void;\n };\n Blocks: {\n default?: [\n {\n FiltersDropdown?: WithBoundArgs<\n typeof HdsFilterBarFiltersDropdown,\n 'filters' | 'isLiveFilter' | 'onFilter'\n >;\n ActionsDropdown?: WithBoundArgs<\n typeof HdsFilterBarActionsDropdown,\n never\n >;\n ActionsGeneric?: typeof HdsYield;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsFilterBar extends Component<HdsFilterBarSignature> {\n @service hdsIntl!: HdsIntlService;\n\n @tracked _isExpanded: boolean = this.hasActiveFilters;\n\n private _dropdownToggleElement!: HTMLDivElement;\n private _appliedFiltersButtonId = 'applied-filters-button-' + guidFor(this);\n private _appliedFiltersContentId = 'applied-filters-content-' + guidFor(this);\n\n private _setUpFilterBar = modifier((element: HTMLDivElement) => {\n this._dropdownToggleElement = element.querySelector(\n '.hds-filter-bar__filters-dropdown .hds-dropdown-toggle-button'\n ) as HTMLDivElement;\n\n // Align the expanded state with the presence of active filters\n this._isExpanded = this.hasActiveFilters;\n });\n\n get searchValue(): string {\n const { filters } = this.args;\n if (filters['search']) {\n return this._getFilterValueText(filters['search']);\n }\n return '';\n }\n\n get searchPlaceholder(): string {\n return (\n this.args.searchPlaceholder ||\n this.hdsIntl.t('hds.components.filter-bar.search.placeholder', {\n default: 'Search',\n })\n );\n }\n\n get hasActiveFilters(): boolean {\n return Object.keys(this.args.filters).length > 0;\n }\n\n onFilter = (filters: HdsFilterBarFilters): void => {\n const { onFilter } = this.args;\n if (onFilter && typeof onFilter === 'function') {\n onFilter(filters);\n\n if (Object.keys(filters).length > 0) {\n this._isExpanded = true;\n } else {\n this._isExpanded = false;\n }\n }\n };\n\n clearFilters = (): void => {\n const { onFilter } = this.args;\n if (onFilter && typeof onFilter === 'function') {\n onFilter({});\n this._isExpanded = false;\n }\n this._dropdownToggleElement?.focus();\n };\n\n onSearch = (event: Event): void => {\n const { filters } = this.args;\n const input = event.target as HTMLInputElement;\n const value = input?.value;\n\n const newFilters = this._copyFilters(filters);\n\n if (value.length > 0) {\n newFilters['search'] = {\n type: 'search',\n text: 'Search',\n data: { value },\n };\n } else {\n delete newFilters['search'];\n }\n\n this.onFilter({ ...newFilters });\n };\n\n toggleExpand = (): void => {\n this._isExpanded = !this._isExpanded;\n };\n\n private _copyFilters = (\n filters: HdsFilterBarFilters\n ): HdsFilterBarFilters => {\n const newFilters = {} as HdsFilterBarFilters;\n\n // Note: Due to the filters being an Ember object, structuredClone cannot be used here.\n // Further investigation will be done in a follow-up task: https://hashicorp.atlassian.net/browse/HDS-5907\n Object.keys(filters).forEach((k) => {\n newFilters[k] = JSON.parse(\n JSON.stringify(filters[k])\n ) as HdsFilterBarFilter;\n });\n\n return newFilters;\n };\n\n private _onFilterDismiss = (key: string, filterValue?: unknown): void => {\n const { filters } = this.args;\n if (filters && filters[key]) {\n const keyFilter: HdsFilterBarFilter = filters[key];\n const newFilters = this._copyFilters(filters);\n\n if (\n (keyFilter.type === 'multi-select' && isArray(keyFilter.data)) ||\n (keyFilter.type === 'generic' && isArray(keyFilter.data))\n ) {\n const newKeyfilter = keyFilter.data?.filter(\n (item) => item.value !== filterValue\n );\n if (newKeyfilter.length === 0) {\n delete newFilters[key];\n } else {\n newFilters[key] = {\n type: keyFilter.type,\n text: keyFilter.text,\n data: newKeyfilter,\n };\n }\n } else {\n delete newFilters[key];\n }\n\n this.onFilter({ ...newFilters });\n }\n this._dropdownToggleElement?.focus();\n };\n\n private _filterData = (\n data: HdsFilterBarData\n ): HdsFilterBarGenericFilterData => {\n const result = {\n value: '',\n } as HdsFilterBarGenericFilterData;\n if ('value' in data) {\n result.value = data.value;\n }\n if ('label' in data) {\n result.label = data.label;\n }\n return result;\n };\n\n private _getFilterValueText = (filter: HdsFilterBarFilter): string => {\n const result = this._filterData(filter.data);\n const resultLabel = result?.label as string;\n const resultValue = result?.value as string;\n return resultLabel ?? resultValue;\n };\n\n private _getFilterKeyText = (\n key: string,\n data: HdsFilterBarFilter\n ): string => {\n if (data.text) {\n return data.text;\n } else {\n return key;\n }\n };\n\n private _getNumericalFilterValueText = (\n filter: HdsFilterBarFilter\n ): string => {\n const data = filter.data;\n\n if (filter.type === 'numerical' && 'selector' in data && 'value' in data) {\n const selector = data.selector as keyof typeof NUMERICAL_SELECTORS_TEXT;\n if (\n selector === 'between' &&\n typeof data.value === 'object' &&\n data.value !== null\n ) {\n const separatorText = this.hdsIntl.t(\n 'hds.components.filter-bar.tag.numerical-filter.separator',\n {\n default: 'and',\n }\n );\n return `${NUMERICAL_SELECTORS_TEXT[selector]} ${data.value.start} ${separatorText} ${data.value.end}`;\n } else if (typeof data.value !== 'object') {\n return `${NUMERICAL_SELECTORS_TEXT[selector]} ${data.value}`;\n }\n return '';\n } else {\n return '';\n }\n };\n\n private _getDateFilterValueText = (filter: HdsFilterBarFilter): string => {\n const data = filter.data;\n\n if (\n (filter.type === 'date' ||\n filter.type === 'datetime' ||\n filter.type === 'time') &&\n 'selector' in data &&\n 'value' in data\n ) {\n const selector = data.selector as keyof typeof DATE_SELECTORS_TEXT;\n if (\n selector === 'between' &&\n typeof data.value === 'object' &&\n data.value !== null\n ) {\n const separatorText = this.hdsIntl.t(\n 'hds.components.filter-bar.tag.date-filter.separator',\n {\n default: 'and',\n }\n );\n const startDateText = this._formatDateFilterText(\n data.value.start as string,\n filter.type\n );\n const endDateText = this._formatDateFilterText(\n data.value.end as string,\n filter.type\n );\n return `${DATE_SELECTORS_TEXT[selector]} ${startDateText} ${separatorText} ${endDateText}`;\n } else if (data.value !== null && typeof data.value !== 'object') {\n const dateText = this._formatDateFilterText(\n data.value as string,\n filter.type\n );\n return `${DATE_SELECTORS_TEXT[selector]} ${dateText}`;\n }\n return '';\n } else {\n return '';\n }\n };\n\n private _formatDateFilterText = (\n dateString: string,\n filterType: HdsFilterBarFilterType\n ): string => {\n let date;\n if (filterType === 'time') {\n date = new Date(`1970-01-01T${dateString}`);\n } else {\n date = new Date(dateString);\n }\n\n let options = {};\n if (filterType === 'date') {\n options = { dateStyle: 'short' };\n } else if (filterType === 'time') {\n options = { timeStyle: 'short' };\n } else {\n options = { dateStyle: 'short', timeStyle: 'short' };\n }\n\n const newDate = new Intl.DateTimeFormat(undefined, options);\n return newDate.format(date);\n };\n\n private _getGenericFilterValueText = (filter: HdsFilterBarFilter): string => {\n if ('dismissTagText' in filter) {\n return filter.dismissTagText ?? '';\n } else {\n return '';\n }\n };\n\n private _getMultiSelectFilterData = (\n data: HdsFilterBarData\n ): { value: unknown; label?: string }[] => {\n if (isArray(data)) {\n return data.map((item) => this._filterData(item));\n }\n return [];\n };\n\n <template>\n <div class=\"hds-filter-bar\" ...attributes {{this._setUpFilterBar}}>\n {{#if @isLiveFilter}}\n <span class=\"sr-only\">{{hdsT\n \"hds.components.filter-bar.live-filtering\"\n default=\"Filters will be applied automatically as selections are made\"\n }}</span>\n {{/if}}\n <HdsLayoutFlex @align=\"center\" @gap=\"8\" class=\"hds-filter-bar__actions\">\n <HdsButton\n @text={{hdsT\n \"hds.components.filter-bar.applied-filters.toggle-button\"\n default=\"View applied filters\"\n }}\n @color=\"secondary\"\n @size=\"small\"\n @icon={{if this._isExpanded \"unfold-close\" \"unfold-open\"}}\n @isIconOnly={{true}}\n id={{this._appliedFiltersButtonId}}\n aria-controls={{this._appliedFiltersContentId}}\n aria-expanded={{if this._isExpanded \"true\" \"false\"}}\n class=\"hds-filter-bar__applied-filters-toggle-button\"\n {{on \"click\" this.toggleExpand}}\n />\n {{yield\n (hash\n FiltersDropdown=(component\n HdsFilterBarFiltersDropdown\n filters=@filters\n isLiveFilter=@isLiveFilter\n onFilter=this.onFilter\n )\n )\n }}\n {{#if @hasSearch}}\n <HdsFormTextInputBase\n @type=\"search\"\n @value={{this.searchValue}}\n class=\"hds-filter-bar__search\"\n placeholder={{this.searchPlaceholder}}\n aria-label={{hdsT\n \"hds.components.filter-bar.search.aria-label\"\n default=\"Search\"\n }}\n name=\"search\"\n {{on \"change\" this.onSearch}}\n />\n {{/if}}\n <HdsLayoutFlex\n @gap=\"8\"\n @align=\"center\"\n class=\"hds-filter-bar__actions__right\"\n >\n {{yield (hash ActionsGeneric=HdsYield)}}\n {{yield (hash ActionsDropdown=HdsFilterBarActionsDropdown)}}\n </HdsLayoutFlex>\n </HdsLayoutFlex>\n <div\n class=\"hds-filter-bar__applied-filters-list\"\n id={{this._appliedFiltersContentId}}\n >\n {{#if this._isExpanded}}\n <HdsSeparator @spacing=\"0\" />\n <div class=\"hds-filter-bar__applied-filters-list__content\">\n {{#if this.hasActiveFilters}}\n <HdsFilterBarAppliedFilters\n @filters={{@filters}}\n @onFilterDismiss={{this._onFilterDismiss}}\n />\n <HdsButton\n class=\"hds-filter-bar__clear-button\"\n @text={{hdsT\n \"hds.components.filter-bar.applied-filters.clear-filters\"\n default=\"Clear all filters\"\n }}\n @color=\"tertiary\"\n @icon=\"x\"\n @size=\"small\"\n {{on \"click\" this.clearFilters}}\n />\n {{else}}\n <HdsTextBody @size={{100}} @color=\"faint\">\n {{hdsT\n \"hds.components.filter-bar.applied-filters.no-filters-applied\"\n default=\"No filters applied\"\n }}\n </HdsTextBody>\n {{/if}}\n </div>\n {{/if}}\n </div>\n </div>\n </template>\n}\n"],"names":["HdsFilterBar","Component","g","prototype","service","i","tracked","hasActiveFilters","_dropdownToggleElement","_appliedFiltersButtonId","guidFor","_appliedFiltersContentId","_setUpFilterBar","modifier","element","querySelector","_isExpanded","searchValue","filters","args","_getFilterValueText","searchPlaceholder","hdsIntl","t","default","Object","keys","length","onFilter","clearFilters","focus","onSearch","event","input","target","value","newFilters","_copyFilters","type","text","data","toggleExpand","forEach","k","JSON","parse","stringify","_onFilterDismiss","key","filterValue","keyFilter","isArray","newKeyfilter","filter","item","_filterData","result","label","resultLabel","resultValue","_getFilterKeyText","_getNumericalFilterValueText","selector","separatorText","NUMERICAL_SELECTORS_TEXT","start","end","_getDateFilterValueText","startDateText","_formatDateFilterText","endDateText","DATE_SELECTORS_TEXT","dateText","dateString","filterType","date","Date","options","dateStyle","timeStyle","newDate","Intl","DateTimeFormat","undefined","format","_getGenericFilterValueText","dismissTagText","_getMultiSelectFilterData","map","setComponentTemplate","precompileTemplate","strictMode","scope","hdsT","HdsLayoutFlex","HdsButton","on","hash","HdsFilterBarFiltersDropdown","HdsFormTextInputBase","HdsYield","HdsFilterBarActionsDropdown","HdsSeparator","HdsFilterBarAppliedFilters","HdsTextBody"],"mappings":"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"}
@@ -11,7 +11,7 @@ import { setComponentTemplate } from '@ember/component';
11
11
  import { g, i } from 'decorator-transforms/runtime';
12
12
 
13
13
  /**
14
- * Copyright (c) HashiCorp, Inc.
14
+ * Copyright IBM Corp. 2021, 2026
15
15
  * SPDX-License-Identifier: MPL-2.0
16
16
  */
17
17
  class HdsFilterBarTabs extends Component {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/hds/filter-bar/tabs/index.gts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { schedule } from '@ember/runloop';\nimport { modifier } from 'ember-modifier';\nimport { hash } from '@ember/helper';\n\nimport type { WithBoundArgs } from '@glint/template';\n\nimport hdsT from '../../../../helpers/hds-t.ts';\nimport HdsFilterBarTabsTab from './tab.gts';\nimport HdsFilterBarTabsPanel from './panel.gts';\n\nexport interface HdsFilterBarTabsSignature {\n Args: {\n selectedTabIndex?: number;\n };\n Blocks: {\n default: [\n {\n Tab?: WithBoundArgs<\n typeof HdsFilterBarTabsTab,\n | 'selectedTabIndex'\n | 'tabIds'\n | 'panelIds'\n | 'didInsertNode'\n | 'willDestroyNode'\n | 'onClick'\n | 'onKeydown'\n >;\n Panel?: WithBoundArgs<\n typeof HdsFilterBarTabsPanel,\n | 'selectedTabIndex'\n | 'tabIds'\n | 'panelIds'\n | 'didInsertNode'\n | 'willDestroyNode'\n >;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsFilterBarTabs extends Component<HdsFilterBarTabsSignature> {\n @tracked private _tabIds: string[] = [];\n @tracked private _tabNodes: HTMLElement[] = [];\n @tracked private _panelNodes: HTMLElement[] = [];\n @tracked private _panelIds: string[] = [];\n @tracked private _selectedTabIndex: number = 0;\n\n private _element!: HTMLDivElement;\n\n private _setUpFilterBarTabs = modifier((element: HTMLDivElement) => {\n const { selectedTabIndex } = this.args;\n\n if (selectedTabIndex) {\n this._selectedTabIndex = selectedTabIndex;\n }\n\n this._element = element;\n });\n\n didInsertTab = (element: HTMLElement, tabId: string): void => {\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this._tabIds = [...this._tabIds, tabId];\n this._tabNodes = [...this._tabNodes, element];\n });\n };\n\n willDestroyTab = (element: HTMLElement): void => {\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this._tabNodes = this._tabNodes.filter(\n (node): boolean => node.id !== element.id\n );\n this._tabIds = this._tabIds.filter(\n (tabId): boolean => tabId !== element.id\n );\n });\n };\n\n didInsertPanel = (element: HTMLElement, panelId: string): void => {\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this._panelIds = [...this._panelIds, panelId];\n this._panelNodes = [...this._panelNodes, element];\n });\n };\n\n willDestroyPanel = (element: HTMLElement): void => {\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this._panelNodes = this._panelNodes.filter(\n (node): boolean => node.id !== element.id\n );\n this._panelIds = this._panelIds.filter(\n (panelId): boolean => panelId !== element.id\n );\n });\n };\n\n onClick = (event: MouseEvent, tabIndex: number): void => {\n this._selectedTabIndex = tabIndex;\n };\n\n onKeydown = (event: KeyboardEvent, tabIndex: number): void => {\n const leftArrow = 'ArrowLeft';\n const rightArrow = 'ArrowRight';\n const upArrow = 'ArrowUp';\n const downArrow = 'ArrowDown';\n const enterKey = 'Enter';\n const spaceKey = ' ';\n const tabKey = 'Tab';\n\n if (event.key !== tabKey) {\n event.preventDefault();\n }\n\n if (event.key === rightArrow || event.key === downArrow) {\n const nextTabIndex = (tabIndex + 1) % this._tabIds.length;\n this._focusTab(nextTabIndex, event);\n } else if (event.key === leftArrow || event.key === upArrow) {\n const prevTabIndex =\n (tabIndex + this._tabIds.length - 1) % this._tabIds.length;\n this._focusTab(prevTabIndex, event);\n } else if (event.key === enterKey || event.key === spaceKey) {\n this._selectedTabIndex = tabIndex;\n }\n // scroll selected tab into view (it may be out of view when activated using a keyboard with `prev/next`)\n const parentNode = this._tabNodes[this._selectedTabIndex]?.parentNode;\n if (parentNode instanceof HTMLElement) {\n parentNode.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'nearest',\n });\n }\n };\n\n // Focus tab for keyboard & mouse navigation:\n private _focusTab = (tabIndex: number, event: KeyboardEvent): void => {\n event.preventDefault();\n this._tabNodes[tabIndex]?.focus();\n };\n\n <template>\n <div\n class=\"hds-filter-bar__tabs\"\n ...attributes\n {{this._setUpFilterBarTabs}}\n >\n <ol\n class=\"hds-filter-bar__tabs__list\"\n aria-label={{hdsT\n \"hds.components.filter-bar.tabs.aria-label\"\n default=\"Filter bar tabs\"\n }}\n role=\"tablist\"\n >\n {{yield\n (hash\n Tab=(component\n HdsFilterBarTabsTab\n selectedTabIndex=this._selectedTabIndex\n tabIds=this._tabIds\n panelIds=this._panelIds\n didInsertNode=this.didInsertTab\n willDestroyNode=this.willDestroyTab\n onClick=this.onClick\n onKeydown=this.onKeydown\n )\n )\n }}\n </ol>\n {{yield\n (hash\n Panel=(component\n HdsFilterBarTabsPanel\n selectedTabIndex=this._selectedTabIndex\n tabIds=this._tabIds\n panelIds=this._panelIds\n didInsertNode=this.didInsertPanel\n willDestroyNode=this.willDestroyPanel\n )\n )\n }}\n </div>\n </template>\n}\n"],"names":["HdsFilterBarTabs","Component","g","prototype","tracked","i","_element","_setUpFilterBarTabs","modifier","element","selectedTabIndex","args","_selectedTabIndex","didInsertTab","tabId","schedule","_tabIds","_tabNodes","willDestroyTab","filter","node","id","didInsertPanel","panelId","_panelIds","_panelNodes","willDestroyPanel","onClick","event","tabIndex","onKeydown","leftArrow","rightArrow","upArrow","downArrow","enterKey","spaceKey","tabKey","key","preventDefault","nextTabIndex","length","_focusTab","prevTabIndex","parentNode","HTMLElement","scrollIntoView","behavior","block","inline","focus","setComponentTemplate","precompileTemplate","strictMode","scope","hdsT","hash","HdsFilterBarTabsTab","HdsFilterBarTabsPanel"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/hds/filter-bar/tabs/index.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { schedule } from '@ember/runloop';\nimport { modifier } from 'ember-modifier';\nimport { hash } from '@ember/helper';\n\nimport type { WithBoundArgs } from '@glint/template';\n\nimport hdsT from '../../../../helpers/hds-t.ts';\nimport HdsFilterBarTabsTab from './tab.gts';\nimport HdsFilterBarTabsPanel from './panel.gts';\n\nexport interface HdsFilterBarTabsSignature {\n Args: {\n selectedTabIndex?: number;\n };\n Blocks: {\n default: [\n {\n Tab?: WithBoundArgs<\n typeof HdsFilterBarTabsTab,\n | 'selectedTabIndex'\n | 'tabIds'\n | 'panelIds'\n | 'didInsertNode'\n | 'willDestroyNode'\n | 'onClick'\n | 'onKeydown'\n >;\n Panel?: WithBoundArgs<\n typeof HdsFilterBarTabsPanel,\n | 'selectedTabIndex'\n | 'tabIds'\n | 'panelIds'\n | 'didInsertNode'\n | 'willDestroyNode'\n >;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsFilterBarTabs extends Component<HdsFilterBarTabsSignature> {\n @tracked private _tabIds: string[] = [];\n @tracked private _tabNodes: HTMLElement[] = [];\n @tracked private _panelNodes: HTMLElement[] = [];\n @tracked private _panelIds: string[] = [];\n @tracked private _selectedTabIndex: number = 0;\n\n private _element!: HTMLDivElement;\n\n private _setUpFilterBarTabs = modifier((element: HTMLDivElement) => {\n const { selectedTabIndex } = this.args;\n\n if (selectedTabIndex) {\n this._selectedTabIndex = selectedTabIndex;\n }\n\n this._element = element;\n });\n\n didInsertTab = (element: HTMLElement, tabId: string): void => {\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this._tabIds = [...this._tabIds, tabId];\n this._tabNodes = [...this._tabNodes, element];\n });\n };\n\n willDestroyTab = (element: HTMLElement): void => {\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this._tabNodes = this._tabNodes.filter(\n (node): boolean => node.id !== element.id\n );\n this._tabIds = this._tabIds.filter(\n (tabId): boolean => tabId !== element.id\n );\n });\n };\n\n didInsertPanel = (element: HTMLElement, panelId: string): void => {\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this._panelIds = [...this._panelIds, panelId];\n this._panelNodes = [...this._panelNodes, element];\n });\n };\n\n willDestroyPanel = (element: HTMLElement): void => {\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this._panelNodes = this._panelNodes.filter(\n (node): boolean => node.id !== element.id\n );\n this._panelIds = this._panelIds.filter(\n (panelId): boolean => panelId !== element.id\n );\n });\n };\n\n onClick = (event: MouseEvent, tabIndex: number): void => {\n this._selectedTabIndex = tabIndex;\n };\n\n onKeydown = (event: KeyboardEvent, tabIndex: number): void => {\n const leftArrow = 'ArrowLeft';\n const rightArrow = 'ArrowRight';\n const upArrow = 'ArrowUp';\n const downArrow = 'ArrowDown';\n const enterKey = 'Enter';\n const spaceKey = ' ';\n const tabKey = 'Tab';\n\n if (event.key !== tabKey) {\n event.preventDefault();\n }\n\n if (event.key === rightArrow || event.key === downArrow) {\n const nextTabIndex = (tabIndex + 1) % this._tabIds.length;\n this._focusTab(nextTabIndex, event);\n } else if (event.key === leftArrow || event.key === upArrow) {\n const prevTabIndex =\n (tabIndex + this._tabIds.length - 1) % this._tabIds.length;\n this._focusTab(prevTabIndex, event);\n } else if (event.key === enterKey || event.key === spaceKey) {\n this._selectedTabIndex = tabIndex;\n }\n // scroll selected tab into view (it may be out of view when activated using a keyboard with `prev/next`)\n const parentNode = this._tabNodes[this._selectedTabIndex]?.parentNode;\n if (parentNode instanceof HTMLElement) {\n parentNode.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'nearest',\n });\n }\n };\n\n // Focus tab for keyboard & mouse navigation:\n private _focusTab = (tabIndex: number, event: KeyboardEvent): void => {\n event.preventDefault();\n this._tabNodes[tabIndex]?.focus();\n };\n\n <template>\n <div\n class=\"hds-filter-bar__tabs\"\n ...attributes\n {{this._setUpFilterBarTabs}}\n >\n <ol\n class=\"hds-filter-bar__tabs__list\"\n aria-label={{hdsT\n \"hds.components.filter-bar.tabs.aria-label\"\n default=\"Filter bar tabs\"\n }}\n role=\"tablist\"\n >\n {{yield\n (hash\n Tab=(component\n HdsFilterBarTabsTab\n selectedTabIndex=this._selectedTabIndex\n tabIds=this._tabIds\n panelIds=this._panelIds\n didInsertNode=this.didInsertTab\n willDestroyNode=this.willDestroyTab\n onClick=this.onClick\n onKeydown=this.onKeydown\n )\n )\n }}\n </ol>\n {{yield\n (hash\n Panel=(component\n HdsFilterBarTabsPanel\n selectedTabIndex=this._selectedTabIndex\n tabIds=this._tabIds\n panelIds=this._panelIds\n didInsertNode=this.didInsertPanel\n willDestroyNode=this.willDestroyPanel\n )\n )\n }}\n </div>\n </template>\n}\n"],"names":["HdsFilterBarTabs","Component","g","prototype","tracked","i","_element","_setUpFilterBarTabs","modifier","element","selectedTabIndex","args","_selectedTabIndex","didInsertTab","tabId","schedule","_tabIds","_tabNodes","willDestroyTab","filter","node","id","didInsertPanel","panelId","_panelIds","_panelNodes","willDestroyPanel","onClick","event","tabIndex","onKeydown","leftArrow","rightArrow","upArrow","downArrow","enterKey","spaceKey","tabKey","key","preventDefault","nextTabIndex","length","_focusTab","prevTabIndex","parentNode","HTMLElement","scrollIntoView","behavior","block","inline","focus","setComponentTemplate","precompileTemplate","strictMode","scope","hdsT","hash","HdsFilterBarTabsTab","HdsFilterBarTabsPanel"],"mappings":"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"}
@@ -6,7 +6,7 @@ import { precompileTemplate } from '@ember/template-compilation';
6
6
  import { setComponentTemplate } from '@ember/component';
7
7
 
8
8
  /**
9
- * Copyright (c) HashiCorp, Inc.
9
+ * Copyright IBM Corp. 2021, 2026
10
10
  * SPDX-License-Identifier: MPL-2.0
11
11
  */
12
12
  class HdsFilterBarTabsPanel extends Component {
@@ -1 +1 @@
1
- {"version":3,"file":"panel.js","sources":["../../../../../src/components/hds/filter-bar/tabs/panel.gts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { modifier, type PositionalArgs } from 'ember-modifier';\nimport { not } from 'ember-truth-helpers';\n\nexport interface HdsFilterBarTabsPanelModifierSignature {\n Args: {\n insertCallbackFunction?: (element: HTMLElement) => void;\n destroyCallbackFunction?: (element: HTMLElement) => void;\n };\n Element: HTMLElement;\n}\n\nexport interface HdsFilterBarTabsPanelSignature {\n Args: {\n selectedTabIndex?: number;\n tabIds?: string[];\n panelIds?: string[];\n didInsertNode?: (element: HTMLElement, panelId: string) => void;\n willDestroyNode?: (element: HTMLElement) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLElement;\n}\n\nexport default class HdsFilterBarTabsPanel extends Component<HdsFilterBarTabsPanelSignature> {\n private _panelId = 'panel-' + guidFor(this);\n\n private _setUpPanel = modifier(\n (\n element: HTMLElement,\n positional: PositionalArgs<HdsFilterBarTabsPanelModifierSignature>,\n named: HdsFilterBarTabsPanelModifierSignature['Args']\n ) => {\n if (typeof named.insertCallbackFunction === 'function') {\n named.insertCallbackFunction(element);\n }\n\n return () => {\n if (typeof named.destroyCallbackFunction === 'function') {\n named.destroyCallbackFunction(element);\n }\n };\n }\n );\n\n get nodeIndex(): number | undefined {\n return this.args.panelIds?.indexOf(this._panelId);\n }\n\n get coupledTabId(): string | undefined {\n return this.nodeIndex !== undefined\n ? this.args.tabIds?.[this.nodeIndex]\n : undefined;\n }\n\n get isVisible(): boolean {\n return this.nodeIndex === this.args.selectedTabIndex;\n }\n\n didInsertNode = (element: HTMLElement): void => {\n const { didInsertNode } = this.args;\n\n if (typeof didInsertNode === 'function') {\n didInsertNode(element, this._panelId);\n }\n };\n\n willDestroyNode = (element: HTMLElement): void => {\n const { willDestroyNode } = this.args;\n\n if (typeof willDestroyNode === 'function') {\n willDestroyNode(element);\n }\n };\n\n <template>\n <section\n class=\"hds-filter-bar__tabs__panel\"\n ...attributes\n role=\"tabpanel\"\n id={{this._panelId}}\n hidden={{not this.isVisible}}\n aria-labelledby={{this.coupledTabId}}\n {{this._setUpPanel\n insertCallbackFunction=this.didInsertNode\n destroyCallbackFunction=this.willDestroyNode\n }}\n >\n {{#if this.isVisible}}\n {{yield}}\n {{/if}}\n </section>\n </template>\n}\n"],"names":["HdsFilterBarTabsPanel","Component","_panelId","guidFor","_setUpPanel","modifier","element","positional","named","insertCallbackFunction","destroyCallbackFunction","nodeIndex","args","panelIds","indexOf","coupledTabId","undefined","tabIds","isVisible","selectedTabIndex","didInsertNode","willDestroyNode","setComponentTemplate","precompileTemplate","strictMode","scope","not"],"mappings":";;;;;;;AAAA;;;AAGC;AA6Bc,MAAMA,8BAA8BC,SAAA,CAAU;AACnDC,EAAAA,QAAA,GAAW,QAAA,GAAWC,OAAA,CAAQ,IAAI,CAAA;EAElCC,WAAA,GAAcC,SACpB,CACEC,SACAC,UAA2B,EAC3BC,KAA8C,KAAA;AAE9C,IAAA,IAAI,OAAOA,KAAA,CAAMC,sBAAsB,KAAK,UAAA,EAAY;AACtDD,MAAAA,KAAA,CAAMC,sBAAsB,CAACH,OAAA,CAAA;AAC/B,IAAA;AAEA,IAAA,OAAO,MAAA;AACL,MAAA,IAAI,OAAOE,KAAA,CAAME,uBAAuB,KAAK,UAAA,EAAY;AACvDF,QAAAA,KAAA,CAAME,uBAAuB,CAACJ,OAAA,CAAA;AAChC,MAAA;IACF,CAAA;AACF,EAAA,CAAA,CAAA;EAGF,IAAIK,SAAAA,GAAgC;IAClC,OAAO,IAAI,CAACC,IAAI,CAACC,QAAQ,EAAEC,OAAA,CAAQ,IAAI,CAACZ,QAAQ,CAAA;AAClD,EAAA;EAEA,IAAIa,YAAAA,GAAmC;AACrC,IAAA,OAAO,IAAI,CAACJ,SAAS,KAAKK,SAAA,GACtB,IAAI,CAACJ,IAAI,CAACK,MAAM,GAAG,IAAI,CAACN,SAAS,CAAC,GAClCK,SAAA;AACN,EAAA;EAEA,IAAIE,SAAAA,GAAqB;IACvB,OAAO,IAAI,CAACP,SAAS,KAAK,IAAI,CAACC,IAAI,CAACO,gBAAgB;AACtD,EAAA;EAEAC,aAAA,GAAiBd,OAAS,IAAkB;IAC1C,MAAM;AAAEc,MAAAA;KAAe,GAAG,IAAI,CAACR,IAAI;AAEnC,IAAA,IAAI,OAAOQ,kBAAkB,UAAA,EAAY;AACvCA,MAAAA,aAAA,CAAcd,OAAA,EAAS,IAAI,CAACJ,QAAQ,CAAA;AACtC,IAAA;EACF,CAAA;EAEAmB,eAAA,GAAmBf,OAAS,IAAkB;IAC5C,MAAM;AAAEe,MAAAA;KAAiB,GAAG,IAAI,CAACT,IAAI;AAErC,IAAA,IAAI,OAAOS,oBAAoB,UAAA,EAAY;MACzCA,eAAA,CAAgBf,OAAA,CAAA;AAClB,IAAA;EACF,CAAA;AAEA,EAAA;IAAAgB,oBAAA,CAAAC,kBAAA,CAAA,sVAAA,EAiBA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"panel.js","sources":["../../../../../src/components/hds/filter-bar/tabs/panel.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { modifier, type PositionalArgs } from 'ember-modifier';\nimport { not } from 'ember-truth-helpers';\n\nexport interface HdsFilterBarTabsPanelModifierSignature {\n Args: {\n insertCallbackFunction?: (element: HTMLElement) => void;\n destroyCallbackFunction?: (element: HTMLElement) => void;\n };\n Element: HTMLElement;\n}\n\nexport interface HdsFilterBarTabsPanelSignature {\n Args: {\n selectedTabIndex?: number;\n tabIds?: string[];\n panelIds?: string[];\n didInsertNode?: (element: HTMLElement, panelId: string) => void;\n willDestroyNode?: (element: HTMLElement) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLElement;\n}\n\nexport default class HdsFilterBarTabsPanel extends Component<HdsFilterBarTabsPanelSignature> {\n private _panelId = 'panel-' + guidFor(this);\n\n private _setUpPanel = modifier(\n (\n element: HTMLElement,\n positional: PositionalArgs<HdsFilterBarTabsPanelModifierSignature>,\n named: HdsFilterBarTabsPanelModifierSignature['Args']\n ) => {\n if (typeof named.insertCallbackFunction === 'function') {\n named.insertCallbackFunction(element);\n }\n\n return () => {\n if (typeof named.destroyCallbackFunction === 'function') {\n named.destroyCallbackFunction(element);\n }\n };\n }\n );\n\n get nodeIndex(): number | undefined {\n return this.args.panelIds?.indexOf(this._panelId);\n }\n\n get coupledTabId(): string | undefined {\n return this.nodeIndex !== undefined\n ? this.args.tabIds?.[this.nodeIndex]\n : undefined;\n }\n\n get isVisible(): boolean {\n return this.nodeIndex === this.args.selectedTabIndex;\n }\n\n didInsertNode = (element: HTMLElement): void => {\n const { didInsertNode } = this.args;\n\n if (typeof didInsertNode === 'function') {\n didInsertNode(element, this._panelId);\n }\n };\n\n willDestroyNode = (element: HTMLElement): void => {\n const { willDestroyNode } = this.args;\n\n if (typeof willDestroyNode === 'function') {\n willDestroyNode(element);\n }\n };\n\n <template>\n <section\n class=\"hds-filter-bar__tabs__panel\"\n ...attributes\n role=\"tabpanel\"\n id={{this._panelId}}\n hidden={{not this.isVisible}}\n aria-labelledby={{this.coupledTabId}}\n {{this._setUpPanel\n insertCallbackFunction=this.didInsertNode\n destroyCallbackFunction=this.willDestroyNode\n }}\n >\n {{#if this.isVisible}}\n {{yield}}\n {{/if}}\n </section>\n </template>\n}\n"],"names":["HdsFilterBarTabsPanel","Component","_panelId","guidFor","_setUpPanel","modifier","element","positional","named","insertCallbackFunction","destroyCallbackFunction","nodeIndex","args","panelIds","indexOf","coupledTabId","undefined","tabIds","isVisible","selectedTabIndex","didInsertNode","willDestroyNode","setComponentTemplate","precompileTemplate","strictMode","scope","not"],"mappings":";;;;;;;AAAA;;;AAGC;AA6Bc,MAAMA,8BAA8BC,SAAA,CAAU;AACnDC,EAAAA,QAAA,GAAW,QAAA,GAAWC,OAAA,CAAQ,IAAI,CAAA;EAElCC,WAAA,GAAcC,SACpB,CACEC,SACAC,UAA2B,EAC3BC,KAA8C,KAAA;AAE9C,IAAA,IAAI,OAAOA,KAAA,CAAMC,sBAAsB,KAAK,UAAA,EAAY;AACtDD,MAAAA,KAAA,CAAMC,sBAAsB,CAACH,OAAA,CAAA;AAC/B,IAAA;AAEA,IAAA,OAAO,MAAA;AACL,MAAA,IAAI,OAAOE,KAAA,CAAME,uBAAuB,KAAK,UAAA,EAAY;AACvDF,QAAAA,KAAA,CAAME,uBAAuB,CAACJ,OAAA,CAAA;AAChC,MAAA;IACF,CAAA;AACF,EAAA,CAAA,CAAA;EAGF,IAAIK,SAAAA,GAAgC;IAClC,OAAO,IAAI,CAACC,IAAI,CAACC,QAAQ,EAAEC,OAAA,CAAQ,IAAI,CAACZ,QAAQ,CAAA;AAClD,EAAA;EAEA,IAAIa,YAAAA,GAAmC;AACrC,IAAA,OAAO,IAAI,CAACJ,SAAS,KAAKK,SAAA,GACtB,IAAI,CAACJ,IAAI,CAACK,MAAM,GAAG,IAAI,CAACN,SAAS,CAAC,GAClCK,SAAA;AACN,EAAA;EAEA,IAAIE,SAAAA,GAAqB;IACvB,OAAO,IAAI,CAACP,SAAS,KAAK,IAAI,CAACC,IAAI,CAACO,gBAAgB;AACtD,EAAA;EAEAC,aAAA,GAAiBd,OAAS,IAAkB;IAC1C,MAAM;AAAEc,MAAAA;KAAe,GAAG,IAAI,CAACR,IAAI;AAEnC,IAAA,IAAI,OAAOQ,kBAAkB,UAAA,EAAY;AACvCA,MAAAA,aAAA,CAAcd,OAAA,EAAS,IAAI,CAACJ,QAAQ,CAAA;AACtC,IAAA;EACF,CAAA;EAEAmB,eAAA,GAAmBf,OAAS,IAAkB;IAC5C,MAAM;AAAEe,MAAAA;KAAiB,GAAG,IAAI,CAACT,IAAI;AAErC,IAAA,IAAI,OAAOS,oBAAoB,UAAA,EAAY;MACzCA,eAAA,CAAgBf,OAAA,CAAA;AAClB,IAAA;EACF,CAAA;AAEA,EAAA;IAAAgB,oBAAA,CAAAC,kBAAA,CAAA,sVAAA,EAiBA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -10,7 +10,7 @@ import { precompileTemplate } from '@ember/template-compilation';
10
10
  import { setComponentTemplate } from '@ember/component';
11
11
 
12
12
  /**
13
- * Copyright (c) HashiCorp, Inc.
13
+ * Copyright IBM Corp. 2021, 2026
14
14
  * SPDX-License-Identifier: MPL-2.0
15
15
  */
16
16
  class HdsFilterBarTabsTab extends Component {
@@ -1 +1 @@
1
- {"version":3,"file":"tab.js","sources":["../../../../../src/components/hds/filter-bar/tabs/tab.gts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { modifier, type PositionalArgs } from 'ember-modifier';\nimport { on } from '@ember/modifier';\nimport { gt } from 'ember-truth-helpers';\n\nimport hdsT from '../../../../helpers/hds-t.ts';\nimport HdsTextBody from '../../text/body.gts';\nimport HdsIcon from '../../icon/index.gts';\n\nexport interface HdsFilterBarTabsTabModifierSignature {\n Args: {\n insertCallbackFunction?: (element: HTMLButtonElement) => void;\n destroyCallbackFunction?: (element: HTMLButtonElement) => void;\n };\n Element: HTMLButtonElement;\n}\n\nexport interface HdsFilterBarTabsTabSignature {\n Args: {\n selectedTabIndex?: number;\n tabIds?: string[];\n panelIds?: string[];\n numFilters?: number;\n didInsertNode?: (element: HTMLElement, tabId: string) => void;\n willDestroyNode?: (element: HTMLButtonElement) => void;\n onClick?: (event: MouseEvent, nodeIndex: number) => void;\n onKeydown?: (event: KeyboardEvent, nodeIndex: number) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLLIElement;\n}\n\nexport default class HdsFilterBarTabsTab extends Component<HdsFilterBarTabsTabSignature> {\n private _tabId = 'tab-' + guidFor(this);\n\n private _setUpTab = modifier(\n (\n element: HTMLButtonElement,\n positional: PositionalArgs<HdsFilterBarTabsTabModifierSignature>,\n named: HdsFilterBarTabsTabModifierSignature['Args']\n ) => {\n if (typeof named.insertCallbackFunction === 'function') {\n named.insertCallbackFunction(element);\n }\n\n return () => {\n if (typeof named.destroyCallbackFunction === 'function') {\n named.destroyCallbackFunction(element);\n }\n };\n }\n );\n\n get nodeIndex(): number | undefined {\n return this.args.tabIds?.indexOf(this._tabId);\n }\n\n get coupledPanelId(): string | undefined {\n return this.nodeIndex !== undefined\n ? this.args.panelIds?.[this.nodeIndex]\n : undefined;\n }\n\n get isSelected(): boolean {\n return (\n this.nodeIndex !== undefined &&\n this.nodeIndex === this.args.selectedTabIndex\n );\n }\n\n didInsertNode = (element: HTMLButtonElement): void => {\n const { didInsertNode } = this.args;\n\n if (typeof didInsertNode === 'function') {\n didInsertNode(element, this._tabId);\n }\n };\n\n willDestroyNode = (element: HTMLButtonElement): void => {\n const { willDestroyNode } = this.args;\n\n if (typeof willDestroyNode === 'function') {\n willDestroyNode(element);\n }\n };\n\n onClick = (event: MouseEvent): void => {\n const { onClick } = this.args;\n\n if (this.nodeIndex !== undefined && typeof onClick === 'function') {\n onClick(event, this.nodeIndex);\n }\n };\n\n onKeydown = (event: KeyboardEvent): void => {\n const { onKeydown } = this.args;\n\n if (this.nodeIndex !== undefined && typeof onKeydown === 'function') {\n onKeydown(event, this.nodeIndex);\n }\n };\n\n get classNames(): string {\n const classes = ['hds-filter-bar__tabs__tab'];\n\n if (this.isSelected) {\n classes.push(`hds-filter-bar__tabs__tab--is-selected`);\n }\n\n return classes.join(' ');\n }\n\n <template>\n {{! template-lint-disable require-context-role no-invalid-role }}\n {{! template-lint-disable require-presentational-children }}\n <li class={{this.classNames}} ...attributes role=\"presentation\">\n <button\n class=\"hds-filter-bar__tabs__tab__button\"\n id={{this._tabId}}\n type=\"button\"\n role=\"tab\"\n aria-controls={{this.coupledPanelId}}\n aria-selected={{if this.isSelected \"true\" \"false\"}}\n tabindex={{unless this.isSelected \"-1\"}}\n {{on \"click\" this.onClick}}\n {{on \"keydown\" this.onKeydown}}\n {{this._setUpTab\n insertCallbackFunction=this.didInsertNode\n destroyCallbackFunction=this.willDestroyNode\n }}\n >\n <HdsTextBody\n @size=\"200\"\n @weight=\"medium\"\n class=\"hds-filter-bar__tabs__tab__text\"\n >{{yield}}</HdsTextBody>\n {{#if (gt @numFilters 0)}}\n <span class=\"sr-only\">{{hdsT\n \"hds.components.filter-bar.tabs.tab.filters-applied\"\n default=\"Filters applied\"\n }}</span>\n <HdsTextBody\n @size=\"200\"\n @color=\"primary\"\n class=\"hds-filter-bar__tabs__tab__filter-count\"\n >\n {{@numFilters}}\n </HdsTextBody>\n {{/if}}\n <HdsIcon\n @name=\"chevron-right\"\n @color=\"primary\"\n class=\"hds-filter-bar__tabs__tab__icon\"\n />\n </button>\n </li>\n {{! template-lint-enable require-presentational-children }}\n {{! template-lint-enable require-context-role no-invalid-role }}\n </template>\n}\n"],"names":["HdsFilterBarTabsTab","Component","_tabId","guidFor","_setUpTab","modifier","element","positional","named","insertCallbackFunction","destroyCallbackFunction","nodeIndex","args","tabIds","indexOf","coupledPanelId","undefined","panelIds","isSelected","selectedTabIndex","didInsertNode","willDestroyNode","onClick","event","onKeydown","classNames","classes","push","join","setComponentTemplate","precompileTemplate","strictMode","scope","on","HdsTextBody","gt","hdsT","HdsIcon"],"mappings":";;;;;;;;;;;AAAA;;;AAGC;AAqCc,MAAMA,4BAA4BC,SAAA,CAAU;AACjDC,EAAAA,MAAA,GAAS,MAAA,GAASC,OAAA,CAAQ,IAAI,CAAA;EAE9BC,SAAA,GAAYC,SAClB,CACEC,SACAC,UAA2B,EAC3BC,KAA4C,KAAA;AAE5C,IAAA,IAAI,OAAOA,KAAA,CAAMC,sBAAsB,KAAK,UAAA,EAAY;AACtDD,MAAAA,KAAA,CAAMC,sBAAsB,CAACH,OAAA,CAAA;AAC/B,IAAA;AAEA,IAAA,OAAO,MAAA;AACL,MAAA,IAAI,OAAOE,KAAA,CAAME,uBAAuB,KAAK,UAAA,EAAY;AACvDF,QAAAA,KAAA,CAAME,uBAAuB,CAACJ,OAAA,CAAA;AAChC,MAAA;IACF,CAAA;AACF,EAAA,CAAA,CAAA;EAGF,IAAIK,SAAAA,GAAgC;IAClC,OAAO,IAAI,CAACC,IAAI,CAACC,MAAM,EAAEC,OAAA,CAAQ,IAAI,CAACZ,MAAM,CAAA;AAC9C,EAAA;EAEA,IAAIa,cAAAA,GAAqC;AACvC,IAAA,OAAO,IAAI,CAACJ,SAAS,KAAKK,SAAA,GACtB,IAAI,CAACJ,IAAI,CAACK,QAAQ,GAAG,IAAI,CAACN,SAAS,CAAC,GACpCK,SAAA;AACN,EAAA;EAEA,IAAIE,UAAAA,GAAsB;AACxB,IAAA,OACE,IAAI,CAACP,SAAS,KAAKK,SAAA,IACnB,IAAI,CAACL,SAAS,KAAK,IAAI,CAACC,IAAI,CAACO,gBAAgB;AAEjD,EAAA;EAEAC,aAAA,GAAiBd,OAAS,IAAwB;IAChD,MAAM;AAAEc,MAAAA;KAAe,GAAG,IAAI,CAACR,IAAI;AAEnC,IAAA,IAAI,OAAOQ,kBAAkB,UAAA,EAAY;AACvCA,MAAAA,aAAA,CAAcd,OAAA,EAAS,IAAI,CAACJ,MAAM,CAAA;AACpC,IAAA;EACF,CAAA;EAEAmB,eAAA,GAAmBf,OAAS,IAAwB;IAClD,MAAM;AAAEe,MAAAA;KAAiB,GAAG,IAAI,CAACT,IAAI;AAErC,IAAA,IAAI,OAAOS,oBAAoB,UAAA,EAAY;MACzCA,eAAA,CAAgBf,OAAA,CAAA;AAClB,IAAA;EACF,CAAA;EAEAgB,OAAA,GAAWC,KAAO,IAAiB;IACjC,MAAM;AAAED,MAAAA;KAAS,GAAG,IAAI,CAACV,IAAI;IAE7B,IAAI,IAAI,CAACD,SAAS,KAAKK,SAAA,IAAa,OAAOM,YAAY,UAAA,EAAY;AACjEA,MAAAA,OAAA,CAAQC,KAAA,EAAO,IAAI,CAACZ,SAAS,CAAA;AAC/B,IAAA;EACF,CAAA;EAEAa,SAAA,GAAaD,KAAO,IAAoB;IACtC,MAAM;AAAEC,MAAAA;KAAW,GAAG,IAAI,CAACZ,IAAI;IAE/B,IAAI,IAAI,CAACD,SAAS,KAAKK,SAAA,IAAa,OAAOQ,cAAc,UAAA,EAAY;AACnEA,MAAAA,SAAA,CAAUD,KAAA,EAAO,IAAI,CAACZ,SAAS,CAAA;AACjC,IAAA;EACF,CAAA;EAEA,IAAIc,UAAAA,GAAqB;AACvB,IAAA,MAAMC,OAAA,GAAU,CAAC,2BAAA,CAA4B;IAE7C,IAAI,IAAI,CAACR,UAAU,EAAE;AACnBQ,MAAAA,OAAA,CAAQC,IAAI,CAAC,CAAA,sCAAA,CAAwC,CAAA;AACvD,IAAA;AAEA,IAAA,OAAOD,OAAA,CAAQE,IAAI,CAAC,GAAA,CAAA;AACtB,EAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,oyCAAA,EA8CA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,EAAA;QAAAC,WAAA;QAAAC,EAAA;cAAAC,UAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"tab.js","sources":["../../../../../src/components/hds/filter-bar/tabs/tab.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { modifier, type PositionalArgs } from 'ember-modifier';\nimport { on } from '@ember/modifier';\nimport { gt } from 'ember-truth-helpers';\n\nimport hdsT from '../../../../helpers/hds-t.ts';\nimport HdsTextBody from '../../text/body.gts';\nimport HdsIcon from '../../icon/index.gts';\n\nexport interface HdsFilterBarTabsTabModifierSignature {\n Args: {\n insertCallbackFunction?: (element: HTMLButtonElement) => void;\n destroyCallbackFunction?: (element: HTMLButtonElement) => void;\n };\n Element: HTMLButtonElement;\n}\n\nexport interface HdsFilterBarTabsTabSignature {\n Args: {\n selectedTabIndex?: number;\n tabIds?: string[];\n panelIds?: string[];\n numFilters?: number;\n didInsertNode?: (element: HTMLElement, tabId: string) => void;\n willDestroyNode?: (element: HTMLButtonElement) => void;\n onClick?: (event: MouseEvent, nodeIndex: number) => void;\n onKeydown?: (event: KeyboardEvent, nodeIndex: number) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLLIElement;\n}\n\nexport default class HdsFilterBarTabsTab extends Component<HdsFilterBarTabsTabSignature> {\n private _tabId = 'tab-' + guidFor(this);\n\n private _setUpTab = modifier(\n (\n element: HTMLButtonElement,\n positional: PositionalArgs<HdsFilterBarTabsTabModifierSignature>,\n named: HdsFilterBarTabsTabModifierSignature['Args']\n ) => {\n if (typeof named.insertCallbackFunction === 'function') {\n named.insertCallbackFunction(element);\n }\n\n return () => {\n if (typeof named.destroyCallbackFunction === 'function') {\n named.destroyCallbackFunction(element);\n }\n };\n }\n );\n\n get nodeIndex(): number | undefined {\n return this.args.tabIds?.indexOf(this._tabId);\n }\n\n get coupledPanelId(): string | undefined {\n return this.nodeIndex !== undefined\n ? this.args.panelIds?.[this.nodeIndex]\n : undefined;\n }\n\n get isSelected(): boolean {\n return (\n this.nodeIndex !== undefined &&\n this.nodeIndex === this.args.selectedTabIndex\n );\n }\n\n didInsertNode = (element: HTMLButtonElement): void => {\n const { didInsertNode } = this.args;\n\n if (typeof didInsertNode === 'function') {\n didInsertNode(element, this._tabId);\n }\n };\n\n willDestroyNode = (element: HTMLButtonElement): void => {\n const { willDestroyNode } = this.args;\n\n if (typeof willDestroyNode === 'function') {\n willDestroyNode(element);\n }\n };\n\n onClick = (event: MouseEvent): void => {\n const { onClick } = this.args;\n\n if (this.nodeIndex !== undefined && typeof onClick === 'function') {\n onClick(event, this.nodeIndex);\n }\n };\n\n onKeydown = (event: KeyboardEvent): void => {\n const { onKeydown } = this.args;\n\n if (this.nodeIndex !== undefined && typeof onKeydown === 'function') {\n onKeydown(event, this.nodeIndex);\n }\n };\n\n get classNames(): string {\n const classes = ['hds-filter-bar__tabs__tab'];\n\n if (this.isSelected) {\n classes.push(`hds-filter-bar__tabs__tab--is-selected`);\n }\n\n return classes.join(' ');\n }\n\n <template>\n {{! template-lint-disable require-context-role no-invalid-role }}\n {{! template-lint-disable require-presentational-children }}\n <li class={{this.classNames}} ...attributes role=\"presentation\">\n <button\n class=\"hds-filter-bar__tabs__tab__button\"\n id={{this._tabId}}\n type=\"button\"\n role=\"tab\"\n aria-controls={{this.coupledPanelId}}\n aria-selected={{if this.isSelected \"true\" \"false\"}}\n tabindex={{unless this.isSelected \"-1\"}}\n {{on \"click\" this.onClick}}\n {{on \"keydown\" this.onKeydown}}\n {{this._setUpTab\n insertCallbackFunction=this.didInsertNode\n destroyCallbackFunction=this.willDestroyNode\n }}\n >\n <HdsTextBody\n @size=\"200\"\n @weight=\"medium\"\n class=\"hds-filter-bar__tabs__tab__text\"\n >{{yield}}</HdsTextBody>\n {{#if (gt @numFilters 0)}}\n <span class=\"sr-only\">{{hdsT\n \"hds.components.filter-bar.tabs.tab.filters-applied\"\n default=\"Filters applied\"\n }}</span>\n <HdsTextBody\n @size=\"200\"\n @color=\"primary\"\n class=\"hds-filter-bar__tabs__tab__filter-count\"\n >\n {{@numFilters}}\n </HdsTextBody>\n {{/if}}\n <HdsIcon\n @name=\"chevron-right\"\n @color=\"primary\"\n class=\"hds-filter-bar__tabs__tab__icon\"\n />\n </button>\n </li>\n {{! template-lint-enable require-presentational-children }}\n {{! template-lint-enable require-context-role no-invalid-role }}\n </template>\n}\n"],"names":["HdsFilterBarTabsTab","Component","_tabId","guidFor","_setUpTab","modifier","element","positional","named","insertCallbackFunction","destroyCallbackFunction","nodeIndex","args","tabIds","indexOf","coupledPanelId","undefined","panelIds","isSelected","selectedTabIndex","didInsertNode","willDestroyNode","onClick","event","onKeydown","classNames","classes","push","join","setComponentTemplate","precompileTemplate","strictMode","scope","on","HdsTextBody","gt","hdsT","HdsIcon"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) HashiCorp, Inc.
2
+ * Copyright IBM Corp. 2021, 2026
3
3
  * SPDX-License-Identifier: MPL-2.0
4
4
  */
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../src/components/hds/filter-bar/types.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nexport enum HdsFilterBarFilterTypeValues {\n multiSelect = 'multi-select',\n singleSelect = 'single-select',\n numerical = 'numerical',\n date = 'date',\n time = 'time',\n datetime = 'datetime',\n generic = 'generic',\n search = 'search',\n}\n\nexport type HdsFilterBarFilterType = `${HdsFilterBarFilterTypeValues}`;\n\nexport interface HdsFilterBarGenericFilterData {\n value: unknown;\n label?: string;\n dismissTagText?: string;\n}\n\nexport enum HdsFilterBarNumericalFilterSelectorValues {\n lessThan = 'less-than',\n lessThanOrEqualTo = 'less-than-or-equal-to',\n equalTo = 'equal-to',\n greaterThanOrEqualTo = 'greater-than-or-equal-to',\n greaterThan = 'greater-than',\n between = 'between',\n}\n\nexport type HdsFilterBarNumericalFilterSelector =\n `${HdsFilterBarNumericalFilterSelectorValues}`;\n\nexport type HdsFilterBarNumericalFilterValue =\n | number\n | { start?: number; end?: number };\n\nexport interface HdsFilterBarNumericalFilterData {\n selector: HdsFilterBarNumericalFilterSelector;\n value: HdsFilterBarNumericalFilterValue;\n}\n\nexport enum HdsFilterBarDateFilterSelectorValues {\n before = 'before',\n exactly = 'exactly',\n after = 'after',\n between = 'between',\n}\n\nexport type HdsFilterBarDateFilterSelector =\n `${HdsFilterBarDateFilterSelectorValues}`;\n\nexport type HdsFilterBarDateFilterValue =\n | string\n | { start?: string; end?: string };\n\nexport interface HdsFilterBarDateFilterData {\n selector: HdsFilterBarDateFilterSelector;\n value: HdsFilterBarDateFilterValue;\n}\n\nexport type HdsFilterBarData =\n | HdsFilterBarGenericFilterData[]\n | HdsFilterBarGenericFilterData\n | HdsFilterBarNumericalFilterData\n | HdsFilterBarDateFilterData;\n\nexport interface HdsFilterBarMultiSelectFilter {\n type: 'multi-select';\n text?: string;\n data: HdsFilterBarGenericFilterData[];\n}\n\nexport interface HdsFilterBarSingleSelectFilter {\n type: 'single-select';\n text?: string;\n data: HdsFilterBarGenericFilterData;\n}\n\nexport interface HdsFilterBarNumericalFilter {\n type: 'numerical';\n text?: string;\n data: HdsFilterBarNumericalFilterData;\n}\n\nexport interface HdsFilterBarDateFilter {\n type: 'date' | 'time' | 'datetime';\n text?: string;\n data: HdsFilterBarDateFilterData;\n}\n\nexport interface HdsFilterBarGenericFilter {\n type: 'generic';\n text?: string;\n dismissTagText?: string;\n data: HdsFilterBarGenericFilterData | HdsFilterBarGenericFilterData[];\n}\n\nexport interface HdsFilterBarSearchFilter {\n type: 'search';\n text?: string;\n data: HdsFilterBarGenericFilterData;\n}\n\nexport type HdsFilterBarFilter =\n | HdsFilterBarMultiSelectFilter\n | HdsFilterBarSingleSelectFilter\n | HdsFilterBarNumericalFilter\n | HdsFilterBarDateFilter\n | HdsFilterBarGenericFilter\n | HdsFilterBarSearchFilter;\n\nexport interface HdsFilterBarFilters {\n [name: string]: HdsFilterBarFilter;\n}\n\nexport enum HdsFilterBarFilterGroupDateTypeValues {\n date = 'date',\n time = 'time',\n datetime = 'datetime',\n}\n\nexport type HdsFilterBarFilterGroupDateType =\n `${HdsFilterBarFilterGroupDateTypeValues}`;\n"],"names":["HdsFilterBarFilterTypeValues","HdsFilterBarNumericalFilterSelectorValues","HdsFilterBarDateFilterSelectorValues","HdsFilterBarFilterGroupDateTypeValues"],"mappings":"AAAA;AACA;AACA;AACA;;AAEA,IAAYA,4BAA4B,0BAA5BA,4BAA4B,EAAA;EAA5BA,4BAA4B,CAAA,aAAA,CAAA,GAAA,cAAA;EAA5BA,4BAA4B,CAAA,cAAA,CAAA,GAAA,eAAA;EAA5BA,4BAA4B,CAAA,WAAA,CAAA,GAAA,WAAA;EAA5BA,4BAA4B,CAAA,MAAA,CAAA,GAAA,MAAA;EAA5BA,4BAA4B,CAAA,MAAA,CAAA,GAAA,MAAA;EAA5BA,4BAA4B,CAAA,UAAA,CAAA,GAAA,UAAA;EAA5BA,4BAA4B,CAAA,SAAA,CAAA,GAAA,SAAA;EAA5BA,4BAA4B,CAAA,QAAA,CAAA,GAAA,QAAA;AAAA,EAAA,OAA5BA,4BAA4B;AAAA,CAAA,CAAA,EAAA;AAmBxC,IAAYC,yCAAyC,0BAAzCA,yCAAyC,EAAA;EAAzCA,yCAAyC,CAAA,UAAA,CAAA,GAAA,WAAA;EAAzCA,yCAAyC,CAAA,mBAAA,CAAA,GAAA,uBAAA;EAAzCA,yCAAyC,CAAA,SAAA,CAAA,GAAA,UAAA;EAAzCA,yCAAyC,CAAA,sBAAA,CAAA,GAAA,0BAAA;EAAzCA,yCAAyC,CAAA,aAAA,CAAA,GAAA,cAAA;EAAzCA,yCAAyC,CAAA,SAAA,CAAA,GAAA,SAAA;AAAA,EAAA,OAAzCA,yCAAyC;AAAA,CAAA,CAAA,EAAA;AAqBrD,IAAYC,oCAAoC,0BAApCA,oCAAoC,EAAA;EAApCA,oCAAoC,CAAA,QAAA,CAAA,GAAA,QAAA;EAApCA,oCAAoC,CAAA,SAAA,CAAA,GAAA,SAAA;EAApCA,oCAAoC,CAAA,OAAA,CAAA,GAAA,OAAA;EAApCA,oCAAoC,CAAA,SAAA,CAAA,GAAA,SAAA;AAAA,EAAA,OAApCA,oCAAoC;AAAA,CAAA,CAAA,EAAA;AA0EhD,IAAYC,qCAAqC,0BAArCA,qCAAqC,EAAA;EAArCA,qCAAqC,CAAA,MAAA,CAAA,GAAA,MAAA;EAArCA,qCAAqC,CAAA,MAAA,CAAA,GAAA,MAAA;EAArCA,qCAAqC,CAAA,UAAA,CAAA,GAAA,UAAA;AAAA,EAAA,OAArCA,qCAAqC;AAAA,CAAA,CAAA,EAAA;;;;"}
1
+ {"version":3,"file":"types.js","sources":["../../../../src/components/hds/filter-bar/types.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nexport enum HdsFilterBarFilterTypeValues {\n multiSelect = 'multi-select',\n singleSelect = 'single-select',\n numerical = 'numerical',\n date = 'date',\n time = 'time',\n datetime = 'datetime',\n generic = 'generic',\n search = 'search',\n}\n\nexport type HdsFilterBarFilterType = `${HdsFilterBarFilterTypeValues}`;\n\nexport interface HdsFilterBarGenericFilterData {\n value: unknown;\n label?: string;\n dismissTagText?: string;\n}\n\nexport enum HdsFilterBarNumericalFilterSelectorValues {\n lessThan = 'less-than',\n lessThanOrEqualTo = 'less-than-or-equal-to',\n equalTo = 'equal-to',\n greaterThanOrEqualTo = 'greater-than-or-equal-to',\n greaterThan = 'greater-than',\n between = 'between',\n}\n\nexport type HdsFilterBarNumericalFilterSelector =\n `${HdsFilterBarNumericalFilterSelectorValues}`;\n\nexport type HdsFilterBarNumericalFilterValue =\n | number\n | { start?: number; end?: number };\n\nexport interface HdsFilterBarNumericalFilterData {\n selector: HdsFilterBarNumericalFilterSelector;\n value: HdsFilterBarNumericalFilterValue;\n}\n\nexport enum HdsFilterBarDateFilterSelectorValues {\n before = 'before',\n exactly = 'exactly',\n after = 'after',\n between = 'between',\n}\n\nexport type HdsFilterBarDateFilterSelector =\n `${HdsFilterBarDateFilterSelectorValues}`;\n\nexport type HdsFilterBarDateFilterValue =\n | string\n | { start?: string; end?: string };\n\nexport interface HdsFilterBarDateFilterData {\n selector: HdsFilterBarDateFilterSelector;\n value: HdsFilterBarDateFilterValue;\n}\n\nexport type HdsFilterBarData =\n | HdsFilterBarGenericFilterData[]\n | HdsFilterBarGenericFilterData\n | HdsFilterBarNumericalFilterData\n | HdsFilterBarDateFilterData;\n\nexport interface HdsFilterBarMultiSelectFilter {\n type: 'multi-select';\n text?: string;\n data: HdsFilterBarGenericFilterData[];\n}\n\nexport interface HdsFilterBarSingleSelectFilter {\n type: 'single-select';\n text?: string;\n data: HdsFilterBarGenericFilterData;\n}\n\nexport interface HdsFilterBarNumericalFilter {\n type: 'numerical';\n text?: string;\n data: HdsFilterBarNumericalFilterData;\n}\n\nexport interface HdsFilterBarDateFilter {\n type: 'date' | 'time' | 'datetime';\n text?: string;\n data: HdsFilterBarDateFilterData;\n}\n\nexport interface HdsFilterBarGenericFilter {\n type: 'generic';\n text?: string;\n dismissTagText?: string;\n data: HdsFilterBarGenericFilterData | HdsFilterBarGenericFilterData[];\n}\n\nexport interface HdsFilterBarSearchFilter {\n type: 'search';\n text?: string;\n data: HdsFilterBarGenericFilterData;\n}\n\nexport type HdsFilterBarFilter =\n | HdsFilterBarMultiSelectFilter\n | HdsFilterBarSingleSelectFilter\n | HdsFilterBarNumericalFilter\n | HdsFilterBarDateFilter\n | HdsFilterBarGenericFilter\n | HdsFilterBarSearchFilter;\n\nexport interface HdsFilterBarFilters {\n [name: string]: HdsFilterBarFilter;\n}\n\nexport enum HdsFilterBarFilterGroupDateTypeValues {\n date = 'date',\n time = 'time',\n datetime = 'datetime',\n}\n\nexport type HdsFilterBarFilterGroupDateType =\n `${HdsFilterBarFilterGroupDateTypeValues}`;\n"],"names":["HdsFilterBarFilterTypeValues","HdsFilterBarNumericalFilterSelectorValues","HdsFilterBarDateFilterSelectorValues","HdsFilterBarFilterGroupDateTypeValues"],"mappings":"AAAA;AACA;AACA;AACA;;AAEA,IAAYA,4BAA4B,0BAA5BA,4BAA4B,EAAA;EAA5BA,4BAA4B,CAAA,aAAA,CAAA,GAAA,cAAA;EAA5BA,4BAA4B,CAAA,cAAA,CAAA,GAAA,eAAA;EAA5BA,4BAA4B,CAAA,WAAA,CAAA,GAAA,WAAA;EAA5BA,4BAA4B,CAAA,MAAA,CAAA,GAAA,MAAA;EAA5BA,4BAA4B,CAAA,MAAA,CAAA,GAAA,MAAA;EAA5BA,4BAA4B,CAAA,UAAA,CAAA,GAAA,UAAA;EAA5BA,4BAA4B,CAAA,SAAA,CAAA,GAAA,SAAA;EAA5BA,4BAA4B,CAAA,QAAA,CAAA,GAAA,QAAA;AAAA,EAAA,OAA5BA,4BAA4B;AAAA,CAAA,CAAA,EAAA;AAmBxC,IAAYC,yCAAyC,0BAAzCA,yCAAyC,EAAA;EAAzCA,yCAAyC,CAAA,UAAA,CAAA,GAAA,WAAA;EAAzCA,yCAAyC,CAAA,mBAAA,CAAA,GAAA,uBAAA;EAAzCA,yCAAyC,CAAA,SAAA,CAAA,GAAA,UAAA;EAAzCA,yCAAyC,CAAA,sBAAA,CAAA,GAAA,0BAAA;EAAzCA,yCAAyC,CAAA,aAAA,CAAA,GAAA,cAAA;EAAzCA,yCAAyC,CAAA,SAAA,CAAA,GAAA,SAAA;AAAA,EAAA,OAAzCA,yCAAyC;AAAA,CAAA,CAAA,EAAA;AAqBrD,IAAYC,oCAAoC,0BAApCA,oCAAoC,EAAA;EAApCA,oCAAoC,CAAA,QAAA,CAAA,GAAA,QAAA;EAApCA,oCAAoC,CAAA,SAAA,CAAA,GAAA,SAAA;EAApCA,oCAAoC,CAAA,OAAA,CAAA,GAAA,OAAA;EAApCA,oCAAoC,CAAA,SAAA,CAAA,GAAA,SAAA;AAAA,EAAA,OAApCA,oCAAoC;AAAA,CAAA,CAAA,EAAA;AA0EhD,IAAYC,qCAAqC,0BAArCA,qCAAqC,EAAA;EAArCA,qCAAqC,CAAA,MAAA,CAAA,GAAA,MAAA;EAArCA,qCAAqC,CAAA,MAAA,CAAA,GAAA,MAAA;EAArCA,qCAAqC,CAAA,UAAA,CAAA,GAAA,UAAA;AAAA,EAAA,OAArCA,qCAAqC;AAAA,CAAA,CAAA,EAAA;;;;"}
@@ -18,7 +18,7 @@ import { setComponentTemplate } from '@ember/component';
18
18
  import { g, i } from 'decorator-transforms/runtime';
19
19
 
20
20
  /**
21
- * Copyright IBM Corp. 2021, 2025
21
+ * Copyright IBM Corp. 2021, 2026
22
22
  * SPDX-License-Identifier: MPL-2.0
23
23
  */
24
24
  const waiter = buildWaiter('@hashicorp/design-system-components:flyout');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/flyout/index.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { assert } from '@ember/debug';\nimport { buildWaiter } from '@ember/test-waiters';\nimport { modifier } from 'ember-modifier';\nimport { hash } from '@ember/helper';\n// @ts-expect-error: missing types https://github.com/josemarluedke/ember-focus-trap/issues/86\nimport focusTrap from 'ember-focus-trap/modifiers/focus-trap';\n\nimport type { WithBoundArgs } from '@glint/template';\n\nimport { HdsFlyoutSizesValues } from './types.ts';\nimport HdsDialogPrimitiveBody from '../dialog-primitive/body.gts';\nimport HdsDialogPrimitiveDescription from '../dialog-primitive/description.gts';\nimport HdsDialogPrimitiveFooter from '../dialog-primitive/footer.gts';\nimport HdsDialogPrimitiveHeader from '../dialog-primitive/header.gts';\nimport HdsDialogPrimitiveOverlay from '../dialog-primitive/overlay.gts';\nimport HdsDialogPrimitiveWrapper from '../dialog-primitive/wrapper.gts';\nimport { getElementId } from '../../../utils/hds-get-element-id.ts';\n\nimport type { HdsFlyoutSizes } from './types.ts';\n\nconst waiter = buildWaiter('@hashicorp/design-system-components:flyout');\n\nexport const DEFAULT_SIZE = HdsFlyoutSizesValues.Medium;\nexport const DEFAULT_HAS_OVERLAY = true;\nexport const SIZES: HdsFlyoutSizes[] = Object.values(HdsFlyoutSizesValues);\n\nexport interface HdsFlyoutSignature {\n Args: {\n size?: HdsFlyoutSizes;\n returnFocusTo?: string;\n onOpen?: () => void;\n onClose?: (event: Event) => void;\n };\n Blocks: {\n default: [\n {\n Header?: WithBoundArgs<\n typeof HdsDialogPrimitiveHeader,\n 'id' | 'onDismiss' | 'contextualClassPrefix'\n >;\n Description?: WithBoundArgs<\n typeof HdsDialogPrimitiveDescription,\n 'contextualClass'\n >;\n Body?: WithBoundArgs<typeof HdsDialogPrimitiveBody, 'contextualClass'>;\n Footer?: WithBoundArgs<\n typeof HdsDialogPrimitiveFooter,\n 'onDismiss' | 'contextualClass'\n >;\n },\n ];\n };\n Element: HTMLDialogElement;\n}\n\nexport default class HdsFlyout extends Component<HdsFlyoutSignature> {\n @tracked private _isOpen = false;\n // TODO: make this property private; currently blocked by our consumers relying on it despite not being part of the public API: https://github.com/hashicorp/cloud-ui/blob/main/engines/waypoint/addon/components/preview-pane.ts#L15\n // private _element!: HTMLDialogElement;\n _element!: HTMLDialogElement;\n private _body!: HTMLElement;\n private _bodyInitialOverflowValue = '';\n\n get size(): HdsFlyoutSizes {\n const { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Flyout\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n get id(): string {\n return getElementId(this);\n }\n\n get classNames(): string {\n const classes = ['hds-flyout'];\n\n // add a class based on the @size argument\n classes.push(`hds-flyout--size-${this.size}`);\n\n return classes.join(' ');\n }\n\n private _performCloseCleanup() {\n this._isOpen = false;\n\n // Reset page `overflow` property\n if (this._body) {\n this._body.style.removeProperty('overflow');\n if (this._bodyInitialOverflowValue === '') {\n if (this._body.style.length === 0) {\n this._body.removeAttribute('style');\n }\n } else {\n this._body.style.setProperty(\n 'overflow',\n this._bodyInitialOverflowValue\n );\n }\n }\n\n // Return focus to a specific element (if provided)\n if (this.args.returnFocusTo) {\n const initiator = document.getElementById(this.args.returnFocusTo);\n if (initiator) {\n initiator.focus();\n }\n }\n }\n\n private _registerDialog = modifier((element: HTMLDialogElement) => {\n // Store references of `<dialog>` and `<body>` elements\n this._element = element;\n this._body = document.body;\n\n if (this._body) {\n // Store the initial `overflow` value of `<body>` so we can reset to it\n this._bodyInitialOverflowValue =\n this._body.style.getPropertyValue('overflow');\n }\n\n // Register \"onClose\" callback function to be called when a native 'close' event is dispatched\n\n this._element.addEventListener('close', this.registerOnCloseCallback, true);\n\n // If the flyout dialog is not already open\n if (!this._element.open) {\n this.open();\n }\n\n return () => {\n // if the <dialog> is removed from the dom while open we emulate the close event\n if (this._isOpen) {\n this._performCloseCleanup();\n }\n\n this._element?.removeEventListener(\n 'close',\n\n this.registerOnCloseCallback,\n true\n );\n };\n });\n\n registerOnCloseCallback = (event: Event) => {\n if (this.args.onClose && typeof this.args.onClose === 'function') {\n this.args.onClose(event);\n }\n\n this._performCloseCleanup();\n };\n\n open = (): void => {\n // Make flyout dialog visible using the native `showModal` method\n this._element.showModal();\n this._isOpen = true;\n\n // Prevent page from scrolling when the dialog is open\n if (this._body) this._body.style.setProperty('overflow', 'hidden');\n\n // Call \"onOpen\" callback function\n if (this.args.onOpen && typeof this.args.onOpen === 'function') {\n this.args.onOpen();\n }\n };\n\n onDismiss = (): void => {\n // allow ember test helpers to be aware of when the `close` event fires\n // when using `click` or other helpers from '@ember/test-helpers'\n if (this._element.open) {\n const token = waiter.beginAsync();\n const listener = () => {\n waiter.endAsync(token);\n this._element.removeEventListener('close', listener);\n };\n this._element.addEventListener('close', listener);\n }\n\n // Make flyout dialog invisible using the native `close` method\n this._element.close();\n };\n\n <template>\n <HdsDialogPrimitiveWrapper\n class={{this.classNames}}\n ...attributes\n aria-labelledby={{this.id}}\n {{this._registerDialog}}\n {{focusTrap\n isActive=this._isOpen\n focusTrapOptions=(hash\n onDeactivate=this.onDismiss clickOutsideDeactivates=true\n )\n }}\n >\n <:header>\n {{yield\n (hash\n Header=(component\n HdsDialogPrimitiveHeader\n id=this.id\n onDismiss=this.onDismiss\n contextualClassPrefix=\"hds-flyout\"\n titleTag=\"h1\"\n )\n Description=(component\n HdsDialogPrimitiveDescription\n contextualClass=\"hds-flyout__description\"\n )\n )\n }}\n </:header>\n <:body>\n {{yield\n (hash\n Body=(component\n HdsDialogPrimitiveBody contextualClass=\"hds-flyout__body\"\n )\n )\n }}\n </:body>\n <:footer>\n {{yield\n (hash\n Footer=(component\n HdsDialogPrimitiveFooter\n onDismiss=this.onDismiss\n contextualClass=\"hds-flyout__footer\"\n )\n )\n }}\n </:footer>\n </HdsDialogPrimitiveWrapper>\n\n {{#if this._isOpen}}\n <HdsDialogPrimitiveOverlay @contextualClass=\"hds-flyout__overlay\" />\n {{/if}}\n </template>\n}\n"],"names":["waiter","buildWaiter","DEFAULT_SIZE","HdsFlyoutSizesValues","Medium","DEFAULT_HAS_OVERLAY","SIZES","Object","values","HdsFlyout","Component","g","prototype","tracked","i","_element","_body","_bodyInitialOverflowValue","size","args","assert","join","includes","id","getElementId","classNames","classes","push","_performCloseCleanup","_isOpen","style","removeProperty","length","removeAttribute","setProperty","returnFocusTo","initiator","document","getElementById","focus","_registerDialog","modifier","element","body","getPropertyValue","addEventListener","registerOnCloseCallback","open","removeEventListener","event","onClose","showModal","onOpen","onDismiss","token","beginAsync","listener","endAsync","close","setComponentTemplate","precompileTemplate","strictMode","scope","HdsDialogPrimitiveWrapper","focusTrap","hash","HdsDialogPrimitiveHeader","HdsDialogPrimitiveDescription","HdsDialogPrimitiveBody","HdsDialogPrimitiveFooter","HdsDialogPrimitiveOverlay"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;AAGC;AAwBD,MAAMA,SAASC,WAAA,CAAY,4CAAA,CAAA;AAEpB,MAAMC,YAAA,GAAeC,oBAAA,CAAqBC;AAC1C,MAAMC,sBAAsB;AAC5B,MAAMC,KAAO,GAAmBC,MAAA,CAAOC,MAAM,CAACL,oBAAA;AA+BtC,MAAMM,kBAAkBC,SAAA,CAAU;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,SAAA,EAAA,CAC9CC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAA0B,KAAA;AAAA,IAAA,CAAA,CAAA;AAAA;EAAA,QAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,SAAA,CAAA,EAAA,MAAA;AAC3B;AACA;EACAC,QAAA;EACQC;AACAC,EAAAA,4BAA4B,EAAA;EAEpC,IAAIC,OAAuB;IACzB,MAAM;AAAEA,MAAAA,IAAA,GAAOhB;KAAc,GAAG,IAAI,CAACiB,IAAI;AAEzCC,IAAAA,MAAA,CACE,CAAA,sDAAA,EAAyDd,KAAA,CAAMe,IAAI,CACjE,IAAA,CAAA,CAAA,YAAA,EACcH,IAAA,CAAA,CAAM,EACtBZ,KAAA,CAAMgB,QAAQ,CAACJ,IAAA,CAAA,CAAA;AAGjB,IAAA,OAAOA,IAAA;AACT,EAAA;EAEA,IAAIK,EAAAA,GAAa;IACf,OAAOC,aAAa,IAAI,CAAA;AAC1B,EAAA;EAEA,IAAIC,UAAAA,GAAqB;AACvB,IAAA,MAAMC,OAAA,GAAU,CAAC,YAAA,CAAa;AAE9B;IACAA,OAAA,CAAQC,IAAI,CAAC,CAAA,iBAAA,EAAoB,IAAI,CAACT,IAAI,EAAE,CAAA;AAE5C,IAAA,OAAOQ,OAAA,CAAQL,IAAI,CAAC,GAAA,CAAA;AACtB,EAAA;AAEQO,EAAAA,oBAAAA,GAAuB;IAC7B,IAAI,CAACC,OAAO,GAAG,KAAA;AAEf;IACA,IAAI,IAAI,CAACb,KAAK,EAAE;MACd,IAAI,CAACA,KAAK,CAACc,KAAK,CAACC,cAAc,CAAC,UAAA,CAAA;AAChC,MAAA,IAAI,IAAI,CAACd,yBAAyB,KAAK,EAAA,EAAI;QACzC,IAAI,IAAI,CAACD,KAAK,CAACc,KAAK,CAACE,MAAM,KAAK,CAAA,EAAG;AACjC,UAAA,IAAI,CAAChB,KAAK,CAACiB,eAAe,CAAC,OAAA,CAAA;AAC7B,QAAA;AACF,MAAA,CAAA,MAAO;AACL,QAAA,IAAI,CAACjB,KAAK,CAACc,KAAK,CAACI,WAAW,CAC1B,UAAA,EACA,IAAI,CAACjB,yBAAyB,CAAA;AAElC,MAAA;AACF,IAAA;AAEA;AACA,IAAA,IAAI,IAAI,CAACE,IAAI,CAACgB,aAAa,EAAE;MAC3B,MAAMC,SAAA,GAAYC,SAASC,cAAc,CAAC,IAAI,CAACnB,IAAI,CAACgB,aAAa,CAAA;AACjE,MAAA,IAAIC,SAAA,EAAW;QACbA,SAAA,CAAUG,KAAK,EAAA;AACjB,MAAA;AACF,IAAA;AACF,EAAA;AAEQC,EAAAA,eAAA,GAAkBC,QAAA,CAAUC,OAAS,IAAA;AAC3C;IACA,IAAI,CAAC3B,QAAQ,GAAG2B,OAAA;AAChB,IAAA,IAAI,CAAC1B,KAAK,GAAGqB,QAAA,CAASM,IAAI;IAE1B,IAAI,IAAI,CAAC3B,KAAK,EAAE;AACd;AACA,MAAA,IAAI,CAACC,yBAAyB,GAC5B,IAAI,CAACD,KAAK,CAACc,KAAK,CAACc,gBAAgB,CAAC,UAAA,CAAA;AACtC,IAAA;AAEA;AAEA,IAAA,IAAI,CAAC7B,QAAQ,CAAC8B,gBAAgB,CAAC,OAAA,EAAS,IAAI,CAACC,uBAAuB,EAAE,IAAA,CAAA;AAEtE;AACA,IAAA,IAAI,CAAC,IAAI,CAAC/B,QAAQ,CAACgC,IAAI,EAAE;MACvB,IAAI,CAACA,IAAI,EAAA;AACX,IAAA;AAEA,IAAA,OAAO,MAAA;AACL;MACA,IAAI,IAAI,CAAClB,OAAO,EAAE;QAChB,IAAI,CAACD,oBAAoB,EAAA;AAC3B,MAAA;AAEA,MAAA,IAAI,CAACb,QAAQ,EAAEiC,mBAAA,CACb,SAEA,IAAI,CAACF,uBAAuB,EAC5B,IAAA,CAAA;IAEJ,CAAA;AACF,EAAA,CAAA,CAAA;EAEAA,uBAAA,GAA2BG,KAAO,IAAA;AAChC,IAAA,IAAI,IAAI,CAAC9B,IAAI,CAAC+B,OAAO,IAAI,OAAO,IAAI,CAAC/B,IAAI,CAAC+B,OAAO,KAAK,UAAA,EAAY;AAChE,MAAA,IAAI,CAAC/B,IAAI,CAAC+B,OAAO,CAACD,KAAA,CAAA;AACpB,IAAA;IAEA,IAAI,CAACrB,oBAAoB,EAAA;EAC3B,CAAA;EAEAmB,IAAA,GAAOA,MAAQ;AACb;AACA,IAAA,IAAI,CAAChC,QAAQ,CAACoC,SAAS,EAAA;IACvB,IAAI,CAACtB,OAAO,GAAG,IAAA;AAEf;AACA,IAAA,IAAI,IAAI,CAACb,KAAK,EAAE,IAAI,CAACA,KAAK,CAACc,KAAK,CAACI,WAAW,CAAC,UAAA,EAAY,QAAA,CAAA;AAEzD;AACA,IAAA,IAAI,IAAI,CAACf,IAAI,CAACiC,MAAM,IAAI,OAAO,IAAI,CAACjC,IAAI,CAACiC,MAAM,KAAK,UAAA,EAAY;AAC9D,MAAA,IAAI,CAACjC,IAAI,CAACiC,MAAM,EAAA;AAClB,IAAA;EACF,CAAA;EAEAC,SAAA,GAAYA,MAAQ;AAClB;AACA;AACA,IAAA,IAAI,IAAI,CAACtC,QAAQ,CAACgC,IAAI,EAAE;AACtB,MAAA,MAAMO,KAAA,GAAQtD,OAAOuD,UAAU,EAAA;MAC/B,MAAMC,QAAA,GAAWA,MAAA;AACfxD,QAAAA,MAAA,CAAOyD,QAAQ,CAACH,KAAA,CAAA;QAChB,IAAI,CAACvC,QAAQ,CAACiC,mBAAmB,CAAC,OAAA,EAASQ,QAAA,CAAA;MAC7C,CAAA;MACA,IAAI,CAACzC,QAAQ,CAAC8B,gBAAgB,CAAC,OAAA,EAASW,QAAA,CAAA;AAC1C,IAAA;AAEA;AACA,IAAA,IAAI,CAACzC,QAAQ,CAAC2C,KAAK,EAAA;EACrB,CAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,u6BAAA,EAuDA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,yBAAA;QAAAC,SAAA;QAAAC,IAAA;QAAAC,wBAAA;QAAAC,6BAAA;QAAAC,sBAAA;QAAAC,wBAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/flyout/index.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { assert } from '@ember/debug';\nimport { buildWaiter } from '@ember/test-waiters';\nimport { modifier } from 'ember-modifier';\nimport { hash } from '@ember/helper';\n// @ts-expect-error: missing types https://github.com/josemarluedke/ember-focus-trap/issues/86\nimport focusTrap from 'ember-focus-trap/modifiers/focus-trap';\n\nimport type { WithBoundArgs } from '@glint/template';\n\nimport { HdsFlyoutSizesValues } from './types.ts';\nimport HdsDialogPrimitiveBody from '../dialog-primitive/body.gts';\nimport HdsDialogPrimitiveDescription from '../dialog-primitive/description.gts';\nimport HdsDialogPrimitiveFooter from '../dialog-primitive/footer.gts';\nimport HdsDialogPrimitiveHeader from '../dialog-primitive/header.gts';\nimport HdsDialogPrimitiveOverlay from '../dialog-primitive/overlay.gts';\nimport HdsDialogPrimitiveWrapper from '../dialog-primitive/wrapper.gts';\nimport { getElementId } from '../../../utils/hds-get-element-id.ts';\n\nimport type { HdsFlyoutSizes } from './types.ts';\n\nconst waiter = buildWaiter('@hashicorp/design-system-components:flyout');\n\nexport const DEFAULT_SIZE = HdsFlyoutSizesValues.Medium;\nexport const DEFAULT_HAS_OVERLAY = true;\nexport const SIZES: HdsFlyoutSizes[] = Object.values(HdsFlyoutSizesValues);\n\nexport interface HdsFlyoutSignature {\n Args: {\n size?: HdsFlyoutSizes;\n returnFocusTo?: string;\n onOpen?: () => void;\n onClose?: (event: Event) => void;\n };\n Blocks: {\n default: [\n {\n Header?: WithBoundArgs<\n typeof HdsDialogPrimitiveHeader,\n 'id' | 'onDismiss' | 'contextualClassPrefix'\n >;\n Description?: WithBoundArgs<\n typeof HdsDialogPrimitiveDescription,\n 'contextualClass'\n >;\n Body?: WithBoundArgs<typeof HdsDialogPrimitiveBody, 'contextualClass'>;\n Footer?: WithBoundArgs<\n typeof HdsDialogPrimitiveFooter,\n 'onDismiss' | 'contextualClass'\n >;\n },\n ];\n };\n Element: HTMLDialogElement;\n}\n\nexport default class HdsFlyout extends Component<HdsFlyoutSignature> {\n @tracked private _isOpen = false;\n // TODO: make this property private; currently blocked by our consumers relying on it despite not being part of the public API: https://github.com/hashicorp/cloud-ui/blob/main/engines/waypoint/addon/components/preview-pane.ts#L15\n // private _element!: HTMLDialogElement;\n _element!: HTMLDialogElement;\n private _body!: HTMLElement;\n private _bodyInitialOverflowValue = '';\n\n get size(): HdsFlyoutSizes {\n const { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Flyout\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n get id(): string {\n return getElementId(this);\n }\n\n get classNames(): string {\n const classes = ['hds-flyout'];\n\n // add a class based on the @size argument\n classes.push(`hds-flyout--size-${this.size}`);\n\n return classes.join(' ');\n }\n\n private _performCloseCleanup() {\n this._isOpen = false;\n\n // Reset page `overflow` property\n if (this._body) {\n this._body.style.removeProperty('overflow');\n if (this._bodyInitialOverflowValue === '') {\n if (this._body.style.length === 0) {\n this._body.removeAttribute('style');\n }\n } else {\n this._body.style.setProperty(\n 'overflow',\n this._bodyInitialOverflowValue\n );\n }\n }\n\n // Return focus to a specific element (if provided)\n if (this.args.returnFocusTo) {\n const initiator = document.getElementById(this.args.returnFocusTo);\n if (initiator) {\n initiator.focus();\n }\n }\n }\n\n private _registerDialog = modifier((element: HTMLDialogElement) => {\n // Store references of `<dialog>` and `<body>` elements\n this._element = element;\n this._body = document.body;\n\n if (this._body) {\n // Store the initial `overflow` value of `<body>` so we can reset to it\n this._bodyInitialOverflowValue =\n this._body.style.getPropertyValue('overflow');\n }\n\n // Register \"onClose\" callback function to be called when a native 'close' event is dispatched\n\n this._element.addEventListener('close', this.registerOnCloseCallback, true);\n\n // If the flyout dialog is not already open\n if (!this._element.open) {\n this.open();\n }\n\n return () => {\n // if the <dialog> is removed from the dom while open we emulate the close event\n if (this._isOpen) {\n this._performCloseCleanup();\n }\n\n this._element?.removeEventListener(\n 'close',\n\n this.registerOnCloseCallback,\n true\n );\n };\n });\n\n registerOnCloseCallback = (event: Event) => {\n if (this.args.onClose && typeof this.args.onClose === 'function') {\n this.args.onClose(event);\n }\n\n this._performCloseCleanup();\n };\n\n open = (): void => {\n // Make flyout dialog visible using the native `showModal` method\n this._element.showModal();\n this._isOpen = true;\n\n // Prevent page from scrolling when the dialog is open\n if (this._body) this._body.style.setProperty('overflow', 'hidden');\n\n // Call \"onOpen\" callback function\n if (this.args.onOpen && typeof this.args.onOpen === 'function') {\n this.args.onOpen();\n }\n };\n\n onDismiss = (): void => {\n // allow ember test helpers to be aware of when the `close` event fires\n // when using `click` or other helpers from '@ember/test-helpers'\n if (this._element.open) {\n const token = waiter.beginAsync();\n const listener = () => {\n waiter.endAsync(token);\n this._element.removeEventListener('close', listener);\n };\n this._element.addEventListener('close', listener);\n }\n\n // Make flyout dialog invisible using the native `close` method\n this._element.close();\n };\n\n <template>\n <HdsDialogPrimitiveWrapper\n class={{this.classNames}}\n ...attributes\n aria-labelledby={{this.id}}\n {{this._registerDialog}}\n {{focusTrap\n isActive=this._isOpen\n focusTrapOptions=(hash\n onDeactivate=this.onDismiss clickOutsideDeactivates=true\n )\n }}\n >\n <:header>\n {{yield\n (hash\n Header=(component\n HdsDialogPrimitiveHeader\n id=this.id\n onDismiss=this.onDismiss\n contextualClassPrefix=\"hds-flyout\"\n titleTag=\"h1\"\n )\n Description=(component\n HdsDialogPrimitiveDescription\n contextualClass=\"hds-flyout__description\"\n )\n )\n }}\n </:header>\n <:body>\n {{yield\n (hash\n Body=(component\n HdsDialogPrimitiveBody contextualClass=\"hds-flyout__body\"\n )\n )\n }}\n </:body>\n <:footer>\n {{yield\n (hash\n Footer=(component\n HdsDialogPrimitiveFooter\n onDismiss=this.onDismiss\n contextualClass=\"hds-flyout__footer\"\n )\n )\n }}\n </:footer>\n </HdsDialogPrimitiveWrapper>\n\n {{#if this._isOpen}}\n <HdsDialogPrimitiveOverlay @contextualClass=\"hds-flyout__overlay\" />\n {{/if}}\n </template>\n}\n"],"names":["waiter","buildWaiter","DEFAULT_SIZE","HdsFlyoutSizesValues","Medium","DEFAULT_HAS_OVERLAY","SIZES","Object","values","HdsFlyout","Component","g","prototype","tracked","i","_element","_body","_bodyInitialOverflowValue","size","args","assert","join","includes","id","getElementId","classNames","classes","push","_performCloseCleanup","_isOpen","style","removeProperty","length","removeAttribute","setProperty","returnFocusTo","initiator","document","getElementById","focus","_registerDialog","modifier","element","body","getPropertyValue","addEventListener","registerOnCloseCallback","open","removeEventListener","event","onClose","showModal","onOpen","onDismiss","token","beginAsync","listener","endAsync","close","setComponentTemplate","precompileTemplate","strictMode","scope","HdsDialogPrimitiveWrapper","focusTrap","hash","HdsDialogPrimitiveHeader","HdsDialogPrimitiveDescription","HdsDialogPrimitiveBody","HdsDialogPrimitiveFooter","HdsDialogPrimitiveOverlay"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;AAGC;AAwBD,MAAMA,SAASC,WAAA,CAAY,4CAAA,CAAA;AAEpB,MAAMC,YAAA,GAAeC,oBAAA,CAAqBC;AAC1C,MAAMC,sBAAsB;AAC5B,MAAMC,KAAO,GAAmBC,MAAA,CAAOC,MAAM,CAACL,oBAAA;AA+BtC,MAAMM,kBAAkBC,SAAA,CAAU;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,SAAA,EAAA,CAC9CC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAA0B,KAAA;AAAA,IAAA,CAAA,CAAA;AAAA;EAAA,QAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,SAAA,CAAA,EAAA,MAAA;AAC3B;AACA;EACAC,QAAA;EACQC;AACAC,EAAAA,4BAA4B,EAAA;EAEpC,IAAIC,OAAuB;IACzB,MAAM;AAAEA,MAAAA,IAAA,GAAOhB;KAAc,GAAG,IAAI,CAACiB,IAAI;AAEzCC,IAAAA,MAAA,CACE,CAAA,sDAAA,EAAyDd,KAAA,CAAMe,IAAI,CACjE,IAAA,CAAA,CAAA,YAAA,EACcH,IAAA,CAAA,CAAM,EACtBZ,KAAA,CAAMgB,QAAQ,CAACJ,IAAA,CAAA,CAAA;AAGjB,IAAA,OAAOA,IAAA;AACT,EAAA;EAEA,IAAIK,EAAAA,GAAa;IACf,OAAOC,aAAa,IAAI,CAAA;AAC1B,EAAA;EAEA,IAAIC,UAAAA,GAAqB;AACvB,IAAA,MAAMC,OAAA,GAAU,CAAC,YAAA,CAAa;AAE9B;IACAA,OAAA,CAAQC,IAAI,CAAC,CAAA,iBAAA,EAAoB,IAAI,CAACT,IAAI,EAAE,CAAA;AAE5C,IAAA,OAAOQ,OAAA,CAAQL,IAAI,CAAC,GAAA,CAAA;AACtB,EAAA;AAEQO,EAAAA,oBAAAA,GAAuB;IAC7B,IAAI,CAACC,OAAO,GAAG,KAAA;AAEf;IACA,IAAI,IAAI,CAACb,KAAK,EAAE;MACd,IAAI,CAACA,KAAK,CAACc,KAAK,CAACC,cAAc,CAAC,UAAA,CAAA;AAChC,MAAA,IAAI,IAAI,CAACd,yBAAyB,KAAK,EAAA,EAAI;QACzC,IAAI,IAAI,CAACD,KAAK,CAACc,KAAK,CAACE,MAAM,KAAK,CAAA,EAAG;AACjC,UAAA,IAAI,CAAChB,KAAK,CAACiB,eAAe,CAAC,OAAA,CAAA;AAC7B,QAAA;AACF,MAAA,CAAA,MAAO;AACL,QAAA,IAAI,CAACjB,KAAK,CAACc,KAAK,CAACI,WAAW,CAC1B,UAAA,EACA,IAAI,CAACjB,yBAAyB,CAAA;AAElC,MAAA;AACF,IAAA;AAEA;AACA,IAAA,IAAI,IAAI,CAACE,IAAI,CAACgB,aAAa,EAAE;MAC3B,MAAMC,SAAA,GAAYC,SAASC,cAAc,CAAC,IAAI,CAACnB,IAAI,CAACgB,aAAa,CAAA;AACjE,MAAA,IAAIC,SAAA,EAAW;QACbA,SAAA,CAAUG,KAAK,EAAA;AACjB,MAAA;AACF,IAAA;AACF,EAAA;AAEQC,EAAAA,eAAA,GAAkBC,QAAA,CAAUC,OAAS,IAAA;AAC3C;IACA,IAAI,CAAC3B,QAAQ,GAAG2B,OAAA;AAChB,IAAA,IAAI,CAAC1B,KAAK,GAAGqB,QAAA,CAASM,IAAI;IAE1B,IAAI,IAAI,CAAC3B,KAAK,EAAE;AACd;AACA,MAAA,IAAI,CAACC,yBAAyB,GAC5B,IAAI,CAACD,KAAK,CAACc,KAAK,CAACc,gBAAgB,CAAC,UAAA,CAAA;AACtC,IAAA;AAEA;AAEA,IAAA,IAAI,CAAC7B,QAAQ,CAAC8B,gBAAgB,CAAC,OAAA,EAAS,IAAI,CAACC,uBAAuB,EAAE,IAAA,CAAA;AAEtE;AACA,IAAA,IAAI,CAAC,IAAI,CAAC/B,QAAQ,CAACgC,IAAI,EAAE;MACvB,IAAI,CAACA,IAAI,EAAA;AACX,IAAA;AAEA,IAAA,OAAO,MAAA;AACL;MACA,IAAI,IAAI,CAAClB,OAAO,EAAE;QAChB,IAAI,CAACD,oBAAoB,EAAA;AAC3B,MAAA;AAEA,MAAA,IAAI,CAACb,QAAQ,EAAEiC,mBAAA,CACb,SAEA,IAAI,CAACF,uBAAuB,EAC5B,IAAA,CAAA;IAEJ,CAAA;AACF,EAAA,CAAA,CAAA;EAEAA,uBAAA,GAA2BG,KAAO,IAAA;AAChC,IAAA,IAAI,IAAI,CAAC9B,IAAI,CAAC+B,OAAO,IAAI,OAAO,IAAI,CAAC/B,IAAI,CAAC+B,OAAO,KAAK,UAAA,EAAY;AAChE,MAAA,IAAI,CAAC/B,IAAI,CAAC+B,OAAO,CAACD,KAAA,CAAA;AACpB,IAAA;IAEA,IAAI,CAACrB,oBAAoB,EAAA;EAC3B,CAAA;EAEAmB,IAAA,GAAOA,MAAQ;AACb;AACA,IAAA,IAAI,CAAChC,QAAQ,CAACoC,SAAS,EAAA;IACvB,IAAI,CAACtB,OAAO,GAAG,IAAA;AAEf;AACA,IAAA,IAAI,IAAI,CAACb,KAAK,EAAE,IAAI,CAACA,KAAK,CAACc,KAAK,CAACI,WAAW,CAAC,UAAA,EAAY,QAAA,CAAA;AAEzD;AACA,IAAA,IAAI,IAAI,CAACf,IAAI,CAACiC,MAAM,IAAI,OAAO,IAAI,CAACjC,IAAI,CAACiC,MAAM,KAAK,UAAA,EAAY;AAC9D,MAAA,IAAI,CAACjC,IAAI,CAACiC,MAAM,EAAA;AAClB,IAAA;EACF,CAAA;EAEAC,SAAA,GAAYA,MAAQ;AAClB;AACA;AACA,IAAA,IAAI,IAAI,CAACtC,QAAQ,CAACgC,IAAI,EAAE;AACtB,MAAA,MAAMO,KAAA,GAAQtD,OAAOuD,UAAU,EAAA;MAC/B,MAAMC,QAAA,GAAWA,MAAA;AACfxD,QAAAA,MAAA,CAAOyD,QAAQ,CAACH,KAAA,CAAA;QAChB,IAAI,CAACvC,QAAQ,CAACiC,mBAAmB,CAAC,OAAA,EAASQ,QAAA,CAAA;MAC7C,CAAA;MACA,IAAI,CAACzC,QAAQ,CAAC8B,gBAAgB,CAAC,OAAA,EAASW,QAAA,CAAA;AAC1C,IAAA;AAEA;AACA,IAAA,IAAI,CAACzC,QAAQ,CAAC2C,KAAK,EAAA;EACrB,CAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,u6BAAA,EAuDA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,yBAAA;QAAAC,SAAA;QAAAC,IAAA;QAAAC,wBAAA;QAAAC,6BAAA;QAAAC,sBAAA;QAAAC,wBAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
@@ -6,7 +6,7 @@ import { precompileTemplate } from '@ember/template-compilation';
6
6
  import { setComponentTemplate } from '@ember/component';
7
7
 
8
8
  /**
9
- * Copyright IBM Corp. 2021, 2025
9
+ * Copyright IBM Corp. 2021, 2026
10
10
  * SPDX-License-Identifier: MPL-2.0
11
11
  */
12
12
  const ID_PREFIX = 'character-count-';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/hds/form/character-count/index.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\nimport Component from '@glimmer/component';\nimport { hash } from '@ember/helper';\n// eslint-disable-next-line ember/no-at-ember-render-modifiers\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\n\nimport HdsTextBody from '../../text/body.gts';\n\nimport type { HdsTextBodySignature } from '../../text/body.gts';\n\nconst ID_PREFIX = 'character-count-';\nconst NOOP = (): void => {};\n\nexport interface HdsFormCharacterCountSignature {\n Args: {\n contextualClass?: string;\n controlId?: string;\n maxLength?: number | string;\n minLength?: number | string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onInsert?: (element: HTMLElement, ...args: any[]) => void;\n value?: string;\n };\n Blocks: {\n default?: [\n {\n minLength?: number;\n maxLength?: number;\n currentLength?: number;\n remaining?: number;\n shortfall?: number;\n },\n ];\n };\n Element: HdsTextBodySignature['Element'];\n}\n\nexport default class HdsFormCharacterCount extends Component<HdsFormCharacterCountSignature> {\n // The current number of characters in @value\n get currentLength(): number {\n const { value } = this.args;\n return value ? value.length : 0;\n }\n\n // Inflector utility function to determine plural or singular for 'character' noun\n private _pluralize(\n count?: number,\n prefix = '',\n noun = 'character',\n suffix = 's'\n ): string {\n return `${count}${prefix ? ' ' + prefix : ''} ${noun}${\n count !== 1 ? suffix : ''\n }`;\n }\n\n get maxLength(): number | undefined {\n const { maxLength } = this.args;\n if (maxLength) {\n return typeof maxLength === 'number' ? maxLength : parseInt(maxLength);\n }\n }\n\n get minLength(): number | undefined {\n const { minLength } = this.args;\n if (minLength) {\n return typeof minLength === 'number' ? minLength : parseInt(minLength);\n }\n }\n\n get remaining(): number | undefined {\n return this.maxLength ? this.maxLength - this.currentLength : undefined;\n }\n\n get shortfall(): number | undefined {\n return this.minLength ? this.minLength - this.currentLength : undefined;\n }\n\n get message(): string {\n let messageText = '';\n if (this.minLength && this.currentLength === 0) {\n messageText = `${this._pluralize(this.minLength)} required`;\n } else if (this.minLength && this.currentLength < this.minLength) {\n messageText = `${this._pluralize(this.shortfall, 'more')} required`;\n } else if (this.maxLength && this.currentLength === 0) {\n messageText = `${this._pluralize(this.maxLength)} allowed`;\n } else if (this.maxLength && this.currentLength <= this.maxLength) {\n messageText = `${this._pluralize(this.remaining)} remaining`;\n } else if (\n this.maxLength &&\n this.remaining &&\n this.currentLength > this.maxLength\n ) {\n messageText = `Exceeded by ${this._pluralize(-this.remaining)}`;\n } else {\n messageText = `${this._pluralize(this.currentLength)} entered`;\n }\n return messageText;\n }\n\n get id(): string | null {\n const { controlId } = this.args;\n if (controlId) {\n return `${ID_PREFIX}${controlId}`;\n }\n return null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get onInsert(): (element: HTMLElement, ...args: any[]) => void {\n const { onInsert } = this.args;\n // notice: this is a guard used to prevent triggering an error when the component is used as standalone element\n if (typeof onInsert === 'function') {\n return onInsert;\n } else {\n return NOOP;\n }\n }\n\n get classNames(): string {\n const classes = ['hds-form-character-count'];\n\n // add a class based on the @contextualClass argument\n // notice: this will *not* be documented for public use\n // the reason for this is that the contextual component declarations don't pass attributes to the component\n if (this.args.contextualClass) {\n classes.push(this.args.contextualClass);\n }\n\n return classes.join(' ');\n }\n\n <template>\n <HdsTextBody\n @tag=\"div\"\n @size=\"100\"\n class={{this.classNames}}\n id={{this.id}}\n {{didInsert this.onInsert}}\n ...attributes\n aria-live=\"polite\"\n >\n {{#if (has-block)}}\n {{yield\n (hash\n minLength=this.minLength\n maxLength=this.maxLength\n currentLength=this.currentLength\n remaining=this.remaining\n shortfall=this.shortfall\n )\n }}\n {{else}}\n {{this.message}}\n {{/if}}\n </HdsTextBody>\n </template>\n}\n"],"names":["ID_PREFIX","NOOP","HdsFormCharacterCount","Component","currentLength","value","args","length","_pluralize","count","prefix","noun","suffix","maxLength","parseInt","minLength","remaining","undefined","shortfall","message","messageText","id","controlId","onInsert","classNames","classes","contextualClass","push","join","setComponentTemplate","precompileTemplate","strictMode","scope","HdsTextBody","didInsert","hash"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/hds/form/character-count/index.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\nimport Component from '@glimmer/component';\nimport { hash } from '@ember/helper';\n// eslint-disable-next-line ember/no-at-ember-render-modifiers\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\n\nimport HdsTextBody from '../../text/body.gts';\n\nimport type { HdsTextBodySignature } from '../../text/body.gts';\n\nconst ID_PREFIX = 'character-count-';\nconst NOOP = (): void => {};\n\nexport interface HdsFormCharacterCountSignature {\n Args: {\n contextualClass?: string;\n controlId?: string;\n maxLength?: number | string;\n minLength?: number | string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onInsert?: (element: HTMLElement, ...args: any[]) => void;\n value?: string;\n };\n Blocks: {\n default?: [\n {\n minLength?: number;\n maxLength?: number;\n currentLength?: number;\n remaining?: number;\n shortfall?: number;\n },\n ];\n };\n Element: HdsTextBodySignature['Element'];\n}\n\nexport default class HdsFormCharacterCount extends Component<HdsFormCharacterCountSignature> {\n // The current number of characters in @value\n get currentLength(): number {\n const { value } = this.args;\n return value ? value.length : 0;\n }\n\n // Inflector utility function to determine plural or singular for 'character' noun\n private _pluralize(\n count?: number,\n prefix = '',\n noun = 'character',\n suffix = 's'\n ): string {\n return `${count}${prefix ? ' ' + prefix : ''} ${noun}${\n count !== 1 ? suffix : ''\n }`;\n }\n\n get maxLength(): number | undefined {\n const { maxLength } = this.args;\n if (maxLength) {\n return typeof maxLength === 'number' ? maxLength : parseInt(maxLength);\n }\n }\n\n get minLength(): number | undefined {\n const { minLength } = this.args;\n if (minLength) {\n return typeof minLength === 'number' ? minLength : parseInt(minLength);\n }\n }\n\n get remaining(): number | undefined {\n return this.maxLength ? this.maxLength - this.currentLength : undefined;\n }\n\n get shortfall(): number | undefined {\n return this.minLength ? this.minLength - this.currentLength : undefined;\n }\n\n get message(): string {\n let messageText = '';\n if (this.minLength && this.currentLength === 0) {\n messageText = `${this._pluralize(this.minLength)} required`;\n } else if (this.minLength && this.currentLength < this.minLength) {\n messageText = `${this._pluralize(this.shortfall, 'more')} required`;\n } else if (this.maxLength && this.currentLength === 0) {\n messageText = `${this._pluralize(this.maxLength)} allowed`;\n } else if (this.maxLength && this.currentLength <= this.maxLength) {\n messageText = `${this._pluralize(this.remaining)} remaining`;\n } else if (\n this.maxLength &&\n this.remaining &&\n this.currentLength > this.maxLength\n ) {\n messageText = `Exceeded by ${this._pluralize(-this.remaining)}`;\n } else {\n messageText = `${this._pluralize(this.currentLength)} entered`;\n }\n return messageText;\n }\n\n get id(): string | null {\n const { controlId } = this.args;\n if (controlId) {\n return `${ID_PREFIX}${controlId}`;\n }\n return null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get onInsert(): (element: HTMLElement, ...args: any[]) => void {\n const { onInsert } = this.args;\n // notice: this is a guard used to prevent triggering an error when the component is used as standalone element\n if (typeof onInsert === 'function') {\n return onInsert;\n } else {\n return NOOP;\n }\n }\n\n get classNames(): string {\n const classes = ['hds-form-character-count'];\n\n // add a class based on the @contextualClass argument\n // notice: this will *not* be documented for public use\n // the reason for this is that the contextual component declarations don't pass attributes to the component\n if (this.args.contextualClass) {\n classes.push(this.args.contextualClass);\n }\n\n return classes.join(' ');\n }\n\n <template>\n <HdsTextBody\n @tag=\"div\"\n @size=\"100\"\n class={{this.classNames}}\n id={{this.id}}\n {{didInsert this.onInsert}}\n ...attributes\n aria-live=\"polite\"\n >\n {{#if (has-block)}}\n {{yield\n (hash\n minLength=this.minLength\n maxLength=this.maxLength\n currentLength=this.currentLength\n remaining=this.remaining\n shortfall=this.shortfall\n )\n }}\n {{else}}\n {{this.message}}\n {{/if}}\n </HdsTextBody>\n </template>\n}\n"],"names":["ID_PREFIX","NOOP","HdsFormCharacterCount","Component","currentLength","value","args","length","_pluralize","count","prefix","noun","suffix","maxLength","parseInt","minLength","remaining","undefined","shortfall","message","messageText","id","controlId","onInsert","classNames","classes","contextualClass","push","join","setComponentTemplate","precompileTemplate","strictMode","scope","HdsTextBody","didInsert","hash"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { setComponentTemplate } from '@ember/component';
3
3
  import templateOnly from '@ember/component/template-only';
4
4
 
5
5
  /**
6
- * Copyright IBM Corp. 2021, 2025
6
+ * Copyright IBM Corp. 2021, 2026
7
7
  * SPDX-License-Identifier: MPL-2.0
8
8
  */
9
9
  const HdsFormCheckboxBase = setComponentTemplate(precompileTemplate("<input type=\"checkbox\" class=\"hds-form-checkbox\" ...attributes value={{@value}} />", {
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sources":["../../../../../src/components/hds/form/checkbox/base.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface HdsFormCheckboxBaseSignature {\n Args: {\n value?: string;\n };\n Element: HTMLInputElement;\n}\n\nconst HdsFormCheckboxBase: TemplateOnlyComponent<HdsFormCheckboxBaseSignature> =\n <template>\n <input\n type=\"checkbox\"\n class=\"hds-form-checkbox\"\n ...attributes\n value={{@value}}\n />\n </template>;\n\nexport default HdsFormCheckboxBase;\n"],"names":["HdsFormCheckboxBase","setComponentTemplate","precompileTemplate","strictMode","templateOnly"],"mappings":";;;;AAAA;;;AAGC;AAWD,MAAMA,mBAA2C,GAAAC,oBAAA,CAC/CC,kBAAA,CAAA,wFAAA,EAOA;EAAAC,UAAA,EAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
1
+ {"version":3,"file":"base.js","sources":["../../../../../src/components/hds/form/checkbox/base.gts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2026\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface HdsFormCheckboxBaseSignature {\n Args: {\n value?: string;\n };\n Element: HTMLInputElement;\n}\n\nconst HdsFormCheckboxBase: TemplateOnlyComponent<HdsFormCheckboxBaseSignature> =\n <template>\n <input\n type=\"checkbox\"\n class=\"hds-form-checkbox\"\n ...attributes\n value={{@value}}\n />\n </template>;\n\nexport default HdsFormCheckboxBase;\n"],"names":["HdsFormCheckboxBase","setComponentTemplate","precompileTemplate","strictMode","templateOnly"],"mappings":";;;;AAAA;;;AAGC;AAWD,MAAMA,mBAA2C,GAAAC,oBAAA,CAC/CC,kBAAA,CAAA,wFAAA,EAOA;EAAAC,UAAA,EAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
@@ -6,7 +6,7 @@ import { setComponentTemplate } from '@ember/component';
6
6
  import templateOnly from '@ember/component/template-only';
7
7
 
8
8
  /**
9
- * Copyright IBM Corp. 2021, 2025
9
+ * Copyright IBM Corp. 2021, 2026
10
10
  * SPDX-License-Identifier: MPL-2.0
11
11
  */
12
12