@hashicorp/design-system-components 3.6.0 → 4.0.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/README.md +2 -0
- package/addon-main.js +7 -0
- package/dist/LICENSE.md +375 -0
- package/dist/README.md +69 -0
- package/dist/_app_/components/hds/accordion/index.js +1 -0
- package/dist/_app_/components/hds/accordion/item/button.js +1 -0
- package/dist/_app_/components/hds/accordion/item/index.js +1 -0
- package/dist/_app_/components/hds/alert/description.js +1 -0
- package/dist/_app_/components/hds/alert/index.js +1 -0
- package/dist/_app_/components/hds/alert/title.js +1 -0
- package/dist/_app_/components/hds/app-footer/copyright.js +1 -0
- package/dist/_app_/components/hds/app-footer/index.js +1 -0
- package/dist/_app_/components/hds/app-footer/item.js +1 -0
- package/dist/_app_/components/hds/app-footer/legal-links.js +1 -0
- package/dist/_app_/components/hds/app-footer/link.js +1 -0
- package/dist/_app_/components/hds/app-footer/status-link.js +1 -0
- package/dist/_app_/components/hds/app-frame/index.js +1 -0
- package/dist/_app_/components/hds/app-frame/parts/footer.js +1 -0
- package/dist/_app_/components/hds/app-frame/parts/header.js +1 -0
- package/dist/_app_/components/hds/app-frame/parts/main.js +1 -0
- package/dist/_app_/components/hds/app-frame/parts/modals.js +1 -0
- package/dist/_app_/components/hds/app-frame/parts/sidebar.js +1 -0
- package/dist/_app_/components/hds/application-state/body.js +1 -0
- package/dist/_app_/components/hds/application-state/footer.js +1 -0
- package/dist/_app_/components/hds/application-state/header.js +1 -0
- package/dist/_app_/components/hds/application-state/index.js +1 -0
- package/dist/_app_/components/hds/badge/index.js +1 -0
- package/dist/_app_/components/hds/badge-count/index.js +1 -0
- package/dist/_app_/components/hds/breadcrumb/index.js +1 -0
- package/dist/_app_/components/hds/breadcrumb/item.js +1 -0
- package/dist/_app_/components/hds/breadcrumb/truncation.js +1 -0
- package/dist/_app_/components/hds/button/index.js +1 -0
- package/dist/_app_/components/hds/button-set/index.js +1 -0
- package/dist/_app_/components/hds/card/container.js +1 -0
- package/dist/_app_/components/hds/code-block/copy-button.js +1 -0
- package/dist/_app_/components/hds/code-block/description.js +1 -0
- package/dist/_app_/components/hds/code-block/index.js +1 -0
- package/dist/_app_/components/hds/code-block/title.js +1 -0
- package/dist/_app_/components/hds/copy/button/index.js +1 -0
- package/dist/_app_/components/hds/copy/snippet/index.js +1 -0
- package/dist/_app_/components/hds/disclosure-primitive/index.js +1 -0
- package/dist/_app_/components/hds/dismiss-button/index.js +1 -0
- package/dist/_app_/components/hds/dropdown/footer.js +1 -0
- package/dist/_app_/components/hds/dropdown/header.js +1 -0
- package/dist/_app_/components/hds/dropdown/index.js +1 -0
- package/dist/_app_/components/hds/dropdown/list-item/checkbox.js +1 -0
- package/dist/_app_/components/hds/dropdown/list-item/checkmark.js +1 -0
- package/dist/_app_/components/hds/dropdown/list-item/copy-item.js +1 -0
- package/dist/_app_/components/hds/dropdown/list-item/description.js +1 -0
- package/dist/_app_/components/hds/dropdown/list-item/generic.js +1 -0
- package/dist/_app_/components/hds/dropdown/list-item/interactive.js +1 -0
- package/dist/_app_/components/hds/dropdown/list-item/radio.js +1 -0
- package/dist/_app_/components/hds/dropdown/list-item/separator.js +1 -0
- package/dist/_app_/components/hds/dropdown/list-item/title.js +1 -0
- package/dist/_app_/components/hds/dropdown/toggle/button.js +1 -0
- package/dist/_app_/components/hds/dropdown/toggle/chevron.js +1 -0
- package/dist/_app_/components/hds/dropdown/toggle/icon.js +1 -0
- package/dist/_app_/components/hds/flyout/body.js +1 -0
- package/dist/_app_/components/hds/flyout/description.js +1 -0
- package/dist/_app_/components/hds/flyout/footer.js +1 -0
- package/dist/_app_/components/hds/flyout/header.js +1 -0
- package/dist/_app_/components/hds/flyout/index.js +1 -0
- package/dist/_app_/components/hds/form/character-count/index.js +1 -0
- package/dist/_app_/components/hds/form/checkbox/base.js +1 -0
- package/dist/_app_/components/hds/form/checkbox/field.js +1 -0
- package/dist/_app_/components/hds/form/checkbox/group.js +1 -0
- package/dist/_app_/components/hds/form/error/index.js +1 -0
- package/dist/_app_/components/hds/form/error/message.js +1 -0
- package/dist/_app_/components/hds/form/field/index.js +1 -0
- package/dist/_app_/components/hds/form/fieldset/index.js +1 -0
- package/dist/_app_/components/hds/form/file-input/base.js +1 -0
- package/dist/_app_/components/hds/form/file-input/field.js +1 -0
- package/dist/_app_/components/hds/form/helper-text/index.js +1 -0
- package/dist/_app_/components/hds/form/indicator/index.js +1 -0
- package/dist/_app_/components/hds/form/label/index.js +1 -0
- package/dist/_app_/components/hds/form/legend/index.js +1 -0
- package/dist/_app_/components/hds/form/masked-input/base.js +1 -0
- package/dist/_app_/components/hds/form/masked-input/field.js +1 -0
- package/dist/_app_/components/hds/form/radio/base.js +1 -0
- package/dist/_app_/components/hds/form/radio/field.js +1 -0
- package/dist/_app_/components/hds/form/radio/group.js +1 -0
- package/dist/_app_/components/hds/form/radio-card/description.js +1 -0
- package/dist/_app_/components/hds/form/radio-card/group.js +1 -0
- package/dist/_app_/components/hds/form/radio-card/index.js +1 -0
- package/dist/_app_/components/hds/form/radio-card/label.js +1 -0
- package/dist/_app_/components/hds/form/select/base.js +1 -0
- package/dist/_app_/components/hds/form/select/field.js +1 -0
- package/dist/_app_/components/hds/form/text-input/base.js +1 -0
- package/dist/_app_/components/hds/form/text-input/field.js +1 -0
- package/dist/_app_/components/hds/form/textarea/base.js +1 -0
- package/dist/_app_/components/hds/form/textarea/field.js +1 -0
- package/dist/_app_/components/hds/form/toggle/base.js +1 -0
- package/dist/_app_/components/hds/form/toggle/field.js +1 -0
- package/dist/_app_/components/hds/form/toggle/group.js +1 -0
- package/dist/_app_/components/hds/form/visibility-toggle/index.js +1 -0
- package/dist/_app_/components/hds/icon-tile/index.js +1 -0
- package/dist/_app_/components/hds/interactive/index.js +1 -0
- package/dist/_app_/components/hds/link/inline.js +1 -0
- package/dist/_app_/components/hds/link/standalone.js +1 -0
- package/dist/_app_/components/hds/menu-primitive/index.js +1 -0
- package/dist/_app_/components/hds/modal/body.js +1 -0
- package/dist/_app_/components/hds/modal/footer.js +1 -0
- package/dist/_app_/components/hds/modal/header.js +1 -0
- package/dist/_app_/components/hds/modal/index.js +1 -0
- package/dist/_app_/components/hds/page-header/actions.js +1 -0
- package/dist/_app_/components/hds/page-header/badges.js +1 -0
- package/dist/_app_/components/hds/page-header/description.js +1 -0
- package/dist/_app_/components/hds/page-header/index.js +1 -0
- package/dist/_app_/components/hds/page-header/subtitle.js +1 -0
- package/dist/_app_/components/hds/page-header/title.js +1 -0
- package/dist/_app_/components/hds/pagination/compact/index.js +1 -0
- package/dist/_app_/components/hds/pagination/info/index.js +1 -0
- package/dist/_app_/components/hds/pagination/nav/arrow.js +1 -0
- package/dist/_app_/components/hds/pagination/nav/ellipsis.js +1 -0
- package/dist/_app_/components/hds/pagination/nav/number.js +1 -0
- package/dist/_app_/components/hds/pagination/numbered/index.js +1 -0
- package/dist/_app_/components/hds/pagination/size-selector/index.js +1 -0
- package/dist/_app_/components/hds/reveal/index.js +1 -0
- package/dist/_app_/components/hds/reveal/toggle/button.js +1 -0
- package/dist/_app_/components/hds/segmented-group/index.js +1 -0
- package/dist/_app_/components/hds/separator/index.js +1 -0
- package/dist/_app_/components/hds/side-nav/base.js +1 -0
- package/dist/_app_/components/hds/side-nav/header/home-link.js +1 -0
- package/dist/_app_/components/hds/side-nav/header/icon-button.js +1 -0
- package/dist/_app_/components/hds/side-nav/header/index.js +1 -0
- package/dist/_app_/components/hds/side-nav/index.js +1 -0
- package/dist/_app_/components/hds/side-nav/list/back-link.js +1 -0
- package/dist/_app_/components/hds/side-nav/list/index.js +1 -0
- package/dist/_app_/components/hds/side-nav/list/item.js +1 -0
- package/dist/_app_/components/hds/side-nav/list/link.js +1 -0
- package/dist/_app_/components/hds/side-nav/list/title.js +1 -0
- package/dist/_app_/components/hds/side-nav/portal/index.js +1 -0
- package/dist/_app_/components/hds/side-nav/portal/target.js +1 -0
- package/dist/_app_/components/hds/side-nav/toggle-button.js +1 -0
- package/dist/_app_/components/hds/stepper/step/indicator.js +1 -0
- package/dist/_app_/components/hds/stepper/task/indicator.js +1 -0
- package/dist/_app_/components/hds/table/index.js +1 -0
- package/dist/_app_/components/hds/table/td.js +1 -0
- package/dist/_app_/components/hds/table/th-button-sort.js +1 -0
- package/dist/_app_/components/hds/table/th-button-tooltip.js +1 -0
- package/dist/_app_/components/hds/table/th-selectable.js +1 -0
- package/dist/_app_/components/hds/table/th-sort.js +1 -0
- package/dist/_app_/components/hds/table/th.js +1 -0
- package/dist/_app_/components/hds/table/tr.js +1 -0
- package/dist/_app_/components/hds/tabs/index.js +1 -0
- package/dist/_app_/components/hds/tabs/panel.js +1 -0
- package/dist/_app_/components/hds/tabs/tab.js +1 -0
- package/dist/_app_/components/hds/tag/index.js +1 -0
- package/dist/_app_/components/hds/text/body.js +1 -0
- package/dist/_app_/components/hds/text/code.js +1 -0
- package/dist/_app_/components/hds/text/display.js +1 -0
- package/dist/_app_/components/hds/text/index.js +1 -0
- package/dist/_app_/components/hds/toast/index.js +1 -0
- package/dist/_app_/components/hds/tooltip-button/index.js +1 -0
- package/dist/_app_/components/hds/yield/index.js +1 -0
- package/dist/_app_/helpers/hds-link-to-models.js +1 -0
- package/dist/_app_/helpers/hds-link-to-query.js +1 -0
- package/dist/_app_/modifiers/hds-clipboard.js +1 -0
- package/dist/_app_/modifiers/hds-tooltip.js +1 -0
- package/dist/_rollupPluginBabelHelpers-lqPQKyNs.js +78 -0
- package/dist/_rollupPluginBabelHelpers-lqPQKyNs.js.map +1 -0
- package/dist/components/hds/accordion/index.js +10 -0
- package/dist/components/hds/accordion/index.js.map +1 -0
- package/dist/components/hds/accordion/item/button.js +36 -0
- package/dist/components/hds/accordion/item/button.js.map +1 -0
- package/dist/components/hds/accordion/item/index.js +62 -0
- package/dist/components/hds/accordion/item/index.js.map +1 -0
- package/dist/components/hds/alert/description.js +10 -0
- package/dist/components/hds/alert/description.js.map +1 -0
- package/dist/components/hds/alert/index.js +153 -0
- package/dist/components/hds/alert/index.js.map +1 -0
- package/dist/components/hds/alert/title.js +10 -0
- package/dist/components/hds/alert/title.js.map +1 -0
- package/dist/components/hds/app-footer/copyright.js +26 -0
- package/dist/components/hds/app-footer/copyright.js.map +1 -0
- package/dist/components/hds/app-footer/index.js +48 -0
- package/dist/components/hds/app-footer/index.js.map +1 -0
- package/dist/components/hds/app-footer/item.js +10 -0
- package/dist/components/hds/app-footer/item.js.map +1 -0
- package/dist/components/hds/app-footer/legal-links.js +70 -0
- package/dist/components/hds/app-footer/legal-links.js.map +1 -0
- package/dist/components/hds/app-footer/link.js +10 -0
- package/dist/components/hds/app-footer/link.js.map +1 -0
- package/dist/components/hds/app-footer/status-link.js +116 -0
- package/dist/components/hds/app-footer/status-link.js.map +1 -0
- package/dist/components/hds/app-frame/index.js +60 -0
- package/dist/components/hds/app-frame/index.js.map +1 -0
- package/dist/components/hds/app-frame/parts/footer.js +10 -0
- package/dist/components/hds/app-frame/parts/footer.js.map +1 -0
- package/dist/components/hds/app-frame/parts/header.js +10 -0
- package/dist/components/hds/app-frame/parts/header.js.map +1 -0
- package/dist/components/hds/app-frame/parts/main.js +10 -0
- package/dist/components/hds/app-frame/parts/main.js.map +1 -0
- package/dist/components/hds/app-frame/parts/modals.js +10 -0
- package/dist/components/hds/app-frame/parts/modals.js.map +1 -0
- package/dist/components/hds/app-frame/parts/sidebar.js +10 -0
- package/dist/components/hds/app-frame/parts/sidebar.js.map +1 -0
- package/dist/components/hds/application-state/body.js +10 -0
- package/dist/components/hds/application-state/body.js.map +1 -0
- package/dist/components/hds/application-state/footer.js +42 -0
- package/dist/components/hds/application-state/footer.js.map +1 -0
- package/dist/components/hds/application-state/header.js +10 -0
- package/dist/components/hds/application-state/header.js.map +1 -0
- package/dist/components/hds/application-state/index.js +10 -0
- package/dist/components/hds/application-state/index.js.map +1 -0
- package/dist/components/hds/badge/index.js +127 -0
- package/dist/components/hds/badge/index.js.map +1 -0
- package/dist/components/hds/badge-count/index.js +90 -0
- package/dist/components/hds/badge-count/index.js.map +1 -0
- package/dist/components/hds/breadcrumb/index.js +66 -0
- package/dist/components/hds/breadcrumb/index.js.map +1 -0
- package/dist/components/hds/breadcrumb/item.js +59 -0
- package/dist/components/hds/breadcrumb/item.js.map +1 -0
- package/dist/components/hds/breadcrumb/truncation.js +25 -0
- package/dist/components/hds/breadcrumb/truncation.js.map +1 -0
- package/dist/components/hds/button/index.js +157 -0
- package/dist/components/hds/button/index.js.map +1 -0
- package/dist/components/hds/button-set/index.js +10 -0
- package/dist/components/hds/button-set/index.js.map +1 -0
- package/dist/components/hds/card/container.js +130 -0
- package/dist/components/hds/card/container.js.map +1 -0
- package/dist/components/hds/code-block/copy-button.js +10 -0
- package/dist/components/hds/code-block/copy-button.js.map +1 -0
- package/dist/components/hds/code-block/description.js +10 -0
- package/dist/components/hds/code-block/description.js.map +1 -0
- package/dist/components/hds/code-block/index.js +160 -0
- package/dist/components/hds/code-block/index.js.map +1 -0
- package/dist/components/hds/code-block/title.js +10 -0
- package/dist/components/hds/code-block/title.js.map +1 -0
- package/dist/components/hds/copy/button/index.js +109 -0
- package/dist/components/hds/copy/button/index.js.map +1 -0
- package/dist/components/hds/copy/snippet/index.js +142 -0
- package/dist/components/hds/copy/snippet/index.js.map +1 -0
- package/dist/components/hds/disclosure-primitive/index.js +41 -0
- package/dist/components/hds/disclosure-primitive/index.js.map +1 -0
- package/dist/components/hds/dismiss-button/index.js +25 -0
- package/dist/components/hds/dismiss-button/index.js.map +1 -0
- package/dist/components/hds/dropdown/footer.js +10 -0
- package/dist/components/hds/dropdown/footer.js.map +1 -0
- package/dist/components/hds/dropdown/header.js +10 -0
- package/dist/components/hds/dropdown/header.js.map +1 -0
- package/dist/components/hds/dropdown/index.js +72 -0
- package/dist/components/hds/dropdown/index.js.map +1 -0
- package/dist/components/hds/dropdown/list-item/checkbox.js +24 -0
- package/dist/components/hds/dropdown/list-item/checkbox.js.map +1 -0
- package/dist/components/hds/dropdown/list-item/checkmark.js +31 -0
- package/dist/components/hds/dropdown/list-item/checkmark.js.map +1 -0
- package/dist/components/hds/dropdown/list-item/copy-item.js +53 -0
- package/dist/components/hds/dropdown/list-item/copy-item.js.map +1 -0
- package/dist/components/hds/dropdown/list-item/description.js +30 -0
- package/dist/components/hds/dropdown/list-item/description.js.map +1 -0
- package/dist/components/hds/dropdown/list-item/generic.js +10 -0
- package/dist/components/hds/dropdown/list-item/generic.js.map +1 -0
- package/dist/components/hds/dropdown/list-item/interactive.js +59 -0
- package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -0
- package/dist/components/hds/dropdown/list-item/radio.js +24 -0
- package/dist/components/hds/dropdown/list-item/radio.js.map +1 -0
- package/dist/components/hds/dropdown/list-item/separator.js +10 -0
- package/dist/components/hds/dropdown/list-item/separator.js.map +1 -0
- package/dist/components/hds/dropdown/list-item/title.js +30 -0
- package/dist/components/hds/dropdown/list-item/title.js.map +1 -0
- package/dist/components/hds/dropdown/toggle/button.js +134 -0
- package/dist/components/hds/dropdown/toggle/button.js.map +1 -0
- package/dist/components/hds/dropdown/toggle/chevron.js +10 -0
- package/dist/components/hds/dropdown/toggle/chevron.js.map +1 -0
- package/dist/components/hds/dropdown/toggle/icon.js +116 -0
- package/dist/components/hds/dropdown/toggle/icon.js.map +1 -0
- package/dist/components/hds/flyout/body.js +10 -0
- package/dist/components/hds/flyout/body.js.map +1 -0
- package/dist/components/hds/flyout/description.js +10 -0
- package/dist/components/hds/flyout/description.js.map +1 -0
- package/dist/components/hds/flyout/footer.js +10 -0
- package/dist/components/hds/flyout/footer.js.map +1 -0
- package/dist/components/hds/flyout/header.js +10 -0
- package/dist/components/hds/flyout/header.js.map +1 -0
- package/dist/components/hds/flyout/index.js +156 -0
- package/dist/components/hds/flyout/index.js.map +1 -0
- package/dist/components/hds/form/character-count/index.js +149 -0
- package/dist/components/hds/form/character-count/index.js.map +1 -0
- package/dist/components/hds/form/checkbox/base.js +10 -0
- package/dist/components/hds/form/checkbox/base.js.map +1 -0
- package/dist/components/hds/form/checkbox/field.js +10 -0
- package/dist/components/hds/form/checkbox/field.js.map +1 -0
- package/dist/components/hds/form/checkbox/group.js +10 -0
- package/dist/components/hds/form/checkbox/group.js.map +1 -0
- package/dist/components/hds/form/error/index.js +68 -0
- package/dist/components/hds/form/error/index.js.map +1 -0
- package/dist/components/hds/form/error/message.js +10 -0
- package/dist/components/hds/form/error/message.js.map +1 -0
- package/dist/components/hds/form/field/index.js +107 -0
- package/dist/components/hds/form/field/index.js.map +1 -0
- package/dist/components/hds/form/fieldset/index.js +93 -0
- package/dist/components/hds/form/fieldset/index.js.map +1 -0
- package/dist/components/hds/form/file-input/base.js +10 -0
- package/dist/components/hds/form/file-input/base.js.map +1 -0
- package/dist/components/hds/form/file-input/field.js +10 -0
- package/dist/components/hds/form/file-input/field.js.map +1 -0
- package/dist/components/hds/form/helper-text/index.js +68 -0
- package/dist/components/hds/form/helper-text/index.js.map +1 -0
- package/dist/components/hds/form/indicator/index.js +30 -0
- package/dist/components/hds/form/indicator/index.js.map +1 -0
- package/dist/components/hds/form/label/index.js +36 -0
- package/dist/components/hds/form/label/index.js.map +1 -0
- package/dist/components/hds/form/legend/index.js +36 -0
- package/dist/components/hds/form/legend/index.js.map +1 -0
- package/dist/components/hds/form/masked-input/base.js +96 -0
- package/dist/components/hds/form/masked-input/base.js.map +1 -0
- package/dist/components/hds/form/masked-input/field.js +10 -0
- package/dist/components/hds/form/masked-input/field.js.map +1 -0
- package/dist/components/hds/form/radio/base.js +10 -0
- package/dist/components/hds/form/radio/base.js.map +1 -0
- package/dist/components/hds/form/radio/field.js +10 -0
- package/dist/components/hds/form/radio/field.js.map +1 -0
- package/dist/components/hds/form/radio/group.js +10 -0
- package/dist/components/hds/form/radio/group.js.map +1 -0
- package/dist/components/hds/form/radio-card/description.js +10 -0
- package/dist/components/hds/form/radio-card/description.js.map +1 -0
- package/dist/components/hds/form/radio-card/group.js +10 -0
- package/dist/components/hds/form/radio-card/group.js.map +1 -0
- package/dist/components/hds/form/radio-card/index.js +107 -0
- package/dist/components/hds/form/radio-card/index.js.map +1 -0
- package/dist/components/hds/form/radio-card/label.js +10 -0
- package/dist/components/hds/form/radio-card/label.js.map +1 -0
- package/dist/components/hds/form/select/base.js +34 -0
- package/dist/components/hds/form/select/base.js.map +1 -0
- package/dist/components/hds/form/select/field.js +10 -0
- package/dist/components/hds/form/select/field.js.map +1 -0
- package/dist/components/hds/form/text-input/base.js +62 -0
- package/dist/components/hds/form/text-input/base.js.map +1 -0
- package/dist/components/hds/form/text-input/field.js +85 -0
- package/dist/components/hds/form/text-input/field.js.map +1 -0
- package/dist/components/hds/form/textarea/base.js +34 -0
- package/dist/components/hds/form/textarea/base.js.map +1 -0
- package/dist/components/hds/form/textarea/field.js +10 -0
- package/dist/components/hds/form/textarea/field.js.map +1 -0
- package/dist/components/hds/form/toggle/base.js +10 -0
- package/dist/components/hds/form/toggle/base.js.map +1 -0
- package/dist/components/hds/form/toggle/field.js +10 -0
- package/dist/components/hds/form/toggle/field.js.map +1 -0
- package/dist/components/hds/form/toggle/group.js +10 -0
- package/dist/components/hds/form/toggle/group.js.map +1 -0
- package/dist/components/hds/form/visibility-toggle/index.js +10 -0
- package/dist/components/hds/form/visibility-toggle/index.js.map +1 -0
- package/dist/components/hds/icon-tile/index.js +158 -0
- package/dist/components/hds/icon-tile/index.js.map +1 -0
- package/dist/components/hds/interactive/index.js +41 -0
- package/dist/components/hds/interactive/index.js.map +1 -0
- package/dist/components/hds/link/inline.js +72 -0
- package/dist/components/hds/link/inline.js.map +1 -0
- package/dist/components/hds/link/standalone.js +132 -0
- package/dist/components/hds/link/standalone.js.map +1 -0
- package/dist/components/hds/menu-primitive/index.js +68 -0
- package/dist/components/hds/menu-primitive/index.js.map +1 -0
- package/dist/components/hds/modal/body.js +10 -0
- package/dist/components/hds/modal/body.js.map +1 -0
- package/dist/components/hds/modal/footer.js +10 -0
- package/dist/components/hds/modal/footer.js.map +1 -0
- package/dist/components/hds/modal/header.js +10 -0
- package/dist/components/hds/modal/header.js.map +1 -0
- package/dist/components/hds/modal/index.js +196 -0
- package/dist/components/hds/modal/index.js.map +1 -0
- package/dist/components/hds/page-header/actions.js +10 -0
- package/dist/components/hds/page-header/actions.js.map +1 -0
- package/dist/components/hds/page-header/badges.js +10 -0
- package/dist/components/hds/page-header/badges.js.map +1 -0
- package/dist/components/hds/page-header/description.js +10 -0
- package/dist/components/hds/page-header/description.js.map +1 -0
- package/dist/components/hds/page-header/index.js +10 -0
- package/dist/components/hds/page-header/index.js.map +1 -0
- package/dist/components/hds/page-header/subtitle.js +10 -0
- package/dist/components/hds/page-header/subtitle.js.map +1 -0
- package/dist/components/hds/page-header/title.js +10 -0
- package/dist/components/hds/page-header/title.js.map +1 -0
- package/dist/components/hds/pagination/compact/index.js +159 -0
- package/dist/components/hds/pagination/compact/index.js.map +1 -0
- package/dist/components/hds/pagination/info/index.js +25 -0
- package/dist/components/hds/pagination/info/index.js.map +1 -0
- package/dist/components/hds/pagination/nav/arrow.js +70 -0
- package/dist/components/hds/pagination/nav/arrow.js.map +1 -0
- package/dist/components/hds/pagination/nav/ellipsis.js +10 -0
- package/dist/components/hds/pagination/nav/ellipsis.js.map +1 -0
- package/dist/components/hds/pagination/nav/number.js +44 -0
- package/dist/components/hds/pagination/nav/number.js.map +1 -0
- package/dist/components/hds/pagination/numbered/index.js +305 -0
- package/dist/components/hds/pagination/numbered/index.js.map +1 -0
- package/dist/components/hds/pagination/size-selector/index.js +72 -0
- package/dist/components/hds/pagination/size-selector/index.js.map +1 -0
- package/dist/components/hds/reveal/index.js +36 -0
- package/dist/components/hds/reveal/index.js.map +1 -0
- package/dist/components/hds/reveal/toggle/button.js +31 -0
- package/dist/components/hds/reveal/toggle/button.js.map +1 -0
- package/dist/components/hds/segmented-group/index.js +10 -0
- package/dist/components/hds/segmented-group/index.js.map +1 -0
- package/dist/components/hds/separator/index.js +48 -0
- package/dist/components/hds/separator/index.js.map +1 -0
- package/dist/components/hds/side-nav/base.js +10 -0
- package/dist/components/hds/side-nav/base.js.map +1 -0
- package/dist/components/hds/side-nav/header/home-link.js +30 -0
- package/dist/components/hds/side-nav/header/home-link.js.map +1 -0
- package/dist/components/hds/side-nav/header/icon-button.js +30 -0
- package/dist/components/hds/side-nav/header/icon-button.js.map +1 -0
- package/dist/components/hds/side-nav/header/index.js +10 -0
- package/dist/components/hds/side-nav/header/index.js.map +1 -0
- package/dist/components/hds/side-nav/index.js +176 -0
- package/dist/components/hds/side-nav/index.js.map +1 -0
- package/dist/components/hds/side-nav/list/back-link.js +10 -0
- package/dist/components/hds/side-nav/list/back-link.js.map +1 -0
- package/dist/components/hds/side-nav/list/index.js +10 -0
- package/dist/components/hds/side-nav/list/index.js.map +1 -0
- package/dist/components/hds/side-nav/list/item.js +10 -0
- package/dist/components/hds/side-nav/list/item.js.map +1 -0
- package/dist/components/hds/side-nav/list/link.js +10 -0
- package/dist/components/hds/side-nav/list/link.js.map +1 -0
- package/dist/components/hds/side-nav/list/title.js +10 -0
- package/dist/components/hds/side-nav/list/title.js.map +1 -0
- package/dist/components/hds/side-nav/portal/index.js +10 -0
- package/dist/components/hds/side-nav/portal/index.js.map +1 -0
- package/dist/components/hds/side-nav/portal/target.js +173 -0
- package/dist/components/hds/side-nav/portal/target.js.map +1 -0
- package/dist/components/hds/side-nav/toggle-button.js +10 -0
- package/dist/components/hds/side-nav/toggle-button.js.map +1 -0
- package/dist/components/hds/stepper/step/indicator.js +59 -0
- package/dist/components/hds/stepper/step/indicator.js.map +1 -0
- package/dist/components/hds/stepper/task/indicator.js +74 -0
- package/dist/components/hds/stepper/task/indicator.js.map +1 -0
- package/dist/components/hds/table/index.js +269 -0
- package/dist/components/hds/table/index.js.map +1 -0
- package/dist/components/hds/table/td.js +48 -0
- package/dist/components/hds/table/td.js.map +1 -0
- package/dist/components/hds/table/th-button-sort.js +82 -0
- package/dist/components/hds/table/th-button-sort.js.map +1 -0
- package/dist/components/hds/table/th-button-tooltip.js +32 -0
- package/dist/components/hds/table/th-button-tooltip.js.map +1 -0
- package/dist/components/hds/table/th-selectable.js +81 -0
- package/dist/components/hds/table/th-selectable.js.map +1 -0
- package/dist/components/hds/table/th-sort.js +73 -0
- package/dist/components/hds/table/th-sort.js.map +1 -0
- package/dist/components/hds/table/th.js +54 -0
- package/dist/components/hds/table/th.js.map +1 -0
- package/dist/components/hds/table/tr.js +30 -0
- package/dist/components/hds/table/tr.js.map +1 -0
- package/dist/components/hds/tabs/index.js +242 -0
- package/dist/components/hds/tabs/index.js.map +1 -0
- package/dist/components/hds/tabs/panel.js +60 -0
- package/dist/components/hds/tabs/panel.js.map +1 -0
- package/dist/components/hds/tabs/tab.js +94 -0
- package/dist/components/hds/tabs/tab.js.map +1 -0
- package/dist/components/hds/tag/index.js +92 -0
- package/dist/components/hds/tag/index.js.map +1 -0
- package/dist/components/hds/text/body.js +63 -0
- package/dist/components/hds/text/body.js.map +1 -0
- package/dist/components/hds/text/code.js +63 -0
- package/dist/components/hds/text/code.js.map +1 -0
- package/dist/components/hds/text/display.js +76 -0
- package/dist/components/hds/text/display.js.map +1 -0
- package/dist/components/hds/text/index.js +131 -0
- package/dist/components/hds/text/index.js.map +1 -0
- package/dist/components/hds/toast/index.js +10 -0
- package/dist/components/hds/toast/index.js.map +1 -0
- package/dist/components/hds/tooltip-button/index.js +74 -0
- package/dist/components/hds/tooltip-button/index.js.map +1 -0
- package/dist/components/hds/yield/index.js +10 -0
- package/dist/components/hds/yield/index.js.map +1 -0
- package/dist/helpers/hds-link-to-models.js +34 -0
- package/dist/helpers/hds-link-to-models.js.map +1 -0
- package/dist/helpers/hds-link-to-query.js +29 -0
- package/dist/helpers/hds-link-to-query.js.map +1 -0
- package/dist/modifiers/hds-clipboard.js +152 -0
- package/dist/modifiers/hds-clipboard.js.map +1 -0
- package/dist/modifiers/hds-tooltip.js +153 -0
- package/dist/modifiers/hds-tooltip.js.map +1 -0
- package/dist/styles/@hashicorp/design-system-components.css +6600 -0
- package/dist/styles/@hashicorp/design-system-components.scss +67 -0
- package/dist/styles/@hashicorp/design-system-components.scss.map +1 -0
- package/dist/styles/components/flyout.scss +113 -0
- package/dist/styles/components/table.scss +277 -0
- package/dist/styles/components/tabs.scss +152 -0
- package/dist/template-registry.js +2 -0
- package/dist/template-registry.js.map +1 -0
- package/dist/utils/hds-get-element-id.js +22 -0
- package/dist/utils/hds-get-element-id.js.map +1 -0
- package/dist/utils/hds-set-aria-described-by.js +17 -0
- package/dist/utils/hds-set-aria-described-by.js.map +1 -0
- package/package.json +196 -62
- package/.stylelintignore +0 -26
- package/CHANGELOG-FIGMA-COMPONENTS.md +0 -191
- package/CHANGELOG-FIGMA-FOUNDATIONS.md +0 -13
- package/CHANGELOG.md +0 -1609
- package/HOW-TO-TEST-A-COMPONENT-IN-CLOUD-UI.md +0 -100
- package/NEW-COMPONENT-CHECKLIST.md +0 -166
- package/RELEASE.md +0 -40
- package/addon/components/hds/accordion/index.hbs +0 -8
- package/addon/components/hds/accordion/item/button.hbs +0 -16
- package/addon/components/hds/accordion/item/button.js +0 -31
- package/addon/components/hds/accordion/item/index.hbs +0 -41
- package/addon/components/hds/accordion/item/index.js +0 -58
- package/addon/components/hds/alert/description.hbs +0 -5
- package/addon/components/hds/alert/index.hbs +0 -38
- package/addon/components/hds/alert/index.js +0 -164
- package/addon/components/hds/alert/title.hbs +0 -5
- package/addon/components/hds/app-footer/copyright.hbs +0 -9
- package/addon/components/hds/app-footer/copyright.js +0 -18
- package/addon/components/hds/app-footer/index.hbs +0 -20
- package/addon/components/hds/app-footer/index.js +0 -41
- package/addon/components/hds/app-footer/item.hbs +0 -8
- package/addon/components/hds/app-footer/legal-links.hbs +0 -14
- package/addon/components/hds/app-footer/legal-links.js +0 -67
- package/addon/components/hds/app-footer/link.hbs +0 -22
- package/addon/components/hds/app-footer/status-link.hbs +0 -20
- package/addon/components/hds/app-footer/status-link.js +0 -121
- package/addon/components/hds/app-frame/index.hbs +0 -24
- package/addon/components/hds/app-frame/index.js +0 -52
- package/addon/components/hds/app-frame/parts/footer.hbs +0 -7
- package/addon/components/hds/app-frame/parts/header.hbs +0 -7
- package/addon/components/hds/app-frame/parts/main.hbs +0 -7
- package/addon/components/hds/app-frame/parts/modals.hbs +0 -6
- package/addon/components/hds/app-frame/parts/sidebar.hbs +0 -7
- package/addon/components/hds/application-state/body.hbs +0 -13
- package/addon/components/hds/application-state/footer.hbs +0 -7
- package/addon/components/hds/application-state/footer.js +0 -35
- package/addon/components/hds/application-state/header.hbs +0 -20
- package/addon/components/hds/application-state/index.hbs +0 -13
- package/addon/components/hds/badge/index.hbs +0 -18
- package/addon/components/hds/badge/index.js +0 -146
- package/addon/components/hds/badge-count/index.hbs +0 -7
- package/addon/components/hds/badge-count/index.js +0 -99
- package/addon/components/hds/breadcrumb/index.hbs +0 -9
- package/addon/components/hds/breadcrumb/index.js +0 -59
- package/addon/components/hds/breadcrumb/item.hbs +0 -50
- package/addon/components/hds/breadcrumb/item.js +0 -55
- package/addon/components/hds/breadcrumb/truncation.hbs +0 -26
- package/addon/components/hds/breadcrumb/truncation.js +0 -17
- package/addon/components/hds/button/index.hbs +0 -45
- package/addon/components/hds/button/index.ts +0 -199
- package/addon/components/hds/button-set/index.hbs +0 -7
- package/addon/components/hds/card/container.hbs +0 -7
- package/addon/components/hds/card/container.js +0 -161
- package/addon/components/hds/code-block/copy-button.hbs +0 -13
- package/addon/components/hds/code-block/description.hbs +0 -8
- package/addon/components/hds/code-block/index.hbs +0 -27
- package/addon/components/hds/code-block/index.js +0 -167
- package/addon/components/hds/code-block/title.hbs +0 -8
- package/addon/components/hds/copy/button/index.hbs +0 -16
- package/addon/components/hds/copy/button/index.js +0 -103
- package/addon/components/hds/copy/snippet/index.hbs +0 -15
- package/addon/components/hds/copy/snippet/index.js +0 -135
- package/addon/components/hds/disclosure-primitive/index.hbs +0 -14
- package/addon/components/hds/disclosure-primitive/index.js +0 -30
- package/addon/components/hds/dismiss-button/index.hbs +0 -7
- package/addon/components/hds/dismiss-button/index.js +0 -17
- package/addon/components/hds/dropdown/footer.hbs +0 -8
- package/addon/components/hds/dropdown/header.hbs +0 -8
- package/addon/components/hds/dropdown/index.hbs +0 -36
- package/addon/components/hds/dropdown/index.js +0 -80
- package/addon/components/hds/dropdown/list-item/checkbox.hbs +0 -20
- package/addon/components/hds/dropdown/list-item/checkbox.js +0 -16
- package/addon/components/hds/dropdown/list-item/checkmark.hbs +0 -46
- package/addon/components/hds/dropdown/list-item/checkmark.js +0 -28
- package/addon/components/hds/dropdown/list-item/copy-item.hbs +0 -16
- package/addon/components/hds/dropdown/list-item/copy-item.js +0 -51
- package/addon/components/hds/dropdown/list-item/description.hbs +0 -14
- package/addon/components/hds/dropdown/list-item/description.js +0 -25
- package/addon/components/hds/dropdown/list-item/generic.hbs +0 -7
- package/addon/components/hds/dropdown/list-item/interactive.hbs +0 -37
- package/addon/components/hds/dropdown/list-item/interactive.js +0 -64
- package/addon/components/hds/dropdown/list-item/radio.hbs +0 -25
- package/addon/components/hds/dropdown/list-item/radio.js +0 -16
- package/addon/components/hds/dropdown/list-item/separator.hbs +0 -10
- package/addon/components/hds/dropdown/list-item/title.hbs +0 -14
- package/addon/components/hds/dropdown/list-item/title.js +0 -25
- package/addon/components/hds/dropdown/toggle/button.hbs +0 -38
- package/addon/components/hds/dropdown/toggle/button.js +0 -134
- package/addon/components/hds/dropdown/toggle/chevron.hbs +0 -8
- package/addon/components/hds/dropdown/toggle/icon.hbs +0 -23
- package/addon/components/hds/dropdown/toggle/icon.js +0 -119
- package/addon/components/hds/flyout/body.hbs +0 -7
- package/addon/components/hds/flyout/description.hbs +0 -7
- package/addon/components/hds/flyout/footer.hbs +0 -7
- package/addon/components/hds/flyout/header.hbs +0 -18
- package/addon/components/hds/flyout/index.hbs +0 -20
- package/addon/components/hds/flyout/index.js +0 -168
- package/addon/components/hds/form/character-count/index.hbs +0 -28
- package/addon/components/hds/form/character-count/index.js +0 -178
- package/addon/components/hds/form/checkbox/base.hbs +0 -5
- package/addon/components/hds/form/checkbox/field.hbs +0 -24
- package/addon/components/hds/form/checkbox/group.hbs +0 -29
- package/addon/components/hds/form/error/index.hbs +0 -10
- package/addon/components/hds/form/error/index.js +0 -58
- package/addon/components/hds/form/error/message.hbs +0 -7
- package/addon/components/hds/form/field/index.hbs +0 -47
- package/addon/components/hds/form/field/index.js +0 -97
- package/addon/components/hds/form/fieldset/index.hbs +0 -33
- package/addon/components/hds/form/fieldset/index.js +0 -76
- package/addon/components/hds/form/file-input/base.hbs +0 -6
- package/addon/components/hds/form/file-input/field.hbs +0 -24
- package/addon/components/hds/form/helper-text/index.hbs +0 -15
- package/addon/components/hds/form/helper-text/index.js +0 -58
- package/addon/components/hds/form/indicator/index.hbs +0 -10
- package/addon/components/hds/form/indicator/index.js +0 -24
- package/addon/components/hds/form/label/index.hbs +0 -8
- package/addon/components/hds/form/label/index.js +0 -29
- package/addon/components/hds/form/legend/index.hbs +0 -8
- package/addon/components/hds/form/legend/index.js +0 -29
- package/addon/components/hds/form/masked-input/base.hbs +0 -40
- package/addon/components/hds/form/masked-input/base.js +0 -85
- package/addon/components/hds/form/masked-input/field.hbs +0 -33
- package/addon/components/hds/form/radio/base.hbs +0 -5
- package/addon/components/hds/form/radio/field.hbs +0 -24
- package/addon/components/hds/form/radio/group.hbs +0 -29
- package/addon/components/hds/form/radio-card/description.hbs +0 -10
- package/addon/components/hds/form/radio-card/group.hbs +0 -30
- package/addon/components/hds/form/radio-card/index.hbs +0 -24
- package/addon/components/hds/form/radio-card/index.js +0 -100
- package/addon/components/hds/form/radio-card/label.hbs +0 -11
- package/addon/components/hds/form/select/base.hbs +0 -7
- package/addon/components/hds/form/select/base.js +0 -27
- package/addon/components/hds/form/select/field.hbs +0 -30
- package/addon/components/hds/form/text-input/base.hbs +0 -5
- package/addon/components/hds/form/text-input/base.js +0 -72
- package/addon/components/hds/form/text-input/field.hbs +0 -41
- package/addon/components/hds/form/text-input/field.js +0 -59
- package/addon/components/hds/form/textarea/base.hbs +0 -6
- package/addon/components/hds/form/textarea/base.js +0 -27
- package/addon/components/hds/form/textarea/field.hbs +0 -28
- package/addon/components/hds/form/toggle/base.hbs +0 -8
- package/addon/components/hds/form/toggle/field.hbs +0 -23
- package/addon/components/hds/form/toggle/group.hbs +0 -21
- package/addon/components/hds/form/visibility-toggle/index.hbs +0 -8
- package/addon/components/hds/icon-tile/index.hbs +0 -23
- package/addon/components/hds/icon-tile/index.js +0 -189
- package/addon/components/hds/interactive/index.hbs +0 -32
- package/addon/components/hds/interactive/index.ts +0 -63
- package/addon/components/hds/link/inline.hbs +0 -22
- package/addon/components/hds/link/inline.js +0 -76
- package/addon/components/hds/link/standalone.hbs +0 -28
- package/addon/components/hds/link/standalone.js +0 -147
- package/addon/components/hds/menu-primitive/index.hbs +0 -22
- package/addon/components/hds/menu-primitive/index.js +0 -59
- package/addon/components/hds/modal/body.hbs +0 -7
- package/addon/components/hds/modal/footer.hbs +0 -7
- package/addon/components/hds/modal/header.hbs +0 -18
- package/addon/components/hds/modal/index.hbs +0 -19
- package/addon/components/hds/modal/index.js +0 -209
- package/addon/components/hds/page-header/actions.hbs +0 -5
- package/addon/components/hds/page-header/badges.hbs +0 -5
- package/addon/components/hds/page-header/description.hbs +0 -11
- package/addon/components/hds/page-header/index.hbs +0 -28
- package/addon/components/hds/page-header/subtitle.hbs +0 -11
- package/addon/components/hds/page-header/title.hbs +0 -11
- package/addon/components/hds/pagination/compact/index.hbs +0 -39
- package/addon/components/hds/pagination/compact/index.js +0 -163
- package/addon/components/hds/pagination/info/index.hbs +0 -11
- package/addon/components/hds/pagination/info/index.js +0 -17
- package/addon/components/hds/pagination/nav/arrow.hbs +0 -44
- package/addon/components/hds/pagination/nav/arrow.js +0 -77
- package/addon/components/hds/pagination/nav/ellipsis.hbs +0 -5
- package/addon/components/hds/pagination/nav/number.hbs +0 -17
- package/addon/components/hds/pagination/nav/number.js +0 -45
- package/addon/components/hds/pagination/numbered/index.hbs +0 -70
- package/addon/components/hds/pagination/numbered/index.js +0 -341
- package/addon/components/hds/pagination/size-selector/index.hbs +0 -16
- package/addon/components/hds/pagination/size-selector/index.js +0 -73
- package/addon/components/hds/reveal/index.hbs +0 -21
- package/addon/components/hds/reveal/index.js +0 -33
- package/addon/components/hds/reveal/toggle/button.hbs +0 -13
- package/addon/components/hds/reveal/toggle/button.js +0 -24
- package/addon/components/hds/segmented-group/index.hbs +0 -15
- package/addon/components/hds/separator/index.hbs +0 -5
- package/addon/components/hds/separator/index.js +0 -47
- package/addon/components/hds/side-nav/base.hbs +0 -19
- package/addon/components/hds/side-nav/header/home-link.hbs +0 -20
- package/addon/components/hds/side-nav/header/home-link.js +0 -25
- package/addon/components/hds/side-nav/header/icon-button.hbs +0 -20
- package/addon/components/hds/side-nav/header/icon-button.js +0 -25
- package/addon/components/hds/side-nav/header/index.hbs +0 -13
- package/addon/components/hds/side-nav/index.hbs +0 -42
- package/addon/components/hds/side-nav/index.js +0 -147
- package/addon/components/hds/side-nav/list/back-link.hbs +0 -24
- package/addon/components/hds/side-nav/list/index.hbs +0 -19
- package/addon/components/hds/side-nav/list/item.hbs +0 -8
- package/addon/components/hds/side-nav/list/link.hbs +0 -50
- package/addon/components/hds/side-nav/list/title.hbs +0 -8
- package/addon/components/hds/side-nav/portal/index.hbs +0 -12
- package/addon/components/hds/side-nav/portal/target.hbs +0 -14
- package/addon/components/hds/side-nav/portal/target.js +0 -162
- package/addon/components/hds/side-nav/toggle-button.hbs +0 -7
- package/addon/components/hds/stepper/step/indicator.hbs +0 -28
- package/addon/components/hds/stepper/step/indicator.js +0 -59
- package/addon/components/hds/stepper/task/indicator.hbs +0 -7
- package/addon/components/hds/stepper/task/indicator.js +0 -74
- package/addon/components/hds/table/index.hbs +0 -78
- package/addon/components/hds/table/index.js +0 -182
- package/addon/components/hds/table/td.hbs +0 -7
- package/addon/components/hds/table/td.js +0 -50
- package/addon/components/hds/table/th-sort.hbs +0 -18
- package/addon/components/hds/table/th-sort.js +0 -94
- package/addon/components/hds/table/th.hbs +0 -11
- package/addon/components/hds/table/th.js +0 -50
- package/addon/components/hds/table/tr.hbs +0 -7
- package/addon/components/hds/tabs/index.hbs +0 -47
- package/addon/components/hds/tabs/index.js +0 -211
- package/addon/components/hds/tabs/panel.hbs +0 -16
- package/addon/components/hds/tabs/panel.js +0 -59
- package/addon/components/hds/tabs/tab.hbs +0 -31
- package/addon/components/hds/tabs/tab.js +0 -98
- package/addon/components/hds/tag/index.hbs +0 -30
- package/addon/components/hds/tag/index.js +0 -91
- package/addon/components/hds/text/body.hbs +0 -13
- package/addon/components/hds/text/body.js +0 -73
- package/addon/components/hds/text/code.hbs +0 -13
- package/addon/components/hds/text/code.js +0 -73
- package/addon/components/hds/text/display.hbs +0 -13
- package/addon/components/hds/text/display.js +0 -85
- package/addon/components/hds/text/index.hbs +0 -10
- package/addon/components/hds/text/index.js +0 -146
- package/addon/components/hds/toast/index.hbs +0 -17
- package/addon/components/hds/tooltip-button/index.hbs +0 -11
- package/addon/components/hds/tooltip-button/index.js +0 -86
- package/addon/components/hds/yield/index.hbs +0 -6
- package/addon/helpers/hds-link-to-models.js +0 -35
- package/addon/helpers/hds-link-to-query.js +0 -26
- package/addon/modifiers/hds-clipboard.js +0 -163
- package/addon/modifiers/hds-tooltip.js +0 -164
- package/addon/template-registry.ts +0 -12
- package/addon/utils/hds-get-element-id.js +0 -19
- package/addon/utils/hds-set-aria-described-by.js +0 -15
- package/app/components/hds/accordion/index.js +0 -6
- package/app/components/hds/accordion/item/button.js +0 -6
- package/app/components/hds/accordion/item/index.js +0 -6
- package/app/components/hds/alert/description.js +0 -6
- package/app/components/hds/alert/index.js +0 -6
- package/app/components/hds/alert/title.js +0 -6
- package/app/components/hds/app-footer/copyright.js +0 -6
- package/app/components/hds/app-footer/index.js +0 -6
- package/app/components/hds/app-footer/item.js +0 -6
- package/app/components/hds/app-footer/legal-links.js +0 -6
- package/app/components/hds/app-footer/link.js +0 -6
- package/app/components/hds/app-footer/status-link.js +0 -6
- package/app/components/hds/app-frame/index.js +0 -6
- package/app/components/hds/app-frame/parts/footer.js +0 -6
- package/app/components/hds/app-frame/parts/header.js +0 -6
- package/app/components/hds/app-frame/parts/main.js +0 -6
- package/app/components/hds/app-frame/parts/modals.js +0 -6
- package/app/components/hds/app-frame/parts/sidebar.js +0 -6
- package/app/components/hds/application-state/body.js +0 -6
- package/app/components/hds/application-state/footer.js +0 -6
- package/app/components/hds/application-state/header.js +0 -6
- package/app/components/hds/application-state/index.js +0 -6
- package/app/components/hds/badge/index.js +0 -6
- package/app/components/hds/badge-count/index.js +0 -6
- package/app/components/hds/breadcrumb/index.js +0 -6
- package/app/components/hds/breadcrumb/item.js +0 -6
- package/app/components/hds/breadcrumb/truncation.js +0 -6
- package/app/components/hds/button/index.js +0 -6
- package/app/components/hds/button-set/index.js +0 -6
- package/app/components/hds/card/container.js +0 -6
- package/app/components/hds/code-block/copy-button.js +0 -6
- package/app/components/hds/code-block/description.js +0 -6
- package/app/components/hds/code-block/index.js +0 -6
- package/app/components/hds/code-block/title.js +0 -6
- package/app/components/hds/copy/button/index.js +0 -6
- package/app/components/hds/copy/snippet/index.js +0 -6
- package/app/components/hds/disclosure-primitive/index.js +0 -6
- package/app/components/hds/dismiss-button/index.js +0 -6
- package/app/components/hds/dropdown/footer.js +0 -6
- package/app/components/hds/dropdown/header.js +0 -6
- package/app/components/hds/dropdown/index.js +0 -6
- package/app/components/hds/dropdown/list-item/checkbox.js +0 -6
- package/app/components/hds/dropdown/list-item/checkmark.js +0 -6
- package/app/components/hds/dropdown/list-item/copy-item.js +0 -6
- package/app/components/hds/dropdown/list-item/description.js +0 -6
- package/app/components/hds/dropdown/list-item/generic.js +0 -6
- package/app/components/hds/dropdown/list-item/interactive.js +0 -6
- package/app/components/hds/dropdown/list-item/radio.js +0 -6
- package/app/components/hds/dropdown/list-item/separator.js +0 -6
- package/app/components/hds/dropdown/list-item/title.js +0 -6
- package/app/components/hds/dropdown/toggle/button.js +0 -6
- package/app/components/hds/dropdown/toggle/chevron.js +0 -6
- package/app/components/hds/dropdown/toggle/icon.js +0 -6
- package/app/components/hds/flyout/body.js +0 -6
- package/app/components/hds/flyout/description.js +0 -6
- package/app/components/hds/flyout/footer.js +0 -6
- package/app/components/hds/flyout/header.js +0 -6
- package/app/components/hds/flyout/index.js +0 -6
- package/app/components/hds/form/character-count/index.js +0 -6
- package/app/components/hds/form/checkbox/base.js +0 -6
- package/app/components/hds/form/checkbox/field.js +0 -6
- package/app/components/hds/form/checkbox/group.js +0 -6
- package/app/components/hds/form/error/index.js +0 -6
- package/app/components/hds/form/error/message.js +0 -6
- package/app/components/hds/form/field/index.js +0 -6
- package/app/components/hds/form/fieldset/index.js +0 -6
- package/app/components/hds/form/file-input/base.js +0 -6
- package/app/components/hds/form/file-input/field.js +0 -6
- package/app/components/hds/form/helper-text/index.js +0 -6
- package/app/components/hds/form/indicator/index.js +0 -6
- package/app/components/hds/form/label/index.js +0 -6
- package/app/components/hds/form/legend/index.js +0 -6
- package/app/components/hds/form/masked-input/base.js +0 -6
- package/app/components/hds/form/masked-input/field.js +0 -6
- package/app/components/hds/form/radio/base.js +0 -6
- package/app/components/hds/form/radio/field.js +0 -6
- package/app/components/hds/form/radio/group.js +0 -6
- package/app/components/hds/form/radio-card/description.js +0 -6
- package/app/components/hds/form/radio-card/group.js +0 -6
- package/app/components/hds/form/radio-card/index.js +0 -6
- package/app/components/hds/form/radio-card/label.js +0 -6
- package/app/components/hds/form/select/base.js +0 -6
- package/app/components/hds/form/select/field.js +0 -6
- package/app/components/hds/form/text-input/base.js +0 -6
- package/app/components/hds/form/text-input/field.js +0 -6
- package/app/components/hds/form/textarea/base.js +0 -6
- package/app/components/hds/form/textarea/field.js +0 -6
- package/app/components/hds/form/toggle/base.js +0 -6
- package/app/components/hds/form/toggle/field.js +0 -6
- package/app/components/hds/form/toggle/group.js +0 -6
- package/app/components/hds/form/visibility-toggle/index.js +0 -6
- package/app/components/hds/icon-tile/index.js +0 -6
- package/app/components/hds/interactive/index.js +0 -6
- package/app/components/hds/link/inline.js +0 -6
- package/app/components/hds/link/standalone.js +0 -6
- package/app/components/hds/menu-primitive/index.js +0 -6
- package/app/components/hds/modal/body.js +0 -6
- package/app/components/hds/modal/footer.js +0 -6
- package/app/components/hds/modal/header.js +0 -6
- package/app/components/hds/modal/index.js +0 -6
- package/app/components/hds/page-header/actions.js +0 -6
- package/app/components/hds/page-header/badges.js +0 -6
- package/app/components/hds/page-header/description.js +0 -6
- package/app/components/hds/page-header/index.js +0 -6
- package/app/components/hds/page-header/subtitle.js +0 -6
- package/app/components/hds/page-header/title.js +0 -6
- package/app/components/hds/pagination/compact/index.js +0 -6
- package/app/components/hds/pagination/info.js +0 -6
- package/app/components/hds/pagination/nav/arrow.js +0 -6
- package/app/components/hds/pagination/nav/ellipsis.js +0 -6
- package/app/components/hds/pagination/nav/number.js +0 -6
- package/app/components/hds/pagination/numbered/index.js +0 -6
- package/app/components/hds/pagination/size-selector.js +0 -6
- package/app/components/hds/reveal/index.js +0 -6
- package/app/components/hds/reveal/toggle/button.js +0 -6
- package/app/components/hds/segmented-group/index.js +0 -6
- package/app/components/hds/separator/index.js +0 -6
- package/app/components/hds/side-nav/base.js +0 -6
- package/app/components/hds/side-nav/header/home-link.js +0 -6
- package/app/components/hds/side-nav/header/icon-button.js +0 -6
- package/app/components/hds/side-nav/header/index.js +0 -6
- package/app/components/hds/side-nav/index.js +0 -6
- package/app/components/hds/side-nav/list/back-link.js +0 -6
- package/app/components/hds/side-nav/list/index.js +0 -6
- package/app/components/hds/side-nav/list/item.js +0 -6
- package/app/components/hds/side-nav/list/link.js +0 -6
- package/app/components/hds/side-nav/list/title.js +0 -6
- package/app/components/hds/side-nav/portal/index.js +0 -6
- package/app/components/hds/side-nav/portal/target.js +0 -6
- package/app/components/hds/side-nav/toggle-button.js +0 -6
- package/app/components/hds/stepper/step/indicator.js +0 -6
- package/app/components/hds/stepper/task/indicator.js +0 -6
- package/app/components/hds/table/index.js +0 -6
- package/app/components/hds/table/td.js +0 -6
- package/app/components/hds/table/th-sort.js +0 -6
- package/app/components/hds/table/th.js +0 -6
- package/app/components/hds/table/tr.js +0 -6
- package/app/components/hds/tabs/index.js +0 -6
- package/app/components/hds/tabs/panel.js +0 -6
- package/app/components/hds/tabs/tab.js +0 -6
- package/app/components/hds/tag/index.js +0 -6
- package/app/components/hds/text/body.js +0 -6
- package/app/components/hds/text/code.js +0 -6
- package/app/components/hds/text/display.js +0 -6
- package/app/components/hds/text/index.js +0 -6
- package/app/components/hds/toast/index.js +0 -6
- package/app/components/hds/tooltip-button/index.js +0 -6
- package/app/components/hds/yield/index.js +0 -6
- package/app/helpers/hds-link-to-models.js +0 -6
- package/app/helpers/hds-link-to-query.js +0 -6
- package/app/modifiers/hds-clipboard.js +0 -6
- package/app/modifiers/hds-tooltip.js +0 -6
- package/app/styles/@hashicorp/design-system-components.scss +0 -64
- package/app/styles/components/flyout.scss +0 -111
- package/app/styles/components/table.scss +0 -208
- package/app/styles/components/tabs.scss +0 -117
- package/blueprints/hds-component/files/addon/components/hds/__name__/index.hbs +0 -8
- package/blueprints/hds-component/files/addon/components/hds/__name__/index.js +0 -28
- package/blueprints/hds-component/files/app/components/hds/__name__/index.js +0 -6
- package/blueprints/hds-component/files/app/styles/components/__name__.scss +0 -12
- package/blueprints/hds-component/index.js +0 -65
- package/blueprints/hds-component-test/files/tests/acceptance/components/hds/__name__.js +0 -21
- package/blueprints/hds-component-test/files/tests/dummy/app/routes/components/__name__.js +0 -8
- package/blueprints/hds-component-test/files/tests/dummy/app/styles/showcase-pages/__dummyCSSFileName__.scss +0 -6
- package/blueprints/hds-component-test/files/tests/dummy/app/templates/components/__name__.hbs +0 -17
- package/blueprints/hds-component-test/files/tests/integration/components/hds/__name__/index-test.js +0 -25
- package/blueprints/hds-component-test/index.js +0 -151
- package/config/environment.js +0 -10
- package/index.js +0 -32
- package/tsconfig.declarations.json +0 -10
- package/tsconfig.json +0 -47
- package/types/dummy/index.d.ts +0 -7
- package/types/global.d.ts +0 -12
- package/vercel.json +0 -13
- /package/{app → dist}/styles/@hashicorp/design-system-power-select-overrides.scss +0 -0
- /package/{app → dist}/styles/components/accordion.scss +0 -0
- /package/{app → dist}/styles/components/alert.scss +0 -0
- /package/{app → dist}/styles/components/app-footer.scss +0 -0
- /package/{app → dist}/styles/components/app-frame.scss +0 -0
- /package/{app → dist}/styles/components/application-state.scss +0 -0
- /package/{app → dist}/styles/components/badge-count.scss +0 -0
- /package/{app → dist}/styles/components/badge.scss +0 -0
- /package/{app → dist}/styles/components/breadcrumb.scss +0 -0
- /package/{app → dist}/styles/components/button-set.scss +0 -0
- /package/{app → dist}/styles/components/button.scss +0 -0
- /package/{app → dist}/styles/components/card/container.scss +0 -0
- /package/{app → dist}/styles/components/card/index.scss +0 -0
- /package/{app → dist}/styles/components/code-block/index.scss +0 -0
- /package/{app → dist}/styles/components/code-block/theme.scss +0 -0
- /package/{app → dist}/styles/components/copy/button.scss +0 -0
- /package/{app → dist}/styles/components/copy/index.scss +0 -0
- /package/{app → dist}/styles/components/copy/snippet.scss +0 -0
- /package/{app → dist}/styles/components/disclosure-primitive.scss +0 -0
- /package/{app → dist}/styles/components/dismiss-button.scss +0 -0
- /package/{app → dist}/styles/components/dropdown.scss +0 -0
- /package/{app → dist}/styles/components/form/character-count.scss +0 -0
- /package/{app → dist}/styles/components/form/checkbox.scss +0 -0
- /package/{app → dist}/styles/components/form/error.scss +0 -0
- /package/{app → dist}/styles/components/form/field.scss +0 -0
- /package/{app → dist}/styles/components/form/file-input.scss +0 -0
- /package/{app → dist}/styles/components/form/group.scss +0 -0
- /package/{app → dist}/styles/components/form/helper-text.scss +0 -0
- /package/{app → dist}/styles/components/form/index.scss +0 -0
- /package/{app → dist}/styles/components/form/indicator.scss +0 -0
- /package/{app → dist}/styles/components/form/label.scss +0 -0
- /package/{app → dist}/styles/components/form/legend.scss +0 -0
- /package/{app → dist}/styles/components/form/masked-input.scss +0 -0
- /package/{app → dist}/styles/components/form/radio-card.scss +0 -0
- /package/{app → dist}/styles/components/form/radio.scss +0 -0
- /package/{app → dist}/styles/components/form/select.scss +0 -0
- /package/{app → dist}/styles/components/form/text-input.scss +0 -0
- /package/{app → dist}/styles/components/form/textarea.scss +0 -0
- /package/{app → dist}/styles/components/form/toggle.scss +0 -0
- /package/{app → dist}/styles/components/form/visibility-toggle.scss +0 -0
- /package/{app → dist}/styles/components/icon-tile.scss +0 -0
- /package/{app → dist}/styles/components/link/index.scss +0 -0
- /package/{app → dist}/styles/components/link/inline.scss +0 -0
- /package/{app → dist}/styles/components/link/standalone.scss +0 -0
- /package/{app → dist}/styles/components/menu-primitive.scss +0 -0
- /package/{app → dist}/styles/components/modal.scss +0 -0
- /package/{app → dist}/styles/components/page-header.scss +0 -0
- /package/{app → dist}/styles/components/pagination.scss +0 -0
- /package/{app → dist}/styles/components/reveal.scss +0 -0
- /package/{app → dist}/styles/components/segmented-group.scss +0 -0
- /package/{app → dist}/styles/components/separator.scss +0 -0
- /package/{app → dist}/styles/components/side-nav/a11y-refocus.scss +0 -0
- /package/{app → dist}/styles/components/side-nav/content.scss +0 -0
- /package/{app → dist}/styles/components/side-nav/header.scss +0 -0
- /package/{app → dist}/styles/components/side-nav/index.scss +0 -0
- /package/{app → dist}/styles/components/side-nav/main.scss +0 -0
- /package/{app → dist}/styles/components/side-nav/toggle-button.scss +0 -0
- /package/{app → dist}/styles/components/side-nav/vars.scss +0 -0
- /package/{app → dist}/styles/components/stepper/index.scss +0 -0
- /package/{app → dist}/styles/components/stepper/step-indicator.scss +0 -0
- /package/{app → dist}/styles/components/stepper/task-indicator.scss +0 -0
- /package/{app → dist}/styles/components/tag.scss +0 -0
- /package/{app → dist}/styles/components/text.scss +0 -0
- /package/{app → dist}/styles/components/toast.scss +0 -0
- /package/{app → dist}/styles/components/tooltip.scss +0 -0
- /package/{app → dist}/styles/mixins/_button.scss +0 -0
- /package/{app → dist}/styles/mixins/_focus-ring.scss +0 -0
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
{{!
|
|
2
|
-
Copyright (c) HashiCorp, Inc.
|
|
3
|
-
SPDX-License-Identifier: MPL-2.0
|
|
4
|
-
}}
|
|
5
|
-
{{! template-lint-disable no-invalid-role }}
|
|
6
|
-
<div
|
|
7
|
-
class="hds-tabs"
|
|
8
|
-
{{did-insert this.didInsert}}
|
|
9
|
-
{{did-update this.didUpdateSelectedTabIndex this.selectedTabIndex}}
|
|
10
|
-
{{did-update this.didUpdateSelectedTabId this.selectedTabId}}
|
|
11
|
-
{{did-update this.didUpdateParentVisibility @isParentVisible}}
|
|
12
|
-
...attributes
|
|
13
|
-
>
|
|
14
|
-
<div class="hds-tabs__tablist-wrapper">
|
|
15
|
-
<ul class="hds-tabs__tablist" role="tablist">
|
|
16
|
-
{{yield
|
|
17
|
-
(hash
|
|
18
|
-
Tab=(component
|
|
19
|
-
"hds/tabs/tab"
|
|
20
|
-
didInsertNode=this.didInsertTab
|
|
21
|
-
didUpdateNode=this.didUpdateTab
|
|
22
|
-
willDestroyNode=this.willDestroyTab
|
|
23
|
-
tabIds=this.tabIds
|
|
24
|
-
selectedTabIndex=this.selectedTabIndex
|
|
25
|
-
onClick=this.onClick
|
|
26
|
-
onKeyUp=this.onKeyUp
|
|
27
|
-
)
|
|
28
|
-
)
|
|
29
|
-
}}
|
|
30
|
-
<li class="hds-tabs__tab-indicator" role="presentation"></li>
|
|
31
|
-
</ul>
|
|
32
|
-
</div>
|
|
33
|
-
|
|
34
|
-
{{yield
|
|
35
|
-
(hash
|
|
36
|
-
Panel=(component
|
|
37
|
-
"hds/tabs/panel"
|
|
38
|
-
didInsertNode=this.didInsertPanel
|
|
39
|
-
willDestroyNode=this.willDestroyPanel
|
|
40
|
-
tabIds=this.tabIds
|
|
41
|
-
panelIds=this.panelIds
|
|
42
|
-
selectedTabIndex=this.selectedTabIndex
|
|
43
|
-
)
|
|
44
|
-
)
|
|
45
|
-
}}
|
|
46
|
-
</div>
|
|
47
|
-
{{! template-lint-enable no-invalid-role }}
|
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) HashiCorp, Inc.
|
|
3
|
-
* SPDX-License-Identifier: MPL-2.0
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import Component from '@glimmer/component';
|
|
7
|
-
import { tracked } from '@glimmer/tracking';
|
|
8
|
-
import { action } from '@ember/object';
|
|
9
|
-
import { assert, warn } from '@ember/debug';
|
|
10
|
-
import { next, schedule } from '@ember/runloop';
|
|
11
|
-
|
|
12
|
-
export default class HdsTabsIndexComponent extends Component {
|
|
13
|
-
@tracked tabNodes = [];
|
|
14
|
-
@tracked tabIds = [];
|
|
15
|
-
@tracked panelNodes = [];
|
|
16
|
-
@tracked panelIds = [];
|
|
17
|
-
@tracked _selectedTabIndex = this.args.selectedTabIndex ?? 0;
|
|
18
|
-
@tracked selectedTabId;
|
|
19
|
-
@tracked isControlled;
|
|
20
|
-
|
|
21
|
-
constructor() {
|
|
22
|
-
super(...arguments);
|
|
23
|
-
|
|
24
|
-
// this is to determine if the "selected" tab logic is controlled in the consumers' code or is maintained as an internal state
|
|
25
|
-
this.isControlled = this.args.selectedTabIndex !== undefined;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
get selectedTabIndex() {
|
|
29
|
-
if (this.isControlled) {
|
|
30
|
-
return this.args.selectedTabIndex;
|
|
31
|
-
} else {
|
|
32
|
-
return this._selectedTabIndex;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
set selectedTabIndex(value) {
|
|
37
|
-
if (this.isControlled) {
|
|
38
|
-
// noop
|
|
39
|
-
} else {
|
|
40
|
-
this._selectedTabIndex = value;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
@action
|
|
45
|
-
didInsert() {
|
|
46
|
-
assert(
|
|
47
|
-
'The number of Tabs must be equal to the number of Panels',
|
|
48
|
-
this.tabNodes.length === this.panelNodes.length
|
|
49
|
-
);
|
|
50
|
-
|
|
51
|
-
if (this.selectedTabId) {
|
|
52
|
-
this.selectedTabIndex = this.tabIds.indexOf(this.selectedTabId);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
schedule('afterRender', () => {
|
|
56
|
-
this.setTabIndicator();
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
@action
|
|
61
|
-
didUpdateSelectedTabIndex() {
|
|
62
|
-
schedule('afterRender', () => {
|
|
63
|
-
this.setTabIndicator();
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
@action
|
|
68
|
-
didUpdateSelectedTabId() {
|
|
69
|
-
// if the selected tab is set dynamically (eg. in a `each` loop)
|
|
70
|
-
// the `Tab` nodes will be re-inserted/rendered, which means the `this.selectedTabId` variable changes
|
|
71
|
-
// but the parent `Tabs` component has already been rendered/inserted but doesn't re-render
|
|
72
|
-
// so the value of the `selectedTabIndex` is not updated, unless we trigger a recalculation
|
|
73
|
-
// using the `did-update` modifier that checks for changes in the `this.selectedTabId` variable
|
|
74
|
-
if (this.selectedTabId) {
|
|
75
|
-
this.selectedTabIndex = this.tabIds.indexOf(this.selectedTabId);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
@action
|
|
80
|
-
didUpdateParentVisibility() {
|
|
81
|
-
schedule('afterRender', () => {
|
|
82
|
-
this.setTabIndicator();
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
@action
|
|
87
|
-
didInsertTab(element, isSelected) {
|
|
88
|
-
this.tabNodes = [...this.tabNodes, element];
|
|
89
|
-
this.tabIds = [...this.tabIds, element.id];
|
|
90
|
-
if (isSelected) {
|
|
91
|
-
this.selectedTabId = element.id;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
@action
|
|
96
|
-
didUpdateTab(tabIndex, isSelected) {
|
|
97
|
-
if (isSelected) {
|
|
98
|
-
this.selectedTabIndex = tabIndex;
|
|
99
|
-
}
|
|
100
|
-
this.setTabIndicator();
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
@action
|
|
104
|
-
willDestroyTab(element) {
|
|
105
|
-
this.tabNodes = this.tabNodes.filter((node) => node.id !== element.id);
|
|
106
|
-
this.tabIds = this.tabIds.filter((tabId) => tabId !== element.id);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
@action
|
|
110
|
-
didInsertPanel(element, panelId) {
|
|
111
|
-
this.panelNodes = [...this.panelNodes, element];
|
|
112
|
-
this.panelIds = [...this.panelIds, panelId];
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
@action
|
|
116
|
-
willDestroyPanel(element) {
|
|
117
|
-
this.panelNodes = this.panelNodes.filter((node) => node.id !== element.id);
|
|
118
|
-
this.panelIds = this.panelIds.filter((panelId) => panelId !== element.id);
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
@action
|
|
122
|
-
onClick(event, tabIndex) {
|
|
123
|
-
this.selectedTabIndex = tabIndex;
|
|
124
|
-
this.setTabIndicator();
|
|
125
|
-
|
|
126
|
-
// invoke the callback function if it's provided as argument
|
|
127
|
-
if (typeof this.args.onClickTab === 'function') {
|
|
128
|
-
this.args.onClickTab(event, tabIndex);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
@action
|
|
133
|
-
onKeyUp(tabIndex, event) {
|
|
134
|
-
const leftArrow = 37;
|
|
135
|
-
const rightArrow = 39;
|
|
136
|
-
const enterKey = 13;
|
|
137
|
-
const spaceKey = 32;
|
|
138
|
-
|
|
139
|
-
if (event.keyCode === rightArrow) {
|
|
140
|
-
const nextTabIndex = (tabIndex + 1) % this.tabIds.length;
|
|
141
|
-
this.focusTab(nextTabIndex, event);
|
|
142
|
-
} else if (event.keyCode === leftArrow) {
|
|
143
|
-
const prevTabIndex =
|
|
144
|
-
(tabIndex + this.tabIds.length - 1) % this.tabIds.length;
|
|
145
|
-
this.focusTab(prevTabIndex, event);
|
|
146
|
-
} else if (event.keyCode === enterKey || event.keyCode === spaceKey) {
|
|
147
|
-
this.selectedTabIndex = tabIndex;
|
|
148
|
-
}
|
|
149
|
-
// scroll selected tab into view (it may be out of view when activated using a keyboard with `prev/next`)
|
|
150
|
-
this.tabNodes[this.selectedTabIndex].parentNode.scrollIntoView({
|
|
151
|
-
behavior: 'smooth',
|
|
152
|
-
block: 'nearest',
|
|
153
|
-
inline: 'nearest',
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
// Focus tab for keyboard & mouse navigation:
|
|
158
|
-
focusTab(tabIndex, e) {
|
|
159
|
-
e.preventDefault();
|
|
160
|
-
this.tabNodes[tabIndex].focus();
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
setSelectedPanelFocus(tabIndex, e) {
|
|
164
|
-
e.preventDefault();
|
|
165
|
-
this.panelNodes[tabIndex].focus();
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
setTabIndicator() {
|
|
169
|
-
next(() => {
|
|
170
|
-
const tabElem = this.tabNodes[this.selectedTabIndex];
|
|
171
|
-
|
|
172
|
-
if (tabElem) {
|
|
173
|
-
const tabsParentElem = tabElem.closest('.hds-tabs__tablist');
|
|
174
|
-
|
|
175
|
-
// this condition is `null` if any of the parents has `display: none`
|
|
176
|
-
if (tabElem.parentNode.offsetParent) {
|
|
177
|
-
const tabLeftPos = tabElem.parentNode.offsetLeft;
|
|
178
|
-
const tabWidth = tabElem.parentNode.offsetWidth;
|
|
179
|
-
|
|
180
|
-
// Set CSS custom properties for indicator
|
|
181
|
-
tabsParentElem.style.setProperty(
|
|
182
|
-
'--indicator-left-pos',
|
|
183
|
-
tabLeftPos + 'px'
|
|
184
|
-
);
|
|
185
|
-
tabsParentElem.style.setProperty(
|
|
186
|
-
'--indicator-width',
|
|
187
|
-
tabWidth + 'px'
|
|
188
|
-
);
|
|
189
|
-
}
|
|
190
|
-
} else {
|
|
191
|
-
let message;
|
|
192
|
-
message +=
|
|
193
|
-
'"Hds::Tabs" has tried to set the indicator for an element that doesn\'t exist';
|
|
194
|
-
if (this.tabNodes.length === 0) {
|
|
195
|
-
message +=
|
|
196
|
-
' (the array `this.tabNodes` is empty, there are no tabs, probably already destroyed)';
|
|
197
|
-
} else {
|
|
198
|
-
message += ` (the value ${
|
|
199
|
-
this.selectedTabIndex
|
|
200
|
-
} of \`this.selectedTabIndex\` is out of bound for the array \`this.tabNodes\`, whose index range is [0 - ${
|
|
201
|
-
this.tabNodes.length - 1
|
|
202
|
-
}])`;
|
|
203
|
-
}
|
|
204
|
-
// https://api.emberjs.com/ember/5.3/classes/@ember%2Fdebug/methods/warn?anchor=warn
|
|
205
|
-
warn(message, true, {
|
|
206
|
-
id: 'hds-debug.tabs.setTabIndicator-tabElem-not-available',
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
|
-
});
|
|
210
|
-
}
|
|
211
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
{{!
|
|
2
|
-
Copyright (c) HashiCorp, Inc.
|
|
3
|
-
SPDX-License-Identifier: MPL-2.0
|
|
4
|
-
}}
|
|
5
|
-
<section
|
|
6
|
-
class="hds-tabs__panel"
|
|
7
|
-
...attributes
|
|
8
|
-
role="tabpanel"
|
|
9
|
-
id={{this.panelId}}
|
|
10
|
-
hidden={{not this.isVisible}}
|
|
11
|
-
aria-labelledby={{this.coupledTabId}}
|
|
12
|
-
{{did-insert this.didInsertNode}}
|
|
13
|
-
{{will-destroy this.willDestroyNode}}
|
|
14
|
-
>
|
|
15
|
-
{{yield (hash isVisible=this.isVisible)}}
|
|
16
|
-
</section>
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) HashiCorp, Inc.
|
|
3
|
-
* SPDX-License-Identifier: MPL-2.0
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import Component from '@glimmer/component';
|
|
7
|
-
import { guidFor } from '@ember/object/internals';
|
|
8
|
-
import { action } from '@ember/object';
|
|
9
|
-
|
|
10
|
-
export default class HdsTabsPanelComponent extends Component {
|
|
11
|
-
/**
|
|
12
|
-
* Generate a unique ID for the Panel
|
|
13
|
-
* @return {string}
|
|
14
|
-
*/
|
|
15
|
-
panelId = 'panel-' + guidFor(this);
|
|
16
|
-
|
|
17
|
-
get nodeIndex() {
|
|
18
|
-
return this.args.panelIds
|
|
19
|
-
? this.args.panelIds.indexOf(this.panelId)
|
|
20
|
-
: undefined;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Check the condition if the panel is visible (because the coupled/associated tab is selected) or not
|
|
25
|
-
* @returns {boolean}
|
|
26
|
-
*/
|
|
27
|
-
get isVisible() {
|
|
28
|
-
return this.nodeIndex === this.args.selectedTabIndex;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Get the ID of the tab coupled/associated with the panel (it's used by the `aria-labelledby` attribute)
|
|
33
|
-
* @returns string}
|
|
34
|
-
*/
|
|
35
|
-
get coupledTabId() {
|
|
36
|
-
return this.nodeIndex !== undefined
|
|
37
|
-
? this.args.tabIds[this.nodeIndex]
|
|
38
|
-
: undefined;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
@action
|
|
42
|
-
didInsertNode(element) {
|
|
43
|
-
let { didInsertNode } = this.args;
|
|
44
|
-
|
|
45
|
-
if (typeof didInsertNode === 'function') {
|
|
46
|
-
this.elementId = element.id;
|
|
47
|
-
didInsertNode(element, this.elementId);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
@action
|
|
52
|
-
willDestroyNode(element) {
|
|
53
|
-
let { willDestroyNode } = this.args;
|
|
54
|
-
|
|
55
|
-
if (typeof willDestroyNode === 'function') {
|
|
56
|
-
willDestroyNode(element);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
{{!
|
|
2
|
-
Copyright (c) HashiCorp, Inc.
|
|
3
|
-
SPDX-License-Identifier: MPL-2.0
|
|
4
|
-
}}
|
|
5
|
-
{{! template-lint-disable require-context-role no-invalid-role }}
|
|
6
|
-
<li class={{this.classNames}} ...attributes role="presentation">
|
|
7
|
-
<button
|
|
8
|
-
class="hds-tabs__tab-button hds-typography-body-200 hds-font-weight-medium"
|
|
9
|
-
role="tab"
|
|
10
|
-
type="button"
|
|
11
|
-
id={{this.tabId}}
|
|
12
|
-
aria-selected={{if this.isSelected "true" "false"}}
|
|
13
|
-
tabindex={{unless this.isSelected "-1"}}
|
|
14
|
-
{{did-insert this.didInsertNode @isSelected}}
|
|
15
|
-
{{did-update this.didUpdateNode @count @isSelected}}
|
|
16
|
-
{{will-destroy this.willDestroyNode}}
|
|
17
|
-
{{on "click" this.onClick}}
|
|
18
|
-
{{on "keyup" this.onKeyUp}}
|
|
19
|
-
>
|
|
20
|
-
{{#if @icon}}
|
|
21
|
-
<FlightIcon @name={{@icon}} class="hds-tabs__tab-icon" role="presentation" />
|
|
22
|
-
{{/if}}
|
|
23
|
-
|
|
24
|
-
{{yield}}
|
|
25
|
-
|
|
26
|
-
{{#if @count}}
|
|
27
|
-
<Hds::BadgeCount @text={{@count}} @size="small" class="hds-tabs__tab-count" role="presentation" />
|
|
28
|
-
{{/if}}
|
|
29
|
-
</button>
|
|
30
|
-
</li>
|
|
31
|
-
{{! template-lint-enable require-context-role no-invalid-role }}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) HashiCorp, Inc.
|
|
3
|
-
* SPDX-License-Identifier: MPL-2.0
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import Component from '@glimmer/component';
|
|
7
|
-
import { guidFor } from '@ember/object/internals';
|
|
8
|
-
import { action } from '@ember/object';
|
|
9
|
-
|
|
10
|
-
export default class HdsTabsTabComponent extends Component {
|
|
11
|
-
/**
|
|
12
|
-
* Generate a unique ID for the Tab
|
|
13
|
-
* @return {string}
|
|
14
|
-
*/
|
|
15
|
-
tabId = 'tab-' + guidFor(this);
|
|
16
|
-
|
|
17
|
-
get nodeIndex() {
|
|
18
|
-
return this.args.tabIds ? this.args.tabIds.indexOf(this.tabId) : undefined;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Determine if the tab is the selected tab
|
|
23
|
-
* @return {boolean}
|
|
24
|
-
* @default false (1st tab is selected by default)
|
|
25
|
-
*/
|
|
26
|
-
get isSelected() {
|
|
27
|
-
return (
|
|
28
|
-
this.nodeIndex !== undefined &&
|
|
29
|
-
this.nodeIndex === this.args.selectedTabIndex
|
|
30
|
-
);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
@action
|
|
34
|
-
didInsertNode(element, positional) {
|
|
35
|
-
let { didInsertNode } = this.args;
|
|
36
|
-
|
|
37
|
-
const isSelected = positional[0];
|
|
38
|
-
|
|
39
|
-
if (typeof didInsertNode === 'function') {
|
|
40
|
-
didInsertNode(element, isSelected);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
@action
|
|
45
|
-
didUpdateNode() {
|
|
46
|
-
let { didUpdateNode } = this.args;
|
|
47
|
-
|
|
48
|
-
if (typeof didUpdateNode === 'function') {
|
|
49
|
-
didUpdateNode(this.nodeIndex, this.args.isSelected);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
@action
|
|
54
|
-
willDestroyNode(element) {
|
|
55
|
-
let { willDestroyNode } = this.args;
|
|
56
|
-
|
|
57
|
-
if (typeof willDestroyNode === 'function') {
|
|
58
|
-
willDestroyNode(element);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
@action
|
|
63
|
-
onClick(event) {
|
|
64
|
-
let { onClick } = this.args;
|
|
65
|
-
|
|
66
|
-
if (typeof onClick === 'function') {
|
|
67
|
-
onClick(event, this.nodeIndex);
|
|
68
|
-
} else {
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
@action
|
|
74
|
-
onKeyUp(event) {
|
|
75
|
-
let { onKeyUp } = this.args;
|
|
76
|
-
|
|
77
|
-
if (typeof onKeyUp === 'function') {
|
|
78
|
-
onKeyUp(this.nodeIndex, event);
|
|
79
|
-
} else {
|
|
80
|
-
return false;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Get the class names to apply to the component.
|
|
86
|
-
* @method classNames
|
|
87
|
-
* @return {string} The "class" attribute to apply to the component.
|
|
88
|
-
*/
|
|
89
|
-
get classNames() {
|
|
90
|
-
let classes = ['hds-tabs__tab'];
|
|
91
|
-
|
|
92
|
-
if (this.isSelected) {
|
|
93
|
-
classes.push(`hds-tabs__tab--is-selected`);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
return classes.join(' ');
|
|
97
|
-
}
|
|
98
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
{{!
|
|
2
|
-
Copyright (c) HashiCorp, Inc.
|
|
3
|
-
SPDX-License-Identifier: MPL-2.0
|
|
4
|
-
}}
|
|
5
|
-
<Hds::Text::Body class={{this.classNames}} @tag="span" @size="100" @weight="medium" @color="primary" ...attributes>
|
|
6
|
-
{{#if this.onDismiss}}
|
|
7
|
-
<button class="hds-tag__dismiss" type="button" aria-label={{this.ariaLabel}} {{on "click" this.onDismiss}}>
|
|
8
|
-
<FlightIcon class="hds-tag__dismiss-icon" @name="x" @size="16" @isInlineBlock={{false}} />
|
|
9
|
-
</button>
|
|
10
|
-
{{/if}}
|
|
11
|
-
{{#if (or @href @route)}}
|
|
12
|
-
<Hds::Interactive
|
|
13
|
-
class="hds-tag__link"
|
|
14
|
-
@current-when={{@current-when}}
|
|
15
|
-
@models={{hds-link-to-models @model @models}}
|
|
16
|
-
@query={{hds-link-to-query @query}}
|
|
17
|
-
@replace={{@replace}}
|
|
18
|
-
@route={{@route}}
|
|
19
|
-
@isRouteExternal={{@isRouteExternal}}
|
|
20
|
-
@href={{@href}}
|
|
21
|
-
@isHrefExternal={{@isHrefExternal}}
|
|
22
|
-
>
|
|
23
|
-
{{this.text}}
|
|
24
|
-
</Hds::Interactive>
|
|
25
|
-
{{else}}
|
|
26
|
-
<span class="hds-tag__text">
|
|
27
|
-
{{this.text}}
|
|
28
|
-
</span>
|
|
29
|
-
{{/if}}
|
|
30
|
-
</Hds::Text::Body>
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) HashiCorp, Inc.
|
|
3
|
-
* SPDX-License-Identifier: MPL-2.0
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import Component from '@glimmer/component';
|
|
7
|
-
import { assert } from '@ember/debug';
|
|
8
|
-
|
|
9
|
-
export const DEFAULT_COLOR = 'primary';
|
|
10
|
-
export const COLORS = ['primary', 'secondary'];
|
|
11
|
-
|
|
12
|
-
export default class HdsTagIndexComponent extends Component {
|
|
13
|
-
/**
|
|
14
|
-
* @param onDismiss
|
|
15
|
-
* @type {function}
|
|
16
|
-
* @default () => {}
|
|
17
|
-
*/
|
|
18
|
-
get onDismiss() {
|
|
19
|
-
let { onDismiss } = this.args;
|
|
20
|
-
|
|
21
|
-
if (typeof onDismiss === 'function') {
|
|
22
|
-
return onDismiss;
|
|
23
|
-
} else {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* @param text
|
|
30
|
-
* @type {string}
|
|
31
|
-
* @description The text of the tag. If no text value is defined, an error will be thrown.
|
|
32
|
-
*/
|
|
33
|
-
get text() {
|
|
34
|
-
let { text } = this.args;
|
|
35
|
-
|
|
36
|
-
assert('@text for "Hds::Tag" must have a valid value', text !== undefined);
|
|
37
|
-
|
|
38
|
-
return text;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* @param ariaLabel
|
|
43
|
-
* @type {string}
|
|
44
|
-
* @default 'Dismiss'
|
|
45
|
-
*/
|
|
46
|
-
get ariaLabel() {
|
|
47
|
-
let tagAriaLabel = this.args.ariaLabel ?? 'Dismiss';
|
|
48
|
-
return tagAriaLabel + ' ' + this.args.text;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* @param color
|
|
53
|
-
* @type {string}
|
|
54
|
-
* @default primary
|
|
55
|
-
* @description Determines the color of link to be used; acceptable values are `primary` and `secondary`
|
|
56
|
-
*/
|
|
57
|
-
get color() {
|
|
58
|
-
if (this.args.href || this.args.route) {
|
|
59
|
-
let { color = DEFAULT_COLOR } = this.args;
|
|
60
|
-
assert(
|
|
61
|
-
`@color for "Hds::Tag" must be one of the following: ${COLORS.join(
|
|
62
|
-
', '
|
|
63
|
-
)}; received: ${color}`,
|
|
64
|
-
COLORS.includes(color)
|
|
65
|
-
);
|
|
66
|
-
return color;
|
|
67
|
-
} else if (this.args.color) {
|
|
68
|
-
assert(
|
|
69
|
-
'@color can only be applied to "Hds::Tag" along with either @href or @route',
|
|
70
|
-
this.args.href || this.args.route
|
|
71
|
-
);
|
|
72
|
-
}
|
|
73
|
-
return false;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Get the class names to apply to the component.
|
|
78
|
-
* @method classNames
|
|
79
|
-
* @return {string} The "class" attribute to apply to the component.
|
|
80
|
-
*/
|
|
81
|
-
get classNames() {
|
|
82
|
-
let classes = ['hds-tag'];
|
|
83
|
-
|
|
84
|
-
// add a class based on the @color argument
|
|
85
|
-
if (this.color) {
|
|
86
|
-
classes.push(`hds-tag--color-${this.color}`);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
return classes.join(' ');
|
|
90
|
-
}
|
|
91
|
-
}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) HashiCorp, Inc.
|
|
3
|
-
* SPDX-License-Identifier: MPL-2.0
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import Component from '@glimmer/component';
|
|
7
|
-
import { assert } from '@ember/debug';
|
|
8
|
-
|
|
9
|
-
// notice: only some combinations of size + font-weight are allowed (per design specs)
|
|
10
|
-
// see: https://www.figma.com/file/oQsMzMMnynfPWpMEt91OpH/HDS-Product---Foundations?node-id=1262%3A9192
|
|
11
|
-
|
|
12
|
-
export const DEFAULT_SIZE = '200';
|
|
13
|
-
export const AVAILABLE_SIZES = [300, 200, 100];
|
|
14
|
-
|
|
15
|
-
export const DEFAULT_WEIGHT = 'regular';
|
|
16
|
-
export const AVAILABLE_WEIGHTS_PER_SIZE = {
|
|
17
|
-
300: ['regular', 'medium', 'semibold'],
|
|
18
|
-
200: ['regular', 'medium', 'semibold'],
|
|
19
|
-
100: ['regular', 'medium', 'semibold'],
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export default class HdsTextBodyComponent extends Component {
|
|
23
|
-
/**
|
|
24
|
-
* Sets the "size" for the text
|
|
25
|
-
* Accepted values: see AVAILABLE_SIZES
|
|
26
|
-
*
|
|
27
|
-
* @type {string}
|
|
28
|
-
*
|
|
29
|
-
* @param size
|
|
30
|
-
*/
|
|
31
|
-
get size() {
|
|
32
|
-
let { size = DEFAULT_SIZE } = this.args;
|
|
33
|
-
|
|
34
|
-
// let's be a bit forgiving with the consumers
|
|
35
|
-
if (typeof size === 'string') {
|
|
36
|
-
size = parseInt(size, 10);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
assert(
|
|
40
|
-
`@size for "Hds::Text::Body" must be one of the following: ${AVAILABLE_SIZES.join(
|
|
41
|
-
', '
|
|
42
|
-
)}; received: ${size}`,
|
|
43
|
-
AVAILABLE_SIZES.includes(size)
|
|
44
|
-
);
|
|
45
|
-
|
|
46
|
-
return size;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Sets the "weight" for the text
|
|
51
|
-
* Accepted values: see AVAILABLE_WEIGHTS_PER_SIZE
|
|
52
|
-
*
|
|
53
|
-
* @type {string}
|
|
54
|
-
*
|
|
55
|
-
* @param variant
|
|
56
|
-
*/
|
|
57
|
-
get weight() {
|
|
58
|
-
let { weight = DEFAULT_WEIGHT } = this.args;
|
|
59
|
-
|
|
60
|
-
const availableWeights = AVAILABLE_WEIGHTS_PER_SIZE[this.size];
|
|
61
|
-
|
|
62
|
-
assert(
|
|
63
|
-
`@weight for "Hds::Text::Body" with @size=${
|
|
64
|
-
this.size
|
|
65
|
-
} must be one of the following: ${availableWeights.join(
|
|
66
|
-
', '
|
|
67
|
-
)}; received: ${weight}`,
|
|
68
|
-
availableWeights.includes(weight)
|
|
69
|
-
);
|
|
70
|
-
|
|
71
|
-
return weight;
|
|
72
|
-
}
|
|
73
|
-
}
|