@eui/components 19.2.0-snapshot-1745591863922 → 19.2.0-snapshot-1745818237324
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/EuiEditorComponent.html +2 -2
- package/docs/components/EuiFileUploadComponent.html +0 -1
- package/docs/components/EuiNotificationItemComponent.html +0 -1
- package/docs/components/EuiNotificationsComponent.html +0 -1
- package/docs/components/EuiTableComponent.html +0 -1
- package/docs/components/EuiTableV2Component.html +0 -1
- package/docs/components/EuiTabsComponent.html +0 -2
- package/docs/components/EuiTreeComponent.html +1 -0
- package/docs/components/EuiTreeListItemComponent.html +1 -0
- package/docs/dependencies.html +2 -2
- package/docs/js/menu-wc.js +12 -12
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/variables.html +30 -14
- package/docs/modules/EuiFileUploadModule.html +4 -1
- package/eui-badge/index.d.ts +0 -1
- package/eui-badge/index.d.ts.map +1 -1
- package/eui-block-content/index.d.ts +0 -1
- package/eui-block-content/index.d.ts.map +1 -1
- package/eui-block-document/index.d.ts +0 -1
- package/eui-block-document/index.d.ts.map +1 -1
- package/eui-button/index.d.ts +0 -1
- package/eui-button/index.d.ts.map +1 -1
- package/eui-button-group/index.d.ts +0 -1
- package/eui-button-group/index.d.ts.map +1 -1
- package/eui-chip/index.d.ts +0 -2
- package/eui-chip/index.d.ts.map +1 -1
- package/eui-chip-group/index.d.ts +0 -1
- package/eui-chip-group/index.d.ts.map +1 -1
- package/eui-dimmer/index.d.ts +0 -1
- package/eui-dimmer/index.d.ts.map +1 -1
- package/eui-disable-content/index.d.ts +0 -1
- package/eui-disable-content/index.d.ts.map +1 -1
- package/eui-feedback-message/index.d.ts +0 -1
- package/eui-feedback-message/index.d.ts.map +1 -1
- package/eui-file-upload/eui-file-upload.component.d.ts.map +1 -1
- package/eui-file-upload/eui-file-upload.module.d.ts +1 -2
- package/eui-file-upload/eui-file-upload.module.d.ts.map +1 -1
- package/eui-icon/index.d.ts +0 -1
- package/eui-icon/index.d.ts.map +1 -1
- package/eui-icon-button/index.d.ts +0 -1
- package/eui-icon-button/index.d.ts.map +1 -1
- package/eui-icon-button-expander/index.d.ts +0 -1
- package/eui-icon-button-expander/index.d.ts.map +1 -1
- package/eui-icon-color/index.d.ts +0 -1
- package/eui-icon-color/index.d.ts.map +1 -1
- package/eui-icon-input/index.d.ts +0 -1
- package/eui-icon-input/index.d.ts.map +1 -1
- package/eui-icon-state/index.d.ts +0 -1
- package/eui-icon-state/index.d.ts.map +1 -1
- package/eui-icon-toggle/index.d.ts +0 -1
- package/eui-icon-toggle/index.d.ts.map +1 -1
- package/eui-input-checkbox/index.d.ts +0 -1
- package/eui-input-checkbox/index.d.ts.map +1 -1
- package/eui-input-radio/index.d.ts +0 -1
- package/eui-input-radio/index.d.ts.map +1 -1
- package/eui-label/index.d.ts +0 -1
- package/eui-label/index.d.ts.map +1 -1
- package/eui-message-box/index.d.ts +1 -1
- package/eui-message-box/index.d.ts.map +1 -1
- package/eui-paginator/index.d.ts +0 -1
- package/eui-paginator/index.d.ts.map +1 -1
- package/eui-popover/index.d.ts +0 -1
- package/eui-popover/index.d.ts.map +1 -1
- package/eui-progress-bar/index.d.ts +0 -1
- package/eui-progress-bar/index.d.ts.map +1 -1
- package/eui-progress-circle/index.d.ts +0 -1
- package/eui-progress-circle/index.d.ts.map +1 -1
- package/eui-sidebar-menu/index.d.ts +0 -1
- package/eui-sidebar-menu/index.d.ts.map +1 -1
- package/eui-skeleton/index.d.ts +0 -1
- package/eui-skeleton/index.d.ts.map +1 -1
- package/eui-slide-toggle/index.d.ts +0 -1
- package/eui-slide-toggle/index.d.ts.map +1 -1
- package/eui-split-button/index.d.ts +0 -1
- package/eui-split-button/index.d.ts.map +1 -1
- package/eui-table/eui-table.component.d.ts.map +1 -1
- package/eui-table-v2/eui-table-v2.component.d.ts.map +1 -1
- package/eui-tabs/eui-tabs.component.d.ts.map +1 -1
- package/eui-timebar/index.d.ts +1 -2
- package/eui-timebar/index.d.ts.map +1 -1
- package/eui-timepicker/index.d.ts +0 -1
- package/eui-timepicker/index.d.ts.map +1 -1
- package/eui-tree/eui-tree.component.d.ts.map +1 -1
- package/eui-tree/index.d.ts +0 -1
- package/eui-tree/index.d.ts.map +1 -1
- package/eui-tree-list/eui-tree-list-item.component.d.ts.map +1 -1
- package/externals/charts/index.d.ts +2 -0
- package/externals/charts/index.d.ts.map +1 -1
- package/fesm2022/eui-components-eui-badge.mjs +2 -1
- package/fesm2022/eui-components-eui-badge.mjs.map +1 -1
- package/fesm2022/eui-components-eui-block-content.mjs +2 -1
- package/fesm2022/eui-components-eui-block-content.mjs.map +1 -1
- package/fesm2022/eui-components-eui-block-document.mjs +2 -1
- package/fesm2022/eui-components-eui-block-document.mjs.map +1 -1
- package/fesm2022/eui-components-eui-button-group.mjs +2 -1
- package/fesm2022/eui-components-eui-button-group.mjs.map +1 -1
- package/fesm2022/eui-components-eui-button.mjs +2 -1
- package/fesm2022/eui-components-eui-button.mjs.map +1 -1
- package/fesm2022/eui-components-eui-chip-group.mjs +2 -1
- package/fesm2022/eui-components-eui-chip-group.mjs.map +1 -1
- package/fesm2022/eui-components-eui-chip.mjs +4 -3
- package/fesm2022/eui-components-eui-chip.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dimmer.mjs +2 -1
- package/fesm2022/eui-components-eui-dimmer.mjs.map +1 -1
- package/fesm2022/eui-components-eui-disable-content.mjs +2 -1
- package/fesm2022/eui-components-eui-disable-content.mjs.map +1 -1
- package/fesm2022/eui-components-eui-feedback-message.mjs +2 -1
- package/fesm2022/eui-components-eui-feedback-message.mjs.map +1 -1
- package/fesm2022/eui-components-eui-file-upload.mjs +4 -5
- package/fesm2022/eui-components-eui-file-upload.mjs.map +1 -1
- package/fesm2022/eui-components-eui-icon-button-expander.mjs +2 -1
- package/fesm2022/eui-components-eui-icon-button-expander.mjs.map +1 -1
- package/fesm2022/eui-components-eui-icon-button.mjs +2 -1
- package/fesm2022/eui-components-eui-icon-button.mjs.map +1 -1
- package/fesm2022/eui-components-eui-icon-color.mjs +2 -1
- package/fesm2022/eui-components-eui-icon-color.mjs.map +1 -1
- package/fesm2022/eui-components-eui-icon-input.mjs +2 -1
- package/fesm2022/eui-components-eui-icon-input.mjs.map +1 -1
- package/fesm2022/eui-components-eui-icon-state.mjs +2 -1
- package/fesm2022/eui-components-eui-icon-state.mjs.map +1 -1
- package/fesm2022/eui-components-eui-icon-toggle.mjs +2 -1
- package/fesm2022/eui-components-eui-icon-toggle.mjs.map +1 -1
- package/fesm2022/eui-components-eui-icon.mjs +2 -1
- package/fesm2022/eui-components-eui-icon.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-checkbox.mjs +2 -1
- package/fesm2022/eui-components-eui-input-checkbox.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-radio.mjs +2 -1
- package/fesm2022/eui-components-eui-input-radio.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-text.mjs +1 -0
- package/fesm2022/eui-components-eui-input-text.mjs.map +1 -1
- package/fesm2022/eui-components-eui-label.mjs +2 -1
- package/fesm2022/eui-components-eui-label.mjs.map +1 -1
- package/fesm2022/eui-components-eui-message-box.mjs.map +1 -1
- package/fesm2022/eui-components-eui-paginator.mjs +2 -1
- package/fesm2022/eui-components-eui-paginator.mjs.map +1 -1
- package/fesm2022/eui-components-eui-popover.mjs +2 -1
- package/fesm2022/eui-components-eui-popover.mjs.map +1 -1
- package/fesm2022/eui-components-eui-progress-bar.mjs +2 -1
- package/fesm2022/eui-components-eui-progress-bar.mjs.map +1 -1
- package/fesm2022/eui-components-eui-progress-circle.mjs +2 -1
- package/fesm2022/eui-components-eui-progress-circle.mjs.map +1 -1
- package/fesm2022/eui-components-eui-sidebar-menu.mjs +2 -1
- package/fesm2022/eui-components-eui-sidebar-menu.mjs.map +1 -1
- package/fesm2022/eui-components-eui-skeleton.mjs +2 -1
- package/fesm2022/eui-components-eui-skeleton.mjs.map +1 -1
- package/fesm2022/eui-components-eui-slide-toggle.mjs +2 -1
- package/fesm2022/eui-components-eui-slide-toggle.mjs.map +1 -1
- package/fesm2022/eui-components-eui-split-button.mjs +2 -1
- package/fesm2022/eui-components-eui-split-button.mjs.map +1 -1
- package/fesm2022/eui-components-eui-table-v2.mjs +0 -1
- package/fesm2022/eui-components-eui-table-v2.mjs.map +1 -1
- package/fesm2022/eui-components-eui-table.mjs +0 -1
- package/fesm2022/eui-components-eui-table.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tabs.mjs +0 -3
- package/fesm2022/eui-components-eui-tabs.mjs.map +1 -1
- package/fesm2022/eui-components-eui-timebar.mjs +2 -1
- package/fesm2022/eui-components-eui-timebar.mjs.map +1 -1
- package/fesm2022/eui-components-eui-timepicker.mjs +2 -1
- package/fesm2022/eui-components-eui-timepicker.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tree-list.mjs +3 -1
- package/fesm2022/eui-components-eui-tree-list.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tree.mjs +5 -3
- package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
- package/fesm2022/eui-components-externals-charts.mjs +6 -2
- package/fesm2022/eui-components-externals-charts.mjs.map +1 -1
- package/fesm2022/eui-components-externals-eui-editor.mjs +6 -7
- package/fesm2022/eui-components-externals-eui-editor.mjs.map +1 -1
- package/fesm2022/eui-components-layout.mjs +4 -6
- package/fesm2022/eui-components-layout.mjs.map +1 -1
- package/layout/eui-notifications/eui-notification-item.component.d.ts.map +1 -1
- package/layout/eui-notifications/eui-notifications.component.d.ts.map +1 -1
- package/package.json +3 -3
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-components-eui-timepicker.mjs","sources":["../../eui-timepicker/eui-timepicker.component.ts","../../eui-timepicker/eui-timepicker.component.html","../../eui-timepicker/eui-timepicker.module.ts","../../eui-timepicker/index.ts","../../eui-timepicker/eui-components-eui-timepicker.ts"],"sourcesContent":["import {\n Component,\n Inject,\n Input,\n OnInit,\n Optional,\n ViewEncapsulation,\n Self,\n DoCheck,\n OnDestroy,\n SimpleChanges,\n OnChanges,\n booleanAttribute,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n FormControl,\n Validators,\n FormsModule,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DYNAMIC_COMPONENT_CONFIG, uniqueId } from '@eui/core';\nimport { EuiDateTimePickerConfig } from './models/eui-date-time-picker.config.model';\nimport { EuiTimePicker } from './models/eui-timepicker.model';\nimport { NgxMaskDirective, provideNgxMask } from 'ngx-mask';\nimport { EUI_INPUT_NUMBER } from '@eui/components/eui-input-number';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\n/**\n * @description\n * A timepicker component that allows the user to select a time. The component\n * can be used in two modes: one input field or three separate input fields\n * for hours, minutes, and seconds. The component also supports incremental and\n * decremental buttons for each input field.\n *\n */\n@Component({\n selector: 'eui-timepicker',\n templateUrl: './eui-timepicker.component.html',\n styleUrls: ['./eui-timepicker.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n FormsModule,\n ReactiveFormsModule,\n NgxMaskDirective,\n ...EUI_INPUT_NUMBER,\n ...EUI_INPUT_TEXT,\n ...EUI_ICON,\n ],\n providers: [provideNgxMask()],\n})\nexport class EuiTimepickerComponent implements ControlValueAccessor, OnInit, OnChanges, DoCheck, OnDestroy {\n hours: number;\n mins: number;\n secs: number;\n isDatetimepicker: boolean;\n oneInputFormControl = new FormControl();\n oneInputHours: string;\n oneInputMins: string;\n oneInputSecs: string;\n\n public hoursUpDisabled = false;\n public hoursDownDisabled = false;\n public minutesUpDisabled = false;\n public minutesDownDisabled = false;\n public secondsUpDisabled = false;\n public secondsDownDisabled = false;\n\n @Input() e2eAttr = 'eui-timepicker';\n /**\n * The id of the input element when isOneInputField attribute is used. If not provided, a unique id will be generated.\n * @default 'eui-timepicker-<unique-id>'\n */\n @Input() inputId = `eui-timepicker-${uniqueId()}`;\n /**\n * The mask for the input field when isOneInputField attribute is used.\n * @default 'Hh:m0'\n */\n @Input() timeMask = 'Hh:m0'\n /**\n * The placeholder of the input field when isOneInputField attribute is used.\n * @default 'Hh:m0'\n */\n @Input() placeholder = this.timeMask;\n /**\n * The step used for changing hours.\n * @default 1\n */\n @Input() stepHours = 1;\n /**\n * The step used for changing minutes.\n * @default 1\n */\n @Input() stepMinutes = 1;\n /**\n * The step used for changing seconds.\n * @default 1\n */\n @Input() stepSeconds = 1;\n /**\n * The size of the icon used for changing hours, minutes and seconds.\n * @default 'l'\n */\n @Input() iconSize = 'l';\n /**\n * Sets the readonly attribute of the input field.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isreadOnly = false;\n /**\n * Attribute that transforms the 3 separate inputs into one input field.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isOneInputField = false;\n /**\n * Option for enabling seconds.\n * @default false\n */\n @Input({ transform: booleanAttribute }) hasSeconds = false;\n\n protected hasAriaRequiredAttribute: boolean;\n private propagatedValues: EuiTimePicker = {\n hours: null,\n mins: null,\n secs: this.hasSeconds ? null : undefined,\n };\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n @Optional() @Inject(DYNAMIC_COMPONENT_CONFIG) config: EuiDateTimePickerConfig,\n @Self() @Optional() private control: NgControl,\n ) {\n this.hours = config?.hours || 0;\n this.mins = config?.mins || 0;\n this.secs = config?.secs || 0;\n this.isDatetimepicker = config?.isDatetimepicker;\n this.hasSeconds = config?.hasSeconds;\n this.isOneInputField = config?.isOneInputField;\n this.stepHours = config? config.stepHours: this.stepHours;\n this.stepMinutes = config? config.stepMinutes: this.stepMinutes;\n this.stepSeconds = config? config.stepSeconds: this.stepSeconds;\n const hours = this.hours === 0 || null ? '00' : this.hours;\n const mins = this.mins === 0 || null ? '00' : this.mins;\n const secs = this.secs === 0 || null ? '00' : this.secs;\n this.oneInputFormControl.setValue('' + hours + ':' + mins + ':' + secs);\n this.callbackFn = config?.callbackFn || this.callbackFn;\n\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n this.oneInputFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n // splits the entered time into 3 parts based on the : and propagates back the corresponding parts\n if(value === null) {\n this.propagatedValues = {\n hours: null,\n mins: null,\n secs: null,\n };\n this.propagateChange(null);\n return;\n }\n [this.oneInputHours, this.oneInputMins, this.oneInputSecs] = value.split(':');\n const splittedhours = this.oneInputHours ? Number(this.oneInputHours) : null;\n const splittedmins = this.oneInputMins ? Number(this.oneInputMins) : null;\n const splittedsecs = this.oneInputSecs ? Number(this.oneInputSecs) : null;\n if (this.hasSeconds) {\n this.propagatedValues = {\n ...this.propagatedValues,\n hours: splittedhours,\n mins: splittedmins,\n secs: splittedsecs,\n };\n this.callbackFn(splittedhours, splittedmins, splittedsecs);\n } else {\n this.propagatedValues = {\n ...this.propagatedValues,\n hours: splittedhours,\n mins: splittedmins,\n };\n this.callbackFn(splittedhours, splittedmins);\n }\n if (splittedhours === null && splittedmins === null && splittedsecs === null) {\n this.propagateChange(null);\n } else {\n this.propagateChange(this.propagatedValues);\n }\n });\n\n this.updateInputAriaRequiredAttribute(this.control);\n this.control?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.updateInputAriaRequiredAttribute(this.control);\n });\n }\n\n ngOnChanges(changes: SimpleChanges):void {\n if(this.isOneInputField) {\n if (this.hasSeconds && changes.hasSeconds) {\n this.timeMask = 'Hh:m0:s0';\n this.placeholder = 'Hh:m0:s0';\n }\n if (changes.timeMask) {\n this.timeMask = changes.timeMask.currentValue;\n this.placeholder = changes.timeMask.currentValue;\n }\n if(changes.placeholder) {\n this.placeholder = changes.placeholder.currentValue;\n }\n }\n }\n\n ngDoCheck(): void {\n if (this.control) {\n // marks the input control as touched/invalid if the form control is touched/invalid\n // eslint-disable-next-line\n this.control?.touched ? this.oneInputFormControl.markAsTouched() : this.oneInputFormControl.markAsUntouched();\n // eslint-disable-next-line\n this.control?.invalid ? this.oneInputFormControl.setErrors(this.control.errors) : this.oneInputFormControl.setErrors(null);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n /**\n * Increments or decrements hours according to the step param being passed\n *\n * @param step The step number that hours will increase or decrease\n */\n changeHours(step: number): void {\n if ((!this.hoursUpDisabled && step >0) || (!this.hoursDownDisabled && step <0)) {\n const val = (isNaN(this.hours) ? 0 : this.hours) + step;\n this.updateHours(val.toString());\n }\n }\n /**\n * Increments or decrements minutes according to the step param being passed\n *\n * @param step The step number that minutes will increase or decrease\n */\n changeMinutes(step: number): void {\n if ((!this.minutesUpDisabled && step >0) || (!this.minutesDownDisabled && step <0)) {\n const val = (isNaN(this.mins) ? 0 : this.mins) + step;\n this.updateMinutes(val.toString());\n }\n }\n /**\n * Increments or decrements seconds according to the step param being passed\n *\n * @param step The step number that seconds will increase or decrease\n */\n changeSeconds(step: number): void {\n if ((!this.secondsUpDisabled && step >0) || (!this.secondsDownDisabled && step <0)) {\n const val = (isNaN(this.secs) ? 0 : this.secs) + step;\n this.updateSeconds(val.toString());\n }\n }\n /**\n * Updates the input field when hours change and adds 24hour validation + propagates the value back to the form\n *\n * @param newVal The new value that hours will have\n */\n updateHours(newVal: string): void {\n const enteredHour = this.toInteger(newVal);\n\n if (!isNaN(enteredHour)) {\n this.hours = (enteredHour < 0 ? 24 + enteredHour : enteredHour) % 24;\n } else {\n this.hours = NaN;\n }\n\n this.callbackFn(this.hours, this.mins, this.secs);\n\n this.propagatedValues = {\n ...this.propagatedValues,\n hours: this.hours,\n };\n this.propagateChange(this.propagatedValues);\n }\n /**\n * Updates the input field when minutes change and adds 60mins validation + propagates the value back to the form\n *\n * @param newVal The new value that minutes will have\n */\n updateMinutes(newVal: string): void {\n const enteredMin = this.toInteger(newVal);\n\n if (!isNaN(enteredMin)) {\n this.mins = enteredMin % 60 < 0 ? 60 + (enteredMin % 60) : enteredMin % 60;\n this.changeHours(Math.floor(enteredMin / 60));\n } else {\n this.mins = NaN;\n }\n\n this.callbackFn(this.hours, this.mins, this.secs);\n\n this.propagatedValues = {\n ...this.propagatedValues,\n mins: this.mins,\n };\n this.propagateChange(this.propagatedValues);\n }\n /**\n * Updates the input field when seconds change and adds 60secs validation + propagates the value back to the form\n *\n * @param newVal The new value that seconds will have\n */\n updateSeconds(newVal: string): void {\n const enteredSec = this.toInteger(newVal);\n\n if (!isNaN(enteredSec)) {\n this.secs = enteredSec % 60 < 0 ? 60 + (enteredSec % 60) : enteredSec % 60;\n this.changeMinutes(Math.floor(enteredSec / 60));\n } else {\n this.secs = NaN;\n }\n\n this.callbackFn(this.hours, this.mins, this.secs);\n\n this.propagatedValues = {\n ...this.propagatedValues,\n secs: this.secs,\n };\n\n this.propagateChange(this.propagatedValues);\n }\n /**\n * Autofills mins and secs with 00s if the user tabs after entering hours and marks the input as touched\n */\n onFocusOut(): void {\n if (this.oneInputHours && !this.oneInputMins && !this.oneInputSecs) {\n switch (this.oneInputHours) {\n case '0':\n this.oneInputHours = '00';\n break;\n case '1':\n this.oneInputHours = '01';\n break;\n case '2':\n this.oneInputHours = '02';\n break;\n }\n this.oneInputFormControl.patchValue(`${this.oneInputHours} : 00 : 00`);\n }\n\n this.propagateTouched();\n }\n\n writeValue(values: EuiTimePicker): void {\n if (!values) {\n this.hours = null;\n this.mins = null;\n this.secs = null;\n if(this.isOneInputField) {\n this.oneInputFormControl.setValue(null)\n }\n return;\n }\n\n if (values.hours < 0 || values.hours > 23 || typeof values.hours !== 'number') {\n throw new Error('hours must be defined and be a number with range 0-23');\n }\n if (values.mins < 0 || values.mins > 59 || typeof values.mins !== 'number') {\n throw new Error('mins must be defined and be a number with range 0-59');\n }\n if (this.hasSeconds && (values.secs < 0 || values.secs > 59 || typeof values.secs !== 'number')) {\n throw new Error('secs must be defined and be a number with range 0-59');\n }\n\n this.updateHours(values.hours.toString());\n this.updateMinutes(values.mins.toString());\n if (values.secs) {\n this.updateSeconds(values.secs.toString());\n }\n if (this.isOneInputField) {\n const hours = this.padNumber(values.hours);\n const mins = this.padNumber(values.mins);\n const secs = this.padNumber(values.secs);\n\n this.oneInputFormControl.patchValue('' + hours + ':' + mins + ':' + secs);\n }\n }\n /**\n * Disables the hour up incremental when max time range is reached\n *\n * @param state The boolean value that enables the feature\n */\n public hoursUpDisable(state: boolean): void {\n this.hoursUpDisabled = state;\n }\n /**\n * Disables the hour down decremental when min time range is reached\n *\n * @param state The boolean value that enables the feature\n */\n public hoursDownDisable(state: boolean): void {\n this.hoursDownDisabled = state;\n }\n /**\n * Disables the minutes up incremental when max time range is reached\n *\n * @param state The boolean value that enables the feature\n */\n public minutesUpDisable(state: boolean): void {\n this.minutesUpDisabled = state;\n }\n /**\n * Disables the minutes down decremental when min time range is reached\n *\n * @param state The boolean value that enables the feature\n */\n public minutesDownDisable(state: boolean): void {\n this.minutesDownDisabled = state;\n }\n /**\n * Disables the seconds up incremental when max time range is reached\n *\n * @param state The boolean value that enables the feature\n */\n public secondsUpDisable(state: boolean): void {\n this.secondsUpDisabled = state;\n }\n /**\n * Disables the seconds down decremental when min time range is reached\n *\n * @param state The boolean value that enables the feature\n */\n public secondsDownDisable(state: boolean): void {\n this.secondsDownDisabled = state;\n }\n\n registerOnChange(fn: () => void): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.propagateTouched = fn;\n }\n /**\n * A callback function that is called when the time is changed. It is used to propagate the value back to the form.\n * @param hours The hours value\n * @param mins The minutes value\n * @param secs The seconds value\n */\n private callbackFn: (hours: number, mins: number, secs?: number) => void = () => {/* empty */};\n\n /**\n * Converts the provided value to an integer.\n *\n * @param value The value to convert\n * @private\n */\n private toInteger(value: string | number | null | undefined): number {\n return parseInt(`${value}`, 10);\n }\n\n /**\n * Pads leading zero to the provided number when isOneInputField\n *\n * @param value The value to add leading zero to\n * @private\n */\n private padNumber(value: number): string {\n if (!isNaN(this.toInteger(value))) {\n return `0${value}`.slice(-2);\n } else {\n return '';\n }\n }\n\n private propagateChange = (value: EuiTimePicker | null): void => {/* empty */};\n\n private propagateTouched = (): void => {/* empty */};\n\n /**\n * Updates the `aria-required` attribute on the input element.\n * @param control The NgControl instance to check for required validator\n * @private\n */\n private updateInputAriaRequiredAttribute(control: NgControl): void {\n this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n }\n}\n","<div class=\"eui-timepicker\" [class.eui-timepicker--centered]=\"isDatetimepicker\" attr.data-e2e=\"{{ e2eAttr }}\">\n @if (isOneInputField) {\n <input\n [class.eui-timepicker__input--one-field]=\"isDatetimepicker\"\n euiInputText\n [id]=\"inputId\"\n mask=\"{{ timeMask }}\"\n [leadZeroDateTime]=\"true\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"oneInputFormControl.value?oneInputFormControl.value:'No time value'\"\n [formControl]=\"oneInputFormControl\"\n (focusout)=\"onFocusOut()\"\n [dropSpecialCharacters]=\"false\"\n [readonly]=\"isreadOnly\" />\n } @else {\n <div class=\"eui-timepicker__input-container\">\n @if (!isreadOnly) {\n <div class=\"eui-timepicker__chevron eui-timepicker__hours-up\">\n <eui-icon-svg\n (click)=\"changeHours(stepHours)\"\n [class.time-control--disabled]=\"hoursUpDisabled\"\n icon=\"chevron-up:sharp\"\n fillColor=\"neutral-light\"\n [size]=\"iconSize\"\n role=\"button\"\n aria-label=\"Increase Hours\">\n </eui-icon-svg>\n </div>\n }\n <input\n #inputrefhours\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"HH\"\n [ngModel]=\"hours\"\n (ngModelChange)=\"updateHours($event)\"\n [readonly]=\"isreadOnly\"\n aria-label=\"Hours\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n (keydown.ArrowUp)=\"changeHours(stepHours); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeHours(-stepHours); $event.preventDefault()\" />\n @if (!isreadOnly) {\n <div class=\"eui-timepicker__chevron eui-timepicker__hours-down\">\n <eui-icon-svg\n (click)=\"changeHours(-stepHours)\"\n [class.time-control--disabled]=\"hoursDownDisabled\"\n icon=\"chevron-down:sharp\"\n fillColor=\"neutral-light\"\n [size]=\"iconSize\"\n role=\"button\"\n aria-label=\"Decrease Hours\">\n </eui-icon-svg>\n </div>\n }\n </div>\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n @if (!isreadOnly) {\n <div class=\"eui-timepicker__chevron eui-timepicker__minutes-up\">\n <eui-icon-svg\n (click)=\"changeMinutes(stepMinutes)\"\n [class.time-control--disabled]=\"minutesUpDisabled\"\n icon=\"chevron-up:sharp\"\n fillColor=\"neutral-light\"\n [size]=\"iconSize\"\n role=\"button\"\n aria-label=\"Increase Minutes\">\n </eui-icon-svg>\n </div>\n }\n <input\n #inputrefmins\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"MM\"\n [ngModel]=\"mins\"\n (ngModelChange)=\"updateMinutes($event)\"\n [readonly]=\"isreadOnly\"\n aria-label=\"Minutes\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n (keydown.ArrowUp)=\"changeMinutes(stepMinutes); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeMinutes(-stepMinutes); $event.preventDefault()\" />\n @if (!isreadOnly) {\n <div class=\"eui-timepicker__chevron eui-timepicker__minutes-down\">\n <eui-icon-svg\n (click)=\"changeMinutes(-stepMinutes)\"\n [class.time-control--disabled]=\"minutesDownDisabled\"\n icon=\"chevron-down:sharp\"\n fillColor=\"neutral-light\"\n [size]=\"iconSize\"\n role=\"button\"\n aria-label=\"Decrease Minutes\">\n </eui-icon-svg>\n </div>\n }\n </div>\n @if (hasSeconds) {\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n @if (!isreadOnly) {\n <div class=\"eui-timepicker__chevron eui-timepicker__seconds-up\">\n <eui-icon-svg\n (click)=\"changeSeconds(stepSeconds)\"\n [class.time-control--disabled]=\"secondsUpDisabled\"\n icon=\"chevron-up:sharp\"\n fillColor=\"neutral-light\"\n [size]=\"iconSize\"\n role=\"button\"\n aria-label=\"Increase seconds\">\n </eui-icon-svg>\n </div>\n }\n <input\n #inputrefsecs\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"SS\"\n [ngModel]=\"secs\"\n (ngModelChange)=\"updateSeconds($event)\"\n [readonly]=\"isreadOnly\"\n aria-label=\"Seconds\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n (keydown.ArrowUp)=\"changeSeconds(stepSeconds); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeSeconds(-stepSeconds); $event.preventDefault()\" />\n @if (!isreadOnly) {\n <div class=\"eui-timepicker__chevron eui-timepicker__seconds-down\">\n <eui-icon-svg\n (click)=\"changeSeconds(-stepSeconds)\"\n [class.time-control--disabled]=\"secondsDownDisabled\"\n icon=\"chevron-down:sharp\"\n fillColor=\"neutral-light\"\n [size]=\"iconSize\"\n role=\"button\"\n aria-label=\"Decrease seconds\">\n </eui-icon-svg>\n </div>\n }\n </div>\n }\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { EuiTimepickerComponent } from './eui-timepicker.component';\n\n/**\n * @description\n * A module for the timepicker component. This module imports the\n *\n * @deprecated Use the {@link EUI_TIMEPICKER} instead.\n */\n@NgModule({\n imports: [EuiTimepickerComponent],\n exports: [EuiTimepickerComponent],\n})\nexport class EuiTimepickerModule {}\n","import { EuiTimepickerComponent } from './eui-timepicker.component';\n\nexport * from './eui-timepicker.component';\nexport * from './eui-timepicker.module';\nexport * from './models/eui-timepicker.model';\nexport * from './models/eui-date-time-picker.config.model';\n\nexport const EUI_TIMEPICKER = [\n EuiTimepickerComponent,\n] as const;\n\nexport { EuiTimepickerComponent as ETimepicker } from './eui-timepicker.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"eui-components-eui-timepicker.mjs","sources":["../../eui-timepicker/eui-timepicker.component.ts","../../eui-timepicker/eui-timepicker.component.html","../../eui-timepicker/eui-timepicker.module.ts","../../eui-timepicker/index.ts","../../eui-timepicker/eui-components-eui-timepicker.ts"],"sourcesContent":["import {\n Component,\n Inject,\n Input,\n OnInit,\n Optional,\n ViewEncapsulation,\n Self,\n DoCheck,\n OnDestroy,\n SimpleChanges,\n OnChanges,\n booleanAttribute,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n FormControl,\n Validators,\n FormsModule,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DYNAMIC_COMPONENT_CONFIG, uniqueId } from '@eui/core';\nimport { EuiDateTimePickerConfig } from './models/eui-date-time-picker.config.model';\nimport { EuiTimePicker } from './models/eui-timepicker.model';\nimport { NgxMaskDirective, provideNgxMask } from 'ngx-mask';\nimport { EUI_INPUT_NUMBER } from '@eui/components/eui-input-number';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\n/**\n * @description\n * A timepicker component that allows the user to select a time. The component\n * can be used in two modes: one input field or three separate input fields\n * for hours, minutes, and seconds. The component also supports incremental and\n * decremental buttons for each input field.\n *\n */\n@Component({\n selector: 'eui-timepicker',\n templateUrl: './eui-timepicker.component.html',\n styleUrls: ['./eui-timepicker.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n FormsModule,\n ReactiveFormsModule,\n NgxMaskDirective,\n ...EUI_INPUT_NUMBER,\n ...EUI_INPUT_TEXT,\n ...EUI_ICON,\n ],\n providers: [provideNgxMask()],\n})\nexport class EuiTimepickerComponent implements ControlValueAccessor, OnInit, OnChanges, DoCheck, OnDestroy {\n hours: number;\n mins: number;\n secs: number;\n isDatetimepicker: boolean;\n oneInputFormControl = new FormControl();\n oneInputHours: string;\n oneInputMins: string;\n oneInputSecs: string;\n\n public hoursUpDisabled = false;\n public hoursDownDisabled = false;\n public minutesUpDisabled = false;\n public minutesDownDisabled = false;\n public secondsUpDisabled = false;\n public secondsDownDisabled = false;\n\n @Input() e2eAttr = 'eui-timepicker';\n /**\n * The id of the input element when isOneInputField attribute is used. If not provided, a unique id will be generated.\n * @default 'eui-timepicker-<unique-id>'\n */\n @Input() inputId = `eui-timepicker-${uniqueId()}`;\n /**\n * The mask for the input field when isOneInputField attribute is used.\n * @default 'Hh:m0'\n */\n @Input() timeMask = 'Hh:m0'\n /**\n * The placeholder of the input field when isOneInputField attribute is used.\n * @default 'Hh:m0'\n */\n @Input() placeholder = this.timeMask;\n /**\n * The step used for changing hours.\n * @default 1\n */\n @Input() stepHours = 1;\n /**\n * The step used for changing minutes.\n * @default 1\n */\n @Input() stepMinutes = 1;\n /**\n * The step used for changing seconds.\n * @default 1\n */\n @Input() stepSeconds = 1;\n /**\n * The size of the icon used for changing hours, minutes and seconds.\n * @default 'l'\n */\n @Input() iconSize = 'l';\n /**\n * Sets the readonly attribute of the input field.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isreadOnly = false;\n /**\n * Attribute that transforms the 3 separate inputs into one input field.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isOneInputField = false;\n /**\n * Option for enabling seconds.\n * @default false\n */\n @Input({ transform: booleanAttribute }) hasSeconds = false;\n\n protected hasAriaRequiredAttribute: boolean;\n private propagatedValues: EuiTimePicker = {\n hours: null,\n mins: null,\n secs: this.hasSeconds ? null : undefined,\n };\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n @Optional() @Inject(DYNAMIC_COMPONENT_CONFIG) config: EuiDateTimePickerConfig,\n @Self() @Optional() private control: NgControl,\n ) {\n this.hours = config?.hours || 0;\n this.mins = config?.mins || 0;\n this.secs = config?.secs || 0;\n this.isDatetimepicker = config?.isDatetimepicker;\n this.hasSeconds = config?.hasSeconds;\n this.isOneInputField = config?.isOneInputField;\n this.stepHours = config? config.stepHours: this.stepHours;\n this.stepMinutes = config? config.stepMinutes: this.stepMinutes;\n this.stepSeconds = config? config.stepSeconds: this.stepSeconds;\n const hours = this.hours === 0 || null ? '00' : this.hours;\n const mins = this.mins === 0 || null ? '00' : this.mins;\n const secs = this.secs === 0 || null ? '00' : this.secs;\n this.oneInputFormControl.setValue('' + hours + ':' + mins + ':' + secs);\n this.callbackFn = config?.callbackFn || this.callbackFn;\n\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n this.oneInputFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n // splits the entered time into 3 parts based on the : and propagates back the corresponding parts\n if(value === null) {\n this.propagatedValues = {\n hours: null,\n mins: null,\n secs: null,\n };\n this.propagateChange(null);\n return;\n }\n [this.oneInputHours, this.oneInputMins, this.oneInputSecs] = value.split(':');\n const splittedhours = this.oneInputHours ? Number(this.oneInputHours) : null;\n const splittedmins = this.oneInputMins ? Number(this.oneInputMins) : null;\n const splittedsecs = this.oneInputSecs ? Number(this.oneInputSecs) : null;\n if (this.hasSeconds) {\n this.propagatedValues = {\n ...this.propagatedValues,\n hours: splittedhours,\n mins: splittedmins,\n secs: splittedsecs,\n };\n this.callbackFn(splittedhours, splittedmins, splittedsecs);\n } else {\n this.propagatedValues = {\n ...this.propagatedValues,\n hours: splittedhours,\n mins: splittedmins,\n };\n this.callbackFn(splittedhours, splittedmins);\n }\n if (splittedhours === null && splittedmins === null && splittedsecs === null) {\n this.propagateChange(null);\n } else {\n this.propagateChange(this.propagatedValues);\n }\n });\n\n this.updateInputAriaRequiredAttribute(this.control);\n this.control?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.updateInputAriaRequiredAttribute(this.control);\n });\n }\n\n ngOnChanges(changes: SimpleChanges):void {\n if(this.isOneInputField) {\n if (this.hasSeconds && changes.hasSeconds) {\n this.timeMask = 'Hh:m0:s0';\n this.placeholder = 'Hh:m0:s0';\n }\n if (changes.timeMask) {\n this.timeMask = changes.timeMask.currentValue;\n this.placeholder = changes.timeMask.currentValue;\n }\n if(changes.placeholder) {\n this.placeholder = changes.placeholder.currentValue;\n }\n }\n }\n\n ngDoCheck(): void {\n if (this.control) {\n // marks the input control as touched/invalid if the form control is touched/invalid\n // eslint-disable-next-line\n this.control?.touched ? this.oneInputFormControl.markAsTouched() : this.oneInputFormControl.markAsUntouched();\n // eslint-disable-next-line\n this.control?.invalid ? this.oneInputFormControl.setErrors(this.control.errors) : this.oneInputFormControl.setErrors(null);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n /**\n * Increments or decrements hours according to the step param being passed\n *\n * @param step The step number that hours will increase or decrease\n */\n changeHours(step: number): void {\n if ((!this.hoursUpDisabled && step >0) || (!this.hoursDownDisabled && step <0)) {\n const val = (isNaN(this.hours) ? 0 : this.hours) + step;\n this.updateHours(val.toString());\n }\n }\n /**\n * Increments or decrements minutes according to the step param being passed\n *\n * @param step The step number that minutes will increase or decrease\n */\n changeMinutes(step: number): void {\n if ((!this.minutesUpDisabled && step >0) || (!this.minutesDownDisabled && step <0)) {\n const val = (isNaN(this.mins) ? 0 : this.mins) + step;\n this.updateMinutes(val.toString());\n }\n }\n /**\n * Increments or decrements seconds according to the step param being passed\n *\n * @param step The step number that seconds will increase or decrease\n */\n changeSeconds(step: number): void {\n if ((!this.secondsUpDisabled && step >0) || (!this.secondsDownDisabled && step <0)) {\n const val = (isNaN(this.secs) ? 0 : this.secs) + step;\n this.updateSeconds(val.toString());\n }\n }\n /**\n * Updates the input field when hours change and adds 24hour validation + propagates the value back to the form\n *\n * @param newVal The new value that hours will have\n */\n updateHours(newVal: string): void {\n const enteredHour = this.toInteger(newVal);\n\n if (!isNaN(enteredHour)) {\n this.hours = (enteredHour < 0 ? 24 + enteredHour : enteredHour) % 24;\n } else {\n this.hours = NaN;\n }\n\n this.callbackFn(this.hours, this.mins, this.secs);\n\n this.propagatedValues = {\n ...this.propagatedValues,\n hours: this.hours,\n };\n this.propagateChange(this.propagatedValues);\n }\n /**\n * Updates the input field when minutes change and adds 60mins validation + propagates the value back to the form\n *\n * @param newVal The new value that minutes will have\n */\n updateMinutes(newVal: string): void {\n const enteredMin = this.toInteger(newVal);\n\n if (!isNaN(enteredMin)) {\n this.mins = enteredMin % 60 < 0 ? 60 + (enteredMin % 60) : enteredMin % 60;\n this.changeHours(Math.floor(enteredMin / 60));\n } else {\n this.mins = NaN;\n }\n\n this.callbackFn(this.hours, this.mins, this.secs);\n\n this.propagatedValues = {\n ...this.propagatedValues,\n mins: this.mins,\n };\n this.propagateChange(this.propagatedValues);\n }\n /**\n * Updates the input field when seconds change and adds 60secs validation + propagates the value back to the form\n *\n * @param newVal The new value that seconds will have\n */\n updateSeconds(newVal: string): void {\n const enteredSec = this.toInteger(newVal);\n\n if (!isNaN(enteredSec)) {\n this.secs = enteredSec % 60 < 0 ? 60 + (enteredSec % 60) : enteredSec % 60;\n this.changeMinutes(Math.floor(enteredSec / 60));\n } else {\n this.secs = NaN;\n }\n\n this.callbackFn(this.hours, this.mins, this.secs);\n\n this.propagatedValues = {\n ...this.propagatedValues,\n secs: this.secs,\n };\n\n this.propagateChange(this.propagatedValues);\n }\n /**\n * Autofills mins and secs with 00s if the user tabs after entering hours and marks the input as touched\n */\n onFocusOut(): void {\n if (this.oneInputHours && !this.oneInputMins && !this.oneInputSecs) {\n switch (this.oneInputHours) {\n case '0':\n this.oneInputHours = '00';\n break;\n case '1':\n this.oneInputHours = '01';\n break;\n case '2':\n this.oneInputHours = '02';\n break;\n }\n this.oneInputFormControl.patchValue(`${this.oneInputHours} : 00 : 00`);\n }\n\n this.propagateTouched();\n }\n\n writeValue(values: EuiTimePicker): void {\n if (!values) {\n this.hours = null;\n this.mins = null;\n this.secs = null;\n if(this.isOneInputField) {\n this.oneInputFormControl.setValue(null)\n }\n return;\n }\n\n if (values.hours < 0 || values.hours > 23 || typeof values.hours !== 'number') {\n throw new Error('hours must be defined and be a number with range 0-23');\n }\n if (values.mins < 0 || values.mins > 59 || typeof values.mins !== 'number') {\n throw new Error('mins must be defined and be a number with range 0-59');\n }\n if (this.hasSeconds && (values.secs < 0 || values.secs > 59 || typeof values.secs !== 'number')) {\n throw new Error('secs must be defined and be a number with range 0-59');\n }\n\n this.updateHours(values.hours.toString());\n this.updateMinutes(values.mins.toString());\n if (values.secs) {\n this.updateSeconds(values.secs.toString());\n }\n if (this.isOneInputField) {\n const hours = this.padNumber(values.hours);\n const mins = this.padNumber(values.mins);\n const secs = this.padNumber(values.secs);\n\n this.oneInputFormControl.patchValue('' + hours + ':' + mins + ':' + secs);\n }\n }\n /**\n * Disables the hour up incremental when max time range is reached\n *\n * @param state The boolean value that enables the feature\n */\n public hoursUpDisable(state: boolean): void {\n this.hoursUpDisabled = state;\n }\n /**\n * Disables the hour down decremental when min time range is reached\n *\n * @param state The boolean value that enables the feature\n */\n public hoursDownDisable(state: boolean): void {\n this.hoursDownDisabled = state;\n }\n /**\n * Disables the minutes up incremental when max time range is reached\n *\n * @param state The boolean value that enables the feature\n */\n public minutesUpDisable(state: boolean): void {\n this.minutesUpDisabled = state;\n }\n /**\n * Disables the minutes down decremental when min time range is reached\n *\n * @param state The boolean value that enables the feature\n */\n public minutesDownDisable(state: boolean): void {\n this.minutesDownDisabled = state;\n }\n /**\n * Disables the seconds up incremental when max time range is reached\n *\n * @param state The boolean value that enables the feature\n */\n public secondsUpDisable(state: boolean): void {\n this.secondsUpDisabled = state;\n }\n /**\n * Disables the seconds down decremental when min time range is reached\n *\n * @param state The boolean value that enables the feature\n */\n public secondsDownDisable(state: boolean): void {\n this.secondsDownDisabled = state;\n }\n\n registerOnChange(fn: () => void): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.propagateTouched = fn;\n }\n /**\n * A callback function that is called when the time is changed. It is used to propagate the value back to the form.\n * @param hours The hours value\n * @param mins The minutes value\n * @param secs The seconds value\n */\n private callbackFn: (hours: number, mins: number, secs?: number) => void = () => {/* empty */};\n\n /**\n * Converts the provided value to an integer.\n *\n * @param value The value to convert\n * @private\n */\n private toInteger(value: string | number | null | undefined): number {\n return parseInt(`${value}`, 10);\n }\n\n /**\n * Pads leading zero to the provided number when isOneInputField\n *\n * @param value The value to add leading zero to\n * @private\n */\n private padNumber(value: number): string {\n if (!isNaN(this.toInteger(value))) {\n return `0${value}`.slice(-2);\n } else {\n return '';\n }\n }\n\n private propagateChange = (value: EuiTimePicker | null): void => {/* empty */};\n\n private propagateTouched = (): void => {/* empty */};\n\n /**\n * Updates the `aria-required` attribute on the input element.\n * @param control The NgControl instance to check for required validator\n * @private\n */\n private updateInputAriaRequiredAttribute(control: NgControl): void {\n this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n }\n}\n","<div class=\"eui-timepicker\" [class.eui-timepicker--centered]=\"isDatetimepicker\" attr.data-e2e=\"{{ e2eAttr }}\">\n @if (isOneInputField) {\n <input\n [class.eui-timepicker__input--one-field]=\"isDatetimepicker\"\n euiInputText\n [id]=\"inputId\"\n mask=\"{{ timeMask }}\"\n [leadZeroDateTime]=\"true\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"oneInputFormControl.value?oneInputFormControl.value:'No time value'\"\n [formControl]=\"oneInputFormControl\"\n (focusout)=\"onFocusOut()\"\n [dropSpecialCharacters]=\"false\"\n [readonly]=\"isreadOnly\" />\n } @else {\n <div class=\"eui-timepicker__input-container\">\n @if (!isreadOnly) {\n <div class=\"eui-timepicker__chevron eui-timepicker__hours-up\">\n <eui-icon-svg\n (click)=\"changeHours(stepHours)\"\n [class.time-control--disabled]=\"hoursUpDisabled\"\n icon=\"chevron-up:sharp\"\n fillColor=\"neutral-light\"\n [size]=\"iconSize\"\n role=\"button\"\n aria-label=\"Increase Hours\">\n </eui-icon-svg>\n </div>\n }\n <input\n #inputrefhours\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"HH\"\n [ngModel]=\"hours\"\n (ngModelChange)=\"updateHours($event)\"\n [readonly]=\"isreadOnly\"\n aria-label=\"Hours\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n (keydown.ArrowUp)=\"changeHours(stepHours); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeHours(-stepHours); $event.preventDefault()\" />\n @if (!isreadOnly) {\n <div class=\"eui-timepicker__chevron eui-timepicker__hours-down\">\n <eui-icon-svg\n (click)=\"changeHours(-stepHours)\"\n [class.time-control--disabled]=\"hoursDownDisabled\"\n icon=\"chevron-down:sharp\"\n fillColor=\"neutral-light\"\n [size]=\"iconSize\"\n role=\"button\"\n aria-label=\"Decrease Hours\">\n </eui-icon-svg>\n </div>\n }\n </div>\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n @if (!isreadOnly) {\n <div class=\"eui-timepicker__chevron eui-timepicker__minutes-up\">\n <eui-icon-svg\n (click)=\"changeMinutes(stepMinutes)\"\n [class.time-control--disabled]=\"minutesUpDisabled\"\n icon=\"chevron-up:sharp\"\n fillColor=\"neutral-light\"\n [size]=\"iconSize\"\n role=\"button\"\n aria-label=\"Increase Minutes\">\n </eui-icon-svg>\n </div>\n }\n <input\n #inputrefmins\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"MM\"\n [ngModel]=\"mins\"\n (ngModelChange)=\"updateMinutes($event)\"\n [readonly]=\"isreadOnly\"\n aria-label=\"Minutes\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n (keydown.ArrowUp)=\"changeMinutes(stepMinutes); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeMinutes(-stepMinutes); $event.preventDefault()\" />\n @if (!isreadOnly) {\n <div class=\"eui-timepicker__chevron eui-timepicker__minutes-down\">\n <eui-icon-svg\n (click)=\"changeMinutes(-stepMinutes)\"\n [class.time-control--disabled]=\"minutesDownDisabled\"\n icon=\"chevron-down:sharp\"\n fillColor=\"neutral-light\"\n [size]=\"iconSize\"\n role=\"button\"\n aria-label=\"Decrease Minutes\">\n </eui-icon-svg>\n </div>\n }\n </div>\n @if (hasSeconds) {\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n @if (!isreadOnly) {\n <div class=\"eui-timepicker__chevron eui-timepicker__seconds-up\">\n <eui-icon-svg\n (click)=\"changeSeconds(stepSeconds)\"\n [class.time-control--disabled]=\"secondsUpDisabled\"\n icon=\"chevron-up:sharp\"\n fillColor=\"neutral-light\"\n [size]=\"iconSize\"\n role=\"button\"\n aria-label=\"Increase seconds\">\n </eui-icon-svg>\n </div>\n }\n <input\n #inputrefsecs\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"SS\"\n [ngModel]=\"secs\"\n (ngModelChange)=\"updateSeconds($event)\"\n [readonly]=\"isreadOnly\"\n aria-label=\"Seconds\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n (keydown.ArrowUp)=\"changeSeconds(stepSeconds); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeSeconds(-stepSeconds); $event.preventDefault()\" />\n @if (!isreadOnly) {\n <div class=\"eui-timepicker__chevron eui-timepicker__seconds-down\">\n <eui-icon-svg\n (click)=\"changeSeconds(-stepSeconds)\"\n [class.time-control--disabled]=\"secondsDownDisabled\"\n icon=\"chevron-down:sharp\"\n fillColor=\"neutral-light\"\n [size]=\"iconSize\"\n role=\"button\"\n aria-label=\"Decrease seconds\">\n </eui-icon-svg>\n </div>\n }\n </div>\n }\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { EuiTimepickerComponent } from './eui-timepicker.component';\n\n/**\n * @description\n * A module for the timepicker component. This module imports the\n *\n * @deprecated Use the {@link EUI_TIMEPICKER} instead.\n */\n@NgModule({\n imports: [EuiTimepickerComponent],\n exports: [EuiTimepickerComponent],\n})\nexport class EuiTimepickerModule {}\n","import { EuiTimepickerComponent } from './eui-timepicker.component';\n\nexport * from './eui-timepicker.component';\nexport * from './eui-timepicker.module';\nexport * from './models/eui-timepicker.model';\nexport * from './models/eui-date-time-picker.config.model';\n\nexport const EUI_TIMEPICKER = [\n EuiTimepickerComponent,\n] as const;\n\n// export { EuiTimepickerComponent as EuiTimepicker } from './eui-timepicker.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -19,6 +19,7 @@ import * as i2$1 from '@eui/components/eui-label';
|
|
19
19
|
import { EUI_LABEL } from '@eui/components/eui-label';
|
20
20
|
import * as i3$1 from '@eui/components/eui-icon-button-expander';
|
21
21
|
import { EUI_ICON_BUTTON_EXPANDER } from '@eui/components/eui-icon-button-expander';
|
22
|
+
import { NgIf } from '@angular/common';
|
22
23
|
|
23
24
|
class EuiTreeListToolbarComponent {
|
24
25
|
constructor() {
|
@@ -748,11 +749,12 @@ class EuiTreeListItemComponent {
|
|
748
749
|
.trim();
|
749
750
|
}
|
750
751
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EuiTreeListItemComponent, deps: [{ token: forwardRef(() => EuiTreeListComponent), host: true, optional: true }, { token: i0.ElementRef }, { token: i1$2.BaseStatesDirective }], target: i0.ɵɵFactoryTarget.Component }); }
|
751
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: EuiTreeListItemComponent, isStandalone: true, selector: "eui-tree-list-item", inputs: { id: "id", ariaLabel: "ariaLabel", e2eAttr: "e2eAttr", label: "label", linkUrl: "linkUrl", subLabel: "subLabel", url: "url", subLinks: "subLinks", isActive: ["isActive", "isActive", booleanAttribute], isExpanded: ["isExpanded", "isExpanded", booleanAttribute], isAlwaysExpanded: ["isAlwaysExpanded", "isAlwaysExpanded", booleanAttribute], isVisible: ["isVisible", "isVisible", booleanAttribute], isDisplaySubLinksOnHover: ["isDisplaySubLinksOnHover", "isDisplaySubLinksOnHover", booleanAttribute], isNavigateOnlyOnLabelClick: ["isNavigateOnlyOnLabelClick", "isNavigateOnlyOnLabelClick", booleanAttribute] }, outputs: { toggled: "toggled" }, host: { properties: { "class": "this.cssClasses", "attr.tabindex": "this.tabIndex", "attr.role": "this.ariaRole", "attr.id": "this.id", "attr.aria-label": "this.ariaLabel", "attr.data-e2e": "this.e2eAttr" } }, queries: [{ propertyName: "customLabel", first: true, predicate: i0.forwardRef(() => EuiTreeListItemLabelTagDirective), descendants: true }, { propertyName: "customDetailContent", first: true, predicate: i0.forwardRef(() => EuiTreeListItemDetailsContentTagDirective), descendants: true }, { propertyName: "customSubContainerContent", first: true, predicate: i0.forwardRef(() => EuiTreeListItemSubContainerContentTagDirective), descendants: true }, { propertyName: "subTreeList", predicate: i0.forwardRef(() => EuiTreeListComponent), descendants: true }, { propertyName: "customContent", predicate: i0.forwardRef(() => EuiTreeListItemContentComponent) }], viewQueries: [{ propertyName: "focusable", first: true, predicate: ["focusable"], descendants: true }], hostDirectives: [{ directive: i1$2.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiSecondary", "euiSecondary", "euiInfo", "euiInfo", "euiSuccess", "euiSuccess", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiAccent", "euiAccent", "euiVariant", "euiVariant"] }], ngImport: i0, template: "<div class=\"eui-tree-list-item-header\">\n <div\n #focusable\n class=\"eui-tree-list-item-header__content\"\n (keydown)=\"onKeyDown($event)\"\n attr.aria-label=\"{{ label }} {{ subLabel }}\">\n\n @if (hasCustomContent) {\n <ng-content select=\"eui-tree-list-item-content\"></ng-content>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n } @else {\n <div class=\"eui-u-flex\">\n <eui-label>\n @if (!customLabel) {\n {{label}}\n <eui-label *ngIf=\"subLabel\" euiSublabel>{{subLabel}}</eui-label>\n } @else {\n <div class=\"eui-u-flex\">\n <ng-content select=\"eui-tree-list-item-label\"></ng-content>\n </div>\n }\n </eui-label>\n </div>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n }\n </div>\n\n @if (customDetailContent) {\n <div class=\"eui-tree-list-item-header__details-content\">\n <ng-content select=\"eui-tree-list-item-details\"></ng-content>\n </div>\n }\n\n @if (customSubContainerContent) {\n <ng-content select=\"eui-tree-list-item-sub-container\"></ng-content>\n }\n</div>\n\n<ng-template [ngIf]=\"isExpanded || isAlwaysExpanded\">\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #rightContent>\n <div class=\"eui-tree-list-item-header__content-right-content\">\n <div class=\"eui-tree-list-item-header__content-expand-toggle-wrapper\">\n @if (hasSub && !isAlwaysExpanded) {\n <eui-icon-button-expander\n (buttonClick)=\"toggle($event)\"\n [isExpanded]=\"isExpanded\"\n isDirectionForward>\n </eui-icon-button-expander>\n }\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: i2$1.EuiLabelComponent, selector: "label[euiLabel], span[euiLabel], div[euiLabel], a[euiLabel], eui-label, label[euiSublabel], span[euiSublabel], div[euiSublabel], a[euiSublabel], eui-sublabel", inputs: ["euiRequired", "euiReadonly", "euiSublabel"] }, { kind: "component", type: i3$1.EuiIconButtonExpanderComponent, selector: "eui-icon-button-expander", inputs: ["fillColor", "size", "ariaLabel", "isExpanded", "isDirectionForward", "euiDisabled"], outputs: ["buttonClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
752
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: EuiTreeListItemComponent, isStandalone: true, selector: "eui-tree-list-item", inputs: { id: "id", ariaLabel: "ariaLabel", e2eAttr: "e2eAttr", label: "label", linkUrl: "linkUrl", subLabel: "subLabel", url: "url", subLinks: "subLinks", isActive: ["isActive", "isActive", booleanAttribute], isExpanded: ["isExpanded", "isExpanded", booleanAttribute], isAlwaysExpanded: ["isAlwaysExpanded", "isAlwaysExpanded", booleanAttribute], isVisible: ["isVisible", "isVisible", booleanAttribute], isDisplaySubLinksOnHover: ["isDisplaySubLinksOnHover", "isDisplaySubLinksOnHover", booleanAttribute], isNavigateOnlyOnLabelClick: ["isNavigateOnlyOnLabelClick", "isNavigateOnlyOnLabelClick", booleanAttribute] }, outputs: { toggled: "toggled" }, host: { properties: { "class": "this.cssClasses", "attr.tabindex": "this.tabIndex", "attr.role": "this.ariaRole", "attr.id": "this.id", "attr.aria-label": "this.ariaLabel", "attr.data-e2e": "this.e2eAttr" } }, queries: [{ propertyName: "customLabel", first: true, predicate: i0.forwardRef(() => EuiTreeListItemLabelTagDirective), descendants: true }, { propertyName: "customDetailContent", first: true, predicate: i0.forwardRef(() => EuiTreeListItemDetailsContentTagDirective), descendants: true }, { propertyName: "customSubContainerContent", first: true, predicate: i0.forwardRef(() => EuiTreeListItemSubContainerContentTagDirective), descendants: true }, { propertyName: "subTreeList", predicate: i0.forwardRef(() => EuiTreeListComponent), descendants: true }, { propertyName: "customContent", predicate: i0.forwardRef(() => EuiTreeListItemContentComponent) }], viewQueries: [{ propertyName: "focusable", first: true, predicate: ["focusable"], descendants: true }], hostDirectives: [{ directive: i1$2.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiSecondary", "euiSecondary", "euiInfo", "euiInfo", "euiSuccess", "euiSuccess", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiAccent", "euiAccent", "euiVariant", "euiVariant"] }], ngImport: i0, template: "<div class=\"eui-tree-list-item-header\">\n <div\n #focusable\n class=\"eui-tree-list-item-header__content\"\n (keydown)=\"onKeyDown($event)\"\n attr.aria-label=\"{{ label }} {{ subLabel }}\">\n\n @if (hasCustomContent) {\n <ng-content select=\"eui-tree-list-item-content\"></ng-content>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n } @else {\n <div class=\"eui-u-flex\">\n <eui-label>\n @if (!customLabel) {\n {{label}}\n <eui-label *ngIf=\"subLabel\" euiSublabel>{{subLabel}}</eui-label>\n } @else {\n <div class=\"eui-u-flex\">\n <ng-content select=\"eui-tree-list-item-label\"></ng-content>\n </div>\n }\n </eui-label>\n </div>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n }\n </div>\n\n @if (customDetailContent) {\n <div class=\"eui-tree-list-item-header__details-content\">\n <ng-content select=\"eui-tree-list-item-details\"></ng-content>\n </div>\n }\n\n @if (customSubContainerContent) {\n <ng-content select=\"eui-tree-list-item-sub-container\"></ng-content>\n }\n</div>\n\n<ng-template [ngIf]=\"isExpanded || isAlwaysExpanded\">\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #rightContent>\n <div class=\"eui-tree-list-item-header__content-right-content\">\n <div class=\"eui-tree-list-item-header__content-expand-toggle-wrapper\">\n @if (hasSub && !isAlwaysExpanded) {\n <eui-icon-button-expander\n (buttonClick)=\"toggle($event)\"\n [isExpanded]=\"isExpanded\"\n isDirectionForward>\n </eui-icon-button-expander>\n }\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: i2$1.EuiLabelComponent, selector: "label[euiLabel], span[euiLabel], div[euiLabel], a[euiLabel], eui-label, label[euiSublabel], span[euiSublabel], div[euiSublabel], a[euiSublabel], eui-sublabel", inputs: ["euiRequired", "euiReadonly", "euiSublabel"] }, { kind: "component", type: i3$1.EuiIconButtonExpanderComponent, selector: "eui-icon-button-expander", inputs: ["fillColor", "size", "ariaLabel", "isExpanded", "isDirectionForward", "euiDisabled"], outputs: ["buttonClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
752
753
|
}
|
753
754
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EuiTreeListItemComponent, decorators: [{
|
754
755
|
type: Component,
|
755
756
|
args: [{ selector: 'eui-tree-list-item', encapsulation: ViewEncapsulation.None, imports: [
|
757
|
+
NgIf,
|
756
758
|
TranslateModule,
|
757
759
|
FormsModule,
|
758
760
|
...EUI_LABEL,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-components-eui-tree-list.mjs","sources":["../../eui-tree-list/toolbar/toolbar.component.ts","../../eui-tree-list/toolbar/toolbar.component.html","../../eui-tree-list/eui-tree-list.component.ts","../../eui-tree-list/eui-tree-list.component.html","../../eui-tree-list/item-content/item-content.component.ts","../../eui-tree-list/eui-tree-list-item.component.ts","../../eui-tree-list/eui-tree-list-item.component.html","../../eui-tree-list/eui-tree-list.module.ts","../../eui-tree-list/index.ts","../../eui-tree-list/eui-components-eui-tree-list.ts"],"sourcesContent":["import {\n Component,\n Input,\n Output,\n EventEmitter,\n OnInit,\n OnChanges,\n SimpleChanges,\n ViewEncapsulation,\n booleanAttribute,\n HostBinding,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_INPUT } from '@eui/components/eui-icon-input';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\n\n@Component({\n selector: 'eui-tree-list-toolbar',\n templateUrl: './toolbar.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [\n FormsModule,\n ...EUI_INPUT_TEXT,\n ...EUI_BUTTON,\n ...EUI_ICON,\n ...EUI_ICON_INPUT,\n ],\n})\nexport class EuiTreeListToolbarComponent implements OnInit, OnChanges {\n @HostBinding('class') classes = 'eui-tree-list-toolbar';\n\n @Input() e2eAttr = 'eui-tree-list-toolbar';\n /**\n * Shows or hides the toolbar\n * @default false\n */\n @Input({ transform: booleanAttribute }) isVisible = false;\n /**\n * The value of the filter placeholder\n * @type {string}\n */\n @Input() filterLabel: string;\n /**\n * The label for the expand all button\n * @type {string}\n */\n @Input() expandAllLabel: string;\n /**\n * The label for the collapse all button\n * @type {string}\n */\n @Input() collapseAllLabel: string;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) isFilterVisible = true;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) isToggleVisible = true;\n /**\n * Option that toggles the expanded/collapsed state of the corresponding button\n * @default false\n */\n @Input({ transform: booleanAttribute }) isToggleExpanded = false;\n /**\n * The value of the filter input\n * @default ''\n */\n @Input() filterValue = '';\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) hasLabels = true;\n /**\n * Event emitted if there is or if a filter value changes.\n */\n @Output() filter = new EventEmitter<string>();\n /**\n * Event emitted when the expand all button is clicked.\n */\n @Output() expandAll = new EventEmitter<MouseEvent>();\n /**\n * Event emitted when the collapse all button is clicked.\n */\n @Output() collapseAll = new EventEmitter<MouseEvent>();\n\n ngOnInit(): void {\n if (this.filterValue !== '' && this.filterValue !== undefined) {\n this.filter.emit(this.filterValue);\n }\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.filterValue && this.filterValue !== undefined) {\n this.filter.emit(this.filterValue);\n }\n }\n /**\n * This method is called when the filter input value changes.\n * It emits the filter value to the parent component.\n * @protected\n */\n protected onFilter(): void {\n if (this.filterValue === '') {\n if (!this.isToggleExpanded) {\n this.collapseAll.emit(null);\n }\n }\n this.filter.emit(this.filterValue);\n }\n /**\n * This method is called when the expand all button is clicked.\n * It emits the expand all event to the parent component.\n * @param event The mouse event\n * @protected\n */\n protected onExpandAll(event: MouseEvent): void {\n this.isToggleExpanded = !this.isToggleExpanded;\n this.expandAll.emit(event);\n }\n /**\n * This method is called when the collapse all button is clicked.\n * It emits the collapse all event to the parent component.\n * @param event The mouse event\n * @protected\n */\n protected onCollapseAll(event: MouseEvent): void {\n this.isToggleExpanded = !this.isToggleExpanded;\n this.collapseAll.emit(event);\n }\n}\n","@if (isVisible) {\n <eui-icon-input>\n <eui-icon-svg icon=\"eui-ecl-search\" fillColor=\"neutral-lighter\" aria-label=\"Search Icon\" />\n <input\n euiInputText\n euiClearable\n [(ngModel)]=\"filterValue\"\n [placeholder]=\"filterLabel\"\n (ngModelChange)=\"onFilter()\" />\n </eui-icon-input>\n\n @if (!isToggleExpanded) {\n <button euiButton euiSecondary euiOutline (click)=\"onExpandAll($event)\" [euiIconButton]=\"expandAllLabel === ''\" aria-label=\"Expand all\">\n @if (expandAllLabel !== '') {\n {{ expandAllLabel }}\n }\n <eui-icon-svg icon=\"eui-level-down\" aria-label=\"Expand all tree items icon\" />\n </button>\n } @else {\n <button euiButton euiSecondary euiOutline (click)=\"onCollapseAll($event)\" [euiIconButton]=\"collapseAllLabel === ''\" aria-label=\"Collapse all\">\n @if (collapseAllLabel !== '') {\n {{ collapseAllLabel }}\n }\n <eui-icon-svg icon=\"eui-level-up\" aria-label=\"Collapse all tree items icon\" />\n </button>\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ContentChildren,\n QueryList,\n forwardRef,\n AfterViewInit,\n OnChanges,\n SimpleChanges,\n ElementRef,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\nimport { EuiTreeListItemComponent } from './eui-tree-list-item.component';\nimport { EuiTreeListToolbarComponent } from './toolbar/toolbar.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\nexport interface EuiTreeListFilterParams {\n readonly level: number;\n readonly item: EuiTreeListItemComponent;\n readonly keyword: string;\n}\n\n@Component({\n selector: 'eui-tree-list',\n templateUrl: './eui-tree-list.component.html',\n styleUrls: ['./_styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n EuiTreeListToolbarComponent,\n TranslateModule,\n ],\n})\nexport class EuiTreeListComponent implements AfterViewInit, OnChanges {\n /**\n * Option to show the toolbar\n * @default false\n */\n @Input({ transform: booleanAttribute }) isShowToolbar = false;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) isShowToolbarToggle = true;\n /**\n * Sets the expanded state of the tree list\n */\n @Input({ transform: booleanAttribute }) isExpanded = false;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) hasItemsUrl = false;\n /**\n * Sets the label for the filter input\n * @type {string}\n */\n @Input() filterLabel: string;\n /**\n * Function to filter the tree list items based on the provided params\n * @param {EuiTreeListFilterParams} params\n * @returns {boolean}\n */\n @Input() filterFunction: (params: EuiTreeListFilterParams) => boolean;\n /**\n * Sets the label for the expand all button\n * @type {string}\n */\n @Input() expandAllLabel: string;\n /**\n * Sets the label for the collapse all button\n * @type {string}\n */\n @Input() collapseAllLabel: string;\n /**\n * Sets the tabindex attribute to handle the focus state\n * @default '0'\n */\n @Input() tabindex = '0';\n /**\n * Sets the aria-label attribute for the tree list\n * @default ''\n */\n @Input() ariaLabel = '';\n /**\n * Sets the filter value of the toolbar\n * @default ''\n */\n @Input() toolbarFilterValue = '';\n /**\n * Sets the end to end attribute for the tree list\n * @default 'eui-tree-list'\n */\n @Input() e2eAttr = 'eui-tree-list';\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Output() itemSelected = new EventEmitter<string>();\n /**\n * Event that emits the filter value upon filtering.\n */\n @Output() filter = new EventEmitter<string>();\n /**\n * Event emitted upon expanding all items.\n */\n @Output() expandAll = new EventEmitter();\n /**\n * Event emitted upon collapsing all items.\n */\n @Output() collapseAll = new EventEmitter();\n\n @ContentChildren(forwardRef(() => EuiTreeListItemComponent)) items: QueryList<EuiTreeListItemComponent>;\n\n public ariaOwns = '';\n public originalTabindex = '0';\n public classes = '';\n public ariaRoleTree = 'tree';\n constructor(private elementRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n const treeItemIds = [];\n if (this.items) {\n this.items.forEach((treeItem: EuiTreeListItemComponent) => {\n treeItemIds.push(treeItem.id);\n });\n }\n setTimeout(() => {\n this.ariaOwns = treeItemIds.join(' ');\n this.originalTabindex = this.tabindex;\n if (this.isExpanded) {\n this.setExpandedState(true);\n }\n }, 0);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['tabindex']) {\n this.originalTabindex = this.tabindex;\n }\n }\n /**\n * Getter function that returns true if the expandAllLabel exists.\n * @returns {boolean}\n */\n get hasExpandAllLabel(): boolean {\n return this.expandAllLabel !== undefined && this.expandAllLabel !== null;\n }\n /**\n * Getter function that returns true if the collapseAllLabel exists.\n * @returns {boolean}\n */\n get hasCollapseAllLabel(): boolean {\n return this.collapseAllLabel !== undefined && this.collapseAllLabel !== null;\n }\n /**\n * Method that sets the expanded state and emits the expand all event.\n */\n onExpandAll(event: Event): void {\n this.setExpandedState(true);\n this.expandAll.next(void 0);\n }\n /**\n * Method that sets the collapsed state and emits the collapse all event.\n */\n onCollapseAll(event: Event): void {\n this.setExpandedState(false);\n this.collapseAll.next(void 0);\n }\n /**\n * Method that handles the visibility of the items based on the filter value and emits the filter event.\n * @param {string} filterValue - The filter value to set.\n */\n onFilter(filterValue: string): void {\n // TODO find a recursive way of doing the filtering throughout the tree structure\n if (filterValue && filterValue !== '') {\n this.setVisibleState(false);\n this.items.toArray().forEach((item1) => {\n item1.isVisible = this.filterMatched(0, item1, filterValue);\n if (item1.subTreeList.length !== 0) {\n item1.subTreeList.toArray().forEach((item1SubTreeList) => {\n item1SubTreeList.items.toArray().forEach((item2) => {\n if (this.filterMatched(1, item2, filterValue)) {\n item2.isVisible = true;\n item1.isVisible = true;\n item1.isExpanded = true;\n\n if (item2.subTreeList.length !== 0) {\n item2.subTreeList.toArray().forEach((item2SubTreeList) => {\n item2SubTreeList.items.toArray().forEach((item3) => {\n item3.isVisible = true;\n });\n });\n }\n }\n\n if (item2.subTreeList.length !== 0) {\n item2.subTreeList.toArray().forEach((item2SubTreeList) => {\n item2SubTreeList.items.toArray().forEach((item4) => {\n if (this.filterMatched(2, item4, filterValue)) {\n item4.isVisible = true;\n item2.isVisible = true;\n item2.isExpanded = true;\n item1.isVisible = true;\n item1.isExpanded = true;\n }\n });\n });\n }\n });\n });\n }\n });\n } else {\n this.setVisibleState(true);\n }\n\n this.filter.next(filterValue);\n }\n /**\n * @deprecated This method is not used anymore and will be removed in the next major version. You can use the `focus()` method instead.\n */\n onFocus(): void {\n this.focus();\n }\n /**\n * Method that sets the visibility state of the tree list items.\n * @param {boolean} state \n */\n public setVisibleState(state: boolean): void {\n this.items.toArray().forEach((item) => item.setVisibleState(state));\n }\n /**\n * Method that sets the expanded state of the tree list items.\n * @param {boolean} state \n */\n public setExpandedState(state: boolean): void {\n this.items.toArray().forEach((item) => item.setExpandedState(state));\n }\n /**\n * Method that puts the focus on the first child tree item.\n */\n public focus(): void {\n // Focus on the first child tree item:\n if (this.items && this.items.length > 0) {\n this.items.first.focus();\n }\n }\n /**\n * Method that makes the tree list not focusable.\n */\n public disableFocus(): void {\n this.tabindex = '-1';\n }\n /**\n * Method used to focus on the previous tree item in the list.\n * @param {EuiTreeListItemComponent} currentTreeListItem - The current tree list item.\n * @return {boolean} - Returns true if the focus was set on the previous tree item, false otherwise.\n */\n public focusOnPreviousTreeItem(currentTreeListItem: EuiTreeListItemComponent): boolean {\n if (this.items && this.items.length > 0) {\n let previousTreeListItem: EuiTreeListItemComponent = null;\n for (const treeListItem of this.items.toArray()) {\n if (treeListItem !== currentTreeListItem) {\n previousTreeListItem = treeListItem;\n } else if (previousTreeListItem) {\n previousTreeListItem.focusOnLastExpandedTreeItem();\n return true;\n }\n }\n\n // Focus on the last item of the previous parent:\n // First find the parent list item:\n if (this.elementRef) {\n let parent = this.elementRef.nativeElement.parentElement;\n while (parent && !parent.classList.contains('eui-tree-list-item')) {\n parent = parent.parentElement;\n }\n\n if (parent) {\n // parent tree-item is found\n const content = parent.querySelector('.eui-tree-list-item-header__content');\n if (content) {\n content.setAttribute('tabindex', '0');\n content.focus();\n return true;\n }\n }\n }\n }\n\n return false;\n }\n /**\n * Method used to focus on the next tree item in the list.\n * @param {EuiTreeListItemComponent} currentTreeListItem - The current tree list item.\n * @return {boolean} - Returns true if the focus was set on the next tree item, false otherwise.\n */\n public focusOnNextTreeItem(currentTreeListItem: EuiTreeListItemComponent): boolean {\n if (this.items && this.items.length > 0) {\n if (currentTreeListItem !== this.items.last) {\n let previousTreeListItem: EuiTreeListItemComponent = null;\n for (const treeListItem of this.items.toArray()) {\n if (previousTreeListItem !== currentTreeListItem) {\n previousTreeListItem = treeListItem;\n } else {\n treeListItem.focus();\n return true;\n }\n }\n } else {\n // The current focused tree item is the last one; find the first next tree item:\n if (this.elementRef) {\n // First find the parent tree list item:\n let parent = this.elementRef.nativeElement.parentElement;\n // Find the parent that is not a last child itself:\n while (parent && (parent.tagName.toLowerCase() !== 'eui-tree-list-item' || parent.nextElementSibling === null)) {\n parent = parent.parentElement;\n }\n\n if (parent) {\n // parent tree list item is found; focus on the first child of the next list item\n const nextTreeListItem = parent.nextElementSibling;\n if (nextTreeListItem) {\n const next = nextTreeListItem.querySelector('.eui-tree-list-item-header__content');\n next.setAttribute('tabindex', '0');\n next.focus();\n return true;\n }\n }\n }\n }\n }\n\n return false;\n }\n /**\n * Method that sets the default filter function to filter the tree list items.\n * @param {EuiTreeListFilterParams} params - The filter parameters.\n * @returns {boolean} - Returns true if the item matches the filter, false otherwise.\n * @private\n */\n private defaultFilterFunction(params: EuiTreeListFilterParams): boolean {\n if (!params.item.label) {\n return false;\n } else if (params.item.label.toUpperCase().indexOf(params.keyword.toUpperCase()) !== -1) {\n return true;\n } else {\n return false;\n }\n }\n /**\n * Method that filters the tree list items based on the provided params.\n * @param {number} level - The level of the item in the tree list.\n * @param {EuiTreeListItemComponent} item - The tree list item to filter.\n * @param {string} keyword - The keyword to filter by.\n * @returns {boolean} - Returns true if the item matches the filter, false otherwise.\n * @private\n */\n private filterMatched(level: number, item: EuiTreeListItemComponent, keyword: string): boolean {\n if (this.filterFunction) {\n return this.filterFunction({ level, item, keyword });\n } else {\n return this.defaultFilterFunction({ level, item, keyword });\n }\n }\n}\n","@if (isShowToolbar) {\n <eui-tree-list-toolbar\n [isVisible]=\"isShowToolbar\"\n [isToggleVisible]=\"isShowToolbarToggle\"\n (filter)=\"onFilter($event)\"\n [filterValue]=\"toolbarFilterValue\"\n (expandAll)=\"onExpandAll($event)\"\n (collapseAll)=\"onCollapseAll($event)\"\n [filterLabel]=\"filterLabel ? filterLabel : 'eui.FILTER' | translate\"\n [expandAllLabel]=\"hasExpandAllLabel ? expandAllLabel : 'eui.EXPANDALL' | translate\"\n [collapseAllLabel]=\"hasCollapseAllLabel ? collapseAllLabel : 'eui.COLLAPSEALL' | translate\"\n [isToggleExpanded]=\"isExpanded\"\n attr.data-e2e=\"{{ e2eAttr }}-a-toolbar-filter\">\n </eui-tree-list-toolbar>\n}\n\n<div\n class=\"eui-tree-list\"\n [attr.role]=\"ariaRoleTree\"\n [attr.data-tabindex]=\"originalTabindex\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-owns]=\"ariaOwns\"\n attr.data-e2e=\"{{ e2eAttr }}\">\n <ng-content></ng-content>\n</div>\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'eui-tree-list-item-content',\n template: '<ng-content></ng-content>',\n})\nexport class EuiTreeListItemContentComponent {\n @HostBinding('class') string = 'eui-tree-list-item-content';\n}\n","import {\n AfterContentInit,\n booleanAttribute,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Host,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { UxLinkLegacy } from '@eui/core';\n\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport { consumeEvent, uniqueId } from '@eui/core';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule } from '@angular/forms';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_ICON_BUTTON_EXPANDER } from '@eui/components/eui-icon-button-expander';\nimport { EUI_ICON_INPUT } from '@eui/components/eui-icon-input';\n\n@Component({\n selector: 'eui-tree-list-item',\n templateUrl: './eui-tree-list-item.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [\n TranslateModule,\n FormsModule,\n ...EUI_LABEL,\n ...EUI_ICON_INPUT,\n ...EUI_ICON_BUTTON_EXPANDER,\n ],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: ['euiPrimary', 'euiSecondary', 'euiInfo', 'euiSuccess', 'euiWarning', 'euiDanger', 'euiAccent', 'euiVariant'],\n },\n ],\n})\nexport class EuiTreeListItemComponent implements AfterContentInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return this.getCssClasses();\n }\n @HostBinding('attr.tabindex') tabIndex = '0';\n @HostBinding('attr.role') protected ariaRole = 'treeitem';\n\n @HostBinding('attr.id') @Input() id: string;\n @HostBinding('attr.aria-label') @Input() ariaLabel: string;\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-tree-list-item';\n /**\n * The label of the tree list item if there is no customLabel.\n * @type {string}\n */\n @Input() label: string;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input() linkUrl: string;\n /**\n * The sublabel of the tree list item if there is no customLabel.\n * @type {string}\n */\n @Input() subLabel: string;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input() url: string;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input() subLinks: UxLinkLegacy[] = [];\n /**\n * Option that enables a corresponding class if it is set to true.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isActive = false;\n /**\n * Option to set the expanded state of the list item.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isExpanded = false;\n /**\n * Option to set the expanded state of the list item when it is always expanded.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isAlwaysExpanded = false;\n /**\n * Option to set the visible state of the list item and apply the corresponding hidden class if it is set to false.\n * @default true\n */\n @Input({ transform: booleanAttribute }) isVisible = true;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) isDisplaySubLinksOnHover = false;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) isNavigateOnlyOnLabelClick = false;\n /**\n * Event emitted upon toggling the expanded state.\n */\n @Output() toggled = new EventEmitter<EuiTreeListItemComponent>();\n\n isHovered = false;\n treeListComponent: EuiTreeListComponent;\n\n // tree states\n hasSub = false;\n\n // custom content\n hasCustomContent = false;\n\n @ViewChild('focusable') focusable: ElementRef<HTMLDivElement>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemLabelTagDirective))\n customLabel: QueryList<EuiTreeListItemLabelTagDirective>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemDetailsContentTagDirective))\n customDetailContent: QueryList<EuiTreeListItemDetailsContentTagDirective>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemSubContainerContentTagDirective))\n customSubContainerContent: QueryList<EuiTreeListItemSubContainerContentTagDirective>;\n\n @ContentChildren(forwardRef(() => EuiTreeListComponent), { descendants: true })\n subTreeList: QueryList<EuiTreeListComponent>;\n\n @ContentChildren(forwardRef(() => EuiTreeListItemContentComponent), { descendants: false })\n customContent: QueryList<EuiTreeListItemContentComponent>;\n\n constructor(\n @Host() @Optional() @Inject(forwardRef(() => EuiTreeListComponent)) treeListComponent,\n protected elementRef: ElementRef,\n public baseStatesDirective: BaseStatesDirective,\n ) {\n this.treeListComponent = treeListComponent as EuiTreeListComponent;\n }\n\n ngAfterContentInit(): void {\n if (!this.ariaLabel) {\n this.ariaLabel = this.label ? this.label : 'Custom content';\n }\n\n // make sure that the tree item can be aria-owned by a parent tree for WAI-ARIA attributes:\n if (!this.id) {\n this.id = uniqueId();\n }\n\n // setting tree states\n if (this.subTreeList.length !== 0) {\n this.hasSub = true;\n }\n\n // checking if customContent set\n if (this.customContent.length !== 0) {\n this.hasCustomContent = true;\n }\n\n // make sure that any child tree-list is non-focusable and that it has the role of a WAI-ARIA group:\n if (this.subTreeList) {\n this.subTreeList.forEach((subtree: EuiTreeListComponent) => {\n subtree.disableFocus();\n subtree.ariaRoleTree = 'group';\n });\n }\n }\n /**\n * Method fired when the expander button is clicked.\n * @param {Event} event - The click event.\n */\n toggle(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n this.isExpanded = !this.isExpanded;\n this.toggled.next(this);\n }\n /**\n * Method fired when a key is pressed down.\n * @param {KeyboardEvent} event - The keyboard event.\n */\n onKeyDown(event: KeyboardEvent): void {\n switch (event.keyCode) {\n case 13: // ENTER\n case 32: // SPACE\n this.isExpanded = !this.isExpanded;\n consumeEvent(event);\n break;\n case 37: // ARROW LEFT\n this.isExpanded = false;\n consumeEvent(event);\n break;\n case 38: // ARROW UP\n if (this.treeListComponent) {\n if (this.treeListComponent.focusOnPreviousTreeItem(this)) {\n this.disableFocus();\n }\n }\n\n consumeEvent(event);\n break;\n case 39: // ARROW RIGHT\n this.isExpanded = true;\n consumeEvent(event);\n break;\n case 40: // ARROW DOWN\n if (this.focusOnNextTreeItem()) {\n this.disableFocus();\n }\n\n consumeEvent(event);\n break;\n }\n }\n /**\n * Method that sets the visible state.\n * @param {boolean} state - The visible state.\n */\n public setVisibleState(state: boolean): void {\n this.isVisible = state;\n\n if (this.subTreeList && this.subTreeList.length !== 0) {\n this.subTreeList.toArray().forEach((item) => {\n item.setVisibleState(state);\n });\n }\n }\n /**\n * Method that sets the expanded state.\n * @param {boolean} state - The expanded state.\n */\n public setExpandedState(state: boolean): void {\n this.isExpanded = state;\n\n if (this.subTreeList.length !== 0) {\n this.subTreeList.toArray().forEach((item) => {\n item.setExpandedState(state);\n });\n }\n }\n /**\n * Method used to enable/disable the focus state.\n */\n public focus(): void {\n if (this.focusable) {\n this.enableFocus();\n this.focusable.nativeElement.focus();\n }\n if (this.treeListComponent) {\n this.treeListComponent.disableFocus();\n }\n }\n /**\n * Method used to focus on the last expanded tree item.\n */\n public focusOnLastExpandedTreeItem(): void {\n const lastExpanded = this.elementRef.nativeElement.querySelectorAll('.eui-tree-list-item-header__content');\n if (lastExpanded && lastExpanded.length > 0) {\n const element = lastExpanded[lastExpanded.length - 1];\n element.setAttribute('tabindex', '0');\n element.focus();\n } else {\n this.focus();\n }\n }\n /**\n * Method used to focus on the next tree item.\n * @returns {boolean} - Returns true if the focus was set, false otherwise.\n * @protected\n */\n protected focusOnNextTreeItem(): boolean {\n if (this.isExpanded && this.subTreeList && this.subTreeList.length > 0) {\n this.subTreeList.first.focus();\n return true;\n } else if (this.treeListComponent) {\n return this.treeListComponent.focusOnNextTreeItem(this);\n }\n\n return false;\n }\n /**\n * Method used to disable the focus state.\n * @protected\n */\n protected disableFocus(): void {\n if (this.focusable) {\n this.focusable.nativeElement.setAttribute('tabindex', '-1');\n }\n }\n /**\n * Method used to enable the focus state.\n * @protected\n */\n protected enableFocus(): void {\n if (this.focusable) {\n this.focusable.nativeElement.setAttribute('tabindex', '0');\n }\n }\n /**\n * Method used to get the CSS classes for the tree list item.\n * @returns {string} - The CSS classes.\n * @private\n */\n private getCssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-tree-list-item'),\n this.isActive ? 'eui-tree-list-item--active' : '',\n !this.isVisible ? 'eui-tree-list-item--hidden' : '',\n ]\n .join(' ')\n .trim();\n }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-tree-list-item-label', })\nexport class EuiTreeListItemLabelTagDirective {}\n@Directive({ selector: 'eui-tree-list-item-details', })\nexport class EuiTreeListItemDetailsContentTagDirective {}\n@Directive({ selector: 'eui-tree-list-item-sub-container', })\nexport class EuiTreeListItemSubContainerContentTagDirective {}\n/* eslint-enable */\n","<div class=\"eui-tree-list-item-header\">\n <div\n #focusable\n class=\"eui-tree-list-item-header__content\"\n (keydown)=\"onKeyDown($event)\"\n attr.aria-label=\"{{ label }} {{ subLabel }}\">\n\n @if (hasCustomContent) {\n <ng-content select=\"eui-tree-list-item-content\"></ng-content>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n } @else {\n <div class=\"eui-u-flex\">\n <eui-label>\n @if (!customLabel) {\n {{label}}\n <eui-label *ngIf=\"subLabel\" euiSublabel>{{subLabel}}</eui-label>\n } @else {\n <div class=\"eui-u-flex\">\n <ng-content select=\"eui-tree-list-item-label\"></ng-content>\n </div>\n }\n </eui-label>\n </div>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n }\n </div>\n\n @if (customDetailContent) {\n <div class=\"eui-tree-list-item-header__details-content\">\n <ng-content select=\"eui-tree-list-item-details\"></ng-content>\n </div>\n }\n\n @if (customSubContainerContent) {\n <ng-content select=\"eui-tree-list-item-sub-container\"></ng-content>\n }\n</div>\n\n<ng-template [ngIf]=\"isExpanded || isAlwaysExpanded\">\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #rightContent>\n <div class=\"eui-tree-list-item-header__content-right-content\">\n <div class=\"eui-tree-list-item-header__content-expand-toggle-wrapper\">\n @if (hasSub && !isAlwaysExpanded) {\n <eui-icon-button-expander\n (buttonClick)=\"toggle($event)\"\n [isExpanded]=\"isExpanded\"\n isDirectionForward>\n </eui-icon-button-expander>\n }\n </div>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport {\n EuiTreeListItemComponent,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n EuiTreeListItemLabelTagDirective,\n} from './eui-tree-list-item.component';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { EuiTreeListToolbarComponent } from './toolbar/toolbar.component';\n\n/**\n * @description\n * This module provides the EuiTreeListComponent which is used to create\n * tree lists with various styles and functionalities.\n *\n * @deprecated Use {@link EUI_TREE_LIST} instead\n */\n@NgModule({\n imports: [\n EuiTreeListComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemLabelTagDirective,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n EuiTreeListItemContentComponent,\n EuiTreeListToolbarComponent,\n ],\n exports: [\n EuiTreeListComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemLabelTagDirective,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n EuiTreeListItemContentComponent,\n EuiTreeListToolbarComponent,\n ],\n})\nexport class EuiTreeListModule {}\n","import { EuiTreeListItemComponent, EuiTreeListItemDetailsContentTagDirective, EuiTreeListItemLabelTagDirective, EuiTreeListItemSubContainerContentTagDirective } from './eui-tree-list-item.component';\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { EuiTreeListToolbarComponent } from './toolbar/toolbar.component';\n\nexport * from './eui-tree-list.component';\nexport * from './eui-tree-list-item.component';\nexport * from './eui-tree-list.module';\n\nexport * from './item-content/item-content.component';\nexport * from './toolbar/toolbar.component';\n\nexport const EUI_TREE_LIST = [\n EuiTreeListComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemLabelTagDirective,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n EuiTreeListItemContentComponent,\n EuiTreeListToolbarComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"eui-components-eui-tree-list.mjs","sources":["../../eui-tree-list/toolbar/toolbar.component.ts","../../eui-tree-list/toolbar/toolbar.component.html","../../eui-tree-list/eui-tree-list.component.ts","../../eui-tree-list/eui-tree-list.component.html","../../eui-tree-list/item-content/item-content.component.ts","../../eui-tree-list/eui-tree-list-item.component.ts","../../eui-tree-list/eui-tree-list-item.component.html","../../eui-tree-list/eui-tree-list.module.ts","../../eui-tree-list/index.ts","../../eui-tree-list/eui-components-eui-tree-list.ts"],"sourcesContent":["import {\n Component,\n Input,\n Output,\n EventEmitter,\n OnInit,\n OnChanges,\n SimpleChanges,\n ViewEncapsulation,\n booleanAttribute,\n HostBinding,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_ICON_INPUT } from '@eui/components/eui-icon-input';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\n\n@Component({\n selector: 'eui-tree-list-toolbar',\n templateUrl: './toolbar.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [\n FormsModule,\n ...EUI_INPUT_TEXT,\n ...EUI_BUTTON,\n ...EUI_ICON,\n ...EUI_ICON_INPUT,\n ],\n})\nexport class EuiTreeListToolbarComponent implements OnInit, OnChanges {\n @HostBinding('class') classes = 'eui-tree-list-toolbar';\n\n @Input() e2eAttr = 'eui-tree-list-toolbar';\n /**\n * Shows or hides the toolbar\n * @default false\n */\n @Input({ transform: booleanAttribute }) isVisible = false;\n /**\n * The value of the filter placeholder\n * @type {string}\n */\n @Input() filterLabel: string;\n /**\n * The label for the expand all button\n * @type {string}\n */\n @Input() expandAllLabel: string;\n /**\n * The label for the collapse all button\n * @type {string}\n */\n @Input() collapseAllLabel: string;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) isFilterVisible = true;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) isToggleVisible = true;\n /**\n * Option that toggles the expanded/collapsed state of the corresponding button\n * @default false\n */\n @Input({ transform: booleanAttribute }) isToggleExpanded = false;\n /**\n * The value of the filter input\n * @default ''\n */\n @Input() filterValue = '';\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) hasLabels = true;\n /**\n * Event emitted if there is or if a filter value changes.\n */\n @Output() filter = new EventEmitter<string>();\n /**\n * Event emitted when the expand all button is clicked.\n */\n @Output() expandAll = new EventEmitter<MouseEvent>();\n /**\n * Event emitted when the collapse all button is clicked.\n */\n @Output() collapseAll = new EventEmitter<MouseEvent>();\n\n ngOnInit(): void {\n if (this.filterValue !== '' && this.filterValue !== undefined) {\n this.filter.emit(this.filterValue);\n }\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.filterValue && this.filterValue !== undefined) {\n this.filter.emit(this.filterValue);\n }\n }\n /**\n * This method is called when the filter input value changes.\n * It emits the filter value to the parent component.\n * @protected\n */\n protected onFilter(): void {\n if (this.filterValue === '') {\n if (!this.isToggleExpanded) {\n this.collapseAll.emit(null);\n }\n }\n this.filter.emit(this.filterValue);\n }\n /**\n * This method is called when the expand all button is clicked.\n * It emits the expand all event to the parent component.\n * @param event The mouse event\n * @protected\n */\n protected onExpandAll(event: MouseEvent): void {\n this.isToggleExpanded = !this.isToggleExpanded;\n this.expandAll.emit(event);\n }\n /**\n * This method is called when the collapse all button is clicked.\n * It emits the collapse all event to the parent component.\n * @param event The mouse event\n * @protected\n */\n protected onCollapseAll(event: MouseEvent): void {\n this.isToggleExpanded = !this.isToggleExpanded;\n this.collapseAll.emit(event);\n }\n}\n","@if (isVisible) {\n <eui-icon-input>\n <eui-icon-svg icon=\"eui-ecl-search\" fillColor=\"neutral-lighter\" aria-label=\"Search Icon\" />\n <input\n euiInputText\n euiClearable\n [(ngModel)]=\"filterValue\"\n [placeholder]=\"filterLabel\"\n (ngModelChange)=\"onFilter()\" />\n </eui-icon-input>\n\n @if (!isToggleExpanded) {\n <button euiButton euiSecondary euiOutline (click)=\"onExpandAll($event)\" [euiIconButton]=\"expandAllLabel === ''\" aria-label=\"Expand all\">\n @if (expandAllLabel !== '') {\n {{ expandAllLabel }}\n }\n <eui-icon-svg icon=\"eui-level-down\" aria-label=\"Expand all tree items icon\" />\n </button>\n } @else {\n <button euiButton euiSecondary euiOutline (click)=\"onCollapseAll($event)\" [euiIconButton]=\"collapseAllLabel === ''\" aria-label=\"Collapse all\">\n @if (collapseAllLabel !== '') {\n {{ collapseAllLabel }}\n }\n <eui-icon-svg icon=\"eui-level-up\" aria-label=\"Collapse all tree items icon\" />\n </button>\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ContentChildren,\n QueryList,\n forwardRef,\n AfterViewInit,\n OnChanges,\n SimpleChanges,\n ElementRef,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\nimport { EuiTreeListItemComponent } from './eui-tree-list-item.component';\nimport { EuiTreeListToolbarComponent } from './toolbar/toolbar.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\nexport interface EuiTreeListFilterParams {\n readonly level: number;\n readonly item: EuiTreeListItemComponent;\n readonly keyword: string;\n}\n\n@Component({\n selector: 'eui-tree-list',\n templateUrl: './eui-tree-list.component.html',\n styleUrls: ['./_styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n EuiTreeListToolbarComponent,\n TranslateModule,\n ],\n})\nexport class EuiTreeListComponent implements AfterViewInit, OnChanges {\n /**\n * Option to show the toolbar\n * @default false\n */\n @Input({ transform: booleanAttribute }) isShowToolbar = false;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) isShowToolbarToggle = true;\n /**\n * Sets the expanded state of the tree list\n */\n @Input({ transform: booleanAttribute }) isExpanded = false;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) hasItemsUrl = false;\n /**\n * Sets the label for the filter input\n * @type {string}\n */\n @Input() filterLabel: string;\n /**\n * Function to filter the tree list items based on the provided params\n * @param {EuiTreeListFilterParams} params\n * @returns {boolean}\n */\n @Input() filterFunction: (params: EuiTreeListFilterParams) => boolean;\n /**\n * Sets the label for the expand all button\n * @type {string}\n */\n @Input() expandAllLabel: string;\n /**\n * Sets the label for the collapse all button\n * @type {string}\n */\n @Input() collapseAllLabel: string;\n /**\n * Sets the tabindex attribute to handle the focus state\n * @default '0'\n */\n @Input() tabindex = '0';\n /**\n * Sets the aria-label attribute for the tree list\n * @default ''\n */\n @Input() ariaLabel = '';\n /**\n * Sets the filter value of the toolbar\n * @default ''\n */\n @Input() toolbarFilterValue = '';\n /**\n * Sets the end to end attribute for the tree list\n * @default 'eui-tree-list'\n */\n @Input() e2eAttr = 'eui-tree-list';\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Output() itemSelected = new EventEmitter<string>();\n /**\n * Event that emits the filter value upon filtering.\n */\n @Output() filter = new EventEmitter<string>();\n /**\n * Event emitted upon expanding all items.\n */\n @Output() expandAll = new EventEmitter();\n /**\n * Event emitted upon collapsing all items.\n */\n @Output() collapseAll = new EventEmitter();\n\n @ContentChildren(forwardRef(() => EuiTreeListItemComponent)) items: QueryList<EuiTreeListItemComponent>;\n\n public ariaOwns = '';\n public originalTabindex = '0';\n public classes = '';\n public ariaRoleTree = 'tree';\n constructor(private elementRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n const treeItemIds = [];\n if (this.items) {\n this.items.forEach((treeItem: EuiTreeListItemComponent) => {\n treeItemIds.push(treeItem.id);\n });\n }\n setTimeout(() => {\n this.ariaOwns = treeItemIds.join(' ');\n this.originalTabindex = this.tabindex;\n if (this.isExpanded) {\n this.setExpandedState(true);\n }\n }, 0);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['tabindex']) {\n this.originalTabindex = this.tabindex;\n }\n }\n /**\n * Getter function that returns true if the expandAllLabel exists.\n * @returns {boolean}\n */\n get hasExpandAllLabel(): boolean {\n return this.expandAllLabel !== undefined && this.expandAllLabel !== null;\n }\n /**\n * Getter function that returns true if the collapseAllLabel exists.\n * @returns {boolean}\n */\n get hasCollapseAllLabel(): boolean {\n return this.collapseAllLabel !== undefined && this.collapseAllLabel !== null;\n }\n /**\n * Method that sets the expanded state and emits the expand all event.\n */\n onExpandAll(event: Event): void {\n this.setExpandedState(true);\n this.expandAll.next(void 0);\n }\n /**\n * Method that sets the collapsed state and emits the collapse all event.\n */\n onCollapseAll(event: Event): void {\n this.setExpandedState(false);\n this.collapseAll.next(void 0);\n }\n /**\n * Method that handles the visibility of the items based on the filter value and emits the filter event.\n * @param {string} filterValue - The filter value to set.\n */\n onFilter(filterValue: string): void {\n // TODO find a recursive way of doing the filtering throughout the tree structure\n if (filterValue && filterValue !== '') {\n this.setVisibleState(false);\n this.items.toArray().forEach((item1) => {\n item1.isVisible = this.filterMatched(0, item1, filterValue);\n if (item1.subTreeList.length !== 0) {\n item1.subTreeList.toArray().forEach((item1SubTreeList) => {\n item1SubTreeList.items.toArray().forEach((item2) => {\n if (this.filterMatched(1, item2, filterValue)) {\n item2.isVisible = true;\n item1.isVisible = true;\n item1.isExpanded = true;\n\n if (item2.subTreeList.length !== 0) {\n item2.subTreeList.toArray().forEach((item2SubTreeList) => {\n item2SubTreeList.items.toArray().forEach((item3) => {\n item3.isVisible = true;\n });\n });\n }\n }\n\n if (item2.subTreeList.length !== 0) {\n item2.subTreeList.toArray().forEach((item2SubTreeList) => {\n item2SubTreeList.items.toArray().forEach((item4) => {\n if (this.filterMatched(2, item4, filterValue)) {\n item4.isVisible = true;\n item2.isVisible = true;\n item2.isExpanded = true;\n item1.isVisible = true;\n item1.isExpanded = true;\n }\n });\n });\n }\n });\n });\n }\n });\n } else {\n this.setVisibleState(true);\n }\n\n this.filter.next(filterValue);\n }\n /**\n * @deprecated This method is not used anymore and will be removed in the next major version. You can use the `focus()` method instead.\n */\n onFocus(): void {\n this.focus();\n }\n /**\n * Method that sets the visibility state of the tree list items.\n * @param {boolean} state \n */\n public setVisibleState(state: boolean): void {\n this.items.toArray().forEach((item) => item.setVisibleState(state));\n }\n /**\n * Method that sets the expanded state of the tree list items.\n * @param {boolean} state \n */\n public setExpandedState(state: boolean): void {\n this.items.toArray().forEach((item) => item.setExpandedState(state));\n }\n /**\n * Method that puts the focus on the first child tree item.\n */\n public focus(): void {\n // Focus on the first child tree item:\n if (this.items && this.items.length > 0) {\n this.items.first.focus();\n }\n }\n /**\n * Method that makes the tree list not focusable.\n */\n public disableFocus(): void {\n this.tabindex = '-1';\n }\n /**\n * Method used to focus on the previous tree item in the list.\n * @param {EuiTreeListItemComponent} currentTreeListItem - The current tree list item.\n * @return {boolean} - Returns true if the focus was set on the previous tree item, false otherwise.\n */\n public focusOnPreviousTreeItem(currentTreeListItem: EuiTreeListItemComponent): boolean {\n if (this.items && this.items.length > 0) {\n let previousTreeListItem: EuiTreeListItemComponent = null;\n for (const treeListItem of this.items.toArray()) {\n if (treeListItem !== currentTreeListItem) {\n previousTreeListItem = treeListItem;\n } else if (previousTreeListItem) {\n previousTreeListItem.focusOnLastExpandedTreeItem();\n return true;\n }\n }\n\n // Focus on the last item of the previous parent:\n // First find the parent list item:\n if (this.elementRef) {\n let parent = this.elementRef.nativeElement.parentElement;\n while (parent && !parent.classList.contains('eui-tree-list-item')) {\n parent = parent.parentElement;\n }\n\n if (parent) {\n // parent tree-item is found\n const content = parent.querySelector('.eui-tree-list-item-header__content');\n if (content) {\n content.setAttribute('tabindex', '0');\n content.focus();\n return true;\n }\n }\n }\n }\n\n return false;\n }\n /**\n * Method used to focus on the next tree item in the list.\n * @param {EuiTreeListItemComponent} currentTreeListItem - The current tree list item.\n * @return {boolean} - Returns true if the focus was set on the next tree item, false otherwise.\n */\n public focusOnNextTreeItem(currentTreeListItem: EuiTreeListItemComponent): boolean {\n if (this.items && this.items.length > 0) {\n if (currentTreeListItem !== this.items.last) {\n let previousTreeListItem: EuiTreeListItemComponent = null;\n for (const treeListItem of this.items.toArray()) {\n if (previousTreeListItem !== currentTreeListItem) {\n previousTreeListItem = treeListItem;\n } else {\n treeListItem.focus();\n return true;\n }\n }\n } else {\n // The current focused tree item is the last one; find the first next tree item:\n if (this.elementRef) {\n // First find the parent tree list item:\n let parent = this.elementRef.nativeElement.parentElement;\n // Find the parent that is not a last child itself:\n while (parent && (parent.tagName.toLowerCase() !== 'eui-tree-list-item' || parent.nextElementSibling === null)) {\n parent = parent.parentElement;\n }\n\n if (parent) {\n // parent tree list item is found; focus on the first child of the next list item\n const nextTreeListItem = parent.nextElementSibling;\n if (nextTreeListItem) {\n const next = nextTreeListItem.querySelector('.eui-tree-list-item-header__content');\n next.setAttribute('tabindex', '0');\n next.focus();\n return true;\n }\n }\n }\n }\n }\n\n return false;\n }\n /**\n * Method that sets the default filter function to filter the tree list items.\n * @param {EuiTreeListFilterParams} params - The filter parameters.\n * @returns {boolean} - Returns true if the item matches the filter, false otherwise.\n * @private\n */\n private defaultFilterFunction(params: EuiTreeListFilterParams): boolean {\n if (!params.item.label) {\n return false;\n } else if (params.item.label.toUpperCase().indexOf(params.keyword.toUpperCase()) !== -1) {\n return true;\n } else {\n return false;\n }\n }\n /**\n * Method that filters the tree list items based on the provided params.\n * @param {number} level - The level of the item in the tree list.\n * @param {EuiTreeListItemComponent} item - The tree list item to filter.\n * @param {string} keyword - The keyword to filter by.\n * @returns {boolean} - Returns true if the item matches the filter, false otherwise.\n * @private\n */\n private filterMatched(level: number, item: EuiTreeListItemComponent, keyword: string): boolean {\n if (this.filterFunction) {\n return this.filterFunction({ level, item, keyword });\n } else {\n return this.defaultFilterFunction({ level, item, keyword });\n }\n }\n}\n","@if (isShowToolbar) {\n <eui-tree-list-toolbar\n [isVisible]=\"isShowToolbar\"\n [isToggleVisible]=\"isShowToolbarToggle\"\n (filter)=\"onFilter($event)\"\n [filterValue]=\"toolbarFilterValue\"\n (expandAll)=\"onExpandAll($event)\"\n (collapseAll)=\"onCollapseAll($event)\"\n [filterLabel]=\"filterLabel ? filterLabel : 'eui.FILTER' | translate\"\n [expandAllLabel]=\"hasExpandAllLabel ? expandAllLabel : 'eui.EXPANDALL' | translate\"\n [collapseAllLabel]=\"hasCollapseAllLabel ? collapseAllLabel : 'eui.COLLAPSEALL' | translate\"\n [isToggleExpanded]=\"isExpanded\"\n attr.data-e2e=\"{{ e2eAttr }}-a-toolbar-filter\">\n </eui-tree-list-toolbar>\n}\n\n<div\n class=\"eui-tree-list\"\n [attr.role]=\"ariaRoleTree\"\n [attr.data-tabindex]=\"originalTabindex\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-owns]=\"ariaOwns\"\n attr.data-e2e=\"{{ e2eAttr }}\">\n <ng-content></ng-content>\n</div>\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'eui-tree-list-item-content',\n template: '<ng-content></ng-content>',\n})\nexport class EuiTreeListItemContentComponent {\n @HostBinding('class') string = 'eui-tree-list-item-content';\n}\n","import {\n AfterContentInit,\n booleanAttribute,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Host,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { UxLinkLegacy } from '@eui/core';\n\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport { consumeEvent, uniqueId } from '@eui/core';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule } from '@angular/forms';\nimport { EUI_LABEL } from '@eui/components/eui-label';\nimport { EUI_ICON_BUTTON_EXPANDER } from '@eui/components/eui-icon-button-expander';\nimport { EUI_ICON_INPUT } from '@eui/components/eui-icon-input';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'eui-tree-list-item',\n templateUrl: './eui-tree-list-item.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgIf,\n TranslateModule,\n FormsModule,\n ...EUI_LABEL,\n ...EUI_ICON_INPUT,\n ...EUI_ICON_BUTTON_EXPANDER,\n ],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: ['euiPrimary', 'euiSecondary', 'euiInfo', 'euiSuccess', 'euiWarning', 'euiDanger', 'euiAccent', 'euiVariant'],\n },\n ],\n})\nexport class EuiTreeListItemComponent implements AfterContentInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return this.getCssClasses();\n }\n @HostBinding('attr.tabindex') tabIndex = '0';\n @HostBinding('attr.role') protected ariaRole = 'treeitem';\n\n @HostBinding('attr.id') @Input() id: string;\n @HostBinding('attr.aria-label') @Input() ariaLabel: string;\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-tree-list-item';\n /**\n * The label of the tree list item if there is no customLabel.\n * @type {string}\n */\n @Input() label: string;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input() linkUrl: string;\n /**\n * The sublabel of the tree list item if there is no customLabel.\n * @type {string}\n */\n @Input() subLabel: string;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input() url: string;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input() subLinks: UxLinkLegacy[] = [];\n /**\n * Option that enables a corresponding class if it is set to true.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isActive = false;\n /**\n * Option to set the expanded state of the list item.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isExpanded = false;\n /**\n * Option to set the expanded state of the list item when it is always expanded.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isAlwaysExpanded = false;\n /**\n * Option to set the visible state of the list item and apply the corresponding hidden class if it is set to false.\n * @default true\n */\n @Input({ transform: booleanAttribute }) isVisible = true;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) isDisplaySubLinksOnHover = false;\n /**\n * @deprecated This property is not used anymore and will be removed in the next major version.\n */\n @Input({ transform: booleanAttribute }) isNavigateOnlyOnLabelClick = false;\n /**\n * Event emitted upon toggling the expanded state.\n */\n @Output() toggled = new EventEmitter<EuiTreeListItemComponent>();\n\n isHovered = false;\n treeListComponent: EuiTreeListComponent;\n\n // tree states\n hasSub = false;\n\n // custom content\n hasCustomContent = false;\n\n @ViewChild('focusable') focusable: ElementRef<HTMLDivElement>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemLabelTagDirective))\n customLabel: QueryList<EuiTreeListItemLabelTagDirective>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemDetailsContentTagDirective))\n customDetailContent: QueryList<EuiTreeListItemDetailsContentTagDirective>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemSubContainerContentTagDirective))\n customSubContainerContent: QueryList<EuiTreeListItemSubContainerContentTagDirective>;\n\n @ContentChildren(forwardRef(() => EuiTreeListComponent), { descendants: true })\n subTreeList: QueryList<EuiTreeListComponent>;\n\n @ContentChildren(forwardRef(() => EuiTreeListItemContentComponent), { descendants: false })\n customContent: QueryList<EuiTreeListItemContentComponent>;\n\n constructor(\n @Host() @Optional() @Inject(forwardRef(() => EuiTreeListComponent)) treeListComponent,\n protected elementRef: ElementRef,\n public baseStatesDirective: BaseStatesDirective,\n ) {\n this.treeListComponent = treeListComponent as EuiTreeListComponent;\n }\n\n ngAfterContentInit(): void {\n if (!this.ariaLabel) {\n this.ariaLabel = this.label ? this.label : 'Custom content';\n }\n\n // make sure that the tree item can be aria-owned by a parent tree for WAI-ARIA attributes:\n if (!this.id) {\n this.id = uniqueId();\n }\n\n // setting tree states\n if (this.subTreeList.length !== 0) {\n this.hasSub = true;\n }\n\n // checking if customContent set\n if (this.customContent.length !== 0) {\n this.hasCustomContent = true;\n }\n\n // make sure that any child tree-list is non-focusable and that it has the role of a WAI-ARIA group:\n if (this.subTreeList) {\n this.subTreeList.forEach((subtree: EuiTreeListComponent) => {\n subtree.disableFocus();\n subtree.ariaRoleTree = 'group';\n });\n }\n }\n /**\n * Method fired when the expander button is clicked.\n * @param {Event} event - The click event.\n */\n toggle(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n this.isExpanded = !this.isExpanded;\n this.toggled.next(this);\n }\n /**\n * Method fired when a key is pressed down.\n * @param {KeyboardEvent} event - The keyboard event.\n */\n onKeyDown(event: KeyboardEvent): void {\n switch (event.keyCode) {\n case 13: // ENTER\n case 32: // SPACE\n this.isExpanded = !this.isExpanded;\n consumeEvent(event);\n break;\n case 37: // ARROW LEFT\n this.isExpanded = false;\n consumeEvent(event);\n break;\n case 38: // ARROW UP\n if (this.treeListComponent) {\n if (this.treeListComponent.focusOnPreviousTreeItem(this)) {\n this.disableFocus();\n }\n }\n\n consumeEvent(event);\n break;\n case 39: // ARROW RIGHT\n this.isExpanded = true;\n consumeEvent(event);\n break;\n case 40: // ARROW DOWN\n if (this.focusOnNextTreeItem()) {\n this.disableFocus();\n }\n\n consumeEvent(event);\n break;\n }\n }\n /**\n * Method that sets the visible state.\n * @param {boolean} state - The visible state.\n */\n public setVisibleState(state: boolean): void {\n this.isVisible = state;\n\n if (this.subTreeList && this.subTreeList.length !== 0) {\n this.subTreeList.toArray().forEach((item) => {\n item.setVisibleState(state);\n });\n }\n }\n /**\n * Method that sets the expanded state.\n * @param {boolean} state - The expanded state.\n */\n public setExpandedState(state: boolean): void {\n this.isExpanded = state;\n\n if (this.subTreeList.length !== 0) {\n this.subTreeList.toArray().forEach((item) => {\n item.setExpandedState(state);\n });\n }\n }\n /**\n * Method used to enable/disable the focus state.\n */\n public focus(): void {\n if (this.focusable) {\n this.enableFocus();\n this.focusable.nativeElement.focus();\n }\n if (this.treeListComponent) {\n this.treeListComponent.disableFocus();\n }\n }\n /**\n * Method used to focus on the last expanded tree item.\n */\n public focusOnLastExpandedTreeItem(): void {\n const lastExpanded = this.elementRef.nativeElement.querySelectorAll('.eui-tree-list-item-header__content');\n if (lastExpanded && lastExpanded.length > 0) {\n const element = lastExpanded[lastExpanded.length - 1];\n element.setAttribute('tabindex', '0');\n element.focus();\n } else {\n this.focus();\n }\n }\n /**\n * Method used to focus on the next tree item.\n * @returns {boolean} - Returns true if the focus was set, false otherwise.\n * @protected\n */\n protected focusOnNextTreeItem(): boolean {\n if (this.isExpanded && this.subTreeList && this.subTreeList.length > 0) {\n this.subTreeList.first.focus();\n return true;\n } else if (this.treeListComponent) {\n return this.treeListComponent.focusOnNextTreeItem(this);\n }\n\n return false;\n }\n /**\n * Method used to disable the focus state.\n * @protected\n */\n protected disableFocus(): void {\n if (this.focusable) {\n this.focusable.nativeElement.setAttribute('tabindex', '-1');\n }\n }\n /**\n * Method used to enable the focus state.\n * @protected\n */\n protected enableFocus(): void {\n if (this.focusable) {\n this.focusable.nativeElement.setAttribute('tabindex', '0');\n }\n }\n /**\n * Method used to get the CSS classes for the tree list item.\n * @returns {string} - The CSS classes.\n * @private\n */\n private getCssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-tree-list-item'),\n this.isActive ? 'eui-tree-list-item--active' : '',\n !this.isVisible ? 'eui-tree-list-item--hidden' : '',\n ]\n .join(' ')\n .trim();\n }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-tree-list-item-label', })\nexport class EuiTreeListItemLabelTagDirective {}\n@Directive({ selector: 'eui-tree-list-item-details', })\nexport class EuiTreeListItemDetailsContentTagDirective {}\n@Directive({ selector: 'eui-tree-list-item-sub-container', })\nexport class EuiTreeListItemSubContainerContentTagDirective {}\n/* eslint-enable */\n","<div class=\"eui-tree-list-item-header\">\n <div\n #focusable\n class=\"eui-tree-list-item-header__content\"\n (keydown)=\"onKeyDown($event)\"\n attr.aria-label=\"{{ label }} {{ subLabel }}\">\n\n @if (hasCustomContent) {\n <ng-content select=\"eui-tree-list-item-content\"></ng-content>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n } @else {\n <div class=\"eui-u-flex\">\n <eui-label>\n @if (!customLabel) {\n {{label}}\n <eui-label *ngIf=\"subLabel\" euiSublabel>{{subLabel}}</eui-label>\n } @else {\n <div class=\"eui-u-flex\">\n <ng-content select=\"eui-tree-list-item-label\"></ng-content>\n </div>\n }\n </eui-label>\n </div>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n }\n </div>\n\n @if (customDetailContent) {\n <div class=\"eui-tree-list-item-header__details-content\">\n <ng-content select=\"eui-tree-list-item-details\"></ng-content>\n </div>\n }\n\n @if (customSubContainerContent) {\n <ng-content select=\"eui-tree-list-item-sub-container\"></ng-content>\n }\n</div>\n\n<ng-template [ngIf]=\"isExpanded || isAlwaysExpanded\">\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #rightContent>\n <div class=\"eui-tree-list-item-header__content-right-content\">\n <div class=\"eui-tree-list-item-header__content-expand-toggle-wrapper\">\n @if (hasSub && !isAlwaysExpanded) {\n <eui-icon-button-expander\n (buttonClick)=\"toggle($event)\"\n [isExpanded]=\"isExpanded\"\n isDirectionForward>\n </eui-icon-button-expander>\n }\n </div>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport {\n EuiTreeListItemComponent,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n EuiTreeListItemLabelTagDirective,\n} from './eui-tree-list-item.component';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { EuiTreeListToolbarComponent } from './toolbar/toolbar.component';\n\n/**\n * @description\n * This module provides the EuiTreeListComponent which is used to create\n * tree lists with various styles and functionalities.\n *\n * @deprecated Use {@link EUI_TREE_LIST} instead\n */\n@NgModule({\n imports: [\n EuiTreeListComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemLabelTagDirective,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n EuiTreeListItemContentComponent,\n EuiTreeListToolbarComponent,\n ],\n exports: [\n EuiTreeListComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemLabelTagDirective,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n EuiTreeListItemContentComponent,\n EuiTreeListToolbarComponent,\n ],\n})\nexport class EuiTreeListModule {}\n","import { EuiTreeListItemComponent, EuiTreeListItemDetailsContentTagDirective, EuiTreeListItemLabelTagDirective, EuiTreeListItemSubContainerContentTagDirective } from './eui-tree-list-item.component';\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { EuiTreeListToolbarComponent } from './toolbar/toolbar.component';\n\nexport * from './eui-tree-list.component';\nexport * from './eui-tree-list-item.component';\nexport * from './eui-tree-list.module';\n\nexport * from './item-content/item-content.component';\nexport * from './toolbar/toolbar.component';\n\nexport const EUI_TREE_LIST = [\n EuiTreeListComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemLabelTagDirective,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n EuiTreeListItemContentComponent,\n EuiTreeListToolbarComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}
|