@acorex/components 7.24.5 → 17.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/lib/classes/datasource.class.d.ts +2 -0
- package/data-table/index.d.ts +3 -2
- package/data-table/lib/base-data-table.class.d.ts +25 -0
- package/data-table/lib/columns/row-command-column.component.d.ts +2 -2
- package/data-table/lib/data-table/data-table.component.d.ts +52 -0
- package/data-table/lib/data-table.module.d.ts +21 -18
- package/data-table/lib/{data-table.component.d.ts → infinite-scroll-data-table/infinite-scroll-data-table.component.d.ts} +8 -22
- package/esm2022/button/lib/button.component.mjs +2 -2
- package/esm2022/common/lib/classes/datasource.class.mjs +8 -2
- package/esm2022/common/lib/components/selection-base.component.class.mjs +2 -2
- package/esm2022/data-pager/lib/data-pager.component.mjs +7 -11
- package/esm2022/data-table/index.mjs +4 -3
- package/esm2022/data-table/lib/base-data-table.class.mjs +36 -0
- package/esm2022/data-table/lib/columns/row-command-column.component.mjs +57 -69
- package/esm2022/data-table/lib/columns/row-index-column.component.mjs +7 -21
- package/esm2022/data-table/lib/columns/row-select-column.component.mjs +6 -18
- package/esm2022/data-table/lib/data-table/data-table.component.mjs +233 -0
- package/esm2022/data-table/lib/data-table.module.mjs +24 -7
- package/esm2022/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.mjs +272 -0
- package/esm2022/otp/lib/otp.component.mjs +2 -2
- package/esm2022/phone-box/lib/phone-box.component.mjs +21 -38
- package/esm2022/select-box/lib/select-box.component.mjs +2 -2
- package/esm2022/text-area/lib/text-area.component.mjs +6 -22
- package/fesm2022/acorex-components-button.mjs +2 -2
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +8 -2
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +5 -9
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +684 -470
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +2 -2
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +22 -38
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +2 -2
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +5 -21
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/package.json +25 -31
- package/phone-box/lib/phone-box.component.d.ts +4 -13
- package/text-area/lib/text-area.component.d.ts +0 -1
- package/data-table-2/README.md +0 -3
- package/data-table-2/index.d.ts +0 -8
- package/data-table-2/lib/columns/data-table-column-resizable.directive.d.ts +0 -22
- package/data-table-2/lib/columns/data-table-column.d.ts +0 -22
- package/data-table-2/lib/columns/data-text-column.component.d.ts +0 -18
- package/data-table-2/lib/columns/row-command-column.component.d.ts +0 -40
- package/data-table-2/lib/columns/row-index-column.component.d.ts +0 -18
- package/data-table-2/lib/columns/row-select-column.component.d.ts +0 -14
- package/data-table-2/lib/data-table-2.component.d.ts +0 -61
- package/data-table-2/lib/data-table-2.module.d.ts +0 -24
- package/esm2022/data-table/lib/data-table.component.mjs +0 -290
- package/esm2022/data-table-2/acorex-components-data-table-2.mjs +0 -5
- package/esm2022/data-table-2/index.mjs +0 -9
- package/esm2022/data-table-2/lib/columns/data-table-column-resizable.directive.mjs +0 -59
- package/esm2022/data-table-2/lib/columns/data-table-column.mjs +0 -42
- package/esm2022/data-table-2/lib/columns/data-text-column.component.mjs +0 -81
- package/esm2022/data-table-2/lib/columns/row-command-column.component.mjs +0 -231
- package/esm2022/data-table-2/lib/columns/row-index-column.component.mjs +0 -71
- package/esm2022/data-table-2/lib/columns/row-select-column.component.mjs +0 -61
- package/esm2022/data-table-2/lib/data-table-2.component.mjs +0 -211
- package/esm2022/data-table-2/lib/data-table-2.module.mjs +0 -94
- package/fesm2022/acorex-components-data-table-2.mjs +0 -822
- package/fesm2022/acorex-components-data-table-2.mjs.map +0 -1
package/esm2022/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.mjs
ADDED
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
import { AXListDataSource, AXPagedComponent } from '@acorex/components/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, EventEmitter, Input, NgZone, Output, QueryList, TemplateRef, ViewChild, ViewEncapsulation, inject, signal, } from '@angular/core';
|
|
3
|
+
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
|
|
4
|
+
import sum from 'lodash-es/sum';
|
|
5
|
+
import { Subject, buffer, debounceTime, filter } from 'rxjs';
|
|
6
|
+
import { AXBaseDataTable } from '../base-data-table.class';
|
|
7
|
+
import { AXDataTableColumnComponent } from '../columns/data-table-column';
|
|
8
|
+
import { AXDataTableTextColumnComponent } from '../columns/data-text-column.component';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/common";
|
|
11
|
+
import * as i2 from "@angular/cdk/scrolling";
|
|
12
|
+
import * as i3 from "@acorex/components/decorators";
|
|
13
|
+
import * as i4 from "@acorex/components/skeleton";
|
|
14
|
+
import * as i5 from "@acorex/components/button";
|
|
15
|
+
export class AXInfiniteScrollDataTableComponent extends AXBaseDataTable {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.ngZone = inject(NgZone);
|
|
19
|
+
this.onPageChanged = new EventEmitter();
|
|
20
|
+
this.clickSubject = new Subject();
|
|
21
|
+
this.onRowClick = new EventEmitter();
|
|
22
|
+
this.onRowDbClick = new EventEmitter();
|
|
23
|
+
this.showHeader = true;
|
|
24
|
+
this.fetchDataMode = 'auto';
|
|
25
|
+
this.loading = {
|
|
26
|
+
enabled: true,
|
|
27
|
+
animation: true,
|
|
28
|
+
};
|
|
29
|
+
this.isLoading = signal(true);
|
|
30
|
+
this.hasItems = false;
|
|
31
|
+
this.totalRows = 0;
|
|
32
|
+
this.currentPage = 0;
|
|
33
|
+
this.totalPages = 0;
|
|
34
|
+
this.startRowIndex = 0;
|
|
35
|
+
this.lastIndex = 0;
|
|
36
|
+
this.focusedRowChange = new EventEmitter();
|
|
37
|
+
this.itemHeight = 40;
|
|
38
|
+
this.width = '100%';
|
|
39
|
+
this.height = '100%';
|
|
40
|
+
this.onScrolledIndexChanged = new EventEmitter();
|
|
41
|
+
}
|
|
42
|
+
startFixedColumn() {
|
|
43
|
+
return this.columns?.toArray().filter((c) => c.fixed == 'start') ?? [];
|
|
44
|
+
}
|
|
45
|
+
endFixedColumn() {
|
|
46
|
+
return this.columns?.toArray().filter((c) => c.fixed == 'end') ?? [];
|
|
47
|
+
}
|
|
48
|
+
notFixedColumn() {
|
|
49
|
+
return this.columns?.toArray().filter((c) => !c.fixed) ?? [];
|
|
50
|
+
}
|
|
51
|
+
notFixedColumnCount() {
|
|
52
|
+
return this.columns?.toArray().filter((c) => !c.fixed).length ?? 0;
|
|
53
|
+
}
|
|
54
|
+
fixedColumnCount() {
|
|
55
|
+
return this.columns?.toArray().filter((c) => c.fixed).length ?? 0;
|
|
56
|
+
}
|
|
57
|
+
get focusedRow() {
|
|
58
|
+
return this._focusedRow;
|
|
59
|
+
}
|
|
60
|
+
set focusedRow(v) {
|
|
61
|
+
this._focusedRow = v;
|
|
62
|
+
this.focusedRowChange.emit(v);
|
|
63
|
+
}
|
|
64
|
+
trackByIdx(i) {
|
|
65
|
+
return i;
|
|
66
|
+
}
|
|
67
|
+
ngOnInit() {
|
|
68
|
+
super.ngOnInit();
|
|
69
|
+
this.listDataSource = new AXListDataSource({
|
|
70
|
+
source: this.dataSource,
|
|
71
|
+
});
|
|
72
|
+
this.listDataSource.source.onLoadingChanged.subscribe((data) => {
|
|
73
|
+
this.isLoading.set(data);
|
|
74
|
+
});
|
|
75
|
+
this.listDataSource.source.onChanged.subscribe((data) => {
|
|
76
|
+
this.totalRows = data.totalCount;
|
|
77
|
+
this.hasItems = data.totalCount > 0;
|
|
78
|
+
setTimeout(() => {
|
|
79
|
+
this.render();
|
|
80
|
+
}, 100);
|
|
81
|
+
});
|
|
82
|
+
//
|
|
83
|
+
this.clickSubject
|
|
84
|
+
.pipe(buffer(this.clickSubject.pipe(debounceTime(250))), filter((clickArray) => clickArray.length === 2))
|
|
85
|
+
.subscribe((clickArray) => {
|
|
86
|
+
this.handleRowDoubleClick(clickArray[0].event, clickArray[0].item);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
_handleOnscrolledIndexChange(e) {
|
|
90
|
+
this.lastIndex = e;
|
|
91
|
+
this.onScrolledIndexChanged.emit({
|
|
92
|
+
component: this,
|
|
93
|
+
index: this.lastIndex,
|
|
94
|
+
isUserInteraction: true,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
ngDoCheck() {
|
|
98
|
+
//this.copyFixedColumns();
|
|
99
|
+
this.updateHScroll();
|
|
100
|
+
//
|
|
101
|
+
this.updateWidth();
|
|
102
|
+
this.updateHeight();
|
|
103
|
+
//
|
|
104
|
+
this.updateTotalCount();
|
|
105
|
+
}
|
|
106
|
+
updateTotalCount() {
|
|
107
|
+
this.startRowIndex = this.lastIndex;
|
|
108
|
+
if (this.startRowIndex < 1)
|
|
109
|
+
this.startRowIndex = 1;
|
|
110
|
+
if (this.startRowIndex > this.totalRows)
|
|
111
|
+
this.startRowIndex = this.totalRows;
|
|
112
|
+
}
|
|
113
|
+
updateHeight() {
|
|
114
|
+
this.height = `calc(100% - ${(this.headerContainer?.nativeElement.clientHeight ?? 0) + (this.footerContainer?.nativeElement.clientHeight ?? 0)}px)`;
|
|
115
|
+
}
|
|
116
|
+
updateWidth() {
|
|
117
|
+
if (this.columns && this.columns.length) {
|
|
118
|
+
const sumPx = sum(this.columns.toArray().map((c) => (typeof c.width == 'number' ? c.width : Number(c.width.replace('px', '')))));
|
|
119
|
+
this.width = `${Math.max(sumPx, this.getHostElement().clientWidth - 5)}px`;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
updateHScroll() {
|
|
123
|
+
this.ngZone.runOutsideAngular(() => {
|
|
124
|
+
if (this.headerContainer) {
|
|
125
|
+
const headerContainer = this.headerContainer.nativeElement;
|
|
126
|
+
const left = this.scrollableContainer.nativeElement.scrollLeft;
|
|
127
|
+
headerContainer.style.transform = `translateX(${-left}px)`;
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
// Function to copy fixed columns
|
|
132
|
+
copyFixedColumns() {
|
|
133
|
+
const originalRows = Array.from(this.viewport._contentWrapper.nativeElement.querySelectorAll('tr'));
|
|
134
|
+
const fixedColumnTable = this.getHostElement().querySelector('.ax-body-fixed-columns > table > tbody');
|
|
135
|
+
fixedColumnTable.querySelectorAll('tr').forEach((n) => n.remove());
|
|
136
|
+
for (const row of originalRows) {
|
|
137
|
+
const fixedCells = Array.from(row.querySelectorAll('[data-fixed="start"]'));
|
|
138
|
+
const fixedRow = document.createElement('tr');
|
|
139
|
+
for (const cell of fixedCells) {
|
|
140
|
+
const clonedCell = cell.cloneNode(true);
|
|
141
|
+
fixedRow.appendChild(clonedCell);
|
|
142
|
+
}
|
|
143
|
+
fixedColumnTable.appendChild(fixedRow);
|
|
144
|
+
}
|
|
145
|
+
const scrollTop = this.getHostElement().querySelector('.cdk-virtual-scrollable').scrollTop;
|
|
146
|
+
fixedColumnTable.style.transform = `translateY(${-scrollTop}px)`;
|
|
147
|
+
}
|
|
148
|
+
render() {
|
|
149
|
+
this.viewport.checkViewportSize();
|
|
150
|
+
this.viewport.scrollToIndex(this.lastIndex);
|
|
151
|
+
this.cdr.markForCheck();
|
|
152
|
+
}
|
|
153
|
+
refresh() {
|
|
154
|
+
this.lastIndex = 0;
|
|
155
|
+
this.listDataSource.refresh();
|
|
156
|
+
}
|
|
157
|
+
handleRowClick(event, item) {
|
|
158
|
+
this.handleRowSingleClick(event, item);
|
|
159
|
+
this.clickSubject.next({ event, item });
|
|
160
|
+
}
|
|
161
|
+
handleRowSingleClick(event, item) {
|
|
162
|
+
if (this.focusedRow == item) {
|
|
163
|
+
this.focusedRow = null;
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
this.focusedRow = item;
|
|
167
|
+
}
|
|
168
|
+
//
|
|
169
|
+
this.onRowClick.emit({
|
|
170
|
+
component: this,
|
|
171
|
+
data: item,
|
|
172
|
+
isUserInteraction: true,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
handleRowDoubleClick(e, item) {
|
|
176
|
+
this.focusedRow = item;
|
|
177
|
+
//
|
|
178
|
+
this.onRowDbClick.emit({
|
|
179
|
+
component: this,
|
|
180
|
+
data: item,
|
|
181
|
+
isUserInteraction: true,
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
handleColumnClick(e, column) {
|
|
185
|
+
if (column instanceof AXDataTableTextColumnComponent) {
|
|
186
|
+
const sort = this.dataSource.query.sort.find((c) => c.field == column.dataField);
|
|
187
|
+
if (!sort) {
|
|
188
|
+
this.dataSource.query.sort.push({
|
|
189
|
+
field: column.dataField,
|
|
190
|
+
dir: 'asc',
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
if (sort.dir == 'asc') {
|
|
195
|
+
sort.dir = 'desc';
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
this.dataSource.query.sort = this.dataSource.query.sort.filter((c) => c != sort);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
this.refresh();
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
getSort(column) {
|
|
205
|
+
if (column instanceof AXDataTableTextColumnComponent) {
|
|
206
|
+
const sort = this.dataSource.query.sort.find((c) => c.field == column.dataField);
|
|
207
|
+
return sort ? (sort.dir == 'asc' ? 'ax-icon-arrow-long-down' : 'ax-icon-arrow-long-up') : undefined;
|
|
208
|
+
}
|
|
209
|
+
return undefined;
|
|
210
|
+
}
|
|
211
|
+
_handleOnScroll() {
|
|
212
|
+
this.updateHScroll();
|
|
213
|
+
}
|
|
214
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXInfiniteScrollDataTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
215
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.2", type: AXInfiniteScrollDataTableComponent, selector: "ax-infinite-scroll-data-table", inputs: { dataSource: "dataSource", rowTemplate: "rowTemplate", emptyTemplate: "emptyTemplate", showHeader: "showHeader", fetchDataMode: "fetchDataMode", loading: "loading", focusedRow: "focusedRow", itemHeight: "itemHeight" }, outputs: { onPageChanged: "onPageChanged", onRowClick: "onRowClick", onRowDbClick: "onRowDbClick", focusedRowChange: "focusedRowChange", onScrolledIndexChanged: "onScrolledIndexChanged" }, providers: [
|
|
216
|
+
{ provide: AXPagedComponent, useExisting: AXInfiniteScrollDataTableComponent },
|
|
217
|
+
{
|
|
218
|
+
provide: AXBaseDataTable,
|
|
219
|
+
useExisting: AXInfiniteScrollDataTableComponent,
|
|
220
|
+
},
|
|
221
|
+
], queries: [{ propertyName: "columns", predicate: AXDataTableColumnComponent }], viewQueries: [{ propertyName: "viewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true, static: true }, { propertyName: "headerContainer", first: true, predicate: ["headerContainer"], descendants: true }, { propertyName: "footerContainer", first: true, predicate: ["footerContainer"], descendants: true }, { propertyName: "scrollableContainer", first: true, predicate: ["scrolling"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\"> </ng-content>\n<!------------------- Header contents ------------------->\n@if (showHeader) {\n <div class=\"ax-header-content\">\n <div class=\"ax-header-columns\">\n <table tabindex=\"0\" [style.width]=\"width\" #headerContainer>\n <thead>\n <tr>\n @for (c of notFixedColumn(); track c.name) {\n <th\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [style.width]=\"c.width\"\n >\n @if (c.headerTemplate) {\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n } @else {\n <div class=\"ax-caption\">\n {{ c.caption }}\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n }\n <!-- @if(c.allowResizing)\n {\n <div class=\"ax-resize-handle\" [ax-table-column-resizble]=\"c\"></div>\n } -->\n </th>\n }\n <th></th>\n </tr>\n </thead>\n </table>\n </div>\n </div>\n}\n\n<!------------------- Body contents ------------------->\n<div [style.height]=\"height\" class=\"ax-body-content\">\n <div class=\"ax-body-columns\">\n <div cdkVirtualScrollingElement #scrolling [style.height]=\"'100%'\" (scroll)=\"_handleOnScroll()\">\n <cdk-virtual-scroll-viewport\n [itemSize]=\"itemHeight\"\n [style.--item-height]=\"itemHeight + 'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\"\n >\n <table tabindex=\"0\" class=\"ax-table-body ax-relative\" [style.width]=\"width\">\n <colgroup>\n @for (c of notFixedColumn(); track c.name) {\n <col [style.width]=\"c.width\" />\n }\n <col />\n </colgroup>\n <tbody>\n <ng-container\n *cdkVirtualFor=\"let item of listDataSource; templateCacheSize: 100; let i = index; trackBy: trackByIdx; let rIndex = index\"\n >\n <!------------------- custom row template------------------->\n @if (rowTemplate != null) {\n <ng-container *ngTemplateOutlet=\"rowTemplate; context: { $implicit: { data: item, rowIndex: rIndex } }\"> </ng-container>\n } @else {\n <!------------------- normal row template------------------->\n <tr\n [class.ax-state-focused]=\"focusedRow && item === focusedRow\"\n [attr.data-index]=\"rIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(item)\"\n (click)=\"handleRowClick($event, item)\"\n >\n <!------------------- start fixed column ------------------->\n\n <!------------------- Not fixed column ------------------->\n @for (c of notFixedColumn(); track c.name) {\n <!------------------- custom cell template ------------------->\n @if (c.cellTemplate) {\n <ng-container *ngTemplateOutlet=\"c.cellTemplate; context: { $implicit: { data: item, rowIndex: rIndex } }\">\n </ng-container>\n } @else {\n <!------------------- default cell template ------------------->\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\">\n @if (item && !isLoading()) {\n <!------------------- render cell ------------------->\n <ng-container\n *ngTemplateOutlet=\"c.template; context: { $implicit: { data: item, rowIndex: rIndex } }\"\n ></ng-container>\n } @else {\n <!------------------- render loading ------------------->\n @if (c.loadingEnabled && loading) {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n </td>\n }\n }\n <td></td>\n </tr>\n }\n </ng-container>\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n</div>\n<div class=\"ax-table-footer\" #footerContainer>\n <div class=\"ax-table-info\">\n <div>Showing {{ startRowIndex }} of {{ totalRows }} items</div>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh()\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </div>\n <ng-content select=\"ax-footer\"> </ng-content>\n</div>\n", styles: [".ax-dark ax-infinite-scroll-data-table .ax-header-content th.ax-interactive:hover{background-color:rgba(var(--ax-color-neutral-500))!important}.ax-dark ax-infinite-scroll-data-table .ax-body-content tr:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-800))!important;color:rgba(var(--ax-color-primary-fore))!important}.ax-dark ax-infinite-scroll-data-table .ax-body-content tr.ax-state-focused td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-900))!important;color:rgba(var(--ax-color-primary-fore))!important}.ax-dark ax-infinite-scroll-data-table .ax-body-content tr.ax-state-focused:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-800))!important}.ax-dark ax-infinite-scroll-data-table .ax-body-content tr.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-900))!important;color:rgba(var(--ax-color-primary-fore))!important}.ax-dark ax-infinite-scroll-data-table .ax-body-content tr.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-800))!important}ax-infinite-scroll-data-table{display:block;height:100%;overflow:hidden;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));font-size:.875rem;line-height:1.25rem}ax-infinite-scroll-data-table table{table-layout:fixed}ax-infinite-scroll-data-table .ax-header-content{position:relative;height:3rem;overflow:hidden}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns th.ax-column-fixed{pointer-events:auto}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns th:not(.ax-column-fixed){visibility:hidden;background-color:transparent}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns{height:100%}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table{height:100%;overflow:hidden;border-start-end-radius:var(--ax-rounded-border-default);border-start-start-radius:var(--ax-rounded-border-default)}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-on-surface));padding:.75rem 1rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th.ax-interactive{cursor:pointer}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th.ax-interactive:hover{background-color:rgba(var(--ax-color-neutral-200))}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-resize-handle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-resize-handle:hover{background-color:rgba(var(--ax-color-neutral-300))}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th:last-child{border-inline-end-width:0px}ax-infinite-scroll-data-table .ax-body-content{position:relative}ax-infinite-scroll-data-table .ax-body-content .ax-body-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns{height:100%}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table{border-collapse:collapse}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:nth-child(2n) td{background-color:rgba(var(--ax-color-on-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:nth-child(2n) ax-skeleton{width:25%}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr{height:2.5rem}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-200))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-200));color:rgba(var(--ax-color-primary-fore-tint))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-300))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-300));color:rgba(var(--ax-color-primary-fore-tint))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-400));color:rgba(var(--ax-color-primary-fore))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface));padding:.5rem 1rem;vertical-align:middle}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-color-on-surface));text-align:center}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-rounded-border-default);border-style:none;border-color:rgba(var(--ax-color-border-default));background-color:transparent;padding:.25rem;line-height:1;color:rgba(var(--ax-color-ghost-fore))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover:not(ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-selected,ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-disabled){opacity:.75}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:active{opacity:1}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td:last-child{border-inline-end-width:0px}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem}ax-infinite-scroll-data-table .ax-table-footer{border-collapse:collapse;overflow:hidden;border-top-width:1px;border-color:rgba(var(--ax-color-border-default));padding:.5rem .875rem}ax-infinite-scroll-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i2.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i2.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i2.CdkVirtualScrollableElement, selector: "[cdkVirtualScrollingElement]" }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: i5.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
222
|
+
}
|
|
223
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXInfiniteScrollDataTableComponent, decorators: [{
|
|
224
|
+
type: Component,
|
|
225
|
+
args: [{ selector: 'ax-infinite-scroll-data-table', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
226
|
+
{ provide: AXPagedComponent, useExisting: AXInfiniteScrollDataTableComponent },
|
|
227
|
+
{
|
|
228
|
+
provide: AXBaseDataTable,
|
|
229
|
+
useExisting: AXInfiniteScrollDataTableComponent,
|
|
230
|
+
},
|
|
231
|
+
], inputs: ['dataSource'], template: "<ng-content select=\"ax-header\"> </ng-content>\n<!------------------- Header contents ------------------->\n@if (showHeader) {\n <div class=\"ax-header-content\">\n <div class=\"ax-header-columns\">\n <table tabindex=\"0\" [style.width]=\"width\" #headerContainer>\n <thead>\n <tr>\n @for (c of notFixedColumn(); track c.name) {\n <th\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [style.width]=\"c.width\"\n >\n @if (c.headerTemplate) {\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n } @else {\n <div class=\"ax-caption\">\n {{ c.caption }}\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n }\n <!-- @if(c.allowResizing)\n {\n <div class=\"ax-resize-handle\" [ax-table-column-resizble]=\"c\"></div>\n } -->\n </th>\n }\n <th></th>\n </tr>\n </thead>\n </table>\n </div>\n </div>\n}\n\n<!------------------- Body contents ------------------->\n<div [style.height]=\"height\" class=\"ax-body-content\">\n <div class=\"ax-body-columns\">\n <div cdkVirtualScrollingElement #scrolling [style.height]=\"'100%'\" (scroll)=\"_handleOnScroll()\">\n <cdk-virtual-scroll-viewport\n [itemSize]=\"itemHeight\"\n [style.--item-height]=\"itemHeight + 'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\"\n >\n <table tabindex=\"0\" class=\"ax-table-body ax-relative\" [style.width]=\"width\">\n <colgroup>\n @for (c of notFixedColumn(); track c.name) {\n <col [style.width]=\"c.width\" />\n }\n <col />\n </colgroup>\n <tbody>\n <ng-container\n *cdkVirtualFor=\"let item of listDataSource; templateCacheSize: 100; let i = index; trackBy: trackByIdx; let rIndex = index\"\n >\n <!------------------- custom row template------------------->\n @if (rowTemplate != null) {\n <ng-container *ngTemplateOutlet=\"rowTemplate; context: { $implicit: { data: item, rowIndex: rIndex } }\"> </ng-container>\n } @else {\n <!------------------- normal row template------------------->\n <tr\n [class.ax-state-focused]=\"focusedRow && item === focusedRow\"\n [attr.data-index]=\"rIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(item)\"\n (click)=\"handleRowClick($event, item)\"\n >\n <!------------------- start fixed column ------------------->\n\n <!------------------- Not fixed column ------------------->\n @for (c of notFixedColumn(); track c.name) {\n <!------------------- custom cell template ------------------->\n @if (c.cellTemplate) {\n <ng-container *ngTemplateOutlet=\"c.cellTemplate; context: { $implicit: { data: item, rowIndex: rIndex } }\">\n </ng-container>\n } @else {\n <!------------------- default cell template ------------------->\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\">\n @if (item && !isLoading()) {\n <!------------------- render cell ------------------->\n <ng-container\n *ngTemplateOutlet=\"c.template; context: { $implicit: { data: item, rowIndex: rIndex } }\"\n ></ng-container>\n } @else {\n <!------------------- render loading ------------------->\n @if (c.loadingEnabled && loading) {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n </td>\n }\n }\n <td></td>\n </tr>\n }\n </ng-container>\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n</div>\n<div class=\"ax-table-footer\" #footerContainer>\n <div class=\"ax-table-info\">\n <div>Showing {{ startRowIndex }} of {{ totalRows }} items</div>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh()\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </div>\n <ng-content select=\"ax-footer\"> </ng-content>\n</div>\n", styles: [".ax-dark ax-infinite-scroll-data-table .ax-header-content th.ax-interactive:hover{background-color:rgba(var(--ax-color-neutral-500))!important}.ax-dark ax-infinite-scroll-data-table .ax-body-content tr:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-800))!important;color:rgba(var(--ax-color-primary-fore))!important}.ax-dark ax-infinite-scroll-data-table .ax-body-content tr.ax-state-focused td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-900))!important;color:rgba(var(--ax-color-primary-fore))!important}.ax-dark ax-infinite-scroll-data-table .ax-body-content tr.ax-state-focused:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-800))!important}.ax-dark ax-infinite-scroll-data-table .ax-body-content tr.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-900))!important;color:rgba(var(--ax-color-primary-fore))!important}.ax-dark ax-infinite-scroll-data-table .ax-body-content tr.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-800))!important}ax-infinite-scroll-data-table{display:block;height:100%;overflow:hidden;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));font-size:.875rem;line-height:1.25rem}ax-infinite-scroll-data-table table{table-layout:fixed}ax-infinite-scroll-data-table .ax-header-content{position:relative;height:3rem;overflow:hidden}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns th.ax-column-fixed{pointer-events:auto}ax-infinite-scroll-data-table .ax-header-content .ax-header-fixed-columns th:not(.ax-column-fixed){visibility:hidden;background-color:transparent}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns{height:100%}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table{height:100%;overflow:hidden;border-start-end-radius:var(--ax-rounded-border-default);border-start-start-radius:var(--ax-rounded-border-default)}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-on-surface));padding:.75rem 1rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th.ax-interactive{cursor:pointer}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th.ax-interactive:hover{background-color:rgba(var(--ax-color-neutral-200))}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-resize-handle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-resize-handle:hover{background-color:rgba(var(--ax-color-neutral-300))}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-infinite-scroll-data-table .ax-header-content .ax-header-columns>table th:last-child{border-inline-end-width:0px}ax-infinite-scroll-data-table .ax-body-content{position:relative}ax-infinite-scroll-data-table .ax-body-content .ax-body-fixed-columns{pointer-events:none;position:absolute;z-index:10}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns{height:100%}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table{border-collapse:collapse}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:nth-child(2n) td{background-color:rgba(var(--ax-color-on-surface))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:nth-child(2n) ax-skeleton{width:25%}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr{height:2.5rem}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-200))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-200));color:rgba(var(--ax-color-primary-fore-tint))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-focused:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-300))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-300));color:rgba(var(--ax-color-primary-fore-tint))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table tr.ax-state-selected:hover td:not(.ax-index-column){background-color:rgba(var(--ax-color-primary-400));color:rgba(var(--ax-color-primary-fore))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface));padding:.5rem 1rem;vertical-align:middle}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-color-on-surface));text-align:center}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-rounded-border-default);border-style:none;border-color:rgba(var(--ax-color-border-default));background-color:transparent;padding:.25rem;line-height:1;color:rgba(var(--ax-color-ghost-fore))}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover:not(ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-selected,ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:hover.ax-state-disabled){opacity:.75}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button:active{opacity:1}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td.ax-command-column button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td:last-child{border-inline-end-width:0px}ax-infinite-scroll-data-table .ax-body-content .ax-body-columns table td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem}ax-infinite-scroll-data-table .ax-table-footer{border-collapse:collapse;overflow:hidden;border-top-width:1px;border-color:rgba(var(--ax-color-border-default));padding:.5rem .875rem}ax-infinite-scroll-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}\n"] }]
|
|
232
|
+
}], propDecorators: { columns: [{
|
|
233
|
+
type: ContentChildren,
|
|
234
|
+
args: [AXDataTableColumnComponent]
|
|
235
|
+
}], onPageChanged: [{
|
|
236
|
+
type: Output
|
|
237
|
+
}], onRowClick: [{
|
|
238
|
+
type: Output
|
|
239
|
+
}], onRowDbClick: [{
|
|
240
|
+
type: Output
|
|
241
|
+
}], rowTemplate: [{
|
|
242
|
+
type: Input
|
|
243
|
+
}], emptyTemplate: [{
|
|
244
|
+
type: Input
|
|
245
|
+
}], showHeader: [{
|
|
246
|
+
type: Input
|
|
247
|
+
}], fetchDataMode: [{
|
|
248
|
+
type: Input
|
|
249
|
+
}], loading: [{
|
|
250
|
+
type: Input
|
|
251
|
+
}], focusedRowChange: [{
|
|
252
|
+
type: Output
|
|
253
|
+
}], focusedRow: [{
|
|
254
|
+
type: Input
|
|
255
|
+
}], itemHeight: [{
|
|
256
|
+
type: Input
|
|
257
|
+
}], viewport: [{
|
|
258
|
+
type: ViewChild,
|
|
259
|
+
args: [CdkVirtualScrollViewport, { static: true }]
|
|
260
|
+
}], onScrolledIndexChanged: [{
|
|
261
|
+
type: Output
|
|
262
|
+
}], headerContainer: [{
|
|
263
|
+
type: ViewChild,
|
|
264
|
+
args: ['headerContainer']
|
|
265
|
+
}], footerContainer: [{
|
|
266
|
+
type: ViewChild,
|
|
267
|
+
args: ['footerContainer']
|
|
268
|
+
}], scrollableContainer: [{
|
|
269
|
+
type: ViewChild,
|
|
270
|
+
args: ['scrolling', { static: true }]
|
|
271
|
+
}] } });
|
|
272
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdGUtc2Nyb2xsLWRhdGEtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtdGFibGUvc3JjL2xpYi9pbmZpbml0ZS1zY3JvbGwtZGF0YS10YWJsZS9pbmZpbml0ZS1zY3JvbGwtZGF0YS10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS10YWJsZS9zcmMvbGliL2luZmluaXRlLXNjcm9sbC1kYXRhLXRhYmxlL2luZmluaXRlLXNjcm9sbC1kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBdUIsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBRWYsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLE1BQU0sRUFDTixTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsRUFFakIsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLEdBQUcsTUFBTSxlQUFlLENBQUM7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUE2RSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RJLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7O0FBaUJ2RixNQUFNLE9B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IEFYTGlzdERhdGFTb3VyY2UsIEFYUGFnZWRDb21wb25lbnQsIEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRG9DaGVjayxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgV3JpdGFibGVTaWduYWwsXG4gIGluamVjdCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgc3VtIGZyb20gJ2xvZGFzaC1lcy9zdW0nO1xuaW1wb3J0IHsgU3ViamVjdCwgYnVmZmVyLCBkZWJvdW5jZVRpbWUsIGZpbHRlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhCYXNlRGF0YVRhYmxlLCBBWERhdGFUYWJsZVJvd0NsaWNrLCBBWERhdGFUYWJsZVJvd0RiQ2xpY2ssIEFYRGF0YVRhYmxlU2Nyb2xsSW5kZXhDaGFuZ2VkIH0gZnJvbSAnLi4vYmFzZS1kYXRhLXRhYmxlLmNsYXNzJztcbmltcG9ydCB7IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi4vY29sdW1ucy9kYXRhLXRhYmxlLWNvbHVtbic7XG5pbXBvcnQgeyBBWERhdGFUYWJsZVRleHRDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuLi9jb2x1bW5zL2RhdGEtdGV4dC1jb2x1bW4uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtaW5maW5pdGUtc2Nyb2xsLWRhdGEtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5maW5pdGUtc2Nyb2xsLWRhdGEtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbmZpbml0ZS1zY3JvbGwtZGF0YS10YWJsZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWFBhZ2VkQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhJbmZpbml0ZVNjcm9sbERhdGFUYWJsZUNvbXBvbmVudCB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYQmFzZURhdGFUYWJsZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWEluZmluaXRlU2Nyb2xsRGF0YVRhYmxlQ29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG4gIGlucHV0czogWydkYXRhU291cmNlJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFYSW5maW5pdGVTY3JvbGxEYXRhVGFibGVDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VEYXRhVGFibGUgaW1wbGVtZW50cyBPbkluaXQsIERvQ2hlY2sge1xuICBwcml2YXRlIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQpXG4gIHByb3RlY3RlZCBjb2x1bW5zOiBRdWVyeUxpc3Q8QVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQ+O1xuXG4gIHByb3RlY3RlZCBzdGFydEZpeGVkQ29sdW1uKCk6IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50W10ge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbnM/LnRvQXJyYXkoKS5maWx0ZXIoKGMpID0+IGMuZml4ZWQgPT0gJ3N0YXJ0JykgPz8gW107XG4gIH1cblxuICBwcm90ZWN0ZWQgZW5kRml4ZWRDb2x1bW4oKTogQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucz8udG9BcnJheSgpLmZpbHRlcigoYykgPT4gYy5maXhlZCA9PSAnZW5kJykgPz8gW107XG4gIH1cblxuICBwcm90ZWN0ZWQgbm90Rml4ZWRDb2x1bW4oKTogQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucz8udG9BcnJheSgpLmZpbHRlcigoYykgPT4gIWMuZml4ZWQpID8/IFtdO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5vdEZpeGVkQ29sdW1uQ291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5zPy50b0FycmF5KCkuZmlsdGVyKChjKSA9PiAhYy5maXhlZCkubGVuZ3RoID8/IDA7XG4gIH1cblxuICBwcm90ZWN0ZWQgZml4ZWRDb2x1bW5Db3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbnM/LnRvQXJyYXkoKS5maWx0ZXIoKGMpID0+IGMuZml4ZWQpLmxlbmd0aCA/PyAwO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIG9uUGFnZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFZhbHVlQ2hhbmdlZEV2ZW50PG51bWJlcj4+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFZhbHVlQ2hhbmdlZEV2ZW50PG51bWJlcj4+KCk7XG5cbiAgcHJpdmF0ZSBjbGlja1N1YmplY3QgPSBuZXcgU3ViamVjdDx7IGV2ZW50OiBNb3VzZUV2ZW50OyBpdGVtOiBhbnkgfT4oKTtcblxuICBAT3V0cHV0KClcbiAgb25Sb3dDbGljazogRXZlbnRFbWl0dGVyPEFYRGF0YVRhYmxlUm93Q2xpY2s+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWERhdGFUYWJsZVJvd0NsaWNrPigpO1xuXG4gIEBPdXRwdXQoKVxuICBvblJvd0RiQ2xpY2s6IEV2ZW50RW1pdHRlcjxBWERhdGFUYWJsZVJvd0RiQ2xpY2s+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWERhdGFUYWJsZVJvd0RiQ2xpY2s+KCk7XG5cbiAgQElucHV0KClcbiAgcm93VGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKVxuICBlbXB0eVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KClcbiAgc2hvd0hlYWRlciA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgZmV0Y2hEYXRhTW9kZTogJ2F1dG8nIHwgJ21hbnVhbCcgPSAnYXV0byc7XG5cbiAgQElucHV0KClcbiAgbG9hZGluZzoge1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgYW5pbWF0aW9uOiBib29sZWFuO1xuICAgIGxvYWRpbmdUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICB9ID0ge1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgYW5pbWF0aW9uOiB0cnVlLFxuICB9O1xuXG4gIHByb3RlY3RlZCBsaXN0RGF0YVNvdXJjZTogQVhMaXN0RGF0YVNvdXJjZTx1bmtub3duPjtcbiAgcHJvdGVjdGVkIGlzTG9hZGluZzogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwodHJ1ZSk7XG4gIHByb3RlY3RlZCBoYXNJdGVtcyA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgdG90YWxSb3dzID0gMDtcbiAgcHJvdGVjdGVkIGN1cnJlbnRQYWdlID0gMDtcbiAgcHJvdGVjdGVkIHRvdGFsUGFnZXMgPSAwO1xuICBwcm90ZWN0ZWQgc3RhcnRSb3dJbmRleCA9IDA7XG4gIHByaXZhdGUgbGFzdEluZGV4ID0gMDtcblxuICBAT3V0cHV0KClcbiAgZm9jdXNlZFJvd0NoYW5nZTogRXZlbnRFbWl0dGVyPHVua25vd24+ID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xuXG4gIHByaXZhdGUgX2ZvY3VzZWRSb3c6IHVua25vd247XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgZm9jdXNlZFJvdygpOiB1bmtub3duIHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNlZFJvdztcbiAgfVxuICBwdWJsaWMgc2V0IGZvY3VzZWRSb3codjogdW5rbm93bikge1xuICAgIHRoaXMuX2ZvY3VzZWRSb3cgPSB2O1xuICAgIHRoaXMuZm9jdXNlZFJvd0NoYW5nZS5lbWl0KHYpO1xuICB9XG5cbiAgQElucHV0KClcbiAgaXRlbUhlaWdodDogbnVtYmVyIHwgJ2F1dG8nID0gNDA7XG5cbiAgcHJvdGVjdGVkIHdpZHRoID0gJzEwMCUnO1xuICBwcm90ZWN0ZWQgaGVpZ2h0ID0gJzEwMCUnO1xuXG4gIEBWaWV3Q2hpbGQoQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcml2YXRlIHZpZXdwb3J0OiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XG5cbiAgQE91dHB1dCgpXG4gIG9uU2Nyb2xsZWRJbmRleENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWERhdGFUYWJsZVNjcm9sbEluZGV4Q2hhbmdlZD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRGF0YVRhYmxlU2Nyb2xsSW5kZXhDaGFuZ2VkPigpO1xuXG4gIHRyYWNrQnlJZHgoaSkge1xuICAgIHJldHVybiBpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB0aGlzLmxpc3REYXRhU291cmNlID0gbmV3IEFYTGlzdERhdGFTb3VyY2U8dW5rbm93bj4oe1xuICAgICAgc291cmNlOiB0aGlzLmRhdGFTb3VyY2UsXG4gICAgfSk7XG4gICAgdGhpcy5saXN0RGF0YVNvdXJjZS5zb3VyY2Uub25Mb2FkaW5nQ2hhbmdlZC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChkYXRhKTtcbiAgICB9KTtcbiAgICB0aGlzLmxpc3REYXRhU291cmNlLnNvdXJjZS5vbkNoYW5nZWQuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLnRvdGFsUm93cyA9IGRhdGEudG90YWxDb3VudDtcbiAgICAgIHRoaXMuaGFzSXRlbXMgPSBkYXRhLnRvdGFsQ291bnQgPiAwO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyKCk7XG4gICAgICB9LCAxMDApO1xuICAgIH0pO1xuXG4gICAgLy9cbiAgICB0aGlzLmNsaWNrU3ViamVjdFxuICAgICAgLnBpcGUoXG4gICAgICAgIGJ1ZmZlcih0aGlzLmNsaWNrU3ViamVjdC5waXBlKGRlYm91bmNlVGltZSgyNTApKSksXG4gICAgICAgIGZpbHRlcigoY2xpY2tBcnJheSkgPT4gY2xpY2tBcnJheS5sZW5ndGggPT09IDIpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoY2xpY2tBcnJheSkgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZVJvd0RvdWJsZUNsaWNrKGNsaWNrQXJyYXlbMF0uZXZlbnQsIGNsaWNrQXJyYXlbMF0uaXRlbSk7XG4gICAgICB9KTtcbiAgfVxuICBAVmlld0NoaWxkKCdoZWFkZXJDb250YWluZXInKSBoZWFkZXJDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdmb290ZXJDb250YWluZXInKSBmb290ZXJDb250YWluZXI6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3Njcm9sbGluZycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHNjcm9sbGFibGVDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIHByb3RlY3RlZCBfaGFuZGxlT25zY3JvbGxlZEluZGV4Q2hhbmdlKGU6IG51bWJlcikge1xuICAgIHRoaXMubGFzdEluZGV4ID0gZTtcbiAgICB0aGlzLm9uU2Nyb2xsZWRJbmRleENoYW5nZWQuZW1pdCh7XG4gICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICBpbmRleDogdGhpcy5sYXN0SW5kZXgsXG4gICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIG5nRG9DaGVjaygpIHtcbiAgICAvL3RoaXMuY29weUZpeGVkQ29sdW1ucygpO1xuICAgIHRoaXMudXBkYXRlSFNjcm9sbCgpO1xuICAgIC8vXG4gICAgdGhpcy51cGRhdGVXaWR0aCgpO1xuICAgIHRoaXMudXBkYXRlSGVpZ2h0KCk7XG4gICAgLy9cbiAgICB0aGlzLnVwZGF0ZVRvdGFsQ291bnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVG90YWxDb3VudCgpIHtcbiAgICB0aGlzLnN0YXJ0Um93SW5kZXggPSB0aGlzLmxhc3RJbmRleDtcbiAgICBpZiAodGhpcy5zdGFydFJvd0luZGV4IDwgMSkgdGhpcy5zdGFydFJvd0luZGV4ID0gMTtcbiAgICBpZiAodGhpcy5zdGFydFJvd0luZGV4ID4gdGhpcy50b3RhbFJvd3MpIHRoaXMuc3RhcnRSb3dJbmRleCA9IHRoaXMudG90YWxSb3dzO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVIZWlnaHQoKSB7XG4gICAgdGhpcy5oZWlnaHQgPSBgY2FsYygxMDAlIC0gJHtcbiAgICAgICh0aGlzLmhlYWRlckNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgPz8gMCkgKyAodGhpcy5mb290ZXJDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0ID8/IDApXG4gICAgfXB4KWA7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVdpZHRoKCkge1xuICAgIGlmICh0aGlzLmNvbHVtbnMgJiYgdGhpcy5jb2x1bW5zLmxlbmd0aCkge1xuICAgICAgY29uc3Qgc3VtUHggPSBzdW0odGhpcy5jb2x1bW5zLnRvQXJyYXkoKS5tYXAoKGMpID0+ICh0eXBlb2YgYy53aWR0aCA9PSAnbnVtYmVyJyA/IGMud2lkdGggOiBOdW1iZXIoYy53aWR0aC5yZXBsYWNlKCdweCcsICcnKSkpKSk7XG4gICAgICB0aGlzLndpZHRoID0gYCR7TWF0aC5tYXgoc3VtUHgsIHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5jbGllbnRXaWR0aCAtIDUpfXB4YDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUhTY3JvbGwoKSB7XG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaGVhZGVyQ29udGFpbmVyKSB7XG4gICAgICAgIGNvbnN0IGhlYWRlckNvbnRhaW5lciA9IHRoaXMuaGVhZGVyQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGxlZnQgPSB0aGlzLnNjcm9sbGFibGVDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0O1xuICAgICAgICBoZWFkZXJDb250YWluZXIuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZVgoJHstbGVmdH1weClgO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy8gRnVuY3Rpb24gdG8gY29weSBmaXhlZCBjb2x1bW5zXG4gIHByaXZhdGUgY29weUZpeGVkQ29sdW1ucygpIHtcbiAgICBjb25zdCBvcmlnaW5hbFJvd3MgPSBBcnJheS5mcm9tKHRoaXMudmlld3BvcnQuX2NvbnRlbnRXcmFwcGVyLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgndHInKSk7XG4gICAgY29uc3QgZml4ZWRDb2x1bW5UYWJsZSA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxUYWJsZUVsZW1lbnQ+KCcuYXgtYm9keS1maXhlZC1jb2x1bW5zID4gdGFibGUgPiB0Ym9keScpO1xuICAgIGZpeGVkQ29sdW1uVGFibGUucXVlcnlTZWxlY3RvckFsbCgndHInKS5mb3JFYWNoKChuKSA9PiBuLnJlbW92ZSgpKTtcbiAgICBmb3IgKGNvbnN0IHJvdyBvZiBvcmlnaW5hbFJvd3MpIHtcbiAgICAgIGNvbnN0IGZpeGVkQ2VsbHMgPSBBcnJheS5mcm9tKHJvdy5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1maXhlZD1cInN0YXJ0XCJdJykpO1xuICAgICAgY29uc3QgZml4ZWRSb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpO1xuICAgICAgZm9yIChjb25zdCBjZWxsIG9mIGZpeGVkQ2VsbHMpIHtcbiAgICAgICAgY29uc3QgY2xvbmVkQ2VsbCA9IGNlbGwuY2xvbmVOb2RlKHRydWUpO1xuICAgICAgICBmaXhlZFJvdy5hcHBlbmRDaGlsZChjbG9uZWRDZWxsKTtcbiAgICAgIH1cbiAgICAgIGZpeGVkQ29sdW1uVGFibGUuYXBwZW5kQ2hpbGQoZml4ZWRSb3cpO1xuICAgIH1cbiAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcignLmNkay12aXJ0dWFsLXNjcm9sbGFibGUnKS5zY3JvbGxUb3A7XG4gICAgZml4ZWRDb2x1bW5UYWJsZS5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgkey1zY3JvbGxUb3B9cHgpYDtcbiAgfVxuXG4gIHB1YmxpYyByZW5kZXIoKSB7XG4gICAgdGhpcy52aWV3cG9ydC5jaGVja1ZpZXdwb3J0U2l6ZSgpO1xuICAgIHRoaXMudmlld3BvcnQuc2Nyb2xsVG9JbmRleCh0aGlzLmxhc3RJbmRleCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaCgpIHtcbiAgICB0aGlzLmxhc3RJbmRleCA9IDA7XG4gICAgdGhpcy5saXN0RGF0YVNvdXJjZS5yZWZyZXNoKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlUm93Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQsIGl0ZW06IHVua25vd24pIHtcbiAgICB0aGlzLmhhbmRsZVJvd1NpbmdsZUNsaWNrKGV2ZW50LCBpdGVtKTtcbiAgICB0aGlzLmNsaWNrU3ViamVjdC5uZXh0KHsgZXZlbnQsIGl0ZW0gfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVJvd1NpbmdsZUNsaWNrKGV2ZW50OiBFdmVudCwgaXRlbTogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9jdXNlZFJvdyA9PSBpdGVtKSB7XG4gICAgICB0aGlzLmZvY3VzZWRSb3cgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvY3VzZWRSb3cgPSBpdGVtO1xuICAgIH1cbiAgICAvL1xuICAgIHRoaXMub25Sb3dDbGljay5lbWl0KHtcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgIGRhdGE6IGl0ZW0sXG4gICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVSb3dEb3VibGVDbGljayhlOiBNb3VzZUV2ZW50LCBpdGVtOiB1bmtub3duKSB7XG4gICAgdGhpcy5mb2N1c2VkUm93ID0gaXRlbTtcbiAgICAvL1xuICAgIHRoaXMub25Sb3dEYkNsaWNrLmVtaXQoe1xuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgZGF0YTogaXRlbSxcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgaGFuZGxlQ29sdW1uQ2xpY2soZTogTW91c2VFdmVudCwgY29sdW1uOiBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCkge1xuICAgIGlmIChjb2x1bW4gaW5zdGFuY2VvZiBBWERhdGFUYWJsZVRleHRDb2x1bW5Db21wb25lbnQpIHtcbiAgICAgIGNvbnN0IHNvcnQgPSB0aGlzLmRhdGFTb3VyY2UucXVlcnkuc29ydC5maW5kKChjKSA9PiBjLmZpZWxkID09IGNvbHVtbi5kYXRhRmllbGQpO1xuICAgICAgaWYgKCFzb3J0KSB7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5xdWVyeS5zb3J0LnB1c2goe1xuICAgICAgICAgIGZpZWxkOiBjb2x1bW4uZGF0YUZpZWxkLFxuICAgICAgICAgIGRpcjogJ2FzYycsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHNvcnQuZGlyID09ICdhc2MnKSB7XG4gICAgICAgICAgc29ydC5kaXIgPSAnZGVzYyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLnF1ZXJ5LnNvcnQgPSB0aGlzLmRhdGFTb3VyY2UucXVlcnkuc29ydC5maWx0ZXIoKGMpID0+IGMgIT0gc29ydCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRTb3J0KGNvbHVtbjogQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmIChjb2x1bW4gaW5zdGFuY2VvZiBBWERhdGFUYWJsZVRleHRDb2x1bW5Db21wb25lbnQpIHtcbiAgICAgIGNvbnN0IHNvcnQgPSB0aGlzLmRhdGFTb3VyY2UucXVlcnkuc29ydC5maW5kKChjKSA9PiBjLmZpZWxkID09IGNvbHVtbi5kYXRhRmllbGQpO1xuICAgICAgcmV0dXJuIHNvcnQgPyAoc29ydC5kaXIgPT0gJ2FzYycgPyAnYXgtaWNvbi1hcnJvdy1sb25nLWRvd24nIDogJ2F4LWljb24tYXJyb3ctbG9uZy11cCcpIDogdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVPblNjcm9sbCgpIHtcbiAgICB0aGlzLnVwZGF0ZUhTY3JvbGwoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtaGVhZGVyXCI+IDwvbmctY29udGVudD5cbjwhLS0tLS0tLS0tLS0tLS0tLS0tLSBIZWFkZXIgY29udGVudHMgLS0tLS0tLS0tLS0tLS0tLS0tLT5cbkBpZiAoc2hvd0hlYWRlcikge1xuICA8ZGl2IGNsYXNzPVwiYXgtaGVhZGVyLWNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtaGVhZGVyLWNvbHVtbnNcIj5cbiAgICAgIDx0YWJsZSB0YWJpbmRleD1cIjBcIiBbc3R5bGUud2lkdGhdPVwid2lkdGhcIiAjaGVhZGVyQ29udGFpbmVyPlxuICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgQGZvciAoYyBvZiBub3RGaXhlZENvbHVtbigpOyB0cmFjayBjLm5hbWUpIHtcbiAgICAgICAgICAgICAgPHRoXG4gICAgICAgICAgICAgICAgW2NsYXNzLmF4LWludGVyYWN0aXZlXT1cImMuYWxsb3dTb3J0aW5nXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiYy5hbGxvd1NvcnRpbmcgPyBoYW5kbGVDb2x1bW5DbGljaygkZXZlbnQsIGMpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cImMud2lkdGhcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgQGlmIChjLmhlYWRlclRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYy5oZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAge3sgYy5jYXB0aW9uIH19XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoZ2V0U29ydChjKSkge1xuICAgICAgICAgICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJheC1pY29uIHt7IGdldFNvcnQoYykgfX1cIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8IS0tIEBpZihjLmFsbG93UmVzaXppbmcpXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXJlc2l6ZS1oYW5kbGVcIiBbYXgtdGFibGUtY29sdW1uLXJlc2l6YmxlXT1cImNcIj48L2Rpdj5cbiAgICAgICAgICAgICAgfSAtLT5cbiAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDx0aD48L3RoPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGhlYWQ+XG4gICAgICA8L3RhYmxlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbn1cblxuPCEtLS0tLS0tLS0tLS0tLS0tLS0tIEJvZHkgY29udGVudHMgLS0tLS0tLS0tLS0tLS0tLS0tLT5cbjxkaXYgW3N0eWxlLmhlaWdodF09XCJoZWlnaHRcIiBjbGFzcz1cImF4LWJvZHktY29udGVudFwiPlxuICA8ZGl2IGNsYXNzPVwiYXgtYm9keS1jb2x1bW5zXCI+XG4gICAgPGRpdiBjZGtWaXJ0dWFsU2Nyb2xsaW5nRWxlbWVudCAjc2Nyb2xsaW5nIFtzdHlsZS5oZWlnaHRdPVwiJzEwMCUnXCIgKHNjcm9sbCk9XCJfaGFuZGxlT25TY3JvbGwoKVwiPlxuICAgICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydFxuICAgICAgICBbaXRlbVNpemVdPVwiaXRlbUhlaWdodFwiXG4gICAgICAgIFtzdHlsZS4tLWl0ZW0taGVpZ2h0XT1cIml0ZW1IZWlnaHQgKyAncHgnXCJcbiAgICAgICAgKHNjcm9sbGVkSW5kZXhDaGFuZ2UpPVwiX2hhbmRsZU9uc2Nyb2xsZWRJbmRleENoYW5nZSgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPHRhYmxlIHRhYmluZGV4PVwiMFwiIGNsYXNzPVwiYXgtdGFibGUtYm9keSBheC1yZWxhdGl2ZVwiIFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiPlxuICAgICAgICAgIDxjb2xncm91cD5cbiAgICAgICAgICAgIEBmb3IgKGMgb2Ygbm90Rml4ZWRDb2x1bW4oKTsgdHJhY2sgYy5uYW1lKSB7XG4gICAgICAgICAgICAgIDxjb2wgW3N0eWxlLndpZHRoXT1cImMud2lkdGhcIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGNvbCAvPlxuICAgICAgICAgIDwvY29sZ3JvdXA+XG4gICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqY2RrVmlydHVhbEZvcj1cImxldCBpdGVtIG9mIGxpc3REYXRhU291cmNlOyB0ZW1wbGF0ZUNhY2hlU2l6ZTogMTAwOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5SWR4OyBsZXQgckluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8IS0tLS0tLS0tLS0tLS0tLS0tLS0gY3VzdG9tIHJvdyB0ZW1wbGF0ZS0tLS0tLS0tLS0tLS0tLS0tLS0+XG4gICAgICAgICAgICAgIEBpZiAocm93VGVtcGxhdGUgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3dUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IHsgZGF0YTogaXRlbSwgcm93SW5kZXg6IHJJbmRleCB9IH1cIj4gPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDwhLS0tLS0tLS0tLS0tLS0tLS0tLSBub3JtYWwgcm93IHRlbXBsYXRlLS0tLS0tLS0tLS0tLS0tLS0tLT5cbiAgICAgICAgICAgICAgICA8dHJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC1zdGF0ZS1mb2N1c2VkXT1cImZvY3VzZWRSb3cgJiYgaXRlbSA9PT0gZm9jdXNlZFJvd1wiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWluZGV4XT1cInJJbmRleFwiXG4gICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtc3RhdGUtc2VsZWN0ZWRdPVwic2VsZWN0ZWRSb3dzLmluY2x1ZGVzKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVSb3dDbGljaygkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8IS0tLS0tLS0tLS0tLS0tLS0tLS0gc3RhcnQgZml4ZWQgY29sdW1uIC0tLS0tLS0tLS0tLS0tLS0tLS0+XG5cbiAgICAgICAgICAgICAgICAgIDwhLS0tLS0tLS0tLS0tLS0tLS0tLSBOb3QgZml4ZWQgY29sdW1uIC0tLS0tLS0tLS0tLS0tLS0tLS0+XG4gICAgICAgICAgICAgICAgICBAZm9yIChjIG9mIG5vdEZpeGVkQ29sdW1uKCk7IHRyYWNrIGMubmFtZSkge1xuICAgICAgICAgICAgICAgICAgICA8IS0tLS0tLS0tLS0tLS0tLS0tLS0gY3VzdG9tIGNlbGwgdGVtcGxhdGUgLS0tLS0tLS0tLS0tLS0tLS0tLT5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChjLmNlbGxUZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjLmNlbGxUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IHsgZGF0YTogaXRlbSwgcm93SW5kZXg6IHJJbmRleCB9IH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgPCEtLS0tLS0tLS0tLS0tLS0tLS0tIGRlZmF1bHQgY2VsbCB0ZW1wbGF0ZSAtLS0tLS0tLS0tLS0tLS0tLS0tPlxuICAgICAgICAgICAgICAgICAgICAgIDx0ZCBbYXR0ci5kYXRhLWxhYmVsXT1cImMuY2FwdGlvblwiIHRhYmluZGV4PVwiMFwiIFtjbGFzc109XCJjLmNzc0NsYXNzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0gJiYgIWlzTG9hZGluZygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0tLS0tLS0tLS0tLS0tLS0tLSByZW5kZXIgY2VsbCAtLS0tLS0tLS0tLS0tLS0tLS0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjLnRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogeyBkYXRhOiBpdGVtLCByb3dJbmRleDogckluZGV4IH0gfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tLS0tLS0tLS0tLS0tLS0tLS0gcmVuZGVyIGxvYWRpbmcgLS0tLS0tLS0tLS0tLS0tLS0tLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChjLmxvYWRpbmdFbmFibGVkICYmIGxvYWRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtc2tlbGV0b24gW2FuaW1hdGVkXT1cImxvYWRpbmcuYW5pbWF0aW9uXCI+PC9heC1za2VsZXRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJheC10YWJsZS1mb290ZXJcIiAjZm9vdGVyQ29udGFpbmVyPlxuICA8ZGl2IGNsYXNzPVwiYXgtdGFibGUtaW5mb1wiPlxuICAgIDxkaXY+U2hvd2luZyB7eyBzdGFydFJvd0luZGV4IH19IG9mIHt7IHRvdGFsUm93cyB9fSBpdGVtczwvZGl2PlxuICAgIDxheC1idXR0b24gbG9vaz1cImJsYW5rXCIgY2xhc3M9XCJheC1zbVwiIChvbkNsaWNrKT1cInJlZnJlc2goKVwiPlxuICAgICAgPGF4LWljb24gaWNvbj1cImF4LWljb24gYXgtaWNvbi1yZWZyZXNoXCI+PC9heC1pY29uPlxuICAgIDwvYXgtYnV0dG9uPlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtZm9vdGVyXCI+IDwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|
|
@@ -137,7 +137,7 @@ export class AXOtpComponent extends classes((MXValueComponent), MXLookComponent)
|
|
|
137
137
|
useExisting: forwardRef(() => AXOtpComponent),
|
|
138
138
|
multi: true,
|
|
139
139
|
},
|
|
140
|
-
], usesInheritance: true, ngImport: i0, template: "<div dir=\"ltr\" class=\"ax-otp-input-container ax-editor-container ax-look-{{ look }}\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + inputs.length + ', minmax(0, 1fr))' }\"\n (paste)=\"_handleOnPaste($event)\">\n\n @for(input of inputs; let i = $index; track i){\n <input class=\"ax-input\" type=\"number\" [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-success]=\"state === 'success'\" [class.ax-state-error]=\"state === 'error'\" maxlength=\"1\"\n [ngModel]=\"_numbers[i]\" [disabled]=\"disabled\" [readonly]=\"readonly\" (click)=\"_handleOnClick(i)\"\n (input)=\"_handleOnInput($event, i)\" (keydown)=\"_handleOnKeyDown($event, i)\" [attr.disabled]=\"disabled\" />\n }\n</div>\n<ng-template #name></ng-template>", styles: ["ax-otp{display:block}ax-otp .ax-otp-input-container{display:grid;gap:.5rem}ax-otp .ax-otp-input-container.ax-editor-container{height:auto;border-style:none;outline-color:transparent;overflow:initial;background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container:focus-within,ax-otp .ax-otp-input-container.ax-editor-container:focus{border:none!important;box-shadow:none!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input{border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-input-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-color-primary-500));border-color:rgba(var(--ax-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error{border-color:rgba(var(--ax-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-color-danger-500));border-color:rgba(var(--ax-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error .ax-input::placeholder,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-color-
|
|
140
|
+
], usesInheritance: true, ngImport: i0, template: "<div dir=\"ltr\" class=\"ax-otp-input-container ax-editor-container ax-look-{{ look }}\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + inputs.length + ', minmax(0, 1fr))' }\"\n (paste)=\"_handleOnPaste($event)\">\n\n @for(input of inputs; let i = $index; track i){\n <input class=\"ax-input\" type=\"number\" [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-success]=\"state === 'success'\" [class.ax-state-error]=\"state === 'error'\" maxlength=\"1\"\n [ngModel]=\"_numbers[i]\" [disabled]=\"disabled\" [readonly]=\"readonly\" (click)=\"_handleOnClick(i)\"\n (input)=\"_handleOnInput($event, i)\" (keydown)=\"_handleOnKeyDown($event, i)\" [attr.disabled]=\"disabled\" />\n }\n</div>\n<ng-template #name></ng-template>", styles: ["ax-otp{display:block}ax-otp .ax-otp-input-container{display:grid;gap:.5rem}ax-otp .ax-otp-input-container.ax-editor-container{height:auto;border-style:none;outline-color:transparent;overflow:initial;background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container:focus-within,ax-otp .ax-otp-input-container.ax-editor-container:focus{border:none!important;box-shadow:none!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input{border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-input-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-color-primary-500));border-color:rgba(var(--ax-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error{border-color:rgba(var(--ax-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-color-danger-500));border-color:rgba(var(--ax-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error .ax-input::placeholder,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input{border-radius:0;border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input:focus-within{border-color:rgba(var(--ax-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input.ax-state-error{border-color:rgba(var(--ax-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input{background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input{border-radius:var(--ax-rounded-border-default);background-color:rgba(var(--ax-color-on-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input.ax-state-error{background-color:rgba(var(--ax-color-danger-50));color:rgba(var(--ax-color-danger-fore-tint))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container .ax-input{aspect-ratio:1/1;overflow:hidden;text-align:center;font-size:var(--font-size, 2rem)}ax-otp .ax-otp-input-container.ax-editor-container .ax-input:read-only{cursor:text;opacity:.75}ax-otp .ax-otp-input-container.ax-editor-container .ax-input:disabled{cursor:not-allowed;opacity:.5}ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]{-moz-appearance:textfield}ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-inner-spin-button,ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
141
141
|
}
|
|
142
142
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXOtpComponent, decorators: [{
|
|
143
143
|
type: Component,
|
|
@@ -147,7 +147,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
|
|
|
147
147
|
useExisting: forwardRef(() => AXOtpComponent),
|
|
148
148
|
multi: true,
|
|
149
149
|
},
|
|
150
|
-
], template: "<div dir=\"ltr\" class=\"ax-otp-input-container ax-editor-container ax-look-{{ look }}\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + inputs.length + ', minmax(0, 1fr))' }\"\n (paste)=\"_handleOnPaste($event)\">\n\n @for(input of inputs; let i = $index; track i){\n <input class=\"ax-input\" type=\"number\" [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-success]=\"state === 'success'\" [class.ax-state-error]=\"state === 'error'\" maxlength=\"1\"\n [ngModel]=\"_numbers[i]\" [disabled]=\"disabled\" [readonly]=\"readonly\" (click)=\"_handleOnClick(i)\"\n (input)=\"_handleOnInput($event, i)\" (keydown)=\"_handleOnKeyDown($event, i)\" [attr.disabled]=\"disabled\" />\n }\n</div>\n<ng-template #name></ng-template>", styles: ["ax-otp{display:block}ax-otp .ax-otp-input-container{display:grid;gap:.5rem}ax-otp .ax-otp-input-container.ax-editor-container{height:auto;border-style:none;outline-color:transparent;overflow:initial;background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container:focus-within,ax-otp .ax-otp-input-container.ax-editor-container:focus{border:none!important;box-shadow:none!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input{border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-input-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-color-primary-500));border-color:rgba(var(--ax-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error{border-color:rgba(var(--ax-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-color-danger-500));border-color:rgba(var(--ax-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error .ax-input::placeholder,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-color-
|
|
150
|
+
], template: "<div dir=\"ltr\" class=\"ax-otp-input-container ax-editor-container ax-look-{{ look }}\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + inputs.length + ', minmax(0, 1fr))' }\"\n (paste)=\"_handleOnPaste($event)\">\n\n @for(input of inputs; let i = $index; track i){\n <input class=\"ax-input\" type=\"number\" [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-success]=\"state === 'success'\" [class.ax-state-error]=\"state === 'error'\" maxlength=\"1\"\n [ngModel]=\"_numbers[i]\" [disabled]=\"disabled\" [readonly]=\"readonly\" (click)=\"_handleOnClick(i)\"\n (input)=\"_handleOnInput($event, i)\" (keydown)=\"_handleOnKeyDown($event, i)\" [attr.disabled]=\"disabled\" />\n }\n</div>\n<ng-template #name></ng-template>", styles: ["ax-otp{display:block}ax-otp .ax-otp-input-container{display:grid;gap:.5rem}ax-otp .ax-otp-input-container.ax-editor-container{height:auto;border-style:none;outline-color:transparent;overflow:initial;background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container:focus-within,ax-otp .ax-otp-input-container.ax-editor-container:focus{border:none!important;box-shadow:none!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input{border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-input-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-color-primary-500));border-color:rgba(var(--ax-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error{border-color:rgba(var(--ax-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-color-danger-500));border-color:rgba(var(--ax-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error .ax-input::placeholder,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input{border-radius:0;border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input:focus-within{border-color:rgba(var(--ax-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input.ax-state-error{border-color:rgba(var(--ax-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input{background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input{border-radius:var(--ax-rounded-border-default);background-color:rgba(var(--ax-color-on-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input.ax-state-error{background-color:rgba(var(--ax-color-danger-50));color:rgba(var(--ax-color-danger-fore-tint))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container .ax-input{aspect-ratio:1/1;overflow:hidden;text-align:center;font-size:var(--font-size, 2rem)}ax-otp .ax-otp-input-container.ax-editor-container .ax-input:read-only{cursor:text;opacity:.75}ax-otp .ax-otp-input-container.ax-editor-container .ax-input:disabled{cursor:not-allowed;opacity:.5}ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]{-moz-appearance:textfield}ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-inner-spin-button,ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}\n"] }]
|
|
151
151
|
}], propDecorators: { lengthChange: [{
|
|
152
152
|
type: Output
|
|
153
153
|
}], length: [{
|