imm-element-ui 1.0.6 → 1.0.8

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.
Files changed (42) hide show
  1. package/esm2022/lib/form/form/form.component.mjs +9 -6
  2. package/esm2022/lib/form/form-field/field-control.mjs +5 -5
  3. package/esm2022/lib/form/form-field/field-utils.mjs +4 -5
  4. package/esm2022/lib/form/form-field/form-field.mjs +107 -107
  5. package/esm2022/lib/form/form-type/autocomplete.type.mjs +160 -151
  6. package/esm2022/lib/form/form-type/codemirror.type.mjs +5 -4
  7. package/esm2022/lib/form/form-type/datepicker.type.mjs +10 -1
  8. package/esm2022/lib/form/form-type/image.type.mjs +147 -146
  9. package/esm2022/lib/form/form-type/inputnumber.type.mjs +100 -91
  10. package/esm2022/lib/form/form-type/inputtext.type.mjs +28 -19
  11. package/esm2022/lib/form/form-type/multiselect.type.mjs +172 -163
  12. package/esm2022/lib/form/form-type/radio.type.mjs +81 -80
  13. package/esm2022/lib/form/form-type/rowselector.type.mjs +29 -28
  14. package/esm2022/lib/form/form-type/select.type.mjs +136 -136
  15. package/esm2022/lib/form/form-type/textarea.type.mjs +10 -1
  16. package/esm2022/lib/form/form-type/treeselect.type.mjs +4 -4
  17. package/esm2022/lib/form/form-type/upload.type.mjs +135 -134
  18. package/esm2022/lib/grid/actions/actions.component.mjs +3 -3
  19. package/esm2022/lib/page-form/page-form.component.mjs +12 -3
  20. package/esm2022/lib/share/utils.mjs +10 -1
  21. package/fesm2022/imm-element-ui.mjs +1147 -1068
  22. package/fesm2022/imm-element-ui.mjs.map +1 -1
  23. package/lib/crumb-action/crumb-action.component.d.ts +1 -1
  24. package/lib/form/form/form.component.d.ts +3 -1
  25. package/lib/form/form-field/field-control.d.ts +2 -2
  26. package/lib/form/form-field/field-utils.d.ts +1 -1
  27. package/lib/form/form-field/form-field.d.ts +2 -0
  28. package/lib/form/form-type/autocomplete.type.d.ts +1 -0
  29. package/lib/form/form-type/codemirror.type.d.ts +1 -1
  30. package/lib/form/form-type/datepicker.type.d.ts +2 -0
  31. package/lib/form/form-type/image.type.d.ts +1 -1
  32. package/lib/form/form-type/inputnumber.type.d.ts +1 -0
  33. package/lib/form/form-type/inputtext.type.d.ts +1 -0
  34. package/lib/form/form-type/multiselect.type.d.ts +1 -0
  35. package/lib/form/form-type/radio.type.d.ts +1 -1
  36. package/lib/form/form-type/rowselector.type.d.ts +1 -1
  37. package/lib/form/form-type/select.type.d.ts +1 -2
  38. package/lib/form/form-type/textarea.type.d.ts +1 -0
  39. package/lib/form/form-type/treeselect.type.d.ts +1 -1
  40. package/lib/form/form-type/upload.type.d.ts +1 -1
  41. package/lib/grid/grid/grid.component.d.ts +1 -1
  42. package/package.json +1 -1
@@ -21,8 +21,8 @@ export class UploadComponent {
21
21
  effect(() => {
22
22
  if (this.field()) {
23
23
  this.props = this.field().uploadProps;
24
+ this.handleHookChange();
24
25
  this.handleDisabled();
25
- this.handleModelChange();
26
26
  this.afterSubmit();
27
27
  }
28
28
  });
@@ -75,11 +75,12 @@ export class UploadComponent {
75
75
  this.fileList = this.fileList?.filter((value, i) => index != i);
76
76
  this.field()?.fieldControl?.setValue(this.fileList);
77
77
  }
78
- handleModelChange() {
79
- this.field()?.fieldControl?.modelChange.subscribe((value) => {
78
+ handleHookChange() {
79
+ this.field()?.fieldControl?.hookChange.subscribe((value) => {
80
80
  if (value == null) {
81
81
  return;
82
82
  }
83
+ this.props.onHookChange?.(this.field(), { value });
83
84
  this.fileList = [...value];
84
85
  });
85
86
  }
@@ -96,143 +97,143 @@ export class UploadComponent {
96
97
  }
97
98
  }
98
99
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadComponent, deps: [{ token: i1.HttpClient }, { token: i2.ActionService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
99
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UploadComponent, isStandalone: true, selector: "form-upload", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "uploadCompRef", first: true, predicate: ["uploadComp"], descendants: true, read: ElementRef }], ngImport: i0, template: `<p-fileUpload
100
- #fu
101
- auto
102
- [id]="field()?.uuid"
103
- [name]="props.name"
104
- [url]="props.url"
105
- [method]="props.method ?? 'post'"
106
- [multiple]="props.multiple ?? true"
107
- [accept]="props.accept"
108
- [withCredentials]="props.withCredentials"
109
- [maxFileSize]="props.maxFileSize"
110
- [styleClass]="props.styleClass"
111
- [previewWidth]="props.previewWidth ?? 50"
112
- [mode]="props.mode ?? 'advanced'"
113
- [headers]="props.headers"
114
- [fileLimit]="props.fileLimit"
115
- [customUpload]="props.customUpload ?? true"
116
- (onBeforeUpload)="props.onBeforeUpload?.(field()!, $event)"
117
- (onSend)="props.onSend?.(field()!, $event)"
118
- (onUpload)="props.onUpload?.(field()!, $event)"
119
- (onError)="props.onError?.(field()!, $event)"
120
- (onClear)="props.onClear?.(field()!, $event)"
121
- (onRemove)="props.onRemove?.(field()!, $event)"
122
- (onSelect)="props.onSelect?.(field()!, $event)"
123
- (onProgress)="props.onProgress?.(field()!, $event)"
124
- (uploadHandler)="uploadHandler(field()!, $event, fu)">
125
- <ng-template
126
- #header
127
- let-chooseCallback="chooseCallback">
128
- <div
129
- #uploadComp
130
- [class]="'flex justify-center w-full upload-btn' + (field()?.fieldControl?.disabled ? ' upload-disable' : '')"
131
- (click)="choose($event, chooseCallback)">
132
- <span
133
- ><span
134
- style="font-size: 12px; margin-right: 2.5px"
135
- class="pi pi-upload"></span
136
- >上传</span
137
- >
138
- </div>
139
- </ng-template>
140
- <ng-template #content>
141
- @if (fileList.length > 0) {
142
- @for (file of fileList; track file; let index = $index) {
143
- <div class="flex justify-between items-center file-item">
144
- <span class="file-name"
145
- ><a
146
- [href]="'https://hrimage.myfoodiepet.com//' + file"
147
- [download]="file"
148
- >{{ file }}</a
149
- ></span
150
- >
151
- @if (!field()?.fieldControl?.disabled) {
152
- <p-button
153
- icon="pi pi-times"
154
- severity="danger"
155
- size="small"
156
- (onClick)="deleteHandler(file, index)"
157
- [text]="true" />
158
- }
159
- </div>
160
- }
161
- }
162
- </ng-template>
163
- <ng-template #file> </ng-template>
100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UploadComponent, isStandalone: true, selector: "form-upload", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "uploadCompRef", first: true, predicate: ["uploadComp"], descendants: true, read: ElementRef }], ngImport: i0, template: `<p-fileUpload
101
+ #fu
102
+ auto
103
+ [id]="field()?.uuid"
104
+ [name]="props.name"
105
+ [url]="props.url"
106
+ [method]="props.method ?? 'post'"
107
+ [multiple]="props.multiple ?? true"
108
+ [accept]="props.accept"
109
+ [withCredentials]="props.withCredentials"
110
+ [maxFileSize]="props.maxFileSize"
111
+ [styleClass]="props.styleClass"
112
+ [previewWidth]="props.previewWidth ?? 50"
113
+ [mode]="props.mode ?? 'advanced'"
114
+ [headers]="props.headers"
115
+ [fileLimit]="props.fileLimit"
116
+ [customUpload]="props.customUpload ?? true"
117
+ (onBeforeUpload)="props.onBeforeUpload?.(field()!, $event)"
118
+ (onSend)="props.onSend?.(field()!, $event)"
119
+ (onUpload)="props.onUpload?.(field()!, $event)"
120
+ (onError)="props.onError?.(field()!, $event)"
121
+ (onClear)="props.onClear?.(field()!, $event)"
122
+ (onRemove)="props.onRemove?.(field()!, $event)"
123
+ (onSelect)="props.onSelect?.(field()!, $event)"
124
+ (onProgress)="props.onProgress?.(field()!, $event)"
125
+ (uploadHandler)="uploadHandler(field()!, $event, fu)">
126
+ <ng-template
127
+ #header
128
+ let-chooseCallback="chooseCallback">
129
+ <div
130
+ #uploadComp
131
+ [class]="'flex justify-center w-full upload-btn' + (field()?.fieldControl?.disabled ? ' upload-disable' : '')"
132
+ (click)="choose($event, chooseCallback)">
133
+ <span
134
+ ><span
135
+ style="font-size: 12px; margin-right: 2.5px"
136
+ class="pi pi-upload"></span
137
+ >上传</span
138
+ >
139
+ </div>
140
+ </ng-template>
141
+ <ng-template #content>
142
+ @if (fileList.length > 0) {
143
+ @for (file of fileList; track file; let index = $index) {
144
+ <div class="flex justify-between items-center file-item">
145
+ <span class="file-name"
146
+ ><a
147
+ [href]="'https://hrimage.myfoodiepet.com//' + file"
148
+ [download]="file"
149
+ >{{ file }}</a
150
+ ></span
151
+ >
152
+ @if (!field()?.fieldControl?.disabled) {
153
+ <p-button
154
+ icon="pi pi-times"
155
+ severity="danger"
156
+ size="small"
157
+ (onClick)="deleteHandler(file, index)"
158
+ [text]="true" />
159
+ }
160
+ </div>
161
+ }
162
+ }
163
+ </ng-template>
164
+ <ng-template #file> </ng-template>
164
165
  </p-fileUpload>`, isInline: true, styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}\n", ".file-item{border-top:solid 1px #fff}.upload-btn{border:solid 1px transparent}.upload-btn.upload-disable:hover{cursor:default}.upload-btn:not(.upload-disable):hover{border:solid 1px var(--p-primary-color);background:var(--p-primary-50);cursor:pointer}.upload-btn:not(.upload-disable).ng-hovered{border:solid 1px var(--p-primary-color);background:var(--p-primary-50);cursor:pointer}.file-name{font-size:12px}.file-name:hover{cursor:pointer;color:var(--p-primary-color)}:is() .p-image-preview-mask{position:inherit;opacity:1;justify-content:left;color:#334155}\n"], dependencies: [{ kind: "component", type: FileUpload, selector: "p-fileupload, p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "chooseButtonProps", "uploadButtonProps", "cancelButtonProps", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
165
166
  }
166
167
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadComponent, decorators: [{
167
168
  type: Component,
168
- args: [{ selector: 'form-upload', standalone: true, imports: [FileUpload, ButtonModule, Image, ReactiveFormsModule], template: `<p-fileUpload
169
- #fu
170
- auto
171
- [id]="field()?.uuid"
172
- [name]="props.name"
173
- [url]="props.url"
174
- [method]="props.method ?? 'post'"
175
- [multiple]="props.multiple ?? true"
176
- [accept]="props.accept"
177
- [withCredentials]="props.withCredentials"
178
- [maxFileSize]="props.maxFileSize"
179
- [styleClass]="props.styleClass"
180
- [previewWidth]="props.previewWidth ?? 50"
181
- [mode]="props.mode ?? 'advanced'"
182
- [headers]="props.headers"
183
- [fileLimit]="props.fileLimit"
184
- [customUpload]="props.customUpload ?? true"
185
- (onBeforeUpload)="props.onBeforeUpload?.(field()!, $event)"
186
- (onSend)="props.onSend?.(field()!, $event)"
187
- (onUpload)="props.onUpload?.(field()!, $event)"
188
- (onError)="props.onError?.(field()!, $event)"
189
- (onClear)="props.onClear?.(field()!, $event)"
190
- (onRemove)="props.onRemove?.(field()!, $event)"
191
- (onSelect)="props.onSelect?.(field()!, $event)"
192
- (onProgress)="props.onProgress?.(field()!, $event)"
193
- (uploadHandler)="uploadHandler(field()!, $event, fu)">
194
- <ng-template
195
- #header
196
- let-chooseCallback="chooseCallback">
197
- <div
198
- #uploadComp
199
- [class]="'flex justify-center w-full upload-btn' + (field()?.fieldControl?.disabled ? ' upload-disable' : '')"
200
- (click)="choose($event, chooseCallback)">
201
- <span
202
- ><span
203
- style="font-size: 12px; margin-right: 2.5px"
204
- class="pi pi-upload"></span
205
- >上传</span
206
- >
207
- </div>
208
- </ng-template>
209
- <ng-template #content>
210
- @if (fileList.length > 0) {
211
- @for (file of fileList; track file; let index = $index) {
212
- <div class="flex justify-between items-center file-item">
213
- <span class="file-name"
214
- ><a
215
- [href]="'https://hrimage.myfoodiepet.com//' + file"
216
- [download]="file"
217
- >{{ file }}</a
218
- ></span
219
- >
220
- @if (!field()?.fieldControl?.disabled) {
221
- <p-button
222
- icon="pi pi-times"
223
- severity="danger"
224
- size="small"
225
- (onClick)="deleteHandler(file, index)"
226
- [text]="true" />
227
- }
228
- </div>
229
- }
230
- }
231
- </ng-template>
232
- <ng-template #file> </ng-template>
169
+ args: [{ selector: 'form-upload', standalone: true, imports: [FileUpload, ButtonModule, Image, ReactiveFormsModule], template: `<p-fileUpload
170
+ #fu
171
+ auto
172
+ [id]="field()?.uuid"
173
+ [name]="props.name"
174
+ [url]="props.url"
175
+ [method]="props.method ?? 'post'"
176
+ [multiple]="props.multiple ?? true"
177
+ [accept]="props.accept"
178
+ [withCredentials]="props.withCredentials"
179
+ [maxFileSize]="props.maxFileSize"
180
+ [styleClass]="props.styleClass"
181
+ [previewWidth]="props.previewWidth ?? 50"
182
+ [mode]="props.mode ?? 'advanced'"
183
+ [headers]="props.headers"
184
+ [fileLimit]="props.fileLimit"
185
+ [customUpload]="props.customUpload ?? true"
186
+ (onBeforeUpload)="props.onBeforeUpload?.(field()!, $event)"
187
+ (onSend)="props.onSend?.(field()!, $event)"
188
+ (onUpload)="props.onUpload?.(field()!, $event)"
189
+ (onError)="props.onError?.(field()!, $event)"
190
+ (onClear)="props.onClear?.(field()!, $event)"
191
+ (onRemove)="props.onRemove?.(field()!, $event)"
192
+ (onSelect)="props.onSelect?.(field()!, $event)"
193
+ (onProgress)="props.onProgress?.(field()!, $event)"
194
+ (uploadHandler)="uploadHandler(field()!, $event, fu)">
195
+ <ng-template
196
+ #header
197
+ let-chooseCallback="chooseCallback">
198
+ <div
199
+ #uploadComp
200
+ [class]="'flex justify-center w-full upload-btn' + (field()?.fieldControl?.disabled ? ' upload-disable' : '')"
201
+ (click)="choose($event, chooseCallback)">
202
+ <span
203
+ ><span
204
+ style="font-size: 12px; margin-right: 2.5px"
205
+ class="pi pi-upload"></span
206
+ >上传</span
207
+ >
208
+ </div>
209
+ </ng-template>
210
+ <ng-template #content>
211
+ @if (fileList.length > 0) {
212
+ @for (file of fileList; track file; let index = $index) {
213
+ <div class="flex justify-between items-center file-item">
214
+ <span class="file-name"
215
+ ><a
216
+ [href]="'https://hrimage.myfoodiepet.com//' + file"
217
+ [download]="file"
218
+ >{{ file }}</a
219
+ ></span
220
+ >
221
+ @if (!field()?.fieldControl?.disabled) {
222
+ <p-button
223
+ icon="pi pi-times"
224
+ severity="danger"
225
+ size="small"
226
+ (onClick)="deleteHandler(file, index)"
227
+ [text]="true" />
228
+ }
229
+ </div>
230
+ }
231
+ }
232
+ </ng-template>
233
+ <ng-template #file> </ng-template>
233
234
  </p-fileUpload>`, styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}\n", ".file-item{border-top:solid 1px #fff}.upload-btn{border:solid 1px transparent}.upload-btn.upload-disable:hover{cursor:default}.upload-btn:not(.upload-disable):hover{border:solid 1px var(--p-primary-color);background:var(--p-primary-50);cursor:pointer}.upload-btn:not(.upload-disable).ng-hovered{border:solid 1px var(--p-primary-color);background:var(--p-primary-50);cursor:pointer}.file-name{font-size:12px}.file-name:hover{cursor:pointer;color:var(--p-primary-color)}:is() .p-image-preview-mask{position:inherit;opacity:1;justify-content:left;color:#334155}\n"] }]
234
235
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ActionService }, { type: i0.Renderer2 }], propDecorators: { uploadCompRef: [{
235
236
  type: ViewChild,
236
237
  args: ['uploadComp', { read: ElementRef, static: false }]
237
238
  }] } });
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2Zvcm0vZm9ybS10eXBlL3VwbG9hZC50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0QyxPQUFPLEVBQXNDLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RyxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUF5SXBELE1BQU0sT0FBTyxlQUFlO0lBTzNCLFlBQ1MsSUFBZ0IsRUFDaEIsTUFBcUIsRUFDckIsUUFBbUI7UUFGbkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFSNUIsVUFBSyxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQzNCLFVBQUssR0FBZ0IsRUFBRSxDQUFDO1FBQ3hCLGFBQVEsR0FBYSxFQUFFLENBQUM7UUFDeEIsZ0JBQVcsR0FBc0IsRUFBRSxDQUFDO1FBT25DLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUcsQ0FB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RUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0YsQ0FBQzsrR0FoR1csZUFBZTttR0FBZixlQUFlLG1TQUNNLFVBQVUsNkJBckVqQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUJBaUVNLHF2TUFsRU4sVUFBVSxnNUJBQUUsWUFBWSxpYkFBUyxtQkFBbUI7OzRGQXFFbEQsZUFBZTtrQkE1RzNCLFNBQVM7K0JBQ0MsYUFBYSxjQUNYLElBQUksV0FxQ1AsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxZQUNyRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUJBaUVNO21JQUk4QyxhQUFhO3NCQUExRSxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIGVmZmVjdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZCB9IGZyb20gJ3ByaW1lbmcvZmlsZXVwbG9hZCc7XHJcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcclxuaW1wb3J0IHsgSW1hZ2UgfSBmcm9tICdwcmltZW5nL2ltYWdlJztcclxuaW1wb3J0IHsgRm9ybUZpZWxkLCBGaWVsZFByb3BzLCBBdHRyaWJ1dGVFdmVudCB9IGZyb20gJy4uL2Zvcm0tZmllbGQvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFdmVudCwgSHR0cEhlYWRlcnMsIEh0dHBSZXF1ZXN0LCBIdHRwRXZlbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IGZpbHRlciwgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkUHJvcHMgZXh0ZW5kcyBGaWVsZFByb3BzIHtcclxuXHR1cmw/OiBzdHJpbmc7XHJcblx0bWV0aG9kPzogJ3Bvc3QnIHwgJ3B1dCc7XHJcblx0bXVsdGlwbGU/OiBib29sZWFuO1xyXG5cdGFjY2VwdD86IHN0cmluZztcclxuXHR3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xyXG5cdG1heEZpbGVTaXplPzogbnVtYmVyO1xyXG5cdHByZXZpZXdXaWR0aD86IG51bWJlcjtcclxuXHRtb2RlPzogJ2Jhc2ljJyB8ICdhZHZhbmNlZCc7XHJcblx0aGVhZGVycz86IGFueTtcclxuXHRjdXN0b21VcGxvYWQ/OiBib29sZWFuO1xyXG5cdGZpbGVMaW1pdD86IG51bWJlcjtcclxuXHR1cGxvYWRTdHlsZUNsYXNzPzogc3RyaW5nO1xyXG5cdGNhbmNlbFN0eWxlQ2xhc3M/OiBzdHJpbmc7XHJcblx0cmVtb3ZlU3R5bGVDbGFzcz86IHN0cmluZztcclxuXHRjaG9vc2VTdHlsZUNsYXNzPzogc3RyaW5nO1xyXG5cclxuXHRvbkJlZm9yZVVwbG9hZD86IEF0dHJpYnV0ZUV2ZW50O1xyXG5cdG9uU2VuZD86IEF0dHJpYnV0ZUV2ZW50O1xyXG5cdG9uVXBsb2FkPzogQXR0cmlidXRlRXZlbnQ7XHJcblx0b25FcnJvcj86IEF0dHJpYnV0ZUV2ZW50O1xyXG5cdG9uQ2xlYXI/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvblJlbW92ZT86IEF0dHJpYnV0ZUV2ZW50O1xyXG5cdG9uU2VsZWN0PzogQXR0cmlidXRlRXZlbnQ7XHJcblx0b25Qcm9ncmVzcz86IEF0dHJpYnV0ZUV2ZW50O1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2Zvcm0tdXBsb2FkJyxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdHN0eWxlczogYFxyXG5cdFx0LmZpbGUtaXRlbSB7XHJcblx0XHRcdGJvcmRlci10b3A6IHNvbGlkIDFweCAjZmZmO1xyXG5cdFx0fVxyXG5cdFx0LnVwbG9hZC1idG4ge1xyXG5cdFx0XHRib3JkZXI6IHNvbGlkIDFweCB0cmFuc3BhcmVudDtcclxuXHRcdH1cclxuXHRcdC51cGxvYWQtYnRuLnVwbG9hZC1kaXNhYmxlOmhvdmVyIHtcclxuXHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xyXG5cdFx0fVxyXG5cdFx0LnVwbG9hZC1idG46bm90KC51cGxvYWQtZGlzYWJsZSk6aG92ZXIge1xyXG5cdFx0XHRib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1wLXByaW1hcnktY29sb3IpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1wLXByaW1hcnktNTApO1xyXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHR9XHJcblx0XHQudXBsb2FkLWJ0bjpub3QoLnVwbG9hZC1kaXNhYmxlKS5uZy1ob3ZlcmVkIHtcclxuXHRcdFx0Ym9yZGVyOiBzb2xpZCAxcHggdmFyKC0tcC1wcmltYXJ5LWNvbG9yKTtcclxuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tcC1wcmltYXJ5LTUwKTtcclxuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0fVxyXG5cdFx0LmZpbGUtbmFtZSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcclxuXHRcdH1cclxuXHRcdC5maWxlLW5hbWU6aG92ZXIge1xyXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdGNvbG9yOiB2YXIoLS1wLXByaW1hcnktY29sb3IpO1xyXG5cdFx0fVxyXG5cdFx0Omhvc3QgOjpuZy1kZWVwIHtcclxuXHRcdFx0LnAtaW1hZ2UtcHJldmlldy1tYXNrIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogaW5oZXJpdDtcclxuXHRcdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogbGVmdDtcclxuXHRcdFx0XHRjb2xvcjogIzMzNDE1NTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdGAsXHJcblx0aW1wb3J0czogW0ZpbGVVcGxvYWQsIEJ1dHRvbk1vZHVsZSwgSW1hZ2UsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxyXG5cdHRlbXBsYXRlOiBgPHAtZmlsZVVwbG9hZFxyXG5cdFx0I2Z1XHJcblx0XHRhdXRvXHJcblx0XHRbaWRdPVwiZmllbGQoKT8udXVpZFwiXHJcblx0XHRbbmFtZV09XCJwcm9wcy5uYW1lXCJcclxuXHRcdFt1cmxdPVwicHJvcHMudXJsXCJcclxuXHRcdFttZXRob2RdPVwicHJvcHMubWV0aG9kID8/ICdwb3N0J1wiXHJcblx0XHRbbXVsdGlwbGVdPVwicHJvcHMubXVsdGlwbGUgPz8gdHJ1ZVwiXHJcblx0XHRbYWNjZXB0XT1cInByb3BzLmFjY2VwdFwiXHJcblx0XHRbd2l0aENyZWRlbnRpYWxzXT1cInByb3BzLndpdGhDcmVkZW50aWFsc1wiXHJcblx0XHRbbWF4RmlsZVNpemVdPVwicHJvcHMubWF4RmlsZVNpemVcIlxyXG5cdFx0W3N0eWxlQ2xhc3NdPVwicHJvcHMuc3R5bGVDbGFzc1wiXHJcblx0XHRbcHJldmlld1dpZHRoXT1cInByb3BzLnByZXZpZXdXaWR0aCA/PyA1MFwiXHJcblx0XHRbbW9kZV09XCJwcm9wcy5tb2RlID8/ICdhZHZhbmNlZCdcIlxyXG5cdFx0W2hlYWRlcnNdPVwicHJvcHMuaGVhZGVyc1wiXHJcblx0XHRbZmlsZUxpbWl0XT1cInByb3BzLmZpbGVMaW1pdFwiXHJcblx0XHRbY3VzdG9tVXBsb2FkXT1cInByb3BzLmN1c3RvbVVwbG9hZCA/PyB0cnVlXCJcclxuXHRcdChvbkJlZm9yZVVwbG9hZCk9XCJwcm9wcy5vbkJlZm9yZVVwbG9hZD8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcclxuXHRcdChvblNlbmQpPVwicHJvcHMub25TZW5kPy4oZmllbGQoKSEsICRldmVudClcIlxyXG5cdFx0KG9uVXBsb2FkKT1cInByb3BzLm9uVXBsb2FkPy4oZmllbGQoKSEsICRldmVudClcIlxyXG5cdFx0KG9uRXJyb3IpPVwicHJvcHMub25FcnJvcj8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcclxuXHRcdChvbkNsZWFyKT1cInByb3BzLm9uQ2xlYXI/LihmaWVsZCgpISwgJGV2ZW50KVwiXHJcblx0XHQob25SZW1vdmUpPVwicHJvcHMub25SZW1vdmU/LihmaWVsZCgpISwgJGV2ZW50KVwiXHJcblx0XHQob25TZWxlY3QpPVwicHJvcHMub25TZWxlY3Q/LihmaWVsZCgpISwgJGV2ZW50KVwiXHJcblx0XHQob25Qcm9ncmVzcyk9XCJwcm9wcy5vblByb2dyZXNzPy4oZmllbGQoKSEsICRldmVudClcIlxyXG5cdFx0KHVwbG9hZEhhbmRsZXIpPVwidXBsb2FkSGFuZGxlcihmaWVsZCgpISwgJGV2ZW50LCBmdSlcIj5cclxuXHRcdDxuZy10ZW1wbGF0ZVxyXG5cdFx0XHQjaGVhZGVyXHJcblx0XHRcdGxldC1jaG9vc2VDYWxsYmFjaz1cImNob29zZUNhbGxiYWNrXCI+XHJcblx0XHRcdDxkaXZcclxuXHRcdFx0XHQjdXBsb2FkQ29tcFxyXG5cdFx0XHRcdFtjbGFzc109XCInZmxleCBqdXN0aWZ5LWNlbnRlciB3LWZ1bGwgdXBsb2FkLWJ0bicgKyAoZmllbGQoKT8uZmllbGRDb250cm9sPy5kaXNhYmxlZCA/ICcgdXBsb2FkLWRpc2FibGUnIDogJycpXCJcclxuXHRcdFx0XHQoY2xpY2spPVwiY2hvb3NlKCRldmVudCwgY2hvb3NlQ2FsbGJhY2spXCI+XHJcblx0XHRcdFx0PHNwYW5cclxuXHRcdFx0XHRcdD48c3BhblxyXG5cdFx0XHRcdFx0XHRzdHlsZT1cImZvbnQtc2l6ZTogMTJweDsgbWFyZ2luLXJpZ2h0OiAyLjVweFwiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwicGkgcGktdXBsb2FkXCI+PC9zcGFuXHJcblx0XHRcdFx0XHQ+5LiK5LygPC9zcGFuXHJcblx0XHRcdFx0PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHQ8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XHJcblx0XHRcdEBpZiAoZmlsZUxpc3QubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRcdEBmb3IgKGZpbGUgb2YgZmlsZUxpc3Q7IHRyYWNrIGZpbGU7IGxldCBpbmRleCA9ICRpbmRleCkge1xyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBmaWxlLWl0ZW1cIj5cclxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIlxyXG5cdFx0XHRcdFx0XHRcdD48YVxyXG5cdFx0XHRcdFx0XHRcdFx0W2hyZWZdPVwiJ2h0dHBzOi8vaHJpbWFnZS5teWZvb2RpZXBldC5jb20vLycgKyBmaWxlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFtkb3dubG9hZF09XCJmaWxlXCJcclxuXHRcdFx0XHRcdFx0XHRcdD57eyBmaWxlIH19PC9hXHJcblx0XHRcdFx0XHRcdFx0Pjwvc3BhblxyXG5cdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdEBpZiAoIWZpZWxkKCk/LmZpZWxkQ29udHJvbD8uZGlzYWJsZWQpIHtcclxuXHRcdFx0XHRcdFx0XHQ8cC1idXR0b25cclxuXHRcdFx0XHRcdFx0XHRcdGljb249XCJwaSBwaS10aW1lc1wiXHJcblx0XHRcdFx0XHRcdFx0XHRzZXZlcml0eT1cImRhbmdlclwiXHJcblx0XHRcdFx0XHRcdFx0XHRzaXplPVwic21hbGxcIlxyXG5cdFx0XHRcdFx0XHRcdFx0KG9uQ2xpY2spPVwiZGVsZXRlSGFuZGxlcihmaWxlLCBpbmRleClcIlxyXG5cdFx0XHRcdFx0XHRcdFx0W3RleHRdPVwidHJ1ZVwiIC8+XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdDxuZy10ZW1wbGF0ZSAjZmlsZT4gPC9uZy10ZW1wbGF0ZT5cclxuXHQ8L3AtZmlsZVVwbG9hZD5gLFxyXG5cdHN0eWxlVXJsOiAnLi4vLi4vc3R5bGVzL3N0eWxlcy5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVwbG9hZENvbXBvbmVudCB7XHJcblx0QFZpZXdDaGlsZCgndXBsb2FkQ29tcCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiBmYWxzZSB9KSB1cGxvYWRDb21wUmVmITogRWxlbWVudFJlZjtcclxuXHRmaWVsZCA9IGlucHV0PEZvcm1GaWVsZD4oKTtcclxuXHRwcm9wczogVXBsb2FkUHJvcHMgPSB7fTtcclxuXHRmaWxlTGlzdDogc3RyaW5nW10gPSBbXTtcclxuXHRkZWxldGVIb29rczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcblx0XHRwcml2YXRlIGFjdGlvbjogQWN0aW9uU2VydmljZSxcclxuXHRcdHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuXHQpIHtcclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdGlmICh0aGlzLmZpZWxkKCkpIHtcclxuXHRcdFx0XHR0aGlzLnByb3BzID0gdGhpcy5maWVsZCgpIS51cGxvYWRQcm9wcyE7XHJcblx0XHRcdFx0dGhpcy5oYW5kbGVEaXNhYmxlZCgpO1xyXG5cdFx0XHRcdHRoaXMuaGFuZGxlTW9kZWxDaGFuZ2UoKTtcclxuXHRcdFx0XHR0aGlzLmFmdGVyU3VibWl0KCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0Zm9ya0pvaW4odGhpcy5kZWxldGVIb29rcykuc3Vic2NyaWJlKCk7XHJcblx0XHR9KTtcclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdGNvbnN0IGxhYmVsQWN0aW9uID0gdGhpcy5hY3Rpb24uZ2V0RmllbGRMYWJlbEFjdGlvbigpO1xyXG5cdFx0XHRpZiAoIWxhYmVsQWN0aW9uIHx8IGxhYmVsQWN0aW9uPy5rZXkgIT0gdGhpcy5maWVsZCgpPy51dWlkKSB7XHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChsYWJlbEFjdGlvbi50eXBlID09ICdtb3VzZWVudGVyJykge1xyXG5cdFx0XHRcdHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy51cGxvYWRDb21wUmVmLm5hdGl2ZUVsZW1lbnQsICduZy1ob3ZlcmVkJyk7XHJcblx0XHRcdH0gZWxzZSBpZiAobGFiZWxBY3Rpb24udHlwZSA9PSAnbW91c2VsZWF2ZScpIHtcclxuXHRcdFx0XHR0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudXBsb2FkQ29tcFJlZi5uYXRpdmVFbGVtZW50LCAnbmctaG92ZXJlZCcpO1xyXG5cdFx0XHR9IGVsc2UgaWYgKGxhYmVsQWN0aW9uLnR5cGUgPT0gJ2NsaWNrJykge1xyXG5cdFx0XHRcdHRoaXMudXBsb2FkQ29tcFJlZi5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0Y2hvb3NlKGV2ZW50OiBhbnksIGNhbGxiYWNrOiBhbnkpIHtcclxuXHRcdGlmICh0aGlzLmZpZWxkKCk/LmZpZWxkQ29udHJvbD8uZGlzYWJsZWQpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0Y2FsbGJhY2soKTtcclxuXHR9XHJcblxyXG5cdHVwbG9hZEZpbGUoZmlsZTogRmlsZSk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG5cdFx0Zm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSk7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwXHJcblx0XHRcdC5yZXF1ZXN0KFxyXG5cdFx0XHRcdG5ldyBIdHRwUmVxdWVzdCgnUE9TVCcsICdmaWxlclVwbG9hZCcsIGZvcm1EYXRhLCB7XHJcblx0XHRcdFx0XHRyZXBvcnRQcm9ncmVzczogdHJ1ZSxcclxuXHRcdFx0XHRcdHdpdGhDcmVkZW50aWFsczogZmFsc2UsXHJcblx0XHRcdFx0fSksXHJcblx0XHRcdClcclxuXHRcdFx0LnBpcGUoZmlsdGVyKChyZXNwb25zZTogSHR0cEV2ZW50PGFueT4pID0+IHJlc3BvbnNlLnR5cGUgPT0gSHR0cEV2ZW50VHlwZS5SZXNwb25zZSkpO1xyXG5cdH1cclxuXHJcblx0ZGVsRmlsZShmaWxlU3RyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KCdmaWxlckRlbGV0ZScsIHsgZmlsZU5hbWU6IGZpbGVTdHIgfSk7XHJcblx0fVxyXG5cclxuXHR1cGxvYWRIYW5kbGVyKGZpZWxkOiBhbnksIGV2ZW50OiBhbnksIGZ1OiBhbnkpIHtcclxuXHRcdHRoaXMudXBsb2FkRmlsZShldmVudC5maWxlc1swXSkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xyXG5cdFx0XHR0aGlzLmZpbGVMaXN0Py5wdXNoKHJlc3BvbnNlLmJvZHkuZmlsZU5hbWUpO1xyXG5cdFx0XHR0aGlzLmZpZWxkKCk/LmZpZWxkQ29udHJvbD8uc2V0VmFsdWUodGhpcy5maWxlTGlzdCk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGRlbGV0ZUhhbmRsZXIoZmlsZVN0cjogc3RyaW5nLCBpbmRleDogbnVtYmVyKSB7XHJcblx0XHR0aGlzLmRlbGV0ZUhvb2tzLnB1c2godGhpcy5kZWxGaWxlKGZpbGVTdHIpKTtcclxuXHRcdHRoaXMuZmlsZUxpc3QgPSB0aGlzLmZpbGVMaXN0Py5maWx0ZXIoKHZhbHVlLCBpKSA9PiBpbmRleCAhPSBpKTtcclxuXHRcdHRoaXMuZmllbGQoKT8uZmllbGRDb250cm9sPy5zZXRWYWx1ZSh0aGlzLmZpbGVMaXN0KTtcclxuXHR9XHJcblxyXG5cdGhhbmRsZU1vZGVsQ2hhbmdlKCkge1xyXG5cdFx0dGhpcy5maWVsZCgpPy5maWVsZENvbnRyb2w/Lm1vZGVsQ2hhbmdlLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuXHRcdFx0aWYgKHZhbHVlID09IG51bGwpIHtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5maWxlTGlzdCA9IFsuLi52YWx1ZV07XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGFmdGVyU3VibWl0KCkge1xyXG5cdFx0dGhpcy5maWVsZCgpPy5maWVsZENvbnRyb2w/LnN1Ym1pdENoYW5nZS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcblx0XHRcdGlmIChCb29sZWFuKHZhbHVlKSkge1xyXG5cdFx0XHRcdHRoaXMuZGVsZXRlSG9va3MuZm9yRWFjaCgoaG9vaykgPT4gaG9vay5zdWJzY3JpYmUoKSk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0aGFuZGxlRGlzYWJsZWQoKSB7XHJcblx0XHRpZiAodGhpcy5wcm9wcz8uZGlzYWJsZWQpIHtcclxuXHRcdFx0dGhpcy5maWVsZCgpIS5maWVsZENvbnRyb2whLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iXX0=
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2Zvcm0vZm9ybS10eXBlL3VwbG9hZC50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0QyxPQUFPLEVBQXNDLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RyxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUF5SXBELE1BQU0sT0FBTyxlQUFlO0lBTzNCLFlBQ1MsSUFBZ0IsRUFDaEIsTUFBcUIsRUFDckIsUUFBbUI7UUFGbkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFSNUIsVUFBSyxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQzNCLFVBQUssR0FBZ0IsRUFBRSxDQUFDO1FBQ3hCLGFBQVEsR0FBYSxFQUFFLENBQUM7UUFDeEIsZ0JBQVcsR0FBc0IsRUFBRSxDQUFDO1FBT25DLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUcsQ0FB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QUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLEtBQUssRUFBRyxDQUFDLFlBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0YsQ0FBQzsrR0FqR1csZUFBZTttR0FBZixlQUFlLG1TQUNNLFVBQVUsNkJBckVqQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUJBaUVNLHF2TUFsRU4sVUFBVSxnNUJBQUUsWUFBWSxpYkFBUyxtQkFBbUI7OzRGQXFFbEQsZUFBZTtrQkE1RzNCLFNBQVM7K0JBQ0MsYUFBYSxjQUNYLElBQUksV0FxQ1AsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxZQUNyRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUJBaUVNO21JQUk4QyxhQUFhO3NCQUExRSxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIGVmZmVjdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkIH0gZnJvbSAncHJpbWVuZy9maWxldXBsb2FkJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IEltYWdlIH0gZnJvbSAncHJpbWVuZy9pbWFnZSc7XG5pbXBvcnQgeyBGb3JtRmllbGQsIEZpZWxkUHJvcHMsIEF0dHJpYnV0ZUV2ZW50IH0gZnJvbSAnLi4vZm9ybS1maWVsZC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFdmVudCwgSHR0cEhlYWRlcnMsIEh0dHBSZXF1ZXN0LCBIdHRwRXZlbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgZmlsdGVyLCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVwbG9hZFByb3BzIGV4dGVuZHMgRmllbGRQcm9wcyB7XG5cdHVybD86IHN0cmluZztcblx0bWV0aG9kPzogJ3Bvc3QnIHwgJ3B1dCc7XG5cdG11bHRpcGxlPzogYm9vbGVhbjtcblx0YWNjZXB0Pzogc3RyaW5nO1xuXHR3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xuXHRtYXhGaWxlU2l6ZT86IG51bWJlcjtcblx0cHJldmlld1dpZHRoPzogbnVtYmVyO1xuXHRtb2RlPzogJ2Jhc2ljJyB8ICdhZHZhbmNlZCc7XG5cdGhlYWRlcnM/OiBhbnk7XG5cdGN1c3RvbVVwbG9hZD86IGJvb2xlYW47XG5cdGZpbGVMaW1pdD86IG51bWJlcjtcblx0dXBsb2FkU3R5bGVDbGFzcz86IHN0cmluZztcblx0Y2FuY2VsU3R5bGVDbGFzcz86IHN0cmluZztcblx0cmVtb3ZlU3R5bGVDbGFzcz86IHN0cmluZztcblx0Y2hvb3NlU3R5bGVDbGFzcz86IHN0cmluZztcblxuXHRvbkJlZm9yZVVwbG9hZD86IEF0dHJpYnV0ZUV2ZW50O1xuXHRvblNlbmQ/OiBBdHRyaWJ1dGVFdmVudDtcblx0b25VcGxvYWQ/OiBBdHRyaWJ1dGVFdmVudDtcblx0b25FcnJvcj86IEF0dHJpYnV0ZUV2ZW50O1xuXHRvbkNsZWFyPzogQXR0cmlidXRlRXZlbnQ7XG5cdG9uUmVtb3ZlPzogQXR0cmlidXRlRXZlbnQ7XG5cdG9uU2VsZWN0PzogQXR0cmlidXRlRXZlbnQ7XG5cdG9uUHJvZ3Jlc3M/OiBBdHRyaWJ1dGVFdmVudDtcbn1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnZm9ybS11cGxvYWQnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRzdHlsZXM6IGBcblx0XHQuZmlsZS1pdGVtIHtcblx0XHRcdGJvcmRlci10b3A6IHNvbGlkIDFweCAjZmZmO1xuXHRcdH1cblx0XHQudXBsb2FkLWJ0biB7XG5cdFx0XHRib3JkZXI6IHNvbGlkIDFweCB0cmFuc3BhcmVudDtcblx0XHR9XG5cdFx0LnVwbG9hZC1idG4udXBsb2FkLWRpc2FibGU6aG92ZXIge1xuXHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRcdH1cblx0XHQudXBsb2FkLWJ0bjpub3QoLnVwbG9hZC1kaXNhYmxlKTpob3ZlciB7XG5cdFx0XHRib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1wLXByaW1hcnktY29sb3IpO1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tcC1wcmltYXJ5LTUwKTtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR9XG5cdFx0LnVwbG9hZC1idG46bm90KC51cGxvYWQtZGlzYWJsZSkubmctaG92ZXJlZCB7XG5cdFx0XHRib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1wLXByaW1hcnktY29sb3IpO1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tcC1wcmltYXJ5LTUwKTtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR9XG5cdFx0LmZpbGUtbmFtZSB7XG5cdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0fVxuXHRcdC5maWxlLW5hbWU6aG92ZXIge1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0Y29sb3I6IHZhcigtLXAtcHJpbWFyeS1jb2xvcik7XG5cdFx0fVxuXHRcdDpob3N0IDo6bmctZGVlcCB7XG5cdFx0XHQucC1pbWFnZS1wcmV2aWV3LW1hc2sge1xuXHRcdFx0XHRwb3NpdGlvbjogaW5oZXJpdDtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBsZWZ0O1xuXHRcdFx0XHRjb2xvcjogIzMzNDE1NTtcblx0XHRcdH1cblx0XHR9XG5cdGAsXG5cdGltcG9ydHM6IFtGaWxlVXBsb2FkLCBCdXR0b25Nb2R1bGUsIEltYWdlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcblx0dGVtcGxhdGU6IGA8cC1maWxlVXBsb2FkXG5cdFx0I2Z1XG5cdFx0YXV0b1xuXHRcdFtpZF09XCJmaWVsZCgpPy51dWlkXCJcblx0XHRbbmFtZV09XCJwcm9wcy5uYW1lXCJcblx0XHRbdXJsXT1cInByb3BzLnVybFwiXG5cdFx0W21ldGhvZF09XCJwcm9wcy5tZXRob2QgPz8gJ3Bvc3QnXCJcblx0XHRbbXVsdGlwbGVdPVwicHJvcHMubXVsdGlwbGUgPz8gdHJ1ZVwiXG5cdFx0W2FjY2VwdF09XCJwcm9wcy5hY2NlcHRcIlxuXHRcdFt3aXRoQ3JlZGVudGlhbHNdPVwicHJvcHMud2l0aENyZWRlbnRpYWxzXCJcblx0XHRbbWF4RmlsZVNpemVdPVwicHJvcHMubWF4RmlsZVNpemVcIlxuXHRcdFtzdHlsZUNsYXNzXT1cInByb3BzLnN0eWxlQ2xhc3NcIlxuXHRcdFtwcmV2aWV3V2lkdGhdPVwicHJvcHMucHJldmlld1dpZHRoID8/IDUwXCJcblx0XHRbbW9kZV09XCJwcm9wcy5tb2RlID8/ICdhZHZhbmNlZCdcIlxuXHRcdFtoZWFkZXJzXT1cInByb3BzLmhlYWRlcnNcIlxuXHRcdFtmaWxlTGltaXRdPVwicHJvcHMuZmlsZUxpbWl0XCJcblx0XHRbY3VzdG9tVXBsb2FkXT1cInByb3BzLmN1c3RvbVVwbG9hZCA/PyB0cnVlXCJcblx0XHQob25CZWZvcmVVcGxvYWQpPVwicHJvcHMub25CZWZvcmVVcGxvYWQ/LihmaWVsZCgpISwgJGV2ZW50KVwiXG5cdFx0KG9uU2VuZCk9XCJwcm9wcy5vblNlbmQ/LihmaWVsZCgpISwgJGV2ZW50KVwiXG5cdFx0KG9uVXBsb2FkKT1cInByb3BzLm9uVXBsb2FkPy4oZmllbGQoKSEsICRldmVudClcIlxuXHRcdChvbkVycm9yKT1cInByb3BzLm9uRXJyb3I/LihmaWVsZCgpISwgJGV2ZW50KVwiXG5cdFx0KG9uQ2xlYXIpPVwicHJvcHMub25DbGVhcj8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcblx0XHQob25SZW1vdmUpPVwicHJvcHMub25SZW1vdmU/LihmaWVsZCgpISwgJGV2ZW50KVwiXG5cdFx0KG9uU2VsZWN0KT1cInByb3BzLm9uU2VsZWN0Py4oZmllbGQoKSEsICRldmVudClcIlxuXHRcdChvblByb2dyZXNzKT1cInByb3BzLm9uUHJvZ3Jlc3M/LihmaWVsZCgpISwgJGV2ZW50KVwiXG5cdFx0KHVwbG9hZEhhbmRsZXIpPVwidXBsb2FkSGFuZGxlcihmaWVsZCgpISwgJGV2ZW50LCBmdSlcIj5cblx0XHQ8bmctdGVtcGxhdGVcblx0XHRcdCNoZWFkZXJcblx0XHRcdGxldC1jaG9vc2VDYWxsYmFjaz1cImNob29zZUNhbGxiYWNrXCI+XG5cdFx0XHQ8ZGl2XG5cdFx0XHRcdCN1cGxvYWRDb21wXG5cdFx0XHRcdFtjbGFzc109XCInZmxleCBqdXN0aWZ5LWNlbnRlciB3LWZ1bGwgdXBsb2FkLWJ0bicgKyAoZmllbGQoKT8uZmllbGRDb250cm9sPy5kaXNhYmxlZCA/ICcgdXBsb2FkLWRpc2FibGUnIDogJycpXCJcblx0XHRcdFx0KGNsaWNrKT1cImNob29zZSgkZXZlbnQsIGNob29zZUNhbGxiYWNrKVwiPlxuXHRcdFx0XHQ8c3BhblxuXHRcdFx0XHRcdD48c3BhblxuXHRcdFx0XHRcdFx0c3R5bGU9XCJmb250LXNpemU6IDEycHg7IG1hcmdpbi1yaWdodDogMi41cHhcIlxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJwaSBwaS11cGxvYWRcIj48L3NwYW5cblx0XHRcdFx0XHQ+5LiK5LygPC9zcGFuXG5cdFx0XHRcdD5cblx0XHRcdDwvZGl2PlxuXHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0PG5nLXRlbXBsYXRlICNjb250ZW50PlxuXHRcdFx0QGlmIChmaWxlTGlzdC5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdEBmb3IgKGZpbGUgb2YgZmlsZUxpc3Q7IHRyYWNrIGZpbGU7IGxldCBpbmRleCA9ICRpbmRleCkge1xuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgZmlsZS1pdGVtXCI+XG5cdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZpbGUtbmFtZVwiXG5cdFx0XHRcdFx0XHRcdD48YVxuXHRcdFx0XHRcdFx0XHRcdFtocmVmXT1cIidodHRwczovL2hyaW1hZ2UubXlmb29kaWVwZXQuY29tLy8nICsgZmlsZVwiXG5cdFx0XHRcdFx0XHRcdFx0W2Rvd25sb2FkXT1cImZpbGVcIlxuXHRcdFx0XHRcdFx0XHRcdD57eyBmaWxlIH19PC9hXG5cdFx0XHRcdFx0XHRcdD48L3NwYW5cblx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdEBpZiAoIWZpZWxkKCk/LmZpZWxkQ29udHJvbD8uZGlzYWJsZWQpIHtcblx0XHRcdFx0XHRcdFx0PHAtYnV0dG9uXG5cdFx0XHRcdFx0XHRcdFx0aWNvbj1cInBpIHBpLXRpbWVzXCJcblx0XHRcdFx0XHRcdFx0XHRzZXZlcml0eT1cImRhbmdlclwiXG5cdFx0XHRcdFx0XHRcdFx0c2l6ZT1cInNtYWxsXCJcblx0XHRcdFx0XHRcdFx0XHQob25DbGljayk9XCJkZWxldGVIYW5kbGVyKGZpbGUsIGluZGV4KVwiXG5cdFx0XHRcdFx0XHRcdFx0W3RleHRdPVwidHJ1ZVwiIC8+XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdDxuZy10ZW1wbGF0ZSAjZmlsZT4gPC9uZy10ZW1wbGF0ZT5cblx0PC9wLWZpbGVVcGxvYWQ+YCxcblx0c3R5bGVVcmw6ICcuLi8uLi9zdHlsZXMvc3R5bGVzLnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBVcGxvYWRDb21wb25lbnQge1xuXHRAVmlld0NoaWxkKCd1cGxvYWRDb21wJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pIHVwbG9hZENvbXBSZWYhOiBFbGVtZW50UmVmO1xuXHRmaWVsZCA9IGlucHV0PEZvcm1GaWVsZD4oKTtcblx0cHJvcHM6IFVwbG9hZFByb3BzID0ge307XG5cdGZpbGVMaXN0OiBzdHJpbmdbXSA9IFtdO1xuXHRkZWxldGVIb29rczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG5cdFx0cHJpdmF0ZSBhY3Rpb246IEFjdGlvblNlcnZpY2UsXG5cdFx0cHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuXHQpIHtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0aWYgKHRoaXMuZmllbGQoKSkge1xuXHRcdFx0XHR0aGlzLnByb3BzID0gdGhpcy5maWVsZCgpIS51cGxvYWRQcm9wcyE7XG5cdFx0XHRcdHRoaXMuaGFuZGxlSG9va0NoYW5nZSgpO1xuXHRcdFx0XHR0aGlzLmhhbmRsZURpc2FibGVkKCk7XG5cdFx0XHRcdHRoaXMuYWZ0ZXJTdWJtaXQoKTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Zm9ya0pvaW4odGhpcy5kZWxldGVIb29rcykuc3Vic2NyaWJlKCk7XG5cdFx0fSk7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IGxhYmVsQWN0aW9uID0gdGhpcy5hY3Rpb24uZ2V0RmllbGRMYWJlbEFjdGlvbigpO1xuXHRcdFx0aWYgKCFsYWJlbEFjdGlvbiB8fCBsYWJlbEFjdGlvbj8ua2V5ICE9IHRoaXMuZmllbGQoKT8udXVpZCkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRpZiAobGFiZWxBY3Rpb24udHlwZSA9PSAnbW91c2VlbnRlcicpIHtcblx0XHRcdFx0dGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnVwbG9hZENvbXBSZWYubmF0aXZlRWxlbWVudCwgJ25nLWhvdmVyZWQnKTtcblx0XHRcdH0gZWxzZSBpZiAobGFiZWxBY3Rpb24udHlwZSA9PSAnbW91c2VsZWF2ZScpIHtcblx0XHRcdFx0dGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnVwbG9hZENvbXBSZWYubmF0aXZlRWxlbWVudCwgJ25nLWhvdmVyZWQnKTtcblx0XHRcdH0gZWxzZSBpZiAobGFiZWxBY3Rpb24udHlwZSA9PSAnY2xpY2snKSB7XG5cdFx0XHRcdHRoaXMudXBsb2FkQ29tcFJlZi5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRjaG9vc2UoZXZlbnQ6IGFueSwgY2FsbGJhY2s6IGFueSkge1xuXHRcdGlmICh0aGlzLmZpZWxkKCk/LmZpZWxkQ29udHJvbD8uZGlzYWJsZWQpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0Y2FsbGJhY2soKTtcblx0fVxuXG5cdHVwbG9hZEZpbGUoZmlsZTogRmlsZSk6IE9ic2VydmFibGU8YW55PiB7XG5cdFx0Y29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcblx0XHRmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcblx0XHRyZXR1cm4gdGhpcy5odHRwXG5cdFx0XHQucmVxdWVzdChcblx0XHRcdFx0bmV3IEh0dHBSZXF1ZXN0KCdQT1NUJywgJ2ZpbGVyVXBsb2FkJywgZm9ybURhdGEsIHtcblx0XHRcdFx0XHRyZXBvcnRQcm9ncmVzczogdHJ1ZSxcblx0XHRcdFx0XHR3aXRoQ3JlZGVudGlhbHM6IGZhbHNlLFxuXHRcdFx0XHR9KSxcblx0XHRcdClcblx0XHRcdC5waXBlKGZpbHRlcigocmVzcG9uc2U6IEh0dHBFdmVudDxhbnk+KSA9PiByZXNwb25zZS50eXBlID09IEh0dHBFdmVudFR5cGUuUmVzcG9uc2UpKTtcblx0fVxuXG5cdGRlbEZpbGUoZmlsZVN0cjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QoJ2ZpbGVyRGVsZXRlJywgeyBmaWxlTmFtZTogZmlsZVN0ciB9KTtcblx0fVxuXG5cdHVwbG9hZEhhbmRsZXIoZmllbGQ6IGFueSwgZXZlbnQ6IGFueSwgZnU6IGFueSkge1xuXHRcdHRoaXMudXBsb2FkRmlsZShldmVudC5maWxlc1swXSkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuXHRcdFx0dGhpcy5maWxlTGlzdD8ucHVzaChyZXNwb25zZS5ib2R5LmZpbGVOYW1lKTtcblx0XHRcdHRoaXMuZmllbGQoKT8uZmllbGRDb250cm9sPy5zZXRWYWx1ZSh0aGlzLmZpbGVMaXN0KTtcblx0XHR9KTtcblx0fVxuXG5cdGRlbGV0ZUhhbmRsZXIoZmlsZVN0cjogc3RyaW5nLCBpbmRleDogbnVtYmVyKSB7XG5cdFx0dGhpcy5kZWxldGVIb29rcy5wdXNoKHRoaXMuZGVsRmlsZShmaWxlU3RyKSk7XG5cdFx0dGhpcy5maWxlTGlzdCA9IHRoaXMuZmlsZUxpc3Q/LmZpbHRlcigodmFsdWUsIGkpID0+IGluZGV4ICE9IGkpO1xuXHRcdHRoaXMuZmllbGQoKT8uZmllbGRDb250cm9sPy5zZXRWYWx1ZSh0aGlzLmZpbGVMaXN0KTtcblx0fVxuXG5cdGhhbmRsZUhvb2tDaGFuZ2UoKSB7XG5cdFx0dGhpcy5maWVsZCgpPy5maWVsZENvbnRyb2w/Lmhvb2tDaGFuZ2Uuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuXHRcdFx0aWYgKHZhbHVlID09IG51bGwpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5wcm9wcy5vbkhvb2tDaGFuZ2U/Lih0aGlzLmZpZWxkKCkhLCB7IHZhbHVlIH0pO1xuXHRcdFx0dGhpcy5maWxlTGlzdCA9IFsuLi52YWx1ZV07XG5cdFx0fSk7XG5cdH1cblxuXHRhZnRlclN1Ym1pdCgpIHtcblx0XHR0aGlzLmZpZWxkKCk/LmZpZWxkQ29udHJvbD8uc3VibWl0Q2hhbmdlLnN1YnNjcmliZSgodmFsdWUpID0+IHtcblx0XHRcdGlmIChCb29sZWFuKHZhbHVlKSkge1xuXHRcdFx0XHR0aGlzLmRlbGV0ZUhvb2tzLmZvckVhY2goKGhvb2spID0+IGhvb2suc3Vic2NyaWJlKCkpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0aGFuZGxlRGlzYWJsZWQoKSB7XG5cdFx0aWYgKHRoaXMucHJvcHM/LmRpc2FibGVkKSB7XG5cdFx0XHR0aGlzLmZpZWxkKCkhLmZpZWxkQ29udHJvbCEuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG5cdFx0fVxuXHR9XG59XG4iXX0=
@@ -54,10 +54,10 @@ export class ActionsComponent {
54
54
  this.doAction(event, action);
55
55
  }
56
56
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionsComponent, deps: [{ token: i1.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component }); }
57
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ActionsComponent, isStandalone: true, selector: "custom-actions", inputs: { grid: { classPropertyName: "grid", publicName: "grid", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, isCancel: { classPropertyName: "isCancel", publicName: "isCancel", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<p-toast />\r\n<div class=\"flex flex-wrap gap-4 justify-center\">\r\n\t@if (isCancel()) {\r\n\t\t<p-button\r\n\t\t\t[severity]=\"'secondary'\"\r\n\t\t\t[label]=\"('primeng.cancel' | translate) + ' ' + selectedRows.length\"\r\n\t\t\tsize=\"small\"\r\n\t\t\t(click)=\"doCancelAction()\">\r\n\t\t</p-button>\r\n\t}\r\n\r\n\t@for (action of actions(); track action) {\r\n\t\t<p-button\r\n\t\t\tsize=\"small\"\r\n\t\t\t[variant]=\"action.variant\"\r\n\t\t\t[icon]=\"action.icon\"\r\n\t\t\t[severity]=\"action.severity\"\r\n\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\r\n\t\t\t[styleClass]=\"getClass(action)\"\r\n\t\t\t[disabled]=\"action.btnDisabled?.({ action: action, rows: selectedRows, grid: grid() }) ?? false\"\r\n\t\t\t(onClick)=\"onActionClick($event, action)\"></p-button>\r\n\t}\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ActionsComponent, isStandalone: true, selector: "custom-actions", inputs: { grid: { classPropertyName: "grid", publicName: "grid", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, isCancel: { classPropertyName: "isCancel", publicName: "isCancel", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<p-toast />\r\n<div class=\"flex flex-wrap gap-4 justify-center\">\r\n\t@if (isCancel()) {\r\n\t\t<p-button\r\n\t\t\t[severity]=\"'secondary'\"\r\n\t\t\t[label]=\"('primeng.cancel' | translate) + ' ' + selectedRows.length\"\r\n\t\t\tsize=\"small\"\r\n\t\t\t(click)=\"doCancelAction()\">\r\n\t\t</p-button>\r\n\t}\r\n\r\n\t@for (action of actions(); track action) {\r\n\t\t<p-button\r\n\t\t\tsize=\"small\"\r\n\t\t\t[variant]=\"action.variant\"\r\n\t\t\t[icon]=\"action.icon\"\r\n\t\t\t[loading]=\"action.loading\"\r\n\t\t\t[severity]=\"action.severity\"\r\n\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\r\n\t\t\t[styleClass]=\"getClass(action)\"\r\n\t\t\t[disabled]=\"action.btnDisabled?.({ action: action, rows: selectedRows, grid: grid() }) ?? false\"\r\n\t\t\t(onClick)=\"onActionClick($event, action)\"></p-button>\r\n\t}\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
58
58
  }
59
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionsComponent, decorators: [{
60
60
  type: Component,
61
- args: [{ selector: 'custom-actions', standalone: true, imports: [ButtonModule, Toast, TranslatePipe], template: "<p-toast />\r\n<div class=\"flex flex-wrap gap-4 justify-center\">\r\n\t@if (isCancel()) {\r\n\t\t<p-button\r\n\t\t\t[severity]=\"'secondary'\"\r\n\t\t\t[label]=\"('primeng.cancel' | translate) + ' ' + selectedRows.length\"\r\n\t\t\tsize=\"small\"\r\n\t\t\t(click)=\"doCancelAction()\">\r\n\t\t</p-button>\r\n\t}\r\n\r\n\t@for (action of actions(); track action) {\r\n\t\t<p-button\r\n\t\t\tsize=\"small\"\r\n\t\t\t[variant]=\"action.variant\"\r\n\t\t\t[icon]=\"action.icon\"\r\n\t\t\t[severity]=\"action.severity\"\r\n\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\r\n\t\t\t[styleClass]=\"getClass(action)\"\r\n\t\t\t[disabled]=\"action.btnDisabled?.({ action: action, rows: selectedRows, grid: grid() }) ?? false\"\r\n\t\t\t(onClick)=\"onActionClick($event, action)\"></p-button>\r\n\t}\r\n</div>\r\n" }]
61
+ args: [{ selector: 'custom-actions', standalone: true, imports: [ButtonModule, Toast, TranslatePipe], template: "<p-toast />\r\n<div class=\"flex flex-wrap gap-4 justify-center\">\r\n\t@if (isCancel()) {\r\n\t\t<p-button\r\n\t\t\t[severity]=\"'secondary'\"\r\n\t\t\t[label]=\"('primeng.cancel' | translate) + ' ' + selectedRows.length\"\r\n\t\t\tsize=\"small\"\r\n\t\t\t(click)=\"doCancelAction()\">\r\n\t\t</p-button>\r\n\t}\r\n\r\n\t@for (action of actions(); track action) {\r\n\t\t<p-button\r\n\t\t\tsize=\"small\"\r\n\t\t\t[variant]=\"action.variant\"\r\n\t\t\t[icon]=\"action.icon\"\r\n\t\t\t[loading]=\"action.loading\"\r\n\t\t\t[severity]=\"action.severity\"\r\n\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\r\n\t\t\t[styleClass]=\"getClass(action)\"\r\n\t\t\t[disabled]=\"action.btnDisabled?.({ action: action, rows: selectedRows, grid: grid() }) ?? false\"\r\n\t\t\t(onClick)=\"onActionClick($event, action)\"></p-button>\r\n\t}\r\n</div>\r\n" }]
62
62
  }], ctorParameters: () => [{ type: i1.ConfirmationService }] });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2dyaWQvYWN0aW9ucy9hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvZ3JpZC9hY3Rpb25zL2FjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVN0QyxNQUFNLE9BQU8sZ0JBQWdCO0lBTzVCLFlBQW9CLE9BQTRCO1FBQTVCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBTmhELFNBQUksR0FBRyxLQUFLLEVBQWlCLENBQUM7UUFDOUIsWUFBTyxHQUFHLEtBQUssRUFBUyxDQUFDO1FBQ3pCLGFBQVEsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDaEMsY0FBUyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzVCLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBR3hCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxZQUFZLEVBQUcsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNuQixJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7WUFDMUIsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDbEgsQ0FBQztRQUNELE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNsRCxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDcEYsQ0FBQyxDQUFDLFFBQVE7WUFDVixDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ1osQ0FBQztJQUVELGNBQWM7UUFDYixJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFVLEVBQUUsTUFBVztRQUMvQixNQUFNLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMxSCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVUsRUFBRSxNQUFXO1FBQ3BDLElBQUksTUFBTSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztnQkFDcEIsT0FBTyxFQUFFLFlBQVk7Z0JBQ3JCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLElBQUksRUFBRSxtQkFBbUI7Z0JBQ3pCLGlCQUFpQixFQUFFO29CQUNsQixLQUFLLEVBQUUsSUFBSTtvQkFDWCxRQUFRLEVBQUUsV0FBVztvQkFDckIsSUFBSSxFQUFFLElBQUk7aUJBQ1Y7Z0JBQ0QsaUJBQWlCLEVBQUU7b0JBQ2xCLEtBQUssRUFBRSxJQUFJO29CQUNYLFFBQVEsRUFBRSxJQUFJO2lCQUNkO2dCQUNELE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7YUFDMUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTztRQUNSLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5QixDQUFDOytHQW5EVyxnQkFBZ0I7bUdBQWhCLGdCQUFnQiw4a0JDZDdCLG8wQkF1QkEseUREYlcsWUFBWSxrYkFBRSxLQUFLLDRUQUFFLGFBQWE7OzRGQUloQyxnQkFBZ0I7a0JBUDVCLFNBQVM7K0JBQ0MsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0LCBlZmZlY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEdyaWRDb21wb25lbnQgfSBmcm9tICcuLi9ncmlkL2dyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9hc3QgfSBmcm9tICdwcmltZW5nL3RvYXN0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnY3VzdG9tLWFjdGlvbnMnLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW0J1dHRvbk1vZHVsZSwgVG9hc3QsIFRyYW5zbGF0ZVBpcGVdLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybDogJy4vYWN0aW9ucy5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25zQ29tcG9uZW50IHtcclxuXHRncmlkID0gaW5wdXQ8R3JpZENvbXBvbmVudD4oKTtcclxuXHRhY3Rpb25zID0gaW5wdXQ8YW55W10+KCk7XHJcblx0aXNDYW5jZWwgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHRhdXRoTGV2ZWwgPSBpbnB1dDxudW1iZXI+KCk7XHJcblx0c2VsZWN0ZWRSb3dzOiBhbnlbXSA9IFtdO1xyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpcm06IENvbmZpcm1hdGlvblNlcnZpY2UpIHtcclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdHRoaXMuc2VsZWN0ZWRSb3dzID0gdGhpcy5ncmlkKCk/LnNlbGVjdGVkUm93cygpITtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0Z2V0Q2xhc3MoYWN0aW9uOiBhbnkpIHtcclxuXHRcdGlmIChhY3Rpb24ubGFiZWwgPT0gJ+WIoOmZpCcpIHtcclxuXHRcdFx0cmV0dXJuICEhYWN0aW9uLmJ0bkhpZGRlbj8uKHsgYWN0aW9uOiBhY3Rpb24sIHJvd3M6IHRoaXMuc2VsZWN0ZWRSb3dzLCBncmlkOiB0aGlzLmdyaWQoKSB9KSA/ICdoaWRkZW4nIDogJ2Jsb2NrJztcclxuXHRcdH1cclxuXHRcdHJldHVybiAoYWN0aW9uLmF1dGggfHwgMCkgPiAodGhpcy5hdXRoTGV2ZWwoKSB8fCAwKSB8fFxyXG5cdFx0XHQhIWFjdGlvbi5idG5IaWRkZW4/Lih7IGFjdGlvbjogYWN0aW9uLCByb3dzOiB0aGlzLnNlbGVjdGVkUm93cywgZ3JpZDogdGhpcy5ncmlkKCkgfSlcclxuXHRcdFx0PyAnaGlkZGVuJ1xyXG5cdFx0XHQ6ICdibG9jayc7XHJcblx0fVxyXG5cclxuXHRkb0NhbmNlbEFjdGlvbigpIHtcclxuXHRcdHRoaXMuZ3JpZCgpPy5jYW5jZWxTZWxlY3QoKTtcclxuXHR9XHJcblxyXG5cdGRvQWN0aW9uKGV2ZW50OiBhbnksIGFjdGlvbjogYW55KSB7XHJcblx0XHRhY3Rpb24ub25DbGljayAmJiBhY3Rpb24ub25DbGljaz8uKHsgb3JpZ2luYWxFdmVudDogZXZlbnQsIGFjdGlvbjogYWN0aW9uLCByb3dzOiB0aGlzLnNlbGVjdGVkUm93cywgZ3JpZDogdGhpcy5ncmlkKCkgfSk7XHJcblx0fVxyXG5cclxuXHRvbkFjdGlvbkNsaWNrKGV2ZW50OiBhbnksIGFjdGlvbjogYW55KSB7XHJcblx0XHRpZiAoYWN0aW9uLmxhYmVsID09ICfliKDpmaQnKSB7XHJcblx0XHRcdHRoaXMuY29uZmlybS5jb25maXJtKHtcclxuXHRcdFx0XHRtZXNzYWdlOiAn56Gu6K6k5Yig6Zmk5omA6YCJ6KGM5pWw5o2uPycsXHJcblx0XHRcdFx0aGVhZGVyOiAn5Yig6Zmk5o+Q56S6JyxcclxuXHRcdFx0XHRpY29uOiAncGkgcGktaW5mby1jaXJjbGUnLFxyXG5cdFx0XHRcdHJlamVjdEJ1dHRvblByb3BzOiB7XHJcblx0XHRcdFx0XHRsYWJlbDogJ+WPlua2iCcsXHJcblx0XHRcdFx0XHRzZXZlcml0eTogJ3NlY29uZGFyeScsXHJcblx0XHRcdFx0XHR0ZXh0OiB0cnVlLFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0YWNjZXB0QnV0dG9uUHJvcHM6IHtcclxuXHRcdFx0XHRcdGxhYmVsOiAn56Gu6K6kJyxcclxuXHRcdFx0XHRcdG91dGxpbmVkOiB0cnVlLFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0YWNjZXB0OiAoKSA9PiB0aGlzLmRvQWN0aW9uKGV2ZW50LCBhY3Rpb24pLFxyXG5cdFx0XHR9KTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5kb0FjdGlvbihldmVudCwgYWN0aW9uKTtcclxuXHR9XHJcbn1cclxuIiwiPHAtdG9hc3QgLz5cclxuPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGdhcC00IGp1c3RpZnktY2VudGVyXCI+XHJcblx0QGlmIChpc0NhbmNlbCgpKSB7XHJcblx0XHQ8cC1idXR0b25cclxuXHRcdFx0W3NldmVyaXR5XT1cIidzZWNvbmRhcnknXCJcclxuXHRcdFx0W2xhYmVsXT1cIigncHJpbWVuZy5jYW5jZWwnIHwgdHJhbnNsYXRlKSArICcgJyArIHNlbGVjdGVkUm93cy5sZW5ndGhcIlxyXG5cdFx0XHRzaXplPVwic21hbGxcIlxyXG5cdFx0XHQoY2xpY2spPVwiZG9DYW5jZWxBY3Rpb24oKVwiPlxyXG5cdFx0PC9wLWJ1dHRvbj5cclxuXHR9XHJcblxyXG5cdEBmb3IgKGFjdGlvbiBvZiBhY3Rpb25zKCk7IHRyYWNrIGFjdGlvbikge1xyXG5cdFx0PHAtYnV0dG9uXHJcblx0XHRcdHNpemU9XCJzbWFsbFwiXHJcblx0XHRcdFt2YXJpYW50XT1cImFjdGlvbi52YXJpYW50XCJcclxuXHRcdFx0W2ljb25dPVwiYWN0aW9uLmljb25cIlxyXG5cdFx0XHRbc2V2ZXJpdHldPVwiYWN0aW9uLnNldmVyaXR5XCJcclxuXHRcdFx0W2xhYmVsXT1cImFjdGlvbi5pMThuS2V5ID8gKGFjdGlvbi5pMThuS2V5IHwgdHJhbnNsYXRlKSA6IGFjdGlvbi5sYWJlbFwiXHJcblx0XHRcdFtzdHlsZUNsYXNzXT1cImdldENsYXNzKGFjdGlvbilcIlxyXG5cdFx0XHRbZGlzYWJsZWRdPVwiYWN0aW9uLmJ0bkRpc2FibGVkPy4oeyBhY3Rpb246IGFjdGlvbiwgcm93czogc2VsZWN0ZWRSb3dzLCBncmlkOiBncmlkKCkgfSkgPz8gZmFsc2VcIlxyXG5cdFx0XHQob25DbGljayk9XCJvbkFjdGlvbkNsaWNrKCRldmVudCwgYWN0aW9uKVwiPjwvcC1idXR0b24+XHJcblx0fVxyXG48L2Rpdj5cclxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2dyaWQvYWN0aW9ucy9hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvZ3JpZC9hY3Rpb25zL2FjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVN0QyxNQUFNLE9BQU8sZ0JBQWdCO0lBTzVCLFlBQW9CLE9BQTRCO1FBQTVCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBTmhELFNBQUksR0FBRyxLQUFLLEVBQWlCLENBQUM7UUFDOUIsWUFBTyxHQUFHLEtBQUssRUFBUyxDQUFDO1FBQ3pCLGFBQVEsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDaEMsY0FBUyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzVCLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBR3hCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxZQUFZLEVBQUcsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNuQixJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7WUFDMUIsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDbEgsQ0FBQztRQUNELE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNsRCxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDcEYsQ0FBQyxDQUFDLFFBQVE7WUFDVixDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ1osQ0FBQztJQUVELGNBQWM7UUFDYixJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFVLEVBQUUsTUFBVztRQUMvQixNQUFNLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMxSCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVUsRUFBRSxNQUFXO1FBQ3BDLElBQUksTUFBTSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztnQkFDcEIsT0FBTyxFQUFFLFlBQVk7Z0JBQ3JCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLElBQUksRUFBRSxtQkFBbUI7Z0JBQ3pCLGlCQUFpQixFQUFFO29CQUNsQixLQUFLLEVBQUUsSUFBSTtvQkFDWCxRQUFRLEVBQUUsV0FBVztvQkFDckIsSUFBSSxFQUFFLElBQUk7aUJBQ1Y7Z0JBQ0QsaUJBQWlCLEVBQUU7b0JBQ2xCLEtBQUssRUFBRSxJQUFJO29CQUNYLFFBQVEsRUFBRSxJQUFJO2lCQUNkO2dCQUNELE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7YUFDMUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTztRQUNSLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5QixDQUFDOytHQW5EVyxnQkFBZ0I7bUdBQWhCLGdCQUFnQiw4a0JDZDdCLDAyQkF3QkEseUREZFcsWUFBWSxrYkFBRSxLQUFLLDRUQUFFLGFBQWE7OzRGQUloQyxnQkFBZ0I7a0JBUDVCLFNBQVM7K0JBQ0MsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0LCBlZmZlY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEdyaWRDb21wb25lbnQgfSBmcm9tICcuLi9ncmlkL2dyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9hc3QgfSBmcm9tICdwcmltZW5nL3RvYXN0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnY3VzdG9tLWFjdGlvbnMnLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW0J1dHRvbk1vZHVsZSwgVG9hc3QsIFRyYW5zbGF0ZVBpcGVdLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybDogJy4vYWN0aW9ucy5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25zQ29tcG9uZW50IHtcclxuXHRncmlkID0gaW5wdXQ8R3JpZENvbXBvbmVudD4oKTtcclxuXHRhY3Rpb25zID0gaW5wdXQ8YW55W10+KCk7XHJcblx0aXNDYW5jZWwgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHRhdXRoTGV2ZWwgPSBpbnB1dDxudW1iZXI+KCk7XHJcblx0c2VsZWN0ZWRSb3dzOiBhbnlbXSA9IFtdO1xyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpcm06IENvbmZpcm1hdGlvblNlcnZpY2UpIHtcclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdHRoaXMuc2VsZWN0ZWRSb3dzID0gdGhpcy5ncmlkKCk/LnNlbGVjdGVkUm93cygpITtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0Z2V0Q2xhc3MoYWN0aW9uOiBhbnkpIHtcclxuXHRcdGlmIChhY3Rpb24ubGFiZWwgPT0gJ+WIoOmZpCcpIHtcclxuXHRcdFx0cmV0dXJuICEhYWN0aW9uLmJ0bkhpZGRlbj8uKHsgYWN0aW9uOiBhY3Rpb24sIHJvd3M6IHRoaXMuc2VsZWN0ZWRSb3dzLCBncmlkOiB0aGlzLmdyaWQoKSB9KSA/ICdoaWRkZW4nIDogJ2Jsb2NrJztcclxuXHRcdH1cclxuXHRcdHJldHVybiAoYWN0aW9uLmF1dGggfHwgMCkgPiAodGhpcy5hdXRoTGV2ZWwoKSB8fCAwKSB8fFxyXG5cdFx0XHQhIWFjdGlvbi5idG5IaWRkZW4/Lih7IGFjdGlvbjogYWN0aW9uLCByb3dzOiB0aGlzLnNlbGVjdGVkUm93cywgZ3JpZDogdGhpcy5ncmlkKCkgfSlcclxuXHRcdFx0PyAnaGlkZGVuJ1xyXG5cdFx0XHQ6ICdibG9jayc7XHJcblx0fVxyXG5cclxuXHRkb0NhbmNlbEFjdGlvbigpIHtcclxuXHRcdHRoaXMuZ3JpZCgpPy5jYW5jZWxTZWxlY3QoKTtcclxuXHR9XHJcblxyXG5cdGRvQWN0aW9uKGV2ZW50OiBhbnksIGFjdGlvbjogYW55KSB7XHJcblx0XHRhY3Rpb24ub25DbGljayAmJiBhY3Rpb24ub25DbGljaz8uKHsgb3JpZ2luYWxFdmVudDogZXZlbnQsIGFjdGlvbjogYWN0aW9uLCByb3dzOiB0aGlzLnNlbGVjdGVkUm93cywgZ3JpZDogdGhpcy5ncmlkKCkgfSk7XHJcblx0fVxyXG5cclxuXHRvbkFjdGlvbkNsaWNrKGV2ZW50OiBhbnksIGFjdGlvbjogYW55KSB7XHJcblx0XHRpZiAoYWN0aW9uLmxhYmVsID09ICfliKDpmaQnKSB7XHJcblx0XHRcdHRoaXMuY29uZmlybS5jb25maXJtKHtcclxuXHRcdFx0XHRtZXNzYWdlOiAn56Gu6K6k5Yig6Zmk5omA6YCJ6KGM5pWw5o2uPycsXHJcblx0XHRcdFx0aGVhZGVyOiAn5Yig6Zmk5o+Q56S6JyxcclxuXHRcdFx0XHRpY29uOiAncGkgcGktaW5mby1jaXJjbGUnLFxyXG5cdFx0XHRcdHJlamVjdEJ1dHRvblByb3BzOiB7XHJcblx0XHRcdFx0XHRsYWJlbDogJ+WPlua2iCcsXHJcblx0XHRcdFx0XHRzZXZlcml0eTogJ3NlY29uZGFyeScsXHJcblx0XHRcdFx0XHR0ZXh0OiB0cnVlLFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0YWNjZXB0QnV0dG9uUHJvcHM6IHtcclxuXHRcdFx0XHRcdGxhYmVsOiAn56Gu6K6kJyxcclxuXHRcdFx0XHRcdG91dGxpbmVkOiB0cnVlLFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0YWNjZXB0OiAoKSA9PiB0aGlzLmRvQWN0aW9uKGV2ZW50LCBhY3Rpb24pLFxyXG5cdFx0XHR9KTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5kb0FjdGlvbihldmVudCwgYWN0aW9uKTtcclxuXHR9XHJcbn1cclxuIiwiPHAtdG9hc3QgLz5cclxuPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGdhcC00IGp1c3RpZnktY2VudGVyXCI+XHJcblx0QGlmIChpc0NhbmNlbCgpKSB7XHJcblx0XHQ8cC1idXR0b25cclxuXHRcdFx0W3NldmVyaXR5XT1cIidzZWNvbmRhcnknXCJcclxuXHRcdFx0W2xhYmVsXT1cIigncHJpbWVuZy5jYW5jZWwnIHwgdHJhbnNsYXRlKSArICcgJyArIHNlbGVjdGVkUm93cy5sZW5ndGhcIlxyXG5cdFx0XHRzaXplPVwic21hbGxcIlxyXG5cdFx0XHQoY2xpY2spPVwiZG9DYW5jZWxBY3Rpb24oKVwiPlxyXG5cdFx0PC9wLWJ1dHRvbj5cclxuXHR9XHJcblxyXG5cdEBmb3IgKGFjdGlvbiBvZiBhY3Rpb25zKCk7IHRyYWNrIGFjdGlvbikge1xyXG5cdFx0PHAtYnV0dG9uXHJcblx0XHRcdHNpemU9XCJzbWFsbFwiXHJcblx0XHRcdFt2YXJpYW50XT1cImFjdGlvbi52YXJpYW50XCJcclxuXHRcdFx0W2ljb25dPVwiYWN0aW9uLmljb25cIlxyXG5cdFx0XHRbbG9hZGluZ109XCJhY3Rpb24ubG9hZGluZ1wiXHJcblx0XHRcdFtzZXZlcml0eV09XCJhY3Rpb24uc2V2ZXJpdHlcIlxyXG5cdFx0XHRbbGFiZWxdPVwiYWN0aW9uLmkxOG5LZXkgPyAoYWN0aW9uLmkxOG5LZXkgfCB0cmFuc2xhdGUpIDogYWN0aW9uLmxhYmVsXCJcclxuXHRcdFx0W3N0eWxlQ2xhc3NdPVwiZ2V0Q2xhc3MoYWN0aW9uKVwiXHJcblx0XHRcdFtkaXNhYmxlZF09XCJhY3Rpb24uYnRuRGlzYWJsZWQ/Lih7IGFjdGlvbjogYWN0aW9uLCByb3dzOiBzZWxlY3RlZFJvd3MsIGdyaWQ6IGdyaWQoKSB9KSA/PyBmYWxzZVwiXHJcblx0XHRcdChvbkNsaWNrKT1cIm9uQWN0aW9uQ2xpY2soJGV2ZW50LCBhY3Rpb24pXCI+PC9wLWJ1dHRvbj5cclxuXHR9XHJcbjwvZGl2PlxyXG4iXX0=