@ember-eui/core 5.0.3 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/addon/components/eui-accordion/index.hbs +1 -1
- package/addon/components/eui-breadcrumbs/index.hbs +9 -1
- package/addon/components/eui-header-links/index.hbs +1 -1
- package/addon/components/eui-input-popover/index.hbs +37 -31
- package/addon/components/eui-popover/index.hbs +61 -102
- package/addon/helpers/merge.ts +5 -0
- package/addon/utils/css-mappings/eui-avatar.ts +1 -0
- package/addon/utils/css-mappings/eui-header-links.ts +1 -1
- package/app/helpers/merge.js +1 -0
- package/docs/layout/{accordion.md → accordion/demo/d01-simple-and-unstyle.md} +18 -22
- package/docs/layout/accordion/demo/d02-arrow-display.md +34 -0
- package/docs/layout/{accordion-demo/demo2.md → accordion/demo/d03-multiple-accordions.md} +6 -5
- package/docs/layout/{accordion-demo/demo3.md → accordion/demo/d04-extra-actions.md} +2 -2
- package/docs/layout/{accordion-demo/demo4.md → accordion/demo/d05-opened-on-initial-render.md} +2 -2
- package/docs/layout/{accordion-demo/demo5.md → accordion/demo/d06-controlling-toggled-state.md} +3 -2
- package/docs/layout/{accordion-demo/demo6.md → accordion/demo/d07-loading-state.md} +2 -1
- package/docs/layout/accordion/demo/d08-when-content-changes-dynamically.md +71 -0
- package/docs/layout/{accordion-demo/demo8.md → accordion/demo/d09-interactive-content-in-the-trigger.md} +4 -4
- package/docs/layout/{accordion-demo/demo9.md → accordion/demo/d10-styled-for-forms.md} +44 -44
- package/docs/layout/accordion/index.md +23 -0
- package/docs/layout/{bottom-bar-demo/demo1.md → bottom-bar/demo/d01-basic.md} +0 -2
- package/docs/layout/{bottom-bar-demo/demo2.md → bottom-bar/demo/d02-positions.md} +0 -0
- package/docs/layout/{bottom-bar-demo/demo3.md → bottom-bar/demo/d03-displacement.md} +1 -0
- package/docs/layout/bottom-bar/index.md +18 -0
- package/docs/layout/flex/demo/d01-flex-group-is-for-a-single-row-layout.md +19 -0
- package/docs/layout/flex/demo/d02-flex-items-are-also-flex.md +18 -0
- package/docs/layout/flex/demo/d03-spans-instead-of-divs.md +19 -0
- package/docs/layout/flex/demo/d04-panels-grow-to-fill-flex-items.md +32 -0
- package/docs/layout/flex/demo/d05-turn-off-item-streching.md +12 -0
- package/docs/layout/flex/demo/d06-proportional-widths-of-items.md +32 -0
- package/docs/layout/flex/demo/d07-justify-and-align.md +11 -0
- package/docs/layout/flex/demo/d08-allowing-flex-items-to-wrap.md +43 -0
- package/docs/layout/flex/demo/d09-change-direction.md +13 -0
- package/docs/layout/flex/demo/d10-flex-grids-are-for-repeatable-items.md +33 -0
- package/docs/layout/flex/demo/d11-flex-grids-can-change-direction.md +33 -0
- package/docs/layout/flex/demo/d12-flex-grids-and-flex-groups-can-nest.md +30 -0
- package/docs/layout/flex/demo/d13-gutter-sizing.md +61 -0
- package/docs/layout/flex/demo/d14-responsive-layouts.md +29 -0
- package/docs/layout/flex/index.md +18 -0
- package/docs/layout/{flyout-demo/demo1.md → flyout/demo/d01-basic.md} +12 -16
- package/docs/layout/flyout/demo/d02-more-complicated-flyout.md +195 -0
- package/docs/layout/{flyout-demo/demo3.md → flyout/demo/d03-sizing.md} +5 -17
- package/docs/layout/{flyout-demo/demo4.md → flyout/demo/d04-adjusting-padding.md} +29 -36
- package/docs/layout/{flyout-demo/demo5.md → flyout/demo/d05-adding-a-banner.md} +6 -6
- package/docs/layout/{flyout-demo/demo6.md → flyout/demo/d06-without-ownfocus.md} +11 -14
- package/docs/layout/{flyout-demo/demo7.md → flyout/demo/d07-push-versus-overlay.md} +17 -3
- package/docs/layout/flyout/demo/d08-understanding-max-width.md +9 -0
- package/docs/layout/flyout/index.md +7 -0
- package/docs/layout/{header-demo/demo1.md → header/demo/d01-header.md} +138 -120
- package/docs/layout/header/demo/d02-sections.md +9 -0
- package/docs/layout/{header-demo/demo2.md → header/demo/d03-header-links.md} +2 -2
- package/docs/layout/{header-demo/demo3.md → header/demo/d04-fixed-header.md} +1 -1
- package/docs/layout/{header-demo/demo4.md → header/demo/d05-dark-theme.md} +3 -3
- package/docs/layout/{header-demo/demo5.md → header/demo/d06-portal-content-in-the-header.md} +20 -9
- package/docs/layout/{header-demo/demo6.md → header/demo/d07-header-notifications.md} +1 -1
- package/docs/layout/{header-demo/demo7.md → header/demo/d08-stacked-headers.md} +47 -26
- package/docs/layout/header/demo/d09-the-elastic-navigation-pattern.md +9 -0
- package/docs/layout/header/index.md +7 -0
- package/docs/layout/horizontal-rule/demo/d01-size.md +14 -0
- package/docs/layout/horizontal-rule/demo/d02-margins.md +38 -0
- package/docs/layout/horizontal-rule/horizontal-rule.md +7 -0
- package/docs/layout/modal/demo/d01-modal.md +73 -0
- package/docs/layout/modal/demo/d02-forms-in-a-modal.md +107 -0
- package/docs/layout/modal/demo/d03-confirm-modal.md +86 -0
- package/docs/layout/modal/demo/d04-loading-and-disabling-confirm-button.md +80 -0
- package/docs/layout/{modal-demo/demo5.md → modal/demo/d05-widths.md} +20 -39
- package/docs/layout/modal/index.md +13 -0
- package/docs/layout/page-header/demo/{demo1.md → d01-basic.md} +0 -2
- package/docs/layout/page-header/demo/{demo2.md → d02-tabs-in-the-page-header.md} +1 -2
- package/docs/layout/page-header/demo/{demo3.md → d03-tabs-in-the-page-header.md} +2 -3
- package/docs/layout/page-header/demo/{demo4.md → d04-breadcrumbs-in-the-page-header.md} +3 -2
- package/docs/layout/page-header/demo/{demo5.md → d05-breadcrumbs-in-the-page-header.md} +1 -28
- package/docs/layout/page-header/demo/{demo6.md → d06-customizing-the-page-header.md} +0 -0
- package/docs/layout/page-header/index.md +1 -2
- package/docs/layout/{panel-demo/demo1.md → panel/demo/d01-padding.md} +0 -0
- package/docs/layout/{panel-demo/demo2.md → panel/demo/d02-shadow-and-border.md} +2 -2
- package/docs/layout/{panel-demo/demo3.md → panel/demo/d03-colors-and-corners.md} +0 -0
- package/docs/layout/{panel-demo/demo4.md → panel/demo/d04-growing-height.md} +0 -0
- package/docs/layout/{panel-demo/demo5.md → panel/demo/d05-split-panels.md} +1 -1
- package/docs/layout/{panel.md → panel/index.md} +4 -0
- package/docs/layout/{popover-demo/demo1.md → popover/demo/d01-basic.md} +6 -4
- package/docs/layout/{popover-demo/demo2.md → popover/demo/d02-anchor-position.md} +0 -0
- package/docs/layout/popover/demo/d03-popover-titles-and-footers.md +133 -0
- package/docs/layout/{popover-demo/demo5.md → popover/demo/d04-popover-padding-sizes.md} +56 -31
- package/docs/layout/{popover-demo/demo6.md → popover/demo/d05-panel-class-name.md} +3 -3
- package/docs/layout/{popover-demo/demo7.md → popover/demo/d06-popover-with-block-level-display.md} +2 -3
- package/docs/layout/{popover-demo/demo3.md → popover/demo/d07-popover-on-a-fixed-element.md} +3 -11
- package/docs/layout/{popover-demo/demo8.md → popover/demo/d08-constraining-a-popover-inside-a-container.md} +0 -0
- package/docs/layout/{popover-demo/demo9.md → popover/demo/d09-popover-attached-to-input-element.md} +14 -12
- package/docs/layout/popover/demo/d10-setting-an-initial-focus.md +61 -0
- package/docs/layout/{popover-demo/demo10.md → popover/demo/d11-removing-the-focus-trap.md} +1 -1
- package/docs/layout/popover/demo/d12-popover-using-and-html-element-as-the-anchor.md +9 -0
- package/docs/layout/popover/index.md +7 -0
- package/docs/layout/resizable-container/demo/d01-horizontal-resizing.md +10 -0
- package/docs/layout/resizable-container/demo/d02-resizable-panel-options.md +10 -0
- package/docs/layout/resizable-container/demo/d03-horizontal-resizing-with-controlled-widths.md +10 -0
- package/docs/layout/resizable-container/demo/d04-vertical-resizing.md +10 -0
- package/docs/layout/resizable-container/demo/d05-collapsible-resizable-panels.md +10 -0
- package/docs/layout/resizable-container/demo/d06-responsive-layout.md +10 -0
- package/docs/layout/resizable-container/demo/d07-collapsible-panels-options.md +10 -0
- package/docs/layout/resizable-container/demo/d08-collapsible-panels-with-external-control.md +10 -0
- package/docs/layout/resizable-container/index.md +15 -0
- package/docs/layout/spacer/demo/d01-basic.md +44 -0
- package/docs/layout/spacer/index.md +7 -0
- package/docs/navigation/{breadcrumbs-demo/demo1.md → breadcrumbs/demo/d01-basic.md} +9 -6
- package/docs/navigation/{breadcrumbs-demo/demo2.md → breadcrumbs/demo/d02-limit-the-number-of-breadcrumbs.md} +0 -0
- package/docs/navigation/{breadcrumbs-demo/demo3.md → breadcrumbs/demo/d03-truncate-each-breadcrumb.md} +0 -0
- package/docs/navigation/{breadcrumbs-demo/demo4.md → breadcrumbs/demo/d04-truncate-each-breadcrumb-on-each-object.md} +0 -0
- package/docs/navigation/{breadcrumbs-demo/demo5.md → breadcrumbs/demo/d05-responsive.md} +14 -0
- package/docs/navigation/{breadcrumbs-demo/demo6.md → breadcrumbs/demo/d06-color-for-emphasis.md} +12 -23
- package/docs/navigation/breadcrumbs/index.md +7 -0
- package/docs/navigation/button/demo/d01-basic.md +85 -0
- package/docs/navigation/button/demo/d02-empty-button.md +68 -0
- package/docs/navigation/button/demo/d03-flush-empty-button.md +32 -0
- package/docs/navigation/button/demo/d04-buttons-with-icons.md +213 -0
- package/docs/navigation/button/demo/d05-icon-buttons.md +139 -0
- package/docs/navigation/button/demo/d06-buttons-as-links.md +51 -0
- package/docs/navigation/button/demo/d07-loading-state.md +38 -0
- package/docs/navigation/button/demo/d08-split-buttons.md +43 -0
- package/docs/navigation/button/demo/d09-toggle-buttons.md +10 -0
- package/docs/navigation/button/demo/d10-button-groups.md +10 -0
- package/docs/navigation/button/demo/d11-ghost.md +10 -0
- package/docs/navigation/button/index.md +13 -0
- package/docs/{layout/page-template/demo/demo1.md → templates/page-template/demo/d01-a-full-page-with-everything.md} +1 -24
- package/docs/{layout/page-template/demo/demo2.md → templates/page-template/demo/d02-restricting-page-width.md} +0 -0
- package/docs/{layout/page-template/demo/demo3.md → templates/page-template/demo/d03-showing-a-bottom-bar.md} +0 -0
- package/docs/{layout/page-template/demo/demo4.md → templates/page-template/demo/d04-centered-body.md} +1 -1
- package/docs/{layout/page-template/demo/demo5.md → templates/page-template/demo/d05-centered-content.md} +1 -1
- package/docs/{layout/page-template/demo/demo6.md → templates/page-template/demo/d06-a-simple-page-with-tabs.md} +0 -0
- package/docs/{layout/page-template/demo/demo7.md → templates/page-template/demo/d07-full-height-layout.md} +0 -0
- package/docs/{layout/page-template/demo/demo8.md → templates/page-template/demo/d08-simple-layout-with-centered-body.md} +0 -0
- package/docs/{layout/page-template/demo/demo9.md → templates/page-template/demo/d09-simple-layout-with-centered-content.md} +0 -0
- package/docs/{layout/page-template/demo/demo10.md → templates/page-template/demo/d10-a-simple-page-layout-with-custom-content.md} +0 -0
- package/docs/templates/page-template/index.md +37 -0
- package/docs/templates/sitewide-search/demo/d01-basic-setup.md +10 -0
- package/docs/templates/sitewide-search/demo/d02-options.md +10 -0
- package/docs/templates/sitewide-search/index.md +9 -0
- package/docs/templates/super-date-picker/demo/d01-update-button.md +10 -0
- package/docs/templates/super-date-picker/demo/d02-quick-select-panels.md +10 -0
- package/docs/templates/super-date-picker/demo/d03-sizing.md +10 -0
- package/docs/templates/super-date-picker/demo/d04-auto-refresh.md +11 -0
- package/docs/templates/super-date-picker/demo/d05-elastic-pattern-with-kql.md +10 -0
- package/docs/templates/super-date-picker/index.md +12 -0
- package/package.json +3 -3
- package/docs/layout/accordion-demo/demo1.md +0 -33
- package/docs/layout/accordion-demo/demo7.md +0 -66
- package/docs/layout/bottom-bar.md +0 -1
- package/docs/layout/flex-demo/demo1.md +0 -358
- package/docs/layout/flex.md +0 -1
- package/docs/layout/flyout-demo/demo2.md +0 -87
- package/docs/layout/flyout.md +0 -1
- package/docs/layout/header.md +0 -1
- package/docs/layout/horizontal-rule-demo/demo1.md +0 -70
- package/docs/layout/horizontal-rule.md +0 -1
- package/docs/layout/modal-demo/demo1.md +0 -97
- package/docs/layout/modal-demo/demo2.md +0 -126
- package/docs/layout/modal-demo/demo3.md +0 -55
- package/docs/layout/modal-demo/demo4.md +0 -65
- package/docs/layout/modal.md +0 -1
- package/docs/layout/page-template/index.md +0 -11
- package/docs/layout/popover-demo/demo4.md +0 -118
- package/docs/layout/popover.md +0 -1
- package/docs/navigation/breadcrumbs.md +0 -1
- package/docs/navigation/button-demo/demo1.md +0 -413
- package/docs/navigation/button.md +0 -1
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
{{yield this.isOpen to="buttonContent"}}
|
|
44
44
|
</span>
|
|
45
45
|
</ButtonElement>
|
|
46
|
-
{{#if (and @extraAction (not this.isLoading))}}
|
|
46
|
+
{{#if (and @extraAction (has-block "extraAction") (not this.isLoading))}}
|
|
47
47
|
<div class="euiAccordion__optionalAction">
|
|
48
48
|
{{yield this.isOpen to="extraAction"}}
|
|
49
49
|
</div>
|
|
@@ -73,7 +73,15 @@
|
|
|
73
73
|
{{else}}
|
|
74
74
|
<EuiLink
|
|
75
75
|
{{did-insert setInnerTextRef}}
|
|
76
|
-
@color={{if
|
|
76
|
+
@color={{if
|
|
77
|
+
breadcrumb.color
|
|
78
|
+
breadcrumb.color
|
|
79
|
+
(if
|
|
80
|
+
isLastBreadcrumb
|
|
81
|
+
"text"
|
|
82
|
+
"subdued"
|
|
83
|
+
)
|
|
84
|
+
}}
|
|
77
85
|
@onClick={{breadcrumb.onClick}}
|
|
78
86
|
@href={{breadcrumb.href}}
|
|
79
87
|
title={{title}}
|
|
@@ -1,31 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
{{
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
1
|
+
{{#let (unique-id) as |id|}}
|
|
2
|
+
<EuiPopover
|
|
3
|
+
class="euiInputPopover {{if this.fullWidth "euiInputPopover--fullWidth"}}"
|
|
4
|
+
@ownFocus={{false}}
|
|
5
|
+
@buttonRef={{this.didInsertInput}}
|
|
6
|
+
@panelRef={{this.didInsertPanel}}
|
|
7
|
+
@anchorPosition={{this.anchorPosition}}
|
|
8
|
+
@panelPaddingSize={{this.panelPaddingSize}}
|
|
9
|
+
@attachToAnchor={{this.attachToAnchor}}
|
|
10
|
+
@display={{this.display}}
|
|
11
|
+
@closePopover={{@closePopover}}
|
|
12
|
+
@isOpen={{@isOpen}}
|
|
13
|
+
...attributes
|
|
14
|
+
>
|
|
15
|
+
<:button>
|
|
16
|
+
<div {{resize-observer onResize=this.onResize}}>
|
|
17
|
+
{{yield to="input"}}
|
|
18
|
+
</div>
|
|
19
|
+
</:button>
|
|
20
|
+
<:content>
|
|
21
|
+
<div
|
|
22
|
+
id={{id}}
|
|
23
|
+
{{on-key "_all" this.onKeyDown}}
|
|
24
|
+
{{focus-trap
|
|
25
|
+
isActive=(not this.disableFocusTrap)
|
|
26
|
+
focusTrapOptions=(hash
|
|
27
|
+
clickOutsideDeactivates=true
|
|
28
|
+
returnFocusOnDeactivate=false
|
|
29
|
+
fallbackFocus=(concat '#' id)
|
|
30
|
+
)
|
|
31
|
+
}}
|
|
32
|
+
>
|
|
33
|
+
{{yield to="content"}}
|
|
34
|
+
</div>
|
|
35
|
+
</:content>
|
|
36
|
+
</EuiPopover>
|
|
37
|
+
{{/let}}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
{{#let
|
|
2
2
|
(unique-id)
|
|
3
3
|
(class-names
|
|
4
|
-
|
|
4
|
+
(if this.isOpening 'euiPopover-isOpen')
|
|
5
|
+
position=this.anchorPosition
|
|
6
|
+
display=this.display
|
|
7
|
+
componentName="EuiPopover"
|
|
5
8
|
)
|
|
6
9
|
(class-names
|
|
7
10
|
"euiPopover__panel"
|
|
@@ -13,29 +16,35 @@
|
|
|
13
16
|
)
|
|
14
17
|
as |descriptionId classes panelClasses|
|
|
15
18
|
}}
|
|
16
|
-
|
|
19
|
+
<div
|
|
20
|
+
class={{classes}}
|
|
21
|
+
...attributes
|
|
22
|
+
{{on-key "_all" this.onKeyDown}}
|
|
23
|
+
{{did-insert this.didInsertPopover}}
|
|
24
|
+
{{did-update this.didUpdateIsOpen @isOpen}}
|
|
25
|
+
{{did-update this.didUpdateRepositionOnScroll @repositionOnScroll}}
|
|
26
|
+
{{did-insert (optional @popoverRef)}}
|
|
27
|
+
>
|
|
28
|
+
|
|
29
|
+
{{!-- button --}}
|
|
17
30
|
<div
|
|
18
|
-
class="
|
|
19
|
-
|
|
20
|
-
{{did-insert this.didInsertPopover}}
|
|
21
|
-
{{did-insert (optional @popoverRef)}}
|
|
22
|
-
{{did-update this.didUpdateIsOpen @isOpen}}
|
|
23
|
-
{{did-update this.didUpdateRepositionOnScroll @repositionOnScroll}}
|
|
31
|
+
class="euiPopover__anchor {{@anchorClassName}}"
|
|
32
|
+
{{did-insert this.registerButton}}
|
|
24
33
|
>
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}}
|
|
36
|
-
|
|
37
|
-
{{! template-lint-disable no-positive-tabindex }}
|
|
34
|
+
{{yield to="button"}}
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
{{!-- content --}}
|
|
38
|
+
{{#if
|
|
39
|
+
(and
|
|
40
|
+
(not this.suppressingPopover)
|
|
41
|
+
(or this.isCurrentlyOpen this.isClosing)
|
|
42
|
+
)
|
|
43
|
+
}}
|
|
44
|
+
<EuiPortal @insert={{@insert}}>
|
|
45
|
+
{{#let (unique-id) as |panelId|}}
|
|
38
46
|
<EuiPanel
|
|
47
|
+
id={{panelId}}
|
|
39
48
|
class={{panelClasses}}
|
|
40
49
|
aria-live={{if this.ownFocus "off" "assertive"}}
|
|
41
50
|
role="dialog"
|
|
@@ -43,24 +52,32 @@
|
|
|
43
52
|
aria-labelledby={{@ariaLabelledBy}}
|
|
44
53
|
aria-modal="true"
|
|
45
54
|
aria-describedby={{if this.ownFocus descriptionId}}
|
|
55
|
+
tabindex={{this.tabindex}}
|
|
46
56
|
@hasShadow={{false}}
|
|
47
57
|
@paddingSize={{this.panelPaddingSize}}
|
|
48
58
|
{{simple-style this._popoverStyles}}
|
|
49
59
|
{{did-insert this.registerPanel}}
|
|
50
60
|
{{outside-click-detector onOutsideClick=this.onClickOutside}}
|
|
51
61
|
{{on-key "Escape" this.onEscapeKey}}
|
|
52
|
-
tabindex={{this.tabindex}}
|
|
53
62
|
{{focus-trap
|
|
54
63
|
isActive=(not
|
|
55
|
-
(or
|
|
64
|
+
(or
|
|
65
|
+
(not this.ownFocus)
|
|
66
|
+
(not this.isOpenStable)
|
|
67
|
+
this.isClosing
|
|
68
|
+
)
|
|
56
69
|
)
|
|
57
|
-
focusTrapOptions=(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
70
|
+
focusTrapOptions=(merge
|
|
71
|
+
(hash
|
|
72
|
+
shouldSelfFocus=true
|
|
73
|
+
returnFocusOnDeactivate=this.isOpenStable
|
|
74
|
+
initialFocus=(or @initialFocus this.panel)
|
|
75
|
+
onDeactivate=(optional @onTrapDeactivation)
|
|
76
|
+
preventScroll=true
|
|
77
|
+
clickOutsideDeactivates=true
|
|
78
|
+
fallbackFocus=(concat '#' panelId)
|
|
79
|
+
)
|
|
80
|
+
@focusTrapOptions
|
|
64
81
|
)
|
|
65
82
|
}}
|
|
66
83
|
>
|
|
@@ -75,87 +92,29 @@
|
|
|
75
92
|
</div>
|
|
76
93
|
{{#if this.ownFocus}}
|
|
77
94
|
<p id={{descriptionId}} {{screen-reader-only}}>
|
|
78
|
-
|
|
79
|
-
</p>
|
|
80
|
-
{{/if}}
|
|
81
|
-
<div
|
|
82
|
-
tabindex={{this.tabindex}}
|
|
83
|
-
{{mutation-observer
|
|
84
|
-
onMutation=this.onMutation
|
|
85
|
-
observerOptions=(hash
|
|
86
|
-
attributes=true childList=true characterData=true subtree=true
|
|
87
|
-
)
|
|
88
|
-
}}
|
|
89
|
-
>
|
|
90
|
-
{{yield to="content"}}
|
|
91
|
-
</div>
|
|
92
|
-
</EuiPanel>
|
|
93
|
-
</EuiPortal>
|
|
94
|
-
{{/if}}
|
|
95
|
-
</div>
|
|
96
|
-
{{else}}
|
|
97
|
-
<div
|
|
98
|
-
class={{classes}}
|
|
99
|
-
...attributes
|
|
100
|
-
tabindex="-1"
|
|
101
|
-
{{on-key "_all" this.onKeyDown}}
|
|
102
|
-
{{did-insert this.didInsertPopover}}
|
|
103
|
-
{{did-update this.didUpdateIsOpen @isOpen}}
|
|
104
|
-
{{did-update this.didUpdateRepositionOnScroll @repositionOnScroll}}
|
|
105
|
-
>
|
|
106
|
-
<div
|
|
107
|
-
class="euiPopover__anchor {{@anchorClassName}}"
|
|
108
|
-
{{did-insert this.registerButton}}
|
|
109
|
-
>
|
|
110
|
-
{{yield to="button"}}
|
|
111
|
-
</div>
|
|
112
|
-
{{#if
|
|
113
|
-
(and (not this.suppressingPopover) (or this.isOpen this.isClosing))
|
|
114
|
-
}}
|
|
115
|
-
<EuiPortal @insert={{@insert}}>
|
|
116
|
-
<EuiPanel
|
|
117
|
-
class={{panelClasses}}
|
|
118
|
-
tabindex={{if this.ownFocus "0"}}
|
|
119
|
-
aria-live={{if this.ownFocus "off" "assertive"}}
|
|
120
|
-
role="dialog"
|
|
121
|
-
aria-label={{@ariaLabel}}
|
|
122
|
-
aria-labelledby={{@ariaLabelledBy}}
|
|
123
|
-
aria-modal="true"
|
|
124
|
-
aria-describedby={{if this.ownFocus descriptionId}}
|
|
125
|
-
@hasShadow={{false}}
|
|
126
|
-
@paddingSize={{this.panelPaddingSize}}
|
|
127
|
-
{{simple-style this._popoverStyles}}
|
|
128
|
-
{{did-insert this.registerPanel}}
|
|
129
|
-
{{outside-click-detector onOutsideClick=this.onClickOutside}}
|
|
130
|
-
{{on-key "Escape" this.onEscapeKey}}
|
|
131
|
-
>
|
|
132
|
-
<div
|
|
133
|
-
class={{concat
|
|
134
|
-
"euiPopover__panelArrow euiPopover__panelArrow--"
|
|
135
|
-
this.arrowPosition
|
|
136
|
-
}}
|
|
137
|
-
style={{this._arrowStyles}}
|
|
138
|
-
>
|
|
139
|
-
{{yield to="arrowChildren"}}
|
|
140
|
-
</div>
|
|
141
|
-
{{#if this.ownFocus}}
|
|
142
|
-
<p id={{descriptionId}} {{screen-reader-only}}>
|
|
143
|
-
"You are in a dialog. To close this dialog, hit escape."
|
|
95
|
+
You are in a dialog. To close this dialog, hit escape.
|
|
144
96
|
</p>
|
|
145
97
|
{{/if}}
|
|
146
98
|
<div
|
|
147
99
|
{{mutation-observer
|
|
148
100
|
onMutation=this.onMutation
|
|
149
|
-
observerOptions=(
|
|
150
|
-
|
|
101
|
+
observerOptions=(merge
|
|
102
|
+
(hash
|
|
103
|
+
attributes=true
|
|
104
|
+
childList=true
|
|
105
|
+
characterData=true
|
|
106
|
+
subtree=true
|
|
107
|
+
)
|
|
108
|
+
@mutationObserverOptions
|
|
151
109
|
)
|
|
152
110
|
}}
|
|
153
111
|
>
|
|
154
112
|
{{yield to="content"}}
|
|
155
113
|
</div>
|
|
156
114
|
</EuiPanel>
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
115
|
+
{{/let}}
|
|
116
|
+
</EuiPortal>
|
|
117
|
+
{{/if}}
|
|
118
|
+
|
|
119
|
+
</div>
|
|
161
120
|
{{/let}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@ember-eui/core/helpers/merge';
|
|
@@ -1,31 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
<EuiText>
|
|
5
|
-
Take care when including flex group content within accordions<br />
|
|
6
|
-
<strong>EuiFlexGroup's</strong>
|
|
7
|
-
negative margins can sometimes create scrollbars within
|
|
8
|
-
<strong>EuiAccordion</strong>
|
|
9
|
-
because of the overflow tricks used to hide content. If you run into this
|
|
10
|
-
issue make sure your paddingSize prop is large enough to account for the
|
|
11
|
-
<EuiCode>gutterSize</EuiCode>
|
|
12
|
-
of any nested flex groups.
|
|
13
|
-
</EuiText>
|
|
14
|
-
</:body>
|
|
15
|
-
</EuiCallOut>
|
|
1
|
+
---
|
|
2
|
+
order: 1
|
|
3
|
+
---
|
|
16
4
|
|
|
17
|
-
|
|
18
|
-
<EuiTitle>
|
|
19
|
-
Simple and unstyled
|
|
20
|
-
</EuiTitle>
|
|
21
|
-
<EuiSpacer />
|
|
5
|
+
# Simple and unstyled
|
|
22
6
|
|
|
23
7
|
<EuiText>
|
|
24
8
|
<strong>EuiAccordion</strong>
|
|
25
9
|
has been purposely designed with minimal styles, allowing you to visually
|
|
26
10
|
enhance it as needed (see the accordion form example). The only styling
|
|
27
11
|
enforced by EUI is the caret icon, which indicates to users that the item can
|
|
28
|
-
be opened
|
|
12
|
+
be opened.
|
|
29
13
|
A
|
|
30
14
|
<EuiCode>buttonContent</EuiCode>
|
|
31
15
|
prop defines the content of the clickable area. On click it will expose the
|
|
@@ -36,4 +20,16 @@
|
|
|
36
20
|
<EuiCode>buttonClassName</EuiCode>
|
|
37
21
|
(for the clickable area).
|
|
38
22
|
</EuiText>
|
|
39
|
-
|
|
23
|
+
|
|
24
|
+
```hbs template
|
|
25
|
+
<EuiAccordion>
|
|
26
|
+
<:buttonContent>
|
|
27
|
+
Click me to toggle
|
|
28
|
+
</:buttonContent>
|
|
29
|
+
<:content>
|
|
30
|
+
<EuiPanel @color="subdued" @hasShadow={{false}}>
|
|
31
|
+
Any content inside of <strong>EuiAccordion</strong> will appear here.
|
|
32
|
+
</EuiPanel>
|
|
33
|
+
</:content>
|
|
34
|
+
</EuiAccordion>
|
|
35
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
order: 2
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Arrow display
|
|
6
|
+
|
|
7
|
+
<EuiText>
|
|
8
|
+
The arrow helps indicate the current state of the accordion (open or not) and points to the main triggering button text.
|
|
9
|
+
If you must hide or change the side in which the arrow appears, use <EuiCode>arrowDisplay: 'right'</EuiCode> or <EuiCode>'none'</EuiCode>
|
|
10
|
+
</EuiText>
|
|
11
|
+
|
|
12
|
+
```hbs template
|
|
13
|
+
<EuiAccordion @arrowDisplay='right'>
|
|
14
|
+
<:buttonContent>
|
|
15
|
+
This accordion has the arrow on the right
|
|
16
|
+
</:buttonContent>
|
|
17
|
+
<:content>
|
|
18
|
+
<EuiPanel @color="subdued" @hasShadow={{false}}>
|
|
19
|
+
Any content inside of <strong>EuiAccordion</strong> will appear here.
|
|
20
|
+
</EuiPanel>
|
|
21
|
+
</:content>
|
|
22
|
+
</EuiAccordion>
|
|
23
|
+
<EuiSpacer />
|
|
24
|
+
<EuiAccordion @arrowDisplay='none'>
|
|
25
|
+
<:buttonContent>
|
|
26
|
+
This one has it removed entirely
|
|
27
|
+
</:buttonContent>
|
|
28
|
+
<:content>
|
|
29
|
+
<EuiPanel @color="subdued" @hasShadow={{false}}>
|
|
30
|
+
Any content inside of <strong>EuiAccordion</strong> will appear here.
|
|
31
|
+
</EuiPanel>
|
|
32
|
+
</:content>
|
|
33
|
+
</EuiAccordion>
|
|
34
|
+
```
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
order:
|
|
2
|
+
order: 3
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
# Multiple accordions
|
|
@@ -23,7 +23,7 @@ order: 2
|
|
|
23
23
|
An accordion with padding applied through props
|
|
24
24
|
</:buttonContent>
|
|
25
25
|
<:content>
|
|
26
|
-
<EuiText size='s'>
|
|
26
|
+
<EuiText @size='s'>
|
|
27
27
|
<p>The content inside can be of any height.</p>
|
|
28
28
|
<p>The content inside can be of any height.</p>
|
|
29
29
|
<p>The content inside can be of any height.</p>
|
|
@@ -37,7 +37,7 @@ order: 2
|
|
|
37
37
|
because of eui-textTruncate
|
|
38
38
|
</:buttonContent>
|
|
39
39
|
<:content>
|
|
40
|
-
<EuiText size='s'>
|
|
40
|
+
<EuiText @size='s'>
|
|
41
41
|
<p>The content inside can be of any height.</p>
|
|
42
42
|
<p>The content inside can be of any height.</p>
|
|
43
43
|
<p>The content inside can be of any height.</p>
|
|
@@ -53,13 +53,14 @@ order: 2
|
|
|
53
53
|
A third accordion with nested accordion
|
|
54
54
|
</:buttonContent>
|
|
55
55
|
<:content>
|
|
56
|
-
<EuiText size='s'>
|
|
56
|
+
<EuiText @size='s'>
|
|
57
57
|
<p>
|
|
58
58
|
This content area will grow to accommodate when the accordion below
|
|
59
59
|
opens
|
|
60
60
|
</p>
|
|
61
61
|
</EuiText>
|
|
62
|
-
<
|
|
62
|
+
<EuiSpacer/>
|
|
63
|
+
<EuiAccordion>
|
|
63
64
|
<:buttonContent>
|
|
64
65
|
A fourth nested accordion
|
|
65
66
|
</:buttonContent>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
order:
|
|
2
|
+
order: 4
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
# Extra actions
|
|
@@ -9,7 +9,7 @@ order: 3
|
|
|
9
9
|
</EuiText>
|
|
10
10
|
|
|
11
11
|
```hbs template
|
|
12
|
-
<EuiAccordion @paddingSize='
|
|
12
|
+
<EuiAccordion @paddingSize='l' @extraAction={{true}}>
|
|
13
13
|
<:buttonContent>
|
|
14
14
|
Click to open
|
|
15
15
|
</:buttonContent>
|
package/docs/layout/{accordion-demo/demo4.md → accordion/demo/d05-opened-on-initial-render.md}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
order:
|
|
2
|
+
order: 5
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
# Opened on initial render
|
|
@@ -11,7 +11,7 @@ order: 4
|
|
|
11
11
|
</EuiText>
|
|
12
12
|
|
|
13
13
|
```hbs template
|
|
14
|
-
<EuiAccordion @
|
|
14
|
+
<EuiAccordion @initialIsOpen={{true}}>
|
|
15
15
|
<:buttonContent>
|
|
16
16
|
I am opened by default. Click me to toggle close / open
|
|
17
17
|
</:buttonContent>
|
package/docs/layout/{accordion-demo/demo5.md → accordion/demo/d06-controlling-toggled-state.md}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
order:
|
|
2
|
+
order: 6
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
# Controlling toggled state
|
|
@@ -8,7 +8,7 @@ order: 5
|
|
|
8
8
|
Typically, the open and closed state of
|
|
9
9
|
<strong>EuiAccordion</strong>
|
|
10
10
|
is maintained by the component's internal state. Though, you can manually
|
|
11
|
-
control it
|
|
11
|
+
control it.
|
|
12
12
|
<ul>
|
|
13
13
|
<li><EuiCode>forceState</EuiCode>: Accepts either
|
|
14
14
|
<EuiCode>'open'</EuiCode>
|
|
@@ -21,6 +21,7 @@ order: 5
|
|
|
21
21
|
</EuiText>
|
|
22
22
|
|
|
23
23
|
```hbs template
|
|
24
|
+
<TodoText @text="missing EuiButtonGroup component"/>
|
|
24
25
|
<EuiFlexGroup>
|
|
25
26
|
<EuiFlexItem>
|
|
26
27
|
<EuiButton {{on 'click' (fn (mut this.accordionState) 'open')}}>
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
order: 8
|
|
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' @initialIsOpen={{true}}>
|
|
14
|
+
<:buttonContent>
|
|
15
|
+
Click me to toggle close / open
|
|
16
|
+
</:buttonContent>
|
|
17
|
+
<:content>
|
|
18
|
+
|
|
19
|
+
<EuiPanel @color='subdued'>
|
|
20
|
+
<EuiText @size="s">
|
|
21
|
+
<p>
|
|
22
|
+
<EuiButton
|
|
23
|
+
@size='s'
|
|
24
|
+
@iconType='plusInCircleFilled'
|
|
25
|
+
{{on 'click' (fn this.incrementDecreaseRows 'add')}}
|
|
26
|
+
>
|
|
27
|
+
Increase height to
|
|
28
|
+
{{add this.counter 1}}
|
|
29
|
+
items
|
|
30
|
+
</EuiButton>
|
|
31
|
+
<EuiButton
|
|
32
|
+
@size='s'
|
|
33
|
+
@iconType='minusInCircleFilled'
|
|
34
|
+
{{on 'click' (fn this.incrementDecreaseRows 'sub')}}
|
|
35
|
+
@isDisabled={{eq this.counter 1}}
|
|
36
|
+
>
|
|
37
|
+
Decrease height to
|
|
38
|
+
{{sub this.counter 1}}
|
|
39
|
+
items
|
|
40
|
+
</EuiButton>
|
|
41
|
+
</p>
|
|
42
|
+
<ul>
|
|
43
|
+
{{#each (range 0 this.counter) as |row|}}
|
|
44
|
+
<li> Row {{add row 1}}</li>
|
|
45
|
+
{{/each}}
|
|
46
|
+
</ul>
|
|
47
|
+
</EuiText>
|
|
48
|
+
</EuiPanel>
|
|
49
|
+
|
|
50
|
+
</:content>
|
|
51
|
+
</EuiAccordion>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
```js component
|
|
55
|
+
import Component from '@glimmer/component';
|
|
56
|
+
import { tracked } from '@glimmer/tracking';
|
|
57
|
+
import { action } from '@ember/object';
|
|
58
|
+
|
|
59
|
+
export default class AccordionDemo8Component extends Component {
|
|
60
|
+
@tracked counter = 1;
|
|
61
|
+
|
|
62
|
+
@action
|
|
63
|
+
incrementDecreaseRows(actionType) {
|
|
64
|
+
if (actionType == 'add') {
|
|
65
|
+
this.counter++;
|
|
66
|
+
} else {
|
|
67
|
+
this.counter--;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
```
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
order:
|
|
2
|
+
order: 9
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
# Interactive content in the trigger
|
|
@@ -32,12 +32,12 @@ order: 8
|
|
|
32
32
|
<EuiSpacer />
|
|
33
33
|
<EuiAccordion @paddingSize='s' @buttonElement="div">
|
|
34
34
|
<:buttonContent>
|
|
35
|
-
<
|
|
35
|
+
<EuiLink
|
|
36
36
|
onClick={{this.onClick}}
|
|
37
|
-
href='
|
|
37
|
+
@href='#docfy-demo-docs-layout-accordion-d09-interactive-content-in-the-trigger'
|
|
38
38
|
>
|
|
39
39
|
This is a nested link
|
|
40
|
-
</
|
|
40
|
+
</EuiLink>
|
|
41
41
|
</:buttonContent>
|
|
42
42
|
<:content>
|
|
43
43
|
<EuiPanel @color='subdued'>
|