@keycloakify/angular 0.0.1-rc.19 → 0.0.1-rc.20

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 CHANGED
@@ -28,9 +28,49 @@
28
28
  <a href="https://storybook.keycloakify.dev">Storybook</a>
29
29
  -
30
30
  <a href="https://github.com/keycloakify/keycloakify-starter-angular">Starter project</a>
31
+ -
32
+ <a href="https://github.com/keycloakify/keycloakify-starter-angular-vite">Starter project (Vite)</a>
31
33
  </p>
32
34
  </p>
33
35
 
36
+ ## Using the library
37
+
38
+ ```bash
39
+ npm install keycloakify @keycloakify/angular
40
+ ```
41
+
42
+ or using yarn:
43
+
34
44
  ```bash
35
45
  yarn add keycloakify @keycloakify/angular
36
46
  ```
47
+
48
+ ## Developing the library
49
+
50
+ If you want to make changes to the library make sure to follow these steps to setup your local environment.
51
+
52
+ ### In the library:
53
+
54
+ 1. Run `ng build` (preferably in watch mode)
55
+ 2. `cd dist`
56
+ 3. `npm link`
57
+
58
+ ### In the starter:
59
+
60
+ 1. You need to make configurations in `angular.json`:
61
+ - **Firstly**, make sure that `preserveSymlinks` is set to `true`:
62
+ ```json
63
+ "preserveSymlinks": true
64
+ ```
65
+ - **Secondly**, disable caching under `cli`:
66
+ ```json
67
+ "cli": {
68
+ "cache": {
69
+ "enabled": false
70
+ }
71
+ }
72
+ ```
73
+ 2. Run `npm link @keycloakify/keycloakify-angular`
74
+ 3. `ng serve`
75
+
76
+ You are good to go 🚀
package/bin/main.js ADDED
@@ -0,0 +1,224 @@
1
+ #!/usr/bin/env node
2
+ /******/ (() => { // webpackBootstrap
3
+ /******/ "use strict";
4
+ /******/ /* webpack/runtime/compat */
5
+ /******/
6
+ /******/ if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = __dirname + "/";
7
+ /******/
8
+ /************************************************************************/
9
+ var __webpack_exports__ = {};
10
+
11
+ ;// CONCATENATED MODULE: ./node_modules/tsafe/esm/lab/overwriteReadonlyProp.mjs
12
+ /* eslint-disable no-empty */
13
+ /* eslint-disable @typescript-eslint/no-explicit-any */
14
+ /**
15
+ * Assign a value to a property even if the object is freezed or if the property is not writable
16
+ * Throw if the assignation fail ( for example if the property is non configurable write: false )
17
+ * */
18
+ const overwriteReadonlyProp = (obj, propertyName, value) => {
19
+ try {
20
+ obj[propertyName] = value;
21
+ }
22
+ catch { }
23
+ if (obj[propertyName] === value) {
24
+ return value;
25
+ }
26
+ let errorDefineProperty = undefined;
27
+ const propertyDescriptor = Object.getOwnPropertyDescriptor(obj, propertyName) || {
28
+ "enumerable": true,
29
+ "configurable": true,
30
+ };
31
+ if (!!propertyDescriptor.get) {
32
+ throw new Error(`Probably a wrong ides to overwrite ${String(propertyName)} getter`);
33
+ }
34
+ try {
35
+ Object.defineProperty(obj, propertyName, {
36
+ ...propertyDescriptor,
37
+ value,
38
+ });
39
+ }
40
+ catch (error) {
41
+ errorDefineProperty = error;
42
+ }
43
+ if (obj[propertyName] !== value) {
44
+ throw errorDefineProperty || new Error("Can't assign");
45
+ }
46
+ return value;
47
+ };
48
+
49
+
50
+ //# sourceMappingURL=overwriteReadonlyProp.mjs.map
51
+
52
+ ;// CONCATENATED MODULE: ./node_modules/tsafe/esm/id.mjs
53
+ /** https://docs.tsafe.dev/id */
54
+ const id = (x) => x;
55
+
56
+
57
+ //# sourceMappingURL=id.mjs.map
58
+
59
+ ;// CONCATENATED MODULE: ./node_modules/tsafe/esm/zz_internal/assertIsRefWrapper.mjs
60
+
61
+
62
+ const assertIsRefWrapper = {
63
+ "ref": id(undefined),
64
+ };
65
+
66
+
67
+ //# sourceMappingURL=assertIsRefWrapper.mjs.map
68
+
69
+ ;// CONCATENATED MODULE: ./node_modules/tsafe/esm/assert.mjs
70
+
71
+
72
+
73
+ /* eslint-disable @typescript-eslint/no-unused-vars */
74
+ /** @see <https://docs.tsafe.dev/assert#error-thrown> */
75
+ class AssertionError extends Error {
76
+ constructor(msg) {
77
+ super(`Wrong assertion encountered` + (!msg ? "" : `: "${msg}"`));
78
+ Object.setPrototypeOf(this, new.target.prototype);
79
+ if (!this.stack) {
80
+ return;
81
+ }
82
+ try {
83
+ overwriteReadonlyProp(this, "stack", this.stack
84
+ .split("\n")
85
+ .filter((...[, i]) => i !== 1 && i !== 2)
86
+ .join("\n"));
87
+ // eslint-disable-next-line no-empty
88
+ }
89
+ catch { }
90
+ }
91
+ }
92
+ /** https://docs.tsafe.dev/assert */
93
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
94
+ function assert(condition, msg) {
95
+ if (arguments.length === 0) {
96
+ condition = true;
97
+ }
98
+ if (assertIsRefWrapper.ref !== undefined) {
99
+ assertIsRefWrapper.ref = undefined;
100
+ return;
101
+ }
102
+ if (!condition) {
103
+ throw new AssertionError(msg);
104
+ }
105
+ }
106
+
107
+
108
+ //# sourceMappingURL=assert.mjs.map
109
+
110
+ ;// CONCATENATED MODULE: ./node_modules/keycloakify/bin/shared/constants.js
111
+ const WELL_KNOWN_DIRECTORY_BASE_NAME = {
112
+ KEYCLOAKIFY_DEV_RESOURCES: "keycloakify-dev-resources",
113
+ RESOURCES_COMMON: "resources-common",
114
+ DIST: "dist"
115
+ };
116
+ const THEME_TYPES = (/* unused pure expression or super */ null && (["login", "account"]));
117
+ const VITE_PLUGIN_SUB_SCRIPTS_ENV_NAMES = {
118
+ RUN_POST_BUILD_SCRIPT: "KEYCLOAKIFY_RUN_POST_BUILD_SCRIPT",
119
+ RESOLVE_VITE_CONFIG: "KEYCLOAKIFY_RESOLVE_VITE_CONFIG"
120
+ };
121
+ const BUILD_FOR_KEYCLOAK_MAJOR_VERSION_ENV_NAME = "KEYCLOAKIFY_BUILD_FOR_KEYCLOAK_MAJOR_VERSION";
122
+ const LOGIN_THEME_PAGE_IDS = (/* unused pure expression or super */ null && ([
123
+ "login.ftl",
124
+ "login-username.ftl",
125
+ "login-password.ftl",
126
+ "webauthn-authenticate.ftl",
127
+ "webauthn-register.ftl",
128
+ "register.ftl",
129
+ "info.ftl",
130
+ "error.ftl",
131
+ "login-reset-password.ftl",
132
+ "login-verify-email.ftl",
133
+ "terms.ftl",
134
+ "login-oauth2-device-verify-user-code.ftl",
135
+ "login-oauth-grant.ftl",
136
+ "login-otp.ftl",
137
+ "login-update-profile.ftl",
138
+ "login-update-password.ftl",
139
+ "login-idp-link-confirm.ftl",
140
+ "login-idp-link-email.ftl",
141
+ "login-page-expired.ftl",
142
+ "login-config-totp.ftl",
143
+ "logout-confirm.ftl",
144
+ "idp-review-user-profile.ftl",
145
+ "update-email.ftl",
146
+ "select-authenticator.ftl",
147
+ "saml-post-form.ftl",
148
+ "delete-credential.ftl",
149
+ "code.ftl",
150
+ "delete-account-confirm.ftl",
151
+ "frontchannel-logout.ftl",
152
+ "login-recovery-authn-code-config.ftl",
153
+ "login-recovery-authn-code-input.ftl",
154
+ "login-reset-otp.ftl",
155
+ "login-x509-info.ftl",
156
+ "webauthn-error.ftl",
157
+ "login-passkeys-conditional-authenticate.ftl",
158
+ "login-idp-link-confirm-override.ftl"
159
+ ]));
160
+ const ACCOUNT_THEME_PAGE_IDS = (/* unused pure expression or super */ null && ([
161
+ "password.ftl",
162
+ "account.ftl",
163
+ "sessions.ftl",
164
+ "totp.ftl",
165
+ "applications.ftl",
166
+ "log.ftl",
167
+ "federatedIdentity.ftl"
168
+ ]));
169
+ const CONTAINER_NAME = "keycloak-keycloakify";
170
+ const FALLBACK_LANGUAGE_TAG = "en";
171
+ const CUSTOM_HANDLER_ENV_NAMES = {
172
+ COMMAND_NAME: "KEYCLOAKIFY_COMMAND_NAME",
173
+ BUILD_CONTEXT: "KEYCLOAKIFY_BUILD_CONTEXT"
174
+ };
175
+ //# sourceMappingURL=constants.js.map
176
+ ;// CONCATENATED MODULE: ./node_modules/keycloakify/bin/shared/customHandler.js
177
+
178
+
179
+ const BIN_NAME = "_keycloakify-custom-handler";
180
+ const NOT_IMPLEMENTED_EXIT_CODE = 78;
181
+ function readParams(params) {
182
+ const { apiVersion } = params;
183
+ assert(apiVersion === "v1");
184
+ const commandName = (() => {
185
+ const envValue = process.env[CUSTOM_HANDLER_ENV_NAMES.COMMAND_NAME];
186
+ assert(envValue !== undefined);
187
+ return envValue;
188
+ })();
189
+ const buildContext = (() => {
190
+ const envValue = process.env[CUSTOM_HANDLER_ENV_NAMES.BUILD_CONTEXT];
191
+ assert(envValue !== undefined);
192
+ return JSON.parse(envValue);
193
+ })();
194
+ return { commandName, buildContext };
195
+ }
196
+ //# sourceMappingURL=customHandler.js.map
197
+ ;// CONCATENATED MODULE: ./dist/bin/main.js
198
+
199
+ const { buildContext, commandName } = readParams({ apiVersion: 'v1' });
200
+ console.log(`Running ${commandName} from @keycloakify/angular...`);
201
+ console.log(buildContext);
202
+ switch (commandName) {
203
+ case 'add-story':
204
+ {
205
+ process.exit(NOT_IMPLEMENTED_EXIT_CODE);
206
+ }
207
+ break;
208
+ case 'eject-page':
209
+ {
210
+ process.exit(NOT_IMPLEMENTED_EXIT_CODE);
211
+ }
212
+ break;
213
+ case 'update-kc-gen':
214
+ {
215
+ process.exit(NOT_IMPLEMENTED_EXIT_CODE);
216
+ }
217
+ break;
218
+ default:
219
+ process.exit(NOT_IMPLEMENTED_EXIT_CODE);
220
+ }
221
+
222
+ module.exports = __webpack_exports__;
223
+ /******/ })()
224
+ ;
@@ -0,0 +1,77 @@
1
+ export function getDefaultPageComponent(pageId) {
2
+ switch (pageId) {
3
+ case 'login.ftl':
4
+ return import('@keycloakify/angular/login/pages/login').then(c => c.LoginComponent);
5
+ case 'login-username.ftl':
6
+ return import('@keycloakify/angular/login/pages/login-username').then(c => c.LoginUsernameComponent);
7
+ case 'login-password.ftl':
8
+ return import('@keycloakify/angular/login/pages/login-password').then(c => c.LoginPasswordComponent);
9
+ case 'webauthn-authenticate.ftl':
10
+ return import('@keycloakify/angular/login/pages/webauthn-authenticate').then(c => c.WebauthnAuthenticateComponent);
11
+ case 'webauthn-register.ftl':
12
+ return import('@keycloakify/angular/login/pages/webauthn-register').then(c => c.WebauthnRegisterComponent);
13
+ case 'register.ftl':
14
+ return import('@keycloakify/angular/login/pages/register').then(c => c.RegisterComponent);
15
+ case 'info.ftl':
16
+ return import('@keycloakify/angular/login/pages/info').then(c => c.InfoComponent);
17
+ case 'error.ftl':
18
+ return import('@keycloakify/angular/login/pages/error').then(c => c.ErrorComponent);
19
+ case 'login-reset-password.ftl':
20
+ return import('@keycloakify/angular/login/pages/login-reset-password').then(c => c.LoginResetPasswordComponent);
21
+ case 'login-verify-email.ftl':
22
+ return import('@keycloakify/angular/login/pages/login-verify-email').then(c => c.LoginVerifyEmailComponent);
23
+ case 'terms.ftl':
24
+ return import('@keycloakify/angular/login/pages/terms').then(c => c.TermsComponent);
25
+ case 'login-oauth2-device-verify-user-code.ftl':
26
+ return import('@keycloakify/angular/login/pages/login-oauth2-device-verify-user-code').then(c => c.LoginOauth2DeviceVerifyUserCodeComponent);
27
+ case 'login-oauth-grant.ftl':
28
+ return import('@keycloakify/angular/login/pages/login-oauth-grant').then(c => c.LoginOauthGrantComponent);
29
+ case 'login-otp.ftl':
30
+ return import('@keycloakify/angular/login/pages/login-otp').then(c => c.LoginOtpComponent);
31
+ case 'login-update-profile.ftl':
32
+ return import('@keycloakify/angular/login/pages/login-update-profile').then(c => c.LoginUpdateProfileComponent);
33
+ case 'login-update-password.ftl':
34
+ return import('@keycloakify/angular/login/pages/login-update-password').then(c => c.LoginUpdatePasswordComponent);
35
+ case 'login-idp-link-confirm.ftl':
36
+ return import('@keycloakify/angular/login/pages/login-idp-link-confirm').then(c => c.LoginIdpLinkConfirmComponent);
37
+ case 'login-idp-link-email.ftl':
38
+ return import('@keycloakify/angular/login/pages/login-idp-link-email').then(c => c.LoginIdpLinkEmailComponent);
39
+ case 'login-page-expired.ftl':
40
+ return import('@keycloakify/angular/login/pages/login-page-expired').then(c => c.LoginPageExpiredComponent);
41
+ case 'login-config-totp.ftl':
42
+ return import('@keycloakify/angular/login/pages/login-config-totp').then(c => c.LoginConfigTotpComponent);
43
+ case 'logout-confirm.ftl':
44
+ return import('@keycloakify/angular/login/pages/logout-confirm').then(c => c.LogoutConfirmComponent);
45
+ case 'idp-review-user-profile.ftl':
46
+ return import('@keycloakify/angular/login/pages/idp-review-user-profile').then(c => c.IdpReviewUserProfileComponent);
47
+ case 'update-email.ftl':
48
+ return import('@keycloakify/angular/login/pages/update-email').then(c => c.UpdateEmailComponent);
49
+ case 'select-authenticator.ftl':
50
+ return import('@keycloakify/angular/login/pages/select-authenticator').then(c => c.SelectAuthenticatorComponent);
51
+ case 'saml-post-form.ftl':
52
+ return import('@keycloakify/angular/login/pages/saml-post-form').then(c => c.SamlPostFormComponent);
53
+ case 'delete-credential.ftl':
54
+ return import('@keycloakify/angular/login/pages/delete-credential').then(c => c.DeleteCredentialComponent);
55
+ case 'code.ftl':
56
+ return import('@keycloakify/angular/login/pages/code').then(c => c.CodeComponent);
57
+ case 'delete-account-confirm.ftl':
58
+ return import('@keycloakify/angular/login/pages/delete-account-confirm').then(c => c.DeleteAccountConfirmComponent);
59
+ case 'frontchannel-logout.ftl':
60
+ return import('@keycloakify/angular/login/pages/frontchannel-logout').then(c => c.FrontchannelLogoutComponent);
61
+ case 'login-recovery-authn-code-config.ftl':
62
+ return import('@keycloakify/angular/login/pages/login-recovery-authn-code-config').then(c => c.LoginRecoveryAuthnCodeConfigComponent);
63
+ case 'login-recovery-authn-code-input.ftl':
64
+ return import('@keycloakify/angular/login/pages/login-recovery-authn-code-input').then(c => c.LoginRecoveryAuthnCodeInputComponent);
65
+ case 'login-reset-otp.ftl':
66
+ return import('@keycloakify/angular/login/pages/login-reset-otp').then(c => c.LoginResetOtpComponent);
67
+ case 'login-x509-info.ftl':
68
+ return import('@keycloakify/angular/login/pages/login-x509-info').then(c => c.LoginX509InfoComponent);
69
+ case 'webauthn-error.ftl':
70
+ return import('@keycloakify/angular/login/pages/webauthn-error').then(c => c.WebauthnErrorComponent);
71
+ case 'login-passkeys-conditional-authenticate.ftl':
72
+ return import('@keycloakify/angular/login/pages/login-passkeys-conditional-authenticate').then(c => c.LoginPasskeysConditionalAuthenticateComponent);
73
+ case 'login-idp-link-confirm-override.ftl':
74
+ return import('@keycloakify/angular/login/pages/login-idp-link-confirm-override').then(c => c.LoginIdpLinkConfirmOverrideComponent);
75
+ }
76
+ }
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0RGVmYXVsdFBhZ2VDb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbG9naW4vZ2V0RGVmYXVsdFBhZ2VDb21wb25lbnQvZ2V0RGVmYXVsdFBhZ2VDb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLHVCQUF1QixDQUNuQyxNQUEyQjtJQUUzQixRQUFRLE1BQU0sRUFBRSxDQUFDO1FBQ2IsS0FBSyxXQUFXO1lBQ1osT0FBTyxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQyxJQUFJLENBQ3hELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FDeEIsQ0FBQztRQUNOLEtBQUssb0JBQW9CO1lBQ3JCLE9BQU8sTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUMsSUFBSSxDQUNqRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FDaEMsQ0FBQztRQUNOLEtBQUssb0JBQW9CO1lBQ3JCLE9BQU8sTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUMsSUFBSSxDQUNqRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FDaEMsQ0FBQztRQUNOLEtBQUssMkJBQTJCO1lBQzVCLE9BQU8sTUFBTSxDQUFDLHdEQUF3RCxDQUFDLENBQUMsSUFBSSxDQUN4RSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw2QkFBNkIsQ0FDdkMsQ0FBQztRQUNOLEtBQUssdUJBQXVCO1lBQ3hCLE9BQU8sTUFBTSxDQUFDLG9EQUFvRCxDQUFDLENBQUMsSUFBSSxDQUNwRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FDbkMsQ0FBQztRQUNOLEtBQUssY0FBYztZQUNmLE9BQU8sTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUMsSUFBSSxDQUMzRCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIs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QyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFDekQsS0FBSyxxQ0FBcUM7WUFDdEMsT0FBTyxNQUFNLENBQ1Qsa0VBQWtFLENBQ3JFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDeEQsS0FBSyxxQkFBcUI7WUFDdEIsT0FBTyxNQUFNLENBQUMsa0RBQWtELENBQUMsQ0FBQyxJQUFJLENBQ2xFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUNoQyxDQUFDO1FBQ04sS0FBSyxxQkFBcUI7WUFDdEIsT0FBTyxNQUFNLENBQUMsa0RBQWtELENBQUMsQ0FBQyxJQUFJLENBQ2xFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUNoQyxDQUFDO1FBQ04sS0FBSyxvQkFBb0I7WUFDckIsT0FBTyxNQUFNLENBQUMsaURBQWlELENBQUMsQ0FBQyxJQUFJLENBQ2pFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUNoQyxDQUFDO1FBQ04sS0FBSyw2Q0FBNkM7WUFDOUMsT0FBTyxNQUFNLENBQ1QsMEVBQTBFLENBQzdFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7UUFDakUsS0FBSyxxQ0FBcUM7WUFDdEMsT0FBTyxNQUFNLENBQ1Qsa0VBQWtFLENBQ3JFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgS2NDb250ZXh0IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vS2NDb250ZXh0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldERlZmF1bHRQYWdlQ29tcG9uZW50KFxuICAgIHBhZ2VJZDogS2NDb250ZXh0WydwYWdlSWQnXVxuKTogUHJvbWlzZTxUeXBlPHVua25vd24+PiB7XG4gICAgc3dpdGNoIChwYWdlSWQpIHtcbiAgICAgICAgY2FzZSAnbG9naW4uZnRsJzpcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BhZ2VzL2xvZ2luJykudGhlbihcbiAgICAgICAgICAgICAgICBjID0+IGMuTG9naW5Db21wb25lbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIGNhc2UgJ2xvZ2luLXVzZXJuYW1lLmZ0bCc6XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KCdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9wYWdlcy9sb2dpbi11c2VybmFtZScpLnRoZW4oXG4gICAgICAgICAgICAgICAgYyA9PiBjLkxvZ2luVXNlcm5hbWVDb21wb25lbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIGNhc2UgJ2xvZ2luLXBhc3N3b3JkLmZ0bCc6XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KCdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9wYWdlcy9sb2dpbi1wYXNzd29yZCcpLnRoZW4oXG4gICAgICAgICAgICAgICAgYyA9PiBjLkxvZ2luUGFzc3dvcmRDb21wb25lbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIGNhc2UgJ3dlYmF1dGhuLWF1dGhlbnRpY2F0ZS5mdGwnOlxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydCgnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGFnZXMvd2ViYXV0aG4tYXV0aGVudGljYXRlJykudGhlbihcbiAgICAgICAgICAgICAgICBjID0+IGMuV2ViYXV0aG5BdXRoZW50aWNhdGVDb21wb25lbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIGNhc2UgJ3dlYmF1dGhuLXJlZ2lzdGVyLmZ0bCc6XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KCdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9wYWdlcy93ZWJhdXRobi1yZWdpc3RlcicpLnRoZW4oXG4gICAgICAgICAgICAgICAgYyA9PiBjLldlYmF1dGhuUmVnaXN0ZXJDb21wb25lbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIGNhc2UgJ3JlZ2lzdGVyLmZ0bCc6XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KCdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9wYWdlcy9yZWdpc3RlcicpLnRoZW4oXG4gICAgICAgICAgICAgICAgYyA9PiBjLlJlZ2lzdGVyQ29tcG9uZW50XG4gICAgICAgICAgICApO1xuICAgICAgICBjYXNlICdpbmZvLmZ0bCc6XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KCdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9wYWdlcy9pbmZvJykudGhlbihcbiAgICAgICAgICAgICAgICBjID0+IGMuSW5mb0NvbXBvbmVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgY2FzZSAnZXJyb3IuZnRsJzpcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BhZ2VzL2Vycm9yJykudGhlbihcbiAgICAgICAgICAgICAgICBjID0+IGMuRXJyb3JDb21wb25lbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIGNhc2UgJ2xvZ2luLXJlc2V0LXBhc3N3b3JkLmZ0bCc6XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KCdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9wYWdlcy9sb2dpbi1yZXNldC1wYXNzd29yZCcpLnRoZW4oXG4gICAgICAgICAgICAgICAgYyA9PiBjLkxvZ2luUmVzZXRQYXNzd29yZENvbXBvbmVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgY2FzZSAnbG9naW4tdmVyaWZ5LWVtYWlsLmZ0bCc6XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KCdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9wYWdlcy9sb2dpbi12ZXJpZnktZW1haWwnKS50aGVuKFxuICAgICAgICAgICAgICAgIGMgPT4gYy5Mb2dpblZlcmlmeUVtYWlsQ29tcG9uZW50XG4gICAgICAgICAgICApO1xuICAgICAgICBjYXNlICd0ZXJtcy5mdGwnOlxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydCgnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGFnZXMvdGVybXMnKS50aGVuKFxuICAgICAgICAgICAgICAgIGMgPT4gYy5UZXJtc0NvbXBvbmVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgY2FzZSAnbG9naW4tb2F1dGgyLWRldmljZS12ZXJpZnktdXNlci1jb2RlLmZ0bCc6XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KFxuICAgICAgICAgICAgICAgICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9wYWdlcy9sb2dpbi1vYXV0aDItZGV2aWNlLXZlcmlmeS11c2VyLWNvZGUnXG4gICAgICAgICAgICApLnRoZW4oYyA9PiBjLkxvZ2luT2F1dGgyRGV2aWNlVmVyaWZ5VXNlckNvZGVDb21wb25lbnQpO1xuICAgICAgICBjYXNlICdsb2dpbi1vYXV0aC1ncmFudC5mdGwnOlxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydCgnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGFnZXMvbG9naW4tb2F1dGgtZ3JhbnQnKS50aGVuKFxuICAgICAgICAgICAgICAgIGMgPT4gYy5Mb2dpbk9hdXRoR3JhbnRDb21wb25lbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIGNhc2UgJ2xvZ2luLW90cC5mdGwnOlxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydCgnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGFnZXMvbG9naW4tb3RwJykudGhlbihcbiAgICAgICAgICAgICAgICBjID0+IGMuTG9naW5PdHBDb21wb25lbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIGNhc2UgJ2xvZ2luLXVwZGF0ZS1wcm9maWxlLmZ0bCc6XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KCdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9wYWdlcy9sb2dpbi11cGRhdGUtcHJvZmlsZScpLnRoZW4oXG4gICAgICAgICAgICAgICAgYyA9PiBjLkxvZ2luVXBkYXRlUHJvZmlsZUNvbXBvbmVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgY2FzZSAnbG9naW4tdXBkYXRlLXBhc3N3b3JkLmZ0bCc6XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KCdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9wYWdlcy9sb2dpbi11cGRhdGUtcGFzc3dvcmQnKS50aGVuKFxuICAgICAgICAgICAgICAgIGMgPT4gYy5Mb2dpblVwZGF0ZVBhc3N3b3JkQ29tcG9uZW50XG4gICAgICAgICAgICApO1xuICAgICAgICBjYXNlICdsb2dpbi1pZHAtbGluay1jb25maXJtLmZ0bCc6XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KCdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9wYWdlcy9sb2dpbi1pZHAtbGluay1jb25maXJtJykudGhlbihcbiAgICAgICAgICAgICAgICBjID0+IGMuTG9naW5JZHBMaW5rQ29uZmlybUNvbXBvbmVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgY2FzZSAnbG9naW4taWRwLWxpbmstZW1haWwuZnRsJzpcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BhZ2VzL2xvZ2luLWlkcC1saW5rLWVtYWlsJykudGhlbihcbiAgICAgICAgICAgICAgICBjID0+IGMuTG9naW5JZHBMaW5rRW1haWxDb21wb25lbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIGNhc2UgJ2xvZ2luLXBhZ2UtZXhwaXJlZC5mdGwnOlxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydCgnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGFnZXMvbG9naW4tcGFnZS1leHBpcmVkJykudGhlbihcbiAgICAgICAgICAgICAgICBjID0+IGMuTG9naW5QYWdlRXhwaXJlZENvbXBvbmVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgY2FzZSAnbG9naW4tY29uZmlnLXRvdHAuZnRsJzpcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BhZ2VzL2xvZ2luLWNvbmZpZy10b3RwJykudGhlbihcbiAgICAgICAgICAgICAgICBjID0+IGMuTG9naW5Db25maWdUb3RwQ29tcG9uZW50XG4gICAgICAgICAgICApO1xuICAgICAgICBjYXNlICdsb2dvdXQtY29uZmlybS5mdGwnOlxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydCgnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGFnZXMvbG9nb3V0LWNvbmZpcm0nKS50aGVuKFxuICAgICAgICAgICAgICAgIGMgPT4gYy5Mb2dvdXRDb25maXJtQ29tcG9uZW50XG4gICAgICAgICAgICApO1xuICAgICAgICBjYXNlICdpZHAtcmV2aWV3LXVzZXItcHJvZmlsZS5mdGwnOlxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydChcbiAgICAgICAgICAgICAgICAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGFnZXMvaWRwLXJldmlldy11c2VyLXByb2ZpbGUnXG4gICAgICAgICAgICApLnRoZW4oYyA9PiBjLklkcFJldmlld1VzZXJQcm9maWxlQ29tcG9uZW50KTtcbiAgICAgICAgY2FzZSAndXBkYXRlLWVtYWlsLmZ0bCc6XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KCdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9wYWdlcy91cGRhdGUtZW1haWwnKS50aGVuKFxuICAgICAgICAgICAgICAgIGMgPT4gYy5VcGRhdGVFbWFpbENvbXBvbmVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgY2FzZSAnc2VsZWN0LWF1dGhlbnRpY2F0b3IuZnRsJzpcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BhZ2VzL3NlbGVjdC1hdXRoZW50aWNhdG9yJykudGhlbihcbiAgICAgICAgICAgICAgICBjID0+IGMuU2VsZWN0QXV0aGVudGljYXRvckNvbXBvbmVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgY2FzZSAnc2FtbC1wb3N0LWZvcm0uZnRsJzpcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BhZ2VzL3NhbWwtcG9zdC1mb3JtJykudGhlbihcbiAgICAgICAgICAgICAgICBjID0+IGMuU2FtbFBvc3RGb3JtQ29tcG9uZW50XG4gICAgICAgICAgICApO1xuICAgICAgICBjYXNlICdkZWxldGUtY3JlZGVudGlhbC5mdGwnOlxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydCgnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGFnZXMvZGVsZXRlLWNyZWRlbnRpYWwnKS50aGVuKFxuICAgICAgICAgICAgICAgIGMgPT4gYy5EZWxldGVDcmVkZW50aWFsQ29tcG9uZW50XG4gICAgICAgICAgICApO1xuICAgICAgICBjYXNlICdjb2RlLmZ0bCc6XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KCdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9wYWdlcy9jb2RlJykudGhlbihcbiAgICAgICAgICAgICAgICBjID0+IGMuQ29kZUNvbXBvbmVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgY2FzZSAnZGVsZXRlLWFjY291bnQtY29uZmlybS5mdGwnOlxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydCgnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGFnZXMvZGVsZXRlLWFjY291bnQtY29uZmlybScpLnRoZW4oXG4gICAgICAgICAgICAgICAgYyA9PiBjLkRlbGV0ZUFjY291bnRDb25maXJtQ29tcG9uZW50XG4gICAgICAgICAgICApO1xuICAgICAgICBjYXNlICdmcm9udGNoYW5uZWwtbG9nb3V0LmZ0bCc6XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KCdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9wYWdlcy9mcm9udGNoYW5uZWwtbG9nb3V0JykudGhlbihcbiAgICAgICAgICAgICAgICBjID0+IGMuRnJvbnRjaGFubmVsTG9nb3V0Q29tcG9uZW50XG4gICAgICAgICAgICApO1xuICAgICAgICBjYXNlICdsb2dpbi1yZWNvdmVyeS1hdXRobi1jb2RlLWNvbmZpZy5mdGwnOlxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydChcbiAgICAgICAgICAgICAgICAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGFnZXMvbG9naW4tcmVjb3ZlcnktYXV0aG4tY29kZS1jb25maWcnXG4gICAgICAgICAgICApLnRoZW4oYyA9PiBjLkxvZ2luUmVjb3ZlcnlBdXRobkNvZGVDb25maWdDb21wb25lbnQpO1xuICAgICAgICBjYXNlICdsb2dpbi1yZWNvdmVyeS1hdXRobi1jb2RlLWlucHV0LmZ0bCc6XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KFxuICAgICAgICAgICAgICAgICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9wYWdlcy9sb2dpbi1yZWNvdmVyeS1hdXRobi1jb2RlLWlucHV0J1xuICAgICAgICAgICAgKS50aGVuKGMgPT4gYy5Mb2dpblJlY292ZXJ5QXV0aG5Db2RlSW5wdXRDb21wb25lbnQpO1xuICAgICAgICBjYXNlICdsb2dpbi1yZXNldC1vdHAuZnRsJzpcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BhZ2VzL2xvZ2luLXJlc2V0LW90cCcpLnRoZW4oXG4gICAgICAgICAgICAgICAgYyA9PiBjLkxvZ2luUmVzZXRPdHBDb21wb25lbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIGNhc2UgJ2xvZ2luLXg1MDktaW5mby5mdGwnOlxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydCgnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vcGFnZXMvbG9naW4teDUwOS1pbmZvJykudGhlbihcbiAgICAgICAgICAgICAgICBjID0+IGMuTG9naW5YNTA5SW5mb0NvbXBvbmVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgY2FzZSAnd2ViYXV0aG4tZXJyb3IuZnRsJzpcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BhZ2VzL3dlYmF1dGhuLWVycm9yJykudGhlbihcbiAgICAgICAgICAgICAgICBjID0+IGMuV2ViYXV0aG5FcnJvckNvbXBvbmVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgY2FzZSAnbG9naW4tcGFzc2tleXMtY29uZGl0aW9uYWwtYXV0aGVudGljYXRlLmZ0bCc6XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KFxuICAgICAgICAgICAgICAgICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi9wYWdlcy9sb2dpbi1wYXNza2V5cy1jb25kaXRpb25hbC1hdXRoZW50aWNhdGUnXG4gICAgICAgICAgICApLnRoZW4oYyA9PiBjLkxvZ2luUGFzc2tleXNDb25kaXRpb25hbEF1dGhlbnRpY2F0ZUNvbXBvbmVudCk7XG4gICAgICAgIGNhc2UgJ2xvZ2luLWlkcC1saW5rLWNvbmZpcm0tb3ZlcnJpZGUuZnRsJzpcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoXG4gICAgICAgICAgICAgICAgJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3BhZ2VzL2xvZ2luLWlkcC1saW5rLWNvbmZpcm0tb3ZlcnJpZGUnXG4gICAgICAgICAgICApLnRoZW4oYyA9PiBjLkxvZ2luSWRwTGlua0NvbmZpcm1PdmVycmlkZUNvbXBvbmVudCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2xvYWtpZnktYW5ndWxhci1sb2dpbi1nZXREZWZhdWx0UGFnZUNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9sb2dpbi9nZXREZWZhdWx0UGFnZUNvbXBvbmVudC9rZXljbG9ha2lmeS1hbmd1bGFyLWxvZ2luLWdldERlZmF1bHRQYWdlQ29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './getDefaultPageComponent';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9sb2dpbi9nZXREZWZhdWx0UGFnZUNvbXBvbmVudC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dldERlZmF1bHRQYWdlQ29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,83 @@
1
+ function getDefaultPageComponent(pageId) {
2
+ switch (pageId) {
3
+ case 'login.ftl':
4
+ return import('@keycloakify/angular/login/pages/login').then(c => c.LoginComponent);
5
+ case 'login-username.ftl':
6
+ return import('@keycloakify/angular/login/pages/login-username').then(c => c.LoginUsernameComponent);
7
+ case 'login-password.ftl':
8
+ return import('@keycloakify/angular/login/pages/login-password').then(c => c.LoginPasswordComponent);
9
+ case 'webauthn-authenticate.ftl':
10
+ return import('@keycloakify/angular/login/pages/webauthn-authenticate').then(c => c.WebauthnAuthenticateComponent);
11
+ case 'webauthn-register.ftl':
12
+ return import('@keycloakify/angular/login/pages/webauthn-register').then(c => c.WebauthnRegisterComponent);
13
+ case 'register.ftl':
14
+ return import('@keycloakify/angular/login/pages/register').then(c => c.RegisterComponent);
15
+ case 'info.ftl':
16
+ return import('@keycloakify/angular/login/pages/info').then(c => c.InfoComponent);
17
+ case 'error.ftl':
18
+ return import('@keycloakify/angular/login/pages/error').then(c => c.ErrorComponent);
19
+ case 'login-reset-password.ftl':
20
+ return import('@keycloakify/angular/login/pages/login-reset-password').then(c => c.LoginResetPasswordComponent);
21
+ case 'login-verify-email.ftl':
22
+ return import('@keycloakify/angular/login/pages/login-verify-email').then(c => c.LoginVerifyEmailComponent);
23
+ case 'terms.ftl':
24
+ return import('@keycloakify/angular/login/pages/terms').then(c => c.TermsComponent);
25
+ case 'login-oauth2-device-verify-user-code.ftl':
26
+ return import('@keycloakify/angular/login/pages/login-oauth2-device-verify-user-code').then(c => c.LoginOauth2DeviceVerifyUserCodeComponent);
27
+ case 'login-oauth-grant.ftl':
28
+ return import('@keycloakify/angular/login/pages/login-oauth-grant').then(c => c.LoginOauthGrantComponent);
29
+ case 'login-otp.ftl':
30
+ return import('@keycloakify/angular/login/pages/login-otp').then(c => c.LoginOtpComponent);
31
+ case 'login-update-profile.ftl':
32
+ return import('@keycloakify/angular/login/pages/login-update-profile').then(c => c.LoginUpdateProfileComponent);
33
+ case 'login-update-password.ftl':
34
+ return import('@keycloakify/angular/login/pages/login-update-password').then(c => c.LoginUpdatePasswordComponent);
35
+ case 'login-idp-link-confirm.ftl':
36
+ return import('@keycloakify/angular/login/pages/login-idp-link-confirm').then(c => c.LoginIdpLinkConfirmComponent);
37
+ case 'login-idp-link-email.ftl':
38
+ return import('@keycloakify/angular/login/pages/login-idp-link-email').then(c => c.LoginIdpLinkEmailComponent);
39
+ case 'login-page-expired.ftl':
40
+ return import('@keycloakify/angular/login/pages/login-page-expired').then(c => c.LoginPageExpiredComponent);
41
+ case 'login-config-totp.ftl':
42
+ return import('@keycloakify/angular/login/pages/login-config-totp').then(c => c.LoginConfigTotpComponent);
43
+ case 'logout-confirm.ftl':
44
+ return import('@keycloakify/angular/login/pages/logout-confirm').then(c => c.LogoutConfirmComponent);
45
+ case 'idp-review-user-profile.ftl':
46
+ return import('@keycloakify/angular/login/pages/idp-review-user-profile').then(c => c.IdpReviewUserProfileComponent);
47
+ case 'update-email.ftl':
48
+ return import('@keycloakify/angular/login/pages/update-email').then(c => c.UpdateEmailComponent);
49
+ case 'select-authenticator.ftl':
50
+ return import('@keycloakify/angular/login/pages/select-authenticator').then(c => c.SelectAuthenticatorComponent);
51
+ case 'saml-post-form.ftl':
52
+ return import('@keycloakify/angular/login/pages/saml-post-form').then(c => c.SamlPostFormComponent);
53
+ case 'delete-credential.ftl':
54
+ return import('@keycloakify/angular/login/pages/delete-credential').then(c => c.DeleteCredentialComponent);
55
+ case 'code.ftl':
56
+ return import('@keycloakify/angular/login/pages/code').then(c => c.CodeComponent);
57
+ case 'delete-account-confirm.ftl':
58
+ return import('@keycloakify/angular/login/pages/delete-account-confirm').then(c => c.DeleteAccountConfirmComponent);
59
+ case 'frontchannel-logout.ftl':
60
+ return import('@keycloakify/angular/login/pages/frontchannel-logout').then(c => c.FrontchannelLogoutComponent);
61
+ case 'login-recovery-authn-code-config.ftl':
62
+ return import('@keycloakify/angular/login/pages/login-recovery-authn-code-config').then(c => c.LoginRecoveryAuthnCodeConfigComponent);
63
+ case 'login-recovery-authn-code-input.ftl':
64
+ return import('@keycloakify/angular/login/pages/login-recovery-authn-code-input').then(c => c.LoginRecoveryAuthnCodeInputComponent);
65
+ case 'login-reset-otp.ftl':
66
+ return import('@keycloakify/angular/login/pages/login-reset-otp').then(c => c.LoginResetOtpComponent);
67
+ case 'login-x509-info.ftl':
68
+ return import('@keycloakify/angular/login/pages/login-x509-info').then(c => c.LoginX509InfoComponent);
69
+ case 'webauthn-error.ftl':
70
+ return import('@keycloakify/angular/login/pages/webauthn-error').then(c => c.WebauthnErrorComponent);
71
+ case 'login-passkeys-conditional-authenticate.ftl':
72
+ return import('@keycloakify/angular/login/pages/login-passkeys-conditional-authenticate').then(c => c.LoginPasskeysConditionalAuthenticateComponent);
73
+ case 'login-idp-link-confirm-override.ftl':
74
+ return import('@keycloakify/angular/login/pages/login-idp-link-confirm-override').then(c => c.LoginIdpLinkConfirmOverrideComponent);
75
+ }
76
+ }
77
+
78
+ /**
79
+ * Generated bundle index. Do not edit.
80
+ */
81
+
82
+ export { getDefaultPageComponent };
83
+ //# sourceMappingURL=keycloakify-angular-login-getDefaultPageComponent.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keycloakify-angular-login-getDefaultPageComponent.mjs","sources":["../../src/login/getDefaultPageComponent/getDefaultPageComponent.ts","../../src/login/getDefaultPageComponent/keycloakify-angular-login-getDefaultPageComponent.ts"],"sourcesContent":["import type { Type } from '@angular/core';\nimport type { KcContext } from '@keycloakify/angular/login/KcContext';\n\nexport function getDefaultPageComponent(\n pageId: KcContext['pageId']\n): Promise<Type<unknown>> {\n switch (pageId) {\n case 'login.ftl':\n return import('@keycloakify/angular/login/pages/login').then(\n c => c.LoginComponent\n );\n case 'login-username.ftl':\n return import('@keycloakify/angular/login/pages/login-username').then(\n c => c.LoginUsernameComponent\n );\n case 'login-password.ftl':\n return import('@keycloakify/angular/login/pages/login-password').then(\n c => c.LoginPasswordComponent\n );\n case 'webauthn-authenticate.ftl':\n return import('@keycloakify/angular/login/pages/webauthn-authenticate').then(\n c => c.WebauthnAuthenticateComponent\n );\n case 'webauthn-register.ftl':\n return import('@keycloakify/angular/login/pages/webauthn-register').then(\n c => c.WebauthnRegisterComponent\n );\n case 'register.ftl':\n return import('@keycloakify/angular/login/pages/register').then(\n c => c.RegisterComponent\n );\n case 'info.ftl':\n return import('@keycloakify/angular/login/pages/info').then(\n c => c.InfoComponent\n );\n case 'error.ftl':\n return import('@keycloakify/angular/login/pages/error').then(\n c => c.ErrorComponent\n );\n case 'login-reset-password.ftl':\n return import('@keycloakify/angular/login/pages/login-reset-password').then(\n c => c.LoginResetPasswordComponent\n );\n case 'login-verify-email.ftl':\n return import('@keycloakify/angular/login/pages/login-verify-email').then(\n c => c.LoginVerifyEmailComponent\n );\n case 'terms.ftl':\n return import('@keycloakify/angular/login/pages/terms').then(\n c => c.TermsComponent\n );\n case 'login-oauth2-device-verify-user-code.ftl':\n return import(\n '@keycloakify/angular/login/pages/login-oauth2-device-verify-user-code'\n ).then(c => c.LoginOauth2DeviceVerifyUserCodeComponent);\n case 'login-oauth-grant.ftl':\n return import('@keycloakify/angular/login/pages/login-oauth-grant').then(\n c => c.LoginOauthGrantComponent\n );\n case 'login-otp.ftl':\n return import('@keycloakify/angular/login/pages/login-otp').then(\n c => c.LoginOtpComponent\n );\n case 'login-update-profile.ftl':\n return import('@keycloakify/angular/login/pages/login-update-profile').then(\n c => c.LoginUpdateProfileComponent\n );\n case 'login-update-password.ftl':\n return import('@keycloakify/angular/login/pages/login-update-password').then(\n c => c.LoginUpdatePasswordComponent\n );\n case 'login-idp-link-confirm.ftl':\n return import('@keycloakify/angular/login/pages/login-idp-link-confirm').then(\n c => c.LoginIdpLinkConfirmComponent\n );\n case 'login-idp-link-email.ftl':\n return import('@keycloakify/angular/login/pages/login-idp-link-email').then(\n c => c.LoginIdpLinkEmailComponent\n );\n case 'login-page-expired.ftl':\n return import('@keycloakify/angular/login/pages/login-page-expired').then(\n c => c.LoginPageExpiredComponent\n );\n case 'login-config-totp.ftl':\n return import('@keycloakify/angular/login/pages/login-config-totp').then(\n c => c.LoginConfigTotpComponent\n );\n case 'logout-confirm.ftl':\n return import('@keycloakify/angular/login/pages/logout-confirm').then(\n c => c.LogoutConfirmComponent\n );\n case 'idp-review-user-profile.ftl':\n return import(\n '@keycloakify/angular/login/pages/idp-review-user-profile'\n ).then(c => c.IdpReviewUserProfileComponent);\n case 'update-email.ftl':\n return import('@keycloakify/angular/login/pages/update-email').then(\n c => c.UpdateEmailComponent\n );\n case 'select-authenticator.ftl':\n return import('@keycloakify/angular/login/pages/select-authenticator').then(\n c => c.SelectAuthenticatorComponent\n );\n case 'saml-post-form.ftl':\n return import('@keycloakify/angular/login/pages/saml-post-form').then(\n c => c.SamlPostFormComponent\n );\n case 'delete-credential.ftl':\n return import('@keycloakify/angular/login/pages/delete-credential').then(\n c => c.DeleteCredentialComponent\n );\n case 'code.ftl':\n return import('@keycloakify/angular/login/pages/code').then(\n c => c.CodeComponent\n );\n case 'delete-account-confirm.ftl':\n return import('@keycloakify/angular/login/pages/delete-account-confirm').then(\n c => c.DeleteAccountConfirmComponent\n );\n case 'frontchannel-logout.ftl':\n return import('@keycloakify/angular/login/pages/frontchannel-logout').then(\n c => c.FrontchannelLogoutComponent\n );\n case 'login-recovery-authn-code-config.ftl':\n return import(\n '@keycloakify/angular/login/pages/login-recovery-authn-code-config'\n ).then(c => c.LoginRecoveryAuthnCodeConfigComponent);\n case 'login-recovery-authn-code-input.ftl':\n return import(\n '@keycloakify/angular/login/pages/login-recovery-authn-code-input'\n ).then(c => c.LoginRecoveryAuthnCodeInputComponent);\n case 'login-reset-otp.ftl':\n return import('@keycloakify/angular/login/pages/login-reset-otp').then(\n c => c.LoginResetOtpComponent\n );\n case 'login-x509-info.ftl':\n return import('@keycloakify/angular/login/pages/login-x509-info').then(\n c => c.LoginX509InfoComponent\n );\n case 'webauthn-error.ftl':\n return import('@keycloakify/angular/login/pages/webauthn-error').then(\n c => c.WebauthnErrorComponent\n );\n case 'login-passkeys-conditional-authenticate.ftl':\n return import(\n '@keycloakify/angular/login/pages/login-passkeys-conditional-authenticate'\n ).then(c => c.LoginPasskeysConditionalAuthenticateComponent);\n case 'login-idp-link-confirm-override.ftl':\n return import(\n '@keycloakify/angular/login/pages/login-idp-link-confirm-override'\n ).then(c => c.LoginIdpLinkConfirmOverrideComponent);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAGM,SAAU,uBAAuB,CACnC,MAA2B,EAAA;IAE3B,QAAQ,MAAM;AACV,QAAA,KAAK,WAAW;AACZ,YAAA,OAAO,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACxD,CAAC,IAAI,CAAC,CAAC,cAAc,CACxB,CAAC;AACN,QAAA,KAAK,oBAAoB;AACrB,YAAA,OAAO,OAAO,iDAAiD,CAAC,CAAC,IAAI,CACjE,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAChC,CAAC;AACN,QAAA,KAAK,oBAAoB;AACrB,YAAA,OAAO,OAAO,iDAAiD,CAAC,CAAC,IAAI,CACjE,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAChC,CAAC;AACN,QAAA,KAAK,2BAA2B;AAC5B,YAAA,OAAO,OAAO,wDAAwD,CAAC,CAAC,IAAI,CACxE,CAAC,IAAI,CAAC,CAAC,6BAA6B,CACvC,CAAC;AACN,QAAA,KAAK,uBAAuB;AACxB,YAAA,OAAO,OAAO,oDAAoD,CAAC,CAAC,IAAI,CACpE,CAAC,IAAI,CAAC,CAAC,yBAAyB,CACnC,CAAC;AACN,QAAA,KAAK,cAAc;AACf,YAAA,OAAO,OAAO,2CAA2C,CAAC,CAAC,IAAI,CAC3D,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAC3B,CAAC;AACN,QAAA,KAAK,UAAU;AACX,YAAA,OAAO,OAAO,uCAAuC,CAAC,CAAC,IAAI,CACvD,CAAC,IAAI,CAAC,CAAC,aAAa,CACvB,CAAC;AACN,QAAA,KAAK,WAAW;AACZ,YAAA,OAAO,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACxD,CAAC,IAAI,CAAC,CAAC,cAAc,CACxB,CAAC;AACN,QAAA,KAAK,0BAA0B;AAC3B,YAAA,OAAO,OAAO,uDAAuD,CAAC,CAAC,IAAI,CACvE,CAAC,IAAI,CAAC,CAAC,2BAA2B,CACrC,CAAC;AACN,QAAA,KAAK,wBAAwB;AACzB,YAAA,OAAO,OAAO,qDAAqD,CAAC,CAAC,IAAI,CACrE,CAAC,IAAI,CAAC,CAAC,yBAAyB,CACnC,CAAC;AACN,QAAA,KAAK,WAAW;AACZ,YAAA,OAAO,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACxD,CAAC,IAAI,CAAC,CAAC,cAAc,CACxB,CAAC;AACN,QAAA,KAAK,0CAA0C;AAC3C,YAAA,OAAO,OACH,uEAAuE,CAC1E,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,wCAAwC,CAAC,CAAC;AAC5D,QAAA,KAAK,uBAAuB;AACxB,YAAA,OAAO,OAAO,oDAAoD,CAAC,CAAC,IAAI,CACpE,CAAC,IAAI,CAAC,CAAC,wBAAwB,CAClC,CAAC;AACN,QAAA,KAAK,eAAe;AAChB,YAAA,OAAO,OAAO,4CAA4C,CAAC,CAAC,IAAI,CAC5D,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAC3B,CAAC;AACN,QAAA,KAAK,0BAA0B;AAC3B,YAAA,OAAO,OAAO,uDAAuD,CAAC,CAAC,IAAI,CACvE,CAAC,IAAI,CAAC,CAAC,2BAA2B,CACrC,CAAC;AACN,QAAA,KAAK,2BAA2B;AAC5B,YAAA,OAAO,OAAO,wDAAwD,CAAC,CAAC,IAAI,CACxE,CAAC,IAAI,CAAC,CAAC,4BAA4B,CACtC,CAAC;AACN,QAAA,KAAK,4BAA4B;AAC7B,YAAA,OAAO,OAAO,yDAAyD,CAAC,CAAC,IAAI,CACzE,CAAC,IAAI,CAAC,CAAC,4BAA4B,CACtC,CAAC;AACN,QAAA,KAAK,0BAA0B;AAC3B,YAAA,OAAO,OAAO,uDAAuD,CAAC,CAAC,IAAI,CACvE,CAAC,IAAI,CAAC,CAAC,0BAA0B,CACpC,CAAC;AACN,QAAA,KAAK,wBAAwB;AACzB,YAAA,OAAO,OAAO,qDAAqD,CAAC,CAAC,IAAI,CACrE,CAAC,IAAI,CAAC,CAAC,yBAAyB,CACnC,CAAC;AACN,QAAA,KAAK,uBAAuB;AACxB,YAAA,OAAO,OAAO,oDAAoD,CAAC,CAAC,IAAI,CACpE,CAAC,IAAI,CAAC,CAAC,wBAAwB,CAClC,CAAC;AACN,QAAA,KAAK,oBAAoB;AACrB,YAAA,OAAO,OAAO,iDAAiD,CAAC,CAAC,IAAI,CACjE,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAChC,CAAC;AACN,QAAA,KAAK,6BAA6B;AAC9B,YAAA,OAAO,OACH,0DAA0D,CAC7D,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,6BAA6B,CAAC,CAAC;AACjD,QAAA,KAAK,kBAAkB;AACnB,YAAA,OAAO,OAAO,+CAA+C,CAAC,CAAC,IAAI,CAC/D,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAC9B,CAAC;AACN,QAAA,KAAK,0BAA0B;AAC3B,YAAA,OAAO,OAAO,uDAAuD,CAAC,CAAC,IAAI,CACvE,CAAC,IAAI,CAAC,CAAC,4BAA4B,CACtC,CAAC;AACN,QAAA,KAAK,oBAAoB;AACrB,YAAA,OAAO,OAAO,iDAAiD,CAAC,CAAC,IAAI,CACjE,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAC/B,CAAC;AACN,QAAA,KAAK,uBAAuB;AACxB,YAAA,OAAO,OAAO,oDAAoD,CAAC,CAAC,IAAI,CACpE,CAAC,IAAI,CAAC,CAAC,yBAAyB,CACnC,CAAC;AACN,QAAA,KAAK,UAAU;AACX,YAAA,OAAO,OAAO,uCAAuC,CAAC,CAAC,IAAI,CACvD,CAAC,IAAI,CAAC,CAAC,aAAa,CACvB,CAAC;AACN,QAAA,KAAK,4BAA4B;AAC7B,YAAA,OAAO,OAAO,yDAAyD,CAAC,CAAC,IAAI,CACzE,CAAC,IAAI,CAAC,CAAC,6BAA6B,CACvC,CAAC;AACN,QAAA,KAAK,yBAAyB;AAC1B,YAAA,OAAO,OAAO,sDAAsD,CAAC,CAAC,IAAI,CACtE,CAAC,IAAI,CAAC,CAAC,2BAA2B,CACrC,CAAC;AACN,QAAA,KAAK,sCAAsC;AACvC,YAAA,OAAO,OACH,mEAAmE,CACtE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,qCAAqC,CAAC,CAAC;AACzD,QAAA,KAAK,qCAAqC;AACtC,YAAA,OAAO,OACH,kEAAkE,CACrE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,oCAAoC,CAAC,CAAC;AACxD,QAAA,KAAK,qBAAqB;AACtB,YAAA,OAAO,OAAO,kDAAkD,CAAC,CAAC,IAAI,CAClE,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAChC,CAAC;AACN,QAAA,KAAK,qBAAqB;AACtB,YAAA,OAAO,OAAO,kDAAkD,CAAC,CAAC,IAAI,CAClE,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAChC,CAAC;AACN,QAAA,KAAK,oBAAoB;AACrB,YAAA,OAAO,OAAO,iDAAiD,CAAC,CAAC,IAAI,CACjE,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAChC,CAAC;AACN,QAAA,KAAK,6CAA6C;AAC9C,YAAA,OAAO,OACH,0EAA0E,CAC7E,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,6CAA6C,CAAC,CAAC;AACjE,QAAA,KAAK,qCAAqC;AACtC,YAAA,OAAO,OACH,kEAAkE,CACrE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,oCAAoC,CAAC,CAAC;KAC3D;AACL;;ACxJA;;AAEG;;;;"}
@@ -0,0 +1,3 @@
1
+ import type { Type } from '@angular/core';
2
+ import type { KcContext } from '@keycloakify/angular/login/KcContext';
3
+ export declare function getDefaultPageComponent(pageId: KcContext['pageId']): Promise<Type<unknown>>;
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
- /// <amd-module name="@keycloakify/angular/login/DefaultPage" />
4
+ /// <amd-module name="@keycloakify/angular/login/getDefaultPageComponent" />
5
5
  export * from './public-api';
@@ -0,0 +1 @@
1
+ export * from './getDefaultPageComponent';
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@keycloakify/angular",
3
- "version": "0.0.1-rc.19",
3
+ "version": "0.0.1-rc.20",
4
4
  "peerDependencies": {
5
- "keycloakify": "^11.2.4",
5
+ "keycloakify": "11.3.0-rc.2",
6
6
  "@angular/core": "^18.0.0",
7
7
  "@angular/common": "^18.0.0",
8
8
  "@angular/platform-browser": "^18.0.0"
@@ -51,18 +51,18 @@
51
51
  "esm": "./esm2022/account/i18n/keycloakify-angular-account-i18n.mjs",
52
52
  "default": "./fesm2022/keycloakify-angular-account-i18n.mjs"
53
53
  },
54
- "./login/DefaultPage": {
55
- "types": "./login/DefaultPage/index.d.ts",
56
- "esm2022": "./esm2022/login/DefaultPage/keycloakify-angular-login-DefaultPage.mjs",
57
- "esm": "./esm2022/login/DefaultPage/keycloakify-angular-login-DefaultPage.mjs",
58
- "default": "./fesm2022/keycloakify-angular-login-DefaultPage.mjs"
59
- },
60
54
  "./login/KcContext": {
61
55
  "types": "./login/KcContext/index.d.ts",
62
56
  "esm2022": "./esm2022/login/KcContext/keycloakify-angular-login-KcContext.mjs",
63
57
  "esm": "./esm2022/login/KcContext/keycloakify-angular-login-KcContext.mjs",
64
58
  "default": "./fesm2022/keycloakify-angular-login-KcContext.mjs"
65
59
  },
60
+ "./login/getDefaultPageComponent": {
61
+ "types": "./login/getDefaultPageComponent/index.d.ts",
62
+ "esm2022": "./esm2022/login/getDefaultPageComponent/keycloakify-angular-login-getDefaultPageComponent.mjs",
63
+ "esm": "./esm2022/login/getDefaultPageComponent/keycloakify-angular-login-getDefaultPageComponent.mjs",
64
+ "default": "./fesm2022/keycloakify-angular-login-getDefaultPageComponent.mjs"
65
+ },
66
66
  "./login/i18n": {
67
67
  "types": "./login/i18n/index.d.ts",
68
68
  "esm2022": "./esm2022/login/i18n/keycloakify-angular-login-i18n.mjs",
@@ -303,12 +303,6 @@
303
303
  "esm": "./esm2022/login/directives/kc-class/keycloakify-angular-login-directives-kc-class.mjs",
304
304
  "default": "./fesm2022/keycloakify-angular-login-directives-kc-class.mjs"
305
305
  },
306
- "./login/providers/keycloakify-angular": {
307
- "types": "./login/providers/keycloakify-angular/index.d.ts",
308
- "esm2022": "./esm2022/login/providers/keycloakify-angular/keycloakify-angular-login-providers-keycloakify-angular.mjs",
309
- "esm": "./esm2022/login/providers/keycloakify-angular/keycloakify-angular-login-providers-keycloakify-angular.mjs",
310
- "default": "./fesm2022/keycloakify-angular-login-providers-keycloakify-angular.mjs"
311
- },
312
306
  "./login/pages/code": {
313
307
  "types": "./login/pages/code/index.d.ts",
314
308
  "esm2022": "./esm2022/login/pages/code/keycloakify-angular-login-pages-code.mjs",
@@ -525,6 +519,12 @@
525
519
  "esm": "./esm2022/login/pages/webauthn-register/keycloakify-angular-login-pages-webauthn-register.mjs",
526
520
  "default": "./fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs"
527
521
  },
522
+ "./login/providers/keycloakify-angular": {
523
+ "types": "./login/providers/keycloakify-angular/index.d.ts",
524
+ "esm2022": "./esm2022/login/providers/keycloakify-angular/keycloakify-angular-login-providers-keycloakify-angular.mjs",
525
+ "esm": "./esm2022/login/providers/keycloakify-angular/keycloakify-angular-login-providers-keycloakify-angular.mjs",
526
+ "default": "./fesm2022/keycloakify-angular-login-providers-keycloakify-angular.mjs"
527
+ },
528
528
  "./login/services/i18n": {
529
529
  "types": "./login/services/i18n/index.d.ts",
530
530
  "esm2022": "./esm2022/login/services/i18n/keycloakify-angular-login-services-i18n.mjs",
@@ -586,5 +586,8 @@
586
586
  "type": "git",
587
587
  "url": "git://github.com/keycloakify/keycloakify-angular.git"
588
588
  },
589
- "homepage": "https://www.keycloakify.dev"
589
+ "homepage": "https://www.keycloakify.dev",
590
+ "bin": {
591
+ "_keycloakify-custom-handler": "bin/main.js"
592
+ }
590
593
  }