@hashicorp/design-system-components 4.14.0 → 4.16.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/item/index.d.ts +3 -3
- package/declarations/components/hds/accordion/item/index.d.ts.map +1 -1
- package/declarations/components/hds/advanced-table/expandable-tr-group.d.ts +44 -0
- package/declarations/components/hds/advanced-table/expandable-tr-group.d.ts.map +1 -0
- package/declarations/components/hds/advanced-table/helpers.d.ts +11 -0
- package/declarations/components/hds/advanced-table/helpers.d.ts.map +1 -0
- package/declarations/components/hds/advanced-table/index.d.ts +84 -0
- package/declarations/components/hds/advanced-table/index.d.ts.map +1 -0
- package/declarations/components/hds/advanced-table/td.d.ts +36 -0
- package/declarations/components/hds/advanced-table/td.d.ts.map +1 -0
- package/declarations/components/hds/advanced-table/th-button-expand.d.ts +22 -0
- package/declarations/components/hds/advanced-table/th-button-expand.d.ts.map +1 -0
- package/declarations/components/hds/advanced-table/th-button-sort.d.ts +23 -0
- package/declarations/components/hds/advanced-table/th-button-sort.d.ts.map +1 -0
- package/declarations/components/hds/advanced-table/th-button-tooltip.d.ts +18 -0
- package/declarations/components/hds/advanced-table/th-button-tooltip.d.ts.map +1 -0
- package/declarations/components/hds/advanced-table/th-selectable.d.ts +36 -0
- package/declarations/components/hds/advanced-table/th-selectable.d.ts.map +1 -0
- package/declarations/components/hds/advanced-table/th-sort.d.ts +40 -0
- package/declarations/components/hds/advanced-table/th-sort.d.ts.map +1 -0
- package/declarations/components/hds/advanced-table/th.d.ts +49 -0
- package/declarations/components/hds/advanced-table/th.d.ts.map +1 -0
- package/declarations/components/hds/advanced-table/tr.d.ts +44 -0
- package/declarations/components/hds/advanced-table/tr.d.ts.map +1 -0
- package/declarations/components/hds/advanced-table/types.d.ts +85 -0
- package/declarations/components/hds/advanced-table/types.d.ts.map +1 -0
- package/declarations/components/hds/alert/description.d.ts +0 -1
- package/declarations/components/hds/alert/description.d.ts.map +1 -1
- package/declarations/components/hds/alert/index.d.ts +2 -2
- package/declarations/components/hds/alert/index.d.ts.map +1 -1
- package/declarations/components/hds/app-footer/item.d.ts +0 -1
- package/declarations/components/hds/app-footer/item.d.ts.map +1 -1
- package/declarations/components/hds/app-footer/link.d.ts +0 -1
- package/declarations/components/hds/app-footer/link.d.ts.map +1 -1
- package/declarations/components/hds/app-footer/status-link.d.ts +1 -1
- package/declarations/components/hds/app-footer/status-link.d.ts.map +1 -1
- package/declarations/components/hds/app-frame/parts/footer.d.ts +0 -1
- package/declarations/components/hds/app-frame/parts/footer.d.ts.map +1 -1
- package/declarations/components/hds/app-frame/parts/header.d.ts +0 -1
- package/declarations/components/hds/app-frame/parts/header.d.ts.map +1 -1
- package/declarations/components/hds/app-frame/parts/main.d.ts +0 -1
- package/declarations/components/hds/app-frame/parts/main.d.ts.map +1 -1
- package/declarations/components/hds/app-frame/parts/modals.d.ts +0 -1
- package/declarations/components/hds/app-frame/parts/modals.d.ts.map +1 -1
- package/declarations/components/hds/app-frame/parts/sidebar.d.ts +0 -1
- package/declarations/components/hds/app-frame/parts/sidebar.d.ts.map +1 -1
- package/declarations/components/hds/app-header/index.d.ts +7 -7
- package/declarations/components/hds/app-header/index.d.ts.map +1 -1
- package/declarations/components/hds/app-side-nav/index.d.ts +8 -8
- package/declarations/components/hds/app-side-nav/index.d.ts.map +1 -1
- package/declarations/components/hds/app-side-nav/list/back-link.d.ts +0 -1
- package/declarations/components/hds/app-side-nav/list/back-link.d.ts.map +1 -1
- package/declarations/components/hds/app-side-nav/list/index.d.ts +1 -1
- package/declarations/components/hds/app-side-nav/list/index.d.ts.map +1 -1
- package/declarations/components/hds/app-side-nav/list/item.d.ts +0 -1
- package/declarations/components/hds/app-side-nav/list/item.d.ts.map +1 -1
- package/declarations/components/hds/app-side-nav/list/link.d.ts +0 -1
- package/declarations/components/hds/app-side-nav/list/link.d.ts.map +1 -1
- package/declarations/components/hds/app-side-nav/list/title.d.ts +1 -1
- package/declarations/components/hds/app-side-nav/list/title.d.ts.map +1 -1
- package/declarations/components/hds/app-side-nav/portal/index.d.ts +0 -1
- package/declarations/components/hds/app-side-nav/portal/index.d.ts.map +1 -1
- package/declarations/components/hds/app-side-nav/portal/target.d.ts +3 -3
- package/declarations/components/hds/app-side-nav/portal/target.d.ts.map +1 -1
- package/declarations/components/hds/app-side-nav/toggle-button.d.ts +0 -1
- package/declarations/components/hds/app-side-nav/toggle-button.d.ts.map +1 -1
- package/declarations/components/hds/application-state/body.d.ts +0 -1
- package/declarations/components/hds/application-state/body.d.ts.map +1 -1
- package/declarations/components/hds/application-state/footer.d.ts +0 -1
- package/declarations/components/hds/application-state/footer.d.ts.map +1 -1
- package/declarations/components/hds/application-state/media.d.ts +0 -1
- package/declarations/components/hds/application-state/media.d.ts.map +1 -1
- package/declarations/components/hds/button-set/index.d.ts +0 -1
- package/declarations/components/hds/button-set/index.d.ts.map +1 -1
- package/declarations/components/hds/code-block/copy-button.d.ts +0 -1
- package/declarations/components/hds/code-block/copy-button.d.ts.map +1 -1
- package/declarations/components/hds/code-block/description.d.ts +0 -1
- package/declarations/components/hds/code-block/description.d.ts.map +1 -1
- package/declarations/components/hds/code-block/index.d.ts +3 -4
- package/declarations/components/hds/code-block/index.d.ts.map +1 -1
- package/declarations/components/hds/code-editor/description.d.ts +22 -0
- package/declarations/components/hds/code-editor/description.d.ts.map +1 -0
- package/declarations/components/hds/code-editor/full-screen-button.d.ts +18 -0
- package/declarations/components/hds/code-editor/full-screen-button.d.ts.map +1 -0
- package/declarations/components/hds/code-editor/generic.d.ts +13 -0
- package/declarations/components/hds/code-editor/generic.d.ts.map +1 -0
- package/declarations/components/hds/code-editor/index.d.ts +50 -0
- package/declarations/components/hds/code-editor/index.d.ts.map +1 -0
- package/declarations/components/hds/code-editor/title.d.ts +24 -0
- package/declarations/components/hds/code-editor/title.d.ts.map +1 -0
- package/declarations/components/hds/copy/button/index.d.ts +2 -2
- package/declarations/components/hds/copy/button/index.d.ts.map +1 -1
- package/declarations/components/hds/copy/snippet/index.d.ts +2 -2
- package/declarations/components/hds/copy/snippet/index.d.ts.map +1 -1
- package/declarations/components/hds/dialog-primitive/body.d.ts +0 -1
- package/declarations/components/hds/dialog-primitive/body.d.ts.map +1 -1
- package/declarations/components/hds/dialog-primitive/description.d.ts +0 -1
- package/declarations/components/hds/dialog-primitive/description.d.ts.map +1 -1
- package/declarations/components/hds/dialog-primitive/overlay.d.ts +0 -1
- package/declarations/components/hds/dialog-primitive/overlay.d.ts.map +1 -1
- package/declarations/components/hds/dialog-primitive/wrapper.d.ts +0 -1
- package/declarations/components/hds/dialog-primitive/wrapper.d.ts.map +1 -1
- package/declarations/components/hds/disclosure-primitive/index.d.ts +2 -2
- package/declarations/components/hds/disclosure-primitive/index.d.ts.map +1 -1
- package/declarations/components/hds/dropdown/footer.d.ts +0 -1
- package/declarations/components/hds/dropdown/footer.d.ts.map +1 -1
- package/declarations/components/hds/dropdown/header.d.ts +0 -1
- package/declarations/components/hds/dropdown/header.d.ts.map +1 -1
- package/declarations/components/hds/dropdown/list-item/generic.d.ts +0 -1
- package/declarations/components/hds/dropdown/list-item/generic.d.ts.map +1 -1
- package/declarations/components/hds/dropdown/list-item/separator.d.ts +0 -1
- package/declarations/components/hds/dropdown/list-item/separator.d.ts.map +1 -1
- package/declarations/components/hds/dropdown/toggle/button.d.ts +2 -2
- package/declarations/components/hds/dropdown/toggle/button.d.ts.map +1 -1
- package/declarations/components/hds/dropdown/toggle/chevron.d.ts +0 -1
- package/declarations/components/hds/dropdown/toggle/chevron.d.ts.map +1 -1
- package/declarations/components/hds/dropdown/toggle/icon.d.ts +1 -1
- package/declarations/components/hds/dropdown/toggle/icon.d.ts.map +1 -1
- package/declarations/components/hds/flyout/index.d.ts +3 -3
- package/declarations/components/hds/flyout/index.d.ts.map +1 -1
- package/declarations/components/hds/form/checkbox/base.d.ts +0 -1
- package/declarations/components/hds/form/checkbox/base.d.ts.map +1 -1
- package/declarations/components/hds/form/checkbox/field.d.ts +0 -1
- package/declarations/components/hds/form/checkbox/field.d.ts.map +1 -1
- package/declarations/components/hds/form/checkbox/group.d.ts +0 -1
- package/declarations/components/hds/form/checkbox/group.d.ts.map +1 -1
- package/declarations/components/hds/form/error/message.d.ts +0 -1
- package/declarations/components/hds/form/error/message.d.ts.map +1 -1
- package/declarations/components/hds/form/file-input/base.d.ts +0 -1
- package/declarations/components/hds/form/file-input/base.d.ts.map +1 -1
- package/declarations/components/hds/form/file-input/field.d.ts +0 -1
- package/declarations/components/hds/form/file-input/field.d.ts.map +1 -1
- package/declarations/components/hds/form/masked-input/field.d.ts +0 -1
- package/declarations/components/hds/form/masked-input/field.d.ts.map +1 -1
- package/declarations/components/hds/form/radio/base.d.ts +0 -1
- package/declarations/components/hds/form/radio/base.d.ts.map +1 -1
- package/declarations/components/hds/form/radio/field.d.ts +0 -1
- package/declarations/components/hds/form/radio/field.d.ts.map +1 -1
- package/declarations/components/hds/form/radio/group.d.ts +0 -1
- package/declarations/components/hds/form/radio/group.d.ts.map +1 -1
- package/declarations/components/hds/form/radio-card/description.d.ts +0 -1
- package/declarations/components/hds/form/radio-card/description.d.ts.map +1 -1
- package/declarations/components/hds/form/radio-card/group.d.ts +0 -1
- package/declarations/components/hds/form/radio-card/group.d.ts.map +1 -1
- package/declarations/components/hds/form/radio-card/label.d.ts +0 -1
- package/declarations/components/hds/form/radio-card/label.d.ts.map +1 -1
- package/declarations/components/hds/form/select/field.d.ts +0 -1
- package/declarations/components/hds/form/select/field.d.ts.map +1 -1
- package/declarations/components/hds/form/super-select/after-options.d.ts +0 -1
- package/declarations/components/hds/form/super-select/after-options.d.ts.map +1 -1
- package/declarations/components/hds/form/super-select/multiple/base.d.ts +3 -3
- package/declarations/components/hds/form/super-select/multiple/base.d.ts.map +1 -1
- package/declarations/components/hds/form/super-select/option-group.d.ts +2 -1
- package/declarations/components/hds/form/super-select/option-group.d.ts.map +1 -1
- package/declarations/components/hds/form/super-select/placeholder.d.ts +0 -1
- package/declarations/components/hds/form/super-select/placeholder.d.ts.map +1 -1
- package/declarations/components/hds/form/text-input/field.d.ts +1 -1
- package/declarations/components/hds/form/text-input/field.d.ts.map +1 -1
- package/declarations/components/hds/form/textarea/field.d.ts +0 -1
- package/declarations/components/hds/form/textarea/field.d.ts.map +1 -1
- package/declarations/components/hds/form/toggle/base.d.ts +0 -1
- package/declarations/components/hds/form/toggle/base.d.ts.map +1 -1
- package/declarations/components/hds/form/toggle/field.d.ts +0 -1
- package/declarations/components/hds/form/toggle/field.d.ts.map +1 -1
- package/declarations/components/hds/form/toggle/group.d.ts +0 -1
- package/declarations/components/hds/form/toggle/group.d.ts.map +1 -1
- package/declarations/components/hds/form/visibility-toggle/index.d.ts +0 -1
- package/declarations/components/hds/form/visibility-toggle/index.d.ts.map +1 -1
- package/declarations/components/hds/icon/index.d.ts +2 -2
- package/declarations/components/hds/icon/index.d.ts.map +1 -1
- package/declarations/components/hds/modal/index.d.ts +4 -4
- package/declarations/components/hds/modal/index.d.ts.map +1 -1
- package/declarations/components/hds/page-header/actions.d.ts +0 -1
- package/declarations/components/hds/page-header/actions.d.ts.map +1 -1
- package/declarations/components/hds/page-header/badges.d.ts +0 -1
- package/declarations/components/hds/page-header/badges.d.ts.map +1 -1
- package/declarations/components/hds/page-header/description.d.ts +0 -1
- package/declarations/components/hds/page-header/description.d.ts.map +1 -1
- package/declarations/components/hds/page-header/index.d.ts +0 -1
- package/declarations/components/hds/page-header/index.d.ts.map +1 -1
- package/declarations/components/hds/page-header/subtitle.d.ts +0 -1
- package/declarations/components/hds/page-header/subtitle.d.ts.map +1 -1
- package/declarations/components/hds/page-header/title.d.ts +0 -1
- package/declarations/components/hds/page-header/title.d.ts.map +1 -1
- package/declarations/components/hds/pagination/compact/index.d.ts +2 -2
- package/declarations/components/hds/pagination/compact/index.d.ts.map +1 -1
- package/declarations/components/hds/pagination/nav/ellipsis.d.ts +0 -1
- package/declarations/components/hds/pagination/nav/ellipsis.d.ts.map +1 -1
- package/declarations/components/hds/pagination/numbered/index.d.ts +3 -3
- package/declarations/components/hds/pagination/numbered/index.d.ts.map +1 -1
- package/declarations/components/hds/pagination/size-selector/index.d.ts +1 -1
- package/declarations/components/hds/pagination/size-selector/index.d.ts.map +1 -1
- package/declarations/components/hds/popover-primitive/index.d.ts +8 -8
- package/declarations/components/hds/popover-primitive/index.d.ts.map +1 -1
- package/declarations/components/hds/reveal/index.d.ts +2 -2
- package/declarations/components/hds/reveal/index.d.ts.map +1 -1
- package/declarations/components/hds/rich-tooltip/index.d.ts +3 -3
- package/declarations/components/hds/rich-tooltip/index.d.ts.map +1 -1
- package/declarations/components/hds/rich-tooltip/toggle.d.ts.map +1 -1
- package/declarations/components/hds/segmented-group/index.d.ts +0 -1
- package/declarations/components/hds/segmented-group/index.d.ts.map +1 -1
- package/declarations/components/hds/side-nav/base.d.ts +0 -1
- package/declarations/components/hds/side-nav/base.d.ts.map +1 -1
- package/declarations/components/hds/side-nav/header/index.d.ts +0 -1
- package/declarations/components/hds/side-nav/header/index.d.ts.map +1 -1
- package/declarations/components/hds/side-nav/list/back-link.d.ts +0 -1
- package/declarations/components/hds/side-nav/list/back-link.d.ts.map +1 -1
- package/declarations/components/hds/side-nav/list/item.d.ts +0 -1
- package/declarations/components/hds/side-nav/list/item.d.ts.map +1 -1
- package/declarations/components/hds/side-nav/list/link.d.ts +0 -1
- package/declarations/components/hds/side-nav/list/link.d.ts.map +1 -1
- package/declarations/components/hds/side-nav/portal/index.d.ts +0 -1
- package/declarations/components/hds/side-nav/portal/index.d.ts.map +1 -1
- package/declarations/components/hds/side-nav/toggle-button.d.ts +0 -1
- package/declarations/components/hds/side-nav/toggle-button.d.ts.map +1 -1
- package/declarations/components/hds/stepper/task/indicator.d.ts +1 -1
- package/declarations/components/hds/stepper/task/indicator.d.ts.map +1 -1
- package/declarations/components/hds/table/index.d.ts +5 -4
- package/declarations/components/hds/table/index.d.ts.map +1 -1
- package/declarations/components/hds/table/th-button-sort.d.ts +2 -2
- package/declarations/components/hds/table/th-button-sort.d.ts.map +1 -1
- package/declarations/components/hds/table/th-button-tooltip.d.ts +1 -1
- package/declarations/components/hds/table/th-button-tooltip.d.ts.map +1 -1
- package/declarations/components/hds/table/th-selectable.d.ts +3 -3
- package/declarations/components/hds/table/th-selectable.d.ts.map +1 -1
- package/declarations/components/hds/table/th-sort.d.ts +2 -2
- package/declarations/components/hds/table/th-sort.d.ts.map +1 -1
- package/declarations/components/hds/table/th.d.ts +2 -2
- package/declarations/components/hds/table/th.d.ts.map +1 -1
- package/declarations/components/hds/tabs/index.d.ts +8 -8
- package/declarations/components/hds/tabs/index.d.ts.map +1 -1
- package/declarations/components/hds/tabs/panel.d.ts +3 -2
- package/declarations/components/hds/tabs/panel.d.ts.map +1 -1
- package/declarations/components/hds/tabs/tab.d.ts +9 -2
- package/declarations/components/hds/tabs/tab.d.ts.map +1 -1
- package/declarations/components/hds/time/index.d.ts +35 -0
- package/declarations/components/hds/time/index.d.ts.map +1 -0
- package/declarations/components/hds/time/range.d.ts +35 -0
- package/declarations/components/hds/time/range.d.ts.map +1 -0
- package/declarations/components/hds/time/single.d.ts +18 -0
- package/declarations/components/hds/time/single.d.ts.map +1 -0
- package/declarations/components/hds/toast/index.d.ts +0 -1
- package/declarations/components/hds/toast/index.d.ts.map +1 -1
- package/declarations/components/hds/yield/index.d.ts +0 -1
- package/declarations/components/hds/yield/index.d.ts.map +1 -1
- package/declarations/components.d.ts +19 -0
- package/declarations/components.d.ts.map +1 -1
- package/declarations/helpers/hds-format-date.d.ts +18 -0
- package/declarations/helpers/hds-format-date.d.ts.map +1 -0
- package/declarations/helpers/hds-format-relative.d.ts +11 -0
- package/declarations/helpers/hds-format-relative.d.ts.map +1 -0
- package/declarations/modifiers/hds-anchored-position.d.ts +1 -1
- package/declarations/modifiers/hds-anchored-position.d.ts.map +1 -1
- package/declarations/modifiers/hds-clipboard.d.ts +4 -4
- package/declarations/modifiers/hds-clipboard.d.ts.map +1 -1
- package/declarations/modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.d.ts +8 -0
- package/declarations/modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.d.ts.map +1 -0
- package/declarations/modifiers/hds-code-editor/languages/sentinel.d.ts +44 -0
- package/declarations/modifiers/hds-code-editor/languages/sentinel.d.ts.map +1 -0
- package/declarations/modifiers/hds-code-editor/palettes/hds-dark-palette.d.ts +21 -0
- package/declarations/modifiers/hds-code-editor/palettes/hds-dark-palette.d.ts.map +1 -0
- package/declarations/modifiers/hds-code-editor/themes/hds-dark-theme.d.ts +7 -0
- package/declarations/modifiers/hds-code-editor/themes/hds-dark-theme.d.ts.map +1 -0
- package/declarations/modifiers/hds-code-editor/types.d.ts +16 -0
- package/declarations/modifiers/hds-code-editor/types.d.ts.map +1 -0
- package/declarations/modifiers/hds-code-editor.d.ts +43 -0
- package/declarations/modifiers/hds-code-editor.d.ts.map +1 -0
- package/declarations/modifiers/hds-register-event.d.ts +1 -1
- package/declarations/modifiers/hds-register-event.d.ts.map +1 -1
- package/declarations/modifiers/hds-tooltip.d.ts +4 -4
- package/declarations/modifiers/hds-tooltip.d.ts.map +1 -1
- package/declarations/services/hds-time-types.d.ts +31 -0
- package/declarations/services/hds-time-types.d.ts.map +1 -0
- package/declarations/services/hds-time.d.ts +80 -0
- package/declarations/services/hds-time.d.ts.map +1 -0
- package/declarations/services.d.ts +5 -0
- package/declarations/services.d.ts.map +1 -0
- package/declarations/template-registry.d.ts +60 -0
- package/declarations/template-registry.d.ts.map +1 -1
- package/dist/_app_/components/hds/advanced-table/expandable-tr-group.js +1 -0
- package/dist/_app_/components/hds/advanced-table/helpers.js +1 -0
- package/dist/_app_/components/hds/advanced-table/index.js +1 -0
- package/dist/_app_/components/hds/advanced-table/td.js +1 -0
- package/dist/_app_/components/hds/advanced-table/th-button-expand.js +1 -0
- package/dist/_app_/components/hds/advanced-table/th-button-sort.js +1 -0
- package/dist/_app_/components/hds/advanced-table/th-button-tooltip.js +1 -0
- package/dist/_app_/components/hds/advanced-table/th-selectable.js +1 -0
- package/dist/_app_/components/hds/advanced-table/th-sort.js +1 -0
- package/dist/_app_/components/hds/advanced-table/th.js +1 -0
- package/dist/_app_/components/hds/advanced-table/tr.js +1 -0
- package/dist/_app_/components/hds/code-editor/description.js +1 -0
- package/dist/_app_/components/hds/code-editor/full-screen-button.js +1 -0
- package/dist/_app_/components/hds/code-editor/generic.js +1 -0
- package/dist/_app_/components/hds/code-editor/index.js +1 -0
- package/dist/_app_/components/hds/code-editor/title.js +1 -0
- package/dist/_app_/components/hds/time/index.js +1 -0
- package/dist/_app_/components/hds/time/range.js +1 -0
- package/dist/_app_/components/hds/time/single.js +1 -0
- package/dist/_app_/helpers/hds-format-date.js +1 -0
- package/dist/_app_/helpers/hds-format-relative.js +1 -0
- package/dist/_app_/modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.js +1 -0
- package/dist/_app_/modifiers/hds-code-editor/languages/sentinel.js +1 -0
- package/dist/_app_/modifiers/hds-code-editor/palettes/hds-dark-palette.js +1 -0
- package/dist/_app_/modifiers/hds-code-editor/themes/hds-dark-theme.js +1 -0
- package/dist/_app_/modifiers/hds-code-editor/types.js +1 -0
- package/dist/_app_/modifiers/hds-code-editor.js +1 -0
- package/dist/_app_/services/hds-time.js +1 -0
- package/dist/{_rollupPluginBabelHelpers-KIi_qCIU.js → _rollupPluginBabelHelpers-C_TsMG3M.js} +15 -9
- package/dist/_rollupPluginBabelHelpers-C_TsMG3M.js.map +1 -0
- package/dist/components/hds/accordion/index.js.map +1 -1
- package/dist/components/hds/accordion/item/button.js +2 -2
- package/dist/components/hds/accordion/item/button.js.map +1 -1
- package/dist/components/hds/accordion/item/index.js +6 -6
- package/dist/components/hds/accordion/item/index.js.map +1 -1
- package/dist/components/hds/accordion/types.js.map +1 -1
- package/dist/components/hds/advanced-table/expandable-tr-group.js +70 -0
- package/dist/components/hds/advanced-table/expandable-tr-group.js.map +1 -0
- package/dist/components/hds/advanced-table/helpers.js +144 -0
- package/dist/components/hds/advanced-table/helpers.js.map +1 -0
- package/dist/components/hds/advanced-table/index.js +312 -0
- package/dist/components/hds/advanced-table/index.js.map +1 -0
- package/dist/components/hds/advanced-table/td.js +95 -0
- package/dist/components/hds/advanced-table/td.js.map +1 -0
- package/dist/components/hds/advanced-table/th-button-expand.js +49 -0
- package/dist/components/hds/advanced-table/th-button-expand.js.map +1 -0
- package/dist/components/hds/advanced-table/th-button-sort.js +57 -0
- package/dist/components/hds/advanced-table/th-button-sort.js.map +1 -0
- package/dist/components/hds/advanced-table/th-button-tooltip.js +28 -0
- package/dist/components/hds/advanced-table/th-button-tooltip.js.map +1 -0
- package/dist/components/hds/advanced-table/th-selectable.js +92 -0
- package/dist/components/hds/advanced-table/th-selectable.js.map +1 -0
- package/dist/components/hds/advanced-table/th-sort.js +95 -0
- package/dist/components/hds/advanced-table/th-sort.js.map +1 -0
- package/dist/components/hds/advanced-table/th.js +112 -0
- package/dist/components/hds/advanced-table/th.js.map +1 -0
- package/dist/components/hds/advanced-table/tr.js +39 -0
- package/dist/components/hds/advanced-table/tr.js.map +1 -0
- package/dist/components/hds/advanced-table/types.js +54 -0
- package/dist/components/hds/advanced-table/types.js.map +1 -0
- package/dist/components/hds/alert/description.js.map +1 -1
- package/dist/components/hds/alert/index.js +10 -10
- package/dist/components/hds/alert/index.js.map +1 -1
- package/dist/components/hds/alert/title.js.map +1 -1
- package/dist/components/hds/alert/types.js.map +1 -1
- package/dist/components/hds/app-footer/copyright.js.map +1 -1
- package/dist/components/hds/app-footer/index.js.map +1 -1
- package/dist/components/hds/app-footer/item.js.map +1 -1
- package/dist/components/hds/app-footer/legal-links.js.map +1 -1
- package/dist/components/hds/app-footer/link.js.map +1 -1
- package/dist/components/hds/app-footer/status-link.js.map +1 -1
- package/dist/components/hds/app-footer/types.js.map +1 -1
- package/dist/components/hds/app-frame/index.js.map +1 -1
- package/dist/components/hds/app-frame/parts/footer.js.map +1 -1
- package/dist/components/hds/app-frame/parts/header.js.map +1 -1
- package/dist/components/hds/app-frame/parts/main.js.map +1 -1
- package/dist/components/hds/app-frame/parts/modals.js.map +1 -1
- package/dist/components/hds/app-frame/parts/sidebar.js.map +1 -1
- package/dist/components/hds/app-header/home-link.js.map +1 -1
- package/dist/components/hds/app-header/index.js +27 -27
- package/dist/components/hds/app-header/index.js.map +1 -1
- package/dist/components/hds/app-header/menu-button.js +2 -2
- package/dist/components/hds/app-header/menu-button.js.map +1 -1
- package/dist/components/hds/app-side-nav/index.js +48 -48
- package/dist/components/hds/app-side-nav/index.js.map +1 -1
- package/dist/components/hds/app-side-nav/list/back-link.js.map +1 -1
- package/dist/components/hds/app-side-nav/list/index.js +3 -3
- package/dist/components/hds/app-side-nav/list/index.js.map +1 -1
- package/dist/components/hds/app-side-nav/list/item.js.map +1 -1
- package/dist/components/hds/app-side-nav/list/link.js.map +1 -1
- package/dist/components/hds/app-side-nav/list/title.js +4 -4
- package/dist/components/hds/app-side-nav/list/title.js.map +1 -1
- package/dist/components/hds/app-side-nav/portal/index.js.map +1 -1
- package/dist/components/hds/app-side-nav/portal/target.js +14 -14
- package/dist/components/hds/app-side-nav/portal/target.js.map +1 -1
- package/dist/components/hds/app-side-nav/toggle-button.js.map +1 -1
- package/dist/components/hds/application-state/body.js.map +1 -1
- package/dist/components/hds/application-state/footer.js.map +1 -1
- package/dist/components/hds/application-state/header.js.map +1 -1
- package/dist/components/hds/application-state/index.js.map +1 -1
- package/dist/components/hds/application-state/media.js.map +1 -1
- package/dist/components/hds/application-state/types.js.map +1 -1
- package/dist/components/hds/badge/index.js.map +1 -1
- package/dist/components/hds/badge/types.js.map +1 -1
- package/dist/components/hds/badge-count/index.js.map +1 -1
- package/dist/components/hds/badge-count/types.js.map +1 -1
- package/dist/components/hds/breadcrumb/index.js.map +1 -1
- package/dist/components/hds/breadcrumb/item.js.map +1 -1
- package/dist/components/hds/breadcrumb/truncation.js.map +1 -1
- package/dist/components/hds/button/index.js.map +1 -1
- package/dist/components/hds/button/types.js.map +1 -1
- package/dist/components/hds/button-set/index.js.map +1 -1
- package/dist/components/hds/card/container.js.map +1 -1
- package/dist/components/hds/card/types.js.map +1 -1
- package/dist/components/hds/code-block/copy-button.js.map +1 -1
- package/dist/components/hds/code-block/description.js.map +1 -1
- package/dist/components/hds/code-block/index.js +9 -9
- package/dist/components/hds/code-block/index.js.map +1 -1
- package/dist/components/hds/code-block/title.js.map +1 -1
- package/dist/components/hds/code-block/types.js.map +1 -1
- package/dist/components/hds/code-editor/description.js +17 -0
- package/dist/components/hds/code-editor/description.js.map +1 -0
- package/dist/components/hds/code-editor/full-screen-button.js +26 -0
- package/dist/components/hds/code-editor/full-screen-button.js.map +1 -0
- package/dist/components/hds/code-editor/generic.js +16 -0
- package/dist/components/hds/code-editor/generic.js.map +1 -0
- package/dist/components/hds/code-editor/index.js +120 -0
- package/dist/components/hds/code-editor/index.js.map +1 -0
- package/dist/components/hds/code-editor/title.js +20 -0
- package/dist/components/hds/code-editor/title.js.map +1 -0
- package/dist/components/hds/copy/button/index.js +14 -14
- package/dist/components/hds/copy/button/index.js.map +1 -1
- package/dist/components/hds/copy/button/types.js.map +1 -1
- package/dist/components/hds/copy/snippet/index.js +14 -14
- package/dist/components/hds/copy/snippet/index.js.map +1 -1
- package/dist/components/hds/copy/snippet/types.js.map +1 -1
- package/dist/components/hds/dialog-primitive/body.js.map +1 -1
- package/dist/components/hds/dialog-primitive/description.js.map +1 -1
- package/dist/components/hds/dialog-primitive/footer.js.map +1 -1
- package/dist/components/hds/dialog-primitive/header.js.map +1 -1
- package/dist/components/hds/dialog-primitive/overlay.js.map +1 -1
- package/dist/components/hds/dialog-primitive/types.js.map +1 -1
- package/dist/components/hds/dialog-primitive/wrapper.js.map +1 -1
- package/dist/components/hds/disclosure-primitive/index.js +3 -3
- package/dist/components/hds/disclosure-primitive/index.js.map +1 -1
- package/dist/components/hds/dismiss-button/index.js.map +1 -1
- package/dist/components/hds/dropdown/footer.js.map +1 -1
- package/dist/components/hds/dropdown/header.js.map +1 -1
- package/dist/components/hds/dropdown/index.js +2 -2
- package/dist/components/hds/dropdown/index.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/checkbox.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/checkmark.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/copy-item.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/description.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/generic.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/radio.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/separator.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/title.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/types.js.map +1 -1
- package/dist/components/hds/dropdown/toggle/button.js +4 -4
- package/dist/components/hds/dropdown/toggle/button.js.map +1 -1
- package/dist/components/hds/dropdown/toggle/chevron.js.map +1 -1
- package/dist/components/hds/dropdown/toggle/icon.js +7 -7
- package/dist/components/hds/dropdown/toggle/icon.js.map +1 -1
- package/dist/components/hds/dropdown/toggle/types.js.map +1 -1
- package/dist/components/hds/dropdown/types.js.map +1 -1
- package/dist/components/hds/flyout/body.js.map +1 -1
- package/dist/components/hds/flyout/description.js.map +1 -1
- package/dist/components/hds/flyout/footer.js.map +1 -1
- package/dist/components/hds/flyout/header.js.map +1 -1
- package/dist/components/hds/flyout/index.js +22 -20
- package/dist/components/hds/flyout/index.js.map +1 -1
- package/dist/components/hds/flyout/types.js.map +1 -1
- package/dist/components/hds/form/character-count/index.js.map +1 -1
- package/dist/components/hds/form/checkbox/base.js.map +1 -1
- package/dist/components/hds/form/checkbox/field.js.map +1 -1
- package/dist/components/hds/form/checkbox/group.js.map +1 -1
- package/dist/components/hds/form/error/index.js.map +1 -1
- package/dist/components/hds/form/error/message.js.map +1 -1
- package/dist/components/hds/form/field/index.js +2 -2
- package/dist/components/hds/form/field/index.js.map +1 -1
- package/dist/components/hds/form/field/types.js.map +1 -1
- package/dist/components/hds/form/fieldset/index.js +2 -2
- package/dist/components/hds/form/fieldset/index.js.map +1 -1
- package/dist/components/hds/form/fieldset/types.js.map +1 -1
- package/dist/components/hds/form/file-input/base.js.map +1 -1
- package/dist/components/hds/form/file-input/field.js.map +1 -1
- package/dist/components/hds/form/helper-text/index.js.map +1 -1
- package/dist/components/hds/form/indicator/index.js.map +1 -1
- package/dist/components/hds/form/label/index.js.map +1 -1
- package/dist/components/hds/form/legend/index.js.map +1 -1
- package/dist/components/hds/form/masked-input/base.js +3 -3
- package/dist/components/hds/form/masked-input/base.js.map +1 -1
- package/dist/components/hds/form/masked-input/field.js.map +1 -1
- package/dist/components/hds/form/radio/base.js.map +1 -1
- package/dist/components/hds/form/radio/field.js.map +1 -1
- package/dist/components/hds/form/radio/group.js.map +1 -1
- package/dist/components/hds/form/radio-card/description.js.map +1 -1
- package/dist/components/hds/form/radio-card/group.js.map +1 -1
- package/dist/components/hds/form/radio-card/index.js.map +1 -1
- package/dist/components/hds/form/radio-card/label.js.map +1 -1
- package/dist/components/hds/form/radio-card/types.js.map +1 -1
- package/dist/components/hds/form/select/base.js.map +1 -1
- package/dist/components/hds/form/select/field.js.map +1 -1
- package/dist/components/hds/form/super-select/after-options.js.map +1 -1
- package/dist/components/hds/form/super-select/multiple/base.js +20 -20
- package/dist/components/hds/form/super-select/multiple/base.js.map +1 -1
- package/dist/components/hds/form/super-select/multiple/field.js +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 +4 -3
- package/dist/components/hds/form/super-select/option-group.js.map +1 -1
- package/dist/components/hds/form/super-select/placeholder.js.map +1 -1
- package/dist/components/hds/form/super-select/single/base.js +4 -4
- package/dist/components/hds/form/super-select/single/base.js.map +1 -1
- package/dist/components/hds/form/super-select/single/field.js +1 -1
- package/dist/components/hds/form/super-select/single/field.js.map +1 -1
- package/dist/components/hds/form/super-select/types.js.map +1 -1
- package/dist/components/hds/form/text-input/base.js.map +1 -1
- package/dist/components/hds/form/text-input/field.js +9 -9
- package/dist/components/hds/form/text-input/field.js.map +1 -1
- package/dist/components/hds/form/text-input/types.js.map +1 -1
- package/dist/components/hds/form/textarea/base.js.map +1 -1
- package/dist/components/hds/form/textarea/field.js.map +1 -1
- package/dist/components/hds/form/toggle/base.js.map +1 -1
- package/dist/components/hds/form/toggle/field.js.map +1 -1
- package/dist/components/hds/form/toggle/group.js.map +1 -1
- package/dist/components/hds/form/visibility-toggle/index.js.map +1 -1
- package/dist/components/hds/icon/index.js +5 -5
- package/dist/components/hds/icon/index.js.map +1 -1
- package/dist/components/hds/icon/types.js.map +1 -1
- package/dist/components/hds/icon-tile/index.js.map +1 -1
- package/dist/components/hds/icon-tile/types.js.map +1 -1
- package/dist/components/hds/interactive/index.js +2 -2
- package/dist/components/hds/interactive/index.js.map +1 -1
- package/dist/components/hds/link/inline.js.map +1 -1
- package/dist/components/hds/link/standalone.js.map +1 -1
- package/dist/components/hds/link/types.js.map +1 -1
- package/dist/components/hds/menu-primitive/index.js +3 -3
- package/dist/components/hds/menu-primitive/index.js.map +1 -1
- package/dist/components/hds/modal/body.js.map +1 -1
- package/dist/components/hds/modal/footer.js.map +1 -1
- package/dist/components/hds/modal/header.js.map +1 -1
- package/dist/components/hds/modal/index.js +32 -32
- package/dist/components/hds/modal/index.js.map +1 -1
- package/dist/components/hds/modal/types.js.map +1 -1
- package/dist/components/hds/page-header/actions.js.map +1 -1
- package/dist/components/hds/page-header/badges.js.map +1 -1
- package/dist/components/hds/page-header/description.js.map +1 -1
- package/dist/components/hds/page-header/index.js.map +1 -1
- package/dist/components/hds/page-header/subtitle.js.map +1 -1
- package/dist/components/hds/page-header/title.js.map +1 -1
- package/dist/components/hds/pagination/compact/index.js +11 -11
- 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 +2 -2
- package/dist/components/hds/pagination/nav/arrow.js.map +1 -1
- package/dist/components/hds/pagination/nav/ellipsis.js.map +1 -1
- package/dist/components/hds/pagination/nav/number.js +2 -2
- package/dist/components/hds/pagination/nav/number.js.map +1 -1
- package/dist/components/hds/pagination/numbered/index.js +15 -15
- package/dist/components/hds/pagination/numbered/index.js.map +1 -1
- package/dist/components/hds/pagination/size-selector/index.js +4 -4
- package/dist/components/hds/pagination/size-selector/index.js.map +1 -1
- package/dist/components/hds/pagination/types.js.map +1 -1
- package/dist/components/hds/popover-primitive/index.js +61 -57
- package/dist/components/hds/popover-primitive/index.js.map +1 -1
- package/dist/components/hds/reveal/index.js +4 -4
- package/dist/components/hds/reveal/index.js.map +1 -1
- package/dist/components/hds/reveal/toggle/button.js.map +1 -1
- package/dist/components/hds/rich-tooltip/bubble.js.map +1 -1
- package/dist/components/hds/rich-tooltip/index.js +5 -5
- package/dist/components/hds/rich-tooltip/index.js.map +1 -1
- package/dist/components/hds/rich-tooltip/toggle.js +1 -1
- package/dist/components/hds/rich-tooltip/toggle.js.map +1 -1
- package/dist/components/hds/rich-tooltip/types.js.map +1 -1
- package/dist/components/hds/segmented-group/index.js.map +1 -1
- package/dist/components/hds/separator/index.js.map +1 -1
- package/dist/components/hds/separator/types.js.map +1 -1
- package/dist/components/hds/side-nav/base.js.map +1 -1
- package/dist/components/hds/side-nav/header/home-link.js.map +1 -1
- package/dist/components/hds/side-nav/header/icon-button.js.map +1 -1
- package/dist/components/hds/side-nav/header/index.js.map +1 -1
- package/dist/components/hds/side-nav/index.js +5 -5
- package/dist/components/hds/side-nav/index.js.map +1 -1
- package/dist/components/hds/side-nav/list/back-link.js.map +1 -1
- package/dist/components/hds/side-nav/list/index.js +3 -3
- package/dist/components/hds/side-nav/list/index.js.map +1 -1
- package/dist/components/hds/side-nav/list/item.js.map +1 -1
- package/dist/components/hds/side-nav/list/link.js.map +1 -1
- package/dist/components/hds/side-nav/list/title.js +2 -2
- package/dist/components/hds/side-nav/list/title.js.map +1 -1
- package/dist/components/hds/side-nav/portal/index.js.map +1 -1
- package/dist/components/hds/side-nav/portal/target.js +3 -3
- package/dist/components/hds/side-nav/portal/target.js.map +1 -1
- package/dist/components/hds/side-nav/toggle-button.js.map +1 -1
- package/dist/components/hds/stepper/step/indicator.js.map +1 -1
- package/dist/components/hds/stepper/task/indicator.js.map +1 -1
- package/dist/components/hds/stepper/types.js.map +1 -1
- package/dist/components/hds/table/index.js +26 -26
- package/dist/components/hds/table/index.js.map +1 -1
- package/dist/components/hds/table/td.js.map +1 -1
- package/dist/components/hds/table/th-button-sort.js +4 -4
- package/dist/components/hds/table/th-button-sort.js.map +1 -1
- package/dist/components/hds/table/th-button-tooltip.js +3 -3
- package/dist/components/hds/table/th-button-tooltip.js.map +1 -1
- package/dist/components/hds/table/th-selectable.js +9 -14
- package/dist/components/hds/table/th-selectable.js.map +1 -1
- package/dist/components/hds/table/th-sort.js +4 -4
- package/dist/components/hds/table/th-sort.js.map +1 -1
- package/dist/components/hds/table/th.js +4 -4
- package/dist/components/hds/table/th.js.map +1 -1
- package/dist/components/hds/table/tr.js.map +1 -1
- package/dist/components/hds/table/types.js.map +1 -1
- package/dist/components/hds/tabs/index.js +40 -40
- package/dist/components/hds/tabs/index.js.map +1 -1
- package/dist/components/hds/tabs/panel.js +9 -8
- package/dist/components/hds/tabs/panel.js.map +1 -1
- package/dist/components/hds/tabs/tab.js +14 -5
- package/dist/components/hds/tabs/tab.js.map +1 -1
- package/dist/components/hds/tabs/types.js.map +1 -1
- package/dist/components/hds/tag/index.js.map +1 -1
- package/dist/components/hds/tag/types.js.map +1 -1
- package/dist/components/hds/text/body.js.map +1 -1
- package/dist/components/hds/text/code.js.map +1 -1
- package/dist/components/hds/text/display.js.map +1 -1
- package/dist/components/hds/text/index.js.map +1 -1
- package/dist/components/hds/text/types.js.map +1 -1
- package/dist/components/hds/time/index.js +128 -0
- package/dist/components/hds/time/index.js.map +1 -0
- package/dist/components/hds/time/range.js +66 -0
- package/dist/components/hds/time/range.js.map +1 -0
- package/dist/components/hds/time/single.js +16 -0
- package/dist/components/hds/time/single.js.map +1 -0
- 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/tooltip-button/types.js.map +1 -1
- package/dist/components/hds/yield/index.js.map +1 -1
- package/dist/components.js +18 -0
- package/dist/components.js.map +1 -1
- package/dist/helpers/hds-format-date.js +29 -0
- package/dist/helpers/hds-format-date.js.map +1 -0
- package/dist/helpers/hds-format-relative.js +29 -0
- package/dist/helpers/hds-format-relative.js.map +1 -0
- package/dist/helpers/hds-link-to-models.js.map +1 -1
- package/dist/helpers/hds-link-to-query.js.map +1 -1
- package/dist/instance-initializers/load-sprite.js.map +1 -1
- package/dist/modifiers/hds-anchored-position.js +12 -8
- package/dist/modifiers/hds-anchored-position.js.map +1 -1
- package/dist/modifiers/hds-clipboard.js.map +1 -1
- package/dist/modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.js +80 -0
- package/dist/modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.js.map +1 -0
- package/dist/modifiers/hds-code-editor/languages/sentinel.js +143 -0
- package/dist/modifiers/hds-code-editor/languages/sentinel.js.map +1 -0
- package/dist/modifiers/hds-code-editor/palettes/hds-dark-palette.js +24 -0
- package/dist/modifiers/hds-code-editor/palettes/hds-dark-palette.js.map +1 -0
- package/dist/modifiers/hds-code-editor/themes/hds-dark-theme.js +62 -0
- package/dist/modifiers/hds-code-editor/themes/hds-dark-theme.js.map +1 -0
- package/dist/modifiers/hds-code-editor/types.js +19 -0
- package/dist/modifiers/hds-code-editor/types.js.map +1 -0
- package/dist/modifiers/hds-code-editor.js +266 -0
- package/dist/modifiers/hds-code-editor.js.map +1 -0
- package/dist/modifiers/hds-register-event.js +4 -4
- package/dist/modifiers/hds-register-event.js.map +1 -1
- package/dist/modifiers/hds-tooltip.js +19 -19
- package/dist/modifiers/hds-tooltip.js.map +1 -1
- package/dist/services/hds-time-types.js +2 -0
- package/dist/services/hds-time-types.js.map +1 -0
- package/dist/services/hds-time.js +215 -0
- package/dist/services/hds-time.js.map +1 -0
- package/dist/services.js +2 -0
- package/dist/services.js.map +1 -0
- package/dist/styles/@hashicorp/design-system-components.css +565 -174
- package/dist/styles/@hashicorp/design-system-components.scss +3 -0
- package/dist/styles/@hashicorp/design-system-power-select-overrides.scss +3 -3
- package/dist/styles/components/accordion.scss +1 -1
- package/dist/styles/components/advanced-table.scss +349 -0
- package/dist/styles/components/alert.scss +2 -3
- package/dist/styles/components/app-header.scss +1 -1
- package/dist/styles/components/app-side-nav/index.scss +4 -4
- package/dist/styles/components/badge-count.scss +6 -5
- package/dist/styles/components/badge.scss +12 -10
- package/dist/styles/components/breadcrumb.scss +2 -2
- package/dist/styles/components/card/container.scss +1 -1
- package/dist/styles/components/code-block/index.scss +2 -2
- package/dist/styles/components/code-editor/index.scss +113 -0
- package/dist/styles/components/code-editor/theme.scss +20 -0
- package/dist/styles/components/copy/index.scss +2 -2
- package/dist/styles/components/copy/snippet.scss +1 -1
- package/dist/styles/components/dropdown.scss +18 -10
- package/dist/styles/components/form/select.scss +1 -1
- package/dist/styles/components/icon-tile.scss +20 -24
- package/dist/styles/components/link/index.scss +2 -2
- package/dist/styles/components/link/standalone.scss +6 -5
- package/dist/styles/components/modal.scss +1 -1
- package/dist/styles/components/page-header.scss +4 -1
- package/dist/styles/components/rich-tooltip.scss +1 -1
- package/dist/styles/components/side-nav/a11y-refocus.scss +1 -1
- package/dist/styles/components/side-nav/index.scss +6 -6
- package/dist/styles/components/stepper/index.scss +2 -2
- package/dist/styles/components/stepper/step-indicator.scss +14 -12
- package/dist/styles/components/stepper/task-indicator.scss +5 -3
- package/dist/styles/components/table.scss +10 -33
- package/dist/styles/components/tabs.scss +4 -3
- package/dist/styles/components/time.scss +13 -0
- package/dist/styles/mixins/_button.scss +14 -12
- package/dist/utils/hds-aria-described-by.js +3 -3
- package/dist/utils/hds-aria-described-by.js.map +1 -1
- package/dist/utils/hds-get-element-id.js.map +1 -1
- package/package.json +90 -50
- package/dist/_rollupPluginBabelHelpers-KIi_qCIU.js.map +0 -1
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
function wordRegexp(words) {
|
|
2
|
+
return new RegExp('^((' + words.join(')|(') + '))\\b');
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
// logical operators
|
|
6
|
+
const wordOperators = wordRegexp(['and', 'contains', 'else', 'in', 'is', 'matches', 'not', 'or', 'xor']);
|
|
7
|
+
|
|
8
|
+
// keywords
|
|
9
|
+
const sentinelKeywords = ['all', 'any', 'as', 'break', 'case', 'continue', 'default', 'else', 'empty', 'filter', 'for', 'func', 'if', 'import', 'map', 'param', 'return', 'rule', 'when'];
|
|
10
|
+
|
|
11
|
+
// built-ins / constants
|
|
12
|
+
const sentinelBuiltins = ['true', 'false', 'null', 'undefined', 'length', 'append', 'delete', 'keys', 'values', 'range', 'print', 'int', 'float', 'string', 'bool'];
|
|
13
|
+
const keywords = wordRegexp(sentinelKeywords);
|
|
14
|
+
const builtins = wordRegexp(sentinelBuiltins);
|
|
15
|
+
function mkSentinel(parserConf) {
|
|
16
|
+
const ERRORCLASS = 'error';
|
|
17
|
+
|
|
18
|
+
// delimiters, operators, etc.
|
|
19
|
+
const delimiters = parserConf.delimiters ?? /^[()[\]{},:;=.]/;
|
|
20
|
+
const operators = [parserConf.operators ?? /^(\+|-|\*|\/|%|<=|>=|<|>|==|!=|!|&&|\|\|)/];
|
|
21
|
+
|
|
22
|
+
// tokenizer
|
|
23
|
+
function tokenBase(stream, state) {
|
|
24
|
+
return tokenBaseInner(stream, state);
|
|
25
|
+
}
|
|
26
|
+
function tokenBaseInner(stream, state) {
|
|
27
|
+
if (stream.eatSpace()) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// comments
|
|
32
|
+
// single-line `//`
|
|
33
|
+
if (stream.match('//')) {
|
|
34
|
+
stream.skipToEnd();
|
|
35
|
+
return 'comment';
|
|
36
|
+
}
|
|
37
|
+
// multi-line `/* ... */`
|
|
38
|
+
if (stream.match('/*')) {
|
|
39
|
+
state.tokenize = tokenComment;
|
|
40
|
+
return state.tokenize(stream, state);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// strings
|
|
44
|
+
if (stream.match(/"/) || stream.match(/'/)) {
|
|
45
|
+
// We’ve just consumed either " or '
|
|
46
|
+
const quote = stream.current();
|
|
47
|
+
state.tokenize = tokenString(quote);
|
|
48
|
+
return state.tokenize(stream, state);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// numbers
|
|
52
|
+
if (stream.match(/^[0-9]+(\.[0-9]+)?/)) {
|
|
53
|
+
return 'number';
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// operators
|
|
57
|
+
for (let i = 0; i < operators.length; i++) {
|
|
58
|
+
if (stream.match(operators[i])) {
|
|
59
|
+
return 'operator';
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// delimiters/punctuation
|
|
64
|
+
if (stream.match(delimiters)) {
|
|
65
|
+
return 'punctuation';
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// keywords, operators, builtins
|
|
69
|
+
if (stream.match(keywords) || stream.match(wordOperators)) {
|
|
70
|
+
return 'keyword';
|
|
71
|
+
}
|
|
72
|
+
if (stream.match(builtins)) {
|
|
73
|
+
return 'builtin';
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// identifiers (variables, function names, etc.)
|
|
77
|
+
if (stream.match(/^[_A-Za-z][_A-Za-z0-9]*/)) {
|
|
78
|
+
return 'variable';
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// if nothing matched, consume one character and mark it as error
|
|
82
|
+
stream.next();
|
|
83
|
+
return ERRORCLASS;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// multi-line comment tokenizer
|
|
87
|
+
function tokenComment(stream, state) {
|
|
88
|
+
while (!stream.eol()) {
|
|
89
|
+
if (stream.match('*/')) {
|
|
90
|
+
state.tokenize = tokenBase;
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
stream.next();
|
|
94
|
+
}
|
|
95
|
+
return 'comment';
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// string tokenizer factory
|
|
99
|
+
function tokenString(quote) {
|
|
100
|
+
return function (stream, state) {
|
|
101
|
+
let escaped = false;
|
|
102
|
+
let ch = null;
|
|
103
|
+
while ((ch = stream.next()) != null) {
|
|
104
|
+
if (ch === quote && !escaped) {
|
|
105
|
+
// end of string
|
|
106
|
+
state.tokenize = tokenBase;
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
escaped = !escaped && ch === '\\';
|
|
110
|
+
}
|
|
111
|
+
return 'string';
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// CodeMirror API
|
|
116
|
+
return {
|
|
117
|
+
name: 'sentinel',
|
|
118
|
+
startState: function () {
|
|
119
|
+
return {
|
|
120
|
+
tokenize: tokenBase
|
|
121
|
+
};
|
|
122
|
+
},
|
|
123
|
+
token: function (stream, state) {
|
|
124
|
+
return state.tokenize(stream, state);
|
|
125
|
+
},
|
|
126
|
+
languageData: {
|
|
127
|
+
commentTokens: {
|
|
128
|
+
line: '//',
|
|
129
|
+
block: {
|
|
130
|
+
open: '/*',
|
|
131
|
+
close: '*/'
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
closeBrackets: {
|
|
135
|
+
brackets: ['(', '[', '{', '"', "'"]
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
const sentinel = mkSentinel({});
|
|
141
|
+
|
|
142
|
+
export { mkSentinel, sentinel };
|
|
143
|
+
//# sourceMappingURL=sentinel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sentinel.js","sources":["../../../../src/modifiers/hds-code-editor/languages/sentinel.ts"],"sourcesContent":["import type { StringStream } from '@codemirror/language';\n\ntype Quote = '\"' | \"'\";\n\ninterface ParserConfig {\n delimiters?: RegExp;\n operators?: RegExp;\n}\n\ninterface SentinelState {\n tokenize: (stream: StringStream, state: SentinelState) => string | null;\n}\n\nfunction wordRegexp(words: string[]): RegExp {\n return new RegExp('^((' + words.join(')|(') + '))\\\\b');\n}\n\n// logical operators\nconst wordOperators = wordRegexp([\n 'and',\n 'contains',\n 'else',\n 'in',\n 'is',\n 'matches',\n 'not',\n 'or',\n 'xor',\n]);\n\n// keywords\nconst sentinelKeywords = [\n 'all',\n 'any',\n 'as',\n 'break',\n 'case',\n 'continue',\n 'default',\n 'else',\n 'empty',\n 'filter',\n 'for',\n 'func',\n 'if',\n 'import',\n 'map',\n 'param',\n 'return',\n 'rule',\n 'when',\n];\n\n// built-ins / constants\nconst sentinelBuiltins = [\n 'true',\n 'false',\n 'null',\n 'undefined',\n 'length',\n 'append',\n 'delete',\n 'keys',\n 'values',\n 'range',\n 'print',\n 'int',\n 'float',\n 'string',\n 'bool',\n];\n\nconst keywords = wordRegexp(sentinelKeywords);\nconst builtins = wordRegexp(sentinelBuiltins);\n\nexport function mkSentinel(parserConf: ParserConfig) {\n const ERRORCLASS = 'error';\n\n // delimiters, operators, etc.\n const delimiters = parserConf.delimiters ?? /^[()[\\]{},:;=.]/;\n const operators = [\n parserConf.operators ?? /^(\\+|-|\\*|\\/|%|<=|>=|<|>|==|!=|!|&&|\\|\\|)/,\n ];\n\n // tokenizer\n function tokenBase(\n stream: StringStream,\n state: SentinelState\n ): string | null {\n return tokenBaseInner(stream, state);\n }\n\n function tokenBaseInner(\n stream: StringStream,\n state: SentinelState\n ): string | null {\n if (stream.eatSpace()) {\n return null;\n }\n\n // comments\n // single-line `//`\n if (stream.match('//')) {\n stream.skipToEnd();\n return 'comment';\n }\n // multi-line `/* ... */`\n if (stream.match('/*')) {\n state.tokenize = tokenComment;\n return state.tokenize(stream, state);\n }\n\n // strings\n if (stream.match(/\"/) || stream.match(/'/)) {\n // We’ve just consumed either \" or '\n const quote = stream.current();\n state.tokenize = tokenString(quote as Quote);\n return state.tokenize(stream, state);\n }\n\n // numbers\n if (stream.match(/^[0-9]+(\\.[0-9]+)?/)) {\n return 'number';\n }\n\n // operators\n for (let i = 0; i < operators.length; i++) {\n if (stream.match(operators[i]!)) {\n return 'operator';\n }\n }\n\n // delimiters/punctuation\n if (stream.match(delimiters)) {\n return 'punctuation';\n }\n\n // keywords, operators, builtins\n if (stream.match(keywords) || stream.match(wordOperators)) {\n return 'keyword';\n }\n if (stream.match(builtins)) {\n return 'builtin';\n }\n\n // identifiers (variables, function names, etc.)\n if (stream.match(/^[_A-Za-z][_A-Za-z0-9]*/)) {\n return 'variable';\n }\n\n // if nothing matched, consume one character and mark it as error\n stream.next();\n\n return ERRORCLASS;\n }\n\n // multi-line comment tokenizer\n function tokenComment(stream: StringStream, state: SentinelState): string {\n while (!stream.eol()) {\n if (stream.match('*/')) {\n state.tokenize = tokenBase;\n break;\n }\n stream.next();\n }\n return 'comment';\n }\n\n // string tokenizer factory\n function tokenString(\n quote: Quote\n ): (stream: StringStream, state: SentinelState) => string {\n return function (stream: StringStream, state: SentinelState) {\n let escaped = false;\n let ch = null;\n\n while ((ch = stream.next()) != null) {\n if (ch === quote && !escaped) {\n // end of string\n state.tokenize = tokenBase;\n break;\n }\n escaped = !escaped && ch === '\\\\';\n }\n\n return 'string';\n };\n }\n\n // CodeMirror API\n return {\n name: 'sentinel',\n\n startState: function (): SentinelState {\n return {\n tokenize: tokenBase,\n };\n },\n\n token: function (\n stream: StringStream,\n state: SentinelState\n ): string | null {\n return state.tokenize(stream, state);\n },\n\n languageData: {\n commentTokens: { line: '//', block: { open: '/*', close: '*/' } },\n closeBrackets: { brackets: ['(', '[', '{', '\"', \"'\"] },\n },\n };\n}\n\nexport const sentinel = mkSentinel({});\n"],"names":["wordRegexp","words","RegExp","join","wordOperators","sentinelKeywords","sentinelBuiltins","keywords","builtins","mkSentinel","parserConf","ERRORCLASS","delimiters","operators","tokenBase","stream","state","tokenBaseInner","eatSpace","match","skipToEnd","tokenize","tokenComment","quote","current","tokenString","i","length","next","eol","escaped","ch","name","startState","token","languageData","commentTokens","line","block","open","close","closeBrackets","brackets","sentinel"],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) HashiCorp, Inc.
|
|
3
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
const HDS_CODE_BLOCK_WHITE = '#efeff1';
|
|
7
|
+
const HDS_CODE_BLOCK_BLUE = '#2d8eff';
|
|
8
|
+
const HDS_CODE_BLOCK_GREEN = '#86ff13';
|
|
9
|
+
const HDS_CODE_BLOCK_ORANGE = '#ffa800';
|
|
10
|
+
const HDS_CODE_BLOCK_PURPLE = '#c76cff';
|
|
11
|
+
const HDS_CODE_BLOCK_RED = '#ff3b20';
|
|
12
|
+
const HDS_CODE_BLOCK_CYAN = '#32fff7';
|
|
13
|
+
const HDS_CODE_BLOCK_LINE_HIGHLIGHT = 'rgba(0, 74, 222, 0.2)';
|
|
14
|
+
const HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER = '#1b5fe5';
|
|
15
|
+
const HDS_CODE_EDITOR_COLOR_BORDER_STRONG = 'rgba(178, 182, 189, 40%)';
|
|
16
|
+
const HDS_CODE_EDITOR_COLOR_BORDER_PRIMARY = 'rgba(178, 182, 189, 20%)';
|
|
17
|
+
const HDS_CODE_EDITOR_COLOR_FOREGROUND_PRIMARY = '#d5d7db';
|
|
18
|
+
const HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT = '#878a8f';
|
|
19
|
+
const HDS_CODE_EDITOR_COLOR_FOREGROUND_HIGH_CONTRAST = '#ffffff';
|
|
20
|
+
const HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY = '#0D0E12';
|
|
21
|
+
const HDS_CODE_EDITOR_COLOR_SURFACE_FAINT = '#15181e';
|
|
22
|
+
|
|
23
|
+
export { HDS_CODE_BLOCK_BLUE, HDS_CODE_BLOCK_CYAN, HDS_CODE_BLOCK_GREEN, HDS_CODE_BLOCK_LINE_HIGHLIGHT, HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER, HDS_CODE_BLOCK_ORANGE, HDS_CODE_BLOCK_PURPLE, HDS_CODE_BLOCK_RED, HDS_CODE_BLOCK_WHITE, HDS_CODE_EDITOR_COLOR_BORDER_PRIMARY, HDS_CODE_EDITOR_COLOR_BORDER_STRONG, HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT, HDS_CODE_EDITOR_COLOR_FOREGROUND_HIGH_CONTRAST, HDS_CODE_EDITOR_COLOR_FOREGROUND_PRIMARY, HDS_CODE_EDITOR_COLOR_SURFACE_FAINT, HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY };
|
|
24
|
+
//# sourceMappingURL=hds-dark-palette.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hds-dark-palette.js","sources":["../../../../src/modifiers/hds-code-editor/palettes/hds-dark-palette.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nexport const HDS_CODE_BLOCK_WHITE = '#efeff1';\nexport const HDS_CODE_BLOCK_BLUE = '#2d8eff';\nexport const HDS_CODE_BLOCK_GREEN = '#86ff13';\nexport const HDS_CODE_BLOCK_ORANGE = '#ffa800';\nexport const HDS_CODE_BLOCK_PURPLE = '#c76cff';\nexport const HDS_CODE_BLOCK_RED = '#ff3b20';\nexport const HDS_CODE_BLOCK_CYAN = '#32fff7';\n\nexport const HDS_CODE_BLOCK_LINE_HIGHLIGHT = 'rgba(0, 74, 222, 0.2)';\nexport const HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER = '#1b5fe5';\n\nexport const HDS_CODE_EDITOR_COLOR_BORDER_STRONG = 'rgba(178, 182, 189, 40%)';\nexport const HDS_CODE_EDITOR_COLOR_BORDER_PRIMARY = 'rgba(178, 182, 189, 20%)';\nexport const HDS_CODE_EDITOR_COLOR_FOREGROUND_PRIMARY = '#d5d7db';\nexport const HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT = '#878a8f';\nexport const HDS_CODE_EDITOR_COLOR_FOREGROUND_HIGH_CONTRAST = '#ffffff';\nexport const HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY = '#0D0E12';\nexport const HDS_CODE_EDITOR_COLOR_SURFACE_FAINT = '#15181e';\n"],"names":["HDS_CODE_BLOCK_WHITE","HDS_CODE_BLOCK_BLUE","HDS_CODE_BLOCK_GREEN","HDS_CODE_BLOCK_ORANGE","HDS_CODE_BLOCK_PURPLE","HDS_CODE_BLOCK_RED","HDS_CODE_BLOCK_CYAN","HDS_CODE_BLOCK_LINE_HIGHLIGHT","HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER","HDS_CODE_EDITOR_COLOR_BORDER_STRONG","HDS_CODE_EDITOR_COLOR_BORDER_PRIMARY","HDS_CODE_EDITOR_COLOR_FOREGROUND_PRIMARY","HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT","HDS_CODE_EDITOR_COLOR_FOREGROUND_HIGH_CONTRAST","HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY","HDS_CODE_EDITOR_COLOR_SURFACE_FAINT"],"mappings":"AAAA;AACA;AACA;AACA;;AAEO,MAAMA,oBAAoB,GAAG;AAC7B,MAAMC,mBAAmB,GAAG;AAC5B,MAAMC,oBAAoB,GAAG;AAC7B,MAAMC,qBAAqB,GAAG;AAC9B,MAAMC,qBAAqB,GAAG;AAC9B,MAAMC,kBAAkB,GAAG;AAC3B,MAAMC,mBAAmB,GAAG;AAE5B,MAAMC,6BAA6B,GAAG;AACtC,MAAMC,oCAAoC,GAAG;AAE7C,MAAMC,mCAAmC,GAAG;AAC5C,MAAMC,oCAAoC,GAAG;AAC7C,MAAMC,wCAAwC,GAAG;AACjD,MAAMC,sCAAsC,GAAG;AAC/C,MAAMC,8CAA8C,GAAG;AACvD,MAAMC,qCAAqC,GAAG;AAC9C,MAAMC,mCAAmC,GAAG;;;;"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { EditorView } from '@codemirror/view';
|
|
2
|
+
import { HDS_CODE_BLOCK_WHITE, HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY, HDS_CODE_BLOCK_GREEN, HDS_CODE_EDITOR_COLOR_BORDER_PRIMARY, HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT, HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER, HDS_CODE_BLOCK_LINE_HIGHLIGHT, HDS_CODE_EDITOR_COLOR_FOREGROUND_HIGH_CONTRAST } from '../palettes/hds-dark-palette.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Copyright (c) HashiCorp, Inc.
|
|
6
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
const hdsDark = EditorView.theme({
|
|
10
|
+
'&': {
|
|
11
|
+
color: HDS_CODE_BLOCK_WHITE,
|
|
12
|
+
backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,
|
|
13
|
+
height: '100%'
|
|
14
|
+
},
|
|
15
|
+
'& ::selection': {
|
|
16
|
+
backgroundColor: HDS_CODE_BLOCK_GREEN,
|
|
17
|
+
color: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY
|
|
18
|
+
},
|
|
19
|
+
'.cm-content': {
|
|
20
|
+
padding: '16px 0'
|
|
21
|
+
},
|
|
22
|
+
'.cm-gutters': {
|
|
23
|
+
backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY
|
|
24
|
+
},
|
|
25
|
+
'.cm-gutter': {
|
|
26
|
+
borderRight: `1px solid ${HDS_CODE_EDITOR_COLOR_BORDER_PRIMARY}`
|
|
27
|
+
},
|
|
28
|
+
'.cm-lineNumbers': {
|
|
29
|
+
color: HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT
|
|
30
|
+
},
|
|
31
|
+
'.cm-lineNumbers .cm-gutterElement': {
|
|
32
|
+
borderLeft: '4px solid transparent',
|
|
33
|
+
padding: '0 16px'
|
|
34
|
+
},
|
|
35
|
+
'.cm-gutterElement.cm-activeLineGutter': {
|
|
36
|
+
backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY
|
|
37
|
+
},
|
|
38
|
+
'&:not(.cm-hasSelection).cm-focused .cm-gutterElement.cm-activeLineGutter': {
|
|
39
|
+
borderColor: HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER,
|
|
40
|
+
backgroundColor: HDS_CODE_BLOCK_LINE_HIGHLIGHT,
|
|
41
|
+
color: HDS_CODE_EDITOR_COLOR_FOREGROUND_HIGH_CONTRAST,
|
|
42
|
+
outline: `1px solid ${HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER}`
|
|
43
|
+
},
|
|
44
|
+
'.cm-line': {
|
|
45
|
+
padding: '0 16px'
|
|
46
|
+
},
|
|
47
|
+
'.cm-activeLine': {
|
|
48
|
+
backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY
|
|
49
|
+
},
|
|
50
|
+
'&:not(.cm-hasSelection).cm-focused .cm-activeLine': {
|
|
51
|
+
backgroundColor: HDS_CODE_BLOCK_LINE_HIGHLIGHT,
|
|
52
|
+
outline: `1px solid ${HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER}`
|
|
53
|
+
},
|
|
54
|
+
'.cm-matchingBracket': {
|
|
55
|
+
outline: `1px solid ${HDS_CODE_BLOCK_WHITE}`
|
|
56
|
+
}
|
|
57
|
+
}, {
|
|
58
|
+
dark: true
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
export { hdsDark as default };
|
|
62
|
+
//# sourceMappingURL=hds-dark-theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hds-dark-theme.js","sources":["../../../../src/modifiers/hds-code-editor/themes/hds-dark-theme.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport { EditorView } from '@codemirror/view';\nimport {\n HDS_CODE_BLOCK_LINE_HIGHLIGHT,\n HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER,\n HDS_CODE_BLOCK_GREEN,\n HDS_CODE_BLOCK_WHITE,\n HDS_CODE_EDITOR_COLOR_BORDER_PRIMARY,\n HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT,\n HDS_CODE_EDITOR_COLOR_FOREGROUND_HIGH_CONTRAST,\n} from '../palettes/hds-dark-palette.ts';\n\nconst hdsDark = EditorView.theme(\n {\n '&': {\n color: HDS_CODE_BLOCK_WHITE,\n backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n height: '100%',\n },\n '& ::selection': {\n backgroundColor: HDS_CODE_BLOCK_GREEN,\n color: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n },\n '.cm-content': {\n padding: '16px 0',\n },\n '.cm-gutters': {\n backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n },\n '.cm-gutter': {\n borderRight: `1px solid ${HDS_CODE_EDITOR_COLOR_BORDER_PRIMARY}`,\n },\n '.cm-lineNumbers': {\n color: HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT,\n },\n '.cm-lineNumbers .cm-gutterElement': {\n borderLeft: '4px solid transparent',\n padding: '0 16px',\n },\n '.cm-gutterElement.cm-activeLineGutter': {\n backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n },\n '&:not(.cm-hasSelection).cm-focused .cm-gutterElement.cm-activeLineGutter':\n {\n borderColor: HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER,\n backgroundColor: HDS_CODE_BLOCK_LINE_HIGHLIGHT,\n color: HDS_CODE_EDITOR_COLOR_FOREGROUND_HIGH_CONTRAST,\n outline: `1px solid ${HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER}`,\n },\n '.cm-line': {\n padding: '0 16px',\n },\n '.cm-activeLine': {\n backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n },\n '&:not(.cm-hasSelection).cm-focused .cm-activeLine': {\n backgroundColor: HDS_CODE_BLOCK_LINE_HIGHLIGHT,\n outline: `1px solid ${HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER}`,\n },\n '.cm-matchingBracket': {\n outline: `1px solid ${HDS_CODE_BLOCK_WHITE}`,\n },\n },\n { dark: true }\n);\n\nexport default hdsDark;\n"],"names":["hdsDark","EditorView","theme","color","HDS_CODE_BLOCK_WHITE","backgroundColor","HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY","height","HDS_CODE_BLOCK_GREEN","padding","borderRight","HDS_CODE_EDITOR_COLOR_BORDER_PRIMARY","HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT","borderLeft","borderColor","HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER","HDS_CODE_BLOCK_LINE_HIGHLIGHT","HDS_CODE_EDITOR_COLOR_FOREGROUND_HIGH_CONTRAST","outline","dark"],"mappings":";;;AAAA;AACA;AACA;AACA;;AAcA,MAAMA,OAAO,GAAGC,UAAU,CAACC,KAAK,CAC9B;AACE,EAAA,GAAG,EAAE;AACHC,IAAAA,KAAK,EAAEC,oBAAoB;AAC3BC,IAAAA,eAAe,EAAEC,qCAAqC;AACtDC,IAAAA,MAAM,EAAE;GACT;AACD,EAAA,eAAe,EAAE;AACfF,IAAAA,eAAe,EAAEG,oBAAoB;AACrCL,IAAAA,KAAK,EAAEG;GACR;AACD,EAAA,aAAa,EAAE;AACbG,IAAAA,OAAO,EAAE;GACV;AACD,EAAA,aAAa,EAAE;AACbJ,IAAAA,eAAe,EAAEC;GAClB;AACD,EAAA,YAAY,EAAE;IACZI,WAAW,EAAE,aAAaC,oCAAoC,CAAA;GAC/D;AACD,EAAA,iBAAiB,EAAE;AACjBR,IAAAA,KAAK,EAAES;GACR;AACD,EAAA,mCAAmC,EAAE;AACnCC,IAAAA,UAAU,EAAE,uBAAuB;AACnCJ,IAAAA,OAAO,EAAE;GACV;AACD,EAAA,uCAAuC,EAAE;AACvCJ,IAAAA,eAAe,EAAEC;GAClB;AACD,EAAA,0EAA0E,EACxE;AACEQ,IAAAA,WAAW,EAAEC,oCAAoC;AACjDV,IAAAA,eAAe,EAAEW,6BAA6B;AAC9Cb,IAAAA,KAAK,EAAEc,8CAA8C;IACrDC,OAAO,EAAE,aAAaH,oCAAoC,CAAA;GAC3D;AACH,EAAA,UAAU,EAAE;AACVN,IAAAA,OAAO,EAAE;GACV;AACD,EAAA,gBAAgB,EAAE;AAChBJ,IAAAA,eAAe,EAAEC;GAClB;AACD,EAAA,mDAAmD,EAAE;AACnDD,IAAAA,eAAe,EAAEW,6BAA6B;IAC9CE,OAAO,EAAE,aAAaH,oCAAoC,CAAA;GAC3D;AACD,EAAA,qBAAqB,EAAE;IACrBG,OAAO,EAAE,aAAad,oBAAoB,CAAA;AAC5C;AACF,CAAC,EACD;AAAEe,EAAAA,IAAI,EAAE;AAAK,CACf;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) HashiCorp, Inc.
|
|
3
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
let HdsCodeEditorLanguageValues = /*#__PURE__*/function (HdsCodeEditorLanguageValues) {
|
|
7
|
+
HdsCodeEditorLanguageValues["Ruby"] = "ruby";
|
|
8
|
+
HdsCodeEditorLanguageValues["Shell"] = "shell";
|
|
9
|
+
HdsCodeEditorLanguageValues["Go"] = "go";
|
|
10
|
+
HdsCodeEditorLanguageValues["Hcl"] = "hcl";
|
|
11
|
+
HdsCodeEditorLanguageValues["Json"] = "json";
|
|
12
|
+
HdsCodeEditorLanguageValues["Sentinel"] = "sentinel";
|
|
13
|
+
HdsCodeEditorLanguageValues["Sql"] = "sql";
|
|
14
|
+
HdsCodeEditorLanguageValues["Yaml"] = "yaml";
|
|
15
|
+
return HdsCodeEditorLanguageValues;
|
|
16
|
+
}({});
|
|
17
|
+
|
|
18
|
+
export { HdsCodeEditorLanguageValues };
|
|
19
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../src/modifiers/hds-code-editor/types.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nexport enum HdsCodeEditorLanguageValues {\n Ruby = 'ruby',\n Shell = 'shell',\n Go = 'go',\n Hcl = 'hcl',\n Json = 'json',\n Sentinel = 'sentinel',\n Sql = 'sql',\n Yaml = 'yaml',\n}\n\nexport type HdsCodeEditorLanguages = `${HdsCodeEditorLanguageValues}`;\n"],"names":["HdsCodeEditorLanguageValues"],"mappings":"AAAA;AACA;AACA;AACA;;AAEYA,IAAAA,2BAA2B,0BAA3BA,2BAA2B,EAAA;EAA3BA,2BAA2B,CAAA,MAAA,CAAA,GAAA,MAAA;EAA3BA,2BAA2B,CAAA,OAAA,CAAA,GAAA,OAAA;EAA3BA,2BAA2B,CAAA,IAAA,CAAA,GAAA,IAAA;EAA3BA,2BAA2B,CAAA,KAAA,CAAA,GAAA,KAAA;EAA3BA,2BAA2B,CAAA,MAAA,CAAA,GAAA,MAAA;EAA3BA,2BAA2B,CAAA,UAAA,CAAA,GAAA,UAAA;EAA3BA,2BAA2B,CAAA,KAAA,CAAA,GAAA,KAAA;EAA3BA,2BAA2B,CAAA,MAAA,CAAA,GAAA,MAAA;AAAA,EAAA,OAA3BA,2BAA2B;AAAA,CAAA,CAAA,EAAA;;;;"}
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import { a as _defineProperty } from '../_rollupPluginBabelHelpers-C_TsMG3M.js';
|
|
2
|
+
import { buildTask } from 'ember-concurrency/async-arrow-runtime';
|
|
3
|
+
import Modifier from 'ember-modifier';
|
|
4
|
+
import { assert, warn } from '@ember/debug';
|
|
5
|
+
import { registerDestructor } from '@ember/destroyable';
|
|
6
|
+
import 'ember-concurrency';
|
|
7
|
+
import config from 'ember-get-config';
|
|
8
|
+
import hdsDark from './hds-code-editor/themes/hds-dark-theme.js';
|
|
9
|
+
import hdsDarkHighlightStyle from './hds-code-editor/highlight-styles/hds-dark-highlight-style.js';
|
|
10
|
+
|
|
11
|
+
async function defineStreamLanguage(streamParser) {
|
|
12
|
+
const {
|
|
13
|
+
StreamLanguage
|
|
14
|
+
} = await import('@codemirror/language');
|
|
15
|
+
return StreamLanguage.define(streamParser);
|
|
16
|
+
}
|
|
17
|
+
const LOADER_HEIGHT = '164px';
|
|
18
|
+
const LANGUAGES = {
|
|
19
|
+
ruby: {
|
|
20
|
+
load: async () => {
|
|
21
|
+
const {
|
|
22
|
+
ruby
|
|
23
|
+
} = await import('@codemirror/legacy-modes/mode/ruby');
|
|
24
|
+
return defineStreamLanguage(ruby);
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
sentinel: {
|
|
28
|
+
load: async () => {
|
|
29
|
+
const {
|
|
30
|
+
sentinel
|
|
31
|
+
} = await import('./hds-code-editor/languages/sentinel.js');
|
|
32
|
+
return defineStreamLanguage(sentinel);
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
shell: {
|
|
36
|
+
load: async () => {
|
|
37
|
+
const {
|
|
38
|
+
shell
|
|
39
|
+
} = await import('@codemirror/legacy-modes/mode/shell');
|
|
40
|
+
return defineStreamLanguage(shell);
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
go: {
|
|
44
|
+
load: async () => (await import('@codemirror/lang-go')).go()
|
|
45
|
+
},
|
|
46
|
+
hcl: {
|
|
47
|
+
load: async () => (await import('codemirror-lang-hcl')).hcl()
|
|
48
|
+
},
|
|
49
|
+
json: {
|
|
50
|
+
load: async () => (await import('@codemirror/lang-json')).json()
|
|
51
|
+
},
|
|
52
|
+
sql: {
|
|
53
|
+
load: async () => (await import('@codemirror/lang-sql')).sql()
|
|
54
|
+
},
|
|
55
|
+
yaml: {
|
|
56
|
+
load: async () => (await import('@codemirror/lang-yaml')).yaml()
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
class HdsCodeEditorModifier extends Modifier {
|
|
60
|
+
constructor(owner, args) {
|
|
61
|
+
super(owner, args);
|
|
62
|
+
_defineProperty(this, "editor", undefined);
|
|
63
|
+
_defineProperty(this, "element", undefined);
|
|
64
|
+
_defineProperty(this, "onBlur", undefined);
|
|
65
|
+
_defineProperty(this, "onInput", undefined);
|
|
66
|
+
_defineProperty(this, "blurHandler", undefined);
|
|
67
|
+
_defineProperty(this, "observer", undefined);
|
|
68
|
+
_defineProperty(this, "_loadLanguageTask", buildTask(() => ({
|
|
69
|
+
context: this,
|
|
70
|
+
generator: function* (language) {
|
|
71
|
+
if (language === undefined) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
const validLanguageKeys = Object.keys(LANGUAGES);
|
|
76
|
+
assert(`\`hds-code-editor\` modifier - \`language\` must be one of the following: ${validLanguageKeys.join(', ')}; received: ${language}`, validLanguageKeys.includes(language));
|
|
77
|
+
return LANGUAGES[language].load();
|
|
78
|
+
} catch (error) {
|
|
79
|
+
warn(`\`hds-code-editor\` modifier - Failed to dynamically import the CodeMirror language module for '${language}'. Error: ${JSON.stringify(error)}`, {
|
|
80
|
+
id: 'hds-code-editor.load-language-task.import-failed'
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}), {
|
|
85
|
+
drop: true
|
|
86
|
+
}, "_loadLanguageTask", null));
|
|
87
|
+
_defineProperty(this, "_buildExtensionsTask", buildTask(() => ({
|
|
88
|
+
context: this,
|
|
89
|
+
generator: function* ({
|
|
90
|
+
language
|
|
91
|
+
}) {
|
|
92
|
+
const [{
|
|
93
|
+
EditorView,
|
|
94
|
+
keymap,
|
|
95
|
+
lineNumbers,
|
|
96
|
+
highlightActiveLineGutter,
|
|
97
|
+
highlightSpecialChars,
|
|
98
|
+
highlightActiveLine
|
|
99
|
+
}, {
|
|
100
|
+
defaultKeymap,
|
|
101
|
+
history,
|
|
102
|
+
historyKeymap
|
|
103
|
+
}, {
|
|
104
|
+
bracketMatching,
|
|
105
|
+
syntaxHighlighting
|
|
106
|
+
}] = yield Promise.all([import('@codemirror/view'), import('@codemirror/commands'), import('@codemirror/language')]);
|
|
107
|
+
const languageExtension = yield this._loadLanguageTask.perform(language);
|
|
108
|
+
const handleUpdateExtension = EditorView.updateListener.of(update => {
|
|
109
|
+
// toggle a class if the update has/does not have a selection
|
|
110
|
+
if (update.selectionSet) {
|
|
111
|
+
update.view.dom.classList.toggle('cm-hasSelection', !update.state.selection.main.empty);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// call the onInput callback if the document has changed
|
|
115
|
+
if (!update.docChanged || this.onInput === undefined) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
this.onInput(update.state.doc.toString());
|
|
119
|
+
});
|
|
120
|
+
let extensions = [bracketMatching(), highlightActiveLine(), highlightActiveLineGutter(), highlightSpecialChars(), history(), lineNumbers(), keymap.of([...defaultKeymap, ...historyKeymap]),
|
|
121
|
+
// custom extensions
|
|
122
|
+
handleUpdateExtension,
|
|
123
|
+
// hds dark theme
|
|
124
|
+
hdsDark, syntaxHighlighting(hdsDarkHighlightStyle)];
|
|
125
|
+
if (languageExtension !== undefined) {
|
|
126
|
+
extensions = [languageExtension, ...extensions];
|
|
127
|
+
}
|
|
128
|
+
return extensions;
|
|
129
|
+
}
|
|
130
|
+
}), {
|
|
131
|
+
drop: true
|
|
132
|
+
}, "_buildExtensionsTask", null));
|
|
133
|
+
_defineProperty(this, "_createEditorTask", buildTask(() => ({
|
|
134
|
+
context: this,
|
|
135
|
+
generator: function* (element, {
|
|
136
|
+
language,
|
|
137
|
+
value
|
|
138
|
+
}) {
|
|
139
|
+
try {
|
|
140
|
+
const {
|
|
141
|
+
EditorState
|
|
142
|
+
} = yield import('@codemirror/state');
|
|
143
|
+
const {
|
|
144
|
+
EditorView
|
|
145
|
+
} = yield import('@codemirror/view');
|
|
146
|
+
const extensions = yield this._buildExtensionsTask.perform({
|
|
147
|
+
language
|
|
148
|
+
});
|
|
149
|
+
const state = EditorState.create({
|
|
150
|
+
doc: value,
|
|
151
|
+
extensions
|
|
152
|
+
});
|
|
153
|
+
const editor = new EditorView({
|
|
154
|
+
state,
|
|
155
|
+
parent: element
|
|
156
|
+
});
|
|
157
|
+
return editor;
|
|
158
|
+
} catch (error) {
|
|
159
|
+
console.error(`\`hds-code-editor\` modifier - Failed to setup the CodeMirror editor. Error: ${JSON.stringify(error)}`);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}), {
|
|
163
|
+
drop: true
|
|
164
|
+
}, "_createEditorTask", null));
|
|
165
|
+
_defineProperty(this, "_setupTask", buildTask(() => ({
|
|
166
|
+
context: this,
|
|
167
|
+
generator: function* (element, _positional, named) {
|
|
168
|
+
const {
|
|
169
|
+
onBlur,
|
|
170
|
+
onInput,
|
|
171
|
+
onSetup,
|
|
172
|
+
ariaDescribedBy,
|
|
173
|
+
ariaLabel,
|
|
174
|
+
ariaLabelledBy,
|
|
175
|
+
language,
|
|
176
|
+
value
|
|
177
|
+
} = named;
|
|
178
|
+
this.onInput = onInput;
|
|
179
|
+
this.onBlur = onBlur;
|
|
180
|
+
this.element = element;
|
|
181
|
+
const editor = yield this._createEditorTask.perform(element, {
|
|
182
|
+
language,
|
|
183
|
+
value
|
|
184
|
+
});
|
|
185
|
+
if (editor === undefined) {
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
this.editor = editor;
|
|
189
|
+
if (onBlur !== undefined) {
|
|
190
|
+
this._setupEditorBlurHandler(element, onBlur);
|
|
191
|
+
}
|
|
192
|
+
this._setupEditorAriaAttributes(editor, {
|
|
193
|
+
ariaDescribedBy,
|
|
194
|
+
ariaLabel,
|
|
195
|
+
ariaLabelledBy
|
|
196
|
+
});
|
|
197
|
+
onSetup?.(this.editor);
|
|
198
|
+
}
|
|
199
|
+
}), {
|
|
200
|
+
drop: true
|
|
201
|
+
}, "_setupTask", null));
|
|
202
|
+
registerDestructor(this, () => {
|
|
203
|
+
this.observer?.disconnect();
|
|
204
|
+
if (this.onBlur !== undefined) {
|
|
205
|
+
this.element.removeEventListener('blur', this.blurHandler);
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
modify(element, positional, named) {
|
|
210
|
+
// the intersection observer makes loading unreliable in tests
|
|
211
|
+
if (config.environment === 'test') {
|
|
212
|
+
this._setupTask.perform(element, positional, named);
|
|
213
|
+
} else {
|
|
214
|
+
this.observer = new IntersectionObserver(entries => {
|
|
215
|
+
entries.forEach(entry => {
|
|
216
|
+
const setupHasNotRun = this._setupTask.performCount === 0;
|
|
217
|
+
if (entry.isIntersecting && setupHasNotRun) {
|
|
218
|
+
this._setupTask.perform(element, positional, named);
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
}, {
|
|
222
|
+
rootMargin: LOADER_HEIGHT
|
|
223
|
+
});
|
|
224
|
+
this.observer.observe(element);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
_setupEditorBlurHandler(element, onBlur) {
|
|
228
|
+
const inputElement = element.querySelector('.cm-content');
|
|
229
|
+
if (inputElement === null) {
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
this.blurHandler = event => onBlur(this.editor, event);
|
|
233
|
+
inputElement.addEventListener('blur', this.blurHandler);
|
|
234
|
+
}
|
|
235
|
+
_setupEditorAriaLabel(editor, {
|
|
236
|
+
ariaLabel,
|
|
237
|
+
ariaLabelledBy
|
|
238
|
+
}) {
|
|
239
|
+
assert('`hds-code-editor` modifier - Either `ariaLabel` or `ariaLabelledBy` must be provided', ariaLabel !== undefined || ariaLabelledBy !== undefined);
|
|
240
|
+
if (ariaLabel !== undefined) {
|
|
241
|
+
editor.dom.querySelector('[role="textbox"]')?.setAttribute('aria-label', ariaLabel);
|
|
242
|
+
} else if (ariaLabelledBy !== undefined) {
|
|
243
|
+
editor.dom.querySelector('[role="textbox"]')?.setAttribute('aria-labelledby', ariaLabelledBy);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
_setupEditorAriaDescribedBy(editor, ariaDescribedBy) {
|
|
247
|
+
if (ariaDescribedBy === undefined) {
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
editor.dom.querySelector('[role="textbox"]')?.setAttribute('aria-describedby', ariaDescribedBy);
|
|
251
|
+
}
|
|
252
|
+
_setupEditorAriaAttributes(editor, {
|
|
253
|
+
ariaDescribedBy,
|
|
254
|
+
ariaLabel,
|
|
255
|
+
ariaLabelledBy
|
|
256
|
+
}) {
|
|
257
|
+
this._setupEditorAriaLabel(editor, {
|
|
258
|
+
ariaLabel,
|
|
259
|
+
ariaLabelledBy
|
|
260
|
+
});
|
|
261
|
+
this._setupEditorAriaDescribedBy(editor, ariaDescribedBy);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
export { HdsCodeEditorModifier as default };
|
|
266
|
+
//# sourceMappingURL=hds-code-editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hds-code-editor.js","sources":["../../src/modifiers/hds-code-editor.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Modifier from 'ember-modifier';\nimport { assert, warn } from '@ember/debug';\nimport { registerDestructor } from '@ember/destroyable';\nimport { task } from 'ember-concurrency';\nimport config from 'ember-get-config';\n\n// hds-dark theme\nimport hdsDarkTheme from './hds-code-editor/themes/hds-dark-theme.ts';\nimport hdsDarkHighlightStyle from './hds-code-editor/highlight-styles/hds-dark-highlight-style.ts';\n\nimport type { HdsCodeEditorLanguages } from './hds-code-editor/types.ts';\nimport type { ArgsFor, PositionalArgs, NamedArgs } from 'ember-modifier';\nimport type {\n StreamLanguage as StreamLanguageType,\n StreamParser as StreamParserType,\n} from '@codemirror/language';\nimport type { Extension } from '@codemirror/state';\nimport type { EditorView, ViewUpdate } from '@codemirror/view';\n\ntype HdsCodeEditorBlurHandler = (editor: EditorView, event: FocusEvent) => void;\n\nexport interface HdsCodeEditorSignature {\n Args: {\n Named: {\n ariaDescribedBy?: string;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n language?: HdsCodeEditorLanguages;\n value?: string;\n onInput?: (newVal: string) => void;\n onBlur?: HdsCodeEditorBlurHandler;\n onSetup?: (editor: EditorView) => unknown;\n };\n };\n}\n\nasync function defineStreamLanguage(streamParser: StreamParserType<unknown>) {\n const { StreamLanguage } = await import('@codemirror/language');\n\n return StreamLanguage.define(streamParser);\n}\n\nconst LOADER_HEIGHT = '164px';\n\nconst LANGUAGES: Record<\n HdsCodeEditorLanguages,\n { load: () => Promise<Extension | StreamLanguageType<unknown>> }\n> = {\n ruby: {\n load: async () => {\n const { ruby } = await import('@codemirror/legacy-modes/mode/ruby');\n return defineStreamLanguage(ruby);\n },\n },\n sentinel: {\n load: async () => {\n const { sentinel } = await import(\n './hds-code-editor/languages/sentinel.ts'\n );\n return defineStreamLanguage(sentinel);\n },\n },\n shell: {\n load: async () => {\n const { shell } = await import('@codemirror/legacy-modes/mode/shell');\n return defineStreamLanguage(shell);\n },\n },\n go: {\n load: async () => (await import('@codemirror/lang-go')).go(),\n },\n hcl: {\n load: async () => (await import('codemirror-lang-hcl')).hcl(),\n },\n json: {\n load: async () => (await import('@codemirror/lang-json')).json(),\n },\n sql: {\n load: async () => (await import('@codemirror/lang-sql')).sql(),\n },\n yaml: {\n load: async () => (await import('@codemirror/lang-yaml')).yaml(),\n },\n} as const;\n\nexport default class HdsCodeEditorModifier extends Modifier<HdsCodeEditorSignature> {\n editor!: EditorView;\n element!: HTMLElement;\n\n onBlur: HdsCodeEditorSignature['Args']['Named']['onBlur'];\n onInput: HdsCodeEditorSignature['Args']['Named']['onInput'];\n\n blurHandler!: (event: FocusEvent) => void;\n observer!: IntersectionObserver;\n\n constructor(\n owner: HdsCodeEditorModifier,\n args: ArgsFor<HdsCodeEditorSignature>\n ) {\n super(owner, args);\n\n registerDestructor(this, () => {\n this.observer?.disconnect();\n\n if (this.onBlur !== undefined) {\n this.element.removeEventListener('blur', this.blurHandler);\n }\n });\n }\n\n modify(\n element: HTMLElement,\n positional: PositionalArgs<HdsCodeEditorSignature>,\n named: NamedArgs<HdsCodeEditorSignature>\n ): void {\n // the intersection observer makes loading unreliable in tests\n if (config.environment === 'test') {\n this._setupTask.perform(element, positional, named);\n } else {\n this.observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n const setupHasNotRun = this._setupTask.performCount === 0;\n\n if (entry.isIntersecting && setupHasNotRun) {\n this._setupTask.perform(element, positional, named);\n }\n });\n },\n {\n rootMargin: LOADER_HEIGHT,\n }\n );\n\n this.observer.observe(element);\n }\n }\n\n private _setupEditorBlurHandler(\n element: HTMLElement,\n onBlur: HdsCodeEditorBlurHandler\n ) {\n const inputElement = element.querySelector('.cm-content');\n\n if (inputElement === null) {\n return;\n }\n\n this.blurHandler = (event: FocusEvent) => onBlur(this.editor, event);\n\n (inputElement as HTMLElement).addEventListener('blur', this.blurHandler);\n }\n\n private _setupEditorAriaLabel(\n editor: EditorView,\n {\n ariaLabel,\n ariaLabelledBy,\n }: Pick<\n HdsCodeEditorSignature['Args']['Named'],\n 'ariaLabel' | 'ariaLabelledBy'\n >\n ) {\n assert(\n '`hds-code-editor` modifier - Either `ariaLabel` or `ariaLabelledBy` must be provided',\n ariaLabel !== undefined || ariaLabelledBy !== undefined\n );\n\n if (ariaLabel !== undefined) {\n editor.dom\n .querySelector('[role=\"textbox\"]')\n ?.setAttribute('aria-label', ariaLabel);\n } else if (ariaLabelledBy !== undefined) {\n editor.dom\n .querySelector('[role=\"textbox\"]')\n ?.setAttribute('aria-labelledby', ariaLabelledBy);\n }\n }\n\n private _setupEditorAriaDescribedBy(\n editor: EditorView,\n ariaDescribedBy?: string\n ) {\n if (ariaDescribedBy === undefined) {\n return;\n }\n\n editor.dom\n .querySelector('[role=\"textbox\"]')\n ?.setAttribute('aria-describedby', ariaDescribedBy);\n }\n\n private _setupEditorAriaAttributes(\n editor: EditorView,\n {\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n }: Pick<\n HdsCodeEditorSignature['Args']['Named'],\n 'ariaDescribedBy' | 'ariaLabel' | 'ariaLabelledBy'\n >\n ) {\n this._setupEditorAriaLabel(editor, { ariaLabel, ariaLabelledBy });\n this._setupEditorAriaDescribedBy(editor, ariaDescribedBy);\n }\n\n private _loadLanguageTask = task(\n { drop: true },\n async (language?: HdsCodeEditorLanguages) => {\n if (language === undefined) {\n return;\n }\n\n try {\n const validLanguageKeys = Object.keys(LANGUAGES);\n\n assert(\n `\\`hds-code-editor\\` modifier - \\`language\\` must be one of the following: ${validLanguageKeys.join(\n ', '\n )}; received: ${language}`,\n validLanguageKeys.includes(language)\n );\n\n return LANGUAGES[language].load();\n } catch (error) {\n warn(\n `\\`hds-code-editor\\` modifier - Failed to dynamically import the CodeMirror language module for '${language}'. Error: ${JSON.stringify(\n error\n )}`,\n {\n id: 'hds-code-editor.load-language-task.import-failed',\n }\n );\n }\n }\n );\n\n private _buildExtensionsTask = task({ drop: true }, async ({ language }) => {\n const [\n {\n EditorView,\n keymap,\n lineNumbers,\n highlightActiveLineGutter,\n highlightSpecialChars,\n highlightActiveLine,\n },\n { defaultKeymap, history, historyKeymap },\n { bracketMatching, syntaxHighlighting },\n ] = await Promise.all([\n import('@codemirror/view'),\n import('@codemirror/commands'),\n import('@codemirror/language'),\n ]);\n\n const languageExtension = await this._loadLanguageTask.perform(language);\n\n const handleUpdateExtension = EditorView.updateListener.of(\n (update: ViewUpdate) => {\n // toggle a class if the update has/does not have a selection\n if (update.selectionSet) {\n update.view.dom.classList.toggle(\n 'cm-hasSelection',\n !update.state.selection.main.empty\n );\n }\n\n // call the onInput callback if the document has changed\n if (!update.docChanged || this.onInput === undefined) {\n return;\n }\n this.onInput(update.state.doc.toString());\n }\n );\n\n let extensions = [\n bracketMatching(),\n highlightActiveLine(),\n highlightActiveLineGutter(),\n highlightSpecialChars(),\n history(),\n lineNumbers(),\n keymap.of([...defaultKeymap, ...historyKeymap]),\n // custom extensions\n handleUpdateExtension,\n // hds dark theme\n hdsDarkTheme,\n syntaxHighlighting(hdsDarkHighlightStyle),\n ];\n\n if (languageExtension !== undefined) {\n extensions = [languageExtension, ...extensions];\n }\n\n return extensions;\n });\n\n private _createEditorTask = task(\n { drop: true },\n async (\n element: HTMLElement,\n {\n language,\n value,\n }: Pick<HdsCodeEditorSignature['Args']['Named'], 'language' | 'value'>\n ) => {\n try {\n const { EditorState } = await import('@codemirror/state');\n const { EditorView } = await import('@codemirror/view');\n\n const extensions = await this._buildExtensionsTask.perform({\n language,\n });\n\n const state = EditorState.create({\n doc: value,\n extensions,\n });\n\n const editor = new EditorView({\n state,\n parent: element,\n });\n\n return editor;\n } catch (error) {\n console.error(\n `\\`hds-code-editor\\` modifier - Failed to setup the CodeMirror editor. Error: ${JSON.stringify(error)}`\n );\n }\n }\n );\n\n private _setupTask = task(\n { drop: true },\n async (\n element: HTMLElement,\n _positional: PositionalArgs<HdsCodeEditorSignature>,\n named: NamedArgs<HdsCodeEditorSignature>\n ) => {\n const {\n onBlur,\n onInput,\n onSetup,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n language,\n value,\n } = named;\n\n this.onInput = onInput;\n this.onBlur = onBlur;\n\n this.element = element;\n\n const editor = await this._createEditorTask.perform(element, {\n language,\n value,\n });\n\n if (editor === undefined) {\n return;\n }\n\n this.editor = editor;\n\n if (onBlur !== undefined) {\n this._setupEditorBlurHandler(element, onBlur);\n }\n\n this._setupEditorAriaAttributes(editor, {\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n });\n\n onSetup?.(this.editor);\n }\n );\n}\n"],"names":["defineStreamLanguage","streamParser","StreamLanguage","define","LOADER_HEIGHT","LANGUAGES","ruby","load","sentinel","shell","go","hcl","json","sql","yaml","HdsCodeEditorModifier","Modifier","constructor","owner","args","_defineProperty","_buildTask","context","generator","language","undefined","validLanguageKeys","Object","keys","assert","join","includes","error","warn","JSON","stringify","id","drop","EditorView","keymap","lineNumbers","highlightActiveLineGutter","highlightSpecialChars","highlightActiveLine","defaultKeymap","history","historyKeymap","bracketMatching","syntaxHighlighting","Promise","all","languageExtension","_loadLanguageTask","perform","handleUpdateExtension","updateListener","of","update","selectionSet","view","dom","classList","toggle","state","selection","main","empty","docChanged","onInput","doc","toString","extensions","hdsDarkTheme","hdsDarkHighlightStyle","element","value","EditorState","_buildExtensionsTask","create","editor","parent","console","_positional","named","onBlur","onSetup","ariaDescribedBy","ariaLabel","ariaLabelledBy","_createEditorTask","_setupEditorBlurHandler","_setupEditorAriaAttributes","registerDestructor","observer","disconnect","removeEventListener","blurHandler","modify","positional","config","environment","_setupTask","IntersectionObserver","entries","forEach","entry","setupHasNotRun","performCount","isIntersecting","rootMargin","observe","inputElement","querySelector","event","addEventListener","_setupEditorAriaLabel","setAttribute","_setupEditorAriaDescribedBy"],"mappings":"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"}
|
|
@@ -17,21 +17,21 @@ import { modifier } from 'ember-modifier';
|
|
|
17
17
|
var registerEvent = modifier((element, positional, named = {}) => {
|
|
18
18
|
// the "target" element the listeners are added to
|
|
19
19
|
// notice: this is the element the Ember modifier is attached to
|
|
20
|
-
const
|
|
20
|
+
const _targetElement = element;
|
|
21
21
|
// the event name and handler to apply to the element
|
|
22
22
|
// notice: it's expressed as "positional" argument (array) for the modifier
|
|
23
|
-
const [
|
|
23
|
+
const [_event, _eventHandler] = positional;
|
|
24
24
|
// the options for the `addEventListener()` method
|
|
25
25
|
// see: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
|
|
26
26
|
// notice: it's expressed as "named" argument (object) for the modifier
|
|
27
27
|
const {
|
|
28
28
|
useCapture = false
|
|
29
29
|
} = named;
|
|
30
|
-
|
|
30
|
+
_targetElement.addEventListener(_event, _eventHandler, useCapture);
|
|
31
31
|
|
|
32
32
|
// this (teardown) function is run when the element is removed from the DOM
|
|
33
33
|
return () => {
|
|
34
|
-
|
|
34
|
+
_targetElement.removeEventListener(_event, _eventHandler, useCapture);
|
|
35
35
|
};
|
|
36
36
|
});
|
|
37
37
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hds-register-event.js","sources":["../../src/modifiers/hds-register-event.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport { modifier } from 'ember-modifier';\nexport interface HdsRegisterEventSignature {\n Element: HTMLElement;\n Args: {\n Positional: [keyof ElementEventMap, EventListener];\n Named: { useCapture?: boolean };\n };\n}\n\n// Notice: we use a function-based modifier here instead of a class-based one\n// because it's quite simple in its logic, and doesn't require injecting services\n// see: https://github.com/ember-modifier/ember-modifier#function-based-modifiers\n\n// this modifier is a \"replacement\" of the standard `{{on 'event' myFunction}}`\n// it's needed because the {{on}} modifier can't be applied conditionally, apparently\n// see: https://github.com/emberjs/ember.js/issues/19869#issuecomment-1909118910\n// see: https://github.com/emberjs/ember.js/pull/20629\n// see also: https://github.com/emberjs/ember.js/blob/main/packages/%40ember/-internals/glimmer/lib/modifiers/on.ts#L30\nexport default modifier<HdsRegisterEventSignature>(\n (element, positional, named = {}) => {\n // the \"target\" element the listeners are added to\n // notice: this is the element the Ember modifier is attached to\n const
|
|
1
|
+
{"version":3,"file":"hds-register-event.js","sources":["../../src/modifiers/hds-register-event.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport { modifier } from 'ember-modifier';\nexport interface HdsRegisterEventSignature {\n Element: HTMLElement;\n Args: {\n Positional: [keyof ElementEventMap, EventListener];\n Named: { useCapture?: boolean };\n };\n}\n\n// Notice: we use a function-based modifier here instead of a class-based one\n// because it's quite simple in its logic, and doesn't require injecting services\n// see: https://github.com/ember-modifier/ember-modifier#function-based-modifiers\n\n// this modifier is a \"replacement\" of the standard `{{on 'event' myFunction}}`\n// it's needed because the {{on}} modifier can't be applied conditionally, apparently\n// see: https://github.com/emberjs/ember.js/issues/19869#issuecomment-1909118910\n// see: https://github.com/emberjs/ember.js/pull/20629\n// see also: https://github.com/emberjs/ember.js/blob/main/packages/%40ember/-internals/glimmer/lib/modifiers/on.ts#L30\nexport default modifier<HdsRegisterEventSignature>(\n (element, positional, named = {}) => {\n // the \"target\" element the listeners are added to\n // notice: this is the element the Ember modifier is attached to\n const _targetElement = element;\n // the event name and handler to apply to the element\n // notice: it's expressed as \"positional\" argument (array) for the modifier\n const [_event, _eventHandler] = positional;\n // the options for the `addEventListener()` method\n // see: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener\n // notice: it's expressed as \"named\" argument (object) for the modifier\n const { useCapture = false } = named;\n\n _targetElement.addEventListener(_event, _eventHandler, useCapture);\n\n // this (teardown) function is run when the element is removed from the DOM\n return (): void => {\n _targetElement.removeEventListener(_event, _eventHandler, useCapture);\n };\n }\n);\n"],"names":["modifier","element","positional","named","_targetElement","_event","_eventHandler","useCapture","addEventListener","removeEventListener"],"mappings":";;AAAA;AACA;AACA;AACA;;AAWA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAeA,QAAQ,CACrB,CAACC,OAAO,EAAEC,UAAU,EAAEC,KAAK,GAAG,EAAE,KAAK;AACnC;AACA;EACA,MAAMC,cAAc,GAAGH,OAAO;AAC9B;AACA;AACA,EAAA,MAAM,CAACI,MAAM,EAAEC,aAAa,CAAC,GAAGJ,UAAU;AAC1C;AACA;AACA;EACA,MAAM;AAAEK,IAAAA,UAAU,GAAG;AAAM,GAAC,GAAGJ,KAAK;EAEpCC,cAAc,CAACI,gBAAgB,CAACH,MAAM,EAAEC,aAAa,EAAEC,UAAU,CAAC;;AAElE;AACA,EAAA,OAAO,MAAY;IACjBH,cAAc,CAACK,mBAAmB,CAACJ,MAAM,EAAEC,aAAa,EAAEC,UAAU,CAAC;GACtE;AACH,CACF,CAAC;;;;"}
|