@seniorsistemas/angular-components 19.0.3 → 19.0.4-feature-sds-461-8df80387
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/button/lib/button/button.component.d.ts +2 -1
- package/dynamic-form/dynamic-form/components/lookup/lookup.component.d.ts +2 -1
- package/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +1 -0
- package/esm2022/button/lib/button/button.component.mjs +6 -3
- package/esm2022/confirm-dialog/lib/popup-confirm-dialog/popup-confirm-dialog.component.mjs +1 -1
- package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/components/grid/row/row.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +7 -4
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/button-field/button-field.component.mjs +1 -1
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/lookup/lookup-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +2 -2
- package/esm2022/empty-state/lib/empty-state/empty-state.component.mjs +1 -1
- package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +1 -1
- package/esm2022/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.mjs +1 -1
- package/esm2022/global-search/lib/global-search/global-search.component.mjs +2 -2
- package/esm2022/help-popover/lib/help-popover/help-popover/help-popover.component.mjs +1 -1
- package/esm2022/image-cropper/lib/image-cropper/image-cropper.component.mjs +1 -1
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.mjs +3 -3
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +1 -1
- package/esm2022/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +1 -1
- package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-lookup-field.mjs +2 -1
- package/esm2022/kanban/lib/kanban/components/kanban-column/kanban-column.component.mjs +1 -1
- package/esm2022/kanban/lib/kanban/components/kanban-item/kanban-item.component.mjs +1 -1
- package/esm2022/lib/locale/fallback.mjs +3 -2
- package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +1 -1
- package/esm2022/object-card/lib/object-card/elements/field/object-card-field.component.mjs +1 -1
- package/esm2022/object-card/lib/object-card/elements/main/object-card-main.component.mjs +1 -1
- package/esm2022/picklist/lib/picklist/picklist.component.mjs +1 -1
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +1 -1
- package/esm2022/table/lib/table/table-paging/table-paging.component.mjs +1 -1
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +62 -46
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +3 -3
- package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +6 -2
- package/fesm2022/seniorsistemas-angular-components-button.mjs +5 -2
- package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +17 -14
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-help-popover.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-help-popover.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +5 -4
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-object-card.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-picklist.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-picklist.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +67 -47
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components.mjs +2 -1
- package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -1
- package/inline-edit/lib/inline-edit/fields/inline-edit-lookup-field.d.ts +2 -0
- package/package.json +1 -1
- package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +3 -1
- package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +2 -1
package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs
CHANGED
|
@@ -58,7 +58,7 @@ export class PasswordFieldComponent {
|
|
|
58
58
|
this.changeDetectorRef.detectChanges();
|
|
59
59
|
}
|
|
60
60
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PasswordFieldComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
61
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PasswordFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef\"\n ></s-field-label>\n}\n\n<div\n class=\"password-field\"\n [ngClass]=\"{ 'password-field--toggle': _field.showToggle }\"\n>\n <input\n #inputRef\n [type]=\"passwordVisible ? 'text' : 'password'\"\n [id]=\"_field.id || _field.name\"\n class=\"password-input\"\n [name]=\"_field.name\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [maxLength]=\"_field.maxLength ?? 9999999\"\n pInputText\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n [ngStyle]=\"_field.style\"\n [sPasswordStrength]=\"_field.passwordStrength ? _field.passwordStrength : false\"\n [passwordStrengthDescription]=\"\n _field.passwordStrengthOptions?.description ? _field.passwordStrengthOptions!.description : ''\n \"\n [passwordStrengthWeakTitle]=\"\n _field.passwordStrengthOptions?.weakTitle ? _field.passwordStrengthOptions?.weakTitle : ''\n \"\n [passwordStrengthMediumTitle]=\"\n _field.passwordStrengthOptions?.mediumTitle ? _field.passwordStrengthOptions?.mediumTitle : ''\n \"\n [passwordStrengthStrongTitle]=\"\n _field.passwordStrengthOptions?.strongTitle ? _field.passwordStrengthOptions?.strongTitle : ''\n \"\n [passwordStrengthValidation]=\"_field.passwordStrengthOptions?.validation\"\n />\n @if (_field.showToggle) {\n <span class=\"toggle-button\">\n <s-button\n [iconClass]=\"passwordVisible ? 'fas fa-eye-slash' : 'fas fa-eye'\"\n priority=\"default\"\n (clicked)=\"onChangeVisible()\"\n >\n </s-button>\n </span>\n }\n</div>\n\n", styles: ["s-text-field.ng-dirty.ng-invalid .password-input{border-color:#c13018}s-text-field.ng-dirty.ng-invalid .password-input:hover{border-color:highlight(#c13018)}.password-field{display:flex}.password-field--toggle .password-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.password-field--toggle .toggle-button s-button button{border-bottom-left-radius:0;border-top-left-radius:0}.password-field:has(.password-input.ng-invalid.ng-dirty) s-button button{border:1px solid #c13018}.password-field:has(.password-input:focus) s-button button{border:1px solid #428bca}.password-field:has(.password-input:focus):has(button) .password-input{border-right:none}\n"], dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: PasswordStrengthModule }, { kind: "directive", type: i2.PasswordStrengthDirective, selector: "[sPasswordStrength]", inputs: ["sPasswordStrength", "passwordStrengthValidation", "passwordStrengthPosition", "passwordStrengthWeakTitle", "passwordStrengthMediumTitle", "passwordStrengthStrongTitle", "passwordStrengthDescription"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
61
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PasswordFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef\"\n ></s-field-label>\n}\n\n<div\n class=\"password-field\"\n [ngClass]=\"{ 'password-field--toggle': _field.showToggle }\"\n>\n <input\n #inputRef\n [type]=\"passwordVisible ? 'text' : 'password'\"\n [id]=\"_field.id || _field.name\"\n class=\"password-input\"\n [name]=\"_field.name\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [maxLength]=\"_field.maxLength ?? 9999999\"\n pInputText\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n [ngStyle]=\"_field.style\"\n [sPasswordStrength]=\"_field.passwordStrength ? _field.passwordStrength : false\"\n [passwordStrengthDescription]=\"\n _field.passwordStrengthOptions?.description ? _field.passwordStrengthOptions!.description : ''\n \"\n [passwordStrengthWeakTitle]=\"\n _field.passwordStrengthOptions?.weakTitle ? _field.passwordStrengthOptions?.weakTitle : ''\n \"\n [passwordStrengthMediumTitle]=\"\n _field.passwordStrengthOptions?.mediumTitle ? _field.passwordStrengthOptions?.mediumTitle : ''\n \"\n [passwordStrengthStrongTitle]=\"\n _field.passwordStrengthOptions?.strongTitle ? _field.passwordStrengthOptions?.strongTitle : ''\n \"\n [passwordStrengthValidation]=\"_field.passwordStrengthOptions?.validation\"\n />\n @if (_field.showToggle) {\n <span class=\"toggle-button\">\n <s-button\n [iconClass]=\"passwordVisible ? 'fas fa-eye-slash' : 'fas fa-eye'\"\n priority=\"default\"\n (clicked)=\"onChangeVisible()\"\n >\n </s-button>\n </span>\n }\n</div>\n\n", styles: ["s-text-field.ng-dirty.ng-invalid .password-input{border-color:#c13018}s-text-field.ng-dirty.ng-invalid .password-input:hover{border-color:highlight(#c13018)}.password-field{display:flex}.password-field--toggle .password-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.password-field--toggle .toggle-button s-button button{border-bottom-left-radius:0;border-top-left-radius:0}.password-field:has(.password-input.ng-invalid.ng-dirty) s-button button{border:1px solid #c13018}.password-field:has(.password-input:focus) s-button button{border:1px solid #428bca}.password-field:has(.password-input:focus):has(button) .password-input{border-right:none}\n"], dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: PasswordStrengthModule }, { kind: "directive", type: i2.PasswordStrengthDirective, selector: "[sPasswordStrength]", inputs: ["sPasswordStrength", "passwordStrengthValidation", "passwordStrengthPosition", "passwordStrengthWeakTitle", "passwordStrengthMediumTitle", "passwordStrengthStrongTitle", "passwordStrengthDescription"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "menuAriaLabel", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
62
62
|
}
|
|
63
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PasswordFieldComponent, decorators: [{
|
|
64
64
|
type: Component,
|
|
@@ -82,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
82
82
|
type: ViewChild,
|
|
83
83
|
args: ['inputRef']
|
|
84
84
|
}] } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9wYXNzd29yZC9wYXNzd29yZC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3Bhc3N3b3JkL3Bhc3N3b3JkLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdEQUF3RDtBQUN4RCxPQUFPLEVBR0gsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBR25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxD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QixlQUFlO3dCQUNmLGVBQWU7cUJBQ2xCO3NGQU9NLE9BQU87c0JBRGIsTUFBTTtnQkFJQSxPQUFPO3NCQURiLE1BQU07Z0JBSUEsVUFBVTtzQkFEaEIsTUFBTTtnQkFHZ0IsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXggKi9cbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGb3JtRmllbGRVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mb3JtLWZpZWxkLXV0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFzc3dvcmRGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9wYXNzd29yZC1maWVsZCc7XG5pbXBvcnQgeyBCYXNlRmllbGRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi9iYXNlLWZpZWxkLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9maWVsZC1sYWJlbC9maWVsZC1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IFBhc3N3b3JkU3RyZW5ndGhNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3Bhc3N3b3JkLXN0cmVuZ3RoJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL3Bhc3N3b3JkLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wYXNzd29yZC1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEZpZWxkTGFiZWxDb21wb25lbnQsXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIFRvb2x0aXBEaXJlY3RpdmUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE5nU3R5bGUsXG4gICAgICAgIFBhc3N3b3JkU3RyZW5ndGhNb2R1bGUsXG4gICAgICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgSW5wdXRUZXh0TW9kdWxlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIHtcbiAgICBmaWVsZCA9IGlucHV0LnJlcXVpcmVkPFBhc3N3b3JkRmllbGRDb25maWc+KCk7XG4gICAgZm9ybUNvbnRyb2wgPSBpbnB1dC5yZXF1aXJlZDxGb3JtQ29udHJvbD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbklucHV0OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkZvY3VzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkNvbXBsZXRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0UmVmJykgaW5wdXRSZWY6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHVibGljIHBhc3N3b3JkVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtVXRpbHMgPSBpbmplY3QoRm9ybUZpZWxkVXRpbHNTZXJ2aWNlKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1VdGlscy5zd2l0Y2hFbXB0eVN0cmluZ1RvTnVsbCh0aGlzLmZvcm1Db250cm9sKCksIHRoaXMubmdVbnN1YnNjcmliZSk7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZCgpO1xuICAgICAgICB0aGlzLm9uRm9jdXMucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGZpZWxkLm9uRm9jdXMpIHtcbiAgICAgICAgICAgICAgICBmaWVsZC5vbkZvY3VzKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub25JbnB1dC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoZmllbGQub25JbnB1dCkge1xuICAgICAgICAgICAgICAgIGZpZWxkLm9uSW5wdXQoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vbkNvbXBsZXRlLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGZpZWxkLm9uQ29tcGxldGUpIHtcbiAgICAgICAgICAgICAgICBmaWVsZC5vbkNvbXBsZXRlKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DaGFuZ2VWaXNpYmxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhc3N3b3JkVmlzaWJsZSA9ICF0aGlzLnBhc3N3b3JkVmlzaWJsZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG59XG5cbiIsIkBsZXQgX2ZpZWxkID0gZmllbGQoKTtcbkBpZiAoaW5wdXRSZWYpIHtcbiAgICA8cy1maWVsZC1sYWJlbFxuICAgICAgICBbZmllbGRdPVwiX2ZpZWxkXCJcbiAgICAgICAgW2ZpZWxkQ29udGFpbmVyUmVmXT1cImlucHV0UmVmXCJcbiAgICA+PC9zLWZpZWxkLWxhYmVsPlxufVxuXG48ZGl2XG4gICAgY2xhc3M9XCJwYXNzd29yZC1maWVsZFwiXG4gICAgW25nQ2xhc3NdPVwieyAncGFzc3dvcmQtZmllbGQtLXRvZ2dsZSc6IF9maWVsZC5zaG93VG9nZ2xlIH1cIlxuPlxuICAgIDxpbnB1dFxuICAgICAgICAjaW5wdXRSZWZcbiAgICAgICAgW3R5cGVdPVwicGFzc3dvcmRWaXNpYmxlID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1wiXG4gICAgICAgIFtpZF09XCJfZmllbGQuaWQgfHwgX2ZpZWxkLm5hbWVcIlxuICAgICAgICBjbGFzcz1cInBhc3N3b3JkLWlucHV0XCJcbiAgICAgICAgW25hbWVdPVwiX2ZpZWxkLm5hbWVcIlxuICAgICAgICBbc1Rvb2x0aXBdPVwiX2ZpZWxkLnRvb2x0aXBcIlxuICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiX2ZpZWxkLnBsYWNlaG9sZGVyID8/ICcnXCJcbiAgICAgICAgW3Nob3dEZWxheV09XCI1MDBcIlxuICAgICAgICBbbWF4TGVuZ3RoXT1cIl9maWVsZC5tYXhMZW5ndGggPz8gOTk5OTk5OVwiXG4gICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgW25nQ2xhc3NdPVwiJ21vdXNldHJhcCdcIlxuICAgICAgICAoYmx1cik9XCJfZmllbGQub25CbHVyID8gX2ZpZWxkLm9uQmx1cigkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgIChmb2N1cyk9XCJvbkZvY3VzLm5leHQoJGV2ZW50KVwiXG4gICAgICAgIChpbnB1dCk9XCJvbklucHV0Lm5leHQoJGV2ZW50KVwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbCgpXCJcbiAgICAgICAgW25nU3R5bGVdPVwiX2ZpZWxkLnN0eWxlXCJcbiAgICAgICAgW3NQYXNzd29yZFN0cmVuZ3RoXT1cIl9maWVsZC5wYXNzd29yZFN0cmVuZ3RoID8gX2ZpZWxkLnBhc3N3b3JkU3RyZW5ndGggOiBmYWxzZVwiXG4gICAgICAgIFtwYXNzd29yZFN0cmVuZ3RoRGVzY3JpcHRpb25dPVwiXG4gICAgICAgICAgICBfZmllbGQucGFzc3dvcmRTdHJlbmd0aE9wdGlvbnM/LmRlc2NyaXB0aW9uID8gX2ZpZWxkLnBhc3N3b3JkU3RyZW5ndGhPcHRpb25zIS5kZXNjcmlwdGlvbiA6ICcnXG4gICAgICAgIFwiXG4gICAgICAgIFtwYXNzd29yZFN0cmVuZ3RoV2Vha1RpdGxlXT1cIlxuICAgICAgICAgICAgX2ZpZWxkLnBhc3N3b3JkU3RyZW5ndGhPcHRpb25zPy53ZWFrVGl0bGUgPyBfZmllbGQucGFzc3dvcmRTdHJlbmd0aE9wdGlvbnM/LndlYWtUaXRsZSA6ICcnXG4gICAgICAgIFwiXG4gICAgICAgIFtwYXNzd29yZFN0cmVuZ3RoTWVkaXVtVGl0bGVdPVwiXG4gICAgICAgICAgICBfZmllbGQucGFzc3dvcmRTdHJlbmd0aE9wdGlvbnM/Lm1lZGl1bVRpdGxlID8gX2ZpZWxkLnBhc3N3b3JkU3RyZW5ndGhPcHRpb25zPy5tZWRpdW1UaXRsZSA6ICcnXG4gICAgICAgIFwiXG4gICAgICAgIFtwYXNzd29yZFN0cmVuZ3RoU3Ryb25nVGl0bGVdPVwiXG4gICAgICAgICAgICBfZmllbGQucGFzc3dvcmRTdHJlbmd0aE9wdGlvbnM/LnN0cm9uZ1RpdGxlID8gX2ZpZWxkLnBhc3N3b3JkU3RyZW5ndGhPcHRpb25zPy5zdHJvbmdUaXRsZSA6ICcnXG4gICAgICAgIFwiXG4gICAgICAgIFtwYXNzd29yZFN0cmVuZ3RoVmFsaWRhdGlvbl09XCJfZmllbGQucGFzc3dvcmRTdHJlbmd0aE9wdGlvbnM/LnZhbGlkYXRpb25cIlxuICAgIC8+XG4gICAgQGlmIChfZmllbGQuc2hvd1RvZ2dsZSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cInRvZ2dsZS1idXR0b25cIj5cbiAgICAgICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgICAgIFtpY29uQ2xhc3NdPVwicGFzc3dvcmRWaXNpYmxlID8gJ2ZhcyBmYS1leWUtc2xhc2gnIDogJ2ZhcyBmYS1leWUnXCJcbiAgICAgICAgICAgICAgICBwcmlvcml0eT1cImRlZmF1bHRcIlxuICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2hhbmdlVmlzaWJsZSgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcy1idXR0b24+XG4gICAgICAgIDwvc3Bhbj5cbiAgICB9XG48L2Rpdj5cblxuIl19
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9wYXNzd29yZC9wYXNzd29yZC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3Bhc3N3b3JkL3Bhc3N3b3JkLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdEQUF3RDtBQUN4RCxPQUFPLEVBR0gsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBR25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxD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QixlQUFlO3dCQUNmLGVBQWU7cUJBQ2xCO3NGQU9NLE9BQU87c0JBRGIsTUFBTTtnQkFJQSxPQUFPO3NCQURiLE1BQU07Z0JBSUEsVUFBVTtzQkFEaEIsTUFBTTtnQkFHZ0IsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXggKi9cbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGb3JtRmllbGRVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mb3JtLWZpZWxkLXV0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFzc3dvcmRGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9wYXNzd29yZC1maWVsZCc7XG5pbXBvcnQgeyBCYXNlRmllbGRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi9iYXNlLWZpZWxkLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9maWVsZC1sYWJlbC9maWVsZC1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IFBhc3N3b3JkU3RyZW5ndGhNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3Bhc3N3b3JkLXN0cmVuZ3RoJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL3Bhc3N3b3JkLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wYXNzd29yZC1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEZpZWxkTGFiZWxDb21wb25lbnQsXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIFRvb2x0aXBEaXJlY3RpdmUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE5nU3R5bGUsXG4gICAgICAgIFBhc3N3b3JkU3RyZW5ndGhNb2R1bGUsXG4gICAgICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgSW5wdXRUZXh0TW9kdWxlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIHtcbiAgICBmaWVsZCA9IGlucHV0LnJlcXVpcmVkPFBhc3N3b3JkRmllbGRDb25maWc+KCk7XG4gICAgZm9ybUNvbnRyb2wgPSBpbnB1dC5yZXF1aXJlZDxGb3JtQ29udHJvbD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbklucHV0OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkZvY3VzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkNvbXBsZXRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0UmVmJykgaW5wdXRSZWY6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHVibGljIHBhc3N3b3JkVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtVXRpbHMgPSBpbmplY3QoRm9ybUZpZWxkVXRpbHNTZXJ2aWNlKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1VdGlscy5zd2l0Y2hFbXB0eVN0cmluZ1RvTnVsbCh0aGlzLmZvcm1Db250cm9sKCksIHRoaXMubmdVbnN1YnNjcmliZSk7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZCgpO1xuICAgICAgICB0aGlzLm9uRm9jdXMucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGZpZWxkLm9uRm9jdXMpIHtcbiAgICAgICAgICAgICAgICBmaWVsZC5vbkZvY3VzKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub25JbnB1dC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoZmllbGQub25JbnB1dCkge1xuICAgICAgICAgICAgICAgIGZpZWxkLm9uSW5wdXQoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vbkNvbXBsZXRlLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGZpZWxkLm9uQ29tcGxldGUpIHtcbiAgICAgICAgICAgICAgICBmaWVsZC5vbkNvbXBsZXRlKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DaGFuZ2VWaXNpYmxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhc3N3b3JkVmlzaWJsZSA9ICF0aGlzLnBhc3N3b3JkVmlzaWJsZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG59XG5cbiIsIkBsZXQgX2ZpZWxkID0gZmllbGQoKTtcbkBpZiAoaW5wdXRSZWYpIHtcbiAgICA8cy1maWVsZC1sYWJlbFxuICAgICAgICBbZmllbGRdPVwiX2ZpZWxkXCJcbiAgICAgICAgW2ZpZWxkQ29udGFpbmVyUmVmXT1cImlucHV0UmVmXCJcbiAgICA+PC9zLWZpZWxkLWxhYmVsPlxufVxuXG48ZGl2XG4gICAgY2xhc3M9XCJwYXNzd29yZC1maWVsZFwiXG4gICAgW25nQ2xhc3NdPVwieyAncGFzc3dvcmQtZmllbGQtLXRvZ2dsZSc6IF9maWVsZC5zaG93VG9nZ2xlIH1cIlxuPlxuICAgIDxpbnB1dFxuICAgICAgICAjaW5wdXRSZWZcbiAgICAgICAgW3R5cGVdPVwicGFzc3dvcmRWaXNpYmxlID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1wiXG4gICAgICAgIFtpZF09XCJfZmllbGQuaWQgfHwgX2ZpZWxkLm5hbWVcIlxuICAgICAgICBjbGFzcz1cInBhc3N3b3JkLWlucHV0XCJcbiAgICAgICAgW25hbWVdPVwiX2ZpZWxkLm5hbWVcIlxuICAgICAgICBbc1Rvb2x0aXBdPVwiX2ZpZWxkLnRvb2x0aXBcIlxuICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiX2ZpZWxkLnBsYWNlaG9sZGVyID8/ICcnXCJcbiAgICAgICAgW3Nob3dEZWxheV09XCI1MDBcIlxuICAgICAgICBbbWF4TGVuZ3RoXT1cIl9maWVsZC5tYXhMZW5ndGggPz8gOTk5OTk5OVwiXG4gICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgW25nQ2xhc3NdPVwiJ21vdXNldHJhcCdcIlxuICAgICAgICAoYmx1cik9XCJfZmllbGQub25CbHVyID8gX2ZpZWxkLm9uQmx1cigkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgIChmb2N1cyk9XCJvbkZvY3VzLm5leHQoJGV2ZW50KVwiXG4gICAgICAgIChpbnB1dCk9XCJvbklucHV0Lm5leHQoJGV2ZW50KVwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbCgpXCJcbiAgICAgICAgW25nU3R5bGVdPVwiX2ZpZWxkLnN0eWxlXCJcbiAgICAgICAgW3NQYXNzd29yZFN0cmVuZ3RoXT1cIl9maWVsZC5wYXNzd29yZFN0cmVuZ3RoID8gX2ZpZWxkLnBhc3N3b3JkU3RyZW5ndGggOiBmYWxzZVwiXG4gICAgICAgIFtwYXNzd29yZFN0cmVuZ3RoRGVzY3JpcHRpb25dPVwiXG4gICAgICAgICAgICBfZmllbGQucGFzc3dvcmRTdHJlbmd0aE9wdGlvbnM/LmRlc2NyaXB0aW9uID8gX2ZpZWxkLnBhc3N3b3JkU3RyZW5ndGhPcHRpb25zIS5kZXNjcmlwdGlvbiA6ICcnXG4gICAgICAgIFwiXG4gICAgICAgIFtwYXNzd29yZFN0cmVuZ3RoV2Vha1RpdGxlXT1cIlxuICAgICAgICAgICAgX2ZpZWxkLnBhc3N3b3JkU3RyZW5ndGhPcHRpb25zPy53ZWFrVGl0bGUgPyBfZmllbGQucGFzc3dvcmRTdHJlbmd0aE9wdGlvbnM/LndlYWtUaXRsZSA6ICcnXG4gICAgICAgIFwiXG4gICAgICAgIFtwYXNzd29yZFN0cmVuZ3RoTWVkaXVtVGl0bGVdPVwiXG4gICAgICAgICAgICBfZmllbGQucGFzc3dvcmRTdHJlbmd0aE9wdGlvbnM/Lm1lZGl1bVRpdGxlID8gX2ZpZWxkLnBhc3N3b3JkU3RyZW5ndGhPcHRpb25zPy5tZWRpdW1UaXRsZSA6ICcnXG4gICAgICAgIFwiXG4gICAgICAgIFtwYXNzd29yZFN0cmVuZ3RoU3Ryb25nVGl0bGVdPVwiXG4gICAgICAgICAgICBfZmllbGQucGFzc3dvcmRTdHJlbmd0aE9wdGlvbnM/LnN0cm9uZ1RpdGxlID8gX2ZpZWxkLnBhc3N3b3JkU3RyZW5ndGhPcHRpb25zPy5zdHJvbmdUaXRsZSA6ICcnXG4gICAgICAgIFwiXG4gICAgICAgIFtwYXNzd29yZFN0cmVuZ3RoVmFsaWRhdGlvbl09XCJfZmllbGQucGFzc3dvcmRTdHJlbmd0aE9wdGlvbnM/LnZhbGlkYXRpb25cIlxuICAgIC8+XG4gICAgQGlmIChfZmllbGQuc2hvd1RvZ2dsZSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cInRvZ2dsZS1idXR0b25cIj5cbiAgICAgICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgICAgIFtpY29uQ2xhc3NdPVwicGFzc3dvcmRWaXNpYmxlID8gJ2ZhcyBmYS1leWUtc2xhc2gnIDogJ2ZhcyBmYS1leWUnXCJcbiAgICAgICAgICAgICAgICBwcmlvcml0eT1cImRlZmF1bHRcIlxuICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2hhbmdlVmlzaWJsZSgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcy1idXR0b24+XG4gICAgICAgIDwvc3Bhbj5cbiAgICB9XG48L2Rpdj5cblxuIl19
|
|
@@ -37,7 +37,7 @@ export class RadioButtonFieldComponent {
|
|
|
37
37
|
this.formControl().reset();
|
|
38
38
|
}
|
|
39
39
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RadioButtonFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RadioButtonFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onClick: "onClick", onFocus: "onFocus" }, ngImport: i0, template: "@let _field = field();\n<s-field-label [field]=\"_field\"></s-field-label>\n\n@if (_field.verticalAlignment) {\n <div class=\"ui-g\">\n @for (option of _field.options; let i = $index; track i) {\n <div class=\"ui-g-12\">\n <ng-container\n [ngTemplateOutlet]=\"radioButton\"\n [ngTemplateOutletContext]=\"{ option: option, index: i }\"\n >\n </ng-container>\n </div>\n }\n @if (_field.showClear && _field.required && !_field.required() && !formControl().disabled) {\n <s-button\n [label]=\"_field.clearLabel || 'Clear selection'\"\n (clicked)=\"onClear()\"\n priority=\"link\"\n >\n </s-button>\n }\n </div>\n} @else {\n <div class=\"ui-g horizontal-radio-buttons-container\">\n @for (option of _field.options; let i = $index; track i) {\n <ng-container\n [ngTemplateOutlet]=\"radioButton\"\n [ngTemplateOutletContext]=\"{ option: option, index: i }\"\n >\n </ng-container>\n }\n </div>\n @if (_field.showClear && _field.required && !_field.required() && !formControl().disabled) {\n <s-button\n class=\"horizontal-clear-option\"\n [label]=\"_field.clearLabel || 'Clear selection'\"\n (clicked)=\"onClear()\"\n priority=\"link\"\n >\n </s-button>\n }\n}\n\n<ng-template\n #radioButton\n let-option=\"option\"\n let-i=\"index\"\n>\n @let inputId = (_field.id || _field.name) + '-' + i;\n <s-radiobutton\n class=\"radio-button-item\"\n [name]=\"_field.name\"\n [value]=\"option.value\"\n [formControl]=\"formControl()\"\n [inputId]=\"inputId\"\n [sTooltip]=\"_field.tooltip\"\n [label]=\"option.label\"\n (focusedInput)=\"onFocus.next($event)\"\n (inputFocusLost)=\"_field.onBlur ? _field.onBlur($event) : null\"\n />\n</ng-template>\n\n", styles: ["s-button.horizontal-clear-option button{width:min-content!important}.horizontal-radio-buttons-container{gap:20px 40px;.radio-button-item{margin:0}}\n"], dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "component", type: RadioButtonComponent, selector: "s-radiobutton", inputs: ["buttonDisabled", "label", "name", "value", "inputId"], outputs: ["buttonDisabledChange", "valueChange", "focusedInput", "inputFocusLost"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
40
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RadioButtonFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onClick: "onClick", onFocus: "onFocus" }, ngImport: i0, template: "@let _field = field();\n<s-field-label [field]=\"_field\"></s-field-label>\n\n@if (_field.verticalAlignment) {\n <div class=\"ui-g\">\n @for (option of _field.options; let i = $index; track i) {\n <div class=\"ui-g-12\">\n <ng-container\n [ngTemplateOutlet]=\"radioButton\"\n [ngTemplateOutletContext]=\"{ option: option, index: i }\"\n >\n </ng-container>\n </div>\n }\n @if (_field.showClear && _field.required && !_field.required() && !formControl().disabled) {\n <s-button\n [label]=\"_field.clearLabel || 'Clear selection'\"\n (clicked)=\"onClear()\"\n priority=\"link\"\n >\n </s-button>\n }\n </div>\n} @else {\n <div class=\"ui-g horizontal-radio-buttons-container\">\n @for (option of _field.options; let i = $index; track i) {\n <ng-container\n [ngTemplateOutlet]=\"radioButton\"\n [ngTemplateOutletContext]=\"{ option: option, index: i }\"\n >\n </ng-container>\n }\n </div>\n @if (_field.showClear && _field.required && !_field.required() && !formControl().disabled) {\n <s-button\n class=\"horizontal-clear-option\"\n [label]=\"_field.clearLabel || 'Clear selection'\"\n (clicked)=\"onClear()\"\n priority=\"link\"\n >\n </s-button>\n }\n}\n\n<ng-template\n #radioButton\n let-option=\"option\"\n let-i=\"index\"\n>\n @let inputId = (_field.id || _field.name) + '-' + i;\n <s-radiobutton\n class=\"radio-button-item\"\n [name]=\"_field.name\"\n [value]=\"option.value\"\n [formControl]=\"formControl()\"\n [inputId]=\"inputId\"\n [sTooltip]=\"_field.tooltip\"\n [label]=\"option.label\"\n (focusedInput)=\"onFocus.next($event)\"\n (inputFocusLost)=\"_field.onBlur ? _field.onBlur($event) : null\"\n />\n</ng-template>\n\n", styles: ["s-button.horizontal-clear-option button{width:min-content!important}.horizontal-radio-buttons-container{gap:20px 40px;.radio-button-item{margin:0}}\n"], dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "menuAriaLabel", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "component", type: RadioButtonComponent, selector: "s-radiobutton", inputs: ["buttonDisabled", "label", "name", "value", "inputId"], outputs: ["buttonDisabledChange", "valueChange", "focusedInput", "inputFocusLost"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
41
41
|
}
|
|
42
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RadioButtonFieldComponent, decorators: [{
|
|
43
43
|
type: Component,
|
|
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
54
54
|
}], onFocus: [{
|
|
55
55
|
type: Output
|
|
56
56
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9keW5hbWljLWZvcm0vc3JjL2xpYi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBZSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN2RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBMkJuRCxNQUFNLE9BQU8seUJBQXlCO0lBQ2xDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUEwQixDQUFDO0lBQ2pELFdBQVcsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFlLENBQUM7SUFHckMsT0FBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBR2hELE9BQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUUvQyxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUV0QyxRQUFRO1FBQ1gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUU7WUFDOUUsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2hCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekIsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ3ZFLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNoQixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTSxPQUFPO1FBQ1YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQy9CLENBQUM7d0dBakNRLHlCQUF5Qjs0RkFBekIseUJBQXlCLHlZQ3hDdEMsd2lFQStEQSwrTUQ5Q1EsbUJBQW1CLGtHQUNuQixlQUFlLHVVQUNmLG9CQUFvQiw4TUFDcEIsbUJBQW1CLDBUQUNuQixnQkFBZ0IsNE5BQ2hCLGdCQUFnQjs7NEZBa0JYLHlCQUF5QjtrQkExQnJDLFNBQVM7aUNBQ00sSUFBSSxXQUNQO3dCQUNMLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7cUJBQ25CLGlCQWVjLGlCQUFpQixDQUFDLElBQUk7OEJBTzlCLE9BQU87c0JBRGIsTUFBTTtnQkFJQSxPQUFPO3NCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeCAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGlucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgUmFkaW9CdXR0b25GaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9yYWRpby1idXR0b24tZmllbGQnO1xuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vYmFzZS1maWVsZC1jb21wb25lbnQnO1xuaW1wb3J0IHsgRmllbGRMYWJlbENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZmllbGQtbGFiZWwvZmllbGQtbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IFJhZGlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9yYWRpby1idXR0b24nO1xuaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBGaWVsZExhYmVsQ29tcG9uZW50LFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIFJhZGlvQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUb29sdGlwRGlyZWN0aXZlLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICdyYWRpby1idXR0b24tZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICBzLWJ1dHRvbi5ob3Jpem9udGFsLWNsZWFyLW9wdGlvbiBidXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBtaW4tY29udGVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmhvcml6b250YWwtcmFkaW8tYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGdhcDogMjBweCA0MHB4O1xuICAgICAgICAgICAgICAgIC5yYWRpby1idXR0b24taXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIGAsXG4gICAgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0J1dHRvbkZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB7XG4gICAgZmllbGQgPSBpbnB1dC5yZXF1aXJlZDxSYWRpb0J1dHRvbkZpZWxkQ29uZmlnPigpO1xuICAgIGZvcm1Db250cm9sID0gaW5wdXQucmVxdWlyZWQ8Rm9ybUNvbnRyb2w+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25DbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25Gb2N1czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwcml2YXRlIF9uZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmllbGQgPSB0aGlzLmZpZWxkKCk7XG4gICAgICAgIHRoaXMub25Gb2N1cy5waXBlKHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGZpZWxkLm9uRm9jdXMpIHtcbiAgICAgICAgICAgICAgICBmaWVsZC5vbkZvY3VzKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub25DbGljay5waXBlKHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoZmllbGQub25DbGljaykge1xuICAgICAgICAgICAgICAgIGZpZWxkLm9uQ2xpY2soZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2woKS5yZXNldCgpO1xuICAgIH1cbn1cblxuIiwiQGxldCBfZmllbGQgPSBmaWVsZCgpO1xuPHMtZmllbGQtbGFiZWwgW2ZpZWxkXT1cIl9maWVsZFwiPjwvcy1maWVsZC1sYWJlbD5cblxuQGlmIChfZmllbGQudmVydGljYWxBbGlnbm1lbnQpIHtcbiAgICA8ZGl2IGNsYXNzPVwidWktZ1wiPlxuICAgICAgICBAZm9yIChvcHRpb24gb2YgX2ZpZWxkLm9wdGlvbnM7IGxldCBpID0gJGluZGV4OyB0cmFjayBpKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWktZy0xMlwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicmFkaW9CdXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBvcHRpb246IG9wdGlvbiwgaW5kZXg6IGkgfVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChfZmllbGQuc2hvd0NsZWFyICYmIF9maWVsZC5yZXF1aXJlZCAmJiAhX2ZpZWxkLnJlcXVpcmVkKCkgJiYgIWZvcm1Db250cm9sKCkuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJfZmllbGQuY2xlYXJMYWJlbCB8fCAnQ2xlYXIgc2VsZWN0aW9uJ1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwib25DbGVhcigpXCJcbiAgICAgICAgICAgICAgICBwcmlvcml0eT1cImxpbmtcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9zLWJ1dHRvbj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxufSBAZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cInVpLWcgaG9yaXpvbnRhbC1yYWRpby1idXR0b25zLWNvbnRhaW5lclwiPlxuICAgICAgICBAZm9yIChvcHRpb24gb2YgX2ZpZWxkLm9wdGlvbnM7IGxldCBpID0gJGluZGV4OyB0cmFjayBpKSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicmFkaW9CdXR0b25cIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG9wdGlvbjogb3B0aW9uLCBpbmRleDogaSB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG4gICAgQGlmIChfZmllbGQuc2hvd0NsZWFyICYmIF9maWVsZC5yZXF1aXJlZCAmJiAhX2ZpZWxkLnJlcXVpcmVkKCkgJiYgIWZvcm1Db250cm9sKCkuZGlzYWJsZWQpIHtcbiAgICAgICAgPHMtYnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cImhvcml6b250YWwtY2xlYXItb3B0aW9uXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJfZmllbGQuY2xlYXJMYWJlbCB8fCAnQ2xlYXIgc2VsZWN0aW9uJ1wiXG4gICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNsZWFyKClcIlxuICAgICAgICAgICAgcHJpb3JpdHk9XCJsaW5rXCJcbiAgICAgICAgPlxuICAgICAgICA8L3MtYnV0dG9uPlxuICAgIH1cbn1cblxuPG5nLXRlbXBsYXRlXG4gICAgI3JhZGlvQnV0dG9uXG4gICAgbGV0LW9wdGlvbj1cIm9wdGlvblwiXG4gICAgbGV0LWk9XCJpbmRleFwiXG4+XG4gICAgQGxldCBpbnB1dElkID0gKF9maWVsZC5pZCB8fCBfZmllbGQubmFtZSkgKyAnLScgKyBpO1xuICAgIDxzLXJhZGlvYnV0dG9uXG4gICAgICAgIGNsYXNzPVwicmFkaW8tYnV0dG9uLWl0ZW1cIlxuICAgICAgICBbbmFtZV09XCJfZmllbGQubmFtZVwiXG4gICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXG4gICAgICAgIFtpbnB1dElkXT1cImlucHV0SWRcIlxuICAgICAgICBbc1Rvb2x0aXBdPVwiX2ZpZWxkLnRvb2x0aXBcIlxuICAgICAgICBbbGFiZWxdPVwib3B0aW9uLmxhYmVsXCJcbiAgICAgICAgKGZvY3VzZWRJbnB1dCk9XCJvbkZvY3VzLm5leHQoJGV2ZW50KVwiXG4gICAgICAgIChpbnB1dEZvY3VzTG9zdCk9XCJfZmllbGQub25CbHVyID8gX2ZpZWxkLm9uQmx1cigkZXZlbnQpIDogbnVsbFwiXG4gICAgLz5cbjwvbmctdGVtcGxhdGU+XG5cbiJdfQ==
|
|
@@ -64,7 +64,7 @@ export class TextFieldComponent {
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextFieldComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
67
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TextFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@let _field = field();\n@if (inputElement) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputElement\"\n />\n}\n\n@if (_field.mask) {\n <p-inputMask\n #inputRef\n [type]=\"_field.inputType || 'text'\"\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [mask]=\"fieldUtils.getFieldPropertyMask(_field.mask)\"\n [characterPattern]=\"fieldUtils.getFieldProperty(_field.characterPattern ?? '[A-Za-z]')\"\n [unmask]=\"fieldUtils.getFieldProperty(_field.unmask ?? false)\"\n [placeholder]=\"_field.placeholder ?? ''\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"onFocus.next($event)\"\n (onComplete)=\"onComplete.next($event)\"\n (onInput)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n [readonly]=\"_field.readonly ? _field.readonly() : false\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n >\n </p-inputMask>\n} @else {\n <div class=\"text-field\">\n @if (_field.leftAddon) {\n <div class=\"button-left\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.leftAddon }\"></ng-container>\n </div>\n }\n\n <ng-container *ngTemplateOutlet=\"_field.keyFilter ? inputKeyFilter : input\"></ng-container>\n\n @if (_field.rightAddon) {\n <div class=\"button-right\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.rightAddon }\"></ng-container>\n </div>\n }\n </div>\n}\n<ng-template #input>\n <input\n #inputRef\n [type]=\"_field.inputType || 'text'\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [maxLength]=\"_field.maxLength ?? 9999999\"\n pInputText\n class=\"input-text\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n [ngStyle]=\"_field.style\"\n [readOnly]=\"_field.readonly ? _field.readonly() : false\"\n />\n</ng-template>\n<ng-template #inputKeyFilter>\n <input\n #inputText\n [type]=\"_field.inputType || 'text'\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [maxLength]=\"_field.maxLength ?? 9999999\"\n pInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n class=\"input-text\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [pKeyFilter]=\"_field.keyFilter\"\n [formControl]=\"formControl()\"\n [ngStyle]=\"_field.style\"\n [readOnly]=\"_field.readonly ? _field.readonly() : false\"\n />\n</ng-template>\n\n<ng-template\n #addonRender\n let-button=\"button\"\n>\n <s-button\n [label]=\"button.label\"\n [priority]=\"button.priority ?? 'default'\"\n [iconClass]=\"button.icon\"\n [disabled]=\"fieldUtils.fieldPropertyIsDisabled(button.leftAddon)\"\n [auxiliary]=\"false\"\n (clicked)=\"button.callback?.()\"\n />\n</ng-template>\n", styles: ["s-text-field.ng-dirty.ng-invalid .p-inputtext{border-color:#c13018}s-text-field.ng-dirty.ng-invalid .p-inputtext:hover{border-color:highlight(#c13018)}.text-field{display:flex;width:100%}.text-field .input-text{width:auto;flex-grow:1}.text-field:has(.button-left) .input-text{border-top-left-radius:0;border-bottom-left-radius:0}.text-field:has(.button-left) .button-left button{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.text-field:has(input:focus) .button-left button{border-color:#428bca!important}.text-field:has(input.ng-invalid.ng-dirty) .button-left button{border-color:#c13018!important}.text-field:has(.button-right) .input-text{border-top-right-radius:0;border-bottom-right-radius:0}.text-field:has(.button-right) .button-right button{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.text-field:has(input:focus) .button-right button{border-color:#428bca!important}.text-field:has(input.ng-invalid.ng-dirty) .button-right button{border-color:#c13018!important}\n"], dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "ngmodule", type: InputMaskModule }, { kind: "component", type: i1.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "variant", "ariaLabel", "ariaLabelledBy", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autofocus", "autoFocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: KeyFilterModule }, { kind: "directive", type: i4.KeyFilter, selector: "[pKeyFilter]", inputs: ["pValidateOnly", "pKeyFilter"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
67
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TextFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@let _field = field();\n@if (inputElement) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputElement\"\n />\n}\n\n@if (_field.mask) {\n <p-inputMask\n #inputRef\n [type]=\"_field.inputType || 'text'\"\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [mask]=\"fieldUtils.getFieldPropertyMask(_field.mask)\"\n [characterPattern]=\"fieldUtils.getFieldProperty(_field.characterPattern ?? '[A-Za-z]')\"\n [unmask]=\"fieldUtils.getFieldProperty(_field.unmask ?? false)\"\n [placeholder]=\"_field.placeholder ?? ''\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"onFocus.next($event)\"\n (onComplete)=\"onComplete.next($event)\"\n (onInput)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n [readonly]=\"_field.readonly ? _field.readonly() : false\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n >\n </p-inputMask>\n} @else {\n <div class=\"text-field\">\n @if (_field.leftAddon) {\n <div class=\"button-left\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.leftAddon }\"></ng-container>\n </div>\n }\n\n <ng-container *ngTemplateOutlet=\"_field.keyFilter ? inputKeyFilter : input\"></ng-container>\n\n @if (_field.rightAddon) {\n <div class=\"button-right\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.rightAddon }\"></ng-container>\n </div>\n }\n </div>\n}\n<ng-template #input>\n <input\n #inputRef\n [type]=\"_field.inputType || 'text'\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [maxLength]=\"_field.maxLength ?? 9999999\"\n pInputText\n class=\"input-text\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n [ngStyle]=\"_field.style\"\n [readOnly]=\"_field.readonly ? _field.readonly() : false\"\n />\n</ng-template>\n<ng-template #inputKeyFilter>\n <input\n #inputText\n [type]=\"_field.inputType || 'text'\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [maxLength]=\"_field.maxLength ?? 9999999\"\n pInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n class=\"input-text\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [pKeyFilter]=\"_field.keyFilter\"\n [formControl]=\"formControl()\"\n [ngStyle]=\"_field.style\"\n [readOnly]=\"_field.readonly ? _field.readonly() : false\"\n />\n</ng-template>\n\n<ng-template\n #addonRender\n let-button=\"button\"\n>\n <s-button\n [label]=\"button.label\"\n [priority]=\"button.priority ?? 'default'\"\n [iconClass]=\"button.icon\"\n [disabled]=\"fieldUtils.fieldPropertyIsDisabled(button.leftAddon)\"\n [auxiliary]=\"false\"\n (clicked)=\"button.callback?.()\"\n />\n</ng-template>\n", styles: ["s-text-field.ng-dirty.ng-invalid .p-inputtext{border-color:#c13018}s-text-field.ng-dirty.ng-invalid .p-inputtext:hover{border-color:highlight(#c13018)}.text-field{display:flex;width:100%}.text-field .input-text{width:auto;flex-grow:1}.text-field:has(.button-left) .input-text{border-top-left-radius:0;border-bottom-left-radius:0}.text-field:has(.button-left) .button-left button{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.text-field:has(input:focus) .button-left button{border-color:#428bca!important}.text-field:has(input.ng-invalid.ng-dirty) .button-left button{border-color:#c13018!important}.text-field:has(.button-right) .input-text{border-top-right-radius:0;border-bottom-right-radius:0}.text-field:has(.button-right) .button-right button{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.text-field:has(input:focus) .button-right button{border-color:#428bca!important}.text-field:has(input.ng-invalid.ng-dirty) .button-right button{border-color:#c13018!important}\n"], dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "ngmodule", type: InputMaskModule }, { kind: "component", type: i1.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "variant", "ariaLabel", "ariaLabelledBy", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autofocus", "autoFocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "menuAriaLabel", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: KeyFilterModule }, { kind: "directive", type: i4.KeyFilter, selector: "[pKeyFilter]", inputs: ["pValidateOnly", "pKeyFilter"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
68
68
|
}
|
|
69
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextFieldComponent, decorators: [{
|
|
70
70
|
type: Component,
|
|
@@ -90,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
90
90
|
type: ViewChild,
|
|
91
91
|
args: ['inputRef']
|
|
92
92
|
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3RleHQvdGV4dC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3RleHQvdGV4dC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3REFBd0Q7QUFDeEQsT0FBTyxFQUdILFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBR25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDNUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FB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QUNoQixTQUFTOzs0RkFHSixrQkFBa0I7a0JBbEI5QixTQUFTO29DQUdTLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQO3dCQUNMLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixPQUFPO3dCQUNQLGVBQWU7d0JBQ2YsT0FBTzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLFNBQVM7cUJBQ1o7c0ZBU00sT0FBTztzQkFEYixNQUFNO2dCQUlBLE9BQU87c0JBRGIsTUFBTTtnQkFJQSxVQUFVO3NCQURoQixNQUFNO2dCQUlBLFFBQVE7c0JBRGQsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXggKi9cbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBJbnB1dE1hc2ssIElucHV0TWFza01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRtYXNrJztcbmltcG9ydCB7IEZvcm1GaWVsZFV0aWxzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Zvcm0tZmllbGQtdXRpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBUZXh0RmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9ucy9maWVsZHMvdGV4dC1maWVsZCc7XG5pbXBvcnQgeyBCYXNlRmllbGRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi9iYXNlLWZpZWxkLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9maWVsZC1sYWJlbC9maWVsZC1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1N0eWxlLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEtleUZpbHRlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcva2V5ZmlsdGVyJztcbmltcG9ydCB7IElucHV0VGV4dCB9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICd0ZXh0LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90ZXh0LWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRmllbGRMYWJlbENvbXBvbmVudCxcbiAgICAgICAgSW5wdXRNYXNrTW9kdWxlLFxuICAgICAgICBUb29sdGlwTW9kdWxlLFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIEtleUZpbHRlck1vZHVsZSxcbiAgICAgICAgTmdTdHlsZSxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgSW5wdXRUZXh0LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRleHRGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBCYXNlRmllbGRDb21wb25lbnRDb25maWcge1xuICAgIGZpZWxkID0gaW5wdXQucmVxdWlyZWQ8VGV4dEZpZWxkQ29uZmlnPigpO1xuICAgIGZvcm1Db250cm9sID0gaW5wdXQucmVxdWlyZWQ8Rm9ybUNvbnRyb2w+KCk7XG5cbiAgICBmaWVsZFV0aWxzID0gaW5qZWN0KEZvcm1GaWVsZFV0aWxzU2VydmljZSk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25JbnB1dDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25Gb2N1czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25Db21wbGV0ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dFJlZicpXG4gICAgcHVibGljIGlucHV0UmVmOiBFbGVtZW50UmVmIHwgSW5wdXRNYXNrIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZmllbGRVdGlscy5zd2l0Y2hFbXB0eVN0cmluZ1RvTnVsbCh0aGlzLmZvcm1Db250cm9sKCksIHRoaXMubmdVbnN1YnNjcmliZSk7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZCgpO1xuICAgICAgICB0aGlzLm9uRm9jdXMucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGZpZWxkLm9uRm9jdXMpIHtcbiAgICAgICAgICAgICAgICBmaWVsZC5vbkZvY3VzKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub25JbnB1dC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChmaWVsZC5vbklucHV0KSB7XG4gICAgICAgICAgICAgICAgZmllbGQub25JbnB1dChldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9uQ29tcGxldGUucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoZmllbGQub25Db21wbGV0ZSkge1xuICAgICAgICAgICAgICAgIGZpZWxkLm9uQ29tcGxldGUoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGdldCBpbnB1dEVsZW1lbnQoKSB7XG4gICAgICAgIGlmICh0aGlzLmlucHV0UmVmIGluc3RhbmNlb2YgSW5wdXRNYXNrKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pbnB1dFJlZj8uaW5wdXRWaWV3Q2hpbGQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiQGxldCBfZmllbGQgPSBmaWVsZCgpO1xuQGlmIChpbnB1dEVsZW1lbnQpIHtcbiAgICA8cy1maWVsZC1sYWJlbFxuICAgICAgICBbZmllbGRdPVwiX2ZpZWxkXCJcbiAgICAgICAgW2ZpZWxkQ29udGFpbmVyUmVmXT1cImlucHV0RWxlbWVudFwiXG4gICAgLz5cbn1cblxuQGlmIChfZmllbGQubWFzaykge1xuICAgIDxwLWlucHV0TWFza1xuICAgICAgICAjaW5wdXRSZWZcbiAgICAgICAgW3R5cGVdPVwiX2ZpZWxkLmlucHV0VHlwZSB8fCAndGV4dCdcIlxuICAgICAgICBbaW5wdXRJZF09XCJfZmllbGQuaWQgfHwgX2ZpZWxkLm5hbWVcIlxuICAgICAgICBbbmFtZV09XCJfZmllbGQubmFtZVwiXG4gICAgICAgIFttYXNrXT1cImZpZWxkVXRpbHMuZ2V0RmllbGRQcm9wZXJ0eU1hc2soX2ZpZWxkLm1hc2spXCJcbiAgICAgICAgW2NoYXJhY3RlclBhdHRlcm5dPVwiZmllbGRVdGlscy5nZXRGaWVsZFByb3BlcnR5KF9maWVsZC5jaGFyYWN0ZXJQYXR0ZXJuID8/ICdbQS1aYS16XScpXCJcbiAgICAgICAgW3VubWFza109XCJmaWVsZFV0aWxzLmdldEZpZWxkUHJvcGVydHkoX2ZpZWxkLnVubWFzayA/PyBmYWxzZSlcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiX2ZpZWxkLnBsYWNlaG9sZGVyID8/ICcnXCJcbiAgICAgICAgc2xvdENoYXI9XCJfXCJcbiAgICAgICAgW3NUb29sdGlwXT1cIl9maWVsZC50b29sdGlwXCJcbiAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgW3Nob3dEZWxheV09XCI1MDBcIlxuICAgICAgICBzdHlsZUNsYXNzPVwibW91c2V0cmFwXCJcbiAgICAgICAgKG9uQmx1cik9XCJfZmllbGQub25CbHVyID8gX2ZpZWxkLm9uQmx1cigkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgIChvbkZvY3VzKT1cIm9uRm9jdXMubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgKG9uQ29tcGxldGUpPVwib25Db21wbGV0ZS5uZXh0KCRldmVudClcIlxuICAgICAgICAob25JbnB1dCk9XCJvbklucHV0Lm5leHQoJGV2ZW50KVwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbCgpXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cIl9maWVsZC5yZWFkb25seSA/IF9maWVsZC5yZWFkb25seSgpIDogZmFsc2VcIlxuICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIl9maWVsZC5icm93c2VyQXV0b2NvbXBsZXRlID8gJ29uJyA6ICdvZmYnXCJcbiAgICA+XG4gICAgPC9wLWlucHV0TWFzaz5cbn0gQGVsc2Uge1xuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWZpZWxkXCI+XG4gICAgICAgIEBpZiAoX2ZpZWxkLmxlZnRBZGRvbikge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFkZG9uUmVuZGVyOyBjb250ZXh0OiB7IGJ1dHRvbjogX2ZpZWxkLmxlZnRBZGRvbiB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJfZmllbGQua2V5RmlsdGVyID8gaW5wdXRLZXlGaWx0ZXIgOiBpbnB1dFwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIEBpZiAoX2ZpZWxkLnJpZ2h0QWRkb24pIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tcmlnaHRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWRkb25SZW5kZXI7IGNvbnRleHQ6IHsgYnV0dG9uOiBfZmllbGQucmlnaHRBZGRvbiB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxufVxuPG5nLXRlbXBsYXRlICNpbnB1dD5cbiAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0UmVmXG4gICAgICAgIFt0eXBlXT1cIl9maWVsZC5pbnB1dFR5cGUgfHwgJ3RleHQnXCJcbiAgICAgICAgW2lkXT1cIl9maWVsZC5pZCB8fCBfZmllbGQubmFtZVwiXG4gICAgICAgIFtuYW1lXT1cIl9maWVsZC5uYW1lXCJcbiAgICAgICAgW3NUb29sdGlwXT1cIl9maWVsZC50b29sdGlwXCJcbiAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIl9maWVsZC5wbGFjZWhvbGRlciA/PyAnJ1wiXG4gICAgICAgIFtzaG93RGVsYXldPVwiNTAwXCJcbiAgICAgICAgW21heExlbmd0aF09XCJfZmllbGQubWF4TGVuZ3RoID8/IDk5OTk5OTlcIlxuICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgIGNsYXNzPVwiaW5wdXQtdGV4dFwiXG4gICAgICAgIFthdXRvY29tcGxldGVdPVwiX2ZpZWxkLmJyb3dzZXJBdXRvY29tcGxldGUgPyAnb24nIDogJ29mZidcIlxuICAgICAgICBbbmdDbGFzc109XCInbW91c2V0cmFwJ1wiXG4gICAgICAgIChibHVyKT1cIl9maWVsZC5vbkJsdXIgPyBfZmllbGQub25CbHVyKCRldmVudCkgOiBudWxsXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sKClcIlxuICAgICAgICBbbmdTdHlsZV09XCJfZmllbGQuc3R5bGVcIlxuICAgICAgICBbcmVhZE9ubHldPVwiX2ZpZWxkLnJlYWRvbmx5ID8gX2ZpZWxkLnJlYWRvbmx5KCkgOiBmYWxzZVwiXG4gICAgLz5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2lucHV0S2V5RmlsdGVyPlxuICAgIDxpbnB1dFxuICAgICAgICAjaW5wdXRUZXh0XG4gICAgICAgIFt0eXBlXT1cIl9maWVsZC5pbnB1dFR5cGUgfHwgJ3RleHQnXCJcbiAgICAgICAgW2lkXT1cIl9maWVsZC5pZCB8fCBfZmllbGQubmFtZVwiXG4gICAgICAgIFtuYW1lXT1cIl9maWVsZC5uYW1lXCJcbiAgICAgICAgW3NUb29sdGlwXT1cIl9maWVsZC50b29sdGlwXCJcbiAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIl9maWVsZC5wbGFjZWhvbGRlciA/PyAnJ1wiXG4gICAgICAgIFtzaG93RGVsYXldPVwiNTAwXCJcbiAgICAgICAgW21heExlbmd0aF09XCJfZmllbGQubWF4TGVuZ3RoID8/IDk5OTk5OTlcIlxuICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgIFthdXRvY29tcGxldGVdPVwiX2ZpZWxkLmJyb3dzZXJBdXRvY29tcGxldGUgPyAnb24nIDogJ29mZidcIlxuICAgICAgICBjbGFzcz1cImlucHV0LXRleHRcIlxuICAgICAgICBbbmdDbGFzc109XCInbW91c2V0cmFwJ1wiXG4gICAgICAgIChibHVyKT1cIl9maWVsZC5vbkJsdXIgPyBfZmllbGQub25CbHVyKCRldmVudCkgOiBudWxsXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgW3BLZXlGaWx0ZXJdPVwiX2ZpZWxkLmtleUZpbHRlclwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbCgpXCJcbiAgICAgICAgW25nU3R5bGVdPVwiX2ZpZWxkLnN0eWxlXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cIl9maWVsZC5yZWFkb25seSA/IF9maWVsZC5yZWFkb25seSgpIDogZmFsc2VcIlxuICAgIC8+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgICAjYWRkb25SZW5kZXJcbiAgICBsZXQtYnV0dG9uPVwiYnV0dG9uXCJcbj5cbiAgICA8cy1idXR0b25cbiAgICAgICAgW2xhYmVsXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgIFtwcmlvcml0eV09XCJidXR0b24ucHJpb3JpdHkgPz8gJ2RlZmF1bHQnXCJcbiAgICAgICAgW2ljb25DbGFzc109XCJidXR0b24uaWNvblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJmaWVsZFV0aWxzLmZpZWxkUHJvcGVydHlJc0Rpc2FibGVkKGJ1dHRvbi5sZWZ0QWRkb24pXCJcbiAgICAgICAgW2F1eGlsaWFyeV09XCJmYWxzZVwiXG4gICAgICAgIChjbGlja2VkKT1cImJ1dHRvbi5jYWxsYmFjaz8uKClcIlxuICAgIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3RleHQvdGV4dC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3RleHQvdGV4dC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3REFBd0Q7QUFDeEQsT0FBTyxFQUdILFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBR25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDNUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FB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QUNoQixTQUFTOzs0RkFHSixrQkFBa0I7a0JBbEI5QixTQUFTO29DQUdTLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQO3dCQUNMLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixPQUFPO3dCQUNQLGVBQWU7d0JBQ2YsT0FBTzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLFNBQVM7cUJBQ1o7c0ZBU00sT0FBTztzQkFEYixNQUFNO2dCQUlBLE9BQU87c0JBRGIsTUFBTTtnQkFJQSxVQUFVO3NCQURoQixNQUFNO2dCQUlBLFFBQVE7c0JBRGQsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXggKi9cbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBJbnB1dE1hc2ssIElucHV0TWFza01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRtYXNrJztcbmltcG9ydCB7IEZvcm1GaWVsZFV0aWxzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Zvcm0tZmllbGQtdXRpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBUZXh0RmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9ucy9maWVsZHMvdGV4dC1maWVsZCc7XG5pbXBvcnQgeyBCYXNlRmllbGRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi9iYXNlLWZpZWxkLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9maWVsZC1sYWJlbC9maWVsZC1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1N0eWxlLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEtleUZpbHRlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcva2V5ZmlsdGVyJztcbmltcG9ydCB7IElucHV0VGV4dCB9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICd0ZXh0LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90ZXh0LWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRmllbGRMYWJlbENvbXBvbmVudCxcbiAgICAgICAgSW5wdXRNYXNrTW9kdWxlLFxuICAgICAgICBUb29sdGlwTW9kdWxlLFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIEtleUZpbHRlck1vZHVsZSxcbiAgICAgICAgTmdTdHlsZSxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgSW5wdXRUZXh0LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRleHRGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBCYXNlRmllbGRDb21wb25lbnRDb25maWcge1xuICAgIGZpZWxkID0gaW5wdXQucmVxdWlyZWQ8VGV4dEZpZWxkQ29uZmlnPigpO1xuICAgIGZvcm1Db250cm9sID0gaW5wdXQucmVxdWlyZWQ8Rm9ybUNvbnRyb2w+KCk7XG5cbiAgICBmaWVsZFV0aWxzID0gaW5qZWN0KEZvcm1GaWVsZFV0aWxzU2VydmljZSk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25JbnB1dDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25Gb2N1czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25Db21wbGV0ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dFJlZicpXG4gICAgcHVibGljIGlucHV0UmVmOiBFbGVtZW50UmVmIHwgSW5wdXRNYXNrIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZmllbGRVdGlscy5zd2l0Y2hFbXB0eVN0cmluZ1RvTnVsbCh0aGlzLmZvcm1Db250cm9sKCksIHRoaXMubmdVbnN1YnNjcmliZSk7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZCgpO1xuICAgICAgICB0aGlzLm9uRm9jdXMucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGZpZWxkLm9uRm9jdXMpIHtcbiAgICAgICAgICAgICAgICBmaWVsZC5vbkZvY3VzKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub25JbnB1dC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChmaWVsZC5vbklucHV0KSB7XG4gICAgICAgICAgICAgICAgZmllbGQub25JbnB1dChldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9uQ29tcGxldGUucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoZmllbGQub25Db21wbGV0ZSkge1xuICAgICAgICAgICAgICAgIGZpZWxkLm9uQ29tcGxldGUoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGdldCBpbnB1dEVsZW1lbnQoKSB7XG4gICAgICAgIGlmICh0aGlzLmlucHV0UmVmIGluc3RhbmNlb2YgSW5wdXRNYXNrKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pbnB1dFJlZj8uaW5wdXRWaWV3Q2hpbGQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiQGxldCBfZmllbGQgPSBmaWVsZCgpO1xuQGlmIChpbnB1dEVsZW1lbnQpIHtcbiAgICA8cy1maWVsZC1sYWJlbFxuICAgICAgICBbZmllbGRdPVwiX2ZpZWxkXCJcbiAgICAgICAgW2ZpZWxkQ29udGFpbmVyUmVmXT1cImlucHV0RWxlbWVudFwiXG4gICAgLz5cbn1cblxuQGlmIChfZmllbGQubWFzaykge1xuICAgIDxwLWlucHV0TWFza1xuICAgICAgICAjaW5wdXRSZWZcbiAgICAgICAgW3R5cGVdPVwiX2ZpZWxkLmlucHV0VHlwZSB8fCAndGV4dCdcIlxuICAgICAgICBbaW5wdXRJZF09XCJfZmllbGQuaWQgfHwgX2ZpZWxkLm5hbWVcIlxuICAgICAgICBbbmFtZV09XCJfZmllbGQubmFtZVwiXG4gICAgICAgIFttYXNrXT1cImZpZWxkVXRpbHMuZ2V0RmllbGRQcm9wZXJ0eU1hc2soX2ZpZWxkLm1hc2spXCJcbiAgICAgICAgW2NoYXJhY3RlclBhdHRlcm5dPVwiZmllbGRVdGlscy5nZXRGaWVsZFByb3BlcnR5KF9maWVsZC5jaGFyYWN0ZXJQYXR0ZXJuID8/ICdbQS1aYS16XScpXCJcbiAgICAgICAgW3VubWFza109XCJmaWVsZFV0aWxzLmdldEZpZWxkUHJvcGVydHkoX2ZpZWxkLnVubWFzayA/PyBmYWxzZSlcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiX2ZpZWxkLnBsYWNlaG9sZGVyID8/ICcnXCJcbiAgICAgICAgc2xvdENoYXI9XCJfXCJcbiAgICAgICAgW3NUb29sdGlwXT1cIl9maWVsZC50b29sdGlwXCJcbiAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgW3Nob3dEZWxheV09XCI1MDBcIlxuICAgICAgICBzdHlsZUNsYXNzPVwibW91c2V0cmFwXCJcbiAgICAgICAgKG9uQmx1cik9XCJfZmllbGQub25CbHVyID8gX2ZpZWxkLm9uQmx1cigkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgIChvbkZvY3VzKT1cIm9uRm9jdXMubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgKG9uQ29tcGxldGUpPVwib25Db21wbGV0ZS5uZXh0KCRldmVudClcIlxuICAgICAgICAob25JbnB1dCk9XCJvbklucHV0Lm5leHQoJGV2ZW50KVwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbCgpXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cIl9maWVsZC5yZWFkb25seSA/IF9maWVsZC5yZWFkb25seSgpIDogZmFsc2VcIlxuICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIl9maWVsZC5icm93c2VyQXV0b2NvbXBsZXRlID8gJ29uJyA6ICdvZmYnXCJcbiAgICA+XG4gICAgPC9wLWlucHV0TWFzaz5cbn0gQGVsc2Uge1xuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWZpZWxkXCI+XG4gICAgICAgIEBpZiAoX2ZpZWxkLmxlZnRBZGRvbikge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFkZG9uUmVuZGVyOyBjb250ZXh0OiB7IGJ1dHRvbjogX2ZpZWxkLmxlZnRBZGRvbiB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJfZmllbGQua2V5RmlsdGVyID8gaW5wdXRLZXlGaWx0ZXIgOiBpbnB1dFwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIEBpZiAoX2ZpZWxkLnJpZ2h0QWRkb24pIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tcmlnaHRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWRkb25SZW5kZXI7IGNvbnRleHQ6IHsgYnV0dG9uOiBfZmllbGQucmlnaHRBZGRvbiB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxufVxuPG5nLXRlbXBsYXRlICNpbnB1dD5cbiAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0UmVmXG4gICAgICAgIFt0eXBlXT1cIl9maWVsZC5pbnB1dFR5cGUgfHwgJ3RleHQnXCJcbiAgICAgICAgW2lkXT1cIl9maWVsZC5pZCB8fCBfZmllbGQubmFtZVwiXG4gICAgICAgIFtuYW1lXT1cIl9maWVsZC5uYW1lXCJcbiAgICAgICAgW3NUb29sdGlwXT1cIl9maWVsZC50b29sdGlwXCJcbiAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIl9maWVsZC5wbGFjZWhvbGRlciA/PyAnJ1wiXG4gICAgICAgIFtzaG93RGVsYXldPVwiNTAwXCJcbiAgICAgICAgW21heExlbmd0aF09XCJfZmllbGQubWF4TGVuZ3RoID8/IDk5OTk5OTlcIlxuICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgIGNsYXNzPVwiaW5wdXQtdGV4dFwiXG4gICAgICAgIFthdXRvY29tcGxldGVdPVwiX2ZpZWxkLmJyb3dzZXJBdXRvY29tcGxldGUgPyAnb24nIDogJ29mZidcIlxuICAgICAgICBbbmdDbGFzc109XCInbW91c2V0cmFwJ1wiXG4gICAgICAgIChibHVyKT1cIl9maWVsZC5vbkJsdXIgPyBfZmllbGQub25CbHVyKCRldmVudCkgOiBudWxsXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sKClcIlxuICAgICAgICBbbmdTdHlsZV09XCJfZmllbGQuc3R5bGVcIlxuICAgICAgICBbcmVhZE9ubHldPVwiX2ZpZWxkLnJlYWRvbmx5ID8gX2ZpZWxkLnJlYWRvbmx5KCkgOiBmYWxzZVwiXG4gICAgLz5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2lucHV0S2V5RmlsdGVyPlxuICAgIDxpbnB1dFxuICAgICAgICAjaW5wdXRUZXh0XG4gICAgICAgIFt0eXBlXT1cIl9maWVsZC5pbnB1dFR5cGUgfHwgJ3RleHQnXCJcbiAgICAgICAgW2lkXT1cIl9maWVsZC5pZCB8fCBfZmllbGQubmFtZVwiXG4gICAgICAgIFtuYW1lXT1cIl9maWVsZC5uYW1lXCJcbiAgICAgICAgW3NUb29sdGlwXT1cIl9maWVsZC50b29sdGlwXCJcbiAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIl9maWVsZC5wbGFjZWhvbGRlciA/PyAnJ1wiXG4gICAgICAgIFtzaG93RGVsYXldPVwiNTAwXCJcbiAgICAgICAgW21heExlbmd0aF09XCJfZmllbGQubWF4TGVuZ3RoID8/IDk5OTk5OTlcIlxuICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgIFthdXRvY29tcGxldGVdPVwiX2ZpZWxkLmJyb3dzZXJBdXRvY29tcGxldGUgPyAnb24nIDogJ29mZidcIlxuICAgICAgICBjbGFzcz1cImlucHV0LXRleHRcIlxuICAgICAgICBbbmdDbGFzc109XCInbW91c2V0cmFwJ1wiXG4gICAgICAgIChibHVyKT1cIl9maWVsZC5vbkJsdXIgPyBfZmllbGQub25CbHVyKCRldmVudCkgOiBudWxsXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgW3BLZXlGaWx0ZXJdPVwiX2ZpZWxkLmtleUZpbHRlclwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbCgpXCJcbiAgICAgICAgW25nU3R5bGVdPVwiX2ZpZWxkLnN0eWxlXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cIl9maWVsZC5yZWFkb25seSA/IF9maWVsZC5yZWFkb25seSgpIDogZmFsc2VcIlxuICAgIC8+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgICAjYWRkb25SZW5kZXJcbiAgICBsZXQtYnV0dG9uPVwiYnV0dG9uXCJcbj5cbiAgICA8cy1idXR0b25cbiAgICAgICAgW2xhYmVsXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgIFtwcmlvcml0eV09XCJidXR0b24ucHJpb3JpdHkgPz8gJ2RlZmF1bHQnXCJcbiAgICAgICAgW2ljb25DbGFzc109XCJidXR0b24uaWNvblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJmaWVsZFV0aWxzLmZpZWxkUHJvcGVydHlJc0Rpc2FibGVkKGJ1dHRvbi5sZWZ0QWRkb24pXCJcbiAgICAgICAgW2F1eGlsaWFyeV09XCJmYWxzZVwiXG4gICAgICAgIChjbGlja2VkKT1cImJ1dHRvbi5jYWxsYmFjaz8uKClcIlxuICAgIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -19,7 +19,7 @@ export class EmptyStateComponent {
|
|
|
19
19
|
primaryAction = new EventEmitter();
|
|
20
20
|
secondaryAction = new EventEmitter();
|
|
21
21
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EmptyStateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: EmptyStateComponent, selector: "s-empty-state", inputs: { id: "id", title: "title", iconClass: "iconClass", description: "description", showPrimaryAction: "showPrimaryAction", showSecondaryAction: "showSecondaryAction", primaryActionLabel: "primaryActionLabel", secondaryActionLabel: "secondaryActionLabel", primaryModel: "primaryModel" }, outputs: { primaryAction: "primaryAction", secondaryAction: "secondaryAction" }, ngImport: i0, template: "<div\n [id]=\"id\"\n class=\"empty-state\"\n>\n <div\n [id]=\"id + '-icon'\"\n class=\"icon\"\n >\n <i\n [attr.class]=\"iconClass ? iconClass : 'fa fa-cogs'\"\n aria-hidden=\"true\"\n ></i>\n </div>\n <div\n [id]=\"id + '-title'\"\n class=\"title\"\n >\n {{ title }}\n </div>\n\n @if (description) {\n <div\n [id]=\"id + '-description'\"\n class=\"description\"\n >\n <p>{{ description }}</p>\n </div>\n }\n @if (showPrimaryAction && primaryActionLabel) {\n <div\n [id]=\"id + '-actions'\"\n class=\"actions\"\n >\n <s-button\n [id]=\"id + '-primary-action'\"\n type=\"button\"\n [label]=\"primaryActionLabel\"\n [menuOptions]=\"primaryModel\"\n (clicked)=\"primaryAction.next()\"\n ></s-button>\n @if (showSecondaryAction && secondaryActionLabel) {\n <s-button\n [id]=\"id + '-secondary-action'\"\n id=\"secondaryAction\"\n type=\"button\"\n [label]=\"secondaryActionLabel\"\n priority=\"link\"\n (clicked)=\"secondaryAction.next()\"\n ></s-button>\n }\n </div>\n }\n</div>\n", styles: [".empty-state{width:100%;text-align:center}.empty-state .icon{color:#d8d8d8;font-size:6em}.empty-state .title{font-weight:700;margin-bottom:10px}.empty-state .description{margin-bottom:15px;color:#999;padding:0 20px;text-align:center}.empty-state .description p{margin:auto;max-width:400px;max-height:80px;overflow:hidden}.empty-state .actions{text-align:center;width:100%}\n"], dependencies: [{ kind: "component", type: i1.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }] });
|
|
22
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: EmptyStateComponent, selector: "s-empty-state", inputs: { id: "id", title: "title", iconClass: "iconClass", description: "description", showPrimaryAction: "showPrimaryAction", showSecondaryAction: "showSecondaryAction", primaryActionLabel: "primaryActionLabel", secondaryActionLabel: "secondaryActionLabel", primaryModel: "primaryModel" }, outputs: { primaryAction: "primaryAction", secondaryAction: "secondaryAction" }, ngImport: i0, template: "<div\n [id]=\"id\"\n class=\"empty-state\"\n>\n <div\n [id]=\"id + '-icon'\"\n class=\"icon\"\n >\n <i\n [attr.class]=\"iconClass ? iconClass : 'fa fa-cogs'\"\n aria-hidden=\"true\"\n ></i>\n </div>\n <div\n [id]=\"id + '-title'\"\n class=\"title\"\n >\n {{ title }}\n </div>\n\n @if (description) {\n <div\n [id]=\"id + '-description'\"\n class=\"description\"\n >\n <p>{{ description }}</p>\n </div>\n }\n @if (showPrimaryAction && primaryActionLabel) {\n <div\n [id]=\"id + '-actions'\"\n class=\"actions\"\n >\n <s-button\n [id]=\"id + '-primary-action'\"\n type=\"button\"\n [label]=\"primaryActionLabel\"\n [menuOptions]=\"primaryModel\"\n (clicked)=\"primaryAction.next()\"\n ></s-button>\n @if (showSecondaryAction && secondaryActionLabel) {\n <s-button\n [id]=\"id + '-secondary-action'\"\n id=\"secondaryAction\"\n type=\"button\"\n [label]=\"secondaryActionLabel\"\n priority=\"link\"\n (clicked)=\"secondaryAction.next()\"\n ></s-button>\n }\n </div>\n }\n</div>\n", styles: [".empty-state{width:100%;text-align:center}.empty-state .icon{color:#d8d8d8;font-size:6em}.empty-state .title{font-weight:700;margin-bottom:10px}.empty-state .description{margin-bottom:15px;color:#999;padding:0 20px;text-align:center}.empty-state .description p{margin:auto;max-width:400px;max-height:80px;overflow:hidden}.empty-state .actions{text-align:center;width:100%}\n"], dependencies: [{ kind: "component", type: i1.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "menuAriaLabel", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }] });
|
|
23
23
|
}
|
|
24
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EmptyStateComponent, decorators: [{
|
|
25
25
|
type: Component,
|
|
@@ -239,7 +239,7 @@ export class FilePickerComponent {
|
|
|
239
239
|
removalVersion: '20.0.0',
|
|
240
240
|
},
|
|
241
241
|
},
|
|
242
|
-
], viewQueries: [{ propertyName: "inputUpload", first: true, predicate: ["inputUpload"], descendants: true }, { propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true }], hostDirectives: [{ directive: i4.DeprecatedSelectorDirective }], ngImport: i0, template: "<div\n [id]=\"id\"\n class=\"file-picker\"\n>\n <div class=\"file-picker-choose\">\n <input\n #inputUpload\n [id]=\"id + 'input-upload'\"\n type=\"file\"\n name=\"file\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n (change)=\"_onInputFileSelect($event)\"\n />\n @if (permissions.includes(ADD_PERMISSION)) {\n <s-button\n [id]=\"id + 'upload-button'\"\n [label]=\"chooseLabel || 'platform.angular_components.attach_files' | translate\"\n (clicked)=\"inputUpload.click()\"\n priority=\"primary\"\n [disabled]=\"disabled || !!formControl?.disabled || fileLimit === files.length\"\n [auxiliary]=\"false\"\n >\n </s-button>\n }\n </div>\n\n @if (files.length) {\n <section\n [id]=\"id + 'fileupload-list'\"\n class=\"file-picker-list\"\n role=\"grid\"\n >\n @for (file of files; track file; let i = $index) {\n <div\n class=\"file-picker-list-file\"\n role=\"row\"\n >\n <div\n [id]=\"id + '-file-' + i + '-name'\"\n class=\"flex flex-grow items-center justify-between overflow-hidden text-ellipsis text-nowrap\"\n role=\"gridcell\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n (permissions.includes(READ_PERMISSION) && file.savedFile) || file.progress === 100\n ? descriptionUrl\n : description;\n context: {\n $implicit: file,\n index: i,\n }\n \"\n >\n </ng-container>\n\n <span>{{ formatFileSize(file.size) }}</span>\n\n @if (modifiedDate) {\n <span class=\"file-picker-list-file-name-date\">{{ modifiedDate }}</span>\n }\n </div>\n <div\n class=\"file-picker-list-file-status\"\n role=\"gridcell\"\n >\n @if (file.isUploading && !isSmallDevice) {\n <div class=\"w-64\">\n <s-progressbar\n [value]=\"file.progress ?? 0\"\n [showValue]=\"false\"\n activeColor=\"blue\"\n ></s-progressbar>\n </div>\n }\n\n @if (file.isUploading && isSmallDevice) {\n <span\n [id]=\"id + '-file-' + i + '-spin'\"\n class=\"fas fa-circle-notch fa-spin\"\n [attr.aria-label]=\"\n ariaLabelProgress || 'platform.angular_components.loading_file' | translate\n \"\n >\n </span>\n }\n\n @if (!file.isUploading && !file.error && file.progress === 100) {\n <span\n [id]=\"id + '-file-' + i + '-check'\"\n class=\"fas fa-check\"\n role=\"alert\"\n [attr.aria-label]=\"\n ariaLabelSuccess ||\n successTooltip ||\n 'platform.angular_components.file_attached_successfully' | translate\n \"\n [pTooltip]=\"\n successTooltip || 'platform.angular_components.file_attached_successfully'\n | translate\n \"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [appendTo]=\"'body'\"\n >\n </span>\n }\n\n @if (file.error?.message) {\n <span\n [id]=\"id + '-file-' + i + '-error'\"\n class=\"fas fa-times\"\n role=\"alert\"\n [pTooltip]=\"file.error?.message\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [appendTo]=\"'body'\"\n >\n </span>\n }\n </div>\n <div\n class=\"file-picker-list-file-actions\"\n role=\"gridcell\"\n >\n @if (file.isUploading) {\n <a\n [id]=\"id + '-file-' + i + '-cancel'\"\n class=\"file-picker-list-file-actions-action\"\n (click)=\"onCancelUpload(i)\"\n >\n {{ cancelLabel || 'platform.angular_components.cancel' | translate }}\n </a>\n }\n\n @if (\n permissions.includes(REMOVE_PERMISSION) &&\n !file.isUploading &&\n !(disabled || !!formControl?.disabled)\n ) {\n <a\n role=\"button\"\n tabindex=\"0\"\n [id]=\"id + '-file-' + i + '-remove'\"\n class=\"file-picker-list-file-actions-action\"\n (click)=\"onRemoveFile(file)\"\n [attr.aria-label]=\"\n ariaLabelRemove || removeLabel || 'platform.angular_components.remove' | translate\n \"\n >\n {{ removeLabel || 'platform.angular_components.remove' | translate }}\n </a>\n }\n </div>\n </div>\n }\n </section>\n }\n</div>\n\n<ng-template\n #descriptionUrl\n let-file\n let-i=\"index\"\n>\n <div class=\"flex justify-between\">\n <div>\n <a\n [id]=\"id + '-file-' + i + '-name-link'\"\n tabindex=\"0\"\n (click)=\"onDowloadFile(i)\"\n [attr.aria-label]=\"ariaLabelFileName || file.name\"\n class=\"break-words\"\n >{{ file.name }}\n </a>\n <a\n style=\"display: none\"\n [href]=\"file.objectURL\"\n target=\"_blank\"\n download\n #anchor\n >\n </a>\n </div>\n </div>\n</ng-template>\n\n<ng-template\n #description\n let-file\n>\n <div class=\"flex justify-between\">\n <span\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabelFileName || file.name\"\n >\n {{ file.name }}\n </span>\n </div>\n</ng-template>\n\n", styles: [".file-picker .file-picker-choose{position:relative;margin:15px 0;width:max-content}.file-picker input[type=file]{display:none}.file-picker-list{border:1px solid #ccc}.file-picker-list-file:not(:first-child){border-top:1px solid #ccc}.file-picker-list .file-picker-list-file{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;padding:15px}.file-picker-list .file-picker-list-file .file-picker-list-file-name{display:flex;flex-direction:column;align-self:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-picker-list .file-picker-list-file .file-picker-list-file-name .file-picker-list-file-name-date{font-size:.75rem;color:#999}.file-picker-list .file-picker-list-file .file-picker-list-file-name>a{cursor:pointer;text-decoration:none}.file-picker-list .file-picker-list-file .file-picker-list-file-status{align-self:center}.file-picker-list .file-picker-list-file .fas.fa-circle-notch{color:#d8d8d8;font-size:12px}.file-picker-list .file-picker-list-file .fas.fa-check{color:#0c9348;font-size:12px}.file-picker-list .file-picker-list-file .fas.fa-times{color:#c13018;font-size:12px}.file-picker-list .file-picker-list-file .file-picker-list-file-actions{margin-top:15px;align-self:center;width:100%}.file-picker-list .file-picker-list-file .file-picker-list-file-actions a.file-picker-list-file-actions-action{text-decoration:none;color:#428bca}.file-picker-list .file-picker-list-file .file-picker-list-file-actions a.file-picker-list-file-actions-action:hover,.file-picker-list .file-picker-list-file .file-picker-list-file-actions a.file-picker-list-file-actions-action :focus,.file-picker-list .file-picker-list-file .file-picker-list-file-actions a.file-picker-list-file-actions-action :visited{text-decoration:none}@media (min-width: 768px){.file-picker-list .file-picker-list-file{flex-wrap:nowrap}.file-picker-list .file-picker-list-file .file-picker-list-file-name{width:auto;flex-grow:2}.file-picker-list .file-picker-list-file .file-picker-list-file-status{margin:0 15px}.file-picker-list .file-picker-list-file .file-picker-list-file-actions{margin:0;width:auto}}\n"], dependencies: [{ kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "directive", type: i7.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i8.ProgressBarComponent, selector: "s-progressbar", inputs: ["value", "activeColor", "numberFormatOptions", "targetValue", "label", "targetLabel", "showValue", "mode"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
242
|
+
], viewQueries: [{ propertyName: "inputUpload", first: true, predicate: ["inputUpload"], descendants: true }, { propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true }], hostDirectives: [{ directive: i4.DeprecatedSelectorDirective }], ngImport: i0, template: "<div\n [id]=\"id\"\n class=\"file-picker\"\n>\n <div class=\"file-picker-choose\">\n <input\n #inputUpload\n [id]=\"id + 'input-upload'\"\n type=\"file\"\n name=\"file\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n (change)=\"_onInputFileSelect($event)\"\n />\n @if (permissions.includes(ADD_PERMISSION)) {\n <s-button\n [id]=\"id + 'upload-button'\"\n [label]=\"chooseLabel || 'platform.angular_components.attach_files' | translate\"\n (clicked)=\"inputUpload.click()\"\n priority=\"primary\"\n [disabled]=\"disabled || !!formControl?.disabled || fileLimit === files.length\"\n [auxiliary]=\"false\"\n >\n </s-button>\n }\n </div>\n\n @if (files.length) {\n <section\n [id]=\"id + 'fileupload-list'\"\n class=\"file-picker-list\"\n role=\"grid\"\n >\n @for (file of files; track file; let i = $index) {\n <div\n class=\"file-picker-list-file\"\n role=\"row\"\n >\n <div\n [id]=\"id + '-file-' + i + '-name'\"\n class=\"flex flex-grow items-center justify-between overflow-hidden text-ellipsis text-nowrap\"\n role=\"gridcell\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n (permissions.includes(READ_PERMISSION) && file.savedFile) || file.progress === 100\n ? descriptionUrl\n : description;\n context: {\n $implicit: file,\n index: i,\n }\n \"\n >\n </ng-container>\n\n <span>{{ formatFileSize(file.size) }}</span>\n\n @if (modifiedDate) {\n <span class=\"file-picker-list-file-name-date\">{{ modifiedDate }}</span>\n }\n </div>\n <div\n class=\"file-picker-list-file-status\"\n role=\"gridcell\"\n >\n @if (file.isUploading && !isSmallDevice) {\n <div class=\"w-64\">\n <s-progressbar\n [value]=\"file.progress ?? 0\"\n [showValue]=\"false\"\n activeColor=\"blue\"\n ></s-progressbar>\n </div>\n }\n\n @if (file.isUploading && isSmallDevice) {\n <span\n [id]=\"id + '-file-' + i + '-spin'\"\n class=\"fas fa-circle-notch fa-spin\"\n [attr.aria-label]=\"\n ariaLabelProgress || 'platform.angular_components.loading_file' | translate\n \"\n >\n </span>\n }\n\n @if (!file.isUploading && !file.error && file.progress === 100) {\n <span\n [id]=\"id + '-file-' + i + '-check'\"\n class=\"fas fa-check\"\n role=\"alert\"\n [attr.aria-label]=\"\n ariaLabelSuccess ||\n successTooltip ||\n 'platform.angular_components.file_attached_successfully' | translate\n \"\n [pTooltip]=\"\n successTooltip || 'platform.angular_components.file_attached_successfully'\n | translate\n \"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [appendTo]=\"'body'\"\n >\n </span>\n }\n\n @if (file.error?.message) {\n <span\n [id]=\"id + '-file-' + i + '-error'\"\n class=\"fas fa-times\"\n role=\"alert\"\n [pTooltip]=\"file.error?.message\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n [appendTo]=\"'body'\"\n >\n </span>\n }\n </div>\n <div\n class=\"file-picker-list-file-actions\"\n role=\"gridcell\"\n >\n @if (file.isUploading) {\n <a\n [id]=\"id + '-file-' + i + '-cancel'\"\n class=\"file-picker-list-file-actions-action\"\n (click)=\"onCancelUpload(i)\"\n >\n {{ cancelLabel || 'platform.angular_components.cancel' | translate }}\n </a>\n }\n\n @if (\n permissions.includes(REMOVE_PERMISSION) &&\n !file.isUploading &&\n !(disabled || !!formControl?.disabled)\n ) {\n <a\n role=\"button\"\n tabindex=\"0\"\n [id]=\"id + '-file-' + i + '-remove'\"\n class=\"file-picker-list-file-actions-action\"\n (click)=\"onRemoveFile(file)\"\n [attr.aria-label]=\"\n ariaLabelRemove || removeLabel || 'platform.angular_components.remove' | translate\n \"\n >\n {{ removeLabel || 'platform.angular_components.remove' | translate }}\n </a>\n }\n </div>\n </div>\n }\n </section>\n }\n</div>\n\n<ng-template\n #descriptionUrl\n let-file\n let-i=\"index\"\n>\n <div class=\"flex justify-between\">\n <div>\n <a\n [id]=\"id + '-file-' + i + '-name-link'\"\n tabindex=\"0\"\n (click)=\"onDowloadFile(i)\"\n [attr.aria-label]=\"ariaLabelFileName || file.name\"\n class=\"break-words\"\n >{{ file.name }}\n </a>\n <a\n style=\"display: none\"\n [href]=\"file.objectURL\"\n target=\"_blank\"\n download\n #anchor\n >\n </a>\n </div>\n </div>\n</ng-template>\n\n<ng-template\n #description\n let-file\n>\n <div class=\"flex justify-between\">\n <span\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabelFileName || file.name\"\n >\n {{ file.name }}\n </span>\n </div>\n</ng-template>\n\n", styles: [".file-picker .file-picker-choose{position:relative;margin:15px 0;width:max-content}.file-picker input[type=file]{display:none}.file-picker-list{border:1px solid #ccc}.file-picker-list-file:not(:first-child){border-top:1px solid #ccc}.file-picker-list .file-picker-list-file{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;padding:15px}.file-picker-list .file-picker-list-file .file-picker-list-file-name{display:flex;flex-direction:column;align-self:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-picker-list .file-picker-list-file .file-picker-list-file-name .file-picker-list-file-name-date{font-size:.75rem;color:#999}.file-picker-list .file-picker-list-file .file-picker-list-file-name>a{cursor:pointer;text-decoration:none}.file-picker-list .file-picker-list-file .file-picker-list-file-status{align-self:center}.file-picker-list .file-picker-list-file .fas.fa-circle-notch{color:#d8d8d8;font-size:12px}.file-picker-list .file-picker-list-file .fas.fa-check{color:#0c9348;font-size:12px}.file-picker-list .file-picker-list-file .fas.fa-times{color:#c13018;font-size:12px}.file-picker-list .file-picker-list-file .file-picker-list-file-actions{margin-top:15px;align-self:center;width:100%}.file-picker-list .file-picker-list-file .file-picker-list-file-actions a.file-picker-list-file-actions-action{text-decoration:none;color:#428bca}.file-picker-list .file-picker-list-file .file-picker-list-file-actions a.file-picker-list-file-actions-action:hover,.file-picker-list .file-picker-list-file .file-picker-list-file-actions a.file-picker-list-file-actions-action :focus,.file-picker-list .file-picker-list-file .file-picker-list-file-actions a.file-picker-list-file-actions-action :visited{text-decoration:none}@media (min-width: 768px){.file-picker-list .file-picker-list-file{flex-wrap:nowrap}.file-picker-list .file-picker-list-file .file-picker-list-file-name{width:auto;flex-grow:2}.file-picker-list .file-picker-list-file .file-picker-list-file-status{margin:0 15px}.file-picker-list .file-picker-list-file .file-picker-list-file-actions{margin:0;width:auto}}\n"], dependencies: [{ kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "menuAriaLabel", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "directive", type: i7.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i8.ProgressBarComponent, selector: "s-progressbar", inputs: ["value", "activeColor", "numberFormatOptions", "targetValue", "label", "targetLabel", "showValue", "mode"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
243
243
|
}
|
|
244
244
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilePickerComponent, decorators: [{
|
|
245
245
|
type: Component,
|
|
@@ -34,7 +34,7 @@ export class GlobalSearchDropdownItemComponent {
|
|
|
34
34
|
return this.size === 'standart';
|
|
35
35
|
}
|
|
36
36
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GlobalSearchDropdownItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GlobalSearchDropdownItemComponent, selector: "s-global-search-dropdown-item", inputs: { id: "id", primaryLabel: "primaryLabel", secondaryEmptyLabel: "secondaryEmptyLabel", tertiaryEmptyLabel: "tertiaryEmptyLabel", imageSource: "imageSource", imageAlt: "imageAlt", iconClass: "iconClass", secondaryLabel: "secondaryLabel", tertiaryLabel: "tertiaryLabel", size: "size", template: "template" }, outputs: { buttonClick: "buttonClick" }, queries: [{ propertyName: "thumbnailComponent", first: true, predicate: ThumbnailComponent, descendants: true, static: true }], viewQueries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: "<ng-template>\n <div class=\"global-search-dropdown-item\" [class.ui-grid]=\"isSmallSize()\">\n <ng-content select=\"s-thumbnail\"></ng-content>\n\n @if (!thumbnailComponent && (imageSource || iconClass) && !isSmallSize()) {\n <s-thumbnail\n [id]=\"id + '-thumbnail'\"\n [imageSource]=\"imageSource\"\n [imageAlt]=\"imageAlt || primaryLabel\"\n [iconClass]=\"iconClass ?? ''\"\n [size]=\"getImageSize()\"\n ></s-thumbnail>\n }\n\n <div class=\"global-search-item__container {{ !isSmallSize() ? 'global-search-item__container--width-60' : '' }}\">\n <div #titleTemplate>\n <ng-content select=\"[titleTemplate]\"></ng-content>\n </div>\n @if (!titleTemplate.children.length) {\n <s-button\n styleClass=\"no-padding\"\n class=\"{{ isSmallSize() ? 'ui-grid-col-6 no-padding' : '' }}\"\n [id]=\"id + '-title'\"\n priority=\"link\"\n [pTooltip]=\"primaryLabel\"\n [label]=\"primaryLabel\"\n size=\"small\"\n (clicked)=\"buttonClick.emit()\"\n >\n </s-button>\n }\n\n <div #labelTemplate>\n <ng-content select=\"[labelTemplate]\"></ng-content>\n </div>\n\n @if (!labelTemplate.children.length) {\n <span\n [id]=\"id + '-label'\"\n [ngClass]=\"{\n 'ui-grid-col-6 global-search-item__text-align--right': isSmallSize(),\n 'global-search-item__italic': !secondaryLabel,\n }\"\n class=\"label\"\n [pTooltip]=\"secondaryLabel\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n >{{ secondaryLabel ? secondaryLabel : secondaryEmptyLabel }}</span\n >\n }\n\n <div #descriptionTemplate>\n <ng-content select=\"[descriptionTemplate]\"></ng-content>\n </div>\n\n @if (!descriptionTemplate.children.length && !isMediumSize() && !isSmallSize()) {\n <span\n [id]=\"id + '-description'\"\n class=\"description\"\n [ngClass]=\"{ 'global-search-item__italic': !secondaryLabel }\"\n [pTooltip]=\"tertiaryLabel\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n >\n {{ tertiaryLabel ? tertiaryLabel : tertiaryEmptyLabel }}\n </span>\n }\n </div>\n @if (!isSmallSize()) {\n <div class=\"global-search-item__container--width-40 global-search__dropdown--template\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </div>\n }\n </div>\n</ng-template>\n", styles: [".global-search-dropdown{align-items:center;display:flex;height:100%;border-bottom:solid 1px #ccc;padding:15px 5px;margin:0 10px}::ng-deep .no-padding{padding:0!important;min-width:0px!important}::ng-deep .s-button-with-text{min-width:0px!important}.global-search-item__italic{font-style:italic}.global-search-item__container{margin-left:10px;width:100%}.global-search-item__container,.global-search-item__container span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.global-search-item__container .label{color:#333;display:block}.global-search-item__container .description{color:#999;display:block}.global-search-item__container--width-60{width:60%}.global-search-item__container--width-40{width:40%}.global-search-item__text-align--right{text-align:right;padding:2px 0 0 15px}.global-search__dropdown--template{display:flex;flex-direction:column;text-align:right!important}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.global-search-item__container{flex:1}}@media (max-width: 767px){.global-search-item__container,.global-search-item__container span{white-space:normal}}.global-search-item__container:only-child{margin-left:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "s-thumbnail", inputs: ["id", "size", "imageSource", "imageFallback", "imageAlt", "iconClass", "hasAction", "actionIconClass", "isTile", "isBrand"] }, { kind: "component", type: i4.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }] });
|
|
37
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GlobalSearchDropdownItemComponent, selector: "s-global-search-dropdown-item", inputs: { id: "id", primaryLabel: "primaryLabel", secondaryEmptyLabel: "secondaryEmptyLabel", tertiaryEmptyLabel: "tertiaryEmptyLabel", imageSource: "imageSource", imageAlt: "imageAlt", iconClass: "iconClass", secondaryLabel: "secondaryLabel", tertiaryLabel: "tertiaryLabel", size: "size", template: "template" }, outputs: { buttonClick: "buttonClick" }, queries: [{ propertyName: "thumbnailComponent", first: true, predicate: ThumbnailComponent, descendants: true, static: true }], viewQueries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: "<ng-template>\n <div class=\"global-search-dropdown-item\" [class.ui-grid]=\"isSmallSize()\">\n <ng-content select=\"s-thumbnail\"></ng-content>\n\n @if (!thumbnailComponent && (imageSource || iconClass) && !isSmallSize()) {\n <s-thumbnail\n [id]=\"id + '-thumbnail'\"\n [imageSource]=\"imageSource\"\n [imageAlt]=\"imageAlt || primaryLabel\"\n [iconClass]=\"iconClass ?? ''\"\n [size]=\"getImageSize()\"\n ></s-thumbnail>\n }\n\n <div class=\"global-search-item__container {{ !isSmallSize() ? 'global-search-item__container--width-60' : '' }}\">\n <div #titleTemplate>\n <ng-content select=\"[titleTemplate]\"></ng-content>\n </div>\n @if (!titleTemplate.children.length) {\n <s-button\n styleClass=\"no-padding\"\n class=\"{{ isSmallSize() ? 'ui-grid-col-6 no-padding' : '' }}\"\n [id]=\"id + '-title'\"\n priority=\"link\"\n [pTooltip]=\"primaryLabel\"\n [label]=\"primaryLabel\"\n size=\"small\"\n (clicked)=\"buttonClick.emit()\"\n >\n </s-button>\n }\n\n <div #labelTemplate>\n <ng-content select=\"[labelTemplate]\"></ng-content>\n </div>\n\n @if (!labelTemplate.children.length) {\n <span\n [id]=\"id + '-label'\"\n [ngClass]=\"{\n 'ui-grid-col-6 global-search-item__text-align--right': isSmallSize(),\n 'global-search-item__italic': !secondaryLabel,\n }\"\n class=\"label\"\n [pTooltip]=\"secondaryLabel\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n >{{ secondaryLabel ? secondaryLabel : secondaryEmptyLabel }}</span\n >\n }\n\n <div #descriptionTemplate>\n <ng-content select=\"[descriptionTemplate]\"></ng-content>\n </div>\n\n @if (!descriptionTemplate.children.length && !isMediumSize() && !isSmallSize()) {\n <span\n [id]=\"id + '-description'\"\n class=\"description\"\n [ngClass]=\"{ 'global-search-item__italic': !secondaryLabel }\"\n [pTooltip]=\"tertiaryLabel\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n >\n {{ tertiaryLabel ? tertiaryLabel : tertiaryEmptyLabel }}\n </span>\n }\n </div>\n @if (!isSmallSize()) {\n <div class=\"global-search-item__container--width-40 global-search__dropdown--template\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </div>\n }\n </div>\n</ng-template>\n", styles: [".global-search-dropdown{align-items:center;display:flex;height:100%;border-bottom:solid 1px #ccc;padding:15px 5px;margin:0 10px}::ng-deep .no-padding{padding:0!important;min-width:0px!important}::ng-deep .s-button-with-text{min-width:0px!important}.global-search-item__italic{font-style:italic}.global-search-item__container{margin-left:10px;width:100%}.global-search-item__container,.global-search-item__container span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.global-search-item__container .label{color:#333;display:block}.global-search-item__container .description{color:#999;display:block}.global-search-item__container--width-60{width:60%}.global-search-item__container--width-40{width:40%}.global-search-item__text-align--right{text-align:right;padding:2px 0 0 15px}.global-search__dropdown--template{display:flex;flex-direction:column;text-align:right!important}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.global-search-item__container{flex:1}}@media (max-width: 767px){.global-search-item__container,.global-search-item__container span{white-space:normal}}.global-search-item__container:only-child{margin-left:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "s-thumbnail", inputs: ["id", "size", "imageSource", "imageFallback", "imageAlt", "iconClass", "hasAction", "actionIconClass", "isTile", "isBrand"] }, { kind: "component", type: i4.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "menuAriaLabel", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }] });
|
|
38
38
|
}
|
|
39
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GlobalSearchDropdownItemComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
@@ -79,7 +79,7 @@ export class GlobalSearchComponent {
|
|
|
79
79
|
this._cdr.detectChanges();
|
|
80
80
|
}
|
|
81
81
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GlobalSearchComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
82
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GlobalSearchComponent, selector: "s-global-search", inputs: { id: "id", delay: "delay", totalItensLabel: "totalItensLabel", showMoreLabel: "showMoreLabel", placeholder: "placeholder", isLoading: "isLoading", totalElements: "totalElements", emptyTitle: "emptyTitle", emptyDescription: "emptyDescription", emptyIcon: "emptyIcon", showFooter: "showFooter" }, outputs: { searched: "searched", focused: "focused", moreShown: "moreShown" }, queries: [{ propertyName: "dropdownItens", predicate: GlobalSearchDropdownItemComponent }], viewQueries: [{ propertyName: "globalSearch", first: true, predicate: ["globalSearch"], descendants: true }], ngImport: i0, template: "<div class=\"p-inputGroup\">\n <input\n #globalSearch\n class=\"global-search__input\"\n [(ngModel)]=\"search\"\n (ngModelChange)=\"onChange()\"\n pInputText\n [placeholder]=\"placeholder\"\n (focus)=\"focusIn()\"\n (blur)=\"focusOut()\"\n />\n <span class=\"p-inputGroup-addon global-search__span\">\n <em class=\"fas fa-search\"></em>\n </span>\n\n @if (wasSearched) {\n <div class=\"global-search__modal\">\n <div\n *sLoadingState=\"isLoading && !isModalLoading\"\n class=\"global-search__loader\"\n >\n @if ((dropdownItens && dropdownItens.length > 0) || isLoading) {\n <div class=\"global-search__container\">\n @if (dropdownItens && dropdownItens.length > 0) {\n <div>\n <div class=\"global-search__modal--total-itens-title\">\n <span class=\"ui-grid-col-11 no-space\">{{ totalItensLabel }}</span>\n <span\n class=\"ui-grid-col-1 no-space global-search__modal--total-itens-title-icon\"\n (click)=\"close()\"\n >\n <em class=\"fas fa-times\"></em>\n </span>\n </div>\n <div\n class=\"no-space global-search__dropdown--itens\"\n [@expandableContent]=\"expanded\"\n >\n @for (item of dropdownItens; track item.id) {\n <div class=\"s-object-card-field no-space global-search__dropdown--itens-container\">\n <ng-container *ngTemplateOutlet=\"item.content\"></ng-container>\n </div>\n }\n </div>\n\n @if (showFooter) {\n <div class=\"ui-grid-col-12 global-search__modal--footer\">\n <s-button\n class=\"global-search__show-more\"\n (click)=\"showMore()\"\n priority=\"link\"\n >\n {{ showMoreLabel }}\n </s-button>\n </div>\n }\n </div>\n }\n </div>\n }\n\n @if ((!dropdownItens || !dropdownItens.length) && !isLoading) {\n <s-empty-state\n [title]=\"emptyTitle ?? ''\"\n [description]=\"emptyDescription\"\n ngClass=\"global-search__empty-state--icon\"\n [iconClass]=\"emptyIcon ? emptyIcon : 'fas fa-search'\"\n >\n </s-empty-state>\n }\n </div>\n </div>\n }\n\n @if (wasSearched) {\n <div\n class=\"global-search__background\"\n (click)=\"close()\"\n ></div>\n }\n</div>\n", styles: [".p-inputGroup{display:flex;max-width:100%}.global-search__input{border-radius:20px 0 0 20px;border-right:none;cursor:pointer;height:25px;min-height:25px;padding:0 0 0 15px;transition:all .3s;width:136px}.global-search__input:active,.global-search__input:focus,.global-search__input-active{border-bottom:solid 1px #428bca;border-left:solid 1px #428bca;border-top:solid 1px #428bca;cursor:default;transition:all .3s;width:466px}.global-search__input:active,.global-search__input:focus+.global-search__span{border-bottom:solid 1px #428bca;border-left:none;border-right:solid 1px #428bca;border-top:solid 1px #428bca;transition:all .3s}.global-search__span{align-items:center;background:transparent;border:1px solid #ccc;border-left:none;border-radius:0 20px 20px 0;display:flex;height:25px;justify-content:center;padding:0 8px;transition:all .3s}.global-search__modal{background:#fff;border-radius:5px;box-shadow:0 2px 8px #0006;margin-top:60px;min-height:50px;position:absolute;width:500px;z-index:6}.global-search__modal--total-itens-title{border-bottom:solid 1px #ccc;color:#333;font-weight:600;height:50px;padding:15px}.global-search__modal--footer{border-top:solid 1px #ccc;height:50px}.global-search__modal--total-itens-title-icon{cursor:pointer;text-align:right}.global-search__container{min-height:50px;width:100%}.global-search__dropdown--itens{max-height:510px;overflow:auto}.global-search__dropdown--itens-container:hover{background:#dbe0e4}.global-search__background{background:#0006;cursor:pointer;height:calc(100vh - 70px);left:0;margin-top:50px;position:absolute;width:100%;z-index:5}.no-space{margin:0;padding:0}.global-search__show-more{display:flex;flex-direction:column}.global-search__show-more--button{color:#428bca!important}.modal{height:calc(100vh - 90px);left:1%;position:absolute;width:98%}.global-search__empty-state--icon{margin:42px 134px}::ng-deep s-global-search{width:100%}::ng-deep s-global-search .global-search__loader{border-radius:5px!important;width:100%}::ng-deep s-global-search .global-search__empty-state--icon .empty-state .icon{font-size:40px}::ng-deep s-global-search .s-button-priority-link{color:#428bca}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "directive", type: i5.LoadingStateDirective, selector: "[sLoadingState]", inputs: ["sLoadingState"] }, { kind: "component", type: i6.EmptyStateComponent, selector: "s-empty-state", inputs: ["id", "title", "iconClass", "description", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "secondaryActionLabel", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }], animations: [
|
|
82
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GlobalSearchComponent, selector: "s-global-search", inputs: { id: "id", delay: "delay", totalItensLabel: "totalItensLabel", showMoreLabel: "showMoreLabel", placeholder: "placeholder", isLoading: "isLoading", totalElements: "totalElements", emptyTitle: "emptyTitle", emptyDescription: "emptyDescription", emptyIcon: "emptyIcon", showFooter: "showFooter" }, outputs: { searched: "searched", focused: "focused", moreShown: "moreShown" }, queries: [{ propertyName: "dropdownItens", predicate: GlobalSearchDropdownItemComponent }], viewQueries: [{ propertyName: "globalSearch", first: true, predicate: ["globalSearch"], descendants: true }], ngImport: i0, template: "<div class=\"p-inputGroup\">\n <input\n #globalSearch\n class=\"global-search__input\"\n [(ngModel)]=\"search\"\n (ngModelChange)=\"onChange()\"\n pInputText\n [placeholder]=\"placeholder\"\n (focus)=\"focusIn()\"\n (blur)=\"focusOut()\"\n />\n <span class=\"p-inputGroup-addon global-search__span\">\n <em class=\"fas fa-search\"></em>\n </span>\n\n @if (wasSearched) {\n <div class=\"global-search__modal\">\n <div\n *sLoadingState=\"isLoading && !isModalLoading\"\n class=\"global-search__loader\"\n >\n @if ((dropdownItens && dropdownItens.length > 0) || isLoading) {\n <div class=\"global-search__container\">\n @if (dropdownItens && dropdownItens.length > 0) {\n <div>\n <div class=\"global-search__modal--total-itens-title\">\n <span class=\"ui-grid-col-11 no-space\">{{ totalItensLabel }}</span>\n <span\n class=\"ui-grid-col-1 no-space global-search__modal--total-itens-title-icon\"\n (click)=\"close()\"\n >\n <em class=\"fas fa-times\"></em>\n </span>\n </div>\n <div\n class=\"no-space global-search__dropdown--itens\"\n [@expandableContent]=\"expanded\"\n >\n @for (item of dropdownItens; track item.id) {\n <div class=\"s-object-card-field no-space global-search__dropdown--itens-container\">\n <ng-container *ngTemplateOutlet=\"item.content\"></ng-container>\n </div>\n }\n </div>\n\n @if (showFooter) {\n <div class=\"ui-grid-col-12 global-search__modal--footer\">\n <s-button\n class=\"global-search__show-more\"\n (click)=\"showMore()\"\n priority=\"link\"\n >\n {{ showMoreLabel }}\n </s-button>\n </div>\n }\n </div>\n }\n </div>\n }\n\n @if ((!dropdownItens || !dropdownItens.length) && !isLoading) {\n <s-empty-state\n [title]=\"emptyTitle ?? ''\"\n [description]=\"emptyDescription\"\n ngClass=\"global-search__empty-state--icon\"\n [iconClass]=\"emptyIcon ? emptyIcon : 'fas fa-search'\"\n >\n </s-empty-state>\n }\n </div>\n </div>\n }\n\n @if (wasSearched) {\n <div\n class=\"global-search__background\"\n (click)=\"close()\"\n ></div>\n }\n</div>\n", styles: [".p-inputGroup{display:flex;max-width:100%}.global-search__input{border-radius:20px 0 0 20px;border-right:none;cursor:pointer;height:25px;min-height:25px;padding:0 0 0 15px;transition:all .3s;width:136px}.global-search__input:active,.global-search__input:focus,.global-search__input-active{border-bottom:solid 1px #428bca;border-left:solid 1px #428bca;border-top:solid 1px #428bca;cursor:default;transition:all .3s;width:466px}.global-search__input:active,.global-search__input:focus+.global-search__span{border-bottom:solid 1px #428bca;border-left:none;border-right:solid 1px #428bca;border-top:solid 1px #428bca;transition:all .3s}.global-search__span{align-items:center;background:transparent;border:1px solid #ccc;border-left:none;border-radius:0 20px 20px 0;display:flex;height:25px;justify-content:center;padding:0 8px;transition:all .3s}.global-search__modal{background:#fff;border-radius:5px;box-shadow:0 2px 8px #0006;margin-top:60px;min-height:50px;position:absolute;width:500px;z-index:6}.global-search__modal--total-itens-title{border-bottom:solid 1px #ccc;color:#333;font-weight:600;height:50px;padding:15px}.global-search__modal--footer{border-top:solid 1px #ccc;height:50px}.global-search__modal--total-itens-title-icon{cursor:pointer;text-align:right}.global-search__container{min-height:50px;width:100%}.global-search__dropdown--itens{max-height:510px;overflow:auto}.global-search__dropdown--itens-container:hover{background:#dbe0e4}.global-search__background{background:#0006;cursor:pointer;height:calc(100vh - 70px);left:0;margin-top:50px;position:absolute;width:100%;z-index:5}.no-space{margin:0;padding:0}.global-search__show-more{display:flex;flex-direction:column}.global-search__show-more--button{color:#428bca!important}.modal{height:calc(100vh - 90px);left:1%;position:absolute;width:98%}.global-search__empty-state--icon{margin:42px 134px}::ng-deep s-global-search{width:100%}::ng-deep s-global-search .global-search__loader{border-radius:5px!important;width:100%}::ng-deep s-global-search .global-search__empty-state--icon .empty-state .icon{font-size:40px}::ng-deep s-global-search .s-button-priority-link{color:#428bca}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "menuAriaLabel", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "directive", type: i5.LoadingStateDirective, selector: "[sLoadingState]", inputs: ["sLoadingState"] }, { kind: "component", type: i6.EmptyStateComponent, selector: "s-empty-state", inputs: ["id", "title", "iconClass", "description", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "secondaryActionLabel", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }], animations: [
|
|
83
83
|
trigger('expandableContent', [
|
|
84
84
|
state('*', style({ height: '0' })),
|
|
85
85
|
state('false', style({ height: '0' })),
|
|
@@ -137,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
137
137
|
}], moreShown: [{
|
|
138
138
|
type: Output
|
|
139
139
|
}] } });
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZ2xvYmFsLXNlYXJjaC9zcmMvbGliL2dsb2JhbC1zZWFyY2gvZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZ2xvYmFsLXNlYXJjaC9zcmMvbGliL2dsb2JhbC1zZWFyY2gvZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFFSCxTQUFTLEVBQ1QsZUFBZSxFQUVmLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUNoSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7QUFnQjdFLE1BQU0sT0FBTyxxQkFBcUI7SUF1REQ7SUF0RHRCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBR2xCLFlBQVksR0FBc0IsSUFBSSxDQUFDO0lBR3ZDLEVBQUUsR0FBRyxtQkFBbUIsaUNBQWlDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztJQUdyRSxLQUFLLEdBQUcsR0FBRyxDQUFDO0lBR1osZUFBZSxDQUFVO0lBR3pCLGFBQWEsQ0FBVTtJQUd2QixXQUFXLENBQVU7SUFHckIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUdsQixhQUFhLENBQVU7SUFHdkIsVUFBVSxDQUFVO0lBR3BCLGdCQUFnQixDQUFVO0lBRzFCLFNBQVMsQ0FB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Z0JBSUMsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdDLGFBQWE7c0JBRG5CLGVBQWU7dUJBQUMsaUNBQWlDO2dCQUkzQyxRQUFRO3NCQURkLE1BQU07Z0JBSUEsT0FBTztzQkFEYixNQUFNO2dCQUlBLFNBQVM7c0JBRGYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgR2xvYmFsU2VhcmNoRHJvcGRvd25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Ryb3Bkb3duL2dsb2JhbC1zZWFyY2gtZHJvcGRvd24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLWdsb2JhbC1zZWFyY2gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9nbG9iYWwtc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9nbG9iYWwtc2VhcmNoLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdleHBhbmRhYmxlQ29udGVudCcsIFtcbiAgICAgICAgICAgIHN0YXRlKCcqJywgc3R5bGUoeyBoZWlnaHQ6ICcwJyB9KSksXG4gICAgICAgICAgICBzdGF0ZSgnZmFsc2UnLCBzdHlsZSh7IGhlaWdodDogJzAnIH0pKSxcbiAgICAgICAgICAgIHN0YXRlKCd0cnVlJywgc3R5bGUoeyBoZWlnaHQ6ICcqJyB9KSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCcqID0+IHRydWUnLCBhbmltYXRlKCcyMDBtcyBlYXNlLW91dCcpKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2ZhbHNlIDw9PiB0cnVlJywgYW5pbWF0ZSgnMjAwbXMgZWFzZS1vdXQnKSksXG4gICAgICAgIF0pLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEdsb2JhbFNlYXJjaENvbXBvbmVudCB7XG4gICAgcHVibGljIHN0YXRpYyBuZXh0SWQgPSAwO1xuXG4gICAgQFZpZXdDaGlsZCgnZ2xvYmFsU2VhcmNoJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHVibGljIGdsb2JhbFNlYXJjaDogRWxlbWVudFJlZiB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWQgPSBgcy1nbG9iYWwtc2VhcmNoLSR7R2xvYmFsU2VhcmNoRHJvcGRvd25JdGVtQ29tcG9uZW50Lm5leHRJZCsrfWA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkZWxheSA9IDUwMDtcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgcHVibGljIHRvdGFsSXRlbnNMYWJlbCE6IHN0cmluZztcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgcHVibGljIHNob3dNb3JlTGFiZWwhOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwbGFjZWhvbGRlcj86IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlzTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdG90YWxFbGVtZW50cz86IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVtcHR5VGl0bGU/OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlbXB0eURlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW1wdHlJY29uPzogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgc2hvd0Zvb3RlciA9IHRydWU7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKEdsb2JhbFNlYXJjaERyb3Bkb3duSXRlbUNvbXBvbmVudClcbiAgICBwdWJsaWMgZHJvcGRvd25JdGVuczogUXVlcnlMaXN0PEdsb2JhbFNlYXJjaERyb3Bkb3duSXRlbUNvbXBvbmVudD4gfCBudWxsID0gbnVsbDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBzZWFyY2hlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGZvY3VzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgbW9yZVNob3duID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgcHVibGljIHNlYXJjaDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIHdhc1NlYXJjaGVkID0gZmFsc2U7XG4gICAgcHVibGljIGlzTW9kYWxMb2FkaW5nID0gZmFsc2U7XG4gICAgcHVibGljIGV4cGFuZGVkID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBwdWJsaWMgb25DaGFuZ2UoKSB7XG4gICAgICAgIGNvbnN0IHNlYXJjaCA9IHRoaXMuc2VhcmNoO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlYXJjaCA9PT0gc2VhcmNoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2FuU2hvd0dsb2JhbFNlYXJjaEFjdGl2ZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoZWQuZW1pdCh0aGlzLnNlYXJjaCA/PyAnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHRoaXMuZGVsYXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmb2N1c0luKCkge1xuICAgICAgICB0aGlzLmZvY3VzZWQuZW1pdCh0cnVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZm9jdXNPdXQoKSB7XG4gICAgICAgIHRoaXMuZm9jdXNlZC5lbWl0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvd01vcmUoKSB7XG4gICAgICAgIHRoaXMubW9yZVNob3duLmVtaXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoID0gbnVsbDtcbiAgICAgICAgdGhpcy53YXNTZWFyY2hlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmRyb3Bkb3duSXRlbnMgPSBudWxsO1xuICAgICAgICB0aGlzLmlzTW9kYWxMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX3JlbW92ZUFjdGl2ZUNsYXNzQnlHbG9iYWxTZWFyY2goKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZW1vdmVBY3RpdmVDbGFzc0J5R2xvYmFsU2VhcmNoKCkge1xuICAgICAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodGhpcy5nbG9iYWxTZWFyY2gpKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5nbG9iYWxTZWFyY2gubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdnbG9iYWwtc2VhcmNoX19pbnB1dC1hY3RpdmUnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jYW5TaG93R2xvYmFsU2VhcmNoQWN0aXZlKCkge1xuICAgICAgICB0aGlzLndhc1NlYXJjaGVkID0gISF0aGlzLnNlYXJjaDtcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoKSB7XG4gICAgICAgICAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodGhpcy5nbG9iYWxTZWFyY2gpKSByZXR1cm47XG5cbiAgICAgICAgICAgIHRoaXMuZ2xvYmFsU2VhcmNoLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZ2xvYmFsLXNlYXJjaF9faW5wdXQtYWN0aXZlJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9yZW1vdmVBY3RpdmVDbGFzc0J5R2xvYmFsU2VhcmNoKCk7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG59XG5cbiIsIjxkaXYgY2xhc3M9XCJwLWlucHV0R3JvdXBcIj5cbiAgICA8aW5wdXRcbiAgICAgICAgI2dsb2JhbFNlYXJjaFxuICAgICAgICBjbGFzcz1cImdsb2JhbC1zZWFyY2hfX2lucHV0XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZSgpXCJcbiAgICAgICAgcElucHV0VGV4dFxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAoZm9jdXMpPVwiZm9jdXNJbigpXCJcbiAgICAgICAgKGJsdXIpPVwiZm9jdXNPdXQoKVwiXG4gICAgLz5cbiAgICA8c3BhbiBjbGFzcz1cInAtaW5wdXRHcm91cC1hZGRvbiBnbG9iYWwtc2VhcmNoX19zcGFuXCI+XG4gICAgICAgIDxlbSBjbGFzcz1cImZhcyBmYS1zZWFyY2hcIj48L2VtPlxuICAgIDwvc3Bhbj5cblxuICAgIEBpZiAod2FzU2VhcmNoZWQpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImdsb2JhbC1zZWFyY2hfX21vZGFsXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKnNMb2FkaW5nU3RhdGU9XCJpc0xvYWRpbmcgJiYgIWlzTW9kYWxMb2FkaW5nXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImdsb2JhbC1zZWFyY2hfX2xvYWRlclwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgQGlmICgoZHJvcGRvd25JdGVucyAmJiBkcm9wZG93bkl0ZW5zLmxlbmd0aCA+IDApIHx8IGlzTG9hZGluZykge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2xvYmFsLXNlYXJjaF9fY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGRyb3Bkb3duSXRlbnMgJiYgZHJvcGRvd25JdGVucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdsb2JhbC1zZWFyY2hfX21vZGFsLS10b3RhbC1pdGVucy10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1aS1ncmlkLWNvbC0xMSBuby1zcGFjZVwiPnt7IHRvdGFsSXRlbnNMYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ1aS1ncmlkLWNvbC0xIG5vLXNwYWNlIGdsb2JhbC1zZWFyY2hfX21vZGFsLS10b3RhbC1pdGVucy10aXRsZS1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtIGNsYXNzPVwiZmFzIGZhLXRpbWVzXCI+PC9lbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibm8tc3BhY2UgZ2xvYmFsLXNlYXJjaF9fZHJvcGRvd24tLWl0ZW5zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtAZXhwYW5kYWJsZUNvbnRlbnRdPVwiZXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIGRyb3Bkb3duSXRlbnM7IHRyYWNrIGl0ZW0uaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicy1vYmplY3QtY2FyZC1maWVsZCBuby1zcGFjZSBnbG9iYWwtc2VhcmNoX19kcm9wZG93bi0taXRlbnMtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtLmNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzaG93Rm9vdGVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWktZ3JpZC1jb2wtMTIgZ2xvYmFsLXNlYXJjaF9fbW9kYWwtLWZvb3RlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImdsb2JhbC1zZWFyY2hfX3Nob3ctbW9yZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93TW9yZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk9XCJsaW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNob3dNb3JlTGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3MtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmICgoIWRyb3Bkb3duSXRlbnMgfHwgIWRyb3Bkb3duSXRlbnMubGVuZ3RoKSAmJiAhaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzLWVtcHR5LXN0YXRlXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiZW1wdHlUaXRsZSA/PyAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwiZW1wdHlEZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBuZ0NsYXNzPVwiZ2xvYmFsLXNlYXJjaF9fZW1wdHktc3RhdGUtLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25DbGFzc109XCJlbXB0eUljb24gPyBlbXB0eUljb24gOiAnZmFzIGZhLXNlYXJjaCdcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvcy1lbXB0eS1zdGF0ZT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGlmICh3YXNTZWFyY2hlZCkge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImdsb2JhbC1zZWFyY2hfX2JhY2tncm91bmRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgICA+PC9kaXY+XG4gICAgfVxuPC9kaXY+XG4iXX0=
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZ2xvYmFsLXNlYXJjaC9zcmMvbGliL2dsb2JhbC1zZWFyY2gvZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZ2xvYmFsLXNlYXJjaC9zcmMvbGliL2dsb2JhbC1zZWFyY2gvZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFFSCxTQUFTLEVBQ1QsZUFBZSxFQUVmLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUNoSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7QUFnQjdFLE1BQU0sT0FBTyxxQkFBcUI7SUF1REQ7SUF0RHRCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBR2xCLFlBQVksR0FBc0IsSUFBSSxDQUFDO0lBR3ZDLEVBQUUsR0FBRyxtQkFBbUIsaUNBQWlDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztJQUdyRSxLQUFLLEdBQUcsR0FBRyxDQUFDO0lBR1osZUFBZSxDQUFVO0lBR3pCLGFBQWEsQ0FBVTtJQUd2QixXQUFXLENBQVU7SUFHckIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUdsQixhQUFhLENBQVU7SUFHdkIsVUFBVSxDQUFVO0lBR3BCLGdCQUFnQixDQUFVO0lBRzFCLFNBQVMsQ0FB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Z0JBSUMsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdDLGFBQWE7c0JBRG5CLGVBQWU7dUJBQUMsaUNBQWlDO2dCQUkzQyxRQUFRO3NCQURkLE1BQU07Z0JBSUEsT0FBTztzQkFEYixNQUFNO2dCQUlBLFNBQVM7c0JBRGYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgR2xvYmFsU2VhcmNoRHJvcGRvd25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Ryb3Bkb3duL2dsb2JhbC1zZWFyY2gtZHJvcGRvd24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLWdsb2JhbC1zZWFyY2gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9nbG9iYWwtc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9nbG9iYWwtc2VhcmNoLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdleHBhbmRhYmxlQ29udGVudCcsIFtcbiAgICAgICAgICAgIHN0YXRlKCcqJywgc3R5bGUoeyBoZWlnaHQ6ICcwJyB9KSksXG4gICAgICAgICAgICBzdGF0ZSgnZmFsc2UnLCBzdHlsZSh7IGhlaWdodDogJzAnIH0pKSxcbiAgICAgICAgICAgIHN0YXRlKCd0cnVlJywgc3R5bGUoeyBoZWlnaHQ6ICcqJyB9KSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCcqID0+IHRydWUnLCBhbmltYXRlKCcyMDBtcyBlYXNlLW91dCcpKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2ZhbHNlIDw9PiB0cnVlJywgYW5pbWF0ZSgnMjAwbXMgZWFzZS1vdXQnKSksXG4gICAgICAgIF0pLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEdsb2JhbFNlYXJjaENvbXBvbmVudCB7XG4gICAgcHVibGljIHN0YXRpYyBuZXh0SWQgPSAwO1xuXG4gICAgQFZpZXdDaGlsZCgnZ2xvYmFsU2VhcmNoJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHVibGljIGdsb2JhbFNlYXJjaDogRWxlbWVudFJlZiB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWQgPSBgcy1nbG9iYWwtc2VhcmNoLSR7R2xvYmFsU2VhcmNoRHJvcGRvd25JdGVtQ29tcG9uZW50Lm5leHRJZCsrfWA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkZWxheSA9IDUwMDtcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgcHVibGljIHRvdGFsSXRlbnNMYWJlbCE6IHN0cmluZztcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgcHVibGljIHNob3dNb3JlTGFiZWwhOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwbGFjZWhvbGRlcj86IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlzTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdG90YWxFbGVtZW50cz86IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVtcHR5VGl0bGU/OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlbXB0eURlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW1wdHlJY29uPzogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgc2hvd0Zvb3RlciA9IHRydWU7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKEdsb2JhbFNlYXJjaERyb3Bkb3duSXRlbUNvbXBvbmVudClcbiAgICBwdWJsaWMgZHJvcGRvd25JdGVuczogUXVlcnlMaXN0PEdsb2JhbFNlYXJjaERyb3Bkb3duSXRlbUNvbXBvbmVudD4gfCBudWxsID0gbnVsbDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBzZWFyY2hlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGZvY3VzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgbW9yZVNob3duID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgcHVibGljIHNlYXJjaDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIHdhc1NlYXJjaGVkID0gZmFsc2U7XG4gICAgcHVibGljIGlzTW9kYWxMb2FkaW5nID0gZmFsc2U7XG4gICAgcHVibGljIGV4cGFuZGVkID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBwdWJsaWMgb25DaGFuZ2UoKSB7XG4gICAgICAgIGNvbnN0IHNlYXJjaCA9IHRoaXMuc2VhcmNoO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlYXJjaCA9PT0gc2VhcmNoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2FuU2hvd0dsb2JhbFNlYXJjaEFjdGl2ZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoZWQuZW1pdCh0aGlzLnNlYXJjaCA/PyAnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHRoaXMuZGVsYXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmb2N1c0luKCkge1xuICAgICAgICB0aGlzLmZvY3VzZWQuZW1pdCh0cnVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZm9jdXNPdXQoKSB7XG4gICAgICAgIHRoaXMuZm9jdXNlZC5lbWl0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvd01vcmUoKSB7XG4gICAgICAgIHRoaXMubW9yZVNob3duLmVtaXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoID0gbnVsbDtcbiAgICAgICAgdGhpcy53YXNTZWFyY2hlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmRyb3Bkb3duSXRlbnMgPSBudWxsO1xuICAgICAgICB0aGlzLmlzTW9kYWxMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX3JlbW92ZUFjdGl2ZUNsYXNzQnlHbG9iYWxTZWFyY2goKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZW1vdmVBY3RpdmVDbGFzc0J5R2xvYmFsU2VhcmNoKCkge1xuICAgICAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodGhpcy5nbG9iYWxTZWFyY2gpKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5nbG9iYWxTZWFyY2gubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdnbG9iYWwtc2VhcmNoX19pbnB1dC1hY3RpdmUnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jYW5TaG93R2xvYmFsU2VhcmNoQWN0aXZlKCkge1xuICAgICAgICB0aGlzLndhc1NlYXJjaGVkID0gISF0aGlzLnNlYXJjaDtcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoKSB7XG4gICAgICAgICAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodGhpcy5nbG9iYWxTZWFyY2gpKSByZXR1cm47XG5cbiAgICAgICAgICAgIHRoaXMuZ2xvYmFsU2VhcmNoLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZ2xvYmFsLXNlYXJjaF9faW5wdXQtYWN0aXZlJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9yZW1vdmVBY3RpdmVDbGFzc0J5R2xvYmFsU2VhcmNoKCk7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG59XG5cbiIsIjxkaXYgY2xhc3M9XCJwLWlucHV0R3JvdXBcIj5cbiAgICA8aW5wdXRcbiAgICAgICAgI2dsb2JhbFNlYXJjaFxuICAgICAgICBjbGFzcz1cImdsb2JhbC1zZWFyY2hfX2lucHV0XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZSgpXCJcbiAgICAgICAgcElucHV0VGV4dFxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAoZm9jdXMpPVwiZm9jdXNJbigpXCJcbiAgICAgICAgKGJsdXIpPVwiZm9jdXNPdXQoKVwiXG4gICAgLz5cbiAgICA8c3BhbiBjbGFzcz1cInAtaW5wdXRHcm91cC1hZGRvbiBnbG9iYWwtc2VhcmNoX19zcGFuXCI+XG4gICAgICAgIDxlbSBjbGFzcz1cImZhcyBmYS1zZWFyY2hcIj48L2VtPlxuICAgIDwvc3Bhbj5cblxuICAgIEBpZiAod2FzU2VhcmNoZWQpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImdsb2JhbC1zZWFyY2hfX21vZGFsXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKnNMb2FkaW5nU3RhdGU9XCJpc0xvYWRpbmcgJiYgIWlzTW9kYWxMb2FkaW5nXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImdsb2JhbC1zZWFyY2hfX2xvYWRlclwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgQGlmICgoZHJvcGRvd25JdGVucyAmJiBkcm9wZG93bkl0ZW5zLmxlbmd0aCA+IDApIHx8IGlzTG9hZGluZykge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2xvYmFsLXNlYXJjaF9fY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGRyb3Bkb3duSXRlbnMgJiYgZHJvcGRvd25JdGVucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdsb2JhbC1zZWFyY2hfX21vZGFsLS10b3RhbC1pdGVucy10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1aS1ncmlkLWNvbC0xMSBuby1zcGFjZVwiPnt7IHRvdGFsSXRlbnNMYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ1aS1ncmlkLWNvbC0xIG5vLXNwYWNlIGdsb2JhbC1zZWFyY2hfX21vZGFsLS10b3RhbC1pdGVucy10aXRsZS1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtIGNsYXNzPVwiZmFzIGZhLXRpbWVzXCI+PC9lbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibm8tc3BhY2UgZ2xvYmFsLXNlYXJjaF9fZHJvcGRvd24tLWl0ZW5zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtAZXhwYW5kYWJsZUNvbnRlbnRdPVwiZXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIGRyb3Bkb3duSXRlbnM7IHRyYWNrIGl0ZW0uaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicy1vYmplY3QtY2FyZC1maWVsZCBuby1zcGFjZSBnbG9iYWwtc2VhcmNoX19kcm9wZG93bi0taXRlbnMtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtLmNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzaG93Rm9vdGVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWktZ3JpZC1jb2wtMTIgZ2xvYmFsLXNlYXJjaF9fbW9kYWwtLWZvb3RlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImdsb2JhbC1zZWFyY2hfX3Nob3ctbW9yZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93TW9yZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk9XCJsaW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNob3dNb3JlTGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3MtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmICgoIWRyb3Bkb3duSXRlbnMgfHwgIWRyb3Bkb3duSXRlbnMubGVuZ3RoKSAmJiAhaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzLWVtcHR5LXN0YXRlXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiZW1wdHlUaXRsZSA/PyAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwiZW1wdHlEZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBuZ0NsYXNzPVwiZ2xvYmFsLXNlYXJjaF9fZW1wdHktc3RhdGUtLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25DbGFzc109XCJlbXB0eUljb24gPyBlbXB0eUljb24gOiAnZmFzIGZhLXNlYXJjaCdcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvcy1lbXB0eS1zdGF0ZT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGlmICh3YXNTZWFyY2hlZCkge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImdsb2JhbC1zZWFyY2hfX2JhY2tncm91bmRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgICA+PC9kaXY+XG4gICAgfVxuPC9kaXY+XG4iXX0=
|