@libs-ui/components-breadcrumb 0.2.10-6.2 → 0.2.30-6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -1,3 +1,245 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Breadcrumb
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## Giới thiệu
|
|
4
|
+
|
|
5
|
+
`@libs-ui/components-breadcrumb` là một component Angular giúp hiển thị đường dẫn phân cấp (breadcrumb) hoặc tiến trình theo các bước, với khả năng đánh dấu bước đã hoàn thành, bước đang chọn, và bước vô hiệu hóa.
|
|
6
|
+
|
|
7
|
+
## Tính năng
|
|
8
|
+
|
|
9
|
+
- Hiển thị danh sách các bước với số và tiêu đề
|
|
10
|
+
- Hỗ trợ trạng thái hoàn thành (completed), chọn (selected), và vô hiệu hóa (disabled)
|
|
11
|
+
- Căn chỉnh linh hoạt: `center` | `left` | `right`
|
|
12
|
+
- Tùy chỉnh CSS class cho mỗi bước
|
|
13
|
+
- Phát ra sự kiện khi người dùng chọn bước
|
|
14
|
+
- Hỗ trợ nền trắng (backgroundWhite)
|
|
15
|
+
|
|
16
|
+
## Cài đặt
|
|
17
|
+
|
|
18
|
+
### Yêu cầu
|
|
19
|
+
|
|
20
|
+
- Angular 18.0.0 trở lên
|
|
21
|
+
- Tailwind CSS 3.3.0 trở lên (nếu sử dụng Tailwind)
|
|
22
|
+
|
|
23
|
+
### Hướng dẫn cài đặt
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npm install @libs-ui/components-breadcrumb
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
hoặc
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
yarn add @libs-ui/components-breadcrumb
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Sử dụng
|
|
36
|
+
|
|
37
|
+
### Import và sử dụng ngay trong template
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
import { Component } from '@angular/core';
|
|
41
|
+
import { LibsUiComponentsBreadcrumbComponent } from '@libs-ui/components-breadcrumb';
|
|
42
|
+
|
|
43
|
+
@Component({
|
|
44
|
+
selector: 'app-example',
|
|
45
|
+
standalone: true,
|
|
46
|
+
imports: [LibsUiComponentsBreadcrumbComponent],
|
|
47
|
+
template: `
|
|
48
|
+
<libs_ui-components-breadcrumb
|
|
49
|
+
[steps]="steps"
|
|
50
|
+
[completedIndex]="[1]"
|
|
51
|
+
[mode]="'center'"
|
|
52
|
+
></libs_ui-components-breadcrumb>
|
|
53
|
+
`
|
|
54
|
+
})
|
|
55
|
+
export class ExampleComponent {
|
|
56
|
+
steps = [
|
|
57
|
+
{ number: 1, title: 'Bước 1' },
|
|
58
|
+
{ number: 2, title: 'Bước 2' },
|
|
59
|
+
{ number: 3, title: 'Bước 3' }
|
|
60
|
+
];
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
#### Sử dụng với file HTML riêng biệt
|
|
65
|
+
|
|
66
|
+
```typescript
|
|
67
|
+
@Component({
|
|
68
|
+
selector: 'app-example',
|
|
69
|
+
standalone: true,
|
|
70
|
+
imports: [LibsUiComponentsBreadcrumbComponent],
|
|
71
|
+
templateUrl: './example.component.html'
|
|
72
|
+
})
|
|
73
|
+
export class ExampleComponent {}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
```html
|
|
77
|
+
<libs_ui-components-breadcrumb
|
|
78
|
+
[steps]="steps"
|
|
79
|
+
[completedIndex]="[1]"
|
|
80
|
+
mode="left"
|
|
81
|
+
></libs_ui-components-breadcrumb>
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Công nghệ sử dụng
|
|
85
|
+
|
|
86
|
+
- **Angular 18**: Sử dụng standalone components và Signals
|
|
87
|
+
- **Tailwind CSS**: Tùy chọn cho styling
|
|
88
|
+
|
|
89
|
+
## API Reference
|
|
90
|
+
|
|
91
|
+
### Inputs
|
|
92
|
+
|
|
93
|
+
| Tên | Kiểu dữ liệu | Mặc định | Mô tả |
|
|
94
|
+
|-----------------|--------------------------|-------------|-------------------------------------------------------------|
|
|
95
|
+
| width | `number` | `24` | Chiều rộng mỗi bước (pixel) |
|
|
96
|
+
| mode | `TYPE_MODE_BREADCRUMB` | `'center'` | Căn chỉnh breadcrumb: `center` `left` `right` |
|
|
97
|
+
| steps | `Array<ITabBreadCrumb>` | `[]` | Danh sách các bước với số và tiêu đề |
|
|
98
|
+
| classInclude | `string` | `undefined` | CSS class bổ sung cho mỗi bước |
|
|
99
|
+
| completedIndex | `Array<number>` | `[]` | Các index bước đã hoàn thành |
|
|
100
|
+
| backgroundWhite | `boolean` | `false` | Bật nền trắng khi `true` |
|
|
101
|
+
|
|
102
|
+
### Outputs
|
|
103
|
+
|
|
104
|
+
| Tên | Kiểu dữ liệu | Mô tả |
|
|
105
|
+
|-----------------|---------------------------------------|-----------------------------------------------------|
|
|
106
|
+
| outStepSelected | `(ITabBreadCrumbSelected) => void` | Phát ra sự kiện khi chọn bước, trả về `{ index }` |
|
|
107
|
+
|
|
108
|
+
### Interfaces
|
|
109
|
+
|
|
110
|
+
#### `ITabBreadCrumb`
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
export interface ITabBreadCrumb {
|
|
114
|
+
number: number;
|
|
115
|
+
title: string;
|
|
116
|
+
valid?: boolean;
|
|
117
|
+
config?: IPopover;
|
|
118
|
+
disable?: boolean;
|
|
119
|
+
classInclude?: string;
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
#### `TYPE_MODE_BREADCRUMB`
|
|
124
|
+
|
|
125
|
+
```typescript
|
|
126
|
+
export type TYPE_MODE_BREADCRUMB = 'center' | 'left' | 'right';
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Ví dụ
|
|
130
|
+
|
|
131
|
+
### Breadcrumb cơ bản
|
|
132
|
+
|
|
133
|
+
**TypeScript (breadcrumb-basic.component.ts):**
|
|
134
|
+
|
|
135
|
+
```typescript
|
|
136
|
+
import { Component } from '@angular/core';
|
|
137
|
+
import { LibsUiComponentsBreadcrumbComponent } from '@libs-ui/components-breadcrumb';
|
|
138
|
+
|
|
139
|
+
@Component({
|
|
140
|
+
selector: 'app-breadcrumb-basic',
|
|
141
|
+
standalone: true,
|
|
142
|
+
imports: [LibsUiComponentsBreadcrumbComponent],
|
|
143
|
+
template: `
|
|
144
|
+
<libs_ui-components-breadcrumb
|
|
145
|
+
[steps]="steps"
|
|
146
|
+
></libs_ui-components-breadcrumb>
|
|
147
|
+
`
|
|
148
|
+
})
|
|
149
|
+
export class BreadcrumbBasicComponent {
|
|
150
|
+
steps = [
|
|
151
|
+
{ number: 1, title: 'Bước 1' },
|
|
152
|
+
{ number: 2, title: 'Bước 2' },
|
|
153
|
+
{ number: 3, title: 'Bước 3' }
|
|
154
|
+
];
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Breadcrumb với các chế độ căn chỉnh
|
|
159
|
+
|
|
160
|
+
**HTML (breadcrumb-mode.component.html):**
|
|
161
|
+
|
|
162
|
+
```html
|
|
163
|
+
<div class="flex gap-4">
|
|
164
|
+
<libs_ui-components-breadcrumb
|
|
165
|
+
[steps]="steps"
|
|
166
|
+
mode="left"
|
|
167
|
+
></libs_ui-components-breadcrumb>
|
|
168
|
+
<libs_ui-components-breadcrumb
|
|
169
|
+
[steps]="steps"
|
|
170
|
+
mode="center"
|
|
171
|
+
></libs_ui-components-breadcrumb>
|
|
172
|
+
<libs_ui-components-breadcrumb
|
|
173
|
+
[steps]="steps"
|
|
174
|
+
mode="right"
|
|
175
|
+
></libs_ui-components-breadcrumb>
|
|
176
|
+
</div>
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Breadcrumb với bước hoàn thành và vô hiệu hóa
|
|
180
|
+
|
|
181
|
+
**TypeScript (breadcrumb-status.component.ts):**
|
|
182
|
+
|
|
183
|
+
```typescript
|
|
184
|
+
import { Component } from '@angular/core';
|
|
185
|
+
import { LibsUiComponentsBreadcrumbComponent } from '@libs-ui/components-breadcrumb';
|
|
186
|
+
|
|
187
|
+
@Component({
|
|
188
|
+
selector: 'app-breadcrumb-status',
|
|
189
|
+
standalone: true,
|
|
190
|
+
imports: [LibsUiComponentsBreadcrumbComponent],
|
|
191
|
+
templateUrl: './breadcrumb-status.component.html'
|
|
192
|
+
})
|
|
193
|
+
export class BreadcrumbStatusComponent {
|
|
194
|
+
steps = [
|
|
195
|
+
{ number: 1, title: 'Bước 1', valid: true },
|
|
196
|
+
{ number: 2, title: 'Bước 2', valid: false },
|
|
197
|
+
{ number: 3, title: 'Bước 3', disable: true },
|
|
198
|
+
{ number: 4, title: 'Bước 4' }
|
|
199
|
+
];
|
|
200
|
+
completedIndex = [0];
|
|
201
|
+
}
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
**HTML (breadcrumb-status.component.html):**
|
|
205
|
+
|
|
206
|
+
```html
|
|
207
|
+
<libs_ui-components-breadcrumb
|
|
208
|
+
[steps]="steps"
|
|
209
|
+
[completedIndex]="completedIndex"
|
|
210
|
+
></libs_ui-components-breadcrumb>
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
+### Breadcrumb Arrow Style (Multi-Step)
|
|
214
|
+
+
|
|
215
|
+
+**HTML (breadcrumb-arrow.component.html):**
|
|
216
|
+
+```html
|
|
217
|
+
+<libs_ui-components-breadcrumb-multi_step
|
|
218
|
+
+ [stepsMulti]="arrowSteps"
|
|
219
|
+
+ (outMultiStepSelect)="onArrowStepSelected($event)">
|
|
220
|
+
+</libs_ui-components-breadcrumb-multi_step>
|
|
221
|
+
+```
|
|
222
|
+
+
|
|
223
|
+
+**TypeScript (breadcrumb-arrow.component.ts):**
|
|
224
|
+
+```typescript
|
|
225
|
+
+import { Component } from '@angular/core';
|
|
226
|
+
+import { LibsUiComponentsBreadcrumbMultiStepComponent } from '@libs-ui/components-breadcrumb';
|
|
227
|
+
+import { ITabBreadCrumbMultiStep, TYPE_MULTI_STEP } from '@libs-ui/components-breadcrumb';
|
|
228
|
+
+
|
|
229
|
+
+@Component({
|
|
230
|
+
+ selector: 'app-breadcrumb-arrow',
|
|
231
|
+
+ standalone: true,
|
|
232
|
+
+ imports: [LibsUiComponentsBreadcrumbMultiStepComponent],
|
|
233
|
+
+ templateUrl: './breadcrumb-arrow.component.html'
|
|
234
|
+
+})
|
|
235
|
+
+export class BreadcrumbArrowComponent {
|
|
236
|
+
+ arrowSteps: ITabBreadCrumbMultiStep[] = [
|
|
237
|
+
+ { number: 1, title: 'Bước 1', status: 'completed' as TYPE_MULTI_STEP, type: 'text' },
|
|
238
|
+
+ { number: 2, title: 'Bước 2', status: 'selected' as TYPE_MULTI_STEP, type: 'text' },
|
|
239
|
+
+ { number: 3, title: 'Bước 3', status: 'normal' as TYPE_MULTI_STEP, type: 'text' }
|
|
240
|
+
+ ];
|
|
241
|
+
+ onArrowStepSelected(event: any) {
|
|
242
|
+
+ console.log('Arrow step selected:', event);
|
|
243
|
+
+ }
|
|
244
|
+
+}
|
|
245
|
+
+```
|
|
@@ -4,17 +4,17 @@ import { LibsUiComponentsBreadcrumbCheckCompleteStepPipe } from './pipes/check-c
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@ngx-translate/core";
|
|
6
6
|
export class LibsUiComponentsBreadcrumbComponent {
|
|
7
|
-
|
|
7
|
+
// #region PROPERTY
|
|
8
8
|
selectedIndex = signal(0);
|
|
9
9
|
stepDisable = signal([]);
|
|
10
|
-
|
|
10
|
+
// #region INPUT
|
|
11
11
|
width = input(24);
|
|
12
12
|
mode = input('center');
|
|
13
13
|
steps = model();
|
|
14
14
|
classInclude = input();
|
|
15
15
|
completedIndex = model([]);
|
|
16
16
|
backgroundWhite = input();
|
|
17
|
-
|
|
17
|
+
// #region OUTPUT
|
|
18
18
|
outStepSelected = output();
|
|
19
19
|
outFunctionControl = output();
|
|
20
20
|
ngOnInit() {
|
|
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
67
67
|
LibsUiComponentsBreadcrumbCheckCompleteStepPipe
|
|
68
68
|
], template: "<div class=\"flex items-center {{ classInclude() || '' }}\"\n [class.justify-center]=\"mode() === 'center'\"\n [class.justify-start]=\"mode() === 'left'\"\n [class.justify-end]=\"mode() === 'right'\"\n [class.bg-[#ffffff]]=\"backgroundWhite()\">\n @for (step of steps(); track step) {\n <div class=\"libs-ui-breadcrumb-crumb flex {{ step.classInclude || 'w-full' }}\"\n [class.pointer-events-none]=\"step.disable\"\n (click)=\"handlerSelectStep($event, $index)\">\n @if ($index | LibsUiComponentsBreadcrumbCheckCompleteStepPipe:completedIndex()) {\n <span class=\"libs-ui-breadcrumb-crumb-check-complete\">\n <span class=\"libs-ui-breadcrumb-crumb-check-complete-icon libs-ui-icon-check inline-block m-auto\"></span>\n </span>\n } @else {\n <span class=\"libs-ui-breadcrumb-crumb-number libs-ui-font-h5m\"\n [class.disable]=\"step.disable\"\n [class.pointer-events-none]=\"step.disable\"\n [class.text-[#cdd0d6]]=\"step.disable\"\n [class.bg-[#f8f9fa]]=\"step.disable\"\n [class.text-[#ffffff]]=\"$index === selectedIndex()\"\n [class.bg-[var(--libs-ui-color-default)]]=\"$index === selectedIndex()\"\n [class.text-[var(--libs-ui-color-default)]]=\"$index !== selectedIndex()\"\n [class.bg-[var(--libs-ui-color-light-2)]]=\"$index !== selectedIndex()\">\n {{ step.number }}\n </span>\n }\n <span class=\"libs-ui-breadcrumb-crumb-title libs-ui-font-h5m\"\n [class.disable]=\"step.disable\"\n [class.pointer-events-none]=\"step.disable\"\n [class.text-[#cdd0d6]]=\"step.disable\"\n [class.active]=\"$index === selectedIndex()\"\n (click)=\"handlerLabelEvent($event, $index)\">\n {{ step.title | translate }}\n </span>\n @if (!$last) {\n <div class=\"mx-[12px] h-[1px] bg-[#e6e7ea]\"\n [style.width.px]=\"width()\">\n </div>\n }\n </div>\n }\n</div>\n", styles: [".libs-ui-breadcrumb-crumb{height:auto;position:relative;display:flex;align-items:center;cursor:pointer}.libs-ui-breadcrumb-crumb .libs-ui-breadcrumb-crumb-number{width:32px;height:32px;padding-top:1px;border-radius:20px;margin-right:12px;line-height:24px;flex-shrink:0;display:flex;justify-content:center;align-items:center}.libs-ui-breadcrumb-crumb .libs-ui-breadcrumb-crumb-number.disable{text-decoration:none;cursor:default}.libs-ui-breadcrumb-crumb .libs-ui-breadcrumb-crumb-check-complete{width:32px;height:32px;border-radius:20px;margin-right:12px;line-height:24px;flex-shrink:0;background-color:#00bc62;display:flex;justify-content:center;align-items:center}.libs-ui-breadcrumb-crumb .libs-ui-breadcrumb-crumb-check-complete .libs-ui-breadcrumb-crumb-check-complete-icon:before{color:#fff}.libs-ui-breadcrumb-crumb .libs-ui-breadcrumb-crumb-title{color:#6a7383}.libs-ui-breadcrumb-crumb .libs-ui-breadcrumb-crumb-title.disable{text-decoration:none;cursor:default}.libs-ui-breadcrumb-crumb .libs-ui-breadcrumb-crumb-title.active{color:#071631}\n"] }]
|
|
69
69
|
}] });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9zcmMvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9zcmMvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLCtDQUErQyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQWNuRyxNQUFNLE9BQU8sbUNBQW1DO0lBRTlDLGNBQWM7SUFDSixhQUFhLEdBQUcsTUFBTSxDQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLFdBQVcsR0FBRyxNQUFNLENBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBRWxELFdBQVc7SUFDRixLQUFLLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzFCLElBQUksR0FBRyxLQUFLLENBQXVCLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLEtBQUssR0FBRyxLQUFLLEVBQXlCLENBQUM7SUFDdkMsWUFBWSxHQUFHLEtBQUssRUFBVSxDQUFDO0lBQy9CLGNBQWMsR0FBRyxLQUFLLENBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLGVBQWUsR0FBRyxLQUFLLEVBQVcsQ0FBQztJQUU1QyxZQUFZO0lBQ0gsZUFBZSxHQUFHLE1BQU0sRUFBMEIsQ0FBQztJQUNuRCxrQkFBa0IsR0FBRyxNQUFNLEVBQW1DLENBQUM7SUFFeEUsUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7WUFDM0IsZUFBZSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUMvRCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNsRCxjQUFjLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzVELGdCQUFnQixFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNuRCxnQkFBZ0IsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDbEQsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDdkQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWU7SUFDTCxpQkFBaUIsQ0FBQyxLQUFZLEVBQUUsS0FBYTtRQUNyRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFUyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsUUFBaUIsRUFBRSxLQUFhO1FBQy9ELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEQsSUFBSSxVQUFVLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM1QixPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2xCLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFUyxLQUFLLENBQUMsa0JBQWtCLENBQUMsUUFBUSxHQUFHLElBQUksRUFBRSxLQUFjO1FBQ2hFLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM1QixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxLQUFZLEVBQUUsS0FBYTtRQUNyRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7d0dBN0RVLG1DQUFtQzs0RkFBbkMsbUNBQW1DLHloQ0NqQmhELHM4REEwQ0Esb2xDRDdCSSxlQUFlLHVGQUNmLCtDQUErQzs7NEZBR3RDLG1DQUFtQztrQkFaL0MsU0FBUzsrQkFFRSwrQkFBK0IsY0FHN0IsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLGVBQWU7d0JBQ2YsK0NBQStDO3FCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBtb2RlbCwgT25Jbml0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJQnJlYWRDcnVtYkZ1bmN0aW9uQ29udHJvbEV2ZW50LCBJVGFiQnJlYWRDcnVtYiwgSVRhYkJyZWFkQ3J1bWJTZWxlY3RlZCwgVFlQRV9NT0RFX0JSRUFEQ1JVTUIgfSBmcm9tICcuL2ludGVyZmFjZXMvYnJlYWRjcnVtYi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTGlic1VpQ29tcG9uZW50c0JyZWFkY3J1bWJDaGVja0NvbXBsZXRlU3RlcFBpcGUgfSBmcm9tICcuL3BpcGVzL2NoZWNrLWNvbXBsZXRlLXN0ZXAucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2xpYnNfdWktY29tcG9uZW50cy1icmVhZGNydW1iJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuc2NzcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIExpYnNVaUNvbXBvbmVudHNCcmVhZGNydW1iQ2hlY2tDb21wbGV0ZVN0ZXBQaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0JyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8qIFBST1BFUlRZICovXG4gIHByb3RlY3RlZCBzZWxlY3RlZEluZGV4ID0gc2lnbmFsPG51bWJlcj4oMCk7XG4gIHByb3RlY3RlZCBzdGVwRGlzYWJsZSA9IHNpZ25hbDxBcnJheTxudW1iZXI+PihbXSk7XG5cbiAgLyogSU5QVVQgKi9cbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dDxudW1iZXI+KDI0KTtcbiAgcmVhZG9ubHkgbW9kZSA9IGlucHV0PFRZUEVfTU9ERV9CUkVBRENSVU1CPignY2VudGVyJyk7XG4gIHJlYWRvbmx5IHN0ZXBzID0gbW9kZWw8QXJyYXk8SVRhYkJyZWFkQ3J1bWI+PigpO1xuICByZWFkb25seSBjbGFzc0luY2x1ZGUgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGNvbXBsZXRlZEluZGV4ID0gbW9kZWw8QXJyYXk8bnVtYmVyPj4oW10pO1xuICByZWFkb25seSBiYWNrZ3JvdW5kV2hpdGUgPSBpbnB1dDxib29sZWFuPigpO1xuXG4gIC8qIE9VVFBVVCAqL1xuICByZWFkb25seSBvdXRTdGVwU2VsZWN0ZWQgPSBvdXRwdXQ8SVRhYkJyZWFkQ3J1bWJTZWxlY3RlZD4oKTtcbiAgcmVhZG9ubHkgb3V0RnVuY3Rpb25Db250cm9sID0gb3V0cHV0PElCcmVhZENydW1iRnVuY3Rpb25Db250cm9sRXZlbnQ+KCk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5vdXRGdW5jdGlvbkNvbnRyb2wuZW1pdCh7XG4gICAgICBzZXRTZWxlY3RlZFN0ZXA6IGFzeW5jIChldmVudCkgPT4gdGhpcy5zZWxlY3RlZEluZGV4LnNldChldmVudCksXG4gICAgICBzZXRDb21wbGV0ZWRTdGVwOiB0aGlzLnNldENvbXBsZXRlZFN0ZXAuYmluZCh0aGlzKSxcbiAgICAgIHNldFN0ZXBEaXNhYmxlOiBhc3luYyAoZXZlbnQpID0+IHRoaXMuc3RlcERpc2FibGUuc2V0KGV2ZW50KSxcbiAgICAgIGdldENvbXBsZXRlSW5kZXg6IGFzeW5jICgpID0+IHRoaXMuY29tcGxldGVkSW5kZXgoKSxcbiAgICAgIGdldFNlbGVjdGVkSW5kZXg6IGFzeW5jICgpID0+IHRoaXMuc2VsZWN0ZWRJbmRleCgpLFxuICAgICAgcmVzZXRDb21wbGV0ZUluZGV4OiB0aGlzLnJlc2V0Q29tcGxldGVJbmRleC5iaW5kKHRoaXMpXG4gICAgfSk7XG4gIH1cblxuICAvKiBGVU5DVElPTlMgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZXJTZWxlY3RTdGVwKGV2ZW50OiBFdmVudCwgaW5kZXg6IG51bWJlcikge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMub3V0U3RlcFNlbGVjdGVkLmVtaXQoeyBpbmRleCB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBzZXRDb21wbGV0ZWRTdGVwKGNvbXBsZXRlOiBib29sZWFuLCBpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgaW5kZXhGb3VuZCA9IHRoaXMuY29tcGxldGVkSW5kZXgoKS5pbmRleE9mKGluZGV4KTtcbiAgICBpZiAoaW5kZXhGb3VuZCA+PSAwKSB7XG4gICAgICB0aGlzLmNvbXBsZXRlZEluZGV4LnVwZGF0ZShpdGVtcyA9PiB7XG4gICAgICAgIGl0ZW1zLnNwbGljZShpbmRleEZvdW5kLCAxKTtcbiAgICAgICAgcmV0dXJuIFsuLi5pdGVtc107XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGNvbXBsZXRlKSB7XG4gICAgICB0aGlzLmNvbXBsZXRlZEluZGV4LnVwZGF0ZShpdGVtcyA9PiB7XG4gICAgICAgIGl0ZW1zLnB1c2goaW5kZXgpO1xuICAgICAgICByZXR1cm4gWy4uLml0ZW1zXTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyByZXNldENvbXBsZXRlSW5kZXgocmVzZXRBbGwgPSB0cnVlLCBpbmRleD86IG51bWJlcikge1xuICAgIGlmIChyZXNldEFsbCkge1xuICAgICAgdGhpcy5jb21wbGV0ZWRJbmRleC5zZXQoW10pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNvbXBsZXRlZEluZGV4LnVwZGF0ZShpdGVtcyA9PiBpdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtICE9PSBpbmRleCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZXJMYWJlbEV2ZW50KGV2ZW50OiBFdmVudCwgaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuaGFuZGxlclNlbGVjdFN0ZXAoZXZlbnQsIGluZGV4KTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIge3sgY2xhc3NJbmNsdWRlKCkgfHwgJycgfX1cIlxuICBbY2xhc3MuanVzdGlmeS1jZW50ZXJdPVwibW9kZSgpID09PSAnY2VudGVyJ1wiXG4gIFtjbGFzcy5qdXN0aWZ5LXN0YXJ0XT1cIm1vZGUoKSA9PT0gJ2xlZnQnXCJcbiAgW2NsYXNzLmp1c3RpZnktZW5kXT1cIm1vZGUoKSA9PT0gJ3JpZ2h0J1wiXG4gIFtjbGFzcy5iZy1bI2ZmZmZmZl1dPVwiYmFja2dyb3VuZFdoaXRlKClcIj5cbiAgQGZvciAoc3RlcCBvZiBzdGVwcygpOyB0cmFjayBzdGVwKSB7XG4gICAgPGRpdiBjbGFzcz1cImxpYnMtdWktYnJlYWRjcnVtYi1jcnVtYiBmbGV4IHt7IHN0ZXAuY2xhc3NJbmNsdWRlIHx8ICd3LWZ1bGwnIH19XCJcbiAgICAgIFtjbGFzcy5wb2ludGVyLWV2ZW50cy1ub25lXT1cInN0ZXAuZGlzYWJsZVwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlclNlbGVjdFN0ZXAoJGV2ZW50LCAkaW5kZXgpXCI+XG4gICAgICBAaWYgKCRpbmRleCB8IExpYnNVaUNvbXBvbmVudHNCcmVhZGNydW1iQ2hlY2tDb21wbGV0ZVN0ZXBQaXBlOmNvbXBsZXRlZEluZGV4KCkpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsaWJzLXVpLWJyZWFkY3J1bWItY3J1bWItY2hlY2stY29tcGxldGVcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImxpYnMtdWktYnJlYWRjcnVtYi1jcnVtYi1jaGVjay1jb21wbGV0ZS1pY29uIGxpYnMtdWktaWNvbi1jaGVjayBpbmxpbmUtYmxvY2sgbS1hdXRvXCI+PC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsaWJzLXVpLWJyZWFkY3J1bWItY3J1bWItbnVtYmVyIGxpYnMtdWktZm9udC1oNW1cIlxuICAgICAgICAgIFtjbGFzcy5kaXNhYmxlXT1cInN0ZXAuZGlzYWJsZVwiXG4gICAgICAgICAgW2NsYXNzLnBvaW50ZXItZXZlbnRzLW5vbmVdPVwic3RlcC5kaXNhYmxlXCJcbiAgICAgICAgICBbY2xhc3MudGV4dC1bI2NkZDBkNl1dPVwic3RlcC5kaXNhYmxlXCJcbiAgICAgICAgICBbY2xhc3MuYmctWyNmOGY5ZmFdXT1cInN0ZXAuZGlzYWJsZVwiXG4gICAgICAgICAgW2NsYXNzLnRleHQtWyNmZmZmZmZdXT1cIiRpbmRleCA9PT0gc2VsZWN0ZWRJbmRleCgpXCJcbiAgICAgICAgICBbY2xhc3MuYmctW3ZhcigtLWxpYnMtdWktY29sb3ItZGVmYXVsdCldXT1cIiRpbmRleCA9PT0gc2VsZWN0ZWRJbmRleCgpXCJcbiAgICAgICAgICBbY2xhc3MudGV4dC1bdmFyKC0tbGlicy11aS1jb2xvci1kZWZhdWx0KV1dPVwiJGluZGV4ICE9PSBzZWxlY3RlZEluZGV4KClcIlxuICAgICAgICAgIFtjbGFzcy5iZy1bdmFyKC0tbGlicy11aS1jb2xvci1saWdodC0yKV1dPVwiJGluZGV4ICE9PSBzZWxlY3RlZEluZGV4KClcIj5cbiAgICAgICAgICB7eyBzdGVwLm51bWJlciB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICB9XG4gICAgICA8c3BhbiBjbGFzcz1cImxpYnMtdWktYnJlYWRjcnVtYi1jcnVtYi10aXRsZSBsaWJzLXVpLWZvbnQtaDVtXCJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVdPVwic3RlcC5kaXNhYmxlXCJcbiAgICAgICAgW2NsYXNzLnBvaW50ZXItZXZlbnRzLW5vbmVdPVwic3RlcC5kaXNhYmxlXCJcbiAgICAgICAgW2NsYXNzLnRleHQtWyNjZGQwZDZdXT1cInN0ZXAuZGlzYWJsZVwiXG4gICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiJGluZGV4ID09PSBzZWxlY3RlZEluZGV4KClcIlxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlckxhYmVsRXZlbnQoJGV2ZW50LCAkaW5kZXgpXCI+XG4gICAgICAgIHt7IHN0ZXAudGl0bGUgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIEBpZiAoISRsYXN0KSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJteC1bMTJweF0gaC1bMXB4XSBiZy1bI2U2ZTdlYV1cIlxuICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aCgpXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9zcmMvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9zcmMvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLCtDQUErQyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQWNuRyxNQUFNLE9BQU8sbUNBQW1DO0lBRTlDLG1CQUFtQjtJQUNULGFBQWEsR0FBRyxNQUFNLENBQVMsQ0FBQyxDQUFDLENBQUM7SUFDbEMsV0FBVyxHQUFHLE1BQU0sQ0FBZ0IsRUFBRSxDQUFDLENBQUM7SUFFbEQsZ0JBQWdCO0lBQ1AsS0FBSyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUMxQixJQUFJLEdBQUcsS0FBSyxDQUF1QixRQUFRLENBQUMsQ0FBQztJQUM3QyxLQUFLLEdBQUcsS0FBSyxFQUF5QixDQUFDO0lBQ3ZDLFlBQVksR0FBRyxLQUFLLEVBQVUsQ0FBQztJQUMvQixjQUFjLEdBQUcsS0FBSyxDQUFnQixFQUFFLENBQUMsQ0FBQztJQUMxQyxlQUFlLEdBQUcsS0FBSyxFQUFXLENBQUM7SUFFNUMsaUJBQWlCO0lBQ1IsZUFBZSxHQUFHLE1BQU0sRUFBMEIsQ0FBQztJQUNuRCxrQkFBa0IsR0FBRyxNQUFNLEVBQW1DLENBQUM7SUFFeEUsUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7WUFDM0IsZUFBZSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUMvRCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNsRCxjQUFjLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzVELGdCQUFnQixFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNuRCxnQkFBZ0IsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDbEQsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDdkQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWU7SUFDTCxpQkFBaUIsQ0FBQyxLQUFZLEVBQUUsS0FBYTtRQUNyRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFUyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsUUFBaUIsRUFBRSxLQUFhO1FBQy9ELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEQsSUFBSSxVQUFVLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM1QixPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2xCLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFUyxLQUFLLENBQUMsa0JBQWtCLENBQUMsUUFBUSxHQUFHLElBQUksRUFBRSxLQUFjO1FBQ2hFLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM1QixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxLQUFZLEVBQUUsS0FBYTtRQUNyRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7d0dBN0RVLG1DQUFtQzs0RkFBbkMsbUNBQW1DLHloQ0NqQmhELHM4REEwQ0Esb2xDRDdCSSxlQUFlLHVGQUNmLCtDQUErQzs7NEZBR3RDLG1DQUFtQztrQkFaL0MsU0FBUzsrQkFFRSwrQkFBK0IsY0FHN0IsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLGVBQWU7d0JBQ2YsK0NBQStDO3FCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBtb2RlbCwgT25Jbml0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJQnJlYWRDcnVtYkZ1bmN0aW9uQ29udHJvbEV2ZW50LCBJVGFiQnJlYWRDcnVtYiwgSVRhYkJyZWFkQ3J1bWJTZWxlY3RlZCwgVFlQRV9NT0RFX0JSRUFEQ1JVTUIgfSBmcm9tICcuL2ludGVyZmFjZXMvYnJlYWRjcnVtYi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTGlic1VpQ29tcG9uZW50c0JyZWFkY3J1bWJDaGVja0NvbXBsZXRlU3RlcFBpcGUgfSBmcm9tICcuL3BpcGVzL2NoZWNrLWNvbXBsZXRlLXN0ZXAucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2xpYnNfdWktY29tcG9uZW50cy1icmVhZGNydW1iJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuc2NzcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIExpYnNVaUNvbXBvbmVudHNCcmVhZGNydW1iQ2hlY2tDb21wbGV0ZVN0ZXBQaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0JyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8vICNyZWdpb24gUFJPUEVSVFlcbiAgcHJvdGVjdGVkIHNlbGVjdGVkSW5kZXggPSBzaWduYWw8bnVtYmVyPigwKTtcbiAgcHJvdGVjdGVkIHN0ZXBEaXNhYmxlID0gc2lnbmFsPEFycmF5PG51bWJlcj4+KFtdKTtcblxuICAvLyAjcmVnaW9uIElOUFVUXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQ8bnVtYmVyPigyNCk7XG4gIHJlYWRvbmx5IG1vZGUgPSBpbnB1dDxUWVBFX01PREVfQlJFQURDUlVNQj4oJ2NlbnRlcicpO1xuICByZWFkb25seSBzdGVwcyA9IG1vZGVsPEFycmF5PElUYWJCcmVhZENydW1iPj4oKTtcbiAgcmVhZG9ubHkgY2xhc3NJbmNsdWRlID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBjb21wbGV0ZWRJbmRleCA9IG1vZGVsPEFycmF5PG51bWJlcj4+KFtdKTtcbiAgcmVhZG9ubHkgYmFja2dyb3VuZFdoaXRlID0gaW5wdXQ8Ym9vbGVhbj4oKTtcblxuICAvLyAjcmVnaW9uIE9VVFBVVFxuICByZWFkb25seSBvdXRTdGVwU2VsZWN0ZWQgPSBvdXRwdXQ8SVRhYkJyZWFkQ3J1bWJTZWxlY3RlZD4oKTtcbiAgcmVhZG9ubHkgb3V0RnVuY3Rpb25Db250cm9sID0gb3V0cHV0PElCcmVhZENydW1iRnVuY3Rpb25Db250cm9sRXZlbnQ+KCk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5vdXRGdW5jdGlvbkNvbnRyb2wuZW1pdCh7XG4gICAgICBzZXRTZWxlY3RlZFN0ZXA6IGFzeW5jIChldmVudCkgPT4gdGhpcy5zZWxlY3RlZEluZGV4LnNldChldmVudCksXG4gICAgICBzZXRDb21wbGV0ZWRTdGVwOiB0aGlzLnNldENvbXBsZXRlZFN0ZXAuYmluZCh0aGlzKSxcbiAgICAgIHNldFN0ZXBEaXNhYmxlOiBhc3luYyAoZXZlbnQpID0+IHRoaXMuc3RlcERpc2FibGUuc2V0KGV2ZW50KSxcbiAgICAgIGdldENvbXBsZXRlSW5kZXg6IGFzeW5jICgpID0+IHRoaXMuY29tcGxldGVkSW5kZXgoKSxcbiAgICAgIGdldFNlbGVjdGVkSW5kZXg6IGFzeW5jICgpID0+IHRoaXMuc2VsZWN0ZWRJbmRleCgpLFxuICAgICAgcmVzZXRDb21wbGV0ZUluZGV4OiB0aGlzLnJlc2V0Q29tcGxldGVJbmRleC5iaW5kKHRoaXMpXG4gICAgfSk7XG4gIH1cblxuICAvKiBGVU5DVElPTlMgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZXJTZWxlY3RTdGVwKGV2ZW50OiBFdmVudCwgaW5kZXg6IG51bWJlcikge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMub3V0U3RlcFNlbGVjdGVkLmVtaXQoeyBpbmRleCB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBzZXRDb21wbGV0ZWRTdGVwKGNvbXBsZXRlOiBib29sZWFuLCBpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgaW5kZXhGb3VuZCA9IHRoaXMuY29tcGxldGVkSW5kZXgoKS5pbmRleE9mKGluZGV4KTtcbiAgICBpZiAoaW5kZXhGb3VuZCA+PSAwKSB7XG4gICAgICB0aGlzLmNvbXBsZXRlZEluZGV4LnVwZGF0ZShpdGVtcyA9PiB7XG4gICAgICAgIGl0ZW1zLnNwbGljZShpbmRleEZvdW5kLCAxKTtcbiAgICAgICAgcmV0dXJuIFsuLi5pdGVtc107XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGNvbXBsZXRlKSB7XG4gICAgICB0aGlzLmNvbXBsZXRlZEluZGV4LnVwZGF0ZShpdGVtcyA9PiB7XG4gICAgICAgIGl0ZW1zLnB1c2goaW5kZXgpO1xuICAgICAgICByZXR1cm4gWy4uLml0ZW1zXTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyByZXNldENvbXBsZXRlSW5kZXgocmVzZXRBbGwgPSB0cnVlLCBpbmRleD86IG51bWJlcikge1xuICAgIGlmIChyZXNldEFsbCkge1xuICAgICAgdGhpcy5jb21wbGV0ZWRJbmRleC5zZXQoW10pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNvbXBsZXRlZEluZGV4LnVwZGF0ZShpdGVtcyA9PiBpdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtICE9PSBpbmRleCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZXJMYWJlbEV2ZW50KGV2ZW50OiBFdmVudCwgaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuaGFuZGxlclNlbGVjdFN0ZXAoZXZlbnQsIGluZGV4KTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIge3sgY2xhc3NJbmNsdWRlKCkgfHwgJycgfX1cIlxuICBbY2xhc3MuanVzdGlmeS1jZW50ZXJdPVwibW9kZSgpID09PSAnY2VudGVyJ1wiXG4gIFtjbGFzcy5qdXN0aWZ5LXN0YXJ0XT1cIm1vZGUoKSA9PT0gJ2xlZnQnXCJcbiAgW2NsYXNzLmp1c3RpZnktZW5kXT1cIm1vZGUoKSA9PT0gJ3JpZ2h0J1wiXG4gIFtjbGFzcy5iZy1bI2ZmZmZmZl1dPVwiYmFja2dyb3VuZFdoaXRlKClcIj5cbiAgQGZvciAoc3RlcCBvZiBzdGVwcygpOyB0cmFjayBzdGVwKSB7XG4gICAgPGRpdiBjbGFzcz1cImxpYnMtdWktYnJlYWRjcnVtYi1jcnVtYiBmbGV4IHt7IHN0ZXAuY2xhc3NJbmNsdWRlIHx8ICd3LWZ1bGwnIH19XCJcbiAgICAgIFtjbGFzcy5wb2ludGVyLWV2ZW50cy1ub25lXT1cInN0ZXAuZGlzYWJsZVwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlclNlbGVjdFN0ZXAoJGV2ZW50LCAkaW5kZXgpXCI+XG4gICAgICBAaWYgKCRpbmRleCB8IExpYnNVaUNvbXBvbmVudHNCcmVhZGNydW1iQ2hlY2tDb21wbGV0ZVN0ZXBQaXBlOmNvbXBsZXRlZEluZGV4KCkpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsaWJzLXVpLWJyZWFkY3J1bWItY3J1bWItY2hlY2stY29tcGxldGVcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImxpYnMtdWktYnJlYWRjcnVtYi1jcnVtYi1jaGVjay1jb21wbGV0ZS1pY29uIGxpYnMtdWktaWNvbi1jaGVjayBpbmxpbmUtYmxvY2sgbS1hdXRvXCI+PC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsaWJzLXVpLWJyZWFkY3J1bWItY3J1bWItbnVtYmVyIGxpYnMtdWktZm9udC1oNW1cIlxuICAgICAgICAgIFtjbGFzcy5kaXNhYmxlXT1cInN0ZXAuZGlzYWJsZVwiXG4gICAgICAgICAgW2NsYXNzLnBvaW50ZXItZXZlbnRzLW5vbmVdPVwic3RlcC5kaXNhYmxlXCJcbiAgICAgICAgICBbY2xhc3MudGV4dC1bI2NkZDBkNl1dPVwic3RlcC5kaXNhYmxlXCJcbiAgICAgICAgICBbY2xhc3MuYmctWyNmOGY5ZmFdXT1cInN0ZXAuZGlzYWJsZVwiXG4gICAgICAgICAgW2NsYXNzLnRleHQtWyNmZmZmZmZdXT1cIiRpbmRleCA9PT0gc2VsZWN0ZWRJbmRleCgpXCJcbiAgICAgICAgICBbY2xhc3MuYmctW3ZhcigtLWxpYnMtdWktY29sb3ItZGVmYXVsdCldXT1cIiRpbmRleCA9PT0gc2VsZWN0ZWRJbmRleCgpXCJcbiAgICAgICAgICBbY2xhc3MudGV4dC1bdmFyKC0tbGlicy11aS1jb2xvci1kZWZhdWx0KV1dPVwiJGluZGV4ICE9PSBzZWxlY3RlZEluZGV4KClcIlxuICAgICAgICAgIFtjbGFzcy5iZy1bdmFyKC0tbGlicy11aS1jb2xvci1saWdodC0yKV1dPVwiJGluZGV4ICE9PSBzZWxlY3RlZEluZGV4KClcIj5cbiAgICAgICAgICB7eyBzdGVwLm51bWJlciB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICB9XG4gICAgICA8c3BhbiBjbGFzcz1cImxpYnMtdWktYnJlYWRjcnVtYi1jcnVtYi10aXRsZSBsaWJzLXVpLWZvbnQtaDVtXCJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVdPVwic3RlcC5kaXNhYmxlXCJcbiAgICAgICAgW2NsYXNzLnBvaW50ZXItZXZlbnRzLW5vbmVdPVwic3RlcC5kaXNhYmxlXCJcbiAgICAgICAgW2NsYXNzLnRleHQtWyNjZGQwZDZdXT1cInN0ZXAuZGlzYWJsZVwiXG4gICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiJGluZGV4ID09PSBzZWxlY3RlZEluZGV4KClcIlxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlckxhYmVsRXZlbnQoJGV2ZW50LCAkaW5kZXgpXCI+XG4gICAgICAgIHt7IHN0ZXAudGl0bGUgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIEBpZiAoISRsYXN0KSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJteC1bMTJweF0gaC1bMXB4XSBiZy1bI2U2ZTdlYV1cIlxuICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aCgpXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==
|
|
@@ -11,18 +11,18 @@ import { TranslateModule } from "@ngx-translate/core";
|
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
import * as i1 from "@ngx-translate/core";
|
|
13
13
|
export class LibsUiComponentsBreadcrumbMultiStepComponent extends LibsUiComponentsBreadcrumbComponent {
|
|
14
|
-
|
|
14
|
+
// #region PROPERTY
|
|
15
15
|
failedIndex = signal([]);
|
|
16
16
|
listKeyHidden = signal(undefined);
|
|
17
17
|
openList = signal(false);
|
|
18
18
|
indexFocus = signal(undefined);
|
|
19
19
|
dropDownFunctionControl = signal(undefined);
|
|
20
|
-
|
|
20
|
+
// #region INPUT
|
|
21
21
|
popoverCustomConfig = input(ConfigPopupDropdown());
|
|
22
22
|
stepsMulti = input.required();
|
|
23
23
|
configClassMultiStep = input();
|
|
24
24
|
elementRef = input();
|
|
25
|
-
|
|
25
|
+
// #region OUTPUT
|
|
26
26
|
// Note: Kiểu dữ liệu của step sẽ được định nghĩa từ bên ngoài với type general <T>
|
|
27
27
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
28
28
|
outMultiStepSelect = output();
|
|
@@ -73,7 +73,7 @@ export class LibsUiComponentsBreadcrumbMultiStepComponent extends LibsUiComponen
|
|
|
73
73
|
}, 1000);
|
|
74
74
|
}
|
|
75
75
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsBreadcrumbMultiStepComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
76
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsBreadcrumbMultiStepComponent, isStandalone: true, selector: "libs_ui-components-breadcrumb-multi_step", inputs: { popoverCustomConfig: { classPropertyName: "popoverCustomConfig", publicName: "popoverCustomConfig", isSignal: true, isRequired: false, transformFunction: null }, stepsMulti: { classPropertyName: "stepsMulti", publicName: "stepsMulti", isSignal: true, isRequired: true, transformFunction: null }, configClassMultiStep: { classPropertyName: "configClassMultiStep", publicName: "configClassMultiStep", isSignal: true, isRequired: false, transformFunction: null }, elementRef: { classPropertyName: "elementRef", publicName: "elementRef", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outMultiStepSelect: "outMultiStepSelect" }, viewQueries: [{ propertyName: "stepEl", predicate: ["stepEl"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"flex items-center {{ classInclude() || '' }}\"\n [class.justify-center]=\"mode() === 'center'\"\n [class.justify-start]=\"mode() === 'left'\"\n [class.justify-end]=\"mode() === 'right'\"\n [class.bg-[#ffffff]]=\"backgroundWhite()\"\n #containerEl>\n @for (step of stepsMulti(); track step) {\n <div #stepEl\n class=\"flex libs-ui-breadcrumb-multi-step\"\n [class.cursor-default]=\"step.status === 'disabled'\"\n [class.pointer-events-none]=\"step.status === 'disabled'\"\n [class.cursor-pointer]=\"step.status !== 'disabled'\">\n @if (step.type === 'text') {\n <div (click)=\"handlerLabelEvent($event, $index)\">\n <ng-container [ngTemplateOutlet]=\"contentEl\"\n [ngTemplateOutletContext]=\"{$index, $first, $last, step}\" />\n </div>\n } @else {\n <libs_ui-components-dropdown [isNgContent]=\"true\"\n [listHiddenInputSearch]=\"true\"\n [listHasButtonUnSelectOption]=\"step.listHasButtonUnSelectOption\"\n [listConfig]=\"step.listConfigItem\"\n [popoverCustomConfig]=\"popoverCustomConfig()\"\n [listKeysHidden]=\"listKeyHidden() ?? step.listKeysHidden\"\n [disable]=\"$index | LibsUiComponentsBreadcrumbCheckDisableStepPipe:stepDisable()\"\n (outShowList)=\"handlerShowList($event, $index)\"\n (outSelectKey)=\"handlerSelectKey($event, $index)\"\n (outFunctionsControl)=\"handlerDropDownFunctionControl($event)\">\n <ng-container [ngTemplateOutlet]=\"contentEl\"\n [ngTemplateOutletContext]=\"{$index, $first, $last, step}\" />\n </libs_ui-components-dropdown>\n }\n </div>\n }\n</div>\n\n<ng-template #contentEl\n let-index=\"$index\"\n let-first=\"$first\"\n let-step=\"step\"\n let-last=\"$last\">\n <div class=\"flex items-center\">\n @if (!first) {\n <libs_ui-components-breadcrumb-multi_step-arrow_end class=\"libs-ui-breadcrumb-multi-step-normal relative left-[1px] top-0\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\" />\n }\n <div class=\"libs-ui-breadcrumb-multi-step-center flex items-center justify-center libs-ui-font-h6m\">\n <libs_ui-components-popover [classInclude]=\"'libs-ui-breadcrumb-multi-step-center-popover py-[12px] ' + (configClassMultiStep()?.classInclude || '')\"\n [type]=\"'text'\"\n [ignoreShowPopover]=\"true\"\n [ignoreStopPropagationEvent]=\"true\">\n <div class=\"libs-ui-font-h6m flex items-center justify-center gap-2 h-[40px]\"\n [style.max-width.px]=\"configClassMultiStep()?.maxWidth || 200\"\n [style.width.px]=\"configClassMultiStep()?.width\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\"\n [class.rounded-tl-[4px]]=\"first\"\n [class.rounded-bl-[4px]]=\"first\"\n [class.pl-[6px]]=\"first\"\n [class.rounded-tr-[4px]]=\"last\"\n [class.rounded-br-[4px]]=\"last\"\n [class.pr-[16px]]=\"last\">\n <libs_ui-components-popover [classInclude]=\"'text-nowrap pl-[10px] ' + (configClassMultiStep()?.classTitleInclude || 'max-w-[160px]')\"\n [type]=\"'text'\"\n [config]=\"step.popover || { maxWidth: 250, direction: 'top', content: step.title | translate }\"\n [ignoreStopPropagationEvent]=\"true\"\n [innerHTML]=\"step.title | translate\" />\n @if (step.type === 'dropdown') {\n <i [attr.isFocus]=\"openList() && indexFocus() === index\"\n class=\"libs-ui-icon-move-right rotate-90\"></i>\n }\n </div>\n </libs_ui-components-popover>\n </div>\n @if (!last) {\n <libs_ui-components-breadcrumb-multi_step-arrow_begin class=\"libs-ui-breadcrumb-multi-step-normal relative left-[-1px] top-0\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\" />\n }\n </div>\n</ng-template>\n", styles: [".libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover{color:#6a7383;background-color:#e6e7ea}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover>i[focus=true]:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover>i[focus=true]:after{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover>i:after{color:#6a7383;background-color:#e6e7ea}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.active>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.active>i:after{background-color:var(--libs-ui-button-other-color-background, #226ff5);color:#fff}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete>i:after{background-color:#e6faf0;color:#00bc62}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete>i[focus=true]:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete>i[focus=true]:after{background-color:#e6faf0;color:#00bc62}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed>i:after{background-color:#fdeaec;color:#ee2d41}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed>i[focus=true]:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed>i[focus=true]:after{background-color:#fdeaec;color:#ee2d41}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.disabled>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.disabled>i:after{background-color:#f8f9fa;color:#cdd0d6}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.active{background-color:var(--libs-ui-button-other-color-background, #226ff5);color:#fff}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete{background-color:#e6faf0;color:#00bc62}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete[focus=true]{background-color:#e6faf0!important;color:#00bc62!important}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed{background-color:#fdeaec;color:#ee2d41}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed[focus=true]{background-color:#fdeaec!important;color:#ee2d41!important}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.disabled{background-color:#f8f9fa;color:#cdd0d6}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover[focus=true]{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal{fill:#e6e7ea}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.active{fill:var(--libs-ui-button-other-color-background, #226ff5)}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.complete{fill:#e6faf0}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.complete[focus=true]{fill:#e6faf0!important}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.failed{fill:#fdeaec}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.failed[focus=true]{fill:#fdeaec!important}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.disabled{fill:#f8f9fa}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal[focus=true],.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal.complete,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal.failed{fill:#e9f1fe}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal.disabled{fill:#f8f9fa}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal.active{fill:var(--libs-ui-button-other-color-background, #226ff5)}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover>i:before,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover>i:after{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.complete,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.failed{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.active{background-color:var(--libs-ui-button-other-color-background, #226ff5);color:#fff}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.active>i:before,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.active>i:after{background-color:var(--libs-ui-button-other-color-background, #226ff5);color:#fff}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.disabled{background-color:#f8f9fa;color:#cdd0d6}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.disabled>i:before,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.disabled>i:after{background-color:#f8f9fa;color:#cdd0d6}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LibsUiComponentsBreadcrumbMultiStepArrowBeginComponent, selector: "libs_ui-components-breadcrumb-multi_step-arrow_begin" }, { kind: "component", type: LibsUiComponentsBreadcrumbMultiStepArrowEndComponent, selector: "libs_ui-components-breadcrumb-multi_step-arrow_end" }, { kind: "component", type: LibsUiComponentsPopoverComponent, selector: "libs_ui-components-popover,[LibsUiComponentsPopoverDirective]", inputs: ["debugId", "flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "classInclude", "ignoreHiddenPopoverContentWhenMouseLeave", "ignoreStopPropagationEvent", "ignoreCursorPointerModeLikeClick", "isAddContentToParentDocument", "ignoreClickOutside"], outputs: ["outEvent", "outChangStageFlagMouse", "outEventPopoverContent", "outFunctionsControl"] }, { kind: "component", type: LibsUiComponentsDropdownComponent, selector: "libs_ui-components-dropdown", inputs: ["useXssFilter", "popoverElementRefCustom", "classInclude", "ignoreStopPropagationEvent", "flagMouse", "flagMouseContent", "popoverCustomConfig", "isNgContent", "zIndex", "convertItemSelected", "getPopoverItemSelected", "httpRequestDetailItemById", "lengthKeys", "textDisplayWhenNoSelect", "textDisplayWhenMultiSelect", "classIncludeTextDisplayWhenNoSelect", "fieldGetLabel", "labelPopoverConfig", "labelPopoverFullWidth", "hasContentUnitRight", "listSearchNoDataTemplateRef", "fieldGetImage", "imageSize", "typeShape", "fieldGetIcon", "fieldGetTextAvatar", "fieldGetColorAvatar", "classAvatarInclude", "getLastTextAfterSpace", "linkImageError", "showError", "showBorderError", "disable", "readonly", "labelConfig", "listSearchConfig", "isSearchOnline", "listHiddenInputSearch", "listSearchPadding", "listKeySearch", "listDividerClassInclude", "listConfig", "listButtonsOther", "listHasButtonUnSelectOption", "listClickExactly", "listBackgroundCustom", "listMaxItemShow", "listKeySelected", "listMultiKeySelected", "listKeysDisable", "listKeysHidden", "validRequired", "validMaxItemSelected", "changeValidUndefinedResetError", "allowSelectItemMultiple", "focusInputSearch", "onlyEmitDataWhenReset", "resetKeyWhenSelectAllKey", "listConfigHasDivider", "classIncludeIcon", "classIncludeContent", "listIgnoreClassDisableDefaultWhenUseKeysDisableItem", "tabKeyActive", "tabsConfig", "ignoreBorderBottom"], outputs: ["flagMouseChange", "flagMouseContentChange", "lengthKeysChange", "showBorderErrorChange", "listKeySelectedChange", "listMultiKeySelectedChange", "tabKeyActiveChange", "outSelectKey", "outSelectMultiKey", "outFunctionsControl", "outValidEvent", "outChangStageFlagMouse", "outDataChange", "outClickButtonOther", "outShowList", "outChangeTabKeyActive"] }, { kind: "pipe", type: LibsUiComponentsBreadcrumbCheckDisableStepPipe, name: "LibsUiComponentsBreadcrumbCheckDisableStepPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
76
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsBreadcrumbMultiStepComponent, isStandalone: true, selector: "libs_ui-components-breadcrumb-multi_step", inputs: { popoverCustomConfig: { classPropertyName: "popoverCustomConfig", publicName: "popoverCustomConfig", isSignal: true, isRequired: false, transformFunction: null }, stepsMulti: { classPropertyName: "stepsMulti", publicName: "stepsMulti", isSignal: true, isRequired: true, transformFunction: null }, configClassMultiStep: { classPropertyName: "configClassMultiStep", publicName: "configClassMultiStep", isSignal: true, isRequired: false, transformFunction: null }, elementRef: { classPropertyName: "elementRef", publicName: "elementRef", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outMultiStepSelect: "outMultiStepSelect" }, viewQueries: [{ propertyName: "stepEl", predicate: ["stepEl"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"flex items-center {{ classInclude() || '' }}\"\n [class.justify-center]=\"mode() === 'center'\"\n [class.justify-start]=\"mode() === 'left'\"\n [class.justify-end]=\"mode() === 'right'\"\n [class.bg-[#ffffff]]=\"backgroundWhite()\"\n #containerEl>\n @for (step of stepsMulti(); track step) {\n <div #stepEl\n class=\"flex libs-ui-breadcrumb-multi-step\"\n [class.cursor-default]=\"step.status === 'disabled'\"\n [class.pointer-events-none]=\"step.status === 'disabled'\"\n [class.cursor-pointer]=\"step.status !== 'disabled'\">\n @if (step.type === 'text') {\n <div (click)=\"handlerLabelEvent($event, $index)\">\n <ng-container [ngTemplateOutlet]=\"contentEl\"\n [ngTemplateOutletContext]=\"{$index, $first, $last, step}\" />\n </div>\n } @else {\n <libs_ui-components-dropdown [isNgContent]=\"true\"\n [listHiddenInputSearch]=\"true\"\n [listHasButtonUnSelectOption]=\"step.listHasButtonUnSelectOption\"\n [listConfig]=\"step.listConfigItem\"\n [popoverCustomConfig]=\"popoverCustomConfig()\"\n [listKeysHidden]=\"listKeyHidden() ?? step.listKeysHidden\"\n [disable]=\"$index | LibsUiComponentsBreadcrumbCheckDisableStepPipe:stepDisable()\"\n (outShowList)=\"handlerShowList($event, $index)\"\n (outSelectKey)=\"handlerSelectKey($event, $index)\"\n (outFunctionsControl)=\"handlerDropDownFunctionControl($event)\">\n <ng-container [ngTemplateOutlet]=\"contentEl\"\n [ngTemplateOutletContext]=\"{$index, $first, $last, step}\" />\n </libs_ui-components-dropdown>\n }\n </div>\n }\n</div>\n\n<ng-template #contentEl\n let-index=\"$index\"\n let-first=\"$first\"\n let-step=\"step\"\n let-last=\"$last\">\n <div class=\"flex items-center\">\n @if (!first) {\n <libs_ui-components-breadcrumb-multi_step-arrow_end class=\"libs-ui-breadcrumb-multi-step-normal relative left-[1px] top-0\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\" />\n }\n <div class=\"libs-ui-breadcrumb-multi-step-center flex items-center justify-center libs-ui-font-h6m\">\n <libs_ui-components-popover [classInclude]=\"'libs-ui-breadcrumb-multi-step-center-popover py-[12px] ' + (configClassMultiStep()?.classInclude || '')\"\n [type]=\"'text'\"\n [ignoreShowPopover]=\"true\"\n [ignoreStopPropagationEvent]=\"true\">\n <div class=\"libs-ui-font-h6m flex items-center justify-center gap-2 h-[40px]\"\n [style.max-width.px]=\"configClassMultiStep()?.maxWidth || 200\"\n [style.width.px]=\"configClassMultiStep()?.width\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\"\n [class.rounded-tl-[4px]]=\"first\"\n [class.rounded-bl-[4px]]=\"first\"\n [class.pl-[6px]]=\"first\"\n [class.rounded-tr-[4px]]=\"last\"\n [class.rounded-br-[4px]]=\"last\"\n [class.pr-[16px]]=\"last\">\n <libs_ui-components-popover [classInclude]=\"'text-nowrap pl-[10px] ' + (configClassMultiStep()?.classTitleInclude || 'max-w-[160px]')\"\n [type]=\"'text'\"\n [config]=\"step.popover || { maxWidth: 250, direction: 'top', content: step.title | translate }\"\n [ignoreStopPropagationEvent]=\"true\"\n [innerHTML]=\"step.title | translate\" />\n @if (step.type === 'dropdown') {\n <i [attr.isFocus]=\"openList() && indexFocus() === index\"\n class=\"libs-ui-icon-move-right rotate-90\"></i>\n }\n </div>\n </libs_ui-components-popover>\n </div>\n @if (!last) {\n <libs_ui-components-breadcrumb-multi_step-arrow_begin class=\"libs-ui-breadcrumb-multi-step-normal relative left-[-1px] top-0\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\" />\n }\n </div>\n</ng-template>\n", styles: [".libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover{color:#6a7383;background-color:#e6e7ea}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover>i[focus=true]:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover>i[focus=true]:after{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover>i:after{color:#6a7383;background-color:#e6e7ea}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.active>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.active>i:after{background-color:var(--libs-ui-button-other-color-background, #226ff5);color:#fff}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete>i:after{background-color:#e6faf0;color:#00bc62}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete>i[focus=true]:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete>i[focus=true]:after{background-color:#e6faf0;color:#00bc62}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed>i:after{background-color:#fdeaec;color:#ee2d41}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed>i[focus=true]:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed>i[focus=true]:after{background-color:#fdeaec;color:#ee2d41}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.disabled>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.disabled>i:after{background-color:#f8f9fa;color:#cdd0d6}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.active{background-color:var(--libs-ui-button-other-color-background, #226ff5);color:#fff}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete{background-color:#e6faf0;color:#00bc62}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete[focus=true]{background-color:#e6faf0!important;color:#00bc62!important}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed{background-color:#fdeaec;color:#ee2d41}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed[focus=true]{background-color:#fdeaec!important;color:#ee2d41!important}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.disabled{background-color:#f8f9fa;color:#cdd0d6}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover[focus=true]{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal{fill:#e6e7ea}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.active{fill:var(--libs-ui-button-other-color-background, #226ff5)}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.complete{fill:#e6faf0}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.complete[focus=true]{fill:#e6faf0!important}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.failed{fill:#fdeaec}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.failed[focus=true]{fill:#fdeaec!important}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.disabled{fill:#f8f9fa}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal[focus=true],.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal.complete,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal.failed{fill:#e9f1fe}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal.disabled{fill:#f8f9fa}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal.active{fill:var(--libs-ui-button-other-color-background, #226ff5)}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover>i:before,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover>i:after{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.complete,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.failed{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.active{background-color:var(--libs-ui-button-other-color-background, #226ff5);color:#fff}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.active>i:before,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.active>i:after{background-color:var(--libs-ui-button-other-color-background, #226ff5);color:#fff}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.disabled{background-color:#f8f9fa;color:#cdd0d6}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.disabled>i:before,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.disabled>i:after{background-color:#f8f9fa;color:#cdd0d6}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LibsUiComponentsBreadcrumbMultiStepArrowBeginComponent, selector: "libs_ui-components-breadcrumb-multi_step-arrow_begin" }, { kind: "component", type: LibsUiComponentsBreadcrumbMultiStepArrowEndComponent, selector: "libs_ui-components-breadcrumb-multi_step-arrow_end" }, { kind: "component", type: LibsUiComponentsPopoverComponent, selector: "libs_ui-components-popover,[LibsUiComponentsPopoverDirective]", inputs: ["debugId", "flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "initEventInElementRefCustom", "classInclude", "ignoreHiddenPopoverContentWhenMouseLeave", "ignoreStopPropagationEvent", "ignoreCursorPointerModeLikeClick", "isAddContentToParentDocument", "ignoreClickOutside"], outputs: ["outEvent", "outChangStageFlagMouse", "outEventPopoverContent", "outFunctionsControl"] }, { kind: "component", type: LibsUiComponentsDropdownComponent, selector: "libs_ui-components-dropdown", inputs: ["useXssFilter", "popoverElementRefCustom", "classInclude", "ignoreStopPropagationEvent", "flagMouse", "flagMouseContent", "popoverCustomConfig", "isNgContent", "zIndex", "convertItemSelected", "getPopoverItemSelected", "httpRequestDetailItemById", "lengthKeys", "textDisplayWhenNoSelect", "textDisplayWhenMultiSelect", "classIncludeTextDisplayWhenNoSelect", "fieldLabel", "fieldGetLabel", "labelPopoverConfig", "labelPopoverFullWidth", "hasContentUnitRight", "listSearchNoDataTemplateRef", "fieldGetImage", "imageSize", "typeShape", "fieldGetIcon", "fieldGetTextAvatar", "fieldGetColorAvatar", "classAvatarInclude", "getLastTextAfterSpace", "linkImageError", "showError", "showBorderError", "disable", "readonly", "labelConfig", "disableLabel", "listSearchConfig", "isSearchOnline", "listHiddenInputSearch", "listSearchPadding", "listKeySearch", "listDividerClassInclude", "listConfig", "listButtonsOther", "listHasButtonUnSelectOption", "listClickExactly", "listBackgroundCustom", "listMaxItemShow", "listKeySelected", "listMultiKeySelected", "listKeysDisable", "listKeysHidden", "validRequired", "validMaxItemSelected", "changeValidUndefinedResetError", "allowSelectItemMultiple", "focusInputSearch", "onlyEmitDataWhenReset", "resetKeyWhenSelectAllKey", "listConfigHasDivider", "classIncludeIcon", "classIncludeContent", "listIgnoreClassDisableDefaultWhenUseKeysDisableItem", "tabKeyActive", "tabsConfig", "ignoreBorderBottom"], outputs: ["flagMouseChange", "flagMouseContentChange", "lengthKeysChange", "showBorderErrorChange", "listKeySelectedChange", "listMultiKeySelectedChange", "tabKeyActiveChange", "outSelectKey", "outSelectMultiKey", "outFunctionsControl", "outValidEvent", "outChangStageFlagMouse", "outDataChange", "outClickButtonOther", "outShowList", "outChangeTabKeyActive"] }, { kind: "pipe", type: LibsUiComponentsBreadcrumbCheckDisableStepPipe, name: "LibsUiComponentsBreadcrumbCheckDisableStepPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
77
77
|
}
|
|
78
78
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsBreadcrumbMultiStepComponent, decorators: [{
|
|
79
79
|
type: Component,
|
|
@@ -86,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
86
86
|
LibsUiComponentsBreadcrumbCheckDisableStepPipe
|
|
87
87
|
], template: "<div class=\"flex items-center {{ classInclude() || '' }}\"\n [class.justify-center]=\"mode() === 'center'\"\n [class.justify-start]=\"mode() === 'left'\"\n [class.justify-end]=\"mode() === 'right'\"\n [class.bg-[#ffffff]]=\"backgroundWhite()\"\n #containerEl>\n @for (step of stepsMulti(); track step) {\n <div #stepEl\n class=\"flex libs-ui-breadcrumb-multi-step\"\n [class.cursor-default]=\"step.status === 'disabled'\"\n [class.pointer-events-none]=\"step.status === 'disabled'\"\n [class.cursor-pointer]=\"step.status !== 'disabled'\">\n @if (step.type === 'text') {\n <div (click)=\"handlerLabelEvent($event, $index)\">\n <ng-container [ngTemplateOutlet]=\"contentEl\"\n [ngTemplateOutletContext]=\"{$index, $first, $last, step}\" />\n </div>\n } @else {\n <libs_ui-components-dropdown [isNgContent]=\"true\"\n [listHiddenInputSearch]=\"true\"\n [listHasButtonUnSelectOption]=\"step.listHasButtonUnSelectOption\"\n [listConfig]=\"step.listConfigItem\"\n [popoverCustomConfig]=\"popoverCustomConfig()\"\n [listKeysHidden]=\"listKeyHidden() ?? step.listKeysHidden\"\n [disable]=\"$index | LibsUiComponentsBreadcrumbCheckDisableStepPipe:stepDisable()\"\n (outShowList)=\"handlerShowList($event, $index)\"\n (outSelectKey)=\"handlerSelectKey($event, $index)\"\n (outFunctionsControl)=\"handlerDropDownFunctionControl($event)\">\n <ng-container [ngTemplateOutlet]=\"contentEl\"\n [ngTemplateOutletContext]=\"{$index, $first, $last, step}\" />\n </libs_ui-components-dropdown>\n }\n </div>\n }\n</div>\n\n<ng-template #contentEl\n let-index=\"$index\"\n let-first=\"$first\"\n let-step=\"step\"\n let-last=\"$last\">\n <div class=\"flex items-center\">\n @if (!first) {\n <libs_ui-components-breadcrumb-multi_step-arrow_end class=\"libs-ui-breadcrumb-multi-step-normal relative left-[1px] top-0\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\" />\n }\n <div class=\"libs-ui-breadcrumb-multi-step-center flex items-center justify-center libs-ui-font-h6m\">\n <libs_ui-components-popover [classInclude]=\"'libs-ui-breadcrumb-multi-step-center-popover py-[12px] ' + (configClassMultiStep()?.classInclude || '')\"\n [type]=\"'text'\"\n [ignoreShowPopover]=\"true\"\n [ignoreStopPropagationEvent]=\"true\">\n <div class=\"libs-ui-font-h6m flex items-center justify-center gap-2 h-[40px]\"\n [style.max-width.px]=\"configClassMultiStep()?.maxWidth || 200\"\n [style.width.px]=\"configClassMultiStep()?.width\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\"\n [class.rounded-tl-[4px]]=\"first\"\n [class.rounded-bl-[4px]]=\"first\"\n [class.pl-[6px]]=\"first\"\n [class.rounded-tr-[4px]]=\"last\"\n [class.rounded-br-[4px]]=\"last\"\n [class.pr-[16px]]=\"last\">\n <libs_ui-components-popover [classInclude]=\"'text-nowrap pl-[10px] ' + (configClassMultiStep()?.classTitleInclude || 'max-w-[160px]')\"\n [type]=\"'text'\"\n [config]=\"step.popover || { maxWidth: 250, direction: 'top', content: step.title | translate }\"\n [ignoreStopPropagationEvent]=\"true\"\n [innerHTML]=\"step.title | translate\" />\n @if (step.type === 'dropdown') {\n <i [attr.isFocus]=\"openList() && indexFocus() === index\"\n class=\"libs-ui-icon-move-right rotate-90\"></i>\n }\n </div>\n </libs_ui-components-popover>\n </div>\n @if (!last) {\n <libs_ui-components-breadcrumb-multi_step-arrow_begin class=\"libs-ui-breadcrumb-multi-step-normal relative left-[-1px] top-0\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\" />\n }\n </div>\n</ng-template>\n", styles: [".libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover{color:#6a7383;background-color:#e6e7ea}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover>i[focus=true]:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover>i[focus=true]:after{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover>i:after{color:#6a7383;background-color:#e6e7ea}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.active>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.active>i:after{background-color:var(--libs-ui-button-other-color-background, #226ff5);color:#fff}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete>i:after{background-color:#e6faf0;color:#00bc62}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete>i[focus=true]:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete>i[focus=true]:after{background-color:#e6faf0;color:#00bc62}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed>i:after{background-color:#fdeaec;color:#ee2d41}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed>i[focus=true]:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed>i[focus=true]:after{background-color:#fdeaec;color:#ee2d41}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.disabled>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.disabled>i:after{background-color:#f8f9fa;color:#cdd0d6}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.active{background-color:var(--libs-ui-button-other-color-background, #226ff5);color:#fff}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete{background-color:#e6faf0;color:#00bc62}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete[focus=true]{background-color:#e6faf0!important;color:#00bc62!important}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed{background-color:#fdeaec;color:#ee2d41}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed[focus=true]{background-color:#fdeaec!important;color:#ee2d41!important}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.disabled{background-color:#f8f9fa;color:#cdd0d6}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover[focus=true]{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal{fill:#e6e7ea}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.active{fill:var(--libs-ui-button-other-color-background, #226ff5)}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.complete{fill:#e6faf0}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.complete[focus=true]{fill:#e6faf0!important}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.failed{fill:#fdeaec}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.failed[focus=true]{fill:#fdeaec!important}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.disabled{fill:#f8f9fa}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal[focus=true],.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal.complete,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal.failed{fill:#e9f1fe}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal.disabled{fill:#f8f9fa}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal.active{fill:var(--libs-ui-button-other-color-background, #226ff5)}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover>i:before,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover>i:after{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.complete,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.failed{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.active{background-color:var(--libs-ui-button-other-color-background, #226ff5);color:#fff}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.active>i:before,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.active>i:after{background-color:var(--libs-ui-button-other-color-background, #226ff5);color:#fff}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.disabled{background-color:#f8f9fa;color:#cdd0d6}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.disabled>i:before,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.disabled>i:after{background-color:#f8f9fa;color:#cdd0d6}\n"] }]
|
|
88
88
|
}] });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc3RlcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9zcmMvbXVsdGktc3RlcC9tdWx0aS1zdGVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9icmVhZGNydW1iL3NyYy9tdWx0aS1zdGVwL211bHRpLXN0ZXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNJLE9BQU8sRUFBdUUsaUNBQWlDLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0SixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsc0RBQXNELEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3RyxPQUFPLEVBQUUsb0RBQW9ELEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RyxPQUFPLEVBQUUsOENBQThDLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQWtCdEQsTUFBTSxPQUFPLDRDQUE2QyxTQUFRLG1DQUFtQztJQUVuRyxjQUFjO0lBQ0osV0FBVyxHQUFHLE1BQU0sQ0FBZ0IsRUFBRSxDQUFDLENBQUM7SUFDeEMsYUFBYSxHQUFHLE1BQU0sQ0FBNEIsU0FBUyxDQUFD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ZU91dGxldCB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGlucHV0LCBPbkluaXQsIG91dHB1dCwgc2lnbmFsLCB2aWV3Q2hpbGRyZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSURyb3Bkb3duRnVuY3Rpb25Db250cm9sRXZlbnQsIElFbWl0U2VsZWN0S2V5LCBJUG9wb3ZlckN1c3RvbUNvbmZpZywgTGlic1VpQ29tcG9uZW50c0Ryb3Bkb3duQ29tcG9uZW50IH0gZnJvbSBcIkBsaWJzLXVpL2NvbXBvbmVudHMtZHJvcGRvd25cIjtcbmltcG9ydCB7IExpYnNVaUNvbXBvbmVudHNQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSBcIkBsaWJzLXVpL2NvbXBvbmVudHMtcG9wb3ZlclwiO1xuaW1wb3J0IHsgTGlic1VpQ29tcG9uZW50c0JyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tIFwiLi4vYnJlYWRjcnVtYi5jb21wb25lbnRcIjtcbmltcG9ydCB7IElDb25maWdDbGFzc011bHRpU3RlcCwgSVRhYkJyZWFkQ3J1bWJNdWx0aVN0ZXAsIElUYWJCcmVhZENydW1iTXVsdGlTdGVwU2VsZWN0ZWQgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9icmVhZGNydW1iLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgQ29uZmlnUG9wdXBEcm9wZG93biB9IGZyb20gXCIuLi91dGlscy9icmVhZGNydW1iXCI7XG5pbXBvcnQgeyBMaWJzVWlDb21wb25lbnRzQnJlYWRjcnVtYk11bHRpU3RlcEFycm93QmVnaW5Db21wb25lbnQgfSBmcm9tIFwiLi9hcnJvdy1iZWdpbi9hcnJvdy1iZWdpbi5jb21wb25lbnRcIjtcbmltcG9ydCB7IExpYnNVaUNvbXBvbmVudHNCcmVhZGNydW1iTXVsdGlTdGVwQXJyb3dFbmRDb21wb25lbnQgfSBmcm9tIFwiLi9hcnJvdy1lbmQvYXJyb3ctZW5kLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTGlic1VpQ29tcG9uZW50c0JyZWFkY3J1bWJDaGVja0Rpc2FibGVTdGVwUGlwZSB9IGZyb20gXCIuLi9waXBlcy9jaGVjay1kaXNhYmxlLXN0ZXAucGlwZVwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnbGlic191aS1jb21wb25lbnRzLWJyZWFkY3J1bWItbXVsdGlfc3RlcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tdWx0aS1zdGVwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGktc3RlcC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIFRyYW5zbGF0ZU1vZHVsZSwgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBMaWJzVWlDb21wb25lbnRzQnJlYWRjcnVtYk11bHRpU3RlcEFycm93QmVnaW5Db21wb25lbnQsXG4gICAgTGlic1VpQ29tcG9uZW50c0JyZWFkY3J1bWJNdWx0aVN0ZXBBcnJvd0VuZENvbXBvbmVudCxcbiAgICBMaWJzVWlDb21wb25lbnRzUG9wb3ZlckNvbXBvbmVudCxcbiAgICBMaWJzVWlDb21wb25lbnRzRHJvcGRvd25Db21wb25lbnQsXG4gICAgTGlic1VpQ29tcG9uZW50c0JyZWFkY3J1bWJDaGVja0Rpc2FibGVTdGVwUGlwZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIExpYnNVaUNvbXBvbmVudHNCcmVhZGNydW1iTXVsdGlTdGVwQ29tcG9uZW50IGV4dGVuZHMgTGlic1VpQ29tcG9uZW50c0JyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIC8qIFBST1BFUlRZICovXG4gIHByb3RlY3RlZCBmYWlsZWRJbmRleCA9IHNpZ25hbDxBcnJheTxudW1iZXI+PihbXSk7XG4gIHByb3RlY3RlZCBsaXN0S2V5SGlkZGVuID0gc2lnbmFsPEFycmF5PHN0cmluZz4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByb3RlY3RlZCBvcGVuTGlzdCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIHByb3RlY3RlZCBpbmRleEZvY3VzID0gc2lnbmFsPG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICBwcml2YXRlIGRyb3BEb3duRnVuY3Rpb25Db250cm9sID0gc2lnbmFsPElEcm9wZG93bkZ1bmN0aW9uQ29udHJvbEV2ZW50IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIC8qIElOUFVUICovXG4gIHJlYWRvbmx5IHBvcG92ZXJDdXN0b21Db25maWcgPSBpbnB1dDxJUG9wb3ZlckN1c3RvbUNvbmZpZz4oQ29uZmlnUG9wdXBEcm9wZG93bigpKTtcbiAgcmVhZG9ubHkgc3RlcHNNdWx0aSA9IGlucHV0LnJlcXVpcmVkPEFycmF5PElUYWJCcmVhZENydW1iTXVsdGlTdGVwPj4oKTtcbiAgcmVhZG9ubHkgY29uZmlnQ2xhc3NNdWx0aVN0ZXAgPSBpbnB1dDxJQ29uZmlnQ2xhc3NNdWx0aVN0ZXA+KCk7XG4gIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbnB1dDxIVE1MRWxlbWVudD4oKTtcblxuICAvKiBPVVRQVVQgKi9cbiAgLy8gTm90ZTogS2nhu4N1IGThu68gbGnhu4d1IGPhu6dhIHN0ZXAgc+G6vSDEkcaw4bujYyDEkeG7i25oIG5naMSpYSB04burIGLDqm4gbmdvw6BpIHbhu5tpIHR5cGUgZ2VuZXJhbCA8VD5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcmVhZG9ubHkgb3V0TXVsdGlTdGVwU2VsZWN0ID0gb3V0cHV0PElUYWJCcmVhZENydW1iTXVsdGlTdGVwU2VsZWN0ZWQ8YW55Pj4oKTtcblxuICAvKiBWSUVXIENISUxEICovXG4gIHByaXZhdGUgcmVhZG9ubHkgc3RlcEVsID0gdmlld0NoaWxkcmVuPEVsZW1lbnRSZWY+KCdzdGVwRWwnKTtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVyU2Nyb2xsSW50b1ZpZXcoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBoYW5kbGVyTGFiZWxFdmVudChldmVudDogRXZlbnQsIGluZGV4OiBudW1iZXIpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAodGhpcy5zdGVwc011bHRpKClbaW5kZXhdLnN0YXR1cyA9PT0gJ2Rpc2FibGVkJyB8fCB0aGlzLnN0ZXBEaXNhYmxlKCkuaW5jbHVkZXMoaW5kZXgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaGFuZGxlclNlbGVjdE11bHRpU3RlcCh1bmRlZmluZWQsIHsgdHlwZTogJ3RleHQnLCBpbmRleCB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVyU2VsZWN0S2V5KGV2ZW50OiBJRW1pdFNlbGVjdEtleSB8IHVuZGVmaW5lZCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0ZXBEaXNhYmxlKCkuaW5jbHVkZXMoaW5kZXgpIHx8ICFldmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmRyb3BEb3duRnVuY3Rpb25Db250cm9sKCk/LnJlc2V0KCk7XG4gICAgdGhpcy5oYW5kbGVyU2VsZWN0TXVsdGlTdGVwKHVuZGVmaW5lZCwgeyB0eXBlOiAnZHJvcGRvd24nLCBpbmRleCwgc3RlcDogZXZlbnQuaXRlbSB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVyU2hvd0xpc3QoZXZlbnQ6IGJvb2xlYW4sIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5MaXN0LnNldChldmVudCk7XG4gICAgdGhpcy5pbmRleEZvY3VzLnNldChldmVudCA/IGluZGV4IDogdW5kZWZpbmVkKTtcbiAgfVxuXG4gIC8vIE5vdGU6IEtp4buDdSBk4buvIGxp4buHdSBj4bunYSBzdGVwIHPhur0gxJHGsOG7o2MgxJHhu4tuaCBuZ2jEqWEgdOG7qyBiw6puIG5nb8OgaSB24bubaSB0eXBlIGdlbmVyYWwgPFQ+XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHByaXZhdGUgaGFuZGxlclNlbGVjdE11bHRpU3RlcChldmVudDogRXZlbnQgfCB1bmRlZmluZWQsIHN0ZXA6IElUYWJCcmVhZENydW1iTXVsdGlTdGVwU2VsZWN0ZWQ8YW55Pik6IHZvaWQge1xuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm91dE11bHRpU3RlcFNlbGVjdC5lbWl0KHsgLi4uc3RlcCwgY2FsbEJhY2s6IChldmVudDogQXJyYXk8c3RyaW5nPiB8IHVuZGVmaW5lZCkgPT4gdGhpcy5saXN0S2V5SGlkZGVuLnNldChldmVudCkgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlckRyb3BEb3duRnVuY3Rpb25Db250cm9sKGV2ZW50OiBJRHJvcGRvd25GdW5jdGlvbkNvbnRyb2xFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuZHJvcERvd25GdW5jdGlvbkNvbnRyb2wuc2V0KGV2ZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVyU2Nyb2xsSW50b1ZpZXcoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZFN0ZXAgPSB0aGlzLnN0ZXBzTXVsdGkoKS5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLnN0YXR1cyA9PT0gJ3NlbGVjdGVkJyk7XG4gICAgICBjb25zdCBpbmRleFNjcm9sbCA9IHNlbGVjdGVkU3RlcCAhPT0gLTEgPyBzZWxlY3RlZFN0ZXAgOiB0aGlzLnN0ZXBzTXVsdGkoKS5sZW5ndGggLSAxO1xuICAgICAgY29uc3QgeyBvZmZzZXRXaWR0aCB9ID0gdGhpcy5lbGVtZW50UmVmKCkgfHwge307XG5cbiAgICAgIHRoaXMuc3RlcEVsKCkuZm9yRWFjaCgoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKGluZGV4ID09PSBpbmRleFNjcm9sbCkge1xuICAgICAgICAgIGlmIChvZmZzZXRXaWR0aCAmJiAob2Zmc2V0V2lkdGggLSBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCkgPCAyMDApIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZigpPy5zY3JvbGxUbyh7IGxlZnQ6IGVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0LCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LCAxMDAwKTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIge3sgY2xhc3NJbmNsdWRlKCkgfHwgJycgfX1cIlxuICBbY2xhc3MuanVzdGlmeS1jZW50ZXJdPVwibW9kZSgpID09PSAnY2VudGVyJ1wiXG4gIFtjbGFzcy5qdXN0aWZ5LXN0YXJ0XT1cIm1vZGUoKSA9PT0gJ2xlZnQnXCJcbiAgW2NsYXNzLmp1c3RpZnktZW5kXT1cIm1vZGUoKSA9PT0gJ3JpZ2h0J1wiXG4gIFtjbGFzcy5iZy1bI2ZmZmZmZl1dPVwiYmFja2dyb3VuZFdoaXRlKClcIlxuICAjY29udGFpbmVyRWw+XG4gIEBmb3IgKHN0ZXAgb2Ygc3RlcHNNdWx0aSgpOyB0cmFjayBzdGVwKSB7XG4gICAgPGRpdiAjc3RlcEVsXG4gICAgICBjbGFzcz1cImZsZXggbGlicy11aS1icmVhZGNydW1iLW11bHRpLXN0ZXBcIlxuICAgICAgW2NsYXNzLmN1cnNvci1kZWZhdWx0XT1cInN0ZXAuc3RhdHVzID09PSAnZGlzYWJsZWQnXCJcbiAgICAgIFtjbGFzcy5wb2ludGVyLWV2ZW50cy1ub25lXT1cInN0ZXAuc3RhdHVzID09PSAnZGlzYWJsZWQnXCJcbiAgICAgIFtjbGFzcy5jdXJzb3ItcG9pbnRlcl09XCJzdGVwLnN0YXR1cyAhPT0gJ2Rpc2FibGVkJ1wiPlxuICAgICAgQGlmIChzdGVwLnR5cGUgPT09ICd0ZXh0Jykge1xuICAgICAgICA8ZGl2IChjbGljayk9XCJoYW5kbGVyTGFiZWxFdmVudCgkZXZlbnQsICRpbmRleClcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRFbFwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyRpbmRleCwgJGZpcnN0LCAkbGFzdCwgc3RlcH1cIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8bGlic191aS1jb21wb25lbnRzLWRyb3Bkb3duIFtpc05nQ29udGVudF09XCJ0cnVlXCJcbiAgICAgICAgICBbbGlzdEhpZGRlbklucHV0U2VhcmNoXT1cInRydWVcIlxuICAgICAgICAgIFtsaXN0SGFzQnV0dG9uVW5TZWxlY3RPcHRpb25dPVwic3RlcC5saXN0SGFzQnV0dG9uVW5TZWxlY3RPcHRpb25cIlxuICAgICAgICAgIFtsaXN0Q29uZmlnXT1cInN0ZXAubGlzdENvbmZpZ0l0ZW1cIlxuICAgICAgICAgIFtwb3BvdmVyQ3VzdG9tQ29uZmlnXT1cInBvcG92ZXJDdXN0b21Db25maWcoKVwiXG4gICAgICAgICAgW2xpc3RLZXlzSGlkZGVuXT1cImxpc3RLZXlIaWRkZW4oKSA/PyBzdGVwLmxpc3RLZXlzSGlkZGVuXCJcbiAgICAgICAgICBbZGlzYWJsZV09XCIkaW5kZXggfCBMaWJzVWlDb21wb25lbnRzQnJlYWRjcnVtYkNoZWNrRGlzYWJsZVN0ZXBQaXBlOnN0ZXBEaXNhYmxlKClcIlxuICAgICAgICAgIChvdXRTaG93TGlzdCk9XCJoYW5kbGVyU2hvd0xpc3QoJGV2ZW50LCAkaW5kZXgpXCJcbiAgICAgICAgICAob3V0U2VsZWN0S2V5KT1cImhhbmRsZXJTZWxlY3RLZXkoJGV2ZW50LCAkaW5kZXgpXCJcbiAgICAgICAgICAob3V0RnVuY3Rpb25zQ29udHJvbCk9XCJoYW5kbGVyRHJvcERvd25GdW5jdGlvbkNvbnRyb2woJGV2ZW50KVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudEVsXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7JGluZGV4LCAkZmlyc3QsICRsYXN0LCBzdGVwfVwiIC8+XG4gICAgICAgIDwvbGlic191aS1jb21wb25lbnRzLWRyb3Bkb3duPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50RWxcbiAgbGV0LWluZGV4PVwiJGluZGV4XCJcbiAgbGV0LWZpcnN0PVwiJGZpcnN0XCJcbiAgbGV0LXN0ZXA9XCJzdGVwXCJcbiAgbGV0LWxhc3Q9XCIkbGFzdFwiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICBAaWYgKCFmaXJzdCkge1xuICAgICAgPGxpYnNfdWktY29tcG9uZW50cy1icmVhZGNydW1iLW11bHRpX3N0ZXAtYXJyb3dfZW5kIGNsYXNzPVwibGlicy11aS1icmVhZGNydW1iLW11bHRpLXN0ZXAtbm9ybWFsIHJlbGF0aXZlIGxlZnQtWzFweF0gdG9wLTBcIlxuICAgICAgICBbYXR0ci5mb2N1c109XCJvcGVuTGlzdCgpICYmIGluZGV4Rm9jdXMoKSA9PT0gaW5kZXhcIlxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInN0ZXAuc3RhdHVzID09PSAnc2VsZWN0ZWQnXCJcbiAgICAgICAgW2NsYXNzLmNvbXBsZXRlXT1cInN0ZXAuc3RhdHVzID09PSAnY29tcGxldGVkJ1wiXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJzdGVwLnN0YXR1cyA9PT0gJ2Rpc2FibGVkJ1wiXG4gICAgICAgIFtjbGFzcy5mYWlsZWRdPVwic3RlcC5zdGF0dXMgPT09ICdmYWlsZWQnXCIgLz5cbiAgICB9XG4gICAgPGRpdiBjbGFzcz1cImxpYnMtdWktYnJlYWRjcnVtYi1tdWx0aS1zdGVwLWNlbnRlciBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBsaWJzLXVpLWZvbnQtaDZtXCI+XG4gICAgICA8bGlic191aS1jb21wb25lbnRzLXBvcG92ZXIgW2NsYXNzSW5jbHVkZV09XCInbGlicy11aS1icmVhZGNydW1iLW11bHRpLXN0ZXAtY2VudGVyLXBvcG92ZXIgcHktWzEycHhdICcgKyAoY29uZmlnQ2xhc3NNdWx0aVN0ZXAoKT8uY2xhc3NJbmNsdWRlIHx8ICcnKVwiXG4gICAgICAgIFt0eXBlXT1cIid0ZXh0J1wiXG4gICAgICAgIFtpZ25vcmVTaG93UG9wb3Zlcl09XCJ0cnVlXCJcbiAgICAgICAgW2lnbm9yZVN0b3BQcm9wYWdhdGlvbkV2ZW50XT1cInRydWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxpYnMtdWktZm9udC1oNm0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTIgaC1bNDBweF1cIlxuICAgICAgICAgIFtzdHlsZS5tYXgtd2lkdGgucHhdPVwiY29uZmlnQ2xhc3NNdWx0aVN0ZXAoKT8ubWF4V2lkdGggfHwgMjAwXCJcbiAgICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwiY29uZmlnQ2xhc3NNdWx0aVN0ZXAoKT8ud2lkdGhcIlxuICAgICAgICAgIFthdHRyLmZvY3VzXT1cIm9wZW5MaXN0KCkgJiYgaW5kZXhGb2N1cygpID09PSBpbmRleFwiXG4gICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJzdGVwLnN0YXR1cyA9PT0gJ3NlbGVjdGVkJ1wiXG4gICAgICAgICAgW2NsYXNzLmNvbXBsZXRlXT1cInN0ZXAuc3RhdHVzID09PSAnY29tcGxldGVkJ1wiXG4gICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cInN0ZXAuc3RhdHVzID09PSAnZGlzYWJsZWQnXCJcbiAgICAgICAgICBbY2xhc3MuZmFpbGVkXT1cInN0ZXAuc3RhdHVzID09PSAnZmFpbGVkJ1wiXG4gICAgICAgICAgW2NsYXNzLnJvdW5kZWQtdGwtWzRweF1dPVwiZmlyc3RcIlxuICAgICAgICAgIFtjbGFzcy5yb3VuZGVkLWJsLVs0cHhdXT1cImZpcnN0XCJcbiAgICAgICAgICBbY2xhc3MucGwtWzZweF1dPVwiZmlyc3RcIlxuICAgICAgICAgIFtjbGFzcy5yb3VuZGVkLXRyLVs0cHhdXT1cImxhc3RcIlxuICAgICAgICAgIFtjbGFzcy5yb3VuZGVkLWJyLVs0cHhdXT1cImxhc3RcIlxuICAgICAgICAgIFtjbGFzcy5wci1bMTZweF1dPVwibGFzdFwiPlxuICAgICAgICAgIDxsaWJzX3VpLWNvbXBvbmVudHMtcG9wb3ZlciBbY2xhc3NJbmNsdWRlXT1cIid0ZXh0LW5vd3JhcCBwbC1bMTBweF0gJyArIChjb25maWdDbGFzc011bHRpU3RlcCgpPy5jbGFzc1RpdGxlSW5jbHVkZSB8fCAnbWF4LXctWzE2MHB4XScpXCJcbiAgICAgICAgICAgIFt0eXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBbY29uZmlnXT1cInN0ZXAucG9wb3ZlciB8fCB7IG1heFdpZHRoOiAyNTAsIGRpcmVjdGlvbjogJ3RvcCcsIGNvbnRlbnQ6IHN0ZXAudGl0bGUgfCB0cmFuc2xhdGUgfVwiXG4gICAgICAgICAgICBbaWdub3JlU3RvcFByb3BhZ2F0aW9uRXZlbnRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbaW5uZXJIVE1MXT1cInN0ZXAudGl0bGUgfCB0cmFuc2xhdGVcIiAvPlxuICAgICAgICAgIEBpZiAoc3RlcC50eXBlID09PSAnZHJvcGRvd24nKSB7XG4gICAgICAgICAgICA8aSBbYXR0ci5pc0ZvY3VzXT1cIm9wZW5MaXN0KCkgJiYgaW5kZXhGb2N1cygpID09PSBpbmRleFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibGlicy11aS1pY29uLW1vdmUtcmlnaHQgcm90YXRlLTkwXCI+PC9pPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2xpYnNfdWktY29tcG9uZW50cy1wb3BvdmVyPlxuICAgIDwvZGl2PlxuICAgIEBpZiAoIWxhc3QpIHtcbiAgICAgIDxsaWJzX3VpLWNvbXBvbmVudHMtYnJlYWRjcnVtYi1tdWx0aV9zdGVwLWFycm93X2JlZ2luIGNsYXNzPVwibGlicy11aS1icmVhZGNydW1iLW11bHRpLXN0ZXAtbm9ybWFsIHJlbGF0aXZlIGxlZnQtWy0xcHhdIHRvcC0wXCJcbiAgICAgICAgW2F0dHIuZm9jdXNdPVwib3Blbkxpc3QoKSAmJiBpbmRleEZvY3VzKCkgPT09IGluZGV4XCJcbiAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJzdGVwLnN0YXR1cyA9PT0gJ3NlbGVjdGVkJ1wiXG4gICAgICAgIFtjbGFzcy5jb21wbGV0ZV09XCJzdGVwLnN0YXR1cyA9PT0gJ2NvbXBsZXRlZCdcIlxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwic3RlcC5zdGF0dXMgPT09ICdkaXNhYmxlZCdcIlxuICAgICAgICBbY2xhc3MuZmFpbGVkXT1cInN0ZXAuc3RhdHVzID09PSAnZmFpbGVkJ1wiIC8+XG4gICAgfVxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc3RlcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9zcmMvbXVsdGktc3RlcC9tdWx0aS1zdGVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9icmVhZGNydW1iL3NyYy9tdWx0aS1zdGVwL211bHRpLXN0ZXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNJLE9BQU8sRUFBdUUsaUNBQWlDLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0SixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsc0RBQXNELEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3RyxPQUFPLEVBQUUsb0RBQW9ELEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RyxPQUFPLEVBQUUsOENBQThDLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQWtCdEQsTUFBTSxPQUFPLDRDQUE2QyxTQUFRLG1DQUFtQztJQUVuRyxtQkFBbUI7SUFDVCxXQUFXLEdBQUcsTUFBTSxDQUFnQixFQUFFLENBQUMsQ0FBQztJQUN4QyxhQUFhLEdBQUcsTUFBTSxDQUE0QixTQUFTLENB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Z1RlbXBsYXRlT3V0bGV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5wdXQsIE9uSW5pdCwgb3V0cHV0LCBzaWduYWwsIHZpZXdDaGlsZHJlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJRHJvcGRvd25GdW5jdGlvbkNvbnRyb2xFdmVudCwgSUVtaXRTZWxlY3RLZXksIElQb3BvdmVyQ3VzdG9tQ29uZmlnLCBMaWJzVWlDb21wb25lbnRzRHJvcGRvd25Db21wb25lbnQgfSBmcm9tIFwiQGxpYnMtdWkvY29tcG9uZW50cy1kcm9wZG93blwiO1xuaW1wb3J0IHsgTGlic1VpQ29tcG9uZW50c1BvcG92ZXJDb21wb25lbnQgfSBmcm9tIFwiQGxpYnMtdWkvY29tcG9uZW50cy1wb3BvdmVyXCI7XG5pbXBvcnQgeyBMaWJzVWlDb21wb25lbnRzQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gXCIuLi9icmVhZGNydW1iLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgSUNvbmZpZ0NsYXNzTXVsdGlTdGVwLCBJVGFiQnJlYWRDcnVtYk11bHRpU3RlcCwgSVRhYkJyZWFkQ3J1bWJNdWx0aVN0ZXBTZWxlY3RlZCB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2JyZWFkY3J1bWIuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBDb25maWdQb3B1cERyb3Bkb3duIH0gZnJvbSBcIi4uL3V0aWxzL2JyZWFkY3J1bWJcIjtcbmltcG9ydCB7IExpYnNVaUNvbXBvbmVudHNCcmVhZGNydW1iTXVsdGlTdGVwQXJyb3dCZWdpbkNvbXBvbmVudCB9IGZyb20gXCIuL2Fycm93LWJlZ2luL2Fycm93LWJlZ2luLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTGlic1VpQ29tcG9uZW50c0JyZWFkY3J1bWJNdWx0aVN0ZXBBcnJvd0VuZENvbXBvbmVudCB9IGZyb20gXCIuL2Fycm93LWVuZC9hcnJvdy1lbmQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBMaWJzVWlDb21wb25lbnRzQnJlYWRjcnVtYkNoZWNrRGlzYWJsZVN0ZXBQaXBlIH0gZnJvbSBcIi4uL3BpcGVzL2NoZWNrLWRpc2FibGUtc3RlcC5waXBlXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdsaWJzX3VpLWNvbXBvbmVudHMtYnJlYWRjcnVtYi1tdWx0aV9zdGVwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL211bHRpLXN0ZXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tdWx0aS1zdGVwLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgVHJhbnNsYXRlTW9kdWxlLCBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIExpYnNVaUNvbXBvbmVudHNCcmVhZGNydW1iTXVsdGlTdGVwQXJyb3dCZWdpbkNvbXBvbmVudCxcbiAgICBMaWJzVWlDb21wb25lbnRzQnJlYWRjcnVtYk11bHRpU3RlcEFycm93RW5kQ29tcG9uZW50LFxuICAgIExpYnNVaUNvbXBvbmVudHNQb3BvdmVyQ29tcG9uZW50LFxuICAgIExpYnNVaUNvbXBvbmVudHNEcm9wZG93bkNvbXBvbmVudCxcbiAgICBMaWJzVWlDb21wb25lbnRzQnJlYWRjcnVtYkNoZWNrRGlzYWJsZVN0ZXBQaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0JyZWFkY3J1bWJNdWx0aVN0ZXBDb21wb25lbnQgZXh0ZW5kcyBMaWJzVWlDb21wb25lbnRzQnJlYWRjcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgLy8gI3JlZ2lvbiBQUk9QRVJUWVxuICBwcm90ZWN0ZWQgZmFpbGVkSW5kZXggPSBzaWduYWw8QXJyYXk8bnVtYmVyPj4oW10pO1xuICBwcm90ZWN0ZWQgbGlzdEtleUhpZGRlbiA9IHNpZ25hbDxBcnJheTxzdHJpbmc+IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcm90ZWN0ZWQgb3Blbkxpc3QgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcm90ZWN0ZWQgaW5kZXhGb2N1cyA9IHNpZ25hbDxudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBkcm9wRG93bkZ1bmN0aW9uQ29udHJvbCA9IHNpZ25hbDxJRHJvcGRvd25GdW5jdGlvbkNvbnRyb2xFdmVudCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvLyAjcmVnaW9uIElOUFVUXG4gIHJlYWRvbmx5IHBvcG92ZXJDdXN0b21Db25maWcgPSBpbnB1dDxJUG9wb3ZlckN1c3RvbUNvbmZpZz4oQ29uZmlnUG9wdXBEcm9wZG93bigpKTtcbiAgcmVhZG9ubHkgc3RlcHNNdWx0aSA9IGlucHV0LnJlcXVpcmVkPEFycmF5PElUYWJCcmVhZENydW1iTXVsdGlTdGVwPj4oKTtcbiAgcmVhZG9ubHkgY29uZmlnQ2xhc3NNdWx0aVN0ZXAgPSBpbnB1dDxJQ29uZmlnQ2xhc3NNdWx0aVN0ZXA+KCk7XG4gIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbnB1dDxIVE1MRWxlbWVudD4oKTtcblxuICAvLyAjcmVnaW9uIE9VVFBVVFxuICAvLyBOb3RlOiBLaeG7g3UgZOG7ryBsaeG7h3UgY+G7p2Egc3RlcCBz4bq9IMSRxrDhu6NjIMSR4buLbmggbmdoxKlhIHThu6sgYsOqbiBuZ2/DoGkgduG7m2kgdHlwZSBnZW5lcmFsIDxUPlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICByZWFkb25seSBvdXRNdWx0aVN0ZXBTZWxlY3QgPSBvdXRwdXQ8SVRhYkJyZWFkQ3J1bWJNdWx0aVN0ZXBTZWxlY3RlZDxhbnk+PigpO1xuXG4gIC8qIFZJRVcgQ0hJTEQgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBzdGVwRWwgPSB2aWV3Q2hpbGRyZW48RWxlbWVudFJlZj4oJ3N0ZXBFbCcpO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZXJTY3JvbGxJbnRvVmlldygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGhhbmRsZXJMYWJlbEV2ZW50KGV2ZW50OiBFdmVudCwgaW5kZXg6IG51bWJlcikge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmICh0aGlzLnN0ZXBzTXVsdGkoKVtpbmRleF0uc3RhdHVzID09PSAnZGlzYWJsZWQnIHx8IHRoaXMuc3RlcERpc2FibGUoKS5pbmNsdWRlcyhpbmRleCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5oYW5kbGVyU2VsZWN0TXVsdGlTdGVwKHVuZGVmaW5lZCwgeyB0eXBlOiAndGV4dCcsIGluZGV4IH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZXJTZWxlY3RLZXkoZXZlbnQ6IElFbWl0U2VsZWN0S2V5IHwgdW5kZWZpbmVkLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RlcERpc2FibGUoKS5pbmNsdWRlcyhpbmRleCkgfHwgIWV2ZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZHJvcERvd25GdW5jdGlvbkNvbnRyb2woKT8ucmVzZXQoKTtcbiAgICB0aGlzLmhhbmRsZXJTZWxlY3RNdWx0aVN0ZXAodW5kZWZpbmVkLCB7IHR5cGU6ICdkcm9wZG93bicsIGluZGV4LCBzdGVwOiBldmVudC5pdGVtIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZXJTaG93TGlzdChldmVudDogYm9vbGVhbiwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMub3Blbkxpc3Quc2V0KGV2ZW50KTtcbiAgICB0aGlzLmluZGV4Rm9jdXMuc2V0KGV2ZW50ID8gaW5kZXggOiB1bmRlZmluZWQpO1xuICB9XG5cbiAgLy8gTm90ZTogS2nhu4N1IGThu68gbGnhu4d1IGPhu6dhIHN0ZXAgc+G6vSDEkcaw4bujYyDEkeG7i25oIG5naMSpYSB04burIGLDqm4gbmdvw6BpIHbhu5tpIHR5cGUgZ2VuZXJhbCA8VD5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHJpdmF0ZSBoYW5kbGVyU2VsZWN0TXVsdGlTdGVwKGV2ZW50OiBFdmVudCB8IHVuZGVmaW5lZCwgc3RlcDogSVRhYkJyZWFkQ3J1bWJNdWx0aVN0ZXBTZWxlY3RlZDxhbnk+KTogdm9pZCB7XG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMub3V0TXVsdGlTdGVwU2VsZWN0LmVtaXQoeyAuLi5zdGVwLCBjYWxsQmFjazogKGV2ZW50OiBBcnJheTxzdHJpbmc+IHwgdW5kZWZpbmVkKSA9PiB0aGlzLmxpc3RLZXlIaWRkZW4uc2V0KGV2ZW50KSB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVyRHJvcERvd25GdW5jdGlvbkNvbnRyb2woZXZlbnQ6IElEcm9wZG93bkZ1bmN0aW9uQ29udHJvbEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5kcm9wRG93bkZ1bmN0aW9uQ29udHJvbC5zZXQoZXZlbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZXJTY3JvbGxJbnRvVmlldygpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkU3RlcCA9IHRoaXMuc3RlcHNNdWx0aSgpLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uc3RhdHVzID09PSAnc2VsZWN0ZWQnKTtcbiAgICAgIGNvbnN0IGluZGV4U2Nyb2xsID0gc2VsZWN0ZWRTdGVwICE9PSAtMSA/IHNlbGVjdGVkU3RlcCA6IHRoaXMuc3RlcHNNdWx0aSgpLmxlbmd0aCAtIDE7XG4gICAgICBjb25zdCB7IG9mZnNldFdpZHRoIH0gPSB0aGlzLmVsZW1lbnRSZWYoKSB8fCB7fTtcblxuICAgICAgdGhpcy5zdGVwRWwoKS5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoaW5kZXggPT09IGluZGV4U2Nyb2xsKSB7XG4gICAgICAgICAgaWYgKG9mZnNldFdpZHRoICYmIChvZmZzZXRXaWR0aCAtIGVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0KSA8IDIwMCkge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmKCk/LnNjcm9sbFRvKHsgbGVmdDogZWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0sIDEwMDApO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciB7eyBjbGFzc0luY2x1ZGUoKSB8fCAnJyB9fVwiXG4gIFtjbGFzcy5qdXN0aWZ5LWNlbnRlcl09XCJtb2RlKCkgPT09ICdjZW50ZXInXCJcbiAgW2NsYXNzLmp1c3RpZnktc3RhcnRdPVwibW9kZSgpID09PSAnbGVmdCdcIlxuICBbY2xhc3MuanVzdGlmeS1lbmRdPVwibW9kZSgpID09PSAncmlnaHQnXCJcbiAgW2NsYXNzLmJnLVsjZmZmZmZmXV09XCJiYWNrZ3JvdW5kV2hpdGUoKVwiXG4gICNjb250YWluZXJFbD5cbiAgQGZvciAoc3RlcCBvZiBzdGVwc011bHRpKCk7IHRyYWNrIHN0ZXApIHtcbiAgICA8ZGl2ICNzdGVwRWxcbiAgICAgIGNsYXNzPVwiZmxleCBsaWJzLXVpLWJyZWFkY3J1bWItbXVsdGktc3RlcFwiXG4gICAgICBbY2xhc3MuY3Vyc29yLWRlZmF1bHRdPVwic3RlcC5zdGF0dXMgPT09ICdkaXNhYmxlZCdcIlxuICAgICAgW2NsYXNzLnBvaW50ZXItZXZlbnRzLW5vbmVdPVwic3RlcC5zdGF0dXMgPT09ICdkaXNhYmxlZCdcIlxuICAgICAgW2NsYXNzLmN1cnNvci1wb2ludGVyXT1cInN0ZXAuc3RhdHVzICE9PSAnZGlzYWJsZWQnXCI+XG4gICAgICBAaWYgKHN0ZXAudHlwZSA9PT0gJ3RleHQnKSB7XG4gICAgICAgIDxkaXYgKGNsaWNrKT1cImhhbmRsZXJMYWJlbEV2ZW50KCRldmVudCwgJGluZGV4KVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudEVsXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7JGluZGV4LCAkZmlyc3QsICRsYXN0LCBzdGVwfVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxsaWJzX3VpLWNvbXBvbmVudHMtZHJvcGRvd24gW2lzTmdDb250ZW50XT1cInRydWVcIlxuICAgICAgICAgIFtsaXN0SGlkZGVuSW5wdXRTZWFyY2hdPVwidHJ1ZVwiXG4gICAgICAgICAgW2xpc3RIYXNCdXR0b25VblNlbGVjdE9wdGlvbl09XCJzdGVwLmxpc3RIYXNCdXR0b25VblNlbGVjdE9wdGlvblwiXG4gICAgICAgICAgW2xpc3RDb25maWddPVwic3RlcC5saXN0Q29uZmlnSXRlbVwiXG4gICAgICAgICAgW3BvcG92ZXJDdXN0b21Db25maWddPVwicG9wb3ZlckN1c3RvbUNvbmZpZygpXCJcbiAgICAgICAgICBbbGlzdEtleXNIaWRkZW5dPVwibGlzdEtleUhpZGRlbigpID8/IHN0ZXAubGlzdEtleXNIaWRkZW5cIlxuICAgICAgICAgIFtkaXNhYmxlXT1cIiRpbmRleCB8IExpYnNVaUNvbXBvbmVudHNCcmVhZGNydW1iQ2hlY2tEaXNhYmxlU3RlcFBpcGU6c3RlcERpc2FibGUoKVwiXG4gICAgICAgICAgKG91dFNob3dMaXN0KT1cImhhbmRsZXJTaG93TGlzdCgkZXZlbnQsICRpbmRleClcIlxuICAgICAgICAgIChvdXRTZWxlY3RLZXkpPVwiaGFuZGxlclNlbGVjdEtleSgkZXZlbnQsICRpbmRleClcIlxuICAgICAgICAgIChvdXRGdW5jdGlvbnNDb250cm9sKT1cImhhbmRsZXJEcm9wRG93bkZ1bmN0aW9uQ29udHJvbCgkZXZlbnQpXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50RWxcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInskaW5kZXgsICRmaXJzdCwgJGxhc3QsIHN0ZXB9XCIgLz5cbiAgICAgICAgPC9saWJzX3VpLWNvbXBvbmVudHMtZHJvcGRvd24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnRFbFxuICBsZXQtaW5kZXg9XCIkaW5kZXhcIlxuICBsZXQtZmlyc3Q9XCIkZmlyc3RcIlxuICBsZXQtc3RlcD1cInN0ZXBcIlxuICBsZXQtbGFzdD1cIiRsYXN0XCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgIEBpZiAoIWZpcnN0KSB7XG4gICAgICA8bGlic191aS1jb21wb25lbnRzLWJyZWFkY3J1bWItbXVsdGlfc3RlcC1hcnJvd19lbmQgY2xhc3M9XCJsaWJzLXVpLWJyZWFkY3J1bWItbXVsdGktc3RlcC1ub3JtYWwgcmVsYXRpdmUgbGVmdC1bMXB4XSB0b3AtMFwiXG4gICAgICAgIFthdHRyLmZvY3VzXT1cIm9wZW5MaXN0KCkgJiYgaW5kZXhGb2N1cygpID09PSBpbmRleFwiXG4gICAgICAgIFtjbGFzcy5hY3RpdmVdPVwic3RlcC5zdGF0dXMgPT09ICdzZWxlY3RlZCdcIlxuICAgICAgICBbY2xhc3MuY29tcGxldGVdPVwic3RlcC5zdGF0dXMgPT09ICdjb21wbGV0ZWQnXCJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cInN0ZXAuc3RhdHVzID09PSAnZGlzYWJsZWQnXCJcbiAgICAgICAgW2NsYXNzLmZhaWxlZF09XCJzdGVwLnN0YXR1cyA9PT0gJ2ZhaWxlZCdcIiAvPlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwibGlicy11aS1icmVhZGNydW1iLW11bHRpLXN0ZXAtY2VudGVyIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGxpYnMtdWktZm9udC1oNm1cIj5cbiAgICAgIDxsaWJzX3VpLWNvbXBvbmVudHMtcG9wb3ZlciBbY2xhc3NJbmNsdWRlXT1cIidsaWJzLXVpLWJyZWFkY3J1bWItbXVsdGktc3RlcC1jZW50ZXItcG9wb3ZlciBweS1bMTJweF0gJyArIChjb25maWdDbGFzc011bHRpU3RlcCgpPy5jbGFzc0luY2x1ZGUgfHwgJycpXCJcbiAgICAgICAgW3R5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgW2lnbm9yZVNob3dQb3BvdmVyXT1cInRydWVcIlxuICAgICAgICBbaWdub3JlU3RvcFByb3BhZ2F0aW9uRXZlbnRdPVwidHJ1ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGlicy11aS1mb250LWg2bSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMiBoLVs0MHB4XVwiXG4gICAgICAgICAgW3N0eWxlLm1heC13aWR0aC5weF09XCJjb25maWdDbGFzc011bHRpU3RlcCgpPy5tYXhXaWR0aCB8fCAyMDBcIlxuICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJjb25maWdDbGFzc011bHRpU3RlcCgpPy53aWR0aFwiXG4gICAgICAgICAgW2F0dHIuZm9jdXNdPVwib3Blbkxpc3QoKSAmJiBpbmRleEZvY3VzKCkgPT09IGluZGV4XCJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInN0ZXAuc3RhdHVzID09PSAnc2VsZWN0ZWQnXCJcbiAgICAgICAgICBbY2xhc3MuY29tcGxldGVdPVwic3RlcC5zdGF0dXMgPT09ICdjb21wbGV0ZWQnXCJcbiAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwic3RlcC5zdGF0dXMgPT09ICdkaXNhYmxlZCdcIlxuICAgICAgICAgIFtjbGFzcy5mYWlsZWRdPVwic3RlcC5zdGF0dXMgPT09ICdmYWlsZWQnXCJcbiAgICAgICAgICBbY2xhc3Mucm91bmRlZC10bC1bNHB4XV09XCJmaXJzdFwiXG4gICAgICAgICAgW2NsYXNzLnJvdW5kZWQtYmwtWzRweF1dPVwiZmlyc3RcIlxuICAgICAgICAgIFtjbGFzcy5wbC1bNnB4XV09XCJmaXJzdFwiXG4gICAgICAgICAgW2NsYXNzLnJvdW5kZWQtdHItWzRweF1dPVwibGFzdFwiXG4gICAgICAgICAgW2NsYXNzLnJvdW5kZWQtYnItWzRweF1dPVwibGFzdFwiXG4gICAgICAgICAgW2NsYXNzLnByLVsxNnB4XV09XCJsYXN0XCI+XG4gICAgICAgICAgPGxpYnNfdWktY29tcG9uZW50cy1wb3BvdmVyIFtjbGFzc0luY2x1ZGVdPVwiJ3RleHQtbm93cmFwIHBsLVsxMHB4XSAnICsgKGNvbmZpZ0NsYXNzTXVsdGlTdGVwKCk/LmNsYXNzVGl0bGVJbmNsdWRlIHx8ICdtYXgtdy1bMTYwcHhdJylcIlxuICAgICAgICAgICAgW3R5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgICAgIFtjb25maWddPVwic3RlcC5wb3BvdmVyIHx8IHsgbWF4V2lkdGg6IDI1MCwgZGlyZWN0aW9uOiAndG9wJywgY29udGVudDogc3RlcC50aXRsZSB8IHRyYW5zbGF0ZSB9XCJcbiAgICAgICAgICAgIFtpZ25vcmVTdG9wUHJvcGFnYXRpb25FdmVudF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwic3RlcC50aXRsZSB8IHRyYW5zbGF0ZVwiIC8+XG4gICAgICAgICAgQGlmIChzdGVwLnR5cGUgPT09ICdkcm9wZG93bicpIHtcbiAgICAgICAgICAgIDxpIFthdHRyLmlzRm9jdXNdPVwib3Blbkxpc3QoKSAmJiBpbmRleEZvY3VzKCkgPT09IGluZGV4XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJsaWJzLXVpLWljb24tbW92ZS1yaWdodCByb3RhdGUtOTBcIj48L2k+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbGlic191aS1jb21wb25lbnRzLXBvcG92ZXI+XG4gICAgPC9kaXY+XG4gICAgQGlmICghbGFzdCkge1xuICAgICAgPGxpYnNfdWktY29tcG9uZW50cy1icmVhZGNydW1iLW11bHRpX3N0ZXAtYXJyb3dfYmVnaW4gY2xhc3M9XCJsaWJzLXVpLWJyZWFkY3J1bWItbXVsdGktc3RlcC1ub3JtYWwgcmVsYXRpdmUgbGVmdC1bLTFweF0gdG9wLTBcIlxuICAgICAgICBbYXR0ci5mb2N1c109XCJvcGVuTGlzdCgpICYmIGluZGV4Rm9jdXMoKSA9PT0gaW5kZXhcIlxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInN0ZXAuc3RhdHVzID09PSAnc2VsZWN0ZWQnXCJcbiAgICAgICAgW2NsYXNzLmNvbXBsZXRlXT1cInN0ZXAuc3RhdHVzID09PSAnY29tcGxldGVkJ1wiXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJzdGVwLnN0YXR1cyA9PT0gJ2Rpc2FibGVkJ1wiXG4gICAgICAgIFtjbGFzcy5mYWlsZWRdPVwic3RlcC5zdGF0dXMgPT09ICdmYWlsZWQnXCIgLz5cbiAgICB9XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Pipe, signal, input, model, output,
|
|
2
|
+
import { Pipe, signal, input, model, output, ChangeDetectionStrategy, Component, viewChildren } from '@angular/core';
|
|
3
3
|
import * as i1 from '@ngx-translate/core';
|
|
4
4
|
import { TranslateModule } from '@ngx-translate/core';
|
|
5
5
|
import { NgTemplateOutlet } from '@angular/common';
|
|
@@ -22,17 +22,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
22
22
|
}] });
|
|
23
23
|
|
|
24
24
|
class LibsUiComponentsBreadcrumbComponent {
|
|
25
|
-
|
|
25
|
+
// #region PROPERTY
|
|
26
26
|
selectedIndex = signal(0);
|
|
27
27
|
stepDisable = signal([]);
|
|
28
|
-
|
|
28
|
+
// #region INPUT
|
|
29
29
|
width = input(24);
|
|
30
30
|
mode = input('center');
|
|
31
31
|
steps = model();
|
|
32
32
|
classInclude = input();
|
|
33
33
|
completedIndex = model([]);
|
|
34
34
|
backgroundWhite = input();
|
|
35
|
-
|
|
35
|
+
// #region OUTPUT
|
|
36
36
|
outStepSelected = output();
|
|
37
37
|
outFunctionControl = output();
|
|
38
38
|
ngOnInit() {
|
|
@@ -132,18 +132,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
132
132
|
}] });
|
|
133
133
|
|
|
134
134
|
class LibsUiComponentsBreadcrumbMultiStepComponent extends LibsUiComponentsBreadcrumbComponent {
|
|
135
|
-
|
|
135
|
+
// #region PROPERTY
|
|
136
136
|
failedIndex = signal([]);
|
|
137
137
|
listKeyHidden = signal(undefined);
|
|
138
138
|
openList = signal(false);
|
|
139
139
|
indexFocus = signal(undefined);
|
|
140
140
|
dropDownFunctionControl = signal(undefined);
|
|
141
|
-
|
|
141
|
+
// #region INPUT
|
|
142
142
|
popoverCustomConfig = input(ConfigPopupDropdown());
|
|
143
143
|
stepsMulti = input.required();
|
|
144
144
|
configClassMultiStep = input();
|
|
145
145
|
elementRef = input();
|
|
146
|
-
|
|
146
|
+
// #region OUTPUT
|
|
147
147
|
// Note: Kiểu dữ liệu của step sẽ được định nghĩa từ bên ngoài với type general <T>
|
|
148
148
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
149
149
|
outMultiStepSelect = output();
|
|
@@ -194,7 +194,7 @@ class LibsUiComponentsBreadcrumbMultiStepComponent extends LibsUiComponentsBread
|
|
|
194
194
|
}, 1000);
|
|
195
195
|
}
|
|
196
196
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsBreadcrumbMultiStepComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
197
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsBreadcrumbMultiStepComponent, isStandalone: true, selector: "libs_ui-components-breadcrumb-multi_step", inputs: { popoverCustomConfig: { classPropertyName: "popoverCustomConfig", publicName: "popoverCustomConfig", isSignal: true, isRequired: false, transformFunction: null }, stepsMulti: { classPropertyName: "stepsMulti", publicName: "stepsMulti", isSignal: true, isRequired: true, transformFunction: null }, configClassMultiStep: { classPropertyName: "configClassMultiStep", publicName: "configClassMultiStep", isSignal: true, isRequired: false, transformFunction: null }, elementRef: { classPropertyName: "elementRef", publicName: "elementRef", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outMultiStepSelect: "outMultiStepSelect" }, viewQueries: [{ propertyName: "stepEl", predicate: ["stepEl"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"flex items-center {{ classInclude() || '' }}\"\n [class.justify-center]=\"mode() === 'center'\"\n [class.justify-start]=\"mode() === 'left'\"\n [class.justify-end]=\"mode() === 'right'\"\n [class.bg-[#ffffff]]=\"backgroundWhite()\"\n #containerEl>\n @for (step of stepsMulti(); track step) {\n <div #stepEl\n class=\"flex libs-ui-breadcrumb-multi-step\"\n [class.cursor-default]=\"step.status === 'disabled'\"\n [class.pointer-events-none]=\"step.status === 'disabled'\"\n [class.cursor-pointer]=\"step.status !== 'disabled'\">\n @if (step.type === 'text') {\n <div (click)=\"handlerLabelEvent($event, $index)\">\n <ng-container [ngTemplateOutlet]=\"contentEl\"\n [ngTemplateOutletContext]=\"{$index, $first, $last, step}\" />\n </div>\n } @else {\n <libs_ui-components-dropdown [isNgContent]=\"true\"\n [listHiddenInputSearch]=\"true\"\n [listHasButtonUnSelectOption]=\"step.listHasButtonUnSelectOption\"\n [listConfig]=\"step.listConfigItem\"\n [popoverCustomConfig]=\"popoverCustomConfig()\"\n [listKeysHidden]=\"listKeyHidden() ?? step.listKeysHidden\"\n [disable]=\"$index | LibsUiComponentsBreadcrumbCheckDisableStepPipe:stepDisable()\"\n (outShowList)=\"handlerShowList($event, $index)\"\n (outSelectKey)=\"handlerSelectKey($event, $index)\"\n (outFunctionsControl)=\"handlerDropDownFunctionControl($event)\">\n <ng-container [ngTemplateOutlet]=\"contentEl\"\n [ngTemplateOutletContext]=\"{$index, $first, $last, step}\" />\n </libs_ui-components-dropdown>\n }\n </div>\n }\n</div>\n\n<ng-template #contentEl\n let-index=\"$index\"\n let-first=\"$first\"\n let-step=\"step\"\n let-last=\"$last\">\n <div class=\"flex items-center\">\n @if (!first) {\n <libs_ui-components-breadcrumb-multi_step-arrow_end class=\"libs-ui-breadcrumb-multi-step-normal relative left-[1px] top-0\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\" />\n }\n <div class=\"libs-ui-breadcrumb-multi-step-center flex items-center justify-center libs-ui-font-h6m\">\n <libs_ui-components-popover [classInclude]=\"'libs-ui-breadcrumb-multi-step-center-popover py-[12px] ' + (configClassMultiStep()?.classInclude || '')\"\n [type]=\"'text'\"\n [ignoreShowPopover]=\"true\"\n [ignoreStopPropagationEvent]=\"true\">\n <div class=\"libs-ui-font-h6m flex items-center justify-center gap-2 h-[40px]\"\n [style.max-width.px]=\"configClassMultiStep()?.maxWidth || 200\"\n [style.width.px]=\"configClassMultiStep()?.width\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\"\n [class.rounded-tl-[4px]]=\"first\"\n [class.rounded-bl-[4px]]=\"first\"\n [class.pl-[6px]]=\"first\"\n [class.rounded-tr-[4px]]=\"last\"\n [class.rounded-br-[4px]]=\"last\"\n [class.pr-[16px]]=\"last\">\n <libs_ui-components-popover [classInclude]=\"'text-nowrap pl-[10px] ' + (configClassMultiStep()?.classTitleInclude || 'max-w-[160px]')\"\n [type]=\"'text'\"\n [config]=\"step.popover || { maxWidth: 250, direction: 'top', content: step.title | translate }\"\n [ignoreStopPropagationEvent]=\"true\"\n [innerHTML]=\"step.title | translate\" />\n @if (step.type === 'dropdown') {\n <i [attr.isFocus]=\"openList() && indexFocus() === index\"\n class=\"libs-ui-icon-move-right rotate-90\"></i>\n }\n </div>\n </libs_ui-components-popover>\n </div>\n @if (!last) {\n <libs_ui-components-breadcrumb-multi_step-arrow_begin class=\"libs-ui-breadcrumb-multi-step-normal relative left-[-1px] top-0\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\" />\n }\n </div>\n</ng-template>\n", styles: [".libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover{color:#6a7383;background-color:#e6e7ea}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover>i[focus=true]:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover>i[focus=true]:after{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover>i:after{color:#6a7383;background-color:#e6e7ea}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.active>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.active>i:after{background-color:var(--libs-ui-button-other-color-background, #226ff5);color:#fff}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete>i:after{background-color:#e6faf0;color:#00bc62}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete>i[focus=true]:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete>i[focus=true]:after{background-color:#e6faf0;color:#00bc62}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed>i:after{background-color:#fdeaec;color:#ee2d41}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed>i[focus=true]:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed>i[focus=true]:after{background-color:#fdeaec;color:#ee2d41}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.disabled>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.disabled>i:after{background-color:#f8f9fa;color:#cdd0d6}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.active{background-color:var(--libs-ui-button-other-color-background, #226ff5);color:#fff}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete{background-color:#e6faf0;color:#00bc62}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete[focus=true]{background-color:#e6faf0!important;color:#00bc62!important}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed{background-color:#fdeaec;color:#ee2d41}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed[focus=true]{background-color:#fdeaec!important;color:#ee2d41!important}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.disabled{background-color:#f8f9fa;color:#cdd0d6}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover[focus=true]{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal{fill:#e6e7ea}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.active{fill:var(--libs-ui-button-other-color-background, #226ff5)}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.complete{fill:#e6faf0}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.complete[focus=true]{fill:#e6faf0!important}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.failed{fill:#fdeaec}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.failed[focus=true]{fill:#fdeaec!important}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.disabled{fill:#f8f9fa}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal[focus=true],.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal.complete,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal.failed{fill:#e9f1fe}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal.disabled{fill:#f8f9fa}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal.active{fill:var(--libs-ui-button-other-color-background, #226ff5)}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover>i:before,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover>i:after{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.complete,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.failed{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.active{background-color:var(--libs-ui-button-other-color-background, #226ff5);color:#fff}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.active>i:before,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.active>i:after{background-color:var(--libs-ui-button-other-color-background, #226ff5);color:#fff}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.disabled{background-color:#f8f9fa;color:#cdd0d6}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.disabled>i:before,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.disabled>i:after{background-color:#f8f9fa;color:#cdd0d6}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LibsUiComponentsBreadcrumbMultiStepArrowBeginComponent, selector: "libs_ui-components-breadcrumb-multi_step-arrow_begin" }, { kind: "component", type: LibsUiComponentsBreadcrumbMultiStepArrowEndComponent, selector: "libs_ui-components-breadcrumb-multi_step-arrow_end" }, { kind: "component", type: LibsUiComponentsPopoverComponent, selector: "libs_ui-components-popover,[LibsUiComponentsPopoverDirective]", inputs: ["debugId", "flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "classInclude", "ignoreHiddenPopoverContentWhenMouseLeave", "ignoreStopPropagationEvent", "ignoreCursorPointerModeLikeClick", "isAddContentToParentDocument", "ignoreClickOutside"], outputs: ["outEvent", "outChangStageFlagMouse", "outEventPopoverContent", "outFunctionsControl"] }, { kind: "component", type: LibsUiComponentsDropdownComponent, selector: "libs_ui-components-dropdown", inputs: ["useXssFilter", "popoverElementRefCustom", "classInclude", "ignoreStopPropagationEvent", "flagMouse", "flagMouseContent", "popoverCustomConfig", "isNgContent", "zIndex", "convertItemSelected", "getPopoverItemSelected", "httpRequestDetailItemById", "lengthKeys", "textDisplayWhenNoSelect", "textDisplayWhenMultiSelect", "classIncludeTextDisplayWhenNoSelect", "fieldGetLabel", "labelPopoverConfig", "labelPopoverFullWidth", "hasContentUnitRight", "listSearchNoDataTemplateRef", "fieldGetImage", "imageSize", "typeShape", "fieldGetIcon", "fieldGetTextAvatar", "fieldGetColorAvatar", "classAvatarInclude", "getLastTextAfterSpace", "linkImageError", "showError", "showBorderError", "disable", "readonly", "labelConfig", "listSearchConfig", "isSearchOnline", "listHiddenInputSearch", "listSearchPadding", "listKeySearch", "listDividerClassInclude", "listConfig", "listButtonsOther", "listHasButtonUnSelectOption", "listClickExactly", "listBackgroundCustom", "listMaxItemShow", "listKeySelected", "listMultiKeySelected", "listKeysDisable", "listKeysHidden", "validRequired", "validMaxItemSelected", "changeValidUndefinedResetError", "allowSelectItemMultiple", "focusInputSearch", "onlyEmitDataWhenReset", "resetKeyWhenSelectAllKey", "listConfigHasDivider", "classIncludeIcon", "classIncludeContent", "listIgnoreClassDisableDefaultWhenUseKeysDisableItem", "tabKeyActive", "tabsConfig", "ignoreBorderBottom"], outputs: ["flagMouseChange", "flagMouseContentChange", "lengthKeysChange", "showBorderErrorChange", "listKeySelectedChange", "listMultiKeySelectedChange", "tabKeyActiveChange", "outSelectKey", "outSelectMultiKey", "outFunctionsControl", "outValidEvent", "outChangStageFlagMouse", "outDataChange", "outClickButtonOther", "outShowList", "outChangeTabKeyActive"] }, { kind: "pipe", type: LibsUiComponentsBreadcrumbCheckDisableStepPipe, name: "LibsUiComponentsBreadcrumbCheckDisableStepPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
197
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsBreadcrumbMultiStepComponent, isStandalone: true, selector: "libs_ui-components-breadcrumb-multi_step", inputs: { popoverCustomConfig: { classPropertyName: "popoverCustomConfig", publicName: "popoverCustomConfig", isSignal: true, isRequired: false, transformFunction: null }, stepsMulti: { classPropertyName: "stepsMulti", publicName: "stepsMulti", isSignal: true, isRequired: true, transformFunction: null }, configClassMultiStep: { classPropertyName: "configClassMultiStep", publicName: "configClassMultiStep", isSignal: true, isRequired: false, transformFunction: null }, elementRef: { classPropertyName: "elementRef", publicName: "elementRef", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outMultiStepSelect: "outMultiStepSelect" }, viewQueries: [{ propertyName: "stepEl", predicate: ["stepEl"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"flex items-center {{ classInclude() || '' }}\"\n [class.justify-center]=\"mode() === 'center'\"\n [class.justify-start]=\"mode() === 'left'\"\n [class.justify-end]=\"mode() === 'right'\"\n [class.bg-[#ffffff]]=\"backgroundWhite()\"\n #containerEl>\n @for (step of stepsMulti(); track step) {\n <div #stepEl\n class=\"flex libs-ui-breadcrumb-multi-step\"\n [class.cursor-default]=\"step.status === 'disabled'\"\n [class.pointer-events-none]=\"step.status === 'disabled'\"\n [class.cursor-pointer]=\"step.status !== 'disabled'\">\n @if (step.type === 'text') {\n <div (click)=\"handlerLabelEvent($event, $index)\">\n <ng-container [ngTemplateOutlet]=\"contentEl\"\n [ngTemplateOutletContext]=\"{$index, $first, $last, step}\" />\n </div>\n } @else {\n <libs_ui-components-dropdown [isNgContent]=\"true\"\n [listHiddenInputSearch]=\"true\"\n [listHasButtonUnSelectOption]=\"step.listHasButtonUnSelectOption\"\n [listConfig]=\"step.listConfigItem\"\n [popoverCustomConfig]=\"popoverCustomConfig()\"\n [listKeysHidden]=\"listKeyHidden() ?? step.listKeysHidden\"\n [disable]=\"$index | LibsUiComponentsBreadcrumbCheckDisableStepPipe:stepDisable()\"\n (outShowList)=\"handlerShowList($event, $index)\"\n (outSelectKey)=\"handlerSelectKey($event, $index)\"\n (outFunctionsControl)=\"handlerDropDownFunctionControl($event)\">\n <ng-container [ngTemplateOutlet]=\"contentEl\"\n [ngTemplateOutletContext]=\"{$index, $first, $last, step}\" />\n </libs_ui-components-dropdown>\n }\n </div>\n }\n</div>\n\n<ng-template #contentEl\n let-index=\"$index\"\n let-first=\"$first\"\n let-step=\"step\"\n let-last=\"$last\">\n <div class=\"flex items-center\">\n @if (!first) {\n <libs_ui-components-breadcrumb-multi_step-arrow_end class=\"libs-ui-breadcrumb-multi-step-normal relative left-[1px] top-0\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\" />\n }\n <div class=\"libs-ui-breadcrumb-multi-step-center flex items-center justify-center libs-ui-font-h6m\">\n <libs_ui-components-popover [classInclude]=\"'libs-ui-breadcrumb-multi-step-center-popover py-[12px] ' + (configClassMultiStep()?.classInclude || '')\"\n [type]=\"'text'\"\n [ignoreShowPopover]=\"true\"\n [ignoreStopPropagationEvent]=\"true\">\n <div class=\"libs-ui-font-h6m flex items-center justify-center gap-2 h-[40px]\"\n [style.max-width.px]=\"configClassMultiStep()?.maxWidth || 200\"\n [style.width.px]=\"configClassMultiStep()?.width\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\"\n [class.rounded-tl-[4px]]=\"first\"\n [class.rounded-bl-[4px]]=\"first\"\n [class.pl-[6px]]=\"first\"\n [class.rounded-tr-[4px]]=\"last\"\n [class.rounded-br-[4px]]=\"last\"\n [class.pr-[16px]]=\"last\">\n <libs_ui-components-popover [classInclude]=\"'text-nowrap pl-[10px] ' + (configClassMultiStep()?.classTitleInclude || 'max-w-[160px]')\"\n [type]=\"'text'\"\n [config]=\"step.popover || { maxWidth: 250, direction: 'top', content: step.title | translate }\"\n [ignoreStopPropagationEvent]=\"true\"\n [innerHTML]=\"step.title | translate\" />\n @if (step.type === 'dropdown') {\n <i [attr.isFocus]=\"openList() && indexFocus() === index\"\n class=\"libs-ui-icon-move-right rotate-90\"></i>\n }\n </div>\n </libs_ui-components-popover>\n </div>\n @if (!last) {\n <libs_ui-components-breadcrumb-multi_step-arrow_begin class=\"libs-ui-breadcrumb-multi-step-normal relative left-[-1px] top-0\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\" />\n }\n </div>\n</ng-template>\n", styles: [".libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover{color:#6a7383;background-color:#e6e7ea}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover>i[focus=true]:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover>i[focus=true]:after{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover>i:after{color:#6a7383;background-color:#e6e7ea}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.active>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.active>i:after{background-color:var(--libs-ui-button-other-color-background, #226ff5);color:#fff}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete>i:after{background-color:#e6faf0;color:#00bc62}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete>i[focus=true]:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete>i[focus=true]:after{background-color:#e6faf0;color:#00bc62}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed>i:after{background-color:#fdeaec;color:#ee2d41}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed>i[focus=true]:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed>i[focus=true]:after{background-color:#fdeaec;color:#ee2d41}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.disabled>i:before,.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.disabled>i:after{background-color:#f8f9fa;color:#cdd0d6}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.active{background-color:var(--libs-ui-button-other-color-background, #226ff5);color:#fff}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete{background-color:#e6faf0;color:#00bc62}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.complete[focus=true]{background-color:#e6faf0!important;color:#00bc62!important}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed{background-color:#fdeaec;color:#ee2d41}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.failed[focus=true]{background-color:#fdeaec!important;color:#ee2d41!important}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover.disabled{background-color:#f8f9fa;color:#cdd0d6}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-center-popover[focus=true]{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal{fill:#e6e7ea}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.active{fill:var(--libs-ui-button-other-color-background, #226ff5)}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.complete{fill:#e6faf0}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.complete[focus=true]{fill:#e6faf0!important}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.failed{fill:#fdeaec}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.failed[focus=true]{fill:#fdeaec!important}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal.disabled{fill:#f8f9fa}.libs-ui-breadcrumb-multi-step .libs-ui-breadcrumb-multi-step-normal[focus=true],.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal.complete,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal.failed{fill:#e9f1fe}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal.disabled{fill:#f8f9fa}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-normal.active{fill:var(--libs-ui-button-other-color-background, #226ff5)}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover>i:before,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover>i:after{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.complete,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.failed{background-color:#e9f1fe;color:#1b59c4}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.active{background-color:var(--libs-ui-button-other-color-background, #226ff5);color:#fff}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.active>i:before,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.active>i:after{background-color:var(--libs-ui-button-other-color-background, #226ff5);color:#fff}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.disabled{background-color:#f8f9fa;color:#cdd0d6}.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.disabled>i:before,.libs-ui-breadcrumb-multi-step:hover .libs-ui-breadcrumb-multi-step-center-popover.disabled>i:after{background-color:#f8f9fa;color:#cdd0d6}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LibsUiComponentsBreadcrumbMultiStepArrowBeginComponent, selector: "libs_ui-components-breadcrumb-multi_step-arrow_begin" }, { kind: "component", type: LibsUiComponentsBreadcrumbMultiStepArrowEndComponent, selector: "libs_ui-components-breadcrumb-multi_step-arrow_end" }, { kind: "component", type: LibsUiComponentsPopoverComponent, selector: "libs_ui-components-popover,[LibsUiComponentsPopoverDirective]", inputs: ["debugId", "flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "initEventInElementRefCustom", "classInclude", "ignoreHiddenPopoverContentWhenMouseLeave", "ignoreStopPropagationEvent", "ignoreCursorPointerModeLikeClick", "isAddContentToParentDocument", "ignoreClickOutside"], outputs: ["outEvent", "outChangStageFlagMouse", "outEventPopoverContent", "outFunctionsControl"] }, { kind: "component", type: LibsUiComponentsDropdownComponent, selector: "libs_ui-components-dropdown", inputs: ["useXssFilter", "popoverElementRefCustom", "classInclude", "ignoreStopPropagationEvent", "flagMouse", "flagMouseContent", "popoverCustomConfig", "isNgContent", "zIndex", "convertItemSelected", "getPopoverItemSelected", "httpRequestDetailItemById", "lengthKeys", "textDisplayWhenNoSelect", "textDisplayWhenMultiSelect", "classIncludeTextDisplayWhenNoSelect", "fieldLabel", "fieldGetLabel", "labelPopoverConfig", "labelPopoverFullWidth", "hasContentUnitRight", "listSearchNoDataTemplateRef", "fieldGetImage", "imageSize", "typeShape", "fieldGetIcon", "fieldGetTextAvatar", "fieldGetColorAvatar", "classAvatarInclude", "getLastTextAfterSpace", "linkImageError", "showError", "showBorderError", "disable", "readonly", "labelConfig", "disableLabel", "listSearchConfig", "isSearchOnline", "listHiddenInputSearch", "listSearchPadding", "listKeySearch", "listDividerClassInclude", "listConfig", "listButtonsOther", "listHasButtonUnSelectOption", "listClickExactly", "listBackgroundCustom", "listMaxItemShow", "listKeySelected", "listMultiKeySelected", "listKeysDisable", "listKeysHidden", "validRequired", "validMaxItemSelected", "changeValidUndefinedResetError", "allowSelectItemMultiple", "focusInputSearch", "onlyEmitDataWhenReset", "resetKeyWhenSelectAllKey", "listConfigHasDivider", "classIncludeIcon", "classIncludeContent", "listIgnoreClassDisableDefaultWhenUseKeysDisableItem", "tabKeyActive", "tabsConfig", "ignoreBorderBottom"], outputs: ["flagMouseChange", "flagMouseContentChange", "lengthKeysChange", "showBorderErrorChange", "listKeySelectedChange", "listMultiKeySelectedChange", "tabKeyActiveChange", "outSelectKey", "outSelectMultiKey", "outFunctionsControl", "outValidEvent", "outChangStageFlagMouse", "outDataChange", "outClickButtonOther", "outShowList", "outChangeTabKeyActive"] }, { kind: "pipe", type: LibsUiComponentsBreadcrumbCheckDisableStepPipe, name: "LibsUiComponentsBreadcrumbCheckDisableStepPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
198
198
|
}
|
|
199
199
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsBreadcrumbMultiStepComponent, decorators: [{
|
|
200
200
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libs-ui-components-breadcrumb.mjs","sources":["../../../../../libs-ui/components/breadcrumb/src/pipes/check-complete-step.pipe.ts","../../../../../libs-ui/components/breadcrumb/src/breadcrumb.component.ts","../../../../../libs-ui/components/breadcrumb/src/breadcrumb.component.html","../../../../../libs-ui/components/breadcrumb/src/utils/breadcrumb.ts","../../../../../libs-ui/components/breadcrumb/src/multi-step/arrow-begin/arrow-begin.component.ts","../../../../../libs-ui/components/breadcrumb/src/multi-step/arrow-begin/arrow-begin.component.html","../../../../../libs-ui/components/breadcrumb/src/multi-step/arrow-end/arrow-end.component.ts","../../../../../libs-ui/components/breadcrumb/src/multi-step/arrow-end/arrow-end.component.html","../../../../../libs-ui/components/breadcrumb/src/pipes/check-disable-step.pipe.ts","../../../../../libs-ui/components/breadcrumb/src/multi-step/multi-step.component.ts","../../../../../libs-ui/components/breadcrumb/src/multi-step/multi-step.component.html","../../../../../libs-ui/components/breadcrumb/src/libs-ui-components-breadcrumb.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'LibsUiComponentsBreadcrumbCheckCompleteStepPipe',\n standalone: true\n})\nexport class LibsUiComponentsBreadcrumbCheckCompleteStepPipe implements PipeTransform {\n\n transform(step: number, completedIndex: Array<number>): boolean {\n return completedIndex.includes(step);\n }\n\n}\n","import { ChangeDetectionStrategy, Component, input, model, OnInit, output, signal } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { IBreadCrumbFunctionControlEvent, ITabBreadCrumb, ITabBreadCrumbSelected, TYPE_MODE_BREADCRUMB } from './interfaces/breadcrumb.interface';\nimport { LibsUiComponentsBreadcrumbCheckCompleteStepPipe } from './pipes/check-complete-step.pipe';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n styleUrl: './breadcrumb.component.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n TranslateModule,\n LibsUiComponentsBreadcrumbCheckCompleteStepPipe\n ]\n})\nexport class LibsUiComponentsBreadcrumbComponent implements OnInit {\n\n /* PROPERTY */\n protected selectedIndex = signal<number>(0);\n protected stepDisable = signal<Array<number>>([]);\n\n /* INPUT */\n readonly width = input<number>(24);\n readonly mode = input<TYPE_MODE_BREADCRUMB>('center');\n readonly steps = model<Array<ITabBreadCrumb>>();\n readonly classInclude = input<string>();\n readonly completedIndex = model<Array<number>>([]);\n readonly backgroundWhite = input<boolean>();\n\n /* OUTPUT */\n readonly outStepSelected = output<ITabBreadCrumbSelected>();\n readonly outFunctionControl = output<IBreadCrumbFunctionControlEvent>();\n\n ngOnInit() {\n this.outFunctionControl.emit({\n setSelectedStep: async (event) => this.selectedIndex.set(event),\n setCompletedStep: this.setCompletedStep.bind(this),\n setStepDisable: async (event) => this.stepDisable.set(event),\n getCompleteIndex: async () => this.completedIndex(),\n getSelectedIndex: async () => this.selectedIndex(),\n resetCompleteIndex: this.resetCompleteIndex.bind(this)\n });\n }\n\n /* FUNCTIONS */\n protected handlerSelectStep(event: Event, index: number) {\n event.stopPropagation();\n this.outStepSelected.emit({ index });\n }\n\n protected async setCompletedStep(complete: boolean, index: number) {\n const indexFound = this.completedIndex().indexOf(index);\n if (indexFound >= 0) {\n this.completedIndex.update(items => {\n items.splice(indexFound, 1);\n return [...items];\n });\n }\n if (complete) {\n this.completedIndex.update(items => {\n items.push(index);\n return [...items];\n });\n }\n }\n\n protected async resetCompleteIndex(resetAll = true, index?: number) {\n if (resetAll) {\n this.completedIndex.set([]);\n return;\n }\n this.completedIndex.update(items => items.filter(item => item !== index));\n }\n\n protected handlerLabelEvent(event: Event, index: number) {\n this.handlerSelectStep(event, index);\n }\n\n}\n","<div class=\"flex items-center {{ classInclude() || '' }}\"\n [class.justify-center]=\"mode() === 'center'\"\n [class.justify-start]=\"mode() === 'left'\"\n [class.justify-end]=\"mode() === 'right'\"\n [class.bg-[#ffffff]]=\"backgroundWhite()\">\n @for (step of steps(); track step) {\n <div class=\"libs-ui-breadcrumb-crumb flex {{ step.classInclude || 'w-full' }}\"\n [class.pointer-events-none]=\"step.disable\"\n (click)=\"handlerSelectStep($event, $index)\">\n @if ($index | LibsUiComponentsBreadcrumbCheckCompleteStepPipe:completedIndex()) {\n <span class=\"libs-ui-breadcrumb-crumb-check-complete\">\n <span class=\"libs-ui-breadcrumb-crumb-check-complete-icon libs-ui-icon-check inline-block m-auto\"></span>\n </span>\n } @else {\n <span class=\"libs-ui-breadcrumb-crumb-number libs-ui-font-h5m\"\n [class.disable]=\"step.disable\"\n [class.pointer-events-none]=\"step.disable\"\n [class.text-[#cdd0d6]]=\"step.disable\"\n [class.bg-[#f8f9fa]]=\"step.disable\"\n [class.text-[#ffffff]]=\"$index === selectedIndex()\"\n [class.bg-[var(--libs-ui-color-default)]]=\"$index === selectedIndex()\"\n [class.text-[var(--libs-ui-color-default)]]=\"$index !== selectedIndex()\"\n [class.bg-[var(--libs-ui-color-light-2)]]=\"$index !== selectedIndex()\">\n {{ step.number }}\n </span>\n }\n <span class=\"libs-ui-breadcrumb-crumb-title libs-ui-font-h5m\"\n [class.disable]=\"step.disable\"\n [class.pointer-events-none]=\"step.disable\"\n [class.text-[#cdd0d6]]=\"step.disable\"\n [class.active]=\"$index === selectedIndex()\"\n (click)=\"handlerLabelEvent($event, $index)\">\n {{ step.title | translate }}\n </span>\n @if (!$last) {\n <div class=\"mx-[12px] h-[1px] bg-[#e6e7ea]\"\n [style.width.px]=\"width()\">\n </div>\n }\n </div>\n }\n</div>\n","import { IPopoverCustomConfig } from \"@libs-ui/components-dropdown\";\n\nexport const ConfigPopupDropdown = (): IPopoverCustomConfig => {\n return {\n maxWidth: 210,\n direction: 'bottom',\n classInclude: 'w-[200px]',\n position: {\n mode: 'center',\n distance: 0\n }\n };\n};\n","import { Component } from \"@angular/core\";\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-breadcrumb-multi_step-arrow_begin',\n templateUrl: './arrow-begin.component.html',\n styleUrls: ['../multi-step.component.scss'],\n standalone: true\n})\nexport class LibsUiComponentsBreadcrumbMultiStepArrowBeginComponent { }","<svg version=\"1.2\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 40\"\n width=\"20\"\n height=\"40\">\n <path d=\"m-177.9 1.6c-0.5-0.7 0-1.6 0.8-1.6h183.1c1.4 0 2.6 0.7 3.4 1.8l10.2 16c0.9 1.4 0.9 3 0 4.4l-10.2 16c-0.8 1.1-2 1.8-3.4 1.8h-183.1c-0.8 0-1.3-0.9-0.8-1.6l11.9-17.3c0.4-0.7 0.4-1.5 0-2.2z\" />\n</svg>","import { Component } from \"@angular/core\";\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-breadcrumb-multi_step-arrow_end',\n templateUrl: './arrow-end.component.html',\n styleUrls: ['../multi-step.component.scss'],\n standalone: true\n})\nexport class LibsUiComponentsBreadcrumbMultiStepArrowEndComponent { }","<svg version=\"1.2\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 40\"\n width=\"20\"\n height=\"40\">\n <path d=\"m1.1 1.6c-0.5-0.7 0-1.6 0.8-1.6h183.1c1.4 0 2.6 0.7 3.4 1.8l10.2 16c0.9 1.4 0.9 3 0 4.4l-10.2 16c-0.8 1.1-2 1.8-3.4 1.8h-183.1c-0.8 0-1.3-0.9-0.8-1.6l11.9-17.3c0.4-0.7 0.4-1.5 0-2.2z\" />\n</svg>","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'LibsUiComponentsBreadcrumbCheckDisableStepPipe',\n standalone: true\n})\nexport class LibsUiComponentsBreadcrumbCheckDisableStepPipe implements PipeTransform {\n\n transform(index: number, stepDisable: Array<number>): boolean {\n return stepDisable.includes(index);\n }\n\n}\n","import { NgTemplateOutlet } from \"@angular/common\";\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, input, OnInit, output, signal, viewChildren } from \"@angular/core\";\nimport { IDropdownFunctionControlEvent, IEmitSelectKey, IPopoverCustomConfig, LibsUiComponentsDropdownComponent } from \"@libs-ui/components-dropdown\";\nimport { LibsUiComponentsPopoverComponent } from \"@libs-ui/components-popover\";\nimport { LibsUiComponentsBreadcrumbComponent } from \"../breadcrumb.component\";\nimport { IConfigClassMultiStep, ITabBreadCrumbMultiStep, ITabBreadCrumbMultiStepSelected } from \"../interfaces/breadcrumb.interface\";\nimport { ConfigPopupDropdown } from \"../utils/breadcrumb\";\nimport { LibsUiComponentsBreadcrumbMultiStepArrowBeginComponent } from \"./arrow-begin/arrow-begin.component\";\nimport { LibsUiComponentsBreadcrumbMultiStepArrowEndComponent } from \"./arrow-end/arrow-end.component\";\nimport { LibsUiComponentsBreadcrumbCheckDisableStepPipe } from \"../pipes/check-disable-step.pipe\";\nimport { TranslateModule } from \"@ngx-translate/core\";\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-breadcrumb-multi_step',\n templateUrl: './multi-step.component.html',\n styleUrls: ['./multi-step.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n TranslateModule, NgTemplateOutlet,\n LibsUiComponentsBreadcrumbMultiStepArrowBeginComponent,\n LibsUiComponentsBreadcrumbMultiStepArrowEndComponent,\n LibsUiComponentsPopoverComponent,\n LibsUiComponentsDropdownComponent,\n LibsUiComponentsBreadcrumbCheckDisableStepPipe\n ]\n})\nexport class LibsUiComponentsBreadcrumbMultiStepComponent extends LibsUiComponentsBreadcrumbComponent implements OnInit, AfterViewInit {\n\n /* PROPERTY */\n protected failedIndex = signal<Array<number>>([]);\n protected listKeyHidden = signal<Array<string> | undefined>(undefined);\n protected openList = signal<boolean>(false);\n protected indexFocus = signal<number | undefined>(undefined);\n\n private dropDownFunctionControl = signal<IDropdownFunctionControlEvent | undefined>(undefined);\n\n /* INPUT */\n readonly popoverCustomConfig = input<IPopoverCustomConfig>(ConfigPopupDropdown());\n readonly stepsMulti = input.required<Array<ITabBreadCrumbMultiStep>>();\n readonly configClassMultiStep = input<IConfigClassMultiStep>();\n readonly elementRef = input<HTMLElement>();\n\n /* OUTPUT */\n // Note: Kiểu dữ liệu của step sẽ được định nghĩa từ bên ngoài với type general <T>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n readonly outMultiStepSelect = output<ITabBreadCrumbMultiStepSelected<any>>();\n\n /* VIEW CHILD */\n private readonly stepEl = viewChildren<ElementRef>('stepEl');\n\n ngAfterViewInit(): void {\n this.handlerScrollIntoView();\n }\n\n protected override handlerLabelEvent(event: Event, index: number) {\n event.stopPropagation();\n if (this.stepsMulti()[index].status === 'disabled' || this.stepDisable().includes(index)) {\n return;\n }\n this.handlerSelectMultiStep(undefined, { type: 'text', index });\n }\n\n protected handlerSelectKey(event: IEmitSelectKey | undefined, index: number): void {\n if (this.stepDisable().includes(index) || !event) {\n return;\n }\n this.dropDownFunctionControl()?.reset();\n this.handlerSelectMultiStep(undefined, { type: 'dropdown', index, step: event.item });\n }\n\n protected handlerShowList(event: boolean, index: number): void {\n this.openList.set(event);\n this.indexFocus.set(event ? index : undefined);\n }\n\n // Note: Kiểu dữ liệu của step sẽ được định nghĩa từ bên ngoài với type general <T>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handlerSelectMultiStep(event: Event | undefined, step: ITabBreadCrumbMultiStepSelected<any>): void {\n event?.stopPropagation();\n this.outMultiStepSelect.emit({ ...step, callBack: (event: Array<string> | undefined) => this.listKeyHidden.set(event) });\n }\n\n protected handlerDropDownFunctionControl(event: IDropdownFunctionControlEvent): void {\n this.dropDownFunctionControl.set(event);\n }\n\n protected handlerScrollIntoView(): void {\n setTimeout(() => {\n const selectedStep = this.stepsMulti().findIndex(item => item.status === 'selected');\n const indexScroll = selectedStep !== -1 ? selectedStep : this.stepsMulti().length - 1;\n const { offsetWidth } = this.elementRef() || {};\n\n this.stepEl().forEach((element, index) => {\n if (index === indexScroll) {\n if (offsetWidth && (offsetWidth - element.nativeElement.offsetLeft) < 200) {\n this.elementRef()?.scrollTo({ left: element.nativeElement.offsetLeft, behavior: 'smooth' });\n }\n }\n });\n }, 1000);\n }\n\n}\n","<div class=\"flex items-center {{ classInclude() || '' }}\"\n [class.justify-center]=\"mode() === 'center'\"\n [class.justify-start]=\"mode() === 'left'\"\n [class.justify-end]=\"mode() === 'right'\"\n [class.bg-[#ffffff]]=\"backgroundWhite()\"\n #containerEl>\n @for (step of stepsMulti(); track step) {\n <div #stepEl\n class=\"flex libs-ui-breadcrumb-multi-step\"\n [class.cursor-default]=\"step.status === 'disabled'\"\n [class.pointer-events-none]=\"step.status === 'disabled'\"\n [class.cursor-pointer]=\"step.status !== 'disabled'\">\n @if (step.type === 'text') {\n <div (click)=\"handlerLabelEvent($event, $index)\">\n <ng-container [ngTemplateOutlet]=\"contentEl\"\n [ngTemplateOutletContext]=\"{$index, $first, $last, step}\" />\n </div>\n } @else {\n <libs_ui-components-dropdown [isNgContent]=\"true\"\n [listHiddenInputSearch]=\"true\"\n [listHasButtonUnSelectOption]=\"step.listHasButtonUnSelectOption\"\n [listConfig]=\"step.listConfigItem\"\n [popoverCustomConfig]=\"popoverCustomConfig()\"\n [listKeysHidden]=\"listKeyHidden() ?? step.listKeysHidden\"\n [disable]=\"$index | LibsUiComponentsBreadcrumbCheckDisableStepPipe:stepDisable()\"\n (outShowList)=\"handlerShowList($event, $index)\"\n (outSelectKey)=\"handlerSelectKey($event, $index)\"\n (outFunctionsControl)=\"handlerDropDownFunctionControl($event)\">\n <ng-container [ngTemplateOutlet]=\"contentEl\"\n [ngTemplateOutletContext]=\"{$index, $first, $last, step}\" />\n </libs_ui-components-dropdown>\n }\n </div>\n }\n</div>\n\n<ng-template #contentEl\n let-index=\"$index\"\n let-first=\"$first\"\n let-step=\"step\"\n let-last=\"$last\">\n <div class=\"flex items-center\">\n @if (!first) {\n <libs_ui-components-breadcrumb-multi_step-arrow_end class=\"libs-ui-breadcrumb-multi-step-normal relative left-[1px] top-0\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\" />\n }\n <div class=\"libs-ui-breadcrumb-multi-step-center flex items-center justify-center libs-ui-font-h6m\">\n <libs_ui-components-popover [classInclude]=\"'libs-ui-breadcrumb-multi-step-center-popover py-[12px] ' + (configClassMultiStep()?.classInclude || '')\"\n [type]=\"'text'\"\n [ignoreShowPopover]=\"true\"\n [ignoreStopPropagationEvent]=\"true\">\n <div class=\"libs-ui-font-h6m flex items-center justify-center gap-2 h-[40px]\"\n [style.max-width.px]=\"configClassMultiStep()?.maxWidth || 200\"\n [style.width.px]=\"configClassMultiStep()?.width\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\"\n [class.rounded-tl-[4px]]=\"first\"\n [class.rounded-bl-[4px]]=\"first\"\n [class.pl-[6px]]=\"first\"\n [class.rounded-tr-[4px]]=\"last\"\n [class.rounded-br-[4px]]=\"last\"\n [class.pr-[16px]]=\"last\">\n <libs_ui-components-popover [classInclude]=\"'text-nowrap pl-[10px] ' + (configClassMultiStep()?.classTitleInclude || 'max-w-[160px]')\"\n [type]=\"'text'\"\n [config]=\"step.popover || { maxWidth: 250, direction: 'top', content: step.title | translate }\"\n [ignoreStopPropagationEvent]=\"true\"\n [innerHTML]=\"step.title | translate\" />\n @if (step.type === 'dropdown') {\n <i [attr.isFocus]=\"openList() && indexFocus() === index\"\n class=\"libs-ui-icon-move-right rotate-90\"></i>\n }\n </div>\n </libs_ui-components-popover>\n </div>\n @if (!last) {\n <libs_ui-components-breadcrumb-multi_step-arrow_begin class=\"libs-ui-breadcrumb-multi-step-normal relative left-[-1px] top-0\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\" />\n }\n </div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"libs-ui-components-breadcrumb.mjs","sources":["../../../../../libs-ui/components/breadcrumb/src/pipes/check-complete-step.pipe.ts","../../../../../libs-ui/components/breadcrumb/src/breadcrumb.component.ts","../../../../../libs-ui/components/breadcrumb/src/breadcrumb.component.html","../../../../../libs-ui/components/breadcrumb/src/utils/breadcrumb.ts","../../../../../libs-ui/components/breadcrumb/src/multi-step/arrow-begin/arrow-begin.component.ts","../../../../../libs-ui/components/breadcrumb/src/multi-step/arrow-begin/arrow-begin.component.html","../../../../../libs-ui/components/breadcrumb/src/multi-step/arrow-end/arrow-end.component.ts","../../../../../libs-ui/components/breadcrumb/src/multi-step/arrow-end/arrow-end.component.html","../../../../../libs-ui/components/breadcrumb/src/pipes/check-disable-step.pipe.ts","../../../../../libs-ui/components/breadcrumb/src/multi-step/multi-step.component.ts","../../../../../libs-ui/components/breadcrumb/src/multi-step/multi-step.component.html","../../../../../libs-ui/components/breadcrumb/src/libs-ui-components-breadcrumb.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'LibsUiComponentsBreadcrumbCheckCompleteStepPipe',\n standalone: true\n})\nexport class LibsUiComponentsBreadcrumbCheckCompleteStepPipe implements PipeTransform {\n\n transform(step: number, completedIndex: Array<number>): boolean {\n return completedIndex.includes(step);\n }\n\n}\n","import { ChangeDetectionStrategy, Component, input, model, OnInit, output, signal } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { IBreadCrumbFunctionControlEvent, ITabBreadCrumb, ITabBreadCrumbSelected, TYPE_MODE_BREADCRUMB } from './interfaces/breadcrumb.interface';\nimport { LibsUiComponentsBreadcrumbCheckCompleteStepPipe } from './pipes/check-complete-step.pipe';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n styleUrl: './breadcrumb.component.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n TranslateModule,\n LibsUiComponentsBreadcrumbCheckCompleteStepPipe\n ]\n})\nexport class LibsUiComponentsBreadcrumbComponent implements OnInit {\n\n // #region PROPERTY\n protected selectedIndex = signal<number>(0);\n protected stepDisable = signal<Array<number>>([]);\n\n // #region INPUT\n readonly width = input<number>(24);\n readonly mode = input<TYPE_MODE_BREADCRUMB>('center');\n readonly steps = model<Array<ITabBreadCrumb>>();\n readonly classInclude = input<string>();\n readonly completedIndex = model<Array<number>>([]);\n readonly backgroundWhite = input<boolean>();\n\n // #region OUTPUT\n readonly outStepSelected = output<ITabBreadCrumbSelected>();\n readonly outFunctionControl = output<IBreadCrumbFunctionControlEvent>();\n\n ngOnInit() {\n this.outFunctionControl.emit({\n setSelectedStep: async (event) => this.selectedIndex.set(event),\n setCompletedStep: this.setCompletedStep.bind(this),\n setStepDisable: async (event) => this.stepDisable.set(event),\n getCompleteIndex: async () => this.completedIndex(),\n getSelectedIndex: async () => this.selectedIndex(),\n resetCompleteIndex: this.resetCompleteIndex.bind(this)\n });\n }\n\n /* FUNCTIONS */\n protected handlerSelectStep(event: Event, index: number) {\n event.stopPropagation();\n this.outStepSelected.emit({ index });\n }\n\n protected async setCompletedStep(complete: boolean, index: number) {\n const indexFound = this.completedIndex().indexOf(index);\n if (indexFound >= 0) {\n this.completedIndex.update(items => {\n items.splice(indexFound, 1);\n return [...items];\n });\n }\n if (complete) {\n this.completedIndex.update(items => {\n items.push(index);\n return [...items];\n });\n }\n }\n\n protected async resetCompleteIndex(resetAll = true, index?: number) {\n if (resetAll) {\n this.completedIndex.set([]);\n return;\n }\n this.completedIndex.update(items => items.filter(item => item !== index));\n }\n\n protected handlerLabelEvent(event: Event, index: number) {\n this.handlerSelectStep(event, index);\n }\n\n}\n","<div class=\"flex items-center {{ classInclude() || '' }}\"\n [class.justify-center]=\"mode() === 'center'\"\n [class.justify-start]=\"mode() === 'left'\"\n [class.justify-end]=\"mode() === 'right'\"\n [class.bg-[#ffffff]]=\"backgroundWhite()\">\n @for (step of steps(); track step) {\n <div class=\"libs-ui-breadcrumb-crumb flex {{ step.classInclude || 'w-full' }}\"\n [class.pointer-events-none]=\"step.disable\"\n (click)=\"handlerSelectStep($event, $index)\">\n @if ($index | LibsUiComponentsBreadcrumbCheckCompleteStepPipe:completedIndex()) {\n <span class=\"libs-ui-breadcrumb-crumb-check-complete\">\n <span class=\"libs-ui-breadcrumb-crumb-check-complete-icon libs-ui-icon-check inline-block m-auto\"></span>\n </span>\n } @else {\n <span class=\"libs-ui-breadcrumb-crumb-number libs-ui-font-h5m\"\n [class.disable]=\"step.disable\"\n [class.pointer-events-none]=\"step.disable\"\n [class.text-[#cdd0d6]]=\"step.disable\"\n [class.bg-[#f8f9fa]]=\"step.disable\"\n [class.text-[#ffffff]]=\"$index === selectedIndex()\"\n [class.bg-[var(--libs-ui-color-default)]]=\"$index === selectedIndex()\"\n [class.text-[var(--libs-ui-color-default)]]=\"$index !== selectedIndex()\"\n [class.bg-[var(--libs-ui-color-light-2)]]=\"$index !== selectedIndex()\">\n {{ step.number }}\n </span>\n }\n <span class=\"libs-ui-breadcrumb-crumb-title libs-ui-font-h5m\"\n [class.disable]=\"step.disable\"\n [class.pointer-events-none]=\"step.disable\"\n [class.text-[#cdd0d6]]=\"step.disable\"\n [class.active]=\"$index === selectedIndex()\"\n (click)=\"handlerLabelEvent($event, $index)\">\n {{ step.title | translate }}\n </span>\n @if (!$last) {\n <div class=\"mx-[12px] h-[1px] bg-[#e6e7ea]\"\n [style.width.px]=\"width()\">\n </div>\n }\n </div>\n }\n</div>\n","import { IPopoverCustomConfig } from \"@libs-ui/components-dropdown\";\n\nexport const ConfigPopupDropdown = (): IPopoverCustomConfig => {\n return {\n maxWidth: 210,\n direction: 'bottom',\n classInclude: 'w-[200px]',\n position: {\n mode: 'center',\n distance: 0\n }\n };\n};\n","import { Component } from \"@angular/core\";\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-breadcrumb-multi_step-arrow_begin',\n templateUrl: './arrow-begin.component.html',\n styleUrls: ['../multi-step.component.scss'],\n standalone: true\n})\nexport class LibsUiComponentsBreadcrumbMultiStepArrowBeginComponent { }","<svg version=\"1.2\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 40\"\n width=\"20\"\n height=\"40\">\n <path d=\"m-177.9 1.6c-0.5-0.7 0-1.6 0.8-1.6h183.1c1.4 0 2.6 0.7 3.4 1.8l10.2 16c0.9 1.4 0.9 3 0 4.4l-10.2 16c-0.8 1.1-2 1.8-3.4 1.8h-183.1c-0.8 0-1.3-0.9-0.8-1.6l11.9-17.3c0.4-0.7 0.4-1.5 0-2.2z\" />\n</svg>","import { Component } from \"@angular/core\";\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-breadcrumb-multi_step-arrow_end',\n templateUrl: './arrow-end.component.html',\n styleUrls: ['../multi-step.component.scss'],\n standalone: true\n})\nexport class LibsUiComponentsBreadcrumbMultiStepArrowEndComponent { }","<svg version=\"1.2\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 40\"\n width=\"20\"\n height=\"40\">\n <path d=\"m1.1 1.6c-0.5-0.7 0-1.6 0.8-1.6h183.1c1.4 0 2.6 0.7 3.4 1.8l10.2 16c0.9 1.4 0.9 3 0 4.4l-10.2 16c-0.8 1.1-2 1.8-3.4 1.8h-183.1c-0.8 0-1.3-0.9-0.8-1.6l11.9-17.3c0.4-0.7 0.4-1.5 0-2.2z\" />\n</svg>","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'LibsUiComponentsBreadcrumbCheckDisableStepPipe',\n standalone: true\n})\nexport class LibsUiComponentsBreadcrumbCheckDisableStepPipe implements PipeTransform {\n\n transform(index: number, stepDisable: Array<number>): boolean {\n return stepDisable.includes(index);\n }\n\n}\n","import { NgTemplateOutlet } from \"@angular/common\";\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, input, OnInit, output, signal, viewChildren } from \"@angular/core\";\nimport { IDropdownFunctionControlEvent, IEmitSelectKey, IPopoverCustomConfig, LibsUiComponentsDropdownComponent } from \"@libs-ui/components-dropdown\";\nimport { LibsUiComponentsPopoverComponent } from \"@libs-ui/components-popover\";\nimport { LibsUiComponentsBreadcrumbComponent } from \"../breadcrumb.component\";\nimport { IConfigClassMultiStep, ITabBreadCrumbMultiStep, ITabBreadCrumbMultiStepSelected } from \"../interfaces/breadcrumb.interface\";\nimport { ConfigPopupDropdown } from \"../utils/breadcrumb\";\nimport { LibsUiComponentsBreadcrumbMultiStepArrowBeginComponent } from \"./arrow-begin/arrow-begin.component\";\nimport { LibsUiComponentsBreadcrumbMultiStepArrowEndComponent } from \"./arrow-end/arrow-end.component\";\nimport { LibsUiComponentsBreadcrumbCheckDisableStepPipe } from \"../pipes/check-disable-step.pipe\";\nimport { TranslateModule } from \"@ngx-translate/core\";\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-breadcrumb-multi_step',\n templateUrl: './multi-step.component.html',\n styleUrls: ['./multi-step.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n TranslateModule, NgTemplateOutlet,\n LibsUiComponentsBreadcrumbMultiStepArrowBeginComponent,\n LibsUiComponentsBreadcrumbMultiStepArrowEndComponent,\n LibsUiComponentsPopoverComponent,\n LibsUiComponentsDropdownComponent,\n LibsUiComponentsBreadcrumbCheckDisableStepPipe\n ]\n})\nexport class LibsUiComponentsBreadcrumbMultiStepComponent extends LibsUiComponentsBreadcrumbComponent implements OnInit, AfterViewInit {\n\n // #region PROPERTY\n protected failedIndex = signal<Array<number>>([]);\n protected listKeyHidden = signal<Array<string> | undefined>(undefined);\n protected openList = signal<boolean>(false);\n protected indexFocus = signal<number | undefined>(undefined);\n\n private dropDownFunctionControl = signal<IDropdownFunctionControlEvent | undefined>(undefined);\n\n // #region INPUT\n readonly popoverCustomConfig = input<IPopoverCustomConfig>(ConfigPopupDropdown());\n readonly stepsMulti = input.required<Array<ITabBreadCrumbMultiStep>>();\n readonly configClassMultiStep = input<IConfigClassMultiStep>();\n readonly elementRef = input<HTMLElement>();\n\n // #region OUTPUT\n // Note: Kiểu dữ liệu của step sẽ được định nghĩa từ bên ngoài với type general <T>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n readonly outMultiStepSelect = output<ITabBreadCrumbMultiStepSelected<any>>();\n\n /* VIEW CHILD */\n private readonly stepEl = viewChildren<ElementRef>('stepEl');\n\n ngAfterViewInit(): void {\n this.handlerScrollIntoView();\n }\n\n protected override handlerLabelEvent(event: Event, index: number) {\n event.stopPropagation();\n if (this.stepsMulti()[index].status === 'disabled' || this.stepDisable().includes(index)) {\n return;\n }\n this.handlerSelectMultiStep(undefined, { type: 'text', index });\n }\n\n protected handlerSelectKey(event: IEmitSelectKey | undefined, index: number): void {\n if (this.stepDisable().includes(index) || !event) {\n return;\n }\n this.dropDownFunctionControl()?.reset();\n this.handlerSelectMultiStep(undefined, { type: 'dropdown', index, step: event.item });\n }\n\n protected handlerShowList(event: boolean, index: number): void {\n this.openList.set(event);\n this.indexFocus.set(event ? index : undefined);\n }\n\n // Note: Kiểu dữ liệu của step sẽ được định nghĩa từ bên ngoài với type general <T>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private handlerSelectMultiStep(event: Event | undefined, step: ITabBreadCrumbMultiStepSelected<any>): void {\n event?.stopPropagation();\n this.outMultiStepSelect.emit({ ...step, callBack: (event: Array<string> | undefined) => this.listKeyHidden.set(event) });\n }\n\n protected handlerDropDownFunctionControl(event: IDropdownFunctionControlEvent): void {\n this.dropDownFunctionControl.set(event);\n }\n\n protected handlerScrollIntoView(): void {\n setTimeout(() => {\n const selectedStep = this.stepsMulti().findIndex(item => item.status === 'selected');\n const indexScroll = selectedStep !== -1 ? selectedStep : this.stepsMulti().length - 1;\n const { offsetWidth } = this.elementRef() || {};\n\n this.stepEl().forEach((element, index) => {\n if (index === indexScroll) {\n if (offsetWidth && (offsetWidth - element.nativeElement.offsetLeft) < 200) {\n this.elementRef()?.scrollTo({ left: element.nativeElement.offsetLeft, behavior: 'smooth' });\n }\n }\n });\n }, 1000);\n }\n\n}\n","<div class=\"flex items-center {{ classInclude() || '' }}\"\n [class.justify-center]=\"mode() === 'center'\"\n [class.justify-start]=\"mode() === 'left'\"\n [class.justify-end]=\"mode() === 'right'\"\n [class.bg-[#ffffff]]=\"backgroundWhite()\"\n #containerEl>\n @for (step of stepsMulti(); track step) {\n <div #stepEl\n class=\"flex libs-ui-breadcrumb-multi-step\"\n [class.cursor-default]=\"step.status === 'disabled'\"\n [class.pointer-events-none]=\"step.status === 'disabled'\"\n [class.cursor-pointer]=\"step.status !== 'disabled'\">\n @if (step.type === 'text') {\n <div (click)=\"handlerLabelEvent($event, $index)\">\n <ng-container [ngTemplateOutlet]=\"contentEl\"\n [ngTemplateOutletContext]=\"{$index, $first, $last, step}\" />\n </div>\n } @else {\n <libs_ui-components-dropdown [isNgContent]=\"true\"\n [listHiddenInputSearch]=\"true\"\n [listHasButtonUnSelectOption]=\"step.listHasButtonUnSelectOption\"\n [listConfig]=\"step.listConfigItem\"\n [popoverCustomConfig]=\"popoverCustomConfig()\"\n [listKeysHidden]=\"listKeyHidden() ?? step.listKeysHidden\"\n [disable]=\"$index | LibsUiComponentsBreadcrumbCheckDisableStepPipe:stepDisable()\"\n (outShowList)=\"handlerShowList($event, $index)\"\n (outSelectKey)=\"handlerSelectKey($event, $index)\"\n (outFunctionsControl)=\"handlerDropDownFunctionControl($event)\">\n <ng-container [ngTemplateOutlet]=\"contentEl\"\n [ngTemplateOutletContext]=\"{$index, $first, $last, step}\" />\n </libs_ui-components-dropdown>\n }\n </div>\n }\n</div>\n\n<ng-template #contentEl\n let-index=\"$index\"\n let-first=\"$first\"\n let-step=\"step\"\n let-last=\"$last\">\n <div class=\"flex items-center\">\n @if (!first) {\n <libs_ui-components-breadcrumb-multi_step-arrow_end class=\"libs-ui-breadcrumb-multi-step-normal relative left-[1px] top-0\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\" />\n }\n <div class=\"libs-ui-breadcrumb-multi-step-center flex items-center justify-center libs-ui-font-h6m\">\n <libs_ui-components-popover [classInclude]=\"'libs-ui-breadcrumb-multi-step-center-popover py-[12px] ' + (configClassMultiStep()?.classInclude || '')\"\n [type]=\"'text'\"\n [ignoreShowPopover]=\"true\"\n [ignoreStopPropagationEvent]=\"true\">\n <div class=\"libs-ui-font-h6m flex items-center justify-center gap-2 h-[40px]\"\n [style.max-width.px]=\"configClassMultiStep()?.maxWidth || 200\"\n [style.width.px]=\"configClassMultiStep()?.width\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\"\n [class.rounded-tl-[4px]]=\"first\"\n [class.rounded-bl-[4px]]=\"first\"\n [class.pl-[6px]]=\"first\"\n [class.rounded-tr-[4px]]=\"last\"\n [class.rounded-br-[4px]]=\"last\"\n [class.pr-[16px]]=\"last\">\n <libs_ui-components-popover [classInclude]=\"'text-nowrap pl-[10px] ' + (configClassMultiStep()?.classTitleInclude || 'max-w-[160px]')\"\n [type]=\"'text'\"\n [config]=\"step.popover || { maxWidth: 250, direction: 'top', content: step.title | translate }\"\n [ignoreStopPropagationEvent]=\"true\"\n [innerHTML]=\"step.title | translate\" />\n @if (step.type === 'dropdown') {\n <i [attr.isFocus]=\"openList() && indexFocus() === index\"\n class=\"libs-ui-icon-move-right rotate-90\"></i>\n }\n </div>\n </libs_ui-components-popover>\n </div>\n @if (!last) {\n <libs_ui-components-breadcrumb-multi_step-arrow_begin class=\"libs-ui-breadcrumb-multi-step-normal relative left-[-1px] top-0\"\n [attr.focus]=\"openList() && indexFocus() === index\"\n [class.active]=\"step.status === 'selected'\"\n [class.complete]=\"step.status === 'completed'\"\n [class.disabled]=\"step.status === 'disabled'\"\n [class.failed]=\"step.status === 'failed'\" />\n }\n </div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libs-ui/components-breadcrumb",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.306.2",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "
|
|
6
|
-
"@angular/core": "
|
|
5
|
+
"@angular/common": ">=18.0.0",
|
|
6
|
+
"@angular/core": ">=18.0.0",
|
|
7
|
+
"@ngx-translate/core": "^15.0.0",
|
|
8
|
+
"@libs-ui/components-list": "0.2.306.2",
|
|
9
|
+
"@libs-ui/components-popover": "0.2.306.2",
|
|
10
|
+
"@libs-ui/components-dropdown": "0.2.306.2"
|
|
7
11
|
},
|
|
8
12
|
"sideEffects": false,
|
|
9
13
|
"module": "fesm2022/libs-ui-components-breadcrumb.mjs",
|