@eui/components 19.0.0-next.11 → 19.0.0-next.13

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.
Files changed (88) hide show
  1. package/docs/components/EuiDropdownComponent.html +24 -0
  2. package/docs/components/EuiDropdownItemComponent.html +20 -1
  3. package/docs/components/EuiMenuComponent.html +3 -67
  4. package/docs/components/EuiMenuItemComponent.html +6 -256
  5. package/docs/components/EuiNotificationsV2Component.html +0 -24
  6. package/docs/components/EuiPageColumnComponent.html +0 -25
  7. package/docs/components/EuiPaginatorComponent.html +31 -1
  8. package/docs/components/EuiPopoverComponent.html +0 -55
  9. package/docs/components/EuiTreeComponent.html +1 -39
  10. package/docs/components/EuiWizardComponent.html +1 -1
  11. package/docs/components/EuiWizardStepComponent.html +0 -4
  12. package/docs/dependencies.html +2 -2
  13. package/docs/index.html +1 -1
  14. package/docs/js/menu-wc.js +21 -33
  15. package/docs/js/menu-wc_es5.js +1 -1
  16. package/docs/js/search/search_index.js +2 -2
  17. package/docs/miscellaneous/variables.html +1 -1
  18. package/docs/modules/EuiAllModule.html +2 -2
  19. package/docs/modules/EuiAppModule.html +2 -2
  20. package/docs/modules/EuiLayoutModule.html +2 -2
  21. package/docs/modules/EuiSidebarMenuModule.html +1 -1
  22. package/docs/modules/EuiTimepickerModule.html +1 -1
  23. package/docs/modules.html +0 -12
  24. package/eui-all/eui-all.module.d.ts +1 -1
  25. package/eui-dropdown/dropdown-item/eui-dropdown-item.component.d.ts +3 -1
  26. package/eui-dropdown/dropdown-item/eui-dropdown-item.component.d.ts.map +1 -1
  27. package/eui-dropdown/eui-dropdown.component.d.ts +2 -1
  28. package/eui-dropdown/eui-dropdown.component.d.ts.map +1 -1
  29. package/eui-icon/eui-icon-svg.component.d.ts.map +1 -1
  30. package/eui-input-number/eui-input-number.module.d.ts +0 -8
  31. package/eui-input-number/eui-input-number.module.d.ts.map +1 -1
  32. package/eui-menu/eui-menu-item.component.d.ts.map +1 -1
  33. package/eui-menu/eui-menu.component.d.ts.map +1 -1
  34. package/eui-page/components/eui-page-column/eui-page-column.component.d.ts +1 -6
  35. package/eui-page/components/eui-page-column/eui-page-column.component.d.ts.map +1 -1
  36. package/eui-paginator/eui-paginator.component.d.ts +3 -1
  37. package/eui-paginator/eui-paginator.component.d.ts.map +1 -1
  38. package/eui-popover/eui-popover.component.d.ts +1 -5
  39. package/eui-popover/eui-popover.component.d.ts.map +1 -1
  40. package/eui-sidebar-menu/eui-sidebar-menu.module.d.ts +1 -1
  41. package/eui-table-v2/eui-table-v2.component.d.ts.map +1 -1
  42. package/eui-timepicker/eui-timepicker.module.d.ts +1 -1
  43. package/eui-tree/eui-tree.component.d.ts +1 -5
  44. package/eui-tree/eui-tree.component.d.ts.map +1 -1
  45. package/eui-wizard/eui-wizard-step.component.d.ts.map +1 -1
  46. package/eui-wizard/eui-wizard.component.d.ts.map +1 -1
  47. package/fesm2022/eui-components-eui-card.mjs +1 -1
  48. package/fesm2022/eui-components-eui-card.mjs.map +1 -1
  49. package/fesm2022/eui-components-eui-dropdown.mjs +18 -11
  50. package/fesm2022/eui-components-eui-dropdown.mjs.map +1 -1
  51. package/fesm2022/eui-components-eui-icon.mjs +1 -1
  52. package/fesm2022/eui-components-eui-icon.mjs.map +1 -1
  53. package/fesm2022/eui-components-eui-input-number.mjs +1 -16
  54. package/fesm2022/eui-components-eui-input-number.mjs.map +1 -1
  55. package/fesm2022/eui-components-eui-language-selector.mjs +1 -1
  56. package/fesm2022/eui-components-eui-language-selector.mjs.map +1 -1
  57. package/fesm2022/eui-components-eui-menu.mjs +1 -22
  58. package/fesm2022/eui-components-eui-menu.mjs.map +1 -1
  59. package/fesm2022/eui-components-eui-navbar.mjs +1 -1
  60. package/fesm2022/eui-components-eui-navbar.mjs.map +1 -1
  61. package/fesm2022/eui-components-eui-page.mjs +4 -8
  62. package/fesm2022/eui-components-eui-page.mjs.map +1 -1
  63. package/fesm2022/eui-components-eui-paginator.mjs +4 -3
  64. package/fesm2022/eui-components-eui-paginator.mjs.map +1 -1
  65. package/fesm2022/eui-components-eui-popover.mjs +2 -10
  66. package/fesm2022/eui-components-eui-popover.mjs.map +1 -1
  67. package/fesm2022/eui-components-eui-sidebar-menu.mjs +1 -1
  68. package/fesm2022/eui-components-eui-sidebar-menu.mjs.map +1 -1
  69. package/fesm2022/eui-components-eui-table-v2.mjs +2 -2
  70. package/fesm2022/eui-components-eui-table-v2.mjs.map +1 -1
  71. package/fesm2022/eui-components-eui-table.mjs +3 -3
  72. package/fesm2022/eui-components-eui-table.mjs.map +1 -1
  73. package/fesm2022/eui-components-eui-timepicker.mjs +4 -4
  74. package/fesm2022/eui-components-eui-timepicker.mjs.map +1 -1
  75. package/fesm2022/eui-components-eui-tree.mjs +2 -6
  76. package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
  77. package/fesm2022/eui-components-eui-user-profile.mjs +1 -1
  78. package/fesm2022/eui-components-eui-user-profile.mjs.map +1 -1
  79. package/fesm2022/eui-components-eui-wizard.mjs +8 -9
  80. package/fesm2022/eui-components-eui-wizard.mjs.map +1 -1
  81. package/fesm2022/eui-components-layout.mjs +2 -9
  82. package/fesm2022/eui-components-layout.mjs.map +1 -1
  83. package/fesm2022/eui-components.mjs +5 -5
  84. package/fesm2022/eui-components.mjs.map +1 -1
  85. package/layout/eui-notifications-v2/eui-notifications.component.d.ts +1 -6
  86. package/layout/eui-notifications-v2/eui-notifications.component.d.ts.map +1 -1
  87. package/package.json +3 -3
  88. package/docs/modules/EuiInputNumberDirectiveModule.html +0 -241
@@ -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/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 { ControlValueAccessor, NgControl, FormControl, Validators } 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';\n\n@Component({\n selector: 'eui-timepicker',\n templateUrl: './eui-timepicker.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\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 @Input() inputId = `eui-timepicker-${uniqueId()}`;\n\n @Input() timeMask = 'Hh:m0'\n @Input() placeholder = this.timeMask;\n\n @Input() stepHours = 1;\n @Input() stepMinutes = 1;\n @Input() stepSeconds = 1;\n @Input() iconSize = 'l';\n\n @Input({ transform: booleanAttribute }) isreadOnly = false;\n @Input({ transform: booleanAttribute }) isOneInputField = false;\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\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) {\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\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 // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.propagateTouched = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private callbackFn: (hours: number, mins: number, secs?: number) => void = () => {};\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private toInteger(value: any): 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 // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private propagateChange = (_: any): void => {/* empty */};\n\n private propagateTouched = (): void => {/* empty */};\n\n /**\n * Updates the `aria-required` attribute on the input element.\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 <ng-container *ngIf=\"isOneInputField; else multipleInputs\">\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 </ng-container>\n\n <ng-template #multipleInputs>\n <div class=\"eui-timepicker__input-container\">\n <div *ngIf=\"!isreadOnly\" 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 <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 <div *ngIf=\"!isreadOnly\" 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 </div>\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n <div *ngIf=\"!isreadOnly\" 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 <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 <div *ngIf=\"!isreadOnly\" 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 </div>\n <ng-container *ngIf=\"hasSeconds\">\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n <div *ngIf=\"!isreadOnly\" 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 <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 <div *ngIf=\"!isreadOnly\" 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 </div>\n </ng-container>\n </ng-template>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgxMaskDirective, provideNgxMask, provideEnvironmentNgxMask } from 'ngx-mask';\n\nimport { EuiTimepickerComponent } from './eui-timepicker.component';\nimport { EuiInputNumberDirectiveModule } from '@eui/components/eui-input-number';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiIconModule } from '@eui/components/eui-icon';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n EuiInputNumberDirectiveModule,\n EuiInputTextModule,\n EuiIconModule,\n NgxMaskDirective,\n ],\n providers: [provideNgxMask(), provideEnvironmentNgxMask()],\n exports: [EuiTimepickerComponent],\n declarations: [EuiTimepickerComponent],\n})\nexport class EuiTimepickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-timepicker.mjs","sources":["../../eui-timepicker/eui-timepicker.component.ts","../../eui-timepicker/eui-timepicker.component.html","../../eui-timepicker/eui-timepicker.module.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 { ControlValueAccessor, NgControl, FormControl, Validators } 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';\n\n@Component({\n selector: 'eui-timepicker',\n templateUrl: './eui-timepicker.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\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 @Input() inputId = `eui-timepicker-${uniqueId()}`;\n\n @Input() timeMask = 'Hh:m0'\n @Input() placeholder = this.timeMask;\n\n @Input() stepHours = 1;\n @Input() stepMinutes = 1;\n @Input() stepSeconds = 1;\n @Input() iconSize = 'l';\n\n @Input({ transform: booleanAttribute }) isreadOnly = false;\n @Input({ transform: booleanAttribute }) isOneInputField = false;\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\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) {\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\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 // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.propagateTouched = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private callbackFn: (hours: number, mins: number, secs?: number) => void = () => {};\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private toInteger(value: any): 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 // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private propagateChange = (_: any): void => {/* empty */};\n\n private propagateTouched = (): void => {/* empty */};\n\n /**\n * Updates the `aria-required` attribute on the input element.\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 <ng-container *ngIf=\"isOneInputField; else multipleInputs\">\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 </ng-container>\n\n <ng-template #multipleInputs>\n <div class=\"eui-timepicker__input-container\">\n <div *ngIf=\"!isreadOnly\" 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 <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 <div *ngIf=\"!isreadOnly\" 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 </div>\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n <div *ngIf=\"!isreadOnly\" 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 <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 <div *ngIf=\"!isreadOnly\" 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 </div>\n <ng-container *ngIf=\"hasSeconds\">\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n <div *ngIf=\"!isreadOnly\" 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 <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 <div *ngIf=\"!isreadOnly\" 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 </div>\n </ng-container>\n </ng-template>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgxMaskDirective, provideNgxMask, provideEnvironmentNgxMask } from 'ngx-mask';\n\nimport { EuiTimepickerComponent } from './eui-timepicker.component';\nimport { EuiInputNumberModule } from '@eui/components/eui-input-number';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiIconModule } from '@eui/components/eui-icon';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n EuiInputNumberModule,\n EuiInputTextModule,\n EuiIconModule,\n NgxMaskDirective,\n ],\n providers: [provideNgxMask(), provideEnvironmentNgxMask()],\n exports: [EuiTimepickerComponent],\n declarations: [EuiTimepickerComponent],\n})\nexport class EuiTimepickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -944,11 +944,11 @@ class EuiTreeComponent {
944
944
  return scrolled.getElementRef().nativeElement === this.cdkScrollableRef.getElementRef().nativeElement;
945
945
  }
946
946
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: EuiTreeComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ScrollDispatcher }], target: i0.ɵɵFactoryTarget.Component }); }
947
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.0.0", type: EuiTreeComponent, isStandalone: false, selector: "eui-tree", inputs: { e2eAttr: "e2eAttr", nodes: "nodes", nodeTemplateRef: "nodeTemplateRef", nodeContentMetadataTemplateRef: "nodeContentMetadataTemplateRef", rightContextMenuTemplateRef: "rightContextMenuTemplateRef", customNodeSelectFn: "customNodeSelectFn", expandedIconClass: "expandedIconClass", collapsedIconClass: "collapsedIconClass", expandedSvgIconClass: "expandedSvgIconClass", collapsedSvgIconClass: "collapsedSvgIconClass", isClickTogglingNode: ["isClickTogglingNode", "isClickTogglingNode", booleanAttribute], isMultiselect: ["isMultiselect", "isMultiselect", booleanAttribute], isSingleSelect: ["isSingleSelect", "isSingleSelect", booleanAttribute], isRecursiveSelection: ["isRecursiveSelection", "isRecursiveSelection", booleanAttribute], isRecursiveParentSelection: ["isRecursiveParentSelection", "isRecursiveParentSelection", booleanAttribute], showUnderlinedLinks: ["showUnderlinedLinks", "showUnderlinedLinks", booleanAttribute], showLines: ["showLines", "showLines", booleanAttribute], autoTranslate: ["autoTranslate", "autoTranslate", booleanAttribute], highlightPath: ["highlightPath", "highlightPath", booleanAttribute] }, outputs: { selectionChange: "selectionChange", nodeClick: "nodeClick", nodeToggle: "nodeToggle" }, host: { properties: { "class": "this.cssClasses", "attr.data-e2e": "this.e2eAttr" } }, viewQueries: [{ propertyName: "cdkScrollableRef", first: true, predicate: ["cdkScrollableRef"], descendants: true, read: CdkScrollable }, { propertyName: "treeComponentInstance", first: true, predicate: ["treeComponentInstance"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"eui-ul-rep eui-tree__wrapper\" cdkScrollable #cdkScrollableRef>\n <cdk-tree\n #treeComponentInstance\n [dataSource]=\"cdkArrayDataSource\"\n [treeControl]=\"cdkTreeControl\"\n [trackBy]=\"trackBy\"\n *ngIf=\"renderTree\"\n class=\"eui-cdk-tree\">\n <!-- There are two states of generic cdk-nested-tree-node declarations.\n First one is without child. No sub rendering.\n -->\n <cdk-nested-tree-node *cdkTreeNodeDef=\"let treeRunTimeItemModel\" class=\"eui-cdk-nested-tree-node\">\n <div *ngIf=\"treeRunTimeItemModel\"\n class=\"eui-li-rep eui-tree-node\"\n [class.eui-tree-node--first]=\"treeRunTimeItemModel?.path === '0'\"\n [class.eui-tree-node--last]=\"treeRunTimeItemModel.last\"\n title=\"{{\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel ||\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\n }}\">\n <div class=\"eui-tree-node-wrapper\"\n (click)=\"onNodeClick(treeRunTimeItemModel, $event)\">\n <div class=\"eui-tree-node-wrapper__container\">\n <!--\n Renders node in default or provided template's context.\n Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n Provides id to be used on generic template\n -->\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n [ngTemplateOutletContext]=\"{\n $implicit: getTreeItem(treeRunTimeItemModel?.path)?.node,\n onSelect: onSelectFn(treeRunTimeItemModel.path),\n id: uid + treeRunTimeItemModel.path,\n path: treeRunTimeItemModel.path\n }\">\n </ng-container>\n </div>\n </div>\n </div>\n </cdk-nested-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-nested-tree-node\n *cdkTreeNodeDef=\"let treeRunTimeItemModel; when: hasChild\"\n class=\"eui-cdk-nested-tree-node eui-cdk-nested-tree-node--with-child\">\n <div\n class=\"eui-li-rep eui-tree-node eui-tree-node--with-child\"\n [class.eui-tree-node--first]=\"treeRunTimeItemModel?.path === '0'\"\n [class.eui-tree-node--last]=\"treeRunTimeItemModel.last\"\n *ngIf=\"treeRunTimeItemModel\"\n title=\"{{\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel ||\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\n }}\">\n <div\n class=\"eui-tree-node-wrapper\">\n <!--Here wraps the node, and listen for node clicks.-->\n <div (click)=\"onNodeClick(treeRunTimeItemModel, $event)\" class=\"eui-tree-node-wrapper__container\">\n <!-- Expand/collapse action button -->\n <button\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"'Toggle ' + getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\"\n (click)=\"onNodeToggle(treeRunTimeItemModel)\"\n cdkTreeNodeToggle\n class=\"eui-tree-node__button\">\n <eui-icon-svg\n *ngIf=\"!cdkTreeControl.isExpanded(treeRunTimeItemModel) && !collapsedIconClass\"\n [icon]=\"expandedSvgIconClass\"></eui-icon-svg>\n <eui-icon-svg\n *ngIf=\"cdkTreeControl.isExpanded(treeRunTimeItemModel) && !expandedIconClass\"\n [icon]=\"collapsedSvgIconClass\"></eui-icon-svg>\n </button>\n <!--\n Renders node in default or provided template's context.\n Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n Provides id to be used on generic template\n -->\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n [ngTemplateOutletContext]=\"{\n $implicit: getTreeItem(treeRunTimeItemModel.path)?.node,\n onSelect: onSelectFn(treeRunTimeItemModel.path),\n id: uid + treeRunTimeItemModel.path,\n path: treeRunTimeItemModel.path,\n children: getTreeItem(treeRunTimeItemModel?.path)?.children\n }\">\n </ng-container>\n </div>\n </div>\n <!--uses cdkTreeNodeOutlet to render children nodes, CdkTreeControl is used to control isExpanded state.-->\n <div class=\"eui-ul-rep eui-tree-node\" role=\"group\" *ngIf=\"cdkTreeControl.isExpanded(treeRunTimeItemModel)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </div>\n </cdk-nested-tree-node>\n </cdk-tree>\n</div>\n\n<ng-template #nodeTemplateDefault let-node let-onSelect=\"onSelect\" let-id=\"id\" let-path=\"path\">\n <ng-container *ngIf=\"node\">\n <div class=\"eui-tree-node-wrapper__container-left\" [class.eui-tree-node-wrapper__container-left--selected]=\"node?.isSelected\">\n <!--input checkbox area-->\n <input\n euiInputCheckBox\n *ngIf=\"node && node.selectable\"\n type=\"checkbox\"\n id=\"{{ id }}\"\n [checked]=\"!!node?.isSelected\"\n [indeterminate]=\"!!node?.isIndeterminate\"\n (change)=\"onSelect($event)\" />\n\n <!--icon area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.iconSvgName\">\n <eui-icon-svg\n icon=\"{{ node?.treeContentBlock?.iconSvgName }}\"\n fillColor=\"{{ node?.treeContentBlock?.iconTypeClass || 'neutral' }}\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n </ng-container>\n\n <!--chips area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.chips\">\n <eui-chip\n *ngFor=\"let chip of node.treeContentBlock.chips\"\n euiSizeS\n [euiVariant]=\"chip.typeClass || 'secondary'\"\n [euiOutline]=\"chip.isOutline\"\n class=\"eui-chip--rounded eui-u-mr-xs\">\n <span euiLabel>{{ chip.label }}</span>\n </eui-chip>\n </ng-container>\n\n <!--badge (typeLabel & typeClass) area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.typeLabel\" [ngSwitch]=\"node?.treeContentBlock?.typeClass\">\n <eui-badge euiSizeM [euiVariant]=\"node?.treeContentBlock?.typeClass || 'primary'\" class=\"eui-u-flex-no-shrink eui-u-mr-xs\">\n {{ node?.treeContentBlock?.typeLabel }}\n </eui-badge>\n </ng-container>\n </div>\n\n <!--label area-->\n <div class=\"eui-tree-node-wrapper__container-middle\">\n <label\n *ngIf=\"!node?.treeContentBlock?.url && !node?.treeContentBlock?.urlExternal\"\n euiLabel\n for=\"{{ id }}\"\n class=\"eui-u-text-truncate eui-u-p-2xs\"\n [class.eui-label--selected]=\"\n highlightPath\n ? getRunTimeSelectionRecursiveState(path)?.selectionRecursiveState === 'indeterminate' || node?.isSelected\n : node?.isSelected\n \"\n [class.eui-u-cursor-pointer]=\"node?.selectable\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </label>\n <label *ngIf=\"node?.treeContentBlock?.url\" euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-p-2xs\">\n <a\n class=\"eui-u-text-link\"\n [class.eui-u-text-link-standalone]=\"!showUnderlinedLinks\"\n [routerLink]=\"node?.treeContentBlock?.url\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </a>\n </label>\n <label *ngIf=\"node?.treeContentBlock?.urlExternal\" euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-p-2xs\">\n <a\n class=\"eui-u-text-link-external\"\n [class.eui-u-text-link-external-standalone]=\"!showUnderlinedLinks\"\n href=\"{{ node?.treeContentBlock?.urlExternal }}\"\n target=\"{{ node?.treeContentBlock?.urlExternalTarget || 'blank' }}\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </a>\n </label>\n </div>\n\n <div *ngIf=\"node?.treeContentBlock?.rightContent\" class=\"eui-tree-node-wrapper__container-right\">\n <!--badges area-->\n <ng-container *ngFor=\"let badge of node.treeContentBlock.rightContent?.badges\">\n <eui-badge euiOutline [euiVariant]=\"badge.typeClass || 'secondary'\" class=\"eui-u-ml-xs\">\n <span euiLabel>{{ badge.label }}</span>\n </eui-badge>\n </ng-container>\n\n <!--chips area-->\n <ng-container *ngFor=\"let chip of node.treeContentBlock.rightContent?.chips\">\n <eui-chip\n euiSizeS\n [euiVariant]=\"chip.typeClass || 'secondary'\"\n [euiOutline]=\"chip.isOutline\"\n class=\"eui-chip--rounded eui-u-mb-none eui-u-ml-xs\">\n <span euiLabel>{{ chip.label }}</span>\n </eui-chip>\n </ng-container>\n\n <!--Context menu-->\n <ng-container *ngIf=\"node.treeContentBlock.rightContent?.contextMenuMetaData && rightContextMenuTemplateRef\">\n <eui-dropdown class=\"eui-u-ml-xs\">\n <button euiButton euiSizeS euiRounded euiIconButton euiBasicButton euiSecondary [attr.aria-label]=\"'Options menu'\">\n <eui-icon-svg icon=\"ellipsis-vertical:sharp\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n <ng-template\n [ngTemplateOutlet]=\"rightContextMenuTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: node?.treeContentBlock?.rightContent?.contextMenuMetaData,\n metadata: node?.treeContentBlock?.rightContent?.contextMenuMetaData\n }\">\n </ng-template>\n </eui-dropdown-content>\n </eui-dropdown>\n </ng-container>\n </div>\n\n <!--metadata, uses the help of ng template to generate dynamic expand variable without handling state -->\n <ng-container\n *ngIf=\"node.treeContentBlock?.metadata && nodeContentMetadataTemplateRef\"\n [ngTemplateOutlet]=\"nodeContentMetadataContainer\"\n [ngTemplateOutletContext]=\"{\n $implicit: { expanded: false }\n }\">\n </ng-container>\n <ng-template #nodeContentMetadataContainer let-metaDataContainer>\n <button\n euiButton\n euiBasicButton\n euiIconButton\n euiRounded\n euiSizeS\n type=\"button\"\n aria-label=\"expand collapse tree item\"\n (click)=\"metaDataContainer.expanded = !metaDataContainer.expanded\">\n <eui-icon-svg [icon]=\"metaDataContainer.expanded ? 'chevron-down:sharp' : 'chevron-forward:sharp'\"></eui-icon-svg>\n </button>\n <div *ngIf=\"metaDataContainer.expanded\" class=\"eui-tree-node__metacontent\">\n <!--passing metadata of the node content to provided template-ref:nodeContentMetadataTemplateRef-->\n <ng-template\n [ngTemplateOutlet]=\"nodeContentMetadataTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: node?.treeContentBlock?.metadata,\n metadata: node?.treeContentBlock?.metadata\n }\">\n </ng-template>\n </div>\n </ng-template>\n </ng-container>\n</ng-template>\n", styles: [".eui-19 .eui-tree{display:flex;overflow-x:hidden;overflow-y:auto;position:relative;width:100%}.eui-19 .eui-tree .eui-tree__wrapper{display:flex;list-style:none;margin:0;overflow-y:auto;padding:var(--eui-s-2xs);position:relative;width:100%}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-c-neutral-bg-light)}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-c-neutral-lightest);border-radius:5rem}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}@-moz-document url-prefix(){.eui-19 .eui-tree .eui-tree__wrapper{scrollbar-color:var(--eui-c-neutral-lighter) var(--eui-c-neutral-bg-light);scrollbar-width:auto}}.eui-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree{display:flex;flex-direction:column;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node{display:flex;width:auto}.eui-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node:not(.eui-cdk-nested-tree-node--with-child){padding-inline-start:var(--eui-s-xl)}.eui-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node--with-child{display:flex;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node{display:flex;flex-direction:column;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node__metacontent{display:flex}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node__button{margin-left:calc(-3 * var(--eui-s-2xs))}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper{align-items:center;display:flex;min-height:var(--eui-s-2xl);width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper:hover{background-color:var(--eui-c-neutral-bg-light)}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container{align-items:center;display:flex;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-left{align-items:center;display:flex;justify-content:flex-start}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-middle{align-items:center;display:flex;justify-content:flex-start;overflow:hidden;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-right{align-items:center;display:flex;justify-content:flex-end;margin-left:auto}.eui-19 .eui-tree:not(.eui-tree--with-children) .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node{padding-inline-start:2px}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep{padding-inline-start:var(--eui-s-2xs)}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep:before{border-left:1px solid var(--eui-c-neutral-lightest);content:\"\";height:calc(100% - var(--eui-s-m) - var(--eui-s-xl));position:absolute;top:var(--eui-s-xl)}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep:first-child:before{height:calc(100% - var(--eui-s-m) - var(--eui-s-2xs));top:0}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep{padding-inline-start:var(--eui-s-s);position:relative}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep:before:not(.eui-tree-node--first){border-top:1px solid var(--eui-c-neutral-lightest);content:\"\";display:block;height:0;left:0;position:absolute;top:var(--eui-s-m);width:var(--eui-s-xl)}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node:not(.eui-tree-node--with-child):before{position:relative;left:0;display:inline-flex;width:var(--eui-s-2xl);border-bottom:1px solid var(--eui-c-neutral-lightest);content:\"\";margin-left:calc(-2 * var(--eui-s-l) + var(--eui-s-2xs));top:var(--eui-s-m)}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node.eui-tree-node--with-child:before{position:absolute;left:calc(1 * var(--eui-s-2xl) + var(--eui-s-2xs));display:inline-flex;width:var(--eui-s-s);border-bottom:1px solid var(--eui-c-neutral-lightest);border-left:1px solid var(--eui-c-neutral-lightest);content:\"\";margin-left:calc(-2 * var(--eui-s-l) + var(--eui-s-2xs));top:var(--eui-s-m)}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node--last:before{height:auto;top:var(--eui-s-m)}.eui-19 .eui-tree:not(.eui-tree--show-lines) .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node:not(.eui-cdk-nested-tree-node--with-child){padding-inline-start:var(--eui-s-3xl)}.eui-19 .eui-tree:not(.eui-tree--show-lines).eui-tree--with-children div.eui-ul-rep{padding-inline-start:var(--eui-s-m)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.EuiInputCheckboxComponent, selector: "input[euiInputCheckBox]", inputs: ["indeterminate", "isInvalid", "checked"], outputs: ["indeterminateChange"] }, { kind: "directive", type: i5.CdkNestedTreeNode, selector: "cdk-nested-tree-node", exportAs: ["cdkNestedTreeNode"] }, { kind: "directive", type: i5.CdkTreeNodeDef, selector: "[cdkTreeNodeDef]", inputs: ["cdkTreeNodeDefWhen"] }, { kind: "directive", type: i5.CdkTreeNodeToggle, selector: "[cdkTreeNodeToggle]", inputs: ["cdkTreeNodeToggleRecursive"] }, { kind: "component", type: i5.CdkTree, selector: "cdk-tree", inputs: ["dataSource", "treeControl", "levelAccessor", "childrenAccessor", "trackBy", "expansionKey"], exportAs: ["cdkTree"] }, { kind: "directive", type: i5.CdkTreeNodeOutlet, selector: "[cdkTreeNodeOutlet]" }, { kind: "component", type: i6.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i7.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i8.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: i9.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["e2eAttr", "aria-label", "maxCharCount", "charReplacement", "euiIconBadge", "euiDottedBadge"] }, { kind: "component", type: i10.EuiChipComponent, selector: "eui-chip, span[euiChip], li[euiChip]", inputs: ["ariaLabel", "e2eAttr", "euiInternalId", "tooltipMessage", "id", "data", "isChipRemovable", "isSquared", "isFilled"], outputs: ["remove"] }, { kind: "component", type: i11.EuiDropdownComponent, selector: "eui-dropdown", inputs: ["e2eAttr", "tabIndex", "width", "position", "isBlock", "isDropDownRightAligned", "hasClosedOnClickInside", "isLabelUpdatedFromSelectedItem", "isExpandOnHover", "hasTabNavigation", "isRightClickEnabled", "euiDisabled"], outputs: ["expand"] }, { kind: "directive", type: i11.EuiDropdownContentDirective, selector: "eui-dropdown-content" }, { kind: "directive", type: i1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
947
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.0.0", type: EuiTreeComponent, isStandalone: false, selector: "eui-tree", inputs: { e2eAttr: "e2eAttr", nodes: "nodes", nodeTemplateRef: "nodeTemplateRef", nodeContentMetadataTemplateRef: "nodeContentMetadataTemplateRef", rightContextMenuTemplateRef: "rightContextMenuTemplateRef", customNodeSelectFn: "customNodeSelectFn", expandedSvgIconClass: "expandedSvgIconClass", collapsedSvgIconClass: "collapsedSvgIconClass", isClickTogglingNode: ["isClickTogglingNode", "isClickTogglingNode", booleanAttribute], isMultiselect: ["isMultiselect", "isMultiselect", booleanAttribute], isSingleSelect: ["isSingleSelect", "isSingleSelect", booleanAttribute], isRecursiveSelection: ["isRecursiveSelection", "isRecursiveSelection", booleanAttribute], isRecursiveParentSelection: ["isRecursiveParentSelection", "isRecursiveParentSelection", booleanAttribute], showUnderlinedLinks: ["showUnderlinedLinks", "showUnderlinedLinks", booleanAttribute], showLines: ["showLines", "showLines", booleanAttribute], autoTranslate: ["autoTranslate", "autoTranslate", booleanAttribute], highlightPath: ["highlightPath", "highlightPath", booleanAttribute] }, outputs: { selectionChange: "selectionChange", nodeClick: "nodeClick", nodeToggle: "nodeToggle" }, host: { properties: { "class": "this.cssClasses", "attr.data-e2e": "this.e2eAttr" } }, viewQueries: [{ propertyName: "cdkScrollableRef", first: true, predicate: ["cdkScrollableRef"], descendants: true, read: CdkScrollable }, { propertyName: "treeComponentInstance", first: true, predicate: ["treeComponentInstance"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"eui-ul-rep eui-tree__wrapper\" cdkScrollable #cdkScrollableRef>\n <cdk-tree\n #treeComponentInstance\n [dataSource]=\"cdkArrayDataSource\"\n [treeControl]=\"cdkTreeControl\"\n [trackBy]=\"trackBy\"\n *ngIf=\"renderTree\"\n class=\"eui-cdk-tree\">\n <!-- There are two states of generic cdk-nested-tree-node declarations.\n First one is without child. No sub rendering.\n -->\n <cdk-nested-tree-node *cdkTreeNodeDef=\"let treeRunTimeItemModel\" class=\"eui-cdk-nested-tree-node\">\n <div *ngIf=\"treeRunTimeItemModel\"\n class=\"eui-li-rep eui-tree-node\"\n [class.eui-tree-node--first]=\"treeRunTimeItemModel?.path === '0'\"\n [class.eui-tree-node--last]=\"treeRunTimeItemModel.last\"\n title=\"{{\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel ||\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\n }}\">\n <div class=\"eui-tree-node-wrapper\"\n (click)=\"onNodeClick(treeRunTimeItemModel, $event)\">\n <div class=\"eui-tree-node-wrapper__container\">\n <!--\n Renders node in default or provided template's context.\n Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n Provides id to be used on generic template\n -->\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n [ngTemplateOutletContext]=\"{\n $implicit: getTreeItem(treeRunTimeItemModel?.path)?.node,\n onSelect: onSelectFn(treeRunTimeItemModel.path),\n id: uid + treeRunTimeItemModel.path,\n path: treeRunTimeItemModel.path\n }\">\n </ng-container>\n </div>\n </div>\n </div>\n </cdk-nested-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-nested-tree-node\n *cdkTreeNodeDef=\"let treeRunTimeItemModel; when: hasChild\"\n class=\"eui-cdk-nested-tree-node eui-cdk-nested-tree-node--with-child\">\n <div\n class=\"eui-li-rep eui-tree-node eui-tree-node--with-child\"\n [class.eui-tree-node--first]=\"treeRunTimeItemModel?.path === '0'\"\n [class.eui-tree-node--last]=\"treeRunTimeItemModel.last\"\n *ngIf=\"treeRunTimeItemModel\"\n title=\"{{\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel ||\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\n }}\">\n <div\n class=\"eui-tree-node-wrapper\">\n <!--Here wraps the node, and listen for node clicks.-->\n <div (click)=\"onNodeClick(treeRunTimeItemModel, $event)\" class=\"eui-tree-node-wrapper__container\">\n <!-- Expand/collapse action button -->\n <button\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"'Toggle ' + getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\"\n (click)=\"onNodeToggle(treeRunTimeItemModel)\"\n cdkTreeNodeToggle\n class=\"eui-tree-node__button\">\n <eui-icon-svg\n *ngIf=\"!cdkTreeControl.isExpanded(treeRunTimeItemModel)\"\n [icon]=\"expandedSvgIconClass\"></eui-icon-svg>\n <eui-icon-svg\n *ngIf=\"cdkTreeControl.isExpanded(treeRunTimeItemModel)\"\n [icon]=\"collapsedSvgIconClass\"></eui-icon-svg>\n </button>\n <!--\n Renders node in default or provided template's context.\n Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n Provides id to be used on generic template\n -->\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n [ngTemplateOutletContext]=\"{\n $implicit: getTreeItem(treeRunTimeItemModel.path)?.node,\n onSelect: onSelectFn(treeRunTimeItemModel.path),\n id: uid + treeRunTimeItemModel.path,\n path: treeRunTimeItemModel.path,\n children: getTreeItem(treeRunTimeItemModel?.path)?.children\n }\">\n </ng-container>\n </div>\n </div>\n <!--uses cdkTreeNodeOutlet to render children nodes, CdkTreeControl is used to control isExpanded state.-->\n <div class=\"eui-ul-rep eui-tree-node\" role=\"group\" *ngIf=\"cdkTreeControl.isExpanded(treeRunTimeItemModel)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </div>\n </cdk-nested-tree-node>\n </cdk-tree>\n</div>\n\n<ng-template #nodeTemplateDefault let-node let-onSelect=\"onSelect\" let-id=\"id\" let-path=\"path\">\n <ng-container *ngIf=\"node\">\n <div class=\"eui-tree-node-wrapper__container-left\" [class.eui-tree-node-wrapper__container-left--selected]=\"node?.isSelected\">\n <!--input checkbox area-->\n <input\n euiInputCheckBox\n *ngIf=\"node && node.selectable\"\n type=\"checkbox\"\n id=\"{{ id }}\"\n [checked]=\"!!node?.isSelected\"\n [indeterminate]=\"!!node?.isIndeterminate\"\n (change)=\"onSelect($event)\" />\n\n <!--icon area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.iconSvgName\">\n <eui-icon-svg\n icon=\"{{ node?.treeContentBlock?.iconSvgName }}\"\n fillColor=\"{{ node?.treeContentBlock?.iconTypeClass || 'neutral' }}\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n </ng-container>\n\n <!--chips area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.chips\">\n <eui-chip\n *ngFor=\"let chip of node.treeContentBlock.chips\"\n euiSizeS\n [euiVariant]=\"chip.typeClass || 'secondary'\"\n [euiOutline]=\"chip.isOutline\"\n class=\"eui-chip--rounded eui-u-mr-xs\">\n <span euiLabel>{{ chip.label }}</span>\n </eui-chip>\n </ng-container>\n\n <!--badge (typeLabel & typeClass) area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.typeLabel\" [ngSwitch]=\"node?.treeContentBlock?.typeClass\">\n <eui-badge euiSizeM [euiVariant]=\"node?.treeContentBlock?.typeClass || 'primary'\" class=\"eui-u-flex-no-shrink eui-u-mr-xs\">\n {{ node?.treeContentBlock?.typeLabel }}\n </eui-badge>\n </ng-container>\n </div>\n\n <!--label area-->\n <div class=\"eui-tree-node-wrapper__container-middle\">\n <label\n *ngIf=\"!node?.treeContentBlock?.url && !node?.treeContentBlock?.urlExternal\"\n euiLabel\n for=\"{{ id }}\"\n class=\"eui-u-text-truncate eui-u-p-2xs\"\n [class.eui-label--selected]=\"\n highlightPath\n ? getRunTimeSelectionRecursiveState(path)?.selectionRecursiveState === 'indeterminate' || node?.isSelected\n : node?.isSelected\n \"\n [class.eui-u-cursor-pointer]=\"node?.selectable\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </label>\n <label *ngIf=\"node?.treeContentBlock?.url\" euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-p-2xs\">\n <a\n class=\"eui-u-text-link\"\n [class.eui-u-text-link-standalone]=\"!showUnderlinedLinks\"\n [routerLink]=\"node?.treeContentBlock?.url\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </a>\n </label>\n <label *ngIf=\"node?.treeContentBlock?.urlExternal\" euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-p-2xs\">\n <a\n class=\"eui-u-text-link-external\"\n [class.eui-u-text-link-external-standalone]=\"!showUnderlinedLinks\"\n href=\"{{ node?.treeContentBlock?.urlExternal }}\"\n target=\"{{ node?.treeContentBlock?.urlExternalTarget || 'blank' }}\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </a>\n </label>\n </div>\n\n <div *ngIf=\"node?.treeContentBlock?.rightContent\" class=\"eui-tree-node-wrapper__container-right\">\n <!--badges area-->\n <ng-container *ngFor=\"let badge of node.treeContentBlock.rightContent?.badges\">\n <eui-badge euiOutline [euiVariant]=\"badge.typeClass || 'secondary'\" class=\"eui-u-ml-xs\">\n <span euiLabel>{{ badge.label }}</span>\n </eui-badge>\n </ng-container>\n\n <!--chips area-->\n <ng-container *ngFor=\"let chip of node.treeContentBlock.rightContent?.chips\">\n <eui-chip\n euiSizeS\n [euiVariant]=\"chip.typeClass || 'secondary'\"\n [euiOutline]=\"chip.isOutline\"\n class=\"eui-chip--rounded eui-u-mb-none eui-u-ml-xs\">\n <span euiLabel>{{ chip.label }}</span>\n </eui-chip>\n </ng-container>\n\n <!--Context menu-->\n <ng-container *ngIf=\"node.treeContentBlock.rightContent?.contextMenuMetaData && rightContextMenuTemplateRef\">\n <eui-dropdown class=\"eui-u-ml-xs\">\n <button euiButton euiSizeS euiRounded euiIconButton euiBasicButton euiSecondary [attr.aria-label]=\"'Options menu'\">\n <eui-icon-svg icon=\"ellipsis-vertical:sharp\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n <ng-template\n [ngTemplateOutlet]=\"rightContextMenuTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: node?.treeContentBlock?.rightContent?.contextMenuMetaData,\n metadata: node?.treeContentBlock?.rightContent?.contextMenuMetaData\n }\">\n </ng-template>\n </eui-dropdown-content>\n </eui-dropdown>\n </ng-container>\n </div>\n\n <!--metadata, uses the help of ng template to generate dynamic expand variable without handling state -->\n <ng-container\n *ngIf=\"node.treeContentBlock?.metadata && nodeContentMetadataTemplateRef\"\n [ngTemplateOutlet]=\"nodeContentMetadataContainer\"\n [ngTemplateOutletContext]=\"{\n $implicit: { expanded: false }\n }\">\n </ng-container>\n <ng-template #nodeContentMetadataContainer let-metaDataContainer>\n <button\n euiButton\n euiBasicButton\n euiIconButton\n euiRounded\n euiSizeS\n type=\"button\"\n aria-label=\"expand collapse tree item\"\n (click)=\"metaDataContainer.expanded = !metaDataContainer.expanded\">\n <eui-icon-svg [icon]=\"metaDataContainer.expanded ? 'chevron-down:sharp' : 'chevron-forward:sharp'\"></eui-icon-svg>\n </button>\n <div *ngIf=\"metaDataContainer.expanded\" class=\"eui-tree-node__metacontent\">\n <!--passing metadata of the node content to provided template-ref:nodeContentMetadataTemplateRef-->\n <ng-template\n [ngTemplateOutlet]=\"nodeContentMetadataTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: node?.treeContentBlock?.metadata,\n metadata: node?.treeContentBlock?.metadata\n }\">\n </ng-template>\n </div>\n </ng-template>\n </ng-container>\n</ng-template>\n", styles: [".eui-19 .eui-tree{display:flex;overflow-x:hidden;overflow-y:auto;position:relative;width:100%}.eui-19 .eui-tree .eui-tree__wrapper{display:flex;list-style:none;margin:0;overflow-y:auto;padding:var(--eui-s-2xs);position:relative;width:100%}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-c-neutral-bg-light)}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-c-neutral-lightest);border-radius:5rem}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}@-moz-document url-prefix(){.eui-19 .eui-tree .eui-tree__wrapper{scrollbar-color:var(--eui-c-neutral-lighter) var(--eui-c-neutral-bg-light);scrollbar-width:auto}}.eui-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree{display:flex;flex-direction:column;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node{display:flex;width:auto}.eui-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node:not(.eui-cdk-nested-tree-node--with-child){padding-inline-start:var(--eui-s-xl)}.eui-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node--with-child{display:flex;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node{display:flex;flex-direction:column;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node__metacontent{display:flex}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node__button{margin-left:calc(-3 * var(--eui-s-2xs))}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper{align-items:center;display:flex;min-height:var(--eui-s-2xl);width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper:hover{background-color:var(--eui-c-neutral-bg-light)}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container{align-items:center;display:flex;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-left{align-items:center;display:flex;justify-content:flex-start}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-middle{align-items:center;display:flex;justify-content:flex-start;overflow:hidden;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-right{align-items:center;display:flex;justify-content:flex-end;margin-left:auto}.eui-19 .eui-tree:not(.eui-tree--with-children) .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node{padding-inline-start:2px}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep{padding-inline-start:var(--eui-s-2xs)}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep:before{border-left:1px solid var(--eui-c-neutral-lightest);content:\"\";height:calc(100% - var(--eui-s-m) - var(--eui-s-xl));position:absolute;top:var(--eui-s-xl)}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep:first-child:before{height:calc(100% - var(--eui-s-m) - var(--eui-s-2xs));top:0}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep{padding-inline-start:var(--eui-s-s);position:relative}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep:before:not(.eui-tree-node--first){border-top:1px solid var(--eui-c-neutral-lightest);content:\"\";display:block;height:0;left:0;position:absolute;top:var(--eui-s-m);width:var(--eui-s-xl)}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node:not(.eui-tree-node--with-child):before{position:relative;left:0;display:inline-flex;width:var(--eui-s-2xl);border-bottom:1px solid var(--eui-c-neutral-lightest);content:\"\";margin-left:calc(-2 * var(--eui-s-l) + var(--eui-s-2xs));top:var(--eui-s-m)}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node.eui-tree-node--with-child:before{position:absolute;left:calc(1 * var(--eui-s-2xl) + var(--eui-s-2xs));display:inline-flex;width:var(--eui-s-s);border-bottom:1px solid var(--eui-c-neutral-lightest);border-left:1px solid var(--eui-c-neutral-lightest);content:\"\";margin-left:calc(-2 * var(--eui-s-l) + var(--eui-s-2xs));top:var(--eui-s-m)}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node--last:before{height:auto;top:var(--eui-s-m)}.eui-19 .eui-tree:not(.eui-tree--show-lines) .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node:not(.eui-cdk-nested-tree-node--with-child){padding-inline-start:var(--eui-s-3xl)}.eui-19 .eui-tree:not(.eui-tree--show-lines).eui-tree--with-children div.eui-ul-rep{padding-inline-start:var(--eui-s-m)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.EuiInputCheckboxComponent, selector: "input[euiInputCheckBox]", inputs: ["indeterminate", "isInvalid", "checked"], outputs: ["indeterminateChange"] }, { kind: "directive", type: i5.CdkNestedTreeNode, selector: "cdk-nested-tree-node", exportAs: ["cdkNestedTreeNode"] }, { kind: "directive", type: i5.CdkTreeNodeDef, selector: "[cdkTreeNodeDef]", inputs: ["cdkTreeNodeDefWhen"] }, { kind: "directive", type: i5.CdkTreeNodeToggle, selector: "[cdkTreeNodeToggle]", inputs: ["cdkTreeNodeToggleRecursive"] }, { kind: "component", type: i5.CdkTree, selector: "cdk-tree", inputs: ["dataSource", "treeControl", "levelAccessor", "childrenAccessor", "trackBy", "expansionKey"], exportAs: ["cdkTree"] }, { kind: "directive", type: i5.CdkTreeNodeOutlet, selector: "[cdkTreeNodeOutlet]" }, { kind: "component", type: i6.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i7.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i8.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: i9.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["e2eAttr", "aria-label", "maxCharCount", "charReplacement", "euiIconBadge", "euiDottedBadge"] }, { kind: "component", type: i10.EuiChipComponent, selector: "eui-chip, span[euiChip], li[euiChip]", inputs: ["ariaLabel", "e2eAttr", "euiInternalId", "tooltipMessage", "id", "data", "isChipRemovable", "isSquared", "isFilled"], outputs: ["remove"] }, { kind: "component", type: i11.EuiDropdownComponent, selector: "eui-dropdown", inputs: ["e2eAttr", "tabIndex", "width", "position", "subDropdownPosition", "isBlock", "isDropDownRightAligned", "hasClosedOnClickInside", "isLabelUpdatedFromSelectedItem", "isExpandOnHover", "hasTabNavigation", "isRightClickEnabled", "euiDisabled"], outputs: ["expand"] }, { kind: "directive", type: i11.EuiDropdownContentDirective, selector: "eui-dropdown-content" }, { kind: "directive", type: i1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
948
948
  }
949
949
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: EuiTreeComponent, decorators: [{
950
950
  type: Component,
951
- args: [{ selector: 'eui-tree', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"eui-ul-rep eui-tree__wrapper\" cdkScrollable #cdkScrollableRef>\n <cdk-tree\n #treeComponentInstance\n [dataSource]=\"cdkArrayDataSource\"\n [treeControl]=\"cdkTreeControl\"\n [trackBy]=\"trackBy\"\n *ngIf=\"renderTree\"\n class=\"eui-cdk-tree\">\n <!-- There are two states of generic cdk-nested-tree-node declarations.\n First one is without child. No sub rendering.\n -->\n <cdk-nested-tree-node *cdkTreeNodeDef=\"let treeRunTimeItemModel\" class=\"eui-cdk-nested-tree-node\">\n <div *ngIf=\"treeRunTimeItemModel\"\n class=\"eui-li-rep eui-tree-node\"\n [class.eui-tree-node--first]=\"treeRunTimeItemModel?.path === '0'\"\n [class.eui-tree-node--last]=\"treeRunTimeItemModel.last\"\n title=\"{{\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel ||\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\n }}\">\n <div class=\"eui-tree-node-wrapper\"\n (click)=\"onNodeClick(treeRunTimeItemModel, $event)\">\n <div class=\"eui-tree-node-wrapper__container\">\n <!--\n Renders node in default or provided template's context.\n Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n Provides id to be used on generic template\n -->\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n [ngTemplateOutletContext]=\"{\n $implicit: getTreeItem(treeRunTimeItemModel?.path)?.node,\n onSelect: onSelectFn(treeRunTimeItemModel.path),\n id: uid + treeRunTimeItemModel.path,\n path: treeRunTimeItemModel.path\n }\">\n </ng-container>\n </div>\n </div>\n </div>\n </cdk-nested-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-nested-tree-node\n *cdkTreeNodeDef=\"let treeRunTimeItemModel; when: hasChild\"\n class=\"eui-cdk-nested-tree-node eui-cdk-nested-tree-node--with-child\">\n <div\n class=\"eui-li-rep eui-tree-node eui-tree-node--with-child\"\n [class.eui-tree-node--first]=\"treeRunTimeItemModel?.path === '0'\"\n [class.eui-tree-node--last]=\"treeRunTimeItemModel.last\"\n *ngIf=\"treeRunTimeItemModel\"\n title=\"{{\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel ||\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\n }}\">\n <div\n class=\"eui-tree-node-wrapper\">\n <!--Here wraps the node, and listen for node clicks.-->\n <div (click)=\"onNodeClick(treeRunTimeItemModel, $event)\" class=\"eui-tree-node-wrapper__container\">\n <!-- Expand/collapse action button -->\n <button\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"'Toggle ' + getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\"\n (click)=\"onNodeToggle(treeRunTimeItemModel)\"\n cdkTreeNodeToggle\n class=\"eui-tree-node__button\">\n <eui-icon-svg\n *ngIf=\"!cdkTreeControl.isExpanded(treeRunTimeItemModel) && !collapsedIconClass\"\n [icon]=\"expandedSvgIconClass\"></eui-icon-svg>\n <eui-icon-svg\n *ngIf=\"cdkTreeControl.isExpanded(treeRunTimeItemModel) && !expandedIconClass\"\n [icon]=\"collapsedSvgIconClass\"></eui-icon-svg>\n </button>\n <!--\n Renders node in default or provided template's context.\n Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n Provides id to be used on generic template\n -->\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n [ngTemplateOutletContext]=\"{\n $implicit: getTreeItem(treeRunTimeItemModel.path)?.node,\n onSelect: onSelectFn(treeRunTimeItemModel.path),\n id: uid + treeRunTimeItemModel.path,\n path: treeRunTimeItemModel.path,\n children: getTreeItem(treeRunTimeItemModel?.path)?.children\n }\">\n </ng-container>\n </div>\n </div>\n <!--uses cdkTreeNodeOutlet to render children nodes, CdkTreeControl is used to control isExpanded state.-->\n <div class=\"eui-ul-rep eui-tree-node\" role=\"group\" *ngIf=\"cdkTreeControl.isExpanded(treeRunTimeItemModel)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </div>\n </cdk-nested-tree-node>\n </cdk-tree>\n</div>\n\n<ng-template #nodeTemplateDefault let-node let-onSelect=\"onSelect\" let-id=\"id\" let-path=\"path\">\n <ng-container *ngIf=\"node\">\n <div class=\"eui-tree-node-wrapper__container-left\" [class.eui-tree-node-wrapper__container-left--selected]=\"node?.isSelected\">\n <!--input checkbox area-->\n <input\n euiInputCheckBox\n *ngIf=\"node && node.selectable\"\n type=\"checkbox\"\n id=\"{{ id }}\"\n [checked]=\"!!node?.isSelected\"\n [indeterminate]=\"!!node?.isIndeterminate\"\n (change)=\"onSelect($event)\" />\n\n <!--icon area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.iconSvgName\">\n <eui-icon-svg\n icon=\"{{ node?.treeContentBlock?.iconSvgName }}\"\n fillColor=\"{{ node?.treeContentBlock?.iconTypeClass || 'neutral' }}\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n </ng-container>\n\n <!--chips area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.chips\">\n <eui-chip\n *ngFor=\"let chip of node.treeContentBlock.chips\"\n euiSizeS\n [euiVariant]=\"chip.typeClass || 'secondary'\"\n [euiOutline]=\"chip.isOutline\"\n class=\"eui-chip--rounded eui-u-mr-xs\">\n <span euiLabel>{{ chip.label }}</span>\n </eui-chip>\n </ng-container>\n\n <!--badge (typeLabel & typeClass) area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.typeLabel\" [ngSwitch]=\"node?.treeContentBlock?.typeClass\">\n <eui-badge euiSizeM [euiVariant]=\"node?.treeContentBlock?.typeClass || 'primary'\" class=\"eui-u-flex-no-shrink eui-u-mr-xs\">\n {{ node?.treeContentBlock?.typeLabel }}\n </eui-badge>\n </ng-container>\n </div>\n\n <!--label area-->\n <div class=\"eui-tree-node-wrapper__container-middle\">\n <label\n *ngIf=\"!node?.treeContentBlock?.url && !node?.treeContentBlock?.urlExternal\"\n euiLabel\n for=\"{{ id }}\"\n class=\"eui-u-text-truncate eui-u-p-2xs\"\n [class.eui-label--selected]=\"\n highlightPath\n ? getRunTimeSelectionRecursiveState(path)?.selectionRecursiveState === 'indeterminate' || node?.isSelected\n : node?.isSelected\n \"\n [class.eui-u-cursor-pointer]=\"node?.selectable\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </label>\n <label *ngIf=\"node?.treeContentBlock?.url\" euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-p-2xs\">\n <a\n class=\"eui-u-text-link\"\n [class.eui-u-text-link-standalone]=\"!showUnderlinedLinks\"\n [routerLink]=\"node?.treeContentBlock?.url\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </a>\n </label>\n <label *ngIf=\"node?.treeContentBlock?.urlExternal\" euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-p-2xs\">\n <a\n class=\"eui-u-text-link-external\"\n [class.eui-u-text-link-external-standalone]=\"!showUnderlinedLinks\"\n href=\"{{ node?.treeContentBlock?.urlExternal }}\"\n target=\"{{ node?.treeContentBlock?.urlExternalTarget || 'blank' }}\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </a>\n </label>\n </div>\n\n <div *ngIf=\"node?.treeContentBlock?.rightContent\" class=\"eui-tree-node-wrapper__container-right\">\n <!--badges area-->\n <ng-container *ngFor=\"let badge of node.treeContentBlock.rightContent?.badges\">\n <eui-badge euiOutline [euiVariant]=\"badge.typeClass || 'secondary'\" class=\"eui-u-ml-xs\">\n <span euiLabel>{{ badge.label }}</span>\n </eui-badge>\n </ng-container>\n\n <!--chips area-->\n <ng-container *ngFor=\"let chip of node.treeContentBlock.rightContent?.chips\">\n <eui-chip\n euiSizeS\n [euiVariant]=\"chip.typeClass || 'secondary'\"\n [euiOutline]=\"chip.isOutline\"\n class=\"eui-chip--rounded eui-u-mb-none eui-u-ml-xs\">\n <span euiLabel>{{ chip.label }}</span>\n </eui-chip>\n </ng-container>\n\n <!--Context menu-->\n <ng-container *ngIf=\"node.treeContentBlock.rightContent?.contextMenuMetaData && rightContextMenuTemplateRef\">\n <eui-dropdown class=\"eui-u-ml-xs\">\n <button euiButton euiSizeS euiRounded euiIconButton euiBasicButton euiSecondary [attr.aria-label]=\"'Options menu'\">\n <eui-icon-svg icon=\"ellipsis-vertical:sharp\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n <ng-template\n [ngTemplateOutlet]=\"rightContextMenuTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: node?.treeContentBlock?.rightContent?.contextMenuMetaData,\n metadata: node?.treeContentBlock?.rightContent?.contextMenuMetaData\n }\">\n </ng-template>\n </eui-dropdown-content>\n </eui-dropdown>\n </ng-container>\n </div>\n\n <!--metadata, uses the help of ng template to generate dynamic expand variable without handling state -->\n <ng-container\n *ngIf=\"node.treeContentBlock?.metadata && nodeContentMetadataTemplateRef\"\n [ngTemplateOutlet]=\"nodeContentMetadataContainer\"\n [ngTemplateOutletContext]=\"{\n $implicit: { expanded: false }\n }\">\n </ng-container>\n <ng-template #nodeContentMetadataContainer let-metaDataContainer>\n <button\n euiButton\n euiBasicButton\n euiIconButton\n euiRounded\n euiSizeS\n type=\"button\"\n aria-label=\"expand collapse tree item\"\n (click)=\"metaDataContainer.expanded = !metaDataContainer.expanded\">\n <eui-icon-svg [icon]=\"metaDataContainer.expanded ? 'chevron-down:sharp' : 'chevron-forward:sharp'\"></eui-icon-svg>\n </button>\n <div *ngIf=\"metaDataContainer.expanded\" class=\"eui-tree-node__metacontent\">\n <!--passing metadata of the node content to provided template-ref:nodeContentMetadataTemplateRef-->\n <ng-template\n [ngTemplateOutlet]=\"nodeContentMetadataTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: node?.treeContentBlock?.metadata,\n metadata: node?.treeContentBlock?.metadata\n }\">\n </ng-template>\n </div>\n </ng-template>\n </ng-container>\n</ng-template>\n", styles: [".eui-19 .eui-tree{display:flex;overflow-x:hidden;overflow-y:auto;position:relative;width:100%}.eui-19 .eui-tree .eui-tree__wrapper{display:flex;list-style:none;margin:0;overflow-y:auto;padding:var(--eui-s-2xs);position:relative;width:100%}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-c-neutral-bg-light)}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-c-neutral-lightest);border-radius:5rem}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}@-moz-document url-prefix(){.eui-19 .eui-tree .eui-tree__wrapper{scrollbar-color:var(--eui-c-neutral-lighter) var(--eui-c-neutral-bg-light);scrollbar-width:auto}}.eui-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree{display:flex;flex-direction:column;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node{display:flex;width:auto}.eui-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node:not(.eui-cdk-nested-tree-node--with-child){padding-inline-start:var(--eui-s-xl)}.eui-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node--with-child{display:flex;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node{display:flex;flex-direction:column;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node__metacontent{display:flex}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node__button{margin-left:calc(-3 * var(--eui-s-2xs))}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper{align-items:center;display:flex;min-height:var(--eui-s-2xl);width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper:hover{background-color:var(--eui-c-neutral-bg-light)}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container{align-items:center;display:flex;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-left{align-items:center;display:flex;justify-content:flex-start}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-middle{align-items:center;display:flex;justify-content:flex-start;overflow:hidden;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-right{align-items:center;display:flex;justify-content:flex-end;margin-left:auto}.eui-19 .eui-tree:not(.eui-tree--with-children) .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node{padding-inline-start:2px}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep{padding-inline-start:var(--eui-s-2xs)}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep:before{border-left:1px solid var(--eui-c-neutral-lightest);content:\"\";height:calc(100% - var(--eui-s-m) - var(--eui-s-xl));position:absolute;top:var(--eui-s-xl)}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep:first-child:before{height:calc(100% - var(--eui-s-m) - var(--eui-s-2xs));top:0}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep{padding-inline-start:var(--eui-s-s);position:relative}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep:before:not(.eui-tree-node--first){border-top:1px solid var(--eui-c-neutral-lightest);content:\"\";display:block;height:0;left:0;position:absolute;top:var(--eui-s-m);width:var(--eui-s-xl)}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node:not(.eui-tree-node--with-child):before{position:relative;left:0;display:inline-flex;width:var(--eui-s-2xl);border-bottom:1px solid var(--eui-c-neutral-lightest);content:\"\";margin-left:calc(-2 * var(--eui-s-l) + var(--eui-s-2xs));top:var(--eui-s-m)}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node.eui-tree-node--with-child:before{position:absolute;left:calc(1 * var(--eui-s-2xl) + var(--eui-s-2xs));display:inline-flex;width:var(--eui-s-s);border-bottom:1px solid var(--eui-c-neutral-lightest);border-left:1px solid var(--eui-c-neutral-lightest);content:\"\";margin-left:calc(-2 * var(--eui-s-l) + var(--eui-s-2xs));top:var(--eui-s-m)}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node--last:before{height:auto;top:var(--eui-s-m)}.eui-19 .eui-tree:not(.eui-tree--show-lines) .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node:not(.eui-cdk-nested-tree-node--with-child){padding-inline-start:var(--eui-s-3xl)}.eui-19 .eui-tree:not(.eui-tree--show-lines).eui-tree--with-children div.eui-ul-rep{padding-inline-start:var(--eui-s-m)}\n"] }]
951
+ args: [{ selector: 'eui-tree', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"eui-ul-rep eui-tree__wrapper\" cdkScrollable #cdkScrollableRef>\n <cdk-tree\n #treeComponentInstance\n [dataSource]=\"cdkArrayDataSource\"\n [treeControl]=\"cdkTreeControl\"\n [trackBy]=\"trackBy\"\n *ngIf=\"renderTree\"\n class=\"eui-cdk-tree\">\n <!-- There are two states of generic cdk-nested-tree-node declarations.\n First one is without child. No sub rendering.\n -->\n <cdk-nested-tree-node *cdkTreeNodeDef=\"let treeRunTimeItemModel\" class=\"eui-cdk-nested-tree-node\">\n <div *ngIf=\"treeRunTimeItemModel\"\n class=\"eui-li-rep eui-tree-node\"\n [class.eui-tree-node--first]=\"treeRunTimeItemModel?.path === '0'\"\n [class.eui-tree-node--last]=\"treeRunTimeItemModel.last\"\n title=\"{{\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel ||\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\n }}\">\n <div class=\"eui-tree-node-wrapper\"\n (click)=\"onNodeClick(treeRunTimeItemModel, $event)\">\n <div class=\"eui-tree-node-wrapper__container\">\n <!--\n Renders node in default or provided template's context.\n Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n Provides id to be used on generic template\n -->\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n [ngTemplateOutletContext]=\"{\n $implicit: getTreeItem(treeRunTimeItemModel?.path)?.node,\n onSelect: onSelectFn(treeRunTimeItemModel.path),\n id: uid + treeRunTimeItemModel.path,\n path: treeRunTimeItemModel.path\n }\">\n </ng-container>\n </div>\n </div>\n </div>\n </cdk-nested-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-nested-tree-node\n *cdkTreeNodeDef=\"let treeRunTimeItemModel; when: hasChild\"\n class=\"eui-cdk-nested-tree-node eui-cdk-nested-tree-node--with-child\">\n <div\n class=\"eui-li-rep eui-tree-node eui-tree-node--with-child\"\n [class.eui-tree-node--first]=\"treeRunTimeItemModel?.path === '0'\"\n [class.eui-tree-node--last]=\"treeRunTimeItemModel.last\"\n *ngIf=\"treeRunTimeItemModel\"\n title=\"{{\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel ||\n getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\n }}\">\n <div\n class=\"eui-tree-node-wrapper\">\n <!--Here wraps the node, and listen for node clicks.-->\n <div (click)=\"onNodeClick(treeRunTimeItemModel, $event)\" class=\"eui-tree-node-wrapper__container\">\n <!-- Expand/collapse action button -->\n <button\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"'Toggle ' + getTreeItem(treeRunTimeItemModel?.path)?.node?.treeContentBlock?.label\"\n (click)=\"onNodeToggle(treeRunTimeItemModel)\"\n cdkTreeNodeToggle\n class=\"eui-tree-node__button\">\n <eui-icon-svg\n *ngIf=\"!cdkTreeControl.isExpanded(treeRunTimeItemModel)\"\n [icon]=\"expandedSvgIconClass\"></eui-icon-svg>\n <eui-icon-svg\n *ngIf=\"cdkTreeControl.isExpanded(treeRunTimeItemModel)\"\n [icon]=\"collapsedSvgIconClass\"></eui-icon-svg>\n </button>\n <!--\n Renders node in default or provided template's context.\n Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n Provides id to be used on generic template\n -->\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n [ngTemplateOutletContext]=\"{\n $implicit: getTreeItem(treeRunTimeItemModel.path)?.node,\n onSelect: onSelectFn(treeRunTimeItemModel.path),\n id: uid + treeRunTimeItemModel.path,\n path: treeRunTimeItemModel.path,\n children: getTreeItem(treeRunTimeItemModel?.path)?.children\n }\">\n </ng-container>\n </div>\n </div>\n <!--uses cdkTreeNodeOutlet to render children nodes, CdkTreeControl is used to control isExpanded state.-->\n <div class=\"eui-ul-rep eui-tree-node\" role=\"group\" *ngIf=\"cdkTreeControl.isExpanded(treeRunTimeItemModel)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </div>\n </cdk-nested-tree-node>\n </cdk-tree>\n</div>\n\n<ng-template #nodeTemplateDefault let-node let-onSelect=\"onSelect\" let-id=\"id\" let-path=\"path\">\n <ng-container *ngIf=\"node\">\n <div class=\"eui-tree-node-wrapper__container-left\" [class.eui-tree-node-wrapper__container-left--selected]=\"node?.isSelected\">\n <!--input checkbox area-->\n <input\n euiInputCheckBox\n *ngIf=\"node && node.selectable\"\n type=\"checkbox\"\n id=\"{{ id }}\"\n [checked]=\"!!node?.isSelected\"\n [indeterminate]=\"!!node?.isIndeterminate\"\n (change)=\"onSelect($event)\" />\n\n <!--icon area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.iconSvgName\">\n <eui-icon-svg\n icon=\"{{ node?.treeContentBlock?.iconSvgName }}\"\n fillColor=\"{{ node?.treeContentBlock?.iconTypeClass || 'neutral' }}\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n </ng-container>\n\n <!--chips area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.chips\">\n <eui-chip\n *ngFor=\"let chip of node.treeContentBlock.chips\"\n euiSizeS\n [euiVariant]=\"chip.typeClass || 'secondary'\"\n [euiOutline]=\"chip.isOutline\"\n class=\"eui-chip--rounded eui-u-mr-xs\">\n <span euiLabel>{{ chip.label }}</span>\n </eui-chip>\n </ng-container>\n\n <!--badge (typeLabel & typeClass) area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.typeLabel\" [ngSwitch]=\"node?.treeContentBlock?.typeClass\">\n <eui-badge euiSizeM [euiVariant]=\"node?.treeContentBlock?.typeClass || 'primary'\" class=\"eui-u-flex-no-shrink eui-u-mr-xs\">\n {{ node?.treeContentBlock?.typeLabel }}\n </eui-badge>\n </ng-container>\n </div>\n\n <!--label area-->\n <div class=\"eui-tree-node-wrapper__container-middle\">\n <label\n *ngIf=\"!node?.treeContentBlock?.url && !node?.treeContentBlock?.urlExternal\"\n euiLabel\n for=\"{{ id }}\"\n class=\"eui-u-text-truncate eui-u-p-2xs\"\n [class.eui-label--selected]=\"\n highlightPath\n ? getRunTimeSelectionRecursiveState(path)?.selectionRecursiveState === 'indeterminate' || node?.isSelected\n : node?.isSelected\n \"\n [class.eui-u-cursor-pointer]=\"node?.selectable\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </label>\n <label *ngIf=\"node?.treeContentBlock?.url\" euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-p-2xs\">\n <a\n class=\"eui-u-text-link\"\n [class.eui-u-text-link-standalone]=\"!showUnderlinedLinks\"\n [routerLink]=\"node?.treeContentBlock?.url\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </a>\n </label>\n <label *ngIf=\"node?.treeContentBlock?.urlExternal\" euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-p-2xs\">\n <a\n class=\"eui-u-text-link-external\"\n [class.eui-u-text-link-external-standalone]=\"!showUnderlinedLinks\"\n href=\"{{ node?.treeContentBlock?.urlExternal }}\"\n target=\"{{ node?.treeContentBlock?.urlExternalTarget || 'blank' }}\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </a>\n </label>\n </div>\n\n <div *ngIf=\"node?.treeContentBlock?.rightContent\" class=\"eui-tree-node-wrapper__container-right\">\n <!--badges area-->\n <ng-container *ngFor=\"let badge of node.treeContentBlock.rightContent?.badges\">\n <eui-badge euiOutline [euiVariant]=\"badge.typeClass || 'secondary'\" class=\"eui-u-ml-xs\">\n <span euiLabel>{{ badge.label }}</span>\n </eui-badge>\n </ng-container>\n\n <!--chips area-->\n <ng-container *ngFor=\"let chip of node.treeContentBlock.rightContent?.chips\">\n <eui-chip\n euiSizeS\n [euiVariant]=\"chip.typeClass || 'secondary'\"\n [euiOutline]=\"chip.isOutline\"\n class=\"eui-chip--rounded eui-u-mb-none eui-u-ml-xs\">\n <span euiLabel>{{ chip.label }}</span>\n </eui-chip>\n </ng-container>\n\n <!--Context menu-->\n <ng-container *ngIf=\"node.treeContentBlock.rightContent?.contextMenuMetaData && rightContextMenuTemplateRef\">\n <eui-dropdown class=\"eui-u-ml-xs\">\n <button euiButton euiSizeS euiRounded euiIconButton euiBasicButton euiSecondary [attr.aria-label]=\"'Options menu'\">\n <eui-icon-svg icon=\"ellipsis-vertical:sharp\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n <ng-template\n [ngTemplateOutlet]=\"rightContextMenuTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: node?.treeContentBlock?.rightContent?.contextMenuMetaData,\n metadata: node?.treeContentBlock?.rightContent?.contextMenuMetaData\n }\">\n </ng-template>\n </eui-dropdown-content>\n </eui-dropdown>\n </ng-container>\n </div>\n\n <!--metadata, uses the help of ng template to generate dynamic expand variable without handling state -->\n <ng-container\n *ngIf=\"node.treeContentBlock?.metadata && nodeContentMetadataTemplateRef\"\n [ngTemplateOutlet]=\"nodeContentMetadataContainer\"\n [ngTemplateOutletContext]=\"{\n $implicit: { expanded: false }\n }\">\n </ng-container>\n <ng-template #nodeContentMetadataContainer let-metaDataContainer>\n <button\n euiButton\n euiBasicButton\n euiIconButton\n euiRounded\n euiSizeS\n type=\"button\"\n aria-label=\"expand collapse tree item\"\n (click)=\"metaDataContainer.expanded = !metaDataContainer.expanded\">\n <eui-icon-svg [icon]=\"metaDataContainer.expanded ? 'chevron-down:sharp' : 'chevron-forward:sharp'\"></eui-icon-svg>\n </button>\n <div *ngIf=\"metaDataContainer.expanded\" class=\"eui-tree-node__metacontent\">\n <!--passing metadata of the node content to provided template-ref:nodeContentMetadataTemplateRef-->\n <ng-template\n [ngTemplateOutlet]=\"nodeContentMetadataTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: node?.treeContentBlock?.metadata,\n metadata: node?.treeContentBlock?.metadata\n }\">\n </ng-template>\n </div>\n </ng-template>\n </ng-container>\n</ng-template>\n", styles: [".eui-19 .eui-tree{display:flex;overflow-x:hidden;overflow-y:auto;position:relative;width:100%}.eui-19 .eui-tree .eui-tree__wrapper{display:flex;list-style:none;margin:0;overflow-y:auto;padding:var(--eui-s-2xs);position:relative;width:100%}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-c-neutral-bg-light)}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-c-neutral-lightest);border-radius:5rem}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-19 .eui-tree .eui-tree__wrapper::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}@-moz-document url-prefix(){.eui-19 .eui-tree .eui-tree__wrapper{scrollbar-color:var(--eui-c-neutral-lighter) var(--eui-c-neutral-bg-light);scrollbar-width:auto}}.eui-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree{display:flex;flex-direction:column;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node{display:flex;width:auto}.eui-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node:not(.eui-cdk-nested-tree-node--with-child){padding-inline-start:var(--eui-s-xl)}.eui-19 .eui-tree .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node--with-child{display:flex;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node{display:flex;flex-direction:column;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node__metacontent{display:flex}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node__button{margin-left:calc(-3 * var(--eui-s-2xs))}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper{align-items:center;display:flex;min-height:var(--eui-s-2xl);width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper:hover{background-color:var(--eui-c-neutral-bg-light)}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container{align-items:center;display:flex;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-left{align-items:center;display:flex;justify-content:flex-start}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-middle{align-items:center;display:flex;justify-content:flex-start;overflow:hidden;width:100%}.eui-19 .eui-tree .eui-tree__wrapper .eui-tree-node-wrapper__container-right{align-items:center;display:flex;justify-content:flex-end;margin-left:auto}.eui-19 .eui-tree:not(.eui-tree--with-children) .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node{padding-inline-start:2px}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep{padding-inline-start:var(--eui-s-2xs)}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep:before{border-left:1px solid var(--eui-c-neutral-lightest);content:\"\";height:calc(100% - var(--eui-s-m) - var(--eui-s-xl));position:absolute;top:var(--eui-s-xl)}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-ul-rep:first-child:before{height:calc(100% - var(--eui-s-m) - var(--eui-s-2xs));top:0}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep{padding-inline-start:var(--eui-s-s);position:relative}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep:before:not(.eui-tree-node--first){border-top:1px solid var(--eui-c-neutral-lightest);content:\"\";display:block;height:0;left:0;position:absolute;top:var(--eui-s-m);width:var(--eui-s-xl)}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node:not(.eui-tree-node--with-child):before{position:relative;left:0;display:inline-flex;width:var(--eui-s-2xl);border-bottom:1px solid var(--eui-c-neutral-lightest);content:\"\";margin-left:calc(-2 * var(--eui-s-l) + var(--eui-s-2xs));top:var(--eui-s-m)}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node.eui-tree-node--with-child:before{position:absolute;left:calc(1 * var(--eui-s-2xl) + var(--eui-s-2xs));display:inline-flex;width:var(--eui-s-s);border-bottom:1px solid var(--eui-c-neutral-lightest);border-left:1px solid var(--eui-c-neutral-lightest);content:\"\";margin-left:calc(-2 * var(--eui-s-l) + var(--eui-s-2xs));top:var(--eui-s-m)}.eui-19 .eui-tree.eui-tree--show-lines.eui-tree--with-children div.eui-li-rep.eui-tree-node--last:before{height:auto;top:var(--eui-s-m)}.eui-19 .eui-tree:not(.eui-tree--show-lines) .eui-tree__wrapper .eui-cdk-tree .eui-cdk-nested-tree-node:not(.eui-cdk-nested-tree-node--with-child){padding-inline-start:var(--eui-s-3xl)}.eui-19 .eui-tree:not(.eui-tree--show-lines).eui-tree--with-children div.eui-ul-rep{padding-inline-start:var(--eui-s-m)}\n"] }]
952
952
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.ScrollDispatcher }], propDecorators: { cssClasses: [{
953
953
  type: HostBinding,
954
954
  args: ['class']
@@ -967,10 +967,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
967
967
  type: Input
968
968
  }], customNodeSelectFn: [{
969
969
  type: Input
970
- }], expandedIconClass: [{
971
- type: Input
972
- }], collapsedIconClass: [{
973
- type: Input
974
970
  }], expandedSvgIconClass: [{
975
971
  type: Input
976
972
  }], collapsedSvgIconClass: [{