@hashicorp/design-system-components 4.16.0 → 4.17.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 +4 -8
- package/declarations/components/hds/advanced-table/expandable-tr-group.d.ts +2 -1
- package/declarations/components/hds/advanced-table/expandable-tr-group.d.ts.map +1 -1
- package/declarations/components/hds/advanced-table/index.d.ts +1 -2
- package/declarations/components/hds/advanced-table/index.d.ts.map +1 -1
- package/declarations/components/hds/advanced-table/td.d.ts +1 -3
- package/declarations/components/hds/advanced-table/td.d.ts.map +1 -1
- package/declarations/components/hds/advanced-table/th-sort.d.ts +1 -3
- package/declarations/components/hds/advanced-table/th-sort.d.ts.map +1 -1
- package/declarations/components/hds/advanced-table/th.d.ts +1 -3
- package/declarations/components/hds/advanced-table/th.d.ts.map +1 -1
- package/declarations/components/hds/alert/index.d.ts +2 -1
- package/declarations/components/hds/alert/index.d.ts.map +1 -1
- package/declarations/components/hds/app-footer/status-link.d.ts +3 -2
- package/declarations/components/hds/app-footer/status-link.d.ts.map +1 -1
- package/declarations/components/hds/app-header/index.d.ts +2 -1
- package/declarations/components/hds/app-header/index.d.ts.map +1 -1
- package/declarations/components/hds/app-side-nav/index.d.ts +2 -1
- package/declarations/components/hds/app-side-nav/index.d.ts.map +1 -1
- package/declarations/components/hds/app-side-nav/portal/target.d.ts.map +1 -1
- package/declarations/components/hds/breadcrumb/item.d.ts +1 -1
- package/declarations/components/hds/breadcrumb/item.d.ts.map +1 -1
- package/declarations/components/hds/code-block/copy-button.d.ts +5 -2
- package/declarations/components/hds/code-block/copy-button.d.ts.map +1 -1
- package/declarations/components/hds/code-block/index.d.ts +3 -0
- package/declarations/components/hds/code-block/index.d.ts.map +1 -1
- package/declarations/components/hds/code-editor/index.d.ts +6 -2
- package/declarations/components/hds/code-editor/index.d.ts.map +1 -1
- package/declarations/components/hds/code-editor/title.d.ts +1 -1
- package/declarations/components/hds/code-editor/title.d.ts.map +1 -1
- package/declarations/components/hds/dropdown/list-item/interactive.d.ts +2 -1
- package/declarations/components/hds/dropdown/list-item/interactive.d.ts.map +1 -1
- package/declarations/components/hds/dropdown/toggle/icon.d.ts +2 -1
- package/declarations/components/hds/dropdown/toggle/icon.d.ts.map +1 -1
- package/declarations/components/hds/flyout/body.d.ts +2 -1
- package/declarations/components/hds/flyout/body.d.ts.map +1 -1
- package/declarations/components/hds/flyout/description.d.ts +2 -1
- package/declarations/components/hds/flyout/description.d.ts.map +1 -1
- package/declarations/components/hds/flyout/footer.d.ts +2 -1
- package/declarations/components/hds/flyout/footer.d.ts.map +1 -1
- package/declarations/components/hds/flyout/header.d.ts +2 -1
- package/declarations/components/hds/flyout/header.d.ts.map +1 -1
- package/declarations/components/hds/form/masked-input/base.d.ts +5 -2
- package/declarations/components/hds/form/masked-input/base.d.ts.map +1 -1
- package/declarations/components/hds/form/super-select/multiple/base.d.ts +1 -1
- package/declarations/components/hds/form/super-select/multiple/base.d.ts.map +1 -1
- package/declarations/components/hds/form/super-select/single/base.d.ts +1 -1
- package/declarations/components/hds/form/super-select/single/base.d.ts.map +1 -1
- package/declarations/components/hds/form/text-input/field.d.ts +3 -2
- package/declarations/components/hds/form/text-input/field.d.ts.map +1 -1
- package/declarations/components/hds/icon/index.d.ts +2 -1
- package/declarations/components/hds/icon/index.d.ts.map +1 -1
- package/declarations/components/hds/interactive/index.d.ts +1 -1
- package/declarations/components/hds/interactive/index.d.ts.map +1 -1
- package/declarations/components/hds/link/inline.d.ts +2 -1
- package/declarations/components/hds/link/inline.d.ts.map +1 -1
- package/declarations/components/hds/link/standalone.d.ts +2 -1
- package/declarations/components/hds/link/standalone.d.ts.map +1 -1
- package/declarations/components/hds/menu-primitive/index.d.ts +2 -1
- package/declarations/components/hds/menu-primitive/index.d.ts.map +1 -1
- package/declarations/components/hds/modal/body.d.ts +2 -1
- package/declarations/components/hds/modal/body.d.ts.map +1 -1
- package/declarations/components/hds/modal/footer.d.ts +2 -1
- package/declarations/components/hds/modal/footer.d.ts.map +1 -1
- package/declarations/components/hds/modal/header.d.ts +2 -1
- package/declarations/components/hds/modal/header.d.ts.map +1 -1
- package/declarations/components/hds/pagination/compact/index.d.ts +2 -1
- package/declarations/components/hds/pagination/compact/index.d.ts.map +1 -1
- package/declarations/components/hds/pagination/numbered/index.d.ts +3 -2
- package/declarations/components/hds/pagination/numbered/index.d.ts.map +1 -1
- package/declarations/components/hds/popover-primitive/index.d.ts +2 -1
- package/declarations/components/hds/popover-primitive/index.d.ts.map +1 -1
- package/declarations/components/hds/side-nav/header/icon-button.d.ts +2 -1
- package/declarations/components/hds/side-nav/header/icon-button.d.ts.map +1 -1
- package/declarations/components/hds/side-nav/index.d.ts +2 -1
- package/declarations/components/hds/side-nav/index.d.ts.map +1 -1
- package/declarations/components/hds/side-nav/portal/target.d.ts.map +1 -1
- package/declarations/components/hds/stepper/task/indicator.d.ts +1 -1
- package/declarations/components/hds/table/index.d.ts +2 -1
- package/declarations/components/hds/table/index.d.ts.map +1 -1
- package/declarations/components/hds/table/th-selectable.d.ts +3 -3
- package/declarations/components/hds/table/th-selectable.d.ts.map +1 -1
- package/declarations/components/hds/tabs/index.d.ts +2 -1
- package/declarations/components/hds/tabs/index.d.ts.map +1 -1
- package/declarations/components/hds/tag/index.d.ts +16 -0
- package/declarations/components/hds/tag/index.d.ts.map +1 -1
- package/declarations/components/hds/tag/types.d.ts +15 -0
- package/declarations/components/hds/tag/types.d.ts.map +1 -1
- package/declarations/components/hds/time/index.d.ts.map +1 -1
- package/declarations/helpers/hds-format-date.d.ts +16 -3
- package/declarations/helpers/hds-format-date.d.ts.map +1 -1
- package/declarations/helpers/hds-format-relative.d.ts +9 -3
- package/declarations/helpers/hds-format-relative.d.ts.map +1 -1
- package/declarations/helpers/hds-link-to-models.d.ts +7 -1
- package/declarations/helpers/hds-link-to-models.d.ts.map +1 -1
- package/declarations/helpers/hds-link-to-query.d.ts +7 -1
- package/declarations/helpers/hds-link-to-query.d.ts.map +1 -1
- package/declarations/instance-initializers/load-sprite.d.ts.map +1 -1
- package/declarations/{components/hds/advanced-table/helpers.d.ts → modifiers/hds-advanced-table-cell/dom-management.d.ts} +3 -4
- package/declarations/modifiers/hds-advanced-table-cell/dom-management.d.ts.map +1 -0
- package/declarations/modifiers/hds-advanced-table-cell/keyboard-navigation.d.ts +6 -0
- package/declarations/modifiers/hds-advanced-table-cell/keyboard-navigation.d.ts.map +1 -0
- package/declarations/modifiers/hds-advanced-table-cell.d.ts +26 -0
- package/declarations/modifiers/hds-advanced-table-cell.d.ts.map +1 -0
- package/declarations/modifiers/hds-clipboard.d.ts.map +1 -1
- package/declarations/modifiers/hds-code-editor/languages/rego.d.ts +48 -0
- package/declarations/modifiers/hds-code-editor/languages/rego.d.ts.map +1 -0
- package/declarations/modifiers/hds-code-editor/languages/sentinel.d.ts +4 -0
- package/declarations/modifiers/hds-code-editor/languages/sentinel.d.ts.map +1 -1
- package/declarations/modifiers/hds-code-editor/types.d.ts +2 -0
- package/declarations/modifiers/hds-code-editor/types.d.ts.map +1 -1
- package/declarations/modifiers/hds-code-editor.d.ts +9 -5
- package/declarations/modifiers/hds-code-editor.d.ts.map +1 -1
- package/declarations/modifiers/hds-tooltip.d.ts +4 -2
- package/declarations/modifiers/hds-tooltip.d.ts.map +1 -1
- package/declarations/services/hds-time-types.d.ts +7 -7
- package/declarations/services/hds-time-types.d.ts.map +1 -1
- package/declarations/services/hds-time.d.ts +3 -3
- package/declarations/services/hds-time.d.ts.map +1 -1
- package/declarations/template-registry.d.ts +2 -0
- package/declarations/template-registry.d.ts.map +1 -1
- package/dist/README.md +4 -8
- package/dist/_app_/modifiers/hds-advanced-table-cell/dom-management.js +1 -0
- package/dist/_app_/modifiers/hds-advanced-table-cell/keyboard-navigation.js +1 -0
- package/dist/_app_/modifiers/hds-advanced-table-cell.js +1 -0
- package/dist/_app_/modifiers/hds-code-editor/languages/rego.js +1 -0
- package/dist/components/hds/accordion/index.js.map +1 -1
- package/dist/components/hds/accordion/item/button.js +11 -4
- package/dist/components/hds/accordion/item/button.js.map +1 -1
- package/dist/components/hds/accordion/item/index.js +12 -11
- package/dist/components/hds/accordion/item/index.js.map +1 -1
- package/dist/components/hds/advanced-table/expandable-tr-group.js +16 -12
- package/dist/components/hds/advanced-table/expandable-tr-group.js.map +1 -1
- package/dist/components/hds/advanced-table/index.js +69 -53
- package/dist/components/hds/advanced-table/index.js.map +1 -1
- package/dist/components/hds/advanced-table/td.js +30 -36
- package/dist/components/hds/advanced-table/td.js.map +1 -1
- package/dist/components/hds/advanced-table/th-button-expand.js +13 -9
- package/dist/components/hds/advanced-table/th-button-expand.js.map +1 -1
- package/dist/components/hds/advanced-table/th-button-sort.js +8 -7
- package/dist/components/hds/advanced-table/th-button-sort.js.map +1 -1
- package/dist/components/hds/advanced-table/th-button-tooltip.js +7 -6
- package/dist/components/hds/advanced-table/th-button-tooltip.js.map +1 -1
- package/dist/components/hds/advanced-table/th-selectable.js +25 -17
- package/dist/components/hds/advanced-table/th-selectable.js.map +1 -1
- package/dist/components/hds/advanced-table/th-sort.js +30 -37
- package/dist/components/hds/advanced-table/th-sort.js.map +1 -1
- package/dist/components/hds/advanced-table/th.js +29 -36
- package/dist/components/hds/advanced-table/th.js.map +1 -1
- package/dist/components/hds/advanced-table/tr.js.map +1 -1
- package/dist/components/hds/alert/description.js.map +1 -1
- package/dist/components/hds/alert/index.js +19 -16
- package/dist/components/hds/alert/index.js.map +1 -1
- package/dist/components/hds/alert/title.js.map +1 -1
- package/dist/components/hds/app-footer/copyright.js.map +1 -1
- package/dist/components/hds/app-footer/index.js.map +1 -1
- package/dist/components/hds/app-footer/item.js.map +1 -1
- package/dist/components/hds/app-footer/legal-links.js.map +1 -1
- package/dist/components/hds/app-footer/link.js.map +1 -1
- package/dist/components/hds/app-footer/status-link.js.map +1 -1
- package/dist/components/hds/app-frame/index.js.map +1 -1
- package/dist/components/hds/app-frame/parts/footer.js.map +1 -1
- package/dist/components/hds/app-frame/parts/header.js.map +1 -1
- package/dist/components/hds/app-frame/parts/main.js.map +1 -1
- package/dist/components/hds/app-frame/parts/modals.js.map +1 -1
- package/dist/components/hds/app-frame/parts/sidebar.js.map +1 -1
- package/dist/components/hds/app-header/home-link.js.map +1 -1
- package/dist/components/hds/app-header/index.js +42 -34
- package/dist/components/hds/app-header/index.js.map +1 -1
- package/dist/components/hds/app-header/menu-button.js +11 -4
- package/dist/components/hds/app-header/menu-button.js.map +1 -1
- package/dist/components/hds/app-side-nav/index.js +44 -31
- package/dist/components/hds/app-side-nav/index.js.map +1 -1
- package/dist/components/hds/app-side-nav/list/back-link.js.map +1 -1
- package/dist/components/hds/app-side-nav/list/index.js +15 -13
- package/dist/components/hds/app-side-nav/list/index.js.map +1 -1
- package/dist/components/hds/app-side-nav/list/item.js.map +1 -1
- package/dist/components/hds/app-side-nav/list/link.js.map +1 -1
- package/dist/components/hds/app-side-nav/list/title.js +13 -9
- package/dist/components/hds/app-side-nav/list/title.js.map +1 -1
- package/dist/components/hds/app-side-nav/portal/index.js.map +1 -1
- package/dist/components/hds/app-side-nav/portal/target.js +31 -28
- package/dist/components/hds/app-side-nav/portal/target.js.map +1 -1
- package/dist/components/hds/app-side-nav/toggle-button.js.map +1 -1
- package/dist/components/hds/application-state/body.js.map +1 -1
- package/dist/components/hds/application-state/footer.js.map +1 -1
- package/dist/components/hds/application-state/header.js.map +1 -1
- package/dist/components/hds/application-state/index.js.map +1 -1
- package/dist/components/hds/application-state/media.js.map +1 -1
- package/dist/components/hds/badge/index.js.map +1 -1
- package/dist/components/hds/badge-count/index.js.map +1 -1
- package/dist/components/hds/breadcrumb/index.js.map +1 -1
- package/dist/components/hds/breadcrumb/item.js +1 -1
- package/dist/components/hds/breadcrumb/item.js.map +1 -1
- package/dist/components/hds/breadcrumb/truncation.js.map +1 -1
- package/dist/components/hds/button/index.js.map +1 -1
- package/dist/components/hds/button-set/index.js.map +1 -1
- package/dist/components/hds/card/container.js.map +1 -1
- package/dist/components/hds/code-block/copy-button.js +9 -5
- package/dist/components/hds/code-block/copy-button.js.map +1 -1
- package/dist/components/hds/code-block/description.js.map +1 -1
- package/dist/components/hds/code-block/index.js +27 -21
- package/dist/components/hds/code-block/index.js.map +1 -1
- package/dist/components/hds/code-block/title.js.map +1 -1
- package/dist/components/hds/code-editor/description.js +6 -5
- package/dist/components/hds/code-editor/description.js.map +1 -1
- package/dist/components/hds/code-editor/full-screen-button.js.map +1 -1
- package/dist/components/hds/code-editor/generic.js.map +1 -1
- package/dist/components/hds/code-editor/index.js +67 -52
- package/dist/components/hds/code-editor/index.js.map +1 -1
- package/dist/components/hds/code-editor/title.js +6 -5
- package/dist/components/hds/code-editor/title.js.map +1 -1
- package/dist/components/hds/copy/button/index.js +23 -20
- package/dist/components/hds/copy/button/index.js.map +1 -1
- package/dist/components/hds/copy/snippet/index.js +23 -20
- package/dist/components/hds/copy/snippet/index.js.map +1 -1
- package/dist/components/hds/dialog-primitive/body.js.map +1 -1
- package/dist/components/hds/dialog-primitive/description.js.map +1 -1
- package/dist/components/hds/dialog-primitive/footer.js.map +1 -1
- package/dist/components/hds/dialog-primitive/header.js.map +1 -1
- package/dist/components/hds/dialog-primitive/overlay.js.map +1 -1
- package/dist/components/hds/dialog-primitive/wrapper.js.map +1 -1
- package/dist/components/hds/disclosure-primitive/index.js +27 -21
- package/dist/components/hds/disclosure-primitive/index.js.map +1 -1
- package/dist/components/hds/dismiss-button/index.js.map +1 -1
- package/dist/components/hds/dropdown/footer.js.map +1 -1
- package/dist/components/hds/dropdown/header.js.map +1 -1
- package/dist/components/hds/dropdown/index.js +12 -5
- package/dist/components/hds/dropdown/index.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/checkbox.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/checkmark.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/copy-item.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/description.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/generic.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/radio.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/separator.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/title.js.map +1 -1
- package/dist/components/hds/dropdown/toggle/button.js +12 -10
- package/dist/components/hds/dropdown/toggle/button.js.map +1 -1
- package/dist/components/hds/dropdown/toggle/chevron.js.map +1 -1
- package/dist/components/hds/dropdown/toggle/icon.js +20 -12
- package/dist/components/hds/dropdown/toggle/icon.js.map +1 -1
- package/dist/components/hds/flyout/body.js +2 -1
- package/dist/components/hds/flyout/body.js.map +1 -1
- package/dist/components/hds/flyout/description.js +1 -0
- package/dist/components/hds/flyout/description.js.map +1 -1
- package/dist/components/hds/flyout/footer.js +2 -1
- package/dist/components/hds/flyout/footer.js.map +1 -1
- package/dist/components/hds/flyout/header.js +2 -1
- package/dist/components/hds/flyout/header.js.map +1 -1
- package/dist/components/hds/flyout/index.js +33 -18
- package/dist/components/hds/flyout/index.js.map +1 -1
- package/dist/components/hds/form/character-count/index.js.map +1 -1
- package/dist/components/hds/form/checkbox/base.js.map +1 -1
- package/dist/components/hds/form/checkbox/field.js.map +1 -1
- package/dist/components/hds/form/checkbox/group.js.map +1 -1
- package/dist/components/hds/form/error/index.js.map +1 -1
- package/dist/components/hds/form/error/message.js.map +1 -1
- package/dist/components/hds/form/field/index.js +15 -7
- package/dist/components/hds/form/field/index.js.map +1 -1
- package/dist/components/hds/form/fieldset/index.js +15 -7
- package/dist/components/hds/form/fieldset/index.js.map +1 -1
- package/dist/components/hds/form/file-input/base.js.map +1 -1
- package/dist/components/hds/form/file-input/field.js.map +1 -1
- package/dist/components/hds/form/helper-text/index.js.map +1 -1
- package/dist/components/hds/form/indicator/index.js.map +1 -1
- package/dist/components/hds/form/label/index.js.map +1 -1
- package/dist/components/hds/form/legend/index.js.map +1 -1
- package/dist/components/hds/form/masked-input/base.js +45 -15
- package/dist/components/hds/form/masked-input/base.js.map +1 -1
- package/dist/components/hds/form/masked-input/field.js.map +1 -1
- package/dist/components/hds/form/radio/base.js.map +1 -1
- package/dist/components/hds/form/radio/field.js.map +1 -1
- package/dist/components/hds/form/radio/group.js.map +1 -1
- package/dist/components/hds/form/radio-card/description.js.map +1 -1
- package/dist/components/hds/form/radio-card/group.js.map +1 -1
- package/dist/components/hds/form/radio-card/index.js.map +1 -1
- package/dist/components/hds/form/radio-card/label.js.map +1 -1
- package/dist/components/hds/form/select/base.js.map +1 -1
- package/dist/components/hds/form/select/field.js.map +1 -1
- package/dist/components/hds/form/super-select/after-options.js.map +1 -1
- package/dist/components/hds/form/super-select/multiple/base.js +38 -28
- package/dist/components/hds/form/super-select/multiple/base.js.map +1 -1
- package/dist/components/hds/form/super-select/multiple/field.js.map +1 -1
- package/dist/components/hds/form/super-select/option-group.js +11 -10
- package/dist/components/hds/form/super-select/option-group.js.map +1 -1
- package/dist/components/hds/form/super-select/placeholder.js.map +1 -1
- package/dist/components/hds/form/super-select/single/base.js +17 -12
- package/dist/components/hds/form/super-select/single/base.js.map +1 -1
- package/dist/components/hds/form/super-select/single/field.js.map +1 -1
- package/dist/components/hds/form/text-input/base.js.map +1 -1
- package/dist/components/hds/form/text-input/field.js +21 -18
- package/dist/components/hds/form/text-input/field.js.map +1 -1
- package/dist/components/hds/form/textarea/base.js.map +1 -1
- package/dist/components/hds/form/textarea/field.js.map +1 -1
- package/dist/components/hds/form/toggle/base.js.map +1 -1
- package/dist/components/hds/form/toggle/field.js.map +1 -1
- package/dist/components/hds/form/toggle/group.js.map +1 -1
- package/dist/components/hds/form/visibility-toggle/index.js.map +1 -1
- package/dist/components/hds/icon/index.js +7 -3
- package/dist/components/hds/icon/index.js.map +1 -1
- package/dist/components/hds/icon-tile/index.js.map +1 -1
- package/dist/components/hds/interactive/index.js +12 -5
- package/dist/components/hds/interactive/index.js.map +1 -1
- package/dist/components/hds/link/inline.js.map +1 -1
- package/dist/components/hds/link/standalone.js.map +1 -1
- package/dist/components/hds/menu-primitive/index.js +37 -24
- package/dist/components/hds/menu-primitive/index.js.map +1 -1
- package/dist/components/hds/modal/body.js +1 -0
- package/dist/components/hds/modal/body.js.map +1 -1
- package/dist/components/hds/modal/footer.js +2 -1
- package/dist/components/hds/modal/footer.js.map +1 -1
- package/dist/components/hds/modal/header.js +1 -0
- package/dist/components/hds/modal/header.js.map +1 -1
- package/dist/components/hds/modal/index.js +30 -16
- package/dist/components/hds/modal/index.js.map +1 -1
- package/dist/components/hds/page-header/actions.js.map +1 -1
- package/dist/components/hds/page-header/badges.js.map +1 -1
- package/dist/components/hds/page-header/description.js.map +1 -1
- package/dist/components/hds/page-header/index.js.map +1 -1
- package/dist/components/hds/page-header/subtitle.js.map +1 -1
- package/dist/components/hds/page-header/title.js.map +1 -1
- package/dist/components/hds/pagination/compact/index.js +31 -28
- package/dist/components/hds/pagination/compact/index.js.map +1 -1
- package/dist/components/hds/pagination/info/index.js.map +1 -1
- package/dist/components/hds/pagination/nav/arrow.js +10 -4
- package/dist/components/hds/pagination/nav/arrow.js.map +1 -1
- package/dist/components/hds/pagination/nav/ellipsis.js.map +1 -1
- package/dist/components/hds/pagination/nav/number.js +10 -4
- package/dist/components/hds/pagination/nav/number.js.map +1 -1
- package/dist/components/hds/pagination/numbered/index.js +44 -47
- package/dist/components/hds/pagination/numbered/index.js.map +1 -1
- package/dist/components/hds/pagination/size-selector/index.js +12 -8
- package/dist/components/hds/pagination/size-selector/index.js.map +1 -1
- package/dist/components/hds/popover-primitive/index.js +130 -103
- package/dist/components/hds/popover-primitive/index.js.map +1 -1
- package/dist/components/hds/reveal/index.js +26 -24
- package/dist/components/hds/reveal/index.js.map +1 -1
- package/dist/components/hds/reveal/toggle/button.js.map +1 -1
- package/dist/components/hds/rich-tooltip/bubble.js.map +1 -1
- package/dist/components/hds/rich-tooltip/index.js +8 -7
- package/dist/components/hds/rich-tooltip/index.js.map +1 -1
- package/dist/components/hds/rich-tooltip/toggle.js.map +1 -1
- package/dist/components/hds/segmented-group/index.js.map +1 -1
- package/dist/components/hds/separator/index.js.map +1 -1
- package/dist/components/hds/side-nav/base.js.map +1 -1
- package/dist/components/hds/side-nav/header/home-link.js.map +1 -1
- package/dist/components/hds/side-nav/header/icon-button.js +1 -0
- package/dist/components/hds/side-nav/header/icon-button.js.map +1 -1
- package/dist/components/hds/side-nav/header/index.js.map +1 -1
- package/dist/components/hds/side-nav/index.js +47 -34
- package/dist/components/hds/side-nav/index.js.map +1 -1
- package/dist/components/hds/side-nav/list/back-link.js.map +1 -1
- package/dist/components/hds/side-nav/list/index.js +15 -13
- package/dist/components/hds/side-nav/list/index.js.map +1 -1
- package/dist/components/hds/side-nav/list/item.js.map +1 -1
- package/dist/components/hds/side-nav/list/link.js.map +1 -1
- package/dist/components/hds/side-nav/list/title.js +13 -9
- package/dist/components/hds/side-nav/list/title.js.map +1 -1
- package/dist/components/hds/side-nav/portal/index.js.map +1 -1
- package/dist/components/hds/side-nav/portal/target.js +31 -28
- package/dist/components/hds/side-nav/portal/target.js.map +1 -1
- package/dist/components/hds/side-nav/toggle-button.js.map +1 -1
- package/dist/components/hds/stepper/step/indicator.js.map +1 -1
- package/dist/components/hds/stepper/task/indicator.js.map +1 -1
- package/dist/components/hds/table/index.js +54 -40
- package/dist/components/hds/table/index.js.map +1 -1
- package/dist/components/hds/table/td.js.map +1 -1
- package/dist/components/hds/table/th-button-sort.js +8 -7
- package/dist/components/hds/table/th-button-sort.js.map +1 -1
- package/dist/components/hds/table/th-button-tooltip.js +7 -6
- package/dist/components/hds/table/th-button-tooltip.js.map +1 -1
- package/dist/components/hds/table/th-selectable.js +24 -25
- package/dist/components/hds/table/th-selectable.js.map +1 -1
- package/dist/components/hds/table/th-sort.js +12 -10
- package/dist/components/hds/table/th-sort.js.map +1 -1
- package/dist/components/hds/table/th.js +12 -10
- package/dist/components/hds/table/th.js.map +1 -1
- package/dist/components/hds/table/tr.js.map +1 -1
- package/dist/components/hds/tabs/index.js +77 -54
- package/dist/components/hds/tabs/index.js.map +1 -1
- package/dist/components/hds/tabs/panel.js +21 -14
- package/dist/components/hds/tabs/panel.js.map +1 -1
- package/dist/components/hds/tabs/tab.js +29 -13
- package/dist/components/hds/tabs/tab.js.map +1 -1
- package/dist/components/hds/tag/index.js +43 -3
- package/dist/components/hds/tag/index.js.map +1 -1
- package/dist/components/hds/tag/types.js +16 -1
- package/dist/components/hds/tag/types.js.map +1 -1
- package/dist/components/hds/text/body.js.map +1 -1
- package/dist/components/hds/text/code.js.map +1 -1
- package/dist/components/hds/text/display.js.map +1 -1
- package/dist/components/hds/text/index.js.map +1 -1
- package/dist/components/hds/time/index.js +19 -14
- package/dist/components/hds/time/index.js.map +1 -1
- package/dist/components/hds/time/range.js +11 -12
- package/dist/components/hds/time/range.js.map +1 -1
- package/dist/components/hds/time/single.js.map +1 -1
- package/dist/components/hds/toast/index.js.map +1 -1
- package/dist/components/hds/tooltip-button/index.js.map +1 -1
- package/dist/components/hds/yield/index.js.map +1 -1
- package/dist/components.js +1 -1
- package/dist/helpers/hds-format-date.js.map +1 -1
- package/dist/helpers/hds-format-relative.js.map +1 -1
- package/dist/instance-initializers/load-sprite.js +3 -1
- package/dist/instance-initializers/load-sprite.js.map +1 -1
- package/dist/modifiers/hds-advanced-table-cell/dom-management.js +51 -0
- package/dist/modifiers/hds-advanced-table-cell/dom-management.js.map +1 -0
- package/dist/{components/hds/advanced-table/helpers.js → modifiers/hds-advanced-table-cell/keyboard-navigation.js} +5 -44
- package/dist/modifiers/hds-advanced-table-cell/keyboard-navigation.js.map +1 -0
- package/dist/modifiers/hds-advanced-table-cell.js +55 -0
- package/dist/modifiers/hds-advanced-table-cell.js.map +1 -0
- package/dist/modifiers/hds-clipboard.js +29 -35
- package/dist/modifiers/hds-clipboard.js.map +1 -1
- package/dist/modifiers/hds-code-editor/languages/rego.js +191 -0
- package/dist/modifiers/hds-code-editor/languages/rego.js.map +1 -0
- package/dist/modifiers/hds-code-editor/languages/sentinel.js +5 -0
- package/dist/modifiers/hds-code-editor/languages/sentinel.js.map +1 -1
- package/dist/modifiers/hds-code-editor/types.js +2 -0
- package/dist/modifiers/hds-code-editor/types.js.map +1 -1
- package/dist/modifiers/hds-code-editor.js +182 -155
- package/dist/modifiers/hds-code-editor.js.map +1 -1
- package/dist/modifiers/hds-tooltip.js +128 -108
- package/dist/modifiers/hds-tooltip.js.map +1 -1
- package/dist/services/hds-time.js +29 -23
- package/dist/services/hds-time.js.map +1 -1
- package/dist/styles/@hashicorp/design-system-components.css +94 -3
- package/dist/styles/components/advanced-table.scss +4 -0
- package/dist/styles/components/badge-count.scss +1 -1
- package/dist/styles/components/badge.scss +11 -1
- package/dist/styles/components/rich-tooltip.scss +3 -1
- package/dist/styles/components/tag.scss +28 -0
- package/dist/styles/components/time.scss +7 -0
- package/dist/styles/components/tooltip.scss +49 -0
- package/dist/utils/hds-aria-described-by.js +14 -17
- package/dist/utils/hds-aria-described-by.js.map +1 -1
- package/package.json +30 -31
- package/declarations/components/hds/advanced-table/helpers.d.ts.map +0 -1
- package/dist/_app_/components/hds/advanced-table/helpers.js +0 -1
- package/dist/_rollupPluginBabelHelpers-C_TsMG3M.js +0 -57
- package/dist/_rollupPluginBabelHelpers-C_TsMG3M.js.map +0 -1
- package/dist/components/hds/advanced-table/helpers.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/app-side-nav/index.hbs","../../../../src/components/hds/app-side-nav/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n{{! IMPORTANT: we need to add \\\"squishies\\\" here (~) because otherwise the whitespace added by Ember causes the empty element to still have visible padding - See https://handlebarsjs.com/guide/expressions.html#whitespace-control }}\\n<div\\n class={{this.classNames}}\\n ...attributes\\n {{on \\\"transitionstart\\\" (fn this.setTransition \\\"start\\\")}}\\n {{on \\\"transitionend\\\" (fn this.setTransition \\\"end\\\")}}\\n {{! @glint-expect-error - https://github.com/josemarluedke/ember-focus-trap/issues/86 }}\\n {{focus-trap isActive=this.shouldTrapFocus}}\\n {{did-insert this.didInsert}}\\n>\\n <h2 class=\\\"sr-only\\\" id=\\\"hds-app-side-nav-header\\\">Application local navigation</h2>\\n\\n <div class=\\\"hds-app-side-nav__wrapper\\\">\\n {{#if this.showToggleButton}}\\n {{! template-lint-disable no-invalid-interactive}}\\n <div class=\\\"hds-app-side-nav__overlay\\\" {{on \\\"click\\\" this.toggleMinimizedStatus}} />\\n {{! template-lint-enable no-invalid-interactive}}\\n <Hds::AppSideNav::ToggleButton\\n aria-labelledby=\\\"hds-app-side-nav-header\\\"\\n aria-expanded={{if this._isMinimized \\\"false\\\" \\\"true\\\"}}\\n @icon={{if this._isMinimized \\\"chevrons-right\\\" \\\"chevrons-left\\\"}}\\n {{on \\\"click\\\" this.toggleMinimizedStatus}}\\n />\\n {{/if}}\\n\\n <div class=\\\"hds-app-side-nav__wrapper-body\\\">\\n {{~yield~}}\\n </div>\\n </div>\\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 { registerDestructor } from '@ember/destroyable';\n\nexport interface HdsAppSideNavSignature {\n Args: {\n isResponsive?: boolean;\n isCollapsible?: boolean;\n isMinimized?: boolean;\n onToggleMinimizedStatus?: (arg: boolean) => void;\n onDesktopViewportChange?: (arg: boolean) => void;\n };\n Blocks: {\n default?: [];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsAppSideNav extends Component<HdsAppSideNavSignature> {\n @tracked private _isMinimized;\n @tracked private _isAnimating = false;\n @tracked private _isDesktop = true;\n\n private _body!: HTMLElement;\n private _bodyInitialOverflowValue = '';\n private _desktopMQ: MediaQueryList;\n private _containersToHide!: NodeListOf<Element>;\n\n private _desktopMQVal = getComputedStyle(\n document.documentElement\n ).getPropertyValue('--hds-app-desktop-breakpoint');\n\n constructor(owner: unknown, args: HdsAppSideNavSignature['Args']) {\n super(owner, args);\n this._isMinimized = this.args.isMinimized ?? false; // sets the default state on 'desktop' viewports\n this._desktopMQ = window.matchMedia(`(min-width:${this._desktopMQVal})`);\n this.addEventListeners();\n registerDestructor(this, (): void => {\n this.removeEventListeners();\n });\n }\n\n addEventListeners(): void {\n document.addEventListener('keydown', this.escapePress, true);\n this._desktopMQ.addEventListener(\n 'change',\n this.updateDesktopVariable,\n true\n );\n // if not instantiated as minimized via arguments\n if (!this.args.isMinimized) {\n // set initial state based on viewport using a \"synthetic\" event\n const syntheticEvent = new MediaQueryListEvent('change', {\n matches: this._desktopMQ.matches,\n media: this._desktopMQ.media,\n });\n this.updateDesktopVariable(syntheticEvent);\n }\n }\n\n removeEventListeners(): void {\n document.removeEventListener('keydown', this.escapePress, true);\n this._desktopMQ.removeEventListener(\n 'change',\n this.updateDesktopVariable,\n true\n );\n }\n\n // controls if the component reacts to viewport changes\n get isResponsive(): boolean {\n return this.args.isResponsive ?? true;\n }\n\n // controls if users can collapse the appsidenav on 'desktop' viewports\n get isCollapsible(): boolean {\n return this.args.isCollapsible ?? false;\n }\n\n get shouldTrapFocus(): boolean {\n return this.isResponsive && !this._isDesktop && !this._isMinimized;\n }\n\n get showToggleButton(): boolean {\n return (this.isResponsive && !this._isDesktop) || this.isCollapsible;\n }\n\n get classNames(): string {\n const classes = [`hds-app-side-nav`];\n\n // add specific class names for the different possible states\n if (this.isResponsive) {\n classes.push('hds-app-side-nav--is-responsive');\n }\n if (!this._isDesktop && this.isResponsive) {\n classes.push('hds-app-side-nav--is-mobile');\n } else {\n classes.push('hds-app-side-nav--is-desktop');\n }\n if (this._isMinimized && this.isResponsive) {\n classes.push('hds-app-side-nav--is-minimized');\n } else {\n classes.push('hds-app-side-nav--is-not-minimized');\n }\n if (this._isAnimating) {\n classes.push('hds-app-side-nav--is-animating');\n }\n\n return classes.join(' ');\n }\n\n synchronizeInert(): void {\n this._containersToHide?.forEach((element): void => {\n if (this._isMinimized) {\n element.setAttribute('inert', '');\n } else {\n element.removeAttribute('inert');\n }\n });\n }\n\n lockBodyScroll(): void {\n if (this._body) {\n // Prevent page from scrolling when the dialog is open\n this._body.style.setProperty('overflow', 'hidden');\n }\n }\n\n unlockBodyScroll(): void {\n // Reset page `overflow` property\n if (this._body) {\n this._body.style.removeProperty('overflow');\n if (this._bodyInitialOverflowValue === '') {\n if (this._body.style.length === 0) {\n this._body.removeAttribute('style');\n }\n } else {\n this._body.style.setProperty(\n 'overflow',\n this._bodyInitialOverflowValue\n );\n }\n }\n }\n\n @action\n escapePress(event: KeyboardEvent): void {\n if (event.key === 'Escape' && !this._isMinimized && !this._isDesktop) {\n this._isMinimized = true;\n this.synchronizeInert();\n }\n }\n\n @action\n toggleMinimizedStatus(): void {\n this._isMinimized = !this._isMinimized;\n this.synchronizeInert();\n\n const { onToggleMinimizedStatus } = this.args;\n\n if (typeof onToggleMinimizedStatus === 'function') {\n onToggleMinimizedStatus(this._isMinimized);\n }\n\n if (this._isMinimized) {\n this.unlockBodyScroll();\n } else {\n this.lockBodyScroll();\n }\n }\n\n @action\n didInsert(element: HTMLElement): void {\n this._containersToHide = element.querySelectorAll(\n '.hds-app-side-nav-hide-when-minimized'\n );\n this._body = document.body;\n // Store the initial `overflow` value of `<body>` so we can reset to it\n this._bodyInitialOverflowValue =\n this._body.style.getPropertyValue('overflow');\n }\n\n @action\n setTransition(phase: string, event: TransitionEvent): void {\n // we only want to respond to `width` animation/transitions\n if (event.propertyName !== 'width') {\n return;\n }\n if (phase === 'start') {\n this._isAnimating = true;\n } else {\n this._isAnimating = false;\n }\n }\n\n @action\n updateDesktopVariable(event: MediaQueryListEvent): void {\n this._isDesktop = event.matches;\n\n // automatically minimize on narrow viewports (when not in desktop mode)\n this._isMinimized = !this._isDesktop;\n\n this.synchronizeInert();\n\n const { onDesktopViewportChange } = this.args;\n\n if (typeof onDesktopViewportChange === 'function') {\n onDesktopViewportChange(this._isDesktop);\n }\n }\n}\n"],"names":["HdsAppSideNav","_class","Component","constructor","owner","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_defineProperty","getComputedStyle","document","documentElement","getPropertyValue","_isMinimized","isMinimized","_desktopMQ","window","matchMedia","_desktopMQVal","addEventListeners","registerDestructor","removeEventListeners","addEventListener","escapePress","updateDesktopVariable","syntheticEvent","MediaQueryListEvent","matches","media","removeEventListener","isResponsive","isCollapsible","shouldTrapFocus","_isDesktop","showToggleButton","classNames","classes","push","_isAnimating","join","synchronizeInert","_containersToHide","forEach","element","setAttribute","removeAttribute","lockBodyScroll","_body","style","setProperty","unlockBodyScroll","removeProperty","_bodyInitialOverflowValue","length","event","key","toggleMinimizedStatus","onToggleMinimizedStatus","didInsert","querySelectorAll","body","setTransition","phase","propertyName","onDesktopViewportChange","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/app-side-nav/index.ts"],"sourcesContent":["/**\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 { registerDestructor } from '@ember/destroyable';\nimport type Owner from '@ember/owner';\n\nexport interface HdsAppSideNavSignature {\n Args: {\n isResponsive?: boolean;\n isCollapsible?: boolean;\n isMinimized?: boolean;\n onToggleMinimizedStatus?: (arg: boolean) => void;\n onDesktopViewportChange?: (arg: boolean) => void;\n };\n Blocks: {\n default?: [];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsAppSideNav extends Component<HdsAppSideNavSignature> {\n @tracked private _isMinimized;\n @tracked private _isAnimating = false;\n @tracked private _isDesktop = true;\n\n private _body!: HTMLElement;\n private _bodyInitialOverflowValue = '';\n private _desktopMQ: MediaQueryList;\n private _containersToHide!: NodeListOf<Element>;\n\n private _desktopMQVal = getComputedStyle(\n document.documentElement\n ).getPropertyValue('--hds-app-desktop-breakpoint');\n\n constructor(owner: Owner, args: HdsAppSideNavSignature['Args']) {\n super(owner, args);\n this._isMinimized = this.args.isMinimized ?? false; // sets the default state on 'desktop' viewports\n this._desktopMQ = window.matchMedia(`(min-width:${this._desktopMQVal})`);\n this.addEventListeners();\n registerDestructor(this, (): void => {\n this.removeEventListeners();\n });\n }\n\n addEventListeners(): void {\n document.addEventListener('keydown', this.escapePress, true);\n this._desktopMQ.addEventListener(\n 'change',\n this.updateDesktopVariable,\n true\n );\n // if not instantiated as minimized via arguments\n if (!this.args.isMinimized) {\n // set initial state based on viewport using a \"synthetic\" event\n const syntheticEvent = new MediaQueryListEvent('change', {\n matches: this._desktopMQ.matches,\n media: this._desktopMQ.media,\n });\n this.updateDesktopVariable(syntheticEvent);\n }\n }\n\n removeEventListeners(): void {\n document.removeEventListener('keydown', this.escapePress, true);\n this._desktopMQ.removeEventListener(\n 'change',\n this.updateDesktopVariable,\n true\n );\n }\n\n // controls if the component reacts to viewport changes\n get isResponsive(): boolean {\n return this.args.isResponsive ?? true;\n }\n\n // controls if users can collapse the appsidenav on 'desktop' viewports\n get isCollapsible(): boolean {\n return this.args.isCollapsible ?? false;\n }\n\n get shouldTrapFocus(): boolean {\n return this.isResponsive && !this._isDesktop && !this._isMinimized;\n }\n\n get showToggleButton(): boolean {\n return (this.isResponsive && !this._isDesktop) || this.isCollapsible;\n }\n\n get classNames(): string {\n const classes = [`hds-app-side-nav`];\n\n // add specific class names for the different possible states\n if (this.isResponsive) {\n classes.push('hds-app-side-nav--is-responsive');\n }\n if (!this._isDesktop && this.isResponsive) {\n classes.push('hds-app-side-nav--is-mobile');\n } else {\n classes.push('hds-app-side-nav--is-desktop');\n }\n if (this._isMinimized && this.isResponsive) {\n classes.push('hds-app-side-nav--is-minimized');\n } else {\n classes.push('hds-app-side-nav--is-not-minimized');\n }\n if (this._isAnimating) {\n classes.push('hds-app-side-nav--is-animating');\n }\n\n return classes.join(' ');\n }\n\n synchronizeInert(): void {\n this._containersToHide?.forEach((element): void => {\n if (this._isMinimized) {\n element.setAttribute('inert', '');\n } else {\n element.removeAttribute('inert');\n }\n });\n }\n\n lockBodyScroll(): void {\n if (this._body) {\n // Prevent page from scrolling when the dialog is open\n this._body.style.setProperty('overflow', 'hidden');\n }\n }\n\n unlockBodyScroll(): void {\n // Reset page `overflow` property\n if (this._body) {\n this._body.style.removeProperty('overflow');\n if (this._bodyInitialOverflowValue === '') {\n if (this._body.style.length === 0) {\n this._body.removeAttribute('style');\n }\n } else {\n this._body.style.setProperty(\n 'overflow',\n this._bodyInitialOverflowValue\n );\n }\n }\n }\n\n @action\n escapePress(event: KeyboardEvent): void {\n if (event.key === 'Escape' && !this._isMinimized && !this._isDesktop) {\n this._isMinimized = true;\n this.synchronizeInert();\n }\n }\n\n @action\n toggleMinimizedStatus(): void {\n this._isMinimized = !this._isMinimized;\n this.synchronizeInert();\n\n const { onToggleMinimizedStatus } = this.args;\n\n if (typeof onToggleMinimizedStatus === 'function') {\n onToggleMinimizedStatus(this._isMinimized);\n }\n\n if (this._isMinimized) {\n this.unlockBodyScroll();\n } else {\n this.lockBodyScroll();\n }\n }\n\n @action\n didInsert(element: HTMLElement): void {\n this._containersToHide = element.querySelectorAll(\n '.hds-app-side-nav-hide-when-minimized'\n );\n this._body = document.body;\n // Store the initial `overflow` value of `<body>` so we can reset to it\n this._bodyInitialOverflowValue =\n this._body.style.getPropertyValue('overflow');\n }\n\n @action\n setTransition(phase: string, event: TransitionEvent): void {\n // we only want to respond to `width` animation/transitions\n if (event.propertyName !== 'width') {\n return;\n }\n if (phase === 'start') {\n this._isAnimating = true;\n } else {\n this._isAnimating = false;\n }\n }\n\n @action\n updateDesktopVariable(event: MediaQueryListEvent): void {\n this._isDesktop = event.matches;\n\n // automatically minimize on narrow viewports (when not in desktop mode)\n this._isMinimized = !this._isDesktop;\n\n this.synchronizeInert();\n\n const { onDesktopViewportChange } = this.args;\n\n if (typeof onDesktopViewportChange === 'function') {\n onDesktopViewportChange(this._isDesktop);\n }\n }\n}\n"],"names":["HdsAppSideNav","Component","g","prototype","tracked","i","void 0","_body","_bodyInitialOverflowValue","_desktopMQ","_containersToHide","_desktopMQVal","getComputedStyle","document","documentElement","getPropertyValue","constructor","owner","args","_isMinimized","isMinimized","window","matchMedia","addEventListeners","registerDestructor","removeEventListeners","addEventListener","escapePress","updateDesktopVariable","syntheticEvent","MediaQueryListEvent","matches","media","removeEventListener","isResponsive","isCollapsible","shouldTrapFocus","_isDesktop","showToggleButton","classNames","classes","push","_isAnimating","join","synchronizeInert","forEach","element","setAttribute","removeAttribute","lockBodyScroll","style","setProperty","unlockBodyScroll","removeProperty","length","event","key","n","action","toggleMinimizedStatus","onToggleMinimizedStatus","didInsert","querySelectorAll","body","setTransition","phase","propertyName","onDesktopViewportChange","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"back-link.js","sources":["../../../../../src/components/hds/app-side-nav/list/back-link.
|
|
1
|
+
{"version":3,"file":"back-link.js","sources":["../../../../../src/components/hds/app-side-nav/list/back-link.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nimport type { HdsInteractiveSignature } from '../../interactive';\n\nexport interface HdsAppSideNavListBackLinkSignature {\n Args: HdsInteractiveSignature['Args'] & {\n text: string;\n };\n Element: HdsInteractiveSignature['Element'];\n}\n\nconst HdsAppSideNavListBackLink =\n TemplateOnlyComponent<HdsAppSideNavListBackLinkSignature>();\n\nexport default HdsAppSideNavListBackLink;\n"],"names":["HdsAppSideNavListBackLink","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;;AAaA,MAAMA,yBAAyB,GAC7BC,qBAAqB,EAAsC;AAE7D,eAAAC,oBAAA,CAAAC,QAAA,EAAeH,yBAAyB,CAAA;;;;"}
|
|
@@ -1,32 +1,34 @@
|
|
|
1
|
-
import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty } from '../../../../_rollupPluginBabelHelpers-C_TsMG3M.js';
|
|
2
1
|
import Component from '@glimmer/component';
|
|
3
2
|
import { action } from '@ember/object';
|
|
4
3
|
import { tracked } from '@glimmer/tracking';
|
|
5
4
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
5
|
+
import { g, i, n } from 'decorator-transforms/runtime';
|
|
6
6
|
import { setComponentTemplate } from '@ember/component';
|
|
7
7
|
|
|
8
8
|
var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<nav class=\"hds-app-side-nav__list-wrapper\" aria-labelledby=\"hds-app-side-nav-header\" ...attributes>\n {{yield (hash ExtraBefore=(component \"hds/yield\"))}}\n <ul class=\"hds-app-side-nav__list\" role=\"list\" aria-labelledby={{this.titleIds}}>\n {{yield\n (hash\n Item=(component \"hds/app-side-nav/list/item\")\n BackLink=(component \"hds/app-side-nav/list/back-link\")\n Title=(component \"hds/app-side-nav/list/title\" didInsertTitle=this.didInsertTitle)\n Link=(component \"hds/app-side-nav/list/link\")\n )\n }}\n </ul>\n {{yield (hash ExtraAfter=(component \"hds/yield\"))}}\n</nav>");
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Copyright (c) HashiCorp, Inc.
|
|
12
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
class HdsAppSideNavList extends Component {
|
|
16
|
+
static {
|
|
17
|
+
g(this.prototype, "_titleIds", [tracked], function () {
|
|
18
|
+
return [];
|
|
19
|
+
});
|
|
15
20
|
}
|
|
21
|
+
#_titleIds = (i(this, "_titleIds"), undefined);
|
|
16
22
|
get titleIds() {
|
|
17
23
|
return this._titleIds.join(' ');
|
|
18
24
|
}
|
|
19
25
|
didInsertTitle(titleId) {
|
|
20
26
|
this._titleIds = [...this._titleIds, titleId];
|
|
21
27
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
enumerable: true,
|
|
25
|
-
writable: true,
|
|
26
|
-
initializer: function () {
|
|
27
|
-
return [];
|
|
28
|
+
static {
|
|
29
|
+
n(this.prototype, "didInsertTitle", [action]);
|
|
28
30
|
}
|
|
29
|
-
}
|
|
31
|
+
}
|
|
30
32
|
setComponentTemplate(TEMPLATE, HdsAppSideNavList);
|
|
31
33
|
|
|
32
34
|
export { HdsAppSideNavList as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/hds/app-side-nav/list/index.
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/hds/app-side-nav/list/index.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport type { ComponentLike } from '@glint/template';\nimport type { HdsYieldSignature } from '../../yield';\nimport type { HdsAppSideNavListItemSignature } from './item';\nimport type { HdsAppSideNavListBackLinkSignature } from './back-link';\nimport type { HdsAppSideNavListTitleSignature } from './title';\nimport type { HdsAppSideNavListLinkSignature } from './link';\n\nexport interface HdsAppSideNavListSignature {\n Blocks: {\n default: [\n {\n ExtraBefore?: ComponentLike<HdsYieldSignature>;\n Item?: ComponentLike<HdsAppSideNavListItemSignature>;\n BackLink?: ComponentLike<HdsAppSideNavListBackLinkSignature>;\n Title?: ComponentLike<HdsAppSideNavListTitleSignature>;\n Link?: ComponentLike<HdsAppSideNavListLinkSignature>;\n ExtraAfter?: ComponentLike<HdsYieldSignature>;\n },\n ];\n };\n Element: HTMLElement;\n}\n\nexport default class HdsAppSideNavList extends Component<HdsAppSideNavListSignature> {\n @tracked private _titleIds: string[] = [];\n\n get titleIds(): string {\n return this._titleIds.join(' ');\n }\n\n @action\n didInsertTitle(titleId: string): void {\n this._titleIds = [...this._titleIds, titleId];\n }\n}\n"],"names":["HdsAppSideNavList","Component","g","prototype","tracked","i","void 0","titleIds","_titleIds","join","didInsertTitle","titleId","n","action","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;;AA4Be,MAAMA,iBAAiB,SAASC,SAAS,CAA6B;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,WAAA,EAAA,CAClFC,OAAO,CAAA,EAAA,YAAA;AAAA,MAAA,OAA+B,EAAE;AAAA,KAAA,CAAA;AAAA;AAAA,EAAA,UAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,WAAA,CAAA,EAAAC,SAAA;EAEzC,IAAIC,QAAQA,GAAW;AACrB,IAAA,OAAO,IAAI,CAACC,SAAS,CAACC,IAAI,CAAC,GAAG,CAAC;AACjC;EAGAC,cAAcA,CAACC,OAAe,EAAQ;IACpC,IAAI,CAACH,SAAS,GAAG,CAAC,GAAG,IAAI,CAACA,SAAS,EAAEG,OAAO,CAAC;AAC/C;AAAC,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAT,SAAA,EAAA,gBAAA,EAAA,CAHAU,MAAM,CAAA,CAAA;AAAA;AAIT;AAACC,oBAAA,CAAAC,QAAA,EAXoBf,iBAAiB,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.js","sources":["../../../../../src/components/hds/app-side-nav/list/item.
|
|
1
|
+
{"version":3,"file":"item.js","sources":["../../../../../src/components/hds/app-side-nav/list/item.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nexport interface HdsAppSideNavListItemSignature {\n Blocks: {\n default: [];\n };\n Element: HTMLLIElement;\n}\n\nconst HdsAppSideNavListItem =\n TemplateOnlyComponent<HdsAppSideNavListItemSignature>();\n\nexport default HdsAppSideNavListItem;\n"],"names":["HdsAppSideNavListItem","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;;AAWA,MAAMA,qBAAqB,GACzBC,qBAAqB,EAAkC;AAEzD,WAAAC,oBAAA,CAAAC,QAAA,EAAeH,qBAAqB,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","sources":["../../../../../src/components/hds/app-side-nav/list/link.
|
|
1
|
+
{"version":3,"file":"link.js","sources":["../../../../../src/components/hds/app-side-nav/list/link.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nimport type { HdsIconSignature } from '../../icon';\nimport type { HdsInteractiveSignature } from '../../interactive';\n\nexport interface HdsAppSideNavListLinkSignature {\n Args: HdsInteractiveSignature['Args'] & {\n icon?: HdsIconSignature['Args']['name'];\n text?: string;\n badge?: string;\n count?: string;\n hasSubItems?: boolean;\n isActive?: boolean;\n };\n Blocks: {\n default: [];\n };\n Element: HdsInteractiveSignature['Element'];\n}\n\nconst HdsAppSideNavListLink =\n TemplateOnlyComponent<HdsAppSideNavListLinkSignature>();\n\nexport default HdsAppSideNavListLink;\n"],"names":["HdsAppSideNavListLink","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;;AAsBA,MAAMA,qBAAqB,GACzBC,qBAAqB,EAAkC;AAEzD,WAAAC,oBAAA,CAAAC,QAAA,EAAeH,qBAAqB,CAAA;;;;"}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import { _ as _applyDecoratedDescriptor, a as _defineProperty } from '../../../../_rollupPluginBabelHelpers-C_TsMG3M.js';
|
|
2
1
|
import { guidFor } from '@ember/object/internals';
|
|
3
2
|
import { action } from '@ember/object';
|
|
4
3
|
import Component from '@glimmer/component';
|
|
5
4
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
5
|
+
import { n } from 'decorator-transforms/runtime';
|
|
6
6
|
import { setComponentTemplate } from '@ember/component';
|
|
7
7
|
|
|
8
8
|
var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<Hds::AppSideNav::List::Item>\n <div\n class=\"hds-app-side-nav__list-title hds-typography-body-100 hds-font-weight-semibold\"\n id={{this._titleId}}\n {{did-insert this.didInsertTitle}}\n ...attributes\n >{{~yield~}}</div>\n</Hds::AppSideNav::List::Item>");
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Copyright (c) HashiCorp, Inc.
|
|
12
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
class HdsAppSideNavListTitle extends Component {
|
|
16
|
+
/* Generate a unique ID for each Title */
|
|
17
|
+
_titleId = 'title-' + guidFor(this);
|
|
17
18
|
didInsertTitle(element) {
|
|
18
19
|
const {
|
|
19
20
|
didInsertTitle
|
|
@@ -22,7 +23,10 @@ let HdsAppSideNavListTitle = (_class = class HdsAppSideNavListTitle extends Comp
|
|
|
22
23
|
didInsertTitle(element.id);
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
|
-
|
|
26
|
+
static {
|
|
27
|
+
n(this.prototype, "didInsertTitle", [action]);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
26
30
|
setComponentTemplate(TEMPLATE, HdsAppSideNavListTitle);
|
|
27
31
|
|
|
28
32
|
export { HdsAppSideNavListTitle as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"title.js","sources":["../../../../../src/components/hds/app-side-nav/list/title.
|
|
1
|
+
{"version":3,"file":"title.js","sources":["../../../../../src/components/hds/app-side-nav/list/title.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport { guidFor } from '@ember/object/internals';\nimport { action } from '@ember/object';\nimport Component from '@glimmer/component';\n\nexport interface HdsAppSideNavListTitleSignature {\n Args: {\n didInsertTitle?: (titleId: string) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsAppSideNavListTitle extends Component<HdsAppSideNavListTitleSignature> {\n /* Generate a unique ID for each Title */\n private _titleId = 'title-' + guidFor(this);\n\n @action\n didInsertTitle(element: HTMLElement): void {\n const { didInsertTitle } = this.args;\n\n if (typeof didInsertTitle === 'function') {\n didInsertTitle(element.id);\n }\n }\n}\n"],"names":["HdsAppSideNavListTitle","Component","_titleId","guidFor","didInsertTitle","element","args","id","n","prototype","action","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;;AAgBe,MAAMA,sBAAsB,SAASC,SAAS,CAAkC;AAC7F;AACQC,EAAAA,QAAQ,GAAG,QAAQ,GAAGC,OAAO,CAAC,IAAI,CAAC;EAG3CC,cAAcA,CAACC,OAAoB,EAAQ;IACzC,MAAM;AAAED,MAAAA;KAAgB,GAAG,IAAI,CAACE,IAAI;AAEpC,IAAA,IAAI,OAAOF,cAAc,KAAK,UAAU,EAAE;AACxCA,MAAAA,cAAc,CAACC,OAAO,CAACE,EAAE,CAAC;AAC5B;AACF;AAAC,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,gBAAA,EAAA,CAPAC,MAAM,CAAA,CAAA;AAAA;AAQT;AAACC,oBAAA,CAAAC,QAAA,EAZoBZ,sBAAsB,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/hds/app-side-nav/portal/index.
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/hds/app-side-nav/portal/index.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nimport type { HdsAppSideNavListSignature } from '../list/index';\n\n// TODO! understand how this should be done \"correctly\"\n// import type { PortalSignature } from 'ember-stargate/components/portal';\ninterface PortalSignature {\n Args: {\n target: string;\n renderInPlace?: boolean;\n fallback?: 'inplace';\n };\n Blocks: {\n default: [];\n };\n}\n\nexport interface HdsAppSideNavPortalSignature {\n Args: PortalSignature['Args'] & {\n ariaLabel?: string;\n targetName?: string;\n };\n Blocks: HdsAppSideNavListSignature['Blocks'];\n Element: HTMLDivElement;\n}\n\nconst HdsAppSideNavPortal =\n TemplateOnlyComponent<HdsAppSideNavPortalSignature>();\n\nexport default HdsAppSideNavPortal;\n"],"names":["HdsAppSideNavPortal","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;;AA4BA,MAAMA,mBAAmB,GACvBC,qBAAqB,EAAgC;AAEvD,YAAAC,oBAAA,CAAAC,QAAA,EAAeH,mBAAmB,CAAA;;;;"}
|
|
@@ -1,36 +1,53 @@
|
|
|
1
|
-
import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty, a as _defineProperty } from '../../../../_rollupPluginBabelHelpers-C_TsMG3M.js';
|
|
2
1
|
import Component from '@glimmer/component';
|
|
3
2
|
import { inject } from '@ember/service';
|
|
4
3
|
import { tracked } from '@glimmer/tracking';
|
|
5
4
|
import { action } from '@ember/object';
|
|
6
|
-
import { DEBUG } from '@glimmer/env';
|
|
7
5
|
import { macroCondition, isTesting } from '@embroider/macros';
|
|
8
6
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
7
|
+
import { g, i, n } from 'decorator-transforms/runtime';
|
|
9
8
|
import { setComponentTemplate } from '@ember/component';
|
|
10
9
|
|
|
11
10
|
var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<div class=\"hds-app-side-nav__content\" ...attributes>\n <PortalTarget\n @multiple={{true}}\n @onChange={{this.panelsChanged}}\n @name={{if @targetName @targetName \"hds-app-side-nav-portal-target\"}}\n class=\"hds-app-side-nav__content-panels hds-app-side-nav-hide-when-minimized\"\n {{did-update this.didUpdateSubnav this._numSubnavs}}\n />\n</div>");
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Copyright (c) HashiCorp, Inc.
|
|
14
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
class HdsAppSideNavPortalTarget extends Component {
|
|
18
|
+
static {
|
|
19
|
+
g(this.prototype, "router", [inject]);
|
|
20
|
+
}
|
|
21
|
+
#router = (i(this, "router"), undefined);
|
|
22
|
+
static {
|
|
23
|
+
g(this.prototype, "_numSubnavs", [tracked], function () {
|
|
24
|
+
return 0;
|
|
25
|
+
});
|
|
21
26
|
}
|
|
27
|
+
#_numSubnavs = (i(this, "_numSubnavs"), undefined);
|
|
28
|
+
static {
|
|
29
|
+
g(this.prototype, "_lastPanelEl", [tracked]);
|
|
30
|
+
}
|
|
31
|
+
#_lastPanelEl = (i(this, "_lastPanelEl"), undefined);
|
|
22
32
|
static get prefersReducedMotionOverride() {
|
|
23
33
|
return macroCondition(isTesting()) ? true : false;
|
|
24
34
|
}
|
|
35
|
+
_prefersReducedMotionMQ = window.matchMedia('(prefers-reduced-motion: reduce)');
|
|
25
36
|
get prefersReducedMotion() {
|
|
26
37
|
return HdsAppSideNavPortalTarget.prefersReducedMotionOverride || this._prefersReducedMotionMQ && this._prefersReducedMotionMQ.matches;
|
|
27
38
|
}
|
|
28
39
|
panelsChanged(portalCount) {
|
|
29
40
|
this._numSubnavs = portalCount;
|
|
30
41
|
}
|
|
42
|
+
static {
|
|
43
|
+
n(this.prototype, "panelsChanged", [action]);
|
|
44
|
+
}
|
|
31
45
|
didUpdateSubnav(element, [count]) {
|
|
32
46
|
this.animateSubnav(element, [count]);
|
|
33
47
|
}
|
|
48
|
+
static {
|
|
49
|
+
n(this.prototype, "didUpdateSubnav", [action]);
|
|
50
|
+
}
|
|
34
51
|
animateSubnav(element, [count]) {
|
|
35
52
|
/*
|
|
36
53
|
* Here is ascii art of what the layout looks like for this setup
|
|
@@ -111,7 +128,7 @@ let HdsAppSideNavPortalTarget = (_class = class HdsAppSideNavPortalTarget extend
|
|
|
111
128
|
}
|
|
112
129
|
}
|
|
113
130
|
// Notice: we don't add the styles by default because it writes a `style` attribute to the element and it causes an additional re-render
|
|
114
|
-
if (
|
|
131
|
+
if (macroCondition(isTesting())) {
|
|
115
132
|
// Check the visibility of the element before attempting to commitStyles.
|
|
116
133
|
if (targetElement.offsetParent !== null) {
|
|
117
134
|
anim.commitStyles();
|
|
@@ -149,24 +166,10 @@ let HdsAppSideNavPortalTarget = (_class = class HdsAppSideNavPortalTarget extend
|
|
|
149
166
|
});
|
|
150
167
|
}
|
|
151
168
|
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
enumerable: true,
|
|
155
|
-
writable: true,
|
|
156
|
-
initializer: null
|
|
157
|
-
}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, "_numSubnavs", [tracked], {
|
|
158
|
-
configurable: true,
|
|
159
|
-
enumerable: true,
|
|
160
|
-
writable: true,
|
|
161
|
-
initializer: function () {
|
|
162
|
-
return 0;
|
|
169
|
+
static {
|
|
170
|
+
n(this.prototype, "animateSubnav", [action]);
|
|
163
171
|
}
|
|
164
|
-
}
|
|
165
|
-
configurable: true,
|
|
166
|
-
enumerable: true,
|
|
167
|
-
writable: true,
|
|
168
|
-
initializer: null
|
|
169
|
-
}), _applyDecoratedDescriptor(_class.prototype, "panelsChanged", [action], Object.getOwnPropertyDescriptor(_class.prototype, "panelsChanged"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didUpdateSubnav", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didUpdateSubnav"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "animateSubnav", [action], Object.getOwnPropertyDescriptor(_class.prototype, "animateSubnav"), _class.prototype), _class);
|
|
172
|
+
}
|
|
170
173
|
setComponentTemplate(TEMPLATE, HdsAppSideNavPortalTarget);
|
|
171
174
|
|
|
172
175
|
export { HdsAppSideNavPortalTarget as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target.js","sources":["../../../../../src/components/hds/app-side-nav/portal/target.hbs","../../../../../src/components/hds/app-side-nav/portal/target.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<div class=\\\"hds-app-side-nav__content\\\" ...attributes>\\n <PortalTarget\\n @multiple={{true}}\\n @onChange={{this.panelsChanged}}\\n @name={{if @targetName @targetName \\\"hds-app-side-nav-portal-target\\\"}}\\n class=\\\"hds-app-side-nav__content-panels hds-app-side-nav-hide-when-minimized\\\"\\n {{did-update this.didUpdateSubnav this._numSubnavs}}\\n />\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { DEBUG } from '@glimmer/env';\nimport { macroCondition, isTesting } from '@embroider/macros';\n\nimport type { HdsAppSideNavPortalSignature } from './index';\n\n// import { PortalTargetSignature } from 'ember-stargate/components/portal-target';\ninterface PortalTargetSignature {\n Element: HTMLDivElement;\n Args: {\n name: string;\n multiple?: boolean;\n onChange?: (count: number) => void;\n };\n Blocks: {\n default: [number];\n };\n}\n\nimport type { Registry as Services } from '@ember/service';\n\ninterface HdsAppSideNavPortalTargetSignature {\n Args: PortalTargetSignature['Args'] & {\n targetName?: HdsAppSideNavPortalSignature['Args']['targetName'];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsAppSideNavPortalTarget extends Component<HdsAppSideNavPortalTargetSignature> {\n @service router!: Services['router'];\n\n @tracked private _numSubnavs = 0;\n @tracked private _lastPanelEl: Element | undefined;\n\n static get prefersReducedMotionOverride(): boolean {\n return macroCondition(isTesting()) ? true : false;\n }\n\n private _prefersReducedMotionMQ = window.matchMedia(\n '(prefers-reduced-motion: reduce)'\n );\n\n get prefersReducedMotion(): boolean {\n return (\n HdsAppSideNavPortalTarget.prefersReducedMotionOverride ||\n (this._prefersReducedMotionMQ && this._prefersReducedMotionMQ.matches)\n );\n }\n\n @action\n panelsChanged(portalCount: number): void {\n this._numSubnavs = portalCount;\n }\n\n @action\n didUpdateSubnav(element: HTMLElement, [count]: [number]): void {\n this.animateSubnav(element, [count]);\n }\n\n @action\n animateSubnav(element: HTMLElement, [count]: [number]): void {\n /*\n * Here is ascii art of what the layout looks like for this setup\n *\n\n AppSideNav\n +----------------------+\n | +------------------+ |\n | | (\"header\") | |\n | +------------------+ |\n | |\n | +------------------+ |\n | | (\"body\") | |\n (PortalTarget) | | | |\n +----------------------------------------------+ | |\n | +----------+ +----------+ | +----------+ | | |\n | | (Portal) | | (Portal) | | (Portal) | | | |\n | | | | | | | | | | |\n | | hidden | | hidden | | *active* | | | |\n | | panel | | panel | | | panel | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | +----------+ +----------+ | +----------+ | | |\n +----------------------------------------------+ | |\n | | | |\n | +------------------+ |\n | |\n | +------------------+ |\n | | (\"footer\") | |\n | +------------------+ |\n +----------------------+\n\n *\n * every time `HcAppFrame::SideNav::Portal` renders, it contains a portaled \"panel\"\n * that is rendered into the `hds-app-side-nav__content-panels` (inside the PortalTarget).\n *\n * Rendering or unrendering other `HcAppFrame::SideNav::Portal`s triggers the number of\n * subnavs to change (via `numSubnavs`), so this function runs and slides\n * `hds-app-side-nav__content-panels` left or right using the `element.animate` api.\n *\n * */\n\n const activeIndex = count - 1;\n const targetElement = element;\n const { prefersReducedMotion } = this;\n\n const styles = getComputedStyle(targetElement);\n const columnWidth = styles.getPropertyValue(\n '--hds-app-sidenav-width-expanded'\n );\n const slideDuration = prefersReducedMotion ? 0 : 150;\n let fadeDuration = prefersReducedMotion ? 0 : 175;\n let fadeDelay = prefersReducedMotion ? 0 : 50;\n\n // slide entire parent panel\n const start = styles.transform;\n const end = `translateX(-${activeIndex * parseInt(columnWidth, 10)}px)`;\n const anim = targetElement.animate(\n [{ transform: start }, { transform: end }],\n {\n duration: slideDuration,\n easing: 'cubic-bezier(0.65, 0, 0.35, 1)',\n fill: 'forwards',\n }\n );\n\n anim.finished.then((): void => {\n // uncomment this if we need/want to scroll the element to the top\n // targetElement.scrollIntoView(true);\n if (activeIndex > 0) {\n const allPrev = Array.from(targetElement.children).slice(\n 0,\n activeIndex\n ) as HTMLElement[];\n for (const ele of allPrev) {\n ele.ariaHidden = 'true';\n ele.style.setProperty('visibility', 'hidden');\n ele.style.setProperty('opacity', '0');\n }\n }\n // Notice: we don't add the styles by default because it writes a `style` attribute to the element and it causes an additional re-render\n if (DEBUG) {\n // Check the visibility of the element before attempting to commitStyles.\n if (targetElement.offsetParent !== null) {\n anim.commitStyles();\n }\n }\n });\n\n // fade in next panel\n const nextPanelEl = targetElement.children[activeIndex] as HTMLElement;\n\n // get reference to last child panel\n const lastPanelEl = targetElement.children[\n targetElement.children.length - 1\n ] as HTMLElement;\n\n if (nextPanelEl) {\n nextPanelEl.ariaHidden = 'false';\n nextPanelEl.style.setProperty('visibility', 'visible');\n // this eliminates a flicker if there's only one subnav rendering or if we\n // already just rendered this panel.\n if (this._lastPanelEl) {\n if (activeIndex === 0 || nextPanelEl.isSameNode(this._lastPanelEl)) {\n fadeDelay = 0;\n fadeDuration = 0;\n }\n }\n\n // remember the last panel\n this._lastPanelEl = lastPanelEl;\n\n nextPanelEl.animate([{ opacity: '0' }, { opacity: '1' }], {\n delay: fadeDelay,\n duration: fadeDuration,\n fill: 'forwards',\n });\n }\n }\n}\n"],"names":["HdsAppSideNavPortalTarget","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_defineProperty","window","matchMedia","prefersReducedMotionOverride","macroCondition","isTesting","prefersReducedMotion","_prefersReducedMotionMQ","matches","panelsChanged","portalCount","_numSubnavs","didUpdateSubnav","element","count","animateSubnav","activeIndex","targetElement","styles","getComputedStyle","columnWidth","getPropertyValue","slideDuration","fadeDuration","fadeDelay","start","transform","end","parseInt","anim","animate","duration","easing","fill","finished","then","allPrev","Array","from","children","slice","ele","ariaHidden","style","setProperty","DEBUG","offsetParent","commitStyles","nextPanelEl","lastPanelEl","length","_lastPanelEl","isSameNode","opacity","delay","_applyDecoratedDescriptor","prototype","service","configurable","enumerable","writable","initializer","tracked","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"target.js","sources":["../../../../../src/components/hds/app-side-nav/portal/target.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { macroCondition, isTesting } from '@embroider/macros';\n\nimport type { HdsAppSideNavPortalSignature } from './index';\n\n// import { PortalTargetSignature } from 'ember-stargate/components/portal-target';\ninterface PortalTargetSignature {\n Element: HTMLDivElement;\n Args: {\n name: string;\n multiple?: boolean;\n onChange?: (count: number) => void;\n };\n Blocks: {\n default: [number];\n };\n}\n\nimport type { Registry as Services } from '@ember/service';\n\ninterface HdsAppSideNavPortalTargetSignature {\n Args: PortalTargetSignature['Args'] & {\n targetName?: HdsAppSideNavPortalSignature['Args']['targetName'];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsAppSideNavPortalTarget extends Component<HdsAppSideNavPortalTargetSignature> {\n @service router!: Services['router'];\n\n @tracked private _numSubnavs = 0;\n @tracked private _lastPanelEl: Element | undefined;\n\n static get prefersReducedMotionOverride(): boolean {\n return macroCondition(isTesting()) ? true : false;\n }\n\n private _prefersReducedMotionMQ = window.matchMedia(\n '(prefers-reduced-motion: reduce)'\n );\n\n get prefersReducedMotion(): boolean {\n return (\n HdsAppSideNavPortalTarget.prefersReducedMotionOverride ||\n (this._prefersReducedMotionMQ && this._prefersReducedMotionMQ.matches)\n );\n }\n\n @action\n panelsChanged(portalCount: number): void {\n this._numSubnavs = portalCount;\n }\n\n @action\n didUpdateSubnav(element: HTMLElement, [count]: [number]): void {\n this.animateSubnav(element, [count]);\n }\n\n @action\n animateSubnav(element: HTMLElement, [count]: [number]): void {\n /*\n * Here is ascii art of what the layout looks like for this setup\n *\n\n AppSideNav\n +----------------------+\n | +------------------+ |\n | | (\"header\") | |\n | +------------------+ |\n | |\n | +------------------+ |\n | | (\"body\") | |\n (PortalTarget) | | | |\n +----------------------------------------------+ | |\n | +----------+ +----------+ | +----------+ | | |\n | | (Portal) | | (Portal) | | (Portal) | | | |\n | | | | | | | | | | |\n | | hidden | | hidden | | *active* | | | |\n | | panel | | panel | | | panel | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | +----------+ +----------+ | +----------+ | | |\n +----------------------------------------------+ | |\n | | | |\n | +------------------+ |\n | |\n | +------------------+ |\n | | (\"footer\") | |\n | +------------------+ |\n +----------------------+\n\n *\n * every time `HcAppFrame::SideNav::Portal` renders, it contains a portaled \"panel\"\n * that is rendered into the `hds-app-side-nav__content-panels` (inside the PortalTarget).\n *\n * Rendering or unrendering other `HcAppFrame::SideNav::Portal`s triggers the number of\n * subnavs to change (via `numSubnavs`), so this function runs and slides\n * `hds-app-side-nav__content-panels` left or right using the `element.animate` api.\n *\n * */\n\n const activeIndex = count - 1;\n const targetElement = element;\n const { prefersReducedMotion } = this;\n\n const styles = getComputedStyle(targetElement);\n const columnWidth = styles.getPropertyValue(\n '--hds-app-sidenav-width-expanded'\n );\n const slideDuration = prefersReducedMotion ? 0 : 150;\n let fadeDuration = prefersReducedMotion ? 0 : 175;\n let fadeDelay = prefersReducedMotion ? 0 : 50;\n\n // slide entire parent panel\n const start = styles.transform;\n const end = `translateX(-${activeIndex * parseInt(columnWidth, 10)}px)`;\n const anim = targetElement.animate(\n [{ transform: start }, { transform: end }],\n {\n duration: slideDuration,\n easing: 'cubic-bezier(0.65, 0, 0.35, 1)',\n fill: 'forwards',\n }\n );\n\n anim.finished.then((): void => {\n // uncomment this if we need/want to scroll the element to the top\n // targetElement.scrollIntoView(true);\n if (activeIndex > 0) {\n const allPrev = Array.from(targetElement.children).slice(\n 0,\n activeIndex\n ) as HTMLElement[];\n for (const ele of allPrev) {\n ele.ariaHidden = 'true';\n ele.style.setProperty('visibility', 'hidden');\n ele.style.setProperty('opacity', '0');\n }\n }\n // Notice: we don't add the styles by default because it writes a `style` attribute to the element and it causes an additional re-render\n if (macroCondition(isTesting())) {\n // Check the visibility of the element before attempting to commitStyles.\n if (targetElement.offsetParent !== null) {\n anim.commitStyles();\n }\n }\n });\n\n // fade in next panel\n const nextPanelEl = targetElement.children[activeIndex] as HTMLElement;\n\n // get reference to last child panel\n const lastPanelEl = targetElement.children[\n targetElement.children.length - 1\n ] as HTMLElement;\n\n if (nextPanelEl) {\n nextPanelEl.ariaHidden = 'false';\n nextPanelEl.style.setProperty('visibility', 'visible');\n // this eliminates a flicker if there's only one subnav rendering or if we\n // already just rendered this panel.\n if (this._lastPanelEl) {\n if (activeIndex === 0 || nextPanelEl.isSameNode(this._lastPanelEl)) {\n fadeDelay = 0;\n fadeDuration = 0;\n }\n }\n\n // remember the last panel\n this._lastPanelEl = lastPanelEl;\n\n nextPanelEl.animate([{ opacity: '0' }, { opacity: '1' }], {\n delay: fadeDelay,\n duration: fadeDuration,\n fill: 'forwards',\n });\n }\n }\n}\n"],"names":["HdsAppSideNavPortalTarget","Component","g","prototype","service","i","void 0","tracked","prefersReducedMotionOverride","macroCondition","isTesting","_prefersReducedMotionMQ","window","matchMedia","prefersReducedMotion","matches","panelsChanged","portalCount","_numSubnavs","n","action","didUpdateSubnav","element","count","animateSubnav","activeIndex","targetElement","styles","getComputedStyle","columnWidth","getPropertyValue","slideDuration","fadeDuration","fadeDelay","start","transform","end","parseInt","anim","animate","duration","easing","fill","finished","then","allPrev","Array","from","children","slice","ele","ariaHidden","style","setProperty","offsetParent","commitStyles","nextPanelEl","lastPanelEl","length","_lastPanelEl","isSameNode","opacity","delay","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-button.js","sources":["../../../../src/components/hds/app-side-nav/toggle-button.
|
|
1
|
+
{"version":3,"file":"toggle-button.js","sources":["../../../../src/components/hds/app-side-nav/toggle-button.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nimport type { HdsIconSignature } from '../icon';\n\ninterface HdsAppSideNavToggleButtonSignature {\n Args: {\n icon: HdsIconSignature['Args']['name'];\n };\n Element: HTMLButtonElement;\n}\n\nconst HdsAppSideNavToggleButton =\n TemplateOnlyComponent<HdsAppSideNavToggleButtonSignature>();\n\nexport default HdsAppSideNavToggleButton;\n"],"names":["HdsAppSideNavToggleButton","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;;AAaA,MAAMA,yBAAyB,GAC7BC,qBAAqB,EAAsC;AAE7D,mBAAAC,oBAAA,CAAAC,QAAA,EAAeH,yBAAyB,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body.js","sources":["../../../../src/components/hds/application-state/body.
|
|
1
|
+
{"version":3,"file":"body.js","sources":["../../../../src/components/hds/application-state/body.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nexport interface HdsApplicationStateBodySignature {\n Args: {\n text?: string;\n };\n Blocks: {\n default?: [];\n };\n Element: HTMLDivElement;\n}\n\nconst HdsApplicationStateBody =\n TemplateOnlyComponent<HdsApplicationStateBodySignature>();\n\nexport default HdsApplicationStateBody;\n"],"names":["HdsApplicationStateBody","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;;AAcA,MAAMA,uBAAuB,GAC3BC,qBAAqB,EAAoC;AAE3D,WAAAC,oBAAA,CAAAC,QAAA,EAAeH,uBAAuB,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"footer.js","sources":["../../../../src/components/hds/application-state/footer.
|
|
1
|
+
{"version":3,"file":"footer.js","sources":["../../../../src/components/hds/application-state/footer.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\nimport type { ComponentLike } from '@glint/template';\nimport type { HdsLinkStandaloneSignature } from '../link/standalone';\nimport type { HdsButtonSignature } from '../button';\nimport type { HdsDropdownSignature } from '../dropdown';\n\nexport interface HdsApplicationStateFooterSignature {\n Args: {\n hasDivider?: boolean;\n };\n Blocks: {\n default?: [\n {\n Button?: ComponentLike<HdsButtonSignature>;\n Dropdown?: ComponentLike<HdsDropdownSignature>;\n LinkStandalone?: ComponentLike<HdsLinkStandaloneSignature>;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nconst HdsApplicationStateFooter =\n TemplateOnlyComponent<HdsApplicationStateFooterSignature>();\n\nexport default HdsApplicationStateFooter;\n"],"names":["HdsApplicationStateFooter","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;;AAwBA,MAAMA,yBAAyB,GAC7BC,qBAAqB,EAAsC;AAE7D,aAAAC,oBAAA,CAAAC,QAAA,EAAeH,yBAAyB,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.js","sources":["../../../../src/components/hds/application-state/header.
|
|
1
|
+
{"version":3,"file":"header.js","sources":["../../../../src/components/hds/application-state/header.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { HdsApplicationStateTitleTagValues } from './types.ts';\n\nimport type { HdsIconSignature } from '../icon';\nimport type { HdsApplicationStateTitleTags } from './types';\nexport interface HdsApplicationStateHeaderSignature {\n Args: {\n title?: string;\n titleTag?: HdsApplicationStateTitleTags;\n errorCode?: string;\n icon?: HdsIconSignature['Args']['name'];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsApplicationStateHeader extends Component<HdsApplicationStateHeaderSignature> {\n get titleTag(): HdsApplicationStateTitleTags {\n return this.args.titleTag ?? HdsApplicationStateTitleTagValues.Div;\n }\n}\n"],"names":["HdsApplicationStateHeader","Component","titleTag","args","HdsApplicationStateTitleTagValues","Div","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;;AAiBe,MAAMA,yBAAyB,SAASC,SAAS,CAAqC;EACnG,IAAIC,QAAQA,GAAiC;IAC3C,OAAO,IAAI,CAACC,IAAI,CAACD,QAAQ,IAAIE,iCAAiC,CAACC,GAAG;AACpE;AACF;AAACC,oBAAA,CAAAC,QAAA,EAJoBP,yBAAyB,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/application-state/index.
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/application-state/index.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport { HdsApplicationStateAlignValues } from './types.ts';\n\nimport type { ComponentLike } from '@glint/template';\nimport type { HdsApplicationStateAligns } from './types';\nimport type { HdsApplicationStateMediaSignature } from './media';\nimport type { HdsApplicationStateHeaderSignature } from './header';\nimport type { HdsApplicationStateBodySignature } from './body';\nimport type { HdsApplicationStateFooterSignature } from './footer';\n\nexport const ALIGNS: string[] = Object.values(HdsApplicationStateAlignValues);\nexport interface HdsApplicationStateSignature {\n Args: {\n align?: HdsApplicationStateAligns;\n };\n Blocks: {\n default: [\n {\n Media?: ComponentLike<HdsApplicationStateMediaSignature>;\n Header?: ComponentLike<HdsApplicationStateHeaderSignature>;\n Body?: ComponentLike<HdsApplicationStateBodySignature>;\n Footer?: ComponentLike<HdsApplicationStateFooterSignature>;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsApplicationState extends Component<HdsApplicationStateSignature> {\n get align(): HdsApplicationStateAligns {\n const validAlignValues: HdsApplicationStateAligns[] = Object.values(\n HdsApplicationStateAlignValues\n );\n\n assert(\n `@align for \"Hds::ApplicationState\" must be one of the following: ${validAlignValues.join(\n ', '\n )}; received: ${this.args.align}`,\n this.args.align == null || validAlignValues.includes(this.args.align)\n );\n\n return this.args.align ?? HdsApplicationStateAlignValues.Left;\n }\n\n get classNames(): string {\n const classes = ['hds-application-state'];\n\n // add a class based on the @align argument\n classes.push(`hds-application-state--align-${this.align}`);\n\n return classes.join(' ');\n }\n}\n"],"names":["ALIGNS","Object","values","HdsApplicationStateAlignValues","HdsApplicationState","Component","align","validAlignValues","assert","join","args","includes","Left","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;;AAaO,MAAMA,MAAgB,GAAGC,MAAM,CAACC,MAAM,CAACC,8BAA8B;AAkB7D,MAAMC,mBAAmB,SAASC,SAAS,CAA+B;EACvF,IAAIC,KAAKA,GAA8B;AACrC,IAAA,MAAMC,gBAA6C,GAAGN,MAAM,CAACC,MAAM,CACjEC,8BACF,CAAC;AAEDK,IAAAA,MAAM,CACJ,CAAA,iEAAA,EAAoED,gBAAgB,CAACE,IAAI,CACvF,IACF,CAAC,CAAA,YAAA,EAAe,IAAI,CAACC,IAAI,CAACJ,KAAK,EAAE,EACjC,IAAI,CAACI,IAAI,CAACJ,KAAK,IAAI,IAAI,IAAIC,gBAAgB,CAACI,QAAQ,CAAC,IAAI,CAACD,IAAI,CAACJ,KAAK,CACtE,CAAC;IAED,OAAO,IAAI,CAACI,IAAI,CAACJ,KAAK,IAAIH,8BAA8B,CAACS,IAAI;AAC/D;EAEA,IAAIC,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,uBAAuB,CAAC;;AAEzC;IACAA,OAAO,CAACC,IAAI,CAAC,CAAA,6BAAA,EAAgC,IAAI,CAACT,KAAK,EAAE,CAAC;AAE1D,IAAA,OAAOQ,OAAO,CAACL,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACO,oBAAA,CAAAC,QAAA,EAxBoBb,mBAAmB,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.js","sources":["../../../../src/components/hds/application-state/media.
|
|
1
|
+
{"version":3,"file":"media.js","sources":["../../../../src/components/hds/application-state/media.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nexport interface HdsApplicationStateMediaSignature {\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\n\nconst HdsApplicationStateMedia =\n TemplateOnlyComponent<HdsApplicationStateMediaSignature>();\n\nexport default HdsApplicationStateMedia;\n"],"names":["HdsApplicationStateMedia","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;;AAWA,MAAMA,wBAAwB,GAC5BC,qBAAqB,EAAqC;AAE5D,YAAAC,oBAAA,CAAAC,QAAA,EAAeH,wBAAwB,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/badge/index.
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/badge/index.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport {\n HdsBadgeColorValues,\n HdsBadgeSizeValues,\n HdsBadgeTypeValues,\n} from './types.ts';\n\nimport type { HdsBadgeColors, HdsBadgeSizes, HdsBadgeTypes } from './types.ts';\nimport type { HdsIconSignature } from '../icon';\n\nexport const SIZES: string[] = Object.values(HdsBadgeSizeValues);\nexport const TYPES: string[] = Object.values(HdsBadgeTypeValues);\nexport const COLORS: string[] = Object.values(HdsBadgeColorValues);\nexport const DEFAULT_SIZE = HdsBadgeSizeValues.Medium;\nexport const DEFAULT_TYPE = HdsBadgeTypeValues.Filled;\nexport const DEFAULT_COLOR = HdsBadgeColorValues.Neutral;\n\nexport interface HdsBadgeSignature {\n Args: {\n size?: HdsBadgeSizes;\n type?: HdsBadgeTypes;\n color?: HdsBadgeColors;\n text: string | number;\n icon?: HdsIconSignature['Args']['name'];\n isIconOnly?: boolean;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsBadge extends Component<HdsBadgeSignature> {\n /**\n * Sets the size for the component\n * Accepted values: small, medium, large\n *\n * @param size\n * @type {HdsBadgeSizes}\n * @default 'medium'\n */\n get size(): HdsBadgeSizes {\n const { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Badge\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n /**\n * Sets the type of the component\n * Accepted values: filled, inverted, outlined\n *\n * @param type\n * @type {HdsBadgeTypes}\n * @default 'filled'\n */\n get type(): HdsBadgeTypes {\n const { type = DEFAULT_TYPE } = this.args;\n\n assert(\n `@type for \"Hds::Badge\" must be one of the following: ${TYPES.join(\n ', '\n )}; received: ${type}`,\n TYPES.includes(type)\n );\n\n return type;\n }\n\n /**\n * Sets the color scheme for the component\n * Accepted values: neutral, neutral-dark-mode, highlight, success, warning, critical\n *\n * @param color\n * @type {HdsBadgeColors}\n * @default 'neutral'\n */\n get color(): HdsBadgeColors {\n const { color = DEFAULT_COLOR } = this.args;\n\n assert(\n `@color for \"Hds::Badge\" must be one of the following: ${COLORS.join(\n ', '\n )}; received: ${color}`,\n COLORS.includes(color)\n );\n\n return color;\n }\n\n /**\n * @param text\n * @type {string}\n * @description The text of the badge. If `isIconOnly` is set to `true`, the text will be visually hidden but still available to assistive technology. If no text value is defined, an error will be thrown.\n */\n get text(): string | number {\n const { text } = this.args;\n\n assert(\n '@text for \"Hds::Badge\" must have a valid value',\n text !== undefined\n );\n\n return text;\n }\n\n /**\n * @param isIconOnly\n * @type {boolean}\n * @default false\n * @description Indicates if the badge will only contain an icon; component will also ensure that accessible text is still applied to the component.\n */\n get isIconOnly(): boolean {\n if (this.args.icon) {\n return this.args.isIconOnly ?? false;\n }\n\n return false;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method Badge#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-badge'];\n\n // add a class based on the @size argument\n classes.push(`hds-badge--size-${this.size}`);\n\n // add a class based on the @type argument\n classes.push(`hds-badge--type-${this.type}`);\n\n // add a class based on the @color argument\n classes.push(`hds-badge--color-${this.color}`);\n\n return classes.join(' ');\n }\n}\n"],"names":["SIZES","Object","values","HdsBadgeSizeValues","TYPES","HdsBadgeTypeValues","COLORS","HdsBadgeColorValues","DEFAULT_SIZE","Medium","DEFAULT_TYPE","Filled","DEFAULT_COLOR","Neutral","HdsBadge","Component","size","args","assert","join","includes","type","color","text","undefined","isIconOnly","icon","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/badge-count/index.
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/badge-count/index.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport {\n HdsBadgeCountColorValues,\n HdsBadgeCountSizeValues,\n HdsBadgeCountTypeValues,\n} from './types.ts';\nimport type {\n HdsBadgeCountColors,\n HdsBadgeCountSizes,\n HdsBadgeCountTypes,\n} from './types.ts';\n\nexport const SIZES: string[] = Object.values(HdsBadgeCountSizeValues);\nexport const TYPES: string[] = Object.values(HdsBadgeCountTypeValues);\nexport const COLORS: string[] = Object.values(HdsBadgeCountColorValues);\nexport const DEFAULT_SIZE = HdsBadgeCountSizeValues.Medium;\nexport const DEFAULT_TYPE = HdsBadgeCountTypeValues.Filled;\nexport const DEFAULT_COLOR = HdsBadgeCountColorValues.Neutral;\n\nexport interface HdsBadgeCountSignature {\n Args: {\n size?: HdsBadgeCountSizes;\n type?: HdsBadgeCountTypes;\n color?: HdsBadgeCountColors;\n text: string | number;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsBadgeCount extends Component<HdsBadgeCountSignature> {\n /**\n * Sets the size for the component\n * Accepted sizes: small, medium, large\n *\n * @param size\n * @type {string}\n * @default 'medium'\n */\n get size(): HdsBadgeCountSizes {\n const { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::BadgeCount\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n /**\n * Sets the type of the component\n * Accepted values: filled, inverted, outlined\n *\n * @param type\n * @type {string}\n * @default 'filled'\n */\n get type(): HdsBadgeCountTypes {\n const { type = DEFAULT_TYPE } = this.args;\n\n assert(\n `@type for \"Hds::BadgeCount\" must be one of the following: ${TYPES.join(\n ', '\n )}; received: ${type}`,\n TYPES.includes(type)\n );\n\n return type;\n }\n\n /**\n * Sets the color scheme for the component\n * Accepted colors: neutral, neutral-dark-mode\n *\n * @param color\n * @type {string}\n * @default 'neutral'\n */\n get color(): HdsBadgeCountColors {\n const { color = DEFAULT_COLOR } = this.args;\n\n assert(\n `@color for \"Hds::BadgeCount\" must be one of the following: ${COLORS.join(\n ', '\n )}; received: ${color}`,\n COLORS.includes(color)\n );\n\n return color;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method BadgeCount#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-badge-count'];\n\n // add a class based on the @size argument\n classes.push(`hds-badge-count--size-${this.size}`);\n\n // add a class based on the @type argument\n classes.push(`hds-badge-count--type-${this.type}`);\n\n // add a class based on the @color argument\n classes.push(`hds-badge-count--color-${this.color}`);\n\n return classes.join(' ');\n }\n}\n"],"names":["SIZES","Object","values","HdsBadgeCountSizeValues","TYPES","HdsBadgeCountTypeValues","COLORS","HdsBadgeCountColorValues","DEFAULT_SIZE","Medium","DEFAULT_TYPE","Filled","DEFAULT_COLOR","Neutral","HdsBadgeCount","Component","size","args","assert","join","includes","type","color","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;;AAgBO,MAAMA,KAAe,GAAGC,MAAM,CAACC,MAAM,CAACC,uBAAuB;AAC7D,MAAMC,KAAe,GAAGH,MAAM,CAACC,MAAM,CAACG,uBAAuB;AAC7D,MAAMC,MAAgB,GAAGL,MAAM,CAACC,MAAM,CAACK,wBAAwB;AACzDC,MAAAA,YAAY,GAAGL,uBAAuB,CAACM;AACvCC,MAAAA,YAAY,GAAGL,uBAAuB,CAACM;AACvCC,MAAAA,aAAa,GAAGL,wBAAwB,CAACM;AAYvC,MAAMC,aAAa,SAASC,SAAS,CAAyB;AAC3E;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,IAAIA,GAAuB;IAC7B,MAAM;AAAEA,MAAAA,IAAI,GAAGR;KAAc,GAAG,IAAI,CAACS,IAAI;AAEzCC,IAAAA,MAAM,CACJ,CAA6DlB,0DAAAA,EAAAA,KAAK,CAACmB,IAAI,CACrE,IACF,CAAC,CAAA,YAAA,EAAeH,IAAI,CAAA,CAAE,EACtBhB,KAAK,CAACoB,QAAQ,CAACJ,IAAI,CACrB,CAAC;AAED,IAAA,OAAOA,IAAI;AACb;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAIK,IAAIA,GAAuB;IAC7B,MAAM;AAAEA,MAAAA,IAAI,GAAGX;KAAc,GAAG,IAAI,CAACO,IAAI;AAEzCC,IAAAA,MAAM,CACJ,CAA6Dd,0DAAAA,EAAAA,KAAK,CAACe,IAAI,CACrE,IACF,CAAC,CAAA,YAAA,EAAeE,IAAI,CAAA,CAAE,EACtBjB,KAAK,CAACgB,QAAQ,CAACC,IAAI,CACrB,CAAC;AAED,IAAA,OAAOA,IAAI;AACb;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,KAAKA,GAAwB;IAC/B,MAAM;AAAEA,MAAAA,KAAK,GAAGV;KAAe,GAAG,IAAI,CAACK,IAAI;AAE3CC,IAAAA,MAAM,CACJ,CAA8DZ,2DAAAA,EAAAA,MAAM,CAACa,IAAI,CACvE,IACF,CAAC,CAAA,YAAA,EAAeG,KAAK,CAAA,CAAE,EACvBhB,MAAM,CAACc,QAAQ,CAACE,KAAK,CACvB,CAAC;AAED,IAAA,OAAOA,KAAK;AACd;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,iBAAiB,CAAC;;AAEnC;IACAA,OAAO,CAACC,IAAI,CAAC,CAAA,sBAAA,EAAyB,IAAI,CAACT,IAAI,EAAE,CAAC;;AAElD;IACAQ,OAAO,CAACC,IAAI,CAAC,CAAA,sBAAA,EAAyB,IAAI,CAACJ,IAAI,EAAE,CAAC;;AAElD;IACAG,OAAO,CAACC,IAAI,CAAC,CAAA,uBAAA,EAA0B,IAAI,CAACH,KAAK,EAAE,CAAC;AAEpD,IAAA,OAAOE,OAAO,CAACL,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACO,oBAAA,CAAAC,QAAA,EAnFoBb,aAAa,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/breadcrumb/index.
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/breadcrumb/index.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\n\nexport interface HdsBreadcrumbSignature {\n Args: {\n ariaLabel?: string;\n itemsCanWrap?: boolean;\n didInsert?: () => void;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLElement;\n}\n\nconst NOOP = () => {};\n\nexport default class HdsBreadcrumb extends Component<HdsBreadcrumbSignature> {\n /**\n * @param onDidInsert\n * @type {function}\n * @default () => {}\n */\n get didInsert(): () => void {\n const { didInsert } = this.args;\n\n if (typeof didInsert === 'function') {\n return didInsert;\n } else {\n return NOOP;\n }\n }\n\n /**\n * @param itemsCanWrap\n * @type {boolean}\n * @default true\n */\n get itemsCanWrap(): boolean {\n return this.args.itemsCanWrap ?? true;\n }\n\n /**\n * @param ariaLabel\n * @type {string}\n * @default 'breadcrumbs'\n */\n get ariaLabel(): string {\n return this.args.ariaLabel ?? 'breadcrumbs';\n }\n\n /**\n * Get the class names to apply to the component.\n * @method Breadcrumb#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-breadcrumb'];\n\n // add a class based on the @itemsCanWrap argument\n if (this.itemsCanWrap) {\n classes.push('hds-breadcrumb--items-can-wrap');\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["NOOP","HdsBreadcrumb","Component","didInsert","args","itemsCanWrap","ariaLabel","classNames","classes","push","join","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;;AAgBA,MAAMA,IAAI,GAAGA,MAAM,EAAE;AAEN,MAAMC,aAAa,SAASC,SAAS,CAAyB;AAC3E;AACF;AACA;AACA;AACA;EACE,IAAIC,SAASA,GAAe;IAC1B,MAAM;AAAEA,MAAAA;KAAW,GAAG,IAAI,CAACC,IAAI;AAE/B,IAAA,IAAI,OAAOD,SAAS,KAAK,UAAU,EAAE;AACnC,MAAA,OAAOA,SAAS;AAClB,KAAC,MAAM;AACL,MAAA,OAAOH,IAAI;AACb;AACF;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIK,YAAYA,GAAY;AAC1B,IAAA,OAAO,IAAI,CAACD,IAAI,CAACC,YAAY,IAAI,IAAI;AACvC;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,SAASA,GAAW;AACtB,IAAA,OAAO,IAAI,CAACF,IAAI,CAACE,SAAS,IAAI,aAAa;AAC7C;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,gBAAgB,CAAC;;AAElC;IACA,IAAI,IAAI,CAACH,YAAY,EAAE;AACrBG,MAAAA,OAAO,CAACC,IAAI,CAAC,gCAAgC,CAAC;AAChD;AAEA,IAAA,OAAOD,OAAO,CAACE,IAAI,CAAC,GAAG,CAAC;AAC1B;AACF;AAACC,oBAAA,CAAAC,QAAA,EAjDoBX,aAAa,CAAA;;;;"}
|