@hashicorp/design-system-components 4.2.0 → 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.
- package/dist/_app_/components/hds/form/super-select/after-options.js +1 -0
- package/dist/_app_/components/hds/form/super-select/multiple/base.js +1 -0
- package/dist/_app_/components/hds/form/super-select/multiple/field.js +1 -0
- package/dist/_app_/components/hds/form/super-select/option-group.js +1 -0
- package/dist/_app_/components/hds/form/super-select/placeholder.js +1 -0
- package/dist/_app_/components/hds/form/super-select/single/base.js +1 -0
- package/dist/_app_/components/hds/form/super-select/single/field.js +1 -0
- package/dist/_app_/components/hds/{link/types.js → popover-primitive/index.js} +1 -1
- package/dist/_app_/components/hds/{card/types.js → rich-tooltip/bubble.js} +1 -1
- package/dist/_app_/components/hds/{alert/types.js → rich-tooltip/index.js} +1 -1
- package/dist/_app_/components/hds/{interactive/types.js → rich-tooltip/toggle.js} +1 -1
- package/dist/_app_/modifiers/hds-anchored-position.js +1 -0
- package/dist/_app_/modifiers/hds-register-event.js +1 -0
- package/dist/{_rollupPluginBabelHelpers-lqPQKyNs.js → _rollupPluginBabelHelpers-NoJJJNhk.js} +7 -9
- package/dist/{_rollupPluginBabelHelpers-lqPQKyNs.js.map → _rollupPluginBabelHelpers-NoJJJNhk.js.map} +1 -1
- package/dist/components/hds/accordion/index.js +8 -2
- package/dist/components/hds/accordion/index.js.map +1 -1
- package/dist/components/hds/accordion/item/button.js +12 -8
- package/dist/components/hds/accordion/item/button.js.map +1 -1
- package/dist/components/hds/accordion/item/index.js +6 -6
- package/dist/components/hds/accordion/item/index.js.map +1 -1
- package/dist/components/hds/alert/description.js +9 -4
- package/dist/components/hds/alert/description.js.map +1 -1
- package/dist/components/hds/alert/index.js +4 -6
- package/dist/components/hds/alert/index.js.map +1 -1
- package/dist/components/hds/alert/title.js +9 -4
- package/dist/components/hds/alert/title.js.map +1 -1
- package/dist/components/hds/alert/types.js +5 -0
- package/dist/components/hds/alert/types.js.map +1 -1
- package/dist/components/hds/app-footer/copyright.js +1 -1
- package/dist/components/hds/app-footer/copyright.js.map +1 -1
- package/dist/components/hds/app-footer/index.js +6 -6
- package/dist/components/hds/app-footer/index.js.map +1 -1
- package/dist/components/hds/app-footer/item.js +10 -4
- package/dist/components/hds/app-footer/item.js.map +1 -1
- package/dist/components/hds/app-footer/legal-links.js +1 -1
- package/dist/components/hds/app-footer/legal-links.js.map +1 -1
- package/dist/components/hds/app-footer/link.js +10 -4
- package/dist/components/hds/app-footer/link.js.map +1 -1
- package/dist/components/hds/app-footer/status-link.js +12 -27
- package/dist/components/hds/app-footer/status-link.js.map +1 -1
- package/dist/components/hds/app-footer/types.js +38 -0
- package/dist/components/hds/app-footer/types.js.map +1 -0
- package/dist/components/hds/app-frame/index.js +4 -4
- package/dist/components/hds/app-frame/index.js.map +1 -1
- package/dist/components/hds/app-frame/parts/footer.js +10 -4
- package/dist/components/hds/app-frame/parts/footer.js.map +1 -1
- package/dist/components/hds/app-frame/parts/header.js +10 -4
- package/dist/components/hds/app-frame/parts/header.js.map +1 -1
- package/dist/components/hds/app-frame/parts/main.js +10 -4
- package/dist/components/hds/app-frame/parts/main.js.map +1 -1
- package/dist/components/hds/app-frame/parts/modals.js +10 -4
- package/dist/components/hds/app-frame/parts/modals.js.map +1 -1
- package/dist/components/hds/app-frame/parts/sidebar.js +10 -4
- package/dist/components/hds/app-frame/parts/sidebar.js.map +1 -1
- package/dist/components/hds/badge/index.js +19 -18
- package/dist/components/hds/badge/index.js.map +1 -1
- package/dist/components/hds/badge/types.js +29 -0
- package/dist/components/hds/badge/types.js.map +1 -0
- package/dist/components/hds/badge-count/index.js +15 -14
- package/dist/components/hds/badge-count/index.js.map +1 -1
- package/dist/components/hds/badge-count/types.js +25 -0
- package/dist/components/hds/badge-count/types.js.map +1 -0
- package/dist/components/hds/button/index.js +3 -3
- package/dist/components/hds/button/index.js.map +1 -1
- package/dist/components/hds/button-set/index.js +8 -2
- package/dist/components/hds/button-set/index.js.map +1 -1
- package/dist/components/hds/card/container.js.map +1 -1
- package/dist/components/hds/card/types.js +5 -0
- package/dist/components/hds/card/types.js.map +1 -1
- package/dist/components/hds/code-block/index.js +1 -1
- package/dist/components/hds/code-block/index.js.map +1 -1
- package/dist/components/hds/copy/button/index.js +1 -1
- package/dist/components/hds/copy/button/index.js.map +1 -1
- package/dist/components/hds/copy/snippet/index.js +1 -1
- package/dist/components/hds/copy/snippet/index.js.map +1 -1
- package/dist/components/hds/disclosure-primitive/index.js +2 -2
- package/dist/components/hds/disclosure-primitive/index.js.map +1 -1
- package/dist/components/hds/dismiss-button/index.js +3 -3
- package/dist/components/hds/dismiss-button/index.js.map +1 -1
- package/dist/components/hds/dropdown/index.js +1 -1
- package/dist/components/hds/dropdown/index.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/checkmark.js +1 -1
- package/dist/components/hds/dropdown/list-item/checkmark.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/interactive.js +1 -1
- package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -1
- package/dist/components/hds/dropdown/toggle/button.js +1 -1
- package/dist/components/hds/dropdown/toggle/icon.js +1 -1
- package/dist/components/hds/dropdown/toggle/icon.js.map +1 -1
- package/dist/components/hds/flyout/index.js +1 -1
- package/dist/components/hds/flyout/index.js.map +1 -1
- package/dist/components/hds/form/field/index.js +1 -1
- package/dist/components/hds/form/field/index.js.map +1 -1
- package/dist/components/hds/form/fieldset/index.js +1 -1
- package/dist/components/hds/form/fieldset/index.js.map +1 -1
- package/dist/components/hds/form/label/index.js +18 -2
- package/dist/components/hds/form/label/index.js.map +1 -1
- package/dist/components/hds/form/masked-input/base.js +1 -1
- package/dist/components/hds/form/masked-input/base.js.map +1 -1
- package/dist/components/hds/form/radio-card/index.js +1 -1
- package/dist/components/hds/form/radio-card/index.js.map +1 -1
- package/dist/components/hds/form/super-select/after-options.js +10 -0
- package/dist/components/hds/form/super-select/after-options.js.map +1 -0
- package/dist/components/hds/form/super-select/multiple/base.js +159 -0
- package/dist/components/hds/form/super-select/multiple/base.js.map +1 -0
- package/dist/components/hds/form/super-select/multiple/field.js +21 -0
- package/dist/components/hds/form/super-select/multiple/field.js.map +1 -0
- package/dist/components/hds/form/super-select/option-group.js +22 -0
- package/dist/components/hds/form/super-select/option-group.js.map +1 -0
- package/dist/components/hds/form/super-select/placeholder.js +10 -0
- package/dist/components/hds/form/super-select/placeholder.js.map +1 -0
- package/dist/components/hds/form/super-select/single/base.js +86 -0
- package/dist/components/hds/form/super-select/single/base.js.map +1 -0
- package/dist/components/hds/form/super-select/single/field.js +21 -0
- package/dist/components/hds/form/super-select/single/field.js.map +1 -0
- package/dist/components/hds/form/text-input/field.js +1 -1
- package/dist/components/hds/form/text-input/field.js.map +1 -1
- package/dist/components/hds/icon-tile/index.js +15 -11
- package/dist/components/hds/icon-tile/index.js.map +1 -1
- package/dist/components/hds/icon-tile/types.js +32 -0
- package/dist/components/hds/icon-tile/types.js.map +1 -0
- package/dist/components/hds/interactive/index.js +4 -4
- package/dist/components/hds/interactive/index.js.map +1 -1
- package/dist/components/hds/link/inline.js.map +1 -1
- package/dist/components/hds/link/standalone.js.map +1 -1
- package/dist/components/hds/link/types.js +5 -0
- package/dist/components/hds/link/types.js.map +1 -1
- package/dist/components/hds/menu-primitive/index.js +1 -1
- package/dist/components/hds/menu-primitive/index.js.map +1 -1
- package/dist/components/hds/modal/index.js +1 -1
- package/dist/components/hds/modal/index.js.map +1 -1
- package/dist/components/hds/pagination/compact/index.js +1 -1
- package/dist/components/hds/pagination/compact/index.js.map +1 -1
- package/dist/components/hds/pagination/nav/arrow.js +1 -1
- package/dist/components/hds/pagination/nav/arrow.js.map +1 -1
- package/dist/components/hds/pagination/nav/number.js +1 -1
- package/dist/components/hds/pagination/nav/number.js.map +1 -1
- package/dist/components/hds/pagination/numbered/index.js +1 -1
- package/dist/components/hds/pagination/numbered/index.js.map +1 -1
- package/dist/components/hds/pagination/size-selector/index.js +1 -1
- package/dist/components/hds/pagination/size-selector/index.js.map +1 -1
- package/dist/components/hds/popover-primitive/index.js +238 -0
- package/dist/components/hds/popover-primitive/index.js.map +1 -0
- package/dist/components/hds/reveal/index.js +21 -17
- package/dist/components/hds/reveal/index.js.map +1 -1
- package/dist/components/hds/reveal/toggle/button.js +5 -5
- package/dist/components/hds/reveal/toggle/button.js.map +1 -1
- package/dist/components/hds/rich-tooltip/bubble.js +60 -0
- package/dist/components/hds/rich-tooltip/bubble.js.map +1 -0
- package/dist/components/hds/rich-tooltip/index.js +26 -0
- package/dist/components/hds/rich-tooltip/index.js.map +1 -0
- package/dist/components/hds/rich-tooltip/toggle.js +85 -0
- package/dist/components/hds/rich-tooltip/toggle.js.map +1 -0
- package/dist/components/hds/separator/index.js +9 -8
- package/dist/components/hds/separator/index.js.map +1 -1
- package/dist/components/hds/separator/types.js +13 -0
- package/dist/components/hds/separator/types.js.map +1 -0
- package/dist/components/hds/side-nav/index.js +1 -1
- package/dist/components/hds/side-nav/index.js.map +1 -1
- package/dist/components/hds/side-nav/portal/target.js +1 -1
- package/dist/components/hds/side-nav/portal/target.js.map +1 -1
- package/dist/components/hds/stepper/step/indicator.js +9 -8
- package/dist/components/hds/stepper/step/indicator.js.map +1 -1
- package/dist/components/hds/stepper/task/indicator.js +10 -14
- package/dist/components/hds/stepper/task/indicator.js.map +1 -1
- package/dist/components/hds/stepper/types.js +21 -0
- package/dist/components/hds/stepper/types.js.map +1 -0
- package/dist/components/hds/table/index.js +1 -1
- package/dist/components/hds/table/index.js.map +1 -1
- package/dist/components/hds/table/th-button-sort.js +1 -1
- package/dist/components/hds/table/th-button-tooltip.js +1 -1
- package/dist/components/hds/table/th-selectable.js +1 -1
- package/dist/components/hds/table/th-selectable.js.map +1 -1
- package/dist/components/hds/table/th-sort.js +1 -1
- package/dist/components/hds/table/th.js +1 -1
- package/dist/components/hds/tabs/index.js +1 -1
- package/dist/components/hds/tabs/index.js.map +1 -1
- package/dist/components/hds/tabs/panel.js +1 -1
- package/dist/components/hds/tabs/panel.js.map +1 -1
- package/dist/components/hds/tabs/tab.js +1 -1
- package/dist/components/hds/tabs/tab.js.map +1 -1
- package/dist/components/hds/tag/index.js +11 -10
- package/dist/components/hds/tag/index.js.map +1 -1
- package/dist/components/hds/tag/types.js +13 -0
- package/dist/components/hds/tag/types.js.map +1 -0
- package/dist/components/hds/text/body.js.map +1 -1
- package/dist/components/hds/text/code.js.map +1 -1
- package/dist/components/hds/text/display.js.map +1 -1
- package/dist/components/hds/text/index.js +3 -3
- package/dist/components/hds/text/index.js.map +1 -1
- package/dist/components/hds/toast/index.js +8 -2
- package/dist/components/hds/toast/index.js.map +1 -1
- package/dist/components/hds/yield/index.js +4 -4
- package/dist/components/hds/yield/index.js.map +1 -1
- package/dist/modifiers/hds-anchored-position.js +175 -0
- package/dist/modifiers/hds-anchored-position.js.map +1 -0
- package/dist/modifiers/hds-register-event.js +40 -0
- package/dist/modifiers/hds-register-event.js.map +1 -0
- package/dist/modifiers/hds-tooltip.js +10 -14
- package/dist/modifiers/hds-tooltip.js.map +1 -1
- package/dist/styles/@hashicorp/design-system-components.css +565 -3
- package/dist/styles/@hashicorp/design-system-components.scss +1 -0
- package/dist/styles/@hashicorp/design-system-power-select-overrides.scss +0 -1
- package/dist/styles/components/code-block/theme.scss +1 -1
- package/dist/styles/components/dropdown.scss +7 -0
- package/dist/styles/components/form/index.scss +1 -0
- package/dist/styles/components/form/select.scss +0 -1
- package/dist/styles/components/form/super-select.scss +515 -0
- package/dist/styles/components/form/text-input.scss +0 -1
- package/dist/styles/components/form/textarea.scss +0 -1
- package/dist/styles/components/page-header.scss +1 -0
- package/dist/styles/components/rich-tooltip.scss +247 -0
- package/dist/styles/components/tabs.scss +2 -1
- package/dist/styles/components/tooltip.scss +1 -1
- package/package.json +54 -28
- package/dist/_app_/components/hds/text/types.js +0 -1
- package/dist/_app_/components/hds/yield/types.js +0 -1
- package/dist/components/hds/interactive/types.js +0 -2
- package/dist/components/hds/interactive/types.js.map +0 -1
- package/dist/components/hds/yield/types.js +0 -2
- package/dist/components/hds/yield/types.js.map +0 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import Component from '@glimmer/component';
|
|
2
|
+
import { assert } from '@ember/debug';
|
|
3
|
+
import '../popover-primitive/index.js';
|
|
4
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
5
|
+
import { setComponentTemplate } from '@ember/component';
|
|
6
|
+
import { PLACEMENTS as PLACEMENTS$1 } from '../../../modifiers/hds-anchored-position.js';
|
|
7
|
+
|
|
8
|
+
var TEMPLATE = precompileTemplate("{{! @glint-nocheck: not typesafe yet }}\n{{!\n Copyright (c) HashiCorp, InPP.\n SPDX-License-Identifier: MPL-2.0\n}}\n<div\n class=\"hds-rich-tooltip__bubble\"\n ...attributes\n id={{@popoverId}}\n tabindex=\"-1\"\n role=\"tooltip\"\n aria-hidden={{(unless @isOpen true)}}\n {{style this.sizingStyles}}\n {{@setupPrimitivePopover anchoredPositionOptions=this.anchoredPositionOptions}}\n>\n <div class=\"hds-rich-tooltip__bubble-arrow\" id={{@arrowId}} />\n {{#if @isOpen}}\n <div class=\"hds-rich-tooltip__bubble-inner-content\">\n {{yield}}\n </div>\n {{/if}}\n</div>");
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Copyright (c) HashiCorp, Inc.
|
|
12
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
const DEFAULT_PLACEMENT = 'bottom';
|
|
16
|
+
const PLACEMENTS = [...PLACEMENTS$1];
|
|
17
|
+
class HdsRichTooltipBubbleComponent extends Component {
|
|
18
|
+
/**
|
|
19
|
+
* @param placement
|
|
20
|
+
* @type {string}
|
|
21
|
+
* @description Determines the position of the "popover"
|
|
22
|
+
*/
|
|
23
|
+
get placement() {
|
|
24
|
+
const {
|
|
25
|
+
placement = DEFAULT_PLACEMENT
|
|
26
|
+
} = this.args;
|
|
27
|
+
assert(`@placement for "Hds::RichTooltip::Bubble" must be one of the following: ${PLACEMENTS.join(', ')}; received: ${placement}`, PLACEMENTS.includes(placement));
|
|
28
|
+
return placement;
|
|
29
|
+
}
|
|
30
|
+
get enableCollisionDetection() {
|
|
31
|
+
return this.args.enableCollisionDetection ?? true;
|
|
32
|
+
}
|
|
33
|
+
get sizingStyles() {
|
|
34
|
+
const sizingStyles = {};
|
|
35
|
+
if (this.args.width) {
|
|
36
|
+
sizingStyles['width'] = this.args.width;
|
|
37
|
+
sizingStyles['max-width'] = 'none';
|
|
38
|
+
}
|
|
39
|
+
if (this.args.height) {
|
|
40
|
+
sizingStyles['height'] = this.args.height;
|
|
41
|
+
sizingStyles['max-height'] = 'none';
|
|
42
|
+
}
|
|
43
|
+
return sizingStyles;
|
|
44
|
+
}
|
|
45
|
+
get anchoredPositionOptions() {
|
|
46
|
+
// custom options specific for the `RichTooltip` component
|
|
47
|
+
// for details see the `hds-anchored-position` modifier
|
|
48
|
+
return {
|
|
49
|
+
placement: this.placement,
|
|
50
|
+
offsetOptions: this.args.offset ?? 12,
|
|
51
|
+
enableCollisionDetection: this.args.enableCollisionDetection ?? true,
|
|
52
|
+
arrowSelector: `#${this.args.arrowId}`,
|
|
53
|
+
arrowPadding: 12
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
setComponentTemplate(TEMPLATE, HdsRichTooltipBubbleComponent);
|
|
58
|
+
|
|
59
|
+
export { DEFAULT_PLACEMENT, PLACEMENTS, HdsRichTooltipBubbleComponent as default };
|
|
60
|
+
//# sourceMappingURL=bubble.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bubble.js","sources":["../../../../src/components/hds/rich-tooltip/bubble.hbs","../../../../src/components/hds/rich-tooltip/bubble.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, InPP.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div\\n class=\\\"hds-rich-tooltip__bubble\\\"\\n ...attributes\\n id={{@popoverId}}\\n tabindex=\\\"-1\\\"\\n role=\\\"tooltip\\\"\\n aria-hidden={{(unless @isOpen true)}}\\n {{style this.sizingStyles}}\\n {{@setupPrimitivePopover anchoredPositionOptions=this.anchoredPositionOptions}}\\n>\\n <div class=\\\"hds-rich-tooltip__bubble-arrow\\\" id={{@arrowId}} />\\n {{#if @isOpen}}\\n <div class=\\\"hds-rich-tooltip__bubble-inner-content\\\">\\n {{yield}}\\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 { assert } from '@ember/debug';\n\nimport { PLACEMENTS as PRIMITIVE_PLACEMENTS } from '../popover-primitive/index';\n\nexport const DEFAULT_PLACEMENT = 'bottom';\nexport const PLACEMENTS = [...PRIMITIVE_PLACEMENTS];\n\nexport default class HdsRichTooltipBubbleComponent extends Component {\n /**\n * @param placement\n * @type {string}\n * @description Determines the position of the \"popover\"\n */\n get placement() {\n const { placement = DEFAULT_PLACEMENT } = this.args;\n\n assert(\n `@placement for \"Hds::RichTooltip::Bubble\" must be one of the following: ${PLACEMENTS.join(\n ', '\n )}; received: ${placement}`,\n PLACEMENTS.includes(placement)\n );\n\n return placement;\n }\n\n get enableCollisionDetection() {\n return this.args.enableCollisionDetection ?? true;\n }\n\n get sizingStyles() {\n const sizingStyles = {};\n\n if (this.args.width) {\n sizingStyles['width'] = this.args.width;\n sizingStyles['max-width'] = 'none';\n }\n\n if (this.args.height) {\n sizingStyles['height'] = this.args.height;\n sizingStyles['max-height'] = 'none';\n }\n\n return sizingStyles;\n }\n\n get anchoredPositionOptions() {\n // custom options specific for the `RichTooltip` component\n // for details see the `hds-anchored-position` modifier\n return {\n placement: this.placement,\n offsetOptions: this.args.offset ?? 12,\n enableCollisionDetection: this.args.enableCollisionDetection ?? true,\n arrowSelector: `#${this.args.arrowId}`,\n arrowPadding: 12,\n };\n }\n}\n"],"names":["DEFAULT_PLACEMENT","PLACEMENTS","PRIMITIVE_PLACEMENTS","HdsRichTooltipBubbleComponent","Component","placement","args","assert","join","includes","enableCollisionDetection","sizingStyles","width","height","anchoredPositionOptions","offsetOptions","offset","arrowSelector","arrowId","arrowPadding","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AACA,eAAe,kBAAkB,CAAC,klBAAklB;;ACDpnB;AACA;AACA;AACA;;AAOO,MAAMA,iBAAiB,GAAG,SAAQ;MAC5BC,UAAU,GAAG,CAAC,GAAGC,YAAoB,EAAC;AAEpC,MAAMC,6BAA6B,SAASC,SAAS,CAAC;AACnE;AACF;AACA;AACA;AACA;EACE,IAAIC,SAASA,GAAG;IACd,MAAM;AAAEA,MAAAA,SAAS,GAAGL,iBAAAA;KAAmB,GAAG,IAAI,CAACM,IAAI,CAAA;AAEnDC,IAAAA,MAAM,CACH,CAA0EN,wEAAAA,EAAAA,UAAU,CAACO,IAAI,CACxF,IACF,CAAE,CAAA,YAAA,EAAcH,SAAU,CAAA,CAAC,EAC3BJ,UAAU,CAACQ,QAAQ,CAACJ,SAAS,CAC/B,CAAC,CAAA;AAED,IAAA,OAAOA,SAAS,CAAA;AAClB,GAAA;EAEA,IAAIK,wBAAwBA,GAAG;AAC7B,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,wBAAwB,IAAI,IAAI,CAAA;AACnD,GAAA;EAEA,IAAIC,YAAYA,GAAG;IACjB,MAAMA,YAAY,GAAG,EAAE,CAAA;AAEvB,IAAA,IAAI,IAAI,CAACL,IAAI,CAACM,KAAK,EAAE;MACnBD,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,CAACL,IAAI,CAACM,KAAK,CAAA;AACvCD,MAAAA,YAAY,CAAC,WAAW,CAAC,GAAG,MAAM,CAAA;AACpC,KAAA;AAEA,IAAA,IAAI,IAAI,CAACL,IAAI,CAACO,MAAM,EAAE;MACpBF,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAACL,IAAI,CAACO,MAAM,CAAA;AACzCF,MAAAA,YAAY,CAAC,YAAY,CAAC,GAAG,MAAM,CAAA;AACrC,KAAA;AAEA,IAAA,OAAOA,YAAY,CAAA;AACrB,GAAA;EAEA,IAAIG,uBAAuBA,GAAG;AAC5B;AACA;IACA,OAAO;MACLT,SAAS,EAAE,IAAI,CAACA,SAAS;AACzBU,MAAAA,aAAa,EAAE,IAAI,CAACT,IAAI,CAACU,MAAM,IAAI,EAAE;AACrCN,MAAAA,wBAAwB,EAAE,IAAI,CAACJ,IAAI,CAACI,wBAAwB,IAAI,IAAI;AACpEO,MAAAA,aAAa,EAAG,CAAG,CAAA,EAAA,IAAI,CAACX,IAAI,CAACY,OAAQ,CAAC,CAAA;AACtCC,MAAAA,YAAY,EAAE,EAAA;KACf,CAAA;AACH,GAAA;AACF,CAAA;AAACC,oBAAA,CAAAC,QAAA,EAlDoBlB,6BAA6B,CAAA;;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { a as _defineProperty } from '../../../_rollupPluginBabelHelpers-NoJJJNhk.js';
|
|
2
|
+
import Component from '@glimmer/component';
|
|
3
|
+
import { getElementId } from '../../../utils/hds-get-element-id.js';
|
|
4
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
5
|
+
import { setComponentTemplate } from '@ember/component';
|
|
6
|
+
|
|
7
|
+
var TEMPLATE = precompileTemplate("{{! @glint-nocheck: not typesafe yet }}\n{{!\n Copyright (c) HashiCorp, InPP.\n SPDX-License-Identifier: MPL-2.0\n}}\n{{! IMPORTANT: we need to add \"squishies\" here (~) because otherwise the whitespace added by Ember becomes visible in the underlined text (being an inline element) - See https://handlebarsjs.com/guide/expressions.html#whitespace-control }}\n<Hds::PopoverPrimitive\n @isOpen={{@isOpen}}\n @onOpen={{@onOpen}}\n @onClose={{@onClose}}\n @enableSoftEvents={{this.enableSoftEvents}}\n @enableClickEvents={{this.enableClickEvents}}\n as |PP|\n><div class=\"hds-rich-tooltip\" ...attributes {{PP.setupPrimitiveContainer}}>\n {{~yield\n (hash\n Toggle=(component\n \"hds/rich-tooltip/toggle\"\n popoverId=this.popoverId\n setupPrimitiveToggle=PP.setupPrimitiveToggle\n isOpen=PP.isOpen\n )\n Bubble=(component\n \"hds/rich-tooltip/bubble\"\n arrowId=this.arrowId\n popoverId=this.popoverId\n setupPrimitivePopover=PP.setupPrimitivePopover\n isOpen=PP.isOpen\n )\n isOpen=PP.isOpen\n close=PP.hidePopover\n )\n ~}}\n </div></Hds::PopoverPrimitive>");
|
|
8
|
+
|
|
9
|
+
class HdsRichTooltipIndexComponent extends Component {
|
|
10
|
+
constructor(...args) {
|
|
11
|
+
super(...args);
|
|
12
|
+
_defineProperty(this, "elementId", getElementId(this));
|
|
13
|
+
_defineProperty(this, "arrowId", `arrow-${this.elementId}`);
|
|
14
|
+
_defineProperty(this, "popoverId", `popover-${this.elementId}`);
|
|
15
|
+
}
|
|
16
|
+
get enableSoftEvents() {
|
|
17
|
+
return this.args.enableClickEvents !== true;
|
|
18
|
+
}
|
|
19
|
+
get enableClickEvents() {
|
|
20
|
+
return this.args.enableClickEvents ?? false;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
setComponentTemplate(TEMPLATE, HdsRichTooltipIndexComponent);
|
|
24
|
+
|
|
25
|
+
export { HdsRichTooltipIndexComponent as default };
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/rich-tooltip/index.hbs","../../../../src/components/hds/rich-tooltip/index.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, InPP.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n{{! IMPORTANT: we need to add \\\"squishies\\\" here (~) because otherwise the whitespace added by Ember becomes visible in the underlined text (being an inline element) - See https://handlebarsjs.com/guide/expressions.html#whitespace-control }}\\n<Hds::PopoverPrimitive\\n @isOpen={{@isOpen}}\\n @onOpen={{@onOpen}}\\n @onClose={{@onClose}}\\n @enableSoftEvents={{this.enableSoftEvents}}\\n @enableClickEvents={{this.enableClickEvents}}\\n as |PP|\\n><div class=\\\"hds-rich-tooltip\\\" ...attributes {{PP.setupPrimitiveContainer}}>\\n {{~yield\\n (hash\\n Toggle=(component\\n \\\"hds/rich-tooltip/toggle\\\"\\n popoverId=this.popoverId\\n setupPrimitiveToggle=PP.setupPrimitiveToggle\\n isOpen=PP.isOpen\\n )\\n Bubble=(component\\n \\\"hds/rich-tooltip/bubble\\\"\\n arrowId=this.arrowId\\n popoverId=this.popoverId\\n setupPrimitivePopover=PP.setupPrimitivePopover\\n isOpen=PP.isOpen\\n )\\n isOpen=PP.isOpen\\n close=PP.hidePopover\\n )\\n ~}}\\n </div></Hds::PopoverPrimitive>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { getElementId } from '../../../utils/hds-get-element-id';\n\nexport default class HdsRichTooltipIndexComponent extends Component {\n elementId = getElementId(this);\n arrowId = `arrow-${this.elementId}`;\n popoverId = `popover-${this.elementId}`;\n\n get enableSoftEvents() {\n return this.args.enableClickEvents !== true;\n }\n\n get enableClickEvents() {\n return this.args.enableClickEvents ?? false;\n }\n}\n"],"names":["HdsRichTooltipIndexComponent","Component","constructor","args","_defineProperty","getElementId","elementId","enableSoftEvents","enableClickEvents","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,wrCAAwrC;;ACO3sC,MAAMA,4BAA4B,SAASC,SAAS,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAAAC,IAAAA,eAAA,CACtDC,IAAAA,EAAAA,WAAAA,EAAAA,YAAY,CAAC,IAAI,CAAC,CAAA,CAAA;AAAAD,IAAAA,eAAA,CACnB,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,EAAQ,IAAI,CAACE,SAAU,CAAC,CAAA,CAAA,CAAA;AAAAF,IAAAA,eAAA,CACtB,IAAA,EAAA,WAAA,EAAA,CAAA,QAAA,EAAU,IAAI,CAACE,SAAU,CAAC,CAAA,CAAA,CAAA;AAAA,GAAA;EAEvC,IAAIC,gBAAgBA,GAAG;AACrB,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACK,iBAAiB,KAAK,IAAI,CAAA;AAC7C,GAAA;EAEA,IAAIA,iBAAiBA,GAAG;AACtB,IAAA,OAAO,IAAI,CAACL,IAAI,CAACK,iBAAiB,IAAI,KAAK,CAAA;AAC7C,GAAA;AACF,CAAA;AAACC,oBAAA,CAAAC,QAAA,EAZoBV,4BAA4B,CAAA;;;;"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import Component from '@glimmer/component';
|
|
2
|
+
import { assert } from '@ember/debug';
|
|
3
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
4
|
+
import { setComponentTemplate } from '@ember/component';
|
|
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{{! IMPORTANT: we need to add \"squishies\" here (~) because otherwise the whitespace added by Ember becomes visible in the underlined text (being an inline element) - See https://handlebarsjs.com/guide/expressions.html#whitespace-control }}\n<button\n class={{this.classNames}}\n ...attributes\n type=\"button\"\n aria-controls={{@popoverId}}\n aria-describedby={{@popoverId}}\n aria-expanded={{if @isOpen \"true\" \"false\"}}\n {{@setupPrimitiveToggle}}\n>\n {{~#if (has-block)~}}\n {{yield}}\n {{~else~}}\n {{~#if (and @icon (eq this.iconPosition \"leading\"))~}}\n <FlightIcon class=\"hds-rich-tooltip__toggle-icon\" @name={{@icon}} @isInlineBlock={{this.isInline}} />\n {{~/if~}}\n {{~#if @text~}}\n <span class=\"hds-rich-tooltip__toggle-text\">{{~@text~}}</span>\n {{~/if~}}\n {{~#if (and @icon (eq this.iconPosition \"trailing\"))~}}\n <FlightIcon class=\"hds-rich-tooltip__toggle-icon\" @name={{@icon}} @isInlineBlock={{this.isInline}} />\n {{~/if~}}\n {{~/if~}}\n</button>");
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Copyright (c) HashiCorp, Inc.
|
|
10
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
const DEFAULT_ICONPOSITION = 'trailing';
|
|
14
|
+
const ICONPOSITIONS = ['leading', 'trailing'];
|
|
15
|
+
const SIZES = ['small', 'medium', 'large'];
|
|
16
|
+
class HdsRichTooltipToggleComponent extends Component {
|
|
17
|
+
/**
|
|
18
|
+
* @param isInline
|
|
19
|
+
* @type {boolean}
|
|
20
|
+
* @default true
|
|
21
|
+
* @description sets display inline for the element
|
|
22
|
+
*/
|
|
23
|
+
get isInline() {
|
|
24
|
+
const {
|
|
25
|
+
isInline = false
|
|
26
|
+
} = this.args;
|
|
27
|
+
return isInline;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* @param iconPosition
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @default leading
|
|
34
|
+
* @description Positions the icon before or after the text; allowed values are `leading` or `trailing`
|
|
35
|
+
*/
|
|
36
|
+
get iconPosition() {
|
|
37
|
+
const {
|
|
38
|
+
iconPosition = DEFAULT_ICONPOSITION
|
|
39
|
+
} = this.args;
|
|
40
|
+
assert(`@iconPosition for "Hds::RichTooltip::Toggle" must be one of the following: ${ICONPOSITIONS.join(', ')}; received: ${iconPosition}`, ICONPOSITIONS.includes(iconPosition));
|
|
41
|
+
return iconPosition;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* @param size
|
|
46
|
+
* @type {string}
|
|
47
|
+
* @default medium
|
|
48
|
+
* @description The size of the "info" text; acceptable values are `small`, `medium`, `large`
|
|
49
|
+
*/
|
|
50
|
+
get size() {
|
|
51
|
+
let size;
|
|
52
|
+
|
|
53
|
+
// we assing a "size" only if `@text` is provided
|
|
54
|
+
if (this.args.text) {
|
|
55
|
+
size = this.args.size;
|
|
56
|
+
assert(`@size for "Hds::RichTooltip::Toggle" must be one of the following: ${SIZES.join(', ')}; received: ${size}`, size === undefined || SIZES.includes(size));
|
|
57
|
+
}
|
|
58
|
+
return size;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Get the class names to apply to the component.
|
|
63
|
+
* @return {string} The "class" attribute to apply to the component.
|
|
64
|
+
*/
|
|
65
|
+
get classNames() {
|
|
66
|
+
let classes = ['hds-rich-tooltip__toggle'];
|
|
67
|
+
|
|
68
|
+
// add a class based on the @isInline argument
|
|
69
|
+
if (this.isInline) {
|
|
70
|
+
classes.push('hds-rich-tooltip__toggle--is-inline');
|
|
71
|
+
} else {
|
|
72
|
+
classes.push('hds-rich-tooltip__toggle--is-block');
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// add a class based on the @size argument (if provided)
|
|
76
|
+
if (this.size) {
|
|
77
|
+
classes.push(`hds-rich-tooltip__toggle--size-${this.size}`);
|
|
78
|
+
}
|
|
79
|
+
return classes.join(' ');
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
setComponentTemplate(TEMPLATE, HdsRichTooltipToggleComponent);
|
|
83
|
+
|
|
84
|
+
export { DEFAULT_ICONPOSITION, ICONPOSITIONS, SIZES, HdsRichTooltipToggleComponent as default };
|
|
85
|
+
//# sourceMappingURL=toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggle.js","sources":["../../../../src/components/hds/rich-tooltip/toggle.hbs","../../../../src/components/hds/rich-tooltip/toggle.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{{! IMPORTANT: we need to add \\\"squishies\\\" here (~) because otherwise the whitespace added by Ember becomes visible in the underlined text (being an inline element) - See https://handlebarsjs.com/guide/expressions.html#whitespace-control }}\\n<button\\n class={{this.classNames}}\\n ...attributes\\n type=\\\"button\\\"\\n aria-controls={{@popoverId}}\\n aria-describedby={{@popoverId}}\\n aria-expanded={{if @isOpen \\\"true\\\" \\\"false\\\"}}\\n {{@setupPrimitiveToggle}}\\n>\\n {{~#if (has-block)~}}\\n {{yield}}\\n {{~else~}}\\n {{~#if (and @icon (eq this.iconPosition \\\"leading\\\"))~}}\\n <FlightIcon class=\\\"hds-rich-tooltip__toggle-icon\\\" @name={{@icon}} @isInlineBlock={{this.isInline}} />\\n {{~/if~}}\\n {{~#if @text~}}\\n <span class=\\\"hds-rich-tooltip__toggle-text\\\">{{~@text~}}</span>\\n {{~/if~}}\\n {{~#if (and @icon (eq this.iconPosition \\\"trailing\\\"))~}}\\n <FlightIcon class=\\\"hds-rich-tooltip__toggle-icon\\\" @name={{@icon}} @isInlineBlock={{this.isInline}} />\\n {{~/if~}}\\n {{~/if~}}\\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';\n\nexport const DEFAULT_ICONPOSITION = 'trailing';\nexport const ICONPOSITIONS = ['leading', 'trailing'];\nexport const SIZES = ['small', 'medium', 'large'];\n\nexport default class HdsRichTooltipToggleComponent extends Component {\n /**\n * @param isInline\n * @type {boolean}\n * @default true\n * @description sets display inline for the element\n */\n get isInline() {\n const { isInline = false } = this.args;\n return isInline;\n }\n\n /**\n * @param iconPosition\n * @type {string}\n * @default leading\n * @description Positions the icon before or after the text; allowed values are `leading` or `trailing`\n */\n get iconPosition() {\n const { iconPosition = DEFAULT_ICONPOSITION } = this.args;\n\n assert(\n `@iconPosition for \"Hds::RichTooltip::Toggle\" must be one of the following: ${ICONPOSITIONS.join(\n ', '\n )}; received: ${iconPosition}`,\n ICONPOSITIONS.includes(iconPosition)\n );\n\n return iconPosition;\n }\n\n /**\n * @param size\n * @type {string}\n * @default medium\n * @description The size of the \"info\" text; acceptable values are `small`, `medium`, `large`\n */\n get size() {\n let size;\n\n // we assing a \"size\" only if `@text` is provided\n if (this.args.text) {\n size = this.args.size;\n\n assert(\n `@size for \"Hds::RichTooltip::Toggle\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n size === undefined || SIZES.includes(size)\n );\n }\n\n return size;\n }\n\n /**\n * Get the class names to apply to the component.\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-rich-tooltip__toggle'];\n\n // add a class based on the @isInline argument\n if (this.isInline) {\n classes.push('hds-rich-tooltip__toggle--is-inline');\n } else {\n classes.push('hds-rich-tooltip__toggle--is-block');\n }\n\n // add a class based on the @size argument (if provided)\n if (this.size) {\n classes.push(`hds-rich-tooltip__toggle--size-${this.size}`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_ICONPOSITION","ICONPOSITIONS","SIZES","HdsRichTooltipToggleComponent","Component","isInline","args","iconPosition","assert","join","includes","size","text","undefined","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;AACA,eAAe,kBAAkB,CAAC,6nCAA6nC;;ACD/pC;AACA;AACA;AACA;;AAKO,MAAMA,oBAAoB,GAAG,WAAU;MACjCC,aAAa,GAAG,CAAC,SAAS,EAAE,UAAU,EAAC;AAC7C,MAAMC,KAAK,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAC;AAElC,MAAMC,6BAA6B,SAASC,SAAS,CAAC;AACnE;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,QAAQA,GAAG;IACb,MAAM;AAAEA,MAAAA,QAAQ,GAAG,KAAA;KAAO,GAAG,IAAI,CAACC,IAAI,CAAA;AACtC,IAAA,OAAOD,QAAQ,CAAA;AACjB,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAIE,YAAYA,GAAG;IACjB,MAAM;AAAEA,MAAAA,YAAY,GAAGP,oBAAAA;KAAsB,GAAG,IAAI,CAACM,IAAI,CAAA;AAEzDE,IAAAA,MAAM,CACH,CAA6EP,2EAAAA,EAAAA,aAAa,CAACQ,IAAI,CAC9F,IACF,CAAE,CAAA,YAAA,EAAcF,YAAa,CAAA,CAAC,EAC9BN,aAAa,CAACS,QAAQ,CAACH,YAAY,CACrC,CAAC,CAAA;AAED,IAAA,OAAOA,YAAY,CAAA;AACrB,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAII,IAAIA,GAAG;AACT,IAAA,IAAIA,IAAI,CAAA;;AAER;AACA,IAAA,IAAI,IAAI,CAACL,IAAI,CAACM,IAAI,EAAE;AAClBD,MAAAA,IAAI,GAAG,IAAI,CAACL,IAAI,CAACK,IAAI,CAAA;MAErBH,MAAM,CACH,sEAAqEN,KAAK,CAACO,IAAI,CAC9E,IACF,CAAE,CAAA,YAAA,EAAcE,IAAK,CAAA,CAAC,EACtBA,IAAI,KAAKE,SAAS,IAAIX,KAAK,CAACQ,QAAQ,CAACC,IAAI,CAC3C,CAAC,CAAA;AACH,KAAA;AAEA,IAAA,OAAOA,IAAI,CAAA;AACb,GAAA;;AAEA;AACF;AACA;AACA;EACE,IAAIG,UAAUA,GAAG;AACf,IAAA,IAAIC,OAAO,GAAG,CAAC,0BAA0B,CAAC,CAAA;;AAE1C;IACA,IAAI,IAAI,CAACV,QAAQ,EAAE;AACjBU,MAAAA,OAAO,CAACC,IAAI,CAAC,qCAAqC,CAAC,CAAA;AACrD,KAAC,MAAM;AACLD,MAAAA,OAAO,CAACC,IAAI,CAAC,oCAAoC,CAAC,CAAA;AACpD,KAAA;;AAEA;IACA,IAAI,IAAI,CAACL,IAAI,EAAE;MACbI,OAAO,CAACC,IAAI,CAAE,CAAA,+BAAA,EAAiC,IAAI,CAACL,IAAK,EAAC,CAAC,CAAA;AAC7D,KAAA;AAEA,IAAA,OAAOI,OAAO,CAACN,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACQ,oBAAA,CAAAC,QAAA,EA5EoBf,6BAA6B,CAAA;;;;"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import Component from '@glimmer/component';
|
|
2
2
|
import { assert } from '@ember/debug';
|
|
3
|
+
import { HdsSeparatorSpacingValues } from './types.js';
|
|
3
4
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
4
5
|
import { setComponentTemplate } from '@ember/component';
|
|
5
6
|
|
|
6
|
-
var TEMPLATE = precompileTemplate("{{
|
|
7
|
+
var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<hr class={{this.classNames}} ...attributes />");
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* Copyright (c) HashiCorp, Inc.
|
|
10
11
|
* SPDX-License-Identifier: MPL-2.0
|
|
11
12
|
*/
|
|
12
13
|
|
|
13
|
-
const DEFAULT_SPACING =
|
|
14
|
-
const SPACING =
|
|
15
|
-
class
|
|
14
|
+
const DEFAULT_SPACING = HdsSeparatorSpacingValues.TwentyFour;
|
|
15
|
+
const SPACING = Object.values(HdsSeparatorSpacingValues);
|
|
16
|
+
class HdsSeparatorComponent extends Component {
|
|
16
17
|
/**
|
|
17
18
|
* Sets the margin for the separator
|
|
18
19
|
* Accepted values: 24, 0
|
|
@@ -22,7 +23,7 @@ class HdsSeparatorIndexComponent extends Component {
|
|
|
22
23
|
* @default 'default'
|
|
23
24
|
*/
|
|
24
25
|
get spacing() {
|
|
25
|
-
|
|
26
|
+
const {
|
|
26
27
|
spacing = DEFAULT_SPACING
|
|
27
28
|
} = this.args;
|
|
28
29
|
assert(`@spacing for "Hds::Separator" must be one of the following: ${SPACING.join(', ')}; received: ${spacing}`, SPACING.includes(spacing));
|
|
@@ -35,14 +36,14 @@ class HdsSeparatorIndexComponent extends Component {
|
|
|
35
36
|
* @return {string} The "class" attribute to apply to the component.
|
|
36
37
|
*/
|
|
37
38
|
get classNames() {
|
|
38
|
-
|
|
39
|
+
const classes = ['hds-separator'];
|
|
39
40
|
|
|
40
41
|
// add a class based on the @spacing argument
|
|
41
42
|
classes.push(`hds-separator--spacing-${this.spacing}`);
|
|
42
43
|
return classes.join(' ');
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
|
-
setComponentTemplate(TEMPLATE,
|
|
46
|
+
setComponentTemplate(TEMPLATE, HdsSeparatorComponent);
|
|
46
47
|
|
|
47
|
-
export { DEFAULT_SPACING, SPACING,
|
|
48
|
+
export { DEFAULT_SPACING, SPACING, HdsSeparatorComponent as default };
|
|
48
49
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/separator/index.hbs","../../../../src/components/hds/separator/index.
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/separator/index.hbs","../../../../src/components/hds/separator/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<hr class={{this.classNames}} ...attributes />\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport { HdsSeparatorSpacingValues } from './types.ts';\nimport type { HdsSeparatorSpacing } from './types.ts';\n\nexport const DEFAULT_SPACING = HdsSeparatorSpacingValues.TwentyFour;\nexport const SPACING: string[] = Object.values(HdsSeparatorSpacingValues);\n\ninterface HdsSeparatorSignature {\n Args: {\n spacing?: HdsSeparatorSpacing;\n };\n Element: HTMLElement;\n}\n\nexport default class HdsSeparatorComponent extends Component<HdsSeparatorSignature> {\n /**\n * Sets the margin for the separator\n * Accepted values: 24, 0\n *\n * @param spacing\n * @type {string}\n * @default 'default'\n */\n get spacing() {\n const { spacing = DEFAULT_SPACING } = this.args;\n\n assert(\n `@spacing for \"Hds::Separator\" must be one of the following: ${SPACING.join(\n ', '\n )}; received: ${spacing}`,\n SPACING.includes(spacing)\n );\n\n return spacing;\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 const classes = ['hds-separator'];\n\n // add a class based on the @spacing argument\n classes.push(`hds-separator--spacing-${this.spacing}`);\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_SPACING","HdsSeparatorSpacingValues","TwentyFour","SPACING","Object","values","HdsSeparatorComponent","Component","spacing","args","assert","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,8HAA8H;;ACDhK;AACA;AACA;AACA;;AAQaA,MAAAA,eAAe,GAAGC,yBAAyB,CAACC,WAAU;AAC5D,MAAMC,OAAiB,GAAGC,MAAM,CAACC,MAAM,CAACJ,yBAAyB,EAAC;AAS1D,MAAMK,qBAAqB,SAASC,SAAS,CAAwB;AAClF;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,OAAOA,GAAG;IACZ,MAAM;AAAEA,MAAAA,OAAO,GAAGR,eAAAA;KAAiB,GAAG,IAAI,CAACS,IAAI,CAAA;AAE/CC,IAAAA,MAAM,CACH,CAA8DP,4DAAAA,EAAAA,OAAO,CAACQ,IAAI,CACzE,IACF,CAAE,CAAA,YAAA,EAAcH,OAAQ,CAAA,CAAC,EACzBL,OAAO,CAACS,QAAQ,CAACJ,OAAO,CAC1B,CAAC,CAAA;AAED,IAAA,OAAOA,OAAO,CAAA;AAChB,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIK,UAAUA,GAAG;AACf,IAAA,MAAMC,OAAO,GAAG,CAAC,eAAe,CAAC,CAAA;;AAEjC;IACAA,OAAO,CAACC,IAAI,CAAE,CAAA,uBAAA,EAAyB,IAAI,CAACP,OAAQ,EAAC,CAAC,CAAA;AAEtD,IAAA,OAAOM,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACK,oBAAA,CAAAC,QAAA,EAnCoBX,qBAAqB,CAAA;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) HashiCorp, Inc.
|
|
3
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
let HdsSeparatorSpacingValues = /*#__PURE__*/function (HdsSeparatorSpacingValues) {
|
|
7
|
+
HdsSeparatorSpacingValues["Zero"] = "0";
|
|
8
|
+
HdsSeparatorSpacingValues["TwentyFour"] = "24";
|
|
9
|
+
return HdsSeparatorSpacingValues;
|
|
10
|
+
}({});
|
|
11
|
+
|
|
12
|
+
export { HdsSeparatorSpacingValues };
|
|
13
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../../src/components/hds/separator/types.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nexport enum HdsSeparatorSpacingValues {\n Zero = '0',\n TwentyFour = '24',\n}\nexport type HdsSeparatorSpacing = `${HdsSeparatorSpacingValues}`;\n"],"names":["HdsSeparatorSpacingValues"],"mappings":"AAAA;AACA;AACA;AACA;;AAEYA,IAAAA,yBAAyB,0BAAzBA,yBAAyB,EAAA;EAAzBA,yBAAyB,CAAA,MAAA,CAAA,GAAA,GAAA,CAAA;EAAzBA,yBAAyB,CAAA,YAAA,CAAA,GAAA,IAAA,CAAA;AAAA,EAAA,OAAzBA,yBAAyB,CAAA;AAAA,CAAA,CAAA,EAAA;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty, a as _defineProperty } 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';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/side-nav/index.hbs","../../../../src/components/hds/side-nav/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<Hds::SideNav::Base\\n class={{this.classNames}}\\n ...attributes\\n {{on \\\"transitionstart\\\" (fn this.setTransition \\\"start\\\")}}\\n {{on \\\"transitionend\\\" (fn this.setTransition \\\"end\\\")}}\\n {{focus-trap isActive=this.shouldTrapFocus}}\\n {{did-insert this.didInsert}}\\n>\\n <:root>\\n {{#if this.hasA11yRefocus}}\\n <NavigationNarrator\\n @routeChangeValidator={{@a11yRefocusRouteChangeValidator}}\\n @skipTo=\\\"#{{@a11yRefocusSkipTo}}\\\"\\n @skipText={{@a11yRefocusSkipText}}\\n @navigationText={{@a11yRefocusNavigationText}}\\n />\\n {{/if}}\\n {{#if this.showToggleButton}}\\n {{! template-lint-disable no-invalid-interactive}}\\n <div class=\\\"hds-side-nav__overlay\\\" {{on \\\"click\\\" this.toggleMinimizedStatus}} />\\n {{! template-lint-enable no-invalid-interactive}}\\n <Hds::SideNav::ToggleButton\\n aria-label={{this.ariaLabel}}\\n @icon={{if this.isMinimized \\\"chevrons-right\\\" \\\"chevrons-left\\\"}}\\n {{on \\\"click\\\" this.toggleMinimizedStatus}}\\n />\\n {{/if}}\\n </:root>\\n <:header as |Header|>\\n {{yield (hash Header=Header isMinimized=this.isMinimized) to=\\\"header\\\"}}\\n </:header>\\n <:body as |Body|>\\n {{yield (hash Body=Body isMinimized=this.isMinimized) to=\\\"body\\\"}}\\n </:body>\\n <:footer as |Footer|>\\n {{yield (hash Footer=Footer isMinimized=this.isMinimized) to=\\\"footer\\\"}}\\n </:footer>\\n</Hds::SideNav::Base>\")","/**\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 { registerDestructor } from '@ember/destroyable';\n\nexport default class HdsSideNavComponent extends Component {\n @tracked isResponsive = this.args.isResponsive ?? true; // controls if the component reacts to viewport changes\n @tracked isMinimized = this.args.isMinimized ?? false; // sets the default state on 'desktop' viewports\n @tracked isCollapsible = this.args.isCollapsible ?? false; // controls if users can collapse the sidenav on 'desktop' viewports\n @tracked isAnimating = false;\n @tracked isDesktop = true;\n hasA11yRefocus = this.args.hasA11yRefocus ?? true;\n\n desktopMQVal = getComputedStyle(document.documentElement).getPropertyValue(\n '--hds-app-desktop-breakpoint'\n );\n\n constructor() {\n super(...arguments);\n this.desktopMQ = window.matchMedia(`(min-width:${this.desktopMQVal})`);\n this.addEventListeners();\n registerDestructor(this, () => {\n this.removeEventListeners();\n });\n\n if (this.args.hasA11yRefocus) {\n assert(\n '@a11yRefocusSkipTo for NavigatorNarrator (a11y-refocus) in \"Hds::SideNav\" must have a valid value',\n this.args.a11yRefocusSkipTo !== undefined\n );\n }\n }\n\n addEventListeners() {\n document.addEventListener('keydown', this.escapePress, true);\n this.desktopMQ.addEventListener('change', this.updateDesktopVariable, true);\n // if not instantiated as minimized via arguments\n if (!this.args.isMinimized) {\n // set initial state based on viewport\n this.updateDesktopVariable({ matches: this.desktopMQ.matches });\n }\n }\n\n removeEventListeners() {\n document.removeEventListener('keydown', this.escapePress, true);\n this.desktopMQ.removeEventListener(\n 'change',\n this.updateDesktopVariable,\n true\n );\n }\n\n get shouldTrapFocus() {\n return this.isResponsive && !this.isDesktop && !this.isMinimized;\n }\n\n get showToggleButton() {\n return (this.isResponsive && !this.isDesktop) || this.isCollapsible;\n }\n\n /**\n * @param ariaLabel\n * @type {string}\n * @default 'close menu'\n */\n get ariaLabel() {\n if (this.isMinimized) {\n return this.args.ariaLabel ?? 'Open menu';\n }\n return this.args.ariaLabel ?? 'Close menu';\n }\n\n get classNames() {\n let classes = []; // `hds-side-nav` is already set by the \"Hds::SideNav::Base\" component\n\n // add specific class names for the different possible states\n if (this.isResponsive) {\n classes.push('hds-side-nav--is-responsive');\n }\n if (!this.isDesktop && this.isResponsive) {\n classes.push('hds-side-nav--is-mobile');\n } else {\n classes.push('hds-side-nav--is-desktop');\n }\n if (this.isMinimized && this.isResponsive) {\n classes.push('hds-side-nav--is-minimized');\n } else {\n classes.push('hds-side-nav--is-not-minimized');\n }\n if (this.isAnimating) {\n classes.push('hds-side-nav--is-animating');\n }\n\n return classes.join(' ');\n }\n\n @action\n escapePress(event) {\n if (event.key === 'Escape' && !this.isMinimized && !this.isDesktop) {\n this.isMinimized = true;\n }\n }\n\n @action\n toggleMinimizedStatus() {\n this.isMinimized = !this.isMinimized;\n\n this.containersToHide.forEach((element) => {\n if (this.isMinimized) {\n element.setAttribute('inert', '');\n } else {\n element.removeAttribute('inert');\n }\n });\n\n let { onToggleMinimizedStatus } = this.args;\n\n if (typeof onToggleMinimizedStatus === 'function') {\n onToggleMinimizedStatus(this.isMinimized);\n }\n }\n\n @action\n didInsert(element) {\n this.containersToHide = element.querySelectorAll(\n '.hds-side-nav-hide-when-minimized'\n );\n }\n\n @action\n setTransition(phase, event) {\n // we only want to respond to `width` animation/transitions\n if (event.propertyName !== 'width') {\n return;\n }\n if (phase === 'start') {\n this.isAnimating = true;\n } else {\n this.isAnimating = false;\n }\n }\n\n @action\n updateDesktopVariable(event) {\n this.isDesktop = event.matches;\n\n // automatically minimize on narrow viewports (when not in desktop mode)\n this.isMinimized = !this.isDesktop;\n\n let { onDesktopViewportChange } = this.args;\n\n if (typeof onDesktopViewportChange === 'function') {\n onDesktopViewportChange(this.isDesktop);\n }\n }\n}\n"],"names":["HdsSideNavComponent","_class","Component","constructor","arguments","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_descriptor4","_descriptor5","_defineProperty","args","hasA11yRefocus","getComputedStyle","document","documentElement","getPropertyValue","desktopMQ","window","matchMedia","desktopMQVal","addEventListeners","registerDestructor","removeEventListeners","assert","a11yRefocusSkipTo","undefined","addEventListener","escapePress","updateDesktopVariable","isMinimized","matches","removeEventListener","shouldTrapFocus","isResponsive","isDesktop","showToggleButton","isCollapsible","ariaLabel","classNames","classes","push","isAnimating","join","event","key","toggleMinimizedStatus","containersToHide","forEach","element","setAttribute","removeAttribute","onToggleMinimizedStatus","didInsert","querySelectorAll","setTransition","phase","propertyName","onDesktopViewportChange","_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/side-nav/index.hbs","../../../../src/components/hds/side-nav/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<Hds::SideNav::Base\\n class={{this.classNames}}\\n ...attributes\\n {{on \\\"transitionstart\\\" (fn this.setTransition \\\"start\\\")}}\\n {{on \\\"transitionend\\\" (fn this.setTransition \\\"end\\\")}}\\n {{focus-trap isActive=this.shouldTrapFocus}}\\n {{did-insert this.didInsert}}\\n>\\n <:root>\\n {{#if this.hasA11yRefocus}}\\n <NavigationNarrator\\n @routeChangeValidator={{@a11yRefocusRouteChangeValidator}}\\n @skipTo=\\\"#{{@a11yRefocusSkipTo}}\\\"\\n @skipText={{@a11yRefocusSkipText}}\\n @navigationText={{@a11yRefocusNavigationText}}\\n />\\n {{/if}}\\n {{#if this.showToggleButton}}\\n {{! template-lint-disable no-invalid-interactive}}\\n <div class=\\\"hds-side-nav__overlay\\\" {{on \\\"click\\\" this.toggleMinimizedStatus}} />\\n {{! template-lint-enable no-invalid-interactive}}\\n <Hds::SideNav::ToggleButton\\n aria-label={{this.ariaLabel}}\\n @icon={{if this.isMinimized \\\"chevrons-right\\\" \\\"chevrons-left\\\"}}\\n {{on \\\"click\\\" this.toggleMinimizedStatus}}\\n />\\n {{/if}}\\n </:root>\\n <:header as |Header|>\\n {{yield (hash Header=Header isMinimized=this.isMinimized) to=\\\"header\\\"}}\\n </:header>\\n <:body as |Body|>\\n {{yield (hash Body=Body isMinimized=this.isMinimized) to=\\\"body\\\"}}\\n </:body>\\n <:footer as |Footer|>\\n {{yield (hash Footer=Footer isMinimized=this.isMinimized) to=\\\"footer\\\"}}\\n </:footer>\\n</Hds::SideNav::Base>\")","/**\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 { registerDestructor } from '@ember/destroyable';\n\nexport default class HdsSideNavComponent extends Component {\n @tracked isResponsive = this.args.isResponsive ?? true; // controls if the component reacts to viewport changes\n @tracked isMinimized = this.args.isMinimized ?? false; // sets the default state on 'desktop' viewports\n @tracked isCollapsible = this.args.isCollapsible ?? false; // controls if users can collapse the sidenav on 'desktop' viewports\n @tracked isAnimating = false;\n @tracked isDesktop = true;\n hasA11yRefocus = this.args.hasA11yRefocus ?? true;\n\n desktopMQVal = getComputedStyle(document.documentElement).getPropertyValue(\n '--hds-app-desktop-breakpoint'\n );\n\n constructor() {\n super(...arguments);\n this.desktopMQ = window.matchMedia(`(min-width:${this.desktopMQVal})`);\n this.addEventListeners();\n registerDestructor(this, () => {\n this.removeEventListeners();\n });\n\n if (this.args.hasA11yRefocus) {\n assert(\n '@a11yRefocusSkipTo for NavigatorNarrator (a11y-refocus) in \"Hds::SideNav\" must have a valid value',\n this.args.a11yRefocusSkipTo !== undefined\n );\n }\n }\n\n addEventListeners() {\n document.addEventListener('keydown', this.escapePress, true);\n this.desktopMQ.addEventListener('change', this.updateDesktopVariable, true);\n // if not instantiated as minimized via arguments\n if (!this.args.isMinimized) {\n // set initial state based on viewport\n this.updateDesktopVariable({ matches: this.desktopMQ.matches });\n }\n }\n\n removeEventListeners() {\n document.removeEventListener('keydown', this.escapePress, true);\n this.desktopMQ.removeEventListener(\n 'change',\n this.updateDesktopVariable,\n true\n );\n }\n\n get shouldTrapFocus() {\n return this.isResponsive && !this.isDesktop && !this.isMinimized;\n }\n\n get showToggleButton() {\n return (this.isResponsive && !this.isDesktop) || this.isCollapsible;\n }\n\n /**\n * @param ariaLabel\n * @type {string}\n * @default 'close menu'\n */\n get ariaLabel() {\n if (this.isMinimized) {\n return this.args.ariaLabel ?? 'Open menu';\n }\n return this.args.ariaLabel ?? 'Close menu';\n }\n\n get classNames() {\n let classes = []; // `hds-side-nav` is already set by the \"Hds::SideNav::Base\" component\n\n // add specific class names for the different possible states\n if (this.isResponsive) {\n classes.push('hds-side-nav--is-responsive');\n }\n if (!this.isDesktop && this.isResponsive) {\n classes.push('hds-side-nav--is-mobile');\n } else {\n classes.push('hds-side-nav--is-desktop');\n }\n if (this.isMinimized && this.isResponsive) {\n classes.push('hds-side-nav--is-minimized');\n } else {\n classes.push('hds-side-nav--is-not-minimized');\n }\n if (this.isAnimating) {\n classes.push('hds-side-nav--is-animating');\n }\n\n return classes.join(' ');\n }\n\n @action\n escapePress(event) {\n if (event.key === 'Escape' && !this.isMinimized && !this.isDesktop) {\n this.isMinimized = true;\n }\n }\n\n @action\n toggleMinimizedStatus() {\n this.isMinimized = !this.isMinimized;\n\n this.containersToHide.forEach((element) => {\n if (this.isMinimized) {\n element.setAttribute('inert', '');\n } else {\n element.removeAttribute('inert');\n }\n });\n\n let { onToggleMinimizedStatus } = this.args;\n\n if (typeof onToggleMinimizedStatus === 'function') {\n onToggleMinimizedStatus(this.isMinimized);\n }\n }\n\n @action\n didInsert(element) {\n this.containersToHide = element.querySelectorAll(\n '.hds-side-nav-hide-when-minimized'\n );\n }\n\n @action\n setTransition(phase, event) {\n // we only want to respond to `width` animation/transitions\n if (event.propertyName !== 'width') {\n return;\n }\n if (phase === 'start') {\n this.isAnimating = true;\n } else {\n this.isAnimating = false;\n }\n }\n\n @action\n updateDesktopVariable(event) {\n this.isDesktop = event.matches;\n\n // automatically minimize on narrow viewports (when not in desktop mode)\n this.isMinimized = !this.isDesktop;\n\n let { onDesktopViewportChange } = this.args;\n\n if (typeof onDesktopViewportChange === 'function') {\n onDesktopViewportChange(this.isDesktop);\n }\n }\n}\n"],"names":["HdsSideNavComponent","_class","Component","constructor","arguments","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_descriptor4","_descriptor5","_defineProperty","args","hasA11yRefocus","getComputedStyle","document","documentElement","getPropertyValue","desktopMQ","window","matchMedia","desktopMQVal","addEventListeners","registerDestructor","removeEventListeners","assert","a11yRefocusSkipTo","undefined","addEventListener","escapePress","updateDesktopVariable","isMinimized","matches","removeEventListener","shouldTrapFocus","isResponsive","isDesktop","showToggleButton","isCollapsible","ariaLabel","classNames","classes","push","isAnimating","join","event","key","toggleMinimizedStatus","containersToHide","forEach","element","setAttribute","removeAttribute","onToggleMinimizedStatus","didInsert","querySelectorAll","setTransition","phase","propertyName","onDesktopViewportChange","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty, a as _defineProperty } from '../../../../_rollupPluginBabelHelpers-NoJJJNhk.js';
|
|
2
2
|
import Component from '@glimmer/component';
|
|
3
3
|
import { inject } from '@ember/service';
|
|
4
4
|
import { tracked } from '@glimmer/tracking';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target.js","sources":["../../../../../src/components/hds/side-nav/portal/target.hbs","../../../../../src/components/hds/side-nav/portal/target.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<div class=\\\"hds-side-nav__content\\\" ...attributes>\\n <PortalTarget\\n @multiple={{true}}\\n @onChange={{this.panelsChanged}}\\n @name={{if @targetName @targetName \\\"hds-side-nav-portal-target\\\"}}\\n class=\\\"hds-side-nav__content-panels hds-side-nav-hide-when-minimized\\\"\\n {{did-update this.didUpdateSubnav this.numSubnavs}}\\n />\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { DEBUG } from '@glimmer/env';\nimport Ember from 'ember';\n\nexport default class SidenavPortalTarget extends Component {\n @service router;\n\n @tracked numSubnavs = 0;\n @tracked lastPanelEl = null;\n\n static get prefersReducedMotionOverride() {\n return Ember.testing;\n }\n\n prefersReducedMotionMQ = window.matchMedia(\n '(prefers-reduced-motion: reduce)'\n );\n\n get prefersReducedMotion() {\n return (\n this.constructor.prefersReducedMotionOverride ||\n (this.prefersReducedMotionMQ && this.prefersReducedMotionMQ.matches)\n );\n }\n\n @action\n panelsChanged(portalCount) {\n this.numSubnavs = portalCount;\n }\n\n @action\n didUpdateSubnav(element, [count]) {\n this.animateSubnav(element, [count]);\n }\n\n @action\n animateSubnav(element, [count]) {\n /*\n * Here is what the layout looks like for this setup\n *\n\n SideNav\n +----------------------+\n | +------------------+ |\n | | (\"header\") | |\n | +------------------+ |\n | |\n | +------------------+ |\n | | (\"body\") | |\n (PortalTarget) | | | |\n +----------------------------------------------+ | |\n | +----------+ +----------+ | +----------+ | | |\n | | (Portal) | | (Portal) | | (Portal) | | | |\n | | | | | | | | | | |\n | | hidden | | hidden | | *active* | | | |\n | | panel | | panel | | | panel | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | +----------+ +----------+ | +----------+ | | |\n +----------------------------------------------+ | |\n | | | |\n | +------------------+ |\n | |\n | +------------------+ |\n | | (\"footer\") | |\n | +------------------+ |\n +----------------------+\n\n *\n * every time `HcAppFrame::SideNav::Portal` renders, it contains a portaled \"panel\"\n * that is rendered into the `hds-side-nav__content-panels` (inside the PortalTarget).\n *\n * Rendering or unrendering other `HcAppFrame::SideNav::Portal`s triggers the number of\n * subnavs to change (via `numSubnavs`), so this function runs and slides\n * `hds-side-nav__content-panels` left or right using the `element.animate` api.\n *\n * */\n\n let activeIndex = count - 1;\n let targetElement = element;\n let { prefersReducedMotion } = this;\n\n let styles = getComputedStyle(targetElement);\n let columnWidth = styles.getPropertyValue(\n '--hds-app-sidenav-width-expanded'\n );\n let slideDuration = prefersReducedMotion ? 0 : 150;\n let fadeDuration = prefersReducedMotion ? 0 : 175;\n let fadeDelay = prefersReducedMotion ? 0 : 50;\n\n // slide entire parent panel\n let start = styles.transform;\n let end = `translateX(-${activeIndex * parseInt(columnWidth, 10)}px)`;\n let anim = targetElement.animate(\n [{ transform: start }, { transform: end }],\n {\n duration: slideDuration,\n easing: 'cubic-bezier(0.65, 0, 0.35, 1)',\n fill: 'forwards',\n }\n );\n\n anim.finished.then(() => {\n // uncomment this if we need/want to scroll the element to the top\n // targetElement.scrollIntoView(true);\n if (activeIndex > 0) {\n let allPrev = Array.from(targetElement.children).slice(0, activeIndex);\n for (let ele of allPrev) {\n ele.ariaHidden = 'true';\n ele.style.setProperty('visibility', 'hidden');\n ele.style.setProperty('opacity', '0');\n }\n }\n // Notice: we don't add the styles by default because it writes a `style` attribute to the element and it causes an additional re-render\n if (DEBUG) {\n // Check the visibility of the element before attempting to commitStyles.\n if (targetElement.offsetParent !== null) {\n anim.commitStyles();\n }\n }\n });\n\n // fade in next panel\n let nextPanelEl = targetElement.children[activeIndex];\n\n // get reference to last child panel\n let lastPanelEl = targetElement.children[targetElement.children.length - 1];\n\n if (nextPanelEl) {\n nextPanelEl.ariaHidden = 'false';\n nextPanelEl.style.setProperty('visibility', 'visible');\n // this eliminates a flicker if there's only one subnav rendering or if we\n // already just rendered this panel.\n if (activeIndex === 0 || nextPanelEl.isSameNode(this.lastPanelEl)) {\n fadeDelay = 0;\n fadeDuration = 0;\n }\n\n // remember the last panel\n this.lastPanelEl = lastPanelEl;\n\n nextPanelEl.animate([{ opacity: '0' }, { opacity: '1' }], {\n delay: fadeDelay,\n duration: fadeDuration,\n fill: 'forwards',\n });\n }\n }\n}\n"],"names":["SidenavPortalTarget","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_defineProperty","window","matchMedia","prefersReducedMotionOverride","Ember","testing","prefersReducedMotion","prefersReducedMotionMQ","matches","panelsChanged","portalCount","numSubnavs","didUpdateSubnav","element","count","animateSubnav","activeIndex","targetElement","styles","getComputedStyle","columnWidth","getPropertyValue","slideDuration","fadeDuration","fadeDelay","start","transform","end","parseInt","anim","animate","duration","easing","fill","finished","then","allPrev","Array","from","children","slice","ele","ariaHidden","style","setProperty","DEBUG","offsetParent","commitStyles","nextPanelEl","lastPanelEl","length","isSameNode","opacity","delay","_applyDecoratedDescriptor","prototype","service","configurable","enumerable","writable","initializer","tracked","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"target.js","sources":["../../../../../src/components/hds/side-nav/portal/target.hbs","../../../../../src/components/hds/side-nav/portal/target.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! @glint-nocheck: not typesafe yet }}\\n{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<div class=\\\"hds-side-nav__content\\\" ...attributes>\\n <PortalTarget\\n @multiple={{true}}\\n @onChange={{this.panelsChanged}}\\n @name={{if @targetName @targetName \\\"hds-side-nav-portal-target\\\"}}\\n class=\\\"hds-side-nav__content-panels hds-side-nav-hide-when-minimized\\\"\\n {{did-update this.didUpdateSubnav this.numSubnavs}}\\n />\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { DEBUG } from '@glimmer/env';\nimport Ember from 'ember';\n\nexport default class SidenavPortalTarget extends Component {\n @service router;\n\n @tracked numSubnavs = 0;\n @tracked lastPanelEl = null;\n\n static get prefersReducedMotionOverride() {\n return Ember.testing;\n }\n\n prefersReducedMotionMQ = window.matchMedia(\n '(prefers-reduced-motion: reduce)'\n );\n\n get prefersReducedMotion() {\n return (\n this.constructor.prefersReducedMotionOverride ||\n (this.prefersReducedMotionMQ && this.prefersReducedMotionMQ.matches)\n );\n }\n\n @action\n panelsChanged(portalCount) {\n this.numSubnavs = portalCount;\n }\n\n @action\n didUpdateSubnav(element, [count]) {\n this.animateSubnav(element, [count]);\n }\n\n @action\n animateSubnav(element, [count]) {\n /*\n * Here is what the layout looks like for this setup\n *\n\n SideNav\n +----------------------+\n | +------------------+ |\n | | (\"header\") | |\n | +------------------+ |\n | |\n | +------------------+ |\n | | (\"body\") | |\n (PortalTarget) | | | |\n +----------------------------------------------+ | |\n | +----------+ +----------+ | +----------+ | | |\n | | (Portal) | | (Portal) | | (Portal) | | | |\n | | | | | | | | | | |\n | | hidden | | hidden | | *active* | | | |\n | | panel | | panel | | | panel | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | +----------+ +----------+ | +----------+ | | |\n +----------------------------------------------+ | |\n | | | |\n | +------------------+ |\n | |\n | +------------------+ |\n | | (\"footer\") | |\n | +------------------+ |\n +----------------------+\n\n *\n * every time `HcAppFrame::SideNav::Portal` renders, it contains a portaled \"panel\"\n * that is rendered into the `hds-side-nav__content-panels` (inside the PortalTarget).\n *\n * Rendering or unrendering other `HcAppFrame::SideNav::Portal`s triggers the number of\n * subnavs to change (via `numSubnavs`), so this function runs and slides\n * `hds-side-nav__content-panels` left or right using the `element.animate` api.\n *\n * */\n\n let activeIndex = count - 1;\n let targetElement = element;\n let { prefersReducedMotion } = this;\n\n let styles = getComputedStyle(targetElement);\n let columnWidth = styles.getPropertyValue(\n '--hds-app-sidenav-width-expanded'\n );\n let slideDuration = prefersReducedMotion ? 0 : 150;\n let fadeDuration = prefersReducedMotion ? 0 : 175;\n let fadeDelay = prefersReducedMotion ? 0 : 50;\n\n // slide entire parent panel\n let start = styles.transform;\n let end = `translateX(-${activeIndex * parseInt(columnWidth, 10)}px)`;\n let anim = targetElement.animate(\n [{ transform: start }, { transform: end }],\n {\n duration: slideDuration,\n easing: 'cubic-bezier(0.65, 0, 0.35, 1)',\n fill: 'forwards',\n }\n );\n\n anim.finished.then(() => {\n // uncomment this if we need/want to scroll the element to the top\n // targetElement.scrollIntoView(true);\n if (activeIndex > 0) {\n let allPrev = Array.from(targetElement.children).slice(0, activeIndex);\n for (let ele of allPrev) {\n ele.ariaHidden = 'true';\n ele.style.setProperty('visibility', 'hidden');\n ele.style.setProperty('opacity', '0');\n }\n }\n // Notice: we don't add the styles by default because it writes a `style` attribute to the element and it causes an additional re-render\n if (DEBUG) {\n // Check the visibility of the element before attempting to commitStyles.\n if (targetElement.offsetParent !== null) {\n anim.commitStyles();\n }\n }\n });\n\n // fade in next panel\n let nextPanelEl = targetElement.children[activeIndex];\n\n // get reference to last child panel\n let lastPanelEl = targetElement.children[targetElement.children.length - 1];\n\n if (nextPanelEl) {\n nextPanelEl.ariaHidden = 'false';\n nextPanelEl.style.setProperty('visibility', 'visible');\n // this eliminates a flicker if there's only one subnav rendering or if we\n // already just rendered this panel.\n if (activeIndex === 0 || nextPanelEl.isSameNode(this.lastPanelEl)) {\n fadeDelay = 0;\n fadeDuration = 0;\n }\n\n // remember the last panel\n this.lastPanelEl = lastPanelEl;\n\n nextPanelEl.animate([{ opacity: '0' }, { opacity: '1' }], {\n delay: fadeDelay,\n duration: fadeDuration,\n fill: 'forwards',\n });\n }\n }\n}\n"],"names":["SidenavPortalTarget","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_defineProperty","window","matchMedia","prefersReducedMotionOverride","Ember","testing","prefersReducedMotion","prefersReducedMotionMQ","matches","panelsChanged","portalCount","numSubnavs","didUpdateSubnav","element","count","animateSubnav","activeIndex","targetElement","styles","getComputedStyle","columnWidth","getPropertyValue","slideDuration","fadeDuration","fadeDelay","start","transform","end","parseInt","anim","animate","duration","easing","fill","finished","then","allPrev","Array","from","children","slice","ele","ariaHidden","style","setProperty","DEBUG","offsetParent","commitStyles","nextPanelEl","lastPanelEl","length","isSameNode","opacity","delay","_applyDecoratedDescriptor","prototype","service","configurable","enumerable","writable","initializer","tracked","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import Component from '@glimmer/component';
|
|
2
2
|
import { assert } from '@ember/debug';
|
|
3
|
+
import { HdsStepperStatusesValues } from '../types.js';
|
|
3
4
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
4
5
|
import { setComponentTemplate } from '@ember/component';
|
|
5
6
|
|
|
6
|
-
var TEMPLATE = precompileTemplate("{{
|
|
7
|
+
var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<div class={{this.classNames}} ...attributes>\n <div class=\"hds-stepper-indicator-step__svg-hexagon\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\n <path\n d=\"m3.664 6.264 6.99-4.42a2.5 2.5 0 0 1 2.67-.002l7.01 4.422A2.5 2.5 0 0 1 21.5 8.38v7.242a2.5 2.5 0 0 1-1.166 2.115l-7.01 4.422a2.5 2.5 0 0 1-2.67-.002l-6.99-4.42A2.5 2.5 0 0 1 2.5 15.623V8.377a2.5 2.5 0 0 1 1.164-2.113Z\"\n stroke-width=\"1\"\n ></path>\n </svg>\n </div>\n <div class=\"hds-stepper-indicator-step__status\">\n {{#if (eq @status \"processing\")}}\n <FlightIcon class=\"hds-stepper-indicator-step__icon\" @name=\"loading\" @size=\"16\" />\n {{else if (eq @status \"complete\")}}\n <FlightIcon class=\"hds-stepper-indicator-step__icon\" @name=\"check\" @size=\"16\" />\n {{else}}\n <Hds::Text::Body\n class=\"hds-stepper-indicator-step__text\"\n @tag=\"span\"\n @size=\"100\"\n @weight=\"medium\"\n >{{@text}}</Hds::Text::Body>\n {{/if}}\n </div>\n</div>");
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* Copyright (c) HashiCorp, Inc.
|
|
10
11
|
* SPDX-License-Identifier: MPL-2.0
|
|
11
12
|
*/
|
|
12
13
|
|
|
13
|
-
const DEFAULT_STATUS =
|
|
14
|
-
const STATUSES =
|
|
15
|
-
class
|
|
14
|
+
const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;
|
|
15
|
+
const STATUSES = Object.values(HdsStepperStatusesValues);
|
|
16
|
+
class HdsStepperStepIndicatorComponent extends Component {
|
|
16
17
|
/**
|
|
17
18
|
* @param status
|
|
18
19
|
* @type {string}
|
|
@@ -20,7 +21,7 @@ class HdsStepperIndicatorStepIndexComponent extends Component {
|
|
|
20
21
|
*/
|
|
21
22
|
|
|
22
23
|
get status() {
|
|
23
|
-
|
|
24
|
+
const {
|
|
24
25
|
status = DEFAULT_STATUS
|
|
25
26
|
} = this.args;
|
|
26
27
|
assert(`@status for "Hds::Stepper::Step::Indicator" must be one of the following: ${STATUSES.join(', ')}; received: ${status}`, STATUSES.includes(status));
|
|
@@ -43,7 +44,7 @@ class HdsStepperIndicatorStepIndexComponent extends Component {
|
|
|
43
44
|
* @return {string} The "class" attribute to apply to the component.
|
|
44
45
|
*/
|
|
45
46
|
get classNames() {
|
|
46
|
-
|
|
47
|
+
const classes = ['hds-stepper-indicator-step'];
|
|
47
48
|
|
|
48
49
|
// Based on the @status arg
|
|
49
50
|
classes.push(`hds-stepper-indicator-step--status-${this.status}`);
|
|
@@ -53,7 +54,7 @@ class HdsStepperIndicatorStepIndexComponent extends Component {
|
|
|
53
54
|
return classes.join(' ');
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
|
-
setComponentTemplate(TEMPLATE,
|
|
57
|
+
setComponentTemplate(TEMPLATE, HdsStepperStepIndicatorComponent);
|
|
57
58
|
|
|
58
|
-
export { DEFAULT_STATUS, STATUSES,
|
|
59
|
+
export { DEFAULT_STATUS, STATUSES, HdsStepperStepIndicatorComponent as default };
|
|
59
60
|
//# sourceMappingURL=indicator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indicator.js","sources":["../../../../../src/components/hds/stepper/step/indicator.hbs","../../../../../src/components/hds/stepper/step/indicator.
|
|
1
|
+
{"version":3,"file":"indicator.js","sources":["../../../../../src/components/hds/stepper/step/indicator.hbs","../../../../../src/components/hds/stepper/step/indicator.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class={{this.classNames}} ...attributes>\\n <div class=\\\"hds-stepper-indicator-step__svg-hexagon\\\">\\n <svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" aria-hidden=\\\"true\\\">\\n <path\\n d=\\\"m3.664 6.264 6.99-4.42a2.5 2.5 0 0 1 2.67-.002l7.01 4.422A2.5 2.5 0 0 1 21.5 8.38v7.242a2.5 2.5 0 0 1-1.166 2.115l-7.01 4.422a2.5 2.5 0 0 1-2.67-.002l-6.99-4.42A2.5 2.5 0 0 1 2.5 15.623V8.377a2.5 2.5 0 0 1 1.164-2.113Z\\\"\\n stroke-width=\\\"1\\\"\\n ></path>\\n </svg>\\n </div>\\n <div class=\\\"hds-stepper-indicator-step__status\\\">\\n {{#if (eq @status \\\"processing\\\")}}\\n <FlightIcon class=\\\"hds-stepper-indicator-step__icon\\\" @name=\\\"loading\\\" @size=\\\"16\\\" />\\n {{else if (eq @status \\\"complete\\\")}}\\n <FlightIcon class=\\\"hds-stepper-indicator-step__icon\\\" @name=\\\"check\\\" @size=\\\"16\\\" />\\n {{else}}\\n <Hds::Text::Body\\n class=\\\"hds-stepper-indicator-step__text\\\"\\n @tag=\\\"span\\\"\\n @size=\\\"100\\\"\\n @weight=\\\"medium\\\"\\n >{{@text}}</Hds::Text::Body>\\n {{/if}}\\n </div>\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport { HdsStepperStatusesValues } from '../types.ts';\nimport type { HdsStepperStatuses } from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: string[] = Object.values(HdsStepperStatusesValues);\n\ninterface HdsStepperStepIndicatorSignature {\n Args: {\n status: HdsStepperStatuses;\n isInteractive?: boolean;\n text: string;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsStepperStepIndicatorComponent extends Component<HdsStepperStepIndicatorSignature> {\n /**\n * @param status\n * @type {string}\n * @default \"incomplete\"\n */\n\n get status() {\n const { status = DEFAULT_STATUS } = this.args;\n\n assert(\n `@status for \"Hds::Stepper::Step::Indicator\" must be one of the following: ${STATUSES.join(\n ', '\n )}; received: ${status}`,\n STATUSES.includes(status)\n );\n\n return status;\n }\n\n /**\n * @param isInteractive\n * @type {boolean}\n * @default false\n */\n\n get isInteractive() {\n return this.args.isInteractive || false;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method IndicatorStep#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n const classes = ['hds-stepper-indicator-step'];\n\n // Based on the @status arg\n classes.push(`hds-stepper-indicator-step--status-${this.status}`);\n\n if (this.isInteractive) {\n classes.push(`hds-stepper-indicator-step--is-interactive`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_STATUS","HdsStepperStatusesValues","Incomplete","STATUSES","Object","values","HdsStepperStepIndicatorComponent","Component","status","args","assert","join","includes","isInteractive","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,oqCAAoqC;;ACDtsC;AACA;AACA;AACA;;AAQaA,MAAAA,cAAc,GAAGC,wBAAwB,CAACC,WAAU;AAC1D,MAAMC,QAAkB,GAAGC,MAAM,CAACC,MAAM,CAACJ,wBAAwB,EAAC;AAW1D,MAAMK,gCAAgC,SAASC,SAAS,CAAmC;AACxG;AACF;AACA;AACA;AACA;;EAEE,IAAIC,MAAMA,GAAG;IACX,MAAM;AAAEA,MAAAA,MAAM,GAAGR,cAAAA;KAAgB,GAAG,IAAI,CAACS,IAAI,CAAA;AAE7CC,IAAAA,MAAM,CACH,CAA4EP,0EAAAA,EAAAA,QAAQ,CAACQ,IAAI,CACxF,IACF,CAAE,CAAA,YAAA,EAAcH,MAAO,CAAA,CAAC,EACxBL,QAAQ,CAACS,QAAQ,CAACJ,MAAM,CAC1B,CAAC,CAAA;AAED,IAAA,OAAOA,MAAM,CAAA;AACf,GAAA;;AAEA;AACF;AACA;AACA;AACA;;EAEE,IAAIK,aAAaA,GAAG;AAClB,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,aAAa,IAAI,KAAK,CAAA;AACzC,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAG;AACf,IAAA,MAAMC,OAAO,GAAG,CAAC,4BAA4B,CAAC,CAAA;;AAE9C;IACAA,OAAO,CAACC,IAAI,CAAE,CAAA,mCAAA,EAAqC,IAAI,CAACR,MAAO,EAAC,CAAC,CAAA;IAEjE,IAAI,IAAI,CAACK,aAAa,EAAE;AACtBE,MAAAA,OAAO,CAACC,IAAI,CAAE,CAAA,0CAAA,CAA2C,CAAC,CAAA;AAC5D,KAAA;AAEA,IAAA,OAAOD,OAAO,CAACJ,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACM,oBAAA,CAAAC,QAAA,EA/CoBZ,gCAAgC,CAAA;;;;"}
|
|
@@ -1,24 +1,20 @@
|
|
|
1
1
|
import Component from '@glimmer/component';
|
|
2
2
|
import { assert } from '@ember/debug';
|
|
3
|
+
import { HdsStepperStatusesValues, HdsStepperStatusToIconsValues } from '../types.js';
|
|
3
4
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
4
5
|
import { setComponentTemplate } from '@ember/component';
|
|
5
6
|
|
|
6
|
-
var TEMPLATE = precompileTemplate("{{
|
|
7
|
+
var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<div class={{this.classNames}} ...attributes>\n <FlightIcon class=\"hds-stepper-indicator-task__icon\" @name={{this.iconName}} @size=\"16\" />\n</div>");
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* Copyright (c) HashiCorp, Inc.
|
|
10
11
|
* SPDX-License-Identifier: MPL-2.0
|
|
11
12
|
*/
|
|
12
13
|
|
|
13
|
-
const DEFAULT_STATUS =
|
|
14
|
-
const STATUSES =
|
|
15
|
-
const MAPPING_STATUS_TO_ICONS =
|
|
16
|
-
|
|
17
|
-
progress: 'circle-half',
|
|
18
|
-
processing: 'loading',
|
|
19
|
-
complete: 'check-circle'
|
|
20
|
-
};
|
|
21
|
-
class HdsStepperIndicatorTaskIndexComponent extends Component {
|
|
14
|
+
const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;
|
|
15
|
+
const STATUSES = Object.values(HdsStepperStatusesValues);
|
|
16
|
+
const MAPPING_STATUS_TO_ICONS = HdsStepperStatusToIconsValues;
|
|
17
|
+
class HdsStepperTaskIndicatorComponent extends Component {
|
|
22
18
|
/**
|
|
23
19
|
* @param status
|
|
24
20
|
* @type {string}
|
|
@@ -26,7 +22,7 @@ class HdsStepperIndicatorTaskIndexComponent extends Component {
|
|
|
26
22
|
*/
|
|
27
23
|
|
|
28
24
|
get status() {
|
|
29
|
-
|
|
25
|
+
const {
|
|
30
26
|
status = DEFAULT_STATUS
|
|
31
27
|
} = this.args;
|
|
32
28
|
assert(`@status for "Hds::Stepper::Task::Indicator" must be one of the following: ${STATUSES.join(', ')}; received: ${status}`, STATUSES.includes(status));
|
|
@@ -58,7 +54,7 @@ class HdsStepperIndicatorTaskIndexComponent extends Component {
|
|
|
58
54
|
* @return {string} The "class" attribute to apply to the component.
|
|
59
55
|
*/
|
|
60
56
|
get classNames() {
|
|
61
|
-
|
|
57
|
+
const classes = ['hds-stepper-indicator-task'];
|
|
62
58
|
|
|
63
59
|
// Based on the @status arg
|
|
64
60
|
classes.push(`hds-stepper-indicator-task--status-${this.status}`);
|
|
@@ -68,7 +64,7 @@ class HdsStepperIndicatorTaskIndexComponent extends Component {
|
|
|
68
64
|
return classes.join(' ');
|
|
69
65
|
}
|
|
70
66
|
}
|
|
71
|
-
setComponentTemplate(TEMPLATE,
|
|
67
|
+
setComponentTemplate(TEMPLATE, HdsStepperTaskIndicatorComponent);
|
|
72
68
|
|
|
73
|
-
export { DEFAULT_STATUS, MAPPING_STATUS_TO_ICONS, STATUSES,
|
|
69
|
+
export { DEFAULT_STATUS, MAPPING_STATUS_TO_ICONS, STATUSES, HdsStepperTaskIndicatorComponent as default };
|
|
74
70
|
//# sourceMappingURL=indicator.js.map
|