@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.
- 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/popover-primitive/index.js +1 -0
- package/dist/_app_/components/hds/rich-tooltip/bubble.js +1 -0
- package/dist/_app_/components/hds/rich-tooltip/index.js +1 -0
- package/dist/_app_/components/hds/rich-tooltip/toggle.js +1 -0
- 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 +8 -2
- package/dist/components/hds/alert/description.js.map +1 -1
- package/dist/components/hds/alert/index.js +23 -22
- package/dist/components/hds/alert/index.js.map +1 -1
- package/dist/components/hds/alert/title.js +8 -2
- package/dist/components/hds/alert/title.js.map +1 -1
- package/dist/components/hds/alert/types.js +22 -0
- package/dist/components/hds/alert/types.js.map +1 -0
- 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 +9 -9
- 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 +25 -24
- package/dist/components/hds/card/container.js.map +1 -1
- package/dist/components/hds/card/types.js +24 -0
- package/dist/components/hds/card/types.js.map +1 -0
- 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 +2 -2
- 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 +3 -9
- 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 +11 -10
- package/dist/components/hds/link/inline.js.map +1 -1
- package/dist/components/hds/link/standalone.js +16 -15
- package/dist/components/hds/link/standalone.js.map +1 -1
- package/dist/components/hds/link/types.js +24 -0
- package/dist/components/hds/link/types.js.map +1 -0
- 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 +3 -9
- 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 +8 -7
- package/dist/components/hds/text/body.js.map +1 -1
- package/dist/components/hds/text/code.js +8 -7
- package/dist/components/hds/text/code.js.map +1 -1
- package/dist/components/hds/text/display.js +19 -12
- package/dist/components/hds/text/display.js.map +1 -1
- package/dist/components/hds/text/index.js +17 -13
- package/dist/components/hds/text/index.js.map +1 -1
- package/dist/components/hds/text/types.js +58 -0
- package/dist/components/hds/text/types.js.map +1 -0
- 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 +8 -2
- package/dist/components/hds/yield/index.js.map +1 -1
- package/dist/helpers/hds-link-to-models.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 +58 -23
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
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';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/hds/form/fieldset/index.hbs","../../../../../src/components/hds/form/fieldset/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<fieldset class={{this.classNames}} id={{this.id}} {{did-insert this.setAriaDescribedBy}} ...attributes>\\n {{yield\\n (hash\\n Legend=(component\\n \\\"hds/form/legend\\\" isRequired=this.isRequired isOptional=this.isOptional contextualClass=\\\"hds-form-group__legend\\\"\\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-group__helper-text\\\"\\n )\\n )\\n }}\\n <div class=\\\"hds-form-group__control-fields-wrapper\\\">\\n {{yield (hash Control=(component \\\"hds/yield\\\") ariaDescribedBy=this.ariaDescribedBy)}}\\n </div>\\n {{yield\\n (hash\\n Error=(component\\n \\\"hds/form/error\\\" controlId=this.id onInsert=this.appendDescriptor contextualClass=\\\"hds-form-group__error\\\"\\n )\\n )\\n }}\\n</fieldset>\")","/**\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 { getElementId } from '../../../../utils/hds-get-element-id';\nimport { setAriaDescribedBy } from '../../../../utils/hds-set-aria-described-by';\n\nexport default class HdsFormFieldsetIndexComponent 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 setAriaDescribedBy(this);\n }\n\n /**\n * Sets the layout of the group\n *\n * @param layout\n * @type {enum}\n * @default 'vertical'\n */\n get layout() {\n return this.args.layout ?? 'vertical';\n }\n\n /**\n * Calculates the unique ID to assign to the fieldset\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 // we just need a class for the layout\n let classes = ['hds-form-group'];\n\n // add a class based on the @layout argument\n classes.push(`hds-form-group--layout-${this.layout}`);\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":["HdsFormFieldsetIndexComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","appendDescriptor","element","descriptors","push","id","setAriaDescribedBy","layout","getElementId","classNames","classes","join","isRequired","isOptional","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","extraAriaDescribedBy","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;;AACA,eAAe,kBAAkB,CAAC,o/BAAo/B;;;ACUjgCA,IAAAA,6BAA6B,IAAAC,MAAA,GAAnC,MAAMD,6BAA6B,SAASE,SAAS,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAAAC,IAAAA,0BAAA,0BAAAC,WAAA,EAAA,IAAA,CAAA,CAAA;AAAAD,IAAAA,0BAAA,sBAAAE,YAAA,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA;EAKnEC,gBAAgBA,CAACC,OAAO,EAAE;IACxB,IAAI,CAACC,WAAW,CAACC,IAAI,CAACF,OAAO,CAACG,EAAE,CAAC,CAAA;AACnC,GAAA;AAGAC,EAAAA,kBAAkBA,GAAG;IACnBA,kBAAkB,CAAC,IAAI,CAAC,CAAA;AAC1B,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,MAAMA,GAAG;AACX,IAAA,OAAO,IAAI,CAACV,IAAI,CAACU,MAAM,IAAI,UAAU,CAAA;AACvC,GAAA;;AAEA;AACF;AACA;EACE,IAAIF,EAAEA,GAAG;IACP,OAAOG,YAAY,CAAC,IAAI,CAAC,CAAA;AAC3B,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAG;AACf;AACA,IAAA,IAAIC,OAAO,GAAG,CAAC,gBAAgB,CAAC,CAAA;;AAEhC;IACAA,OAAO,CAACN,IAAI,CAAE,CAAA,uBAAA,EAAyB,IAAI,CAACG,MAAO,EAAC,CAAC,CAAA;AAErD,IAAA,OAAOG,OAAO,CAACC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAG;AACf,IAAA,OAAO,IAAI,CAACf,IAAI,CAACe,UAAU,IAAI,KAAK,CAAA;AACtC,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAG;AACf,IAAA,OAAO,IAAI,CAAChB,IAAI,CAACgB,UAAU,IAAI,KAAK,CAAA;AACtC,GAAA;AACF,CAAC,GAAAd,WAAA,GAAAe,yBAAA,CAAApB,MAAA,CAAAqB,SAAA,EAAA,iBAAA,EAAA,CA/DEC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;AAAAC,EAAAA,WAAA,cAAA;AAAA,IAAA,OAAmB,IAAI,CAACvB,IAAI,CAACwB,oBAAoB,CAAA;AAAA,GAAA;AAAA,CAAArB,CAAAA,EAAAA,YAAA,GAAAc,yBAAA,CAAApB,MAAA,CAAAqB,SAAA,kBACxDC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;AAAAC,EAAAA,WAAA,cAAA;AAAA,IAAA,OAAe,EAAE,CAAA;AAAA,GAAA;AAAA,CAAA,CAAA,EAAAN,yBAAA,CAAApB,MAAA,CAAAqB,SAAA,EAAA,kBAAA,EAAA,CAExBO,MAAM,CAAAC,EAAAA,MAAA,CAAAC,wBAAA,CAAA9B,MAAA,CAAAqB,SAAA,EAAArB,kBAAAA,CAAAA,EAAAA,MAAA,CAAAqB,SAAA,CAAA,EAAAD,yBAAA,CAAApB,MAAA,CAAAqB,SAAA,yBAKNO,MAAM,CAAA,EAAAC,MAAA,CAAAC,wBAAA,CAAA9B,MAAA,CAAAqB,SAAA,EAAA,oBAAA,CAAA,EAAArB,MAAA,CAAAqB,SAAA,IAAArB,MAAA,EAAA;AATyC+B,oBAAA,CAAAC,QAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/hds/form/fieldset/index.hbs","../../../../../src/components/hds/form/fieldset/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<fieldset class={{this.classNames}} id={{this.id}} {{did-insert this.setAriaDescribedBy}} ...attributes>\\n {{yield\\n (hash\\n Legend=(component\\n \\\"hds/form/legend\\\" isRequired=this.isRequired isOptional=this.isOptional contextualClass=\\\"hds-form-group__legend\\\"\\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-group__helper-text\\\"\\n )\\n )\\n }}\\n <div class=\\\"hds-form-group__control-fields-wrapper\\\">\\n {{yield (hash Control=(component \\\"hds/yield\\\") ariaDescribedBy=this.ariaDescribedBy)}}\\n </div>\\n {{yield\\n (hash\\n Error=(component\\n \\\"hds/form/error\\\" controlId=this.id onInsert=this.appendDescriptor contextualClass=\\\"hds-form-group__error\\\"\\n )\\n )\\n }}\\n</fieldset>\")","/**\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 { getElementId } from '../../../../utils/hds-get-element-id';\nimport { setAriaDescribedBy } from '../../../../utils/hds-set-aria-described-by';\n\nexport default class HdsFormFieldsetIndexComponent 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 setAriaDescribedBy(this);\n }\n\n /**\n * Sets the layout of the group\n *\n * @param layout\n * @type {enum}\n * @default 'vertical'\n */\n get layout() {\n return this.args.layout ?? 'vertical';\n }\n\n /**\n * Calculates the unique ID to assign to the fieldset\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 // we just need a class for the layout\n let classes = ['hds-form-group'];\n\n // add a class based on the @layout argument\n classes.push(`hds-form-group--layout-${this.layout}`);\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":["HdsFormFieldsetIndexComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","appendDescriptor","element","descriptors","push","id","setAriaDescribedBy","layout","getElementId","classNames","classes","join","isRequired","isOptional","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","extraAriaDescribedBy","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;;AACA,eAAe,kBAAkB,CAAC,o/BAAo/B;;;ACUjgCA,IAAAA,6BAA6B,IAAAC,MAAA,GAAnC,MAAMD,6BAA6B,SAASE,SAAS,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAAAC,IAAAA,0BAAA,0BAAAC,WAAA,EAAA,IAAA,CAAA,CAAA;AAAAD,IAAAA,0BAAA,sBAAAE,YAAA,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA;EAKnEC,gBAAgBA,CAACC,OAAO,EAAE;IACxB,IAAI,CAACC,WAAW,CAACC,IAAI,CAACF,OAAO,CAACG,EAAE,CAAC,CAAA;AACnC,GAAA;AAGAC,EAAAA,kBAAkBA,GAAG;IACnBA,kBAAkB,CAAC,IAAI,CAAC,CAAA;AAC1B,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,MAAMA,GAAG;AACX,IAAA,OAAO,IAAI,CAACV,IAAI,CAACU,MAAM,IAAI,UAAU,CAAA;AACvC,GAAA;;AAEA;AACF;AACA;EACE,IAAIF,EAAEA,GAAG;IACP,OAAOG,YAAY,CAAC,IAAI,CAAC,CAAA;AAC3B,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAG;AACf;AACA,IAAA,IAAIC,OAAO,GAAG,CAAC,gBAAgB,CAAC,CAAA;;AAEhC;IACAA,OAAO,CAACN,IAAI,CAAE,CAAA,uBAAA,EAAyB,IAAI,CAACG,MAAO,EAAC,CAAC,CAAA;AAErD,IAAA,OAAOG,OAAO,CAACC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAG;AACf,IAAA,OAAO,IAAI,CAACf,IAAI,CAACe,UAAU,IAAI,KAAK,CAAA;AACtC,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAG;AACf,IAAA,OAAO,IAAI,CAAChB,IAAI,CAACgB,UAAU,IAAI,KAAK,CAAA;AACtC,GAAA;AACF,CAAC,GAAAd,WAAA,GAAAe,yBAAA,CAAApB,MAAA,CAAAqB,SAAA,EAAA,iBAAA,EAAA,CA/DEC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;AAAAC,EAAAA,WAAA,cAAA;AAAA,IAAA,OAAmB,IAAI,CAACvB,IAAI,CAACwB,oBAAoB,CAAA;AAAA,GAAA;AAAA,CAAArB,CAAAA,EAAAA,YAAA,GAAAc,yBAAA,CAAApB,MAAA,CAAAqB,SAAA,kBACxDC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;AAAAC,EAAAA,WAAA,cAAA;AAAA,IAAA,OAAe,EAAE,CAAA;AAAA,GAAA;AAAA,CAAA,CAAA,EAAAN,yBAAA,CAAApB,MAAA,CAAAqB,SAAA,EAAA,kBAAA,EAAA,CAExBO,MAAM,CAAAC,EAAAA,MAAA,CAAAC,wBAAA,CAAA9B,MAAA,CAAAqB,SAAA,EAAArB,kBAAAA,CAAAA,EAAAA,MAAA,CAAAqB,SAAA,CAAA,EAAAD,yBAAA,CAAApB,MAAA,CAAAqB,SAAA,yBAKNO,MAAM,CAAA,EAAAC,MAAA,CAAAC,wBAAA,CAAA9B,MAAA,CAAAqB,SAAA,EAAA,oBAAA,CAAA,EAAArB,MAAA,CAAAqB,SAAA,IAAArB,MAAA,EAAA;AATyC+B,oBAAA,CAAAC,QAAA,EAA7BjC,6BAA6B,CAAA;;;;"}
|
|
@@ -2,14 +2,30 @@ 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<label class={{this.classNames}} for={{@controlId}} ...attributes>\n {{yield}}\n <Hds::Form::Indicator @isRequired={{@isRequired}} @isOptional={{@isOptional}} />\n</label>");
|
|
5
|
+
var TEMPLATE = precompileTemplate("{{! @glint-nocheck: not typesafe yet }}\n{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<label class={{this.classNames}} for={{@controlId}} id={{this.id}} ...attributes>\n {{yield}}\n <Hds::Form::Indicator @isRequired={{@isRequired}} @isOptional={{@isOptional}} />\n</label>");
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Copyright (c) HashiCorp, Inc.
|
|
9
9
|
* SPDX-License-Identifier: MPL-2.0
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
const ID_PREFIX = 'label-';
|
|
12
13
|
class HdsFormLabelIndexComponent extends Component {
|
|
14
|
+
/**
|
|
15
|
+
* Determines the unique ID to assign to the element
|
|
16
|
+
* @method id
|
|
17
|
+
* @return {(string|null)} The "id" attribute to apply to the element or null, if no controlId is provided
|
|
18
|
+
*/
|
|
19
|
+
get id() {
|
|
20
|
+
let {
|
|
21
|
+
controlId
|
|
22
|
+
} = this.args;
|
|
23
|
+
if (controlId) {
|
|
24
|
+
return `${ID_PREFIX}${controlId}`;
|
|
25
|
+
}
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
|
|
13
29
|
/**
|
|
14
30
|
* Get the class names to apply to the component.
|
|
15
31
|
* @method classNames
|
|
@@ -32,5 +48,5 @@ class HdsFormLabelIndexComponent extends Component {
|
|
|
32
48
|
}
|
|
33
49
|
setComponentTemplate(TEMPLATE, HdsFormLabelIndexComponent);
|
|
34
50
|
|
|
35
|
-
export { HdsFormLabelIndexComponent as default };
|
|
51
|
+
export { ID_PREFIX, HdsFormLabelIndexComponent as default };
|
|
36
52
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/hds/form/label/index.hbs","../../../../../src/components/hds/form/label/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<label class={{this.classNames}} for={{@controlId}} ...attributes>\\n {{yield}}\\n <Hds::Form::Indicator @isRequired={{@isRequired}} @isOptional={{@isOptional}} />\\n</label>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nexport default class HdsFormLabelIndexComponent 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 = ['hds-form-label'];\n\n // add typographic classes\n classes.push('hds-typography-body-200', 'hds-font-weight-semibold');\n\n // add a class based on the @contextualClass argument\n // notice: this will *not* be documented for public use\n // the reason for this is that the contextual component declarations don't pass attributes to the component\n if (this.args.contextualClass) {\n classes.push(this.args.contextualClass);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["HdsFormLabelIndexComponent","Component","classNames","classes","push","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/hds/form/label/index.hbs","../../../../../src/components/hds/form/label/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<label class={{this.classNames}} for={{@controlId}} id={{this.id}} ...attributes>\\n {{yield}}\\n <Hds::Form::Indicator @isRequired={{@isRequired}} @isOptional={{@isOptional}} />\\n</label>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nexport const ID_PREFIX = 'label-';\n\nexport default class HdsFormLabelIndexComponent extends Component {\n /**\n * Determines the unique ID to assign to the element\n * @method id\n * @return {(string|null)} The \"id\" attribute to apply to the element or null, if no controlId is provided\n */\n get id() {\n let { controlId } = this.args;\n if (controlId) {\n return `${ID_PREFIX}${controlId}`;\n }\n return null;\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-form-label'];\n\n // add typographic classes\n classes.push('hds-typography-body-200', 'hds-font-weight-semibold');\n\n // add a class based on the @contextualClass argument\n // notice: this will *not* be documented for public use\n // the reason for this is that the contextual component declarations don't pass attributes to the component\n if (this.args.contextualClass) {\n classes.push(this.args.contextualClass);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["ID_PREFIX","HdsFormLabelIndexComponent","Component","id","controlId","args","classNames","classes","push","contextualClass","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,qTAAqT;;ACDvV;AACA;AACA;AACA;;AAGO,MAAMA,SAAS,GAAG,SAAQ;AAElB,MAAMC,0BAA0B,SAASC,SAAS,CAAC;AAChE;AACF;AACA;AACA;AACA;EACE,IAAIC,EAAEA,GAAG;IACP,IAAI;AAAEC,MAAAA,SAAAA;KAAW,GAAG,IAAI,CAACC,IAAI,CAAA;AAC7B,IAAA,IAAID,SAAS,EAAE;AACb,MAAA,OAAQ,CAAEJ,EAAAA,SAAU,CAAEI,EAAAA,SAAU,CAAC,CAAA,CAAA;AACnC,KAAA;AACA,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIE,UAAUA,GAAG;AACf,IAAA,IAAIC,OAAO,GAAG,CAAC,gBAAgB,CAAC,CAAA;;AAEhC;AACAA,IAAAA,OAAO,CAACC,IAAI,CAAC,yBAAyB,EAAE,0BAA0B,CAAC,CAAA;;AAEnE;AACA;AACA;AACA,IAAA,IAAI,IAAI,CAACH,IAAI,CAACI,eAAe,EAAE;MAC7BF,OAAO,CAACC,IAAI,CAAC,IAAI,CAACH,IAAI,CAACI,eAAe,CAAC,CAAA;AACzC,KAAA;AAEA,IAAA,OAAOF,OAAO,CAACG,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACC,oBAAA,CAAAC,QAAA,EAlCoBX,0BAA0B,CAAA;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
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';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sources":["../../../../../src/components/hds/form/masked-input/base.hbs","../../../../../src/components/hds/form/masked-input/base.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}} {{style width=@width}}>\\n {{#if @isMultiline}}\\n <Hds::Form::Textarea::Base\\n class=\\\"hds-form-masked-input__control\\\"\\n @value={{@value}}\\n @isInvalid={{@isInvalid}}\\n @height={{@height}}\\n id={{this.id}}\\n ...attributes\\n />\\n {{else}}\\n <Hds::Form::TextInput::Base\\n class=\\\"hds-form-masked-input__control\\\"\\n @value={{@value}}\\n @isInvalid={{@isInvalid}}\\n id={{this.id}}\\n ...attributes\\n />\\n {{/if}}\\n <Hds::Form::VisibilityToggle\\n @isVisible={{this.isContentMasked}}\\n @ariaLabel={{this.visibilityToggleAriaLabel}}\\n @ariaMessageText={{this.visibilityToggleAriaMessageText}}\\n aria-controls={{this.id}}\\n class=\\\"hds-form-masked-input__toggle-button\\\"\\n {{on \\\"click\\\" this.onClickToggleMasking}}\\n />\\n {{#if @hasCopyButton}}\\n <Hds::Copy::Button\\n class=\\\"hds-form-masked-input__copy-button\\\"\\n @text={{this.copyButtonText}}\\n @isIconOnly={{true}}\\n @targetToCopy=\\\"#{{this.id}}\\\"\\n />\\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 { getElementId } from '../../../../utils/hds-get-element-id';\n\nexport default class HdsFormMaskedInputBaseComponent extends Component {\n @tracked isContentMasked = this.args.isContentMasked ?? true;\n\n @action\n onClickToggleMasking() {\n this.isContentMasked = !this.isContentMasked;\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 * @param ariaLabel\n * @type {string}\n * @default 'Show masked content'\n */\n get visibilityToggleAriaLabel() {\n if (this.args.visibilityToggleAriaLabel) {\n return this.args.visibilityToggleAriaLabel;\n } else if (this.isContentMasked) {\n return 'Show masked content';\n } else {\n return 'Hide masked content';\n }\n }\n\n /**\n * @param ariaMessageText\n * @type {string}\n * @default 'Input content is now hidden'\n */\n get visibilityToggleAriaMessageText() {\n if (this.args.visibilityToggleAriaMessageText) {\n return this.args.visibilityToggleAriaMessageText;\n } else if (this.isContentMasked) {\n return 'Input content is hidden';\n } else {\n return 'Input content is visible';\n }\n }\n\n /**\n * @param copyButtonText\n * @type {string}\n * @default 'Copy masked content'\n */\n get copyButtonText() {\n if (this.args.copyButtonText) {\n return this.args.copyButtonText;\n } else {\n return 'Copy masked content';\n }\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-form-masked-input'];\n\n if (this.isContentMasked) {\n classes.push(`hds-form-masked-input--is-masked`);\n } else {\n classes.push(`hds-form-masked-input--is-not-masked`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["HdsFormMaskedInputBaseComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","onClickToggleMasking","isContentMasked","id","getElementId","visibilityToggleAriaLabel","visibilityToggleAriaMessageText","copyButtonText","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":"base.js","sources":["../../../../../src/components/hds/form/masked-input/base.hbs","../../../../../src/components/hds/form/masked-input/base.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}} {{style width=@width}}>\\n {{#if @isMultiline}}\\n <Hds::Form::Textarea::Base\\n class=\\\"hds-form-masked-input__control\\\"\\n @value={{@value}}\\n @isInvalid={{@isInvalid}}\\n @height={{@height}}\\n id={{this.id}}\\n ...attributes\\n />\\n {{else}}\\n <Hds::Form::TextInput::Base\\n class=\\\"hds-form-masked-input__control\\\"\\n @value={{@value}}\\n @isInvalid={{@isInvalid}}\\n id={{this.id}}\\n ...attributes\\n />\\n {{/if}}\\n <Hds::Form::VisibilityToggle\\n @isVisible={{this.isContentMasked}}\\n @ariaLabel={{this.visibilityToggleAriaLabel}}\\n @ariaMessageText={{this.visibilityToggleAriaMessageText}}\\n aria-controls={{this.id}}\\n class=\\\"hds-form-masked-input__toggle-button\\\"\\n {{on \\\"click\\\" this.onClickToggleMasking}}\\n />\\n {{#if @hasCopyButton}}\\n <Hds::Copy::Button\\n class=\\\"hds-form-masked-input__copy-button\\\"\\n @text={{this.copyButtonText}}\\n @isIconOnly={{true}}\\n @targetToCopy=\\\"#{{this.id}}\\\"\\n />\\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 { getElementId } from '../../../../utils/hds-get-element-id';\n\nexport default class HdsFormMaskedInputBaseComponent extends Component {\n @tracked isContentMasked = this.args.isContentMasked ?? true;\n\n @action\n onClickToggleMasking() {\n this.isContentMasked = !this.isContentMasked;\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 * @param ariaLabel\n * @type {string}\n * @default 'Show masked content'\n */\n get visibilityToggleAriaLabel() {\n if (this.args.visibilityToggleAriaLabel) {\n return this.args.visibilityToggleAriaLabel;\n } else if (this.isContentMasked) {\n return 'Show masked content';\n } else {\n return 'Hide masked content';\n }\n }\n\n /**\n * @param ariaMessageText\n * @type {string}\n * @default 'Input content is now hidden'\n */\n get visibilityToggleAriaMessageText() {\n if (this.args.visibilityToggleAriaMessageText) {\n return this.args.visibilityToggleAriaMessageText;\n } else if (this.isContentMasked) {\n return 'Input content is hidden';\n } else {\n return 'Input content is visible';\n }\n }\n\n /**\n * @param copyButtonText\n * @type {string}\n * @default 'Copy masked content'\n */\n get copyButtonText() {\n if (this.args.copyButtonText) {\n return this.args.copyButtonText;\n } else {\n return 'Copy masked content';\n }\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-form-masked-input'];\n\n if (this.isContentMasked) {\n classes.push(`hds-form-masked-input--is-masked`);\n } else {\n classes.push(`hds-form-masked-input--is-not-masked`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["HdsFormMaskedInputBaseComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","onClickToggleMasking","isContentMasked","id","getElementId","visibilityToggleAriaLabel","visibilityToggleAriaMessageText","copyButtonText","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 {
|
|
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';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/hds/form/radio-card/index.hbs","../../../../../src/components/hds/form/radio-card/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<label class={{this.classNames}} {{did-insert this.setAriaDescribedBy}} {{style maxWidth=@maxWidth}}>\\n <span class=\\\"hds-form-radio-card__content\\\">\\n {{yield (hash Icon=(component \\\"flight-icon\\\" size=\\\"24\\\" isInlineBlock=false))}}\\n {{yield (hash Label=(component \\\"hds/form/radio-card/label\\\"))}}\\n {{yield (hash Badge=(component \\\"hds/badge\\\"))}}\\n {{yield (hash Description=(component \\\"hds/form/radio-card/description\\\"))}}\\n {{yield (hash Generic=(component \\\"hds/yield\\\"))}}\\n </span>\\n <span class=\\\"hds-form-radio-card__control-wrapper\\\">\\n <Hds::Form::Radio::Base\\n class=\\\"hds-form-radio-card__control\\\"\\n @value={{@value}}\\n name={{@name}}\\n checked={{@checked}}\\n disabled={{@disabled}}\\n aria-describedby={{this.ariaDescribedBy}}\\n ...attributes\\n />\\n </span>\\n</label>\")","/**\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 { schedule } from '@ember/runloop';\nimport { setAriaDescribedBy } from '../../../../utils/hds-set-aria-described-by';\n\nexport const DEFAULT_CONTROL_POSITION = 'bottom';\nexport const DEFAULT_ALIGNMENT = 'left';\nexport const CONTROL_POSITIONS = ['bottom', 'left'];\nexport const ALIGNMENTS = ['left', 'center'];\n\nexport default class HdsFormRadioCardIndexComponent extends Component {\n @tracked ariaDescribedBy = this.args.extraAriaDescribedBy;\n @tracked descriptors = [];\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 position of the control\n * Accepted values: buttom, left\n *\n * @param type\n * @type {string}\n * @default 'bottom'\n */\n get controlPosition() {\n let { controlPosition = DEFAULT_CONTROL_POSITION } = this.args;\n\n assert(\n `@controlPosition for \"Hds::Form::RadioCard\" must be one of the following: ${CONTROL_POSITIONS.join(\n ', '\n )}; received: ${controlPosition}`,\n CONTROL_POSITIONS.includes(controlPosition)\n );\n\n return controlPosition;\n }\n\n /**\n * Sets the alignment of the content\n * Accepted values: left, center\n *\n * @param alignnment\n * @type {string}\n * @default 'left'\n */\n get alignment() {\n let { alignment = DEFAULT_ALIGNMENT } = this.args;\n\n assert(\n `@alignment for \"Hds::Form::RadioCard\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${alignment}`,\n ALIGNMENTS.includes(alignment)\n );\n\n return alignment;\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-form-radio-card'];\n\n if (this.args.checked) {\n classes.push('hds-form-radio-card--checked');\n }\n if (this.args.disabled) {\n classes.push('hds-form-radio-card--disabled');\n }\n if (this.args.maxWidth) {\n classes.push('hds-form-radio-card--has-fixed-width');\n } else {\n classes.push('hds-form-radio-card--has-fluid-width');\n }\n\n // add a class based on the @controlPosition argument\n classes.push(`hds-form-radio-card--control-${this.controlPosition}`);\n\n // add a class based on the @alignment argument\n classes.push(`hds-form-radio-card--align-${this.alignment}`);\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_CONTROL_POSITION","DEFAULT_ALIGNMENT","CONTROL_POSITIONS","ALIGNMENTS","HdsFormRadioCardIndexComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","setAriaDescribedBy","schedule","controlPosition","assert","join","includes","alignment","classNames","classes","checked","push","disabled","maxWidth","_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/radio-card/index.hbs","../../../../../src/components/hds/form/radio-card/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<label class={{this.classNames}} {{did-insert this.setAriaDescribedBy}} {{style maxWidth=@maxWidth}}>\\n <span class=\\\"hds-form-radio-card__content\\\">\\n {{yield (hash Icon=(component \\\"flight-icon\\\" size=\\\"24\\\" isInlineBlock=false))}}\\n {{yield (hash Label=(component \\\"hds/form/radio-card/label\\\"))}}\\n {{yield (hash Badge=(component \\\"hds/badge\\\"))}}\\n {{yield (hash Description=(component \\\"hds/form/radio-card/description\\\"))}}\\n {{yield (hash Generic=(component \\\"hds/yield\\\"))}}\\n </span>\\n <span class=\\\"hds-form-radio-card__control-wrapper\\\">\\n <Hds::Form::Radio::Base\\n class=\\\"hds-form-radio-card__control\\\"\\n @value={{@value}}\\n name={{@name}}\\n checked={{@checked}}\\n disabled={{@disabled}}\\n aria-describedby={{this.ariaDescribedBy}}\\n ...attributes\\n />\\n </span>\\n</label>\")","/**\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 { schedule } from '@ember/runloop';\nimport { setAriaDescribedBy } from '../../../../utils/hds-set-aria-described-by';\n\nexport const DEFAULT_CONTROL_POSITION = 'bottom';\nexport const DEFAULT_ALIGNMENT = 'left';\nexport const CONTROL_POSITIONS = ['bottom', 'left'];\nexport const ALIGNMENTS = ['left', 'center'];\n\nexport default class HdsFormRadioCardIndexComponent extends Component {\n @tracked ariaDescribedBy = this.args.extraAriaDescribedBy;\n @tracked descriptors = [];\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 position of the control\n * Accepted values: buttom, left\n *\n * @param type\n * @type {string}\n * @default 'bottom'\n */\n get controlPosition() {\n let { controlPosition = DEFAULT_CONTROL_POSITION } = this.args;\n\n assert(\n `@controlPosition for \"Hds::Form::RadioCard\" must be one of the following: ${CONTROL_POSITIONS.join(\n ', '\n )}; received: ${controlPosition}`,\n CONTROL_POSITIONS.includes(controlPosition)\n );\n\n return controlPosition;\n }\n\n /**\n * Sets the alignment of the content\n * Accepted values: left, center\n *\n * @param alignnment\n * @type {string}\n * @default 'left'\n */\n get alignment() {\n let { alignment = DEFAULT_ALIGNMENT } = this.args;\n\n assert(\n `@alignment for \"Hds::Form::RadioCard\" must be one of the following: ${ALIGNMENTS.join(\n ', '\n )}; received: ${alignment}`,\n ALIGNMENTS.includes(alignment)\n );\n\n return alignment;\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-form-radio-card'];\n\n if (this.args.checked) {\n classes.push('hds-form-radio-card--checked');\n }\n if (this.args.disabled) {\n classes.push('hds-form-radio-card--disabled');\n }\n if (this.args.maxWidth) {\n classes.push('hds-form-radio-card--has-fixed-width');\n } else {\n classes.push('hds-form-radio-card--has-fluid-width');\n }\n\n // add a class based on the @controlPosition argument\n classes.push(`hds-form-radio-card--control-${this.controlPosition}`);\n\n // add a class based on the @alignment argument\n classes.push(`hds-form-radio-card--align-${this.alignment}`);\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_CONTROL_POSITION","DEFAULT_ALIGNMENT","CONTROL_POSITIONS","ALIGNMENTS","HdsFormRadioCardIndexComponent","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","setAriaDescribedBy","schedule","controlPosition","assert","join","includes","alignment","classNames","classes","checked","push","disabled","maxWidth","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","extraAriaDescribedBy","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import templateOnly from '@ember/component/template-only';
|
|
2
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
3
|
+
import { setComponentTemplate } from '@ember/component';
|
|
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{{#if @showNoSelectedMessage}}\n <Hds::Text::Body @tag=\"div\" @size=\"200\" class=\"hds-form-super-select__no-options-selected hds-foreground-strong\">\n No options selected\n </Hds::Text::Body>\n{{/if}}\n<div class=\"hds-form-super-select__after-options\">\n {{#if @content}}\n <Hds::Text::Body @tag=\"div\" @size=\"100\" class=\"hds-foreground-strong\">\n {{@content}}\n </Hds::Text::Body>\n {{else}}\n {{#if (or @showAll @showSelected @clearSelected)}}\n {{#if @showOnlySelected}}\n <Hds::Button @text=\"Show all\" @size=\"small\" @color=\"secondary\" {{on \"click\" @showAll}} />\n {{else}}\n <Hds::Button @text=\"Show selected\" @size=\"small\" @color=\"secondary\" {{on \"click\" @showSelected}} />\n {{/if}}\n {{#if (not-eq @selectedCount \"0\")}}\n <Hds::Button @text=\"Clear selected\" @size=\"small\" @color=\"secondary\" {{on \"click\" @clearSelected}} />\n {{/if}}\n {{/if}}\n <Hds::Text::Body @tag=\"div\" @size=\"100\" class=\"hds-form-super-select__result-count hds-foreground-strong\">\n {{@resultCountMessage}}\n </Hds::Text::Body>\n {{/if}}\n</div>");
|
|
6
|
+
|
|
7
|
+
var afterOptions = setComponentTemplate(TEMPLATE, templateOnly());
|
|
8
|
+
|
|
9
|
+
export { afterOptions as default };
|
|
10
|
+
//# sourceMappingURL=after-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"after-options.js","sources":["../../../../../src/components/hds/form/super-select/after-options.hbs","../../../../../src/components/hds/form/super-select/after-options.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{{#if @showNoSelectedMessage}}\\n <Hds::Text::Body @tag=\\\"div\\\" @size=\\\"200\\\" class=\\\"hds-form-super-select__no-options-selected hds-foreground-strong\\\">\\n No options selected\\n </Hds::Text::Body>\\n{{/if}}\\n<div class=\\\"hds-form-super-select__after-options\\\">\\n {{#if @content}}\\n <Hds::Text::Body @tag=\\\"div\\\" @size=\\\"100\\\" class=\\\"hds-foreground-strong\\\">\\n {{@content}}\\n </Hds::Text::Body>\\n {{else}}\\n {{#if (or @showAll @showSelected @clearSelected)}}\\n {{#if @showOnlySelected}}\\n <Hds::Button @text=\\\"Show all\\\" @size=\\\"small\\\" @color=\\\"secondary\\\" {{on \\\"click\\\" @showAll}} />\\n {{else}}\\n <Hds::Button @text=\\\"Show selected\\\" @size=\\\"small\\\" @color=\\\"secondary\\\" {{on \\\"click\\\" @showSelected}} />\\n {{/if}}\\n {{#if (not-eq @selectedCount \\\"0\\\")}}\\n <Hds::Button @text=\\\"Clear selected\\\" @size=\\\"small\\\" @color=\\\"secondary\\\" {{on \\\"click\\\" @clearSelected}} />\\n {{/if}}\\n {{/if}}\\n <Hds::Text::Body @tag=\\\"div\\\" @size=\\\"100\\\" class=\\\"hds-form-super-select__result-count hds-foreground-strong\\\">\\n {{@resultCountMessage}}\\n </Hds::Text::Body>\\n {{/if}}\\n</div>\")","import templateOnly from '@ember/component/template-only';\nexport default templateOnly();\n"],"names":["setComponentTemplate","TEMPLATE","templateOnly"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,svCAAsvC;;ACAxxC,mBAAAA,oBAAA,CAAAC,QAAA,EAAeC,YAAY,EAAE,CAAA;;;;"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty } from '../../../../../_rollupPluginBabelHelpers-NoJJJNhk.js';
|
|
2
|
+
import PowerSelectComponent from 'ember-power-select/components/power-select';
|
|
3
|
+
import anchoredPositionModifier from '../../../../../modifiers/hds-anchored-position.js';
|
|
4
|
+
import { action } from '@ember/object';
|
|
5
|
+
import { tracked } from '@glimmer/tracking';
|
|
6
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
7
|
+
import { setComponentTemplate } from '@ember/component';
|
|
8
|
+
|
|
9
|
+
var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n{{! Important: if an argument is added in base.hbs, it must also be added/processed in the Base component used in field.hbs }}\n<div class={{this.classNames}} {{style this.dropdownMaxWidthStyle}}>\n <PowerSelectMultiple\n @afterOptionsComponent={{if\n this.showAfterOptions\n (or\n @afterOptionsComponent\n (component\n \"hds/form/super-select/after-options\"\n content=@afterOptionsContent\n resultCountMessage=this.resultCountMessage\n showNoSelectedMessage=this.showNoSelectedMessage\n showOnlySelected=this.showOnlySelected\n showSelected=this.showSelected\n showAll=this.showAll\n clearSelected=this.clearSelected\n selectedCount=this.selectedCount\n )\n )\n }}\n @ariaDescribedBy={{@ariaDescribedBy}}\n @ariaInvalid={{@ariaInvalid}}\n @ariaLabel={{@ariaLabel}}\n @ariaLabelledBy={{@ariaLabelledBy}}\n @beforeOptionsComponent={{@beforeOptionsComponent}}\n @calculatePosition={{if @verticalPosition undefined this.calculatePosition}}\n @closeOnSelect={{false}}\n @disabled={{@disabled}}\n @dropdownClass={{@dropdownClass}}\n @extra={{@extra}}\n @groupComponent={{component \"hds/form/super-select/option-group\"}}\n @horizontalPosition={{@horizontalPosition}}\n @initiallyOpened={{@initiallyOpened}}\n @labelText={{@labelText}}\n @loadingMessage={{@loadingMessage}}\n @matcher={{@matcher}}\n @matchTriggerWidth={{if @dropdownMaxWidth false @matchTriggerWidth}}\n @noMatchesMessage={{@noMatchesMessage}}\n @onBlur={{@onBlur}}\n @onChange={{@onChange}}\n @onClose={{@onClose}}\n @onFocus={{@onFocus}}\n @onInput={{@onInput}}\n @onKeydown={{@onKeydown}}\n @onOpen={{@onOpen}}\n @options={{@options}}\n @optionsComponent={{@optionsComponent}}\n @placeholder={{@placeholder}}\n @placeholderComponent={{@placeholderComponent}}\n @preventScroll={{@preventScroll}}\n @registerAPI={{this.setPowerSelectAPI}}\n @renderInPlace={{true}}\n @resultCountMessage={{@resultCountMessage}}\n @scrollTo={{@scrollTo}}\n @search={{@search}}\n @searchEnabled={{@searchEnabled}}\n @searchField={{@searchField}}\n @searchMessage={{@searchMessage}}\n @searchPlaceholder={{this.searchPlaceholder}}\n @selected={{@selected}}\n @selectedItemComponent={{@selectedItemComponent}}\n @tabindex={{@tabindex}}\n @triggerClass={{@triggerClass}}\n @triggerComponent={{@triggerComponent}}\n @triggerId={{@triggerId}}\n @triggerRole={{@triggerRole}}\n @typeAheadMatcher={{@typeAheadMatcher}}\n @verticalPosition={{@verticalPosition}}\n ...attributes\n as |option select|\n >\n {{! even if technically what is yielded here are _a list_ of options, we\'ve decided to keep the `option` name for consistency with the existing `PowerSelect` API }}\n {{yield option select}}\n </PowerSelectMultiple>\n</div>");
|
|
10
|
+
|
|
11
|
+
var _class, _descriptor, _descriptor2, _descriptor3;
|
|
12
|
+
const DEFAULT_HORIZONTAL_POSITION = 'bottom-start';
|
|
13
|
+
const HORIZONTAL_POSITION_MAPPING = {
|
|
14
|
+
left: 'bottom-start',
|
|
15
|
+
center: 'bottom',
|
|
16
|
+
right: 'bottom-end'
|
|
17
|
+
};
|
|
18
|
+
let HdsSuperSelectMultipleBaseComponent = (_class = class HdsSuperSelectMultipleBaseComponent extends PowerSelectComponent {
|
|
19
|
+
constructor(...args) {
|
|
20
|
+
super(...args);
|
|
21
|
+
_initializerDefineProperty(this, "powerSelectAPI", _descriptor, this);
|
|
22
|
+
_initializerDefineProperty(this, "showOnlySelected", _descriptor2, this);
|
|
23
|
+
_initializerDefineProperty(this, "showNoSelectedMessage", _descriptor3, this);
|
|
24
|
+
}
|
|
25
|
+
get selectedCount() {
|
|
26
|
+
return this.selected?.length || '0';
|
|
27
|
+
}
|
|
28
|
+
get optionsCount() {
|
|
29
|
+
return this.options?.length || '0';
|
|
30
|
+
}
|
|
31
|
+
get resultCountMessage() {
|
|
32
|
+
return `${this.selectedCount} selected of ${this.optionsCount} total`;
|
|
33
|
+
}
|
|
34
|
+
calculatePosition(trigger, content) {
|
|
35
|
+
// use `hds-anchored-position` to calculate and set position
|
|
36
|
+
anchoredPositionModifier(content, [trigger], {
|
|
37
|
+
placement: this.args.horizontalPosition ? HORIZONTAL_POSITION_MAPPING[this.args.horizontalPosition] : DEFAULT_HORIZONTAL_POSITION,
|
|
38
|
+
offsetOptions: 4,
|
|
39
|
+
enableCollisionDetection: true
|
|
40
|
+
});
|
|
41
|
+
// prevent PowerSelect from setting position
|
|
42
|
+
return {};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* This action sets the powerSelectAPI property and optionally calls a registerAPI function.
|
|
47
|
+
*
|
|
48
|
+
* @param {Object} powerSelectAPI - The API object for the PowerSelect component.
|
|
49
|
+
*
|
|
50
|
+
* If a `registerAPI` function is passed in through the component's arguments,
|
|
51
|
+
* this function will be called with the `powerSelectAPI` as its argument.
|
|
52
|
+
* This allows parent components or controllers to have access to the PowerSelect API.
|
|
53
|
+
*
|
|
54
|
+
* The `powerSelectAPI` is also stored on the component instance and used in `clearSelected`
|
|
55
|
+
*/
|
|
56
|
+
setPowerSelectAPI(powerSelectAPI) {
|
|
57
|
+
if (typeof this.args.registerAPI === 'function') {
|
|
58
|
+
this.args.registerAPI(powerSelectAPI);
|
|
59
|
+
}
|
|
60
|
+
this.powerSelectAPI = powerSelectAPI;
|
|
61
|
+
}
|
|
62
|
+
showSelected() {
|
|
63
|
+
this.showNoSelectedMessage = this.selectedCount === '0';
|
|
64
|
+
this.showOnlySelected = true;
|
|
65
|
+
}
|
|
66
|
+
showAll() {
|
|
67
|
+
this.showNoSelectedMessage = false;
|
|
68
|
+
this.showOnlySelected = false;
|
|
69
|
+
}
|
|
70
|
+
clearSelected() {
|
|
71
|
+
this.powerSelectAPI.actions.select(null);
|
|
72
|
+
// show all options after clearing all selection
|
|
73
|
+
this.showNoSelectedMessage = false;
|
|
74
|
+
this.showOnlySelected = false;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Determine if `@afterOptionsComponent` gets displayed
|
|
79
|
+
* @param showAfterOptions
|
|
80
|
+
* @type {boolean}
|
|
81
|
+
* @default true
|
|
82
|
+
*/
|
|
83
|
+
get showAfterOptions() {
|
|
84
|
+
return this.args.showAfterOptions ?? true;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// NOTE: The searchPlaceholder doesn't currently work for the multiple select
|
|
88
|
+
/**
|
|
89
|
+
* Get the search placeholder text
|
|
90
|
+
* @param searchPlaceholder
|
|
91
|
+
* @type {string}
|
|
92
|
+
* @default 'Search'
|
|
93
|
+
*/
|
|
94
|
+
get searchPlaceholder() {
|
|
95
|
+
return this.args.searchPlaceholder ?? 'Search';
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Get the maxWidth to apply to the dropdown
|
|
100
|
+
* @param dropdownMaxWidth
|
|
101
|
+
* @type {string}
|
|
102
|
+
* @default 'none'
|
|
103
|
+
*/
|
|
104
|
+
get dropdownMaxWidthStyle() {
|
|
105
|
+
const maxWidthStyle = {};
|
|
106
|
+
if (this.args.dropdownMaxWidth) {
|
|
107
|
+
maxWidthStyle['--hds-form-super-select-dropdown-max-width'] = this.args.dropdownMaxWidth;
|
|
108
|
+
}
|
|
109
|
+
return maxWidthStyle;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Get the class names to apply to the component.
|
|
114
|
+
* @method classNames
|
|
115
|
+
* @return {string} The "class" attribute to apply to the component.
|
|
116
|
+
*/
|
|
117
|
+
get classNames() {
|
|
118
|
+
let classes = ['hds-form-super-select', 'hds-form-super-select-multiple'];
|
|
119
|
+
|
|
120
|
+
// add a class based on the @matchTriggerWidth argument or whether dropdownMaxWidth is set
|
|
121
|
+
if (this.args.matchTriggerWidth === false || this.args.dropdownMaxWidth) {
|
|
122
|
+
classes.push('hds-form-super-select--dropdown-content-auto-width');
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// add a class based on the @isInvalid argument
|
|
126
|
+
if (this.args.isInvalid) {
|
|
127
|
+
classes.push(`hds-form-super-select--is-invalid`);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// add a class based on the showOnlySelected
|
|
131
|
+
if (this.showOnlySelected) {
|
|
132
|
+
classes.push(`hds-form-super-select--show-only-selected`);
|
|
133
|
+
}
|
|
134
|
+
return classes.join(' ');
|
|
135
|
+
}
|
|
136
|
+
}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, "powerSelectAPI", [tracked], {
|
|
137
|
+
configurable: true,
|
|
138
|
+
enumerable: true,
|
|
139
|
+
writable: true,
|
|
140
|
+
initializer: null
|
|
141
|
+
}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, "showOnlySelected", [tracked], {
|
|
142
|
+
configurable: true,
|
|
143
|
+
enumerable: true,
|
|
144
|
+
writable: true,
|
|
145
|
+
initializer: function () {
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, "showNoSelectedMessage", [tracked], {
|
|
149
|
+
configurable: true,
|
|
150
|
+
enumerable: true,
|
|
151
|
+
writable: true,
|
|
152
|
+
initializer: function () {
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
}), _applyDecoratedDescriptor(_class.prototype, "calculatePosition", [action], Object.getOwnPropertyDescriptor(_class.prototype, "calculatePosition"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "setPowerSelectAPI", [action], Object.getOwnPropertyDescriptor(_class.prototype, "setPowerSelectAPI"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "showSelected", [action], Object.getOwnPropertyDescriptor(_class.prototype, "showSelected"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "showAll", [action], Object.getOwnPropertyDescriptor(_class.prototype, "showAll"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "clearSelected", [action], Object.getOwnPropertyDescriptor(_class.prototype, "clearSelected"), _class.prototype)), _class);
|
|
156
|
+
setComponentTemplate(TEMPLATE, HdsSuperSelectMultipleBaseComponent);
|
|
157
|
+
|
|
158
|
+
export { HdsSuperSelectMultipleBaseComponent as default };
|
|
159
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sources":["../../../../../../src/components/hds/form/super-select/multiple/base.hbs","../../../../../../src/components/hds/form/super-select/multiple/base.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n{{! Important: if an argument is added in base.hbs, it must also be added/processed in the Base component used in field.hbs }}\\n<div class={{this.classNames}} {{style this.dropdownMaxWidthStyle}}>\\n <PowerSelectMultiple\\n @afterOptionsComponent={{if\\n this.showAfterOptions\\n (or\\n @afterOptionsComponent\\n (component\\n \\\"hds/form/super-select/after-options\\\"\\n content=@afterOptionsContent\\n resultCountMessage=this.resultCountMessage\\n showNoSelectedMessage=this.showNoSelectedMessage\\n showOnlySelected=this.showOnlySelected\\n showSelected=this.showSelected\\n showAll=this.showAll\\n clearSelected=this.clearSelected\\n selectedCount=this.selectedCount\\n )\\n )\\n }}\\n @ariaDescribedBy={{@ariaDescribedBy}}\\n @ariaInvalid={{@ariaInvalid}}\\n @ariaLabel={{@ariaLabel}}\\n @ariaLabelledBy={{@ariaLabelledBy}}\\n @beforeOptionsComponent={{@beforeOptionsComponent}}\\n @calculatePosition={{if @verticalPosition undefined this.calculatePosition}}\\n @closeOnSelect={{false}}\\n @disabled={{@disabled}}\\n @dropdownClass={{@dropdownClass}}\\n @extra={{@extra}}\\n @groupComponent={{component \\\"hds/form/super-select/option-group\\\"}}\\n @horizontalPosition={{@horizontalPosition}}\\n @initiallyOpened={{@initiallyOpened}}\\n @labelText={{@labelText}}\\n @loadingMessage={{@loadingMessage}}\\n @matcher={{@matcher}}\\n @matchTriggerWidth={{if @dropdownMaxWidth false @matchTriggerWidth}}\\n @noMatchesMessage={{@noMatchesMessage}}\\n @onBlur={{@onBlur}}\\n @onChange={{@onChange}}\\n @onClose={{@onClose}}\\n @onFocus={{@onFocus}}\\n @onInput={{@onInput}}\\n @onKeydown={{@onKeydown}}\\n @onOpen={{@onOpen}}\\n @options={{@options}}\\n @optionsComponent={{@optionsComponent}}\\n @placeholder={{@placeholder}}\\n @placeholderComponent={{@placeholderComponent}}\\n @preventScroll={{@preventScroll}}\\n @registerAPI={{this.setPowerSelectAPI}}\\n @renderInPlace={{true}}\\n @resultCountMessage={{@resultCountMessage}}\\n @scrollTo={{@scrollTo}}\\n @search={{@search}}\\n @searchEnabled={{@searchEnabled}}\\n @searchField={{@searchField}}\\n @searchMessage={{@searchMessage}}\\n @searchPlaceholder={{this.searchPlaceholder}}\\n @selected={{@selected}}\\n @selectedItemComponent={{@selectedItemComponent}}\\n @tabindex={{@tabindex}}\\n @triggerClass={{@triggerClass}}\\n @triggerComponent={{@triggerComponent}}\\n @triggerId={{@triggerId}}\\n @triggerRole={{@triggerRole}}\\n @typeAheadMatcher={{@typeAheadMatcher}}\\n @verticalPosition={{@verticalPosition}}\\n ...attributes\\n as |option select|\\n >\\n {{! even if technically what is yielded here are _a list_ of options, we\\'ve decided to keep the `option` name for consistency with the existing `PowerSelect` API }}\\n {{yield option select}}\\n </PowerSelectMultiple>\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport PowerSelectComponent from 'ember-power-select/components/power-select';\nimport anchoredPositionModifier from '../../../../../modifiers/hds-anchored-position';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\n\nconst DEFAULT_HORIZONTAL_POSITION = 'bottom-start';\nconst HORIZONTAL_POSITION_MAPPING = {\n left: 'bottom-start',\n center: 'bottom',\n right: 'bottom-end',\n};\n\nexport default class HdsSuperSelectMultipleBaseComponent extends PowerSelectComponent {\n @tracked powerSelectAPI;\n @tracked showOnlySelected = false;\n @tracked showNoSelectedMessage = false;\n\n get selectedCount() {\n return this.selected?.length || '0';\n }\n\n get optionsCount() {\n return this.options?.length || '0';\n }\n\n get resultCountMessage() {\n return `${this.selectedCount} selected of ${this.optionsCount} total`;\n }\n\n @action calculatePosition(trigger, content) {\n // use `hds-anchored-position` to calculate and set position\n anchoredPositionModifier(content, [trigger], {\n placement: this.args.horizontalPosition\n ? HORIZONTAL_POSITION_MAPPING[this.args.horizontalPosition]\n : DEFAULT_HORIZONTAL_POSITION,\n offsetOptions: 4,\n enableCollisionDetection: true,\n });\n // prevent PowerSelect from setting position\n return {};\n }\n\n /**\n * This action sets the powerSelectAPI property and optionally calls a registerAPI function.\n *\n * @param {Object} powerSelectAPI - The API object for the PowerSelect component.\n *\n * If a `registerAPI` function is passed in through the component's arguments,\n * this function will be called with the `powerSelectAPI` as its argument.\n * This allows parent components or controllers to have access to the PowerSelect API.\n *\n * The `powerSelectAPI` is also stored on the component instance and used in `clearSelected`\n */\n @action\n setPowerSelectAPI(powerSelectAPI) {\n if (typeof this.args.registerAPI === 'function') {\n this.args.registerAPI(powerSelectAPI);\n }\n this.powerSelectAPI = powerSelectAPI;\n }\n\n @action showSelected() {\n this.showNoSelectedMessage = this.selectedCount === '0';\n this.showOnlySelected = true;\n }\n\n @action showAll() {\n this.showNoSelectedMessage = false;\n this.showOnlySelected = false;\n }\n\n @action clearSelected() {\n this.powerSelectAPI.actions.select(null);\n // show all options after clearing all selection\n this.showNoSelectedMessage = false;\n this.showOnlySelected = false;\n }\n\n /**\n * Determine if `@afterOptionsComponent` gets displayed\n * @param showAfterOptions\n * @type {boolean}\n * @default true\n */\n get showAfterOptions() {\n return this.args.showAfterOptions ?? true;\n }\n\n // NOTE: The searchPlaceholder doesn't currently work for the multiple select\n /**\n * Get the search placeholder text\n * @param searchPlaceholder\n * @type {string}\n * @default 'Search'\n */\n get searchPlaceholder() {\n return this.args.searchPlaceholder ?? 'Search';\n }\n\n /**\n * Get the maxWidth to apply to the dropdown\n * @param dropdownMaxWidth\n * @type {string}\n * @default 'none'\n */\n get dropdownMaxWidthStyle() {\n const maxWidthStyle = {};\n if (this.args.dropdownMaxWidth) {\n maxWidthStyle['--hds-form-super-select-dropdown-max-width'] =\n this.args.dropdownMaxWidth;\n }\n return maxWidthStyle;\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-form-super-select', 'hds-form-super-select-multiple'];\n\n // add a class based on the @matchTriggerWidth argument or whether dropdownMaxWidth is set\n if (this.args.matchTriggerWidth === false || this.args.dropdownMaxWidth) {\n classes.push('hds-form-super-select--dropdown-content-auto-width');\n }\n\n // add a class based on the @isInvalid argument\n if (this.args.isInvalid) {\n classes.push(`hds-form-super-select--is-invalid`);\n }\n\n // add a class based on the showOnlySelected\n if (this.showOnlySelected) {\n classes.push(`hds-form-super-select--show-only-selected`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_HORIZONTAL_POSITION","HORIZONTAL_POSITION_MAPPING","left","center","right","HdsSuperSelectMultipleBaseComponent","_class","PowerSelectComponent","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","selectedCount","selected","length","optionsCount","options","resultCountMessage","calculatePosition","trigger","content","anchoredPositionModifier","placement","horizontalPosition","offsetOptions","enableCollisionDetection","setPowerSelectAPI","powerSelectAPI","registerAPI","showSelected","showNoSelectedMessage","showOnlySelected","showAll","clearSelected","actions","select","showAfterOptions","searchPlaceholder","dropdownMaxWidthStyle","maxWidthStyle","dropdownMaxWidth","classNames","classes","matchTriggerWidth","push","isInvalid","join","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import PowerSelectComponent from 'ember-power-select/components/power-select';
|
|
2
|
+
import { ID_PREFIX } from '../../label/index.js';
|
|
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<Hds::Form::Field\n @layout=\"vertical\"\n @extraAriaDescribedBy={{@extraAriaDescribedBy}}\n @isRequired={{@isRequired}}\n @isOptional={{@isOptional}}\n @id={{@id}}\n as |F|\n>\n {{! Notice: the order of the elements is not relevant here, because is controlled at \"Hds::Form::Field\" component level }}\n {{yield (hash Label=F.Label isRequired=F.isRequired isOptional=F.isOptional)}}\n {{yield (hash HelperText=F.HelperText Error=F.Error)}}\n <F.Control>\n {{! Important: if an argument is added in base.hbs, it must also be added/processed here }}\n <Hds::Form::SuperSelect::Multiple::Base\n @afterOptionsComponent={{@afterOptionsComponent}}\n @afterOptionsContent={{@afterOptionsContent}}\n @ariaDescribedBy={{F.ariaDescribedBy}}\n @ariaInvalid={{@ariaInvalid}}\n @ariaLabel={{@ariaLabel}}\n @ariaLabelledBy={{(concat this.idPrefix F.id)}}\n @beforeOptionsComponent={{@beforeOptionsComponent}}\n @disabled={{@disabled}}\n @dropdownClass={{@dropdownClass}}\n @dropdownMaxWidth={{@dropdownMaxWidth}}\n @extra={{@extra}}\n @groupComponent={{@groupComponent}}\n @horizontalPosition={{@horizontalPosition}}\n @initiallyOpened={{@initiallyOpened}}\n @labelText={{@labelText}}\n @loadingMessage={{@loadingMessage}}\n @matcher={{@matcher}}\n @matchTriggerWidth={{@matchTriggerWidth}}\n @noMatchesMessage={{@noMatchesMessage}}\n @onBlur={{@onBlur}}\n @onChange={{@onChange}}\n @onClose={{@onClose}}\n @onFocus={{@onFocus}}\n @onInput={{@onInput}}\n @onKeydown={{@onKeydown}}\n @onOpen={{@onOpen}}\n @options={{@options}}\n @optionsComponent={{@optionsComponent}}\n @placeholder={{@placeholder}}\n @placeholderComponent={{@placeholderComponent}}\n @preventScroll={{@preventScroll}}\n @registerAPI={{@registerAPI}}\n @renderInPlace={{true}}\n @resultCountMessage={{@resultCountMessage}}\n @scrollTo={{@scrollTo}}\n @search={{@search}}\n @searchEnabled={{@searchEnabled}}\n @searchField={{@searchField}}\n @searchMessage={{@searchMessage}}\n @searchPlaceholder={{@searchPlaceholder}}\n @selected={{@selected}}\n @selectedItemComponent={{@selectedItemComponent}}\n @showAfterOptions={{@showAfterOptions}}\n @tabindex={{@tabindex}}\n @triggerClass={{@triggerClass}}\n @triggerComponent={{@triggerComponent}}\n @triggerId={{F.id}}\n @triggerRole={{@triggerRole}}\n @typeAheadMatcher={{@typeAheadMatcher}}\n @verticalPosition={{@verticalPosition}}\n @isInvalid={{@isInvalid}}\n ...attributes\n as |options select|\n >\n {{yield (hash options=options select=select Options=(component \"hds/yield\" options=options select=select))}}\n </Hds::Form::SuperSelect::Multiple::Base>\n </F.Control>\n</Hds::Form::Field>");
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Copyright (c) HashiCorp, Inc.
|
|
10
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
class HdsSuperSelectMultipleFieldComponent extends PowerSelectComponent {
|
|
14
|
+
get idPrefix() {
|
|
15
|
+
return ID_PREFIX;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
setComponentTemplate(TEMPLATE, HdsSuperSelectMultipleFieldComponent);
|
|
19
|
+
|
|
20
|
+
export { HdsSuperSelectMultipleFieldComponent as default };
|
|
21
|
+
//# sourceMappingURL=field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.js","sources":["../../../../../../src/components/hds/form/super-select/multiple/field.hbs","../../../../../../src/components/hds/form/super-select/multiple/field.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::Form::Field\\n @layout=\\\"vertical\\\"\\n @extraAriaDescribedBy={{@extraAriaDescribedBy}}\\n @isRequired={{@isRequired}}\\n @isOptional={{@isOptional}}\\n @id={{@id}}\\n as |F|\\n>\\n {{! Notice: the order of the elements is not relevant here, because is controlled at \\\"Hds::Form::Field\\\" component level }}\\n {{yield (hash Label=F.Label isRequired=F.isRequired isOptional=F.isOptional)}}\\n {{yield (hash HelperText=F.HelperText Error=F.Error)}}\\n <F.Control>\\n {{! Important: if an argument is added in base.hbs, it must also be added/processed here }}\\n <Hds::Form::SuperSelect::Multiple::Base\\n @afterOptionsComponent={{@afterOptionsComponent}}\\n @afterOptionsContent={{@afterOptionsContent}}\\n @ariaDescribedBy={{F.ariaDescribedBy}}\\n @ariaInvalid={{@ariaInvalid}}\\n @ariaLabel={{@ariaLabel}}\\n @ariaLabelledBy={{(concat this.idPrefix F.id)}}\\n @beforeOptionsComponent={{@beforeOptionsComponent}}\\n @disabled={{@disabled}}\\n @dropdownClass={{@dropdownClass}}\\n @dropdownMaxWidth={{@dropdownMaxWidth}}\\n @extra={{@extra}}\\n @groupComponent={{@groupComponent}}\\n @horizontalPosition={{@horizontalPosition}}\\n @initiallyOpened={{@initiallyOpened}}\\n @labelText={{@labelText}}\\n @loadingMessage={{@loadingMessage}}\\n @matcher={{@matcher}}\\n @matchTriggerWidth={{@matchTriggerWidth}}\\n @noMatchesMessage={{@noMatchesMessage}}\\n @onBlur={{@onBlur}}\\n @onChange={{@onChange}}\\n @onClose={{@onClose}}\\n @onFocus={{@onFocus}}\\n @onInput={{@onInput}}\\n @onKeydown={{@onKeydown}}\\n @onOpen={{@onOpen}}\\n @options={{@options}}\\n @optionsComponent={{@optionsComponent}}\\n @placeholder={{@placeholder}}\\n @placeholderComponent={{@placeholderComponent}}\\n @preventScroll={{@preventScroll}}\\n @registerAPI={{@registerAPI}}\\n @renderInPlace={{true}}\\n @resultCountMessage={{@resultCountMessage}}\\n @scrollTo={{@scrollTo}}\\n @search={{@search}}\\n @searchEnabled={{@searchEnabled}}\\n @searchField={{@searchField}}\\n @searchMessage={{@searchMessage}}\\n @searchPlaceholder={{@searchPlaceholder}}\\n @selected={{@selected}}\\n @selectedItemComponent={{@selectedItemComponent}}\\n @showAfterOptions={{@showAfterOptions}}\\n @tabindex={{@tabindex}}\\n @triggerClass={{@triggerClass}}\\n @triggerComponent={{@triggerComponent}}\\n @triggerId={{F.id}}\\n @triggerRole={{@triggerRole}}\\n @typeAheadMatcher={{@typeAheadMatcher}}\\n @verticalPosition={{@verticalPosition}}\\n @isInvalid={{@isInvalid}}\\n ...attributes\\n as |options select|\\n >\\n {{yield (hash options=options select=select Options=(component \\\"hds/yield\\\" options=options select=select))}}\\n </Hds::Form::SuperSelect::Multiple::Base>\\n </F.Control>\\n</Hds::Form::Field>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport PowerSelectComponent from 'ember-power-select/components/power-select';\nimport { ID_PREFIX } from '../../label/index';\n\nexport default class HdsSuperSelectMultipleFieldComponent extends PowerSelectComponent {\n get idPrefix() {\n return ID_PREFIX;\n }\n}\n"],"names":["HdsSuperSelectMultipleFieldComponent","PowerSelectComponent","idPrefix","ID_PREFIX","setComponentTemplate","TEMPLATE"],"mappings":";;;;;AACA,eAAe,kBAAkB,CAAC,m8FAAm8F;;ACDr+F;AACA;AACA;AACA;;AAKe,MAAMA,oCAAoC,SAASC,oBAAoB,CAAC;EACrF,IAAIC,QAAQA,GAAG;AACb,IAAA,OAAOC,SAAS,CAAA;AAClB,GAAA;AACF,CAAA;AAACC,oBAAA,CAAAC,QAAA,EAJoBL,oCAAoC,CAAA;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { a as _defineProperty } from '../../../../_rollupPluginBabelHelpers-NoJJJNhk.js';
|
|
2
|
+
import Component from '@glimmer/component';
|
|
3
|
+
import { guidFor } from '@ember/object/internals';
|
|
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, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<li class=\"hds-form-super-select__option-group\" role=\"group\" aria-labelledby={{this.groupTitleId}}>\n <Hds::Text::Body\n @tag=\"div\"\n @size=\"100\"\n @weight=\"semibold\"\n class=\"hds-form-super-select__option-group-title\"\n id={{this.groupTitleId}}\n >\n {{@group.groupName}}\n </Hds::Text::Body>\n {{yield}}\n</li>");
|
|
8
|
+
|
|
9
|
+
class HdsSuperSelectOptionGroupComponent extends Component {
|
|
10
|
+
constructor(...args) {
|
|
11
|
+
super(...args);
|
|
12
|
+
/**
|
|
13
|
+
* Generates a unique ID for the group title
|
|
14
|
+
* @return {string}
|
|
15
|
+
*/
|
|
16
|
+
_defineProperty(this, "groupTitleId", 'group-title-' + guidFor(this));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
setComponentTemplate(TEMPLATE, HdsSuperSelectOptionGroupComponent);
|
|
20
|
+
|
|
21
|
+
export { HdsSuperSelectOptionGroupComponent as default };
|
|
22
|
+
//# sourceMappingURL=option-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"option-group.js","sources":["../../../../../src/components/hds/form/super-select/option-group.hbs","../../../../../src/components/hds/form/super-select/option-group.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=\\\"hds-form-super-select__option-group\\\" role=\\\"group\\\" aria-labelledby={{this.groupTitleId}}>\\n <Hds::Text::Body\\n @tag=\\\"div\\\"\\n @size=\\\"100\\\"\\n @weight=\\\"semibold\\\"\\n class=\\\"hds-form-super-select__option-group-title\\\"\\n id={{this.groupTitleId}}\\n >\\n {{@group.groupName}}\\n </Hds::Text::Body>\\n {{yield}}\\n</li>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\n\nexport default class HdsSuperSelectOptionGroupComponent extends Component {\n /**\n * Generates a unique ID for the group title\n * @return {string}\n */\n groupTitleId = 'group-title-' + guidFor(this);\n}\n"],"names":["HdsSuperSelectOptionGroupComponent","Component","constructor","args","_defineProperty","guidFor","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,mdAAmd;;ACOte,MAAMA,kCAAkC,SAASC,SAAS,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AACxE;AACF;AACA;AACA;AAHEC,IAAAA,eAAA,uBAIe,cAAc,GAAGC,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAA,GAAA;AAC/C,CAAA;AAACC,oBAAA,CAAAC,QAAA,EANoBP,kCAAkC,CAAA;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import templateOnly from '@ember/component/template-only';
|
|
2
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
3
|
+
import { setComponentTemplate } from '@ember/component';
|
|
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<Hds::Text::Body @tag=\"span\" @size=\"200\" class=\"ember-power-select-placeholder\">{{@placeholder}}</Hds::Text::Body>");
|
|
6
|
+
|
|
7
|
+
var placeholder = setComponentTemplate(TEMPLATE, templateOnly());
|
|
8
|
+
|
|
9
|
+
export { placeholder as default };
|
|
10
|
+
//# sourceMappingURL=placeholder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placeholder.js","sources":["../../../../../src/components/hds/form/super-select/placeholder.hbs","../../../../../src/components/hds/form/super-select/placeholder.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::Text::Body @tag=\\\"span\\\" @size=\\\"200\\\" class=\\\"ember-power-select-placeholder\\\">{{@placeholder}}</Hds::Text::Body>\")","import templateOnly from '@ember/component/template-only';\nexport default templateOnly();\n"],"names":["setComponentTemplate","TEMPLATE","templateOnly"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,iPAAiP;;ACAnR,kBAAAA,oBAAA,CAAAC,QAAA,EAAeC,YAAY,EAAE,CAAA;;;;"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { _ as _applyDecoratedDescriptor } from '../../../../../_rollupPluginBabelHelpers-NoJJJNhk.js';
|
|
2
|
+
import PowerSelectComponent from 'ember-power-select/components/power-select';
|
|
3
|
+
import anchoredPositionModifier from '../../../../../modifiers/hds-anchored-position.js';
|
|
4
|
+
import { action } from '@ember/object';
|
|
5
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
6
|
+
import { setComponentTemplate } from '@ember/component';
|
|
7
|
+
|
|
8
|
+
var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n{{! Important: if an argument is added in base.hbs, it must also be added/processed in the Base component used in field.hbs }}\n<div class={{this.classNames}} {{style this.dropdownMaxWidthStyle}}>\n <PowerSelect\n @afterOptionsComponent={{if\n this.showAfterOptions\n (or\n @afterOptionsComponent\n (component\n \"hds/form/super-select/after-options\" content=@afterOptionsContent resultCountMessage=this.resultCountMessage\n )\n )\n }}\n @ariaDescribedBy={{@ariaDescribedBy}}\n @ariaInvalid={{@ariaInvalid}}\n @ariaLabel={{@ariaLabel}}\n @ariaLabelledBy={{@ariaLabelledBy}}\n @beforeOptionsComponent={{@beforeOptionsComponent}}\n @calculatePosition={{if @verticalPosition undefined this.calculatePosition}}\n @closeOnSelect={{@closeOnSelect}}\n @disabled={{@disabled}}\n @dropdownClass={{@dropdownClass}}\n @extra={{@extra}}\n @groupComponent={{component \"hds/form/super-select/option-group\"}}\n @horizontalPosition={{@horizontalPosition}}\n @initiallyOpened={{@initiallyOpened}}\n @labelText={{@labelText}}\n @loadingMessage={{@loadingMessage}}\n @matcher={{@matcher}}\n @matchTriggerWidth={{if @dropdownMaxWidth false @matchTriggerWidth}}\n @noMatchesMessage={{@noMatchesMessage}}\n @onBlur={{@onBlur}}\n @onChange={{@onChange}}\n @onClose={{@onClose}}\n @onFocus={{@onFocus}}\n @onInput={{@onInput}}\n @onKeydown={{@onKeydown}}\n @onOpen={{@onOpen}}\n @options={{@options}}\n @optionsComponent={{@optionsComponent}}\n @placeholder={{@placeholder}}\n @placeholderComponent={{component \"hds/form/super-select/placeholder\"}}\n @preventScroll={{@preventScroll}}\n @registerAPI={{@registerAPI}}\n @renderInPlace={{true}}\n @resultCountMessage={{@resultCountMessage}}\n @scrollTo={{@scrollTo}}\n @search={{@search}}\n @searchEnabled={{@searchEnabled}}\n @searchField={{@searchField}}\n @searchMessage={{@searchMessage}}\n @searchPlaceholder={{this.searchPlaceholder}}\n @selected={{@selected}}\n @selectedItemComponent={{@selectedItemComponent}}\n @tabindex={{@tabindex}}\n @triggerClass={{@triggerClass}}\n @triggerComponent={{@triggerComponent}}\n @triggerId={{@triggerId}}\n @triggerRole={{@triggerRole}}\n @typeAheadMatcher={{@typeAheadMatcher}}\n @verticalPosition={{@verticalPosition}}\n ...attributes\n as |option select|\n >\n <Hds::Text::Body>{{yield option select}}</Hds::Text::Body>\n </PowerSelect>\n</div>");
|
|
9
|
+
|
|
10
|
+
var _class;
|
|
11
|
+
const DEFAULT_HORIZONTAL_POSITION = 'bottom-start';
|
|
12
|
+
const HORIZONTAL_POSITION_MAPPING = {
|
|
13
|
+
left: 'bottom-start',
|
|
14
|
+
center: 'bottom',
|
|
15
|
+
right: 'bottom-end'
|
|
16
|
+
};
|
|
17
|
+
let HdsSuperSelectSingleBaseComponent = (_class = class HdsSuperSelectSingleBaseComponent extends PowerSelectComponent {
|
|
18
|
+
calculatePosition(trigger, content) {
|
|
19
|
+
// use `hds-anchored-position` to calculate and set position
|
|
20
|
+
anchoredPositionModifier(content, [trigger], {
|
|
21
|
+
placement: this.args.horizontalPosition ? HORIZONTAL_POSITION_MAPPING[this.args.horizontalPosition] : DEFAULT_HORIZONTAL_POSITION,
|
|
22
|
+
offsetOptions: 4,
|
|
23
|
+
enableCollisionDetection: true
|
|
24
|
+
});
|
|
25
|
+
// prevent PowerSelect from setting position
|
|
26
|
+
return {};
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Determine if `@afterOptionsComponent` gets displayed
|
|
31
|
+
* @param showAfterOptions
|
|
32
|
+
* @type {boolean}
|
|
33
|
+
* @default false
|
|
34
|
+
*/
|
|
35
|
+
get showAfterOptions() {
|
|
36
|
+
return this.args.showAfterOptions ?? this.args.afterOptionsContent ?? false;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Get the search placeholder text
|
|
41
|
+
* @param searchPlaceholder
|
|
42
|
+
* @type {string}
|
|
43
|
+
* @default 'Search'
|
|
44
|
+
*/
|
|
45
|
+
get searchPlaceholder() {
|
|
46
|
+
return this.args.searchPlaceholder ?? 'Search';
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Get the maxWidth to apply to the dropdown
|
|
51
|
+
* @param dropdownMaxWidth
|
|
52
|
+
* @type {string}
|
|
53
|
+
* @default 'none'
|
|
54
|
+
*/
|
|
55
|
+
get dropdownMaxWidthStyle() {
|
|
56
|
+
const maxWidthStyle = {};
|
|
57
|
+
if (this.args.dropdownMaxWidth) {
|
|
58
|
+
maxWidthStyle['--hds-form-super-select-dropdown-max-width'] = this.args.dropdownMaxWidth;
|
|
59
|
+
}
|
|
60
|
+
return maxWidthStyle;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Get the class names to apply to the component.
|
|
65
|
+
* @method classNames
|
|
66
|
+
* @return {string} The "class" attribute to apply to the component.
|
|
67
|
+
*/
|
|
68
|
+
get classNames() {
|
|
69
|
+
let classes = ['hds-form-super-select', 'hds-form-super-select-single'];
|
|
70
|
+
|
|
71
|
+
// add a class based on the @matchTriggerWidth argument or whether dropdownMaxWidth is set
|
|
72
|
+
if (this.args.matchTriggerWidth === false || this.args.dropdownMaxWidth) {
|
|
73
|
+
classes.push('hds-form-super-select--dropdown-content-auto-width');
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// add a class based on the @isInvalid argument
|
|
77
|
+
if (this.args.isInvalid) {
|
|
78
|
+
classes.push(`hds-form-super-select--is-invalid`);
|
|
79
|
+
}
|
|
80
|
+
return classes.join(' ');
|
|
81
|
+
}
|
|
82
|
+
}, (_applyDecoratedDescriptor(_class.prototype, "calculatePosition", [action], Object.getOwnPropertyDescriptor(_class.prototype, "calculatePosition"), _class.prototype)), _class);
|
|
83
|
+
setComponentTemplate(TEMPLATE, HdsSuperSelectSingleBaseComponent);
|
|
84
|
+
|
|
85
|
+
export { HdsSuperSelectSingleBaseComponent as default };
|
|
86
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sources":["../../../../../../src/components/hds/form/super-select/single/base.hbs","../../../../../../src/components/hds/form/super-select/single/base.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n{{! Important: if an argument is added in base.hbs, it must also be added/processed in the Base component used in field.hbs }}\\n<div class={{this.classNames}} {{style this.dropdownMaxWidthStyle}}>\\n <PowerSelect\\n @afterOptionsComponent={{if\\n this.showAfterOptions\\n (or\\n @afterOptionsComponent\\n (component\\n \\\"hds/form/super-select/after-options\\\" content=@afterOptionsContent resultCountMessage=this.resultCountMessage\\n )\\n )\\n }}\\n @ariaDescribedBy={{@ariaDescribedBy}}\\n @ariaInvalid={{@ariaInvalid}}\\n @ariaLabel={{@ariaLabel}}\\n @ariaLabelledBy={{@ariaLabelledBy}}\\n @beforeOptionsComponent={{@beforeOptionsComponent}}\\n @calculatePosition={{if @verticalPosition undefined this.calculatePosition}}\\n @closeOnSelect={{@closeOnSelect}}\\n @disabled={{@disabled}}\\n @dropdownClass={{@dropdownClass}}\\n @extra={{@extra}}\\n @groupComponent={{component \\\"hds/form/super-select/option-group\\\"}}\\n @horizontalPosition={{@horizontalPosition}}\\n @initiallyOpened={{@initiallyOpened}}\\n @labelText={{@labelText}}\\n @loadingMessage={{@loadingMessage}}\\n @matcher={{@matcher}}\\n @matchTriggerWidth={{if @dropdownMaxWidth false @matchTriggerWidth}}\\n @noMatchesMessage={{@noMatchesMessage}}\\n @onBlur={{@onBlur}}\\n @onChange={{@onChange}}\\n @onClose={{@onClose}}\\n @onFocus={{@onFocus}}\\n @onInput={{@onInput}}\\n @onKeydown={{@onKeydown}}\\n @onOpen={{@onOpen}}\\n @options={{@options}}\\n @optionsComponent={{@optionsComponent}}\\n @placeholder={{@placeholder}}\\n @placeholderComponent={{component \\\"hds/form/super-select/placeholder\\\"}}\\n @preventScroll={{@preventScroll}}\\n @registerAPI={{@registerAPI}}\\n @renderInPlace={{true}}\\n @resultCountMessage={{@resultCountMessage}}\\n @scrollTo={{@scrollTo}}\\n @search={{@search}}\\n @searchEnabled={{@searchEnabled}}\\n @searchField={{@searchField}}\\n @searchMessage={{@searchMessage}}\\n @searchPlaceholder={{this.searchPlaceholder}}\\n @selected={{@selected}}\\n @selectedItemComponent={{@selectedItemComponent}}\\n @tabindex={{@tabindex}}\\n @triggerClass={{@triggerClass}}\\n @triggerComponent={{@triggerComponent}}\\n @triggerId={{@triggerId}}\\n @triggerRole={{@triggerRole}}\\n @typeAheadMatcher={{@typeAheadMatcher}}\\n @verticalPosition={{@verticalPosition}}\\n ...attributes\\n as |option select|\\n >\\n <Hds::Text::Body>{{yield option select}}</Hds::Text::Body>\\n </PowerSelect>\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport PowerSelectComponent from 'ember-power-select/components/power-select';\nimport anchoredPositionModifier from '../../../../../modifiers/hds-anchored-position';\nimport { action } from '@ember/object';\n\nconst DEFAULT_HORIZONTAL_POSITION = 'bottom-start';\nconst HORIZONTAL_POSITION_MAPPING = {\n left: 'bottom-start',\n center: 'bottom',\n right: 'bottom-end',\n};\n\nexport default class HdsSuperSelectSingleBaseComponent extends PowerSelectComponent {\n @action calculatePosition(trigger, content) {\n // use `hds-anchored-position` to calculate and set position\n anchoredPositionModifier(content, [trigger], {\n placement: this.args.horizontalPosition\n ? HORIZONTAL_POSITION_MAPPING[this.args.horizontalPosition]\n : DEFAULT_HORIZONTAL_POSITION,\n offsetOptions: 4,\n enableCollisionDetection: true,\n });\n // prevent PowerSelect from setting position\n return {};\n }\n\n /**\n * Determine if `@afterOptionsComponent` gets displayed\n * @param showAfterOptions\n * @type {boolean}\n * @default false\n */\n get showAfterOptions() {\n return this.args.showAfterOptions ?? this.args.afterOptionsContent ?? false;\n }\n\n /**\n * Get the search placeholder text\n * @param searchPlaceholder\n * @type {string}\n * @default 'Search'\n */\n get searchPlaceholder() {\n return this.args.searchPlaceholder ?? 'Search';\n }\n\n /**\n * Get the maxWidth to apply to the dropdown\n * @param dropdownMaxWidth\n * @type {string}\n * @default 'none'\n */\n get dropdownMaxWidthStyle() {\n const maxWidthStyle = {};\n if (this.args.dropdownMaxWidth) {\n maxWidthStyle['--hds-form-super-select-dropdown-max-width'] =\n this.args.dropdownMaxWidth;\n }\n return maxWidthStyle;\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-form-super-select', 'hds-form-super-select-single'];\n\n // add a class based on the @matchTriggerWidth argument or whether dropdownMaxWidth is set\n if (this.args.matchTriggerWidth === false || this.args.dropdownMaxWidth) {\n classes.push('hds-form-super-select--dropdown-content-auto-width');\n }\n\n // add a class based on the @isInvalid argument\n if (this.args.isInvalid) {\n classes.push(`hds-form-super-select--is-invalid`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_HORIZONTAL_POSITION","HORIZONTAL_POSITION_MAPPING","left","center","right","HdsSuperSelectSingleBaseComponent","_class","PowerSelectComponent","calculatePosition","trigger","content","anchoredPositionModifier","placement","args","horizontalPosition","offsetOptions","enableCollisionDetection","showAfterOptions","afterOptionsContent","searchPlaceholder","dropdownMaxWidthStyle","maxWidthStyle","dropdownMaxWidth","classNames","classes","matchTriggerWidth","push","isInvalid","join","_applyDecoratedDescriptor","prototype","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AACA,eAAe,kBAAkB,CAAC,+iFAA+iF;;;ACQjlF,MAAMA,2BAA2B,GAAG,cAAc,CAAA;AAClD,MAAMC,2BAA2B,GAAG;AAClCC,EAAAA,IAAI,EAAE,cAAc;AACpBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,YAAA;AACT,CAAC,CAAA;AAEoBC,IAAAA,iCAAiC,IAAAC,MAAA,GAAvC,MAAMD,iCAAiC,SAASE,oBAAoB,CAAC;AAC1EC,EAAAA,iBAAiBA,CAACC,OAAO,EAAEC,OAAO,EAAE;AAC1C;AACAC,IAAAA,wBAAwB,CAACD,OAAO,EAAE,CAACD,OAAO,CAAC,EAAE;AAC3CG,MAAAA,SAAS,EAAE,IAAI,CAACC,IAAI,CAACC,kBAAkB,GACnCb,2BAA2B,CAAC,IAAI,CAACY,IAAI,CAACC,kBAAkB,CAAC,GACzDd,2BAA2B;AAC/Be,MAAAA,aAAa,EAAE,CAAC;AAChBC,MAAAA,wBAAwB,EAAE,IAAA;AAC5B,KAAC,CAAC,CAAA;AACF;AACA,IAAA,OAAO,EAAE,CAAA;AACX,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,gBAAgBA,GAAG;AACrB,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,gBAAgB,IAAI,IAAI,CAACJ,IAAI,CAACK,mBAAmB,IAAI,KAAK,CAAA;AAC7E,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,iBAAiBA,GAAG;AACtB,IAAA,OAAO,IAAI,CAACN,IAAI,CAACM,iBAAiB,IAAI,QAAQ,CAAA;AAChD,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,qBAAqBA,GAAG;IAC1B,MAAMC,aAAa,GAAG,EAAE,CAAA;AACxB,IAAA,IAAI,IAAI,CAACR,IAAI,CAACS,gBAAgB,EAAE;MAC9BD,aAAa,CAAC,4CAA4C,CAAC,GACzD,IAAI,CAACR,IAAI,CAACS,gBAAgB,CAAA;AAC9B,KAAA;AACA,IAAA,OAAOD,aAAa,CAAA;AACtB,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIE,UAAUA,GAAG;AACf,IAAA,IAAIC,OAAO,GAAG,CAAC,uBAAuB,EAAE,8BAA8B,CAAC,CAAA;;AAEvE;AACA,IAAA,IAAI,IAAI,CAACX,IAAI,CAACY,iBAAiB,KAAK,KAAK,IAAI,IAAI,CAACZ,IAAI,CAACS,gBAAgB,EAAE;AACvEE,MAAAA,OAAO,CAACE,IAAI,CAAC,oDAAoD,CAAC,CAAA;AACpE,KAAA;;AAEA;AACA,IAAA,IAAI,IAAI,CAACb,IAAI,CAACc,SAAS,EAAE;AACvBH,MAAAA,OAAO,CAACE,IAAI,CAAE,CAAA,iCAAA,CAAkC,CAAC,CAAA;AACnD,KAAA;AAEA,IAAA,OAAOF,OAAO,CAACI,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAC,GAAAC,yBAAA,CAAAvB,MAAA,CAAAwB,SAAA,EAAA,mBAAA,EAAA,CApEEC,MAAM,CAAAC,EAAAA,MAAA,CAAAC,wBAAA,CAAA3B,MAAA,CAAAwB,SAAA,wBAAAxB,MAAA,CAAAwB,SAAA,CAAA,GAAAxB,MAAA,EAAA;AAD6C4B,oBAAA,CAAAC,QAAA,EAAjC9B,iCAAiC,CAAA;;;;"}
|