@eui/components 19.0.4-snapshot-1738753092246 → 19.0.4

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 (37) hide show
  1. package/docs/components/EuiAlertComponent.html +129 -0
  2. package/docs/components/EuiAlertTitleComponent.html +12 -0
  3. package/docs/components/EuiChipComponent.html +108 -1
  4. package/docs/components/EuiPaginatorComponent.html +204 -0
  5. package/docs/dependencies.html +2 -2
  6. package/docs/js/menu-wc.js +12 -12
  7. package/docs/js/menu-wc_es5.js +1 -1
  8. package/docs/js/search/search_index.js +2 -2
  9. package/docs/modules/EuiAlertModule.html +11 -0
  10. package/docs/modules/EuiChipModule.html +11 -0
  11. package/docs/modules/EuiPaginatorModule.html +11 -0
  12. package/eui-alert/components/eui-alert-title.component.d.ts +1 -0
  13. package/eui-alert/components/eui-alert-title.component.d.ts.map +1 -1
  14. package/eui-alert/eui-alert.component.d.ts +74 -0
  15. package/eui-alert/eui-alert.component.d.ts.map +1 -1
  16. package/eui-alert/eui-alert.module.d.ts +12 -0
  17. package/eui-alert/eui-alert.module.d.ts.map +1 -1
  18. package/eui-chip/eui-chip.component.d.ts +71 -0
  19. package/eui-chip/eui-chip.component.d.ts.map +1 -1
  20. package/eui-chip/eui-chip.module.d.ts +12 -0
  21. package/eui-chip/eui-chip.module.d.ts.map +1 -1
  22. package/eui-paginator/eui-paginator.component.d.ts +148 -4
  23. package/eui-paginator/eui-paginator.component.d.ts.map +1 -1
  24. package/eui-paginator/eui-paginator.module.d.ts +12 -0
  25. package/eui-paginator/eui-paginator.module.d.ts.map +1 -1
  26. package/eui-timepicker/eui-timepicker.component.d.ts.map +1 -1
  27. package/fesm2022/eui-components-eui-alert.mjs +84 -2
  28. package/fesm2022/eui-components-eui-alert.mjs.map +1 -1
  29. package/fesm2022/eui-components-eui-chip.mjs +74 -0
  30. package/fesm2022/eui-components-eui-chip.mjs.map +1 -1
  31. package/fesm2022/eui-components-eui-date-range-selector.mjs +4 -4
  32. package/fesm2022/eui-components-eui-date-range-selector.mjs.map +1 -1
  33. package/fesm2022/eui-components-eui-paginator.mjs +152 -5
  34. package/fesm2022/eui-components-eui-paginator.mjs.map +1 -1
  35. package/fesm2022/eui-components-eui-timepicker.mjs +35 -28
  36. package/fesm2022/eui-components-eui-timepicker.mjs.map +1 -1
  37. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-date-range-selector.mjs","sources":["../../eui-date-range-selector/eui-time-range-picker/eui-time-range-picker.component.ts","../../eui-date-range-selector/eui-time-range-picker/eui-time-range-picker.component.html","../../eui-date-range-selector/eui-date-range-selector.component.ts","../../eui-date-range-selector/eui-date-range-selector.component.html","../../eui-date-range-selector/eui-date-range-selector.module.ts","../../eui-date-range-selector/eui-date-range-selector.validators.ts","../../eui-date-range-selector/eui-components-eui-date-range-selector.ts"],"sourcesContent":["import {\n Component,\n Inject,\n Optional,\n ViewEncapsulation,\n HostBinding,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FormControl } from '@angular/forms';\n\nimport { DYNAMIC_COMPONENT_CONFIG } from '@eui/core';\nimport { EuiTimeRangePickerConfig } from '../models/eui-time-range-picker.config.model';\n\n@Component({\n selector: 'eui-time-range-picker',\n templateUrl: './eui-time-range-picker.component.html',\n styleUrls: ['../styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiTimeRangepickerComponent implements OnInit, OnDestroy {\n hours: number;\n mins: number;\n secs: number;\n endHours: number;\n endMins: number;\n endSecs: number;\n stepHours: number;\n stepMinutes: number;\n stepSeconds: number;\n hasSeconds: boolean;\n startDateLabel: string;\n endDateLabel: string;\n startTimeFormControl = new FormControl();\n endTimeFormControl = new FormControl();\n @HostBinding('class')\n get class(): string {\n return ['eui-timerange'].join(' ').trim();\n }\n @HostBinding('attr.data-e2e') e2eAttr = 'eui-time-range-picker';\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n protected translateService: TranslateService,\n @Optional() @Inject(DYNAMIC_COMPONENT_CONFIG) config: EuiTimeRangePickerConfig,\n ) {\n this.hours = config?.hours || 0;\n this.mins = config?.mins || 0;\n this.secs = config?.secs || 0;\n this.endHours = config?.endHours || 0;\n this.endMins = config?.endMins || 0;\n this.endSecs = config?.endSecs || 0;\n this.hasSeconds = config?.hasSeconds;\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 this.callback = config?.callback || this.callback;\n }\n\n ngOnInit(): void {\n this.translateService\n .stream('eui.daterangeselector.FIRSTPICKERSLABEL')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.startDateLabel = result;\n });\n\n this.translateService\n .stream('eui.daterangeselector.SECONDPICKERSLABEL')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.endDateLabel = result;\n });\n\n this.startTimeFormControl = new FormControl({ value: { hours: this.hours, mins: this.mins, secs: this.secs }, disabled: false });\n this.endTimeFormControl = new FormControl({ value: { hours: this.endHours, mins: this.endMins, secs: this.endSecs }, disabled: false });\n\n this.startTimeFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.hours = value.hours;\n this.mins = value.mins;\n this.secs = value.secs;\n this.callback(this.hours, this.mins, this.secs, this.endHours, this.endMins, this.endSecs);\n });\n this.endTimeFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.endHours = value.hours;\n this.endMins = value.mins;\n this.endSecs = value.secs;\n this.callback(this.hours, this.mins, this.secs, this.endHours, this.endMins, this.endSecs);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private callback: (hours: number, mins: number, secs?: number, endHours?: number, endMins?: number, endSecs?: number) => void = () => {};\n\n}\n","<div class=\"eui-timerange__time-container\">\n <span class=\"eui-timerange__time-container-label\">{{ startDateLabel }}</span>\n <eui-timepicker iconSize=\"m\" [hasSeconds]=\"hasSeconds\" [formControl]=\"startTimeFormControl\"></eui-timepicker>\n</div>\n\n<div class=\"eui-timerange__time-container\">\n <span class=\"eui-timerange__time-container-label\">{{ endDateLabel }}</span>\n <eui-timepicker iconSize=\"m\" [hasSeconds]=\"hasSeconds\" [formControl]=\"endTimeFormControl\"></eui-timepicker>\n</div>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n ApplicationRef,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n DoCheck,\n EventEmitter,\n HostBinding,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Self,\n SimpleChanges,\n StaticProvider,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, NgControl, Validators } from '@angular/forms';\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\nimport { DateAdapter } from '@angular/material/core';\nimport { ComponentPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport moment from 'moment';\nimport 'moment/min/locales';\n\nimport { DYNAMIC_COMPONENT_CONFIG, LocaleService, uniqueId } from '@eui/core';\nimport { EuiDateRangeSelectorDates } from './models/eui-date-range-selector-dates.model';\nimport { EuiTimeRangepickerComponent } from './eui-time-range-picker/eui-time-range-picker.component';\nimport { EuiTimeRangePickerConfig } from './models/eui-time-range-picker.config.model';\n\n@Component({\n selector: 'eui-date-range-selector',\n templateUrl: './eui-date-range-selector.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiDateRangeSelectorComponent implements OnInit, OnDestroy, OnChanges, ControlValueAccessor, DoCheck {\n selectedDates: EuiDateRangeSelectorDates = { startRange: null, endRange: null };\n public isInvalid: boolean;\n public isTouched: boolean;\n public startRangeFormControl = new FormControl();\n public endRangeFormControl = new FormControl();\n\n @Output() firstSelectedDate = new EventEmitter<any>();\n @Output() secondSelectedDate = new EventEmitter<any>();\n\n @HostBinding('class')\n get class(): string {\n return [\n 'eui-date-range-selector',\n this.isClearable ? 'eui-date-range-selector--clearable' : '',\n this.islongDateFormat || this.isTimeRange ? 'eui-date-range-selector--long-date-format' : '',\n this.isResponsive ? 'eui-date-range-selector--responsive' : '',\n ].join(' ').trim();\n }\n @HostBinding('attr.data-e2e')\n @Input() e2eAttr = 'eui-date-range-selector';\n @Input() minDate: any;\n @Input() maxDate: any;\n @Input() togglerIconSvg = 'eui-calendar-outline';\n @Input() togglerLabel: string;\n @Input() firstInputPlaceholder: string;\n @Input() secondInputPlaceholder: string;\n @Input() firstInputAriaLabel: string;\n @Input() secondInputAriaLabel: string;\n @Input() startDateDefaultValue: any;\n @Input() endDateDefaultValue: any;\n @Input() comparisonStart: any;\n @Input() comparisonEnd: any;\n @Input() startView: 'month' | 'year' | 'multi-year' = 'month';\n @Input() startDateId = `start-date-${uniqueId()}`;\n @Input() stepHours = 1;\n @Input() stepMinutes = 1;\n @Input() stepSeconds = 1;\n @Input({ transform: booleanAttribute }) islongDateFormat = false;\n @Input({ transform: booleanAttribute }) isClearable = false;\n @Input({ transform: booleanAttribute }) isReadOnly = false;\n @Input({ transform: booleanAttribute }) isDisabled = false;\n @Input({ transform: booleanAttribute }) isResponsive = false;\n @Input({ transform: booleanAttribute }) isTimeRange = false;\n @Input({ transform: booleanAttribute }) hasSeconds = false;\n\n protected hasAriaRequiredAttribute: boolean;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private portalHost: DomPortalOutlet;\n private portal: ComponentPortal<EuiTimeRangepickerComponent>;\n protected timeRangeInstance: EuiTimeRangepickerComponent;\n\n constructor(\n protected translateService: TranslateService,\n @Optional() protected localeService: LocaleService,\n protected adapter: DateAdapter<any>,\n private componentFactoryResolver: ComponentFactoryResolver,\n private injector: Injector,\n private appRef: ApplicationRef,\n @Self() @Optional() protected control: NgControl,\n ) {\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n this.localeService\n .getState()\n .pipe(takeUntil(this.destroy$))\n .subscribe((state) => {\n this.adapter.setLocale(state.id);\n });\n\n this.startRangeFormControl = new FormControl({ value: this.startDateDefaultValue, disabled: this.isDisabled });\n this.endRangeFormControl = new FormControl({ value: this.endDateDefaultValue, disabled: this.isDisabled });\n\n if (!this.firstInputPlaceholder) {\n this.translateService\n .stream('eui.daterangeselector.FIRSTPICKERSLABEL')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.firstInputPlaceholder = result;\n });\n }\n // by setting the firstInputAriaLabel to dd/mm/yyyy(or the desired format) the format can be announced to the screen reader users before the users start typing\n if (!this.firstInputAriaLabel) {\n this.translateService\n .stream('eui.daterangeselector.FIRSTPICKERSPLACEHOLDER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.firstInputAriaLabel = result;\n });\n }\n if (!this.secondInputPlaceholder) {\n this.translateService\n .stream('eui.daterangeselector.SECONDPICKERSLABEL')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.secondInputPlaceholder = result;\n });\n }\n // by setting the secondInputAriaLabel to dd/mm/yyyy(or the desired format) the format can be announced to the screen reader users before the users start typing\n if (!this.secondInputAriaLabel) {\n this.translateService\n .stream('eui.daterangeselector.SECONDPICKERSPLACEHOLDER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.secondInputAriaLabel = result;\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 ngDoCheck(): void {\n if (this.control) {\n // marks the input controls as touched/invalid if the form control is touched/invalid\n // eslint-disable-next-line\n this.control?.touched ? this.startRangeFormControl?.markAsTouched() : this.startRangeFormControl.markAsUntouched();\n // eslint-disable-next-line\n this.control?.touched ? this.endRangeFormControl.markAsTouched() : this.endRangeFormControl?.markAsUntouched();\n // eslint-disable-next-line\n this.control?.touched ? (this.isTouched = true) : (this.isTouched = false);\n // eslint-disable-next-line\n this.control?.invalid ? this.startRangeFormControl.setErrors(this.control.errors) : this.startRangeFormControl.setErrors(null);\n // eslint-disable-next-line\n this.control?.invalid ? this.endRangeFormControl.setErrors(this.control.errors) : this.endRangeFormControl.setErrors(null);\n // eslint-disable-next-line\n this.control?.invalid ? (this.isInvalid = true) : (this.isInvalid = false);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['startDateDefaultValue']) {\n this.startRangeFormControl.setValue(this.startDateDefaultValue);\n }\n if (changes && changes['endDateDefaultValue']) {\n this.endRangeFormControl.setValue(this.endDateDefaultValue);\n }\n\n if (changes && changes['isDisabled']) {\n this.setDisabledState(this.isDisabled);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public onFirstDateChange(e: MatDatepickerInputEvent<any>): void {\n this.startDateDefaultValue = e.value;\n this.selectedDates.startRange = e.value;\n this.firstSelectedDate.emit(e.value);\n this.propagateChange(this.selectedDates);\n this.propagateTouched();\n }\n\n public onSecondDateChange(e: MatDatepickerInputEvent<any>): void {\n this.endDateDefaultValue = e.value;\n this.selectedDates.endRange = e.value;\n this.secondSelectedDate.emit(e.value);\n this.propagateChange(this.selectedDates);\n this.propagateTouched();\n }\n\n onFirstDateClear(): void {\n this.startDateDefaultValue = null;\n this.selectedDates.startRange = null;\n this.firstSelectedDate.emit(null);\n this.propagateChange(this.selectedDates);\n }\n onSecondDateClear(): void {\n this.endDateDefaultValue = null;\n this.selectedDates.endRange = null;\n this.secondSelectedDate.emit(null);\n this.propagateChange(this.selectedDates);\n }\n\n writeValue(values: EuiDateRangeSelectorDates): void {\n if (values && values.startRange === undefined) {\n throw new Error('startRange of EuiDateRangeSelectorDates model must be defined');\n }\n if (values && values.endRange === undefined) {\n throw new Error('endRange of EuiDateRangeSelectorDates model must be defined');\n }\n\n this.startDateDefaultValue = values?.startRange;\n this.endDateDefaultValue = values?.endRange;\n this.startRangeFormControl.setValue(values?.startRange);\n this.endRangeFormControl.setValue(values?.endRange);\n this.selectedDates = values || { startRange: null, endRange: null };\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n if (this.isDisabled) {\n this.startRangeFormControl.disable();\n this.endRangeFormControl.disable();\n } else {\n this.startRangeFormControl.enable();\n this.endRangeFormControl.enable();\n }\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.propagateTouched = fn;\n }\n\n /**\n * Creates the injector for passing the timeconfig to the dynamic component.\n * @protected\n */\n protected createInjector(data: any): Injector {\n const injectorTokens: StaticProvider = [{ provide: DYNAMIC_COMPONENT_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens,\n });\n }\n\n /**\n * Fires when the picker opens.\n * @protected\n */\n protected onOpened(): void {\n if (this.isTimeRange) {\n this.portalHost = new DomPortalOutlet(\n document.querySelector('mat-calendar'),\n this.componentFactoryResolver, // TODO: check again if there is an update on framework side EUI-6207\n this.appRef,\n this.injector,\n );\n const timeConfig: EuiTimeRangePickerConfig = {\n hours: this.startDateDefaultValue ? moment(this.startDateDefaultValue).hours() : 0,\n mins: this.startDateDefaultValue ? moment(this.startDateDefaultValue).minutes() : 0,\n secs: this.startDateDefaultValue ? moment(this.startDateDefaultValue).seconds() : 0,\n endHours: this.endDateDefaultValue ? moment(this.endDateDefaultValue).hours() : 0,\n endMins: this.endDateDefaultValue ? moment(this.endDateDefaultValue).minutes() : 0,\n endSecs: this.endDateDefaultValue ? moment(this.endDateDefaultValue).seconds() : 0,\n hasSeconds: this.hasSeconds,\n stepHours: this.stepHours,\n stepMinutes: this.stepMinutes,\n stepSeconds: this.stepSeconds,\n callback: (hours: number, mins: number, secs: number, endHours: number, endMins: number, endSecs: number) => {\n this.updateStartDateTime(hours, mins, secs);\n\n this.updateEndDateTime(endHours, endMins, endSecs);\n },\n };\n\n this.portal = new ComponentPortal(EuiTimeRangepickerComponent, null, this.createInjector(timeConfig));\n const componentRef: ComponentRef<EuiTimeRangepickerComponent> = this.portalHost.attachComponentPortal(this.portal);\n this.timeRangeInstance = componentRef.instance;\n }\n }\n\n protected onStartTimeChange(e: string | Event): void {\n const time = this.extractTime(e);\n this.updateStartDateTime(time.hours, time.mins, time.secs);\n }\n\n protected onEndTimeChange(e: string | Event): void {\n const time = this.extractTime(e);\n this.updateEndDateTime(time.hours, time.mins, time.secs);\n }\n\n protected extractTime(e: string | Event): { hours: number, mins: number, secs: number } {\n const dateTimeString = typeof e === 'string' ? e : (e.target as HTMLInputElement).value;\n // Split the string by space to separate date and time components\n const [datePart, timePart] = dateTimeString.split(' ');\n // Ensure timePart exists to avoid errors\n if (!timePart) {\n return { hours: 0, mins: 0, secs: 0 };\n }\n const [hours, mins, secs] = timePart.split(':').map(part => parseInt(part, 10));\n return {\n hours: hours || 0,\n mins: mins || 0,\n secs: secs || 0,\n };\n }\n\n protected updateStartDateTime(hours: number, mins: number, secs: number): void {\n if (this.startDateDefaultValue) {\n this.startDateDefaultValue = moment(this.startDateDefaultValue).set({ hour: hours, minute: mins, second: secs });\n this.startRangeFormControl.setValue(this.startDateDefaultValue);\n this.selectedDates.startRange = this.startDateDefaultValue;\n }\n this.propagateChange(this.selectedDates);\n }\n protected updateEndDateTime(hours: number, mins: number, secs: number): void {\n if (this.endDateDefaultValue) {\n this.endDateDefaultValue = moment(this.endDateDefaultValue).set({ hour: hours, minute: mins, second: secs });\n this.endRangeFormControl.setValue(this.endDateDefaultValue);\n this.selectedDates.endRange = this.endDateDefaultValue;\n }\n this.propagateChange(this.selectedDates);\n }\n\n protected adaptContainerClasses(): string {\n if(this.isTimeRange && this.hasSeconds) {\n return 'eui-date-range-selector--container-large';\n } else if(this.isTimeRange) {\n return 'eui-date-range-selector--container-height-large';\n } else {\n return null;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars\n private propagateChange = (_: any): void => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private propagateTouched = (): void => {};\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","<mat-date-range-input\n [class.mat-date-range-input--read-only]=\"isReadOnly\"\n [class.mat-date-range-input--disabled]=\"isDisabled\"\n [class.mat-date-range-input--invalid]=\"isInvalid && isTouched\"\n [rangePicker]=\"picker\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [comparisonStart]=\"comparisonStart\"\n [comparisonEnd]=\"comparisonEnd\">\n <input\n #inputStartDate\n class=\"eui-date-range-selector__start-date\"\n euiInputText\n [id]=\"startDateId\"\n [readonly]=\"isReadOnly\"\n matStartDate\n placeholder=\"{{ firstInputPlaceholder }}\"\n attr.aria-label=\"{{ firstInputAriaLabel }}\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"startRangeFormControl\"\n (dateInput)=\"onFirstDateChange($event)\"\n [euiClearable]=\"isClearable\"\n (change)=\"isTimeRange ? onStartTimeChange($event) : null\"\n (clear)=\"onFirstDateClear()\" />\n <input\n #inputEndDate\n class=\"eui-date-range-selector__end-date\"\n euiInputText\n [readonly]=\"isReadOnly\"\n matEndDate\n placeholder=\"{{ secondInputPlaceholder }}\"\n attr.aria-label=\"{{ secondInputAriaLabel }}\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"endRangeFormControl\"\n (dateInput)=\"onSecondDateChange($event)\"\n [euiClearable]=\"isClearable\"\n (change)=\"isTimeRange ? onEndTimeChange($event) : null\"\n (clear)=\"onSecondDateClear()\" />\n</mat-date-range-input>\n<mat-date-range-picker\n #picker\n [startView]=\"startView\"\n (opened)=\"onOpened()\"\n [panelClass]=\"adaptContainerClasses()\">\n</mat-date-range-picker>\n<button\n *ngIf=\"!isReadOnly\"\n class=\"eui-date-range-selector__toggler eui-date-range-selector__toggler-{{ !togglerLabel ? 'icon' : 'label' }}\"\n (click)=\"picker.open()\"\n euiButton\n euiSecondary\n [euiIconButton]=\"!togglerLabel ? true : false\"\n type=\"button\"\n [euiDisabled]=\"isDisabled\"\n aria-haspopup=\"dialog\">\n <ng-container *ngIf=\"!togglerLabel\">\n <eui-icon-svg icon=\"{{ togglerIconSvg }}\" aria-label=\"Open Calendar\" size=\"s\"></eui-icon-svg>\n </ng-container>\n <span *ngIf=\"togglerLabel\">{{ togglerLabel }}</span>\n</button>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatMomentDateModule, provideMomentDateAdapter } from '@angular/material-moment-adapter';\n\nimport { EuiDateRangeSelectorComponent } from './eui-date-range-selector.component';\n\nimport { EuiTimeRangepickerComponent } from './eui-time-range-picker/eui-time-range-picker.component';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiInputNumberModule } from '@eui/components/eui-input-number';\nimport { EuiTimepickerModule } from '@eui/components/eui-timepicker';\nimport { DEFAULT_FORMATS } from '@eui/components/eui-datepicker';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n MatDatepickerModule,\n MatMomentDateModule,\n EuiButtonModule,\n EuiIconModule,\n EuiInputTextModule,\n EuiInputNumberModule,\n EuiTimepickerModule,\n ],\n exports: [EuiDateRangeSelectorComponent, EuiTimeRangepickerComponent],\n declarations: [EuiDateRangeSelectorComponent, EuiTimeRangepickerComponent],\n providers: [\n provideMomentDateAdapter(DEFAULT_FORMATS),\n ],\n})\nexport class EuiDateRangeSelectorModule {}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { DateAdapter } from '@angular/material/core';\nimport moment from 'moment';\n\n/**\n * @description\n * Validator that checks that the start date isn't after the end date.\n *\n * @usageNotes\n * If the user types a value in the input field that is not aligned with the provided format the component propagates a null value that\n * can be used to validate the input field.\n *\n * @returns An error map with the\n * `euiDateRangeInvalid` if the validation check fails, otherwise `null`.\n */\n\nexport const euiStartEndDateValidator =\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 (adapter: DateAdapter<any>): ValidatorFn =>\n (control: AbstractControl): ValidationErrors | null => {\n const start = moment(adapter.getValidDateOrNull(adapter.deserialize(control.value?.startRange)));\n const end = moment(control.value?.endRange);\n return !start || !end || adapter.compareDate(start, end) <= 0 ? null : { euiDateRangeInvalid: { end, actual: start } };\n };\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","takeUntil","i3"],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-date-range-selector.mjs","sources":["../../eui-date-range-selector/eui-time-range-picker/eui-time-range-picker.component.ts","../../eui-date-range-selector/eui-time-range-picker/eui-time-range-picker.component.html","../../eui-date-range-selector/eui-date-range-selector.component.ts","../../eui-date-range-selector/eui-date-range-selector.component.html","../../eui-date-range-selector/eui-date-range-selector.module.ts","../../eui-date-range-selector/eui-date-range-selector.validators.ts","../../eui-date-range-selector/eui-components-eui-date-range-selector.ts"],"sourcesContent":["import {\n Component,\n Inject,\n Optional,\n ViewEncapsulation,\n HostBinding,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FormControl } from '@angular/forms';\n\nimport { DYNAMIC_COMPONENT_CONFIG } from '@eui/core';\nimport { EuiTimeRangePickerConfig } from '../models/eui-time-range-picker.config.model';\n\n@Component({\n selector: 'eui-time-range-picker',\n templateUrl: './eui-time-range-picker.component.html',\n styleUrls: ['../styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiTimeRangepickerComponent implements OnInit, OnDestroy {\n hours: number;\n mins: number;\n secs: number;\n endHours: number;\n endMins: number;\n endSecs: number;\n stepHours: number;\n stepMinutes: number;\n stepSeconds: number;\n hasSeconds: boolean;\n startDateLabel: string;\n endDateLabel: string;\n startTimeFormControl = new FormControl();\n endTimeFormControl = new FormControl();\n @HostBinding('class')\n get class(): string {\n return ['eui-timerange'].join(' ').trim();\n }\n @HostBinding('attr.data-e2e') e2eAttr = 'eui-time-range-picker';\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n protected translateService: TranslateService,\n @Optional() @Inject(DYNAMIC_COMPONENT_CONFIG) config: EuiTimeRangePickerConfig,\n ) {\n this.hours = config?.hours || 0;\n this.mins = config?.mins || 0;\n this.secs = config?.secs || 0;\n this.endHours = config?.endHours || 0;\n this.endMins = config?.endMins || 0;\n this.endSecs = config?.endSecs || 0;\n this.hasSeconds = config?.hasSeconds;\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 this.callback = config?.callback || this.callback;\n }\n\n ngOnInit(): void {\n this.translateService\n .stream('eui.daterangeselector.FIRSTPICKERSLABEL')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.startDateLabel = result;\n });\n\n this.translateService\n .stream('eui.daterangeselector.SECONDPICKERSLABEL')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.endDateLabel = result;\n });\n\n this.startTimeFormControl = new FormControl({ value: { hours: this.hours, mins: this.mins, secs: this.secs }, disabled: false });\n this.endTimeFormControl = new FormControl({ value: { hours: this.endHours, mins: this.endMins, secs: this.endSecs }, disabled: false });\n\n this.startTimeFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.hours = value.hours;\n this.mins = value.mins;\n this.secs = value.secs;\n this.callback(this.hours, this.mins, this.secs, this.endHours, this.endMins, this.endSecs);\n });\n this.endTimeFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.endHours = value.hours;\n this.endMins = value.mins;\n this.endSecs = value.secs;\n this.callback(this.hours, this.mins, this.secs, this.endHours, this.endMins, this.endSecs);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private callback: (hours: number, mins: number, secs?: number, endHours?: number, endMins?: number, endSecs?: number) => void = () => {};\n\n}\n","<div class=\"eui-timerange__time-container\">\n <span class=\"eui-timerange__time-container-label\">{{ startDateLabel }}</span>\n <eui-timepicker iconSize=\"m\" [hasSeconds]=\"hasSeconds\" [formControl]=\"startTimeFormControl\"></eui-timepicker>\n</div>\n\n<div class=\"eui-timerange__time-container\">\n <span class=\"eui-timerange__time-container-label\">{{ endDateLabel }}</span>\n <eui-timepicker iconSize=\"m\" [hasSeconds]=\"hasSeconds\" [formControl]=\"endTimeFormControl\"></eui-timepicker>\n</div>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n ApplicationRef,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n DoCheck,\n EventEmitter,\n HostBinding,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Self,\n SimpleChanges,\n StaticProvider,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, NgControl, Validators } from '@angular/forms';\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\nimport { DateAdapter } from '@angular/material/core';\nimport { ComponentPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport moment from 'moment';\nimport 'moment/min/locales';\n\nimport { DYNAMIC_COMPONENT_CONFIG, LocaleService, uniqueId } from '@eui/core';\nimport { EuiDateRangeSelectorDates } from './models/eui-date-range-selector-dates.model';\nimport { EuiTimeRangepickerComponent } from './eui-time-range-picker/eui-time-range-picker.component';\nimport { EuiTimeRangePickerConfig } from './models/eui-time-range-picker.config.model';\n\n@Component({\n selector: 'eui-date-range-selector',\n templateUrl: './eui-date-range-selector.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiDateRangeSelectorComponent implements OnInit, OnDestroy, OnChanges, ControlValueAccessor, DoCheck {\n selectedDates: EuiDateRangeSelectorDates = { startRange: null, endRange: null };\n public isInvalid: boolean;\n public isTouched: boolean;\n public startRangeFormControl = new FormControl();\n public endRangeFormControl = new FormControl();\n\n @Output() firstSelectedDate = new EventEmitter<any>();\n @Output() secondSelectedDate = new EventEmitter<any>();\n\n @HostBinding('class')\n get class(): string {\n return [\n 'eui-date-range-selector',\n this.isClearable ? 'eui-date-range-selector--clearable' : '',\n this.islongDateFormat || this.isTimeRange ? 'eui-date-range-selector--long-date-format' : '',\n this.isResponsive ? 'eui-date-range-selector--responsive' : '',\n ].join(' ').trim();\n }\n @HostBinding('attr.data-e2e')\n @Input() e2eAttr = 'eui-date-range-selector';\n @Input() minDate: any;\n @Input() maxDate: any;\n @Input() togglerIconSvg = 'eui-calendar-outline';\n @Input() togglerLabel: string;\n @Input() firstInputPlaceholder: string;\n @Input() secondInputPlaceholder: string;\n @Input() firstInputAriaLabel: string;\n @Input() secondInputAriaLabel: string;\n @Input() startDateDefaultValue: any;\n @Input() endDateDefaultValue: any;\n @Input() comparisonStart: any;\n @Input() comparisonEnd: any;\n @Input() startView: 'month' | 'year' | 'multi-year' = 'month';\n @Input() startDateId = `start-date-${uniqueId()}`;\n @Input() stepHours = 1;\n @Input() stepMinutes = 1;\n @Input() stepSeconds = 1;\n @Input({ transform: booleanAttribute }) islongDateFormat = false;\n @Input({ transform: booleanAttribute }) isClearable = false;\n @Input({ transform: booleanAttribute }) isReadOnly = false;\n @Input({ transform: booleanAttribute }) isDisabled = false;\n @Input({ transform: booleanAttribute }) isResponsive = false;\n @Input({ transform: booleanAttribute }) isTimeRange = false;\n @Input({ transform: booleanAttribute }) hasSeconds = false;\n\n protected hasAriaRequiredAttribute: boolean;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private portalHost: DomPortalOutlet;\n private portal: ComponentPortal<EuiTimeRangepickerComponent>;\n protected timeRangeInstance: EuiTimeRangepickerComponent;\n\n constructor(\n protected translateService: TranslateService,\n @Optional() protected localeService: LocaleService,\n protected adapter: DateAdapter<any>,\n private componentFactoryResolver: ComponentFactoryResolver,\n private injector: Injector,\n private appRef: ApplicationRef,\n @Self() @Optional() protected control: NgControl,\n ) {\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n this.localeService\n .getState()\n .pipe(takeUntil(this.destroy$))\n .subscribe((state) => {\n this.adapter.setLocale(state.id);\n });\n\n this.startRangeFormControl = new FormControl({ value: this.startDateDefaultValue, disabled: this.isDisabled });\n this.endRangeFormControl = new FormControl({ value: this.endDateDefaultValue, disabled: this.isDisabled });\n\n if (!this.firstInputPlaceholder) {\n this.translateService\n .stream('eui.daterangeselector.FIRSTPICKERSLABEL')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.firstInputPlaceholder = result;\n });\n }\n // by setting the firstInputAriaLabel to dd/mm/yyyy(or the desired format) the format can be announced to the screen reader users before the users start typing\n if (!this.firstInputAriaLabel) {\n this.translateService\n .stream('eui.daterangeselector.FIRSTPICKERSPLACEHOLDER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.firstInputAriaLabel = result;\n });\n }\n if (!this.secondInputPlaceholder) {\n this.translateService\n .stream('eui.daterangeselector.SECONDPICKERSLABEL')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.secondInputPlaceholder = result;\n });\n }\n // by setting the secondInputAriaLabel to dd/mm/yyyy(or the desired format) the format can be announced to the screen reader users before the users start typing\n if (!this.secondInputAriaLabel) {\n this.translateService\n .stream('eui.daterangeselector.SECONDPICKERSPLACEHOLDER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.secondInputAriaLabel = result;\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 ngDoCheck(): void {\n if (this.control) {\n // marks the input controls as touched/invalid if the form control is touched/invalid\n // eslint-disable-next-line\n this.control?.touched ? this.startRangeFormControl?.markAsTouched() : this.startRangeFormControl.markAsUntouched();\n // eslint-disable-next-line\n this.control?.touched ? this.endRangeFormControl.markAsTouched() : this.endRangeFormControl?.markAsUntouched();\n // eslint-disable-next-line\n this.control?.touched ? (this.isTouched = true) : (this.isTouched = false);\n // eslint-disable-next-line\n this.control?.invalid ? this.startRangeFormControl.setErrors(this.control.errors) : this.startRangeFormControl.setErrors(null);\n // eslint-disable-next-line\n this.control?.invalid ? this.endRangeFormControl.setErrors(this.control.errors) : this.endRangeFormControl.setErrors(null);\n // eslint-disable-next-line\n this.control?.invalid ? (this.isInvalid = true) : (this.isInvalid = false);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['startDateDefaultValue']) {\n this.startRangeFormControl.setValue(this.startDateDefaultValue);\n }\n if (changes && changes['endDateDefaultValue']) {\n this.endRangeFormControl.setValue(this.endDateDefaultValue);\n }\n\n if (changes && changes['isDisabled']) {\n this.setDisabledState(this.isDisabled);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public onFirstDateChange(e: MatDatepickerInputEvent<any>): void {\n this.startDateDefaultValue = e.value;\n this.selectedDates.startRange = e.value;\n this.firstSelectedDate.emit(e.value);\n this.propagateChange(this.selectedDates);\n this.propagateTouched();\n }\n\n public onSecondDateChange(e: MatDatepickerInputEvent<any>): void {\n this.endDateDefaultValue = e.value;\n this.selectedDates.endRange = e.value;\n this.secondSelectedDate.emit(e.value);\n this.propagateChange(this.selectedDates);\n this.propagateTouched();\n }\n\n onFirstDateClear(): void {\n this.startDateDefaultValue = null;\n this.selectedDates.startRange = null;\n this.firstSelectedDate.emit(null);\n this.propagateChange(this.selectedDates);\n }\n onSecondDateClear(): void {\n this.endDateDefaultValue = null;\n this.selectedDates.endRange = null;\n this.secondSelectedDate.emit(null);\n this.propagateChange(this.selectedDates);\n }\n\n writeValue(values: EuiDateRangeSelectorDates): void {\n if (values && values.startRange === undefined) {\n throw new Error('startRange of EuiDateRangeSelectorDates model must be defined');\n }\n if (values && values.endRange === undefined) {\n throw new Error('endRange of EuiDateRangeSelectorDates model must be defined');\n }\n\n this.startDateDefaultValue = values?.startRange;\n this.endDateDefaultValue = values?.endRange;\n this.startRangeFormControl.setValue(values?.startRange);\n this.endRangeFormControl.setValue(values?.endRange);\n this.selectedDates = values || { startRange: null, endRange: null };\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n if (this.isDisabled) {\n this.startRangeFormControl.disable();\n this.endRangeFormControl.disable();\n } else {\n this.startRangeFormControl.enable();\n this.endRangeFormControl.enable();\n }\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.propagateTouched = fn;\n }\n\n /**\n * Creates the injector for passing the timeconfig to the dynamic component.\n * @protected\n */\n protected createInjector(data: any): Injector {\n const injectorTokens: StaticProvider = [{ provide: DYNAMIC_COMPONENT_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens,\n });\n }\n\n /**\n * Fires when the picker opens.\n * @protected\n */\n protected onOpened(): void {\n if (this.isTimeRange) {\n this.portalHost = new DomPortalOutlet(\n document.querySelector('mat-calendar'),\n this.componentFactoryResolver, // TODO: check again if there is an update on framework side EUI-6207\n this.appRef,\n this.injector,\n );\n const timeConfig: EuiTimeRangePickerConfig = {\n hours: this.startDateDefaultValue ? moment(this.startDateDefaultValue).hours() : 0,\n mins: this.startDateDefaultValue ? moment(this.startDateDefaultValue).minutes() : 0,\n secs: this.startDateDefaultValue ? moment(this.startDateDefaultValue).seconds() : 0,\n endHours: this.endDateDefaultValue ? moment(this.endDateDefaultValue).hours() : 0,\n endMins: this.endDateDefaultValue ? moment(this.endDateDefaultValue).minutes() : 0,\n endSecs: this.endDateDefaultValue ? moment(this.endDateDefaultValue).seconds() : 0,\n hasSeconds: this.hasSeconds,\n stepHours: this.stepHours,\n stepMinutes: this.stepMinutes,\n stepSeconds: this.stepSeconds,\n callback: (hours: number, mins: number, secs: number, endHours: number, endMins: number, endSecs: number) => {\n this.updateStartDateTime(hours, mins, secs);\n\n this.updateEndDateTime(endHours, endMins, endSecs);\n },\n };\n\n this.portal = new ComponentPortal(EuiTimeRangepickerComponent, null, this.createInjector(timeConfig));\n const componentRef: ComponentRef<EuiTimeRangepickerComponent> = this.portalHost.attachComponentPortal(this.portal);\n this.timeRangeInstance = componentRef.instance;\n }\n }\n\n protected onStartTimeChange(e: string | Event): void {\n const time = this.extractTime(e);\n this.updateStartDateTime(time.hours, time.mins, time.secs);\n }\n\n protected onEndTimeChange(e: string | Event): void {\n const time = this.extractTime(e);\n this.updateEndDateTime(time.hours, time.mins, time.secs);\n }\n\n protected extractTime(e: string | Event): { hours: number, mins: number, secs: number } {\n const dateTimeString = typeof e === 'string' ? e : (e.target as HTMLInputElement).value;\n // Split the string by space to separate date and time components\n const [datePart, timePart] = dateTimeString.split(' ');\n // Ensure timePart exists to avoid errors\n if (!timePart) {\n return { hours: 0, mins: 0, secs: 0 };\n }\n const [hours, mins, secs] = timePart.split(':').map(part => parseInt(part, 10));\n return {\n hours: hours || 0,\n mins: mins || 0,\n secs: secs || 0,\n };\n }\n\n protected updateStartDateTime(hours: number, mins: number, secs: number): void {\n if (this.startDateDefaultValue) {\n this.startDateDefaultValue = moment(this.startDateDefaultValue).set({ hour: hours, minute: mins, second: secs });\n this.startRangeFormControl.setValue(this.startDateDefaultValue);\n this.selectedDates.startRange = this.startDateDefaultValue;\n }\n this.propagateChange(this.selectedDates);\n }\n protected updateEndDateTime(hours: number, mins: number, secs: number): void {\n if (this.endDateDefaultValue) {\n this.endDateDefaultValue = moment(this.endDateDefaultValue).set({ hour: hours, minute: mins, second: secs });\n this.endRangeFormControl.setValue(this.endDateDefaultValue);\n this.selectedDates.endRange = this.endDateDefaultValue;\n }\n this.propagateChange(this.selectedDates);\n }\n\n protected adaptContainerClasses(): string {\n if(this.isTimeRange && this.hasSeconds) {\n return 'eui-date-range-selector--container-large';\n } else if(this.isTimeRange) {\n return 'eui-date-range-selector--container-height-large';\n } else {\n return null;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars\n private propagateChange = (_: any): void => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private propagateTouched = (): void => {};\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","<mat-date-range-input\n [class.mat-date-range-input--read-only]=\"isReadOnly\"\n [class.mat-date-range-input--disabled]=\"isDisabled\"\n [class.mat-date-range-input--invalid]=\"isInvalid && isTouched\"\n [rangePicker]=\"picker\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [comparisonStart]=\"comparisonStart\"\n [comparisonEnd]=\"comparisonEnd\">\n <input\n #inputStartDate\n class=\"eui-date-range-selector__start-date\"\n euiInputText\n [id]=\"startDateId\"\n [readonly]=\"isReadOnly\"\n matStartDate\n placeholder=\"{{ firstInputPlaceholder }}\"\n attr.aria-label=\"{{ firstInputAriaLabel }}\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"startRangeFormControl\"\n (dateInput)=\"onFirstDateChange($event)\"\n [euiClearable]=\"isClearable\"\n (change)=\"isTimeRange ? onStartTimeChange($event) : null\"\n (clear)=\"onFirstDateClear()\" />\n <input\n #inputEndDate\n class=\"eui-date-range-selector__end-date\"\n euiInputText\n [readonly]=\"isReadOnly\"\n matEndDate\n placeholder=\"{{ secondInputPlaceholder }}\"\n attr.aria-label=\"{{ secondInputAriaLabel }}\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"endRangeFormControl\"\n (dateInput)=\"onSecondDateChange($event)\"\n [euiClearable]=\"isClearable\"\n (change)=\"isTimeRange ? onEndTimeChange($event) : null\"\n (clear)=\"onSecondDateClear()\" />\n</mat-date-range-input>\n<mat-date-range-picker\n #picker\n [startView]=\"startView\"\n (opened)=\"onOpened()\"\n [panelClass]=\"adaptContainerClasses()\">\n</mat-date-range-picker>\n<button\n *ngIf=\"!isReadOnly\"\n class=\"eui-date-range-selector__toggler eui-date-range-selector__toggler-{{ !togglerLabel ? 'icon' : 'label' }}\"\n (click)=\"picker.open()\"\n euiButton\n euiSecondary\n [euiIconButton]=\"!togglerLabel ? true : false\"\n type=\"button\"\n [euiDisabled]=\"isDisabled\"\n aria-haspopup=\"dialog\">\n <ng-container *ngIf=\"!togglerLabel\">\n <eui-icon-svg icon=\"{{ togglerIconSvg }}\" aria-label=\"Open Calendar\" size=\"s\"></eui-icon-svg>\n </ng-container>\n <span *ngIf=\"togglerLabel\">{{ togglerLabel }}</span>\n</button>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatMomentDateModule, provideMomentDateAdapter } from '@angular/material-moment-adapter';\n\nimport { EuiDateRangeSelectorComponent } from './eui-date-range-selector.component';\n\nimport { EuiTimeRangepickerComponent } from './eui-time-range-picker/eui-time-range-picker.component';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiInputNumberModule } from '@eui/components/eui-input-number';\nimport { EuiTimepickerModule } from '@eui/components/eui-timepicker';\nimport { DEFAULT_FORMATS } from '@eui/components/eui-datepicker';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n MatDatepickerModule,\n MatMomentDateModule,\n EuiButtonModule,\n EuiIconModule,\n EuiInputTextModule,\n EuiInputNumberModule,\n EuiTimepickerModule,\n ],\n exports: [EuiDateRangeSelectorComponent, EuiTimeRangepickerComponent],\n declarations: [EuiDateRangeSelectorComponent, EuiTimeRangepickerComponent],\n providers: [\n provideMomentDateAdapter(DEFAULT_FORMATS),\n ],\n})\nexport class EuiDateRangeSelectorModule {}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { DateAdapter } from '@angular/material/core';\nimport moment from 'moment';\n\n/**\n * @description\n * Validator that checks that the start date isn't after the end date.\n *\n * @usageNotes\n * If the user types a value in the input field that is not aligned with the provided format the component propagates a null value that\n * can be used to validate the input field.\n *\n * @returns An error map with the\n * `euiDateRangeInvalid` if the validation check fails, otherwise `null`.\n */\n\nexport const euiStartEndDateValidator =\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 (adapter: DateAdapter<any>): ValidatorFn =>\n (control: AbstractControl): ValidationErrors | null => {\n const start = moment(adapter.getValidDateOrNull(adapter.deserialize(control.value?.startRange)));\n const end = moment(control.value?.endRange);\n return !start || !end || adapter.compareDate(start, end) <= 0 ? null : { euiDateRangeInvalid: { end, actual: start } };\n };\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","takeUntil","i3"],"mappings":"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"}
@@ -16,7 +16,43 @@ import { EuiSelectModule } from '@eui/components/eui-select';
16
16
  import * as i7 from '@ngx-translate/core';
17
17
  import { TranslateModule } from '@ngx-translate/core';
18
18
 
19
+ /**
20
+ * @description
21
+ * The eui-paginator component is in charge of the pagination by splitting up content or data into several pages and adding visual controls for better user experience like:
22
+ * - identifying the current page : clearly identify which page the user is on by displaying the current page number.
23
+ * - providing context into how many pages there are in total : can help provide clarity around the data displayed.
24
+ * - providing various options for navigating : previous and next chevrons or links are the most useful way for the user to move forward or backward through pages of data.
25
+ * - items per page : allows to select the amount of data displayed per page.
26
+ *
27
+ * Best practices & Usage
28
+ * Generally, pagination is recommended to be used if there are more than 25 items displayed in one view. The default number of displayed items may vary depending on the context.
29
+ *
30
+ * The main benefits of using pagination :
31
+ * - delivers structure and feedback over the displayed data
32
+ * - supports embedded navigation (and in particular back and forward, first and last)
33
+ * - pagination is accessible (see A11Y)
34
+ * - pagination typically means smaller, shorter pages and as a result reduced load times
35
+ * - compared to infinite scroll display, it helps to focus the user's mind and not continue to offer more and more choices.
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * public dataSource: any[] = [
40
+ * { id: 0 },
41
+ * ];
42
+ * ```
43
+ *
44
+ * ```html
45
+ * <eui-paginator [length]="dataSource.length"></eui-paginator>
46
+ * ```
47
+ *
48
+ * See {@link https://eui.ecdevops.eu/eui-showcase-ux-components-19.x/style-guide/components/eui-paginator}.
49
+ */
19
50
  class EuiPaginatorComponent {
51
+ /**
52
+ * Sets the `class` attribute for the host element.
53
+ *
54
+ * @returns A string with all CSS classes applied.
55
+ */
20
56
  get cssClasses() {
21
57
  return [
22
58
  'eui-paginator',
@@ -26,19 +62,82 @@ class EuiPaginatorComponent {
26
62
  constructor(EuiAppShellService, decimal) {
27
63
  this.EuiAppShellService = EuiAppShellService;
28
64
  this.decimal = decimal;
65
+ /**
66
+ * Sets the `data-e2e` attribute for the host element.
67
+ *
68
+ * @default 'eui-paginator'
69
+ */
29
70
  this.e2eAttr = 'eui-paginator';
71
+ /**
72
+ * Sets the page size options that will be displayed in the dropdown.
73
+ *
74
+ * @default [5, 10, 25, 50, 100]
75
+ */
30
76
  this.pageSizeOptions = [5, 10, 25, 50, 100];
77
+ /**
78
+ * Sets the number of items displayed in the page.
79
+ *
80
+ * @default 10
81
+ */
31
82
  this.pageSize = 10;
83
+ /**
84
+ * Sets the current page number.
85
+ *
86
+ * @default 0
87
+ */
32
88
  this.page = 0;
89
+ /**
90
+ * Sets the total number of items.
91
+ *
92
+ * @default 0
93
+ */
33
94
  this.length = 0;
95
+ /**
96
+ * In combination with `hasPageNumberNavigation`, sets the number of page numbers displayed in the paginator.
97
+ *
98
+ * @default 5
99
+ */
34
100
  this.nbPageNumberNavigation = 5;
101
+ /**
102
+ * Wheter the paginator is hidden or not.
103
+ *
104
+ * @default false (visible)
105
+ */
35
106
  this.isHidden = false;
107
+ /**
108
+ * Wheter the paginator is in basic mode or not.
109
+ * In this mode, the paginator will only display the previous and next buttons.
110
+ *
111
+ * @default false
112
+ */
36
113
  this.isBasicMode = false;
114
+ /**
115
+ * Wheter the page number are displayed or not.
116
+ *
117
+ * @default false
118
+ */
37
119
  this.hasPageNumberNavigation = false;
120
+ /**
121
+ * Wheter the datasource length is dynamic or not.
122
+ *
123
+ * @default false
124
+ */
38
125
  this.hasDynamicLength = false;
126
+ /**
127
+ * Wheter the page size is displayed or not. Default: true.
128
+ *
129
+ * @default true
130
+ */
39
131
  this.hasPageSize = true;
132
+ /** Event emitted when the page has changed. */
40
133
  this.pageChange = new EventEmitter();
134
+ /**
135
+ * Observable that emits the current page number, the page size and the number of pages.
136
+ */
41
137
  this.page$ = new BehaviorSubject(null);
138
+ /**
139
+ * Observable that emits the length of the datasource
140
+ */
42
141
  this.length$ = new BehaviorSubject(0);
43
142
  this.destroy$ = new Subject();
44
143
  }
@@ -82,6 +181,11 @@ class EuiPaginatorComponent {
82
181
  this.destroy$.next(true);
83
182
  this.destroy$.unsubscribe();
84
183
  }
184
+ /**
185
+ * Returns the page number navigation array.
186
+ *
187
+ * @returns An array of page numbers.
188
+ */
85
189
  get pageNumberNavigation() {
86
190
  const pages = [];
87
191
  for (let i = 0; i < this.nbPage; i++) {
@@ -104,6 +208,11 @@ class EuiPaginatorComponent {
104
208
  const end = start + this.nbPageNumberNav;
105
209
  return pages.slice(start, end);
106
210
  }
211
+ /**
212
+ * Changes the page size by the one provided as parameter.
213
+ *
214
+ * @param size New page size.
215
+ */
107
216
  changePageSize(size) {
108
217
  this.pageSize = parseInt(size, 10);
109
218
  this.nbPage = Math.ceil(this.length / this.pageSize);
@@ -118,6 +227,13 @@ class EuiPaginatorComponent {
118
227
  }
119
228
  this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });
120
229
  }
230
+ /**
231
+ * Sets the page number to the one provided as parameter.
232
+ *
233
+ * @param page New page
234
+ * @param options
235
+ * `emitEvent`: When true or not provided, event is emitted. When false, no events are emitted
236
+ */
121
237
  goToPage(page, options) {
122
238
  this.page = page;
123
239
  this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });
@@ -126,6 +242,12 @@ class EuiPaginatorComponent {
126
242
  this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });
127
243
  }
128
244
  }
245
+ /**
246
+ * Sets the page number to 0 (first page).
247
+ *
248
+ * @param options
249
+ * `emitEvent`: When true or not provided, event is emitted. When false, no events are emitted
250
+ */
129
251
  goFirstPage(options) {
130
252
  this.page = 0;
131
253
  this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });
@@ -134,30 +256,48 @@ class EuiPaginatorComponent {
134
256
  this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });
135
257
  }
136
258
  }
259
+ /**
260
+ * Sets the page number to current - 1.
261
+ */
137
262
  goPreviousPage() {
138
263
  this.page--;
139
264
  this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });
140
265
  this.getRange();
141
266
  this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });
142
267
  }
268
+ /**
269
+ * Sets the page number to current + 1.
270
+ */
143
271
  goNextPage() {
144
272
  this.page++;
145
273
  this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });
146
274
  this.getRange();
147
275
  this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });
148
276
  }
277
+ /**
278
+ * Sets the page number to last page.
279
+ */
149
280
  goLastPage() {
150
281
  this.page = this.nbPage - 1;
151
282
  this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });
152
283
  this.getRange();
153
284
  this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });
154
285
  }
286
+ /**
287
+ * Gives new values to page number, page size and number of pages.
288
+ */
155
289
  setPage(page) {
156
290
  this.page$.next(page);
157
291
  }
292
+ /**
293
+ * Gives new value to the length of the datasource.
294
+ */
158
295
  setLength(length) {
159
296
  this.length$.next(length);
160
297
  }
298
+ /**
299
+ * Calculates the range of items displayed in the paginator.
300
+ */
161
301
  getRange() {
162
302
  const from = this.length > 0 ? this.page * this.pageSize + 1 : 0;
163
303
  const limit = this.page * this.pageSize + this.pageSize;
@@ -165,11 +305,6 @@ class EuiPaginatorComponent {
165
305
  this.range = from && to && this.length ? this.decimal.transform(from) + '–' + this.decimal.transform(to) : '';
166
306
  this.rangeLength = this.length ? this.length.toString() : '';
167
307
  }
168
- /**
169
- * Change the pagination to the given page number
170
- *
171
- * @param page 0-based page number to be displayed
172
- */
173
308
  /**
174
309
  * Change the pagination to the given page number
175
310
  *
@@ -225,6 +360,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
225
360
  type: Output
226
361
  }] } });
227
362
 
363
+ /**
364
+ * @description
365
+ * Module that provides the EuiPaginator component and its dependencies
366
+ *
367
+ * @example
368
+ * ```typescript
369
+ * \@NgModule({
370
+ * imports: [EuiPaginatorModule]
371
+ * })
372
+ * export class YourModule { }
373
+ * ```
374
+ */
228
375
  class EuiPaginatorModule {
229
376
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: EuiPaginatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
230
377
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: EuiPaginatorModule, declarations: [EuiPaginatorComponent], imports: [CommonModule,
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-paginator.mjs","sources":["../../eui-paginator/eui-paginator.component.ts","../../eui-paginator/eui-paginator.component.html","../../eui-paginator/eui-paginator.module.ts","../../eui-paginator/eui-components-eui-paginator.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n Input,\n OnDestroy,\n EventEmitter,\n Output,\n OnChanges,\n SimpleChanges,\n HostBinding,\n booleanAttribute,\n} from '@angular/core';\nimport { Subject, BehaviorSubject } from 'rxjs';\nimport { takeUntil, distinctUntilChanged } from 'rxjs/operators';\nimport { EuiAppShellService } from '@eui/core';\n\nimport { EuiPaginationEvent } from './models/pagination-event.model';\nimport { DecimalPipe } from '@angular/common';\n\n@Component({\n selector: 'eui-paginator',\n templateUrl: './eui-paginator.component.html',\n styleUrls: ['./styles/_index.scss'],\n standalone: false,\n providers: [DecimalPipe],\n})\nexport class EuiPaginatorComponent implements OnInit, OnDestroy, OnChanges {\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-paginator';\n @HostBinding('class')\n get cssClasses(): string {\n return [\n 'eui-paginator',\n this.isHidden ? 'eui-paginator--hidden' : '',\n ].join(' ').trim();\n }\n @Input() pageSizeOptions: number[] = [5, 10, 25, 50, 100];\n @Input() pageSize = 10;\n @Input() page = 0;\n @Input() length = 0;\n @Input() nbPageNumberNavigation = 5;\n @Input({ transform: booleanAttribute }) isHidden = false;\n @Input({ transform: booleanAttribute }) isBasicMode = false;\n @Input({ transform: booleanAttribute }) hasPageNumberNavigation = false;\n @Input({ transform: booleanAttribute }) hasDynamicLength = false;\n @Input({ transform: booleanAttribute }) hasPageSize = true;\n\n @Output() pageChange = new EventEmitter<EuiPaginationEvent>();\n\n public page$: BehaviorSubject<EuiPaginationEvent> = new BehaviorSubject(null);\n public length$: BehaviorSubject<number> = new BehaviorSubject(0);\n public range: string;\n public rangeLength: string;\n public nbPage: number;\n\n private nbPageNumberNav: number;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n public EuiAppShellService: EuiAppShellService,\n private decimal: DecimalPipe,\n ) {}\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.length) {\n this.length$.next(c.length.currentValue);\n this.getRange();\n }\n if (c && c.page) {\n this.page$.next({ page: c.page.currentValue, pageSize: this.pageSize, nbPage: this.nbPage });\n this.getRange();\n }\n if (c && c.pageSize) {\n this.page$.next({ page: this.page, pageSize: c.pageSize.currentValue, nbPage: this.nbPage });\n this.getRange();\n }\n }\n\n ngOnInit(): void {\n if (this.length) {\n this.length$.next(this.length);\n }\n\n this.nbPageNumberNav = this.nbPageNumberNavigation;\n\n this.length$.pipe(takeUntil(this.destroy$), distinctUntilChanged()).subscribe((length) => {\n this.length = length;\n this.nbPage = Math.ceil(this.length / this.pageSize);\n if (!this.hasDynamicLength) {\n this.page = 0;\n }\n this.getRange();\n\n if (this.nbPage < this.nbPageNumberNavigation) {\n this.nbPageNumberNav = this.nbPage;\n } else {\n this.nbPageNumberNav = this.nbPageNumberNavigation;\n }\n\n this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n });\n this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get pageNumberNavigation(): number[] {\n const pages = [];\n for (let i = 0; i < this.nbPage; i++) {\n pages.push(i);\n }\n\n const delta = Math.floor(this.nbPageNumberNav / 2);\n let start = 0;\n if (this.page - delta > 0) {\n start = this.page - delta;\n } else {\n start = 0;\n }\n\n if (this.nbPage - this.page <= this.nbPageNumberNav - (delta + 1)) {\n start = this.nbPage - this.nbPageNumberNav;\n }\n\n if (start < 0) {\n start = 0;\n }\n\n const end = start + this.nbPageNumberNav;\n return pages.slice(start, end);\n }\n\n public changePageSize(size: string): void {\n this.pageSize = parseInt(size, 10);\n this.nbPage = Math.ceil(this.length / this.pageSize);\n this.page = 0;\n this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n this.getRange();\n\n if (this.nbPage < this.nbPageNumberNavigation) {\n this.nbPageNumberNav = this.nbPage;\n } else {\n this.nbPageNumberNav = this.nbPageNumberNavigation;\n }\n\n this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n }\n\n public goToPage(page: number, options?: { emitEvent: boolean }): void {\n this.page = page;\n this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n this.getRange();\n\n if (!options || options?.emitEvent) {\n this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n }\n }\n\n public goFirstPage(options?: { emitEvent: boolean }): void {\n this.page = 0;\n this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n this.getRange();\n\n if (!options || options?.emitEvent) {\n this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n }\n }\n\n public goPreviousPage(): void {\n this.page--;\n this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n this.getRange();\n this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n }\n\n public goNextPage(): void {\n this.page++;\n this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n this.getRange();\n this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n }\n\n public goLastPage(): void {\n this.page = this.nbPage - 1;\n this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n this.getRange();\n this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n }\n\n public setPage(page: EuiPaginationEvent): void {\n this.page$.next(page);\n }\n\n public setLength(length: number): void {\n this.length$.next(length);\n }\n\n public getRange(): void {\n const from = this.length > 0 ? this.page * this.pageSize + 1 : 0;\n const limit = this.page * this.pageSize + this.pageSize;\n const to = limit <= this.length ? limit : this.length;\n this.range = from && to && this.length ? this.decimal.transform(from) + '–' + this.decimal.transform(to) : '';\n this.rangeLength = this.length ? this.length.toString() : '';\n }\n\n /**\n * Change the pagination to the given page number\n *\n * @param page 0-based page number to be displayed\n */\n\n /**\n * Change the pagination to the given page number\n *\n * @param page 0-based page number to be displayed\n * @param options\n * `emitEvent`: When true or not provided, event is emitted. When false, no events are emitted\n */\n public getPage(page: number, options?: { emitEvent: boolean }): void {\n setTimeout(() => {\n this.goToPage(page, options);\n });\n }\n}\n","<div class=\"eui-paginator__page\">\n @if (!isBasicMode || hasPageSize) {\n <div class=\"eui-paginator__page-selector\">\n <div>{{ 'eui.euitable.ITEMS-PER-PAGE' | translate }}:</div>\n <div class=\"page-size__select-wrapper\">\n <select euiSelect class=\"page-size__select\" aria-label=\"Page size selected\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"changePageSize($event)\">\n <option *ngFor=\"let pageSizeOption of pageSizeOptions\" value=\"{{ pageSizeOption }}\">{{ pageSizeOption }}</option>\n </select>\n </div>\n </div>\n @if ((length$ | async) > 0) {\n <div class=\"eui-paginator__page-range-main\">\n {{ 'eui.euitable.SHOWING-RANGE' | translate: { range: range } }} {{ 'eui.euitable.RANGE-LABEL' | translate }}\n {{ rangeLength | number }}\n </div>\n }\n }\n</div>\n\n<div class=\"eui-paginator__page-navigation\">\n\n @if (isBasicMode) {\n\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" transform=\"rotate-180\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n\n } @else {\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goFirstPage()\">\n <eui-icon-svg icon=\"play-skip-back:sharp\" fillColor=\"primary\" aria-label=\"Go to first page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" transform=\"rotate-180\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n <div\n class=\"eui-paginator__page-navigation-numbers\"\n *ngIf=\"hasPageNumberNavigation\">\n <button\n type=\"button\"\n euiSizeS\n *ngFor=\"let pageNumber of pageNumberNavigation\"\n euiButton\n euiBasicButton\n [euiPrimary]=\"pageNumber === page\"\n [euiOutline]=\"pageNumber === page\"\n (click)=\"goToPage(pageNumber)\">\n {{ pageNumber + 1 | number }}\n </button>\n </div>\n <div *ngIf=\"(length$ | async) > 0\" class=\"eui-paginator__page-range\">\n {{ range }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goLastPage()\">\n <eui-icon-svg icon=\"play-skip-forward:sharp\" fillColor=\"primary\" aria-label=\"Go to last page\"></eui-icon-svg>\n </button>\n </div>\n }\n</div>\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiSelectModule } from '@eui/components/eui-select';\n\nimport { EuiPaginatorComponent } from './eui-paginator.component';\n\n@NgModule({\n imports: [\n CommonModule,\n EuiIconModule,\n EuiButtonModule,\n TranslateModule,\n FormsModule,\n EuiSelectModule,\n ],\n declarations: [EuiPaginatorComponent],\n exports: [EuiPaginatorComponent],\n})\nexport class EuiPaginatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-paginator.mjs","sources":["../../eui-paginator/eui-paginator.component.ts","../../eui-paginator/eui-paginator.component.html","../../eui-paginator/eui-paginator.module.ts","../../eui-paginator/eui-components-eui-paginator.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n Input,\n OnDestroy,\n EventEmitter,\n Output,\n OnChanges,\n SimpleChanges,\n HostBinding,\n booleanAttribute,\n} from '@angular/core';\nimport { Subject, BehaviorSubject } from 'rxjs';\nimport { takeUntil, distinctUntilChanged } from 'rxjs/operators';\nimport { EuiAppShellService } from '@eui/core';\n\nimport { EuiPaginationEvent } from './models/pagination-event.model';\nimport { DecimalPipe } from '@angular/common';\n\n/**\n * @description\n * The eui-paginator component is in charge of the pagination by splitting up content or data into several pages and adding visual controls for better user experience like:\n * - identifying the current page : clearly identify which page the user is on by displaying the current page number.\n * - providing context into how many pages there are in total : can help provide clarity around the data displayed.\n * - providing various options for navigating : previous and next chevrons or links are the most useful way for the user to move forward or backward through pages of data.\n * - items per page : allows to select the amount of data displayed per page.\n * \n * Best practices & Usage\n * Generally, pagination is recommended to be used if there are more than 25 items displayed in one view. The default number of displayed items may vary depending on the context.\n * \n * The main benefits of using pagination :\n * - delivers structure and feedback over the displayed data\n * - supports embedded navigation (and in particular back and forward, first and last)\n * - pagination is accessible (see A11Y)\n * - pagination typically means smaller, shorter pages and as a result reduced load times\n * - compared to infinite scroll display, it helps to focus the user's mind and not continue to offer more and more choices.\n *\n * @example\n * ```typescript\n * public dataSource: any[] = [\n * { id: 0 },\n * ];\n * ```\n * \n * ```html\n * <eui-paginator [length]=\"dataSource.length\"></eui-paginator>\n * ```\n *\n * See {@link https://eui.ecdevops.eu/eui-showcase-ux-components-19.x/style-guide/components/eui-paginator}.\n */\n@Component({\n selector: 'eui-paginator',\n templateUrl: './eui-paginator.component.html',\n styleUrls: ['./styles/_index.scss'],\n standalone: false,\n providers: [DecimalPipe],\n})\nexport class EuiPaginatorComponent implements OnInit, OnDestroy, OnChanges {\n /**\n * Sets the `data-e2e` attribute for the host element.\n * \n * @default 'eui-paginator'\n */\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-paginator';\n /**\n * Sets the `class` attribute for the host element.\n *\n * @returns A string with all CSS classes applied.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n 'eui-paginator',\n this.isHidden ? 'eui-paginator--hidden' : '',\n ].join(' ').trim();\n }\n /**\n * Sets the page size options that will be displayed in the dropdown.\n * \n * @default [5, 10, 25, 50, 100]\n */\n @Input() pageSizeOptions: number[] = [5, 10, 25, 50, 100];\n /**\n * Sets the number of items displayed in the page.\n * \n * @default 10\n */\n @Input() pageSize = 10;\n /**\n * Sets the current page number.\n * \n * @default 0\n */\n @Input() page = 0;\n /**\n * Sets the total number of items.\n * \n * @default 0\n */\n @Input() length = 0;\n /**\n * In combination with `hasPageNumberNavigation`, sets the number of page numbers displayed in the paginator.\n * \n * @default 5\n */\n @Input() nbPageNumberNavigation = 5;\n /**\n * Wheter the paginator is hidden or not.\n * \n * @default false (visible)\n */\n @Input({ transform: booleanAttribute }) isHidden = false;\n /**\n * Wheter the paginator is in basic mode or not.\n * In this mode, the paginator will only display the previous and next buttons.\n * \n * @default false\n */\n @Input({ transform: booleanAttribute }) isBasicMode = false;\n /**\n * Wheter the page number are displayed or not.\n * \n * @default false\n */\n @Input({ transform: booleanAttribute }) hasPageNumberNavigation = false;\n /**\n * Wheter the datasource length is dynamic or not.\n * \n * @default false\n */\n @Input({ transform: booleanAttribute }) hasDynamicLength = false;\n /**\n * Wheter the page size is displayed or not. Default: true.\n * \n * @default true\n */\n @Input({ transform: booleanAttribute }) hasPageSize = true;\n\n /** Event emitted when the page has changed. */\n @Output() pageChange = new EventEmitter<EuiPaginationEvent>();\n\n /**\n * Observable that emits the current page number, the page size and the number of pages.\n */\n public page$: BehaviorSubject<EuiPaginationEvent> = new BehaviorSubject(null);\n /**\n * Observable that emits the length of the datasource\n */\n public length$: BehaviorSubject<number> = new BehaviorSubject(0);\n /**\n * The range of items displayed in the paginator.\n */\n public range: string;\n /**\n * The range length of items displayed in the paginator.\n */\n public rangeLength: string;\n /**\n * The number of pages.\n */\n public nbPage: number;\n\n private nbPageNumberNav: number;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n public EuiAppShellService: EuiAppShellService,\n private decimal: DecimalPipe,\n ) {}\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.length) {\n this.length$.next(c.length.currentValue);\n this.getRange();\n }\n if (c && c.page) {\n this.page$.next({ page: c.page.currentValue, pageSize: this.pageSize, nbPage: this.nbPage });\n this.getRange();\n }\n if (c && c.pageSize) {\n this.page$.next({ page: this.page, pageSize: c.pageSize.currentValue, nbPage: this.nbPage });\n this.getRange();\n }\n }\n\n ngOnInit(): void {\n if (this.length) {\n this.length$.next(this.length);\n }\n\n this.nbPageNumberNav = this.nbPageNumberNavigation;\n\n this.length$.pipe(takeUntil(this.destroy$), distinctUntilChanged()).subscribe((length) => {\n this.length = length;\n this.nbPage = Math.ceil(this.length / this.pageSize);\n if (!this.hasDynamicLength) {\n this.page = 0;\n }\n this.getRange();\n\n if (this.nbPage < this.nbPageNumberNavigation) {\n this.nbPageNumberNav = this.nbPage;\n } else {\n this.nbPageNumberNav = this.nbPageNumberNavigation;\n }\n\n this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n });\n this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Returns the page number navigation array.\n *\n * @returns An array of page numbers.\n */\n get pageNumberNavigation(): number[] {\n const pages = [];\n for (let i = 0; i < this.nbPage; i++) {\n pages.push(i);\n }\n\n const delta = Math.floor(this.nbPageNumberNav / 2);\n let start = 0;\n if (this.page - delta > 0) {\n start = this.page - delta;\n } else {\n start = 0;\n }\n\n if (this.nbPage - this.page <= this.nbPageNumberNav - (delta + 1)) {\n start = this.nbPage - this.nbPageNumberNav;\n }\n\n if (start < 0) {\n start = 0;\n }\n\n const end = start + this.nbPageNumberNav;\n return pages.slice(start, end);\n }\n\n /**\n * Changes the page size by the one provided as parameter.\n * \n * @param size New page size.\n */\n public changePageSize(size: string): void {\n this.pageSize = parseInt(size, 10);\n this.nbPage = Math.ceil(this.length / this.pageSize);\n this.page = 0;\n this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n this.getRange();\n\n if (this.nbPage < this.nbPageNumberNavigation) {\n this.nbPageNumberNav = this.nbPage;\n } else {\n this.nbPageNumberNav = this.nbPageNumberNavigation;\n }\n\n this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n }\n\n /**\n * Sets the page number to the one provided as parameter.\n * \n * @param page New page\n * @param options\n * `emitEvent`: When true or not provided, event is emitted. When false, no events are emitted\n */\n public goToPage(page: number, options?: { emitEvent: boolean }): void {\n this.page = page;\n this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n this.getRange();\n\n if (!options || options?.emitEvent) {\n this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n }\n }\n\n /**\n * Sets the page number to 0 (first page).\n * \n * @param options\n * `emitEvent`: When true or not provided, event is emitted. When false, no events are emitted\n */\n public goFirstPage(options?: { emitEvent: boolean }): void {\n this.page = 0;\n this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n this.getRange();\n\n if (!options || options?.emitEvent) {\n this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n }\n }\n\n /**\n * Sets the page number to current - 1.\n */\n public goPreviousPage(): void {\n this.page--;\n this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n this.getRange();\n this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n }\n\n /**\n * Sets the page number to current + 1.\n */\n public goNextPage(): void {\n this.page++;\n this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n this.getRange();\n this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n }\n\n /**\n * Sets the page number to last page.\n */\n public goLastPage(): void {\n this.page = this.nbPage - 1;\n this.page$.next({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n this.getRange();\n this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n }\n\n /**\n * Gives new values to page number, page size and number of pages.\n */\n public setPage(page: EuiPaginationEvent): void {\n this.page$.next(page);\n }\n\n /**\n * Gives new value to the length of the datasource.\n */\n public setLength(length: number): void {\n this.length$.next(length);\n }\n\n /**\n * Calculates the range of items displayed in the paginator.\n */\n public getRange(): void {\n const from = this.length > 0 ? this.page * this.pageSize + 1 : 0;\n const limit = this.page * this.pageSize + this.pageSize;\n const to = limit <= this.length ? limit : this.length;\n this.range = from && to && this.length ? this.decimal.transform(from) + '–' + this.decimal.transform(to) : '';\n this.rangeLength = this.length ? this.length.toString() : '';\n }\n\n /**\n * Change the pagination to the given page number\n *\n * @param page 0-based page number to be displayed\n * @param options\n * `emitEvent`: When true or not provided, event is emitted. When false, no events are emitted\n */\n public getPage(page: number, options?: { emitEvent: boolean }): void {\n setTimeout(() => {\n this.goToPage(page, options);\n });\n }\n}\n","<div class=\"eui-paginator__page\">\n @if (!isBasicMode || hasPageSize) {\n <div class=\"eui-paginator__page-selector\">\n <div>{{ 'eui.euitable.ITEMS-PER-PAGE' | translate }}:</div>\n <div class=\"page-size__select-wrapper\">\n <select euiSelect class=\"page-size__select\" aria-label=\"Page size selected\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"changePageSize($event)\">\n <option *ngFor=\"let pageSizeOption of pageSizeOptions\" value=\"{{ pageSizeOption }}\">{{ pageSizeOption }}</option>\n </select>\n </div>\n </div>\n @if ((length$ | async) > 0) {\n <div class=\"eui-paginator__page-range-main\">\n {{ 'eui.euitable.SHOWING-RANGE' | translate: { range: range } }} {{ 'eui.euitable.RANGE-LABEL' | translate }}\n {{ rangeLength | number }}\n </div>\n }\n }\n</div>\n\n<div class=\"eui-paginator__page-navigation\">\n\n @if (isBasicMode) {\n\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" transform=\"rotate-180\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n\n } @else {\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goFirstPage()\">\n <eui-icon-svg icon=\"play-skip-back:sharp\" fillColor=\"primary\" aria-label=\"Go to first page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" transform=\"rotate-180\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n <div\n class=\"eui-paginator__page-navigation-numbers\"\n *ngIf=\"hasPageNumberNavigation\">\n <button\n type=\"button\"\n euiSizeS\n *ngFor=\"let pageNumber of pageNumberNavigation\"\n euiButton\n euiBasicButton\n [euiPrimary]=\"pageNumber === page\"\n [euiOutline]=\"pageNumber === page\"\n (click)=\"goToPage(pageNumber)\">\n {{ pageNumber + 1 | number }}\n </button>\n </div>\n <div *ngIf=\"(length$ | async) > 0\" class=\"eui-paginator__page-range\">\n {{ range }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"play:sharp\" fillColor=\"primary\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n euiSizeS\n euiButton\n euiIconButton\n euiBasicButton\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goLastPage()\">\n <eui-icon-svg icon=\"play-skip-forward:sharp\" fillColor=\"primary\" aria-label=\"Go to last page\"></eui-icon-svg>\n </button>\n </div>\n }\n</div>\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiSelectModule } from '@eui/components/eui-select';\n\nimport { EuiPaginatorComponent } from './eui-paginator.component';\n\n/**\n * @description\n * Module that provides the EuiPaginator component and its dependencies\n *\n * @example\n * ```typescript\n * \\@NgModule({\n * imports: [EuiPaginatorModule]\n * })\n * export class YourModule { }\n * ```\n */\n@NgModule({\n imports: [\n CommonModule,\n EuiIconModule,\n EuiButtonModule,\n TranslateModule,\n FormsModule,\n EuiSelectModule,\n ],\n declarations: [EuiPaginatorComponent],\n exports: [EuiPaginatorComponent],\n})\nexport class EuiPaginatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAmBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BG;MAQU,qBAAqB,CAAA;AAO9B;;;;AAIG;AACH,IAAA,IACI,UAAU,GAAA;QACV,OAAO;YACH,eAAe;YACf,IAAI,CAAC,QAAQ,GAAG,uBAAuB,GAAG,EAAE;AAC/C,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;IA2FtB,WACW,CAAA,kBAAsC,EACrC,OAAoB,EAAA;QADrB,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB;QACjB,IAAO,CAAA,OAAA,GAAP,OAAO;AA7GnB;;;;AAIG;QACoC,IAAO,CAAA,OAAA,GAAG,eAAe;AAahE;;;;AAIG;AACM,QAAA,IAAA,CAAA,eAAe,GAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;AACzD;;;;AAIG;QACM,IAAQ,CAAA,QAAA,GAAG,EAAE;AACtB;;;;AAIG;QACM,IAAI,CAAA,IAAA,GAAG,CAAC;AACjB;;;;AAIG;QACM,IAAM,CAAA,MAAA,GAAG,CAAC;AACnB;;;;AAIG;QACM,IAAsB,CAAA,sBAAA,GAAG,CAAC;AACnC;;;;AAIG;QACqC,IAAQ,CAAA,QAAA,GAAG,KAAK;AACxD;;;;;AAKG;QACqC,IAAW,CAAA,WAAA,GAAG,KAAK;AAC3D;;;;AAIG;QACqC,IAAuB,CAAA,uBAAA,GAAG,KAAK;AACvE;;;;AAIG;QACqC,IAAgB,CAAA,gBAAA,GAAG,KAAK;AAChE;;;;AAIG;QACqC,IAAW,CAAA,WAAA,GAAG,IAAI;;AAGhD,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAsB;AAE7D;;AAEG;AACI,QAAA,IAAA,CAAA,KAAK,GAAwC,IAAI,eAAe,CAAC,IAAI,CAAC;AAC7E;;AAEG;AACI,QAAA,IAAA,CAAA,OAAO,GAA4B,IAAI,eAAe,CAAC,CAAC,CAAC;AAexD,QAAA,IAAA,CAAA,QAAQ,GAAqB,IAAI,OAAO,EAAW;;AAO3D,IAAA,WAAW,CAAC,CAAgB,EAAA;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;YACxC,IAAI,CAAC,QAAQ,EAAE;;AAEnB,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5F,IAAI,CAAC,QAAQ,EAAE;;AAEnB,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5F,IAAI,CAAC,QAAQ,EAAE;;;IAIvB,QAAQ,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;AAGlC,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,sBAAsB;QAElD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI;AACrF,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM;AACpB,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpD,YAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AACxB,gBAAA,IAAI,CAAC,IAAI,GAAG,CAAC;;YAEjB,IAAI,CAAC,QAAQ,EAAE;YAEf,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,sBAAsB,EAAE;AAC3C,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM;;iBAC/B;AACH,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,sBAAsB;;YAGtD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AACtF,SAAC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;;IAGtF,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;;AAG/B;;;;AAIG;AACH,IAAA,IAAI,oBAAoB,GAAA;QACpB,MAAM,KAAK,GAAG,EAAE;AAChB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClC,YAAA,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;;AAGjB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QAClD,IAAI,KAAK,GAAG,CAAC;QACb,IAAI,IAAI,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC,EAAE;AACvB,YAAA,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK;;aACtB;YACH,KAAK,GAAG,CAAC;;AAGb,QAAA,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YAC/D,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe;;AAG9C,QAAA,IAAI,KAAK,GAAG,CAAC,EAAE;YACX,KAAK,GAAG,CAAC;;AAGb,QAAA,MAAM,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,eAAe;QACxC,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;;AAGlC;;;;AAIG;AACI,IAAA,cAAc,CAAC,IAAY,EAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;AAClC,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;AACpD,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC;QACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAClF,IAAI,CAAC,QAAQ,EAAE;QAEf,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,sBAAsB,EAAE;AAC3C,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM;;aAC/B;AACH,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,sBAAsB;;QAGtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;;AAG3F;;;;;;AAMG;IACI,QAAQ,CAAC,IAAY,EAAE,OAAgC,EAAA;AAC1D,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;QAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAClF,IAAI,CAAC,QAAQ,EAAE;AAEf,QAAA,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,SAAS,EAAE;YAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;;;AAI/F;;;;;AAKG;AACI,IAAA,WAAW,CAAC,OAAgC,EAAA;AAC/C,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC;QACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAClF,IAAI,CAAC,QAAQ,EAAE;AAEf,QAAA,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,SAAS,EAAE;YAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;;;AAI/F;;AAEG;IACI,cAAc,GAAA;QACjB,IAAI,CAAC,IAAI,EAAE;QACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAClF,IAAI,CAAC,QAAQ,EAAE;QACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;;AAG3F;;AAEG;IACI,UAAU,GAAA;QACb,IAAI,CAAC,IAAI,EAAE;QACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAClF,IAAI,CAAC,QAAQ,EAAE;QACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;;AAG3F;;AAEG;IACI,UAAU,GAAA;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAClF,IAAI,CAAC,QAAQ,EAAE;QACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;;AAG3F;;AAEG;AACI,IAAA,OAAO,CAAC,IAAwB,EAAA;AACnC,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;;AAGzB;;AAEG;AACI,IAAA,SAAS,CAAC,MAAc,EAAA;AAC3B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;;AAG7B;;AAEG;IACI,QAAQ,GAAA;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC;AAChE,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;AACvD,QAAA,MAAM,EAAE,GAAG,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM;AACrD,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE;AAC7G,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE;;AAGhE;;;;;;AAMG;IACI,OAAO,CAAC,IAAY,EAAE,OAAgC,EAAA;QACzD,UAAU,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;AAChC,SAAC,CAAC;;8GArTG,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAsDV,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAgB,CAOhB,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,gBAAgB,mFAMhB,gBAAgB,CAAA,EAAA,gBAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,EAMhB,gBAAgB,CAAA,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAMhB,gBAAgB,CAjFzB,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,cAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAC,WAAW,CAAC,+CCvD5B,m+JAwHA,EAAA,MAAA,EAAA,CAAA,4uDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,8EAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,6BAAA,EAAA,QAAA,EAAA,8IAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FD/Da,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAGb,UAAA,EAAA,KAAK,EACN,SAAA,EAAA,CAAC,WAAW,CAAC,EAAA,QAAA,EAAA,m+JAAA,EAAA,MAAA,EAAA,CAAA,4uDAAA,CAAA,EAAA;iHAQe,OAAO,EAAA,CAAA;sBAA7C,WAAW;uBAAC,eAAe;;sBAAG;gBAO3B,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;gBAYX,eAAe,EAAA,CAAA;sBAAvB;gBAMQ,QAAQ,EAAA,CAAA;sBAAhB;gBAMQ,IAAI,EAAA,CAAA;sBAAZ;gBAMQ,MAAM,EAAA,CAAA;sBAAd;gBAMQ,sBAAsB,EAAA,CAAA;sBAA9B;gBAMuC,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAOE,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAME,uBAAuB,EAAA,CAAA;sBAA9D,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAME,gBAAgB,EAAA,CAAA;sBAAvD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAME,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAG5B,UAAU,EAAA,CAAA;sBAAnB;;;AEhIL;;;;;;;;;;;AAWG;MAaU,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAlB,kBAAkB,EAAA,YAAA,EAAA,CAHZ,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAPhC,YAAY;YACZ,aAAa;YACb,eAAe;YACf,eAAe;YACf,WAAW;AACX,YAAA,eAAe,aAGT,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAEtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAVvB,YAAY;YACZ,aAAa;YACb,eAAe;YACf,eAAe;YACf,WAAW;YACX,eAAe,CAAA,EAAA,CAAA,CAAA;;2FAKV,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAZ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,aAAa;wBACb,eAAe;wBACf,eAAe;wBACf,WAAW;wBACX,eAAe;AAClB,qBAAA;oBACD,YAAY,EAAE,CAAC,qBAAqB,CAAC;oBACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACnC,iBAAA;;;AClCD;;AAEG;;;;"}