@eui/components 18.0.0-next.63 → 18.0.0-next.64

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 (143) hide show
  1. package/docs/components/CollapsedBreadcrumbComponent.html +1 -1
  2. package/docs/components/EuiAppSidebarHeaderUserProfileComponent.html +1 -1
  3. package/docs/components/EuiAppTopMessageComponent.html +1 -1
  4. package/docs/components/EuiBreadcrumbItemComponent.html +1 -1
  5. package/docs/components/EuiCardFooterMenuContentComponent.html +1 -1
  6. package/docs/components/EuiCardHeaderComponent.html +1 -1
  7. package/docs/components/EuiChipListComponent.html +1 -1
  8. package/docs/components/EuiDialogContainerComponent.html +1 -1
  9. package/docs/components/EuiDiscussionThreadItemComponent.html +1 -1
  10. package/docs/components/EuiDropdownItemComponent.html +1 -1
  11. package/docs/components/EuiEditorComponent.html +1 -1
  12. package/docs/components/EuiFilePreviewComponent.html +1 -1
  13. package/docs/components/EuiGrowlComponent.html +1 -1
  14. package/docs/components/EuiIconButtonExpanderComponent.html +1 -1
  15. package/docs/components/EuiListItemComponent.html +1 -1
  16. package/docs/components/EuiMenuComponent.html +1 -1
  17. package/docs/components/EuiMenuItemComponent.html +1 -1
  18. package/docs/components/EuiNotificationItemComponent.html +1 -1
  19. package/docs/components/EuiNotificationItemV2Component.html +1 -1
  20. package/docs/components/EuiNotificationsComponent.html +1 -1
  21. package/docs/components/EuiNotificationsV2Component.html +1 -1
  22. package/docs/components/EuiOverlayHeaderTitleComponent.html +1 -1
  23. package/docs/components/EuiPageColumnComponent.html +1 -1
  24. package/docs/components/EuiPageHeaderComponent.html +1 -1
  25. package/docs/components/EuiPaginatorComponent.html +1 -1
  26. package/docs/components/EuiPopoverComponent.html +1 -1
  27. package/docs/components/EuiSearchComponent.html +1 -1
  28. package/docs/components/EuiTableFilterComponent.html +1 -1
  29. package/docs/components/EuiTableSortableColComponent.html +1 -1
  30. package/docs/components/EuiTableV2FilterComponent.html +1 -1
  31. package/docs/components/EuiTableV2SortableColComponent.html +1 -1
  32. package/docs/components/EuiTabsComponent.html +1 -1
  33. package/docs/components/EuiTimebarComponent.html +1 -1
  34. package/docs/components/EuiTimepickerComponent.html +1 -1
  35. package/docs/components/EuiToolbarMenuComponent.html +1 -1
  36. package/docs/components/EuiToolbarNavbarComponent.html +1 -1
  37. package/docs/components/EuiTreeComponent.html +3 -3
  38. package/docs/components/EuiTreeListToolbarComponent.html +1 -1
  39. package/docs/components/EuiUserProfileCardComponent.html +1 -1
  40. package/docs/components/EuiUserProfileComponent.html +1 -1
  41. package/docs/components/EuiWizardComponent.html +1 -1
  42. package/docs/dependencies.html +1 -1
  43. package/docs/js/menu-wc.js +3 -3
  44. package/docs/js/menu-wc_es5.js +1 -1
  45. package/docs/js/search/search_index.js +2 -2
  46. package/esm2022/eui-card/components/eui-card-footer/eui-card-footer-menu-content.component.mjs +3 -3
  47. package/esm2022/eui-card/components/eui-card-header/eui-card-header.component.mjs +3 -3
  48. package/esm2022/eui-card/eui-card.component.mjs +2 -2
  49. package/esm2022/eui-chip-list/eui-chip-list.component.mjs +3 -3
  50. package/esm2022/eui-dialog/container/eui-dialog-container.component.mjs +3 -3
  51. package/esm2022/eui-dialog/eui-dialog.component.mjs +2 -2
  52. package/esm2022/eui-discussion-thread/eui-discussion-thread-item.component.mjs +3 -3
  53. package/esm2022/eui-dropdown/dropdown-item/eui-dropdown-item.component.mjs +3 -3
  54. package/esm2022/eui-file-upload/file-preview/file-preview.component.mjs +3 -3
  55. package/esm2022/eui-growl/eui-growl.component.mjs +3 -3
  56. package/esm2022/eui-icon/eui-icon-button-expander/eui-icon-button-expander.component.mjs +3 -3
  57. package/esm2022/eui-icon/eui-icon-svg.component.mjs +2 -2
  58. package/esm2022/eui-list/eui-list-item/eui-list-item.component.mjs +3 -3
  59. package/esm2022/eui-list/eui-list.component.mjs +2 -2
  60. package/esm2022/eui-menu/eui-menu-item.component.mjs +3 -3
  61. package/esm2022/eui-menu/eui-menu.component.mjs +3 -3
  62. package/esm2022/eui-overlay/components/eui-overlay-header/eui-overlay-header-title/eui-overlay-header-title.component.mjs +3 -3
  63. package/esm2022/eui-page/components/eui-page-column/eui-page-column.component.mjs +3 -3
  64. package/esm2022/eui-page/components/eui-page-header/eui-page-header.component.mjs +3 -3
  65. package/esm2022/eui-paginator/eui-paginator.component.mjs +3 -3
  66. package/esm2022/eui-popover/eui-popover.component.mjs +3 -3
  67. package/esm2022/eui-table/filter/eui-table-filter.component.mjs +3 -3
  68. package/esm2022/eui-table/sortable-col/eui-table-sortable-col.component.mjs +3 -3
  69. package/esm2022/eui-table-v2/filter/eui-table-v2-filter.component.mjs +3 -3
  70. package/esm2022/eui-table-v2/sortable-col/eui-table-v2-sortable-col.component.mjs +3 -3
  71. package/esm2022/eui-tabs/eui-tabs.component.mjs +3 -3
  72. package/esm2022/eui-timebar/eui-timebar.component.mjs +3 -3
  73. package/esm2022/eui-timepicker/eui-timepicker.component.mjs +3 -3
  74. package/esm2022/eui-tree/eui-tree.component.mjs +5 -5
  75. package/esm2022/eui-tree-list/toolbar/toolbar.component.mjs +3 -3
  76. package/esm2022/eui-user-profile/user-profile-card/user-profile-card.component.mjs +3 -3
  77. package/esm2022/eui-user-profile/user-profile.component.mjs +3 -3
  78. package/esm2022/eui-wizard/eui-wizard.component.mjs +3 -3
  79. package/esm2022/externals/eui-editor/eui-editor.component.mjs +3 -3
  80. package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-header-user-profile/sidebar-header-user-profile.component.mjs +3 -3
  81. package/esm2022/layout/eui-app/eui-app-top-message/top-message.component.mjs +3 -3
  82. package/esm2022/layout/eui-breadcrumb/collapsed-breadcrumb/collapsed-breadcrumb.component.mjs +3 -3
  83. package/esm2022/layout/eui-breadcrumb/item/breadcrumb-item.component.mjs +3 -3
  84. package/esm2022/layout/eui-notifications/eui-notification-item.component.mjs +3 -3
  85. package/esm2022/layout/eui-notifications/eui-notifications.component.mjs +3 -3
  86. package/esm2022/layout/eui-notifications-v2/eui-notification-item.component.mjs +3 -3
  87. package/esm2022/layout/eui-notifications-v2/eui-notifications.component.mjs +3 -3
  88. package/esm2022/layout/eui-search/search.component.mjs +3 -3
  89. package/esm2022/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.mjs +3 -3
  90. package/esm2022/layout/eui-toolbar/toolbar-navbar/toolbar-navbar.component.mjs +3 -3
  91. package/eui-list/eui-list-item/eui-list-item.component.d.ts +1 -1
  92. package/eui-tree/eui-tree.component.d.ts.map +1 -1
  93. package/fesm2022/eui-components-eui-card.mjs +6 -6
  94. package/fesm2022/eui-components-eui-card.mjs.map +2 -2
  95. package/fesm2022/eui-components-eui-chip-list.mjs +4 -4
  96. package/fesm2022/eui-components-eui-chip-list.mjs.map +1 -1
  97. package/fesm2022/eui-components-eui-dialog.mjs +18 -18
  98. package/fesm2022/eui-components-eui-dialog.mjs.map +2 -2
  99. package/fesm2022/eui-components-eui-discussion-thread.mjs +8 -8
  100. package/fesm2022/eui-components-eui-discussion-thread.mjs.map +1 -1
  101. package/fesm2022/eui-components-eui-dropdown.mjs +2 -2
  102. package/fesm2022/eui-components-eui-dropdown.mjs.map +2 -2
  103. package/fesm2022/eui-components-eui-file-upload.mjs +2 -2
  104. package/fesm2022/eui-components-eui-file-upload.mjs.map +2 -2
  105. package/fesm2022/eui-components-eui-growl.mjs +2 -2
  106. package/fesm2022/eui-components-eui-growl.mjs.map +1 -1
  107. package/fesm2022/eui-components-eui-icon.mjs +10 -10
  108. package/fesm2022/eui-components-eui-icon.mjs.map +2 -2
  109. package/fesm2022/eui-components-eui-list.mjs +4 -4
  110. package/fesm2022/eui-components-eui-list.mjs.map +2 -2
  111. package/fesm2022/eui-components-eui-menu.mjs +18 -18
  112. package/fesm2022/eui-components-eui-menu.mjs.map +2 -2
  113. package/fesm2022/eui-components-eui-overlay.mjs +2 -2
  114. package/fesm2022/eui-components-eui-overlay.mjs.map +2 -2
  115. package/fesm2022/eui-components-eui-page.mjs +4 -4
  116. package/fesm2022/eui-components-eui-page.mjs.map +2 -2
  117. package/fesm2022/eui-components-eui-paginator.mjs +8 -8
  118. package/fesm2022/eui-components-eui-paginator.mjs.map +1 -1
  119. package/fesm2022/eui-components-eui-popover.mjs +2 -2
  120. package/fesm2022/eui-components-eui-popover.mjs.map +2 -2
  121. package/fesm2022/eui-components-eui-table-v2.mjs +8 -8
  122. package/fesm2022/eui-components-eui-table-v2.mjs.map +1 -1
  123. package/fesm2022/eui-components-eui-table.mjs +14 -14
  124. package/fesm2022/eui-components-eui-table.mjs.map +1 -1
  125. package/fesm2022/eui-components-eui-tabs.mjs +2 -2
  126. package/fesm2022/eui-components-eui-tabs.mjs.map +2 -2
  127. package/fesm2022/eui-components-eui-timebar.mjs +6 -6
  128. package/fesm2022/eui-components-eui-timebar.mjs.map +1 -1
  129. package/fesm2022/eui-components-eui-timepicker.mjs +12 -12
  130. package/fesm2022/eui-components-eui-timepicker.mjs.map +1 -1
  131. package/fesm2022/eui-components-eui-tree-list.mjs +6 -6
  132. package/fesm2022/eui-components-eui-tree-list.mjs.map +1 -1
  133. package/fesm2022/eui-components-eui-tree.mjs +6 -6
  134. package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
  135. package/fesm2022/eui-components-eui-user-profile.mjs +4 -4
  136. package/fesm2022/eui-components-eui-user-profile.mjs.map +2 -2
  137. package/fesm2022/eui-components-eui-wizard.mjs +2 -2
  138. package/fesm2022/eui-components-eui-wizard.mjs.map +2 -2
  139. package/fesm2022/eui-components-externals-eui-editor.mjs +8 -8
  140. package/fesm2022/eui-components-externals-eui-editor.mjs.map +1 -1
  141. package/fesm2022/eui-components-layout.mjs +36 -36
  142. package/fesm2022/eui-components-layout.mjs.map +2 -2
  143. package/package.json +21 -21
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../eui-timepicker/eui-timepicker.component.ts", "../../eui-timepicker/eui-timepicker.component.html", "../../eui-timepicker/eui-timepicker.module.ts"],
4
- "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 } 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})\nexport class EuiTimepickerComponent implements ControlValueAccessor, OnInit, OnChanges, DoCheck, OnDestroy {\n hours: number;\n mins: number;\n secs: number;\n isDatetimepicker: boolean;\n oneInputFormControl = new FormControl();\n oneInputHours: string;\n oneInputMins: string;\n oneInputSecs: string;\n\n public hoursUpDisabled = false;\n public hoursDownDisabled = false;\n public minutesUpDisabled = false;\n public minutesDownDisabled = false;\n public secondsUpDisabled = false;\n public secondsDownDisabled = false;\n\n @Input() e2eAttr = 'eui-timepicker';\n\n @Input() timeMask = 'Hh:m0'\n @Input() placeholder = this.timeMask;\n\n @Input() stepHours = 1;\n @Input() stepMinutes = 1;\n @Input() stepSeconds = 1;\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 this.control?.touched ? this.oneInputFormControl.markAsTouched() : this.oneInputFormControl.markAsUntouched();\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 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=\"eui-chevron-up\"\n fillColor=\"neutral-light\"\n size=\"l\"\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=\"eui-chevron-down\"\n fillColor=\"neutral-light\"\n size=\"l\"\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=\"eui-chevron-up\"\n fillColor=\"neutral-light\"\n size=\"l\"\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=\"eui-chevron-down\"\n fillColor=\"neutral-light\"\n size=\"l\"\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=\"eui-chevron-up\"\n fillColor=\"neutral-light\"\n size=\"l\"\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=\"eui-chevron-down\"\n fillColor=\"neutral-light\"\n size=\"l\"\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"],
4
+ "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 } 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})\nexport class EuiTimepickerComponent implements ControlValueAccessor, OnInit, OnChanges, DoCheck, OnDestroy {\n hours: number;\n mins: number;\n secs: number;\n isDatetimepicker: boolean;\n oneInputFormControl = new FormControl();\n oneInputHours: string;\n oneInputMins: string;\n oneInputSecs: string;\n\n public hoursUpDisabled = false;\n public hoursDownDisabled = false;\n public minutesUpDisabled = false;\n public minutesDownDisabled = false;\n public secondsUpDisabled = false;\n public secondsDownDisabled = false;\n\n @Input() e2eAttr = 'eui-timepicker';\n\n @Input() timeMask = 'Hh:m0'\n @Input() placeholder = this.timeMask;\n\n @Input() stepHours = 1;\n @Input() stepMinutes = 1;\n @Input() stepSeconds = 1;\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 this.control?.touched ? this.oneInputFormControl.markAsTouched() : this.oneInputFormControl.markAsUntouched();\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 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=\"l\"\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=\"l\"\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=\"l\"\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=\"l\"\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=\"l\"\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=\"l\"\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"],
5
5
  "mappings": "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",
6
6
  "names": ["NgxMaskDirective"]
7
7
  }
@@ -399,17 +399,17 @@ var EuiTreeListToolbarComponent = class _EuiTreeListToolbarComponent {
399
399
  this.ɵcmp = i03.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-rc.1", type: _EuiTreeListToolbarComponent, selector: "eui-tree-list-toolbar", inputs: { isVisible: "isVisible", filterLabel: "filterLabel", expandAllLabel: "expandAllLabel", collapseAllLabel: "collapseAllLabel", isFilterVisible: "isFilterVisible", isToggleVisible: "isToggleVisible", isToggleExpanded: "isToggleExpanded", filterValue: "filterValue", hasLabels: "hasLabels", e2eAttr: "e2eAttr" }, outputs: { filter: "filter", expandAll: "expandAll", collapseAll: "collapseAll" }, usesOnChanges: true, ngImport: i03, template: `<div *ngIf="isVisible" euiInputGroup class="eui-tree-list-toolbar">
400
400
  <div class="eui-input-group-addon">
401
401
  <div class="eui-input-group-addon-item">
402
- <eui-icon-svg icon="eui-search"></eui-icon-svg>
402
+ <eui-icon-svg icon="eui-ecl-search"></eui-icon-svg>
403
403
  </div>
404
404
  <input euiInputText euiClearable [(ngModel)]="filterValue" [placeholder]="filterLabel" (ngModelChange)="onFilter()"/>
405
405
 
406
406
  <button *ngIf="!isToggleExpanded" euiButton euiSecondary euiOutline (click)="onExpandAll($event)" [euiIconButton]="expandAllLabel === ''">
407
407
  <span euiLabel *ngIf="expandAllLabel !== ''">{{ expandAllLabel }}</span>
408
- <eui-icon-svg icon="eui-level-down"></eui-icon-svg>
408
+ <eui-icon-svg icon="return-down-forward"></eui-icon-svg>
409
409
  </button>
410
410
  <button *ngIf="isToggleExpanded" euiButton euiSecondary euiOutline (click)="onCollapseAll($event)" [euiIconButton]="collapseAllLabel === ''">
411
411
  <span euiLabel *ngIf="collapseAllLabel !== ''">{{ collapseAllLabel }}</span>
412
- <eui-icon-svg icon="eui-level-up"></eui-icon-svg>
412
+ <eui-icon-svg icon="return-up-forward"></eui-icon-svg>
413
413
  </button>
414
414
  </div>
415
415
  </div>
@@ -421,17 +421,17 @@ i03.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", n
421
421
  args: [{ selector: "eui-tree-list-toolbar", encapsulation: ViewEncapsulation3.None, template: `<div *ngIf="isVisible" euiInputGroup class="eui-tree-list-toolbar">
422
422
  <div class="eui-input-group-addon">
423
423
  <div class="eui-input-group-addon-item">
424
- <eui-icon-svg icon="eui-search"></eui-icon-svg>
424
+ <eui-icon-svg icon="eui-ecl-search"></eui-icon-svg>
425
425
  </div>
426
426
  <input euiInputText euiClearable [(ngModel)]="filterValue" [placeholder]="filterLabel" (ngModelChange)="onFilter()"/>
427
427
 
428
428
  <button *ngIf="!isToggleExpanded" euiButton euiSecondary euiOutline (click)="onExpandAll($event)" [euiIconButton]="expandAllLabel === ''">
429
429
  <span euiLabel *ngIf="expandAllLabel !== ''">{{ expandAllLabel }}</span>
430
- <eui-icon-svg icon="eui-level-down"></eui-icon-svg>
430
+ <eui-icon-svg icon="return-down-forward"></eui-icon-svg>
431
431
  </button>
432
432
  <button *ngIf="isToggleExpanded" euiButton euiSecondary euiOutline (click)="onCollapseAll($event)" [euiIconButton]="collapseAllLabel === ''">
433
433
  <span euiLabel *ngIf="collapseAllLabel !== ''">{{ collapseAllLabel }}</span>
434
- <eui-icon-svg icon="eui-level-up"></eui-icon-svg>
434
+ <eui-icon-svg icon="return-up-forward"></eui-icon-svg>
435
435
  </button>
436
436
  </div>
437
437
  </div>
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../eui-tree-list/item-content/item-content.component.ts", "../../eui-tree-list/eui-tree-list-item.component.ts", "../../eui-tree-list/eui-tree-list-item.component.html", "../../eui-tree-list/toolbar/toolbar.component.ts", "../../eui-tree-list/toolbar/toolbar.component.html", "../../eui-tree-list/eui-tree-list.component.ts", "../../eui-tree-list/eui-tree-list.component.html", "../../eui-tree-list/eui-tree-list.module.ts"],
4
- "sourcesContent": ["import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'eui-tree-list-item-content',\n template: '<ng-content></ng-content>',\n})\nexport class EuiTreeListItemContentComponent {\n @HostBinding('class') string = 'eui-tree-list-item-content';\n}\n", "import {\n AfterContentInit,\n booleanAttribute,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Host,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { UxLinkLegacy } from '@eui/base';\n\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport { consumeEvent, uniqueId } from '@eui/core';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n@Component({\n selector: 'eui-tree-list-item',\n templateUrl: './eui-tree-list-item.component.html',\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: ['euiPrimary', 'euiSecondary', 'euiInfo', 'euiSuccess', 'euiWarning', 'euiDanger', 'euiAccent', 'euiVariant'],\n },\n ],\n})\nexport class EuiTreeListItemComponent implements AfterContentInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return this.getCssClasses();\n }\n @HostBinding('attr.tabindex') tabIndex = '0';\n @HostBinding('attr.role') protected ariaRole = 'treeitem';\n\n @HostBinding('attr.id') @Input() id: string;\n @HostBinding('attr.aria-label') @Input() ariaLabel: string;\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-tree-list-item';\n\n @Input() label: string;\n @Input() linkUrl: string;\n @Input() subLabel: string;\n @Input() url: string;\n @Input() subLinks: UxLinkLegacy[] = [];\n\n @Input({ transform: booleanAttribute }) isActive = false;\n @Input({ transform: booleanAttribute }) isExpanded = false;\n @Input({ transform: booleanAttribute }) isAlwaysExpanded = false;\n @Input({ transform: booleanAttribute }) isVisible = true;\n @Input({ transform: booleanAttribute }) isDisplaySubLinksOnHover = false;\n @Input({ transform: booleanAttribute }) isNavigateOnlyOnLabelClick = false;\n\n @Output() toggled = new EventEmitter<EuiTreeListItemComponent>();\n\n isHovered = false;\n treeListComponent: EuiTreeListComponent;\n\n // tree states\n hasSub = false;\n\n // custom content\n hasCustomContent = false;\n\n @ViewChild('focusable') focusable: ElementRef<HTMLDivElement>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemLabelTagDirective))\n customLabel: QueryList<EuiTreeListItemLabelTagDirective>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemDetailsContentTagDirective))\n customDetailContent: QueryList<EuiTreeListItemDetailsContentTagDirective>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemSubContainerContentTagDirective))\n customSubContainerContent: QueryList<EuiTreeListItemSubContainerContentTagDirective>;\n\n @ContentChildren(forwardRef(() => EuiTreeListComponent), { descendants: true })\n subTreeList: QueryList<EuiTreeListComponent>;\n\n @ContentChildren(forwardRef(() => EuiTreeListItemContentComponent), { descendants: false })\n customContent: QueryList<EuiTreeListItemContentComponent>;\n\n constructor(\n @Host() @Optional() @Inject(forwardRef(() => EuiTreeListComponent)) treeListComponent,\n private router: Router,\n protected elementRef: ElementRef,\n public baseStatesDirective: BaseStatesDirective,\n ) {\n this.treeListComponent = treeListComponent as EuiTreeListComponent;\n }\n\n ngAfterContentInit(): void {\n if (!this.ariaLabel) {\n this.ariaLabel = this.label ? this.label : 'Custom content';\n }\n\n // make sure that the tree item can be aria-owned by a parent tree for WAI-ARIA attributes:\n if (!this.id) {\n this.id = uniqueId();\n }\n\n // setting tree states\n if (this.subTreeList.length !== 0) {\n this.hasSub = true;\n }\n\n // checking if customContent set\n if (this.customContent.length !== 0) {\n this.hasCustomContent = true;\n }\n\n // make sure that any child tree-list is non-focusable and that it has the role of a WAI-ARIA group:\n if (this.subTreeList) {\n this.subTreeList.forEach((subtree: EuiTreeListComponent) => {\n subtree.disableFocus();\n subtree.ariaRoleTree = 'group';\n });\n }\n }\n\n toggle(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n this.isExpanded = !this.isExpanded;\n this.toggled.next(this);\n }\n\n onKeyDown(event: KeyboardEvent): void {\n switch (event.keyCode) {\n case 13: // ENTER\n case 32: // SPACE\n this.isExpanded = !this.isExpanded;\n consumeEvent(event);\n break;\n case 37: // ARROW LEFT\n this.isExpanded = false;\n consumeEvent(event);\n break;\n case 38: // ARROW UP\n if (this.treeListComponent) {\n if (this.treeListComponent.focusOnPreviousTreeItem(this)) {\n this.disableFocus();\n }\n }\n\n consumeEvent(event);\n break;\n case 39: // ARROW RIGHT\n this.isExpanded = true;\n consumeEvent(event);\n break;\n case 40: // ARROW DOWN\n if (this.focusOnNextTreeItem()) {\n this.disableFocus();\n }\n\n consumeEvent(event);\n break;\n }\n }\n\n public setVisibleState(state: boolean): void {\n this.isVisible = state;\n\n if (this.subTreeList && this.subTreeList.length !== 0) {\n this.subTreeList.toArray().forEach((item) => {\n item.setVisibleState(state);\n });\n }\n }\n\n public setExpandedState(state: boolean): void {\n this.isExpanded = state;\n\n if (this.subTreeList.length !== 0) {\n this.subTreeList.toArray().forEach((item) => {\n item.setExpandedState(state);\n });\n }\n }\n\n public focus(): void {\n if (this.focusable) {\n this.enableFocus();\n this.focusable.nativeElement.focus();\n }\n if (this.treeListComponent) {\n this.treeListComponent.disableFocus();\n }\n }\n\n public focusOnLastExpandedTreeItem(): void {\n const lastExpanded = this.elementRef.nativeElement.querySelectorAll('.eui-tree-list-item-header__content');\n if (lastExpanded && lastExpanded.length > 0) {\n const element = lastExpanded[lastExpanded.length - 1];\n element.setAttribute('tabindex', '0');\n element.focus();\n } else {\n this.focus();\n }\n }\n\n protected focusOnNextTreeItem(): boolean {\n if (this.isExpanded && this.subTreeList && this.subTreeList.length > 0) {\n this.subTreeList.first.focus();\n return true;\n } else if (this.treeListComponent) {\n return this.treeListComponent.focusOnNextTreeItem(this);\n }\n\n return false;\n }\n\n protected disableFocus(): void {\n if (this.focusable) {\n this.focusable.nativeElement.setAttribute('tabindex', '-1');\n }\n }\n\n protected enableFocus(): void {\n if (this.focusable) {\n this.focusable.nativeElement.setAttribute('tabindex', '0');\n }\n }\n\n private getCssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-tree-list-item'),\n this.isActive ? 'eui-tree-list-item--active' : '',\n !this.isVisible ? 'eui-tree-list-item--hidden' : '',\n ]\n .join(' ')\n .trim();\n }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-tree-list-item-label' })\nexport class EuiTreeListItemLabelTagDirective {}\n@Directive({ selector: 'eui-tree-list-item-details' })\nexport class EuiTreeListItemDetailsContentTagDirective {}\n@Directive({ selector: 'eui-tree-list-item-sub-container' })\nexport class EuiTreeListItemSubContainerContentTagDirective {}\n/* eslint-enable */\n", "<div class=\"eui-tree-list-item-header\">\n <div\n #focusable\n class=\"eui-tree-list-item-header__content\"\n (keydown)=\"onKeyDown($event)\"\n attr.aria-label=\"{{ label }} {{ subLabel }}\">\n\n <ng-container *ngIf=\"hasCustomContent; else noCustomContent\">\n <ng-content select=\"eui-tree-list-item-content\"></ng-content>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n </ng-container>\n\n <ng-template #noCustomContent>\n <div class=\"eui-u-flex\">\n <eui-label *ngIf=\"!customLabel\">\n {{label}}\n <eui-label *ngIf=\"subLabel\" euiSublabel>{{subLabel}}</eui-label>\n </eui-label>\n\n <eui-label *ngIf=\"customLabel\">\n <div class=\"eui-u-flex\">\n <ng-content select=\"eui-tree-list-item-label\"></ng-content>\n </div>\n </eui-label>\n </div>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n </ng-template>\n </div>\n\n <ng-container *ngIf=\"customDetailContent\">\n <div class=\"eui-tree-list-item-header__details-content\">\n <ng-content select=\"eui-tree-list-item-details\"></ng-content>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"customSubContainerContent\">\n <ng-content select=\"eui-tree-list-item-sub-container\"></ng-content>\n </ng-container>\n</div>\n\n<ng-template [ngIf]=\"isExpanded || isAlwaysExpanded\">\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #rightContent>\n <div class=\"eui-tree-list-item-header__content-right-content\">\n <div class=\"eui-tree-list-item-header__content-expand-toggle-wrapper\">\n <eui-icon-button-expander *ngIf=\"hasSub && !isAlwaysExpanded\"\n (buttonClick)=\"toggle($event)\"\n [isExpanded]=\"isExpanded\"\n isDirectionForward>\n </eui-icon-button-expander>\n </div>\n </div>\n</ng-template>\n", "/* eslint-disable */\nimport {\n Component,\n Directive,\n Input,\n Output,\n EventEmitter,\n OnInit,\n OnChanges,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\n@Component({\n selector: 'eui-tree-list-toolbar',\n templateUrl: './toolbar.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTreeListToolbarComponent implements OnInit, OnChanges {\n @Input()\n get isVisible(): boolean {\n return this._isVisible;\n }\n set isVisible(value: BooleanInput) {\n this._isVisible = coerceBooleanProperty(value);\n }\n @Input() filterLabel: string;\n @Input() expandAllLabel: string;\n @Input() collapseAllLabel: string;\n @Input()\n get isFilterVisible(): boolean {\n return this._isFilterVisible;\n }\n set isFilterVisible(value: BooleanInput) {\n this._isFilterVisible = coerceBooleanProperty(value);\n }\n @Input()\n get isToggleVisible(): boolean {\n return this._isToggleVisible;\n }\n set isToggleVisible(value: BooleanInput) {\n this._isToggleVisible = coerceBooleanProperty(value);\n }\n @Input()\n get isToggleExpanded(): boolean {\n return this._isToggleExpanded;\n }\n set isToggleExpanded(value: BooleanInput) {\n this._isToggleExpanded = coerceBooleanProperty(value);\n }\n @Input() filterValue: string = '';\n @Input()\n get hasLabels(): boolean {\n return this._hasLabels;\n }\n set hasLabels(value: BooleanInput) {\n this._hasLabels = coerceBooleanProperty(value);\n }\n @Input() e2eAttr: string = 'eui-tree-list-toolbar';\n @Output() filter = new EventEmitter<string>();\n\n @Output() expandAll = new EventEmitter<MouseEvent>();\n @Output() collapseAll = new EventEmitter<MouseEvent>();\n private _isVisible: boolean = false;\n private _isFilterVisible: boolean = true;\n private _isToggleVisible: boolean = true;\n private _isToggleExpanded: boolean = false;\n private _hasLabels: boolean = true;\n\n ngOnInit(): void {\n if (this.filterValue !== '' && this.filterValue !== undefined) {\n this.filter.emit(this.filterValue);\n }\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.filterValue && this.filterValue !== undefined) {\n this.filter.emit(this.filterValue);\n }\n }\n\n /**\n * @deprecated\n * @param event\n */\n // public onFilter(event: string): void;\n public onFilter(): void {\n // console.log('test');\n // console.log(this.filterValue);\n if (this.filterValue === '') {\n if (!this.isToggleExpanded) {\n this.collapseAll.emit(null);\n }\n }\n this.filter.emit(this.filterValue);\n }\n\n public onExpandAll(event: MouseEvent): void {\n this.isToggleExpanded = !this.isToggleExpanded;\n this.expandAll.emit(event);\n }\n\n public onCollapseAll(event: MouseEvent): void {\n this.isToggleExpanded = !this.isToggleExpanded;\n this.collapseAll.emit(event);\n }\n}\n\n@Directive({ selector: 'EuiTreeListToolbarButtons' })\nexport class EuiUxTreeToolbarButtonsTagDirective { }\n\n/* eslint-enable */\n", "<div *ngIf=\"isVisible\" euiInputGroup class=\"eui-tree-list-toolbar\">\n <div class=\"eui-input-group-addon\">\n <div class=\"eui-input-group-addon-item\">\n <eui-icon-svg icon=\"eui-search\"></eui-icon-svg>\n </div>\n <input euiInputText euiClearable [(ngModel)]=\"filterValue\" [placeholder]=\"filterLabel\" (ngModelChange)=\"onFilter()\"/>\n\n <button *ngIf=\"!isToggleExpanded\" euiButton euiSecondary euiOutline (click)=\"onExpandAll($event)\" [euiIconButton]=\"expandAllLabel === ''\">\n <span euiLabel *ngIf=\"expandAllLabel !== ''\">{{ expandAllLabel }}</span>\n <eui-icon-svg icon=\"eui-level-down\"></eui-icon-svg>\n </button>\n <button *ngIf=\"isToggleExpanded\" euiButton euiSecondary euiOutline (click)=\"onCollapseAll($event)\" [euiIconButton]=\"collapseAllLabel === ''\">\n <span euiLabel *ngIf=\"collapseAllLabel !== ''\">{{ collapseAllLabel }}</span>\n <eui-icon-svg icon=\"eui-level-up\"></eui-icon-svg>\n </button>\n </div>\n</div>\n", "import {\n Component,\n Input,\n Output,\n EventEmitter,\n ContentChildren,\n QueryList,\n forwardRef,\n AfterViewInit,\n OnChanges,\n SimpleChanges,\n ElementRef,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\nimport { EuiTreeListItemComponent } from './eui-tree-list-item.component';\n\nexport interface EuiTreeListFilterParams {\n readonly level: number;\n readonly item: EuiTreeListItemComponent;\n readonly keyword: string;\n}\n\n@Component({\n selector: 'eui-tree-list',\n templateUrl: './eui-tree-list.component.html',\n styleUrls: ['./_styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTreeListComponent implements AfterViewInit, OnChanges {\n\n @Input({ transform: booleanAttribute }) isShowToolbar = false;\n @Input({ transform: booleanAttribute }) isShowToolbarToggle = true;\n @Input({ transform: booleanAttribute }) isExpanded = false;\n @Input({ transform: booleanAttribute }) hasItemsUrl = false;\n\n @Input() filterLabel: string;\n @Input() filterFunction: (params: EuiTreeListFilterParams) => boolean;\n @Input() expandAllLabel: string;\n @Input() collapseAllLabel: string;\n @Input() tabindex = '0';\n @Input() ariaLabel = '';\n @Input() toolbarFilterValue = '';\n @Input() e2eAttr = 'eui-tree-list';\n\n @Output() itemSelected = new EventEmitter<string>();\n @Output() filter = new EventEmitter<string>();\n @Output() expandAll = new EventEmitter();\n @Output() collapseAll = new EventEmitter();\n\n @ContentChildren(forwardRef(() => EuiTreeListItemComponent)) items: QueryList<EuiTreeListItemComponent>;\n\n public ariaOwns = '';\n public originalTabindex = '0';\n public classes = '';\n public ariaRoleTree = 'tree';\n constructor(private elementRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n const treeItemIds = [];\n if (this.items) {\n this.items.forEach((treeItem: EuiTreeListItemComponent) => {\n treeItemIds.push(treeItem.id);\n });\n }\n setTimeout(() => {\n this.ariaOwns = treeItemIds.join(' ');\n this.originalTabindex = this.tabindex;\n if (this.isExpanded) {\n this.setExpandedState(true);\n }\n }, 0);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['tabindex']) {\n this.originalTabindex = this.tabindex;\n }\n }\n\n get hasExpandAllLabel(): boolean {\n return this.expandAllLabel !== undefined && this.expandAllLabel !== null;\n }\n\n get hasCollapseAllLabel(): boolean {\n return this.collapseAllLabel !== undefined && this.collapseAllLabel !== null;\n }\n\n onExpandAll(event: Event): void {\n this.setExpandedState(true);\n this.expandAll.next(void 0);\n }\n\n onCollapseAll(event: Event): void {\n this.setExpandedState(false);\n this.collapseAll.next(void 0);\n }\n\n onFilter(filterValue: string): void {\n // TODO find a recursive way of doing the filtering throughout the tree structure\n if (filterValue !== '' && filterValue !== undefined) {\n this.setVisibleState(false);\n this.items.toArray().forEach((item1) => {\n item1.isVisible = this.filterMatched(0, item1, filterValue);\n if (item1.subTreeList.length !== 0) {\n item1.subTreeList.toArray().forEach((item1SubTreeList) => {\n item1SubTreeList.items.toArray().forEach((item2) => {\n if (this.filterMatched(1, item2, filterValue)) {\n item2.isVisible = true;\n item1.isVisible = true;\n item1.isExpanded = true;\n\n if (item2.subTreeList.length !== 0) {\n item2.subTreeList.toArray().forEach((item2SubTreeList) => {\n item2SubTreeList.items.toArray().forEach((item3) => {\n item3.isVisible = true;\n });\n });\n }\n }\n\n if (item2.subTreeList.length !== 0) {\n item2.subTreeList.toArray().forEach((item2SubTreeList) => {\n item2SubTreeList.items.toArray().forEach((item4) => {\n if (this.filterMatched(2, item4, filterValue)) {\n item4.isVisible = true;\n item2.isVisible = true;\n item2.isExpanded = true;\n item1.isVisible = true;\n item1.isExpanded = true;\n }\n });\n });\n }\n });\n });\n }\n });\n } else {\n this.setVisibleState(true);\n }\n\n this.filter.next(filterValue);\n }\n\n onFocus(): void {\n this.focus();\n }\n\n public setVisibleState(state: boolean): void {\n this.items.toArray().forEach((item) => item.setVisibleState(state));\n }\n\n public setExpandedState(state: boolean): void {\n this.items.toArray().forEach((item) => item.setExpandedState(state));\n }\n\n public focus(): void {\n // Focus on the first child tree item:\n if (this.items && this.items.length > 0) {\n this.items.first.focus();\n }\n }\n\n public disableFocus(): void {\n this.tabindex = '-1';\n }\n\n public focusOnPreviousTreeItem(currentTreeListItem: EuiTreeListItemComponent): boolean {\n if (this.items && this.items.length > 0) {\n let previousTreeListItem: EuiTreeListItemComponent = null;\n for (const treeListItem of this.items.toArray()) {\n if (treeListItem !== currentTreeListItem) {\n previousTreeListItem = treeListItem;\n } else if (previousTreeListItem) {\n previousTreeListItem.focusOnLastExpandedTreeItem();\n return true;\n }\n }\n\n // Focus on the last item of the previous parent:\n // First find the parent list item:\n if (this.elementRef) {\n let parent = this.elementRef.nativeElement.parentElement;\n while (parent && !parent.classList.contains('eui-tree-list-item')) {\n parent = parent.parentElement;\n }\n\n if (parent) {\n // parent tree-item is found\n const content = parent.querySelector('.eui-tree-list-item-header__content');\n if (content) {\n content.setAttribute('tabindex', '0');\n content.focus();\n return true;\n }\n }\n }\n }\n\n return false;\n }\n\n public focusOnNextTreeItem(currentTreeListItem: EuiTreeListItemComponent): boolean {\n if (this.items && this.items.length > 0) {\n if (currentTreeListItem !== this.items.last) {\n let previousTreeListItem: EuiTreeListItemComponent = null;\n for (const treeListItem of this.items.toArray()) {\n if (previousTreeListItem !== currentTreeListItem) {\n previousTreeListItem = treeListItem;\n } else {\n treeListItem.focus();\n return true;\n }\n }\n } else {\n // The current focused tree item is the last one; find the first next tree item:\n if (this.elementRef) {\n // First find the parent tree list item:\n let parent = this.elementRef.nativeElement.parentElement;\n // Find the parent that is not a last child itself:\n while (parent && (parent.tagName.toLowerCase() !== 'eui-tree-list-item' || parent.nextElementSibling === null)) {\n parent = parent.parentElement;\n }\n\n if (parent) {\n // parent tree list item is found; focus on the first child of the next list item\n const nextTreeListItem = parent.nextElementSibling;\n if (nextTreeListItem) {\n const next = nextTreeListItem.querySelector('.eui-tree-list-item-header__content');\n next.setAttribute('tabindex', '0');\n next.focus();\n return true;\n }\n }\n }\n }\n }\n\n return false;\n }\n\n private defaultFilterFunction(params: EuiTreeListFilterParams): boolean {\n if (!params.item.label) {\n return false;\n } else if (params.item.label.toUpperCase().indexOf(params.keyword.toUpperCase()) !== -1) {\n return true;\n } else {\n return false;\n }\n }\n\n private filterMatched(level: number, item: EuiTreeListItemComponent, keyword: string): boolean {\n if (this.filterFunction) {\n return this.filterFunction({ level, item, keyword });\n } else {\n return this.defaultFilterFunction({ level, item, keyword });\n }\n }\n}\n", "<eui-tree-list-toolbar\n *ngIf=\"isShowToolbar\"\n [isVisible]=\"isShowToolbar\"\n [isToggleVisible]=\"isShowToolbarToggle\"\n (filter)=\"onFilter($event)\"\n [filterValue]=\"toolbarFilterValue\"\n (expandAll)=\"onExpandAll($event)\"\n (collapseAll)=\"onCollapseAll($event)\"\n [filterLabel]=\"filterLabel ? filterLabel : 'eui.FILTER' | translate\"\n [expandAllLabel]=\"hasExpandAllLabel ? expandAllLabel : 'eui.EXPANDALL' | translate\"\n [collapseAllLabel]=\"hasCollapseAllLabel ? collapseAllLabel : 'eui.COLLAPSEALL' | translate\"\n [isToggleExpanded]=\"isExpanded\"\n attr.data-e2e=\"{{ e2eAttr }}-a-toolbar-filter\">\n</eui-tree-list-toolbar>\n\n<div\n class=\"eui-tree-list\"\n [attr.role]=\"ariaRoleTree\"\n [attr.data-tabindex]=\"originalTabindex\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-owns]=\"ariaOwns\"\n attr.data-e2e=\"{{ e2eAttr }}\">\n <ng-content></ng-content>\n</div>\n", "import { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport {\n EuiTreeListItemComponent,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n EuiTreeListItemLabelTagDirective,\n} from './eui-tree-list-item.component';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiLabelModule } from '@eui/components/eui-label';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { EuiTreeListToolbarComponent } from './toolbar/toolbar.component';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiInputGroupModule } from '@eui/components/eui-input-group';\n\n@NgModule({\n imports: [\n TranslateModule,\n CommonModule, FormsModule, EuiIconModule, EuiLabelModule, EuiButtonModule,\n EuiInputTextModule,\n EuiInputGroupModule,\n ],\n exports: [\n EuiTreeListComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemLabelTagDirective,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n\n EuiTreeListItemContentComponent,\n EuiTreeListToolbarComponent,\n ],\n declarations: [\n EuiTreeListComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemLabelTagDirective,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n\n EuiTreeListItemContentComponent,\n EuiTreeListToolbarComponent,\n ],\n})\nexport class EuiTreeListModule {}\n"],
4
+ "sourcesContent": ["import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'eui-tree-list-item-content',\n template: '<ng-content></ng-content>',\n})\nexport class EuiTreeListItemContentComponent {\n @HostBinding('class') string = 'eui-tree-list-item-content';\n}\n", "import {\n AfterContentInit,\n booleanAttribute,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Host,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { UxLinkLegacy } from '@eui/base';\n\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport { consumeEvent, uniqueId } from '@eui/core';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n@Component({\n selector: 'eui-tree-list-item',\n templateUrl: './eui-tree-list-item.component.html',\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: ['euiPrimary', 'euiSecondary', 'euiInfo', 'euiSuccess', 'euiWarning', 'euiDanger', 'euiAccent', 'euiVariant'],\n },\n ],\n})\nexport class EuiTreeListItemComponent implements AfterContentInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return this.getCssClasses();\n }\n @HostBinding('attr.tabindex') tabIndex = '0';\n @HostBinding('attr.role') protected ariaRole = 'treeitem';\n\n @HostBinding('attr.id') @Input() id: string;\n @HostBinding('attr.aria-label') @Input() ariaLabel: string;\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-tree-list-item';\n\n @Input() label: string;\n @Input() linkUrl: string;\n @Input() subLabel: string;\n @Input() url: string;\n @Input() subLinks: UxLinkLegacy[] = [];\n\n @Input({ transform: booleanAttribute }) isActive = false;\n @Input({ transform: booleanAttribute }) isExpanded = false;\n @Input({ transform: booleanAttribute }) isAlwaysExpanded = false;\n @Input({ transform: booleanAttribute }) isVisible = true;\n @Input({ transform: booleanAttribute }) isDisplaySubLinksOnHover = false;\n @Input({ transform: booleanAttribute }) isNavigateOnlyOnLabelClick = false;\n\n @Output() toggled = new EventEmitter<EuiTreeListItemComponent>();\n\n isHovered = false;\n treeListComponent: EuiTreeListComponent;\n\n // tree states\n hasSub = false;\n\n // custom content\n hasCustomContent = false;\n\n @ViewChild('focusable') focusable: ElementRef<HTMLDivElement>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemLabelTagDirective))\n customLabel: QueryList<EuiTreeListItemLabelTagDirective>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemDetailsContentTagDirective))\n customDetailContent: QueryList<EuiTreeListItemDetailsContentTagDirective>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemSubContainerContentTagDirective))\n customSubContainerContent: QueryList<EuiTreeListItemSubContainerContentTagDirective>;\n\n @ContentChildren(forwardRef(() => EuiTreeListComponent), { descendants: true })\n subTreeList: QueryList<EuiTreeListComponent>;\n\n @ContentChildren(forwardRef(() => EuiTreeListItemContentComponent), { descendants: false })\n customContent: QueryList<EuiTreeListItemContentComponent>;\n\n constructor(\n @Host() @Optional() @Inject(forwardRef(() => EuiTreeListComponent)) treeListComponent,\n private router: Router,\n protected elementRef: ElementRef,\n public baseStatesDirective: BaseStatesDirective,\n ) {\n this.treeListComponent = treeListComponent as EuiTreeListComponent;\n }\n\n ngAfterContentInit(): void {\n if (!this.ariaLabel) {\n this.ariaLabel = this.label ? this.label : 'Custom content';\n }\n\n // make sure that the tree item can be aria-owned by a parent tree for WAI-ARIA attributes:\n if (!this.id) {\n this.id = uniqueId();\n }\n\n // setting tree states\n if (this.subTreeList.length !== 0) {\n this.hasSub = true;\n }\n\n // checking if customContent set\n if (this.customContent.length !== 0) {\n this.hasCustomContent = true;\n }\n\n // make sure that any child tree-list is non-focusable and that it has the role of a WAI-ARIA group:\n if (this.subTreeList) {\n this.subTreeList.forEach((subtree: EuiTreeListComponent) => {\n subtree.disableFocus();\n subtree.ariaRoleTree = 'group';\n });\n }\n }\n\n toggle(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n this.isExpanded = !this.isExpanded;\n this.toggled.next(this);\n }\n\n onKeyDown(event: KeyboardEvent): void {\n switch (event.keyCode) {\n case 13: // ENTER\n case 32: // SPACE\n this.isExpanded = !this.isExpanded;\n consumeEvent(event);\n break;\n case 37: // ARROW LEFT\n this.isExpanded = false;\n consumeEvent(event);\n break;\n case 38: // ARROW UP\n if (this.treeListComponent) {\n if (this.treeListComponent.focusOnPreviousTreeItem(this)) {\n this.disableFocus();\n }\n }\n\n consumeEvent(event);\n break;\n case 39: // ARROW RIGHT\n this.isExpanded = true;\n consumeEvent(event);\n break;\n case 40: // ARROW DOWN\n if (this.focusOnNextTreeItem()) {\n this.disableFocus();\n }\n\n consumeEvent(event);\n break;\n }\n }\n\n public setVisibleState(state: boolean): void {\n this.isVisible = state;\n\n if (this.subTreeList && this.subTreeList.length !== 0) {\n this.subTreeList.toArray().forEach((item) => {\n item.setVisibleState(state);\n });\n }\n }\n\n public setExpandedState(state: boolean): void {\n this.isExpanded = state;\n\n if (this.subTreeList.length !== 0) {\n this.subTreeList.toArray().forEach((item) => {\n item.setExpandedState(state);\n });\n }\n }\n\n public focus(): void {\n if (this.focusable) {\n this.enableFocus();\n this.focusable.nativeElement.focus();\n }\n if (this.treeListComponent) {\n this.treeListComponent.disableFocus();\n }\n }\n\n public focusOnLastExpandedTreeItem(): void {\n const lastExpanded = this.elementRef.nativeElement.querySelectorAll('.eui-tree-list-item-header__content');\n if (lastExpanded && lastExpanded.length > 0) {\n const element = lastExpanded[lastExpanded.length - 1];\n element.setAttribute('tabindex', '0');\n element.focus();\n } else {\n this.focus();\n }\n }\n\n protected focusOnNextTreeItem(): boolean {\n if (this.isExpanded && this.subTreeList && this.subTreeList.length > 0) {\n this.subTreeList.first.focus();\n return true;\n } else if (this.treeListComponent) {\n return this.treeListComponent.focusOnNextTreeItem(this);\n }\n\n return false;\n }\n\n protected disableFocus(): void {\n if (this.focusable) {\n this.focusable.nativeElement.setAttribute('tabindex', '-1');\n }\n }\n\n protected enableFocus(): void {\n if (this.focusable) {\n this.focusable.nativeElement.setAttribute('tabindex', '0');\n }\n }\n\n private getCssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-tree-list-item'),\n this.isActive ? 'eui-tree-list-item--active' : '',\n !this.isVisible ? 'eui-tree-list-item--hidden' : '',\n ]\n .join(' ')\n .trim();\n }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-tree-list-item-label' })\nexport class EuiTreeListItemLabelTagDirective {}\n@Directive({ selector: 'eui-tree-list-item-details' })\nexport class EuiTreeListItemDetailsContentTagDirective {}\n@Directive({ selector: 'eui-tree-list-item-sub-container' })\nexport class EuiTreeListItemSubContainerContentTagDirective {}\n/* eslint-enable */\n", "<div class=\"eui-tree-list-item-header\">\n <div\n #focusable\n class=\"eui-tree-list-item-header__content\"\n (keydown)=\"onKeyDown($event)\"\n attr.aria-label=\"{{ label }} {{ subLabel }}\">\n\n <ng-container *ngIf=\"hasCustomContent; else noCustomContent\">\n <ng-content select=\"eui-tree-list-item-content\"></ng-content>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n </ng-container>\n\n <ng-template #noCustomContent>\n <div class=\"eui-u-flex\">\n <eui-label *ngIf=\"!customLabel\">\n {{label}}\n <eui-label *ngIf=\"subLabel\" euiSublabel>{{subLabel}}</eui-label>\n </eui-label>\n\n <eui-label *ngIf=\"customLabel\">\n <div class=\"eui-u-flex\">\n <ng-content select=\"eui-tree-list-item-label\"></ng-content>\n </div>\n </eui-label>\n </div>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n </ng-template>\n </div>\n\n <ng-container *ngIf=\"customDetailContent\">\n <div class=\"eui-tree-list-item-header__details-content\">\n <ng-content select=\"eui-tree-list-item-details\"></ng-content>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"customSubContainerContent\">\n <ng-content select=\"eui-tree-list-item-sub-container\"></ng-content>\n </ng-container>\n</div>\n\n<ng-template [ngIf]=\"isExpanded || isAlwaysExpanded\">\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #rightContent>\n <div class=\"eui-tree-list-item-header__content-right-content\">\n <div class=\"eui-tree-list-item-header__content-expand-toggle-wrapper\">\n <eui-icon-button-expander *ngIf=\"hasSub && !isAlwaysExpanded\"\n (buttonClick)=\"toggle($event)\"\n [isExpanded]=\"isExpanded\"\n isDirectionForward>\n </eui-icon-button-expander>\n </div>\n </div>\n</ng-template>\n", "/* eslint-disable */\nimport {\n Component,\n Directive,\n Input,\n Output,\n EventEmitter,\n OnInit,\n OnChanges,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\n@Component({\n selector: 'eui-tree-list-toolbar',\n templateUrl: './toolbar.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTreeListToolbarComponent implements OnInit, OnChanges {\n @Input()\n get isVisible(): boolean {\n return this._isVisible;\n }\n set isVisible(value: BooleanInput) {\n this._isVisible = coerceBooleanProperty(value);\n }\n @Input() filterLabel: string;\n @Input() expandAllLabel: string;\n @Input() collapseAllLabel: string;\n @Input()\n get isFilterVisible(): boolean {\n return this._isFilterVisible;\n }\n set isFilterVisible(value: BooleanInput) {\n this._isFilterVisible = coerceBooleanProperty(value);\n }\n @Input()\n get isToggleVisible(): boolean {\n return this._isToggleVisible;\n }\n set isToggleVisible(value: BooleanInput) {\n this._isToggleVisible = coerceBooleanProperty(value);\n }\n @Input()\n get isToggleExpanded(): boolean {\n return this._isToggleExpanded;\n }\n set isToggleExpanded(value: BooleanInput) {\n this._isToggleExpanded = coerceBooleanProperty(value);\n }\n @Input() filterValue: string = '';\n @Input()\n get hasLabels(): boolean {\n return this._hasLabels;\n }\n set hasLabels(value: BooleanInput) {\n this._hasLabels = coerceBooleanProperty(value);\n }\n @Input() e2eAttr: string = 'eui-tree-list-toolbar';\n @Output() filter = new EventEmitter<string>();\n\n @Output() expandAll = new EventEmitter<MouseEvent>();\n @Output() collapseAll = new EventEmitter<MouseEvent>();\n private _isVisible: boolean = false;\n private _isFilterVisible: boolean = true;\n private _isToggleVisible: boolean = true;\n private _isToggleExpanded: boolean = false;\n private _hasLabels: boolean = true;\n\n ngOnInit(): void {\n if (this.filterValue !== '' && this.filterValue !== undefined) {\n this.filter.emit(this.filterValue);\n }\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.filterValue && this.filterValue !== undefined) {\n this.filter.emit(this.filterValue);\n }\n }\n\n /**\n * @deprecated\n * @param event\n */\n // public onFilter(event: string): void;\n public onFilter(): void {\n // console.log('test');\n // console.log(this.filterValue);\n if (this.filterValue === '') {\n if (!this.isToggleExpanded) {\n this.collapseAll.emit(null);\n }\n }\n this.filter.emit(this.filterValue);\n }\n\n public onExpandAll(event: MouseEvent): void {\n this.isToggleExpanded = !this.isToggleExpanded;\n this.expandAll.emit(event);\n }\n\n public onCollapseAll(event: MouseEvent): void {\n this.isToggleExpanded = !this.isToggleExpanded;\n this.collapseAll.emit(event);\n }\n}\n\n@Directive({ selector: 'EuiTreeListToolbarButtons' })\nexport class EuiUxTreeToolbarButtonsTagDirective { }\n\n/* eslint-enable */\n", "<div *ngIf=\"isVisible\" euiInputGroup class=\"eui-tree-list-toolbar\">\n <div class=\"eui-input-group-addon\">\n <div class=\"eui-input-group-addon-item\">\n <eui-icon-svg icon=\"eui-ecl-search\"></eui-icon-svg>\n </div>\n <input euiInputText euiClearable [(ngModel)]=\"filterValue\" [placeholder]=\"filterLabel\" (ngModelChange)=\"onFilter()\"/>\n\n <button *ngIf=\"!isToggleExpanded\" euiButton euiSecondary euiOutline (click)=\"onExpandAll($event)\" [euiIconButton]=\"expandAllLabel === ''\">\n <span euiLabel *ngIf=\"expandAllLabel !== ''\">{{ expandAllLabel }}</span>\n <eui-icon-svg icon=\"return-down-forward\"></eui-icon-svg>\n </button>\n <button *ngIf=\"isToggleExpanded\" euiButton euiSecondary euiOutline (click)=\"onCollapseAll($event)\" [euiIconButton]=\"collapseAllLabel === ''\">\n <span euiLabel *ngIf=\"collapseAllLabel !== ''\">{{ collapseAllLabel }}</span>\n <eui-icon-svg icon=\"return-up-forward\"></eui-icon-svg>\n </button>\n </div>\n</div>\n", "import {\n Component,\n Input,\n Output,\n EventEmitter,\n ContentChildren,\n QueryList,\n forwardRef,\n AfterViewInit,\n OnChanges,\n SimpleChanges,\n ElementRef,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\nimport { EuiTreeListItemComponent } from './eui-tree-list-item.component';\n\nexport interface EuiTreeListFilterParams {\n readonly level: number;\n readonly item: EuiTreeListItemComponent;\n readonly keyword: string;\n}\n\n@Component({\n selector: 'eui-tree-list',\n templateUrl: './eui-tree-list.component.html',\n styleUrls: ['./_styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTreeListComponent implements AfterViewInit, OnChanges {\n\n @Input({ transform: booleanAttribute }) isShowToolbar = false;\n @Input({ transform: booleanAttribute }) isShowToolbarToggle = true;\n @Input({ transform: booleanAttribute }) isExpanded = false;\n @Input({ transform: booleanAttribute }) hasItemsUrl = false;\n\n @Input() filterLabel: string;\n @Input() filterFunction: (params: EuiTreeListFilterParams) => boolean;\n @Input() expandAllLabel: string;\n @Input() collapseAllLabel: string;\n @Input() tabindex = '0';\n @Input() ariaLabel = '';\n @Input() toolbarFilterValue = '';\n @Input() e2eAttr = 'eui-tree-list';\n\n @Output() itemSelected = new EventEmitter<string>();\n @Output() filter = new EventEmitter<string>();\n @Output() expandAll = new EventEmitter();\n @Output() collapseAll = new EventEmitter();\n\n @ContentChildren(forwardRef(() => EuiTreeListItemComponent)) items: QueryList<EuiTreeListItemComponent>;\n\n public ariaOwns = '';\n public originalTabindex = '0';\n public classes = '';\n public ariaRoleTree = 'tree';\n constructor(private elementRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n const treeItemIds = [];\n if (this.items) {\n this.items.forEach((treeItem: EuiTreeListItemComponent) => {\n treeItemIds.push(treeItem.id);\n });\n }\n setTimeout(() => {\n this.ariaOwns = treeItemIds.join(' ');\n this.originalTabindex = this.tabindex;\n if (this.isExpanded) {\n this.setExpandedState(true);\n }\n }, 0);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['tabindex']) {\n this.originalTabindex = this.tabindex;\n }\n }\n\n get hasExpandAllLabel(): boolean {\n return this.expandAllLabel !== undefined && this.expandAllLabel !== null;\n }\n\n get hasCollapseAllLabel(): boolean {\n return this.collapseAllLabel !== undefined && this.collapseAllLabel !== null;\n }\n\n onExpandAll(event: Event): void {\n this.setExpandedState(true);\n this.expandAll.next(void 0);\n }\n\n onCollapseAll(event: Event): void {\n this.setExpandedState(false);\n this.collapseAll.next(void 0);\n }\n\n onFilter(filterValue: string): void {\n // TODO find a recursive way of doing the filtering throughout the tree structure\n if (filterValue !== '' && filterValue !== undefined) {\n this.setVisibleState(false);\n this.items.toArray().forEach((item1) => {\n item1.isVisible = this.filterMatched(0, item1, filterValue);\n if (item1.subTreeList.length !== 0) {\n item1.subTreeList.toArray().forEach((item1SubTreeList) => {\n item1SubTreeList.items.toArray().forEach((item2) => {\n if (this.filterMatched(1, item2, filterValue)) {\n item2.isVisible = true;\n item1.isVisible = true;\n item1.isExpanded = true;\n\n if (item2.subTreeList.length !== 0) {\n item2.subTreeList.toArray().forEach((item2SubTreeList) => {\n item2SubTreeList.items.toArray().forEach((item3) => {\n item3.isVisible = true;\n });\n });\n }\n }\n\n if (item2.subTreeList.length !== 0) {\n item2.subTreeList.toArray().forEach((item2SubTreeList) => {\n item2SubTreeList.items.toArray().forEach((item4) => {\n if (this.filterMatched(2, item4, filterValue)) {\n item4.isVisible = true;\n item2.isVisible = true;\n item2.isExpanded = true;\n item1.isVisible = true;\n item1.isExpanded = true;\n }\n });\n });\n }\n });\n });\n }\n });\n } else {\n this.setVisibleState(true);\n }\n\n this.filter.next(filterValue);\n }\n\n onFocus(): void {\n this.focus();\n }\n\n public setVisibleState(state: boolean): void {\n this.items.toArray().forEach((item) => item.setVisibleState(state));\n }\n\n public setExpandedState(state: boolean): void {\n this.items.toArray().forEach((item) => item.setExpandedState(state));\n }\n\n public focus(): void {\n // Focus on the first child tree item:\n if (this.items && this.items.length > 0) {\n this.items.first.focus();\n }\n }\n\n public disableFocus(): void {\n this.tabindex = '-1';\n }\n\n public focusOnPreviousTreeItem(currentTreeListItem: EuiTreeListItemComponent): boolean {\n if (this.items && this.items.length > 0) {\n let previousTreeListItem: EuiTreeListItemComponent = null;\n for (const treeListItem of this.items.toArray()) {\n if (treeListItem !== currentTreeListItem) {\n previousTreeListItem = treeListItem;\n } else if (previousTreeListItem) {\n previousTreeListItem.focusOnLastExpandedTreeItem();\n return true;\n }\n }\n\n // Focus on the last item of the previous parent:\n // First find the parent list item:\n if (this.elementRef) {\n let parent = this.elementRef.nativeElement.parentElement;\n while (parent && !parent.classList.contains('eui-tree-list-item')) {\n parent = parent.parentElement;\n }\n\n if (parent) {\n // parent tree-item is found\n const content = parent.querySelector('.eui-tree-list-item-header__content');\n if (content) {\n content.setAttribute('tabindex', '0');\n content.focus();\n return true;\n }\n }\n }\n }\n\n return false;\n }\n\n public focusOnNextTreeItem(currentTreeListItem: EuiTreeListItemComponent): boolean {\n if (this.items && this.items.length > 0) {\n if (currentTreeListItem !== this.items.last) {\n let previousTreeListItem: EuiTreeListItemComponent = null;\n for (const treeListItem of this.items.toArray()) {\n if (previousTreeListItem !== currentTreeListItem) {\n previousTreeListItem = treeListItem;\n } else {\n treeListItem.focus();\n return true;\n }\n }\n } else {\n // The current focused tree item is the last one; find the first next tree item:\n if (this.elementRef) {\n // First find the parent tree list item:\n let parent = this.elementRef.nativeElement.parentElement;\n // Find the parent that is not a last child itself:\n while (parent && (parent.tagName.toLowerCase() !== 'eui-tree-list-item' || parent.nextElementSibling === null)) {\n parent = parent.parentElement;\n }\n\n if (parent) {\n // parent tree list item is found; focus on the first child of the next list item\n const nextTreeListItem = parent.nextElementSibling;\n if (nextTreeListItem) {\n const next = nextTreeListItem.querySelector('.eui-tree-list-item-header__content');\n next.setAttribute('tabindex', '0');\n next.focus();\n return true;\n }\n }\n }\n }\n }\n\n return false;\n }\n\n private defaultFilterFunction(params: EuiTreeListFilterParams): boolean {\n if (!params.item.label) {\n return false;\n } else if (params.item.label.toUpperCase().indexOf(params.keyword.toUpperCase()) !== -1) {\n return true;\n } else {\n return false;\n }\n }\n\n private filterMatched(level: number, item: EuiTreeListItemComponent, keyword: string): boolean {\n if (this.filterFunction) {\n return this.filterFunction({ level, item, keyword });\n } else {\n return this.defaultFilterFunction({ level, item, keyword });\n }\n }\n}\n", "<eui-tree-list-toolbar\n *ngIf=\"isShowToolbar\"\n [isVisible]=\"isShowToolbar\"\n [isToggleVisible]=\"isShowToolbarToggle\"\n (filter)=\"onFilter($event)\"\n [filterValue]=\"toolbarFilterValue\"\n (expandAll)=\"onExpandAll($event)\"\n (collapseAll)=\"onCollapseAll($event)\"\n [filterLabel]=\"filterLabel ? filterLabel : 'eui.FILTER' | translate\"\n [expandAllLabel]=\"hasExpandAllLabel ? expandAllLabel : 'eui.EXPANDALL' | translate\"\n [collapseAllLabel]=\"hasCollapseAllLabel ? collapseAllLabel : 'eui.COLLAPSEALL' | translate\"\n [isToggleExpanded]=\"isExpanded\"\n attr.data-e2e=\"{{ e2eAttr }}-a-toolbar-filter\">\n</eui-tree-list-toolbar>\n\n<div\n class=\"eui-tree-list\"\n [attr.role]=\"ariaRoleTree\"\n [attr.data-tabindex]=\"originalTabindex\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-owns]=\"ariaOwns\"\n attr.data-e2e=\"{{ e2eAttr }}\">\n <ng-content></ng-content>\n</div>\n", "import { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport {\n EuiTreeListItemComponent,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n EuiTreeListItemLabelTagDirective,\n} from './eui-tree-list-item.component';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiLabelModule } from '@eui/components/eui-label';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { EuiTreeListToolbarComponent } from './toolbar/toolbar.component';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiInputGroupModule } from '@eui/components/eui-input-group';\n\n@NgModule({\n imports: [\n TranslateModule,\n CommonModule, FormsModule, EuiIconModule, EuiLabelModule, EuiButtonModule,\n EuiInputTextModule,\n EuiInputGroupModule,\n ],\n exports: [\n EuiTreeListComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemLabelTagDirective,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n\n EuiTreeListItemContentComponent,\n EuiTreeListToolbarComponent,\n ],\n declarations: [\n EuiTreeListComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemLabelTagDirective,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n\n EuiTreeListItemContentComponent,\n EuiTreeListToolbarComponent,\n ],\n})\nexport class EuiTreeListModule {}\n"],
5
5
  "mappings": "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",
6
6
  "names": ["Component", "HostBinding", "i0", "Component", "Directive", "Input", "Output", "EventEmitter", "ViewEncapsulation", "i0", "Component", "Input", "Output", "EventEmitter", "ContentChildren", "forwardRef", "ViewEncapsulation", "booleanAttribute", "i0"]
7
7
  }
@@ -164,8 +164,8 @@ var EuiTreeComponent = class _EuiTreeComponent {
164
164
  this.changeDetectorRef = changeDetectorRef;
165
165
  this.scrollDispatcher = scrollDispatcher;
166
166
  this.e2eAttr = "eui-tree";
167
- this.expandedSvgIconClass = "eui-chevron-forward:eui";
168
- this.collapsedSvgIconClass = "eui-chevron-down:eui";
167
+ this.expandedSvgIconClass = "chevron-forward:sharp";
168
+ this.collapsedSvgIconClass = "chevron-down:sharp";
169
169
  this.selectionChange = new EventEmitter();
170
170
  this.nodeClick = new EventEmitter();
171
171
  this.nodeToggle = new EventEmitter();
@@ -1095,7 +1095,7 @@ var EuiTreeComponent = class _EuiTreeComponent {
1095
1095
  <ng-container *ngIf="node.treeContentBlock.rightContent?.contextMenuMetaData && rightContextMenuTemplateRef">
1096
1096
  <eui-dropdown class="eui-u-ml-xs">
1097
1097
  <button euiButton euiSizeS euiRounded euiIconButton euiBasicButton euiSecondary [attr.aria-label]="'Options menu'">
1098
- <eui-icon-svg icon="eui-ellipsis-vertical"></eui-icon-svg>
1098
+ <eui-icon-svg icon="ellipsis-vertical:sharp"></eui-icon-svg>
1099
1099
  </button>
1100
1100
  <eui-dropdown-content>
1101
1101
  <ng-template
@@ -1128,7 +1128,7 @@ var EuiTreeComponent = class _EuiTreeComponent {
1128
1128
  type="button"
1129
1129
  aria-label="expand collapse tree item"
1130
1130
  (click)="metaDataContainer.expanded = !metaDataContainer.expanded">
1131
- <eui-icon-svg [icon]="metaDataContainer.expanded ? 'eui-chevron-down' : 'eui-chevron-forward'"></eui-icon-svg>
1131
+ <eui-icon-svg [icon]="metaDataContainer.expanded ? 'chevron-down:sharp' : 'chevron-forward:sharp'"></eui-icon-svg>
1132
1132
  </button>
1133
1133
  <div *ngIf="metaDataContainer.expanded" class="eui-tree-node__metacontent">
1134
1134
  <!--passing metadata of the node content to provided template-ref:nodeContentMetadataTemplateRef-->
@@ -1352,7 +1352,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ng
1352
1352
  <ng-container *ngIf="node.treeContentBlock.rightContent?.contextMenuMetaData && rightContextMenuTemplateRef">
1353
1353
  <eui-dropdown class="eui-u-ml-xs">
1354
1354
  <button euiButton euiSizeS euiRounded euiIconButton euiBasicButton euiSecondary [attr.aria-label]="'Options menu'">
1355
- <eui-icon-svg icon="eui-ellipsis-vertical"></eui-icon-svg>
1355
+ <eui-icon-svg icon="ellipsis-vertical:sharp"></eui-icon-svg>
1356
1356
  </button>
1357
1357
  <eui-dropdown-content>
1358
1358
  <ng-template
@@ -1385,7 +1385,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.1", ng
1385
1385
  type="button"
1386
1386
  aria-label="expand collapse tree item"
1387
1387
  (click)="metaDataContainer.expanded = !metaDataContainer.expanded">
1388
- <eui-icon-svg [icon]="metaDataContainer.expanded ? 'eui-chevron-down' : 'eui-chevron-forward'"></eui-icon-svg>
1388
+ <eui-icon-svg [icon]="metaDataContainer.expanded ? 'chevron-down:sharp' : 'chevron-forward:sharp'"></eui-icon-svg>
1389
1389
  </button>
1390
1390
  <div *ngIf="metaDataContainer.expanded" class="eui-tree-node__metacontent">
1391
1391
  <!--passing metadata of the node content to provided template-ref:nodeContentMetadataTemplateRef-->