@ember-eui/core 4.2.6 → 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 +8 -5
- 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 -1335
- 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
|
@@ -21,7 +21,12 @@ import { EuiPopoverPosition } from './types';
|
|
|
21
21
|
|
|
22
22
|
type Dimension = 'height' | 'width';
|
|
23
23
|
|
|
24
|
-
export const POSITIONS: EuiPopoverPosition[] = [
|
|
24
|
+
export const POSITIONS: EuiPopoverPosition[] = [
|
|
25
|
+
'top',
|
|
26
|
+
'right',
|
|
27
|
+
'bottom',
|
|
28
|
+
'left'
|
|
29
|
+
];
|
|
25
30
|
|
|
26
31
|
interface BoundingBox {
|
|
27
32
|
[position: string]: number;
|
|
@@ -143,8 +148,10 @@ export function findPopoverPosition({
|
|
|
143
148
|
// calculate the window's bounds
|
|
144
149
|
// window.(innerWidth|innerHeight) do not account for scrollbars
|
|
145
150
|
// so prefer the clientWidth/clientHeight of the DOM if available
|
|
146
|
-
const documentWidth =
|
|
147
|
-
|
|
151
|
+
const documentWidth =
|
|
152
|
+
document.documentElement.clientWidth || window.innerWidth;
|
|
153
|
+
const documentHeight =
|
|
154
|
+
document.documentElement.clientHeight || window.innerHeight;
|
|
148
155
|
const windowBoundingBox: EuiClientRect = {
|
|
149
156
|
top: 0,
|
|
150
157
|
right: documentWidth,
|
|
@@ -155,7 +162,9 @@ export function findPopoverPosition({
|
|
|
155
162
|
};
|
|
156
163
|
|
|
157
164
|
// if no container element is given fall back to using the window viewport
|
|
158
|
-
const containerBoundingBox = container
|
|
165
|
+
const containerBoundingBox = container
|
|
166
|
+
? getElementBoundingBox(container)
|
|
167
|
+
: windowBoundingBox;
|
|
159
168
|
|
|
160
169
|
/**
|
|
161
170
|
* `position` was specified by the function caller and is a strong hint
|
|
@@ -196,7 +205,10 @@ export function findPopoverPosition({
|
|
|
196
205
|
// position is forced, if it conflicts with the alignment then reset align to `null`
|
|
197
206
|
// e.g. original placement request for `downLeft` is moved to the `left` side, future calls
|
|
198
207
|
// will position and align `left`, and `leftLeft` is not a valid placement
|
|
199
|
-
if (
|
|
208
|
+
if (
|
|
209
|
+
position === align ||
|
|
210
|
+
(align !== undefined && position === positionComplements[align])
|
|
211
|
+
) {
|
|
200
212
|
iterationAlignments[0] = undefined;
|
|
201
213
|
}
|
|
202
214
|
}
|
|
@@ -339,7 +351,8 @@ export function getPopoverScreenCoordinates({
|
|
|
339
351
|
const crossAxisSecondSide = positionComplements[crossAxisFirstSide]; // "left" -> "right"
|
|
340
352
|
const crossAxisDimension = relatedDimension[crossAxisFirstSide]; // "left" -> "width"
|
|
341
353
|
|
|
342
|
-
const [topBuffer, rightBuffer, bottomBuffer, leftBuffer] =
|
|
354
|
+
const [topBuffer, rightBuffer, bottomBuffer, leftBuffer] =
|
|
355
|
+
getBufferValues(buffer);
|
|
343
356
|
|
|
344
357
|
const { crossAxisPosition, crossAxisArrowPosition } = getCrossAxisPosition({
|
|
345
358
|
crossAxisFirstSide,
|
|
@@ -357,15 +370,17 @@ export function getPopoverScreenCoordinates({
|
|
|
357
370
|
});
|
|
358
371
|
|
|
359
372
|
const primaryAxisDimension = relatedDimension[position]; // "top" -> "height"
|
|
360
|
-
const primaryAxisPositionName =
|
|
373
|
+
const primaryAxisPositionName =
|
|
374
|
+
dimensionPositionAttribute[primaryAxisDimension]; // "height" -> "top"
|
|
361
375
|
|
|
362
|
-
const { primaryAxisPosition, primaryAxisArrowPosition } =
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
376
|
+
const { primaryAxisPosition, primaryAxisArrowPosition } =
|
|
377
|
+
getPrimaryAxisPosition({
|
|
378
|
+
position,
|
|
379
|
+
offset,
|
|
380
|
+
popoverBoundingBox,
|
|
381
|
+
anchorBoundingBox,
|
|
382
|
+
arrowConfig
|
|
383
|
+
});
|
|
369
384
|
|
|
370
385
|
const popoverPlacement = {
|
|
371
386
|
[crossAxisFirstSide]: crossAxisPosition,
|
|
@@ -374,7 +389,10 @@ export function getPopoverScreenCoordinates({
|
|
|
374
389
|
|
|
375
390
|
// calculate the fit of the popover in this location
|
|
376
391
|
// fit is in range 0.0 -> 1.0 and is the percentage of the popover which is visible in this location
|
|
377
|
-
const combinedBoundingBox = intersectBoundingBoxes(
|
|
392
|
+
const combinedBoundingBox = intersectBoundingBoxes(
|
|
393
|
+
windowBoundingBox,
|
|
394
|
+
containerBoundingBox
|
|
395
|
+
);
|
|
378
396
|
|
|
379
397
|
// shrink the visible bounding box by `buffer`
|
|
380
398
|
// to compute a fit value
|
|
@@ -397,7 +415,8 @@ export function getPopoverScreenCoordinates({
|
|
|
397
415
|
|
|
398
416
|
const arrow = arrowConfig
|
|
399
417
|
? {
|
|
400
|
-
[crossAxisFirstSide]:
|
|
418
|
+
[crossAxisFirstSide]:
|
|
419
|
+
crossAxisArrowPosition! - popoverPlacement[crossAxisFirstSide],
|
|
401
420
|
[primaryAxisPositionName]: primaryAxisArrowPosition
|
|
402
421
|
}
|
|
403
422
|
: undefined;
|
|
@@ -457,7 +476,10 @@ function getCrossAxisPosition({
|
|
|
457
476
|
|
|
458
477
|
// To fit the content within both the window and container,
|
|
459
478
|
// compute the smaller of the two spaces along each edge
|
|
460
|
-
const combinedBoundingBox = intersectBoundingBoxes(
|
|
479
|
+
const combinedBoundingBox = intersectBoundingBoxes(
|
|
480
|
+
windowBoundingBox,
|
|
481
|
+
containerBoundingBox
|
|
482
|
+
);
|
|
461
483
|
const availableSpace = getAvailableSpace(
|
|
462
484
|
anchorBoundingBox,
|
|
463
485
|
combinedBoundingBox,
|
|
@@ -467,7 +489,8 @@ function getCrossAxisPosition({
|
|
|
467
489
|
);
|
|
468
490
|
const minimumSpace = arrowConfig ? arrowConfig.arrowBuffer : 0;
|
|
469
491
|
|
|
470
|
-
const contentOverflowSize =
|
|
492
|
+
const contentOverflowSize =
|
|
493
|
+
(popoverSizeOnCrossAxis - anchorSizeOnCrossAxis) / 2;
|
|
471
494
|
|
|
472
495
|
let alignAmount = 0;
|
|
473
496
|
let alignDirection = 1;
|
|
@@ -480,7 +503,8 @@ function getCrossAxisPosition({
|
|
|
480
503
|
alignAmount = contentOverflowSize;
|
|
481
504
|
|
|
482
505
|
const alignedOverflowAmount = contentOverflowSize + alignAmount;
|
|
483
|
-
const needsShift =
|
|
506
|
+
const needsShift =
|
|
507
|
+
alignedOverflowAmount > availableSpace[positionComplements[align]];
|
|
484
508
|
amountOfShiftNeeded = needsShift
|
|
485
509
|
? alignedOverflowAmount - availableSpace[positionComplements[align]]
|
|
486
510
|
: 0;
|
|
@@ -490,19 +514,26 @@ function getCrossAxisPosition({
|
|
|
490
514
|
const spaceAvailableOnFirstSide = availableSpace[crossAxisFirstSide];
|
|
491
515
|
const spaceAvailableOnSecondSide = availableSpace[crossAxisSecondSide];
|
|
492
516
|
|
|
493
|
-
const isShiftTowardFirstSide =
|
|
517
|
+
const isShiftTowardFirstSide =
|
|
518
|
+
spaceAvailableOnFirstSide > spaceAvailableOnSecondSide;
|
|
494
519
|
shiftDirection = isShiftTowardFirstSide ? -1 : 1;
|
|
495
520
|
|
|
496
521
|
// determine which direction has more room and the popover should shift to
|
|
497
|
-
const leastAvailableSpace = Math.min(
|
|
522
|
+
const leastAvailableSpace = Math.min(
|
|
523
|
+
spaceAvailableOnFirstSide,
|
|
524
|
+
spaceAvailableOnSecondSide
|
|
525
|
+
);
|
|
498
526
|
|
|
499
527
|
const needsShift = contentOverflowSize > leastAvailableSpace;
|
|
500
|
-
amountOfShiftNeeded = needsShift
|
|
528
|
+
amountOfShiftNeeded = needsShift
|
|
529
|
+
? contentOverflowSize - leastAvailableSpace
|
|
530
|
+
: 0;
|
|
501
531
|
}
|
|
502
532
|
|
|
503
533
|
// shift over the popover if necessary
|
|
504
534
|
const shiftAmount = amountOfShiftNeeded * shiftDirection;
|
|
505
|
-
let crossAxisPosition =
|
|
535
|
+
let crossAxisPosition =
|
|
536
|
+
crossAxisPositionOriginal + shiftAmount + alignAmount * alignDirection;
|
|
506
537
|
|
|
507
538
|
// if an `arrowConfig` is specified, find where to position the arrow
|
|
508
539
|
let crossAxisArrowPosition;
|
|
@@ -516,7 +547,8 @@ function getCrossAxisPosition({
|
|
|
516
547
|
// but instead of moving the arrow, shift the popover content
|
|
517
548
|
if (crossAxisArrowPosition < crossAxisPosition + minimumSpace) {
|
|
518
549
|
// arrow is too close to the minimum side
|
|
519
|
-
const difference =
|
|
550
|
+
const difference =
|
|
551
|
+
crossAxisPosition + minimumSpace - crossAxisArrowPosition;
|
|
520
552
|
crossAxisPosition -= difference;
|
|
521
553
|
} else if (
|
|
522
554
|
crossAxisArrowPosition + minimumSpace + arrowWidth >
|
|
@@ -524,7 +556,8 @@ function getCrossAxisPosition({
|
|
|
524
556
|
) {
|
|
525
557
|
// arrow is too close to the maximum side
|
|
526
558
|
const edge = crossAxisPosition + popoverSizeOnCrossAxis;
|
|
527
|
-
const difference =
|
|
559
|
+
const difference =
|
|
560
|
+
crossAxisArrowPosition - (edge - minimumSpace - arrowWidth);
|
|
528
561
|
crossAxisPosition += difference;
|
|
529
562
|
}
|
|
530
563
|
}
|
|
@@ -561,19 +594,25 @@ function getPrimaryAxisPosition({
|
|
|
561
594
|
const popoverSizeOnPrimaryAxis = popoverBoundingBox[primaryAxisDimension];
|
|
562
595
|
|
|
563
596
|
// start at the top or left edge of the anchor element
|
|
564
|
-
const primaryAxisPositionName =
|
|
597
|
+
const primaryAxisPositionName =
|
|
598
|
+
dimensionPositionAttribute[primaryAxisDimension]; // "height" -> "top"
|
|
565
599
|
const anchorEdgeOrigin = anchorBoundingBox[primaryAxisPositionName];
|
|
566
600
|
|
|
567
601
|
// find the popover position on the primary axis
|
|
568
602
|
const anchorSizeOnPrimaryAxis = anchorBoundingBox[primaryAxisDimension];
|
|
569
|
-
const primaryAxisOffset = isOffsetDecreasing
|
|
570
|
-
|
|
603
|
+
const primaryAxisOffset = isOffsetDecreasing
|
|
604
|
+
? popoverSizeOnPrimaryAxis
|
|
605
|
+
: anchorSizeOnPrimaryAxis;
|
|
606
|
+
const contentOffset =
|
|
607
|
+
(offset + primaryAxisOffset) * (isOffsetDecreasing ? -1 : 1);
|
|
571
608
|
const primaryAxisPosition = anchorEdgeOrigin + contentOffset;
|
|
572
609
|
|
|
573
610
|
let primaryAxisArrowPosition;
|
|
574
611
|
|
|
575
612
|
if (arrowConfig) {
|
|
576
|
-
primaryAxisArrowPosition = isOffsetDecreasing
|
|
613
|
+
primaryAxisArrowPosition = isOffsetDecreasing
|
|
614
|
+
? popoverSizeOnPrimaryAxis
|
|
615
|
+
: 0;
|
|
577
616
|
}
|
|
578
617
|
|
|
579
618
|
return {
|
|
@@ -619,7 +658,8 @@ export function getAvailableSpace(
|
|
|
619
658
|
offset: number,
|
|
620
659
|
offsetSide: EuiPopoverPosition
|
|
621
660
|
): BoundingBox {
|
|
622
|
-
const [topBuffer, rightBuffer, bottomBuffer, leftBuffer] =
|
|
661
|
+
const [topBuffer, rightBuffer, bottomBuffer, leftBuffer] =
|
|
662
|
+
getBufferValues(buffer);
|
|
623
663
|
return {
|
|
624
664
|
top:
|
|
625
665
|
anchorBoundingBox.top -
|
|
@@ -654,15 +694,22 @@ export function getVisibleFit(
|
|
|
654
694
|
contentBoundingBox: BoundingBox,
|
|
655
695
|
containerBoundingBox: BoundingBox
|
|
656
696
|
): number {
|
|
657
|
-
const intersection = intersectBoundingBoxes(
|
|
697
|
+
const intersection = intersectBoundingBoxes(
|
|
698
|
+
contentBoundingBox,
|
|
699
|
+
containerBoundingBox
|
|
700
|
+
);
|
|
658
701
|
|
|
659
|
-
if (
|
|
702
|
+
if (
|
|
703
|
+
intersection.left > intersection.right ||
|
|
704
|
+
intersection.top > intersection.top
|
|
705
|
+
) {
|
|
660
706
|
// there is no intersection, the boxes are completely separated on at least one axis
|
|
661
707
|
return 0;
|
|
662
708
|
}
|
|
663
709
|
|
|
664
710
|
const intersectionArea =
|
|
665
|
-
(intersection.right - intersection.left) *
|
|
711
|
+
(intersection.right - intersection.left) *
|
|
712
|
+
(intersection.bottom - intersection.top);
|
|
666
713
|
const contentArea =
|
|
667
714
|
(contentBoundingBox.right - contentBoundingBox.left) *
|
|
668
715
|
(contentBoundingBox.bottom - contentBoundingBox.top);
|
|
@@ -705,7 +752,10 @@ export function intersectBoundingBoxes(
|
|
|
705
752
|
* @param cousin {HTMLElement}
|
|
706
753
|
* @returns {number}
|
|
707
754
|
*/
|
|
708
|
-
export function getElementZIndex(
|
|
755
|
+
export function getElementZIndex(
|
|
756
|
+
element: HTMLElement,
|
|
757
|
+
cousin: HTMLElement
|
|
758
|
+
): number {
|
|
709
759
|
/**
|
|
710
760
|
* finding the z-index of `element` is not the full story
|
|
711
761
|
* its the CSS stacking context that is important
|
|
@@ -752,7 +802,9 @@ export function getElementZIndex(element: HTMLElement, cousin: HTMLElement): num
|
|
|
752
802
|
|
|
753
803
|
for (const node of nodesToInspect) {
|
|
754
804
|
// get this node's z-index css value
|
|
755
|
-
const zIndex = window.document
|
|
805
|
+
const zIndex = window.document
|
|
806
|
+
.defaultView!.getComputedStyle(node)
|
|
807
|
+
.getPropertyValue('z-index');
|
|
756
808
|
|
|
757
809
|
// if the z-index is not a number (e.g. "auto") return null, else the value
|
|
758
810
|
const parsedZIndex = parseInt(zIndex, 10);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const EUI_THUMB_SIZE = 16;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-auto-sizer';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-breadcrumbs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-card-select';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from '@ember-eui/core/components/eui-code-block
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-code-block/controls';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from '@ember-eui/core/components/eui-code-block
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-code-block/full-screen-display';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-code-block/virtualized';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-description-list';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-description-list-description';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-description-list-title';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-empty-prompt';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-header-alert';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-header-breadcrumbs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-header-links';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-hide-for';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-key-pad-menu';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-key-pad-menu/key';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-key-pad-menu-item';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-link';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-page-header-content';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-page-template';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-show-for';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-split-panel/inner';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/components/eui-split-panel/outer';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/utils/copy-to-clipboard';
|
|
@@ -1,54 +1,48 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
<EuiAvatar @size="s" @name="Raphael" />
|
|
5
|
-
<EuiAvatar @size="m" @name="Donatello" />
|
|
6
|
-
<EuiAvatar @size="l" @name="Leonardo" @color="#BD10E0" />
|
|
7
|
-
<EuiAvatar @size="xl" @name="Michelangelo" />
|
|
8
|
-
<EuiSpacer />
|
|
9
|
-
<EuiAvatar @size="s" @name="Cat" @imageUrl="https://source.unsplash.com/64x64/?cat" />
|
|
10
|
-
<EuiAvatar @size="m" @name="Cat" @imageUrl="https://source.unsplash.com/64x64/?cat" />
|
|
11
|
-
<EuiAvatar @size="l" @name="Cat" @imageUrl="https://source.unsplash.com/64x64/?cat" />
|
|
12
|
-
<EuiAvatar @size="xl" @name="Cat" @imageUrl="https://source.unsplash.com/64x64/?cat" />
|
|
13
|
-
<EuiSpacer />
|
|
14
|
-
<EuiAvatar @size="m" @name="Single" />
|
|
15
|
-
<EuiAvatar @size="m" @name="Two Words" />
|
|
16
|
-
<EuiAvatar @size="m" @name="More Than Two Words" />
|
|
17
|
-
<EuiAvatar @size="m" @name="lowercase words" />
|
|
18
|
-
<EuiSpacer />
|
|
19
|
-
<EuiTitle @size="xs">
|
|
20
|
-
<h4>
|
|
21
|
-
Custom & Spaces type
|
|
22
|
-
</h4>
|
|
23
|
-
</EuiTitle>
|
|
24
|
-
<EuiSpacer />
|
|
25
|
-
<EuiAvatar @size="m" @type="space" @name="Kibana" @initialsLength={{2}} />
|
|
26
|
-
<EuiAvatar @size="m" @type="space" @name="Leonardo Dude" @initialsLength={{1}} />
|
|
27
|
-
<EuiAvatar @size="m" @type="space" @name="Not provided" @initials="?" />
|
|
28
|
-
<EuiAvatar @size="m" @type="space" @name="Engineering Space" @initials="En" @initialsLength={{2}} />
|
|
1
|
+
---
|
|
2
|
+
order: 1
|
|
3
|
+
---
|
|
29
4
|
|
|
5
|
+
# Basic
|
|
30
6
|
|
|
31
|
-
<
|
|
32
|
-
<
|
|
33
|
-
Icons
|
|
34
|
-
</h4>
|
|
35
|
-
</EuiTitle>
|
|
36
|
-
<EuiSpacer />
|
|
37
|
-
<EuiAvatar @size="s" @name="Small Size" @iconType="managementApp"/>
|
|
38
|
-
<EuiAvatar @size="m" @name="Medium Size" @iconType="managementApp"/>
|
|
39
|
-
<EuiAvatar @size="l" @name="Large" @iconType="managementApp"/>
|
|
40
|
-
<EuiAvatar @size="xl" @name="Plain color" @color="plain" @iconType="managementApp"/>
|
|
7
|
+
<EuiText>
|
|
8
|
+
<p>
|
|
41
9
|
|
|
42
|
-
<
|
|
43
|
-
<h4>
|
|
44
|
-
Colors and Sizes
|
|
45
|
-
</h4>
|
|
46
|
-
</EuiTitle>
|
|
47
|
-
<EuiSpacer />
|
|
10
|
+
The <strong>EuiAvatar</strong> component typically creates a user icon. It will accept <EuiCode>name</EuiCode> (required) and <EuiCode>image</EuiCode> props and will configure the display and accessibility as needed. By default, the background colors come from the set of colors used for visualizations. Otherwise you can pass a hex value to the <EuiCode>color</EuiCode> prop.
|
|
48
11
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
<EuiAvatar @name="Null iconColor" @iconType="appSearchApp" @iconColor={{null}} @color="#343741"/>
|
|
52
|
-
<EuiAvatar @name="Large iconSize" @iconType="appSearchApp" @iconSize="l"/>
|
|
12
|
+
</p>
|
|
13
|
+
</EuiText>
|
|
53
14
|
|
|
54
|
-
```
|
|
15
|
+
```hbs template
|
|
16
|
+
<div>
|
|
17
|
+
<EuiAvatar @size='s' @name='Raphael' />
|
|
18
|
+
<EuiAvatar @size='m' @name='Donatello' />
|
|
19
|
+
<EuiAvatar @size='l' @name='Leonardo' @color='#BD10E0' />
|
|
20
|
+
<EuiAvatar @size='xl' @name='Michelangelo' />
|
|
21
|
+
</div>
|
|
22
|
+
<EuiSpacer />
|
|
23
|
+
<EuiTitle @size='xs'>
|
|
24
|
+
With image
|
|
25
|
+
</EuiTitle>
|
|
26
|
+
<div>
|
|
27
|
+
<EuiAvatar
|
|
28
|
+
@size='s'
|
|
29
|
+
@name='Cat'
|
|
30
|
+
@imageUrl='https://source.unsplash.com/64x64/?cat'
|
|
31
|
+
/>
|
|
32
|
+
<EuiAvatar
|
|
33
|
+
@size='m'
|
|
34
|
+
@name='Cat'
|
|
35
|
+
@imageUrl='https://source.unsplash.com/64x64/?cat'
|
|
36
|
+
/>
|
|
37
|
+
<EuiAvatar
|
|
38
|
+
@size='l'
|
|
39
|
+
@name='Cat'
|
|
40
|
+
@imageUrl='https://source.unsplash.com/64x64/?cat'
|
|
41
|
+
/>
|
|
42
|
+
<EuiAvatar
|
|
43
|
+
@size='xl'
|
|
44
|
+
@name='Cat'
|
|
45
|
+
@imageUrl='https://source.unsplash.com/64x64/?cat'
|
|
46
|
+
/>
|
|
47
|
+
</div>
|
|
48
|
+
```
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
order: 2
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Initials
|
|
6
|
+
|
|
7
|
+
<EuiText>
|
|
8
|
+
<p>
|
|
9
|
+
|
|
10
|
+
The initials displayed in the avatar try to be smart based on the name prop. If the name contains spaces, it will display the first character of each word, <strong>always maxing out at 2 characters.</strong> You can customize this by passing a combination of <EuiCode>initialsLength</EuiCode> and/or <EuiCode>initials</EuiCode> props. However, the avatar will still always max out at 2 characters.
|
|
11
|
+
|
|
12
|
+
</p>
|
|
13
|
+
</EuiText>
|
|
14
|
+
|
|
15
|
+
```hbs template
|
|
16
|
+
<EuiTitle @size='xs'>
|
|
17
|
+
Single vs multi-word
|
|
18
|
+
</EuiTitle>
|
|
19
|
+
<EuiSpacer />
|
|
20
|
+
<div>
|
|
21
|
+
<EuiAvatar @size='m' @name='Single' />
|
|
22
|
+
<EuiAvatar @size='m' @name='Two Words' />
|
|
23
|
+
<EuiAvatar @size='m' @name='More Than Two Words' />
|
|
24
|
+
<EuiAvatar @size='m' @name='lowercase words' />
|
|
25
|
+
</div>
|
|
26
|
+
<EuiSpacer />
|
|
27
|
+
<EuiTitle @size='xs'>
|
|
28
|
+
Custom
|
|
29
|
+
</EuiTitle>
|
|
30
|
+
<EuiSpacer />
|
|
31
|
+
<div>
|
|
32
|
+
<EuiAvatar @size='m' @name='Kibana' @initialsLength={{2}} />
|
|
33
|
+
<EuiAvatar @size='m' @name='Leonardo Dude' @initialsLength={{1}} />
|
|
34
|
+
<EuiAvatar @size='m' @name='Not provided' @initials='?' />
|
|
35
|
+
<EuiAvatar
|
|
36
|
+
@size='m'
|
|
37
|
+
@name='Engineering Space'
|
|
38
|
+
@initials='En'
|
|
39
|
+
@initialsLength={{2}}
|
|
40
|
+
/>
|
|
41
|
+
</div>
|
|
42
|
+
```
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
order: 3
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Types
|
|
6
|
+
|
|
7
|
+
<EuiText>
|
|
8
|
+
<p>
|
|
9
|
+
|
|
10
|
+
The avatar <EuiCode>type</EuiCode>, which primarily defines the shape, is keyworded and can be <EuiCode>"user"</EuiCode> (default) or <EuiCode>"space"</EuiCode> (for workspaces).
|
|
11
|
+
|
|
12
|
+
</p>
|
|
13
|
+
</EuiText>
|
|
14
|
+
|
|
15
|
+
```hbs template
|
|
16
|
+
<div>
|
|
17
|
+
<EuiAvatar @size='s' @type='space' @name='Kibana' @initialsLength={{2}} />
|
|
18
|
+
<EuiAvatar
|
|
19
|
+
@size='m'
|
|
20
|
+
@type='space'
|
|
21
|
+
@name='Leonardo Dude'
|
|
22
|
+
@initialsLength={{1}}
|
|
23
|
+
/>
|
|
24
|
+
<EuiAvatar @size='l' @type='space' @name='Not provided' @initials='?' />
|
|
25
|
+
<EuiAvatar
|
|
26
|
+
@size='xl'
|
|
27
|
+
@type='space'
|
|
28
|
+
@name='Engineering Space'
|
|
29
|
+
@initials='En'
|
|
30
|
+
@initialsLength={{2}}
|
|
31
|
+
/>
|
|
32
|
+
</div>
|
|
33
|
+
```
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
order: 4
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Icons
|
|
6
|
+
|
|
7
|
+
<EuiText>
|
|
8
|
+
<p>
|
|
9
|
+
|
|
10
|
+
Icons can also be displayed instead of initials or images. When simply passing an <EuiCode>iconType</EuiCode>, it will both size and color appropriately based on the other <strong>EuiAvatar</strong> props. To customize these specifically, pass <EuiCode>iconSize</EuiCode> and <EuiCode>iconColor</EuiCode>.
|
|
11
|
+
|
|
12
|
+
If your icon has multiples or custom colors like a logo, you can keep the default <EuiCode>iconColor</EuiCode> by passing <EuiCode>null</EuiCode>. Otherwise it will get the appropriate contrast acceptable variant. Just ensure that you also are providing an accesible background color to match that of the icon's color.
|
|
13
|
+
|
|
14
|
+
</p>
|
|
15
|
+
</EuiText>
|
|
16
|
+
|
|
17
|
+
```hbs template
|
|
18
|
+
<EuiTitle @size='xs'>
|
|
19
|
+
Icon colors and sizes
|
|
20
|
+
</EuiTitle>
|
|
21
|
+
<div>
|
|
22
|
+
<EuiAvatar @size='s' @name='Small Size' @iconType='managementApp' />
|
|
23
|
+
<EuiAvatar @size='m' @name='Medium Size' @iconType='managementApp' />
|
|
24
|
+
<EuiAvatar @size='l' @name='Large' @iconType='managementApp' />
|
|
25
|
+
<EuiAvatar
|
|
26
|
+
@size='xl'
|
|
27
|
+
@name='Plain color'
|
|
28
|
+
@color='plain'
|
|
29
|
+
@iconType='managementApp'
|
|
30
|
+
/>
|
|
31
|
+
</div>
|
|
32
|
+
|
|
33
|
+
<EuiTitle @size='xs'>
|
|
34
|
+
Icon colors and sizes
|
|
35
|
+
</EuiTitle>
|
|
36
|
+
<EuiSpacer />
|
|
37
|
+
<div>
|
|
38
|
+
<EuiAvatar @name='Avatar color' @iconType='managementApp' @color='#BD10E0' />
|
|
39
|
+
<EuiAvatar
|
|
40
|
+
@name='Custom iconColor'
|
|
41
|
+
@iconType='managementApp'
|
|
42
|
+
@color='#E6F1FA'
|
|
43
|
+
@iconColor='primary'
|
|
44
|
+
/>
|
|
45
|
+
<EuiAvatar
|
|
46
|
+
@name='Null iconColor'
|
|
47
|
+
@iconType='managementApp'
|
|
48
|
+
@iconColor={{null}}
|
|
49
|
+
@color='#D3DAE6'
|
|
50
|
+
/>
|
|
51
|
+
<EuiAvatar @name='Large iconSize' @iconType='managementApp' @iconSize='l' />
|
|
52
|
+
</div>
|
|
53
|
+
```
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
order: 5
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Disabled
|
|
6
|
+
|
|
7
|
+
<EuiText>
|
|
8
|
+
<p>
|
|
9
|
+
|
|
10
|
+
While <strong>EuiAvatar</strong> doesn't accept any interactive behaviors itself, you can create a visually presented disabled avatar by adding <EuiCode>isDisabled</EuiCode> when placed within a disabled element.
|
|
11
|
+
|
|
12
|
+
</p>
|
|
13
|
+
</EuiText>
|
|
14
|
+
|
|
15
|
+
```hbs template
|
|
16
|
+
<div>
|
|
17
|
+
<EuiAvatar
|
|
18
|
+
@size='m'
|
|
19
|
+
@type='space'
|
|
20
|
+
@isDisabled={{true}}
|
|
21
|
+
@name='Leonardo Dude'
|
|
22
|
+
@initialsLength={{1}}
|
|
23
|
+
/>
|
|
24
|
+
<EuiAvatar @size='m' @isDisabled={{true}} @name='Two Words' />
|
|
25
|
+
<EuiAvatar
|
|
26
|
+
@size='m'
|
|
27
|
+
@isDisabled={{true}}
|
|
28
|
+
@name='Cat'
|
|
29
|
+
@imageUrl='https://source.unsplash.com/64x64/?cat'
|
|
30
|
+
/>
|
|
31
|
+
<EuiAvatar
|
|
32
|
+
@size='m'
|
|
33
|
+
@isDisabled={{true}}
|
|
34
|
+
@name='Medium Size'
|
|
35
|
+
@iconType='managementApp'
|
|
36
|
+
/>
|
|
37
|
+
</div>
|
|
38
|
+
```
|