@libs-ui/components-datetime-dropdown 0.2.342-0 → 0.2.344-0

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.
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
30
30
  standalone: true,
31
31
  }]
32
32
  }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1kcm9wZG93bi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvZGF0ZXRpbWUvZHJvcGRvd24vc3JjL2RpcmVjdGl2ZS9kYXRlLWRyb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxFQUFxQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0vRyxNQUFNLE9BQU8seUNBQXlDO0lBQzVDLGNBQWMsR0FBRyxNQUFNLENBQTZCLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFL0IsY0FBYyxHQUFHLE1BQU0sRUFBVSxDQUFDO0lBRTNDLFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FDckIsSUFBSSxjQUFjLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM3QixLQUFLLE1BQU0sS0FBSyxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUM1QixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDbkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDcEQsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7d0dBdkJVLHlDQUF5Qzs0RkFBekMseUNBQXlDOzs0RkFBekMseUNBQXlDO2tCQUxyRCxTQUFTO21CQUFDO29CQUNULDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLDZDQUE2QztvQkFDdkQsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIG91dHB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5ARGlyZWN0aXZlKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbTGlic1VpQ29tcG9uZW50c0RhdGV0aW1lRHJvcGRvd25EaXJlY3RpdmVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0RhdGV0aW1lRHJvcGRvd25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXIgPSBzaWduYWw8UmVzaXplT2JzZXJ2ZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICByZWFkb25seSBvdXRDaGFuZ2VXaWR0aCA9IG91dHB1dDxudW1iZXI+KCk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlci5zZXQoXG4gICAgICBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICAgICAgaWYgKGVudHJ5LnRhcmdldCA9PT0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMub3V0Q2hhbmdlV2lkdGguZW1pdChlbnRyeS5jb250ZW50UmVjdC53aWR0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlcigpPy5vYnNlcnZlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnJlc2l6ZU9ic2VydmVyKCkpIHtcbiAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIoKT8uZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgfVxufVxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1kcm9wZG93bi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvZGF0ZXRpbWUvZHJvcGRvd24vc3JjL2RpcmVjdGl2ZS9kYXRlLWRyb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQXFCLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTWpHLE1BQU0sT0FBTyx5Q0FBeUM7SUFDNUMsY0FBYyxHQUFHLE1BQU0sQ0FBNkIsU0FBUyxDQUFDLENBQUM7SUFDL0QsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUUvQixjQUFjLEdBQUcsTUFBTSxFQUFVLENBQUM7SUFFM0MsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNyQixJQUFJLGNBQWMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzdCLEtBQUssTUFBTSxLQUFLLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQzVCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUNuRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNwRCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUN0QyxDQUFDO0lBQ0gsQ0FBQzt3R0F2QlUseUNBQXlDOzRGQUF6Qyx5Q0FBeUM7OzRGQUF6Qyx5Q0FBeUM7a0JBTHJELFNBQVM7bUJBQUM7b0JBQ1QsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsNkNBQTZDO29CQUN2RCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIG91dHB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5ARGlyZWN0aXZlKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbTGlic1VpQ29tcG9uZW50c0RhdGV0aW1lRHJvcGRvd25EaXJlY3RpdmVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0RhdGV0aW1lRHJvcGRvd25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXIgPSBzaWduYWw8UmVzaXplT2JzZXJ2ZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICByZWFkb25seSBvdXRDaGFuZ2VXaWR0aCA9IG91dHB1dDxudW1iZXI+KCk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlci5zZXQoXG4gICAgICBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICAgICAgaWYgKGVudHJ5LnRhcmdldCA9PT0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMub3V0Q2hhbmdlV2lkdGguZW1pdChlbnRyeS5jb250ZW50UmVjdC53aWR0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlcigpPy5vYnNlcnZlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnJlc2l6ZU9ic2VydmVyKCkpIHtcbiAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIoKT8uZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"libs-ui-components-datetime-dropdown.mjs","sources":["../../../../../../libs-ui/components/datetime/dropdown/src/defines/date-dropdown.define.ts","../../../../../../libs-ui/components/datetime/dropdown/src/directive/date-dropdown.directive.ts","../../../../../../libs-ui/components/datetime/dropdown/src/pipes/build-list-by-date-type-.pipe.ts","../../../../../../libs-ui/components/datetime/dropdown/src/pipes/build-width.pipe.ts","../../../../../../libs-ui/components/datetime/dropdown/src/item/child/child.component.ts","../../../../../../libs-ui/components/datetime/dropdown/src/item/child/child.component.html","../../../../../../libs-ui/components/datetime/dropdown/src/item/item.component.ts","../../../../../../libs-ui/components/datetime/dropdown/src/item/item.component.html","../../../../../../libs-ui/components/datetime/dropdown/src/dropdown.component.ts","../../../../../../libs-ui/components/datetime/dropdown/src/dropdown.component.html","../../../../../../libs-ui/components/datetime/dropdown/src/interfaces/date-dropdown.interface.ts","../../../../../../libs-ui/components/datetime/dropdown/src/libs-ui-components-datetime-dropdown.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { TranslateService } from '@ngx-translate/core';\nimport { TYPE_DATE_FORMAT, TYPE_DROPDOWN_MONTH_ID } from '../interfaces/date-dropdown.interface';\nimport { IHttpRequestConfig, returnDetailObject, returnListObject } from '@libs-ui/services-http-request';\nimport { UtilsHttpParamsRequest } from '@libs-ui/utils';\nimport { DEFAULT_MAX_YEAR, DEFAULT_MIN_YEAR } from '@libs-ui/components-datetime-picker';\n\nexport const convertGetValue = (type: TYPE_DATE_FORMAT, item: { label: string }, translate: TranslateService) => {\n switch (type) {\n case 'day':\n return translate.instant('i18n_day_param', { day: item.label });\n\n case 'month':\n return translate.instant(item.label || ' ', { year: '' });\n\n case 'year':\n return translate.instant('i18n_year_param', { year: item.label });\n\n case 'quarter':\n return translate.instant('i18n_quarter', { quarter: item.label });\n }\n};\n\nexport const convertItemSelectedDefine = (type: TYPE_DATE_FORMAT, item: { id: number; label: string; labelDisplay: string }, translate: TranslateService, getItemYearDisplay?: (label: string) => void, ignoreConvertYearSelected?: boolean) => {\n switch (type) {\n case 'day':\n return translate.instant('i18n_day_param', { day: item.label });\n\n case 'month':\n return translate.instant(item.label || ' ', { year: '' });\n\n case 'year': {\n let labelDisplay = ignoreConvertYearSelected ? item.label : translate.instant('i18n_year_param', { year: item.label });\n\n if (getItemYearDisplay) {\n labelDisplay = getItemYearDisplay(item.label);\n }\n\n return labelDisplay;\n }\n\n case 'quarter':\n return translate.instant('i18n_quarter', { quarter: item.label });\n }\n};\n\nexport const LIST_MONTHS_DEFAULT = (): Array<{ id: number; label: string }> => {\n return [\n {\n id: 1,\n label: 'i18n_january',\n },\n {\n id: 2,\n label: 'i18n_february',\n },\n {\n id: 3,\n label: 'i18n_march',\n },\n {\n id: 4,\n label: 'i18n_april',\n },\n {\n id: 5,\n label: 'i18n_may',\n },\n {\n id: 6,\n label: 'i18n_june',\n },\n {\n id: 7,\n label: 'i18n_july',\n },\n {\n id: 8,\n label: 'i18n_august',\n },\n {\n id: 9,\n label: 'i18n_september',\n },\n {\n id: 10,\n label: 'i18n_october',\n },\n {\n id: 11,\n label: 'i18n_november',\n },\n {\n id: 12,\n label: 'i18n_december',\n },\n ];\n};\n\nexport const CompareDate = (dateCompare: Array<{ from: number | undefined; to: number | undefined }>, ignoreAllowTimeSame: boolean): boolean => {\n const dateNumberOne = dateCompare[0];\n\n if (dateCompare.length === 2) {\n const dateNumberTow = dateCompare[1];\n\n if (!dateNumberOne.from || !dateNumberOne.to || !dateNumberTow.from || !dateNumberTow.to) {\n return false;\n }\n if (ignoreAllowTimeSame ? dateNumberOne.from > dateNumberOne.to : dateNumberOne.from >= dateNumberOne.to) {\n return true;\n }\n if (dateNumberOne.from === dateNumberOne.to && (ignoreAllowTimeSame ? dateNumberTow.from > dateNumberTow.to : dateNumberTow.from >= dateNumberTow.to)) {\n return true;\n }\n\n return false;\n }\n\n if (!dateNumberOne.from || !dateNumberOne.to) {\n return false;\n }\n if (ignoreAllowTimeSame ? dateNumberOne.from > dateNumberOne.to : dateNumberOne.from >= dateNumberOne.to) {\n return true;\n }\n\n return false;\n};\n\nexport const getConfigHttpRequestDetailDate = (data: Array<{ id: number; label: string }>): IHttpRequestConfig => {\n return {\n objectInstance: returnDetailObject(new UtilsHttpParamsRequest({ fromObject: { fieldKey: 'id' } }), data),\n functionName: 'detailByData',\n argumentsValue: [],\n guideAutoUpdateArgumentsValue: {\n paging: {},\n detailById: {\n subFieldUpdate: 'id',\n fieldUpdate: '[0]',\n fieldGetValue: '',\n },\n },\n };\n};\n\nexport const getConfigHttpRequestListDate = (data: Array<{ id: number; label: string }>): IHttpRequestConfig => {\n return {\n objectInstance: returnListObject(data),\n functionName: 'list',\n argumentsValue: [],\n };\n};\n\nexport const buildListDataByTypeDate = (type: TYPE_DATE_FORMAT, dataYear: { minYear?: number; maxYear?: number; reverseYear?: boolean }, keyMonth: any): Array<{ id: number; label: string }> => {\n switch (type) {\n case 'day':\n return convertDay(keyMonth);\n\n case 'month':\n return LIST_MONTHS_DEFAULT();\n\n case 'year':\n return convertYear(dataYear.minYear, dataYear.maxYear, dataYear.reverseYear);\n\n case 'quarter': {\n const listQuarter = [];\n\n for (let i = 1; i <= 4; i++) {\n listQuarter.push({\n id: i,\n label: `${i}`,\n });\n }\n\n return listQuarter;\n }\n }\n};\n\nexport const defaultMonths = (): Array<{ id: TYPE_DROPDOWN_MONTH_ID; label: string; maxDays: number }> => {\n return [\n {\n id: 1,\n label: 'i18n_january',\n maxDays: 31,\n },\n {\n id: 2,\n label: 'i18n_february',\n maxDays: 29,\n },\n {\n id: 3,\n label: 'i18n_march',\n maxDays: 31,\n },\n {\n id: 4,\n label: 'i18n_april',\n maxDays: 30,\n },\n {\n id: 5,\n label: 'i18n_may',\n maxDays: 31,\n },\n {\n id: 6,\n label: 'i18n_june',\n maxDays: 30,\n },\n {\n id: 7,\n label: 'i18n_july',\n maxDays: 31,\n },\n {\n id: 8,\n label: 'i18n_august',\n maxDays: 31,\n },\n {\n id: 9,\n label: 'i18n_september',\n maxDays: 30,\n },\n {\n id: 10,\n label: 'i18n_october',\n maxDays: 31,\n },\n {\n id: 11,\n label: 'i18n_november',\n maxDays: 30,\n },\n {\n id: 12,\n label: 'i18n_december',\n maxDays: 31,\n },\n ];\n};\n\nconst convertYear = (minYear?: number, maxYear?: number, reverseYear?: boolean) => {\n const listYear = [];\n const minYears = minYear ? minYear : DEFAULT_MIN_YEAR;\n const maxYears = maxYear ? maxYear : DEFAULT_MAX_YEAR;\n\n for (let i = minYears; i <= maxYears; i++) {\n listYear.push({\n id: i,\n label: `${i}`,\n });\n }\n if (reverseYear) {\n listYear.reverse();\n }\n\n return listYear;\n};\n\nconst convertDay = (key: any) => {\n if (!key || isNaN(Number(key))) {\n return [];\n }\n const dayDefault = defaultMonths().find((item) => Number(item.id) === Number(key));\n\n if (!dayDefault) {\n return [];\n }\n const listDay = [];\n\n for (let i = 1; i <= dayDefault.maxDays; i++) {\n listDay.push({\n id: i,\n label: `${i}`,\n });\n }\n\n return listDay;\n};\n","import { Directive, ElementRef, EventEmitter, inject, OnDestroy, OnInit, output, signal } from '@angular/core';\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[LibsUiComponentsDatetimeDropdownDirective]',\n standalone: true,\n})\nexport class LibsUiComponentsDatetimeDropdownDirective implements OnInit, OnDestroy {\n private resizeObserver = signal<ResizeObserver | undefined>(undefined);\n private elementRef = inject(ElementRef);\n\n readonly outChangeWidth = output<number>();\n\n ngOnInit() {\n this.resizeObserver.set(\n new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === this.elementRef.nativeElement) {\n this.outChangeWidth.emit(entry.contentRect.width);\n }\n }\n })\n );\n this.resizeObserver()?.observe(this.elementRef.nativeElement);\n }\n\n ngOnDestroy() {\n if (this.resizeObserver()) {\n this.resizeObserver()?.disconnect();\n }\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { TYPE_DATE_FORMAT } from '../interfaces/date-dropdown.interface';\nimport { buildListDataByTypeDate } from '../defines/date-dropdown.define';\n\n@Pipe({\n name: 'LibsUiComponentsDatetimeDropdownBuildListByDateTypePipe',\n standalone: true,\n})\nexport class LibsUiComponentsDatetimeDropdownBuildListByDateTypePipe implements PipeTransform {\n transform(type: TYPE_DATE_FORMAT, dataYear: { minYear?: number; maxYear?: number; reverseYear?: boolean }, keyMonth: any): Array<{ id: number; label: string }> {\n return buildListDataByTypeDate(type, dataYear, keyMonth);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'LibsUiComponentsDatetimeDropdownBuildWidthPipe',\n standalone: true,\n})\nexport class LibsUiComponentsDatetimeDropdownBuildWidthPipe implements PipeTransform {\n transform(widthByElement: boolean | undefined, widthDropdown: number, first: boolean, multiDate: boolean | undefined): string {\n if (widthByElement) {\n return first ? `${widthDropdown}px` : '100%';\n }\n\n if (multiDate) {\n return first ? `${widthDropdown}px` : '100%';\n }\n\n return `${widthDropdown}px`;\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component, computed, effect, inject, input, output, signal, untracked } from '@angular/core';\nimport { IDropdownFunctionControlEvent, IEmitSelectKey, LibsUiComponentsDropdownComponent } from '@libs-ui/components-dropdown';\nimport { IListConfigItem } from '@libs-ui/components-list';\nimport { IFlagMouse } from '@libs-ui/components-popover';\nimport { IHttpRequestConfig } from '@libs-ui/services-http-request';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { convertGetValue, convertItemSelectedDefine, getConfigHttpRequestDetailDate, getConfigHttpRequestListDate } from '../../defines/date-dropdown.define';\nimport { TYPE_DATE_FORMAT } from '../../interfaces/date-dropdown.interface';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-datetime-dropdown-item-child',\n templateUrl: 'child.component.html',\n standalone: true,\n imports: [TranslateModule, LibsUiComponentsDropdownComponent],\n})\nexport class LibsUiComponentsDatetimeDropdownItemChildComponent {\n // #region PROPERTY\n protected httpRequestDetailItemById = signal<IHttpRequestConfig | undefined>(undefined);\n protected listConfig = signal<IListConfigItem>({\n type: 'text',\n configTemplateText: signal({\n fieldKey: 'id',\n autoScrollToItemSelected: true,\n }),\n });\n protected textNoSelectDisplay = computed(this.computedTextNoSelectDisplay.bind(this));\n protected usingWidth = computed(this.computedWidth.bind(this));\n\n // #region INPUT\n readonly typeDate = input<TYPE_DATE_FORMAT | undefined>(undefined);\n readonly getItemYearDisplay = input<(year: string) => string>();\n readonly listHasButtonUnSelectOption = input<boolean>();\n readonly readonly = input<boolean, boolean>(false, { transform: (value) => value ?? false });\n readonly disable = input<boolean, boolean>(false, { transform: (value) => value ?? false });\n readonly listData = input<Array<{ id: number; label: string }>>([]);\n readonly showBorderError = input<boolean | undefined>(undefined);\n readonly listMaxItemShow = input<number, number>(6, { transform: (value) => value ?? 6 });\n readonly zIndex = input<number, number>(1000, { transform: (value) => value ?? 1000 });\n readonly classIncludeTextDisplayWhenNoSelect = input<string>('');\n readonly listKeySelected = input<any>();\n readonly widthDropdown = input<number>(136);\n readonly first = input<boolean | undefined>(undefined);\n readonly isError = input<boolean>();\n readonly widthByElement = input<boolean>();\n readonly ignoreConvertYearSelected = input<boolean>();\n readonly listKeysDisable = input<Array<any> | undefined>(undefined);\n readonly validRequired = input<{\n message?: string;\n interpolateParams?: { any: object };\n }>();\n\n // #region OUTPUT\n readonly outSelectedKey = output<any>();\n readonly outFunctionControl = output<IDropdownFunctionControlEvent>();\n readonly outChangStageFlagMouse = output<IFlagMouse>();\n\n // #region INJECT\n private translate = inject(TranslateService);\n\n constructor() {\n effect(() => {\n const listData = this.listData();\n\n untracked(() => {\n this.httpRequestDetailItemById.set(getConfigHttpRequestDetailDate(listData));\n this.listConfig.update((current) => {\n if (!current.httpRequestData) {\n current.httpRequestData = signal<IHttpRequestConfig>(getConfigHttpRequestListDate(listData));\n }\n current.httpRequestData.set(getConfigHttpRequestListDate(listData));\n if (!current.configTemplateText) {\n current.configTemplateText = signal({\n fieldKey: 'id',\n autoScrollToItemSelected: true,\n });\n }\n current.configTemplateText.set({\n fieldKey: 'id',\n autoScrollToItemSelected: true,\n getValue: (item: { label: string }) => {\n return convertGetValue(this.typeDate() || 'month', item, this.translate);\n },\n });\n\n return current;\n });\n });\n });\n }\n\n /* FUNCTIONS */\n protected handlerChangeSelectedItem(event?: IEmitSelectKey) {\n if (this.listKeySelected() === event?.key) {\n return;\n }\n if (!event || !event.key) {\n this.outSelectedKey.emit(undefined);\n\n return;\n }\n this.outSelectedKey.emit(event.key);\n }\n\n protected handlerFunctionControl(event: IDropdownFunctionControlEvent) {\n this.outFunctionControl.emit(event);\n }\n\n protected handlerChangFlagMouse(flagMouse: IFlagMouse) {\n this.outChangStageFlagMouse.emit(flagMouse);\n }\n protected convertItemSelected = (item: any) => {\n if (!item || !this.typeDate()) {\n return;\n }\n item.labelDisplay = convertItemSelectedDefine(this.typeDate() ?? 'month', item, this.translate, this.getItemYearDisplay(), this.ignoreConvertYearSelected());\n\n return item;\n };\n private computedTextNoSelectDisplay() {\n switch (this.typeDate()) {\n case 'day':\n return 'i18n_select_day';\n\n case 'month':\n return 'i18n_select_month';\n\n case 'year':\n return 'i18n_select_year';\n\n case 'quarter':\n return 'i18n_select_quarter';\n\n default:\n return 'month';\n }\n }\n\n private computedWidth() {\n if (this.widthByElement()) {\n return this.first() ? `${this.widthDropdown()}px` : '100%';\n }\n\n return `${this.widthDropdown()}px`;\n }\n}\n","@if (typeDate() && httpRequestDetailItemById()) {\n <div [style.width]=\"usingWidth()\">\n <libs_ui-components-dropdown\n [listHasButtonUnSelectOption]=\"listHasButtonUnSelectOption()\"\n [readonly]=\"readonly()\"\n [textDisplayWhenNoSelect]=\"textNoSelectDisplay()\"\n [disable]=\"disable()\"\n [showBorderError]=\"showBorderError()\"\n [listMaxItemShow]=\"listMaxItemShow()\"\n [listClickExactly]=\"false\"\n [zIndex]=\"zIndex()\"\n [labelPopoverConfig]=\"{ zIndex: zIndex() + 1 }\"\n [listConfig]=\"listConfig()\"\n [listKeysDisable]=\"listKeysDisable()\"\n [convertItemSelected]=\"convertItemSelected\"\n [onlyEmitDataWhenReset]=\"true\"\n [classIncludeTextDisplayWhenNoSelect]=\"classIncludeTextDisplayWhenNoSelect()\"\n [httpRequestDetailItemById]=\"httpRequestDetailItemById()\"\n [listKeySelected]=\"listKeySelected()\"\n (outSelectKey)=\"handlerChangeSelectedItem($event)\"\n (outFunctionsControl)=\"handlerFunctionControl($event)\"\n (outChangStageFlagMouse)=\"handlerChangFlagMouse($event)\" />\n </div>\n}\n@if (isError()) {\n <div class=\"flex items-center mt-[4px]\">\n @let constHtmlMessage = validRequired()?.message || 'i18n_valid_empty_message';\n <span\n class=\"libs-ui-text-error libs-ui-font-h7r\"\n [innerHtml]=\"constHtmlMessage | translate: validRequired()?.interpolateParams\"></span>\n </div>\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component, effect, input, OnInit, output, signal, untracked, WritableSignal } from '@angular/core';\nimport { IDropdownFunctionControlEvent } from '@libs-ui/components-dropdown';\nimport { IFlagMouse } from '@libs-ui/components-popover';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { IDateDropdownDisable, ITypeDate, TYPE_DATE_DROPDOWN_FORMAT, TYPE_DATE_FORMAT } from '../interfaces/date-dropdown.interface';\nimport { IEmitSingleDateDropdown } from '../interfaces/emit-dropdown.interface';\nimport { IDateDropdownItemFunctionControlEvent } from '../interfaces/functions-control-event.interface';\nimport { LibsUiComponentsDatetimeDropdownBuildListByDateTypePipe } from '../pipes/build-list-by-date-type-.pipe';\nimport { LibsUiComponentsDatetimeDropdownBuildWidthPipe } from '../pipes/build-width.pipe';\nimport { LibsUiComponentsDatetimeDropdownItemChildComponent } from './child/child.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-datetime-dropdown-item',\n templateUrl: 'item.component.html',\n standalone: true,\n imports: [TranslateModule, LibsUiComponentsDatetimeDropdownItemChildComponent, LibsUiComponentsDatetimeDropdownBuildWidthPipe, LibsUiComponentsDatetimeDropdownBuildListByDateTypePipe],\n})\nexport class LibsUiComponentsDatetimeDropdownItemComponent implements OnInit {\n // #region PROPERTY\n protected typeListDate = signal<Array<WritableSignal<ITypeDate>>>([]);\n protected keyMonthResetDay = signal<any>(undefined);\n protected selectedSingle = signal<IEmitSingleDateDropdown>({});\n protected isError = signal<boolean | undefined>(undefined);\n\n // #region INPUT\n readonly typeDate = input<TYPE_DATE_DROPDOWN_FORMAT | undefined>(undefined);\n readonly disableSecond = input<boolean | undefined>(undefined);\n readonly selectedDate = input<IEmitSingleDateDropdown | undefined>(undefined);\n readonly widthDropdown = input<number, number>(136, { transform: (value) => value ?? 136 });\n readonly widthByElement = input<boolean | undefined>(undefined);\n readonly getItemYearDisplay = input<((year: string) => string) | undefined>(undefined);\n readonly listHasButtonUnSelectOption = input<boolean | undefined>(undefined);\n readonly readonly = input<boolean>(false);\n readonly disable = input<boolean>(false);\n readonly zIndex = input<number, number>(1200, { transform: (value) => value ?? 1200 });\n readonly isMultiple = input<boolean | undefined>(undefined);\n readonly classIncludeTextDisplayWhenNoSelect = input<string | undefined>(undefined);\n readonly isCheckErrorWhenSelectItem = input<boolean | undefined>(undefined);\n readonly maxYear = input<number | undefined>(undefined);\n readonly minYear = input<number | undefined>(undefined);\n readonly reverseYear = input<boolean | undefined, boolean | undefined>(true, { transform: (value) => value ?? true });\n readonly listKeysDisable = input<IDateDropdownDisable | undefined>(undefined);\n readonly ignoreConvertYearSelected = input<boolean | undefined>(undefined);\n readonly validRequired = input<{ message?: string; interpolateParams?: { any: object } } | undefined>(undefined);\n readonly isEmitSelectedDropDown = input<boolean | undefined>(undefined);\n readonly listMaxItemShow = input<{ year?: number; month?: number; quarter?: number; day?: number } | undefined>(undefined);\n\n // #region OUTPUT\n readonly outSelectedData = output<IEmitSingleDateDropdown>();\n readonly outFunctionControl = output<IDateDropdownItemFunctionControlEvent>();\n readonly outChangStageFlagMouse = output<IFlagMouse>();\n\n constructor() {\n effect(() => {\n const typeDate = this.typeDate();\n if (!typeDate) {\n return;\n }\n untracked(() => {\n const data = typeDate.split('-') as Array<TYPE_DATE_FORMAT>;\n\n const results =\n data.map((item) => {\n return signal({ id: (item || 'month') as TYPE_DATE_FORMAT, keySelected: undefined });\n }) || [];\n this.typeListDate.set(results);\n });\n });\n effect(() => {\n const selectedDate = this.selectedDate();\n\n if (!selectedDate) {\n return;\n }\n\n untracked(() => {\n this.selectedSingle.set(selectedDate);\n if (!this.typeListDate().length) {\n return;\n }\n if (this.typeDate() === 'month-day' && selectedDate.month) {\n this.keyMonthResetDay.set(selectedDate.month);\n }\n this.typeListDate().forEach((item, index) => {\n item.update((current) => {\n current.keySelected = selectedDate[current.id] ?? undefined;\n if ((this.disableSecond() && index !== 0 && !current.keySelected) || (!selectedDate['month'] && this.typeDate() === 'month-day' && item().id === 'day')) {\n current.disable = true;\n }\n\n return current;\n });\n });\n });\n });\n }\n\n ngOnInit(): void {\n this.outFunctionControl.emit(this.FunctionsControl);\n }\n\n /* FUNCTIONS */\n public get FunctionsControl(): IDateDropdownItemFunctionControlEvent {\n return {\n checkIsValid: this.validate.bind(this),\n resetDropdown: this.resetDropdown.bind(this),\n resetError: this.resetError.bind(this),\n setError: this.setError.bind(this),\n };\n }\n\n protected handlerSelectedKey(event: any, typeDate: WritableSignal<ITypeDate>, i: number) {\n if (this.selectedSingle()[typeDate().id] === event && this.isEmitSelectedDropDown()) {\n this.outSelectedData.emit(this.selectedSingle());\n\n return;\n }\n typeDate.update((current) => {\n current.keySelected = event;\n\n return current;\n });\n\n if (this.selectedSingle()) {\n this.selectedSingle.update((current) => {\n current[typeDate().id] = event ? Number(event) : undefined;\n\n return current;\n });\n }\n if (this.disableSecond() || (this.typeDate() === 'month-day' && typeDate().id === 'month')) {\n this.keyMonthResetDay.set(event);\n this.typeListDate().forEach((item) => {\n item.update((current) => {\n current.disable = false;\n\n return current;\n });\n });\n }\n this.typeListDate().forEach((item, index) => {\n if (index === 1 && item().functionControl && i === 0) {\n item().functionControl?.reset();\n }\n });\n if (typeDate().keySelected && !this.isCheckErrorWhenSelectItem()) {\n typeDate.update((current) => {\n current.showBorderError = false;\n current.isError = false;\n\n return current;\n });\n this.checkError();\n }\n this.outSelectedData.emit(this.selectedSingle());\n }\n\n protected checkError() {\n if (!this.isError) {\n return;\n }\n let isError = false;\n\n this.typeListDate().forEach((item) => {\n if (item().showBorderError) {\n isError = true;\n }\n });\n\n if (!isError) {\n this.isError.set(false);\n }\n }\n\n protected handlerFunctionControl(event: IDropdownFunctionControlEvent, item: WritableSignal<ITypeDate>) {\n item.update((current) => {\n current.functionControl = event;\n\n return current;\n });\n }\n\n private async resetDropdown() {\n this.typeListDate().forEach((item) => {\n this.selectedSingle.update((current) => {\n current[item().id] = undefined;\n\n return current;\n });\n\n item.update((current) => {\n current.keySelected = undefined;\n current.functionControl?.reset();\n\n return current;\n });\n });\n this.resetError();\n this.outSelectedData.emit(this.selectedSingle());\n }\n\n private async resetError() {\n this.isError.set(false);\n this.typeListDate().forEach((item) => {\n item.update((current) => {\n current.isError = false;\n current.showBorderError = false;\n\n return current;\n });\n });\n }\n\n private async setError(error: boolean) {\n this.typeListDate().forEach((item) => {\n item.update((current) => {\n current.showBorderError = error;\n\n return current;\n });\n });\n }\n\n private async validate() {\n let valid = true;\n\n this.isError.set(false);\n this.typeListDate().forEach((item, index: number) => {\n item.update((current) => {\n current.showBorderError = false;\n current.isError = false;\n if (this.selectedSingle() && !this.selectedSingle()[current.id] && !current.disable) {\n valid = false;\n current.showBorderError = true;\n if (index === 0 && this.typeListDate().length === 2) {\n this.isError.set(true);\n }\n if (index === 1 && this.typeListDate().length === 2 && !this.isError()) {\n current.isError = true;\n }\n }\n\n return current;\n });\n });\n\n return valid;\n }\n\n protected handlerChangFlagMouse(flagMouse: IFlagMouse) {\n this.outChangStageFlagMouse.emit(flagMouse);\n }\n}\n","<div class=\"\">\n <div class=\"flex items-start\">\n @if (typeListDate(); as typeListDate) {\n @for (item of typeListDate; track item().id; let last = $last; let i = $index; let first = $first) {\n <div\n [style.width]=\"widthByElement() | LibsUiComponentsDatetimeDropdownBuildWidthPipe: widthDropdown() : first : isMultiple()\"\n [class.mr-[8px]]=\"!last && typeListDate.length === 2\"\n [style.minWidth.px]=\"widthDropdown()\">\n <libs_ui-components-datetime-dropdown-item-child\n [readonly]=\"readonly()\"\n [typeDate]=\"item().id\"\n [disable]=\"item().disable ?? disable()\"\n [listKeySelected]=\"item().keySelected\"\n [widthByElement]=\"widthByElement()\"\n [first]=\"first\"\n [widthDropdown]=\"widthDropdown()\"\n [listKeysDisable]=\"listKeysDisable()?.[item().id]?.()\"\n [listMaxItemShow]=\"listMaxItemShow()?.[item().id] ?? 6\"\n [isError]=\"item().isError\"\n [listHasButtonUnSelectOption]=\"listHasButtonUnSelectOption()\"\n [zIndex]=\"zIndex()\"\n [showBorderError]=\"item().showBorderError && !item().disable && !disable()\"\n [listData]=\"item().id | LibsUiComponentsDatetimeDropdownBuildListByDateTypePipe: { minYear: minYear(), maxYear: maxYear(), reverseYear: reverseYear() } : keyMonthResetDay()\"\n [classIncludeTextDisplayWhenNoSelect]=\"classIncludeTextDisplayWhenNoSelect() ?? ''\"\n (outSelectedKey)=\"handlerSelectedKey($event, item, i)\"\n (outFunctionControl)=\"handlerFunctionControl($event, item)\"\n (outChangStageFlagMouse)=\"handlerChangFlagMouse($event)\" />\n </div>\n }\n }\n </div>\n\n @if (isError()) {\n <div class=\"flex items-center mt-[4px]\">\n @let constHtmlMessage = validRequired()?.message || 'i18n_valid_empty_message';\n <span\n class=\"libs-ui-font-h7r libs-ui-text-error\"\n [innerHtml]=\"constHtmlMessage | translate: validRequired()?.interpolateParams\"></span>\n </div>\n }\n</div>\n","import { AfterViewInit, ChangeDetectionStrategy, Component, computed, effect, ElementRef, inject, input, OnInit, output, signal, untracked, viewChild } from '@angular/core';\nimport { ILabel, LibsUiComponentsLabelComponent } from '@libs-ui/components-label';\nimport { IFlagMouse } from '@libs-ui/components-popover';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { fromEvent, Subject, takeUntil, timer } from 'rxjs';\nimport { CompareDate } from './defines/date-dropdown.define';\nimport { LibsUiComponentsDatetimeDropdownDirective } from './directive/date-dropdown.directive';\nimport { IDateDropdownDisableKeys, IFromAndToDateLabel, IHiddenDate, TYPE_DATE_DROPDOWN_FORMAT, TYPE_DATE_FORMAT } from './interfaces/date-dropdown.interface';\nimport { IEmitMultiDateDropdown, IEmitSingleDateDropdown } from './interfaces/emit-dropdown.interface';\nimport { IDateDropdownFunctionControlEvent, IDateDropdownItemFunctionControlEvent } from './interfaces/functions-control-event.interface';\nimport { IValidDateDropdown } from './interfaces/valid.interface';\nimport { LibsUiComponentsDatetimeDropdownItemComponent } from './item/item.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-datetime-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TranslateModule, LibsUiComponentsLabelComponent, LibsUiComponentsDatetimeDropdownDirective, LibsUiComponentsDatetimeDropdownItemComponent],\n})\nexport class LibsUiComponentsDatetimeDropdownComponent implements OnInit, AfterViewInit {\n // #region PROPERTY\n protected width = signal<number>(0);\n protected widthElement = signal<number | undefined>(undefined);\n protected widthLabel = signal<number | undefined>(undefined);\n protected widthLabelFrom = signal<number>(0);\n protected widthLabelTo = signal<number>(0);\n protected isErrorCompareDate = signal<boolean | undefined>(undefined);\n protected chooseDate = signal<IEmitMultiDateDropdown | undefined>({ from: signal({}), to: signal({}) });\n protected isResponsive = signal<boolean | undefined>(undefined);\n protected arrayFormat = computed(() => {\n return this.typeFormat().split('-') as Array<TYPE_DATE_FORMAT>;\n });\n protected changeType = signal<boolean | undefined>(undefined);\n\n private cacheWidthLabel = signal<number | undefined>(undefined);\n private timeOut = signal<number | undefined>(undefined);\n private onDestroy = new Subject<void>();\n private functionsControl = new Map<string, IDateDropdownItemFunctionControlEvent>();\n\n // #region INPUT\n readonly labelConfig = input<ILabel | undefined>(undefined);\n readonly widthDropdown = input<number, number>(136, { transform: (value) => value ?? 136 });\n readonly zIndex = input<number, number>(1200, { transform: (value) => value ?? 1200 });\n readonly maxYear = input<number>(0);\n readonly minYear = input<number>(0);\n readonly minWidth = input<number | undefined>(undefined);\n readonly disable = input<boolean>(false);\n readonly readonly = input<boolean>(false);\n readonly isMultiple = input<boolean>(false);\n readonly reverseYear = input<boolean | undefined>(undefined);\n readonly isBorderError = input<boolean>(false);\n readonly ignoreWidth100 = input<boolean>(false);\n readonly widthByElement = input<boolean>(false);\n readonly disableSecond = input<boolean>(false);\n readonly typeFormat = input<TYPE_DATE_DROPDOWN_FORMAT, TYPE_DATE_DROPDOWN_FORMAT>('month-day', { transform: (value) => value ?? 'month-day' });\n readonly fromAndToDateLabel = input<IFromAndToDateLabel>({ from: 'i18n_label_from', to: 'i18n_to' });\n readonly listHasButtonUnSelectOption = input<boolean>(false);\n readonly selectedDateTime = input<IEmitMultiDateDropdown | undefined>(undefined);\n readonly isEmitAfterChanged = input<boolean>(false); // dùng để emit mỗi lần chọn giá trị và lần đầu init\n readonly getItemYearDisplay = input<(year: string) => string>();\n readonly ignoreFromAndToDateLabel = input<boolean>(false);\n readonly classIncludeTextDisplayWhenNoSelect = input<string | undefined>(undefined);\n readonly hiddenDate = input<IHiddenDate | undefined>();\n readonly listMaxItemShow = input<{ year?: number; month?: number; quarter?: number; day?: number } | undefined>(undefined);\n readonly ignoreConvertYearSelected = input<boolean>(false);\n readonly listKeysDisable = input<IDateDropdownDisableKeys | undefined>(undefined);\n\n readonly ignoreAllowTimeEqual = input<boolean, boolean>(true, { transform: (value) => value ?? true });\n readonly ignoreValidTimeCompare = input<boolean, boolean>(false, { transform: (value) => value ?? false });\n readonly isCheckErrorWhenSelectItem = input<boolean, boolean>(true, { transform: (value) => value ?? true });\n readonly ignoreRequiredValueSecondWhenNotValidRequired = input<boolean>(false); // có validate giá trị thứ 2 khi validRequired không?\n readonly validRequired = input<IValidDateDropdown>();\n\n // #region OUTPUT\n readonly outFunctionsControl = output<IDateDropdownFunctionControlEvent>();\n readonly outSelectedDropdown = output<IEmitSingleDateDropdown | IEmitMultiDateDropdown>(); // dùng cho trường hợp emit mỗi một lần chọn giá trị nên khi sử dụng phải check kĩ undefined\n readonly outChooseMultiDate = output<IEmitMultiDateDropdown>();\n readonly outChooseSingleDate = output<IEmitSingleDateDropdown>();\n readonly outChangStageFlagMouse = output<IFlagMouse>();\n\n /* VIEW CHILD */\n private containerRef = viewChild<ElementRef>('parent');\n private labelFromRef = viewChild<ElementRef>('labelFrom');\n private labelToRef = viewChild<ElementRef>('labelTo');\n\n // #region INJECT\n private translate = inject(TranslateService);\n\n constructor() {\n effect(() => {\n const isMultiple = this.isMultiple();\n\n if (!isMultiple) {\n return;\n }\n\n untracked(() => {\n this.changeType.set(true);\n this.functionsControl.clear();\n timer(0)\n .pipe()\n .subscribe(() => {\n this.checkResponsive();\n this.changeType.set(false);\n });\n });\n });\n }\n\n ngOnInit() {\n this.outFunctionsControl.emit(this.FunctionsControl);\n if (this.selectedDateTime()) {\n this.chooseDate.set(this.selectedDateTime());\n }\n }\n\n ngAfterViewInit() {\n fromEvent(window, 'resize').pipe(takeUntil(this.onDestroy)).subscribe(this.setWidthDate.bind(this));\n this.widthLabel.set(undefined);\n timer(0)\n .pipe()\n .subscribe(() => {\n this.checkResponsive();\n });\n }\n\n public get FunctionsControl(): IDateDropdownFunctionControlEvent {\n return {\n checkIsValid: this.validate.bind(this),\n resetError: this.resetError.bind(this),\n resetTime: this.resetDropdown.bind(this),\n };\n }\n\n protected checkResponsive() {\n this.isResponsive.set(false);\n const widthElementParent = this.containerRef()?.nativeElement?.getBoundingClientRect().width || 0;\n\n this.widthLabelFrom.set(this.labelFromRef()?.nativeElement?.getBoundingClientRect().width || 0);\n this.widthLabelTo.set(this.labelToRef()?.nativeElement?.getBoundingClientRect().width || 0);\n\n const spaceBetweenDate = this.arrayFormat().length * 2 + (this.fromAndToDateLabel().from ? 1 : 0);\n const width = this.widthDropdown() * 4 + 8 * spaceBetweenDate + this.widthLabelFrom() + this.widthLabelTo();\n\n if (widthElementParent < width) {\n this.isResponsive.set(true);\n }\n }\n\n protected handlerChangeSelectedKey(event: IEmitSingleDateDropdown, type: 'from' | 'to') {\n this.chooseDate.update((current) => {\n if (current) {\n current[type].set(event);\n }\n\n return current;\n });\n if (this.isEmitAfterChanged()) {\n const dataEmit = this.isMultiple() ? this.chooseDate() : this.chooseDate()?.from();\n\n if (dataEmit) {\n this.outSelectedDropdown.emit(dataEmit);\n }\n }\n this.applyDate();\n }\n\n private async resetDropdown() {\n this.functionsControl.forEach((control) => control.resetDropdown());\n }\n\n private async resetError() {\n this.functionsControl.forEach((control) => control.resetError());\n }\n\n private setWidthDate() {\n if (!this.containerRef() || !this.containerRef()?.nativeElement) {\n return;\n }\n timer(0)\n .pipe()\n .subscribe(() => {\n this.checkResponsive();\n });\n }\n\n protected handlerFunctionControl(event: IDateDropdownItemFunctionControlEvent, type: 'from' | 'to') {\n this.functionsControl.set(type, event);\n }\n\n protected async checkValid() {\n let valid = true;\n\n for (const control of this.functionsControl.values()) {\n if (!(await control.checkIsValid())) {\n valid = false;\n }\n }\n if (this.compareDate()) {\n valid = false;\n }\n\n return valid;\n }\n\n private setError(error: boolean) {\n this.functionsControl.forEach((control) => control.setError(error));\n }\n\n private compareDate() {\n const type = this.typeFormat().split('-') as Array<TYPE_DATE_FORMAT>;\n const dateCompare: Array<{ from: number | undefined; to: number | undefined }> = [];\n\n type.forEach((item) => {\n const from = this.chooseDate()?.from()[item];\n const to = this.chooseDate()?.to()[item];\n\n dateCompare.push({ from: from, to: to });\n });\n if (this.ignoreValidTimeCompare() || !this.checkCondition(true)) {\n this.isErrorCompareDate.set(false);\n\n return false;\n }\n if (CompareDate(dateCompare, this.ignoreAllowTimeEqual())) {\n this.setError(true);\n this.isErrorCompareDate.set(true);\n\n return true;\n }\n this.isErrorCompareDate.set(false);\n\n return false;\n }\n\n private async validate() {\n let valid = true;\n\n if (!this.validRequired()) {\n if (!this.checkCondition(false) && !this.ignoreRequiredValueSecondWhenNotValidRequired()) {\n valid = await this.checkValid();\n }\n\n return valid;\n }\n\n return await this.checkValid();\n }\n\n private checkCondition(hasValue: boolean) {\n let checkValue = true;\n const type = this.typeFormat().split('-') as Array<TYPE_DATE_FORMAT>;\n\n type.forEach((item) => {\n if (hasValue && (!this.chooseDate()?.from()[item] || !this.chooseDate()?.to()[item])) {\n checkValue = false;\n }\n if (!hasValue && (this.chooseDate()?.from()[item] || this.chooseDate()?.to()[item])) {\n checkValue = false;\n }\n });\n\n return checkValue;\n }\n\n protected applyDate() {\n this.setError(false);\n this.isErrorCompareDate.set(false);\n if (this.isCheckErrorWhenSelectItem() && !this.validate()) {\n return;\n }\n const from = this.chooseDate()?.from;\n const to = this.chooseDate()?.to;\n\n if (this.isMultiple()) {\n if (this.compareDate()) {\n return;\n }\n let dataSelected: IEmitMultiDateDropdown | undefined = { from: signal({}), to: signal({}) };\n\n this.arrayFormat().forEach((key) => {\n if (!from?.()?.[key] || !to?.()?.[key]) {\n dataSelected = undefined;\n }\n if (dataSelected) {\n dataSelected.from.update((current) => {\n current[key] = Number(from?.()[key]);\n\n return current;\n });\n dataSelected.to.update((current) => {\n current[key] = Number(to?.()[key]);\n\n return current;\n });\n }\n });\n\n if (dataSelected) {\n this.outChooseMultiDate.emit(dataSelected);\n }\n\n return;\n }\n let dataSelected: IEmitSingleDateDropdown | undefined = {};\n\n this.arrayFormat().forEach((key) => {\n if (!from?.()?.[key]) {\n dataSelected = undefined;\n }\n if (dataSelected) {\n dataSelected[key] = Number(from?.()?.[key]);\n }\n });\n if (dataSelected) {\n this.outChooseSingleDate.emit(dataSelected);\n }\n }\n\n protected handlerChangeWidthLabel(width: number) {\n this.cacheWidthLabel.set(width < (this.cacheWidthLabel() || 0) ? this.cacheWidthLabel() : Math.ceil(width));\n if (this.timeOut()) {\n clearTimeout(this.timeOut());\n }\n this.timeOut.set(\n setTimeout(() => {\n this.widthLabel.set(this.cacheWidthLabel());\n }, 100) as unknown as number\n );\n }\n\n protected handlerChangStageFlagMouse(flagMouse: IFlagMouse) {\n this.outChangStageFlagMouse.emit(flagMouse);\n }\n}\n","@if (labelConfig(); as labelConfig) {\n <libs_ui-components-label\n [classInclude]=\"labelConfig.classInclude\"\n [labelLeft]=\"labelConfig.labelLeft\"\n [labelLeftClass]=\"labelConfig.labelLeftClass\"\n [required]=\"labelConfig.required\"\n [description]=\"labelConfig.description\"\n [labelRight]=\"labelConfig.labelRight\"\n [labelRightClass]=\"labelConfig.labelRightClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [buttonsLeft]=\"labelConfig.buttonsLeft\"\n [buttonsRight]=\"labelConfig.buttonsRight\"\n [buttonsDescription]=\"labelConfig.buttonsDescription\"\n [descriptionClass]=\"labelConfig.descriptionClass\"\n [disableButtonsLeft]=\"labelConfig.disableButtonsLeft\"\n [disableButtonsRight]=\"labelConfig.disableButtonsRight\"\n [hasToggle]=\"labelConfig.hasToggle\"\n [toggleActive]=\"labelConfig.toggleActive\"\n [toggleDisable]=\"labelConfig.toggleDisable || disable()\"\n [popover]=\"labelConfig.popover\"\n [iconPopoverClass]=\"labelConfig.iconPopoverClass\"\n [limitLength]=\"labelConfig.limitLength\"\n [count]=\"labelConfig.count\" />\n}\n<div\n #parent\n class=\"flex items-start\"\n [class.!w-full]=\"widthByElement()\"\n [class.!column]=\"isResponsive() && isMultiple()\">\n <div\n #childFrom\n class=\"flex items-start\"\n [class.w-[50%]]=\"widthByElement() && !isResponsive()\"\n [class.!mb-[8px]]=\"isResponsive() && isMultiple()\"\n [class.!mr-[8px]]=\"!isResponsive() && isMultiple()\"\n [class.w-full]=\"(!isMultiple() && !widthByElement()) || isResponsive()\"\n [style.width.px]=\"!widthByElement() && isMultiple() && !isResponsive() ? widthDropdown() * arrayFormat().length + 8 * arrayFormat().length + widthLabelFrom() : undefined\">\n @if (isMultiple() && !ignoreFromAndToDateLabel() && fromAndToDateLabel().from) {\n <div\n class=\"mr-[8px] flex-shrink-0 h-[32px] flex items-center\"\n [style.width.px]=\"isResponsive() ? widthLabel() || undefined : undefined\">\n <span\n #labelFrom\n LibsUiComponentsDatetimeDropdownDirective\n [class.!opacity-[0.5]]=\"disable()\"\n class=\"libs-ui-font-h5r text-nowrap {{ fromAndToDateLabel().classLabelFrom || '' }}\"\n (outChangeWidth)=\"handlerChangeWidthLabel($event)\">\n @let constHtmlFrom = fromAndToDateLabel().from || ' ';\n {{ constHtmlFrom | translate }}\n </span>\n </div>\n }\n <div\n class=\"flex\"\n [class.!w-full]=\"widthByElement()\">\n @if (!changeType()) {\n <libs_ui-components-datetime-dropdown-item\n [class.!w-full]=\"widthByElement()\"\n [disableSecond]=\"disableSecond()\"\n [typeDate]=\"typeFormat()\"\n [zIndex]=\"zIndex()\"\n [maxYear]=\"maxYear()\"\n [disable]=\"disable()\"\n [minYear]=\"minYear()\"\n [readonly]=\"readonly()\"\n [isMultiple]=\"isMultiple() ? (isResponsive() ? true : false) : true\"\n [reverseYear]=\"reverseYear()\"\n [selectedDate]=\"selectedDateTime()?.from() || {}\"\n [widthDropdown]=\"widthDropdown()\"\n [widthByElement]=\"widthByElement()\"\n [getItemYearDisplay]=\"getItemYearDisplay()\"\n [listMaxItemShow]=\"listMaxItemShow()\"\n [listKeysDisable]=\"listKeysDisable()?.from()\"\n [listHasButtonUnSelectOption]=\"listHasButtonUnSelectOption()\"\n [isEmitSelectedDropDown]=\"isEmitAfterChanged()\"\n [classIncludeTextDisplayWhenNoSelect]=\"'libs-ui-font-h5r ' + classIncludeTextDisplayWhenNoSelect()\"\n (outSelectedData)=\"handlerChangeSelectedKey($event, 'from')\"\n (outFunctionControl)=\"handlerFunctionControl($event, 'from')\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\" />\n }\n </div>\n </div>\n @if (isMultiple()) {\n <div\n #childTo\n [class.!w-[50%]]=\"widthByElement()\"\n [class.!w-full]=\"!widthByElement() || isResponsive()\"\n class=\"flex items-start\">\n <div\n class=\"mr-[8px] h-[32px] flex-shrink-0 flex items-center\"\n [style.width.px]=\"isResponsive() ? widthLabel() : undefined\">\n @if (!ignoreFromAndToDateLabel()) {\n <span\n #labelTo\n LibsUiComponentsDatetimeDropdownDirective\n [class.!opacity-[0.5]]=\"disable()\"\n class=\"libs-ui-font-h5r text-nowrap {{ fromAndToDateLabel().classLabelTo || '' }}\"\n (outChangeWidth)=\"handlerChangeWidthLabel($event)\">\n @let constHtmlTo = fromAndToDateLabel().to || ' ';\n {{ constHtmlTo | translate }}\n </span>\n }\n @if (ignoreFromAndToDateLabel()) {\n <span\n [class.!opacity-[0.5]]=\"disable()\"\n class=\"libs-ui-font-h5r\">\n -\n </span>\n }\n </div>\n <div\n class=\"flex\"\n [class.!w-full]=\"widthByElement()\">\n @if (!changeType()) {\n <libs_ui-components-datetime-dropdown-item\n [class.w-full]=\"widthByElement()\"\n [disableSecond]=\"disableSecond()\"\n [typeDate]=\"typeFormat()\"\n [zIndex]=\"zIndex()\"\n [maxYear]=\"maxYear()\"\n [disable]=\"disable()\"\n [minYear]=\"minYear()\"\n [readonly]=\"readonly()\"\n [isMultiple]=\"isMultiple()\"\n [reverseYear]=\"reverseYear()\"\n [selectedDate]=\"selectedDateTime()?.to() || {}\"\n [widthDropdown]=\"widthDropdown()\"\n [widthByElement]=\"widthByElement()\"\n [getItemYearDisplay]=\"getItemYearDisplay()\"\n [listMaxItemShow]=\"listMaxItemShow()\"\n [listKeysDisable]=\"listKeysDisable()?.to()\"\n [listHasButtonUnSelectOption]=\"listHasButtonUnSelectOption()\"\n [classIncludeTextDisplayWhenNoSelect]=\"'libs-ui-font-h5r ' + classIncludeTextDisplayWhenNoSelect\"\n [isEmitSelectedDropDown]=\"isEmitAfterChanged()\"\n (outSelectedData)=\"handlerChangeSelectedKey($event, 'to')\"\n (outFunctionControl)=\"handlerFunctionControl($event, 'to')\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\" />\n }\n </div>\n </div>\n }\n</div>\n\n@if (isErrorCompareDate()) {\n <div class=\"flex items-center mt-[4px]\">\n <span class=\"libs-ui-message-error libs-ui-font-h7r libs-ui-text-error\">\n @let constHtmlMessage = validRequired()?.messageValidCompareTime || 'i18n_invalid_end_date_selected';\n {{ constHtmlMessage | translate: validRequired()?.interpolateParamsCompareTime }}\n </span>\n </div>\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { WritableSignal } from '@angular/core';\nimport { IDropdownFunctionControlEvent } from '@libs-ui/components-dropdown';\n\nexport type TYPE_DROPDOWN_MONTH_ID = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\nexport type TYPE_DATE_DROPDOWN_FORMAT = 'year' | 'month' | 'quarter' | 'year-month' | 'month-day' | 'year-quarter' | string;\nexport type TYPE_DATE_FORMAT = 'year' | 'month' | 'quarter' | 'day';\n\nexport interface ITypeDate {\n id: TYPE_DATE_FORMAT;\n keySelected: any;\n disable?: boolean;\n showBorderError?: boolean;\n isError?: boolean;\n functionControl?: IDropdownFunctionControlEvent;\n}\n\nexport interface IDateDropdownDisableKeys {\n from?: WritableSignal<IDateDropdownDisable>;\n to?: WritableSignal<IDateDropdownDisable>;\n}\n\nexport interface IDateDropdownDisable {\n year?: WritableSignal<Array<number>>;\n month?: WritableSignal<Array<number>>;\n quarter?: WritableSignal<Array<number>>;\n day?: WritableSignal<Array<number>>;\n}\n\nexport interface IHiddenDate {\n formatDate: TYPE_DATE_DROPDOWN_FORMAT;\n yearMonth?: WritableSignal<Array<WritableSignal<IHiddenDateYearMonth>>>;\n monthDay?: WritableSignal<Array<WritableSignal<IHiddenDateMonthDay>>>;\n}\n\ninterface IHiddenDateMonthDay {\n hiddenMonth: number;\n hiddenDays: Array<number>;\n}\ninterface IHiddenDateYearMonth {\n hiddenYear: number;\n hiddenMonths: Array<number>;\n}\n\nexport interface IFromAndToDateLabel {\n to?: string;\n from?: string;\n classLabelTo?: string;\n classLabelFrom?: string;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAOO,MAAM,eAAe,GAAG,CAAC,IAAsB,EAAE,IAAuB,EAAE,SAA2B,KAAI;IAC9G,QAAQ,IAAI;AACV,QAAA,KAAK,KAAK;AACR,YAAA,OAAO,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AAEjE,QAAA,KAAK,OAAO;AACV,YAAA,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAE3D,QAAA,KAAK,MAAM;AACT,YAAA,OAAO,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AAEnE,QAAA,KAAK,SAAS;AACZ,YAAA,OAAO,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;;AAEvE,CAAC;AAEM,MAAM,yBAAyB,GAAG,CAAC,IAAsB,EAAE,IAAyD,EAAE,SAA2B,EAAE,kBAA4C,EAAE,yBAAmC,KAAI;IAC7O,QAAQ,IAAI;AACV,QAAA,KAAK,KAAK;AACR,YAAA,OAAO,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AAEjE,QAAA,KAAK,OAAO;AACV,YAAA,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAE3D,KAAK,MAAM,EAAE;YACX,IAAI,YAAY,GAAG,yBAAyB,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAEtH,IAAI,kBAAkB,EAAE;AACtB,gBAAA,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;YAC/C;AAEA,YAAA,OAAO,YAAY;QACrB;AAEA,QAAA,KAAK,SAAS;AACZ,YAAA,OAAO,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;;AAEvE,CAAC;AAEM,MAAM,mBAAmB,GAAG,MAA2C;IAC5E,OAAO;AACL,QAAA;AACE,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,KAAK,EAAE,cAAc;AACtB,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,KAAK,EAAE,eAAe;AACvB,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,KAAK,EAAE,YAAY;AACpB,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,KAAK,EAAE,YAAY;AACpB,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,KAAK,EAAE,UAAU;AAClB,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,KAAK,EAAE,WAAW;AACnB,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,KAAK,EAAE,WAAW;AACnB,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,KAAK,EAAE,aAAa;AACrB,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,KAAK,EAAE,gBAAgB;AACxB,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,KAAK,EAAE,cAAc;AACtB,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,KAAK,EAAE,eAAe;AACvB,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,KAAK,EAAE,eAAe;AACvB,SAAA;KACF;AACH,CAAC;AAEM,MAAM,WAAW,GAAG,CAAC,WAAwE,EAAE,mBAA4B,KAAa;AAC7I,IAAA,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC;AAEpC,IAAA,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,QAAA,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC;QAEpC,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE;AACxF,YAAA,OAAO,KAAK;QACd;QACA,IAAI,mBAAmB,GAAG,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,EAAE,GAAG,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,EAAE,EAAE;AACxG,YAAA,OAAO,IAAI;QACb;AACA,QAAA,IAAI,aAAa,CAAC,IAAI,KAAK,aAAa,CAAC,EAAE,KAAK,mBAAmB,GAAG,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,EAAE,GAAG,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,EAAE,CAAC,EAAE;AACrJ,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,OAAO,KAAK;IACd;IAEA,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE;AAC5C,QAAA,OAAO,KAAK;IACd;IACA,IAAI,mBAAmB,GAAG,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,EAAE,GAAG,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,EAAE,EAAE;AACxG,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,OAAO,KAAK;AACd,CAAC;AAEM,MAAM,8BAA8B,GAAG,CAAC,IAA0C,KAAwB;IAC/G,OAAO;AACL,QAAA,cAAc,EAAE,kBAAkB,CAAC,IAAI,sBAAsB,CAAC,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC;AACxG,QAAA,YAAY,EAAE,cAAc;AAC5B,QAAA,cAAc,EAAE,EAAE;AAClB,QAAA,6BAA6B,EAAE;AAC7B,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,UAAU,EAAE;AACV,gBAAA,cAAc,EAAE,IAAI;AACpB,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,aAAa,EAAE,EAAE;AAClB,aAAA;AACF,SAAA;KACF;AACH,CAAC;AAEM,MAAM,4BAA4B,GAAG,CAAC,IAA0C,KAAwB;IAC7G,OAAO;AACL,QAAA,cAAc,EAAE,gBAAgB,CAAC,IAAI,CAAC;AACtC,QAAA,YAAY,EAAE,MAAM;AACpB,QAAA,cAAc,EAAE,EAAE;KACnB;AACH,CAAC;AAEM,MAAM,uBAAuB,GAAG,CAAC,IAAsB,EAAE,QAAuE,EAAE,QAAa,KAA0C;IAC9L,QAAQ,IAAI;AACV,QAAA,KAAK,KAAK;AACR,YAAA,OAAO,UAAU,CAAC,QAAQ,CAAC;AAE7B,QAAA,KAAK,OAAO;YACV,OAAO,mBAAmB,EAAE;AAE9B,QAAA,KAAK,MAAM;AACT,YAAA,OAAO,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC;QAE9E,KAAK,SAAS,EAAE;YACd,MAAM,WAAW,GAAG,EAAE;AAEtB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC3B,WAAW,CAAC,IAAI,CAAC;AACf,oBAAA,EAAE,EAAE,CAAC;oBACL,KAAK,EAAE,CAAA,EAAG,CAAC,CAAA,CAAE;AACd,iBAAA,CAAC;YACJ;AAEA,YAAA,OAAO,WAAW;QACpB;;AAEJ,CAAC;AAEM,MAAM,aAAa,GAAG,MAA4E;IACvG,OAAO;AACL,QAAA;AACE,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,KAAK,EAAE,eAAe;AACtB,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,KAAK,EAAE,YAAY;AACnB,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,KAAK,EAAE,YAAY;AACnB,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,KAAK,EAAE,WAAW;AAClB,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,KAAK,EAAE,WAAW;AAClB,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,KAAK,EAAE,gBAAgB;AACvB,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,KAAK,EAAE,eAAe;AACtB,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,KAAK,EAAE,eAAe;AACtB,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;KACF;AACH,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,OAAgB,EAAE,OAAgB,EAAE,WAAqB,KAAI;IAChF,MAAM,QAAQ,GAAG,EAAE;IACnB,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB;IACrD,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB;AAErD,IAAA,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,EAAE,EAAE;QACzC,QAAQ,CAAC,IAAI,CAAC;AACZ,YAAA,EAAE,EAAE,CAAC;YACL,KAAK,EAAE,CAAA,EAAG,CAAC,CAAA,CAAE;AACd,SAAA,CAAC;IACJ;IACA,IAAI,WAAW,EAAE;QACf,QAAQ,CAAC,OAAO,EAAE;IACpB;AAEA,IAAA,OAAO,QAAQ;AACjB,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,GAAQ,KAAI;IAC9B,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;AAC9B,QAAA,OAAO,EAAE;IACX;IACA,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;IAElF,IAAI,CAAC,UAAU,EAAE;AACf,QAAA,OAAO,EAAE;IACX;IACA,MAAM,OAAO,GAAG,EAAE;AAElB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;QAC5C,OAAO,CAAC,IAAI,CAAC;AACX,YAAA,EAAE,EAAE,CAAC;YACL,KAAK,EAAE,CAAA,EAAG,CAAC,CAAA,CAAE;AACd,SAAA,CAAC;IACJ;AAEA,IAAA,OAAO,OAAO;AAChB,CAAC;;MClRY,yCAAyC,CAAA;AAC5C,IAAA,cAAc,GAAG,MAAM,CAA6B,SAAS,CAAC;AAC9D,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAE9B,cAAc,GAAG,MAAM,EAAU;IAE1C,QAAQ,GAAA;QACN,IAAI,CAAC,cAAc,CAAC,GAAG,CACrB,IAAI,cAAc,CAAC,CAAC,OAAO,KAAI;AAC7B,YAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;gBAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;oBAClD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;gBACnD;YACF;QACF,CAAC,CAAC,CACH;AACD,QAAA,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;IAC/D;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;AACzB,YAAA,IAAI,CAAC,cAAc,EAAE,EAAE,UAAU,EAAE;QACrC;IACF;wGAvBW,yCAAyC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAzC,yCAAyC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAzC,yCAAyC,EAAA,UAAA,EAAA,CAAA;kBALrD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAET,oBAAA,QAAQ,EAAE,6CAA6C;AACvD,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;ACLD;MASa,uDAAuD,CAAA;AAClE,IAAA,SAAS,CAAC,IAAsB,EAAE,QAAuE,EAAE,QAAa,EAAA;QACtH,OAAO,uBAAuB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC;IAC1D;wGAHW,uDAAuD,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA;sGAAvD,uDAAuD,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,yDAAA,EAAA,CAAA;;4FAAvD,uDAAuD,EAAA,UAAA,EAAA,CAAA;kBAJnE,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,yDAAyD;AAC/D,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;MCFY,8CAA8C,CAAA;AACzD,IAAA,SAAS,CAAC,cAAmC,EAAE,aAAqB,EAAE,KAAc,EAAE,SAA8B,EAAA;QAClH,IAAI,cAAc,EAAE;YAClB,OAAO,KAAK,GAAG,CAAA,EAAG,aAAa,CAAA,EAAA,CAAI,GAAG,MAAM;QAC9C;QAEA,IAAI,SAAS,EAAE;YACb,OAAO,KAAK,GAAG,CAAA,EAAG,aAAa,CAAA,EAAA,CAAI,GAAG,MAAM;QAC9C;QAEA,OAAO,CAAA,EAAG,aAAa,CAAA,EAAA,CAAI;IAC7B;wGAXW,8CAA8C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA;sGAA9C,8CAA8C,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,gDAAA,EAAA,CAAA;;4FAA9C,8CAA8C,EAAA,UAAA,EAAA,CAAA;kBAJ1D,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,gDAAgD;AACtD,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;ACLD;MAiBa,kDAAkD,CAAA;;AAEnD,IAAA,yBAAyB,GAAG,MAAM,CAAiC,SAAS,CAAC;IAC7E,UAAU,GAAG,MAAM,CAAkB;AAC7C,QAAA,IAAI,EAAE,MAAM;QACZ,kBAAkB,EAAE,MAAM,CAAC;AACzB,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,wBAAwB,EAAE,IAAI;SAC/B,CAAC;AACH,KAAA,CAAC;AACQ,IAAA,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3E,IAAA,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;AAGrD,IAAA,QAAQ,GAAG,KAAK,CAA+B,SAAS,CAAC;IACzD,kBAAkB,GAAG,KAAK,EAA4B;IACtD,2BAA2B,GAAG,KAAK,EAAW;AAC9C,IAAA,QAAQ,GAAG,KAAK,CAAmB,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,EAAE,CAAC;AACnF,IAAA,OAAO,GAAG,KAAK,CAAmB,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,EAAE,CAAC;AAClF,IAAA,QAAQ,GAAG,KAAK,CAAuC,EAAE,CAAC;AAC1D,IAAA,eAAe,GAAG,KAAK,CAAsB,SAAS,CAAC;AACvD,IAAA,eAAe,GAAG,KAAK,CAAiB,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC;AAChF,IAAA,MAAM,GAAG,KAAK,CAAiB,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC;AAC7E,IAAA,mCAAmC,GAAG,KAAK,CAAS,EAAE,CAAC;IACvD,eAAe,GAAG,KAAK,EAAO;AAC9B,IAAA,aAAa,GAAG,KAAK,CAAS,GAAG,CAAC;AAClC,IAAA,KAAK,GAAG,KAAK,CAAsB,SAAS,CAAC;IAC7C,OAAO,GAAG,KAAK,EAAW;IAC1B,cAAc,GAAG,KAAK,EAAW;IACjC,yBAAyB,GAAG,KAAK,EAAW;AAC5C,IAAA,eAAe,GAAG,KAAK,CAAyB,SAAS,CAAC;IAC1D,aAAa,GAAG,KAAK,EAG1B;;IAGK,cAAc,GAAG,MAAM,EAAO;IAC9B,kBAAkB,GAAG,MAAM,EAAiC;IAC5D,sBAAsB,GAAG,MAAM,EAAc;;AAG9C,IAAA,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAE5C,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;YAEhC,SAAS,CAAC,MAAK;gBACb,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;gBAC5E,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,KAAI;AACjC,oBAAA,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;wBAC5B,OAAO,CAAC,eAAe,GAAG,MAAM,CAAqB,4BAA4B,CAAC,QAAQ,CAAC,CAAC;oBAC9F;oBACA,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;AACnE,oBAAA,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;AAC/B,wBAAA,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC;AAClC,4BAAA,QAAQ,EAAE,IAAI;AACd,4BAAA,wBAAwB,EAAE,IAAI;AAC/B,yBAAA,CAAC;oBACJ;AACA,oBAAA,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC;AAC7B,wBAAA,QAAQ,EAAE,IAAI;AACd,wBAAA,wBAAwB,EAAE,IAAI;AAC9B,wBAAA,QAAQ,EAAE,CAAC,IAAuB,KAAI;AACpC,4BAAA,OAAO,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBAC1E,CAAC;AACF,qBAAA,CAAC;AAEF,oBAAA,OAAO,OAAO;AAChB,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;;AAGU,IAAA,yBAAyB,CAAC,KAAsB,EAAA;QACxD,IAAI,IAAI,CAAC,eAAe,EAAE,KAAK,KAAK,EAAE,GAAG,EAAE;YACzC;QACF;QACA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;AACxB,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC;YAEnC;QACF;QACA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IACrC;AAEU,IAAA,sBAAsB,CAAC,KAAoC,EAAA;AACnE,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;IACrC;AAEU,IAAA,qBAAqB,CAAC,SAAqB,EAAA;AACnD,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC;IAC7C;AACU,IAAA,mBAAmB,GAAG,CAAC,IAAS,KAAI;QAC5C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YAC7B;QACF;AACA,QAAA,IAAI,CAAC,YAAY,GAAG,yBAAyB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,yBAAyB,EAAE,CAAC;AAE5J,QAAA,OAAO,IAAI;AACb,IAAA,CAAC;IACO,2BAA2B,GAAA;AACjC,QAAA,QAAQ,IAAI,CAAC,QAAQ,EAAE;AACrB,YAAA,KAAK,KAAK;AACR,gBAAA,OAAO,iBAAiB;AAE1B,YAAA,KAAK,OAAO;AACV,gBAAA,OAAO,mBAAmB;AAE5B,YAAA,KAAK,MAAM;AACT,gBAAA,OAAO,kBAAkB;AAE3B,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAO,qBAAqB;AAE9B,YAAA;AACE,gBAAA,OAAO,OAAO;;IAEpB;IAEQ,aAAa,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;AACzB,YAAA,OAAO,IAAI,CAAC,KAAK,EAAE,GAAG,CAAA,EAAG,IAAI,CAAC,aAAa,EAAE,CAAA,EAAA,CAAI,GAAG,MAAM;QAC5D;AAEA,QAAA,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI;IACpC;wGAhIW,kDAAkD,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlD,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kDAAkD,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iDAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,2BAAA,EAAA,EAAA,iBAAA,EAAA,6BAAA,EAAA,UAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,mCAAA,EAAA,EAAA,iBAAA,EAAA,qCAAA,EAAA,UAAA,EAAA,qCAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjB/D,o6CAgCA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDjBY,eAAe,4FAAE,iCAAiC,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,2BAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,4BAAA,EAAA,qCAAA,EAAA,YAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,6BAAA,EAAA,eAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,aAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,6BAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,gCAAA,EAAA,yBAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,0BAAA,EAAA,sBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,qDAAA,EAAA,cAAA,EAAA,YAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,wBAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,4BAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,wBAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAEjD,kDAAkD,EAAA,UAAA,EAAA,CAAA;kBAP9D,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iDAAiD,cAE/C,IAAI,EAAA,OAAA,EACP,CAAC,eAAe,EAAE,iCAAiC,CAAC,EAAA,QAAA,EAAA,o6CAAA,EAAA;;;AEf/D;MAmBa,6CAA6C,CAAA;;AAE9C,IAAA,YAAY,GAAG,MAAM,CAAmC,EAAE,CAAC;AAC3D,IAAA,gBAAgB,GAAG,MAAM,CAAM,SAAS,CAAC;AACzC,IAAA,cAAc,GAAG,MAAM,CAA0B,EAAE,CAAC;AACpD,IAAA,OAAO,GAAG,MAAM,CAAsB,SAAS,CAAC;;AAGjD,IAAA,QAAQ,GAAG,KAAK,CAAwC,SAAS,CAAC;AAClE,IAAA,aAAa,GAAG,KAAK,CAAsB,SAAS,CAAC;AACrD,IAAA,YAAY,GAAG,KAAK,CAAsC,SAAS,CAAC;AACpE,IAAA,aAAa,GAAG,KAAK,CAAiB,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,CAAC;AAClF,IAAA,cAAc,GAAG,KAAK,CAAsB,SAAS,CAAC;AACtD,IAAA,kBAAkB,GAAG,KAAK,CAAyC,SAAS,CAAC;AAC7E,IAAA,2BAA2B,GAAG,KAAK,CAAsB,SAAS,CAAC;AACnE,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,CAAC;AAChC,IAAA,OAAO,GAAG,KAAK,CAAU,KAAK,CAAC;AAC/B,IAAA,MAAM,GAAG,KAAK,CAAiB,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC;AAC7E,IAAA,UAAU,GAAG,KAAK,CAAsB,SAAS,CAAC;AAClD,IAAA,mCAAmC,GAAG,KAAK,CAAqB,SAAS,CAAC;AAC1E,IAAA,0BAA0B,GAAG,KAAK,CAAsB,SAAS,CAAC;AAClE,IAAA,OAAO,GAAG,KAAK,CAAqB,SAAS,CAAC;AAC9C,IAAA,OAAO,GAAG,KAAK,CAAqB,SAAS,CAAC;AAC9C,IAAA,WAAW,GAAG,KAAK,CAA2C,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC;AAC5G,IAAA,eAAe,GAAG,KAAK,CAAmC,SAAS,CAAC;AACpE,IAAA,yBAAyB,GAAG,KAAK,CAAsB,SAAS,CAAC;AACjE,IAAA,aAAa,GAAG,KAAK,CAAwE,SAAS,CAAC;AACvG,IAAA,sBAAsB,GAAG,KAAK,CAAsB,SAAS,CAAC;AAC9D,IAAA,eAAe,GAAG,KAAK,CAAgF,SAAS,CAAC;;IAGjH,eAAe,GAAG,MAAM,EAA2B;IACnD,kBAAkB,GAAG,MAAM,EAAyC;IACpE,sBAAsB,GAAG,MAAM,EAAc;AAEtD,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;YAChC,IAAI,CAAC,QAAQ,EAAE;gBACb;YACF;YACA,SAAS,CAAC,MAAK;gBACb,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAA4B;gBAE3D,MAAM,OAAO,GACX,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AAChB,oBAAA,OAAO,MAAM,CAAC,EAAE,EAAE,GAAG,IAAI,IAAI,OAAO,CAAqB,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;gBACtF,CAAC,CAAC,IAAI,EAAE;AACV,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;AAChC,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;QACF,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE;YAExC,IAAI,CAAC,YAAY,EAAE;gBACjB;YACF;YAEA,SAAS,CAAC,MAAK;AACb,gBAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC;gBACrC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE;oBAC/B;gBACF;gBACA,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,WAAW,IAAI,YAAY,CAAC,KAAK,EAAE;oBACzD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;gBAC/C;gBACA,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AAC1C,oBAAA,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,KAAI;wBACtB,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,SAAS;AAC3D,wBAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,WAAW,IAAI,IAAI,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE;AACvJ,4BAAA,OAAO,CAAC,OAAO,GAAG,IAAI;wBACxB;AAEA,wBAAA,OAAO,OAAO;AAChB,oBAAA,CAAC,CAAC;AACJ,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;IACrD;;AAGA,IAAA,IAAW,gBAAgB,GAAA;QACzB,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YACtC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5C,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YACtC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;SACnC;IACH;AAEU,IAAA,kBAAkB,CAAC,KAAU,EAAE,QAAmC,EAAE,CAAS,EAAA;AACrF,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,sBAAsB,EAAE,EAAE;YACnF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAEhD;QACF;AACA,QAAA,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,KAAI;AAC1B,YAAA,OAAO,CAAC,WAAW,GAAG,KAAK;AAE3B,YAAA,OAAO,OAAO;AAChB,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,KAAI;AACrC,gBAAA,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS;AAE1D,gBAAA,OAAO,OAAO;AAChB,YAAA,CAAC,CAAC;QACJ;QACA,IAAI,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,KAAK,WAAW,IAAI,QAAQ,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE;AAC1F,YAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;YAChC,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACnC,gBAAA,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,KAAI;AACtB,oBAAA,OAAO,CAAC,OAAO,GAAG,KAAK;AAEvB,oBAAA,OAAO,OAAO;AAChB,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC,CAAC;QACJ;QACA,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AAC1C,YAAA,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,EAAE;AACpD,gBAAA,IAAI,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE;YACjC;AACF,QAAA,CAAC,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE;AAChE,YAAA,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,KAAI;AAC1B,gBAAA,OAAO,CAAC,eAAe,GAAG,KAAK;AAC/B,gBAAA,OAAO,CAAC,OAAO,GAAG,KAAK;AAEvB,gBAAA,OAAO,OAAO;AAChB,YAAA,CAAC,CAAC;YACF,IAAI,CAAC,UAAU,EAAE;QACnB;QACA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;IAClD;IAEU,UAAU,GAAA;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB;QACF;QACA,IAAI,OAAO,GAAG,KAAK;QAEnB,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACnC,YAAA,IAAI,IAAI,EAAE,CAAC,eAAe,EAAE;gBAC1B,OAAO,GAAG,IAAI;YAChB;AACF,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACzB;IACF;IAEU,sBAAsB,CAAC,KAAoC,EAAE,IAA+B,EAAA;AACpG,QAAA,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,KAAI;AACtB,YAAA,OAAO,CAAC,eAAe,GAAG,KAAK;AAE/B,YAAA,OAAO,OAAO;AAChB,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,MAAM,aAAa,GAAA;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YACnC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,KAAI;gBACrC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,SAAS;AAE9B,gBAAA,OAAO,OAAO;AAChB,YAAA,CAAC,CAAC;AAEF,YAAA,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,KAAI;AACtB,gBAAA,OAAO,CAAC,WAAW,GAAG,SAAS;AAC/B,gBAAA,OAAO,CAAC,eAAe,EAAE,KAAK,EAAE;AAEhC,gBAAA,OAAO,OAAO;AAChB,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,UAAU,EAAE;QACjB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;IAClD;AAEQ,IAAA,MAAM,UAAU,GAAA;AACtB,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACnC,YAAA,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,KAAI;AACtB,gBAAA,OAAO,CAAC,OAAO,GAAG,KAAK;AACvB,gBAAA,OAAO,CAAC,eAAe,GAAG,KAAK;AAE/B,gBAAA,OAAO,OAAO;AAChB,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;IAEQ,MAAM,QAAQ,CAAC,KAAc,EAAA;QACnC,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACnC,YAAA,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,KAAI;AACtB,gBAAA,OAAO,CAAC,eAAe,GAAG,KAAK;AAE/B,gBAAA,OAAO,OAAO;AAChB,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,MAAM,QAAQ,GAAA;QACpB,IAAI,KAAK,GAAG,IAAI;AAEhB,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAa,KAAI;AAClD,YAAA,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,KAAI;AACtB,gBAAA,OAAO,CAAC,eAAe,GAAG,KAAK;AAC/B,gBAAA,OAAO,CAAC,OAAO,GAAG,KAAK;gBACvB,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;oBACnF,KAAK,GAAG,KAAK;AACb,oBAAA,OAAO,CAAC,eAAe,GAAG,IAAI;AAC9B,oBAAA,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;AACnD,wBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;oBACxB;AACA,oBAAA,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;AACtE,wBAAA,OAAO,CAAC,OAAO,GAAG,IAAI;oBACxB;gBACF;AAEA,gBAAA,OAAO,OAAO;AAChB,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,KAAK;IACd;AAEU,IAAA,qBAAqB,CAAC,SAAqB,EAAA;AACnD,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC;IAC7C;wGA1OW,6CAA6C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAA7C,6CAA6C,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,2BAAA,EAAA,EAAA,iBAAA,EAAA,6BAAA,EAAA,UAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,mCAAA,EAAA,EAAA,iBAAA,EAAA,qCAAA,EAAA,UAAA,EAAA,qCAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,0BAAA,EAAA,EAAA,iBAAA,EAAA,4BAAA,EAAA,UAAA,EAAA,4BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,sBAAA,EAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnB1D,2lEAyCA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDxBY,eAAe,4FAAE,kDAAkD,EAAA,QAAA,EAAA,iDAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,oBAAA,EAAA,6BAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,qCAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,OAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,2BAAA,EAAA,iBAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,oBAAA,EAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,8CAA8C,EAAA,IAAA,EAAA,gDAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,uDAAuD,EAAA,IAAA,EAAA,yDAAA,EAAA,CAAA,EAAA,CAAA;;4FAE3K,6CAA6C,EAAA,UAAA,EAAA,CAAA;kBAPzD,SAAS;+BAEE,2CAA2C,EAAA,UAAA,EAEzC,IAAI,EAAA,OAAA,EACP,CAAC,eAAe,EAAE,kDAAkD,EAAE,8CAA8C,EAAE,uDAAuD,CAAC,EAAA,QAAA,EAAA,2lEAAA,EAAA;;;MEK5K,yCAAyC,CAAA;;AAE1C,IAAA,KAAK,GAAG,MAAM,CAAS,CAAC,CAAC;AACzB,IAAA,YAAY,GAAG,MAAM,CAAqB,SAAS,CAAC;AACpD,IAAA,UAAU,GAAG,MAAM,CAAqB,SAAS,CAAC;AAClD,IAAA,cAAc,GAAG,MAAM,CAAS,CAAC,CAAC;AAClC,IAAA,YAAY,GAAG,MAAM,CAAS,CAAC,CAAC;AAChC,IAAA,kBAAkB,GAAG,MAAM,CAAsB,SAAS,CAAC;AAC3D,IAAA,UAAU,GAAG,MAAM,CAAqC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;AAC7F,IAAA,YAAY,GAAG,MAAM,CAAsB,SAAS,CAAC;AACrD,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;QACpC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,CAA4B;AAChE,IAAA,CAAC,CAAC;AACQ,IAAA,UAAU,GAAG,MAAM,CAAsB,SAAS,CAAC;AAErD,IAAA,eAAe,GAAG,MAAM,CAAqB,SAAS,CAAC;AACvD,IAAA,OAAO,GAAG,MAAM,CAAqB,SAAS,CAAC;AAC/C,IAAA,SAAS,GAAG,IAAI,OAAO,EAAQ;AAC/B,IAAA,gBAAgB,GAAG,IAAI,GAAG,EAAiD;;AAG1E,IAAA,WAAW,GAAG,KAAK,CAAqB,SAAS,CAAC;AAClD,IAAA,aAAa,GAAG,KAAK,CAAiB,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,CAAC;AAClF,IAAA,MAAM,GAAG,KAAK,CAAiB,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC;AAC7E,IAAA,OAAO,GAAG,KAAK,CAAS,CAAC,CAAC;AAC1B,IAAA,OAAO,GAAG,KAAK,CAAS,CAAC,CAAC;AAC1B,IAAA,QAAQ,GAAG,KAAK,CAAqB,SAAS,CAAC;AAC/C,IAAA,OAAO,GAAG,KAAK,CAAU,KAAK,CAAC;AAC/B,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,CAAC;AAChC,IAAA,UAAU,GAAG,KAAK,CAAU,KAAK,CAAC;AAClC,IAAA,WAAW,GAAG,KAAK,CAAsB,SAAS,CAAC;AACnD,IAAA,aAAa,GAAG,KAAK,CAAU,KAAK,CAAC;AACrC,IAAA,cAAc,GAAG,KAAK,CAAU,KAAK,CAAC;AACtC,IAAA,cAAc,GAAG,KAAK,CAAU,KAAK,CAAC;AACtC,IAAA,aAAa,GAAG,KAAK,CAAU,KAAK,CAAC;AACrC,IAAA,UAAU,GAAG,KAAK,CAAuD,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,WAAW,EAAE,CAAC;AACrI,IAAA,kBAAkB,GAAG,KAAK,CAAsB,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;AAC3F,IAAA,2BAA2B,GAAG,KAAK,CAAU,KAAK,CAAC;AACnD,IAAA,gBAAgB,GAAG,KAAK,CAAqC,SAAS,CAAC;AACvE,IAAA,kBAAkB,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;IAC3C,kBAAkB,GAAG,KAAK,EAA4B;AACtD,IAAA,wBAAwB,GAAG,KAAK,CAAU,KAAK,CAAC;AAChD,IAAA,mCAAmC,GAAG,KAAK,CAAqB,SAAS,CAAC;IAC1E,UAAU,GAAG,KAAK,EAA2B;AAC7C,IAAA,eAAe,GAAG,KAAK,CAAgF,SAAS,CAAC;AACjH,IAAA,yBAAyB,GAAG,KAAK,CAAU,KAAK,CAAC;AACjD,IAAA,eAAe,GAAG,KAAK,CAAuC,SAAS,CAAC;AAExE,IAAA,oBAAoB,GAAG,KAAK,CAAmB,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC;AAC7F,IAAA,sBAAsB,GAAG,KAAK,CAAmB,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,EAAE,CAAC;AACjG,IAAA,0BAA0B,GAAG,KAAK,CAAmB,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC;AACnG,IAAA,6CAA6C,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;IACtE,aAAa,GAAG,KAAK,EAAsB;;IAG3C,mBAAmB,GAAG,MAAM,EAAqC;AACjE,IAAA,mBAAmB,GAAG,MAAM,EAAoD,CAAC;IACjF,kBAAkB,GAAG,MAAM,EAA0B;IACrD,mBAAmB,GAAG,MAAM,EAA2B;IACvD,sBAAsB,GAAG,MAAM,EAAc;;AAG9C,IAAA,YAAY,GAAG,SAAS,CAAa,QAAQ,CAAC;AAC9C,IAAA,YAAY,GAAG,SAAS,CAAa,WAAW,CAAC;AACjD,IAAA,UAAU,GAAG,SAAS,CAAa,SAAS,CAAC;;AAG7C,IAAA,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAE5C,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;YAEpC,IAAI,CAAC,UAAU,EAAE;gBACf;YACF;YAEA,SAAS,CAAC,MAAK;AACb,gBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AACzB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;gBAC7B,KAAK,CAAC,CAAC;AACJ,qBAAA,IAAI;qBACJ,SAAS,CAAC,MAAK;oBACd,IAAI,CAAC,eAAe,EAAE;AACtB,oBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;AAC5B,gBAAA,CAAC,CAAC;AACN,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;AACpD,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;YAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9C;IACF;IAEA,eAAe,GAAA;QACb,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnG,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;QAC9B,KAAK,CAAC,CAAC;AACJ,aAAA,IAAI;aACJ,SAAS,CAAC,MAAK;YACd,IAAI,CAAC,eAAe,EAAE;AACxB,QAAA,CAAC,CAAC;IACN;AAEA,IAAA,IAAW,gBAAgB,GAAA;QACzB,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YACtC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YACtC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;SACzC;IACH;IAEU,eAAe,GAAA;AACvB,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;AAC5B,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAC,KAAK,IAAI,CAAC;AAEjG,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;AAC/F,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;QAE3F,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACjG,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;AAE3G,QAAA,IAAI,kBAAkB,GAAG,KAAK,EAAE;AAC9B,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;QAC7B;IACF;IAEU,wBAAwB,CAAC,KAA8B,EAAE,IAAmB,EAAA;QACpF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,KAAI;YACjC,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;YAC1B;AAEA,YAAA,OAAO,OAAO;AAChB,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE;YAElF,IAAI,QAAQ,EAAE;AACZ,gBAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC;YACzC;QACF;QACA,IAAI,CAAC,SAAS,EAAE;IAClB;AAEQ,IAAA,MAAM,aAAa,GAAA;AACzB,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC;IACrE;AAEQ,IAAA,MAAM,UAAU,GAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC;IAClE;IAEQ,YAAY,GAAA;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE;YAC/D;QACF;QACA,KAAK,CAAC,CAAC;AACJ,aAAA,IAAI;aACJ,SAAS,CAAC,MAAK;YACd,IAAI,CAAC,eAAe,EAAE;AACxB,QAAA,CAAC,CAAC;IACN;IAEU,sBAAsB,CAAC,KAA4C,EAAE,IAAmB,EAAA;QAChG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC;IACxC;AAEU,IAAA,MAAM,UAAU,GAAA;QACxB,IAAI,KAAK,GAAG,IAAI;QAEhB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE;YACpD,IAAI,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE;gBACnC,KAAK,GAAG,KAAK;YACf;QACF;AACA,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACtB,KAAK,GAAG,KAAK;QACf;AAEA,QAAA,OAAO,KAAK;IACd;AAEQ,IAAA,QAAQ,CAAC,KAAc,EAAA;AAC7B,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrE;IAEQ,WAAW,GAAA;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,CAA4B;QACpE,MAAM,WAAW,GAAgE,EAAE;AAEnF,QAAA,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACpB,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC;AAC5C,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;AAExC,YAAA,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC1C,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;AAC/D,YAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;AAElC,YAAA,OAAO,KAAK;QACd;QACA,IAAI,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,EAAE;AACzD,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACnB,YAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;AAEjC,YAAA,OAAO,IAAI;QACb;AACA,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;AAElC,QAAA,OAAO,KAAK;IACd;AAEQ,IAAA,MAAM,QAAQ,GAAA;QACpB,IAAI,KAAK,GAAG,IAAI;AAEhB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE;AACzB,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,EAAE,EAAE;AACxF,gBAAA,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE;YACjC;AAEA,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE;IAChC;AAEQ,IAAA,cAAc,CAAC,QAAiB,EAAA;QACtC,IAAI,UAAU,GAAG,IAAI;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,CAA4B;AAEpE,QAAA,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACpB,YAAA,IAAI,QAAQ,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE;gBACpF,UAAU,GAAG,KAAK;YACpB;YACA,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE;gBACnF,UAAU,GAAG,KAAK;YACpB;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,UAAU;IACnB;IAEU,SAAS,GAAA;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;QAClC,IAAI,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACzD;QACF;QACA,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI;QACpC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE;AAEhC,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AACrB,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;gBACtB;YACF;AACA,YAAA,IAAI,YAAY,GAAuC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE;YAE3F,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACjC,gBAAA,IAAI,CAAC,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,EAAE;oBACtC,YAAY,GAAG,SAAS;gBAC1B;gBACA,IAAI,YAAY,EAAE;oBAChB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,KAAI;AACnC,wBAAA,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;AAEpC,wBAAA,OAAO,OAAO;AAChB,oBAAA,CAAC,CAAC;oBACF,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,KAAI;AACjC,wBAAA,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AAElC,wBAAA,OAAO,OAAO;AAChB,oBAAA,CAAC,CAAC;gBACJ;AACF,YAAA,CAAC,CAAC;YAEF,IAAI,YAAY,EAAE;AAChB,gBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC;YAC5C;YAEA;QACF;QACA,IAAI,YAAY,GAAwC,EAAE;QAE1D,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;YACjC,IAAI,CAAC,IAAI,IAAI,GAAG,GAAG,CAAC,EAAE;gBACpB,YAAY,GAAG,SAAS;YAC1B;YACA,IAAI,YAAY,EAAE;AAChB,gBAAA,YAAY,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC;YAC7C;AACF,QAAA,CAAC,CAAC;QACF,IAAI,YAAY,EAAE;AAChB,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC;QAC7C;IACF;AAEU,IAAA,uBAAuB,CAAC,KAAa,EAAA;AAC7C,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3G,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAClB,YAAA,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9B;QACA,IAAI,CAAC,OAAO,CAAC,GAAG,CACd,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;AAC7C,QAAA,CAAC,EAAE,GAAG,CAAsB,CAC7B;IACH;AAEU,IAAA,0BAA0B,CAAC,SAAqB,EAAA;AACxD,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC;IAC7C;wGA1TW,yCAAyC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAzC,yCAAyC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,2BAAA,EAAA,EAAA,iBAAA,EAAA,6BAAA,EAAA,UAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,wBAAA,EAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,UAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,mCAAA,EAAA,EAAA,iBAAA,EAAA,qCAAA,EAAA,UAAA,EAAA,qCAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,yBAAA,EAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,oBAAA,EAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,sBAAA,EAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,0BAAA,EAAA,EAAA,iBAAA,EAAA,4BAAA,EAAA,UAAA,EAAA,4BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,6CAAA,EAAA,EAAA,iBAAA,EAAA,+CAAA,EAAA,UAAA,EAAA,+CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBtD,inNAuJA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDnIY,eAAe,4FAAE,8BAA8B,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,cAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,6BAAA,EAAA,SAAA,EAAA,UAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,2BAAA,EAAA,kCAAA,EAAA,eAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,yCAAyC,EAAA,QAAA,EAAA,6CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,6CAA6C,EAAA,QAAA,EAAA,2CAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,cAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,6BAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,qCAAA,EAAA,4BAAA,EAAA,SAAA,EAAA,SAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,eAAA,EAAA,wBAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,oBAAA,EAAA,wBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAExI,yCAAyC,EAAA,UAAA,EAAA,CAAA;kBATrD,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sCAAsC,EAAA,UAAA,EAGpC,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,eAAe,EAAE,8BAA8B,EAAE,yCAAyC,EAAE,6CAA6C,CAAC,EAAA,QAAA,EAAA,inNAAA,EAAA;;;AEpBtJ;;ACAA;;AAEG;;;;"}
1
+ {"version":3,"file":"libs-ui-components-datetime-dropdown.mjs","sources":["../../../../../../libs-ui/components/datetime/dropdown/src/defines/date-dropdown.define.ts","../../../../../../libs-ui/components/datetime/dropdown/src/directive/date-dropdown.directive.ts","../../../../../../libs-ui/components/datetime/dropdown/src/pipes/build-list-by-date-type-.pipe.ts","../../../../../../libs-ui/components/datetime/dropdown/src/pipes/build-width.pipe.ts","../../../../../../libs-ui/components/datetime/dropdown/src/item/child/child.component.ts","../../../../../../libs-ui/components/datetime/dropdown/src/item/child/child.component.html","../../../../../../libs-ui/components/datetime/dropdown/src/item/item.component.ts","../../../../../../libs-ui/components/datetime/dropdown/src/item/item.component.html","../../../../../../libs-ui/components/datetime/dropdown/src/dropdown.component.ts","../../../../../../libs-ui/components/datetime/dropdown/src/dropdown.component.html","../../../../../../libs-ui/components/datetime/dropdown/src/interfaces/date-dropdown.interface.ts","../../../../../../libs-ui/components/datetime/dropdown/src/libs-ui-components-datetime-dropdown.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { TranslateService } from '@ngx-translate/core';\nimport { TYPE_DATE_FORMAT, TYPE_DROPDOWN_MONTH_ID } from '../interfaces/date-dropdown.interface';\nimport { IHttpRequestConfig, returnDetailObject, returnListObject } from '@libs-ui/services-http-request';\nimport { UtilsHttpParamsRequest } from '@libs-ui/utils';\nimport { DEFAULT_MAX_YEAR, DEFAULT_MIN_YEAR } from '@libs-ui/components-datetime-picker';\n\nexport const convertGetValue = (type: TYPE_DATE_FORMAT, item: { label: string }, translate: TranslateService) => {\n switch (type) {\n case 'day':\n return translate.instant('i18n_day_param', { day: item.label });\n\n case 'month':\n return translate.instant(item.label || ' ', { year: '' });\n\n case 'year':\n return translate.instant('i18n_year_param', { year: item.label });\n\n case 'quarter':\n return translate.instant('i18n_quarter', { quarter: item.label });\n }\n};\n\nexport const convertItemSelectedDefine = (type: TYPE_DATE_FORMAT, item: { id: number; label: string; labelDisplay: string }, translate: TranslateService, getItemYearDisplay?: (label: string) => void, ignoreConvertYearSelected?: boolean) => {\n switch (type) {\n case 'day':\n return translate.instant('i18n_day_param', { day: item.label });\n\n case 'month':\n return translate.instant(item.label || ' ', { year: '' });\n\n case 'year': {\n let labelDisplay = ignoreConvertYearSelected ? item.label : translate.instant('i18n_year_param', { year: item.label });\n\n if (getItemYearDisplay) {\n labelDisplay = getItemYearDisplay(item.label);\n }\n\n return labelDisplay;\n }\n\n case 'quarter':\n return translate.instant('i18n_quarter', { quarter: item.label });\n }\n};\n\nexport const LIST_MONTHS_DEFAULT = (): Array<{ id: number; label: string }> => {\n return [\n {\n id: 1,\n label: 'i18n_january',\n },\n {\n id: 2,\n label: 'i18n_february',\n },\n {\n id: 3,\n label: 'i18n_march',\n },\n {\n id: 4,\n label: 'i18n_april',\n },\n {\n id: 5,\n label: 'i18n_may',\n },\n {\n id: 6,\n label: 'i18n_june',\n },\n {\n id: 7,\n label: 'i18n_july',\n },\n {\n id: 8,\n label: 'i18n_august',\n },\n {\n id: 9,\n label: 'i18n_september',\n },\n {\n id: 10,\n label: 'i18n_october',\n },\n {\n id: 11,\n label: 'i18n_november',\n },\n {\n id: 12,\n label: 'i18n_december',\n },\n ];\n};\n\nexport const CompareDate = (dateCompare: Array<{ from: number | undefined; to: number | undefined }>, ignoreAllowTimeSame: boolean): boolean => {\n const dateNumberOne = dateCompare[0];\n\n if (dateCompare.length === 2) {\n const dateNumberTow = dateCompare[1];\n\n if (!dateNumberOne.from || !dateNumberOne.to || !dateNumberTow.from || !dateNumberTow.to) {\n return false;\n }\n if (ignoreAllowTimeSame ? dateNumberOne.from > dateNumberOne.to : dateNumberOne.from >= dateNumberOne.to) {\n return true;\n }\n if (dateNumberOne.from === dateNumberOne.to && (ignoreAllowTimeSame ? dateNumberTow.from > dateNumberTow.to : dateNumberTow.from >= dateNumberTow.to)) {\n return true;\n }\n\n return false;\n }\n\n if (!dateNumberOne.from || !dateNumberOne.to) {\n return false;\n }\n if (ignoreAllowTimeSame ? dateNumberOne.from > dateNumberOne.to : dateNumberOne.from >= dateNumberOne.to) {\n return true;\n }\n\n return false;\n};\n\nexport const getConfigHttpRequestDetailDate = (data: Array<{ id: number; label: string }>): IHttpRequestConfig => {\n return {\n objectInstance: returnDetailObject(new UtilsHttpParamsRequest({ fromObject: { fieldKey: 'id' } }), data),\n functionName: 'detailByData',\n argumentsValue: [],\n guideAutoUpdateArgumentsValue: {\n paging: {},\n detailById: {\n subFieldUpdate: 'id',\n fieldUpdate: '[0]',\n fieldGetValue: '',\n },\n },\n };\n};\n\nexport const getConfigHttpRequestListDate = (data: Array<{ id: number; label: string }>): IHttpRequestConfig => {\n return {\n objectInstance: returnListObject(data),\n functionName: 'list',\n argumentsValue: [],\n };\n};\n\nexport const buildListDataByTypeDate = (type: TYPE_DATE_FORMAT, dataYear: { minYear?: number; maxYear?: number; reverseYear?: boolean }, keyMonth: any): Array<{ id: number; label: string }> => {\n switch (type) {\n case 'day':\n return convertDay(keyMonth);\n\n case 'month':\n return LIST_MONTHS_DEFAULT();\n\n case 'year':\n return convertYear(dataYear.minYear, dataYear.maxYear, dataYear.reverseYear);\n\n case 'quarter': {\n const listQuarter = [];\n\n for (let i = 1; i <= 4; i++) {\n listQuarter.push({\n id: i,\n label: `${i}`,\n });\n }\n\n return listQuarter;\n }\n }\n};\n\nexport const defaultMonths = (): Array<{ id: TYPE_DROPDOWN_MONTH_ID; label: string; maxDays: number }> => {\n return [\n {\n id: 1,\n label: 'i18n_january',\n maxDays: 31,\n },\n {\n id: 2,\n label: 'i18n_february',\n maxDays: 29,\n },\n {\n id: 3,\n label: 'i18n_march',\n maxDays: 31,\n },\n {\n id: 4,\n label: 'i18n_april',\n maxDays: 30,\n },\n {\n id: 5,\n label: 'i18n_may',\n maxDays: 31,\n },\n {\n id: 6,\n label: 'i18n_june',\n maxDays: 30,\n },\n {\n id: 7,\n label: 'i18n_july',\n maxDays: 31,\n },\n {\n id: 8,\n label: 'i18n_august',\n maxDays: 31,\n },\n {\n id: 9,\n label: 'i18n_september',\n maxDays: 30,\n },\n {\n id: 10,\n label: 'i18n_october',\n maxDays: 31,\n },\n {\n id: 11,\n label: 'i18n_november',\n maxDays: 30,\n },\n {\n id: 12,\n label: 'i18n_december',\n maxDays: 31,\n },\n ];\n};\n\nconst convertYear = (minYear?: number, maxYear?: number, reverseYear?: boolean) => {\n const listYear = [];\n const minYears = minYear ? minYear : DEFAULT_MIN_YEAR;\n const maxYears = maxYear ? maxYear : DEFAULT_MAX_YEAR;\n\n for (let i = minYears; i <= maxYears; i++) {\n listYear.push({\n id: i,\n label: `${i}`,\n });\n }\n if (reverseYear) {\n listYear.reverse();\n }\n\n return listYear;\n};\n\nconst convertDay = (key: any) => {\n if (!key || isNaN(Number(key))) {\n return [];\n }\n const dayDefault = defaultMonths().find((item) => Number(item.id) === Number(key));\n\n if (!dayDefault) {\n return [];\n }\n const listDay = [];\n\n for (let i = 1; i <= dayDefault.maxDays; i++) {\n listDay.push({\n id: i,\n label: `${i}`,\n });\n }\n\n return listDay;\n};\n","import { Directive, ElementRef, inject, OnDestroy, OnInit, output, signal } from '@angular/core';\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[LibsUiComponentsDatetimeDropdownDirective]',\n standalone: true,\n})\nexport class LibsUiComponentsDatetimeDropdownDirective implements OnInit, OnDestroy {\n private resizeObserver = signal<ResizeObserver | undefined>(undefined);\n private elementRef = inject(ElementRef);\n\n readonly outChangeWidth = output<number>();\n\n ngOnInit() {\n this.resizeObserver.set(\n new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === this.elementRef.nativeElement) {\n this.outChangeWidth.emit(entry.contentRect.width);\n }\n }\n })\n );\n this.resizeObserver()?.observe(this.elementRef.nativeElement);\n }\n\n ngOnDestroy() {\n if (this.resizeObserver()) {\n this.resizeObserver()?.disconnect();\n }\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { TYPE_DATE_FORMAT } from '../interfaces/date-dropdown.interface';\nimport { buildListDataByTypeDate } from '../defines/date-dropdown.define';\n\n@Pipe({\n name: 'LibsUiComponentsDatetimeDropdownBuildListByDateTypePipe',\n standalone: true,\n})\nexport class LibsUiComponentsDatetimeDropdownBuildListByDateTypePipe implements PipeTransform {\n transform(type: TYPE_DATE_FORMAT, dataYear: { minYear?: number; maxYear?: number; reverseYear?: boolean }, keyMonth: any): Array<{ id: number; label: string }> {\n return buildListDataByTypeDate(type, dataYear, keyMonth);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'LibsUiComponentsDatetimeDropdownBuildWidthPipe',\n standalone: true,\n})\nexport class LibsUiComponentsDatetimeDropdownBuildWidthPipe implements PipeTransform {\n transform(widthByElement: boolean | undefined, widthDropdown: number, first: boolean, multiDate: boolean | undefined): string {\n if (widthByElement) {\n return first ? `${widthDropdown}px` : '100%';\n }\n\n if (multiDate) {\n return first ? `${widthDropdown}px` : '100%';\n }\n\n return `${widthDropdown}px`;\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component, computed, effect, inject, input, output, signal, untracked } from '@angular/core';\nimport { IDropdownFunctionControlEvent, IEmitSelectKey, LibsUiComponentsDropdownComponent } from '@libs-ui/components-dropdown';\nimport { IListConfigItem } from '@libs-ui/components-list';\nimport { IFlagMouse } from '@libs-ui/components-popover';\nimport { IHttpRequestConfig } from '@libs-ui/services-http-request';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { convertGetValue, convertItemSelectedDefine, getConfigHttpRequestDetailDate, getConfigHttpRequestListDate } from '../../defines/date-dropdown.define';\nimport { TYPE_DATE_FORMAT } from '../../interfaces/date-dropdown.interface';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-datetime-dropdown-item-child',\n templateUrl: 'child.component.html',\n standalone: true,\n imports: [TranslateModule, LibsUiComponentsDropdownComponent],\n})\nexport class LibsUiComponentsDatetimeDropdownItemChildComponent {\n // #region PROPERTY\n protected httpRequestDetailItemById = signal<IHttpRequestConfig | undefined>(undefined);\n protected listConfig = signal<IListConfigItem>({\n type: 'text',\n configTemplateText: signal({\n fieldKey: 'id',\n autoScrollToItemSelected: true,\n }),\n });\n protected textNoSelectDisplay = computed(this.computedTextNoSelectDisplay.bind(this));\n protected usingWidth = computed(this.computedWidth.bind(this));\n\n // #region INPUT\n readonly typeDate = input<TYPE_DATE_FORMAT | undefined>(undefined);\n readonly getItemYearDisplay = input<(year: string) => string>();\n readonly listHasButtonUnSelectOption = input<boolean>();\n readonly readonly = input<boolean, boolean>(false, { transform: (value) => value ?? false });\n readonly disable = input<boolean, boolean>(false, { transform: (value) => value ?? false });\n readonly listData = input<Array<{ id: number; label: string }>>([]);\n readonly showBorderError = input<boolean | undefined>(undefined);\n readonly listMaxItemShow = input<number, number>(6, { transform: (value) => value ?? 6 });\n readonly zIndex = input<number, number>(1000, { transform: (value) => value ?? 1000 });\n readonly classIncludeTextDisplayWhenNoSelect = input<string>('');\n readonly listKeySelected = input<any>();\n readonly widthDropdown = input<number>(136);\n readonly first = input<boolean | undefined>(undefined);\n readonly isError = input<boolean>();\n readonly widthByElement = input<boolean>();\n readonly ignoreConvertYearSelected = input<boolean>();\n readonly listKeysDisable = input<Array<any> | undefined>(undefined);\n readonly validRequired = input<{\n message?: string;\n interpolateParams?: { any: object };\n }>();\n\n // #region OUTPUT\n readonly outSelectedKey = output<any>();\n readonly outFunctionControl = output<IDropdownFunctionControlEvent>();\n readonly outChangStageFlagMouse = output<IFlagMouse>();\n\n // #region INJECT\n private translate = inject(TranslateService);\n\n constructor() {\n effect(() => {\n const listData = this.listData();\n\n untracked(() => {\n this.httpRequestDetailItemById.set(getConfigHttpRequestDetailDate(listData));\n this.listConfig.update((current) => {\n if (!current.httpRequestData) {\n current.httpRequestData = signal<IHttpRequestConfig>(getConfigHttpRequestListDate(listData));\n }\n current.httpRequestData.set(getConfigHttpRequestListDate(listData));\n if (!current.configTemplateText) {\n current.configTemplateText = signal({\n fieldKey: 'id',\n autoScrollToItemSelected: true,\n });\n }\n current.configTemplateText.set({\n fieldKey: 'id',\n autoScrollToItemSelected: true,\n getValue: (item: { label: string }) => {\n return convertGetValue(this.typeDate() || 'month', item, this.translate);\n },\n });\n\n return current;\n });\n });\n });\n }\n\n /* FUNCTIONS */\n protected handlerChangeSelectedItem(event?: IEmitSelectKey) {\n if (this.listKeySelected() === event?.key) {\n return;\n }\n if (!event || !event.key) {\n this.outSelectedKey.emit(undefined);\n\n return;\n }\n this.outSelectedKey.emit(event.key);\n }\n\n protected handlerFunctionControl(event: IDropdownFunctionControlEvent) {\n this.outFunctionControl.emit(event);\n }\n\n protected handlerChangFlagMouse(flagMouse: IFlagMouse) {\n this.outChangStageFlagMouse.emit(flagMouse);\n }\n protected convertItemSelected = (item: any) => {\n if (!item || !this.typeDate()) {\n return;\n }\n item.labelDisplay = convertItemSelectedDefine(this.typeDate() ?? 'month', item, this.translate, this.getItemYearDisplay(), this.ignoreConvertYearSelected());\n\n return item;\n };\n private computedTextNoSelectDisplay() {\n switch (this.typeDate()) {\n case 'day':\n return 'i18n_select_day';\n\n case 'month':\n return 'i18n_select_month';\n\n case 'year':\n return 'i18n_select_year';\n\n case 'quarter':\n return 'i18n_select_quarter';\n\n default:\n return 'month';\n }\n }\n\n private computedWidth() {\n if (this.widthByElement()) {\n return this.first() ? `${this.widthDropdown()}px` : '100%';\n }\n\n return `${this.widthDropdown()}px`;\n }\n}\n","@if (typeDate() && httpRequestDetailItemById()) {\n <div [style.width]=\"usingWidth()\">\n <libs_ui-components-dropdown\n [listHasButtonUnSelectOption]=\"listHasButtonUnSelectOption()\"\n [readonly]=\"readonly()\"\n [textDisplayWhenNoSelect]=\"textNoSelectDisplay()\"\n [disable]=\"disable()\"\n [showBorderError]=\"showBorderError()\"\n [listMaxItemShow]=\"listMaxItemShow()\"\n [listClickExactly]=\"false\"\n [zIndex]=\"zIndex()\"\n [labelPopoverConfig]=\"{ zIndex: zIndex() + 1 }\"\n [listConfig]=\"listConfig()\"\n [listKeysDisable]=\"listKeysDisable()\"\n [convertItemSelected]=\"convertItemSelected\"\n [onlyEmitDataWhenReset]=\"true\"\n [classIncludeTextDisplayWhenNoSelect]=\"classIncludeTextDisplayWhenNoSelect()\"\n [httpRequestDetailItemById]=\"httpRequestDetailItemById()\"\n [listKeySelected]=\"listKeySelected()\"\n (outSelectKey)=\"handlerChangeSelectedItem($event)\"\n (outFunctionsControl)=\"handlerFunctionControl($event)\"\n (outChangStageFlagMouse)=\"handlerChangFlagMouse($event)\" />\n </div>\n}\n@if (isError()) {\n <div class=\"flex items-center mt-[4px]\">\n @let constHtmlMessage = validRequired()?.message || 'i18n_valid_empty_message';\n <span\n class=\"libs-ui-text-error libs-ui-font-h7r\"\n [innerHtml]=\"constHtmlMessage | translate: validRequired()?.interpolateParams\"></span>\n </div>\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component, effect, input, OnInit, output, signal, untracked, WritableSignal } from '@angular/core';\nimport { IDropdownFunctionControlEvent } from '@libs-ui/components-dropdown';\nimport { IFlagMouse } from '@libs-ui/components-popover';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { IDateDropdownDisable, ITypeDate, TYPE_DATE_DROPDOWN_FORMAT, TYPE_DATE_FORMAT } from '../interfaces/date-dropdown.interface';\nimport { IEmitSingleDateDropdown } from '../interfaces/emit-dropdown.interface';\nimport { IDateDropdownItemFunctionControlEvent } from '../interfaces/functions-control-event.interface';\nimport { LibsUiComponentsDatetimeDropdownBuildListByDateTypePipe } from '../pipes/build-list-by-date-type-.pipe';\nimport { LibsUiComponentsDatetimeDropdownBuildWidthPipe } from '../pipes/build-width.pipe';\nimport { LibsUiComponentsDatetimeDropdownItemChildComponent } from './child/child.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-datetime-dropdown-item',\n templateUrl: 'item.component.html',\n standalone: true,\n imports: [TranslateModule, LibsUiComponentsDatetimeDropdownItemChildComponent, LibsUiComponentsDatetimeDropdownBuildWidthPipe, LibsUiComponentsDatetimeDropdownBuildListByDateTypePipe],\n})\nexport class LibsUiComponentsDatetimeDropdownItemComponent implements OnInit {\n // #region PROPERTY\n protected typeListDate = signal<Array<WritableSignal<ITypeDate>>>([]);\n protected keyMonthResetDay = signal<any>(undefined);\n protected selectedSingle = signal<IEmitSingleDateDropdown>({});\n protected isError = signal<boolean | undefined>(undefined);\n\n // #region INPUT\n readonly typeDate = input<TYPE_DATE_DROPDOWN_FORMAT | undefined>(undefined);\n readonly disableSecond = input<boolean | undefined>(undefined);\n readonly selectedDate = input<IEmitSingleDateDropdown | undefined>(undefined);\n readonly widthDropdown = input<number, number>(136, { transform: (value) => value ?? 136 });\n readonly widthByElement = input<boolean | undefined>(undefined);\n readonly getItemYearDisplay = input<((year: string) => string) | undefined>(undefined);\n readonly listHasButtonUnSelectOption = input<boolean | undefined>(undefined);\n readonly readonly = input<boolean>(false);\n readonly disable = input<boolean>(false);\n readonly zIndex = input<number, number>(1200, { transform: (value) => value ?? 1200 });\n readonly isMultiple = input<boolean | undefined>(undefined);\n readonly classIncludeTextDisplayWhenNoSelect = input<string | undefined>(undefined);\n readonly isCheckErrorWhenSelectItem = input<boolean | undefined>(undefined);\n readonly maxYear = input<number | undefined>(undefined);\n readonly minYear = input<number | undefined>(undefined);\n readonly reverseYear = input<boolean | undefined, boolean | undefined>(true, { transform: (value) => value ?? true });\n readonly listKeysDisable = input<IDateDropdownDisable | undefined>(undefined);\n readonly ignoreConvertYearSelected = input<boolean | undefined>(undefined);\n readonly validRequired = input<{ message?: string; interpolateParams?: { any: object } } | undefined>(undefined);\n readonly isEmitSelectedDropDown = input<boolean | undefined>(undefined);\n readonly listMaxItemShow = input<{ year?: number; month?: number; quarter?: number; day?: number } | undefined>(undefined);\n\n // #region OUTPUT\n readonly outSelectedData = output<IEmitSingleDateDropdown>();\n readonly outFunctionControl = output<IDateDropdownItemFunctionControlEvent>();\n readonly outChangStageFlagMouse = output<IFlagMouse>();\n\n constructor() {\n effect(() => {\n const typeDate = this.typeDate();\n if (!typeDate) {\n return;\n }\n untracked(() => {\n const data = typeDate.split('-') as Array<TYPE_DATE_FORMAT>;\n\n const results =\n data.map((item) => {\n return signal({ id: (item || 'month') as TYPE_DATE_FORMAT, keySelected: undefined });\n }) || [];\n this.typeListDate.set(results);\n });\n });\n effect(() => {\n const selectedDate = this.selectedDate();\n\n if (!selectedDate) {\n return;\n }\n\n untracked(() => {\n this.selectedSingle.set(selectedDate);\n if (!this.typeListDate().length) {\n return;\n }\n if (this.typeDate() === 'month-day' && selectedDate.month) {\n this.keyMonthResetDay.set(selectedDate.month);\n }\n this.typeListDate().forEach((item, index) => {\n item.update((current) => {\n current.keySelected = selectedDate[current.id] ?? undefined;\n if ((this.disableSecond() && index !== 0 && !current.keySelected) || (!selectedDate['month'] && this.typeDate() === 'month-day' && item().id === 'day')) {\n current.disable = true;\n }\n\n return current;\n });\n });\n });\n });\n }\n\n ngOnInit(): void {\n this.outFunctionControl.emit(this.FunctionsControl);\n }\n\n /* FUNCTIONS */\n public get FunctionsControl(): IDateDropdownItemFunctionControlEvent {\n return {\n checkIsValid: this.validate.bind(this),\n resetDropdown: this.resetDropdown.bind(this),\n resetError: this.resetError.bind(this),\n setError: this.setError.bind(this),\n };\n }\n\n protected handlerSelectedKey(event: any, typeDate: WritableSignal<ITypeDate>, i: number) {\n if (this.selectedSingle()[typeDate().id] === event && this.isEmitSelectedDropDown()) {\n this.outSelectedData.emit(this.selectedSingle());\n\n return;\n }\n typeDate.update((current) => {\n current.keySelected = event;\n\n return current;\n });\n\n if (this.selectedSingle()) {\n this.selectedSingle.update((current) => {\n current[typeDate().id] = event ? Number(event) : undefined;\n\n return current;\n });\n }\n if (this.disableSecond() || (this.typeDate() === 'month-day' && typeDate().id === 'month')) {\n this.keyMonthResetDay.set(event);\n this.typeListDate().forEach((item) => {\n item.update((current) => {\n current.disable = false;\n\n return current;\n });\n });\n }\n this.typeListDate().forEach((item, index) => {\n if (index === 1 && item().functionControl && i === 0) {\n item().functionControl?.reset();\n }\n });\n if (typeDate().keySelected && !this.isCheckErrorWhenSelectItem()) {\n typeDate.update((current) => {\n current.showBorderError = false;\n current.isError = false;\n\n return current;\n });\n this.checkError();\n }\n this.outSelectedData.emit(this.selectedSingle());\n }\n\n protected checkError() {\n if (!this.isError) {\n return;\n }\n let isError = false;\n\n this.typeListDate().forEach((item) => {\n if (item().showBorderError) {\n isError = true;\n }\n });\n\n if (!isError) {\n this.isError.set(false);\n }\n }\n\n protected handlerFunctionControl(event: IDropdownFunctionControlEvent, item: WritableSignal<ITypeDate>) {\n item.update((current) => {\n current.functionControl = event;\n\n return current;\n });\n }\n\n private async resetDropdown() {\n this.typeListDate().forEach((item) => {\n this.selectedSingle.update((current) => {\n current[item().id] = undefined;\n\n return current;\n });\n\n item.update((current) => {\n current.keySelected = undefined;\n current.functionControl?.reset();\n\n return current;\n });\n });\n this.resetError();\n this.outSelectedData.emit(this.selectedSingle());\n }\n\n private async resetError() {\n this.isError.set(false);\n this.typeListDate().forEach((item) => {\n item.update((current) => {\n current.isError = false;\n current.showBorderError = false;\n\n return current;\n });\n });\n }\n\n private async setError(error: boolean) {\n this.typeListDate().forEach((item) => {\n item.update((current) => {\n current.showBorderError = error;\n\n return current;\n });\n });\n }\n\n private async validate() {\n let valid = true;\n\n this.isError.set(false);\n this.typeListDate().forEach((item, index: number) => {\n item.update((current) => {\n current.showBorderError = false;\n current.isError = false;\n if (this.selectedSingle() && !this.selectedSingle()[current.id] && !current.disable) {\n valid = false;\n current.showBorderError = true;\n if (index === 0 && this.typeListDate().length === 2) {\n this.isError.set(true);\n }\n if (index === 1 && this.typeListDate().length === 2 && !this.isError()) {\n current.isError = true;\n }\n }\n\n return current;\n });\n });\n\n return valid;\n }\n\n protected handlerChangFlagMouse(flagMouse: IFlagMouse) {\n this.outChangStageFlagMouse.emit(flagMouse);\n }\n}\n","<div class=\"\">\n <div class=\"flex items-start\">\n @if (typeListDate(); as typeListDate) {\n @for (item of typeListDate; track item().id; let last = $last; let i = $index; let first = $first) {\n <div\n [style.width]=\"widthByElement() | LibsUiComponentsDatetimeDropdownBuildWidthPipe: widthDropdown() : first : isMultiple()\"\n [class.mr-[8px]]=\"!last && typeListDate.length === 2\"\n [style.minWidth.px]=\"widthDropdown()\">\n <libs_ui-components-datetime-dropdown-item-child\n [readonly]=\"readonly()\"\n [typeDate]=\"item().id\"\n [disable]=\"item().disable ?? disable()\"\n [listKeySelected]=\"item().keySelected\"\n [widthByElement]=\"widthByElement()\"\n [first]=\"first\"\n [widthDropdown]=\"widthDropdown()\"\n [listKeysDisable]=\"listKeysDisable()?.[item().id]?.()\"\n [listMaxItemShow]=\"listMaxItemShow()?.[item().id] ?? 6\"\n [isError]=\"item().isError\"\n [listHasButtonUnSelectOption]=\"listHasButtonUnSelectOption()\"\n [zIndex]=\"zIndex()\"\n [showBorderError]=\"item().showBorderError && !item().disable && !disable()\"\n [listData]=\"item().id | LibsUiComponentsDatetimeDropdownBuildListByDateTypePipe: { minYear: minYear(), maxYear: maxYear(), reverseYear: reverseYear() } : keyMonthResetDay()\"\n [classIncludeTextDisplayWhenNoSelect]=\"classIncludeTextDisplayWhenNoSelect() ?? ''\"\n (outSelectedKey)=\"handlerSelectedKey($event, item, i)\"\n (outFunctionControl)=\"handlerFunctionControl($event, item)\"\n (outChangStageFlagMouse)=\"handlerChangFlagMouse($event)\" />\n </div>\n }\n }\n </div>\n\n @if (isError()) {\n <div class=\"flex items-center mt-[4px]\">\n @let constHtmlMessage = validRequired()?.message || 'i18n_valid_empty_message';\n <span\n class=\"libs-ui-font-h7r libs-ui-text-error\"\n [innerHtml]=\"constHtmlMessage | translate: validRequired()?.interpolateParams\"></span>\n </div>\n }\n</div>\n","import { AfterViewInit, ChangeDetectionStrategy, Component, computed, effect, ElementRef, inject, input, OnInit, output, signal, untracked, viewChild } from '@angular/core';\nimport { ILabel, LibsUiComponentsLabelComponent } from '@libs-ui/components-label';\nimport { IFlagMouse } from '@libs-ui/components-popover';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { fromEvent, Subject, takeUntil, timer } from 'rxjs';\nimport { CompareDate } from './defines/date-dropdown.define';\nimport { LibsUiComponentsDatetimeDropdownDirective } from './directive/date-dropdown.directive';\nimport { IDateDropdownDisableKeys, IFromAndToDateLabel, IHiddenDate, TYPE_DATE_DROPDOWN_FORMAT, TYPE_DATE_FORMAT } from './interfaces/date-dropdown.interface';\nimport { IEmitMultiDateDropdown, IEmitSingleDateDropdown } from './interfaces/emit-dropdown.interface';\nimport { IDateDropdownFunctionControlEvent, IDateDropdownItemFunctionControlEvent } from './interfaces/functions-control-event.interface';\nimport { IValidDateDropdown } from './interfaces/valid.interface';\nimport { LibsUiComponentsDatetimeDropdownItemComponent } from './item/item.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-datetime-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TranslateModule, LibsUiComponentsLabelComponent, LibsUiComponentsDatetimeDropdownDirective, LibsUiComponentsDatetimeDropdownItemComponent],\n})\nexport class LibsUiComponentsDatetimeDropdownComponent implements OnInit, AfterViewInit {\n // #region PROPERTY\n protected width = signal<number>(0);\n protected widthElement = signal<number | undefined>(undefined);\n protected widthLabel = signal<number | undefined>(undefined);\n protected widthLabelFrom = signal<number>(0);\n protected widthLabelTo = signal<number>(0);\n protected isErrorCompareDate = signal<boolean | undefined>(undefined);\n protected chooseDate = signal<IEmitMultiDateDropdown | undefined>({ from: signal({}), to: signal({}) });\n protected isResponsive = signal<boolean | undefined>(undefined);\n protected arrayFormat = computed(() => {\n return this.typeFormat().split('-') as Array<TYPE_DATE_FORMAT>;\n });\n protected changeType = signal<boolean | undefined>(undefined);\n\n private cacheWidthLabel = signal<number | undefined>(undefined);\n private timeOut = signal<number | undefined>(undefined);\n private onDestroy = new Subject<void>();\n private functionsControl = new Map<string, IDateDropdownItemFunctionControlEvent>();\n\n // #region INPUT\n readonly labelConfig = input<ILabel | undefined>(undefined);\n readonly widthDropdown = input<number, number>(136, { transform: (value) => value ?? 136 });\n readonly zIndex = input<number, number>(1200, { transform: (value) => value ?? 1200 });\n readonly maxYear = input<number>(0);\n readonly minYear = input<number>(0);\n readonly minWidth = input<number | undefined>(undefined);\n readonly disable = input<boolean>(false);\n readonly readonly = input<boolean>(false);\n readonly isMultiple = input<boolean>(false);\n readonly reverseYear = input<boolean | undefined>(undefined);\n readonly isBorderError = input<boolean>(false);\n readonly ignoreWidth100 = input<boolean>(false);\n readonly widthByElement = input<boolean>(false);\n readonly disableSecond = input<boolean>(false);\n readonly typeFormat = input<TYPE_DATE_DROPDOWN_FORMAT, TYPE_DATE_DROPDOWN_FORMAT>('month-day', { transform: (value) => value ?? 'month-day' });\n readonly fromAndToDateLabel = input<IFromAndToDateLabel>({ from: 'i18n_label_from', to: 'i18n_to' });\n readonly listHasButtonUnSelectOption = input<boolean>(false);\n readonly selectedDateTime = input<IEmitMultiDateDropdown | undefined>(undefined);\n readonly isEmitAfterChanged = input<boolean>(false); // dùng để emit mỗi lần chọn giá trị và lần đầu init\n readonly getItemYearDisplay = input<(year: string) => string>();\n readonly ignoreFromAndToDateLabel = input<boolean>(false);\n readonly classIncludeTextDisplayWhenNoSelect = input<string | undefined>(undefined);\n readonly hiddenDate = input<IHiddenDate | undefined>();\n readonly listMaxItemShow = input<{ year?: number; month?: number; quarter?: number; day?: number } | undefined>(undefined);\n readonly ignoreConvertYearSelected = input<boolean>(false);\n readonly listKeysDisable = input<IDateDropdownDisableKeys | undefined>(undefined);\n\n readonly ignoreAllowTimeEqual = input<boolean, boolean>(true, { transform: (value) => value ?? true });\n readonly ignoreValidTimeCompare = input<boolean, boolean>(false, { transform: (value) => value ?? false });\n readonly isCheckErrorWhenSelectItem = input<boolean, boolean>(true, { transform: (value) => value ?? true });\n readonly ignoreRequiredValueSecondWhenNotValidRequired = input<boolean>(false); // có validate giá trị thứ 2 khi validRequired không?\n readonly validRequired = input<IValidDateDropdown>();\n\n // #region OUTPUT\n readonly outFunctionsControl = output<IDateDropdownFunctionControlEvent>();\n readonly outSelectedDropdown = output<IEmitSingleDateDropdown | IEmitMultiDateDropdown>(); // dùng cho trường hợp emit mỗi một lần chọn giá trị nên khi sử dụng phải check kĩ undefined\n readonly outChooseMultiDate = output<IEmitMultiDateDropdown>();\n readonly outChooseSingleDate = output<IEmitSingleDateDropdown>();\n readonly outChangStageFlagMouse = output<IFlagMouse>();\n\n /* VIEW CHILD */\n private containerRef = viewChild<ElementRef>('parent');\n private labelFromRef = viewChild<ElementRef>('labelFrom');\n private labelToRef = viewChild<ElementRef>('labelTo');\n\n // #region INJECT\n private translate = inject(TranslateService);\n\n constructor() {\n effect(() => {\n const isMultiple = this.isMultiple();\n\n if (!isMultiple) {\n return;\n }\n\n untracked(() => {\n this.changeType.set(true);\n this.functionsControl.clear();\n timer(0)\n .pipe()\n .subscribe(() => {\n this.checkResponsive();\n this.changeType.set(false);\n });\n });\n });\n }\n\n ngOnInit() {\n this.outFunctionsControl.emit(this.FunctionsControl);\n if (this.selectedDateTime()) {\n this.chooseDate.set(this.selectedDateTime());\n }\n }\n\n ngAfterViewInit() {\n fromEvent(window, 'resize').pipe(takeUntil(this.onDestroy)).subscribe(this.setWidthDate.bind(this));\n this.widthLabel.set(undefined);\n timer(0)\n .pipe()\n .subscribe(() => {\n this.checkResponsive();\n });\n }\n\n public get FunctionsControl(): IDateDropdownFunctionControlEvent {\n return {\n checkIsValid: this.validate.bind(this),\n resetError: this.resetError.bind(this),\n resetTime: this.resetDropdown.bind(this),\n };\n }\n\n protected checkResponsive() {\n this.isResponsive.set(false);\n const widthElementParent = this.containerRef()?.nativeElement?.getBoundingClientRect().width || 0;\n\n this.widthLabelFrom.set(this.labelFromRef()?.nativeElement?.getBoundingClientRect().width || 0);\n this.widthLabelTo.set(this.labelToRef()?.nativeElement?.getBoundingClientRect().width || 0);\n\n const spaceBetweenDate = this.arrayFormat().length * 2 + (this.fromAndToDateLabel().from ? 1 : 0);\n const width = this.widthDropdown() * 4 + 8 * spaceBetweenDate + this.widthLabelFrom() + this.widthLabelTo();\n\n if (widthElementParent < width) {\n this.isResponsive.set(true);\n }\n }\n\n protected handlerChangeSelectedKey(event: IEmitSingleDateDropdown, type: 'from' | 'to') {\n this.chooseDate.update((current) => {\n if (current) {\n current[type].set(event);\n }\n\n return current;\n });\n if (this.isEmitAfterChanged()) {\n const dataEmit = this.isMultiple() ? this.chooseDate() : this.chooseDate()?.from();\n\n if (dataEmit) {\n this.outSelectedDropdown.emit(dataEmit);\n }\n }\n this.applyDate();\n }\n\n private async resetDropdown() {\n this.functionsControl.forEach((control) => control.resetDropdown());\n }\n\n private async resetError() {\n this.functionsControl.forEach((control) => control.resetError());\n }\n\n private setWidthDate() {\n if (!this.containerRef() || !this.containerRef()?.nativeElement) {\n return;\n }\n timer(0)\n .pipe()\n .subscribe(() => {\n this.checkResponsive();\n });\n }\n\n protected handlerFunctionControl(event: IDateDropdownItemFunctionControlEvent, type: 'from' | 'to') {\n this.functionsControl.set(type, event);\n }\n\n protected async checkValid() {\n let valid = true;\n\n for (const control of this.functionsControl.values()) {\n if (!(await control.checkIsValid())) {\n valid = false;\n }\n }\n if (this.compareDate()) {\n valid = false;\n }\n\n return valid;\n }\n\n private setError(error: boolean) {\n this.functionsControl.forEach((control) => control.setError(error));\n }\n\n private compareDate() {\n const type = this.typeFormat().split('-') as Array<TYPE_DATE_FORMAT>;\n const dateCompare: Array<{ from: number | undefined; to: number | undefined }> = [];\n\n type.forEach((item) => {\n const from = this.chooseDate()?.from()[item];\n const to = this.chooseDate()?.to()[item];\n\n dateCompare.push({ from: from, to: to });\n });\n if (this.ignoreValidTimeCompare() || !this.checkCondition(true)) {\n this.isErrorCompareDate.set(false);\n\n return false;\n }\n if (CompareDate(dateCompare, this.ignoreAllowTimeEqual())) {\n this.setError(true);\n this.isErrorCompareDate.set(true);\n\n return true;\n }\n this.isErrorCompareDate.set(false);\n\n return false;\n }\n\n private async validate() {\n let valid = true;\n\n if (!this.validRequired()) {\n if (!this.checkCondition(false) && !this.ignoreRequiredValueSecondWhenNotValidRequired()) {\n valid = await this.checkValid();\n }\n\n return valid;\n }\n\n return await this.checkValid();\n }\n\n private checkCondition(hasValue: boolean) {\n let checkValue = true;\n const type = this.typeFormat().split('-') as Array<TYPE_DATE_FORMAT>;\n\n type.forEach((item) => {\n if (hasValue && (!this.chooseDate()?.from()[item] || !this.chooseDate()?.to()[item])) {\n checkValue = false;\n }\n if (!hasValue && (this.chooseDate()?.from()[item] || this.chooseDate()?.to()[item])) {\n checkValue = false;\n }\n });\n\n return checkValue;\n }\n\n protected applyDate() {\n this.setError(false);\n this.isErrorCompareDate.set(false);\n if (this.isCheckErrorWhenSelectItem() && !this.validate()) {\n return;\n }\n const from = this.chooseDate()?.from;\n const to = this.chooseDate()?.to;\n\n if (this.isMultiple()) {\n if (this.compareDate()) {\n return;\n }\n let dataSelected: IEmitMultiDateDropdown | undefined = { from: signal({}), to: signal({}) };\n\n this.arrayFormat().forEach((key) => {\n if (!from?.()?.[key] || !to?.()?.[key]) {\n dataSelected = undefined;\n }\n if (dataSelected) {\n dataSelected.from.update((current) => {\n current[key] = Number(from?.()[key]);\n\n return current;\n });\n dataSelected.to.update((current) => {\n current[key] = Number(to?.()[key]);\n\n return current;\n });\n }\n });\n\n if (dataSelected) {\n this.outChooseMultiDate.emit(dataSelected);\n }\n\n return;\n }\n let dataSelected: IEmitSingleDateDropdown | undefined = {};\n\n this.arrayFormat().forEach((key) => {\n if (!from?.()?.[key]) {\n dataSelected = undefined;\n }\n if (dataSelected) {\n dataSelected[key] = Number(from?.()?.[key]);\n }\n });\n if (dataSelected) {\n this.outChooseSingleDate.emit(dataSelected);\n }\n }\n\n protected handlerChangeWidthLabel(width: number) {\n this.cacheWidthLabel.set(width < (this.cacheWidthLabel() || 0) ? this.cacheWidthLabel() : Math.ceil(width));\n if (this.timeOut()) {\n clearTimeout(this.timeOut());\n }\n this.timeOut.set(\n setTimeout(() => {\n this.widthLabel.set(this.cacheWidthLabel());\n }, 100) as unknown as number\n );\n }\n\n protected handlerChangStageFlagMouse(flagMouse: IFlagMouse) {\n this.outChangStageFlagMouse.emit(flagMouse);\n }\n}\n","@if (labelConfig(); as labelConfig) {\n <libs_ui-components-label\n [classInclude]=\"labelConfig.classInclude\"\n [labelLeft]=\"labelConfig.labelLeft\"\n [labelLeftClass]=\"labelConfig.labelLeftClass\"\n [required]=\"labelConfig.required\"\n [description]=\"labelConfig.description\"\n [labelRight]=\"labelConfig.labelRight\"\n [labelRightClass]=\"labelConfig.labelRightClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [buttonsLeft]=\"labelConfig.buttonsLeft\"\n [buttonsRight]=\"labelConfig.buttonsRight\"\n [buttonsDescription]=\"labelConfig.buttonsDescription\"\n [descriptionClass]=\"labelConfig.descriptionClass\"\n [disableButtonsLeft]=\"labelConfig.disableButtonsLeft\"\n [disableButtonsRight]=\"labelConfig.disableButtonsRight\"\n [hasToggle]=\"labelConfig.hasToggle\"\n [toggleActive]=\"labelConfig.toggleActive\"\n [toggleDisable]=\"labelConfig.toggleDisable || disable()\"\n [popover]=\"labelConfig.popover\"\n [iconPopoverClass]=\"labelConfig.iconPopoverClass\"\n [limitLength]=\"labelConfig.limitLength\"\n [count]=\"labelConfig.count\" />\n}\n<div\n #parent\n class=\"flex items-start\"\n [class.!w-full]=\"widthByElement()\"\n [class.!column]=\"isResponsive() && isMultiple()\">\n <div\n #childFrom\n class=\"flex items-start\"\n [class.w-[50%]]=\"widthByElement() && !isResponsive()\"\n [class.!mb-[8px]]=\"isResponsive() && isMultiple()\"\n [class.!mr-[8px]]=\"!isResponsive() && isMultiple()\"\n [class.w-full]=\"(!isMultiple() && !widthByElement()) || isResponsive()\"\n [style.width.px]=\"!widthByElement() && isMultiple() && !isResponsive() ? widthDropdown() * arrayFormat().length + 8 * arrayFormat().length + widthLabelFrom() : undefined\">\n @if (isMultiple() && !ignoreFromAndToDateLabel() && fromAndToDateLabel().from) {\n <div\n class=\"mr-[8px] flex-shrink-0 h-[32px] flex items-center\"\n [style.width.px]=\"isResponsive() ? widthLabel() || undefined : undefined\">\n <span\n #labelFrom\n LibsUiComponentsDatetimeDropdownDirective\n [class.!opacity-[0.5]]=\"disable()\"\n class=\"libs-ui-font-h5r text-nowrap {{ fromAndToDateLabel().classLabelFrom || '' }}\"\n (outChangeWidth)=\"handlerChangeWidthLabel($event)\">\n @let constHtmlFrom = fromAndToDateLabel().from || ' ';\n {{ constHtmlFrom | translate }}\n </span>\n </div>\n }\n <div\n class=\"flex\"\n [class.!w-full]=\"widthByElement()\">\n @if (!changeType()) {\n <libs_ui-components-datetime-dropdown-item\n [class.!w-full]=\"widthByElement()\"\n [disableSecond]=\"disableSecond()\"\n [typeDate]=\"typeFormat()\"\n [zIndex]=\"zIndex()\"\n [maxYear]=\"maxYear()\"\n [disable]=\"disable()\"\n [minYear]=\"minYear()\"\n [readonly]=\"readonly()\"\n [isMultiple]=\"isMultiple() ? (isResponsive() ? true : false) : true\"\n [reverseYear]=\"reverseYear()\"\n [selectedDate]=\"selectedDateTime()?.from() || {}\"\n [widthDropdown]=\"widthDropdown()\"\n [widthByElement]=\"widthByElement()\"\n [getItemYearDisplay]=\"getItemYearDisplay()\"\n [listMaxItemShow]=\"listMaxItemShow()\"\n [listKeysDisable]=\"listKeysDisable()?.from()\"\n [listHasButtonUnSelectOption]=\"listHasButtonUnSelectOption()\"\n [isEmitSelectedDropDown]=\"isEmitAfterChanged()\"\n [classIncludeTextDisplayWhenNoSelect]=\"'libs-ui-font-h5r ' + classIncludeTextDisplayWhenNoSelect()\"\n (outSelectedData)=\"handlerChangeSelectedKey($event, 'from')\"\n (outFunctionControl)=\"handlerFunctionControl($event, 'from')\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\" />\n }\n </div>\n </div>\n @if (isMultiple()) {\n <div\n #childTo\n [class.!w-[50%]]=\"widthByElement()\"\n [class.!w-full]=\"!widthByElement() || isResponsive()\"\n class=\"flex items-start\">\n <div\n class=\"mr-[8px] h-[32px] flex-shrink-0 flex items-center\"\n [style.width.px]=\"isResponsive() ? widthLabel() : undefined\">\n @if (!ignoreFromAndToDateLabel()) {\n <span\n #labelTo\n LibsUiComponentsDatetimeDropdownDirective\n [class.!opacity-[0.5]]=\"disable()\"\n class=\"libs-ui-font-h5r text-nowrap {{ fromAndToDateLabel().classLabelTo || '' }}\"\n (outChangeWidth)=\"handlerChangeWidthLabel($event)\">\n @let constHtmlTo = fromAndToDateLabel().to || ' ';\n {{ constHtmlTo | translate }}\n </span>\n }\n @if (ignoreFromAndToDateLabel()) {\n <span\n [class.!opacity-[0.5]]=\"disable()\"\n class=\"libs-ui-font-h5r\">\n -\n </span>\n }\n </div>\n <div\n class=\"flex\"\n [class.!w-full]=\"widthByElement()\">\n @if (!changeType()) {\n <libs_ui-components-datetime-dropdown-item\n [class.w-full]=\"widthByElement()\"\n [disableSecond]=\"disableSecond()\"\n [typeDate]=\"typeFormat()\"\n [zIndex]=\"zIndex()\"\n [maxYear]=\"maxYear()\"\n [disable]=\"disable()\"\n [minYear]=\"minYear()\"\n [readonly]=\"readonly()\"\n [isMultiple]=\"isMultiple()\"\n [reverseYear]=\"reverseYear()\"\n [selectedDate]=\"selectedDateTime()?.to() || {}\"\n [widthDropdown]=\"widthDropdown()\"\n [widthByElement]=\"widthByElement()\"\n [getItemYearDisplay]=\"getItemYearDisplay()\"\n [listMaxItemShow]=\"listMaxItemShow()\"\n [listKeysDisable]=\"listKeysDisable()?.to()\"\n [listHasButtonUnSelectOption]=\"listHasButtonUnSelectOption()\"\n [classIncludeTextDisplayWhenNoSelect]=\"'libs-ui-font-h5r ' + classIncludeTextDisplayWhenNoSelect\"\n [isEmitSelectedDropDown]=\"isEmitAfterChanged()\"\n (outSelectedData)=\"handlerChangeSelectedKey($event, 'to')\"\n (outFunctionControl)=\"handlerFunctionControl($event, 'to')\"\n (outChangStageFlagMouse)=\"handlerChangStageFlagMouse($event)\" />\n }\n </div>\n </div>\n }\n</div>\n\n@if (isErrorCompareDate()) {\n <div class=\"flex items-center mt-[4px]\">\n <span class=\"libs-ui-message-error libs-ui-font-h7r libs-ui-text-error\">\n @let constHtmlMessage = validRequired()?.messageValidCompareTime || 'i18n_invalid_end_date_selected';\n {{ constHtmlMessage | translate: validRequired()?.interpolateParamsCompareTime }}\n </span>\n </div>\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { WritableSignal } from '@angular/core';\nimport { IDropdownFunctionControlEvent } from '@libs-ui/components-dropdown';\n\nexport type TYPE_DROPDOWN_MONTH_ID = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\nexport type TYPE_DATE_DROPDOWN_FORMAT = 'year' | 'month' | 'quarter' | 'year-month' | 'month-day' | 'year-quarter' | string;\nexport type TYPE_DATE_FORMAT = 'year' | 'month' | 'quarter' | 'day';\n\nexport interface ITypeDate {\n id: TYPE_DATE_FORMAT;\n keySelected: any;\n disable?: boolean;\n showBorderError?: boolean;\n isError?: boolean;\n functionControl?: IDropdownFunctionControlEvent;\n}\n\nexport interface IDateDropdownDisableKeys {\n from?: WritableSignal<IDateDropdownDisable>;\n to?: WritableSignal<IDateDropdownDisable>;\n}\n\nexport interface IDateDropdownDisable {\n year?: WritableSignal<Array<number>>;\n month?: WritableSignal<Array<number>>;\n quarter?: WritableSignal<Array<number>>;\n day?: WritableSignal<Array<number>>;\n}\n\nexport interface IHiddenDate {\n formatDate: TYPE_DATE_DROPDOWN_FORMAT;\n yearMonth?: WritableSignal<Array<WritableSignal<IHiddenDateYearMonth>>>;\n monthDay?: WritableSignal<Array<WritableSignal<IHiddenDateMonthDay>>>;\n}\n\ninterface IHiddenDateMonthDay {\n hiddenMonth: number;\n hiddenDays: Array<number>;\n}\ninterface IHiddenDateYearMonth {\n hiddenYear: number;\n hiddenMonths: Array<number>;\n}\n\nexport interface IFromAndToDateLabel {\n to?: string;\n from?: string;\n classLabelTo?: string;\n classLabelFrom?: string;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@libs-ui/components-datetime-dropdown",
3
- "version": "0.2.342-0",
3
+ "version": "0.2.344-0",
4
4
  "peerDependencies": {
5
5
  "@angular/core": ">=18.0.0",
6
6
  "@ngx-translate/core": "^15.0.0",
7
- "@libs-ui/services-http-request": "0.2.342-0",
8
- "@libs-ui/utils": "0.2.342-0",
9
- "@libs-ui/components-datetime-picker": "0.2.342-0",
10
- "@libs-ui/components-label": "0.2.342-0",
11
- "@libs-ui/components-popover": "0.2.342-0",
7
+ "@libs-ui/services-http-request": "0.2.344-0",
8
+ "@libs-ui/utils": "0.2.344-0",
9
+ "@libs-ui/components-datetime-picker": "0.2.344-0",
10
+ "@libs-ui/components-label": "0.2.344-0",
11
+ "@libs-ui/components-popover": "0.2.344-0",
12
12
  "rxjs": "~7.8.0",
13
- "@libs-ui/components-dropdown": "0.2.342-0",
14
- "@libs-ui/components-list": "0.2.342-0"
13
+ "@libs-ui/components-dropdown": "0.2.344-0",
14
+ "@libs-ui/components-list": "0.2.344-0"
15
15
  },
16
16
  "sideEffects": false,
17
17
  "module": "fesm2022/libs-ui-components-datetime-dropdown.mjs",