@hashicorp/design-system-components 4.10.0 → 4.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/declarations/components/hds/app-footer/index.d.ts +4 -4
  2. package/declarations/components/hds/app-footer/index.d.ts.map +1 -1
  3. package/declarations/components/hds/app-footer/item.d.ts +3 -3
  4. package/declarations/components/hds/app-footer/item.d.ts.map +1 -1
  5. package/declarations/components/hds/app-footer/link.d.ts +3 -3
  6. package/declarations/components/hds/app-footer/link.d.ts.map +1 -1
  7. package/declarations/components/hds/app-footer/status-link.d.ts +1 -1
  8. package/declarations/components/hds/app-frame/parts/footer.d.ts +3 -3
  9. package/declarations/components/hds/app-frame/parts/footer.d.ts.map +1 -1
  10. package/declarations/components/hds/app-frame/parts/header.d.ts +3 -3
  11. package/declarations/components/hds/app-frame/parts/header.d.ts.map +1 -1
  12. package/declarations/components/hds/app-frame/parts/main.d.ts +3 -3
  13. package/declarations/components/hds/app-frame/parts/main.d.ts.map +1 -1
  14. package/declarations/components/hds/app-frame/parts/modals.d.ts +3 -3
  15. package/declarations/components/hds/app-frame/parts/modals.d.ts.map +1 -1
  16. package/declarations/components/hds/app-frame/parts/sidebar.d.ts +3 -3
  17. package/declarations/components/hds/app-frame/parts/sidebar.d.ts.map +1 -1
  18. package/declarations/components/hds/application-state/footer.d.ts +1 -1
  19. package/declarations/components/hds/application-state/footer.d.ts.map +1 -1
  20. package/declarations/components/hds/badge-count/index.d.ts +1 -1
  21. package/declarations/components/hds/badge-count/index.d.ts.map +1 -1
  22. package/declarations/components/hds/button/index.d.ts +15 -16
  23. package/declarations/components/hds/button/index.d.ts.map +1 -1
  24. package/declarations/components/hds/button/types.d.ts +23 -0
  25. package/declarations/components/hds/button/types.d.ts.map +1 -0
  26. package/declarations/components/hds/code-block/index.d.ts.map +1 -1
  27. package/declarations/components/hds/dialog-primitive/footer.d.ts +5 -4
  28. package/declarations/components/hds/dialog-primitive/footer.d.ts.map +1 -1
  29. package/declarations/components/hds/disclosure-primitive/index.d.ts.map +1 -1
  30. package/declarations/components/hds/dropdown/footer.d.ts +1 -1
  31. package/declarations/components/hds/dropdown/footer.d.ts.map +1 -1
  32. package/declarations/components/hds/dropdown/header.d.ts +1 -1
  33. package/declarations/components/hds/dropdown/header.d.ts.map +1 -1
  34. package/declarations/components/hds/dropdown/index.d.ts +1 -0
  35. package/declarations/components/hds/dropdown/index.d.ts.map +1 -1
  36. package/declarations/components/hds/dropdown/list-item/interactive.d.ts +2 -2
  37. package/declarations/components/hds/dropdown/list-item/interactive.d.ts.map +1 -1
  38. package/declarations/components/hds/dropdown/toggle/button.d.ts +2 -2
  39. package/declarations/components/hds/dropdown/toggle/button.d.ts.map +1 -1
  40. package/declarations/components/hds/dropdown/toggle/chevron.d.ts +1 -0
  41. package/declarations/components/hds/dropdown/toggle/chevron.d.ts.map +1 -1
  42. package/declarations/components/hds/dropdown/toggle/icon.d.ts +2 -2
  43. package/declarations/components/hds/dropdown/toggle/icon.d.ts.map +1 -1
  44. package/declarations/components/hds/form/radio-card/group.d.ts +2 -2
  45. package/declarations/components/hds/form/radio-card/group.d.ts.map +1 -1
  46. package/declarations/components/hds/form/radio-card/index.d.ts +8 -8
  47. package/declarations/components/hds/form/radio-card/index.d.ts.map +1 -1
  48. package/declarations/components/hds/form/super-select/multiple/field.d.ts +16 -1
  49. package/declarations/components/hds/form/super-select/multiple/field.d.ts.map +1 -1
  50. package/declarations/components/hds/form/super-select/single/field.d.ts +16 -1
  51. package/declarations/components/hds/form/super-select/single/field.d.ts.map +1 -1
  52. package/declarations/components/hds/icon-tile/types.d.ts +1 -1
  53. package/declarations/components/hds/icon-tile/types.d.ts.map +1 -1
  54. package/declarations/components/hds/interactive/index.d.ts +4 -4
  55. package/declarations/components/hds/interactive/index.d.ts.map +1 -1
  56. package/declarations/components/hds/menu-primitive/index.d.ts.map +1 -1
  57. package/declarations/components/hds/pagination/compact/index.d.ts +20 -3
  58. package/declarations/components/hds/pagination/compact/index.d.ts.map +1 -1
  59. package/declarations/components/hds/pagination/numbered/index.d.ts +23 -4
  60. package/declarations/components/hds/pagination/numbered/index.d.ts.map +1 -1
  61. package/declarations/components/hds/popover-primitive/index.d.ts.map +1 -1
  62. package/declarations/components/hds/side-nav/index.d.ts +1 -0
  63. package/declarations/components/hds/side-nav/index.d.ts.map +1 -1
  64. package/declarations/components/hds/side-nav/portal/index.d.ts +3 -4
  65. package/declarations/components/hds/side-nav/portal/index.d.ts.map +1 -1
  66. package/declarations/components/hds/stepper/step/indicator.d.ts +2 -2
  67. package/declarations/components/hds/stepper/step/indicator.d.ts.map +1 -1
  68. package/declarations/components/hds/stepper/task/indicator.d.ts +2 -2
  69. package/declarations/components/hds/stepper/task/indicator.d.ts.map +1 -1
  70. package/declarations/components/hds/table/index.d.ts +17 -16
  71. package/declarations/components/hds/table/index.d.ts.map +1 -1
  72. package/declarations/components/hds/table/td.d.ts +2 -2
  73. package/declarations/components/hds/table/td.d.ts.map +1 -1
  74. package/declarations/components/hds/table/th-button-sort.d.ts +2 -29
  75. package/declarations/components/hds/table/th-button-sort.d.ts.map +1 -1
  76. package/declarations/components/hds/table/th-button-tooltip.d.ts +2 -12
  77. package/declarations/components/hds/table/th-button-tooltip.d.ts.map +1 -1
  78. package/declarations/components/hds/table/th-selectable.d.ts +16 -14
  79. package/declarations/components/hds/table/th-selectable.d.ts.map +1 -1
  80. package/declarations/components/hds/table/th-sort.d.ts +4 -3
  81. package/declarations/components/hds/table/th-sort.d.ts.map +1 -1
  82. package/declarations/components/hds/table/th.d.ts +2 -2
  83. package/declarations/components/hds/table/th.d.ts.map +1 -1
  84. package/declarations/components/hds/table/tr.d.ts +16 -16
  85. package/declarations/components/hds/table/tr.d.ts.map +1 -1
  86. package/declarations/components/hds/table/types.d.ts +2 -1
  87. package/declarations/components/hds/table/types.d.ts.map +1 -1
  88. package/declarations/components/hds/tabs/index.d.ts.map +1 -1
  89. package/declarations/components/hds/tabs/panel.d.ts +6 -6
  90. package/declarations/components/hds/tabs/panel.d.ts.map +1 -1
  91. package/declarations/components/hds/tabs/tab.d.ts +7 -7
  92. package/declarations/components/hds/tabs/tab.d.ts.map +1 -1
  93. package/declarations/components/hds/tooltip-button/index.d.ts +4 -4
  94. package/declarations/components/hds/tooltip-button/index.d.ts.map +1 -1
  95. package/declarations/modifiers/hds-clipboard.d.ts.map +1 -1
  96. package/declarations/modifiers/hds-tooltip.d.ts +1 -1
  97. package/declarations/modifiers/hds-tooltip.d.ts.map +1 -1
  98. package/declarations/utils/hds-aria-described-by.d.ts.map +1 -1
  99. package/dist/_app_/instance-initializers/load-sprite.js +1 -0
  100. package/dist/components/hds/app-footer/index.js.map +1 -1
  101. package/dist/components/hds/app-footer/item.js +4 -4
  102. package/dist/components/hds/app-footer/item.js.map +1 -1
  103. package/dist/components/hds/app-footer/link.js +4 -4
  104. package/dist/components/hds/app-footer/link.js.map +1 -1
  105. package/dist/components/hds/app-frame/parts/footer.js +4 -4
  106. package/dist/components/hds/app-frame/parts/footer.js.map +1 -1
  107. package/dist/components/hds/app-frame/parts/header.js +4 -4
  108. package/dist/components/hds/app-frame/parts/header.js.map +1 -1
  109. package/dist/components/hds/app-frame/parts/main.js +4 -4
  110. package/dist/components/hds/app-frame/parts/main.js.map +1 -1
  111. package/dist/components/hds/app-frame/parts/modals.js +4 -4
  112. package/dist/components/hds/app-frame/parts/modals.js.map +1 -1
  113. package/dist/components/hds/app-frame/parts/sidebar.js +4 -4
  114. package/dist/components/hds/app-frame/parts/sidebar.js.map +1 -1
  115. package/dist/components/hds/application-state/footer.js.map +1 -1
  116. package/dist/components/hds/badge-count/index.js.map +1 -1
  117. package/dist/components/hds/button/index.js +7 -6
  118. package/dist/components/hds/button/index.js.map +1 -1
  119. package/dist/components/hds/button/types.js +26 -0
  120. package/dist/components/hds/button/types.js.map +1 -0
  121. package/dist/components/hds/code-block/index.js +2 -0
  122. package/dist/components/hds/code-block/index.js.map +1 -1
  123. package/dist/components/hds/dialog-primitive/footer.js +21 -5
  124. package/dist/components/hds/dialog-primitive/footer.js.map +1 -1
  125. package/dist/components/hds/disclosure-primitive/index.js +1 -0
  126. package/dist/components/hds/disclosure-primitive/index.js.map +1 -1
  127. package/dist/components/hds/dropdown/footer.js.map +1 -1
  128. package/dist/components/hds/dropdown/header.js.map +1 -1
  129. package/dist/components/hds/dropdown/index.js +1 -1
  130. package/dist/components/hds/dropdown/index.js.map +1 -1
  131. package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -1
  132. package/dist/components/hds/dropdown/toggle/button.js.map +1 -1
  133. package/dist/components/hds/dropdown/toggle/chevron.js.map +1 -1
  134. package/dist/components/hds/dropdown/toggle/icon.js.map +1 -1
  135. package/dist/components/hds/form/radio-card/group.js.map +1 -1
  136. package/dist/components/hds/form/radio-card/index.js.map +1 -1
  137. package/dist/components/hds/form/super-select/multiple/field.js.map +1 -1
  138. package/dist/components/hds/form/super-select/single/field.js.map +1 -1
  139. package/dist/components/hds/icon-tile/types.js.map +1 -1
  140. package/dist/components/hds/interactive/index.js.map +1 -1
  141. package/dist/components/hds/menu-primitive/index.js +1 -0
  142. package/dist/components/hds/menu-primitive/index.js.map +1 -1
  143. package/dist/components/hds/pagination/compact/index.js +2 -1
  144. package/dist/components/hds/pagination/compact/index.js.map +1 -1
  145. package/dist/components/hds/pagination/numbered/index.js +1 -0
  146. package/dist/components/hds/pagination/numbered/index.js.map +1 -1
  147. package/dist/components/hds/popover-primitive/index.js +1 -0
  148. package/dist/components/hds/popover-primitive/index.js.map +1 -1
  149. package/dist/components/hds/side-nav/index.js +12 -7
  150. package/dist/components/hds/side-nav/index.js.map +1 -1
  151. package/dist/components/hds/side-nav/portal/index.js +4 -4
  152. package/dist/components/hds/side-nav/portal/index.js.map +1 -1
  153. package/dist/components/hds/side-nav/portal/target.js +2 -2
  154. package/dist/components/hds/side-nav/portal/target.js.map +1 -1
  155. package/dist/components/hds/stepper/step/indicator.js.map +1 -1
  156. package/dist/components/hds/stepper/task/indicator.js.map +1 -1
  157. package/dist/components/hds/table/index.js +2 -2
  158. package/dist/components/hds/table/index.js.map +1 -1
  159. package/dist/components/hds/table/td.js.map +1 -1
  160. package/dist/components/hds/table/th-button-sort.js +3 -29
  161. package/dist/components/hds/table/th-button-sort.js.map +1 -1
  162. package/dist/components/hds/table/th-button-tooltip.js +1 -11
  163. package/dist/components/hds/table/th-button-tooltip.js.map +1 -1
  164. package/dist/components/hds/table/th-selectable.js +20 -7
  165. package/dist/components/hds/table/th-selectable.js.map +1 -1
  166. package/dist/components/hds/table/th-sort.js.map +1 -1
  167. package/dist/components/hds/table/th.js.map +1 -1
  168. package/dist/components/hds/table/tr.js +1 -6
  169. package/dist/components/hds/table/tr.js.map +1 -1
  170. package/dist/components/hds/table/types.js.map +1 -1
  171. package/dist/components/hds/tabs/index.js +5 -0
  172. package/dist/components/hds/tabs/index.js.map +1 -1
  173. package/dist/components/hds/tabs/panel.js +1 -1
  174. package/dist/components/hds/tabs/panel.js.map +1 -1
  175. package/dist/components/hds/tabs/tab.js.map +1 -1
  176. package/dist/components/hds/tooltip-button/index.js +3 -2
  177. package/dist/components/hds/tooltip-button/index.js.map +1 -1
  178. package/dist/modifiers/hds-clipboard.js +1 -1
  179. package/dist/modifiers/hds-clipboard.js.map +1 -1
  180. package/dist/modifiers/hds-tooltip.js.map +1 -1
  181. package/dist/styles/@hashicorp/design-system-components.css +47 -13
  182. package/dist/styles/components/code-block/index.scss +1 -0
  183. package/dist/styles/components/copy/button.scss +14 -1
  184. package/dist/styles/components/copy/snippet.scss +30 -16
  185. package/dist/styles/components/dialog-primitive.scss +6 -5
  186. package/dist/styles/components/form/masked-input.scss +1 -0
  187. package/dist/styles/components/form/radio-card.scss +12 -3
  188. package/dist/styles/components/stepper/step-indicator.scss +69 -16
  189. package/dist/utils/hds-aria-described-by.js +2 -0
  190. package/dist/utils/hds-aria-described-by.js.map +1 -1
  191. package/package.json +9 -7
@@ -1,4 +1,4 @@
1
- import Component from '@glimmer/component';
1
+ import templateOnlyComponent from '@ember/component/template-only';
2
2
  import { precompileTemplate } from '@ember/template-compilation';
3
3
  import { setComponentTemplate } from '@ember/component';
4
4
 
@@ -9,8 +9,8 @@ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-
9
9
  * SPDX-License-Identifier: MPL-2.0
10
10
  */
11
11
 
12
- class HdsAppFrameFooter extends Component {}
13
- setComponentTemplate(TEMPLATE, HdsAppFrameFooter);
12
+ const HdsAppFrameFooter = templateOnlyComponent();
13
+ var footer = setComponentTemplate(TEMPLATE, HdsAppFrameFooter);
14
14
 
15
- export { HdsAppFrameFooter as default };
15
+ export { footer as default };
16
16
  //# sourceMappingURL=footer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"footer.js","sources":["../../../../../src/components/hds/app-frame/parts/footer.hbs","../../../../../src/components/hds/app-frame/parts/footer.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<footer class=\\\"hds-app-frame__footer\\\" ...attributes>\\n {{yield}}\\n</footer>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nexport interface HdsAppFrameFooterSignature {\n Blocks: {\n default: [];\n };\n Element: HTMLElement;\n}\n\nexport default class HdsAppFrameFooter extends Component<HdsAppFrameFooterSignature> {}\n"],"names":["HdsAppFrameFooter","Component","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,8JAA8J;;ACDhM;AACA;AACA;AACA;;AAWe,MAAMA,iBAAiB,SAASC,SAAS,CAA6B,EAAA;AAAEC,oBAAA,CAAAC,QAAA,EAAlEH,iBAAiB,CAAA;;;;"}
1
+ {"version":3,"file":"footer.js","sources":["../../../../../src/components/hds/app-frame/parts/footer.hbs","../../../../../src/components/hds/app-frame/parts/footer.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<footer class=\\\"hds-app-frame__footer\\\" ...attributes>\\n {{yield}}\\n</footer>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nexport interface HdsAppFrameFooterSignature {\n Blocks: {\n default: [];\n };\n Element: HTMLElement;\n}\n\nconst HdsAppFrameFooter = TemplateOnlyComponent<HdsAppFrameFooterSignature>();\n\nexport default HdsAppFrameFooter;\n"],"names":["HdsAppFrameFooter","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,8JAA8J;;ACDhM;AACA;AACA;AACA;;AAWA,MAAMA,iBAAiB,GAAGC,qBAAqB,EAA8B,CAAA;AAE7E,aAAAC,oBAAA,CAAAC,QAAA,EAAeH,iBAAiB,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import Component from '@glimmer/component';
1
+ import templateOnlyComponent from '@ember/component/template-only';
2
2
  import { precompileTemplate } from '@ember/template-compilation';
3
3
  import { setComponentTemplate } from '@ember/component';
4
4
 
@@ -9,8 +9,8 @@ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-
9
9
  * SPDX-License-Identifier: MPL-2.0
10
10
  */
11
11
 
12
- class HdsAppFrameHeader extends Component {}
13
- setComponentTemplate(TEMPLATE, HdsAppFrameHeader);
12
+ const HdsAppFrameHeader = templateOnlyComponent();
13
+ var header = setComponentTemplate(TEMPLATE, HdsAppFrameHeader);
14
14
 
15
- export { HdsAppFrameHeader as default };
15
+ export { header as default };
16
16
  //# sourceMappingURL=header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","sources":["../../../../../src/components/hds/app-frame/parts/header.hbs","../../../../../src/components/hds/app-frame/parts/header.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<header class=\\\"hds-app-frame__header\\\" ...attributes>\\n {{yield}}\\n</header>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nexport interface HdsAppFrameHeaderSignature {\n Blocks: {\n default: [];\n };\n Element: HTMLElement;\n}\n\nexport default class HdsAppFrameHeader extends Component<HdsAppFrameHeaderSignature> {}\n"],"names":["HdsAppFrameHeader","Component","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,8JAA8J;;ACDhM;AACA;AACA;AACA;;AAWe,MAAMA,iBAAiB,SAASC,SAAS,CAA6B,EAAA;AAAEC,oBAAA,CAAAC,QAAA,EAAlEH,iBAAiB,CAAA;;;;"}
1
+ {"version":3,"file":"header.js","sources":["../../../../../src/components/hds/app-frame/parts/header.hbs","../../../../../src/components/hds/app-frame/parts/header.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<header class=\\\"hds-app-frame__header\\\" ...attributes>\\n {{yield}}\\n</header>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nexport interface HdsAppFrameHeaderSignature {\n Blocks: {\n default: [];\n };\n Element: HTMLElement;\n}\n\nconst HdsAppFrameHeader = TemplateOnlyComponent<HdsAppFrameHeaderSignature>();\n\nexport default HdsAppFrameHeader;\n"],"names":["HdsAppFrameHeader","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,8JAA8J;;ACDhM;AACA;AACA;AACA;;AAWA,MAAMA,iBAAiB,GAAGC,qBAAqB,EAA8B,CAAA;AAE7E,aAAAC,oBAAA,CAAAC,QAAA,EAAeH,iBAAiB,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import Component from '@glimmer/component';
1
+ import templateOnlyComponent from '@ember/component/template-only';
2
2
  import { precompileTemplate } from '@ember/template-compilation';
3
3
  import { setComponentTemplate } from '@ember/component';
4
4
 
@@ -9,8 +9,8 @@ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-
9
9
  * SPDX-License-Identifier: MPL-2.0
10
10
  */
11
11
 
12
- class HdsAppFrameMain extends Component {}
13
- setComponentTemplate(TEMPLATE, HdsAppFrameMain);
12
+ const HdsAppFrameMain = templateOnlyComponent();
13
+ var main = setComponentTemplate(TEMPLATE, HdsAppFrameMain);
14
14
 
15
- export { HdsAppFrameMain as default };
15
+ export { main as default };
16
16
  //# sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sources":["../../../../../src/components/hds/app-frame/parts/main.hbs","../../../../../src/components/hds/app-frame/parts/main.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<main class=\\\"hds-app-frame__main\\\" id=\\\"hds-main\\\" ...attributes>\\n {{yield}}\\n</main>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nexport interface HdsAppFrameMainSignature {\n Blocks: {\n default: [];\n };\n Element: HTMLElement;\n}\n\nexport default class HdsAppFrameMain extends Component<HdsAppFrameMainSignature> {}\n"],"names":["HdsAppFrameMain","Component","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,wKAAwK;;ACD1M;AACA;AACA;AACA;;AAWe,MAAMA,eAAe,SAASC,SAAS,CAA2B,EAAA;AAAEC,oBAAA,CAAAC,QAAA,EAA9DH,eAAe,CAAA;;;;"}
1
+ {"version":3,"file":"main.js","sources":["../../../../../src/components/hds/app-frame/parts/main.hbs","../../../../../src/components/hds/app-frame/parts/main.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<main class=\\\"hds-app-frame__main\\\" id=\\\"hds-main\\\" ...attributes>\\n {{yield}}\\n</main>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nexport interface HdsAppFrameMainSignature {\n Blocks: {\n default: [];\n };\n Element: HTMLElement;\n}\n\nconst HdsAppFrameMain = TemplateOnlyComponent<HdsAppFrameMainSignature>();\n\nexport default HdsAppFrameMain;\n"],"names":["HdsAppFrameMain","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,wKAAwK;;ACD1M;AACA;AACA;AACA;;AAWA,MAAMA,eAAe,GAAGC,qBAAqB,EAA4B,CAAA;AAEzE,WAAAC,oBAAA,CAAAC,QAAA,EAAeH,eAAe,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import Component from '@glimmer/component';
1
+ import templateOnlyComponent from '@ember/component/template-only';
2
2
  import { precompileTemplate } from '@ember/template-compilation';
3
3
  import { setComponentTemplate } from '@ember/component';
4
4
 
@@ -9,8 +9,8 @@ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-
9
9
  * SPDX-License-Identifier: MPL-2.0
10
10
  */
11
11
 
12
- class HdsAppFrameModals extends Component {}
13
- setComponentTemplate(TEMPLATE, HdsAppFrameModals);
12
+ const HdsAppFrameModals = templateOnlyComponent();
13
+ var modals = setComponentTemplate(TEMPLATE, HdsAppFrameModals);
14
14
 
15
- export { HdsAppFrameModals as default };
15
+ export { modals as default };
16
16
  //# sourceMappingURL=modals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modals.js","sources":["../../../../../src/components/hds/app-frame/parts/modals.hbs","../../../../../src/components/hds/app-frame/parts/modals.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{{! we use `:empty` in CSS so we have to avoid whitespaces }}\\n<div class=\\\"hds-app-frame__modals\\\" ...attributes>{{~yield~}}</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nexport interface HdsAppFrameModalsSignature {\n Blocks: {\n default: [];\n };\n Element: HTMLElement;\n}\n\nexport default class HdsAppFrameModals extends Component<HdsAppFrameModalsSignature> {}\n"],"names":["HdsAppFrameModals","Component","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,mNAAmN;;ACDrP;AACA;AACA;AACA;;AAWe,MAAMA,iBAAiB,SAASC,SAAS,CAA6B,EAAA;AAAEC,oBAAA,CAAAC,QAAA,EAAlEH,iBAAiB,CAAA;;;;"}
1
+ {"version":3,"file":"modals.js","sources":["../../../../../src/components/hds/app-frame/parts/modals.hbs","../../../../../src/components/hds/app-frame/parts/modals.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{{! we use `:empty` in CSS so we have to avoid whitespaces }}\\n<div class=\\\"hds-app-frame__modals\\\" ...attributes>{{~yield~}}</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nexport interface HdsAppFrameModalsSignature {\n Blocks: {\n default: [];\n };\n Element: HTMLElement;\n}\n\nconst HdsAppFrameModals = TemplateOnlyComponent<HdsAppFrameModalsSignature>();\n\nexport default HdsAppFrameModals;\n"],"names":["HdsAppFrameModals","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,mNAAmN;;ACDrP;AACA;AACA;AACA;;AAWA,MAAMA,iBAAiB,GAAGC,qBAAqB,EAA8B,CAAA;AAE7E,aAAAC,oBAAA,CAAAC,QAAA,EAAeH,iBAAiB,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import Component from '@glimmer/component';
1
+ import templateOnlyComponent from '@ember/component/template-only';
2
2
  import { precompileTemplate } from '@ember/template-compilation';
3
3
  import { setComponentTemplate } from '@ember/component';
4
4
 
@@ -9,8 +9,8 @@ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-
9
9
  * SPDX-License-Identifier: MPL-2.0
10
10
  */
11
11
 
12
- class HdsAppFrameSidebar extends Component {}
13
- setComponentTemplate(TEMPLATE, HdsAppFrameSidebar);
12
+ const HdsAppFrameSidebar = templateOnlyComponent();
13
+ var sidebar = setComponentTemplate(TEMPLATE, HdsAppFrameSidebar);
14
14
 
15
- export { HdsAppFrameSidebar as default };
15
+ export { sidebar as default };
16
16
  //# sourceMappingURL=sidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.js","sources":["../../../../../src/components/hds/app-frame/parts/sidebar.hbs","../../../../../src/components/hds/app-frame/parts/sidebar.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<aside class=\\\"hds-app-frame__sidebar\\\" ...attributes>\\n {{yield}}\\n</aside>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nexport interface HdsAppFrameSidebarSignature {\n Blocks: {\n default: [];\n };\n Element: HTMLElement;\n}\n\nexport default class HdsAppFrameSidebar extends Component<HdsAppFrameSidebarSignature> {}\n"],"names":["HdsAppFrameSidebar","Component","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,6JAA6J;;ACD/L;AACA;AACA;AACA;;AAWe,MAAMA,kBAAkB,SAASC,SAAS,CAA8B,EAAA;AAAEC,oBAAA,CAAAC,QAAA,EAApEH,kBAAkB,CAAA;;;;"}
1
+ {"version":3,"file":"sidebar.js","sources":["../../../../../src/components/hds/app-frame/parts/sidebar.hbs","../../../../../src/components/hds/app-frame/parts/sidebar.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<aside class=\\\"hds-app-frame__sidebar\\\" ...attributes>\\n {{yield}}\\n</aside>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nexport interface HdsAppFrameSidebarSignature {\n Blocks: {\n default: [];\n };\n Element: HTMLElement;\n}\n\nconst HdsAppFrameSidebar = TemplateOnlyComponent<HdsAppFrameSidebarSignature>();\n\nexport default HdsAppFrameSidebar;\n"],"names":["HdsAppFrameSidebar","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,6JAA6J;;ACD/L;AACA;AACA;AACA;;AAWA,MAAMA,kBAAkB,GAAGC,qBAAqB,EAA+B,CAAA;AAE/E,cAAAC,oBAAA,CAAAC,QAAA,EAAeH,kBAAkB,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"footer.js","sources":["../../../../src/components/hds/application-state/footer.hbs","../../../../src/components/hds/application-state/footer.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-application-state__footer\\\" ...attributes>\\n {{yield\\n (hash\\n Button=(component \\\"hds/button\\\")\\n Dropdown=(component \\\"hds/dropdown\\\")\\n LinkStandalone=(component \\\"hds/link/standalone\\\")\\n )\\n }}\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\nimport type { ComponentLike } from '@glint/template';\nimport type { HdsLinkStandaloneSignature } from '../link/standalone';\nimport type { HdsButtonSignature } from '../button';\nimport type { HdsDropdownSignature } from 'src/components/hds/dropdown';\n\nexport interface HdsApplicationStateFooterSignature {\n Args: {\n hasDivider?: boolean;\n };\n Blocks: {\n default?: [\n {\n Button?: ComponentLike<HdsButtonSignature>;\n Dropdown?: ComponentLike<HdsDropdownSignature>;\n LinkStandalone?: ComponentLike<HdsLinkStandaloneSignature>;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nconst HdsApplicationStateFooter =\n TemplateOnlyComponent<HdsApplicationStateFooterSignature>();\n\nexport default HdsApplicationStateFooter;\n"],"names":["HdsApplicationStateFooter","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,wUAAwU;;ACD1W;AACA;AACA;AACA;;AAwBA,MAAMA,yBAAyB,GAC7BC,qBAAqB,EAAsC,CAAA;AAE7D,aAAAC,oBAAA,CAAAC,QAAA,EAAeH,yBAAyB,CAAA;;;;"}
1
+ {"version":3,"file":"footer.js","sources":["../../../../src/components/hds/application-state/footer.hbs","../../../../src/components/hds/application-state/footer.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-application-state__footer\\\" ...attributes>\\n {{yield\\n (hash\\n Button=(component \\\"hds/button\\\")\\n Dropdown=(component \\\"hds/dropdown\\\")\\n LinkStandalone=(component \\\"hds/link/standalone\\\")\\n )\\n }}\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\nimport type { ComponentLike } from '@glint/template';\nimport type { HdsLinkStandaloneSignature } from '../link/standalone';\nimport type { HdsButtonSignature } from '../button';\nimport type { HdsDropdownSignature } from '../dropdown';\n\nexport interface HdsApplicationStateFooterSignature {\n Args: {\n hasDivider?: boolean;\n };\n Blocks: {\n default?: [\n {\n Button?: ComponentLike<HdsButtonSignature>;\n Dropdown?: ComponentLike<HdsDropdownSignature>;\n LinkStandalone?: ComponentLike<HdsLinkStandaloneSignature>;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nconst HdsApplicationStateFooter =\n TemplateOnlyComponent<HdsApplicationStateFooterSignature>();\n\nexport default HdsApplicationStateFooter;\n"],"names":["HdsApplicationStateFooter","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,wUAAwU;;ACD1W;AACA;AACA;AACA;;AAwBA,MAAMA,yBAAyB,GAC7BC,qBAAqB,EAAsC,CAAA;AAE7D,aAAAC,oBAAA,CAAAC,QAAA,EAAeH,yBAAyB,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/badge-count/index.hbs","../../../../src/components/hds/badge-count/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class={{this.classNames}} ...attributes>\\n {{@text}}\\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 HdsBadgeCountColorValues,\n HdsBadgeCountSizeValues,\n HdsBadgeCountTypeValues,\n} from './types.ts';\nimport type {\n HdsBadgeCountColors,\n HdsBadgeCountSizes,\n HdsBadgeCountTypes,\n} from './types.ts';\n\nexport const SIZES: string[] = Object.values(HdsBadgeCountSizeValues);\nexport const TYPES: string[] = Object.values(HdsBadgeCountTypeValues);\nexport const COLORS: string[] = Object.values(HdsBadgeCountColorValues);\nexport const DEFAULT_SIZE = HdsBadgeCountSizeValues.Medium;\nexport const DEFAULT_TYPE = HdsBadgeCountTypeValues.Filled;\nexport const DEFAULT_COLOR = HdsBadgeCountColorValues.Neutral;\n\nexport interface HdsBadgeCountSignature {\n Args: {\n size?: HdsBadgeCountSizes;\n type?: HdsBadgeCountTypes;\n color?: HdsBadgeCountColors;\n text: string;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsBadgeCount extends Component<HdsBadgeCountSignature> {\n /**\n * Sets the size for the component\n * Accepted sizes: small, medium, large\n *\n * @param size\n * @type {string}\n * @default 'medium'\n */\n get size(): HdsBadgeCountSizes {\n const { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::BadgeCount\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n /**\n * Sets the type of the component\n * Accepted values: filled, inverted, outlined\n *\n * @param type\n * @type {string}\n * @default 'filled'\n */\n get type(): HdsBadgeCountTypes {\n const { type = DEFAULT_TYPE } = this.args;\n\n assert(\n `@type for \"Hds::BadgeCount\" must be one of the following: ${TYPES.join(\n ', '\n )}; received: ${type}`,\n TYPES.includes(type)\n );\n\n return type;\n }\n\n /**\n * Sets the color scheme for the component\n * Accepted colors: neutral, neutral-dark-mode\n *\n * @param color\n * @type {string}\n * @default 'neutral'\n */\n get color(): HdsBadgeCountColors {\n const { color = DEFAULT_COLOR } = this.args;\n\n assert(\n `@color for \"Hds::BadgeCount\" must be one of the following: ${COLORS.join(\n ', '\n )}; received: ${color}`,\n COLORS.includes(color)\n );\n\n return color;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method BadgeCount#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-badge-count'];\n\n // add a class based on the @size argument\n classes.push(`hds-badge-count--size-${this.size}`);\n\n // add a class based on the @type argument\n classes.push(`hds-badge-count--type-${this.type}`);\n\n // add a class based on the @color argument\n classes.push(`hds-badge-count--color-${this.color}`);\n\n return classes.join(' ');\n }\n}\n"],"names":["SIZES","Object","values","HdsBadgeCountSizeValues","TYPES","HdsBadgeCountTypeValues","COLORS","HdsBadgeCountColorValues","DEFAULT_SIZE","Medium","DEFAULT_TYPE","Filled","DEFAULT_COLOR","Neutral","HdsBadgeCount","Component","size","args","assert","join","includes","type","color","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,kJAAkJ;;ACDpL;AACA;AACA;AACA;;AAgBO,MAAMA,KAAe,GAAGC,MAAM,CAACC,MAAM,CAACC,uBAAuB,EAAC;AAC9D,MAAMC,KAAe,GAAGH,MAAM,CAACC,MAAM,CAACG,uBAAuB,EAAC;AAC9D,MAAMC,MAAgB,GAAGL,MAAM,CAACC,MAAM,CAACK,wBAAwB,EAAC;AAC1DC,MAAAA,YAAY,GAAGL,uBAAuB,CAACM,OAAM;AAC7CC,MAAAA,YAAY,GAAGL,uBAAuB,CAACM,OAAM;AAC7CC,MAAAA,aAAa,GAAGL,wBAAwB,CAACM,QAAO;AAY9C,MAAMC,aAAa,SAASC,SAAS,CAAyB;AAC3E;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,IAAIA,GAAuB;IAC7B,MAAM;AAAEA,MAAAA,IAAI,GAAGR,YAAAA;KAAc,GAAG,IAAI,CAACS,IAAI,CAAA;AAEzCC,IAAAA,MAAM,CACJ,CAA6DlB,0DAAAA,EAAAA,KAAK,CAACmB,IAAI,CACrE,IACF,CAAC,CAAA,YAAA,EAAeH,IAAI,CAAA,CAAE,EACtBhB,KAAK,CAACoB,QAAQ,CAACJ,IAAI,CACrB,CAAC,CAAA;AAED,IAAA,OAAOA,IAAI,CAAA;AACb,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAIK,IAAIA,GAAuB;IAC7B,MAAM;AAAEA,MAAAA,IAAI,GAAGX,YAAAA;KAAc,GAAG,IAAI,CAACO,IAAI,CAAA;AAEzCC,IAAAA,MAAM,CACJ,CAA6Dd,0DAAAA,EAAAA,KAAK,CAACe,IAAI,CACrE,IACF,CAAC,CAAA,YAAA,EAAeE,IAAI,CAAA,CAAE,EACtBjB,KAAK,CAACgB,QAAQ,CAACC,IAAI,CACrB,CAAC,CAAA;AAED,IAAA,OAAOA,IAAI,CAAA;AACb,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAwB;IAC/B,MAAM;AAAEA,MAAAA,KAAK,GAAGV,aAAAA;KAAe,GAAG,IAAI,CAACK,IAAI,CAAA;AAE3CC,IAAAA,MAAM,CACJ,CAA8DZ,2DAAAA,EAAAA,MAAM,CAACa,IAAI,CACvE,IACF,CAAC,CAAA,YAAA,EAAeG,KAAK,CAAA,CAAE,EACvBhB,MAAM,CAACc,QAAQ,CAACE,KAAK,CACvB,CAAC,CAAA;AAED,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,iBAAiB,CAAC,CAAA;;AAEnC;IACAA,OAAO,CAACC,IAAI,CAAC,CAAA,sBAAA,EAAyB,IAAI,CAACT,IAAI,EAAE,CAAC,CAAA;;AAElD;IACAQ,OAAO,CAACC,IAAI,CAAC,CAAA,sBAAA,EAAyB,IAAI,CAACJ,IAAI,EAAE,CAAC,CAAA;;AAElD;IACAG,OAAO,CAACC,IAAI,CAAC,CAAA,uBAAA,EAA0B,IAAI,CAACH,KAAK,EAAE,CAAC,CAAA;AAEpD,IAAA,OAAOE,OAAO,CAACL,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACO,oBAAA,CAAAC,QAAA,EAnFoBb,aAAa,CAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/badge-count/index.hbs","../../../../src/components/hds/badge-count/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class={{this.classNames}} ...attributes>\\n {{@text}}\\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 HdsBadgeCountColorValues,\n HdsBadgeCountSizeValues,\n HdsBadgeCountTypeValues,\n} from './types.ts';\nimport type {\n HdsBadgeCountColors,\n HdsBadgeCountSizes,\n HdsBadgeCountTypes,\n} from './types.ts';\n\nexport const SIZES: string[] = Object.values(HdsBadgeCountSizeValues);\nexport const TYPES: string[] = Object.values(HdsBadgeCountTypeValues);\nexport const COLORS: string[] = Object.values(HdsBadgeCountColorValues);\nexport const DEFAULT_SIZE = HdsBadgeCountSizeValues.Medium;\nexport const DEFAULT_TYPE = HdsBadgeCountTypeValues.Filled;\nexport const DEFAULT_COLOR = HdsBadgeCountColorValues.Neutral;\n\nexport interface HdsBadgeCountSignature {\n Args: {\n size?: HdsBadgeCountSizes;\n type?: HdsBadgeCountTypes;\n color?: HdsBadgeCountColors;\n text: string | number;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsBadgeCount extends Component<HdsBadgeCountSignature> {\n /**\n * Sets the size for the component\n * Accepted sizes: small, medium, large\n *\n * @param size\n * @type {string}\n * @default 'medium'\n */\n get size(): HdsBadgeCountSizes {\n const { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::BadgeCount\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n /**\n * Sets the type of the component\n * Accepted values: filled, inverted, outlined\n *\n * @param type\n * @type {string}\n * @default 'filled'\n */\n get type(): HdsBadgeCountTypes {\n const { type = DEFAULT_TYPE } = this.args;\n\n assert(\n `@type for \"Hds::BadgeCount\" must be one of the following: ${TYPES.join(\n ', '\n )}; received: ${type}`,\n TYPES.includes(type)\n );\n\n return type;\n }\n\n /**\n * Sets the color scheme for the component\n * Accepted colors: neutral, neutral-dark-mode\n *\n * @param color\n * @type {string}\n * @default 'neutral'\n */\n get color(): HdsBadgeCountColors {\n const { color = DEFAULT_COLOR } = this.args;\n\n assert(\n `@color for \"Hds::BadgeCount\" must be one of the following: ${COLORS.join(\n ', '\n )}; received: ${color}`,\n COLORS.includes(color)\n );\n\n return color;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method BadgeCount#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-badge-count'];\n\n // add a class based on the @size argument\n classes.push(`hds-badge-count--size-${this.size}`);\n\n // add a class based on the @type argument\n classes.push(`hds-badge-count--type-${this.type}`);\n\n // add a class based on the @color argument\n classes.push(`hds-badge-count--color-${this.color}`);\n\n return classes.join(' ');\n }\n}\n"],"names":["SIZES","Object","values","HdsBadgeCountSizeValues","TYPES","HdsBadgeCountTypeValues","COLORS","HdsBadgeCountColorValues","DEFAULT_SIZE","Medium","DEFAULT_TYPE","Filled","DEFAULT_COLOR","Neutral","HdsBadgeCount","Component","size","args","assert","join","includes","type","color","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,kJAAkJ;;ACDpL;AACA;AACA;AACA;;AAgBO,MAAMA,KAAe,GAAGC,MAAM,CAACC,MAAM,CAACC,uBAAuB,EAAC;AAC9D,MAAMC,KAAe,GAAGH,MAAM,CAACC,MAAM,CAACG,uBAAuB,EAAC;AAC9D,MAAMC,MAAgB,GAAGL,MAAM,CAACC,MAAM,CAACK,wBAAwB,EAAC;AAC1DC,MAAAA,YAAY,GAAGL,uBAAuB,CAACM,OAAM;AAC7CC,MAAAA,YAAY,GAAGL,uBAAuB,CAACM,OAAM;AAC7CC,MAAAA,aAAa,GAAGL,wBAAwB,CAACM,QAAO;AAY9C,MAAMC,aAAa,SAASC,SAAS,CAAyB;AAC3E;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,IAAIA,GAAuB;IAC7B,MAAM;AAAEA,MAAAA,IAAI,GAAGR,YAAAA;KAAc,GAAG,IAAI,CAACS,IAAI,CAAA;AAEzCC,IAAAA,MAAM,CACJ,CAA6DlB,0DAAAA,EAAAA,KAAK,CAACmB,IAAI,CACrE,IACF,CAAC,CAAA,YAAA,EAAeH,IAAI,CAAA,CAAE,EACtBhB,KAAK,CAACoB,QAAQ,CAACJ,IAAI,CACrB,CAAC,CAAA;AAED,IAAA,OAAOA,IAAI,CAAA;AACb,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAIK,IAAIA,GAAuB;IAC7B,MAAM;AAAEA,MAAAA,IAAI,GAAGX,YAAAA;KAAc,GAAG,IAAI,CAACO,IAAI,CAAA;AAEzCC,IAAAA,MAAM,CACJ,CAA6Dd,0DAAAA,EAAAA,KAAK,CAACe,IAAI,CACrE,IACF,CAAC,CAAA,YAAA,EAAeE,IAAI,CAAA,CAAE,EACtBjB,KAAK,CAACgB,QAAQ,CAACC,IAAI,CACrB,CAAC,CAAA;AAED,IAAA,OAAOA,IAAI,CAAA;AACb,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAwB;IAC/B,MAAM;AAAEA,MAAAA,KAAK,GAAGV,aAAAA;KAAe,GAAG,IAAI,CAACK,IAAI,CAAA;AAE3CC,IAAAA,MAAM,CACJ,CAA8DZ,2DAAAA,EAAAA,MAAM,CAACa,IAAI,CACvE,IACF,CAAC,CAAA,YAAA,EAAeG,KAAK,CAAA,CAAE,EACvBhB,MAAM,CAACc,QAAQ,CAACE,KAAK,CACvB,CAAC,CAAA;AAED,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,iBAAiB,CAAC,CAAA;;AAEnC;IACAA,OAAO,CAACC,IAAI,CAAC,CAAA,sBAAA,EAAyB,IAAI,CAACT,IAAI,EAAE,CAAC,CAAA;;AAElD;IACAQ,OAAO,CAACC,IAAI,CAAC,CAAA,sBAAA,EAAyB,IAAI,CAACJ,IAAI,EAAE,CAAC,CAAA;;AAElD;IACAG,OAAO,CAACC,IAAI,CAAC,CAAA,uBAAA,EAA0B,IAAI,CAACH,KAAK,EAAE,CAAC,CAAA;AAEpD,IAAA,OAAOE,OAAO,CAACL,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACO,oBAAA,CAAAC,QAAA,EAnFoBb,aAAa,CAAA;;;;"}
@@ -1,5 +1,6 @@
1
1
  import Component from '@glimmer/component';
2
2
  import { assert } from '@ember/debug';
3
+ import { HdsButtonSizeValues, HdsButtonColorValues, HdsButtonIconPositionValues } from './types.js';
3
4
  import { precompileTemplate } from '@ember/template-compilation';
4
5
  import { setComponentTemplate } from '@ember/component';
5
6
 
@@ -10,12 +11,12 @@ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-
10
11
  * SPDX-License-Identifier: MPL-2.0
11
12
  */
12
13
 
13
- const DEFAULT_SIZE = 'medium';
14
- const DEFAULT_COLOR = 'primary';
15
- const DEFAULT_ICONPOSITION = 'leading';
16
- const SIZES = ['small', 'medium', 'large'];
17
- const COLORS = ['primary', 'secondary', 'tertiary', 'critical'];
18
- const ICONPOSITIONS = ['leading', 'trailing'];
14
+ const SIZES = Object.values(HdsButtonSizeValues);
15
+ const COLORS = Object.values(HdsButtonColorValues);
16
+ const ICONPOSITIONS = Object.values(HdsButtonIconPositionValues);
17
+ const DEFAULT_SIZE = HdsButtonSizeValues.Medium;
18
+ const DEFAULT_COLOR = HdsButtonColorValues.Primary;
19
+ const DEFAULT_ICONPOSITION = HdsButtonIconPositionValues.Leading;
19
20
  class HdsButton extends Component {
20
21
  /**
21
22
  * @param text
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/button/index.hbs","../../../../src/components/hds/button/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<Hds::Interactive\\n class={{this.classNames}}\\n @current-when={{@current-when}}\\n @models={{hds-link-to-models @model @models}}\\n @query={{hds-link-to-query @query}}\\n @replace={{@replace}}\\n @route={{@route}}\\n @isRouteExternal={{@isRouteExternal}}\\n @href={{@href}}\\n @isHrefExternal={{@isHrefExternal}}\\n ...attributes\\n aria-label={{if this.isIconOnly this.text null}}\\n>\\n {{#if this.isIconOnly}}\\n {{#if this.icon}}\\n <span class=\\\"hds-button__icon\\\">\\n <Hds::Icon @name={{this.icon}} @size={{this.iconSize}} @stretched={{true}} />\\n </span>\\n {{/if}}\\n {{else}}\\n {{#if this.icon}}\\n {{#if (eq this.iconPosition \\\"leading\\\")}}\\n <span class=\\\"hds-button__icon\\\">\\n <Hds::Icon @name={{this.icon}} @size={{this.iconSize}} @stretched={{true}} />\\n </span>\\n <span class=\\\"hds-button__text\\\">\\n {{this.text}}\\n </span>\\n {{else}}\\n <span class=\\\"hds-button__text\\\">\\n {{this.text}}\\n </span>\\n <span class=\\\"hds-button__icon\\\">\\n <Hds::Icon @name={{this.icon}} @size={{this.iconSize}} @stretched={{true}} />\\n </span>\\n {{/if}}\\n {{else}}\\n <span class=\\\"hds-button__text\\\">\\n {{this.text}}\\n </span>\\n {{/if}}\\n {{/if}}\\n</Hds::Interactive>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport type { HdsInteractiveSignature } from '../interactive/';\nimport type { HdsIconSignature } from '../icon';\n\nexport const DEFAULT_SIZE = 'medium';\nexport const DEFAULT_COLOR = 'primary';\nexport const DEFAULT_ICONPOSITION = 'leading';\nexport const SIZES = ['small', 'medium', 'large'] as const;\nexport const COLORS = ['primary', 'secondary', 'tertiary', 'critical'] as const;\nexport const ICONPOSITIONS = ['leading', 'trailing'] as const;\n\nexport type HdsButtonSize = (typeof SIZES)[number];\nexport type HdsButtonColor = (typeof COLORS)[number];\nexport type HdsButtonIconPosition = (typeof ICONPOSITIONS)[number];\n\nexport interface HdsButtonSignature {\n Args: HdsInteractiveSignature['Args'] & {\n size?: HdsButtonSize;\n color?: HdsButtonColor;\n text: string;\n icon?: HdsIconSignature['Args']['name'];\n iconPosition?: HdsButtonIconPosition;\n isIconOnly?: boolean;\n isFullWidth?: boolean;\n isInline?: boolean;\n };\n Element: HdsInteractiveSignature['Element'];\n}\n\nexport default class HdsButton extends Component<HdsButtonSignature> {\n /**\n * @param text\n * @type {string}\n * @description The text of the button or value of `aria-label` if `isIconOnly` is set to `true`. If no text value is defined an error will be thrown.\n */\n get text() {\n const { text } = this.args;\n\n assert(\n '@text for \"Hds::Button\" must have a valid value',\n text !== undefined\n );\n\n return text;\n }\n\n /**\n * @param size\n * @type {string}\n * @default medium\n * @description The size of the button; acceptable values are `small`, `medium`, and `large`\n */\n get size() {\n const { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Button\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n /**\n * @param color\n * @type {string}\n * @default primary\n * @description Determines the color of button to be used; acceptable values are `primary`, `secondary`, and `critical`\n */\n get color() {\n const { color = DEFAULT_COLOR } = this.args;\n\n assert(\n `@color for \"Hds::Button\" must be one of the following: ${COLORS.join(\n ', '\n )}; received: ${color}`,\n COLORS.includes(color)\n );\n\n return color;\n }\n\n get icon(): HdsIconSignature['Args']['name'] | undefined {\n assert(\n `when the \"Hds::Button\" @color is \"tertiary\" an @icon is required`,\n !(this.color === 'tertiary' && !this.args.icon)\n );\n\n return this.args.icon ?? undefined;\n }\n\n /**\n * @param isIconOnly\n * @type {boolean}\n * @default false\n * @description Indicates if the button will only contain an icon; component will also ensure that accessible text is still applied to the component.\n */\n get isIconOnly() {\n if (this.icon) {\n return this.args.isIconOnly ?? false;\n }\n return false;\n }\n\n /**\n * @param iconPosition\n * @type {string}\n * @default leading\n * @description Positions the icon before or after the text; allowed values are `leading` or `trailing`\n */\n get iconPosition() {\n const { iconPosition = DEFAULT_ICONPOSITION } = this.args;\n\n assert(\n `@iconPosition for \"Hds::Button\" must be one of the following: ${ICONPOSITIONS.join(\n ', '\n )}; received: ${iconPosition}`,\n ICONPOSITIONS.includes(iconPosition)\n );\n\n return iconPosition;\n }\n\n /**\n * @param iconSize\n * @type {string}\n * @default 16\n * @description ensures that the correct icon size is used. Automatically calculated.\n */\n get iconSize() {\n if (this.args.size === 'large') {\n return '24';\n } else {\n return '16';\n }\n }\n\n /**\n * @param isFullWidth\n * @type {boolean}\n * @default false\n * @description Indicates that a button should take up the full width of the parent container. The default is false.\n */\n get isFullWidth() {\n return this.args.isFullWidth ?? false;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method Button#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n const classes = ['hds-button'];\n\n // add a class based on the @color argument\n classes.push(`hds-button--color-${this.color}`);\n\n // add a class based on the @isFullWidth argument\n if (this.isFullWidth) {\n classes.push('hds-button--width-full');\n }\n\n // add a class based on isIconOnly argument\n if (this.isIconOnly) {\n classes.push('hds-button--is-icon-only');\n }\n\n // add a class based on the @isInline argument\n if (this.args.isInline) {\n classes.push('hds-button--is-inline');\n }\n\n // add a class based on the @size argument\n classes.push(`hds-button--size-${this.size}`);\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_SIZE","DEFAULT_COLOR","DEFAULT_ICONPOSITION","SIZES","COLORS","ICONPOSITIONS","HdsButton","Component","text","args","assert","undefined","size","join","includes","color","icon","isIconOnly","iconPosition","iconSize","isFullWidth","classNames","classes","push","isInline","setComponentTemplate","TEMPLATE"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/button/index.hbs","../../../../src/components/hds/button/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<Hds::Interactive\\n class={{this.classNames}}\\n @current-when={{@current-when}}\\n @models={{hds-link-to-models @model @models}}\\n @query={{hds-link-to-query @query}}\\n @replace={{@replace}}\\n @route={{@route}}\\n @isRouteExternal={{@isRouteExternal}}\\n @href={{@href}}\\n @isHrefExternal={{@isHrefExternal}}\\n ...attributes\\n aria-label={{if this.isIconOnly this.text null}}\\n>\\n {{#if this.isIconOnly}}\\n {{#if this.icon}}\\n <span class=\\\"hds-button__icon\\\">\\n <Hds::Icon @name={{this.icon}} @size={{this.iconSize}} @stretched={{true}} />\\n </span>\\n {{/if}}\\n {{else}}\\n {{#if this.icon}}\\n {{#if (eq this.iconPosition \\\"leading\\\")}}\\n <span class=\\\"hds-button__icon\\\">\\n <Hds::Icon @name={{this.icon}} @size={{this.iconSize}} @stretched={{true}} />\\n </span>\\n <span class=\\\"hds-button__text\\\">\\n {{this.text}}\\n </span>\\n {{else}}\\n <span class=\\\"hds-button__text\\\">\\n {{this.text}}\\n </span>\\n <span class=\\\"hds-button__icon\\\">\\n <Hds::Icon @name={{this.icon}} @size={{this.iconSize}} @stretched={{true}} />\\n </span>\\n {{/if}}\\n {{else}}\\n <span class=\\\"hds-button__text\\\">\\n {{this.text}}\\n </span>\\n {{/if}}\\n {{/if}}\\n</Hds::Interactive>\")","/**\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 HdsButtonSizeValues,\n HdsButtonColorValues,\n HdsButtonIconPositionValues,\n} from './types.ts';\n\nimport type {\n HdsButtonSizes,\n HdsButtonColors,\n HdsButtonIconPositions,\n} from './types.ts';\nimport type { HdsInteractiveSignature } from '../interactive/';\nimport type { HdsIconSignature } from '../icon';\n\nexport const SIZES: string[] = Object.values(HdsButtonSizeValues);\nexport const COLORS: string[] = Object.values(HdsButtonColorValues);\nexport const ICONPOSITIONS: string[] = Object.values(\n HdsButtonIconPositionValues\n);\nexport const DEFAULT_SIZE = HdsButtonSizeValues.Medium;\nexport const DEFAULT_COLOR = HdsButtonColorValues.Primary;\nexport const DEFAULT_ICONPOSITION = HdsButtonIconPositionValues.Leading;\n\nexport interface HdsButtonSignature {\n Args: HdsInteractiveSignature['Args'] & {\n size?: HdsButtonSizes;\n color?: HdsButtonColors;\n text: string;\n icon?: HdsIconSignature['Args']['name'];\n iconPosition?: HdsButtonIconPositions;\n isIconOnly?: boolean;\n isFullWidth?: boolean;\n isInline?: boolean;\n };\n Element: HdsInteractiveSignature['Element'];\n}\n\nexport default class HdsButton extends Component<HdsButtonSignature> {\n /**\n * @param text\n * @type {string}\n * @description The text of the button or value of `aria-label` if `isIconOnly` is set to `true`. If no text value is defined an error will be thrown.\n */\n get text(): string {\n const { text } = this.args;\n\n assert(\n '@text for \"Hds::Button\" must have a valid value',\n text !== undefined\n );\n\n return text;\n }\n\n /**\n * @param size\n * @type {string}\n * @default medium\n * @description The size of the button; acceptable values are `small`, `medium`, and `large`\n */\n get size(): HdsButtonSizes {\n const { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Button\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n /**\n * @param color\n * @type {string}\n * @default primary\n * @description Determines the color of button to be used; acceptable values are `primary`, `secondary`, and `critical`\n */\n get color(): HdsButtonColors {\n const { color = DEFAULT_COLOR } = this.args;\n\n assert(\n `@color for \"Hds::Button\" must be one of the following: ${COLORS.join(\n ', '\n )}; received: ${color}`,\n COLORS.includes(color)\n );\n\n return color;\n }\n\n get icon(): HdsIconSignature['Args']['name'] | undefined {\n assert(\n `when the \"Hds::Button\" @color is \"tertiary\" an @icon is required`,\n !(this.color === 'tertiary' && !this.args.icon)\n );\n\n return this.args.icon ?? undefined;\n }\n\n /**\n * @param isIconOnly\n * @type {boolean}\n * @default false\n * @description Indicates if the button will only contain an icon; component will also ensure that accessible text is still applied to the component.\n */\n get isIconOnly(): boolean {\n if (this.icon) {\n return this.args.isIconOnly ?? false;\n }\n return false;\n }\n\n /**\n * @param iconPosition\n * @type {string}\n * @default leading\n * @description Positions the icon before or after the text; allowed values are `leading` or `trailing`\n */\n get iconPosition(): HdsButtonIconPositions {\n const { iconPosition = DEFAULT_ICONPOSITION } = this.args;\n\n assert(\n `@iconPosition for \"Hds::Button\" must be one of the following: ${ICONPOSITIONS.join(\n ', '\n )}; received: ${iconPosition}`,\n ICONPOSITIONS.includes(iconPosition)\n );\n\n return iconPosition;\n }\n\n /**\n * @param iconSize\n * @type {string}\n * @default 16\n * @description ensures that the correct icon size is used. Automatically calculated.\n */\n get iconSize(): HdsIconSignature['Args']['size'] {\n if (this.args.size === 'large') {\n return '24';\n } else {\n return '16';\n }\n }\n\n /**\n * @param isFullWidth\n * @type {boolean}\n * @default false\n * @description Indicates that a button should take up the full width of the parent container. The default is false.\n */\n get isFullWidth(): boolean {\n return this.args.isFullWidth ?? false;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method Button#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-button'];\n\n // add a class based on the @color argument\n classes.push(`hds-button--color-${this.color}`);\n\n // add a class based on the @isFullWidth argument\n if (this.isFullWidth) {\n classes.push('hds-button--width-full');\n }\n\n // add a class based on isIconOnly argument\n if (this.isIconOnly) {\n classes.push('hds-button--is-icon-only');\n }\n\n // add a class based on the @isInline argument\n if (this.args.isInline) {\n classes.push('hds-button--is-inline');\n }\n\n // add a class based on the @size argument\n classes.push(`hds-button--size-${this.size}`);\n\n return classes.join(' ');\n }\n}\n"],"names":["SIZES","Object","values","HdsButtonSizeValues","COLORS","HdsButtonColorValues","ICONPOSITIONS","HdsButtonIconPositionValues","DEFAULT_SIZE","Medium","DEFAULT_COLOR","Primary","DEFAULT_ICONPOSITION","Leading","HdsButton","Component","text","args","assert","undefined","size","join","includes","color","icon","isIconOnly","iconPosition","iconSize","isFullWidth","classNames","classes","push","isInline","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+
6
+ let HdsButtonSizeValues = /*#__PURE__*/function (HdsButtonSizeValues) {
7
+ HdsButtonSizeValues["Small"] = "small";
8
+ HdsButtonSizeValues["Medium"] = "medium";
9
+ HdsButtonSizeValues["Large"] = "large";
10
+ return HdsButtonSizeValues;
11
+ }({});
12
+ let HdsButtonColorValues = /*#__PURE__*/function (HdsButtonColorValues) {
13
+ HdsButtonColorValues["Primary"] = "primary";
14
+ HdsButtonColorValues["Secondary"] = "secondary";
15
+ HdsButtonColorValues["Tertiary"] = "tertiary";
16
+ HdsButtonColorValues["Critical"] = "critical";
17
+ return HdsButtonColorValues;
18
+ }({});
19
+ let HdsButtonIconPositionValues = /*#__PURE__*/function (HdsButtonIconPositionValues) {
20
+ HdsButtonIconPositionValues["Leading"] = "leading";
21
+ HdsButtonIconPositionValues["Trailing"] = "trailing";
22
+ return HdsButtonIconPositionValues;
23
+ }({});
24
+
25
+ export { HdsButtonColorValues, HdsButtonIconPositionValues, HdsButtonSizeValues };
26
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["../../../../src/components/hds/button/types.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nexport enum HdsButtonSizeValues {\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n}\nexport type HdsButtonSizes = `${HdsButtonSizeValues}`;\n\nexport enum HdsButtonColorValues {\n Primary = 'primary',\n Secondary = 'secondary',\n Tertiary = 'tertiary',\n Critical = 'critical',\n}\nexport type HdsButtonColors = `${HdsButtonColorValues}`;\n\nexport enum HdsButtonIconPositionValues {\n Leading = 'leading',\n Trailing = 'trailing',\n}\nexport type HdsButtonIconPositions = `${HdsButtonIconPositionValues}`;\n"],"names":["HdsButtonSizeValues","HdsButtonColorValues","HdsButtonIconPositionValues"],"mappings":"AAAA;AACA;AACA;AACA;;AAEYA,IAAAA,mBAAmB,0BAAnBA,mBAAmB,EAAA;EAAnBA,mBAAmB,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA;EAAnBA,mBAAmB,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;EAAnBA,mBAAmB,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA;AAAA,EAAA,OAAnBA,mBAAmB,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAOnBC,IAAAA,oBAAoB,0BAApBA,oBAAoB,EAAA;EAApBA,oBAAoB,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAApBA,oBAAoB,CAAA,WAAA,CAAA,GAAA,WAAA,CAAA;EAApBA,oBAAoB,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;EAApBA,oBAAoB,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;AAAA,EAAA,OAApBA,oBAAoB,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAQpBC,IAAAA,2BAA2B,0BAA3BA,2BAA2B,EAAA;EAA3BA,2BAA2B,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAA3BA,2BAA2B,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;AAAA,EAAA,OAA3BA,2BAA2B,CAAA;AAAA,CAAA,CAAA,EAAA;;;;"}
@@ -96,6 +96,7 @@ let HdsCodeBlock = (_class = class HdsCodeBlock extends Component {
96
96
  const language = this.language;
97
97
  const grammar = language ? Prism.languages[language] : undefined;
98
98
  if (code) {
99
+ // eslint-disable-next-line ember/no-runloop
99
100
  next(() => {
100
101
  if (language && grammar) {
101
102
  this.prismCode = htmlSafe(Prism.highlight(code, grammar, language));
@@ -114,6 +115,7 @@ let HdsCodeBlock = (_class = class HdsCodeBlock extends Component {
114
115
  // Context: https://github.com/hashicorp/design-system/pull/1749#discussion_r1374288785
115
116
  if (this.args.highlightLines) {
116
117
  // we need to delay re-evaluating the context for prism-line-highlight for as much as possible, and `afterRender` is the 'latest' we can use in the component lifecycle
118
+ // eslint-disable-next-line ember/no-runloop
117
119
  schedule('afterRender', () => {
118
120
  // we piggy-back on the plugin's `resize` event listener to trigger a new call of the `highlightLines` function: https://github.com/PrismJS/prism/blob/master/plugins/line-highlight/prism-line-highlight.js#L337
119
121
  if (window) window.dispatchEvent(new Event('resize'));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/code-block/index.hbs","../../../../src/components/hds/code-block/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<div class={{this.classNames}} ...attributes>\\n <div class=\\\"hds-code-block__header\\\">\\n {{~yield (hash Title=(component \\\"hds/code-block/title\\\"))~}}\\n {{~yield (hash Description=(component \\\"hds/code-block/description\\\"))~}}\\n </div>\\n <div class=\\\"hds-code-block__body\\\">\\n {{! content within pre tag is whitespace-sensitive; do not add new lines! }}\\n <pre\\n class=\\\"hds-code-block__code\\\"\\n {{style maxHeight=@maxHeight}}\\n data-line={{@highlightLines}}\\n id={{this.preCodeId}}\\n tabindex=\\\"0\\\"\\n ><code {{did-insert this.setPrismCode}} {{did-update this.setPrismCode this.code @language}}>\\n {{~this.prismCode~}}\\n </code></pre>\\n\\n {{#if @hasCopyButton}}\\n <Hds::CodeBlock::CopyButton @targetToCopy=\\\"#{{this.preCodeId}}\\\" aria-describedby={{this.preCodeId}} />\\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 { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { assert } from '@ember/debug';\nimport { next, schedule } from '@ember/runloop';\nimport { htmlSafe } from '@ember/template';\nimport { guidFor } from '@ember/object/internals';\n\nimport Prism from 'prismjs';\n\nimport type { SafeString } from '@ember/template/-private/handlebars';\nimport type { ComponentLike } from '@glint/template';\n\nimport type { HdsCodeBlockTitleSignature } from './title';\nimport type { HdsCodeBlockDescriptionSignature } from './description';\nimport { HdsCodeBlockLanguageValues } from './types.ts';\nimport type { HdsCodeBlockLanguages } from './types.ts';\n\nimport 'prismjs/plugins/line-numbers/prism-line-numbers';\nimport 'prismjs/plugins/line-highlight/prism-line-highlight';\n\nimport 'prismjs/components/prism-bash';\nimport 'prismjs/components/prism-go';\nimport 'prismjs/components/prism-hcl';\nimport 'prismjs/components/prism-json';\nimport 'prismjs/components/prism-log';\nimport 'prismjs/components/prism-ruby';\nimport 'prismjs/components/prism-shell-session';\nimport 'prismjs/components/prism-yaml';\n\n// These imports are required to overcome a global variable clash in Helios website\n// where language import are overriden by the Prism instance in `CodeBlock`\n// Note that `prism-handlebars` is dependant on `prism-markup-templating`\nimport 'prismjs/components/prism-markup-templating';\nimport 'prismjs/components/prism-handlebars';\n\nexport const LANGUAGES: string[] = Object.values(HdsCodeBlockLanguageValues);\n\nexport interface HdsCodeBlockSignature {\n Args: {\n hasCopyButton?: boolean;\n hasLineNumbers?: boolean;\n hasLineWrapping?: boolean;\n highlightLines?: string;\n isStandalone?: boolean;\n language?: HdsCodeBlockLanguages;\n maxHeight?: string;\n value: string;\n };\n Blocks: {\n default: [\n {\n Title?: ComponentLike<HdsCodeBlockTitleSignature>;\n Description?: ComponentLike<HdsCodeBlockDescriptionSignature>;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsCodeBlock extends Component<HdsCodeBlockSignature> {\n @tracked prismCode: SafeString = htmlSafe('');\n\n /**\n * Generates a unique ID for the code content\n *\n * @param preCodeId\n */\n preCodeId = 'pre-code-' + guidFor(this);\n\n /**\n * @param code\n * @type {string}\n * @description code text content for the CodeBlock\n */\n get code(): string {\n const code = this.args.value;\n\n assert(\n '@code for \"Hds::CodeBlock\" must have a valid value',\n code !== undefined\n );\n\n if (Prism?.plugins?.['NormalizeWhitespace']) {\n return Prism.plugins['NormalizeWhitespace'].normalize(code);\n }\n\n return code;\n }\n\n /**\n * @param language\n * @type {string}\n * @default undefined\n * @description name of coding language used within CodeBlock for syntax highlighting\n */\n get language(): HdsCodeBlockLanguages | undefined {\n return this.args.language ?? undefined;\n }\n\n /**\n * @param hasLineNumbers\n * @type {boolean}\n * @default true\n * @description Displays line numbers if true\n */\n get hasLineNumbers(): boolean {\n return this.args.hasLineNumbers ?? true;\n }\n\n /**\n * @param isStandalone\n * @type {boolean}\n * @default true\n * @description Make CodeBlock container corners appear rounded\n */\n get isStandalone(): boolean {\n return this.args.isStandalone ?? true;\n }\n\n /**\n * @param hasLineWrapping\n * @type {boolean}\n * @default false\n * @description Make text content wrap on multiple lines\n */\n get hasLineWrapping(): boolean {\n return this.args.hasLineWrapping ?? false;\n }\n\n @action\n setPrismCode(element: HTMLElement): void {\n const code = this.code;\n const language = this.language;\n const grammar = language ? Prism.languages[language] : undefined;\n\n if (code) {\n next(() => {\n if (language && grammar) {\n this.prismCode = htmlSafe(Prism.highlight(code, grammar, language));\n } else {\n this.prismCode = htmlSafe(Prism.util.encode(code).toString());\n }\n\n // Force prism-line-numbers plugin initialization, required for Prism.highlight usage\n // See https://github.com/PrismJS/prism/issues/1234\n Prism.hooks.run('complete', {\n code,\n element,\n });\n\n // Force prism-line-highlight plugin initialization\n // Context: https://github.com/hashicorp/design-system/pull/1749#discussion_r1374288785\n if (this.args.highlightLines) {\n // we need to delay re-evaluating the context for prism-line-highlight for as much as possible, and `afterRender` is the 'latest' we can use in the component lifecycle\n schedule('afterRender', () => {\n // we piggy-back on the plugin's `resize` event listener to trigger a new call of the `highlightLines` function: https://github.com/PrismJS/prism/blob/master/plugins/line-highlight/prism-line-highlight.js#L337\n if (window) window.dispatchEvent(new Event('resize'));\n });\n }\n });\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(): string {\n // Currently there is only one theme so the class name is hard-coded.\n // In the future, additional themes such as a \"light\" theme could be added.\n const classes = ['hds-code-block', 'hds-code-block--theme-dark'];\n\n if (this.language) {\n classes.push(`language-${this.language}`);\n }\n\n if (this.isStandalone === true) {\n classes.push('hds-code-block--is-standalone');\n }\n\n if (this.hasLineWrapping === true) {\n classes.push('hds-code-block--has-line-wrapping');\n }\n\n // Note: Prism.js is using the specific class name \"line-numbers\" to determine implementation of line numbers in the UI\n if (this.hasLineNumbers || this.args.highlightLines) {\n classes.push('line-numbers');\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["LANGUAGES","Object","values","HdsCodeBlockLanguageValues","HdsCodeBlock","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","guidFor","code","value","assert","undefined","Prism","plugins","normalize","language","hasLineNumbers","isStandalone","hasLineWrapping","setPrismCode","element","grammar","languages","next","prismCode","htmlSafe","highlight","util","encode","toString","hooks","run","highlightLines","schedule","window","dispatchEvent","Event","classNames","classes","push","join","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/code-block/index.hbs","../../../../src/components/hds/code-block/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<div class={{this.classNames}} ...attributes>\\n <div class=\\\"hds-code-block__header\\\">\\n {{~yield (hash Title=(component \\\"hds/code-block/title\\\"))~}}\\n {{~yield (hash Description=(component \\\"hds/code-block/description\\\"))~}}\\n </div>\\n <div class=\\\"hds-code-block__body\\\">\\n {{! content within pre tag is whitespace-sensitive; do not add new lines! }}\\n <pre\\n class=\\\"hds-code-block__code\\\"\\n {{style maxHeight=@maxHeight}}\\n data-line={{@highlightLines}}\\n id={{this.preCodeId}}\\n tabindex=\\\"0\\\"\\n ><code {{did-insert this.setPrismCode}} {{did-update this.setPrismCode this.code @language}}>\\n {{~this.prismCode~}}\\n </code></pre>\\n\\n {{#if @hasCopyButton}}\\n <Hds::CodeBlock::CopyButton @targetToCopy=\\\"#{{this.preCodeId}}\\\" aria-describedby={{this.preCodeId}} />\\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 { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { assert } from '@ember/debug';\nimport { next, schedule } from '@ember/runloop';\nimport { htmlSafe } from '@ember/template';\nimport { guidFor } from '@ember/object/internals';\n\nimport Prism from 'prismjs';\n\nimport type { SafeString } from '@ember/template/-private/handlebars';\nimport type { ComponentLike } from '@glint/template';\n\nimport type { HdsCodeBlockTitleSignature } from './title';\nimport type { HdsCodeBlockDescriptionSignature } from './description';\nimport { HdsCodeBlockLanguageValues } from './types.ts';\nimport type { HdsCodeBlockLanguages } from './types.ts';\n\nimport 'prismjs/plugins/line-numbers/prism-line-numbers';\nimport 'prismjs/plugins/line-highlight/prism-line-highlight';\n\nimport 'prismjs/components/prism-bash';\nimport 'prismjs/components/prism-go';\nimport 'prismjs/components/prism-hcl';\nimport 'prismjs/components/prism-json';\nimport 'prismjs/components/prism-log';\nimport 'prismjs/components/prism-ruby';\nimport 'prismjs/components/prism-shell-session';\nimport 'prismjs/components/prism-yaml';\n\n// These imports are required to overcome a global variable clash in Helios website\n// where language import are overriden by the Prism instance in `CodeBlock`\n// Note that `prism-handlebars` is dependant on `prism-markup-templating`\nimport 'prismjs/components/prism-markup-templating';\nimport 'prismjs/components/prism-handlebars';\n\nexport const LANGUAGES: string[] = Object.values(HdsCodeBlockLanguageValues);\n\nexport interface HdsCodeBlockSignature {\n Args: {\n hasCopyButton?: boolean;\n hasLineNumbers?: boolean;\n hasLineWrapping?: boolean;\n highlightLines?: string;\n isStandalone?: boolean;\n language?: HdsCodeBlockLanguages;\n maxHeight?: string;\n value: string;\n };\n Blocks: {\n default: [\n {\n Title?: ComponentLike<HdsCodeBlockTitleSignature>;\n Description?: ComponentLike<HdsCodeBlockDescriptionSignature>;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsCodeBlock extends Component<HdsCodeBlockSignature> {\n @tracked prismCode: SafeString = htmlSafe('');\n\n /**\n * Generates a unique ID for the code content\n *\n * @param preCodeId\n */\n preCodeId = 'pre-code-' + guidFor(this);\n\n /**\n * @param code\n * @type {string}\n * @description code text content for the CodeBlock\n */\n get code(): string {\n const code = this.args.value;\n\n assert(\n '@code for \"Hds::CodeBlock\" must have a valid value',\n code !== undefined\n );\n\n if (Prism?.plugins?.['NormalizeWhitespace']) {\n return Prism.plugins['NormalizeWhitespace'].normalize(code);\n }\n\n return code;\n }\n\n /**\n * @param language\n * @type {string}\n * @default undefined\n * @description name of coding language used within CodeBlock for syntax highlighting\n */\n get language(): HdsCodeBlockLanguages | undefined {\n return this.args.language ?? undefined;\n }\n\n /**\n * @param hasLineNumbers\n * @type {boolean}\n * @default true\n * @description Displays line numbers if true\n */\n get hasLineNumbers(): boolean {\n return this.args.hasLineNumbers ?? true;\n }\n\n /**\n * @param isStandalone\n * @type {boolean}\n * @default true\n * @description Make CodeBlock container corners appear rounded\n */\n get isStandalone(): boolean {\n return this.args.isStandalone ?? true;\n }\n\n /**\n * @param hasLineWrapping\n * @type {boolean}\n * @default false\n * @description Make text content wrap on multiple lines\n */\n get hasLineWrapping(): boolean {\n return this.args.hasLineWrapping ?? false;\n }\n\n @action\n setPrismCode(element: HTMLElement): void {\n const code = this.code;\n const language = this.language;\n const grammar = language ? Prism.languages[language] : undefined;\n\n if (code) {\n // eslint-disable-next-line ember/no-runloop\n next(() => {\n if (language && grammar) {\n this.prismCode = htmlSafe(Prism.highlight(code, grammar, language));\n } else {\n this.prismCode = htmlSafe(Prism.util.encode(code).toString());\n }\n\n // Force prism-line-numbers plugin initialization, required for Prism.highlight usage\n // See https://github.com/PrismJS/prism/issues/1234\n Prism.hooks.run('complete', {\n code,\n element,\n });\n\n // Force prism-line-highlight plugin initialization\n // Context: https://github.com/hashicorp/design-system/pull/1749#discussion_r1374288785\n if (this.args.highlightLines) {\n // we need to delay re-evaluating the context for prism-line-highlight for as much as possible, and `afterRender` is the 'latest' we can use in the component lifecycle\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', () => {\n // we piggy-back on the plugin's `resize` event listener to trigger a new call of the `highlightLines` function: https://github.com/PrismJS/prism/blob/master/plugins/line-highlight/prism-line-highlight.js#L337\n if (window) window.dispatchEvent(new Event('resize'));\n });\n }\n });\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(): string {\n // Currently there is only one theme so the class name is hard-coded.\n // In the future, additional themes such as a \"light\" theme could be added.\n const classes = ['hds-code-block', 'hds-code-block--theme-dark'];\n\n if (this.language) {\n classes.push(`language-${this.language}`);\n }\n\n if (this.isStandalone === true) {\n classes.push('hds-code-block--is-standalone');\n }\n\n if (this.hasLineWrapping === true) {\n classes.push('hds-code-block--has-line-wrapping');\n }\n\n // Note: Prism.js is using the specific class name \"line-numbers\" to determine implementation of line numbers in the UI\n if (this.hasLineNumbers || this.args.highlightLines) {\n classes.push('line-numbers');\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["LANGUAGES","Object","values","HdsCodeBlockLanguageValues","HdsCodeBlock","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","guidFor","code","value","assert","undefined","Prism","plugins","normalize","language","hasLineNumbers","isStandalone","hasLineWrapping","setPrismCode","element","grammar","languages","next","prismCode","htmlSafe","highlight","util","encode","toString","hooks","run","highlightLines","schedule","window","dispatchEvent","Event","classNames","classes","push","join","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1,16 +1,32 @@
1
- import templateOnlyComponent from '@ember/component/template-only';
1
+ import Component from '@glimmer/component';
2
2
  import { precompileTemplate } from '@ember/template-compilation';
3
3
  import { setComponentTemplate } from '@ember/component';
4
4
 
5
- var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<div class=\"hds-dialog-primitive__footer {{@contextualClass}}\" ...attributes>\n {{yield (hash close=@onDismiss)}}\n</div>");
5
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<div class=\"hds-dialog-primitive__footer {{@contextualClass}}\" ...attributes>\n {{yield (hash close=this.onDismiss)}}\n</div>");
6
6
 
7
7
  /**
8
8
  * Copyright (c) HashiCorp, Inc.
9
9
  * SPDX-License-Identifier: MPL-2.0
10
10
  */
11
11
 
12
- const HdsDialogPrimitiveFooter = templateOnlyComponent();
13
- var footer = setComponentTemplate(TEMPLATE, HdsDialogPrimitiveFooter);
12
+ const NOOP = () => {};
13
+ class HdsDialogPrimitiveFooter extends Component {
14
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
+ get onDismiss() {
16
+ const {
17
+ onDismiss
18
+ } = this.args;
14
19
 
15
- export { footer as default };
20
+ // notice: this is to make sure the function is always defined when consumers add `{{on 'click' F.close}}` to a button in the DialogFooter.
21
+ // in reality it's always used inside the main components as a yielded component, so the onDismiss handler is always defined
22
+ if (typeof onDismiss === 'function') {
23
+ return onDismiss;
24
+ } else {
25
+ return NOOP;
26
+ }
27
+ }
28
+ }
29
+ setComponentTemplate(TEMPLATE, HdsDialogPrimitiveFooter);
30
+
31
+ export { HdsDialogPrimitiveFooter as default };
16
32
  //# sourceMappingURL=footer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"footer.js","sources":["../../../../src/components/hds/dialog-primitive/footer.hbs","../../../../src/components/hds/dialog-primitive/footer.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class=\\\"hds-dialog-primitive__footer {{@contextualClass}}\\\" ...attributes>\\n {{yield (hash close=@onDismiss)}}\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport templateOnlyComponent from '@ember/component/template-only';\n\nexport interface HdsDialogPrimitiveFooterSignature {\n Args: {\n contextualClass?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onDismiss?: (event: MouseEvent, ...args: any[]) => void;\n };\n Blocks: {\n default: [\n {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n close?: (event: MouseEvent, ...args: any[]) => void;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nconst HdsDialogPrimitiveFooter =\n templateOnlyComponent<HdsDialogPrimitiveFooterSignature>();\n\nexport default HdsDialogPrimitiveFooter;\n"],"names":["HdsDialogPrimitiveFooter","templateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,4MAA4M;;ACD9O;AACA;AACA;AACA;;AAqBA,MAAMA,wBAAwB,GAC5BC,qBAAqB,EAAqC,CAAA;AAE5D,aAAAC,oBAAA,CAAAC,QAAA,EAAeH,wBAAwB,CAAA;;;;"}
1
+ {"version":3,"file":"footer.js","sources":["../../../../src/components/hds/dialog-primitive/footer.hbs","../../../../src/components/hds/dialog-primitive/footer.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class=\\\"hds-dialog-primitive__footer {{@contextualClass}}\\\" ...attributes>\\n {{yield (hash close=this.onDismiss)}}\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nexport interface HdsDialogPrimitiveFooterSignature {\n Args: {\n contextualClass?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onDismiss?: (event: MouseEvent, ...args: any[]) => void;\n };\n Blocks: {\n default: [\n {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n close: (event: MouseEvent, ...args: any[]) => void;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nconst NOOP = (): void => {};\n\nexport default class HdsDialogPrimitiveFooter extends Component<HdsDialogPrimitiveFooterSignature> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get onDismiss(): (event: MouseEvent, ...args: any[]) => void {\n const { onDismiss } = this.args;\n\n // notice: this is to make sure the function is always defined when consumers add `{{on 'click' F.close}}` to a button in the DialogFooter.\n // in reality it's always used inside the main components as a yielded component, so the onDismiss handler is always defined\n if (typeof onDismiss === 'function') {\n return onDismiss;\n } else {\n return NOOP;\n }\n }\n}\n"],"names":["NOOP","HdsDialogPrimitiveFooter","Component","onDismiss","args","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,gNAAgN;;ACDlP;AACA;AACA;AACA;;AAqBA,MAAMA,IAAI,GAAGA,MAAY,EAAE,CAAA;AAEZ,MAAMC,wBAAwB,SAASC,SAAS,CAAoC;AACjG;EACA,IAAIC,SAASA,GAAgD;IAC3D,MAAM;AAAEA,MAAAA,SAAAA;KAAW,GAAG,IAAI,CAACC,IAAI,CAAA;;AAE/B;AACA;AACA,IAAA,IAAI,OAAOD,SAAS,KAAK,UAAU,EAAE;AACnC,MAAA,OAAOA,SAAS,CAAA;AAClB,KAAC,MAAM;AACL,MAAA,OAAOH,IAAI,CAAA;AACb,KAAA;AACF,GAAA;AACF,CAAA;AAACK,oBAAA,CAAAC,QAAA,EAboBL,wBAAwB,CAAA;;;;"}
@@ -43,6 +43,7 @@ let HdsDisclosurePrimitive = (_class = class HdsDisclosurePrimitive extends Comp
43
43
  }
44
44
  close() {
45
45
  // we schedule this afterRender to avoid an error in tests caused by updating `isOpen` multiple times in the same computation
46
+ // eslint-disable-next-line ember/no-runloop
46
47
  schedule('afterRender', () => {
47
48
  this.isOpen = false;
48
49
  // we call the "onClose" callback if it exists (and is a function)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/disclosure-primitive/index.hbs","../../../../src/components/hds/disclosure-primitive/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class=\\\"hds-disclosure-primitive\\\" {{did-update this.onStateChange @isOpen}} ...attributes>\\n <div class=\\\"hds-disclosure-primitive__toggle\\\">\\n {{yield (hash onClickToggle=this.onClickToggle isOpen=this.isOpen) to=\\\"toggle\\\"}}\\n </div>\\n {{#if this.isOpen}}\\n <div class=\\\"hds-disclosure-primitive__content\\\">\\n {{yield (hash close=this.close) to=\\\"content\\\"}}\\n </div>\\n {{/if}}\\n</div>\")","/**\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 { schedule } from '@ember/runloop';\n\nexport interface HdsDisclosurePrimitiveSignature {\n Args: {\n isOpen?: boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClose?: (...args: any[]) => void;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClickToggle?: (...args: any[]) => void;\n };\n Blocks: {\n toggle: [\n {\n isOpen: boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClickToggle: (...args: any[]) => void;\n },\n ];\n content: [\n {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n close: (...args: any[]) => void;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsDisclosurePrimitive extends Component<HdsDisclosurePrimitiveSignature> {\n @tracked _isOpen = false;\n @tracked _isControlled = this.args.isOpen !== undefined;\n\n get isOpen(): boolean {\n if (this._isControlled) {\n // if the state is controlled from outside, the argument overrides the internal state\n return this.args.isOpen ?? this._isOpen;\n } else {\n // if the state changes internally, the internal state overrides the argument\n return this._isOpen;\n }\n }\n\n set isOpen(value) {\n this._isOpen = value || false;\n }\n\n @action\n onClickToggle(): void {\n this.isOpen = !this.isOpen;\n this._isControlled = false;\n // we call the \"onClickToggle\" callback if it exists and it's a function\n if (\n this.args.onClickToggle &&\n typeof this.args.onClickToggle === 'function'\n ) {\n this.args.onClickToggle(this.isOpen);\n }\n }\n\n @action\n onStateChange(): void {\n if (this.args.isOpen !== undefined) {\n this.isOpen = this.args.isOpen;\n }\n this._isControlled = true;\n }\n\n @action\n close(): void {\n // we schedule this afterRender to avoid an error in tests caused by updating `isOpen` multiple times in the same computation\n schedule('afterRender', (): void => {\n this.isOpen = false;\n // we call the \"onClose\" callback if it exists (and is a function)\n if (this.args.onClose && typeof this.args.onClose === 'function') {\n this.args.onClose();\n }\n });\n }\n}\n"],"names":["HdsDisclosurePrimitive","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","isOpen","_isControlled","_isOpen","value","onClickToggle","onStateChange","undefined","close","schedule","onClose","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/disclosure-primitive/index.hbs","../../../../src/components/hds/disclosure-primitive/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class=\\\"hds-disclosure-primitive\\\" {{did-update this.onStateChange @isOpen}} ...attributes>\\n <div class=\\\"hds-disclosure-primitive__toggle\\\">\\n {{yield (hash onClickToggle=this.onClickToggle isOpen=this.isOpen) to=\\\"toggle\\\"}}\\n </div>\\n {{#if this.isOpen}}\\n <div class=\\\"hds-disclosure-primitive__content\\\">\\n {{yield (hash close=this.close) to=\\\"content\\\"}}\\n </div>\\n {{/if}}\\n</div>\")","/**\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 { schedule } from '@ember/runloop';\n\nexport interface HdsDisclosurePrimitiveSignature {\n Args: {\n isOpen?: boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClose?: (...args: any[]) => void;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClickToggle?: (...args: any[]) => void;\n };\n Blocks: {\n toggle: [\n {\n isOpen: boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClickToggle: (...args: any[]) => void;\n },\n ];\n content: [\n {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n close: (...args: any[]) => void;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsDisclosurePrimitive extends Component<HdsDisclosurePrimitiveSignature> {\n @tracked _isOpen = false;\n @tracked _isControlled = this.args.isOpen !== undefined;\n\n get isOpen(): boolean {\n if (this._isControlled) {\n // if the state is controlled from outside, the argument overrides the internal state\n return this.args.isOpen ?? this._isOpen;\n } else {\n // if the state changes internally, the internal state overrides the argument\n return this._isOpen;\n }\n }\n\n set isOpen(value) {\n this._isOpen = value || false;\n }\n\n @action\n onClickToggle(): void {\n this.isOpen = !this.isOpen;\n this._isControlled = false;\n // we call the \"onClickToggle\" callback if it exists and it's a function\n if (\n this.args.onClickToggle &&\n typeof this.args.onClickToggle === 'function'\n ) {\n this.args.onClickToggle(this.isOpen);\n }\n }\n\n @action\n onStateChange(): void {\n if (this.args.isOpen !== undefined) {\n this.isOpen = this.args.isOpen;\n }\n this._isControlled = true;\n }\n\n @action\n close(): void {\n // we schedule this afterRender to avoid an error in tests caused by updating `isOpen` multiple times in the same computation\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', (): void => {\n this.isOpen = false;\n // we call the \"onClose\" callback if it exists (and is a function)\n if (this.args.onClose && typeof this.args.onClose === 'function') {\n this.args.onClose();\n }\n });\n }\n}\n"],"names":["HdsDisclosurePrimitive","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","isOpen","_isControlled","_isOpen","value","onClickToggle","onStateChange","undefined","close","schedule","onClose","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"footer.js","sources":["../../../../src/components/hds/dropdown/footer.hbs","../../../../src/components/hds/dropdown/footer.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class=\\\"hds-dropdown__footer {{if @hasDivider \\'hds-dropdown__footer--with-divider\\'}}\\\" ...attributes>\\n {{yield}}\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport templateOnlyComponent from '@ember/component/template-only';\n\nexport interface HdsDropdownFooterSignature {\n Args: {\n hasDivider: boolean;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\n\nconst HdsDropdownFooter = templateOnlyComponent<HdsDropdownFooterSignature>();\n\nexport default HdsDropdownFooter;\n"],"names":["HdsDropdownFooter","templateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,iNAAiN;;ACDnP;AACA;AACA;AACA;;AAcA,MAAMA,iBAAiB,GAAGC,qBAAqB,EAA8B,CAAA;AAE7E,aAAAC,oBAAA,CAAAC,QAAA,EAAeH,iBAAiB,CAAA;;;;"}
1
+ {"version":3,"file":"footer.js","sources":["../../../../src/components/hds/dropdown/footer.hbs","../../../../src/components/hds/dropdown/footer.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class=\\\"hds-dropdown__footer {{if @hasDivider \\'hds-dropdown__footer--with-divider\\'}}\\\" ...attributes>\\n {{yield}}\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport templateOnlyComponent from '@ember/component/template-only';\n\nexport interface HdsDropdownFooterSignature {\n Args: {\n hasDivider?: boolean;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\n\nconst HdsDropdownFooter = templateOnlyComponent<HdsDropdownFooterSignature>();\n\nexport default HdsDropdownFooter;\n"],"names":["HdsDropdownFooter","templateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,iNAAiN;;ACDnP;AACA;AACA;AACA;;AAcA,MAAMA,iBAAiB,GAAGC,qBAAqB,EAA8B,CAAA;AAE7E,aAAAC,oBAAA,CAAAC,QAAA,EAAeH,iBAAiB,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","sources":["../../../../src/components/hds/dropdown/header.hbs","../../../../src/components/hds/dropdown/header.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class=\\\"hds-dropdown__header {{if @hasDivider \\'hds-dropdown__header--with-divider\\'}}\\\" ...attributes>\\n {{yield}}\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport templateOnlyComponent from '@ember/component/template-only';\n\nexport interface HdsDropdownHeaderSignature {\n Args: {\n hasDivider: boolean;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\n\nconst HdsDropdownHeader = templateOnlyComponent<HdsDropdownHeaderSignature>();\n\nexport default HdsDropdownHeader;\n"],"names":["HdsDropdownHeader","templateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,iNAAiN;;ACDnP;AACA;AACA;AACA;;AAcA,MAAMA,iBAAiB,GAAGC,qBAAqB,EAA8B,CAAA;AAE7E,aAAAC,oBAAA,CAAAC,QAAA,EAAeH,iBAAiB,CAAA;;;;"}
1
+ {"version":3,"file":"header.js","sources":["../../../../src/components/hds/dropdown/header.hbs","../../../../src/components/hds/dropdown/header.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class=\\\"hds-dropdown__header {{if @hasDivider \\'hds-dropdown__header--with-divider\\'}}\\\" ...attributes>\\n {{yield}}\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport templateOnlyComponent from '@ember/component/template-only';\n\nexport interface HdsDropdownHeaderSignature {\n Args: {\n hasDivider?: boolean;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\n\nconst HdsDropdownHeader = templateOnlyComponent<HdsDropdownHeaderSignature>();\n\nexport default HdsDropdownHeader;\n"],"names":["HdsDropdownHeader","templateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,iNAAiN;;ACDnP;AACA;AACA;AACA;;AAcA,MAAMA,iBAAiB,GAAGC,qBAAqB,EAA8B,CAAA;AAE7E,aAAAC,oBAAA,CAAAC,QAAA,EAAeH,iBAAiB,CAAA;;;;"}
@@ -6,7 +6,7 @@ import { HdsDropdownPositionValues, HdsDropdownPositionToPlacementValues } from
6
6
  import { precompileTemplate } from '@ember/template-compilation';
7
7
  import { setComponentTemplate } from '@ember/component';
8
8
 
9
- var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<Hds::PopoverPrimitive @isOpen={{@isOpen}} @onClose={{@onClose}} @enableClickEvents={{true}} as |PP|>\n <div class={{this.classNames}} ...attributes {{PP.setupPrimitiveContainer}}>\n {{yield\n (hash\n ToggleButton=(component\n \"hds/dropdown/toggle/button\" isOpen=PP.isOpen setupPrimitiveToggle=PP.setupPrimitiveToggle\n )\n ToggleIcon=(component \"hds/dropdown/toggle/icon\" isOpen=PP.isOpen setupPrimitiveToggle=PP.setupPrimitiveToggle)\n )\n }}\n <div\n class={{this.classNamesContent}}\n {{style width=@width max-height=@height}}\n {{PP.setupPrimitivePopover anchoredPositionOptions=this.anchoredPositionOptions}}\n >\n {{yield (hash Header=(component \"hds/dropdown/header\"))}}\n <ul class=\"hds-dropdown__list\" {{did-insert this.didInsertList}}>\n {{yield\n (hash\n close=PP.hidePopover\n Checkbox=(component \"hds/dropdown/list-item/checkbox\")\n Checkmark=(component \"hds/dropdown/list-item/checkmark\")\n CopyItem=(component \"hds/dropdown/list-item/copy-item\")\n Description=(component \"hds/dropdown/list-item/description\")\n Generic=(component \"hds/dropdown/list-item/generic\")\n Interactive=(component \"hds/dropdown/list-item/interactive\")\n Radio=(component \"hds/dropdown/list-item/radio\")\n Separator=(component \"hds/dropdown/list-item/separator\")\n Title=(component \"hds/dropdown/list-item/title\")\n )\n }}\n </ul>\n {{yield (hash close=PP.hidePopover Footer=(component \"hds/dropdown/footer\"))}}\n </div>\n </div>\n</Hds::PopoverPrimitive>");
9
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<Hds::PopoverPrimitive @isOpen={{@isOpen}} @onClose={{@onClose}} @enableClickEvents={{true}} as |PP|>\n <div class={{this.classNames}} ...attributes {{PP.setupPrimitiveContainer}}>\n {{yield\n (hash\n ToggleButton=(component\n \"hds/dropdown/toggle/button\" isOpen=PP.isOpen setupPrimitiveToggle=PP.setupPrimitiveToggle\n )\n ToggleIcon=(component \"hds/dropdown/toggle/icon\" isOpen=PP.isOpen setupPrimitiveToggle=PP.setupPrimitiveToggle)\n )\n }}\n <div\n class={{this.classNamesContent}}\n {{style width=@width max-height=@height}}\n {{PP.setupPrimitivePopover anchoredPositionOptions=this.anchoredPositionOptions}}\n >\n {{yield (hash Header=(component \"hds/dropdown/header\"))}}\n <ul class=\"hds-dropdown__list\" {{did-insert this.didInsertList}}>\n {{yield\n (hash\n close=PP.hidePopover\n isOpen=PP.isOpen\n Checkbox=(component \"hds/dropdown/list-item/checkbox\")\n Checkmark=(component \"hds/dropdown/list-item/checkmark\")\n CopyItem=(component \"hds/dropdown/list-item/copy-item\")\n Description=(component \"hds/dropdown/list-item/description\")\n Generic=(component \"hds/dropdown/list-item/generic\")\n Interactive=(component \"hds/dropdown/list-item/interactive\")\n Radio=(component \"hds/dropdown/list-item/radio\")\n Separator=(component \"hds/dropdown/list-item/separator\")\n Title=(component \"hds/dropdown/list-item/title\")\n )\n }}\n </ul>\n {{yield (hash close=PP.hidePopover Footer=(component \"hds/dropdown/footer\"))}}\n </div>\n </div>\n</Hds::PopoverPrimitive>");
10
10
 
11
11
  var _class;
12
12
  const DEFAULT_POSITION = HdsDropdownPositionValues.BottomRight;