@eui/components 18.0.0-next.26 → 18.0.0-next.27
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/components/ChartComponent.html +1 -1
- package/docs/components/CollapsedBreadcrumbComponent.html +1 -1
- package/docs/components/DefaultComponent.html +1 -1
- package/docs/components/EuiAlertComponent.html +2 -2
- package/docs/components/EuiAlertTitleComponent.html +1 -1
- package/docs/components/EuiAppBreadcrumbComponent.html +1 -1
- package/docs/components/EuiAppComponent.html +1 -1
- package/docs/components/EuiAppFooterComponent.html +1 -1
- package/docs/components/EuiAppHeaderComponent.html +1 -1
- package/docs/components/EuiAppSidebarBodyComponent.html +1 -1
- package/docs/components/EuiAppSidebarComponent.html +1 -1
- package/docs/components/EuiAppSidebarDrawerComponent.html +1 -1
- package/docs/components/EuiAppSidebarFooterComponent.html +1 -1
- package/docs/components/EuiAppSidebarHeaderComponent.html +1 -1
- package/docs/components/EuiAppSidebarHeaderUserProfileComponent.html +1 -1
- package/docs/components/EuiAppSidebarMenuComponent.html +1 -1
- package/docs/components/EuiAppToolbarComponent.html +1 -1
- package/docs/components/EuiAppTopMessageComponent.html +1 -1
- package/docs/components/EuiAutocompleteAsyncTestComponent.html +1 -1
- package/docs/components/EuiAutocompleteChipsAsyncTestComponent.html +1 -1
- package/docs/components/EuiAutocompleteChipsTestComponent.html +1 -1
- package/docs/components/EuiAutocompleteComponent.html +1 -1
- package/docs/components/EuiAutocompleteOptionComponent.html +1 -1
- package/docs/components/EuiAutocompleteOptionGroupComponent.html +1 -1
- package/docs/components/EuiAutocompleteTestComponent.html +1 -1
- package/docs/components/EuiAvatarBadgeComponent.html +1 -1
- package/docs/components/EuiAvatarComponent.html +1 -1
- package/docs/components/EuiAvatarIconComponent.html +1 -1
- package/docs/components/EuiAvatarImageComponent.html +1 -1
- package/docs/components/EuiAvatarListComponent.html +1 -1
- package/docs/components/EuiAvatarTextComponent.html +1 -1
- package/docs/components/EuiBadgeComponent.html +2 -2
- package/docs/components/EuiBlockContentComponent.html +1 -1
- package/docs/components/EuiBlockDocumentComponent.html +1 -1
- package/docs/components/EuiBreadcrumbComponent.html +1 -1
- package/docs/components/EuiBreadcrumbItemComponent.html +1 -1
- package/docs/components/EuiButtonComponent.html +1 -1
- package/docs/components/EuiButtonGroupComponent.html +1 -1
- package/docs/components/EuiButtonV2Component.html +1 -1
- package/docs/components/EuiCardComponent.html +1 -1
- package/docs/components/EuiCardContentComponent.html +1 -1
- package/docs/components/EuiCardFooterActionButtonsComponent.html +1 -1
- package/docs/components/EuiCardFooterActionIconsComponent.html +1 -1
- package/docs/components/EuiCardFooterComponent.html +1 -1
- package/docs/components/EuiCardFooterMenuContentComponent.html +1 -1
- package/docs/components/EuiCardHeaderBodyComponent.html +1 -1
- package/docs/components/EuiCardHeaderComponent.html +1 -1
- package/docs/components/EuiCardHeaderLeftContentComponent.html +1 -1
- package/docs/components/EuiCardHeaderRightContentComponent.html +1 -1
- package/docs/components/EuiCardHeaderSubtitleComponent.html +1 -1
- package/docs/components/EuiCardHeaderTitleComponent.html +1 -1
- package/docs/components/EuiCardMediaComponent.html +1 -1
- package/docs/components/EuiChipComponent.html +102 -682
- package/docs/components/EuiChipListComponent.html +3 -2
- package/docs/components/EuiDashboardButtonComponent.html +1 -1
- package/docs/components/EuiDashboardCardComponent.html +1 -1
- package/docs/components/EuiDateRangeSelectorComponent.html +2 -2
- package/docs/components/EuiDatepickerComponent.html +1 -1
- package/docs/components/EuiDialogComponent.html +1 -1
- package/docs/components/EuiDialogContainerComponent.html +1 -1
- package/docs/components/EuiDimmerComponent.html +1 -1
- package/docs/components/EuiDisableContentComponent.html +1 -1
- package/docs/components/EuiDiscussionThreadComponent.html +1 -1
- package/docs/components/EuiDiscussionThreadItemComponent.html +1 -1
- package/docs/components/EuiDropdownComponent.html +1 -1
- package/docs/components/EuiDropdownItemComponent.html +1 -1
- package/docs/components/EuiEclLabelComponent.html +610 -0
- package/docs/components/EuiEditorComponent.html +1 -1
- package/docs/components/EuiEditorCountersComponent.html +1 -1
- package/docs/components/EuiEditorHtmlViewComponent.html +1 -1
- package/docs/components/EuiEditorImageDialogComponent.html +1 -1
- package/docs/components/EuiEditorJsonViewComponent.html +1 -1
- package/docs/components/EuiFeedbackMessageComponent.html +1 -1
- package/docs/components/EuiFieldsetComponent.html +1 -1
- package/docs/components/EuiFilePreviewComponent.html +1 -1
- package/docs/components/EuiFileUploadComponent.html +1 -1
- package/docs/components/EuiFileUploadProgressComponent.html +1 -1
- package/docs/components/EuiFooterComponent.html +1 -1
- package/docs/components/EuiGrowlComponent.html +1 -1
- package/docs/components/EuiHeaderAppComponent.html +1 -1
- package/docs/components/EuiHeaderAppNameComponent.html +1 -1
- package/docs/components/EuiHeaderAppNameLogoComponent.html +1 -1
- package/docs/components/EuiHeaderAppSubtitleComponent.html +1 -1
- package/docs/components/EuiHeaderComponent.html +1 -1
- package/docs/components/EuiHeaderEnvironmentComponent.html +1 -1
- package/docs/components/EuiHeaderLogoComponent.html +1 -1
- package/docs/components/EuiHeaderRightContentComponent.html +1 -1
- package/docs/components/EuiHeaderUserProfileComponent.html +1 -1
- package/docs/components/EuiIconColorComponent.html +1 -1
- package/docs/components/EuiIconSvgButtonComponent.html +1 -1
- package/docs/components/EuiIconSvgComponent.html +1 -1
- package/docs/components/EuiIconToggleComponent.html +1 -1
- package/docs/components/EuiInputCheckboxComponent.html +1 -1
- package/docs/components/EuiInputGroupComponent.html +1 -1
- package/docs/components/EuiInputNumberComponent.html +1 -1
- package/docs/components/EuiInputRadioComponent.html +1 -1
- package/docs/components/EuiInputTextComponent.html +1 -1
- package/docs/components/EuiLabelComponent.html +1 -1
- package/docs/components/EuiLanguageSelectorComponent.html +1 -1
- package/docs/components/EuiListComponent.html +1 -1
- package/docs/components/EuiListItemComponent.html +1 -1
- package/docs/components/EuiMenuComponent.html +1 -1
- package/docs/components/EuiMenuItemComponent.html +2 -2
- package/docs/components/EuiMessageBoxComponent.html +1 -1
- package/docs/components/EuiModalSelectorComponent.html +1 -1
- package/docs/components/EuiNotificationItemComponent.html +1 -1
- package/docs/components/EuiNotificationItemV2Component.html +1 -1
- package/docs/components/EuiNotificationsComponent.html +1 -1
- package/docs/components/EuiNotificationsV2Component.html +1 -1
- package/docs/components/EuiOverlayBodyComponent.html +1 -1
- package/docs/components/EuiOverlayComponent.html +1 -1
- package/docs/components/EuiOverlayFooterComponent.html +1 -1
- package/docs/components/EuiOverlayHeaderComponent.html +1 -1
- package/docs/components/EuiOverlayHeaderTitleComponent.html +1 -1
- package/docs/components/EuiPageBreadcrumbComponent.html +1 -1
- package/docs/components/EuiPageColumnComponent.html +1 -1
- package/docs/components/EuiPageColumnsComponent.html +1 -1
- package/docs/components/EuiPageComponent.html +1 -1
- package/docs/components/EuiPageContentComponent.html +1 -1
- package/docs/components/EuiPageFooterComponent.html +1 -1
- package/docs/components/EuiPageHeaderActionItemsComponent.html +1 -1
- package/docs/components/EuiPageHeaderBodyComponent.html +1 -1
- package/docs/components/EuiPageHeaderComponent.html +1 -1
- package/docs/components/EuiPageHeaderSubLabelComponent.html +1 -1
- package/docs/components/EuiPageHeroHeaderComponent.html +1 -1
- package/docs/components/EuiPageTopContentComponent.html +1 -1
- package/docs/components/EuiPaginatorComponent.html +1 -1
- package/docs/components/EuiPopoverComponent.html +1 -1
- package/docs/components/EuiProgressBarComponent.html +1 -1
- package/docs/components/EuiProgressCircleComponent.html +1 -1
- package/docs/components/EuiResizableComponent.html +1 -1
- package/docs/components/EuiSearchComponent.html +1 -1
- package/docs/components/EuiSelectComponent.html +1 -1
- package/docs/components/EuiSidebarMenuComponent.html +1 -1
- package/docs/components/EuiSidebarToggleComponent.html +1 -1
- package/docs/components/EuiSkeletonComponent.html +1 -1
- package/docs/components/EuiSlideToggleComponent.html +1 -1
- package/docs/components/EuiSlideToggleTestComponent.html +1 -1
- package/docs/components/EuiTabComponent.html +1 -1
- package/docs/components/EuiTabContentComponent.html +1 -1
- package/docs/components/EuiTabLabelComponent.html +1 -1
- package/docs/components/EuiTableComponent.html +1 -1
- package/docs/components/EuiTableExpandableRowComponent.html +1 -1
- package/docs/components/EuiTableFilterComponent.html +1 -1
- package/docs/components/EuiTableSelectableHeaderComponent.html +1 -1
- package/docs/components/EuiTableSelectableRowComponent.html +1 -1
- package/docs/components/EuiTableSortableColComponent.html +1 -1
- package/docs/components/EuiTabsComponent.html +1 -1
- package/docs/components/EuiTextareaComponent.html +1 -1
- package/docs/components/EuiTimebarComponent.html +1 -1
- package/docs/components/EuiTimelineComponent.html +1 -1
- package/docs/components/EuiTimelineItemComponent.html +1 -1
- package/docs/components/EuiTimepickerComponent.html +1 -1
- package/docs/components/EuiToolbarAppComponent.html +1 -1
- package/docs/components/EuiToolbarCenterComponent.html +1 -1
- package/docs/components/EuiToolbarComponent.html +1 -1
- package/docs/components/EuiToolbarEnvironmentComponent.html +1 -1
- package/docs/components/EuiToolbarItemComponent.html +1 -1
- package/docs/components/EuiToolbarItemsComponent.html +1 -1
- package/docs/components/EuiToolbarLogoComponent.html +1 -1
- package/docs/components/EuiToolbarMenuComponent.html +1 -1
- package/docs/components/EuiTooltipContainerComponent.html +1 -1
- package/docs/components/EuiTreeComponent.html +1 -1
- package/docs/components/EuiTreeListComponent.html +1 -1
- package/docs/components/EuiTreeListItemComponent.html +1 -1
- package/docs/components/EuiTreeListItemContentComponent.html +1 -1
- package/docs/components/EuiTreeListToolbarComponent.html +1 -1
- package/docs/components/EuiUserProfileCardComponent.html +1 -1
- package/docs/components/EuiUserProfileComponent.html +1 -1
- package/docs/components/EuiUserProfileMenuComponent.html +1 -1
- package/docs/components/EuiUserProfileMenuItemComponent.html +1 -1
- package/docs/components/EuiWizardComponent.html +1 -1
- package/docs/components/EuiWizardStepComponent.html +1 -1
- package/docs/components/PlaygroundComponent.html +1 -1
- package/docs/components/PlaygroundStickyLastColumnComponent.html +1 -1
- package/docs/components/QuillEditorComponent.html +1 -1
- package/docs/dependencies.html +1 -1
- package/docs/index.html +2 -2
- package/docs/js/menu-wc.js +37 -6
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/variables.html +1 -0
- package/docs/modules/EuiAllModule.html +6 -0
- package/docs/modules/EuiAppModule.html +6 -0
- package/docs/modules/EuiEclLabelModule.html +238 -0
- package/docs/modules/EuiLayoutModule.html +6 -0
- package/docs/modules.html +12 -0
- package/esm2022/eui-alert/eui-alert.component.mjs +3 -3
- package/esm2022/eui-all/eui-all.module.mjs +9 -4
- package/esm2022/eui-badge/eui-badge.component.mjs +4 -4
- package/esm2022/eui-chip/eui-chip.component.mjs +34 -21
- package/esm2022/eui-chip-list/eui-chip-list.component.mjs +12 -3
- package/esm2022/eui-date-range-selector/eui-date-range-selector.component.mjs +3 -3
- package/esm2022/eui-ecl-label/eui-components-eui-ecl-label.mjs +5 -0
- package/esm2022/eui-ecl-label/eui-ecl-label.component.mjs +58 -0
- package/esm2022/eui-ecl-label/eui-ecl-label.module.mjs +19 -0
- package/esm2022/eui-ecl-label/index.mjs +3 -0
- package/esm2022/eui-input-checkbox/eui-input-checkbox.component.mjs +2 -2
- package/esm2022/eui-input-radio/eui-input-radio.component.mjs +2 -2
- package/esm2022/eui-menu/eui-menu-item.component.mjs +3 -3
- package/eui-all/eui-all.module.d.ts +2 -1
- package/eui-all/eui-all.module.d.ts.map +1 -1
- package/eui-badge/eui-badge.component.d.ts +1 -1
- package/eui-chip/eui-chip.component.d.ts +6 -4
- package/eui-chip/eui-chip.component.d.ts.map +1 -1
- package/eui-chip-list/eui-chip-list.component.d.ts +3 -2
- package/eui-chip-list/eui-chip-list.component.d.ts.map +1 -1
- package/eui-ecl-label/eui-components-eui-ecl-label.d.ts.map +1 -0
- package/eui-ecl-label/eui-ecl-label.component.d.ts +18 -0
- package/eui-ecl-label/eui-ecl-label.component.d.ts.map +1 -0
- package/eui-ecl-label/eui-ecl-label.module.d.ts +10 -0
- package/eui-ecl-label/eui-ecl-label.module.d.ts.map +1 -0
- package/eui-ecl-label/index.d.ts +3 -0
- package/eui-ecl-label/index.d.ts.map +1 -0
- package/eui-ecl-label/package.json +3 -0
- package/fesm2022/eui-components-eui-alert.mjs +10 -10
- package/fesm2022/eui-components-eui-alert.mjs.map +1 -1
- package/fesm2022/eui-components-eui-badge.mjs +3 -3
- package/fesm2022/eui-components-eui-badge.mjs.map +2 -2
- package/fesm2022/eui-components-eui-chip-list.mjs +17 -48
- package/fesm2022/eui-components-eui-chip-list.mjs.map +2 -2
- package/fesm2022/eui-components-eui-chip.mjs +33 -14
- package/fesm2022/eui-components-eui-chip.mjs.map +2 -2
- package/fesm2022/eui-components-eui-date-range-selector.mjs +6 -2
- package/fesm2022/eui-components-eui-date-range-selector.mjs.map +2 -2
- package/fesm2022/eui-components-eui-ecl-label.mjs +92 -0
- package/fesm2022/eui-components-eui-ecl-label.mjs.map +7 -0
- 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-input-radio.mjs +2 -2
- package/fesm2022/eui-components-eui-input-radio.mjs.map +1 -1
- package/fesm2022/eui-components-eui-menu.mjs +2 -2
- package/fesm2022/eui-components-eui-menu.mjs.map +1 -1
- package/fesm2022/eui-components.mjs +9 -4
- package/fesm2022/eui-components.mjs.map +2 -2
- package/package.json +9 -3
@@ -0,0 +1,92 @@
|
|
1
|
+
// eui-ecl-label.component.mjs
|
2
|
+
import { Component, HostBinding, ChangeDetectionStrategy, Input, booleanAttribute } from "@angular/core";
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
var EuiEclLabelComponent = class _EuiEclLabelComponent {
|
5
|
+
constructor() {
|
6
|
+
this.eclLow = true;
|
7
|
+
this.eclMedium = false;
|
8
|
+
this.eclHigh = false;
|
9
|
+
this.eclHighlight = false;
|
10
|
+
this.e2eAttr = "eui-badge";
|
11
|
+
this.role = "status";
|
12
|
+
this.ariaLabel = "badge";
|
13
|
+
}
|
14
|
+
get cssClasses() {
|
15
|
+
return [
|
16
|
+
"eui-ecl-label",
|
17
|
+
this.eclLow ? "eui-ecl-label--low" : "",
|
18
|
+
this.eclMedium ? "eui-ecl-label--medium" : "",
|
19
|
+
this.eclHigh ? "eui-ecl-label--high" : "",
|
20
|
+
this.eclHighlight ? "eui-ecl-label--highlight" : ""
|
21
|
+
].join(" ").trim();
|
22
|
+
}
|
23
|
+
static {
|
24
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: _EuiEclLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
25
|
+
}
|
26
|
+
static {
|
27
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-next.3", type: _EuiEclLabelComponent, selector: "div[euiEclLabel], span[euiEclLabel], eui-ecl-label", inputs: { eclLow: ["eclLow", "eclLow", booleanAttribute], eclMedium: ["eclMedium", "eclMedium", booleanAttribute], eclHigh: ["eclHigh", "eclHigh", booleanAttribute], eclHighlight: ["eclHighlight", "eclHighlight", booleanAttribute], e2eAttr: "e2eAttr", ariaLabel: ["aria-label", "ariaLabel"] }, host: { properties: { "class": "this.cssClasses", "attr.data-e2e": "this.e2eAttr", "attr.role": "this.role", "attr.aria-label": "this.ariaLabel" } }, ngImport: i0, template: "<ng-content></ng-content>", isInline: true, styles: [":host.eui-ecl-label{align-items:center;display:inline-flex;justify-content:center;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);font:normal normal 400 .875rem/1.5rem var(--eui-base-font-family);border-radius:4px;text-transform:uppercase}:host.eui-ecl-label--low{background-color:var(--eui-base-color-primary-ecl-10);border-color:var(--eui-base-color-primary-ecl-10);color:var(--eui-base-color-primary-ecl-10-contrast)}:host.eui-ecl-label--low .eui-icon-svg svg{color:var(--eui-base-color-primary-ecl-10-contrast);fill:var(--eui-base-color-primary-ecl-10-contrast)}:host.eui-ecl-label--medium{background-color:var(--eui-base-color-accent-10);border-color:var(--eui-base-color-accent-10);color:var(--eui-base-color-accent-10-contrast)}:host.eui-ecl-label--medium .eui-icon-svg svg{color:var(--eui-base-color-accent-10-contrast);fill:var(--eui-base-color-accent-10-contrast)}:host.eui-ecl-label--high{background-color:var(--eui-base-color-accent-100);border-color:var(--eui-base-color-accent-100);color:var(--eui-base-color-accent-100-contrast)}:host.eui-ecl-label--high .eui-icon-svg svg{color:var(--eui-base-color-accent-100-contrast);fill:var(--eui-base-color-accent-100-contrast)}:host.eui-ecl-label--highlight{background-color:var(--eui-base-color-primary-ecl-100);border-color:var(--eui-base-color-primary-ecl-100);color:var(--eui-base-color-primary-ecl-100-contrast)}:host.eui-ecl-label--highlight .eui-icon-svg svg{color:var(--eui-base-color-primary-ecl-100-contrast);fill:var(--eui-base-color-primary-ecl-100-contrast)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
28
|
+
}
|
29
|
+
};
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EuiEclLabelComponent, decorators: [{
|
31
|
+
type: Component,
|
32
|
+
args: [{ selector: "div[euiEclLabel], span[euiEclLabel], eui-ecl-label", template: "<ng-content></ng-content>", changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host.eui-ecl-label{align-items:center;display:inline-flex;justify-content:center;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);font:normal normal 400 .875rem/1.5rem var(--eui-base-font-family);border-radius:4px;text-transform:uppercase}:host.eui-ecl-label--low{background-color:var(--eui-base-color-primary-ecl-10);border-color:var(--eui-base-color-primary-ecl-10);color:var(--eui-base-color-primary-ecl-10-contrast)}:host.eui-ecl-label--low .eui-icon-svg svg{color:var(--eui-base-color-primary-ecl-10-contrast);fill:var(--eui-base-color-primary-ecl-10-contrast)}:host.eui-ecl-label--medium{background-color:var(--eui-base-color-accent-10);border-color:var(--eui-base-color-accent-10);color:var(--eui-base-color-accent-10-contrast)}:host.eui-ecl-label--medium .eui-icon-svg svg{color:var(--eui-base-color-accent-10-contrast);fill:var(--eui-base-color-accent-10-contrast)}:host.eui-ecl-label--high{background-color:var(--eui-base-color-accent-100);border-color:var(--eui-base-color-accent-100);color:var(--eui-base-color-accent-100-contrast)}:host.eui-ecl-label--high .eui-icon-svg svg{color:var(--eui-base-color-accent-100-contrast);fill:var(--eui-base-color-accent-100-contrast)}:host.eui-ecl-label--highlight{background-color:var(--eui-base-color-primary-ecl-100);border-color:var(--eui-base-color-primary-ecl-100);color:var(--eui-base-color-primary-ecl-100-contrast)}:host.eui-ecl-label--highlight .eui-icon-svg svg{color:var(--eui-base-color-primary-ecl-100-contrast);fill:var(--eui-base-color-primary-ecl-100-contrast)}\n"] }]
|
33
|
+
}], propDecorators: { cssClasses: [{
|
34
|
+
type: HostBinding,
|
35
|
+
args: ["class"]
|
36
|
+
}], eclLow: [{
|
37
|
+
type: Input,
|
38
|
+
args: [{ transform: booleanAttribute }]
|
39
|
+
}], eclMedium: [{
|
40
|
+
type: Input,
|
41
|
+
args: [{ transform: booleanAttribute }]
|
42
|
+
}], eclHigh: [{
|
43
|
+
type: Input,
|
44
|
+
args: [{ transform: booleanAttribute }]
|
45
|
+
}], eclHighlight: [{
|
46
|
+
type: Input,
|
47
|
+
args: [{ transform: booleanAttribute }]
|
48
|
+
}], e2eAttr: [{
|
49
|
+
type: HostBinding,
|
50
|
+
args: ["attr.data-e2e"]
|
51
|
+
}, {
|
52
|
+
type: Input
|
53
|
+
}], role: [{
|
54
|
+
type: HostBinding,
|
55
|
+
args: ["attr.role"]
|
56
|
+
}], ariaLabel: [{
|
57
|
+
type: HostBinding,
|
58
|
+
args: ["attr.aria-label"]
|
59
|
+
}, {
|
60
|
+
type: Input,
|
61
|
+
args: ["aria-label"]
|
62
|
+
}] } });
|
63
|
+
|
64
|
+
// eui-ecl-label.module.mjs
|
65
|
+
import { NgModule } from "@angular/core";
|
66
|
+
import { CommonModule } from "@angular/common";
|
67
|
+
import { BaseStatesDirective } from "@eui/components/shared";
|
68
|
+
import * as i02 from "@angular/core";
|
69
|
+
var EuiEclLabelModule = class _EuiEclLabelModule {
|
70
|
+
static {
|
71
|
+
this.ɵfac = i02.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i02, type: _EuiEclLabelModule, deps: [], target: i02.ɵɵFactoryTarget.NgModule });
|
72
|
+
}
|
73
|
+
static {
|
74
|
+
this.ɵmod = i02.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.3", ngImport: i02, type: _EuiEclLabelModule, declarations: [EuiEclLabelComponent], imports: [CommonModule, BaseStatesDirective], exports: [EuiEclLabelComponent] });
|
75
|
+
}
|
76
|
+
static {
|
77
|
+
this.ɵinj = i02.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i02, type: _EuiEclLabelModule, imports: [CommonModule] });
|
78
|
+
}
|
79
|
+
};
|
80
|
+
i02.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i02, type: EuiEclLabelModule, decorators: [{
|
81
|
+
type: NgModule,
|
82
|
+
args: [{
|
83
|
+
imports: [CommonModule, BaseStatesDirective],
|
84
|
+
exports: [EuiEclLabelComponent],
|
85
|
+
declarations: [EuiEclLabelComponent]
|
86
|
+
}]
|
87
|
+
}] });
|
88
|
+
export {
|
89
|
+
EuiEclLabelComponent,
|
90
|
+
EuiEclLabelModule
|
91
|
+
};
|
92
|
+
//# sourceMappingURL=eui-components-eui-ecl-label.mjs.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../eui-ecl-label/eui-ecl-label.component.ts", "../../eui-ecl-label/eui-ecl-label.module.ts"],
|
4
|
+
"sourcesContent": ["import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Input, booleanAttribute } from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n@Component({\n selector: 'div[euiEclLabel], span[euiEclLabel], eui-ecl-label',\n template: '<ng-content></ng-content>',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EuiEclLabelComponent {\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n 'eui-ecl-label',\n this.eclLow ? 'eui-ecl-label--low' : '',\n this.eclMedium ? 'eui-ecl-label--medium' : '',\n this.eclHigh ? 'eui-ecl-label--high' : '',\n this.eclHighlight ? 'eui-ecl-label--highlight' : '',\n ].join(' ').trim();\n }\n\n @Input({ transform: booleanAttribute }) eclLow = true;\n @Input({ transform: booleanAttribute }) eclMedium = false;\n @Input({ transform: booleanAttribute }) eclHigh = false;\n @Input({ transform: booleanAttribute }) eclHighlight = false;\n\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-badge';\n @HostBinding('attr.role') role = 'status';\n @HostBinding('attr.aria-label') @Input('aria-label') ariaLabel: string | null = 'badge';\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiEclLabelComponent } from './eui-ecl-label.component';\n\n@NgModule({\n imports: [CommonModule, BaseStatesDirective],\n exports: [EuiEclLabelComponent],\n declarations: [EuiEclLabelComponent],\n})\nexport class EuiEclLabelModule {}\n"],
|
5
|
+
"mappings": ";AAAA,SAAS,WAAW,aAAa,yBAA4C,OAAO,wBAAwB;;AAStG,IAAO,uBAAP,MAAO,sBAAoB;EANjC,cAAA;AAkB4C,SAAA,SAAS;AACT,SAAA,YAAY;AACZ,SAAA,UAAU;AACV,SAAA,eAAe;AAEhB,SAAA,UAAU;AACvB,SAAA,OAAO;AACoB,SAAA,YAA2B;;EAlBhF,IACW,aAAU;AACjB,WAAO;MACH;MACA,KAAK,SAAS,uBAAuB;MACrC,KAAK,YAAY,0BAA0B;MAC3C,KAAK,UAAU,wBAAwB;MACvC,KAAK,eAAe,6BAA6B;MACnD,KAAK,GAAG,EAAE,KAAI;EACpB;;4GAVS,uBAAoB,MAAA,CAAA,GAAA,QAAA,mBAAA,UAAA,CAAA;EAAA;;gGAApB,uBAAoB,UAAA,sDAAA,QAAA,EAAA,QAAA,CAAA,UAAA,UAYT,gBAAgB,GAAA,WAAA,CAAA,aAAA,aAChB,gBAAgB,GAAA,SAAA,CAAA,WAAA,WAChB,gBAAgB,GAAA,cAAA,CAAA,gBAAA,gBAChB,gBAAgB,GAAA,SAAA,WAAA,WAAA,CAAA,cAAA,WAAA,EAAA,GAAA,MAAA,EAAA,YAAA,EAAA,SAAA,mBAAA,iBAAA,gBAAA,aAAA,aAAA,mBAAA,iBAAA,EAAA,GAAA,UAAA,IAAA,UAnB1B,6BAA2B,UAAA,MAAA,QAAA,CAAA,wgDAAA,GAAA,iBAAA,2BAAA,OAAA,CAAA;EAAA;;kGAI5B,sBAAoB,YAAA,CAAA;QANhC;qBACa,sDAAoD,UACpD,6BAA2B,iBAEpB,wBAAwB,QAAM,QAAA,CAAA,wgDAAA,EAAA,CAAA;sBAIpC,YAAU,CAAA;QADpB;SAAY,OAAO;IAWoB,QAAM,CAAA;QAA7C;SAAM,EAAE,WAAW,iBAAgB,CAAE;IACE,WAAS,CAAA;QAAhD;SAAM,EAAE,WAAW,iBAAgB,CAAE;IACE,SAAO,CAAA;QAA9C;SAAM,EAAE,WAAW,iBAAgB,CAAE;IACE,cAAY,CAAA;QAAnD;SAAM,EAAE,WAAW,iBAAgB,CAAE;IAEC,SAAO,CAAA;QAA7C;SAAY,eAAe;;QAAG;IACL,MAAI,CAAA;QAA7B;SAAY,WAAW;IAC6B,WAAS,CAAA;QAA7D;SAAY,iBAAiB;;QAAG;SAAM,YAAY;;;;AC5BvD,SAAS,gBAAgB;AACzB,SAAS,oBAAoB;AAC7B,SAAS,2BAA2B;;AAS9B,IAAO,oBAAP,MAAO,mBAAiB;;8GAAjB,oBAAiB,MAAA,CAAA,GAAA,QAAA,oBAAA,SAAA,CAAA;EAAA;;+GAAjB,oBAAiB,cAAA,CAFX,oBAAoB,GAAA,SAAA,CAFzB,cAAc,mBAAmB,GAAA,SAAA,CACjC,oBAAoB,EAAA,CAAA;EAAA;;+GAGrB,oBAAiB,SAAA,CAJhB,YAAY,EAAA,CAAA;EAAA;;oGAIb,mBAAiB,YAAA,CAAA;QAL7B;SAAS;IACN,SAAS,CAAC,cAAc,mBAAmB;IAC3C,SAAS,CAAC,oBAAoB;IAC9B,cAAc,CAAC,oBAAoB;GACtC;;",
|
6
|
+
"names": []
|
7
|
+
}
|
@@ -142,12 +142,12 @@ var EuiInputCheckboxComponent = class _EuiInputCheckboxComponent extends InputDi
|
|
142
142
|
this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: _EuiInputCheckboxComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
143
143
|
}
|
144
144
|
static {
|
145
|
-
this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.3", type: _EuiInputCheckboxComponent, selector: "input[euiInputCheckBox]", inputs: { indeterminate: "indeterminate", isInvalid: "isInvalid", styleClass: "styleClass", checked: "checked", id: "id" }, outputs: { indeterminateChange: "indeterminateChange" }, host: { listeners: { "change": "onChanged($event.target.checked)", "keydown.space": "onSpacePressed($event)" }, properties: { "class": "this.cssClasses", "attr.type": "this.type", "attr.checked": "this.checked", "attr.id": "this.id" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "", isInline: true, styles: ['.eui-input-checkbox:not(.cdk-visually-hidden){appearance:inherit;align-items:center;cursor:pointer;display:inline-flex;flex-direction:row;flex-shrink:0;height:
|
145
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.3", type: _EuiInputCheckboxComponent, selector: "input[euiInputCheckBox]", inputs: { indeterminate: "indeterminate", isInvalid: "isInvalid", styleClass: "styleClass", checked: "checked", id: "id" }, outputs: { indeterminateChange: "indeterminateChange" }, host: { listeners: { "change": "onChanged($event.target.checked)", "keydown.space": "onSpacePressed($event)" }, properties: { "class": "this.cssClasses", "attr.type": "this.type", "attr.checked": "this.checked", "attr.id": "this.id" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "", isInline: true, styles: ['.eui-input-checkbox:not(.cdk-visually-hidden){appearance:inherit;align-items:center;cursor:pointer;display:inline-flex;flex-direction:row;flex-shrink:0;height:var(--eui-base-spacing-xl);margin-right:var(--eui-base-spacing-s);position:relative;vertical-align:middle;transition:all .25s ease;width:var(--eui-base-spacing-xl);accent-color:var(--eui-base-color-white);background:var(--eui-base-color-white);border:2px solid var(--eui-base-color-grey-75)}.eui-input-checkbox:not(.cdk-visually-hidden)+.eui-label,.eui-input-checkbox:not(.cdk-visually-hidden)+label{display:inline-flex;cursor:pointer;margin-right:var(--eui-base-spacing-m);white-space:inherit}.eui-input-checkbox:not(.cdk-visually-hidden):checked{background:var(--eui-base-color-primary-100)}.eui-input-checkbox:not(.cdk-visually-hidden):checked:before{position:absolute;height:1rem;width:1rem;content:"";-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 50%;mask-position:50% 50%;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--eui-internal-icon-checkmark-path);mask-image:var(--eui-internal-icon-checkmark-path);background-color:var(--eui-base-color-white);height:var(--eui-base-spacing-xl);width:var(--eui-base-spacing-xl)}.eui-input-checkbox:not(.cdk-visually-hidden):indeterminate{background:var(--eui-base-color-primary-100)}.eui-input-checkbox:not(.cdk-visually-hidden):indeterminate:before{height:1rem;width:1rem;content:"";-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 50%;mask-position:50% 50%;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--eui-internal-icon-remove-path);mask-image:var(--eui-internal-icon-remove-path);background-color:var(--eui-base-color-white);height:var(--eui-base-spacing-xl);width:var(--eui-base-spacing-xl)}.eui-input-checkbox:not(.cdk-visually-hidden):disabled:not([readonly]){background:var(--eui-base-color-grey-25);border:2px solid var(--eui-base-color-grey-75);opacity:.25;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-input-checkbox:not(.cdk-visually-hidden):disabled:not([readonly]):checked:before{height:1rem;width:1rem;content:var(--eui-internal-icon-checkmark-path);height:var(--eui-base-spacing-xl);width:var(--eui-base-spacing-xl)}.eui-input-checkbox:not(.cdk-visually-hidden):disabled:not([readonly])+label{pointer-events:none}.eui-input-checkbox:not(.cdk-visually-hidden)[readonly]{background:var(--eui-base-color-grey-25);opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-input-checkbox:not(.cdk-visually-hidden)[readonly]:checked{background:var(--eui-base-color-primary-100);border:2px solid var(--eui-base-color-primary-100)}.eui-input-checkbox:not(.cdk-visually-hidden)[readonly]:checked:before{height:1rem;width:1rem;content:"";-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 50%;mask-position:50% 50%;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--eui-internal-icon-checkmark-path);mask-image:var(--eui-internal-icon-checkmark-path);background-color:var(--eui-base-color-white);height:var(--eui-base-spacing-xl);width:var(--eui-base-spacing-xl)}.eui-input-checkbox:not(.cdk-visually-hidden)[readonly]+label{align-items:center;pointer-events:none}.eui-input-checkbox:not(.cdk-visually-hidden).eui-input-checkbox--invalid:not(:disabled):not([readonly]),.eui-input-checkbox:not(.cdk-visually-hidden).eui-input-checkbox--danger:not(:disabled):not([readonly]){accent-color:var(--eui-base-color-danger-100);appearance:inherit;background-color:var(--eui-base-color-white);border:2px solid var(--eui-base-color-danger-100)}.eui-input-checkbox:not(.cdk-visually-hidden).eui-input-checkbox--invalid:not(:disabled):not([readonly]):checked,.eui-input-checkbox:not(.cdk-visually-hidden).eui-input-checkbox--danger:not(:disabled):not([readonly]):checked{background:var(--eui-base-color-danger-100)}.eui-input-checkbox:not(.cdk-visually-hidden).eui-input-checkbox--invalid:not(:disabled):not([readonly]):checked:before,.eui-input-checkbox:not(.cdk-visually-hidden).eui-input-checkbox--danger:not(:disabled):not([readonly]):checked:before{height:1rem;width:1rem;content:"";-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 50%;mask-position:50% 50%;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--eui-internal-icon-checkmark-path);mask-image:var(--eui-internal-icon-checkmark-path);background-color:var(--eui-base-color-white);height:var(--eui-base-spacing-xl);width:var(--eui-base-spacing-xl)}.eui-input-checkbox:not(.cdk-visually-hidden):focus:not([readonly]){outline:2px solid var(--eui-ctx-color-focus)!important;outline-offset:0!important;transition:none!important}.eui-input-checkbox:not(.cdk-visually-hidden):focus-visible:not([readonly]){outline:2px solid var(--eui-ctx-color-focus-visible)!important;outline-offset:0!important;transition:none!important}.eui-input-checkbox:not(.cdk-visually-hidden) [tabindex="0"]:focus:not([readonly]){outline:2px solid var(--eui-ctx-color-focus-visible)!important;outline-offset:0!important;transition:none!important}\n'], encapsulation: i0.ViewEncapsulation.None });
|
146
146
|
}
|
147
147
|
};
|
148
148
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EuiInputCheckboxComponent, decorators: [{
|
149
149
|
type: Component,
|
150
|
-
args: [{ selector: "input[euiInputCheckBox]", template: "", encapsulation: ViewEncapsulation.None, styles: ['.eui-input-checkbox:not(.cdk-visually-hidden){appearance:inherit;align-items:center;cursor:pointer;display:inline-flex;flex-direction:row;flex-shrink:0;height:
|
150
|
+
args: [{ selector: "input[euiInputCheckBox]", template: "", encapsulation: ViewEncapsulation.None, styles: ['.eui-input-checkbox:not(.cdk-visually-hidden){appearance:inherit;align-items:center;cursor:pointer;display:inline-flex;flex-direction:row;flex-shrink:0;height:var(--eui-base-spacing-xl);margin-right:var(--eui-base-spacing-s);position:relative;vertical-align:middle;transition:all .25s ease;width:var(--eui-base-spacing-xl);accent-color:var(--eui-base-color-white);background:var(--eui-base-color-white);border:2px solid var(--eui-base-color-grey-75)}.eui-input-checkbox:not(.cdk-visually-hidden)+.eui-label,.eui-input-checkbox:not(.cdk-visually-hidden)+label{display:inline-flex;cursor:pointer;margin-right:var(--eui-base-spacing-m);white-space:inherit}.eui-input-checkbox:not(.cdk-visually-hidden):checked{background:var(--eui-base-color-primary-100)}.eui-input-checkbox:not(.cdk-visually-hidden):checked:before{position:absolute;height:1rem;width:1rem;content:"";-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 50%;mask-position:50% 50%;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--eui-internal-icon-checkmark-path);mask-image:var(--eui-internal-icon-checkmark-path);background-color:var(--eui-base-color-white);height:var(--eui-base-spacing-xl);width:var(--eui-base-spacing-xl)}.eui-input-checkbox:not(.cdk-visually-hidden):indeterminate{background:var(--eui-base-color-primary-100)}.eui-input-checkbox:not(.cdk-visually-hidden):indeterminate:before{height:1rem;width:1rem;content:"";-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 50%;mask-position:50% 50%;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--eui-internal-icon-remove-path);mask-image:var(--eui-internal-icon-remove-path);background-color:var(--eui-base-color-white);height:var(--eui-base-spacing-xl);width:var(--eui-base-spacing-xl)}.eui-input-checkbox:not(.cdk-visually-hidden):disabled:not([readonly]){background:var(--eui-base-color-grey-25);border:2px solid var(--eui-base-color-grey-75);opacity:.25;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-input-checkbox:not(.cdk-visually-hidden):disabled:not([readonly]):checked:before{height:1rem;width:1rem;content:var(--eui-internal-icon-checkmark-path);height:var(--eui-base-spacing-xl);width:var(--eui-base-spacing-xl)}.eui-input-checkbox:not(.cdk-visually-hidden):disabled:not([readonly])+label{pointer-events:none}.eui-input-checkbox:not(.cdk-visually-hidden)[readonly]{background:var(--eui-base-color-grey-25);opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-input-checkbox:not(.cdk-visually-hidden)[readonly]:checked{background:var(--eui-base-color-primary-100);border:2px solid var(--eui-base-color-primary-100)}.eui-input-checkbox:not(.cdk-visually-hidden)[readonly]:checked:before{height:1rem;width:1rem;content:"";-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 50%;mask-position:50% 50%;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--eui-internal-icon-checkmark-path);mask-image:var(--eui-internal-icon-checkmark-path);background-color:var(--eui-base-color-white);height:var(--eui-base-spacing-xl);width:var(--eui-base-spacing-xl)}.eui-input-checkbox:not(.cdk-visually-hidden)[readonly]+label{align-items:center;pointer-events:none}.eui-input-checkbox:not(.cdk-visually-hidden).eui-input-checkbox--invalid:not(:disabled):not([readonly]),.eui-input-checkbox:not(.cdk-visually-hidden).eui-input-checkbox--danger:not(:disabled):not([readonly]){accent-color:var(--eui-base-color-danger-100);appearance:inherit;background-color:var(--eui-base-color-white);border:2px solid var(--eui-base-color-danger-100)}.eui-input-checkbox:not(.cdk-visually-hidden).eui-input-checkbox--invalid:not(:disabled):not([readonly]):checked,.eui-input-checkbox:not(.cdk-visually-hidden).eui-input-checkbox--danger:not(:disabled):not([readonly]):checked{background:var(--eui-base-color-danger-100)}.eui-input-checkbox:not(.cdk-visually-hidden).eui-input-checkbox--invalid:not(:disabled):not([readonly]):checked:before,.eui-input-checkbox:not(.cdk-visually-hidden).eui-input-checkbox--danger:not(:disabled):not([readonly]):checked:before{height:1rem;width:1rem;content:"";-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 50%;mask-position:50% 50%;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--eui-internal-icon-checkmark-path);mask-image:var(--eui-internal-icon-checkmark-path);background-color:var(--eui-base-color-white);height:var(--eui-base-spacing-xl);width:var(--eui-base-spacing-xl)}.eui-input-checkbox:not(.cdk-visually-hidden):focus:not([readonly]){outline:2px solid var(--eui-ctx-color-focus)!important;outline-offset:0!important;transition:none!important}.eui-input-checkbox:not(.cdk-visually-hidden):focus-visible:not([readonly]){outline:2px solid var(--eui-ctx-color-focus-visible)!important;outline-offset:0!important;transition:none!important}.eui-input-checkbox:not(.cdk-visually-hidden) [tabindex="0"]:focus:not([readonly]){outline:2px solid var(--eui-ctx-color-focus-visible)!important;outline-offset:0!important;transition:none!important}\n'] }]
|
151
151
|
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
152
152
|
type: Optional
|
153
153
|
}, {
|
@@ -2,6 +2,6 @@
|
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../eui-input-checkbox/eui-input-checkbox.component.ts", "../../eui-input-checkbox/eui-input-checkbox.module.ts"],
|
4
4
|
"sourcesContent": ["import {\n DoCheck,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n Optional,\n Renderer2,\n Self,\n SimpleChanges,\n OnInit,\n HostListener,\n ChangeDetectorRef,\n Component,\n ViewEncapsulation,\n Injector,\n ViewContainerRef,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { InputDirective } from '@eui/components/shared';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input[euiInputCheckBox]',\n styleUrls: ['./styles/_index.scss'],\n template: '',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiInputCheckboxComponent extends InputDirective implements OnInit, DoCheck, OnChanges, ControlValueAccessor {\n @HostBinding('class')\n public get cssClasses(): string {\n return [this.getCssClasses('eui-input-checkbox'), this._isInvalid ? 'eui-input-checkbox--invalid' : ''].join(' ').trim();\n }\n /** Event emitted when the checkbox `indeterminate` value changes. */\n @Output() readonly indeterminateChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /**\n * Whether the checkbox is indeterminate. This is also known as \"mixed\" mode and can be used to\n * represent a checkbox with three states, e.g. a checkbox that represents a nested list of\n * checkable items. Note that whenever checkbox is manually clicked, indeterminate is immediately\n * set to false.\n */\n @Input()\n get indeterminate(): boolean {\n return this._indeterminate;\n }\n set indeterminate(value: BooleanInput) {\n const changed = value != this._indeterminate;\n this._indeterminate = coerceBooleanProperty(value);\n\n if (changed) {\n this.indeterminateChange.emit(this._indeterminate);\n }\n\n this._syncIndeterminate(this._checked ? false : this._indeterminate);\n }\n\n @Input()\n public get isInvalid(): boolean {\n return this._isInvalid || null;\n }\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 public set isInvalid(state: any) {\n this.setInvalid(state);\n }\n\n protected _isInvalid: boolean;\n\n @Input() styleClass: string;\n @HostBinding('attr.type') protected type = 'checkbox';\n\n @HostBinding('attr.checked')\n @Input()\n public get checked(): boolean {\n return this._checked;\n }\n\n public set checked(value: BooleanInput) {\n this._checked = coerceBooleanProperty(value) ? true : undefined;\n }\n\n protected _checked: boolean;\n\n @HostBinding('attr.id')\n @Input()\n public get id(): string {\n return this._id;\n }\n\n public set id(value: string | null) {\n this.setIdAttribute(value);\n }\n\n protected _id: string;\n private _indeterminate = false;\n\n constructor(\n @Optional() @Self() protected ngControl: NgControl,\n protected _elementRef: ElementRef<HTMLInputElement>,\n protected _renderer: Renderer2,\n private _cd: ChangeDetectorRef,\n private viewContainerRef: ViewContainerRef,\n injector: Injector,\n ) {\n super(_elementRef, _renderer, injector);\n\n // if there's no id attribute set one\n if (!this._id) {\n this.setIdAttribute();\n }\n\n // register control valueAccessor\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n // in case control value is null set the default one (isChecked) and sync Control State\n if (this.ngControl?.control?.value === null) {\n this.ngControl.control.setValue(this._checked, { emitModelToViewChange: false });\n // changing Model Expression after view checked, so detect changes\n // TODO: check why although it's checked .checked returns false\n // this.ngControl.viewToModelUpdate(this._checked);\n // this._cd.detectChanges();\n }\n }\n\n ngDoCheck(): void {\n if (this.ngControl) {\n this._isInvalid = this.ngControl.invalid && this.ngControl.touched;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['checked']) {\n const currentValue = coerceBooleanProperty(changes['checked']?.currentValue);\n if (currentValue !== this?.ngControl?.control?.value) {\n this._checked = currentValue;\n this._elementRef.nativeElement.checked = currentValue;\n }\n }\n\n if (changes['readonly']) {\n const readonly = coerceBooleanProperty(changes['readonly']?.currentValue);\n if (readonly) {\n this._renderer.setAttribute(this._elementRef.nativeElement, 'readonly', null);\n } else {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'readonly');\n }\n }\n }\n\n writeValue(obj: boolean): void {\n this._checked = coerceBooleanProperty(obj) ? true : undefined;\n this._elementRef.nativeElement.checked = this._checked ? true : undefined;\n }\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 registerOnChange(fn: any): void {\n this.onChange = fn;\n }\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 registerOnTouched(fn: any): void {\n this.onBlur = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n @HostListener('change', ['$event.target.checked'])\n protected onChanged(checked): void {\n this.onChange(checked);\n }\n\n @HostListener('keydown.space', ['$event'])\n protected onSpacePressed(event: KeyboardEvent): void {\n if (this.readonly) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected onChange = (_): void => {\n /* Nothing to be Done so far */\n };\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 protected onBlur = (_: any): void => {\n /* Nothing to be Done so far */\n };\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 protected setInvalid(state?: any): void {\n // in case it's controlled by NgControl override\n this._isInvalid = this.control ? this.control.invalid && this.control.touched : coerceBooleanProperty(state);\n }\n\n /**\n * Sets the indeterminate state of the checkbox. This is also known as \"mixed\" mode and can be used to\n * represent a checkbox with three states, e.g. a checkbox that represents a nested list of\n * checkable items.\n *\n * @param value\n * @private\n */\n private _syncIndeterminate(value: boolean): void {\n if (this._elementRef) {\n this._elementRef.nativeElement.indeterminate = value;\n }\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiInputCheckboxComponent } from './eui-input-checkbox.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [EuiInputCheckboxComponent],\n exports: [EuiInputCheckboxComponent],\n})\nexport class EuiInputCheckboxModule {}\n"],
|
5
|
-
"mappings": "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
|
5
|
+
"mappings": "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",
|
6
6
|
"names": []
|
7
7
|
}
|
@@ -117,12 +117,12 @@ var EuiInputRadioComponent = class _EuiInputRadioComponent extends InputDirectiv
|
|
117
117
|
this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: _EuiInputRadioComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
118
118
|
}
|
119
119
|
static {
|
120
|
-
this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.3", type: _EuiInputRadioComponent, selector: "input[euiInputRadio]", inputs: { isInvalid: "isInvalid", defaultChecked: ["checked", "defaultChecked"], value: "value" }, host: { listeners: { "change": "onCheckedChanged($event)", "keydown.space": "onSpacePressed($event)" }, properties: { "class": "this.class", "attr.type": "this.type", "attr.checked": "this.defaultChecked" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "", isInline: true, styles: ['.eui-input-radio:not(.cdk-visually-hidden){appearance:inherit;align-items:center;border-radius:50%;cursor:pointer;display:inline-flex;flex-shrink:0;height:
|
120
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.3", type: _EuiInputRadioComponent, selector: "input[euiInputRadio]", inputs: { isInvalid: "isInvalid", defaultChecked: ["checked", "defaultChecked"], value: "value" }, host: { listeners: { "change": "onCheckedChanged($event)", "keydown.space": "onSpacePressed($event)" }, properties: { "class": "this.class", "attr.type": "this.type", "attr.checked": "this.defaultChecked" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "", isInline: true, styles: ['.eui-input-radio:not(.cdk-visually-hidden){appearance:inherit;align-items:center;border-radius:50%;cursor:pointer;display:inline-flex;flex-shrink:0;height:var(--eui-base-spacing-xl);justify-content:center;margin-right:var(--eui-base-spacing-s);position:relative;vertical-align:middle;transition:all .25s ease;width:var(--eui-base-spacing-xl);accent-color:var(--eui-base-color-white);background:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-75)}.eui-input-radio:not(.cdk-visually-hidden)+label,.eui-input-radio:not(.cdk-visually-hidden)+.eui-label{display:inline-flex;cursor:pointer;margin-right:var(--eui-base-spacing-m);white-space:inherit}.eui-input-radio:not(.cdk-visually-hidden):checked{background:var(--eui-base-color-white)}.eui-input-radio:not(.cdk-visually-hidden):checked:before{height:1rem;width:1rem;content:"";-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 50%;mask-position:50% 50%;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--eui-internal-icon-ellipse-path);mask-image:var(--eui-internal-icon-ellipse-path);background-color:var(--eui-base-color-primary-100);height:var(--eui-base-spacing-l);width:var(--eui-base-spacing-l)}.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly]){background:var(--eui-base-color-grey-25);border:1px solid var(--eui-base-color-grey-75);opacity:.25;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly]):checked:before{height:1rem;width:1rem;content:"";-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 50%;mask-position:50% 50%;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--eui-internal-icon-ellipse-path);mask-image:var(--eui-internal-icon-ellipse-path);background-color:var(--eui-base-color-primary-100);height:var(--eui-base-spacing-l);width:var(--eui-base-spacing-l)}.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly])+label{pointer-events:none}.eui-input-radio:not(.cdk-visually-hidden)[readonly]{display:none;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-input-radio:not(.cdk-visually-hidden)[readonly]+label,.eui-input-radio:not(.cdk-visually-hidden)[readonly] .eui-label{display:none}.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked{display:none}.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked+label,.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked+.eui-label{display:inline-flex;cursor:default;margin-bottom:0;pointer-events:none;position:initial}.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--invalid,.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--danger{border:1px solid var(--eui-base-color-danger-100)!important}.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--invalid:checked:before,.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--danger:checked:before{height:1rem;width:1rem;content:"";-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 50%;mask-position:50% 50%;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--eui-internal-icon-ellipse-path);mask-image:var(--eui-internal-icon-ellipse-path);background-color:var(--eui-base-color-danger-100);height:var(--eui-base-spacing-l);width:var(--eui-base-spacing-l)}.eui-input-radio:not(.cdk-visually-hidden):focus:not([readonly]){outline:2px solid var(--eui-ctx-color-focus)!important;outline-offset:0!important;transition:none!important}.eui-input-radio:not(.cdk-visually-hidden):focus-visible:not([readonly]){outline:2px solid var(--eui-ctx-color-focus-visible)!important;outline-offset:0!important;transition:none!important}.eui-input-radio:not(.cdk-visually-hidden) [tabindex="0"]:focus:not([readonly]){outline:2px solid var(--eui-ctx-color-focus-visible)!important;outline-offset:0!important;transition:none!important}\n'], encapsulation: i0.ViewEncapsulation.None });
|
121
121
|
}
|
122
122
|
};
|
123
123
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EuiInputRadioComponent, decorators: [{
|
124
124
|
type: Component,
|
125
|
-
args: [{ selector: "input[euiInputRadio]", template: "", encapsulation: ViewEncapsulation.None, styles: ['.eui-input-radio:not(.cdk-visually-hidden){appearance:inherit;align-items:center;border-radius:50%;cursor:pointer;display:inline-flex;flex-shrink:0;height:
|
125
|
+
args: [{ selector: "input[euiInputRadio]", template: "", encapsulation: ViewEncapsulation.None, styles: ['.eui-input-radio:not(.cdk-visually-hidden){appearance:inherit;align-items:center;border-radius:50%;cursor:pointer;display:inline-flex;flex-shrink:0;height:var(--eui-base-spacing-xl);justify-content:center;margin-right:var(--eui-base-spacing-s);position:relative;vertical-align:middle;transition:all .25s ease;width:var(--eui-base-spacing-xl);accent-color:var(--eui-base-color-white);background:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-75)}.eui-input-radio:not(.cdk-visually-hidden)+label,.eui-input-radio:not(.cdk-visually-hidden)+.eui-label{display:inline-flex;cursor:pointer;margin-right:var(--eui-base-spacing-m);white-space:inherit}.eui-input-radio:not(.cdk-visually-hidden):checked{background:var(--eui-base-color-white)}.eui-input-radio:not(.cdk-visually-hidden):checked:before{height:1rem;width:1rem;content:"";-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 50%;mask-position:50% 50%;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--eui-internal-icon-ellipse-path);mask-image:var(--eui-internal-icon-ellipse-path);background-color:var(--eui-base-color-primary-100);height:var(--eui-base-spacing-l);width:var(--eui-base-spacing-l)}.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly]){background:var(--eui-base-color-grey-25);border:1px solid var(--eui-base-color-grey-75);opacity:.25;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly]):checked:before{height:1rem;width:1rem;content:"";-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 50%;mask-position:50% 50%;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--eui-internal-icon-ellipse-path);mask-image:var(--eui-internal-icon-ellipse-path);background-color:var(--eui-base-color-primary-100);height:var(--eui-base-spacing-l);width:var(--eui-base-spacing-l)}.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly])+label{pointer-events:none}.eui-input-radio:not(.cdk-visually-hidden)[readonly]{display:none;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-input-radio:not(.cdk-visually-hidden)[readonly]+label,.eui-input-radio:not(.cdk-visually-hidden)[readonly] .eui-label{display:none}.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked{display:none}.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked+label,.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked+.eui-label{display:inline-flex;cursor:default;margin-bottom:0;pointer-events:none;position:initial}.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--invalid,.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--danger{border:1px solid var(--eui-base-color-danger-100)!important}.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--invalid:checked:before,.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--danger:checked:before{height:1rem;width:1rem;content:"";-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 50%;mask-position:50% 50%;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--eui-internal-icon-ellipse-path);mask-image:var(--eui-internal-icon-ellipse-path);background-color:var(--eui-base-color-danger-100);height:var(--eui-base-spacing-l);width:var(--eui-base-spacing-l)}.eui-input-radio:not(.cdk-visually-hidden):focus:not([readonly]){outline:2px solid var(--eui-ctx-color-focus)!important;outline-offset:0!important;transition:none!important}.eui-input-radio:not(.cdk-visually-hidden):focus-visible:not([readonly]){outline:2px solid var(--eui-ctx-color-focus-visible)!important;outline-offset:0!important;transition:none!important}.eui-input-radio:not(.cdk-visually-hidden) [tabindex="0"]:focus:not([readonly]){outline:2px solid var(--eui-ctx-color-focus-visible)!important;outline-offset:0!important;transition:none!important}\n'] }]
|
126
126
|
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
127
127
|
type: Optional
|
128
128
|
}, {
|
@@ -2,6 +2,6 @@
|
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../eui-input-radio/eui-input-radio.component.ts", "../../eui-input-radio/eui-input-radio.module.ts"],
|
4
4
|
"sourcesContent": ["import {\n DoCheck,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n Optional,\n Renderer2,\n Self,\n SimpleChanges,\n OnInit,\n ChangeDetectorRef,\n Component,\n ViewEncapsulation,\n HostListener,\n Injector,\n ViewContainerRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { InputDirective } from '@eui/components/shared';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { ChangeEvent } from 'cleave.js/react/props';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input[euiInputRadio]',\n styleUrls: ['./styles/_index.scss'],\n template: '',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiInputRadioComponent extends InputDirective implements OnInit, DoCheck, OnChanges, ControlValueAccessor {\n @Input()\n public get isInvalid(): boolean {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this.setInvalid(state);\n }\n protected _isInvalid: boolean;\n\n @HostBinding('class')\n // TODO v18 - check why this is applied\n // @Input()\n // public set class(cssClass: string) {\n // super.styleClass = cssClass;\n // }\n public get class(): string {\n return [super.getCssClasses('eui-input-radio'), this._isInvalid ? 'eui-input-radio--invalid' : ''].join(' ').trim();\n }\n @HostBinding('attr.type') protected type = 'radio';\n\n @HostBinding('attr.checked')\n @Input('checked')\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public get defaultChecked(): any {\n return this._defaultChecked ? '' : null;\n }\n public set defaultChecked(value: BooleanInput) {\n this._defaultChecked = coerceBooleanProperty(value);\n }\n protected _defaultChecked: boolean;\n\n public get selected(): boolean {\n return this._elementRef?.nativeElement.checked;\n }\n\n @Input()\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 get value(): any {\n return this._value;\n }\n set value(value) {\n this._value = value;\n if (typeof value === 'number' || typeof value === 'boolean' || !!value) {\n this._elementRef.nativeElement.value = this._value;\n }\n }\n private _value;\n\n constructor(\n @Optional() @Self() protected ngControl: NgControl,\n private viewContainerRef: ViewContainerRef,\n protected _elementRef: ElementRef<HTMLInputElement>,\n protected _renderer: Renderer2,\n private _cd: ChangeDetectorRef,\n injector: Injector,\n ) {\n super(_elementRef, _renderer, injector);\n\n // Firefox fix: set type to radio before first ngDoCheck runs\n this._elementRef.nativeElement.type = 'radio';\n\n // if there's no id attribute set one\n if (!this._id) {\n this.setIdAttribute();\n }\n\n // register control valueAccessor\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n // in case control value is null set the default one (isChecked) and sync Control State\n // if (this.ngControl?.control?.value === null) {\n // this.ngControl.control.setValue('', { emitModelToViewChange: false });\n // changing Model Expression after view checked, so detect changes\n // TODO: check why although it's checked .checked returns false\n // this.ngControl.viewToModelUpdate(this._checked);\n // this._cd.detectChanges();\n // }\n\n if (this.ngControl) {\n this.ngControl.statusChanges.subscribe((status) => {\n this.isInvalid = status === 'INVALID';\n this.euiDanger = this.isInvalid;\n });\n }\n }\n\n ngDoCheck(): void {\n if (this.ngControl) {\n this.isInvalid = this.ngControl.invalid && this.ngControl.touched;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n // when readonly changes hide other radio (input+label)\n if (changes['readonly']) {\n const readonly = coerceBooleanProperty(changes['readonly']?.currentValue);\n if (readonly) {\n this._renderer.setAttribute(this._elementRef.nativeElement, 'readonly', null);\n } else {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'readonly');\n }\n }\n\n if (changes['isInvalid']) {\n if (changes['isInvalid'].currentValue) {\n this._renderer.addClass(this._elementRef.nativeElement, 'eui-input-radio--invalid');\n } else {\n this._renderer.removeClass(this._elementRef.nativeElement, 'eui-input-radio--invalid');\n }\n }\n }\n\n writeValue(obj: string): void {\n // set checked state based if radio value matches the control's one\n this._elementRef.nativeElement.checked = this._value === obj;\n }\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 registerOnChange(fn: any): void {\n this.onChange = fn;\n }\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 registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n @HostListener('change', ['$event'])\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 protected onCheckedChanged(event: ChangeEvent<any>): void {\n this._defaultChecked = event.target.checked;\n this.onChange(event.target.value === 'on' ? null : event.target.value);\n }\n\n @HostListener('keydown.space', ['$event'])\n protected onSpacePressed(event: KeyboardEvent): void {\n if (this.readonly) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n protected setInvalid(state): void {\n // in case it's controlled by NgControl override\n this._isInvalid = this.control ? this.control.invalid && this.control.touched : coerceBooleanProperty(state);\n\n // set BaseDirective Attribute\n super.euiDanger = this._isInvalid;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected onChange = (_): void => {\n /* Nothing to be Done so far */\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected onTouched = (_): void => {\n /* Nothing to be Done so far */\n };\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiInputRadioComponent } from './eui-input-radio.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [EuiInputRadioComponent],\n exports: [EuiInputRadioComponent],\n})\nexport class EuiInputRadioModule {}\n"],
|
5
|
-
"mappings": "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
|
5
|
+
"mappings": "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",
|
6
6
|
"names": []
|
7
7
|
}
|
@@ -223,7 +223,7 @@ var EuiMenuItemComponent = class _EuiMenuItemComponent {
|
|
223
223
|
</span>
|
224
224
|
|
225
225
|
<div class="eui-menu-item__link-right-content">
|
226
|
-
<eui-chip *ngIf="item.tagLabel" euiSizeXS euiOutline
|
226
|
+
<eui-chip *ngIf="item.tagLabel" euiSizeXS euiOutline class="eui-menu-item__link-tag-label eui-chip--{{ item.tagTypeClass }}" [ariaLabel]="item.tagLabel">
|
227
227
|
<span euiLabel class="eui-label">{{ item.tagLabel }}</span>
|
228
228
|
</eui-chip>
|
229
229
|
|
@@ -413,7 +413,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3",
|
|
413
413
|
</span>
|
414
414
|
|
415
415
|
<div class="eui-menu-item__link-right-content">
|
416
|
-
<eui-chip *ngIf="item.tagLabel" euiSizeXS euiOutline
|
416
|
+
<eui-chip *ngIf="item.tagLabel" euiSizeXS euiOutline class="eui-menu-item__link-tag-label eui-chip--{{ item.tagTypeClass }}" [ariaLabel]="item.tagLabel">
|
417
417
|
<span euiLabel class="eui-label">{{ item.tagLabel }}</span>
|
418
418
|
</eui-chip>
|
419
419
|
|
@@ -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 styleClass=\"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"],
|
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
5
|
"mappings": "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",
|
6
6
|
"names": ["Component", "HostBinding", "ViewEncapsulation", "Input", "Output", "EventEmitter", "HostListener", "booleanAttribute", "consumeEvent", "BaseStatesDirective", "i0"]
|
7
7
|
}
|