@keycloakify/angular 0.0.1-rc.12 → 0.0.1-rc.15

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 (1234) hide show
  1. package/.github/workflows/ci.yaml +111 -0
  2. package/.prettierignore +15 -0
  3. package/.prettierrc.json +26 -0
  4. package/README.md +36 -1
  5. package/angular.json +33 -0
  6. package/package.json +2 -6
  7. package/scripts/build.ts +179 -0
  8. package/scripts/tools/SemVer.ts +114 -0
  9. package/scripts/tools/crawl.ts +35 -0
  10. package/scripts/tools/fs.rmSync.ts +34 -0
  11. package/scripts/tools/getThisCodebaseRootDirPath.ts +19 -0
  12. package/scripts/tools/transformCodebase.ts +88 -0
  13. package/src/account/DefaultPage/DefaultPage.ts +61 -0
  14. package/src/account/DefaultPage/index.ts +1 -0
  15. package/src/account/DefaultPage/ng-package.json +6 -0
  16. package/src/account/KcContext/index.ts +1 -0
  17. package/src/account/KcContext/ng-package.json +6 -0
  18. package/src/account/classes/component-reference/component-reference.class.ts +6 -0
  19. package/src/account/classes/component-reference/index.ts +1 -0
  20. package/src/account/classes/component-reference/ng-package.json +6 -0
  21. package/src/account/containers/template/index.ts +1 -0
  22. package/src/account/containers/template/ng-package.json +6 -0
  23. package/src/account/containers/template/template.component.ts +71 -0
  24. package/src/account/directives/kc-class/index.ts +1 -0
  25. package/src/account/directives/kc-class/kc-class.directive.ts +170 -0
  26. package/src/account/directives/kc-class/ng-package.json +6 -0
  27. package/src/account/i18n/index.ts +1 -0
  28. package/src/account/i18n/ng-package.json +6 -0
  29. package/src/account/pages/account/account.component.ts +34 -0
  30. package/src/account/pages/account/index.ts +1 -0
  31. package/src/account/pages/account/ng-package.json +6 -0
  32. package/src/account/pages/applications/applications.component.ts +32 -0
  33. package/src/account/pages/applications/index.ts +1 -0
  34. package/src/account/pages/applications/ng-package.json +6 -0
  35. package/src/account/pages/federatedIdentity/federatedIdentity.component.ts +31 -0
  36. package/src/account/pages/federatedIdentity/index.ts +1 -0
  37. package/src/account/pages/federatedIdentity/ng-package.json +6 -0
  38. package/src/account/pages/log/index.ts +1 -0
  39. package/src/account/pages/log/log.component.ts +31 -0
  40. package/src/account/pages/log/ng-package.json +6 -0
  41. package/src/account/pages/password/index.ts +1 -0
  42. package/src/account/pages/password/ng-package.json +6 -0
  43. package/src/account/pages/password/password.component.ts +110 -0
  44. package/src/account/pages/sessions/index.ts +1 -0
  45. package/src/account/pages/sessions/ng-package.json +6 -0
  46. package/src/account/pages/sessions/sessions.component.ts +31 -0
  47. package/src/account/pages/totp/index.ts +1 -0
  48. package/src/account/pages/totp/ng-package.json +6 -0
  49. package/src/account/pages/totp/totp.component.ts +32 -0
  50. package/src/account/providers/keycloakify-angular/index.ts +1 -0
  51. package/src/account/providers/keycloakify-angular/keycloakify-angular.providers.ts +64 -0
  52. package/src/account/providers/keycloakify-angular/ng-package.json +6 -0
  53. package/src/account/services/account-resource-injector/account-resource-injector.service.ts +41 -0
  54. package/src/account/services/account-resource-injector/index.ts +1 -0
  55. package/src/account/services/account-resource-injector/ng-package.json +6 -0
  56. package/src/account/services/i18n/index.ts +1 -0
  57. package/src/account/services/i18n/ng-package.json +6 -0
  58. package/src/account/tokens/classes/index.ts +1 -0
  59. package/src/account/tokens/classes/ng-package.json +6 -0
  60. package/src/account/tokens/i18n/index.ts +1 -0
  61. package/src/account/tokens/i18n/ng-package.json +6 -0
  62. package/src/account/tokens/kc-context/index.ts +1 -0
  63. package/src/account/tokens/kc-context/kc-context.token.ts +6 -0
  64. package/src/account/tokens/kc-context/ng-package.json +6 -0
  65. package/src/lib/directives/attributes/index.ts +1 -0
  66. package/src/lib/directives/attributes/ng-package.json +6 -0
  67. package/src/lib/models/script/index.ts +1 -0
  68. package/src/lib/models/script/ng-package.json +6 -0
  69. package/src/lib/ng-package.json +6 -0
  70. package/src/lib/pipes/input-type/index.ts +1 -0
  71. package/src/lib/pipes/input-type/ng-package.json +6 -0
  72. package/src/lib/pipes/is-array-with-empty-object/index.ts +1 -0
  73. package/src/lib/pipes/is-array-with-empty-object/is-array-with-empty-object.pipe.ts +16 -0
  74. package/src/lib/pipes/is-array-with-empty-object/ng-package.json +6 -0
  75. package/src/lib/pipes/kc-sanitize/index.ts +1 -0
  76. package/src/lib/pipes/kc-sanitize/ng-package.json +6 -0
  77. package/src/lib/pipes/to-array/index.ts +1 -0
  78. package/src/lib/pipes/to-array/ng-package.json +6 -0
  79. package/src/lib/pipes/to-array/to-array.pipe.ts +15 -0
  80. package/src/lib/pipes/to-number/index.ts +1 -0
  81. package/src/lib/pipes/to-number/ng-package.json +6 -0
  82. package/src/lib/pipes/to-number/to-number.pipe.ts +13 -0
  83. package/src/lib/public-api.ts +1 -0
  84. package/src/lib/services/resource-injector/index.ts +1 -0
  85. package/src/lib/services/resource-injector/ng-package.json +6 -0
  86. package/src/lib/tokens/use-default-css/index.ts +1 -0
  87. package/src/lib/tokens/use-default-css/ng-package.json +6 -0
  88. package/src/login/DefaultPage/DefaultPage.ts +208 -0
  89. package/src/login/DefaultPage/index.ts +1 -0
  90. package/src/login/DefaultPage/ng-package.json +6 -0
  91. package/src/login/KcContext/index.ts +1 -0
  92. package/src/login/KcContext/ng-package.json +6 -0
  93. package/src/login/classes/component-reference/index.ts +1 -0
  94. package/src/login/classes/component-reference/ng-package.json +6 -0
  95. package/src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.ts +136 -0
  96. package/src/login/components/add-remove-buttons-multi-valued-attribute/index.ts +1 -0
  97. package/src/login/components/add-remove-buttons-multi-valued-attribute/ng-package.json +6 -0
  98. package/src/login/components/field-errors/index.ts +1 -0
  99. package/src/login/components/field-errors/ng-package.json +6 -0
  100. package/src/login/components/group-label/group-label.component.ts +46 -0
  101. package/src/login/components/group-label/index.ts +1 -0
  102. package/src/login/components/group-label/ng-package.json +6 -0
  103. package/src/login/components/input-field-by-type/index.ts +1 -0
  104. package/src/login/components/input-field-by-type/ng-package.json +6 -0
  105. package/src/login/components/input-tag/index.ts +1 -0
  106. package/src/login/components/input-tag/input-tag.component.ts +99 -0
  107. package/src/login/components/input-tag/ng-package.json +6 -0
  108. package/src/login/components/input-tag-selects/index.ts +1 -0
  109. package/src/login/components/input-tag-selects/input-tag-selects.component.ts +139 -0
  110. package/src/login/components/input-tag-selects/ng-package.json +6 -0
  111. package/src/login/components/logout-other-sessions/index.ts +1 -0
  112. package/src/login/components/logout-other-sessions/logout-other-sessions.component.ts +34 -0
  113. package/src/login/components/logout-other-sessions/ng-package.json +6 -0
  114. package/src/login/components/password-wrapper/index.ts +1 -0
  115. package/src/login/components/password-wrapper/ng-package.json +6 -0
  116. package/src/login/components/password-wrapper/password-wrapper.component.ts +51 -0
  117. package/src/login/components/select-tag/index.ts +1 -0
  118. package/src/login/components/select-tag/ng-package.json +6 -0
  119. package/src/login/components/select-tag/select-tag.component.ts +97 -0
  120. package/src/login/components/textarea-tag/index.ts +1 -0
  121. package/src/login/components/textarea-tag/ng-package.json +6 -0
  122. package/src/login/components/user-profile-form-fields/index.ts +1 -0
  123. package/src/login/components/user-profile-form-fields/ng-package.json +6 -0
  124. package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.ts +70 -0
  125. package/src/login/containers/template/index.ts +1 -0
  126. package/src/login/containers/template/ng-package.json +6 -0
  127. package/src/login/containers/template/template.component.ts +78 -0
  128. package/src/login/directives/kc-class/index.ts +1 -0
  129. package/src/login/directives/kc-class/ng-package.json +6 -0
  130. package/src/login/i18n/index.ts +1 -0
  131. package/src/login/i18n/ng-package.json +6 -0
  132. package/src/login/pages/code/code.component.ts +31 -0
  133. package/src/login/pages/code/index.ts +1 -0
  134. package/src/login/pages/code/ng-package.json +6 -0
  135. package/src/login/pages/delete-account-confirm/delete-account-confirm.component.ts +31 -0
  136. package/src/login/pages/delete-account-confirm/index.ts +1 -0
  137. package/src/login/pages/delete-account-confirm/ng-package.json +6 -0
  138. package/src/login/pages/delete-credential/delete-credential.component.ts +36 -0
  139. package/src/login/pages/delete-credential/index.ts +1 -0
  140. package/src/login/pages/delete-credential/ng-package.json +6 -0
  141. package/src/login/pages/error/error.component.ts +31 -0
  142. package/src/login/pages/error/index.ts +1 -0
  143. package/src/login/pages/error/ng-package.json +6 -0
  144. package/src/login/pages/frontchannel-logout/frontchannel-logout.component.ts +41 -0
  145. package/src/login/pages/frontchannel-logout/index.ts +1 -0
  146. package/src/login/pages/frontchannel-logout/ng-package.json +6 -0
  147. package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.ts +56 -0
  148. package/src/login/pages/idp-review-user-profile/index.ts +1 -0
  149. package/src/login/pages/idp-review-user-profile/ng-package.json +6 -0
  150. package/src/login/pages/info/index.ts +1 -0
  151. package/src/login/pages/info/info.component.ts +48 -0
  152. package/src/login/pages/info/ng-package.json +6 -0
  153. package/src/login/pages/login/index.ts +1 -0
  154. package/src/login/pages/login/login.component.ts +40 -0
  155. package/src/login/pages/login/ng-package.json +6 -0
  156. package/src/login/pages/login-config-totp/index.ts +1 -0
  157. package/src/login/pages/login-config-totp/login-config-totp.component.ts +38 -0
  158. package/src/login/pages/login-config-totp/ng-package.json +6 -0
  159. package/src/login/pages/login-idp-link-confirm/index.ts +1 -0
  160. package/src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.ts +36 -0
  161. package/src/login/pages/login-idp-link-confirm/ng-package.json +6 -0
  162. package/src/login/pages/login-idp-link-confirm-override/index.ts +1 -0
  163. package/src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.ts +36 -0
  164. package/src/login/pages/login-idp-link-confirm-override/ng-package.json +6 -0
  165. package/src/login/pages/login-idp-link-email/index.ts +1 -0
  166. package/src/login/pages/login-idp-link-email/login-idp-link-email.component.ts +36 -0
  167. package/src/login/pages/login-idp-link-email/ng-package.json +6 -0
  168. package/src/login/pages/login-oauth-grant/index.ts +1 -0
  169. package/src/login/pages/login-oauth-grant/login-oauth-grant.component.ts +36 -0
  170. package/src/login/pages/login-oauth-grant/ng-package.json +6 -0
  171. package/src/login/pages/login-oauth2-device-verify-user-code/index.ts +1 -0
  172. package/src/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.ts +36 -0
  173. package/src/login/pages/login-oauth2-device-verify-user-code/ng-package.json +6 -0
  174. package/src/login/pages/login-otp/index.ts +1 -0
  175. package/src/login/pages/login-otp/login-otp.component.ts +37 -0
  176. package/src/login/pages/login-otp/ng-package.json +6 -0
  177. package/src/login/pages/login-page-expired/index.ts +1 -0
  178. package/src/login/pages/login-page-expired/login-page-expired.component.ts +35 -0
  179. package/src/login/pages/login-page-expired/ng-package.json +6 -0
  180. package/src/login/pages/login-passkeys-conditional-authenticate/index.ts +1 -0
  181. package/src/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.ts +94 -0
  182. package/src/login/pages/login-passkeys-conditional-authenticate/ng-package.json +6 -0
  183. package/src/login/pages/login-password/index.ts +1 -0
  184. package/src/login/pages/login-password/login-password.component.ts +40 -0
  185. package/src/login/pages/login-password/ng-package.json +6 -0
  186. package/src/login/pages/login-recovery-authn-code-config/index.ts +1 -0
  187. package/src/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.ts +40 -0
  188. package/src/login/pages/login-recovery-authn-code-config/ng-package.json +6 -0
  189. package/src/login/pages/login-recovery-authn-code-input/index.ts +1 -0
  190. package/src/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.ts +37 -0
  191. package/src/login/pages/login-recovery-authn-code-input/ng-package.json +6 -0
  192. package/src/login/pages/login-reset-otp/index.ts +1 -0
  193. package/src/login/pages/login-reset-otp/login-reset-otp.component.ts +36 -0
  194. package/src/login/pages/login-reset-otp/ng-package.json +6 -0
  195. package/src/login/pages/login-reset-password/index.ts +1 -0
  196. package/src/login/pages/login-reset-password/login-reset-password.component.ts +37 -0
  197. package/src/login/pages/login-reset-password/ng-package.json +6 -0
  198. package/src/login/pages/login-update-password/index.ts +1 -0
  199. package/src/login/pages/login-update-password/login-update-password.component.ts +39 -0
  200. package/src/login/pages/login-update-password/ng-package.json +6 -0
  201. package/src/login/pages/login-update-profile/index.ts +1 -0
  202. package/src/login/pages/login-update-profile/login-update-profile.component.ts +51 -0
  203. package/src/login/pages/login-update-profile/ng-package.json +6 -0
  204. package/src/login/pages/login-username/index.ts +1 -0
  205. package/src/login/pages/login-username/login-username.component.ts +39 -0
  206. package/src/login/pages/login-username/ng-package.json +6 -0
  207. package/src/login/pages/login-verify-email/index.ts +1 -0
  208. package/src/login/pages/login-verify-email/login-verify-email.component.ts +36 -0
  209. package/src/login/pages/login-verify-email/ng-package.json +6 -0
  210. package/src/login/pages/login-x509-info/index.ts +1 -0
  211. package/src/login/pages/login-x509-info/login-x509-info.component.ts +36 -0
  212. package/src/login/pages/login-x509-info/ng-package.json +6 -0
  213. package/src/login/pages/logout-confirm/index.ts +1 -0
  214. package/src/login/pages/logout-confirm/logout-confirm.component.ts +36 -0
  215. package/src/login/pages/logout-confirm/ng-package.json +6 -0
  216. package/src/login/pages/register/index.ts +1 -0
  217. package/src/login/pages/register/ng-package.json +6 -0
  218. package/src/login/pages/register/register.component.ts +56 -0
  219. package/src/login/pages/saml-post-form/index.ts +1 -0
  220. package/src/login/pages/saml-post-form/ng-package.json +6 -0
  221. package/src/login/pages/saml-post-form/saml-post-form.component.ts +50 -0
  222. package/src/login/pages/select-authenticator/index.ts +1 -0
  223. package/src/login/pages/select-authenticator/ng-package.json +6 -0
  224. package/src/login/pages/select-authenticator/select-authenticator.component.ts +37 -0
  225. package/src/login/pages/terms/index.ts +1 -0
  226. package/src/login/pages/terms/ng-package.json +6 -0
  227. package/src/login/pages/terms/terms.component.ts +36 -0
  228. package/src/login/pages/update-email/index.ts +1 -0
  229. package/src/login/pages/update-email/ng-package.json +6 -0
  230. package/src/login/pages/update-email/update-email.component.ts +52 -0
  231. package/src/login/pages/webauthn-authenticate/index.ts +1 -0
  232. package/src/login/pages/webauthn-authenticate/ng-package.json +6 -0
  233. package/src/login/pages/webauthn-authenticate/webauthn-authenticate.component.ts +82 -0
  234. package/src/login/pages/webauthn-error/index.ts +1 -0
  235. package/src/login/pages/webauthn-error/ng-package.json +6 -0
  236. package/src/login/pages/webauthn-error/webauthn-error.component.ts +46 -0
  237. package/src/login/pages/webauthn-register/index.ts +1 -0
  238. package/src/login/pages/webauthn-register/ng-package.json +6 -0
  239. package/src/login/pages/webauthn-register/webauthn-register.component.ts +92 -0
  240. package/src/login/providers/keycloakify-angular/index.ts +1 -0
  241. package/src/login/providers/keycloakify-angular/keycloakify-angular.providers.ts +68 -0
  242. package/src/login/providers/keycloakify-angular/ng-package.json +6 -0
  243. package/src/login/services/i18n/index.ts +1 -0
  244. package/src/login/services/i18n/ng-package.json +6 -0
  245. package/src/login/services/login-resource-injector/index.ts +1 -0
  246. package/src/login/services/login-resource-injector/login-resource-injector.service.ts +73 -0
  247. package/src/login/services/login-resource-injector/ng-package.json +6 -0
  248. package/src/login/services/submit/index.ts +1 -0
  249. package/src/login/services/submit/ng-package.json +6 -0
  250. package/src/login/services/user-profile-form/index.ts +1 -0
  251. package/src/login/services/user-profile-form/ng-package.json +6 -0
  252. package/src/login/services/user-profile-form/user-profile-form.service.ts +1502 -0
  253. package/src/login/tokens/classes/index.ts +1 -0
  254. package/src/login/tokens/classes/ng-package.json +6 -0
  255. package/src/login/tokens/i18n/index.ts +1 -0
  256. package/src/login/tokens/i18n/ng-package.json +6 -0
  257. package/src/login/tokens/kc-context/index.ts +1 -0
  258. package/src/login/tokens/kc-context/kc-context.token.ts +4 -0
  259. package/src/login/tokens/kc-context/ng-package.json +6 -0
  260. package/src/login/tokens/make-user-confirm-password/index.ts +1 -0
  261. package/src/login/tokens/make-user-confirm-password/ng-package.json +6 -0
  262. package/src/ng-package.json +8 -0
  263. package/src/package.json +17 -0
  264. package/src/public-api.ts +1 -0
  265. package/src/tsconfig.lib.json +12 -0
  266. package/src/tsconfig.lib.prod.json +10 -0
  267. package/tsconfig.json +33 -0
  268. package/tsproject.json +15 -0
  269. package/dist/README.md +0 -1
  270. package/dist/account/DefaultPage/DefaultPage.d.ts +0 -38
  271. package/dist/account/DefaultPage/index.d.ts +0 -5
  272. package/dist/account/KcContext/KcContext.d.ts +0 -1
  273. package/dist/account/KcContext/index.d.ts +0 -5
  274. package/dist/account/classes/component-reference/component-reference.class.d.ts +0 -6
  275. package/dist/account/classes/component-reference/index.d.ts +0 -5
  276. package/dist/account/containers/template/index.d.ts +0 -5
  277. package/dist/account/containers/template/template.component.d.ts +0 -26
  278. package/dist/account/directives/kc-class/index.d.ts +0 -5
  279. package/dist/account/directives/kc-class/kc-class.directive.d.ts +0 -26
  280. package/dist/account/i18n/i18n.d.ts +0 -4
  281. package/dist/account/i18n/index.d.ts +0 -5
  282. package/dist/account/pages/account/account.component.d.ts +0 -14
  283. package/dist/account/pages/account/index.d.ts +0 -5
  284. package/dist/account/pages/applications/applications.component.d.ts +0 -13
  285. package/dist/account/pages/applications/index.d.ts +0 -5
  286. package/dist/account/pages/federatedIdentity/federatedIdentity.component.d.ts +0 -13
  287. package/dist/account/pages/federatedIdentity/index.d.ts +0 -5
  288. package/dist/account/pages/log/index.d.ts +0 -5
  289. package/dist/account/pages/log/log.component.d.ts +0 -13
  290. package/dist/account/pages/password/index.d.ts +0 -5
  291. package/dist/account/pages/password/password.component.d.ts +0 -28
  292. package/dist/account/pages/sessions/index.d.ts +0 -5
  293. package/dist/account/pages/sessions/sessions.component.d.ts +0 -13
  294. package/dist/account/pages/totp/index.d.ts +0 -5
  295. package/dist/account/pages/totp/totp.component.d.ts +0 -13
  296. package/dist/account/providers/keycloakify-angular/index.d.ts +0 -5
  297. package/dist/account/providers/keycloakify-angular/keycloakify-angular.providers.d.ts +0 -15
  298. package/dist/account/services/account-resource-injector/account-resource-injector.service.d.ts +0 -10
  299. package/dist/account/services/account-resource-injector/index.d.ts +0 -5
  300. package/dist/account/services/i18n/i18n.service.d.ts +0 -6
  301. package/dist/account/services/i18n/index.d.ts +0 -5
  302. package/dist/account/tokens/classes/classes.token.d.ts +0 -16
  303. package/dist/account/tokens/classes/index.d.ts +0 -5
  304. package/dist/account/tokens/i18n/i18n.token.d.ts +0 -2
  305. package/dist/account/tokens/i18n/index.d.ts +0 -5
  306. package/dist/account/tokens/kc-context/index.d.ts +0 -5
  307. package/dist/account/tokens/kc-context/kc-context.token.d.ts +0 -3
  308. package/dist/esm2022/account/DefaultPage/DefaultPage.mjs +0 -34
  309. package/dist/esm2022/account/DefaultPage/keycloakify-angular-account-DefaultPage.mjs +0 -5
  310. package/dist/esm2022/account/DefaultPage/public-api.mjs +0 -2
  311. package/dist/esm2022/account/KcContext/KcContext.mjs +0 -2
  312. package/dist/esm2022/account/KcContext/keycloakify-angular-account-KcContext.mjs +0 -5
  313. package/dist/esm2022/account/KcContext/public-api.mjs +0 -2
  314. package/dist/esm2022/account/classes/component-reference/component-reference.class.mjs +0 -3
  315. package/dist/esm2022/account/classes/component-reference/keycloakify-angular-account-classes-component-reference.mjs +0 -5
  316. package/dist/esm2022/account/classes/component-reference/public-api.mjs +0 -2
  317. package/dist/esm2022/account/containers/template/keycloakify-angular-account-containers-template.mjs +0 -5
  318. package/dist/esm2022/account/containers/template/public-api.mjs +0 -2
  319. package/dist/esm2022/account/containers/template/template.component.mjs +0 -66
  320. package/dist/esm2022/account/directives/kc-class/kc-class.directive.mjs +0 -137
  321. package/dist/esm2022/account/directives/kc-class/keycloakify-angular-account-directives-kc-class.mjs +0 -5
  322. package/dist/esm2022/account/directives/kc-class/public-api.mjs +0 -2
  323. package/dist/esm2022/account/i18n/i18n.mjs +0 -2
  324. package/dist/esm2022/account/i18n/keycloakify-angular-account-i18n.mjs +0 -5
  325. package/dist/esm2022/account/i18n/public-api.mjs +0 -2
  326. package/dist/esm2022/account/pages/account/account.component.mjs +0 -39
  327. package/dist/esm2022/account/pages/account/keycloakify-angular-account-pages-account.mjs +0 -5
  328. package/dist/esm2022/account/pages/account/public-api.mjs +0 -2
  329. package/dist/esm2022/account/pages/applications/applications.component.mjs +0 -37
  330. package/dist/esm2022/account/pages/applications/keycloakify-angular-account-pages-applications.mjs +0 -5
  331. package/dist/esm2022/account/pages/applications/public-api.mjs +0 -2
  332. package/dist/esm2022/account/pages/federatedIdentity/federatedIdentity.component.mjs +0 -36
  333. package/dist/esm2022/account/pages/federatedIdentity/keycloakify-angular-account-pages-federatedIdentity.mjs +0 -5
  334. package/dist/esm2022/account/pages/federatedIdentity/public-api.mjs +0 -2
  335. package/dist/esm2022/account/pages/log/keycloakify-angular-account-pages-log.mjs +0 -5
  336. package/dist/esm2022/account/pages/log/log.component.mjs +0 -36
  337. package/dist/esm2022/account/pages/log/public-api.mjs +0 -2
  338. package/dist/esm2022/account/pages/password/keycloakify-angular-account-pages-password.mjs +0 -5
  339. package/dist/esm2022/account/pages/password/password.component.mjs +0 -107
  340. package/dist/esm2022/account/pages/password/public-api.mjs +0 -2
  341. package/dist/esm2022/account/pages/sessions/keycloakify-angular-account-pages-sessions.mjs +0 -5
  342. package/dist/esm2022/account/pages/sessions/public-api.mjs +0 -2
  343. package/dist/esm2022/account/pages/sessions/sessions.component.mjs +0 -36
  344. package/dist/esm2022/account/pages/totp/keycloakify-angular-account-pages-totp.mjs +0 -5
  345. package/dist/esm2022/account/pages/totp/public-api.mjs +0 -2
  346. package/dist/esm2022/account/pages/totp/totp.component.mjs +0 -37
  347. package/dist/esm2022/account/providers/keycloakify-angular/keycloakify-angular-account-providers-keycloakify-angular.mjs +0 -5
  348. package/dist/esm2022/account/providers/keycloakify-angular/keycloakify-angular.providers.mjs +0 -48
  349. package/dist/esm2022/account/providers/keycloakify-angular/public-api.mjs +0 -2
  350. package/dist/esm2022/account/services/account-resource-injector/account-resource-injector.service.mjs +0 -37
  351. package/dist/esm2022/account/services/account-resource-injector/keycloakify-angular-account-services-account-resource-injector.mjs +0 -5
  352. package/dist/esm2022/account/services/account-resource-injector/public-api.mjs +0 -2
  353. package/dist/esm2022/account/services/i18n/i18n.service.mjs +0 -12
  354. package/dist/esm2022/account/services/i18n/keycloakify-angular-account-services-i18n.mjs +0 -5
  355. package/dist/esm2022/account/services/i18n/public-api.mjs +0 -2
  356. package/dist/esm2022/account/tokens/classes/classes.token.mjs +0 -3
  357. package/dist/esm2022/account/tokens/classes/keycloakify-angular-account-tokens-classes.mjs +0 -5
  358. package/dist/esm2022/account/tokens/classes/public-api.mjs +0 -2
  359. package/dist/esm2022/account/tokens/i18n/i18n.token.mjs +0 -3
  360. package/dist/esm2022/account/tokens/i18n/keycloakify-angular-account-tokens-i18n.mjs +0 -5
  361. package/dist/esm2022/account/tokens/i18n/public-api.mjs +0 -2
  362. package/dist/esm2022/account/tokens/kc-context/kc-context.token.mjs +0 -3
  363. package/dist/esm2022/account/tokens/kc-context/keycloakify-angular-account-tokens-kc-context.mjs +0 -5
  364. package/dist/esm2022/account/tokens/kc-context/public-api.mjs +0 -2
  365. package/dist/esm2022/keycloakify-angular.mjs +0 -5
  366. package/dist/esm2022/lib/directives/attributes/attributes.directive.mjs +0 -26
  367. package/dist/esm2022/lib/directives/attributes/keycloakify-angular-lib-directives-attributes.mjs +0 -5
  368. package/dist/esm2022/lib/directives/attributes/public-api.mjs +0 -2
  369. package/dist/esm2022/lib/keycloakify-angular-lib.mjs +0 -5
  370. package/dist/esm2022/lib/models/script/keycloakify-angular-lib-models-script.mjs +0 -5
  371. package/dist/esm2022/lib/models/script/public-api.mjs +0 -2
  372. package/dist/esm2022/lib/models/script/script.model.mjs +0 -2
  373. package/dist/esm2022/lib/pipes/input-type/input-type.pipe.mjs +0 -20
  374. package/dist/esm2022/lib/pipes/input-type/keycloakify-angular-lib-pipes-input-type.mjs +0 -5
  375. package/dist/esm2022/lib/pipes/input-type/public-api.mjs +0 -2
  376. package/dist/esm2022/lib/pipes/is-array-with-empty-object/is-array-with-empty-object.pipe.mjs +0 -20
  377. package/dist/esm2022/lib/pipes/is-array-with-empty-object/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs +0 -5
  378. package/dist/esm2022/lib/pipes/is-array-with-empty-object/public-api.mjs +0 -2
  379. package/dist/esm2022/lib/pipes/kc-sanitize/kc-sanitize.pipe.mjs +0 -29
  380. package/dist/esm2022/lib/pipes/kc-sanitize/keycloakify-angular-lib-pipes-kc-sanitize.mjs +0 -5
  381. package/dist/esm2022/lib/pipes/kc-sanitize/public-api.mjs +0 -2
  382. package/dist/esm2022/lib/pipes/to-array/keycloakify-angular-lib-pipes-to-array.mjs +0 -5
  383. package/dist/esm2022/lib/pipes/to-array/public-api.mjs +0 -2
  384. package/dist/esm2022/lib/pipes/to-array/to-array.pipe.mjs +0 -21
  385. package/dist/esm2022/lib/pipes/to-number/keycloakify-angular-lib-pipes-to-number.mjs +0 -5
  386. package/dist/esm2022/lib/pipes/to-number/public-api.mjs +0 -2
  387. package/dist/esm2022/lib/pipes/to-number/to-number.pipe.mjs +0 -20
  388. package/dist/esm2022/lib/public-api.mjs +0 -2
  389. package/dist/esm2022/lib/services/resource-injector/keycloakify-angular-lib-services-resource-injector.mjs +0 -5
  390. package/dist/esm2022/lib/services/resource-injector/public-api.mjs +0 -2
  391. package/dist/esm2022/lib/services/resource-injector/resource-injector.service.mjs +0 -54
  392. package/dist/esm2022/lib/tokens/use-default-css/keycloakify-angular-lib-tokens-use-default-css.mjs +0 -5
  393. package/dist/esm2022/lib/tokens/use-default-css/public-api.mjs +0 -2
  394. package/dist/esm2022/lib/tokens/use-default-css/use-default-css.token.mjs +0 -3
  395. package/dist/esm2022/login/DefaultPage/DefaultPage.mjs +0 -121
  396. package/dist/esm2022/login/DefaultPage/keycloakify-angular-login-DefaultPage.mjs +0 -5
  397. package/dist/esm2022/login/DefaultPage/public-api.mjs +0 -2
  398. package/dist/esm2022/login/KcContext/KcContext.mjs +0 -2
  399. package/dist/esm2022/login/KcContext/keycloakify-angular-login-KcContext.mjs +0 -5
  400. package/dist/esm2022/login/KcContext/public-api.mjs +0 -2
  401. package/dist/esm2022/login/classes/component-reference/component-reference.class.mjs +0 -3
  402. package/dist/esm2022/login/classes/component-reference/keycloakify-angular-login-classes-component-reference.mjs +0 -5
  403. package/dist/esm2022/login/classes/component-reference/public-api.mjs +0 -2
  404. package/dist/esm2022/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.mjs +0 -106
  405. package/dist/esm2022/login/components/add-remove-buttons-multi-valued-attribute/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs +0 -5
  406. package/dist/esm2022/login/components/add-remove-buttons-multi-valued-attribute/public-api.mjs +0 -2
  407. package/dist/esm2022/login/components/field-errors/field-errors.component.mjs +0 -33
  408. package/dist/esm2022/login/components/field-errors/keycloakify-angular-login-components-field-errors.mjs +0 -5
  409. package/dist/esm2022/login/components/field-errors/public-api.mjs +0 -2
  410. package/dist/esm2022/login/components/group-label/group-label.component.mjs +0 -43
  411. package/dist/esm2022/login/components/group-label/keycloakify-angular-login-components-group-label.mjs +0 -5
  412. package/dist/esm2022/login/components/group-label/public-api.mjs +0 -2
  413. package/dist/esm2022/login/components/input-field-by-type/input-field-by-type.component.mjs +0 -46
  414. package/dist/esm2022/login/components/input-field-by-type/keycloakify-angular-login-components-input-field-by-type.mjs +0 -5
  415. package/dist/esm2022/login/components/input-field-by-type/public-api.mjs +0 -2
  416. package/dist/esm2022/login/components/input-tag/input-tag.component.mjs +0 -90
  417. package/dist/esm2022/login/components/input-tag/keycloakify-angular-login-components-input-tag.mjs +0 -5
  418. package/dist/esm2022/login/components/input-tag/public-api.mjs +0 -2
  419. package/dist/esm2022/login/components/input-tag-selects/input-tag-selects.component.mjs +0 -117
  420. package/dist/esm2022/login/components/input-tag-selects/keycloakify-angular-login-components-input-tag-selects.mjs +0 -5
  421. package/dist/esm2022/login/components/input-tag-selects/public-api.mjs +0 -2
  422. package/dist/esm2022/login/components/logout-other-sessions/keycloakify-angular-login-components-logout-other-sessions.mjs +0 -5
  423. package/dist/esm2022/login/components/logout-other-sessions/logout-other-sessions.component.mjs +0 -32
  424. package/dist/esm2022/login/components/logout-other-sessions/public-api.mjs +0 -2
  425. package/dist/esm2022/login/components/password-wrapper/keycloakify-angular-login-components-password-wrapper.mjs +0 -5
  426. package/dist/esm2022/login/components/password-wrapper/password-wrapper.component.mjs +0 -46
  427. package/dist/esm2022/login/components/password-wrapper/public-api.mjs +0 -2
  428. package/dist/esm2022/login/components/select-tag/keycloakify-angular-login-components-select-tag.mjs +0 -5
  429. package/dist/esm2022/login/components/select-tag/public-api.mjs +0 -2
  430. package/dist/esm2022/login/components/select-tag/select-tag.component.mjs +0 -82
  431. package/dist/esm2022/login/components/textarea-tag/keycloakify-angular-login-components-textarea-tag.mjs +0 -5
  432. package/dist/esm2022/login/components/textarea-tag/public-api.mjs +0 -2
  433. package/dist/esm2022/login/components/textarea-tag/textarea-tag.component.mjs +0 -49
  434. package/dist/esm2022/login/components/user-profile-form-fields/keycloakify-angular-login-components-user-profile-form-fields.mjs +0 -5
  435. package/dist/esm2022/login/components/user-profile-form-fields/public-api.mjs +0 -2
  436. package/dist/esm2022/login/components/user-profile-form-fields/user-profile-form-fields.component.mjs +0 -62
  437. package/dist/esm2022/login/containers/template/keycloakify-angular-login-containers-template.mjs +0 -5
  438. package/dist/esm2022/login/containers/template/public-api.mjs +0 -2
  439. package/dist/esm2022/login/containers/template/template.component.mjs +0 -72
  440. package/dist/esm2022/login/directives/kc-class/kc-class.directive.mjs +0 -138
  441. package/dist/esm2022/login/directives/kc-class/keycloakify-angular-login-directives-kc-class.mjs +0 -5
  442. package/dist/esm2022/login/directives/kc-class/public-api.mjs +0 -2
  443. package/dist/esm2022/login/i18n/i18n.mjs +0 -2
  444. package/dist/esm2022/login/i18n/keycloakify-angular-login-i18n.mjs +0 -5
  445. package/dist/esm2022/login/i18n/public-api.mjs +0 -2
  446. package/dist/esm2022/login/pages/code/code.component.mjs +0 -35
  447. package/dist/esm2022/login/pages/code/keycloakify-angular-login-pages-code.mjs +0 -5
  448. package/dist/esm2022/login/pages/code/public-api.mjs +0 -2
  449. package/dist/esm2022/login/pages/delete-account-confirm/delete-account-confirm.component.mjs +0 -35
  450. package/dist/esm2022/login/pages/delete-account-confirm/keycloakify-angular-login-pages-delete-account-confirm.mjs +0 -5
  451. package/dist/esm2022/login/pages/delete-account-confirm/public-api.mjs +0 -2
  452. package/dist/esm2022/login/pages/delete-credential/delete-credential.component.mjs +0 -40
  453. package/dist/esm2022/login/pages/delete-credential/keycloakify-angular-login-pages-delete-credential.mjs +0 -5
  454. package/dist/esm2022/login/pages/delete-credential/public-api.mjs +0 -2
  455. package/dist/esm2022/login/pages/error/error.component.mjs +0 -35
  456. package/dist/esm2022/login/pages/error/keycloakify-angular-login-pages-error.mjs +0 -5
  457. package/dist/esm2022/login/pages/error/public-api.mjs +0 -2
  458. package/dist/esm2022/login/pages/frontchannel-logout/frontchannel-logout.component.mjs +0 -44
  459. package/dist/esm2022/login/pages/frontchannel-logout/keycloakify-angular-login-pages-frontchannel-logout.mjs +0 -5
  460. package/dist/esm2022/login/pages/frontchannel-logout/public-api.mjs +0 -2
  461. package/dist/esm2022/login/pages/idp-review-user-profile/idp-review-user-profile.component.mjs +0 -53
  462. package/dist/esm2022/login/pages/idp-review-user-profile/keycloakify-angular-login-pages-idp-review-user-profile.mjs +0 -5
  463. package/dist/esm2022/login/pages/idp-review-user-profile/public-api.mjs +0 -2
  464. package/dist/esm2022/login/pages/info/info.component.mjs +0 -49
  465. package/dist/esm2022/login/pages/info/keycloakify-angular-login-pages-info.mjs +0 -5
  466. package/dist/esm2022/login/pages/info/public-api.mjs +0 -2
  467. package/dist/esm2022/login/pages/login/keycloakify-angular-login-pages-login.mjs +0 -5
  468. package/dist/esm2022/login/pages/login/login.component.mjs +0 -44
  469. package/dist/esm2022/login/pages/login/public-api.mjs +0 -2
  470. package/dist/esm2022/login/pages/login-config-totp/keycloakify-angular-login-pages-login-config-totp.mjs +0 -5
  471. package/dist/esm2022/login/pages/login-config-totp/login-config-totp.component.mjs +0 -42
  472. package/dist/esm2022/login/pages/login-config-totp/public-api.mjs +0 -2
  473. package/dist/esm2022/login/pages/login-idp-link-confirm/keycloakify-angular-login-pages-login-idp-link-confirm.mjs +0 -5
  474. package/dist/esm2022/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.mjs +0 -40
  475. package/dist/esm2022/login/pages/login-idp-link-confirm/public-api.mjs +0 -2
  476. package/dist/esm2022/login/pages/login-idp-link-confirm-override/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs +0 -5
  477. package/dist/esm2022/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.mjs +0 -40
  478. package/dist/esm2022/login/pages/login-idp-link-confirm-override/public-api.mjs +0 -2
  479. package/dist/esm2022/login/pages/login-idp-link-email/keycloakify-angular-login-pages-login-idp-link-email.mjs +0 -5
  480. package/dist/esm2022/login/pages/login-idp-link-email/login-idp-link-email.component.mjs +0 -40
  481. package/dist/esm2022/login/pages/login-idp-link-email/public-api.mjs +0 -2
  482. package/dist/esm2022/login/pages/login-oauth-grant/keycloakify-angular-login-pages-login-oauth-grant.mjs +0 -5
  483. package/dist/esm2022/login/pages/login-oauth-grant/login-oauth-grant.component.mjs +0 -40
  484. package/dist/esm2022/login/pages/login-oauth-grant/public-api.mjs +0 -2
  485. package/dist/esm2022/login/pages/login-oauth2-device-verify-user-code/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs +0 -5
  486. package/dist/esm2022/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.mjs +0 -40
  487. package/dist/esm2022/login/pages/login-oauth2-device-verify-user-code/public-api.mjs +0 -2
  488. package/dist/esm2022/login/pages/login-otp/keycloakify-angular-login-pages-login-otp.mjs +0 -5
  489. package/dist/esm2022/login/pages/login-otp/login-otp.component.mjs +0 -41
  490. package/dist/esm2022/login/pages/login-otp/public-api.mjs +0 -2
  491. package/dist/esm2022/login/pages/login-page-expired/keycloakify-angular-login-pages-login-page-expired.mjs +0 -5
  492. package/dist/esm2022/login/pages/login-page-expired/login-page-expired.component.mjs +0 -39
  493. package/dist/esm2022/login/pages/login-page-expired/public-api.mjs +0 -2
  494. package/dist/esm2022/login/pages/login-passkeys-conditional-authenticate/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +0 -5
  495. package/dist/esm2022/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.mjs +0 -84
  496. package/dist/esm2022/login/pages/login-passkeys-conditional-authenticate/public-api.mjs +0 -2
  497. package/dist/esm2022/login/pages/login-password/keycloakify-angular-login-pages-login-password.mjs +0 -5
  498. package/dist/esm2022/login/pages/login-password/login-password.component.mjs +0 -43
  499. package/dist/esm2022/login/pages/login-password/public-api.mjs +0 -2
  500. package/dist/esm2022/login/pages/login-recovery-authn-code-config/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs +0 -5
  501. package/dist/esm2022/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.mjs +0 -43
  502. package/dist/esm2022/login/pages/login-recovery-authn-code-config/public-api.mjs +0 -2
  503. package/dist/esm2022/login/pages/login-recovery-authn-code-input/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +0 -5
  504. package/dist/esm2022/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.mjs +0 -41
  505. package/dist/esm2022/login/pages/login-recovery-authn-code-input/public-api.mjs +0 -2
  506. package/dist/esm2022/login/pages/login-reset-otp/keycloakify-angular-login-pages-login-reset-otp.mjs +0 -5
  507. package/dist/esm2022/login/pages/login-reset-otp/login-reset-otp.component.mjs +0 -40
  508. package/dist/esm2022/login/pages/login-reset-otp/public-api.mjs +0 -2
  509. package/dist/esm2022/login/pages/login-reset-password/keycloakify-angular-login-pages-login-reset-password.mjs +0 -5
  510. package/dist/esm2022/login/pages/login-reset-password/login-reset-password.component.mjs +0 -41
  511. package/dist/esm2022/login/pages/login-reset-password/public-api.mjs +0 -2
  512. package/dist/esm2022/login/pages/login-update-password/keycloakify-angular-login-pages-login-update-password.mjs +0 -5
  513. package/dist/esm2022/login/pages/login-update-password/login-update-password.component.mjs +0 -43
  514. package/dist/esm2022/login/pages/login-update-password/public-api.mjs +0 -2
  515. package/dist/esm2022/login/pages/login-update-profile/keycloakify-angular-login-pages-login-update-profile.mjs +0 -5
  516. package/dist/esm2022/login/pages/login-update-profile/login-update-profile.component.mjs +0 -50
  517. package/dist/esm2022/login/pages/login-update-profile/public-api.mjs +0 -2
  518. package/dist/esm2022/login/pages/login-username/keycloakify-angular-login-pages-login-username.mjs +0 -5
  519. package/dist/esm2022/login/pages/login-username/login-username.component.mjs +0 -43
  520. package/dist/esm2022/login/pages/login-username/public-api.mjs +0 -2
  521. package/dist/esm2022/login/pages/login-verify-email/keycloakify-angular-login-pages-login-verify-email.mjs +0 -5
  522. package/dist/esm2022/login/pages/login-verify-email/login-verify-email.component.mjs +0 -40
  523. package/dist/esm2022/login/pages/login-verify-email/public-api.mjs +0 -2
  524. package/dist/esm2022/login/pages/login-x509-info/keycloakify-angular-login-pages-login-x509-info.mjs +0 -5
  525. package/dist/esm2022/login/pages/login-x509-info/login-x509-info.component.mjs +0 -40
  526. package/dist/esm2022/login/pages/login-x509-info/public-api.mjs +0 -2
  527. package/dist/esm2022/login/pages/logout-confirm/keycloakify-angular-login-pages-logout-confirm.mjs +0 -5
  528. package/dist/esm2022/login/pages/logout-confirm/logout-confirm.component.mjs +0 -40
  529. package/dist/esm2022/login/pages/logout-confirm/public-api.mjs +0 -2
  530. package/dist/esm2022/login/pages/register/keycloakify-angular-login-pages-register.mjs +0 -5
  531. package/dist/esm2022/login/pages/register/public-api.mjs +0 -2
  532. package/dist/esm2022/login/pages/register/register.component.mjs +0 -55
  533. package/dist/esm2022/login/pages/saml-post-form/keycloakify-angular-login-pages-saml-post-form.mjs +0 -5
  534. package/dist/esm2022/login/pages/saml-post-form/public-api.mjs +0 -2
  535. package/dist/esm2022/login/pages/saml-post-form/saml-post-form.component.mjs +0 -52
  536. package/dist/esm2022/login/pages/select-authenticator/keycloakify-angular-login-pages-select-authenticator.mjs +0 -5
  537. package/dist/esm2022/login/pages/select-authenticator/public-api.mjs +0 -2
  538. package/dist/esm2022/login/pages/select-authenticator/select-authenticator.component.mjs +0 -41
  539. package/dist/esm2022/login/pages/terms/keycloakify-angular-login-pages-terms.mjs +0 -5
  540. package/dist/esm2022/login/pages/terms/public-api.mjs +0 -2
  541. package/dist/esm2022/login/pages/terms/terms.component.mjs +0 -40
  542. package/dist/esm2022/login/pages/update-email/keycloakify-angular-login-pages-update-email.mjs +0 -5
  543. package/dist/esm2022/login/pages/update-email/public-api.mjs +0 -2
  544. package/dist/esm2022/login/pages/update-email/update-email.component.mjs +0 -51
  545. package/dist/esm2022/login/pages/webauthn-authenticate/keycloakify-angular-login-pages-webauthn-authenticate.mjs +0 -5
  546. package/dist/esm2022/login/pages/webauthn-authenticate/public-api.mjs +0 -2
  547. package/dist/esm2022/login/pages/webauthn-authenticate/webauthn-authenticate.component.mjs +0 -80
  548. package/dist/esm2022/login/pages/webauthn-error/keycloakify-angular-login-pages-webauthn-error.mjs +0 -5
  549. package/dist/esm2022/login/pages/webauthn-error/public-api.mjs +0 -2
  550. package/dist/esm2022/login/pages/webauthn-error/webauthn-error.component.mjs +0 -49
  551. package/dist/esm2022/login/pages/webauthn-register/keycloakify-angular-login-pages-webauthn-register.mjs +0 -5
  552. package/dist/esm2022/login/pages/webauthn-register/public-api.mjs +0 -2
  553. package/dist/esm2022/login/pages/webauthn-register/webauthn-register.component.mjs +0 -76
  554. package/dist/esm2022/login/providers/keycloakify-angular/keycloakify-angular-login-providers-keycloakify-angular.mjs +0 -5
  555. package/dist/esm2022/login/providers/keycloakify-angular/keycloakify-angular.providers.mjs +0 -53
  556. package/dist/esm2022/login/providers/keycloakify-angular/public-api.mjs +0 -2
  557. package/dist/esm2022/login/services/i18n/i18n.service.mjs +0 -12
  558. package/dist/esm2022/login/services/i18n/keycloakify-angular-login-services-i18n.mjs +0 -5
  559. package/dist/esm2022/login/services/i18n/public-api.mjs +0 -2
  560. package/dist/esm2022/login/services/login-resource-injector/keycloakify-angular-login-services-login-resource-injector.mjs +0 -5
  561. package/dist/esm2022/login/services/login-resource-injector/login-resource-injector.service.mjs +0 -68
  562. package/dist/esm2022/login/services/login-resource-injector/public-api.mjs +0 -2
  563. package/dist/esm2022/login/services/submit/keycloakify-angular-login-services-submit.mjs +0 -5
  564. package/dist/esm2022/login/services/submit/public-api.mjs +0 -2
  565. package/dist/esm2022/login/services/submit/submit.service.mjs +0 -20
  566. package/dist/esm2022/login/services/user-profile-form/keycloakify-angular-login-services-user-profile-form.mjs +0 -5
  567. package/dist/esm2022/login/services/user-profile-form/public-api.mjs +0 -2
  568. package/dist/esm2022/login/services/user-profile-form/user-profile-form.service.mjs +0 -1019
  569. package/dist/esm2022/login/tokens/classes/classes.token.mjs +0 -3
  570. package/dist/esm2022/login/tokens/classes/keycloakify-angular-login-tokens-classes.mjs +0 -5
  571. package/dist/esm2022/login/tokens/classes/public-api.mjs +0 -2
  572. package/dist/esm2022/login/tokens/i18n/i18n.token.mjs +0 -3
  573. package/dist/esm2022/login/tokens/i18n/keycloakify-angular-login-tokens-i18n.mjs +0 -5
  574. package/dist/esm2022/login/tokens/i18n/public-api.mjs +0 -2
  575. package/dist/esm2022/login/tokens/kc-context/kc-context.token.mjs +0 -3
  576. package/dist/esm2022/login/tokens/kc-context/keycloakify-angular-login-tokens-kc-context.mjs +0 -5
  577. package/dist/esm2022/login/tokens/kc-context/public-api.mjs +0 -2
  578. package/dist/esm2022/login/tokens/make-user-confirm-password/keycloakify-angular-login-tokens-make-user-confirm-password.mjs +0 -5
  579. package/dist/esm2022/login/tokens/make-user-confirm-password/make-user-confirm-password.token.mjs +0 -3
  580. package/dist/esm2022/login/tokens/make-user-confirm-password/public-api.mjs +0 -2
  581. package/dist/esm2022/public-api.mjs +0 -2
  582. package/dist/fesm2022/keycloakify-angular-account-DefaultPage.mjs +0 -39
  583. package/dist/fesm2022/keycloakify-angular-account-DefaultPage.mjs.map +0 -1
  584. package/dist/fesm2022/keycloakify-angular-account-KcContext.mjs +0 -4
  585. package/dist/fesm2022/keycloakify-angular-account-KcContext.mjs.map +0 -1
  586. package/dist/fesm2022/keycloakify-angular-account-classes-component-reference.mjs +0 -9
  587. package/dist/fesm2022/keycloakify-angular-account-classes-component-reference.mjs.map +0 -1
  588. package/dist/fesm2022/keycloakify-angular-account-containers-template.mjs +0 -73
  589. package/dist/fesm2022/keycloakify-angular-account-containers-template.mjs.map +0 -1
  590. package/dist/fesm2022/keycloakify-angular-account-directives-kc-class.mjs +0 -144
  591. package/dist/fesm2022/keycloakify-angular-account-directives-kc-class.mjs.map +0 -1
  592. package/dist/fesm2022/keycloakify-angular-account-i18n.mjs +0 -4
  593. package/dist/fesm2022/keycloakify-angular-account-i18n.mjs.map +0 -1
  594. package/dist/fesm2022/keycloakify-angular-account-pages-account.mjs +0 -46
  595. package/dist/fesm2022/keycloakify-angular-account-pages-account.mjs.map +0 -1
  596. package/dist/fesm2022/keycloakify-angular-account-pages-applications.mjs +0 -44
  597. package/dist/fesm2022/keycloakify-angular-account-pages-applications.mjs.map +0 -1
  598. package/dist/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs +0 -43
  599. package/dist/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs.map +0 -1
  600. package/dist/fesm2022/keycloakify-angular-account-pages-log.mjs +0 -43
  601. package/dist/fesm2022/keycloakify-angular-account-pages-log.mjs.map +0 -1
  602. package/dist/fesm2022/keycloakify-angular-account-pages-password.mjs +0 -114
  603. package/dist/fesm2022/keycloakify-angular-account-pages-password.mjs.map +0 -1
  604. package/dist/fesm2022/keycloakify-angular-account-pages-sessions.mjs +0 -43
  605. package/dist/fesm2022/keycloakify-angular-account-pages-sessions.mjs.map +0 -1
  606. package/dist/fesm2022/keycloakify-angular-account-pages-totp.mjs +0 -44
  607. package/dist/fesm2022/keycloakify-angular-account-pages-totp.mjs.map +0 -1
  608. package/dist/fesm2022/keycloakify-angular-account-providers-keycloakify-angular.mjs +0 -55
  609. package/dist/fesm2022/keycloakify-angular-account-providers-keycloakify-angular.mjs.map +0 -1
  610. package/dist/fesm2022/keycloakify-angular-account-services-account-resource-injector.mjs +0 -44
  611. package/dist/fesm2022/keycloakify-angular-account-services-account-resource-injector.mjs.map +0 -1
  612. package/dist/fesm2022/keycloakify-angular-account-services-i18n.mjs +0 -19
  613. package/dist/fesm2022/keycloakify-angular-account-services-i18n.mjs.map +0 -1
  614. package/dist/fesm2022/keycloakify-angular-account-tokens-classes.mjs +0 -10
  615. package/dist/fesm2022/keycloakify-angular-account-tokens-classes.mjs.map +0 -1
  616. package/dist/fesm2022/keycloakify-angular-account-tokens-i18n.mjs +0 -10
  617. package/dist/fesm2022/keycloakify-angular-account-tokens-i18n.mjs.map +0 -1
  618. package/dist/fesm2022/keycloakify-angular-account-tokens-kc-context.mjs +0 -10
  619. package/dist/fesm2022/keycloakify-angular-account-tokens-kc-context.mjs.map +0 -1
  620. package/dist/fesm2022/keycloakify-angular-lib-directives-attributes.mjs +0 -33
  621. package/dist/fesm2022/keycloakify-angular-lib-directives-attributes.mjs.map +0 -1
  622. package/dist/fesm2022/keycloakify-angular-lib-models-script.mjs +0 -4
  623. package/dist/fesm2022/keycloakify-angular-lib-models-script.mjs.map +0 -1
  624. package/dist/fesm2022/keycloakify-angular-lib-pipes-input-type.mjs +0 -27
  625. package/dist/fesm2022/keycloakify-angular-lib-pipes-input-type.mjs.map +0 -1
  626. package/dist/fesm2022/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs +0 -27
  627. package/dist/fesm2022/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs.map +0 -1
  628. package/dist/fesm2022/keycloakify-angular-lib-pipes-kc-sanitize.mjs +0 -36
  629. package/dist/fesm2022/keycloakify-angular-lib-pipes-kc-sanitize.mjs.map +0 -1
  630. package/dist/fesm2022/keycloakify-angular-lib-pipes-to-array.mjs +0 -28
  631. package/dist/fesm2022/keycloakify-angular-lib-pipes-to-array.mjs.map +0 -1
  632. package/dist/fesm2022/keycloakify-angular-lib-pipes-to-number.mjs +0 -27
  633. package/dist/fesm2022/keycloakify-angular-lib-pipes-to-number.mjs.map +0 -1
  634. package/dist/fesm2022/keycloakify-angular-lib-services-resource-injector.mjs +0 -61
  635. package/dist/fesm2022/keycloakify-angular-lib-services-resource-injector.mjs.map +0 -1
  636. package/dist/fesm2022/keycloakify-angular-lib-tokens-use-default-css.mjs +0 -10
  637. package/dist/fesm2022/keycloakify-angular-lib-tokens-use-default-css.mjs.map +0 -1
  638. package/dist/fesm2022/keycloakify-angular-lib.mjs +0 -8
  639. package/dist/fesm2022/keycloakify-angular-lib.mjs.map +0 -1
  640. package/dist/fesm2022/keycloakify-angular-login-DefaultPage.mjs +0 -126
  641. package/dist/fesm2022/keycloakify-angular-login-DefaultPage.mjs.map +0 -1
  642. package/dist/fesm2022/keycloakify-angular-login-KcContext.mjs +0 -4
  643. package/dist/fesm2022/keycloakify-angular-login-KcContext.mjs.map +0 -1
  644. package/dist/fesm2022/keycloakify-angular-login-classes-component-reference.mjs +0 -9
  645. package/dist/fesm2022/keycloakify-angular-login-classes-component-reference.mjs.map +0 -1
  646. package/dist/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs +0 -113
  647. package/dist/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs.map +0 -1
  648. package/dist/fesm2022/keycloakify-angular-login-components-field-errors.mjs +0 -40
  649. package/dist/fesm2022/keycloakify-angular-login-components-field-errors.mjs.map +0 -1
  650. package/dist/fesm2022/keycloakify-angular-login-components-group-label.mjs +0 -50
  651. package/dist/fesm2022/keycloakify-angular-login-components-group-label.mjs.map +0 -1
  652. package/dist/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs +0 -53
  653. package/dist/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs.map +0 -1
  654. package/dist/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs +0 -124
  655. package/dist/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs.map +0 -1
  656. package/dist/fesm2022/keycloakify-angular-login-components-input-tag.mjs +0 -97
  657. package/dist/fesm2022/keycloakify-angular-login-components-input-tag.mjs.map +0 -1
  658. package/dist/fesm2022/keycloakify-angular-login-components-logout-other-sessions.mjs +0 -39
  659. package/dist/fesm2022/keycloakify-angular-login-components-logout-other-sessions.mjs.map +0 -1
  660. package/dist/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs +0 -53
  661. package/dist/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs.map +0 -1
  662. package/dist/fesm2022/keycloakify-angular-login-components-select-tag.mjs +0 -89
  663. package/dist/fesm2022/keycloakify-angular-login-components-select-tag.mjs.map +0 -1
  664. package/dist/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs +0 -56
  665. package/dist/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs.map +0 -1
  666. package/dist/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs +0 -69
  667. package/dist/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs.map +0 -1
  668. package/dist/fesm2022/keycloakify-angular-login-containers-template.mjs +0 -79
  669. package/dist/fesm2022/keycloakify-angular-login-containers-template.mjs.map +0 -1
  670. package/dist/fesm2022/keycloakify-angular-login-directives-kc-class.mjs +0 -145
  671. package/dist/fesm2022/keycloakify-angular-login-directives-kc-class.mjs.map +0 -1
  672. package/dist/fesm2022/keycloakify-angular-login-i18n.mjs +0 -4
  673. package/dist/fesm2022/keycloakify-angular-login-i18n.mjs.map +0 -1
  674. package/dist/fesm2022/keycloakify-angular-login-pages-code.mjs +0 -42
  675. package/dist/fesm2022/keycloakify-angular-login-pages-code.mjs.map +0 -1
  676. package/dist/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs +0 -42
  677. package/dist/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs.map +0 -1
  678. package/dist/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs +0 -47
  679. package/dist/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs.map +0 -1
  680. package/dist/fesm2022/keycloakify-angular-login-pages-error.mjs +0 -42
  681. package/dist/fesm2022/keycloakify-angular-login-pages-error.mjs.map +0 -1
  682. package/dist/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs +0 -51
  683. package/dist/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs.map +0 -1
  684. package/dist/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs +0 -60
  685. package/dist/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs.map +0 -1
  686. package/dist/fesm2022/keycloakify-angular-login-pages-info.mjs +0 -56
  687. package/dist/fesm2022/keycloakify-angular-login-pages-info.mjs.map +0 -1
  688. package/dist/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs +0 -49
  689. package/dist/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs.map +0 -1
  690. package/dist/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs +0 -47
  691. package/dist/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs.map +0 -1
  692. package/dist/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs +0 -47
  693. package/dist/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs.map +0 -1
  694. package/dist/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs +0 -47
  695. package/dist/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs.map +0 -1
  696. package/dist/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs +0 -47
  697. package/dist/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs.map +0 -1
  698. package/dist/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs +0 -47
  699. package/dist/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs.map +0 -1
  700. package/dist/fesm2022/keycloakify-angular-login-pages-login-otp.mjs +0 -48
  701. package/dist/fesm2022/keycloakify-angular-login-pages-login-otp.mjs.map +0 -1
  702. package/dist/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs +0 -46
  703. package/dist/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs.map +0 -1
  704. package/dist/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +0 -91
  705. package/dist/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs.map +0 -1
  706. package/dist/fesm2022/keycloakify-angular-login-pages-login-password.mjs +0 -50
  707. package/dist/fesm2022/keycloakify-angular-login-pages-login-password.mjs.map +0 -1
  708. package/dist/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs +0 -50
  709. package/dist/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs.map +0 -1
  710. package/dist/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +0 -48
  711. package/dist/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs.map +0 -1
  712. package/dist/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs +0 -47
  713. package/dist/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs.map +0 -1
  714. package/dist/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs +0 -48
  715. package/dist/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs.map +0 -1
  716. package/dist/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs +0 -50
  717. package/dist/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs.map +0 -1
  718. package/dist/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs +0 -57
  719. package/dist/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs.map +0 -1
  720. package/dist/fesm2022/keycloakify-angular-login-pages-login-username.mjs +0 -50
  721. package/dist/fesm2022/keycloakify-angular-login-pages-login-username.mjs.map +0 -1
  722. package/dist/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs +0 -47
  723. package/dist/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs.map +0 -1
  724. package/dist/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs +0 -47
  725. package/dist/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs.map +0 -1
  726. package/dist/fesm2022/keycloakify-angular-login-pages-login.mjs +0 -51
  727. package/dist/fesm2022/keycloakify-angular-login-pages-login.mjs.map +0 -1
  728. package/dist/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs +0 -47
  729. package/dist/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs.map +0 -1
  730. package/dist/fesm2022/keycloakify-angular-login-pages-register.mjs +0 -62
  731. package/dist/fesm2022/keycloakify-angular-login-pages-register.mjs.map +0 -1
  732. package/dist/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs +0 -59
  733. package/dist/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs.map +0 -1
  734. package/dist/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs +0 -48
  735. package/dist/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs.map +0 -1
  736. package/dist/fesm2022/keycloakify-angular-login-pages-terms.mjs +0 -47
  737. package/dist/fesm2022/keycloakify-angular-login-pages-terms.mjs.map +0 -1
  738. package/dist/fesm2022/keycloakify-angular-login-pages-update-email.mjs +0 -58
  739. package/dist/fesm2022/keycloakify-angular-login-pages-update-email.mjs.map +0 -1
  740. package/dist/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs +0 -87
  741. package/dist/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs.map +0 -1
  742. package/dist/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs +0 -56
  743. package/dist/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs.map +0 -1
  744. package/dist/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs +0 -83
  745. package/dist/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs.map +0 -1
  746. package/dist/fesm2022/keycloakify-angular-login-providers-keycloakify-angular.mjs +0 -60
  747. package/dist/fesm2022/keycloakify-angular-login-providers-keycloakify-angular.mjs.map +0 -1
  748. package/dist/fesm2022/keycloakify-angular-login-services-i18n.mjs +0 -19
  749. package/dist/fesm2022/keycloakify-angular-login-services-i18n.mjs.map +0 -1
  750. package/dist/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs +0 -75
  751. package/dist/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs.map +0 -1
  752. package/dist/fesm2022/keycloakify-angular-login-services-submit.mjs +0 -27
  753. package/dist/fesm2022/keycloakify-angular-login-services-submit.mjs.map +0 -1
  754. package/dist/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs +0 -1026
  755. package/dist/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs.map +0 -1
  756. package/dist/fesm2022/keycloakify-angular-login-tokens-classes.mjs +0 -10
  757. package/dist/fesm2022/keycloakify-angular-login-tokens-classes.mjs.map +0 -1
  758. package/dist/fesm2022/keycloakify-angular-login-tokens-i18n.mjs +0 -10
  759. package/dist/fesm2022/keycloakify-angular-login-tokens-i18n.mjs.map +0 -1
  760. package/dist/fesm2022/keycloakify-angular-login-tokens-kc-context.mjs +0 -10
  761. package/dist/fesm2022/keycloakify-angular-login-tokens-kc-context.mjs.map +0 -1
  762. package/dist/fesm2022/keycloakify-angular-login-tokens-make-user-confirm-password.mjs +0 -10
  763. package/dist/fesm2022/keycloakify-angular-login-tokens-make-user-confirm-password.mjs.map +0 -1
  764. package/dist/fesm2022/keycloakify-angular.mjs +0 -8
  765. package/dist/fesm2022/keycloakify-angular.mjs.map +0 -1
  766. package/dist/index.d.ts +0 -5
  767. package/dist/lib/directives/attributes/attributes.directive.d.ts +0 -8
  768. package/dist/lib/directives/attributes/index.d.ts +0 -5
  769. package/dist/lib/index.d.ts +0 -5
  770. package/dist/lib/models/script/index.d.ts +0 -5
  771. package/dist/lib/models/script/script.model.d.ts +0 -6
  772. package/dist/lib/pipes/input-type/index.d.ts +0 -5
  773. package/dist/lib/pipes/input-type/input-type.pipe.d.ts +0 -7
  774. package/dist/lib/pipes/is-array-with-empty-object/index.d.ts +0 -5
  775. package/dist/lib/pipes/is-array-with-empty-object/is-array-with-empty-object.pipe.d.ts +0 -7
  776. package/dist/lib/pipes/kc-sanitize/index.d.ts +0 -5
  777. package/dist/lib/pipes/kc-sanitize/kc-sanitize.pipe.d.ts +0 -9
  778. package/dist/lib/pipes/to-array/index.d.ts +0 -5
  779. package/dist/lib/pipes/to-array/to-array.pipe.d.ts +0 -7
  780. package/dist/lib/pipes/to-number/index.d.ts +0 -5
  781. package/dist/lib/pipes/to-number/to-number.pipe.d.ts +0 -7
  782. package/dist/lib/public-api.d.ts +0 -1
  783. package/dist/lib/services/resource-injector/index.d.ts +0 -5
  784. package/dist/lib/services/resource-injector/resource-injector.service.d.ts +0 -10
  785. package/dist/lib/tokens/use-default-css/index.d.ts +0 -5
  786. package/dist/lib/tokens/use-default-css/use-default-css.token.d.ts +0 -2
  787. package/dist/login/DefaultPage/DefaultPage.d.ts +0 -260
  788. package/dist/login/DefaultPage/index.d.ts +0 -5
  789. package/dist/login/KcContext/KcContext.d.ts +0 -1
  790. package/dist/login/KcContext/index.d.ts +0 -5
  791. package/dist/login/classes/component-reference/component-reference.class.d.ts +0 -5
  792. package/dist/login/classes/component-reference/index.d.ts +0 -5
  793. package/dist/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.d.ts +0 -18
  794. package/dist/login/components/add-remove-buttons-multi-valued-attribute/index.d.ts +0 -5
  795. package/dist/login/components/field-errors/field-errors.component.d.ts +0 -14
  796. package/dist/login/components/field-errors/index.d.ts +0 -5
  797. package/dist/login/components/group-label/group-label.component.d.ts +0 -15
  798. package/dist/login/components/group-label/index.d.ts +0 -5
  799. package/dist/login/components/input-field-by-type/index.d.ts +0 -5
  800. package/dist/login/components/input-field-by-type/input-field-by-type.component.d.ts +0 -16
  801. package/dist/login/components/input-tag/index.d.ts +0 -5
  802. package/dist/login/components/input-tag/input-tag.component.d.ts +0 -22
  803. package/dist/login/components/input-tag-selects/index.d.ts +0 -5
  804. package/dist/login/components/input-tag-selects/input-tag-selects.component.d.ts +0 -28
  805. package/dist/login/components/logout-other-sessions/index.d.ts +0 -5
  806. package/dist/login/components/logout-other-sessions/logout-other-sessions.component.d.ts +0 -11
  807. package/dist/login/components/password-wrapper/index.d.ts +0 -5
  808. package/dist/login/components/password-wrapper/password-wrapper.component.d.ts +0 -17
  809. package/dist/login/components/select-tag/index.d.ts +0 -5
  810. package/dist/login/components/select-tag/select-tag.component.d.ts +0 -21
  811. package/dist/login/components/textarea-tag/index.d.ts +0 -5
  812. package/dist/login/components/textarea-tag/textarea-tag.component.d.ts +0 -17
  813. package/dist/login/components/user-profile-form-fields/index.d.ts +0 -5
  814. package/dist/login/components/user-profile-form-fields/user-profile-form-fields.component.d.ts +0 -31
  815. package/dist/login/containers/template/index.d.ts +0 -5
  816. package/dist/login/containers/template/template.component.d.ts +0 -31
  817. package/dist/login/directives/kc-class/index.d.ts +0 -5
  818. package/dist/login/directives/kc-class/kc-class.directive.d.ts +0 -26
  819. package/dist/login/i18n/i18n.d.ts +0 -4
  820. package/dist/login/i18n/index.d.ts +0 -5
  821. package/dist/login/pages/code/code.component.d.ts +0 -13
  822. package/dist/login/pages/code/index.d.ts +0 -5
  823. package/dist/login/pages/delete-account-confirm/delete-account-confirm.component.d.ts +0 -13
  824. package/dist/login/pages/delete-account-confirm/index.d.ts +0 -5
  825. package/dist/login/pages/delete-credential/delete-credential.component.d.ts +0 -18
  826. package/dist/login/pages/delete-credential/index.d.ts +0 -5
  827. package/dist/login/pages/error/error.component.d.ts +0 -13
  828. package/dist/login/pages/error/index.d.ts +0 -5
  829. package/dist/login/pages/frontchannel-logout/frontchannel-logout.component.d.ts +0 -19
  830. package/dist/login/pages/frontchannel-logout/index.d.ts +0 -5
  831. package/dist/login/pages/idp-review-user-profile/idp-review-user-profile.component.d.ts +0 -25
  832. package/dist/login/pages/idp-review-user-profile/index.d.ts +0 -5
  833. package/dist/login/pages/info/index.d.ts +0 -5
  834. package/dist/login/pages/info/info.component.d.ts +0 -19
  835. package/dist/login/pages/login/index.d.ts +0 -5
  836. package/dist/login/pages/login/login.component.d.ts +0 -19
  837. package/dist/login/pages/login-config-totp/index.d.ts +0 -5
  838. package/dist/login/pages/login-config-totp/login-config-totp.component.d.ts +0 -18
  839. package/dist/login/pages/login-idp-link-confirm/index.d.ts +0 -5
  840. package/dist/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.d.ts +0 -18
  841. package/dist/login/pages/login-idp-link-confirm-override/index.d.ts +0 -5
  842. package/dist/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.d.ts +0 -18
  843. package/dist/login/pages/login-idp-link-email/index.d.ts +0 -5
  844. package/dist/login/pages/login-idp-link-email/login-idp-link-email.component.d.ts +0 -18
  845. package/dist/login/pages/login-oauth-grant/index.d.ts +0 -5
  846. package/dist/login/pages/login-oauth-grant/login-oauth-grant.component.d.ts +0 -18
  847. package/dist/login/pages/login-oauth2-device-verify-user-code/index.d.ts +0 -5
  848. package/dist/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.d.ts +0 -18
  849. package/dist/login/pages/login-otp/index.d.ts +0 -5
  850. package/dist/login/pages/login-otp/login-otp.component.d.ts +0 -18
  851. package/dist/login/pages/login-page-expired/index.d.ts +0 -5
  852. package/dist/login/pages/login-page-expired/login-page-expired.component.d.ts +0 -18
  853. package/dist/login/pages/login-passkeys-conditional-authenticate/index.d.ts +0 -5
  854. package/dist/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.d.ts +0 -19
  855. package/dist/login/pages/login-password/index.d.ts +0 -5
  856. package/dist/login/pages/login-password/login-password.component.d.ts +0 -19
  857. package/dist/login/pages/login-recovery-authn-code-config/index.d.ts +0 -5
  858. package/dist/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.d.ts +0 -20
  859. package/dist/login/pages/login-recovery-authn-code-input/index.d.ts +0 -5
  860. package/dist/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.d.ts +0 -18
  861. package/dist/login/pages/login-reset-otp/index.d.ts +0 -5
  862. package/dist/login/pages/login-reset-otp/login-reset-otp.component.d.ts +0 -18
  863. package/dist/login/pages/login-reset-password/index.d.ts +0 -5
  864. package/dist/login/pages/login-reset-password/login-reset-password.component.d.ts +0 -18
  865. package/dist/login/pages/login-update-password/index.d.ts +0 -5
  866. package/dist/login/pages/login-update-password/login-update-password.component.d.ts +0 -18
  867. package/dist/login/pages/login-update-profile/index.d.ts +0 -5
  868. package/dist/login/pages/login-update-profile/login-update-profile.component.d.ts +0 -24
  869. package/dist/login/pages/login-username/index.d.ts +0 -5
  870. package/dist/login/pages/login-username/login-username.component.d.ts +0 -19
  871. package/dist/login/pages/login-verify-email/index.d.ts +0 -5
  872. package/dist/login/pages/login-verify-email/login-verify-email.component.d.ts +0 -18
  873. package/dist/login/pages/login-x509-info/index.d.ts +0 -5
  874. package/dist/login/pages/login-x509-info/login-x509-info.component.d.ts +0 -18
  875. package/dist/login/pages/logout-confirm/index.d.ts +0 -5
  876. package/dist/login/pages/logout-confirm/logout-confirm.component.d.ts +0 -18
  877. package/dist/login/pages/register/index.d.ts +0 -5
  878. package/dist/login/pages/register/register.component.d.ts +0 -26
  879. package/dist/login/pages/saml-post-form/index.d.ts +0 -5
  880. package/dist/login/pages/saml-post-form/saml-post-form.component.d.ts +0 -21
  881. package/dist/login/pages/select-authenticator/index.d.ts +0 -5
  882. package/dist/login/pages/select-authenticator/select-authenticator.component.d.ts +0 -18
  883. package/dist/login/pages/terms/index.d.ts +0 -5
  884. package/dist/login/pages/terms/terms.component.d.ts +0 -18
  885. package/dist/login/pages/update-email/index.d.ts +0 -5
  886. package/dist/login/pages/update-email/update-email.component.d.ts +0 -24
  887. package/dist/login/pages/webauthn-authenticate/index.d.ts +0 -5
  888. package/dist/login/pages/webauthn-authenticate/webauthn-authenticate.component.d.ts +0 -23
  889. package/dist/login/pages/webauthn-error/index.d.ts +0 -5
  890. package/dist/login/pages/webauthn-error/webauthn-error.component.d.ts +0 -19
  891. package/dist/login/pages/webauthn-register/index.d.ts +0 -5
  892. package/dist/login/pages/webauthn-register/webauthn-register.component.d.ts +0 -22
  893. package/dist/login/providers/keycloakify-angular/index.d.ts +0 -5
  894. package/dist/login/providers/keycloakify-angular/keycloakify-angular.providers.d.ts +0 -16
  895. package/dist/login/services/i18n/i18n.service.d.ts +0 -6
  896. package/dist/login/services/i18n/index.d.ts +0 -5
  897. package/dist/login/services/login-resource-injector/index.d.ts +0 -5
  898. package/dist/login/services/login-resource-injector/login-resource-injector.service.d.ts +0 -11
  899. package/dist/login/services/submit/index.d.ts +0 -5
  900. package/dist/login/services/submit/submit.service.d.ts +0 -9
  901. package/dist/login/services/user-profile-form/index.d.ts +0 -5
  902. package/dist/login/services/user-profile-form/user-profile-form.service.d.ts +0 -86
  903. package/dist/login/tokens/classes/classes.token.d.ts +0 -127
  904. package/dist/login/tokens/classes/index.d.ts +0 -5
  905. package/dist/login/tokens/i18n/i18n.token.d.ts +0 -2
  906. package/dist/login/tokens/i18n/index.d.ts +0 -5
  907. package/dist/login/tokens/kc-context/index.d.ts +0 -5
  908. package/dist/login/tokens/kc-context/kc-context.token.d.ts +0 -3
  909. package/dist/login/tokens/make-user-confirm-password/index.d.ts +0 -5
  910. package/dist/login/tokens/make-user-confirm-password/make-user-confirm-password.token.d.ts +0 -2
  911. package/dist/public-api.d.ts +0 -1
  912. package/dist/src/account/DefaultPage.ts +0 -61
  913. package/dist/src/account/classes/component-reference/component-reference.class.ts +0 -6
  914. package/dist/src/account/classes/component-reference/index.ts +0 -1
  915. package/dist/src/account/containers/template/index.ts +0 -1
  916. package/dist/src/account/containers/template/template.component.ts +0 -71
  917. package/dist/src/account/directives/kc-class/index.ts +0 -1
  918. package/dist/src/account/directives/kc-class/kc-class.directive.ts +0 -150
  919. package/dist/src/account/pages/account/account.component.ts +0 -34
  920. package/dist/src/account/pages/account/index.ts +0 -1
  921. package/dist/src/account/pages/applications/applications.component.ts +0 -32
  922. package/dist/src/account/pages/applications/index.ts +0 -1
  923. package/dist/src/account/pages/federatedIdentity/federatedIdentity.component.ts +0 -31
  924. package/dist/src/account/pages/federatedIdentity/index.ts +0 -1
  925. package/dist/src/account/pages/log/index.ts +0 -1
  926. package/dist/src/account/pages/log/log.component.ts +0 -31
  927. package/dist/src/account/pages/password/index.ts +0 -1
  928. package/dist/src/account/pages/password/password.component.ts +0 -110
  929. package/dist/src/account/pages/sessions/index.ts +0 -1
  930. package/dist/src/account/pages/sessions/sessions.component.ts +0 -31
  931. package/dist/src/account/pages/totp/index.ts +0 -1
  932. package/dist/src/account/pages/totp/totp.component.ts +0 -32
  933. package/dist/src/account/providers/keycloakify-angular/index.ts +0 -1
  934. package/dist/src/account/providers/keycloakify-angular/keycloakify-angular.providers.ts +0 -64
  935. package/dist/src/account/services/account-resource-injector/account-resource-injector.service.ts +0 -41
  936. package/dist/src/account/services/account-resource-injector/index.ts +0 -1
  937. package/dist/src/account/services/i18n/index.ts +0 -1
  938. package/dist/src/account/tokens/classes/index.ts +0 -1
  939. package/dist/src/account/tokens/i18n/index.ts +0 -1
  940. package/dist/src/account/tokens/kc-context/index.ts +0 -1
  941. package/dist/src/account/tokens/kc-context/kc-context.token.ts +0 -6
  942. package/dist/src/lib/directives/attributes/index.ts +0 -1
  943. package/dist/src/lib/models/script/index.ts +0 -1
  944. package/dist/src/lib/pipes/input-type/index.ts +0 -1
  945. package/dist/src/lib/pipes/is-array-with-empty-object/index.ts +0 -1
  946. package/dist/src/lib/pipes/is-array-with-empty-object/is-array-with-empty-object.pipe.ts +0 -16
  947. package/dist/src/lib/pipes/kc-sanitize/index.ts +0 -1
  948. package/dist/src/lib/pipes/to-array/index.ts +0 -1
  949. package/dist/src/lib/pipes/to-array/to-array.pipe.ts +0 -15
  950. package/dist/src/lib/pipes/to-number/index.ts +0 -1
  951. package/dist/src/lib/pipes/to-number/to-number.pipe.ts +0 -13
  952. package/dist/src/lib/services/resource-injector/index.ts +0 -1
  953. package/dist/src/lib/tokens/use-default-css/index.ts +0 -1
  954. package/dist/src/login/DefaultPage.ts +0 -208
  955. package/dist/src/login/classes/component-reference/index.ts +0 -1
  956. package/dist/src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.ts +0 -136
  957. package/dist/src/login/components/add-remove-buttons-multi-valued-attribute/index.ts +0 -1
  958. package/dist/src/login/components/field-errors/index.ts +0 -1
  959. package/dist/src/login/components/group-label/group-label.component.ts +0 -46
  960. package/dist/src/login/components/group-label/index.ts +0 -1
  961. package/dist/src/login/components/input-field-by-type/index.ts +0 -1
  962. package/dist/src/login/components/input-tag/index.ts +0 -1
  963. package/dist/src/login/components/input-tag/input-tag.component.ts +0 -99
  964. package/dist/src/login/components/input-tag-selects/index.ts +0 -1
  965. package/dist/src/login/components/input-tag-selects/input-tag-selects.component.ts +0 -139
  966. package/dist/src/login/components/logout-other-sessions/index.ts +0 -1
  967. package/dist/src/login/components/logout-other-sessions/logout-other-sessions.component.ts +0 -34
  968. package/dist/src/login/components/password-wrapper/index.ts +0 -1
  969. package/dist/src/login/components/password-wrapper/password-wrapper.component.ts +0 -51
  970. package/dist/src/login/components/select-tag/index.ts +0 -1
  971. package/dist/src/login/components/select-tag/select-tag.component.ts +0 -97
  972. package/dist/src/login/components/textarea-tag/index.ts +0 -1
  973. package/dist/src/login/components/user-profile-form-fields/index.ts +0 -1
  974. package/dist/src/login/components/user-profile-form-fields/user-profile-form-fields.component.ts +0 -70
  975. package/dist/src/login/containers/template/index.ts +0 -1
  976. package/dist/src/login/containers/template/template.component.ts +0 -78
  977. package/dist/src/login/directives/kc-class/index.ts +0 -1
  978. package/dist/src/login/pages/code/code.component.ts +0 -31
  979. package/dist/src/login/pages/code/index.ts +0 -1
  980. package/dist/src/login/pages/delete-account-confirm/delete-account-confirm.component.ts +0 -31
  981. package/dist/src/login/pages/delete-account-confirm/index.ts +0 -1
  982. package/dist/src/login/pages/delete-credential/delete-credential.component.ts +0 -36
  983. package/dist/src/login/pages/delete-credential/index.ts +0 -1
  984. package/dist/src/login/pages/error/error.component.ts +0 -31
  985. package/dist/src/login/pages/error/index.ts +0 -1
  986. package/dist/src/login/pages/frontchannel-logout/frontchannel-logout.component.ts +0 -41
  987. package/dist/src/login/pages/frontchannel-logout/index.ts +0 -1
  988. package/dist/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.ts +0 -56
  989. package/dist/src/login/pages/idp-review-user-profile/index.ts +0 -1
  990. package/dist/src/login/pages/info/index.ts +0 -1
  991. package/dist/src/login/pages/info/info.component.ts +0 -48
  992. package/dist/src/login/pages/login/index.ts +0 -1
  993. package/dist/src/login/pages/login/login.component.ts +0 -40
  994. package/dist/src/login/pages/login-config-totp/index.ts +0 -1
  995. package/dist/src/login/pages/login-config-totp/login-config-totp.component.ts +0 -38
  996. package/dist/src/login/pages/login-idp-link-confirm/index.ts +0 -1
  997. package/dist/src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.ts +0 -36
  998. package/dist/src/login/pages/login-idp-link-confirm-override/index.ts +0 -1
  999. package/dist/src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.ts +0 -36
  1000. package/dist/src/login/pages/login-idp-link-email/index.ts +0 -1
  1001. package/dist/src/login/pages/login-idp-link-email/login-idp-link-email.component.ts +0 -36
  1002. package/dist/src/login/pages/login-oauth-grant/index.ts +0 -1
  1003. package/dist/src/login/pages/login-oauth-grant/login-oauth-grant.component.ts +0 -36
  1004. package/dist/src/login/pages/login-oauth2-device-verify-user-code/index.ts +0 -1
  1005. package/dist/src/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.ts +0 -36
  1006. package/dist/src/login/pages/login-otp/index.ts +0 -1
  1007. package/dist/src/login/pages/login-otp/login-otp.component.ts +0 -37
  1008. package/dist/src/login/pages/login-page-expired/index.ts +0 -1
  1009. package/dist/src/login/pages/login-page-expired/login-page-expired.component.ts +0 -35
  1010. package/dist/src/login/pages/login-passkeys-conditional-authenticate/index.ts +0 -1
  1011. package/dist/src/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.ts +0 -94
  1012. package/dist/src/login/pages/login-password/index.ts +0 -1
  1013. package/dist/src/login/pages/login-password/login-password.component.ts +0 -40
  1014. package/dist/src/login/pages/login-recovery-authn-code-config/index.ts +0 -1
  1015. package/dist/src/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.ts +0 -40
  1016. package/dist/src/login/pages/login-recovery-authn-code-input/index.ts +0 -1
  1017. package/dist/src/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.ts +0 -37
  1018. package/dist/src/login/pages/login-reset-otp/index.ts +0 -1
  1019. package/dist/src/login/pages/login-reset-otp/login-reset-otp.component.ts +0 -36
  1020. package/dist/src/login/pages/login-reset-password/index.ts +0 -1
  1021. package/dist/src/login/pages/login-reset-password/login-reset-password.component.ts +0 -37
  1022. package/dist/src/login/pages/login-update-password/index.ts +0 -1
  1023. package/dist/src/login/pages/login-update-password/login-update-password.component.ts +0 -39
  1024. package/dist/src/login/pages/login-update-profile/index.ts +0 -1
  1025. package/dist/src/login/pages/login-update-profile/login-update-profile.component.ts +0 -51
  1026. package/dist/src/login/pages/login-username/index.ts +0 -1
  1027. package/dist/src/login/pages/login-username/login-username.component.ts +0 -39
  1028. package/dist/src/login/pages/login-verify-email/index.ts +0 -1
  1029. package/dist/src/login/pages/login-verify-email/login-verify-email.component.ts +0 -36
  1030. package/dist/src/login/pages/login-x509-info/index.ts +0 -1
  1031. package/dist/src/login/pages/login-x509-info/login-x509-info.component.ts +0 -36
  1032. package/dist/src/login/pages/logout-confirm/index.ts +0 -1
  1033. package/dist/src/login/pages/logout-confirm/logout-confirm.component.ts +0 -36
  1034. package/dist/src/login/pages/register/index.ts +0 -1
  1035. package/dist/src/login/pages/register/register.component.ts +0 -56
  1036. package/dist/src/login/pages/saml-post-form/index.ts +0 -1
  1037. package/dist/src/login/pages/saml-post-form/saml-post-form.component.ts +0 -50
  1038. package/dist/src/login/pages/select-authenticator/index.ts +0 -1
  1039. package/dist/src/login/pages/select-authenticator/select-authenticator.component.ts +0 -37
  1040. package/dist/src/login/pages/terms/index.ts +0 -1
  1041. package/dist/src/login/pages/terms/terms.component.ts +0 -36
  1042. package/dist/src/login/pages/update-email/index.ts +0 -1
  1043. package/dist/src/login/pages/update-email/update-email.component.ts +0 -52
  1044. package/dist/src/login/pages/webauthn-authenticate/index.ts +0 -1
  1045. package/dist/src/login/pages/webauthn-authenticate/webauthn-authenticate.component.ts +0 -82
  1046. package/dist/src/login/pages/webauthn-error/index.ts +0 -1
  1047. package/dist/src/login/pages/webauthn-error/webauthn-error.component.ts +0 -46
  1048. package/dist/src/login/pages/webauthn-register/index.ts +0 -1
  1049. package/dist/src/login/pages/webauthn-register/webauthn-register.component.ts +0 -92
  1050. package/dist/src/login/providers/keycloakify-angular/index.ts +0 -1
  1051. package/dist/src/login/providers/keycloakify-angular/keycloakify-angular.providers.ts +0 -68
  1052. package/dist/src/login/services/i18n/index.ts +0 -1
  1053. package/dist/src/login/services/login-resource-injector/index.ts +0 -1
  1054. package/dist/src/login/services/login-resource-injector/login-resource-injector.service.ts +0 -73
  1055. package/dist/src/login/services/submit/index.ts +0 -1
  1056. package/dist/src/login/services/user-profile-form/index.ts +0 -1
  1057. package/dist/src/login/services/user-profile-form/user-profile-form.service.ts +0 -1502
  1058. package/dist/src/login/tokens/classes/index.ts +0 -1
  1059. package/dist/src/login/tokens/i18n/index.ts +0 -1
  1060. package/dist/src/login/tokens/kc-context/index.ts +0 -1
  1061. package/dist/src/login/tokens/kc-context/kc-context.token.ts +0 -4
  1062. package/dist/src/login/tokens/make-user-confirm-password/index.ts +0 -1
  1063. package/dist/src/tsconfig.lib.json +0 -14
  1064. package/dist/src/tsconfig.lib.prod.json +0 -10
  1065. /package/{dist/account/DefaultPage/public-api.d.ts → src/account/DefaultPage/public-api.ts} +0 -0
  1066. /package/{dist/src/account → src/account/KcContext}/KcContext.ts +0 -0
  1067. /package/{dist/account/KcContext/public-api.d.ts → src/account/KcContext/public-api.ts} +0 -0
  1068. /package/{dist/account/classes/component-reference/public-api.d.ts → src/account/classes/component-reference/public-api.ts} +0 -0
  1069. /package/{dist/account/containers/template/public-api.d.ts → src/account/containers/template/public-api.ts} +0 -0
  1070. /package/{dist/src → src}/account/containers/template/template.component.html +0 -0
  1071. /package/{dist/account/directives/kc-class/public-api.d.ts → src/account/directives/kc-class/public-api.ts} +0 -0
  1072. /package/{dist/src/account → src/account/i18n}/i18n.ts +0 -0
  1073. /package/{dist/account/i18n/public-api.d.ts → src/account/i18n/public-api.ts} +0 -0
  1074. /package/{dist/src → src}/account/pages/account/account.component.html +0 -0
  1075. /package/{dist/account/pages/account/public-api.d.ts → src/account/pages/account/public-api.ts} +0 -0
  1076. /package/{dist/src → src}/account/pages/applications/applications.component.html +0 -0
  1077. /package/{dist/account/pages/applications/public-api.d.ts → src/account/pages/applications/public-api.ts} +0 -0
  1078. /package/{dist/src → src}/account/pages/federatedIdentity/federatedIdentity.component.html +0 -0
  1079. /package/{dist/account/pages/federatedIdentity/public-api.d.ts → src/account/pages/federatedIdentity/public-api.ts} +0 -0
  1080. /package/{dist/src → src}/account/pages/log/log.component.html +0 -0
  1081. /package/{dist/account/pages/log/public-api.d.ts → src/account/pages/log/public-api.ts} +0 -0
  1082. /package/{dist/src → src}/account/pages/password/password.component.html +0 -0
  1083. /package/{dist/account/pages/password/public-api.d.ts → src/account/pages/password/public-api.ts} +0 -0
  1084. /package/{dist/account/pages/sessions/public-api.d.ts → src/account/pages/sessions/public-api.ts} +0 -0
  1085. /package/{dist/src → src}/account/pages/sessions/sessions.component.html +0 -0
  1086. /package/{dist/account/pages/totp/public-api.d.ts → src/account/pages/totp/public-api.ts} +0 -0
  1087. /package/{dist/src → src}/account/pages/totp/totp.component.html +0 -0
  1088. /package/{dist/account/providers/keycloakify-angular/public-api.d.ts → src/account/providers/keycloakify-angular/public-api.ts} +0 -0
  1089. /package/{dist/account/services/account-resource-injector/public-api.d.ts → src/account/services/account-resource-injector/public-api.ts} +0 -0
  1090. /package/{dist/src → src}/account/services/i18n/i18n.service.ts +0 -0
  1091. /package/{dist/account/services/i18n/public-api.d.ts → src/account/services/i18n/public-api.ts} +0 -0
  1092. /package/{dist/src → src}/account/tokens/classes/classes.token.ts +0 -0
  1093. /package/{dist/account/tokens/classes/public-api.d.ts → src/account/tokens/classes/public-api.ts} +0 -0
  1094. /package/{dist/src → src}/account/tokens/i18n/i18n.token.ts +0 -0
  1095. /package/{dist/account/tokens/i18n/public-api.d.ts → src/account/tokens/i18n/public-api.ts} +0 -0
  1096. /package/{dist/account/tokens/kc-context/public-api.d.ts → src/account/tokens/kc-context/public-api.ts} +0 -0
  1097. /package/{dist/src → src}/lib/directives/attributes/attributes.directive.ts +0 -0
  1098. /package/{dist/lib/directives/attributes/public-api.d.ts → src/lib/directives/attributes/public-api.ts} +0 -0
  1099. /package/{dist/lib/models/script/public-api.d.ts → src/lib/models/script/public-api.ts} +0 -0
  1100. /package/{dist/src → src}/lib/models/script/script.model.ts +0 -0
  1101. /package/{dist/src → src}/lib/pipes/input-type/input-type.pipe.ts +0 -0
  1102. /package/{dist/lib/pipes/input-type/public-api.d.ts → src/lib/pipes/input-type/public-api.ts} +0 -0
  1103. /package/{dist/lib/pipes/is-array-with-empty-object/public-api.d.ts → src/lib/pipes/is-array-with-empty-object/public-api.ts} +0 -0
  1104. /package/{dist/src → src}/lib/pipes/kc-sanitize/kc-sanitize.pipe.ts +0 -0
  1105. /package/{dist/lib/pipes/kc-sanitize/public-api.d.ts → src/lib/pipes/kc-sanitize/public-api.ts} +0 -0
  1106. /package/{dist/lib/pipes/to-array/public-api.d.ts → src/lib/pipes/to-array/public-api.ts} +0 -0
  1107. /package/{dist/lib/pipes/to-number/public-api.d.ts → src/lib/pipes/to-number/public-api.ts} +0 -0
  1108. /package/{dist/lib/services/resource-injector/public-api.d.ts → src/lib/services/resource-injector/public-api.ts} +0 -0
  1109. /package/{dist/src → src}/lib/services/resource-injector/resource-injector.service.ts +0 -0
  1110. /package/{dist/lib/tokens/use-default-css/public-api.d.ts → src/lib/tokens/use-default-css/public-api.ts} +0 -0
  1111. /package/{dist/src → src}/lib/tokens/use-default-css/use-default-css.token.ts +0 -0
  1112. /package/{dist/login/DefaultPage/public-api.d.ts → src/login/DefaultPage/public-api.ts} +0 -0
  1113. /package/{dist/src/login → src/login/KcContext}/KcContext.ts +0 -0
  1114. /package/{dist/login/KcContext/public-api.d.ts → src/login/KcContext/public-api.ts} +0 -0
  1115. /package/{dist/src → src}/login/classes/component-reference/component-reference.class.ts +0 -0
  1116. /package/{dist/login/classes/component-reference/public-api.d.ts → src/login/classes/component-reference/public-api.ts} +0 -0
  1117. /package/{dist/src → src}/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.html +0 -0
  1118. /package/{dist/login/components/add-remove-buttons-multi-valued-attribute/public-api.d.ts → src/login/components/add-remove-buttons-multi-valued-attribute/public-api.ts} +0 -0
  1119. /package/{dist/src → src}/login/components/field-errors/field-errors.component.html +0 -0
  1120. /package/{dist/src → src}/login/components/field-errors/field-errors.component.ts +0 -0
  1121. /package/{dist/login/components/field-errors/public-api.d.ts → src/login/components/field-errors/public-api.ts} +0 -0
  1122. /package/{dist/src → src}/login/components/group-label/group-label.component.html +0 -0
  1123. /package/{dist/login/components/group-label/public-api.d.ts → src/login/components/group-label/public-api.ts} +0 -0
  1124. /package/{dist/src → src}/login/components/input-field-by-type/input-field-by-type.component.html +0 -0
  1125. /package/{dist/src → src}/login/components/input-field-by-type/input-field-by-type.component.ts +0 -0
  1126. /package/{dist/login/components/input-field-by-type/public-api.d.ts → src/login/components/input-field-by-type/public-api.ts} +0 -0
  1127. /package/{dist/src → src}/login/components/input-tag/input-tag.component.html +0 -0
  1128. /package/{dist/login/components/input-tag/public-api.d.ts → src/login/components/input-tag/public-api.ts} +0 -0
  1129. /package/{dist/src → src}/login/components/input-tag-selects/input-tag-selects.component.html +0 -0
  1130. /package/{dist/login/components/input-tag-selects/public-api.d.ts → src/login/components/input-tag-selects/public-api.ts} +0 -0
  1131. /package/{dist/src → src}/login/components/logout-other-sessions/logout-other-sessions.component.html +0 -0
  1132. /package/{dist/login/components/logout-other-sessions/public-api.d.ts → src/login/components/logout-other-sessions/public-api.ts} +0 -0
  1133. /package/{dist/src → src}/login/components/password-wrapper/password-wrapper.component.html +0 -0
  1134. /package/{dist/login/components/password-wrapper/public-api.d.ts → src/login/components/password-wrapper/public-api.ts} +0 -0
  1135. /package/{dist/login/components/select-tag/public-api.d.ts → src/login/components/select-tag/public-api.ts} +0 -0
  1136. /package/{dist/src → src}/login/components/select-tag/select-tag.component.html +0 -0
  1137. /package/{dist/login/components/textarea-tag/public-api.d.ts → src/login/components/textarea-tag/public-api.ts} +0 -0
  1138. /package/{dist/src → src}/login/components/textarea-tag/textarea-tag.component.html +0 -0
  1139. /package/{dist/src → src}/login/components/textarea-tag/textarea-tag.component.ts +0 -0
  1140. /package/{dist/login/components/user-profile-form-fields/public-api.d.ts → src/login/components/user-profile-form-fields/public-api.ts} +0 -0
  1141. /package/{dist/src → src}/login/components/user-profile-form-fields/user-profile-form-fields.component.html +0 -0
  1142. /package/{dist/login/containers/template/public-api.d.ts → src/login/containers/template/public-api.ts} +0 -0
  1143. /package/{dist/src → src}/login/containers/template/template.component.html +0 -0
  1144. /package/{dist/src → src}/login/directives/kc-class/kc-class.directive.ts +0 -0
  1145. /package/{dist/login/directives/kc-class/public-api.d.ts → src/login/directives/kc-class/public-api.ts} +0 -0
  1146. /package/{dist/src/login → src/login/i18n}/i18n.ts +0 -0
  1147. /package/{dist/login/i18n/public-api.d.ts → src/login/i18n/public-api.ts} +0 -0
  1148. /package/{dist/src → src}/login/pages/code/code.component.html +0 -0
  1149. /package/{dist/login/pages/code/public-api.d.ts → src/login/pages/code/public-api.ts} +0 -0
  1150. /package/{dist/src → src}/login/pages/delete-account-confirm/delete-account-confirm.component.html +0 -0
  1151. /package/{dist/login/pages/delete-account-confirm/public-api.d.ts → src/login/pages/delete-account-confirm/public-api.ts} +0 -0
  1152. /package/{dist/src → src}/login/pages/delete-credential/delete-credential.component.html +0 -0
  1153. /package/{dist/login/pages/delete-credential/public-api.d.ts → src/login/pages/delete-credential/public-api.ts} +0 -0
  1154. /package/{dist/src → src}/login/pages/error/error.component.html +0 -0
  1155. /package/{dist/login/pages/error/public-api.d.ts → src/login/pages/error/public-api.ts} +0 -0
  1156. /package/{dist/src → src}/login/pages/frontchannel-logout/frontchannel-logout.component.html +0 -0
  1157. /package/{dist/login/pages/frontchannel-logout/public-api.d.ts → src/login/pages/frontchannel-logout/public-api.ts} +0 -0
  1158. /package/{dist/src → src}/login/pages/idp-review-user-profile/idp-review-user-profile.component.html +0 -0
  1159. /package/{dist/login/pages/idp-review-user-profile/public-api.d.ts → src/login/pages/idp-review-user-profile/public-api.ts} +0 -0
  1160. /package/{dist/src → src}/login/pages/info/info.component.html +0 -0
  1161. /package/{dist/login/pages/info/public-api.d.ts → src/login/pages/info/public-api.ts} +0 -0
  1162. /package/{dist/src → src}/login/pages/login/login.component.html +0 -0
  1163. /package/{dist/login/pages/login/public-api.d.ts → src/login/pages/login/public-api.ts} +0 -0
  1164. /package/{dist/src → src}/login/pages/login-config-totp/login-config-totp.component.html +0 -0
  1165. /package/{dist/login/pages/login-config-totp/public-api.d.ts → src/login/pages/login-config-totp/public-api.ts} +0 -0
  1166. /package/{dist/src → src}/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.html +0 -0
  1167. /package/{dist/login/pages/login-idp-link-confirm/public-api.d.ts → src/login/pages/login-idp-link-confirm/public-api.ts} +0 -0
  1168. /package/{dist/src → src}/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.html +0 -0
  1169. /package/{dist/login/pages/login-idp-link-confirm-override/public-api.d.ts → src/login/pages/login-idp-link-confirm-override/public-api.ts} +0 -0
  1170. /package/{dist/src → src}/login/pages/login-idp-link-email/login-idp-link-email.component.html +0 -0
  1171. /package/{dist/login/pages/login-idp-link-email/public-api.d.ts → src/login/pages/login-idp-link-email/public-api.ts} +0 -0
  1172. /package/{dist/src → src}/login/pages/login-oauth-grant/login-oauth-grant.component.html +0 -0
  1173. /package/{dist/login/pages/login-oauth-grant/public-api.d.ts → src/login/pages/login-oauth-grant/public-api.ts} +0 -0
  1174. /package/{dist/src → src}/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.html +0 -0
  1175. /package/{dist/login/pages/login-oauth2-device-verify-user-code/public-api.d.ts → src/login/pages/login-oauth2-device-verify-user-code/public-api.ts} +0 -0
  1176. /package/{dist/src → src}/login/pages/login-otp/login-otp.component.html +0 -0
  1177. /package/{dist/login/pages/login-otp/public-api.d.ts → src/login/pages/login-otp/public-api.ts} +0 -0
  1178. /package/{dist/src → src}/login/pages/login-page-expired/login-page-expired.component.html +0 -0
  1179. /package/{dist/login/pages/login-page-expired/public-api.d.ts → src/login/pages/login-page-expired/public-api.ts} +0 -0
  1180. /package/{dist/src → src}/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.html +0 -0
  1181. /package/{dist/login/pages/login-passkeys-conditional-authenticate/public-api.d.ts → src/login/pages/login-passkeys-conditional-authenticate/public-api.ts} +0 -0
  1182. /package/{dist/src → src}/login/pages/login-password/login-password.component.html +0 -0
  1183. /package/{dist/login/pages/login-password/public-api.d.ts → src/login/pages/login-password/public-api.ts} +0 -0
  1184. /package/{dist/src → src}/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.html +0 -0
  1185. /package/{dist/login/pages/login-recovery-authn-code-config/public-api.d.ts → src/login/pages/login-recovery-authn-code-config/public-api.ts} +0 -0
  1186. /package/{dist/src → src}/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.html +0 -0
  1187. /package/{dist/login/pages/login-recovery-authn-code-input/public-api.d.ts → src/login/pages/login-recovery-authn-code-input/public-api.ts} +0 -0
  1188. /package/{dist/src → src}/login/pages/login-reset-otp/login-reset-otp.component.html +0 -0
  1189. /package/{dist/login/pages/login-reset-otp/public-api.d.ts → src/login/pages/login-reset-otp/public-api.ts} +0 -0
  1190. /package/{dist/src → src}/login/pages/login-reset-password/login-reset-password.component.html +0 -0
  1191. /package/{dist/login/pages/login-reset-password/public-api.d.ts → src/login/pages/login-reset-password/public-api.ts} +0 -0
  1192. /package/{dist/src → src}/login/pages/login-update-password/login-update-password.component.html +0 -0
  1193. /package/{dist/login/pages/login-update-password/public-api.d.ts → src/login/pages/login-update-password/public-api.ts} +0 -0
  1194. /package/{dist/src → src}/login/pages/login-update-profile/login-update-profile.component.html +0 -0
  1195. /package/{dist/login/pages/login-update-profile/public-api.d.ts → src/login/pages/login-update-profile/public-api.ts} +0 -0
  1196. /package/{dist/src → src}/login/pages/login-username/login-username.component.html +0 -0
  1197. /package/{dist/login/pages/login-username/public-api.d.ts → src/login/pages/login-username/public-api.ts} +0 -0
  1198. /package/{dist/src → src}/login/pages/login-verify-email/login-verify-email.component.html +0 -0
  1199. /package/{dist/login/pages/login-verify-email/public-api.d.ts → src/login/pages/login-verify-email/public-api.ts} +0 -0
  1200. /package/{dist/src → src}/login/pages/login-x509-info/login-x509-info.component.html +0 -0
  1201. /package/{dist/login/pages/login-x509-info/public-api.d.ts → src/login/pages/login-x509-info/public-api.ts} +0 -0
  1202. /package/{dist/src → src}/login/pages/logout-confirm/logout-confirm.component.html +0 -0
  1203. /package/{dist/login/pages/logout-confirm/public-api.d.ts → src/login/pages/logout-confirm/public-api.ts} +0 -0
  1204. /package/{dist/login/pages/register/public-api.d.ts → src/login/pages/register/public-api.ts} +0 -0
  1205. /package/{dist/src → src}/login/pages/register/register.component.html +0 -0
  1206. /package/{dist/login/pages/saml-post-form/public-api.d.ts → src/login/pages/saml-post-form/public-api.ts} +0 -0
  1207. /package/{dist/src → src}/login/pages/saml-post-form/saml-post-form.component.html +0 -0
  1208. /package/{dist/login/pages/select-authenticator/public-api.d.ts → src/login/pages/select-authenticator/public-api.ts} +0 -0
  1209. /package/{dist/src → src}/login/pages/select-authenticator/select-authenticator.component.html +0 -0
  1210. /package/{dist/login/pages/terms/public-api.d.ts → src/login/pages/terms/public-api.ts} +0 -0
  1211. /package/{dist/src → src}/login/pages/terms/terms.component.html +0 -0
  1212. /package/{dist/login/pages/update-email/public-api.d.ts → src/login/pages/update-email/public-api.ts} +0 -0
  1213. /package/{dist/src → src}/login/pages/update-email/update-email.component.html +0 -0
  1214. /package/{dist/login/pages/webauthn-authenticate/public-api.d.ts → src/login/pages/webauthn-authenticate/public-api.ts} +0 -0
  1215. /package/{dist/src → src}/login/pages/webauthn-authenticate/webauthn-authenticate.component.html +0 -0
  1216. /package/{dist/login/pages/webauthn-error/public-api.d.ts → src/login/pages/webauthn-error/public-api.ts} +0 -0
  1217. /package/{dist/src → src}/login/pages/webauthn-error/webauthn-error.component.html +0 -0
  1218. /package/{dist/login/pages/webauthn-register/public-api.d.ts → src/login/pages/webauthn-register/public-api.ts} +0 -0
  1219. /package/{dist/src → src}/login/pages/webauthn-register/webauthn-register.component.html +0 -0
  1220. /package/{dist/login/providers/keycloakify-angular/public-api.d.ts → src/login/providers/keycloakify-angular/public-api.ts} +0 -0
  1221. /package/{dist/src → src}/login/services/i18n/i18n.service.ts +0 -0
  1222. /package/{dist/login/services/i18n/public-api.d.ts → src/login/services/i18n/public-api.ts} +0 -0
  1223. /package/{dist/login/services/login-resource-injector/public-api.d.ts → src/login/services/login-resource-injector/public-api.ts} +0 -0
  1224. /package/{dist/login/services/submit/public-api.d.ts → src/login/services/submit/public-api.ts} +0 -0
  1225. /package/{dist/src → src}/login/services/submit/submit.service.ts +0 -0
  1226. /package/{dist/login/services/user-profile-form/public-api.d.ts → src/login/services/user-profile-form/public-api.ts} +0 -0
  1227. /package/{dist/src → src}/login/tokens/classes/classes.token.ts +0 -0
  1228. /package/{dist/login/tokens/classes/public-api.d.ts → src/login/tokens/classes/public-api.ts} +0 -0
  1229. /package/{dist/src → src}/login/tokens/i18n/i18n.token.ts +0 -0
  1230. /package/{dist/login/tokens/i18n/public-api.d.ts → src/login/tokens/i18n/public-api.ts} +0 -0
  1231. /package/{dist/login/tokens/kc-context/public-api.d.ts → src/login/tokens/kc-context/public-api.ts} +0 -0
  1232. /package/{dist/src → src}/login/tokens/make-user-confirm-password/make-user-confirm-password.token.ts +0 -0
  1233. /package/{dist/login/tokens/make-user-confirm-password/public-api.d.ts → src/login/tokens/make-user-confirm-password/public-api.ts} +0 -0
  1234. /package/{dist/stories → stories}/login/pages/login/login.stories.ts +0 -0
@@ -0,0 +1,1502 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ /* eslint-disable @typescript-eslint/ban-ts-comment */
3
+
4
+ import {
5
+ computed,
6
+ inject,
7
+ Injectable,
8
+ signal,
9
+ Signal,
10
+ WritableSignal
11
+ } from '@angular/core';
12
+ import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
13
+ import type { KcContext } from '@keycloakify/angular/login/KcContext';
14
+ import type { I18n } from '@keycloakify/angular/login/i18n';
15
+ import { LoginResourceInjectorService } from '@keycloakify/angular/login/services/login-resource-injector';
16
+ import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
17
+ import { KC_LOGIN_CONTEXT } from '@keycloakify/angular/login/tokens/kc-context';
18
+ import { DO_MAKE_USER_CONFIRM_PASSWORD } from '@keycloakify/angular/login/tokens/make-user-confirm-password';
19
+ import {
20
+ type Attribute,
21
+ type PasswordPolicies,
22
+ type Validators
23
+ } from 'keycloakify/login/KcContext';
24
+ import type {
25
+ KcContextLike as KcContextLike_i18n,
26
+ MessageKey_defaultSet
27
+ } from 'keycloakify/login/i18n/noJsx';
28
+ import { emailRegexp } from 'keycloakify/tools/emailRegExp';
29
+ import { formatNumber } from 'keycloakify/tools/formatNumber';
30
+ import { structuredCloneButFunctions } from 'keycloakify/tools/structuredCloneButFunctions';
31
+ import { assert, id } from 'tsafe';
32
+
33
+ type KcContextLike_useGetErrors = KcContextLike_i18n & {
34
+ messagesPerField: Pick<KcContext['messagesPerField'], 'existsError' | 'get'>;
35
+ passwordPolicies?: PasswordPolicies;
36
+ };
37
+ export namespace FormFieldError {
38
+ export type Source =
39
+ | Source.Validator
40
+ | Source.PasswordPolicy
41
+ | Source.Server
42
+ | Source.Other;
43
+
44
+ export namespace Source {
45
+ export type Validator = {
46
+ type: 'validator';
47
+ name: keyof Validators;
48
+ };
49
+ export type PasswordPolicy = {
50
+ type: 'passwordPolicy';
51
+ name: keyof PasswordPolicies;
52
+ };
53
+ export type Server = {
54
+ type: 'server';
55
+ };
56
+
57
+ export type Other = {
58
+ type: 'other';
59
+ rule: 'passwordConfirmMatchesPassword' | 'requiredField';
60
+ };
61
+ }
62
+ }
63
+
64
+ export type KcContextLike = KcContextLike_i18n &
65
+ KcContextLike_useGetErrors & {
66
+ profile: {
67
+ attributesByName: Record<string, Attribute>;
68
+ html5DataAnnotations?: Record<string, string>;
69
+ };
70
+ passwordRequired?: boolean;
71
+ realm: { registrationEmailAsUsername: boolean };
72
+ url: {
73
+ resourcesPath: string;
74
+ };
75
+ };
76
+ export type FormFieldError = {
77
+ errorMessage: SafeHtml; // this was jsx, be carefull
78
+ errorMessageStr: string;
79
+ source: FormFieldError.Source;
80
+ fieldIndex: number | undefined;
81
+ };
82
+ namespace internal {
83
+ export type FormFieldState = {
84
+ attribute: Attribute;
85
+ errors: FormFieldError[];
86
+ hasLostFocusAtLeastOnce: boolean | boolean[];
87
+ valueOrValues: string | string[];
88
+ };
89
+
90
+ export type State = {
91
+ formFieldStates: FormFieldState[];
92
+ };
93
+ }
94
+ type FormFieldState = {
95
+ attribute: Attribute;
96
+ displayableErrors: FormFieldError[];
97
+ valueOrValues: string | string[];
98
+ };
99
+ type FormState = {
100
+ isFormSubmittable: boolean;
101
+ formFieldStates: FormFieldState[];
102
+ };
103
+ export type FormAction =
104
+ | {
105
+ action: 'update';
106
+ name: string;
107
+ valueOrValues: string | string[];
108
+ /** Default false */
109
+ displayErrorsImmediately?: boolean;
110
+ }
111
+ | {
112
+ action: 'focus lost';
113
+ name: string;
114
+ fieldIndex: number | undefined;
115
+ };
116
+
117
+ @Injectable({ providedIn: 'root' })
118
+ export class UserProfileFormService {
119
+ private kcContext: KcContextLike =
120
+ inject<Extract<KcContext, { pageId: 'register.ftl' }>>(KC_LOGIN_CONTEXT);
121
+ private i18n = inject<I18n>(LOGIN_I18N);
122
+ private doMakeUserConfirmPassword = inject(DO_MAKE_USER_CONFIRM_PASSWORD);
123
+ private loginResourceInjectorService = inject(LoginResourceInjectorService);
124
+ private sanitizer: DomSanitizer = inject(DomSanitizer);
125
+ private initialState: internal.State = (() => {
126
+ const attributes: Attribute[] = (() => {
127
+ mock_user_profile_attributes_for_older_keycloak_versions: {
128
+ if (
129
+ 'profile' in this.kcContext &&
130
+ 'attributesByName' in this.kcContext.profile &&
131
+ Object.keys(this.kcContext.profile.attributesByName).length !== 0
132
+ ) {
133
+ break mock_user_profile_attributes_for_older_keycloak_versions;
134
+ }
135
+
136
+ if (
137
+ 'register' in this.kcContext &&
138
+ this.kcContext.register instanceof Object &&
139
+ 'formData' in this.kcContext.register
140
+ ) {
141
+ //NOTE: Handle legacy register.ftl page
142
+ return (['firstName', 'lastName', 'email', 'username'] as const)
143
+ .filter(name =>
144
+ name !== 'username'
145
+ ? true
146
+ : !this.kcContext.realm.registrationEmailAsUsername
147
+ )
148
+ .map(name =>
149
+ id<Attribute>({
150
+ name: name,
151
+ displayName: id<`\${${MessageKey_defaultSet}}`>(
152
+ `\${${name}}`
153
+ ),
154
+ required: true,
155
+ value:
156
+ (this.kcContext as any).register.formData[name] ?? '',
157
+ html5DataAnnotations: {},
158
+ readOnly: false,
159
+ validators: {},
160
+ annotations: {},
161
+ autocomplete: (() => {
162
+ switch (name) {
163
+ case 'email':
164
+ return 'email';
165
+ case 'username':
166
+ return 'username';
167
+ default:
168
+ return undefined;
169
+ }
170
+ })()
171
+ })
172
+ );
173
+ }
174
+
175
+ if ('user' in this.kcContext && this.kcContext.user instanceof Object) {
176
+ //NOTE: Handle legacy login-update-profile.ftl
177
+ return (['username', 'email', 'firstName', 'lastName'] as const)
178
+ .filter(name =>
179
+ name !== 'username'
180
+ ? true
181
+ : (this.kcContext as any).user.editUsernameAllowed
182
+ )
183
+ .map(name =>
184
+ id<Attribute>({
185
+ name: name,
186
+ displayName: id<`\${${MessageKey_defaultSet}}`>(
187
+ `\${${name}}`
188
+ ),
189
+ required: true,
190
+ value: (this.kcContext as any).user[name] ?? '',
191
+ html5DataAnnotations: {},
192
+ readOnly: false,
193
+ validators: {},
194
+ annotations: {},
195
+ autocomplete: (() => {
196
+ switch (name) {
197
+ case 'email':
198
+ return 'email';
199
+ case 'username':
200
+ return 'username';
201
+ default:
202
+ return undefined;
203
+ }
204
+ })()
205
+ })
206
+ );
207
+ }
208
+
209
+ if ('email' in this.kcContext && this.kcContext.email instanceof Object) {
210
+ //NOTE: Handle legacy update-email.ftl
211
+ return [
212
+ id<Attribute>({
213
+ name: 'email',
214
+ displayName: id<`\${${MessageKey_defaultSet}}`>(`\${email}`),
215
+ required: true,
216
+ value: (this.kcContext.email as any).value ?? '',
217
+ html5DataAnnotations: {},
218
+ readOnly: false,
219
+ validators: {},
220
+ annotations: {},
221
+ autocomplete: 'email'
222
+ })
223
+ ];
224
+ }
225
+
226
+ assert(false, 'Unable to mock user profile from the current kcContext');
227
+ }
228
+
229
+ return Object.values(this.kcContext.profile.attributesByName).map(
230
+ structuredCloneButFunctions
231
+ );
232
+ })();
233
+ // Retro-compatibility and consistency patches
234
+ attributes.forEach(attribute => {
235
+ patch_legacy_group: {
236
+ if (typeof attribute.group !== 'string') {
237
+ break patch_legacy_group;
238
+ }
239
+
240
+ const {
241
+ group,
242
+ groupDisplayHeader,
243
+ groupDisplayDescription,
244
+ groupAnnotations
245
+ } = attribute as Attribute & {
246
+ group: string;
247
+ groupDisplayHeader?: string;
248
+ groupDisplayDescription?: string;
249
+ groupAnnotations: Record<string, string>;
250
+ };
251
+
252
+ delete attribute.group;
253
+ // @ts-expect-error
254
+ delete attribute.groupDisplayHeader;
255
+ // @ts-expect-error
256
+ delete attribute.groupDisplayDescription;
257
+ // @ts-expect-error
258
+ delete attribute.groupAnnotations;
259
+
260
+ if (group === '') {
261
+ break patch_legacy_group;
262
+ }
263
+
264
+ attribute.group = {
265
+ name: group,
266
+ displayHeader: groupDisplayHeader,
267
+ displayDescription: groupDisplayDescription,
268
+ annotations: groupAnnotations,
269
+ html5DataAnnotations: {}
270
+ };
271
+ }
272
+
273
+ // Attributes with options rendered by default as select inputs
274
+ if (
275
+ attribute.validators.options !== undefined &&
276
+ attribute.annotations.inputType === undefined
277
+ ) {
278
+ attribute.annotations.inputType = 'select';
279
+ }
280
+
281
+ // Consistency patch on values/value property
282
+ {
283
+ if (this.getIsMultivaluedSingleField({ attribute })) {
284
+ attribute.multivalued = true;
285
+ }
286
+
287
+ if (attribute.multivalued) {
288
+ attribute.values ??=
289
+ attribute.value !== undefined ? [attribute.value] : [];
290
+ delete attribute.value;
291
+ } else {
292
+ attribute.value ??= attribute.values?.[0];
293
+ delete attribute.values;
294
+ }
295
+ }
296
+ });
297
+ add_password_and_password_confirm: {
298
+ if (!this.kcContext.passwordRequired) {
299
+ break add_password_and_password_confirm;
300
+ }
301
+
302
+ attributes.forEach((attribute, i) => {
303
+ if (
304
+ attribute.name !==
305
+ (this.kcContext.realm.registrationEmailAsUsername
306
+ ? 'email'
307
+ : 'username')
308
+ ) {
309
+ // NOTE: We want to add password and password-confirm after the field that identifies the user.
310
+ // It's either email or username.
311
+ return;
312
+ }
313
+
314
+ attributes.splice(
315
+ i + 1,
316
+ 0,
317
+ {
318
+ name: 'password',
319
+ displayName: id<`\${${MessageKey_defaultSet}}`>('${password}'),
320
+ required: true,
321
+ readOnly: false,
322
+ validators: {},
323
+ annotations: {},
324
+ autocomplete: 'new-password',
325
+ html5DataAnnotations: {}
326
+ },
327
+ {
328
+ name: 'password-confirm',
329
+ displayName:
330
+ id<`\${${MessageKey_defaultSet}}`>('${passwordConfirm}'),
331
+ required: true,
332
+ readOnly: false,
333
+ validators: {},
334
+ annotations: {},
335
+ html5DataAnnotations: {},
336
+ autocomplete: 'new-password'
337
+ }
338
+ );
339
+ });
340
+ }
341
+ const initialFormFieldState: {
342
+ attribute: Attribute;
343
+ valueOrValues: string | string[];
344
+ }[] = [];
345
+
346
+ for (const attribute of attributes) {
347
+ handle_multi_valued_attribute: {
348
+ if (!attribute.multivalued) {
349
+ break handle_multi_valued_attribute;
350
+ }
351
+
352
+ const values = attribute.values?.length ? attribute.values : [''];
353
+
354
+ apply_validator_min_range: {
355
+ if (this.getIsMultivaluedSingleField({ attribute })) {
356
+ break apply_validator_min_range;
357
+ }
358
+
359
+ const validator = attribute.validators.multivalued;
360
+
361
+ if (validator === undefined) {
362
+ break apply_validator_min_range;
363
+ }
364
+
365
+ const { min: minStr } = validator;
366
+
367
+ if (!minStr) {
368
+ break apply_validator_min_range;
369
+ }
370
+
371
+ const min = parseInt(`${minStr}`);
372
+
373
+ for (let index = values.length; index < min; index++) {
374
+ values.push('');
375
+ }
376
+ }
377
+
378
+ initialFormFieldState.push({
379
+ attribute,
380
+ valueOrValues: values
381
+ });
382
+
383
+ continue;
384
+ }
385
+
386
+ initialFormFieldState.push({
387
+ attribute,
388
+ valueOrValues: attribute.value ?? ''
389
+ });
390
+ }
391
+
392
+ const initialState: internal.State = {
393
+ formFieldStates: initialFormFieldState.map(
394
+ ({ attribute, valueOrValues }) => ({
395
+ attribute,
396
+ errors: this.getErrors({
397
+ attributeName: attribute.name,
398
+ formFieldStates: initialFormFieldState
399
+ }),
400
+ hasLostFocusAtLeastOnce:
401
+ valueOrValues instanceof Array &&
402
+ !this.getIsMultivaluedSingleField({ attribute })
403
+ ? valueOrValues.map(() => false)
404
+ : false,
405
+ valueOrValues: valueOrValues
406
+ })
407
+ )
408
+ };
409
+ return initialState;
410
+ })();
411
+
412
+ private state: WritableSignal<internal.State> = signal(this.initialState);
413
+
414
+ formState: Signal<FormState> = computed(() => {
415
+ const state: internal.State = this.state();
416
+ return {
417
+ formFieldStates: state.formFieldStates.map(
418
+ ({
419
+ errors,
420
+ hasLostFocusAtLeastOnce: hasLostFocusAtLeastOnceOrArr,
421
+ attribute,
422
+ ...valueOrValuesWrap
423
+ }) => ({
424
+ displayableErrors: errors.filter(error => {
425
+ const hasLostFocusAtLeastOnce =
426
+ typeof hasLostFocusAtLeastOnceOrArr === 'boolean'
427
+ ? hasLostFocusAtLeastOnceOrArr
428
+ : error.fieldIndex !== undefined
429
+ ? hasLostFocusAtLeastOnceOrArr[error.fieldIndex]
430
+ : hasLostFocusAtLeastOnceOrArr[
431
+ hasLostFocusAtLeastOnceOrArr.length - 1
432
+ ];
433
+ let value = false;
434
+ switch (error.source.type) {
435
+ case 'server':
436
+ value = true;
437
+ break;
438
+ case 'other':
439
+ switch (error.source.rule) {
440
+ case 'requiredField':
441
+ value = hasLostFocusAtLeastOnce;
442
+ break;
443
+ case 'passwordConfirmMatchesPassword':
444
+ value = hasLostFocusAtLeastOnce;
445
+ break;
446
+ }
447
+ // assert<Equals<typeof error.source.rule, never>>(false);
448
+ break;
449
+ case 'passwordPolicy':
450
+ switch (error.source.name) {
451
+ case 'length':
452
+ value = hasLostFocusAtLeastOnce;
453
+ break;
454
+ case 'digits':
455
+ value = hasLostFocusAtLeastOnce;
456
+ break;
457
+ case 'lowerCase':
458
+ value = hasLostFocusAtLeastOnce;
459
+ break;
460
+ case 'upperCase':
461
+ value = hasLostFocusAtLeastOnce;
462
+ break;
463
+ case 'specialChars':
464
+ value = hasLostFocusAtLeastOnce;
465
+ break;
466
+ case 'notUsername':
467
+ value = true;
468
+ break;
469
+ case 'notEmail':
470
+ value = true;
471
+ break;
472
+ }
473
+ // assert<Equals<typeof error.source, never>>(false);
474
+ break;
475
+ case 'validator':
476
+ switch (error.source.name) {
477
+ case 'length':
478
+ value = hasLostFocusAtLeastOnce;
479
+ break;
480
+ case 'pattern':
481
+ value = hasLostFocusAtLeastOnce;
482
+ break;
483
+ case 'email':
484
+ value = hasLostFocusAtLeastOnce;
485
+ break;
486
+ case 'integer':
487
+ value = hasLostFocusAtLeastOnce;
488
+ break;
489
+ case 'multivalued':
490
+ value = hasLostFocusAtLeastOnce;
491
+ break;
492
+ case 'options':
493
+ value = hasLostFocusAtLeastOnce;
494
+ break;
495
+ }
496
+ // assert<Equals<typeof error.source, never>>(false);
497
+ break;
498
+ }
499
+ return value;
500
+ }),
501
+ attribute,
502
+ ...valueOrValuesWrap
503
+ })
504
+ ),
505
+ isFormSubmittable: state.formFieldStates.every(
506
+ ({ errors }) => errors.length === 0
507
+ )
508
+ };
509
+ });
510
+
511
+ constructor() {
512
+ this.loginResourceInjectorService.insertAdditionalScripts(
513
+ Object.keys(this.kcContext.profile?.html5DataAnnotations ?? {})
514
+ .filter(key => key !== 'kcMultivalued' && key !== 'kcNumberFormat') // NOTE: Keycloakify handles it.
515
+ .map(key => ({
516
+ type: 'module',
517
+ src: `${this.kcContext.url.resourcesPath}/js/${key}.js`,
518
+ id: `${this.kcContext.url.resourcesPath}/js/${key}.js`
519
+ }))
520
+ );
521
+ }
522
+
523
+ public dispatchFormAction(formAction: FormAction) {
524
+ if (!formAction) return;
525
+ const state = this.state();
526
+ const formFieldState = state.formFieldStates.find(
527
+ ({ attribute }) => attribute.name === formAction.name
528
+ );
529
+ assert(formFieldState !== undefined);
530
+ switch (formAction.action) {
531
+ case 'update':
532
+ formFieldState.valueOrValues = formAction.valueOrValues;
533
+
534
+ apply_formatters: {
535
+ const { attribute } = formFieldState;
536
+
537
+ const { kcNumberFormat } = attribute.html5DataAnnotations ?? {};
538
+
539
+ if (!kcNumberFormat) {
540
+ break apply_formatters;
541
+ }
542
+
543
+ if (formFieldState.valueOrValues instanceof Array) {
544
+ formFieldState.valueOrValues = formFieldState.valueOrValues.map(
545
+ value => formatNumber(value, kcNumberFormat)
546
+ );
547
+ } else {
548
+ formFieldState.valueOrValues = formatNumber(
549
+ formFieldState.valueOrValues,
550
+ kcNumberFormat
551
+ );
552
+ }
553
+ }
554
+
555
+ formFieldState.errors = this.getErrors({
556
+ attributeName: formAction.name,
557
+ formFieldStates: state.formFieldStates
558
+ });
559
+
560
+ simulate_focus_lost: {
561
+ const { displayErrorsImmediately = false } = formAction;
562
+
563
+ if (!displayErrorsImmediately) {
564
+ break simulate_focus_lost;
565
+ }
566
+
567
+ for (const fieldIndex of formAction.valueOrValues instanceof Array
568
+ ? formAction.valueOrValues.map((...[, index]) => index)
569
+ : [undefined]) {
570
+ this.dispatchFormAction({
571
+ action: 'focus lost',
572
+ name: formAction.name,
573
+ fieldIndex
574
+ });
575
+ }
576
+ }
577
+
578
+ update_password_confirm: {
579
+ if (this.doMakeUserConfirmPassword) {
580
+ break update_password_confirm;
581
+ }
582
+
583
+ if (formAction.name !== 'password') {
584
+ break update_password_confirm;
585
+ }
586
+
587
+ this.dispatchFormAction({
588
+ action: 'update',
589
+ name: 'password-confirm',
590
+ valueOrValues: formAction.valueOrValues,
591
+ displayErrorsImmediately: formAction.displayErrorsImmediately
592
+ });
593
+ }
594
+
595
+ trigger_password_confirm_validation_on_password_change: {
596
+ if (!this.doMakeUserConfirmPassword) {
597
+ break trigger_password_confirm_validation_on_password_change;
598
+ }
599
+
600
+ if (formAction.name !== 'password') {
601
+ break trigger_password_confirm_validation_on_password_change;
602
+ }
603
+
604
+ this.dispatchFormAction({
605
+ action: 'update',
606
+ name: 'password-confirm',
607
+ valueOrValues: (() => {
608
+ const formFieldState = state.formFieldStates.find(
609
+ ({ attribute }) => attribute.name === 'password-confirm'
610
+ );
611
+
612
+ assert(formFieldState !== undefined);
613
+
614
+ return formFieldState.valueOrValues;
615
+ })(),
616
+ displayErrorsImmediately: formAction.displayErrorsImmediately
617
+ });
618
+ }
619
+
620
+ break;
621
+ case 'focus lost':
622
+ if (formFieldState.hasLostFocusAtLeastOnce instanceof Array) {
623
+ const { fieldIndex } = formAction;
624
+ assert(fieldIndex !== undefined);
625
+ formFieldState.hasLostFocusAtLeastOnce[fieldIndex] = true;
626
+ break;
627
+ }
628
+
629
+ formFieldState.hasLostFocusAtLeastOnce = true;
630
+ break;
631
+ }
632
+ this.state.update(state => ({
633
+ ...state,
634
+ formFieldStates: state.formFieldStates.map(f => {
635
+ if (f.attribute === formFieldState.attribute) return formFieldState;
636
+ return f;
637
+ })
638
+ }));
639
+ }
640
+
641
+ private getIsMultivaluedSingleField(params: { attribute: Attribute }) {
642
+ const { attribute } = params;
643
+
644
+ return attribute.annotations.inputType?.startsWith('multiselect') ?? false;
645
+ }
646
+
647
+ private getErrors(params: {
648
+ attributeName: string;
649
+ formFieldStates: {
650
+ attribute: Attribute;
651
+ valueOrValues: string | string[];
652
+ }[];
653
+ }): FormFieldError[] {
654
+ const { messagesPerField, passwordPolicies } = this.kcContext;
655
+
656
+ const { msgStr, advancedMsgStr } = this.i18n;
657
+ const { attributeName, formFieldStates } = params;
658
+
659
+ const formFieldState = formFieldStates.find(
660
+ ({ attribute }) => attribute.name === attributeName
661
+ );
662
+
663
+ assert(formFieldState !== undefined);
664
+
665
+ const { attribute } = formFieldState;
666
+
667
+ const valueOrValues = (() => {
668
+ let { valueOrValues } = formFieldState;
669
+
670
+ unFormat_number: {
671
+ const { kcNumberUnFormat } = attribute.html5DataAnnotations ?? {};
672
+
673
+ if (!kcNumberUnFormat) {
674
+ break unFormat_number;
675
+ }
676
+
677
+ if (valueOrValues instanceof Array) {
678
+ valueOrValues = valueOrValues.map(value =>
679
+ formatNumber(value, kcNumberUnFormat)
680
+ );
681
+ } else {
682
+ valueOrValues = formatNumber(valueOrValues, kcNumberUnFormat);
683
+ }
684
+ }
685
+
686
+ return valueOrValues;
687
+ })();
688
+
689
+ assert(attribute !== undefined);
690
+
691
+ server_side_error: {
692
+ if (attribute.multivalued) {
693
+ const defaultValues = attribute.values?.length ? attribute.values : [''];
694
+
695
+ assert(valueOrValues instanceof Array);
696
+
697
+ const values = valueOrValues;
698
+
699
+ if (
700
+ JSON.stringify(defaultValues) !==
701
+ JSON.stringify(values.slice(0, defaultValues.length))
702
+ ) {
703
+ break server_side_error;
704
+ }
705
+ } else {
706
+ const defaultValue = attribute.value ?? '';
707
+
708
+ assert(typeof valueOrValues === 'string');
709
+
710
+ const value = valueOrValues;
711
+
712
+ if (defaultValue !== value) {
713
+ break server_side_error;
714
+ }
715
+ }
716
+
717
+ let doesErrorExist: boolean;
718
+
719
+ try {
720
+ doesErrorExist = messagesPerField.existsError(attributeName);
721
+ } catch {
722
+ break server_side_error;
723
+ }
724
+
725
+ if (!doesErrorExist) {
726
+ break server_side_error;
727
+ }
728
+
729
+ const errorMessageStr = messagesPerField.get(attributeName);
730
+
731
+ return [
732
+ {
733
+ errorMessageStr,
734
+ errorMessage: this.sanitizer.bypassSecurityTrustHtml(
735
+ `<span>${errorMessageStr}</span>`
736
+ ),
737
+ fieldIndex: undefined,
738
+ source: {
739
+ type: 'server'
740
+ }
741
+ }
742
+ ];
743
+ }
744
+
745
+ handle_multi_valued_multi_fields: {
746
+ if (!attribute.multivalued) {
747
+ break handle_multi_valued_multi_fields;
748
+ }
749
+
750
+ if (this.getIsMultivaluedSingleField({ attribute })) {
751
+ break handle_multi_valued_multi_fields;
752
+ }
753
+
754
+ assert(valueOrValues instanceof Array);
755
+
756
+ const values = valueOrValues;
757
+
758
+ const errors = values
759
+ .map((...[, index]) => {
760
+ const specificValueErrors = this.getErrors({
761
+ attributeName,
762
+ formFieldStates: formFieldStates.map(formFieldState => {
763
+ if (formFieldState.attribute.name === attributeName) {
764
+ assert(formFieldState.valueOrValues instanceof Array);
765
+ return {
766
+ attribute: {
767
+ ...attribute,
768
+ annotations: {
769
+ ...attribute.annotations,
770
+ inputType: undefined
771
+ },
772
+ multivalued: false
773
+ },
774
+ valueOrValues: formFieldState.valueOrValues[index]
775
+ };
776
+ }
777
+
778
+ return formFieldState;
779
+ })
780
+ });
781
+
782
+ return specificValueErrors
783
+ .filter(error => {
784
+ if (
785
+ error.source.type === 'other' &&
786
+ error.source.rule === 'requiredField'
787
+ ) {
788
+ return false;
789
+ }
790
+
791
+ return true;
792
+ })
793
+ .map(
794
+ (error): FormFieldError => ({
795
+ ...error,
796
+ fieldIndex: index
797
+ })
798
+ );
799
+ })
800
+ .reduce((acc, errors) => [...acc, ...errors], []);
801
+
802
+ required_field: {
803
+ if (!attribute.required) {
804
+ break required_field;
805
+ }
806
+
807
+ if (values.every(value => value !== '')) {
808
+ break required_field;
809
+ }
810
+
811
+ const msgArgs = ['error-user-attribute-required'] as const;
812
+
813
+ errors.push({
814
+ errorMessage: this.sanitizer.bypassSecurityTrustHtml(
815
+ `<span data-key="${attributeName}-${errors.length}">${msgStr(...msgArgs)}</span>`
816
+ ),
817
+ errorMessageStr: msgStr(...msgArgs),
818
+ fieldIndex: undefined,
819
+ source: {
820
+ type: 'other',
821
+ rule: 'requiredField'
822
+ }
823
+ });
824
+ }
825
+
826
+ return errors;
827
+ }
828
+
829
+ handle_multi_valued_single_field: {
830
+ if (!attribute.multivalued) {
831
+ break handle_multi_valued_single_field;
832
+ }
833
+
834
+ if (!this.getIsMultivaluedSingleField({ attribute })) {
835
+ break handle_multi_valued_single_field;
836
+ }
837
+
838
+ const validatorName = 'multivalued';
839
+
840
+ const validator = attribute.validators[validatorName];
841
+
842
+ if (validator === undefined) {
843
+ return [];
844
+ }
845
+
846
+ const { min: minStr } = validator;
847
+
848
+ const min = minStr ? parseInt(`${minStr}`) : attribute.required ? 1 : 0;
849
+
850
+ assert(!isNaN(min));
851
+
852
+ const { max: maxStr } = validator;
853
+
854
+ const max = !maxStr ? Infinity : parseInt(`${maxStr}`);
855
+
856
+ assert(!isNaN(max));
857
+
858
+ assert(valueOrValues instanceof Array);
859
+
860
+ const values = valueOrValues;
861
+
862
+ if (min <= values.length && values.length <= max) {
863
+ return [];
864
+ }
865
+
866
+ const msgArgs = [
867
+ 'error-invalid-multivalued-size',
868
+ `${min}`,
869
+ `${max}`
870
+ ] as const;
871
+
872
+ return [
873
+ {
874
+ errorMessage: this.sanitizer.bypassSecurityTrustHtml(
875
+ `<span data-key="0">${msgStr(...msgArgs)}</span>`
876
+ ),
877
+ errorMessageStr: msgStr(...msgArgs),
878
+ fieldIndex: undefined,
879
+ source: {
880
+ type: 'validator',
881
+ name: validatorName
882
+ }
883
+ }
884
+ ];
885
+ }
886
+
887
+ assert(typeof valueOrValues === 'string');
888
+
889
+ const value = valueOrValues;
890
+
891
+ const errors: FormFieldError[] = [];
892
+
893
+ check_password_policies: {
894
+ if (attributeName !== 'password') {
895
+ break check_password_policies;
896
+ }
897
+
898
+ if (passwordPolicies === undefined) {
899
+ break check_password_policies;
900
+ }
901
+
902
+ check_password_policy_x: {
903
+ const policyName = 'length';
904
+
905
+ const policy = passwordPolicies[policyName];
906
+
907
+ if (!policy) {
908
+ break check_password_policy_x;
909
+ }
910
+
911
+ const minLength = policy;
912
+
913
+ if (value.length >= minLength) {
914
+ break check_password_policy_x;
915
+ }
916
+
917
+ const msgArgs = [
918
+ 'invalidPasswordMinLengthMessage',
919
+ `${minLength}`
920
+ ] as const;
921
+
922
+ errors.push({
923
+ errorMessage: this.sanitizer.bypassSecurityTrustHtml(
924
+ `<span data-key="${attributeName}-${errors.length}">${msgStr(...msgArgs)}</span>`
925
+ ),
926
+ errorMessageStr: msgStr(...msgArgs),
927
+ fieldIndex: undefined,
928
+ source: {
929
+ type: 'passwordPolicy',
930
+ name: policyName
931
+ }
932
+ });
933
+ }
934
+
935
+ check_password_policy_x: {
936
+ const policyName = 'digits';
937
+
938
+ const policy = passwordPolicies[policyName];
939
+
940
+ if (!policy) {
941
+ break check_password_policy_x;
942
+ }
943
+
944
+ const minNumberOfDigits = policy;
945
+
946
+ if (
947
+ value.split('').filter(char => !isNaN(parseInt(char))).length >=
948
+ minNumberOfDigits
949
+ ) {
950
+ break check_password_policy_x;
951
+ }
952
+
953
+ const msgArgs = [
954
+ 'invalidPasswordMinDigitsMessage',
955
+ `${minNumberOfDigits}`
956
+ ] as const;
957
+
958
+ errors.push({
959
+ errorMessage: this.sanitizer.bypassSecurityTrustHtml(
960
+ `<span data-key="${attributeName}-${errors.length}">${msgStr(...msgArgs)}</span>`
961
+ ),
962
+ errorMessageStr: msgStr(...msgArgs),
963
+ fieldIndex: undefined,
964
+ source: {
965
+ type: 'passwordPolicy',
966
+ name: policyName
967
+ }
968
+ });
969
+ }
970
+
971
+ check_password_policy_x: {
972
+ const policyName = 'lowerCase';
973
+
974
+ const policy = passwordPolicies[policyName];
975
+
976
+ if (!policy) {
977
+ break check_password_policy_x;
978
+ }
979
+
980
+ const minNumberOfLowerCaseChar = policy;
981
+
982
+ if (
983
+ value
984
+ .split('')
985
+ .filter(
986
+ char =>
987
+ char === char.toLowerCase() && char !== char.toUpperCase()
988
+ ).length >= minNumberOfLowerCaseChar
989
+ ) {
990
+ break check_password_policy_x;
991
+ }
992
+
993
+ const msgArgs = [
994
+ 'invalidPasswordMinLowerCaseCharsMessage',
995
+ `${minNumberOfLowerCaseChar}`
996
+ ] as const;
997
+
998
+ errors.push({
999
+ errorMessage: this.sanitizer.bypassSecurityTrustHtml(
1000
+ `<span data-key="${attributeName}-${errors.length}">${msgStr(...msgArgs)}</span>`
1001
+ ),
1002
+ errorMessageStr: msgStr(...msgArgs),
1003
+ fieldIndex: undefined,
1004
+ source: {
1005
+ type: 'passwordPolicy',
1006
+ name: policyName
1007
+ }
1008
+ });
1009
+ }
1010
+
1011
+ check_password_policy_x: {
1012
+ const policyName = 'upperCase';
1013
+
1014
+ const policy = passwordPolicies[policyName];
1015
+
1016
+ if (!policy) {
1017
+ break check_password_policy_x;
1018
+ }
1019
+
1020
+ const minNumberOfUpperCaseChar = policy;
1021
+
1022
+ if (
1023
+ value
1024
+ .split('')
1025
+ .filter(
1026
+ char =>
1027
+ char === char.toUpperCase() && char !== char.toLowerCase()
1028
+ ).length >= minNumberOfUpperCaseChar
1029
+ ) {
1030
+ break check_password_policy_x;
1031
+ }
1032
+
1033
+ const msgArgs = [
1034
+ 'invalidPasswordMinUpperCaseCharsMessage',
1035
+ `${minNumberOfUpperCaseChar}`
1036
+ ] as const;
1037
+
1038
+ errors.push({
1039
+ errorMessage: this.sanitizer.bypassSecurityTrustHtml(
1040
+ `<span data-key="${attributeName}-${errors.length}">${msgStr(...msgArgs)}</span>`
1041
+ ),
1042
+ errorMessageStr: msgStr(...msgArgs),
1043
+ fieldIndex: undefined,
1044
+ source: {
1045
+ type: 'passwordPolicy',
1046
+ name: policyName
1047
+ }
1048
+ });
1049
+ }
1050
+
1051
+ check_password_policy_x: {
1052
+ const policyName = 'specialChars';
1053
+
1054
+ const policy = passwordPolicies[policyName];
1055
+
1056
+ if (!policy) {
1057
+ break check_password_policy_x;
1058
+ }
1059
+
1060
+ const minNumberOfSpecialChar = policy;
1061
+
1062
+ if (
1063
+ value.split('').filter(char => !char.match(/[a-zA-Z0-9]/)).length >=
1064
+ minNumberOfSpecialChar
1065
+ ) {
1066
+ break check_password_policy_x;
1067
+ }
1068
+
1069
+ const msgArgs = [
1070
+ 'invalidPasswordMinSpecialCharsMessage',
1071
+ `${minNumberOfSpecialChar}`
1072
+ ] as const;
1073
+
1074
+ errors.push({
1075
+ errorMessage: this.sanitizer.bypassSecurityTrustHtml(
1076
+ `<span data-key="${attributeName}-${errors.length}">${msgStr(...msgArgs)}</span>`
1077
+ ),
1078
+ errorMessageStr: msgStr(...msgArgs),
1079
+ fieldIndex: undefined,
1080
+ source: {
1081
+ type: 'passwordPolicy',
1082
+ name: policyName
1083
+ }
1084
+ });
1085
+ }
1086
+
1087
+ check_password_policy_x: {
1088
+ const policyName = 'notUsername';
1089
+
1090
+ const notUsername = passwordPolicies[policyName];
1091
+
1092
+ if (!notUsername) {
1093
+ break check_password_policy_x;
1094
+ }
1095
+
1096
+ const usernameFormFieldState = formFieldStates.find(
1097
+ formFieldState => formFieldState.attribute.name === 'username'
1098
+ );
1099
+
1100
+ if (!usernameFormFieldState) {
1101
+ break check_password_policy_x;
1102
+ }
1103
+
1104
+ const usernameValue = (() => {
1105
+ let { valueOrValues } = usernameFormFieldState;
1106
+
1107
+ assert(typeof valueOrValues === 'string');
1108
+
1109
+ unFormat_number: {
1110
+ const { kcNumberUnFormat } = attribute.html5DataAnnotations ?? {};
1111
+
1112
+ if (!kcNumberUnFormat) {
1113
+ break unFormat_number;
1114
+ }
1115
+
1116
+ valueOrValues = formatNumber(valueOrValues, kcNumberUnFormat);
1117
+ }
1118
+
1119
+ return valueOrValues;
1120
+ })();
1121
+
1122
+ if (usernameValue === '') {
1123
+ break check_password_policy_x;
1124
+ }
1125
+
1126
+ if (value !== usernameValue) {
1127
+ break check_password_policy_x;
1128
+ }
1129
+
1130
+ const msgArgs = ['invalidPasswordNotUsernameMessage'] as const;
1131
+
1132
+ errors.push({
1133
+ errorMessage: this.sanitizer.bypassSecurityTrustHtml(
1134
+ `<span data-key="${attributeName}-${errors.length}">${msgStr(...msgArgs)}</span>`
1135
+ ),
1136
+ errorMessageStr: msgStr(...msgArgs),
1137
+ fieldIndex: undefined,
1138
+ source: {
1139
+ type: 'passwordPolicy',
1140
+ name: policyName
1141
+ }
1142
+ });
1143
+ }
1144
+
1145
+ check_password_policy_x: {
1146
+ const policyName = 'notEmail';
1147
+
1148
+ const notEmail = passwordPolicies[policyName];
1149
+
1150
+ if (!notEmail) {
1151
+ break check_password_policy_x;
1152
+ }
1153
+
1154
+ const emailFormFieldState = formFieldStates.find(
1155
+ formFieldState => formFieldState.attribute.name === 'email'
1156
+ );
1157
+
1158
+ if (!emailFormFieldState) {
1159
+ break check_password_policy_x;
1160
+ }
1161
+
1162
+ assert(typeof emailFormFieldState.valueOrValues === 'string');
1163
+
1164
+ {
1165
+ const emailValue = emailFormFieldState.valueOrValues;
1166
+
1167
+ if (emailValue === '') {
1168
+ break check_password_policy_x;
1169
+ }
1170
+
1171
+ if (value !== emailValue) {
1172
+ break check_password_policy_x;
1173
+ }
1174
+ }
1175
+
1176
+ const msgArgs = ['invalidPasswordNotEmailMessage'] as const;
1177
+
1178
+ errors.push({
1179
+ errorMessage: this.sanitizer.bypassSecurityTrustHtml(
1180
+ `<span data-key="${attributeName}-${errors.length}">${msgStr(...msgArgs)}</span>`
1181
+ ),
1182
+ errorMessageStr: msgStr(...msgArgs),
1183
+ fieldIndex: undefined,
1184
+ source: {
1185
+ type: 'passwordPolicy',
1186
+ name: policyName
1187
+ }
1188
+ });
1189
+ }
1190
+ }
1191
+
1192
+ password_confirm_matches_password: {
1193
+ if (attributeName !== 'password-confirm') {
1194
+ break password_confirm_matches_password;
1195
+ }
1196
+
1197
+ const passwordFormFieldState = formFieldStates.find(
1198
+ formFieldState => formFieldState.attribute.name === 'password'
1199
+ );
1200
+
1201
+ assert(passwordFormFieldState !== undefined);
1202
+
1203
+ assert(typeof passwordFormFieldState.valueOrValues === 'string');
1204
+
1205
+ {
1206
+ const passwordValue = passwordFormFieldState.valueOrValues;
1207
+
1208
+ if (value === passwordValue) {
1209
+ break password_confirm_matches_password;
1210
+ }
1211
+ }
1212
+
1213
+ const msgArgs = ['invalidPasswordConfirmMessage'] as const;
1214
+
1215
+ errors.push({
1216
+ errorMessage: this.sanitizer.bypassSecurityTrustHtml(
1217
+ `<span data-key="${attributeName}-${errors.length}">${msgStr(...msgArgs)}</span>`
1218
+ ),
1219
+ errorMessageStr: msgStr(...msgArgs),
1220
+ fieldIndex: undefined,
1221
+ source: {
1222
+ type: 'other',
1223
+ rule: 'passwordConfirmMatchesPassword'
1224
+ }
1225
+ });
1226
+ }
1227
+
1228
+ const { validators } = attribute;
1229
+
1230
+ required_field: {
1231
+ if (!attribute.required) {
1232
+ break required_field;
1233
+ }
1234
+
1235
+ if (value !== '') {
1236
+ break required_field;
1237
+ }
1238
+
1239
+ const msgArgs = ['error-user-attribute-required'] as const;
1240
+
1241
+ errors.push({
1242
+ errorMessage: this.sanitizer.bypassSecurityTrustHtml(
1243
+ `<span data-key="${attributeName}-${errors.length}">${msgStr(...msgArgs)}</span>`
1244
+ ),
1245
+ errorMessageStr: msgStr(...msgArgs),
1246
+ fieldIndex: undefined,
1247
+ source: {
1248
+ type: 'other',
1249
+ rule: 'requiredField'
1250
+ }
1251
+ });
1252
+ }
1253
+
1254
+ validator_x: {
1255
+ const validatorName = 'length';
1256
+
1257
+ const validator = validators[validatorName];
1258
+
1259
+ if (!validator) {
1260
+ break validator_x;
1261
+ }
1262
+
1263
+ const {
1264
+ 'ignore.empty.value': ignoreEmptyValue = false,
1265
+ max,
1266
+ min
1267
+ } = validator;
1268
+
1269
+ if (ignoreEmptyValue && value === '') {
1270
+ break validator_x;
1271
+ }
1272
+
1273
+ const source: FormFieldError.Source = {
1274
+ type: 'validator',
1275
+ name: validatorName
1276
+ };
1277
+
1278
+ if (max && value.length > parseInt(`${max}`)) {
1279
+ const msgArgs = ['error-invalid-length-too-long', `${max}`] as const;
1280
+
1281
+ errors.push({
1282
+ errorMessage: this.sanitizer.bypassSecurityTrustHtml(
1283
+ `<span data-key="${attributeName}-${errors.length}">${msgStr(...msgArgs)}</span>`
1284
+ ),
1285
+ errorMessageStr: msgStr(...msgArgs),
1286
+ fieldIndex: undefined,
1287
+ source
1288
+ });
1289
+ }
1290
+
1291
+ if (min && value.length < parseInt(`${min}`)) {
1292
+ const msgArgs = ['error-invalid-length-too-short', `${min}`] as const;
1293
+
1294
+ errors.push({
1295
+ errorMessage: this.sanitizer.bypassSecurityTrustHtml(
1296
+ `<span data-key="${attributeName}-${errors.length}">${msgStr(...msgArgs)}</span>`
1297
+ ),
1298
+ errorMessageStr: msgStr(...msgArgs),
1299
+ fieldIndex: undefined,
1300
+ source
1301
+ });
1302
+ }
1303
+ }
1304
+
1305
+ validator_x: {
1306
+ const validatorName = 'pattern';
1307
+
1308
+ const validator = validators[validatorName];
1309
+
1310
+ if (validator === undefined) {
1311
+ break validator_x;
1312
+ }
1313
+
1314
+ const {
1315
+ 'ignore.empty.value': ignoreEmptyValue = false,
1316
+ pattern,
1317
+ 'error-message': errorMessageKey
1318
+ } = validator;
1319
+
1320
+ if (ignoreEmptyValue && value === '') {
1321
+ break validator_x;
1322
+ }
1323
+
1324
+ if (new RegExp(pattern).test(value)) {
1325
+ break validator_x;
1326
+ }
1327
+
1328
+ const msgArgs = [
1329
+ errorMessageKey ?? id<MessageKey_defaultSet>('shouldMatchPattern'),
1330
+ pattern
1331
+ ] as const;
1332
+
1333
+ errors.push({
1334
+ errorMessage: this.sanitizer.bypassSecurityTrustHtml(
1335
+ `<span data-key="${attributeName}-${errors.length}">${advancedMsgStr(...msgArgs)}</span>`
1336
+ ),
1337
+ errorMessageStr: advancedMsgStr(...msgArgs),
1338
+ fieldIndex: undefined,
1339
+ source: {
1340
+ type: 'validator',
1341
+ name: validatorName
1342
+ }
1343
+ });
1344
+ }
1345
+
1346
+ validator_x: {
1347
+ {
1348
+ const lastError = errors[errors.length - 1];
1349
+ if (
1350
+ lastError !== undefined &&
1351
+ lastError.source.type === 'validator' &&
1352
+ lastError.source.name === 'pattern'
1353
+ ) {
1354
+ break validator_x;
1355
+ }
1356
+ }
1357
+
1358
+ const validatorName = 'email';
1359
+
1360
+ const validator = validators[validatorName];
1361
+
1362
+ if (validator === undefined) {
1363
+ break validator_x;
1364
+ }
1365
+
1366
+ const { 'ignore.empty.value': ignoreEmptyValue = false } = validator;
1367
+
1368
+ if (ignoreEmptyValue && value === '') {
1369
+ break validator_x;
1370
+ }
1371
+
1372
+ if (emailRegexp.test(value)) {
1373
+ break validator_x;
1374
+ }
1375
+
1376
+ const msgArgs = [id<MessageKey_defaultSet>('invalidEmailMessage')] as const;
1377
+
1378
+ errors.push({
1379
+ errorMessage: this.sanitizer.bypassSecurityTrustHtml(
1380
+ `<span data-key="${attributeName}-${errors.length}">${msgStr(...msgArgs)}</span>`
1381
+ ),
1382
+ errorMessageStr: msgStr(...msgArgs),
1383
+ fieldIndex: undefined,
1384
+ source: {
1385
+ type: 'validator',
1386
+ name: validatorName
1387
+ }
1388
+ });
1389
+ }
1390
+
1391
+ validator_x: {
1392
+ const validatorName = 'integer';
1393
+
1394
+ const validator = validators[validatorName];
1395
+
1396
+ if (validator === undefined) {
1397
+ break validator_x;
1398
+ }
1399
+
1400
+ const {
1401
+ 'ignore.empty.value': ignoreEmptyValue = false,
1402
+ max,
1403
+ min
1404
+ } = validator;
1405
+
1406
+ if (ignoreEmptyValue && value === '') {
1407
+ break validator_x;
1408
+ }
1409
+
1410
+ const intValue = parseInt(value);
1411
+
1412
+ const source: FormFieldError.Source = {
1413
+ type: 'validator',
1414
+ name: validatorName
1415
+ };
1416
+
1417
+ if (isNaN(intValue)) {
1418
+ const msgArgs = ['mustBeAnInteger'] as const;
1419
+
1420
+ errors.push({
1421
+ errorMessage: this.sanitizer.bypassSecurityTrustHtml(
1422
+ `<span data-key="${attributeName}-${errors.length}">${msgStr(...msgArgs)}</span>`
1423
+ ),
1424
+ errorMessageStr: msgStr(...msgArgs),
1425
+ fieldIndex: undefined,
1426
+ source
1427
+ });
1428
+
1429
+ break validator_x;
1430
+ }
1431
+
1432
+ if (max && intValue > parseInt(`${max}`)) {
1433
+ const msgArgs = ['error-number-out-of-range-too-big', `${max}`] as const;
1434
+
1435
+ errors.push({
1436
+ errorMessage: this.sanitizer.bypassSecurityTrustHtml(
1437
+ `<span data-key="${attributeName}-${errors.length}">${msgStr(...msgArgs)}</span>`
1438
+ ),
1439
+ errorMessageStr: msgStr(...msgArgs),
1440
+ fieldIndex: undefined,
1441
+ source
1442
+ });
1443
+
1444
+ break validator_x;
1445
+ }
1446
+
1447
+ if (min && intValue < parseInt(`${min}`)) {
1448
+ const msgArgs = [
1449
+ 'error-number-out-of-range-too-small',
1450
+ `${min}`
1451
+ ] as const;
1452
+
1453
+ errors.push({
1454
+ errorMessage: this.sanitizer.bypassSecurityTrustHtml(
1455
+ `<span data-key="${attributeName}-${errors.length}">${msgStr(...msgArgs)}</span>`
1456
+ ),
1457
+ errorMessageStr: msgStr(...msgArgs),
1458
+ fieldIndex: undefined,
1459
+ source
1460
+ });
1461
+
1462
+ break validator_x;
1463
+ }
1464
+ }
1465
+
1466
+ validator_x: {
1467
+ const validatorName = 'options';
1468
+
1469
+ const validator = validators[validatorName];
1470
+
1471
+ if (validator === undefined) {
1472
+ break validator_x;
1473
+ }
1474
+
1475
+ if (value === '') {
1476
+ break validator_x;
1477
+ }
1478
+
1479
+ if (validator.options.indexOf(value) >= 0) {
1480
+ break validator_x;
1481
+ }
1482
+
1483
+ const msgArgs = [id<MessageKey_defaultSet>('notAValidOption')] as const;
1484
+
1485
+ errors.push({
1486
+ errorMessage: this.sanitizer.bypassSecurityTrustHtml(
1487
+ `<span data-key="${attributeName}-${errors.length}">${msgStr(...msgArgs)}</span>`
1488
+ ),
1489
+ errorMessageStr: msgStr(...msgArgs),
1490
+ fieldIndex: undefined,
1491
+ source: {
1492
+ type: 'validator',
1493
+ name: validatorName
1494
+ }
1495
+ });
1496
+ }
1497
+
1498
+ //TODO: Implement missing validators. See Validators type definition.
1499
+
1500
+ return errors;
1501
+ }
1502
+ }