@keycloakify/angular 21.0.0 → 21.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/bin/545.index.js +5 -7
  2. package/bin/index.js +2 -1
  3. package/fesm2022/keycloakify-angular-account-directives-kc-class.mjs +3 -3
  4. package/fesm2022/keycloakify-angular-account-pages-account.mjs +3 -3
  5. package/fesm2022/keycloakify-angular-account-pages-applications.mjs +3 -3
  6. package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs +3 -3
  7. package/fesm2022/keycloakify-angular-account-pages-log.mjs +3 -3
  8. package/fesm2022/keycloakify-angular-account-pages-password.mjs +10 -10
  9. package/fesm2022/keycloakify-angular-account-pages-password.mjs.map +1 -1
  10. package/fesm2022/keycloakify-angular-account-pages-sessions.mjs +3 -3
  11. package/fesm2022/keycloakify-angular-account-pages-totp.mjs +3 -3
  12. package/fesm2022/keycloakify-angular-account-services-account-resource-injector.mjs +3 -3
  13. package/fesm2022/keycloakify-angular-account-services-i18n.mjs +3 -3
  14. package/fesm2022/keycloakify-angular-account-template.mjs +6 -6
  15. package/fesm2022/keycloakify-angular-account-template.mjs.map +1 -1
  16. package/fesm2022/keycloakify-angular-lib-directives-attributes.mjs +4 -4
  17. package/fesm2022/keycloakify-angular-lib-directives-attributes.mjs.map +1 -1
  18. package/fesm2022/keycloakify-angular-lib-pipes-input-type.mjs +3 -3
  19. package/fesm2022/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs +3 -3
  20. package/fesm2022/keycloakify-angular-lib-pipes-kc-sanitize.mjs +3 -3
  21. package/fesm2022/keycloakify-angular-lib-pipes-to-array.mjs +3 -3
  22. package/fesm2022/keycloakify-angular-lib-pipes-to-number.mjs +3 -3
  23. package/fesm2022/keycloakify-angular-lib-services-resource-injector.mjs +3 -3
  24. package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs +8 -8
  25. package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs.map +1 -1
  26. package/fesm2022/keycloakify-angular-login-components-field-errors.mjs +6 -6
  27. package/fesm2022/keycloakify-angular-login-components-field-errors.mjs.map +1 -1
  28. package/fesm2022/keycloakify-angular-login-components-group-label.mjs +6 -6
  29. package/fesm2022/keycloakify-angular-login-components-group-label.mjs.map +1 -1
  30. package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs +7 -7
  31. package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs.map +1 -1
  32. package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs +8 -8
  33. package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs.map +1 -1
  34. package/fesm2022/keycloakify-angular-login-components-input-tag.mjs +9 -9
  35. package/fesm2022/keycloakify-angular-login-components-input-tag.mjs.map +1 -1
  36. package/fesm2022/keycloakify-angular-login-components-logout-other-sessions.mjs +3 -3
  37. package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs +5 -5
  38. package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs.map +1 -1
  39. package/fesm2022/keycloakify-angular-login-components-select-tag.mjs +8 -8
  40. package/fesm2022/keycloakify-angular-login-components-select-tag.mjs.map +1 -1
  41. package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs +6 -6
  42. package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs.map +1 -1
  43. package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs +3 -3
  44. package/fesm2022/keycloakify-angular-login-directives-kc-class.mjs +3 -3
  45. package/fesm2022/keycloakify-angular-login-pages-code.mjs +6 -6
  46. package/fesm2022/keycloakify-angular-login-pages-code.mjs.map +1 -1
  47. package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs +6 -6
  48. package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs.map +1 -1
  49. package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs +6 -6
  50. package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs.map +1 -1
  51. package/fesm2022/keycloakify-angular-login-pages-error.mjs +6 -6
  52. package/fesm2022/keycloakify-angular-login-pages-error.mjs.map +1 -1
  53. package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs +7 -7
  54. package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs.map +1 -1
  55. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs +7 -7
  56. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs.map +1 -1
  57. package/fesm2022/keycloakify-angular-login-pages-info.mjs +6 -6
  58. package/fesm2022/keycloakify-angular-login-pages-info.mjs.map +1 -1
  59. package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs +6 -6
  60. package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs.map +1 -1
  61. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs +6 -6
  62. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs.map +1 -1
  63. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs +6 -6
  64. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs.map +1 -1
  65. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs +6 -6
  66. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs.map +1 -1
  67. package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs +6 -6
  68. package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs.map +1 -1
  69. package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs +6 -6
  70. package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs.map +1 -1
  71. package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs +6 -6
  72. package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs.map +1 -1
  73. package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs +6 -6
  74. package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs.map +1 -1
  75. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +6 -6
  76. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs.map +1 -1
  77. package/fesm2022/keycloakify-angular-login-pages-login-password.mjs +7 -7
  78. package/fesm2022/keycloakify-angular-login-pages-login-password.mjs.map +1 -1
  79. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs +7 -7
  80. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs.map +1 -1
  81. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +6 -6
  82. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs.map +1 -1
  83. package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs +6 -6
  84. package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs.map +1 -1
  85. package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs +6 -6
  86. package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs.map +1 -1
  87. package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs +6 -6
  88. package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs.map +1 -1
  89. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs +7 -7
  90. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs.map +1 -1
  91. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs +7 -7
  92. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs.map +1 -1
  93. package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs +6 -6
  94. package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs.map +1 -1
  95. package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs +6 -6
  96. package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs.map +1 -1
  97. package/fesm2022/keycloakify-angular-login-pages-login.mjs +7 -7
  98. package/fesm2022/keycloakify-angular-login-pages-login.mjs.map +1 -1
  99. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs +6 -6
  100. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs.map +1 -1
  101. package/fesm2022/keycloakify-angular-login-pages-register.mjs +8 -8
  102. package/fesm2022/keycloakify-angular-login-pages-register.mjs.map +1 -1
  103. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs +7 -7
  104. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs.map +1 -1
  105. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs +6 -6
  106. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs.map +1 -1
  107. package/fesm2022/keycloakify-angular-login-pages-terms.mjs +6 -6
  108. package/fesm2022/keycloakify-angular-login-pages-terms.mjs.map +1 -1
  109. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs +7 -7
  110. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs.map +1 -1
  111. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs +6 -6
  112. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs.map +1 -1
  113. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs +6 -6
  114. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs.map +1 -1
  115. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs +6 -6
  116. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs.map +1 -1
  117. package/fesm2022/keycloakify-angular-login-services-i18n.mjs +3 -3
  118. package/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs +3 -3
  119. package/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs +3 -3
  120. package/fesm2022/keycloakify-angular-login-template.mjs +10 -10
  121. package/fesm2022/keycloakify-angular-login-template.mjs.map +1 -1
  122. package/package.json +1 -1
  123. package/types/keycloakify-angular-account.d.ts +1 -1
  124. package/types/keycloakify-angular-login.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-lib-directives-attributes.mjs","sources":["../../src/lib/directives/attributes/attributes.directive.ts","../../src/lib/directives/attributes/keycloakify-angular-lib-directives-attributes.ts"],"sourcesContent":["import { Directive, effect, ElementRef, inject, input, Renderer2 } from '@angular/core';\n\n@Directive({ selector: '[kcAttributes]' })\nexport class AttributesDirective {\n kcAttributes = input<Record<string, string>>();\n readonly #el = inject<ElementRef<HTMLElement>>(ElementRef);\n readonly #renderer = inject(Renderer2);\n\n constructor() {\n effect(() => {\n const attributes = this.kcAttributes();\n if (attributes) {\n Object.entries(attributes).forEach(([key, value]) => {\n this.#renderer.setAttribute(\n this.#el.nativeElement,\n `data-${key}`,\n value\n );\n });\n }\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAGa,mBAAmB,CAAA;AAEnB,IAAA,GAAG;AACH,IAAA,SAAS;AAElB,IAAA,WAAA,GAAA;QAJA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAA0B;AACrC,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAA0B,UAAU,CAAC;AACjD,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAGlC,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE;YACtC,IAAI,UAAU,EAAE;AACZ,gBAAA,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;AAChD,oBAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CACvB,IAAI,CAAC,GAAG,CAAC,aAAa,EACtB,CAAA,KAAA,EAAQ,GAAG,EAAE,EACb,KAAK,CACR;AACL,gBAAA,CAAC,CAAC;YACN;AACJ,QAAA,CAAC,CAAC;IACN;8GAlBS,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,SAAS;mBAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE;;;ACFzC;;AAEG;;;;"}
1
+ {"version":3,"file":"keycloakify-angular-lib-directives-attributes.mjs","sources":["../../src/lib/directives/attributes/attributes.directive.ts","../../src/lib/directives/attributes/keycloakify-angular-lib-directives-attributes.ts"],"sourcesContent":["import { Directive, effect, ElementRef, inject, input, Renderer2 } from '@angular/core';\n\n@Directive({ selector: '[kcAttributes]' })\nexport class AttributesDirective {\n kcAttributes = input<Record<string, string>>();\n readonly #el = inject<ElementRef<HTMLElement>>(ElementRef);\n readonly #renderer = inject(Renderer2);\n\n constructor() {\n effect(() => {\n const attributes = this.kcAttributes();\n if (attributes) {\n Object.entries(attributes).forEach(([key, value]) => {\n this.#renderer.setAttribute(\n this.#el.nativeElement,\n `data-${key}`,\n value\n );\n });\n }\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAGa,mBAAmB,CAAA;AAEnB,IAAA,GAAG;AACH,IAAA,SAAS;AAElB,IAAA,WAAA,GAAA;QAJA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAA0B;AACrC,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAA0B,UAAU,CAAC;AACjD,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAGlC,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE;YACtC,IAAI,UAAU,EAAE;AACZ,gBAAA,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;AAChD,oBAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CACvB,IAAI,CAAC,GAAG,CAAC,aAAa,EACtB,CAAA,KAAA,EAAQ,GAAG,EAAE,EACb,KAAK,CACR;AACL,gBAAA,CAAC,CAAC;YACN;AACJ,QAAA,CAAC,CAAC;IACN;8GAlBS,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,SAAS;mBAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE;;;ACFzC;;AAEG;;;;"}
@@ -8,10 +8,10 @@ class InputTypePipe {
8
8
  }
9
9
  return inputType ?? 'text';
10
10
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: InputTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: InputTypePipe, isStandalone: true, name: "inputType" }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: InputTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.4", ngImport: i0, type: InputTypePipe, isStandalone: true, name: "inputType" }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: InputTypePipe, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: InputTypePipe, decorators: [{
15
15
  type: Pipe,
16
16
  args: [{
17
17
  name: 'inputType'
@@ -8,10 +8,10 @@ class IsArrayWithEmptyObjectPipe {
8
8
  typeof variable[0] === 'object' &&
9
9
  Object.keys(variable[0]).length === 0);
10
10
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IsArrayWithEmptyObjectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: IsArrayWithEmptyObjectPipe, isStandalone: true, name: "isArrayWithEmptyObject" }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: IsArrayWithEmptyObjectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.4", ngImport: i0, type: IsArrayWithEmptyObjectPipe, isStandalone: true, name: "isArrayWithEmptyObject" }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IsArrayWithEmptyObjectPipe, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: IsArrayWithEmptyObjectPipe, decorators: [{
15
15
  type: Pipe,
16
16
  args: [{
17
17
  name: 'isArrayWithEmptyObject'
@@ -20,10 +20,10 @@ class KcSanitizePipe {
20
20
  throw new Error(`Invalid safe type specified: ${type}`);
21
21
  }
22
22
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: KcSanitizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
24
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: KcSanitizePipe, isStandalone: true, name: "kcSanitize" }); }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KcSanitizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
24
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.4", ngImport: i0, type: KcSanitizePipe, isStandalone: true, name: "kcSanitize" }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: KcSanitizePipe, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KcSanitizePipe, decorators: [{
27
27
  type: Pipe,
28
28
  args: [{ name: 'kcSanitize' }]
29
29
  }] });
@@ -9,10 +9,10 @@ class ToArrayPipe {
9
9
  }
10
10
  return emptyWhenString ? [] : [value];
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ToArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
13
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: ToArrayPipe, isStandalone: true, name: "toArray" }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ToArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
13
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.4", ngImport: i0, type: ToArrayPipe, isStandalone: true, name: "toArray" }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ToArrayPipe, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ToArrayPipe, decorators: [{
16
16
  type: Pipe,
17
17
  args: [{
18
18
  name: 'toArray'
@@ -8,10 +8,10 @@ class ToNumberPipe {
8
8
  throw new Error('number is NaN');
9
9
  return number;
10
10
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ToNumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: ToNumberPipe, isStandalone: true, name: "toNumber" }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ToNumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.4", ngImport: i0, type: ToNumberPipe, isStandalone: true, name: "toNumber" }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ToNumberPipe, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ToNumberPipe, decorators: [{
15
15
  type: Pipe,
16
16
  args: [{
17
17
  name: 'toNumber'
@@ -45,10 +45,10 @@ class ResourceInjectorService {
45
45
  script.id = id;
46
46
  this.renderer.appendChild(document.head, script);
47
47
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ResourceInjectorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
49
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ResourceInjectorService, providedIn: 'root' }); }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ResourceInjectorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
49
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ResourceInjectorService, providedIn: 'root' }); }
50
50
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ResourceInjectorService, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ResourceInjectorService, decorators: [{
52
52
  type: Injectable,
53
53
  args: [{
54
54
  providedIn: 'root'
@@ -6,9 +6,9 @@ import { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';
6
6
  class AddRemoveButtonsMultiValuedAttributeComponent {
7
7
  constructor() {
8
8
  this.i18n = inject(LOGIN_I18N);
9
- this.attribute = input(...(ngDevMode ? [undefined, { debugName: "attribute" }] : []));
10
- this.values = input(...(ngDevMode ? [undefined, { debugName: "values" }] : []));
11
- this.fieldIndex = input(...(ngDevMode ? [undefined, { debugName: "fieldIndex" }] : []));
9
+ this.attribute = input(...(ngDevMode ? [undefined, { debugName: "attribute" }] : /* istanbul ignore next */ []));
10
+ this.values = input(...(ngDevMode ? [undefined, { debugName: "values" }] : /* istanbul ignore next */ []));
11
+ this.fieldIndex = input(...(ngDevMode ? [undefined, { debugName: "fieldIndex" }] : /* istanbul ignore next */ []));
12
12
  this.dispatchFormAction = output();
13
13
  this.hasRemove = computed(() => {
14
14
  const attribute = this.attribute();
@@ -22,7 +22,7 @@ class AddRemoveButtonsMultiValuedAttributeComponent {
22
22
  }).hasRemove;
23
23
  }
24
24
  return false;
25
- }, ...(ngDevMode ? [{ debugName: "hasRemove" }] : []));
25
+ }, ...(ngDevMode ? [{ debugName: "hasRemove" }] : /* istanbul ignore next */ []));
26
26
  this.hasAdd = computed(() => {
27
27
  const attribute = this.attribute();
28
28
  const values = this.values();
@@ -35,7 +35,7 @@ class AddRemoveButtonsMultiValuedAttributeComponent {
35
35
  }).hasAdd;
36
36
  }
37
37
  return false;
38
- }, ...(ngDevMode ? [{ debugName: "hasAdd" }] : []));
38
+ }, ...(ngDevMode ? [{ debugName: "hasAdd" }] : /* istanbul ignore next */ []));
39
39
  }
40
40
  onAdd() {
41
41
  this.dispatchFormAction.emit({
@@ -51,10 +51,10 @@ class AddRemoveButtonsMultiValuedAttributeComponent {
51
51
  valueOrValues: (this.values() ?? []).filter((_, i) => i !== this.fieldIndex())
52
52
  });
53
53
  }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: AddRemoveButtonsMultiValuedAttributeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
55
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: AddRemoveButtonsMultiValuedAttributeComponent, isStandalone: true, selector: "kc-add-remove-buttons-multi-valued-attribute", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, values: { classPropertyName: "values", publicName: "values", isSignal: true, isRequired: false, transformFunction: null }, fieldIndex: { classPropertyName: "fieldIndex", publicName: "fieldIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, ngImport: i0, template: "@let idPostfix = attribute()?.name ?? '' + '-' + (fieldIndex() ?? 0 + 1);\n@if (hasRemove()) {\n <button\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n [id]=\"'kc-remove-' + idPostfix\"\n (click)=\"onRemove()\"\n >\n {{ i18n.msgStr('remove') }}\n </button>\n @if (hasAdd()) {\n &nbsp;|&nbsp;\n }\n}\n@if (hasAdd()) {\n <button\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n [id]=\"'kc-add-' + idPostfix\"\n (click)=\"onAdd()\"\n >\n {{ i18n.msgStr('addValue') }}\n </button>\n}\n", styles: [":host{display:contents}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: AddRemoveButtonsMultiValuedAttributeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: AddRemoveButtonsMultiValuedAttributeComponent, isStandalone: true, selector: "kc-add-remove-buttons-multi-valued-attribute", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, values: { classPropertyName: "values", publicName: "values", isSignal: true, isRequired: false, transformFunction: null }, fieldIndex: { classPropertyName: "fieldIndex", publicName: "fieldIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, ngImport: i0, template: "@let idPostfix = attribute()?.name ?? '' + '-' + (fieldIndex() ?? 0 + 1);\n@if (hasRemove()) {\n <button\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n [id]=\"'kc-remove-' + idPostfix\"\n (click)=\"onRemove()\"\n >\n {{ i18n.msgStr('remove') }}\n </button>\n @if (hasAdd()) {\n &nbsp;|&nbsp;\n }\n}\n@if (hasAdd()) {\n <button\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n [id]=\"'kc-add-' + idPostfix\"\n (click)=\"onAdd()\"\n >\n {{ i18n.msgStr('addValue') }}\n </button>\n}\n", styles: [":host{display:contents}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
56
56
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: AddRemoveButtonsMultiValuedAttributeComponent, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: AddRemoveButtonsMultiValuedAttributeComponent, decorators: [{
58
58
  type: Component,
59
59
  args: [{ selector: 'kc-add-remove-buttons-multi-valued-attribute', changeDetection: ChangeDetectionStrategy.OnPush, template: "@let idPostfix = attribute()?.name ?? '' + '-' + (fieldIndex() ?? 0 + 1);\n@if (hasRemove()) {\n <button\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n [id]=\"'kc-remove-' + idPostfix\"\n (click)=\"onRemove()\"\n >\n {{ i18n.msgStr('remove') }}\n </button>\n @if (hasAdd()) {\n &nbsp;|&nbsp;\n }\n}\n@if (hasAdd()) {\n <button\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n [id]=\"'kc-add-' + idPostfix\"\n (click)=\"onAdd()\"\n >\n {{ i18n.msgStr('addValue') }}\n </button>\n}\n", styles: [":host{display:contents}\n"] }]
60
60
  }], propDecorators: { attribute: [{ type: i0.Input, args: [{ isSignal: true, alias: "attribute", required: false }] }], values: [{ type: i0.Input, args: [{ isSignal: true, alias: "values", required: false }] }], fieldIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "fieldIndex", required: false }] }], dispatchFormAction: [{ type: i0.Output, args: ["dispatchFormAction"] }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs","sources":["../../src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.ts","../../src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.html","../../src/login/components/add-remove-buttons-multi-valued-attribute/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, inject, input, output } from '@angular/core';\nimport { getButtonToDisplayForMultivaluedAttributeField, type FormAction } from '@keycloakify/angular/login/services/user-profile-form';\nimport { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport type { Attribute } from 'keycloakify/login/KcContext';\nimport type { I18n } from '@keycloakify/angular/login/i18n';\n\n@Component({\n styles: [\n `\n :host {\n display: contents;\n }\n `\n ],\n selector: 'kc-add-remove-buttons-multi-valued-attribute',\n templateUrl: 'add-remove-buttons-multi-valued-attribute.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AddRemoveButtonsMultiValuedAttributeComponent {\n i18n = inject<I18n>(LOGIN_I18N);\n attribute = input<Attribute>();\n values = input<string[]>();\n fieldIndex = input<number>();\n dispatchFormAction = output<FormAction>();\n\n hasRemove = computed(() => {\n const attribute = this.attribute();\n const values = this.values();\n const fieldIndex = this.fieldIndex();\n if (attribute && values && fieldIndex) {\n return getButtonToDisplayForMultivaluedAttributeField({\n attribute,\n values,\n fieldIndex\n }).hasRemove;\n }\n return false;\n });\n hasAdd = computed(() => {\n const attribute = this.attribute();\n const values = this.values();\n const fieldIndex = this.fieldIndex();\n if (attribute && values && fieldIndex) {\n return getButtonToDisplayForMultivaluedAttributeField({\n attribute,\n values,\n fieldIndex\n }).hasAdd;\n }\n return false;\n });\n\n onAdd() {\n this.dispatchFormAction.emit({\n action: 'update',\n name: this.attribute()?.name ?? '',\n valueOrValues: [...(this.values() ?? []), '']\n });\n }\n\n onRemove() {\n this.dispatchFormAction.emit({\n action: 'update',\n name: this.attribute()?.name ?? '',\n valueOrValues: (this.values() ?? []).filter((_, i) => i !== this.fieldIndex())\n });\n }\n}\n","@let idPostfix = attribute()?.name ?? '' + '-' + (fieldIndex() ?? 0 + 1);\n@if (hasRemove()) {\n <button\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n [id]=\"'kc-remove-' + idPostfix\"\n (click)=\"onRemove()\"\n >\n {{ i18n.msgStr('remove') }}\n </button>\n @if (hasAdd()) {\n &nbsp;|&nbsp;\n }\n}\n@if (hasAdd()) {\n <button\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n [id]=\"'kc-add-' + idPostfix\"\n (click)=\"onAdd()\"\n >\n {{ i18n.msgStr('addValue') }}\n </button>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs","sources":["../../src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.ts","../../src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.html","../../src/login/components/add-remove-buttons-multi-valued-attribute/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, inject, input, output } from '@angular/core';\nimport { getButtonToDisplayForMultivaluedAttributeField, type FormAction } from '@keycloakify/angular/login/services/user-profile-form';\nimport { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport type { Attribute } from 'keycloakify/login/KcContext';\nimport type { I18n } from '@keycloakify/angular/login/i18n';\n\n@Component({\n styles: [\n `\n :host {\n display: contents;\n }\n `\n ],\n selector: 'kc-add-remove-buttons-multi-valued-attribute',\n templateUrl: 'add-remove-buttons-multi-valued-attribute.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AddRemoveButtonsMultiValuedAttributeComponent {\n i18n = inject<I18n>(LOGIN_I18N);\n attribute = input<Attribute>();\n values = input<string[]>();\n fieldIndex = input<number>();\n dispatchFormAction = output<FormAction>();\n\n hasRemove = computed(() => {\n const attribute = this.attribute();\n const values = this.values();\n const fieldIndex = this.fieldIndex();\n if (attribute && values && fieldIndex) {\n return getButtonToDisplayForMultivaluedAttributeField({\n attribute,\n values,\n fieldIndex\n }).hasRemove;\n }\n return false;\n });\n hasAdd = computed(() => {\n const attribute = this.attribute();\n const values = this.values();\n const fieldIndex = this.fieldIndex();\n if (attribute && values && fieldIndex) {\n return getButtonToDisplayForMultivaluedAttributeField({\n attribute,\n values,\n fieldIndex\n }).hasAdd;\n }\n return false;\n });\n\n onAdd() {\n this.dispatchFormAction.emit({\n action: 'update',\n name: this.attribute()?.name ?? '',\n valueOrValues: [...(this.values() ?? []), '']\n });\n }\n\n onRemove() {\n this.dispatchFormAction.emit({\n action: 'update',\n name: this.attribute()?.name ?? '',\n valueOrValues: (this.values() ?? []).filter((_, i) => i !== this.fieldIndex())\n });\n }\n}\n","@let idPostfix = attribute()?.name ?? '' + '-' + (fieldIndex() ?? 0 + 1);\n@if (hasRemove()) {\n <button\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n [id]=\"'kc-remove-' + idPostfix\"\n (click)=\"onRemove()\"\n >\n {{ i18n.msgStr('remove') }}\n </button>\n @if (hasAdd()) {\n &nbsp;|&nbsp;\n }\n}\n@if (hasAdd()) {\n <button\n type=\"button\"\n class=\"pf-c-button pf-m-inline pf-m-link\"\n [id]=\"'kc-add-' + idPostfix\"\n (click)=\"onAdd()\"\n >\n {{ i18n.msgStr('addValue') }}\n </button>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -8,21 +8,21 @@ import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
8
8
  class FieldErrorsComponent extends ComponentReference {
9
9
  constructor() {
10
10
  super(...arguments);
11
- this.attribute = input(...(ngDevMode ? [undefined, { debugName: "attribute" }] : []));
12
- this.displayableErrors = input(...(ngDevMode ? [undefined, { debugName: "displayableErrors" }] : []));
13
- this.fieldIndex = input(...(ngDevMode ? [undefined, { debugName: "fieldIndex" }] : []));
11
+ this.attribute = input(...(ngDevMode ? [undefined, { debugName: "attribute" }] : /* istanbul ignore next */ []));
12
+ this.displayableErrors = input(...(ngDevMode ? [undefined, { debugName: "displayableErrors" }] : /* istanbul ignore next */ []));
13
+ this.fieldIndex = input(...(ngDevMode ? [undefined, { debugName: "fieldIndex" }] : /* istanbul ignore next */ []));
14
14
  this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
15
15
  this.classes = inject(LOGIN_CLASSES);
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: FieldErrorsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: FieldErrorsComponent, isStandalone: true, selector: "kc-field-errors", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null }, fieldIndex: { classPropertyName: "fieldIndex", publicName: "fieldIndex", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: FieldErrorsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: FieldErrorsComponent, isStandalone: true, selector: "kc-field-errors", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null }, fieldIndex: { classPropertyName: "fieldIndex", publicName: "fieldIndex", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
19
19
  {
20
20
  provide: ComponentReference,
21
21
  useExisting: forwardRef(() => FieldErrorsComponent)
22
22
  }
23
23
  ], usesInheritance: true, ngImport: i0, template: "@let index = fieldIndex();\n<span\n aria-live=\"polite\"\n [id]=\"'input-error-' + attribute.name + (index === undefined ? '' : '-' + index)\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n>\n @for (error of displayableErrors(); track error; let i = $index) {\n @if (error.fieldIndex === index) {\n <span [innerHTML]=\"error.errorMessage\"></span>\n @if (displayableErrors()?.length ?? 0 - 1 !== i) {\n <br />\n }\n }\n }\n</span>\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: FieldErrorsComponent, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: FieldErrorsComponent, decorators: [{
26
26
  type: Component,
27
27
  args: [{ imports: [KcClassDirective], selector: 'kc-field-errors', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
28
28
  {
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login-components-field-errors.mjs","sources":["../../src/login/components/field-errors/field-errors.component.ts","../../src/login/components/field-errors/field-errors.component.html","../../src/login/components/field-errors/keycloakify-angular-login-components-field-errors.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, input } from '@angular/core';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';\nimport type { FormFieldError } from '@keycloakify/angular/login/services/user-profile-form';\nimport { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';\nimport type { Attribute } from 'keycloakify/login/KcContext';\nimport type { ClassKey } from 'keycloakify/login/lib/kcClsx';\n\n@Component({\n styles: [\n `\n :host {\n display: contents;\n }\n `\n ],\n imports: [KcClassDirective],\n selector: 'kc-field-errors',\n templateUrl: 'field-errors.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => FieldErrorsComponent)\n }\n ]\n})\nexport class FieldErrorsComponent extends ComponentReference {\n attribute = input<Attribute>();\n displayableErrors = input<FormFieldError[]>();\n fieldIndex = input<number>();\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);\n}\n","@let index = fieldIndex();\n<span\n aria-live=\"polite\"\n [id]=\"'input-error-' + attribute.name + (index === undefined ? '' : '-' + index)\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n>\n @for (error of displayableErrors(); track error; let i = $index) {\n @if (error.fieldIndex === index) {\n <span [innerHTML]=\"error.errorMessage\"></span>\n @if (displayableErrors()?.length ?? 0 - 1 !== i) {\n <br />\n }\n }\n }\n</span>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AA4BM,MAAO,oBAAqB,SAAQ,kBAAkB,CAAA;AAnB5D,IAAA,WAAA,GAAA;;QAoBI,IAAA,CAAA,SAAS,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAa;QAC9B,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAoB;QAC7C,IAAA,CAAA,UAAU,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AACnB,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAU,eAAe,CAAC;AAClD,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAoC,aAAa,CAAC;AAC9E,IAAA;8GANY,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAPlB;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB;AACrD;SACJ,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1BL,6fAeA,mFDEc,gBAAgB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAWjB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAnBhC,SAAS;8BAQG,CAAC,gBAAgB,CAAC,EAAA,QAAA,EACjB,iBAAiB,mBAEV,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAE,UAAU,CAAC,0BAA0B;AACrD;AACJ,qBAAA,EAAA,QAAA,EAAA,6fAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,CAAA,EAAA;;;AE1BL;;AAEG;;;;"}
1
+ {"version":3,"file":"keycloakify-angular-login-components-field-errors.mjs","sources":["../../src/login/components/field-errors/field-errors.component.ts","../../src/login/components/field-errors/field-errors.component.html","../../src/login/components/field-errors/keycloakify-angular-login-components-field-errors.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, inject, input } from '@angular/core';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';\nimport type { FormFieldError } from '@keycloakify/angular/login/services/user-profile-form';\nimport { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';\nimport type { Attribute } from 'keycloakify/login/KcContext';\nimport type { ClassKey } from 'keycloakify/login/lib/kcClsx';\n\n@Component({\n styles: [\n `\n :host {\n display: contents;\n }\n `\n ],\n imports: [KcClassDirective],\n selector: 'kc-field-errors',\n templateUrl: 'field-errors.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => FieldErrorsComponent)\n }\n ]\n})\nexport class FieldErrorsComponent extends ComponentReference {\n attribute = input<Attribute>();\n displayableErrors = input<FormFieldError[]>();\n fieldIndex = input<number>();\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);\n}\n","@let index = fieldIndex();\n<span\n aria-live=\"polite\"\n [id]=\"'input-error-' + attribute.name + (index === undefined ? '' : '-' + index)\"\n [kcClass]=\"'kcInputErrorMessageClass'\"\n>\n @for (error of displayableErrors(); track error; let i = $index) {\n @if (error.fieldIndex === index) {\n <span [innerHTML]=\"error.errorMessage\"></span>\n @if (displayableErrors()?.length ?? 0 - 1 !== i) {\n <br />\n }\n }\n }\n</span>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AA4BM,MAAO,oBAAqB,SAAQ,kBAAkB,CAAA;AAnB5D,IAAA,WAAA,GAAA;;QAoBI,IAAA,CAAA,SAAS,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAa;QAC9B,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAoB;QAC7C,IAAA,CAAA,UAAU,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAU;AACnB,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAU,eAAe,CAAC;AAClD,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAoC,aAAa,CAAC;AAC9E,IAAA;8GANY,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAPlB;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB;AACrD;SACJ,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1BL,6fAeA,mFDEc,gBAAgB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAWjB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAnBhC,SAAS;8BAQG,CAAC,gBAAgB,CAAC,EAAA,QAAA,EACjB,iBAAiB,mBAEV,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAE,UAAU,CAAC,0BAA0B;AACrD;AACJ,qBAAA,EAAA,QAAA,EAAA,6fAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,CAAA,EAAA;;;AE1BL;;AAEG;;;;"}
@@ -11,8 +11,8 @@ class GroupLabelComponent extends ComponentReference {
11
11
  constructor() {
12
12
  super(...arguments);
13
13
  this.i18n = inject(LOGIN_I18N);
14
- this.attribute = input(...(ngDevMode ? [undefined, { debugName: "attribute" }] : []));
15
- this.groupName = input(...(ngDevMode ? [undefined, { debugName: "groupName" }] : []));
14
+ this.attribute = input(...(ngDevMode ? [undefined, { debugName: "attribute" }] : /* istanbul ignore next */ []));
15
+ this.groupName = input(...(ngDevMode ? [undefined, { debugName: "groupName" }] : /* istanbul ignore next */ []));
16
16
  this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
17
17
  this.classes = inject(LOGIN_CLASSES);
18
18
  this.groupNameRef = computed(() => {
@@ -22,17 +22,17 @@ class GroupLabelComponent extends ComponentReference {
22
22
  return attribute?.group?.name ?? '';
23
23
  }
24
24
  return '';
25
- }, ...(ngDevMode ? [{ debugName: "groupNameRef" }] : []));
25
+ }, ...(ngDevMode ? [{ debugName: "groupNameRef" }] : /* istanbul ignore next */ []));
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: GroupLabelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: GroupLabelComponent, isStandalone: true, selector: "kc-group-label", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: GroupLabelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: GroupLabelComponent, isStandalone: true, selector: "kc-group-label", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
29
29
  {
30
30
  provide: ComponentReference,
31
31
  useExisting: forwardRef(() => GroupLabelComponent)
32
32
  }
33
33
  ], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@let groupName = groupNameRef();\n@if (attr && groupName !== '') {\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n [kcAttributes]=\"attr.group?.html5DataAnnotations\"\n >\n @let groupDisplayHeader = attr.group?.displayHeader ?? '';\n @let groupHeaderText = groupDisplayHeader !== '' ? groupDisplayHeader : (attr.group?.name ?? '');\n <div [kcClass]=\"'kcContentWrapperClass'\">\n <label\n [id]=\"'header-' + attr.group?.name\"\n [kcClass]=\"'kcFormGroupHeader'\"\n >\n {{ i18n.advancedMsgStr(groupHeaderText) }}\n </label>\n </div>\n @let groupDisplayDescription = attr.group?.displayDescription ?? '';\n @if (groupDisplayDescription !== '') {\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n [id]=\"'description-' + attr.group?.name\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.advancedMsgStr(groupDisplayDescription) }}\n </label>\n </div>\n }\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }, { kind: "directive", type: AttributesDirective, selector: "[kcAttributes]", inputs: ["kcAttributes"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: GroupLabelComponent, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: GroupLabelComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{ imports: [KcClassDirective, AttributesDirective], selector: 'kc-group-label', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
38
38
  {
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login-components-group-label.mjs","sources":["../../src/login/components/group-label/group-label.component.ts","../../src/login/components/group-label/group-label.component.html","../../src/login/components/group-label/keycloakify-angular-login-components-group-label.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input } from '@angular/core';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport { AttributesDirective } from '@keycloakify/angular/lib/directives/attributes';\nimport { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';\nimport { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';\nimport { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport type { Attribute } from 'keycloakify/login/KcContext';\nimport type { ClassKey } from 'keycloakify/login/lib/kcClsx';\nimport type { I18n } from '@keycloakify/angular/login/i18n';\n\n@Component({\n styles: [\n `\n :host {\n display: contents;\n }\n `\n ],\n imports: [KcClassDirective, AttributesDirective],\n selector: 'kc-group-label',\n templateUrl: 'group-label.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => GroupLabelComponent)\n }\n ]\n})\nexport class GroupLabelComponent extends ComponentReference {\n i18n = inject<I18n>(LOGIN_I18N);\n attribute = input<Attribute>();\n groupName = input<string>();\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);\n groupNameRef = computed(() => {\n const attribute = this.attribute();\n const groupName = this.groupName();\n if (attribute?.group?.name !== groupName) {\n return attribute?.group?.name ?? '';\n }\n return '';\n });\n}\n","@let attr = attribute();\n@let groupName = groupNameRef();\n@if (attr && groupName !== '') {\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n [kcAttributes]=\"attr.group?.html5DataAnnotations\"\n >\n @let groupDisplayHeader = attr.group?.displayHeader ?? '';\n @let groupHeaderText = groupDisplayHeader !== '' ? groupDisplayHeader : (attr.group?.name ?? '');\n <div [kcClass]=\"'kcContentWrapperClass'\">\n <label\n [id]=\"'header-' + attr.group?.name\"\n [kcClass]=\"'kcFormGroupHeader'\"\n >\n {{ i18n.advancedMsgStr(groupHeaderText) }}\n </label>\n </div>\n @let groupDisplayDescription = attr.group?.displayDescription ?? '';\n @if (groupDisplayDescription !== '') {\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n [id]=\"'description-' + attr.group?.name\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.advancedMsgStr(groupDisplayDescription) }}\n </label>\n </div>\n }\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keycloakify-angular-login-components-group-label.mjs","sources":["../../src/login/components/group-label/group-label.component.ts","../../src/login/components/group-label/group-label.component.html","../../src/login/components/group-label/keycloakify-angular-login-components-group-label.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input } from '@angular/core';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport { AttributesDirective } from '@keycloakify/angular/lib/directives/attributes';\nimport { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';\nimport { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';\nimport { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport type { Attribute } from 'keycloakify/login/KcContext';\nimport type { ClassKey } from 'keycloakify/login/lib/kcClsx';\nimport type { I18n } from '@keycloakify/angular/login/i18n';\n\n@Component({\n styles: [\n `\n :host {\n display: contents;\n }\n `\n ],\n imports: [KcClassDirective, AttributesDirective],\n selector: 'kc-group-label',\n templateUrl: 'group-label.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => GroupLabelComponent)\n }\n ]\n})\nexport class GroupLabelComponent extends ComponentReference {\n i18n = inject<I18n>(LOGIN_I18N);\n attribute = input<Attribute>();\n groupName = input<string>();\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);\n groupNameRef = computed(() => {\n const attribute = this.attribute();\n const groupName = this.groupName();\n if (attribute?.group?.name !== groupName) {\n return attribute?.group?.name ?? '';\n }\n return '';\n });\n}\n","@let attr = attribute();\n@let groupName = groupNameRef();\n@if (attr && groupName !== '') {\n <div\n [kcClass]=\"'kcFormGroupClass'\"\n [kcAttributes]=\"attr.group?.html5DataAnnotations\"\n >\n @let groupDisplayHeader = attr.group?.displayHeader ?? '';\n @let groupHeaderText = groupDisplayHeader !== '' ? groupDisplayHeader : (attr.group?.name ?? '');\n <div [kcClass]=\"'kcContentWrapperClass'\">\n <label\n [id]=\"'header-' + attr.group?.name\"\n [kcClass]=\"'kcFormGroupHeader'\"\n >\n {{ i18n.advancedMsgStr(groupHeaderText) }}\n </label>\n </div>\n @let groupDisplayDescription = attr.group?.displayDescription ?? '';\n @if (groupDisplayDescription !== '') {\n <div [kcClass]=\"'kcLabelWrapperClass'\">\n <label\n [id]=\"'description-' + attr.group?.name\"\n [kcClass]=\"'kcLabelClass'\"\n >\n {{ i18n.advancedMsgStr(groupDisplayDescription) }}\n </label>\n </div>\n }\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -14,9 +14,9 @@ import { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';
14
14
  class InputFieldByTypeComponent extends ComponentReference {
15
15
  constructor() {
16
16
  super(...arguments);
17
- this.attribute = input(...(ngDevMode ? [undefined, { debugName: "attribute" }] : []));
18
- this.valueOrValues = input(...(ngDevMode ? [undefined, { debugName: "valueOrValues" }] : []));
19
- this.displayableErrors = input(...(ngDevMode ? [undefined, { debugName: "displayableErrors" }] : []));
17
+ this.attribute = input(...(ngDevMode ? [undefined, { debugName: "attribute" }] : /* istanbul ignore next */ []));
18
+ this.valueOrValues = input(...(ngDevMode ? [undefined, { debugName: "valueOrValues" }] : /* istanbul ignore next */ []));
19
+ this.displayableErrors = input(...(ngDevMode ? [undefined, { debugName: "displayableErrors" }] : /* istanbul ignore next */ []));
20
20
  this.dispatchFormAction = output();
21
21
  this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
22
22
  this.classes = inject(LOGIN_CLASSES);
@@ -26,17 +26,17 @@ class InputFieldByTypeComponent extends ComponentReference {
26
26
  ...attribute,
27
27
  annotations: { ...(attribute.annotations ?? {}), inputType: 'password' }
28
28
  };
29
- }, ...(ngDevMode ? [{ debugName: "attributePassword" }] : []));
29
+ }, ...(ngDevMode ? [{ debugName: "attributePassword" }] : /* istanbul ignore next */ []));
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: InputFieldByTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: InputFieldByTypeComponent, isStandalone: true, selector: "kc-input-field-by-type", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: InputFieldByTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: InputFieldByTypeComponent, isStandalone: true, selector: "kc-input-field-by-type", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
33
33
  {
34
34
  provide: ComponentReference,
35
35
  useExisting: forwardRef(() => InputFieldByTypeComponent)
36
36
  }
37
37
  ], usesInheritance: true, ngImport: i0, template: "@let attr = attribute();\n@if (attr) {\n @let type = attr.annotations.inputType;\n @switch (type) {\n @case ('hidden') {\n <input\n type=\"hidden\"\n [name]=\"attr.name\"\n [value]=\"$any(valueOrValues())\"\n />\n }\n @case ('textarea') {\n <kc-textarea-tag\n [attribute]=\"attribute()\"\n [value]=\"$any(valueOrValues())\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n @case (type === 'select' || type === 'multiselect' ? type : '') {\n <kc-select-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n @case (type === 'select-radiobuttons' || type === 'multiselect-checkboxes' ? type : '') {\n <kc-input-tag-selects\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n @default {\n @let values = valueOrValues();\n <!-- if valueOrValues is string skip -->\n @if (values && (values | toArray: true).length) {\n @for (value of values; track value; let i = $index) {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [fieldIndex]=\"i\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n } @else {\n @if (attr.name === 'password' || attr.name === 'password-confirm') {\n <kc-password-wrapper [passwordInputId]=\"attr.name\">\n <kc-input-tag\n [attribute]=\"attributePassword()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n </kc-password-wrapper>\n } @else {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n }\n }\n }\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "component", type: TextareaTagComponent, selector: "kc-textarea-tag", inputs: ["attribute", "value", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: SelectTagComponent, selector: "kc-select-tag", inputs: ["attribute", "valueOrValues", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: InputTagSelectsComponent, selector: "kc-input-tag-selects", inputs: ["attribute", "valueOrValues", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: InputTagComponent, selector: "kc-input-tag", inputs: ["attribute", "valueOrValues", "fieldIndex", "values", "displayableErrors"], outputs: ["dispatchFormAction"] }, { kind: "component", type: PasswordWrapperComponent, selector: "kc-password-wrapper", inputs: ["passwordInputId"] }, { kind: "pipe", type: ToArrayPipe, name: "toArray" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: InputFieldByTypeComponent, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: InputFieldByTypeComponent, decorators: [{
40
40
  type: Component,
41
41
  args: [{ imports: [ToArrayPipe, TextareaTagComponent, SelectTagComponent, InputTagSelectsComponent, InputTagComponent, PasswordWrapperComponent], selector: 'kc-input-field-by-type', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
42
42
  {
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login-components-input-field-by-type.mjs","sources":["../../src/login/components/input-field-by-type/input-field-by-type.component.ts","../../src/login/components/input-field-by-type/input-field-by-type.component.html","../../src/login/components/input-field-by-type/keycloakify-angular-login-components-input-field-by-type.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, output } from '@angular/core';\nimport { ToArrayPipe } from '@keycloakify/angular/lib/pipes/to-array';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport { InputTagComponent } from '@keycloakify/angular/login/components/input-tag';\nimport { InputTagSelectsComponent } from '@keycloakify/angular/login/components/input-tag-selects';\nimport { PasswordWrapperComponent } from '@keycloakify/angular/login/components/password-wrapper';\nimport { SelectTagComponent } from '@keycloakify/angular/login/components/select-tag';\nimport { TextareaTagComponent } from '@keycloakify/angular/login/components/textarea-tag';\nimport { type FormAction, type FormFieldError } from '@keycloakify/angular/login/services/user-profile-form';\nimport { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';\nimport type { Attribute } from 'keycloakify/login/KcContext';\nimport type { ClassKey } from 'keycloakify/login/lib/kcClsx';\n\n@Component({\n styles: [\n `\n :host {\n display: contents;\n }\n `\n ],\n imports: [ToArrayPipe, TextareaTagComponent, SelectTagComponent, InputTagSelectsComponent, InputTagComponent, PasswordWrapperComponent],\n selector: 'kc-input-field-by-type',\n templateUrl: 'input-field-by-type.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => InputFieldByTypeComponent)\n }\n ]\n})\nexport class InputFieldByTypeComponent extends ComponentReference {\n attribute = input<Attribute>();\n valueOrValues = input<string | string[]>();\n displayableErrors = input<FormFieldError[]>();\n dispatchFormAction = output<FormAction>();\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);\n\n attributePassword = computed<Attribute>(() => {\n const attribute: Attribute = this.attribute() ?? ({} as Attribute);\n return {\n ...attribute,\n annotations: { ...(attribute.annotations ?? {}), inputType: 'password' }\n };\n });\n}\n","@let attr = attribute();\n@if (attr) {\n @let type = attr.annotations.inputType;\n @switch (type) {\n @case ('hidden') {\n <input\n type=\"hidden\"\n [name]=\"attr.name\"\n [value]=\"$any(valueOrValues())\"\n />\n }\n @case ('textarea') {\n <kc-textarea-tag\n [attribute]=\"attribute()\"\n [value]=\"$any(valueOrValues())\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n @case (type === 'select' || type === 'multiselect' ? type : '') {\n <kc-select-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n @case (type === 'select-radiobuttons' || type === 'multiselect-checkboxes' ? type : '') {\n <kc-input-tag-selects\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n @default {\n @let values = valueOrValues();\n <!-- if valueOrValues is string skip -->\n @if (values && (values | toArray: true).length) {\n @for (value of values; track value; let i = $index) {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [fieldIndex]=\"i\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n } @else {\n @if (attr.name === 'password' || attr.name === 'password-confirm') {\n <kc-password-wrapper [passwordInputId]=\"attr.name\">\n <kc-input-tag\n [attribute]=\"attributePassword()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n </kc-password-wrapper>\n } @else {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n }\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keycloakify-angular-login-components-input-field-by-type.mjs","sources":["../../src/login/components/input-field-by-type/input-field-by-type.component.ts","../../src/login/components/input-field-by-type/input-field-by-type.component.html","../../src/login/components/input-field-by-type/keycloakify-angular-login-components-input-field-by-type.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, output } from '@angular/core';\nimport { ToArrayPipe } from '@keycloakify/angular/lib/pipes/to-array';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport { InputTagComponent } from '@keycloakify/angular/login/components/input-tag';\nimport { InputTagSelectsComponent } from '@keycloakify/angular/login/components/input-tag-selects';\nimport { PasswordWrapperComponent } from '@keycloakify/angular/login/components/password-wrapper';\nimport { SelectTagComponent } from '@keycloakify/angular/login/components/select-tag';\nimport { TextareaTagComponent } from '@keycloakify/angular/login/components/textarea-tag';\nimport { type FormAction, type FormFieldError } from '@keycloakify/angular/login/services/user-profile-form';\nimport { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';\nimport type { Attribute } from 'keycloakify/login/KcContext';\nimport type { ClassKey } from 'keycloakify/login/lib/kcClsx';\n\n@Component({\n styles: [\n `\n :host {\n display: contents;\n }\n `\n ],\n imports: [ToArrayPipe, TextareaTagComponent, SelectTagComponent, InputTagSelectsComponent, InputTagComponent, PasswordWrapperComponent],\n selector: 'kc-input-field-by-type',\n templateUrl: 'input-field-by-type.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => InputFieldByTypeComponent)\n }\n ]\n})\nexport class InputFieldByTypeComponent extends ComponentReference {\n attribute = input<Attribute>();\n valueOrValues = input<string | string[]>();\n displayableErrors = input<FormFieldError[]>();\n dispatchFormAction = output<FormAction>();\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);\n\n attributePassword = computed<Attribute>(() => {\n const attribute: Attribute = this.attribute() ?? ({} as Attribute);\n return {\n ...attribute,\n annotations: { ...(attribute.annotations ?? {}), inputType: 'password' }\n };\n });\n}\n","@let attr = attribute();\n@if (attr) {\n @let type = attr.annotations.inputType;\n @switch (type) {\n @case ('hidden') {\n <input\n type=\"hidden\"\n [name]=\"attr.name\"\n [value]=\"$any(valueOrValues())\"\n />\n }\n @case ('textarea') {\n <kc-textarea-tag\n [attribute]=\"attribute()\"\n [value]=\"$any(valueOrValues())\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n @case (type === 'select' || type === 'multiselect' ? type : '') {\n <kc-select-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n @case (type === 'select-radiobuttons' || type === 'multiselect-checkboxes' ? type : '') {\n <kc-input-tag-selects\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n @default {\n @let values = valueOrValues();\n <!-- if valueOrValues is string skip -->\n @if (values && (values | toArray: true).length) {\n @for (value of values; track value; let i = $index) {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [fieldIndex]=\"i\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n } @else {\n @if (attr.name === 'password' || attr.name === 'password-confirm') {\n <kc-password-wrapper [passwordInputId]=\"attr.name\">\n <kc-input-tag\n [attribute]=\"attributePassword()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n </kc-password-wrapper>\n } @else {\n <kc-input-tag\n [attribute]=\"attribute()\"\n [valueOrValues]=\"valueOrValues()\"\n [displayableErrors]=\"displayableErrors()\"\n (dispatchFormAction)=\"dispatchFormAction.emit($event)\"\n />\n }\n }\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -10,10 +10,10 @@ class InputTagSelectsComponent extends ComponentReference {
10
10
  constructor() {
11
11
  super(...arguments);
12
12
  this.i18n = inject(LOGIN_I18N);
13
- this.attribute = input(...(ngDevMode ? [undefined, { debugName: "attribute" }] : []));
14
- this.valueOrValues = input(...(ngDevMode ? [undefined, { debugName: "valueOrValues" }] : []));
13
+ this.attribute = input(...(ngDevMode ? [undefined, { debugName: "attribute" }] : /* istanbul ignore next */ []));
14
+ this.valueOrValues = input(...(ngDevMode ? [undefined, { debugName: "valueOrValues" }] : /* istanbul ignore next */ []));
15
15
  this.dispatchFormAction = output();
16
- this.displayableErrors = input(...(ngDevMode ? [undefined, { debugName: "displayableErrors" }] : []));
16
+ this.displayableErrors = input(...(ngDevMode ? [undefined, { debugName: "displayableErrors" }] : /* istanbul ignore next */ []));
17
17
  this.doUseDefaultCss = inject(USE_DEFAULT_CSS);
18
18
  this.classes = inject(LOGIN_CLASSES);
19
19
  this.context = computed(() => {
@@ -38,7 +38,7 @@ class InputTagSelectsComponent extends ComponentReference {
38
38
  }
39
39
  }
40
40
  return null;
41
- }, ...(ngDevMode ? [{ debugName: "context" }] : []));
41
+ }, ...(ngDevMode ? [{ debugName: "context" }] : /* istanbul ignore next */ []));
42
42
  this.options = computed(() => {
43
43
  const attribute = this.attribute();
44
44
  if (attribute) {
@@ -61,7 +61,7 @@ class InputTagSelectsComponent extends ComponentReference {
61
61
  })();
62
62
  }
63
63
  return [];
64
- }, ...(ngDevMode ? [{ debugName: "options" }] : []));
64
+ }, ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
65
65
  }
66
66
  checked(option) {
67
67
  const valueOrValues = this.valueOrValues();
@@ -98,15 +98,15 @@ class InputTagSelectsComponent extends ComponentReference {
98
98
  fieldIndex: undefined
99
99
  });
100
100
  }
101
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: InputTagSelectsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
102
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: InputTagSelectsComponent, isStandalone: true, selector: "kc-input-tag-selects", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: InputTagSelectsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: InputTagSelectsComponent, isStandalone: true, selector: "kc-input-tag-selects", inputs: { attribute: { classPropertyName: "attribute", publicName: "attribute", isSignal: true, isRequired: false, transformFunction: null }, valueOrValues: { classPropertyName: "valueOrValues", publicName: "valueOrValues", isSignal: true, isRequired: false, transformFunction: null }, displayableErrors: { classPropertyName: "displayableErrors", publicName: "displayableErrors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dispatchFormAction: "dispatchFormAction" }, providers: [
103
103
  {
104
104
  provide: ComponentReference,
105
105
  useExisting: forwardRef(() => InputTagSelectsComponent)
106
106
  }
107
107
  ], usesInheritance: true, ngImport: i0, template: "@let inputType = context()?.inputType;\n@let classInput = context()?.classInput;\n@let classLabel = context()?.classLabel;\n@let classDiv = context()?.classDiv;\n@let attr = attribute();\n@if (attr) {\n @for (option of options(); track option) {\n <div [kcClass]=\"classDiv\">\n <input\n [type]=\"inputType\"\n [id]=\"attr.name + '-' + option\"\n [name]=\"attr.name\"\n [value]=\"option\"\n [kcClass]=\"classInput\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [checked]=\"checked(option)\"\n (change)=\"onChange($event, option)\"\n (blur)=\"onBlur()\"\n />\n <label\n [for]=\"attr.name + '-' + option\"\n [kcClass]=\"[classLabel!, attr.readOnly ? 'kcInputClassRadioCheckboxLabelDisabled' : $any('')]\"\n >\n {{ i18n.advancedMsgStr(option) }}\n </label>\n </div>\n }\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: KcClassDirective, selector: "[kcClass]", inputs: ["class", "ngClass", "kcClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
108
108
  }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: InputTagSelectsComponent, decorators: [{
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: InputTagSelectsComponent, decorators: [{
110
110
  type: Component,
111
111
  args: [{ imports: [KcClassDirective], selector: 'kc-input-tag-selects', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
112
112
  {
@@ -1 +1 @@
1
- {"version":3,"file":"keycloakify-angular-login-components-input-tag-selects.mjs","sources":["../../src/login/components/input-tag-selects/input-tag-selects.component.ts","../../src/login/components/input-tag-selects/input-tag-selects.component.html","../../src/login/components/input-tag-selects/keycloakify-angular-login-components-input-tag-selects.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, output, type Signal } from '@angular/core';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';\nimport type { FormAction, FormFieldError } from '@keycloakify/angular/login/services/user-profile-form';\nimport { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';\nimport { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport type { Attribute } from 'keycloakify/login/KcContext';\nimport type { ClassKey } from 'keycloakify/login/lib/kcClsx';\nimport type { I18n } from '@keycloakify/angular/login/i18n';\n\n@Component({\n styles: [\n `\n :host {\n display: contents;\n }\n `\n ],\n imports: [KcClassDirective],\n selector: 'kc-input-tag-selects',\n templateUrl: 'input-tag-selects.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => InputTagSelectsComponent)\n }\n ]\n})\nexport class InputTagSelectsComponent extends ComponentReference {\n i18n = inject<I18n>(LOGIN_I18N);\n attribute = input<Attribute>();\n valueOrValues = input<string | string[]>();\n dispatchFormAction = output<FormAction>();\n displayableErrors = input<FormFieldError[]>();\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);\n\n context: Signal<{\n inputType: 'radio' | 'checkbox';\n classDiv: ClassKey;\n classInput: ClassKey;\n classLabel: ClassKey;\n } | null> = computed(() => {\n const attribute = this.attribute();\n if (attribute) {\n const { inputType } = attribute.annotations;\n switch (inputType) {\n case 'select-radiobuttons':\n return {\n inputType: 'radio',\n classDiv: 'kcInputClassRadio',\n classInput: 'kcInputClassRadioInput',\n classLabel: 'kcInputClassRadioLabel'\n };\n case 'multiselect-checkboxes':\n return {\n inputType: 'checkbox',\n classDiv: 'kcInputClassCheckbox',\n classInput: 'kcInputClassCheckboxInput',\n classLabel: 'kcInputClassCheckboxLabel'\n };\n }\n }\n return null;\n });\n\n options = computed(() => {\n const attribute = this.attribute();\n if (attribute) {\n return (() => {\n walk: {\n const { inputOptionsFromValidation } = attribute.annotations;\n\n if (inputOptionsFromValidation === undefined) {\n break walk;\n }\n\n const validator = (attribute.validators as Record<string, { options?: string[] }>)[inputOptionsFromValidation];\n\n if (validator === undefined) {\n break walk;\n }\n\n if (validator.options === undefined) {\n break walk;\n }\n\n return validator.options;\n }\n\n return attribute.validators.options?.options ?? [];\n })();\n }\n return [];\n });\n\n checked(option: string) {\n const valueOrValues = this.valueOrValues();\n if (valueOrValues instanceof Array) {\n return valueOrValues.includes(option);\n }\n return valueOrValues === option;\n }\n\n onChange(event: Event, option: string) {\n const valueOrValues = this.valueOrValues();\n const isChecked = (event.target as HTMLInputElement).checked;\n this.dispatchFormAction.emit({\n action: 'update',\n name: this.attribute()?.name ?? '',\n valueOrValues: (() => {\n if (valueOrValues instanceof Array) {\n const newValues = [...valueOrValues];\n\n if (isChecked) {\n newValues.push(option);\n } else {\n newValues.splice(newValues.indexOf(option), 1);\n }\n\n return newValues;\n }\n\n return (event.target as HTMLInputElement)?.checked ? option : '';\n })()\n });\n }\n\n onBlur() {\n this.dispatchFormAction.emit({\n action: 'focus lost',\n name: this.attribute()?.name ?? '',\n fieldIndex: undefined\n });\n }\n}\n","@let inputType = context()?.inputType;\n@let classInput = context()?.classInput;\n@let classLabel = context()?.classLabel;\n@let classDiv = context()?.classDiv;\n@let attr = attribute();\n@if (attr) {\n @for (option of options(); track option) {\n <div [kcClass]=\"classDiv\">\n <input\n [type]=\"inputType\"\n [id]=\"attr.name + '-' + option\"\n [name]=\"attr.name\"\n [value]=\"option\"\n [kcClass]=\"classInput\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [checked]=\"checked(option)\"\n (change)=\"onChange($event, option)\"\n (blur)=\"onBlur()\"\n />\n <label\n [for]=\"attr.name + '-' + option\"\n [kcClass]=\"[classLabel!, attr.readOnly ? 'kcInputClassRadioCheckboxLabelDisabled' : $any('')]\"\n >\n {{ i18n.advancedMsgStr(option) }}\n </label>\n </div>\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AA8BM,MAAO,wBAAyB,SAAQ,kBAAkB,CAAA;AAnBhE,IAAA,WAAA,GAAA;;AAoBI,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAO,UAAU,CAAC;QAC/B,IAAA,CAAA,SAAS,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAa;QAC9B,IAAA,CAAA,aAAa,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,eAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAqB;QAC1C,IAAA,CAAA,kBAAkB,GAAG,MAAM,EAAc;QACzC,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAoB;AACpC,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAU,eAAe,CAAC;AAClD,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAoC,aAAa,CAAC;AAE3E,QAAA,IAAA,CAAA,OAAO,GAKK,QAAQ,CAAC,MAAK;AACtB,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;YAClC,IAAI,SAAS,EAAE;AACX,gBAAA,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC,WAAW;gBAC3C,QAAQ,SAAS;AACb,oBAAA,KAAK,qBAAqB;wBACtB,OAAO;AACH,4BAAA,SAAS,EAAE,OAAO;AAClB,4BAAA,QAAQ,EAAE,mBAAmB;AAC7B,4BAAA,UAAU,EAAE,wBAAwB;AACpC,4BAAA,UAAU,EAAE;yBACf;AACL,oBAAA,KAAK,wBAAwB;wBACzB,OAAO;AACH,4BAAA,SAAS,EAAE,UAAU;AACrB,4BAAA,QAAQ,EAAE,sBAAsB;AAChC,4BAAA,UAAU,EAAE,2BAA2B;AACvC,4BAAA,UAAU,EAAE;yBACf;;YAEb;AACA,YAAA,OAAO,IAAI;AACf,QAAA,CAAC,mDAAC;AAEF,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;AACpB,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;YAClC,IAAI,SAAS,EAAE;gBACX,OAAO,CAAC,MAAK;AACT,oBAAA,IAAI,EAAE;AACF,wBAAA,MAAM,EAAE,0BAA0B,EAAE,GAAG,SAAS,CAAC,WAAW;AAE5D,wBAAA,IAAI,0BAA0B,KAAK,SAAS,EAAE;AAC1C,4BAAA,MAAM,IAAI;wBACd;wBAEA,MAAM,SAAS,GAAI,SAAS,CAAC,UAAqD,CAAC,0BAA0B,CAAC;AAE9G,wBAAA,IAAI,SAAS,KAAK,SAAS,EAAE;AACzB,4BAAA,MAAM,IAAI;wBACd;AAEA,wBAAA,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE;AACjC,4BAAA,MAAM,IAAI;wBACd;wBAEA,OAAO,SAAS,CAAC,OAAO;oBAC5B;oBAEA,OAAO,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE;gBACtD,CAAC,GAAG;YACR;AACA,YAAA,OAAO,EAAE;AACb,QAAA,CAAC,mDAAC;AAyCL,IAAA;AAvCG,IAAA,OAAO,CAAC,MAAc,EAAA;AAClB,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE;AAC1C,QAAA,IAAI,aAAa,YAAY,KAAK,EAAE;AAChC,YAAA,OAAO,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;QACzC;QACA,OAAO,aAAa,KAAK,MAAM;IACnC;IAEA,QAAQ,CAAC,KAAY,EAAE,MAAc,EAAA;AACjC,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE;AAC1C,QAAA,MAAM,SAAS,GAAI,KAAK,CAAC,MAA2B,CAAC,OAAO;AAC5D,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;AACzB,YAAA,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,IAAI,EAAE;YAClC,aAAa,EAAE,CAAC,MAAK;AACjB,gBAAA,IAAI,aAAa,YAAY,KAAK,EAAE;AAChC,oBAAA,MAAM,SAAS,GAAG,CAAC,GAAG,aAAa,CAAC;oBAEpC,IAAI,SAAS,EAAE;AACX,wBAAA,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC1B;yBAAO;AACH,wBAAA,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAClD;AAEA,oBAAA,OAAO,SAAS;gBACpB;AAEA,gBAAA,OAAQ,KAAK,CAAC,MAA2B,EAAE,OAAO,GAAG,MAAM,GAAG,EAAE;AACpE,YAAA,CAAC;AACJ,SAAA,CAAC;IACN;IAEA,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;AACzB,YAAA,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,IAAI,EAAE;AAClC,YAAA,UAAU,EAAE;AACf,SAAA,CAAC;IACN;8GA1GS,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,SAAA,EAPtB;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,wBAAwB;AACzD;SACJ,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5BL,+jCA6BA,mFDVc,gBAAgB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAWjB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAnBpC,SAAS;8BAQG,CAAC,gBAAgB,CAAC,EAAA,QAAA,EACjB,sBAAsB,mBAEf,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAE,UAAU,CAAC,8BAA8B;AACzD;AACJ,qBAAA,EAAA,QAAA,EAAA,+jCAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,CAAA,EAAA;;;AE5BL;;AAEG;;;;"}
1
+ {"version":3,"file":"keycloakify-angular-login-components-input-tag-selects.mjs","sources":["../../src/login/components/input-tag-selects/input-tag-selects.component.ts","../../src/login/components/input-tag-selects/input-tag-selects.component.html","../../src/login/components/input-tag-selects/keycloakify-angular-login-components-input-tag-selects.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, output, type Signal } from '@angular/core';\nimport { USE_DEFAULT_CSS } from '@keycloakify/angular/lib/tokens/use-default-css';\nimport { ComponentReference } from '@keycloakify/angular/login/classes/component-reference';\nimport { KcClassDirective } from '@keycloakify/angular/login/directives/kc-class';\nimport type { FormAction, FormFieldError } from '@keycloakify/angular/login/services/user-profile-form';\nimport { LOGIN_CLASSES } from '@keycloakify/angular/login/tokens/classes';\nimport { LOGIN_I18N } from '@keycloakify/angular/login/tokens/i18n';\nimport type { Attribute } from 'keycloakify/login/KcContext';\nimport type { ClassKey } from 'keycloakify/login/lib/kcClsx';\nimport type { I18n } from '@keycloakify/angular/login/i18n';\n\n@Component({\n styles: [\n `\n :host {\n display: contents;\n }\n `\n ],\n imports: [KcClassDirective],\n selector: 'kc-input-tag-selects',\n templateUrl: 'input-tag-selects.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ComponentReference,\n useExisting: forwardRef(() => InputTagSelectsComponent)\n }\n ]\n})\nexport class InputTagSelectsComponent extends ComponentReference {\n i18n = inject<I18n>(LOGIN_I18N);\n attribute = input<Attribute>();\n valueOrValues = input<string | string[]>();\n dispatchFormAction = output<FormAction>();\n displayableErrors = input<FormFieldError[]>();\n override doUseDefaultCss = inject<boolean>(USE_DEFAULT_CSS);\n override classes = inject<Partial<Record<ClassKey, string>>>(LOGIN_CLASSES);\n\n context: Signal<{\n inputType: 'radio' | 'checkbox';\n classDiv: ClassKey;\n classInput: ClassKey;\n classLabel: ClassKey;\n } | null> = computed(() => {\n const attribute = this.attribute();\n if (attribute) {\n const { inputType } = attribute.annotations;\n switch (inputType) {\n case 'select-radiobuttons':\n return {\n inputType: 'radio',\n classDiv: 'kcInputClassRadio',\n classInput: 'kcInputClassRadioInput',\n classLabel: 'kcInputClassRadioLabel'\n };\n case 'multiselect-checkboxes':\n return {\n inputType: 'checkbox',\n classDiv: 'kcInputClassCheckbox',\n classInput: 'kcInputClassCheckboxInput',\n classLabel: 'kcInputClassCheckboxLabel'\n };\n }\n }\n return null;\n });\n\n options = computed(() => {\n const attribute = this.attribute();\n if (attribute) {\n return (() => {\n walk: {\n const { inputOptionsFromValidation } = attribute.annotations;\n\n if (inputOptionsFromValidation === undefined) {\n break walk;\n }\n\n const validator = (attribute.validators as Record<string, { options?: string[] }>)[inputOptionsFromValidation];\n\n if (validator === undefined) {\n break walk;\n }\n\n if (validator.options === undefined) {\n break walk;\n }\n\n return validator.options;\n }\n\n return attribute.validators.options?.options ?? [];\n })();\n }\n return [];\n });\n\n checked(option: string) {\n const valueOrValues = this.valueOrValues();\n if (valueOrValues instanceof Array) {\n return valueOrValues.includes(option);\n }\n return valueOrValues === option;\n }\n\n onChange(event: Event, option: string) {\n const valueOrValues = this.valueOrValues();\n const isChecked = (event.target as HTMLInputElement).checked;\n this.dispatchFormAction.emit({\n action: 'update',\n name: this.attribute()?.name ?? '',\n valueOrValues: (() => {\n if (valueOrValues instanceof Array) {\n const newValues = [...valueOrValues];\n\n if (isChecked) {\n newValues.push(option);\n } else {\n newValues.splice(newValues.indexOf(option), 1);\n }\n\n return newValues;\n }\n\n return (event.target as HTMLInputElement)?.checked ? option : '';\n })()\n });\n }\n\n onBlur() {\n this.dispatchFormAction.emit({\n action: 'focus lost',\n name: this.attribute()?.name ?? '',\n fieldIndex: undefined\n });\n }\n}\n","@let inputType = context()?.inputType;\n@let classInput = context()?.classInput;\n@let classLabel = context()?.classLabel;\n@let classDiv = context()?.classDiv;\n@let attr = attribute();\n@if (attr) {\n @for (option of options(); track option) {\n <div [kcClass]=\"classDiv\">\n <input\n [type]=\"inputType\"\n [id]=\"attr.name + '-' + option\"\n [name]=\"attr.name\"\n [value]=\"option\"\n [kcClass]=\"classInput\"\n [attr.aria-invalid]=\"!!displayableErrors()?.length\"\n [disabled]=\"attr.readOnly\"\n [checked]=\"checked(option)\"\n (change)=\"onChange($event, option)\"\n (blur)=\"onBlur()\"\n />\n <label\n [for]=\"attr.name + '-' + option\"\n [kcClass]=\"[classLabel!, attr.readOnly ? 'kcInputClassRadioCheckboxLabelDisabled' : $any('')]\"\n >\n {{ i18n.advancedMsgStr(option) }}\n </label>\n </div>\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}