@keycloakify/angular 21.1.0 → 21.1.2

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.
@@ -27,7 +27,7 @@ class LinkIdpActionComponent extends ComponentReference {
27
27
  provide: ComponentReference,
28
28
  useExisting: forwardRef(() => LinkIdpActionComponent)
29
29
  }
30
- ], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let idpDisplayName = kcContext.idpDisplayName;\n@let url = kcContext.url;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('linkIdpActionTitle', idpDisplayName) }}\n</ng-template>\n<div\n id=\"kc-link-text\"\n [kcClass]=\"'kcContentWrapperClass'\"\n>\n {{ i18n.msgStr('linkIdpActionMessage', idpDisplayName) }}\n</div>\n<form\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n method=\"post\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n name=\"continue\"\n id=\"kc-continue\"\n type=\"submit\"\n [value]=\"i18n.msgStr('doContinue')\"\n />\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n name=\"cancel-aia\"\n id=\"kc-cancel\"\n type=\"submit\"\n [value]=\"i18n.msgStr('doCancel')\"\n />\n </div>\n </div>\n</form>\n<div className=\"clearfix\"></div>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
+ ], viewQueries: [{ propertyName: "headerNode", first: true, predicate: ["headerNode"], descendants: true, isSignal: true }, { propertyName: "infoNode", first: true, predicate: ["infoNode"], descendants: true, isSignal: true }, { propertyName: "socialProvidersNode", first: true, predicate: ["socialProvidersNode"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let idpDisplayName = kcContext.idpDisplayName;\n@let url = kcContext.url;\n\n<ng-template #headerNode>\n @let idpDisplayName = kcContext.idpDisplayName;\n {{ i18n.msgStr('linkIdpActionTitle', idpDisplayName) }}\n</ng-template>\n<div\n id=\"kc-link-text\"\n [kcClass]=\"'kcContentWrapperClass'\"\n>\n {{ i18n.msgStr('linkIdpActionMessage', idpDisplayName) }}\n</div>\n<form\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n method=\"post\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n name=\"continue\"\n id=\"kc-continue\"\n type=\"submit\"\n [value]=\"i18n.msgStr('doContinue')\"\n />\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n name=\"cancel-aia\"\n id=\"kc-cancel\"\n type=\"submit\"\n [value]=\"i18n.msgStr('doCancel')\"\n />\n </div>\n </div>\n</form>\n<div className=\"clearfix\"></div>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
31
  }
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: LinkIdpActionComponent, decorators: [{
33
33
  type: Component,
@@ -36,7 +36,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
36
36
  provide: ComponentReference,
37
37
  useExisting: forwardRef(() => LinkIdpActionComponent)
38
38
  }
39
- ], template: "@let idpDisplayName = kcContext.idpDisplayName;\n@let url = kcContext.url;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('linkIdpActionTitle', idpDisplayName) }}\n</ng-template>\n<div\n id=\"kc-link-text\"\n [kcClass]=\"'kcContentWrapperClass'\"\n>\n {{ i18n.msgStr('linkIdpActionMessage', idpDisplayName) }}\n</div>\n<form\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n method=\"post\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n name=\"continue\"\n id=\"kc-continue\"\n type=\"submit\"\n [value]=\"i18n.msgStr('doContinue')\"\n />\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n name=\"cancel-aia\"\n id=\"kc-cancel\"\n type=\"submit\"\n [value]=\"i18n.msgStr('doCancel')\"\n />\n </div>\n </div>\n</form>\n<div className=\"clearfix\"></div>\n" }]
39
+ ], template: "@let idpDisplayName = kcContext.idpDisplayName;\n@let url = kcContext.url;\n\n<ng-template #headerNode>\n @let idpDisplayName = kcContext.idpDisplayName;\n {{ i18n.msgStr('linkIdpActionTitle', idpDisplayName) }}\n</ng-template>\n<div\n id=\"kc-link-text\"\n [kcClass]=\"'kcContentWrapperClass'\"\n>\n {{ i18n.msgStr('linkIdpActionMessage', idpDisplayName) }}\n</div>\n<form\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n method=\"post\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n name=\"continue\"\n id=\"kc-continue\"\n type=\"submit\"\n [value]=\"i18n.msgStr('doContinue')\"\n />\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n name=\"cancel-aia\"\n id=\"kc-cancel\"\n type=\"submit\"\n [value]=\"i18n.msgStr('doCancel')\"\n />\n </div>\n </div>\n</form>\n<div className=\"clearfix\"></div>\n" }]
40
40
  }], propDecorators: { headerNode: [{ type: i0.ViewChild, args: ['headerNode', { isSignal: true }] }], infoNode: [{ type: i0.ViewChild, args: ['infoNode', { isSignal: true }] }], socialProvidersNode: [{ type: i0.ViewChild, args: ['socialProvidersNode', { isSignal: true }] }] } });
41
41
 
42
42
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login-pages-link-idp-action.mjs","sources":["../../src/login/pages/link-idp-action/link-idp-action.component.ts","../../src/login/pages/link-idp-action/link-idp-action.component.html","../../src/login/pages/link-idp-action/keycloakify-angular-login-pages-link-idp-action.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';\nimport type { I18n } from '@keycloakify/angular/login/i18n';\nimport type { KcContext } from '@keycloakify/angular/login/KcContext';\nimport { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';\nimport { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';\nimport type { ClassKey } from 'keycloakify/login/lib/kcClsx';\n\n@Component({\n imports: [KcClassDirective],\n selector: 'kc-link-idp-action',\n templateUrl: 'link-idp-action.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => LinkIdpActionComponent)\n }\n ]\n})\nexport class LinkIdpActionComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'link-idp-action.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\n\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);\n\n documentTitle: string | undefined;\n bodyClassName: string | undefined;\n\n displayRequiredFields = false;\n displayInfo = false;\n displayMessage = false;\n\n headerNode = viewChild<TemplateRef<HTMLElement>>('headerNode');\n infoNode = viewChild<TemplateRef<HTMLElement>>('infoNode');\n socialProvidersNode = viewChild<TemplateRef<HTMLElement>>('socialProvidersNode');\n}\n","@let idpDisplayName = kcContext.idpDisplayName;\n@let url = kcContext.url;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('linkIdpActionTitle', idpDisplayName) }}\n</ng-template>\n<div\n id=\"kc-link-text\"\n [kcClass]=\"'kcContentWrapperClass'\"\n>\n {{ i18n.msgStr('linkIdpActionMessage', idpDisplayName) }}\n</div>\n<form\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n method=\"post\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n name=\"continue\"\n id=\"kc-continue\"\n type=\"submit\"\n [value]=\"i18n.msgStr('doContinue')\"\n />\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n name=\"cancel-aia\"\n id=\"kc-cancel\"\n type=\"submit\"\n [value]=\"i18n.msgStr('doCancel')\"\n />\n </div>\n </div>\n</form>\n<div className=\"clearfix\"></div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keycloakify-angular-login-pages-link-idp-action.mjs","sources":["../../src/login/pages/link-idp-action/link-idp-action.component.ts","../../src/login/pages/link-idp-action/link-idp-action.component.html","../../src/login/pages/link-idp-action/keycloakify-angular-login-pages-link-idp-action.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';\nimport type { I18n } from '@keycloakify/angular/login/i18n';\nimport type { KcContext } from '@keycloakify/angular/login/KcContext';\nimport { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';\nimport { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';\nimport type { ClassKey } from 'keycloakify/login/lib/kcClsx';\n\n@Component({\n imports: [KcClassDirective],\n selector: 'kc-link-idp-action',\n templateUrl: 'link-idp-action.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => LinkIdpActionComponent)\n }\n ]\n})\nexport class LinkIdpActionComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'link-idp-action.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\n\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);\n\n documentTitle: string | undefined;\n bodyClassName: string | undefined;\n\n displayRequiredFields = false;\n displayInfo = false;\n displayMessage = false;\n\n headerNode = viewChild<TemplateRef<HTMLElement>>('headerNode');\n infoNode = viewChild<TemplateRef<HTMLElement>>('infoNode');\n socialProvidersNode = viewChild<TemplateRef<HTMLElement>>('socialProvidersNode');\n}\n","@let idpDisplayName = kcContext.idpDisplayName;\n@let url = kcContext.url;\n\n<ng-template #headerNode>\n @let idpDisplayName = kcContext.idpDisplayName;\n {{ i18n.msgStr('linkIdpActionTitle', idpDisplayName) }}\n</ng-template>\n<div\n id=\"kc-link-text\"\n [kcClass]=\"'kcContentWrapperClass'\"\n>\n {{ i18n.msgStr('linkIdpActionMessage', idpDisplayName) }}\n</div>\n<form\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n method=\"post\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n name=\"continue\"\n id=\"kc-continue\"\n type=\"submit\"\n [value]=\"i18n.msgStr('doContinue')\"\n />\n <input\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n name=\"cancel-aia\"\n id=\"kc-cancel\"\n type=\"submit\"\n [value]=\"i18n.msgStr('doCancel')\"\n />\n </div>\n </div>\n</form>\n<div className=\"clearfix\"></div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAuBM,MAAO,sBAAuB,SAAQ,kBAAkB,CAAA;AAZ9D,IAAA,WAAA,GAAA;;AAaI,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAwD,gBAAgB,CAAC;AAC3F,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAO,UAAU,CAAC;AAEtB,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAU,eAAe,CAAC;AAClD,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAoC,aAAa,CAAC;QAK3E,IAAA,CAAA,qBAAqB,GAAG,KAAK;QAC7B,IAAA,CAAA,WAAW,GAAG,KAAK;QACnB,IAAA,CAAA,cAAc,GAAG,KAAK;AAEtB,QAAA,IAAA,CAAA,UAAU,GAAG,SAAS,CAA2B,YAAY,iFAAC;AAC9D,QAAA,IAAA,CAAA,QAAQ,GAAG,SAAS,CAA2B,UAAU,+EAAC;AAC1D,QAAA,IAAA,CAAA,mBAAmB,GAAG,SAAS,CAA2B,qBAAqB,0FAAC;AACnF,IAAA;8GAjBY,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,SAAA,EAPpB;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB;AACvD;SACJ,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrBL,uwCAyCA,4CD7Bc,gBAAgB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAWjB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAZlC,SAAS;8BACG,CAAC,gBAAgB,CAAC,EAAA,QAAA,EACjB,oBAAoB,mBAEb,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B;AACvD;AACJ,qBAAA,EAAA,QAAA,EAAA,uwCAAA,EAAA;wEAgBgD,YAAY,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACd,UAAU,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACC,qBAAqB,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEvCnF;;AAEG;;;;"}
@@ -46,6 +46,8 @@ function getDefaultPageComponent(pageId) {
46
46
  return import('@keycloakify/angular/login/pages/logout-confirm').then(c => c.LogoutConfirmComponent);
47
47
  case 'idp-review-user-profile.ftl':
48
48
  return import('@keycloakify/angular/login/pages/idp-review-user-profile').then(c => c.IdpReviewUserProfileComponent);
49
+ case 'link-idp-action.ftl':
50
+ return import('@keycloakify/angular/login/pages/link-idp-action').then(c => c.LinkIdpActionComponent);
49
51
  case 'update-email.ftl':
50
52
  return import('@keycloakify/angular/login/pages/update-email').then(c => c.UpdateEmailComponent);
51
53
  case 'select-authenticator.ftl':
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login.mjs","sources":["../../src/login/defaultPage.ts","../../src/login/keycloakify-angular-login.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('@keycloakify/angular/login/pages/login-oauth2-device-verify-user-code').then(\n c => c.LoginOauth2DeviceVerifyUserCodeComponent\n );\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('@keycloakify/angular/login/pages/idp-review-user-profile').then(\n c => c.IdpReviewUserProfileComponent\n );\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('@keycloakify/angular/login/pages/login-recovery-authn-code-config').then(\n c => c.LoginRecoveryAuthnCodeConfigComponent\n );\n case 'login-recovery-authn-code-input.ftl':\n return import('@keycloakify/angular/login/pages/login-recovery-authn-code-input').then(\n c => c.LoginRecoveryAuthnCodeInputComponent\n );\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('@keycloakify/angular/login/pages/login-passkeys-conditional-authenticate').then(\n c => c.LoginPasskeysConditionalAuthenticateComponent\n );\n case 'login-idp-link-confirm-override.ftl':\n return import('@keycloakify/angular/login/pages/login-idp-link-confirm-override').then(\n c => c.LoginIdpLinkConfirmOverrideComponent\n );\n default:\n throw new Error(`FTL page \"${pageId}\" not found!`);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keycloakify-angular-login.mjs","sources":["../../src/login/defaultPage.ts","../../src/login/keycloakify-angular-login.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('@keycloakify/angular/login/pages/login-oauth2-device-verify-user-code').then(\n c => c.LoginOauth2DeviceVerifyUserCodeComponent\n );\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('@keycloakify/angular/login/pages/idp-review-user-profile').then(\n c => c.IdpReviewUserProfileComponent\n );\n case 'link-idp-action.ftl':\n return import('@keycloakify/angular/login/pages/link-idp-action').then(\n c => c.LinkIdpActionComponent\n );\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('@keycloakify/angular/login/pages/login-recovery-authn-code-config').then(\n c => c.LoginRecoveryAuthnCodeConfigComponent\n );\n case 'login-recovery-authn-code-input.ftl':\n return import('@keycloakify/angular/login/pages/login-recovery-authn-code-input').then(\n c => c.LoginRecoveryAuthnCodeInputComponent\n );\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('@keycloakify/angular/login/pages/login-passkeys-conditional-authenticate').then(\n c => c.LoginPasskeysConditionalAuthenticateComponent\n );\n case 'login-idp-link-confirm-override.ftl':\n return import('@keycloakify/angular/login/pages/login-idp-link-confirm-override').then(\n c => c.LoginIdpLinkConfirmOverrideComponent\n );\n default:\n throw new Error(`FTL page \"${pageId}\" not found!`);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@keycloakify/angular",
3
3
  "type": "module",
4
- "version": "21.1.0",
4
+ "version": "21.1.2",
5
5
  "peerDependencies": {
6
6
  "keycloakify": "^11.13.0",
7
7
  "@angular/core": "^21.0.0",
@@ -93,6 +93,10 @@ export function getDefaultPageComponent(
93
93
  return import('@keycloakify/angular/login/pages/idp-review-user-profile').then(
94
94
  c => c.IdpReviewUserProfileComponent
95
95
  );
96
+ case 'link-idp-action.ftl':
97
+ return import('@keycloakify/angular/login/pages/link-idp-action').then(
98
+ c => c.LinkIdpActionComponent
99
+ );
96
100
  case 'update-email.ftl':
97
101
  return import('@keycloakify/angular/login/pages/update-email').then(
98
102
  c => c.UpdateEmailComponent
@@ -2,6 +2,7 @@
2
2
  @let url = kcContext.url;
3
3
 
4
4
  <ng-template #headerNode>
5
+ @let idpDisplayName = kcContext.idpDisplayName;
5
6
  {{ i18n.msgStr('linkIdpActionTitle', idpDisplayName) }}
6
7
  </ng-template>
7
8
  <div