@hashicorp/design-system-components 4.1.2 → 4.3.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 (224) hide show
  1. package/dist/_app_/components/hds/form/super-select/after-options.js +1 -0
  2. package/dist/_app_/components/hds/form/super-select/multiple/base.js +1 -0
  3. package/dist/_app_/components/hds/form/super-select/multiple/field.js +1 -0
  4. package/dist/_app_/components/hds/form/super-select/option-group.js +1 -0
  5. package/dist/_app_/components/hds/form/super-select/placeholder.js +1 -0
  6. package/dist/_app_/components/hds/form/super-select/single/base.js +1 -0
  7. package/dist/_app_/components/hds/form/super-select/single/field.js +1 -0
  8. package/dist/_app_/components/hds/popover-primitive/index.js +1 -0
  9. package/dist/_app_/components/hds/rich-tooltip/bubble.js +1 -0
  10. package/dist/_app_/components/hds/rich-tooltip/index.js +1 -0
  11. package/dist/_app_/components/hds/rich-tooltip/toggle.js +1 -0
  12. package/dist/_app_/modifiers/hds-anchored-position.js +1 -0
  13. package/dist/_app_/modifiers/hds-register-event.js +1 -0
  14. package/dist/{_rollupPluginBabelHelpers-lqPQKyNs.js → _rollupPluginBabelHelpers-NoJJJNhk.js} +7 -9
  15. package/dist/{_rollupPluginBabelHelpers-lqPQKyNs.js.map → _rollupPluginBabelHelpers-NoJJJNhk.js.map} +1 -1
  16. package/dist/components/hds/accordion/index.js +8 -2
  17. package/dist/components/hds/accordion/index.js.map +1 -1
  18. package/dist/components/hds/accordion/item/button.js +12 -8
  19. package/dist/components/hds/accordion/item/button.js.map +1 -1
  20. package/dist/components/hds/accordion/item/index.js +6 -6
  21. package/dist/components/hds/accordion/item/index.js.map +1 -1
  22. package/dist/components/hds/alert/description.js +8 -2
  23. package/dist/components/hds/alert/description.js.map +1 -1
  24. package/dist/components/hds/alert/index.js +23 -22
  25. package/dist/components/hds/alert/index.js.map +1 -1
  26. package/dist/components/hds/alert/title.js +8 -2
  27. package/dist/components/hds/alert/title.js.map +1 -1
  28. package/dist/components/hds/alert/types.js +22 -0
  29. package/dist/components/hds/alert/types.js.map +1 -0
  30. package/dist/components/hds/app-footer/copyright.js +1 -1
  31. package/dist/components/hds/app-footer/copyright.js.map +1 -1
  32. package/dist/components/hds/app-footer/index.js +6 -6
  33. package/dist/components/hds/app-footer/index.js.map +1 -1
  34. package/dist/components/hds/app-footer/item.js +10 -4
  35. package/dist/components/hds/app-footer/item.js.map +1 -1
  36. package/dist/components/hds/app-footer/legal-links.js +1 -1
  37. package/dist/components/hds/app-footer/legal-links.js.map +1 -1
  38. package/dist/components/hds/app-footer/link.js +10 -4
  39. package/dist/components/hds/app-footer/link.js.map +1 -1
  40. package/dist/components/hds/app-footer/status-link.js +12 -27
  41. package/dist/components/hds/app-footer/status-link.js.map +1 -1
  42. package/dist/components/hds/app-footer/types.js +38 -0
  43. package/dist/components/hds/app-footer/types.js.map +1 -0
  44. package/dist/components/hds/app-frame/index.js +4 -4
  45. package/dist/components/hds/app-frame/index.js.map +1 -1
  46. package/dist/components/hds/app-frame/parts/footer.js +10 -4
  47. package/dist/components/hds/app-frame/parts/footer.js.map +1 -1
  48. package/dist/components/hds/app-frame/parts/header.js +10 -4
  49. package/dist/components/hds/app-frame/parts/header.js.map +1 -1
  50. package/dist/components/hds/app-frame/parts/main.js +10 -4
  51. package/dist/components/hds/app-frame/parts/main.js.map +1 -1
  52. package/dist/components/hds/app-frame/parts/modals.js +10 -4
  53. package/dist/components/hds/app-frame/parts/modals.js.map +1 -1
  54. package/dist/components/hds/app-frame/parts/sidebar.js +10 -4
  55. package/dist/components/hds/app-frame/parts/sidebar.js.map +1 -1
  56. package/dist/components/hds/badge/index.js +19 -18
  57. package/dist/components/hds/badge/index.js.map +1 -1
  58. package/dist/components/hds/badge/types.js +29 -0
  59. package/dist/components/hds/badge/types.js.map +1 -0
  60. package/dist/components/hds/badge-count/index.js +15 -14
  61. package/dist/components/hds/badge-count/index.js.map +1 -1
  62. package/dist/components/hds/badge-count/types.js +25 -0
  63. package/dist/components/hds/badge-count/types.js.map +1 -0
  64. package/dist/components/hds/button/index.js +9 -9
  65. package/dist/components/hds/button/index.js.map +1 -1
  66. package/dist/components/hds/button-set/index.js +8 -2
  67. package/dist/components/hds/button-set/index.js.map +1 -1
  68. package/dist/components/hds/card/container.js +25 -24
  69. package/dist/components/hds/card/container.js.map +1 -1
  70. package/dist/components/hds/card/types.js +24 -0
  71. package/dist/components/hds/card/types.js.map +1 -0
  72. package/dist/components/hds/code-block/index.js +1 -1
  73. package/dist/components/hds/code-block/index.js.map +1 -1
  74. package/dist/components/hds/copy/button/index.js +1 -1
  75. package/dist/components/hds/copy/button/index.js.map +1 -1
  76. package/dist/components/hds/copy/snippet/index.js +2 -2
  77. package/dist/components/hds/copy/snippet/index.js.map +1 -1
  78. package/dist/components/hds/disclosure-primitive/index.js +2 -2
  79. package/dist/components/hds/disclosure-primitive/index.js.map +1 -1
  80. package/dist/components/hds/dismiss-button/index.js +3 -3
  81. package/dist/components/hds/dismiss-button/index.js.map +1 -1
  82. package/dist/components/hds/dropdown/index.js +1 -1
  83. package/dist/components/hds/dropdown/index.js.map +1 -1
  84. package/dist/components/hds/dropdown/list-item/checkmark.js +1 -1
  85. package/dist/components/hds/dropdown/list-item/checkmark.js.map +1 -1
  86. package/dist/components/hds/dropdown/list-item/interactive.js +1 -1
  87. package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -1
  88. package/dist/components/hds/dropdown/toggle/button.js +1 -1
  89. package/dist/components/hds/dropdown/toggle/icon.js +1 -1
  90. package/dist/components/hds/dropdown/toggle/icon.js.map +1 -1
  91. package/dist/components/hds/flyout/index.js +3 -9
  92. package/dist/components/hds/flyout/index.js.map +1 -1
  93. package/dist/components/hds/form/field/index.js +1 -1
  94. package/dist/components/hds/form/field/index.js.map +1 -1
  95. package/dist/components/hds/form/fieldset/index.js +1 -1
  96. package/dist/components/hds/form/fieldset/index.js.map +1 -1
  97. package/dist/components/hds/form/label/index.js +18 -2
  98. package/dist/components/hds/form/label/index.js.map +1 -1
  99. package/dist/components/hds/form/masked-input/base.js +1 -1
  100. package/dist/components/hds/form/masked-input/base.js.map +1 -1
  101. package/dist/components/hds/form/radio-card/index.js +1 -1
  102. package/dist/components/hds/form/radio-card/index.js.map +1 -1
  103. package/dist/components/hds/form/super-select/after-options.js +10 -0
  104. package/dist/components/hds/form/super-select/after-options.js.map +1 -0
  105. package/dist/components/hds/form/super-select/multiple/base.js +159 -0
  106. package/dist/components/hds/form/super-select/multiple/base.js.map +1 -0
  107. package/dist/components/hds/form/super-select/multiple/field.js +21 -0
  108. package/dist/components/hds/form/super-select/multiple/field.js.map +1 -0
  109. package/dist/components/hds/form/super-select/option-group.js +22 -0
  110. package/dist/components/hds/form/super-select/option-group.js.map +1 -0
  111. package/dist/components/hds/form/super-select/placeholder.js +10 -0
  112. package/dist/components/hds/form/super-select/placeholder.js.map +1 -0
  113. package/dist/components/hds/form/super-select/single/base.js +86 -0
  114. package/dist/components/hds/form/super-select/single/base.js.map +1 -0
  115. package/dist/components/hds/form/super-select/single/field.js +21 -0
  116. package/dist/components/hds/form/super-select/single/field.js.map +1 -0
  117. package/dist/components/hds/form/text-input/field.js +1 -1
  118. package/dist/components/hds/form/text-input/field.js.map +1 -1
  119. package/dist/components/hds/icon-tile/index.js +15 -11
  120. package/dist/components/hds/icon-tile/index.js.map +1 -1
  121. package/dist/components/hds/icon-tile/types.js +32 -0
  122. package/dist/components/hds/icon-tile/types.js.map +1 -0
  123. package/dist/components/hds/interactive/index.js +4 -4
  124. package/dist/components/hds/interactive/index.js.map +1 -1
  125. package/dist/components/hds/link/inline.js +11 -10
  126. package/dist/components/hds/link/inline.js.map +1 -1
  127. package/dist/components/hds/link/standalone.js +16 -15
  128. package/dist/components/hds/link/standalone.js.map +1 -1
  129. package/dist/components/hds/link/types.js +24 -0
  130. package/dist/components/hds/link/types.js.map +1 -0
  131. package/dist/components/hds/menu-primitive/index.js +1 -1
  132. package/dist/components/hds/menu-primitive/index.js.map +1 -1
  133. package/dist/components/hds/modal/index.js +3 -9
  134. package/dist/components/hds/modal/index.js.map +1 -1
  135. package/dist/components/hds/pagination/compact/index.js +1 -1
  136. package/dist/components/hds/pagination/compact/index.js.map +1 -1
  137. package/dist/components/hds/pagination/nav/arrow.js +1 -1
  138. package/dist/components/hds/pagination/nav/arrow.js.map +1 -1
  139. package/dist/components/hds/pagination/nav/number.js +1 -1
  140. package/dist/components/hds/pagination/nav/number.js.map +1 -1
  141. package/dist/components/hds/pagination/numbered/index.js +1 -1
  142. package/dist/components/hds/pagination/numbered/index.js.map +1 -1
  143. package/dist/components/hds/pagination/size-selector/index.js +1 -1
  144. package/dist/components/hds/pagination/size-selector/index.js.map +1 -1
  145. package/dist/components/hds/popover-primitive/index.js +238 -0
  146. package/dist/components/hds/popover-primitive/index.js.map +1 -0
  147. package/dist/components/hds/reveal/index.js +21 -17
  148. package/dist/components/hds/reveal/index.js.map +1 -1
  149. package/dist/components/hds/reveal/toggle/button.js +5 -5
  150. package/dist/components/hds/reveal/toggle/button.js.map +1 -1
  151. package/dist/components/hds/rich-tooltip/bubble.js +60 -0
  152. package/dist/components/hds/rich-tooltip/bubble.js.map +1 -0
  153. package/dist/components/hds/rich-tooltip/index.js +26 -0
  154. package/dist/components/hds/rich-tooltip/index.js.map +1 -0
  155. package/dist/components/hds/rich-tooltip/toggle.js +85 -0
  156. package/dist/components/hds/rich-tooltip/toggle.js.map +1 -0
  157. package/dist/components/hds/separator/index.js +9 -8
  158. package/dist/components/hds/separator/index.js.map +1 -1
  159. package/dist/components/hds/separator/types.js +13 -0
  160. package/dist/components/hds/separator/types.js.map +1 -0
  161. package/dist/components/hds/side-nav/index.js +1 -1
  162. package/dist/components/hds/side-nav/index.js.map +1 -1
  163. package/dist/components/hds/side-nav/portal/target.js +1 -1
  164. package/dist/components/hds/side-nav/portal/target.js.map +1 -1
  165. package/dist/components/hds/stepper/step/indicator.js +9 -8
  166. package/dist/components/hds/stepper/step/indicator.js.map +1 -1
  167. package/dist/components/hds/stepper/task/indicator.js +10 -14
  168. package/dist/components/hds/stepper/task/indicator.js.map +1 -1
  169. package/dist/components/hds/stepper/types.js +21 -0
  170. package/dist/components/hds/stepper/types.js.map +1 -0
  171. package/dist/components/hds/table/index.js +1 -1
  172. package/dist/components/hds/table/index.js.map +1 -1
  173. package/dist/components/hds/table/th-button-sort.js +1 -1
  174. package/dist/components/hds/table/th-button-tooltip.js +1 -1
  175. package/dist/components/hds/table/th-selectable.js +1 -1
  176. package/dist/components/hds/table/th-selectable.js.map +1 -1
  177. package/dist/components/hds/table/th-sort.js +1 -1
  178. package/dist/components/hds/table/th.js +1 -1
  179. package/dist/components/hds/tabs/index.js +1 -1
  180. package/dist/components/hds/tabs/index.js.map +1 -1
  181. package/dist/components/hds/tabs/panel.js +1 -1
  182. package/dist/components/hds/tabs/panel.js.map +1 -1
  183. package/dist/components/hds/tabs/tab.js +1 -1
  184. package/dist/components/hds/tabs/tab.js.map +1 -1
  185. package/dist/components/hds/tag/index.js +11 -10
  186. package/dist/components/hds/tag/index.js.map +1 -1
  187. package/dist/components/hds/tag/types.js +13 -0
  188. package/dist/components/hds/tag/types.js.map +1 -0
  189. package/dist/components/hds/text/body.js +8 -7
  190. package/dist/components/hds/text/body.js.map +1 -1
  191. package/dist/components/hds/text/code.js +8 -7
  192. package/dist/components/hds/text/code.js.map +1 -1
  193. package/dist/components/hds/text/display.js +19 -12
  194. package/dist/components/hds/text/display.js.map +1 -1
  195. package/dist/components/hds/text/index.js +17 -13
  196. package/dist/components/hds/text/index.js.map +1 -1
  197. package/dist/components/hds/text/types.js +58 -0
  198. package/dist/components/hds/text/types.js.map +1 -0
  199. package/dist/components/hds/toast/index.js +8 -2
  200. package/dist/components/hds/toast/index.js.map +1 -1
  201. package/dist/components/hds/yield/index.js +8 -2
  202. package/dist/components/hds/yield/index.js.map +1 -1
  203. package/dist/helpers/hds-link-to-models.js.map +1 -1
  204. package/dist/modifiers/hds-anchored-position.js +175 -0
  205. package/dist/modifiers/hds-anchored-position.js.map +1 -0
  206. package/dist/modifiers/hds-register-event.js +40 -0
  207. package/dist/modifiers/hds-register-event.js.map +1 -0
  208. package/dist/modifiers/hds-tooltip.js +10 -14
  209. package/dist/modifiers/hds-tooltip.js.map +1 -1
  210. package/dist/styles/@hashicorp/design-system-components.css +565 -3
  211. package/dist/styles/@hashicorp/design-system-components.scss +1 -0
  212. package/dist/styles/@hashicorp/design-system-power-select-overrides.scss +0 -1
  213. package/dist/styles/components/code-block/theme.scss +1 -1
  214. package/dist/styles/components/dropdown.scss +7 -0
  215. package/dist/styles/components/form/index.scss +1 -0
  216. package/dist/styles/components/form/select.scss +0 -1
  217. package/dist/styles/components/form/super-select.scss +515 -0
  218. package/dist/styles/components/form/text-input.scss +0 -1
  219. package/dist/styles/components/form/textarea.scss +0 -1
  220. package/dist/styles/components/page-header.scss +1 -0
  221. package/dist/styles/components/rich-tooltip.scss +247 -0
  222. package/dist/styles/components/tabs.scss +2 -1
  223. package/dist/styles/components/tooltip.scss +1 -1
  224. package/package.json +58 -23
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/code-block/index.hbs","../../../../src/components/hds/code-block/index.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<div class={{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 '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 default class HdsCodeBlockIndexComponent extends Component {\n @tracked prismCode = '';\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() {\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() {\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() {\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() {\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() {\n return this.args.hasLineWrapping ?? false;\n }\n\n @action\n setPrismCode(element) {\n const code = this.code;\n const language = this.language;\n const grammar = Prism.languages[language];\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));\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() {\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 let 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":["HdsCodeBlockIndexComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","guidFor","code","value","assert","undefined","Prism","plugins","NormalizeWhitespace","normalize","language","hasLineNumbers","isStandalone","hasLineWrapping","setPrismCode","element","grammar","languages","next","prismCode","htmlSafe","highlight","util","encode","hooks","run","highlightLines","schedule","window","dispatchEvent","Event","classNames","classes","push","join","_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/code-block/index.hbs","../../../../src/components/hds/code-block/index.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<div class={{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 '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 default class HdsCodeBlockIndexComponent extends Component {\n @tracked prismCode = '';\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() {\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() {\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() {\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() {\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() {\n return this.args.hasLineWrapping ?? false;\n }\n\n @action\n setPrismCode(element) {\n const code = this.code;\n const language = this.language;\n const grammar = Prism.languages[language];\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));\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() {\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 let 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":["HdsCodeBlockIndexComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","guidFor","code","value","assert","undefined","Prism","plugins","NormalizeWhitespace","normalize","language","hasLineNumbers","isStandalone","hasLineWrapping","setPrismCode","element","grammar","languages","next","prismCode","htmlSafe","highlight","util","encode","hooks","run","highlightLines","schedule","window","dispatchEvent","Event","classNames","classes","push","join","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { a as _applyDecoratedDescriptor, b as _initializerDefineProperty } from '../../../../_rollupPluginBabelHelpers-lqPQKyNs.js';
1
+ import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty } from '../../../../_rollupPluginBabelHelpers-NoJJJNhk.js';
2
2
  import Component from '@glimmer/component';
3
3
  import { assert } from '@ember/debug';
4
4
  import { tracked } from '@glimmer/tracking';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/hds/copy/button/index.hbs","../../../../../src/components/hds/copy/button/index.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<Hds::Button\\n class={{this.classNames}}\\n @size={{this.size}}\\n @isFullWidth={{@isFullWidth}}\\n @text={{@text}}\\n @icon={{this.icon}}\\n @isIconOnly={{@isIconOnly}}\\n @color=\\\"secondary\\\"\\n @iconPosition=\\\"trailing\\\"\\n {{hds-clipboard text=@textToCopy target=@targetToCopy onSuccess=this.onSuccess onError=this.onError}}\\n ...attributes\\n/>\")","/**\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 { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\n\nexport const DEFAULT_SIZE = 'medium';\nexport const SIZES = ['small', 'medium'];\nexport const DEFAULT_ICON = 'clipboard-copy';\nexport const SUCCESS_ICON = 'clipboard-checked';\nexport const ERROR_ICON = 'clipboard-x';\nexport const DEFAULT_STATUS = 'idle';\n\nexport default class HdsCopyButtonComponent extends Component {\n @tracked status = DEFAULT_STATUS;\n @tracked timer;\n\n /**\n * @param icon\n * @type {string}\n * @description The icon to be displayed for each status; automatically calculated based on the tracked property `status`.\n */\n get icon() {\n let icon = DEFAULT_ICON;\n if (this.status === 'success') {\n icon = SUCCESS_ICON;\n } else if (this.status === 'error') {\n icon = ERROR_ICON;\n }\n return icon;\n }\n\n /**\n * @param size\n * @type {string}\n * @default medium\n * @description The size of the copy/button; acceptable values are `small` and `medium`\n */\n get size() {\n let { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Copy::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 * Get the class names to apply to the component.\n * @method CopyButton#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-copy-button'];\n\n // add a class based on the @size argument\n classes.push(`hds-button--size-${this.size}`);\n\n classes.push(`hds-copy-button--status-${this.status}`);\n\n return classes.join(' ');\n }\n\n @action\n onSuccess(args) {\n this.status = 'success';\n this.resetStatusDelayed();\n\n let { onSuccess } = this.args;\n\n if (typeof onSuccess === 'function') {\n onSuccess(args);\n }\n }\n\n @action\n onError(args) {\n this.status = 'error';\n this.resetStatusDelayed();\n\n let { onError } = this.args;\n\n if (typeof onError === 'function') {\n onError(args);\n }\n }\n\n resetStatusDelayed() {\n clearTimeout(this.timer);\n // make it fade back to the default state\n this.timer = setTimeout(() => {\n this.status = DEFAULT_STATUS;\n }, 1500);\n }\n}\n"],"names":["DEFAULT_SIZE","SIZES","DEFAULT_ICON","SUCCESS_ICON","ERROR_ICON","DEFAULT_STATUS","HdsCopyButtonComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","icon","status","size","assert","join","includes","classNames","classes","push","onSuccess","resetStatusDelayed","onError","clearTimeout","timer","setTimeout","_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/copy/button/index.hbs","../../../../../src/components/hds/copy/button/index.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<Hds::Button\\n class={{this.classNames}}\\n @size={{this.size}}\\n @isFullWidth={{@isFullWidth}}\\n @text={{@text}}\\n @icon={{this.icon}}\\n @isIconOnly={{@isIconOnly}}\\n @color=\\\"secondary\\\"\\n @iconPosition=\\\"trailing\\\"\\n {{hds-clipboard text=@textToCopy target=@targetToCopy onSuccess=this.onSuccess onError=this.onError}}\\n ...attributes\\n/>\")","/**\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 { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\n\nexport const DEFAULT_SIZE = 'medium';\nexport const SIZES = ['small', 'medium'];\nexport const DEFAULT_ICON = 'clipboard-copy';\nexport const SUCCESS_ICON = 'clipboard-checked';\nexport const ERROR_ICON = 'clipboard-x';\nexport const DEFAULT_STATUS = 'idle';\n\nexport default class HdsCopyButtonComponent extends Component {\n @tracked status = DEFAULT_STATUS;\n @tracked timer;\n\n /**\n * @param icon\n * @type {string}\n * @description The icon to be displayed for each status; automatically calculated based on the tracked property `status`.\n */\n get icon() {\n let icon = DEFAULT_ICON;\n if (this.status === 'success') {\n icon = SUCCESS_ICON;\n } else if (this.status === 'error') {\n icon = ERROR_ICON;\n }\n return icon;\n }\n\n /**\n * @param size\n * @type {string}\n * @default medium\n * @description The size of the copy/button; acceptable values are `small` and `medium`\n */\n get size() {\n let { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Copy::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 * Get the class names to apply to the component.\n * @method CopyButton#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-copy-button'];\n\n // add a class based on the @size argument\n classes.push(`hds-button--size-${this.size}`);\n\n classes.push(`hds-copy-button--status-${this.status}`);\n\n return classes.join(' ');\n }\n\n @action\n onSuccess(args) {\n this.status = 'success';\n this.resetStatusDelayed();\n\n let { onSuccess } = this.args;\n\n if (typeof onSuccess === 'function') {\n onSuccess(args);\n }\n }\n\n @action\n onError(args) {\n this.status = 'error';\n this.resetStatusDelayed();\n\n let { onError } = this.args;\n\n if (typeof onError === 'function') {\n onError(args);\n }\n }\n\n resetStatusDelayed() {\n clearTimeout(this.timer);\n // make it fade back to the default state\n this.timer = setTimeout(() => {\n this.status = DEFAULT_STATUS;\n }, 1500);\n }\n}\n"],"names":["DEFAULT_SIZE","SIZES","DEFAULT_ICON","SUCCESS_ICON","ERROR_ICON","DEFAULT_STATUS","HdsCopyButtonComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","icon","status","size","assert","join","includes","classNames","classes","push","onSuccess","resetStatusDelayed","onError","clearTimeout","timer","setTimeout","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { a as _applyDecoratedDescriptor, b as _initializerDefineProperty } from '../../../../_rollupPluginBabelHelpers-lqPQKyNs.js';
1
+ import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty } from '../../../../_rollupPluginBabelHelpers-NoJJJNhk.js';
2
2
  import Component from '@glimmer/component';
3
3
  import { assert } from '@ember/debug';
4
4
  import { tracked } from '@glimmer/tracking';
@@ -6,7 +6,7 @@ import { action } from '@ember/object';
6
6
  import { precompileTemplate } from '@ember/template-compilation';
7
7
  import { setComponentTemplate } from '@ember/component';
8
8
 
9
- var TEMPLATE = precompileTemplate("{{! @glint-nocheck: not typesafe yet }}\n{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<button\n type=\"button\"\n class={{this.classNames}}\n {{hds-clipboard text=@textToCopy onSuccess=this.onSuccess onError=this.onError}}\n aria-label={{concat \'copy \' @textToCopy}}\n ...attributes\n>\n <Hds::Text::Code class=\"hds-copy-snippet__text\" @tag=\"span\" @size=\"100\">\n {{@textToCopy}}\n </Hds::Text::Code>\n <FlightIcon @name={{this.icon}} class=\"hds-copy-snippet__icon\" />\n</button>");
9
+ var TEMPLATE = precompileTemplate("{{! @glint-nocheck: not typesafe yet }}\n{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<button\n type=\"button\"\n class={{this.classNames}}\n {{hds-clipboard text=@textToCopy onSuccess=this.onSuccess onError=this.onError}}\n aria-label={{concat \"copy \" @textToCopy}}\n ...attributes\n>\n <Hds::Text::Code class=\"hds-copy-snippet__text\" @tag=\"span\" @size=\"100\">\n {{@textToCopy}}\n </Hds::Text::Code>\n <FlightIcon @name={{this.icon}} class=\"hds-copy-snippet__icon\" />\n</button>");
10
10
 
11
11
  var _class, _descriptor, _descriptor2;
12
12
  const DEFAULT_COLOR = 'primary';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/hds/copy/snippet/index.hbs","../../../../../src/components/hds/copy/snippet/index.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<button\\n type=\\\"button\\\"\\n class={{this.classNames}}\\n {{hds-clipboard text=@textToCopy onSuccess=this.onSuccess onError=this.onError}}\\n aria-label={{concat \\'copy \\' @textToCopy}}\\n ...attributes\\n>\\n <Hds::Text::Code class=\\\"hds-copy-snippet__text\\\" @tag=\\\"span\\\" @size=\\\"100\\\">\\n {{@textToCopy}}\\n </Hds::Text::Code>\\n <FlightIcon @name={{this.icon}} class=\\\"hds-copy-snippet__icon\\\" />\\n</button>\")","/**\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 { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\n\nexport const DEFAULT_COLOR = 'primary';\nexport const COLORS = ['primary', 'secondary'];\nexport const DEFAULT_ICON = 'clipboard-copy';\nexport const SUCCESS_ICON = 'clipboard-checked';\nexport const ERROR_ICON = 'clipboard-x';\nexport const DEFAULT_STATUS = 'idle';\n\nexport default class HdsCopySnippetIndexComponent extends Component {\n @tracked status = DEFAULT_STATUS;\n @tracked timer;\n\n /**\n * @param icon\n * @type {string}\n * @default DEFAULT_ICON\n * @description Determines the icon to be used, based on the success state. Note that this is auto-tracked because it depends on a tracked property (status).\n */\n get icon() {\n let icon = DEFAULT_ICON;\n if (this.status === 'success') {\n icon = SUCCESS_ICON;\n } else if (this.status === 'error') {\n icon = ERROR_ICON;\n }\n return icon;\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` and `secondary`\n */\n get color() {\n let { color = DEFAULT_COLOR } = this.args;\n\n assert(\n `@color for \"Hds::Copy::Snippet\" 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 * @param isFullWidth\n * @type {boolean}\n * @default false\n * @description Indicates that the component should take up the full width of the parent container.\n */\n get isFullWidth() {\n return this.args.isFullWidth ?? false;\n }\n\n /**\n * @param isTruncated\n * @type {boolean}\n * @default false\n * @description Indicates that the component should be truncated instead of wrapping text and using multiple lines.\n */\n get isTruncated() {\n return this.args.isTruncated ?? false;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method CopySnippet#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-copy-snippet'];\n\n // add a class based on the @color argument\n classes.push(`hds-copy-snippet--color-${this.color}`);\n\n // add a class based on the tracked status (idle/success/error)\n classes.push(`hds-copy-snippet--status-${this.status}`);\n\n // add a class based on the @isTruncated argument\n if (this.isTruncated) {\n classes.push('hds-copy-snippet--is-truncated');\n }\n\n // add a class based on the @isFullWidth argument\n if (this.isFullWidth) {\n classes.push('hds-copy-snippet--width-full');\n }\n\n return classes.join(' ');\n }\n\n @action\n onSuccess(args) {\n this.status = 'success';\n this.resetStatusDelayed();\n\n let { onSuccess } = this.args;\n\n if (typeof onSuccess === 'function') {\n onSuccess(args);\n }\n }\n\n @action\n onError(args) {\n this.status = 'error';\n this.resetStatusDelayed();\n\n let { onError } = this.args;\n\n if (typeof onError === 'function') {\n onError(args);\n }\n }\n\n resetStatusDelayed() {\n clearTimeout(this.timer);\n // make it fade back to the default state\n this.timer = setTimeout(() => {\n this.status = DEFAULT_STATUS;\n }, 1500);\n }\n}\n"],"names":["DEFAULT_COLOR","COLORS","DEFAULT_ICON","SUCCESS_ICON","ERROR_ICON","DEFAULT_STATUS","HdsCopySnippetIndexComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","icon","status","color","assert","join","includes","isFullWidth","isTruncated","classNames","classes","push","onSuccess","resetStatusDelayed","onError","clearTimeout","timer","setTimeout","_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/copy/snippet/index.hbs","../../../../../src/components/hds/copy/snippet/index.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<button\\n type=\\\"button\\\"\\n class={{this.classNames}}\\n {{hds-clipboard text=@textToCopy onSuccess=this.onSuccess onError=this.onError}}\\n aria-label={{concat \\\"copy \\\" @textToCopy}}\\n ...attributes\\n>\\n <Hds::Text::Code class=\\\"hds-copy-snippet__text\\\" @tag=\\\"span\\\" @size=\\\"100\\\">\\n {{@textToCopy}}\\n </Hds::Text::Code>\\n <FlightIcon @name={{this.icon}} class=\\\"hds-copy-snippet__icon\\\" />\\n</button>\")","/**\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 { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\n\nexport const DEFAULT_COLOR = 'primary';\nexport const COLORS = ['primary', 'secondary'];\nexport const DEFAULT_ICON = 'clipboard-copy';\nexport const SUCCESS_ICON = 'clipboard-checked';\nexport const ERROR_ICON = 'clipboard-x';\nexport const DEFAULT_STATUS = 'idle';\n\nexport default class HdsCopySnippetIndexComponent extends Component {\n @tracked status = DEFAULT_STATUS;\n @tracked timer;\n\n /**\n * @param icon\n * @type {string}\n * @default DEFAULT_ICON\n * @description Determines the icon to be used, based on the success state. Note that this is auto-tracked because it depends on a tracked property (status).\n */\n get icon() {\n let icon = DEFAULT_ICON;\n if (this.status === 'success') {\n icon = SUCCESS_ICON;\n } else if (this.status === 'error') {\n icon = ERROR_ICON;\n }\n return icon;\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` and `secondary`\n */\n get color() {\n let { color = DEFAULT_COLOR } = this.args;\n\n assert(\n `@color for \"Hds::Copy::Snippet\" 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 * @param isFullWidth\n * @type {boolean}\n * @default false\n * @description Indicates that the component should take up the full width of the parent container.\n */\n get isFullWidth() {\n return this.args.isFullWidth ?? false;\n }\n\n /**\n * @param isTruncated\n * @type {boolean}\n * @default false\n * @description Indicates that the component should be truncated instead of wrapping text and using multiple lines.\n */\n get isTruncated() {\n return this.args.isTruncated ?? false;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method CopySnippet#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-copy-snippet'];\n\n // add a class based on the @color argument\n classes.push(`hds-copy-snippet--color-${this.color}`);\n\n // add a class based on the tracked status (idle/success/error)\n classes.push(`hds-copy-snippet--status-${this.status}`);\n\n // add a class based on the @isTruncated argument\n if (this.isTruncated) {\n classes.push('hds-copy-snippet--is-truncated');\n }\n\n // add a class based on the @isFullWidth argument\n if (this.isFullWidth) {\n classes.push('hds-copy-snippet--width-full');\n }\n\n return classes.join(' ');\n }\n\n @action\n onSuccess(args) {\n this.status = 'success';\n this.resetStatusDelayed();\n\n let { onSuccess } = this.args;\n\n if (typeof onSuccess === 'function') {\n onSuccess(args);\n }\n }\n\n @action\n onError(args) {\n this.status = 'error';\n this.resetStatusDelayed();\n\n let { onError } = this.args;\n\n if (typeof onError === 'function') {\n onError(args);\n }\n }\n\n resetStatusDelayed() {\n clearTimeout(this.timer);\n // make it fade back to the default state\n this.timer = setTimeout(() => {\n this.status = DEFAULT_STATUS;\n }, 1500);\n }\n}\n"],"names":["DEFAULT_COLOR","COLORS","DEFAULT_ICON","SUCCESS_ICON","ERROR_ICON","DEFAULT_STATUS","HdsCopySnippetIndexComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","icon","status","color","assert","join","includes","isFullWidth","isTruncated","classNames","classes","push","onSuccess","resetStatusDelayed","onError","clearTimeout","timer","setTimeout","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { a as _applyDecoratedDescriptor, b as _initializerDefineProperty } from '../../../_rollupPluginBabelHelpers-lqPQKyNs.js';
1
+ import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty } from '../../../_rollupPluginBabelHelpers-NoJJJNhk.js';
2
2
  import Component from '@glimmer/component';
3
3
  import { tracked } from '@glimmer/tracking';
4
4
  import { action } from '@ember/object';
@@ -6,7 +6,7 @@ import { schedule } from '@ember/runloop';
6
6
  import { precompileTemplate } from '@ember/template-compilation';
7
7
  import { setComponentTemplate } from '@ember/component';
8
8
 
9
- var TEMPLATE = precompileTemplate("{{! @glint-nocheck: not typesafe yet }}\n{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<div class=\"hds-disclosure-primitive\" ...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>");
9
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<div class=\"hds-disclosure-primitive\" ...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>");
10
10
 
11
11
  var _class, _descriptor;
12
12
  let HdsDisclosurePrimitiveComponent = (_class = class HdsDisclosurePrimitiveComponent extends Component {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/disclosure-primitive/index.hbs","../../../../src/components/hds/disclosure-primitive/index.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class=\\\"hds-disclosure-primitive\\\" ...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 default class HdsDisclosurePrimitiveComponent extends Component {\n @tracked isOpen = this.args.isOpen ?? false;\n\n @action\n onClickToggle() {\n this.isOpen = !this.isOpen;\n }\n\n @action\n close() {\n // we schedule this afterRender to avoid an error in tests caused by updating `isOpen` multiple times in the same computation\n schedule('afterRender', () => {\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":["HdsDisclosurePrimitiveComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","onClickToggle","isOpen","close","schedule","onClose","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AACA,eAAe,kBAAkB,CAAC,0eAA0e;;;ACSvfA,IAAAA,+BAA+B,IAAAC,MAAA,GAArC,MAAMD,+BAA+B,SAASE,SAAS,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAAAC,IAAAA,0BAAA,iBAAAC,WAAA,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA;AAIrEC,EAAAA,aAAaA,GAAG;AACd,IAAA,IAAI,CAACC,MAAM,GAAG,CAAC,IAAI,CAACA,MAAM,CAAA;AAC5B,GAAA;AAGAC,EAAAA,KAAKA,GAAG;AACN;IACAC,QAAQ,CAAC,aAAa,EAAE,MAAM;MAC5B,IAAI,CAACF,MAAM,GAAG,KAAK,CAAA;AACnB;AACA,MAAA,IAAI,IAAI,CAACJ,IAAI,CAACO,OAAO,IAAI,OAAO,IAAI,CAACP,IAAI,CAACO,OAAO,KAAK,UAAU,EAAE;AAChE,QAAA,IAAI,CAACP,IAAI,CAACO,OAAO,EAAE,CAAA;AACrB,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;AACF,CAAC,GAAAL,WAAA,GAAAM,yBAAA,CAAAX,MAAA,CAAAY,SAAA,EAAA,QAAA,EAAA,CAlBEC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;AAAAC,EAAAA,WAAA,cAAA;AAAA,IAAA,OAAU,IAAI,CAACd,IAAI,CAACI,MAAM,IAAI,KAAK,CAAA;AAAA,GAAA;AAAA,CAAA,CAAA,EAAAI,yBAAA,CAAAX,MAAA,CAAAY,SAAA,EAAA,eAAA,EAAA,CAE1CM,MAAM,CAAAC,EAAAA,MAAA,CAAAC,wBAAA,CAAApB,MAAA,CAAAY,SAAA,EAAAZ,eAAAA,CAAAA,EAAAA,MAAA,CAAAY,SAAA,CAAA,EAAAD,yBAAA,CAAAX,MAAA,CAAAY,SAAA,YAKNM,MAAM,CAAA,EAAAC,MAAA,CAAAC,wBAAA,CAAApB,MAAA,CAAAY,SAAA,EAAA,OAAA,CAAA,EAAAZ,MAAA,CAAAY,SAAA,IAAAZ,MAAA,EAAA;AAR2CqB,oBAAA,CAAAC,QAAA,EAAAvB,+BAAA,CAAA;;;;"}
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\\\" ...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 };\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 HdsDisclosurePrimitiveComponent extends Component<HdsDisclosurePrimitiveSignature> {\n @tracked isOpen = this.args.isOpen ?? false;\n\n @action\n onClickToggle() {\n this.isOpen = !this.isOpen;\n }\n\n @action\n close() {\n // we schedule this afterRender to avoid an error in tests caused by updating `isOpen` multiple times in the same computation\n schedule('afterRender', () => {\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":["HdsDisclosurePrimitiveComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","onClickToggle","isOpen","close","schedule","onClose","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AACA,eAAe,kBAAkB,CAAC,icAAic;;;ACiC9cA,IAAAA,+BAA+B,IAAAC,MAAA,GAArC,MAAMD,+BAA+B,SAASE,SAAS,CAAkC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAAAC,IAAAA,0BAAA,iBAAAC,WAAA,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA;AAItGC,EAAAA,aAAaA,GAAG;AACd,IAAA,IAAI,CAACC,MAAM,GAAG,CAAC,IAAI,CAACA,MAAM,CAAA;AAC5B,GAAA;AAGAC,EAAAA,KAAKA,GAAG;AACN;IACAC,QAAQ,CAAC,aAAa,EAAE,MAAM;MAC5B,IAAI,CAACF,MAAM,GAAG,KAAK,CAAA;AACnB;AACA,MAAA,IAAI,IAAI,CAACJ,IAAI,CAACO,OAAO,IAAI,OAAO,IAAI,CAACP,IAAI,CAACO,OAAO,KAAK,UAAU,EAAE;AAChE,QAAA,IAAI,CAACP,IAAI,CAACO,OAAO,EAAE,CAAA;AACrB,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;AACF,CAAC,GAAAL,WAAA,GAAAM,yBAAA,CAAAX,MAAA,CAAAY,SAAA,EAAA,QAAA,EAAA,CAlBEC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;AAAAC,EAAAA,WAAA,cAAA;AAAA,IAAA,OAAU,IAAI,CAACd,IAAI,CAACI,MAAM,IAAI,KAAK,CAAA;AAAA,GAAA;AAAA,CAAA,CAAA,EAAAI,yBAAA,CAAAX,MAAA,CAAAY,SAAA,EAAA,eAAA,EAAA,CAE1CM,MAAM,CAAAC,EAAAA,MAAA,CAAAC,wBAAA,CAAApB,MAAA,CAAAY,SAAA,EAAAZ,eAAAA,CAAAA,EAAAA,MAAA,CAAAY,SAAA,CAAA,EAAAD,yBAAA,CAAAX,MAAA,CAAAY,SAAA,YAKNM,MAAM,CAAA,EAAAC,MAAA,CAAAC,wBAAA,CAAApB,MAAA,CAAAY,SAAA,EAAA,OAAA,CAAA,EAAAZ,MAAA,CAAAY,SAAA,IAAAZ,MAAA,EAAA;AAR2CqB,oBAAA,CAAAC,QAAA,EAA/BvB,+BAA+B,CAAA;;;;"}
@@ -9,7 +9,7 @@ var TEMPLATE = precompileTemplate("{{! @glint-nocheck: not typesafe yet }}\n{{!\
9
9
  * SPDX-License-Identifier: MPL-2.0
10
10
  */
11
11
 
12
- class HdsDismissButtonIndexComponent extends Component {
12
+ class HdsDismissButtonComponent extends Component {
13
13
  /**
14
14
  * @param ariaLabel
15
15
  * @type {string}
@@ -19,7 +19,7 @@ class HdsDismissButtonIndexComponent extends Component {
19
19
  return this.args.ariaLabel ?? 'Dismiss';
20
20
  }
21
21
  }
22
- setComponentTemplate(TEMPLATE, HdsDismissButtonIndexComponent);
22
+ setComponentTemplate(TEMPLATE, HdsDismissButtonComponent);
23
23
 
24
- export { HdsDismissButtonIndexComponent as default };
24
+ export { HdsDismissButtonComponent as default };
25
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/dismiss-button/index.hbs","../../../../src/components/hds/dismiss-button/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<button class=\\\"hds-dismiss-button\\\" type=\\\"button\\\" aria-label={{this.ariaLabel}} ...attributes>\\n <FlightIcon @name=\\\"x\\\" @size=\\\"16\\\" @isInlineBlock={{false}} />\\n</button>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nexport interface HdsDismissButtonSignature {\n Args: {\n ariaLabel?: string;\n },\n Element: HTMLButtonElement;\n}\n\nexport default class HdsDismissButtonIndexComponent extends Component<HdsDismissButtonSignature> {\n /**\n * @param ariaLabel\n * @type {string}\n * @default 'Dismiss'\n */\n get ariaLabel() {\n return this.args.ariaLabel ?? 'Dismiss';\n }\n}\n"],"names":["HdsDismissButtonIndexComponent","Component","ariaLabel","args","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,ySAAyS;;ACD3U;AACA;AACA;AACA;;AAWe,MAAMA,8BAA8B,SAASC,SAAS,CAA4B;AAC/F;AACF;AACA;AACA;AACA;EACE,IAAIC,SAASA,GAAG;AACd,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,SAAS,IAAI,SAAS,CAAA;AACzC,GAAA;AACF,CAAA;AAACE,oBAAA,CAAAC,QAAA,EAToBL,8BAA8B,CAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/dismiss-button/index.hbs","../../../../src/components/hds/dismiss-button/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<button class=\\\"hds-dismiss-button\\\" type=\\\"button\\\" aria-label={{this.ariaLabel}} ...attributes>\\n <FlightIcon @name=\\\"x\\\" @size=\\\"16\\\" @isInlineBlock={{false}} />\\n</button>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nexport interface HdsDismissButtonSignature {\n Args: {\n ariaLabel?: string;\n };\n Element: HTMLButtonElement;\n}\n\nexport default class HdsDismissButtonComponent extends Component<HdsDismissButtonSignature> {\n /**\n * @param ariaLabel\n * @type {string}\n * @default 'Dismiss'\n */\n get ariaLabel() {\n return this.args.ariaLabel ?? 'Dismiss';\n }\n}\n"],"names":["HdsDismissButtonComponent","Component","ariaLabel","args","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,ySAAyS;;ACD3U;AACA;AACA;AACA;;AAWe,MAAMA,yBAAyB,SAASC,SAAS,CAA4B;AAC1F;AACF;AACA;AACA;AACA;EACE,IAAIC,SAASA,GAAG;AACd,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,SAAS,IAAI,SAAS,CAAA;AACzC,GAAA;AACF,CAAA;AAACE,oBAAA,CAAAC,QAAA,EAToBL,yBAAyB,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import { a as _applyDecoratedDescriptor } from '../../../_rollupPluginBabelHelpers-lqPQKyNs.js';
1
+ import { _ as _applyDecoratedDescriptor } from '../../../_rollupPluginBabelHelpers-NoJJJNhk.js';
2
2
  import Component from '@glimmer/component';
3
3
  import { action } from '@ember/object';
4
4
  import { assert } from '@ember/debug';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/dropdown/index.hbs","../../../../src/components/hds/dropdown/index.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<Hds::MenuPrimitive class={{this.classNames}} @onClose={{@onClose}} ...attributes>\\n <:toggle as |t|>\\n {{yield\\n (hash\\n ToggleButton=(component \\\"hds/dropdown/toggle/button\\\" isOpen=t.isOpen onClick=t.onClickToggle)\\n ToggleIcon=(component \\\"hds/dropdown/toggle/icon\\\" isOpen=t.isOpen onClick=t.onClickToggle)\\n )\\n }}\\n </:toggle>\\n <:content as |c|>\\n <div class={{this.classNamesContent}} {{style width=@width max-height=@height}}>\\n {{yield (hash Header=(component \\\"hds/dropdown/header\\\"))}}\\n <ul class=\\\"hds-dropdown__list\\\" {{did-insert this.didInsertList}}>\\n {{yield\\n (hash\\n close=c.close\\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=c.close Footer=(component \\\"hds/dropdown/footer\\\"))}}\\n </div>\\n </:content>\\n</Hds::MenuPrimitive>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\n\nexport const DEFAULT_POSITION = 'bottom-right';\nexport const POSITIONS = [\n 'bottom-left',\n 'bottom-right',\n 'top-left',\n 'top-right',\n];\n\nexport default class HdsDropdownIndexComponent extends Component {\n /**\n * @param listPosition\n * @type {string}\n * @default bottom-right\n * @description Determines the position of the \"list\"\n */\n get listPosition() {\n let { listPosition = DEFAULT_POSITION } = this.args;\n\n assert(\n `@listPosition for \"Hds::Dropdown::Index\" must be one of the following: ${POSITIONS.join(\n ', '\n )}; received: ${listPosition}`,\n POSITIONS.includes(listPosition)\n );\n\n return listPosition;\n }\n\n /**\n * Get the class names to apply to the element\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the root element\n */\n get classNames() {\n let classes = ['hds-dropdown'];\n\n // add a class based on the @isInline argument\n if (this.args.isInline) {\n classes.push('hds-dropdown--is-inline');\n }\n\n return classes.join(' ');\n }\n\n /**\n * Get the class names to apply to the content\n * @method classNamesContent\n * @return {string} The \"class\" attribute to apply to the disclosed content\n */\n get classNamesContent() {\n let classes = ['hds-dropdown__content'];\n\n // add a class based on the @listPosition argument\n classes.push(`hds-dropdown__content--position-${this.listPosition}`);\n\n // add a class based on the @width argument\n if (this.args.width) {\n classes.push('hds-dropdown__content--fixed-width');\n }\n\n return classes.join(' ');\n }\n\n @action\n didInsertList(element) {\n const checkmarkItems = element.querySelectorAll(`[role=\"option\"]`);\n if (checkmarkItems.length) {\n const toggleButtonId = element\n .closest('.hds-dropdown')\n ?.querySelector('.hds-dropdown-toggle-button')\n ?.getAttribute('id');\n element.setAttribute('role', 'listbox');\n element.setAttribute('aria-labelledby', toggleButtonId);\n }\n }\n}\n"],"names":["DEFAULT_POSITION","POSITIONS","HdsDropdownIndexComponent","_class","Component","listPosition","args","assert","join","includes","classNames","classes","isInline","push","classNamesContent","width","didInsertList","element","checkmarkItems","querySelectorAll","length","toggleButtonId","closest","querySelector","getAttribute","setAttribute","_applyDecoratedDescriptor","prototype","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AACA,eAAe,kBAAkB,CAAC,8jDAA8jD;;;ACQzlD,MAAMA,gBAAgB,GAAG,eAAc;AACvC,MAAMC,SAAS,GAAG,CACvB,aAAa,EACb,cAAc,EACd,UAAU,EACV,WAAW,EACZ;AAEoBC,IAAAA,yBAAyB,IAAAC,MAAA,GAA/B,MAAMD,yBAAyB,SAASE,SAAS,CAAC;AAC/D;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,YAAYA,GAAG;IACjB,IAAI;AAAEA,MAAAA,YAAY,GAAGL,gBAAAA;KAAkB,GAAG,IAAI,CAACM,IAAI,CAAA;AAEnDC,IAAAA,MAAM,CACH,CAAyEN,uEAAAA,EAAAA,SAAS,CAACO,IAAI,CACtF,IACF,CAAE,CAAA,YAAA,EAAcH,YAAa,CAAA,CAAC,EAC9BJ,SAAS,CAACQ,QAAQ,CAACJ,YAAY,CACjC,CAAC,CAAA;AAED,IAAA,OAAOA,YAAY,CAAA;AACrB,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIK,UAAUA,GAAG;AACf,IAAA,IAAIC,OAAO,GAAG,CAAC,cAAc,CAAC,CAAA;;AAE9B;AACA,IAAA,IAAI,IAAI,CAACL,IAAI,CAACM,QAAQ,EAAE;AACtBD,MAAAA,OAAO,CAACE,IAAI,CAAC,yBAAyB,CAAC,CAAA;AACzC,KAAA;AAEA,IAAA,OAAOF,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIM,iBAAiBA,GAAG;AACtB,IAAA,IAAIH,OAAO,GAAG,CAAC,uBAAuB,CAAC,CAAA;;AAEvC;IACAA,OAAO,CAACE,IAAI,CAAE,CAAA,gCAAA,EAAkC,IAAI,CAACR,YAAa,EAAC,CAAC,CAAA;;AAEpE;AACA,IAAA,IAAI,IAAI,CAACC,IAAI,CAACS,KAAK,EAAE;AACnBJ,MAAAA,OAAO,CAACE,IAAI,CAAC,oCAAoC,CAAC,CAAA;AACpD,KAAA;AAEA,IAAA,OAAOF,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;EAGAQ,aAAaA,CAACC,OAAO,EAAE;AACrB,IAAA,MAAMC,cAAc,GAAGD,OAAO,CAACE,gBAAgB,CAAE,iBAAgB,CAAC,CAAA;IAClE,IAAID,cAAc,CAACE,MAAM,EAAE;AACzB,MAAA,MAAMC,cAAc,GAAGJ,OAAO,CAC3BK,OAAO,CAAC,eAAe,CAAC,EACvBC,aAAa,CAAC,6BAA6B,CAAC,EAC5CC,YAAY,CAAC,IAAI,CAAC,CAAA;AACtBP,MAAAA,OAAO,CAACQ,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AACvCR,MAAAA,OAAO,CAACQ,YAAY,CAAC,iBAAiB,EAAEJ,cAAc,CAAC,CAAA;AACzD,KAAA;AACF,GAAA;AACF,CAAC,GAAAK,yBAAA,CAAAvB,MAAA,CAAAwB,SAAA,EAAA,eAAA,EAAA,CAZEC,MAAM,CAAAC,EAAAA,MAAA,CAAAC,wBAAA,CAAA3B,MAAA,CAAAwB,SAAA,oBAAAxB,MAAA,CAAAwB,SAAA,CAAA,GAAAxB,MAAA,EAAA;AAvDqC4B,oBAAA,CAAAC,QAAA,EAAA9B,yBAAA,CAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/dropdown/index.hbs","../../../../src/components/hds/dropdown/index.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<Hds::MenuPrimitive class={{this.classNames}} @onClose={{@onClose}} ...attributes>\\n <:toggle as |t|>\\n {{yield\\n (hash\\n ToggleButton=(component \\\"hds/dropdown/toggle/button\\\" isOpen=t.isOpen onClick=t.onClickToggle)\\n ToggleIcon=(component \\\"hds/dropdown/toggle/icon\\\" isOpen=t.isOpen onClick=t.onClickToggle)\\n )\\n }}\\n </:toggle>\\n <:content as |c|>\\n <div class={{this.classNamesContent}} {{style width=@width max-height=@height}}>\\n {{yield (hash Header=(component \\\"hds/dropdown/header\\\"))}}\\n <ul class=\\\"hds-dropdown__list\\\" {{did-insert this.didInsertList}}>\\n {{yield\\n (hash\\n close=c.close\\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=c.close Footer=(component \\\"hds/dropdown/footer\\\"))}}\\n </div>\\n </:content>\\n</Hds::MenuPrimitive>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\n\nexport const DEFAULT_POSITION = 'bottom-right';\nexport const POSITIONS = [\n 'bottom-left',\n 'bottom-right',\n 'top-left',\n 'top-right',\n];\n\nexport default class HdsDropdownIndexComponent extends Component {\n /**\n * @param listPosition\n * @type {string}\n * @default bottom-right\n * @description Determines the position of the \"list\"\n */\n get listPosition() {\n let { listPosition = DEFAULT_POSITION } = this.args;\n\n assert(\n `@listPosition for \"Hds::Dropdown::Index\" must be one of the following: ${POSITIONS.join(\n ', '\n )}; received: ${listPosition}`,\n POSITIONS.includes(listPosition)\n );\n\n return listPosition;\n }\n\n /**\n * Get the class names to apply to the element\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the root element\n */\n get classNames() {\n let classes = ['hds-dropdown'];\n\n // add a class based on the @isInline argument\n if (this.args.isInline) {\n classes.push('hds-dropdown--is-inline');\n }\n\n return classes.join(' ');\n }\n\n /**\n * Get the class names to apply to the content\n * @method classNamesContent\n * @return {string} The \"class\" attribute to apply to the disclosed content\n */\n get classNamesContent() {\n let classes = ['hds-dropdown__content'];\n\n // add a class based on the @listPosition argument\n classes.push(`hds-dropdown__content--position-${this.listPosition}`);\n\n // add a class based on the @width argument\n if (this.args.width) {\n classes.push('hds-dropdown__content--fixed-width');\n }\n\n return classes.join(' ');\n }\n\n @action\n didInsertList(element) {\n const checkmarkItems = element.querySelectorAll(`[role=\"option\"]`);\n if (checkmarkItems.length) {\n const toggleButtonId = element\n .closest('.hds-dropdown')\n ?.querySelector('.hds-dropdown-toggle-button')\n ?.getAttribute('id');\n element.setAttribute('role', 'listbox');\n element.setAttribute('aria-labelledby', toggleButtonId);\n }\n }\n}\n"],"names":["DEFAULT_POSITION","POSITIONS","HdsDropdownIndexComponent","_class","Component","listPosition","args","assert","join","includes","classNames","classes","isInline","push","classNamesContent","width","didInsertList","element","checkmarkItems","querySelectorAll","length","toggleButtonId","closest","querySelector","getAttribute","setAttribute","_applyDecoratedDescriptor","prototype","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AACA,eAAe,kBAAkB,CAAC,8jDAA8jD;;;ACQzlD,MAAMA,gBAAgB,GAAG,eAAc;AACvC,MAAMC,SAAS,GAAG,CACvB,aAAa,EACb,cAAc,EACd,UAAU,EACV,WAAW,EACZ;AAEoBC,IAAAA,yBAAyB,IAAAC,MAAA,GAA/B,MAAMD,yBAAyB,SAASE,SAAS,CAAC;AAC/D;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,YAAYA,GAAG;IACjB,IAAI;AAAEA,MAAAA,YAAY,GAAGL,gBAAAA;KAAkB,GAAG,IAAI,CAACM,IAAI,CAAA;AAEnDC,IAAAA,MAAM,CACH,CAAyEN,uEAAAA,EAAAA,SAAS,CAACO,IAAI,CACtF,IACF,CAAE,CAAA,YAAA,EAAcH,YAAa,CAAA,CAAC,EAC9BJ,SAAS,CAACQ,QAAQ,CAACJ,YAAY,CACjC,CAAC,CAAA;AAED,IAAA,OAAOA,YAAY,CAAA;AACrB,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIK,UAAUA,GAAG;AACf,IAAA,IAAIC,OAAO,GAAG,CAAC,cAAc,CAAC,CAAA;;AAE9B;AACA,IAAA,IAAI,IAAI,CAACL,IAAI,CAACM,QAAQ,EAAE;AACtBD,MAAAA,OAAO,CAACE,IAAI,CAAC,yBAAyB,CAAC,CAAA;AACzC,KAAA;AAEA,IAAA,OAAOF,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIM,iBAAiBA,GAAG;AACtB,IAAA,IAAIH,OAAO,GAAG,CAAC,uBAAuB,CAAC,CAAA;;AAEvC;IACAA,OAAO,CAACE,IAAI,CAAE,CAAA,gCAAA,EAAkC,IAAI,CAACR,YAAa,EAAC,CAAC,CAAA;;AAEpE;AACA,IAAA,IAAI,IAAI,CAACC,IAAI,CAACS,KAAK,EAAE;AACnBJ,MAAAA,OAAO,CAACE,IAAI,CAAC,oCAAoC,CAAC,CAAA;AACpD,KAAA;AAEA,IAAA,OAAOF,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;EAGAQ,aAAaA,CAACC,OAAO,EAAE;AACrB,IAAA,MAAMC,cAAc,GAAGD,OAAO,CAACE,gBAAgB,CAAE,iBAAgB,CAAC,CAAA;IAClE,IAAID,cAAc,CAACE,MAAM,EAAE;AACzB,MAAA,MAAMC,cAAc,GAAGJ,OAAO,CAC3BK,OAAO,CAAC,eAAe,CAAC,EACvBC,aAAa,CAAC,6BAA6B,CAAC,EAC5CC,YAAY,CAAC,IAAI,CAAC,CAAA;AACtBP,MAAAA,OAAO,CAACQ,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AACvCR,MAAAA,OAAO,CAACQ,YAAY,CAAC,iBAAiB,EAAEJ,cAAc,CAAC,CAAA;AACzD,KAAA;AACF,GAAA;AACF,CAAC,GAAAK,yBAAA,CAAAvB,MAAA,CAAAwB,SAAA,EAAA,eAAA,EAAA,CAZEC,MAAM,CAAAC,EAAAA,MAAA,CAAAC,wBAAA,CAAA3B,MAAA,CAAAwB,SAAA,oBAAAxB,MAAA,CAAAwB,SAAA,CAAA,GAAAxB,MAAA,EAAA;AAvDqC4B,oBAAA,CAAAC,QAAA,EAAzB9B,yBAAyB,CAAA;;;;"}
@@ -2,7 +2,7 @@ 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("{{! @glint-nocheck: not typesafe yet }}\n{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n{{! template-lint-disable no-invalid-role require-context-role require-presentational-children }}\n<li class={{this.classNames}} role=\"none\">\n <Hds::Interactive\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 class=\"hds-dropdown-list-item__interactive\"\n ...attributes\n role=\"option\"\n aria-selected={{if @selected \"true\" \"false\"}}\n >\n {{#if @icon}}\n <span class=\"hds-dropdown-list-item__interactive-icon\">\n <FlightIcon @name={{@icon}} @isInlineBlock={{false}} />\n </span>\n {{/if}}\n <Hds::Text::Body @tag=\"span\" @size=\"200\" @weight=\"medium\" class=\"hds-dropdown-list-item__interactive-text\">\n {{yield}}\n </Hds::Text::Body>\n {{#if @count}}\n <Hds::Text::Body\n class=\"hds-dropdown-list-item__count\"\n @tag=\"span\"\n @size=\"100\"\n @weight=\"medium\"\n @color=\"faint\"\n >{{@count}}</Hds::Text::Body>\n {{/if}}\n <span class=\"hds-dropdown-list-item__checkmark\">\n {{#if @selected}}\n <FlightIcon class=\"hds-dropdown-list-item__checkmark-icon\" @name=\"check\" @isInlineBlock={{false}} />\n {{/if}}\n </span>\n </Hds::Interactive>\n</li>\n{{! template-lint-enable no-invalid-role require-context-role require-presentational-children }}");
5
+ var TEMPLATE = precompileTemplate("{{! @glint-nocheck: not typesafe yet }}\n{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n{{! template-lint-disable no-invalid-role require-context-role require-presentational-children }}\n<li class={{this.classNames}} role=\"none\">\n <Hds::Interactive\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 class=\"hds-dropdown-list-item__interactive\"\n ...attributes\n role=\"option\"\n aria-selected={{if @selected \"true\" \"false\"}}\n >\n {{#if @icon}}\n <span class=\"hds-dropdown-list-item__interactive-icon hds-dropdown-list-item__interactive-icon--leading\">\n <FlightIcon @name={{@icon}} @isInlineBlock={{false}} />\n </span>\n {{/if}}\n <Hds::Text::Body @tag=\"span\" @size=\"200\" @weight=\"medium\" class=\"hds-dropdown-list-item__interactive-text\">\n {{yield}}\n </Hds::Text::Body>\n {{#if @count}}\n <Hds::Text::Body\n class=\"hds-dropdown-list-item__count\"\n @tag=\"span\"\n @size=\"100\"\n @weight=\"medium\"\n @color=\"faint\"\n >{{@count}}</Hds::Text::Body>\n {{/if}}\n <span class=\"hds-dropdown-list-item__checkmark\">\n {{#if @selected}}\n <FlightIcon class=\"hds-dropdown-list-item__checkmark-icon\" @name=\"check\" @isInlineBlock={{false}} />\n {{/if}}\n </span>\n </Hds::Interactive>\n</li>\n{{! template-lint-enable no-invalid-role require-context-role require-presentational-children }}");
6
6
 
7
7
  /**
8
8
  * Copyright (c) HashiCorp, Inc.
@@ -1 +1 @@
1
- {"version":3,"file":"checkmark.js","sources":["../../../../../src/components/hds/dropdown/list-item/checkmark.hbs","../../../../../src/components/hds/dropdown/list-item/checkmark.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n{{! template-lint-disable no-invalid-role require-context-role require-presentational-children }}\\n<li class={{this.classNames}} role=\\\"none\\\">\\n <Hds::Interactive\\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 class=\\\"hds-dropdown-list-item__interactive\\\"\\n ...attributes\\n role=\\\"option\\\"\\n aria-selected={{if @selected \\\"true\\\" \\\"false\\\"}}\\n >\\n {{#if @icon}}\\n <span class=\\\"hds-dropdown-list-item__interactive-icon\\\">\\n <FlightIcon @name={{@icon}} @isInlineBlock={{false}} />\\n </span>\\n {{/if}}\\n <Hds::Text::Body @tag=\\\"span\\\" @size=\\\"200\\\" @weight=\\\"medium\\\" class=\\\"hds-dropdown-list-item__interactive-text\\\">\\n {{yield}}\\n </Hds::Text::Body>\\n {{#if @count}}\\n <Hds::Text::Body\\n class=\\\"hds-dropdown-list-item__count\\\"\\n @tag=\\\"span\\\"\\n @size=\\\"100\\\"\\n @weight=\\\"medium\\\"\\n @color=\\\"faint\\\"\\n >{{@count}}</Hds::Text::Body>\\n {{/if}}\\n <span class=\\\"hds-dropdown-list-item__checkmark\\\">\\n {{#if @selected}}\\n <FlightIcon class=\\\"hds-dropdown-list-item__checkmark-icon\\\" @name=\\\"check\\\" @isInlineBlock={{false}} />\\n {{/if}}\\n </span>\\n </Hds::Interactive>\\n</li>\\n{{! template-lint-enable no-invalid-role require-context-role require-presentational-children }}\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nexport default class HdsDropdownListItemCheckmarkComponent extends Component {\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = [\n 'hds-dropdown-list-item',\n 'hds-dropdown-list-item--color-action',\n 'hds-dropdown-list-item--variant-checkmark',\n ];\n\n // add a class based on the @selected argument\n if (this.args.selected) {\n classes.push('hds-dropdown-list-item--variant-checkmark-selected');\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["HdsDropdownListItemCheckmarkComponent","Component","classNames","classes","args","selected","push","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,unDAAunD;;ACDzpD;AACA;AACA;AACA;;AAIe,MAAMA,qCAAqC,SAASC,SAAS,CAAC;AAC3E;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAG;IACf,IAAIC,OAAO,GAAG,CACZ,wBAAwB,EACxB,sCAAsC,EACtC,2CAA2C,CAC5C,CAAA;;AAED;AACA,IAAA,IAAI,IAAI,CAACC,IAAI,CAACC,QAAQ,EAAE;AACtBF,MAAAA,OAAO,CAACG,IAAI,CAAC,oDAAoD,CAAC,CAAA;AACpE,KAAA;AAEA,IAAA,OAAOH,OAAO,CAACI,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACC,oBAAA,CAAAC,QAAA,EApBoBT,qCAAqC,CAAA;;;;"}
1
+ {"version":3,"file":"checkmark.js","sources":["../../../../../src/components/hds/dropdown/list-item/checkmark.hbs","../../../../../src/components/hds/dropdown/list-item/checkmark.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n{{! template-lint-disable no-invalid-role require-context-role require-presentational-children }}\\n<li class={{this.classNames}} role=\\\"none\\\">\\n <Hds::Interactive\\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 class=\\\"hds-dropdown-list-item__interactive\\\"\\n ...attributes\\n role=\\\"option\\\"\\n aria-selected={{if @selected \\\"true\\\" \\\"false\\\"}}\\n >\\n {{#if @icon}}\\n <span class=\\\"hds-dropdown-list-item__interactive-icon hds-dropdown-list-item__interactive-icon--leading\\\">\\n <FlightIcon @name={{@icon}} @isInlineBlock={{false}} />\\n </span>\\n {{/if}}\\n <Hds::Text::Body @tag=\\\"span\\\" @size=\\\"200\\\" @weight=\\\"medium\\\" class=\\\"hds-dropdown-list-item__interactive-text\\\">\\n {{yield}}\\n </Hds::Text::Body>\\n {{#if @count}}\\n <Hds::Text::Body\\n class=\\\"hds-dropdown-list-item__count\\\"\\n @tag=\\\"span\\\"\\n @size=\\\"100\\\"\\n @weight=\\\"medium\\\"\\n @color=\\\"faint\\\"\\n >{{@count}}</Hds::Text::Body>\\n {{/if}}\\n <span class=\\\"hds-dropdown-list-item__checkmark\\\">\\n {{#if @selected}}\\n <FlightIcon class=\\\"hds-dropdown-list-item__checkmark-icon\\\" @name=\\\"check\\\" @isInlineBlock={{false}} />\\n {{/if}}\\n </span>\\n </Hds::Interactive>\\n</li>\\n{{! template-lint-enable no-invalid-role require-context-role require-presentational-children }}\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nexport default class HdsDropdownListItemCheckmarkComponent extends Component {\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = [\n 'hds-dropdown-list-item',\n 'hds-dropdown-list-item--color-action',\n 'hds-dropdown-list-item--variant-checkmark',\n ];\n\n // add a class based on the @selected argument\n if (this.args.selected) {\n classes.push('hds-dropdown-list-item--variant-checkmark-selected');\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["HdsDropdownListItemCheckmarkComponent","Component","classNames","classes","args","selected","push","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,yqDAAyqD;;ACD3sD;AACA;AACA;AACA;;AAIe,MAAMA,qCAAqC,SAASC,SAAS,CAAC;AAC3E;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAG;IACf,IAAIC,OAAO,GAAG,CACZ,wBAAwB,EACxB,sCAAsC,EACtC,2CAA2C,CAC5C,CAAA;;AAED;AACA,IAAA,IAAI,IAAI,CAACC,IAAI,CAACC,QAAQ,EAAE;AACtBF,MAAAA,OAAO,CAACG,IAAI,CAAC,oDAAoD,CAAC,CAAA;AACpE,KAAA;AAEA,IAAA,OAAOH,OAAO,CAACI,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACC,oBAAA,CAAAC,QAAA,EApBoBT,qCAAqC,CAAA;;;;"}
@@ -3,7 +3,7 @@ import { assert } from '@ember/debug';
3
3
  import { precompileTemplate } from '@ember/template-compilation';
4
4
  import { setComponentTemplate } from '@ember/component';
5
5
 
6
- var TEMPLATE = precompileTemplate("{{! @glint-nocheck: not typesafe yet }}\n{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<li class={{this.classNames}}>\n {{#if @isLoading}}\n <div class=\"hds-dropdown-list-item__interactive-loading-wrapper\" ...attributes>\n <div class=\"hds-dropdown-list-item__interactive-icon\">\n <FlightIcon @name=\"loading\" @isInlineBlock={{false}} />\n </div>\n <Hds::Text::Body @tag=\"div\" @size=\"100\" @weight=\"regular\" class=\"hds-dropdown-list-item__interactive-text\">\n {{this.text}}\n </Hds::Text::Body>\n </div>\n {{else}}\n <Hds::Interactive\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 >\n {{#if @icon}}\n <span class=\"hds-dropdown-list-item__interactive-icon\">\n <FlightIcon @name={{@icon}} @isInlineBlock={{false}} />\n </span>\n {{/if}}\n <Hds::Text::Body class=\"hds-dropdown-list-item__interactive-text\" @tag=\"span\" @size=\"200\" @weight=\"medium\">\n {{this.text}}\n </Hds::Text::Body>\n </Hds::Interactive>\n {{/if}}\n</li>");
6
+ var TEMPLATE = precompileTemplate("{{! @glint-nocheck: not typesafe yet }}\n{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<li class={{this.classNames}}>\n {{#if @isLoading}}\n <div class=\"hds-dropdown-list-item__interactive-loading-wrapper\" ...attributes>\n <div class=\"hds-dropdown-list-item__interactive-icon hds-dropdown-list-item__interactive-icon--leading\">\n <FlightIcon @name=\"loading\" @isInlineBlock={{false}} />\n </div>\n <Hds::Text::Body @tag=\"div\" @size=\"100\" @weight=\"regular\" class=\"hds-dropdown-list-item__interactive-text\">\n {{this.text}}\n </Hds::Text::Body>\n </div>\n {{else}}\n <Hds::Interactive\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 >\n {{#if @icon}}\n <span class=\"hds-dropdown-list-item__interactive-icon hds-dropdown-list-item__interactive-icon--leading\">\n <FlightIcon @name={{@icon}} @isInlineBlock={{false}} />\n </span>\n {{/if}}\n <Hds::Text::Body class=\"hds-dropdown-list-item__interactive-text\" @tag=\"span\" @size=\"200\" @weight=\"medium\">\n {{this.text}}\n </Hds::Text::Body>\n {{#if @trailingIcon}}\n <span class=\"hds-dropdown-list-item__interactive-icon hds-dropdown-list-item__interactive-icon--trailing\">\n <FlightIcon @name={{@trailingIcon}} @isInlineBlock={{false}} />\n </span>\n {{/if}}\n </Hds::Interactive>\n {{/if}}\n</li>");
7
7
 
8
8
  /**
9
9
  * Copyright (c) HashiCorp, Inc.
@@ -1 +1 @@
1
- {"version":3,"file":"interactive.js","sources":["../../../../../src/components/hds/dropdown/list-item/interactive.hbs","../../../../../src/components/hds/dropdown/list-item/interactive.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<li class={{this.classNames}}>\\n {{#if @isLoading}}\\n <div class=\\\"hds-dropdown-list-item__interactive-loading-wrapper\\\" ...attributes>\\n <div class=\\\"hds-dropdown-list-item__interactive-icon\\\">\\n <FlightIcon @name=\\\"loading\\\" @isInlineBlock={{false}} />\\n </div>\\n <Hds::Text::Body @tag=\\\"div\\\" @size=\\\"100\\\" @weight=\\\"regular\\\" class=\\\"hds-dropdown-list-item__interactive-text\\\">\\n {{this.text}}\\n </Hds::Text::Body>\\n </div>\\n {{else}}\\n <Hds::Interactive\\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 >\\n {{#if @icon}}\\n <span class=\\\"hds-dropdown-list-item__interactive-icon\\\">\\n <FlightIcon @name={{@icon}} @isInlineBlock={{false}} />\\n </span>\\n {{/if}}\\n <Hds::Text::Body class=\\\"hds-dropdown-list-item__interactive-text\\\" @tag=\\\"span\\\" @size=\\\"200\\\" @weight=\\\"medium\\\">\\n {{this.text}}\\n </Hds::Text::Body>\\n </Hds::Interactive>\\n {{/if}}\\n</li>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nexport const DEFAULT_COLOR = 'action';\nexport const COLORS = ['action', 'critical'];\n\nexport default class HdsDropdownListItemInteractiveComponent extends Component {\n /**\n * @param text\n * @type {string}\n * @description The text of the item. If no text value is defined an error will be thrown\n */\n get text() {\n let { text } = this.args;\n\n assert(\n '@text for \"Hds::Dropdown::ListItem::Interactive\" must have a valid value',\n text !== undefined\n );\n\n return text;\n }\n\n /**\n * @param color\n * @type {string}\n * @default primary\n * @description Determines the color of the item (when item is set to interactive)\n */\n get color() {\n let { color = DEFAULT_COLOR } = this.args;\n\n assert(\n `@color for \"Hds::Dropdown::ListItem::Interactive\" 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 classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = [\n 'hds-dropdown-list-item',\n 'hds-dropdown-list-item--variant-interactive',\n ];\n\n // add a class based on the @color argument\n classes.push(`hds-dropdown-list-item--color-${this.color}`);\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_COLOR","COLORS","HdsDropdownListItemInteractiveComponent","Component","text","args","assert","undefined","color","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;AACA,eAAe,kBAAkB,CAAC,00CAA00C;;ACD52C;AACA;AACA;AACA;;AAKO,MAAMA,aAAa,GAAG,SAAQ;MACxBC,MAAM,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAC;AAE7B,MAAMC,uCAAuC,SAASC,SAAS,CAAC;AAC7E;AACF;AACA;AACA;AACA;EACE,IAAIC,IAAIA,GAAG;IACT,IAAI;AAAEA,MAAAA,IAAAA;KAAM,GAAG,IAAI,CAACC,IAAI,CAAA;AAExBC,IAAAA,MAAM,CACJ,0EAA0E,EAC1EF,IAAI,KAAKG,SACX,CAAC,CAAA;AAED,IAAA,OAAOH,IAAI,CAAA;AACb,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAII,KAAKA,GAAG;IACV,IAAI;AAAEA,MAAAA,KAAK,GAAGR,aAAAA;KAAe,GAAG,IAAI,CAACK,IAAI,CAAA;AAEzCC,IAAAA,MAAM,CACH,CAAkFL,gFAAAA,EAAAA,MAAM,CAACQ,IAAI,CAC5F,IACF,CAAE,CAAA,YAAA,EAAcD,KAAM,CAAA,CAAC,EACvBP,MAAM,CAACS,QAAQ,CAACF,KAAK,CACvB,CAAC,CAAA;AAED,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIG,UAAUA,GAAG;AACf,IAAA,IAAIC,OAAO,GAAG,CACZ,wBAAwB,EACxB,6CAA6C,CAC9C,CAAA;;AAED;IACAA,OAAO,CAACC,IAAI,CAAE,CAAA,8BAAA,EAAgC,IAAI,CAACL,KAAM,EAAC,CAAC,CAAA;AAE3D,IAAA,OAAOI,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACK,oBAAA,CAAAC,QAAA,EApDoBb,uCAAuC,CAAA;;;;"}
1
+ {"version":3,"file":"interactive.js","sources":["../../../../../src/components/hds/dropdown/list-item/interactive.hbs","../../../../../src/components/hds/dropdown/list-item/interactive.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<li class={{this.classNames}}>\\n {{#if @isLoading}}\\n <div class=\\\"hds-dropdown-list-item__interactive-loading-wrapper\\\" ...attributes>\\n <div class=\\\"hds-dropdown-list-item__interactive-icon hds-dropdown-list-item__interactive-icon--leading\\\">\\n <FlightIcon @name=\\\"loading\\\" @isInlineBlock={{false}} />\\n </div>\\n <Hds::Text::Body @tag=\\\"div\\\" @size=\\\"100\\\" @weight=\\\"regular\\\" class=\\\"hds-dropdown-list-item__interactive-text\\\">\\n {{this.text}}\\n </Hds::Text::Body>\\n </div>\\n {{else}}\\n <Hds::Interactive\\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 >\\n {{#if @icon}}\\n <span class=\\\"hds-dropdown-list-item__interactive-icon hds-dropdown-list-item__interactive-icon--leading\\\">\\n <FlightIcon @name={{@icon}} @isInlineBlock={{false}} />\\n </span>\\n {{/if}}\\n <Hds::Text::Body class=\\\"hds-dropdown-list-item__interactive-text\\\" @tag=\\\"span\\\" @size=\\\"200\\\" @weight=\\\"medium\\\">\\n {{this.text}}\\n </Hds::Text::Body>\\n {{#if @trailingIcon}}\\n <span class=\\\"hds-dropdown-list-item__interactive-icon hds-dropdown-list-item__interactive-icon--trailing\\\">\\n <FlightIcon @name={{@trailingIcon}} @isInlineBlock={{false}} />\\n </span>\\n {{/if}}\\n </Hds::Interactive>\\n {{/if}}\\n</li>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nexport const DEFAULT_COLOR = 'action';\nexport const COLORS = ['action', 'critical'];\n\nexport default class HdsDropdownListItemInteractiveComponent extends Component {\n /**\n * @param text\n * @type {string}\n * @description The text of the item. If no text value is defined an error will be thrown\n */\n get text() {\n let { text } = this.args;\n\n assert(\n '@text for \"Hds::Dropdown::ListItem::Interactive\" must have a valid value',\n text !== undefined\n );\n\n return text;\n }\n\n /**\n * @param color\n * @type {string}\n * @default primary\n * @description Determines the color of the item (when item is set to interactive)\n */\n get color() {\n let { color = DEFAULT_COLOR } = this.args;\n\n assert(\n `@color for \"Hds::Dropdown::ListItem::Interactive\" 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 classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = [\n 'hds-dropdown-list-item',\n 'hds-dropdown-list-item--variant-interactive',\n ];\n\n // add a class based on the @color argument\n classes.push(`hds-dropdown-list-item--color-${this.color}`);\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_COLOR","COLORS","HdsDropdownListItemInteractiveComponent","Component","text","args","assert","undefined","color","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;AACA,eAAe,kBAAkB,CAAC,4qDAA4qD;;ACD9sD;AACA;AACA;AACA;;AAKO,MAAMA,aAAa,GAAG,SAAQ;MACxBC,MAAM,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAC;AAE7B,MAAMC,uCAAuC,SAASC,SAAS,CAAC;AAC7E;AACF;AACA;AACA;AACA;EACE,IAAIC,IAAIA,GAAG;IACT,IAAI;AAAEA,MAAAA,IAAAA;KAAM,GAAG,IAAI,CAACC,IAAI,CAAA;AAExBC,IAAAA,MAAM,CACJ,0EAA0E,EAC1EF,IAAI,KAAKG,SACX,CAAC,CAAA;AAED,IAAA,OAAOH,IAAI,CAAA;AACb,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAII,KAAKA,GAAG;IACV,IAAI;AAAEA,MAAAA,KAAK,GAAGR,aAAAA;KAAe,GAAG,IAAI,CAACK,IAAI,CAAA;AAEzCC,IAAAA,MAAM,CACH,CAAkFL,gFAAAA,EAAAA,MAAM,CAACQ,IAAI,CAC5F,IACF,CAAE,CAAA,YAAA,EAAcD,KAAM,CAAA,CAAC,EACvBP,MAAM,CAACS,QAAQ,CAACF,KAAK,CACvB,CAAC,CAAA;AAED,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIG,UAAUA,GAAG;AACf,IAAA,IAAIC,OAAO,GAAG,CACZ,wBAAwB,EACxB,6CAA6C,CAC9C,CAAA;;AAED;IACAA,OAAO,CAACC,IAAI,CAAE,CAAA,8BAAA,EAAgC,IAAI,CAACL,KAAM,EAAC,CAAC,CAAA;AAE3D,IAAA,OAAOI,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACK,oBAAA,CAAAC,QAAA,EApDoBb,uCAAuC,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import { _ as _defineProperty } from '../../../../_rollupPluginBabelHelpers-lqPQKyNs.js';
1
+ import { a as _defineProperty } from '../../../../_rollupPluginBabelHelpers-NoJJJNhk.js';
2
2
  import Component from '@glimmer/component';
3
3
  import { assert } from '@ember/debug';
4
4
  import { guidFor } from '@ember/object/internals';
@@ -1,4 +1,4 @@
1
- import { a as _applyDecoratedDescriptor, b as _initializerDefineProperty } from '../../../../_rollupPluginBabelHelpers-lqPQKyNs.js';
1
+ import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty } from '../../../../_rollupPluginBabelHelpers-NoJJJNhk.js';
2
2
  import Component from '@glimmer/component';
3
3
  import { action } from '@ember/object';
4
4
  import { assert } from '@ember/debug';
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","sources":["../../../../../src/components/hds/dropdown/toggle/icon.hbs","../../../../../src/components/hds/dropdown/toggle/icon.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<button\\n class={{this.classNames}}\\n aria-label={{this.text}}\\n ...attributes\\n aria-expanded={{if @isOpen \\\"true\\\" \\\"false\\\"}}\\n {{on \\\"click\\\" this.onClick}}\\n {{did-update this.onDidUpdateImageSrc @imageSrc}}\\n type=\\\"button\\\"\\n>\\n <div class=\\\"hds-dropdown-toggle-icon__wrapper\\\">\\n {{#if @imageSrc}}\\n {{#if this.hasImage}}\\n <img src={{@imageSrc}} alt=\\\"\\\" role=\\\"presentation\\\" {{on \\\"error\\\" this.onImageLoadError}} />\\n {{else}}\\n <FlightIcon @name=\\\"user\\\" @size={{this.iconSize}} />\\n {{/if}}\\n {{else if @icon}}\\n <FlightIcon @name={{@icon}} @size={{this.iconSize}} />\\n {{/if}}\\n </div>\\n {{#if this.hasChevron}}\\n <Hds::Dropdown::Toggle::Chevron />\\n {{/if}}\\n</button>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\nimport { tracked } from '@glimmer/tracking';\n\nexport const DEFAULT_SIZE = 'medium';\nexport const SIZES = ['small', 'medium'];\n\nconst NOOP = () => {};\n\nexport default class HdsDropdownToggleIconComponent extends Component {\n @tracked hasImage = true;\n\n constructor() {\n super(...arguments);\n if (!(this.args.icon || this.args.imageSrc)) {\n assert(\n '@icon or @imageSrc must be defined for \"Hds::Dropdown::Toggle::Icon\"'\n );\n }\n }\n\n @action\n onDidUpdateImageSrc() {\n this.hasImage = true;\n }\n\n @action\n onImageLoadError() {\n this.hasImage = false;\n }\n\n /**\n * @param text\n * @type {string}\n * @description The text of the `aria-label` applied to the toggle\n */\n get text() {\n let { text } = this.args;\n\n assert(\n '@text for \"Hds::Dropdown::Toggle::Icon\" 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` and `medium`\n */\n get size() {\n let { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Dropdown::Toggle::Icon\" 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 iconSize\n * @type {string}\n * @default 24\n * @description ensures that the correct icon size is used\n */\n get iconSize() {\n if (this.args.size === 'small') {\n return '16';\n } else {\n return '24';\n }\n }\n\n /**\n * Indicates if a dropdown chevron icon should be displayed; should be displayed unless the \"more-horizontal\" icon is used.\n *\n * @param hasChevron\n * @type {boolean}\n * @default true\n */\n get hasChevron() {\n return this.args.hasChevron ?? true;\n }\n\n /**\n * @param onClick\n * @type {function}\n * @default () => {}\n */\n get onClick() {\n let { onClick } = this.args;\n\n // notice: this is a guard used in case the toggle is used as standalone element (eg. in the showcase)\n // in reality it's always used inside the Dropdown main component as yielded component, so the onClick handler is always defined\n if (typeof onClick === 'function') {\n return onClick;\n } else {\n return NOOP;\n }\n }\n\n /**\n * Get the class names to apply to the component.\n * @method ToggleIcon#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-dropdown-toggle-icon'];\n\n // add a class based on the @size argument\n classes.push(`hds-dropdown-toggle-icon--size-${this.size}`);\n\n // add a class based on the @isOpen argument\n if (this.args.isOpen) {\n classes.push('hds-dropdown-toggle-icon--is-open');\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_SIZE","SIZES","NOOP","HdsDropdownToggleIconComponent","_class","Component","constructor","arguments","_initializerDefineProperty","_descriptor","args","icon","imageSrc","assert","onDidUpdateImageSrc","hasImage","onImageLoadError","text","undefined","size","join","includes","iconSize","hasChevron","onClick","classNames","classes","push","isOpen","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
1
+ {"version":3,"file":"icon.js","sources":["../../../../../src/components/hds/dropdown/toggle/icon.hbs","../../../../../src/components/hds/dropdown/toggle/icon.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<button\\n class={{this.classNames}}\\n aria-label={{this.text}}\\n ...attributes\\n aria-expanded={{if @isOpen \\\"true\\\" \\\"false\\\"}}\\n {{on \\\"click\\\" this.onClick}}\\n {{did-update this.onDidUpdateImageSrc @imageSrc}}\\n type=\\\"button\\\"\\n>\\n <div class=\\\"hds-dropdown-toggle-icon__wrapper\\\">\\n {{#if @imageSrc}}\\n {{#if this.hasImage}}\\n <img src={{@imageSrc}} alt=\\\"\\\" role=\\\"presentation\\\" {{on \\\"error\\\" this.onImageLoadError}} />\\n {{else}}\\n <FlightIcon @name=\\\"user\\\" @size={{this.iconSize}} />\\n {{/if}}\\n {{else if @icon}}\\n <FlightIcon @name={{@icon}} @size={{this.iconSize}} />\\n {{/if}}\\n </div>\\n {{#if this.hasChevron}}\\n <Hds::Dropdown::Toggle::Chevron />\\n {{/if}}\\n</button>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\nimport { tracked } from '@glimmer/tracking';\n\nexport const DEFAULT_SIZE = 'medium';\nexport const SIZES = ['small', 'medium'];\n\nconst NOOP = () => {};\n\nexport default class HdsDropdownToggleIconComponent extends Component {\n @tracked hasImage = true;\n\n constructor() {\n super(...arguments);\n if (!(this.args.icon || this.args.imageSrc)) {\n assert(\n '@icon or @imageSrc must be defined for \"Hds::Dropdown::Toggle::Icon\"'\n );\n }\n }\n\n @action\n onDidUpdateImageSrc() {\n this.hasImage = true;\n }\n\n @action\n onImageLoadError() {\n this.hasImage = false;\n }\n\n /**\n * @param text\n * @type {string}\n * @description The text of the `aria-label` applied to the toggle\n */\n get text() {\n let { text } = this.args;\n\n assert(\n '@text for \"Hds::Dropdown::Toggle::Icon\" 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` and `medium`\n */\n get size() {\n let { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Dropdown::Toggle::Icon\" 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 iconSize\n * @type {string}\n * @default 24\n * @description ensures that the correct icon size is used\n */\n get iconSize() {\n if (this.args.size === 'small') {\n return '16';\n } else {\n return '24';\n }\n }\n\n /**\n * Indicates if a dropdown chevron icon should be displayed; should be displayed unless the \"more-horizontal\" icon is used.\n *\n * @param hasChevron\n * @type {boolean}\n * @default true\n */\n get hasChevron() {\n return this.args.hasChevron ?? true;\n }\n\n /**\n * @param onClick\n * @type {function}\n * @default () => {}\n */\n get onClick() {\n let { onClick } = this.args;\n\n // notice: this is a guard used in case the toggle is used as standalone element (eg. in the showcase)\n // in reality it's always used inside the Dropdown main component as yielded component, so the onClick handler is always defined\n if (typeof onClick === 'function') {\n return onClick;\n } else {\n return NOOP;\n }\n }\n\n /**\n * Get the class names to apply to the component.\n * @method ToggleIcon#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-dropdown-toggle-icon'];\n\n // add a class based on the @size argument\n classes.push(`hds-dropdown-toggle-icon--size-${this.size}`);\n\n // add a class based on the @isOpen argument\n if (this.args.isOpen) {\n classes.push('hds-dropdown-toggle-icon--is-open');\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_SIZE","SIZES","NOOP","HdsDropdownToggleIconComponent","_class","Component","constructor","arguments","_initializerDefineProperty","_descriptor","args","icon","imageSrc","assert","onDidUpdateImageSrc","hasImage","onImageLoadError","text","undefined","size","join","includes","iconSize","hasChevron","onClick","classNames","classes","push","isOpen","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1,23 +1,17 @@
1
- import { a as _applyDecoratedDescriptor, b as _initializerDefineProperty } from '../../../_rollupPluginBabelHelpers-lqPQKyNs.js';
1
+ import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty } from '../../../_rollupPluginBabelHelpers-NoJJJNhk.js';
2
2
  import Component from '@glimmer/component';
3
3
  import { tracked } from '@glimmer/tracking';
4
4
  import { action } from '@ember/object';
5
5
  import { assert } from '@ember/debug';
6
6
  import { getElementId } from '../../../utils/hds-get-element-id.js';
7
7
  import { buildWaiter } from '@ember/test-waiters';
8
- import { DEBUG } from '@glimmer/env';
9
8
  import { precompileTemplate } from '@ember/template-compilation';
10
9
  import { setComponentTemplate } from '@ember/component';
11
10
 
12
11
  var TEMPLATE = precompileTemplate("{{! @glint-nocheck: not typesafe yet }}\n{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<dialog\n class={{this.classNames}}\n ...attributes\n aria-labelledby={{this.id}}\n {{did-insert this.didInsert}}\n {{will-destroy this.willDestroyNode}}\n {{focus-trap isActive=this.isOpen focusTrapOptions=(hash onDeactivate=this.onDismiss clickOutsideDeactivates=true)}}\n>\n {{yield (hash Header=(component \"hds/flyout/header\" id=this.id onDismiss=this.onDismiss))}}\n {{yield (hash Description=(component \"hds/flyout/description\"))}}\n {{yield (hash Body=(component \"hds/flyout/body\"))}}\n {{yield (hash Footer=(component \"hds/flyout/footer\" onDismiss=this.onDismiss))}}\n</dialog>\n{{#if this.isOpen}}\n <div class=\"hds-flyout__overlay\"></div>\n{{/if}}");
13
12
 
14
13
  var _class, _descriptor;
15
- let waiter;
16
-
17
- // Notice: this code will get stripped out in production builds (DEBUG evaluates to `true` in dev/test builds, but `false` in prod builds)
18
- if (DEBUG) {
19
- waiter = buildWaiter('@hashicorp/design-system-components:flyout');
20
- }
14
+ let waiter = buildWaiter('@hashicorp/design-system-components:flyout');
21
15
  const DEFAULT_SIZE = 'medium';
22
16
  const DEFAULT_HAS_OVERLAY = true;
23
17
  const SIZES = ['medium', 'large'];
@@ -106,7 +100,7 @@ let HdsFlyoutIndexComponent = (_class = class HdsFlyoutIndexComponent extends Co
106
100
  // allow ember test helpers to be aware of when the `close` event fires
107
101
  // when using `click` or other helpers from '@ember/test-helpers'
108
102
  // Notice: this code will get stripped out in production builds (DEBUG evaluates to `true` in dev/test builds, but `false` in prod builds)
109
- if (DEBUG && this.element.open) {
103
+ if (this.element.open) {
110
104
  let token = waiter.beginAsync();
111
105
  let listener = () => {
112
106
  waiter.endAsync(token);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/flyout/index.hbs","../../../../src/components/hds/flyout/index.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<dialog\\n class={{this.classNames}}\\n ...attributes\\n aria-labelledby={{this.id}}\\n {{did-insert this.didInsert}}\\n {{will-destroy this.willDestroyNode}}\\n {{focus-trap isActive=this.isOpen focusTrapOptions=(hash onDeactivate=this.onDismiss clickOutsideDeactivates=true)}}\\n>\\n {{yield (hash Header=(component \\\"hds/flyout/header\\\" id=this.id onDismiss=this.onDismiss))}}\\n {{yield (hash Description=(component \\\"hds/flyout/description\\\"))}}\\n {{yield (hash Body=(component \\\"hds/flyout/body\\\"))}}\\n {{yield (hash Footer=(component \\\"hds/flyout/footer\\\" onDismiss=this.onDismiss))}}\\n</dialog>\\n{{#if this.isOpen}}\\n <div class=\\\"hds-flyout__overlay\\\"></div>\\n{{/if}}\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\nimport { getElementId } from '../../../utils/hds-get-element-id';\nimport { buildWaiter } from '@ember/test-waiters';\nimport { DEBUG } from '@glimmer/env';\n\nlet waiter;\n\n// Notice: this code will get stripped out in production builds (DEBUG evaluates to `true` in dev/test builds, but `false` in prod builds)\nif (DEBUG) {\n waiter = buildWaiter('@hashicorp/design-system-components:flyout');\n}\n\nexport const DEFAULT_SIZE = 'medium';\nexport const DEFAULT_HAS_OVERLAY = true;\nexport const SIZES = ['medium', 'large'];\n\nexport default class HdsFlyoutIndexComponent extends Component {\n @tracked isOpen = false;\n\n /**\n * Sets the size of the flyout\n * Accepted values: medium, large\n *\n * @param size\n * @type {string}\n * @default 'medium'\n */\n get size() {\n let { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Flyout\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n /**\n * Calculates the unique ID to assign to the title\n */\n get id() {\n return getElementId(this);\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-flyout'];\n\n // add a class based on the @size argument\n classes.push(`hds-flyout--size-${this.size}`);\n\n return classes.join(' ');\n }\n\n @action registerOnCloseCallback() {\n if (this.args.onClose && typeof this.args.onClose === 'function') {\n this.args.onClose();\n }\n\n this.isOpen = false;\n }\n\n @action\n didInsert(element) {\n // Store references of `<dialog>` and `<body>` elements\n this.element = element;\n this.body = document.body;\n\n if (this.body) {\n // Store the initial `overflow` value of `<body>` so we can reset to it\n this.bodyInitialOverflowValue =\n this.body.style.getPropertyValue('overflow');\n }\n\n // Register \"onClose\" callback function to be called when a native 'close' event is dispatched\n this.element.addEventListener('close', this.registerOnCloseCallback, true);\n\n // If the flyout dialog is not already open\n if (!this.element.open) {\n this.open();\n }\n }\n\n @action\n willDestroyNode() {\n if (this.element) {\n this.element.removeEventListener(\n 'close',\n this.registerOnCloseCallback,\n true\n );\n }\n }\n\n @action\n open() {\n // Make flyout dialog visible using the native `showModal` method\n this.element.showModal();\n this.isOpen = true;\n\n // Prevent page from scrolling when the dialog is open\n if (this.body) this.body.style.setProperty('overflow', 'hidden');\n\n // Call \"onOpen\" callback function\n if (this.args.onOpen && typeof this.args.onOpen === 'function') {\n this.args.onOpen();\n }\n }\n\n @action\n async onDismiss() {\n // allow ember test helpers to be aware of when the `close` event fires\n // when using `click` or other helpers from '@ember/test-helpers'\n // Notice: this code will get stripped out in production builds (DEBUG evaluates to `true` in dev/test builds, but `false` in prod builds)\n if (DEBUG && this.element.open) {\n let token = waiter.beginAsync();\n let listener = () => {\n waiter.endAsync(token);\n this.element.removeEventListener('close', listener);\n };\n this.element.addEventListener('close', listener);\n }\n\n // Make flyout dialog invisible using the native `close` method\n this.element.close();\n\n // Reset page `overflow` property\n if (this.body) {\n this.body.style.removeProperty('overflow');\n if (this.bodyInitialOverflowValue === '') {\n if (this.body.style.length === 0) {\n this.body.removeAttribute('style');\n }\n } else {\n this.body.style.setProperty('overflow', this.bodyInitialOverflowValue);\n }\n }\n }\n}\n"],"names":["waiter","DEBUG","buildWaiter","DEFAULT_SIZE","DEFAULT_HAS_OVERLAY","SIZES","HdsFlyoutIndexComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","size","assert","join","includes","id","getElementId","classNames","classes","push","registerOnCloseCallback","onClose","isOpen","didInsert","element","body","document","bodyInitialOverflowValue","style","getPropertyValue","addEventListener","open","willDestroyNode","removeEventListener","showModal","setProperty","onOpen","onDismiss","token","beginAsync","listener","endAsync","close","removeProperty","length","removeAttribute","_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/flyout/index.hbs","../../../../src/components/hds/flyout/index.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<dialog\\n class={{this.classNames}}\\n ...attributes\\n aria-labelledby={{this.id}}\\n {{did-insert this.didInsert}}\\n {{will-destroy this.willDestroyNode}}\\n {{focus-trap isActive=this.isOpen focusTrapOptions=(hash onDeactivate=this.onDismiss clickOutsideDeactivates=true)}}\\n>\\n {{yield (hash Header=(component \\\"hds/flyout/header\\\" id=this.id onDismiss=this.onDismiss))}}\\n {{yield (hash Description=(component \\\"hds/flyout/description\\\"))}}\\n {{yield (hash Body=(component \\\"hds/flyout/body\\\"))}}\\n {{yield (hash Footer=(component \\\"hds/flyout/footer\\\" onDismiss=this.onDismiss))}}\\n</dialog>\\n{{#if this.isOpen}}\\n <div class=\\\"hds-flyout__overlay\\\"></div>\\n{{/if}}\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\nimport { getElementId } from '../../../utils/hds-get-element-id';\nimport { buildWaiter } from '@ember/test-waiters';\n\nlet waiter = buildWaiter('@hashicorp/design-system-components:flyout');\n\nexport const DEFAULT_SIZE = 'medium';\nexport const DEFAULT_HAS_OVERLAY = true;\nexport const SIZES = ['medium', 'large'];\n\nexport default class HdsFlyoutIndexComponent extends Component {\n @tracked isOpen = false;\n\n /**\n * Sets the size of the flyout\n * Accepted values: medium, large\n *\n * @param size\n * @type {string}\n * @default 'medium'\n */\n get size() {\n let { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Flyout\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n /**\n * Calculates the unique ID to assign to the title\n */\n get id() {\n return getElementId(this);\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-flyout'];\n\n // add a class based on the @size argument\n classes.push(`hds-flyout--size-${this.size}`);\n\n return classes.join(' ');\n }\n\n @action registerOnCloseCallback() {\n if (this.args.onClose && typeof this.args.onClose === 'function') {\n this.args.onClose();\n }\n\n this.isOpen = false;\n }\n\n @action\n didInsert(element) {\n // Store references of `<dialog>` and `<body>` elements\n this.element = element;\n this.body = document.body;\n\n if (this.body) {\n // Store the initial `overflow` value of `<body>` so we can reset to it\n this.bodyInitialOverflowValue =\n this.body.style.getPropertyValue('overflow');\n }\n\n // Register \"onClose\" callback function to be called when a native 'close' event is dispatched\n this.element.addEventListener('close', this.registerOnCloseCallback, true);\n\n // If the flyout dialog is not already open\n if (!this.element.open) {\n this.open();\n }\n }\n\n @action\n willDestroyNode() {\n if (this.element) {\n this.element.removeEventListener(\n 'close',\n this.registerOnCloseCallback,\n true\n );\n }\n }\n\n @action\n open() {\n // Make flyout dialog visible using the native `showModal` method\n this.element.showModal();\n this.isOpen = true;\n\n // Prevent page from scrolling when the dialog is open\n if (this.body) this.body.style.setProperty('overflow', 'hidden');\n\n // Call \"onOpen\" callback function\n if (this.args.onOpen && typeof this.args.onOpen === 'function') {\n this.args.onOpen();\n }\n }\n\n @action\n async onDismiss() {\n // allow ember test helpers to be aware of when the `close` event fires\n // when using `click` or other helpers from '@ember/test-helpers'\n // Notice: this code will get stripped out in production builds (DEBUG evaluates to `true` in dev/test builds, but `false` in prod builds)\n if (this.element.open) {\n let token = waiter.beginAsync();\n let listener = () => {\n waiter.endAsync(token);\n this.element.removeEventListener('close', listener);\n };\n this.element.addEventListener('close', listener);\n }\n\n // Make flyout dialog invisible using the native `close` method\n this.element.close();\n\n // Reset page `overflow` property\n if (this.body) {\n this.body.style.removeProperty('overflow');\n if (this.bodyInitialOverflowValue === '') {\n if (this.body.style.length === 0) {\n this.body.removeAttribute('style');\n }\n } else {\n this.body.style.setProperty('overflow', this.bodyInitialOverflowValue);\n }\n }\n }\n}\n"],"names":["waiter","buildWaiter","DEFAULT_SIZE","DEFAULT_HAS_OVERLAY","SIZES","HdsFlyoutIndexComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","size","assert","join","includes","id","getElementId","classNames","classes","push","registerOnCloseCallback","onClose","isOpen","didInsert","element","body","document","bodyInitialOverflowValue","style","getPropertyValue","addEventListener","open","willDestroyNode","removeEventListener","showModal","setProperty","onOpen","onDismiss","token","beginAsync","listener","endAsync","close","removeProperty","length","removeAttribute","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { a as _applyDecoratedDescriptor, b as _initializerDefineProperty } from '../../../../_rollupPluginBabelHelpers-lqPQKyNs.js';
1
+ import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty } from '../../../../_rollupPluginBabelHelpers-NoJJJNhk.js';
2
2
  import Component from '@glimmer/component';
3
3
  import { tracked } from '@glimmer/tracking';
4
4
  import { assert } from '@ember/debug';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/hds/form/field/index.hbs","../../../../../src/components/hds/form/field/index.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class={{this.classNames}} {{did-insert this.setAriaDescribedBy}} ...attributes>\\n {{yield\\n (hash\\n Label=(component\\n \\\"hds/form/label\\\"\\n controlId=this.id\\n isRequired=this.isRequired\\n isOptional=this.isOptional\\n contextualClass=\\\"hds-form-field__label\\\"\\n )\\n )\\n }}\\n {{yield\\n (hash\\n HelperText=(component\\n \\\"hds/form/helper-text\\\"\\n controlId=this.id\\n onInsert=this.appendDescriptor\\n contextualClass=\\\"hds-form-field__helper-text\\\"\\n )\\n )\\n }}\\n <div class=\\\"hds-form-field__control\\\">\\n {{yield (hash Control=(component \\\"hds/yield\\\") id=this.id ariaDescribedBy=this.ariaDescribedBy)}}\\n </div>\\n {{yield\\n (hash\\n CharacterCount=(component\\n \\\"hds/form/character-count\\\"\\n controlId=this.id\\n onInsert=this.appendDescriptor\\n contextualClass=\\\"hds-form-field__character-count\\\"\\n )\\n )\\n }}\\n {{yield\\n (hash\\n Error=(component\\n \\\"hds/form/error\\\" controlId=this.id onInsert=this.appendDescriptor contextualClass=\\\"hds-form-field__error\\\"\\n )\\n )\\n }}\\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 { assert } from '@ember/debug';\nimport { action } from '@ember/object';\nimport { schedule } from '@ember/runloop';\nimport { getElementId } from '../../../../utils/hds-get-element-id';\nimport { setAriaDescribedBy } from '../../../../utils/hds-set-aria-described-by';\n\nexport const LAYOUT_TYPES = ['vertical', 'flag'];\n\nexport default class HdsFormFieldIndexComponent extends Component {\n @tracked ariaDescribedBy = this.args.extraAriaDescribedBy;\n @tracked descriptors = [];\n\n @action\n appendDescriptor(element) {\n this.descriptors.push(element.id);\n }\n\n @action\n setAriaDescribedBy() {\n // we schedule this afterRender to capture all descriptors registered onInsert\n schedule('afterRender', () => {\n setAriaDescribedBy(this);\n });\n }\n\n /**\n * Sets the layout of the field\n *\n * @param layout\n * @type {string}\n */\n get layout() {\n let { layout } = this.args;\n\n assert(\n `@layout for \"Hds::Form::Field\" must be one of the following: ${LAYOUT_TYPES.join(\n ', '\n )}; received: ${layout}`,\n LAYOUT_TYPES.includes(layout)\n );\n\n return layout;\n }\n\n /**\n * Calculates the unique ID to assign to the form control\n */\n get id() {\n return getElementId(this);\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = [];\n\n if (this.args.layout) {\n classes.push(`hds-form-field--layout-${this.layout}`);\n }\n\n // add a class based on the @contextualClass argument\n // notice: this will *not* be documented for public use\n if (this.args.contextualClass) {\n classes.push(this.args.contextualClass);\n }\n\n return classes.join(' ');\n }\n\n /**\n * @param isRequired\n * @type {boolean}\n * @default false\n */\n get isRequired() {\n return this.args.isRequired || false;\n }\n\n /**\n * @param isOptional\n * @type {boolean}\n * @default false\n */\n get isOptional() {\n return this.args.isOptional || false;\n }\n}\n"],"names":["LAYOUT_TYPES","HdsFormFieldIndexComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","appendDescriptor","element","descriptors","push","id","setAriaDescribedBy","schedule","layout","assert","join","includes","getElementId","classNames","classes","contextualClass","isRequired","isOptional","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","extraAriaDescribedBy","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/hds/form/field/index.hbs","../../../../../src/components/hds/form/field/index.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class={{this.classNames}} {{did-insert this.setAriaDescribedBy}} ...attributes>\\n {{yield\\n (hash\\n Label=(component\\n \\\"hds/form/label\\\"\\n controlId=this.id\\n isRequired=this.isRequired\\n isOptional=this.isOptional\\n contextualClass=\\\"hds-form-field__label\\\"\\n )\\n )\\n }}\\n {{yield\\n (hash\\n HelperText=(component\\n \\\"hds/form/helper-text\\\"\\n controlId=this.id\\n onInsert=this.appendDescriptor\\n contextualClass=\\\"hds-form-field__helper-text\\\"\\n )\\n )\\n }}\\n <div class=\\\"hds-form-field__control\\\">\\n {{yield (hash Control=(component \\\"hds/yield\\\") id=this.id ariaDescribedBy=this.ariaDescribedBy)}}\\n </div>\\n {{yield\\n (hash\\n CharacterCount=(component\\n \\\"hds/form/character-count\\\"\\n controlId=this.id\\n onInsert=this.appendDescriptor\\n contextualClass=\\\"hds-form-field__character-count\\\"\\n )\\n )\\n }}\\n {{yield\\n (hash\\n Error=(component\\n \\\"hds/form/error\\\" controlId=this.id onInsert=this.appendDescriptor contextualClass=\\\"hds-form-field__error\\\"\\n )\\n )\\n }}\\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 { assert } from '@ember/debug';\nimport { action } from '@ember/object';\nimport { schedule } from '@ember/runloop';\nimport { getElementId } from '../../../../utils/hds-get-element-id';\nimport { setAriaDescribedBy } from '../../../../utils/hds-set-aria-described-by';\n\nexport const LAYOUT_TYPES = ['vertical', 'flag'];\n\nexport default class HdsFormFieldIndexComponent extends Component {\n @tracked ariaDescribedBy = this.args.extraAriaDescribedBy;\n @tracked descriptors = [];\n\n @action\n appendDescriptor(element) {\n this.descriptors.push(element.id);\n }\n\n @action\n setAriaDescribedBy() {\n // we schedule this afterRender to capture all descriptors registered onInsert\n schedule('afterRender', () => {\n setAriaDescribedBy(this);\n });\n }\n\n /**\n * Sets the layout of the field\n *\n * @param layout\n * @type {string}\n */\n get layout() {\n let { layout } = this.args;\n\n assert(\n `@layout for \"Hds::Form::Field\" must be one of the following: ${LAYOUT_TYPES.join(\n ', '\n )}; received: ${layout}`,\n LAYOUT_TYPES.includes(layout)\n );\n\n return layout;\n }\n\n /**\n * Calculates the unique ID to assign to the form control\n */\n get id() {\n return getElementId(this);\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = [];\n\n if (this.args.layout) {\n classes.push(`hds-form-field--layout-${this.layout}`);\n }\n\n // add a class based on the @contextualClass argument\n // notice: this will *not* be documented for public use\n if (this.args.contextualClass) {\n classes.push(this.args.contextualClass);\n }\n\n return classes.join(' ');\n }\n\n /**\n * @param isRequired\n * @type {boolean}\n * @default false\n */\n get isRequired() {\n return this.args.isRequired || false;\n }\n\n /**\n * @param isOptional\n * @type {boolean}\n * @default false\n */\n get isOptional() {\n return this.args.isOptional || false;\n }\n}\n"],"names":["LAYOUT_TYPES","HdsFormFieldIndexComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","appendDescriptor","element","descriptors","push","id","setAriaDescribedBy","schedule","layout","assert","join","includes","getElementId","classNames","classes","contextualClass","isRequired","isOptional","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","extraAriaDescribedBy","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}