@libs-ui/components-table 0.1.1-1
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/README.md +131 -0
- package/esm2022/index.mjs +3 -0
- package/esm2022/interfaces/button-action-event.interface.mjs +3 -0
- package/esm2022/interfaces/button-bar-event.interface.mjs +3 -0
- package/esm2022/interfaces/function-control-event.interface.mjs +2 -0
- package/esm2022/interfaces/hover-button-action-event.interface.mjs +2 -0
- package/esm2022/interfaces/index.mjs +11 -0
- package/esm2022/interfaces/load-more-event.interface.mjs +2 -0
- package/esm2022/interfaces/no-data-config.interface.mjs +2 -0
- package/esm2022/interfaces/sort-event.interface.mjs +2 -0
- package/esm2022/interfaces/table-config.interface.mjs +2 -0
- package/esm2022/interfaces/table.type.mjs +2 -0
- package/esm2022/interfaces/template-config.interface.mjs +3 -0
- package/esm2022/libs-ui-components-table.mjs +5 -0
- package/esm2022/pipes/calculator-column.pipe.mjs +83 -0
- package/esm2022/table.component.mjs +714 -0
- package/esm2022/templates/templates.component.mjs +122 -0
- package/fesm2022/libs-ui-components-table.mjs +918 -0
- package/fesm2022/libs-ui-components-table.mjs.map +1 -0
- package/index.d.ts +2 -0
- package/interfaces/button-action-event.interface.d.ts +12 -0
- package/interfaces/button-bar-event.interface.d.ts +7 -0
- package/interfaces/function-control-event.interface.d.ts +14 -0
- package/interfaces/hover-button-action-event.interface.d.ts +4 -0
- package/interfaces/index.d.ts +10 -0
- package/interfaces/load-more-event.interface.d.ts +4 -0
- package/interfaces/no-data-config.interface.d.ts +9 -0
- package/interfaces/sort-event.interface.d.ts +5 -0
- package/interfaces/table-config.interface.d.ts +92 -0
- package/interfaces/table.type.d.ts +13 -0
- package/interfaces/template-config.interface.d.ts +57 -0
- package/package.json +52 -0
- package/pipes/calculator-column.pipe.d.ts +12 -0
- package/table.component.d.ts +173 -0
- package/templates/templates.component.d.ts +28 -0
package/README.md
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Table
|
|
2
|
+
|
|
3
|
+
## Giới thiệu
|
|
4
|
+
|
|
5
|
+
`@libs-ui/components-table` là một component Table linh hoạt cho Angular, hỗ trợ:
|
|
6
|
+
|
|
7
|
+
- Cấu hình cột động với `ITableHeaderConfig`
|
|
8
|
+
- Hiển thị dữ liệu tĩnh hoặc tải dữ liệu động qua `newData` hoặc `httpRequestData`
|
|
9
|
+
- Tính năng phân trang, phân trang vô tận
|
|
10
|
+
- Tích chọn hàng với checkbox
|
|
11
|
+
- Sắp xếp cột và điều khiển nâng cao qua `outSort`, `outLoadMore`
|
|
12
|
+
- Hiển thị footer và các tính năng tùy chỉnh giao diện
|
|
13
|
+
|
|
14
|
+
## Tính năng
|
|
15
|
+
|
|
16
|
+
- Định nghĩa cột linh hoạt: tiêu đề, căn lề, tooltip, sort
|
|
17
|
+
- Tích hợp Selection (checkbox) và Select All
|
|
18
|
+
- Phân trang và load-more tự động với `outLoadMore`
|
|
19
|
+
- Tùy chỉnh template hàng và cột qua `colTemplateConfig`
|
|
20
|
+
- Bắt sự kiện (`outSort`, `outClickButtonAction`, ...)
|
|
21
|
+
|
|
22
|
+
## Cài đặt
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm install @libs-ui/components-table
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
hoặc
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
yarn add @libs-ui/components-table
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Sử dụng
|
|
35
|
+
|
|
36
|
+
### Inline Template
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
import { Component } from '@angular/core';
|
|
40
|
+
import { LibsUiComponentsTableComponent } from '@libs-ui/components-table';
|
|
41
|
+
|
|
42
|
+
@Component({
|
|
43
|
+
selector: 'app-table-demo',
|
|
44
|
+
standalone: true,
|
|
45
|
+
imports: [LibsUiComponentsTableComponent],
|
|
46
|
+
template: `
|
|
47
|
+
<libs_ui-components-table
|
|
48
|
+
[headerLeft]="headers"
|
|
49
|
+
[newData]="newData"
|
|
50
|
+
[showFooter]="true"
|
|
51
|
+
[paginationSetting]="{ position: 'bottom', numberPageDispaly: 5 }"></libs_ui-components-table>
|
|
52
|
+
`,
|
|
53
|
+
})
|
|
54
|
+
export class TableDemoComponent {
|
|
55
|
+
headers = [
|
|
56
|
+
{ label: 'ID', orderby: 'id', hasSort: true },
|
|
57
|
+
{ label: 'Name', orderby: 'name', hasSort: true },
|
|
58
|
+
{ label: 'Age', orderby: 'age', hasSort: true },
|
|
59
|
+
];
|
|
60
|
+
|
|
61
|
+
data = [
|
|
62
|
+
{ id: 1, name: 'Alice', age: 30 },
|
|
63
|
+
{ id: 2, name: 'Bob', age: 28 },
|
|
64
|
+
{ id: 3, name: 'Charlie', age: 25 },
|
|
65
|
+
];
|
|
66
|
+
|
|
67
|
+
newData = { data: this.data, addToLastList: false };
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Sử dụng với file HTML
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
import { Component } from '@angular/core';
|
|
75
|
+
import { LibsUiComponentsTableComponent } from '@libs-ui/components-table';
|
|
76
|
+
|
|
77
|
+
@Component({
|
|
78
|
+
selector: 'app-table-demo',
|
|
79
|
+
standalone: true,
|
|
80
|
+
imports: [LibsUiComponentsTableComponent],
|
|
81
|
+
templateUrl: './table-demo.component.html',
|
|
82
|
+
})
|
|
83
|
+
export class TableDemoComponent {
|
|
84
|
+
// giống ví dụ trên
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
```html
|
|
89
|
+
<libs_ui-components-table
|
|
90
|
+
[headerLeft]="headers"
|
|
91
|
+
[newData]="newData"
|
|
92
|
+
[showFooter]="true"
|
|
93
|
+
[paginationSetting]="{ position: 'bottom', numberPageDispaly: 5 }"></libs_ui-components-table>
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Công nghệ sử dụng
|
|
97
|
+
|
|
98
|
+
- **Angular 18** với standalone components và Signals
|
|
99
|
+
- **Tailwind CSS** cho layout demo
|
|
100
|
+
|
|
101
|
+
## API Reference
|
|
102
|
+
|
|
103
|
+
### Inputs
|
|
104
|
+
|
|
105
|
+
| Tên | Kiểu | Mặc định | Mô tả |
|
|
106
|
+
| ----------------- | ---------------------- | ----------- | --------------------------------------------- |
|
|
107
|
+
| headerLeft | `ITableHeaderConfig[]` | `[]` | Cấu hình header cột bên trái |
|
|
108
|
+
| newData | `TYPE_NEW_DATA_TABLE` | `{}` | Dữ liệu hiển thị (mảng item, có thể thêm vào) |
|
|
109
|
+
| showFooter | `boolean` | `false` | Hiển thị footer |
|
|
110
|
+
| paginationSetting | `object` | `{}` | Cấu hình phân trang (vị trí, số items) |
|
|
111
|
+
| disableCheckbox | `boolean` | `false` | Vô hiệu hóa checkbox |
|
|
112
|
+
| sortLocal | `boolean` | `false` | Sử dụng sắp xếp cục bộ |
|
|
113
|
+
| filterOrSortLocal | `TYPE_TABLE_FILTER` | `undefined` | Hàm lọc/sort cục bộ |
|
|
114
|
+
| httpRequestData | `IHttpRequestConfig` | `undefined` | Cấu hình gọi API lấy dữ liệu |
|
|
115
|
+
| templateNoData | `TYPE_TEMPLATE_REF` | `undefined` | Template hiển thị khi không có dữ liệu |
|
|
116
|
+
| templateNoResult | `TYPE_TEMPLATE_REF` | `undefined` | Template hiển thị khi tìm không ra kết quả |
|
|
117
|
+
|
|
118
|
+
### Outputs
|
|
119
|
+
|
|
120
|
+
| Tên | Kiểu | Mô tả |
|
|
121
|
+
| -------------------- | ------------------------------------------ | --------------------------- |
|
|
122
|
+
| outLoadMore | `(event: ILoadMoreEvent) => void` | Sự kiện load thêm dữ liệu |
|
|
123
|
+
| outSort | `(event: ISortEvent) => void` | Sự kiện sắp xếp |
|
|
124
|
+
| outClickButtonAction | `(event: ITabelButtonActionEvent) => void` | Sự kiện click button action |
|
|
125
|
+
| outHoverButtonAction | `(event: IHoverButtonActionEvent) => void` | Sự kiện hover button action |
|
|
126
|
+
| outKeysSelected | `(event: { keys: any[] }) => void` | Trả về mảng keys đã chọn |
|
|
127
|
+
| outLoadDataError | `(error: IHttpResponseError) => void` | Sự kiện khi API lỗi |
|
|
128
|
+
|
|
129
|
+
### Interfaces
|
|
130
|
+
|
|
131
|
+
Xem chi tiết trong `libs-ui/components/table/src/interfaces`.
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './table.component';
|
|
2
|
+
export * from './interfaces';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvdGFibGUvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMnO1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
export {};
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWFjdGlvbi1ldmVudC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvdGFibGUvc3JjL2ludGVyZmFjZXMvYnV0dG9uLWFjdGlvbi1ldmVudC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuXG5pbXBvcnQgeyBJQnV0dG9uIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1idXR0b25zLWJ1dHRvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmVsQnV0dG9uQWN0aW9uRXZlbnQge1xuICBidXR0b246IElCdXR0b247XG4gIGl0ZW06IGFueTtcbiAgYnV0dG9uRHJvcGRvd25EYXRhPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUYWJsZUlCdXR0b25BY3Rpb24ge1xuICBpZ25vcmVBbGlnbkNlbnRlcj86IGJvb2xlYW47XG4gIG1hcmdpblRvcD86IG51bWJlcjtcbiAgbWFyZ2luTGVmdD86IG51bWJlcjtcbiAgc3RhcnRPZkNvbHVtPzogbnVtYmVyO1xufVxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
export {};
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWJhci1ldmVudC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvdGFibGUvc3JjL2ludGVyZmFjZXMvYnV0dG9uLWJhci1ldmVudC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuXG5pbXBvcnQgeyBJQnV0dG9uIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1idXR0b25zLWJ1dHRvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJ1dHRvbkJhckV2ZW50IHtcbiAgYnV0dG9uOiBJQnV0dG9uO1xuICBrZXlzOiBBcnJheTxhbnk+O1xuICBpdGVtczogQXJyYXk8YW55PjtcbiAgaGlkZGVuQmFyQnV0dG9uczogKCkgPT4gdm9pZDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24tY29udHJvbC1ldmVudC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvdGFibGUvc3JjL2ludGVyZmFjZXMvZnVuY3Rpb24tY29udHJvbC1ldmVudC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpcnR1YWxTY3JvbGxlckNvbXBvbmVudCB9IGZyb20gJ0BpaGFyYmVjay9uZ3gtdmlydHVhbC1zY3JvbGxlcic7XG5pbXBvcnQgeyBUWVBFX0RBVEFfVEFCTEUgfSBmcm9tICcuL3RhYmxlLnR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElUYWJsZUZ1bmN0aW9uQ29udHJvbEV2ZW50IHtcbiAgcmVzZXQ6IChjbGVhclNvcnQ/OiBib29sZWFuKSA9PiB2b2lkO1xuICBjYWxsQXBpQnlTZXJ2aWNlOiAoZmlyc3RDYWxsOiBib29sZWFuLCByZXNldEFmdGVyQ2FsbEFwaT86IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHJlc2V0U2Nyb2xsOiAoc2Nyb2xsUG9zaXRpb25MZWZ0PzogbnVtYmVyLCBzY3JvbGxQb3NpdGlvblRvcD86IG51bWJlcikgPT4gdm9pZDtcbiAgcmVtb3ZlSXRlbXM6IChrZXlzOiBBcnJheTx1bmtub3duPiwgaWdub3JlUmVDYWxsRm9vdGVyPzogYm9vbGVhbikgPT4gdm9pZDtcbiAgYWRkSXRlbXM6IChpdGVtczogVFlQRV9EQVRBX1RBQkxFLCBhZGRGaXJzdDogYm9vbGVhbiwgaWdub3JlSGlnaHRMaWdodD86IGJvb2xlYW4sIGlnbm9yZVJlQ2FsbEZvb3Rlcj86IGJvb2xlYW4sIGF1dG9Db3VudE5ld0l0ZW0/OiBib29sZWFuKSA9PiB2b2lkO1xuICBnZXRDb3VudDogKCkgPT4gbnVtYmVyO1xuICBnZXRTY3JvbGxDb250YWluZXI6ICgpID0+IFZpcnR1YWxTY3JvbGxlckNvbXBvbmVudDtcbiAgaGlkZVRvb2xCYXJCb3R0b206ICgpID0+IHZvaWQ7XG4gIHJlc2V0S2V5U2VsZWN0ZWQ6ICgpID0+IHZvaWQ7XG4gIGRldGVjdENoYW5nZXM6ICgpID0+IHZvaWQ7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXItYnV0dG9uLWFjdGlvbi1ldmVudC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvdGFibGUvc3JjL2ludGVyZmFjZXMvaG92ZXItYnV0dG9uLWFjdGlvbi1ldmVudC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUhvdmVyQnV0dG9uQWN0aW9uRXZlbnQge1xuICBpc0hvdmVyOiBib29sZWFuO1xuICBpdGVtOiBhbnk7XG59XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './button-action-event.interface';
|
|
2
|
+
export * from './button-bar-event.interface';
|
|
3
|
+
export * from './table-config.interface';
|
|
4
|
+
export * from './hover-button-action-event.interface';
|
|
5
|
+
export * from './load-more-event.interface';
|
|
6
|
+
export * from './sort-event.interface';
|
|
7
|
+
export * from './table.type';
|
|
8
|
+
export * from './template-config.interface';
|
|
9
|
+
export * from './no-data-config.interface';
|
|
10
|
+
export * from './function-control-event.interface';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvdGFibGUvc3JjL2ludGVyZmFjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2J1dHRvbi1hY3Rpb24tZXZlbnQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYnV0dG9uLWJhci1ldmVudC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaG92ZXItYnV0dG9uLWFjdGlvbi1ldmVudC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2FkLW1vcmUtZXZlbnQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc29ydC1ldmVudC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vdGVtcGxhdGUtY29uZmlnLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL25vLWRhdGEtY29uZmlnLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2Z1bmN0aW9uLWNvbnRyb2wtZXZlbnQuaW50ZXJmYWNlJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1tb3JlLWV2ZW50LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy90YWJsZS9zcmMvaW50ZXJmYWNlcy9sb2FkLW1vcmUtZXZlbnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUWVBFX0RBVEFfVEFCTEUgfSBmcm9tICcuL3RhYmxlLnR5cGUnO1xuZXhwb3J0IGludGVyZmFjZSBJTG9hZE1vcmVFdmVudCB7XG4gIGxvYWRNb3JlU3VjY2Vzcz86IChkYXRhOiBUWVBFX0RBVEFfVEFCTEUpID0+IHZvaWQ7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZGF0YS1jb25maWcuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL3RhYmxlL3NyYy9pbnRlcmZhY2VzL25vLWRhdGEtY29uZmlnLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVFlQRV9PQkpFQ1QgfSBmcm9tICdAbGlicy11aS9pbnRlcmZhY2VzLXR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBJVGFibGVOb0RhdGFDb25maWcge1xuICBjbGFzc0ljb25Ob0RhdGE/OiBzdHJpbmc7XG4gIGNsYXNzSWNvblNlYXJjaE5vRGF0YT86IHN0cmluZztcbiAgdGV4dE5vRGF0YTogc3RyaW5nO1xuICB0ZXh0U2VhcmNoTm9EYXRhOiBzdHJpbmc7XG4gIG5nQ2xhc3M/OiBUWVBFX09CSkVDVDtcbiAgbmdTdHlsZT86IFRZUEVfT0JKRUNUO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1ldmVudC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvdGFibGUvc3JjL2ludGVyZmFjZXMvc29ydC1ldmVudC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElTb3J0IH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1idXR0b25zLXNvcnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTb3J0RXZlbnQge1xuICBzb3J0OiBJU29ydDtcbiAgb25Tb3J0U3VjY2VzczogKCkgPT4gdm9pZDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy90YWJsZS9zcmMvaW50ZXJmYWNlcy90YWJsZS1jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBUWVBFX1NPUlRfVFlQRSB9IGZyb20gJ0BsaWJzLXVpL2NvbXBvbmVudHMtYnV0dG9ucy1zb3J0JztcbmltcG9ydCB7IElQb3BvdmVyLCBUWVBFX1BPUE9WRVJfVFlQRSB9IGZyb20gJ0BsaWJzLXVpL2NvbXBvbmVudHMtcG9wb3Zlcic7XG5pbXBvcnQgeyBUWVBFX0ZVTkNUSU9OLCBUWVBFX09CSkVDVCB9IGZyb20gJ0BsaWJzLXVpL2ludGVyZmFjZXMtdHlwZXMnO1xuaW1wb3J0IHsgSVRhYmxlVGVtcGxhdGVDb25maWcgfSBmcm9tICcuL3RlbXBsYXRlLWNvbmZpZy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElUYWJsZUhlYWRlckNvbmZpZyB7XG4gIG5nU3R5bGU/OiBUWVBFX09CSkVDVDtcbiAga2VlcFdpZHRoSXNQeENvbHVtbklmVGFibGVXaWR0aEdyYW5kVG90YWxDb2x1bW5zSGVhZGVyPzogYm9vbGVhbjtcbiAgbmdDbGFzcz86IFRZUEVfT0JKRUNUO1xuICB0eXBlPzogVFlQRV9QT1BPVkVSX1RZUEU7XG4gIGxhYmVsPzogc3RyaW5nIHwgVFlQRV9PQkpFQ1Q7XG4gIGxhYmVsQ29uZmlnPzogSVBvcG92ZXI7IC8vIGNvbmZpZyBkYXRhVmlldyBraMO0bmcgY8OzIHTDoWMgZOG7pW5nLCBz4butIGThu6VuZyBsYWJlbCDEkeG7gyBjb25maWcuXG4gIHBhcnNlVmFsdWU/OiBUWVBFX0ZVTkNUSU9OOyAvLyBkw7luZyBraGkgbXXhu5FuIGN1c3RvbSBsYWJlbCBoZWFkZXJcbiAgdG9vbHRpcHNMZWZ0PzogQXJyYXk8SVBvcG92ZXI+OyAvLyBEw7luZyBraGkgaGVhZGVyIHRhYmxlIGPDsyB0b29sdGlwXG4gIHRvb2x0aXBzUmlnaHQ/OiBBcnJheTxJUG9wb3Zlcj47IC8vIETDuW5nIGtoaSBoZWFkZXIgdGFibGUgY8OzIHRvb2x0aXBcbiAgaGFzQ2hlY2tib3g/OiBib29sZWFuOyAvLyBEw7luZyBraGkgY8OzIGNoZWNrYm94XG4gIGhhc0NoZWNrYm94QWxsPzogYm9vbGVhbjsgLy8gRMO5bmcga2hpIGPDsyBjaGVja2JveFxuICBjaGVja2JveEFsaWduQ2VudGVyPzogYm9vbGVhbjtcbiAgY29udGVudEhlYWRlckFsaWduQ2VudGVyPzogYm9vbGVhbjsgLy8gZMO5bmcgxJHhu4MgY8SDbiBnaeG7r2EgbuG7mWkgZHVuZyBraGkgY8OzIHRow6ptIHRvb2x0aXBPdGhlclxuICBjb250ZW50SGVhZGVySnVzdGlmeUNvbnRlbnRFbmQ/OiBib29sZWFuOyAvLyBkw7luZyDEkeG7gyBjxINuIG7hu5lpIGR1bmcgdmUgYmVuIHBoYWlcbiAgaWdub3JlQm9yZGVyUmlnaHQ/OiBib29sZWFuO1xuICBoYXNTb3J0PzogYm9vbGVhbjtcbiAgb3JkZXJieT86IHN0cmluZzsgLy8gb3JkZXIgY290IHRoZW8gdHJ1b25nIG5hby5cbiAgcGFkZGluZ0xlZnRSaWdodEhlYWRlckNvbnRhaW5lcj86IHN0cmluZzsgLy8gcGFkZGluZyBjaG8gaGVhZGVyXG4gIGlnbm9yZVB5RGVmYXVsdD86IGJvb2xlYW47IC8vIHThuq90IHBhZGRpbmcgZGVmYXVsdCBoZWFkZXJcbiAgdGVtcGxhdGVDc3NXcmFwcGVyPzogc3RyaW5nO1xuICB0ZW1wbGF0ZUNzc1dyYXBwZXJIb3N0Pzogc3RyaW5nO1xuICBjb2xUZW1wbGF0ZUNvbmZpZz86IEFycmF5PElUYWJsZVRlbXBsYXRlQ29uZmlnPjtcbiAgc29ydElnbm9yZVRvb2x0aXBDb250ZW50PzogYm9vbGVhbjtcbiAgc29ydFRvb2x0aXBDb250ZW50QXNjPzogc3RyaW5nO1xuICBzb3J0VG9vbHRpcENvbnRlbnREZXNjPzogc3RyaW5nO1xuICB6SW5kZXhUb29sdGlwU29ydD86IG51bWJlcjtcbiAgZGVmYXVsdE1vZGU/OiBUWVBFX1NPUlRfVFlQRTtcbiAgbGFiZWxEZXNjcmlwdGlvbj86IHtcbiAgICBjb250ZW50OiBzdHJpbmc7XG4gICAgY2xhc3NJbmNsdWRlPzogc3RyaW5nO1xuICB9O1xuICByb3dzQ29uZmlnPzoge1xuICAgIGNsYXNzQ29udGFpbmVyUm93cz86IHN0cmluZztcbiAgICByb3dzOiBBcnJheTx7IGNsYXNzUm93Pzogc3RyaW5nOyBjb2xzOiBBcnJheTxJVGFibGVIZWFkZXJDb25maWdDb2w+IH0+O1xuICB9O1xuICBjaGVja2JveENsYXNzSW5jbHVkZT86IHN0cmluZztcbiAgY2hlY2tDb25kaXRpb25DaGVja0JveEhpZGRlbj86IFRZUEVfRlVOQ1RJT048Ym9vbGVhbj47IC8vIETDuW5nIGtoaSBjw7MgY2hlY2tib3ggbmjGsG5nIGPDsyDEkWnhu4F1IGtp4buHbiBi4buVIHN1bmcgxJHhu4Mg4bqpbiDEkWkgY2hlY2tib3ggY+G7p2EgMSB2w6BpIGl0ZW1cbiAgY2hlY2tib3hBbGxDbGFzc0luY2x1ZGU/OiBzdHJpbmc7XG4gIGlzU2hvd0luZGV4T25Sb3c/OiBib29sZWFuO1xuICBjbGFzc0luY2x1ZGVJbmRleE9uUm93Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUYWJsZUhlYWRlckNvbmZpZ0NvbCB7XG4gIG5nU3R5bGU/OiBUWVBFX09CSkVDVDtcbiAgbmdDbGFzcz86IFRZUEVfT0JKRUNUO1xuICB0eXBlPzogVFlQRV9QT1BPVkVSX1RZUEU7XG4gIGxhYmVsPzogc3RyaW5nIHwgVFlQRV9PQkpFQ1Q7XG4gIGxhYmVsQ29uZmlnPzogSVBvcG92ZXI7IC8vIGNvbmZpZyBkYXRhVmlldyBraMO0bmcgY8OzIHTDoWMgZOG7pW5nLCBz4butIGThu6VuZyBsYWJlbCDEkeG7gyBjb25maWcuXG4gIHBhcnNlVmFsdWU/OiBUWVBFX0ZVTkNUSU9OOyAvLyBkw7luZyBraGkgbXXhu5FuIGN1c3RvbSBsYWJlbCBoZWFkZXJcbiAgdG9vbHRpcE90aGVyPzogSVBvcG92ZXI7IC8vIETDuW5nIGtoaSBoZWFkZXIgdGFibGUgY8OzIHRvb2x0aXBcbiAgY29udGVudEhlYWRlckFsaWduQ2VudGVyPzogYm9vbGVhbjsgLy8gZMO5bmcgxJHhu4MgY8SDbiBnaeG7r2EgbuG7mWkgZHVuZyBraGkgY8OzIHRow6ptIHRvb2x0aXBPdGhlclxuICBjb250ZW50SGVhZGVySnVzdGlmeUNvbnRlbnRFbmQ/OiBib29sZWFuOyAvLyBkw7luZyDEkeG7gyBjxINuIG7hu5lpIGR1bmcgdmUgYmVuIHBoYWlcbiAgaGFzU29ydD86IGJvb2xlYW47XG4gIG9yZGVyYnk/OiBzdHJpbmc7IC8vIG9yZGVyIGNvdCB0aGVvIHRydW9uZyBuYW8uXG4gIHNvcnRJZ25vcmVUb29sdGlwQ29udGVudD86IGJvb2xlYW47XG4gIHNvcnRUb29sdGlwQ29udGVudEFzYz86IHN0cmluZztcbiAgc29ydFRvb2x0aXBDb250ZW50RGVzYz86IHN0cmluZztcbiAgZGVmYXVsdE1vZGU/OiBUWVBFX1NPUlRfVFlQRTtcbiAgbGFiZWxEZXNjcmlwdGlvbj86IHtcbiAgICBjb250ZW50OiBzdHJpbmc7XG4gICAgY2xhc3NJbmNsdWRlPzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb25maWdUZW1wbGF0ZUl0ZW1Db2xsYXBzZUV4cGFuZCB7XG4gIGZpZWxkR2V0RGF0YUV4cGFuZD86IHN0cmluZztcbiAgY3NzV3JhcHBlcj86IHN0cmluZztcbiAgdGVtcGxhdGVDc3NXcmFwcGVyPzogc3RyaW5nO1xuICBjb2xUZW1wbGF0ZUNvbmZpZz86IEFycmF5PElUYWJsZVRlbXBsYXRlQ29uZmlnPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVGFibGVGb290ZXJDb25maWcge1xuICBpZ25vcmVCb3JkZXJSaWdodD86IGJvb2xlYW47XG4gIG5nU3R5bGU/OiBUWVBFX09CSkVDVDtcbiAgbmdDbGFzcz86IFRZUEVfT0JKRUNUO1xuICB0ZW1wbGF0ZUNzc1dyYXBwZXI/OiBzdHJpbmc7XG4gIGNvbFRlbXBsYXRlQ29uZmlnPzogQXJyYXk8SVRhYmxlVGVtcGxhdGVDb25maWc+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb25maWdTZWxlY3RNb3JlSXRlbSB7XG4gIGtleVBlclBhZ2U/OiBzdHJpbmc7XG4gIHBhZ2luZ051bWJlcj86IGJvb2xlYW47XG4gIGdldFZhbHVlOiAoaXRlbTogYW55KSA9PiBzdHJpbmc7IC8vIGzDoCBow6BtIGdldCB2YWx1ZSBj4bunYSBsaXN0VmlldyB0eXBlIHRleHRcbiAgbGlzdE9wdGlvbjogQXJyYXk8eyBrZXk6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9Pjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy90YWJsZS9zcmMvaW50ZXJmYWNlcy90YWJsZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVFlQRV9PQkpFQ1QgfSBmcm9tICdAbGlicy11aS9pbnRlcmZhY2VzLXR5cGVzJztcblxuZXhwb3J0IHR5cGUgVFlQRV9UQUJMRV9GSUxURVIgPSAoKGl0ZW1zOiBUWVBFX0RBVEFfVEFCTEUsIGZpbHRlcjogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IEFycmF5PFdyaXRhYmxlU2lnbmFsPFJlY29yZDxzdHJpbmcsIHVua25vd24+Pj4pIHwgdW5kZWZpbmVkO1xuXG5leHBvcnQgdHlwZSBUWVBFX0RBVEFfRklMVEVSX1RBQkxFID0geyBmaWx0ZXJEYXRhOiBUWVBFX09CSkVDVDsgaWdub3JlQ2FsbEFwaUF1dG8/OiBib29sZWFuIH07XG5leHBvcnQgdHlwZSBUWVBFX05FV19EQVRBX1RBQkxFID0geyBkYXRhOiBUWVBFX0RBVEFfVEFCTEU7IGFkZFRvTGFzdExpc3Q/OiBib29sZWFuIH07XG5leHBvcnQgdHlwZSBUWVBFX0RBVEFfVEFCTEUgPSBXcml0YWJsZVNpZ25hbDxBcnJheTxUWVBFX0lURU1fREFUQV9UQUJMRT4+O1xuZXhwb3J0IHR5cGUgVFlQRV9JVEVNX0RBVEFfVEFCTEUgPSBXcml0YWJsZVNpZ25hbDxUWVBFX09CSkVDVD47XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
export {};
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy90YWJsZS9zcmMvaW50ZXJmYWNlcy90ZW1wbGF0ZS1jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RCIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cblxuaW1wb3J0IHsgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElBdmF0YXJDb25maWcgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLWF2YXRhcic7XG5pbXBvcnQgeyBJQnV0dG9uIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1idXR0b25zLWJ1dHRvbic7XG5pbXBvcnQgeyBJRHJvcGRvd24gfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLWRyb3Bkb3duJztcbmltcG9ydCB7IElMaW5lQ2xhbXBDb25maWcgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLWxpbmUtY2xhbXAnO1xuaW1wb3J0IHsgSUxpc3RDb25maWdJdGVtIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1saXN0JztcbmltcG9ydCB7IElQb3BvdmVyIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1wb3BvdmVyJztcbmltcG9ydCB7IElTd2l0Y2hFdmVudCB9IGZyb20gJ0BsaWJzLXVpL2NvbXBvbmVudHMtc3dpdGNoJztcbmltcG9ydCB7IFRZUEVfRlVOQ1RJT04sIFRZUEVfT0JKRUNUIH0gZnJvbSAnQGxpYnMtdWkvaW50ZXJmYWNlcy10eXBlcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaWJzVWlDb21wb25lbnRzQ29tcG9uZW50T3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1jb21wb25lbnQtb3V0bGV0JztcbmltcG9ydCB7IFRZUEVfSVRFTV9EQVRBX1RBQkxFIH0gZnJvbSAnLi90YWJsZS50eXBlJztcblxuZXhwb3J0IGludGVyZmFjZSBJVGFibGVUZW1wbGF0ZUNvbmZpZyB7XG4gIGNzc1dyYXBwZXI6IHN0cmluZztcbiAgZmllbGRzQ29uZmlnOiBBcnJheTxJVGFibGVGaWVsZFRlbXBsYXRlQ29uZmlnPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVGFibGVGaWVsZFRlbXBsYXRlQ29uZmlnIHtcbiAgaW5zdGFuY2U/OiAndG9vbHRpcCcgfCAnbGluZS1jbGFtcCcgfCAnYnV0dG9ucycgfCAnYnV0dG9uLXN0YXR1cycgfCAnc3dpdGNoJyB8ICdiYWRnZScgfCAnb3RoZXItYWN0aW9uLXNob3ctcG9wdXAnIHwgJ3NoYXBlLXN0eWxlJyB8ICdpbWFnZScgfCAnYXZhdGFyJyB8ICdidXR0b24tYWN0aW9uLXNob3ctcG9wdXAnO1xuICBmaWVsZDogc3RyaW5nO1xuICBwYXJzZVZhbHVlPzogVFlQRV9GVU5DVElPTjtcbiAgZ2V0VG9vbHRpcEljb25DbGFzcz86IFRZUEVfRlVOQ1RJT047IC8vIFPhu60gZOG7pW5nIGTDuW5nIGljb25DbGFzcyB0b29sdGlwIGNobyB0eXBlIHRvb2x0aXAuXG4gIGdldFRvb2x0aXBDb25maWc/OiBUWVBFX0ZVTkNUSU9OO1xuICBhY3Rpb24/OiAoZGF0YUZpZWxkOiBhbnksIGl0ZW06IFRZUEVfSVRFTV9EQVRBX1RBQkxFLCBpdGVtVGFibGVTZWxlY3RlZD86IFRZUEVfSVRFTV9EQVRBX1RBQkxFKSA9PiBhbnk7XG4gIHRvb2x0aXA/OiBJUG9wb3ZlcjsgLy8gbuG6v3UgbXXhu5FuIHPhu60gIGThu6VuZyBsaWJzLXVpY29tcG9uZW50cy10b29sdGlwLiB5w6p1IGPhuqd1IMSR4buDIHR5cGUgYuG6sW5nIHRvb2x0aXBcbiAgbmdTdHlsZT86IFRZUEVfT0JKRUNUO1xuICBnZXROZ1N0eWxlPzogVFlQRV9GVU5DVElPTjtcbiAgbmdDbGFzcz86IFRZUEVfT0JKRUNUO1xuICBnZXROZ0NsYXNzPzogVFlQRV9GVU5DVElPTjtcbiAgaWdub3JlQ2xhc3NNYXJnaW5MZWZ0PzogYm9vbGVhbjsgLy8gc+G7rSBk4bulbmcga2hpIG114buRbiBi4buPIGNsYXNzIG1hcmdpbiBjaG8gdHlwZSBvdGhlci1hY3Rpb24tc2hvdy1wb3B1cCwgYmFkZ2VcblxuICBsaW5lQ2xhbXBDb25maWc/OiBJTGluZUNsYW1wQ29uZmlnO1xuXG4gIGdldERpc2FibGVWYWx1ZVN3aXRjaD86IFRZUEVfRlVOQ1RJT047IC8vIHPhu60gZOG7pW5nIGtoaSBtdeG7kW4gxJFp4buDdSBjaOG7iW5oIGNo4bq/IMSR4buZIGVuYWJsZSBoYXkgZGlzYWJsZSBjaG8gdG9nZ2xlXG4gIGdldEFjdGl2ZVZhbHVlU3dpdGNoPzogVFlQRV9GVU5DVElPTjsgLy8gc+G7rSBk4bulbmcga2hpIG114buRbiDEkWnhu4N1IGNo4buJbmggY2jhur8gxJHhu5kgYWN0aXZlIGhheSBkZWFjdGl2ZSBjaG8gdG9nZ2xlXG4gIHN3aXRjaEFjdGlvbj86IChzd2l0Y2hEYXRhOiBJU3dpdGNoRXZlbnQsIGl0ZW06IFRZUEVfSVRFTV9EQVRBX1RBQkxFKSA9PiB2b2lkOyAvLyBC4bqvdCBideG7mWMga2hpIHPhu60gZOG7pW5nIHR5cGUgPSBzd2l0Y2hcbiAgYnV0dG9ucz86IEFycmF5PFdyaXRhYmxlU2lnbmFsPElCdXR0b24+PjtcbiAgZ2V0QnV0dG9uc0J5SXRlbT86IFRZUEVfRlVOQ1RJT048QXJyYXk8V3JpdGFibGVTaWduYWw8SUJ1dHRvbj4+PjtcbiAgc2hvd0J1dHRvbkhvdmVyTW9kZT86IGJvb2xlYW47XG4gIGdldERpc2FibGU/OiBUWVBFX0ZVTkNUSU9OOyAvLyBT4butIGThu6VuZyDEkeG7gyBkaXNhYmxlIGlucHV0LCBidXR0b24sIHFyLWNvZGVcbiAgZHJvcGRvd25Db25maWc/OiBJVGFibGVGaWVsZFRlbXBsYXRlQ29uZmlnRHJvcGRvd247XG5cbiAgZ2V0QXZhdGFyQ29uZmlnPzogVFlQRV9GVU5DVElPTjxJQXZhdGFyQ29uZmlnPjtcblxuICBnZXRJbWFnZVNyYz86ICh2YWx1ZTogYW55LCBpdGVtPzogVFlQRV9PQkpFQ1QsIGxhbmc/OiBzdHJpbmcsIGlzRXJyb3I/OiBib29sZWFuKSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIHJvd3M/OiBBcnJheTxJVGFibGVUZW1wbGF0ZUNvbmZpZz47XG4gIHJvd3NUZW1wbGF0ZUNzc1dyYXBwZXI/OiBzdHJpbmc7XG5cbiAgZ2V0Q29tcG9uZW50T3V0bGV0PzogKCkgPT4gT2JzZXJ2YWJsZTxMaWJzVWlDb21wb25lbnRzQ29tcG9uZW50T3V0bGV0Q29tcG9uZW50IHwgYW55PjtcbiAgZ2V0RGF0YUNvbXBvbmVudE91dGxldD86IFRZUEVfRlVOQ1RJT047XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxlRmllbGRUZW1wbGF0ZUNvbmZpZ0Ryb3Bkb3duIGV4dGVuZHMgSURyb3Bkb3duIHtcbiAgYnV0dG9uPzogV3JpdGFibGVTaWduYWw8SUJ1dHRvbj47XG4gIGdldExpc3RDb25maWc/OiBUWVBFX0ZVTkNUSU9OPElMaXN0Q29uZmlnSXRlbT47XG4gIGxpc3RLZXlzRGlzYWJsZUl0ZW0/OiBBcnJheTxzdHJpbmc+O1xuICBsaXN0SGlkZGVuSW5wdXRTZWFyY2g/OiBib29sZWFuO1xuICBtYXhIZWlnaHQ/OiBudW1iZXI7XG4gIGlnbm9yZUFycm93PzogYm9vbGVhbjtcbiAgcG9zaXRpb24/OiB7XG4gICAgbW9kZTogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCc7XG4gICAgZGlzdGFuY2U6IG51bWJlcjtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicy11aS1jb21wb25lbnRzLXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL3RhYmxlL3NyYy9saWJzLXVpLWNvbXBvbmVudHMtdGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class LibsUiTableCalculatorColumnPipe {
|
|
4
|
+
transform(header, ignoreCalculatorWidthHeader, offsetWidth, headerLeftConfig, headerRightConfig) {
|
|
5
|
+
if (!header?.ngStyle) {
|
|
6
|
+
return undefined;
|
|
7
|
+
}
|
|
8
|
+
if (ignoreCalculatorWidthHeader) {
|
|
9
|
+
return header.ngStyle;
|
|
10
|
+
}
|
|
11
|
+
const mixHeaderConfig = [...(headerLeftConfig || []), ...(headerRightConfig || [])];
|
|
12
|
+
let totalPxWidthHeader = mixHeaderConfig.reduce((acc, curr) => acc + this.getWidthPxOfStyle(curr), 0);
|
|
13
|
+
const totalPercentWidthHeader = mixHeaderConfig.reduce((acc, curr) => acc + this.getWidthPercentOfStyle(curr), 0);
|
|
14
|
+
const totalWidthIsPxColumnIfTableWidthGrandTotalColumnsHeader = mixHeaderConfig.reduce((acc, curr) => acc + (curr.keepWidthIsPxColumnIfTableWidthGrandTotalColumnsHeader ? this.getWidthPxOfStyle(curr) : 0), 0);
|
|
15
|
+
if (mixHeaderConfig.some((header) => header.isShowIndexOnRow)) {
|
|
16
|
+
offsetWidth -= 50;
|
|
17
|
+
}
|
|
18
|
+
if (totalWidthIsPxColumnIfTableWidthGrandTotalColumnsHeader) {
|
|
19
|
+
offsetWidth -= totalWidthIsPxColumnIfTableWidthGrandTotalColumnsHeader;
|
|
20
|
+
totalPxWidthHeader -= totalWidthIsPxColumnIfTableWidthGrandTotalColumnsHeader;
|
|
21
|
+
}
|
|
22
|
+
let percent = this.getWidthPercentOfStyle(header);
|
|
23
|
+
if (percent) {
|
|
24
|
+
offsetWidth -= totalPxWidthHeader;
|
|
25
|
+
const percentDivide = (totalPercentWidthHeader - 100) / mixHeaderConfig.length;
|
|
26
|
+
percent -= percentDivide;
|
|
27
|
+
const widthCalculator = (percent / 100) * offsetWidth;
|
|
28
|
+
return this.getStyleUpdate(widthCalculator, header.ngStyle);
|
|
29
|
+
}
|
|
30
|
+
const width = this.getWidthPxOfStyle(header);
|
|
31
|
+
if (totalPxWidthHeader > offsetWidth || header.keepWidthIsPxColumnIfTableWidthGrandTotalColumnsHeader || totalPercentWidthHeader) {
|
|
32
|
+
return this.getStyleUpdate(width, header.ngStyle);
|
|
33
|
+
}
|
|
34
|
+
const widthCalculator = (width / totalPxWidthHeader) * offsetWidth;
|
|
35
|
+
return this.getStyleUpdate(widthCalculator, header.ngStyle);
|
|
36
|
+
}
|
|
37
|
+
getWidthPxOfStyle(headerGetWidth) {
|
|
38
|
+
let { flex, width, maxWidth } = headerGetWidth.ngStyle || {};
|
|
39
|
+
if (flex?.includes('%') || width?.includes('%') || maxWidth?.includes('%')) {
|
|
40
|
+
return 0;
|
|
41
|
+
}
|
|
42
|
+
width = parseInt(width || '0');
|
|
43
|
+
maxWidth = parseInt(maxWidth || '0');
|
|
44
|
+
flex = parseInt((flex || '0').split(' ').pop() || '0');
|
|
45
|
+
if (!flex && !width && !maxWidth) {
|
|
46
|
+
return 0;
|
|
47
|
+
}
|
|
48
|
+
const widthMax = Math.max(width, maxWidth, flex);
|
|
49
|
+
return widthMax;
|
|
50
|
+
}
|
|
51
|
+
getWidthPercentOfStyle(headerGetWidth) {
|
|
52
|
+
let { flex, width, maxWidth } = headerGetWidth.ngStyle || {};
|
|
53
|
+
if (flex?.includes('px') || width?.includes('px') || maxWidth?.includes('px')) {
|
|
54
|
+
return 0;
|
|
55
|
+
}
|
|
56
|
+
width = parseInt(width || '0');
|
|
57
|
+
maxWidth = parseInt(maxWidth || '0');
|
|
58
|
+
flex = parseInt((flex || '0').split(' ').pop() || '0');
|
|
59
|
+
if (!flex && !width && !maxWidth) {
|
|
60
|
+
return 0;
|
|
61
|
+
}
|
|
62
|
+
const widthMax = Math.max(width, maxWidth, flex);
|
|
63
|
+
return widthMax;
|
|
64
|
+
}
|
|
65
|
+
getStyleUpdate(widthCalculator, ngStyle) {
|
|
66
|
+
return {
|
|
67
|
+
...ngStyle,
|
|
68
|
+
flex: `0 0 ${widthCalculator}px`,
|
|
69
|
+
width: `${widthCalculator}px`,
|
|
70
|
+
maxWidth: `${widthCalculator}px`,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LibsUiTableCalculatorColumnPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
74
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: LibsUiTableCalculatorColumnPipe, isStandalone: true, name: "LibsUiTableCalculatorColumnPipe" });
|
|
75
|
+
}
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LibsUiTableCalculatorColumnPipe, decorators: [{
|
|
77
|
+
type: Pipe,
|
|
78
|
+
args: [{
|
|
79
|
+
name: 'LibsUiTableCalculatorColumnPipe',
|
|
80
|
+
standalone: true,
|
|
81
|
+
}]
|
|
82
|
+
}] });
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRvci1jb2x1bW4ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy90YWJsZS9zcmMvcGlwZXMvY2FsY3VsYXRvci1jb2x1bW4ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFPcEQsTUFBTSxPQUFPLCtCQUErQjtJQUMxQyxTQUFTLENBQUMsTUFBc0MsRUFBRSwyQkFBb0MsRUFBRSxXQUFtQixFQUFFLGdCQUE0QyxFQUFFLGlCQUE2QztRQUN0TSxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3JCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFDRCxJQUFJLDJCQUEyQixFQUFFLENBQUM7WUFDaEMsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3hCLENBQUM7UUFFRCxNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVwRixJQUFJLGtCQUFrQixHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RHLE1BQU0sdUJBQXVCLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEgsTUFBTSx1REFBdUQsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElB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eyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJVGFibGVIZWFkZXJDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3RhYmxlLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVFlQRV9PQkpFQ1QgfSBmcm9tICdAbGlicy11aS9pbnRlcmZhY2VzLXR5cGVzJztcbkBQaXBlKHtcbiAgbmFtZTogJ0xpYnNVaVRhYmxlQ2FsY3VsYXRvckNvbHVtblBpcGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBMaWJzVWlUYWJsZUNhbGN1bGF0b3JDb2x1bW5QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShoZWFkZXI6IElUYWJsZUhlYWRlckNvbmZpZyB8IHVuZGVmaW5lZCwgaWdub3JlQ2FsY3VsYXRvcldpZHRoSGVhZGVyOiBib29sZWFuLCBvZmZzZXRXaWR0aDogbnVtYmVyLCBoZWFkZXJMZWZ0Q29uZmlnPzogQXJyYXk8SVRhYmxlSGVhZGVyQ29uZmlnPiwgaGVhZGVyUmlnaHRDb25maWc/OiBBcnJheTxJVGFibGVIZWFkZXJDb25maWc+KTogVFlQRV9PQkpFQ1QgfCB1bmRlZmluZWQge1xuICAgIGlmICghaGVhZGVyPy5uZ1N0eWxlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAoaWdub3JlQ2FsY3VsYXRvcldpZHRoSGVhZGVyKSB7XG4gICAgICByZXR1cm4gaGVhZGVyLm5nU3R5bGU7XG4gICAgfVxuXG4gICAgY29uc3QgbWl4SGVhZGVyQ29uZmlnID0gWy4uLihoZWFkZXJMZWZ0Q29uZmlnIHx8IFtdKSwgLi4uKGhlYWRlclJpZ2h0Q29uZmlnIHx8IFtdKV07XG5cbiAgICBsZXQgdG90YWxQeFdpZHRoSGVhZGVyID0gbWl4SGVhZGVyQ29uZmlnLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiBhY2MgKyB0aGlzLmdldFdpZHRoUHhPZlN0eWxlKGN1cnIpLCAwKTtcbiAgICBjb25zdCB0b3RhbFBlcmNlbnRXaWR0aEhlYWRlciA9IG1peEhlYWRlckNvbmZpZy5yZWR1Y2UoKGFjYywgY3VycikgPT4gYWNjICsgdGhpcy5nZXRXaWR0aFBlcmNlbnRPZlN0eWxlKGN1cnIpLCAwKTtcbiAgICBjb25zdCB0b3RhbFdpZHRoSXNQeENvbHVtbklmVGFibGVXaWR0aEdyYW5kVG90YWxDb2x1bW5zSGVhZGVyID0gbWl4SGVhZGVyQ29uZmlnLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiBhY2MgKyAoY3Vyci5rZWVwV2lkdGhJc1B4Q29sdW1uSWZUYWJsZVdpZHRoR3JhbmRUb3RhbENvbHVtbnNIZWFkZXIgPyB0aGlzLmdldFdpZHRoUHhPZlN0eWxlKGN1cnIpIDogMCksIDApO1xuXG4gICAgaWYgKG1peEhlYWRlckNvbmZpZy5zb21lKChoZWFkZXIpID0+IGhlYWRlci5pc1Nob3dJbmRleE9uUm93KSkge1xuICAgICAgb2Zmc2V0V2lkdGggLT0gNTA7XG4gICAgfVxuXG4gICAgaWYgKHRvdGFsV2lkdGhJc1B4Q29sdW1uSWZUYWJsZVdpZHRoR3JhbmRUb3RhbENvbHVtbnNIZWFkZXIpIHtcbiAgICAgIG9mZnNldFdpZHRoIC09IHRvdGFsV2lkdGhJc1B4Q29sdW1uSWZUYWJsZVdpZHRoR3JhbmRUb3RhbENvbHVtbnNIZWFkZXI7XG4gICAgICB0b3RhbFB4V2lkdGhIZWFkZXIgLT0gdG90YWxXaWR0aElzUHhDb2x1bW5JZlRhYmxlV2lkdGhHcmFuZFRvdGFsQ29sdW1uc0hlYWRlcjtcbiAgICB9XG5cbiAgICBsZXQgcGVyY2VudCA9IHRoaXMuZ2V0V2lkdGhQZXJjZW50T2ZTdHlsZShoZWFkZXIpO1xuICAgIGlmIChwZXJjZW50KSB7XG4gICAgICBvZmZzZXRXaWR0aCAtPSB0b3RhbFB4V2lkdGhIZWFkZXI7XG4gICAgICBjb25zdCBwZXJjZW50RGl2aWRlID0gKHRvdGFsUGVyY2VudFdpZHRoSGVhZGVyIC0gMTAwKSAvIG1peEhlYWRlckNvbmZpZy5sZW5ndGg7XG4gICAgICBwZXJjZW50IC09IHBlcmNlbnREaXZpZGU7XG4gICAgICBjb25zdCB3aWR0aENhbGN1bGF0b3IgPSAocGVyY2VudCAvIDEwMCkgKiBvZmZzZXRXaWR0aDtcbiAgICAgIHJldHVybiB0aGlzLmdldFN0eWxlVXBkYXRlKHdpZHRoQ2FsY3VsYXRvciwgaGVhZGVyLm5nU3R5bGUpO1xuICAgIH1cblxuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5nZXRXaWR0aFB4T2ZTdHlsZShoZWFkZXIpO1xuICAgIGlmICh0b3RhbFB4V2lkdGhIZWFkZXIgPiBvZmZzZXRXaWR0aCB8fCBoZWFkZXIua2VlcFdpZHRoSXNQeENvbHVtbklmVGFibGVXaWR0aEdyYW5kVG90YWxDb2x1bW5zSGVhZGVyIHx8IHRvdGFsUGVyY2VudFdpZHRoSGVhZGVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRTdHlsZVVwZGF0ZSh3aWR0aCwgaGVhZGVyLm5nU3R5bGUpO1xuICAgIH1cbiAgICBjb25zdCB3aWR0aENhbGN1bGF0b3IgPSAod2lkdGggLyB0b3RhbFB4V2lkdGhIZWFkZXIpICogb2Zmc2V0V2lkdGg7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3R5bGVVcGRhdGUod2lkdGhDYWxjdWxhdG9yLCBoZWFkZXIubmdTdHlsZSk7XG4gIH1cblxuICBwcml2YXRlIGdldFdpZHRoUHhPZlN0eWxlKGhlYWRlckdldFdpZHRoOiBJVGFibGVIZWFkZXJDb25maWcpOiBudW1iZXIge1xuICAgIGxldCB7IGZsZXgsIHdpZHRoLCBtYXhXaWR0aCB9ID0gaGVhZGVyR2V0V2lkdGgubmdTdHlsZSB8fCB7fTtcbiAgICBpZiAoZmxleD8uaW5jbHVkZXMoJyUnKSB8fCB3aWR0aD8uaW5jbHVkZXMoJyUnKSB8fCBtYXhXaWR0aD8uaW5jbHVkZXMoJyUnKSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHdpZHRoID0gcGFyc2VJbnQod2lkdGggfHwgJzAnKTtcbiAgICBtYXhXaWR0aCA9IHBhcnNlSW50KG1heFdpZHRoIHx8ICcwJyk7XG4gICAgZmxleCA9IHBhcnNlSW50KChmbGV4IHx8ICcwJykuc3BsaXQoJyAnKS5wb3AoKSB8fCAnMCcpO1xuXG4gICAgaWYgKCFmbGV4ICYmICF3aWR0aCAmJiAhbWF4V2lkdGgpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICBjb25zdCB3aWR0aE1heCA9IE1hdGgubWF4KHdpZHRoLCBtYXhXaWR0aCwgZmxleCk7XG4gICAgcmV0dXJuIHdpZHRoTWF4O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRXaWR0aFBlcmNlbnRPZlN0eWxlKGhlYWRlckdldFdpZHRoOiBJVGFibGVIZWFkZXJDb25maWcpOiBudW1iZXIge1xuICAgIGxldCB7IGZsZXgsIHdpZHRoLCBtYXhXaWR0aCB9ID0gaGVhZGVyR2V0V2lkdGgubmdTdHlsZSB8fCB7fTtcbiAgICBpZiAoZmxleD8uaW5jbHVkZXMoJ3B4JykgfHwgd2lkdGg/LmluY2x1ZGVzKCdweCcpIHx8IG1heFdpZHRoPy5pbmNsdWRlcygncHgnKSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHdpZHRoID0gcGFyc2VJbnQod2lkdGggfHwgJzAnKTtcbiAgICBtYXhXaWR0aCA9IHBhcnNlSW50KG1heFdpZHRoIHx8ICcwJyk7XG4gICAgZmxleCA9IHBhcnNlSW50KChmbGV4IHx8ICcwJykuc3BsaXQoJyAnKS5wb3AoKSB8fCAnMCcpO1xuICAgIGlmICghZmxleCAmJiAhd2lkdGggJiYgIW1heFdpZHRoKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgY29uc3Qgd2lkdGhNYXggPSBNYXRoLm1heCh3aWR0aCwgbWF4V2lkdGgsIGZsZXgpO1xuICAgIHJldHVybiB3aWR0aE1heDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3R5bGVVcGRhdGUod2lkdGhDYWxjdWxhdG9yOiBudW1iZXIsIG5nU3R5bGU6IFRZUEVfT0JKRUNUKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5nU3R5bGUsXG4gICAgICBmbGV4OiBgMCAwICR7d2lkdGhDYWxjdWxhdG9yfXB4YCxcbiAgICAgIHdpZHRoOiBgJHt3aWR0aENhbGN1bGF0b3J9cHhgLFxuICAgICAgbWF4V2lkdGg6IGAke3dpZHRoQ2FsY3VsYXRvcn1weGAsXG4gICAgfTtcbiAgfVxufVxuIl19
|