@acorex/components 19.13.0 → 19.13.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data-pager/lib/data-pager-base.component.d.ts +2 -2
- package/data-pager/lib/data-pager-info.component.d.ts +1 -1
- package/data-pager/lib/data-pager-input-selector.component.d.ts +1 -1
- package/data-pager/lib/data-pager-next-buttons.component.d.ts +1 -1
- package/data-pager/lib/data-pager-numeric-selector.component.d.ts +1 -1
- package/data-pager/lib/data-pager-pagesize-dropdown.component.d.ts +1 -1
- package/data-pager/lib/data-pager-prev-buttons.component.d.ts +1 -1
- package/fesm2022/acorex-components-calendar.mjs +14 -7
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +14 -14
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +2 -2
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +8 -6
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +7 -7
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/form/lib/validation-summary.component.d.ts +4 -2
- package/package.json +1 -1
@@ -42,19 +42,19 @@ class AXDataPagerChild extends MXInteractiveComponent {
|
|
42
42
|
this._parent = inject(AXDataPagerParentComponent);
|
43
43
|
this._unsubscriber = inject(AXUnsubscriber);
|
44
44
|
//
|
45
|
-
this._parent.onChanged.pipe(this._unsubscriber.takeUntilDestroy).subscribe((c) => {
|
46
|
-
this.applyParent();
|
45
|
+
this._parent.onChanged.pipe(this._unsubscriber.takeUntilDestroy).subscribe(async (c) => {
|
46
|
+
await this.applyParent();
|
47
47
|
});
|
48
48
|
//
|
49
|
-
this._parent.onOptionChanged.pipe(this._unsubscriber.takeUntilDestroy).subscribe((c) => {
|
50
|
-
this.applyParent();
|
49
|
+
this._parent.onOptionChanged.pipe(this._unsubscriber.takeUntilDestroy).subscribe(async (c) => {
|
50
|
+
await this.applyParent();
|
51
51
|
});
|
52
52
|
}
|
53
53
|
/**
|
54
54
|
* @ignore
|
55
55
|
*/
|
56
|
-
ngAfterViewInit() {
|
57
|
-
this.applyParent();
|
56
|
+
async ngAfterViewInit() {
|
57
|
+
await this.applyParent();
|
58
58
|
}
|
59
59
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXDataPagerChild, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
60
60
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXDataPagerChild }); }
|
@@ -76,11 +76,11 @@ class AXDataPagerInfoComponent extends AXDataPagerChild {
|
|
76
76
|
/**
|
77
77
|
* @ignore
|
78
78
|
*/
|
79
|
-
applyParent() {
|
79
|
+
async applyParent() {
|
80
80
|
const info = this._parent.displayInfo;
|
81
81
|
if ([info.range, info.range.from, info.totalItems].every((c) => c)) {
|
82
|
-
this._textFormatted = this.translateService
|
83
|
-
.
|
82
|
+
this._textFormatted = (await this.translateService
|
83
|
+
.translateAsync(this.text ?? 'datapager.info.text'))
|
84
84
|
.replace('[from]', info.range.from.toString())
|
85
85
|
.replace('[to]', info.range.to.toString())
|
86
86
|
.replace('[totalItems]', info.totalItems.toString())
|
@@ -126,7 +126,7 @@ class AXDataPagerInputSelectorComponent extends AXDataPagerChild {
|
|
126
126
|
/**
|
127
127
|
* @ignore
|
128
128
|
*/
|
129
|
-
applyParent() {
|
129
|
+
async applyParent() {
|
130
130
|
this._currentPage = this._parent.displayInfo.page;
|
131
131
|
this._totalPages = this._parent.displayInfo.totalPages;
|
132
132
|
this.cdr.markForCheck();
|
@@ -207,7 +207,7 @@ class AXDataPagerNextButtonsComponent extends AXDataPagerChild {
|
|
207
207
|
/**
|
208
208
|
* @ignore
|
209
209
|
*/
|
210
|
-
applyParent() {
|
210
|
+
async applyParent() {
|
211
211
|
this.disabled = this._parent.displayInfo.page == this._parent.displayInfo.totalPages || this._parent.disabled;
|
212
212
|
}
|
213
213
|
/**
|
@@ -294,7 +294,7 @@ class AXDataPagerNumericSelectorComponent extends AXDataPagerChild {
|
|
294
294
|
/**
|
295
295
|
* @ignore
|
296
296
|
*/
|
297
|
-
applyParent() {
|
297
|
+
async applyParent() {
|
298
298
|
this._currentPage = this._parent.displayInfo.page;
|
299
299
|
this._loading = this._parent.isLoading;
|
300
300
|
this._lastPage = this._parent.displayInfo.totalPages;
|
@@ -469,7 +469,7 @@ class AXDataPagerPageSizesComponent extends AXDataPagerChild {
|
|
469
469
|
/**
|
470
470
|
* @ignore
|
471
471
|
*/
|
472
|
-
applyParent() {
|
472
|
+
async applyParent() {
|
473
473
|
this._size = this._parent.displayInfo.take;
|
474
474
|
this._items = this.sizes.map((s) => ({
|
475
475
|
text: s.toString(),
|
@@ -557,7 +557,7 @@ class AXDataPagerPrevButtonsComponent extends AXDataPagerChild {
|
|
557
557
|
/**
|
558
558
|
* @ignore
|
559
559
|
*/
|
560
|
-
applyParent() {
|
560
|
+
async applyParent() {
|
561
561
|
this.disabled = this._parent.displayInfo.page == 1 || this._parent.disabled;
|
562
562
|
}
|
563
563
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-data-pager.mjs","sources":["../../../../libs/components/data-pager/src/lib/data-pager-base.component.ts","../../../../libs/components/data-pager/src/lib/data-pager-info.component.ts","../../../../libs/components/data-pager/src/lib/data-pager-input-selector.component.ts","../../../../libs/components/data-pager/src/lib/data-pager-next-buttons.component.ts","../../../../libs/components/data-pager/src/lib/data-pager-numeric-selector.component.ts","../../../../libs/components/data-pager/src/lib/data-pager-pagesize-dropdown.component.ts","../../../../libs/components/data-pager/src/lib/data-pager-prev-buttons.component.ts","../../../../libs/components/data-pager/src/lib/data-pager.component.ts","../../../../libs/components/data-pager/src/lib/data-pager.component.html","../../../../libs/components/data-pager/src/lib/data-pager.module.ts","../../../../libs/components/data-pager/src/acorex-components-data-pager.ts"],"sourcesContent":["import { AXEvent, AXOptionChangedEvent, MXInteractiveComponent } from '@acorex/components/common';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { EventEmitter, Injectable, inject } from '@angular/core';\n\n/**\n * A token that specifies the display mode of datapager component.\n */\nexport type AXDataPagerDisplayMode = 'full' | 'compact' | 'custom';\n\nexport interface AXDataPagerData {\n range: { from: number; to: number };\n page: number;\n skip: number;\n take: number;\n totalPages: number;\n totalItems: number;\n}\n\nexport class AXDataPagerChangedEvent extends AXEvent implements AXDataPagerData {\n range: { from: number; to: number } = { from: 0, to: 0 };\n page = 0;\n skip = 0;\n take = 0;\n totalPages = 0;\n totalItems = 0;\n}\n\n@Injectable()\nexport abstract class AXDataPagerParentComponent {\n abstract readonly: boolean;\n abstract disabled: boolean;\n abstract isLoading: boolean;\n abstract onChanged: EventEmitter<AXDataPagerChangedEvent>;\n abstract onOptionChanged: EventEmitter<AXOptionChangedEvent>;\n abstract get displayInfo(): AXDataPagerData;\n abstract size;\n abstract goNextPage(): void;\n abstract goLastPage(): void;\n abstract goFirstPage(): void;\n abstract goPrevPage(): void;\n abstract goToPage(page: number): void;\n}\n\n@Injectable()\nexport abstract class AXDataPagerChild extends MXInteractiveComponent {\n protected _parent: AXDataPagerParentComponent = inject(AXDataPagerParentComponent);\n protected _unsubscriber: AXUnsubscriber = inject(AXUnsubscriber);\n\n /**\n * @ignore\n */\n constructor() {\n super();\n //\n this._parent.onChanged.pipe(this._unsubscriber.takeUntilDestroy).subscribe((c) => {\n this.applyParent();\n });\n //\n this._parent.onOptionChanged.pipe(this._unsubscriber.takeUntilDestroy).subscribe((c) => {\n this.applyParent();\n });\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit() {\n this.applyParent();\n }\n\n /**\n * @ignore\n */\n protected abstract applyParent(): void;\n}\n","import { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXTranslationService, AXTranslatorPipe } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, inject } from '@angular/core';\nimport { AXDataPagerChild } from './data-pager-base.component';\n\n/**\n * Displays formatted and translated information text for a data pager component.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-data-pager-info',\n template: `<ax-text> {{ _textFormatted | translate | async }}</ax-text>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXDataPagerChild, useExisting: AXDataPagerInfoComponent }, AXUnsubscriber],\n imports: [AXDecoratorGenericComponent, AsyncPipe, AXTranslatorPipe],\n})\nexport class AXDataPagerInfoComponent extends AXDataPagerChild {\n /**\n * The text to be displayed in the data pager info component.\n */\n @Input()\n text: string;\n\n /**\n * @ignore\n */\n protected _textFormatted: string;\n protected translateService = inject(AXTranslationService);\n\n /**\n * @ignore\n */\n protected override applyParent() {\n const info = this._parent.displayInfo;\n if ([info.range, info.range.from, info.totalItems].every((c) => c)) {\n this._textFormatted = this.translateService\n .translateSync(this.text ?? 'datapager.info.text')\n .replace('[from]', info.range.from.toString())\n .replace('[to]', info.range.to.toString())\n .replace('[totalItems]', info.totalItems.toString())\n .replace('[page]', info.page.toString())\n .replace('[totalPages]', info.totalPages.toString());\n this.cdr.markForCheck();\n }\n }\n}\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXNumberBoxComponent } from '@acorex/components/number-box';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDataPagerChild } from './data-pager-base.component';\n\n/**\n * Provides an input selector for navigating pages in a data pager component.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-data-pager-input-selector',\n template: `\n <ax-number-box\n class=\"ax-sm\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n [ngModel]=\"_currentPage\"\n (onValueChanged)=\"_handleValueChanged($event)\"\n [showSpinButtons]=\"false\"\n [minValue]=\"1\"\n [maxValue]=\"_totalPages\"\n >\n </ax-number-box>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXNumberBoxComponent, FormsModule],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXDataPagerChild,\n useExisting: AXDataPagerInputSelectorComponent,\n },\n AXUnsubscriber,\n ],\n})\nexport class AXDataPagerInputSelectorComponent extends AXDataPagerChild {\n /**\n * @ignore\n */\n protected _totalPages = 1;\n\n /**\n * @ignore\n */\n protected _currentPage = 1;\n\n /**\n * @ignore\n */\n protected override applyParent() {\n this._currentPage = this._parent.displayInfo.page;\n this._totalPages = this._parent.displayInfo.totalPages;\n this.cdr.markForCheck();\n }\n\n /**\n * @ignore\n */\n protected _handleValueChanged(e: AXValueChangedEvent<number>) {\n //TODO: debounceTime\n if (e.isUserInteraction) {\n this._parent.goToPage(e.value as number);\n }\n }\n}\n","import { AXButtonComponent } from '@acorex/components/button';\nimport { AXClickEvent } from '@acorex/components/common';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXHtmlUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { AXDataPagerChild } from './data-pager-base.component';\n\n/**\n * Provides buttons for navigating to the next and last pages in a data pager component.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-data-pager-next-buttons',\n template: `\n <ax-button [disabled]=\"disabled\" look=\"blank\" class=\"ax-sm\" title=\"Go to the next page\" (onClick)=\"_emitOnNextPageClick($event)\">\n <ax-icon\n class=\"ax-icon ax-text-xl\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': rtl,\n 'ax-icon-chevron-right': !rtl,\n }\"\n ></ax-icon>\n </ax-button>\n <ax-button [disabled]=\"disabled\" look=\"blank\" class=\"ax-sm\" title=\"Go to the last page\" (onClick)=\"_emitOnLastPageClick($event)\">\n <ax-icon class=\"ax-icon ax-text-xl\" [ngClass]=\"{ 'ax-icon-chevron-double-left': rtl, 'ax-icon-chevron-double-right': !rtl }\"></ax-icon>\n </ax-button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXDataPagerChild, useExisting: AXDataPagerNextButtonsComponent }, AXUnsubscriber],\n imports: [AXButtonComponent, AXDecoratorIconComponent, NgClass],\n})\nexport class AXDataPagerNextButtonsComponent extends AXDataPagerChild {\n /**\n * @ignore\n */\n protected rtl!: boolean;\n\n /**\n * @ignore\n */\n override ngOnInit(): void {\n super.ngOnInit;\n this.rtl = AXHtmlUtil.isRtl(this.getHostElement());\n }\n\n /**\n * @ignore\n */\n protected override applyParent() {\n this.disabled = this._parent.displayInfo.page == this._parent.displayInfo.totalPages || this._parent.disabled;\n }\n\n /**\n * @ignore\n */\n _emitOnLastPageClick(e: AXClickEvent) {\n if (this._parent.readonly || this._parent.disabled) return;\n this._parent.goLastPage();\n }\n\n /**\n * @ignore\n */\n _emitOnNextPageClick(e: AXClickEvent) {\n if (this._parent.readonly || this._parent.disabled) return;\n this._parent.goNextPage();\n }\n}\n","import { AXButtonComponent, AXButtonItem } from '@acorex/components/button';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXSkeletonComponent } from '@acorex/components/skeleton';\nimport { AXHtmlUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { AXDataPagerChild } from './data-pager-base.component';\n\n/**\n * Component that provides numeric page selection controls for a data pager.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-data-pager-numeric-selector',\n template: `\n <ax-button class=\"ax-sm\" [disabled]=\"_currentPage === 1 || _parent.disabled\" look=\"blank\" (onClick)=\"_handleOnItemClick({ data: 1 })\">\n <ax-icon\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-double-left': !rtl,\n 'ax-icon-chevron-double-right': rtl,\n }\"\n ></ax-icon>\n </ax-button>\n\n @if (!_parent.isLoading) {\n @for (item of _items; track $index) {\n <ax-button\n class=\"ax-data-pager-num-button\"\n [disabled]=\"_parent.disabled\"\n [color]=\"_currentPage === item.data ? 'primary' : 'default'\"\n [look]=\"_currentPage === item.data ? 'solid' : 'blank'\"\n [text]=\"item.text\"\n (onClick)=\"_handleOnItemClick(item)\"\n >\n @if (item.iconClass) {\n <ax-icon class=\"ax-icon\" [ngClass]=\"item.iconClass\"></ax-icon>\n }\n </ax-button>\n }\n } @else {\n <ax-skeleton></ax-skeleton>\n }\n\n <ax-button class=\"ax-sm\" [disabled]=\"_currentPage === _lastPage || _parent.disabled\" look=\"blank\" (onClick)=\"_handleOnItemClick({ data: _lastPage })\">\n <ax-icon\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-double-left': rtl,\n 'ax-icon-chevron-double-right': !rtl,\n }\"\n ></ax-icon>\n </ax-button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXDataPagerChild,\n useExisting: AXDataPagerNumericSelectorComponent,\n },\n AXUnsubscriber,\n ],\n imports: [AXButtonComponent, AXDecoratorIconComponent, NgClass, AXSkeletonComponent],\n})\nexport class AXDataPagerNumericSelectorComponent extends AXDataPagerChild {\n _items: AXButtonItem[] = [];\n _currentPage = 1;\n _lastPage = 1;\n _loading = false;\n\n /**\n * @ignore\n */\n private _displayCount = 5;\n\n /**\n * @ignore\n */\n protected rtl!: boolean;\n\n /**\n * @ignore\n */\n override ngOnInit(): void {\n super.ngOnInit;\n this.rtl = AXHtmlUtil.isRtl(this.getHostElement());\n }\n\n /**\n * @ignore\n */\n protected override applyParent(): void {\n this._currentPage = this._parent.displayInfo.page;\n this._loading = this._parent.isLoading;\n this._lastPage = this._parent.displayInfo.totalPages;\n //\n this._items = [];\n\n const start = Math.max(0, (Math.ceil(this._currentPage / this._displayCount) - 1) * this._displayCount + 1);\n const end = Math.min(start + this._displayCount - 1, this._lastPage);\n //\n if (start > this._displayCount) {\n this._items.push({\n iconClass: this.rtl ? 'ax-icon-chevron-right' : 'ax-icon-chevron-left',\n data: start - 1,\n });\n }\n //\n for (let i = start; i <= end; i++) {\n this._items.push({\n text: i.toString(),\n data: i,\n });\n }\n if (end < this._lastPage) {\n this._items.push({\n iconClass: this.rtl ? 'ax-icon-chevron-left' : 'ax-icon-chevron-right',\n data: end + 1,\n });\n }\n this.cdr.detectChanges();\n }\n\n /**\n * @ignore\n */\n _handleOnItemClick(e: any) {\n if (this._parent.readonly || this._parent.disabled) return;\n this._parent.goToPage(Number(e.data));\n }\n}\n","import { AXButtonComponent, AXButtonItemComponent, AXButtonItemListComponent } from '@acorex/components/button';\nimport { AXClickEvent } from '@acorex/components/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXDropdownPanelComponent } from '@acorex/components/dropdown';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { AXDataPagerChild } from './data-pager-base.component';\n\n/**\n * Displays a button to select page sizes for data pagination.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-data-pager-page-sizes',\n template: `\n <ax-button [text]=\"_size\" [disabled]=\"_parent.disabled\">\n <ax-dropdown-panel>\n <ax-button-item-list (onItemClick)=\"_emitOnItemClick($event)\">\n @for (item of _items; track $index) {\n <ax-button-item color=\"default\" [text]=\"item.text\" [data]=\"item.data\" [selected]=\"item.selected\"> </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"ax-icon ax-icon-solid ax-icon-arrow-down\"></ax-icon>\n </ax-suffix>\n </ax-button>\n <!-- <span >items per page</span> -->\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n outputs: [],\n providers: [{ provide: AXDataPagerChild, useExisting: AXDataPagerPageSizesComponent }, AXUnsubscriber],\n imports: [\n AXButtonComponent,\n AXDropdownPanelComponent,\n AXButtonItemListComponent,\n AXButtonItemComponent,\n AXDecoratorGenericComponent,\n AXDecoratorIconComponent,\n ],\n})\nexport class AXDataPagerPageSizesComponent extends AXDataPagerChild {\n /**\n * @ignore\n */\n _size: number;\n\n /**\n * @ignore\n */\n //TODO: AXButtonItems type error\n _items: any[] = [];\n\n /**\n * @ignore\n */\n private _sizes: number[];\n\n /**\n * Gets the list of page sizes available for selection.\n */\n @Input()\n public get sizes(): number[] {\n return this._sizes || [5, 10, 20, 50, 100];\n }\n\n /**\n * Sets the list of page sizes available for selection.\n *\n * @param value - An array of numbers representing the page sizes to be set.\n */\n public set sizes(v: number[]) {\n this._sizes = v;\n this.applyParent();\n }\n\n /**\n * @ignore\n */\n protected override applyParent(): void {\n this._size = this._parent.displayInfo.take;\n this._items = this.sizes.map((s: any) => ({\n text: s.toString(),\n selected: s == this._size,\n data: {\n size: s,\n },\n }));\n this.cdr.detectChanges();\n }\n\n /**\n * @ignore\n */\n _emitOnItemClick(e: AXClickEvent) {\n if (this._parent.readonly || this._parent.disabled) return;\n this._size = this._parent.size = Number(e.data.size);\n }\n}\n","import { AXButtonComponent } from '@acorex/components/button';\nimport { AXClickEvent } from '@acorex/components/common';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXHtmlUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { AXDataPagerChild } from './data-pager-base.component';\n\n/**\n * Component that provides navigation buttons for going to the previous page and the first page in a data pager.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-data-pager-prev-buttons',\n template: `\n <ax-button [disabled]=\"disabled\" look=\"blank\" class=\"ax-sm\" title=\"Go to the last page\" (onClick)=\"_emitOnFirstPageClick($event)\">\n <ax-icon class=\"ax-icon ax-text-xl\" [ngClass]=\"{ 'ax-icon-chevron-double-right': rtl, 'ax-icon-chevron-double-left': !rtl }\"></ax-icon>\n </ax-button>\n <ax-button [disabled]=\"disabled\" look=\"blank\" class=\"ax-sm\" title=\"Go to the next page\" (onClick)=\"_emitOnPrevPageClick($event)\">\n <ax-icon\n class=\"ax-icon ax-text-xl\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !rtl,\n 'ax-icon-chevron-right': rtl,\n }\"\n ></ax-icon>\n </ax-button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXDataPagerChild, useExisting: AXDataPagerPrevButtonsComponent }, AXUnsubscriber],\n imports: [AXButtonComponent, AXDecoratorIconComponent, NgClass],\n})\nexport class AXDataPagerPrevButtonsComponent extends AXDataPagerChild {\n /**\n * @ignore\n */\n protected rtl!: boolean;\n\n /**\n * @ignore\n */\n override ngOnInit(): void {\n super.ngOnInit;\n this.rtl = AXHtmlUtil.isRtl(this.getHostElement());\n }\n\n /**\n * @ignore\n */\n protected override applyParent() {\n this.disabled = this._parent.displayInfo.page == 1 || this._parent.disabled;\n }\n\n /**\n * @ignore\n */\n _emitOnFirstPageClick(e: AXClickEvent) {\n if (this._parent.readonly || this._parent.disabled) return;\n this._parent.goFirstPage();\n }\n\n /**\n * @ignore\n */\n _emitOnPrevPageClick(e: AXClickEvent) {\n if (this._parent.readonly || this._parent.disabled) return;\n this._parent.goPrevPage();\n }\n}\n","import { AXPagedComponent, MXValueComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n ViewEncapsulation,\n forwardRef,\n signal,\n} from '@angular/core';\nimport { cloneDeep, isEqual, isNumber } from 'lodash-es';\n\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { AXDataPagerChangedEvent, AXDataPagerData, AXDataPagerParentComponent } from './data-pager-base.component';\nimport { AXDataPagerInfoComponent } from './data-pager-info.component';\nimport { AXDataPagerInputSelectorComponent } from './data-pager-input-selector.component';\nimport { AXDataPagerNextButtonsComponent } from './data-pager-next-buttons.component';\nimport { AXDataPagerNumericSelectorComponent } from './data-pager-numeric-selector.component';\nimport { AXDataPagerPageSizesComponent } from './data-pager-pagesize-dropdown.component';\nimport { AXDataPagerPrevButtonsComponent } from './data-pager-prev-buttons.component';\n\nexport type AXDataPagerMode = 'full' | 'compact' | 'custom';\n\n/**\n * Component for managing and displaying data pagination controls.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-data-pager',\n templateUrl: './data-pager.component.html',\n styleUrls: ['./data-pager.component.scss'],\n inputs: ['value', 'name', 'disabled', 'readonly'],\n outputs: ['valueChange', 'onValueChanged', 'disabledChange', 'readonlyChange'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXDataPagerParentComponent, useExisting: AXDataPagerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDataPagerComponent),\n multi: true,\n },\n ],\n imports: [\n AXDecoratorGenericComponent,\n AXDataPagerNumericSelectorComponent,\n AXDataPagerPageSizesComponent,\n AXDataPagerInfoComponent,\n AXDataPagerPrevButtonsComponent,\n AXDataPagerInputSelectorComponent,\n AXDataPagerNextButtonsComponent,\n ],\n})\nexport class AXDataPagerComponent extends MXValueComponent<number> {\n /**\n * @ignore\n */\n private _isLoading = signal(false);\n\n /**\n * Indicates whether the component is currently loading.\n *\n */\n @Input()\n public get isLoading(): boolean {\n return this._isLoading();\n }\n\n /**\n * Sets the loading state of the component.\n *\n * @param v - The loading state to be set.\n */\n public set isLoading(v: boolean) {\n this._isLoading.set(v);\n }\n\n /**\n * @ignore\n */\n private _size = null;\n\n /**\n * Gets the number of items per page in the data pager.\n */\n @Input()\n public get size(): number {\n return this._size || 10;\n }\n\n /**\n * Sets the number of items per page and updates the data pager accordingly.\n *\n * @param {number} v - The new number of items per page.\n */\n public set size(v: number) {\n if (v != this._size) {\n const prevSize = this._size;\n this._size = v;\n if (this._parent) {\n this._parent.pageSize = v;\n }\n const newPage = Math.ceil(this.displayInfo.range.from / this._size) || 1;\n this.commitValue(newPage);\n this._emitChangedEvent(prevSize != null ? true : false);\n }\n }\n\n /**\n * @ignore\n */\n private _total = 0;\n\n /**\n * Gets the total number of items.\n */\n @Input()\n public get total(): number {\n return this._total;\n }\n\n /**\n * Sets the total number of items and triggers an update event if the value changes.\n *\n * @param v - The total number of items to set.\n * If the value is non-positive, it defaults to 0.\n */\n public set total(v: number) {\n const t = v && v > 0 ? v : 0;\n if (t != this._total) {\n this._total = t;\n this._emitChangedEvent();\n }\n }\n\n /**\n * @ignore\n */\n private _totalPages = 0;\n\n /**\n * Gets the total number of pages.\n */\n public get totalPages(): number {\n return this._totalPages;\n }\n\n /**\n * Sets the total number of pages.\n *\n * @param value - The total number of pages to set.\n */\n private set totalPages(value: number) {\n this._totalPages = value;\n }\n\n /**\n * Emitted when the display mode changes.\n * @event\n * An event containing the new display mode.\n */\n @Output()\n public displayModeChange: EventEmitter<string> = new EventEmitter<string>();\n\n /**\n * @ignore\n */\n private _displayMode: AXDataPagerMode = 'full';\n\n /**\n * Gets the current display mode of the data pager.\n */\n @Input()\n public get displayMode(): AXDataPagerMode {\n return this._displayMode;\n }\n\n /**\n * Sets the display mode of the data pager and emits a change event.\n *\n * @param v - The new display mode to set, of type `AXDataPagerMode`.\n */\n public set displayMode(v: AXDataPagerMode) {\n this.setOption({\n name: 'displayMode',\n value: v,\n afterCallback: () => {\n this._emitChangedEvent();\n },\n });\n }\n\n /**\n * Emitted when the data pager's state changes.\n * @event\n * An event containing details about the change.\n */\n @Output()\n onChanged: EventEmitter<AXDataPagerChangedEvent> = new EventEmitter<AXDataPagerChangedEvent>();\n\n /**\n * @ignore\n */\n constructor(\n @Optional()\n @Inject(AXPagedComponent)\n private _parent: AXPagedComponent,\n ) {\n super();\n //\n if (this._parent) {\n this._parent.onPageChanged.subscribe((c) => {\n this.size = this._parent.pageSize;\n this.total = this._parent.totalCount;\n this.value = c.value;\n });\n this.size = this._parent.pageSize;\n this.total = this._parent.totalCount;\n }\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit() {\n this._emitChangedEvent();\n }\n\n /**\n * @ignore\n */\n protected override internalValueChanged(value: any): void {\n this._emitChangedEvent(true);\n }\n\n /**\n * @ignore\n */\n protected override internalGetValue(value: any): number {\n if (!isNumber(value) || !value || this.totalPages == 0) return 1;\n return value > this.totalPages ? this.totalPages : value;\n }\n\n /**\n * @ignore\n */\n private previousDisplayInfo: AXDataPagerData | null;\n\n public get displayInfo(): AXDataPagerData {\n const skip = Math.max(0, (this.value - 1) * this.size);\n const result = {\n page: this.value,\n totalItems: this.total,\n totalPages: this.totalPages,\n range: {\n from: skip + 1,\n to: Math.min(this.value * this.size, this.total),\n },\n skip,\n take: this.size,\n };\n return result;\n }\n\n /**\n * @ignore\n */\n private _emitChangedEvent(u = false): void {\n this.totalPages = Math.ceil(this._total / this.size);\n //\n if (!isEqual(this.previousDisplayInfo, this.displayInfo)) {\n this.onChanged.emit(\n Object.assign(\n {\n component: this,\n isUserInteraction: u,\n htmlElement: this.getHostElement(),\n },\n this.displayInfo,\n ),\n );\n if (this.totalPages > 0) this._parent?.goToPage(this.value);\n //\n this.previousDisplayInfo = cloneDeep(this.displayInfo);\n //\n this.cdr.markForCheck();\n }\n }\n\n /**\n * Navigates to the next page, or to the last page if on the final page.\n * @ignore\n */\n\n goNextPage(): void {\n this.goToPage(Math.min(this.value + 1, this.totalPages));\n }\n\n /**\n * Navigates to the last page.\n * @ignore\n */\n goLastPage(): void {\n this.goToPage(this.totalPages);\n }\n\n /**\n * Navigates to the first page.\n * @ignore\n */\n goFirstPage(): void {\n this.goToPage(1);\n }\n /**\n * Navigates to the previous page, or to the first page if on the initial page.\n * @ignore\n */\n goPrevPage(): void {\n this.goToPage(Math.max(this.value - 1, 1));\n }\n\n /**\n * Navigates to a specified page.\n * @param page - The page number to navigate to.\n * @ignore\n */\n goToPage(page: number): void {\n if (page != this.value) {\n this.commitValue(page, true);\n }\n }\n\n @HostBinding('class')\n get __hostClass(): string {\n return `ax-sm`;\n }\n}\n","@switch (displayMode) {\n @case ('full') {\n <ax-prefix class=\"ax-full-prefix\">\n <ax-data-pager-numeric-selector> </ax-data-pager-numeric-selector>\n <ax-data-pager-page-sizes> </ax-data-pager-page-sizes>\n </ax-prefix>\n <ax-suffix class=\"ax-full-suffix\">\n <ax-data-pager-info> </ax-data-pager-info>\n </ax-suffix>\n }\n @case ('compact') {\n <ax-prefix class=\"ax-compact-prefix\">\n <ax-data-pager-prev-buttons> </ax-data-pager-prev-buttons>\n <ax-data-pager-input-selector> </ax-data-pager-input-selector>\n <ax-data-pager-next-buttons> </ax-data-pager-next-buttons>\n </ax-prefix>\n <ax-suffix class=\"ax-compact-suffix\">\n <ax-data-pager-info> </ax-data-pager-info>\n </ax-suffix>\n }\n @default {\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-suffix\"></ng-content>\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXSkeletonModule } from '@acorex/components/skeleton';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDataPagerInfoComponent } from './data-pager-info.component';\nimport { AXDataPagerInputSelectorComponent } from './data-pager-input-selector.component';\nimport { AXDataPagerNextButtonsComponent } from './data-pager-next-buttons.component';\nimport { AXDataPagerNumericSelectorComponent } from './data-pager-numeric-selector.component';\nimport { AXDataPagerPageSizesComponent } from './data-pager-pagesize-dropdown.component';\nimport { AXDataPagerPrevButtonsComponent } from './data-pager-prev-buttons.component';\nimport { AXDataPagerComponent } from './data-pager.component';\n\nconst COMPONENT = [\n AXDataPagerComponent,\n AXDataPagerNextButtonsComponent,\n AXDataPagerPrevButtonsComponent,\n AXDataPagerPageSizesComponent,\n AXDataPagerNumericSelectorComponent,\n AXDataPagerInputSelectorComponent,\n AXDataPagerInfoComponent,\n];\nconst MODULES = [\n CommonModule,\n FormsModule,\n AXButtonModule,\n AXButtonGroupModule,\n AXNumberBoxModule,\n AXDropdownModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXSkeletonModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDataPagerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-data-pager.mjs","sources":["../../../../libs/components/data-pager/src/lib/data-pager-base.component.ts","../../../../libs/components/data-pager/src/lib/data-pager-info.component.ts","../../../../libs/components/data-pager/src/lib/data-pager-input-selector.component.ts","../../../../libs/components/data-pager/src/lib/data-pager-next-buttons.component.ts","../../../../libs/components/data-pager/src/lib/data-pager-numeric-selector.component.ts","../../../../libs/components/data-pager/src/lib/data-pager-pagesize-dropdown.component.ts","../../../../libs/components/data-pager/src/lib/data-pager-prev-buttons.component.ts","../../../../libs/components/data-pager/src/lib/data-pager.component.ts","../../../../libs/components/data-pager/src/lib/data-pager.component.html","../../../../libs/components/data-pager/src/lib/data-pager.module.ts","../../../../libs/components/data-pager/src/acorex-components-data-pager.ts"],"sourcesContent":["import { AXEvent, AXOptionChangedEvent, MXInteractiveComponent } from '@acorex/components/common';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { EventEmitter, Injectable, inject } from '@angular/core';\n\n/**\n * A token that specifies the display mode of datapager component.\n */\nexport type AXDataPagerDisplayMode = 'full' | 'compact' | 'custom';\n\nexport interface AXDataPagerData {\n range: { from: number; to: number };\n page: number;\n skip: number;\n take: number;\n totalPages: number;\n totalItems: number;\n}\n\nexport class AXDataPagerChangedEvent extends AXEvent implements AXDataPagerData {\n range: { from: number; to: number } = { from: 0, to: 0 };\n page = 0;\n skip = 0;\n take = 0;\n totalPages = 0;\n totalItems = 0;\n}\n\n@Injectable()\nexport abstract class AXDataPagerParentComponent {\n abstract readonly: boolean;\n abstract disabled: boolean;\n abstract isLoading: boolean;\n abstract onChanged: EventEmitter<AXDataPagerChangedEvent>;\n abstract onOptionChanged: EventEmitter<AXOptionChangedEvent>;\n abstract get displayInfo(): AXDataPagerData;\n abstract size;\n abstract goNextPage(): void;\n abstract goLastPage(): void;\n abstract goFirstPage(): void;\n abstract goPrevPage(): void;\n abstract goToPage(page: number): void;\n}\n\n@Injectable()\nexport abstract class AXDataPagerChild extends MXInteractiveComponent {\n protected _parent: AXDataPagerParentComponent = inject(AXDataPagerParentComponent);\n protected _unsubscriber: AXUnsubscriber = inject(AXUnsubscriber);\n\n /**\n * @ignore\n */\n constructor() {\n super();\n //\n this._parent.onChanged.pipe(this._unsubscriber.takeUntilDestroy).subscribe(async (c) => {\n await this.applyParent();\n });\n //\n this._parent.onOptionChanged.pipe(this._unsubscriber.takeUntilDestroy).subscribe(async (c) => {\n await this.applyParent();\n });\n }\n\n /**\n * @ignore\n */\n async ngAfterViewInit() {\n await this.applyParent();\n }\n\n /**\n * @ignore\n */\n protected abstract applyParent(): Promise<void>;\n}\n","import { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXTranslationService, AXTranslatorPipe } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, inject } from '@angular/core';\nimport { AXDataPagerChild } from './data-pager-base.component';\n\n/**\n * Displays formatted and translated information text for a data pager component.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-data-pager-info',\n template: `<ax-text> {{ _textFormatted | translate | async }}</ax-text>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXDataPagerChild, useExisting: AXDataPagerInfoComponent }, AXUnsubscriber],\n imports: [AXDecoratorGenericComponent, AsyncPipe, AXTranslatorPipe],\n})\nexport class AXDataPagerInfoComponent extends AXDataPagerChild {\n /**\n * The text to be displayed in the data pager info component.\n */\n @Input()\n text: string;\n\n /**\n * @ignore\n */\n protected _textFormatted: string;\n protected translateService = inject(AXTranslationService);\n\n /**\n * @ignore\n */\n protected override async applyParent(): Promise<void> {\n const info = this._parent.displayInfo;\n if ([info.range, info.range.from, info.totalItems].every((c) => c)) {\n this._textFormatted = (await this.translateService\n .translateAsync(this.text ?? 'datapager.info.text'))\n .replace('[from]', info.range.from.toString())\n .replace('[to]', info.range.to.toString())\n .replace('[totalItems]', info.totalItems.toString())\n .replace('[page]', info.page.toString())\n .replace('[totalPages]', info.totalPages.toString());\n this.cdr.markForCheck();\n }\n }\n}\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXNumberBoxComponent } from '@acorex/components/number-box';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDataPagerChild } from './data-pager-base.component';\n\n/**\n * Provides an input selector for navigating pages in a data pager component.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-data-pager-input-selector',\n template: `\n <ax-number-box\n class=\"ax-sm\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n [ngModel]=\"_currentPage\"\n (onValueChanged)=\"_handleValueChanged($event)\"\n [showSpinButtons]=\"false\"\n [minValue]=\"1\"\n [maxValue]=\"_totalPages\"\n >\n </ax-number-box>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXNumberBoxComponent, FormsModule],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXDataPagerChild,\n useExisting: AXDataPagerInputSelectorComponent,\n },\n AXUnsubscriber,\n ],\n})\nexport class AXDataPagerInputSelectorComponent extends AXDataPagerChild {\n /**\n * @ignore\n */\n protected _totalPages = 1;\n\n /**\n * @ignore\n */\n protected _currentPage = 1;\n\n /**\n * @ignore\n */\n protected override async applyParent(): Promise<void> {\n this._currentPage = this._parent.displayInfo.page;\n this._totalPages = this._parent.displayInfo.totalPages;\n this.cdr.markForCheck();\n }\n\n /**\n * @ignore\n */\n protected _handleValueChanged(e: AXValueChangedEvent<number>) {\n //TODO: debounceTime\n if (e.isUserInteraction) {\n this._parent.goToPage(e.value as number);\n }\n }\n}\n","import { AXButtonComponent } from '@acorex/components/button';\nimport { AXClickEvent } from '@acorex/components/common';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXHtmlUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { AXDataPagerChild } from './data-pager-base.component';\n\n/**\n * Provides buttons for navigating to the next and last pages in a data pager component.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-data-pager-next-buttons',\n template: `\n <ax-button [disabled]=\"disabled\" look=\"blank\" class=\"ax-sm\" title=\"Go to the next page\" (onClick)=\"_emitOnNextPageClick($event)\">\n <ax-icon\n class=\"ax-icon ax-text-xl\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': rtl,\n 'ax-icon-chevron-right': !rtl,\n }\"\n ></ax-icon>\n </ax-button>\n <ax-button [disabled]=\"disabled\" look=\"blank\" class=\"ax-sm\" title=\"Go to the last page\" (onClick)=\"_emitOnLastPageClick($event)\">\n <ax-icon class=\"ax-icon ax-text-xl\" [ngClass]=\"{ 'ax-icon-chevron-double-left': rtl, 'ax-icon-chevron-double-right': !rtl }\"></ax-icon>\n </ax-button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXDataPagerChild, useExisting: AXDataPagerNextButtonsComponent }, AXUnsubscriber],\n imports: [AXButtonComponent, AXDecoratorIconComponent, NgClass],\n})\nexport class AXDataPagerNextButtonsComponent extends AXDataPagerChild {\n /**\n * @ignore\n */\n protected rtl!: boolean;\n\n /**\n * @ignore\n */\n override ngOnInit(): void {\n super.ngOnInit;\n this.rtl = AXHtmlUtil.isRtl(this.getHostElement());\n }\n\n /**\n * @ignore\n */\n protected override async applyParent(): Promise<void> {\n this.disabled = this._parent.displayInfo.page == this._parent.displayInfo.totalPages || this._parent.disabled;\n }\n\n /**\n * @ignore\n */\n _emitOnLastPageClick(e: AXClickEvent) {\n if (this._parent.readonly || this._parent.disabled) return;\n this._parent.goLastPage();\n }\n\n /**\n * @ignore\n */\n _emitOnNextPageClick(e: AXClickEvent) {\n if (this._parent.readonly || this._parent.disabled) return;\n this._parent.goNextPage();\n }\n}\n","import { AXButtonComponent, AXButtonItem } from '@acorex/components/button';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXSkeletonComponent } from '@acorex/components/skeleton';\nimport { AXHtmlUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { AXDataPagerChild } from './data-pager-base.component';\n\n/**\n * Component that provides numeric page selection controls for a data pager.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-data-pager-numeric-selector',\n template: `\n <ax-button class=\"ax-sm\" [disabled]=\"_currentPage === 1 || _parent.disabled\" look=\"blank\" (onClick)=\"_handleOnItemClick({ data: 1 })\">\n <ax-icon\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-double-left': !rtl,\n 'ax-icon-chevron-double-right': rtl,\n }\"\n ></ax-icon>\n </ax-button>\n\n @if (!_parent.isLoading) {\n @for (item of _items; track $index) {\n <ax-button\n class=\"ax-data-pager-num-button\"\n [disabled]=\"_parent.disabled\"\n [color]=\"_currentPage === item.data ? 'primary' : 'default'\"\n [look]=\"_currentPage === item.data ? 'solid' : 'blank'\"\n [text]=\"item.text\"\n (onClick)=\"_handleOnItemClick(item)\"\n >\n @if (item.iconClass) {\n <ax-icon class=\"ax-icon\" [ngClass]=\"item.iconClass\"></ax-icon>\n }\n </ax-button>\n }\n } @else {\n <ax-skeleton></ax-skeleton>\n }\n\n <ax-button class=\"ax-sm\" [disabled]=\"_currentPage === _lastPage || _parent.disabled\" look=\"blank\" (onClick)=\"_handleOnItemClick({ data: _lastPage })\">\n <ax-icon\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-double-left': rtl,\n 'ax-icon-chevron-double-right': !rtl,\n }\"\n ></ax-icon>\n </ax-button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXDataPagerChild,\n useExisting: AXDataPagerNumericSelectorComponent,\n },\n AXUnsubscriber,\n ],\n imports: [AXButtonComponent, AXDecoratorIconComponent, NgClass, AXSkeletonComponent],\n})\nexport class AXDataPagerNumericSelectorComponent extends AXDataPagerChild {\n _items: AXButtonItem[] = [];\n _currentPage = 1;\n _lastPage = 1;\n _loading = false;\n\n /**\n * @ignore\n */\n private _displayCount = 5;\n\n /**\n * @ignore\n */\n protected rtl!: boolean;\n\n /**\n * @ignore\n */\n override ngOnInit(): void {\n super.ngOnInit;\n this.rtl = AXHtmlUtil.isRtl(this.getHostElement());\n }\n\n /**\n * @ignore\n */\n protected override async applyParent(): Promise<void> {\n this._currentPage = this._parent.displayInfo.page;\n this._loading = this._parent.isLoading;\n this._lastPage = this._parent.displayInfo.totalPages;\n //\n this._items = [];\n\n const start = Math.max(0, (Math.ceil(this._currentPage / this._displayCount) - 1) * this._displayCount + 1);\n const end = Math.min(start + this._displayCount - 1, this._lastPage);\n //\n if (start > this._displayCount) {\n this._items.push({\n iconClass: this.rtl ? 'ax-icon-chevron-right' : 'ax-icon-chevron-left',\n data: start - 1,\n });\n }\n //\n for (let i = start; i <= end; i++) {\n this._items.push({\n text: i.toString(),\n data: i,\n });\n }\n if (end < this._lastPage) {\n this._items.push({\n iconClass: this.rtl ? 'ax-icon-chevron-left' : 'ax-icon-chevron-right',\n data: end + 1,\n });\n }\n this.cdr.detectChanges();\n }\n\n /**\n * @ignore\n */\n _handleOnItemClick(e: any) {\n if (this._parent.readonly || this._parent.disabled) return;\n this._parent.goToPage(Number(e.data));\n }\n}\n","import { AXButtonComponent, AXButtonItemComponent, AXButtonItemListComponent } from '@acorex/components/button';\nimport { AXClickEvent } from '@acorex/components/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXDropdownPanelComponent } from '@acorex/components/dropdown';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { AXDataPagerChild } from './data-pager-base.component';\n\n/**\n * Displays a button to select page sizes for data pagination.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-data-pager-page-sizes',\n template: `\n <ax-button [text]=\"_size\" [disabled]=\"_parent.disabled\">\n <ax-dropdown-panel>\n <ax-button-item-list (onItemClick)=\"_emitOnItemClick($event)\">\n @for (item of _items; track $index) {\n <ax-button-item color=\"default\" [text]=\"item.text\" [data]=\"item.data\" [selected]=\"item.selected\"> </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"ax-icon ax-icon-solid ax-icon-arrow-down\"></ax-icon>\n </ax-suffix>\n </ax-button>\n <!-- <span >items per page</span> -->\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n outputs: [],\n providers: [{ provide: AXDataPagerChild, useExisting: AXDataPagerPageSizesComponent }, AXUnsubscriber],\n imports: [\n AXButtonComponent,\n AXDropdownPanelComponent,\n AXButtonItemListComponent,\n AXButtonItemComponent,\n AXDecoratorGenericComponent,\n AXDecoratorIconComponent,\n ],\n})\nexport class AXDataPagerPageSizesComponent extends AXDataPagerChild {\n /**\n * @ignore\n */\n _size: number;\n\n /**\n * @ignore\n */\n //TODO: AXButtonItems type error\n _items: any[] = [];\n\n /**\n * @ignore\n */\n private _sizes: number[];\n\n /**\n * Gets the list of page sizes available for selection.\n */\n @Input()\n public get sizes(): number[] {\n return this._sizes || [5, 10, 20, 50, 100];\n }\n\n /**\n * Sets the list of page sizes available for selection.\n *\n * @param value - An array of numbers representing the page sizes to be set.\n */\n public set sizes(v: number[]) {\n this._sizes = v;\n this.applyParent();\n }\n\n /**\n * @ignore\n */\n protected override async applyParent(): Promise<void> {\n this._size = this._parent.displayInfo.take;\n this._items = this.sizes.map((s: any) => ({\n text: s.toString(),\n selected: s == this._size,\n data: {\n size: s,\n },\n }));\n this.cdr.detectChanges();\n }\n\n /**\n * @ignore\n */\n _emitOnItemClick(e: AXClickEvent) {\n if (this._parent.readonly || this._parent.disabled) return;\n this._size = this._parent.size = Number(e.data.size);\n }\n}\n","import { AXButtonComponent } from '@acorex/components/button';\nimport { AXClickEvent } from '@acorex/components/common';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXHtmlUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { AXDataPagerChild } from './data-pager-base.component';\n\n/**\n * Component that provides navigation buttons for going to the previous page and the first page in a data pager.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-data-pager-prev-buttons',\n template: `\n <ax-button [disabled]=\"disabled\" look=\"blank\" class=\"ax-sm\" title=\"Go to the last page\" (onClick)=\"_emitOnFirstPageClick($event)\">\n <ax-icon class=\"ax-icon ax-text-xl\" [ngClass]=\"{ 'ax-icon-chevron-double-right': rtl, 'ax-icon-chevron-double-left': !rtl }\"></ax-icon>\n </ax-button>\n <ax-button [disabled]=\"disabled\" look=\"blank\" class=\"ax-sm\" title=\"Go to the next page\" (onClick)=\"_emitOnPrevPageClick($event)\">\n <ax-icon\n class=\"ax-icon ax-text-xl\"\n [ngClass]=\"{\n 'ax-icon-chevron-left': !rtl,\n 'ax-icon-chevron-right': rtl,\n }\"\n ></ax-icon>\n </ax-button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXDataPagerChild, useExisting: AXDataPagerPrevButtonsComponent }, AXUnsubscriber],\n imports: [AXButtonComponent, AXDecoratorIconComponent, NgClass],\n})\nexport class AXDataPagerPrevButtonsComponent extends AXDataPagerChild {\n /**\n * @ignore\n */\n protected rtl!: boolean;\n\n /**\n * @ignore\n */\n override ngOnInit(): void {\n super.ngOnInit;\n this.rtl = AXHtmlUtil.isRtl(this.getHostElement());\n }\n\n /**\n * @ignore\n */\n protected override async applyParent(): Promise<void> {\n this.disabled = this._parent.displayInfo.page == 1 || this._parent.disabled;\n }\n\n /**\n * @ignore\n */\n _emitOnFirstPageClick(e: AXClickEvent) {\n if (this._parent.readonly || this._parent.disabled) return;\n this._parent.goFirstPage();\n }\n\n /**\n * @ignore\n */\n _emitOnPrevPageClick(e: AXClickEvent) {\n if (this._parent.readonly || this._parent.disabled) return;\n this._parent.goPrevPage();\n }\n}\n","import { AXPagedComponent, MXValueComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n ViewEncapsulation,\n forwardRef,\n signal,\n} from '@angular/core';\nimport { cloneDeep, isEqual, isNumber } from 'lodash-es';\n\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { AXDataPagerChangedEvent, AXDataPagerData, AXDataPagerParentComponent } from './data-pager-base.component';\nimport { AXDataPagerInfoComponent } from './data-pager-info.component';\nimport { AXDataPagerInputSelectorComponent } from './data-pager-input-selector.component';\nimport { AXDataPagerNextButtonsComponent } from './data-pager-next-buttons.component';\nimport { AXDataPagerNumericSelectorComponent } from './data-pager-numeric-selector.component';\nimport { AXDataPagerPageSizesComponent } from './data-pager-pagesize-dropdown.component';\nimport { AXDataPagerPrevButtonsComponent } from './data-pager-prev-buttons.component';\n\nexport type AXDataPagerMode = 'full' | 'compact' | 'custom';\n\n/**\n * Component for managing and displaying data pagination controls.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-data-pager',\n templateUrl: './data-pager.component.html',\n styleUrls: ['./data-pager.component.scss'],\n inputs: ['value', 'name', 'disabled', 'readonly'],\n outputs: ['valueChange', 'onValueChanged', 'disabledChange', 'readonlyChange'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXDataPagerParentComponent, useExisting: AXDataPagerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDataPagerComponent),\n multi: true,\n },\n ],\n imports: [\n AXDecoratorGenericComponent,\n AXDataPagerNumericSelectorComponent,\n AXDataPagerPageSizesComponent,\n AXDataPagerInfoComponent,\n AXDataPagerPrevButtonsComponent,\n AXDataPagerInputSelectorComponent,\n AXDataPagerNextButtonsComponent,\n ],\n})\nexport class AXDataPagerComponent extends MXValueComponent<number> {\n /**\n * @ignore\n */\n private _isLoading = signal(false);\n\n /**\n * Indicates whether the component is currently loading.\n *\n */\n @Input()\n public get isLoading(): boolean {\n return this._isLoading();\n }\n\n /**\n * Sets the loading state of the component.\n *\n * @param v - The loading state to be set.\n */\n public set isLoading(v: boolean) {\n this._isLoading.set(v);\n }\n\n /**\n * @ignore\n */\n private _size = null;\n\n /**\n * Gets the number of items per page in the data pager.\n */\n @Input()\n public get size(): number {\n return this._size || 10;\n }\n\n /**\n * Sets the number of items per page and updates the data pager accordingly.\n *\n * @param {number} v - The new number of items per page.\n */\n public set size(v: number) {\n if (v != this._size) {\n const prevSize = this._size;\n this._size = v;\n if (this._parent) {\n this._parent.pageSize = v;\n }\n const newPage = Math.ceil(this.displayInfo.range.from / this._size) || 1;\n this.commitValue(newPage);\n this._emitChangedEvent(prevSize != null ? true : false);\n }\n }\n\n /**\n * @ignore\n */\n private _total = 0;\n\n /**\n * Gets the total number of items.\n */\n @Input()\n public get total(): number {\n return this._total;\n }\n\n /**\n * Sets the total number of items and triggers an update event if the value changes.\n *\n * @param v - The total number of items to set.\n * If the value is non-positive, it defaults to 0.\n */\n public set total(v: number) {\n const t = v && v > 0 ? v : 0;\n if (t != this._total) {\n this._total = t;\n this._emitChangedEvent();\n }\n }\n\n /**\n * @ignore\n */\n private _totalPages = 0;\n\n /**\n * Gets the total number of pages.\n */\n public get totalPages(): number {\n return this._totalPages;\n }\n\n /**\n * Sets the total number of pages.\n *\n * @param value - The total number of pages to set.\n */\n private set totalPages(value: number) {\n this._totalPages = value;\n }\n\n /**\n * Emitted when the display mode changes.\n * @event\n * An event containing the new display mode.\n */\n @Output()\n public displayModeChange: EventEmitter<string> = new EventEmitter<string>();\n\n /**\n * @ignore\n */\n private _displayMode: AXDataPagerMode = 'full';\n\n /**\n * Gets the current display mode of the data pager.\n */\n @Input()\n public get displayMode(): AXDataPagerMode {\n return this._displayMode;\n }\n\n /**\n * Sets the display mode of the data pager and emits a change event.\n *\n * @param v - The new display mode to set, of type `AXDataPagerMode`.\n */\n public set displayMode(v: AXDataPagerMode) {\n this.setOption({\n name: 'displayMode',\n value: v,\n afterCallback: () => {\n this._emitChangedEvent();\n },\n });\n }\n\n /**\n * Emitted when the data pager's state changes.\n * @event\n * An event containing details about the change.\n */\n @Output()\n onChanged: EventEmitter<AXDataPagerChangedEvent> = new EventEmitter<AXDataPagerChangedEvent>();\n\n /**\n * @ignore\n */\n constructor(\n @Optional()\n @Inject(AXPagedComponent)\n private _parent: AXPagedComponent,\n ) {\n super();\n //\n if (this._parent) {\n this._parent.onPageChanged.subscribe((c) => {\n this.size = this._parent.pageSize;\n this.total = this._parent.totalCount;\n this.value = c.value;\n });\n this.size = this._parent.pageSize;\n this.total = this._parent.totalCount;\n }\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit() {\n this._emitChangedEvent();\n }\n\n /**\n * @ignore\n */\n protected override internalValueChanged(value: any): void {\n this._emitChangedEvent(true);\n }\n\n /**\n * @ignore\n */\n protected override internalGetValue(value: any): number {\n if (!isNumber(value) || !value || this.totalPages == 0) return 1;\n return value > this.totalPages ? this.totalPages : value;\n }\n\n /**\n * @ignore\n */\n private previousDisplayInfo: AXDataPagerData | null;\n\n public get displayInfo(): AXDataPagerData {\n const skip = Math.max(0, (this.value - 1) * this.size);\n const result = {\n page: this.value,\n totalItems: this.total,\n totalPages: this.totalPages,\n range: {\n from: skip + 1,\n to: Math.min(this.value * this.size, this.total),\n },\n skip,\n take: this.size,\n };\n return result;\n }\n\n /**\n * @ignore\n */\n private _emitChangedEvent(u = false): void {\n this.totalPages = Math.ceil(this._total / this.size);\n //\n if (!isEqual(this.previousDisplayInfo, this.displayInfo)) {\n this.onChanged.emit(\n Object.assign(\n {\n component: this,\n isUserInteraction: u,\n htmlElement: this.getHostElement(),\n },\n this.displayInfo,\n ),\n );\n if (this.totalPages > 0) this._parent?.goToPage(this.value);\n //\n this.previousDisplayInfo = cloneDeep(this.displayInfo);\n //\n this.cdr.markForCheck();\n }\n }\n\n /**\n * Navigates to the next page, or to the last page if on the final page.\n * @ignore\n */\n\n goNextPage(): void {\n this.goToPage(Math.min(this.value + 1, this.totalPages));\n }\n\n /**\n * Navigates to the last page.\n * @ignore\n */\n goLastPage(): void {\n this.goToPage(this.totalPages);\n }\n\n /**\n * Navigates to the first page.\n * @ignore\n */\n goFirstPage(): void {\n this.goToPage(1);\n }\n /**\n * Navigates to the previous page, or to the first page if on the initial page.\n * @ignore\n */\n goPrevPage(): void {\n this.goToPage(Math.max(this.value - 1, 1));\n }\n\n /**\n * Navigates to a specified page.\n * @param page - The page number to navigate to.\n * @ignore\n */\n goToPage(page: number): void {\n if (page != this.value) {\n this.commitValue(page, true);\n }\n }\n\n @HostBinding('class')\n get __hostClass(): string {\n return `ax-sm`;\n }\n}\n","@switch (displayMode) {\n @case ('full') {\n <ax-prefix class=\"ax-full-prefix\">\n <ax-data-pager-numeric-selector> </ax-data-pager-numeric-selector>\n <ax-data-pager-page-sizes> </ax-data-pager-page-sizes>\n </ax-prefix>\n <ax-suffix class=\"ax-full-suffix\">\n <ax-data-pager-info> </ax-data-pager-info>\n </ax-suffix>\n }\n @case ('compact') {\n <ax-prefix class=\"ax-compact-prefix\">\n <ax-data-pager-prev-buttons> </ax-data-pager-prev-buttons>\n <ax-data-pager-input-selector> </ax-data-pager-input-selector>\n <ax-data-pager-next-buttons> </ax-data-pager-next-buttons>\n </ax-prefix>\n <ax-suffix class=\"ax-compact-suffix\">\n <ax-data-pager-info> </ax-data-pager-info>\n </ax-suffix>\n }\n @default {\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-suffix\"></ng-content>\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXSkeletonModule } from '@acorex/components/skeleton';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDataPagerInfoComponent } from './data-pager-info.component';\nimport { AXDataPagerInputSelectorComponent } from './data-pager-input-selector.component';\nimport { AXDataPagerNextButtonsComponent } from './data-pager-next-buttons.component';\nimport { AXDataPagerNumericSelectorComponent } from './data-pager-numeric-selector.component';\nimport { AXDataPagerPageSizesComponent } from './data-pager-pagesize-dropdown.component';\nimport { AXDataPagerPrevButtonsComponent } from './data-pager-prev-buttons.component';\nimport { AXDataPagerComponent } from './data-pager.component';\n\nconst COMPONENT = [\n AXDataPagerComponent,\n AXDataPagerNextButtonsComponent,\n AXDataPagerPrevButtonsComponent,\n AXDataPagerPageSizesComponent,\n AXDataPagerNumericSelectorComponent,\n AXDataPagerInputSelectorComponent,\n AXDataPagerInfoComponent,\n];\nconst MODULES = [\n CommonModule,\n FormsModule,\n AXButtonModule,\n AXButtonGroupModule,\n AXNumberBoxModule,\n AXDropdownModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXSkeletonModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDataPagerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAkBM,MAAO,uBAAwB,SAAQ,OAAO,CAAA;AAApD,IAAA,WAAA,GAAA;;QACE,IAAK,CAAA,KAAA,GAAiC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;QACxD,IAAI,CAAA,IAAA,GAAG,CAAC;QACR,IAAI,CAAA,IAAA,GAAG,CAAC;QACR,IAAI,CAAA,IAAA,GAAG,CAAC;QACR,IAAU,CAAA,UAAA,GAAG,CAAC;QACd,IAAU,CAAA,UAAA,GAAG,CAAC;;AACf;MAGqB,0BAA0B,CAAA;8GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA1B,0BAA0B,EAAA,CAAA,CAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAD/C;;AAiBK,MAAgB,gBAAiB,SAAQ,sBAAsB,CAAA;AAInE;;AAEG;AACH,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AAPC,QAAA,IAAA,CAAA,OAAO,GAA+B,MAAM,CAAC,0BAA0B,CAAC;AACxE,QAAA,IAAA,CAAA,aAAa,GAAmB,MAAM,CAAC,cAAc,CAAC;;QAQ9D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAI;AACrF,YAAA,MAAM,IAAI,CAAC,WAAW,EAAE;AAC1B,SAAC,CAAC;;QAEF,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAI;AAC3F,YAAA,MAAM,IAAI,CAAC,WAAW,EAAE;AAC1B,SAAC,CAAC;;AAGJ;;AAEG;AACH,IAAA,MAAM,eAAe,GAAA;AACnB,QAAA,MAAM,IAAI,CAAC,WAAW,EAAE;;8GAvBN,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAhB,gBAAgB,EAAA,CAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBADrC;;;ACpCD;;;;AAIG;AASG,MAAO,wBAAyB,SAAQ,gBAAgB,CAAA;AAR9D,IAAA,WAAA,GAAA;;AAmBY,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAkB1D;AAhBC;;AAEG;AACgB,IAAA,MAAM,WAAW,GAAA;AAClC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW;QACrC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AAClE,YAAA,IAAI,CAAC,cAAc,GAAG,CAAC,MAAQ,IAAI,CAAC;AACjC,iBAAA,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,qBAAqB,CAAC;iBAClD,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;iBAC5C,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE;iBACxC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;iBAClD,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;iBACtC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;AACtD,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;;;8GA1BhB,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAHxB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,wBAAwB,EAAE,EAAE,cAAc,CAAC,EAHvF,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,4DAAA,CAA8D,4DAI9D,2BAA2B,EAAA,QAAA,EAAA,8IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAEvD,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,CAA8D,4DAAA,CAAA;oBACxE,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAA0B,wBAAA,EAAE,EAAE,cAAc,CAAC;AACjG,oBAAA,OAAO,EAAE,CAAC,2BAA2B,EAAE,SAAS,EAAE,gBAAgB,CAAC;AACpE,iBAAA;8BAMC,IAAI,EAAA,CAAA;sBADH;;;ACjBH;;;;AAIG;AA2BG,MAAO,iCAAkC,SAAQ,gBAAgB,CAAA;AA1BvE,IAAA,WAAA,GAAA;;AA2BE;;AAEG;QACO,IAAW,CAAA,WAAA,GAAG,CAAC;AAEzB;;AAEG;QACO,IAAY,CAAA,YAAA,GAAG,CAAC;AAoB3B;AAlBC;;AAEG;AACgB,IAAA,MAAM,WAAW,GAAA;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU;AACtD,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;;AAGzB;;AAEG;AACO,IAAA,mBAAmB,CAAC,CAA8B,EAAA;;AAE1D,QAAA,IAAI,CAAC,CAAC,iBAAiB,EAAE;YACvB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAe,CAAC;;;8GA1BjC,iCAAiC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iCAAiC,EARjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,gBAAgB;AACzB,gBAAA,WAAW,EAAE,iCAAiC;AAC/C,aAAA;YACD,cAAc;SACf,EAtBS,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;GAYT,EAES,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,oBAAoB,kdAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAUhC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBA1B7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;AAYT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE,CAAC,oBAAoB,EAAE,WAAW,CAAC;oBAC5C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,gBAAgB;AACzB,4BAAA,WAAW,EAAmC,iCAAA;AAC/C,yBAAA;wBACD,cAAc;AACf,qBAAA;AACF,iBAAA;;;AC7BD;;;;AAIG;AAsBG,MAAO,+BAAgC,SAAQ,gBAAgB,CAAA;AAMnE;;AAEG;IACM,QAAQ,GAAA;QACf,KAAK,CAAC,QAAQ;AACd,QAAA,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;;AAGpD;;AAEG;AACgB,IAAA,MAAM,WAAW,GAAA;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ;;AAG/G;;AAEG;AACH,IAAA,oBAAoB,CAAC,CAAe,EAAA;QAClC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE;AACpD,QAAA,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;;AAG3B;;AAEG;AACH,IAAA,oBAAoB,CAAC,CAAe,EAAA;QAClC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE;AACpD,QAAA,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;;8GAlChB,+BAA+B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,+BAA+B,EAH/B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,SAAA,EAAA,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,+BAA+B,EAAE,EAAE,cAAc,CAAC,EAhB9F,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;AAaT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAIS,iBAAiB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,wBAAwB,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAEnD,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBArB3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;AAaT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAiC,+BAAA,EAAE,EAAE,cAAc,CAAC;AACxG,oBAAA,OAAO,EAAE,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,OAAO,CAAC;AAChE,iBAAA;;;ACzBD;;;;AAIG;AAsDG,MAAO,mCAAoC,SAAQ,gBAAgB,CAAA;AArDzE,IAAA,WAAA,GAAA;;QAsDE,IAAM,CAAA,MAAA,GAAmB,EAAE;QAC3B,IAAY,CAAA,YAAA,GAAG,CAAC;QAChB,IAAS,CAAA,SAAA,GAAG,CAAC;QACb,IAAQ,CAAA,QAAA,GAAG,KAAK;AAEhB;;AAEG;QACK,IAAa,CAAA,aAAA,GAAG,CAAC;AAyD1B;AAlDC;;AAEG;IACM,QAAQ,GAAA;QACf,KAAK,CAAC,QAAQ;AACd,QAAA,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;;AAGpD;;AAEG;AACgB,IAAA,MAAM,WAAW,GAAA;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU;;AAEpD,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE;AAEhB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;AAC3G,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;;AAEpE,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE;AAC9B,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,SAAS,EAAE,IAAI,CAAC,GAAG,GAAG,uBAAuB,GAAG,sBAAsB;gBACtE,IAAI,EAAE,KAAK,GAAG,CAAC;AAChB,aAAA,CAAC;;;AAGJ,QAAA,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE;AACjC,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACf,gBAAA,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;AAClB,gBAAA,IAAI,EAAE,CAAC;AACR,aAAA,CAAC;;AAEJ,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE;AACxB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,SAAS,EAAE,IAAI,CAAC,GAAG,GAAG,sBAAsB,GAAG,uBAAuB;gBACtE,IAAI,EAAE,GAAG,GAAG,CAAC;AACd,aAAA,CAAC;;AAEJ,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;;AAG1B;;AAEG;AACH,IAAA,kBAAkB,CAAC,CAAM,EAAA;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE;AACpD,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;;8GAhE5B,mCAAmC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mCAAmC,EATnC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,gBAAgB;AACzB,gBAAA,WAAW,EAAE,mCAAmC;AACjD,aAAA;YACD,cAAc;SACf,EAhDS,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAUS,iBAAiB,EAAE,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,EAAE,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAO,oFAAE,mBAAmB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAExE,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBArD/C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gCAAgC;AAC1C,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,gBAAgB;AACzB,4BAAA,WAAW,EAAqC,mCAAA;AACjD,yBAAA;wBACD,cAAc;AACf,qBAAA;oBACD,OAAO,EAAE,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,OAAO,EAAE,mBAAmB,CAAC;AACrF,iBAAA;;;ACzDD;;;;AAIG;AA+BG,MAAO,6BAA8B,SAAQ,gBAAgB,CAAA;AA9BnE,IAAA,WAAA,GAAA;;AAoCE;;AAEG;;QAEH,IAAM,CAAA,MAAA,GAAU,EAAE;AA+CnB;AAxCC;;AAEG;AACH,IAAA,IACW,KAAK,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;;AAG5C;;;;AAIG;IACH,IAAW,KAAK,CAAC,CAAW,EAAA;AAC1B,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC;QACf,IAAI,CAAC,WAAW,EAAE;;AAGpB;;AAEG;AACgB,IAAA,MAAM,WAAW,GAAA;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI;AAC1C,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,MAAM;AACxC,YAAA,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;AAClB,YAAA,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK;AACzB,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,CAAC;AACR,aAAA;AACF,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;;AAG1B;;AAEG;AACH,IAAA,gBAAgB,CAAC,CAAe,EAAA;QAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE;AACpD,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;8GAvD3C,6BAA6B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,EAV7B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,6BAA6B,EAAE,EAAE,cAAc,CAAC,EAlB5F,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;GAcT,EAMC,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,iBAAiB,EACjB,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,EACxB,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,eAAA,EAAA,UAAA,EAAA,WAAA,EAAA,SAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,yBAAyB,6GACzB,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACrB,2BAA2B,EAAA,QAAA,EAAA,8IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC3B,wBAAwB,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAGf,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBA9BzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;AAcT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAA+B,6BAAA,EAAE,EAAE,cAAc,CAAC;AACtG,oBAAA,OAAO,EAAE;wBACP,iBAAiB;wBACjB,wBAAwB;wBACxB,yBAAyB;wBACzB,qBAAqB;wBACrB,2BAA2B;wBAC3B,wBAAwB;AACzB,qBAAA;AACF,iBAAA;8BAsBY,KAAK,EAAA,CAAA;sBADf;;;ACvDH;;;;AAIG;AAsBG,MAAO,+BAAgC,SAAQ,gBAAgB,CAAA;AAMnE;;AAEG;IACM,QAAQ,GAAA;QACf,KAAK,CAAC,QAAQ;AACd,QAAA,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;;AAGpD;;AAEG;AACgB,IAAA,MAAM,WAAW,GAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ;;AAG7E;;AAEG;AACH,IAAA,qBAAqB,CAAC,CAAe,EAAA;QACnC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE;AACpD,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;;AAG5B;;AAEG;AACH,IAAA,oBAAoB,CAAC,CAAe,EAAA;QAClC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE;AACpD,QAAA,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;;8GAlChB,+BAA+B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,+BAA+B,EAH/B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,SAAA,EAAA,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,+BAA+B,EAAE,EAAE,cAAc,CAAC,EAhB9F,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;AAaT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAIS,iBAAiB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,wBAAwB,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAEnD,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBArB3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;AAaT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAiC,+BAAA,EAAE,EAAE,cAAc,CAAC;AACxG,oBAAA,OAAO,EAAE,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,OAAO,CAAC;AAChE,iBAAA;;;ACLD;;;;AAIG;AA2BG,MAAO,oBAAqB,SAAQ,gBAAwB,CAAA;AAMhE;;;AAGG;AACH,IAAA,IACW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;;AAG1B;;;;AAIG;IACH,IAAW,SAAS,CAAC,CAAU,EAAA;AAC7B,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;;AAQxB;;AAEG;AACH,IAAA,IACW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,KAAK,IAAI,EAAE;;AAGzB;;;;AAIG;IACH,IAAW,IAAI,CAAC,CAAS,EAAA;AACvB,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;AACnB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK;AAC3B,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC;AACd,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,gBAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC;;YAE3B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AACxE,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;AACzB,YAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;;;AAS3D;;AAEG;AACH,IAAA,IACW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM;;AAGpB;;;;;AAKG;IACH,IAAW,KAAK,CAAC,CAAS,EAAA;AACxB,QAAA,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;AAC5B,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;AACpB,YAAA,IAAI,CAAC,MAAM,GAAG,CAAC;YACf,IAAI,CAAC,iBAAiB,EAAE;;;AAS5B;;AAEG;AACH,IAAA,IAAW,UAAU,GAAA;QACnB,OAAO,IAAI,CAAC,WAAW;;AAGzB;;;;AAIG;IACH,IAAY,UAAU,CAAC,KAAa,EAAA;AAClC,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;;AAgB1B;;AAEG;AACH,IAAA,IACW,WAAW,GAAA;QACpB,OAAO,IAAI,CAAC,YAAY;;AAG1B;;;;AAIG;IACH,IAAW,WAAW,CAAC,CAAkB,EAAA;QACvC,IAAI,CAAC,SAAS,CAAC;AACb,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,KAAK,EAAE,CAAC;YACR,aAAa,EAAE,MAAK;gBAClB,IAAI,CAAC,iBAAiB,EAAE;aACzB;AACF,SAAA,CAAC;;AAWJ;;AAEG;AACH,IAAA,WAAA,CAGU,OAAyB,EAAA;AAEjC,QAAA,KAAK,EAAE;QAFC,IAAO,CAAA,OAAA,GAAP,OAAO;AAxJjB;;AAEG;AACK,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;AAoBlC;;AAEG;QACK,IAAK,CAAA,KAAA,GAAG,IAAI;AA4BpB;;AAEG;QACK,IAAM,CAAA,MAAA,GAAG,CAAC;AAwBlB;;AAEG;QACK,IAAW,CAAA,WAAA,GAAG,CAAC;AAkBvB;;;;AAIG;AAEI,QAAA,IAAA,CAAA,iBAAiB,GAAyB,IAAI,YAAY,EAAU;AAE3E;;AAEG;QACK,IAAY,CAAA,YAAA,GAAoB,MAAM;AAyB9C;;;;AAIG;AAEH,QAAA,IAAA,CAAA,SAAS,GAA0C,IAAI,YAAY,EAA2B;;AAY5F,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;gBACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;gBACjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU;AACpC,gBAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;AACtB,aAAC,CAAC;YACF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;YACjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU;;;AAIxC;;AAEG;IACH,eAAe,GAAA;QACb,IAAI,CAAC,iBAAiB,EAAE;;AAG1B;;AAEG;AACgB,IAAA,oBAAoB,CAAC,KAAU,EAAA;AAChD,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;;AAG9B;;AAEG;AACgB,IAAA,gBAAgB,CAAC,KAAU,EAAA;AAC5C,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC;AAAE,YAAA,OAAO,CAAC;AAChE,QAAA,OAAO,KAAK,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,KAAK;;AAQ1D,IAAA,IAAW,WAAW,GAAA;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;AACtD,QAAA,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,UAAU,EAAE,IAAI,CAAC,KAAK;YACtB,UAAU,EAAE,IAAI,CAAC,UAAU;AAC3B,YAAA,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI,GAAG,CAAC;AACd,gBAAA,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;AACjD,aAAA;YACD,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB;AACD,QAAA,OAAO,MAAM;;AAGf;;AAEG;IACK,iBAAiB,CAAC,CAAC,GAAG,KAAK,EAAA;AACjC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;;AAEpD,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;YACxD,IAAI,CAAC,SAAS,CAAC,IAAI,CACjB,MAAM,CAAC,MAAM,CACX;AACE,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,iBAAiB,EAAE,CAAC;AACpB,gBAAA,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE;AACnC,aAAA,EACD,IAAI,CAAC,WAAW,CACjB,CACF;AACD,YAAA,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC;gBAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;;YAE3D,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;;AAEtD,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;;;AAI3B;;;AAGG;IAEH,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;;AAG1D;;;AAGG;IACH,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;;AAGhC;;;AAGG;IACH,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;;AAElB;;;AAGG;IACH,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;;AAG5C;;;;AAIG;AACH,IAAA,QAAQ,CAAC,IAAY,EAAA;AACnB,QAAA,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;AACtB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC;;;AAIhC,IAAA,IACI,WAAW,GAAA;AACb,QAAA,OAAO,OAAO;;AAzRL,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBAwJrB,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAxJf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAlBpB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA,EAAE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,oBAAoB,EAAE;AAC1E,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACnD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChDH,03BAyBA,EAAA,MAAA,EAAA,CAAA,61DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDyBI,2BAA2B,EAAA,QAAA,EAAA,8IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC3B,mCAAmC,EACnC,QAAA,EAAA,gCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,6BAA6B,EAC7B,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,EACxB,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,+BAA+B,EAC/B,QAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,iCAAiC,yEACjC,+BAA+B,EAAA,QAAA,EAAA,4BAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAGtB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBA1BhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAGjB,MAAA,EAAA,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,EACxC,OAAA,EAAA,CAAC,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,EAC7D,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC1B,SAAA,EAAA;AACT,wBAAA,EAAE,OAAO,EAAE,0BAA0B,EAAE,WAAW,sBAAsB,EAAE;AAC1E,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;AACnD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;qBACF,EACQ,OAAA,EAAA;wBACP,2BAA2B;wBAC3B,mCAAmC;wBACnC,6BAA6B;wBAC7B,wBAAwB;wBACxB,+BAA+B;wBAC/B,iCAAiC;wBACjC,+BAA+B;AAChC,qBAAA,EAAA,QAAA,EAAA,03BAAA,EAAA,MAAA,EAAA,CAAA,61DAAA,CAAA,EAAA;;0BAyJE;;0BACA,MAAM;2BAAC,gBAAgB;yCA7If,SAAS,EAAA,CAAA;sBADnB;gBAuBU,IAAI,EAAA,CAAA;sBADd;gBAgCU,KAAK,EAAA,CAAA;sBADf;gBA8CM,iBAAiB,EAAA,CAAA;sBADvB;gBAYU,WAAW,EAAA,CAAA;sBADrB;gBA0BD,SAAS,EAAA,CAAA;sBADR;gBAwIG,WAAW,EAAA,CAAA;sBADd,WAAW;uBAAC,OAAO;;;AEhUtB,MAAM,SAAS,GAAG;IAChB,oBAAoB;IACpB,+BAA+B;IAC/B,+BAA+B;IAC/B,6BAA6B;IAC7B,mCAAmC;IACnC,iCAAiC;IACjC,wBAAwB;CACzB;AACD,MAAM,OAAO,GAAG;IACd,YAAY;IACZ,WAAW;IACX,cAAc;IACd,mBAAmB;IACnB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;CACjB;MAOY,iBAAiB,CAAA;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAhB5B,YAAY;YACZ,WAAW;YACX,cAAc;YACd,mBAAmB;YACnB,iBAAiB;YACjB,gBAAgB;YAChB,iBAAiB;YACjB,mBAAmB;AACnB,YAAA,gBAAgB,EAjBhB,oBAAoB;YACpB,+BAA+B;YAC/B,+BAA+B;YAC/B,6BAA6B;YAC7B,mCAAmC;YACnC,iCAAiC;AACjC,YAAA,wBAAwB,aANxB,oBAAoB;YACpB,+BAA+B;YAC/B,+BAA+B;YAC/B,6BAA6B;YAC7B,mCAAmC;YACnC,iCAAiC;YACjC,wBAAwB,CAAA,EAAA,CAAA,CAAA;+GAmBb,iBAAiB,EAAA,OAAA,EAAA,CAJf,OAAO,EAAK,SAAS,CAAA,EAAA,CAAA,CAAA;;2FAIvB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC;AACnC,oBAAA,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;AACvB,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA;;;AC3CD;;AAEG;;;;"}
|
@@ -3,7 +3,7 @@ import { AXCalendarService, AXDateTimeModule } from '@acorex/core/date-time';
|
|
3
3
|
import { AXFormatService } from '@acorex/core/format';
|
4
4
|
import { AXLocaleService } from '@acorex/core/locale';
|
5
5
|
import { AXPlatform } from '@acorex/core/platform';
|
6
|
-
import {
|
6
|
+
import { getWordBoundsAtPosition } from '@acorex/core/utils';
|
7
7
|
import * as i0 from '@angular/core';
|
8
8
|
import { inject, signal, input, linkedSignal, viewChild, output, effect, untracked, forwardRef, HostListener, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
9
9
|
import * as i1 from '@angular/forms';
|
@@ -554,7 +554,7 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
|
|
554
554
|
const index = orderedParts.findIndex((c) => c.key == this._activePart());
|
555
555
|
const re = /[a-zA-Z0-9]+/gi;
|
556
556
|
const valueParts = Array.from(input.value.matchAll(re));
|
557
|
-
const { start, end } =
|
557
|
+
const { start, end } = getWordBoundsAtPosition(input.value, valueParts[index]?.index);
|
558
558
|
if (input && typeof input.setSelectionRange === 'function') {
|
559
559
|
input.setSelectionRange(start, end);
|
560
560
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-datetime-input.mjs","sources":["../../../../libs/components/datetime-input/src/lib/datetime-input.component.ts","../../../../libs/components/datetime-input/src/lib/datetime-input.component.html","../../../../libs/components/datetime-input/src/lib/datetime-input.module.ts","../../../../libs/components/datetime-input/src/acorex-components-datetime-input.ts"],"sourcesContent":["import { AXDateTimePickerType } from '@acorex/components/calendar';\nimport {\n AXClearableComponent,\n AXClickEvent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n} from '@acorex/components/common';\nimport { AXCalendarService, AXDateTime, AXDateTimePart, AXDateTimeParts, TimeUnit } from '@acorex/core/date-time';\nimport { AXFormatService } from '@acorex/core/format';\nimport { AXLocaleService } from '@acorex/core/locale';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXStringUtil } from '@acorex/core/utils';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostListener,\n ViewEncapsulation,\n effect,\n forwardRef,\n inject,\n input,\n linkedSignal,\n output,\n signal,\n untracked,\n viewChild,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { map } from 'rxjs';\n\n/**\n * A component for date and time input with various custom features.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-datetime-input',\n templateUrl: './datetime-input.component.html',\n styleUrl: './datetime-input.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'],\n outputs: ['valueChange', 'stateChange', 'onValueChanged', 'onBlur', 'onFocus', 'readonlyChange', 'disabledChange'],\n providers: [\n { provide: AXComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXClearableComponent, useExisting: AXDateTimeInputComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimeInputComponent),\n multi: true,\n },\n ],\n imports: [FormsModule],\n})\nexport class AXDateTimeInputComponent extends MXInputBaseValueComponent<Date> {\n private platformService = inject(AXPlatform);\n private formatService = inject(AXFormatService);\n private localeService = inject(AXLocaleService);\n private calendarService = inject(AXCalendarService);\n\n /**\n * @ignore\n */\n private readonly _editingParts: AXDateTimeParts = {\n year: {\n key: 'year',\n placeholder: 'yyyy',\n placeholders: ['YY', 'yy', 'YYYY', 'yyyy'],\n enabled: false,\n default: 2023,\n typedValue: null,\n realValue: () =>\n this.formatService.format(this._editingDate(), 'datetime', this._editingParts.year.placeholder as any),\n },\n month: {\n key: 'month',\n placeholder: 'MM',\n placeholders: ['MMM', 'MMMM', 'MM', 'M'],\n enabled: false,\n default: 1,\n typedValue: null,\n realValue: () =>\n this.formatService.format(this._editingDate(), 'datetime', this._editingParts.month.placeholder as any),\n },\n day: {\n key: 'day',\n placeholder: 'dd',\n placeholders: ['dd', 'DD', 'd', 'dddd', 'E'],\n enabled: false,\n default: 1,\n typedValue: null,\n realValue: () =>\n this.formatService.format(this._editingDate(), 'datetime', this._editingParts.day.placeholder as any),\n },\n hour: {\n key: 'hour',\n placeholder: 'HH',\n placeholders: ['HH', 'H', 'hh', 'h'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () =>\n this.formatService.format(this._editingDate(), 'datetime', this._editingParts.hour.placeholder as any),\n },\n minute: {\n key: 'minute',\n placeholder: 'mm',\n placeholders: ['mm', 'm'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () =>\n this.formatService.format(this._editingDate(), 'datetime', this._editingParts.minute.placeholder as any),\n },\n second: {\n key: 'second',\n placeholder: 'ss',\n placeholders: ['ss', 's'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () =>\n this.formatService.format(this._editingDate(), 'datetime', this._editingParts.second.placeholder as any),\n },\n AMPM: {\n key: 'AMPM',\n placeholder: 'a',\n placeholders: ['a', 'A'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () =>\n this.formatService.format(this._editingDate(), 'datetime', this._editingParts.AMPM.placeholder as any),\n },\n };\n\n /**\n * @ignore\n */\n protected _editingText = signal<string>('');\n\n /**\n * @ignore\n */\n protected _inputChars: string[] = [];\n\n /**\n * Indicates whether typing is allowed in the input field.\n * @defaultValue false\n */\n allowTyping = input<boolean>(false);\n\n /**\n * @description The calendar type to use for the datetime input.\n */\n calendar = input<string | null>(null);\n\n protected _calendarSystem = linkedSignal<string | null>(() => this.calendar());\n\n private _activePart = signal<string | null>(null);\n\n // TODO: fix this\n // #effect = effect(() => {\n // this._activePart()\n // this._clearInputBuffer();\n // });\n\n private _editingDate = linkedSignal<AXDateTime>(() => this.calendarService.now(this._calendarSystem()));\n\n /**\n * @ignore\n */\n private input = viewChild<HTMLInputElement>('input');\n\n minValue = input<Date | null>(null);\n\n maxValue = input<Date | null>(null);\n\n /**\n * Emitted when a click event occurs on the datetime box.\n * @event\n */\n onClick = output<AXClickEvent>();\n\n picker = input<AXDateTimePickerType>('datetime');\n\n private _format = linkedSignal<string>(() => this.format());\n\n /**\n * @deprecated use locale & mode instead\n */\n format = input<string | null>();\n\n #effect = effect(() => {\n const profile = this.localeService.activeProfile();\n //\n if (!this.format()) {\n this._format.set(this.format() ?? profile.formats[this.picker()]?.short ?? '');\n }\n //\n if (!this.calendar()) {\n this._calendarSystem.set(profile.calendar.system);\n }\n //\n this._detectParts();\n untracked(() => {\n this._updateText();\n });\n });\n\n private _detectParts() {\n Object.values(this._editingParts).forEach((e) => {\n e.enabled = false;\n });\n const formatParts = this._format().split(/[^a-zA-Z]+/);\n formatParts.forEach((f) => {\n const found = Object.values(this._editingParts).find((c) => c.placeholders.some((d) => d == f));\n if (found) {\n found.enabled = true;\n found.placeholder = f;\n }\n });\n }\n\n /**\n * @description check if page is in rtl or ltr\n */\n protected isRtl = signal(this.platformService.isRtl());\n\n /**\n * @description listen to direction change to react to it.\n */\n protected override ngOnInit(): void {\n this.platformService.directionChange.pipe(map((i) => i.data === 'rtl')).subscribe((isRtl) => this.isRtl.set(isRtl));\n }\n /**\n * @ignore\n */\n private _getOrderedParts(): AXDateTimePart[] {\n // TODO: better spliter format\n const formatParts = this._format().split(/[^a-zA-Z]+/);\n const result: AXDateTimePart[] = [];\n formatParts.forEach((f) => {\n const found = Object.values(this._editingParts).find((c) => c.placeholders.some((d) => d == f));\n if (found && found.enabled) result.push(found);\n });\n return result;\n }\n\n /**\n * @ignore\n */\n private _clearInputBuffer() {\n this._inputChars = [];\n }\n\n /**\n * @ignore\n */\n private _updateText() {\n let text = this._format();\n //\n Object.values(this._editingParts).forEach((part) => {\n if (this._activePart() == part.key) {\n if (part.typedValue) text = text.replace(part.placeholder, part.typedValue);\n } else {\n if (part.typedValue != part.placeholder && part.typedValue != null) {\n text = text.replace(part.placeholder, part.realValue());\n }\n }\n });\n this._editingText.set(text == this._format() ? '' : text);\n if (this._activePart()) {\n this._highlightActivePart();\n }\n }\n\n /**\n * Sets the internal date value, adjusting it based on editing parts.\n * @param value - The date to set. Returns `undefined` if no value is provided.\n * @ignore\n */\n override internalSetValue(value?: Date) {\n if (value) {\n let editingDate = this.calendarService.create(value, this._calendarSystem());\n let applyChanges = false;\n Object.values(this._editingParts).forEach((part) => {\n if (!part.enabled) {\n editingDate = editingDate.set(part.key as TimeUnit, part.default);\n applyChanges = true;\n }\n });\n if (applyChanges) {\n return editingDate.date;\n }\n }\n return value;\n }\n\n /**\n * Handles changes to the internal date value, updating editing parts and text representation.\n *\n * @param value - The new date value. If not provided, resets editing parts.\n * @ignore\n */\n override internalValueChanged(value?: Date): void {\n if (value && this.calendarService.isValidDate(value)) {\n this._editingDate.set(this.calendarService.create(value, this._calendarSystem()));\n }\n Object.values(this._editingParts).forEach((part) => {\n if (value) {\n if (part.typedValue != part.placeholder) part.typedValue = part.realValue();\n } else part.typedValue = null;\n });\n this._updateText();\n }\n\n /**\n * @ignore\n */\n @HostListener('keydown', ['$event'])\n _handleOnKeydownEvent(e: KeyboardEvent) {\n const ignore = () => {\n e.preventDefault();\n e.stopPropagation();\n };\n\n if (!this.allowTyping()) {\n ignore();\n return;\n }\n\n const input = e.target as HTMLInputElement;\n //\n const orderedParts = this._getOrderedParts();\n const part = this._activePart() ? this._editingParts[this._activePart()] : orderedParts[0];\n const nextPart = part ? orderedParts[orderedParts.indexOf(part) + 1] : null;\n const prevPart = part ? orderedParts[orderedParts.indexOf(part) - 1] : null;\n //\n const goNext = () => {\n this._clearInputBuffer();\n if (nextPart) {\n this._activePart.set(nextPart.key);\n this._highlightActivePart();\n }\n };\n const goPrev = () => {\n this._clearInputBuffer();\n if (prevPart) {\n this._activePart.set(prevPart.key);\n this._highlightActivePart();\n }\n };\n /*************** Handle Left and Right **************/\n if (e.code === 'ArrowRight' || e.code === 'ArrowLeft') {\n ignore();\n e.code === 'ArrowRight' ? goNext() : goPrev();\n } else if ((e.code === 'ArrowUp' || e.code === 'ArrowDown') && !e.ctrlKey) {\n /*************** Handle Up and Down **************/\n if (this.disabled || this.readonly) {\n ignore();\n return;\n } else {\n ignore();\n const sign = e.code === 'ArrowUp' ? +1 : -1;\n this._activePart.set(part.key);\n const newVal: AXDateTime = this._editingDate().add(part.key, sign);\n this._editingParts[part.key].typedValue = this.formatService.format(\n newVal,\n 'datetime',\n this._editingParts[part.key].placeholder as any,\n );\n\n this._editingDate.set(newVal);\n this._detectValueChanges();\n }\n } else if (e.code == 'Backspace' || e.code == 'Delete') {\n /*************** Handle Backspace **************/\n if (this.disabled || this.readonly) {\n return;\n }\n if (input.value) {\n ignore();\n this._editingParts[part.key].typedValue = this._editingParts[part.key].placeholder;\n this._detectValueChanges();\n goPrev();\n }\n } else if (e.code == 'Tab' || e.code == 'Space') {\n /*************** Handle Backspace **************/\n if (input.value) {\n if (!e.shiftKey && nextPart) {\n ignore();\n goNext();\n } else if (e.shiftKey && prevPart) {\n ignore();\n goPrev();\n }\n }\n // TODO: FiX type in input\n } else if (e.key?.trim() && !isNaN(Number(e.key))) {\n ignore();\n return;\n if (this.disabled || this.readonly) {\n return;\n }\n let next = false;\n const editing = this._editingParts[part.key];\n //\n switch (part.key) {\n case 'year': {\n if (editing.placeholder.length == 2 && this._inputChars.length == 0) {\n this._inputChars.push(\n ...this.formatService\n .format(this.calendarService.now(this._calendarSystem()), 'datetime', 'yyyy' as any)\n .substring(0, 2)\n .split(''),\n );\n }\n if (this._inputChars.length < 4) {\n editing.typedValue = `${this._inputChars.join('')}${e.key}`;\n this._inputChars.push(e.key);\n if (this._inputChars.length > 3) {\n next = true;\n }\n } else {\n next = true;\n }\n editing.typedValue = ('0000' + editing.typedValue).slice(-4);\n const nv = parseInt(editing.typedValue);\n //if (nv > 0) {\n const newVal = this._editingDate().set('year', nv);\n this._editingDate.set(newVal);\n this._detectValueChanges();\n //}\n break;\n }\n case 'month': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key);\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 1) {\n this._clearInputBuffer();\n next = true;\n }\n } else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > 12) {\n editing.typedValue = `0${e.key}`;\n } else {\n editing.typedValue = newStr.toString();\n }\n this._clearInputBuffer();\n next = true;\n }\n editing.typedValue = editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;\n const nv = parseInt(editing.typedValue);\n if (nv > 0) {\n const newVal = this._editingDate().set(part.key, nv);\n this._editingDate.set(newVal);\n this._detectValueChanges();\n }\n break;\n }\n case 'day': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key);\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 3) {\n this._clearInputBuffer();\n next = true;\n }\n } else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > this._editingDate().month.totalDays) {\n editing.typedValue = `0${e.key}`;\n } else {\n editing.typedValue = newStr.toString();\n }\n this._clearInputBuffer();\n next = true;\n }\n editing.typedValue = editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;\n const nv = parseInt(editing.typedValue);\n if (nv > 0) {\n const newVal = this._editingDate().set(part.key, nv);\n this._editingDate.set(newVal);\n this._detectValueChanges();\n }\n break;\n }\n case 'hour': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key);\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 2) {\n next = true;\n }\n } else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > 23) {\n editing.typedValue = `0${e.key}`;\n } else {\n editing.typedValue = newStr.toString();\n }\n next = true;\n }\n editing.typedValue = editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;\n const newVal = this._editingDate().set('hour', parseInt(editing.typedValue));\n this._editingDate.set(newVal);\n this._detectValueChanges();\n break;\n }\n case 'minute':\n case 'second':\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key);\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 5) {\n this._clearInputBuffer();\n next = true;\n }\n } else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > 59) {\n editing.typedValue = `0${e.key}`;\n } else {\n editing.typedValue = newStr.toString();\n }\n this._clearInputBuffer();\n next = true;\n }\n editing.typedValue = editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;\n // eslint-disable-next-line no-case-declarations\n const newVal = this._editingDate().set(part.key, parseInt(editing.typedValue));\n this._editingDate.set(newVal);\n this._detectValueChanges();\n break;\n default:\n }\n if (next) {\n goNext();\n return;\n }\n }\n /*************** Emit Event **************/\n super.emitOnKeydownEvent(e);\n }\n\n /**\n * @ignore\n */\n @HostListener('keyup', ['$event'])\n _handleKeyUpEvent(e: KeyboardEvent) {\n if (this._activePart()) {\n this._highlightActivePart();\n }\n }\n\n /**\n * @ignore\n */\n protected _handleFocusEvent(e: FocusEvent) {\n //this._highlightActivePart();\n super.emitOnFocusEvent(e);\n }\n\n /**\n * @ignore\n */\n protected _handleBlurEvent(e: FocusEvent) {\n super.emitOnBlurEvent(e);\n }\n\n /**\n * @ignore\n */\n protected _handleOnInputClickEvent(e: MouseEvent): void {\n if (this.allowTyping()) {\n setTimeout(() => {\n this._detectPartAtPosition();\n }, 0);\n }\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n\n /**\n * @ignore\n */\n private _detectPartAtPosition(): void {\n const input = this.input();\n if (!input || !input.value) return;\n const sStart = input.selectionEnd || 0;\n const re = /[a-zA-Z0-9]+/gi;\n const valueParts = Array.from(input.value.matchAll(re));\n const orderedParts = this._getOrderedParts();\n const index = valueParts.findIndex((c: any) => c.index <= sStart && c.index + c[0].length >= sStart);\n this._activePart.set(orderedParts[index].key);\n this._highlightActivePart();\n }\n\n /**\n * @ignore\n */\n private _highlightActivePart(): void {\n const input = this.input();\n if (!input || !input.value || !this._activePart()) return;\n const orderedParts = this._getOrderedParts();\n const index = orderedParts.findIndex((c) => c.key == this._activePart());\n const re = /[a-zA-Z0-9]+/gi;\n const valueParts = Array.from(input.value.matchAll(re));\n const { start, end } = AXStringUtil.getWordBoundsAtPosition(input.value, valueParts[index]?.index);\n if (input && typeof input.setSelectionRange === 'function') {\n input.setSelectionRange(start, end);\n }\n }\n\n /**\n * @ignore\n */\n private _detectValueChanges() {\n this.commitValue(this._editingDate().date, true);\n }\n}\n","<input\n #input\n id=\"input\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n class=\"ax-input\"\n type=\"text\"\n [attr.placeholder]=\"placeholder\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-select-none]=\"!allowTyping()\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"true\"\n [ngModel]=\"_editingText()\"\n (mouseup)=\"_handleOnInputClickEvent($event)\"\n (blur)=\"_handleBlurEvent($event)\"\n (focus)=\"_handleFocusEvent($event)\"\n style=\"display: flex\"\n [style.justify-items]=\"isRtl() ? 'end' : 'start'\"\n/>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n","import { AXDateTimeModule } from '@acorex/core/date-time';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDateTimeInputComponent } from './datetime-input.component';\n\nconst COMPONENT = [AXDateTimeInputComponent];\nconst MODULES = [CommonModule, FormsModule, AXDateTimeModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDateTimeInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-datetime-input.mjs","sources":["../../../../libs/components/datetime-input/src/lib/datetime-input.component.ts","../../../../libs/components/datetime-input/src/lib/datetime-input.component.html","../../../../libs/components/datetime-input/src/lib/datetime-input.module.ts","../../../../libs/components/datetime-input/src/acorex-components-datetime-input.ts"],"sourcesContent":["import { AXDateTimePickerType } from '@acorex/components/calendar';\nimport {\n AXClearableComponent,\n AXClickEvent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n} from '@acorex/components/common';\nimport { AXCalendarService, AXDateTime, AXDateTimePart, AXDateTimeParts, TimeUnit } from '@acorex/core/date-time';\nimport { AXFormatService } from '@acorex/core/format';\nimport { AXLocaleService } from '@acorex/core/locale';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { getWordBoundsAtPosition } from '@acorex/core/utils';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostListener,\n ViewEncapsulation,\n effect,\n forwardRef,\n inject,\n input,\n linkedSignal,\n output,\n signal,\n untracked,\n viewChild,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { map } from 'rxjs';\n\n/**\n * A component for date and time input with various custom features.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-datetime-input',\n templateUrl: './datetime-input.component.html',\n styleUrl: './datetime-input.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'],\n outputs: ['valueChange', 'stateChange', 'onValueChanged', 'onBlur', 'onFocus', 'readonlyChange', 'disabledChange'],\n providers: [\n { provide: AXComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXClearableComponent, useExisting: AXDateTimeInputComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimeInputComponent),\n multi: true,\n },\n ],\n imports: [FormsModule],\n})\nexport class AXDateTimeInputComponent extends MXInputBaseValueComponent<Date> {\n private platformService = inject(AXPlatform);\n private formatService = inject(AXFormatService);\n private localeService = inject(AXLocaleService);\n private calendarService = inject(AXCalendarService);\n\n /**\n * @ignore\n */\n private readonly _editingParts: AXDateTimeParts = {\n year: {\n key: 'year',\n placeholder: 'yyyy',\n placeholders: ['YY', 'yy', 'YYYY', 'yyyy'],\n enabled: false,\n default: 2023,\n typedValue: null,\n realValue: () =>\n this.formatService.format(this._editingDate(), 'datetime', this._editingParts.year.placeholder as any),\n },\n month: {\n key: 'month',\n placeholder: 'MM',\n placeholders: ['MMM', 'MMMM', 'MM', 'M'],\n enabled: false,\n default: 1,\n typedValue: null,\n realValue: () =>\n this.formatService.format(this._editingDate(), 'datetime', this._editingParts.month.placeholder as any),\n },\n day: {\n key: 'day',\n placeholder: 'dd',\n placeholders: ['dd', 'DD', 'd', 'dddd', 'E'],\n enabled: false,\n default: 1,\n typedValue: null,\n realValue: () =>\n this.formatService.format(this._editingDate(), 'datetime', this._editingParts.day.placeholder as any),\n },\n hour: {\n key: 'hour',\n placeholder: 'HH',\n placeholders: ['HH', 'H', 'hh', 'h'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () =>\n this.formatService.format(this._editingDate(), 'datetime', this._editingParts.hour.placeholder as any),\n },\n minute: {\n key: 'minute',\n placeholder: 'mm',\n placeholders: ['mm', 'm'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () =>\n this.formatService.format(this._editingDate(), 'datetime', this._editingParts.minute.placeholder as any),\n },\n second: {\n key: 'second',\n placeholder: 'ss',\n placeholders: ['ss', 's'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () =>\n this.formatService.format(this._editingDate(), 'datetime', this._editingParts.second.placeholder as any),\n },\n AMPM: {\n key: 'AMPM',\n placeholder: 'a',\n placeholders: ['a', 'A'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () =>\n this.formatService.format(this._editingDate(), 'datetime', this._editingParts.AMPM.placeholder as any),\n },\n };\n\n /**\n * @ignore\n */\n protected _editingText = signal<string>('');\n\n /**\n * @ignore\n */\n protected _inputChars: string[] = [];\n\n /**\n * Indicates whether typing is allowed in the input field.\n * @defaultValue false\n */\n allowTyping = input<boolean>(false);\n\n /**\n * @description The calendar type to use for the datetime input.\n */\n calendar = input<string | null>(null);\n\n protected _calendarSystem = linkedSignal<string | null>(() => this.calendar());\n\n private _activePart = signal<string | null>(null);\n\n // TODO: fix this\n // #effect = effect(() => {\n // this._activePart()\n // this._clearInputBuffer();\n // });\n\n private _editingDate = linkedSignal<AXDateTime>(() => this.calendarService.now(this._calendarSystem()));\n\n /**\n * @ignore\n */\n private input = viewChild<HTMLInputElement>('input');\n\n minValue = input<Date | null>(null);\n\n maxValue = input<Date | null>(null);\n\n /**\n * Emitted when a click event occurs on the datetime box.\n * @event\n */\n onClick = output<AXClickEvent>();\n\n picker = input<AXDateTimePickerType>('datetime');\n\n private _format = linkedSignal<string>(() => this.format());\n\n /**\n * @deprecated use locale & mode instead\n */\n format = input<string | null>();\n\n #effect = effect(() => {\n const profile = this.localeService.activeProfile();\n //\n if (!this.format()) {\n this._format.set(this.format() ?? profile.formats[this.picker()]?.short ?? '');\n }\n //\n if (!this.calendar()) {\n this._calendarSystem.set(profile.calendar.system);\n }\n //\n this._detectParts();\n untracked(() => {\n this._updateText();\n });\n });\n\n private _detectParts() {\n Object.values(this._editingParts).forEach((e) => {\n e.enabled = false;\n });\n const formatParts = this._format().split(/[^a-zA-Z]+/);\n formatParts.forEach((f) => {\n const found = Object.values(this._editingParts).find((c) => c.placeholders.some((d) => d == f));\n if (found) {\n found.enabled = true;\n found.placeholder = f;\n }\n });\n }\n\n /**\n * @description check if page is in rtl or ltr\n */\n protected isRtl = signal(this.platformService.isRtl());\n\n /**\n * @description listen to direction change to react to it.\n */\n protected override ngOnInit(): void {\n this.platformService.directionChange.pipe(map((i) => i.data === 'rtl')).subscribe((isRtl) => this.isRtl.set(isRtl));\n }\n /**\n * @ignore\n */\n private _getOrderedParts(): AXDateTimePart[] {\n // TODO: better spliter format\n const formatParts = this._format().split(/[^a-zA-Z]+/);\n const result: AXDateTimePart[] = [];\n formatParts.forEach((f) => {\n const found = Object.values(this._editingParts).find((c) => c.placeholders.some((d) => d == f));\n if (found && found.enabled) result.push(found);\n });\n return result;\n }\n\n /**\n * @ignore\n */\n private _clearInputBuffer() {\n this._inputChars = [];\n }\n\n /**\n * @ignore\n */\n private _updateText() {\n let text = this._format();\n //\n Object.values(this._editingParts).forEach((part) => {\n if (this._activePart() == part.key) {\n if (part.typedValue) text = text.replace(part.placeholder, part.typedValue);\n } else {\n if (part.typedValue != part.placeholder && part.typedValue != null) {\n text = text.replace(part.placeholder, part.realValue());\n }\n }\n });\n this._editingText.set(text == this._format() ? '' : text);\n if (this._activePart()) {\n this._highlightActivePart();\n }\n }\n\n /**\n * Sets the internal date value, adjusting it based on editing parts.\n * @param value - The date to set. Returns `undefined` if no value is provided.\n * @ignore\n */\n override internalSetValue(value?: Date) {\n if (value) {\n let editingDate = this.calendarService.create(value, this._calendarSystem());\n let applyChanges = false;\n Object.values(this._editingParts).forEach((part) => {\n if (!part.enabled) {\n editingDate = editingDate.set(part.key as TimeUnit, part.default);\n applyChanges = true;\n }\n });\n if (applyChanges) {\n return editingDate.date;\n }\n }\n return value;\n }\n\n /**\n * Handles changes to the internal date value, updating editing parts and text representation.\n *\n * @param value - The new date value. If not provided, resets editing parts.\n * @ignore\n */\n override internalValueChanged(value?: Date): void {\n if (value && this.calendarService.isValidDate(value)) {\n this._editingDate.set(this.calendarService.create(value, this._calendarSystem()));\n }\n Object.values(this._editingParts).forEach((part) => {\n if (value) {\n if (part.typedValue != part.placeholder) part.typedValue = part.realValue();\n } else part.typedValue = null;\n });\n this._updateText();\n }\n\n /**\n * @ignore\n */\n @HostListener('keydown', ['$event'])\n _handleOnKeydownEvent(e: KeyboardEvent) {\n const ignore = () => {\n e.preventDefault();\n e.stopPropagation();\n };\n\n if (!this.allowTyping()) {\n ignore();\n return;\n }\n\n const input = e.target as HTMLInputElement;\n //\n const orderedParts = this._getOrderedParts();\n const part = this._activePart() ? this._editingParts[this._activePart()] : orderedParts[0];\n const nextPart = part ? orderedParts[orderedParts.indexOf(part) + 1] : null;\n const prevPart = part ? orderedParts[orderedParts.indexOf(part) - 1] : null;\n //\n const goNext = () => {\n this._clearInputBuffer();\n if (nextPart) {\n this._activePart.set(nextPart.key);\n this._highlightActivePart();\n }\n };\n const goPrev = () => {\n this._clearInputBuffer();\n if (prevPart) {\n this._activePart.set(prevPart.key);\n this._highlightActivePart();\n }\n };\n /*************** Handle Left and Right **************/\n if (e.code === 'ArrowRight' || e.code === 'ArrowLeft') {\n ignore();\n e.code === 'ArrowRight' ? goNext() : goPrev();\n } else if ((e.code === 'ArrowUp' || e.code === 'ArrowDown') && !e.ctrlKey) {\n /*************** Handle Up and Down **************/\n if (this.disabled || this.readonly) {\n ignore();\n return;\n } else {\n ignore();\n const sign = e.code === 'ArrowUp' ? +1 : -1;\n this._activePart.set(part.key);\n const newVal: AXDateTime = this._editingDate().add(part.key, sign);\n this._editingParts[part.key].typedValue = this.formatService.format(\n newVal,\n 'datetime',\n this._editingParts[part.key].placeholder as any,\n );\n\n this._editingDate.set(newVal);\n this._detectValueChanges();\n }\n } else if (e.code == 'Backspace' || e.code == 'Delete') {\n /*************** Handle Backspace **************/\n if (this.disabled || this.readonly) {\n return;\n }\n if (input.value) {\n ignore();\n this._editingParts[part.key].typedValue = this._editingParts[part.key].placeholder;\n this._detectValueChanges();\n goPrev();\n }\n } else if (e.code == 'Tab' || e.code == 'Space') {\n /*************** Handle Backspace **************/\n if (input.value) {\n if (!e.shiftKey && nextPart) {\n ignore();\n goNext();\n } else if (e.shiftKey && prevPart) {\n ignore();\n goPrev();\n }\n }\n // TODO: FiX type in input\n } else if (e.key?.trim() && !isNaN(Number(e.key))) {\n ignore();\n return;\n if (this.disabled || this.readonly) {\n return;\n }\n let next = false;\n const editing = this._editingParts[part.key];\n //\n switch (part.key) {\n case 'year': {\n if (editing.placeholder.length == 2 && this._inputChars.length == 0) {\n this._inputChars.push(\n ...this.formatService\n .format(this.calendarService.now(this._calendarSystem()), 'datetime', 'yyyy' as any)\n .substring(0, 2)\n .split(''),\n );\n }\n if (this._inputChars.length < 4) {\n editing.typedValue = `${this._inputChars.join('')}${e.key}`;\n this._inputChars.push(e.key);\n if (this._inputChars.length > 3) {\n next = true;\n }\n } else {\n next = true;\n }\n editing.typedValue = ('0000' + editing.typedValue).slice(-4);\n const nv = parseInt(editing.typedValue);\n //if (nv > 0) {\n const newVal = this._editingDate().set('year', nv);\n this._editingDate.set(newVal);\n this._detectValueChanges();\n //}\n break;\n }\n case 'month': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key);\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 1) {\n this._clearInputBuffer();\n next = true;\n }\n } else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > 12) {\n editing.typedValue = `0${e.key}`;\n } else {\n editing.typedValue = newStr.toString();\n }\n this._clearInputBuffer();\n next = true;\n }\n editing.typedValue = editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;\n const nv = parseInt(editing.typedValue);\n if (nv > 0) {\n const newVal = this._editingDate().set(part.key, nv);\n this._editingDate.set(newVal);\n this._detectValueChanges();\n }\n break;\n }\n case 'day': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key);\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 3) {\n this._clearInputBuffer();\n next = true;\n }\n } else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > this._editingDate().month.totalDays) {\n editing.typedValue = `0${e.key}`;\n } else {\n editing.typedValue = newStr.toString();\n }\n this._clearInputBuffer();\n next = true;\n }\n editing.typedValue = editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;\n const nv = parseInt(editing.typedValue);\n if (nv > 0) {\n const newVal = this._editingDate().set(part.key, nv);\n this._editingDate.set(newVal);\n this._detectValueChanges();\n }\n break;\n }\n case 'hour': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key);\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 2) {\n next = true;\n }\n } else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > 23) {\n editing.typedValue = `0${e.key}`;\n } else {\n editing.typedValue = newStr.toString();\n }\n next = true;\n }\n editing.typedValue = editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;\n const newVal = this._editingDate().set('hour', parseInt(editing.typedValue));\n this._editingDate.set(newVal);\n this._detectValueChanges();\n break;\n }\n case 'minute':\n case 'second':\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key);\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 5) {\n this._clearInputBuffer();\n next = true;\n }\n } else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > 59) {\n editing.typedValue = `0${e.key}`;\n } else {\n editing.typedValue = newStr.toString();\n }\n this._clearInputBuffer();\n next = true;\n }\n editing.typedValue = editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;\n // eslint-disable-next-line no-case-declarations\n const newVal = this._editingDate().set(part.key, parseInt(editing.typedValue));\n this._editingDate.set(newVal);\n this._detectValueChanges();\n break;\n default:\n }\n if (next) {\n goNext();\n return;\n }\n }\n /*************** Emit Event **************/\n super.emitOnKeydownEvent(e);\n }\n\n /**\n * @ignore\n */\n @HostListener('keyup', ['$event'])\n _handleKeyUpEvent(e: KeyboardEvent) {\n if (this._activePart()) {\n this._highlightActivePart();\n }\n }\n\n /**\n * @ignore\n */\n protected _handleFocusEvent(e: FocusEvent) {\n //this._highlightActivePart();\n super.emitOnFocusEvent(e);\n }\n\n /**\n * @ignore\n */\n protected _handleBlurEvent(e: FocusEvent) {\n super.emitOnBlurEvent(e);\n }\n\n /**\n * @ignore\n */\n protected _handleOnInputClickEvent(e: MouseEvent): void {\n if (this.allowTyping()) {\n setTimeout(() => {\n this._detectPartAtPosition();\n }, 0);\n }\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n\n /**\n * @ignore\n */\n private _detectPartAtPosition(): void {\n const input = this.input();\n if (!input || !input.value) return;\n const sStart = input.selectionEnd || 0;\n const re = /[a-zA-Z0-9]+/gi;\n const valueParts = Array.from(input.value.matchAll(re));\n const orderedParts = this._getOrderedParts();\n const index = valueParts.findIndex((c: any) => c.index <= sStart && c.index + c[0].length >= sStart);\n this._activePart.set(orderedParts[index].key);\n this._highlightActivePart();\n }\n\n /**\n * @ignore\n */\n private _highlightActivePart(): void {\n const input = this.input();\n if (!input || !input.value || !this._activePart()) return;\n const orderedParts = this._getOrderedParts();\n const index = orderedParts.findIndex((c) => c.key == this._activePart());\n const re = /[a-zA-Z0-9]+/gi;\n const valueParts = Array.from(input.value.matchAll(re));\n const { start, end } = getWordBoundsAtPosition(input.value, valueParts[index]?.index);\n if (input && typeof input.setSelectionRange === 'function') {\n input.setSelectionRange(start, end);\n }\n }\n\n /**\n * @ignore\n */\n private _detectValueChanges() {\n this.commitValue(this._editingDate().date, true);\n }\n}\n","<input\n #input\n id=\"input\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n class=\"ax-input\"\n type=\"text\"\n [attr.placeholder]=\"placeholder\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-select-none]=\"!allowTyping()\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"true\"\n [ngModel]=\"_editingText()\"\n (mouseup)=\"_handleOnInputClickEvent($event)\"\n (blur)=\"_handleBlurEvent($event)\"\n (focus)=\"_handleFocusEvent($event)\"\n style=\"display: flex\"\n [style.justify-items]=\"isRtl() ? 'end' : 'start'\"\n/>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n","import { AXDateTimeModule } from '@acorex/core/date-time';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDateTimeInputComponent } from './datetime-input.component';\n\nconst COMPONENT = [AXDateTimeInputComponent];\nconst MODULES = [CommonModule, FormsModule, AXDateTimeModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDateTimeInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|