@keycloakify/angular 0.0.10 → 0.1.0

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 (771) hide show
  1. package/account/DefaultPage/index.d.ts +1 -5
  2. package/account/KcContext/index.d.ts +1 -5
  3. package/account/classes/component-reference/index.d.ts +1 -5
  4. package/account/directives/kc-class/index.d.ts +1 -5
  5. package/account/i18n/index.d.ts +1 -5
  6. package/account/index.d.ts +1 -5
  7. package/account/pages/account/index.d.ts +1 -5
  8. package/account/pages/applications/index.d.ts +1 -5
  9. package/account/pages/federatedIdentity/index.d.ts +1 -5
  10. package/account/pages/log/index.d.ts +1 -5
  11. package/account/pages/password/index.d.ts +1 -5
  12. package/account/pages/sessions/index.d.ts +1 -5
  13. package/account/pages/totp/index.d.ts +1 -5
  14. package/account/providers/keycloakify-angular/index.d.ts +1 -5
  15. package/account/services/account-resource-injector/index.d.ts +1 -5
  16. package/account/services/i18n/index.d.ts +1 -5
  17. package/account/{containers/template → template}/template.component.d.ts +2 -9
  18. package/account/tokens/classes/index.d.ts +1 -5
  19. package/account/tokens/i18n/index.d.ts +1 -5
  20. package/account/tokens/kc-context/index.d.ts +1 -5
  21. package/bin/108.index.js +242 -0
  22. package/bin/338.index.js +105 -54
  23. package/bin/402.index.js +1250 -0
  24. package/bin/758.index.js +778 -53
  25. package/bin/{925.index.js → 84.index.js} +125 -625
  26. package/bin/main.js +63 -6
  27. package/esm2022/account/DefaultPage/index.mjs +2 -0
  28. package/esm2022/account/DefaultPage/keycloakify-angular-account-DefaultPage.mjs +2 -2
  29. package/esm2022/account/KcContext/index.mjs +2 -0
  30. package/esm2022/account/KcContext/keycloakify-angular-account-KcContext.mjs +2 -2
  31. package/esm2022/account/classes/component-reference/index.mjs +2 -0
  32. package/esm2022/account/classes/component-reference/keycloakify-angular-account-classes-component-reference.mjs +2 -2
  33. package/esm2022/account/directives/kc-class/index.mjs +2 -0
  34. package/esm2022/account/directives/kc-class/kc-class.directive.mjs +4 -4
  35. package/esm2022/account/directives/kc-class/keycloakify-angular-account-directives-kc-class.mjs +2 -2
  36. package/esm2022/account/i18n/index.mjs +2 -0
  37. package/esm2022/account/i18n/keycloakify-angular-account-i18n.mjs +2 -2
  38. package/esm2022/account/index.mjs +2 -0
  39. package/esm2022/account/keycloakify-angular-account.mjs +2 -2
  40. package/esm2022/account/pages/account/account.component.mjs +4 -4
  41. package/esm2022/account/pages/account/index.mjs +2 -0
  42. package/esm2022/account/pages/account/keycloakify-angular-account-pages-account.mjs +2 -2
  43. package/esm2022/account/pages/applications/applications.component.mjs +4 -4
  44. package/esm2022/account/pages/applications/index.mjs +2 -0
  45. package/esm2022/account/pages/applications/keycloakify-angular-account-pages-applications.mjs +2 -2
  46. package/esm2022/account/pages/federatedIdentity/federatedIdentity.component.mjs +4 -4
  47. package/esm2022/account/pages/federatedIdentity/index.mjs +2 -0
  48. package/esm2022/account/pages/federatedIdentity/keycloakify-angular-account-pages-federatedIdentity.mjs +2 -2
  49. package/esm2022/account/pages/log/index.mjs +2 -0
  50. package/esm2022/account/pages/log/keycloakify-angular-account-pages-log.mjs +2 -2
  51. package/esm2022/account/pages/log/log.component.mjs +4 -4
  52. package/esm2022/account/pages/password/index.mjs +2 -0
  53. package/esm2022/account/pages/password/keycloakify-angular-account-pages-password.mjs +2 -2
  54. package/esm2022/account/pages/password/password.component.mjs +4 -4
  55. package/esm2022/account/pages/sessions/index.mjs +2 -0
  56. package/esm2022/account/pages/sessions/keycloakify-angular-account-pages-sessions.mjs +2 -2
  57. package/esm2022/account/pages/sessions/sessions.component.mjs +4 -4
  58. package/esm2022/account/pages/totp/index.mjs +2 -0
  59. package/esm2022/account/pages/totp/keycloakify-angular-account-pages-totp.mjs +2 -2
  60. package/esm2022/account/pages/totp/totp.component.mjs +4 -4
  61. package/esm2022/account/providers/keycloakify-angular/index.mjs +2 -0
  62. package/esm2022/account/providers/keycloakify-angular/keycloakify-angular-account-providers-keycloakify-angular.mjs +2 -2
  63. package/esm2022/account/services/account-resource-injector/account-resource-injector.service.mjs +4 -4
  64. package/esm2022/account/services/account-resource-injector/index.mjs +2 -0
  65. package/esm2022/account/services/account-resource-injector/keycloakify-angular-account-services-account-resource-injector.mjs +2 -2
  66. package/esm2022/account/services/i18n/i18n.service.mjs +4 -4
  67. package/esm2022/account/services/i18n/index.mjs +2 -0
  68. package/esm2022/account/services/i18n/keycloakify-angular-account-services-i18n.mjs +2 -2
  69. package/esm2022/account/template/index.mjs +2 -0
  70. package/esm2022/account/template/keycloakify-angular-account-template.mjs +5 -0
  71. package/esm2022/account/template/template.component.mjs +83 -0
  72. package/esm2022/account/tokens/classes/index.mjs +2 -0
  73. package/esm2022/account/tokens/classes/keycloakify-angular-account-tokens-classes.mjs +2 -2
  74. package/esm2022/account/tokens/i18n/index.mjs +2 -0
  75. package/esm2022/account/tokens/i18n/keycloakify-angular-account-tokens-i18n.mjs +2 -2
  76. package/esm2022/account/tokens/kc-context/index.mjs +2 -0
  77. package/esm2022/account/tokens/kc-context/keycloakify-angular-account-tokens-kc-context.mjs +2 -2
  78. package/esm2022/index.mjs +2 -0
  79. package/esm2022/keycloakify-angular.mjs +2 -2
  80. package/esm2022/lib/directives/attributes/attributes.directive.mjs +4 -4
  81. package/esm2022/lib/directives/attributes/index.mjs +2 -0
  82. package/esm2022/lib/directives/attributes/keycloakify-angular-lib-directives-attributes.mjs +2 -2
  83. package/esm2022/lib/index.mjs +2 -0
  84. package/esm2022/lib/keycloakify-angular-lib.mjs +2 -2
  85. package/esm2022/lib/models/script/index.mjs +2 -0
  86. package/esm2022/lib/models/script/keycloakify-angular-lib-models-script.mjs +2 -2
  87. package/esm2022/lib/pipes/input-type/index.mjs +2 -0
  88. package/esm2022/lib/pipes/input-type/input-type.pipe.mjs +4 -4
  89. package/esm2022/lib/pipes/input-type/keycloakify-angular-lib-pipes-input-type.mjs +2 -2
  90. package/esm2022/lib/pipes/is-array-with-empty-object/index.mjs +2 -0
  91. package/esm2022/lib/pipes/is-array-with-empty-object/is-array-with-empty-object.pipe.mjs +4 -4
  92. package/esm2022/lib/pipes/is-array-with-empty-object/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs +2 -2
  93. package/esm2022/lib/pipes/kc-sanitize/index.mjs +2 -0
  94. package/esm2022/lib/pipes/kc-sanitize/kc-sanitize.pipe.mjs +4 -4
  95. package/esm2022/lib/pipes/kc-sanitize/keycloakify-angular-lib-pipes-kc-sanitize.mjs +2 -2
  96. package/esm2022/lib/pipes/to-array/index.mjs +2 -0
  97. package/esm2022/lib/pipes/to-array/keycloakify-angular-lib-pipes-to-array.mjs +2 -2
  98. package/esm2022/lib/pipes/to-array/to-array.pipe.mjs +4 -4
  99. package/esm2022/lib/pipes/to-number/index.mjs +2 -0
  100. package/esm2022/lib/pipes/to-number/keycloakify-angular-lib-pipes-to-number.mjs +2 -2
  101. package/esm2022/lib/pipes/to-number/to-number.pipe.mjs +4 -4
  102. package/esm2022/lib/services/resource-injector/index.mjs +2 -0
  103. package/esm2022/lib/services/resource-injector/keycloakify-angular-lib-services-resource-injector.mjs +2 -2
  104. package/esm2022/lib/services/resource-injector/resource-injector.service.mjs +4 -4
  105. package/esm2022/lib/tokens/use-default-css/index.mjs +2 -0
  106. package/esm2022/lib/tokens/use-default-css/keycloakify-angular-lib-tokens-use-default-css.mjs +2 -2
  107. package/esm2022/login/KcContext/index.mjs +2 -0
  108. package/esm2022/login/KcContext/keycloakify-angular-login-KcContext.mjs +2 -2
  109. package/esm2022/login/classes/component-reference/index.mjs +2 -0
  110. package/esm2022/login/classes/component-reference/keycloakify-angular-login-classes-component-reference.mjs +2 -2
  111. package/esm2022/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.mjs +4 -4
  112. package/esm2022/login/components/add-remove-buttons-multi-valued-attribute/index.mjs +2 -0
  113. package/esm2022/login/components/add-remove-buttons-multi-valued-attribute/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs +2 -2
  114. package/esm2022/login/components/field-errors/field-errors.component.mjs +4 -4
  115. package/esm2022/login/components/field-errors/index.mjs +2 -0
  116. package/esm2022/login/components/field-errors/keycloakify-angular-login-components-field-errors.mjs +2 -2
  117. package/esm2022/login/components/group-label/group-label.component.mjs +4 -4
  118. package/esm2022/login/components/group-label/index.mjs +2 -0
  119. package/esm2022/login/components/group-label/keycloakify-angular-login-components-group-label.mjs +2 -2
  120. package/esm2022/login/components/input-field-by-type/index.mjs +2 -0
  121. package/esm2022/login/components/input-field-by-type/input-field-by-type.component.mjs +4 -4
  122. package/esm2022/login/components/input-field-by-type/keycloakify-angular-login-components-input-field-by-type.mjs +2 -2
  123. package/esm2022/login/components/input-tag/index.mjs +2 -0
  124. package/esm2022/login/components/input-tag/input-tag.component.mjs +4 -4
  125. package/esm2022/login/components/input-tag/keycloakify-angular-login-components-input-tag.mjs +2 -2
  126. package/esm2022/login/components/input-tag-selects/index.mjs +2 -0
  127. package/esm2022/login/components/input-tag-selects/input-tag-selects.component.mjs +4 -4
  128. package/esm2022/login/components/input-tag-selects/keycloakify-angular-login-components-input-tag-selects.mjs +2 -2
  129. package/esm2022/login/components/logout-other-sessions/index.mjs +2 -0
  130. package/esm2022/login/components/logout-other-sessions/keycloakify-angular-login-components-logout-other-sessions.mjs +2 -2
  131. package/esm2022/login/components/logout-other-sessions/logout-other-sessions.component.mjs +4 -4
  132. package/esm2022/login/components/password-wrapper/index.mjs +2 -0
  133. package/esm2022/login/components/password-wrapper/keycloakify-angular-login-components-password-wrapper.mjs +2 -2
  134. package/esm2022/login/components/password-wrapper/password-wrapper.component.mjs +4 -4
  135. package/esm2022/login/components/select-tag/index.mjs +2 -0
  136. package/esm2022/login/components/select-tag/keycloakify-angular-login-components-select-tag.mjs +2 -2
  137. package/esm2022/login/components/select-tag/select-tag.component.mjs +4 -4
  138. package/esm2022/login/components/textarea-tag/index.mjs +2 -0
  139. package/esm2022/login/components/textarea-tag/keycloakify-angular-login-components-textarea-tag.mjs +2 -2
  140. package/esm2022/login/components/textarea-tag/textarea-tag.component.mjs +4 -4
  141. package/esm2022/login/components/user-profile-form-fields/index.mjs +2 -0
  142. package/esm2022/login/components/user-profile-form-fields/keycloakify-angular-login-components-user-profile-form-fields.mjs +2 -2
  143. package/esm2022/login/components/user-profile-form-fields/user-profile-form-fields.component.mjs +4 -4
  144. package/esm2022/login/directives/kc-class/index.mjs +2 -0
  145. package/esm2022/login/directives/kc-class/kc-class.directive.mjs +4 -4
  146. package/esm2022/login/directives/kc-class/keycloakify-angular-login-directives-kc-class.mjs +2 -2
  147. package/esm2022/login/i18n/index.mjs +2 -0
  148. package/esm2022/login/i18n/keycloakify-angular-login-i18n.mjs +2 -2
  149. package/esm2022/login/index.mjs +2 -0
  150. package/esm2022/login/keycloakify-angular-login.mjs +2 -2
  151. package/esm2022/login/pages/code/code.component.mjs +4 -4
  152. package/esm2022/login/pages/code/index.mjs +2 -0
  153. package/esm2022/login/pages/code/keycloakify-angular-login-pages-code.mjs +2 -2
  154. package/esm2022/login/pages/delete-account-confirm/delete-account-confirm.component.mjs +4 -4
  155. package/esm2022/login/pages/delete-account-confirm/index.mjs +2 -0
  156. package/esm2022/login/pages/delete-account-confirm/keycloakify-angular-login-pages-delete-account-confirm.mjs +2 -2
  157. package/esm2022/login/pages/delete-credential/delete-credential.component.mjs +4 -4
  158. package/esm2022/login/pages/delete-credential/index.mjs +2 -0
  159. package/esm2022/login/pages/delete-credential/keycloakify-angular-login-pages-delete-credential.mjs +2 -2
  160. package/esm2022/login/pages/error/error.component.mjs +4 -4
  161. package/esm2022/login/pages/error/index.mjs +2 -0
  162. package/esm2022/login/pages/error/keycloakify-angular-login-pages-error.mjs +2 -2
  163. package/esm2022/login/pages/frontchannel-logout/frontchannel-logout.component.mjs +4 -4
  164. package/esm2022/login/pages/frontchannel-logout/index.mjs +2 -0
  165. package/esm2022/login/pages/frontchannel-logout/keycloakify-angular-login-pages-frontchannel-logout.mjs +2 -2
  166. package/esm2022/login/pages/idp-review-user-profile/idp-review-user-profile.component.mjs +4 -4
  167. package/esm2022/login/pages/idp-review-user-profile/index.mjs +2 -0
  168. package/esm2022/login/pages/idp-review-user-profile/keycloakify-angular-login-pages-idp-review-user-profile.mjs +2 -2
  169. package/esm2022/login/pages/info/index.mjs +2 -0
  170. package/esm2022/login/pages/info/info.component.mjs +4 -4
  171. package/esm2022/login/pages/info/keycloakify-angular-login-pages-info.mjs +2 -2
  172. package/esm2022/login/pages/login/index.mjs +2 -0
  173. package/esm2022/login/pages/login/keycloakify-angular-login-pages-login.mjs +2 -2
  174. package/esm2022/login/pages/login/login.component.mjs +4 -4
  175. package/esm2022/login/pages/login-config-totp/index.mjs +2 -0
  176. package/esm2022/login/pages/login-config-totp/keycloakify-angular-login-pages-login-config-totp.mjs +2 -2
  177. package/esm2022/login/pages/login-config-totp/login-config-totp.component.mjs +4 -4
  178. package/esm2022/login/pages/login-idp-link-confirm/index.mjs +2 -0
  179. package/esm2022/login/pages/login-idp-link-confirm/keycloakify-angular-login-pages-login-idp-link-confirm.mjs +2 -2
  180. package/esm2022/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.mjs +4 -4
  181. package/esm2022/login/pages/login-idp-link-confirm-override/index.mjs +2 -0
  182. package/esm2022/login/pages/login-idp-link-confirm-override/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs +2 -2
  183. package/esm2022/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.mjs +4 -4
  184. package/esm2022/login/pages/login-idp-link-email/index.mjs +2 -0
  185. package/esm2022/login/pages/login-idp-link-email/keycloakify-angular-login-pages-login-idp-link-email.mjs +2 -2
  186. package/esm2022/login/pages/login-idp-link-email/login-idp-link-email.component.mjs +4 -4
  187. package/esm2022/login/pages/login-oauth-grant/index.mjs +2 -0
  188. package/esm2022/login/pages/login-oauth-grant/keycloakify-angular-login-pages-login-oauth-grant.mjs +2 -2
  189. package/esm2022/login/pages/login-oauth-grant/login-oauth-grant.component.mjs +4 -4
  190. package/esm2022/login/pages/login-oauth2-device-verify-user-code/index.mjs +2 -0
  191. package/esm2022/login/pages/login-oauth2-device-verify-user-code/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs +2 -2
  192. package/esm2022/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.mjs +4 -4
  193. package/esm2022/login/pages/login-otp/index.mjs +2 -0
  194. package/esm2022/login/pages/login-otp/keycloakify-angular-login-pages-login-otp.mjs +2 -2
  195. package/esm2022/login/pages/login-otp/login-otp.component.mjs +4 -4
  196. package/esm2022/login/pages/login-page-expired/index.mjs +2 -0
  197. package/esm2022/login/pages/login-page-expired/keycloakify-angular-login-pages-login-page-expired.mjs +2 -2
  198. package/esm2022/login/pages/login-page-expired/login-page-expired.component.mjs +4 -4
  199. package/esm2022/login/pages/login-passkeys-conditional-authenticate/index.mjs +2 -0
  200. package/esm2022/login/pages/login-passkeys-conditional-authenticate/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +2 -2
  201. package/esm2022/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.mjs +4 -4
  202. package/esm2022/login/pages/login-password/index.mjs +2 -0
  203. package/esm2022/login/pages/login-password/keycloakify-angular-login-pages-login-password.mjs +2 -2
  204. package/esm2022/login/pages/login-password/login-password.component.mjs +4 -4
  205. package/esm2022/login/pages/login-recovery-authn-code-config/index.mjs +2 -0
  206. package/esm2022/login/pages/login-recovery-authn-code-config/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs +2 -2
  207. package/esm2022/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.mjs +4 -4
  208. package/esm2022/login/pages/login-recovery-authn-code-input/index.mjs +2 -0
  209. package/esm2022/login/pages/login-recovery-authn-code-input/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +2 -2
  210. package/esm2022/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.mjs +4 -4
  211. package/esm2022/login/pages/login-reset-otp/index.mjs +2 -0
  212. package/esm2022/login/pages/login-reset-otp/keycloakify-angular-login-pages-login-reset-otp.mjs +2 -2
  213. package/esm2022/login/pages/login-reset-otp/login-reset-otp.component.mjs +4 -4
  214. package/esm2022/login/pages/login-reset-password/index.mjs +2 -0
  215. package/esm2022/login/pages/login-reset-password/keycloakify-angular-login-pages-login-reset-password.mjs +2 -2
  216. package/esm2022/login/pages/login-reset-password/login-reset-password.component.mjs +4 -4
  217. package/esm2022/login/pages/login-update-password/index.mjs +2 -0
  218. package/esm2022/login/pages/login-update-password/keycloakify-angular-login-pages-login-update-password.mjs +2 -2
  219. package/esm2022/login/pages/login-update-password/login-update-password.component.mjs +4 -4
  220. package/esm2022/login/pages/login-update-profile/index.mjs +2 -0
  221. package/esm2022/login/pages/login-update-profile/keycloakify-angular-login-pages-login-update-profile.mjs +2 -2
  222. package/esm2022/login/pages/login-update-profile/login-update-profile.component.mjs +4 -4
  223. package/esm2022/login/pages/login-username/index.mjs +2 -0
  224. package/esm2022/login/pages/login-username/keycloakify-angular-login-pages-login-username.mjs +2 -2
  225. package/esm2022/login/pages/login-username/login-username.component.mjs +4 -4
  226. package/esm2022/login/pages/login-verify-email/index.mjs +2 -0
  227. package/esm2022/login/pages/login-verify-email/keycloakify-angular-login-pages-login-verify-email.mjs +2 -2
  228. package/esm2022/login/pages/login-verify-email/login-verify-email.component.mjs +4 -4
  229. package/esm2022/login/pages/login-x509-info/index.mjs +2 -0
  230. package/esm2022/login/pages/login-x509-info/keycloakify-angular-login-pages-login-x509-info.mjs +2 -2
  231. package/esm2022/login/pages/login-x509-info/login-x509-info.component.mjs +4 -4
  232. package/esm2022/login/pages/logout-confirm/index.mjs +2 -0
  233. package/esm2022/login/pages/logout-confirm/keycloakify-angular-login-pages-logout-confirm.mjs +2 -2
  234. package/esm2022/login/pages/logout-confirm/logout-confirm.component.mjs +4 -4
  235. package/esm2022/login/pages/register/index.mjs +2 -0
  236. package/esm2022/login/pages/register/keycloakify-angular-login-pages-register.mjs +2 -2
  237. package/esm2022/login/pages/register/register.component.mjs +4 -4
  238. package/esm2022/login/pages/saml-post-form/index.mjs +2 -0
  239. package/esm2022/login/pages/saml-post-form/keycloakify-angular-login-pages-saml-post-form.mjs +2 -2
  240. package/esm2022/login/pages/saml-post-form/saml-post-form.component.mjs +4 -4
  241. package/esm2022/login/pages/select-authenticator/index.mjs +2 -0
  242. package/esm2022/login/pages/select-authenticator/keycloakify-angular-login-pages-select-authenticator.mjs +2 -2
  243. package/esm2022/login/pages/select-authenticator/select-authenticator.component.mjs +4 -4
  244. package/esm2022/login/pages/terms/index.mjs +2 -0
  245. package/esm2022/login/pages/terms/keycloakify-angular-login-pages-terms.mjs +2 -2
  246. package/esm2022/login/pages/terms/terms.component.mjs +4 -4
  247. package/esm2022/login/pages/update-email/index.mjs +2 -0
  248. package/esm2022/login/pages/update-email/keycloakify-angular-login-pages-update-email.mjs +2 -2
  249. package/esm2022/login/pages/update-email/update-email.component.mjs +4 -4
  250. package/esm2022/login/pages/webauthn-authenticate/index.mjs +2 -0
  251. package/esm2022/login/pages/webauthn-authenticate/keycloakify-angular-login-pages-webauthn-authenticate.mjs +2 -2
  252. package/esm2022/login/pages/webauthn-authenticate/webauthn-authenticate.component.mjs +4 -4
  253. package/esm2022/login/pages/webauthn-error/index.mjs +2 -0
  254. package/esm2022/login/pages/webauthn-error/keycloakify-angular-login-pages-webauthn-error.mjs +2 -2
  255. package/esm2022/login/pages/webauthn-error/webauthn-error.component.mjs +4 -4
  256. package/esm2022/login/pages/webauthn-register/index.mjs +2 -0
  257. package/esm2022/login/pages/webauthn-register/keycloakify-angular-login-pages-webauthn-register.mjs +2 -2
  258. package/esm2022/login/pages/webauthn-register/webauthn-register.component.mjs +4 -4
  259. package/esm2022/login/providers/keycloakify-angular/index.mjs +2 -0
  260. package/esm2022/login/providers/keycloakify-angular/keycloakify-angular-login-providers-keycloakify-angular.mjs +2 -2
  261. package/esm2022/login/services/i18n/i18n.service.mjs +4 -4
  262. package/esm2022/login/services/i18n/index.mjs +2 -0
  263. package/esm2022/login/services/i18n/keycloakify-angular-login-services-i18n.mjs +2 -2
  264. package/esm2022/login/services/login-resource-injector/index.mjs +2 -0
  265. package/esm2022/login/services/login-resource-injector/keycloakify-angular-login-services-login-resource-injector.mjs +2 -2
  266. package/esm2022/login/services/login-resource-injector/login-resource-injector.service.mjs +5 -5
  267. package/esm2022/login/services/user-profile-form/index.mjs +2 -0
  268. package/esm2022/login/services/user-profile-form/keycloakify-angular-login-services-user-profile-form.mjs +2 -2
  269. package/esm2022/login/services/user-profile-form/user-profile-form.service.mjs +4 -4
  270. package/esm2022/login/template/index.mjs +2 -0
  271. package/esm2022/login/template/keycloakify-angular-login-template.mjs +5 -0
  272. package/esm2022/login/template/template.component.mjs +123 -0
  273. package/esm2022/login/tokens/classes/index.mjs +2 -0
  274. package/esm2022/login/tokens/classes/keycloakify-angular-login-tokens-classes.mjs +2 -2
  275. package/esm2022/login/tokens/i18n/index.mjs +2 -0
  276. package/esm2022/login/tokens/i18n/keycloakify-angular-login-tokens-i18n.mjs +2 -2
  277. package/esm2022/login/tokens/kc-context/index.mjs +2 -0
  278. package/esm2022/login/tokens/kc-context/keycloakify-angular-login-tokens-kc-context.mjs +2 -2
  279. package/esm2022/login/tokens/make-user-confirm-password/index.mjs +2 -0
  280. package/esm2022/login/tokens/make-user-confirm-password/keycloakify-angular-login-tokens-make-user-confirm-password.mjs +2 -2
  281. package/fesm2022/keycloakify-angular-account-DefaultPage.mjs.map +1 -1
  282. package/fesm2022/keycloakify-angular-account-KcContext.mjs.map +1 -1
  283. package/fesm2022/keycloakify-angular-account-classes-component-reference.mjs.map +1 -1
  284. package/fesm2022/keycloakify-angular-account-directives-kc-class.mjs +3 -3
  285. package/fesm2022/keycloakify-angular-account-directives-kc-class.mjs.map +1 -1
  286. package/fesm2022/keycloakify-angular-account-i18n.mjs.map +1 -1
  287. package/fesm2022/keycloakify-angular-account-pages-account.mjs +3 -3
  288. package/fesm2022/keycloakify-angular-account-pages-account.mjs.map +1 -1
  289. package/fesm2022/keycloakify-angular-account-pages-applications.mjs +3 -3
  290. package/fesm2022/keycloakify-angular-account-pages-applications.mjs.map +1 -1
  291. package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs +3 -3
  292. package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs.map +1 -1
  293. package/fesm2022/keycloakify-angular-account-pages-log.mjs +3 -3
  294. package/fesm2022/keycloakify-angular-account-pages-log.mjs.map +1 -1
  295. package/fesm2022/keycloakify-angular-account-pages-password.mjs +3 -3
  296. package/fesm2022/keycloakify-angular-account-pages-password.mjs.map +1 -1
  297. package/fesm2022/keycloakify-angular-account-pages-sessions.mjs +3 -3
  298. package/fesm2022/keycloakify-angular-account-pages-sessions.mjs.map +1 -1
  299. package/fesm2022/keycloakify-angular-account-pages-totp.mjs +3 -3
  300. package/fesm2022/keycloakify-angular-account-pages-totp.mjs.map +1 -1
  301. package/fesm2022/keycloakify-angular-account-providers-keycloakify-angular.mjs.map +1 -1
  302. package/fesm2022/keycloakify-angular-account-services-account-resource-injector.mjs +3 -3
  303. package/fesm2022/keycloakify-angular-account-services-account-resource-injector.mjs.map +1 -1
  304. package/fesm2022/keycloakify-angular-account-services-i18n.mjs +3 -3
  305. package/fesm2022/keycloakify-angular-account-services-i18n.mjs.map +1 -1
  306. package/fesm2022/keycloakify-angular-account-template.mjs +90 -0
  307. package/fesm2022/keycloakify-angular-account-template.mjs.map +1 -0
  308. package/fesm2022/keycloakify-angular-account-tokens-classes.mjs.map +1 -1
  309. package/fesm2022/keycloakify-angular-account-tokens-i18n.mjs.map +1 -1
  310. package/fesm2022/keycloakify-angular-account-tokens-kc-context.mjs.map +1 -1
  311. package/fesm2022/keycloakify-angular-account.mjs.map +1 -1
  312. package/fesm2022/keycloakify-angular-lib-directives-attributes.mjs +3 -3
  313. package/fesm2022/keycloakify-angular-lib-directives-attributes.mjs.map +1 -1
  314. package/fesm2022/keycloakify-angular-lib-models-script.mjs.map +1 -1
  315. package/fesm2022/keycloakify-angular-lib-pipes-input-type.mjs +3 -3
  316. package/fesm2022/keycloakify-angular-lib-pipes-input-type.mjs.map +1 -1
  317. package/fesm2022/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs +3 -3
  318. package/fesm2022/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs.map +1 -1
  319. package/fesm2022/keycloakify-angular-lib-pipes-kc-sanitize.mjs +3 -3
  320. package/fesm2022/keycloakify-angular-lib-pipes-kc-sanitize.mjs.map +1 -1
  321. package/fesm2022/keycloakify-angular-lib-pipes-to-array.mjs +3 -3
  322. package/fesm2022/keycloakify-angular-lib-pipes-to-array.mjs.map +1 -1
  323. package/fesm2022/keycloakify-angular-lib-pipes-to-number.mjs +3 -3
  324. package/fesm2022/keycloakify-angular-lib-pipes-to-number.mjs.map +1 -1
  325. package/fesm2022/keycloakify-angular-lib-services-resource-injector.mjs +3 -3
  326. package/fesm2022/keycloakify-angular-lib-services-resource-injector.mjs.map +1 -1
  327. package/fesm2022/keycloakify-angular-lib-tokens-use-default-css.mjs.map +1 -1
  328. package/fesm2022/keycloakify-angular-lib.mjs.map +1 -1
  329. package/fesm2022/keycloakify-angular-login-KcContext.mjs.map +1 -1
  330. package/fesm2022/keycloakify-angular-login-classes-component-reference.mjs.map +1 -1
  331. package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs +3 -3
  332. package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs.map +1 -1
  333. package/fesm2022/keycloakify-angular-login-components-field-errors.mjs +3 -3
  334. package/fesm2022/keycloakify-angular-login-components-field-errors.mjs.map +1 -1
  335. package/fesm2022/keycloakify-angular-login-components-group-label.mjs +3 -3
  336. package/fesm2022/keycloakify-angular-login-components-group-label.mjs.map +1 -1
  337. package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs +3 -3
  338. package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs.map +1 -1
  339. package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs +3 -3
  340. package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs.map +1 -1
  341. package/fesm2022/keycloakify-angular-login-components-input-tag.mjs +3 -3
  342. package/fesm2022/keycloakify-angular-login-components-input-tag.mjs.map +1 -1
  343. package/fesm2022/keycloakify-angular-login-components-logout-other-sessions.mjs +3 -3
  344. package/fesm2022/keycloakify-angular-login-components-logout-other-sessions.mjs.map +1 -1
  345. package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs +3 -3
  346. package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs.map +1 -1
  347. package/fesm2022/keycloakify-angular-login-components-select-tag.mjs +3 -3
  348. package/fesm2022/keycloakify-angular-login-components-select-tag.mjs.map +1 -1
  349. package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs +3 -3
  350. package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs.map +1 -1
  351. package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs +3 -3
  352. package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs.map +1 -1
  353. package/fesm2022/keycloakify-angular-login-directives-kc-class.mjs +3 -3
  354. package/fesm2022/keycloakify-angular-login-directives-kc-class.mjs.map +1 -1
  355. package/fesm2022/keycloakify-angular-login-i18n.mjs.map +1 -1
  356. package/fesm2022/keycloakify-angular-login-pages-code.mjs +3 -3
  357. package/fesm2022/keycloakify-angular-login-pages-code.mjs.map +1 -1
  358. package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs +3 -3
  359. package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs.map +1 -1
  360. package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs +3 -3
  361. package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs.map +1 -1
  362. package/fesm2022/keycloakify-angular-login-pages-error.mjs +3 -3
  363. package/fesm2022/keycloakify-angular-login-pages-error.mjs.map +1 -1
  364. package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs +3 -3
  365. package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs.map +1 -1
  366. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs +3 -3
  367. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs.map +1 -1
  368. package/fesm2022/keycloakify-angular-login-pages-info.mjs +3 -3
  369. package/fesm2022/keycloakify-angular-login-pages-info.mjs.map +1 -1
  370. package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs +3 -3
  371. package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs.map +1 -1
  372. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs +3 -3
  373. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs.map +1 -1
  374. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs +3 -3
  375. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs.map +1 -1
  376. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs +3 -3
  377. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs.map +1 -1
  378. package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs +3 -3
  379. package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs.map +1 -1
  380. package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs +3 -3
  381. package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs.map +1 -1
  382. package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs +3 -3
  383. package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs.map +1 -1
  384. package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs +3 -3
  385. package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs.map +1 -1
  386. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +3 -3
  387. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs.map +1 -1
  388. package/fesm2022/keycloakify-angular-login-pages-login-password.mjs +3 -3
  389. package/fesm2022/keycloakify-angular-login-pages-login-password.mjs.map +1 -1
  390. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs +3 -3
  391. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs.map +1 -1
  392. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +3 -3
  393. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs.map +1 -1
  394. package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs +3 -3
  395. package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs.map +1 -1
  396. package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs +3 -3
  397. package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs.map +1 -1
  398. package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs +3 -3
  399. package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs.map +1 -1
  400. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs +3 -3
  401. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs.map +1 -1
  402. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs +3 -3
  403. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs.map +1 -1
  404. package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs +3 -3
  405. package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs.map +1 -1
  406. package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs +3 -3
  407. package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs.map +1 -1
  408. package/fesm2022/keycloakify-angular-login-pages-login.mjs +3 -3
  409. package/fesm2022/keycloakify-angular-login-pages-login.mjs.map +1 -1
  410. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs +3 -3
  411. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs.map +1 -1
  412. package/fesm2022/keycloakify-angular-login-pages-register.mjs +3 -3
  413. package/fesm2022/keycloakify-angular-login-pages-register.mjs.map +1 -1
  414. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs +3 -3
  415. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs.map +1 -1
  416. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs +3 -3
  417. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs.map +1 -1
  418. package/fesm2022/keycloakify-angular-login-pages-terms.mjs +3 -3
  419. package/fesm2022/keycloakify-angular-login-pages-terms.mjs.map +1 -1
  420. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs +3 -3
  421. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs.map +1 -1
  422. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs +3 -3
  423. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs.map +1 -1
  424. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs +3 -3
  425. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs.map +1 -1
  426. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs +3 -3
  427. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs.map +1 -1
  428. package/fesm2022/keycloakify-angular-login-providers-keycloakify-angular.mjs.map +1 -1
  429. package/fesm2022/keycloakify-angular-login-services-i18n.mjs +3 -3
  430. package/fesm2022/keycloakify-angular-login-services-i18n.mjs.map +1 -1
  431. package/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs +4 -4
  432. package/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs.map +1 -1
  433. package/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs +3 -3
  434. package/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs.map +1 -1
  435. package/fesm2022/keycloakify-angular-login-template.mjs +130 -0
  436. package/fesm2022/keycloakify-angular-login-template.mjs.map +1 -0
  437. package/fesm2022/keycloakify-angular-login-tokens-classes.mjs.map +1 -1
  438. package/fesm2022/keycloakify-angular-login-tokens-i18n.mjs.map +1 -1
  439. package/fesm2022/keycloakify-angular-login-tokens-kc-context.mjs.map +1 -1
  440. package/fesm2022/keycloakify-angular-login-tokens-make-user-confirm-password.mjs.map +1 -1
  441. package/fesm2022/keycloakify-angular-login.mjs.map +1 -1
  442. package/fesm2022/keycloakify-angular.mjs.map +1 -1
  443. package/index.d.ts +1 -5
  444. package/lib/directives/attributes/index.d.ts +1 -5
  445. package/lib/index.d.ts +1 -5
  446. package/lib/models/script/index.d.ts +1 -5
  447. package/lib/pipes/input-type/index.d.ts +1 -5
  448. package/lib/pipes/is-array-with-empty-object/index.d.ts +1 -5
  449. package/lib/pipes/kc-sanitize/index.d.ts +1 -5
  450. package/lib/pipes/to-array/index.d.ts +1 -5
  451. package/lib/pipes/to-number/index.d.ts +1 -5
  452. package/lib/services/resource-injector/index.d.ts +1 -5
  453. package/lib/tokens/use-default-css/index.d.ts +1 -5
  454. package/login/KcContext/index.d.ts +1 -5
  455. package/login/classes/component-reference/index.d.ts +1 -5
  456. package/login/components/add-remove-buttons-multi-valued-attribute/index.d.ts +1 -5
  457. package/login/components/field-errors/index.d.ts +1 -5
  458. package/login/components/group-label/index.d.ts +1 -5
  459. package/login/components/input-field-by-type/index.d.ts +1 -5
  460. package/login/components/input-tag/index.d.ts +1 -5
  461. package/login/components/input-tag-selects/index.d.ts +1 -5
  462. package/login/components/logout-other-sessions/index.d.ts +1 -5
  463. package/login/components/password-wrapper/index.d.ts +1 -5
  464. package/login/components/select-tag/index.d.ts +1 -5
  465. package/login/components/textarea-tag/index.d.ts +1 -5
  466. package/login/components/user-profile-form-fields/index.d.ts +1 -5
  467. package/login/directives/kc-class/index.d.ts +1 -5
  468. package/login/i18n/index.d.ts +1 -5
  469. package/login/index.d.ts +1 -5
  470. package/login/pages/code/index.d.ts +1 -5
  471. package/login/pages/delete-account-confirm/index.d.ts +1 -5
  472. package/login/pages/delete-credential/index.d.ts +1 -5
  473. package/login/pages/error/index.d.ts +1 -5
  474. package/login/pages/frontchannel-logout/index.d.ts +1 -5
  475. package/login/pages/idp-review-user-profile/index.d.ts +1 -5
  476. package/login/pages/info/index.d.ts +1 -5
  477. package/login/pages/login/index.d.ts +1 -5
  478. package/login/pages/login-config-totp/index.d.ts +1 -5
  479. package/login/pages/login-idp-link-confirm/index.d.ts +1 -5
  480. package/login/pages/login-idp-link-confirm-override/index.d.ts +1 -5
  481. package/login/pages/login-idp-link-email/index.d.ts +1 -5
  482. package/login/pages/login-oauth-grant/index.d.ts +1 -5
  483. package/login/pages/login-oauth2-device-verify-user-code/index.d.ts +1 -5
  484. package/login/pages/login-otp/index.d.ts +1 -5
  485. package/login/pages/login-page-expired/index.d.ts +1 -5
  486. package/login/pages/login-passkeys-conditional-authenticate/index.d.ts +1 -5
  487. package/login/pages/login-password/index.d.ts +1 -5
  488. package/login/pages/login-recovery-authn-code-config/index.d.ts +1 -5
  489. package/login/pages/login-recovery-authn-code-input/index.d.ts +1 -5
  490. package/login/pages/login-reset-otp/index.d.ts +1 -5
  491. package/login/pages/login-reset-password/index.d.ts +1 -5
  492. package/login/pages/login-update-password/index.d.ts +1 -5
  493. package/login/pages/login-update-profile/index.d.ts +1 -5
  494. package/login/pages/login-username/index.d.ts +1 -5
  495. package/login/pages/login-verify-email/index.d.ts +1 -5
  496. package/login/pages/login-x509-info/index.d.ts +1 -5
  497. package/login/pages/logout-confirm/index.d.ts +1 -5
  498. package/login/pages/register/index.d.ts +1 -5
  499. package/login/pages/saml-post-form/index.d.ts +1 -5
  500. package/login/pages/select-authenticator/index.d.ts +1 -5
  501. package/login/pages/terms/index.d.ts +1 -5
  502. package/login/pages/update-email/index.d.ts +1 -5
  503. package/login/pages/webauthn-authenticate/index.d.ts +1 -5
  504. package/login/pages/webauthn-error/index.d.ts +1 -5
  505. package/login/pages/webauthn-register/index.d.ts +1 -5
  506. package/login/providers/keycloakify-angular/index.d.ts +1 -5
  507. package/login/services/i18n/index.d.ts +1 -5
  508. package/login/services/login-resource-injector/index.d.ts +1 -5
  509. package/login/services/user-profile-form/index.d.ts +1 -5
  510. package/login/{containers/template → template}/template.component.d.ts +2 -10
  511. package/login/tokens/classes/index.d.ts +1 -5
  512. package/login/tokens/i18n/index.d.ts +1 -5
  513. package/login/tokens/kc-context/index.d.ts +1 -5
  514. package/login/tokens/make-user-confirm-password/index.d.ts +1 -5
  515. package/package.json +21 -21
  516. package/src/account/{containers/template → template}/template.component.html +2 -7
  517. package/src/account/{containers/template → template}/template.component.ts +18 -23
  518. package/src/bin/add-story.ts +126 -0
  519. package/src/bin/eject-page.ts +50 -12
  520. package/src/bin/initialize-account-theme/boilerplate/KcPage.ts +1 -1
  521. package/src/bin/initialize-account-theme/index.ts +1 -0
  522. package/src/bin/main.ts +2 -4
  523. package/src/bin/tools/nodeModulesBinDirPath.ts +38 -0
  524. package/src/bin/tools/runPrettier.ts +89 -0
  525. package/src/bin/tools/transformCodebase_async.ts +89 -0
  526. package/src/bin/update-kc-gen.ts +21 -15
  527. package/src/login/services/login-resource-injector/login-resource-injector.service.ts +1 -1
  528. package/src/login/{containers/template → template}/template.component.html +2 -8
  529. package/src/login/{containers/template → template}/template.component.ts +23 -29
  530. package/stories/account/pages/account.stories.ts +133 -0
  531. package/stories/account/pages/applications.stories.ts +196 -0
  532. package/stories/account/pages/federated-identity.stories.ts +78 -0
  533. package/stories/account/pages/log.stories.ts +147 -0
  534. package/stories/account/pages/password.stories.ts +104 -0
  535. package/stories/account/pages/sessions.stories.ts +143 -0
  536. package/stories/account/pages/totp.stories.ts +100 -0
  537. package/stories/login/pages/code.stories.ts +51 -0
  538. package/stories/login/pages/delete-account-confirm.stories.ts +43 -0
  539. package/stories/login/pages/delete-credential.stories.ts +56 -0
  540. package/stories/login/pages/error.stories.ts +56 -0
  541. package/stories/login/pages/frontchannel-logout.stories.ts +26 -0
  542. package/stories/login/pages/idp-review-user-profile.stories.ts +60 -0
  543. package/stories/login/pages/info.stories.ts +94 -0
  544. package/stories/login/pages/login-config-totp.stories.ts +57 -0
  545. package/stories/login/pages/login-device-verify-user-code.stories.ts +14 -0
  546. package/stories/login/pages/login-idp-link-confirm-override.stories.ts +17 -0
  547. package/stories/login/pages/login-idp-link-confirm.stories.ts +103 -0
  548. package/stories/login/pages/login-idp-link-email.stories.ts +102 -0
  549. package/stories/login/pages/login-oauth-grant.stories.ts +68 -0
  550. package/stories/login/pages/login-oauth2-device-verify-user-code.stories.ts +15 -0
  551. package/stories/login/pages/login-otp.stories.ts +94 -0
  552. package/stories/login/pages/login-page-expired.stories.ts +31 -0
  553. package/stories/login/pages/login-passkeys-conditional-authenticate.stories.ts +16 -0
  554. package/stories/login/pages/login-password.stories.ts +52 -0
  555. package/stories/login/pages/login-recovery-authn-code-config.stories.ts +31 -0
  556. package/stories/login/pages/login-recovery-authn-code-input.stories.ts +16 -0
  557. package/stories/login/pages/login-reset-otp.stories.ts +71 -0
  558. package/stories/login/pages/login-reset-password.stories.ts +50 -0
  559. package/stories/login/pages/login-update-password.stories.ts +46 -0
  560. package/stories/login/pages/login-update-profile.stories.ts +31 -0
  561. package/stories/login/pages/login-username.stories.ts +28 -0
  562. package/stories/login/pages/login-verify-email.stories.ts +98 -0
  563. package/stories/login/pages/login-x509-info.stories.ts +40 -0
  564. package/stories/login/pages/login.stories.ts +260 -0
  565. package/stories/login/pages/logout-confirm.stories.ts +44 -0
  566. package/stories/login/pages/register.stories.ts +230 -0
  567. package/stories/login/pages/saml-post-form.stories.ts +17 -0
  568. package/stories/login/pages/select-authenticator.stories.ts +95 -0
  569. package/stories/login/pages/terms.stories.ts +79 -0
  570. package/stories/login/pages/update-email.stories.ts +31 -0
  571. package/stories/login/pages/webauthn-authenticate.stories.ts +126 -0
  572. package/stories/login/pages/webauthn-error.stories.ts +62 -0
  573. package/stories/login/pages/webauthn-register.stories.ts +46 -0
  574. package/account/DefaultPage/public-api.d.ts +0 -1
  575. package/account/KcContext/public-api.d.ts +0 -1
  576. package/account/classes/component-reference/public-api.d.ts +0 -1
  577. package/account/containers/template/index.d.ts +0 -5
  578. package/account/directives/kc-class/public-api.d.ts +0 -1
  579. package/account/i18n/public-api.d.ts +0 -1
  580. package/account/pages/account/public-api.d.ts +0 -1
  581. package/account/pages/applications/public-api.d.ts +0 -1
  582. package/account/pages/federatedIdentity/public-api.d.ts +0 -1
  583. package/account/pages/log/public-api.d.ts +0 -1
  584. package/account/pages/password/public-api.d.ts +0 -1
  585. package/account/pages/sessions/public-api.d.ts +0 -1
  586. package/account/pages/totp/public-api.d.ts +0 -1
  587. package/account/providers/keycloakify-angular/public-api.d.ts +0 -1
  588. package/account/public-api.d.ts +0 -1
  589. package/account/services/account-resource-injector/public-api.d.ts +0 -1
  590. package/account/services/i18n/public-api.d.ts +0 -1
  591. package/account/tokens/classes/public-api.d.ts +0 -1
  592. package/account/tokens/i18n/public-api.d.ts +0 -1
  593. package/account/tokens/kc-context/public-api.d.ts +0 -1
  594. package/esm2022/account/DefaultPage/public-api.mjs +0 -2
  595. package/esm2022/account/KcContext/public-api.mjs +0 -2
  596. package/esm2022/account/classes/component-reference/public-api.mjs +0 -2
  597. package/esm2022/account/containers/template/keycloakify-angular-account-containers-template.mjs +0 -5
  598. package/esm2022/account/containers/template/public-api.mjs +0 -2
  599. package/esm2022/account/containers/template/template.component.mjs +0 -97
  600. package/esm2022/account/directives/kc-class/public-api.mjs +0 -2
  601. package/esm2022/account/i18n/public-api.mjs +0 -2
  602. package/esm2022/account/pages/account/public-api.mjs +0 -2
  603. package/esm2022/account/pages/applications/public-api.mjs +0 -2
  604. package/esm2022/account/pages/federatedIdentity/public-api.mjs +0 -2
  605. package/esm2022/account/pages/log/public-api.mjs +0 -2
  606. package/esm2022/account/pages/password/public-api.mjs +0 -2
  607. package/esm2022/account/pages/sessions/public-api.mjs +0 -2
  608. package/esm2022/account/pages/totp/public-api.mjs +0 -2
  609. package/esm2022/account/providers/keycloakify-angular/public-api.mjs +0 -2
  610. package/esm2022/account/public-api.mjs +0 -2
  611. package/esm2022/account/services/account-resource-injector/public-api.mjs +0 -2
  612. package/esm2022/account/services/i18n/public-api.mjs +0 -2
  613. package/esm2022/account/tokens/classes/public-api.mjs +0 -2
  614. package/esm2022/account/tokens/i18n/public-api.mjs +0 -2
  615. package/esm2022/account/tokens/kc-context/public-api.mjs +0 -2
  616. package/esm2022/lib/directives/attributes/public-api.mjs +0 -2
  617. package/esm2022/lib/models/script/public-api.mjs +0 -2
  618. package/esm2022/lib/pipes/input-type/public-api.mjs +0 -2
  619. package/esm2022/lib/pipes/is-array-with-empty-object/public-api.mjs +0 -2
  620. package/esm2022/lib/pipes/kc-sanitize/public-api.mjs +0 -2
  621. package/esm2022/lib/pipes/to-array/public-api.mjs +0 -2
  622. package/esm2022/lib/pipes/to-number/public-api.mjs +0 -2
  623. package/esm2022/lib/public-api.mjs +0 -2
  624. package/esm2022/lib/services/resource-injector/public-api.mjs +0 -2
  625. package/esm2022/lib/tokens/use-default-css/public-api.mjs +0 -2
  626. package/esm2022/login/KcContext/public-api.mjs +0 -2
  627. package/esm2022/login/classes/component-reference/public-api.mjs +0 -2
  628. package/esm2022/login/components/add-remove-buttons-multi-valued-attribute/public-api.mjs +0 -2
  629. package/esm2022/login/components/field-errors/public-api.mjs +0 -2
  630. package/esm2022/login/components/group-label/public-api.mjs +0 -2
  631. package/esm2022/login/components/input-field-by-type/public-api.mjs +0 -2
  632. package/esm2022/login/components/input-tag/public-api.mjs +0 -2
  633. package/esm2022/login/components/input-tag-selects/public-api.mjs +0 -2
  634. package/esm2022/login/components/logout-other-sessions/public-api.mjs +0 -2
  635. package/esm2022/login/components/password-wrapper/public-api.mjs +0 -2
  636. package/esm2022/login/components/select-tag/public-api.mjs +0 -2
  637. package/esm2022/login/components/textarea-tag/public-api.mjs +0 -2
  638. package/esm2022/login/components/user-profile-form-fields/public-api.mjs +0 -2
  639. package/esm2022/login/containers/template/keycloakify-angular-login-containers-template.mjs +0 -5
  640. package/esm2022/login/containers/template/public-api.mjs +0 -2
  641. package/esm2022/login/containers/template/template.component.mjs +0 -138
  642. package/esm2022/login/directives/kc-class/public-api.mjs +0 -2
  643. package/esm2022/login/i18n/public-api.mjs +0 -2
  644. package/esm2022/login/pages/code/public-api.mjs +0 -2
  645. package/esm2022/login/pages/delete-account-confirm/public-api.mjs +0 -2
  646. package/esm2022/login/pages/delete-credential/public-api.mjs +0 -2
  647. package/esm2022/login/pages/error/public-api.mjs +0 -2
  648. package/esm2022/login/pages/frontchannel-logout/public-api.mjs +0 -2
  649. package/esm2022/login/pages/idp-review-user-profile/public-api.mjs +0 -2
  650. package/esm2022/login/pages/info/public-api.mjs +0 -2
  651. package/esm2022/login/pages/login/public-api.mjs +0 -2
  652. package/esm2022/login/pages/login-config-totp/public-api.mjs +0 -2
  653. package/esm2022/login/pages/login-idp-link-confirm/public-api.mjs +0 -2
  654. package/esm2022/login/pages/login-idp-link-confirm-override/public-api.mjs +0 -2
  655. package/esm2022/login/pages/login-idp-link-email/public-api.mjs +0 -2
  656. package/esm2022/login/pages/login-oauth-grant/public-api.mjs +0 -2
  657. package/esm2022/login/pages/login-oauth2-device-verify-user-code/public-api.mjs +0 -2
  658. package/esm2022/login/pages/login-otp/public-api.mjs +0 -2
  659. package/esm2022/login/pages/login-page-expired/public-api.mjs +0 -2
  660. package/esm2022/login/pages/login-passkeys-conditional-authenticate/public-api.mjs +0 -2
  661. package/esm2022/login/pages/login-password/public-api.mjs +0 -2
  662. package/esm2022/login/pages/login-recovery-authn-code-config/public-api.mjs +0 -2
  663. package/esm2022/login/pages/login-recovery-authn-code-input/public-api.mjs +0 -2
  664. package/esm2022/login/pages/login-reset-otp/public-api.mjs +0 -2
  665. package/esm2022/login/pages/login-reset-password/public-api.mjs +0 -2
  666. package/esm2022/login/pages/login-update-password/public-api.mjs +0 -2
  667. package/esm2022/login/pages/login-update-profile/public-api.mjs +0 -2
  668. package/esm2022/login/pages/login-username/public-api.mjs +0 -2
  669. package/esm2022/login/pages/login-verify-email/public-api.mjs +0 -2
  670. package/esm2022/login/pages/login-x509-info/public-api.mjs +0 -2
  671. package/esm2022/login/pages/logout-confirm/public-api.mjs +0 -2
  672. package/esm2022/login/pages/register/public-api.mjs +0 -2
  673. package/esm2022/login/pages/saml-post-form/public-api.mjs +0 -2
  674. package/esm2022/login/pages/select-authenticator/public-api.mjs +0 -2
  675. package/esm2022/login/pages/terms/public-api.mjs +0 -2
  676. package/esm2022/login/pages/update-email/public-api.mjs +0 -2
  677. package/esm2022/login/pages/webauthn-authenticate/public-api.mjs +0 -2
  678. package/esm2022/login/pages/webauthn-error/public-api.mjs +0 -2
  679. package/esm2022/login/pages/webauthn-register/public-api.mjs +0 -2
  680. package/esm2022/login/providers/keycloakify-angular/public-api.mjs +0 -2
  681. package/esm2022/login/public-api.mjs +0 -2
  682. package/esm2022/login/services/i18n/public-api.mjs +0 -2
  683. package/esm2022/login/services/login-resource-injector/public-api.mjs +0 -2
  684. package/esm2022/login/services/user-profile-form/public-api.mjs +0 -2
  685. package/esm2022/login/tokens/classes/public-api.mjs +0 -2
  686. package/esm2022/login/tokens/i18n/public-api.mjs +0 -2
  687. package/esm2022/login/tokens/kc-context/public-api.mjs +0 -2
  688. package/esm2022/login/tokens/make-user-confirm-password/public-api.mjs +0 -2
  689. package/esm2022/public-api.mjs +0 -2
  690. package/fesm2022/keycloakify-angular-account-containers-template.mjs +0 -104
  691. package/fesm2022/keycloakify-angular-account-containers-template.mjs.map +0 -1
  692. package/fesm2022/keycloakify-angular-login-containers-template.mjs +0 -145
  693. package/fesm2022/keycloakify-angular-login-containers-template.mjs.map +0 -1
  694. package/lib/directives/attributes/public-api.d.ts +0 -1
  695. package/lib/models/script/public-api.d.ts +0 -1
  696. package/lib/pipes/input-type/public-api.d.ts +0 -1
  697. package/lib/pipes/is-array-with-empty-object/public-api.d.ts +0 -1
  698. package/lib/pipes/kc-sanitize/public-api.d.ts +0 -1
  699. package/lib/pipes/to-array/public-api.d.ts +0 -1
  700. package/lib/pipes/to-number/public-api.d.ts +0 -1
  701. package/lib/public-api.d.ts +0 -1
  702. package/lib/services/resource-injector/public-api.d.ts +0 -1
  703. package/lib/tokens/use-default-css/public-api.d.ts +0 -1
  704. package/login/KcContext/public-api.d.ts +0 -1
  705. package/login/classes/component-reference/public-api.d.ts +0 -1
  706. package/login/components/add-remove-buttons-multi-valued-attribute/public-api.d.ts +0 -1
  707. package/login/components/field-errors/public-api.d.ts +0 -1
  708. package/login/components/group-label/public-api.d.ts +0 -1
  709. package/login/components/input-field-by-type/public-api.d.ts +0 -1
  710. package/login/components/input-tag/public-api.d.ts +0 -1
  711. package/login/components/input-tag-selects/public-api.d.ts +0 -1
  712. package/login/components/logout-other-sessions/public-api.d.ts +0 -1
  713. package/login/components/password-wrapper/public-api.d.ts +0 -1
  714. package/login/components/select-tag/public-api.d.ts +0 -1
  715. package/login/components/textarea-tag/public-api.d.ts +0 -1
  716. package/login/components/user-profile-form-fields/public-api.d.ts +0 -1
  717. package/login/containers/template/index.d.ts +0 -5
  718. package/login/directives/kc-class/public-api.d.ts +0 -1
  719. package/login/i18n/public-api.d.ts +0 -1
  720. package/login/pages/code/public-api.d.ts +0 -1
  721. package/login/pages/delete-account-confirm/public-api.d.ts +0 -1
  722. package/login/pages/delete-credential/public-api.d.ts +0 -1
  723. package/login/pages/error/public-api.d.ts +0 -1
  724. package/login/pages/frontchannel-logout/public-api.d.ts +0 -1
  725. package/login/pages/idp-review-user-profile/public-api.d.ts +0 -1
  726. package/login/pages/info/public-api.d.ts +0 -1
  727. package/login/pages/login/public-api.d.ts +0 -1
  728. package/login/pages/login-config-totp/public-api.d.ts +0 -1
  729. package/login/pages/login-idp-link-confirm/public-api.d.ts +0 -1
  730. package/login/pages/login-idp-link-confirm-override/public-api.d.ts +0 -1
  731. package/login/pages/login-idp-link-email/public-api.d.ts +0 -1
  732. package/login/pages/login-oauth-grant/public-api.d.ts +0 -1
  733. package/login/pages/login-oauth2-device-verify-user-code/public-api.d.ts +0 -1
  734. package/login/pages/login-otp/public-api.d.ts +0 -1
  735. package/login/pages/login-page-expired/public-api.d.ts +0 -1
  736. package/login/pages/login-passkeys-conditional-authenticate/public-api.d.ts +0 -1
  737. package/login/pages/login-password/public-api.d.ts +0 -1
  738. package/login/pages/login-recovery-authn-code-config/public-api.d.ts +0 -1
  739. package/login/pages/login-recovery-authn-code-input/public-api.d.ts +0 -1
  740. package/login/pages/login-reset-otp/public-api.d.ts +0 -1
  741. package/login/pages/login-reset-password/public-api.d.ts +0 -1
  742. package/login/pages/login-update-password/public-api.d.ts +0 -1
  743. package/login/pages/login-update-profile/public-api.d.ts +0 -1
  744. package/login/pages/login-username/public-api.d.ts +0 -1
  745. package/login/pages/login-verify-email/public-api.d.ts +0 -1
  746. package/login/pages/login-x509-info/public-api.d.ts +0 -1
  747. package/login/pages/logout-confirm/public-api.d.ts +0 -1
  748. package/login/pages/register/public-api.d.ts +0 -1
  749. package/login/pages/saml-post-form/public-api.d.ts +0 -1
  750. package/login/pages/select-authenticator/public-api.d.ts +0 -1
  751. package/login/pages/terms/public-api.d.ts +0 -1
  752. package/login/pages/update-email/public-api.d.ts +0 -1
  753. package/login/pages/webauthn-authenticate/public-api.d.ts +0 -1
  754. package/login/pages/webauthn-error/public-api.d.ts +0 -1
  755. package/login/pages/webauthn-register/public-api.d.ts +0 -1
  756. package/login/providers/keycloakify-angular/public-api.d.ts +0 -1
  757. package/login/public-api.d.ts +0 -1
  758. package/login/services/i18n/public-api.d.ts +0 -1
  759. package/login/services/login-resource-injector/public-api.d.ts +0 -1
  760. package/login/services/user-profile-form/public-api.d.ts +0 -1
  761. package/login/tokens/classes/public-api.d.ts +0 -1
  762. package/login/tokens/i18n/public-api.d.ts +0 -1
  763. package/login/tokens/kc-context/public-api.d.ts +0 -1
  764. package/login/tokens/make-user-confirm-password/public-api.d.ts +0 -1
  765. package/public-api.d.ts +0 -1
  766. package/src/bin/tools/runFormat.ts +0 -71
  767. package/src/stories/login/pages/login/login.stories.ts +0 -146
  768. /package/{src/login/containers/template/index.ts → account/template/index.d.ts} +0 -0
  769. /package/{src/account/containers/template/index.ts → login/template/index.d.ts} +0 -0
  770. /package/{login/containers/template/public-api.d.ts → src/account/template/index.ts} +0 -0
  771. /package/{account/containers/template/public-api.d.ts → src/login/template/index.ts} +0 -0
@@ -0,0 +1,38 @@
1
+ import { sep as pathSep } from 'path';
2
+
3
+ let cache: string | undefined = undefined;
4
+
5
+ export function getNodeModulesBinDirPath() {
6
+ if (cache !== undefined) {
7
+ return cache;
8
+ }
9
+
10
+ const binPath = process.argv[1];
11
+
12
+ const segments: string[] = ['.bin'];
13
+
14
+ let foundNodeModules = false;
15
+
16
+ for (const segment of binPath.split(pathSep).reverse()) {
17
+ skip_segment: {
18
+ if (foundNodeModules) {
19
+ break skip_segment;
20
+ }
21
+
22
+ if (segment === 'node_modules') {
23
+ foundNodeModules = true;
24
+ break skip_segment;
25
+ }
26
+
27
+ continue;
28
+ }
29
+
30
+ segments.unshift(segment);
31
+ }
32
+
33
+ const nodeModulesBinDirPath = segments.join(pathSep);
34
+
35
+ cache = nodeModulesBinDirPath;
36
+
37
+ return nodeModulesBinDirPath;
38
+ }
@@ -0,0 +1,89 @@
1
+ import { getNodeModulesBinDirPath } from './nodeModulesBinDirPath';
2
+ import { join as pathJoin } from 'path';
3
+ import * as fsPr from 'fs/promises';
4
+ import { id } from 'tsafe/id';
5
+ import { assert } from 'tsafe/assert';
6
+ import chalk from 'chalk';
7
+
8
+ getIsPrettierAvailable.cache = id<boolean | undefined>(undefined);
9
+
10
+ export async function getIsPrettierAvailable(): Promise<boolean> {
11
+ if (getIsPrettierAvailable.cache !== undefined) {
12
+ return getIsPrettierAvailable.cache;
13
+ }
14
+
15
+ const nodeModulesBinDirPath = getNodeModulesBinDirPath();
16
+
17
+ const prettierBinPath = pathJoin(nodeModulesBinDirPath, 'prettier');
18
+
19
+ const stats = await fsPr.stat(prettierBinPath).catch(() => undefined);
20
+
21
+ const isPrettierAvailable = stats?.isFile() ?? false;
22
+
23
+ getIsPrettierAvailable.cache = isPrettierAvailable;
24
+
25
+ return isPrettierAvailable;
26
+ }
27
+
28
+ type PrettierAndConfig = {
29
+ prettier: typeof import('prettier');
30
+ config: import('prettier').Options | null;
31
+ };
32
+
33
+ getPrettierAndConfig.cache = id<PrettierAndConfig | undefined>(undefined);
34
+
35
+ export async function getPrettierAndConfig(): Promise<PrettierAndConfig> {
36
+ assert(getIsPrettierAvailable());
37
+
38
+ if (getPrettierAndConfig.cache !== undefined) {
39
+ return getPrettierAndConfig.cache;
40
+ }
41
+
42
+ const prettier = await import('prettier');
43
+
44
+ const prettierAndConfig: PrettierAndConfig = {
45
+ prettier,
46
+ config: await prettier.resolveConfig(pathJoin(getNodeModulesBinDirPath(), '..'))
47
+ };
48
+
49
+ getPrettierAndConfig.cache = prettierAndConfig;
50
+
51
+ return prettierAndConfig;
52
+ }
53
+
54
+ export async function runPrettier(params: {
55
+ sourceCode: string;
56
+ filePath: string;
57
+ }): Promise<string> {
58
+ const { sourceCode, filePath } = params;
59
+
60
+ let formattedSourceCode: string;
61
+
62
+ try {
63
+ const { prettier, config } = await getPrettierAndConfig();
64
+
65
+ const { ignored, inferredParser } = await prettier.getFileInfo(filePath, {
66
+ resolveConfig: true
67
+ });
68
+
69
+ if (ignored) {
70
+ return sourceCode;
71
+ }
72
+
73
+ formattedSourceCode = await prettier.format(sourceCode, {
74
+ ...config,
75
+ filePath,
76
+ parser: inferredParser ?? undefined
77
+ });
78
+ } catch (error) {
79
+ console.log(
80
+ chalk.red(
81
+ `You probably need to upgrade the version of prettier in your project`
82
+ )
83
+ );
84
+
85
+ throw error;
86
+ }
87
+
88
+ return formattedSourceCode;
89
+ }
@@ -0,0 +1,89 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import { crawl } from './crawl';
4
+ import { rmSync } from '../tools/fs.rmSync';
5
+
6
+ type TransformSourceCode = (params: {
7
+ sourceCode: Buffer;
8
+ filePath: string;
9
+ fileRelativePath: string;
10
+ }) => Promise<
11
+ | {
12
+ modifiedSourceCode: Buffer;
13
+ newFileName?: string;
14
+ }
15
+ | undefined
16
+ >;
17
+
18
+ /**
19
+ * Apply a transformation function to every file of directory
20
+ * If source and destination are the same this function can be used to apply the transformation in place
21
+ * like filtering out some files or modifying them.
22
+ * */
23
+ export async function transformCodebase(params: {
24
+ srcDirPath: string;
25
+ destDirPath: string;
26
+ transformSourceCode?: TransformSourceCode;
27
+ }) {
28
+ const { srcDirPath, transformSourceCode } = params;
29
+
30
+ const isTargetSameAsSource = path.relative(srcDirPath, params.destDirPath) === '';
31
+
32
+ const destDirPath = isTargetSameAsSource
33
+ ? path.join(srcDirPath, '..', 'tmp_xOsPdkPsTdzPs34sOkHs')
34
+ : params.destDirPath;
35
+
36
+ fs.mkdirSync(destDirPath, {
37
+ recursive: true
38
+ });
39
+
40
+ for (const fileRelativePath of crawl({
41
+ dirPath: srcDirPath,
42
+ returnedPathsType: 'relative to dirPath'
43
+ })) {
44
+ const filePath = path.join(srcDirPath, fileRelativePath);
45
+ const destFilePath = path.join(destDirPath, fileRelativePath);
46
+
47
+ // NOTE: Optimization, if we don't need to transform the file, just copy
48
+ // it using the lower level implementation.
49
+ if (transformSourceCode === undefined) {
50
+ fs.mkdirSync(path.dirname(destFilePath), {
51
+ recursive: true
52
+ });
53
+
54
+ fs.copyFileSync(filePath, destFilePath);
55
+
56
+ continue;
57
+ }
58
+
59
+ const transformSourceCodeResult = await transformSourceCode({
60
+ sourceCode: fs.readFileSync(filePath),
61
+ filePath,
62
+ fileRelativePath
63
+ });
64
+
65
+ if (transformSourceCodeResult === undefined) {
66
+ continue;
67
+ }
68
+
69
+ fs.mkdirSync(path.dirname(destFilePath), {
70
+ recursive: true
71
+ });
72
+
73
+ const { newFileName, modifiedSourceCode } = transformSourceCodeResult;
74
+
75
+ fs.writeFileSync(
76
+ path.join(
77
+ path.dirname(destFilePath),
78
+ newFileName ?? path.basename(destFilePath)
79
+ ),
80
+ modifiedSourceCode
81
+ );
82
+ }
83
+
84
+ if (isTargetSameAsSource) {
85
+ rmSync(srcDirPath, { recursive: true });
86
+
87
+ fs.renameSync(destDirPath, srcDirPath);
88
+ }
89
+ }
@@ -1,10 +1,10 @@
1
1
  import type { BuildContext } from './core';
2
2
  import * as fs from 'fs';
3
3
  import { join as pathJoin } from 'path';
4
- import { runFormat } from './tools/runFormat';
4
+ import { getIsPrettierAvailable, runPrettier } from './tools/runPrettier';
5
5
  import * as crypto from 'crypto';
6
6
 
7
- export function command(params: { buildContext: BuildContext }) {
7
+ export async function command(params: { buildContext: BuildContext }) {
8
8
  const { buildContext } = params;
9
9
 
10
10
  const filePath = pathJoin(buildContext.themeSrcDirPath, 'kc.gen.ts');
@@ -109,6 +109,7 @@ export function command(params: { buildContext: BuildContext }) {
109
109
  ` });`,
110
110
  ``,
111
111
  ` appRef.components.forEach(componentRef => {`,
112
+ ` // page must be defined first `,
112
113
  ` if ("page" in componentRef.instance) {`,
113
114
  ` componentRef.setInput("page", PageComponent);`,
114
115
  ` }`,
@@ -148,18 +149,23 @@ export function command(params: { buildContext: BuildContext }) {
148
149
  return;
149
150
  }
150
151
 
151
- fs.writeFileSync(
152
- filePath,
153
- Buffer.from(
154
- [
155
- `// This file is auto-generated by keycloakify. Do not edit it manually.`,
156
- `// Hash: ${hash}`,
157
- ``,
158
- newContent
159
- ].join('\n'),
160
- 'utf8'
161
- )
162
- );
152
+ let sourceCode = [
153
+ `// This file is auto-generated by keycloakify. Do not edit it manually.`,
154
+ `// Hash: ${hash}`,
155
+ ``,
156
+ newContent
157
+ ].join('\n');
158
+
159
+ run_prettier: {
160
+ if (!(await getIsPrettierAvailable())) {
161
+ break run_prettier;
162
+ }
163
+
164
+ sourceCode = await runPrettier({
165
+ filePath,
166
+ sourceCode
167
+ });
168
+ }
163
169
 
164
- runFormat({ packageJsonFilePath: buildContext.packageJsonFilePath });
170
+ fs.writeFileSync(filePath, Buffer.from(sourceCode, 'utf8'));
165
171
  }
@@ -53,7 +53,7 @@ export class LoginResourceInjectorService {
53
53
  id: `${this.kcContext.url.resourcesPath}/js/menu-button-links.js`,
54
54
  src: `${this.kcContext.url.resourcesPath}/js/menu-button-links.js`
55
55
  },
56
- ...this.kcContext.scripts.map(script => ({
56
+ ...(this.kcContext.scripts ?? []).map(script => ({
57
57
  type: 'text/javascript',
58
58
  src: script,
59
59
  id: script
@@ -159,14 +159,8 @@
159
159
  </div>
160
160
  }
161
161
  <!-- Content -->
162
- @let pageRef = page();
163
- @if (!!pageRef) {
164
- <kc-dynamic-page-injector
165
- [page]="pageRef"
166
- [userProfileFormFields]="userProfileFormFields()"
167
- (componentCreated)="onComponentCreated($event)"
168
- />
169
- }
162
+ <ng-template #pageRef></ng-template>
163
+
170
164
  @if (!!auth && auth?.showTryAnotherWayLink) {
171
165
  <form
172
166
  id="kc-select-try-another-way-form"
@@ -5,14 +5,15 @@ import {
5
5
  Component,
6
6
  computed,
7
7
  effect,
8
+ EffectRef,
8
9
  forwardRef,
9
10
  inject,
10
11
  input,
11
- output,
12
12
  Renderer2,
13
13
  type Signal,
14
14
  type TemplateRef,
15
15
  type Type,
16
+ viewChild,
16
17
  ViewContainerRef
17
18
  } from '@angular/core';
18
19
  import { Meta, Title } from '@angular/platform-browser';
@@ -29,38 +30,11 @@ import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
29
30
  import { type ClassKey, getKcClsx } from 'keycloakify/login/lib/kcClsx';
30
31
  import type { Observable } from 'rxjs';
31
32
 
32
- @Component({
33
- selector: 'kc-dynamic-page-injector',
34
- standalone: true,
35
- template: ``
36
- })
37
- export class DynamicPageInjectorComponent {
38
- page = input<Type<unknown>>();
39
- userProfileFormFields = input<Type<unknown>>();
40
- componentCreated = output<object>();
41
- #vcr = inject<ViewContainerRef>(ViewContainerRef);
42
- constructor() {
43
- effect(
44
- () => {
45
- const page = this.page();
46
- const userProfileFormFields = this.userProfileFormFields();
47
- if (!page) return;
48
- const compRef = this.#vcr.createComponent(page);
49
- if ('userProfileFormFields' in (compRef.instance as object) && userProfileFormFields) {
50
- compRef.setInput('userProfileFormFields', userProfileFormFields);
51
- }
52
- this.componentCreated.emit(compRef.instance as object);
53
- },
54
- { allowSignalWrites: true }
55
- );
56
- }
57
- }
58
-
59
33
  @Component({
60
34
  selector: 'kc-root',
61
35
  templateUrl: 'template.component.html',
62
36
  standalone: true,
63
- imports: [AsyncPipe, KcSanitizePipe, NgTemplateOutlet, KcClassDirective, DynamicPageInjectorComponent],
37
+ imports: [AsyncPipe, KcSanitizePipe, NgTemplateOutlet, KcClassDirective],
64
38
  changeDetection: ChangeDetectionStrategy.OnPush,
65
39
  providers: [
66
40
  {
@@ -73,6 +47,7 @@ export class TemplateComponent extends ComponentReference {
73
47
  i18n = inject<I18n>(LOGIN_I18N);
74
48
  renderer = inject(Renderer2);
75
49
  #cdr = inject(ChangeDetectorRef);
50
+ #effectRef: EffectRef;
76
51
  meta = inject(Meta);
77
52
  title = inject(Title);
78
53
  kcContext = inject<KcContext>(KC_LOGIN_CONTEXT);
@@ -89,6 +64,8 @@ export class TemplateComponent extends ComponentReference {
89
64
  isReadyToRender$: Observable<boolean>;
90
65
 
91
66
  page = input<Type<unknown>>();
67
+ pageRef = viewChild('pageRef', { read: ViewContainerRef });
68
+
92
69
  userProfileFormFields = input<Type<unknown>>();
93
70
  headerNode: Signal<TemplateRef<HTMLElement>> | undefined;
94
71
  infoNode: Signal<TemplateRef<HTMLElement>> | undefined;
@@ -98,6 +75,22 @@ export class TemplateComponent extends ComponentReference {
98
75
  super();
99
76
 
100
77
  this.isReadyToRender$ = this.loginResourceInjectorService.injectResource(this.doUseDefaultCss);
78
+ this.#effectRef = effect(
79
+ () => {
80
+ const page = this.page();
81
+ const pageRef = this.pageRef();
82
+ if (!page || !pageRef) return;
83
+
84
+ const userProfileFormFields = this.userProfileFormFields();
85
+
86
+ const compRef = pageRef.createComponent(page);
87
+ if ('userProfileFormFields' in (compRef.instance as object) && userProfileFormFields) {
88
+ compRef.setInput('userProfileFormFields', userProfileFormFields);
89
+ }
90
+ this.onComponentCreated(compRef.instance as object);
91
+ },
92
+ { manualCleanup: true }
93
+ );
101
94
  }
102
95
 
103
96
  private applyKcIndexClasses() {
@@ -158,5 +151,6 @@ export class TemplateComponent extends ComponentReference {
158
151
  this.title.setTitle(this.documentTitle ?? this.i18n.msgStr('loginTitle', this.kcContext.realm.displayName));
159
152
  this.applyKcIndexClasses();
160
153
  this.#cdr.markForCheck();
154
+ this.#effectRef.destroy();
161
155
  }
162
156
  }
@@ -0,0 +1,133 @@
1
+ import { Meta, StoryObj } from '@storybook/angular';
2
+ import { decorators, KcPageStory } from '../KcPageStory';
3
+
4
+ const meta: Meta<KcPageStory> = {
5
+ title: 'account/account.ftl',
6
+ component: KcPageStory,
7
+ decorators: decorators,
8
+ globals: {
9
+ pageId: 'account.ftl'
10
+ }
11
+ };
12
+
13
+ export default meta;
14
+
15
+ type Story = StoryObj<KcPageStory>;
16
+
17
+ export const Default: Story = {};
18
+
19
+ export const UsernameNotEditable: Story = {
20
+ globals: {
21
+ overrides: {
22
+ account: {
23
+ username: 'john_doe',
24
+ email: 'john.doe@gmail.com',
25
+ firstName: 'John',
26
+ lastName: 'Doe'
27
+ },
28
+ realm: {
29
+ registrationEmailAsUsername: false,
30
+ editUsernameAllowed: false
31
+ },
32
+ referrer: {
33
+ url: '/home'
34
+ },
35
+ url: {
36
+ accountUrl: '/account'
37
+ },
38
+ messagesPerField: {
39
+ printIfExists: () => ''
40
+ },
41
+ stateChecker: 'state-checker'
42
+ }
43
+ }
44
+ };
45
+
46
+ export const WithValidationErrors: Story = {
47
+ globals: {
48
+ overrides: {
49
+ account: {
50
+ username: 'john_doe',
51
+ email: '',
52
+ firstName: '',
53
+ lastName: 'Doe'
54
+ },
55
+ realm: {
56
+ registrationEmailAsUsername: false,
57
+ editUsernameAllowed: true
58
+ },
59
+ referrer: {
60
+ url: '/home'
61
+ },
62
+ url: {
63
+ accountUrl: '/account'
64
+ },
65
+ messagesPerField: {
66
+ printIfExists: (field: string) =>
67
+ field === 'email' || field === 'firstName' ? 'has-error' : ''
68
+ },
69
+ stateChecker: 'state-checker'
70
+ }
71
+ }
72
+ };
73
+
74
+ export const EmailAsUsername: Story = {
75
+ globals: {
76
+ overrides: {
77
+ account: {
78
+ email: 'john.doe@gmail.com',
79
+ firstName: 'John',
80
+ lastName: 'Doe'
81
+ },
82
+ realm: {
83
+ registrationEmailAsUsername: true
84
+ },
85
+ referrer: {
86
+ url: '/home'
87
+ },
88
+ url: {
89
+ accountUrl: '/account'
90
+ },
91
+ messagesPerField: {
92
+ printIfExists: () => ''
93
+ },
94
+ stateChecker: 'state-checker'
95
+ }
96
+ }
97
+ };
98
+
99
+ export const WithErrorCode: Story = {
100
+ globals: {
101
+ overrides: {
102
+ code: {
103
+ success: false,
104
+ error: 'Failed to generate code'
105
+ }
106
+ }
107
+ }
108
+ };
109
+
110
+ export const WithFrenchLanguage: Story = {
111
+ globals: {
112
+ overrides: {
113
+ locale: {
114
+ currentLanguageTag: 'fr'
115
+ },
116
+ code: {
117
+ success: true,
118
+ code: 'XYZ789'
119
+ }
120
+ }
121
+ }
122
+ };
123
+
124
+ export const WithHtmlErrorMessage: Story = {
125
+ globals: {
126
+ overrides: {
127
+ code: {
128
+ success: false,
129
+ error: "Something went wrong. <a href='https://example.com'>Try again</a>"
130
+ }
131
+ }
132
+ }
133
+ };