@keycloakify/angular 21.0.0-rc.2 → 21.0.0-rc.4

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.
Files changed (131) hide show
  1. package/bin/187.index.js +64 -70
  2. package/bin/476.index.js +62 -68
  3. package/bin/{343.index.js → 644.index.js} +2287 -1200
  4. package/bin/671.index.js +79 -74
  5. package/bin/942.index.js +62 -68
  6. package/bin/index.js +12 -9
  7. package/fesm2022/keycloakify-angular-account-directives-kc-class.mjs +3 -3
  8. package/fesm2022/keycloakify-angular-account-pages-account.mjs +3 -3
  9. package/fesm2022/keycloakify-angular-account-pages-applications.mjs +3 -3
  10. package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs +3 -3
  11. package/fesm2022/keycloakify-angular-account-pages-log.mjs +3 -3
  12. package/fesm2022/keycloakify-angular-account-pages-password.mjs +10 -10
  13. package/fesm2022/keycloakify-angular-account-pages-password.mjs.map +1 -1
  14. package/fesm2022/keycloakify-angular-account-pages-sessions.mjs +3 -3
  15. package/fesm2022/keycloakify-angular-account-pages-totp.mjs +3 -3
  16. package/fesm2022/keycloakify-angular-account-services-account-resource-injector.mjs +3 -3
  17. package/fesm2022/keycloakify-angular-account-services-i18n.mjs +3 -3
  18. package/fesm2022/keycloakify-angular-account-template.mjs +4 -4
  19. package/fesm2022/keycloakify-angular-account-template.mjs.map +1 -1
  20. package/fesm2022/keycloakify-angular-lib-directives-attributes.mjs +4 -4
  21. package/fesm2022/keycloakify-angular-lib-directives-attributes.mjs.map +1 -1
  22. package/fesm2022/keycloakify-angular-lib-pipes-input-type.mjs +3 -3
  23. package/fesm2022/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs +3 -3
  24. package/fesm2022/keycloakify-angular-lib-pipes-kc-sanitize.mjs +3 -3
  25. package/fesm2022/keycloakify-angular-lib-pipes-to-array.mjs +3 -3
  26. package/fesm2022/keycloakify-angular-lib-pipes-to-number.mjs +3 -3
  27. package/fesm2022/keycloakify-angular-lib-services-resource-injector.mjs +3 -3
  28. package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs +8 -8
  29. package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs.map +1 -1
  30. package/fesm2022/keycloakify-angular-login-components-field-errors.mjs +6 -6
  31. package/fesm2022/keycloakify-angular-login-components-field-errors.mjs.map +1 -1
  32. package/fesm2022/keycloakify-angular-login-components-group-label.mjs +6 -6
  33. package/fesm2022/keycloakify-angular-login-components-group-label.mjs.map +1 -1
  34. package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs +7 -7
  35. package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs.map +1 -1
  36. package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs +8 -8
  37. package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs.map +1 -1
  38. package/fesm2022/keycloakify-angular-login-components-input-tag.mjs +9 -9
  39. package/fesm2022/keycloakify-angular-login-components-input-tag.mjs.map +1 -1
  40. package/fesm2022/keycloakify-angular-login-components-logout-other-sessions.mjs +3 -3
  41. package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs +5 -5
  42. package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs.map +1 -1
  43. package/fesm2022/keycloakify-angular-login-components-select-tag.mjs +8 -8
  44. package/fesm2022/keycloakify-angular-login-components-select-tag.mjs.map +1 -1
  45. package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs +6 -6
  46. package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs.map +1 -1
  47. package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs +3 -3
  48. package/fesm2022/keycloakify-angular-login-directives-kc-class.mjs +3 -3
  49. package/fesm2022/keycloakify-angular-login-pages-code.mjs +6 -6
  50. package/fesm2022/keycloakify-angular-login-pages-code.mjs.map +1 -1
  51. package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs +6 -6
  52. package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs.map +1 -1
  53. package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs +6 -6
  54. package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs.map +1 -1
  55. package/fesm2022/keycloakify-angular-login-pages-error.mjs +6 -6
  56. package/fesm2022/keycloakify-angular-login-pages-error.mjs.map +1 -1
  57. package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs +7 -7
  58. package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs.map +1 -1
  59. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs +7 -7
  60. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs.map +1 -1
  61. package/fesm2022/keycloakify-angular-login-pages-info.mjs +6 -6
  62. package/fesm2022/keycloakify-angular-login-pages-info.mjs.map +1 -1
  63. package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs +6 -6
  64. package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs.map +1 -1
  65. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs +6 -6
  66. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs.map +1 -1
  67. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs +6 -6
  68. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs.map +1 -1
  69. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs +6 -6
  70. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs.map +1 -1
  71. package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs +6 -6
  72. package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs.map +1 -1
  73. package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs +6 -6
  74. package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs.map +1 -1
  75. package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs +6 -6
  76. package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs.map +1 -1
  77. package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs +6 -6
  78. package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs.map +1 -1
  79. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +6 -6
  80. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs.map +1 -1
  81. package/fesm2022/keycloakify-angular-login-pages-login-password.mjs +7 -7
  82. package/fesm2022/keycloakify-angular-login-pages-login-password.mjs.map +1 -1
  83. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs +7 -7
  84. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs.map +1 -1
  85. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +6 -6
  86. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs.map +1 -1
  87. package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs +6 -6
  88. package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs.map +1 -1
  89. package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs +6 -6
  90. package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs.map +1 -1
  91. package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs +6 -6
  92. package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs.map +1 -1
  93. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs +7 -7
  94. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs.map +1 -1
  95. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs +7 -7
  96. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs.map +1 -1
  97. package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs +6 -6
  98. package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs.map +1 -1
  99. package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs +6 -6
  100. package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs.map +1 -1
  101. package/fesm2022/keycloakify-angular-login-pages-login.mjs +7 -7
  102. package/fesm2022/keycloakify-angular-login-pages-login.mjs.map +1 -1
  103. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs +6 -6
  104. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs.map +1 -1
  105. package/fesm2022/keycloakify-angular-login-pages-register.mjs +8 -8
  106. package/fesm2022/keycloakify-angular-login-pages-register.mjs.map +1 -1
  107. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs +7 -7
  108. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs.map +1 -1
  109. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs +6 -6
  110. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs.map +1 -1
  111. package/fesm2022/keycloakify-angular-login-pages-terms.mjs +6 -6
  112. package/fesm2022/keycloakify-angular-login-pages-terms.mjs.map +1 -1
  113. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs +7 -7
  114. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs.map +1 -1
  115. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs +6 -6
  116. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs.map +1 -1
  117. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs +6 -6
  118. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs.map +1 -1
  119. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs +6 -6
  120. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs.map +1 -1
  121. package/fesm2022/keycloakify-angular-login-services-i18n.mjs +3 -3
  122. package/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs +3 -3
  123. package/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs +3 -3
  124. package/fesm2022/keycloakify-angular-login-template.mjs +8 -8
  125. package/fesm2022/keycloakify-angular-login-template.mjs.map +1 -1
  126. package/package.json +1 -1
  127. package/src/bin/eject-page.ts +27 -10
  128. package/src/bin/tools/getThisCodebaseRootDirPath.ts +7 -0
  129. package/src/bin/tools/nodeModulesBinDirPath.ts +34 -1
  130. package/src/bin/tools/runPrettier.ts +43 -39
  131. package/src/bin/tools/readThisNpmPackageVersion.ts +0 -24
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login-pages-frontchannel-logout.mjs","sources":["../../src/login/pages/frontchannel-logout/frontchannel-logout.component.ts","../../src/login/pages/frontchannel-logout/frontchannel-logout.component.html","../../src/login/pages/frontchannel-logout/keycloakify-angular-login-pages-frontchannel-logout.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild, signal, effect } from '@angular/core';\nimport { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\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: [KcSanitizePipe],\n selector: 'kc-frontchannel-logout',\n templateUrl: 'frontchannel-logout.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => FrontchannelLogoutComponent)\n }\n ]\n})\nexport class FrontchannelLogoutComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'frontchannel-logout.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 = this.i18n.msgStr('frontchannel-logout.title');\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 readonly iframeLoadCount = signal(0);\n\n constructor() {\n super();\n effect(() => {\n const logout = this.kcContext.logout;\n if (!logout.logoutRedirectUri) {\n return;\n }\n if (this.iframeLoadCount() !== logout.clients.length) {\n return;\n }\n window.location.replace(logout.logoutRedirectUri);\n });\n }\n\n onIframeLoaded() {\n this.iframeLoadCount.update(count => count + 1);\n }\n}\n","@let logout = kcContext.logout;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('frontchannel-logout.title') }}\n</ng-template>\n<p>{{ i18n.msgStr('frontchannel-logout.message') }}</p>\n<ul>\n @for (client of logout.clients; track client.name) {\n <li>\n {{ client.name }}\n <iframe\n style=\"display: none\"\n [src]=\"client.frontChannelLogoutUrl | kcSanitize: 'resourceUrl'\"\n (load)=\"onIframeLoaded()\"\n ></iframe>\n </li>\n }\n</ul>\n@if (logout.logoutRedirectUri !== undefined) {\n <a\n id=\"continue\"\n class=\"btn btn-primary\"\n [href]=\"logout.logoutRedirectUri\"\n >\n {{ i18n.msgStr('doContinue') }}\n </a>\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-pages-frontchannel-logout.mjs","sources":["../../src/login/pages/frontchannel-logout/frontchannel-logout.component.ts","../../src/login/pages/frontchannel-logout/frontchannel-logout.component.html","../../src/login/pages/frontchannel-logout/keycloakify-angular-login-pages-frontchannel-logout.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild, signal, effect } from '@angular/core';\nimport { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\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: [KcSanitizePipe],\n selector: 'kc-frontchannel-logout',\n templateUrl: 'frontchannel-logout.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => FrontchannelLogoutComponent)\n }\n ]\n})\nexport class FrontchannelLogoutComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'frontchannel-logout.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 = this.i18n.msgStr('frontchannel-logout.title');\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 readonly iframeLoadCount = signal(0);\n\n constructor() {\n super();\n effect(() => {\n const logout = this.kcContext.logout;\n if (!logout.logoutRedirectUri) {\n return;\n }\n if (this.iframeLoadCount() !== logout.clients.length) {\n return;\n }\n window.location.replace(logout.logoutRedirectUri);\n });\n }\n\n onIframeLoaded() {\n this.iframeLoadCount.update(count => count + 1);\n }\n}\n","@let logout = kcContext.logout;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('frontchannel-logout.title') }}\n</ng-template>\n<p>{{ i18n.msgStr('frontchannel-logout.message') }}</p>\n<ul>\n @for (client of logout.clients; track client.name) {\n <li>\n {{ client.name }}\n <iframe\n style=\"display: none\"\n [src]=\"client.frontChannelLogoutUrl | kcSanitize: 'resourceUrl'\"\n (load)=\"onIframeLoaded()\"\n ></iframe>\n </li>\n }\n</ul>\n@if (logout.logoutRedirectUri !== undefined) {\n <a\n id=\"continue\"\n class=\"btn btn-primary\"\n [href]=\"logout.logoutRedirectUri\"\n >\n {{ i18n.msgStr('doContinue') }}\n </a>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAuBM,MAAO,2BAA4B,SAAQ,kBAAkB,CAAA;AAoB/D,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;AApBX,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAA4D,gBAAgB,CAAC;AAC/F,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;QAE3E,IAAA,CAAA,aAAa,GAAuB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC;QAGjF,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,sDAAC;AAC9D,QAAA,IAAA,CAAA,QAAQ,GAAG,SAAS,CAA2B,UAAU,oDAAC;AAC1D,QAAA,IAAA,CAAA,mBAAmB,GAAG,SAAS,CAA2B,qBAAqB,+DAAC;AAEvE,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,CAAC,2DAAC;QAIhC,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM;AACpC,YAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;gBAC3B;YACJ;YACA,IAAI,IAAI,CAAC,eAAe,EAAE,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;gBAClD;YACJ;YACA,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC;AACrD,QAAA,CAAC,CAAC;IACN;IAEA,cAAc,GAAA;AACV,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC,CAAC;IACnD;8GApCS,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,SAAA,EAPzB;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B;AAC5D;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,4vBA2BA,uCDfc,cAAc,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAWf,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAZvC,SAAS;8BACG,CAAC,cAAc,CAAC,EAAA,QAAA,EACf,wBAAwB,mBAEjB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAE,UAAU,CAAC,iCAAiC;AAC5D;AACJ,qBAAA,EAAA,QAAA,EAAA,4vBAAA,EAAA;kGAgBgD,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;;;;"}
@@ -22,25 +22,25 @@ class IdpReviewUserProfileComponent extends ComponentReference {
22
22
  this.displayRequiredFields = true;
23
23
  this.displayInfo = false;
24
24
  this.displayMessage = !this.kcContext?.messagesPerField?.existsError('global');
25
- this.headerNode = viewChild('headerNode', { ...(ngDevMode ? { debugName: "headerNode" } : {}) });
26
- this.infoNode = viewChild('infoNode', { ...(ngDevMode ? { debugName: "infoNode" } : {}) });
27
- this.socialProvidersNode = viewChild('socialProvidersNode', { ...(ngDevMode ? { debugName: "socialProvidersNode" } : {}) });
28
- this.userProfileFormFields = input(undefined, { ...(ngDevMode ? { debugName: "userProfileFormFields" } : {}) });
25
+ this.headerNode = viewChild('headerNode', ...(ngDevMode ? [{ debugName: "headerNode" }] : []));
26
+ this.infoNode = viewChild('infoNode', ...(ngDevMode ? [{ debugName: "infoNode" }] : []));
27
+ this.socialProvidersNode = viewChild('socialProvidersNode', ...(ngDevMode ? [{ debugName: "socialProvidersNode" }] : []));
28
+ this.userProfileFormFields = input(...(ngDevMode ? [undefined, { debugName: "userProfileFormFields" }] : []));
29
29
  this.isFormSubmittable = toSignal(this.#userProfileFormService.formState$.pipe(map(s => s.isFormSubmittable)), { initialValue: false });
30
30
  }
31
31
  #userProfileFormService;
32
32
  onCallback() {
33
33
  document.getElementById('kc-register-form').requestSubmit();
34
34
  }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: IdpReviewUserProfileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.1", type: IdpReviewUserProfileComponent, isStandalone: true, selector: "kc-idp-review-user-profile", inputs: { userProfileFormFields: { classPropertyName: "userProfileFormFields", publicName: "userProfileFormFields", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: IdpReviewUserProfileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.5", type: IdpReviewUserProfileComponent, isStandalone: true, selector: "kc-idp-review-user-profile", inputs: { userProfileFormFields: { classPropertyName: "userProfileFormFields", publicName: "userProfileFormFields", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
37
37
  {
38
38
  provide: ComponentReference,
39
39
  useExisting: forwardRef(() => IdpReviewUserProfileComponent)
40
40
  }
41
41
  ], 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 url = kcContext.url;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('loginIdpReviewProfileTitle') }}\n</ng-template>\n<form\n id=\"kc-idp-review-profile-form\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <ng-container [ngComponentOutlet]=\"userProfileFormFields() ?? null\" />\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n >\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\"></div>\n </div>\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doSubmit')\"\n [disabled]=\"!isFormSubmittable()\"\n />\n </div>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: IdpReviewUserProfileComponent, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: IdpReviewUserProfileComponent, decorators: [{
44
44
  type: Component,
45
45
  args: [{ imports: [KcClassDirective, NgComponentOutlet], selector: 'kc-idp-review-user-profile', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
46
46
  {
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login-pages-idp-review-user-profile.mjs","sources":["../../src/login/pages/idp-review-user-profile/idp-review-user-profile.component.ts","../../src/login/pages/idp-review-user-profile/idp-review-user-profile.component.html","../../src/login/pages/idp-review-user-profile/keycloakify-angular-login-pages-idp-review-user-profile.ts"],"sourcesContent":["import { NgComponentOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, inject, input, type TemplateRef, type Type, viewChild } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport type { UserProfileFormFieldsComponent } from '@keycloakify/angular/login/components/user-profile-form-fields';\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 { UserProfileFormService } from '@keycloakify/angular/login/services/user-profile-form';\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';\nimport { map } from 'rxjs';\n\n@Component({\n imports: [KcClassDirective, NgComponentOutlet],\n selector: 'kc-idp-review-user-profile',\n templateUrl: 'idp-review-user-profile.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => IdpReviewUserProfileComponent)\n }\n ]\n})\nexport class IdpReviewUserProfileComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'idp-review-user-profile.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\n #userProfileFormService = inject(UserProfileFormService);\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 = true;\n displayInfo = false;\n displayMessage = !this.kcContext?.messagesPerField?.existsError('global');\n\n headerNode = viewChild<TemplateRef<HTMLElement>>('headerNode');\n infoNode = viewChild<TemplateRef<HTMLElement>>('infoNode');\n socialProvidersNode = viewChild<TemplateRef<HTMLElement>>('socialProvidersNode');\n\n userProfileFormFields = input<Type<UserProfileFormFieldsComponent>>();\n isFormSubmittable = toSignal(this.#userProfileFormService.formState$.pipe(map(s => s.isFormSubmittable)), { initialValue: false });\n\n onCallback() {\n (document.getElementById('kc-register-form') as HTMLFormElement).requestSubmit();\n }\n}\n","@let url = kcContext.url;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('loginIdpReviewProfileTitle') }}\n</ng-template>\n<form\n id=\"kc-idp-review-profile-form\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <ng-container [ngComponentOutlet]=\"userProfileFormFields() ?? null\" />\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n >\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\"></div>\n </div>\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doSubmit')\"\n [disabled]=\"!isFormSubmittable()\"\n />\n </div>\n </div>\n</form>\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-idp-review-user-profile.mjs","sources":["../../src/login/pages/idp-review-user-profile/idp-review-user-profile.component.ts","../../src/login/pages/idp-review-user-profile/idp-review-user-profile.component.html","../../src/login/pages/idp-review-user-profile/keycloakify-angular-login-pages-idp-review-user-profile.ts"],"sourcesContent":["import { NgComponentOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, inject, input, type TemplateRef, type Type, viewChild } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport type { UserProfileFormFieldsComponent } from '@keycloakify/angular/login/components/user-profile-form-fields';\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 { UserProfileFormService } from '@keycloakify/angular/login/services/user-profile-form';\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';\nimport { map } from 'rxjs';\n\n@Component({\n imports: [KcClassDirective, NgComponentOutlet],\n selector: 'kc-idp-review-user-profile',\n templateUrl: 'idp-review-user-profile.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => IdpReviewUserProfileComponent)\n }\n ]\n})\nexport class IdpReviewUserProfileComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'idp-review-user-profile.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\n #userProfileFormService = inject(UserProfileFormService);\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 = true;\n displayInfo = false;\n displayMessage = !this.kcContext?.messagesPerField?.existsError('global');\n\n headerNode = viewChild<TemplateRef<HTMLElement>>('headerNode');\n infoNode = viewChild<TemplateRef<HTMLElement>>('infoNode');\n socialProvidersNode = viewChild<TemplateRef<HTMLElement>>('socialProvidersNode');\n\n userProfileFormFields = input<Type<UserProfileFormFieldsComponent>>();\n isFormSubmittable = toSignal(this.#userProfileFormService.formState$.pipe(map(s => s.isFormSubmittable)), { initialValue: false });\n\n onCallback() {\n (document.getElementById('kc-register-form') as HTMLFormElement).requestSubmit();\n }\n}\n","@let url = kcContext.url;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('loginIdpReviewProfileTitle') }}\n</ng-template>\n<form\n id=\"kc-idp-review-profile-form\"\n method=\"post\"\n [kcClass]=\"'kcFormClass'\"\n [action]=\"url.loginAction\"\n>\n <ng-container [ngComponentOutlet]=\"userProfileFormFields() ?? null\" />\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div\n id=\"kc-form-options\"\n [kcClass]=\"'kcFormOptionsClass'\"\n >\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\"></div>\n </div>\n <div\n id=\"kc-form-buttons\"\n [kcClass]=\"'kcFormButtonsClass'\"\n >\n <input\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doSubmit')\"\n [disabled]=\"!isFormSubmittable()\"\n />\n </div>\n </div>\n</form>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -17,9 +17,9 @@ class InfoComponent extends ComponentReference {
17
17
  this.displayRequiredFields = false;
18
18
  this.displayInfo = false;
19
19
  this.displayMessage = false;
20
- this.headerNode = viewChild('headerNode', { ...(ngDevMode ? { debugName: "headerNode" } : {}) });
21
- this.infoNode = viewChild('infoNode', { ...(ngDevMode ? { debugName: "infoNode" } : {}) });
22
- this.socialProvidersNode = viewChild('socialProvidersNode', { ...(ngDevMode ? { debugName: "socialProvidersNode" } : {}) });
20
+ this.headerNode = viewChild('headerNode', ...(ngDevMode ? [{ debugName: "headerNode" }] : []));
21
+ this.infoNode = viewChild('infoNode', ...(ngDevMode ? [{ debugName: "infoNode" }] : []));
22
+ this.socialProvidersNode = viewChild('socialProvidersNode', ...(ngDevMode ? [{ debugName: "socialProvidersNode" }] : []));
23
23
  }
24
24
  get infoMessage() {
25
25
  let html = this.kcContext.message.summary;
@@ -30,15 +30,15 @@ class InfoComponent extends ComponentReference {
30
30
  }
31
31
  return html;
32
32
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: InfoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", type: InfoComponent, isStandalone: true, selector: "kc-info", providers: [
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: InfoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.5", type: InfoComponent, isStandalone: true, selector: "kc-info", providers: [
35
35
  {
36
36
  provide: ComponentReference,
37
37
  useExisting: forwardRef(() => InfoComponent)
38
38
  }
39
39
  ], 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 skipLink = kcContext.skipLink;\n@let actionUri = kcContext.actionUri;\n@let pageRedirectUri = kcContext.pageRedirectUri;\n@let client = kcContext.client;\n\n<ng-template #headerNode>\n @let messageHeader = kcContext.messageHeader;\n @let message = kcContext.message;\n <span [innerHTML]=\"messageHeader ?? i18n.advancedMsgStr(message.summary) | kcSanitize: 'html'\"> </span>\n</ng-template>\n<div id=\"kc-info-message\">\n <p\n class=\"instruction\"\n [innerHTML]=\"infoMessage | kcSanitize: 'html'\"\n ></p>\n @if (!skipLink) {\n @if (pageRedirectUri) {\n <p>\n <a\n [href]=\"pageRedirectUri\"\n [innerHTML]=\"i18n.msgStr('backToApplication') | kcSanitize: 'html'\"\n >\n </a>\n </p>\n } @else if (actionUri) {\n <p>\n <a\n [href]=\"actionUri\"\n [innerHTML]=\"i18n.msgStr('proceedWithAction') | kcSanitize: 'html'\"\n >\n </a>\n </p>\n } @else if (client.baseUrl) {\n <p>\n <a\n [href]=\"client.baseUrl\"\n [innerHTML]=\"i18n.msgStr('backToApplication') | kcSanitize: 'html'\"\n >\n </a>\n </p>\n }\n }\n</div>\n", dependencies: [{ kind: "pipe", type: KcSanitizePipe, name: "kcSanitize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: InfoComponent, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: InfoComponent, decorators: [{
42
42
  type: Component,
43
43
  args: [{ imports: [KcSanitizePipe], selector: 'kc-info', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
44
44
  {
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login-pages-info.mjs","sources":["../../src/login/pages/info/info.component.ts","../../src/login/pages/info/info.component.html","../../src/login/pages/info/keycloakify-angular-login-pages-info.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';\nimport { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\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: [KcSanitizePipe],\n selector: 'kc-info',\n templateUrl: 'info.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => InfoComponent)\n }\n ]\n})\nexport class InfoComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'info.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 get infoMessage() {\n let html = this.kcContext.message.summary;\n if (this.kcContext.requiredActions) {\n html += '<b>';\n\n html += this.kcContext.requiredActions.map(requiredAction => this.i18n.advancedMsgStr(`requiredAction.${requiredAction}`)).join(', ');\n\n html += '</b>';\n }\n return html;\n }\n}\n","@let skipLink = kcContext.skipLink;\n@let actionUri = kcContext.actionUri;\n@let pageRedirectUri = kcContext.pageRedirectUri;\n@let client = kcContext.client;\n\n<ng-template #headerNode>\n @let messageHeader = kcContext.messageHeader;\n @let message = kcContext.message;\n <span [innerHTML]=\"messageHeader ?? i18n.advancedMsgStr(message.summary) | kcSanitize: 'html'\"> </span>\n</ng-template>\n<div id=\"kc-info-message\">\n <p\n class=\"instruction\"\n [innerHTML]=\"infoMessage | kcSanitize: 'html'\"\n ></p>\n @if (!skipLink) {\n @if (pageRedirectUri) {\n <p>\n <a\n [href]=\"pageRedirectUri\"\n [innerHTML]=\"i18n.msgStr('backToApplication') | kcSanitize: 'html'\"\n >\n </a>\n </p>\n } @else if (actionUri) {\n <p>\n <a\n [href]=\"actionUri\"\n [innerHTML]=\"i18n.msgStr('proceedWithAction') | kcSanitize: 'html'\"\n >\n </a>\n </p>\n } @else if (client.baseUrl) {\n <p>\n <a\n [href]=\"client.baseUrl\"\n [innerHTML]=\"i18n.msgStr('backToApplication') | kcSanitize: 'html'\"\n >\n </a>\n </p>\n }\n }\n</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-info.mjs","sources":["../../src/login/pages/info/info.component.ts","../../src/login/pages/info/info.component.html","../../src/login/pages/info/keycloakify-angular-login-pages-info.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';\nimport { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\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: [KcSanitizePipe],\n selector: 'kc-info',\n templateUrl: 'info.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => InfoComponent)\n }\n ]\n})\nexport class InfoComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'info.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 get infoMessage() {\n let html = this.kcContext.message.summary;\n if (this.kcContext.requiredActions) {\n html += '<b>';\n\n html += this.kcContext.requiredActions.map(requiredAction => this.i18n.advancedMsgStr(`requiredAction.${requiredAction}`)).join(', ');\n\n html += '</b>';\n }\n return html;\n }\n}\n","@let skipLink = kcContext.skipLink;\n@let actionUri = kcContext.actionUri;\n@let pageRedirectUri = kcContext.pageRedirectUri;\n@let client = kcContext.client;\n\n<ng-template #headerNode>\n @let messageHeader = kcContext.messageHeader;\n @let message = kcContext.message;\n <span [innerHTML]=\"messageHeader ?? i18n.advancedMsgStr(message.summary) | kcSanitize: 'html'\"> </span>\n</ng-template>\n<div id=\"kc-info-message\">\n <p\n class=\"instruction\"\n [innerHTML]=\"infoMessage | kcSanitize: 'html'\"\n ></p>\n @if (!skipLink) {\n @if (pageRedirectUri) {\n <p>\n <a\n [href]=\"pageRedirectUri\"\n [innerHTML]=\"i18n.msgStr('backToApplication') | kcSanitize: 'html'\"\n >\n </a>\n </p>\n } @else if (actionUri) {\n <p>\n <a\n [href]=\"actionUri\"\n [innerHTML]=\"i18n.msgStr('proceedWithAction') | kcSanitize: 'html'\"\n >\n </a>\n </p>\n } @else if (client.baseUrl) {\n <p>\n <a\n [href]=\"client.baseUrl\"\n [innerHTML]=\"i18n.msgStr('backToApplication') | kcSanitize: 'html'\"\n >\n </a>\n </p>\n }\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAuBM,MAAO,aAAc,SAAQ,kBAAkB,CAAA;AAZrD,IAAA,WAAA,GAAA;;AAaI,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAA6C,gBAAgB,CAAC;AAChF,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,sDAAC;AAC9D,QAAA,IAAA,CAAA,QAAQ,GAAG,SAAS,CAA2B,UAAU,oDAAC;AAC1D,QAAA,IAAA,CAAA,mBAAmB,GAAG,SAAS,CAA2B,qBAAqB,+DAAC;AAanF,IAAA;AAXG,IAAA,IAAI,WAAW,GAAA;QACX,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO;AACzC,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE;YAChC,IAAI,IAAI,KAAK;AAEb,YAAA,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA,eAAA,EAAkB,cAAc,CAAA,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAErI,IAAI,IAAI,MAAM;QAClB;AACA,QAAA,OAAO,IAAI;IACf;8GA5BS,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAPX;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,aAAa;AAC9C;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,u3CA2CA,uCD/Bc,cAAc,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAWf,aAAa,EAAA,UAAA,EAAA,CAAA;kBAZzB,SAAS;8BACG,CAAC,cAAc,CAAC,EAAA,QAAA,EACf,SAAS,mBAEF,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAE,UAAU,CAAC,mBAAmB;AAC9C;AACJ,qBAAA,EAAA,QAAA,EAAA,u3CAAA,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;;;;"}
@@ -19,19 +19,19 @@ class LoginConfigTotpComponent extends ComponentReference {
19
19
  this.displayRequiredFields = false;
20
20
  this.displayInfo = false;
21
21
  this.displayMessage = !this.kcContext.messagesPerField.existsError('totp', 'userLabel');
22
- this.headerNode = viewChild('headerNode', { ...(ngDevMode ? { debugName: "headerNode" } : {}) });
23
- this.infoNode = viewChild('infoNode', { ...(ngDevMode ? { debugName: "infoNode" } : {}) });
24
- this.socialProvidersNode = viewChild('socialProvidersNode', { ...(ngDevMode ? { debugName: "socialProvidersNode" } : {}) });
22
+ this.headerNode = viewChild('headerNode', ...(ngDevMode ? [{ debugName: "headerNode" }] : []));
23
+ this.infoNode = viewChild('infoNode', ...(ngDevMode ? [{ debugName: "infoNode" }] : []));
24
+ this.socialProvidersNode = viewChild('socialProvidersNode', ...(ngDevMode ? [{ debugName: "socialProvidersNode" }] : []));
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: LoginConfigTotpComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", type: LoginConfigTotpComponent, isStandalone: true, selector: "kc-login-config-totp", providers: [
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: LoginConfigTotpComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.5", type: LoginConfigTotpComponent, isStandalone: true, selector: "kc-login-config-totp", providers: [
28
28
  {
29
29
  provide: ComponentReference,
30
30
  useExisting: forwardRef(() => LoginConfigTotpComponent)
31
31
  }
32
32
  ], 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 totp = kcContext.totp;\n@let url = kcContext.url;\n@let messagesPerField = kcContext.messagesPerField;\n@let mode = kcContext.mode;\n@let isAppInitiatedAction = kcContext.isAppInitiatedAction;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('loginTotpStep1') }}\n</ng-template>\n<ol id=\"kc-totp-settings\">\n <li>\n <p>{{ i18n.msgStr('loginTotpStep1') }}</p>\n <ul id=\"kc-totp-supported-apps\">\n @for (app of totp.supportedApplications; track app) {\n <li>{{ i18n.advancedMsgStr(app) }}</li>\n }\n </ul>\n </li>\n @if (kcContext.mode === 'manual') {\n <li>\n <p>{{ i18n.msgStr('loginTotpManualStep2') }}</p>\n <p>\n <span id=\"kc-totp-secret-key\">{{ totp.totpSecretEncoded }}</span>\n </p>\n <p>\n <a\n id=\"mode-barcode\"\n [href]=\"totp.qrUrl\"\n >\n {{ i18n.msgStr('loginTotpScanBarcode') }}\n </a>\n </p>\n </li>\n <li>\n <p>{{ i18n.msgStr('loginTotpManualStep3') }}</p>\n <p></p>\n <ul>\n <li id=\"kc-totp-type\">\n {{ i18n.msgStr('loginTotpType') }}:\n {{ i18n.advancedMsgStr('loginTotp.' + totp.policy.type) }}\n </li>\n <li id=\"kc-totp-algorithm\">\n {{ i18n.msgStr('loginTotpAlgorithm') }}:\n {{ totp.policy.getAlgorithmKey() }}\n </li>\n <li id=\"kc-totp-digits\">{{ i18n.msgStr('loginTotpDigits') }}: {{ totp.policy.digits }}</li>\n @if (totp.policy.type === 'totp') {\n <li id=\"kc-totp-period\">\n {{ i18n.msgStr('loginTotpInterval') }}:\n {{ totp.policy.period }}\n </li>\n } @else {\n <li id=\"kc-totp-counter\">\n {{ i18n.msgStr('loginTotpCounter') }}:\n {{ totp.policy.initialCounter }}\n </li>\n }\n </ul>\n </li>\n } @else {\n <li>\n <p>{{ i18n.msgStr('loginTotpStep2') }}</p>\n <img\n id=\"kc-totp-secret-qr-code\"\n alt=\"Figure: Barcode\"\n [src]=\"'data:image/png;base64, ' + totp.totpSecretQrCode\"\n />\n <br />\n <p>\n <a\n id=\"mode-manual\"\n [href]=\"totp.manualUrl\"\n >\n {{ i18n.msgStr('loginTotpUnableToScan') }}\n </a>\n </p>\n </li>\n }\n <li>\n <p>{{ i18n.msgStr('loginTotpStep3') }}</p>\n <p>{{ i18n.msgStr('loginTotpStep3DeviceName') }}</p>\n </li>\n</ol>\n<form\n id=\"kc-totp-settings-form\"\n method=\"post\"\n [action]=\"url.loginAction\"\n [kcClass]=\"'kcFormClass'\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <label\n for=\"totp\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.msgStr('authenticatorCode') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <input\n type=\"text\"\n id=\"totp\"\n name=\"totp\"\n autocomplete=\"off\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"messagesPerField.existsError('totp')\"\n />\n @if (messagesPerField.existsError('totp')) {\n <span\n id=\"input-error-otp-code\"\n aria-live=\"polite\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n [innerHTML]=\"messagesPerField.get('totp') | kcSanitize: 'html'\"\n ></span>\n }\n </div>\n <input\n type=\"hidden\"\n id=\"totpSecret\"\n name=\"totpSecret\"\n [value]=\"totp.totpSecret\"\n />\n @if (mode) {\n <input\n type=\"hidden\"\n id=\"mode\"\n [value]=\"mode\"\n />\n }\n </div>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <label\n for=\"userLabel\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.msgStr('loginTotpDeviceName') }}\n </label>\n @if (totp.otpCredentials.length >= 1) {\n <span class=\"required\">*</span>\n }\n </div>\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <input\n type=\"text\"\n id=\"userLabel\"\n name=\"userLabel\"\n autocomplete=\"off\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"messagesPerField.existsError('userLabel')\"\n />\n @if (messagesPerField.existsError('userLabel')) {\n <span\n id=\"input-error-otp-label\"\n aria-live=\"polite\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n [innerHTML]=\"messagesPerField.get('userLabel') | kcSanitize: 'html'\"\n ></span>\n }\n </div>\n </div>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <kc-logout-other-sessions />\n </div>\n\n @if (isAppInitiatedAction) {\n <input\n type=\"submit\"\n id=\"saveTOTPBtn\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doSubmit')\"\n />\n <button\n type=\"submit\"\n id=\"cancelTOTPBtn\"\n name=\"cancel-aia\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass', 'kcButtonLargeClass']\"\n [value]=\"true\"\n >\n {{ i18n.msgStr('doCancel') }}\n </button>\n } @else {\n <input\n type=\"submit\"\n id=\"saveTOTPBtn\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doSubmit')\"\n />\n }\n</form>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "component", type: LogoutOtherSessionsComponent, selector: "kc-logout-other-sessions" }, { kind: "pipe", type: KcSanitizePipe, name: "kcSanitize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: LoginConfigTotpComponent, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: LoginConfigTotpComponent, decorators: [{
35
35
  type: Component,
36
36
  args: [{ imports: [KcClassDirective, KcSanitizePipe, LogoutOtherSessionsComponent], selector: 'kc-login-config-totp', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
37
37
  {
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login-pages-login-config-totp.mjs","sources":["../../src/login/pages/login-config-totp/login-config-totp.component.ts","../../src/login/pages/login-config-totp/login-config-totp.component.html","../../src/login/pages/login-config-totp/keycloakify-angular-login-pages-login-config-totp.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';\nimport { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport { LogoutOtherSessionsComponent } from '@keycloakify/angular/login/components/logout-other-sessions';\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, KcSanitizePipe, LogoutOtherSessionsComponent],\n selector: 'kc-login-config-totp',\n templateUrl: 'login-config-totp.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => LoginConfigTotpComponent)\n }\n ]\n})\nexport class LoginConfigTotpComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'login-config-totp.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\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 = !this.kcContext.messagesPerField.existsError('totp', 'userLabel');\n\n headerNode = viewChild<TemplateRef<HTMLElement>>('headerNode');\n infoNode = viewChild<TemplateRef<HTMLElement>>('infoNode');\n socialProvidersNode = viewChild<TemplateRef<HTMLElement>>('socialProvidersNode');\n}\n","@let totp = kcContext.totp;\n@let url = kcContext.url;\n@let messagesPerField = kcContext.messagesPerField;\n@let mode = kcContext.mode;\n@let isAppInitiatedAction = kcContext.isAppInitiatedAction;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('loginTotpStep1') }}\n</ng-template>\n<ol id=\"kc-totp-settings\">\n <li>\n <p>{{ i18n.msgStr('loginTotpStep1') }}</p>\n <ul id=\"kc-totp-supported-apps\">\n @for (app of totp.supportedApplications; track app) {\n <li>{{ i18n.advancedMsgStr(app) }}</li>\n }\n </ul>\n </li>\n @if (kcContext.mode === 'manual') {\n <li>\n <p>{{ i18n.msgStr('loginTotpManualStep2') }}</p>\n <p>\n <span id=\"kc-totp-secret-key\">{{ totp.totpSecretEncoded }}</span>\n </p>\n <p>\n <a\n id=\"mode-barcode\"\n [href]=\"totp.qrUrl\"\n >\n {{ i18n.msgStr('loginTotpScanBarcode') }}\n </a>\n </p>\n </li>\n <li>\n <p>{{ i18n.msgStr('loginTotpManualStep3') }}</p>\n <p></p>\n <ul>\n <li id=\"kc-totp-type\">\n {{ i18n.msgStr('loginTotpType') }}:\n {{ i18n.advancedMsgStr('loginTotp.' + totp.policy.type) }}\n </li>\n <li id=\"kc-totp-algorithm\">\n {{ i18n.msgStr('loginTotpAlgorithm') }}:\n {{ totp.policy.getAlgorithmKey() }}\n </li>\n <li id=\"kc-totp-digits\">{{ i18n.msgStr('loginTotpDigits') }}: {{ totp.policy.digits }}</li>\n @if (totp.policy.type === 'totp') {\n <li id=\"kc-totp-period\">\n {{ i18n.msgStr('loginTotpInterval') }}:\n {{ totp.policy.period }}\n </li>\n } @else {\n <li id=\"kc-totp-counter\">\n {{ i18n.msgStr('loginTotpCounter') }}:\n {{ totp.policy.initialCounter }}\n </li>\n }\n </ul>\n </li>\n } @else {\n <li>\n <p>{{ i18n.msgStr('loginTotpStep2') }}</p>\n <img\n id=\"kc-totp-secret-qr-code\"\n alt=\"Figure: Barcode\"\n [src]=\"'data:image/png;base64, ' + totp.totpSecretQrCode\"\n />\n <br />\n <p>\n <a\n id=\"mode-manual\"\n [href]=\"totp.manualUrl\"\n >\n {{ i18n.msgStr('loginTotpUnableToScan') }}\n </a>\n </p>\n </li>\n }\n <li>\n <p>{{ i18n.msgStr('loginTotpStep3') }}</p>\n <p>{{ i18n.msgStr('loginTotpStep3DeviceName') }}</p>\n </li>\n</ol>\n<form\n id=\"kc-totp-settings-form\"\n method=\"post\"\n [action]=\"url.loginAction\"\n [kcClass]=\"'kcFormClass'\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <label\n for=\"totp\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.msgStr('authenticatorCode') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <input\n type=\"text\"\n id=\"totp\"\n name=\"totp\"\n autocomplete=\"off\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"messagesPerField.existsError('totp')\"\n />\n @if (messagesPerField.existsError('totp')) {\n <span\n id=\"input-error-otp-code\"\n aria-live=\"polite\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n [innerHTML]=\"messagesPerField.get('totp') | kcSanitize: 'html'\"\n ></span>\n }\n </div>\n <input\n type=\"hidden\"\n id=\"totpSecret\"\n name=\"totpSecret\"\n [value]=\"totp.totpSecret\"\n />\n @if (mode) {\n <input\n type=\"hidden\"\n id=\"mode\"\n [value]=\"mode\"\n />\n }\n </div>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <label\n for=\"userLabel\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.msgStr('loginTotpDeviceName') }}\n </label>\n @if (totp.otpCredentials.length >= 1) {\n <span class=\"required\">*</span>\n }\n </div>\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <input\n type=\"text\"\n id=\"userLabel\"\n name=\"userLabel\"\n autocomplete=\"off\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"messagesPerField.existsError('userLabel')\"\n />\n @if (messagesPerField.existsError('userLabel')) {\n <span\n id=\"input-error-otp-label\"\n aria-live=\"polite\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n [innerHTML]=\"messagesPerField.get('userLabel') | kcSanitize: 'html'\"\n ></span>\n }\n </div>\n </div>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <kc-logout-other-sessions />\n </div>\n\n @if (isAppInitiatedAction) {\n <input\n type=\"submit\"\n id=\"saveTOTPBtn\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doSubmit')\"\n />\n <button\n type=\"submit\"\n id=\"cancelTOTPBtn\"\n name=\"cancel-aia\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass', 'kcButtonLargeClass']\"\n [value]=\"true\"\n >\n {{ i18n.msgStr('doCancel') }}\n </button>\n } @else {\n <input\n type=\"submit\"\n id=\"saveTOTPBtn\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doSubmit')\"\n />\n }\n</form>\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-login-config-totp.mjs","sources":["../../src/login/pages/login-config-totp/login-config-totp.component.ts","../../src/login/pages/login-config-totp/login-config-totp.component.html","../../src/login/pages/login-config-totp/keycloakify-angular-login-pages-login-config-totp.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';\nimport { KcSanitizePipe } from '@keycloakify/angular/lib/pipes/kc-sanitize';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport { LogoutOtherSessionsComponent } from '@keycloakify/angular/login/components/logout-other-sessions';\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, KcSanitizePipe, LogoutOtherSessionsComponent],\n selector: 'kc-login-config-totp',\n templateUrl: 'login-config-totp.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => LoginConfigTotpComponent)\n }\n ]\n})\nexport class LoginConfigTotpComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'login-config-totp.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\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 = !this.kcContext.messagesPerField.existsError('totp', 'userLabel');\n\n headerNode = viewChild<TemplateRef<HTMLElement>>('headerNode');\n infoNode = viewChild<TemplateRef<HTMLElement>>('infoNode');\n socialProvidersNode = viewChild<TemplateRef<HTMLElement>>('socialProvidersNode');\n}\n","@let totp = kcContext.totp;\n@let url = kcContext.url;\n@let messagesPerField = kcContext.messagesPerField;\n@let mode = kcContext.mode;\n@let isAppInitiatedAction = kcContext.isAppInitiatedAction;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('loginTotpStep1') }}\n</ng-template>\n<ol id=\"kc-totp-settings\">\n <li>\n <p>{{ i18n.msgStr('loginTotpStep1') }}</p>\n <ul id=\"kc-totp-supported-apps\">\n @for (app of totp.supportedApplications; track app) {\n <li>{{ i18n.advancedMsgStr(app) }}</li>\n }\n </ul>\n </li>\n @if (kcContext.mode === 'manual') {\n <li>\n <p>{{ i18n.msgStr('loginTotpManualStep2') }}</p>\n <p>\n <span id=\"kc-totp-secret-key\">{{ totp.totpSecretEncoded }}</span>\n </p>\n <p>\n <a\n id=\"mode-barcode\"\n [href]=\"totp.qrUrl\"\n >\n {{ i18n.msgStr('loginTotpScanBarcode') }}\n </a>\n </p>\n </li>\n <li>\n <p>{{ i18n.msgStr('loginTotpManualStep3') }}</p>\n <p></p>\n <ul>\n <li id=\"kc-totp-type\">\n {{ i18n.msgStr('loginTotpType') }}:\n {{ i18n.advancedMsgStr('loginTotp.' + totp.policy.type) }}\n </li>\n <li id=\"kc-totp-algorithm\">\n {{ i18n.msgStr('loginTotpAlgorithm') }}:\n {{ totp.policy.getAlgorithmKey() }}\n </li>\n <li id=\"kc-totp-digits\">{{ i18n.msgStr('loginTotpDigits') }}: {{ totp.policy.digits }}</li>\n @if (totp.policy.type === 'totp') {\n <li id=\"kc-totp-period\">\n {{ i18n.msgStr('loginTotpInterval') }}:\n {{ totp.policy.period }}\n </li>\n } @else {\n <li id=\"kc-totp-counter\">\n {{ i18n.msgStr('loginTotpCounter') }}:\n {{ totp.policy.initialCounter }}\n </li>\n }\n </ul>\n </li>\n } @else {\n <li>\n <p>{{ i18n.msgStr('loginTotpStep2') }}</p>\n <img\n id=\"kc-totp-secret-qr-code\"\n alt=\"Figure: Barcode\"\n [src]=\"'data:image/png;base64, ' + totp.totpSecretQrCode\"\n />\n <br />\n <p>\n <a\n id=\"mode-manual\"\n [href]=\"totp.manualUrl\"\n >\n {{ i18n.msgStr('loginTotpUnableToScan') }}\n </a>\n </p>\n </li>\n }\n <li>\n <p>{{ i18n.msgStr('loginTotpStep3') }}</p>\n <p>{{ i18n.msgStr('loginTotpStep3DeviceName') }}</p>\n </li>\n</ol>\n<form\n id=\"kc-totp-settings-form\"\n method=\"post\"\n [action]=\"url.loginAction\"\n [kcClass]=\"'kcFormClass'\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <label\n for=\"totp\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.msgStr('authenticatorCode') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <input\n type=\"text\"\n id=\"totp\"\n name=\"totp\"\n autocomplete=\"off\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"messagesPerField.existsError('totp')\"\n />\n @if (messagesPerField.existsError('totp')) {\n <span\n id=\"input-error-otp-code\"\n aria-live=\"polite\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n [innerHTML]=\"messagesPerField.get('totp') | kcSanitize: 'html'\"\n ></span>\n }\n </div>\n <input\n type=\"hidden\"\n id=\"totpSecret\"\n name=\"totpSecret\"\n [value]=\"totp.totpSecret\"\n />\n @if (mode) {\n <input\n type=\"hidden\"\n id=\"mode\"\n [value]=\"mode\"\n />\n }\n </div>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <label\n for=\"userLabel\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.msgStr('loginTotpDeviceName') }}\n </label>\n @if (totp.otpCredentials.length >= 1) {\n <span class=\"required\">*</span>\n }\n </div>\n <div [kcClass]=\"'kcInputWrapperClass'\">\n <input\n type=\"text\"\n id=\"userLabel\"\n name=\"userLabel\"\n autocomplete=\"off\"\n [kcClass]=\"'kcInputClass'\"\n [attr.aria-invalid]=\"messagesPerField.existsError('userLabel')\"\n />\n @if (messagesPerField.existsError('userLabel')) {\n <span\n id=\"input-error-otp-label\"\n aria-live=\"polite\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n [innerHTML]=\"messagesPerField.get('userLabel') | kcSanitize: 'html'\"\n ></span>\n }\n </div>\n </div>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <kc-logout-other-sessions />\n </div>\n\n @if (isAppInitiatedAction) {\n <input\n type=\"submit\"\n id=\"saveTOTPBtn\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doSubmit')\"\n />\n <button\n type=\"submit\"\n id=\"cancelTOTPBtn\"\n name=\"cancel-aia\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass', 'kcButtonLargeClass']\"\n [value]=\"true\"\n >\n {{ i18n.msgStr('doCancel') }}\n </button>\n } @else {\n <input\n type=\"submit\"\n id=\"saveTOTPBtn\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doSubmit')\"\n />\n }\n</form>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -13,19 +13,19 @@ class LoginIdpLinkConfirmOverrideComponent extends ComponentReference {
13
13
  this.displayRequiredFields = false;
14
14
  this.displayInfo = false;
15
15
  this.displayMessage = !this.kcContext.messagesPerField.existsError('totp', 'userLabel');
16
- this.headerNode = viewChild('headerNode', { ...(ngDevMode ? { debugName: "headerNode" } : {}) });
17
- this.infoNode = viewChild('infoNode', { ...(ngDevMode ? { debugName: "infoNode" } : {}) });
18
- this.socialProvidersNode = viewChild('socialProvidersNode', { ...(ngDevMode ? { debugName: "socialProvidersNode" } : {}) });
16
+ this.headerNode = viewChild('headerNode', ...(ngDevMode ? [{ debugName: "headerNode" }] : []));
17
+ this.infoNode = viewChild('infoNode', ...(ngDevMode ? [{ debugName: "infoNode" }] : []));
18
+ this.socialProvidersNode = viewChild('socialProvidersNode', ...(ngDevMode ? [{ debugName: "socialProvidersNode" }] : []));
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: LoginIdpLinkConfirmOverrideComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.1", type: LoginIdpLinkConfirmOverrideComponent, isStandalone: true, selector: "kc-login-idp-link-confirm-override", providers: [
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: LoginIdpLinkConfirmOverrideComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.5", type: LoginIdpLinkConfirmOverrideComponent, isStandalone: true, selector: "kc-login-idp-link-confirm-override", providers: [
22
22
  {
23
23
  provide: ComponentReference,
24
24
  useExisting: forwardRef(() => LoginIdpLinkConfirmOverrideComponent)
25
25
  }
26
26
  ], 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 url = kcContext.url;\n@let idpDisplayName = kcContext.idpDisplayName;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('confirmOverrideIdpTitle') }}\n</ng-template>\n<form\n id=\"kc-register-form\"\n method=\"post\"\n [action]=\"url.loginAction\"\n>\n {{ i18n.msgStr('pageExpiredMsg1') }}\n <a\n id=\"loginRestartLink\"\n [href]=\"url.loginRestartFlowUrl\"\n >\n {{ i18n.msgStr('doClickHere') }}\n </a>\n <br />\n <br />\n <button\n type=\"submit\"\n name=\"submitAction\"\n id=\"confirmOverride\"\n value=\"confirmOverride\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('confirmOverrideIdpContinue', idpDisplayName) }}\n </button>\n</form>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: LoginIdpLinkConfirmOverrideComponent, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: LoginIdpLinkConfirmOverrideComponent, decorators: [{
29
29
  type: Component,
30
30
  args: [{ imports: [KcClassDirective], selector: 'kc-login-idp-link-confirm-override', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
31
31
  {
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs","sources":["../../src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.ts","../../src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.html","../../src/login/pages/login-idp-link-confirm-override/keycloakify-angular-login-pages-login-idp-link-confirm-override.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';\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_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';\n\n@Component({\n imports: [KcClassDirective],\n selector: 'kc-login-idp-link-confirm-override',\n templateUrl: 'login-idp-link-confirm-override.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => LoginIdpLinkConfirmOverrideComponent)\n }\n ]\n})\nexport class LoginIdpLinkConfirmOverrideComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'login-idp-link-confirm-override.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\n\n documentTitle: string | undefined;\n bodyClassName: string | undefined;\n\n displayRequiredFields = false;\n displayInfo = false;\n displayMessage = !this.kcContext.messagesPerField.existsError('totp', 'userLabel');\n\n headerNode = viewChild<TemplateRef<HTMLElement>>('headerNode');\n infoNode = viewChild<TemplateRef<HTMLElement>>('infoNode');\n socialProvidersNode = viewChild<TemplateRef<HTMLElement>>('socialProvidersNode');\n}\n","@let url = kcContext.url;\n@let idpDisplayName = kcContext.idpDisplayName;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('confirmOverrideIdpTitle') }}\n</ng-template>\n<form\n id=\"kc-register-form\"\n method=\"post\"\n [action]=\"url.loginAction\"\n>\n {{ i18n.msgStr('pageExpiredMsg1') }}\n <a\n id=\"loginRestartLink\"\n [href]=\"url.loginRestartFlowUrl\"\n >\n {{ i18n.msgStr('doClickHere') }}\n </a>\n <br />\n <br />\n <button\n type=\"submit\"\n name=\"submitAction\"\n id=\"confirmOverride\"\n value=\"confirmOverride\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('confirmOverrideIdpContinue', idpDisplayName) }}\n </button>\n</form>\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-login-idp-link-confirm-override.mjs","sources":["../../src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.ts","../../src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.html","../../src/login/pages/login-idp-link-confirm-override/keycloakify-angular-login-pages-login-idp-link-confirm-override.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';\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_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';\n\n@Component({\n imports: [KcClassDirective],\n selector: 'kc-login-idp-link-confirm-override',\n templateUrl: 'login-idp-link-confirm-override.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => LoginIdpLinkConfirmOverrideComponent)\n }\n ]\n})\nexport class LoginIdpLinkConfirmOverrideComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'login-idp-link-confirm-override.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\n\n documentTitle: string | undefined;\n bodyClassName: string | undefined;\n\n displayRequiredFields = false;\n displayInfo = false;\n displayMessage = !this.kcContext.messagesPerField.existsError('totp', 'userLabel');\n\n headerNode = viewChild<TemplateRef<HTMLElement>>('headerNode');\n infoNode = viewChild<TemplateRef<HTMLElement>>('infoNode');\n socialProvidersNode = viewChild<TemplateRef<HTMLElement>>('socialProvidersNode');\n}\n","@let url = kcContext.url;\n@let idpDisplayName = kcContext.idpDisplayName;\n\n<ng-template #headerNode>\n {{ i18n.msgStr('confirmOverrideIdpTitle') }}\n</ng-template>\n<form\n id=\"kc-register-form\"\n method=\"post\"\n [action]=\"url.loginAction\"\n>\n {{ i18n.msgStr('pageExpiredMsg1') }}\n <a\n id=\"loginRestartLink\"\n [href]=\"url.loginRestartFlowUrl\"\n >\n {{ i18n.msgStr('doClickHere') }}\n </a>\n <br />\n <br />\n <button\n type=\"submit\"\n name=\"submitAction\"\n id=\"confirmOverride\"\n value=\"confirmOverride\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('confirmOverrideIdpContinue', idpDisplayName) }}\n </button>\n</form>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -13,19 +13,19 @@ class LoginIdpLinkConfirmComponent extends ComponentReference {
13
13
  this.displayRequiredFields = false;
14
14
  this.displayInfo = false;
15
15
  this.displayMessage = !this.kcContext.messagesPerField.existsError('totp', 'userLabel');
16
- this.headerNode = viewChild('headerNode', { ...(ngDevMode ? { debugName: "headerNode" } : {}) });
17
- this.infoNode = viewChild('infoNode', { ...(ngDevMode ? { debugName: "infoNode" } : {}) });
18
- this.socialProvidersNode = viewChild('socialProvidersNode', { ...(ngDevMode ? { debugName: "socialProvidersNode" } : {}) });
16
+ this.headerNode = viewChild('headerNode', ...(ngDevMode ? [{ debugName: "headerNode" }] : []));
17
+ this.infoNode = viewChild('infoNode', ...(ngDevMode ? [{ debugName: "infoNode" }] : []));
18
+ this.socialProvidersNode = viewChild('socialProvidersNode', ...(ngDevMode ? [{ debugName: "socialProvidersNode" }] : []));
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: LoginIdpLinkConfirmComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.1", type: LoginIdpLinkConfirmComponent, isStandalone: true, selector: "kc-login-idp-link-confirm", providers: [
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: LoginIdpLinkConfirmComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.5", type: LoginIdpLinkConfirmComponent, isStandalone: true, selector: "kc-login-idp-link-confirm", providers: [
22
22
  {
23
23
  provide: ComponentReference,
24
24
  useExisting: forwardRef(() => LoginIdpLinkConfirmComponent)
25
25
  }
26
26
  ], 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 url = kcContext.url;\n@let idpAlias = kcContext.idpAlias;\n<ng-template #headerNode>\n {{ i18n.msgStr('confirmLinkIdpTitle') }}\n</ng-template>\n<form\n id=\"kc-register-form\"\n method=\"post\"\n [action]=\"url.loginAction\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <button\n type=\"submit\"\n name=\"submitAction\"\n id=\"updateProfile\"\n value=\"updateProfile\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('confirmLinkIdpReviewProfile') }}\n </button>\n <button\n type=\"submit\"\n name=\"submitAction\"\n id=\"linkAccount\"\n value=\"linkAccount\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('confirmLinkIdpContinue', idpAlias) }}\n </button>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: LoginIdpLinkConfirmComponent, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: LoginIdpLinkConfirmComponent, decorators: [{
29
29
  type: Component,
30
30
  args: [{ imports: [KcClassDirective], selector: 'kc-login-idp-link-confirm', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
31
31
  {
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login-pages-login-idp-link-confirm.mjs","sources":["../../src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.ts","../../src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.html","../../src/login/pages/login-idp-link-confirm/keycloakify-angular-login-pages-login-idp-link-confirm.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';\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_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';\n\n@Component({\n imports: [KcClassDirective],\n selector: 'kc-login-idp-link-confirm',\n templateUrl: 'login-idp-link-confirm.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => LoginIdpLinkConfirmComponent)\n }\n ]\n})\nexport class LoginIdpLinkConfirmComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'login-idp-link-confirm.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\n\n documentTitle: string | undefined;\n bodyClassName: string | undefined;\n\n displayRequiredFields = false;\n displayInfo = false;\n displayMessage = !this.kcContext.messagesPerField.existsError('totp', 'userLabel');\n\n headerNode = viewChild<TemplateRef<HTMLElement>>('headerNode');\n infoNode = viewChild<TemplateRef<HTMLElement>>('infoNode');\n socialProvidersNode = viewChild<TemplateRef<HTMLElement>>('socialProvidersNode');\n}\n","@let url = kcContext.url;\n@let idpAlias = kcContext.idpAlias;\n<ng-template #headerNode>\n {{ i18n.msgStr('confirmLinkIdpTitle') }}\n</ng-template>\n<form\n id=\"kc-register-form\"\n method=\"post\"\n [action]=\"url.loginAction\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <button\n type=\"submit\"\n name=\"submitAction\"\n id=\"updateProfile\"\n value=\"updateProfile\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('confirmLinkIdpReviewProfile') }}\n </button>\n <button\n type=\"submit\"\n name=\"submitAction\"\n id=\"linkAccount\"\n value=\"linkAccount\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('confirmLinkIdpContinue', idpAlias) }}\n </button>\n </div>\n</form>\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-login-idp-link-confirm.mjs","sources":["../../src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.ts","../../src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.html","../../src/login/pages/login-idp-link-confirm/keycloakify-angular-login-pages-login-idp-link-confirm.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';\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_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';\n\n@Component({\n imports: [KcClassDirective],\n selector: 'kc-login-idp-link-confirm',\n templateUrl: 'login-idp-link-confirm.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => LoginIdpLinkConfirmComponent)\n }\n ]\n})\nexport class LoginIdpLinkConfirmComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'login-idp-link-confirm.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\n\n documentTitle: string | undefined;\n bodyClassName: string | undefined;\n\n displayRequiredFields = false;\n displayInfo = false;\n displayMessage = !this.kcContext.messagesPerField.existsError('totp', 'userLabel');\n\n headerNode = viewChild<TemplateRef<HTMLElement>>('headerNode');\n infoNode = viewChild<TemplateRef<HTMLElement>>('infoNode');\n socialProvidersNode = viewChild<TemplateRef<HTMLElement>>('socialProvidersNode');\n}\n","@let url = kcContext.url;\n@let idpAlias = kcContext.idpAlias;\n<ng-template #headerNode>\n {{ i18n.msgStr('confirmLinkIdpTitle') }}\n</ng-template>\n<form\n id=\"kc-register-form\"\n method=\"post\"\n [action]=\"url.loginAction\"\n>\n <div [kcClass]=\"'kcFormGroupClass'\">\n <button\n type=\"submit\"\n name=\"submitAction\"\n id=\"updateProfile\"\n value=\"updateProfile\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('confirmLinkIdpReviewProfile') }}\n </button>\n <button\n type=\"submit\"\n name=\"submitAction\"\n id=\"linkAccount\"\n value=\"linkAccount\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonBlockClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('confirmLinkIdpContinue', idpAlias) }}\n </button>\n </div>\n</form>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAoBM,MAAO,4BAA6B,SAAQ,kBAAkB,CAAA;AAZpE,IAAA,WAAA,GAAA;;AAaI,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAA+D,gBAAgB,CAAC;AAClG,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAO,UAAU,CAAC;QAK/B,IAAA,CAAA,qBAAqB,GAAG,KAAK;QAC7B,IAAA,CAAA,WAAW,GAAG,KAAK;AACnB,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC;AAElF,QAAA,IAAA,CAAA,UAAU,GAAG,SAAS,CAA2B,YAAY,sDAAC;AAC9D,QAAA,IAAA,CAAA,QAAQ,GAAG,SAAS,CAA2B,UAAU,oDAAC;AAC1D,QAAA,IAAA,CAAA,mBAAmB,GAAG,SAAS,CAA2B,qBAAqB,+DAAC;AACnF,IAAA;8GAdY,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,SAAA,EAP1B;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,4BAA4B;AAC7D;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,EClBL,qgCA+BA,4CDtBc,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,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAZxC,SAAS;8BACG,CAAC,gBAAgB,CAAC,EAAA,QAAA,EACjB,2BAA2B,mBAEpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAE,UAAU,CAAC,kCAAkC;AAC7D;AACJ,qBAAA,EAAA,QAAA,EAAA,qgCAAA,EAAA;wEAagD,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;;AEjCnF;;AAEG;;;;"}
@@ -12,19 +12,19 @@ class LoginIdpLinkEmailComponent extends ComponentReference {
12
12
  this.displayRequiredFields = false;
13
13
  this.displayInfo = false;
14
14
  this.displayMessage = false;
15
- this.headerNode = viewChild('headerNode', { ...(ngDevMode ? { debugName: "headerNode" } : {}) });
16
- this.infoNode = viewChild('infoNode', { ...(ngDevMode ? { debugName: "infoNode" } : {}) });
17
- this.socialProvidersNode = viewChild('socialProvidersNode', { ...(ngDevMode ? { debugName: "socialProvidersNode" } : {}) });
15
+ this.headerNode = viewChild('headerNode', ...(ngDevMode ? [{ debugName: "headerNode" }] : []));
16
+ this.infoNode = viewChild('infoNode', ...(ngDevMode ? [{ debugName: "infoNode" }] : []));
17
+ this.socialProvidersNode = viewChild('socialProvidersNode', ...(ngDevMode ? [{ debugName: "socialProvidersNode" }] : []));
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: LoginIdpLinkEmailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.1", type: LoginIdpLinkEmailComponent, isStandalone: true, selector: "kc-login-idp-link-email", providers: [
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: LoginIdpLinkEmailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.5", type: LoginIdpLinkEmailComponent, isStandalone: true, selector: "kc-login-idp-link-email", providers: [
21
21
  {
22
22
  provide: ComponentReference,
23
23
  useExisting: forwardRef(() => LoginIdpLinkEmailComponent)
24
24
  }
25
25
  ], 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 idpAlias = kcContext.idpAlias;\n@let brokerContext = kcContext.brokerContext;\n@let realm = kcContext.realm;\n@let url = kcContext.url;\n\n<ng-template #headerNode>\n @let idpAlias = kcContext.idpAlias;\n {{ i18n.msgStr('emailLinkIdpTitle', idpAlias) }}\n</ng-template>\n<p\n id=\"instruction1\"\n class=\"instruction\"\n>\n {{ i18n.msgStr('emailLinkIdp1', idpAlias, brokerContext.username, realm.displayName) }}\n</p>\n<p\n id=\"instruction2\"\n class=\"instruction\"\n>\n {{ i18n.msgStr('emailLinkIdp2') }}\n <a [href]=\"url.loginAction\">{{ i18n.msgStr('doClickHere') }}</a>\n {{ i18n.msgStr('emailLinkIdp3') }}\n</p>\n<p\n id=\"instruction3\"\n class=\"instruction\"\n>\n {{ i18n.msgStr('emailLinkIdp4') }}\n <a [href]=\"url.loginAction\">{{ i18n.msgStr('doClickHere') }}</a>\n {{ i18n.msgStr('emailLinkIdp5') }}\n</p>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: LoginIdpLinkEmailComponent, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: LoginIdpLinkEmailComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{ selector: 'kc-login-idp-link-email', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
30
30
  {
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login-pages-login-idp-link-email.mjs","sources":["../../src/login/pages/login-idp-link-email/login-idp-link-email.component.ts","../../src/login/pages/login-idp-link-email/login-idp-link-email.component.html","../../src/login/pages/login-idp-link-email/keycloakify-angular-login-pages-login-idp-link-email.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport type { I18n } from '@keycloakify/angular/login/i18n';\nimport type { KcContext } from '@keycloakify/angular/login/KcContext';\nimport { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';\n\n@Component({\n selector: 'kc-login-idp-link-email',\n templateUrl: 'login-idp-link-email.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => LoginIdpLinkEmailComponent)\n }\n ]\n})\nexport class LoginIdpLinkEmailComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'login-idp-link-email.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\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 idpAlias = kcContext.idpAlias;\n@let brokerContext = kcContext.brokerContext;\n@let realm = kcContext.realm;\n@let url = kcContext.url;\n\n<ng-template #headerNode>\n @let idpAlias = kcContext.idpAlias;\n {{ i18n.msgStr('emailLinkIdpTitle', idpAlias) }}\n</ng-template>\n<p\n id=\"instruction1\"\n class=\"instruction\"\n>\n {{ i18n.msgStr('emailLinkIdp1', idpAlias, brokerContext.username, realm.displayName) }}\n</p>\n<p\n id=\"instruction2\"\n class=\"instruction\"\n>\n {{ i18n.msgStr('emailLinkIdp2') }}\n <a [href]=\"url.loginAction\">{{ i18n.msgStr('doClickHere') }}</a>\n {{ i18n.msgStr('emailLinkIdp3') }}\n</p>\n<p\n id=\"instruction3\"\n class=\"instruction\"\n>\n {{ i18n.msgStr('emailLinkIdp4') }}\n <a [href]=\"url.loginAction\">{{ i18n.msgStr('doClickHere') }}</a>\n {{ i18n.msgStr('emailLinkIdp5') }}\n</p>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAkBM,MAAO,0BAA2B,SAAQ,kBAAkB,CAAA;AAXlE,IAAA,WAAA,GAAA;;AAYI,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAA6D,gBAAgB,CAAC;AAChG,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAO,UAAU,CAAC;QAK/B,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,wDAAC;AAC9D,QAAA,IAAA,CAAA,QAAQ,GAAG,SAAS,CAA2B,UAAU,sDAAC;AAC1D,QAAA,IAAA,CAAA,mBAAmB,GAAG,SAAS,CAA2B,qBAAqB,iEAAC;AACnF,IAAA;8GAdY,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,SAAA,EAPxB;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,0BAA0B;AAC3D;AACJ,SAAA,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,EChBL,42BA+BA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDba,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAXtC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,EAAA,eAAA,EAElB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAE,UAAU,CAAC,gCAAgC;AAC3D;AACJ,qBAAA,EAAA,QAAA,EAAA,42BAAA,EAAA;wEAagD,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;;AE/BnF;;AAEG;;;;"}
1
+ {"version":3,"file":"keycloakify-angular-login-pages-login-idp-link-email.mjs","sources":["../../src/login/pages/login-idp-link-email/login-idp-link-email.component.ts","../../src/login/pages/login-idp-link-email/login-idp-link-email.component.html","../../src/login/pages/login-idp-link-email/keycloakify-angular-login-pages-login-idp-link-email.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport type { I18n } from '@keycloakify/angular/login/i18n';\nimport type { KcContext } from '@keycloakify/angular/login/KcContext';\nimport { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';\n\n@Component({\n selector: 'kc-login-idp-link-email',\n templateUrl: 'login-idp-link-email.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => LoginIdpLinkEmailComponent)\n }\n ]\n})\nexport class LoginIdpLinkEmailComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'login-idp-link-email.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\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 idpAlias = kcContext.idpAlias;\n@let brokerContext = kcContext.brokerContext;\n@let realm = kcContext.realm;\n@let url = kcContext.url;\n\n<ng-template #headerNode>\n @let idpAlias = kcContext.idpAlias;\n {{ i18n.msgStr('emailLinkIdpTitle', idpAlias) }}\n</ng-template>\n<p\n id=\"instruction1\"\n class=\"instruction\"\n>\n {{ i18n.msgStr('emailLinkIdp1', idpAlias, brokerContext.username, realm.displayName) }}\n</p>\n<p\n id=\"instruction2\"\n class=\"instruction\"\n>\n {{ i18n.msgStr('emailLinkIdp2') }}\n <a [href]=\"url.loginAction\">{{ i18n.msgStr('doClickHere') }}</a>\n {{ i18n.msgStr('emailLinkIdp3') }}\n</p>\n<p\n id=\"instruction3\"\n class=\"instruction\"\n>\n {{ i18n.msgStr('emailLinkIdp4') }}\n <a [href]=\"url.loginAction\">{{ i18n.msgStr('doClickHere') }}</a>\n {{ i18n.msgStr('emailLinkIdp5') }}\n</p>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAkBM,MAAO,0BAA2B,SAAQ,kBAAkB,CAAA;AAXlE,IAAA,WAAA,GAAA;;AAYI,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAA6D,gBAAgB,CAAC;AAChG,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAO,UAAU,CAAC;QAK/B,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,sDAAC;AAC9D,QAAA,IAAA,CAAA,QAAQ,GAAG,SAAS,CAA2B,UAAU,oDAAC;AAC1D,QAAA,IAAA,CAAA,mBAAmB,GAAG,SAAS,CAA2B,qBAAqB,+DAAC;AACnF,IAAA;8GAdY,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,SAAA,EAPxB;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,0BAA0B;AAC3D;AACJ,SAAA,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,EChBL,42BA+BA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDba,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAXtC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,EAAA,eAAA,EAElB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAE,UAAU,CAAC,gCAAgC;AAC3D;AACJ,qBAAA,EAAA,QAAA,EAAA,42BAAA,EAAA;wEAagD,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;;AE/BnF;;AAEG;;;;"}
@@ -14,19 +14,19 @@ class LoginOauthGrantComponent extends ComponentReference {
14
14
  this.displayRequiredFields = false;
15
15
  this.displayInfo = false;
16
16
  this.displayMessage = false;
17
- this.headerNode = viewChild('headerNode', { ...(ngDevMode ? { debugName: "headerNode" } : {}) });
18
- this.infoNode = viewChild('infoNode', { ...(ngDevMode ? { debugName: "infoNode" } : {}) });
19
- this.socialProvidersNode = viewChild('socialProvidersNode', { ...(ngDevMode ? { debugName: "socialProvidersNode" } : {}) });
17
+ this.headerNode = viewChild('headerNode', ...(ngDevMode ? [{ debugName: "headerNode" }] : []));
18
+ this.infoNode = viewChild('infoNode', ...(ngDevMode ? [{ debugName: "infoNode" }] : []));
19
+ this.socialProvidersNode = viewChild('socialProvidersNode', ...(ngDevMode ? [{ debugName: "socialProvidersNode" }] : []));
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: LoginOauthGrantComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", type: LoginOauthGrantComponent, isStandalone: true, selector: "kc-login-oauth-grant", providers: [
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: LoginOauthGrantComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.5", type: LoginOauthGrantComponent, isStandalone: true, selector: "kc-login-oauth-grant", providers: [
23
23
  {
24
24
  provide: ComponentReference,
25
25
  useExisting: forwardRef(() => LoginOauthGrantComponent)
26
26
  }
27
27
  ], 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 client = kcContext.client;\n@let oauth = kcContext.oauth;\n@let url = kcContext.url;\n\n<ng-template #headerNode>\n @let client = kcContext.client;\n @if (client.attributes['logoUri']) {\n <img\n alt=\"\"\n [src]=\"client.attributes['logoUri']\"\n />\n }\n <p>\n {{ i18n.msgStr('oauthGrantTitle', client.name ? i18n.advancedMsgStr(client.name) : client.clientId) }}\n </p>\n</ng-template>\n\n<div\n id=\"kc-oauth\"\n class=\"content-area\"\n>\n <h3>{{ i18n.msgStr('oauthGrantRequest') }}</h3>\n <ul>\n @for (clientScope of oauth.clientScopesRequested; track clientScope) {\n <li>\n <span>\n {{ i18n.advancedMsgStr(clientScope.consentScreenText) }}\n @if (clientScope.dynamicScopeParameter) {\n : <b>{{ clientScope.dynamicScopeParameter }}</b>\n }\n </span>\n </li>\n }\n </ul>\n\n @if (client.attributes['policyUri'] || client.attributes['tosUri']) {\n <h3>\n @if (client.name) {\n {{ i18n.msgStr('oauthGrantInformation', i18n.advancedMsgStr(client.name)) }}\n } @else {\n {{ i18n.msgStr('oauthGrantInformation', client.clientId) }}\n }\n @if (client.attributes['policyUri']) {\n {{ i18n.msgStr('oauthGrantReview') }}\n <a\n target=\"_blank\"\n [href]=\"client.attributes['policyUri']\"\n >\n {{ i18n.msgStr('oauthGrantPolicy') }}\n </a>\n }\n </h3>\n }\n <form\n class=\"form-actions\"\n method=\"post\"\n [action]=\"url.oauthAction\"\n >\n <input\n type=\"hidden\"\n name=\"code\"\n [value]=\"oauth.code\"\n />\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div id=\"kc-form-options\">\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\"></div>\n </div>\n\n <div id=\"kc-form-buttons\">\n <div [kcClass]=\"'kcFormButtonsWrapperClass'\">\n <input\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doYes')\"\n />\n <input\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doNo')\"\n />\n </div>\n </div>\n </div>\n </form>\n <div class=\"clearfix\"></div>\n</div>\n", dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: LoginOauthGrantComponent, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: LoginOauthGrantComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{ imports: [KcClassDirective], selector: 'kc-login-oauth-grant', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
32
32
  {
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login-pages-login-oauth-grant.mjs","sources":["../../src/login/pages/login-oauth-grant/login-oauth-grant.component.ts","../../src/login/pages/login-oauth-grant/login-oauth-grant.component.html","../../src/login/pages/login-oauth-grant/keycloakify-angular-login-pages-login-oauth-grant.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';\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_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';\n\n@Component({\n imports: [KcClassDirective],\n selector: 'kc-login-oauth-grant',\n templateUrl: 'login-oauth-grant.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => LoginOauthGrantComponent)\n }\n ]\n})\nexport class LoginOauthGrantComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'login-oauth-grant.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\n\n documentTitle: string | undefined;\n bodyClassName = 'oauth';\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 client = kcContext.client;\n@let oauth = kcContext.oauth;\n@let url = kcContext.url;\n\n<ng-template #headerNode>\n @let client = kcContext.client;\n @if (client.attributes['logoUri']) {\n <img\n alt=\"\"\n [src]=\"client.attributes['logoUri']\"\n />\n }\n <p>\n {{ i18n.msgStr('oauthGrantTitle', client.name ? i18n.advancedMsgStr(client.name) : client.clientId) }}\n </p>\n</ng-template>\n\n<div\n id=\"kc-oauth\"\n class=\"content-area\"\n>\n <h3>{{ i18n.msgStr('oauthGrantRequest') }}</h3>\n <ul>\n @for (clientScope of oauth.clientScopesRequested; track clientScope) {\n <li>\n <span>\n {{ i18n.advancedMsgStr(clientScope.consentScreenText) }}\n @if (clientScope.dynamicScopeParameter) {\n : <b>{{ clientScope.dynamicScopeParameter }}</b>\n }\n </span>\n </li>\n }\n </ul>\n\n @if (client.attributes['policyUri'] || client.attributes['tosUri']) {\n <h3>\n @if (client.name) {\n {{ i18n.msgStr('oauthGrantInformation', i18n.advancedMsgStr(client.name)) }}\n } @else {\n {{ i18n.msgStr('oauthGrantInformation', client.clientId) }}\n }\n @if (client.attributes['policyUri']) {\n {{ i18n.msgStr('oauthGrantReview') }}\n <a\n target=\"_blank\"\n [href]=\"client.attributes['policyUri']\"\n >\n {{ i18n.msgStr('oauthGrantPolicy') }}\n </a>\n }\n </h3>\n }\n <form\n class=\"form-actions\"\n method=\"post\"\n [action]=\"url.oauthAction\"\n >\n <input\n type=\"hidden\"\n name=\"code\"\n [value]=\"oauth.code\"\n />\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div id=\"kc-form-options\">\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\"></div>\n </div>\n\n <div id=\"kc-form-buttons\">\n <div [kcClass]=\"'kcFormButtonsWrapperClass'\">\n <input\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doYes')\"\n />\n <input\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doNo')\"\n />\n </div>\n </div>\n </div>\n </form>\n <div class=\"clearfix\"></div>\n</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-login-oauth-grant.mjs","sources":["../../src/login/pages/login-oauth-grant/login-oauth-grant.component.ts","../../src/login/pages/login-oauth-grant/login-oauth-grant.component.html","../../src/login/pages/login-oauth-grant/keycloakify-angular-login-pages-login-oauth-grant.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, type TemplateRef, viewChild } from '@angular/core';\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_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';\n\n@Component({\n imports: [KcClassDirective],\n selector: 'kc-login-oauth-grant',\n templateUrl: 'login-oauth-grant.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => LoginOauthGrantComponent)\n }\n ]\n})\nexport class LoginOauthGrantComponent extends ComponentReference {\n kcContext = inject<Extract<KcContext, { pageId: 'login-oauth-grant.ftl' }>>(KC_LOGIN_CONTEXT);\n i18n = inject<I18n>(LOGIN_I18N);\n\n documentTitle: string | undefined;\n bodyClassName = 'oauth';\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 client = kcContext.client;\n@let oauth = kcContext.oauth;\n@let url = kcContext.url;\n\n<ng-template #headerNode>\n @let client = kcContext.client;\n @if (client.attributes['logoUri']) {\n <img\n alt=\"\"\n [src]=\"client.attributes['logoUri']\"\n />\n }\n <p>\n {{ i18n.msgStr('oauthGrantTitle', client.name ? i18n.advancedMsgStr(client.name) : client.clientId) }}\n </p>\n</ng-template>\n\n<div\n id=\"kc-oauth\"\n class=\"content-area\"\n>\n <h3>{{ i18n.msgStr('oauthGrantRequest') }}</h3>\n <ul>\n @for (clientScope of oauth.clientScopesRequested; track clientScope) {\n <li>\n <span>\n {{ i18n.advancedMsgStr(clientScope.consentScreenText) }}\n @if (clientScope.dynamicScopeParameter) {\n : <b>{{ clientScope.dynamicScopeParameter }}</b>\n }\n </span>\n </li>\n }\n </ul>\n\n @if (client.attributes['policyUri'] || client.attributes['tosUri']) {\n <h3>\n @if (client.name) {\n {{ i18n.msgStr('oauthGrantInformation', i18n.advancedMsgStr(client.name)) }}\n } @else {\n {{ i18n.msgStr('oauthGrantInformation', client.clientId) }}\n }\n @if (client.attributes['policyUri']) {\n {{ i18n.msgStr('oauthGrantReview') }}\n <a\n target=\"_blank\"\n [href]=\"client.attributes['policyUri']\"\n >\n {{ i18n.msgStr('oauthGrantPolicy') }}\n </a>\n }\n </h3>\n }\n <form\n class=\"form-actions\"\n method=\"post\"\n [action]=\"url.oauthAction\"\n >\n <input\n type=\"hidden\"\n name=\"code\"\n [value]=\"oauth.code\"\n />\n <div [kcClass]=\"'kcFormGroupClass'\">\n <div id=\"kc-form-options\">\n <div [kcClass]=\"'kcFormOptionsWrapperClass'\"></div>\n </div>\n\n <div id=\"kc-form-buttons\">\n <div [kcClass]=\"'kcFormButtonsWrapperClass'\">\n <input\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doYes')\"\n />\n <input\n type=\"submit\"\n [kcClass]=\"['kcButtonClass', 'kcButtonDefaultClass', 'kcButtonLargeClass']\"\n [value]=\"i18n.msgStr('doNo')\"\n />\n </div>\n </div>\n </div>\n </form>\n <div class=\"clearfix\"></div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAoBM,MAAO,wBAAyB,SAAQ,kBAAkB,CAAA;AAZhE,IAAA,WAAA,GAAA;;AAaI,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAA0D,gBAAgB,CAAC;AAC7F,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAO,UAAU,CAAC;QAG/B,IAAA,CAAA,aAAa,GAAG,OAAO;QAEvB,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,sDAAC;AAC9D,QAAA,IAAA,CAAA,QAAQ,GAAG,SAAS,CAA2B,UAAU,oDAAC;AAC1D,QAAA,IAAA,CAAA,mBAAmB,GAAG,SAAS,CAA2B,qBAAqB,+DAAC;AACnF,IAAA;8GAdY,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,SAAA,EAPtB;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,wBAAwB;AACzD;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,EClBL,kyFAsFA,4CD7Ec,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,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAZpC,SAAS;8BACG,CAAC,gBAAgB,CAAC,EAAA,QAAA,EACjB,sBAAsB,mBAEf,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAE,UAAU,CAAC,8BAA8B;AACzD;AACJ,qBAAA,EAAA,QAAA,EAAA,kyFAAA,EAAA;wEAagD,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;;AEjCnF;;AAEG;;;;"}