verben-authentication-ui 1.0.36 → 1.0.37
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/esm2022/src/lib/components/button/button.component.mjs +8 -5
- package/esm2022/src/lib/components/forgot-password/forgot-password.component.mjs +1 -1
- package/esm2022/src/lib/components/mail/mail.component.mjs +1 -1
- package/esm2022/src/lib/components/mail-validation/mail-validation.component.mjs +1 -1
- package/esm2022/src/lib/components/o-auth/o-auth.component.mjs +1 -1
- package/esm2022/src/lib/components/reset-password/reset-password.component.mjs +1 -1
- package/esm2022/src/lib/components/role-control/role-control.component.mjs +1 -1
- package/esm2022/src/lib/components/sign-in/sign-in.component.mjs +1 -1
- package/esm2022/src/lib/components/sign-up/sign-up.component.mjs +1 -1
- package/esm2022/src/lib/components/sso/sso-form/sso-form.component.mjs +3 -3
- package/esm2022/src/lib/components/sso/sso.component.mjs +1 -1
- package/esm2022/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.mjs +1 -1
- package/esm2022/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.mjs +1 -1
- package/esm2022/src/lib/components/user-management/user-management-form/user-management-form.component.mjs +1 -1
- package/esm2022/src/lib/components/user-management/user-management.component.mjs +1 -1
- package/esm2022/src/lib/components/user-request/user-request.component.mjs +3 -3
- package/esm2022/src/lib/components/user-request-approval/user-request-approval.component.mjs +1 -1
- package/esm2022/src/lib/components/user-request-approval/user-request-form/user-request-form.component.mjs +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-button.mjs +7 -4
- package/fesm2022/verben-authentication-ui-src-lib-components-button.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-forgot-password.mjs +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-forgot-password.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-mail-validation.mjs +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-mail-validation.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-mail.mjs +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-mail.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-o-auth.mjs +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-o-auth.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-reset-password.mjs +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-reset-password.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-role-control.mjs +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-role-control.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-sign-in.mjs +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-sign-in.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-sign-up.mjs +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-sign-up.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-sso.mjs +3 -3
- package/fesm2022/verben-authentication-ui-src-lib-components-sso.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-two-factor-auth-otp.mjs +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-two-factor-auth-otp.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-two-factor-auth-setup.mjs +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-two-factor-auth-setup.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-user-management.mjs +2 -2
- package/fesm2022/verben-authentication-ui-src-lib-components-user-management.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-user-request-approval.mjs +2 -2
- package/fesm2022/verben-authentication-ui-src-lib-components-user-request-approval.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-user-request.mjs +2 -2
- package/fesm2022/verben-authentication-ui-src-lib-components-user-request.mjs.map +1 -1
- package/package.json +36 -36
- package/src/lib/components/button/button.component.d.ts +2 -1
|
@@ -273,11 +273,11 @@ export class UserRequestComponent {
|
|
|
273
273
|
this.hidePassword = true;
|
|
274
274
|
}
|
|
275
275
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRequestComponent, deps: [{ token: i1.FormBuilder }, { token: i2.HttpWebRequestService }, { token: i2.UtilService }, { token: i2.EnvironmentService }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
276
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserRequestComponent, selector: "lib-user-request", inputs: { width: "width", headingTitle: "headingTitle", headingClass: "headingClass", customClass: "customClass", bgColor: "bgColor", boxShadow: "boxShadow", border: "border", borderRadius: "borderRadius", textColor: "textColor", height: "height", pd: "pd", text: "text", color: "color", btnBorder: "btnBorder", btnBorderRadius: "btnBorderRadius", btnBgColor: "btnBgColor", btnWidth: "btnWidth", btnPd: "btnPd", termsLink: "termsLink", privacyLink: "privacyLink", routerLink: "routerLink" }, outputs: { formSubmit: "formSubmit", googleClick: "googleClick", onSubmitSuccess: "onSubmitSuccess", appleClick: "appleClick", microsoftClick: "microsoftClick", onSubmitGoogleAuth: "onSubmitGoogleAuth", onSubmitResponseEnd: "onSubmitResponseEnd" }, ngImport: i0, template: "<section [ngStyle]=\"styles\" class=\"{{ customClass }}\">\n <h2 class=\"{{ headingClass }}\">\n {{ headingTitle }}\n </h2>\n\n <form\n [formGroup]=\"userRequestForm\"\n (ngSubmit)=\"submitForm()\"\n class=\"flex flex-col gap-5 mt-3\"\n >\n <verbena-input\n [label]=\"'First Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"FirstName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'Last Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"LastName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'E-mail Address'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"MailAddress\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [customErrorMessages]=\"{\n required: 'Email address is required',\n email: 'Email address must be valid',\n }\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"!hidePassword\"\n [label]=\"'Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [passwordToggle]=\"true\"\n formControlName=\"Password\"\n [required]=\"true\"\n [type]=\"'password'\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"!hidePassword\"\n [label]=\"'Confirm Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"ConfirmPassword\"\n [showBorder]=\"true\"\n [passwordToggle]=\"true\"\n [bgColor]=\"'white'\"\n [minLength]=\"userRequestForm.controls['Password'].value?.length\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [customErrorMessages]=\"{\n minLength: 'Confirm Password must match password',\n required: 'Confirm Password is required and must match password',\n password: 'Password does not match',\n }\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-button\n [class]=\"'mt-6'\"\n [disable]=\"!this.checkForm()\"\n [text]=\"text\"\n [bgColor]=\"btnBgColor\"\n [textColor]=\"color\"\n [buttonClass]=\"'cursor-not-allowed'\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [pd]=\"btnPd\"\n [ngClass]=\"{\n 'cursor-not-allowed': !checkForm(),\n }\"\n [width]=\"btnWidth\"\n buttonClass=\"font-medium text-[22px] leading-[33px]\"\n ></verbena-button>\n </form>\n\n <div class=\"mt-2\" *ngIf=\"AuthMechanisms !== null\">\n <verben-o-auth [authMechanisms]=\"AuthMechanisms\"></verben-o-auth>\n </div>\n</section>\n\n<!-- <button (click)=\"testDisable()\">Test</button> -->\n", styles: [".flex{display:flex}.items-center{align-items:center}.overflow-hidden{overflow:hidden}.justify-center{justify-content:center}.h-full{height:100%}.text-center{text-align:center}.underline{text-decoration:underline}.gap-5{gap:20px}.mt-4{margin-top:1rem}.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}.gap-1>:not([hidden])~:not([hidden]){gap:.25rem}.pt-3{padding-top:.75rem}.mt-5{margin-top:1.25rem}.border{border-width:1px}.rounded-xl{border-radius:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.flex-col{flex-direction:column}.object-cover{object-fit:cover}.w-full{width:100%}.cursor-not-allowed{cursor:not-allowed!important}.accent{accent-color:#000}.OR{color:#666;gap:6px}.OR span{width:150px;border-top:2px solid #6666663d;display:block}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "fontSize", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "component", type: i4.VerbenaButtonComponent, selector: "verbena-button", inputs: ["text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i6.OAuthComponent, selector: "verben-o-auth", inputs: ["authMechanisms"], outputs: ["emitMechanismFn"] }] });
|
|
276
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserRequestComponent, selector: "lib-user-request", inputs: { width: "width", headingTitle: "headingTitle", headingClass: "headingClass", customClass: "customClass", bgColor: "bgColor", boxShadow: "boxShadow", border: "border", borderRadius: "borderRadius", textColor: "textColor", height: "height", pd: "pd", text: "text", color: "color", btnBorder: "btnBorder", btnBorderRadius: "btnBorderRadius", btnBgColor: "btnBgColor", btnWidth: "btnWidth", btnPd: "btnPd", termsLink: "termsLink", privacyLink: "privacyLink", routerLink: "routerLink" }, outputs: { formSubmit: "formSubmit", googleClick: "googleClick", onSubmitSuccess: "onSubmitSuccess", appleClick: "appleClick", microsoftClick: "microsoftClick", onSubmitGoogleAuth: "onSubmitGoogleAuth", onSubmitResponseEnd: "onSubmitResponseEnd" }, ngImport: i0, template: "<section [ngStyle]=\"styles\" class=\"{{ customClass }}\">\n <h2 class=\"{{ headingClass }}\">\n {{ headingTitle }}\n </h2>\n\n <form\n [formGroup]=\"userRequestForm\"\n (ngSubmit)=\"submitForm()\"\n class=\"flex flex-col gap-5 mt-3\"\n >\n <verbena-input\n [label]=\"'First Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"FirstName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'Last Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"LastName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'E-mail Address'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"MailAddress\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [customErrorMessages]=\"{\n required: 'Email address is required',\n email: 'Email address must be valid',\n }\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"!hidePassword\"\n [label]=\"'Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [passwordToggle]=\"true\"\n formControlName=\"Password\"\n [required]=\"true\"\n [type]=\"'password'\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"!hidePassword\"\n [label]=\"'Confirm Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"ConfirmPassword\"\n [showBorder]=\"true\"\n [passwordToggle]=\"true\"\n [bgColor]=\"'white'\"\n [minLength]=\"userRequestForm.controls['Password'].value?.length\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [customErrorMessages]=\"{\n minLength: 'Confirm Password must match password',\n required: 'Confirm Password is required and must match password',\n password: 'Password does not match',\n }\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-button\n [class]=\"'mt-6'\"\n [disable]=\"!this.checkForm()\"\n [text]=\"text\"\n [bgColor]=\"btnBgColor\"\n [textColor]=\"color\"\n type=\"submit\"\n [buttonClass]=\"'cursor-not-allowed'\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [pd]=\"btnPd\"\n [ngClass]=\"{\n 'cursor-not-allowed': !checkForm(),\n }\"\n [width]=\"btnWidth\"\n buttonClass=\"font-medium text-[22px] leading-[33px]\"\n ></verbena-button>\n </form>\n\n <div class=\"mt-2\" *ngIf=\"AuthMechanisms !== null\">\n <verben-o-auth [authMechanisms]=\"AuthMechanisms\"></verben-o-auth>\n </div>\n</section>\n\n<!-- <button (click)=\"testDisable()\">Test</button> -->\n", styles: [".flex{display:flex}.items-center{align-items:center}.overflow-hidden{overflow:hidden}.justify-center{justify-content:center}.h-full{height:100%}.text-center{text-align:center}.underline{text-decoration:underline}.gap-5{gap:20px}.mt-4{margin-top:1rem}.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}.gap-1>:not([hidden])~:not([hidden]){gap:.25rem}.pt-3{padding-top:.75rem}.mt-5{margin-top:1.25rem}.border{border-width:1px}.rounded-xl{border-radius:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.flex-col{flex-direction:column}.object-cover{object-fit:cover}.w-full{width:100%}.cursor-not-allowed{cursor:not-allowed!important}.accent{accent-color:#000}.OR{color:#666;gap:6px}.OR span{width:150px;border-top:2px solid #6666663d;display:block}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.VerbenaInputComponent, selector: "verbena-input", inputs: ["disabled", "label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "fontSize", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "component", type: i4.VerbenaButtonComponent, selector: "verbena-button", inputs: ["type", "text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i6.OAuthComponent, selector: "verben-o-auth", inputs: ["authMechanisms"], outputs: ["emitMechanismFn"] }] });
|
|
277
277
|
}
|
|
278
278
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRequestComponent, decorators: [{
|
|
279
279
|
type: Component,
|
|
280
|
-
args: [{ selector: 'lib-user-request', template: "<section [ngStyle]=\"styles\" class=\"{{ customClass }}\">\n <h2 class=\"{{ headingClass }}\">\n {{ headingTitle }}\n </h2>\n\n <form\n [formGroup]=\"userRequestForm\"\n (ngSubmit)=\"submitForm()\"\n class=\"flex flex-col gap-5 mt-3\"\n >\n <verbena-input\n [label]=\"'First Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"FirstName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'Last Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"LastName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'E-mail Address'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"MailAddress\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [customErrorMessages]=\"{\n required: 'Email address is required',\n email: 'Email address must be valid',\n }\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"!hidePassword\"\n [label]=\"'Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [passwordToggle]=\"true\"\n formControlName=\"Password\"\n [required]=\"true\"\n [type]=\"'password'\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"!hidePassword\"\n [label]=\"'Confirm Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"ConfirmPassword\"\n [showBorder]=\"true\"\n [passwordToggle]=\"true\"\n [bgColor]=\"'white'\"\n [minLength]=\"userRequestForm.controls['Password'].value?.length\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [customErrorMessages]=\"{\n minLength: 'Confirm Password must match password',\n required: 'Confirm Password is required and must match password',\n password: 'Password does not match',\n }\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-button\n [class]=\"'mt-6'\"\n [disable]=\"!this.checkForm()\"\n [text]=\"text\"\n [bgColor]=\"btnBgColor\"\n [textColor]=\"color\"\n [buttonClass]=\"'cursor-not-allowed'\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [pd]=\"btnPd\"\n [ngClass]=\"{\n 'cursor-not-allowed': !checkForm(),\n }\"\n [width]=\"btnWidth\"\n buttonClass=\"font-medium text-[22px] leading-[33px]\"\n ></verbena-button>\n </form>\n\n <div class=\"mt-2\" *ngIf=\"AuthMechanisms !== null\">\n <verben-o-auth [authMechanisms]=\"AuthMechanisms\"></verben-o-auth>\n </div>\n</section>\n\n<!-- <button (click)=\"testDisable()\">Test</button> -->\n", styles: [".flex{display:flex}.items-center{align-items:center}.overflow-hidden{overflow:hidden}.justify-center{justify-content:center}.h-full{height:100%}.text-center{text-align:center}.underline{text-decoration:underline}.gap-5{gap:20px}.mt-4{margin-top:1rem}.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}.gap-1>:not([hidden])~:not([hidden]){gap:.25rem}.pt-3{padding-top:.75rem}.mt-5{margin-top:1.25rem}.border{border-width:1px}.rounded-xl{border-radius:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.flex-col{flex-direction:column}.object-cover{object-fit:cover}.w-full{width:100%}.cursor-not-allowed{cursor:not-allowed!important}.accent{accent-color:#000}.OR{color:#666;gap:6px}.OR span{width:150px;border-top:2px solid #6666663d;display:block}\n"] }]
|
|
280
|
+
args: [{ selector: 'lib-user-request', template: "<section [ngStyle]=\"styles\" class=\"{{ customClass }}\">\n <h2 class=\"{{ headingClass }}\">\n {{ headingTitle }}\n </h2>\n\n <form\n [formGroup]=\"userRequestForm\"\n (ngSubmit)=\"submitForm()\"\n class=\"flex flex-col gap-5 mt-3\"\n >\n <verbena-input\n [label]=\"'First Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"FirstName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'Last Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"LastName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'E-mail Address'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"MailAddress\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [customErrorMessages]=\"{\n required: 'Email address is required',\n email: 'Email address must be valid',\n }\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"!hidePassword\"\n [label]=\"'Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [passwordToggle]=\"true\"\n formControlName=\"Password\"\n [required]=\"true\"\n [type]=\"'password'\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"!hidePassword\"\n [label]=\"'Confirm Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"ConfirmPassword\"\n [showBorder]=\"true\"\n [passwordToggle]=\"true\"\n [bgColor]=\"'white'\"\n [minLength]=\"userRequestForm.controls['Password'].value?.length\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [customErrorMessages]=\"{\n minLength: 'Confirm Password must match password',\n required: 'Confirm Password is required and must match password',\n password: 'Password does not match',\n }\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-button\n [class]=\"'mt-6'\"\n [disable]=\"!this.checkForm()\"\n [text]=\"text\"\n [bgColor]=\"btnBgColor\"\n [textColor]=\"color\"\n type=\"submit\"\n [buttonClass]=\"'cursor-not-allowed'\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [pd]=\"btnPd\"\n [ngClass]=\"{\n 'cursor-not-allowed': !checkForm(),\n }\"\n [width]=\"btnWidth\"\n buttonClass=\"font-medium text-[22px] leading-[33px]\"\n ></verbena-button>\n </form>\n\n <div class=\"mt-2\" *ngIf=\"AuthMechanisms !== null\">\n <verben-o-auth [authMechanisms]=\"AuthMechanisms\"></verben-o-auth>\n </div>\n</section>\n\n<!-- <button (click)=\"testDisable()\">Test</button> -->\n", styles: [".flex{display:flex}.items-center{align-items:center}.overflow-hidden{overflow:hidden}.justify-center{justify-content:center}.h-full{height:100%}.text-center{text-align:center}.underline{text-decoration:underline}.gap-5{gap:20px}.mt-4{margin-top:1rem}.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}.gap-1>:not([hidden])~:not([hidden]){gap:.25rem}.pt-3{padding-top:.75rem}.mt-5{margin-top:1.25rem}.border{border-width:1px}.rounded-xl{border-radius:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.flex-col{flex-direction:column}.object-cover{object-fit:cover}.w-full{width:100%}.cursor-not-allowed{cursor:not-allowed!important}.accent{accent-color:#000}.OR{color:#666;gap:6px}.OR span{width:150px;border-top:2px solid #6666663d;display:block}\n"] }]
|
|
281
281
|
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.HttpWebRequestService }, { type: i2.UtilService }, { type: i2.EnvironmentService }, { type: i3.ActivatedRoute }], propDecorators: { width: [{
|
|
282
282
|
type: Input
|
|
283
283
|
}], headingTitle: [{
|
|
@@ -335,4 +335,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
335
335
|
}], onSubmitResponseEnd: [{
|
|
336
336
|
type: Output
|
|
337
337
|
}] } });
|
|
338
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yZXF1ZXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1yZXF1ZXN0L3VzZXItcmVxdWVzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItcmVxdWVzdC91c2VyLXJlcXVlc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBR0wsV0FBVyxFQUdYLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBR3hCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUd0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUV4RSxPQUFPLEVBRUwsYUFBYSxHQUNkLE1BQU0seUNBQXlDLENBQUM7QUFJakQsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7QUFNeEUsTUFBTSxPQUFPLG9CQUFvQjtJQTJDckI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQTlDRCxLQUFLLEdBQVcsT0FBTyxDQUFDO0lBQ3hCLFlBQVksR0FBVyxvQkFBb0IsQ0FBQztJQUM1QyxZQUFZLEdBQ25CLG9EQUFvRCxDQUFDO0lBQzlDLFdBQVcsR0FBVyxF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TTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQU1HLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFFRyxtQkFBbUI7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQnVpbGRlcixcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Hcm91cCxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSHR0cFdlYlJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvc2VydmljZXMnO1xuaW1wb3J0IHsgVXNlclJlcXVlc3RQYXlsb2FkIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IE9iamVjdFN0YXRlIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvc2VydmljZXMnO1xuaW1wb3J0IHsgUmVzcG9uc2VLZXlWYWx1ZSB9IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL21vZGVscyc7XG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL21vZGVscyc7XG5pbXBvcnQgeyBSZXF1ZXN0U3RhdHVzIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL3NlcnZpY2VzJztcbmltcG9ydCB7XG4gIEF1dGhNZWNoYW5pc20sXG4gIE1lY2hhbmlzbVR5cGUsXG59IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL21vZGVscyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPQXV0aFJlc3BvbnNlIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IFJvbGUgfSBmcm9tICd2ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IENyeXB0b0pTIGZyb20gJ2NyeXB0by1qcyc7XG5pbXBvcnQgeyBVc2VyQWdlbnRUeXBlIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvbW9kZWxzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi11c2VyLXJlcXVlc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1yZXF1ZXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdXNlci1yZXF1ZXN0LmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVXNlclJlcXVlc3RDb21wb25lbnQge1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJzUwMHB4JztcbiAgQElucHV0KCkgaGVhZGluZ1RpdGxlOiBzdHJpbmcgPSAnUmVxdWVzdCBhbiBhY2NvdW50JztcbiAgQElucHV0KCkgaGVhZGluZ0NsYXNzOiBzdHJpbmcgPVxuICAgICdmb250LW1lZGl1bSB0ZXh0LVsycmVtXSBsZWFkaW5nLVs0OHB4XSB0ZXh0LVsjMzMzXSc7XG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYmdDb2xvcjogc3RyaW5nID0gJyNmZmYnO1xuICBASW5wdXQoKSBib3hTaGFkb3c6IHN0cmluZyA9ICc0cHggNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpJztcbiAgQElucHV0KCkgYm9yZGVyOiBzdHJpbmcgPSAnMXB4IHNvbGlkICM2NjY2NjY4MCc7XG4gIEBJbnB1dCgpIGJvcmRlclJhZGl1czogc3RyaW5nID0gJzI0cHgnO1xuICBASW5wdXQoKSB0ZXh0Q29sb3I6IHN0cmluZyA9ICcjMzMzJztcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSAnYXV0byc7XG4gIEBJbnB1dCgpIHBkOiBzdHJpbmcgPSAnMzJweCA0OHB4JztcbiAgaXNGb3JtRWRpdGFibGU6IGJvb2xlYW4gPSB0cnVlO1xuICB0ZW5hbnQ6IHN0cmluZyA9ICcnO1xuICBzZWNyZXQ6IHN0cmluZztcbiAgaGlkZVBhc3N3b3JkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzQ29kZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSB0ZXh0OiBzdHJpbmcgPSAnU2VuZCBSZXF1ZXN0JztcbiAgQElucHV0KCkgY29sb3I6IHN0cmluZyA9ICdibGFjayc7XG4gIEBJbnB1dCgpIGJ0bkJvcmRlcjogc3RyaW5nID0gJzFweCBzb2xpZCAjRkZFNjgxJztcbiAgQElucHV0KCkgYnRuQm9yZGVyUmFkaXVzOiBzdHJpbmcgPSAnNDBweCc7XG4gIEBJbnB1dCgpIGJ0bkJnQ29sb3I6IHN0cmluZyA9ICcjRkZFNjgxJztcbiAgQElucHV0KCkgYnRuV2lkdGg6IHN0cmluZyA9ICcxMDAlJztcbiAgQElucHV0KCkgYnRuUGQ6IHN0cmluZyA9ICcxMHB4IDIwcHgnO1xuICBASW5wdXQoKSB0ZXJtc0xpbms6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwcml2YWN5TGluazogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHJvdXRlckxpbms6IHN0cmluZyA9ICcnO1xuICBAT3V0cHV0KCkgZm9ybVN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8VXNlclJlcXVlc3RQYXlsb2FkW10+KCk7XG4gIEBPdXRwdXQoKSBnb29nbGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uU3VibWl0U3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgYXBwbGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG1pY3Jvc29mdENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25TdWJtaXRHb29nbGVBdXRoOiBFdmVudEVtaXR0ZXI8UmVzcG9uc2VLZXlWYWx1ZSB8IEVycm9yUmVzcG9uc2U+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvblN1Ym1pdFJlc3BvbnNlRW5kOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgdXNlclJlcXVlc3RGb3JtOiBGb3JtR3JvdXA7XG4gIHRlbmFudERldGFpbHM6IGFueSB8IG51bGwgPSBudWxsO1xuICBBdXRoTWVjaGFuaXNtczogQXV0aE1lY2hhbmlzbVtdIHwgbnVsbCA9IG51bGw7XG4gIHNob3dmb3JtOiBib29sZWFuID0gZmFsc2U7XG4gIGNvZGU6IHN0cmluZyA9ICcnO1xuICB0eXBlOiBzdHJpbmcgPSAnJztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBzZXJ2ZXI6IEh0dHBXZWJSZXF1ZXN0U2VydmljZSxcbiAgICBwcml2YXRlIHV0aWxTZXJ2aWNlOiBVdGlsU2VydmljZSxcbiAgICBwcml2YXRlIGVudlN2YzogRW52aXJvbm1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICApIHtcbiAgICB0aGlzLnNlY3JldCA9IHRoaXMuZW52U3ZjLmVudmlyb25tZW50LlNlY3JldDtcbiAgICB0aGlzLnVzZXJSZXF1ZXN0Rm9ybSA9IHRoaXMuZmIuZ3JvdXA8e1xuICAgICAgW0sgaW4ga2V5b2YgVXNlclJlcXVlc3RQYXlsb2FkXTogRm9ybUNvbnRyb2w8VXNlclJlcXVlc3RQYXlsb2FkW0tdPjtcbiAgICB9PihcbiAgICAgIHtcbiAgICAgICAgQ29kZTogbmV3IEZvcm1Db250cm9sKCcnLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pLFxuICAgICAgICBGaXJzdE5hbWU6IG5ldyBGb3JtQ29udHJvbCgnJywge1xuICAgICAgICAgIG5vbk51bGxhYmxlOiB0cnVlLFxuICAgICAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgfSksXG4gICAgICAgIExhc3ROYW1lOiBuZXcgRm9ybUNvbnRyb2woJycsIHtcbiAgICAgICAgICBub25OdWxsYWJsZTogdHJ1ZSxcbiAgICAgICAgICB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgIH0pLFxuICAgICAgICBNYWlsQWRkcmVzczogbmV3IEZvcm1Db250cm9sKCcnLCB7XG4gICAgICAgICAgbm9uTnVsbGFibGU6IHRydWUsXG4gICAgICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdLFxuICAgICAgICB9KSxcbiAgICAgICAgUGFzc3dvcmQ6IG5ldyBGb3JtQ29udHJvbCgnJywge1xuICAgICAgICAgIG5vbk51bGxhYmxlOiB0cnVlLFxuICAgICAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg4KV0sXG4gICAgICAgIH0pLFxuICAgICAgICBQaG9uZU51bWJlcjogbmV3IEZvcm1Db250cm9sKCcnLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pLFxuICAgICAgICBPdGhlck5hbWU6IG5ldyBGb3JtQ29udHJvbCgnJywgeyBub25OdWxsYWJsZTogdHJ1ZSB9KSxcbiAgICAgICAgUm9sZTogbmV3IEZvcm1Db250cm9sPFJvbGU+KFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIE5hbWU6ICcnLFxuICAgICAgICAgICAgRGVzY3JpcHRpb246ICcnLFxuICAgICAgICAgICAgQXBwbGljYXRpb246ICcnLFxuICAgICAgICAgICAgUm9sZUNvbnRleHRzOiBbXSxcbiAgICAgICAgICAgIEFQSUtleTogJycsXG4gICAgICAgICAgICBJZDogJycsXG4gICAgICAgICAgICBpZDogJycsXG4gICAgICAgICAgICBTZXJ2aWNlTmFtZTogJycsXG4gICAgICAgICAgICBDcmVhdGVkQXQ6IG5ldyBEYXRlKCksXG4gICAgICAgICAgICBVcGRhdGVkQXQ6IG5ldyBEYXRlKCksXG4gICAgICAgICAgICBEYXRhU3RhdGU6IE9iamVjdFN0YXRlLk5ldyxcbiAgICAgICAgICAgIFRlbmFudElkOiAnJyxcbiAgICAgICAgICAgIENvZGU6ICcnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgeyBub25OdWxsYWJsZTogdHJ1ZSB9LFxuICAgICAgICApLFxuICAgICAgICBUYWdzOiBuZXcgRm9ybUNvbnRyb2w8W10+KFtdLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pLFxuICAgICAgICBTdGF0dXM6IG5ldyBGb3JtQ29udHJvbDxTdGF0dXM+KFN0YXR1cy5BY3RpdmUsIHsgbm9uTnVsbGFibGU6IHRydWUgfSksXG4gICAgICAgIFJlcXVlc3RTdGF0dXM6IG5ldyBGb3JtQ29udHJvbDxSZXF1ZXN0U3RhdHVzPihSZXF1ZXN0U3RhdHVzLlBlbmRpbmcsIHtcbiAgICAgICAgICBub25OdWxsYWJsZTogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICAgIFVwZGF0ZWRBdDogbmV3IEZvcm1Db250cm9sKG5ldyBEYXRlKCksIHsgbm9uTnVsbGFibGU6IHRydWUgfSksXG4gICAgICAgIENyZWF0ZWRBdDogbmV3IEZvcm1Db250cm9sKG5ldyBEYXRlKCksIHsgbm9uTnVsbGFibGU6IHRydWUgfSksXG4gICAgICAgIElkOiBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSksXG4gICAgICAgIERhdGFTdGF0ZTogbmV3IEZvcm1Db250cm9sPE9iamVjdFN0YXRlPihPYmplY3RTdGF0ZS5OZXcsIHtcbiAgICAgICAgICBub25OdWxsYWJsZTogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICAgIFRlbmFudElkOiBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSksXG4gICAgICAgIFRva2VuOiBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSksXG4gICAgICAgIFNpZ25VcFR5cGU6IG5ldyBGb3JtQ29udHJvbChNZWNoYW5pc21UeXBlLkluQXBwLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pLFxuICAgICAgICBTZXJ2aWNlTmFtZTogbmV3IEZvcm1Db250cm9sKCcnLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pLFxuICAgICAgICBBY3Rpb25CeTogbmV3IEZvcm1Db250cm9sKCcnLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pLFxuICAgICAgICBDb21tZW50OiBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSksXG4gICAgICB9LFxuICAgICAgeyB2YWxpZGF0b3JzOiB0aGlzLnBhc3N3b3JkTWF0Y2hWYWxpZGF0b3IgfSxcbiAgICApO1xuICB9XG4gIHBhc3N3b3JkTWF0Y2hWYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IHBhc3N3b3JkID0gY29udHJvbC5nZXQoJ1Bhc3N3b3JkJyk/LnZhbHVlO1xuICAgIGNvbnN0IGNvbmZpcm1QYXNzd29yZCA9IGNvbnRyb2wuZ2V0KCdDb25maXJtUGFzc3dvcmQnKT8udmFsdWU7XG5cbiAgICByZXR1cm4gcGFzc3dvcmQgPT09IGNvbmZpcm1QYXNzd29yZCA/IG51bGwgOiB7IHBhc3N3b3JkTWlzbWF0Y2g6IHRydWUgfTtcbiAgfVxuXG4gIGdldCBwYXNzd29yZE1pc21hdGNoRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudXNlclJlcXVlc3RGb3JtLmhhc0Vycm9yKCdwYXNzd29yZE1pc21hdGNoJyk7XG4gIH1cblxuICBnZXQgc3R5bGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAnYmFja2dyb3VuZC1jb2xvcic6IHRoaXMuYmdDb2xvcixcbiAgICAgICdib3gtc2hhZG93JzogdGhpcy5ib3hTaGFkb3csXG4gICAgICBib3JkZXI6IHRoaXMuYm9yZGVyLFxuICAgICAgJ2JvcmRlci1yYWRpdXMnOiB0aGlzLmJvcmRlclJhZGl1cyxcbiAgICAgIGNvbG9yOiB0aGlzLnRleHRDb2xvcixcbiAgICAgICdtYXgtd2lkdGgnOiB0aGlzLndpZHRoLFxuICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCxcbiAgICAgIHBhZGRpbmc6IHRoaXMucGQsXG4gICAgfTtcbiAgfVxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICBhd2FpdCB0aGlzLmdldFRlbmFudENvbmZpZygpO1xuICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKChwYXJhbXMpID0+IHtcbiAgICAgIHRoaXMuY29kZSA9IHBhcmFtc1snY29kZSddO1xuICAgICAgdGhpcy50eXBlID0gcGFyYW1zWyd0eXBlJ107XG4gICAgICBpZiAodGhpcy5jb2RlKSB7XG4gICAgICAgIHRoaXMudmVyaWZ5VXNlckRldGFpbHMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGdldFRlbmFudENvbmZpZygpIHtcbiAgICB0aGlzLnVzZXJSZXF1ZXN0Rm9ybS5hZGRDb250cm9sKFxuICAgICAgJ0NvbmZpcm1QYXNzd29yZCcsXG4gICAgICBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICk7XG4gICAgY29uc3QgaXNMb2NhbGhvc3QgPSB3aW5kb3c/LmxvY2F0aW9uPy5ob3N0bmFtZSA9PT0gJ2xvY2FsaG9zdCc7XG4gICAgY29uc3QgcGF5bG9hZCA9IGlzTG9jYWxob3N0XG4gICAgICA/IHtcbiAgICAgICAgICBLZXk6ICdVcmxLZXknLFxuICAgICAgICAgIFZhbHVlOiAnaHR0cHM6Ly9ib3Zhcy53aGl0ZTM2MC5uZXQnLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnNlcnZlci5wb3N0KGBHZXRUZW5hbnRDb25maWdCeVVybEtleWAsIHBheWxvYWQpO1xuICAgIHRoaXMudGVuYW50RGV0YWlscyA9IHJlcztcbiAgICB0aGlzLnRlbmFudCA9IHRoaXMudGVuYW50RGV0YWlscy5UZW5hbnRJZDtcblxuICAgIHRoaXMuQXV0aE1lY2hhbmlzbXMgPSB0aGlzLnRlbmFudERldGFpbHM/LkF1dGhNZWNoYW5pc21zPy5maWx0ZXIoXG4gICAgICAobTogQXV0aE1lY2hhbmlzbSkgPT4gbS5Vc2VyQWdlbnQgPT09IFVzZXJBZ2VudFR5cGUuV2ViLFxuICAgICk7XG4gICAgaWYgKFxuICAgICAgIXRoaXMudGVuYW50RGV0YWlscz8uQXV0aE1lY2hhbmlzbSAmJlxuICAgICAgdGhpcy50ZW5hbnREZXRhaWxzPy5BdXRoTWVjaGFuaXNtICE9PSBNZWNoYW5pc21UeXBlLkluQXBwXG4gICAgKSB7XG4gICAgICB0aGlzLnNob3dmb3JtID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRlbmFudERldGFpbHM/LkF1dGhNZWNoYW5pc20gPT09IE1lY2hhbmlzbVR5cGUuSW5BcHApIHtcbiAgICAgIC8vICB0aGlzLnNob3dmb3JtID0gZmFsc2U7XG4gICAgICB0aGlzLnNob3dmb3JtID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuQXV0aE1lY2hhbmlzbXMgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuc2hvd2Zvcm0gPSB0aGlzLkF1dGhNZWNoYW5pc21zLnNvbWUoKGl0ZW0pID0+XG4gICAgICAgIGl0ZW0uQXV0aE1lY2hhbmlzbS5pbmNsdWRlcyhNZWNoYW5pc21UeXBlLkluQXBwKSxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICghdGhpcy5zaG93Zm9ybSkge1xuICAgICAgdGhpcy51c2VyUmVxdWVzdEZvcm0uZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVzZXJSZXF1ZXN0Rm9ybS5lbmFibGUoKTtcbiAgICB9XG4gIH1cbiAgY2hlY2tGb3JtKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJSZXF1ZXN0Rm9ybS52YWxpZCB8fCB0aGlzLnVzZXJSZXF1ZXN0Rm9ybS5kaXNhYmxlZDtcbiAgfVxuICBoYW5kbGVHb29nbGVBdXRoKCkge1xuICAgIGlmICh0aGlzLkF1dGhNZWNoYW5pc21zICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBkYXRhID0gdGhpcy5BdXRoTWVjaGFuaXNtcy5maWx0ZXIoXG4gICAgICAgIChpdGVtKSA9PiBpdGVtLkF1dGhNZWNoYW5pc20gPT09IE1lY2hhbmlzbVR5cGUuR29vZ2xlLFxuICAgICAgKTtcbiAgICAgIHRoaXMuZ29vZ2xlQ2xpY2suZW1pdCgpO1xuICAgIH1cbiAgfVxuICBoYW5kbGVBcHBsZUF1dGgoKSB7XG4gICAgdGhpcy5hcHBsZUNsaWNrLmVtaXQoKTtcbiAgfVxuICBoYW5kbGVNaWNyb3NvZnQoKSB7XG4gICAgaWYgKHRoaXMuQXV0aE1lY2hhbmlzbXMgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLkF1dGhNZWNoYW5pc21zLmZpbHRlcihcbiAgICAgICAgKGl0ZW0pID0+IGl0ZW0uQXV0aE1lY2hhbmlzbSA9PT0gTWVjaGFuaXNtVHlwZS5NaWNyb3NvZnQsXG4gICAgICApO1xuICAgICAgdGhpcy5taWNyb3NvZnRDbGljay5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc3VibWl0Rm9ybSgpIHtcbiAgICBpZiAoIXRoaXMuY2hlY2tGb3JtKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLnVzZXJSZXF1ZXN0Rm9ybS5nZXRSYXdWYWx1ZSgpO1xuICAgIGNvbnN0IGhhc2hlZFBhc3N3b3JkID0gQ3J5cHRvSlMuTUQ1KFxuICAgICAgdGhpcy51c2VyUmVxdWVzdEZvcm0uY29udHJvbHNbJ1Bhc3N3b3JkJ10udmFsdWUsXG4gICAgKS50b1N0cmluZygpO1xuICAgIGNvbnN0IHsgQ29uZmlybVBhc3N3b3JkLCBUZW5hbnRJZCwgLi4ucmVzdCB9ID0gZm9ybVZhbHVlO1xuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICAuLi5yZXN0LFxuICAgICAgVGVuYW50SWQ6IHRoaXMudGVuYW50RGV0YWlscy5UZW5hbnRJZCxcbiAgICAgIFBhc3N3b3JkOiBoYXNoZWRQYXNzd29yZCxcbiAgICB9O1xuXG4gICAgY29uc3QgcGF5bG9hZFRvU3VibWl0OiBVc2VyUmVxdWVzdFBheWxvYWRbXSA9IFtwYXlsb2FkXTtcblxuICAgIHRoaXMuZm9ybVN1Ym1pdC5lbWl0KHBheWxvYWRUb1N1Ym1pdCk7XG4gICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkodHJ1ZSk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5zZXJ2ZXIucG9zdChcbiAgICAgICAgYFNhdmVVc2VyQWNjZXNzUmVxdWVzdHNgLFxuICAgICAgICBwYXlsb2FkVG9TdWJtaXQsXG4gICAgICApO1xuXG4gICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNlbmRCSShmYWxzZSk7XG5cbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMub25TdWJtaXRSZXNwb25zZUVuZC5lbWl0KHJlcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZXN1bHQgPSByZXMgYXMgUmVzcG9uc2VLZXlWYWx1ZTtcbiAgICAgICAgdGhpcy5vblN1Ym1pdFJlc3BvbnNlRW5kLmVtaXQocmVzdWx0KTtcbiAgICAgICAgdGhpcy5vblN1Ym1pdFN1Y2Nlc3MuZW1pdChyZXN1bHQpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNlbmRCSShmYWxzZSk7XG4gICAgICBjb25zb2xlLmVycm9yKCdVbmV4cGVjdGVkIGVycm9yOicsIGVycm9yKTtcbiAgICAgIHRoaXMub25TdWJtaXRSZXNwb25zZUVuZC5lbWl0KGVycm9yKTtcbiAgICB9XG4gIH1cbiAgYXN5bmMgdmVyaWZ5VXNlckRldGFpbHMoKSB7XG4gICAgaWYgKHRoaXMuQXV0aE1lY2hhbmlzbXMgIT09IG51bGwgJiYgdGhpcy50ZW5hbnQpIHtcbiAgICAgIGNvbnN0IGRhdGE6IGFueSA9IHRoaXMuQXV0aE1lY2hhbmlzbXMuZmluZCgoaXRlbSkgPT5cbiAgICAgICAgaXRlbS5BdXRoTWVjaGFuaXNtLmluY2x1ZGVzKHRoaXMudHlwZSksXG4gICAgICApO1xuICAgICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgQXV0aENvZGU6IHRoaXMuY29kZSxcbiAgICAgICAgVGVuYW50OiB0aGlzLnRlbmFudCxcbiAgICAgICAgQXV0aE1lY2hhbmlzbTogZGF0YS5BdXRoTWVjaGFuaXNtLFxuICAgICAgfTtcblxuICAgICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkodHJ1ZSk7XG4gICAgICBjb25zdCByZXM6IE9BdXRoUmVzcG9uc2UgPSBhd2FpdCB0aGlzLnNlcnZlci5wb3N0KFxuICAgICAgICBgR2V0VXNlckRldGFpbHNgLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgKTtcbiAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKGZhbHNlKTtcbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMub25TdWJtaXRHb29nbGVBdXRoLmVtaXQocmVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudXNlclJlcXVlc3RGb3JtLmNvbnRyb2xzWydGaXJzdE5hbWUnXS5zZXRWYWx1ZShyZXMuRmlyc3ROYW1lKTtcbiAgICAgICAgdGhpcy51c2VyUmVxdWVzdEZvcm0uY29udHJvbHNbJ0xhc3ROYW1lJ10uc2V0VmFsdWUocmVzLkxhc3ROYW1lKTtcbiAgICAgICAgdGhpcy51c2VyUmVxdWVzdEZvcm0uY29udHJvbHNbJ01haWxBZGRyZXNzJ10uc2V0VmFsdWUocmVzLkVtYWlsKTtcbiAgICAgICAgdGhpcy51c2VyUmVxdWVzdEZvcm0uY29udHJvbHNbJ1Rva2VuJ10uc2V0VmFsdWUocmVzLkFjY2Vzc1Rva2VuKTtcbiAgICAgICAgdGhpcy51c2VyUmVxdWVzdEZvcm0uY29udHJvbHNbJ1NpZ25VcFR5cGUnXS5zZXRWYWx1ZSh0aGlzLnR5cGUpO1xuICAgICAgICB0aGlzLnVzZXJSZXF1ZXN0Rm9ybS5jb250cm9sc1snUGFzc3dvcmQnXS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgdGhpcy51c2VyUmVxdWVzdEZvcm0uY29udHJvbHNbJ1Bhc3N3b3JkJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB0aGlzLnVzZXJSZXF1ZXN0Rm9ybS5jb250cm9sc1snQ29uZmlybVBhc3N3b3JkJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgIHRoaXMudXNlclJlcXVlc3RGb3JtLmNvbnRyb2xzW1xuICAgICAgICAgICdDb25maXJtUGFzc3dvcmQnXG4gICAgICAgIF0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB0aGlzLmhpZGVQYXNzd29yZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGVzdERpc2FibGUoKSB7XG4gICAgdGhpcy51c2VyUmVxdWVzdEZvcm0uY29udHJvbHNbJ0ZpcnN0TmFtZSddLnNldFZhbHVlKCdKZWNpbCcpO1xuICAgIHRoaXMudXNlclJlcXVlc3RGb3JtLmNvbnRyb2xzWydMYXN0TmFtZSddLnNldFZhbHVlKCdPa2VrZScpO1xuICAgIHRoaXMudXNlclJlcXVlc3RGb3JtLmNvbnRyb2xzWydNYWlsQWRkcmVzcyddLnNldFZhbHVlKFxuICAgICAgJ2plY2lsb2tla2VAZ21haWwuY29tJyxcbiAgICApO1xuICAgIHRoaXMudXNlclJlcXVlc3RGb3JtLmNvbnRyb2xzWydUb2tlbiddLnNldFZhbHVlKCdoc2Rqc3NkJyk7XG4gICAgdGhpcy51c2VyUmVxdWVzdEZvcm0uY29udHJvbHNbJ1NpZ25VcFR5cGUnXS5zZXRWYWx1ZSh0aGlzLnR5cGUpO1xuICAgIHRoaXMudXNlclJlcXVlc3RGb3JtLmNvbnRyb2xzWydQYXNzd29yZCddLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgIHRoaXMudXNlclJlcXVlc3RGb3JtLmNvbnRyb2xzWydQYXNzd29yZCddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLnVzZXJSZXF1ZXN0Rm9ybS5jb250cm9sc1snQ29uZmlybVBhc3N3b3JkJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgdGhpcy51c2VyUmVxdWVzdEZvcm0uY29udHJvbHNbJ0NvbmZpcm1QYXNzd29yZCddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLmhpZGVQYXNzd29yZCA9IHRydWU7XG4gIH1cbn1cbiIsIjxzZWN0aW9uIFtuZ1N0eWxlXT1cInN0eWxlc1wiIGNsYXNzPVwie3sgY3VzdG9tQ2xhc3MgfX1cIj5cbiAgPGgyIGNsYXNzPVwie3sgaGVhZGluZ0NsYXNzIH19XCI+XG4gICAge3sgaGVhZGluZ1RpdGxlIH19XG4gIDwvaDI+XG5cbiAgPGZvcm1cbiAgICBbZm9ybUdyb3VwXT1cInVzZXJSZXF1ZXN0Rm9ybVwiXG4gICAgKG5nU3VibWl0KT1cInN1Ym1pdEZvcm0oKVwiXG4gICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC01IG10LTNcIlxuICA+XG4gICAgPHZlcmJlbmEtaW5wdXRcbiAgICAgIFtsYWJlbF09XCInRmlyc3QgTmFtZSdcIlxuICAgICAgW2xhYmVsQ29sb3JdPVwiJyM2NjYnXCJcbiAgICAgIFtwbGFjZUhvbGRlcl09XCInJ1wiXG4gICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICBbdHlwZV09XCIndGV4dCdcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiRmlyc3ROYW1lXCJcbiAgICAgIFtzaG93Qm9yZGVyXT1cInRydWVcIlxuICAgICAgW2JnQ29sb3JdPVwiJ3doaXRlJ1wiXG4gICAgICBbYm9yZGVyXT1cIicxcHggc29saWQgIzY2NjY2NjU5J1wiXG4gICAgICBbYm9yZGVyUmFkaXVzXT1cIicxMnB4J1wiXG4gICAgICBbc2hvd0Vycm9yTWVzc2FnZV09XCJ0cnVlXCJcbiAgICAgIFtlcnJvck1lc3NhZ2VDb2xvcl09XCIncmVkJ1wiXG4gICAgICBbZXJyb3JCb3JkZXJDb2xvcl09XCIncmVkJ1wiXG4gICAgICBbZXJyb3JQb3NpdGlvbl09XCInYm90dG9tJ1wiXG4gICAgICBjbGFzcz1cIm91dGxpbmUtbm9uZSBmb2N1cy1ub25lXCJcbiAgICA+PC92ZXJiZW5hLWlucHV0PlxuICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICBbbGFiZWxdPVwiJ0xhc3QgTmFtZSdcIlxuICAgICAgW2xhYmVsQ29sb3JdPVwiJyM2NjYnXCJcbiAgICAgIFtwbGFjZUhvbGRlcl09XCInJ1wiXG4gICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICBbdHlwZV09XCIndGV4dCdcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiTGFzdE5hbWVcIlxuICAgICAgW3Nob3dCb3JkZXJdPVwidHJ1ZVwiXG4gICAgICBbYmdDb2xvcl09XCInd2hpdGUnXCJcbiAgICAgIFtib3JkZXJdPVwiJzFweCBzb2xpZCAjNjY2NjY2NTknXCJcbiAgICAgIFtib3JkZXJSYWRpdXNdPVwiJzEycHgnXCJcbiAgICAgIFtzaG93RXJyb3JNZXNzYWdlXT1cInRydWVcIlxuICAgICAgW2Vycm9yTWVzc2FnZUNvbG9yXT1cIidyZWQnXCJcbiAgICAgIFtlcnJvckJvcmRlckNvbG9yXT1cIidyZWQnXCJcbiAgICAgIFtlcnJvclBvc2l0aW9uXT1cIidib3R0b20nXCJcbiAgICAgIGNsYXNzPVwib3V0bGluZS1ub25lIGZvY3VzLW5vbmVcIlxuICAgID48L3ZlcmJlbmEtaW5wdXQ+XG4gICAgPHZlcmJlbmEtaW5wdXRcbiAgICAgIFtsYWJlbF09XCInRS1tYWlsIEFkZHJlc3MnXCJcbiAgICAgIFtsYWJlbENvbG9yXT1cIicjNjY2J1wiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJydcIlxuICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgW3R5cGVdPVwiJ2VtYWlsJ1wiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJNYWlsQWRkcmVzc1wiXG4gICAgICBbc2hvd0JvcmRlcl09XCJ0cnVlXCJcbiAgICAgIFtiZ0NvbG9yXT1cIid3aGl0ZSdcIlxuICAgICAgW2JvcmRlcl09XCInMXB4IHNvbGlkICM2NjY2NjY1OSdcIlxuICAgICAgW2JvcmRlclJhZGl1c109XCInMTJweCdcIlxuICAgICAgW3Nob3dFcnJvck1lc3NhZ2VdPVwidHJ1ZVwiXG4gICAgICBbY3VzdG9tRXJyb3JNZXNzYWdlc109XCJ7XG4gICAgICAgIHJlcXVpcmVkOiAnRW1haWwgYWRkcmVzcyBpcyByZXF1aXJlZCcsXG4gICAgICAgIGVtYWlsOiAnRW1haWwgYWRkcmVzcyBtdXN0IGJlIHZhbGlkJyxcbiAgICAgIH1cIlxuICAgICAgW2Vycm9yTWVzc2FnZUNvbG9yXT1cIidyZWQnXCJcbiAgICAgIFtlcnJvckJvcmRlckNvbG9yXT1cIidyZWQnXCJcbiAgICAgIFtlcnJvclBvc2l0aW9uXT1cIidib3R0b20nXCJcbiAgICAgIGNsYXNzPVwib3V0bGluZS1ub25lIGZvY3VzLW5vbmVcIlxuICAgID48L3ZlcmJlbmEtaW5wdXQ+XG5cbiAgICA8dmVyYmVuYS1pbnB1dFxuICAgICAgKm5nSWY9XCIhaGlkZVBhc3N3b3JkXCJcbiAgICAgIFtsYWJlbF09XCInUGFzc3dvcmQnXCJcbiAgICAgIFtsYWJlbENvbG9yXT1cIicjNjY2J1wiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJydcIlxuICAgICAgW3Bhc3N3b3JkVG9nZ2xlXT1cInRydWVcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiUGFzc3dvcmRcIlxuICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgW3R5cGVdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICBbc2hvd0JvcmRlcl09XCJ0cnVlXCJcbiAgICAgIFtiZ0NvbG9yXT1cIid3aGl0ZSdcIlxuICAgICAgW2JvcmRlcl09XCInMXB4IHNvbGlkICM2NjY2NjY1OSdcIlxuICAgICAgW2JvcmRlclJhZGl1c109XCInMTJweCdcIlxuICAgICAgW3Nob3dFcnJvck1lc3NhZ2VdPVwidHJ1ZVwiXG4gICAgICBbZXJyb3JNZXNzYWdlQ29sb3JdPVwiJ3JlZCdcIlxuICAgICAgW2Vycm9yQm9yZGVyQ29sb3JdPVwiJ3JlZCdcIlxuICAgICAgW2Vycm9yUG9zaXRpb25dPVwiJ2JvdHRvbSdcIlxuICAgICAgY2xhc3M9XCJvdXRsaW5lLW5vbmUgZm9jdXMtbm9uZVwiXG4gICAgPjwvdmVyYmVuYS1pbnB1dD5cblxuICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICAqbmdJZj1cIiFoaWRlUGFzc3dvcmRcIlxuICAgICAgW2xhYmVsXT1cIidDb25maXJtIFBhc3N3b3JkJ1wiXG4gICAgICBbbGFiZWxDb2xvcl09XCInIzY2NidcIlxuICAgICAgW3BsYWNlSG9sZGVyXT1cIicnXCJcbiAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgIFt0eXBlXT1cIidwYXNzd29yZCdcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiQ29uZmlybVBhc3N3b3JkXCJcbiAgICAgIFtzaG93Qm9yZGVyXT1cInRydWVcIlxuICAgICAgW3Bhc3N3b3JkVG9nZ2xlXT1cInRydWVcIlxuICAgICAgW2JnQ29sb3JdPVwiJ3doaXRlJ1wiXG4gICAgICBbbWluTGVuZ3RoXT1cInVzZXJSZXF1ZXN0Rm9ybS5jb250cm9sc1snUGFzc3dvcmQnXS52YWx1ZT8ubGVuZ3RoXCJcbiAgICAgIFtib3JkZXJdPVwiJzFweCBzb2xpZCAjNjY2NjY2NTknXCJcbiAgICAgIFtib3JkZXJSYWRpdXNdPVwiJzEycHgnXCJcbiAgICAgIFtzaG93RXJyb3JNZXNzYWdlXT1cInRydWVcIlxuICAgICAgW2Vycm9yTWVzc2FnZUNvbG9yXT1cIidyZWQnXCJcbiAgICAgIFtjdXN0b21FcnJvck1lc3NhZ2VzXT1cIntcbiAgICAgICAgbWluTGVuZ3RoOiAnQ29uZmlybSBQYXNzd29yZCBtdXN0IG1hdGNoIHBhc3N3b3JkJyxcbiAgICAgICAgcmVxdWlyZWQ6ICdDb25maXJtIFBhc3N3b3JkIGlzIHJlcXVpcmVkIGFuZCBtdXN0IG1hdGNoIHBhc3N3b3JkJyxcbiAgICAgICAgcGFzc3dvcmQ6ICdQYXNzd29yZCBkb2VzIG5vdCBtYXRjaCcsXG4gICAgICB9XCJcbiAgICAgIFtlcnJvckJvcmRlckNvbG9yXT1cIidyZWQnXCJcbiAgICAgIFtlcnJvclBvc2l0aW9uXT1cIidib3R0b20nXCJcbiAgICAgIGNsYXNzPVwib3V0bGluZS1ub25lIGZvY3VzLW5vbmVcIlxuICAgID48L3ZlcmJlbmEtaW5wdXQ+XG5cbiAgICA8dmVyYmVuYS1idXR0b25cbiAgICAgIFtjbGFzc109XCInbXQtNidcIlxuICAgICAgW2Rpc2FibGVdPVwiIXRoaXMuY2hlY2tGb3JtKClcIlxuICAgICAgW3RleHRdPVwidGV4dFwiXG4gICAgICBbYmdDb2xvcl09XCJidG5CZ0NvbG9yXCJcbiAgICAgIFt0ZXh0Q29sb3JdPVwiY29sb3JcIlxuICAgICAgW2J1dHRvbkNsYXNzXT1cIidjdXJzb3Itbm90LWFsbG93ZWQnXCJcbiAgICAgIFtib3JkZXJdPVwiYnRuQm9yZGVyXCJcbiAgICAgIFtib3JkZXJSYWRpdXNdPVwiYnRuQm9yZGVyUmFkaXVzXCJcbiAgICAgIFtwZF09XCJidG5QZFwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdjdXJzb3Itbm90LWFsbG93ZWQnOiAhY2hlY2tGb3JtKCksXG4gICAgICB9XCJcbiAgICAgIFt3aWR0aF09XCJidG5XaWR0aFwiXG4gICAgICBidXR0b25DbGFzcz1cImZvbnQtbWVkaXVtIHRleHQtWzIycHhdIGxlYWRpbmctWzMzcHhdXCJcbiAgICA+PC92ZXJiZW5hLWJ1dHRvbj5cbiAgPC9mb3JtPlxuXG4gIDxkaXYgY2xhc3M9XCJtdC0yXCIgKm5nSWY9XCJBdXRoTWVjaGFuaXNtcyAhPT0gbnVsbFwiPlxuICAgIDx2ZXJiZW4tby1hdXRoIFthdXRoTWVjaGFuaXNtc109XCJBdXRoTWVjaGFuaXNtc1wiPjwvdmVyYmVuLW8tYXV0aD5cbiAgPC9kaXY+XG48L3NlY3Rpb24+XG5cbjwhLS0gPGJ1dHRvbiAoY2xpY2spPVwidGVzdERpc2FibGUoKVwiPlRlc3Q8L2J1dHRvbj4gLS0+XG4iXX0=
|
|
338
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yZXF1ZXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1yZXF1ZXN0L3VzZXItcmVxdWVzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItcmVxdWVzdC91c2VyLXJlcXVlc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBR0wsV0FBVyxFQUdYLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBR3hCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUd0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUV4RSxPQUFPLEVBRUwsYUFBYSxHQUNkLE1BQU0seUNBQXlDLENBQUM7QUFJakQsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7QUFNeEUsTUFBTSxPQUFPLG9CQUFvQjtJQTJDckI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQTlDRCxLQUFLLEdBQVcsT0FBTyxDQUFDO0lBQ3hCLFlBQVksR0FBVyxvQkFBb0IsQ0FBQztJQUM1QyxZQUFZLEdBQ25CLG9EQUFvRCxDQUFDO0lBQzlDLFdBQVcsR0FBVyxF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TTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQU1HLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFFRyxtQkFBbUI7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQnVpbGRlcixcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Hcm91cCxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSHR0cFdlYlJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvc2VydmljZXMnO1xuaW1wb3J0IHsgVXNlclJlcXVlc3RQYXlsb2FkIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IE9iamVjdFN0YXRlIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvc2VydmljZXMnO1xuaW1wb3J0IHsgUmVzcG9uc2VLZXlWYWx1ZSB9IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL21vZGVscyc7XG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL21vZGVscyc7XG5pbXBvcnQgeyBSZXF1ZXN0U3RhdHVzIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL3NlcnZpY2VzJztcbmltcG9ydCB7XG4gIEF1dGhNZWNoYW5pc20sXG4gIE1lY2hhbmlzbVR5cGUsXG59IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL21vZGVscyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPQXV0aFJlc3BvbnNlIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IFJvbGUgfSBmcm9tICd2ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IENyeXB0b0pTIGZyb20gJ2NyeXB0by1qcyc7XG5pbXBvcnQgeyBVc2VyQWdlbnRUeXBlIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvbW9kZWxzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi11c2VyLXJlcXVlc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1yZXF1ZXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdXNlci1yZXF1ZXN0LmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVXNlclJlcXVlc3RDb21wb25lbnQge1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJzUwMHB4JztcbiAgQElucHV0KCkgaGVhZGluZ1RpdGxlOiBzdHJpbmcgPSAnUmVxdWVzdCBhbiBhY2NvdW50JztcbiAgQElucHV0KCkgaGVhZGluZ0NsYXNzOiBzdHJpbmcgPVxuICAgICdmb250LW1lZGl1bSB0ZXh0LVsycmVtXSBsZWFkaW5nLVs0OHB4XSB0ZXh0LVsjMzMzXSc7XG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYmdDb2xvcjogc3RyaW5nID0gJyNmZmYnO1xuICBASW5wdXQoKSBib3hTaGFkb3c6IHN0cmluZyA9ICc0cHggNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpJztcbiAgQElucHV0KCkgYm9yZGVyOiBzdHJpbmcgPSAnMXB4IHNvbGlkICM2NjY2NjY4MCc7XG4gIEBJbnB1dCgpIGJvcmRlclJhZGl1czogc3RyaW5nID0gJzI0cHgnO1xuICBASW5wdXQoKSB0ZXh0Q29sb3I6IHN0cmluZyA9ICcjMzMzJztcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSAnYXV0byc7XG4gIEBJbnB1dCgpIHBkOiBzdHJpbmcgPSAnMzJweCA0OHB4JztcbiAgaXNGb3JtRWRpdGFibGU6IGJvb2xlYW4gPSB0cnVlO1xuICB0ZW5hbnQ6IHN0cmluZyA9ICcnO1xuICBzZWNyZXQ6IHN0cmluZztcbiAgaGlkZVBhc3N3b3JkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzQ29kZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSB0ZXh0OiBzdHJpbmcgPSAnU2VuZCBSZXF1ZXN0JztcbiAgQElucHV0KCkgY29sb3I6IHN0cmluZyA9ICdibGFjayc7XG4gIEBJbnB1dCgpIGJ0bkJvcmRlcjogc3RyaW5nID0gJzFweCBzb2xpZCAjRkZFNjgxJztcbiAgQElucHV0KCkgYnRuQm9yZGVyUmFkaXVzOiBzdHJpbmcgPSAnNDBweCc7XG4gIEBJbnB1dCgpIGJ0bkJnQ29sb3I6IHN0cmluZyA9ICcjRkZFNjgxJztcbiAgQElucHV0KCkgYnRuV2lkdGg6IHN0cmluZyA9ICcxMDAlJztcbiAgQElucHV0KCkgYnRuUGQ6IHN0cmluZyA9ICcxMHB4IDIwcHgnO1xuICBASW5wdXQoKSB0ZXJtc0xpbms6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwcml2YWN5TGluazogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHJvdXRlckxpbms6IHN0cmluZyA9ICcnO1xuICBAT3V0cHV0KCkgZm9ybVN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8VXNlclJlcXVlc3RQYXlsb2FkW10+KCk7XG4gIEBPdXRwdXQoKSBnb29nbGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uU3VibWl0U3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgYXBwbGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG1pY3Jvc29mdENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25TdWJtaXRHb29nbGVBdXRoOiBFdmVudEVtaXR0ZXI8UmVzcG9uc2VLZXlWYWx1ZSB8IEVycm9yUmVzcG9uc2U+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvblN1Ym1pdFJlc3BvbnNlRW5kOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgdXNlclJlcXVlc3RGb3JtOiBGb3JtR3JvdXA7XG4gIHRlbmFudERldGFpbHM6IGFueSB8IG51bGwgPSBudWxsO1xuICBBdXRoTWVjaGFuaXNtczogQXV0aE1lY2hhbmlzbVtdIHwgbnVsbCA9IG51bGw7XG4gIHNob3dmb3JtOiBib29sZWFuID0gZmFsc2U7XG4gIGNvZGU6IHN0cmluZyA9ICcnO1xuICB0eXBlOiBzdHJpbmcgPSAnJztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBzZXJ2ZXI6IEh0dHBXZWJSZXF1ZXN0U2VydmljZSxcbiAgICBwcml2YXRlIHV0aWxTZXJ2aWNlOiBVdGlsU2VydmljZSxcbiAgICBwcml2YXRlIGVudlN2YzogRW52aXJvbm1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICApIHtcbiAgICB0aGlzLnNlY3JldCA9IHRoaXMuZW52U3ZjLmVudmlyb25tZW50LlNlY3JldDtcbiAgICB0aGlzLnVzZXJSZXF1ZXN0Rm9ybSA9IHRoaXMuZmIuZ3JvdXA8e1xuICAgICAgW0sgaW4ga2V5b2YgVXNlclJlcXVlc3RQYXlsb2FkXTogRm9ybUNvbnRyb2w8VXNlclJlcXVlc3RQYXlsb2FkW0tdPjtcbiAgICB9PihcbiAgICAgIHtcbiAgICAgICAgQ29kZTogbmV3IEZvcm1Db250cm9sKCcnLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pLFxuICAgICAgICBGaXJzdE5hbWU6IG5ldyBGb3JtQ29udHJvbCgnJywge1xuICAgICAgICAgIG5vbk51bGxhYmxlOiB0cnVlLFxuICAgICAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgfSksXG4gICAgICAgIExhc3ROYW1lOiBuZXcgRm9ybUNvbnRyb2woJycsIHtcbiAgICAgICAgICBub25OdWxsYWJsZTogdHJ1ZSxcbiAgICAgICAgICB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgIH0pLFxuICAgICAgICBNYWlsQWRkcmVzczogbmV3IEZvcm1Db250cm9sKCcnLCB7XG4gICAgICAgICAgbm9uTnVsbGFibGU6IHRydWUsXG4gICAgICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdLFxuICAgICAgICB9KSxcbiAgICAgICAgUGFzc3dvcmQ6IG5ldyBGb3JtQ29udHJvbCgnJywge1xuICAgICAgICAgIG5vbk51bGxhYmxlOiB0cnVlLFxuICAgICAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg4KV0sXG4gICAgICAgIH0pLFxuICAgICAgICBQaG9uZU51bWJlcjogbmV3IEZvcm1Db250cm9sKCcnLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pLFxuICAgICAgICBPdGhlck5hbWU6IG5ldyBGb3JtQ29udHJvbCgnJywgeyBub25OdWxsYWJsZTogdHJ1ZSB9KSxcbiAgICAgICAgUm9sZTogbmV3IEZvcm1Db250cm9sPFJvbGU+KFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIE5hbWU6ICcnLFxuICAgICAgICAgICAgRGVzY3JpcHRpb246ICcnLFxuICAgICAgICAgICAgQXBwbGljYXRpb246ICcnLFxuICAgICAgICAgICAgUm9sZUNvbnRleHRzOiBbXSxcbiAgICAgICAgICAgIEFQSUtleTogJycsXG4gICAgICAgICAgICBJZDogJycsXG4gICAgICAgICAgICBpZDogJycsXG4gICAgICAgICAgICBTZXJ2aWNlTmFtZTogJycsXG4gICAgICAgICAgICBDcmVhdGVkQXQ6IG5ldyBEYXRlKCksXG4gICAgICAgICAgICBVcGRhdGVkQXQ6IG5ldyBEYXRlKCksXG4gICAgICAgICAgICBEYXRhU3RhdGU6IE9iamVjdFN0YXRlLk5ldyxcbiAgICAgICAgICAgIFRlbmFudElkOiAnJyxcbiAgICAgICAgICAgIENvZGU6ICcnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgeyBub25OdWxsYWJsZTogdHJ1ZSB9LFxuICAgICAgICApLFxuICAgICAgICBUYWdzOiBuZXcgRm9ybUNvbnRyb2w8W10+KFtdLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pLFxuICAgICAgICBTdGF0dXM6IG5ldyBGb3JtQ29udHJvbDxTdGF0dXM+KFN0YXR1cy5BY3RpdmUsIHsgbm9uTnVsbGFibGU6IHRydWUgfSksXG4gICAgICAgIFJlcXVlc3RTdGF0dXM6IG5ldyBGb3JtQ29udHJvbDxSZXF1ZXN0U3RhdHVzPihSZXF1ZXN0U3RhdHVzLlBlbmRpbmcsIHtcbiAgICAgICAgICBub25OdWxsYWJsZTogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICAgIFVwZGF0ZWRBdDogbmV3IEZvcm1Db250cm9sKG5ldyBEYXRlKCksIHsgbm9uTnVsbGFibGU6IHRydWUgfSksXG4gICAgICAgIENyZWF0ZWRBdDogbmV3IEZvcm1Db250cm9sKG5ldyBEYXRlKCksIHsgbm9uTnVsbGFibGU6IHRydWUgfSksXG4gICAgICAgIElkOiBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSksXG4gICAgICAgIERhdGFTdGF0ZTogbmV3IEZvcm1Db250cm9sPE9iamVjdFN0YXRlPihPYmplY3RTdGF0ZS5OZXcsIHtcbiAgICAgICAgICBub25OdWxsYWJsZTogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICAgIFRlbmFudElkOiBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSksXG4gICAgICAgIFRva2VuOiBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSksXG4gICAgICAgIFNpZ25VcFR5cGU6IG5ldyBGb3JtQ29udHJvbChNZWNoYW5pc21UeXBlLkluQXBwLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pLFxuICAgICAgICBTZXJ2aWNlTmFtZTogbmV3IEZvcm1Db250cm9sKCcnLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pLFxuICAgICAgICBBY3Rpb25CeTogbmV3IEZvcm1Db250cm9sKCcnLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pLFxuICAgICAgICBDb21tZW50OiBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSksXG4gICAgICB9LFxuICAgICAgeyB2YWxpZGF0b3JzOiB0aGlzLnBhc3N3b3JkTWF0Y2hWYWxpZGF0b3IgfSxcbiAgICApO1xuICB9XG4gIHBhc3N3b3JkTWF0Y2hWYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IHBhc3N3b3JkID0gY29udHJvbC5nZXQoJ1Bhc3N3b3JkJyk/LnZhbHVlO1xuICAgIGNvbnN0IGNvbmZpcm1QYXNzd29yZCA9IGNvbnRyb2wuZ2V0KCdDb25maXJtUGFzc3dvcmQnKT8udmFsdWU7XG5cbiAgICByZXR1cm4gcGFzc3dvcmQgPT09IGNvbmZpcm1QYXNzd29yZCA/IG51bGwgOiB7IHBhc3N3b3JkTWlzbWF0Y2g6IHRydWUgfTtcbiAgfVxuXG4gIGdldCBwYXNzd29yZE1pc21hdGNoRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudXNlclJlcXVlc3RGb3JtLmhhc0Vycm9yKCdwYXNzd29yZE1pc21hdGNoJyk7XG4gIH1cblxuICBnZXQgc3R5bGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAnYmFja2dyb3VuZC1jb2xvcic6IHRoaXMuYmdDb2xvcixcbiAgICAgICdib3gtc2hhZG93JzogdGhpcy5ib3hTaGFkb3csXG4gICAgICBib3JkZXI6IHRoaXMuYm9yZGVyLFxuICAgICAgJ2JvcmRlci1yYWRpdXMnOiB0aGlzLmJvcmRlclJhZGl1cyxcbiAgICAgIGNvbG9yOiB0aGlzLnRleHRDb2xvcixcbiAgICAgICdtYXgtd2lkdGgnOiB0aGlzLndpZHRoLFxuICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCxcbiAgICAgIHBhZGRpbmc6IHRoaXMucGQsXG4gICAgfTtcbiAgfVxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICBhd2FpdCB0aGlzLmdldFRlbmFudENvbmZpZygpO1xuICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKChwYXJhbXMpID0+IHtcbiAgICAgIHRoaXMuY29kZSA9IHBhcmFtc1snY29kZSddO1xuICAgICAgdGhpcy50eXBlID0gcGFyYW1zWyd0eXBlJ107XG4gICAgICBpZiAodGhpcy5jb2RlKSB7XG4gICAgICAgIHRoaXMudmVyaWZ5VXNlckRldGFpbHMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGdldFRlbmFudENvbmZpZygpIHtcbiAgICB0aGlzLnVzZXJSZXF1ZXN0Rm9ybS5hZGRDb250cm9sKFxuICAgICAgJ0NvbmZpcm1QYXNzd29yZCcsXG4gICAgICBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICk7XG4gICAgY29uc3QgaXNMb2NhbGhvc3QgPSB3aW5kb3c/LmxvY2F0aW9uPy5ob3N0bmFtZSA9PT0gJ2xvY2FsaG9zdCc7XG4gICAgY29uc3QgcGF5bG9hZCA9IGlzTG9jYWxob3N0XG4gICAgICA/IHtcbiAgICAgICAgICBLZXk6ICdVcmxLZXknLFxuICAgICAgICAgIFZhbHVlOiAnaHR0cHM6Ly9ib3Zhcy53aGl0ZTM2MC5uZXQnLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnNlcnZlci5wb3N0KGBHZXRUZW5hbnRDb25maWdCeVVybEtleWAsIHBheWxvYWQpO1xuICAgIHRoaXMudGVuYW50RGV0YWlscyA9IHJlcztcbiAgICB0aGlzLnRlbmFudCA9IHRoaXMudGVuYW50RGV0YWlscy5UZW5hbnRJZDtcblxuICAgIHRoaXMuQXV0aE1lY2hhbmlzbXMgPSB0aGlzLnRlbmFudERldGFpbHM/LkF1dGhNZWNoYW5pc21zPy5maWx0ZXIoXG4gICAgICAobTogQXV0aE1lY2hhbmlzbSkgPT4gbS5Vc2VyQWdlbnQgPT09IFVzZXJBZ2VudFR5cGUuV2ViLFxuICAgICk7XG4gICAgaWYgKFxuICAgICAgIXRoaXMudGVuYW50RGV0YWlscz8uQXV0aE1lY2hhbmlzbSAmJlxuICAgICAgdGhpcy50ZW5hbnREZXRhaWxzPy5BdXRoTWVjaGFuaXNtICE9PSBNZWNoYW5pc21UeXBlLkluQXBwXG4gICAgKSB7XG4gICAgICB0aGlzLnNob3dmb3JtID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRlbmFudERldGFpbHM/LkF1dGhNZWNoYW5pc20gPT09IE1lY2hhbmlzbVR5cGUuSW5BcHApIHtcbiAgICAgIC8vICB0aGlzLnNob3dmb3JtID0gZmFsc2U7XG4gICAgICB0aGlzLnNob3dmb3JtID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuQXV0aE1lY2hhbmlzbXMgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuc2hvd2Zvcm0gPSB0aGlzLkF1dGhNZWNoYW5pc21zLnNvbWUoKGl0ZW0pID0+XG4gICAgICAgIGl0ZW0uQXV0aE1lY2hhbmlzbS5pbmNsdWRlcyhNZWNoYW5pc21UeXBlLkluQXBwKSxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICghdGhpcy5zaG93Zm9ybSkge1xuICAgICAgdGhpcy51c2VyUmVxdWVzdEZvcm0uZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVzZXJSZXF1ZXN0Rm9ybS5lbmFibGUoKTtcbiAgICB9XG4gIH1cbiAgY2hlY2tGb3JtKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJSZXF1ZXN0Rm9ybS52YWxpZCB8fCB0aGlzLnVzZXJSZXF1ZXN0Rm9ybS5kaXNhYmxlZDtcbiAgfVxuICBoYW5kbGVHb29nbGVBdXRoKCkge1xuICAgIGlmICh0aGlzLkF1dGhNZWNoYW5pc21zICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBkYXRhID0gdGhpcy5BdXRoTWVjaGFuaXNtcy5maWx0ZXIoXG4gICAgICAgIChpdGVtKSA9PiBpdGVtLkF1dGhNZWNoYW5pc20gPT09IE1lY2hhbmlzbVR5cGUuR29vZ2xlLFxuICAgICAgKTtcbiAgICAgIHRoaXMuZ29vZ2xlQ2xpY2suZW1pdCgpO1xuICAgIH1cbiAgfVxuICBoYW5kbGVBcHBsZUF1dGgoKSB7XG4gICAgdGhpcy5hcHBsZUNsaWNrLmVtaXQoKTtcbiAgfVxuICBoYW5kbGVNaWNyb3NvZnQoKSB7XG4gICAgaWYgKHRoaXMuQXV0aE1lY2hhbmlzbXMgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLkF1dGhNZWNoYW5pc21zLmZpbHRlcihcbiAgICAgICAgKGl0ZW0pID0+IGl0ZW0uQXV0aE1lY2hhbmlzbSA9PT0gTWVjaGFuaXNtVHlwZS5NaWNyb3NvZnQsXG4gICAgICApO1xuICAgICAgdGhpcy5taWNyb3NvZnRDbGljay5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc3VibWl0Rm9ybSgpIHtcbiAgICBpZiAoIXRoaXMuY2hlY2tGb3JtKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLnVzZXJSZXF1ZXN0Rm9ybS5nZXRSYXdWYWx1ZSgpO1xuICAgIGNvbnN0IGhhc2hlZFBhc3N3b3JkID0gQ3J5cHRvSlMuTUQ1KFxuICAgICAgdGhpcy51c2VyUmVxdWVzdEZvcm0uY29udHJvbHNbJ1Bhc3N3b3JkJ10udmFsdWUsXG4gICAgKS50b1N0cmluZygpO1xuICAgIGNvbnN0IHsgQ29uZmlybVBhc3N3b3JkLCBUZW5hbnRJZCwgLi4ucmVzdCB9ID0gZm9ybVZhbHVlO1xuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICAuLi5yZXN0LFxuICAgICAgVGVuYW50SWQ6IHRoaXMudGVuYW50RGV0YWlscy5UZW5hbnRJZCxcbiAgICAgIFBhc3N3b3JkOiBoYXNoZWRQYXNzd29yZCxcbiAgICB9O1xuXG4gICAgY29uc3QgcGF5bG9hZFRvU3VibWl0OiBVc2VyUmVxdWVzdFBheWxvYWRbXSA9IFtwYXlsb2FkXTtcblxuICAgIHRoaXMuZm9ybVN1Ym1pdC5lbWl0KHBheWxvYWRUb1N1Ym1pdCk7XG4gICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkodHJ1ZSk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5zZXJ2ZXIucG9zdChcbiAgICAgICAgYFNhdmVVc2VyQWNjZXNzUmVxdWVzdHNgLFxuICAgICAgICBwYXlsb2FkVG9TdWJtaXQsXG4gICAgICApO1xuXG4gICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNlbmRCSShmYWxzZSk7XG5cbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMub25TdWJtaXRSZXNwb25zZUVuZC5lbWl0KHJlcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZXN1bHQgPSByZXMgYXMgUmVzcG9uc2VLZXlWYWx1ZTtcbiAgICAgICAgdGhpcy5vblN1Ym1pdFJlc3BvbnNlRW5kLmVtaXQocmVzdWx0KTtcbiAgICAgICAgdGhpcy5vblN1Ym1pdFN1Y2Nlc3MuZW1pdChyZXN1bHQpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNlbmRCSShmYWxzZSk7XG4gICAgICBjb25zb2xlLmVycm9yKCdVbmV4cGVjdGVkIGVycm9yOicsIGVycm9yKTtcbiAgICAgIHRoaXMub25TdWJtaXRSZXNwb25zZUVuZC5lbWl0KGVycm9yKTtcbiAgICB9XG4gIH1cbiAgYXN5bmMgdmVyaWZ5VXNlckRldGFpbHMoKSB7XG4gICAgaWYgKHRoaXMuQXV0aE1lY2hhbmlzbXMgIT09IG51bGwgJiYgdGhpcy50ZW5hbnQpIHtcbiAgICAgIGNvbnN0IGRhdGE6IGFueSA9IHRoaXMuQXV0aE1lY2hhbmlzbXMuZmluZCgoaXRlbSkgPT5cbiAgICAgICAgaXRlbS5BdXRoTWVjaGFuaXNtLmluY2x1ZGVzKHRoaXMudHlwZSksXG4gICAgICApO1xuICAgICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgQXV0aENvZGU6IHRoaXMuY29kZSxcbiAgICAgICAgVGVuYW50OiB0aGlzLnRlbmFudCxcbiAgICAgICAgQXV0aE1lY2hhbmlzbTogZGF0YS5BdXRoTWVjaGFuaXNtLFxuICAgICAgfTtcblxuICAgICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkodHJ1ZSk7XG4gICAgICBjb25zdCByZXM6IE9BdXRoUmVzcG9uc2UgPSBhd2FpdCB0aGlzLnNlcnZlci5wb3N0KFxuICAgICAgICBgR2V0VXNlckRldGFpbHNgLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgKTtcbiAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKGZhbHNlKTtcbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMub25TdWJtaXRHb29nbGVBdXRoLmVtaXQocmVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudXNlclJlcXVlc3RGb3JtLmNvbnRyb2xzWydGaXJzdE5hbWUnXS5zZXRWYWx1ZShyZXMuRmlyc3ROYW1lKTtcbiAgICAgICAgdGhpcy51c2VyUmVxdWVzdEZvcm0uY29udHJvbHNbJ0xhc3ROYW1lJ10uc2V0VmFsdWUocmVzLkxhc3ROYW1lKTtcbiAgICAgICAgdGhpcy51c2VyUmVxdWVzdEZvcm0uY29udHJvbHNbJ01haWxBZGRyZXNzJ10uc2V0VmFsdWUocmVzLkVtYWlsKTtcbiAgICAgICAgdGhpcy51c2VyUmVxdWVzdEZvcm0uY29udHJvbHNbJ1Rva2VuJ10uc2V0VmFsdWUocmVzLkFjY2Vzc1Rva2VuKTtcbiAgICAgICAgdGhpcy51c2VyUmVxdWVzdEZvcm0uY29udHJvbHNbJ1NpZ25VcFR5cGUnXS5zZXRWYWx1ZSh0aGlzLnR5cGUpO1xuICAgICAgICB0aGlzLnVzZXJSZXF1ZXN0Rm9ybS5jb250cm9sc1snUGFzc3dvcmQnXS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgdGhpcy51c2VyUmVxdWVzdEZvcm0uY29udHJvbHNbJ1Bhc3N3b3JkJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB0aGlzLnVzZXJSZXF1ZXN0Rm9ybS5jb250cm9sc1snQ29uZmlybVBhc3N3b3JkJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgIHRoaXMudXNlclJlcXVlc3RGb3JtLmNvbnRyb2xzW1xuICAgICAgICAgICdDb25maXJtUGFzc3dvcmQnXG4gICAgICAgIF0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB0aGlzLmhpZGVQYXNzd29yZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGVzdERpc2FibGUoKSB7XG4gICAgdGhpcy51c2VyUmVxdWVzdEZvcm0uY29udHJvbHNbJ0ZpcnN0TmFtZSddLnNldFZhbHVlKCdKZWNpbCcpO1xuICAgIHRoaXMudXNlclJlcXVlc3RGb3JtLmNvbnRyb2xzWydMYXN0TmFtZSddLnNldFZhbHVlKCdPa2VrZScpO1xuICAgIHRoaXMudXNlclJlcXVlc3RGb3JtLmNvbnRyb2xzWydNYWlsQWRkcmVzcyddLnNldFZhbHVlKFxuICAgICAgJ2plY2lsb2tla2VAZ21haWwuY29tJyxcbiAgICApO1xuICAgIHRoaXMudXNlclJlcXVlc3RGb3JtLmNvbnRyb2xzWydUb2tlbiddLnNldFZhbHVlKCdoc2Rqc3NkJyk7XG4gICAgdGhpcy51c2VyUmVxdWVzdEZvcm0uY29udHJvbHNbJ1NpZ25VcFR5cGUnXS5zZXRWYWx1ZSh0aGlzLnR5cGUpO1xuICAgIHRoaXMudXNlclJlcXVlc3RGb3JtLmNvbnRyb2xzWydQYXNzd29yZCddLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgIHRoaXMudXNlclJlcXVlc3RGb3JtLmNvbnRyb2xzWydQYXNzd29yZCddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLnVzZXJSZXF1ZXN0Rm9ybS5jb250cm9sc1snQ29uZmlybVBhc3N3b3JkJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgdGhpcy51c2VyUmVxdWVzdEZvcm0uY29udHJvbHNbJ0NvbmZpcm1QYXNzd29yZCddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLmhpZGVQYXNzd29yZCA9IHRydWU7XG4gIH1cbn1cbiIsIjxzZWN0aW9uIFtuZ1N0eWxlXT1cInN0eWxlc1wiIGNsYXNzPVwie3sgY3VzdG9tQ2xhc3MgfX1cIj5cbiAgPGgyIGNsYXNzPVwie3sgaGVhZGluZ0NsYXNzIH19XCI+XG4gICAge3sgaGVhZGluZ1RpdGxlIH19XG4gIDwvaDI+XG5cbiAgPGZvcm1cbiAgICBbZm9ybUdyb3VwXT1cInVzZXJSZXF1ZXN0Rm9ybVwiXG4gICAgKG5nU3VibWl0KT1cInN1Ym1pdEZvcm0oKVwiXG4gICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC01IG10LTNcIlxuICA+XG4gICAgPHZlcmJlbmEtaW5wdXRcbiAgICAgIFtsYWJlbF09XCInRmlyc3QgTmFtZSdcIlxuICAgICAgW2xhYmVsQ29sb3JdPVwiJyM2NjYnXCJcbiAgICAgIFtwbGFjZUhvbGRlcl09XCInJ1wiXG4gICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICBbdHlwZV09XCIndGV4dCdcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiRmlyc3ROYW1lXCJcbiAgICAgIFtzaG93Qm9yZGVyXT1cInRydWVcIlxuICAgICAgW2JnQ29sb3JdPVwiJ3doaXRlJ1wiXG4gICAgICBbYm9yZGVyXT1cIicxcHggc29saWQgIzY2NjY2NjU5J1wiXG4gICAgICBbYm9yZGVyUmFkaXVzXT1cIicxMnB4J1wiXG4gICAgICBbc2hvd0Vycm9yTWVzc2FnZV09XCJ0cnVlXCJcbiAgICAgIFtlcnJvck1lc3NhZ2VDb2xvcl09XCIncmVkJ1wiXG4gICAgICBbZXJyb3JCb3JkZXJDb2xvcl09XCIncmVkJ1wiXG4gICAgICBbZXJyb3JQb3NpdGlvbl09XCInYm90dG9tJ1wiXG4gICAgICBjbGFzcz1cIm91dGxpbmUtbm9uZSBmb2N1cy1ub25lXCJcbiAgICA+PC92ZXJiZW5hLWlucHV0PlxuICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICBbbGFiZWxdPVwiJ0xhc3QgTmFtZSdcIlxuICAgICAgW2xhYmVsQ29sb3JdPVwiJyM2NjYnXCJcbiAgICAgIFtwbGFjZUhvbGRlcl09XCInJ1wiXG4gICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICBbdHlwZV09XCIndGV4dCdcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiTGFzdE5hbWVcIlxuICAgICAgW3Nob3dCb3JkZXJdPVwidHJ1ZVwiXG4gICAgICBbYmdDb2xvcl09XCInd2hpdGUnXCJcbiAgICAgIFtib3JkZXJdPVwiJzFweCBzb2xpZCAjNjY2NjY2NTknXCJcbiAgICAgIFtib3JkZXJSYWRpdXNdPVwiJzEycHgnXCJcbiAgICAgIFtzaG93RXJyb3JNZXNzYWdlXT1cInRydWVcIlxuICAgICAgW2Vycm9yTWVzc2FnZUNvbG9yXT1cIidyZWQnXCJcbiAgICAgIFtlcnJvckJvcmRlckNvbG9yXT1cIidyZWQnXCJcbiAgICAgIFtlcnJvclBvc2l0aW9uXT1cIidib3R0b20nXCJcbiAgICAgIGNsYXNzPVwib3V0bGluZS1ub25lIGZvY3VzLW5vbmVcIlxuICAgID48L3ZlcmJlbmEtaW5wdXQ+XG4gICAgPHZlcmJlbmEtaW5wdXRcbiAgICAgIFtsYWJlbF09XCInRS1tYWlsIEFkZHJlc3MnXCJcbiAgICAgIFtsYWJlbENvbG9yXT1cIicjNjY2J1wiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJydcIlxuICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgW3R5cGVdPVwiJ2VtYWlsJ1wiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJNYWlsQWRkcmVzc1wiXG4gICAgICBbc2hvd0JvcmRlcl09XCJ0cnVlXCJcbiAgICAgIFtiZ0NvbG9yXT1cIid3aGl0ZSdcIlxuICAgICAgW2JvcmRlcl09XCInMXB4IHNvbGlkICM2NjY2NjY1OSdcIlxuICAgICAgW2JvcmRlclJhZGl1c109XCInMTJweCdcIlxuICAgICAgW3Nob3dFcnJvck1lc3NhZ2VdPVwidHJ1ZVwiXG4gICAgICBbY3VzdG9tRXJyb3JNZXNzYWdlc109XCJ7XG4gICAgICAgIHJlcXVpcmVkOiAnRW1haWwgYWRkcmVzcyBpcyByZXF1aXJlZCcsXG4gICAgICAgIGVtYWlsOiAnRW1haWwgYWRkcmVzcyBtdXN0IGJlIHZhbGlkJyxcbiAgICAgIH1cIlxuICAgICAgW2Vycm9yTWVzc2FnZUNvbG9yXT1cIidyZWQnXCJcbiAgICAgIFtlcnJvckJvcmRlckNvbG9yXT1cIidyZWQnXCJcbiAgICAgIFtlcnJvclBvc2l0aW9uXT1cIidib3R0b20nXCJcbiAgICAgIGNsYXNzPVwib3V0bGluZS1ub25lIGZvY3VzLW5vbmVcIlxuICAgID48L3ZlcmJlbmEtaW5wdXQ+XG5cbiAgICA8dmVyYmVuYS1pbnB1dFxuICAgICAgKm5nSWY9XCIhaGlkZVBhc3N3b3JkXCJcbiAgICAgIFtsYWJlbF09XCInUGFzc3dvcmQnXCJcbiAgICAgIFtsYWJlbENvbG9yXT1cIicjNjY2J1wiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJydcIlxuICAgICAgW3Bhc3N3b3JkVG9nZ2xlXT1cInRydWVcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiUGFzc3dvcmRcIlxuICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgW3R5cGVdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICBbc2hvd0JvcmRlcl09XCJ0cnVlXCJcbiAgICAgIFtiZ0NvbG9yXT1cIid3aGl0ZSdcIlxuICAgICAgW2JvcmRlcl09XCInMXB4IHNvbGlkICM2NjY2NjY1OSdcIlxuICAgICAgW2JvcmRlclJhZGl1c109XCInMTJweCdcIlxuICAgICAgW3Nob3dFcnJvck1lc3NhZ2VdPVwidHJ1ZVwiXG4gICAgICBbZXJyb3JNZXNzYWdlQ29sb3JdPVwiJ3JlZCdcIlxuICAgICAgW2Vycm9yQm9yZGVyQ29sb3JdPVwiJ3JlZCdcIlxuICAgICAgW2Vycm9yUG9zaXRpb25dPVwiJ2JvdHRvbSdcIlxuICAgICAgY2xhc3M9XCJvdXRsaW5lLW5vbmUgZm9jdXMtbm9uZVwiXG4gICAgPjwvdmVyYmVuYS1pbnB1dD5cblxuICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICAqbmdJZj1cIiFoaWRlUGFzc3dvcmRcIlxuICAgICAgW2xhYmVsXT1cIidDb25maXJtIFBhc3N3b3JkJ1wiXG4gICAgICBbbGFiZWxDb2xvcl09XCInIzY2NidcIlxuICAgICAgW3BsYWNlSG9sZGVyXT1cIicnXCJcbiAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgIFt0eXBlXT1cIidwYXNzd29yZCdcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiQ29uZmlybVBhc3N3b3JkXCJcbiAgICAgIFtzaG93Qm9yZGVyXT1cInRydWVcIlxuICAgICAgW3Bhc3N3b3JkVG9nZ2xlXT1cInRydWVcIlxuICAgICAgW2JnQ29sb3JdPVwiJ3doaXRlJ1wiXG4gICAgICBbbWluTGVuZ3RoXT1cInVzZXJSZXF1ZXN0Rm9ybS5jb250cm9sc1snUGFzc3dvcmQnXS52YWx1ZT8ubGVuZ3RoXCJcbiAgICAgIFtib3JkZXJdPVwiJzFweCBzb2xpZCAjNjY2NjY2NTknXCJcbiAgICAgIFtib3JkZXJSYWRpdXNdPVwiJzEycHgnXCJcbiAgICAgIFtzaG93RXJyb3JNZXNzYWdlXT1cInRydWVcIlxuICAgICAgW2Vycm9yTWVzc2FnZUNvbG9yXT1cIidyZWQnXCJcbiAgICAgIFtjdXN0b21FcnJvck1lc3NhZ2VzXT1cIntcbiAgICAgICAgbWluTGVuZ3RoOiAnQ29uZmlybSBQYXNzd29yZCBtdXN0IG1hdGNoIHBhc3N3b3JkJyxcbiAgICAgICAgcmVxdWlyZWQ6ICdDb25maXJtIFBhc3N3b3JkIGlzIHJlcXVpcmVkIGFuZCBtdXN0IG1hdGNoIHBhc3N3b3JkJyxcbiAgICAgICAgcGFzc3dvcmQ6ICdQYXNzd29yZCBkb2VzIG5vdCBtYXRjaCcsXG4gICAgICB9XCJcbiAgICAgIFtlcnJvckJvcmRlckNvbG9yXT1cIidyZWQnXCJcbiAgICAgIFtlcnJvclBvc2l0aW9uXT1cIidib3R0b20nXCJcbiAgICAgIGNsYXNzPVwib3V0bGluZS1ub25lIGZvY3VzLW5vbmVcIlxuICAgID48L3ZlcmJlbmEtaW5wdXQ+XG5cbiAgICA8dmVyYmVuYS1idXR0b25cbiAgICAgIFtjbGFzc109XCInbXQtNidcIlxuICAgICAgW2Rpc2FibGVdPVwiIXRoaXMuY2hlY2tGb3JtKClcIlxuICAgICAgW3RleHRdPVwidGV4dFwiXG4gICAgICBbYmdDb2xvcl09XCJidG5CZ0NvbG9yXCJcbiAgICAgIFt0ZXh0Q29sb3JdPVwiY29sb3JcIlxuICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICBbYnV0dG9uQ2xhc3NdPVwiJ2N1cnNvci1ub3QtYWxsb3dlZCdcIlxuICAgICAgW2JvcmRlcl09XCJidG5Cb3JkZXJcIlxuICAgICAgW2JvcmRlclJhZGl1c109XCJidG5Cb3JkZXJSYWRpdXNcIlxuICAgICAgW3BkXT1cImJ0blBkXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2N1cnNvci1ub3QtYWxsb3dlZCc6ICFjaGVja0Zvcm0oKSxcbiAgICAgIH1cIlxuICAgICAgW3dpZHRoXT1cImJ0bldpZHRoXCJcbiAgICAgIGJ1dHRvbkNsYXNzPVwiZm9udC1tZWRpdW0gdGV4dC1bMjJweF0gbGVhZGluZy1bMzNweF1cIlxuICAgID48L3ZlcmJlbmEtYnV0dG9uPlxuICA8L2Zvcm0+XG5cbiAgPGRpdiBjbGFzcz1cIm10LTJcIiAqbmdJZj1cIkF1dGhNZWNoYW5pc21zICE9PSBudWxsXCI+XG4gICAgPHZlcmJlbi1vLWF1dGggW2F1dGhNZWNoYW5pc21zXT1cIkF1dGhNZWNoYW5pc21zXCI+PC92ZXJiZW4tby1hdXRoPlxuICA8L2Rpdj5cbjwvc2VjdGlvbj5cblxuPCEtLSA8YnV0dG9uIChjbGljayk9XCJ0ZXN0RGlzYWJsZSgpXCI+VGVzdDwvYnV0dG9uPiAtLT5cbiJdfQ==
|
package/esm2022/src/lib/components/user-request-approval/user-request-approval.component.mjs
CHANGED
|
@@ -279,7 +279,7 @@ export class UserRequestApprovalComponent {
|
|
|
279
279
|
this.userAccessRequestFacade.filter(event);
|
|
280
280
|
}
|
|
281
281
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRequestApprovalComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.UtilService }, { token: i1.EnvironmentService }, { token: i1.HttpWebRequestService }, { token: i2.UserAccessRequestFacade }], target: i0.ɵɵFactoryTarget.Component });
|
|
282
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserRequestApprovalComponent, selector: "lib-user-request-approval", inputs: { showDelete: "showDelete" }, viewQueries: [{ propertyName: "cardDataView", first: true, predicate: ["vdcv"], descendants: true }, { propertyName: "dataView", first: true, predicate: ["vdv"], descendants: true }], ngImport: i0, template: "<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: false,\n isToggle: true,\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n (onSearchChange)=\"handleSearch($event)\"\n >\n <div table-content>\n <lib-data-table\n [data]=\"data()\"\n [columns]=\"visibleColumnDef\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"createdAt\">\n <ng-template #cell let-value>\n {{ value | date }}\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"status\">\n <ng-template #cell let-value>\n <lib-user-access-request-status-badge\n [status]=\"value\"\n ></lib-user-access-request-status-badge>\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-value let-deleteRow>\n <div class=\"flex gap-6\">\n <verben-svg\n (click)=\"openDetailView(value)\"\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n class=\"cursor-pointer\"\n ></verben-svg>\n <!-- <button (click)=\"openDetailView(value)\">Open</button>\n <button (click)=\"selected = cardData[rowIndex]; vdv.toggleView()\">\n Switch\n </button> -->\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"deleteRow()\"\n class=\"cursor-pointer\"\n ></verben-svg>\n </div>\n </ng-template>\n <!-- <ng-template #header>\n <strong>Actions</strong>\n </ng-template> -->\n </ng-container>\n </lib-data-table>\n </div>\n <div card-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n (loadMoreClick)=\"loadMore()\"\n #vdcv\n dataId=\"MailAddress\"\n border=\"5px\"\n [cardDataList]=\"cardData()\"\n rbgColor=\"#f5f6f9\"\n mg=\"20px\"\n >\n <verben-left-card-data-view class=\"space-y-7\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"MailAddress\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData()\"\n >\n <ng-template #card let-item>\n <div (click)=\"currentData = vdcv.onItemClick(item)\" class=\"flex\">\n <div\n (click)=\"currentData = vdcv.onItemClick(item)\"\n class=\"flex cursor-pointer w-full bg-secondary rounded-xl\"\n >\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"flex-1 flex items-end gap-y-2 gap-x-4 p-4\">\n <div class=\"flex-1 space-y-2\">\n <span\n class=\"font-semibold text-[#404040] flex-1 truncate\"\n >{{ item.title }}</span\n >\n\n <p class=\"flex items-center my-1 gap-1\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Medium:</label\n >\n <span id=\"phone\" class=\"text-sm truncate\">{{\n item.data.SignupType\n }}</span>\n </p>\n </div>\n\n <div class=\"grid gap-y-1\">\n <!-- <p class=\"grid\">\n <label\n for=\"role\"\n class=\"text-[10px] font-light text-[#404040]\"\n >Medium:</label\n >\n <span id=\"role\" class=\"text-sm font-medium\">{{\n item.data?.SignupType\n }}</span>\n </p> -->\n\n <lib-user-access-request-status-badge\n [status]=\"item.data.RequestStatus\"\n ></lib-user-access-request-status-badge>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n\n <verben-right-card-data-view>\n <ng-template #parent>\n <lib-user-request-form\n [roles]=\"roles()\"\n [showDelete]=\"showDelete\"\n [currentData]=\"currentData\"\n (switchView)=\"vdv.toggleView()\"\n (onDeleteRequest)=\"onDelete($event)\"\n (onApproval)=\"onApprove($event)\"\n ></lib-user-request-form>\n </ng-template>\n </verben-right-card-data-view>\n\n <verben-card-data-view-footer class=\"w-full\">\n <div\n [ngClass]=\"{\n 'flex gap-2 items-center': true,\n 'justify-end': true,\n }\"\n >\n <!-- <verbena-button\n *ngIf=\"!vdcv.hasCurrentItem()\"\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\n </verbena-button> -->\n <div\n class=\"flex {{\n vdcv.hasCurrentItem() ? 'flex-1' : ''\n }} justify-end items-center gap-5\"\n >\n <span class=\"paginator-text\"\n >{{ cardData().length }} records loaded</span\n >\n <button\n (click)=\"loadMore()\"\n class=\"load-more view-links text-[#3479E9] underline\"\n >\n Load more\n </button>\n </div>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n (filtersApplied)=\"onFilterSet($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-xport\n [columns]=\"visibleColumnDef\"\n [data]=\"data()\"\n (exportDataEvent)=\"handleExport($event)\"\n >\n </lib-data-xport>\n </div>\n </verben-data-view>\n\n <div *ngIf=\"vdv.isTableView\" class=\"flex gap-2 justify-end\">\n <!-- <div class=\"message-log-button-container flex justify-between\">\n <verbena-button\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\n </verbena-button>\n </div> -->\n <div class=\"flex justify-end items-center gap-5\">\n <span class=\"paginator-text\">{{ cardData().length }} records loaded</span>\n <button\n (click)=\"loadMore()\"\n class=\"load-more view-links text-[#3479E9] underline\"\n >\n Load more\n </button>\n </div>\n </div>\n</div>\n", styles: ["*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}:before,:after{--tw-content: \"\"}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-8{bottom:2rem}.left-0{left:0}.right-0{right:0}.float-right{float:right}.m-0{margin:0}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-\\[100\\%\\]{height:100%}.h-\\[max-content\\]{height:-moz-max-content;height:max-content}.h-full{height:100%}.w-3{width:.75rem}.w-full{width:100%}.flex-1{flex:1 1 0%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-20{gap:5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-all{word-break:break-all}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-br-none{border-bottom-right-radius:0}.rounded-tr-none{border-top-right-radius:0}.border,.border-\\[1px\\]{border-width:1px}.border-primary{--tw-border-opacity: 1;border-color:rgb(212 160 7 / var(--tw-border-opacity, 1))}.border-secondary-200{border-color:#d7dbe6}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(212 160 7 / var(--tw-bg-opacity, 1))}.bg-secondary{--tw-bg-opacity: 1;background-color:rgb(232 234 241 / var(--tw-bg-opacity, 1))}.bg-secondary-100{--tw-bg-opacity: 1;background-color:rgb(245 246 249 / var(--tw-bg-opacity, 1))}.bg-secondary-200{background-color:#d7dbe6}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pr-1{padding-right:.25rem}.\\!text-\\[10px\\]{font-size:10px!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\\[10px\\]{font-size:10px}.text-\\[12px\\]{font-size:12px}.text-\\[22px\\]{font-size:22px}.text-\\[24px\\]{font-size:24px}.text-\\[2rem\\]{font-size:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.leading-6{line-height:1.5rem}.leading-\\[12\\.1px\\]{line-height:12.1px}.leading-\\[16\\.6px\\]{line-height:16.6px}.leading-\\[19\\.5px\\]{line-height:19.5px}.leading-\\[29\\.05px\\]{line-height:29.05px}.leading-\\[33px\\]{line-height:33px}.leading-\\[48px\\]{line-height:48px}.text-\\[\\#333\\]{--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}.text-\\[\\#3479E9\\]{--tw-text-opacity: 1;color:rgb(52 121 233 / var(--tw-text-opacity, 1))}.text-\\[\\#404040\\]{--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity, 1))}.text-\\[black\\]{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-muted{color:#0009}.underline{text-decoration-line:underline}.outline-none{outline:2px solid transparent;outline-offset:2px}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.view-links{color:#3479e9;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.DataTableComponent, selector: "lib-data-table", inputs: ["data", "columns", "dataKey", "formGroupConfig", "groupBy", "useVirtualScroll", "virtualScrollItemSize", "styleConfig"], outputs: ["rowEdit", "rowSave", "rowRevert", "rowDelete", "selectionChange"] }, { kind: "directive", type: i4.ColumnDirective, selector: "[libColumn]", inputs: ["libColumn"] }, { kind: "component", type: i4.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "type", "size"] }, { kind: "component", type: i4.DataViewComponent, selector: "verben-data-view", inputs: ["buttonClass", "iconClass", "activeIconClass", "columnCustomClass", "filterCustomClass", "sortCustomClass", "extendCustomClass", "exportCustomClass", "selectCustomClass", "importCustomClass", "zIndex", "createCustomClass", "tableIcon", "cardIcon", "cardClass", "tableClass", "searchKey", "searchValue", "viewState", "searchTemplate", "importTemplate", "columnTemplate", "extendTemplate", "filterTemplate", "sortTemplate", "children", "exportTemplate", "createTemplate", "selectedColumnCount", "selectedSortCount", "selectedFilterTableCount", "inputWidth", "milliseconds", "showColumnChild", "showSortChild", "showFilterChild", "showImportChild", "showExportChild", "showExtendChild", "create", "showSelected", "isTableView"], outputs: ["viewChange", "stateChange", "onSearchChange"] }, { kind: "component", type: i4.CardDataViewComponent, selector: "verben-card-data-view", inputs: ["pd", "mg", "lHeight", "rHeight", "rWidth", "lWidth", "textColor", "lbgColor", "rbgColor", "border", "display", "borderRadius", "activeCss", "inActiveCss", "displayAsRow", "cardDataList", "dataId", "totalRecords", "footer", "noOfVisibleChildren", "showEditIcon", "onItemClick", "onCardChildClick"], outputs: ["editClicked", "loadMoreClick"] }, { kind: "component", type: i4.LeftCardDataComponent, selector: "verben-left-card-data", inputs: ["pd", "mg", "height", "weight", "activeCss", "inActiveCss", "cardDataList", "iconCollapse", "iconExpanded", "parent", "dataId"] }, { kind: "component", type: i4.LeftCardDataViewComponent, selector: "verben-left-card-data-view", inputs: ["cardDataList"] }, { kind: "component", type: i4.RightCardDataViewComponent, selector: "verben-right-card-data-view", inputs: ["parentData", "chilData", "meth"] }, { kind: "component", type: i4.CardDataViewFooterComponent, selector: "verben-card-data-view-footer" }, { kind: "component", type: i4.SortTableComponent, selector: "verben-sort-table", inputs: ["enableDragAndDrop", "sortOptions", "resetText", "displayedOptions", "propertyText", "showMoreText", "sortButtonText", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth", "containerHeight"], outputs: ["selectedOptions", "resetSortData"] }, { kind: "component", type: i4.VisibleColumnComponent, selector: "verben-visible-column", inputs: ["columns", "items", "enableDragAndDrop", "displayedColumns", "showMore", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth", "closeColumn"], outputs: ["columnsUpdated", "resetFilter"] }, { kind: "component", type: i4.TableFilterComponent, selector: "verben-table-filter", inputs: ["filterOptions", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth", "maxFilterLength", "tooltip"], outputs: ["filtersApplied", "resetSortData"] }, { kind: "component", type: i4.DataXportComponent, selector: "lib-data-xport", inputs: ["data", "columns", "useImportKey", "dataFetchUrl", "dataQueryParameters", "dataQueryFunction"], outputs: ["exportDataEvent", "exportDataRangeEvent"] }, { kind: "component", type: i5.UserRequestFormComponent, selector: "lib-user-request-form", inputs: ["roles", "showDelete", "currentData"], outputs: ["switchView", "onApproval", "onDeleteRequest"] }, { kind: "component", type: i6.UserAccessRequestStatusBadgeComponent, selector: "lib-user-access-request-status-badge", inputs: ["status"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
282
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserRequestApprovalComponent, selector: "lib-user-request-approval", inputs: { showDelete: "showDelete" }, viewQueries: [{ propertyName: "cardDataView", first: true, predicate: ["vdcv"], descendants: true }, { propertyName: "dataView", first: true, predicate: ["vdv"], descendants: true }], ngImport: i0, template: "<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: false,\n isToggle: true,\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n (onSearchChange)=\"handleSearch($event)\"\n >\n <div table-content>\n <lib-data-table\n [data]=\"data()\"\n [columns]=\"visibleColumnDef\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"createdAt\">\n <ng-template #cell let-value>\n {{ value | date }}\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"status\">\n <ng-template #cell let-value>\n <lib-user-access-request-status-badge\n [status]=\"value\"\n ></lib-user-access-request-status-badge>\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-value let-deleteRow>\n <div class=\"flex gap-6\">\n <verben-svg\n (click)=\"openDetailView(value)\"\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n class=\"cursor-pointer\"\n ></verben-svg>\n <!-- <button (click)=\"openDetailView(value)\">Open</button>\n <button (click)=\"selected = cardData[rowIndex]; vdv.toggleView()\">\n Switch\n </button> -->\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"deleteRow()\"\n class=\"cursor-pointer\"\n ></verben-svg>\n </div>\n </ng-template>\n <!-- <ng-template #header>\n <strong>Actions</strong>\n </ng-template> -->\n </ng-container>\n </lib-data-table>\n </div>\n <div card-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n (loadMoreClick)=\"loadMore()\"\n #vdcv\n dataId=\"MailAddress\"\n border=\"5px\"\n [cardDataList]=\"cardData()\"\n rbgColor=\"#f5f6f9\"\n mg=\"20px\"\n >\n <verben-left-card-data-view class=\"space-y-7\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"MailAddress\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData()\"\n >\n <ng-template #card let-item>\n <div (click)=\"currentData = vdcv.onItemClick(item)\" class=\"flex\">\n <div\n (click)=\"currentData = vdcv.onItemClick(item)\"\n class=\"flex cursor-pointer w-full bg-secondary rounded-xl\"\n >\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"flex-1 flex items-end gap-y-2 gap-x-4 p-4\">\n <div class=\"flex-1 space-y-2\">\n <span\n class=\"font-semibold text-[#404040] flex-1 truncate\"\n >{{ item.title }}</span\n >\n\n <p class=\"flex items-center my-1 gap-1\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Medium:</label\n >\n <span id=\"phone\" class=\"text-sm truncate\">{{\n item.data.SignupType\n }}</span>\n </p>\n </div>\n\n <div class=\"grid gap-y-1\">\n <!-- <p class=\"grid\">\n <label\n for=\"role\"\n class=\"text-[10px] font-light text-[#404040]\"\n >Medium:</label\n >\n <span id=\"role\" class=\"text-sm font-medium\">{{\n item.data?.SignupType\n }}</span>\n </p> -->\n\n <lib-user-access-request-status-badge\n [status]=\"item.data.RequestStatus\"\n ></lib-user-access-request-status-badge>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n\n <verben-right-card-data-view>\n <ng-template #parent>\n <lib-user-request-form\n [roles]=\"roles()\"\n [showDelete]=\"showDelete\"\n [currentData]=\"currentData\"\n (switchView)=\"vdv.toggleView()\"\n (onDeleteRequest)=\"onDelete($event)\"\n (onApproval)=\"onApprove($event)\"\n ></lib-user-request-form>\n </ng-template>\n </verben-right-card-data-view>\n\n <verben-card-data-view-footer class=\"w-full\">\n <div\n [ngClass]=\"{\n 'flex gap-2 items-center': true,\n 'justify-end': true,\n }\"\n >\n <!-- <verbena-button\n *ngIf=\"!vdcv.hasCurrentItem()\"\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\n </verbena-button> -->\n <div\n class=\"flex {{\n vdcv.hasCurrentItem() ? 'flex-1' : ''\n }} justify-end items-center gap-5\"\n >\n <span class=\"paginator-text\"\n >{{ cardData().length }} records loaded</span\n >\n <button\n (click)=\"loadMore()\"\n class=\"load-more view-links text-[#3479E9] underline\"\n >\n Load more\n </button>\n </div>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n (filtersApplied)=\"onFilterSet($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-xport\n [columns]=\"visibleColumnDef\"\n [data]=\"data()\"\n (exportDataEvent)=\"handleExport($event)\"\n >\n </lib-data-xport>\n </div>\n </verben-data-view>\n\n <div *ngIf=\"vdv.isTableView\" class=\"flex gap-2 justify-end\">\n <!-- <div class=\"message-log-button-container flex justify-between\">\n <verbena-button\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\n </verbena-button>\n </div> -->\n <div class=\"flex justify-end items-center gap-5\">\n <span class=\"paginator-text\">{{ cardData().length }} records loaded</span>\n <button\n (click)=\"loadMore()\"\n class=\"load-more view-links text-[#3479E9] underline\"\n >\n Load more\n </button>\n </div>\n </div>\n</div>\n", styles: ["*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}:before,:after{--tw-content: \"\"}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-8{bottom:2rem}.left-0{left:0}.right-0{right:0}.float-right{float:right}.m-0{margin:0}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-\\[100\\%\\]{height:100%}.h-\\[max-content\\]{height:-moz-max-content;height:max-content}.h-full{height:100%}.w-3{width:.75rem}.w-full{width:100%}.flex-1{flex:1 1 0%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-20{gap:5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-all{word-break:break-all}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-br-none{border-bottom-right-radius:0}.rounded-tr-none{border-top-right-radius:0}.border,.border-\\[1px\\]{border-width:1px}.border-primary{--tw-border-opacity: 1;border-color:rgb(212 160 7 / var(--tw-border-opacity, 1))}.border-secondary-200{border-color:#d7dbe6}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(212 160 7 / var(--tw-bg-opacity, 1))}.bg-secondary{--tw-bg-opacity: 1;background-color:rgb(232 234 241 / var(--tw-bg-opacity, 1))}.bg-secondary-100{--tw-bg-opacity: 1;background-color:rgb(245 246 249 / var(--tw-bg-opacity, 1))}.bg-secondary-200{background-color:#d7dbe6}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pr-1{padding-right:.25rem}.\\!text-\\[10px\\]{font-size:10px!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\\[10px\\]{font-size:10px}.text-\\[12px\\]{font-size:12px}.text-\\[22px\\]{font-size:22px}.text-\\[24px\\]{font-size:24px}.text-\\[2rem\\]{font-size:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.leading-6{line-height:1.5rem}.leading-\\[12\\.1px\\]{line-height:12.1px}.leading-\\[16\\.6px\\]{line-height:16.6px}.leading-\\[19\\.5px\\]{line-height:19.5px}.leading-\\[29\\.05px\\]{line-height:29.05px}.leading-\\[33px\\]{line-height:33px}.leading-\\[48px\\]{line-height:48px}.text-\\[\\#333\\]{--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}.text-\\[\\#3479E9\\]{--tw-text-opacity: 1;color:rgb(52 121 233 / var(--tw-text-opacity, 1))}.text-\\[\\#404040\\]{--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity, 1))}.text-\\[black\\]{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-muted{color:#0009}.underline{text-decoration-line:underline}.outline-none{outline:2px solid transparent;outline-offset:2px}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.view-links{color:#3479e9;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.DataTableComponent, selector: "lib-data-table", inputs: ["data", "columns", "dataKey", "formGroupConfig", "groupBy", "useVirtualScroll", "virtualScrollItemSize", "styleConfig"], outputs: ["rowEdit", "rowSave", "rowRevert", "rowDelete", "selectionChange"] }, { kind: "directive", type: i4.ColumnDirective, selector: "[libColumn]", inputs: ["libColumn"] }, { kind: "component", type: i4.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "type", "size"] }, { kind: "component", type: i4.DataViewComponent, selector: "verben-data-view", inputs: ["buttonClass", "iconClass", "activeIconClass", "columnCustomClass", "filterCustomClass", "sortCustomClass", "extendCustomClass", "exportCustomClass", "selectCustomClass", "importCustomClass", "zIndex", "createCustomClass", "tableIcon", "cardIcon", "cardClass", "tableClass", "searchKey", "searchValue", "viewState", "searchTemplate", "importTemplate", "columnTemplate", "extendTemplate", "filterTemplate", "sortTemplate", "children", "exportTemplate", "createTemplate", "selectedColumnCount", "selectedSortCount", "selectedFilterTableCount", "inputWidth", "milliseconds", "showColumnChild", "showSortChild", "showFilterChild", "showImportChild", "showExportChild", "showExtendChild", "create", "showSelected", "isTableView"], outputs: ["viewChange", "stateChange", "onSearchChange"] }, { kind: "component", type: i4.CardDataViewComponent, selector: "verben-card-data-view", inputs: ["pd", "mg", "lHeight", "rHeight", "rWidth", "lWidth", "textColor", "lbgColor", "rbgColor", "border", "display", "borderRadius", "activeCss", "inActiveCss", "displayAsRow", "cardDataList", "dataId", "totalRecords", "footer", "noOfVisibleChildren", "showEditIcon", "useVirtualScroll", "virtualScrollItemSize", "onItemClick", "onCardChildClick"], outputs: ["editClicked", "loadMoreClick"] }, { kind: "component", type: i4.LeftCardDataComponent, selector: "verben-left-card-data", inputs: ["pd", "mg", "height", "weight", "activeCss", "inActiveCss", "cardDataList", "iconCollapse", "iconExpanded", "parent", "useVirtualScroll", "virtualScrollItemSize", "dataId"] }, { kind: "component", type: i4.LeftCardDataViewComponent, selector: "verben-left-card-data-view", inputs: ["cardDataList"] }, { kind: "component", type: i4.RightCardDataViewComponent, selector: "verben-right-card-data-view", inputs: ["parentData", "chilData", "meth"] }, { kind: "component", type: i4.CardDataViewFooterComponent, selector: "verben-card-data-view-footer" }, { kind: "component", type: i4.SortTableComponent, selector: "verben-sort-table", inputs: ["enableDragAndDrop", "sortOptions", "resetText", "displayedOptions", "propertyText", "showMoreText", "sortButtonText", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth", "containerHeight"], outputs: ["selectedOptions", "resetSortData"] }, { kind: "component", type: i4.VisibleColumnComponent, selector: "verben-visible-column", inputs: ["columns", "items", "enableDragAndDrop", "displayedColumns", "showMore", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth", "closeColumn"], outputs: ["columnsUpdated", "resetFilter"] }, { kind: "component", type: i4.TableFilterComponent, selector: "verben-table-filter", inputs: ["filterOptions", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth", "maxFilterLength", "tooltip"], outputs: ["filtersApplied", "resetSortData"] }, { kind: "component", type: i4.DataXportComponent, selector: "lib-data-xport", inputs: ["data", "columns", "useImportKey", "dataFetchUrl", "dataQueryParameters", "dataQueryFunction"], outputs: ["exportDataEvent", "exportDataRangeEvent"] }, { kind: "component", type: i5.UserRequestFormComponent, selector: "lib-user-request-form", inputs: ["roles", "showDelete", "currentData"], outputs: ["switchView", "onApproval", "onDeleteRequest"] }, { kind: "component", type: i6.UserAccessRequestStatusBadgeComponent, selector: "lib-user-access-request-status-badge", inputs: ["status"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
283
283
|
}
|
|
284
284
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRequestApprovalComponent, decorators: [{
|
|
285
285
|
type: Component,
|
|
@@ -84,7 +84,7 @@ export class UserRequestFormComponent {
|
|
|
84
84
|
this.showDialogue = false;
|
|
85
85
|
}
|
|
86
86
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRequestFormComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
87
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserRequestFormComponent, selector: "lib-user-request-form", inputs: { roles: "roles", showDelete: "showDelete", currentData: "currentData" }, outputs: { switchView: "switchView", onApproval: "onApproval", onDeleteRequest: "onDeleteRequest" }, ngImport: i0, template: "<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n>\n <verbena-input\n name=\"MailAddress\"\n label=\"Mail Address:\"\n formControlName=\"MailAddress\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"First Name:\"\n name=\"FirstName\"\n type=\"text\"\n formControlName=\"FirstName\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"Last Name:\"\n name=\"LastName\"\n type=\"text\"\n formControlName=\"LastName\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"OtherName:\"\n name=\"OtherName\"\n type=\"text\"\n formControlName=\"OtherName\"\n [readOnly]=\"true\"\n />\n <!-- <verbena-input\n label=\"Phone Number:\"\n name=\"PhoneNumber\"\n type=\"tel\"\n formControlName=\"PhoneNumber\"\n [readOnly]=\"true\"\n /> -->\n\n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down\n label=\"Role\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"roles\"\n id=\"role\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n formControlName=\"RoleID\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <!-- buttons -->\n <div class=\"flex justify-between my-2 overflow-auto\">\n <div class=\"flex gap-2\">\n <verbena-button\n (click)=\"switchView.emit()\"\n text=\"Switch To Table\"\n styleType=\"ylw-outline\"\n ></verbena-button>\n\n <verbena-button\n *ngIf=\"showDelete\"\n width=\"114px\"\n height=\"39px\"\n (click)=\"toggleModal()\"\n text=\"Delete\"\n styleType=\"danger\"\n borderRadius=\"10px\"\n ></verbena-button>\n </div>\n\n <div class=\"flex gap-2\">\n <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Reject\"\n styleType=\"danger\"\n borderRadius=\"10px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n\n <verbena-button\n (click)=\"\n onApproval.emit({\n email: form.get('MailAddress')?.value,\n role: form.get('RoleID')?.value,\n })\n \"\n text=\"Approve\"\n bgColor=\"#28a745\"\n textColor=\"white\"\n border=\"1px solid #28a745\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n width=\"114px\"\n height=\"39px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n </div>\n </div>\n</form>\n\n<verben-dialogue\n [showCloseIcon]=\"false\"\n [dismissOutsideClick]=\"false\"\n [closeOnEscape]=\"true\"\n [size]=\"'medium'\"\n [mode]=\"'dialogue'\"\n [customClass]=\"'show-revert-dialogue'\"\n [disableFooter]=\"true\"\n (openModal)=\"onModalOpen($event)\"\n [isVisible]=\"showDialogue\"\n [bodyTemplate]=\"bodyTemplate\"\n (closeModal)=\"onModalClose($event)\"\n>\n <ng-template #bodyTemplate>\n <div class=\"dialog-body flex flex-col gap-4\">\n <div class=\"header font-bold text-2xl\">Delete User Request</div>\n <div class=\"form-container-dialogue flex flex-col gap-2\">\n Are you sure you want to proceed ?\n </div>\n <div class=\"dialog-button-container flex gap-2\">\n <div class=\"flex-1\">\n <verbena-button\n width=\"100%\"\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#ffffff'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#000'\"\n [border]=\"'1px solid #000'\"\n [text]=\"'Close'\"\n (click)=\"onModalClose($event)\"\n >\n </verbena-button>\n </div>\n <div class=\"flex-1\">\n <verbena-button\n width=\"100%\"\n class=\"verben-primary-button\"\n [text]=\"'Proceed'\"\n (click)=\"onDelete()\"\n >\n </verbena-button>\n </div>\n </div>\n </div>\n </ng-template>\n</verben-dialogue>\n", styles: [".form-container-dialogue{overflow:auto;max-height:60vh}.dialog-body{padding:15px;height:100%}.dialog-button-container{flex:1 1 0;align-items:end}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.VerbenDialogueComponent, selector: "verben-dialogue", inputs: ["dialogueWidth", "headerTemplate", "bodyTemplate", "footerTemplate", "showCloseIcon", "dismissOutsideClick", "closeOnEscape", "isVisible", "size", "backdropColor", "customClass", "disableFooter", "margin", "padding", "borderRadius", "dialogueBgColor", "width", "closeIconClass", "boxShadow", "enableTransition", "modalData", "mode", "position", "drawerWidth"], outputs: ["openModal", "closeModal"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "fontSize", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "component", type: i3.VerbenaButtonComponent, selector: "verbena-button", inputs: ["text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "component", type: i3.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "selectKey", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }] });
|
|
87
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserRequestFormComponent, selector: "lib-user-request-form", inputs: { roles: "roles", showDelete: "showDelete", currentData: "currentData" }, outputs: { switchView: "switchView", onApproval: "onApproval", onDeleteRequest: "onDeleteRequest" }, ngImport: i0, template: "<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n>\n <verbena-input\n name=\"MailAddress\"\n label=\"Mail Address:\"\n formControlName=\"MailAddress\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"First Name:\"\n name=\"FirstName\"\n type=\"text\"\n formControlName=\"FirstName\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"Last Name:\"\n name=\"LastName\"\n type=\"text\"\n formControlName=\"LastName\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"OtherName:\"\n name=\"OtherName\"\n type=\"text\"\n formControlName=\"OtherName\"\n [readOnly]=\"true\"\n />\n <!-- <verbena-input\n label=\"Phone Number:\"\n name=\"PhoneNumber\"\n type=\"tel\"\n formControlName=\"PhoneNumber\"\n [readOnly]=\"true\"\n /> -->\n\n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down\n label=\"Role\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"roles\"\n id=\"role\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n formControlName=\"RoleID\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <!-- buttons -->\n <div class=\"flex justify-between my-2 overflow-auto\">\n <div class=\"flex gap-2\">\n <verbena-button\n (click)=\"switchView.emit()\"\n text=\"Switch To Table\"\n styleType=\"ylw-outline\"\n ></verbena-button>\n\n <verbena-button\n *ngIf=\"showDelete\"\n width=\"114px\"\n height=\"39px\"\n (click)=\"toggleModal()\"\n text=\"Delete\"\n styleType=\"danger\"\n borderRadius=\"10px\"\n ></verbena-button>\n </div>\n\n <div class=\"flex gap-2\">\n <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Reject\"\n styleType=\"danger\"\n borderRadius=\"10px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n\n <verbena-button\n (click)=\"\n onApproval.emit({\n email: form.get('MailAddress')?.value,\n role: form.get('RoleID')?.value,\n })\n \"\n text=\"Approve\"\n bgColor=\"#28a745\"\n textColor=\"white\"\n border=\"1px solid #28a745\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n width=\"114px\"\n height=\"39px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n </div>\n </div>\n</form>\n\n<verben-dialogue\n [showCloseIcon]=\"false\"\n [dismissOutsideClick]=\"false\"\n [closeOnEscape]=\"true\"\n [size]=\"'medium'\"\n [mode]=\"'dialogue'\"\n [customClass]=\"'show-revert-dialogue'\"\n [disableFooter]=\"true\"\n (openModal)=\"onModalOpen($event)\"\n [isVisible]=\"showDialogue\"\n [bodyTemplate]=\"bodyTemplate\"\n (closeModal)=\"onModalClose($event)\"\n>\n <ng-template #bodyTemplate>\n <div class=\"dialog-body flex flex-col gap-4\">\n <div class=\"header font-bold text-2xl\">Delete User Request</div>\n <div class=\"form-container-dialogue flex flex-col gap-2\">\n Are you sure you want to proceed ?\n </div>\n <div class=\"dialog-button-container flex gap-2\">\n <div class=\"flex-1\">\n <verbena-button\n width=\"100%\"\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#ffffff'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#000'\"\n [border]=\"'1px solid #000'\"\n [text]=\"'Close'\"\n (click)=\"onModalClose($event)\"\n >\n </verbena-button>\n </div>\n <div class=\"flex-1\">\n <verbena-button\n width=\"100%\"\n class=\"verben-primary-button\"\n [text]=\"'Proceed'\"\n (click)=\"onDelete()\"\n >\n </verbena-button>\n </div>\n </div>\n </div>\n </ng-template>\n</verben-dialogue>\n", styles: [".form-container-dialogue{overflow:auto;max-height:60vh}.dialog-body{padding:15px;height:100%}.dialog-button-container{flex:1 1 0;align-items:end}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.VerbenDialogueComponent, selector: "verben-dialogue", inputs: ["dialogueWidth", "headerTemplate", "bodyTemplate", "footerTemplate", "showCloseIcon", "dismissOutsideClick", "closeOnEscape", "isVisible", "size", "backdropColor", "customClass", "disableFooter", "margin", "padding", "borderRadius", "dialogueBgColor", "width", "closeIconClass", "boxShadow", "enableTransition", "modalData", "mode", "position", "drawerWidth"], outputs: ["openModal", "closeModal"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.VerbenaInputComponent, selector: "verbena-input", inputs: ["disabled", "label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "fontSize", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "component", type: i3.VerbenaButtonComponent, selector: "verbena-button", inputs: ["type", "text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "component", type: i3.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "overlayWidth", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "selectKey", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "refPageSize", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }] });
|
|
88
88
|
}
|
|
89
89
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRequestFormComponent, decorators: [{
|
|
90
90
|
type: Component,
|
|
@@ -7,10 +7,11 @@ import { VerbenaButtonModule } from 'verben-ng-ui';
|
|
|
7
7
|
import { FormsModule } from '@angular/forms';
|
|
8
8
|
|
|
9
9
|
class ButtonComponent {
|
|
10
|
+
type;
|
|
10
11
|
text = '';
|
|
11
12
|
color = 'black';
|
|
12
13
|
border = '1px solid #FFE681';
|
|
13
|
-
borderRadius =
|
|
14
|
+
borderRadius = '40px';
|
|
14
15
|
bgColor = '#FFE681';
|
|
15
16
|
width = '100%';
|
|
16
17
|
pd = '10px 20px';
|
|
@@ -21,12 +22,14 @@ class ButtonComponent {
|
|
|
21
22
|
this.buttonClick.emit();
|
|
22
23
|
}
|
|
23
24
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ButtonComponent, selector: "lib-button", inputs: { text: "text", color: "color", border: "border", borderRadius: "borderRadius", bgColor: "bgColor", width: "width", pd: "pd", buttonClass: "buttonClass", disabled: "disabled" }, outputs: { buttonClick: "buttonClick" }, ngImport: i0, template: "<verbena-button\n[text]=\"text\"\n[bgColor]=\"bgColor\"\n[textColor]=\"color\"\n[border]=\"border\"\n[borderRadius]=\"borderRadius\"\n[pd]=\"pd\"\n[width]=\"width\"\n[disable]=\"disabled\"\n[ngStyle]=\"{
|
|
25
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ButtonComponent, selector: "lib-button", inputs: { type: "type", text: "text", color: "color", border: "border", borderRadius: "borderRadius", bgColor: "bgColor", width: "width", pd: "pd", buttonClass: "buttonClass", disabled: "disabled" }, outputs: { buttonClick: "buttonClick" }, ngImport: i0, template: "<verbena-button\n [text]=\"text\"\n [bgColor]=\"bgColor\"\n [textColor]=\"color\"\n [border]=\"border\"\n [borderRadius]=\"borderRadius\"\n [pd]=\"pd\"\n [type]=\"type\"\n [width]=\"width\"\n [disable]=\"disabled\"\n [ngStyle]=\"{ cursor: disabled ? 'not-allowed' : 'pointer' }\"\n buttonClass=\"font-medium text-[22px] leading-[33px] {{ buttonClass }}\"\n (click)=\"handleClick()\"\n></verbena-button>\n", styles: [".disable-btn{cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.VerbenaButtonComponent, selector: "verbena-button", inputs: ["type", "text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }] });
|
|
25
26
|
}
|
|
26
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
27
28
|
type: Component,
|
|
28
|
-
args: [{ selector: 'lib-button', template: "<verbena-button\n[text]=\"text\"\n[bgColor]=\"bgColor\"\n[textColor]=\"color\"\n[border]=\"border\"\n[borderRadius]=\"borderRadius\"\n[pd]=\"pd\"\n[width]=\"width\"\n[disable]=\"disabled\"\n[ngStyle]=\"{
|
|
29
|
-
}], propDecorators: {
|
|
29
|
+
args: [{ selector: 'lib-button', template: "<verbena-button\n [text]=\"text\"\n [bgColor]=\"bgColor\"\n [textColor]=\"color\"\n [border]=\"border\"\n [borderRadius]=\"borderRadius\"\n [pd]=\"pd\"\n [type]=\"type\"\n [width]=\"width\"\n [disable]=\"disabled\"\n [ngStyle]=\"{ cursor: disabled ? 'not-allowed' : 'pointer' }\"\n buttonClass=\"font-medium text-[22px] leading-[33px] {{ buttonClass }}\"\n (click)=\"handleClick()\"\n></verbena-button>\n", styles: [".disable-btn{cursor:not-allowed}\n"] }]
|
|
30
|
+
}], propDecorators: { type: [{
|
|
31
|
+
type: Input
|
|
32
|
+
}], text: [{
|
|
30
33
|
type: Input
|
|
31
34
|
}], color: [{
|
|
32
35
|
type: Input
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verben-authentication-ui-src-lib-components-button.mjs","sources":["../../../projects/verben-authentication-ui/src/lib/components/button/button.component.ts","../../../projects/verben-authentication-ui/src/lib/components/button/button.component.html","../../../projects/verben-authentication-ui/src/lib/components/button/button.module.ts","../../../projects/verben-authentication-ui/src/lib/components/button/verben-authentication-ui-src-lib-components-button.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'lib-button',\n templateUrl: './button.component.html',\n styleUrl: './button.component.css'
|
|
1
|
+
{"version":3,"file":"verben-authentication-ui-src-lib-components-button.mjs","sources":["../../../projects/verben-authentication-ui/src/lib/components/button/button.component.ts","../../../projects/verben-authentication-ui/src/lib/components/button/button.component.html","../../../projects/verben-authentication-ui/src/lib/components/button/button.module.ts","../../../projects/verben-authentication-ui/src/lib/components/button/verben-authentication-ui-src-lib-components-button.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'lib-button',\n templateUrl: './button.component.html',\n styleUrl: './button.component.css',\n})\nexport class ButtonComponent {\n @Input() type: string | undefined;\n @Input() text: string = '';\n @Input() color: string = 'black';\n @Input() border: string = '1px solid #FFE681';\n @Input() borderRadius: string = '40px';\n @Input() bgColor: string = '#FFE681';\n @Input() width: string = '100%';\n @Input() pd: string = '10px 20px';\n @Input() buttonClass: string = '';\n @Input() disabled: boolean = false;\n\n @Output() buttonClick = new EventEmitter<void>();\n\n handleClick() {\n this.buttonClick.emit();\n }\n}\n","<verbena-button\n [text]=\"text\"\n [bgColor]=\"bgColor\"\n [textColor]=\"color\"\n [border]=\"border\"\n [borderRadius]=\"borderRadius\"\n [pd]=\"pd\"\n [type]=\"type\"\n [width]=\"width\"\n [disable]=\"disabled\"\n [ngStyle]=\"{ cursor: disabled ? 'not-allowed' : 'pointer' }\"\n buttonClass=\"font-medium text-[22px] leading-[33px] {{ buttonClass }}\"\n (click)=\"handleClick()\"\n></verbena-button>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VerbenaButtonModule } from 'verben-ng-ui';\nimport { ButtonComponent } from './button.component';\nimport { FormsModule } from '@angular/forms';\n@NgModule({\n declarations: [ButtonComponent],\n imports: [CommonModule,VerbenaButtonModule,FormsModule],\n exports: [ButtonComponent]\n})\nexport class ButtonModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MAOa,eAAe,CAAA;AACjB,IAAA,IAAI,CAAqB;IACzB,IAAI,GAAW,EAAE,CAAC;IAClB,KAAK,GAAW,OAAO,CAAC;IACxB,MAAM,GAAW,mBAAmB,CAAC;IACrC,YAAY,GAAW,MAAM,CAAC;IAC9B,OAAO,GAAW,SAAS,CAAC;IAC5B,KAAK,GAAW,MAAM,CAAC;IACvB,EAAE,GAAW,WAAW,CAAC;IACzB,WAAW,GAAW,EAAE,CAAC;IACzB,QAAQ,GAAY,KAAK,CAAC;AAEzB,IAAA,WAAW,GAAG,IAAI,YAAY,EAAQ,CAAC;IAEjD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;KACzB;wGAhBU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,mSCP5B,kaAcA,EAAA,MAAA,EAAA,CAAA,oCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,SAAA,EAAA,aAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,UAAA,EAAA,WAAA,EAAA,WAAA,EAAA,UAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDPa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,YAAY,EAAA,QAAA,EAAA,kaAAA,EAAA,MAAA,EAAA,CAAA,oCAAA,CAAA,EAAA,CAAA;8BAKb,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEI,WAAW,EAAA,CAAA;sBAApB,MAAM;;;METI,YAAY,CAAA;wGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yGAAZ,YAAY,EAAA,YAAA,EAAA,CAJR,eAAe,CACpB,EAAA,OAAA,EAAA,CAAA,YAAY,EAAC,mBAAmB,EAAC,WAAW,CAAA,EAAA,OAAA,EAAA,CAC5C,eAAe,CAAA,EAAA,CAAA,CAAA;AAEd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,EAHb,OAAA,EAAA,CAAA,YAAY,EAAC,mBAAmB,EAAC,WAAW,CAAA,EAAA,CAAA,CAAA;;4FAG3C,YAAY,EAAA,UAAA,EAAA,CAAA;kBALxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,eAAe,CAAC;AAC/B,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAC,mBAAmB,EAAC,WAAW,CAAC;oBACvD,OAAO,EAAE,CAAC,eAAe,CAAC;AAC3B,iBAAA,CAAA;;;ACTD;;AAEG;;;;"}
|
|
@@ -69,7 +69,7 @@ class ForgotPasswordComponent {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ForgotPasswordComponent, deps: [{ token: i1.FormBuilder }, { token: i2.HttpWebRequestService }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ForgotPasswordComponent, selector: "verben-forgot-password", inputs: { title: "title", subTitle: "subTitle", buttonCaption: "buttonCaption", buttonTextColor: "buttonTextColor", buttonBackgroundColor: "buttonBackgroundColor", tenant: "tenant" }, outputs: { onSubmit: "onSubmit", onSubmitEnd: "onSubmitEnd" }, ngImport: i0, template: "<div\n *ngIf=\"!isSubmitted\"\n [formGroup]=\"this.forgotPasswordForm\"\n class=\"reset-password-container flex flex-col\"\n>\n <div class=\"reset-password-header flex flex-col\">\n <div class=\"reset-password-title\">{{ title }}</div>\n <div class=\"reset-password-subtitle\">{{ subTitle }}</div>\n </div>\n <div class=\"form-field flex flex-col\">\n <div class=\"form-field-caption\">Email</div>\n <verbena-input\n bgColor=\"white\"\n borderRadius=\"12px\"\n formControlName=\"Email\"\n type=\"email\"\n ></verbena-input>\n </div>\n <verbena-button\n fontWeight=\"700\"\n (click)=\"submit()\"\n [text]=\"buttonCaption\"\n width=\"100%\"\n [textColor]=\"buttonTextColor\"\n [bgColor]=\"buttonBackgroundColor\"\n borderRadius=\"25px\"\n [disable]=\"!this.checkForm()\"\n ></verbena-button>\n</div>\n<div *ngIf=\"isSubmitted\" class=\"reset-password-container flex flex-col\">\n <div class=\"reset-password-title resend-title\">\n Follow the link sent to your e-mail to proceed\n </div>\n <div class=\"resend-text flex gap-1\">\n <span class=\"resend-caption\">Didn't get a link?</span>\n <span class=\"resend-caption resend-link\" (click)=\"submit()\">Resend</span>\n </div>\n</div>\n", styles: ["*{font-family:sans-serif;font-size:16px}.flex{display:flex}.flex-col{flex-direction:column}.font-bold{font-weight:700}.justify-center{justify-content:center}.justify-end{justify-content:end}.align-items-center{align-items:center}.grid{display:grid}.verben-error-message{font-size:.8rem;color:red}.verben-input{border:1px solid #cbd5e1;outline:none;border-radius:5px;color:#334155;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,outline-color .2s}.verben-input::placeholder{color:#64748b}.verben-input:hover{border:1px solid #697e97}.verben-input.disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input:disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input.focused{border-color:#3b82f6;outline:none}.verben-input:focus{border-color:#3b82f6;outline:none}.verben-input.ng-invalid{border-color:red}.verben-button{padding:8px 15px;border-radius:4px;border:none;text-align:center}.verben-button.primary{background-color:#ffe681}.verben-button.secondary{background-color:#d9d9d940}.reset-password-container{gap:25px;padding:50px;border:1px solid rgba(102,102,102,.5);box-shadow:4px 4px 4px #00000040;border-radius:24px}.reset-password-title{font-size:30px;font-weight:700}.reset-password-subtitle{font-size:14px;font-weight:500;color:#666}.form-field{gap:5px}.form-field-caption{color:#666}.resend-caption{font-size:13px}.resend-link{color:#00f;cursor:pointer}.resend-link:hover{text-decoration:underline}.resend-title{color:#666}.resend-text>span{font-size:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "fontSize", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "component", type: i3.VerbenaButtonComponent, selector: "verbena-button", inputs: ["text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
72
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ForgotPasswordComponent, selector: "verben-forgot-password", inputs: { title: "title", subTitle: "subTitle", buttonCaption: "buttonCaption", buttonTextColor: "buttonTextColor", buttonBackgroundColor: "buttonBackgroundColor", tenant: "tenant" }, outputs: { onSubmit: "onSubmit", onSubmitEnd: "onSubmitEnd" }, ngImport: i0, template: "<div\n *ngIf=\"!isSubmitted\"\n [formGroup]=\"this.forgotPasswordForm\"\n class=\"reset-password-container flex flex-col\"\n>\n <div class=\"reset-password-header flex flex-col\">\n <div class=\"reset-password-title\">{{ title }}</div>\n <div class=\"reset-password-subtitle\">{{ subTitle }}</div>\n </div>\n <div class=\"form-field flex flex-col\">\n <div class=\"form-field-caption\">Email</div>\n <verbena-input\n bgColor=\"white\"\n borderRadius=\"12px\"\n formControlName=\"Email\"\n type=\"email\"\n ></verbena-input>\n </div>\n <verbena-button\n fontWeight=\"700\"\n (click)=\"submit()\"\n [text]=\"buttonCaption\"\n width=\"100%\"\n [textColor]=\"buttonTextColor\"\n [bgColor]=\"buttonBackgroundColor\"\n borderRadius=\"25px\"\n [disable]=\"!this.checkForm()\"\n ></verbena-button>\n</div>\n<div *ngIf=\"isSubmitted\" class=\"reset-password-container flex flex-col\">\n <div class=\"reset-password-title resend-title\">\n Follow the link sent to your e-mail to proceed\n </div>\n <div class=\"resend-text flex gap-1\">\n <span class=\"resend-caption\">Didn't get a link?</span>\n <span class=\"resend-caption resend-link\" (click)=\"submit()\">Resend</span>\n </div>\n</div>\n", styles: ["*{font-family:sans-serif;font-size:16px}.flex{display:flex}.flex-col{flex-direction:column}.font-bold{font-weight:700}.justify-center{justify-content:center}.justify-end{justify-content:end}.align-items-center{align-items:center}.grid{display:grid}.verben-error-message{font-size:.8rem;color:red}.verben-input{border:1px solid #cbd5e1;outline:none;border-radius:5px;color:#334155;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,outline-color .2s}.verben-input::placeholder{color:#64748b}.verben-input:hover{border:1px solid #697e97}.verben-input.disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input:disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input.focused{border-color:#3b82f6;outline:none}.verben-input:focus{border-color:#3b82f6;outline:none}.verben-input.ng-invalid{border-color:red}.verben-button{padding:8px 15px;border-radius:4px;border:none;text-align:center}.verben-button.primary{background-color:#ffe681}.verben-button.secondary{background-color:#d9d9d940}.reset-password-container{gap:25px;padding:50px;border:1px solid rgba(102,102,102,.5);box-shadow:4px 4px 4px #00000040;border-radius:24px}.reset-password-title{font-size:30px;font-weight:700}.reset-password-subtitle{font-size:14px;font-weight:500;color:#666}.form-field{gap:5px}.form-field-caption{color:#666}.resend-caption{font-size:13px}.resend-link{color:#00f;cursor:pointer}.resend-link:hover{text-decoration:underline}.resend-title{color:#666}.resend-text>span{font-size:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.VerbenaInputComponent, selector: "verbena-input", inputs: ["disabled", "label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "fontSize", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "component", type: i3.VerbenaButtonComponent, selector: "verbena-button", inputs: ["type", "text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
73
73
|
}
|
|
74
74
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ForgotPasswordComponent, decorators: [{
|
|
75
75
|
type: Component,
|