@eui/components 18.0.0-next.29 → 18.0.0-next.30
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/docs/classes/EuiMessageBoxConfig.html +1 -1
- package/docs/components/EuiAlertComponent.html +1 -1
- package/docs/components/EuiButtonComponent.html +1 -1
- package/docs/components/EuiDialogComponent.html +96 -687
- package/docs/components/EuiDialogContainerComponent.html +1 -1
- package/docs/components/EuiMenuItemComponent.html +1 -1
- package/docs/components/EuiMessageBoxComponent.html +123 -1227
- package/docs/components/EuiPopoverComponent.html +81 -995
- package/docs/components/EuiTabComponent.html +88 -1004
- package/docs/components/EuiTabContentComponent.html +5 -78
- package/docs/components/EuiTableComponent.html +586 -2166
- package/docs/components/EuiTableFilterComponent.html +122 -787
- package/docs/components/EuiTableSelectableHeaderComponent.html +11 -141
- package/docs/components/EuiTableSelectableRowComponent.html +11 -125
- package/docs/components/EuiTableSortableColComponent.html +23 -263
- package/docs/components/EuiTabsComponent.html +21 -265
- package/docs/dependencies.html +1 -1
- package/docs/interfaces/EuiDialogInterface.html +2 -2
- package/docs/js/menu-wc.js +6 -6
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/esm2022/directives/eui-tooltip/container/eui-tooltip-container.component.mjs +2 -2
- package/esm2022/eui-alert/eui-alert.component.mjs +4 -3
- package/esm2022/eui-avatar/eui-avatar.component.mjs +2 -2
- package/esm2022/eui-badge/eui-badge.component.mjs +2 -2
- package/esm2022/eui-block-content/eui-block-content.component.mjs +2 -2
- package/esm2022/eui-button/eui-button.component.mjs +4 -5
- package/esm2022/eui-button-group/eui-button-group.component.mjs +1 -1
- package/esm2022/eui-button-v2/eui-button-v2.component.mjs +2 -2
- package/esm2022/eui-card/eui-card.component.mjs +2 -2
- package/esm2022/eui-chip/eui-chip.component.mjs +2 -2
- package/esm2022/eui-chip-list/eui-chip-list.component.mjs +2 -6
- package/esm2022/eui-dialog/container/eui-dialog-container.component.mjs +10 -10
- package/esm2022/eui-dialog/eui-dialog.component.mjs +29 -33
- package/esm2022/eui-dialog/models/eui-dialog.config.mjs +1 -1
- package/esm2022/eui-discussion-thread/eui-discussion-thread.component.mjs +2 -2
- package/esm2022/eui-ecl-date-block/eui-ecl-date-block.component.mjs +2 -2
- package/esm2022/eui-ecl-label/eui-ecl-label.component.mjs +2 -2
- package/esm2022/eui-feedback-message/eui-feedback-message.component.mjs +2 -2
- package/esm2022/eui-fieldset/eui-fieldset.component.mjs +2 -2
- package/esm2022/eui-file-upload/eui-file-upload.component.mjs +2 -2
- package/esm2022/eui-growl/eui-growl.component.mjs +2 -2
- package/esm2022/eui-input-checkbox/eui-input-checkbox.component.mjs +2 -2
- package/esm2022/eui-label/eui-label.component.mjs +2 -2
- package/esm2022/eui-language-selector/language-selector.component.mjs +2 -2
- package/esm2022/eui-list/eui-list-item/eui-list-item.component.mjs +2 -2
- package/esm2022/eui-list/eui-list.component.mjs +2 -2
- package/esm2022/eui-menu/eui-menu-item.component.mjs +4 -4
- package/esm2022/eui-menu/eui-menu.component.mjs +2 -2
- package/esm2022/eui-message-box/eui-message-box.component.mjs +51 -110
- package/esm2022/eui-message-box/models/eui-message-box.config.mjs +1 -1
- package/esm2022/eui-page/eui-page.component.mjs +2 -2
- package/esm2022/eui-popover/eui-popover.component.mjs +50 -72
- package/esm2022/eui-progress-bar/eui-progress-bar.component.mjs +2 -2
- package/esm2022/eui-progress-circle/eui-progress-circle.component.mjs +2 -2
- package/esm2022/eui-table/eui-table.component.mjs +82 -160
- package/esm2022/eui-table/filter/eui-table-filter.component.mjs +28 -32
- package/esm2022/eui-table/selectable-header/eui-table-selectable-header.component.mjs +12 -25
- package/esm2022/eui-table/selectable-row/eui-table-selectable-row.component.mjs +12 -25
- package/esm2022/eui-table/sortable-col/eui-table-sortable-col.component.mjs +20 -43
- package/esm2022/eui-tabs/eui-tab/eui-tab.component.mjs +44 -59
- package/esm2022/eui-tabs/eui-tab-content/eui-tab-content.component.mjs +6 -12
- package/esm2022/eui-tabs/eui-tabs.component.mjs +22 -45
- package/esm2022/eui-timebar/eui-timebar.component.mjs +2 -2
- package/esm2022/eui-timepicker/eui-timepicker.component.mjs +2 -2
- package/esm2022/eui-tree-list/eui-tree-list.component.mjs +2 -2
- package/esm2022/eui-wizard/eui-wizard-step.component.mjs +2 -2
- package/esm2022/eui-wizard/eui-wizard.component.mjs +2 -2
- package/esm2022/externals/eui-editor/eui-editor.component.mjs +2 -2
- package/esm2022/layout/eui-app/eui-app-toolbar/toolbar.component.mjs +2 -2
- package/esm2022/layout/eui-app/eui-app-top-message/top-message.component.mjs +2 -2
- package/esm2022/layout/eui-footer/footer.component.mjs +2 -2
- package/esm2022/layout/eui-notifications/eui-notifications.component.mjs +2 -2
- package/esm2022/layout/eui-notifications-v2/eui-notifications.component.mjs +2 -2
- package/esm2022/layout/eui-search/search.component.mjs +2 -2
- package/esm2022/layout/eui-toolbar/toolbar.component.mjs +2 -2
- package/esm2022/layout/eui-user-profile/user-profile.component.mjs +2 -2
- package/esm2022/shared/base/base-states.directive.mjs +2 -1
- package/eui-alert/eui-alert.component.d.ts.map +1 -1
- package/eui-button/eui-button.component.d.ts.map +1 -1
- package/eui-button-group/eui-button-group.component.d.ts.map +1 -1
- package/eui-chip-list/eui-chip-list.component.d.ts.map +1 -1
- package/eui-dialog/eui-dialog.component.d.ts +11 -6
- package/eui-dialog/eui-dialog.component.d.ts.map +1 -1
- package/eui-dialog/models/eui-dialog.config.d.ts +1 -1
- package/eui-dialog/models/eui-dialog.config.d.ts.map +1 -1
- package/eui-menu/eui-menu-item.component.d.ts.map +1 -1
- package/eui-message-box/eui-message-box.component.d.ts +26 -42
- package/eui-message-box/eui-message-box.component.d.ts.map +1 -1
- package/eui-message-box/models/eui-message-box.config.d.ts +1 -1
- package/eui-message-box/models/eui-message-box.config.d.ts.map +1 -1
- package/eui-popover/eui-popover.component.d.ts +18 -21
- package/eui-popover/eui-popover.component.d.ts.map +1 -1
- package/eui-table/eui-table.component.d.ts +36 -51
- package/eui-table/eui-table.component.d.ts.map +1 -1
- package/eui-table/filter/eui-table-filter.component.d.ts +9 -9
- package/eui-table/filter/eui-table-filter.component.d.ts.map +1 -1
- package/eui-table/selectable-header/eui-table-selectable-header.component.d.ts +4 -7
- package/eui-table/selectable-header/eui-table-selectable-header.component.d.ts.map +1 -1
- package/eui-table/selectable-row/eui-table-selectable-row.component.d.ts +4 -7
- package/eui-table/selectable-row/eui-table-selectable-row.component.d.ts.map +1 -1
- package/eui-table/sortable-col/eui-table-sortable-col.component.d.ts +10 -16
- package/eui-table/sortable-col/eui-table-sortable-col.component.d.ts.map +1 -1
- package/eui-tabs/eui-tab/eui-tab.component.d.ts +18 -23
- package/eui-tabs/eui-tab/eui-tab.component.d.ts.map +1 -1
- package/eui-tabs/eui-tab-content/eui-tab-content.component.d.ts +2 -4
- package/eui-tabs/eui-tab-content/eui-tab-content.component.d.ts.map +1 -1
- package/eui-tabs/eui-tabs.component.d.ts +8 -13
- package/eui-tabs/eui-tabs.component.d.ts.map +1 -1
- package/fesm2022/eui-components-directives.mjs +2 -2
- package/fesm2022/eui-components-eui-alert.mjs +11 -10
- package/fesm2022/eui-components-eui-alert.mjs.map +2 -2
- package/fesm2022/eui-components-eui-avatar.mjs +2 -2
- package/fesm2022/eui-components-eui-badge.mjs +2 -2
- package/fesm2022/eui-components-eui-badge.mjs.map +1 -1
- package/fesm2022/eui-components-eui-block-content.mjs +2 -2
- package/fesm2022/eui-components-eui-block-content.mjs.map +1 -1
- package/fesm2022/eui-components-eui-button-group.mjs.map +1 -1
- package/fesm2022/eui-components-eui-button-v2.mjs +2 -2
- package/fesm2022/eui-components-eui-button.mjs +3 -4
- package/fesm2022/eui-components-eui-button.mjs.map +2 -2
- package/fesm2022/eui-components-eui-card.mjs +2 -2
- package/fesm2022/eui-components-eui-card.mjs.map +1 -1
- package/fesm2022/eui-components-eui-chip-list.mjs +1 -5
- package/fesm2022/eui-components-eui-chip-list.mjs.map +2 -2
- package/fesm2022/eui-components-eui-chip.mjs +2 -2
- package/fesm2022/eui-components-eui-chip.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dialog.mjs +236 -212
- package/fesm2022/eui-components-eui-dialog.mjs.map +2 -2
- package/fesm2022/eui-components-eui-discussion-thread.mjs +2 -2
- package/fesm2022/eui-components-eui-discussion-thread.mjs.map +1 -1
- package/fesm2022/eui-components-eui-ecl-date-block.mjs +2 -2
- package/fesm2022/eui-components-eui-ecl-date-block.mjs.map +1 -1
- package/fesm2022/eui-components-eui-ecl-label.mjs +2 -2
- package/fesm2022/eui-components-eui-ecl-label.mjs.map +1 -1
- package/fesm2022/eui-components-eui-feedback-message.mjs +2 -2
- package/fesm2022/eui-components-eui-fieldset.mjs +2 -2
- package/fesm2022/eui-components-eui-file-upload.mjs +2 -2
- package/fesm2022/eui-components-eui-file-upload.mjs.map +1 -1
- package/fesm2022/eui-components-eui-growl.mjs +2 -2
- package/fesm2022/eui-components-eui-input-checkbox.mjs +2 -2
- package/fesm2022/eui-components-eui-input-checkbox.mjs.map +1 -1
- package/fesm2022/eui-components-eui-label.mjs +2 -2
- package/fesm2022/eui-components-eui-language-selector.mjs +2 -2
- package/fesm2022/eui-components-eui-language-selector.mjs.map +1 -1
- package/fesm2022/eui-components-eui-list.mjs +4 -4
- package/fesm2022/eui-components-eui-menu.mjs +23 -27
- package/fesm2022/eui-components-eui-menu.mjs.map +2 -2
- package/fesm2022/eui-components-eui-message-box.mjs +49 -105
- package/fesm2022/eui-components-eui-message-box.mjs.map +2 -2
- package/fesm2022/eui-components-eui-page.mjs +2 -2
- package/fesm2022/eui-components-eui-page.mjs.map +1 -1
- package/fesm2022/eui-components-eui-popover.mjs +49 -150
- package/fesm2022/eui-components-eui-popover.mjs.map +2 -2
- package/fesm2022/eui-components-eui-progress-bar.mjs +2 -2
- package/fesm2022/eui-components-eui-progress-bar.mjs.map +1 -1
- package/fesm2022/eui-components-eui-progress-circle.mjs +2 -2
- package/fesm2022/eui-components-eui-progress-circle.mjs.map +1 -1
- package/fesm2022/eui-components-eui-table.mjs +254 -418
- package/fesm2022/eui-components-eui-table.mjs.map +3 -3
- package/fesm2022/eui-components-eui-tabs.mjs +72 -116
- package/fesm2022/eui-components-eui-tabs.mjs.map +3 -3
- package/fesm2022/eui-components-eui-timebar.mjs +2 -2
- package/fesm2022/eui-components-eui-timebar.mjs.map +1 -1
- package/fesm2022/eui-components-eui-timepicker.mjs +2 -2
- package/fesm2022/eui-components-eui-timepicker.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tree-list.mjs +2 -2
- package/fesm2022/eui-components-eui-tree-list.mjs.map +1 -1
- package/fesm2022/eui-components-eui-wizard.mjs +4 -4
- package/fesm2022/eui-components-eui-wizard.mjs.map +1 -1
- package/fesm2022/eui-components-externals-eui-editor.mjs +2 -2
- package/fesm2022/eui-components-externals-eui-editor.mjs.map +1 -1
- package/fesm2022/eui-components-layout.mjs +16 -16
- package/fesm2022/eui-components-layout.mjs.map +1 -1
- package/fesm2022/eui-components-shared.mjs +1 -1
- package/fesm2022/eui-components-shared.mjs.map +2 -2
- package/package.json +3 -3
- package/shared/base/base-states.directive.d.ts.map +1 -1
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../eui-menu/eui-menu-item.component.ts", "../../eui-menu/eui-menu-item.component.html", "../../eui-menu/eui-menu.component.ts", "../../eui-menu/eui-menu.component.html", "../../eui-menu/eui-menu.module.ts"],
|
4
|
-
"sourcesContent": ["import {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n Output,\n EventEmitter,\n HostListener,\n OnInit,\n booleanAttribute,\n ElementRef,\n} from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\nimport { consumeEvent } from '@eui/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiMenuItem } from '@eui/base';\n\n@Component({\n selector: 'eui-menu-item',\n templateUrl: './eui-menu-item.component.html',\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n },\n ],\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiMenuItemComponent implements OnInit, FocusableOption {\n\n @HostBinding('attr.role') role = 'menuitem';\n @HostBinding('attr.aria-label') ariaLabel = '';\n\n @HostBinding('class')\n public get cssClasses(): string {\n return this.getCssClasses();\n }\n @HostBinding('attr.tabindex') tabindex = '-1';\n @HostBinding('attr.aria-haspopup')\n get ariaHasPopup(): boolean {\n return this.item?.children?.length > 0? true : undefined;\n }\n @HostBinding('attr.aria-expanded')\n get ariaExpanded(): boolean {\n if(this.item.children) {\n return this.item.expanded ? true : false;\n } else {\n return undefined;\n }\n }\n @HostBinding('attr.aria-disabled') \n get ariaDisabled(): boolean {\n return this.item.disabled\n }\n\n @Input() item: EuiMenuItem;\n @Input() parent: EuiMenuItem;\n @Output() expandToggle = new EventEmitter<EuiMenuItem>();\n @Output() itemClick = new EventEmitter<EuiMenuItem>();\n\n expandMenuLabel = 'Expand';\n collapseMenuLabel = 'Collapse';\n\n isUrlItem = false;\n isLinkItem = false;\n isLabelItem = false;\n isCategoryItem = false;\n isActionIconFocused = false;\n\n @Input({ transform: booleanAttribute }) hasIcon = false;\n @Input({ transform: booleanAttribute }) hasTooltip = false;\n @Input({ transform: booleanAttribute }) isCollapsed = false;\n @Input({ transform: booleanAttribute }) hasCollapsedInitials = false;\n @Input({ transform: booleanAttribute }) isLabelLowercase = false;\n\n constructor(public baseStatesDirective: BaseStatesDirective, private elementRef: ElementRef) {}\n\n ngOnInit(): void {\n this.isUrlItem = (this.item.url || this.item.urlExternal || this.item.children || this.item.command) && !this.item.link;\n this.isLabelItem = !this.item.url && !this.item.urlExternal && !this.item.command && !this.item.children && !this.item.link;\n\n this.isLinkItem = !this.isUrlItem && !this.isLabelItem;\n this.ariaLabel = this.getAriaLabel();\n\n this.isCategoryItem = this.item.label && !this.item.url && !this.item.urlExternal && !this.item.hasMarker && !this.item.children;\n }\n\n @HostListener('click', ['$event'])\n public stopPropagation(event: Event): void {\n this.itemClick.emit(this.item);\n consumeEvent(event);\n }\n\n get menuItemTooltip(): string {\n if (this.hasTooltip && this.isCollapsed) {\n if (this.item.tooltip) {\n return this.item.tooltip;\n } else {\n return this.getTooltipFromItem(this.item);\n }\n } else {\n return null;\n }\n }\n\n public onClick(event: Event): void {\n this.itemClick.emit(this.item);\n this.focus();\n consumeEvent(event);\n }\n\n public onExpandToggle(event: Event): void {\n this.expandToggle.emit(this.item);\n consumeEvent(event);\n }\n\n public onActionIconClick(event: MouseEvent): void {\n this.item.actionIcon?.action(event);\n consumeEvent(event);\n }\n\n onActionIconKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Enter') {\n this.item.actionIcon?.action(event);\n consumeEvent(event);\n }\n }\n\n public focusActionIcon(): void {\n this.elementRef.nativeElement.querySelector('.eui-menu-item__link-action-icon').focus();\n this.isActionIconFocused = true;\n }\n\n onActionIconFocusOut(): void {\n this.isActionIconFocused = false;\n }\n\n public focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n private getTooltipFromItem(item: EuiMenuItem): string {\n if (item.tagLabel && item.label) {\n return item.label + ' (' + item.tagLabel + ')';\n } else if (item.label) {\n return item.label;\n } else if (item.tagLabel) {\n return item.tagLabel;\n }\n return null;\n }\n\n private getAriaLabel(): string {\n if (this.item.label) {\n return this.item.label;\n } else if (this.item.tagLabel) {\n return this.item.tagLabel;\n } else if (this.item.actionIcon && this.item.actionIcon.label) {\n return this.item.actionIcon.label;\n } else if (this.item.iconLabel) {\n return this.item.iconLabel;\n }\n return 'Eui menu item';\n }\n\n /**\n * Returns the default eui-menu-item class on the HostBinding function\n * @private\n */\n private getCssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-menu-item'),\n this.isLabelLowercase ? 'eui-menu-item--lowercase': '',\n ].join(' ').trim();\n }\n}\n", "<li\n *ngIf=\"isLabelItem && item.visible && item.filtered\"\n role=\"none\"\n id=\"{{item.id}}\"\n class=\"eui-menu-item eui-menu-item__category\"\n [attr.data-e2e]=\"item.e2eAttr\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [attr.aria-disabled]=\"item.disabled\"\n [euiTooltip]=\"menuItemTooltip\"\n tabindex=\"-1\"\n position=\"after\">\n <ng-template *ngTemplateOutlet=\"itemIconContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n\n <span class=\"eui-menu-item__category-label\">\n <span class=\"eui-menu-item__label\">{{ item.label }}</span>\n </span>\n</li>\n\n<li\n *ngIf=\"isUrlItem && item.visible && item.filtered\"\n role=\"none\"\n id=\"{{item.id}}\"\n [attr.data-e2e]=\"item.e2eAttr\"\n class=\"eui-menu-item\"\n [class.eui-menu-item--expanded]=\"item.expanded\">\n <a\n (click)=\"onClick($event)\"\n tabindex=\"-1\"\n [routerLink]=\"item.url ? item.url : null\"\n class=\"eui-menu-item__link\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [routerLinkActive]=\"item.url ? 'eui-menu-item__link--active' : ''\"\n [class.eui-menu-item__link--active]=\"item.active\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\">\n <ng-template *ngTemplateOutlet=\"linkContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </a>\n\n <ng-template *ngTemplateOutlet=\"content\"></ng-template>\n</li>\n\n<li\n *ngIf=\"isLinkItem && item.visible && item.filtered\"\n role=\"none\"\n id=\"{{item.id}}\"\n [attr.data-e2e]=\"item.e2eAttr\"\n class=\"eui-menu-item\"\n [class.eui-menu-item--expanded]=\"item.expanded\">\n <a\n (click)=\"onClick($event)\"\n tabindex=\"-1\"\n class=\"eui-menu-item__link\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [class.eui-menu-item__link--active]=\"item.active\"\n href=\"javascript:void(0)\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\">\n <ng-template *ngTemplateOutlet=\"linkContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </a>\n\n <ng-template *ngTemplateOutlet=\"content\"></ng-template>\n</li>\n\n<ng-template #linkContent>\n <ng-template *ngTemplateOutlet=\"itemIconContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n\n <eui-icon-svg\n *ngIf=\"item.hasMarker && !hasCollapsedInitials\"\n class=\"eui-menu-item__link-marker eui-menu-item__link-marker--default\"\n fillColor=\"{{ item?.markerTypeClass }}-100\"\n icon=\"eui-ellipse\"\n size=\"xs\"\n [aria-label]=\"item.markerTypeClass + ' ' + 'marker'\">\n </eui-icon-svg>\n\n <span class=\"eui-menu-item__link-label\" [class.eui-menu-item--disabled]=\"item.disabled\" [attr.aria-disabled]=\"item.disabled\">\n <span class=\"eui-menu-item__label\">{{ item.label }}</span>\n\n <eui-icon-svg\n *ngIf=\"item.urlExternal && item.urlExternalTarget === '_blank'\"\n class=\"eui-menu-item__label-external\"\n icon=\"eui-ecl-external\"\n size=\"2xs\"\n aria-label=\"external link icon\">\n </eui-icon-svg>\n </span>\n\n <div class=\"eui-menu-item__link-right-content\">\n <eui-chip *ngIf=\"item.tagLabel\" euiSizeXS euiOutline class=\"eui-menu-item__link-tag-label eui-chip--{{ item.tagTypeClass }}\" [ariaLabel]=\"item.tagLabel\">\n <span euiLabel class=\"eui-label\">{{ item.tagLabel }}</span>\n </eui-chip>\n\n <button\n *ngIf=\"item.actionIcon\"\n euiButton\n euiRounded\n euiIconButton\n euiSizeS\n euiBasicButton\n type=\"button\"\n tabindex=\"-1\"\n (keydown)=\"onActionIconKeyDown($event)\"\n (focusout)=\"onActionIconFocusOut()\"\n (focus)=\"focusActionIcon()\"\n class=\"eui-menu-item__link-action-icon eui-button--secondary\"\n [euiDisabled]=\"item.disabled\"\n [attr.aria-label]=\"item.actionIcon?.label\"\n (click)=\"onActionIconClick($event)\">\n <eui-icon-svg [icon]=\"item.actionIcon?.icon\" [fillColor]=\"item.actionIcon?.color\"></eui-icon-svg>\n </button>\n\n <button\n *ngIf=\"item.children?.length > 0\"\n euiButton\n euiRounded\n euiIconButton\n euiSizeS\n euiBasicButton\n euiSecondary\n type=\"button\"\n [euiDisabled]=\"item.disabled\"\n class=\"eui-menu-item__link-toggle\"\n tabindex=\"-1\"\n [attr.aria-label]=\"item.expanded ? collapseMenuLabel : expandMenuLabel\"\n (click)=\"onExpandToggle($event)\">\n <eui-icon-svg *ngIf=\"item.expanded\" icon=\"eui-chevron-up\"></eui-icon-svg>\n <eui-icon-svg *ngIf=\"!item.expanded\" icon=\"eui-chevron-down\"></eui-icon-svg>\n </button>\n </div>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #itemIconContent>\n @if (!isCollapsed) {\n <eui-icon-svg\n *ngIf=\"hasIcon && item.iconSvgName && !item.iconClass\"\n class=\"eui-menu-item__link-icon\"\n icon=\"{{ item.iconSvgName }}\"\n fillColor=\"{{ item.iconTypeClass }}\"\n size=\"s\">\n </eui-icon-svg>\n <span *ngIf=\"hasIcon && item.iconClass && !item.iconSvgName\" [attr.aria-label]=\"item.iconLabel\"\n class=\"eui-menu-item__link-icon eui-icon {{item.iconClass}}\">\n </span>\n } @else {\n @if (hasCollapsedInitials) {\n <span class=\"eui-menu-item__link-initials eui-u-bg-color-{{item.iconTypeClass}}\">\n {{ item.initials }}\n </span>\n } @else {\n @if (isCategoryItem) {\n <eui-icon-svg\n *ngIf=\"!item.iconSvgName\"\n class=\"eui-menu-item__category-icon--default\"\n icon=\"eui-ellipse\"\n fillColor=\"grey-75\"\n size=\"xs\">\n </eui-icon-svg>\n\n } @else {\n <eui-icon-svg\n *ngIf=\"hasIcon && item.iconSvgName\"\n icon=\"{{ item.iconSvgName }}\"\n fillColor=\"{{ item.iconTypeClass }}\"\n size=\"s\">\n </eui-icon-svg>\n\n <eui-icon-svg\n *ngIf=\"hasIcon && !isCategoryItem && !item.hasMarker && !item.iconSvgName && !item.iconClass\"\n class=\"eui-menu-item__link-icon--default\"\n icon=\"eui-ellipse\"\n size=\"xs\"\n [aria-label]=\"item.iconLabel\">\n </eui-icon-svg>\n }\n }\n }\n</ng-template>\n", "import {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n OnInit,\n Output,\n EventEmitter,\n OnChanges,\n SimpleChanges,\n HostListener,\n booleanAttribute,\n OnDestroy,\n AfterViewInit,\n ViewChildren,\n QueryList,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { Router, ActivatedRoute, NavigationEnd, Event as RouterEvent } from '@angular/router';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { Subscription } from 'rxjs';\nimport * as uuid from 'uuid';\n\nimport { consumeEvent } from '@eui/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiMenuItemComponent } from './eui-menu-item.component';\nimport { EuiMenuItem } from '@eui/base';\n@Component({\n selector: 'eui-menu',\n templateUrl: './eui-menu.component.html',\n styleUrls: ['./styles/_index.scss'],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n },\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiMenuComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n @ViewChildren(EuiMenuItemComponent) focusableItems: QueryList<EuiMenuItemComponent>;\n \n @HostBinding('class')\n public get cssClasses(): string {\n return [this.baseStatesDirective.getCssClasses('eui-menu-wrapper'),\n this.isCollapsed ? 'eui-menu--collapsed' : '',\n !this.hasIcons ? 'eui-menu--no-icons' : '',\n this.isFlat ? 'eui-menu--flat': '',\n ].join(' ').trim();\n }\n\n @Input() items: EuiMenuItem[];\n @Input() searchFilterLabel: string;\n @Input() externalLinkLabel: string;\n @Input() fragmentId: string;\n @Input() filterValue = '';\n\n @Input({ transform: booleanAttribute }) isCollapsed = false;\n @Input({ transform: booleanAttribute }) hasCollapsedInitials = false;\n @Input({ transform: booleanAttribute }) hasFilter = false;\n @Input({ transform: booleanAttribute }) hasIcons = false;\n @Input({ transform: booleanAttribute }) hasTooltip = false;\n @Input({ transform: booleanAttribute }) expandAllItems = false;\n @Input({ transform: booleanAttribute }) isFlat = false;\n @Input({ transform: booleanAttribute }) hasScrollToItem = false;\n @Input({ transform: booleanAttribute }) hasLowercaseItems = false;\n\n @Output() isClick: EventEmitter<boolean> = new EventEmitter();\n @Output() itemClick: EventEmitter<EuiMenuItem> = new EventEmitter<EuiMenuItem>();\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n itemsState: any[];\n private subscription: Subscription;\n private focusKeyManager: FocusKeyManager<EuiMenuItemComponent>;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n public baseStatesDirective: BaseStatesDirective,\n private cd: ChangeDetectorRef,\n ) {}\n\n @HostListener('click', ['$event'])\n stopPropagation(event: Event): void {\n event.stopPropagation();\n }\n\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent): void {\n // finds first child when ArrowDown\n const firstChild = this.focusKeyManager.activeItem?.item.children? this.findFirstFilteredItem(this.focusKeyManager.activeItem?.item.children) : undefined;\n const firstFocusableItem = this.findFocusableItem(firstChild);\n // finds the parent element\n const parent = this.focusKeyManager.activeItem?.item.parent;\n const parentFocusableItem = this.findFocusableItem(parent);\n switch (event.key) {\n case 'Enter': {\n if (\n (this.focusKeyManager.activeItem.isLinkItem || this.focusKeyManager.activeItem.isUrlItem) &&\n !this.focusKeyManager.activeItem.disabled\n ) {\n this.focusKeyManager.activeItem.onClick(event);\n event.preventDefault();\n }\n break;\n }\n case 'ArrowRight': {\n if(this.focusKeyManager.activeItem?.item.actionIcon){\n this.checkActionIconFocusState();\n break;\n } else {\n if (!this.focusKeyManager.activeItem?.item.expanded) {\n this.focusKeyManager.activeItem?.onExpandToggle(event);\n this.cd.detectChanges();\n }\n break;\n }\n }\n case 'ArrowLeft': {\n if(this.focusKeyManager.activeItem?.item.actionIcon){\n this.checkActionIconFocusState();\n break;\n } else {\n if (this.focusKeyManager.activeItem?.item.expanded) {\n this.focusKeyManager.activeItem.onExpandToggle(event);\n this.cd.detectChanges();\n event.preventDefault();\n }\n break;\n }\n }\n case 'ArrowDown': {\n event.preventDefault();\n if (this.focusKeyManager.activeItem?.item.children && this.focusKeyManager.activeItem?.item.expanded) {\n //focuses first child\n firstFocusableItem?.focus();\n this.focusKeyManager.updateActiveItem(firstFocusableItem);\n } else if (parent) {\n // finds last filtered child when ArrowDown and navigating within submenu\n const filteredChildren = this.findFilteredItems(parent.children);\n const lastChildIndex = (filteredChildren?.length) - 1;\n const lastChild = filteredChildren[lastChildIndex];\n const lastFocusableItem = this.findFocusableItem(lastChild);\n // if the active item is the last child, puts the focus on the next parent\n if(this.focusKeyManager.activeItem === lastFocusableItem){\n this.focusKeyManager.updateActiveItem(parentFocusableItem);\n this.focusKeyManager.setNextItemActive();\n } else {\n this.focusKeyManager.setActiveItem(this.focusKeyManager.activeItemIndex +1);\n }\n } else {\n // skips remaining childen in the query list when there is expanded node\n this.focusKeyManager.skipPredicate(menuItem => menuItem.parent != undefined || menuItem.item.visible === false);\n this.focusKeyManager.onKeydown(event);\n }\n break;\n }\n case 'ArrowUp': {\n event.preventDefault();\n if (parent) {\n // finds first filtered child when ArrowUp\n const filteredChildren = this.findFilteredItems(parent.children);\n const firstChildUp = filteredChildren['0']\n const firstFocusableItemUp = this.findFocusableItem(firstChildUp);\n // when navigating up on a submenu focuses the parent if the active item is the first child\n if(this.focusKeyManager.activeItem === firstFocusableItemUp){\n this.focusKeyManager.setActiveItem(parentFocusableItem);\n } else {\n this.focusKeyManager.setActiveItem(this.focusKeyManager.activeItemIndex -1);\n }\n } else {\n this.focusKeyManager.onKeydown(event);\n // when navigating up from a parent element to an expanded submenu, finds the last child and focuses it\n if(this.focusKeyManager.activeItem?.item.children && this.focusKeyManager.activeItem?.item.expanded){\n const filteredChildren = this.findFilteredItems(this.focusKeyManager.activeItem?.item.children);\n const lastChildIndexUp = (filteredChildren.length) - 1;\n const lastFocusableItemUp =this.findFocusableItem(filteredChildren[lastChildIndexUp]);\n this.focusKeyManager.setActiveItem(lastFocusableItemUp);\n }\n }\n break;\n }\n default: {\n this.focusKeyManager.onKeydown(event);\n break;\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.items) {\n this.items = this.configureItems(this.items);\n // get current url\n const currentUrl = this.router.url;\n // find an item that matches the current url or the most relevant one\n const item = this.findMostRelevantItem(currentUrl, this.items);\n // expand to that item\n if (item) {\n this.expandToGivenItem(item);\n }\n }\n\n // Expand / Collapse All items\n if (changes.expandAllItems) {\n this.items = this.setExpandedToAllItems(coerceBooleanProperty(changes.expandAllItems.currentValue), this.items);\n }\n\n if (changes.filterValue && this.hasFilter) {\n this.onFilter(changes.filterValue.currentValue ?? '');\n }\n\n // Refresh when interactive collapsed to initials\n if (changes.hasCollapsedInitials) {\n this.hasCollapsedInitials = changes.hasCollapsedInitials.currentValue;\n this.items = this.configureItems(this.items);\n }\n }\n\n ngOnInit(): void {\n // Labels default values - TODO : translations\n if (!this.searchFilterLabel) {\n this.searchFilterLabel = 'Search filter';\n }\n\n const elementIsVisibleInViewport = (el, partiallyVisible = false): boolean => {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return partiallyVisible\n ? ((top > 0 && top < innerHeight) ||\n (bottom > 0 && bottom < innerHeight)) &&\n ((left > 0 && left < innerWidth) || (right > 0 && right < innerWidth))\n : top >= 0 && left >= 0 && bottom <= innerHeight && right <= innerWidth;\n };\n\n // subscription to routes url changes for activating the scrollIntoView (optional)\n if (this.hasScrollToItem) {\n this.subscription = this.router.events.subscribe((event: RouterEvent) => {\n if (event instanceof NavigationEnd) {\n const item = this.findMostRelevantItem(event.url, this.items);\n if (item) {\n setTimeout(_ => {\n const element = document.getElementById(item.id);\n if (!elementIsVisibleInViewport(element)) {\n element.scrollIntoView({ behavior: 'smooth' });\n }\n }, 1);\n }\n }\n });\n }\n }\n\n ngAfterViewInit(): void {\n // instantiates FocusKeyManager with the query list of items enabling wrapping\n this.focusKeyManager = new FocusKeyManager(this.focusableItems).withWrap();\n }\n\n ngOnDestroy():void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n public onClick(item: EuiMenuItem): void {\n if (!item.disabled) {\n if (item.urlExternal) {\n window.open(item.urlExternal, item.urlExternalTarget);\n } else if (item.url) {\n this.router.navigate([item.url], { relativeTo: this.route, fragment: this.fragmentId });\n } else {\n if (typeof item.command === 'function') {\n item.command();\n } else {\n this.onExpandToggle(item);\n }\n }\n\n if (item.link) {\n this.items = this.items?.map((it) => {\n it.active = false;\n if (it.id === item.id) {\n it.active = true;\n }\n return it;\n });\n }\n }\n\n this.isClick.emit(true);\n this.itemClick.emit(item);\n\n const focusedItem = this.findFocusableItem(item);\n this.focusKeyManager.updateActiveItem(focusedItem);\n }\n\n public onExpandToggle(item: EuiMenuItem): void {\n this.onExpandToggled(item, this.items);\n // TODO: investigate why the above is needed. Can it be simply \"item.expanded = !item.expanded;\" ?\n }\n\n public onMenuFilterClick(event: MouseEvent): void {\n consumeEvent(event);\n }\n\n public onFilter(event: Event)\n public onFilter(value: string)\n public onFilter(eventOrValue: Event | string): void {\n const value = eventOrValue instanceof Event\n ? (eventOrValue.target as HTMLInputElement).value\n : eventOrValue;\n this._onToggleExpandAllItems(value ? true : false);\n\n this.items = this.filterMenuItems(this.items, value);\n }\n\n private _onToggleExpandAllItems(state: boolean): void {\n this.items = this.setExpandedToAllItems(state, this.items);\n }\n\n /**\n * finds the EuiMenuItemComponent in the queried focusableItems[] that matches the passed EuiMenuItem object\n *\n * @param menuItem an EuiMenuItem\n * @private\n */\n private findFocusableItem(menuItem: EuiMenuItem ): EuiMenuItemComponent {\n return this.focusableItems.find(\n (focusableItem) => focusableItem.item.label === menuItem?.label && focusableItem.item.id === menuItem.id,\n );\n }\n\n /**\n * finds the first item that is filtered\n *\n * @param menuItems an array of EuiMenuItem\n * @private\n */\n private findFirstFilteredItem(menuItems: EuiMenuItem []): EuiMenuItem {\n return menuItems.find((item) => item.filtered);\n }\n\n /**\n * finds all filtered menu items\n *\n * @param menuItems an array of EuiMenuItem\n * @private\n */\n private findFilteredItems(menuItems: EuiMenuItem []): EuiMenuItem [] {\n return menuItems.filter((items) => items.filtered);\n }\n\n /**\n * checks the focus state of the action icon\n *\n * @private\n */\n private checkActionIconFocusState(): void {\n // check if the action icon is focused and if not focus it, otherwise focus the active item\n !this.focusKeyManager.activeItem.isActionIconFocused ? this.focusKeyManager.activeItem.focusActionIcon() : this.focusKeyManager.activeItem.focus();\n }\n\n /**\n * filter all menu items given a value\n *\n * @param menuItems an array of menu items\n * @param filterValue the value to filter menu items\n * @private\n */\n private filterMenuItems(menuItems: EuiMenuItem[], filterValue: string): EuiMenuItem[] {\n return menuItems?.map((item: EuiMenuItem) => {\n const found = item.label.toLowerCase().indexOf(filterValue.toLowerCase()) !== -1;\n if (item.children) {\n item.children = this.filterMenuItems(item.children, filterValue);\n item.filtered = item.children.filter((l) => l['filtered'] === true).length > 0;\n } else if (found) {\n item.filtered = found;\n } else {\n item.filtered = false;\n }\n return item;\n });\n }\n\n /**\n * expand / collapse all items\n *\n * @param isExpanded\n * @param items\n * @private\n */\n private setExpandedToAllItems(isExpanded, items: EuiMenuItem[]): EuiMenuItem[] {\n return items?.map((item) => {\n if (item.children) {\n item.expanded = isExpanded;\n item.children = this.setExpandedToAllItems(isExpanded, item.children);\n }\n return Object.assign(item, { visible: item.visible === undefined ? true : item.visible });\n });\n }\n\n /**\n * expand / collapse a menu item\n *\n * @param item The item where the \"expand\" had been toggled\n * @param items The items list (used for recursion)\n * @private\n */\n private onExpandToggled(item: EuiMenuItem, items: EuiMenuItem[]): void {\n const itemIdx = items?.indexOf(item);\n if (itemIdx > -1) {\n items[itemIdx].expanded = !items[itemIdx].expanded;\n } else {\n items.forEach((i) => {\n if (i.children) {\n this.onExpandToggled(item, i.children);\n }\n });\n }\n }\n\n /**\n * configure an array of items with visible, filtered and expand (in case of expandAllItems flag enabled) properties\n *\n * @param items An array of EuiMenuItem\n * @param parent the parent item of items if exists\n * @private\n */\n private configureItems(items: EuiMenuItem[], parent?: EuiMenuItem): EuiMenuItem[] {\n return items?.map((item) => {\n // recursion in case there are children\n if (item.children) {\n item.children = this.configureItems(item.children, item);\n // expand all parents with children\n if (this.expandAllItems) {\n item.expanded = true;\n }\n }\n // point to the parent\n if (parent) {\n item.parent = parent;\n }\n\n if (!item.id && this.hasScrollToItem) {\n item.id = uuid.v4();\n }\n\n if (item.label && this.hasCollapsedInitials) {\n const words = item.label.split(' ');\n if (words.length === 1) {\n item.initials = `${item.label.substring(0, 1)}${item.label.substring(1, 1)}`;\n\n } else {\n item.initials = `${words[0].substring(0, 1)}${words[1].substring(0, 1)}`;\n }\n }\n\n return Object.assign(item, { visible: item.visible === undefined ? true : item.visible, filtered: true });\n });\n }\n\n /**\n * Given a URL and a list of items, it will expand the item that matches the URL. If not item matches exactly the url, then it will\n * match the item that is most relevant to that url.\n *\n * @param items\n * @param value\n * @private\n */\n private findMostRelevantItem(url: string, items: EuiMenuItem[], relevantItem?: EuiMenuItem): EuiMenuItem {\n if (!items) {\n return null;\n }\n\n items.forEach((item) => {\n if (item.url && url.indexOf(item.url.substr(1)) > -1) {\n relevantItem = this.getMostRelevantItem(url, relevantItem, item);\n }\n\n if (item.children) {\n relevantItem = this.findMostRelevantItem(url, item.children, relevantItem);\n }\n });\n\n return relevantItem;\n }\n\n /**\n * Given two items with url return the one with the most relevant url that matches given url\n *\n * @param url A URL to be matched with the one of given items\n * @param item1\n * @param item2\n * @private\n */\n private getMostRelevantItem(url: string, item1: EuiMenuItem, item2: EuiMenuItem): EuiMenuItem {\n const remainder1 = url.replace(item1?.url || '', '');\n const remainder2 = url.replace(item2?.url || '', '');\n\n return remainder1.length < remainder2.length ? item1 : item2;\n }\n\n /**\n * Given an item, if there's a parent expand it until you reach the root item\n *\n * @param item Given menu item\n * @private\n */\n private expandToGivenItem(item: EuiMenuItem): void {\n if (item.parent) {\n setTimeout(() => (item.parent.expanded = true));\n this.expandToGivenItem(item.parent);\n }\n }\n}\n", "<div *ngIf=\"hasFilter && !isCollapsed\" class=\"eui-menu-filter\" (click)=\"onMenuFilterClick($event)\">\n <div class=\"eui-menu-filter__input-wrapper\">\n <input\n euiInputText\n [euiClearable]=\"true\"\n (input)=\"onFilter($event)\"\n class=\"eui-menu-filter__input\"\n [placeholder]=\"searchFilterLabel\"\n [attr.aria-label]=\"searchFilterLabel\"\n [value]=\"filterValue\" />\n <eui-icon-svg icon=\"eui-search\" class=\"eui-menu-filter__input-search\" fillColor=\"grey-50\" aria-label=\"Search Icon\"></eui-icon-svg>\n </div>\n</div>\n<ul euiList class=\"eui-menu\" role=\"menubar\" aria-orientation=\"vertical\" tabindex=\"0\">\n <span *ngIf=\"!items\" class=\"eui-menu--no-items\">No menu items defined</span>\n <ng-template ngFor let-item let-index [ngForOf]=\"items\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: item, index: index }\"> </ng-template>\n </ng-template>\n</ul>\n\n<!-- describe the recursive template of the menu item -->\n<ng-template #menuItemTemplateRef let-item=\"menuItem\" let-parent=\"parent\" let-i=\"index\">\n <!-- render the menu item-->\n <eui-menu-item\n *ngIf=\"item.filtered\"\n [item]=\"item\"\n [parent]=\"parent\"\n [hasIcon]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [isLabelLowercase]=\"hasLowercaseItems\"\n (expandToggle)=\"onExpandToggle($event)\"\n (itemClick)=\"onClick($event)\">\n <!-- if the menu item has children, render the children -->\n <ul euiList *ngIf=\"item.children && item.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" [attr.aria-label]=\"item.label\" tabindex=\"-1\">\n <ng-container *ngFor=\"let child of item.children; let childIndex = index\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: child, index: childIndex, parent: item }\">\n </ng-template>\n </ng-container>\n </ul>\n </eui-menu-item>\n</ng-template>\n", "import { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { NgModule } from '@angular/core';\n\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiChipModule } from '@eui/components/eui-chip';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\n\nimport { EuiMenuComponent } from './eui-menu.component';\nimport { EuiMenuItemComponent } from './eui-menu-item.component';\nimport { EuiTooltipDirectiveModule } from '@eui/components/directives';\n\n@NgModule({\n imports: [CommonModule, RouterModule, EuiIconModule, EuiChipModule, EuiButtonModule, EuiInputTextModule, EuiTooltipDirectiveModule],\n declarations: [EuiMenuComponent, EuiMenuItemComponent],\n exports: [EuiMenuComponent],\n})\nexport class EuiMenuModule {}\n"],
|
5
|
-
"mappings": ";AAAA,SACI,WACA,aACA,mBACA,OACA,QACA,cACA,cAEA,wBAEG;AAGP,SAAS,oBAAoB;AAC7B,SAAS,2BAA2B;;;;;;;;;AAc9B,IAAO,uBAAP,MAAO,sBAAoB;EAK7B,IACW,aAAU;AACjB,WAAO,KAAK,cAAa;EAC7B;EAEA,IACI,eAAY;AACZ,WAAO,KAAK,MAAM,UAAU,SAAS,IAAG,OAAO;EACnD;EACA,IACI,eAAY;AACZ,QAAG,KAAK,KAAK,UAAU;AACnB,aAAO,KAAK,KAAK,WAAW,OAAO;IACvC,OAAO;AACH,aAAO;IACX;EACJ;EACA,IACI,eAAY;AACZ,WAAO,KAAK,KAAK;EACrB;EAsBA,YAAmB,qBAAkD,YAAsB;AAAxE,SAAA,sBAAA;AAAkD,SAAA,aAAA;AA7C3C,SAAA,OAAO;AACD,SAAA,YAAY;AAMd,SAAA,WAAW;AAoB/B,SAAA,eAAe,IAAI,aAAY;AAC/B,SAAA,YAAY,IAAI,aAAY;AAEtC,SAAA,kBAAkB;AAClB,SAAA,oBAAoB;AAEpB,SAAA,YAAY;AACZ,SAAA,aAAa;AACb,SAAA,cAAc;AACd,SAAA,iBAAiB;AACjB,SAAA,sBAAsB;AAEkB,SAAA,UAAU;AACV,SAAA,aAAa;AACb,SAAA,cAAc;AACd,SAAA,uBAAuB;AACvB,SAAA,mBAAmB;EAEmC;EAE9F,WAAQ;AACJ,SAAK,aAAa,KAAK,KAAK,OAAO,KAAK,KAAK,eAAe,KAAK,KAAK,YAAY,KAAK,KAAK,YAAY,CAAC,KAAK,KAAK;AACnH,SAAK,cAAc,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,KAAK;AAEvH,SAAK,aAAa,CAAC,KAAK,aAAa,CAAC,KAAK;AAC3C,SAAK,YAAY,KAAK,aAAY;AAElC,SAAK,iBAAiB,KAAK,KAAK,SAAS,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,KAAK;EAC5H;EAGO,gBAAgB,OAAY;AAC/B,SAAK,UAAU,KAAK,KAAK,IAAI;AAC7B,iBAAa,KAAK;EACtB;EAEA,IAAI,kBAAe;AACf,QAAI,KAAK,cAAc,KAAK,aAAa;AACrC,UAAI,KAAK,KAAK,SAAS;AACnB,eAAO,KAAK,KAAK;MACrB,OAAO;AACH,eAAO,KAAK,mBAAmB,KAAK,IAAI;MAC5C;IACJ,OAAO;AACH,aAAO;IACX;EACJ;EAEO,QAAQ,OAAY;AACvB,SAAK,UAAU,KAAK,KAAK,IAAI;AAC7B,SAAK,MAAK;AACV,iBAAa,KAAK;EACtB;EAEO,eAAe,OAAY;AAC9B,SAAK,aAAa,KAAK,KAAK,IAAI;AAChC,iBAAa,KAAK;EACtB;EAEO,kBAAkB,OAAiB;AACtC,SAAK,KAAK,YAAY,OAAO,KAAK;AAClC,iBAAa,KAAK;EACtB;EAEA,oBAAoB,OAAoB;AACpC,QAAI,MAAM,QAAQ,SAAS;AACvB,WAAK,KAAK,YAAY,OAAO,KAAK;AAClC,mBAAa,KAAK;IACtB;EACJ;EAEO,kBAAe;AAClB,SAAK,WAAW,cAAc,cAAc,kCAAkC,EAAE,MAAK;AACrF,SAAK,sBAAsB;EAC/B;EAEA,uBAAoB;AAChB,SAAK,sBAAsB;EAC/B;EAEO,QAAK;AACR,SAAK,WAAW,cAAc,MAAK;EACvC;EAEQ,mBAAmB,MAAiB;AACxC,QAAI,KAAK,YAAY,KAAK,OAAO;AAC7B,aAAO,KAAK,QAAQ,OAAO,KAAK,WAAW;IAC/C,WAAW,KAAK,OAAO;AACnB,aAAO,KAAK;IAChB,WAAW,KAAK,UAAU;AACtB,aAAO,KAAK;IAChB;AACA,WAAO;EACX;EAEQ,eAAY;AAChB,QAAI,KAAK,KAAK,OAAO;AACjB,aAAO,KAAK,KAAK;IACrB,WAAW,KAAK,KAAK,UAAU;AAC3B,aAAO,KAAK,KAAK;IACrB,WAAW,KAAK,KAAK,cAAc,KAAK,KAAK,WAAW,OAAO;AAC3D,aAAO,KAAK,KAAK,WAAW;IAChC,WAAW,KAAK,KAAK,WAAW;AAC5B,aAAO,KAAK,KAAK;IACrB;AACA,WAAO;EACX;;;;;EAMQ,gBAAa;AACjB,WAAO;MACH,KAAK,oBAAoB,cAAc,eAAe;MACtD,KAAK,mBAAmB,6BAA4B;MACtD,KAAK,GAAG,EAAE,KAAI;EACpB;;4GAlJS,uBAAoB,MAAA,CAAA,EAAA,OAAA,uBAAA,GAAA,EAAA,OAAA,cAAA,CAAA,GAAA,QAAA,mBAAA,UAAA,CAAA;EAAA;;gGAApB,uBAAoB,UAAA,iBAAA,QAAA,EAAA,MAAA,QAAA,QAAA,UAAA,SAAA,CAAA,WAAA,WAyCT,gBAAgB,GAAA,YAAA,CAAA,cAAA,cAChB,gBAAgB,GAAA,aAAA,CAAA,eAAA,eAChB,gBAAgB,GAAA,sBAAA,CAAA,wBAAA,wBAChB,gBAAgB,GAAA,kBAAA,CAAA,oBAAA,oBAChB,gBAAgB,EAAA,GAAA,SAAA,EAAA,cAAA,gBAAA,WAAA,YAAA,GAAA,MAAA,EAAA,WAAA,EAAA,SAAA,0BAAA,GAAA,YAAA,EAAA,aAAA,aAAA,mBAAA,kBAAA,SAAA,mBAAA,iBAAA,iBAAA,sBAAA,qBAAA,sBAAA,qBAAA,sBAAA,oBAAA,EAAA,GAAA,gBAAA,CAAA,EAAA,WAAA,uBAAA,CAAA,GAAA,UAAA,IAAA,UC1ExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqLA,QAAA,CAAA,ynbAAA,GAAA,cAAA,CAAA,EAAA,MAAA,aAAA,MAAA,SAAA,UAAA,UAAA,QAAA,CAAA,QAAA,YAAA,UAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,qBAAA,UAAA,sBAAA,QAAA,CAAA,2BAAA,oBAAA,0BAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,eAAA,UAAA,gBAAA,QAAA,CAAA,UAAA,eAAA,YAAA,uBAAA,SAAA,QAAA,cAAA,oBAAA,sBAAA,cAAA,YAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,qBAAA,UAAA,sBAAA,QAAA,CAAA,2BAAA,yBAAA,kBAAA,GAAA,SAAA,CAAA,gBAAA,GAAA,UAAA,CAAA,kBAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,wBAAA,UAAA,iDAAA,QAAA,CAAA,QAAA,QAAA,aAAA,OAAA,kBAAA,QAAA,SAAA,WAAA,aAAA,cAAA,cAAA,aAAA,aAAA,eAAA,YAAA,QAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,qBAAA,UAAA,wCAAA,QAAA,CAAA,aAAA,WAAA,iBAAA,kBAAA,MAAA,QAAA,mBAAA,WAAA,GAAA,SAAA,CAAA,QAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,uBAAA,UAAA,mCAAA,QAAA,CAAA,WAAA,MAAA,kBAAA,iBAAA,kBAAA,aAAA,iBAAA,eAAA,aAAA,aAAA,GAAA,SAAA,CAAA,aAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,wBAAA,UAAA,gBAAA,QAAA,CAAA,WAAA,aAAA,aAAA,oBAAA,YAAA,cAAA,cAAA,qBAAA,uBAAA,kBAAA,qBAAA,qBAAA,oBAAA,kBAAA,GAAA,UAAA,CAAA,YAAA,EAAA,CAAA,GAAA,eAAA,qBAAA,KAAA,CAAA;EAAA;;kGDxJa,sBAAoB,YAAA,CAAA;QAXhC;qBACa,iBAAe,gBAET;IACZ;MACI,WAAW;;KAElB,eAEc,kBAAkB,MAAI,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAA,QAAA,CAAA,ynbAAA,EAAA,CAAA;yGAIX,MAAI,CAAA;QAA7B;SAAY,WAAW;IACQ,WAAS,CAAA;QAAxC;SAAY,iBAAiB;IAGnB,YAAU,CAAA;QADpB;SAAY,OAAO;IAIU,UAAQ,CAAA;QAArC;SAAY,eAAe;IAExB,cAAY,CAAA;QADf;SAAY,oBAAoB;IAK7B,cAAY,CAAA;QADf;SAAY,oBAAoB;IAS7B,cAAY,CAAA;QADf;SAAY,oBAAoB;IAKxB,MAAI,CAAA;QAAZ;IACQ,QAAM,CAAA;QAAd;IACS,cAAY,CAAA;QAArB;IACS,WAAS,CAAA;QAAlB;IAWuC,SAAO,CAAA;QAA9C;SAAM,EAAE,WAAW,iBAAgB,CAAE;IACE,YAAU,CAAA;QAAjD;SAAM,EAAE,WAAW,iBAAgB,CAAE;IACE,aAAW,CAAA;QAAlD;SAAM,EAAE,WAAW,iBAAgB,CAAE;IACE,sBAAoB,CAAA;QAA3D;SAAM,EAAE,WAAW,iBAAgB,CAAE;IACE,kBAAgB,CAAA;QAAvD;SAAM,EAAE,WAAW,iBAAgB,CAAE;IAe/B,iBAAe,CAAA;QADrB;SAAa,SAAS,CAAC,QAAQ,CAAC;;;;AExFrC,SACI,aAAAA,YACA,eAAAC,cACA,qBAAAC,oBACA,SAAAC,QAEA,UAAAC,SACA,gBAAAC,eAGA,gBAAAC,eACA,oBAAAC,mBAGA,oBAGG;AACP,SAAiC,qBAA2C;AAC5E,SAAS,6BAA6B;AACtC,SAAS,uBAAuB;AAEhC,YAAY,UAAU;AAEtB,SAAS,gBAAAC,qBAAoB;AAC7B,SAAS,uBAAAC,4BAA2B;;;;;;;AAc9B,IAAO,mBAAP,MAAO,kBAAgB;EAGzB,IACW,aAAU;AACjB,WAAO;MAAC,KAAK,oBAAoB,cAAc,kBAAkB;MAC7D,KAAK,cAAc,wBAAwB;MAC3C,CAAC,KAAK,WAAW,uBAAuB;MACxC,KAAK,SAAS,mBAAkB;MAClC,KAAK,GAAG,EAAE,KAAI;EACpB;EA2BA,YACY,QACA,OACD,qBACC,IAAqB;AAHrB,SAAA,SAAA;AACA,SAAA,QAAA;AACD,SAAA,sBAAA;AACC,SAAA,KAAA;AAzBH,SAAA,cAAc;AAEiB,SAAA,cAAc;AACd,SAAA,uBAAuB;AACvB,SAAA,YAAY;AACZ,SAAA,WAAW;AACX,SAAA,aAAa;AACb,SAAA,iBAAiB;AACjB,SAAA,SAAS;AACT,SAAA,kBAAkB;AAClB,SAAA,oBAAoB;AAElD,SAAA,UAAiC,IAAIJ,cAAY;AACjD,SAAA,YAAuC,IAAIA,cAAY;EAa9D;EAGH,gBAAgB,OAAY;AACxB,UAAM,gBAAe;EACzB;EAGA,UAAU,OAAoB;AAE1B,UAAM,aAAa,KAAK,gBAAgB,YAAY,KAAK,WAAU,KAAK,sBAAsB,KAAK,gBAAgB,YAAY,KAAK,QAAQ,IAAI;AAChJ,UAAM,qBAAqB,KAAK,kBAAkB,UAAU;AAE5D,UAAM,SAAS,KAAK,gBAAgB,YAAY,KAAK;AACrD,UAAM,sBAAsB,KAAK,kBAAkB,MAAM;AACzD,YAAQ,MAAM,KAAK;MACf,KAAK,SAAS;AACV,aACK,KAAK,gBAAgB,WAAW,cAAc,KAAK,gBAAgB,WAAW,cAC/E,CAAC,KAAK,gBAAgB,WAAW,UACnC;AACE,eAAK,gBAAgB,WAAW,QAAQ,KAAK;AAC7C,gBAAM,eAAc;QACxB;AACA;MACJ;MACA,KAAK,cAAc;AACf,YAAG,KAAK,gBAAgB,YAAY,KAAK,YAAW;AAChD,eAAK,0BAAyB;AAC9B;QACJ,OAAO;AACH,cAAI,CAAC,KAAK,gBAAgB,YAAY,KAAK,UAAU;AACjD,iBAAK,gBAAgB,YAAY,eAAe,KAAK;AACrD,iBAAK,GAAG,cAAa;UACzB;AACA;QACJ;MACJ;MACA,KAAK,aAAa;AACd,YAAG,KAAK,gBAAgB,YAAY,KAAK,YAAW;AAChD,eAAK,0BAAyB;AAC9B;QACJ,OAAO;AACH,cAAI,KAAK,gBAAgB,YAAY,KAAK,UAAU;AAChD,iBAAK,gBAAgB,WAAW,eAAe,KAAK;AACpD,iBAAK,GAAG,cAAa;AACrB,kBAAM,eAAc;UACxB;AACA;QACJ;MACJ;MACA,KAAK,aAAa;AACd,cAAM,eAAc;AACpB,YAAI,KAAK,gBAAgB,YAAY,KAAK,YAAY,KAAK,gBAAgB,YAAY,KAAK,UAAU;AAElG,8BAAoB,MAAK;AACzB,eAAK,gBAAgB,iBAAiB,kBAAkB;QAC5D,WAAW,QAAQ;AAEf,gBAAM,mBAAmB,KAAK,kBAAkB,OAAO,QAAQ;AAC/D,gBAAM,iBAAkB,kBAAkB,SAAU;AACpD,gBAAM,YAAY,iBAAiB,cAAc;AACjD,gBAAM,oBAAoB,KAAK,kBAAkB,SAAS;AAE1D,cAAG,KAAK,gBAAgB,eAAe,mBAAkB;AACtD,iBAAK,gBAAgB,iBAAiB,mBAAmB;AACzD,iBAAK,gBAAgB,kBAAiB;UACzC,OAAO;AACH,iBAAK,gBAAgB,cAAc,KAAK,gBAAgB,kBAAiB,CAAC;UAC9E;QACJ,OAAO;AAEH,eAAK,gBAAgB,cAAc,cAAY,SAAS,UAAU,UAAa,SAAS,KAAK,YAAY,KAAK;AAC9G,eAAK,gBAAgB,UAAU,KAAK;QACxC;AACA;MACJ;MACA,KAAK,WAAW;AACZ,cAAM,eAAc;AACpB,YAAI,QAAQ;AAER,gBAAM,mBAAmB,KAAK,kBAAkB,OAAO,QAAQ;AAC/D,gBAAM,eAAe,iBAAiB,GAAG;AACzC,gBAAM,uBAAuB,KAAK,kBAAkB,YAAY;AAEhE,cAAG,KAAK,gBAAgB,eAAe,sBAAqB;AACxD,iBAAK,gBAAgB,cAAc,mBAAmB;UACzD,OAAO;AACJ,iBAAK,gBAAgB,cAAc,KAAK,gBAAgB,kBAAiB,CAAC;UAC7E;QACL,OAAO;AACH,eAAK,gBAAgB,UAAU,KAAK;AAEpC,cAAG,KAAK,gBAAgB,YAAY,KAAK,YAAY,KAAK,gBAAgB,YAAY,KAAK,UAAS;AAChG,kBAAM,mBAAmB,KAAK,kBAAkB,KAAK,gBAAgB,YAAY,KAAK,QAAQ;AAC9F,kBAAM,mBAAoB,iBAAiB,SAAU;AACrD,kBAAM,sBAAqB,KAAK,kBAAkB,iBAAiB,gBAAgB,CAAC;AACpF,iBAAK,gBAAgB,cAAc,mBAAmB;UAC1D;QACJ;AACA;MACJ;MACA,SAAS;AACL,aAAK,gBAAgB,UAAU,KAAK;AACpC;MACJ;IACJ;EACJ;EAEA,YAAY,SAAsB;AAC9B,QAAI,QAAQ,OAAO;AACf,WAAK,QAAQ,KAAK,eAAe,KAAK,KAAK;AAE3C,YAAM,aAAa,KAAK,OAAO;AAE/B,YAAM,OAAO,KAAK,qBAAqB,YAAY,KAAK,KAAK;AAE7D,UAAI,MAAM;AACN,aAAK,kBAAkB,IAAI;MAC/B;IACJ;AAGA,QAAI,QAAQ,gBAAgB;AACxB,WAAK,QAAQ,KAAK,sBAAsB,sBAAsB,QAAQ,eAAe,YAAY,GAAG,KAAK,KAAK;IAClH;AAEA,QAAI,QAAQ,eAAe,KAAK,WAAW;AACvC,WAAK,SAAS,QAAQ,YAAY,gBAAgB,EAAE;IACxD;AAGA,QAAI,QAAQ,sBAAsB;AAC9B,WAAK,uBAAuB,QAAQ,qBAAqB;AACzD,WAAK,QAAQ,KAAK,eAAe,KAAK,KAAK;IAC/C;EACJ;EAEA,WAAQ;AAEJ,QAAI,CAAC,KAAK,mBAAmB;AACzB,WAAK,oBAAoB;IAC7B;AAEA,UAAM,6BAA6B,CAAC,IAAI,mBAAmB,UAAkB;AACzE,YAAM,EAAE,KAAK,MAAM,QAAQ,MAAK,IAAK,GAAG,sBAAqB;AAC7D,YAAM,EAAE,aAAa,WAAU,IAAK;AACpC,aAAO,oBACH,MAAM,KAAK,MAAM,eACpB,SAAS,KAAK,SAAS,iBACtB,OAAO,KAAK,OAAO,cAAgB,QAAQ,KAAK,QAAQ,cACxD,OAAO,KAAK,QAAQ,KAAK,UAAU,eAAe,SAAS;IACjE;AAGA,QAAI,KAAK,iBAAiB;AACtB,WAAK,eAAe,KAAK,OAAO,OAAO,UAAU,CAAC,UAAsB;AACpE,YAAI,iBAAiB,eAAe;AAChC,gBAAM,OAAO,KAAK,qBAAqB,MAAM,KAAK,KAAK,KAAK;AAC5D,cAAI,MAAM;AACN,uBAAW,OAAI;AACX,oBAAM,UAAU,SAAS,eAAe,KAAK,EAAE;AAC/C,kBAAI,CAAC,2BAA2B,OAAO,GAAG;AACtC,wBAAQ,eAAe,EAAE,UAAU,SAAQ,CAAE;cACjD;YACJ,GAAG,CAAC;UACR;QACJ;MACJ,CAAC;IACL;EACJ;EAEA,kBAAe;AAEX,SAAK,kBAAkB,IAAI,gBAAgB,KAAK,cAAc,EAAE,SAAQ;EAC5E;EAEA,cAAW;AACP,QAAI,KAAK,cAAc;AACnB,WAAK,aAAa,YAAW;IACjC;EACJ;EAEO,QAAQ,MAAiB;AAC5B,QAAI,CAAC,KAAK,UAAU;AAChB,UAAI,KAAK,aAAa;AAClB,eAAO,KAAK,KAAK,aAAa,KAAK,iBAAiB;MACxD,WAAW,KAAK,KAAK;AACjB,aAAK,OAAO,SAAS,CAAC,KAAK,GAAG,GAAG,EAAE,YAAY,KAAK,OAAO,UAAU,KAAK,WAAU,CAAE;MAC1F,OAAO;AACH,YAAI,OAAO,KAAK,YAAY,YAAY;AACpC,eAAK,QAAO;QAChB,OAAO;AACH,eAAK,eAAe,IAAI;QAC5B;MACJ;AAEA,UAAI,KAAK,MAAM;AACX,aAAK,QAAQ,KAAK,OAAO,IAAI,CAAC,OAAM;AAChC,aAAG,SAAS;AACZ,cAAI,GAAG,OAAO,KAAK,IAAI;AACnB,eAAG,SAAS;UAChB;AACA,iBAAO;QACX,CAAC;MACL;IACJ;AAEA,SAAK,QAAQ,KAAK,IAAI;AACtB,SAAK,UAAU,KAAK,IAAI;AAExB,UAAM,cAAc,KAAK,kBAAkB,IAAI;AAC/C,SAAK,gBAAgB,iBAAiB,WAAW;EACrD;EAEO,eAAe,MAAiB;AACnC,SAAK,gBAAgB,MAAM,KAAK,KAAK;EAEzC;EAEO,kBAAkB,OAAiB;AACtC,IAAAG,cAAa,KAAK;EACtB;EAIO,SAAS,cAA4B;AACxC,UAAM,QAAQ,wBAAwB,QAC/B,aAAa,OAA4B,QAC1C;AACN,SAAK,wBAAwB,QAAQ,OAAO,KAAK;AAEjD,SAAK,QAAQ,KAAK,gBAAgB,KAAK,OAAO,KAAK;EACvD;EAEQ,wBAAwB,OAAc;AAC1C,SAAK,QAAQ,KAAK,sBAAsB,OAAO,KAAK,KAAK;EAC7D;;;;;;;EAQQ,kBAAkB,UAAqB;AAC3C,WAAO,KAAK,eAAe,KACvB,CAAC,kBAAkB,cAAc,KAAK,UAAU,UAAU,SAAS,cAAc,KAAK,OAAO,SAAS,EAAE;EAEhH;;;;;;;EAQQ,sBAAsB,WAAyB;AACnD,WAAO,UAAU,KAAK,CAAC,SAAS,KAAK,QAAQ;EACjD;;;;;;;EAQQ,kBAAkB,WAAyB;AAC/C,WAAO,UAAU,OAAO,CAAC,UAAU,MAAM,QAAQ;EACrD;;;;;;EAOQ,4BAAyB;AAE7B,KAAC,KAAK,gBAAgB,WAAW,sBAAsB,KAAK,gBAAgB,WAAW,gBAAe,IAAK,KAAK,gBAAgB,WAAW,MAAK;EACpJ;;;;;;;;EASQ,gBAAgB,WAA0B,aAAmB;AACjE,WAAO,WAAW,IAAI,CAAC,SAAqB;AACxC,YAAM,QAAQ,KAAK,MAAM,YAAW,EAAG,QAAQ,YAAY,YAAW,CAAE,MAAM;AAC9E,UAAI,KAAK,UAAU;AACf,aAAK,WAAW,KAAK,gBAAgB,KAAK,UAAU,WAAW;AAC/D,aAAK,WAAW,KAAK,SAAS,OAAO,CAAC,MAAM,EAAE,UAAU,MAAM,IAAI,EAAE,SAAS;MACjF,WAAW,OAAO;AACd,aAAK,WAAW;MACpB,OAAO;AACH,aAAK,WAAW;MACpB;AACA,aAAO;IACX,CAAC;EACL;;;;;;;;EASQ,sBAAsB,YAAY,OAAoB;AAC1D,WAAO,OAAO,IAAI,CAAC,SAAQ;AACvB,UAAI,KAAK,UAAU;AACf,aAAK,WAAW;AAChB,aAAK,WAAW,KAAK,sBAAsB,YAAY,KAAK,QAAQ;MACxE;AACA,aAAO,OAAO,OAAO,MAAM,EAAE,SAAS,KAAK,YAAY,SAAY,OAAO,KAAK,QAAO,CAAE;IAC5F,CAAC;EACL;;;;;;;;EASQ,gBAAgB,MAAmB,OAAoB;AAC3D,UAAM,UAAU,OAAO,QAAQ,IAAI;AACnC,QAAI,UAAU,IAAI;AACd,YAAM,OAAO,EAAE,WAAW,CAAC,MAAM,OAAO,EAAE;IAC9C,OAAO;AACH,YAAM,QAAQ,CAAC,MAAK;AAChB,YAAI,EAAE,UAAU;AACZ,eAAK,gBAAgB,MAAM,EAAE,QAAQ;QACzC;MACJ,CAAC;IACL;EACJ;;;;;;;;EASQ,eAAe,OAAsB,QAAoB;AAC7D,WAAO,OAAO,IAAI,CAAC,SAAQ;AAEvB,UAAI,KAAK,UAAU;AACf,aAAK,WAAW,KAAK,eAAe,KAAK,UAAU,IAAI;AAEvD,YAAI,KAAK,gBAAgB;AACrB,eAAK,WAAW;QACpB;MACJ;AAEA,UAAI,QAAQ;AACR,aAAK,SAAS;MAClB;AAEA,UAAI,CAAC,KAAK,MAAM,KAAK,iBAAiB;AAClC,aAAK,KAAU,QAAE;MACrB;AAEA,UAAI,KAAK,SAAS,KAAK,sBAAsB;AACzC,cAAM,QAAQ,KAAK,MAAM,MAAM,GAAG;AAClC,YAAI,MAAM,WAAW,GAAG;AACpB,eAAK,WAAW,GAAG,KAAK,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,KAAK,MAAM,UAAU,GAAG,CAAC,CAAC;QAE9E,OAAO;AACH,eAAK,WAAW,GAAG,MAAM,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC;QAC1E;MACJ;AAEA,aAAO,OAAO,OAAO,MAAM,EAAE,SAAS,KAAK,YAAY,SAAY,OAAO,KAAK,SAAS,UAAU,KAAI,CAAE;IAC5G,CAAC;EACL;;;;;;;;;EAUQ,qBAAqB,KAAa,OAAsB,cAA0B;AACtF,QAAI,CAAC,OAAO;AACR,aAAO;IACX;AAEA,UAAM,QAAQ,CAAC,SAAQ;AACnB,UAAI,KAAK,OAAO,IAAI,QAAQ,KAAK,IAAI,OAAO,CAAC,CAAC,IAAI,IAAI;AAClD,uBAAe,KAAK,oBAAoB,KAAK,cAAc,IAAI;MACnE;AAEA,UAAI,KAAK,UAAU;AACf,uBAAe,KAAK,qBAAqB,KAAK,KAAK,UAAU,YAAY;MAC7E;IACJ,CAAC;AAED,WAAO;EACX;;;;;;;;;EAUQ,oBAAoB,KAAa,OAAoB,OAAkB;AAC3E,UAAM,aAAa,IAAI,QAAQ,OAAO,OAAO,IAAI,EAAE;AACnD,UAAM,aAAa,IAAI,QAAQ,OAAO,OAAO,IAAI,EAAE;AAEnD,WAAO,WAAW,SAAS,WAAW,SAAS,QAAQ;EAC3D;;;;;;;EAQQ,kBAAkB,MAAiB;AACvC,QAAI,KAAK,QAAQ;AACb,iBAAW,MAAO,KAAK,OAAO,WAAW,IAAK;AAC9C,WAAK,kBAAkB,KAAK,MAAM;IACtC;EACJ;;8GA1dS,mBAAgB,MAAA,CAAA,EAAA,OAAA,WAAA,GAAA,EAAA,OAAA,mBAAA,GAAA,EAAA,OAAA,wBAAA,GAAA,EAAA,OAAA,sBAAA,CAAA,GAAA,QAAA,oBAAA,UAAA,CAAA;EAAA;;iGAAhB,mBAAgB,UAAA,YAAA,QAAA,EAAA,OAAA,SAAA,mBAAA,qBAAA,mBAAA,qBAAA,YAAA,cAAA,aAAA,eAAA,aAAA,CAAA,eAAA,eAkBLD,iBAAgB,GAAA,sBAAA,CAAA,wBAAA,wBAChBA,iBAAgB,GAAA,WAAA,CAAA,aAAA,aAChBA,iBAAgB,GAAA,UAAA,CAAA,YAAA,YAChBA,iBAAgB,GAAA,YAAA,CAAA,cAAA,cAChBA,iBAAgB,GAAA,gBAAA,CAAA,kBAAA,kBAChBA,iBAAgB,GAAA,QAAA,CAAA,UAAA,UAChBA,iBAAgB,GAAA,iBAAA,CAAA,mBAAA,mBAChBA,iBAAgB,GAAA,mBAAA,CAAA,qBAAA,qBAChBA,iBAAgB,EAAA,GAAA,SAAA,EAAA,SAAA,WAAA,WAAA,YAAA,GAAA,MAAA,EAAA,WAAA,EAAA,SAAA,2BAAA,WAAA,oBAAA,GAAA,YAAA,EAAA,SAAA,kBAAA,EAAA,GAAA,aAAA,CAAA,EAAA,cAAA,kBAAA,WAzBtB,sBAAoB,aAAA,KAAA,CAAA,GAAA,eAAA,MAAA,gBAAA,CAAA,EAAA,WAAA,wBAAA,CAAA,GAAA,UAAAG,KAAA,UCxCtC,knEA2CA,QAAA,CAAA,ynbAAA,GAAA,cAAA,CAAA,EAAA,MAAA,aAAA,MAAA,aAAA,UAAA,oBAAA,QAAA,CAAA,WAAA,gBAAA,eAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,UAAA,UAAA,UAAA,QAAA,CAAA,QAAA,YAAA,UAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,sBAAA,UAAA,sBAAA,QAAA,CAAA,2BAAA,oBAAA,0BAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,yBAAA,UAAA,iDAAA,QAAA,CAAA,QAAA,QAAA,aAAA,OAAA,kBAAA,QAAA,SAAA,WAAA,aAAA,cAAA,cAAA,aAAA,aAAA,eAAA,YAAA,QAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,2BAAA,UAAA,uBAAA,QAAA,CAAA,WAAA,EAAA,GAAA,EAAA,MAAA,aAAA,MAAA,sBAAA,UAAA,iBAAA,QAAA,CAAA,QAAA,UAAA,WAAA,cAAA,eAAA,wBAAA,kBAAA,GAAA,SAAA,CAAA,gBAAA,WAAA,EAAA,CAAA,GAAA,eAAA,sBAAA,KAAA,CAAA;EAAA;;oGDJa,kBAAgB,YAAA,CAAA;QAX5BV;qBACa,YAAU,gBAGJ;IACZ;MACI,WAAWS;;KAElB,eACcP,mBAAkB,MAAI,UAAA,knEAAA,QAAA,CAAA,ynbAAA,EAAA,CAAA;sKAGD,gBAAc,CAAA;QAAjD;SAAa,oBAAoB;IAGvB,YAAU,CAAA;QADpBD;SAAY,OAAO;IASX,OAAK,CAAA;QAAbE;IACQ,mBAAiB,CAAA;QAAzBA;IACQ,mBAAiB,CAAA;QAAzBA;IACQ,YAAU,CAAA;QAAlBA;IACQ,aAAW,CAAA;QAAnBA;IAEuC,aAAW,CAAA;QAAlDA;SAAM,EAAE,WAAWI,kBAAgB,CAAE;IACE,sBAAoB,CAAA;QAA3DJ;SAAM,EAAE,WAAWI,kBAAgB,CAAE;IACE,WAAS,CAAA;QAAhDJ;SAAM,EAAE,WAAWI,kBAAgB,CAAE;IACE,UAAQ,CAAA;QAA/CJ;SAAM,EAAE,WAAWI,kBAAgB,CAAE;IACE,YAAU,CAAA;QAAjDJ;SAAM,EAAE,WAAWI,kBAAgB,CAAE;IACE,gBAAc,CAAA;QAArDJ;SAAM,EAAE,WAAWI,kBAAgB,CAAE;IACE,QAAM,CAAA;QAA7CJ;SAAM,EAAE,WAAWI,kBAAgB,CAAE;IACE,iBAAe,CAAA;QAAtDJ;SAAM,EAAE,WAAWI,kBAAgB,CAAE;IACE,mBAAiB,CAAA;QAAxDJ;SAAM,EAAE,WAAWI,kBAAgB,CAAE;IAE5B,SAAO,CAAA;QAAhBH;IACS,WAAS,CAAA;QAAlBA;IAgBD,iBAAe,CAAA;QADdE;SAAa,SAAS,CAAC,QAAQ,CAAC;IAMjC,WAAS,CAAA;QADRA;SAAa,WAAW,CAAC,QAAQ,CAAC;;;;AExFvC,SAAS,oBAAoB;AAC7B,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB;AAEzB,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,uBAAuB;AAChC,SAAS,0BAA0B;AAInC,SAAS,iCAAiC;;AAOpC,IAAO,gBAAP,MAAO,eAAa;;8GAAb,gBAAa,MAAA,CAAA,GAAA,QAAA,oBAAA,SAAA,CAAA;EAAA;;+GAAb,gBAAa,cAAA,CAHP,kBAAkB,oBAAoB,GAAA,SAAA,CAD3C,cAAc,cAAc,eAAe,eAAe,iBAAiB,oBAAoB,yBAAyB,GAAA,SAAA,CAExH,gBAAgB,EAAA,CAAA;EAAA;;+GAEjB,gBAAa,SAAA,CAJZ,cAAc,cAAc,eAAe,eAAe,iBAAiB,oBAAoB,yBAAyB,EAAA,CAAA;EAAA;;oGAIzH,eAAa,YAAA,CAAA;QALzB;SAAS;IACN,SAAS,CAAC,cAAc,cAAc,eAAe,eAAe,iBAAiB,oBAAoB,yBAAyB;IAClI,cAAc,CAAC,kBAAkB,oBAAoB;IACrD,SAAS,CAAC,gBAAgB;GAC7B;;",
|
4
|
+
"sourcesContent": ["import {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n Output,\n EventEmitter,\n HostListener,\n OnInit,\n booleanAttribute,\n ElementRef,\n} from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\nimport { consumeEvent } from '@eui/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiMenuItem } from '@eui/base';\n\n@Component({\n selector: 'eui-menu-item',\n templateUrl: './eui-menu-item.component.html',\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n },\n ],\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiMenuItemComponent implements OnInit, FocusableOption {\n\n @HostBinding('attr.role') role = 'menuitem';\n @HostBinding('attr.aria-label') ariaLabel = '';\n\n @HostBinding('class')\n public get cssClasses(): string {\n return this.getCssClasses();\n }\n @HostBinding('attr.tabindex') tabindex = '-1';\n @HostBinding('attr.aria-haspopup')\n get ariaHasPopup(): boolean {\n return this.item?.children?.length > 0? true : undefined;\n }\n @HostBinding('attr.aria-expanded')\n get ariaExpanded(): boolean {\n if(this.item.children) {\n return this.item.expanded ? true : false;\n } else {\n return undefined;\n }\n }\n @HostBinding('attr.aria-disabled') \n get ariaDisabled(): boolean {\n return this.item.disabled\n }\n\n @Input() item: EuiMenuItem;\n @Input() parent: EuiMenuItem;\n @Output() expandToggle = new EventEmitter<EuiMenuItem>();\n @Output() itemClick = new EventEmitter<EuiMenuItem>();\n\n expandMenuLabel = 'Expand';\n collapseMenuLabel = 'Collapse';\n\n isUrlItem = false;\n isLinkItem = false;\n isLabelItem = false;\n isCategoryItem = false;\n isActionIconFocused = false;\n\n @Input({ transform: booleanAttribute }) hasIcon = false;\n @Input({ transform: booleanAttribute }) hasTooltip = false;\n @Input({ transform: booleanAttribute }) isCollapsed = false;\n @Input({ transform: booleanAttribute }) hasCollapsedInitials = false;\n @Input({ transform: booleanAttribute }) isLabelLowercase = false;\n\n constructor(public baseStatesDirective: BaseStatesDirective, private elementRef: ElementRef) {}\n\n ngOnInit(): void {\n this.isUrlItem = (this.item.url || this.item.urlExternal || this.item.children || this.item.command) && !this.item.link;\n this.isLabelItem = !this.item.url && !this.item.urlExternal && !this.item.command && !this.item.children && !this.item.link;\n\n this.isLinkItem = !this.isUrlItem && !this.isLabelItem;\n this.ariaLabel = this.getAriaLabel();\n\n this.isCategoryItem = this.item.label && !this.item.url && !this.item.urlExternal && !this.item.hasMarker && !this.item.children && !this.item.command && !this.item.actionIcon;\n }\n\n @HostListener('click', ['$event'])\n public stopPropagation(event: Event): void {\n this.itemClick.emit(this.item);\n consumeEvent(event);\n }\n\n get menuItemTooltip(): string {\n if (this.hasTooltip && this.isCollapsed) {\n if (this.item.tooltip) {\n return this.item.tooltip;\n } else {\n return this.getTooltipFromItem(this.item);\n }\n } else {\n return null;\n }\n }\n\n public onClick(event: Event): void {\n this.itemClick.emit(this.item);\n this.focus();\n consumeEvent(event);\n }\n\n public onExpandToggle(event: Event): void {\n this.expandToggle.emit(this.item);\n consumeEvent(event);\n }\n\n public onActionIconClick(event: MouseEvent): void {\n this.item.actionIcon?.action(event);\n consumeEvent(event);\n }\n\n onActionIconKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Enter') {\n this.item.actionIcon?.action(event);\n consumeEvent(event);\n }\n }\n\n public focusActionIcon(): void {\n this.elementRef.nativeElement.querySelector('.eui-menu-item__link-action-icon').focus();\n this.isActionIconFocused = true;\n }\n\n onActionIconFocusOut(): void {\n this.isActionIconFocused = false;\n }\n\n public focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n private getTooltipFromItem(item: EuiMenuItem): string {\n if (item.tagLabel && item.label) {\n return item.label + ' (' + item.tagLabel + ')';\n } else if (item.label) {\n return item.label;\n } else if (item.tagLabel) {\n return item.tagLabel;\n }\n return null;\n }\n\n private getAriaLabel(): string {\n if (this.item.label) {\n return this.item.label;\n } else if (this.item.tagLabel) {\n return this.item.tagLabel;\n } else if (this.item.actionIcon && this.item.actionIcon.label) {\n return this.item.actionIcon.label;\n } else if (this.item.iconLabel) {\n return this.item.iconLabel;\n }\n return 'Eui menu item';\n }\n\n /**\n * Returns the default eui-menu-item class on the HostBinding function\n * @private\n */\n private getCssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-menu-item'),\n this.isLabelLowercase ? 'eui-menu-item--lowercase': '',\n ].join(' ').trim();\n }\n}\n", "<li\n *ngIf=\"isLabelItem && item.visible && item.filtered\"\n role=\"none\"\n id=\"{{item.id}}\"\n class=\"eui-menu-item eui-menu-item__category\"\n [attr.data-e2e]=\"item.e2eAttr\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [attr.aria-disabled]=\"item.disabled\"\n [euiTooltip]=\"menuItemTooltip\"\n tabindex=\"-1\"\n position=\"after\">\n <ng-template *ngTemplateOutlet=\"itemIconContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n\n <span class=\"eui-menu-item__category-label\">\n <span class=\"eui-menu-item__label\">{{ item.label }}</span>\n </span>\n</li>\n\n<li\n *ngIf=\"isUrlItem && item.visible && item.filtered\"\n role=\"none\"\n id=\"{{item.id}}\"\n [attr.data-e2e]=\"item.e2eAttr\"\n class=\"eui-menu-item\"\n [class.eui-menu-item--expanded]=\"item.expanded\">\n <a\n (click)=\"onClick($event)\"\n tabindex=\"-1\"\n [routerLink]=\"item.url ? item.url : null\"\n class=\"eui-menu-item__link\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [routerLinkActive]=\"item.url ? 'eui-menu-item__link--active' : ''\"\n [class.eui-menu-item__link--active]=\"item.active\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\">\n <ng-template *ngTemplateOutlet=\"linkContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </a>\n\n <ng-template *ngTemplateOutlet=\"content\"></ng-template>\n</li>\n\n<li\n *ngIf=\"isLinkItem && item.visible && item.filtered\"\n role=\"none\"\n id=\"{{item.id}}\"\n [attr.data-e2e]=\"item.e2eAttr\"\n class=\"eui-menu-item\"\n [class.eui-menu-item--expanded]=\"item.expanded\">\n <a\n (click)=\"onClick($event)\"\n tabindex=\"-1\"\n class=\"eui-menu-item__link\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [class.eui-menu-item__link--active]=\"item.active\"\n href=\"javascript:void(0)\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\">\n <ng-template *ngTemplateOutlet=\"linkContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </a>\n\n <ng-template *ngTemplateOutlet=\"content\"></ng-template>\n</li>\n\n<ng-template #linkContent>\n <ng-template *ngTemplateOutlet=\"itemIconContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n\n <eui-icon-svg\n *ngIf=\"item.hasMarker && !hasCollapsedInitials\"\n class=\"eui-menu-item__link-marker eui-menu-item__link-marker--default\"\n fillColor=\"{{ item?.markerTypeClass }}-100\"\n icon=\"eui-ellipse\"\n size=\"xs\"\n [aria-label]=\"item.markerTypeClass + ' ' + 'marker'\">\n </eui-icon-svg>\n\n <span class=\"eui-menu-item__link-label\" [class.eui-menu-item--disabled]=\"item.disabled\" [attr.aria-disabled]=\"item.disabled\">\n <span class=\"eui-menu-item__label\">{{ item.label }}</span>\n\n <eui-icon-svg\n *ngIf=\"item.urlExternal && item.urlExternalTarget === '_blank'\"\n class=\"eui-menu-item__label-external\"\n icon=\"eui-ecl-external\"\n size=\"2xs\"\n aria-label=\"external link icon\">\n </eui-icon-svg>\n </span>\n\n <div class=\"eui-menu-item__link-right-content\">\n <eui-chip *ngIf=\"item.tagLabel\" euiSizeXS euiOutline class=\"eui-menu-item__link-tag-label eui-chip--{{ item.tagTypeClass }}\" [ariaLabel]=\"item.tagLabel\">\n <span euiLabel class=\"eui-label\">{{ item.tagLabel }}</span>\n </eui-chip>\n\n <button\n *ngIf=\"item.actionIcon\"\n euiButton\n euiRounded\n euiIconButton\n euiSizeS\n euiBasicButton\n type=\"button\"\n tabindex=\"-1\"\n (keydown)=\"onActionIconKeyDown($event)\"\n (focusout)=\"onActionIconFocusOut()\"\n (focus)=\"focusActionIcon()\"\n class=\"eui-menu-item__link-action-icon\"\n [euiDisabled]=\"item.disabled\"\n [attr.aria-label]=\"item.actionIcon?.label\"\n (click)=\"onActionIconClick($event)\">\n <eui-icon-svg [icon]=\"item.actionIcon?.icon\" [fillColor]=\"item.actionIcon?.color\"></eui-icon-svg>\n </button>\n\n <button\n *ngIf=\"item.children?.length > 0\"\n euiButton\n euiRounded\n euiIconButton\n euiSizeS\n euiBasicButton\n euiSecondary\n type=\"button\"\n [euiDisabled]=\"item.disabled\"\n class=\"eui-menu-item__link-toggle\"\n tabindex=\"-1\"\n [attr.aria-label]=\"item.expanded ? collapseMenuLabel : expandMenuLabel\"\n (click)=\"onExpandToggle($event)\">\n <eui-icon-svg *ngIf=\"item.expanded\" icon=\"eui-chevron-up\"></eui-icon-svg>\n <eui-icon-svg *ngIf=\"!item.expanded\" icon=\"eui-chevron-down\"></eui-icon-svg>\n </button>\n </div>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #itemIconContent>\n @if (!isCollapsed) {\n <eui-icon-svg\n *ngIf=\"hasIcon && item.iconSvgName && !item.iconClass\"\n class=\"eui-menu-item__link-icon\"\n icon=\"{{ item.iconSvgName }}\"\n fillColor=\"{{ item.iconTypeClass }}\"\n size=\"s\">\n </eui-icon-svg>\n <span *ngIf=\"hasIcon && item.iconClass && !item.iconSvgName\" [attr.aria-label]=\"item.iconLabel\"\n class=\"eui-menu-item__link-icon eui-icon {{item.iconClass}}\">\n </span>\n } @else {\n @if (hasCollapsedInitials) {\n <span class=\"eui-menu-item__link-initials eui-u-bg-color-{{item.iconTypeClass}}\">\n {{ item.initials }}\n </span>\n } @else {\n @if (hasIcon) { \n <eui-icon-svg\n *ngIf=\"item.iconSvgName\"\n icon=\"{{ item.iconSvgName }}\"\n fillColor=\"{{ item.iconTypeClass }}\"\n size=\"s\">\n </eui-icon-svg>\n\n <eui-icon-svg\n *ngIf=\"!item.iconSvgName\"\n class=\"eui-menu-item__category-icon--default\"\n icon=\"eui-ellipse\"\n fillColor=\"grey-75\"\n size=\"xs\">\n </eui-icon-svg>\n } @else {\n <eui-icon-svg\n class=\"eui-menu-item__link-icon--default\"\n icon=\"eui-ellipse\"\n size=\"xs\"\n [aria-label]=\"item.iconLabel\">\n </eui-icon-svg>\n }\n }\n }\n</ng-template>\n", "import {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n OnInit,\n Output,\n EventEmitter,\n OnChanges,\n SimpleChanges,\n HostListener,\n booleanAttribute,\n OnDestroy,\n AfterViewInit,\n ViewChildren,\n QueryList,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { Router, ActivatedRoute, NavigationEnd, Event as RouterEvent } from '@angular/router';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { Subscription } from 'rxjs';\nimport * as uuid from 'uuid';\n\nimport { consumeEvent } from '@eui/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiMenuItemComponent } from './eui-menu-item.component';\nimport { EuiMenuItem } from '@eui/base';\n@Component({\n selector: 'eui-menu',\n templateUrl: './eui-menu.component.html',\n styleUrls: ['./styles/_index.scss'],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n },\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiMenuComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n @ViewChildren(EuiMenuItemComponent) focusableItems: QueryList<EuiMenuItemComponent>;\n \n @HostBinding('class')\n public get cssClasses(): string {\n return [this.baseStatesDirective.getCssClasses('eui-menu-wrapper'),\n this.isCollapsed ? 'eui-menu--collapsed' : '',\n !this.hasIcons ? 'eui-menu--no-icons' : '',\n this.isFlat ? 'eui-menu--flat': '',\n ].join(' ').trim();\n }\n\n @Input() items: EuiMenuItem[];\n @Input() searchFilterLabel: string;\n @Input() externalLinkLabel: string;\n @Input() fragmentId: string;\n @Input() filterValue = '';\n\n @Input({ transform: booleanAttribute }) isCollapsed = false;\n @Input({ transform: booleanAttribute }) hasCollapsedInitials = false;\n @Input({ transform: booleanAttribute }) hasFilter = false;\n @Input({ transform: booleanAttribute }) hasIcons = false;\n @Input({ transform: booleanAttribute }) hasTooltip = false;\n @Input({ transform: booleanAttribute }) expandAllItems = false;\n @Input({ transform: booleanAttribute }) isFlat = false;\n @Input({ transform: booleanAttribute }) hasScrollToItem = false;\n @Input({ transform: booleanAttribute }) hasLowercaseItems = false;\n\n @Output() isClick: EventEmitter<boolean> = new EventEmitter();\n @Output() itemClick: EventEmitter<EuiMenuItem> = new EventEmitter<EuiMenuItem>();\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n itemsState: any[];\n private subscription: Subscription;\n private focusKeyManager: FocusKeyManager<EuiMenuItemComponent>;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n public baseStatesDirective: BaseStatesDirective,\n private cd: ChangeDetectorRef,\n ) {}\n\n @HostListener('click', ['$event'])\n stopPropagation(event: Event): void {\n event.stopPropagation();\n }\n\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent): void {\n // finds first child when ArrowDown\n const firstChild = this.focusKeyManager.activeItem?.item.children? this.findFirstFilteredItem(this.focusKeyManager.activeItem?.item.children) : undefined;\n const firstFocusableItem = this.findFocusableItem(firstChild);\n // finds the parent element\n const parent = this.focusKeyManager.activeItem?.item.parent;\n const parentFocusableItem = this.findFocusableItem(parent);\n switch (event.key) {\n case 'Enter': {\n if (\n (this.focusKeyManager.activeItem.isLinkItem || this.focusKeyManager.activeItem.isUrlItem) &&\n !this.focusKeyManager.activeItem.disabled\n ) {\n this.focusKeyManager.activeItem.onClick(event);\n event.preventDefault();\n }\n break;\n }\n case 'ArrowRight': {\n if(this.focusKeyManager.activeItem?.item.actionIcon){\n this.checkActionIconFocusState();\n break;\n } else {\n if (!this.focusKeyManager.activeItem?.item.expanded) {\n this.focusKeyManager.activeItem?.onExpandToggle(event);\n this.cd.detectChanges();\n }\n break;\n }\n }\n case 'ArrowLeft': {\n if(this.focusKeyManager.activeItem?.item.actionIcon){\n this.checkActionIconFocusState();\n break;\n } else {\n if (this.focusKeyManager.activeItem?.item.expanded) {\n this.focusKeyManager.activeItem.onExpandToggle(event);\n this.cd.detectChanges();\n event.preventDefault();\n }\n break;\n }\n }\n case 'ArrowDown': {\n event.preventDefault();\n if (this.focusKeyManager.activeItem?.item.children && this.focusKeyManager.activeItem?.item.expanded) {\n //focuses first child\n firstFocusableItem?.focus();\n this.focusKeyManager.updateActiveItem(firstFocusableItem);\n } else if (parent) {\n // finds last filtered child when ArrowDown and navigating within submenu\n const filteredChildren = this.findFilteredItems(parent.children);\n const lastChildIndex = (filteredChildren?.length) - 1;\n const lastChild = filteredChildren[lastChildIndex];\n const lastFocusableItem = this.findFocusableItem(lastChild);\n // if the active item is the last child, puts the focus on the next parent\n if(this.focusKeyManager.activeItem === lastFocusableItem){\n this.focusKeyManager.updateActiveItem(parentFocusableItem);\n this.focusKeyManager.setNextItemActive();\n } else {\n this.focusKeyManager.setActiveItem(this.focusKeyManager.activeItemIndex +1);\n }\n } else {\n // skips remaining childen in the query list when there is expanded node\n this.focusKeyManager.skipPredicate(menuItem => menuItem.parent != undefined || menuItem.item.visible === false);\n this.focusKeyManager.onKeydown(event);\n }\n break;\n }\n case 'ArrowUp': {\n event.preventDefault();\n if (parent) {\n // finds first filtered child when ArrowUp\n const filteredChildren = this.findFilteredItems(parent.children);\n const firstChildUp = filteredChildren['0']\n const firstFocusableItemUp = this.findFocusableItem(firstChildUp);\n // when navigating up on a submenu focuses the parent if the active item is the first child\n if(this.focusKeyManager.activeItem === firstFocusableItemUp){\n this.focusKeyManager.setActiveItem(parentFocusableItem);\n } else {\n this.focusKeyManager.setActiveItem(this.focusKeyManager.activeItemIndex -1);\n }\n } else {\n this.focusKeyManager.onKeydown(event);\n // when navigating up from a parent element to an expanded submenu, finds the last child and focuses it\n if(this.focusKeyManager.activeItem?.item.children && this.focusKeyManager.activeItem?.item.expanded){\n const filteredChildren = this.findFilteredItems(this.focusKeyManager.activeItem?.item.children);\n const lastChildIndexUp = (filteredChildren.length) - 1;\n const lastFocusableItemUp =this.findFocusableItem(filteredChildren[lastChildIndexUp]);\n this.focusKeyManager.setActiveItem(lastFocusableItemUp);\n }\n }\n break;\n }\n default: {\n this.focusKeyManager.onKeydown(event);\n break;\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.items) {\n this.items = this.configureItems(this.items);\n // get current url\n const currentUrl = this.router.url;\n // find an item that matches the current url or the most relevant one\n const item = this.findMostRelevantItem(currentUrl, this.items);\n // expand to that item\n if (item) {\n this.expandToGivenItem(item);\n }\n }\n\n // Expand / Collapse All items\n if (changes.expandAllItems) {\n this.items = this.setExpandedToAllItems(coerceBooleanProperty(changes.expandAllItems.currentValue), this.items);\n }\n\n if (changes.filterValue && this.hasFilter) {\n this.onFilter(changes.filterValue.currentValue ?? '');\n }\n\n // Refresh when interactive collapsed to initials\n if (changes.hasCollapsedInitials) {\n this.hasCollapsedInitials = changes.hasCollapsedInitials.currentValue;\n this.items = this.configureItems(this.items);\n }\n }\n\n ngOnInit(): void {\n // Labels default values - TODO : translations\n if (!this.searchFilterLabel) {\n this.searchFilterLabel = 'Search filter';\n }\n\n const elementIsVisibleInViewport = (el, partiallyVisible = false): boolean => {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return partiallyVisible\n ? ((top > 0 && top < innerHeight) ||\n (bottom > 0 && bottom < innerHeight)) &&\n ((left > 0 && left < innerWidth) || (right > 0 && right < innerWidth))\n : top >= 0 && left >= 0 && bottom <= innerHeight && right <= innerWidth;\n };\n\n // subscription to routes url changes for activating the scrollIntoView (optional)\n if (this.hasScrollToItem) {\n this.subscription = this.router.events.subscribe((event: RouterEvent) => {\n if (event instanceof NavigationEnd) {\n const item = this.findMostRelevantItem(event.url, this.items);\n if (item) {\n setTimeout(_ => {\n const element = document.getElementById(item.id);\n if (!elementIsVisibleInViewport(element)) {\n element.scrollIntoView({ behavior: 'smooth' });\n }\n }, 1);\n }\n }\n });\n }\n }\n\n ngAfterViewInit(): void {\n // instantiates FocusKeyManager with the query list of items enabling wrapping\n this.focusKeyManager = new FocusKeyManager(this.focusableItems).withWrap();\n }\n\n ngOnDestroy():void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n public onClick(item: EuiMenuItem): void {\n if (!item.disabled) {\n if (item.urlExternal) {\n window.open(item.urlExternal, item.urlExternalTarget);\n } else if (item.url) {\n this.router.navigate([item.url], { relativeTo: this.route, fragment: this.fragmentId });\n } else {\n if (typeof item.command === 'function') {\n item.command();\n } else {\n this.onExpandToggle(item);\n }\n }\n\n if (item.link) {\n this.items = this.items?.map((it) => {\n it.active = false;\n if (it.id === item.id) {\n it.active = true;\n }\n return it;\n });\n }\n }\n\n this.isClick.emit(true);\n this.itemClick.emit(item);\n\n const focusedItem = this.findFocusableItem(item);\n this.focusKeyManager.updateActiveItem(focusedItem);\n }\n\n public onExpandToggle(item: EuiMenuItem): void {\n this.onExpandToggled(item, this.items);\n // TODO: investigate why the above is needed. Can it be simply \"item.expanded = !item.expanded;\" ?\n }\n\n public onMenuFilterClick(event: MouseEvent): void {\n consumeEvent(event);\n }\n\n public onFilter(event: Event)\n public onFilter(value: string)\n public onFilter(eventOrValue: Event | string): void {\n const value = eventOrValue instanceof Event\n ? (eventOrValue.target as HTMLInputElement).value\n : eventOrValue;\n this._onToggleExpandAllItems(value ? true : false);\n\n this.items = this.filterMenuItems(this.items, value);\n }\n\n private _onToggleExpandAllItems(state: boolean): void {\n this.items = this.setExpandedToAllItems(state, this.items);\n }\n\n /**\n * finds the EuiMenuItemComponent in the queried focusableItems[] that matches the passed EuiMenuItem object\n *\n * @param menuItem an EuiMenuItem\n * @private\n */\n private findFocusableItem(menuItem: EuiMenuItem ): EuiMenuItemComponent {\n return this.focusableItems.find(\n (focusableItem) => focusableItem.item.label === menuItem?.label && focusableItem.item.id === menuItem.id,\n );\n }\n\n /**\n * finds the first item that is filtered\n *\n * @param menuItems an array of EuiMenuItem\n * @private\n */\n private findFirstFilteredItem(menuItems: EuiMenuItem []): EuiMenuItem {\n return menuItems.find((item) => item.filtered);\n }\n\n /**\n * finds all filtered menu items\n *\n * @param menuItems an array of EuiMenuItem\n * @private\n */\n private findFilteredItems(menuItems: EuiMenuItem []): EuiMenuItem [] {\n return menuItems.filter((items) => items.filtered);\n }\n\n /**\n * checks the focus state of the action icon\n *\n * @private\n */\n private checkActionIconFocusState(): void {\n // check if the action icon is focused and if not focus it, otherwise focus the active item\n !this.focusKeyManager.activeItem.isActionIconFocused ? this.focusKeyManager.activeItem.focusActionIcon() : this.focusKeyManager.activeItem.focus();\n }\n\n /**\n * filter all menu items given a value\n *\n * @param menuItems an array of menu items\n * @param filterValue the value to filter menu items\n * @private\n */\n private filterMenuItems(menuItems: EuiMenuItem[], filterValue: string): EuiMenuItem[] {\n return menuItems?.map((item: EuiMenuItem) => {\n const found = item.label.toLowerCase().indexOf(filterValue.toLowerCase()) !== -1;\n if (item.children) {\n item.children = this.filterMenuItems(item.children, filterValue);\n item.filtered = item.children.filter((l) => l['filtered'] === true).length > 0;\n } else if (found) {\n item.filtered = found;\n } else {\n item.filtered = false;\n }\n return item;\n });\n }\n\n /**\n * expand / collapse all items\n *\n * @param isExpanded\n * @param items\n * @private\n */\n private setExpandedToAllItems(isExpanded, items: EuiMenuItem[]): EuiMenuItem[] {\n return items?.map((item) => {\n if (item.children) {\n item.expanded = isExpanded;\n item.children = this.setExpandedToAllItems(isExpanded, item.children);\n }\n return Object.assign(item, { visible: item.visible === undefined ? true : item.visible });\n });\n }\n\n /**\n * expand / collapse a menu item\n *\n * @param item The item where the \"expand\" had been toggled\n * @param items The items list (used for recursion)\n * @private\n */\n private onExpandToggled(item: EuiMenuItem, items: EuiMenuItem[]): void {\n const itemIdx = items?.indexOf(item);\n if (itemIdx > -1) {\n items[itemIdx].expanded = !items[itemIdx].expanded;\n } else {\n items.forEach((i) => {\n if (i.children) {\n this.onExpandToggled(item, i.children);\n }\n });\n }\n }\n\n /**\n * configure an array of items with visible, filtered and expand (in case of expandAllItems flag enabled) properties\n *\n * @param items An array of EuiMenuItem\n * @param parent the parent item of items if exists\n * @private\n */\n private configureItems(items: EuiMenuItem[], parent?: EuiMenuItem): EuiMenuItem[] {\n return items?.map((item) => {\n // recursion in case there are children\n if (item.children) {\n item.children = this.configureItems(item.children, item);\n // expand all parents with children\n if (this.expandAllItems) {\n item.expanded = true;\n }\n }\n // point to the parent\n if (parent) {\n item.parent = parent;\n }\n\n if (!item.id && this.hasScrollToItem) {\n item.id = uuid.v4();\n }\n\n if (item.label && this.hasCollapsedInitials) {\n const words = item.label.split(' ');\n if (words.length === 1) {\n item.initials = `${item.label.substring(0, 1)}${item.label.substring(1, 1)}`;\n\n } else {\n item.initials = `${words[0].substring(0, 1)}${words[1].substring(0, 1)}`;\n }\n }\n\n return Object.assign(item, { visible: item.visible === undefined ? true : item.visible, filtered: true });\n });\n }\n\n /**\n * Given a URL and a list of items, it will expand the item that matches the URL. If not item matches exactly the url, then it will\n * match the item that is most relevant to that url.\n *\n * @param items\n * @param value\n * @private\n */\n private findMostRelevantItem(url: string, items: EuiMenuItem[], relevantItem?: EuiMenuItem): EuiMenuItem {\n if (!items) {\n return null;\n }\n\n items.forEach((item) => {\n if (item.url && url.indexOf(item.url.substr(1)) > -1) {\n relevantItem = this.getMostRelevantItem(url, relevantItem, item);\n }\n\n if (item.children) {\n relevantItem = this.findMostRelevantItem(url, item.children, relevantItem);\n }\n });\n\n return relevantItem;\n }\n\n /**\n * Given two items with url return the one with the most relevant url that matches given url\n *\n * @param url A URL to be matched with the one of given items\n * @param item1\n * @param item2\n * @private\n */\n private getMostRelevantItem(url: string, item1: EuiMenuItem, item2: EuiMenuItem): EuiMenuItem {\n const remainder1 = url.replace(item1?.url || '', '');\n const remainder2 = url.replace(item2?.url || '', '');\n\n return remainder1.length < remainder2.length ? item1 : item2;\n }\n\n /**\n * Given an item, if there's a parent expand it until you reach the root item\n *\n * @param item Given menu item\n * @private\n */\n private expandToGivenItem(item: EuiMenuItem): void {\n if (item.parent) {\n setTimeout(() => (item.parent.expanded = true));\n this.expandToGivenItem(item.parent);\n }\n }\n}\n", "<div *ngIf=\"hasFilter && !isCollapsed\" class=\"eui-menu-filter\" (click)=\"onMenuFilterClick($event)\">\n <div class=\"eui-menu-filter__input-wrapper\">\n <input\n euiInputText\n [euiClearable]=\"true\"\n (input)=\"onFilter($event)\"\n class=\"eui-menu-filter__input\"\n [placeholder]=\"searchFilterLabel\"\n [attr.aria-label]=\"searchFilterLabel\"\n [value]=\"filterValue\" />\n <eui-icon-svg icon=\"eui-search\" class=\"eui-menu-filter__input-search\" fillColor=\"grey-50\" aria-label=\"Search Icon\"></eui-icon-svg>\n </div>\n</div>\n<ul euiList class=\"eui-menu\" role=\"menubar\" aria-orientation=\"vertical\" tabindex=\"0\">\n <span *ngIf=\"!items\" class=\"eui-menu--no-items\">No menu items defined</span>\n <ng-template ngFor let-item let-index [ngForOf]=\"items\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: item, index: index }\"> </ng-template>\n </ng-template>\n</ul>\n\n<!-- describe the recursive template of the menu item -->\n<ng-template #menuItemTemplateRef let-item=\"menuItem\" let-parent=\"parent\" let-i=\"index\">\n <!-- render the menu item-->\n <eui-menu-item\n *ngIf=\"item.filtered\"\n [item]=\"item\"\n [parent]=\"parent\"\n [hasIcon]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [isLabelLowercase]=\"hasLowercaseItems\"\n (expandToggle)=\"onExpandToggle($event)\"\n (itemClick)=\"onClick($event)\">\n <!-- if the menu item has children, render the children -->\n <ul euiList *ngIf=\"item.children && item.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" [attr.aria-label]=\"item.label\" tabindex=\"-1\">\n <ng-container *ngFor=\"let child of item.children; let childIndex = index\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: child, index: childIndex, parent: item }\">\n </ng-template>\n </ng-container>\n </ul>\n </eui-menu-item>\n</ng-template>\n", "import { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { NgModule } from '@angular/core';\n\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiChipModule } from '@eui/components/eui-chip';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\n\nimport { EuiMenuComponent } from './eui-menu.component';\nimport { EuiMenuItemComponent } from './eui-menu-item.component';\nimport { EuiTooltipDirectiveModule } from '@eui/components/directives';\n\n@NgModule({\n imports: [CommonModule, RouterModule, EuiIconModule, EuiChipModule, EuiButtonModule, EuiInputTextModule, EuiTooltipDirectiveModule],\n declarations: [EuiMenuComponent, EuiMenuItemComponent],\n exports: [EuiMenuComponent],\n})\nexport class EuiMenuModule {}\n"],
|
5
|
+
"mappings": "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",
|
6
6
|
"names": ["Component", "HostBinding", "ViewEncapsulation", "Input", "Output", "EventEmitter", "HostListener", "booleanAttribute", "consumeEvent", "BaseStatesDirective", "i0"]
|
7
7
|
}
|
@@ -40,113 +40,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.4",
|
|
40
40
|
}], ctorParameters: () => [{ type: i1.EuiDialogService }] });
|
41
41
|
|
42
42
|
// eui-message-box.component.mjs
|
43
|
-
import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, Output, EventEmitter, Directive, ContentChild, forwardRef } from "@angular/core";
|
43
|
+
import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, Output, EventEmitter, Directive, ContentChild, forwardRef, booleanAttribute } from "@angular/core";
|
44
44
|
import { TemplatePortal } from "@angular/cdk/portal";
|
45
45
|
import { Subject } from "rxjs";
|
46
46
|
import { coerceBooleanProperty } from "@angular/cdk/coercion";
|
47
|
-
import {
|
47
|
+
import { BaseStatesDirective } from "@eui/components/shared";
|
48
48
|
import * as i02 from "@angular/core";
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
}
|
53
|
-
set hasAcceptButton(value) {
|
54
|
-
this._hasAcceptButton = coerceBooleanProperty(value);
|
55
|
-
}
|
56
|
-
get hasDismissButton() {
|
57
|
-
return this._hasDismissButton;
|
58
|
-
}
|
59
|
-
set hasDismissButton(value) {
|
60
|
-
this._hasDismissButton = coerceBooleanProperty(value);
|
61
|
-
}
|
62
|
-
get isHandleCloseOnDismiss() {
|
63
|
-
return this._isHandleCloseOnDismiss;
|
64
|
-
}
|
65
|
-
set isHandleCloseOnDismiss(value) {
|
66
|
-
this._isHandleCloseOnDismiss = coerceBooleanProperty(value);
|
67
|
-
}
|
68
|
-
get isHandleCloseOnClose() {
|
69
|
-
return this._isHandleCloseOnClose;
|
70
|
-
}
|
71
|
-
set isHandleCloseOnClose(value) {
|
72
|
-
this._isHandleCloseOnClose = coerceBooleanProperty(value);
|
73
|
-
}
|
74
|
-
get isHandleCloseOnAccept() {
|
75
|
-
return this._isHandleCloseOnAccept;
|
76
|
-
}
|
77
|
-
set isHandleCloseOnAccept(value) {
|
78
|
-
this._isHandleCloseOnAccept = coerceBooleanProperty(value);
|
79
|
-
}
|
80
|
-
get isDraggable() {
|
81
|
-
return this._isDraggable;
|
82
|
-
}
|
83
|
-
set isDraggable(value) {
|
84
|
-
this._isDraggable = coerceBooleanProperty(value);
|
85
|
-
}
|
86
|
-
get hasNoBodyPadding() {
|
87
|
-
return this._hasNoBodyPadding;
|
88
|
-
}
|
89
|
-
set hasNoBodyPadding(value) {
|
90
|
-
this._hasNoBodyPadding = coerceBooleanProperty(value);
|
91
|
-
}
|
92
|
-
/**
|
93
|
-
* @deprecated eui-message-box is always closed on escape, for accessibility reasons. This input has no effect.
|
94
|
-
* To be removed in eUI-18
|
95
|
-
*/
|
96
|
-
get isClosedOnEscape() {
|
97
|
-
return this._isClosedOnEscape;
|
98
|
-
}
|
99
|
-
set isClosedOnEscape(value) {
|
100
|
-
this._isClosedOnEscape = coerceBooleanProperty(value);
|
101
|
-
}
|
102
|
-
constructor(viewContainerRef, euiMessageBoxService) {
|
103
|
-
super();
|
49
|
+
import * as i2 from "@eui/components/shared";
|
50
|
+
var EuiMessageBoxComponent = class _EuiMessageBoxComponent {
|
51
|
+
constructor(viewContainerRef, euiMessageBoxService, baseStatesDirective) {
|
104
52
|
this.viewContainerRef = viewContainerRef;
|
105
53
|
this.euiMessageBoxService = euiMessageBoxService;
|
54
|
+
this.baseStatesDirective = baseStatesDirective;
|
106
55
|
this.e2eAttr = "eui-dialog";
|
107
56
|
this.width = "33rem";
|
108
57
|
this.height = "auto";
|
58
|
+
this.hasAcceptButton = true;
|
59
|
+
this.hasDismissButton = true;
|
109
60
|
this.acceptLabel = "eui.OK";
|
110
61
|
this.dismissLabel = "eui.CANCEL";
|
111
62
|
this.typeClass = "primary";
|
112
|
-
this.
|
63
|
+
this.isHandleCloseOnDismiss = false;
|
64
|
+
this.isHandleCloseOnClose = false;
|
65
|
+
this.isHandleCloseOnAccept = false;
|
66
|
+
this.isDraggable = false;
|
67
|
+
this.hasNoBodyPadding = false;
|
68
|
+
this.isClosedOnEscape = true;
|
113
69
|
this.messageBoxOpen = new EventEmitter();
|
114
70
|
this.messageBoxClose = new EventEmitter();
|
115
71
|
this.dismiss = new EventEmitter();
|
116
72
|
this.accept = new EventEmitter();
|
117
|
-
this._hasAcceptButton = true;
|
118
|
-
this._hasDismissButton = true;
|
119
|
-
this._isHandleCloseOnDismiss = false;
|
120
|
-
this._isHandleCloseOnClose = false;
|
121
|
-
this._isHandleCloseOnAccept = false;
|
122
|
-
this._isDraggable = false;
|
123
|
-
this._hasNoBodyPadding = false;
|
124
|
-
this._isClosedOnEscape = true;
|
125
73
|
this.destroy$ = new Subject();
|
126
74
|
}
|
127
|
-
ngOnInit() {
|
128
|
-
if (this.euiPrimary) {
|
129
|
-
this.typeClass = "primary";
|
130
|
-
}
|
131
|
-
if (this.euiSecondary) {
|
132
|
-
this.typeClass = "secondary";
|
133
|
-
}
|
134
|
-
if (this.euiInfo) {
|
135
|
-
this.typeClass = "info";
|
136
|
-
}
|
137
|
-
if (this.euiSuccess) {
|
138
|
-
this.typeClass = "success";
|
139
|
-
}
|
140
|
-
if (this.euiWarning) {
|
141
|
-
this.typeClass = "warning";
|
142
|
-
}
|
143
|
-
if (this.euiDanger) {
|
144
|
-
this.typeClass = "danger";
|
145
|
-
}
|
146
|
-
if (this.euiAccent) {
|
147
|
-
this.typeClass = "accent";
|
148
|
-
}
|
149
|
-
}
|
150
75
|
ngAfterViewInit() {
|
151
76
|
this.templatePortalContent = new TemplatePortal(this.templateRefContent, this.viewContainerRef);
|
152
77
|
if (this.euiMessageBoxFooterDirective) {
|
@@ -166,7 +91,7 @@ var EuiMessageBoxComponent = class _EuiMessageBoxComponent extends BaseDirective
|
|
166
91
|
title: this.title,
|
167
92
|
width: this.width,
|
168
93
|
height: this.height,
|
169
|
-
typeClass: this.
|
94
|
+
typeClass: this.baseStatesDirective.euiVariant.length > 0 ? this.baseStatesDirective.euiVariant : "primary",
|
170
95
|
acceptLabel: this.acceptLabel,
|
171
96
|
dismissLabel: this.dismissLabel,
|
172
97
|
hasCloseButton: false,
|
@@ -185,7 +110,6 @@ var EuiMessageBoxComponent = class _EuiMessageBoxComponent extends BaseDirective
|
|
185
110
|
footer: this.templatePortalFooter,
|
186
111
|
isMessageBox: true,
|
187
112
|
open: () => {
|
188
|
-
this.messageBoxopen.emit();
|
189
113
|
this.messageBoxOpen.emit();
|
190
114
|
},
|
191
115
|
close: () => {
|
@@ -207,16 +131,30 @@ var EuiMessageBoxComponent = class _EuiMessageBoxComponent extends BaseDirective
|
|
207
131
|
this.euiMessageBoxService.closeMessageBox();
|
208
132
|
}
|
209
133
|
static {
|
210
|
-
this.ɵfac = i02.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.4", ngImport: i02, type: _EuiMessageBoxComponent, deps: [{ token: i02.ViewContainerRef }, { token: EuiMessageBoxService }], target: i02.ɵɵFactoryTarget.Component });
|
134
|
+
this.ɵfac = i02.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.4", ngImport: i02, type: _EuiMessageBoxComponent, deps: [{ token: i02.ViewContainerRef }, { token: EuiMessageBoxService }, { token: i2.BaseStatesDirective }], target: i02.ɵɵFactoryTarget.Component });
|
211
135
|
}
|
212
136
|
static {
|
213
|
-
this.ɵcmp = i02.ɵɵngDeclareComponent({ minVersion: "
|
137
|
+
this.ɵcmp = i02.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-next.4", type: _EuiMessageBoxComponent, selector: "eui-message-box", inputs: { e2eAttr: "e2eAttr", title: "title", width: "width", height: "height", hasAcceptButton: ["hasAcceptButton", "hasAcceptButton", booleanAttribute], hasDismissButton: ["hasDismissButton", "hasDismissButton", booleanAttribute], acceptLabel: "acceptLabel", dismissLabel: "dismissLabel", typeClass: "typeClass", isHandleCloseOnDismiss: ["isHandleCloseOnDismiss", "isHandleCloseOnDismiss", booleanAttribute], isHandleCloseOnClose: ["isHandleCloseOnClose", "isHandleCloseOnClose", booleanAttribute], isHandleCloseOnAccept: ["isHandleCloseOnAccept", "isHandleCloseOnAccept", booleanAttribute], isDraggable: ["isDraggable", "isDraggable", booleanAttribute], hasNoBodyPadding: ["hasNoBodyPadding", "hasNoBodyPadding", booleanAttribute], isClosedOnEscape: ["isClosedOnEscape", "isClosedOnEscape", booleanAttribute] }, outputs: { messageBoxOpen: "messageBoxOpen", messageBoxClose: "messageBoxClose", dismiss: "dismiss", accept: "accept" }, queries: [{ propertyName: "euiMessageBoxFooterDirective", first: true, predicate: i02.forwardRef(() => EuiMessageBoxFooterDirective), descendants: true }], viewQueries: [{ propertyName: "templateRefContent", first: true, predicate: ["templateRefContent"], descendants: true }, { propertyName: "templateRefFooter", first: true, predicate: ["templateRefFooter"], descendants: true }], hostDirectives: [{ directive: i2.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiSecondary", "euiSecondary", "euiInfo", "euiInfo", "euiSuccess", "euiSuccess", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiAccent", "euiAccent", "euiVariant", "euiVariant"] }], ngImport: i02, template: '<ng-template #templateRefContent>\n <ng-content></ng-content>\n</ng-template>\n<ng-template #templateRefFooter>\n <ng-content select="eui-message-box-footer"></ng-content>\n</ng-template>\n', changeDetection: i02.ChangeDetectionStrategy.OnPush, encapsulation: i02.ViewEncapsulation.None });
|
214
138
|
}
|
215
139
|
};
|
216
140
|
i02.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.4", ngImport: i02, type: EuiMessageBoxComponent, decorators: [{
|
217
141
|
type: Component,
|
218
|
-
args: [{ selector: "eui-message-box", changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None,
|
219
|
-
|
142
|
+
args: [{ selector: "eui-message-box", changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, hostDirectives: [
|
143
|
+
{
|
144
|
+
directive: BaseStatesDirective,
|
145
|
+
inputs: [
|
146
|
+
"euiPrimary",
|
147
|
+
"euiSecondary",
|
148
|
+
"euiInfo",
|
149
|
+
"euiSuccess",
|
150
|
+
"euiWarning",
|
151
|
+
"euiDanger",
|
152
|
+
"euiAccent",
|
153
|
+
"euiVariant"
|
154
|
+
]
|
155
|
+
}
|
156
|
+
], template: '<ng-template #templateRefContent>\n <ng-content></ng-content>\n</ng-template>\n<ng-template #templateRefFooter>\n <ng-content select="eui-message-box-footer"></ng-content>\n</ng-template>\n' }]
|
157
|
+
}], ctorParameters: () => [{ type: i02.ViewContainerRef }, { type: EuiMessageBoxService }, { type: i2.BaseStatesDirective }], propDecorators: { e2eAttr: [{
|
220
158
|
type: Input
|
221
159
|
}], title: [{
|
222
160
|
type: Input
|
@@ -225,9 +163,11 @@ i02.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.4",
|
|
225
163
|
}], height: [{
|
226
164
|
type: Input
|
227
165
|
}], hasAcceptButton: [{
|
228
|
-
type: Input
|
166
|
+
type: Input,
|
167
|
+
args: [{ transform: booleanAttribute }]
|
229
168
|
}], hasDismissButton: [{
|
230
|
-
type: Input
|
169
|
+
type: Input,
|
170
|
+
args: [{ transform: booleanAttribute }]
|
231
171
|
}], acceptLabel: [{
|
232
172
|
type: Input
|
233
173
|
}], dismissLabel: [{
|
@@ -235,19 +175,23 @@ i02.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.4",
|
|
235
175
|
}], typeClass: [{
|
236
176
|
type: Input
|
237
177
|
}], isHandleCloseOnDismiss: [{
|
238
|
-
type: Input
|
178
|
+
type: Input,
|
179
|
+
args: [{ transform: booleanAttribute }]
|
239
180
|
}], isHandleCloseOnClose: [{
|
240
|
-
type: Input
|
181
|
+
type: Input,
|
182
|
+
args: [{ transform: booleanAttribute }]
|
241
183
|
}], isHandleCloseOnAccept: [{
|
242
|
-
type: Input
|
184
|
+
type: Input,
|
185
|
+
args: [{ transform: booleanAttribute }]
|
243
186
|
}], isDraggable: [{
|
244
|
-
type: Input
|
187
|
+
type: Input,
|
188
|
+
args: [{ transform: booleanAttribute }]
|
245
189
|
}], hasNoBodyPadding: [{
|
246
|
-
type: Input
|
190
|
+
type: Input,
|
191
|
+
args: [{ transform: booleanAttribute }]
|
247
192
|
}], isClosedOnEscape: [{
|
248
|
-
type: Input
|
249
|
-
|
250
|
-
type: Output
|
193
|
+
type: Input,
|
194
|
+
args: [{ transform: booleanAttribute }]
|
251
195
|
}], messageBoxOpen: [{
|
252
196
|
type: Output
|
253
197
|
}], messageBoxClose: [{
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../eui-message-box/services/eui-message-box.service.ts", "../../eui-message-box/eui-message-box.component.ts", "../../eui-message-box/eui-message-box.component.html", "../../eui-message-box/models/eui-message-box.config.ts", "../../eui-message-box/eui-message-box.module.ts"],
|
4
|
-
"sourcesContent": ["import { Injectable } from '@angular/core';\nimport { EuiDialogInterface, EuiDialogService } from '@eui/components/eui-dialog';\n\n@Injectable()\nexport class EuiMessageBoxService {\n constructor(private euiDialogService: EuiDialogService) {}\n\n /**\n * Open a Message box.\n *\n * @param config Configuration applied to the Message box.\n */\n public openMessageBox<HC, HCC, BC, BCC, FC, FCC>(config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {}): void {\n this.euiDialogService.openDialog({\n ...config,\n header: null,\n headerComponent: null,\n hasClosedOnClickOutside: false,\n hasCloseButton: false,\n hasClosedOnEscape: true,\n hasFooter: true,\n });\n }\n\n /**\n * Close a Message box.\n */\n public closeMessageBox(): void {\n this.euiDialogService.closeDialog();\n }\n}\n", "import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n ViewChild,\n TemplateRef,\n ViewContainerRef,\n AfterViewInit,\n OnDestroy,\n Output,\n EventEmitter,\n Directive,\n ContentChild,\n forwardRef,\n QueryList,\n ElementRef,\n OnInit,\n} from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Subject } from 'rxjs';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { BaseDirective } from '@eui/components/shared';\nimport { EuiDialogInterface } from '@eui/components/eui-dialog';\n\nimport { EuiMessageBoxService } from './services/eui-message-box.service';\n\n@Component({\n selector: 'eui-message-box',\n templateUrl: './eui-message-box.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiMessageBoxComponent extends BaseDirective implements AfterViewInit, OnDestroy, OnInit {\n @Input() e2eAttr = 'eui-dialog';\n @Input() title: string;\n @Input() width = '33rem';\n @Input() height = 'auto';\n @Input()\n get hasAcceptButton(): boolean {\n return this._hasAcceptButton;\n }\n set hasAcceptButton(value: BooleanInput) {\n this._hasAcceptButton = coerceBooleanProperty(value);\n }\n @Input()\n get hasDismissButton(): boolean {\n return this._hasDismissButton;\n }\n set hasDismissButton(value: BooleanInput) {\n this._hasDismissButton = coerceBooleanProperty(value);\n }\n @Input() acceptLabel = 'eui.OK';\n @Input() dismissLabel = 'eui.CANCEL';\n @Input() typeClass: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent' = 'primary';\n @Input()\n get isHandleCloseOnDismiss(): boolean {\n return this._isHandleCloseOnDismiss;\n }\n set isHandleCloseOnDismiss(value: BooleanInput) {\n this._isHandleCloseOnDismiss = coerceBooleanProperty(value);\n }\n @Input()\n get isHandleCloseOnClose(): boolean {\n return this._isHandleCloseOnClose;\n }\n set isHandleCloseOnClose(value: BooleanInput) {\n this._isHandleCloseOnClose = coerceBooleanProperty(value);\n }\n @Input()\n get isHandleCloseOnAccept(): boolean {\n return this._isHandleCloseOnAccept;\n }\n set isHandleCloseOnAccept(value: BooleanInput) {\n this._isHandleCloseOnAccept = coerceBooleanProperty(value);\n }\n @Input()\n get isDraggable(): boolean {\n return this._isDraggable;\n }\n\n set isDraggable(value: BooleanInput) {\n this._isDraggable = coerceBooleanProperty(value);\n }\n @Input()\n get hasNoBodyPadding(): boolean {\n return this._hasNoBodyPadding;\n }\n set hasNoBodyPadding(value: BooleanInput) {\n this._hasNoBodyPadding = coerceBooleanProperty(value);\n }\n /**\n * @deprecated eui-message-box is always closed on escape, for accessibility reasons. This input has no effect.\n * To be removed in eUI-18\n */\n @Input()\n get isClosedOnEscape(): boolean {\n return this._isClosedOnEscape;\n }\n set isClosedOnEscape(value: BooleanInput) {\n this._isClosedOnEscape = coerceBooleanProperty(value);\n }\n\n /**\n * @deprecated messageBoxopen is deprecated, please use messageBoxOpen instead.\n * To be removed in eUI-18\n */\n @Output() messageBoxopen = new EventEmitter();\n @Output() messageBoxOpen = new EventEmitter();\n @Output() messageBoxClose = new EventEmitter();\n @Output() dismiss = new EventEmitter();\n @Output() accept = new EventEmitter();\n public content: string | TemplatePortal;\n\n @ViewChild('templateRefContent') templateRefContent: TemplateRef<ElementRef>;\n @ViewChild('templateRefFooter') templateRefFooter: TemplateRef<EuiMessageBoxFooterDirective>;\n @ContentChild(forwardRef(() => EuiMessageBoxFooterDirective)) euiMessageBoxFooterDirective: QueryList<EuiMessageBoxFooterDirective>;\n\n private _hasAcceptButton = true;\n private _hasDismissButton = true;\n private _isHandleCloseOnDismiss = false;\n private _isHandleCloseOnClose = false;\n private _isHandleCloseOnAccept = false;\n private _isDraggable = false;\n private _hasNoBodyPadding = false;\n private _isClosedOnEscape = true;\n private templatePortalContent: TemplatePortal<ElementRef>;\n private templatePortalFooter: TemplatePortal<EuiMessageBoxFooterDirective>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private euiMessageBoxService: EuiMessageBoxService,\n ) {\n super();\n }\n\n ngOnInit(): void {\n if (this.euiPrimary) {\n this.typeClass = 'primary';\n }\n if (this.euiSecondary) {\n this.typeClass = 'secondary';\n }\n if (this.euiInfo) {\n this.typeClass = 'info';\n }\n if (this.euiSuccess) {\n this.typeClass = 'success';\n }\n if (this.euiWarning) {\n this.typeClass = 'warning';\n }\n if (this.euiDanger) {\n this.typeClass = 'danger';\n }\n if (this.euiAccent) {\n this.typeClass = 'accent';\n }\n }\n\n ngAfterViewInit(): void {\n this.templatePortalContent = new TemplatePortal(this.templateRefContent, this.viewContainerRef);\n\n if (this.euiMessageBoxFooterDirective) {\n this.templatePortalFooter = new TemplatePortal(this.templateRefFooter, this.viewContainerRef);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Open a Message Box.\n */\n public openMessageBox<HC, HCC, BC, BCC, FC, FCC>(): void {\n const config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {\n e2eAttr: this.e2eAttr,\n title: this.title,\n width: this.width,\n height: this.height,\n typeClass: this.typeClass,\n acceptLabel: this.acceptLabel,\n dismissLabel: this.dismissLabel,\n hasCloseButton: false,\n hasAcceptButton: this.hasAcceptButton,\n hasDismissButton: this.hasDismissButton,\n hasClosedOnClickOutside: false,\n hasClosedOnEscape: true,\n isHandleCloseOnDismiss: this.isHandleCloseOnDismiss,\n isHandleCloseOnClose: this.isHandleCloseOnClose,\n isHandleCloseOnAccept: this.isHandleCloseOnAccept,\n isHandleCloseOnClickOutside: false,\n isHandleCloseOnEscape: false,\n isDraggable: coerceBooleanProperty(this.isDraggable),\n hasNoBodyPadding: coerceBooleanProperty(this.hasNoBodyPadding),\n content: this.templatePortalContent,\n footer: this.templatePortalFooter,\n isMessageBox: true,\n open: () => {\n this.messageBoxopen.emit();\n this.messageBoxOpen.emit();\n },\n close: () => {\n this.messageBoxClose.emit();\n },\n dismiss: () => {\n this.dismiss.emit();\n },\n accept: () => {\n this.accept.emit();\n },\n };\n\n this.euiMessageBoxService.openMessageBox(config);\n }\n\n /**\n * Close a Message Box.\n */\n public closeMessageBox(): void {\n this.euiMessageBoxService.closeMessageBox();\n }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-message-box-footer' })\nexport class EuiMessageBoxFooterDirective {}\n/* eslint-enable */\n", "<ng-template #templateRefContent>\n <ng-content></ng-content>\n</ng-template>\n<ng-template #templateRefFooter>\n <ng-content select=\"eui-message-box-footer\"></ng-content>\n</ng-template>\n", "import { EuiDialogInterface } from '@eui/components/eui-dialog';\n\nexport class EuiMessageBoxConfig<HC, HCC, BC, BCC, FC, FCC> implements EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n e2eAttr = 'eui-message-box';\n acceptLabel = 'eui.OK';\n dismissLabel = 'eui.CANCEL';\n typeClass: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent' = 'primary';\n width = '33rem';\n height = 'auto';\n hasCloseButton = false;\n hasAcceptButton = true;\n hasDismissButton = true;\n hasClosedOnClickOutside = false;\n hasClosedOnEscape = false;\n isHandleCloseOnDismiss = false;\n isHandleCloseOnClose = false;\n isHandleCloseOnAccept = false;\n isHandleCloseOnClickOutside = false;\n isHandleCloseOnEscape = false;\n hasFooter = true;\n isMessageBox = true;\n header = null;\n headerComponent = null;\n\n constructor(values: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>) {\n Object.assign(this, values);\n }\n}\n\nexport class EuiMessageBoxComponentInstances<HC, BC, FC> {\n headerComponent: HC = null;\n bodyComponent: BC = null;\n footerComponent: FC = null;\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiDialogService } from '@eui/components/eui-dialog';\n\nimport { EuiMessageBoxComponent, EuiMessageBoxFooterDirective } from './eui-message-box.component';\nimport { EuiMessageBoxService } from './services/eui-message-box.service';\n\n@NgModule({\n imports: [CommonModule, EuiButtonModule, EuiIconModule, TranslateModule, PortalModule, OverlayModule, A11yModule, DragDropModule],\n exports: [EuiMessageBoxComponent, EuiMessageBoxFooterDirective],\n declarations: [EuiMessageBoxComponent, EuiMessageBoxFooterDirective],\n providers: [EuiMessageBoxService, EuiDialogService],\n})\nexport class EuiMessageBoxModule {}\n"],
|
5
|
-
"mappings": ";AAAA,SAAS,kBAAkB;;;AAIrB,IAAO,uBAAP,MAAO,sBAAoB;EAC7B,YAAoB,kBAAkC;AAAlC,SAAA,mBAAA;EAAqC;;;;;;EAOlD,eAA0C,SAAwD,CAAA,GAAE;AACvG,SAAK,iBAAiB,WAAW;MAC7B,GAAG;MACH,QAAQ;MACR,iBAAiB;MACjB,yBAAyB;MACzB,gBAAgB;MAChB,mBAAmB;MACnB,WAAW;KACd;EACL;;;;EAKO,kBAAe;AAClB,SAAK,iBAAiB,YAAW;EACrC;;4GAzBS,uBAAoB,MAAA,CAAA,EAAA,OAAA,oBAAA,CAAA,GAAA,QAAA,mBAAA,WAAA,CAAA;EAAA;;gHAApB,sBAAoB,CAAA;EAAA;;kGAApB,sBAAoB,YAAA,CAAA;QADhC;;;;ACHD,
|
4
|
+
"sourcesContent": ["import { Injectable } from '@angular/core';\nimport { EuiDialogInterface, EuiDialogService } from '@eui/components/eui-dialog';\n\n@Injectable()\nexport class EuiMessageBoxService {\n constructor(private euiDialogService: EuiDialogService) {}\n\n /**\n * Open a Message box.\n *\n * @param config Configuration applied to the Message box.\n */\n public openMessageBox<HC, HCC, BC, BCC, FC, FCC>(config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {}): void {\n this.euiDialogService.openDialog({\n ...config,\n header: null,\n headerComponent: null,\n hasClosedOnClickOutside: false,\n hasCloseButton: false,\n hasClosedOnEscape: true,\n hasFooter: true,\n });\n }\n\n /**\n * Close a Message box.\n */\n public closeMessageBox(): void {\n this.euiDialogService.closeDialog();\n }\n}\n", "import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, TemplateRef, ViewContainerRef, AfterViewInit, OnDestroy, Output, EventEmitter, \n Directive, ContentChild, forwardRef, QueryList, ElementRef, booleanAttribute } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Subject } from 'rxjs';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiDialogInterface } from '@eui/components/eui-dialog';\n\nimport { EuiMessageBoxService } from './services/eui-message-box.service';\n\n@Component({\n selector: 'eui-message-box',\n templateUrl: './eui-message-box.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiPrimary',\n 'euiSecondary',\n 'euiInfo',\n 'euiSuccess',\n 'euiWarning',\n 'euiDanger',\n 'euiAccent',\n 'euiVariant',\n ],\n },\n ],\n})\nexport class EuiMessageBoxComponent implements AfterViewInit, OnDestroy {\n @Input() e2eAttr = 'eui-dialog';\n @Input() title: string;\n @Input() width = '33rem';\n @Input() height = 'auto';\n @Input({ transform: booleanAttribute }) hasAcceptButton = true;\n @Input({ transform: booleanAttribute }) hasDismissButton = true;\n @Input() acceptLabel = 'eui.OK';\n @Input() dismissLabel = 'eui.CANCEL';\n /** @deprecated This will be removed in next version of eui in favor of euiVariant: primary, secondary, info, success, warning, danger, accent */\n @Input() typeClass: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent' | string = 'primary';\n @Input({ transform: booleanAttribute }) isHandleCloseOnDismiss = false;\n @Input({ transform: booleanAttribute }) isHandleCloseOnClose = false;\n @Input({ transform: booleanAttribute }) isHandleCloseOnAccept = false;\n @Input({ transform: booleanAttribute }) isDraggable = false;\n @Input({ transform: booleanAttribute }) hasNoBodyPadding = false;\n @Input({ transform: booleanAttribute }) isClosedOnEscape = true;\n\n @Output() messageBoxOpen = new EventEmitter();\n @Output() messageBoxClose = new EventEmitter();\n @Output() dismiss = new EventEmitter();\n @Output() accept = new EventEmitter();\n \n @ViewChild('templateRefContent') templateRefContent: TemplateRef<ElementRef>;\n @ViewChild('templateRefFooter') templateRefFooter: TemplateRef<EuiMessageBoxFooterDirective>;\n @ContentChild(forwardRef(() => EuiMessageBoxFooterDirective)) euiMessageBoxFooterDirective: QueryList<EuiMessageBoxFooterDirective>;\n\n public content: string | TemplatePortal;\n\n private templatePortalContent: TemplatePortal<ElementRef>;\n private templatePortalFooter: TemplatePortal<EuiMessageBoxFooterDirective>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private viewContainerRef: ViewContainerRef, private euiMessageBoxService: EuiMessageBoxService, public baseStatesDirective: BaseStatesDirective) {\n }\n\n ngAfterViewInit(): void {\n this.templatePortalContent = new TemplatePortal(this.templateRefContent, this.viewContainerRef);\n\n if (this.euiMessageBoxFooterDirective) {\n this.templatePortalFooter = new TemplatePortal(this.templateRefFooter, this.viewContainerRef);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Open a Message Box.\n */\n public openMessageBox<HC, HCC, BC, BCC, FC, FCC>(): void {\n const config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {\n e2eAttr: this.e2eAttr,\n title: this.title,\n width: this.width,\n height: this.height,\n typeClass: this.baseStatesDirective.euiVariant.length > 0 ? this.baseStatesDirective.euiVariant : 'primary',\n acceptLabel: this.acceptLabel,\n dismissLabel: this.dismissLabel,\n hasCloseButton: false,\n hasAcceptButton: this.hasAcceptButton,\n hasDismissButton: this.hasDismissButton,\n hasClosedOnClickOutside: false,\n hasClosedOnEscape: true,\n isHandleCloseOnDismiss: this.isHandleCloseOnDismiss,\n isHandleCloseOnClose: this.isHandleCloseOnClose,\n isHandleCloseOnAccept: this.isHandleCloseOnAccept,\n isHandleCloseOnClickOutside: false,\n isHandleCloseOnEscape: false,\n isDraggable: coerceBooleanProperty(this.isDraggable),\n hasNoBodyPadding: coerceBooleanProperty(this.hasNoBodyPadding),\n content: this.templatePortalContent,\n footer: this.templatePortalFooter,\n isMessageBox: true,\n open: () => {\n this.messageBoxOpen.emit();\n },\n close: () => {\n this.messageBoxClose.emit();\n },\n dismiss: () => {\n this.dismiss.emit();\n },\n accept: () => {\n this.accept.emit();\n },\n };\n\n this.euiMessageBoxService.openMessageBox(config);\n }\n\n /**\n * Close a Message Box.\n */\n public closeMessageBox(): void {\n this.euiMessageBoxService.closeMessageBox();\n }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-message-box-footer' })\nexport class EuiMessageBoxFooterDirective {}\n/* eslint-enable */\n", "<ng-template #templateRefContent>\n <ng-content></ng-content>\n</ng-template>\n<ng-template #templateRefFooter>\n <ng-content select=\"eui-message-box-footer\"></ng-content>\n</ng-template>\n", "import { EuiDialogInterface } from '@eui/components/eui-dialog';\n\nexport class EuiMessageBoxConfig<HC, HCC, BC, BCC, FC, FCC> implements EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n e2eAttr = 'eui-message-box';\n acceptLabel = 'eui.OK';\n dismissLabel = 'eui.CANCEL';\n typeClass: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent' | string = 'primary';\n width = '33rem';\n height = 'auto';\n hasCloseButton = false;\n hasAcceptButton = true;\n hasDismissButton = true;\n hasClosedOnClickOutside = false;\n hasClosedOnEscape = false;\n isHandleCloseOnDismiss = false;\n isHandleCloseOnClose = false;\n isHandleCloseOnAccept = false;\n isHandleCloseOnClickOutside = false;\n isHandleCloseOnEscape = false;\n hasFooter = true;\n isMessageBox = true;\n header = null;\n headerComponent = null;\n\n constructor(values: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>) {\n Object.assign(this, values);\n }\n}\n\nexport class EuiMessageBoxComponentInstances<HC, BC, FC> {\n headerComponent: HC = null;\n bodyComponent: BC = null;\n footerComponent: FC = null;\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiDialogService } from '@eui/components/eui-dialog';\n\nimport { EuiMessageBoxComponent, EuiMessageBoxFooterDirective } from './eui-message-box.component';\nimport { EuiMessageBoxService } from './services/eui-message-box.service';\n\n@NgModule({\n imports: [CommonModule, EuiButtonModule, EuiIconModule, TranslateModule, PortalModule, OverlayModule, A11yModule, DragDropModule],\n exports: [EuiMessageBoxComponent, EuiMessageBoxFooterDirective],\n declarations: [EuiMessageBoxComponent, EuiMessageBoxFooterDirective],\n providers: [EuiMessageBoxService, EuiDialogService],\n})\nexport class EuiMessageBoxModule {}\n"],
|
5
|
+
"mappings": "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",
|
6
6
|
"names": ["i0", "EuiDialogService"]
|
7
7
|
}
|