@hashicorp/design-system-components 4.13.0 → 4.14.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/declarations/components/hds/accordion/index.d.ts +1 -2
- package/declarations/components/hds/accordion/index.d.ts.map +1 -1
- package/declarations/components/hds/accordion/item/button.d.ts +1 -2
- package/declarations/components/hds/accordion/item/button.d.ts.map +1 -1
- package/declarations/components/hds/alert/index.d.ts +1 -28
- package/declarations/components/hds/alert/index.d.ts.map +1 -1
- package/declarations/components/hds/app-side-nav/index.d.ts +45 -0
- package/declarations/components/hds/app-side-nav/index.d.ts.map +1 -0
- package/declarations/components/hds/app-side-nav/list/back-link.d.ts +15 -0
- package/declarations/components/hds/app-side-nav/list/back-link.d.ts.map +1 -0
- package/declarations/components/hds/app-side-nav/list/index.d.ts +32 -0
- package/declarations/components/hds/app-side-nav/list/index.d.ts.map +1 -0
- package/declarations/components/hds/app-side-nav/list/item.d.ts +14 -0
- package/declarations/components/hds/app-side-nav/list/item.d.ts.map +1 -0
- package/declarations/components/hds/app-side-nav/list/link.d.ts +24 -0
- package/declarations/components/hds/app-side-nav/list/link.d.ts.map +1 -0
- package/declarations/components/hds/app-side-nav/list/title.d.ts +19 -0
- package/declarations/components/hds/app-side-nav/list/title.d.ts.map +1 -0
- package/declarations/components/hds/app-side-nav/portal/index.d.ts +27 -0
- package/declarations/components/hds/app-side-nav/portal/index.d.ts.map +1 -0
- package/declarations/components/hds/app-side-nav/portal/target.d.ts +37 -0
- package/declarations/components/hds/app-side-nav/portal/target.d.ts.map +1 -0
- package/declarations/components/hds/app-side-nav/toggle-button.d.ts +15 -0
- package/declarations/components/hds/app-side-nav/toggle-button.d.ts.map +1 -0
- package/declarations/components/hds/button-set/index.d.ts +1 -1
- package/declarations/components/hds/button-set/index.d.ts.map +1 -1
- package/declarations/components/hds/dropdown/index.d.ts +3 -0
- package/declarations/components/hds/dropdown/index.d.ts.map +1 -1
- package/declarations/components/hds/dropdown/toggle/chevron.d.ts +1 -1
- package/declarations/components/hds/dropdown/toggle/chevron.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 +3 -3
- package/declarations/components/hds/flyout/description.d.ts.map +1 -1
- package/declarations/components/hds/flyout/footer.d.ts +1 -2
- package/declarations/components/hds/flyout/footer.d.ts.map +1 -1
- package/declarations/components/hds/form/character-count/index.d.ts +1 -2
- package/declarations/components/hds/form/character-count/index.d.ts.map +1 -1
- package/declarations/components/hds/form/checkbox/group.d.ts +1 -1
- package/declarations/components/hds/form/checkbox/group.d.ts.map +1 -1
- package/declarations/components/hds/form/file-input/base.d.ts +1 -1
- package/declarations/components/hds/form/file-input/base.d.ts.map +1 -1
- package/declarations/components/hds/form/file-input/field.d.ts +1 -1
- package/declarations/components/hds/form/file-input/field.d.ts.map +1 -1
- package/declarations/components/hds/form/masked-input/base.d.ts +1 -23
- package/declarations/components/hds/form/masked-input/base.d.ts.map +1 -1
- package/declarations/components/hds/form/masked-input/field.d.ts +1 -1
- package/declarations/components/hds/form/masked-input/field.d.ts.map +1 -1
- package/declarations/components/hds/form/radio/group.d.ts +1 -1
- package/declarations/components/hds/form/radio/group.d.ts.map +1 -1
- package/declarations/components/hds/form/radio-card/group.d.ts +1 -1
- package/declarations/components/hds/form/radio-card/group.d.ts.map +1 -1
- package/declarations/components/hds/form/select/field.d.ts +1 -1
- package/declarations/components/hds/form/select/field.d.ts.map +1 -1
- package/declarations/components/hds/form/super-select/after-options.d.ts +1 -1
- package/declarations/components/hds/form/super-select/after-options.d.ts.map +1 -1
- package/declarations/components/hds/form/super-select/multiple/field.d.ts +1 -2
- package/declarations/components/hds/form/super-select/multiple/field.d.ts.map +1 -1
- package/declarations/components/hds/form/super-select/option-group.d.ts +1 -2
- package/declarations/components/hds/form/super-select/option-group.d.ts.map +1 -1
- package/declarations/components/hds/form/super-select/placeholder.d.ts +1 -1
- package/declarations/components/hds/form/super-select/placeholder.d.ts.map +1 -1
- package/declarations/components/hds/form/super-select/single/field.d.ts +1 -2
- package/declarations/components/hds/form/super-select/single/field.d.ts.map +1 -1
- package/declarations/components/hds/form/text-input/field.d.ts +3 -18
- package/declarations/components/hds/form/text-input/field.d.ts.map +1 -1
- package/declarations/components/hds/form/textarea/field.d.ts +1 -1
- package/declarations/components/hds/form/textarea/field.d.ts.map +1 -1
- package/declarations/components/hds/form/toggle/base.d.ts +1 -1
- package/declarations/components/hds/form/toggle/base.d.ts.map +1 -1
- package/declarations/components/hds/form/toggle/group.d.ts +1 -1
- package/declarations/components/hds/form/toggle/group.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/page-header/index.d.ts +1 -1
- package/declarations/components/hds/page-header/index.d.ts.map +1 -1
- package/declarations/components/hds/pagination/compact/index.d.ts +1 -1
- package/declarations/components/hds/pagination/compact/index.d.ts.map +1 -1
- package/declarations/components/hds/pagination/info/index.d.ts +1 -2
- package/declarations/components/hds/pagination/info/index.d.ts.map +1 -1
- package/declarations/components/hds/pagination/nav/arrow.d.ts +1 -1
- package/declarations/components/hds/pagination/nav/arrow.d.ts.map +1 -1
- package/declarations/components/hds/pagination/nav/number.d.ts +1 -1
- package/declarations/components/hds/pagination/nav/number.d.ts.map +1 -1
- package/declarations/components/hds/pagination/numbered/index.d.ts +1 -1
- package/declarations/components/hds/pagination/numbered/index.d.ts.map +1 -1
- package/declarations/components/hds/pagination/size-selector/index.d.ts +1 -2
- package/declarations/components/hds/pagination/size-selector/index.d.ts.map +1 -1
- package/declarations/components/hds/popover-primitive/index.d.ts +1 -0
- package/declarations/components/hds/popover-primitive/index.d.ts.map +1 -1
- package/declarations/components/hds/reveal/index.d.ts +1 -2
- package/declarations/components/hds/reveal/index.d.ts.map +1 -1
- package/declarations/components/hds/rich-tooltip/index.d.ts +1 -2
- package/declarations/components/hds/rich-tooltip/index.d.ts.map +1 -1
- package/declarations/components/hds/segmented-group/index.d.ts +1 -1
- package/declarations/components/hds/segmented-group/index.d.ts.map +1 -1
- package/declarations/components/hds/separator/index.d.ts +1 -2
- package/declarations/components/hds/separator/index.d.ts.map +1 -1
- package/declarations/components/hds/side-nav/header/home-link.d.ts +1 -2
- package/declarations/components/hds/side-nav/header/home-link.d.ts.map +1 -1
- package/declarations/components/hds/side-nav/header/icon-button.d.ts +1 -2
- package/declarations/components/hds/side-nav/header/icon-button.d.ts.map +1 -1
- package/declarations/components/hds/side-nav/header/index.d.ts +1 -1
- package/declarations/components/hds/side-nav/header/index.d.ts.map +1 -1
- package/declarations/components/hds/side-nav/index.d.ts +10 -10
- package/declarations/components/hds/side-nav/index.d.ts.map +1 -1
- package/declarations/components/hds/side-nav/list/index.d.ts +6 -3
- package/declarations/components/hds/side-nav/list/index.d.ts.map +1 -1
- package/declarations/components/hds/side-nav/list/title.d.ts +8 -3
- package/declarations/components/hds/side-nav/list/title.d.ts.map +1 -1
- package/declarations/components/hds/side-nav/portal/index.d.ts +1 -1
- package/declarations/components/hds/side-nav/portal/index.d.ts.map +1 -1
- package/declarations/components/hds/side-nav/portal/target.d.ts +2 -3
- package/declarations/components/hds/side-nav/portal/target.d.ts.map +1 -1
- package/declarations/components/hds/side-nav/toggle-button.d.ts +1 -1
- package/declarations/components/hds/side-nav/toggle-button.d.ts.map +1 -1
- package/declarations/components/hds/stepper/step/indicator.d.ts +1 -2
- package/declarations/components/hds/stepper/step/indicator.d.ts.map +1 -1
- package/declarations/components/hds/stepper/task/indicator.d.ts +1 -2
- package/declarations/components/hds/stepper/task/indicator.d.ts.map +1 -1
- package/declarations/components/hds/table/index.d.ts +1 -0
- package/declarations/components/hds/table/index.d.ts.map +1 -1
- package/declarations/components/hds/table/th-selectable.d.ts +1 -0
- package/declarations/components/hds/table/th-selectable.d.ts.map +1 -1
- package/declarations/components/hds/tabs/index.d.ts +1 -2
- package/declarations/components/hds/tabs/index.d.ts.map +1 -1
- package/declarations/components/hds/tag/index.d.ts +1 -2
- package/declarations/components/hds/tag/index.d.ts.map +1 -1
- package/declarations/modifiers/hds-anchored-position.d.ts +10 -0
- package/declarations/modifiers/hds-anchored-position.d.ts.map +1 -1
- package/declarations/modifiers/hds-clipboard.d.ts.map +1 -1
- package/declarations/modifiers/hds-register-event.d.ts +9 -0
- package/declarations/modifiers/hds-register-event.d.ts.map +1 -1
- package/declarations/template-registry.d.ts +36 -0
- package/declarations/template-registry.d.ts.map +1 -1
- package/dist/components/hds/accordion/index.js.map +1 -1
- package/dist/components/hds/accordion/item/button.js.map +1 -1
- package/dist/components/hds/alert/description.js +2 -2
- package/dist/components/hds/alert/index.js +11 -33
- package/dist/components/hds/alert/index.js.map +1 -1
- package/dist/components/hds/app-footer/item.js +2 -2
- package/dist/components/hds/app-footer/link.js +2 -2
- package/dist/components/hds/app-frame/parts/footer.js +2 -2
- package/dist/components/hds/app-frame/parts/header.js +2 -2
- package/dist/components/hds/app-frame/parts/main.js +2 -2
- package/dist/components/hds/app-frame/parts/modals.js +2 -2
- package/dist/components/hds/app-frame/parts/sidebar.js +2 -2
- package/dist/components/hds/app-side-nav/index.js +187 -0
- package/dist/components/hds/app-side-nav/index.js.map +1 -0
- package/dist/components/hds/app-side-nav/list/back-link.js +16 -0
- package/dist/components/hds/app-side-nav/list/back-link.js.map +1 -0
- package/dist/components/hds/app-side-nav/list/index.js +33 -0
- package/dist/components/hds/app-side-nav/list/index.js.map +1 -0
- package/dist/components/hds/app-side-nav/list/item.js +16 -0
- package/dist/components/hds/app-side-nav/list/item.js.map +1 -0
- package/dist/components/hds/app-side-nav/list/link.js +16 -0
- package/dist/components/hds/app-side-nav/list/link.js.map +1 -0
- package/dist/components/hds/app-side-nav/list/title.js +29 -0
- package/dist/components/hds/app-side-nav/list/title.js.map +1 -0
- package/dist/components/hds/app-side-nav/portal/index.js +16 -0
- package/dist/components/hds/app-side-nav/portal/index.js.map +1 -0
- package/dist/components/hds/app-side-nav/portal/target.js +173 -0
- package/dist/components/hds/app-side-nav/portal/target.js.map +1 -0
- package/dist/components/hds/app-side-nav/toggle-button.js +16 -0
- package/dist/components/hds/app-side-nav/toggle-button.js.map +1 -0
- package/dist/components/hds/application-state/body.js +2 -2
- package/dist/components/hds/application-state/footer.js +2 -2
- package/dist/components/hds/application-state/media.js +2 -2
- package/dist/components/hds/button-set/index.js +2 -2
- package/dist/components/hds/button-set/index.js.map +1 -1
- package/dist/components/hds/code-block/copy-button.js +2 -2
- package/dist/components/hds/code-block/description.js +2 -2
- package/dist/components/hds/dialog-primitive/body.js +2 -2
- package/dist/components/hds/dialog-primitive/description.js +2 -2
- package/dist/components/hds/dialog-primitive/overlay.js +2 -2
- package/dist/components/hds/dialog-primitive/wrapper.js +2 -2
- package/dist/components/hds/dropdown/footer.js +2 -2
- package/dist/components/hds/dropdown/header.js +2 -2
- package/dist/components/hds/dropdown/index.js +7 -3
- package/dist/components/hds/dropdown/index.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/generic.js +2 -2
- package/dist/components/hds/dropdown/list-item/separator.js +2 -2
- package/dist/components/hds/dropdown/toggle/chevron.js +2 -2
- package/dist/components/hds/dropdown/toggle/chevron.js.map +1 -1
- package/dist/components/hds/flyout/body.js +2 -2
- package/dist/components/hds/flyout/body.js.map +1 -1
- package/dist/components/hds/flyout/description.js +2 -2
- package/dist/components/hds/flyout/description.js.map +1 -1
- package/dist/components/hds/flyout/footer.js.map +1 -1
- package/dist/components/hds/form/character-count/index.js.map +1 -1
- package/dist/components/hds/form/checkbox/base.js +2 -2
- package/dist/components/hds/form/checkbox/field.js +2 -2
- package/dist/components/hds/form/checkbox/group.js +2 -2
- package/dist/components/hds/form/checkbox/group.js.map +1 -1
- package/dist/components/hds/form/error/message.js +2 -2
- package/dist/components/hds/form/file-input/base.js +2 -2
- package/dist/components/hds/form/file-input/base.js.map +1 -1
- package/dist/components/hds/form/file-input/field.js +2 -2
- package/dist/components/hds/form/file-input/field.js.map +1 -1
- package/dist/components/hds/form/masked-input/base.js +5 -34
- package/dist/components/hds/form/masked-input/base.js.map +1 -1
- package/dist/components/hds/form/masked-input/field.js +2 -2
- package/dist/components/hds/form/masked-input/field.js.map +1 -1
- package/dist/components/hds/form/radio/base.js +2 -2
- package/dist/components/hds/form/radio/field.js +2 -2
- package/dist/components/hds/form/radio/group.js +2 -2
- package/dist/components/hds/form/radio/group.js.map +1 -1
- package/dist/components/hds/form/radio-card/description.js +2 -2
- package/dist/components/hds/form/radio-card/group.js +2 -2
- package/dist/components/hds/form/radio-card/group.js.map +1 -1
- package/dist/components/hds/form/radio-card/label.js +2 -2
- package/dist/components/hds/form/select/field.js +2 -2
- package/dist/components/hds/form/select/field.js.map +1 -1
- package/dist/components/hds/form/super-select/after-options.js +2 -2
- package/dist/components/hds/form/super-select/after-options.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.map +1 -1
- package/dist/components/hds/form/super-select/placeholder.js +2 -2
- package/dist/components/hds/form/super-select/placeholder.js.map +1 -1
- package/dist/components/hds/form/super-select/single/field.js.map +1 -1
- package/dist/components/hds/form/text-input/field.js +10 -33
- package/dist/components/hds/form/text-input/field.js.map +1 -1
- package/dist/components/hds/form/textarea/field.js +2 -2
- package/dist/components/hds/form/textarea/field.js.map +1 -1
- package/dist/components/hds/form/toggle/base.js +2 -2
- package/dist/components/hds/form/toggle/base.js.map +1 -1
- package/dist/components/hds/form/toggle/field.js +2 -2
- package/dist/components/hds/form/toggle/group.js +2 -2
- package/dist/components/hds/form/toggle/group.js.map +1 -1
- package/dist/components/hds/form/visibility-toggle/index.js +2 -2
- package/dist/components/hds/modal/body.js +2 -2
- package/dist/components/hds/modal/body.js.map +1 -1
- package/dist/components/hds/page-header/actions.js +2 -2
- package/dist/components/hds/page-header/badges.js +2 -2
- package/dist/components/hds/page-header/description.js +2 -2
- package/dist/components/hds/page-header/index.js +2 -2
- package/dist/components/hds/page-header/index.js.map +1 -1
- package/dist/components/hds/page-header/subtitle.js +2 -2
- package/dist/components/hds/page-header/title.js +2 -2
- package/dist/components/hds/pagination/compact/index.js +4 -3
- 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.map +1 -1
- package/dist/components/hds/pagination/nav/ellipsis.js +2 -2
- package/dist/components/hds/pagination/nav/number.js.map +1 -1
- package/dist/components/hds/pagination/numbered/index.js +5 -7
- package/dist/components/hds/pagination/numbered/index.js.map +1 -1
- package/dist/components/hds/pagination/size-selector/index.js.map +1 -1
- package/dist/components/hds/popover-primitive/index.js +4 -5
- package/dist/components/hds/popover-primitive/index.js.map +1 -1
- package/dist/components/hds/reveal/index.js.map +1 -1
- package/dist/components/hds/rich-tooltip/index.js.map +1 -1
- package/dist/components/hds/segmented-group/index.js +2 -2
- 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 +3 -3
- 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.map +1 -1
- package/dist/components/hds/side-nav/header/index.js +2 -2
- package/dist/components/hds/side-nav/header/index.js.map +1 -1
- package/dist/components/hds/side-nav/index.js +37 -36
- package/dist/components/hds/side-nav/index.js.map +1 -1
- package/dist/components/hds/side-nav/list/back-link.js +2 -2
- package/dist/components/hds/side-nav/list/index.js +27 -10
- package/dist/components/hds/side-nav/list/index.js.map +1 -1
- package/dist/components/hds/side-nav/list/item.js +2 -2
- package/dist/components/hds/side-nav/list/link.js +2 -2
- package/dist/components/hds/side-nav/list/title.js +23 -10
- package/dist/components/hds/side-nav/list/title.js.map +1 -1
- package/dist/components/hds/side-nav/portal/index.js +2 -2
- package/dist/components/hds/side-nav/portal/index.js.map +1 -1
- package/dist/components/hds/side-nav/portal/target.js.map +1 -1
- package/dist/components/hds/side-nav/toggle-button.js +2 -2
- 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 +6 -8
- package/dist/components/hds/table/index.js.map +1 -1
- package/dist/components/hds/table/th-selectable.js +4 -5
- package/dist/components/hds/table/th-selectable.js.map +1 -1
- package/dist/components/hds/tabs/index.js +2 -3
- package/dist/components/hds/tabs/index.js.map +1 -1
- package/dist/components/hds/tag/index.js.map +1 -1
- package/dist/components/hds/toast/index.js +3 -3
- 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 +2 -2
- package/dist/modifiers/hds-anchored-position.js +15 -16
- package/dist/modifiers/hds-anchored-position.js.map +1 -1
- package/dist/modifiers/hds-clipboard.js +15 -6
- package/dist/modifiers/hds-clipboard.js.map +1 -1
- package/dist/modifiers/hds-register-event.js.map +1 -1
- package/dist/styles/@hashicorp/design-system-components.css +41 -293
- package/dist/styles/@hashicorp/design-system-components.scss +2 -1
- package/dist/styles/components/app-side-nav/content.scss +182 -0
- package/dist/styles/components/app-side-nav/index.scss +9 -0
- package/dist/styles/components/app-side-nav/main.scss +147 -0
- package/dist/styles/components/app-side-nav/toggle-button.scss +101 -0
- package/dist/styles/components/app-side-nav/vars.scss +36 -0
- package/dist/styles/components/dropdown.scss +6 -0
- package/dist/styles/components/side-nav/content.scss +5 -0
- package/package.json +5 -5
- package/dist/_app_/components/hds/app-header/home-link.js +0 -1
- package/dist/_app_/components/hds/app-header/index.js +0 -1
- package/dist/_app_/components/hds/app-header/menu-button.js +0 -1
|
@@ -1,16 +1,33 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { _ as _applyDecoratedDescriptor, b as _initializerDefineProperty } from '../../../../_rollupPluginBabelHelpers-KIi_qCIU.js';
|
|
2
|
+
import Component from '@glimmer/component';
|
|
3
|
+
import { action } from '@ember/object';
|
|
4
|
+
import { tracked } from '@glimmer/tracking';
|
|
2
5
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
3
6
|
import { setComponentTemplate } from '@ember/component';
|
|
4
7
|
|
|
5
|
-
var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<nav class=\"hds-side-nav__list-wrapper\" ...attributes>\n {{yield (hash ExtraBefore=(component \"hds/yield\"))}}\n <ul class=\"hds-side-nav__list\" role=\"list\">\n {{yield\n (hash\n Item=(component \"hds/side-nav/list/item\")\n BackLink=(component \"hds/side-nav/list/back-link\")\n Title=(component \"hds/side-nav/list/title\")\n Link=(component \"hds/side-nav/list/link\")\n )\n }}\n </ul>\n {{yield (hash ExtraAfter=(component \"hds/yield\"))}}\n</nav>");
|
|
8
|
+
var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<nav class=\"hds-side-nav__list-wrapper\" aria-labelledby=\"hds-side-nav-header\" ...attributes>\n {{yield (hash ExtraBefore=(component \"hds/yield\"))}}\n <ul class=\"hds-side-nav__list\" role=\"list\" aria-labelledby={{this.titleIds}}>\n {{yield\n (hash\n Item=(component \"hds/side-nav/list/item\")\n BackLink=(component \"hds/side-nav/list/back-link\")\n Title=(component \"hds/side-nav/list/title\" didInsertTitle=this.didInsertTitle)\n Link=(component \"hds/side-nav/list/link\")\n )\n }}\n </ul>\n {{yield (hash ExtraAfter=(component \"hds/yield\"))}}\n</nav>");
|
|
6
9
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
var _class, _descriptor;
|
|
11
|
+
let HdsSideNavList = (_class = class HdsSideNavList extends Component {
|
|
12
|
+
constructor(...args) {
|
|
13
|
+
super(...args);
|
|
14
|
+
_initializerDefineProperty(this, "_titleIds", _descriptor, this);
|
|
15
|
+
}
|
|
16
|
+
get titleIds() {
|
|
17
|
+
return this._titleIds.join(' ');
|
|
18
|
+
}
|
|
19
|
+
didInsertTitle(titleId) {
|
|
20
|
+
this._titleIds = [...this._titleIds, titleId];
|
|
21
|
+
}
|
|
22
|
+
}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, "_titleIds", [tracked], {
|
|
23
|
+
configurable: true,
|
|
24
|
+
enumerable: true,
|
|
25
|
+
writable: true,
|
|
26
|
+
initializer: function () {
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
}), _applyDecoratedDescriptor(_class.prototype, "didInsertTitle", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsertTitle"), _class.prototype)), _class);
|
|
30
|
+
setComponentTemplate(TEMPLATE, HdsSideNavList);
|
|
11
31
|
|
|
12
|
-
|
|
13
|
-
var index = setComponentTemplate(TEMPLATE, HdsSideNavList);
|
|
14
|
-
|
|
15
|
-
export { index as default };
|
|
32
|
+
export { HdsSideNavList as default };
|
|
16
33
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/hds/side-nav/list/index.hbs","../../../../../src/components/hds/side-nav/list/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\\n<nav class=\\\"hds-side-nav__list-wrapper\\\" ...attributes>\\n {{yield (hash ExtraBefore=(component \\\"hds/yield\\\"))}}\\n <ul class=\\\"hds-side-nav__list\\\" role=\\\"list\\\">\\n {{yield\\n (hash\\n Item=(component \\\"hds/side-nav/list/item\\\")\\n BackLink=(component \\\"hds/side-nav/list/back-link\\\")\\n Title=(component \\\"hds/side-nav/list/title\\\")\\n Link=(component \\\"hds/side-nav/list/link\\\")\\n )\\n }}\\n </ul>\\n {{yield (hash ExtraAfter=(component \\\"hds/yield\\\"))}}\\n</nav>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/hds/side-nav/list/index.hbs","../../../../../src/components/hds/side-nav/list/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\\n<nav class=\\\"hds-side-nav__list-wrapper\\\" aria-labelledby=\\\"hds-side-nav-header\\\" ...attributes>\\n {{yield (hash ExtraBefore=(component \\\"hds/yield\\\"))}}\\n <ul class=\\\"hds-side-nav__list\\\" role=\\\"list\\\" aria-labelledby={{this.titleIds}}>\\n {{yield\\n (hash\\n Item=(component \\\"hds/side-nav/list/item\\\")\\n BackLink=(component \\\"hds/side-nav/list/back-link\\\")\\n Title=(component \\\"hds/side-nav/list/title\\\" didInsertTitle=this.didInsertTitle)\\n Link=(component \\\"hds/side-nav/list/link\\\")\\n )\\n }}\\n </ul>\\n {{yield (hash ExtraAfter=(component \\\"hds/yield\\\"))}}\\n</nav>\")","/**\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 { HdsSideNavListItemSignature } from './item';\nimport type { HdsSideNavListBackLinkSignature } from './back-link';\nimport type { HdsSideNavListTitleSignature } from './title';\nimport type { HdsSideNavListLinkSignature } from './link';\n\nexport interface HdsSideNavListSignature {\n Blocks: {\n default: [\n {\n ExtraBefore?: ComponentLike<HdsYieldSignature>;\n Item?: ComponentLike<HdsSideNavListItemSignature>;\n BackLink?: ComponentLike<HdsSideNavListBackLinkSignature>;\n Title?: ComponentLike<HdsSideNavListTitleSignature>;\n Link?: ComponentLike<HdsSideNavListLinkSignature>;\n ExtraAfter?: ComponentLike<HdsYieldSignature>;\n },\n ];\n };\n Element: HTMLElement;\n}\n\nexport default class HdsSideNavList extends Component<HdsSideNavListSignature> {\n @tracked _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":["HdsSideNavList","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","titleIds","_titleIds","join","didInsertTitle","titleId","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AACA,eAAe,kBAAkB,CAAC,wrBAAwrB;;;AC8BrsBA,IAAAA,cAAc,IAAAC,MAAA,GAApB,MAAMD,cAAc,SAASE,SAAS,CAA0B;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAAAC,IAAAA,0BAAA,oBAAAC,WAAA,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA;EAG7E,IAAIC,QAAQA,GAAW;AACrB,IAAA,OAAO,IAAI,CAACC,SAAS,CAACC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjC,GAAA;EAGAC,cAAcA,CAACC,OAAe,EAAQ;IACpC,IAAI,CAACH,SAAS,GAAG,CAAC,GAAG,IAAI,CAACA,SAAS,EAAEG,OAAO,CAAC,CAAA;AAC/C,GAAA;AACF,CAAC,GAAAL,WAAA,GAAAM,yBAAA,CAAAX,MAAA,CAAAY,SAAA,EAAA,WAAA,EAAA,CAVEC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;AAAAC,EAAAA,WAAA,cAAA;AAAA,IAAA,OAAuB,EAAE,CAAA;AAAA,GAAA;AAAA,CAAAN,CAAAA,EAAAA,yBAAA,CAAAX,MAAA,CAAAY,SAAA,EAMhCM,gBAAAA,EAAAA,CAAAA,MAAM,GAAAC,MAAA,CAAAC,wBAAA,CAAApB,MAAA,CAAAY,SAAA,EAAA,gBAAA,CAAA,EAAAZ,MAAA,CAAAY,SAAA,IAAAZ,MAAA,EAAA;AAP0BqB,oBAAA,CAAAC,QAAA,EAAdvB,cAAc,CAAA;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import TemplateOnlyComponent from '@ember/component/template-only';
|
|
2
2
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
3
3
|
import { setComponentTemplate } from '@ember/component';
|
|
4
4
|
|
|
@@ -9,7 +9,7 @@ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-
|
|
|
9
9
|
* SPDX-License-Identifier: MPL-2.0
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
const HdsSideNavListItem =
|
|
12
|
+
const HdsSideNavListItem = TemplateOnlyComponent();
|
|
13
13
|
var item = setComponentTemplate(TEMPLATE, HdsSideNavListItem);
|
|
14
14
|
|
|
15
15
|
export { item as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import TemplateOnlyComponent from '@ember/component/template-only';
|
|
2
2
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
3
3
|
import { setComponentTemplate } from '@ember/component';
|
|
4
4
|
|
|
@@ -9,7 +9,7 @@ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-
|
|
|
9
9
|
* SPDX-License-Identifier: MPL-2.0
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
const HdsSideNavListLink =
|
|
12
|
+
const HdsSideNavListLink = TemplateOnlyComponent();
|
|
13
13
|
var link = setComponentTemplate(TEMPLATE, HdsSideNavListLink);
|
|
14
14
|
|
|
15
15
|
export { link as default };
|
|
@@ -1,16 +1,29 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { _ as _applyDecoratedDescriptor, a as _defineProperty } from '../../../../_rollupPluginBabelHelpers-KIi_qCIU.js';
|
|
2
|
+
import { guidFor } from '@ember/object/internals';
|
|
3
|
+
import { action } from '@ember/object';
|
|
4
|
+
import Component from '@glimmer/component';
|
|
2
5
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
3
6
|
import { setComponentTemplate } from '@ember/component';
|
|
4
7
|
|
|
5
|
-
var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<Hds::SideNav::List::Item>\n <div
|
|
8
|
+
var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<Hds::SideNav::List::Item>\n <div\n class=\"hds-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::SideNav::List::Item>");
|
|
6
9
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
var _class;
|
|
11
|
+
let HdsSideNavListTitle = (_class = class HdsSideNavListTitle extends Component {
|
|
12
|
+
constructor(...args) {
|
|
13
|
+
super(...args);
|
|
14
|
+
/* Generate a unique ID for each Title */
|
|
15
|
+
_defineProperty(this, "titleId", 'title-' + guidFor(this));
|
|
16
|
+
}
|
|
17
|
+
didInsertTitle(element) {
|
|
18
|
+
const {
|
|
19
|
+
didInsertTitle
|
|
20
|
+
} = this.args;
|
|
21
|
+
if (typeof didInsertTitle === 'function') {
|
|
22
|
+
didInsertTitle(element.id);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}, (_applyDecoratedDescriptor(_class.prototype, "didInsertTitle", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsertTitle"), _class.prototype)), _class);
|
|
26
|
+
setComponentTemplate(TEMPLATE, HdsSideNavListTitle);
|
|
11
27
|
|
|
12
|
-
|
|
13
|
-
var title = setComponentTemplate(TEMPLATE, HdsSideNavListTitle);
|
|
14
|
-
|
|
15
|
-
export { title as default };
|
|
28
|
+
export { HdsSideNavListTitle as default };
|
|
16
29
|
//# sourceMappingURL=title.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"title.js","sources":["../../../../../src/components/hds/side-nav/list/title.hbs","../../../../../src/components/hds/side-nav/list/title.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<Hds::SideNav::List::Item>\\n <div
|
|
1
|
+
{"version":3,"file":"title.js","sources":["../../../../../src/components/hds/side-nav/list/title.hbs","../../../../../src/components/hds/side-nav/list/title.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<Hds::SideNav::List::Item>\\n <div\\n class=\\\"hds-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::SideNav::List::Item>\")","/**\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 HdsSideNavListTitleSignature {\n Args: {\n didInsertTitle?: (titleId: string) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsSideNavListTitle extends Component<HdsSideNavListTitleSignature> {\n /* Generate a unique ID for each Title */\n 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":["HdsSideNavListTitle","_class","Component","constructor","args","_defineProperty","guidFor","didInsertTitle","element","id","_applyDecoratedDescriptor","prototype","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AACA,eAAe,kBAAkB,CAAC,oVAAoV;;;ACkBjWA,IAAAA,mBAAmB,IAAAC,MAAA,GAAzB,MAAMD,mBAAmB,SAASE,SAAS,CAA+B;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AACvF;AAAAC,IAAAA,eAAA,kBACU,QAAQ,GAAGC,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAA,GAAA;EAGlCC,cAAcA,CAACC,OAAoB,EAAQ;IACzC,MAAM;AAAED,MAAAA,cAAAA;KAAgB,GAAG,IAAI,CAACH,IAAI,CAAA;AAEpC,IAAA,IAAI,OAAOG,cAAc,KAAK,UAAU,EAAE;AACxCA,MAAAA,cAAc,CAACC,OAAO,CAACC,EAAE,CAAC,CAAA;AAC5B,KAAA;AACF,GAAA;AACF,CAAC,GAAAC,yBAAA,CAAAT,MAAA,CAAAU,SAAA,EAAA,gBAAA,EAAA,CAREC,MAAM,CAAAC,EAAAA,MAAA,CAAAC,wBAAA,CAAAb,MAAA,CAAAU,SAAA,qBAAAV,MAAA,CAAAU,SAAA,CAAA,GAAAV,MAAA,EAAA;AAJ+Bc,oBAAA,CAAAC,QAAA,EAAnBhB,mBAAmB,CAAA;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import TemplateOnlyComponent from '@ember/component/template-only';
|
|
2
2
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
3
3
|
import { setComponentTemplate } from '@ember/component';
|
|
4
4
|
|
|
@@ -9,7 +9,7 @@ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-
|
|
|
9
9
|
* SPDX-License-Identifier: MPL-2.0
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
const HdsSideNavPortal =
|
|
12
|
+
const HdsSideNavPortal = TemplateOnlyComponent();
|
|
13
13
|
var index = setComponentTemplate(TEMPLATE, HdsSideNavPortal);
|
|
14
14
|
|
|
15
15
|
export { index as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/hds/side-nav/portal/index.hbs","../../../../../src/components/hds/side-nav/portal/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\\n<Portal @target={{if @targetName @targetName \\\"hds-side-nav-portal-target\\\"}}>\\n <div class=\\\"hds-side-nav__content-panel\\\" ...attributes>\\n <Hds::SideNav::List aria-label={{@ariaLabel}} as |ListElements|>\\n {{yield ListElements}}\\n </Hds::SideNav::List>\\n </div>\\n</Portal>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nimport type { HdsSideNavListSignature } from '../list/index';\n\n// TODO! understand how this should be done \"correctly\"\n// import type { PortalSignature } from 'ember-stargate/components/portal';\
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/hds/side-nav/portal/index.hbs","../../../../../src/components/hds/side-nav/portal/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\\n<Portal @target={{if @targetName @targetName \\\"hds-side-nav-portal-target\\\"}}>\\n <div class=\\\"hds-side-nav__content-panel\\\" ...attributes>\\n <Hds::SideNav::List aria-label={{@ariaLabel}} as |ListElements|>\\n {{yield ListElements}}\\n </Hds::SideNav::List>\\n </div>\\n</Portal>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport TemplateOnlyComponent from '@ember/component/template-only';\n\nimport type { HdsSideNavListSignature } from '../list/index';\n\n// TODO! understand how this should be done \"correctly\"\n// import type { PortalSignature } from 'ember-stargate/components/portal';\nexport interface PortalSignature {\n Args: {\n target: string;\n renderInPlace?: boolean;\n fallback?: 'inplace';\n };\n Blocks: {\n default: [];\n };\n}\n\nexport interface HdsSideNavPortalSignature {\n Args: PortalSignature['Args'] & {\n ariaLabel?: string;\n targetName?: string;\n };\n Blocks: HdsSideNavListSignature['Blocks'];\n Element: HTMLDivElement;\n}\n\nconst HdsSideNavPortal = TemplateOnlyComponent<HdsSideNavPortalSignature>();\n\nexport default HdsSideNavPortal;\n"],"names":["HdsSideNavPortal","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,iXAAiX;;ACDnZ;AACA;AACA;AACA;;AA4BA,MAAMA,gBAAgB,GAAGC,qBAAqB,EAA6B,CAAA;AAE3E,YAAAC,oBAAA,CAAAC,QAAA,EAAeH,gBAAgB,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target.js","sources":["../../../../../src/components/hds/side-nav/portal/target.hbs","../../../../../src/components/hds/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-side-nav__content\\\" ...attributes>\\n <PortalTarget\\n @multiple={{true}}\\n @onChange={{this.panelsChanged}}\\n @name={{if @targetName @targetName \\\"hds-side-nav-portal-target\\\"}}\\n class=\\\"hds-side-nav__content-panels hds-side-nav-hide-when-minimized\\\"\\n {{did-update this.didUpdateSubnav this.numSubnavs}}\\n />\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { DEBUG } from '@glimmer/env';\nimport { macroCondition, isTesting } from '@embroider/macros';\n\nimport type { HdsSideNavPortalSignature } 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 HdsSideNavPortalTargetSignature {\n Args: PortalTargetSignature['Args'] & {\n targetName?: HdsSideNavPortalSignature['Args']['targetName'];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsSideNavPortalTarget extends Component<HdsSideNavPortalTargetSignature> {\n @service router!: Services['router'];\n\n @tracked numSubnavs = 0;\n @tracked lastPanelEl: Element | undefined;\n\n static get prefersReducedMotionOverride(): boolean {\n return macroCondition(isTesting()) ? true : false;\n }\n\n prefersReducedMotionMQ = window.matchMedia(\n '(prefers-reduced-motion: reduce)'\n );\n\n get prefersReducedMotion(): boolean {\n return (\n HdsSideNavPortalTarget.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 what the layout looks like for this setup\n *\n\n SideNav\n +----------------------+\n | +------------------+ |\n | | (\"header\") | |\n | +------------------+ |\n | |\n | +------------------+ |\n | | (\"body\") | |\n (PortalTarget) | | | |\n +----------------------------------------------+ | |\n | +----------+ +----------+ | +----------+ | | |\n | | (Portal) | | (Portal) | | (Portal) | | | |\n | | | | | | | | | | |\n | | hidden | | hidden | | *active* | | | |\n | | panel | | panel | | | panel | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | +----------+ +----------+ | +----------+ | | |\n +----------------------------------------------+ | |\n | | | |\n | +------------------+ |\n | |\n | +------------------+ |\n | | (\"footer\") | |\n | +------------------+ |\n +----------------------+\n\n *\n * every time `HcAppFrame::SideNav::Portal` renders, it contains a portaled \"panel\"\n * that is rendered into the `hds-side-nav__content-panels` (inside the PortalTarget).\n *\n * Rendering or unrendering other `HcAppFrame::SideNav::Portal`s triggers the number of\n * subnavs to change (via `numSubnavs`), so this function runs and slides\n * `hds-side-nav__content-panels` left or right using the `element.animate` api.\n *\n * */\n\n 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":["HdsSideNavPortalTarget","_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","isSameNode","opacity","delay","_applyDecoratedDescriptor","prototype","service","configurable","enumerable","writable","initializer","tracked","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"target.js","sources":["../../../../../src/components/hds/side-nav/portal/target.hbs","../../../../../src/components/hds/side-nav/portal/target.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-side-nav__content\\\" ...attributes>\\n <PortalTarget\\n @multiple={{true}}\\n @onChange={{this.panelsChanged}}\\n @name={{if @targetName @targetName \\\"hds-side-nav-portal-target\\\"}}\\n class=\\\"hds-side-nav__content-panels hds-side-nav-hide-when-minimized\\\"\\n {{did-update this.didUpdateSubnav this.numSubnavs}}\\n />\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { DEBUG } from '@glimmer/env';\nimport { macroCondition, isTesting } from '@embroider/macros';\n\nimport type { HdsSideNavPortalSignature } from './index';\n\n// import { PortalTargetSignature } from 'ember-stargate/components/portal-target';\nexport interface 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\nexport interface HdsSideNavPortalTargetSignature {\n Args: PortalTargetSignature['Args'] & {\n targetName?: HdsSideNavPortalSignature['Args']['targetName'];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsSideNavPortalTarget extends Component<HdsSideNavPortalTargetSignature> {\n @service router!: Services['router'];\n\n @tracked numSubnavs = 0;\n @tracked lastPanelEl: Element | undefined;\n\n static get prefersReducedMotionOverride(): boolean {\n return macroCondition(isTesting()) ? true : false;\n }\n\n prefersReducedMotionMQ = window.matchMedia(\n '(prefers-reduced-motion: reduce)'\n );\n\n get prefersReducedMotion(): boolean {\n return (\n HdsSideNavPortalTarget.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 what the layout looks like for this setup\n *\n\n SideNav\n +----------------------+\n | +------------------+ |\n | | (\"header\") | |\n | +------------------+ |\n | |\n | +------------------+ |\n | | (\"body\") | |\n (PortalTarget) | | | |\n +----------------------------------------------+ | |\n | +----------+ +----------+ | +----------+ | | |\n | | (Portal) | | (Portal) | | (Portal) | | | |\n | | | | | | | | | | |\n | | hidden | | hidden | | *active* | | | |\n | | panel | | panel | | | panel | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | | | | | | | | | | |\n | | | | | | | | | |\n | +----------+ +----------+ | +----------+ | | |\n +----------------------------------------------+ | |\n | | | |\n | +------------------+ |\n | |\n | +------------------+ |\n | | (\"footer\") | |\n | +------------------+ |\n +----------------------+\n\n *\n * every time `HcAppFrame::SideNav::Portal` renders, it contains a portaled \"panel\"\n * that is rendered into the `hds-side-nav__content-panels` (inside the PortalTarget).\n *\n * Rendering or unrendering other `HcAppFrame::SideNav::Portal`s triggers the number of\n * subnavs to change (via `numSubnavs`), so this function runs and slides\n * `hds-side-nav__content-panels` left or right using the `element.animate` api.\n *\n * */\n\n 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":["HdsSideNavPortalTarget","_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","isSameNode","opacity","delay","_applyDecoratedDescriptor","prototype","service","configurable","enumerable","writable","initializer","tracked","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import TemplateOnlyComponent from '@ember/component/template-only';
|
|
2
2
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
3
3
|
import { setComponentTemplate } from '@ember/component';
|
|
4
4
|
|
|
@@ -9,7 +9,7 @@ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-
|
|
|
9
9
|
* SPDX-License-Identifier: MPL-2.0
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
const HdsSideNavToggleButton =
|
|
12
|
+
const HdsSideNavToggleButton = TemplateOnlyComponent();
|
|
13
13
|
var toggleButton = setComponentTemplate(TEMPLATE, HdsSideNavToggleButton);
|
|
14
14
|
|
|
15
15
|
export { toggleButton as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-button.js","sources":["../../../../src/components/hds/side-nav/toggle-button.hbs","../../../../src/components/hds/side-nav/toggle-button.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<button class=\\\"hds-side-nav__toggle-button\\\" type=\\\"button\\\" ...attributes>\\n <Hds::Icon @name={{@icon}} />\\n</button>\")","/**\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\
|
|
1
|
+
{"version":3,"file":"toggle-button.js","sources":["../../../../src/components/hds/side-nav/toggle-button.hbs","../../../../src/components/hds/side-nav/toggle-button.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<button class=\\\"hds-side-nav__toggle-button\\\" type=\\\"button\\\" ...attributes>\\n <Hds::Icon @name={{@icon}} />\\n</button>\")","/**\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\nexport interface HdsSideNavToggleButtonSignature {\n Args: {\n icon: HdsIconSignature['Args']['name'];\n };\n Element: HTMLButtonElement;\n}\n\nconst HdsSideNavToggleButton =\n TemplateOnlyComponent<HdsSideNavToggleButtonSignature>();\n\nexport default HdsSideNavToggleButton;\n"],"names":["HdsSideNavToggleButton","TemplateOnlyComponent","setComponentTemplate","TEMPLATE"],"mappings":";;;;AACA,eAAe,kBAAkB,CAAC,wMAAwM;;ACD1O;AACA;AACA;AACA;;AAaA,MAAMA,sBAAsB,GAC1BC,qBAAqB,EAAmC,CAAA;AAE1D,mBAAAC,oBAAA,CAAAC,QAAA,EAAeH,sBAAsB,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indicator.js","sources":["../../../../../src/components/hds/stepper/step/indicator.hbs","../../../../../src/components/hds/stepper/step/indicator.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class={{this.classNames}} ...attributes>\\n <div class=\\\"hds-stepper-indicator-step__svg-hexagon\\\">\\n <svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" aria-hidden=\\\"true\\\">\\n <path\\n d=\\\"m3.664 6.264 6.99-4.42a2.5 2.5 0 0 1 2.67-.002l7.01 4.422A2.5 2.5 0 0 1 21.5 8.38v7.242a2.5 2.5 0 0 1-1.166 2.115l-7.01 4.422a2.5 2.5 0 0 1-2.67-.002l-6.99-4.42A2.5 2.5 0 0 1 2.5 15.623V8.377a2.5 2.5 0 0 1 1.164-2.113Z\\\"\\n stroke-width=\\\"1\\\"\\n ></path>\\n </svg>\\n </div>\\n <div class=\\\"hds-stepper-indicator-step__status\\\">\\n {{#if (eq @status \\\"processing\\\")}}\\n <Hds::Icon class=\\\"hds-stepper-indicator-step__icon\\\" @name=\\\"loading\\\" @size=\\\"16\\\" />\\n {{else if (eq @status \\\"complete\\\")}}\\n <Hds::Icon class=\\\"hds-stepper-indicator-step__icon\\\" @name=\\\"check\\\" @size=\\\"16\\\" />\\n {{else}}\\n <Hds::Text::Body\\n class=\\\"hds-stepper-indicator-step__text\\\"\\n @tag=\\\"span\\\"\\n @size=\\\"100\\\"\\n @weight=\\\"medium\\\"\\n >{{@text}}</Hds::Text::Body>\\n {{/if}}\\n </div>\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport { HdsStepperStatusesValues } from '../types.ts';\nimport type { HdsStepperStatuses } from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: string[] = Object.values(HdsStepperStatusesValues);\n\
|
|
1
|
+
{"version":3,"file":"indicator.js","sources":["../../../../../src/components/hds/stepper/step/indicator.hbs","../../../../../src/components/hds/stepper/step/indicator.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class={{this.classNames}} ...attributes>\\n <div class=\\\"hds-stepper-indicator-step__svg-hexagon\\\">\\n <svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" aria-hidden=\\\"true\\\">\\n <path\\n d=\\\"m3.664 6.264 6.99-4.42a2.5 2.5 0 0 1 2.67-.002l7.01 4.422A2.5 2.5 0 0 1 21.5 8.38v7.242a2.5 2.5 0 0 1-1.166 2.115l-7.01 4.422a2.5 2.5 0 0 1-2.67-.002l-6.99-4.42A2.5 2.5 0 0 1 2.5 15.623V8.377a2.5 2.5 0 0 1 1.164-2.113Z\\\"\\n stroke-width=\\\"1\\\"\\n ></path>\\n </svg>\\n </div>\\n <div class=\\\"hds-stepper-indicator-step__status\\\">\\n {{#if (eq @status \\\"processing\\\")}}\\n <Hds::Icon class=\\\"hds-stepper-indicator-step__icon\\\" @name=\\\"loading\\\" @size=\\\"16\\\" />\\n {{else if (eq @status \\\"complete\\\")}}\\n <Hds::Icon class=\\\"hds-stepper-indicator-step__icon\\\" @name=\\\"check\\\" @size=\\\"16\\\" />\\n {{else}}\\n <Hds::Text::Body\\n class=\\\"hds-stepper-indicator-step__text\\\"\\n @tag=\\\"span\\\"\\n @size=\\\"100\\\"\\n @weight=\\\"medium\\\"\\n >{{@text}}</Hds::Text::Body>\\n {{/if}}\\n </div>\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport { HdsStepperStatusesValues } from '../types.ts';\nimport type { HdsStepperStatuses } from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: string[] = Object.values(HdsStepperStatusesValues);\n\nexport interface HdsStepperStepIndicatorSignature {\n Args: {\n status?: HdsStepperStatuses;\n isInteractive?: boolean;\n text?: string;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsStepperStepIndicator extends Component<HdsStepperStepIndicatorSignature> {\n /**\n * @param status\n * @type {string}\n * @default \"incomplete\"\n */\n\n get status(): HdsStepperStatuses {\n const { status = DEFAULT_STATUS } = this.args;\n\n assert(\n `@status for \"Hds::Stepper::Step::Indicator\" must be one of the following: ${STATUSES.join(\n ', '\n )}; received: ${status}`,\n STATUSES.includes(status)\n );\n\n return status;\n }\n\n /**\n * @param isInteractive\n * @type {boolean}\n * @default false\n */\n\n get isInteractive(): boolean {\n return this.args.isInteractive || false;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method IndicatorStep#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-stepper-indicator-step'];\n\n // Based on the @status arg\n classes.push(`hds-stepper-indicator-step--status-${this.status}`);\n\n if (this.isInteractive) {\n classes.push(`hds-stepper-indicator-step--is-interactive`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_STATUS","HdsStepperStatusesValues","Incomplete","STATUSES","Object","values","HdsStepperStepIndicator","Component","status","args","assert","join","includes","isInteractive","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,kqCAAkqC;;ACDpsC;AACA;AACA;AACA;;AAQaA,MAAAA,cAAc,GAAGC,wBAAwB,CAACC,WAAU;AAC1D,MAAMC,QAAkB,GAAGC,MAAM,CAACC,MAAM,CAACJ,wBAAwB,EAAC;AAW1D,MAAMK,uBAAuB,SAASC,SAAS,CAAmC;AAC/F;AACF;AACA;AACA;AACA;;EAEE,IAAIC,MAAMA,GAAuB;IAC/B,MAAM;AAAEA,MAAAA,MAAM,GAAGR,cAAAA;KAAgB,GAAG,IAAI,CAACS,IAAI,CAAA;AAE7CC,IAAAA,MAAM,CACJ,CAA6EP,0EAAAA,EAAAA,QAAQ,CAACQ,IAAI,CACxF,IACF,CAAC,CAAA,YAAA,EAAeH,MAAM,CAAA,CAAE,EACxBL,QAAQ,CAACS,QAAQ,CAACJ,MAAM,CAC1B,CAAC,CAAA;AAED,IAAA,OAAOA,MAAM,CAAA;AACf,GAAA;;AAEA;AACF;AACA;AACA;AACA;;EAEE,IAAIK,aAAaA,GAAY;AAC3B,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,aAAa,IAAI,KAAK,CAAA;AACzC,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,4BAA4B,CAAC,CAAA;;AAE9C;IACAA,OAAO,CAACC,IAAI,CAAC,CAAA,mCAAA,EAAsC,IAAI,CAACR,MAAM,EAAE,CAAC,CAAA;IAEjE,IAAI,IAAI,CAACK,aAAa,EAAE;AACtBE,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,0CAAA,CAA4C,CAAC,CAAA;AAC5D,KAAA;AAEA,IAAA,OAAOD,OAAO,CAACJ,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACM,oBAAA,CAAAC,QAAA,EA/CoBZ,uBAAuB,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indicator.js","sources":["../../../../../src/components/hds/stepper/task/indicator.hbs","../../../../../src/components/hds/stepper/task/indicator.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class={{this.classNames}} ...attributes>\\n <Hds::Icon class=\\\"hds-stepper-indicator-task__icon\\\" @name={{this.iconName}} @size=\\\"16\\\" />\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport {\n HdsStepperStatusesValues,\n HdsStepperStatusToIconsValues,\n} from '../types.ts';\nimport type { HdsIconSignature } from '../../icon';\nimport type { HdsStepperStatuses } from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: string[] = Object.values(HdsStepperStatusesValues);\n\nexport const MAPPING_STATUS_TO_ICONS = HdsStepperStatusToIconsValues;\n\
|
|
1
|
+
{"version":3,"file":"indicator.js","sources":["../../../../../src/components/hds/stepper/task/indicator.hbs","../../../../../src/components/hds/stepper/task/indicator.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<div class={{this.classNames}} ...attributes>\\n <Hds::Icon class=\\\"hds-stepper-indicator-task__icon\\\" @name={{this.iconName}} @size=\\\"16\\\" />\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nimport {\n HdsStepperStatusesValues,\n HdsStepperStatusToIconsValues,\n} from '../types.ts';\nimport type { HdsIconSignature } from '../../icon';\nimport type { HdsStepperStatuses } from '../types.ts';\n\nexport const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;\nexport const STATUSES: string[] = Object.values(HdsStepperStatusesValues);\n\nexport const MAPPING_STATUS_TO_ICONS = HdsStepperStatusToIconsValues;\n\nexport interface HdsStepperTaskIndicatorSignature {\n Args: {\n status?: HdsStepperStatuses;\n isInteractive?: boolean;\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsStepperTaskIndicator extends Component<HdsStepperTaskIndicatorSignature> {\n /**\n * @param status\n * @type {string}\n * @default \"incomplete\"\n */\n\n get status(): HdsStepperStatuses {\n const { status = DEFAULT_STATUS } = this.args;\n\n assert(\n `@status for \"Hds::Stepper::Task::Indicator\" must be one of the following: ${STATUSES.join(\n ', '\n )}; received: ${status}`,\n STATUSES.includes(status)\n );\n\n return status;\n }\n\n /**\n * @param isInteractive\n * @type {boolean}\n * @default false\n */\n\n get isInteractive(): boolean {\n return this.args.isInteractive || false;\n }\n\n /**\n * @param iconName\n * @type {string}\n */\n\n get iconName(): HdsIconSignature['Args']['name'] {\n return MAPPING_STATUS_TO_ICONS[this.status];\n }\n\n /**\n * Get the class names to apply to the component.\n * @method IndicatorTask#classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-stepper-indicator-task'];\n\n // Based on the @status arg\n classes.push(`hds-stepper-indicator-task--status-${this.status}`);\n\n if (this.isInteractive) {\n classes.push(`hds-stepper-indicator-task--is-interactive`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_STATUS","HdsStepperStatusesValues","Incomplete","STATUSES","Object","values","MAPPING_STATUS_TO_ICONS","HdsStepperStatusToIconsValues","HdsStepperTaskIndicator","Component","status","args","assert","join","includes","isInteractive","iconName","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,sOAAsO;;ACDxQ;AACA;AACA;AACA;;AAYaA,MAAAA,cAAc,GAAGC,wBAAwB,CAACC,WAAU;AAC1D,MAAMC,QAAkB,GAAGC,MAAM,CAACC,MAAM,CAACJ,wBAAwB,EAAC;AAElE,MAAMK,uBAAuB,GAAGC,8BAA6B;AAUrD,MAAMC,uBAAuB,SAASC,SAAS,CAAmC;AAC/F;AACF;AACA;AACA;AACA;;EAEE,IAAIC,MAAMA,GAAuB;IAC/B,MAAM;AAAEA,MAAAA,MAAM,GAAGV,cAAAA;KAAgB,GAAG,IAAI,CAACW,IAAI,CAAA;AAE7CC,IAAAA,MAAM,CACJ,CAA6ET,0EAAAA,EAAAA,QAAQ,CAACU,IAAI,CACxF,IACF,CAAC,CAAA,YAAA,EAAeH,MAAM,CAAA,CAAE,EACxBP,QAAQ,CAACW,QAAQ,CAACJ,MAAM,CAC1B,CAAC,CAAA;AAED,IAAA,OAAOA,MAAM,CAAA;AACf,GAAA;;AAEA;AACF;AACA;AACA;AACA;;EAEE,IAAIK,aAAaA,GAAY;AAC3B,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,aAAa,IAAI,KAAK,CAAA;AACzC,GAAA;;AAEA;AACF;AACA;AACA;;EAEE,IAAIC,QAAQA,GAAqC;AAC/C,IAAA,OAAOV,uBAAuB,CAAC,IAAI,CAACI,MAAM,CAAC,CAAA;AAC7C,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIO,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,4BAA4B,CAAC,CAAA;;AAE9C;IACAA,OAAO,CAACC,IAAI,CAAC,CAAA,mCAAA,EAAsC,IAAI,CAACT,MAAM,EAAE,CAAC,CAAA;IAEjE,IAAI,IAAI,CAACK,aAAa,EAAE;AACtBG,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,0CAAA,CAA4C,CAAC,CAAA;AAC5D,KAAA;AAEA,IAAA,OAAOD,OAAO,CAACL,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACO,oBAAA,CAAAC,QAAA,EAxDoBb,uBAAuB,CAAA;;;;"}
|
|
@@ -15,13 +15,15 @@ const DEFAULT_DENSITY = HdsTableDensityValues.Medium;
|
|
|
15
15
|
const VALIGNMENTS = Object.values(HdsTableVerticalAlignmentValues);
|
|
16
16
|
const DEFAULT_VALIGN = HdsTableVerticalAlignmentValues.Top;
|
|
17
17
|
let HdsTable = (_class = class HdsTable extends Component {
|
|
18
|
-
constructor(
|
|
19
|
-
super(
|
|
18
|
+
constructor(owner, args) {
|
|
19
|
+
super(owner, args);
|
|
20
20
|
_initializerDefineProperty(this, "sortBy", _descriptor, this);
|
|
21
21
|
_initializerDefineProperty(this, "sortOrder", _descriptor2, this);
|
|
22
22
|
_initializerDefineProperty(this, "selectAllCheckbox", _descriptor3, this);
|
|
23
23
|
_defineProperty(this, "selectableRows", []);
|
|
24
24
|
_initializerDefineProperty(this, "isSelectAllCheckboxSelected", _descriptor4, this);
|
|
25
|
+
this.sortBy = this.args.sortBy ?? undefined;
|
|
26
|
+
this.sortOrder = this.args.sortOrder ?? HdsTableThSortOrderValues.Asc;
|
|
25
27
|
}
|
|
26
28
|
get getSortCriteria() {
|
|
27
29
|
// get the current column
|
|
@@ -186,16 +188,12 @@ let HdsTable = (_class = class HdsTable extends Component {
|
|
|
186
188
|
configurable: true,
|
|
187
189
|
enumerable: true,
|
|
188
190
|
writable: true,
|
|
189
|
-
initializer:
|
|
190
|
-
return this.args.sortBy ?? undefined;
|
|
191
|
-
}
|
|
191
|
+
initializer: null
|
|
192
192
|
}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, "sortOrder", [tracked], {
|
|
193
193
|
configurable: true,
|
|
194
194
|
enumerable: true,
|
|
195
195
|
writable: true,
|
|
196
|
-
initializer:
|
|
197
|
-
return this.args.sortOrder || HdsTableThSortOrderValues.Asc;
|
|
198
|
-
}
|
|
196
|
+
initializer: null
|
|
199
197
|
}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, "selectAllCheckbox", [tracked], {
|
|
200
198
|
configurable: true,
|
|
201
199
|
enumerable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/table/index.hbs","../../../../src/components/hds/table/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\\n<table class={{this.classNames}} ...attributes>\\n {{#if @columns}}\\n <caption class=\\\"sr-only\\\" aria-live=\\\"polite\\\">{{@caption}} {{this.sortedMessageText}}</caption>\\n {{else if @caption}}\\n <caption class=\\\"sr-only\\\">{{@caption}}</caption>\\n {{/if}}\\n\\n <thead class=\\\"hds-table__thead\\\">\\n {{#if @columns}}\\n <Hds::Table::Tr\\n @selectionScope=\\\"col\\\"\\n @onClickSortBySelected={{if @selectableColumnKey (fn this.setSortBy @selectableColumnKey)}}\\n @sortBySelectedOrder={{if (eq this.sortBy @selectableColumnKey) this.sortOrder}}\\n @isSelectable={{@isSelectable}}\\n @onSelectionChange={{this.onSelectionAllChange}}\\n @didInsert={{this.didInsertSelectAllCheckbox}}\\n @willDestroy={{this.willDestroySelectAllCheckbox}}\\n @selectionAriaLabelSuffix=\\\"all rows\\\"\\n >\\n {{#each @columns as |column|}}\\n {{#if column.isSortable}}\\n <Hds::Table::ThSort\\n @sortOrder={{if (eq column.key this.sortBy) this.sortOrder}}\\n @onClickSort={{fn this.setSortBy column.key}}\\n @align={{column.align}}\\n @width={{column.width}}\\n @tooltip={{column.tooltip}}\\n >\\n {{column.label}}\\n </Hds::Table::ThSort>\\n {{else}}\\n <Hds::Table::Th\\n @align={{column.align}}\\n @width={{column.width}}\\n @tooltip={{column.tooltip}}\\n @isVisuallyHidden={{column.isVisuallyHidden}}\\n >{{column.label}}</Hds::Table::Th>\\n {{/if}}\\n {{/each}}\\n </Hds::Table::Tr>\\n {{else}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"col\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionAllChange\\n didInsert=this.didInsertSelectAllCheckbox\\n willDestroy=this.willDestroySelectAllCheckbox\\n selectionAriaLabelSuffix=\\\"all rows\\\"\\n onClickSortBySelected=(if @selectableColumnKey (fn this.setSortBy @selectableColumnKey))\\n sortBySelectedOrder=(if (eq this.sortBy @selectableColumnKey) this.sortOrder)\\n )\\n Th=(component \\\"hds/table/th\\\")\\n ThSort=(component \\\"hds/table/th-sort\\\")\\n sortBy=this.sortBy\\n sortOrder=this.sortOrder\\n setSortBy=this.setSortBy\\n )\\n to=\\\"head\\\"\\n }}\\n {{/if}}\\n </thead>\\n\\n <tbody class=\\\"hds-table__tbody\\\">\\n {{#if @columns}}\\n {{! ----------------------------------------------------------------------------------------\\n IMPORTANT: we loop on the `model` array and for each record\\n we yield the Tr/Td/Th elements _and_ the record itself as `data`\\n this means the consumer will *have to* use the `data` key to access it in their template\\n -------------------------------------------------------------------------------------------- }}\\n {{#each (sort-by this.getSortCriteria @model) key=this.identityKey as |record|}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"row\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionRowChange\\n didInsert=this.didInsertRowCheckbox\\n willDestroy=this.willDestroyRowCheckbox\\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\\n )\\n Th=(component \\\"hds/table/th\\\" scope=\\\"row\\\")\\n Td=(component \\\"hds/table/td\\\" align=@align)\\n data=record\\n )\\n to=\\\"body\\\"\\n }}\\n {{/each}}\\n {{else}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"row\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionRowChange\\n didInsert=this.didInsertRowCheckbox\\n willDestroy=this.willDestroyRowCheckbox\\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\\n )\\n Th=(component \\\"hds/table/th\\\" scope=\\\"row\\\")\\n Td=(component \\\"hds/table/td\\\" align=@align)\\n sortBy=this.sortBy\\n sortOrder=this.sortOrder\\n )\\n to=\\\"body\\\"\\n }}\\n {{/if}}\\n </tbody>\\n</table>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\nimport { tracked } from '@glimmer/tracking';\nimport type { ComponentLike } from '@glint/template';\n\nimport {\n HdsTableDensityValues,\n HdsTableThSortOrderValues,\n HdsTableVerticalAlignmentValues,\n} from './types.ts';\nimport type {\n HdsTableColumn,\n HdsTableDensities,\n HdsTableHorizontalAlignment,\n HdsTableOnSelectionChangeSignature,\n HdsTableSelectableRow,\n HdsTableSortingFunction,\n HdsTableThSortOrder,\n HdsTableVerticalAlignment,\n HdsTableModel,\n} from './types';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base';\nimport type { HdsTableTdSignature } from './td.ts';\nimport type { HdsTableThSignature } from './th.ts';\nimport type { HdsTableThSortSignature } from './th-sort.ts';\nimport type { HdsTableTrSignature } from './tr.ts';\n\nexport const DENSITIES: HdsTableDensities[] = Object.values(\n HdsTableDensityValues\n);\nexport const DEFAULT_DENSITY = HdsTableDensityValues.Medium;\n\nexport const VALIGNMENTS: HdsTableVerticalAlignment[] = Object.values(\n HdsTableVerticalAlignmentValues\n);\nexport const DEFAULT_VALIGN = HdsTableVerticalAlignmentValues.Top;\n\nexport interface HdsTableSignature {\n Args: {\n align?: HdsTableHorizontalAlignment;\n caption?: string;\n columns?: HdsTableColumn[];\n density?: HdsTableDensities;\n identityKey?: string;\n isFixedLayout?: boolean;\n isSelectable?: boolean;\n isStriped?: boolean;\n model?: HdsTableModel;\n onSelectionChange?: (selection: HdsTableOnSelectionChangeSignature) => void;\n onSort?: (sortBy: string, sortOrder: HdsTableThSortOrder) => void;\n selectionAriaLabelSuffix?: string;\n sortBy?: string;\n selectableColumnKey?: string;\n sortedMessageText?: string;\n sortOrder?: HdsTableThSortOrder;\n valign?: HdsTableVerticalAlignment;\n };\n Blocks: {\n head?: [\n {\n Tr?: ComponentLike<HdsTableTrSignature>;\n Th?: ComponentLike<HdsTableThSignature>;\n ThSort?: ComponentLike<HdsTableThSortSignature>;\n sortBy?: string;\n sortOrder?: HdsTableThSortOrder;\n setSortBy?: (column: string) => void;\n },\n ];\n body?: [\n {\n Td?: ComponentLike<HdsTableTdSignature>;\n Tr?: ComponentLike<HdsTableTrSignature>;\n Th?: ComponentLike<HdsTableThSignature>;\n data?: Record<string, unknown>;\n sortBy?: string;\n sortOrder?: HdsTableThSortOrder;\n },\n ];\n };\n Element: HTMLTableElement;\n}\n\nexport default class HdsTable extends Component<HdsTableSignature> {\n @tracked sortBy = this.args.sortBy ?? undefined;\n @tracked sortOrder = this.args.sortOrder || HdsTableThSortOrderValues.Asc;\n @tracked selectAllCheckbox?: HdsFormCheckboxBaseSignature['Element'] =\n undefined;\n selectableRows: HdsTableSelectableRow[] = [];\n @tracked isSelectAllCheckboxSelected?: boolean = undefined;\n\n get getSortCriteria(): string | HdsTableSortingFunction<unknown> {\n // get the current column\n const currentColumn = this.args?.columns?.find(\n (column) => column.key === this.sortBy\n );\n if (\n // check if there is a custom sorting function associated with the current `sortBy` column (we assume the column has `isSortable`)\n currentColumn?.sortingFunction &&\n typeof currentColumn.sortingFunction === 'function'\n ) {\n return currentColumn.sortingFunction;\n } else {\n // otherwise fallback to the default format \"sortBy:sortOrder\"\n return `${this.sortBy}:${this.sortOrder}`;\n }\n }\n\n get identityKey(): string | undefined {\n // we have to provide a way for the consumer to pass undefined because Ember tries to interpret undefined as missing an arg and therefore falls back to the default\n if (this.args.identityKey === 'none') {\n return undefined;\n } else {\n return this.args.identityKey ?? '@identity';\n }\n }\n\n get sortedMessageText(): string {\n if (this.args.sortedMessageText) {\n return this.args.sortedMessageText;\n } else if (this.sortBy && this.sortOrder) {\n // we should allow the user to define a custom value here (e.g., for i18n) - tracked with HDS-965\n return `Sorted by ${this.sortBy} ${this.sortOrder}ending`;\n } else {\n return '';\n }\n }\n\n get isStriped(): boolean {\n return this.args.isStriped ?? false;\n }\n\n get isFixedLayout(): boolean {\n return this.args.isFixedLayout ?? false;\n }\n\n get density(): HdsTableDensities {\n const { density = DEFAULT_DENSITY } = this.args;\n\n assert(\n `@density for \"Hds::Table\" must be one of the following: ${DENSITIES.join(\n ', '\n )}; received: ${density}`,\n DENSITIES.includes(density)\n );\n\n return density;\n }\n\n get valign(): HdsTableVerticalAlignment {\n const { valign = DEFAULT_VALIGN } = this.args;\n\n assert(\n `@valign for \"Hds::Table\" must be one of the following: ${VALIGNMENTS.join(\n ', '\n )}; received: ${valign}`,\n VALIGNMENTS.includes(valign)\n );\n\n return valign;\n }\n\n get classNames(): string {\n const classes = ['hds-table'];\n\n // add a class based on the @isStriped argument\n if (this.isStriped) {\n classes.push('hds-table--striped');\n }\n\n // add a class based on the @isFixedLayout argument\n if (this.isFixedLayout) {\n classes.push('hds-table--layout-fixed');\n }\n\n // add a class based on the @density argument\n if (this.density) {\n classes.push(`hds-table--density-${this.density}`);\n }\n\n // add a class based on the @valign argument\n if (this.valign) {\n classes.push(`hds-table--valign-${this.valign}`);\n }\n\n return classes.join(' ');\n }\n\n @action\n setSortBy(column: string): void {\n if (this.sortBy === column) {\n // check to see if the column is already sorted and invert the sort order if so\n this.sortOrder =\n this.sortOrder === HdsTableThSortOrderValues.Asc\n ? HdsTableThSortOrderValues.Desc\n : HdsTableThSortOrderValues.Asc;\n } else {\n // otherwise, set the sort order to ascending\n this.sortBy = column;\n this.sortOrder = HdsTableThSortOrderValues.Asc;\n }\n\n const { onSort } = this.args;\n\n if (typeof onSort === 'function') {\n onSort(this.sortBy, this.sortOrder);\n }\n }\n\n onSelectionChangeCallback(\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n const { onSelectionChange } = this.args;\n if (typeof onSelectionChange === 'function') {\n onSelectionChange({\n selectionKey: selectionKey,\n selectionCheckboxElement: checkbox,\n selectedRowsKeys: this.selectableRows.reduce<string[]>((acc, row) => {\n if (row.checkbox.checked) {\n acc.push(row.selectionKey);\n }\n return acc;\n }, []),\n selectableRowsStates: this.selectableRows.reduce(\n (\n acc: { selectionKey: string; isSelected: boolean | undefined }[],\n row\n ) => {\n acc.push({\n selectionKey: row.selectionKey,\n isSelected: row.checkbox.checked,\n });\n return acc;\n },\n []\n ),\n });\n }\n }\n\n @action\n onSelectionAllChange(): void {\n this.selectableRows.forEach((row) => {\n row.checkbox.checked = this.selectAllCheckbox?.checked ?? false;\n row.checkbox.dispatchEvent(new Event('toggle', { bubbles: false }));\n });\n this.isSelectAllCheckboxSelected = this.selectAllCheckbox?.checked ?? false;\n this.onSelectionChangeCallback(this.selectAllCheckbox, 'all');\n }\n\n @action\n onSelectionRowChange(\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n this.setSelectAllState();\n this.onSelectionChangeCallback(checkbox, selectionKey);\n }\n\n @action\n didInsertSelectAllCheckbox(\n checkbox: HdsFormCheckboxBaseSignature['Element']\n ): void {\n this.selectAllCheckbox = checkbox;\n }\n\n @action\n willDestroySelectAllCheckbox(): void {\n this.selectAllCheckbox = undefined;\n }\n\n @action\n didInsertRowCheckbox(\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n if (selectionKey) {\n this.selectableRows.push({ selectionKey, checkbox });\n }\n this.setSelectAllState();\n }\n\n @action\n willDestroyRowCheckbox(selectionKey?: string): void {\n this.selectableRows = this.selectableRows.filter(\n (row) => row.selectionKey !== selectionKey\n );\n this.setSelectAllState();\n }\n\n @action\n setSelectAllState(): void {\n if (this.selectAllCheckbox) {\n const selectableRowsCount = this.selectableRows.length;\n const selectedRowsCount = this.selectableRows.filter(\n (row) => row.checkbox.checked\n ).length;\n\n this.selectAllCheckbox.checked =\n selectedRowsCount === selectableRowsCount;\n this.selectAllCheckbox.indeterminate =\n selectedRowsCount > 0 && selectedRowsCount < selectableRowsCount;\n this.isSelectAllCheckboxSelected = this.selectAllCheckbox.checked;\n this.selectAllCheckbox.dispatchEvent(\n new Event('toggle', { bubbles: false })\n );\n }\n }\n}\n"],"names":["DENSITIES","Object","values","HdsTableDensityValues","DEFAULT_DENSITY","Medium","VALIGNMENTS","HdsTableVerticalAlignmentValues","DEFAULT_VALIGN","Top","HdsTable","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_defineProperty","_descriptor4","getSortCriteria","currentColumn","columns","find","column","key","sortBy","sortingFunction","sortOrder","identityKey","undefined","sortedMessageText","isStriped","isFixedLayout","density","assert","join","includes","valign","classNames","classes","push","setSortBy","HdsTableThSortOrderValues","Asc","Desc","onSort","onSelectionChangeCallback","checkbox","selectionKey","onSelectionChange","selectionCheckboxElement","selectedRowsKeys","selectableRows","reduce","acc","row","checked","selectableRowsStates","isSelected","onSelectionAllChange","forEach","selectAllCheckbox","dispatchEvent","Event","bubbles","isSelectAllCheckboxSelected","onSelectionRowChange","setSelectAllState","didInsertSelectAllCheckbox","willDestroySelectAllCheckbox","didInsertRowCheckbox","willDestroyRowCheckbox","filter","selectableRowsCount","length","selectedRowsCount","indeterminate","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/table/index.hbs","../../../../src/components/hds/table/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\\n<table class={{this.classNames}} ...attributes>\\n {{#if @columns}}\\n <caption class=\\\"sr-only\\\" aria-live=\\\"polite\\\">{{@caption}} {{this.sortedMessageText}}</caption>\\n {{else if @caption}}\\n <caption class=\\\"sr-only\\\">{{@caption}}</caption>\\n {{/if}}\\n\\n <thead class=\\\"hds-table__thead\\\">\\n {{#if @columns}}\\n <Hds::Table::Tr\\n @selectionScope=\\\"col\\\"\\n @onClickSortBySelected={{if @selectableColumnKey (fn this.setSortBy @selectableColumnKey)}}\\n @sortBySelectedOrder={{if (eq this.sortBy @selectableColumnKey) this.sortOrder}}\\n @isSelectable={{@isSelectable}}\\n @onSelectionChange={{this.onSelectionAllChange}}\\n @didInsert={{this.didInsertSelectAllCheckbox}}\\n @willDestroy={{this.willDestroySelectAllCheckbox}}\\n @selectionAriaLabelSuffix=\\\"all rows\\\"\\n >\\n {{#each @columns as |column|}}\\n {{#if column.isSortable}}\\n <Hds::Table::ThSort\\n @sortOrder={{if (eq column.key this.sortBy) this.sortOrder}}\\n @onClickSort={{fn this.setSortBy column.key}}\\n @align={{column.align}}\\n @width={{column.width}}\\n @tooltip={{column.tooltip}}\\n >\\n {{column.label}}\\n </Hds::Table::ThSort>\\n {{else}}\\n <Hds::Table::Th\\n @align={{column.align}}\\n @width={{column.width}}\\n @tooltip={{column.tooltip}}\\n @isVisuallyHidden={{column.isVisuallyHidden}}\\n >{{column.label}}</Hds::Table::Th>\\n {{/if}}\\n {{/each}}\\n </Hds::Table::Tr>\\n {{else}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"col\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionAllChange\\n didInsert=this.didInsertSelectAllCheckbox\\n willDestroy=this.willDestroySelectAllCheckbox\\n selectionAriaLabelSuffix=\\\"all rows\\\"\\n onClickSortBySelected=(if @selectableColumnKey (fn this.setSortBy @selectableColumnKey))\\n sortBySelectedOrder=(if (eq this.sortBy @selectableColumnKey) this.sortOrder)\\n )\\n Th=(component \\\"hds/table/th\\\")\\n ThSort=(component \\\"hds/table/th-sort\\\")\\n sortBy=this.sortBy\\n sortOrder=this.sortOrder\\n setSortBy=this.setSortBy\\n )\\n to=\\\"head\\\"\\n }}\\n {{/if}}\\n </thead>\\n\\n <tbody class=\\\"hds-table__tbody\\\">\\n {{#if @columns}}\\n {{! ----------------------------------------------------------------------------------------\\n IMPORTANT: we loop on the `model` array and for each record\\n we yield the Tr/Td/Th elements _and_ the record itself as `data`\\n this means the consumer will *have to* use the `data` key to access it in their template\\n -------------------------------------------------------------------------------------------- }}\\n {{#each (sort-by this.getSortCriteria @model) key=this.identityKey as |record|}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"row\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionRowChange\\n didInsert=this.didInsertRowCheckbox\\n willDestroy=this.willDestroyRowCheckbox\\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\\n )\\n Th=(component \\\"hds/table/th\\\" scope=\\\"row\\\")\\n Td=(component \\\"hds/table/td\\\" align=@align)\\n data=record\\n )\\n to=\\\"body\\\"\\n }}\\n {{/each}}\\n {{else}}\\n {{yield\\n (hash\\n Tr=(component\\n \\\"hds/table/tr\\\"\\n selectionScope=\\\"row\\\"\\n isSelectable=@isSelectable\\n onSelectionChange=this.onSelectionRowChange\\n didInsert=this.didInsertRowCheckbox\\n willDestroy=this.willDestroyRowCheckbox\\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\\n )\\n Th=(component \\\"hds/table/th\\\" scope=\\\"row\\\")\\n Td=(component \\\"hds/table/td\\\" align=@align)\\n sortBy=this.sortBy\\n sortOrder=this.sortOrder\\n )\\n to=\\\"body\\\"\\n }}\\n {{/if}}\\n </tbody>\\n</table>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\nimport { tracked } from '@glimmer/tracking';\nimport type { ComponentLike } from '@glint/template';\n\nimport {\n HdsTableDensityValues,\n HdsTableThSortOrderValues,\n HdsTableVerticalAlignmentValues,\n} from './types.ts';\nimport type {\n HdsTableColumn,\n HdsTableDensities,\n HdsTableHorizontalAlignment,\n HdsTableOnSelectionChangeSignature,\n HdsTableSelectableRow,\n HdsTableSortingFunction,\n HdsTableThSortOrder,\n HdsTableVerticalAlignment,\n HdsTableModel,\n} from './types';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base';\nimport type { HdsTableTdSignature } from './td.ts';\nimport type { HdsTableThSignature } from './th.ts';\nimport type { HdsTableThSortSignature } from './th-sort.ts';\nimport type { HdsTableTrSignature } from './tr.ts';\n\nexport const DENSITIES: HdsTableDensities[] = Object.values(\n HdsTableDensityValues\n);\nexport const DEFAULT_DENSITY = HdsTableDensityValues.Medium;\n\nexport const VALIGNMENTS: HdsTableVerticalAlignment[] = Object.values(\n HdsTableVerticalAlignmentValues\n);\nexport const DEFAULT_VALIGN = HdsTableVerticalAlignmentValues.Top;\n\nexport interface HdsTableSignature {\n Args: {\n align?: HdsTableHorizontalAlignment;\n caption?: string;\n columns?: HdsTableColumn[];\n density?: HdsTableDensities;\n identityKey?: string;\n isFixedLayout?: boolean;\n isSelectable?: boolean;\n isStriped?: boolean;\n model?: HdsTableModel;\n onSelectionChange?: (selection: HdsTableOnSelectionChangeSignature) => void;\n onSort?: (sortBy: string, sortOrder: HdsTableThSortOrder) => void;\n selectionAriaLabelSuffix?: string;\n sortBy?: string;\n selectableColumnKey?: string;\n sortedMessageText?: string;\n sortOrder?: HdsTableThSortOrder;\n valign?: HdsTableVerticalAlignment;\n };\n Blocks: {\n head?: [\n {\n Tr?: ComponentLike<HdsTableTrSignature>;\n Th?: ComponentLike<HdsTableThSignature>;\n ThSort?: ComponentLike<HdsTableThSortSignature>;\n sortBy?: string;\n sortOrder?: HdsTableThSortOrder;\n setSortBy?: (column: string) => void;\n },\n ];\n body?: [\n {\n Td?: ComponentLike<HdsTableTdSignature>;\n Tr?: ComponentLike<HdsTableTrSignature>;\n Th?: ComponentLike<HdsTableThSignature>;\n data?: Record<string, unknown>;\n sortBy?: string;\n sortOrder?: HdsTableThSortOrder;\n },\n ];\n };\n Element: HTMLTableElement;\n}\n\nexport default class HdsTable extends Component<HdsTableSignature> {\n @tracked sortBy;\n @tracked sortOrder;\n @tracked selectAllCheckbox?: HdsFormCheckboxBaseSignature['Element'] =\n undefined;\n selectableRows: HdsTableSelectableRow[] = [];\n @tracked isSelectAllCheckboxSelected?: boolean = undefined;\n\n constructor(owner: unknown, args: HdsTableSignature['Args']) {\n super(owner, args);\n this.sortBy = this.args.sortBy ?? undefined;\n this.sortOrder = this.args.sortOrder ?? HdsTableThSortOrderValues.Asc;\n }\n\n get getSortCriteria(): string | HdsTableSortingFunction<unknown> {\n // get the current column\n const currentColumn = this.args?.columns?.find(\n (column) => column.key === this.sortBy\n );\n if (\n // check if there is a custom sorting function associated with the current `sortBy` column (we assume the column has `isSortable`)\n currentColumn?.sortingFunction &&\n typeof currentColumn.sortingFunction === 'function'\n ) {\n return currentColumn.sortingFunction;\n } else {\n // otherwise fallback to the default format \"sortBy:sortOrder\"\n return `${this.sortBy}:${this.sortOrder}`;\n }\n }\n\n get identityKey(): string | undefined {\n // we have to provide a way for the consumer to pass undefined because Ember tries to interpret undefined as missing an arg and therefore falls back to the default\n if (this.args.identityKey === 'none') {\n return undefined;\n } else {\n return this.args.identityKey ?? '@identity';\n }\n }\n\n get sortedMessageText(): string {\n if (this.args.sortedMessageText) {\n return this.args.sortedMessageText;\n } else if (this.sortBy && this.sortOrder) {\n // we should allow the user to define a custom value here (e.g., for i18n) - tracked with HDS-965\n return `Sorted by ${this.sortBy} ${this.sortOrder}ending`;\n } else {\n return '';\n }\n }\n\n get isStriped(): boolean {\n return this.args.isStriped ?? false;\n }\n\n get isFixedLayout(): boolean {\n return this.args.isFixedLayout ?? false;\n }\n\n get density(): HdsTableDensities {\n const { density = DEFAULT_DENSITY } = this.args;\n\n assert(\n `@density for \"Hds::Table\" must be one of the following: ${DENSITIES.join(\n ', '\n )}; received: ${density}`,\n DENSITIES.includes(density)\n );\n\n return density;\n }\n\n get valign(): HdsTableVerticalAlignment {\n const { valign = DEFAULT_VALIGN } = this.args;\n\n assert(\n `@valign for \"Hds::Table\" must be one of the following: ${VALIGNMENTS.join(\n ', '\n )}; received: ${valign}`,\n VALIGNMENTS.includes(valign)\n );\n\n return valign;\n }\n\n get classNames(): string {\n const classes = ['hds-table'];\n\n // add a class based on the @isStriped argument\n if (this.isStriped) {\n classes.push('hds-table--striped');\n }\n\n // add a class based on the @isFixedLayout argument\n if (this.isFixedLayout) {\n classes.push('hds-table--layout-fixed');\n }\n\n // add a class based on the @density argument\n if (this.density) {\n classes.push(`hds-table--density-${this.density}`);\n }\n\n // add a class based on the @valign argument\n if (this.valign) {\n classes.push(`hds-table--valign-${this.valign}`);\n }\n\n return classes.join(' ');\n }\n\n @action\n setSortBy(column: string): void {\n if (this.sortBy === column) {\n // check to see if the column is already sorted and invert the sort order if so\n this.sortOrder =\n this.sortOrder === HdsTableThSortOrderValues.Asc\n ? HdsTableThSortOrderValues.Desc\n : HdsTableThSortOrderValues.Asc;\n } else {\n // otherwise, set the sort order to ascending\n this.sortBy = column;\n this.sortOrder = HdsTableThSortOrderValues.Asc;\n }\n\n const { onSort } = this.args;\n\n if (typeof onSort === 'function') {\n onSort(this.sortBy, this.sortOrder);\n }\n }\n\n onSelectionChangeCallback(\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n const { onSelectionChange } = this.args;\n if (typeof onSelectionChange === 'function') {\n onSelectionChange({\n selectionKey: selectionKey,\n selectionCheckboxElement: checkbox,\n selectedRowsKeys: this.selectableRows.reduce<string[]>((acc, row) => {\n if (row.checkbox.checked) {\n acc.push(row.selectionKey);\n }\n return acc;\n }, []),\n selectableRowsStates: this.selectableRows.reduce(\n (\n acc: { selectionKey: string; isSelected: boolean | undefined }[],\n row\n ) => {\n acc.push({\n selectionKey: row.selectionKey,\n isSelected: row.checkbox.checked,\n });\n return acc;\n },\n []\n ),\n });\n }\n }\n\n @action\n onSelectionAllChange(): void {\n this.selectableRows.forEach((row) => {\n row.checkbox.checked = this.selectAllCheckbox?.checked ?? false;\n row.checkbox.dispatchEvent(new Event('toggle', { bubbles: false }));\n });\n this.isSelectAllCheckboxSelected = this.selectAllCheckbox?.checked ?? false;\n this.onSelectionChangeCallback(this.selectAllCheckbox, 'all');\n }\n\n @action\n onSelectionRowChange(\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n this.setSelectAllState();\n this.onSelectionChangeCallback(checkbox, selectionKey);\n }\n\n @action\n didInsertSelectAllCheckbox(\n checkbox: HdsFormCheckboxBaseSignature['Element']\n ): void {\n this.selectAllCheckbox = checkbox;\n }\n\n @action\n willDestroySelectAllCheckbox(): void {\n this.selectAllCheckbox = undefined;\n }\n\n @action\n didInsertRowCheckbox(\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n if (selectionKey) {\n this.selectableRows.push({ selectionKey, checkbox });\n }\n this.setSelectAllState();\n }\n\n @action\n willDestroyRowCheckbox(selectionKey?: string): void {\n this.selectableRows = this.selectableRows.filter(\n (row) => row.selectionKey !== selectionKey\n );\n this.setSelectAllState();\n }\n\n @action\n setSelectAllState(): void {\n if (this.selectAllCheckbox) {\n const selectableRowsCount = this.selectableRows.length;\n const selectedRowsCount = this.selectableRows.filter(\n (row) => row.checkbox.checked\n ).length;\n\n this.selectAllCheckbox.checked =\n selectedRowsCount === selectableRowsCount;\n this.selectAllCheckbox.indeterminate =\n selectedRowsCount > 0 && selectedRowsCount < selectableRowsCount;\n this.isSelectAllCheckboxSelected = this.selectAllCheckbox.checked;\n this.selectAllCheckbox.dispatchEvent(\n new Event('toggle', { bubbles: false })\n );\n }\n }\n}\n"],"names":["DENSITIES","Object","values","HdsTableDensityValues","DEFAULT_DENSITY","Medium","VALIGNMENTS","HdsTableVerticalAlignmentValues","DEFAULT_VALIGN","Top","HdsTable","_class","Component","constructor","owner","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_defineProperty","_descriptor4","sortBy","undefined","sortOrder","HdsTableThSortOrderValues","Asc","getSortCriteria","currentColumn","columns","find","column","key","sortingFunction","identityKey","sortedMessageText","isStriped","isFixedLayout","density","assert","join","includes","valign","classNames","classes","push","setSortBy","Desc","onSort","onSelectionChangeCallback","checkbox","selectionKey","onSelectionChange","selectionCheckboxElement","selectedRowsKeys","selectableRows","reduce","acc","row","checked","selectableRowsStates","isSelected","onSelectionAllChange","forEach","selectAllCheckbox","dispatchEvent","Event","bubbles","isSelectAllCheckboxSelected","onSelectionRowChange","setSelectAllState","didInsertSelectAllCheckbox","willDestroySelectAllCheckbox","didInsertRowCheckbox","willDestroyRowCheckbox","filter","selectableRowsCount","length","selectedRowsCount","indeterminate","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
@@ -11,12 +11,13 @@ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-
|
|
|
11
11
|
|
|
12
12
|
var _class, _descriptor;
|
|
13
13
|
let HdsTableThSelectable = (_class = class HdsTableThSelectable extends Component {
|
|
14
|
-
constructor(
|
|
15
|
-
super(
|
|
14
|
+
constructor(owner, args) {
|
|
15
|
+
super(owner, args);
|
|
16
16
|
_initializerDefineProperty(this, "isSelected", _descriptor, this);
|
|
17
17
|
_defineProperty(this, "guid", guidFor(this));
|
|
18
18
|
_defineProperty(this, "checkboxId", `checkbox-${this.guid}`);
|
|
19
19
|
_defineProperty(this, "labelId", `label-${this.guid}`);
|
|
20
|
+
this.isSelected = this.args.isSelected ?? false;
|
|
20
21
|
}
|
|
21
22
|
get isSortable() {
|
|
22
23
|
return this.args.onClickSortBySelected !== undefined;
|
|
@@ -87,9 +88,7 @@ let HdsTableThSelectable = (_class = class HdsTableThSelectable extends Componen
|
|
|
87
88
|
configurable: true,
|
|
88
89
|
enumerable: true,
|
|
89
90
|
writable: true,
|
|
90
|
-
initializer:
|
|
91
|
-
return this.args.isSelected ?? false;
|
|
92
|
-
}
|
|
91
|
+
initializer: null
|
|
93
92
|
}), _applyDecoratedDescriptor(_class.prototype, "didInsert", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsert"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "willDestroyNode", [action], Object.getOwnPropertyDescriptor(_class.prototype, "willDestroyNode"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onSelectionChange", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onSelectionChange"), _class.prototype)), _class);
|
|
94
93
|
setComponentTemplate(TEMPLATE, HdsTableThSelectable);
|
|
95
94
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"th-selectable.js","sources":["../../../../src/components/hds/table/th-selectable.hbs","../../../../src/components/hds/table/th-selectable.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<Hds::Table::Th\\n class=\\\"hds-table__th--is-selectable\\\"\\n aria-sort={{if this.isSortable this.ariaSort}}\\n @scope={{@selectionScope}}\\n ...attributes\\n>\\n <div class=\\\"hds-table__th-content\\\">\\n <Hds::Form::Checkbox::Base\\n id={{this.checkboxId}}\\n class=\\\"hds-table__checkbox\\\"\\n checked={{@isSelected}}\\n aria-label={{this.ariaLabel}}\\n {{did-insert this.didInsert}}\\n {{will-destroy this.willDestroyNode}}\\n {{on \\\"change\\\" this.onSelectionChange}}\\n />\\n {{#if this.isSortable}}\\n <span id={{this.labelId}} class=\\\"sr-only\\\">selection state</span>\\n <Hds::Table::ThButtonSort\\n @sortOrder={{@sortBySelectedOrder}}\\n @onClick={{@onClickSortBySelected}}\\n @labelId={{this.labelId}}\\n />\\n {{/if}}\\n </div>\\n</Hds::Table::Th>\")","/**\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 { guidFor } from '@ember/object/internals';\nimport { tracked } from '@glimmer/tracking';\nimport {\n HdsTableThSortOrderValues,\n HdsTableThSortOrderLabelValues,\n} from './types.ts';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base';\nimport type {\n HdsTableScope,\n HdsTableThSortOrder,\n HdsTableThSortOrderLabels,\n} from './types';\nimport type { HdsTableThSignature } from './th';\n\nexport interface HdsTableThSelectableSignature {\n Args: {\n didInsert?: (\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ) => void;\n isSelected?: boolean;\n onClickSortBySelected?: () => void;\n onSelectionChange?: (\n target: HdsFormCheckboxBaseSignature['Element'],\n selectionKey: string | undefined\n ) => void;\n selectionAriaLabelSuffix?: string;\n selectionKey?: string;\n selectionScope?: HdsTableScope;\n sortBySelectedOrder?: HdsTableThSortOrder;\n willDestroy?: (selectionKey?: string) => void;\n };\n Element: HdsTableThSignature['Element'];\n}\n\nexport default class HdsTableThSelectable extends Component<HdsTableThSelectableSignature> {\n @tracked isSelected
|
|
1
|
+
{"version":3,"file":"th-selectable.js","sources":["../../../../src/components/hds/table/th-selectable.hbs","../../../../src/components/hds/table/th-selectable.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<Hds::Table::Th\\n class=\\\"hds-table__th--is-selectable\\\"\\n aria-sort={{if this.isSortable this.ariaSort}}\\n @scope={{@selectionScope}}\\n ...attributes\\n>\\n <div class=\\\"hds-table__th-content\\\">\\n <Hds::Form::Checkbox::Base\\n id={{this.checkboxId}}\\n class=\\\"hds-table__checkbox\\\"\\n checked={{@isSelected}}\\n aria-label={{this.ariaLabel}}\\n {{did-insert this.didInsert}}\\n {{will-destroy this.willDestroyNode}}\\n {{on \\\"change\\\" this.onSelectionChange}}\\n />\\n {{#if this.isSortable}}\\n <span id={{this.labelId}} class=\\\"sr-only\\\">selection state</span>\\n <Hds::Table::ThButtonSort\\n @sortOrder={{@sortBySelectedOrder}}\\n @onClick={{@onClickSortBySelected}}\\n @labelId={{this.labelId}}\\n />\\n {{/if}}\\n </div>\\n</Hds::Table::Th>\")","/**\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 { guidFor } from '@ember/object/internals';\nimport { tracked } from '@glimmer/tracking';\nimport {\n HdsTableThSortOrderValues,\n HdsTableThSortOrderLabelValues,\n} from './types.ts';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base';\nimport type {\n HdsTableScope,\n HdsTableThSortOrder,\n HdsTableThSortOrderLabels,\n} from './types';\nimport type { HdsTableThSignature } from './th';\n\nexport interface HdsTableThSelectableSignature {\n Args: {\n didInsert?: (\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ) => void;\n isSelected?: boolean;\n onClickSortBySelected?: () => void;\n onSelectionChange?: (\n target: HdsFormCheckboxBaseSignature['Element'],\n selectionKey: string | undefined\n ) => void;\n selectionAriaLabelSuffix?: string;\n selectionKey?: string;\n selectionScope?: HdsTableScope;\n sortBySelectedOrder?: HdsTableThSortOrder;\n willDestroy?: (selectionKey?: string) => void;\n };\n Element: HdsTableThSignature['Element'];\n}\n\nexport default class HdsTableThSelectable extends Component<HdsTableThSelectableSignature> {\n @tracked isSelected: boolean;\n guid = guidFor(this);\n\n checkboxId = `checkbox-${this.guid}`;\n labelId = `label-${this.guid}`;\n\n constructor(owner: unknown, args: HdsTableThSelectableSignature['Args']) {\n super(owner, args);\n this.isSelected = this.args.isSelected ?? false;\n }\n\n get isSortable(): boolean {\n return this.args.onClickSortBySelected !== undefined;\n }\n\n get ariaLabel(): string {\n const { selectionAriaLabelSuffix } = this.args;\n const prefix = this.isSelected ? 'Deselect' : 'Select';\n if (selectionAriaLabelSuffix) {\n return `${prefix} ${selectionAriaLabelSuffix}`;\n } else {\n return prefix;\n }\n }\n\n get ariaSort(): HdsTableThSortOrderLabels | undefined {\n switch (this.args.sortBySelectedOrder) {\n case HdsTableThSortOrderValues.Asc:\n return HdsTableThSortOrderLabelValues.Asc;\n case HdsTableThSortOrderValues.Desc:\n return HdsTableThSortOrderLabelValues.Desc;\n default:\n // none is the default per the spec.\n return HdsTableThSortOrderLabelValues.None;\n }\n }\n\n @action\n didInsert(checkbox: HdsFormCheckboxBaseSignature['Element']): void {\n const { didInsert } = this.args;\n if (typeof didInsert === 'function') {\n didInsert(checkbox, this.args.selectionKey);\n // we need to use a custom event listener here because changing the `checked` value via JS\n // (and this happens with the \"select all\") doesn't trigger the `change` event\n // and consequently the `aria-label` won't be automatically updated (and so we have to force it)\n checkbox.addEventListener(\n 'toggle',\n this.updateAriaLabel.bind(this),\n true\n );\n }\n }\n\n @action\n willDestroyNode(checkbox: HdsFormCheckboxBaseSignature['Element']): void {\n super.willDestroy();\n const { willDestroy } = this.args;\n if (typeof willDestroy === 'function') {\n willDestroy(this.args.selectionKey);\n if (checkbox) {\n checkbox.removeEventListener(\n 'toggle',\n this.updateAriaLabel.bind(this),\n true\n );\n }\n }\n }\n\n @action\n onSelectionChange(event: Event): void {\n // Assert event.target as HdsFormCheckboxBaseSignature['Element'] to access the 'checked' property\n const target = event.target as HdsFormCheckboxBaseSignature['Element'];\n this.isSelected = target.checked;\n const { onSelectionChange } = this.args;\n if (typeof onSelectionChange === 'function') {\n onSelectionChange(target, this.args.selectionKey);\n }\n }\n\n updateAriaLabel(event: Event): void {\n // Assert event.target as HTMLInputElement to access the 'checked' property\n const target = event.target as HdsFormCheckboxBaseSignature['Element'];\n this.isSelected = target.checked;\n }\n}\n"],"names":["HdsTableThSelectable","_class","Component","constructor","owner","args","_initializerDefineProperty","_descriptor","_defineProperty","guidFor","guid","isSelected","isSortable","onClickSortBySelected","undefined","ariaLabel","selectionAriaLabelSuffix","prefix","ariaSort","sortBySelectedOrder","HdsTableThSortOrderValues","Asc","HdsTableThSortOrderLabelValues","Desc","None","didInsert","checkbox","selectionKey","addEventListener","updateAriaLabel","bind","willDestroyNode","willDestroy","removeEventListener","onSelectionChange","event","target","checked","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;;AACA,eAAe,kBAAkB,CAAC,k4BAAk4B;;;ACyC/4BA,IAAAA,oBAAoB,IAAAC,MAAA,GAA1B,MAAMD,oBAAoB,SAASE,SAAS,CAAgC;AAOzFC,EAAAA,WAAWA,CAACC,KAAc,EAAEC,IAA2C,EAAE;AACvE,IAAA,KAAK,CAACD,KAAK,EAAEC,IAAI,CAAC,CAAA;AAACC,IAAAA,0BAAA,qBAAAC,WAAA,EAAA,IAAA,CAAA,CAAA;AAAAC,IAAAA,eAAA,CANdC,IAAAA,EAAAA,MAAAA,EAAAA,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAAD,IAAAA,eAAA,CAEP,IAAA,EAAA,YAAA,EAAA,CAAA,SAAA,EAAY,IAAI,CAACE,IAAI,CAAE,CAAA,CAAA,CAAA;AAAAF,IAAAA,eAAA,CAC1B,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,EAAS,IAAI,CAACE,IAAI,CAAE,CAAA,CAAA,CAAA;IAI5B,IAAI,CAACC,UAAU,GAAG,IAAI,CAACN,IAAI,CAACM,UAAU,IAAI,KAAK,CAAA;AACjD,GAAA;EAEA,IAAIC,UAAUA,GAAY;AACxB,IAAA,OAAO,IAAI,CAACP,IAAI,CAACQ,qBAAqB,KAAKC,SAAS,CAAA;AACtD,GAAA;EAEA,IAAIC,SAASA,GAAW;IACtB,MAAM;AAAEC,MAAAA,wBAAAA;KAA0B,GAAG,IAAI,CAACX,IAAI,CAAA;IAC9C,MAAMY,MAAM,GAAG,IAAI,CAACN,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAA;AACtD,IAAA,IAAIK,wBAAwB,EAAE;AAC5B,MAAA,OAAO,CAAGC,EAAAA,MAAM,CAAID,CAAAA,EAAAA,wBAAwB,CAAE,CAAA,CAAA;AAChD,KAAC,MAAM;AACL,MAAA,OAAOC,MAAM,CAAA;AACf,KAAA;AACF,GAAA;EAEA,IAAIC,QAAQA,GAA0C;AACpD,IAAA,QAAQ,IAAI,CAACb,IAAI,CAACc,mBAAmB;MACnC,KAAKC,yBAAyB,CAACC,GAAG;QAChC,OAAOC,8BAA8B,CAACD,GAAG,CAAA;MAC3C,KAAKD,yBAAyB,CAACG,IAAI;QACjC,OAAOD,8BAA8B,CAACC,IAAI,CAAA;AAC5C,MAAA;AACE;QACA,OAAOD,8BAA8B,CAACE,IAAI,CAAA;AAC9C,KAAA;AACF,GAAA;EAGAC,SAASA,CAACC,QAAiD,EAAQ;IACjE,MAAM;AAAED,MAAAA,SAAAA;KAAW,GAAG,IAAI,CAACpB,IAAI,CAAA;AAC/B,IAAA,IAAI,OAAOoB,SAAS,KAAK,UAAU,EAAE;MACnCA,SAAS,CAACC,QAAQ,EAAE,IAAI,CAACrB,IAAI,CAACsB,YAAY,CAAC,CAAA;AAC3C;AACA;AACA;AACAD,MAAAA,QAAQ,CAACE,gBAAgB,CACvB,QAAQ,EACR,IAAI,CAACC,eAAe,CAACC,IAAI,CAAC,IAAI,CAAC,EAC/B,IACF,CAAC,CAAA;AACH,KAAA;AACF,GAAA;EAGAC,eAAeA,CAACL,QAAiD,EAAQ;IACvE,KAAK,CAACM,WAAW,EAAE,CAAA;IACnB,MAAM;AAAEA,MAAAA,WAAAA;KAAa,GAAG,IAAI,CAAC3B,IAAI,CAAA;AACjC,IAAA,IAAI,OAAO2B,WAAW,KAAK,UAAU,EAAE;AACrCA,MAAAA,WAAW,CAAC,IAAI,CAAC3B,IAAI,CAACsB,YAAY,CAAC,CAAA;AACnC,MAAA,IAAID,QAAQ,EAAE;AACZA,QAAAA,QAAQ,CAACO,mBAAmB,CAC1B,QAAQ,EACR,IAAI,CAACJ,eAAe,CAACC,IAAI,CAAC,IAAI,CAAC,EAC/B,IACF,CAAC,CAAA;AACH,OAAA;AACF,KAAA;AACF,GAAA;EAGAI,iBAAiBA,CAACC,KAAY,EAAQ;AACpC;AACA,IAAA,MAAMC,MAAM,GAAGD,KAAK,CAACC,MAAiD,CAAA;AACtE,IAAA,IAAI,CAACzB,UAAU,GAAGyB,MAAM,CAACC,OAAO,CAAA;IAChC,MAAM;AAAEH,MAAAA,iBAAAA;KAAmB,GAAG,IAAI,CAAC7B,IAAI,CAAA;AACvC,IAAA,IAAI,OAAO6B,iBAAiB,KAAK,UAAU,EAAE;MAC3CA,iBAAiB,CAACE,MAAM,EAAE,IAAI,CAAC/B,IAAI,CAACsB,YAAY,CAAC,CAAA;AACnD,KAAA;AACF,GAAA;EAEAE,eAAeA,CAACM,KAAY,EAAQ;AAClC;AACA,IAAA,MAAMC,MAAM,GAAGD,KAAK,CAACC,MAAiD,CAAA;AACtE,IAAA,IAAI,CAACzB,UAAU,GAAGyB,MAAM,CAACC,OAAO,CAAA;AAClC,GAAA;AACF,CAAC,GAAA9B,WAAA,GAAA+B,yBAAA,CAAArC,MAAA,CAAAsC,SAAA,EAAA,YAAA,EAAA,CArFEC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;EAAAC,WAAA,EAAA,IAAA;AAAA,CAAA,CAAA,EAAAN,yBAAA,CAAArC,MAAA,CAAAsC,SAAA,EAAA,WAAA,EAAA,CAqCPM,MAAM,CAAA,EAAAC,MAAA,CAAAC,wBAAA,CAAA9C,MAAA,CAAAsC,SAAA,EAAA,WAAA,CAAA,EAAAtC,MAAA,CAAAsC,SAAA,CAAA,EAAAD,yBAAA,CAAArC,MAAA,CAAAsC,SAAA,EAAA,iBAAA,EAAA,CAgBNM,MAAM,CAAA,EAAAC,MAAA,CAAAC,wBAAA,CAAA9C,MAAA,CAAAsC,SAAA,EAAA,iBAAA,CAAA,EAAAtC,MAAA,CAAAsC,SAAA,CAAA,EAAAD,yBAAA,CAAArC,MAAA,CAAAsC,SAAA,EAAA,mBAAA,EAAA,CAgBNM,MAAM,CAAA,EAAAC,MAAA,CAAAC,wBAAA,CAAA9C,MAAA,CAAAsC,SAAA,EAAA,mBAAA,CAAA,EAAAtC,MAAA,CAAAsC,SAAA,CAAA,GAAAtC,MAAA,EAAA;AAtEgC+C,oBAAA,CAAAC,QAAA,EAApBjD,oBAAoB,CAAA;;;;"}
|
|
@@ -41,6 +41,7 @@ let HdsTabs = (_class = class HdsTabs extends Component {
|
|
|
41
41
|
_initializerDefineProperty(this, "selectedTabId", _descriptor6, this);
|
|
42
42
|
_initializerDefineProperty(this, "isControlled", _descriptor7, this);
|
|
43
43
|
this.isControlled = this.args.selectedTabIndex !== undefined;
|
|
44
|
+
this._selectedTabIndex = this.args.selectedTabIndex ?? 0;
|
|
44
45
|
}
|
|
45
46
|
get selectedTabIndex() {
|
|
46
47
|
if (this.isControlled) {
|
|
@@ -228,9 +229,7 @@ let HdsTabs = (_class = class HdsTabs extends Component {
|
|
|
228
229
|
configurable: true,
|
|
229
230
|
enumerable: true,
|
|
230
231
|
writable: true,
|
|
231
|
-
initializer:
|
|
232
|
-
return this.args.selectedTabIndex ?? 0;
|
|
233
|
-
}
|
|
232
|
+
initializer: null
|
|
234
233
|
}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, "selectedTabId", [tracked], {
|
|
235
234
|
configurable: true,
|
|
236
235
|
enumerable: true,
|