@keycloakify/angular 0.0.4 → 0.0.5
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/account/DefaultPage/DefaultPage.d.ts +2 -30
- package/esm2022/account/containers/template/template.component.mjs +6 -6
- package/esm2022/account/directives/kc-class/kc-class.directive.mjs +3 -3
- package/esm2022/account/pages/account/account.component.mjs +3 -3
- package/esm2022/account/pages/applications/applications.component.mjs +3 -3
- package/esm2022/account/pages/federatedIdentity/federatedIdentity.component.mjs +3 -3
- package/esm2022/account/pages/log/log.component.mjs +3 -3
- package/esm2022/account/pages/password/password.component.mjs +3 -3
- package/esm2022/account/pages/sessions/sessions.component.mjs +3 -3
- package/esm2022/account/pages/totp/totp.component.mjs +3 -3
- package/esm2022/account/services/account-resource-injector/account-resource-injector.service.mjs +3 -3
- package/esm2022/account/services/i18n/i18n.service.mjs +3 -3
- package/esm2022/lib/directives/attributes/attributes.directive.mjs +3 -3
- package/esm2022/lib/pipes/input-type/input-type.pipe.mjs +3 -3
- package/esm2022/lib/pipes/is-array-with-empty-object/is-array-with-empty-object.pipe.mjs +3 -3
- package/esm2022/lib/pipes/kc-sanitize/kc-sanitize.pipe.mjs +3 -3
- package/esm2022/lib/pipes/to-array/to-array.pipe.mjs +3 -3
- package/esm2022/lib/pipes/to-number/to-number.pipe.mjs +3 -3
- package/esm2022/lib/services/resource-injector/resource-injector.service.mjs +3 -3
- package/esm2022/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.mjs +7 -53
- package/esm2022/login/components/field-errors/field-errors.component.mjs +3 -3
- package/esm2022/login/components/group-label/group-label.component.mjs +3 -3
- package/esm2022/login/components/input-field-by-type/input-field-by-type.component.mjs +3 -3
- package/esm2022/login/components/input-tag/input-tag.component.mjs +3 -3
- package/esm2022/login/components/input-tag-selects/input-tag-selects.component.mjs +3 -3
- package/esm2022/login/components/logout-other-sessions/logout-other-sessions.component.mjs +3 -3
- package/esm2022/login/components/password-wrapper/password-wrapper.component.mjs +3 -3
- package/esm2022/login/components/select-tag/select-tag.component.mjs +3 -3
- package/esm2022/login/components/textarea-tag/textarea-tag.component.mjs +3 -3
- package/esm2022/login/components/user-profile-form-fields/user-profile-form-fields.component.mjs +15 -22
- package/esm2022/login/containers/template/template.component.mjs +6 -6
- package/esm2022/login/directives/kc-class/kc-class.directive.mjs +3 -3
- package/esm2022/login/pages/code/code.component.mjs +3 -3
- package/esm2022/login/pages/delete-account-confirm/delete-account-confirm.component.mjs +3 -3
- package/esm2022/login/pages/delete-credential/delete-credential.component.mjs +3 -3
- package/esm2022/login/pages/error/error.component.mjs +3 -3
- package/esm2022/login/pages/frontchannel-logout/frontchannel-logout.component.mjs +3 -3
- package/esm2022/login/pages/idp-review-user-profile/idp-review-user-profile.component.mjs +13 -15
- package/esm2022/login/pages/info/info.component.mjs +3 -3
- package/esm2022/login/pages/login/login.component.mjs +3 -3
- package/esm2022/login/pages/login-config-totp/login-config-totp.component.mjs +3 -3
- package/esm2022/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.mjs +3 -3
- package/esm2022/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.mjs +3 -3
- package/esm2022/login/pages/login-idp-link-email/login-idp-link-email.component.mjs +3 -3
- package/esm2022/login/pages/login-oauth-grant/login-oauth-grant.component.mjs +3 -3
- package/esm2022/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.mjs +3 -3
- package/esm2022/login/pages/login-otp/login-otp.component.mjs +3 -3
- package/esm2022/login/pages/login-page-expired/login-page-expired.component.mjs +3 -3
- package/esm2022/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.mjs +3 -3
- package/esm2022/login/pages/login-password/login-password.component.mjs +3 -3
- package/esm2022/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.mjs +3 -3
- package/esm2022/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.mjs +3 -3
- package/esm2022/login/pages/login-reset-otp/login-reset-otp.component.mjs +3 -3
- package/esm2022/login/pages/login-reset-password/login-reset-password.component.mjs +3 -3
- package/esm2022/login/pages/login-update-password/login-update-password.component.mjs +3 -3
- package/esm2022/login/pages/login-update-profile/login-update-profile.component.mjs +13 -15
- package/esm2022/login/pages/login-username/login-username.component.mjs +3 -3
- package/esm2022/login/pages/login-verify-email/login-verify-email.component.mjs +3 -3
- package/esm2022/login/pages/login-x509-info/login-x509-info.component.mjs +3 -3
- package/esm2022/login/pages/logout-confirm/logout-confirm.component.mjs +3 -3
- package/esm2022/login/pages/register/register.component.mjs +14 -16
- package/esm2022/login/pages/saml-post-form/saml-post-form.component.mjs +3 -3
- package/esm2022/login/pages/select-authenticator/select-authenticator.component.mjs +3 -3
- package/esm2022/login/pages/terms/terms.component.mjs +3 -3
- package/esm2022/login/pages/update-email/update-email.component.mjs +13 -15
- package/esm2022/login/pages/webauthn-authenticate/webauthn-authenticate.component.mjs +3 -3
- package/esm2022/login/pages/webauthn-error/webauthn-error.component.mjs +3 -3
- package/esm2022/login/pages/webauthn-register/webauthn-register.component.mjs +3 -3
- package/esm2022/login/services/i18n/i18n.service.mjs +3 -3
- package/esm2022/login/services/login-resource-injector/login-resource-injector.service.mjs +3 -3
- package/esm2022/login/services/user-profile-form/user-profile-form.service.mjs +56 -1004
- package/fesm2022/keycloakify-angular-account-containers-template.mjs +6 -6
- package/fesm2022/keycloakify-angular-account-directives-kc-class.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-pages-account.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-pages-applications.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-pages-log.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-pages-password.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-pages-sessions.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-pages-totp.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-services-account-resource-injector.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-services-i18n.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-directives-attributes.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-pipes-input-type.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-pipes-kc-sanitize.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-pipes-to-array.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-pipes-to-number.mjs +3 -3
- package/fesm2022/keycloakify-angular-lib-services-resource-injector.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs +6 -52
- package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-components-field-errors.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-components-group-label.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-components-input-tag.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-components-logout-other-sessions.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-components-select-tag.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs +14 -21
- package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-containers-template.mjs +6 -6
- package/fesm2022/keycloakify-angular-login-directives-kc-class.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-code.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-error.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs +12 -14
- package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-info.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-password.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs +12 -14
- package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-login-username.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-login.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-register.mjs +13 -15
- package/fesm2022/keycloakify-angular-login-pages-register.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-terms.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-update-email.mjs +12 -14
- package/fesm2022/keycloakify-angular-login-pages-update-email.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-services-i18n.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs +3 -3
- package/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs +55 -1003
- package/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs.map +1 -1
- package/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.d.ts +0 -1
- package/login/components/user-profile-form-fields/user-profile-form-fields.component.d.ts +3 -13
- package/login/pages/idp-review-user-profile/idp-review-user-profile.component.d.ts +1 -2
- package/login/pages/login-update-profile/login-update-profile.component.d.ts +1 -2
- package/login/pages/register/register.component.d.ts +1 -2
- package/login/pages/update-email/update-email.component.d.ts +1 -2
- package/login/services/user-profile-form/user-profile-form.service.d.ts +20 -41
- package/package.json +2 -8
- package/src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.ts +3 -69
- package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.html +71 -68
- package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.ts +6 -21
- package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.ts +6 -13
- package/src/login/pages/login-update-profile/login-update-profile.component.ts +6 -12
- package/src/login/pages/register/register.component.html +1 -4
- package/src/login/pages/register/register.component.ts +5 -10
- package/src/login/pages/update-email/update-email.component.ts +6 -12
- package/src/login/services/user-profile-form/user-profile-form.service.ts +103 -1433
- package/esm2022/login/services/submit/keycloakify-angular-login-services-submit.mjs +0 -5
- package/esm2022/login/services/submit/public-api.mjs +0 -2
- package/esm2022/login/services/submit/submit.service.mjs +0 -20
- package/fesm2022/keycloakify-angular-login-services-submit.mjs +0 -27
- package/fesm2022/keycloakify-angular-login-services-submit.mjs.map +0 -1
- package/login/services/submit/index.d.ts +0 -5
- package/login/services/submit/public-api.d.ts +0 -1
- package/login/services/submit/submit.service.d.ts +0 -9
- package/src/login/services/submit/index.ts +0 -1
- package/src/login/services/submit/submit.service.ts +0 -12
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, computed, inject, input, output } from '@angular/core';
|
|
2
|
+
import { getButtonToDisplayForMultivaluedAttributeField } from '@keycloakify/angular/login/services/user-profile-form';
|
|
2
3
|
import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class AddRemoveButtonsMultiValuedAttributeComponent {
|
|
@@ -13,7 +14,7 @@ export class AddRemoveButtonsMultiValuedAttributeComponent {
|
|
|
13
14
|
const values = this.values();
|
|
14
15
|
const fieldIndex = this.fieldIndex();
|
|
15
16
|
if (attribute && values && fieldIndex) {
|
|
16
|
-
return
|
|
17
|
+
return getButtonToDisplayForMultivaluedAttributeField({
|
|
17
18
|
attribute,
|
|
18
19
|
values,
|
|
19
20
|
fieldIndex
|
|
@@ -26,7 +27,7 @@ export class AddRemoveButtonsMultiValuedAttributeComponent {
|
|
|
26
27
|
const values = this.values();
|
|
27
28
|
const fieldIndex = this.fieldIndex();
|
|
28
29
|
if (attribute && values && fieldIndex) {
|
|
29
|
-
return
|
|
30
|
+
return getButtonToDisplayForMultivaluedAttributeField({
|
|
30
31
|
attribute,
|
|
31
32
|
values,
|
|
32
33
|
fieldIndex
|
|
@@ -49,58 +50,11 @@ export class AddRemoveButtonsMultiValuedAttributeComponent {
|
|
|
49
50
|
valueOrValues: (this.values() ?? []).filter((_, i) => i !== this.fieldIndex())
|
|
50
51
|
});
|
|
51
52
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const hasRemove = (() => {
|
|
55
|
-
if (values.length === 1) {
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
const minCount = (() => {
|
|
59
|
-
const { multivalued } = attribute.validators;
|
|
60
|
-
if (multivalued === undefined) {
|
|
61
|
-
return undefined;
|
|
62
|
-
}
|
|
63
|
-
const minStr = multivalued.min;
|
|
64
|
-
if (minStr === undefined) {
|
|
65
|
-
return undefined;
|
|
66
|
-
}
|
|
67
|
-
return parseInt(`${minStr}`);
|
|
68
|
-
})();
|
|
69
|
-
if (minCount === undefined) {
|
|
70
|
-
return true;
|
|
71
|
-
}
|
|
72
|
-
if (values.length === minCount) {
|
|
73
|
-
return false;
|
|
74
|
-
}
|
|
75
|
-
return true;
|
|
76
|
-
})();
|
|
77
|
-
const hasAdd = (() => {
|
|
78
|
-
if (fieldIndex + 1 !== values.length) {
|
|
79
|
-
return false;
|
|
80
|
-
}
|
|
81
|
-
const maxCount = (() => {
|
|
82
|
-
const { multivalued } = attribute.validators;
|
|
83
|
-
if (multivalued === undefined) {
|
|
84
|
-
return undefined;
|
|
85
|
-
}
|
|
86
|
-
const maxStr = multivalued.max;
|
|
87
|
-
if (maxStr === undefined) {
|
|
88
|
-
return undefined;
|
|
89
|
-
}
|
|
90
|
-
return parseInt(`${maxStr}`);
|
|
91
|
-
})();
|
|
92
|
-
if (maxCount === undefined) {
|
|
93
|
-
return true;
|
|
94
|
-
}
|
|
95
|
-
return values.length !== maxCount;
|
|
96
|
-
})();
|
|
97
|
-
return { hasRemove, hasAdd };
|
|
98
|
-
}
|
|
99
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AddRemoveButtonsMultiValuedAttributeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
100
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: AddRemoveButtonsMultiValuedAttributeComponent, isStandalone: true, selector: "kc-add-remove-buttons-multi-valued-attribute", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, values: { classPropertyName: "values", publicName: "values", isSignal: true, isRequired: false, transformFunction: null }, fieldIndex: { classPropertyName: "fieldIndex", publicName: "fieldIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, ngImport: i0, template: "@let idPostfix = attribute()?.name ?? '' + '-' + (fieldIndex() ?? 0 + 1);\n@if (hasRemove()) {\n <button\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n [id]=\"'kc-remove-' + idPostfix\"\n (click)=\"onRemove()\"\n >\n {{ i18n.msgStr('remove') }}\n </button>\n @if (hasAdd()) {\n | \n }\n}\n@if (hasAdd()) {\n <button\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n [id]=\"'kc-add-' + idPostfix\"\n (click)=\"onAdd()\"\n >\n {{ i18n.msgStr('addValue') }}\n </button>\n}\n", styles: [":host{display:contents}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
53
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AddRemoveButtonsMultiValuedAttributeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
54
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: AddRemoveButtonsMultiValuedAttributeComponent, isStandalone: true, selector: "kc-add-remove-buttons-multi-valued-attribute", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, values: { classPropertyName: "values", publicName: "values", isSignal: true, isRequired: false, transformFunction: null }, fieldIndex: { classPropertyName: "fieldIndex", publicName: "fieldIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, ngImport: i0, template: "@let idPostfix = attribute()?.name ?? '' + '-' + (fieldIndex() ?? 0 + 1);\n@if (hasRemove()) {\n <button\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n [id]=\"'kc-remove-' + idPostfix\"\n (click)=\"onRemove()\"\n >\n {{ i18n.msgStr('remove') }}\n </button>\n @if (hasAdd()) {\n | \n }\n}\n@if (hasAdd()) {\n <button\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n [id]=\"'kc-add-' + idPostfix\"\n (click)=\"onAdd()\"\n >\n {{ i18n.msgStr('addValue') }}\n </button>\n}\n", styles: [":host{display:contents}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
101
55
|
}
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AddRemoveButtonsMultiValuedAttributeComponent, decorators: [{
|
|
103
57
|
type: Component,
|
|
104
58
|
args: [{ standalone: true, imports: [], selector: 'kc-add-remove-buttons-multi-valued-attribute', changeDetection: ChangeDetectionStrategy.OnPush, template: "@let idPostfix = attribute()?.name ?? '' + '-' + (fieldIndex() ?? 0 + 1);\n@if (hasRemove()) {\n <button\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n [id]=\"'kc-remove-' + idPostfix\"\n (click)=\"onRemove()\"\n >\n {{ i18n.msgStr('remove') }}\n </button>\n @if (hasAdd()) {\n | \n }\n}\n@if (hasAdd()) {\n <button\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n [id]=\"'kc-add-' + idPostfix\"\n (click)=\"onAdd()\"\n >\n {{ i18n.msgStr('addValue') }}\n </button>\n}\n", styles: [":host{display:contents}\n"] }]
|
|
105
59
|
}] });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJlbW92ZS1idXR0b25zLW11bHRpLXZhbHVlZC1hdHRyaWJ1dGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xvZ2luL2NvbXBvbmVudHMvYWRkLXJlbW92ZS1idXR0b25zLW11bHRpLXZhbHVlZC1hdHRyaWJ1dGUvYWRkLXJlbW92ZS1idXR0b25zLW11bHRpLXZhbHVlZC1hdHRyaWJ1dGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xvZ2luL2NvbXBvbmVudHMvYWRkLXJlbW92ZS1idXR0b25zLW11bHRpLXZhbHVlZC1hdHRyaWJ1dGUvYWRkLXJlbW92ZS1idXR0b25zLW11bHRpLXZhbHVlZC1hdHRyaWJ1dGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQWtCcEUsTUFBTSxPQUFPLDZDQUE2QztJQWQxRDtRQWVJLFNBQUksR0FBRyxNQUFNLENBQU8sVUFBVSxDQUFDLENBQUM7UUFDaEMsY0FBUyxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQy9CLFdBQU0sR0FBRyxLQUFLLEVBQVksQ0FBQztRQUMzQixlQUFVLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDN0IsdUJBQWtCLEdBQUcsTUFBTSxFQUFjLENBQUM7UUFFMUMsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDdEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckMsSUFBSSxTQUFTLElBQUksTUFBTSxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNwQyxPQUFPLElBQUksQ0FBQyw4Q0FBOEMsQ0FBQztvQkFDdkQsU0FBUztvQkFDVCxNQUFNO29CQUNOLFVBQVU7aUJBQ2IsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNqQixDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDSCxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNuQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzdCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQyxJQUFJLFNBQVMsSUFBSSxNQUFNLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ3BDLE9BQU8sSUFBSSxDQUFDLDhDQUE4QyxDQUFDO29CQUN2RCxTQUFTO29CQUNULE1BQU07b0JBQ04sVUFBVTtpQkFDYixDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ2QsQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO0tBbUZOO0lBakZHLEtBQUs7UUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDO1lBQ3pCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDbEMsYUFBYSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7U0FDaEQsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDO1lBQ3pCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDbEMsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDakYsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLDhDQUE4QyxDQUFDLE1BQXNFO1FBQ3pILE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUVqRCxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNwQixJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sS0FBSyxDQUFDO1lBQ2pCLENBQUM7WUFFRCxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDbkIsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7Z0JBRTdDLElBQUksV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUM1QixPQUFPLFNBQVMsQ0FBQztnQkFDckIsQ0FBQztnQkFFRCxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDO2dCQUUvQixJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDdkIsT0FBTyxTQUFTLENBQUM7Z0JBQ3JCLENBQUM7Z0JBRUQsT0FBTyxRQUFRLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFFTCxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDekIsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUVELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDN0IsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFTCxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNqQixJQUFJLFVBQVUsR0FBRyxDQUFDLEtBQUssTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNuQyxPQUFPLEtBQUssQ0FBQztZQUNqQixDQUFDO1lBRUQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25CLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDO2dCQUU3QyxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDNUIsT0FBTyxTQUFTLENBQUM7Z0JBQ3JCLENBQUM7Z0JBRUQsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQztnQkFFL0IsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQ3ZCLE9BQU8sU0FBUyxDQUFDO2dCQUNyQixDQUFDO2dCQUVELE9BQU8sUUFBUSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBRUwsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3pCLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFFRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFTCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ2pDLENBQUM7OEdBbEhRLDZDQUE2QztrR0FBN0MsNkNBQTZDLGlqQkNwQjFELDRtQkF3QkE7OzJGREphLDZDQUE2QztrQkFkekQsU0FBUztpQ0FDTSxJQUFJLFdBUVAsRUFBRSxZQUNELDhDQUE4QyxtQkFFdkMsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHR5cGUgRm9ybUFjdGlvbiB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3NlcnZpY2VzL3VzZXItcHJvZmlsZS1mb3JtJztcbmltcG9ydCB7IExPR0lOX0kxOE4gfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMvaTE4bic7XG5pbXBvcnQgeyB0eXBlIEF0dHJpYnV0ZSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL0tjQ29udGV4dCc7XG5pbXBvcnQgdHlwZSB7IEkxOG4gfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9pMThuJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXSxcbiAgICBzZWxlY3RvcjogJ2tjLWFkZC1yZW1vdmUtYnV0dG9ucy1tdWx0aS12YWx1ZWQtYXR0cmlidXRlJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2FkZC1yZW1vdmUtYnV0dG9ucy1tdWx0aS12YWx1ZWQtYXR0cmlidXRlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBZGRSZW1vdmVCdXR0b25zTXVsdGlWYWx1ZWRBdHRyaWJ1dGVDb21wb25lbnQge1xuICAgIGkxOG4gPSBpbmplY3Q8STE4bj4oTE9HSU5fSTE4Tik7XG4gICAgYXR0cmlidXRlID0gaW5wdXQ8QXR0cmlidXRlPigpO1xuICAgIHZhbHVlcyA9IGlucHV0PHN0cmluZ1tdPigpO1xuICAgIGZpZWxkSW5kZXggPSBpbnB1dDxudW1iZXI+KCk7XG4gICAgZGlzcGF0Y2hGb3JtQWN0aW9uID0gb3V0cHV0PEZvcm1BY3Rpb24+KCk7XG5cbiAgICBoYXNSZW1vdmUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHRoaXMuYXR0cmlidXRlKCk7XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMudmFsdWVzKCk7XG4gICAgICAgIGNvbnN0IGZpZWxkSW5kZXggPSB0aGlzLmZpZWxkSW5kZXgoKTtcbiAgICAgICAgaWYgKGF0dHJpYnV0ZSAmJiB2YWx1ZXMgJiYgZmllbGRJbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QnV0dG9uVG9EaXNwbGF5Rm9yTXVsdGl2YWx1ZWRBdHRyaWJ1dGVGaWVsZCh7XG4gICAgICAgICAgICAgICAgYXR0cmlidXRlLFxuICAgICAgICAgICAgICAgIHZhbHVlcyxcbiAgICAgICAgICAgICAgICBmaWVsZEluZGV4XG4gICAgICAgICAgICB9KS5oYXNSZW1vdmU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pO1xuICAgIGhhc0FkZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlID0gdGhpcy5hdHRyaWJ1dGUoKTtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy52YWx1ZXMoKTtcbiAgICAgICAgY29uc3QgZmllbGRJbmRleCA9IHRoaXMuZmllbGRJbmRleCgpO1xuICAgICAgICBpZiAoYXR0cmlidXRlICYmIHZhbHVlcyAmJiBmaWVsZEluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRCdXR0b25Ub0Rpc3BsYXlGb3JNdWx0aXZhbHVlZEF0dHJpYnV0ZUZpZWxkKHtcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGUsXG4gICAgICAgICAgICAgICAgdmFsdWVzLFxuICAgICAgICAgICAgICAgIGZpZWxkSW5kZXhcbiAgICAgICAgICAgIH0pLmhhc0FkZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG5cbiAgICBvbkFkZCgpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCh7XG4gICAgICAgICAgICBhY3Rpb246ICd1cGRhdGUnLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5hdHRyaWJ1dGUoKT8ubmFtZSA/PyAnJyxcbiAgICAgICAgICAgIHZhbHVlT3JWYWx1ZXM6IFsuLi4odGhpcy52YWx1ZXMoKSA/PyBbXSksICcnXVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvblJlbW92ZSgpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaEZvcm1BY3Rpb24uZW1pdCh7XG4gICAgICAgICAgICBhY3Rpb246ICd1cGRhdGUnLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5hdHRyaWJ1dGUoKT8ubmFtZSA/PyAnJyxcbiAgICAgICAgICAgIHZhbHVlT3JWYWx1ZXM6ICh0aGlzLnZhbHVlcygpID8/IFtdKS5maWx0ZXIoKF8sIGkpID0+IGkgIT09IHRoaXMuZmllbGRJbmRleCgpKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEJ1dHRvblRvRGlzcGxheUZvck11bHRpdmFsdWVkQXR0cmlidXRlRmllbGQocGFyYW1zOiB7IGF0dHJpYnV0ZTogQXR0cmlidXRlOyB2YWx1ZXM6IHN0cmluZ1tdOyBmaWVsZEluZGV4OiBudW1iZXIgfSkge1xuICAgICAgICBjb25zdCB7IGF0dHJpYnV0ZSwgdmFsdWVzLCBmaWVsZEluZGV4IH0gPSBwYXJhbXM7XG5cbiAgICAgICAgY29uc3QgaGFzUmVtb3ZlID0gKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBtaW5Db3VudCA9ICgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBtdWx0aXZhbHVlZCB9ID0gYXR0cmlidXRlLnZhbGlkYXRvcnM7XG5cbiAgICAgICAgICAgICAgICBpZiAobXVsdGl2YWx1ZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IG1pblN0ciA9IG11bHRpdmFsdWVkLm1pbjtcblxuICAgICAgICAgICAgICAgIGlmIChtaW5TdHIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZUludChgJHttaW5TdHJ9YCk7XG4gICAgICAgICAgICB9KSgpO1xuXG4gICAgICAgICAgICBpZiAobWluQ291bnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gbWluQ291bnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KSgpO1xuXG4gICAgICAgIGNvbnN0IGhhc0FkZCA9ICgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoZmllbGRJbmRleCArIDEgIT09IHZhbHVlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IG1heENvdW50ID0gKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IG11bHRpdmFsdWVkIH0gPSBhdHRyaWJ1dGUudmFsaWRhdG9ycztcblxuICAgICAgICAgICAgICAgIGlmIChtdWx0aXZhbHVlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgbWF4U3RyID0gbXVsdGl2YWx1ZWQubWF4O1xuXG4gICAgICAgICAgICAgICAgaWYgKG1heFN0ciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KGAke21heFN0cn1gKTtcbiAgICAgICAgICAgIH0pKCk7XG5cbiAgICAgICAgICAgIGlmIChtYXhDb3VudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZXMubGVuZ3RoICE9PSBtYXhDb3VudDtcbiAgICAgICAgfSkoKTtcblxuICAgICAgICByZXR1cm4geyBoYXNSZW1vdmUsIGhhc0FkZCB9O1xuICAgIH1cbn1cbiIsIkBsZXQgaWRQb3N0Zml4ID0gYXR0cmlidXRlKCk/Lm5hbWUgPz8gJycgKyAnLScgKyAoZmllbGRJbmRleCgpID8/IDAgKyAxKTtcbkBpZiAoaGFzUmVtb3ZlKCkpIHtcbiAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInBmLWMtYnV0dG9uIHBmLW0taW5saW5lIHBmLW0tbGlua1wiXG4gICAgICAgIFtpZF09XCIna2MtcmVtb3ZlLScgKyBpZFBvc3RmaXhcIlxuICAgICAgICAoY2xpY2spPVwib25SZW1vdmUoKVwiXG4gICAgPlxuICAgICAgICB7eyBpMThuLm1zZ1N0cigncmVtb3ZlJykgfX1cbiAgICA8L2J1dHRvbj5cbiAgICBAaWYgKGhhc0FkZCgpKSB7XG4gICAgICAgICZuYnNwO3wmbmJzcDtcbiAgICB9XG59XG5AaWYgKGhhc0FkZCgpKSB7XG4gICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJwZi1jLWJ1dHRvbiBwZi1tLWlubGluZSBwZi1tLWxpbmtcIlxuICAgICAgICBbaWRdPVwiJ2tjLWFkZC0nICsgaWRQb3N0Zml4XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQWRkKClcIlxuICAgID5cbiAgICAgICAge3sgaTE4bi5tc2dTdHIoJ2FkZFZhbHVlJykgfX1cbiAgICA8L2J1dHRvbj5cbn1cbiJdfQ==
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJlbW92ZS1idXR0b25zLW11bHRpLXZhbHVlZC1hdHRyaWJ1dGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xvZ2luL2NvbXBvbmVudHMvYWRkLXJlbW92ZS1idXR0b25zLW11bHRpLXZhbHVlZC1hdHRyaWJ1dGUvYWRkLXJlbW92ZS1idXR0b25zLW11bHRpLXZhbHVlZC1hdHRyaWJ1dGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xvZ2luL2NvbXBvbmVudHMvYWRkLXJlbW92ZS1idXR0b25zLW11bHRpLXZhbHVlZC1hdHRyaWJ1dGUvYWRkLXJlbW92ZS1idXR0b25zLW11bHRpLXZhbHVlZC1hdHRyaWJ1dGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLDhDQUE4QyxFQUFtQixNQUFNLHVEQUF1RCxDQUFDO0FBQ3hJLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7QUFrQnBFLE1BQU0sT0FBTyw2Q0FBNkM7SUFkMUQ7UUFlSSxTQUFJLEdBQUcsTUFBTSxDQUFPLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxLQUFLLEVBQWEsQ0FBQztRQUMvQixXQUFNLEdBQUcsS0FBSyxFQUFZLENBQUM7UUFDM0IsZUFBVSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzdCLHVCQUFrQixHQUFHLE1BQU0sRUFBYyxDQUFDO1FBRTFDLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3RCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JDLElBQUksU0FBUyxJQUFJLE1BQU0sSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDcEMsT0FBTyw4Q0FBOEMsQ0FBQztvQkFDbEQsU0FBUztvQkFDVCxNQUFNO29CQUNOLFVBQVU7aUJBQ2IsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNqQixDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDSCxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNuQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzdCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQyxJQUFJLFNBQVMsSUFBSSxNQUFNLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ3BDLE9BQU8sOENBQThDLENBQUM7b0JBQ2xELFNBQVM7b0JBQ1QsTUFBTTtvQkFDTixVQUFVO2lCQUNiLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDZCxDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7S0FpQk47SUFmRyxLQUFLO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUN6QixNQUFNLEVBQUUsUUFBUTtZQUNoQixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ2xDLGFBQWEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1NBQ2hELENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUN6QixNQUFNLEVBQUUsUUFBUTtZQUNoQixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ2xDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ2pGLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBaERRLDZDQUE2QztrR0FBN0MsNkNBQTZDLGlqQkNwQjFELDRtQkF3QkE7OzJGREphLDZDQUE2QztrQkFkekQsU0FBUztpQ0FDTSxJQUFJLFdBUVAsRUFBRSxZQUNELDhDQUE4QyxtQkFFdkMsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldEJ1dHRvblRvRGlzcGxheUZvck11bHRpdmFsdWVkQXR0cmlidXRlRmllbGQsIHR5cGUgRm9ybUFjdGlvbiB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3NlcnZpY2VzL3VzZXItcHJvZmlsZS1mb3JtJztcbmltcG9ydCB7IExPR0lOX0kxOE4gfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMvaTE4bic7XG5pbXBvcnQgeyB0eXBlIEF0dHJpYnV0ZSB9IGZyb20gJ2tleWNsb2FraWZ5L2xvZ2luL0tjQ29udGV4dCc7XG5pbXBvcnQgdHlwZSB7IEkxOG4gfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9pMThuJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXSxcbiAgICBzZWxlY3RvcjogJ2tjLWFkZC1yZW1vdmUtYnV0dG9ucy1tdWx0aS12YWx1ZWQtYXR0cmlidXRlJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2FkZC1yZW1vdmUtYnV0dG9ucy1tdWx0aS12YWx1ZWQtYXR0cmlidXRlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBZGRSZW1vdmVCdXR0b25zTXVsdGlWYWx1ZWRBdHRyaWJ1dGVDb21wb25lbnQge1xuICAgIGkxOG4gPSBpbmplY3Q8STE4bj4oTE9HSU5fSTE4Tik7XG4gICAgYXR0cmlidXRlID0gaW5wdXQ8QXR0cmlidXRlPigpO1xuICAgIHZhbHVlcyA9IGlucHV0PHN0cmluZ1tdPigpO1xuICAgIGZpZWxkSW5kZXggPSBpbnB1dDxudW1iZXI+KCk7XG4gICAgZGlzcGF0Y2hGb3JtQWN0aW9uID0gb3V0cHV0PEZvcm1BY3Rpb24+KCk7XG5cbiAgICBoYXNSZW1vdmUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHRoaXMuYXR0cmlidXRlKCk7XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMudmFsdWVzKCk7XG4gICAgICAgIGNvbnN0IGZpZWxkSW5kZXggPSB0aGlzLmZpZWxkSW5kZXgoKTtcbiAgICAgICAgaWYgKGF0dHJpYnV0ZSAmJiB2YWx1ZXMgJiYgZmllbGRJbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuIGdldEJ1dHRvblRvRGlzcGxheUZvck11bHRpdmFsdWVkQXR0cmlidXRlRmllbGQoe1xuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSxcbiAgICAgICAgICAgICAgICB2YWx1ZXMsXG4gICAgICAgICAgICAgICAgZmllbGRJbmRleFxuICAgICAgICAgICAgfSkuaGFzUmVtb3ZlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgICBoYXNBZGQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHRoaXMuYXR0cmlidXRlKCk7XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMudmFsdWVzKCk7XG4gICAgICAgIGNvbnN0IGZpZWxkSW5kZXggPSB0aGlzLmZpZWxkSW5kZXgoKTtcbiAgICAgICAgaWYgKGF0dHJpYnV0ZSAmJiB2YWx1ZXMgJiYgZmllbGRJbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuIGdldEJ1dHRvblRvRGlzcGxheUZvck11bHRpdmFsdWVkQXR0cmlidXRlRmllbGQoe1xuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSxcbiAgICAgICAgICAgICAgICB2YWx1ZXMsXG4gICAgICAgICAgICAgICAgZmllbGRJbmRleFxuICAgICAgICAgICAgfSkuaGFzQWRkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcblxuICAgIG9uQWRkKCkge1xuICAgICAgICB0aGlzLmRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KHtcbiAgICAgICAgICAgIGFjdGlvbjogJ3VwZGF0ZScsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmF0dHJpYnV0ZSgpPy5uYW1lID8/ICcnLFxuICAgICAgICAgICAgdmFsdWVPclZhbHVlczogWy4uLih0aGlzLnZhbHVlcygpID8/IFtdKSwgJyddXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uUmVtb3ZlKCkge1xuICAgICAgICB0aGlzLmRpc3BhdGNoRm9ybUFjdGlvbi5lbWl0KHtcbiAgICAgICAgICAgIGFjdGlvbjogJ3VwZGF0ZScsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmF0dHJpYnV0ZSgpPy5uYW1lID8/ICcnLFxuICAgICAgICAgICAgdmFsdWVPclZhbHVlczogKHRoaXMudmFsdWVzKCkgPz8gW10pLmZpbHRlcigoXywgaSkgPT4gaSAhPT0gdGhpcy5maWVsZEluZGV4KCkpXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIkBsZXQgaWRQb3N0Zml4ID0gYXR0cmlidXRlKCk/Lm5hbWUgPz8gJycgKyAnLScgKyAoZmllbGRJbmRleCgpID8/IDAgKyAxKTtcbkBpZiAoaGFzUmVtb3ZlKCkpIHtcbiAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInBmLWMtYnV0dG9uIHBmLW0taW5saW5lIHBmLW0tbGlua1wiXG4gICAgICAgIFtpZF09XCIna2MtcmVtb3ZlLScgKyBpZFBvc3RmaXhcIlxuICAgICAgICAoY2xpY2spPVwib25SZW1vdmUoKVwiXG4gICAgPlxuICAgICAgICB7eyBpMThuLm1zZ1N0cigncmVtb3ZlJykgfX1cbiAgICA8L2J1dHRvbj5cbiAgICBAaWYgKGhhc0FkZCgpKSB7XG4gICAgICAgICZuYnNwO3wmbmJzcDtcbiAgICB9XG59XG5AaWYgKGhhc0FkZCgpKSB7XG4gICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJwZi1jLWJ1dHRvbiBwZi1tLWlubGluZSBwZi1tLWxpbmtcIlxuICAgICAgICBbaWRdPVwiJ2tjLWFkZC0nICsgaWRQb3N0Zml4XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQWRkKClcIlxuICAgID5cbiAgICAgICAge3sgaTE4bi5tc2dTdHIoJ2FkZFZhbHVlJykgfX1cbiAgICA8L2J1dHRvbj5cbn1cbiJdfQ==
|
|
@@ -13,15 +13,15 @@ export class FieldErrorsComponent extends ComponentReference {
|
|
|
13
13
|
this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
|
|
14
14
|
this.classes = inject(LOGIN_CLASSES);
|
|
15
15
|
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FieldErrorsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: FieldErrorsComponent, isStandalone: true, selector: "kc-field-errors", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null }, fieldIndex: { classPropertyName: "fieldIndex", publicName: "fieldIndex", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
18
18
|
{
|
|
19
19
|
provide: ComponentReference,
|
|
20
20
|
useExisting: forwardRef(() => FieldErrorsComponent)
|
|
21
21
|
}
|
|
22
22
|
], usesInheritance: true, ngImport: i0, template: "@let index = fieldIndex();\n<span\n aria-live=\"polite\"\n [id]=\"'input-error-' + attribute.name + (index === undefined ? '' : '-' + index)\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n>\n @for (error of displayableErrors(); track error; let i = $index) {\n @if (error.fieldIndex === index) {\n <span [innerHTML]=\"error.errorMessage\"></span>\n @if (displayableErrors()?.length ?? 0 - 1 !== i) {\n <br />\n }\n }\n }\n</span>\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FieldErrorsComponent, decorators: [{
|
|
25
25
|
type: Component,
|
|
26
26
|
args: [{ standalone: true, imports: [KcClassDirective], selector: 'kc-field-errors', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
27
27
|
{
|
|
@@ -23,15 +23,15 @@ export class GroupLabelComponent extends ComponentReference {
|
|
|
23
23
|
return '';
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: GroupLabelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: GroupLabelComponent, isStandalone: true, selector: "kc-group-label", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
28
28
|
{
|
|
29
29
|
provide: ComponentReference,
|
|
30
30
|
useExisting: forwardRef(() => GroupLabelComponent)
|
|
31
31
|
}
|
|
32
32
|
], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@let groupName = groupNameRef();\n@if (attr && groupName !== '') {\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n [kcAttributes]=\"attr.group?.html5DataAnnotations\"\n >\n @let groupDisplayHeader = attr.group?.displayHeader ?? '';\n @let groupHeaderText = groupDisplayHeader !== '' ? groupDisplayHeader : (attr.group?.name ?? '');\n <div [kcClass]=\"'kcContentWrapperClass'\">\n <label\n [id]=\"'header-' + attr.group?.name\"\n [kcClass]=\"'kcFormGroupHeader'\"\n >\n {{ i18n.advancedMsgStr(groupHeaderText) }}\n </label>\n </div>\n @let groupDisplayDescription = attr.group?.displayDescription ?? '';\n @if (groupDisplayDescription !== '') {\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n [id]=\"'description-' + attr.group?.name\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.advancedMsgStr(groupDisplayDescription) }}\n </label>\n </div>\n }\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "directive", type: AttributesDirective, selector: "[kcAttributes]", inputs: ["kcAttributes"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33
33
|
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: GroupLabelComponent, decorators: [{
|
|
35
35
|
type: Component,
|
|
36
36
|
args: [{ standalone: true, imports: [KcClassDirective, AttributesDirective], selector: 'kc-group-label', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
37
37
|
{
|
|
@@ -26,15 +26,15 @@ export class InputFieldByTypeComponent extends ComponentReference {
|
|
|
26
26
|
};
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputFieldByTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: InputFieldByTypeComponent, isStandalone: true, selector: "kc-input-field-by-type", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
|
|
31
31
|
{
|
|
32
32
|
provide: ComponentReference,
|
|
33
33
|
useExisting: forwardRef(() => InputFieldByTypeComponent)
|
|
34
34
|
}
|
|
35
35
|
], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@if (attr) {\n @let type = attr.annotations.inputType;\n @switch (type) {\n @case ('textarea') {\n <kc-textarea-tag\n [attribute]=\"attribute()\"\n [value]=\"$any(valueOrValues())\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n @case (type === 'select' || type === 'multiselect' ? type : '') {\n <kc-select-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n @case (type === 'select-radiobuttons' || type === 'multiselect-checkboxes' ? type : '') {\n <kc-input-tag-selects\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n @default {\n @let values = valueOrValues();\n <!-- if valueOrValues is string skip -->\n @if (values && (values | toArray: true).length) {\n @for (value of values; track value; let i = $index) {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [fieldIndex]=\"i\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n } @else {\n @if (attr.name === 'password' || attr.name === 'password-confirm') {\n <kc-password-wrapper [passwordInputId]=\"attr.name\">\n <kc-input-tag\n [attribute]=\"attributePassword()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n </kc-password-wrapper>\n } @else {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n }\n }\n }\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "pipe", type: ToArrayPipe, name: "toArray" }, { kind: "component", type: TextareaTagComponent, selector: "kc-textarea-tag", inputs: ["attribute", "value", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: SelectTagComponent, selector: "kc-select-tag", inputs: ["attribute", "valueOrValues", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: InputTagSelectsComponent, selector: "kc-input-tag-selects", inputs: ["attribute", "valueOrValues", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: InputTagComponent, selector: "kc-input-tag", inputs: ["attribute", "valueOrValues", "fieldIndex", "values", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: PasswordWrapperComponent, selector: "kc-password-wrapper", inputs: ["passwordInputId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36
36
|
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputFieldByTypeComponent, decorators: [{
|
|
38
38
|
type: Component,
|
|
39
39
|
args: [{ standalone: true, imports: [ToArrayPipe, TextareaTagComponent, SelectTagComponent, InputTagSelectsComponent, InputTagComponent, PasswordWrapperComponent], selector: 'kc-input-field-by-type', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
40
40
|
{
|
|
@@ -62,15 +62,15 @@ export class InputTagComponent extends ComponentReference {
|
|
|
62
62
|
fieldIndex: this.fieldIndex()
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputTagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: InputTagComponent, isStandalone: true, selector: "kc-input-tag", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, fieldIndex: { classPropertyName: "fieldIndex", publicName: "fieldIndex", isSignal: true, isRequired: false, transformFunction: null }, values: { classPropertyName: "values", publicName: "values", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
|
|
67
67
|
{
|
|
68
68
|
provide: ComponentReference,
|
|
69
69
|
useExisting: forwardRef(() => InputTagComponent)
|
|
70
70
|
}
|
|
71
71
|
], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@let index = fieldIndex();\n@if (attr) {\n <input\n [type]=\"attr.annotations.inputType | inputType\"\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [value]=\"value()\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"index && displayableErrors()?.[index] !== undefined\"\n [disabled]=\"attr.readOnly\"\n [autocomplete]=\"attr.autocomplete\"\n [placeholder]=\"i18n.advancedMsgStr(attr.annotations.inputTypePlaceholder ?? '')\"\n [attr.pattern]=\"attr.annotations.inputTypePattern\"\n [attr.size]=\"\n !attr.annotations.inputTypeSize\n ? undefined\n : (attr.annotations.inputTypeSize | toNumber) === 0\n ? undefined\n : (attr.annotations.inputTypeSize | toNumber)\n \"\n [attr.maxlength]=\"!attr.annotations.inputTypeMaxlength ? undefined : (attr.annotations.inputTypeMaxlength | toNumber)\"\n [attr.minlength]=\"!attr.annotations.inputTypeMinlength ? undefined : (attr.annotations.inputTypeMinlength | toNumber)\"\n [attr.max]=\"attr.annotations.inputTypeMax\"\n [attr.min]=\"attr.annotations.inputTypeMin\"\n [attr.step]=\"attr.annotations.inputTypeStep\"\n [kcAttributes]=\"attr.html5DataAnnotations\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n />\n @if (index !== undefined) {\n @let values = valueOrValues() ?? [] | toArray;\n <kc-field-errors\n [attribute]=\"attr\"\n [displayableErrors]=\"displayableErrors()\"\n [fieldIndex]=\"index\"\n />\n <kc-add-remove-buttons-multi-valued-attribute\n [attribute]=\"attr\"\n [values]=\"values\"\n [fieldIndex]=\"index\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "pipe", type: InputTypePipe, name: "inputType" }, { kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: ToNumberPipe, name: "toNumber" }, { kind: "directive", type: AttributesDirective, selector: "[kcAttributes]", inputs: ["kcAttributes"] }, { kind: "pipe", type: ToArrayPipe, name: "toArray" }, { kind: "component", type: FieldErrorsComponent, selector: "kc-field-errors", inputs: ["attribute", "displayableErrors", "fieldIndex"] }, { kind: "component", type: AddRemoveButtonsMultiValuedAttributeComponent, selector: "kc-add-remove-buttons-multi-valued-attribute", inputs: ["attribute", "values", "fieldIndex"], outputs: ["dispatchFormAction"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
72
72
|
}
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputTagComponent, decorators: [{
|
|
74
74
|
type: Component,
|
|
75
75
|
args: [{ standalone: true, imports: [
|
|
76
76
|
InputTypePipe,
|
|
@@ -97,15 +97,15 @@ export class InputTagSelectsComponent extends ComponentReference {
|
|
|
97
97
|
fieldIndex: undefined
|
|
98
98
|
});
|
|
99
99
|
}
|
|
100
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
101
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
100
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputTagSelectsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
101
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: InputTagSelectsComponent, isStandalone: true, selector: "kc-input-tag-selects", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
|
|
102
102
|
{
|
|
103
103
|
provide: ComponentReference,
|
|
104
104
|
useExisting: forwardRef(() => InputTagSelectsComponent)
|
|
105
105
|
}
|
|
106
106
|
], usesInheritance: true, ngImport: i0, template: "@let inputType = context()?.inputType;\n@let classInput = context()?.classInput;\n@let classLabel = context()?.classLabel;\n@let classDiv = context()?.classDiv;\n@let attr = attribute();\n@if (attr) {\n @for (option of options(); track option) {\n <div [kcClass]=\"classDiv\">\n <input\n [type]=\"inputType\"\n [id]=\"attr.name + '-' + option\"\n [name]=\"attr.name\"\n [value]=\"option\"\n [kcClass]=\"classInput\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [checked]=\"checked(option)\"\n (change)=\"onChange($event, option)\"\n (blur)=\"onBlur()\"\n />\n <label\n [for]=\"attr.name + '-' + option\"\n [kcClass]=\"[classLabel!, attr.readOnly ? 'kcInputClassRadioCheckboxLabelDisabled' : $any('')]\"\n >\n {{ i18n.advancedMsgStr(option) }}\n </label>\n </div>\n }\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
107
107
|
}
|
|
108
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputTagSelectsComponent, decorators: [{
|
|
109
109
|
type: Component,
|
|
110
110
|
args: [{ standalone: true, imports: [KcClassDirective], selector: 'kc-input-tag-selects', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
111
111
|
{
|
|
@@ -12,15 +12,15 @@ export class LogoutOtherSessionsComponent extends ComponentReference {
|
|
|
12
12
|
this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
|
|
13
13
|
this.classes = inject(LOGIN_CLASSES);
|
|
14
14
|
}
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LogoutOtherSessionsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: LogoutOtherSessionsComponent, isStandalone: true, selector: "kc-logout-other-sessions", providers: [
|
|
17
17
|
{
|
|
18
18
|
provide: ComponentReference,
|
|
19
19
|
useExisting: forwardRef(() => LogoutOtherSessionsComponent)
|
|
20
20
|
}
|
|
21
21
|
], usesInheritance: true, ngImport: i0, template: "<div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n>\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\">\n <div class=\"checkbox\">\n <label for=\"logout-sessions\">\n <input\n type=\"checkbox\"\n id=\"logout-sessions\"\n name=\"logout-sessions\"\n value=\"on\"\n defaultChecked=\"true\"\n />\n {{ i18n.msgStr('logoutOtherSessions') }}\n </label>\n </div>\n </div>\n</div>\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LogoutOtherSessionsComponent, decorators: [{
|
|
24
24
|
type: Component,
|
|
25
25
|
args: [{ selector: 'kc-logout-other-sessions', standalone: true, imports: [KcClassDirective], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
26
26
|
{
|
|
@@ -26,15 +26,15 @@ export class PasswordWrapperComponent extends ComponentReference {
|
|
|
26
26
|
this.renderer.setProperty(input, 'type', this.isPasswordRevealed() ? 'text' : 'password');
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PasswordWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.8", type: PasswordWrapperComponent, isStandalone: true, selector: "kc-password-wrapper", inputs: { passwordInputId: { classPropertyName: "passwordInputId", publicName: "passwordInputId", isSignal: true, isRequired: true, transformFunction: null } }, providers: [
|
|
31
31
|
{
|
|
32
32
|
provide: ComponentReference,
|
|
33
33
|
useExisting: forwardRef(() => PasswordWrapperComponent)
|
|
34
34
|
}
|
|
35
35
|
], usesInheritance: true, ngImport: i0, template: "<div [kcClass]=\"'kcInputGroup'\">\n <ng-content />\n <button\n type=\"button\"\n [kcClass]=\"'kcFormPasswordVisibilityButtonClass'\"\n [attr.aria-label]=\"i18n.msgStr(isPasswordRevealed() ? 'hidePassword' : 'showPassword')\"\n [attr.aria-controls]=\"passwordInputId()\"\n (click)=\"togglePasswordVisibility()\"\n >\n <i\n aria-hidden=\"true\"\n [kcClass]=\"isPasswordRevealed() ? 'kcFormPasswordVisibilityIconHide' : 'kcFormPasswordVisibilityIconShow'\"\n ></i>\n </button>\n</div>\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36
36
|
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PasswordWrapperComponent, decorators: [{
|
|
38
38
|
type: Component,
|
|
39
39
|
args: [{ selector: 'kc-password-wrapper', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [KcClassDirective, AsyncPipe], providers: [
|
|
40
40
|
{
|
|
@@ -62,15 +62,15 @@ export class SelectTagComponent extends ComponentReference {
|
|
|
62
62
|
fieldIndex: undefined
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SelectTagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: SelectTagComponent, isStandalone: true, selector: "kc-select-tag", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
|
|
67
67
|
{
|
|
68
68
|
provide: ComponentReference,
|
|
69
69
|
useExisting: forwardRef(() => SelectTagComponent)
|
|
70
70
|
}
|
|
71
71
|
], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@let multiple = isMultiple();\n@if (attr) {\n <select\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [value]=\"valueOrValues()\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [multiple]=\"multiple\"\n [size]=\"!attr.annotations.inputTypeSize ? undefined : (attr.annotations.inputTypeSize | toNumber)\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n >\n @if (!multiple) {\n <option value=\"\"></option>\n }\n @for (option of options(); track option) {\n <option [value]=\"option\">\n @if (!!attr.annotations.inputOptionLabels) {\n {{ i18n.advancedMsgStr(attr.annotations.inputOptionLabels[option] ?? option) }}\n } @else if (!!attr.annotations.inputOptionLabelsI18nPrefix) {\n {{ i18n.advancedMsgStr(attr.annotations.inputOptionLabelsI18nPrefix + '.' + option) }}\n } @else {\n {{ option }}\n }\n </option>\n }\n </select>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: ToNumberPipe, name: "toNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
72
72
|
}
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SelectTagComponent, decorators: [{
|
|
74
74
|
type: Component,
|
|
75
75
|
args: [{ standalone: true, imports: [KcClassDirective, ToNumberPipe], selector: 'kc-select-tag', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
76
76
|
{
|
|
@@ -29,15 +29,15 @@ export class TextareaTagComponent extends ComponentReference {
|
|
|
29
29
|
fieldIndex: undefined
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
33
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TextareaTagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: TextareaTagComponent, isStandalone: true, selector: "kc-textarea-tag", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
|
|
34
34
|
{
|
|
35
35
|
provide: ComponentReference,
|
|
36
36
|
useExisting: forwardRef(() => TextareaTagComponent)
|
|
37
37
|
}
|
|
38
38
|
], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@if (attr) {\n <textarea\n [id]=\"attr.name\"\n [name]=\"attr.name\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [cols]=\"attr.annotations.inputTypeCols === undefined ? undefined : (attr.annotations.inputTypeCols | toNumber)\"\n [rows]=\"attr.annotations.inputTypeRows === undefined ? undefined : (attr.annotations.inputTypeRows | toNumber)\"\n [maxLength]=\"attr.annotations.inputTypeMaxlength === undefined ? undefined : (attr.annotations.inputTypeMaxlength | toNumber)\"\n [value]=\"value()\"\n (change)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n ></textarea>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: ToNumberPipe, name: "toNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39
39
|
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TextareaTagComponent, decorators: [{
|
|
41
41
|
type: Component,
|
|
42
42
|
args: [{ standalone: true, imports: [KcClassDirective, ToNumberPipe], selector: 'kc-textarea-tag', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
43
43
|
{
|
package/esm2022/login/components/user-profile-form-fields/user-profile-form-fields.component.mjs
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { NgTemplateOutlet } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, ContentChild,
|
|
1
|
+
import { AsyncPipe, NgTemplateOutlet } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, ContentChild, forwardRef, inject } from '@angular/core';
|
|
3
3
|
import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
|
|
4
4
|
import { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';
|
|
5
5
|
import { FieldErrorsComponent } from '@keycloakify/angular/login/components/field-errors';
|
|
6
6
|
import { GroupLabelComponent } from '@keycloakify/angular/login/components/group-label';
|
|
7
7
|
import { InputFieldByTypeComponent } from '@keycloakify/angular/login/components/input-field-by-type';
|
|
8
8
|
import { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';
|
|
9
|
-
import { SubmitService } from '@keycloakify/angular/login/services/submit';
|
|
10
9
|
import { UserProfileFormService } from '@keycloakify/angular/login/services/user-profile-form';
|
|
11
10
|
import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
|
|
12
11
|
import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
|
|
@@ -14,49 +13,43 @@ import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
|
|
|
14
13
|
import { DO_MAKE_USER_CONFIRM_PASSWORD } from '@keycloakify/angular/login/tokens/make-user-confirm-password';
|
|
15
14
|
import * as i0 from "@angular/core";
|
|
16
15
|
export class UserProfileFormFieldsComponent extends ComponentReference {
|
|
17
|
-
#submitService;
|
|
18
16
|
constructor() {
|
|
19
|
-
super();
|
|
17
|
+
super(...arguments);
|
|
20
18
|
this.i18n = inject(LOGIN_I18N);
|
|
21
19
|
this.kcContext = inject(KC_LOGIN_CONTEXT);
|
|
22
|
-
this
|
|
23
|
-
this.#submitService = inject(SubmitService);
|
|
20
|
+
this.#userProfileFormService = inject(UserProfileFormService);
|
|
24
21
|
this.doMakeUserConfirmPassword = inject(DO_MAKE_USER_CONFIRM_PASSWORD);
|
|
25
22
|
this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
|
|
26
23
|
this.classes = inject(LOGIN_CLASSES);
|
|
27
|
-
this.
|
|
28
|
-
this.formState = this.userProfileFormService.formState;
|
|
29
|
-
effect(() => {
|
|
30
|
-
const isFormSubmittable = this.formState().isFormSubmittable;
|
|
31
|
-
this.#submitService.setIsSubmittable(isFormSubmittable);
|
|
32
|
-
}, { allowSignalWrites: true });
|
|
24
|
+
this.formState$ = this.#userProfileFormService.formState$;
|
|
33
25
|
}
|
|
26
|
+
#userProfileFormService;
|
|
34
27
|
onDispatch(formAction) {
|
|
35
|
-
this
|
|
28
|
+
this.#userProfileFormService.dispatchFormAction(formAction);
|
|
36
29
|
}
|
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
38
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: UserProfileFormFieldsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: UserProfileFormFieldsComponent, isStandalone: true, selector: "kc-user-profile-form-fields", providers: [
|
|
39
32
|
UserProfileFormService,
|
|
40
33
|
{
|
|
41
34
|
provide: ComponentReference,
|
|
42
35
|
useExisting: forwardRef(() => UserProfileFormFieldsComponent)
|
|
43
36
|
}
|
|
44
|
-
], queries: [{ propertyName: "beforeField", first: true, predicate: ["beforField"], descendants: true }, { propertyName: "afterField", first: true, predicate: ["afterField"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@let
|
|
37
|
+
], queries: [{ propertyName: "beforeField", first: true, predicate: ["beforField"], descendants: true }, { propertyName: "afterField", first: true, predicate: ["afterField"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@let formState = formState$ | async;\n@if (formState) {\n @let formFieldStates = formState.formFieldStates;\n\n @for (fieldState of formFieldStates; track fieldState.attribute) {\n <kc-group-label [attribute]=\"fieldState.attribute\" />\n\n @if (beforeField) {\n <ng-container\n [ngTemplateOutlet]=\"beforeField\"\n [ngTemplateOutletContext]=\"{\n attribute: fieldState.attribute,\n valueOrValues: fieldState.valueOrValues,\n displayableErrors: fieldState.displayableErrors\n }\"\n />\n }\n\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n [style.display]=\"fieldState.attribute.name === 'password-confirm' && !doMakeUserConfirmPassword ? 'none' : 'block'\"\n >\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n [for]=\"fieldState.attribute.name\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.advancedMsgStr(fieldState.attribute.displayName ?? '') }}\n @if (fieldState.attribute.required) {\n *\n }\n </label>\n </div>\n\n <div [kcClass]=\"'kcInputWrapperClass'\">\n @if (fieldState.attribute.annotations.inputHelperTextBefore) {\n <div\n aria-live=\"polite\"\n [kcClass]=\"'kcInputHelperTextBeforeClass'\"\n [id]=\"'form-help-text-before-' + fieldState.attribute.name\"\n >\n {{ i18n.advancedMsgStr(fieldState.attribute.annotations.inputHelperTextBefore) }}\n </div>\n }\n\n <kc-input-field-by-type\n [attribute]=\"fieldState.attribute\"\n [valueOrValues]=\"fieldState.valueOrValues\"\n [displayableErrors]=\"fieldState.displayableErrors\"\n (dispatchFormAction)=\"onDispatch($event)\"\n />\n\n <kc-field-errors\n [attribute]=\"fieldState.attribute\"\n [displayableErrors]=\"fieldState.displayableErrors\"\n />\n @if (fieldState.attribute.annotations.inputHelperTextAfter) {\n <div\n aria-live=\"polite\"\n [kcClass]=\"'kcInputHelperTextAfterClass'\"\n [id]=\"'form-help-text-after-' + fieldState.attribute.name\"\n >\n {{ i18n.advancedMsgStr(fieldState.attribute.annotations.inputHelperTextAfter) }}\n </div>\n }\n\n @if (afterField) {\n <ng-container\n [ngTemplateOutlet]=\"afterField\"\n [ngTemplateOutletContext]=\"{\n attribute: fieldState.attribute,\n valueOrValues: fieldState.valueOrValues,\n displayableErrors: fieldState.displayableErrors\n }\"\n />\n }\n <!-- NOTE: Downloading of html5DataAnnotations scripts is done in the useUserProfileForm hook -->\n </div>\n </div>\n }\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "component", type: FieldErrorsComponent, selector: "kc-field-errors", inputs: ["attribute", "displayableErrors", "fieldIndex"] }, { kind: "component", type: InputFieldByTypeComponent, selector: "kc-input-field-by-type", inputs: ["attribute", "valueOrValues", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: GroupLabelComponent, selector: "kc-group-label", inputs: ["attribute", "groupName"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
45
38
|
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: UserProfileFormFieldsComponent, decorators: [{
|
|
47
40
|
type: Component,
|
|
48
|
-
args: [{ standalone: true, imports: [KcClassDirective, FieldErrorsComponent, InputFieldByTypeComponent, GroupLabelComponent, NgTemplateOutlet], selector: 'kc-user-profile-form-fields', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
41
|
+
args: [{ standalone: true, imports: [KcClassDirective, FieldErrorsComponent, InputFieldByTypeComponent, GroupLabelComponent, NgTemplateOutlet, AsyncPipe], selector: 'kc-user-profile-form-fields', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
49
42
|
UserProfileFormService,
|
|
50
43
|
{
|
|
51
44
|
provide: ComponentReference,
|
|
52
45
|
useExisting: forwardRef(() => UserProfileFormFieldsComponent)
|
|
53
46
|
}
|
|
54
|
-
], template: "@let
|
|
55
|
-
}],
|
|
47
|
+
], template: "@let formState = formState$ | async;\n@if (formState) {\n @let formFieldStates = formState.formFieldStates;\n\n @for (fieldState of formFieldStates; track fieldState.attribute) {\n <kc-group-label [attribute]=\"fieldState.attribute\" />\n\n @if (beforeField) {\n <ng-container\n [ngTemplateOutlet]=\"beforeField\"\n [ngTemplateOutletContext]=\"{\n attribute: fieldState.attribute,\n valueOrValues: fieldState.valueOrValues,\n displayableErrors: fieldState.displayableErrors\n }\"\n />\n }\n\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n [style.display]=\"fieldState.attribute.name === 'password-confirm' && !doMakeUserConfirmPassword ? 'none' : 'block'\"\n >\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n [for]=\"fieldState.attribute.name\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.advancedMsgStr(fieldState.attribute.displayName ?? '') }}\n @if (fieldState.attribute.required) {\n *\n }\n </label>\n </div>\n\n <div [kcClass]=\"'kcInputWrapperClass'\">\n @if (fieldState.attribute.annotations.inputHelperTextBefore) {\n <div\n aria-live=\"polite\"\n [kcClass]=\"'kcInputHelperTextBeforeClass'\"\n [id]=\"'form-help-text-before-' + fieldState.attribute.name\"\n >\n {{ i18n.advancedMsgStr(fieldState.attribute.annotations.inputHelperTextBefore) }}\n </div>\n }\n\n <kc-input-field-by-type\n [attribute]=\"fieldState.attribute\"\n [valueOrValues]=\"fieldState.valueOrValues\"\n [displayableErrors]=\"fieldState.displayableErrors\"\n (dispatchFormAction)=\"onDispatch($event)\"\n />\n\n <kc-field-errors\n [attribute]=\"fieldState.attribute\"\n [displayableErrors]=\"fieldState.displayableErrors\"\n />\n @if (fieldState.attribute.annotations.inputHelperTextAfter) {\n <div\n aria-live=\"polite\"\n [kcClass]=\"'kcInputHelperTextAfterClass'\"\n [id]=\"'form-help-text-after-' + fieldState.attribute.name\"\n >\n {{ i18n.advancedMsgStr(fieldState.attribute.annotations.inputHelperTextAfter) }}\n </div>\n }\n\n @if (afterField) {\n <ng-container\n [ngTemplateOutlet]=\"afterField\"\n [ngTemplateOutletContext]=\"{\n attribute: fieldState.attribute,\n valueOrValues: fieldState.valueOrValues,\n displayableErrors: fieldState.displayableErrors\n }\"\n />\n }\n <!-- NOTE: Downloading of html5DataAnnotations scripts is done in the useUserProfileForm hook -->\n </div>\n </div>\n }\n}\n", styles: [":host{display:contents}\n"] }]
|
|
48
|
+
}], propDecorators: { beforeField: [{
|
|
56
49
|
type: ContentChild,
|
|
57
50
|
args: ['beforField']
|
|
58
51
|
}], afterField: [{
|
|
59
52
|
type: ContentChild,
|
|
60
53
|
args: ['afterField']
|
|
61
54
|
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcm9maWxlLWZvcm0tZmllbGRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9jb21wb25lbnRzL3VzZXItcHJvZmlsZS1mb3JtLWZpZWxkcy91c2VyLXByb2ZpbGUtZm9ybS1maWVsZHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xvZ2luL2NvbXBvbmVudHMvdXNlci1wcm9maWxlLWZvcm0tZmllbGRzL3VzZXItcHJvZmlsZS1mb3JtLWZpZWxkcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDbEksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBR2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRSxPQUFPLEVBQW1CLHNCQUFzQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDaEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7QUF3QjdHLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxrQkFBa0I7SUFJbEUsY0FBYyxDQUF5QjtJQVl2QztRQUNJLEtBQUssRUFBRSxDQUFDO1FBaEJaLFNBQUksR0FBRyxNQUFNLENBQU8sVUFBVSxDQUFDLENBQUM7UUFDaEMsY0FBUyxHQUFHLE1BQU0sQ0FBWSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hELDJCQUFzQixHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3hELG1CQUFjLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZDLDhCQUF5QixHQUFHLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ3pELG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLGFBQWEsQ0FBQyxDQUFDO1FBRTVFLHdCQUFtQixHQUFHLE1BQU0sRUFBVyxDQUFDO1FBRXhDLGNBQVMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDO1FBTzlDLE1BQU0sQ0FDRixHQUFHLEVBQUU7WUFDRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztZQUM3RCxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDNUQsQ0FBQyxFQUNELEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQzlCLENBQUM7SUFDTixDQUFDO0lBRUQsVUFBVSxDQUFDLFVBQXNCO1FBQzdCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvRCxDQUFDOzhHQTdCUSw4QkFBOEI7a0dBQTlCLDhCQUE4QixtSUFSNUI7WUFDUCxzQkFBc0I7WUFDdEI7Z0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQzthQUNoRTtTQUNKLG1QQ3JDTCxnakdBOEVBLG1GRG5EYyxnQkFBZ0IsK0ZBQUUsb0JBQW9CLHNIQUFFLHlCQUF5QixpS0FBRSxtQkFBbUIsK0ZBQUUsZ0JBQWdCOzsyRkFZekcsOEJBQThCO2tCQXJCMUMsU0FBUztpQ0FDTSxJQUFJLFdBUVAsQ0FBQyxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSx5QkFBeUIsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsQ0FBQyxZQUN6Ryw2QkFBNkIsbUJBRXRCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Asc0JBQXNCO3dCQUN0Qjs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwrQkFBK0IsQ0FBQzt5QkFDaEU7cUJBQ0o7d0RBZTJCLFdBQVc7c0JBQXRDLFlBQVk7dUJBQUMsWUFBWTtnQkFDRSxVQUFVO3NCQUFyQyxZQUFZO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgZWZmZWN0LCBmb3J3YXJkUmVmLCBpbmplY3QsIG91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi90b2tlbnMvdXNlLWRlZmF1bHQtY3NzJztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBGaWVsZEVycm9yc0NvbXBvbmVudCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NvbXBvbmVudHMvZmllbGQtZXJyb3JzJztcbmltcG9ydCB7IEdyb3VwTGFiZWxDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL2dyb3VwLWxhYmVsJztcbmltcG9ydCB7IElucHV0RmllbGRCeVR5cGVDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL2lucHV0LWZpZWxkLWJ5LXR5cGUnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMva2MtY2xhc3MnO1xuaW1wb3J0IHR5cGUgeyBJMThuIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vaTE4bic7XG5pbXBvcnQgdHlwZSB7IEtjQ29udGV4dCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL0tjQ29udGV4dCc7XG5pbXBvcnQgeyBTdWJtaXRTZXJ2aWNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vc2VydmljZXMvc3VibWl0JztcbmltcG9ydCB7IHR5cGUgRm9ybUFjdGlvbiwgVXNlclByb2ZpbGVGb3JtU2VydmljZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3NlcnZpY2VzL3VzZXItcHJvZmlsZS1mb3JtJztcbmltcG9ydCB7IExPR0lOX0NMQVNTRVMgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMvY2xhc3Nlcyc7XG5pbXBvcnQgeyBMT0dJTl9JMThOIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2kxOG4nO1xuaW1wb3J0IHsgS0NfTE9HSU5fQ09OVEVYVCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9rYy1jb250ZXh0JztcbmltcG9ydCB7IERPX01BS0VfVVNFUl9DT05GSVJNX1BBU1NXT1JEIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL21ha2UtdXNlci1jb25maXJtLXBhc3N3b3JkJztcbmltcG9ydCB0eXBlIHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9sb2dpbi9saWIva2NDbHN4JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbS2NDbGFzc0RpcmVjdGl2ZSwgRmllbGRFcnJvcnNDb21wb25lbnQsIElucHV0RmllbGRCeVR5cGVDb21wb25lbnQsIEdyb3VwTGFiZWxDb21wb25lbnQsIE5nVGVtcGxhdGVPdXRsZXRdLFxuICAgIHNlbGVjdG9yOiAna2MtdXNlci1wcm9maWxlLWZvcm0tZmllbGRzJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3VzZXItcHJvZmlsZS1mb3JtLWZpZWxkcy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFVzZXJQcm9maWxlRm9ybVNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFVzZXJQcm9maWxlRm9ybUZpZWxkc0NvbXBvbmVudClcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVXNlclByb2ZpbGVGb3JtRmllbGRzQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBpMThuID0gaW5qZWN0PEkxOG4+KExPR0lOX0kxOE4pO1xuICAgIGtjQ29udGV4dCA9IGluamVjdDxLY0NvbnRleHQ+KEtDX0xPR0lOX0NPTlRFWFQpO1xuICAgIHVzZXJQcm9maWxlRm9ybVNlcnZpY2UgPSBpbmplY3QoVXNlclByb2ZpbGVGb3JtU2VydmljZSk7XG4gICAgI3N1Ym1pdFNlcnZpY2UgPSBpbmplY3QoU3VibWl0U2VydmljZSk7XG4gICAgZG9NYWtlVXNlckNvbmZpcm1QYXNzd29yZCA9IGluamVjdChET19NQUtFX1VTRVJfQ09ORklSTV9QQVNTV09SRCk7XG4gICAgb3ZlcnJpZGUgZG9Vc2VEZWZhdWx0Q3NzID0gaW5qZWN0PGJvb2xlYW4+KFVTRV9ERUZBVUxUX0NTUyk7XG4gICAgb3ZlcnJpZGUgY2xhc3NlcyA9IGluamVjdDxQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4+KExPR0lOX0NMQVNTRVMpO1xuXG4gICAgb25Jc0Zvcm1TdWJtaXR0YWJsZSA9IG91dHB1dDxib29sZWFuPigpO1xuXG4gICAgZm9ybVN0YXRlID0gdGhpcy51c2VyUHJvZmlsZUZvcm1TZXJ2aWNlLmZvcm1TdGF0ZTtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2JlZm9yRmllbGQnKSBiZWZvcmVGaWVsZDogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG4gICAgQENvbnRlbnRDaGlsZCgnYWZ0ZXJGaWVsZCcpIGFmdGVyRmllbGQ6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIGVmZmVjdChcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0Zvcm1TdWJtaXR0YWJsZSA9IHRoaXMuZm9ybVN0YXRlKCkuaXNGb3JtU3VibWl0dGFibGU7XG4gICAgICAgICAgICAgICAgdGhpcy4jc3VibWl0U2VydmljZS5zZXRJc1N1Ym1pdHRhYmxlKGlzRm9ybVN1Ym1pdHRhYmxlKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkRpc3BhdGNoKGZvcm1BY3Rpb246IEZvcm1BY3Rpb24pIHtcbiAgICAgICAgdGhpcy51c2VyUHJvZmlsZUZvcm1TZXJ2aWNlLmRpc3BhdGNoRm9ybUFjdGlvbihmb3JtQWN0aW9uKTtcbiAgICB9XG59XG4iLCJAbGV0IGZvcm1GaWVsZFN0YXRlcyA9IGZvcm1TdGF0ZSgpLmZvcm1GaWVsZFN0YXRlcztcblxuQGZvciAoZmllbGRTdGF0ZSBvZiBmb3JtRmllbGRTdGF0ZXM7IHRyYWNrIGZpZWxkU3RhdGUuYXR0cmlidXRlKSB7XG4gICAgPGtjLWdyb3VwLWxhYmVsIFthdHRyaWJ1dGVdPVwiZmllbGRTdGF0ZS5hdHRyaWJ1dGVcIiAvPlxuXG4gICAgQGlmIChiZWZvcmVGaWVsZCkge1xuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJiZWZvcmVGaWVsZFwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZTogZmllbGRTdGF0ZS5hdHRyaWJ1dGUsXG4gICAgICAgICAgICAgICAgdmFsdWVPclZhbHVlczogZmllbGRTdGF0ZS52YWx1ZU9yVmFsdWVzLFxuICAgICAgICAgICAgICAgIGRpc3BsYXlhYmxlRXJyb3JzOiBmaWVsZFN0YXRlLmRpc3BsYXlhYmxlRXJyb3JzXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgLz5cbiAgICB9XG5cbiAgICA8ZGl2XG4gICAgICAgIFtrY0NsYXNzXT1cIidrY0Zvcm1Hcm91cENsYXNzJ1wiXG4gICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cImZpZWxkU3RhdGUuYXR0cmlidXRlLm5hbWUgPT09ICdwYXNzd29yZC1jb25maXJtJyAmJiAhZG9NYWtlVXNlckNvbmZpcm1QYXNzd29yZCA/ICdub25lJyA6ICdibG9jaydcIlxuICAgID5cbiAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NMYWJlbFdyYXBwZXJDbGFzcydcIj5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgIFtmb3JdPVwiZmllbGRTdGF0ZS5hdHRyaWJ1dGUubmFtZVwiXG4gICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjTGFiZWxDbGFzcydcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGkxOG4uYWR2YW5jZWRNc2dTdHIoZmllbGRTdGF0ZS5hdHRyaWJ1dGUuZGlzcGxheU5hbWUgPz8gJycpIH19XG4gICAgICAgICAgICAgICAgQGlmIChmaWVsZFN0YXRlLmF0dHJpYnV0ZS5yZXF1aXJlZCkge1xuICAgICAgICAgICAgICAgICAgICAqXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NJbnB1dFdyYXBwZXJDbGFzcydcIj5cbiAgICAgICAgICAgIEBpZiAoZmllbGRTdGF0ZS5hdHRyaWJ1dGUuYW5ub3RhdGlvbnMuaW5wdXRIZWxwZXJUZXh0QmVmb3JlKSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCIna2NJbnB1dEhlbHBlclRleHRCZWZvcmVDbGFzcydcIlxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ2Zvcm0taGVscC10ZXh0LWJlZm9yZS0nICsgZmllbGRTdGF0ZS5hdHRyaWJ1dGUubmFtZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBpMThuLmFkdmFuY2VkTXNnU3RyKGZpZWxkU3RhdGUuYXR0cmlidXRlLmFubm90YXRpb25zLmlucHV0SGVscGVyVGV4dEJlZm9yZSkgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPGtjLWlucHV0LWZpZWxkLWJ5LXR5cGVcbiAgICAgICAgICAgICAgICBbYXR0cmlidXRlXT1cImZpZWxkU3RhdGUuYXR0cmlidXRlXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVPclZhbHVlc109XCJmaWVsZFN0YXRlLnZhbHVlT3JWYWx1ZXNcIlxuICAgICAgICAgICAgICAgIFtkaXNwbGF5YWJsZUVycm9yc109XCJmaWVsZFN0YXRlLmRpc3BsYXlhYmxlRXJyb3JzXCJcbiAgICAgICAgICAgICAgICAoZGlzcGF0Y2hGb3JtQWN0aW9uKT1cIm9uRGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICA8a2MtZmllbGQtZXJyb3JzXG4gICAgICAgICAgICAgICAgW2F0dHJpYnV0ZV09XCJmaWVsZFN0YXRlLmF0dHJpYnV0ZVwiXG4gICAgICAgICAgICAgICAgW2Rpc3BsYXlhYmxlRXJyb3JzXT1cImZpZWxkU3RhdGUuZGlzcGxheWFibGVFcnJvcnNcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIEBpZiAoZmllbGRTdGF0ZS5hdHRyaWJ1dGUuYW5ub3RhdGlvbnMuaW5wdXRIZWxwZXJUZXh0QWZ0ZXIpIHtcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0lucHV0SGVscGVyVGV4dEFmdGVyQ2xhc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cIidmb3JtLWhlbHAtdGV4dC1hZnRlci0nICsgZmllbGRTdGF0ZS5hdHRyaWJ1dGUubmFtZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBpMThuLmFkdmFuY2VkTXNnU3RyKGZpZWxkU3RhdGUuYXR0cmlidXRlLmFubm90YXRpb25zLmlucHV0SGVscGVyVGV4dEFmdGVyKSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKGFmdGVyRmllbGQpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFmdGVyRmllbGRcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlOiBmaWVsZFN0YXRlLmF0dHJpYnV0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlT3JWYWx1ZXM6IGZpZWxkU3RhdGUudmFsdWVPclZhbHVlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlhYmxlRXJyb3JzOiBmaWVsZFN0YXRlLmRpc3BsYXlhYmxlRXJyb3JzXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8IS0tIE5PVEU6IERvd25sb2FkaW5nIG9mIGh0bWw1RGF0YUFubm90YXRpb25zIHNjcmlwdHMgaXMgZG9uZSBpbiB0aGUgdXNlVXNlclByb2ZpbGVGb3JtIGhvb2sgLS0+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxufVxuIl19
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcm9maWxlLWZvcm0tZmllbGRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9jb21wb25lbnRzL3VzZXItcHJvZmlsZS1mb3JtLWZpZWxkcy91c2VyLXByb2ZpbGUtZm9ybS1maWVsZHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xvZ2luL2NvbXBvbmVudHMvdXNlci1wcm9maWxlLWZvcm0tZmllbGRzL3VzZXItcHJvZmlsZS1mb3JtLWZpZWxkcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNsSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDNUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDMUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDeEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDdEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFHbEYsT0FBTyxFQUFtQixzQkFBc0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2hILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDaEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOERBQThELENBQUM7O0FBd0I3RyxNQUFNLE9BQU8sOEJBQStCLFNBQVEsa0JBQWtCO0lBckJ0RTs7UUFzQkksU0FBSSxHQUFHLE1BQU0sQ0FBTyxVQUFVLENBQUMsQ0FBQztRQUNoQyxjQUFTLEdBQUcsTUFBTSxDQUFZLGdCQUFnQixDQUFDLENBQUM7UUFDaEQsNEJBQXVCLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDekQsOEJBQXlCLEdBQUcsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDekQsb0JBQWUsR0FBRyxNQUFNLENBQVUsZUFBZSxDQUFDLENBQUM7UUFDbkQsWUFBTyxHQUFHLE1BQU0sQ0FBb0MsYUFBYSxDQUFDLENBQUM7UUFFNUUsZUFBVSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUM7S0FReEQ7SUFiRyx1QkFBdUIsQ0FBa0M7SUFVekQsVUFBVSxDQUFDLFVBQXNCO1FBQzdCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoRSxDQUFDOzhHQWZRLDhCQUE4QjtrR0FBOUIsOEJBQThCLDBFQVI1QjtZQUNQLHNCQUFzQjtZQUN0QjtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDhCQUE4QixDQUFDO2FBQ2hFO1NBQ0osbVBDcENMLHM0R0FpRkEsbUZEdkRjLGdCQUFnQiwrRkFBRSxvQkFBb0Isc0hBQUUseUJBQXlCLGlLQUFFLG1CQUFtQiwrRkFBRSxnQkFBZ0IsK0lBQUUsU0FBUzs7MkZBWXBILDhCQUE4QjtrQkFyQjFDLFNBQVM7aUNBQ00sSUFBSSxXQVFQLENBQUMsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUseUJBQXlCLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLFlBQ3BILDZCQUE2QixtQkFFdEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUCxzQkFBc0I7d0JBQ3RCOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLCtCQUErQixDQUFDO3lCQUNoRTtxQkFDSjs4QkFZMkIsV0FBVztzQkFBdEMsWUFBWTt1QkFBQyxZQUFZO2dCQUNFLFVBQVU7c0JBQXJDLFlBQVk7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIGZvcndhcmRSZWYsIGluamVjdCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi90b2tlbnMvdXNlLWRlZmF1bHQtY3NzJztcbmltcG9ydCB7IENvbXBvbmVudFJlZmVyZW5jZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBGaWVsZEVycm9yc0NvbXBvbmVudCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2NvbXBvbmVudHMvZmllbGQtZXJyb3JzJztcbmltcG9ydCB7IEdyb3VwTGFiZWxDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL2dyb3VwLWxhYmVsJztcbmltcG9ydCB7IElucHV0RmllbGRCeVR5cGVDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9jb21wb25lbnRzL2lucHV0LWZpZWxkLWJ5LXR5cGUnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL2RpcmVjdGl2ZXMva2MtY2xhc3MnO1xuaW1wb3J0IHR5cGUgeyBJMThuIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vaTE4bic7XG5pbXBvcnQgdHlwZSB7IEtjQ29udGV4dCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL0tjQ29udGV4dCc7XG5pbXBvcnQgeyB0eXBlIEZvcm1BY3Rpb24sIFVzZXJQcm9maWxlRm9ybVNlcnZpY2UgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9zZXJ2aWNlcy91c2VyLXByb2ZpbGUtZm9ybSc7XG5pbXBvcnQgeyBMT0dJTl9DTEFTU0VTIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vdG9rZW5zL2NsYXNzZXMnO1xuaW1wb3J0IHsgTE9HSU5fSTE4TiB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9pMThuJztcbmltcG9ydCB7IEtDX0xPR0lOX0NPTlRFWFQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMva2MtY29udGV4dCc7XG5pbXBvcnQgeyBET19NQUtFX1VTRVJfQ09ORklSTV9QQVNTV09SRCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9tYWtlLXVzZXItY29uZmlybS1wYXNzd29yZCc7XG5pbXBvcnQgdHlwZSB7IENsYXNzS2V5IH0gZnJvbSAna2V5Y2xvYWtpZnkvbG9naW4vbGliL2tjQ2xzeCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF0sXG4gICAgaW1wb3J0czogW0tjQ2xhc3NEaXJlY3RpdmUsIEZpZWxkRXJyb3JzQ29tcG9uZW50LCBJbnB1dEZpZWxkQnlUeXBlQ29tcG9uZW50LCBHcm91cExhYmVsQ29tcG9uZW50LCBOZ1RlbXBsYXRlT3V0bGV0LCBBc3luY1BpcGVdLFxuICAgIHNlbGVjdG9yOiAna2MtdXNlci1wcm9maWxlLWZvcm0tZmllbGRzJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3VzZXItcHJvZmlsZS1mb3JtLWZpZWxkcy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFVzZXJQcm9maWxlRm9ybVNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFVzZXJQcm9maWxlRm9ybUZpZWxkc0NvbXBvbmVudClcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVXNlclByb2ZpbGVGb3JtRmllbGRzQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBpMThuID0gaW5qZWN0PEkxOG4+KExPR0lOX0kxOE4pO1xuICAgIGtjQ29udGV4dCA9IGluamVjdDxLY0NvbnRleHQ+KEtDX0xPR0lOX0NPTlRFWFQpO1xuICAgICN1c2VyUHJvZmlsZUZvcm1TZXJ2aWNlID0gaW5qZWN0KFVzZXJQcm9maWxlRm9ybVNlcnZpY2UpO1xuICAgIGRvTWFrZVVzZXJDb25maXJtUGFzc3dvcmQgPSBpbmplY3QoRE9fTUFLRV9VU0VSX0NPTkZJUk1fUEFTU1dPUkQpO1xuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihMT0dJTl9DTEFTU0VTKTtcblxuICAgIGZvcm1TdGF0ZSQgPSB0aGlzLiN1c2VyUHJvZmlsZUZvcm1TZXJ2aWNlLmZvcm1TdGF0ZSQ7XG5cbiAgICBAQ29udGVudENoaWxkKCdiZWZvckZpZWxkJykgYmVmb3JlRmllbGQ6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuICAgIEBDb250ZW50Q2hpbGQoJ2FmdGVyRmllbGQnKSBhZnRlckZpZWxkOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZDtcblxuICAgIG9uRGlzcGF0Y2goZm9ybUFjdGlvbjogRm9ybUFjdGlvbikge1xuICAgICAgICB0aGlzLiN1c2VyUHJvZmlsZUZvcm1TZXJ2aWNlLmRpc3BhdGNoRm9ybUFjdGlvbihmb3JtQWN0aW9uKTtcbiAgICB9XG59XG4iLCJAbGV0IGZvcm1TdGF0ZSA9IGZvcm1TdGF0ZSQgfCBhc3luYztcbkBpZiAoZm9ybVN0YXRlKSB7XG4gICAgQGxldCBmb3JtRmllbGRTdGF0ZXMgPSBmb3JtU3RhdGUuZm9ybUZpZWxkU3RhdGVzO1xuXG4gICAgQGZvciAoZmllbGRTdGF0ZSBvZiBmb3JtRmllbGRTdGF0ZXM7IHRyYWNrIGZpZWxkU3RhdGUuYXR0cmlidXRlKSB7XG4gICAgICAgIDxrYy1ncm91cC1sYWJlbCBbYXR0cmlidXRlXT1cImZpZWxkU3RhdGUuYXR0cmlidXRlXCIgLz5cblxuICAgICAgICBAaWYgKGJlZm9yZUZpZWxkKSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYmVmb3JlRmllbGRcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZTogZmllbGRTdGF0ZS5hdHRyaWJ1dGUsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlT3JWYWx1ZXM6IGZpZWxkU3RhdGUudmFsdWVPclZhbHVlcyxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheWFibGVFcnJvcnM6IGZpZWxkU3RhdGUuZGlzcGxheWFibGVFcnJvcnNcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIH1cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBba2NDbGFzc109XCIna2NGb3JtR3JvdXBDbGFzcydcIlxuICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiZmllbGRTdGF0ZS5hdHRyaWJ1dGUubmFtZSA9PT0gJ3Bhc3N3b3JkLWNvbmZpcm0nICYmICFkb01ha2VVc2VyQ29uZmlybVBhc3N3b3JkID8gJ25vbmUnIDogJ2Jsb2NrJ1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgW2tjQ2xhc3NdPVwiJ2tjTGFiZWxXcmFwcGVyQ2xhc3MnXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgIFtmb3JdPVwiZmllbGRTdGF0ZS5hdHRyaWJ1dGUubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIidrY0xhYmVsQ2xhc3MnXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGkxOG4uYWR2YW5jZWRNc2dTdHIoZmllbGRTdGF0ZS5hdHRyaWJ1dGUuZGlzcGxheU5hbWUgPz8gJycpIH19XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoZmllbGRTdGF0ZS5hdHRyaWJ1dGUucmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBba2NDbGFzc109XCIna2NJbnB1dFdyYXBwZXJDbGFzcydcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGZpZWxkU3RhdGUuYXR0cmlidXRlLmFubm90YXRpb25zLmlucHV0SGVscGVyVGV4dEJlZm9yZSkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRIZWxwZXJUZXh0QmVmb3JlQ2xhc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCInZm9ybS1oZWxwLXRleHQtYmVmb3JlLScgKyBmaWVsZFN0YXRlLmF0dHJpYnV0ZS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaTE4bi5hZHZhbmNlZE1zZ1N0cihmaWVsZFN0YXRlLmF0dHJpYnV0ZS5hbm5vdGF0aW9ucy5pbnB1dEhlbHBlclRleHRCZWZvcmUpIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIDxrYy1pbnB1dC1maWVsZC1ieS10eXBlXG4gICAgICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiZmllbGRTdGF0ZS5hdHRyaWJ1dGVcIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVPclZhbHVlc109XCJmaWVsZFN0YXRlLnZhbHVlT3JWYWx1ZXNcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzcGxheWFibGVFcnJvcnNdPVwiZmllbGRTdGF0ZS5kaXNwbGF5YWJsZUVycm9yc1wiXG4gICAgICAgICAgICAgICAgICAgIChkaXNwYXRjaEZvcm1BY3Rpb24pPVwib25EaXNwYXRjaCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPGtjLWZpZWxkLWVycm9yc1xuICAgICAgICAgICAgICAgICAgICBbYXR0cmlidXRlXT1cImZpZWxkU3RhdGUuYXR0cmlidXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlhYmxlRXJyb3JzXT1cImZpZWxkU3RhdGUuZGlzcGxheWFibGVFcnJvcnNcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgQGlmIChmaWVsZFN0YXRlLmF0dHJpYnV0ZS5hbm5vdGF0aW9ucy5pbnB1dEhlbHBlclRleHRBZnRlcikge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiJ2tjSW5wdXRIZWxwZXJUZXh0QWZ0ZXJDbGFzcydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cIidmb3JtLWhlbHAtdGV4dC1hZnRlci0nICsgZmllbGRTdGF0ZS5hdHRyaWJ1dGUubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGkxOG4uYWR2YW5jZWRNc2dTdHIoZmllbGRTdGF0ZS5hdHRyaWJ1dGUuYW5ub3RhdGlvbnMuaW5wdXRIZWxwZXJUZXh0QWZ0ZXIpIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAoYWZ0ZXJGaWVsZCkge1xuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJhZnRlckZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlOiBmaWVsZFN0YXRlLmF0dHJpYnV0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZU9yVmFsdWVzOiBmaWVsZFN0YXRlLnZhbHVlT3JWYWx1ZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheWFibGVFcnJvcnM6IGZpZWxkU3RhdGUuZGlzcGxheWFibGVFcnJvcnNcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8IS0tIE5PVEU6IERvd25sb2FkaW5nIG9mIGh0bWw1RGF0YUFubm90YXRpb25zIHNjcmlwdHMgaXMgZG9uZSBpbiB0aGUgdXNlVXNlclByb2ZpbGVGb3JtIGhvb2sgLS0+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxufVxuIl19
|