@hashicorp/design-system-components 4.4.1 → 4.5.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 (269) hide show
  1. package/declarations/components/hds/alert/index.d.ts +3 -2
  2. package/declarations/components/hds/alert/index.d.ts.map +1 -1
  3. package/declarations/components/hds/alert/types.d.ts +1 -1
  4. package/declarations/components/hds/alert/types.d.ts.map +1 -1
  5. package/declarations/components/hds/app-footer/link.d.ts +2 -1
  6. package/declarations/components/hds/app-footer/link.d.ts.map +1 -1
  7. package/declarations/components/hds/app-footer/status-link.d.ts +4 -3
  8. package/declarations/components/hds/app-footer/status-link.d.ts.map +1 -1
  9. package/declarations/components/hds/app-footer/types.d.ts +2 -1
  10. package/declarations/components/hds/app-footer/types.d.ts.map +1 -1
  11. package/declarations/components/hds/application-state/body.d.ts +16 -1
  12. package/declarations/components/hds/application-state/body.d.ts.map +1 -1
  13. package/declarations/components/hds/application-state/footer.d.ts +21 -3
  14. package/declarations/components/hds/application-state/footer.d.ts.map +1 -1
  15. package/declarations/components/hds/application-state/header.d.ts +16 -1
  16. package/declarations/components/hds/application-state/header.d.ts.map +1 -1
  17. package/declarations/components/hds/application-state/index.d.ts +23 -1
  18. package/declarations/components/hds/application-state/index.d.ts.map +1 -1
  19. package/declarations/components/hds/badge/index.d.ts +3 -2
  20. package/declarations/components/hds/badge/index.d.ts.map +1 -1
  21. package/declarations/components/hds/button/index.d.ts +3 -2
  22. package/declarations/components/hds/button/index.d.ts.map +1 -1
  23. package/declarations/components/hds/copy/button/index.d.ts +1 -1
  24. package/declarations/components/hds/copy/button/index.d.ts.map +1 -1
  25. package/declarations/components/hds/copy/snippet/index.d.ts +1 -1
  26. package/declarations/components/hds/copy/snippet/index.d.ts.map +1 -1
  27. package/declarations/components/hds/dropdown/toggle/icon.d.ts.map +1 -1
  28. package/declarations/components/hds/form/error/index.d.ts +6 -0
  29. package/declarations/components/hds/form/error/index.d.ts.map +1 -1
  30. package/declarations/components/hds/form/field/index.d.ts +3 -4
  31. package/declarations/components/hds/form/field/index.d.ts.map +1 -1
  32. package/declarations/components/hds/form/fieldset/index.d.ts +3 -4
  33. package/declarations/components/hds/form/fieldset/index.d.ts.map +1 -1
  34. package/declarations/components/hds/form/radio-card/index.d.ts +0 -3
  35. package/declarations/components/hds/form/radio-card/index.d.ts.map +1 -1
  36. package/declarations/components/hds/icon-tile/index.d.ts +6 -5
  37. package/declarations/components/hds/icon-tile/index.d.ts.map +1 -1
  38. package/declarations/components/hds/link/inline.d.ts +2 -1
  39. package/declarations/components/hds/link/inline.d.ts.map +1 -1
  40. package/declarations/components/hds/link/standalone.d.ts +3 -2
  41. package/declarations/components/hds/link/standalone.d.ts.map +1 -1
  42. package/declarations/components/hds/page-header/actions.d.ts +13 -1
  43. package/declarations/components/hds/page-header/actions.d.ts.map +1 -1
  44. package/declarations/components/hds/page-header/badges.d.ts +13 -1
  45. package/declarations/components/hds/page-header/badges.d.ts.map +1 -1
  46. package/declarations/components/hds/page-header/description.d.ts +15 -1
  47. package/declarations/components/hds/page-header/description.d.ts.map +1 -1
  48. package/declarations/components/hds/page-header/index.d.ts +32 -1
  49. package/declarations/components/hds/page-header/index.d.ts.map +1 -1
  50. package/declarations/components/hds/page-header/subtitle.d.ts +15 -1
  51. package/declarations/components/hds/page-header/subtitle.d.ts.map +1 -1
  52. package/declarations/components/hds/page-header/title.d.ts +15 -1
  53. package/declarations/components/hds/page-header/title.d.ts.map +1 -1
  54. package/declarations/components/hds/side-nav/base.d.ts +16 -1
  55. package/declarations/components/hds/side-nav/base.d.ts.map +1 -1
  56. package/declarations/components/hds/side-nav/header/home-link.d.ts +17 -3
  57. package/declarations/components/hds/side-nav/header/home-link.d.ts.map +1 -1
  58. package/declarations/components/hds/side-nav/header/icon-button.d.ts +16 -3
  59. package/declarations/components/hds/side-nav/header/icon-button.d.ts.map +1 -1
  60. package/declarations/components/hds/side-nav/header/index.d.ts +14 -1
  61. package/declarations/components/hds/side-nav/header/index.d.ts.map +1 -1
  62. package/declarations/components/hds/side-nav/index.d.ts +58 -15
  63. package/declarations/components/hds/side-nav/index.d.ts.map +1 -1
  64. package/declarations/components/hds/side-nav/list/back-link.d.ts +14 -1
  65. package/declarations/components/hds/side-nav/list/back-link.d.ts.map +1 -1
  66. package/declarations/components/hds/side-nav/list/index.d.ts +28 -1
  67. package/declarations/components/hds/side-nav/list/index.d.ts.map +1 -1
  68. package/declarations/components/hds/side-nav/list/item.d.ts +13 -1
  69. package/declarations/components/hds/side-nav/list/item.d.ts.map +1 -1
  70. package/declarations/components/hds/side-nav/list/link.d.ts +23 -1
  71. package/declarations/components/hds/side-nav/list/link.d.ts.map +1 -1
  72. package/declarations/components/hds/side-nav/list/title.d.ts +13 -1
  73. package/declarations/components/hds/side-nav/list/title.d.ts.map +1 -1
  74. package/declarations/components/hds/side-nav/portal/index.d.ts +26 -0
  75. package/declarations/components/hds/side-nav/portal/index.d.ts.map +1 -1
  76. package/declarations/components/hds/side-nav/portal/target.d.ts +33 -10
  77. package/declarations/components/hds/side-nav/portal/target.d.ts.map +1 -1
  78. package/declarations/components/hds/side-nav/toggle-button.d.ts +14 -1
  79. package/declarations/components/hds/side-nav/toggle-button.d.ts.map +1 -1
  80. package/declarations/components/hds/stepper/task/indicator.d.ts +2 -2
  81. package/declarations/components/hds/stepper/task/indicator.d.ts.map +1 -1
  82. package/declarations/components/hds/stepper/types.d.ts +2 -1
  83. package/declarations/components/hds/stepper/types.d.ts.map +1 -1
  84. package/declarations/components/hds/tabs/index.d.ts +48 -23
  85. package/declarations/components/hds/tabs/index.d.ts.map +1 -1
  86. package/declarations/components/hds/tabs/panel.d.ts +30 -8
  87. package/declarations/components/hds/tabs/panel.d.ts.map +1 -1
  88. package/declarations/components/hds/tabs/tab.d.ts +31 -8
  89. package/declarations/components/hds/tabs/tab.d.ts.map +1 -1
  90. package/declarations/components/hds/tabs/types.d.ts +8 -0
  91. package/declarations/components/hds/tabs/types.d.ts.map +1 -0
  92. package/declarations/components.d.ts +3 -1
  93. package/declarations/components.d.ts.map +1 -1
  94. package/declarations/template-registry.d.ts +91 -0
  95. package/declarations/template-registry.d.ts.map +1 -1
  96. package/declarations/utils/hds-aria-described-by.d.ts +20 -0
  97. package/declarations/utils/hds-aria-described-by.d.ts.map +1 -0
  98. package/dist/_rollupPluginBabelHelpers-KIi_qCIU.js +51 -0
  99. package/dist/_rollupPluginBabelHelpers-KIi_qCIU.js.map +1 -0
  100. package/dist/components/hds/accordion/item/button.js +1 -1
  101. package/dist/components/hds/accordion/item/index.js +1 -1
  102. package/dist/components/hds/alert/index.js +1 -1
  103. package/dist/components/hds/alert/index.js.map +1 -1
  104. package/dist/components/hds/alert/types.js +1 -1
  105. package/dist/components/hds/alert/types.js.map +1 -1
  106. package/dist/components/hds/app-footer/index.js.map +1 -1
  107. package/dist/components/hds/app-footer/link.js.map +1 -1
  108. package/dist/components/hds/app-footer/status-link.js.map +1 -1
  109. package/dist/components/hds/app-footer/types.js.map +1 -1
  110. package/dist/components/hds/application-state/body.js +8 -2
  111. package/dist/components/hds/application-state/body.js.map +1 -1
  112. package/dist/components/hds/application-state/footer.js +3 -3
  113. package/dist/components/hds/application-state/footer.js.map +1 -1
  114. package/dist/components/hds/application-state/header.js +8 -2
  115. package/dist/components/hds/application-state/header.js.map +1 -1
  116. package/dist/components/hds/application-state/index.js +8 -2
  117. package/dist/components/hds/application-state/index.js.map +1 -1
  118. package/dist/components/hds/badge/index.js.map +1 -1
  119. package/dist/components/hds/badge-count/index.js.map +1 -1
  120. package/dist/components/hds/breadcrumb/item.js.map +1 -1
  121. package/dist/components/hds/button/index.js.map +1 -1
  122. package/dist/components/hds/card/container.js.map +1 -1
  123. package/dist/components/hds/code-block/index.js +1 -1
  124. package/dist/components/hds/code-block/index.js.map +1 -1
  125. package/dist/components/hds/copy/button/index.js +1 -1
  126. package/dist/components/hds/copy/button/index.js.map +1 -1
  127. package/dist/components/hds/copy/snippet/index.js +1 -1
  128. package/dist/components/hds/copy/snippet/index.js.map +1 -1
  129. package/dist/components/hds/disclosure-primitive/index.js +1 -1
  130. package/dist/components/hds/dropdown/index.js +1 -1
  131. package/dist/components/hds/dropdown/index.js.map +1 -1
  132. package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -1
  133. package/dist/components/hds/dropdown/toggle/button.js +1 -1
  134. package/dist/components/hds/dropdown/toggle/button.js.map +1 -1
  135. package/dist/components/hds/dropdown/toggle/icon.js +11 -4
  136. package/dist/components/hds/dropdown/toggle/icon.js.map +1 -1
  137. package/dist/components/hds/flyout/index.js +1 -1
  138. package/dist/components/hds/flyout/index.js.map +1 -1
  139. package/dist/components/hds/form/character-count/index.js.map +1 -1
  140. package/dist/components/hds/form/error/index.js +18 -1
  141. package/dist/components/hds/form/error/index.js.map +1 -1
  142. package/dist/components/hds/form/field/index.js +12 -35
  143. package/dist/components/hds/form/field/index.js.map +1 -1
  144. package/dist/components/hds/form/fieldset/index.js +12 -31
  145. package/dist/components/hds/form/fieldset/index.js.map +1 -1
  146. package/dist/components/hds/form/helper-text/index.js.map +1 -1
  147. package/dist/components/hds/form/label/index.js.map +1 -1
  148. package/dist/components/hds/form/masked-input/base.js +1 -1
  149. package/dist/components/hds/form/masked-input/base.js.map +1 -1
  150. package/dist/components/hds/form/radio-card/index.js +8 -35
  151. package/dist/components/hds/form/radio-card/index.js.map +1 -1
  152. package/dist/components/hds/form/select/base.js.map +1 -1
  153. package/dist/components/hds/form/super-select/multiple/base.js +1 -1
  154. package/dist/components/hds/form/super-select/multiple/base.js.map +1 -1
  155. package/dist/components/hds/form/super-select/option-group.js +1 -1
  156. package/dist/components/hds/form/super-select/single/base.js +1 -1
  157. package/dist/components/hds/form/super-select/single/base.js.map +1 -1
  158. package/dist/components/hds/form/text-input/base.js.map +1 -1
  159. package/dist/components/hds/form/text-input/field.js +1 -1
  160. package/dist/components/hds/form/textarea/base.js.map +1 -1
  161. package/dist/components/hds/icon-tile/index.js.map +1 -1
  162. package/dist/components/hds/interactive/index.js +1 -1
  163. package/dist/components/hds/link/inline.js.map +1 -1
  164. package/dist/components/hds/link/standalone.js.map +1 -1
  165. package/dist/components/hds/menu-primitive/index.js +1 -1
  166. package/dist/components/hds/modal/index.js +1 -1
  167. package/dist/components/hds/modal/index.js.map +1 -1
  168. package/dist/components/hds/page-header/actions.js +8 -2
  169. package/dist/components/hds/page-header/actions.js.map +1 -1
  170. package/dist/components/hds/page-header/badges.js +8 -2
  171. package/dist/components/hds/page-header/badges.js.map +1 -1
  172. package/dist/components/hds/page-header/description.js +8 -2
  173. package/dist/components/hds/page-header/description.js.map +1 -1
  174. package/dist/components/hds/page-header/index.js +8 -2
  175. package/dist/components/hds/page-header/index.js.map +1 -1
  176. package/dist/components/hds/page-header/subtitle.js +8 -2
  177. package/dist/components/hds/page-header/subtitle.js.map +1 -1
  178. package/dist/components/hds/page-header/title.js +8 -2
  179. package/dist/components/hds/page-header/title.js.map +1 -1
  180. package/dist/components/hds/pagination/compact/index.js +1 -1
  181. package/dist/components/hds/pagination/compact/index.js.map +1 -1
  182. package/dist/components/hds/pagination/nav/arrow.js +1 -1
  183. package/dist/components/hds/pagination/nav/arrow.js.map +1 -1
  184. package/dist/components/hds/pagination/nav/number.js +1 -1
  185. package/dist/components/hds/pagination/nav/number.js.map +1 -1
  186. package/dist/components/hds/pagination/numbered/index.js +1 -1
  187. package/dist/components/hds/pagination/numbered/index.js.map +1 -1
  188. package/dist/components/hds/pagination/size-selector/index.js +1 -1
  189. package/dist/components/hds/pagination/size-selector/index.js.map +1 -1
  190. package/dist/components/hds/popover-primitive/index.js +1 -1
  191. package/dist/components/hds/popover-primitive/index.js.map +1 -1
  192. package/dist/components/hds/reveal/index.js +1 -1
  193. package/dist/components/hds/rich-tooltip/bubble.js.map +1 -1
  194. package/dist/components/hds/rich-tooltip/index.js +1 -1
  195. package/dist/components/hds/rich-tooltip/index.js.map +1 -1
  196. package/dist/components/hds/rich-tooltip/toggle.js.map +1 -1
  197. package/dist/components/hds/separator/index.js.map +1 -1
  198. package/dist/components/hds/side-nav/base.js +8 -2
  199. package/dist/components/hds/side-nav/base.js.map +1 -1
  200. package/dist/components/hds/side-nav/header/home-link.js +2 -2
  201. package/dist/components/hds/side-nav/header/home-link.js.map +1 -1
  202. package/dist/components/hds/side-nav/header/icon-button.js +2 -2
  203. package/dist/components/hds/side-nav/header/icon-button.js.map +1 -1
  204. package/dist/components/hds/side-nav/header/index.js +8 -2
  205. package/dist/components/hds/side-nav/header/index.js.map +1 -1
  206. package/dist/components/hds/side-nav/index.js +14 -10
  207. package/dist/components/hds/side-nav/index.js.map +1 -1
  208. package/dist/components/hds/side-nav/list/back-link.js +8 -2
  209. package/dist/components/hds/side-nav/list/back-link.js.map +1 -1
  210. package/dist/components/hds/side-nav/list/index.js +8 -2
  211. package/dist/components/hds/side-nav/list/index.js.map +1 -1
  212. package/dist/components/hds/side-nav/list/item.js +8 -2
  213. package/dist/components/hds/side-nav/list/item.js.map +1 -1
  214. package/dist/components/hds/side-nav/list/link.js +8 -2
  215. package/dist/components/hds/side-nav/list/link.js.map +1 -1
  216. package/dist/components/hds/side-nav/list/title.js +8 -2
  217. package/dist/components/hds/side-nav/list/title.js.map +1 -1
  218. package/dist/components/hds/side-nav/portal/index.js +10 -4
  219. package/dist/components/hds/side-nav/portal/index.js.map +1 -1
  220. package/dist/components/hds/side-nav/portal/target.js +25 -25
  221. package/dist/components/hds/side-nav/portal/target.js.map +1 -1
  222. package/dist/components/hds/side-nav/toggle-button.js +8 -2
  223. package/dist/components/hds/side-nav/toggle-button.js.map +1 -1
  224. package/dist/components/hds/stepper/step/indicator.js.map +1 -1
  225. package/dist/components/hds/stepper/task/indicator.js.map +1 -1
  226. package/dist/components/hds/stepper/types.js.map +1 -1
  227. package/dist/components/hds/table/index.js +1 -1
  228. package/dist/components/hds/table/index.js.map +1 -1
  229. package/dist/components/hds/table/td.js.map +1 -1
  230. package/dist/components/hds/table/th-button-sort.js +1 -1
  231. package/dist/components/hds/table/th-button-sort.js.map +1 -1
  232. package/dist/components/hds/table/th-button-tooltip.js +1 -1
  233. package/dist/components/hds/table/th-selectable.js +1 -1
  234. package/dist/components/hds/table/th-selectable.js.map +1 -1
  235. package/dist/components/hds/table/th-sort.js +1 -1
  236. package/dist/components/hds/table/th-sort.js.map +1 -1
  237. package/dist/components/hds/table/th.js +1 -1
  238. package/dist/components/hds/table/th.js.map +1 -1
  239. package/dist/components/hds/table/tr.js.map +1 -1
  240. package/dist/components/hds/tabs/index.js +37 -36
  241. package/dist/components/hds/tabs/index.js.map +1 -1
  242. package/dist/components/hds/tabs/panel.js +4 -3
  243. package/dist/components/hds/tabs/panel.js.map +1 -1
  244. package/dist/components/hds/tabs/tab.js +11 -11
  245. package/dist/components/hds/tabs/tab.js.map +1 -1
  246. package/dist/components/hds/tabs/types.js +8 -0
  247. package/dist/components/hds/tabs/types.js.map +1 -0
  248. package/dist/components/hds/tag/index.js.map +1 -1
  249. package/dist/components/hds/text/body.js.map +1 -1
  250. package/dist/components/hds/text/code.js.map +1 -1
  251. package/dist/components/hds/text/display.js.map +1 -1
  252. package/dist/components/hds/text/index.js.map +1 -1
  253. package/dist/components.js +2 -0
  254. package/dist/components.js.map +1 -1
  255. package/dist/modifiers/hds-anchored-position.js.map +1 -1
  256. package/dist/modifiers/hds-clipboard.js.map +1 -1
  257. package/dist/modifiers/hds-tooltip.js +1 -1
  258. package/dist/modifiers/hds-tooltip.js.map +1 -1
  259. package/dist/styles/@hashicorp/design-system-components.css +5 -0
  260. package/dist/styles/components/dropdown.scss +15 -2
  261. package/dist/utils/hds-aria-described-by.js +73 -0
  262. package/dist/utils/hds-aria-described-by.js.map +1 -0
  263. package/package.json +18 -18
  264. package/declarations/utils/hds-set-aria-described-by.d.ts +0 -6
  265. package/declarations/utils/hds-set-aria-described-by.d.ts.map +0 -1
  266. package/dist/_rollupPluginBabelHelpers-NoJJJNhk.js +0 -76
  267. package/dist/_rollupPluginBabelHelpers-NoJJJNhk.js.map +0 -1
  268. package/dist/utils/hds-set-aria-described-by.js +0 -17
  269. package/dist/utils/hds-set-aria-described-by.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty, a as _defineProperty } from '../../../../_rollupPluginBabelHelpers-NoJJJNhk.js';
1
+ import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty, a as _defineProperty } from '../../../../_rollupPluginBabelHelpers-KIi_qCIU.js';
2
2
  import Component from '@glimmer/component';
3
3
  import { inject } from '@ember/service';
4
4
  import { tracked } from '@glimmer/tracking';
@@ -8,10 +8,10 @@ import Ember from 'ember';
8
8
  import { precompileTemplate } from '@ember/template-compilation';
9
9
  import { setComponentTemplate } from '@ember/component';
10
10
 
11
- var TEMPLATE = precompileTemplate("{{! @glint-nocheck: not typesafe yet }}\n{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<div class=\"hds-side-nav__content\" ...attributes>\n <PortalTarget\n @multiple={{true}}\n @onChange={{this.panelsChanged}}\n @name={{if @targetName @targetName \"hds-side-nav-portal-target\"}}\n class=\"hds-side-nav__content-panels hds-side-nav-hide-when-minimized\"\n {{did-update this.didUpdateSubnav this.numSubnavs}}\n />\n</div>");
11
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<div class=\"hds-side-nav__content\" ...attributes>\n <PortalTarget\n @multiple={{true}}\n @onChange={{this.panelsChanged}}\n @name={{if @targetName @targetName \"hds-side-nav-portal-target\"}}\n class=\"hds-side-nav__content-panels hds-side-nav-hide-when-minimized\"\n {{did-update this.didUpdateSubnav this.numSubnavs}}\n />\n</div>");
12
12
 
13
13
  var _class, _descriptor, _descriptor2, _descriptor3;
14
- let SidenavPortalTarget = (_class = class SidenavPortalTarget extends Component {
14
+ let HdsSideNavPortalTargetComponent = (_class = class HdsSideNavPortalTargetComponent extends Component {
15
15
  constructor(...args) {
16
16
  super(...args);
17
17
  _initializerDefineProperty(this, "router", _descriptor, this);
@@ -23,7 +23,7 @@ let SidenavPortalTarget = (_class = class SidenavPortalTarget extends Component
23
23
  return Ember.testing;
24
24
  }
25
25
  get prefersReducedMotion() {
26
- return this.constructor.prefersReducedMotionOverride || this.prefersReducedMotionMQ && this.prefersReducedMotionMQ.matches;
26
+ return HdsSideNavPortalTargetComponent.prefersReducedMotionOverride || this.prefersReducedMotionMQ && this.prefersReducedMotionMQ.matches;
27
27
  }
28
28
  panelsChanged(portalCount) {
29
29
  this.numSubnavs = portalCount;
@@ -76,21 +76,21 @@ let SidenavPortalTarget = (_class = class SidenavPortalTarget extends Component
76
76
  *
77
77
  * */
78
78
 
79
- let activeIndex = count - 1;
80
- let targetElement = element;
81
- let {
79
+ const activeIndex = count - 1;
80
+ const targetElement = element;
81
+ const {
82
82
  prefersReducedMotion
83
83
  } = this;
84
- let styles = getComputedStyle(targetElement);
85
- let columnWidth = styles.getPropertyValue('--hds-app-sidenav-width-expanded');
86
- let slideDuration = prefersReducedMotion ? 0 : 150;
84
+ const styles = getComputedStyle(targetElement);
85
+ const columnWidth = styles.getPropertyValue('--hds-app-sidenav-width-expanded');
86
+ const slideDuration = prefersReducedMotion ? 0 : 150;
87
87
  let fadeDuration = prefersReducedMotion ? 0 : 175;
88
88
  let fadeDelay = prefersReducedMotion ? 0 : 50;
89
89
 
90
90
  // slide entire parent panel
91
- let start = styles.transform;
92
- let end = `translateX(-${activeIndex * parseInt(columnWidth, 10)}px)`;
93
- let anim = targetElement.animate([{
91
+ const start = styles.transform;
92
+ const end = `translateX(-${activeIndex * parseInt(columnWidth, 10)}px)`;
93
+ const anim = targetElement.animate([{
94
94
  transform: start
95
95
  }, {
96
96
  transform: end
@@ -103,8 +103,8 @@ let SidenavPortalTarget = (_class = class SidenavPortalTarget extends Component
103
103
  // uncomment this if we need/want to scroll the element to the top
104
104
  // targetElement.scrollIntoView(true);
105
105
  if (activeIndex > 0) {
106
- let allPrev = Array.from(targetElement.children).slice(0, activeIndex);
107
- for (let ele of allPrev) {
106
+ const allPrev = Array.from(targetElement.children).slice(0, activeIndex);
107
+ for (const ele of allPrev) {
108
108
  ele.ariaHidden = 'true';
109
109
  ele.style.setProperty('visibility', 'hidden');
110
110
  ele.style.setProperty('opacity', '0');
@@ -120,18 +120,20 @@ let SidenavPortalTarget = (_class = class SidenavPortalTarget extends Component
120
120
  });
121
121
 
122
122
  // fade in next panel
123
- let nextPanelEl = targetElement.children[activeIndex];
123
+ const nextPanelEl = targetElement.children[activeIndex];
124
124
 
125
125
  // get reference to last child panel
126
- let lastPanelEl = targetElement.children[targetElement.children.length - 1];
126
+ const lastPanelEl = targetElement.children[targetElement.children.length - 1];
127
127
  if (nextPanelEl) {
128
128
  nextPanelEl.ariaHidden = 'false';
129
129
  nextPanelEl.style.setProperty('visibility', 'visible');
130
130
  // this eliminates a flicker if there's only one subnav rendering or if we
131
131
  // already just rendered this panel.
132
- if (activeIndex === 0 || nextPanelEl.isSameNode(this.lastPanelEl)) {
133
- fadeDelay = 0;
134
- fadeDuration = 0;
132
+ if (this.lastPanelEl) {
133
+ if (activeIndex === 0 || nextPanelEl.isSameNode(this.lastPanelEl)) {
134
+ fadeDelay = 0;
135
+ fadeDuration = 0;
136
+ }
135
137
  }
136
138
 
137
139
  // remember the last panel
@@ -163,11 +165,9 @@ let SidenavPortalTarget = (_class = class SidenavPortalTarget extends Component
163
165
  configurable: true,
164
166
  enumerable: true,
165
167
  writable: true,
166
- initializer: function () {
167
- return null;
168
- }
168
+ initializer: null
169
169
  }), _applyDecoratedDescriptor(_class.prototype, "panelsChanged", [action], Object.getOwnPropertyDescriptor(_class.prototype, "panelsChanged"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didUpdateSubnav", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didUpdateSubnav"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "animateSubnav", [action], Object.getOwnPropertyDescriptor(_class.prototype, "animateSubnav"), _class.prototype)), _class);
170
- setComponentTemplate(TEMPLATE, SidenavPortalTarget);
170
+ setComponentTemplate(TEMPLATE, HdsSideNavPortalTargetComponent);
171
171
 
172
- export { SidenavPortalTarget as default };
172
+ export { HdsSideNavPortalTargetComponent as default };
173
173
  //# sourceMappingURL=target.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"target.js","sources":["../../../../../src/components/hds/side-nav/portal/target.hbs","../../../../../src/components/hds/side-nav/portal/target.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<div class=\\\"hds-side-nav__content\\\" ...attributes>\\n <PortalTarget\\n @multiple={{true}}\\n @onChange={{this.panelsChanged}}\\n @name={{if @targetName @targetName \\\"hds-side-nav-portal-target\\\"}}\\n class=\\\"hds-side-nav__content-panels hds-side-nav-hide-when-minimized\\\"\\n {{did-update this.didUpdateSubnav this.numSubnavs}}\\n />\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { DEBUG } from '@glimmer/env';\nimport Ember from 'ember';\n\nexport default class SidenavPortalTarget extends Component {\n @service router;\n\n @tracked numSubnavs = 0;\n @tracked lastPanelEl = null;\n\n static get prefersReducedMotionOverride() {\n return Ember.testing;\n }\n\n prefersReducedMotionMQ = window.matchMedia(\n '(prefers-reduced-motion: reduce)'\n );\n\n get prefersReducedMotion() {\n return (\n this.constructor.prefersReducedMotionOverride ||\n (this.prefersReducedMotionMQ && this.prefersReducedMotionMQ.matches)\n );\n }\n\n @action\n panelsChanged(portalCount) {\n this.numSubnavs = portalCount;\n }\n\n @action\n didUpdateSubnav(element, [count]) {\n this.animateSubnav(element, [count]);\n }\n\n @action\n animateSubnav(element, [count]) {\n /*\n * Here is what the layout looks like for this setup\n *\n\n SideNav\n +----------------------+\n | +------------------+ |\n | | (\"header\") | |\n | +------------------+ |\n | |\n | +------------------+ |\n | | (\"body\") | |\n (PortalTarget) | | | |\n +----------------------------------------------+ | |\n | +----------+ +----------+ | +----------+ | | |\n | | (Portal) | | (Portal) | | (Portal) | | | |\n | | | | | | | | | | |\n | | hidden | | hidden | | *active* | | | |\n | | panel | | panel | | | panel | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | +----------+ +----------+ | +----------+ | | |\n +----------------------------------------------+ | |\n | | | |\n | +------------------+ |\n | |\n | +------------------+ |\n | | (\"footer\") | |\n | +------------------+ |\n +----------------------+\n\n *\n * every time `HcAppFrame::SideNav::Portal` renders, it contains a portaled \"panel\"\n * that is rendered into the `hds-side-nav__content-panels` (inside the PortalTarget).\n *\n * Rendering or unrendering other `HcAppFrame::SideNav::Portal`s triggers the number of\n * subnavs to change (via `numSubnavs`), so this function runs and slides\n * `hds-side-nav__content-panels` left or right using the `element.animate` api.\n *\n * */\n\n let activeIndex = count - 1;\n let targetElement = element;\n let { prefersReducedMotion } = this;\n\n let styles = getComputedStyle(targetElement);\n let columnWidth = styles.getPropertyValue(\n '--hds-app-sidenav-width-expanded'\n );\n let slideDuration = prefersReducedMotion ? 0 : 150;\n let fadeDuration = prefersReducedMotion ? 0 : 175;\n let fadeDelay = prefersReducedMotion ? 0 : 50;\n\n // slide entire parent panel\n let start = styles.transform;\n let end = `translateX(-${activeIndex * parseInt(columnWidth, 10)}px)`;\n let anim = targetElement.animate(\n [{ transform: start }, { transform: end }],\n {\n duration: slideDuration,\n easing: 'cubic-bezier(0.65, 0, 0.35, 1)',\n fill: 'forwards',\n }\n );\n\n anim.finished.then(() => {\n // uncomment this if we need/want to scroll the element to the top\n // targetElement.scrollIntoView(true);\n if (activeIndex > 0) {\n let allPrev = Array.from(targetElement.children).slice(0, activeIndex);\n for (let ele of allPrev) {\n ele.ariaHidden = 'true';\n ele.style.setProperty('visibility', 'hidden');\n ele.style.setProperty('opacity', '0');\n }\n }\n // Notice: we don't add the styles by default because it writes a `style` attribute to the element and it causes an additional re-render\n if (DEBUG) {\n // Check the visibility of the element before attempting to commitStyles.\n if (targetElement.offsetParent !== null) {\n anim.commitStyles();\n }\n }\n });\n\n // fade in next panel\n let nextPanelEl = targetElement.children[activeIndex];\n\n // get reference to last child panel\n let lastPanelEl = targetElement.children[targetElement.children.length - 1];\n\n if (nextPanelEl) {\n nextPanelEl.ariaHidden = 'false';\n nextPanelEl.style.setProperty('visibility', 'visible');\n // this eliminates a flicker if there's only one subnav rendering or if we\n // already just rendered this panel.\n if (activeIndex === 0 || nextPanelEl.isSameNode(this.lastPanelEl)) {\n fadeDelay = 0;\n fadeDuration = 0;\n }\n\n // remember the last panel\n this.lastPanelEl = lastPanelEl;\n\n nextPanelEl.animate([{ opacity: '0' }, { opacity: '1' }], {\n delay: fadeDelay,\n duration: fadeDuration,\n fill: 'forwards',\n });\n }\n }\n}\n"],"names":["SidenavPortalTarget","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_defineProperty","window","matchMedia","prefersReducedMotionOverride","Ember","testing","prefersReducedMotion","prefersReducedMotionMQ","matches","panelsChanged","portalCount","numSubnavs","didUpdateSubnav","element","count","animateSubnav","activeIndex","targetElement","styles","getComputedStyle","columnWidth","getPropertyValue","slideDuration","fadeDuration","fadeDelay","start","transform","end","parseInt","anim","animate","duration","easing","fill","finished","then","allPrev","Array","from","children","slice","ele","ariaHidden","style","setProperty","DEBUG","offsetParent","commitStyles","nextPanelEl","lastPanelEl","length","isSameNode","opacity","delay","_applyDecoratedDescriptor","prototype","service","configurable","enumerable","writable","initializer","tracked","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
1
+ {"version":3,"file":"target.js","sources":["../../../../../src/components/hds/side-nav/portal/target.hbs","../../../../../src/components/hds/side-nav/portal/target.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<div class=\\\"hds-side-nav__content\\\" ...attributes>\\n <PortalTarget\\n @multiple={{true}}\\n @onChange={{this.panelsChanged}}\\n @name={{if @targetName @targetName \\\"hds-side-nav-portal-target\\\"}}\\n class=\\\"hds-side-nav__content-panels hds-side-nav-hide-when-minimized\\\"\\n {{did-update this.didUpdateSubnav this.numSubnavs}}\\n />\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { DEBUG } from '@glimmer/env';\nimport Ember from 'ember';\n\nimport type { HdsSideNavPortalSignature } from './index';\n\n// import { PortalTargetSignature } from 'ember-stargate/components/portal-target';\ninterface PortalTargetSignature {\n Element: HTMLDivElement;\n Args: {\n name: string;\n multiple?: boolean;\n onChange?: (count: number) => void;\n };\n Blocks: {\n default: [number];\n };\n}\n\nimport type { Registry as Services } from '@ember/service';\n\ninterface HdsSideNavPortalTargetSignature {\n Args: PortalTargetSignature['Args'] & {\n targetName?: HdsSideNavPortalSignature['Args']['targetName'];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsSideNavPortalTargetComponent extends Component<HdsSideNavPortalTargetSignature> {\n @service router!: Services['router'];\n\n @tracked numSubnavs = 0;\n @tracked lastPanelEl: Element | undefined;\n\n static get prefersReducedMotionOverride() {\n return Ember.testing;\n }\n\n prefersReducedMotionMQ = window.matchMedia(\n '(prefers-reduced-motion: reduce)'\n );\n\n get prefersReducedMotion() {\n return (\n HdsSideNavPortalTargetComponent.prefersReducedMotionOverride ||\n (this.prefersReducedMotionMQ && this.prefersReducedMotionMQ.matches)\n );\n }\n\n @action\n panelsChanged(portalCount: number) {\n this.numSubnavs = portalCount;\n }\n\n @action\n didUpdateSubnav(element: HTMLElement, [count]: [number]) {\n this.animateSubnav(element, [count]);\n }\n\n @action\n animateSubnav(element: HTMLElement, [count]: [number]) {\n /*\n * Here is what the layout looks like for this setup\n *\n\n SideNav\n +----------------------+\n | +------------------+ |\n | | (\"header\") | |\n | +------------------+ |\n | |\n | +------------------+ |\n | | (\"body\") | |\n (PortalTarget) | | | |\n +----------------------------------------------+ | |\n | +----------+ +----------+ | +----------+ | | |\n | | (Portal) | | (Portal) | | (Portal) | | | |\n | | | | | | | | | | |\n | | hidden | | hidden | | *active* | | | |\n | | panel | | panel | | | panel | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | +----------+ +----------+ | +----------+ | | |\n +----------------------------------------------+ | |\n | | | |\n | +------------------+ |\n | |\n | +------------------+ |\n | | (\"footer\") | |\n | +------------------+ |\n +----------------------+\n\n *\n * every time `HcAppFrame::SideNav::Portal` renders, it contains a portaled \"panel\"\n * that is rendered into the `hds-side-nav__content-panels` (inside the PortalTarget).\n *\n * Rendering or unrendering other `HcAppFrame::SideNav::Portal`s triggers the number of\n * subnavs to change (via `numSubnavs`), so this function runs and slides\n * `hds-side-nav__content-panels` left or right using the `element.animate` api.\n *\n * */\n\n const activeIndex = count - 1;\n const targetElement = element;\n const { prefersReducedMotion } = this;\n\n const styles = getComputedStyle(targetElement);\n const columnWidth = styles.getPropertyValue(\n '--hds-app-sidenav-width-expanded'\n );\n const slideDuration = prefersReducedMotion ? 0 : 150;\n let fadeDuration = prefersReducedMotion ? 0 : 175;\n let fadeDelay = prefersReducedMotion ? 0 : 50;\n\n // slide entire parent panel\n const start = styles.transform;\n const end = `translateX(-${activeIndex * parseInt(columnWidth, 10)}px)`;\n const anim = targetElement.animate(\n [{ transform: start }, { transform: end }],\n {\n duration: slideDuration,\n easing: 'cubic-bezier(0.65, 0, 0.35, 1)',\n fill: 'forwards',\n }\n );\n\n anim.finished.then(() => {\n // uncomment this if we need/want to scroll the element to the top\n // targetElement.scrollIntoView(true);\n if (activeIndex > 0) {\n const allPrev = Array.from(targetElement.children).slice(\n 0,\n activeIndex\n ) as HTMLElement[];\n for (const ele of allPrev) {\n ele.ariaHidden = 'true';\n ele.style.setProperty('visibility', 'hidden');\n ele.style.setProperty('opacity', '0');\n }\n }\n // Notice: we don't add the styles by default because it writes a `style` attribute to the element and it causes an additional re-render\n if (DEBUG) {\n // Check the visibility of the element before attempting to commitStyles.\n if (targetElement.offsetParent !== null) {\n anim.commitStyles();\n }\n }\n });\n\n // fade in next panel\n const nextPanelEl = targetElement.children[activeIndex] as HTMLElement;\n\n // get reference to last child panel\n const lastPanelEl = targetElement.children[\n targetElement.children.length - 1\n ] as HTMLElement;\n\n if (nextPanelEl) {\n nextPanelEl.ariaHidden = 'false';\n nextPanelEl.style.setProperty('visibility', 'visible');\n // this eliminates a flicker if there's only one subnav rendering or if we\n // already just rendered this panel.\n if (this.lastPanelEl) {\n if (activeIndex === 0 || nextPanelEl.isSameNode(this.lastPanelEl)) {\n fadeDelay = 0;\n fadeDuration = 0;\n }\n }\n\n // remember the last panel\n this.lastPanelEl = lastPanelEl;\n\n nextPanelEl.animate([{ opacity: '0' }, { opacity: '1' }], {\n delay: fadeDelay,\n duration: fadeDuration,\n fill: 'forwards',\n });\n }\n }\n}\n"],"names":["HdsSideNavPortalTargetComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_defineProperty","window","matchMedia","prefersReducedMotionOverride","Ember","testing","prefersReducedMotion","prefersReducedMotionMQ","matches","panelsChanged","portalCount","numSubnavs","didUpdateSubnav","element","count","animateSubnav","activeIndex","targetElement","styles","getComputedStyle","columnWidth","getPropertyValue","slideDuration","fadeDuration","fadeDelay","start","transform","end","parseInt","anim","animate","duration","easing","fill","finished","then","allPrev","Array","from","children","slice","ele","ariaHidden","style","setProperty","DEBUG","offsetParent","commitStyles","nextPanelEl","lastPanelEl","length","isSameNode","opacity","delay","_applyDecoratedDescriptor","prototype","service","configurable","enumerable","writable","initializer","tracked","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -2,9 +2,15 @@ import templateOnly from '@ember/component/template-only';
2
2
  import { precompileTemplate } from '@ember/template-compilation';
3
3
  import { setComponentTemplate } from '@ember/component';
4
4
 
5
- var TEMPLATE = precompileTemplate("{{! @glint-nocheck: not typesafe yet }}\n{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<button class=\"hds-side-nav__toggle-button\" type=\"button\" ...attributes>\n <FlightIcon @name={{@icon}} />\n</button>");
5
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<button class=\"hds-side-nav__toggle-button\" type=\"button\" ...attributes>\n <FlightIcon @name={{@icon}} />\n</button>");
6
6
 
7
- var toggleButton = setComponentTemplate(TEMPLATE, templateOnly());
7
+ /**
8
+ * Copyright (c) HashiCorp, Inc.
9
+ * SPDX-License-Identifier: MPL-2.0
10
+ */
11
+
12
+ const HdsSideNavToggleButtonComponent = templateOnly();
13
+ var toggleButton = setComponentTemplate(TEMPLATE, HdsSideNavToggleButtonComponent);
8
14
 
9
15
  export { toggleButton as default };
10
16
  //# sourceMappingURL=toggle-button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-button.js","sources":["../../../../src/components/hds/side-nav/toggle-button.hbs","../../../../src/components/hds/side-nav/toggle-button.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<button class=\\\"hds-side-nav__toggle-button\\\" type=\\\"button\\\" ...attributes>\\n <FlightIcon @name={{@icon}} />\\n</button>\")","import templateOnly from '@ember/component/template-only';\nexport default templateOnly();\n"],"names":["setComponentTemplate","TEMPLATE","templateOnly"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,kPAAkP;;ACApR,mBAAAA,oBAAA,CAAAC,QAAA,EAAeC,YAAY,EAAE,CAAA;;;;"}
1
+ {"version":3,"file":"toggle-button.js","sources":["../../../../src/components/hds/side-nav/toggle-button.hbs","../../../../src/components/hds/side-nav/toggle-button.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<button class=\\\"hds-side-nav__toggle-button\\\" type=\\\"button\\\" ...attributes>\\n <FlightIcon @name={{@icon}} />\\n</button>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nimport type { FlightIconSignature } from '@hashicorp/ember-flight-icons/components/flight-icon';\n\ninterface HdsSideNavToggleButtonSignature {\n Args: {\n icon: FlightIconSignature['Args']['name'];\n };\n Element: HTMLButtonElement;\n}\n\nconst HdsSideNavToggleButtonComponent =\n TemplateOnlyComponent<HdsSideNavToggleButtonSignature>();\n\nexport default HdsSideNavToggleButtonComponent;\n"],"names":["HdsSideNavToggleButtonComponent","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,yMAAyM;;ACD3O;AACA;AACA;AACA;;AAaA,MAAMA,+BAA+B,GACnCC,YAAqB,EAAmC,CAAA;AAE1D,mBAAAC,oBAAA,CAAAC,QAAA,EAAeH,+BAA+B,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"indicator.js","sources":["../../../../../src/components/hds/stepper/step/indicator.hbs","../../../../../src/components/hds/stepper/step/indicator.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class={{this.classNames}} ...attributes>\\n <div class=\\\"hds-stepper-indicator-step__svg-hexagon\\\">\\n <svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" aria-hidden=\\\"true\\\">\\n <path\\n d=\\\"m3.664 6.264 6.99-4.42a2.5 2.5 0 0 1 2.67-.002l7.01 4.422A2.5 2.5 0 0 1 21.5 8.38v7.242a2.5 2.5 0 0 1-1.166 2.115l-7.01 4.422a2.5 2.5 0 0 1-2.67-.002l-6.99-4.42A2.5 2.5 0 0 1 2.5 15.623V8.377a2.5 2.5 0 0 1 1.164-2.113Z\\\"\\n stroke-width=\\\"1\\\"\\n ></path>\\n </svg>\\n </div>\\n <div class=\\\"hds-stepper-indicator-step__status\\\">\\n {{#if (eq @status \\\"processing\\\")}}\\n <FlightIcon class=\\\"hds-stepper-indicator-step__icon\\\" @name=\\\"loading\\\" @size=\\\"16\\\" />\\n {{else if (eq @status \\\"complete\\\")}}\\n <FlightIcon class=\\\"hds-stepper-indicator-step__icon\\\" @name=\\\"check\\\" @size=\\\"16\\\" />\\n {{else}}\\n <Hds::Text::Body\\n class=\\\"hds-stepper-indicator-step__text\\\"\\n @tag=\\\"span\\\"\\n @size=\\\"100\\\"\\n @weight=\\\"medium\\\"\\n >{{@text}}</Hds::Text::Body>\\n {{/if}}\\n </div>\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport { HdsStepperStatusesValues } from '../types.ts';\nimport type { HdsStepperStatuses } from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: string[] = Object.values(HdsStepperStatusesValues);\n\ninterface HdsStepperStepIndicatorSignature {\n Args: {\n status: HdsStepperStatuses;\n isInteractive?: boolean;\n text: string;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsStepperStepIndicatorComponent extends Component<HdsStepperStepIndicatorSignature> {\n /**\n * @param status\n * @type {string}\n * @default \"incomplete\"\n */\n\n get status() {\n const { status = DEFAULT_STATUS } = this.args;\n\n assert(\n `@status for \"Hds::Stepper::Step::Indicator\" must be one of the following: ${STATUSES.join(\n ', '\n )}; received: ${status}`,\n STATUSES.includes(status)\n );\n\n return status;\n }\n\n /**\n * @param isInteractive\n * @type {boolean}\n * @default false\n */\n\n get isInteractive() {\n return this.args.isInteractive || false;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method IndicatorStep#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n const classes = ['hds-stepper-indicator-step'];\n\n // Based on the @status arg\n classes.push(`hds-stepper-indicator-step--status-${this.status}`);\n\n if (this.isInteractive) {\n classes.push(`hds-stepper-indicator-step--is-interactive`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_STATUS","HdsStepperStatusesValues","Incomplete","STATUSES","Object","values","HdsStepperStepIndicatorComponent","Component","status","args","assert","join","includes","isInteractive","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,oqCAAoqC;;ACDtsC;AACA;AACA;AACA;;AAQaA,MAAAA,cAAc,GAAGC,wBAAwB,CAACC,WAAU;AAC1D,MAAMC,QAAkB,GAAGC,MAAM,CAACC,MAAM,CAACJ,wBAAwB,EAAC;AAW1D,MAAMK,gCAAgC,SAASC,SAAS,CAAmC;AACxG;AACF;AACA;AACA;AACA;;EAEE,IAAIC,MAAMA,GAAG;IACX,MAAM;AAAEA,MAAAA,MAAM,GAAGR,cAAAA;KAAgB,GAAG,IAAI,CAACS,IAAI,CAAA;AAE7CC,IAAAA,MAAM,CACH,CAA4EP,0EAAAA,EAAAA,QAAQ,CAACQ,IAAI,CACxF,IACF,CAAE,CAAA,YAAA,EAAcH,MAAO,CAAA,CAAC,EACxBL,QAAQ,CAACS,QAAQ,CAACJ,MAAM,CAC1B,CAAC,CAAA;AAED,IAAA,OAAOA,MAAM,CAAA;AACf,GAAA;;AAEA;AACF;AACA;AACA;AACA;;EAEE,IAAIK,aAAaA,GAAG;AAClB,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,aAAa,IAAI,KAAK,CAAA;AACzC,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAG;AACf,IAAA,MAAMC,OAAO,GAAG,CAAC,4BAA4B,CAAC,CAAA;;AAE9C;IACAA,OAAO,CAACC,IAAI,CAAE,CAAA,mCAAA,EAAqC,IAAI,CAACR,MAAO,EAAC,CAAC,CAAA;IAEjE,IAAI,IAAI,CAACK,aAAa,EAAE;AACtBE,MAAAA,OAAO,CAACC,IAAI,CAAE,CAAA,0CAAA,CAA2C,CAAC,CAAA;AAC5D,KAAA;AAEA,IAAA,OAAOD,OAAO,CAACJ,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACM,oBAAA,CAAAC,QAAA,EA/CoBZ,gCAAgC,CAAA;;;;"}
1
+ {"version":3,"file":"indicator.js","sources":["../../../../../src/components/hds/stepper/step/indicator.hbs","../../../../../src/components/hds/stepper/step/indicator.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class={{this.classNames}} ...attributes>\\n <div class=\\\"hds-stepper-indicator-step__svg-hexagon\\\">\\n <svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" aria-hidden=\\\"true\\\">\\n <path\\n d=\\\"m3.664 6.264 6.99-4.42a2.5 2.5 0 0 1 2.67-.002l7.01 4.422A2.5 2.5 0 0 1 21.5 8.38v7.242a2.5 2.5 0 0 1-1.166 2.115l-7.01 4.422a2.5 2.5 0 0 1-2.67-.002l-6.99-4.42A2.5 2.5 0 0 1 2.5 15.623V8.377a2.5 2.5 0 0 1 1.164-2.113Z\\\"\\n stroke-width=\\\"1\\\"\\n ></path>\\n </svg>\\n </div>\\n <div class=\\\"hds-stepper-indicator-step__status\\\">\\n {{#if (eq @status \\\"processing\\\")}}\\n <FlightIcon class=\\\"hds-stepper-indicator-step__icon\\\" @name=\\\"loading\\\" @size=\\\"16\\\" />\\n {{else if (eq @status \\\"complete\\\")}}\\n <FlightIcon class=\\\"hds-stepper-indicator-step__icon\\\" @name=\\\"check\\\" @size=\\\"16\\\" />\\n {{else}}\\n <Hds::Text::Body\\n class=\\\"hds-stepper-indicator-step__text\\\"\\n @tag=\\\"span\\\"\\n @size=\\\"100\\\"\\n @weight=\\\"medium\\\"\\n >{{@text}}</Hds::Text::Body>\\n {{/if}}\\n </div>\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport { HdsStepperStatusesValues } from '../types.ts';\nimport type { HdsStepperStatuses } from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: string[] = Object.values(HdsStepperStatusesValues);\n\ninterface HdsStepperStepIndicatorSignature {\n Args: {\n status: HdsStepperStatuses;\n isInteractive?: boolean;\n text: string;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsStepperStepIndicatorComponent extends Component<HdsStepperStepIndicatorSignature> {\n /**\n * @param status\n * @type {string}\n * @default \"incomplete\"\n */\n\n get status() {\n const { status = DEFAULT_STATUS } = this.args;\n\n assert(\n `@status for \"Hds::Stepper::Step::Indicator\" must be one of the following: ${STATUSES.join(\n ', '\n )}; received: ${status}`,\n STATUSES.includes(status)\n );\n\n return status;\n }\n\n /**\n * @param isInteractive\n * @type {boolean}\n * @default false\n */\n\n get isInteractive() {\n return this.args.isInteractive || false;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method IndicatorStep#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n const classes = ['hds-stepper-indicator-step'];\n\n // Based on the @status arg\n classes.push(`hds-stepper-indicator-step--status-${this.status}`);\n\n if (this.isInteractive) {\n classes.push(`hds-stepper-indicator-step--is-interactive`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_STATUS","HdsStepperStatusesValues","Incomplete","STATUSES","Object","values","HdsStepperStepIndicatorComponent","Component","status","args","assert","join","includes","isInteractive","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,oqCAAoqC;;ACDtsC;AACA;AACA;AACA;;AAQaA,MAAAA,cAAc,GAAGC,wBAAwB,CAACC,WAAU;AAC1D,MAAMC,QAAkB,GAAGC,MAAM,CAACC,MAAM,CAACJ,wBAAwB,EAAC;AAW1D,MAAMK,gCAAgC,SAASC,SAAS,CAAmC;AACxG;AACF;AACA;AACA;AACA;;EAEE,IAAIC,MAAMA,GAAG;IACX,MAAM;AAAEA,MAAAA,MAAM,GAAGR,cAAAA;KAAgB,GAAG,IAAI,CAACS,IAAI,CAAA;AAE7CC,IAAAA,MAAM,CACJ,CAA6EP,0EAAAA,EAAAA,QAAQ,CAACQ,IAAI,CACxF,IACF,CAAC,CAAA,YAAA,EAAeH,MAAM,CAAA,CAAE,EACxBL,QAAQ,CAACS,QAAQ,CAACJ,MAAM,CAC1B,CAAC,CAAA;AAED,IAAA,OAAOA,MAAM,CAAA;AACf,GAAA;;AAEA;AACF;AACA;AACA;AACA;;EAEE,IAAIK,aAAaA,GAAG;AAClB,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,aAAa,IAAI,KAAK,CAAA;AACzC,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAG;AACf,IAAA,MAAMC,OAAO,GAAG,CAAC,4BAA4B,CAAC,CAAA;;AAE9C;IACAA,OAAO,CAACC,IAAI,CAAC,CAAA,mCAAA,EAAsC,IAAI,CAACR,MAAM,EAAE,CAAC,CAAA;IAEjE,IAAI,IAAI,CAACK,aAAa,EAAE;AACtBE,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,0CAAA,CAA4C,CAAC,CAAA;AAC5D,KAAA;AAEA,IAAA,OAAOD,OAAO,CAACJ,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACM,oBAAA,CAAAC,QAAA,EA/CoBZ,gCAAgC,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"indicator.js","sources":["../../../../../src/components/hds/stepper/task/indicator.hbs","../../../../../src/components/hds/stepper/task/indicator.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class={{this.classNames}} ...attributes>\\n <FlightIcon class=\\\"hds-stepper-indicator-task__icon\\\" @name={{this.iconName}} @size=\\\"16\\\" />\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport {\n HdsStepperStatusesValues,\n HdsStepperStatusToIconsValues,\n} from '../types.ts';\nimport type { HdsStepperStatuses } from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: string[] = Object.values(HdsStepperStatusesValues);\n\nexport const MAPPING_STATUS_TO_ICONS = HdsStepperStatusToIconsValues;\n\ninterface HdsStepperTaskIndicatorSignature {\n Args: {\n status: HdsStepperStatuses;\n isInteractive?: boolean;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsStepperTaskIndicatorComponent extends Component<HdsStepperTaskIndicatorSignature> {\n /**\n * @param status\n * @type {string}\n * @default \"incomplete\"\n */\n\n get status() {\n const { status = DEFAULT_STATUS } = this.args;\n\n assert(\n `@status for \"Hds::Stepper::Task::Indicator\" must be one of the following: ${STATUSES.join(\n ', '\n )}; received: ${status}`,\n STATUSES.includes(status)\n );\n\n return status;\n }\n\n /**\n * @param isInteractive\n * @type {boolean}\n * @default false\n */\n\n get isInteractive() {\n return this.args.isInteractive || false;\n }\n\n /**\n * @param iconName\n * @type {string}\n */\n\n get iconName() {\n return MAPPING_STATUS_TO_ICONS[this.status];\n }\n\n /**\n * Get the class names to apply to the component.\n * @method IndicatorTask#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n const classes = ['hds-stepper-indicator-task'];\n\n // Based on the @status arg\n classes.push(`hds-stepper-indicator-task--status-${this.status}`);\n\n if (this.isInteractive) {\n classes.push(`hds-stepper-indicator-task--is-interactive`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_STATUS","HdsStepperStatusesValues","Incomplete","STATUSES","Object","values","MAPPING_STATUS_TO_ICONS","HdsStepperStatusToIconsValues","HdsStepperTaskIndicatorComponent","Component","status","args","assert","join","includes","isInteractive","iconName","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,uOAAuO;;ACDzQ;AACA;AACA;AACA;;AAWaA,MAAAA,cAAc,GAAGC,wBAAwB,CAACC,WAAU;AAC1D,MAAMC,QAAkB,GAAGC,MAAM,CAACC,MAAM,CAACJ,wBAAwB,EAAC;AAElE,MAAMK,uBAAuB,GAAGC,8BAA6B;AAUrD,MAAMC,gCAAgC,SAASC,SAAS,CAAmC;AACxG;AACF;AACA;AACA;AACA;;EAEE,IAAIC,MAAMA,GAAG;IACX,MAAM;AAAEA,MAAAA,MAAM,GAAGV,cAAAA;KAAgB,GAAG,IAAI,CAACW,IAAI,CAAA;AAE7CC,IAAAA,MAAM,CACH,CAA4ET,0EAAAA,EAAAA,QAAQ,CAACU,IAAI,CACxF,IACF,CAAE,CAAA,YAAA,EAAcH,MAAO,CAAA,CAAC,EACxBP,QAAQ,CAACW,QAAQ,CAACJ,MAAM,CAC1B,CAAC,CAAA;AAED,IAAA,OAAOA,MAAM,CAAA;AACf,GAAA;;AAEA;AACF;AACA;AACA;AACA;;EAEE,IAAIK,aAAaA,GAAG;AAClB,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,aAAa,IAAI,KAAK,CAAA;AACzC,GAAA;;AAEA;AACF;AACA;AACA;;EAEE,IAAIC,QAAQA,GAAG;AACb,IAAA,OAAOV,uBAAuB,CAAC,IAAI,CAACI,MAAM,CAAC,CAAA;AAC7C,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIO,UAAUA,GAAG;AACf,IAAA,MAAMC,OAAO,GAAG,CAAC,4BAA4B,CAAC,CAAA;;AAE9C;IACAA,OAAO,CAACC,IAAI,CAAE,CAAA,mCAAA,EAAqC,IAAI,CAACT,MAAO,EAAC,CAAC,CAAA;IAEjE,IAAI,IAAI,CAACK,aAAa,EAAE;AACtBG,MAAAA,OAAO,CAACC,IAAI,CAAE,CAAA,0CAAA,CAA2C,CAAC,CAAA;AAC5D,KAAA;AAEA,IAAA,OAAOD,OAAO,CAACL,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACO,oBAAA,CAAAC,QAAA,EAxDoBb,gCAAgC,CAAA;;;;"}
1
+ {"version":3,"file":"indicator.js","sources":["../../../../../src/components/hds/stepper/task/indicator.hbs","../../../../../src/components/hds/stepper/task/indicator.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class={{this.classNames}} ...attributes>\\n <FlightIcon class=\\\"hds-stepper-indicator-task__icon\\\" @name={{this.iconName}} @size=\\\"16\\\" />\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport {\n HdsStepperStatusesValues,\n HdsStepperStatusToIconsValues,\n} from '../types.ts';\nimport type { HdsStepperStatuses } from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: string[] = Object.values(HdsStepperStatusesValues);\n\nexport const MAPPING_STATUS_TO_ICONS = HdsStepperStatusToIconsValues;\n\ninterface HdsStepperTaskIndicatorSignature {\n Args: {\n status: HdsStepperStatuses;\n isInteractive?: boolean;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsStepperTaskIndicatorComponent extends Component<HdsStepperTaskIndicatorSignature> {\n /**\n * @param status\n * @type {string}\n * @default \"incomplete\"\n */\n\n get status() {\n const { status = DEFAULT_STATUS } = this.args;\n\n assert(\n `@status for \"Hds::Stepper::Task::Indicator\" must be one of the following: ${STATUSES.join(\n ', '\n )}; received: ${status}`,\n STATUSES.includes(status)\n );\n\n return status;\n }\n\n /**\n * @param isInteractive\n * @type {boolean}\n * @default false\n */\n\n get isInteractive() {\n return this.args.isInteractive || false;\n }\n\n /**\n * @param iconName\n * @type {string}\n */\n\n get iconName() {\n return MAPPING_STATUS_TO_ICONS[this.status];\n }\n\n /**\n * Get the class names to apply to the component.\n * @method IndicatorTask#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n const classes = ['hds-stepper-indicator-task'];\n\n // Based on the @status arg\n classes.push(`hds-stepper-indicator-task--status-${this.status}`);\n\n if (this.isInteractive) {\n classes.push(`hds-stepper-indicator-task--is-interactive`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_STATUS","HdsStepperStatusesValues","Incomplete","STATUSES","Object","values","MAPPING_STATUS_TO_ICONS","HdsStepperStatusToIconsValues","HdsStepperTaskIndicatorComponent","Component","status","args","assert","join","includes","isInteractive","iconName","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,uOAAuO;;ACDzQ;AACA;AACA;AACA;;AAWaA,MAAAA,cAAc,GAAGC,wBAAwB,CAACC,WAAU;AAC1D,MAAMC,QAAkB,GAAGC,MAAM,CAACC,MAAM,CAACJ,wBAAwB,EAAC;AAElE,MAAMK,uBAAuB,GAAGC,8BAA6B;AAUrD,MAAMC,gCAAgC,SAASC,SAAS,CAAmC;AACxG;AACF;AACA;AACA;AACA;;EAEE,IAAIC,MAAMA,GAAG;IACX,MAAM;AAAEA,MAAAA,MAAM,GAAGV,cAAAA;KAAgB,GAAG,IAAI,CAACW,IAAI,CAAA;AAE7CC,IAAAA,MAAM,CACJ,CAA6ET,0EAAAA,EAAAA,QAAQ,CAACU,IAAI,CACxF,IACF,CAAC,CAAA,YAAA,EAAeH,MAAM,CAAA,CAAE,EACxBP,QAAQ,CAACW,QAAQ,CAACJ,MAAM,CAC1B,CAAC,CAAA;AAED,IAAA,OAAOA,MAAM,CAAA;AACf,GAAA;;AAEA;AACF;AACA;AACA;AACA;;EAEE,IAAIK,aAAaA,GAAG;AAClB,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,aAAa,IAAI,KAAK,CAAA;AACzC,GAAA;;AAEA;AACF;AACA;AACA;;EAEE,IAAIC,QAAQA,GAAG;AACb,IAAA,OAAOV,uBAAuB,CAAC,IAAI,CAACI,MAAM,CAAC,CAAA;AAC7C,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIO,UAAUA,GAAG;AACf,IAAA,MAAMC,OAAO,GAAG,CAAC,4BAA4B,CAAC,CAAA;;AAE9C;IACAA,OAAO,CAACC,IAAI,CAAC,CAAA,mCAAA,EAAsC,IAAI,CAACT,MAAM,EAAE,CAAC,CAAA;IAEjE,IAAI,IAAI,CAACK,aAAa,EAAE;AACtBG,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,0CAAA,CAA4C,CAAC,CAAA;AAC5D,KAAA;AAEA,IAAA,OAAOD,OAAO,CAACL,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACO,oBAAA,CAAAC,QAAA,EAxDoBb,gCAAgC,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../src/components/hds/stepper/types.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nexport enum HdsStepperStatusesValues {\n Incomplete = 'incomplete',\n Progress = 'progress',\n Processing = 'processing',\n Complete = 'complete',\n}\n\nexport type HdsStepperStatuses = `${HdsStepperStatusesValues}`;\n\nexport const HdsStepperStatusToIconsValues: Record<\n HdsStepperStatusesValues,\n string\n> = {\n [HdsStepperStatusesValues.Incomplete]: 'circle',\n [HdsStepperStatusesValues.Progress]: 'circle-half',\n [HdsStepperStatusesValues.Processing]: 'loading',\n [HdsStepperStatusesValues.Complete]: 'check-circle',\n};\n"],"names":["HdsStepperStatusesValues","HdsStepperStatusToIconsValues","Incomplete","Progress","Processing","Complete"],"mappings":"AAAA;AACA;AACA;AACA;;AAEYA,IAAAA,wBAAwB,0BAAxBA,wBAAwB,EAAA;EAAxBA,wBAAwB,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAxBA,wBAAwB,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;EAAxBA,wBAAwB,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAxBA,wBAAwB,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;AAAA,EAAA,OAAxBA,wBAAwB,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAS7B,MAAMC,6BAGZ,GAAG;AACF,EAAA,CAACD,wBAAwB,CAACE,UAAU,GAAG,QAAQ;AAC/C,EAAA,CAACF,wBAAwB,CAACG,QAAQ,GAAG,aAAa;AAClD,EAAA,CAACH,wBAAwB,CAACI,UAAU,GAAG,SAAS;EAChD,CAACJ,wBAAwB,CAACK,QAAQ,GAAG,cAAA;AACvC;;;;"}
1
+ {"version":3,"file":"types.js","sources":["../../../../src/components/hds/stepper/types.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\nimport type { FlightIconSignature } from '@hashicorp/ember-flight-icons/components/flight-icon';\n\nexport enum HdsStepperStatusesValues {\n Incomplete = 'incomplete',\n Progress = 'progress',\n Processing = 'processing',\n Complete = 'complete',\n}\n\nexport type HdsStepperStatuses = `${HdsStepperStatusesValues}`;\n\nexport const HdsStepperStatusToIconsValues: Record<\n HdsStepperStatusesValues,\n FlightIconSignature['Args']['name']\n> = {\n [HdsStepperStatusesValues.Incomplete]: 'circle',\n [HdsStepperStatusesValues.Progress]: 'circle-half',\n [HdsStepperStatusesValues.Processing]: 'loading',\n [HdsStepperStatusesValues.Complete]: 'check-circle',\n};\n"],"names":["HdsStepperStatusesValues","HdsStepperStatusToIconsValues","Incomplete","Progress","Processing","Complete"],"mappings":"AAAA;AACA;AACA;AACA;;AAGYA,IAAAA,wBAAwB,0BAAxBA,wBAAwB,EAAA;EAAxBA,wBAAwB,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAxBA,wBAAwB,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;EAAxBA,wBAAwB,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAxBA,wBAAwB,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;AAAA,EAAA,OAAxBA,wBAAwB,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAS7B,MAAMC,6BAGZ,GAAG;AACF,EAAA,CAACD,wBAAwB,CAACE,UAAU,GAAG,QAAQ;AAC/C,EAAA,CAACF,wBAAwB,CAACG,QAAQ,GAAG,aAAa;AAClD,EAAA,CAACH,wBAAwB,CAACI,UAAU,GAAG,SAAS;EAChD,CAACJ,wBAAwB,CAACK,QAAQ,GAAG,cAAA;AACvC;;;;"}
@@ -1,4 +1,4 @@
1
- import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty, a as _defineProperty } from '../../../_rollupPluginBabelHelpers-NoJJJNhk.js';
1
+ import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty, a as _defineProperty } from '../../../_rollupPluginBabelHelpers-KIi_qCIU.js';
2
2
  import Component from '@glimmer/component';
3
3
  import { tracked } from '@glimmer/tracking';
4
4
  import { action } from '@ember/object';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/table/index.hbs","../../../../src/components/hds/table/index.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<table class={{this.classNames}} ...attributes>\\n {{#if @columns}}\\n <caption class=\\\"sr-only\\\" aria-live=\\\"polite\\\">{{@caption}} {{this.sortedMessageText}}</caption>\\n {{else if @caption}}\\n <caption class=\\\"sr-only\\\">{{@caption}}</caption>\\n {{/if}}\\n\\n <thead class=\\\"hds-table__thead\\\">\\n {{#if @columns}}\\n <Hds::Table::Tr\\n @selectionScope=\\\"col\\\"\\n @isSelectable={{@isSelectable}}\\n @onSelectionChange={{this.onSelectionAllChange}}\\n @didInsert={{this.didInsertSelectAllCheckbox}}\\n @willDestroy={{this.willDestroySelectAllCheckbox}}\\n @selectionAriaLabelSuffix=\\\"all rows\\\"\\n >\\n {{#each @columns as |column|}}\\n {{#if column.isSortable}}\\n <Hds::Table::ThSort\\n @sortOrder={{if (eq column.key this.sortBy) this.sortOrder}}\\n @onClickSort={{fn this.setSortBy column.key}}\\n @align={{column.align}}\\n @width={{column.width}}\\n @tooltip={{column.tooltip}}\\n >\\n {{column.label}}\\n </Hds::Table::ThSort>\\n {{else}}\\n <Hds::Table::Th\\n @align={{column.align}}\\n @width={{column.width}}\\n @tooltip={{column.tooltip}}\\n @isVisuallyHidden={{column.isVisuallyHidden}}\\n >{{column.label}}</Hds::Table::Th>\\n {{/if}}\\n {{/each}}\\n </Hds::Table::Tr>\\n {{else}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"col\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionAllChange\\n didInsert=this.didInsertSelectAllCheckbox\\n willDestroy=this.willDestroySelectAllCheckbox\\n selectionAriaLabelSuffix=\\\"all rows\\\"\\n )\\n Th=(component \\\"hds/table/th\\\")\\n ThSort=(component \\\"hds/table/th-sort\\\")\\n sortBy=this.sortBy\\n sortOrder=this.sortOrder\\n setSortBy=this.setSortBy\\n )\\n to=\\\"head\\\"\\n }}\\n {{/if}}\\n </thead>\\n\\n <tbody class=\\\"hds-table__tbody\\\">\\n {{#if @columns}}\\n {{! ----------------------------------------------------------------------------------------\\n IMPORTANT: we loop on the `model` array and for each record\\n we yield the Tr/Td/Th elements _and_ the record itself as `data`\\n this means the consumer will *have to* use the `data` key to access it in their template\\n -------------------------------------------------------------------------------------------- }}\\n {{#each (sort-by this.getSortCriteria @model) key=this.identityKey as |record|}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"row\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionRowChange\\n didInsert=this.didInsertRowCheckbox\\n willDestroy=this.willDestroyRowCheckbox\\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\\n )\\n Th=(component \\\"hds/table/th\\\" scope=\\\"row\\\")\\n Td=(component \\\"hds/table/td\\\" align=@align)\\n data=record\\n )\\n to=\\\"body\\\"\\n }}\\n {{/each}}\\n {{else}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"row\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionRowChange\\n didInsert=this.didInsertRowCheckbox\\n willDestroy=this.willDestroyRowCheckbox\\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\\n )\\n Th=(component \\\"hds/table/th\\\" scope=\\\"row\\\")\\n Td=(component \\\"hds/table/td\\\" align=@align)\\n sortBy=this.sortBy\\n sortOrder=this.sortOrder\\n )\\n to=\\\"body\\\"\\n }}\\n {{/if}}\\n </tbody>\\n</table>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\n\nexport const DENSITIES = ['short', 'medium', 'tall'];\nconst DEFAULT_DENSITY = 'medium';\nconst VALIGNMENTS = ['top', 'middle', 'baseline'];\nconst DEFAULT_VALIGN = 'top';\n\nexport default class HdsTableIndexComponent extends Component {\n @tracked sortBy = this.args.sortBy;\n @tracked sortOrder = this.args.sortOrder || 'asc';\n @tracked selectAllCheckbox = undefined;\n selectableRows = [];\n @tracked isSelectAllCheckboxSelected = undefined;\n\n /**\n * @param getSortCriteria\n * @type {string | function}\n * @default sortBy:sortOrder\n * @description Returns the sort criteria\n */\n get getSortCriteria() {\n // get the current column\n const currentColumn = this.args?.columns?.find(\n (column) => column.key === this.sortBy\n );\n if (\n // check if there is a custom sorting function associated with the current `sortBy` column (we assume the column has `isSortable`)\n currentColumn?.sortingFunction &&\n typeof currentColumn.sortingFunction === 'function'\n ) {\n return currentColumn.sortingFunction;\n } else {\n // otherwise fallback to the default format \"sortBy:sortOrder\"\n return `${this.sortBy}:${this.sortOrder}`;\n }\n }\n\n /**\n * @param identityKey\n * @type {string}\n * @default '@identity'\n * @description Returns the key to use for the table rows to provide more granular control. If no identityKey is defined, Ember's default `@identity` is used. See https://api.emberjs.com/ember/release/classes/Ember.Templates.helpers/methods/each?anchor=each\n * this would be relevant for any table that would have data that could update or change, i.e., polling.\n */\n get identityKey() {\n // we have to provide a way for the consumer to pass undefined because Ember tries to interpret undefined as missing an arg and therefore falls back to the default\n if (this.args.identityKey === 'none') {\n return undefined;\n } else {\n return this.args.identityKey ?? '@identity';\n }\n }\n\n /**\n * @param sortedMessageText\n * @type {string}\n * @default ''\n * @description Returns the text to display in the sorted message. If no text is defined, the default text is used.\n */\n get sortedMessageText() {\n if (this.args.sortedMessageText) {\n return this.args.sortedMessageText;\n } else if (this.sortBy && this.sortOrder) {\n // we should allow the user to define a custom value here (e.g., for i18n) - tracked with HDS-965\n return `Sorted by ${this.sortBy} ${this.sortOrder}ending`;\n } else {\n return '';\n }\n }\n\n /**\n * @param isStriped\n * @type {boolean}\n * @default false\n * @description Determines whether the table rows should have alternating background colors; defaults to false.\n */\n get isStriped() {\n return this.args.isStriped ?? false;\n }\n\n /**\n * @param isFixedLayout\n * @type {boolean}\n * @default false\n * @description Determines whether the table-display should be set to fixed; meaning, the table columns are of equal width no matter the content; defaults to false.\n */\n get isFixedLayout() {\n return this.args.isFixedLayout ?? false;\n }\n\n /**\n * @param density\n * @type {string}\n * @default 'medium'\n * @description Determines the density of the table cells; options are \"short\", \"medium\" and \"tall\". If no density is defined, \"medium\" is used.\n */\n get density() {\n let { density = DEFAULT_DENSITY } = this.args;\n\n assert(\n `@density for \"Hds::Table\" must be one of the following: ${DENSITIES.join(\n ', '\n )}; received: ${density}`,\n DENSITIES.includes(density)\n );\n\n return density;\n }\n\n /**\n * @param valign\n * @type {string}\n * @default 'top'\n * @description Determines the vertical alignment of the table cells; options are: \"top\", \"middle\", \"baseline\". If no valign is defined, \"top\" is used.\n */\n get valign() {\n let { valign = DEFAULT_VALIGN } = this.args;\n\n assert(\n `@valign for \"Hds::Table\" must be one of the following: ${VALIGNMENTS.join(\n ', '\n )}; received: ${valign}`,\n VALIGNMENTS.includes(valign)\n );\n\n return valign;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-table'];\n\n // add a class based on the @isStriped argument\n if (this.isStriped) {\n classes.push('hds-table--striped');\n }\n\n // add a class based on the @isFixedLayout argument\n if (this.isFixedLayout) {\n classes.push('hds-table--layout-fixed');\n }\n\n // add a class based on the @density argument\n if (this.density) {\n classes.push(`hds-table--density-${this.density}`);\n }\n\n // add a class based on the @valign argument\n if (this.valign) {\n classes.push(`hds-table--valign-${this.valign}`);\n }\n\n return classes.join(' ');\n }\n\n @action\n setSortBy(column) {\n if (this.sortBy === column) {\n // check to see if the column is already sorted and invert the sort order if so\n this.sortOrder = this.sortOrder === 'asc' ? 'desc' : 'asc';\n } else {\n // otherwise, set the sort order to ascending\n this.sortBy = column;\n this.sortOrder = 'asc';\n }\n\n let { onSort } = this.args;\n\n if (typeof onSort === 'function') {\n onSort(this.sortBy, this.sortOrder);\n }\n }\n\n onSelectionChangeCallback(checkbox, selectionKey) {\n let { onSelectionChange } = this.args;\n if (typeof onSelectionChange === 'function') {\n onSelectionChange({\n selectionKey: selectionKey,\n selectionCheckboxElement: checkbox,\n selectedRowsKeys: this.selectableRows.reduce((acc, row) => {\n if (row.checkbox.checked) {\n acc.push(row.selectionKey);\n }\n return acc;\n }, []),\n selectableRowsStates: this.selectableRows.reduce((acc, row) => {\n acc.push({\n selectionKey: row.selectionKey,\n isSelected: row.checkbox.checked,\n });\n return acc;\n }, []),\n });\n }\n }\n\n @action\n onSelectionAllChange() {\n this.selectableRows.forEach((row) => {\n row.checkbox.checked = this.selectAllCheckbox.checked;\n row.checkbox.dispatchEvent(new Event('toggle', { bubbles: false }));\n });\n this.isSelectAllCheckboxSelected = this.selectAllCheckbox.checked;\n this.onSelectionChangeCallback(this.selectAllCheckbox, 'all');\n }\n\n @action\n onSelectionRowChange(checkbox, selectionKey) {\n this.setSelectAllState();\n this.onSelectionChangeCallback(checkbox, selectionKey);\n }\n\n @action\n didInsertSelectAllCheckbox(checkbox) {\n this.selectAllCheckbox = checkbox;\n }\n\n @action\n willDestroySelectAllCheckbox() {\n this.selectAllCheckbox = undefined;\n }\n\n @action\n didInsertRowCheckbox(checkbox, selectionKey) {\n this.selectableRows.push({ selectionKey, checkbox });\n this.setSelectAllState();\n }\n\n @action\n willDestroyRowCheckbox(selectionKey) {\n this.selectableRows = this.selectableRows.filter(\n (row) => row.selectionKey !== selectionKey\n );\n this.setSelectAllState();\n }\n\n @action\n setSelectAllState() {\n if (this.selectAllCheckbox) {\n let selectableRowsCount = this.selectableRows.length;\n let selectedRowsCount = this.selectableRows.filter(\n (row) => row.checkbox.checked\n ).length;\n\n this.selectAllCheckbox.checked =\n selectedRowsCount === selectableRowsCount;\n this.selectAllCheckbox.indeterminate =\n selectedRowsCount > 0 && selectedRowsCount < selectableRowsCount;\n this.isSelectAllCheckboxSelected = this.selectAllCheckbox.checked;\n this.selectAllCheckbox.dispatchEvent(\n new Event('toggle', { bubbles: false })\n );\n }\n }\n}\n"],"names":["DENSITIES","DEFAULT_DENSITY","VALIGNMENTS","DEFAULT_VALIGN","HdsTableIndexComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_defineProperty","_descriptor4","getSortCriteria","currentColumn","columns","find","column","key","sortBy","sortingFunction","sortOrder","identityKey","undefined","sortedMessageText","isStriped","isFixedLayout","density","assert","join","includes","valign","classNames","classes","push","setSortBy","onSort","onSelectionChangeCallback","checkbox","selectionKey","onSelectionChange","selectionCheckboxElement","selectedRowsKeys","selectableRows","reduce","acc","row","checked","selectableRowsStates","isSelected","onSelectionAllChange","forEach","selectAllCheckbox","dispatchEvent","Event","bubbles","isSelectAllCheckboxSelected","onSelectionRowChange","setSelectAllState","didInsertSelectAllCheckbox","willDestroySelectAllCheckbox","didInsertRowCheckbox","willDestroyRowCheckbox","filter","selectableRowsCount","length","selectedRowsCount","indeterminate","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AACA,eAAe,kBAAkB,CAAC,q/HAAq/H;;;ACShhI,MAAMA,SAAS,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAC;AACpD,MAAMC,eAAe,GAAG,QAAQ,CAAA;AAChC,MAAMC,WAAW,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;AACjD,MAAMC,cAAc,GAAG,KAAK,CAAA;AAEPC,IAAAA,sBAAsB,IAAAC,MAAA,GAA5B,MAAMD,sBAAsB,SAASE,SAAS,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAAAC,IAAAA,0BAAA,iBAAAC,WAAA,EAAA,IAAA,CAAA,CAAA;AAAAD,IAAAA,0BAAA,oBAAAE,YAAA,EAAA,IAAA,CAAA,CAAA;AAAAF,IAAAA,0BAAA,4BAAAG,YAAA,EAAA,IAAA,CAAA,CAAA;AAAAC,IAAAA,eAAA,yBAI3C,EAAE,CAAA,CAAA;AAAAJ,IAAAA,0BAAA,sCAAAK,YAAA,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA;AAGnB;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,eAAeA,GAAG;AACpB;AACA,IAAA,MAAMC,aAAa,GAAG,IAAI,CAACR,IAAI,EAAES,OAAO,EAAEC,IAAI,CAC3CC,MAAM,IAAKA,MAAM,CAACC,GAAG,KAAK,IAAI,CAACC,MAClC,CAAC,CAAA;AACD,IAAA;AACE;IACAL,aAAa,EAAEM,eAAe,IAC9B,OAAON,aAAa,CAACM,eAAe,KAAK,UAAU,EACnD;MACA,OAAON,aAAa,CAACM,eAAe,CAAA;AACtC,KAAC,MAAM;AACL;MACA,OAAQ,CAAA,EAAE,IAAI,CAACD,MAAO,IAAG,IAAI,CAACE,SAAU,CAAC,CAAA,CAAA;AAC3C,KAAA;AACF,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,WAAWA,GAAG;AAChB;AACA,IAAA,IAAI,IAAI,CAAChB,IAAI,CAACgB,WAAW,KAAK,MAAM,EAAE;AACpC,MAAA,OAAOC,SAAS,CAAA;AAClB,KAAC,MAAM;AACL,MAAA,OAAO,IAAI,CAACjB,IAAI,CAACgB,WAAW,IAAI,WAAW,CAAA;AAC7C,KAAA;AACF,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAIE,iBAAiBA,GAAG;AACtB,IAAA,IAAI,IAAI,CAAClB,IAAI,CAACkB,iBAAiB,EAAE;AAC/B,MAAA,OAAO,IAAI,CAAClB,IAAI,CAACkB,iBAAiB,CAAA;KACnC,MAAM,IAAI,IAAI,CAACL,MAAM,IAAI,IAAI,CAACE,SAAS,EAAE;AACxC;MACA,OAAQ,CAAA,UAAA,EAAY,IAAI,CAACF,MAAO,IAAG,IAAI,CAACE,SAAU,CAAO,MAAA,CAAA,CAAA;AAC3D,KAAC,MAAM;AACL,MAAA,OAAO,EAAE,CAAA;AACX,KAAA;AACF,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAII,SAASA,GAAG;AACd,IAAA,OAAO,IAAI,CAACnB,IAAI,CAACmB,SAAS,IAAI,KAAK,CAAA;AACrC,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,aAAaA,GAAG;AAClB,IAAA,OAAO,IAAI,CAACpB,IAAI,CAACoB,aAAa,IAAI,KAAK,CAAA;AACzC,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,OAAOA,GAAG;IACZ,IAAI;AAAEA,MAAAA,OAAO,GAAG5B,eAAAA;KAAiB,GAAG,IAAI,CAACO,IAAI,CAAA;AAE7CsB,IAAAA,MAAM,CACH,CAA0D9B,wDAAAA,EAAAA,SAAS,CAAC+B,IAAI,CACvE,IACF,CAAE,CAAA,YAAA,EAAcF,OAAQ,CAAA,CAAC,EACzB7B,SAAS,CAACgC,QAAQ,CAACH,OAAO,CAC5B,CAAC,CAAA;AAED,IAAA,OAAOA,OAAO,CAAA;AAChB,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAII,MAAMA,GAAG;IACX,IAAI;AAAEA,MAAAA,MAAM,GAAG9B,cAAAA;KAAgB,GAAG,IAAI,CAACK,IAAI,CAAA;AAE3CsB,IAAAA,MAAM,CACH,CAAyD5B,uDAAAA,EAAAA,WAAW,CAAC6B,IAAI,CACxE,IACF,CAAE,CAAA,YAAA,EAAcE,MAAO,CAAA,CAAC,EACxB/B,WAAW,CAAC8B,QAAQ,CAACC,MAAM,CAC7B,CAAC,CAAA;AAED,IAAA,OAAOA,MAAM,CAAA;AACf,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAG;AACf,IAAA,IAAIC,OAAO,GAAG,CAAC,WAAW,CAAC,CAAA;;AAE3B;IACA,IAAI,IAAI,CAACR,SAAS,EAAE;AAClBQ,MAAAA,OAAO,CAACC,IAAI,CAAC,oBAAoB,CAAC,CAAA;AACpC,KAAA;;AAEA;IACA,IAAI,IAAI,CAACR,aAAa,EAAE;AACtBO,MAAAA,OAAO,CAACC,IAAI,CAAC,yBAAyB,CAAC,CAAA;AACzC,KAAA;;AAEA;IACA,IAAI,IAAI,CAACP,OAAO,EAAE;MAChBM,OAAO,CAACC,IAAI,CAAE,CAAA,mBAAA,EAAqB,IAAI,CAACP,OAAQ,EAAC,CAAC,CAAA;AACpD,KAAA;;AAEA;IACA,IAAI,IAAI,CAACI,MAAM,EAAE;MACfE,OAAO,CAACC,IAAI,CAAE,CAAA,kBAAA,EAAoB,IAAI,CAACH,MAAO,EAAC,CAAC,CAAA;AAClD,KAAA;AAEA,IAAA,OAAOE,OAAO,CAACJ,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;EAGAM,SAASA,CAAClB,MAAM,EAAE;AAChB,IAAA,IAAI,IAAI,CAACE,MAAM,KAAKF,MAAM,EAAE;AAC1B;MACA,IAAI,CAACI,SAAS,GAAG,IAAI,CAACA,SAAS,KAAK,KAAK,GAAG,MAAM,GAAG,KAAK,CAAA;AAC5D,KAAC,MAAM;AACL;MACA,IAAI,CAACF,MAAM,GAAGF,MAAM,CAAA;MACpB,IAAI,CAACI,SAAS,GAAG,KAAK,CAAA;AACxB,KAAA;IAEA,IAAI;AAAEe,MAAAA,MAAAA;KAAQ,GAAG,IAAI,CAAC9B,IAAI,CAAA;AAE1B,IAAA,IAAI,OAAO8B,MAAM,KAAK,UAAU,EAAE;MAChCA,MAAM,CAAC,IAAI,CAACjB,MAAM,EAAE,IAAI,CAACE,SAAS,CAAC,CAAA;AACrC,KAAA;AACF,GAAA;AAEAgB,EAAAA,yBAAyBA,CAACC,QAAQ,EAAEC,YAAY,EAAE;IAChD,IAAI;AAAEC,MAAAA,iBAAAA;KAAmB,GAAG,IAAI,CAAClC,IAAI,CAAA;AACrC,IAAA,IAAI,OAAOkC,iBAAiB,KAAK,UAAU,EAAE;AAC3CA,MAAAA,iBAAiB,CAAC;AAChBD,QAAAA,YAAY,EAAEA,YAAY;AAC1BE,QAAAA,wBAAwB,EAAEH,QAAQ;QAClCI,gBAAgB,EAAE,IAAI,CAACC,cAAc,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;AACzD,UAAA,IAAIA,GAAG,CAACR,QAAQ,CAACS,OAAO,EAAE;AACxBF,YAAAA,GAAG,CAACX,IAAI,CAACY,GAAG,CAACP,YAAY,CAAC,CAAA;AAC5B,WAAA;AACA,UAAA,OAAOM,GAAG,CAAA;SACX,EAAE,EAAE,CAAC;QACNG,oBAAoB,EAAE,IAAI,CAACL,cAAc,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;UAC7DD,GAAG,CAACX,IAAI,CAAC;YACPK,YAAY,EAAEO,GAAG,CAACP,YAAY;AAC9BU,YAAAA,UAAU,EAAEH,GAAG,CAACR,QAAQ,CAACS,OAAAA;AAC3B,WAAC,CAAC,CAAA;AACF,UAAA,OAAOF,GAAG,CAAA;AACZ,SAAC,EAAE,EAAE,CAAA;AACP,OAAC,CAAC,CAAA;AACJ,KAAA;AACF,GAAA;AAGAK,EAAAA,oBAAoBA,GAAG;AACrB,IAAA,IAAI,CAACP,cAAc,CAACQ,OAAO,CAAEL,GAAG,IAAK;MACnCA,GAAG,CAACR,QAAQ,CAACS,OAAO,GAAG,IAAI,CAACK,iBAAiB,CAACL,OAAO,CAAA;MACrDD,GAAG,CAACR,QAAQ,CAACe,aAAa,CAAC,IAAIC,KAAK,CAAC,QAAQ,EAAE;AAAEC,QAAAA,OAAO,EAAE,KAAA;AAAM,OAAC,CAAC,CAAC,CAAA;AACrE,KAAC,CAAC,CAAA;AACF,IAAA,IAAI,CAACC,2BAA2B,GAAG,IAAI,CAACJ,iBAAiB,CAACL,OAAO,CAAA;IACjE,IAAI,CAACV,yBAAyB,CAAC,IAAI,CAACe,iBAAiB,EAAE,KAAK,CAAC,CAAA;AAC/D,GAAA;AAGAK,EAAAA,oBAAoBA,CAACnB,QAAQ,EAAEC,YAAY,EAAE;IAC3C,IAAI,CAACmB,iBAAiB,EAAE,CAAA;AACxB,IAAA,IAAI,CAACrB,yBAAyB,CAACC,QAAQ,EAAEC,YAAY,CAAC,CAAA;AACxD,GAAA;EAGAoB,0BAA0BA,CAACrB,QAAQ,EAAE;IACnC,IAAI,CAACc,iBAAiB,GAAGd,QAAQ,CAAA;AACnC,GAAA;AAGAsB,EAAAA,4BAA4BA,GAAG;IAC7B,IAAI,CAACR,iBAAiB,GAAG7B,SAAS,CAAA;AACpC,GAAA;AAGAsC,EAAAA,oBAAoBA,CAACvB,QAAQ,EAAEC,YAAY,EAAE;AAC3C,IAAA,IAAI,CAACI,cAAc,CAACT,IAAI,CAAC;MAAEK,YAAY;AAAED,MAAAA,QAAAA;AAAS,KAAC,CAAC,CAAA;IACpD,IAAI,CAACoB,iBAAiB,EAAE,CAAA;AAC1B,GAAA;EAGAI,sBAAsBA,CAACvB,YAAY,EAAE;AACnC,IAAA,IAAI,CAACI,cAAc,GAAG,IAAI,CAACA,cAAc,CAACoB,MAAM,CAC7CjB,GAAG,IAAKA,GAAG,CAACP,YAAY,KAAKA,YAChC,CAAC,CAAA;IACD,IAAI,CAACmB,iBAAiB,EAAE,CAAA;AAC1B,GAAA;AAGAA,EAAAA,iBAAiBA,GAAG;IAClB,IAAI,IAAI,CAACN,iBAAiB,EAAE;AAC1B,MAAA,IAAIY,mBAAmB,GAAG,IAAI,CAACrB,cAAc,CAACsB,MAAM,CAAA;AACpD,MAAA,IAAIC,iBAAiB,GAAG,IAAI,CAACvB,cAAc,CAACoB,MAAM,CAC/CjB,GAAG,IAAKA,GAAG,CAACR,QAAQ,CAACS,OACxB,CAAC,CAACkB,MAAM,CAAA;AAER,MAAA,IAAI,CAACb,iBAAiB,CAACL,OAAO,GAC5BmB,iBAAiB,KAAKF,mBAAmB,CAAA;MAC3C,IAAI,CAACZ,iBAAiB,CAACe,aAAa,GAClCD,iBAAiB,GAAG,CAAC,IAAIA,iBAAiB,GAAGF,mBAAmB,CAAA;AAClE,MAAA,IAAI,CAACR,2BAA2B,GAAG,IAAI,CAACJ,iBAAiB,CAACL,OAAO,CAAA;MACjE,IAAI,CAACK,iBAAiB,CAACC,aAAa,CAClC,IAAIC,KAAK,CAAC,QAAQ,EAAE;AAAEC,QAAAA,OAAO,EAAE,KAAA;AAAM,OAAC,CACxC,CAAC,CAAA;AACH,KAAA;AACF,GAAA;AACF,CAAC,GAAA/C,WAAA,GAAA4D,yBAAA,CAAAjE,MAAA,CAAAkE,SAAA,EAAA,QAAA,EAAA,CA1PEC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;AAAAC,EAAAA,WAAA,cAAA;AAAA,IAAA,OAAU,IAAI,CAACpE,IAAI,CAACa,MAAM,CAAA;AAAA,GAAA;AAAA,CAAAV,CAAAA,EAAAA,YAAA,GAAA2D,yBAAA,CAAAjE,MAAA,CAAAkE,SAAA,gBACjCC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;AAAAC,EAAAA,WAAA,cAAA;AAAA,IAAA,OAAa,IAAI,CAACpE,IAAI,CAACe,SAAS,IAAI,KAAK,CAAA;AAAA,GAAA;AAAA,CAAAX,CAAAA,EAAAA,YAAA,GAAA0D,yBAAA,CAAAjE,MAAA,CAAAkE,SAAA,wBAChDC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;AAAAC,EAAAA,WAAA,cAAA;AAAA,IAAA,OAAqBnD,SAAS,CAAA;AAAA,GAAA;AAAA,CAAAX,CAAAA,EAAAA,YAAA,GAAAwD,yBAAA,CAAAjE,MAAA,CAAAkE,SAAA,kCAErCC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;AAAAC,EAAAA,WAAA,cAAA;AAAA,IAAA,OAA+BnD,SAAS,CAAA;AAAA,GAAA;AAAA,CAAA,CAAA,EAAA6C,yBAAA,CAAAjE,MAAA,CAAAkE,SAAA,gBAmJ/CM,MAAM,CAAA,EAAAC,MAAA,CAAAC,wBAAA,CAAA1E,MAAA,CAAAkE,SAAA,gBAAAlE,MAAA,CAAAkE,SAAA,CAAA,EAAAD,yBAAA,CAAAjE,MAAA,CAAAkE,SAAA,2BAyCNM,MAAM,CAAA,EAAAC,MAAA,CAAAC,wBAAA,CAAA1E,MAAA,CAAAkE,SAAA,EAAA,sBAAA,CAAA,EAAAlE,MAAA,CAAAkE,SAAA,CAAAD,EAAAA,yBAAA,CAAAjE,MAAA,CAAAkE,SAAA,EAAA,sBAAA,EAAA,CAUNM,MAAM,CAAAC,EAAAA,MAAA,CAAAC,wBAAA,CAAA1E,MAAA,CAAAkE,SAAA,EAAA,sBAAA,CAAA,EAAAlE,MAAA,CAAAkE,SAAA,CAAAD,EAAAA,yBAAA,CAAAjE,MAAA,CAAAkE,SAAA,EAAA,4BAAA,EAAA,CAMNM,MAAM,CAAAC,EAAAA,MAAA,CAAAC,wBAAA,CAAA1E,MAAA,CAAAkE,SAAA,EAAAlE,4BAAAA,CAAAA,EAAAA,MAAA,CAAAkE,SAAA,CAAA,EAAAD,yBAAA,CAAAjE,MAAA,CAAAkE,SAAA,EAKNM,8BAAAA,EAAAA,CAAAA,MAAM,GAAAC,MAAA,CAAAC,wBAAA,CAAA1E,MAAA,CAAAkE,SAAA,EAAAlE,8BAAAA,CAAAA,EAAAA,MAAA,CAAAkE,SAAA,CAAA,EAAAD,yBAAA,CAAAjE,MAAA,CAAAkE,SAAA,EAKNM,sBAAAA,EAAAA,CAAAA,MAAM,GAAAC,MAAA,CAAAC,wBAAA,CAAA1E,MAAA,CAAAkE,SAAA,2BAAAlE,MAAA,CAAAkE,SAAA,CAAAD,EAAAA,yBAAA,CAAAjE,MAAA,CAAAkE,SAAA,EAAA,wBAAA,EAAA,CAMNM,MAAM,CAAA,EAAAC,MAAA,CAAAC,wBAAA,CAAA1E,MAAA,CAAAkE,SAAA,EAAA,wBAAA,CAAA,EAAAlE,MAAA,CAAAkE,SAAA,CAAAD,EAAAA,yBAAA,CAAAjE,MAAA,CAAAkE,SAAA,EAAA,mBAAA,EAAA,CAQNM,MAAM,CAAA,EAAAC,MAAA,CAAAC,wBAAA,CAAA1E,MAAA,CAAAkE,SAAA,EAAA,mBAAA,CAAA,EAAAlE,MAAA,CAAAkE,SAAA,IAAAlE,MAAA,EAAA;AAzOkC2E,oBAAA,CAAAC,QAAA,EAAtB7E,sBAAsB,CAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/table/index.hbs","../../../../src/components/hds/table/index.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<table class={{this.classNames}} ...attributes>\\n {{#if @columns}}\\n <caption class=\\\"sr-only\\\" aria-live=\\\"polite\\\">{{@caption}} {{this.sortedMessageText}}</caption>\\n {{else if @caption}}\\n <caption class=\\\"sr-only\\\">{{@caption}}</caption>\\n {{/if}}\\n\\n <thead class=\\\"hds-table__thead\\\">\\n {{#if @columns}}\\n <Hds::Table::Tr\\n @selectionScope=\\\"col\\\"\\n @isSelectable={{@isSelectable}}\\n @onSelectionChange={{this.onSelectionAllChange}}\\n @didInsert={{this.didInsertSelectAllCheckbox}}\\n @willDestroy={{this.willDestroySelectAllCheckbox}}\\n @selectionAriaLabelSuffix=\\\"all rows\\\"\\n >\\n {{#each @columns as |column|}}\\n {{#if column.isSortable}}\\n <Hds::Table::ThSort\\n @sortOrder={{if (eq column.key this.sortBy) this.sortOrder}}\\n @onClickSort={{fn this.setSortBy column.key}}\\n @align={{column.align}}\\n @width={{column.width}}\\n @tooltip={{column.tooltip}}\\n >\\n {{column.label}}\\n </Hds::Table::ThSort>\\n {{else}}\\n <Hds::Table::Th\\n @align={{column.align}}\\n @width={{column.width}}\\n @tooltip={{column.tooltip}}\\n @isVisuallyHidden={{column.isVisuallyHidden}}\\n >{{column.label}}</Hds::Table::Th>\\n {{/if}}\\n {{/each}}\\n </Hds::Table::Tr>\\n {{else}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"col\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionAllChange\\n didInsert=this.didInsertSelectAllCheckbox\\n willDestroy=this.willDestroySelectAllCheckbox\\n selectionAriaLabelSuffix=\\\"all rows\\\"\\n )\\n Th=(component \\\"hds/table/th\\\")\\n ThSort=(component \\\"hds/table/th-sort\\\")\\n sortBy=this.sortBy\\n sortOrder=this.sortOrder\\n setSortBy=this.setSortBy\\n )\\n to=\\\"head\\\"\\n }}\\n {{/if}}\\n </thead>\\n\\n <tbody class=\\\"hds-table__tbody\\\">\\n {{#if @columns}}\\n {{! ----------------------------------------------------------------------------------------\\n IMPORTANT: we loop on the `model` array and for each record\\n we yield the Tr/Td/Th elements _and_ the record itself as `data`\\n this means the consumer will *have to* use the `data` key to access it in their template\\n -------------------------------------------------------------------------------------------- }}\\n {{#each (sort-by this.getSortCriteria @model) key=this.identityKey as |record|}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"row\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionRowChange\\n didInsert=this.didInsertRowCheckbox\\n willDestroy=this.willDestroyRowCheckbox\\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\\n )\\n Th=(component \\\"hds/table/th\\\" scope=\\\"row\\\")\\n Td=(component \\\"hds/table/td\\\" align=@align)\\n data=record\\n )\\n to=\\\"body\\\"\\n }}\\n {{/each}}\\n {{else}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"row\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionRowChange\\n didInsert=this.didInsertRowCheckbox\\n willDestroy=this.willDestroyRowCheckbox\\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\\n )\\n Th=(component \\\"hds/table/th\\\" scope=\\\"row\\\")\\n Td=(component \\\"hds/table/td\\\" align=@align)\\n sortBy=this.sortBy\\n sortOrder=this.sortOrder\\n )\\n to=\\\"body\\\"\\n }}\\n {{/if}}\\n </tbody>\\n</table>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\n\nexport const DENSITIES = ['short', 'medium', 'tall'];\nconst DEFAULT_DENSITY = 'medium';\nconst VALIGNMENTS = ['top', 'middle', 'baseline'];\nconst DEFAULT_VALIGN = 'top';\n\nexport default class HdsTableIndexComponent extends Component {\n @tracked sortBy = this.args.sortBy;\n @tracked sortOrder = this.args.sortOrder || 'asc';\n @tracked selectAllCheckbox = undefined;\n selectableRows = [];\n @tracked isSelectAllCheckboxSelected = undefined;\n\n /**\n * @param getSortCriteria\n * @type {string | function}\n * @default sortBy:sortOrder\n * @description Returns the sort criteria\n */\n get getSortCriteria() {\n // get the current column\n const currentColumn = this.args?.columns?.find(\n (column) => column.key === this.sortBy\n );\n if (\n // check if there is a custom sorting function associated with the current `sortBy` column (we assume the column has `isSortable`)\n currentColumn?.sortingFunction &&\n typeof currentColumn.sortingFunction === 'function'\n ) {\n return currentColumn.sortingFunction;\n } else {\n // otherwise fallback to the default format \"sortBy:sortOrder\"\n return `${this.sortBy}:${this.sortOrder}`;\n }\n }\n\n /**\n * @param identityKey\n * @type {string}\n * @default '@identity'\n * @description Returns the key to use for the table rows to provide more granular control. If no identityKey is defined, Ember's default `@identity` is used. See https://api.emberjs.com/ember/release/classes/Ember.Templates.helpers/methods/each?anchor=each\n * this would be relevant for any table that would have data that could update or change, i.e., polling.\n */\n get identityKey() {\n // we have to provide a way for the consumer to pass undefined because Ember tries to interpret undefined as missing an arg and therefore falls back to the default\n if (this.args.identityKey === 'none') {\n return undefined;\n } else {\n return this.args.identityKey ?? '@identity';\n }\n }\n\n /**\n * @param sortedMessageText\n * @type {string}\n * @default ''\n * @description Returns the text to display in the sorted message. If no text is defined, the default text is used.\n */\n get sortedMessageText() {\n if (this.args.sortedMessageText) {\n return this.args.sortedMessageText;\n } else if (this.sortBy && this.sortOrder) {\n // we should allow the user to define a custom value here (e.g., for i18n) - tracked with HDS-965\n return `Sorted by ${this.sortBy} ${this.sortOrder}ending`;\n } else {\n return '';\n }\n }\n\n /**\n * @param isStriped\n * @type {boolean}\n * @default false\n * @description Determines whether the table rows should have alternating background colors; defaults to false.\n */\n get isStriped() {\n return this.args.isStriped ?? false;\n }\n\n /**\n * @param isFixedLayout\n * @type {boolean}\n * @default false\n * @description Determines whether the table-display should be set to fixed; meaning, the table columns are of equal width no matter the content; defaults to false.\n */\n get isFixedLayout() {\n return this.args.isFixedLayout ?? false;\n }\n\n /**\n * @param density\n * @type {string}\n * @default 'medium'\n * @description Determines the density of the table cells; options are \"short\", \"medium\" and \"tall\". If no density is defined, \"medium\" is used.\n */\n get density() {\n let { density = DEFAULT_DENSITY } = this.args;\n\n assert(\n `@density for \"Hds::Table\" must be one of the following: ${DENSITIES.join(\n ', '\n )}; received: ${density}`,\n DENSITIES.includes(density)\n );\n\n return density;\n }\n\n /**\n * @param valign\n * @type {string}\n * @default 'top'\n * @description Determines the vertical alignment of the table cells; options are: \"top\", \"middle\", \"baseline\". If no valign is defined, \"top\" is used.\n */\n get valign() {\n let { valign = DEFAULT_VALIGN } = this.args;\n\n assert(\n `@valign for \"Hds::Table\" must be one of the following: ${VALIGNMENTS.join(\n ', '\n )}; received: ${valign}`,\n VALIGNMENTS.includes(valign)\n );\n\n return valign;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-table'];\n\n // add a class based on the @isStriped argument\n if (this.isStriped) {\n classes.push('hds-table--striped');\n }\n\n // add a class based on the @isFixedLayout argument\n if (this.isFixedLayout) {\n classes.push('hds-table--layout-fixed');\n }\n\n // add a class based on the @density argument\n if (this.density) {\n classes.push(`hds-table--density-${this.density}`);\n }\n\n // add a class based on the @valign argument\n if (this.valign) {\n classes.push(`hds-table--valign-${this.valign}`);\n }\n\n return classes.join(' ');\n }\n\n @action\n setSortBy(column) {\n if (this.sortBy === column) {\n // check to see if the column is already sorted and invert the sort order if so\n this.sortOrder = this.sortOrder === 'asc' ? 'desc' : 'asc';\n } else {\n // otherwise, set the sort order to ascending\n this.sortBy = column;\n this.sortOrder = 'asc';\n }\n\n let { onSort } = this.args;\n\n if (typeof onSort === 'function') {\n onSort(this.sortBy, this.sortOrder);\n }\n }\n\n onSelectionChangeCallback(checkbox, selectionKey) {\n let { onSelectionChange } = this.args;\n if (typeof onSelectionChange === 'function') {\n onSelectionChange({\n selectionKey: selectionKey,\n selectionCheckboxElement: checkbox,\n selectedRowsKeys: this.selectableRows.reduce((acc, row) => {\n if (row.checkbox.checked) {\n acc.push(row.selectionKey);\n }\n return acc;\n }, []),\n selectableRowsStates: this.selectableRows.reduce((acc, row) => {\n acc.push({\n selectionKey: row.selectionKey,\n isSelected: row.checkbox.checked,\n });\n return acc;\n }, []),\n });\n }\n }\n\n @action\n onSelectionAllChange() {\n this.selectableRows.forEach((row) => {\n row.checkbox.checked = this.selectAllCheckbox.checked;\n row.checkbox.dispatchEvent(new Event('toggle', { bubbles: false }));\n });\n this.isSelectAllCheckboxSelected = this.selectAllCheckbox.checked;\n this.onSelectionChangeCallback(this.selectAllCheckbox, 'all');\n }\n\n @action\n onSelectionRowChange(checkbox, selectionKey) {\n this.setSelectAllState();\n this.onSelectionChangeCallback(checkbox, selectionKey);\n }\n\n @action\n didInsertSelectAllCheckbox(checkbox) {\n this.selectAllCheckbox = checkbox;\n }\n\n @action\n willDestroySelectAllCheckbox() {\n this.selectAllCheckbox = undefined;\n }\n\n @action\n didInsertRowCheckbox(checkbox, selectionKey) {\n this.selectableRows.push({ selectionKey, checkbox });\n this.setSelectAllState();\n }\n\n @action\n willDestroyRowCheckbox(selectionKey) {\n this.selectableRows = this.selectableRows.filter(\n (row) => row.selectionKey !== selectionKey\n );\n this.setSelectAllState();\n }\n\n @action\n setSelectAllState() {\n if (this.selectAllCheckbox) {\n let selectableRowsCount = this.selectableRows.length;\n let selectedRowsCount = this.selectableRows.filter(\n (row) => row.checkbox.checked\n ).length;\n\n this.selectAllCheckbox.checked =\n selectedRowsCount === selectableRowsCount;\n this.selectAllCheckbox.indeterminate =\n selectedRowsCount > 0 && selectedRowsCount < selectableRowsCount;\n this.isSelectAllCheckboxSelected = this.selectAllCheckbox.checked;\n this.selectAllCheckbox.dispatchEvent(\n new Event('toggle', { bubbles: false })\n );\n }\n }\n}\n"],"names":["DENSITIES","DEFAULT_DENSITY","VALIGNMENTS","DEFAULT_VALIGN","HdsTableIndexComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_defineProperty","_descriptor4","getSortCriteria","currentColumn","columns","find","column","key","sortBy","sortingFunction","sortOrder","identityKey","undefined","sortedMessageText","isStriped","isFixedLayout","density","assert","join","includes","valign","classNames","classes","push","setSortBy","onSort","onSelectionChangeCallback","checkbox","selectionKey","onSelectionChange","selectionCheckboxElement","selectedRowsKeys","selectableRows","reduce","acc","row","checked","selectableRowsStates","isSelected","onSelectionAllChange","forEach","selectAllCheckbox","dispatchEvent","Event","bubbles","isSelectAllCheckboxSelected","onSelectionRowChange","setSelectAllState","didInsertSelectAllCheckbox","willDestroySelectAllCheckbox","didInsertRowCheckbox","willDestroyRowCheckbox","filter","selectableRowsCount","length","selectedRowsCount","indeterminate","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"td.js","sources":["../../../../src/components/hds/table/td.hbs","../../../../src/components/hds/table/td.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<td class={{this.classNames}} ...attributes>\\n {{yield}}\\n</td>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nconst ALIGNMENTS = ['left', 'center', 'right'];\nconst DEFAULT_ALIGN = 'left';\n\nexport default class HdsTableTdComponent extends Component {\n /**\n * @param align\n * @type {string}\n * @default left\n * @description Determines the text alignment of the header or cell content. Options are: \"left\", \"center\", \"right\". If no align is defined, \"left\" is used.\n */\n get align() {\n let { align = DEFAULT_ALIGN } = this.args;\n\n assert(\n `@align for \"Hds::Table::Td\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${align}`,\n ALIGNMENTS.includes(align)\n );\n return align;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = [\n 'hds-table__td',\n 'hds-typography-body-200',\n 'hds-font-weight-regular',\n ];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-table__td--align-${this.align}`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["ALIGNMENTS","DEFAULT_ALIGN","HdsTableTdComponent","Component","align","args","assert","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;AACA,eAAe,kBAAkB,CAAC,gJAAgJ;;ACDlL;AACA;AACA;AACA;;AAKA,MAAMA,UAAU,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;AAC9C,MAAMC,aAAa,GAAG,MAAM,CAAA;AAEb,MAAMC,mBAAmB,SAASC,SAAS,CAAC;AACzD;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAG;IACV,IAAI;AAAEA,MAAAA,KAAK,GAAGH,aAAAA;KAAe,GAAG,IAAI,CAACI,IAAI,CAAA;AAEzCC,IAAAA,MAAM,CACH,CAA4DN,0DAAAA,EAAAA,UAAU,CAACO,IAAI,CAC1E,IACF,CAAE,CAAA,YAAA,EAAcH,KAAM,CAAA,CAAC,EACvBJ,UAAU,CAACQ,QAAQ,CAACJ,KAAK,CAC3B,CAAC,CAAA;AACD,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIK,UAAUA,GAAG;IACf,IAAIC,OAAO,GAAG,CACZ,eAAe,EACf,yBAAyB,EACzB,yBAAyB,CAC1B,CAAA;;AAED;IACA,IAAI,IAAI,CAACN,KAAK,EAAE;MACdM,OAAO,CAACC,IAAI,CAAE,CAAA,qBAAA,EAAuB,IAAI,CAACP,KAAM,EAAC,CAAC,CAAA;AACpD,KAAA;AAEA,IAAA,OAAOM,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACK,oBAAA,CAAAC,QAAA,EAtCoBX,mBAAmB,CAAA;;;;"}
1
+ {"version":3,"file":"td.js","sources":["../../../../src/components/hds/table/td.hbs","../../../../src/components/hds/table/td.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<td class={{this.classNames}} ...attributes>\\n {{yield}}\\n</td>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nconst ALIGNMENTS = ['left', 'center', 'right'];\nconst DEFAULT_ALIGN = 'left';\n\nexport default class HdsTableTdComponent extends Component {\n /**\n * @param align\n * @type {string}\n * @default left\n * @description Determines the text alignment of the header or cell content. Options are: \"left\", \"center\", \"right\". If no align is defined, \"left\" is used.\n */\n get align() {\n let { align = DEFAULT_ALIGN } = this.args;\n\n assert(\n `@align for \"Hds::Table::Td\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${align}`,\n ALIGNMENTS.includes(align)\n );\n return align;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = [\n 'hds-table__td',\n 'hds-typography-body-200',\n 'hds-font-weight-regular',\n ];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-table__td--align-${this.align}`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["ALIGNMENTS","DEFAULT_ALIGN","HdsTableTdComponent","Component","align","args","assert","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;AACA,eAAe,kBAAkB,CAAC,gJAAgJ;;ACDlL;AACA;AACA;AACA;;AAKA,MAAMA,UAAU,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;AAC9C,MAAMC,aAAa,GAAG,MAAM,CAAA;AAEb,MAAMC,mBAAmB,SAASC,SAAS,CAAC;AACzD;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAG;IACV,IAAI;AAAEA,MAAAA,KAAK,GAAGH,aAAAA;KAAe,GAAG,IAAI,CAACI,IAAI,CAAA;AAEzCC,IAAAA,MAAM,CACJ,CAA6DN,0DAAAA,EAAAA,UAAU,CAACO,IAAI,CAC1E,IACF,CAAC,CAAA,YAAA,EAAeH,KAAK,CAAA,CAAE,EACvBJ,UAAU,CAACQ,QAAQ,CAACJ,KAAK,CAC3B,CAAC,CAAA;AACD,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIK,UAAUA,GAAG;IACf,IAAIC,OAAO,GAAG,CACZ,eAAe,EACf,yBAAyB,EACzB,yBAAyB,CAC1B,CAAA;;AAED;IACA,IAAI,IAAI,CAACN,KAAK,EAAE;MACdM,OAAO,CAACC,IAAI,CAAC,CAAA,qBAAA,EAAwB,IAAI,CAACP,KAAK,EAAE,CAAC,CAAA;AACpD,KAAA;AAEA,IAAA,OAAOM,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACK,oBAAA,CAAAC,QAAA,EAtCoBX,mBAAmB,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import { a as _defineProperty } from '../../../_rollupPluginBabelHelpers-NoJJJNhk.js';
1
+ import { a as _defineProperty } from '../../../_rollupPluginBabelHelpers-KIi_qCIU.js';
2
2
  import Component from '@glimmer/component';
3
3
  import { guidFor } from '@ember/object/internals';
4
4
  import { precompileTemplate } from '@ember/template-compilation';
@@ -1 +1 @@
1
- {"version":3,"file":"th-button-sort.js","sources":["../../../../src/components/hds/table/th-button-sort.hbs","../../../../src/components/hds/table/th-button-sort.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<button\\n type=\\\"button\\\"\\n class={{this.classNames}}\\n {{on \\\"click\\\" this.onClick}}\\n aria-labelledby=\\\"{{this.prefixLabelId}} {{@labelId}} {{this.suffixLabelId}}\\\"\\n ...attributes\\n>\\n <span id={{this.prefixLabelId}} class=\\\"hds-table__th-button-aria-label-hidden-segment\\\">Sort by</span>\\n <span id={{this.suffixLabelId}} class=\\\"hds-table__th-button-aria-label-hidden-segment\\\">{{this.sortOrderLabel}}</span>\\n <FlightIcon @name={{this.icon}} />\\n</button>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\n\nconst NOOP = () => {};\n\nexport default class HdsTableThButtonSortComponent extends Component {\n /**\n * Generates a unique ID for the (hidden) \"label prefix/suffix\" <span> elements\n *\n * @param prefixLabelId/suffixLabelId\n */\n prefixLabelId = 'prefix-' + guidFor(this);\n suffixLabelId = 'suffix-' + guidFor(this);\n\n /**\n * @param icon\n * @type {string}\n * @private\n * @default swap-vertical\n * @description Determines which icon to use based on the sort order defined\n */\n get icon() {\n switch (this.args.sortOrder) {\n case 'asc':\n return 'arrow-up';\n case 'desc':\n return 'arrow-down';\n default:\n return 'swap-vertical';\n }\n }\n\n /**\n * @param sortOrderLabel\n * @default 'ascending'\n * @description Determines the label (suffix) to use in the `aria-labelledby` attribute of the button, used to indicate what will happen if the user clicks on the button\n */\n get sortOrderLabel() {\n return this.args.sortOrder === 'asc' ? 'descending' : 'ascending';\n }\n\n /**\n * @param onClick\n * @type {function}\n * @default () => {}\n */\n get onClick() {\n let { onClick } = this.args;\n\n if (typeof onClick === 'function') {\n return onClick;\n } else {\n return NOOP;\n }\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-table__th-button', 'hds-table__th-button--sort'];\n\n // add a class based on the @sortOrder argument\n if (this.args.sortOrder === 'asc' || this.args.sortOrder === 'desc') {\n classes.push(`hds-table__th-button--is-sorted`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["NOOP","HdsTableThButtonSortComponent","Component","constructor","args","_defineProperty","guidFor","icon","sortOrder","sortOrderLabel","onClick","classNames","classes","push","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,qiBAAqiB;;ACOvkB,MAAMA,IAAI,GAAGA,MAAM,EAAE,CAAA;AAEN,MAAMC,6BAA6B,SAASC,SAAS,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AACnE;AACF;AACA;AACA;AACA;AAJEC,IAAAA,eAAA,wBAKgB,SAAS,GAAGC,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAAD,IAAAA,eAAA,wBACzB,SAAS,GAAGC,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAA,GAAA;AAEzC;AACF;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,IAAIA,GAAG;AACT,IAAA,QAAQ,IAAI,CAACH,IAAI,CAACI,SAAS;AACzB,MAAA,KAAK,KAAK;AACR,QAAA,OAAO,UAAU,CAAA;AACnB,MAAA,KAAK,MAAM;AACT,QAAA,OAAO,YAAY,CAAA;AACrB,MAAA;AACE,QAAA,OAAO,eAAe,CAAA;AAC1B,KAAA;AACF,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,cAAcA,GAAG;IACnB,OAAO,IAAI,CAACL,IAAI,CAACI,SAAS,KAAK,KAAK,GAAG,YAAY,GAAG,WAAW,CAAA;AACnE,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIE,OAAOA,GAAG;IACZ,IAAI;AAAEA,MAAAA,OAAAA;KAAS,GAAG,IAAI,CAACN,IAAI,CAAA;AAE3B,IAAA,IAAI,OAAOM,OAAO,KAAK,UAAU,EAAE;AACjC,MAAA,OAAOA,OAAO,CAAA;AAChB,KAAC,MAAM;AACL,MAAA,OAAOV,IAAI,CAAA;AACb,KAAA;AACF,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIW,UAAUA,GAAG;AACf,IAAA,IAAIC,OAAO,GAAG,CAAC,sBAAsB,EAAE,4BAA4B,CAAC,CAAA;;AAEpE;AACA,IAAA,IAAI,IAAI,CAACR,IAAI,CAACI,SAAS,KAAK,KAAK,IAAI,IAAI,CAACJ,IAAI,CAACI,SAAS,KAAK,MAAM,EAAE;AACnEI,MAAAA,OAAO,CAACC,IAAI,CAAE,CAAA,+BAAA,CAAgC,CAAC,CAAA;AACjD,KAAA;AAEA,IAAA,OAAOD,OAAO,CAACE,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACC,oBAAA,CAAAC,QAAA,EAlEoBf,6BAA6B,CAAA;;;;"}
1
+ {"version":3,"file":"th-button-sort.js","sources":["../../../../src/components/hds/table/th-button-sort.hbs","../../../../src/components/hds/table/th-button-sort.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<button\\n type=\\\"button\\\"\\n class={{this.classNames}}\\n {{on \\\"click\\\" this.onClick}}\\n aria-labelledby=\\\"{{this.prefixLabelId}} {{@labelId}} {{this.suffixLabelId}}\\\"\\n ...attributes\\n>\\n <span id={{this.prefixLabelId}} class=\\\"hds-table__th-button-aria-label-hidden-segment\\\">Sort by</span>\\n <span id={{this.suffixLabelId}} class=\\\"hds-table__th-button-aria-label-hidden-segment\\\">{{this.sortOrderLabel}}</span>\\n <FlightIcon @name={{this.icon}} />\\n</button>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\n\nconst NOOP = () => {};\n\nexport default class HdsTableThButtonSortComponent extends Component {\n /**\n * Generates a unique ID for the (hidden) \"label prefix/suffix\" <span> elements\n *\n * @param prefixLabelId/suffixLabelId\n */\n prefixLabelId = 'prefix-' + guidFor(this);\n suffixLabelId = 'suffix-' + guidFor(this);\n\n /**\n * @param icon\n * @type {string}\n * @private\n * @default swap-vertical\n * @description Determines which icon to use based on the sort order defined\n */\n get icon() {\n switch (this.args.sortOrder) {\n case 'asc':\n return 'arrow-up';\n case 'desc':\n return 'arrow-down';\n default:\n return 'swap-vertical';\n }\n }\n\n /**\n * @param sortOrderLabel\n * @default 'ascending'\n * @description Determines the label (suffix) to use in the `aria-labelledby` attribute of the button, used to indicate what will happen if the user clicks on the button\n */\n get sortOrderLabel() {\n return this.args.sortOrder === 'asc' ? 'descending' : 'ascending';\n }\n\n /**\n * @param onClick\n * @type {function}\n * @default () => {}\n */\n get onClick() {\n let { onClick } = this.args;\n\n if (typeof onClick === 'function') {\n return onClick;\n } else {\n return NOOP;\n }\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-table__th-button', 'hds-table__th-button--sort'];\n\n // add a class based on the @sortOrder argument\n if (this.args.sortOrder === 'asc' || this.args.sortOrder === 'desc') {\n classes.push(`hds-table__th-button--is-sorted`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["NOOP","HdsTableThButtonSortComponent","Component","constructor","args","_defineProperty","guidFor","icon","sortOrder","sortOrderLabel","onClick","classNames","classes","push","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,qiBAAqiB;;ACOvkB,MAAMA,IAAI,GAAGA,MAAM,EAAE,CAAA;AAEN,MAAMC,6BAA6B,SAASC,SAAS,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AACnE;AACF;AACA;AACA;AACA;AAJEC,IAAAA,eAAA,wBAKgB,SAAS,GAAGC,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAAD,IAAAA,eAAA,wBACzB,SAAS,GAAGC,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAA,GAAA;AAEzC;AACF;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,IAAIA,GAAG;AACT,IAAA,QAAQ,IAAI,CAACH,IAAI,CAACI,SAAS;AACzB,MAAA,KAAK,KAAK;AACR,QAAA,OAAO,UAAU,CAAA;AACnB,MAAA,KAAK,MAAM;AACT,QAAA,OAAO,YAAY,CAAA;AACrB,MAAA;AACE,QAAA,OAAO,eAAe,CAAA;AAC1B,KAAA;AACF,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,cAAcA,GAAG;IACnB,OAAO,IAAI,CAACL,IAAI,CAACI,SAAS,KAAK,KAAK,GAAG,YAAY,GAAG,WAAW,CAAA;AACnE,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIE,OAAOA,GAAG;IACZ,IAAI;AAAEA,MAAAA,OAAAA;KAAS,GAAG,IAAI,CAACN,IAAI,CAAA;AAE3B,IAAA,IAAI,OAAOM,OAAO,KAAK,UAAU,EAAE;AACjC,MAAA,OAAOA,OAAO,CAAA;AAChB,KAAC,MAAM;AACL,MAAA,OAAOV,IAAI,CAAA;AACb,KAAA;AACF,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIW,UAAUA,GAAG;AACf,IAAA,IAAIC,OAAO,GAAG,CAAC,sBAAsB,EAAE,4BAA4B,CAAC,CAAA;;AAEpE;AACA,IAAA,IAAI,IAAI,CAACR,IAAI,CAACI,SAAS,KAAK,KAAK,IAAI,IAAI,CAACJ,IAAI,CAACI,SAAS,KAAK,MAAM,EAAE;AACnEI,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,+BAAA,CAAiC,CAAC,CAAA;AACjD,KAAA;AAEA,IAAA,OAAOD,OAAO,CAACE,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACC,oBAAA,CAAAC,QAAA,EAlEoBf,6BAA6B,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import { a as _defineProperty } from '../../../_rollupPluginBabelHelpers-NoJJJNhk.js';
1
+ import { a as _defineProperty } from '../../../_rollupPluginBabelHelpers-KIi_qCIU.js';
2
2
  import Component from '@glimmer/component';
3
3
  import { guidFor } from '@ember/object/internals';
4
4
  import { precompileTemplate } from '@ember/template-compilation';
@@ -1,4 +1,4 @@
1
- import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty, a as _defineProperty } from '../../../_rollupPluginBabelHelpers-NoJJJNhk.js';
1
+ import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty, a as _defineProperty } from '../../../_rollupPluginBabelHelpers-KIi_qCIU.js';
2
2
  import Component from '@glimmer/component';
3
3
  import { action } from '@ember/object';
4
4
  import { guidFor } from '@ember/object/internals';
@@ -1 +1 @@
1
- {"version":3,"file":"th-selectable.js","sources":["../../../../src/components/hds/table/th-selectable.hbs","../../../../src/components/hds/table/th-selectable.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<Hds::Table::Th class=\\\"hds-table__th--is-selectable\\\" @scope={{@selectionScope}} ...attributes>\\n <Hds::Form::Checkbox::Base\\n id={{this.checkboxId}}\\n class=\\\"hds-table__checkbox\\\"\\n checked={{@isSelected}}\\n aria-label={{this.ariaLabel}}\\n {{did-insert this.didInsert}}\\n {{will-destroy this.willDestroy}}\\n {{on \\\"change\\\" this.onSelectionChange}}\\n />\\n</Hds::Table::Th>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class HdsTableThSelectableComponent extends Component {\n @tracked isSelected = this.args.isSelected;\n\n /**\n * Generate a unique ID for the Checkbox\n * @return {string}\n */\n checkboxId = 'checkbox-' + guidFor(this);\n\n get ariaLabel() {\n let { selectionAriaLabelSuffix } = this.args;\n const prefix = this.isSelected ? 'Deselect' : 'Select';\n if (selectionAriaLabelSuffix) {\n return `${prefix} ${selectionAriaLabelSuffix}`;\n } else {\n return prefix;\n }\n }\n\n @action\n didInsert(checkbox) {\n let { didInsert } = this.args;\n if (typeof didInsert === 'function') {\n didInsert(checkbox, this.args.selectionKey);\n // we need to use a custom event listener here because changing the `checked` value via JS\n // (and this happens with the \"select all\") doesn't trigger the `change` event\n // and consequently the `aria-label` won't be automatically updated (and so we have to force it)\n checkbox.addEventListener(\n 'toggle',\n this.updateAriaLabel.bind(this),\n true\n );\n }\n }\n\n @action\n willDestroy(checkbox) {\n super.willDestroy(...arguments);\n let { willDestroy } = this.args;\n if (typeof willDestroy === 'function') {\n willDestroy(this.args.selectionKey);\n if (checkbox) {\n checkbox.removeEventListener(\n 'toggle',\n this.updateAriaLabel.bind(this),\n true\n );\n }\n }\n }\n\n @action\n onSelectionChange(event) {\n this.isSelected = event.target.checked;\n let { onSelectionChange } = this.args;\n if (typeof onSelectionChange === 'function') {\n onSelectionChange(event.target, this.args.selectionKey);\n }\n }\n\n updateAriaLabel(event) {\n // updating the `isSelected` value will trigger the update of the `aria-label` value via the `ariaLabel` getter\n this.isSelected = event.target.checked;\n }\n}\n"],"names":["HdsTableThSelectableComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","guidFor","ariaLabel","selectionAriaLabelSuffix","prefix","isSelected","didInsert","checkbox","selectionKey","addEventListener","updateAriaLabel","bind","willDestroy","arguments","removeEventListener","onSelectionChange","event","target","checked","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
1
+ {"version":3,"file":"th-selectable.js","sources":["../../../../src/components/hds/table/th-selectable.hbs","../../../../src/components/hds/table/th-selectable.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<Hds::Table::Th class=\\\"hds-table__th--is-selectable\\\" @scope={{@selectionScope}} ...attributes>\\n <Hds::Form::Checkbox::Base\\n id={{this.checkboxId}}\\n class=\\\"hds-table__checkbox\\\"\\n checked={{@isSelected}}\\n aria-label={{this.ariaLabel}}\\n {{did-insert this.didInsert}}\\n {{will-destroy this.willDestroy}}\\n {{on \\\"change\\\" this.onSelectionChange}}\\n />\\n</Hds::Table::Th>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class HdsTableThSelectableComponent extends Component {\n @tracked isSelected = this.args.isSelected;\n\n /**\n * Generate a unique ID for the Checkbox\n * @return {string}\n */\n checkboxId = 'checkbox-' + guidFor(this);\n\n get ariaLabel() {\n let { selectionAriaLabelSuffix } = this.args;\n const prefix = this.isSelected ? 'Deselect' : 'Select';\n if (selectionAriaLabelSuffix) {\n return `${prefix} ${selectionAriaLabelSuffix}`;\n } else {\n return prefix;\n }\n }\n\n @action\n didInsert(checkbox) {\n let { didInsert } = this.args;\n if (typeof didInsert === 'function') {\n didInsert(checkbox, this.args.selectionKey);\n // we need to use a custom event listener here because changing the `checked` value via JS\n // (and this happens with the \"select all\") doesn't trigger the `change` event\n // and consequently the `aria-label` won't be automatically updated (and so we have to force it)\n checkbox.addEventListener(\n 'toggle',\n this.updateAriaLabel.bind(this),\n true\n );\n }\n }\n\n @action\n willDestroy(checkbox) {\n super.willDestroy(...arguments);\n let { willDestroy } = this.args;\n if (typeof willDestroy === 'function') {\n willDestroy(this.args.selectionKey);\n if (checkbox) {\n checkbox.removeEventListener(\n 'toggle',\n this.updateAriaLabel.bind(this),\n true\n );\n }\n }\n }\n\n @action\n onSelectionChange(event) {\n this.isSelected = event.target.checked;\n let { onSelectionChange } = this.args;\n if (typeof onSelectionChange === 'function') {\n onSelectionChange(event.target, this.args.selectionKey);\n }\n }\n\n updateAriaLabel(event) {\n // updating the `isSelected` value will trigger the update of the `aria-label` value via the `ariaLabel` getter\n this.isSelected = event.target.checked;\n }\n}\n"],"names":["HdsTableThSelectableComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","guidFor","ariaLabel","selectionAriaLabelSuffix","prefix","isSelected","didInsert","checkbox","selectionKey","addEventListener","updateAriaLabel","bind","willDestroy","arguments","removeEventListener","onSelectionChange","event","target","checked","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AACA,eAAe,kBAAkB,CAAC,geAAge;;;ACS7eA,IAAAA,6BAA6B,IAAAC,MAAA,GAAnC,MAAMD,6BAA6B,SAASE,SAAS,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAAAC,IAAAA,0BAAA,qBAAAC,WAAA,EAAA,IAAA,CAAA,CAAA;AAGnE;AACF;AACA;AACA;AAHEC,IAAAA,eAAA,qBAIa,WAAW,GAAGC,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAA,GAAA;EAExC,IAAIC,SAASA,GAAG;IACd,IAAI;AAAEC,MAAAA,wBAAAA;KAA0B,GAAG,IAAI,CAACN,IAAI,CAAA;IAC5C,MAAMO,MAAM,GAAG,IAAI,CAACC,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAA;AACtD,IAAA,IAAIF,wBAAwB,EAAE;AAC5B,MAAA,OAAO,CAAGC,EAAAA,MAAM,CAAID,CAAAA,EAAAA,wBAAwB,CAAE,CAAA,CAAA;AAChD,KAAC,MAAM;AACL,MAAA,OAAOC,MAAM,CAAA;AACf,KAAA;AACF,GAAA;EAGAE,SAASA,CAACC,QAAQ,EAAE;IAClB,IAAI;AAAED,MAAAA,SAAAA;KAAW,GAAG,IAAI,CAACT,IAAI,CAAA;AAC7B,IAAA,IAAI,OAAOS,SAAS,KAAK,UAAU,EAAE;MACnCA,SAAS,CAACC,QAAQ,EAAE,IAAI,CAACV,IAAI,CAACW,YAAY,CAAC,CAAA;AAC3C;AACA;AACA;AACAD,MAAAA,QAAQ,CAACE,gBAAgB,CACvB,QAAQ,EACR,IAAI,CAACC,eAAe,CAACC,IAAI,CAAC,IAAI,CAAC,EAC/B,IACF,CAAC,CAAA;AACH,KAAA;AACF,GAAA;EAGAC,WAAWA,CAACL,QAAQ,EAAE;AACpB,IAAA,KAAK,CAACK,WAAW,CAAC,GAAGC,SAAS,CAAC,CAAA;IAC/B,IAAI;AAAED,MAAAA,WAAAA;KAAa,GAAG,IAAI,CAACf,IAAI,CAAA;AAC/B,IAAA,IAAI,OAAOe,WAAW,KAAK,UAAU,EAAE;AACrCA,MAAAA,WAAW,CAAC,IAAI,CAACf,IAAI,CAACW,YAAY,CAAC,CAAA;AACnC,MAAA,IAAID,QAAQ,EAAE;AACZA,QAAAA,QAAQ,CAACO,mBAAmB,CAC1B,QAAQ,EACR,IAAI,CAACJ,eAAe,CAACC,IAAI,CAAC,IAAI,CAAC,EAC/B,IACF,CAAC,CAAA;AACH,OAAA;AACF,KAAA;AACF,GAAA;EAGAI,iBAAiBA,CAACC,KAAK,EAAE;AACvB,IAAA,IAAI,CAACX,UAAU,GAAGW,KAAK,CAACC,MAAM,CAACC,OAAO,CAAA;IACtC,IAAI;AAAEH,MAAAA,iBAAAA;KAAmB,GAAG,IAAI,CAAClB,IAAI,CAAA;AACrC,IAAA,IAAI,OAAOkB,iBAAiB,KAAK,UAAU,EAAE;MAC3CA,iBAAiB,CAACC,KAAK,CAACC,MAAM,EAAE,IAAI,CAACpB,IAAI,CAACW,YAAY,CAAC,CAAA;AACzD,KAAA;AACF,GAAA;EAEAE,eAAeA,CAACM,KAAK,EAAE;AACrB;AACA,IAAA,IAAI,CAACX,UAAU,GAAGW,KAAK,CAACC,MAAM,CAACC,OAAO,CAAA;AACxC,GAAA;AACF,CAAC,GAAAnB,WAAA,GAAAoB,yBAAA,CAAAzB,MAAA,CAAA0B,SAAA,EAAA,YAAA,EAAA,CA/DEC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;AAAAC,EAAAA,WAAA,cAAA;AAAA,IAAA,OAAc,IAAI,CAAC5B,IAAI,CAACQ,UAAU,CAAA;AAAA,GAAA;AAAA,CAAA,CAAA,EAAAc,yBAAA,CAAAzB,MAAA,CAAA0B,SAAA,EAAA,WAAA,EAAA,CAkBzCM,MAAM,CAAA,EAAAC,MAAA,CAAAC,wBAAA,CAAAlC,MAAA,CAAA0B,SAAA,EAAA,WAAA,CAAA,EAAA1B,MAAA,CAAA0B,SAAA,CAAA,EAAAD,yBAAA,CAAAzB,MAAA,CAAA0B,SAAA,EAAA,aAAA,EAAA,CAgBNM,MAAM,CAAA,EAAAC,MAAA,CAAAC,wBAAA,CAAAlC,MAAA,CAAA0B,SAAA,EAAA,aAAA,CAAA,EAAA1B,MAAA,CAAA0B,SAAA,CAAA,EAAAD,yBAAA,CAAAzB,MAAA,CAAA0B,SAAA,EAAA,mBAAA,EAAA,CAgBNM,MAAM,CAAA,EAAAC,MAAA,CAAAC,wBAAA,CAAAlC,MAAA,CAAA0B,SAAA,EAAA,mBAAA,CAAA,EAAA1B,MAAA,CAAA0B,SAAA,CAAA,GAAA1B,MAAA,EAAA;AAnDyCmC,oBAAA,CAAAC,QAAA,EAA7BrC,6BAA6B,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import { a as _defineProperty } from '../../../_rollupPluginBabelHelpers-NoJJJNhk.js';
1
+ import { a as _defineProperty } from '../../../_rollupPluginBabelHelpers-KIi_qCIU.js';
2
2
  import Component from '@glimmer/component';
3
3
  import { guidFor } from '@ember/object/internals';
4
4
  import { assert } from '@ember/debug';
@@ -1 +1 @@
1
- {"version":3,"file":"th-sort.js","sources":["../../../../src/components/hds/table/th-sort.hbs","../../../../src/components/hds/table/th-sort.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<th\\n class={{this.classNames}}\\n aria-sort={{this.ariaSort}}\\n {{style width=@width minWidth=@width}}\\n ...attributes\\n scope=\\\"col\\\"\\n>\\n <div class=\\\"hds-table__th-content\\\">\\n <span id={{this.labelId}} class=\\\"hds-typography-body-200 hds-font-weight-semibold\\\">{{yield}}</span>\\n {{#if @tooltip}}\\n <Hds::Table::ThButtonTooltip @tooltip={{@tooltip}} @labelId={{this.labelId}} />\\n {{/if}}\\n <Hds::Table::ThButtonSort @sortOrder={{@sortOrder}} @onClick={{@onClickSort}} @labelId={{this.labelId}} />\\n </div>\\n</th>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { assert } from '@ember/debug';\n\nconst ALIGNMENTS = ['left', 'center', 'right'];\nconst DEFAULT_ALIGN = 'left';\n\nexport default class HdsTableThSortComponent extends Component {\n /**\n * Generates a unique ID for the <span> element (\"label\")\n *\n * @param labelId\n */\n labelId = guidFor(this);\n\n /**\n * @param ariaSort\n * @type {string}\n * @private\n * @default none\n * @description Sets the aria-sort attribute based on the sort order defined; acceptable values are ascending, descending, none(default) and other. Authors SHOULD only apply this property to table headers or grid headers. If the property is not provided, there is no defined sort order. For each table or grid, authors SHOULD apply aria-sort to only one header at a time.\n */\n get ariaSort() {\n switch (this.args.sortOrder) {\n case 'asc':\n return 'ascending';\n case 'desc':\n return 'descending';\n default:\n // none is the default per the spec.\n return 'none';\n }\n }\n\n /**\n * @param align\n * @type {string}\n * @default left\n * @description Determines the text alignment of the header or cell content. Options are: \"left\", \"center\", \"right\". If no align is defined, \"left\" is used.\n */\n get align() {\n let { align = DEFAULT_ALIGN } = this.args;\n\n assert(\n `@align for \"Hds::Table\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${align}`,\n ALIGNMENTS.includes(align)\n );\n return align;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-table__th', 'hds-table__th--sort'];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-table__th--align-${this.align}`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["ALIGNMENTS","DEFAULT_ALIGN","HdsTableThSortComponent","Component","constructor","args","_defineProperty","guidFor","ariaSort","sortOrder","align","assert","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AACA,eAAe,kBAAkB,CAAC,6mBAA6mB;;ACQ/oB,MAAMA,UAAU,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;AAC9C,MAAMC,aAAa,GAAG,MAAM,CAAA;AAEb,MAAMC,uBAAuB,SAASC,SAAS,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAC7D;AACF;AACA;AACA;AACA;AAJEC,IAAAA,eAAA,CAKUC,IAAAA,EAAAA,SAAAA,EAAAA,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAA,GAAA;AAEvB;AACF;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,QAAQA,GAAG;AACb,IAAA,QAAQ,IAAI,CAACH,IAAI,CAACI,SAAS;AACzB,MAAA,KAAK,KAAK;AACR,QAAA,OAAO,WAAW,CAAA;AACpB,MAAA,KAAK,MAAM;AACT,QAAA,OAAO,YAAY,CAAA;AACrB,MAAA;AACE;AACA,QAAA,OAAO,MAAM,CAAA;AACjB,KAAA;AACF,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAG;IACV,IAAI;AAAEA,MAAAA,KAAK,GAAGT,aAAAA;KAAe,GAAG,IAAI,CAACI,IAAI,CAAA;AAEzCM,IAAAA,MAAM,CACH,CAAwDX,sDAAAA,EAAAA,UAAU,CAACY,IAAI,CACtE,IACF,CAAE,CAAA,YAAA,EAAcF,KAAM,CAAA,CAAC,EACvBV,UAAU,CAACa,QAAQ,CAACH,KAAK,CAC3B,CAAC,CAAA;AACD,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAII,UAAUA,GAAG;AACf,IAAA,IAAIC,OAAO,GAAG,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAA;;AAEtD;IACA,IAAI,IAAI,CAACL,KAAK,EAAE;MACdK,OAAO,CAACC,IAAI,CAAE,CAAA,qBAAA,EAAuB,IAAI,CAACN,KAAM,EAAC,CAAC,CAAA;AACpD,KAAA;AAEA,IAAA,OAAOK,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACK,oBAAA,CAAAC,QAAA,EA5DoBhB,uBAAuB,CAAA;;;;"}
1
+ {"version":3,"file":"th-sort.js","sources":["../../../../src/components/hds/table/th-sort.hbs","../../../../src/components/hds/table/th-sort.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<th\\n class={{this.classNames}}\\n aria-sort={{this.ariaSort}}\\n {{style width=@width minWidth=@width}}\\n ...attributes\\n scope=\\\"col\\\"\\n>\\n <div class=\\\"hds-table__th-content\\\">\\n <span id={{this.labelId}} class=\\\"hds-typography-body-200 hds-font-weight-semibold\\\">{{yield}}</span>\\n {{#if @tooltip}}\\n <Hds::Table::ThButtonTooltip @tooltip={{@tooltip}} @labelId={{this.labelId}} />\\n {{/if}}\\n <Hds::Table::ThButtonSort @sortOrder={{@sortOrder}} @onClick={{@onClickSort}} @labelId={{this.labelId}} />\\n </div>\\n</th>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { assert } from '@ember/debug';\n\nconst ALIGNMENTS = ['left', 'center', 'right'];\nconst DEFAULT_ALIGN = 'left';\n\nexport default class HdsTableThSortComponent extends Component {\n /**\n * Generates a unique ID for the <span> element (\"label\")\n *\n * @param labelId\n */\n labelId = guidFor(this);\n\n /**\n * @param ariaSort\n * @type {string}\n * @private\n * @default none\n * @description Sets the aria-sort attribute based on the sort order defined; acceptable values are ascending, descending, none(default) and other. Authors SHOULD only apply this property to table headers or grid headers. If the property is not provided, there is no defined sort order. For each table or grid, authors SHOULD apply aria-sort to only one header at a time.\n */\n get ariaSort() {\n switch (this.args.sortOrder) {\n case 'asc':\n return 'ascending';\n case 'desc':\n return 'descending';\n default:\n // none is the default per the spec.\n return 'none';\n }\n }\n\n /**\n * @param align\n * @type {string}\n * @default left\n * @description Determines the text alignment of the header or cell content. Options are: \"left\", \"center\", \"right\". If no align is defined, \"left\" is used.\n */\n get align() {\n let { align = DEFAULT_ALIGN } = this.args;\n\n assert(\n `@align for \"Hds::Table\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${align}`,\n ALIGNMENTS.includes(align)\n );\n return align;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-table__th', 'hds-table__th--sort'];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-table__th--align-${this.align}`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["ALIGNMENTS","DEFAULT_ALIGN","HdsTableThSortComponent","Component","constructor","args","_defineProperty","guidFor","ariaSort","sortOrder","align","assert","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AACA,eAAe,kBAAkB,CAAC,6mBAA6mB;;ACQ/oB,MAAMA,UAAU,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;AAC9C,MAAMC,aAAa,GAAG,MAAM,CAAA;AAEb,MAAMC,uBAAuB,SAASC,SAAS,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAC7D;AACF;AACA;AACA;AACA;AAJEC,IAAAA,eAAA,CAKUC,IAAAA,EAAAA,SAAAA,EAAAA,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAA,GAAA;AAEvB;AACF;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,QAAQA,GAAG;AACb,IAAA,QAAQ,IAAI,CAACH,IAAI,CAACI,SAAS;AACzB,MAAA,KAAK,KAAK;AACR,QAAA,OAAO,WAAW,CAAA;AACpB,MAAA,KAAK,MAAM;AACT,QAAA,OAAO,YAAY,CAAA;AACrB,MAAA;AACE;AACA,QAAA,OAAO,MAAM,CAAA;AACjB,KAAA;AACF,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAG;IACV,IAAI;AAAEA,MAAAA,KAAK,GAAGT,aAAAA;KAAe,GAAG,IAAI,CAACI,IAAI,CAAA;AAEzCM,IAAAA,MAAM,CACJ,CAAyDX,sDAAAA,EAAAA,UAAU,CAACY,IAAI,CACtE,IACF,CAAC,CAAA,YAAA,EAAeF,KAAK,CAAA,CAAE,EACvBV,UAAU,CAACa,QAAQ,CAACH,KAAK,CAC3B,CAAC,CAAA;AACD,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAII,UAAUA,GAAG;AACf,IAAA,IAAIC,OAAO,GAAG,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAA;;AAEtD;IACA,IAAI,IAAI,CAACL,KAAK,EAAE;MACdK,OAAO,CAACC,IAAI,CAAC,CAAA,qBAAA,EAAwB,IAAI,CAACN,KAAK,EAAE,CAAC,CAAA;AACpD,KAAA;AAEA,IAAA,OAAOK,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACK,oBAAA,CAAAC,QAAA,EA5DoBhB,uBAAuB,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import { a as _defineProperty } from '../../../_rollupPluginBabelHelpers-NoJJJNhk.js';
1
+ import { a as _defineProperty } from '../../../_rollupPluginBabelHelpers-KIi_qCIU.js';
2
2
  import Component from '@glimmer/component';
3
3
  import { guidFor } from '@ember/object/internals';
4
4
  import { assert } from '@ember/debug';
@@ -1 +1 @@
1
- {"version":3,"file":"th.js","sources":["../../../../src/components/hds/table/th.hbs","../../../../src/components/hds/table/th.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<th class={{this.classNames}} {{style width=@width minWidth=@width}} ...attributes scope={{(or @scope \\\"col\\\")}}>\\n {{#if @isVisuallyHidden}}\\n <span class=\\\"sr-only\\\">{{yield}}</span>\\n {{else}}\\n {{#if @tooltip}}\\n <div class=\\\"hds-table__th-content\\\">\\n <span id={{this.labelId}} class=\\\"hds-typography-body-200 hds-font-weight-semibold\\\">{{yield}}</span>\\n <Hds::Table::ThButtonTooltip @tooltip={{@tooltip}} @labelId={{this.labelId}} />\\n </div>\\n {{else}}\\n <span class=\\\"hds-typography-body-200 hds-font-weight-semibold\\\">{{yield}}</span>\\n {{/if}}\\n {{/if}}\\n</th>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { assert } from '@ember/debug';\n\nconst ALIGNMENTS = ['left', 'center', 'right'];\nconst DEFAULT_ALIGN = 'left';\n\nexport default class HdsTableThComponent extends Component {\n /**\n * Generates a unique ID for the <span> element (\"label\")\n *\n * @param labelId\n */\n labelId = guidFor(this);\n\n /**\n * @param align\n * @type {string}\n * @default left\n * @description Determines the text alignment of the header or cell content. Options are: \"left\", \"center\", \"right\". If no align is defined, \"left\" is used.\n */\n get align() {\n let { align = DEFAULT_ALIGN } = this.args;\n\n assert(\n `@align for \"Hds::Table::Th\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${align}`,\n ALIGNMENTS.includes(align)\n );\n return align;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-table__th'];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-table__th--align-${this.align}`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["ALIGNMENTS","DEFAULT_ALIGN","HdsTableThComponent","Component","constructor","args","_defineProperty","guidFor","align","assert","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AACA,eAAe,kBAAkB,CAAC,urBAAurB;;ACQztB,MAAMA,UAAU,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;AAC9C,MAAMC,aAAa,GAAG,MAAM,CAAA;AAEb,MAAMC,mBAAmB,SAASC,SAAS,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AACzD;AACF;AACA;AACA;AACA;AAJEC,IAAAA,eAAA,CAKUC,IAAAA,EAAAA,SAAAA,EAAAA,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAA,GAAA;AAEvB;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAG;IACV,IAAI;AAAEA,MAAAA,KAAK,GAAGP,aAAAA;KAAe,GAAG,IAAI,CAACI,IAAI,CAAA;AAEzCI,IAAAA,MAAM,CACH,CAA4DT,0DAAAA,EAAAA,UAAU,CAACU,IAAI,CAC1E,IACF,CAAE,CAAA,YAAA,EAAcF,KAAM,CAAA,CAAC,EACvBR,UAAU,CAACW,QAAQ,CAACH,KAAK,CAC3B,CAAC,CAAA;AACD,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAII,UAAUA,GAAG;AACf,IAAA,IAAIC,OAAO,GAAG,CAAC,eAAe,CAAC,CAAA;;AAE/B;IACA,IAAI,IAAI,CAACL,KAAK,EAAE;MACdK,OAAO,CAACC,IAAI,CAAE,CAAA,qBAAA,EAAuB,IAAI,CAACN,KAAM,EAAC,CAAC,CAAA;AACpD,KAAA;AAEA,IAAA,OAAOK,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACK,oBAAA,CAAAC,QAAA,EAzCoBd,mBAAmB,CAAA;;;;"}
1
+ {"version":3,"file":"th.js","sources":["../../../../src/components/hds/table/th.hbs","../../../../src/components/hds/table/th.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<th class={{this.classNames}} {{style width=@width minWidth=@width}} ...attributes scope={{(or @scope \\\"col\\\")}}>\\n {{#if @isVisuallyHidden}}\\n <span class=\\\"sr-only\\\">{{yield}}</span>\\n {{else}}\\n {{#if @tooltip}}\\n <div class=\\\"hds-table__th-content\\\">\\n <span id={{this.labelId}} class=\\\"hds-typography-body-200 hds-font-weight-semibold\\\">{{yield}}</span>\\n <Hds::Table::ThButtonTooltip @tooltip={{@tooltip}} @labelId={{this.labelId}} />\\n </div>\\n {{else}}\\n <span class=\\\"hds-typography-body-200 hds-font-weight-semibold\\\">{{yield}}</span>\\n {{/if}}\\n {{/if}}\\n</th>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { assert } from '@ember/debug';\n\nconst ALIGNMENTS = ['left', 'center', 'right'];\nconst DEFAULT_ALIGN = 'left';\n\nexport default class HdsTableThComponent extends Component {\n /**\n * Generates a unique ID for the <span> element (\"label\")\n *\n * @param labelId\n */\n labelId = guidFor(this);\n\n /**\n * @param align\n * @type {string}\n * @default left\n * @description Determines the text alignment of the header or cell content. Options are: \"left\", \"center\", \"right\". If no align is defined, \"left\" is used.\n */\n get align() {\n let { align = DEFAULT_ALIGN } = this.args;\n\n assert(\n `@align for \"Hds::Table::Th\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${align}`,\n ALIGNMENTS.includes(align)\n );\n return align;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-table__th'];\n\n // add a class based on the @align argument\n if (this.align) {\n classes.push(`hds-table__th--align-${this.align}`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["ALIGNMENTS","DEFAULT_ALIGN","HdsTableThComponent","Component","constructor","args","_defineProperty","guidFor","align","assert","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AACA,eAAe,kBAAkB,CAAC,urBAAurB;;ACQztB,MAAMA,UAAU,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;AAC9C,MAAMC,aAAa,GAAG,MAAM,CAAA;AAEb,MAAMC,mBAAmB,SAASC,SAAS,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AACzD;AACF;AACA;AACA;AACA;AAJEC,IAAAA,eAAA,CAKUC,IAAAA,EAAAA,SAAAA,EAAAA,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAA,GAAA;AAEvB;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAG;IACV,IAAI;AAAEA,MAAAA,KAAK,GAAGP,aAAAA;KAAe,GAAG,IAAI,CAACI,IAAI,CAAA;AAEzCI,IAAAA,MAAM,CACJ,CAA6DT,0DAAAA,EAAAA,UAAU,CAACU,IAAI,CAC1E,IACF,CAAC,CAAA,YAAA,EAAeF,KAAK,CAAA,CAAE,EACvBR,UAAU,CAACW,QAAQ,CAACH,KAAK,CAC3B,CAAC,CAAA;AACD,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAII,UAAUA,GAAG;AACf,IAAA,IAAIC,OAAO,GAAG,CAAC,eAAe,CAAC,CAAA;;AAE/B;IACA,IAAI,IAAI,CAACL,KAAK,EAAE;MACdK,OAAO,CAACC,IAAI,CAAC,CAAA,qBAAA,EAAwB,IAAI,CAACN,KAAK,EAAE,CAAC,CAAA;AACpD,KAAA;AAEA,IAAA,OAAOK,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACK,oBAAA,CAAAC,QAAA,EAzCoBd,mBAAmB,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"tr.js","sources":["../../../../src/components/hds/table/tr.hbs","../../../../src/components/hds/table/tr.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<tr class=\\\"hds-table__tr\\\" ...attributes>\\n {{#if @isSelectable}}\\n <Hds::Table::ThSelectable\\n @isSelected={{@isSelected}}\\n @selectionScope={{@selectionScope}}\\n @selectionKey={{this.selectionKey}}\\n @selectionAriaLabelSuffix={{@selectionAriaLabelSuffix}}\\n @didInsert={{@didInsert}}\\n @willDestroy={{@willDestroy}}\\n @onSelectionChange={{@onSelectionChange}}\\n />\\n {{/if}}\\n\\n {{yield}}\\n</tr>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nexport default class HdsTableTrComponent extends Component {\n /**\n * @param selectionKey\n * @type {string}\n * @default undefined\n */\n get selectionKey() {\n if (this.args.isSelectable && this.args.selectionScope === 'row') {\n assert(\n `@selectionKey must be defined on Table::Tr or B.Tr when @isSelectable is true`,\n this.args.selectionKey\n );\n return this.args.selectionKey;\n }\n return undefined;\n }\n}\n"],"names":["HdsTableTrComponent","Component","selectionKey","args","isSelectable","selectionScope","assert","undefined","setComponentTemplate","TEMPLATE"],"mappings":";;;;;AACA,eAAe,kBAAkB,CAAC,4gBAA4gB;;ACD9iB;AACA;AACA;AACA;;AAKe,MAAMA,mBAAmB,SAASC,SAAS,CAAC;AACzD;AACF;AACA;AACA;AACA;EACE,IAAIC,YAAYA,GAAG;AACjB,IAAA,IAAI,IAAI,CAACC,IAAI,CAACC,YAAY,IAAI,IAAI,CAACD,IAAI,CAACE,cAAc,KAAK,KAAK,EAAE;MAChEC,MAAM,CACH,+EAA8E,EAC/E,IAAI,CAACH,IAAI,CAACD,YACZ,CAAC,CAAA;AACD,MAAA,OAAO,IAAI,CAACC,IAAI,CAACD,YAAY,CAAA;AAC/B,KAAA;AACA,IAAA,OAAOK,SAAS,CAAA;AAClB,GAAA;AACF,CAAA;AAACC,oBAAA,CAAAC,QAAA,EAhBoBT,mBAAmB,CAAA;;;;"}
1
+ {"version":3,"file":"tr.js","sources":["../../../../src/components/hds/table/tr.hbs","../../../../src/components/hds/table/tr.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<tr class=\\\"hds-table__tr\\\" ...attributes>\\n {{#if @isSelectable}}\\n <Hds::Table::ThSelectable\\n @isSelected={{@isSelected}}\\n @selectionScope={{@selectionScope}}\\n @selectionKey={{this.selectionKey}}\\n @selectionAriaLabelSuffix={{@selectionAriaLabelSuffix}}\\n @didInsert={{@didInsert}}\\n @willDestroy={{@willDestroy}}\\n @onSelectionChange={{@onSelectionChange}}\\n />\\n {{/if}}\\n\\n {{yield}}\\n</tr>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nexport default class HdsTableTrComponent extends Component {\n /**\n * @param selectionKey\n * @type {string}\n * @default undefined\n */\n get selectionKey() {\n if (this.args.isSelectable && this.args.selectionScope === 'row') {\n assert(\n `@selectionKey must be defined on Table::Tr or B.Tr when @isSelectable is true`,\n this.args.selectionKey\n );\n return this.args.selectionKey;\n }\n return undefined;\n }\n}\n"],"names":["HdsTableTrComponent","Component","selectionKey","args","isSelectable","selectionScope","assert","undefined","setComponentTemplate","TEMPLATE"],"mappings":";;;;;AACA,eAAe,kBAAkB,CAAC,4gBAA4gB;;ACD9iB;AACA;AACA;AACA;;AAKe,MAAMA,mBAAmB,SAASC,SAAS,CAAC;AACzD;AACF;AACA;AACA;AACA;EACE,IAAIC,YAAYA,GAAG;AACjB,IAAA,IAAI,IAAI,CAACC,IAAI,CAACC,YAAY,IAAI,IAAI,CAACD,IAAI,CAACE,cAAc,KAAK,KAAK,EAAE;MAChEC,MAAM,CACJ,+EAA+E,EAC/E,IAAI,CAACH,IAAI,CAACD,YACZ,CAAC,CAAA;AACD,MAAA,OAAO,IAAI,CAACC,IAAI,CAACD,YAAY,CAAA;AAC/B,KAAA;AACA,IAAA,OAAOK,SAAS,CAAA;AAClB,GAAA;AACF,CAAA;AAACC,oBAAA,CAAAC,QAAA,EAhBoBT,mBAAmB,CAAA;;;;"}