@ember-eui/core 4.4.0 → 5.0.0-alpha.1
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/addon/components/common.ts +1 -0
- package/addon/components/eui-accordion/index.hbs +106 -85
- package/addon/components/eui-accordion/index.ts +58 -19
- package/addon/components/eui-auto-sizer/index.hbs +3 -0
- package/addon/components/eui-auto-sizer/index.ts +175 -0
- package/addon/components/eui-avatar/index.hbs +7 -3
- package/addon/components/eui-badge/index.hbs +9 -3
- package/addon/components/eui-beta-badge/index.hbs +171 -19
- package/addon/components/eui-bottom-bar/index.hbs +43 -12
- package/addon/components/eui-bottom-bar/index.ts +75 -32
- package/addon/components/eui-breadcrumbs/index.hbs +98 -0
- package/addon/components/eui-breadcrumbs/index.ts +194 -0
- package/addon/components/eui-button/index.hbs +4 -4
- package/addon/components/eui-button-content/index.hbs +6 -2
- package/addon/components/eui-button-empty/index.hbs +60 -52
- package/addon/components/eui-button-icon/index.hbs +17 -3
- package/addon/components/eui-call-out/index.hbs +1 -0
- package/addon/components/eui-card/index.hbs +61 -47
- package/addon/components/eui-card/index.ts +27 -0
- package/addon/components/{eui-card/eui-card-select → eui-card-select}/index.hbs +2 -5
- package/addon/components/eui-card-select/index.ts +35 -0
- package/addon/components/eui-checkable-card/index.hbs +17 -11
- package/addon/components/eui-checkbox/index.hbs +11 -5
- package/addon/components/eui-checkbox/index.ts +15 -0
- package/addon/components/eui-code/index.hbs +14 -8
- package/addon/components/eui-code/index.ts +73 -0
- package/addon/components/eui-code-block/controls/index.hbs +26 -0
- package/addon/components/eui-code-block/full-screen-display/index.hbs +12 -0
- package/addon/components/eui-code-block/index.hbs +144 -9
- package/addon/components/eui-code-block/index.ts +290 -0
- package/addon/components/eui-code-block/virtualized/index.hbs +30 -0
- package/addon/components/eui-code-block/virtualized/index.ts +22 -0
- package/addon/components/eui-collapsible-nav/index.hbs +35 -44
- package/addon/components/eui-collapsible-nav/index.ts +161 -0
- package/addon/components/eui-collapsible-nav-group/index.hbs +114 -66
- package/addon/components/eui-combo-box/group/index.hbs +3 -3
- package/addon/components/eui-combo-box/index.hbs +5 -2
- package/addon/components/eui-combo-box/index.ts +89 -4
- package/addon/components/eui-combo-box/options/index.hbs +14 -2
- package/addon/components/eui-combo-box/options/index.js +22 -9
- package/addon/components/eui-combo-box/trigger/index.hbs +3 -1
- package/addon/components/eui-confirm-modal/index.hbs +1 -1
- package/addon/components/eui-copy/index.hbs +1 -4
- package/addon/components/eui-described-form-group/index.hbs +3 -2
- package/addon/components/eui-description-list/index.hbs +23 -0
- package/addon/components/eui-description-list-description/index.hbs +3 -0
- package/addon/components/eui-description-list-title/index.hbs +3 -0
- package/addon/components/eui-dual-range/index.hbs +30 -18
- package/addon/components/eui-dual-range/index.ts +36 -10
- package/addon/components/eui-empty-prompt/index.hbs +77 -0
- package/addon/components/eui-field-number/index.hbs +3 -3
- package/addon/components/eui-field-search/index.hbs +2 -1
- package/addon/components/eui-field-text/index.hbs +3 -1
- package/addon/components/eui-file-picker/index.hbs +15 -11
- package/addon/components/eui-file-picker/index.ts +26 -8
- package/addon/components/eui-flyout/index.hbs +130 -43
- package/addon/components/eui-flyout/index.ts +233 -0
- package/addon/components/eui-flyout-body/index.hbs +21 -7
- package/addon/components/eui-form-label/index.hbs +1 -1
- package/addon/components/eui-form-row/index.hbs +13 -9
- package/addon/components/eui-header/index.hbs +18 -3
- package/addon/{modifiers/fixed-header.ts → components/eui-header/index.ts} +10 -1
- package/addon/components/eui-header-alert/index.hbs +25 -0
- package/addon/components/eui-header-breadcrumbs/index.hbs +7 -0
- package/addon/components/eui-header-links/index.hbs +41 -0
- package/addon/components/eui-header-links/index.ts +14 -0
- package/addon/components/eui-header-section-item-button/index.hbs +30 -12
- package/addon/components/eui-header-section-item-button/index.ts +131 -0
- package/addon/components/eui-health/index.hbs +15 -13
- package/addon/components/eui-hide-for/index.hbs +3 -0
- package/addon/components/eui-hide-for/index.ts +33 -0
- package/addon/components/eui-icon/index.hbs +6 -3
- package/addon/components/eui-icon/index.ts +4 -0
- package/addon/components/eui-image/index.hbs +63 -25
- package/addon/components/eui-input-popover/index.ts +6 -4
- package/addon/components/eui-key-pad-menu/index.hbs +16 -0
- package/addon/components/eui-key-pad-menu/key/index.hbs +1 -0
- package/addon/components/eui-key-pad-menu-item/index.hbs +66 -0
- package/addon/components/eui-key-pad-menu-item/index.ts +11 -0
- package/addon/components/eui-link/index.hbs +50 -0
- package/addon/components/eui-list-group-item/index.hbs +10 -2
- package/addon/components/eui-markdown-editor/index.hbs +4 -1
- package/addon/components/eui-markdown-editor/index.ts +54 -0
- package/addon/components/eui-markdown-editor-footer/index.hbs +39 -40
- package/addon/components/eui-markdown-format/index.ts +1 -1
- package/addon/components/eui-markdown-format/markdown-code/index.hbs +2 -2
- package/addon/components/eui-markdown-format/markdown-code-block/index.hbs +1 -0
- package/addon/components/eui-modal/index.hbs +28 -24
- package/addon/components/eui-overlay-mask/index.hbs +4 -4
- package/addon/components/eui-overlay-mask/index.ts +14 -1
- package/addon/components/eui-page/index.hbs +3 -6
- package/addon/components/eui-page-body/index.hbs +47 -15
- package/addon/components/eui-page-content/index.hbs +6 -8
- package/addon/components/eui-page-content-body/index.hbs +13 -1
- package/addon/components/eui-page-content-header/index.hbs +6 -0
- package/addon/components/eui-page-header/index.hbs +31 -6
- package/addon/components/eui-page-header-content/index.hbs +219 -0
- package/addon/components/eui-page-header-content/index.ts +49 -0
- package/addon/components/eui-page-side-bar/index.hbs +8 -1
- package/addon/components/eui-page-template/index.hbs +417 -0
- package/addon/components/eui-page-template/index.ts +89 -0
- package/addon/components/eui-panel/index.hbs +58 -12
- package/addon/components/eui-popover/index.hbs +8 -4
- package/addon/components/eui-popover/index.ts +28 -12
- package/addon/components/eui-progress/index.hbs +16 -13
- package/addon/components/eui-radio/index.hbs +9 -3
- package/addon/components/eui-range/index.hbs +33 -11
- package/addon/components/eui-range/index.ts +7 -4
- package/addon/components/eui-range-input/index.hbs +37 -31
- package/addon/components/eui-range-input/types.ts +2 -1
- package/addon/components/eui-range-levels/index.hbs +3 -3
- package/addon/components/eui-range-ticks/index.hbs +2 -2
- package/addon/components/eui-range-track/index.hbs +10 -2
- package/addon/components/eui-range-track/index.ts +23 -6
- package/addon/components/eui-show-for/index.hbs +3 -0
- package/addon/components/eui-show-for/index.ts +79 -0
- package/addon/components/eui-side-nav/index.hbs +161 -36
- package/addon/components/eui-side-nav/index.ts +28 -0
- package/addon/components/eui-side-nav-item/button/index.hbs +26 -14
- package/addon/components/eui-side-nav-item/index.hbs +52 -25
- package/addon/components/eui-split-panel/inner/index.hbs +10 -0
- package/addon/components/eui-split-panel/outer/index.hbs +27 -0
- package/addon/components/eui-split-panel/outer/index.ts +37 -0
- package/addon/components/eui-step/eui-step-number/index.hbs +21 -4
- package/addon/components/eui-steps/index.hbs +7 -1
- package/addon/components/eui-tab/index.hbs +28 -3
- package/addon/{modifiers/focus-tab.ts → components/eui-tab/index.ts} +6 -1
- package/addon/components/eui-tabs/index.hbs +6 -1
- package/addon/components/eui-tool-tip/index.hbs +6 -7
- package/addon/components/eui-tool-tip/index.ts +27 -11
- package/addon/helpers/class-names.ts +2 -0
- package/addon/helpers/get-range-tick.ts +53 -8
- package/addon/helpers/unique-id.ts +4 -1
- package/addon/styles/ember-eui.css +2 -10
- package/addon/utils/breakpoint.ts +114 -0
- package/addon/utils/code/utils.ts +304 -0
- package/addon/utils/css-mappings/eui-avatar.ts +51 -9
- package/addon/utils/css-mappings/eui-badge.ts +6 -2
- package/addon/utils/css-mappings/eui-beta-badge.ts +22 -0
- package/addon/utils/css-mappings/eui-bottom-bar.ts +8 -1
- package/addon/utils/css-mappings/eui-button-empty.ts +4 -4
- package/addon/utils/css-mappings/eui-button-icon.ts +19 -6
- package/addon/utils/css-mappings/eui-button.ts +2 -1
- package/addon/utils/css-mappings/eui-card-select.ts +1 -11
- package/addon/utils/css-mappings/eui-card.ts +1 -18
- package/addon/utils/css-mappings/{eui-code-block-impl.ts → eui-code-block.ts} +0 -0
- package/addon/utils/css-mappings/eui-description-list.ts +29 -0
- package/addon/utils/css-mappings/eui-empty-prompt.ts +17 -0
- package/addon/utils/css-mappings/eui-flyout.ts +21 -1
- package/addon/utils/css-mappings/eui-header-links.ts +27 -0
- package/addon/utils/css-mappings/eui-health.ts +20 -0
- package/addon/utils/css-mappings/eui-icon.ts +94 -70
- package/addon/utils/css-mappings/eui-image.ts +17 -2
- package/addon/utils/css-mappings/eui-link.ts +21 -0
- package/addon/utils/css-mappings/eui-page-body.ts +25 -0
- package/addon/utils/css-mappings/eui-page-content-body.ts +17 -0
- package/addon/utils/css-mappings/eui-page-content.ts +7 -1
- package/addon/utils/css-mappings/eui-page-header.ts +17 -0
- package/addon/utils/css-mappings/eui-page-side-bar.ts +17 -0
- package/addon/utils/css-mappings/eui-panel.ts +1 -0
- package/addon/utils/css-mappings/eui-progress-data.ts +0 -1
- package/addon/utils/css-mappings/eui-progress.ts +0 -2
- package/addon/utils/css-mappings/eui-range-levels.ts +22 -4
- package/addon/utils/css-mappings/eui-tabs.ts +3 -1
- package/addon/utils/css-mappings/eui-text-color.ts +3 -2
- package/addon/utils/css-mappings/index.ts +23 -3
- package/addon/utils/detect-element-resize.js +248 -0
- package/addon/utils/markdown/plugins/markdown-add-components/index.ts +1 -0
- package/addon/utils/markdown/plugins/{markdown-add-components.ts → markdown-add-components/processor.ts} +14 -7
- package/addon/utils/markdown/plugins/markdown-checkbox/index.ts +9 -0
- package/addon/utils/markdown/plugins/{markdown-checkbox.ts → markdown-checkbox/parser.ts} +3 -5
- package/addon/utils/markdown/plugins/markdown-default-plugins/index.ts +12 -0
- package/addon/utils/markdown/plugins/{markdown-default-plugins.ts → markdown-default-plugins/parsing-plugins.ts} +13 -25
- package/addon/utils/markdown/plugins/markdown-default-plugins/plugins.ts +32 -0
- package/addon/utils/markdown/plugins/markdown-default-plugins/processing-plugins.ts +67 -0
- package/addon/utils/markdown/plugins/markdown-default-plugins/ui-plugins.ts +27 -0
- package/addon/utils/markdown/plugins/markdown-tooltip/index.ts +2 -0
- package/addon/utils/markdown/plugins/{markdown-tooltip.ts → markdown-tooltip/parser.ts} +3 -23
- package/addon/utils/markdown/plugins/markdown-tooltip/plugin.ts +17 -0
- package/addon/utils/markdown/plugins/to-dom.ts +3 -1
- package/addon/utils/markdown/remark/remark-prismjs.ts +41 -0
- package/addon/utils/popover/index.ts +87 -35
- package/addon/utils/range/index.ts +1 -0
- package/app/components/eui-auto-sizer/index.js +1 -0
- package/app/components/eui-breadcrumbs/index.js +1 -0
- package/app/components/eui-card-select/index.js +1 -0
- package/app/components/{eui-code-block-impl → eui-code-block/controls}/index.js +1 -1
- package/app/components/{eui-code-block-impl/code-block-controls → eui-code-block/full-screen-display}/index.js +1 -1
- package/app/components/eui-code-block/virtualized/index.js +1 -0
- package/app/components/eui-description-list/index.js +1 -0
- package/app/components/eui-description-list-description/index.js +1 -0
- package/app/components/eui-description-list-title/index.js +1 -0
- package/app/components/eui-empty-prompt/index.js +1 -0
- package/app/components/eui-header-alert/index.js +1 -0
- package/app/components/eui-header-breadcrumbs/index.js +1 -0
- package/app/components/eui-header-links/index.js +1 -0
- package/app/components/eui-hide-for/index.js +1 -0
- package/app/components/eui-key-pad-menu/index.js +1 -0
- package/app/components/eui-key-pad-menu/key/index.js +1 -0
- package/app/components/eui-key-pad-menu-item/index.js +1 -0
- package/app/components/eui-link/index.js +1 -0
- package/app/components/eui-page-header-content/index.js +1 -0
- package/app/components/eui-page-template/index.js +1 -0
- package/app/components/eui-show-for/index.js +1 -0
- package/app/components/eui-split-panel/inner/index.js +1 -0
- package/app/components/eui-split-panel/outer/index.js +1 -0
- package/app/utils/copy-to-clipboard.js +1 -0
- package/docs/display/avatar-demo/demo1.md +43 -49
- package/docs/display/avatar-demo/demo2.md +42 -0
- package/docs/display/avatar-demo/demo3.md +33 -0
- package/docs/display/avatar-demo/demo4.md +53 -0
- package/docs/display/avatar-demo/demo5.md +38 -0
- package/docs/display/avatar.md +9 -1
- package/docs/display/badge-demo/demo1.md +111 -168
- package/docs/display/badge-demo/demo2.md +34 -0
- package/docs/display/badge-demo/demo3.md +73 -0
- package/docs/display/badge-demo/demo4.md +29 -0
- package/docs/display/badge-demo/demo5.md +33 -0
- package/docs/display/badge-demo/demo6.md +71 -0
- package/docs/display/badge-demo/demo7.md +101 -0
- package/docs/display/badge-demo/demo8.md +22 -0
- package/docs/display/badge.md +9 -1
- package/docs/display/callout-demo/demo1.md +29 -81
- package/docs/display/callout-demo/demo2.md +28 -0
- package/docs/display/callout-demo/demo3.md +29 -0
- package/docs/display/callout-demo/demo4.md +26 -0
- package/docs/display/callout.md +15 -1
- package/docs/display/card/basic-card-demo/demo1.md +22 -316
- package/docs/display/card/basic-card.md +9 -1
- package/docs/display/card/beta-badge-demo/demo1.md +47 -0
- package/docs/display/card/beta-badge.md +9 -0
- package/docs/display/card/checkable-demo/demo1.md +20 -94
- package/docs/display/card/checkable-demo/demo2.md +63 -0
- package/docs/display/card/checkable.md +9 -1
- package/docs/display/card/custom-children-demo/demo1.md +93 -0
- package/docs/display/card/custom-children.md +9 -0
- package/docs/display/card/footer-demo/demo1.md +77 -0
- package/docs/display/card/footer.md +9 -0
- package/docs/display/card/images-demo/demo1.md +57 -0
- package/docs/display/card/images.md +9 -0
- package/docs/display/card/layout-demo/demo1.md +40 -0
- package/docs/display/card/layout.md +9 -0
- package/docs/display/card/selectable-demo/demo1.md +60 -53
- package/docs/display/card/selectable.md +9 -1
- package/docs/display/comment-list.md +9 -1
- package/docs/display/description-list-demo/demo1.md +54 -0
- package/docs/display/description-list-demo/demo2.md +43 -0
- package/docs/display/description-list-demo/demo3.md +58 -0
- package/docs/display/description-list-demo/demo4.md +42 -0
- package/docs/display/description-list-demo/demo5.md +62 -0
- package/docs/display/description-list-demo/demo6.md +46 -0
- package/docs/display/description-list.md +9 -0
- package/docs/display/empty-prompt-demo/demo1.md +49 -0
- package/docs/display/empty-prompt.md +11 -0
- package/docs/display/health-demo/demo1.md +11 -7
- package/docs/display/health-demo/demo2.md +31 -0
- package/docs/display/health.md +15 -1
- package/docs/display/icons-demo/demo1.md +270 -57
- package/docs/display/icons-demo/demo2.md +76 -0
- package/docs/display/icons-demo/demo3.md +76 -0
- package/docs/display/icons-demo/demo4.md +104 -0
- package/docs/display/icons-demo/demo5.md +64 -0
- package/docs/display/icons-demo/demo6.md +63 -0
- package/docs/display/icons-demo/demo7.md +101 -0
- package/docs/display/icons-demo/demo8.md +47 -0
- package/docs/display/icons.md +9 -1
- package/docs/display/image-demo/demo1.md +15 -50
- package/docs/display/image-demo/demo2.md +35 -0
- package/docs/display/image-demo/demo3.md +75 -0
- package/docs/display/image-demo/demo4.md +80 -0
- package/docs/display/image.md +13 -1
- package/docs/display/list-group.md +9 -1
- package/docs/display/progress-demo/demo1.md +10 -5
- package/docs/display/progress-demo/demo2.md +11 -26
- package/docs/display/progress-demo/demo3.md +27 -0
- package/docs/display/progress-demo/demo4.md +77 -0
- package/docs/display/progress.md +9 -1
- package/docs/display/stat-demo/demo1.md +0 -118
- package/docs/display/stat-demo/demo2.md +24 -22
- package/docs/display/stat-demo/demo3.md +39 -0
- package/docs/display/stat-demo/demo4.md +50 -0
- package/docs/display/stat-demo/demo5.md +25 -0
- package/docs/display/stat-demo/demo6.md +40 -0
- package/docs/display/stat-demo/demo7.md +84 -0
- package/docs/display/stat.md +15 -1
- package/docs/display/text-demo/demo1.md +79 -130
- package/docs/display/text-demo/demo2.md +71 -0
- package/docs/display/text-demo/demo3.md +39 -0
- package/docs/display/text.md +20 -1
- package/docs/display/title-demo/demo1.md +50 -26
- package/docs/display/title.md +9 -1
- package/docs/display/tool-tip-demo/demo1.md +57 -100
- package/docs/display/tool-tip-demo/demo2.md +35 -29
- package/docs/display/tool-tip-demo/demo3.md +52 -0
- package/docs/display/tool-tip-demo/demo4.md +77 -0
- package/docs/display/tool-tip.md +15 -1
- package/docs/editors/code/code-block-demo/demo1.md +21 -40
- package/docs/editors/code/code-block-demo/demo2.md +35 -0
- package/docs/editors/code/code-block-demo/demo3.md +43 -0
- package/docs/editors/code/code-block-demo/demo4.md +28 -0
- package/docs/editors/code/code-block-demo/demo5.md +42 -0
- package/docs/editors/code/code-block-demo/demo6.md +42 -0
- package/docs/editors/code/code-block-demo/demo7.md +853 -0
- package/docs/editors/code/code-block-demo/demo8.md +855 -0
- package/docs/editors/code/code-block.md +27 -1
- package/docs/editors/code/inline-demo/demo1.md +6 -3
- package/docs/editors/code/inline.md +9 -1
- package/docs/editors/markdown-editor/base-editor-demo/demo1.md +9 -28
- package/docs/editors/markdown-editor/base-editor.md +9 -1
- package/docs/forms/form-controls/checkbox/demo/demo1.md +49 -0
- package/docs/forms/form-controls/checkbox/index.md +34 -0
- package/docs/forms/form-controls/{checkbox-group-demo → checkbox-group/demo}/demo1.md +4 -13
- package/docs/forms/form-controls/checkbox-group/index.md +35 -0
- package/docs/forms/form-controls/{combo-box-demo → combo-box/demo}/demo1.md +8 -2
- package/docs/forms/form-controls/{combo-box-demo → combo-box/demo}/demo2.md +10 -8
- package/docs/forms/form-controls/combo-box/demo/demo3.md +60 -0
- package/docs/forms/form-controls/{combo-box-demo/demo3.md → combo-box/demo/demo4.md} +17 -14
- package/docs/forms/form-controls/combo-box/demo/demo5.md +151 -0
- package/docs/forms/form-controls/combo-box/index.md +14 -0
- package/docs/forms/form-controls/file-picker/demo/demo1.md +29 -0
- package/docs/forms/form-controls/file-picker/demo/demo2.md +44 -0
- package/docs/forms/form-controls/file-picker/demo/demo3.md +45 -0
- package/docs/forms/form-controls/file-picker/demo/demo4.md +63 -0
- package/docs/forms/form-controls/file-picker/index.md +30 -0
- package/docs/forms/form-controls/{form-control-layout-demo → form-control-layout/demo}/demo1.md +0 -0
- package/docs/forms/form-controls/form-control-layout/index.md +38 -0
- package/docs/forms/form-controls/{form-control-layout-delimited-demo → form-control-layout-delimited/demo}/demo1.md +41 -37
- package/docs/forms/form-controls/form-control-layout-delimited/index.md +32 -0
- package/docs/forms/form-controls/number-field/demo/demo1.md +20 -0
- package/docs/forms/form-controls/{number-field-demo/demo1.md → number-field/demo/demo2.md} +23 -11
- package/docs/forms/form-controls/number-field/index.md +20 -0
- package/docs/forms/form-controls/password-field/demo/demo1.md +19 -0
- package/docs/forms/form-controls/{password-field-demo/demo1.md → password-field/demo/demo2.md} +12 -8
- package/docs/forms/form-controls/password-field/index.md +27 -0
- package/docs/forms/form-controls/radio/demo/demo1.md +43 -0
- package/docs/forms/form-controls/radio/index.md +32 -0
- package/docs/forms/form-controls/radio-group/demo/demo1.md +50 -0
- package/docs/forms/form-controls/radio-group/index.md +26 -0
- package/docs/forms/form-controls/range/demo/demo1.md +96 -0
- package/docs/forms/form-controls/range/demo/demo2.md +62 -0
- package/docs/forms/form-controls/{range-demo → range/demo}/demo3.md +10 -12
- package/docs/forms/form-controls/{range-demo → range/demo}/demo4.md +16 -18
- package/docs/forms/form-controls/{range-demo → range/demo}/demo5.md +18 -20
- package/docs/forms/form-controls/range/demo/demo6.md +57 -0
- package/docs/forms/form-controls/range/demo/demo7.md +350 -0
- package/docs/forms/form-controls/range/index.md +26 -0
- package/docs/forms/form-controls/search-field/demo/demo1.md +29 -0
- package/docs/forms/form-controls/search-field/index.md +22 -0
- package/docs/forms/form-controls/select/demo/demo1.md +29 -0
- package/docs/forms/form-controls/select/demo/demo2.md +44 -0
- package/docs/forms/form-controls/{select-demo/demo1.md → select/demo/demo3.md} +20 -10
- package/docs/forms/form-controls/select/index.md +27 -0
- package/docs/forms/form-controls/{switch-demo → switch/demo}/demo1.md +10 -10
- package/docs/forms/form-controls/switch/index.md +21 -0
- package/docs/forms/form-controls/text-field/demo/demo1.md +35 -0
- package/docs/forms/form-controls/text-field/demo/demo2.md +40 -0
- package/docs/forms/form-controls/{text-field-demo/demo2.md → text-field/demo/demo3.md} +14 -17
- package/docs/forms/form-controls/{text-field-demo/demo1.md → text-field/demo/demo4.md} +18 -32
- package/docs/forms/form-controls/text-field/index.md +22 -0
- package/docs/forms/form-controls/textarea/demo/demo1.md +21 -0
- package/docs/forms/form-controls/textarea/demo/demo2.md +24 -0
- package/docs/forms/form-controls/textarea/index.md +22 -0
- package/docs/forms/form-layouts/described-form-groups-demo/demo1.md +13 -4
- package/docs/forms/form-layouts/described-form-groups.md +9 -1
- package/docs/layout/accordion-demo/demo1.md +21 -102
- package/docs/layout/accordion-demo/demo2.md +76 -0
- package/docs/layout/accordion-demo/demo3.md +25 -0
- package/docs/layout/accordion-demo/demo4.md +26 -0
- package/docs/layout/accordion-demo/demo5.md +65 -0
- package/docs/layout/accordion-demo/demo6.md +78 -0
- package/docs/layout/accordion-demo/demo7.md +66 -0
- package/docs/layout/accordion-demo/demo8.md +64 -0
- package/docs/layout/accordion-demo/demo9.md +114 -0
- package/docs/layout/accordion.md +40 -1
- package/docs/layout/bottom-bar-demo/demo1.md +32 -49
- package/docs/layout/bottom-bar-demo/demo2.md +54 -0
- package/docs/layout/bottom-bar-demo/demo3.md +81 -0
- package/docs/layout/bottom-bar.md +9 -1
- package/docs/layout/flex.md +9 -1
- package/docs/layout/flyout-demo/demo1.md +19 -11
- package/docs/layout/flyout-demo/demo2.md +43 -28
- package/docs/layout/flyout-demo/demo3.md +99 -0
- package/docs/layout/flyout-demo/demo4.md +115 -0
- package/docs/layout/flyout-demo/demo5.md +59 -0
- package/docs/layout/flyout-demo/demo6.md +57 -0
- package/docs/layout/flyout-demo/demo7.md +51 -0
- package/docs/layout/flyout.md +9 -1
- package/docs/layout/header-demo/demo1.md +284 -35
- package/docs/layout/header-demo/demo2.md +42 -0
- package/docs/layout/header-demo/demo3.md +48 -0
- package/docs/layout/header-demo/demo4.md +57 -0
- package/docs/layout/header-demo/demo5.md +232 -0
- package/docs/layout/header-demo/demo6.md +85 -0
- package/docs/layout/header-demo/demo7.md +94 -0
- package/docs/layout/header.md +9 -1
- package/docs/layout/horizontal-rule.md +9 -1
- package/docs/layout/modal-demo/demo1.md +64 -167
- package/docs/layout/modal-demo/demo2.md +126 -0
- package/docs/layout/modal-demo/demo3.md +55 -0
- package/docs/layout/modal-demo/demo4.md +65 -0
- package/docs/layout/modal-demo/demo5.md +96 -0
- package/docs/layout/modal.md +9 -1
- package/docs/layout/page-demo/demo1.md +96 -3
- package/docs/layout/page-demo/demo10.md +42 -0
- package/docs/layout/page-demo/demo2.md +46 -0
- package/docs/layout/page-demo/demo3.md +50 -0
- package/docs/layout/page-demo/demo4.md +38 -0
- package/docs/layout/page-demo/demo5.md +30 -0
- package/docs/layout/page-demo/demo6.md +51 -0
- package/docs/layout/page-demo/demo7.md +59 -0
- package/docs/layout/page-demo/demo8.md +19 -0
- package/docs/layout/page-demo/demo9.md +29 -0
- package/docs/layout/page.md +9 -1
- package/docs/layout/panel-demo/demo1.md +28 -19
- package/docs/layout/panel-demo/demo2.md +22 -0
- package/docs/layout/panel-demo/demo3.md +27 -0
- package/docs/layout/panel-demo/demo4.md +46 -0
- package/docs/layout/panel-demo/demo5.md +81 -0
- package/docs/layout/panel.md +15 -1
- package/docs/layout/popover-demo/demo1.md +42 -300
- package/docs/layout/popover-demo/demo10.md +72 -0
- package/docs/layout/popover-demo/demo2.md +306 -96
- package/docs/layout/popover-demo/demo3.md +20 -12
- package/docs/layout/popover-demo/demo4.md +118 -0
- package/docs/layout/popover-demo/demo5.md +252 -0
- package/docs/layout/popover-demo/demo6.md +44 -0
- package/docs/layout/popover-demo/demo7.md +44 -0
- package/docs/layout/popover-demo/demo8.md +50 -0
- package/docs/layout/popover-demo/demo9.md +80 -0
- package/docs/layout/popover.md +9 -1
- package/docs/navigation/breadcrumbs-demo/demo1.md +77 -0
- package/docs/navigation/breadcrumbs-demo/demo2.md +61 -0
- package/docs/navigation/breadcrumbs-demo/demo3.md +61 -0
- package/docs/navigation/breadcrumbs-demo/demo4.md +61 -0
- package/docs/navigation/breadcrumbs-demo/demo5.md +61 -0
- package/docs/navigation/breadcrumbs-demo/demo6.md +61 -0
- package/docs/navigation/breadcrumbs.md +9 -0
- package/docs/navigation/button-demo/demo1.md +210 -158
- package/docs/navigation/button.md +9 -1
- package/docs/navigation/collapsible-nav-demo/demo1.md +21 -44
- package/docs/navigation/collapsible-nav-demo/demo2.md +108 -0
- package/docs/navigation/collapsible-nav.md +9 -1
- package/docs/navigation/key-pad-menu-demo/demo1.md +77 -0
- package/docs/navigation/key-pad-menu-demo/demo2.md +102 -0
- package/docs/navigation/key-pad-menu-demo/demo3.md +54 -0
- package/docs/navigation/key-pad-menu-demo/demo4.md +71 -0
- package/docs/navigation/key-pad-menu-demo/demo5.md +65 -0
- package/docs/navigation/key-pad-menu.md +9 -0
- package/docs/navigation/link-demo/demo1.md +44 -0
- package/docs/navigation/link-demo/demo2.md +41 -0
- package/docs/navigation/link-demo/demo3.md +45 -0
- package/docs/navigation/link-demo/demo4.md +61 -0
- package/docs/navigation/link.md +9 -0
- package/docs/navigation/side-nav-demo/demo1.md +34 -18
- package/docs/navigation/side-nav.md +9 -1
- package/docs/navigation/steps-demo/demo1.md +16 -18
- package/docs/navigation/steps-demo/demo2.md +18 -21
- package/docs/navigation/steps-demo/demo3.md +12 -10
- package/docs/navigation/steps-demo/demo4.md +84 -0
- package/docs/navigation/steps-demo/demo5.md +29 -0
- package/docs/navigation/steps.md +9 -1
- package/docs/navigation/tabs.md +9 -1
- package/docs/utilities/auto-sizer-demo/demo1.md +34 -0
- package/docs/utilities/auto-sizer.md +9 -0
- package/docs/utilities/copy-demo/demo1.md +37 -0
- package/docs/utilities/copy-demo/demo2.md +70 -0
- package/docs/utilities/copy.md +9 -0
- package/docs/utilities/mutation-observer.md +9 -1
- package/docs/utilities/outside-click-detector.md +9 -1
- package/docs/utilities/overlay-mask.md +9 -1
- package/docs/utilities/portal.md +9 -1
- package/docs/utilities/resize-observer.md +9 -1
- package/docs/utilities/responsive-demo/demo1.md +108 -0
- package/docs/utilities/responsive.md +9 -0
- package/index.js +4 -2
- package/package.json +13 -7
- package/CHANGELOG.md +0 -1345
- package/addon/components/eui-code-block-impl/code-block-controls/index.hbs +0 -33
- package/addon/components/eui-code-block-impl/index.hbs +0 -111
- package/addon/components/eui-code-block-impl/index.ts +0 -121
- package/addon/components/eui-flyout-body/banner/index.hbs +0 -3
- package/addon/components/eui-flyout-body/content/index.hbs +0 -3
- package/addon/helpers/create-event.ts +0 -30
- package/addon/modifiers/get-cursor-node.ts +0 -54
- package/addon/modifiers/invalidate-indeterminate.ts +0 -10
- package/addon/modifiers/on-event-simulate-event.ts +0 -32
- package/app/components/eui-card/eui-card-select/index.js +0 -1
- package/app/components/eui-flyout-body/banner/index.js +0 -1
- package/app/components/eui-flyout-body/content/index.js +0 -1
- package/app/helpers/create-event.js +0 -1
- package/app/modifiers/fixed-header.js +0 -1
- package/app/modifiers/focus-tab.js +0 -1
- package/app/modifiers/get-cursor-node.js +0 -1
- package/app/modifiers/invalidate-indeterminate.js +0 -1
- package/app/modifiers/on-event-simulate-event.js +0 -1
- package/docs/forms/form-controls/checkbox-demo/demo1.md +0 -40
- package/docs/forms/form-controls/checkbox-group.md +0 -1
- package/docs/forms/form-controls/checkbox.md +0 -1
- package/docs/forms/form-controls/combo-box.md +0 -1
- package/docs/forms/form-controls/file-picker-demo/demo1.md +0 -28
- package/docs/forms/form-controls/file-picker.md +0 -1
- package/docs/forms/form-controls/form-control-layout-delimited.md +0 -1
- package/docs/forms/form-controls/form-control-layout.md +0 -1
- package/docs/forms/form-controls/number-field.md +0 -1
- package/docs/forms/form-controls/password-field.md +0 -1
- package/docs/forms/form-controls/radio-demo/demo1.md +0 -39
- package/docs/forms/form-controls/radio-group-demo/demo1.md +0 -60
- package/docs/forms/form-controls/radio-group.md +0 -1
- package/docs/forms/form-controls/radio.md +0 -1
- package/docs/forms/form-controls/range-demo/demo1.md +0 -61
- package/docs/forms/form-controls/range-demo/demo2.md +0 -59
- package/docs/forms/form-controls/range-demo/demo6.md +0 -59
- package/docs/forms/form-controls/range.md +0 -1
- package/docs/forms/form-controls/search-field-demo/demo1.md +0 -31
- package/docs/forms/form-controls/search-field.md +0 -1
- package/docs/forms/form-controls/select.md +0 -1
- package/docs/forms/form-controls/switch.md +0 -1
- package/docs/forms/form-controls/text-field.md +0 -1
- package/docs/forms/form-controls/textarea-demo/demo1.md +0 -36
- package/docs/forms/form-controls/textarea.md +0 -1
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
order: 5
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Controlling toggled state
|
|
6
|
+
|
|
7
|
+
<EuiText>
|
|
8
|
+
Typically, the open and closed state of
|
|
9
|
+
<strong>EuiAccordion</strong>
|
|
10
|
+
is maintained by the component's internal state. Though, you can manually
|
|
11
|
+
control it with:
|
|
12
|
+
<ul>
|
|
13
|
+
<li><EuiCode>forceState</EuiCode>: Accepts either
|
|
14
|
+
<EuiCode>'open'</EuiCode>
|
|
15
|
+
or
|
|
16
|
+
<EuiCode>'closed'</EuiCode>.</li>
|
|
17
|
+
<li><EuiCode>onToggle</EuiCode>: A callback function returning
|
|
18
|
+
<EuiCode>true</EuiCode>
|
|
19
|
+
if the accordion is open</li>
|
|
20
|
+
</ul>
|
|
21
|
+
</EuiText>
|
|
22
|
+
|
|
23
|
+
```hbs template
|
|
24
|
+
<EuiFlexGroup>
|
|
25
|
+
<EuiFlexItem>
|
|
26
|
+
<EuiButton {{on 'click' (fn (mut this.accordionState) 'open')}}>
|
|
27
|
+
Open
|
|
28
|
+
</EuiButton>
|
|
29
|
+
</EuiFlexItem>
|
|
30
|
+
<EuiFlexItem>
|
|
31
|
+
<EuiButton {{on 'click' (fn (mut this.accordionState) 'closed')}}>
|
|
32
|
+
Close
|
|
33
|
+
</EuiButton>
|
|
34
|
+
</EuiFlexItem>
|
|
35
|
+
</EuiFlexGroup>
|
|
36
|
+
<EuiSpacer />
|
|
37
|
+
<EuiAccordion
|
|
38
|
+
@forceState={{this.accordionState}}
|
|
39
|
+
@onToggle={{if
|
|
40
|
+
(eq this.accordionState 'open')
|
|
41
|
+
(fn (mut this.accordionState) 'closed')
|
|
42
|
+
(fn (mut this.accordionState) 'open')
|
|
43
|
+
}}
|
|
44
|
+
>
|
|
45
|
+
<:buttonContent>
|
|
46
|
+
I am a controlled accordion
|
|
47
|
+
</:buttonContent>
|
|
48
|
+
<:content>
|
|
49
|
+
<EuiPanel @color='subdued'>
|
|
50
|
+
Any content inside of
|
|
51
|
+
<strong>EuiAccordion</strong>
|
|
52
|
+
will appear here.
|
|
53
|
+
</EuiPanel>
|
|
54
|
+
</:content>
|
|
55
|
+
</EuiAccordion>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
```js component
|
|
59
|
+
import Component from '@glimmer/component';
|
|
60
|
+
import { tracked } from '@glimmer/tracking';
|
|
61
|
+
|
|
62
|
+
export default class AccordionDemo1Component extends Component {
|
|
63
|
+
@tracked accordionState = false;
|
|
64
|
+
}
|
|
65
|
+
```
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
order: 6
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Loading state
|
|
6
|
+
|
|
7
|
+
<!-- <EuiText>
|
|
8
|
+
Use the
|
|
9
|
+
<EuiCode>isLoading</EuiCode>
|
|
10
|
+
prop when not all of the accordion's content is ready yet. When using
|
|
11
|
+
<EuiCode>isLoading</EuiCode>, the content of
|
|
12
|
+
<EuiCode>extraAction</EuiCode>
|
|
13
|
+
is replaced with a loading spinner.<br /><br />
|
|
14
|
+
Manage the content of the accordion using
|
|
15
|
+
<EuiCode>isLoadingMessage</EuiCode>. By default, it is set to
|
|
16
|
+
<EuiCode>false</EuiCode>
|
|
17
|
+
and the content will remain unaltered. Set it to
|
|
18
|
+
<EuiCode>true</EuiCode>
|
|
19
|
+
to show a default loading message or pass a node to show a custom loading
|
|
20
|
+
message.
|
|
21
|
+
</EuiText> -->
|
|
22
|
+
|
|
23
|
+
```hbs template
|
|
24
|
+
<EuiFlexGroup>
|
|
25
|
+
<EuiFlexItem>
|
|
26
|
+
<EuiText>
|
|
27
|
+
isLoadingMessage:
|
|
28
|
+
</EuiText>
|
|
29
|
+
</EuiFlexItem>
|
|
30
|
+
<EuiFlexItem @grow={{false}}>
|
|
31
|
+
<EuiButtonEmpty {{on 'click' (fn (mut this.isLoadingMessage) false)}}>
|
|
32
|
+
False
|
|
33
|
+
</EuiButtonEmpty>
|
|
34
|
+
</EuiFlexItem>
|
|
35
|
+
<EuiFlexItem @grow={{false}}>
|
|
36
|
+
<EuiButtonEmpty {{on 'click' (fn (mut this.isLoadingMessage) true)}}>
|
|
37
|
+
True
|
|
38
|
+
</EuiButtonEmpty>
|
|
39
|
+
</EuiFlexItem>
|
|
40
|
+
<EuiFlexItem @grow={{false}}>
|
|
41
|
+
<EuiButtonEmpty
|
|
42
|
+
{{on
|
|
43
|
+
'click'
|
|
44
|
+
(fn (mut this.isLoadingMessage) 'This is a custom loading message')
|
|
45
|
+
}}
|
|
46
|
+
>
|
|
47
|
+
Custom
|
|
48
|
+
</EuiButtonEmpty>
|
|
49
|
+
</EuiFlexItem>
|
|
50
|
+
</EuiFlexGroup>
|
|
51
|
+
<EuiSpacer />
|
|
52
|
+
<EuiAccordion
|
|
53
|
+
@isLoading={{true}}
|
|
54
|
+
@isLoadingMessage={{this.isLoadingMessage}}
|
|
55
|
+
@extraAction={{true}}
|
|
56
|
+
>
|
|
57
|
+
<:buttonContent>
|
|
58
|
+
Accordion is loading, click to toggle
|
|
59
|
+
</:buttonContent>
|
|
60
|
+
<:content>
|
|
61
|
+
<EuiPanel @color='subdued'>
|
|
62
|
+
Opened content
|
|
63
|
+
</EuiPanel>
|
|
64
|
+
</:content>
|
|
65
|
+
<:extraAction>
|
|
66
|
+
<EuiButton size='s'>Extra action!</EuiButton>
|
|
67
|
+
</:extraAction>
|
|
68
|
+
</EuiAccordion>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
```js component
|
|
72
|
+
import Component from '@glimmer/component';
|
|
73
|
+
import { tracked } from '@glimmer/tracking';
|
|
74
|
+
|
|
75
|
+
export default class AccordionDemo1Component extends Component {
|
|
76
|
+
@tracked isLoadingMessage = false;
|
|
77
|
+
}
|
|
78
|
+
```
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
order: 7
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# When content changes dynamically
|
|
6
|
+
|
|
7
|
+
<EuiText>
|
|
8
|
+
If an accordion’s content changes height while the accordion is open, it will
|
|
9
|
+
resize dynamically.
|
|
10
|
+
</EuiText>
|
|
11
|
+
|
|
12
|
+
```hbs template
|
|
13
|
+
<EuiAccordion @paddingSize='s'>
|
|
14
|
+
<:buttonContent>
|
|
15
|
+
Click me to toggle close / open
|
|
16
|
+
</:buttonContent>
|
|
17
|
+
<:content>
|
|
18
|
+
<EuiButton
|
|
19
|
+
@size='s'
|
|
20
|
+
@iconType='plusInCircleFilled'
|
|
21
|
+
{{on 'click' (fn this.incrementDecreaseRows 'add')}}
|
|
22
|
+
>
|
|
23
|
+
Increase height to
|
|
24
|
+
{{add this.counter 1}}
|
|
25
|
+
items
|
|
26
|
+
</EuiButton>
|
|
27
|
+
<EuiButton
|
|
28
|
+
@size='s'
|
|
29
|
+
@iconType='minusInCircleFilled'
|
|
30
|
+
{{on 'click' (fn this.incrementDecreaseRows 'sub')}}
|
|
31
|
+
@isDisabled={{eq this.counter 1}}
|
|
32
|
+
>
|
|
33
|
+
Decrease height to
|
|
34
|
+
{{sub this.counter 1}}
|
|
35
|
+
items
|
|
36
|
+
</EuiButton>
|
|
37
|
+
<EuiSpacer />
|
|
38
|
+
<EuiPanel @color='subdued'>
|
|
39
|
+
<ul>
|
|
40
|
+
{{#each (range 0 this.counter) as |row|}}
|
|
41
|
+
<li> Row {{row}}</li>
|
|
42
|
+
{{/each}}
|
|
43
|
+
</ul>
|
|
44
|
+
</EuiPanel>
|
|
45
|
+
</:content>
|
|
46
|
+
</EuiAccordion>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
```js component
|
|
50
|
+
import Component from '@glimmer/component';
|
|
51
|
+
import { tracked } from '@glimmer/tracking';
|
|
52
|
+
import { action } from '@ember/object';
|
|
53
|
+
|
|
54
|
+
export default class AccordionDemo8Component extends Component {
|
|
55
|
+
@tracked counter = 1;
|
|
56
|
+
|
|
57
|
+
@action
|
|
58
|
+
incrementDecreaseRows(actionType) {
|
|
59
|
+
if (actionType == 'add') {
|
|
60
|
+
this.counter++;
|
|
61
|
+
} else {
|
|
62
|
+
this.counter--;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
```
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
order: 8
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Interactive content in the trigger
|
|
6
|
+
|
|
7
|
+
<EuiText>
|
|
8
|
+
<p>
|
|
9
|
+
Passing interactive content like links, buttons, or form elements as the
|
|
10
|
+
<EuiCode>buttonContent</EuiCode>, will cause issues with the wrapping button
|
|
11
|
+
element. To fix this, you can change this wrapping element to a div using
|
|
12
|
+
<EuiCode>buttonElement="div"</EuiCode>.
|
|
13
|
+
</p>
|
|
14
|
+
<p>
|
|
15
|
+
If you don't want the interactive content to trigger the accordion expansion,
|
|
16
|
+
you will have to apply
|
|
17
|
+
<EuiCode>e.stopPropagation</EuiCode>
|
|
18
|
+
to your element manually.
|
|
19
|
+
</p>
|
|
20
|
+
</EuiText>
|
|
21
|
+
|
|
22
|
+
```hbs template
|
|
23
|
+
<EuiCallOut @iconType='accessibility' @color='warning'>
|
|
24
|
+
<:body>
|
|
25
|
+
<EuiText>
|
|
26
|
+
Accordions need a focusable button for accessibility, so changing the
|
|
27
|
+
element to anything other than a button will enforce the display of the
|
|
28
|
+
arrow.
|
|
29
|
+
</EuiText>
|
|
30
|
+
</:body>
|
|
31
|
+
</EuiCallOut>
|
|
32
|
+
<EuiSpacer />
|
|
33
|
+
<EuiAccordion @paddingSize='s' @buttonElement="div">
|
|
34
|
+
<:buttonContent>
|
|
35
|
+
<EuiText
|
|
36
|
+
onClick={{this.onClick}}
|
|
37
|
+
href='#/layout/accordion#interactive-content-in-the-trigger'
|
|
38
|
+
>
|
|
39
|
+
This is a nested link
|
|
40
|
+
</EuiText>
|
|
41
|
+
</:buttonContent>
|
|
42
|
+
<:content>
|
|
43
|
+
<EuiPanel @color='subdued'>
|
|
44
|
+
Any content inside of
|
|
45
|
+
<strong>EuiAccordion</strong>
|
|
46
|
+
will appear here.
|
|
47
|
+
</EuiPanel>
|
|
48
|
+
</:content>
|
|
49
|
+
</EuiAccordion>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
```js component
|
|
53
|
+
import Component from '@glimmer/component';
|
|
54
|
+
import { tracked } from '@glimmer/tracking';
|
|
55
|
+
import { action } from '@ember/object';
|
|
56
|
+
|
|
57
|
+
export default class AccordionDemo8Component extends Component {
|
|
58
|
+
|
|
59
|
+
@action
|
|
60
|
+
onClick(e) {
|
|
61
|
+
e.stopPropagation();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
```
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
---
|
|
2
|
+
order: 9
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Styled for forms
|
|
6
|
+
|
|
7
|
+
<EuiText>
|
|
8
|
+
<p>
|
|
9
|
+
Since accordions are unstyled by default, EUI also provides a few classes you
|
|
10
|
+
can add to parts of the EuiAccordion to give it more style, like when using
|
|
11
|
+
with forms.
|
|
12
|
+
<ul>
|
|
13
|
+
<li><EuiCode>.euiAccordionForm</EuiCode>: Applied to the
|
|
14
|
+
<EuiCode>className</EuiCode>, adds top and bottom borders</li>
|
|
15
|
+
<li><EuiCode>.euiAccordionForm__button</EuiCode> : Applied to the
|
|
16
|
+
<EuiCode>buttonClassName</EuiCode>, adds extra padding to the button for
|
|
17
|
+
better spacing</li>
|
|
18
|
+
<li><EuiCode>.euiAccordionForm__extraAction</EuiCode> : Applied to the button
|
|
19
|
+
passed to
|
|
20
|
+
<EuiCode>extraAction</EuiCode>, will visually hide it until hover or focus</li>
|
|
21
|
+
</ul>
|
|
22
|
+
</p>
|
|
23
|
+
<p>
|
|
24
|
+
We also recommend creating a fieldset/legend combination for better
|
|
25
|
+
accessibility and DOM structure by passing
|
|
26
|
+
<EuiCode>element="fieldset"</EuiCode>. This will set the entire accordion as a
|
|
27
|
+
<EuiCode>"fieldset"</EuiCode>
|
|
28
|
+
and automatically change the buttonElement to a
|
|
29
|
+
<EuiCode>"legend"</EuiCode>.
|
|
30
|
+
</p>
|
|
31
|
+
</EuiText>
|
|
32
|
+
|
|
33
|
+
```hbs template
|
|
34
|
+
<EuiAccordion
|
|
35
|
+
@paddingSize='l'
|
|
36
|
+
@element='fieldset'
|
|
37
|
+
@className='euiAccordionForm'
|
|
38
|
+
@buttonClassName='euiAccordionForm__button'
|
|
39
|
+
@extraAction={{true}}
|
|
40
|
+
>
|
|
41
|
+
<:buttonContent>
|
|
42
|
+
<EuiText
|
|
43
|
+
@onClick={{this.onClick}}
|
|
44
|
+
@href='#/layout/accordion#interactive-content-in-the-trigger'
|
|
45
|
+
@size='xs'
|
|
46
|
+
>
|
|
47
|
+
<div>
|
|
48
|
+
<EuiFlexGroup
|
|
49
|
+
@gutterSize='s'
|
|
50
|
+
@alignItems='center'
|
|
51
|
+
@responsive={{false}}
|
|
52
|
+
>
|
|
53
|
+
<EuiFlexItem @grow={{false}}>
|
|
54
|
+
<EuiIcon @type='logoWebhook' @size='m' />
|
|
55
|
+
</EuiFlexItem>
|
|
56
|
+
|
|
57
|
+
<EuiFlexItem>
|
|
58
|
+
<EuiTitle @size='xs'>
|
|
59
|
+
<h3>Webhook</h3>
|
|
60
|
+
</EuiTitle>
|
|
61
|
+
</EuiFlexItem>
|
|
62
|
+
</EuiFlexGroup>
|
|
63
|
+
|
|
64
|
+
<EuiText @size='s'>
|
|
65
|
+
<p>
|
|
66
|
+
<EuiTextColor @color='subdued'>
|
|
67
|
+
Will send a POST request to www.example.com/some/path/
|
|
68
|
+
</EuiTextColor>
|
|
69
|
+
</p>
|
|
70
|
+
</EuiText>
|
|
71
|
+
</div>
|
|
72
|
+
</EuiText>
|
|
73
|
+
</:buttonContent>
|
|
74
|
+
<:content>
|
|
75
|
+
<EuiForm @component='form'>
|
|
76
|
+
<EuiFlexGroup>
|
|
77
|
+
<EuiFlexItem>
|
|
78
|
+
<EuiFormRow @label='Username'>
|
|
79
|
+
<EuiFieldText @icon='user' @placeholder='John' />
|
|
80
|
+
</EuiFormRow>
|
|
81
|
+
</EuiFlexItem>
|
|
82
|
+
|
|
83
|
+
<EuiFlexItem>
|
|
84
|
+
<EuiFormRow
|
|
85
|
+
@label='Password'
|
|
86
|
+
@helpText='Must include one number and one symbol'
|
|
87
|
+
>
|
|
88
|
+
<EuiFieldPassword @icon='lock' />
|
|
89
|
+
</EuiFormRow>
|
|
90
|
+
</EuiFlexItem>
|
|
91
|
+
</EuiFlexGroup>
|
|
92
|
+
|
|
93
|
+
<EuiSpacer @size='m' />
|
|
94
|
+
|
|
95
|
+
<EuiFormRow @label='Body'>
|
|
96
|
+
<EuiTextArea @placeholder='I am a textarea, put some content in me!' />
|
|
97
|
+
</EuiFormRow>
|
|
98
|
+
</EuiForm>
|
|
99
|
+
</:content>
|
|
100
|
+
</EuiAccordion>
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
```js component
|
|
104
|
+
import Component from '@glimmer/component';
|
|
105
|
+
import { tracked } from '@glimmer/tracking';
|
|
106
|
+
import { action } from '@ember/object';
|
|
107
|
+
|
|
108
|
+
export default class AccordionDemo8Component extends Component {
|
|
109
|
+
@action
|
|
110
|
+
onClick(e) {
|
|
111
|
+
e.stopPropagation();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
```
|
package/docs/layout/accordion.md
CHANGED
|
@@ -6,4 +6,43 @@
|
|
|
6
6
|
</h1>
|
|
7
7
|
</EuiTitle>
|
|
8
8
|
</EuiPageHeaderSection>
|
|
9
|
-
</EuiPageHeader>
|
|
9
|
+
</EuiPageHeader>
|
|
10
|
+
|
|
11
|
+
<EuiCallOut>
|
|
12
|
+
<:body>
|
|
13
|
+
<EuiText>
|
|
14
|
+
Take care when including flex group content within accordions<br />
|
|
15
|
+
<strong>EuiFlexGroup's</strong>
|
|
16
|
+
negative margins can sometimes create scrollbars within
|
|
17
|
+
<strong>EuiAccordion</strong>
|
|
18
|
+
because of the overflow tricks used to hide content. If you run into this
|
|
19
|
+
issue make sure your paddingSize prop is large enough to account for the
|
|
20
|
+
<EuiCode>gutterSize</EuiCode>
|
|
21
|
+
of any nested flex groups.
|
|
22
|
+
</EuiText>
|
|
23
|
+
</:body>
|
|
24
|
+
</EuiCallOut>
|
|
25
|
+
|
|
26
|
+
<EuiSpacer />
|
|
27
|
+
<EuiTitle>
|
|
28
|
+
Simple and unstyled
|
|
29
|
+
</EuiTitle>
|
|
30
|
+
<EuiSpacer />
|
|
31
|
+
|
|
32
|
+
<EuiText>
|
|
33
|
+
<strong>EuiAccordion</strong>
|
|
34
|
+
has been purposely designed with minimal styles, allowing you to visually
|
|
35
|
+
enhance it as needed (see the accordion form example). The only styling
|
|
36
|
+
enforced by EUI is the caret icon, which indicates to users that the item can
|
|
37
|
+
be opened.<br /><br />
|
|
38
|
+
A
|
|
39
|
+
<EuiCode>buttonContent</EuiCode>
|
|
40
|
+
prop defines the content of the clickable area. On click it will expose the
|
|
41
|
+
children and animate based on the height of those children.<br /><br />
|
|
42
|
+
For styling needs, classes can be individually applied with
|
|
43
|
+
<EuiCode>className</EuiCode>
|
|
44
|
+
(for the entire accordion), and
|
|
45
|
+
<EuiCode>buttonClassName</EuiCode>
|
|
46
|
+
(for the clickable area).
|
|
47
|
+
</EuiText>
|
|
48
|
+
<EuiSpacer />
|
|
@@ -1,39 +1,60 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
order: 1
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Basic
|
|
6
|
+
|
|
2
7
|
<EuiText>
|
|
3
|
-
<
|
|
8
|
+
<p>
|
|
9
|
+
<strong>EuiBottomBar</strong> is a simple wrapper component that does nothing but affix a dark bar (usually filled with buttons) to the bottom of the page. Use it when you have really long pages or complicated, multi-page forms. In the case of forms, only invoke it if a form is in a savable state.
|
|
10
|
+
</p>
|
|
11
|
+
<p>
|
|
12
|
+
Like many of our other wrapper components, <strong>EuiBottomBar</strong> accepts a <EuiCode>paddingSize</EuiCode> prop, which can be set to <EuiCode>s | m (default) | l | none</EuiCode>.
|
|
13
|
+
</p>
|
|
4
14
|
</EuiText>
|
|
5
|
-
<EuiSpacer/>
|
|
6
15
|
|
|
7
|
-
|
|
16
|
+
```hbs template
|
|
17
|
+
<EuiButton
|
|
18
|
+
@color='primary'
|
|
19
|
+
{{on
|
|
20
|
+
'click'
|
|
21
|
+
(set this 'basicBottomBarActive' (not this.basicBottomBarActive))
|
|
22
|
+
}}
|
|
23
|
+
>
|
|
8
24
|
Toggle appearance of the bottom bar
|
|
9
25
|
</EuiButton>
|
|
10
26
|
|
|
11
27
|
{{#if this.basicBottomBarActive}}
|
|
12
28
|
<EuiBottomBar>
|
|
13
|
-
<EuiFlexGroup @justifyContent=
|
|
29
|
+
<EuiFlexGroup @justifyContent='spaceBetween'>
|
|
14
30
|
<EuiFlexItem @grow={{false}}>
|
|
15
|
-
<EuiFlexGroup @gutterSize=
|
|
31
|
+
<EuiFlexGroup @gutterSize='s'>
|
|
16
32
|
<EuiFlexItem @grow={{false}}>
|
|
17
|
-
<EuiButton @color=
|
|
33
|
+
<EuiButton @color='ghost' @size='s' @iconType='help'>
|
|
18
34
|
Help
|
|
19
35
|
</EuiButton>
|
|
20
36
|
</EuiFlexItem>
|
|
21
37
|
<EuiFlexItem @grow={{false}}>
|
|
22
|
-
<EuiButton @color=
|
|
38
|
+
<EuiButton @color='ghost' @size='s' @iconType='user'>
|
|
23
39
|
Add user
|
|
24
40
|
</EuiButton>
|
|
25
41
|
</EuiFlexItem>
|
|
26
42
|
</EuiFlexGroup>
|
|
27
43
|
</EuiFlexItem>
|
|
28
44
|
<EuiFlexItem @grow={{false}}>
|
|
29
|
-
<EuiFlexGroup @gutterSize=
|
|
45
|
+
<EuiFlexGroup @gutterSize='s'>
|
|
30
46
|
<EuiFlexItem @grow={{false}}>
|
|
31
|
-
<EuiButtonEmpty @color=
|
|
47
|
+
<EuiButtonEmpty @color='ghost' @size='s' @iconType='cross'>
|
|
32
48
|
Discard
|
|
33
49
|
</EuiButtonEmpty>
|
|
34
50
|
</EuiFlexItem>
|
|
35
51
|
<EuiFlexItem @grow={{false}}>
|
|
36
|
-
<EuiButton
|
|
52
|
+
<EuiButton
|
|
53
|
+
@color='primary'
|
|
54
|
+
@fill={{true}}
|
|
55
|
+
@size='s'
|
|
56
|
+
@iconType='check'
|
|
57
|
+
>
|
|
37
58
|
Save
|
|
38
59
|
</EuiButton>
|
|
39
60
|
</EuiFlexItem>
|
|
@@ -42,44 +63,6 @@
|
|
|
42
63
|
</EuiFlexGroup>
|
|
43
64
|
</EuiBottomBar>
|
|
44
65
|
{{/if}}
|
|
45
|
-
|
|
46
|
-
<EuiSpacer/>
|
|
47
|
-
|
|
48
|
-
<EuiTitle>
|
|
49
|
-
Displacement
|
|
50
|
-
</EuiTitle>
|
|
51
|
-
<EuiText>
|
|
52
|
-
There is an affordForDisplacement prop (defaulting to true), which determines whether the component makes room for itself by adding bottom padding equivalent to its own height on the document body element. Setting this to false can be useful to minimize scrollbar visibility but will cause the bottom bar to overlap body content.
|
|
53
|
-
</EuiText>
|
|
54
|
-
<EuiSpacer/>
|
|
55
|
-
<EuiButton @color="primary" {{on "click" (queue
|
|
56
|
-
(set this "affordForDisplacement" true)
|
|
57
|
-
(set this "displacedBottomBarActive" true)
|
|
58
|
-
)}}>
|
|
59
|
-
Show bottom bar
|
|
60
|
-
</EuiButton>
|
|
61
|
-
<EuiButton @color="primary" {{on "click" (queue
|
|
62
|
-
(set this "affordForDisplacement" false)
|
|
63
|
-
(set this "displacedBottomBarActive" true)
|
|
64
|
-
)}}>
|
|
65
|
-
Show bottom bar (without affordForDisplacement behavior)
|
|
66
|
-
</EuiButton>
|
|
67
|
-
{{#if this.displacedBottomBarActive}}
|
|
68
|
-
<EuiBottomBar @affordForDisplacement={{this.affordForDisplacement}}>
|
|
69
|
-
<EuiFlexGroup @justifyContent="flexEnd">
|
|
70
|
-
<EuiFlexItem @grow={{false}}>
|
|
71
|
-
<EuiButtonEmpty
|
|
72
|
-
@color="ghost"
|
|
73
|
-
@size="s"
|
|
74
|
-
@iconType="cross"
|
|
75
|
-
{{on "click" (set this "displacedBottomBarActive" false)}}
|
|
76
|
-
>
|
|
77
|
-
close
|
|
78
|
-
</EuiButtonEmpty>
|
|
79
|
-
</EuiFlexItem>
|
|
80
|
-
</EuiFlexGroup>
|
|
81
|
-
</EuiBottomBar>
|
|
82
|
-
{{/if}}
|
|
83
66
|
```
|
|
84
67
|
|
|
85
68
|
```js component
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
order: 2
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Positions
|
|
6
|
+
|
|
7
|
+
<EuiText>
|
|
8
|
+
<p>
|
|
9
|
+
Bottom bars default to a fixed position, in a portal at the bottom of the
|
|
10
|
+
browser window. Alternatively, you can change the <EuiCode>position</EuiCode> to <EuiCode>sticky</EuiCode> where
|
|
11
|
+
it will render in place but stick to the window only as the window edge
|
|
12
|
+
nears. The <EuiCode>static</EuiCode> position reverts back to default DOM behavior.
|
|
13
|
+
</p>
|
|
14
|
+
<p>
|
|
15
|
+
You can
|
|
16
|
+
also apply a different set of positioning locations just by adjusting them
|
|
17
|
+
in with the <EuiCode>top | right | bottom | left</EuiCode> props.
|
|
18
|
+
</p>
|
|
19
|
+
</EuiText>
|
|
20
|
+
|
|
21
|
+
```hbs template
|
|
22
|
+
<div>
|
|
23
|
+
<EuiText>
|
|
24
|
+
<p>
|
|
25
|
+
When scrolling past this example block, the
|
|
26
|
+
<strong>EuiBottomBar</strong>
|
|
27
|
+
will stick to the bottom of the browser window (with a 10px offset), but
|
|
28
|
+
keeps it within the bounds of its parent.
|
|
29
|
+
</p>
|
|
30
|
+
</EuiText>
|
|
31
|
+
<EuiSpacer @size='xl' />
|
|
32
|
+
<EuiSpacer @size='xl' />
|
|
33
|
+
<EuiBottomBar
|
|
34
|
+
@landmarkHeading='Page level controls'
|
|
35
|
+
@position='sticky'
|
|
36
|
+
@bottom={{10}}
|
|
37
|
+
>
|
|
38
|
+
<EuiText color='ghost' textAlign='center'>
|
|
39
|
+
<p>Scroll to see!</p>
|
|
40
|
+
</EuiText>
|
|
41
|
+
</EuiBottomBar>
|
|
42
|
+
</div>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
```js component
|
|
46
|
+
import Component from '@glimmer/component';
|
|
47
|
+
import { tracked } from '@glimmer/tracking';
|
|
48
|
+
|
|
49
|
+
export default class BottomBarDemo1Component extends Component {
|
|
50
|
+
@tracked basicBottomBarActive = false;
|
|
51
|
+
@tracked displacedBottomBarActive = false;
|
|
52
|
+
@tracked affordForDisplacement = true;
|
|
53
|
+
}
|
|
54
|
+
```
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
order: 3
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Displacement
|
|
6
|
+
|
|
7
|
+
<EuiText>
|
|
8
|
+
<p>
|
|
9
|
+
There is an <EuiCode>affordForDisplacement</EuiCode> prop (defaulting to <EuiCode>true</EuiCode>), which determines
|
|
10
|
+
whether the component makes room for itself by adding bottom padding
|
|
11
|
+
equivalent to its own height on the document <EuiCode @language="html">body</EuiCode> element. Setting this to
|
|
12
|
+
<EuiCode>false</EuiCode> can be useful to minimize scrollbar visibility but will cause the bottom
|
|
13
|
+
bar to overlap body content.
|
|
14
|
+
</p>
|
|
15
|
+
<p>
|
|
16
|
+
You can
|
|
17
|
+
also apply a different set of positioning locations just by adjusting them
|
|
18
|
+
in with the <EuiCode>top | right | bottom | left</EuiCode> props.
|
|
19
|
+
</p>
|
|
20
|
+
</EuiText>
|
|
21
|
+
|
|
22
|
+
```hbs template
|
|
23
|
+
<EuiFlexGroup>
|
|
24
|
+
<EuiFlexItem>
|
|
25
|
+
<EuiButton
|
|
26
|
+
@color='primary'
|
|
27
|
+
{{on
|
|
28
|
+
'click'
|
|
29
|
+
(queue
|
|
30
|
+
(set this 'affordForDisplacement' true)
|
|
31
|
+
(set this 'displacedBottomBarActive' true)
|
|
32
|
+
)
|
|
33
|
+
}}
|
|
34
|
+
>
|
|
35
|
+
Show bottom bar
|
|
36
|
+
</EuiButton>
|
|
37
|
+
</EuiFlexItem>
|
|
38
|
+
<EuiFlexItem>
|
|
39
|
+
<EuiButton
|
|
40
|
+
@color='primary'
|
|
41
|
+
{{on
|
|
42
|
+
'click'
|
|
43
|
+
(queue
|
|
44
|
+
(set this 'affordForDisplacement' false)
|
|
45
|
+
(set this 'displacedBottomBarActive' true)
|
|
46
|
+
)
|
|
47
|
+
}}
|
|
48
|
+
>
|
|
49
|
+
Show bottom bar (without affordForDisplacement behavior)
|
|
50
|
+
</EuiButton>
|
|
51
|
+
</EuiFlexItem>
|
|
52
|
+
</EuiFlexGroup>
|
|
53
|
+
{{#if this.displacedBottomBarActive}}
|
|
54
|
+
<EuiBottomBar @affordForDisplacement={{this.affordForDisplacement}}>
|
|
55
|
+
<EuiFlexGroup @justifyContent='flexEnd'>
|
|
56
|
+
<EuiFlexItem @grow={{false}}>
|
|
57
|
+
<EuiButtonEmpty
|
|
58
|
+
@color='ghost'
|
|
59
|
+
@size='s'
|
|
60
|
+
@iconType='cross'
|
|
61
|
+
{{on 'click' (set this 'displacedBottomBarActive' false)}}
|
|
62
|
+
>
|
|
63
|
+
close
|
|
64
|
+
</EuiButtonEmpty>
|
|
65
|
+
</EuiFlexItem>
|
|
66
|
+
</EuiFlexGroup>
|
|
67
|
+
</EuiBottomBar>
|
|
68
|
+
{{/if}}
|
|
69
|
+
<EuiSpacer />
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
```js component
|
|
73
|
+
import Component from '@glimmer/component';
|
|
74
|
+
import { tracked } from '@glimmer/tracking';
|
|
75
|
+
|
|
76
|
+
export default class BottomBarDemo1Component extends Component {
|
|
77
|
+
@tracked basicBottomBarActive = false;
|
|
78
|
+
@tracked displacedBottomBarActive = false;
|
|
79
|
+
@tracked affordForDisplacement = true;
|
|
80
|
+
}
|
|
81
|
+
```
|