@keycloakify/angular 20.1.8 → 20.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/bin/187.index.js +2 -2
- package/bin/{559.index.js → 247.index.js} +161 -34
- package/bin/index.js +1 -1
- package/fesm2022/keycloakify-angular-account-directives-kc-class.mjs +3 -3
- package/fesm2022/keycloakify-angular-account-pages-account.mjs +7 -6
- package/fesm2022/keycloakify-angular-account-pages-account.mjs.map +1 -1
- 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-account-template.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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +7 -6
- package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs.map +1 -1
- package/fesm2022/keycloakify-angular-login-pages-register.mjs +3 -3
- 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 +3 -3
- 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 +3 -3
- package/fesm2022/keycloakify-angular-login-template.mjs +3 -3
- package/package.json +5 -5
- package/src/account/pages/account/account.component.html +5 -1
- package/src/account/pages/account/account.component.ts +2 -1
- package/src/login/pages/logout-confirm/logout-confirm.component.html +5 -1
- package/src/login/pages/logout-confirm/logout-confirm.component.ts +2 -1
package/README.md
CHANGED
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
-
|
|
29
29
|
<a href="https://docs.keycloakify.dev">Documentation</a>
|
|
30
30
|
-
|
|
31
|
-
<a href="https://github.com/keycloakify/keycloakify-starter-angular-vite">Starter Project Vite</a>
|
|
31
|
+
<a href="https://github.com/keycloakify/keycloakify-starter-angular-vite">Starter Project Analogjs + Vite</a>
|
|
32
32
|
-
|
|
33
|
-
<a href="https://github.com/keycloakify/keycloakify-starter-angular
|
|
33
|
+
<a href="https://github.com/keycloakify/keycloakify-starter-angular">Starter Project Vanilla Angular + ESBuild</a>
|
|
34
34
|
</p>
|
|
35
35
|
</p>
|
|
36
36
|
|
|
@@ -50,8 +50,8 @@ See [getting started](https://docs.keycloakify.dev/).
|
|
|
50
50
|
|
|
51
51
|
```bash
|
|
52
52
|
git clone https://github.com/keycloakify/keycloakify-angular
|
|
53
|
-
git clone https://github.com/keycloakify/keycloakify-angular-
|
|
54
|
-
git clone https://github.com/keycloakify/keycloakify-
|
|
53
|
+
git clone https://github.com/keycloakify/keycloakify-starter-angular-vite
|
|
54
|
+
git clone https://github.com/keycloakify/keycloakify-starter-angular
|
|
55
55
|
|
|
56
56
|
cd keycloakify-angular
|
|
57
57
|
yarn install
|
package/bin/187.index.js
CHANGED
|
@@ -22,8 +22,8 @@ var external_path_ = __webpack_require__(928);
|
|
|
22
22
|
var external_fs_ = __webpack_require__(896);
|
|
23
23
|
// EXTERNAL MODULE: ./node_modules/tsafe/esm/assert.mjs + 1 modules
|
|
24
24
|
var assert = __webpack_require__(966);
|
|
25
|
-
// EXTERNAL MODULE: ./node_modules/zod/v4/classic/external.js +
|
|
26
|
-
var external = __webpack_require__(
|
|
25
|
+
// EXTERNAL MODULE: ./node_modules/zod/v4/classic/external.js + 68 modules
|
|
26
|
+
var external = __webpack_require__(455);
|
|
27
27
|
// EXTERNAL MODULE: ./node_modules/tsafe/esm/id.mjs
|
|
28
28
|
var id = __webpack_require__(94);
|
|
29
29
|
// EXTERNAL MODULE: ./node_modules/tsafe/esm/is.mjs
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export const id =
|
|
2
|
-
export const ids = [
|
|
1
|
+
export const id = 247;
|
|
2
|
+
export const ids = [247];
|
|
3
3
|
export const modules = {
|
|
4
4
|
|
|
5
5
|
/***/ 94:
|
|
@@ -48,7 +48,7 @@ function symToStr(wrap) {
|
|
|
48
48
|
|
|
49
49
|
/***/ }),
|
|
50
50
|
|
|
51
|
-
/***/
|
|
51
|
+
/***/ 455:
|
|
52
52
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
53
53
|
|
|
54
54
|
|
|
@@ -769,11 +769,7 @@ function flattenError(error, mapper = (issue) => issue.message) {
|
|
|
769
769
|
}
|
|
770
770
|
return { formErrors, fieldErrors };
|
|
771
771
|
}
|
|
772
|
-
function formatError(error,
|
|
773
|
-
const mapper = _mapper ||
|
|
774
|
-
function (issue) {
|
|
775
|
-
return issue.message;
|
|
776
|
-
};
|
|
772
|
+
function formatError(error, mapper = (issue) => issue.message) {
|
|
777
773
|
const fieldErrors = { _errors: [] };
|
|
778
774
|
const processError = (error) => {
|
|
779
775
|
for (const issue of error.issues) {
|
|
@@ -811,11 +807,7 @@ function formatError(error, _mapper) {
|
|
|
811
807
|
processError(error);
|
|
812
808
|
return fieldErrors;
|
|
813
809
|
}
|
|
814
|
-
function treeifyError(error,
|
|
815
|
-
const mapper = _mapper ||
|
|
816
|
-
function (issue) {
|
|
817
|
-
return issue.message;
|
|
818
|
-
};
|
|
810
|
+
function treeifyError(error, mapper = (issue) => issue.message) {
|
|
819
811
|
const result = { errors: [] };
|
|
820
812
|
const processError = (error, path = []) => {
|
|
821
813
|
var _a, _b;
|
|
@@ -1762,7 +1754,7 @@ class Doc {
|
|
|
1762
1754
|
const version = {
|
|
1763
1755
|
major: 4,
|
|
1764
1756
|
minor: 1,
|
|
1765
|
-
patch:
|
|
1757
|
+
patch: 12,
|
|
1766
1758
|
};
|
|
1767
1759
|
|
|
1768
1760
|
;// CONCATENATED MODULE: ./node_modules/zod/v4/core/schemas.js
|
|
@@ -2537,6 +2529,20 @@ function handleCatchall(proms, input, payload, ctx, def, inst) {
|
|
|
2537
2529
|
const $ZodObject = /*@__PURE__*/ $constructor("$ZodObject", (inst, def) => {
|
|
2538
2530
|
// requires cast because technically $ZodObject doesn't extend
|
|
2539
2531
|
$ZodType.init(inst, def);
|
|
2532
|
+
// const sh = def.shape;
|
|
2533
|
+
const desc = Object.getOwnPropertyDescriptor(def, "shape");
|
|
2534
|
+
if (!desc?.get) {
|
|
2535
|
+
const sh = def.shape;
|
|
2536
|
+
Object.defineProperty(def, "shape", {
|
|
2537
|
+
get: () => {
|
|
2538
|
+
const newSh = { ...sh };
|
|
2539
|
+
Object.defineProperty(def, "shape", {
|
|
2540
|
+
value: newSh,
|
|
2541
|
+
});
|
|
2542
|
+
return newSh;
|
|
2543
|
+
},
|
|
2544
|
+
});
|
|
2545
|
+
}
|
|
2540
2546
|
const _normalized = cached(() => normalizeDef(def));
|
|
2541
2547
|
defineLazy(inst._zod, "propValues", () => {
|
|
2542
2548
|
const shape = def.shape;
|
|
@@ -4109,6 +4115,136 @@ const be_error = () => {
|
|
|
4109
4115
|
};
|
|
4110
4116
|
}
|
|
4111
4117
|
|
|
4118
|
+
;// CONCATENATED MODULE: ./node_modules/zod/v4/locales/bg.js
|
|
4119
|
+
|
|
4120
|
+
const parsedType = (data) => {
|
|
4121
|
+
const t = typeof data;
|
|
4122
|
+
switch (t) {
|
|
4123
|
+
case "number": {
|
|
4124
|
+
return Number.isNaN(data) ? "NaN" : "число";
|
|
4125
|
+
}
|
|
4126
|
+
case "object": {
|
|
4127
|
+
if (Array.isArray(data)) {
|
|
4128
|
+
return "масив";
|
|
4129
|
+
}
|
|
4130
|
+
if (data === null) {
|
|
4131
|
+
return "null";
|
|
4132
|
+
}
|
|
4133
|
+
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
|
4134
|
+
return data.constructor.name;
|
|
4135
|
+
}
|
|
4136
|
+
}
|
|
4137
|
+
}
|
|
4138
|
+
return t;
|
|
4139
|
+
};
|
|
4140
|
+
const bg_error = () => {
|
|
4141
|
+
const Sizable = {
|
|
4142
|
+
string: { unit: "символа", verb: "да съдържа" },
|
|
4143
|
+
file: { unit: "байта", verb: "да съдържа" },
|
|
4144
|
+
array: { unit: "елемента", verb: "да съдържа" },
|
|
4145
|
+
set: { unit: "елемента", verb: "да съдържа" },
|
|
4146
|
+
};
|
|
4147
|
+
function getSizing(origin) {
|
|
4148
|
+
return Sizable[origin] ?? null;
|
|
4149
|
+
}
|
|
4150
|
+
const Nouns = {
|
|
4151
|
+
regex: "вход",
|
|
4152
|
+
email: "имейл адрес",
|
|
4153
|
+
url: "URL",
|
|
4154
|
+
emoji: "емоджи",
|
|
4155
|
+
uuid: "UUID",
|
|
4156
|
+
uuidv4: "UUIDv4",
|
|
4157
|
+
uuidv6: "UUIDv6",
|
|
4158
|
+
nanoid: "nanoid",
|
|
4159
|
+
guid: "GUID",
|
|
4160
|
+
cuid: "cuid",
|
|
4161
|
+
cuid2: "cuid2",
|
|
4162
|
+
ulid: "ULID",
|
|
4163
|
+
xid: "XID",
|
|
4164
|
+
ksuid: "KSUID",
|
|
4165
|
+
datetime: "ISO време",
|
|
4166
|
+
date: "ISO дата",
|
|
4167
|
+
time: "ISO време",
|
|
4168
|
+
duration: "ISO продължителност",
|
|
4169
|
+
ipv4: "IPv4 адрес",
|
|
4170
|
+
ipv6: "IPv6 адрес",
|
|
4171
|
+
cidrv4: "IPv4 диапазон",
|
|
4172
|
+
cidrv6: "IPv6 диапазон",
|
|
4173
|
+
base64: "base64-кодиран низ",
|
|
4174
|
+
base64url: "base64url-кодиран низ",
|
|
4175
|
+
json_string: "JSON низ",
|
|
4176
|
+
e164: "E.164 номер",
|
|
4177
|
+
jwt: "JWT",
|
|
4178
|
+
template_literal: "вход",
|
|
4179
|
+
};
|
|
4180
|
+
return (issue) => {
|
|
4181
|
+
switch (issue.code) {
|
|
4182
|
+
case "invalid_type":
|
|
4183
|
+
return `Невалиден вход: очакван ${issue.expected}, получен ${parsedType(issue.input)}`;
|
|
4184
|
+
case "invalid_value":
|
|
4185
|
+
if (issue.values.length === 1)
|
|
4186
|
+
return `Невалиден вход: очакван ${util.stringifyPrimitive(issue.values[0])}`;
|
|
4187
|
+
return `Невалидна опция: очаквано едно от ${util.joinValues(issue.values, "|")}`;
|
|
4188
|
+
case "too_big": {
|
|
4189
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
4190
|
+
const sizing = getSizing(issue.origin);
|
|
4191
|
+
if (sizing)
|
|
4192
|
+
return `Твърде голямо: очаква се ${issue.origin ?? "стойност"} да съдържа ${adj}${issue.maximum.toString()} ${sizing.unit ?? "елемента"}`;
|
|
4193
|
+
return `Твърде голямо: очаква се ${issue.origin ?? "стойност"} да бъде ${adj}${issue.maximum.toString()}`;
|
|
4194
|
+
}
|
|
4195
|
+
case "too_small": {
|
|
4196
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
4197
|
+
const sizing = getSizing(issue.origin);
|
|
4198
|
+
if (sizing) {
|
|
4199
|
+
return `Твърде малко: очаква се ${issue.origin} да съдържа ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
|
4200
|
+
}
|
|
4201
|
+
return `Твърде малко: очаква се ${issue.origin} да бъде ${adj}${issue.minimum.toString()}`;
|
|
4202
|
+
}
|
|
4203
|
+
case "invalid_format": {
|
|
4204
|
+
const _issue = issue;
|
|
4205
|
+
if (_issue.format === "starts_with") {
|
|
4206
|
+
return `Невалиден низ: трябва да започва с "${_issue.prefix}"`;
|
|
4207
|
+
}
|
|
4208
|
+
if (_issue.format === "ends_with")
|
|
4209
|
+
return `Невалиден низ: трябва да завършва с "${_issue.suffix}"`;
|
|
4210
|
+
if (_issue.format === "includes")
|
|
4211
|
+
return `Невалиден низ: трябва да включва "${_issue.includes}"`;
|
|
4212
|
+
if (_issue.format === "regex")
|
|
4213
|
+
return `Невалиден низ: трябва да съвпада с ${_issue.pattern}`;
|
|
4214
|
+
let invalid_adj = "Невалиден";
|
|
4215
|
+
if (_issue.format === "emoji")
|
|
4216
|
+
invalid_adj = "Невалидно";
|
|
4217
|
+
if (_issue.format === "datetime")
|
|
4218
|
+
invalid_adj = "Невалидно";
|
|
4219
|
+
if (_issue.format === "date")
|
|
4220
|
+
invalid_adj = "Невалидна";
|
|
4221
|
+
if (_issue.format === "time")
|
|
4222
|
+
invalid_adj = "Невалидно";
|
|
4223
|
+
if (_issue.format === "duration")
|
|
4224
|
+
invalid_adj = "Невалидна";
|
|
4225
|
+
return `${invalid_adj} ${Nouns[_issue.format] ?? issue.format}`;
|
|
4226
|
+
}
|
|
4227
|
+
case "not_multiple_of":
|
|
4228
|
+
return `Невалидно число: трябва да бъде кратно на ${issue.divisor}`;
|
|
4229
|
+
case "unrecognized_keys":
|
|
4230
|
+
return `Неразпознат${issue.keys.length > 1 ? "и" : ""} ключ${issue.keys.length > 1 ? "ове" : ""}: ${util.joinValues(issue.keys, ", ")}`;
|
|
4231
|
+
case "invalid_key":
|
|
4232
|
+
return `Невалиден ключ в ${issue.origin}`;
|
|
4233
|
+
case "invalid_union":
|
|
4234
|
+
return "Невалиден вход";
|
|
4235
|
+
case "invalid_element":
|
|
4236
|
+
return `Невалидна стойност в ${issue.origin}`;
|
|
4237
|
+
default:
|
|
4238
|
+
return `Невалиден вход`;
|
|
4239
|
+
}
|
|
4240
|
+
};
|
|
4241
|
+
};
|
|
4242
|
+
/* harmony default export */ function bg() {
|
|
4243
|
+
return {
|
|
4244
|
+
localeError: bg_error(),
|
|
4245
|
+
};
|
|
4246
|
+
}
|
|
4247
|
+
|
|
4112
4248
|
;// CONCATENATED MODULE: ./node_modules/zod/v4/locales/ca.js
|
|
4113
4249
|
|
|
4114
4250
|
const ca_error = () => {
|
|
@@ -4619,7 +4755,7 @@ const de_error = () => {
|
|
|
4619
4755
|
|
|
4620
4756
|
;// CONCATENATED MODULE: ./node_modules/zod/v4/locales/en.js
|
|
4621
4757
|
|
|
4622
|
-
const
|
|
4758
|
+
const en_parsedType = (data) => {
|
|
4623
4759
|
const t = typeof data;
|
|
4624
4760
|
switch (t) {
|
|
4625
4761
|
case "number": {
|
|
@@ -4682,7 +4818,7 @@ const en_error = () => {
|
|
|
4682
4818
|
return (issue) => {
|
|
4683
4819
|
switch (issue.code) {
|
|
4684
4820
|
case "invalid_type":
|
|
4685
|
-
return `Invalid input: expected ${issue.expected}, received ${
|
|
4821
|
+
return `Invalid input: expected ${issue.expected}, received ${en_parsedType(issue.input)}`;
|
|
4686
4822
|
case "invalid_value":
|
|
4687
4823
|
if (issue.values.length === 1)
|
|
4688
4824
|
return `Invalid input: expected ${stringifyPrimitive(issue.values[0])}`;
|
|
@@ -9287,6 +9423,7 @@ const yo_error = () => {
|
|
|
9287
9423
|
|
|
9288
9424
|
|
|
9289
9425
|
|
|
9426
|
+
|
|
9290
9427
|
|
|
9291
9428
|
|
|
9292
9429
|
;// CONCATENATED MODULE: ./node_modules/zod/v4/core/registries.js
|
|
@@ -11314,15 +11451,12 @@ const ZodType = /*@__PURE__*/ $constructor("ZodType", (inst, def) => {
|
|
|
11314
11451
|
Object.defineProperty(inst, "_def", { value: def });
|
|
11315
11452
|
// base methods
|
|
11316
11453
|
inst.check = (...checks) => {
|
|
11317
|
-
return inst.clone({
|
|
11318
|
-
...def,
|
|
11454
|
+
return inst.clone(mergeDefs(def, {
|
|
11319
11455
|
checks: [
|
|
11320
11456
|
...(def.checks ?? []),
|
|
11321
11457
|
...checks.map((ch) => typeof ch === "function" ? { _zod: { check: ch, def: { check: "custom" }, onattach: [] } } : ch),
|
|
11322
11458
|
],
|
|
11323
|
-
}
|
|
11324
|
-
// { parent: true }
|
|
11325
|
-
);
|
|
11459
|
+
}));
|
|
11326
11460
|
};
|
|
11327
11461
|
inst.clone = (def, params) => clone(inst, def, params);
|
|
11328
11462
|
inst.brand = () => inst;
|
|
@@ -11821,7 +11955,9 @@ function keyof(schema) {
|
|
|
11821
11955
|
const ZodObject = /*@__PURE__*/ $constructor("ZodObject", (inst, def) => {
|
|
11822
11956
|
$ZodObjectJIT.init(inst, def);
|
|
11823
11957
|
ZodType.init(inst, def);
|
|
11824
|
-
defineLazy(inst, "shape", () =>
|
|
11958
|
+
defineLazy(inst, "shape", () => {
|
|
11959
|
+
return def.shape;
|
|
11960
|
+
});
|
|
11825
11961
|
inst.keyof = () => schemas_enum(Object.keys(inst._zod.def.shape));
|
|
11826
11962
|
inst.catchall = (catchall) => inst.clone({ ...inst._zod.def, catchall: catchall });
|
|
11827
11963
|
inst.passthrough = () => inst.clone({ ...inst._zod.def, catchall: unknown() });
|
|
@@ -11843,10 +11979,7 @@ const ZodObject = /*@__PURE__*/ $constructor("ZodObject", (inst, def) => {
|
|
|
11843
11979
|
function object(shape, params) {
|
|
11844
11980
|
const def = {
|
|
11845
11981
|
type: "object",
|
|
11846
|
-
|
|
11847
|
-
assignProp(this, "shape", shape ? objectClone(shape) : {});
|
|
11848
|
-
return this.shape;
|
|
11849
|
-
},
|
|
11982
|
+
shape: shape ?? {},
|
|
11850
11983
|
...normalizeParams(params),
|
|
11851
11984
|
};
|
|
11852
11985
|
return new ZodObject(def);
|
|
@@ -11855,10 +11988,7 @@ function object(shape, params) {
|
|
|
11855
11988
|
function strictObject(shape, params) {
|
|
11856
11989
|
return new ZodObject({
|
|
11857
11990
|
type: "object",
|
|
11858
|
-
|
|
11859
|
-
util.assignProp(this, "shape", util.objectClone(shape));
|
|
11860
|
-
return this.shape;
|
|
11861
|
-
},
|
|
11991
|
+
shape,
|
|
11862
11992
|
catchall: never(),
|
|
11863
11993
|
...util.normalizeParams(params),
|
|
11864
11994
|
});
|
|
@@ -11867,10 +11997,7 @@ function strictObject(shape, params) {
|
|
|
11867
11997
|
function looseObject(shape, params) {
|
|
11868
11998
|
return new ZodObject({
|
|
11869
11999
|
type: "object",
|
|
11870
|
-
|
|
11871
|
-
util.assignProp(this, "shape", util.objectClone(shape));
|
|
11872
|
-
return this.shape;
|
|
11873
|
-
},
|
|
12000
|
+
shape,
|
|
11874
12001
|
catchall: unknown(),
|
|
11875
12002
|
...util.normalizeParams(params),
|
|
11876
12003
|
});
|
package/bin/index.js
CHANGED
|
@@ -1162,7 +1162,7 @@ const { buildContext, commandName } = readParams({ apiVersion: 'v1' });
|
|
|
1162
1162
|
return;
|
|
1163
1163
|
case 'initialize-account-theme':
|
|
1164
1164
|
{
|
|
1165
|
-
const { command } = await Promise.all(/* import() */[__nccwpck_require__.e(
|
|
1165
|
+
const { command } = await Promise.all(/* import() */[__nccwpck_require__.e(247), __nccwpck_require__.e(187)]).then(__nccwpck_require__.bind(__nccwpck_require__, 187));
|
|
1166
1166
|
command({ buildContext });
|
|
1167
1167
|
}
|
|
1168
1168
|
return;
|
|
@@ -119,10 +119,10 @@ class KcClassDirective {
|
|
|
119
119
|
});
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
123
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
122
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: KcClassDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
123
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.4", type: KcClassDirective, isStandalone: true, selector: "[kcClass]", inputs: { klass: ["class", "klass"], ngClass: "ngClass", kcClass: "kcClass" }, ngImport: i0 }); }
|
|
124
124
|
}
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: KcClassDirective, decorators: [{
|
|
126
126
|
type: Directive,
|
|
127
127
|
args: [{ selector: '[kcClass]' }]
|
|
128
128
|
}], propDecorators: { klass: [{
|
|
@@ -6,6 +6,7 @@ import { KcClassDirective } from '@keycloakify/angular/account/directives/kc-cla
|
|
|
6
6
|
import { ACCOUNT_CLASSES } from '@keycloakify/angular/account/tokens/classes';
|
|
7
7
|
import { ACCOUNT_I18N } from '@keycloakify/angular/account/tokens/i18n';
|
|
8
8
|
import { KC_ACCOUNT_CONTEXT } from '@keycloakify/angular/account/tokens/kc-context';
|
|
9
|
+
import { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';
|
|
9
10
|
import { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';
|
|
10
11
|
|
|
11
12
|
class AccountComponent extends ComponentReference {
|
|
@@ -20,22 +21,22 @@ class AccountComponent extends ComponentReference {
|
|
|
20
21
|
};
|
|
21
22
|
this.active = 'account';
|
|
22
23
|
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AccountComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: AccountComponent, isStandalone: true, selector: "kc-account", providers: [
|
|
25
26
|
{
|
|
26
27
|
provide: ComponentReference,
|
|
27
28
|
useExisting: forwardRef(() => AccountComponent)
|
|
28
29
|
}
|
|
29
|
-
], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let realm = kcContext.realm;\n@let messagesPerField = kcContext.messagesPerField;\n@let stateChecker = kcContext.stateChecker;\n@let account = kcContext.account;\n@let referrer = kcContext.referrer;\n\n<div class=\"row\">\n <div class=\"col-md-10\">\n <h2>{{ i18n.msgStr('editAccountHtmlTitle') }}</h2>\n </div>\n <div class=\"col-md-2 subtitle\">\n <span class=\"subtitle\"> <span class=\"required\">*</span> {{ i18n.msgStr('requiredFields') }} </span>\n </div>\n</div>\n<form\n class=\"form-horizontal\"\n method=\"post\"\n [action]=\"url.accountUrl\"\n>\n <input\n type=\"hidden\"\n id=\"stateChecker\"\n name=\"stateChecker\"\n [value]=\"stateChecker\"\n />\n @if (!realm.registrationEmailAsUsername) {\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('username') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"username\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('username') }}\n </label>\n @if (realm.editUsernameAllowed) {\n <span class=\"required\">*</span>\n }\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"username\"\n name=\"username\"\n [disabled]=\"!realm.editUsernameAllowed\"\n [defaultValue]=\"account.username ?? ''\"\n />\n </div>\n </div>\n }\n\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('email') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"email\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('email') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"email\"\n name=\"email\"\n autofocus\n [defaultValue]=\"account.email ?? ''\"\n />\n </div>\n </div>\n\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('firstName') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"firstName\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('firstName') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"firstName\"\n name=\"firstName\"\n [defaultValue]=\"account.firstName\"\n />\n </div>\n </div>\n\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('lastName') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"lastName\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('lastName') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"lastName\"\n name=\"lastName\"\n [defaultValue]=\"account.lastName ?? ''\"\n />\n </div>\n </div>\n\n <div class=\"form-group\">\n <div\n id=\"kc-form-buttons\"\n class=\"col-md-offset-2 col-md-10 submit\"\n >\n <div>\n @if (referrer) {\n <a
|
|
30
|
+
], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let realm = kcContext.realm;\n@let messagesPerField = kcContext.messagesPerField;\n@let stateChecker = kcContext.stateChecker;\n@let account = kcContext.account;\n@let referrer = kcContext.referrer;\n\n<div class=\"row\">\n <div class=\"col-md-10\">\n <h2>{{ i18n.msgStr('editAccountHtmlTitle') }}</h2>\n </div>\n <div class=\"col-md-2 subtitle\">\n <span class=\"subtitle\"> <span class=\"required\">*</span> {{ i18n.msgStr('requiredFields') }} </span>\n </div>\n</div>\n<form\n class=\"form-horizontal\"\n method=\"post\"\n [action]=\"url.accountUrl\"\n>\n <input\n type=\"hidden\"\n id=\"stateChecker\"\n name=\"stateChecker\"\n [value]=\"stateChecker\"\n />\n @if (!realm.registrationEmailAsUsername) {\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('username') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"username\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('username') }}\n </label>\n @if (realm.editUsernameAllowed) {\n <span class=\"required\">*</span>\n }\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"username\"\n name=\"username\"\n [disabled]=\"!realm.editUsernameAllowed\"\n [defaultValue]=\"account.username ?? ''\"\n />\n </div>\n </div>\n }\n\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('email') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"email\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('email') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"email\"\n name=\"email\"\n autofocus\n [defaultValue]=\"account.email ?? ''\"\n />\n </div>\n </div>\n\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('firstName') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"firstName\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('firstName') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"firstName\"\n name=\"firstName\"\n [defaultValue]=\"account.firstName\"\n />\n </div>\n </div>\n\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('lastName') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"lastName\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('lastName') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"lastName\"\n name=\"lastName\"\n [defaultValue]=\"account.lastName ?? ''\"\n />\n </div>\n </div>\n\n <div class=\"form-group\">\n <div\n id=\"kc-form-buttons\"\n class=\"col-md-offset-2 col-md-10 submit\"\n >\n <div>\n @if (referrer) {\n <a\n [href]=\"referrer!.url\"\n [innerHTML]=\"i18n.msgStr('backToApplication') | kcSanitize: 'html'\"\n >\n </a>\n }\n <button\n type=\"submit\"\n name=\"submitAction\"\n value=\"Save\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('doSave') }}\n </button>\n <button\n type=\"submit\"\n name=\"submitAction\"\n value=\"Cancel\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('doCancel') }}\n </button>\n </div>\n </div>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: KcSanitizePipe, name: "kcSanitize" }] }); }
|
|
30
31
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AccountComponent, decorators: [{
|
|
32
33
|
type: Component,
|
|
33
|
-
args: [{ imports: [KcClassDirective,
|
|
34
|
+
args: [{ imports: [NgClass, KcClassDirective, KcSanitizePipe], selector: 'kc-account', providers: [
|
|
34
35
|
{
|
|
35
36
|
provide: ComponentReference,
|
|
36
37
|
useExisting: forwardRef(() => AccountComponent)
|
|
37
38
|
}
|
|
38
|
-
], template: "@let url = kcContext.url;\n@let realm = kcContext.realm;\n@let messagesPerField = kcContext.messagesPerField;\n@let stateChecker = kcContext.stateChecker;\n@let account = kcContext.account;\n@let referrer = kcContext.referrer;\n\n<div class=\"row\">\n <div class=\"col-md-10\">\n <h2>{{ i18n.msgStr('editAccountHtmlTitle') }}</h2>\n </div>\n <div class=\"col-md-2 subtitle\">\n <span class=\"subtitle\"> <span class=\"required\">*</span> {{ i18n.msgStr('requiredFields') }} </span>\n </div>\n</div>\n<form\n class=\"form-horizontal\"\n method=\"post\"\n [action]=\"url.accountUrl\"\n>\n <input\n type=\"hidden\"\n id=\"stateChecker\"\n name=\"stateChecker\"\n [value]=\"stateChecker\"\n />\n @if (!realm.registrationEmailAsUsername) {\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('username') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"username\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('username') }}\n </label>\n @if (realm.editUsernameAllowed) {\n <span class=\"required\">*</span>\n }\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"username\"\n name=\"username\"\n [disabled]=\"!realm.editUsernameAllowed\"\n [defaultValue]=\"account.username ?? ''\"\n />\n </div>\n </div>\n }\n\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('email') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"email\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('email') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"email\"\n name=\"email\"\n autofocus\n [defaultValue]=\"account.email ?? ''\"\n />\n </div>\n </div>\n\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('firstName') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"firstName\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('firstName') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"firstName\"\n name=\"firstName\"\n [defaultValue]=\"account.firstName\"\n />\n </div>\n </div>\n\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('lastName') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"lastName\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('lastName') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"lastName\"\n name=\"lastName\"\n [defaultValue]=\"account.lastName ?? ''\"\n />\n </div>\n </div>\n\n <div class=\"form-group\">\n <div\n id=\"kc-form-buttons\"\n class=\"col-md-offset-2 col-md-10 submit\"\n >\n <div>\n @if (referrer) {\n <a
|
|
39
|
+
], template: "@let url = kcContext.url;\n@let realm = kcContext.realm;\n@let messagesPerField = kcContext.messagesPerField;\n@let stateChecker = kcContext.stateChecker;\n@let account = kcContext.account;\n@let referrer = kcContext.referrer;\n\n<div class=\"row\">\n <div class=\"col-md-10\">\n <h2>{{ i18n.msgStr('editAccountHtmlTitle') }}</h2>\n </div>\n <div class=\"col-md-2 subtitle\">\n <span class=\"subtitle\"> <span class=\"required\">*</span> {{ i18n.msgStr('requiredFields') }} </span>\n </div>\n</div>\n<form\n class=\"form-horizontal\"\n method=\"post\"\n [action]=\"url.accountUrl\"\n>\n <input\n type=\"hidden\"\n id=\"stateChecker\"\n name=\"stateChecker\"\n [value]=\"stateChecker\"\n />\n @if (!realm.registrationEmailAsUsername) {\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('username') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"username\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('username') }}\n </label>\n @if (realm.editUsernameAllowed) {\n <span class=\"required\">*</span>\n }\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"username\"\n name=\"username\"\n [disabled]=\"!realm.editUsernameAllowed\"\n [defaultValue]=\"account.username ?? ''\"\n />\n </div>\n </div>\n }\n\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('email') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"email\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('email') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"email\"\n name=\"email\"\n autofocus\n [defaultValue]=\"account.email ?? ''\"\n />\n </div>\n </div>\n\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('firstName') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"firstName\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('firstName') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"firstName\"\n name=\"firstName\"\n [defaultValue]=\"account.firstName\"\n />\n </div>\n </div>\n\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('lastName') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"lastName\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('lastName') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"lastName\"\n name=\"lastName\"\n [defaultValue]=\"account.lastName ?? ''\"\n />\n </div>\n </div>\n\n <div class=\"form-group\">\n <div\n id=\"kc-form-buttons\"\n class=\"col-md-offset-2 col-md-10 submit\"\n >\n <div>\n @if (referrer) {\n <a\n [href]=\"referrer!.url\"\n [innerHTML]=\"i18n.msgStr('backToApplication') | kcSanitize: 'html'\"\n >\n </a>\n }\n <button\n type=\"submit\"\n name=\"submitAction\"\n value=\"Save\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('doSave') }}\n </button>\n <button\n type=\"submit\"\n name=\"submitAction\"\n value=\"Cancel\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('doCancel') }}\n </button>\n </div>\n </div>\n </div>\n</form>\n" }]
|
|
39
40
|
}] });
|
|
40
41
|
|
|
41
42
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keycloakify-angular-account-pages-account.mjs","sources":["../../src/account/pages/account/account.component.ts","../../src/account/pages/account/account.component.html","../../src/account/pages/account/keycloakify-angular-account-pages-account.ts"],"sourcesContent":["import { NgClass } from '@angular/common';\nimport { Component, forwardRef, inject } from '@angular/core';\nimport { ComponentReference } from '@keycloakify/angular/account/classes/component-reference';\nimport { KcClassDirective } from '@keycloakify/angular/account/directives/kc-class';\nimport type { I18n } from '@keycloakify/angular/account/i18n';\nimport type { KcContext } from '@keycloakify/angular/account/KcContext';\nimport { ACCOUNT_CLASSES } from '@keycloakify/angular/account/tokens/classes';\nimport { ACCOUNT_I18N } from '@keycloakify/angular/account/tokens/i18n';\nimport { KC_ACCOUNT_CONTEXT } from '@keycloakify/angular/account/tokens/kc-context';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport type { ClassKey } from 'keycloakify/account';\n\n@Component({\n imports: [KcClassDirective,
|
|
1
|
+
{"version":3,"file":"keycloakify-angular-account-pages-account.mjs","sources":["../../src/account/pages/account/account.component.ts","../../src/account/pages/account/account.component.html","../../src/account/pages/account/keycloakify-angular-account-pages-account.ts"],"sourcesContent":["import { NgClass } from '@angular/common';\nimport { Component, forwardRef, inject } from '@angular/core';\nimport { ComponentReference } from '@keycloakify/angular/account/classes/component-reference';\nimport { KcClassDirective } from '@keycloakify/angular/account/directives/kc-class';\nimport type { I18n } from '@keycloakify/angular/account/i18n';\nimport type { KcContext } from '@keycloakify/angular/account/KcContext';\nimport { ACCOUNT_CLASSES } from '@keycloakify/angular/account/tokens/classes';\nimport { ACCOUNT_I18N } from '@keycloakify/angular/account/tokens/i18n';\nimport { KC_ACCOUNT_CONTEXT } from '@keycloakify/angular/account/tokens/kc-context';\nimport { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport type { ClassKey } from 'keycloakify/account';\n\n@Component({\n imports: [NgClass, KcClassDirective, KcSanitizePipe],\n selector: 'kc-account',\n templateUrl: 'account.component.html',\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => AccountComponent)\n }\n ]\n})\nexport class AccountComponent extends ComponentReference {\n i18n = inject<I18n>(ACCOUNT_I18N);\n kcContext = inject<Extract<KcContext, { pageId: 'account.ftl' }>>(KC_ACCOUNT_CONTEXT);\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(ACCOUNT_CLASSES);\n override additionalClasses: Partial<Record<ClassKey, string>> = {\n kcBodyClass: `${this.classes?.kcBodyClass} user`\n };\n active = 'account';\n}\n","@let url = kcContext.url;\n@let realm = kcContext.realm;\n@let messagesPerField = kcContext.messagesPerField;\n@let stateChecker = kcContext.stateChecker;\n@let account = kcContext.account;\n@let referrer = kcContext.referrer;\n\n<div class=\"row\">\n <div class=\"col-md-10\">\n <h2>{{ i18n.msgStr('editAccountHtmlTitle') }}</h2>\n </div>\n <div class=\"col-md-2 subtitle\">\n <span class=\"subtitle\"> <span class=\"required\">*</span> {{ i18n.msgStr('requiredFields') }} </span>\n </div>\n</div>\n<form\n class=\"form-horizontal\"\n method=\"post\"\n [action]=\"url.accountUrl\"\n>\n <input\n type=\"hidden\"\n id=\"stateChecker\"\n name=\"stateChecker\"\n [value]=\"stateChecker\"\n />\n @if (!realm.registrationEmailAsUsername) {\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('username') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"username\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('username') }}\n </label>\n @if (realm.editUsernameAllowed) {\n <span class=\"required\">*</span>\n }\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"username\"\n name=\"username\"\n [disabled]=\"!realm.editUsernameAllowed\"\n [defaultValue]=\"account.username ?? ''\"\n />\n </div>\n </div>\n }\n\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('email') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"email\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('email') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"email\"\n name=\"email\"\n autofocus\n [defaultValue]=\"account.email ?? ''\"\n />\n </div>\n </div>\n\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('firstName') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"firstName\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('firstName') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"firstName\"\n name=\"firstName\"\n [defaultValue]=\"account.firstName\"\n />\n </div>\n </div>\n\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('lastName') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"lastName\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('lastName') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"lastName\"\n name=\"lastName\"\n [defaultValue]=\"account.lastName ?? ''\"\n />\n </div>\n </div>\n\n <div class=\"form-group\">\n <div\n id=\"kc-form-buttons\"\n class=\"col-md-offset-2 col-md-10 submit\"\n >\n <div>\n @if (referrer) {\n <a\n [href]=\"referrer!.url\"\n [innerHTML]=\"i18n.msgStr('backToApplication') | kcSanitize: 'html'\"\n >\n </a>\n }\n <button\n type=\"submit\"\n name=\"submitAction\"\n value=\"Save\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('doSave') }}\n </button>\n <button\n type=\"submit\"\n name=\"submitAction\"\n value=\"Cancel\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('doCancel') }}\n </button>\n </div>\n </div>\n </div>\n</form>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAwBM,MAAO,gBAAiB,SAAQ,kBAAkB,CAAA;AAXxD,IAAA,WAAA,GAAA;;AAYI,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAO,YAAY,CAAC;AACjC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAgD,kBAAkB,CAAC;AAC5E,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAU,eAAe,CAAC;AAClD,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAoC,eAAe,CAAC;AACpE,QAAA,IAAA,CAAA,iBAAiB,GAAsC;AAC5D,YAAA,WAAW,EAAE,CAAG,EAAA,IAAI,CAAC,OAAO,EAAE,WAAW,CAAO,KAAA;SACnD;QACD,IAAM,CAAA,MAAA,GAAG,SAAS;AACrB;8GATY,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAPd,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,gBAAgB;AACjD;AACJ,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBL,igKAqKA,EDvJc,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAO,EAAE,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,0FAAE,cAAc,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAU1C,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAX5B,SAAS;8BACG,CAAC,OAAO,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAA,QAAA,EAC1C,YAAY,EAEX,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAE,UAAU,CAAC,sBAAsB;AACjD;AACJ,qBAAA,EAAA,QAAA,EAAA,igKAAA,EAAA;;;AEtBL;;AAEG;;;;"}
|
|
@@ -18,15 +18,15 @@ class ApplicationsComponent extends ComponentReference {
|
|
|
18
18
|
this.classes = inject(ACCOUNT_CLASSES);
|
|
19
19
|
this.active = 'applications';
|
|
20
20
|
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ApplicationsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: ApplicationsComponent, isStandalone: true, selector: "kc-applications", providers: [
|
|
23
23
|
{
|
|
24
24
|
provide: ComponentReference,
|
|
25
25
|
useExisting: forwardRef(() => ApplicationsComponent)
|
|
26
26
|
}
|
|
27
27
|
], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let stateChecker = kcContext.stateChecker;\n@let applications = kcContext.applications?.applications;\n\n<div class=\"row\">\n <div class=\"col-md-10\">\n <h2>{{ i18n.msgStr('applicationsHtmlTitle') }}</h2>\n </div>\n\n <form\n method=\"post\"\n [action]=\"url.applicationsUrl\"\n >\n <input\n type=\"hidden\"\n id=\"stateChecker\"\n name=\"stateChecker\"\n [value]=\"stateChecker\"\n />\n <input\n type=\"hidden\"\n id=\"referrer\"\n name=\"referrer\"\n [value]=\"stateChecker\"\n />\n\n <table class=\"table table-striped table-bordered\">\n <thead>\n <tr>\n <td>{{ i18n.msgStr('application') }}</td>\n <td>{{ i18n.msgStr('availableRoles') }}</td>\n <td>{{ i18n.msgStr('grantedPermissions') }}</td>\n <td>{{ i18n.msgStr('additionalGrants') }}</td>\n <td>{{ i18n.msgStr('action') }}</td>\n </tr>\n </thead>\n\n <tbody>\n @for (application of applications ?? []; track application) {\n <tr>\n <td>\n @if (application.effectiveUrl) {\n <a [href]=\"application.effectiveUrl\">\n @if (application.client.name) {\n {{ i18n.advancedMsgStr(application.client.name) }}\n } @else {\n {{ application.client.clientId }}\n }\n </a>\n } @else {\n @if (application.client.name) {\n {{ i18n.advancedMsgStr(application.client.name) }}\n } @else {\n {{ application.client.clientId }}\n }\n }\n </td>\n\n <td>\n @if (!(application.realmRolesAvailable | isArrayWithEmptyObject)) {\n @for (role of application.realmRolesAvailable; track role; let last = $last) {\n <span>\n @if (role.description) {\n {{ i18n.advancedMsgStr(role.description) }}\n } @else {\n {{ i18n.advancedMsgStr(role.name) }}\n }\n @if (!last) {\n , \n }\n </span>\n }\n }\n @if (application.resourceRolesAvailable) {\n @for (resource of application.resourceRolesAvailable | keyvalue; track resource.key) {\n <span>\n @if (!(application.realmRolesAvailable | isArrayWithEmptyObject)) {\n , \n }\n @for (\n clientRole of application.resourceRolesAvailable[resource.key];\n track clientRole;\n let roleLast = $last\n ) {\n <span>\n {{\n i18n.advancedMsgStr(clientRole.roleDescription ? clientRole.roleDescription : clientRole.roleName)\n }}\n {{ i18n.msgStr('inResource') }}\n <strong>\n {{\n clientRole.clientName ? i18n.advancedMsgStr(clientRole.clientName) : clientRole.clientId\n }}</strong\n >\n @if (!roleLast) {\n , \n }\n </span>\n }\n </span>\n }\n }\n </td>\n\n <td>\n @if (application.client.consentRequired) {\n @for (claim of application.clientScopesGranted; track claim; let last = $last) {\n {{ i18n.advancedMsgStr(claim) }}\n @if (!last) {\n , \n }\n }\n } @else {\n <strong>{{ i18n.msgStr('fullAccess') }}</strong>\n }\n </td>\n\n <td>\n @for (grant of application.additionalGrants; track grant; let last = $last) {\n {{ i18n.advancedMsgStr(grant) }}\n @if (!last) {\n , \n }\n }\n </td>\n\n <td>\n @if (\n (application.client.consentRequired && application.clientScopesGranted.length > 0) ||\n application.additionalGrants.length > 0\n ) {\n <button\n type=\"submit\"\n name=\"clientId\"\n [kcClass]=\"['kcButtonPrimaryClass', 'kcButtonClass']\"\n [id]=\"'revoke-' + application.client.clientId\"\n [value]=\"application.client.id\"\n >\n {{ i18n.msgStr('revoke') }}\n </button>\n }\n </td>\n </tr>\n }\n </tbody>\n </table>\n </form>\n</div>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: IsArrayWithEmptyObjectPipe, name: "isArrayWithEmptyObject" }] }); }
|
|
28
28
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ApplicationsComponent, decorators: [{
|
|
30
30
|
type: Component,
|
|
31
31
|
args: [{ imports: [KcClassDirective, NgClass, KeyValuePipe, IsArrayWithEmptyObjectPipe], selector: 'kc-applications', providers: [
|
|
32
32
|
{
|
|
@@ -17,15 +17,15 @@ class FederatedIdentityComponent extends ComponentReference {
|
|
|
17
17
|
this.classes = inject(ACCOUNT_CLASSES);
|
|
18
18
|
this.active = 'social';
|
|
19
19
|
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: FederatedIdentityComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: FederatedIdentityComponent, isStandalone: true, selector: "kc-federated-identity", providers: [
|
|
22
22
|
{
|
|
23
23
|
provide: ComponentReference,
|
|
24
24
|
useExisting: forwardRef(() => FederatedIdentityComponent)
|
|
25
25
|
}
|
|
26
26
|
], usesInheritance: true, ngImport: i0, template: "@let url = kcContext.url;\n@let federatedIdentity = kcContext.federatedIdentity;\n@let stateChecker = kcContext.stateChecker;\n\n<div class=\"main-layout social\">\n <div class=\"row\">\n <div class=\"col-md-10\">\n <h2>{{ i18n.msgStr('federatedIdentitiesHtmlTitle') }}</h2>\n </div>\n </div>\n <div id=\"federated-identities\">\n @for (identity of federatedIdentity.identities; track identity) {\n <div class=\"row margin-bottom\">\n <div class=\"col-sm-2 col-md-2\">\n <label\n class=\"control-label\"\n [for]=\"identity.providerId\"\n >\n {{ identity.displayName }}\n </label>\n </div>\n <div class=\"col-sm-5 col-md-5\">\n <input\n disabled\n class=\"form-control\"\n [value]=\"identity.userName\"\n />\n </div>\n <div class=\"col-sm-5 col-md-5\">\n @if (identity.connected) {\n @if (federatedIdentity.removeLinkPossible) {\n <form\n method=\"post\"\n class=\"form-inline\"\n [action]=\"url.socialUrl\"\n >\n <input\n type=\"hidden\"\n name=\"stateChecker\"\n [value]=\"stateChecker\"\n />\n <input\n type=\"hidden\"\n name=\"action\"\n value=\"remove\"\n />\n <input\n type=\"hidden\"\n name=\"providerId\"\n [value]=\"identity.providerId\"\n />\n <button\n class=\"btn btn-default\"\n [id]=\"'remove-link-' + identity.providerId\"\n >\n {{ i18n.msgStr('doRemove') }}\n </button>\n </form>\n }\n } @else {\n <form\n method=\"post\"\n class=\"form-inline\"\n [action]=\"url.socialUrl\"\n >\n <input\n type=\"hidden\"\n name=\"stateChecker\"\n [value]=\"stateChecker\"\n />\n <input\n type=\"hidden\"\n name=\"action\"\n value=\"add\"\n />\n <input\n type=\"hidden\"\n name=\"providerId\"\n [value]=\"identity.providerId\"\n />\n <button\n class=\"btn btn-default\"\n [id]=\"'add-link-' + identity.providerId\"\n >\n {{ i18n.msgStr('doAdd') }}\n </button>\n </form>\n }\n </div>\n </div>\n }\n </div>\n</div>\n" }); }
|
|
27
27
|
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: FederatedIdentityComponent, decorators: [{
|
|
29
29
|
type: Component,
|
|
30
30
|
args: [{ imports: [KcClassDirective, NgClass], selector: 'kc-federated-identity', providers: [
|
|
31
31
|
{
|
|
@@ -17,15 +17,15 @@ class LogComponent extends ComponentReference {
|
|
|
17
17
|
this.classes = inject(ACCOUNT_CLASSES);
|
|
18
18
|
this.active = 'log';
|
|
19
19
|
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: LogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: LogComponent, isStandalone: true, selector: "kc-log", providers: [
|
|
22
22
|
{
|
|
23
23
|
provide: ComponentReference,
|
|
24
24
|
useExisting: forwardRef(() => LogComponent)
|
|
25
25
|
}
|
|
26
26
|
], usesInheritance: true, ngImport: i0, template: "@let log = kcContext.log;\n\n<div [kcClass]=\"'kcContentWrapperClass'\">\n <div class=\"col-md-10\">\n <h2>{{ i18n.msgStr('accountLogHtmlTitle') }}</h2>\n </div>\n\n <table class=\"table table-striped table-bordered\">\n <thead>\n <tr>\n <td>{{ i18n.msgStr('date') }}</td>\n <td>{{ i18n.msgStr('event') }}</td>\n <td>{{ i18n.msgStr('ip') }}</td>\n <td>{{ i18n.msgStr('client') }}</td>\n <td>{{ i18n.msgStr('details') }}</td>\n </tr>\n </thead>\n\n <tbody>\n @for (event of log.events; track event) {\n <tr>\n <td>{{ event.date ? (event.date | date) : '' }}</td>\n <td>{{ event.event }}</td>\n <td>{{ event.ipAddress }}</td>\n <td>{{ event.client || '' }}</td>\n <td>\n @for (detail of event.details; track detail; let last = $last) {\n <span>\n {{ detail.key }} = {{ detail.value }}\n @if (!last) {\n , \n }\n </span>\n }\n </td>\n </tr>\n }\n </tbody>\n </table>\n</div>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "pipe", type: DatePipe, name: "date" }] }); }
|
|
27
27
|
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: LogComponent, decorators: [{
|
|
29
29
|
type: Component,
|
|
30
30
|
args: [{ imports: [KcClassDirective, NgClass, DatePipe], selector: 'kc-log', providers: [
|
|
31
31
|
{
|