@eui/components 19.1.1-snapshot-1740477848147 → 19.1.1-snapshot-1741264224607
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/directives/eui-clearable.directive.d.ts.map +1 -1
- package/directives/eui-loading.directive.d.ts.map +1 -1
- package/directives/eui-maxlength.directive.d.ts.map +1 -1
- package/directives/eui-scroll-handler.directive.d.ts.map +1 -1
- package/directives/eui-smooth-scroll.directive.d.ts.map +1 -1
- package/directives/eui-tooltip/eui-tooltip.directive.d.ts.map +1 -1
- package/docs/components/EuiAutocompleteComponent.html +1 -1
- package/docs/components/EuiAvatarBadgeComponent.html +52 -0
- package/docs/components/EuiAvatarComponent.html +109 -1
- package/docs/components/EuiAvatarIconComponent.html +16 -0
- package/docs/components/EuiAvatarImageComponent.html +42 -0
- package/docs/components/EuiAvatarListComponent.html +45 -0
- package/docs/components/EuiAvatarTextComponent.html +38 -0
- package/docs/components/EuiDisableContentComponent.html +167 -191
- package/docs/components/EuiDiscussionThreadComponent.html +77 -1
- package/docs/components/EuiDiscussionThreadItemComponent.html +118 -0
- package/docs/components/EuiIconToggleComponent.html +149 -0
- package/docs/components/EuiLanguageSelectorComponent.html +1 -5
- package/docs/components/EuiListComponent.html +130 -0
- package/docs/components/EuiListItemComponent.html +29 -0
- package/docs/components/EuiMessageBoxComponent.html +192 -2
- package/docs/components/EuiPageColumnComponent.html +0 -10
- package/docs/components/EuiPopoverComponent.html +119 -8
- package/docs/components/EuiTimebarComponent.html +87 -2
- package/docs/components/EuiWizardComponent.html +1 -1
- package/docs/dependencies.html +33 -33
- package/docs/directives/EuiPopoverArrowPositionDirective.html +29 -0
- package/docs/injectables/EuiMessageBoxService.html +49 -3
- package/docs/interfaces/EuiDiscussionThreadItem.html +61 -0
- package/docs/js/menu-wc.js +48 -50
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/typealiases.html +6 -0
- package/docs/miscellaneous/variables.html +59 -5
- package/docs/modules/EuiAvatarModule.html +25 -4
- package/docs/modules/EuiDisableContentModule.html +22 -4
- package/docs/modules/EuiDiscussionThreadModule.html +16 -1
- package/docs/modules/EuiIconToggleModule.html +23 -11
- package/docs/modules/EuiListModule.html +17 -2
- package/docs/modules/EuiMessageBoxModule.html +13 -1
- package/docs/modules/EuiPopoverModule.html +16 -1
- package/docs/modules/EuiTimebarModule.html +23 -14
- package/eui-alert/eui-alert.component.d.ts.map +1 -1
- package/eui-autocomplete/eui-autocomplete-option/eui-autocomplete-option.component.d.ts.map +1 -1
- package/eui-autocomplete/eui-autocomplete.component.d.ts.map +1 -1
- package/eui-avatar/avatar-badge/avatar-badge.component.d.ts +37 -0
- package/eui-avatar/avatar-badge/avatar-badge.component.d.ts.map +1 -1
- package/eui-avatar/avatar-icon/avatar-icon.component.d.ts +18 -0
- package/eui-avatar/avatar-icon/avatar-icon.component.d.ts.map +1 -1
- package/eui-avatar/avatar-image/avatar-image.component.d.ts +26 -0
- package/eui-avatar/avatar-image/avatar-image.component.d.ts.map +1 -1
- package/eui-avatar/avatar-list/avatar-list.component.d.ts +30 -0
- package/eui-avatar/avatar-list/avatar-list.component.d.ts.map +1 -1
- package/eui-avatar/avatar-text/avatar-text.component.d.ts +35 -0
- package/eui-avatar/avatar-text/avatar-text.component.d.ts.map +1 -1
- package/eui-avatar/eui-avatar.component.d.ts +85 -1
- package/eui-avatar/eui-avatar.component.d.ts.map +1 -1
- package/eui-avatar/eui-avatar.module.d.ts +33 -10
- package/eui-avatar/eui-avatar.module.d.ts.map +1 -1
- package/eui-badge/eui-badge.component.d.ts.map +1 -1
- package/eui-block-content/eui-block-content.component.d.ts.map +1 -1
- package/eui-block-document/eui-block-document.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-button-v2/eui-button-v2.component.d.ts.map +1 -1
- package/eui-card/components/eui-card-header/eui-card-header.component.d.ts.map +1 -1
- package/eui-card/eui-card.component.d.ts.map +1 -1
- package/eui-chip/eui-chip.component.d.ts.map +1 -1
- package/eui-chip-list/eui-chip-list.component.d.ts.map +1 -1
- package/eui-dashboard-card/eui-dashboard-card.component.d.ts.map +1 -1
- package/eui-date-range-selector/eui-date-range-selector.component.d.ts.map +1 -1
- package/eui-datepicker/eui-datepicker.component.d.ts.map +1 -1
- package/eui-dialog/eui-dialog.component.d.ts.map +1 -1
- package/eui-disable-content/eui-disable-content.component.d.ts +80 -13
- package/eui-disable-content/eui-disable-content.component.d.ts.map +1 -1
- package/eui-discussion-thread/eui-discussion-thread-item.component.d.ts +65 -0
- package/eui-discussion-thread/eui-discussion-thread-item.component.d.ts.map +1 -1
- package/eui-discussion-thread/eui-discussion-thread.component.d.ts +51 -0
- package/eui-discussion-thread/eui-discussion-thread.component.d.ts.map +1 -1
- package/eui-discussion-thread/eui-discussion-thread.module.d.ts +19 -1
- package/eui-discussion-thread/eui-discussion-thread.module.d.ts.map +1 -1
- package/eui-discussion-thread/models/eui-discussion-thread-item.model.d.ts +45 -0
- package/eui-discussion-thread/models/eui-discussion-thread-item.model.d.ts.map +1 -1
- package/eui-dropdown/dropdown-item/eui-dropdown-item.component.d.ts.map +1 -1
- package/eui-dropdown/eui-dropdown.component.d.ts.map +1 -1
- package/eui-feedback-message/eui-feedback-message.component.d.ts.map +1 -1
- package/eui-fieldset/eui-fieldset.component.d.ts.map +1 -1
- package/eui-file-upload/eui-file-upload.component.d.ts.map +1 -1
- package/eui-file-upload/file-preview/file-preview.component.d.ts.map +1 -1
- package/eui-growl/eui-growl.component.d.ts.map +1 -1
- package/eui-icon/eui-icon-svg.component.d.ts.map +1 -1
- package/eui-icon-button/eui-icon-button.component.d.ts.map +1 -1
- package/eui-icon-button-expander/eui-icon-button-expander.component.d.ts.map +1 -1
- package/eui-icon-input/eui-icon-input.component.d.ts.map +1 -1
- package/eui-icon-toggle/eui-icon-toggle.component.d.ts +96 -1
- package/eui-icon-toggle/eui-icon-toggle.component.d.ts.map +1 -1
- package/eui-icon-toggle/eui-icon-toggle.module.d.ts +19 -4
- package/eui-icon-toggle/eui-icon-toggle.module.d.ts.map +1 -1
- package/eui-input-number/eui-input-number.component.d.ts.map +1 -1
- package/eui-label/eui-label.component.d.ts.map +1 -1
- package/eui-language-selector/language-selector.component.d.ts +4 -2
- package/eui-language-selector/language-selector.component.d.ts.map +1 -1
- package/eui-list/eui-list-item/eui-list-item.component.d.ts +34 -0
- package/eui-list/eui-list-item/eui-list-item.component.d.ts.map +1 -1
- package/eui-list/eui-list.component.d.ts +56 -0
- package/eui-list/eui-list.component.d.ts.map +1 -1
- package/eui-list/eui-list.module.d.ts +18 -1
- package/eui-list/eui-list.module.d.ts.map +1 -1
- package/eui-menu/eui-menu-item.component.d.ts.map +1 -1
- package/eui-menu/eui-menu.component.d.ts.map +1 -1
- package/eui-message-box/eui-message-box.component.d.ts +148 -2
- package/eui-message-box/eui-message-box.component.d.ts.map +1 -1
- package/eui-message-box/eui-message-box.module.d.ts +15 -1
- package/eui-message-box/eui-message-box.module.d.ts.map +1 -1
- package/eui-message-box/services/eui-message-box.service.d.ts +58 -3
- package/eui-message-box/services/eui-message-box.service.d.ts.map +1 -1
- package/eui-navbar/eui-navbar-item/eui-navbar-item.component.d.ts.map +1 -1
- package/eui-overlay/eui-overlay.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-column/eui-page-column.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-columns/eui-page-columns.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-header/eui-page-header.component.d.ts.map +1 -1
- package/eui-paginator/eui-paginator.component.d.ts.map +1 -1
- package/eui-popover/directives/eui-popover-arrow-position.directive.d.ts +32 -0
- package/eui-popover/directives/eui-popover-arrow-position.directive.d.ts.map +1 -1
- package/eui-popover/eui-popover.component.d.ts +119 -7
- package/eui-popover/eui-popover.component.d.ts.map +1 -1
- package/eui-popover/eui-popover.module.d.ts +18 -1
- package/eui-popover/eui-popover.module.d.ts.map +1 -1
- package/eui-popover/models/eui-popover-position.model.d.ts +26 -0
- package/eui-popover/models/eui-popover-position.model.d.ts.map +1 -1
- package/eui-progress-circle/eui-progress-circle.component.d.ts.map +1 -1
- package/eui-select/eui-select-option.directive.d.ts.map +1 -1
- package/eui-select/eui-select.component.d.ts.map +1 -1
- package/eui-sidebar-menu/eui-sidebar-menu.component.d.ts.map +1 -1
- package/eui-skeleton/eui-skeleton.component.d.ts.map +1 -1
- package/eui-slide-toggle/eui-slide-toggle.component.d.ts.map +1 -1
- package/eui-table/eui-table.component.d.ts.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/eui-table-v2/eui-table-v2.component.d.ts.map +1 -1
- package/eui-table-v2/selectable-header/eui-table-v2-selectable-header.component.d.ts.map +1 -1
- package/eui-table-v2/selectable-row/eui-table-v2-selectable-row.component.d.ts.map +1 -1
- package/eui-table-v2/sortable-col/eui-table-v2-sortable-col.component.d.ts.map +1 -1
- 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.map +1 -1
- package/eui-tabs/eui-tabs.component.d.ts.map +1 -1
- package/eui-textarea/auto-resize.directive.d.ts.map +1 -1
- package/eui-textarea/eui-textarea.component.d.ts.map +1 -1
- package/eui-timebar/eui-timebar-item.model.d.ts +20 -1
- package/eui-timebar/eui-timebar-item.model.d.ts.map +1 -1
- package/eui-timebar/eui-timebar.component.d.ts +83 -6
- package/eui-timebar/eui-timebar.component.d.ts.map +1 -1
- package/eui-timeline/eui-timeline-item.component.d.ts.map +1 -1
- package/eui-timeline/eui-timeline.component.d.ts.map +1 -1
- package/eui-timepicker/eui-timepicker.component.d.ts.map +1 -1
- package/eui-tree/eui-tree.component.d.ts.map +1 -1
- package/eui-tree-list/eui-tree-list-item.component.d.ts.map +1 -1
- package/eui-tree-list/eui-tree-list.component.d.ts.map +1 -1
- package/eui-tree-list/toolbar/toolbar.component.d.ts.map +1 -1
- package/eui-user-profile/user-profile-card/user-profile-card.component.d.ts.map +1 -1
- package/eui-user-profile/user-profile.component.d.ts.map +1 -1
- package/eui-wizard/eui-wizard-step.component.d.ts.map +1 -1
- package/eui-wizard/eui-wizard.component.d.ts +1 -0
- package/eui-wizard/eui-wizard.component.d.ts.map +1 -1
- package/externals/eui-editor/counters/eui-editor-counters.component.d.ts.map +1 -1
- package/externals/quill/quill-editor.component.d.ts.map +1 -1
- package/fesm2022/eui-components-directives.mjs +70 -70
- package/fesm2022/eui-components-eui-accordion.mjs +13 -13
- package/fesm2022/eui-components-eui-alert.mjs +10 -10
- package/fesm2022/eui-components-eui-autocomplete.mjs +15 -14
- package/fesm2022/eui-components-eui-autocomplete.mjs.map +1 -1
- package/fesm2022/eui-components-eui-avatar.mjs +286 -36
- package/fesm2022/eui-components-eui-avatar.mjs.map +1 -1
- package/fesm2022/eui-components-eui-badge.mjs +7 -7
- package/fesm2022/eui-components-eui-block-content.mjs +7 -7
- package/fesm2022/eui-components-eui-block-document.mjs +7 -7
- package/fesm2022/eui-components-eui-breadcrumb.mjs +13 -13
- package/fesm2022/eui-components-eui-button-group.mjs +7 -7
- package/fesm2022/eui-components-eui-button-v2.mjs +7 -7
- package/fesm2022/eui-components-eui-button.mjs +7 -7
- package/fesm2022/eui-components-eui-card.mjs +49 -49
- package/fesm2022/eui-components-eui-chip-group.mjs +7 -7
- package/fesm2022/eui-components-eui-chip-list.mjs +13 -13
- package/fesm2022/eui-components-eui-chip.mjs +7 -7
- package/fesm2022/eui-components-eui-dashboard-button.mjs +13 -13
- package/fesm2022/eui-components-eui-dashboard-button.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dashboard-card.mjs +13 -13
- package/fesm2022/eui-components-eui-dashboard-card.mjs.map +1 -1
- package/fesm2022/eui-components-eui-date-range-selector.mjs +10 -10
- package/fesm2022/eui-components-eui-datepicker.mjs +19 -19
- package/fesm2022/eui-components-eui-dialog.mjs +19 -19
- package/fesm2022/eui-components-eui-dimmer.mjs +7 -7
- package/fesm2022/eui-components-eui-disable-content.mjs +113 -39
- package/fesm2022/eui-components-eui-disable-content.mjs.map +1 -1
- package/fesm2022/eui-components-eui-discussion-thread.mjs +113 -12
- package/fesm2022/eui-components-eui-discussion-thread.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dropdown.mjs +20 -20
- package/fesm2022/eui-components-eui-feedback-message.mjs +8 -8
- package/fesm2022/eui-components-eui-feedback-message.mjs.map +1 -1
- package/fesm2022/eui-components-eui-fieldset.mjs +13 -13
- package/fesm2022/eui-components-eui-file-upload.mjs +19 -19
- package/fesm2022/eui-components-eui-growl.mjs +7 -7
- package/fesm2022/eui-components-eui-icon-button-expander.mjs +7 -7
- package/fesm2022/eui-components-eui-icon-button.mjs +7 -7
- package/fesm2022/eui-components-eui-icon-color.mjs +7 -7
- package/fesm2022/eui-components-eui-icon-input.mjs +7 -7
- package/fesm2022/eui-components-eui-icon-state.mjs +7 -7
- package/fesm2022/eui-components-eui-icon-toggle.mjs +106 -10
- package/fesm2022/eui-components-eui-icon-toggle.mjs.map +1 -1
- package/fesm2022/eui-components-eui-icon.mjs +7 -7
- package/fesm2022/eui-components-eui-input-checkbox.mjs +7 -7
- package/fesm2022/eui-components-eui-input-group.mjs +13 -13
- package/fesm2022/eui-components-eui-input-number.mjs +10 -10
- package/fesm2022/eui-components-eui-input-radio.mjs +7 -7
- package/fesm2022/eui-components-eui-input-text.mjs +7 -7
- package/fesm2022/eui-components-eui-label.mjs +8 -8
- package/fesm2022/eui-components-eui-label.mjs.map +1 -1
- package/fesm2022/eui-components-eui-language-selector.mjs +23 -12
- package/fesm2022/eui-components-eui-language-selector.mjs.map +1 -1
- package/fesm2022/eui-components-eui-list.mjs +116 -15
- package/fesm2022/eui-components-eui-list.mjs.map +1 -1
- package/fesm2022/eui-components-eui-menu.mjs +10 -10
- package/fesm2022/eui-components-eui-message-box.mjs +208 -20
- package/fesm2022/eui-components-eui-message-box.mjs.map +1 -1
- package/fesm2022/eui-components-eui-navbar.mjs +10 -10
- package/fesm2022/eui-components-eui-overlay.mjs +19 -19
- package/fesm2022/eui-components-eui-page.mjs +61 -62
- package/fesm2022/eui-components-eui-page.mjs.map +1 -1
- package/fesm2022/eui-components-eui-paginator.mjs +7 -7
- package/fesm2022/eui-components-eui-popover.mjs +194 -20
- package/fesm2022/eui-components-eui-popover.mjs.map +1 -1
- package/fesm2022/eui-components-eui-progress-bar.mjs +7 -7
- package/fesm2022/eui-components-eui-progress-circle.mjs +7 -7
- package/fesm2022/eui-components-eui-select.mjs +19 -19
- package/fesm2022/eui-components-eui-sidebar-menu.mjs +7 -7
- package/fesm2022/eui-components-eui-skeleton.mjs +7 -7
- package/fesm2022/eui-components-eui-slide-toggle.mjs +8 -8
- package/fesm2022/eui-components-eui-slide-toggle.mjs.map +1 -1
- package/fesm2022/eui-components-eui-split-button.mjs +7 -7
- package/fesm2022/eui-components-eui-table-v2.mjs +34 -34
- package/fesm2022/eui-components-eui-table.mjs +34 -34
- package/fesm2022/eui-components-eui-tabs.mjs +24 -24
- package/fesm2022/eui-components-eui-tabs.mjs.map +1 -1
- package/fesm2022/eui-components-eui-textarea.mjs +10 -10
- package/fesm2022/eui-components-eui-timebar.mjs +82 -10
- package/fesm2022/eui-components-eui-timebar.mjs.map +1 -1
- package/fesm2022/eui-components-eui-timeline.mjs +10 -10
- package/fesm2022/eui-components-eui-timepicker.mjs +7 -7
- package/fesm2022/eui-components-eui-tree-list.mjs +25 -25
- package/fesm2022/eui-components-eui-tree.mjs +21 -21
- package/fesm2022/eui-components-eui-user-profile.mjs +16 -16
- package/fesm2022/eui-components-eui-user-profile.mjs.map +1 -1
- package/fesm2022/eui-components-eui-wizard.mjs +16 -15
- package/fesm2022/eui-components-eui-wizard.mjs.map +1 -1
- package/fesm2022/eui-components-externals-charts.mjs +7 -7
- package/fesm2022/eui-components-externals-eui-editor.mjs +28 -28
- package/fesm2022/eui-components-externals-quill.mjs +10 -10
- package/fesm2022/eui-components-layout.mjs +183 -182
- package/fesm2022/eui-components-layout.mjs.map +1 -1
- package/fesm2022/eui-components-pipes.mjs +14 -14
- package/fesm2022/eui-components-shared.mjs +6 -6
- package/fesm2022/eui-components.mjs +4 -4
- package/layout/eui-app/eui-app-sidebar/sidebar-header-user-profile/sidebar-header-user-profile.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app-toolbar/toolbar.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app-top-message/top-message.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app.component.d.ts.map +1 -1
- package/layout/eui-footer/footer.component.d.ts.map +1 -1
- package/layout/eui-header/header-user-profile/header-user-profile.component.d.ts.map +1 -1
- package/layout/eui-notifications/eui-notification-item.component.d.ts.map +1 -1
- package/layout/eui-notifications/eui-notifications.component.d.ts.map +1 -1
- package/layout/eui-notifications-v2/eui-notification-item.component.d.ts.map +1 -1
- package/layout/eui-notifications-v2/eui-notifications.component.d.ts.map +1 -1
- package/layout/eui-toolbar/toolbar-items/toolbar-items.component.d.ts.map +1 -1
- package/layout/eui-toolbar/toolbar-navbar-item/toolbar-navbar-item.component.d.ts.map +1 -1
- package/layout/eui-toolbar/toolbar-search/toolbar-search.component.d.ts.map +1 -1
- package/layout/eui-toolbar/toolbar-selector/toolbar-selector.component.d.ts.map +1 -1
- package/layout/eui-toolbar/toolbar.component.d.ts.map +1 -1
- package/package.json +3 -3
- package/shared/base/base-states.directive.d.ts.map +1 -1
- package/shared/input.directive.d.ts.map +1 -1
@@ -4,12 +4,28 @@ import { FocusKeyManager } from '@angular/cdk/a11y';
|
|
4
4
|
import * as i1 from '@eui/components/shared';
|
5
5
|
import { BaseStatesDirective } from '@eui/components/shared';
|
6
6
|
import { EuiIconSvgComponent, EuiIconModule } from '@eui/components/eui-icon';
|
7
|
-
import { EuiLabelComponent
|
7
|
+
import { EuiLabelComponent } from '@eui/components/eui-label';
|
8
8
|
import { EuiArrowKeyNavigableDirective, EuiTemplateDirective } from '@eui/components/directives';
|
9
9
|
import * as i2 from '@angular/common';
|
10
10
|
import { CommonModule } from '@angular/common';
|
11
|
-
import {
|
11
|
+
import { EuiButtonComponent } from '@eui/components/eui-button';
|
12
12
|
|
13
|
+
/**
|
14
|
+
* @description
|
15
|
+
* Component that represents a single item within an EuiList.
|
16
|
+
* Implements FocusableOption and Highlightable for keyboard navigation and accessibility.
|
17
|
+
*
|
18
|
+
* This component is designed to work with the EuiListComponent as part of a navigable list.
|
19
|
+
* It supports various display states through the BaseStatesDirective, and can contain
|
20
|
+
* nested list components, icons, labels, and custom templates.
|
21
|
+
*
|
22
|
+
* @example
|
23
|
+
* <eui-list>
|
24
|
+
* <eui-list-item>Simple item</eui-list-item>
|
25
|
+
* <eui-list-item [euiPrimary]="true">Primary item</eui-list-item>
|
26
|
+
* <eui-list-item [isActive]="true">Active item</eui-list-item>
|
27
|
+
* </eui-list>
|
28
|
+
*/
|
13
29
|
class EuiListItemComponent {
|
14
30
|
get cssClasses() {
|
15
31
|
return [
|
@@ -25,22 +41,41 @@ class EuiListItemComponent {
|
|
25
41
|
this.tabindex = '-1';
|
26
42
|
this.isActive = false;
|
27
43
|
}
|
44
|
+
/**
|
45
|
+
* Sets focus on the list item element.
|
46
|
+
* Used by the FocusKeyManager to handle keyboard navigation within the list.
|
47
|
+
*/
|
28
48
|
focus() {
|
29
49
|
this.elementRef.nativeElement.focus();
|
30
50
|
}
|
51
|
+
/**
|
52
|
+
* Programmatically triggers a click event on the list item element.
|
53
|
+
* Typically, invoked when the user presses Enter while the item is focused.
|
54
|
+
*/
|
55
|
+
// TODO: make it protected
|
31
56
|
click() {
|
32
57
|
this.elementRef.nativeElement.click();
|
33
58
|
}
|
59
|
+
/**
|
60
|
+
* Applies active styling to the list item.
|
61
|
+
* Called by the FocusKeyManager when this item becomes the active item in the list.
|
62
|
+
* Sets the isActive flag to true, which adds the 'eui-list-item--active' CSS class.
|
63
|
+
*/
|
34
64
|
setActiveStyles() {
|
35
65
|
this.isActive = true;
|
36
66
|
}
|
67
|
+
/**
|
68
|
+
* Removes active styling from the list item.
|
69
|
+
* Called by the FocusKeyManager when another item becomes the active item.
|
70
|
+
* Sets the isActive flag to false, removing the 'eui-list-item--active' CSS class.
|
71
|
+
*/
|
37
72
|
setInactiveStyles() {
|
38
73
|
this.isActive = false;
|
39
74
|
}
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
41
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.1
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: EuiListItemComponent, deps: [{ token: i1.BaseStatesDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
76
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.1", type: EuiListItemComponent, isStandalone: false, selector: "[euiListItem], eui-list-item", inputs: { e2eAttr: "e2eAttr", isActive: ["isActive", "isActive", booleanAttribute] }, host: { properties: { "class": "this.cssClasses", "attr.role": "this.role", "attr.data-e2e": "this.e2eAttr", "attr.tabindex": "this.tabindex" } }, queries: [{ propertyName: "euiArrowKeyNavigableDirective", first: true, predicate: i0.forwardRef(() => EuiArrowKeyNavigableDirective), descendants: true }, { propertyName: "euiListComponent", predicate: i0.forwardRef(() => EuiListComponent), descendants: true }, { propertyName: "euiIconSvgComponent", predicate: i0.forwardRef(() => EuiIconSvgComponent), descendants: true }, { propertyName: "euiLabelComponent", predicate: i0.forwardRef(() => EuiLabelComponent), descendants: true }, { propertyName: "templates", predicate: i0.forwardRef(() => EuiTemplateDirective), descendants: true }], hostDirectives: [{ directive: i1.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiSecondary", "euiSecondary", "euiSuccess", "euiSuccess", "euiInfo", "euiInfo", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiAccent", "euiAccent", "euiVariant", "euiVariant"] }], ngImport: i0, template: "<div class=\"eui-list-item__container\" [class.eui-list-item--has-submenu]=\"euiListComponent.length > 0\">\n <div class=\"eui-list-item__content\">\n <div *ngIf=\"euiIconSvgComponent.length > 0\" class=\"eui-list-item__content-icon\">\n <ng-content select=\"eui-icon-svg, span[euiIconSvg]\"></ng-content>\n </div>\n <div *ngIf=\"euiLabelComponent.length > 0\" class=\"eui-list-item__content-text\">\n <ng-content select=\"[eui-label], [euiLabel]\"></ng-content>\n </div>\n <ng-content></ng-content>\n </div>\n\n <div\n class=\"eui-list-item__sub-list\"\n *ngIf=\"(euiListComponent.length > 0) || (euiListComponent.length > 0)\">\n <ng-content select=\"[eui-list], [euiList]\"></ng-content>\n </div>\n</div>\n", styles: [":root{--_eui-scrollbars-foreground-color: var(--eui-c-neutral-lightest)}html.eui-t-dark{--_eui-scrollbars-foreground-color: var(--eui-c-neutral-light)}.eui-19 :host.eui-list-item{background:none;border:var(--eui-bw-none);box-shadow:none;cursor:pointer;display:block;max-width:100%;outline:none;padding:var(--eui-s-xs) var(--eui-s-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;list-style:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-19 :host.eui-list-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-list-item .eui-list-item__container{display:flex;width:100%}.eui-19 :host.eui-list-item .eui-list-item__container .eui-list-item__content{align-items:center;display:flex;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-19 :host.eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-icon{align-items:center;display:flex;margin-right:var(--eui-s-xs)}.eui-19 :host.eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text{display:flex;flex-direction:column;font:var(--eui-f-m-bold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-19 :host.eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text .eui-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-19 :host.eui-list-item .eui-list-item__container.eui-list-item--has-submenu{display:block;width:100%}.eui-19 :host.eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__content{align-items:center;display:flex;width:100%}.eui-19 :host.eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list{margin-left:var(--eui-s-m)}.eui-19 :host.eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list ::ng-deep .eui-list-item{padding-right:0}.eui-19 :host.eui-list-item .eui-list-item__container .eui-button{margin-left:var(--eui-s-s)}.eui-19 :host.eui-list-item:hover{background-color:var(--eui-c-hover)}.eui-19 :host.eui-list-item:active,.eui-19 :host.eui-list-item--active{background-color:var(--eui-c-active)}.eui-19 :host.eui-list-item--primary{color:var(--eui-c-primary)}.eui-19 :host.eui-list-item--primary .eui-icon-svg svg{fill:var(--eui-c-primary);color:var(--eui-c-primary)}.eui-19 :host.eui-list-item--secondary{color:var(--eui-c-neutral-light)}.eui-19 :host.eui-list-item--secondary .eui-icon-svg svg{fill:var(--eui-c-neutral-light);color:var(--eui-c-neutral-light)}.eui-19 :host.eui-list-item--info{color:var(--eui-c-info-dark)}.eui-19 :host.eui-list-item--info .eui-icon-svg svg{fill:var(--eui-c-info-dark);color:var(--eui-c-info-dark)}.eui-19 :host.eui-list-item--success{color:var(--eui-c-success-dark)}.eui-19 :host.eui-list-item--success .eui-icon-svg svg{fill:var(--eui-c-success-dark);color:var(--eui-c-success-dark)}.eui-19 :host.eui-list-item--warning{color:var(--eui-c-warning-darker)}.eui-19 :host.eui-list-item--warning .eui-icon-svg svg{fill:var(--eui-c-warning-dark);color:var(--eui-c-warning-dark)}.eui-19 :host.eui-list-item--danger{color:var(--eui-c-danger-dark)}.eui-19 :host.eui-list-item--danger .eui-icon-svg svg{fill:var(--eui-c-danger-dark);color:var(--eui-c-danger-dark)}.eui-19 :host.eui-list-item--accent{color:var(--eui-c-accent-dark)}.eui-19 :host.eui-list-item--accent .eui-icon-svg svg{fill:var(--eui-c-accent-dark);color:var(--eui-c-accent-dark)}.eui-19 :host.eui-list-item .eui-list-item__content-toggle--expanded{transform:rotate(-180deg)}.eui-19 :host.eui-list-item--disabled{pointer-events:none;background-image:none;box-shadow:none;cursor:not-allowed!important;opacity:var(--eui-o-50)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
42
77
|
}
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: EuiListItemComponent, decorators: [{
|
44
79
|
type: Component,
|
45
80
|
args: [{ selector: '[euiListItem], eui-list-item', standalone: false, hostDirectives: [
|
46
81
|
{
|
@@ -56,7 +91,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
|
|
56
91
|
'euiVariant',
|
57
92
|
],
|
58
93
|
},
|
59
|
-
], template: "<div class=\"eui-list-item__container\" [class.eui-list-item--has-submenu]=\"euiListComponent.length > 0\">\n <div class=\"eui-list-item__content\">\n <div *ngIf=\"euiIconSvgComponent.length > 0\" class=\"eui-list-item__content-icon\">\n <ng-content select=\"eui-icon-svg, span[euiIconSvg]\"></ng-content>\n </div>\n <div *ngIf=\"euiLabelComponent.length > 0\" class=\"eui-list-item__content-text\">\n <ng-content select=\"[eui-label], [euiLabel]\"></ng-content>\n </div>\n <ng-content></ng-content>\n </div>\n\n <div\n class=\"eui-list-item__sub-list\"\n *ngIf=\"(euiListComponent.length > 0) || (euiListComponent.length > 0)\">\n <ng-content select=\"[eui-list], [euiList]\"></ng-content>\n </div>\n</div>\n", styles: [":root{--_eui-scrollbars-foreground-color: var(--eui-c-neutral-lightest)}html.eui-t-dark{--_eui-scrollbars-foreground-color: var(--eui-c-neutral-light)}.eui-19 :host.eui-list-item{background:none;border:var(--eui-bw-none);box-shadow:none;cursor:pointer;display:block;max-width:100%;outline:none;padding:var(--eui-s-xs) var(--eui-s-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;list-style:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-19 :host.eui-list-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-list-item .eui-list-item__container{display:flex;width:100%}.eui-19 :host.eui-list-item .eui-list-item__container .eui-list-item__content{align-items:center;display:flex;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-19 :host.eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-icon{align-items:center;display:flex;margin-right:var(--eui-s-xs)}.eui-19 :host.eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text{display:flex;flex-direction:column;font:var(--eui-f-m-bold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-19 :host.eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text .eui-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-19 :host.eui-list-item .eui-list-item__container.eui-list-item--has-submenu{display:block;width:100%}.eui-19 :host.eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__content{align-items:center;display:flex;width:100%}.eui-19 :host.eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list{margin-left:var(--eui-s-m)}.eui-19 :host.eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list ::ng-deep .eui-list-item{padding-right:0}.eui-19 :host.eui-list-item .eui-list-item__container .eui-button{margin-left:var(--eui-s-s)}.eui-19 :host.eui-list-item:hover{background-color:var(--eui-c-hover)}.eui-19 :host.eui-list-item:active,.eui-19 :host.eui-list-item--active{background-color:var(--eui-c-active)}.eui-19 :host.eui-list-item--primary{color:var(--eui-c-primary)}.eui-19 :host.eui-list-item--primary .eui-icon-svg svg{fill:var(--eui-c-primary);color:var(--eui-c-primary)}.eui-19 :host.eui-list-item--secondary{color:var(--eui-c-neutral-light)}.eui-19 :host.eui-list-item--secondary .eui-icon-svg svg{fill:var(--eui-c-neutral-light);color:var(--eui-c-neutral-light)}.eui-19 :host.eui-list-item--info{color:var(--eui-c-info)}.eui-19 :host.eui-list-item--info .eui-icon-svg svg{fill:var(--eui-c-info);color:var(--eui-c-info)}.eui-19 :host.eui-list-item--success{color:var(--eui-c-success-dark)}.eui-19 :host.eui-list-item--success .eui-icon-svg svg{fill:var(--eui-c-success-dark);color:var(--eui-c-success-dark)}.eui-19 :host.eui-list-item--warning{color:var(--eui-c-warning-
|
94
|
+
], template: "<div class=\"eui-list-item__container\" [class.eui-list-item--has-submenu]=\"euiListComponent.length > 0\">\n <div class=\"eui-list-item__content\">\n <div *ngIf=\"euiIconSvgComponent.length > 0\" class=\"eui-list-item__content-icon\">\n <ng-content select=\"eui-icon-svg, span[euiIconSvg]\"></ng-content>\n </div>\n <div *ngIf=\"euiLabelComponent.length > 0\" class=\"eui-list-item__content-text\">\n <ng-content select=\"[eui-label], [euiLabel]\"></ng-content>\n </div>\n <ng-content></ng-content>\n </div>\n\n <div\n class=\"eui-list-item__sub-list\"\n *ngIf=\"(euiListComponent.length > 0) || (euiListComponent.length > 0)\">\n <ng-content select=\"[eui-list], [euiList]\"></ng-content>\n </div>\n</div>\n", styles: [":root{--_eui-scrollbars-foreground-color: var(--eui-c-neutral-lightest)}html.eui-t-dark{--_eui-scrollbars-foreground-color: var(--eui-c-neutral-light)}.eui-19 :host.eui-list-item{background:none;border:var(--eui-bw-none);box-shadow:none;cursor:pointer;display:block;max-width:100%;outline:none;padding:var(--eui-s-xs) var(--eui-s-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;list-style:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-19 :host.eui-list-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-list-item .eui-list-item__container{display:flex;width:100%}.eui-19 :host.eui-list-item .eui-list-item__container .eui-list-item__content{align-items:center;display:flex;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-19 :host.eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-icon{align-items:center;display:flex;margin-right:var(--eui-s-xs)}.eui-19 :host.eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text{display:flex;flex-direction:column;font:var(--eui-f-m-bold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-19 :host.eui-list-item .eui-list-item__container .eui-list-item__content .eui-list-item__content-text .eui-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-19 :host.eui-list-item .eui-list-item__container.eui-list-item--has-submenu{display:block;width:100%}.eui-19 :host.eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__content{align-items:center;display:flex;width:100%}.eui-19 :host.eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list{margin-left:var(--eui-s-m)}.eui-19 :host.eui-list-item .eui-list-item__container.eui-list-item--has-submenu .eui-list-item__sub-list ::ng-deep .eui-list-item{padding-right:0}.eui-19 :host.eui-list-item .eui-list-item__container .eui-button{margin-left:var(--eui-s-s)}.eui-19 :host.eui-list-item:hover{background-color:var(--eui-c-hover)}.eui-19 :host.eui-list-item:active,.eui-19 :host.eui-list-item--active{background-color:var(--eui-c-active)}.eui-19 :host.eui-list-item--primary{color:var(--eui-c-primary)}.eui-19 :host.eui-list-item--primary .eui-icon-svg svg{fill:var(--eui-c-primary);color:var(--eui-c-primary)}.eui-19 :host.eui-list-item--secondary{color:var(--eui-c-neutral-light)}.eui-19 :host.eui-list-item--secondary .eui-icon-svg svg{fill:var(--eui-c-neutral-light);color:var(--eui-c-neutral-light)}.eui-19 :host.eui-list-item--info{color:var(--eui-c-info-dark)}.eui-19 :host.eui-list-item--info .eui-icon-svg svg{fill:var(--eui-c-info-dark);color:var(--eui-c-info-dark)}.eui-19 :host.eui-list-item--success{color:var(--eui-c-success-dark)}.eui-19 :host.eui-list-item--success .eui-icon-svg svg{fill:var(--eui-c-success-dark);color:var(--eui-c-success-dark)}.eui-19 :host.eui-list-item--warning{color:var(--eui-c-warning-darker)}.eui-19 :host.eui-list-item--warning .eui-icon-svg svg{fill:var(--eui-c-warning-dark);color:var(--eui-c-warning-dark)}.eui-19 :host.eui-list-item--danger{color:var(--eui-c-danger-dark)}.eui-19 :host.eui-list-item--danger .eui-icon-svg svg{fill:var(--eui-c-danger-dark);color:var(--eui-c-danger-dark)}.eui-19 :host.eui-list-item--accent{color:var(--eui-c-accent-dark)}.eui-19 :host.eui-list-item--accent .eui-icon-svg svg{fill:var(--eui-c-accent-dark);color:var(--eui-c-accent-dark)}.eui-19 :host.eui-list-item .eui-list-item__content-toggle--expanded{transform:rotate(-180deg)}.eui-19 :host.eui-list-item--disabled{pointer-events:none;background-image:none;box-shadow:none;cursor:not-allowed!important;opacity:var(--eui-o-50)}\n"] }]
|
60
95
|
}], ctorParameters: () => [{ type: i1.BaseStatesDirective }, { type: i0.ElementRef }], propDecorators: { cssClasses: [{
|
61
96
|
type: HostBinding,
|
62
97
|
args: ['class']
|
@@ -91,13 +126,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
|
|
91
126
|
args: [{ transform: booleanAttribute }]
|
92
127
|
}] } });
|
93
128
|
|
129
|
+
/**
|
130
|
+
* @description
|
131
|
+
* Component that provides a navigable list implementation with keyboard interaction support.
|
132
|
+
* Works with Angular CDK's FocusKeyManager to enable keyboard navigation between list items.
|
133
|
+
*
|
134
|
+
* The component automatically manages focus between nested lists and supports rich content
|
135
|
+
* navigation. It can contain multiple EuiListItemComponents as children.
|
136
|
+
*
|
137
|
+
* @example
|
138
|
+
* <eui-list>
|
139
|
+
* <eui-list-item>First item</eui-list-item>
|
140
|
+
* <eui-list-item>Second item</eui-list-item>
|
141
|
+
* <eui-list-item>
|
142
|
+
* Item with nested list
|
143
|
+
* <eui-list>
|
144
|
+
* <eui-list-item>Nested item 1</eui-list-item>
|
145
|
+
* <eui-list-item>Nested item 2</eui-list-item>
|
146
|
+
* </eui-list>
|
147
|
+
* </eui-list-item>
|
148
|
+
* </eui-list>
|
149
|
+
*/
|
94
150
|
class EuiListComponent {
|
95
151
|
constructor() {
|
152
|
+
/**
|
153
|
+
* Binds the 'list' ARIA role to the host element for accessibility.
|
154
|
+
* This informs screen readers that this component functions as a list.
|
155
|
+
*/
|
96
156
|
this.role = 'list';
|
97
157
|
}
|
158
|
+
/**
|
159
|
+
* CSS class binding that applies the 'eui-list' class to the host element.
|
160
|
+
* This class applies the basic styling for the list component.
|
161
|
+
*
|
162
|
+
* @returns {string} The CSS class to be applied to the host element
|
163
|
+
*/
|
98
164
|
get cssClasses() {
|
99
165
|
return 'eui-list';
|
100
166
|
}
|
167
|
+
/**
|
168
|
+
* Handles keyboard events for navigating the list.
|
169
|
+
* Supports Enter key for selection and arrow keys for navigation.
|
170
|
+
*
|
171
|
+
* @param {KeyboardEvent} event - The keyboard event to handle
|
172
|
+
*/
|
101
173
|
onKeydown(event) {
|
102
174
|
switch (event.key) {
|
103
175
|
case 'Enter': {
|
@@ -124,6 +196,11 @@ class EuiListComponent {
|
|
124
196
|
}
|
125
197
|
}
|
126
198
|
}
|
199
|
+
/**
|
200
|
+
* Initializes the component after content (list items) has been initialized.
|
201
|
+
* Sets up the FocusKeyManager for keyboard navigation and configures tabindex
|
202
|
+
* attributes based on nested list structure.
|
203
|
+
*/
|
127
204
|
ngAfterContentInit() {
|
128
205
|
// instantiates FocusKeyManager with the query list of items enabling wrapping
|
129
206
|
this.focusKeyManager = new FocusKeyManager(this.items).withWrap();
|
@@ -137,14 +214,21 @@ class EuiListComponent {
|
|
137
214
|
}
|
138
215
|
});
|
139
216
|
}
|
217
|
+
/**
|
218
|
+
* Manages focus state of rich content navigation within list items.
|
219
|
+
* Handles the focus transition between list item elements and their navigable content.
|
220
|
+
* Called when right/left arrow keys are pressed on items with navigable content.
|
221
|
+
*/
|
140
222
|
checkRichContentFocusState() {
|
141
223
|
// eslint-disable-next-line
|
142
|
-
!this.focusKeyManager.activeItem.euiArrowKeyNavigableDirective.isFocused ?
|
224
|
+
!this.focusKeyManager.activeItem.euiArrowKeyNavigableDirective.isFocused ?
|
225
|
+
this.focusKeyManager.activeItem.euiArrowKeyNavigableDirective.elementRef.nativeElement.focus() :
|
226
|
+
this.focusKeyManager.activeItem.focus();
|
143
227
|
}
|
144
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
145
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1
|
228
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: EuiListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
229
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: EuiListComponent, isStandalone: false, selector: "[euiList], eui-list", host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "class": "this.cssClasses", "attr.role": "this.role", "attr.tabindex": "this.tabIndex" } }, queries: [{ propertyName: "items", predicate: i0.forwardRef(() => EuiListItemComponent), descendants: true }], ngImport: i0, template: '<ng-content/>', isInline: true, styles: [":root{--_eui-scrollbars-foreground-color: var(--eui-c-neutral-lightest)}html.eui-t-dark{--_eui-scrollbars-foreground-color: var(--eui-c-neutral-light)}.eui-19 :host.eui-list{display:block;height:auto;position:relative;margin:0;padding:0;border:var(--eui-bw-s) solid transparent}.eui-19 :host.eui-list:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-list:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-list [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-list button.eui-list-item{padding:var(--eui-s-2xs) var(--eui-s-xs)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
146
230
|
}
|
147
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
231
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: EuiListComponent, decorators: [{
|
148
232
|
type: Component,
|
149
233
|
args: [{ selector: '[euiList], eui-list', template: '<ng-content/>', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [":root{--_eui-scrollbars-foreground-color: var(--eui-c-neutral-lightest)}html.eui-t-dark{--_eui-scrollbars-foreground-color: var(--eui-c-neutral-light)}.eui-19 :host.eui-list{display:block;height:auto;position:relative;margin:0;padding:0;border:var(--eui-bw-s) solid transparent}.eui-19 :host.eui-list:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-list:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-list [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 :host.eui-list button.eui-list-item{padding:var(--eui-s-2xs) var(--eui-s-xs)}\n"] }]
|
150
234
|
}], propDecorators: { cssClasses: [{
|
@@ -164,15 +248,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
|
|
164
248
|
args: ['keydown', ['$event']]
|
165
249
|
}] } });
|
166
250
|
|
251
|
+
/**
|
252
|
+
* Angular module that provides list components for navigation and content organization.
|
253
|
+
*
|
254
|
+
* This module bundles the EuiListComponent and EuiListItemComponent along with their
|
255
|
+
* required dependencies to create accessible, keyboard-navigable list interfaces.
|
256
|
+
*
|
257
|
+
* @example
|
258
|
+
* // Import the module in your application
|
259
|
+
* import { EuiListModule } from '@eui/components/eui-list';
|
260
|
+
*
|
261
|
+
* @NgModule({
|
262
|
+
* imports: [
|
263
|
+
* EuiListModule
|
264
|
+
* ]
|
265
|
+
* })
|
266
|
+
* export class YourFeatureModule {}
|
267
|
+
*/
|
167
268
|
class EuiListModule {
|
168
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
169
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1
|
170
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1
|
269
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: EuiListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
270
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.1", ngImport: i0, type: EuiListModule, declarations: [EuiListComponent, EuiListItemComponent], imports: [CommonModule, EuiIconModule, EuiButtonComponent, EuiLabelComponent], exports: [EuiListComponent, EuiListItemComponent] }); }
|
271
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: EuiListModule, imports: [CommonModule, EuiIconModule, EuiButtonComponent, EuiLabelComponent] }); }
|
171
272
|
}
|
172
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
273
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: EuiListModule, decorators: [{
|
173
274
|
type: NgModule,
|
174
275
|
args: [{
|
175
|
-
imports: [CommonModule, EuiIconModule,
|
276
|
+
imports: [CommonModule, EuiIconModule, EuiButtonComponent, EuiLabelComponent],
|
176
277
|
declarations: [EuiListComponent, EuiListItemComponent],
|
177
278
|
exports: [EuiListComponent, EuiListItemComponent],
|
178
279
|
}]
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-components-eui-list.mjs","sources":["../../eui-list/eui-list-item/eui-list-item.component.ts","../../eui-list/eui-list-item/eui-list-item.component.html","../../eui-list/eui-list.component.ts","../../eui-list/eui-list.module.ts","../../eui-list/eui-components-eui-list.ts"],"sourcesContent":["import {\n Component,\n HostBinding,\n ContentChildren,\n forwardRef,\n QueryList,\n Input,\n ElementRef,\n booleanAttribute,\n ContentChild,\n} from '@angular/core';\nimport { Highlightable, FocusableOption } from '@angular/cdk/a11y';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiListComponent } from '../eui-list.component';\nimport { EuiIconSvgComponent } from '@eui/components/eui-icon';\nimport { EuiLabelComponent } from '@eui/components/eui-label';\nimport { EuiTemplateDirective, EuiArrowKeyNavigableDirective } from '@eui/components/directives';\n\n@Component({\n templateUrl: './eui-list-item.component.html',\n selector: '[euiListItem], eui-list-item',\n styleUrls: ['../styles/list-item.scss'],\n standalone: false,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiPrimary',\n 'euiSecondary',\n 'euiSuccess',\n 'euiInfo',\n 'euiWarning',\n 'euiDanger',\n 'euiAccent',\n 'euiVariant',\n ],\n },\n ],\n})\nexport class EuiListItemComponent implements FocusableOption, Highlightable {\n @HostBinding('class')\n get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-list-item'),\n this.isActive ? 'eui-list-item--active' : '',\n ].join(' ').trim();\n }\n\n @HostBinding('attr.role') role = 'listitem';\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-list-item';\n @HostBinding('attr.tabindex') tabindex = '-1';\n\n @ContentChildren(forwardRef(() => EuiListComponent), { descendants: true }) euiListComponent: QueryList<EuiListComponent>;\n @ContentChildren(forwardRef(() => EuiIconSvgComponent), { descendants: true }) euiIconSvgComponent: QueryList<EuiIconSvgComponent>;\n @ContentChildren(forwardRef(() => EuiLabelComponent), { descendants: true }) euiLabelComponent: QueryList<EuiLabelComponent>;\n @ContentChildren(forwardRef(() => EuiTemplateDirective), { descendants: true }) templates: QueryList<EuiTemplateDirective>;\n @ContentChild(forwardRef(() => EuiArrowKeyNavigableDirective)) euiArrowKeyNavigableDirective: EuiArrowKeyNavigableDirective;\n\n @Input({ transform: booleanAttribute }) isActive = false;\n\n constructor(\n public baseStatesDirective: BaseStatesDirective,\n private elementRef: ElementRef,\n ) {\n }\n\n public focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n public click(): void {\n this.elementRef.nativeElement.click();\n }\n\n public setActiveStyles(): void {\n this.isActive = true;\n }\n\n public setInactiveStyles(): void {\n this.isActive = false;\n }\n}\n","<div class=\"eui-list-item__container\" [class.eui-list-item--has-submenu]=\"euiListComponent.length > 0\">\n <div class=\"eui-list-item__content\">\n <div *ngIf=\"euiIconSvgComponent.length > 0\" class=\"eui-list-item__content-icon\">\n <ng-content select=\"eui-icon-svg, span[euiIconSvg]\"></ng-content>\n </div>\n <div *ngIf=\"euiLabelComponent.length > 0\" class=\"eui-list-item__content-text\">\n <ng-content select=\"[eui-label], [euiLabel]\"></ng-content>\n </div>\n <ng-content></ng-content>\n </div>\n\n <div\n class=\"eui-list-item__sub-list\"\n *ngIf=\"(euiListComponent.length > 0) || (euiListComponent.length > 0)\">\n <ng-content select=\"[eui-list], [euiList]\"></ng-content>\n </div>\n</div>\n","import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n AfterContentInit,\n ContentChildren,\n forwardRef,\n QueryList,\n HostListener,\n} from '@angular/core';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\n\nimport { EuiListItemComponent } from './eui-list-item/eui-list-item.component';\n\n@Component({\n selector: '[euiList], eui-list',\n template: '<ng-content/>',\n styleUrls: ['./styles/list.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class EuiListComponent implements AfterContentInit {\n @HostBinding('class')\n get cssClasses(): string {\n return 'eui-list';\n }\n\n @HostBinding('attr.role') role = 'list';\n @HostBinding('attr.tabindex') tabIndex: string;\n @ContentChildren(forwardRef(() => EuiListItemComponent), { descendants: true }) items: QueryList<EuiListItemComponent>;\n private focusKeyManager: FocusKeyManager<EuiListItemComponent>;\n\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent): void {\n switch (event.key) {\n case 'Enter': {\n if (this.focusKeyManager?.activeItem) {\n this.focusKeyManager.activeItem.click();\n }\n break;\n }\n case 'ArrowRight': {\n if(this.focusKeyManager.activeItem?.euiArrowKeyNavigableDirective){\n this.checkRichContentFocusState();\n }\n break;\n }\n case 'ArrowLeft': {\n if(this.focusKeyManager.activeItem?.euiArrowKeyNavigableDirective){\n this.checkRichContentFocusState();\n }\n break;\n }\n default: {\n this.focusKeyManager.onKeydown(event);\n break;\n }\n }\n }\n\n ngAfterContentInit(): void {\n // instantiates FocusKeyManager with the query list of items enabling wrapping\n this.focusKeyManager = new FocusKeyManager(this.items).withWrap();\n\n // checks whether an item contains a sub-menu and if so it sets it's ul element tabindex to -1\n this.items.forEach((item) => {\n if (item.euiListComponent.length > 0) {\n item.euiListComponent.forEach((list) => (list.tabIndex = '-1'));\n } else {\n this.tabIndex = '0';\n }\n });\n }\n\n checkRichContentFocusState(): void {\n // eslint-disable-next-line\n !this.focusKeyManager.activeItem.euiArrowKeyNavigableDirective.isFocused ? this.focusKeyManager.activeItem.euiArrowKeyNavigableDirective.elementRef.nativeElement.focus() : this.focusKeyManager.activeItem.focus();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { EuiListComponent } from './eui-list.component';\nimport { EuiListItemComponent } from './eui-list-item/eui-list-item.component';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiLabelModule } from '@eui/components/eui-label';\nimport { EuiButtonModule } from '@eui/components/eui-button';\n\n@NgModule({\n imports: [CommonModule, EuiIconModule, EuiButtonModule, EuiLabelModule],\n declarations: [EuiListComponent, EuiListItemComponent],\n exports: [EuiListComponent, EuiListItemComponent],\n})\nexport class EuiListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"eui-components-eui-list.mjs","sources":["../../eui-list/eui-list-item/eui-list-item.component.ts","../../eui-list/eui-list-item/eui-list-item.component.html","../../eui-list/eui-list.component.ts","../../eui-list/eui-list.module.ts","../../eui-list/eui-components-eui-list.ts"],"sourcesContent":["import {\n Component,\n HostBinding,\n ContentChildren,\n forwardRef,\n QueryList,\n Input,\n ElementRef,\n booleanAttribute,\n ContentChild,\n} from '@angular/core';\nimport { Highlightable, FocusableOption } from '@angular/cdk/a11y';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiListComponent } from '../eui-list.component';\nimport { EuiIconSvgComponent } from '@eui/components/eui-icon';\nimport { EuiLabelComponent } from '@eui/components/eui-label';\nimport { EuiTemplateDirective, EuiArrowKeyNavigableDirective } from '@eui/components/directives';\n\n/**\n * @description\n * Component that represents a single item within an EuiList.\n * Implements FocusableOption and Highlightable for keyboard navigation and accessibility.\n *\n * This component is designed to work with the EuiListComponent as part of a navigable list.\n * It supports various display states through the BaseStatesDirective, and can contain\n * nested list components, icons, labels, and custom templates.\n *\n * @example\n * <eui-list>\n * <eui-list-item>Simple item</eui-list-item>\n * <eui-list-item [euiPrimary]=\"true\">Primary item</eui-list-item>\n * <eui-list-item [isActive]=\"true\">Active item</eui-list-item>\n * </eui-list>\n */\n@Component({\n templateUrl: './eui-list-item.component.html',\n selector: '[euiListItem], eui-list-item',\n styleUrls: ['../styles/list-item.scss'],\n standalone: false,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiPrimary',\n 'euiSecondary',\n 'euiSuccess',\n 'euiInfo',\n 'euiWarning',\n 'euiDanger',\n 'euiAccent',\n 'euiVariant',\n ],\n },\n ],\n})\nexport class EuiListItemComponent implements FocusableOption, Highlightable {\n @HostBinding('class')\n get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-list-item'),\n this.isActive ? 'eui-list-item--active' : '',\n ].join(' ').trim();\n }\n\n @HostBinding('attr.role') role = 'listitem';\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-list-item';\n @HostBinding('attr.tabindex') tabindex = '-1';\n\n @ContentChildren(forwardRef(() => EuiListComponent), { descendants: true }) euiListComponent: QueryList<EuiListComponent>;\n @ContentChildren(forwardRef(() => EuiIconSvgComponent), { descendants: true }) euiIconSvgComponent: QueryList<EuiIconSvgComponent>;\n @ContentChildren(forwardRef(() => EuiLabelComponent), { descendants: true }) euiLabelComponent: QueryList<EuiLabelComponent>;\n @ContentChildren(forwardRef(() => EuiTemplateDirective), { descendants: true }) templates: QueryList<EuiTemplateDirective>;\n @ContentChild(forwardRef(() => EuiArrowKeyNavigableDirective)) euiArrowKeyNavigableDirective: EuiArrowKeyNavigableDirective;\n\n @Input({ transform: booleanAttribute }) isActive = false;\n\n constructor(\n public baseStatesDirective: BaseStatesDirective,\n private elementRef: ElementRef,\n ) {\n }\n\n /**\n * Sets focus on the list item element.\n * Used by the FocusKeyManager to handle keyboard navigation within the list.\n */\n public focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n /**\n * Programmatically triggers a click event on the list item element.\n * Typically, invoked when the user presses Enter while the item is focused.\n */\n // TODO: make it protected\n public click(): void {\n this.elementRef.nativeElement.click();\n }\n\n /**\n * Applies active styling to the list item.\n * Called by the FocusKeyManager when this item becomes the active item in the list.\n * Sets the isActive flag to true, which adds the 'eui-list-item--active' CSS class.\n */\n public setActiveStyles(): void {\n this.isActive = true;\n }\n\n /**\n * Removes active styling from the list item.\n * Called by the FocusKeyManager when another item becomes the active item.\n * Sets the isActive flag to false, removing the 'eui-list-item--active' CSS class.\n */\n public setInactiveStyles(): void {\n this.isActive = false;\n }\n}\n","<div class=\"eui-list-item__container\" [class.eui-list-item--has-submenu]=\"euiListComponent.length > 0\">\n <div class=\"eui-list-item__content\">\n <div *ngIf=\"euiIconSvgComponent.length > 0\" class=\"eui-list-item__content-icon\">\n <ng-content select=\"eui-icon-svg, span[euiIconSvg]\"></ng-content>\n </div>\n <div *ngIf=\"euiLabelComponent.length > 0\" class=\"eui-list-item__content-text\">\n <ng-content select=\"[eui-label], [euiLabel]\"></ng-content>\n </div>\n <ng-content></ng-content>\n </div>\n\n <div\n class=\"eui-list-item__sub-list\"\n *ngIf=\"(euiListComponent.length > 0) || (euiListComponent.length > 0)\">\n <ng-content select=\"[eui-list], [euiList]\"></ng-content>\n </div>\n</div>\n","import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n AfterContentInit,\n ContentChildren,\n forwardRef,\n QueryList,\n HostListener,\n} from '@angular/core';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\n\nimport { EuiListItemComponent } from './eui-list-item/eui-list-item.component';\n\n/**\n * @description\n * Component that provides a navigable list implementation with keyboard interaction support.\n * Works with Angular CDK's FocusKeyManager to enable keyboard navigation between list items.\n *\n * The component automatically manages focus between nested lists and supports rich content\n * navigation. It can contain multiple EuiListItemComponents as children.\n *\n * @example\n * <eui-list>\n * <eui-list-item>First item</eui-list-item>\n * <eui-list-item>Second item</eui-list-item>\n * <eui-list-item>\n * Item with nested list\n * <eui-list>\n * <eui-list-item>Nested item 1</eui-list-item>\n * <eui-list-item>Nested item 2</eui-list-item>\n * </eui-list>\n * </eui-list-item>\n * </eui-list>\n */\n@Component({\n selector: '[euiList], eui-list',\n template: '<ng-content/>',\n styleUrls: ['./styles/list.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class EuiListComponent implements AfterContentInit {\n /**\n * CSS class binding that applies the 'eui-list' class to the host element.\n * This class applies the basic styling for the list component.\n *\n * @returns {string} The CSS class to be applied to the host element\n */\n @HostBinding('class')\n get cssClasses(): string {\n return 'eui-list';\n }\n\n /**\n * Binds the 'list' ARIA role to the host element for accessibility.\n * This informs screen readers that this component functions as a list.\n */\n @HostBinding('attr.role') role = 'list';\n /**\n * Binds the tabIndex attribute to the host element.\n * Controls whether the list can receive keyboard focus.\n * Set to '0' for top-level lists and '-1' for nested lists.\n */\n @HostBinding('attr.tabindex') tabIndex: string;\n /**\n * Collection of all list item components that are children of this list.\n * Includes items from nested lists due to the 'descendants: true' option.\n */\n @ContentChildren(forwardRef(() => EuiListItemComponent), { descendants: true }) items: QueryList<EuiListItemComponent>;\n private focusKeyManager: FocusKeyManager<EuiListItemComponent>;\n\n /**\n * Handles keyboard events for navigating the list.\n * Supports Enter key for selection and arrow keys for navigation.\n *\n * @param {KeyboardEvent} event - The keyboard event to handle\n */\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent): void {\n switch (event.key) {\n case 'Enter': {\n if (this.focusKeyManager?.activeItem) {\n this.focusKeyManager.activeItem.click();\n }\n break;\n }\n case 'ArrowRight': {\n if(this.focusKeyManager.activeItem?.euiArrowKeyNavigableDirective){\n this.checkRichContentFocusState();\n }\n break;\n }\n case 'ArrowLeft': {\n if(this.focusKeyManager.activeItem?.euiArrowKeyNavigableDirective){\n this.checkRichContentFocusState();\n }\n break;\n }\n default: {\n this.focusKeyManager.onKeydown(event);\n break;\n }\n }\n }\n\n /**\n * Initializes the component after content (list items) has been initialized.\n * Sets up the FocusKeyManager for keyboard navigation and configures tabindex\n * attributes based on nested list structure.\n */\n ngAfterContentInit(): void {\n // instantiates FocusKeyManager with the query list of items enabling wrapping\n this.focusKeyManager = new FocusKeyManager(this.items).withWrap();\n\n // checks whether an item contains a sub-menu and if so it sets it's ul element tabindex to -1\n this.items.forEach((item) => {\n if (item.euiListComponent.length > 0) {\n item.euiListComponent.forEach((list) => (list.tabIndex = '-1'));\n } else {\n this.tabIndex = '0';\n }\n });\n }\n\n /**\n * Manages focus state of rich content navigation within list items.\n * Handles the focus transition between list item elements and their navigable content.\n * Called when right/left arrow keys are pressed on items with navigable content.\n */\n checkRichContentFocusState(): void {\n // eslint-disable-next-line\n !this.focusKeyManager.activeItem.euiArrowKeyNavigableDirective.isFocused ?\n this.focusKeyManager.activeItem.euiArrowKeyNavigableDirective.elementRef.nativeElement.focus() :\n this.focusKeyManager.activeItem.focus();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { EuiListComponent } from './eui-list.component';\nimport { EuiListItemComponent } from './eui-list-item/eui-list-item.component';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiLabelComponent } from '@eui/components/eui-label';\nimport { EuiButtonComponent } from '@eui/components/eui-button';\n\n/**\n * Angular module that provides list components for navigation and content organization.\n *\n * This module bundles the EuiListComponent and EuiListItemComponent along with their\n * required dependencies to create accessible, keyboard-navigable list interfaces.\n *\n * @example\n * // Import the module in your application\n * import { EuiListModule } from '@eui/components/eui-list';\n *\n * @NgModule({\n * imports: [\n * EuiListModule\n * ]\n * })\n * export class YourFeatureModule {}\n */\n@NgModule({\n imports: [CommonModule, EuiIconModule, EuiButtonComponent, EuiLabelComponent],\n declarations: [EuiListComponent, EuiListItemComponent],\n exports: [EuiListComponent, EuiListItemComponent],\n})\nexport class EuiListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;AAmBA;;;;;;;;;;;;;;;AAeG;MAsBU,oBAAoB,CAAA;AAC7B,IAAA,IACI,UAAU,GAAA;QACV,OAAO;AACH,YAAA,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,eAAe,CAAC;YACvD,IAAI,CAAC,QAAQ,GAAG,uBAAuB,GAAG,EAAE;AAC/C,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;IAetB,WACW,CAAA,mBAAwC,EACvC,UAAsB,EAAA;QADvB,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB;QAClB,IAAU,CAAA,UAAA,GAAV,UAAU;QAdI,IAAI,CAAA,IAAA,GAAG,UAAU;QACJ,IAAO,CAAA,OAAA,GAAG,eAAe;QAClC,IAAQ,CAAA,QAAA,GAAG,IAAI;QAQL,IAAQ,CAAA,QAAA,GAAG,KAAK;;AAQxD;;;AAGG;IACI,KAAK,GAAA;AACR,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE;;AAGzC;;;AAGG;;IAEI,KAAK,GAAA;AACR,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE;;AAGzC;;;;AAIG;IACI,eAAe,GAAA;AAClB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;;AAGxB;;;;AAIG;IACI,iBAAiB,GAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;;8GA3DhB,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAmBT,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAgB,CAFL,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,eAAA,EAAA,cAAA,EAAA,eAAA,EAAA,eAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,+BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,6BAA6B,CAJ1B,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,gBAAgB,CAChB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,mBAAmB,CACnB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,iBAAiB,CACjB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,oBAAoB,8UCxE1D,iyBAiBA,EAAA,MAAA,EAAA,CAAA,+xHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDuCa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBArBhC,SAAS;+BAEI,8BAA8B,EAAA,UAAA,EAE5B,KAAK,EACD,cAAA,EAAA;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,mBAAmB;AAC9B,4BAAA,MAAM,EAAE;gCACJ,YAAY;gCACZ,cAAc;gCACd,YAAY;gCACZ,SAAS;gCACT,YAAY;gCACZ,WAAW;gCACX,WAAW;gCACX,YAAY;AACf,6BAAA;AACJ,yBAAA;AACJ,qBAAA,EAAA,QAAA,EAAA,iyBAAA,EAAA,MAAA,EAAA,CAAA,+xHAAA,CAAA,EAAA;iHAIG,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;gBAQM,IAAI,EAAA,CAAA;sBAA7B,WAAW;uBAAC,WAAW;gBACe,OAAO,EAAA,CAAA;sBAA7C,WAAW;uBAAC,eAAe;;sBAAG;gBACD,QAAQ,EAAA,CAAA;sBAArC,WAAW;uBAAC,eAAe;gBAEgD,gBAAgB,EAAA,CAAA;sBAA3F,eAAe;uBAAC,UAAU,CAAC,MAAM,gBAAgB,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;gBACK,mBAAmB,EAAA,CAAA;sBAAjG,eAAe;uBAAC,UAAU,CAAC,MAAM,mBAAmB,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;gBACA,iBAAiB,EAAA,CAAA;sBAA7F,eAAe;uBAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;gBACK,SAAS,EAAA,CAAA;sBAAxF,eAAe;uBAAC,UAAU,CAAC,MAAM,oBAAoB,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;gBACf,6BAA6B,EAAA,CAAA;sBAA3F,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,6BAA6B,CAAC;gBAErB,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;;AE7D1C;;;;;;;;;;;;;;;;;;;;AAoBG;MAQU,gBAAgB,CAAA;AAP7B,IAAA,WAAA,GAAA;AAmBI;;;AAGG;QACuB,IAAI,CAAA,IAAA,GAAG,MAAM;AA8E1C;AA7FG;;;;;AAKG;AACH,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,UAAU;;AAqBrB;;;;;AAKG;AAEH,IAAA,SAAS,CAAC,KAAoB,EAAA;AAC1B,QAAA,QAAQ,KAAK,CAAC,GAAG;YACb,KAAK,OAAO,EAAE;AACV,gBAAA,IAAI,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE;AAClC,oBAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,EAAE;;gBAE3C;;YAEJ,KAAK,YAAY,EAAE;gBAChB,IAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,6BAA6B,EAAC;oBAC7D,IAAI,CAAC,0BAA0B,EAAE;;gBAEtC;;YAEH,KAAK,WAAW,EAAE;gBACf,IAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,6BAA6B,EAAC;oBAC7D,IAAI,CAAC,0BAA0B,EAAE;;gBAEtC;;YAEH,SAAS;AACL,gBAAA,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC;gBACrC;;;;AAKZ;;;;AAIG;IACH,kBAAkB,GAAA;;AAEd,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;;QAGjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YACxB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,gBAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;;iBAC5D;AACH,gBAAA,IAAI,CAAC,QAAQ,GAAG,GAAG;;AAE3B,SAAC,CAAC;;AAGN;;;;AAIG;IACH,0BAA0B,GAAA;;QAEtB,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,6BAA6B,CAAC,SAAS;AACpE,YAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,6BAA6B,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE;AAC9F,YAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,EAAE;;8GA5FtC,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,eAAA,EAAA,eAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MA2BS,oBAAoB,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAhC5C,eAAe,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,szBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAKhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,YACrB,eAAe,EAAA,eAAA,EAER,uBAAuB,CAAC,MAAM,cACnC,KAAK,EAAA,MAAA,EAAA,CAAA,szBAAA,CAAA,EAAA;8BAUb,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;gBASM,IAAI,EAAA,CAAA;sBAA7B,WAAW;uBAAC,WAAW;gBAMM,QAAQ,EAAA,CAAA;sBAArC,WAAW;uBAAC,eAAe;gBAKoD,KAAK,EAAA,CAAA;sBAApF,eAAe;uBAAC,UAAU,CAAC,MAAM,oBAAoB,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;gBAU9E,SAAS,EAAA,CAAA;sBADR,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;;ACrEvC;;;;;;;;;;;;;;;;AAgBG;MAMU,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAHP,YAAA,EAAA,CAAA,gBAAgB,EAAE,oBAAoB,aAD3C,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,CAElE,EAAA,OAAA,EAAA,CAAA,gBAAgB,EAAE,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAEvC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAJZ,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,CAAA,EAAA,CAAA,CAAA;;2FAInE,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,CAAC;AAC7E,oBAAA,YAAY,EAAE,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;AACtD,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;AACpD,iBAAA;;;AC9BD;;AAEG;;;;"}
|