@keycloakify/angular 20.1.12 → 21.0.0-rc.1

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 (275) hide show
  1. package/bin/187.index.js +31 -34
  2. package/bin/{247.index.js → 343.index.js} +362 -233
  3. package/bin/476.index.js +28 -48
  4. package/bin/671.index.js +169 -192
  5. package/bin/942.index.js +180 -200
  6. package/bin/index.js +17 -71
  7. package/fesm2022/keycloakify-angular-account-DefaultPage.mjs +16 -7
  8. package/fesm2022/keycloakify-angular-account-DefaultPage.mjs.map +1 -1
  9. package/fesm2022/keycloakify-angular-account-classes-component-reference.mjs +2 -0
  10. package/fesm2022/keycloakify-angular-account-classes-component-reference.mjs.map +1 -1
  11. package/fesm2022/keycloakify-angular-account-directives-kc-class.mjs +4 -3
  12. package/fesm2022/keycloakify-angular-account-directives-kc-class.mjs.map +1 -1
  13. package/fesm2022/keycloakify-angular-account-pages-account.mjs +3 -3
  14. package/fesm2022/keycloakify-angular-account-pages-account.mjs.map +1 -1
  15. package/fesm2022/keycloakify-angular-account-pages-applications.mjs +3 -3
  16. package/fesm2022/keycloakify-angular-account-pages-applications.mjs.map +1 -1
  17. package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs +3 -3
  18. package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs.map +1 -1
  19. package/fesm2022/keycloakify-angular-account-pages-log.mjs +3 -3
  20. package/fesm2022/keycloakify-angular-account-pages-log.mjs.map +1 -1
  21. package/fesm2022/keycloakify-angular-account-pages-password.mjs +10 -10
  22. package/fesm2022/keycloakify-angular-account-pages-password.mjs.map +1 -1
  23. package/fesm2022/keycloakify-angular-account-pages-sessions.mjs +3 -3
  24. package/fesm2022/keycloakify-angular-account-pages-sessions.mjs.map +1 -1
  25. package/fesm2022/keycloakify-angular-account-pages-totp.mjs +3 -3
  26. package/fesm2022/keycloakify-angular-account-pages-totp.mjs.map +1 -1
  27. package/fesm2022/keycloakify-angular-account-providers-keycloakify-angular.mjs.map +1 -1
  28. package/fesm2022/keycloakify-angular-account-services-account-resource-injector.mjs +4 -3
  29. package/fesm2022/keycloakify-angular-account-services-account-resource-injector.mjs.map +1 -1
  30. package/fesm2022/keycloakify-angular-account-services-i18n.mjs +3 -3
  31. package/fesm2022/keycloakify-angular-account-services-i18n.mjs.map +1 -1
  32. package/fesm2022/keycloakify-angular-account-template.mjs +7 -6
  33. package/fesm2022/keycloakify-angular-account-template.mjs.map +1 -1
  34. package/fesm2022/keycloakify-angular-lib-directives-attributes.mjs +4 -4
  35. package/fesm2022/keycloakify-angular-lib-directives-attributes.mjs.map +1 -1
  36. package/fesm2022/keycloakify-angular-lib-pipes-input-type.mjs +3 -3
  37. package/fesm2022/keycloakify-angular-lib-pipes-input-type.mjs.map +1 -1
  38. package/fesm2022/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs +3 -3
  39. package/fesm2022/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs.map +1 -1
  40. package/fesm2022/keycloakify-angular-lib-pipes-kc-sanitize.mjs +3 -3
  41. package/fesm2022/keycloakify-angular-lib-pipes-kc-sanitize.mjs.map +1 -1
  42. package/fesm2022/keycloakify-angular-lib-pipes-to-array.mjs +3 -3
  43. package/fesm2022/keycloakify-angular-lib-pipes-to-array.mjs.map +1 -1
  44. package/fesm2022/keycloakify-angular-lib-pipes-to-number.mjs +3 -3
  45. package/fesm2022/keycloakify-angular-lib-pipes-to-number.mjs.map +1 -1
  46. package/fesm2022/keycloakify-angular-lib-services-resource-injector.mjs +4 -3
  47. package/fesm2022/keycloakify-angular-lib-services-resource-injector.mjs.map +1 -1
  48. package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs +8 -8
  49. package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs.map +1 -1
  50. package/fesm2022/keycloakify-angular-login-components-field-errors.mjs +6 -6
  51. package/fesm2022/keycloakify-angular-login-components-field-errors.mjs.map +1 -1
  52. package/fesm2022/keycloakify-angular-login-components-group-label.mjs +6 -6
  53. package/fesm2022/keycloakify-angular-login-components-group-label.mjs.map +1 -1
  54. package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs +8 -7
  55. package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs.map +1 -1
  56. package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs +8 -8
  57. package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs.map +1 -1
  58. package/fesm2022/keycloakify-angular-login-components-input-tag.mjs +10 -9
  59. package/fesm2022/keycloakify-angular-login-components-input-tag.mjs.map +1 -1
  60. package/fesm2022/keycloakify-angular-login-components-logout-other-sessions.mjs +3 -3
  61. package/fesm2022/keycloakify-angular-login-components-logout-other-sessions.mjs.map +1 -1
  62. package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs +5 -5
  63. package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs.map +1 -1
  64. package/fesm2022/keycloakify-angular-login-components-select-tag.mjs +8 -8
  65. package/fesm2022/keycloakify-angular-login-components-select-tag.mjs.map +1 -1
  66. package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs +6 -6
  67. package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs.map +1 -1
  68. package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs +3 -3
  69. package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs.map +1 -1
  70. package/fesm2022/keycloakify-angular-login-directives-kc-class.mjs +3 -3
  71. package/fesm2022/keycloakify-angular-login-directives-kc-class.mjs.map +1 -1
  72. package/fesm2022/keycloakify-angular-login-pages-code.mjs +6 -6
  73. package/fesm2022/keycloakify-angular-login-pages-code.mjs.map +1 -1
  74. package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs +6 -6
  75. package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs.map +1 -1
  76. package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs +6 -6
  77. package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs.map +1 -1
  78. package/fesm2022/keycloakify-angular-login-pages-error.mjs +6 -6
  79. package/fesm2022/keycloakify-angular-login-pages-error.mjs.map +1 -1
  80. package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs +7 -7
  81. package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs.map +1 -1
  82. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs +8 -8
  83. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs.map +1 -1
  84. package/fesm2022/keycloakify-angular-login-pages-info.mjs +6 -6
  85. package/fesm2022/keycloakify-angular-login-pages-info.mjs.map +1 -1
  86. package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs +6 -6
  87. package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs.map +1 -1
  88. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs +6 -6
  89. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs.map +1 -1
  90. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs +6 -6
  91. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs.map +1 -1
  92. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs +6 -6
  93. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs.map +1 -1
  94. package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs +6 -6
  95. package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs.map +1 -1
  96. package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs +6 -6
  97. package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs.map +1 -1
  98. package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs +6 -6
  99. package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs.map +1 -1
  100. package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs +6 -6
  101. package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs.map +1 -1
  102. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +6 -6
  103. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs.map +1 -1
  104. package/fesm2022/keycloakify-angular-login-pages-login-password.mjs +7 -7
  105. package/fesm2022/keycloakify-angular-login-pages-login-password.mjs.map +1 -1
  106. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs +7 -7
  107. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs.map +1 -1
  108. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +6 -6
  109. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs.map +1 -1
  110. package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs +6 -6
  111. package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs.map +1 -1
  112. package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs +6 -6
  113. package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs.map +1 -1
  114. package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs +6 -6
  115. package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs.map +1 -1
  116. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs +9 -8
  117. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs.map +1 -1
  118. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs +7 -7
  119. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs.map +1 -1
  120. package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs +6 -6
  121. package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs.map +1 -1
  122. package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs +6 -6
  123. package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs.map +1 -1
  124. package/fesm2022/keycloakify-angular-login-pages-login.mjs +10 -11
  125. package/fesm2022/keycloakify-angular-login-pages-login.mjs.map +1 -1
  126. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs +6 -6
  127. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs.map +1 -1
  128. package/fesm2022/keycloakify-angular-login-pages-register.mjs +10 -9
  129. package/fesm2022/keycloakify-angular-login-pages-register.mjs.map +1 -1
  130. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs +7 -7
  131. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs.map +1 -1
  132. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs +6 -6
  133. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs.map +1 -1
  134. package/fesm2022/keycloakify-angular-login-pages-terms.mjs +6 -6
  135. package/fesm2022/keycloakify-angular-login-pages-terms.mjs.map +1 -1
  136. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs +9 -8
  137. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs.map +1 -1
  138. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs +6 -6
  139. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs.map +1 -1
  140. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs +6 -6
  141. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs.map +1 -1
  142. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs +6 -6
  143. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs.map +1 -1
  144. package/fesm2022/keycloakify-angular-login-providers-keycloakify-angular.mjs.map +1 -1
  145. package/fesm2022/keycloakify-angular-login-services-i18n.mjs +3 -3
  146. package/fesm2022/keycloakify-angular-login-services-i18n.mjs.map +1 -1
  147. package/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs +3 -3
  148. package/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs.map +1 -1
  149. package/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs +3 -3
  150. package/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs.map +1 -1
  151. package/fesm2022/keycloakify-angular-login-template.mjs +11 -10
  152. package/fesm2022/keycloakify-angular-login-template.mjs.map +1 -1
  153. package/fesm2022/keycloakify-angular-login.mjs +1 -1
  154. package/fesm2022/keycloakify-angular-login.mjs.map +1 -1
  155. package/package.json +98 -98
  156. package/src/account/DefaultPage.ts +30 -23
  157. package/src/account/classes/component-reference/component-reference.class.ts +1 -1
  158. package/src/account/directives/kc-class/kc-class.directive.ts +2 -2
  159. package/src/account/services/account-resource-injector/account-resource-injector.service.ts +1 -1
  160. package/src/account/template/template.component.ts +4 -4
  161. package/src/eslint.config.js +2 -2
  162. package/src/lib/pipes/input-type/input-type.pipe.ts +1 -1
  163. package/src/lib/pipes/is-array-with-empty-object/is-array-with-empty-object.pipe.ts +1 -1
  164. package/src/lib/pipes/kc-sanitize/kc-sanitize.pipe.ts +6 -6
  165. package/src/lib/pipes/to-array/to-array.pipe.ts +1 -1
  166. package/src/lib/pipes/to-number/to-number.pipe.ts +1 -1
  167. package/src/lib/services/resource-injector/resource-injector.service.ts +2 -2
  168. package/src/login/components/input-field-by-type/input-field-by-type.component.ts +1 -1
  169. package/src/login/components/input-tag/input-tag.component.ts +1 -1
  170. package/src/login/components/input-tag-selects/input-tag-selects.component.ts +1 -1
  171. package/src/login/components/password-wrapper/password-wrapper.component.ts +1 -1
  172. package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.ts +1 -1
  173. package/src/login/defaultPage.ts +19 -19
  174. package/src/login/directives/kc-class/kc-class.directive.ts +1 -1
  175. package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.ts +1 -1
  176. package/src/login/pages/login/login.component.ts +2 -2
  177. package/src/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.ts +1 -1
  178. package/src/login/pages/login-update-profile/login-update-profile.component.ts +2 -2
  179. package/src/login/pages/register/register.component.ts +4 -4
  180. package/src/login/pages/saml-post-form/saml-post-form.component.ts +10 -1
  181. package/src/login/pages/update-email/update-email.component.ts +2 -2
  182. package/src/login/services/user-profile-form/user-profile-form.service.ts +3 -3
  183. package/src/login/template/template.component.ts +2 -2
  184. package/{account/DefaultPage/index.d.ts → types/keycloakify-angular-account-DefaultPage.d.ts} +1 -1
  185. /package/{account/KcContext/index.d.ts → types/keycloakify-angular-account-KcContext.d.ts} +0 -0
  186. /package/{account/classes/component-reference/index.d.ts → types/keycloakify-angular-account-classes-component-reference.d.ts} +0 -0
  187. /package/{account/directives/kc-class/index.d.ts → types/keycloakify-angular-account-directives-kc-class.d.ts} +0 -0
  188. /package/{account/i18n/index.d.ts → types/keycloakify-angular-account-i18n.d.ts} +0 -0
  189. /package/{account/pages/account/index.d.ts → types/keycloakify-angular-account-pages-account.d.ts} +0 -0
  190. /package/{account/pages/applications/index.d.ts → types/keycloakify-angular-account-pages-applications.d.ts} +0 -0
  191. /package/{account/pages/federatedIdentity/index.d.ts → types/keycloakify-angular-account-pages-federatedIdentity.d.ts} +0 -0
  192. /package/{account/pages/log/index.d.ts → types/keycloakify-angular-account-pages-log.d.ts} +0 -0
  193. /package/{account/pages/password/index.d.ts → types/keycloakify-angular-account-pages-password.d.ts} +0 -0
  194. /package/{account/pages/sessions/index.d.ts → types/keycloakify-angular-account-pages-sessions.d.ts} +0 -0
  195. /package/{account/pages/totp/index.d.ts → types/keycloakify-angular-account-pages-totp.d.ts} +0 -0
  196. /package/{account/providers/keycloakify-angular/index.d.ts → types/keycloakify-angular-account-providers-keycloakify-angular.d.ts} +0 -0
  197. /package/{account/services/account-resource-injector/index.d.ts → types/keycloakify-angular-account-services-account-resource-injector.d.ts} +0 -0
  198. /package/{account/services/i18n/index.d.ts → types/keycloakify-angular-account-services-i18n.d.ts} +0 -0
  199. /package/{account/template/index.d.ts → types/keycloakify-angular-account-template.d.ts} +0 -0
  200. /package/{account/tokens/classes/index.d.ts → types/keycloakify-angular-account-tokens-classes.d.ts} +0 -0
  201. /package/{account/tokens/i18n/index.d.ts → types/keycloakify-angular-account-tokens-i18n.d.ts} +0 -0
  202. /package/{account/tokens/kc-context/index.d.ts → types/keycloakify-angular-account-tokens-kc-context.d.ts} +0 -0
  203. /package/{account/index.d.ts → types/keycloakify-angular-account.d.ts} +0 -0
  204. /package/{lib/directives/attributes/index.d.ts → types/keycloakify-angular-lib-directives-attributes.d.ts} +0 -0
  205. /package/{lib/models/script/index.d.ts → types/keycloakify-angular-lib-models-script.d.ts} +0 -0
  206. /package/{lib/pipes/input-type/index.d.ts → types/keycloakify-angular-lib-pipes-input-type.d.ts} +0 -0
  207. /package/{lib/pipes/is-array-with-empty-object/index.d.ts → types/keycloakify-angular-lib-pipes-is-array-with-empty-object.d.ts} +0 -0
  208. /package/{lib/pipes/kc-sanitize/index.d.ts → types/keycloakify-angular-lib-pipes-kc-sanitize.d.ts} +0 -0
  209. /package/{lib/pipes/to-array/index.d.ts → types/keycloakify-angular-lib-pipes-to-array.d.ts} +0 -0
  210. /package/{lib/pipes/to-number/index.d.ts → types/keycloakify-angular-lib-pipes-to-number.d.ts} +0 -0
  211. /package/{lib/services/resource-injector/index.d.ts → types/keycloakify-angular-lib-services-resource-injector.d.ts} +0 -0
  212. /package/{lib/tokens/use-default-css/index.d.ts → types/keycloakify-angular-lib-tokens-use-default-css.d.ts} +0 -0
  213. /package/{lib/index.d.ts → types/keycloakify-angular-lib.d.ts} +0 -0
  214. /package/{login/KcContext/index.d.ts → types/keycloakify-angular-login-KcContext.d.ts} +0 -0
  215. /package/{login/classes/component-reference/index.d.ts → types/keycloakify-angular-login-classes-component-reference.d.ts} +0 -0
  216. /package/{login/components/add-remove-buttons-multi-valued-attribute/index.d.ts → types/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.d.ts} +0 -0
  217. /package/{login/components/field-errors/index.d.ts → types/keycloakify-angular-login-components-field-errors.d.ts} +0 -0
  218. /package/{login/components/group-label/index.d.ts → types/keycloakify-angular-login-components-group-label.d.ts} +0 -0
  219. /package/{login/components/input-field-by-type/index.d.ts → types/keycloakify-angular-login-components-input-field-by-type.d.ts} +0 -0
  220. /package/{login/components/input-tag-selects/index.d.ts → types/keycloakify-angular-login-components-input-tag-selects.d.ts} +0 -0
  221. /package/{login/components/input-tag/index.d.ts → types/keycloakify-angular-login-components-input-tag.d.ts} +0 -0
  222. /package/{login/components/logout-other-sessions/index.d.ts → types/keycloakify-angular-login-components-logout-other-sessions.d.ts} +0 -0
  223. /package/{login/components/password-wrapper/index.d.ts → types/keycloakify-angular-login-components-password-wrapper.d.ts} +0 -0
  224. /package/{login/components/select-tag/index.d.ts → types/keycloakify-angular-login-components-select-tag.d.ts} +0 -0
  225. /package/{login/components/textarea-tag/index.d.ts → types/keycloakify-angular-login-components-textarea-tag.d.ts} +0 -0
  226. /package/{login/components/user-profile-form-fields/index.d.ts → types/keycloakify-angular-login-components-user-profile-form-fields.d.ts} +0 -0
  227. /package/{login/directives/kc-class/index.d.ts → types/keycloakify-angular-login-directives-kc-class.d.ts} +0 -0
  228. /package/{login/i18n/index.d.ts → types/keycloakify-angular-login-i18n.d.ts} +0 -0
  229. /package/{login/pages/code/index.d.ts → types/keycloakify-angular-login-pages-code.d.ts} +0 -0
  230. /package/{login/pages/delete-account-confirm/index.d.ts → types/keycloakify-angular-login-pages-delete-account-confirm.d.ts} +0 -0
  231. /package/{login/pages/delete-credential/index.d.ts → types/keycloakify-angular-login-pages-delete-credential.d.ts} +0 -0
  232. /package/{login/pages/error/index.d.ts → types/keycloakify-angular-login-pages-error.d.ts} +0 -0
  233. /package/{login/pages/frontchannel-logout/index.d.ts → types/keycloakify-angular-login-pages-frontchannel-logout.d.ts} +0 -0
  234. /package/{login/pages/idp-review-user-profile/index.d.ts → types/keycloakify-angular-login-pages-idp-review-user-profile.d.ts} +0 -0
  235. /package/{login/pages/info/index.d.ts → types/keycloakify-angular-login-pages-info.d.ts} +0 -0
  236. /package/{login/pages/login-config-totp/index.d.ts → types/keycloakify-angular-login-pages-login-config-totp.d.ts} +0 -0
  237. /package/{login/pages/login-idp-link-confirm-override/index.d.ts → types/keycloakify-angular-login-pages-login-idp-link-confirm-override.d.ts} +0 -0
  238. /package/{login/pages/login-idp-link-confirm/index.d.ts → types/keycloakify-angular-login-pages-login-idp-link-confirm.d.ts} +0 -0
  239. /package/{login/pages/login-idp-link-email/index.d.ts → types/keycloakify-angular-login-pages-login-idp-link-email.d.ts} +0 -0
  240. /package/{login/pages/login-oauth-grant/index.d.ts → types/keycloakify-angular-login-pages-login-oauth-grant.d.ts} +0 -0
  241. /package/{login/pages/login-oauth2-device-verify-user-code/index.d.ts → types/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.d.ts} +0 -0
  242. /package/{login/pages/login-otp/index.d.ts → types/keycloakify-angular-login-pages-login-otp.d.ts} +0 -0
  243. /package/{login/pages/login-page-expired/index.d.ts → types/keycloakify-angular-login-pages-login-page-expired.d.ts} +0 -0
  244. /package/{login/pages/login-passkeys-conditional-authenticate/index.d.ts → types/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.d.ts} +0 -0
  245. /package/{login/pages/login-password/index.d.ts → types/keycloakify-angular-login-pages-login-password.d.ts} +0 -0
  246. /package/{login/pages/login-recovery-authn-code-config/index.d.ts → types/keycloakify-angular-login-pages-login-recovery-authn-code-config.d.ts} +0 -0
  247. /package/{login/pages/login-recovery-authn-code-input/index.d.ts → types/keycloakify-angular-login-pages-login-recovery-authn-code-input.d.ts} +0 -0
  248. /package/{login/pages/login-reset-otp/index.d.ts → types/keycloakify-angular-login-pages-login-reset-otp.d.ts} +0 -0
  249. /package/{login/pages/login-reset-password/index.d.ts → types/keycloakify-angular-login-pages-login-reset-password.d.ts} +0 -0
  250. /package/{login/pages/login-update-password/index.d.ts → types/keycloakify-angular-login-pages-login-update-password.d.ts} +0 -0
  251. /package/{login/pages/login-update-profile/index.d.ts → types/keycloakify-angular-login-pages-login-update-profile.d.ts} +0 -0
  252. /package/{login/pages/login-username/index.d.ts → types/keycloakify-angular-login-pages-login-username.d.ts} +0 -0
  253. /package/{login/pages/login-verify-email/index.d.ts → types/keycloakify-angular-login-pages-login-verify-email.d.ts} +0 -0
  254. /package/{login/pages/login-x509-info/index.d.ts → types/keycloakify-angular-login-pages-login-x509-info.d.ts} +0 -0
  255. /package/{login/pages/login/index.d.ts → types/keycloakify-angular-login-pages-login.d.ts} +0 -0
  256. /package/{login/pages/logout-confirm/index.d.ts → types/keycloakify-angular-login-pages-logout-confirm.d.ts} +0 -0
  257. /package/{login/pages/register/index.d.ts → types/keycloakify-angular-login-pages-register.d.ts} +0 -0
  258. /package/{login/pages/saml-post-form/index.d.ts → types/keycloakify-angular-login-pages-saml-post-form.d.ts} +0 -0
  259. /package/{login/pages/select-authenticator/index.d.ts → types/keycloakify-angular-login-pages-select-authenticator.d.ts} +0 -0
  260. /package/{login/pages/terms/index.d.ts → types/keycloakify-angular-login-pages-terms.d.ts} +0 -0
  261. /package/{login/pages/update-email/index.d.ts → types/keycloakify-angular-login-pages-update-email.d.ts} +0 -0
  262. /package/{login/pages/webauthn-authenticate/index.d.ts → types/keycloakify-angular-login-pages-webauthn-authenticate.d.ts} +0 -0
  263. /package/{login/pages/webauthn-error/index.d.ts → types/keycloakify-angular-login-pages-webauthn-error.d.ts} +0 -0
  264. /package/{login/pages/webauthn-register/index.d.ts → types/keycloakify-angular-login-pages-webauthn-register.d.ts} +0 -0
  265. /package/{login/providers/keycloakify-angular/index.d.ts → types/keycloakify-angular-login-providers-keycloakify-angular.d.ts} +0 -0
  266. /package/{login/services/i18n/index.d.ts → types/keycloakify-angular-login-services-i18n.d.ts} +0 -0
  267. /package/{login/services/login-resource-injector/index.d.ts → types/keycloakify-angular-login-services-login-resource-injector.d.ts} +0 -0
  268. /package/{login/services/user-profile-form/index.d.ts → types/keycloakify-angular-login-services-user-profile-form.d.ts} +0 -0
  269. /package/{login/template/index.d.ts → types/keycloakify-angular-login-template.d.ts} +0 -0
  270. /package/{login/tokens/classes/index.d.ts → types/keycloakify-angular-login-tokens-classes.d.ts} +0 -0
  271. /package/{login/tokens/i18n/index.d.ts → types/keycloakify-angular-login-tokens-i18n.d.ts} +0 -0
  272. /package/{login/tokens/kc-context/index.d.ts → types/keycloakify-angular-login-tokens-kc-context.d.ts} +0 -0
  273. /package/{login/tokens/make-user-confirm-password/index.d.ts → types/keycloakify-angular-login-tokens-make-user-confirm-password.d.ts} +0 -0
  274. /package/{login/index.d.ts → types/keycloakify-angular-login.d.ts} +0 -0
  275. /package/{index.d.ts → types/keycloakify-angular.d.ts} +0 -0
@@ -1,5 +1,5 @@
1
- export const id = 247;
2
- export const ids = [247];
1
+ export const id = 343;
2
+ export const ids = [343];
3
3
  export const modules = {
4
4
 
5
5
  /***/ 94:
@@ -10,24 +10,8 @@ export const modules = {
10
10
  /* harmony export */ });
11
11
  /** https://docs.tsafe.dev/id */
12
12
  const id = (x) => x;
13
-
14
-
15
13
  //# sourceMappingURL=id.mjs.map
16
14
 
17
-
18
- /***/ }),
19
-
20
- /***/ 289:
21
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
22
-
23
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
24
- /* harmony export */ is: () => (/* reexport safe */ _assert_mjs__WEBPACK_IMPORTED_MODULE_0__.is)
25
- /* harmony export */ });
26
- /* harmony import */ var _assert_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(966);
27
-
28
- //# sourceMappingURL=is.mjs.map
29
-
30
-
31
15
  /***/ }),
32
16
 
33
17
  /***/ 886:
@@ -41,11 +25,8 @@ function symToStr(wrap) {
41
25
  // @ts-expect-error: We know better
42
26
  return Object.keys(wrap)[0];
43
27
  }
44
-
45
-
46
28
  //# sourceMappingURL=symToStr.mjs.map
47
29
 
48
-
49
30
  /***/ }),
50
31
 
51
32
  /***/ 455:
@@ -60,7 +41,7 @@ __webpack_require__.d(__webpack_exports__, {
60
41
  L5J: () => (/* reexport */ unknown)
61
42
  });
62
43
 
63
- // UNUSED EXPORTS: $brand, $input, $output, NEVER, TimePrecision, ZodAny, ZodArray, ZodBase64, ZodBase64URL, ZodBigInt, ZodBigIntFormat, ZodBoolean, ZodCIDRv4, ZodCIDRv6, ZodCUID, ZodCUID2, ZodCatch, ZodCodec, ZodCustom, ZodCustomStringFormat, ZodDate, ZodDefault, ZodDiscriminatedUnion, ZodE164, ZodEmail, ZodEmoji, ZodEnum, ZodError, ZodFile, ZodFirstPartyTypeKind, ZodFunction, ZodGUID, ZodIPv4, ZodIPv6, ZodISODate, ZodISODateTime, ZodISODuration, ZodISOTime, ZodIntersection, ZodIssueCode, ZodJWT, ZodKSUID, ZodLazy, ZodLiteral, ZodMap, ZodNaN, ZodNanoID, ZodNever, ZodNonOptional, ZodNull, ZodNullable, ZodNumber, ZodNumberFormat, ZodObject, ZodOptional, ZodPipe, ZodPrefault, ZodPromise, ZodReadonly, ZodRealError, ZodRecord, ZodSet, ZodString, ZodStringFormat, ZodSuccess, ZodSymbol, ZodTemplateLiteral, ZodTransform, ZodTuple, ZodType, ZodULID, ZodURL, ZodUUID, ZodUndefined, ZodUnion, ZodUnknown, ZodVoid, ZodXID, _ZodString, _default, _function, any, array, base64, base64url, bigint, boolean, catch, check, cidrv4, cidrv6, clone, codec, coerce, config, core, cuid, cuid2, custom, date, decode, decodeAsync, discriminatedUnion, e164, email, emoji, encode, encodeAsync, endsWith, enum, file, flattenError, float32, float64, formatError, function, getErrorMap, globalRegistry, gt, gte, guid, hash, hex, hostname, httpUrl, includes, instanceof, int, int32, int64, intersection, ipv4, ipv6, iso, json, jwt, keyof, ksuid, lazy, length, literal, locales, looseObject, lowercase, lt, lte, map, maxLength, maxSize, mime, minLength, minSize, multipleOf, nan, nanoid, nativeEnum, negative, never, nonnegative, nonoptional, nonpositive, normalize, null, nullable, nullish, number, optional, overwrite, parse, parseAsync, partialRecord, pipe, positive, prefault, preprocess, prettifyError, promise, property, readonly, refine, regex, regexes, registry, safeDecode, safeDecodeAsync, safeEncode, safeEncodeAsync, safeParse, safeParseAsync, set, setErrorMap, size, startsWith, strictObject, stringFormat, stringbool, success, superRefine, symbol, templateLiteral, toJSONSchema, toLowerCase, toUpperCase, transform, treeifyError, trim, tuple, uint32, uint64, ulid, undefined, union, uppercase, url, util, uuid, uuidv4, uuidv6, uuidv7, void, xid
44
+ // UNUSED EXPORTS: $brand, $input, $output, NEVER, TimePrecision, ZodAny, ZodArray, ZodBase64, ZodBase64URL, ZodBigInt, ZodBigIntFormat, ZodBoolean, ZodCIDRv4, ZodCIDRv6, ZodCUID, ZodCUID2, ZodCatch, ZodCodec, ZodCustom, ZodCustomStringFormat, ZodDate, ZodDefault, ZodDiscriminatedUnion, ZodE164, ZodEmail, ZodEmoji, ZodEnum, ZodError, ZodFile, ZodFirstPartyTypeKind, ZodFunction, ZodGUID, ZodIPv4, ZodIPv6, ZodISODate, ZodISODateTime, ZodISODuration, ZodISOTime, ZodIntersection, ZodIssueCode, ZodJWT, ZodKSUID, ZodLazy, ZodLiteral, ZodMAC, ZodMap, ZodNaN, ZodNanoID, ZodNever, ZodNonOptional, ZodNull, ZodNullable, ZodNumber, ZodNumberFormat, ZodObject, ZodOptional, ZodPipe, ZodPrefault, ZodPromise, ZodReadonly, ZodRealError, ZodRecord, ZodSet, ZodString, ZodStringFormat, ZodSuccess, ZodSymbol, ZodTemplateLiteral, ZodTransform, ZodTuple, ZodType, ZodULID, ZodURL, ZodUUID, ZodUndefined, ZodUnion, ZodUnknown, ZodVoid, ZodXID, _ZodString, _default, _function, any, array, base64, base64url, bigint, boolean, catch, check, cidrv4, cidrv6, clone, codec, coerce, config, core, cuid, cuid2, custom, date, decode, decodeAsync, describe, discriminatedUnion, e164, email, emoji, encode, encodeAsync, endsWith, enum, file, flattenError, float32, float64, formatError, function, getErrorMap, globalRegistry, gt, gte, guid, hash, hex, hostname, httpUrl, includes, instanceof, int, int32, int64, intersection, ipv4, ipv6, iso, json, jwt, keyof, ksuid, lazy, length, literal, locales, looseObject, lowercase, lt, lte, mac, map, maxLength, maxSize, meta, mime, minLength, minSize, multipleOf, nan, nanoid, nativeEnum, negative, never, nonnegative, nonoptional, nonpositive, normalize, null, nullable, nullish, number, optional, overwrite, parse, parseAsync, partialRecord, pipe, positive, prefault, preprocess, prettifyError, promise, property, readonly, refine, regex, regexes, registry, safeDecode, safeDecodeAsync, safeEncode, safeEncodeAsync, safeParse, safeParseAsync, set, setErrorMap, size, slugify, startsWith, strictObject, stringFormat, stringbool, success, superRefine, symbol, templateLiteral, toJSONSchema, toLowerCase, toUpperCase, transform, treeifyError, trim, tuple, uint32, uint64, ulid, undefined, union, uppercase, url, util, uuid, uuidv4, uuidv6, uuidv7, void, xid
64
45
 
65
46
  ;// CONCATENATED MODULE: ./node_modules/zod/v4/core/core.js
66
47
  /** A special constant with type `never` */
@@ -69,21 +50,30 @@ const NEVER = Object.freeze({
69
50
  });
70
51
  function $constructor(name, initializer, params) {
71
52
  function init(inst, def) {
72
- var _a;
73
- Object.defineProperty(inst, "_zod", {
74
- value: inst._zod ?? {},
75
- enumerable: false,
76
- });
77
- (_a = inst._zod).traits ?? (_a.traits = new Set());
53
+ if (!inst._zod) {
54
+ Object.defineProperty(inst, "_zod", {
55
+ value: {
56
+ def,
57
+ constr: _,
58
+ traits: new Set(),
59
+ },
60
+ enumerable: false,
61
+ });
62
+ }
63
+ if (inst._zod.traits.has(name)) {
64
+ return;
65
+ }
78
66
  inst._zod.traits.add(name);
79
67
  initializer(inst, def);
80
68
  // support prototype modifications
81
- for (const k in _.prototype) {
82
- if (!(k in inst))
83
- Object.defineProperty(inst, k, { value: _.prototype[k].bind(inst) });
69
+ const proto = _.prototype;
70
+ const keys = Object.keys(proto);
71
+ for (let i = 0; i < keys.length; i++) {
72
+ const k = keys[i];
73
+ if (!(k in inst)) {
74
+ inst[k] = proto[k].bind(inst);
75
+ }
84
76
  }
85
- inst._zod.constr = _;
86
- inst._zod.def = def;
87
77
  }
88
78
  // doesn't work if Parent has a constructor with arguments
89
79
  const Parent = params?.Parent ?? Object;
@@ -269,6 +259,14 @@ function randomString(length = 10) {
269
259
  function esc(str) {
270
260
  return JSON.stringify(str);
271
261
  }
262
+ function slugify(input) {
263
+ return input
264
+ .toLowerCase()
265
+ .trim()
266
+ .replace(/[^\w\s-]/g, "")
267
+ .replace(/[\s_-]+/g, "-")
268
+ .replace(/^-+|-+$/g, "");
269
+ }
272
270
  const captureStackTrace = ("captureStackTrace" in Error ? Error.captureStackTrace : (..._args) => { });
273
271
  function util_isObject(data) {
274
272
  return typeof data === "object" && data !== null && !Array.isArray(data);
@@ -294,6 +292,8 @@ function isPlainObject(o) {
294
292
  const ctor = o.constructor;
295
293
  if (ctor === undefined)
296
294
  return true;
295
+ if (typeof ctor !== "function")
296
+ return true;
297
297
  // modified prototype
298
298
  const prot = ctor.prototype;
299
299
  if (util_isObject(prot) === false)
@@ -1014,6 +1014,7 @@ const _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {
1014
1014
  const safeDecodeAsync = /* @__PURE__*/ _safeDecodeAsync($ZodRealError);
1015
1015
 
1016
1016
  ;// CONCATENATED MODULE: ./node_modules/zod/v4/core/regexes.js
1017
+
1017
1018
  const cuid = /^[cC][^\s-]{8,}$/;
1018
1019
  const cuid2 = /^[0-9a-z]+$/;
1019
1020
  const ulid = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/;
@@ -1054,6 +1055,10 @@ function emoji() {
1054
1055
  }
1055
1056
  const ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
1056
1057
  const ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;
1058
+ const mac = (delimiter) => {
1059
+ const escapedDelim = util.escapeRegex(delimiter ?? ":");
1060
+ return new RegExp(`^(?:[0-9A-F]{2}${escapedDelim}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${escapedDelim}){5}[0-9a-f]{2}$`);
1061
+ };
1057
1062
  const cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/;
1058
1063
  const cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;
1059
1064
  // https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript
@@ -1754,7 +1759,7 @@ class Doc {
1754
1759
  const version = {
1755
1760
  major: 4,
1756
1761
  minor: 1,
1757
- patch: 12,
1762
+ patch: 13,
1758
1763
  };
1759
1764
 
1760
1765
  ;// CONCATENATED MODULE: ./node_modules/zod/v4/core/schemas.js
@@ -1966,7 +1971,7 @@ const $ZodURL = /*@__PURE__*/ $constructor("$ZodURL", (inst, def) => {
1966
1971
  code: "invalid_format",
1967
1972
  format: "url",
1968
1973
  note: "Invalid hostname",
1969
- pattern: hostname.source,
1974
+ pattern: def.hostname.source,
1970
1975
  input: payload.value,
1971
1976
  inst,
1972
1977
  continue: !def.abort,
@@ -2056,18 +2061,12 @@ const $ZodISODuration = /*@__PURE__*/ $constructor("$ZodISODuration", (inst, def
2056
2061
  const $ZodIPv4 = /*@__PURE__*/ $constructor("$ZodIPv4", (inst, def) => {
2057
2062
  def.pattern ?? (def.pattern = ipv4);
2058
2063
  $ZodStringFormat.init(inst, def);
2059
- inst._zod.onattach.push((inst) => {
2060
- const bag = inst._zod.bag;
2061
- bag.format = `ipv4`;
2062
- });
2064
+ inst._zod.bag.format = `ipv4`;
2063
2065
  });
2064
2066
  const $ZodIPv6 = /*@__PURE__*/ $constructor("$ZodIPv6", (inst, def) => {
2065
2067
  def.pattern ?? (def.pattern = ipv6);
2066
2068
  $ZodStringFormat.init(inst, def);
2067
- inst._zod.onattach.push((inst) => {
2068
- const bag = inst._zod.bag;
2069
- bag.format = `ipv6`;
2070
- });
2069
+ inst._zod.bag.format = `ipv6`;
2071
2070
  inst._zod.check = (payload) => {
2072
2071
  try {
2073
2072
  // @ts-ignore
@@ -2085,6 +2084,11 @@ const $ZodIPv6 = /*@__PURE__*/ $constructor("$ZodIPv6", (inst, def) => {
2085
2084
  }
2086
2085
  };
2087
2086
  });
2087
+ const $ZodMAC = /*@__PURE__*/ (/* unused pure expression or super */ null && (core.$constructor("$ZodMAC", (inst, def) => {
2088
+ def.pattern ?? (def.pattern = regexes.mac(def.delimiter));
2089
+ $ZodStringFormat.init(inst, def);
2090
+ inst._zod.bag.format = `mac`;
2091
+ })));
2088
2092
  const $ZodCIDRv4 = /*@__PURE__*/ $constructor("$ZodCIDRv4", (inst, def) => {
2089
2093
  def.pattern ?? (def.pattern = cidrv4);
2090
2094
  $ZodStringFormat.init(inst, def);
@@ -2137,9 +2141,7 @@ function isValidBase64(data) {
2137
2141
  const $ZodBase64 = /*@__PURE__*/ $constructor("$ZodBase64", (inst, def) => {
2138
2142
  def.pattern ?? (def.pattern = base64);
2139
2143
  $ZodStringFormat.init(inst, def);
2140
- inst._zod.onattach.push((inst) => {
2141
- inst._zod.bag.contentEncoding = "base64";
2142
- });
2144
+ inst._zod.bag.contentEncoding = "base64";
2143
2145
  inst._zod.check = (payload) => {
2144
2146
  if (isValidBase64(payload.value))
2145
2147
  return;
@@ -2163,9 +2165,7 @@ function isValidBase64URL(data) {
2163
2165
  const $ZodBase64URL = /*@__PURE__*/ $constructor("$ZodBase64URL", (inst, def) => {
2164
2166
  def.pattern ?? (def.pattern = base64url);
2165
2167
  $ZodStringFormat.init(inst, def);
2166
- inst._zod.onattach.push((inst) => {
2167
- inst._zod.bag.contentEncoding = "base64url";
2168
- });
2168
+ inst._zod.bag.contentEncoding = "base64url";
2169
2169
  inst._zod.check = (payload) => {
2170
2170
  if (isValidBase64URL(payload.value))
2171
2171
  return;
@@ -2263,9 +2263,9 @@ const $ZodNumber = /*@__PURE__*/ (/* unused pure expression or super */ null &&
2263
2263
  return payload;
2264
2264
  };
2265
2265
  })));
2266
- const $ZodNumberFormat = /*@__PURE__*/ (/* unused pure expression or super */ null && (core.$constructor("$ZodNumber", (inst, def) => {
2266
+ const $ZodNumberFormat = /*@__PURE__*/ (/* unused pure expression or super */ null && (core.$constructor("$ZodNumberFormat", (inst, def) => {
2267
2267
  checks.$ZodCheckNumberFormat.init(inst, def);
2268
- $ZodNumber.init(inst, def); // no format checksp
2268
+ $ZodNumber.init(inst, def); // no format checks
2269
2269
  })));
2270
2270
  const $ZodBoolean = /*@__PURE__*/ (/* unused pure expression or super */ null && (core.$constructor("$ZodBoolean", (inst, def) => {
2271
2271
  $ZodType.init(inst, def);
@@ -2308,7 +2308,7 @@ const $ZodBigInt = /*@__PURE__*/ (/* unused pure expression or super */ null &&
2308
2308
  return payload;
2309
2309
  };
2310
2310
  })));
2311
- const $ZodBigIntFormat = /*@__PURE__*/ (/* unused pure expression or super */ null && (core.$constructor("$ZodBigInt", (inst, def) => {
2311
+ const $ZodBigIntFormat = /*@__PURE__*/ (/* unused pure expression or super */ null && (core.$constructor("$ZodBigIntFormat", (inst, def) => {
2312
2312
  checks.$ZodCheckBigIntFormat.init(inst, def);
2313
2313
  $ZodBigInt.init(inst, def); // no format checks
2314
2314
  })));
@@ -2497,7 +2497,7 @@ function handleCatchall(proms, input, payload, ctx, def, inst) {
2497
2497
  const keySet = def.keySet;
2498
2498
  const _catchall = def.catchall._zod;
2499
2499
  const t = _catchall.def.type;
2500
- for (const key of Object.keys(input)) {
2500
+ for (const key in input) {
2501
2501
  if (keySet.has(key))
2502
2502
  continue;
2503
2503
  if (t === "never") {
@@ -2885,7 +2885,6 @@ function handleIntersectionResults(result, left, right) {
2885
2885
  const $ZodTuple = /*@__PURE__*/ (/* unused pure expression or super */ null && (core.$constructor("$ZodTuple", (inst, def) => {
2886
2886
  $ZodType.init(inst, def);
2887
2887
  const items = def.items;
2888
- const optStart = items.length - [...items].reverse().findIndex((item) => item._zod.optin !== "optional");
2889
2888
  inst._zod.parse = (payload, ctx) => {
2890
2889
  const input = payload.value;
2891
2890
  if (!Array.isArray(input)) {
@@ -2899,6 +2898,8 @@ const $ZodTuple = /*@__PURE__*/ (/* unused pure expression or super */ null && (
2899
2898
  }
2900
2899
  payload.value = [];
2901
2900
  const proms = [];
2901
+ const reversedIndex = [...items].reverse().findIndex((item) => item._zod.optin !== "optional");
2902
+ const optStart = reversedIndex === -1 ? 0 : items.length - reversedIndex;
2902
2903
  if (!def.rest) {
2903
2904
  const tooBig = input.length > items.length;
2904
2905
  const tooSmall = input.length < optStart - 1;
@@ -2970,11 +2971,13 @@ const $ZodRecord = /*@__PURE__*/ $constructor("$ZodRecord", (inst, def) => {
2970
2971
  return payload;
2971
2972
  }
2972
2973
  const proms = [];
2973
- if (def.keyType._zod.values) {
2974
- const values = def.keyType._zod.values;
2974
+ const values = def.keyType._zod.values;
2975
+ if (values) {
2975
2976
  payload.value = {};
2977
+ const recordKeys = new Set();
2976
2978
  for (const key of values) {
2977
2979
  if (typeof key === "string" || typeof key === "number" || typeof key === "symbol") {
2980
+ recordKeys.add(typeof key === "number" ? key.toString() : key);
2978
2981
  const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);
2979
2982
  if (result instanceof Promise) {
2980
2983
  proms.push(result.then((result) => {
@@ -2994,7 +2997,7 @@ const $ZodRecord = /*@__PURE__*/ $constructor("$ZodRecord", (inst, def) => {
2994
2997
  }
2995
2998
  let unrecognized;
2996
2999
  for (const key in input) {
2997
- if (!values.has(key)) {
3000
+ if (!recordKeys.has(key)) {
2998
3001
  unrecognized = unrecognized ?? [];
2999
3002
  unrecognized.push(key);
3000
3003
  }
@@ -3178,13 +3181,14 @@ const $ZodLiteral = /*@__PURE__*/ (/* unused pure expression or super */ null &&
3178
3181
  if (def.values.length === 0) {
3179
3182
  throw new Error("Cannot create literal schema with no valid values");
3180
3183
  }
3181
- inst._zod.values = new Set(def.values);
3184
+ const values = new Set(def.values);
3185
+ inst._zod.values = values;
3182
3186
  inst._zod.pattern = new RegExp(`^(${def.values
3183
3187
  .map((o) => (typeof o === "string" ? util.escapeRegex(o) : o ? util.escapeRegex(o.toString()) : String(o)))
3184
3188
  .join("|")})$`);
3185
3189
  inst._zod.parse = (payload, _ctx) => {
3186
3190
  const input = payload.value;
3187
- if (inst._zod.values.has(input)) {
3191
+ if (values.has(input)) {
3188
3192
  return payload;
3189
3193
  }
3190
3194
  payload.issues.push({
@@ -3512,8 +3516,8 @@ const $ZodReadonly = /*@__PURE__*/ $constructor("$ZodReadonly", (inst, def) => {
3512
3516
  $ZodType.init(inst, def);
3513
3517
  defineLazy(inst._zod, "propValues", () => def.innerType._zod.propValues);
3514
3518
  defineLazy(inst._zod, "values", () => def.innerType._zod.values);
3515
- defineLazy(inst._zod, "optin", () => def.innerType._zod.optin);
3516
- defineLazy(inst._zod, "optout", () => def.innerType._zod.optout);
3519
+ defineLazy(inst._zod, "optin", () => def.innerType?._zod?.optin);
3520
+ defineLazy(inst._zod, "optout", () => def.innerType?._zod?.optout);
3517
3521
  inst._zod.parse = (payload, ctx) => {
3518
3522
  if (ctx.direction === "backward") {
3519
3523
  return def.innerType._zod.run(payload, ctx);
@@ -3673,10 +3677,10 @@ const $ZodLazy = /*@__PURE__*/ (/* unused pure expression or super */ null && (c
3673
3677
  // return () => _innerType;
3674
3678
  // });
3675
3679
  util.defineLazy(inst._zod, "innerType", () => def.getter());
3676
- util.defineLazy(inst._zod, "pattern", () => inst._zod.innerType._zod.pattern);
3677
- util.defineLazy(inst._zod, "propValues", () => inst._zod.innerType._zod.propValues);
3678
- util.defineLazy(inst._zod, "optin", () => inst._zod.innerType._zod.optin ?? undefined);
3679
- util.defineLazy(inst._zod, "optout", () => inst._zod.innerType._zod.optout ?? undefined);
3680
+ util.defineLazy(inst._zod, "pattern", () => inst._zod.innerType?._zod?.pattern);
3681
+ util.defineLazy(inst._zod, "propValues", () => inst._zod.innerType?._zod?.propValues);
3682
+ util.defineLazy(inst._zod, "optin", () => inst._zod.innerType?._zod?.optin ?? undefined);
3683
+ util.defineLazy(inst._zod, "optout", () => inst._zod.innerType?._zod?.optout ?? undefined);
3680
3684
  inst._zod.parse = (payload, ctx) => {
3681
3685
  const inner = inst._zod.innerType;
3682
3686
  return inner._zod.run(payload, ctx);
@@ -4806,6 +4810,7 @@ const en_error = () => {
4806
4810
  duration: "ISO duration",
4807
4811
  ipv4: "IPv4 address",
4808
4812
  ipv6: "IPv6 address",
4813
+ mac: "MAC address",
4809
4814
  cidrv4: "IPv4 range",
4810
4815
  cidrv6: "IPv6 range",
4811
4816
  base64: "base64-encoded string",
@@ -5629,111 +5634,222 @@ const fr_CA_error = () => {
5629
5634
  ;// CONCATENATED MODULE: ./node_modules/zod/v4/locales/he.js
5630
5635
 
5631
5636
  const he_error = () => {
5637
+ // Hebrew labels + grammatical gender
5638
+ const TypeNames = {
5639
+ string: { label: "מחרוזת", gender: "f" },
5640
+ number: { label: "מספר", gender: "m" },
5641
+ boolean: { label: "ערך בוליאני", gender: "m" },
5642
+ bigint: { label: "BigInt", gender: "m" },
5643
+ date: { label: "תאריך", gender: "m" },
5644
+ array: { label: "מערך", gender: "m" },
5645
+ object: { label: "אובייקט", gender: "m" },
5646
+ null: { label: "ערך ריק (null)", gender: "m" },
5647
+ undefined: { label: "ערך לא מוגדר (undefined)", gender: "m" },
5648
+ symbol: { label: "סימבול (Symbol)", gender: "m" },
5649
+ function: { label: "פונקציה", gender: "f" },
5650
+ map: { label: "מפה (Map)", gender: "f" },
5651
+ set: { label: "קבוצה (Set)", gender: "f" },
5652
+ file: { label: "קובץ", gender: "m" },
5653
+ promise: { label: "Promise", gender: "m" },
5654
+ NaN: { label: "NaN", gender: "m" },
5655
+ unknown: { label: "ערך לא ידוע", gender: "m" },
5656
+ value: { label: "ערך", gender: "m" },
5657
+ };
5658
+ // Sizing units for size-related messages + localized origin labels
5632
5659
  const Sizable = {
5633
- string: { unit: "אותיות", verb: "לכלול" },
5634
- file: { unit: "בייטים", verb: "לכלול" },
5635
- array: { unit: "פריטים", verb: "לכלול" },
5636
- set: { unit: "פריטים", verb: "לכלול" },
5637
- };
5638
- function getSizing(origin) {
5660
+ string: { unit: "תווים", shortLabel: "קצר", longLabel: "ארוך" },
5661
+ file: { unit: "בייטים", shortLabel: "קטן", longLabel: "גדול" },
5662
+ array: { unit: "פריטים", shortLabel: "קטן", longLabel: "גדול" },
5663
+ set: { unit: "פריטים", shortLabel: "קטן", longLabel: "גדול" },
5664
+ number: { unit: "", shortLabel: "קטן", longLabel: "גדול" }, // no unit
5665
+ };
5666
+ // Helpers — labels, articles, and verbs
5667
+ const typeEntry = (t) => (t ? TypeNames[t] : undefined);
5668
+ const typeLabel = (t) => {
5669
+ const e = typeEntry(t);
5670
+ if (e)
5671
+ return e.label;
5672
+ // fallback: show raw string if unknown
5673
+ return t ?? TypeNames.unknown.label;
5674
+ };
5675
+ const withDefinite = (t) => `ה${typeLabel(t)}`;
5676
+ const verbFor = (t) => {
5677
+ const e = typeEntry(t);
5678
+ const gender = e?.gender ?? "m";
5679
+ return gender === "f" ? "צריכה להיות" : "צריך להיות";
5680
+ };
5681
+ const getSizing = (origin) => {
5682
+ if (!origin)
5683
+ return null;
5639
5684
  return Sizable[origin] ?? null;
5640
- }
5685
+ };
5686
+ // Robust type parser for "received" — returns a key we understand or a constructor name
5641
5687
  const parsedType = (data) => {
5642
5688
  const t = typeof data;
5643
5689
  switch (t) {
5644
- case "number": {
5690
+ case "number":
5645
5691
  return Number.isNaN(data) ? "NaN" : "number";
5646
- }
5647
5692
  case "object": {
5648
- if (Array.isArray(data)) {
5693
+ if (Array.isArray(data))
5649
5694
  return "array";
5650
- }
5651
- if (data === null) {
5695
+ if (data === null)
5652
5696
  return "null";
5653
- }
5654
5697
  if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
5655
- return data.constructor.name;
5698
+ return data.constructor.name; // keep as-is (e.g., "Date")
5656
5699
  }
5700
+ return "object";
5657
5701
  }
5702
+ default:
5703
+ return t;
5658
5704
  }
5659
- return t;
5660
5705
  };
5661
5706
  const Nouns = {
5662
- regex: "קלט",
5663
- email: "כתובת אימייל",
5664
- url: "כתובת רשת",
5665
- emoji: "אימוג'י",
5666
- uuid: "UUID",
5667
- uuidv4: "UUIDv4",
5668
- uuidv6: "UUIDv6",
5669
- nanoid: "nanoid",
5670
- guid: "GUID",
5671
- cuid: "cuid",
5672
- cuid2: "cuid2",
5673
- ulid: "ULID",
5674
- xid: "XID",
5675
- ksuid: "KSUID",
5676
- datetime: "תאריך וזמן ISO",
5677
- date: "תאריך ISO",
5678
- time: "זמן ISO",
5679
- duration: "משך זמן ISO",
5680
- ipv4: "כתובת IPv4",
5681
- ipv6: "כתובת IPv6",
5682
- cidrv4: "טווח IPv4",
5683
- cidrv6: "טווח IPv6",
5684
- base64: "מחרוזת בבסיס 64",
5685
- base64url: "מחרוזת בבסיס 64 לכתובות רשת",
5686
- json_string: "מחרוזת JSON",
5687
- e164: "מספר E.164",
5688
- jwt: "JWT",
5689
- template_literal: "קלט",
5707
+ regex: { label: "קלט", gender: "m" },
5708
+ email: { label: "כתובת אימייל", gender: "f" },
5709
+ url: { label: "כתובת רשת", gender: "f" },
5710
+ emoji: { label: "אימוג'י", gender: "m" },
5711
+ uuid: { label: "UUID", gender: "m" },
5712
+ nanoid: { label: "nanoid", gender: "m" },
5713
+ guid: { label: "GUID", gender: "m" },
5714
+ cuid: { label: "cuid", gender: "m" },
5715
+ cuid2: { label: "cuid2", gender: "m" },
5716
+ ulid: { label: "ULID", gender: "m" },
5717
+ xid: { label: "XID", gender: "m" },
5718
+ ksuid: { label: "KSUID", gender: "m" },
5719
+ datetime: { label: "תאריך וזמן ISO", gender: "m" },
5720
+ date: { label: "תאריך ISO", gender: "m" },
5721
+ time: { label: "זמן ISO", gender: "m" },
5722
+ duration: { label: "משך זמן ISO", gender: "m" },
5723
+ ipv4: { label: "כתובת IPv4", gender: "f" },
5724
+ ipv6: { label: "כתובת IPv6", gender: "f" },
5725
+ cidrv4: { label: "טווח IPv4", gender: "m" },
5726
+ cidrv6: { label: "טווח IPv6", gender: "m" },
5727
+ base64: { label: "מחרוזת בבסיס 64", gender: "f" },
5728
+ base64url: { label: "מחרוזת בבסיס 64 לכתובות רשת", gender: "f" },
5729
+ json_string: { label: "מחרוזת JSON", gender: "f" },
5730
+ e164: { label: "מספר E.164", gender: "m" },
5731
+ jwt: { label: "JWT", gender: "m" },
5732
+ ends_with: { label: "קלט", gender: "m" },
5733
+ includes: { label: "קלט", gender: "m" },
5734
+ lowercase: { label: "קלט", gender: "m" },
5735
+ starts_with: { label: "קלט", gender: "m" },
5736
+ uppercase: { label: "קלט", gender: "m" },
5690
5737
  };
5691
5738
  return (issue) => {
5692
5739
  switch (issue.code) {
5693
- case "invalid_type":
5694
- return `קלט לא תקין: צריך ${issue.expected}, התקבל ${parsedType(issue.input)}`;
5695
- // return `Invalid input: expected ${issue.expected}, received ${util.getParsedType(issue.input)}`;
5696
- case "invalid_value":
5697
- if (issue.values.length === 1)
5698
- return `קלט לא תקין: צריך ${util.stringifyPrimitive(issue.values[0])}`;
5699
- return `קלט לא תקין: צריך אחת מהאפשרויות ${util.joinValues(issue.values, "|")}`;
5740
+ case "invalid_type": {
5741
+ // Expected type: show without definite article for clearer Hebrew
5742
+ const expectedKey = issue.expected;
5743
+ const expected = typeLabel(expectedKey);
5744
+ // Received: show localized label if known, otherwise constructor/raw
5745
+ const receivedKey = parsedType(issue.input);
5746
+ const received = TypeNames[receivedKey]?.label ?? receivedKey;
5747
+ return `קלט לא תקין: צריך להיות ${expected}, התקבל ${received}`;
5748
+ }
5749
+ case "invalid_value": {
5750
+ if (issue.values.length === 1) {
5751
+ return `ערך לא תקין: הערך חייב להיות ${util.stringifyPrimitive(issue.values[0])}`;
5752
+ }
5753
+ // Join values with proper Hebrew formatting
5754
+ const stringified = issue.values.map((v) => util.stringifyPrimitive(v));
5755
+ if (issue.values.length === 2) {
5756
+ return `ערך לא תקין: האפשרויות המתאימות הן ${stringified[0]} או ${stringified[1]}`;
5757
+ }
5758
+ // For 3+ values: "a", "b" או "c"
5759
+ const lastValue = stringified[stringified.length - 1];
5760
+ const restValues = stringified.slice(0, -1).join(", ");
5761
+ return `ערך לא תקין: האפשרויות המתאימות הן ${restValues} או ${lastValue}`;
5762
+ }
5700
5763
  case "too_big": {
5701
- const adj = issue.inclusive ? "<=" : "<";
5702
5764
  const sizing = getSizing(issue.origin);
5703
- if (sizing)
5704
- return `גדול מדי: ${issue.origin ?? "value"} צריך להיות ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elements"}`;
5705
- return `גדול מדי: ${issue.origin ?? "value"} צריך להיות ${adj}${issue.maximum.toString()}`;
5765
+ const subject = withDefinite(issue.origin ?? "value");
5766
+ if (issue.origin === "string") {
5767
+ // Special handling for strings - more natural Hebrew
5768
+ return `${sizing?.longLabel ?? "ארוך"} מדי: ${subject} צריכה להכיל ${issue.maximum.toString()} ${sizing?.unit ?? ""} ${issue.inclusive ? "או פחות" : "לכל היותר"}`.trim();
5769
+ }
5770
+ if (issue.origin === "number") {
5771
+ // Natural Hebrew for numbers
5772
+ const comparison = issue.inclusive ? `קטן או שווה ל-${issue.maximum}` : `קטן מ-${issue.maximum}`;
5773
+ return `גדול מדי: ${subject} צריך להיות ${comparison}`;
5774
+ }
5775
+ if (issue.origin === "array" || issue.origin === "set") {
5776
+ // Natural Hebrew for arrays and sets
5777
+ const verb = issue.origin === "set" ? "צריכה" : "צריך";
5778
+ const comparison = issue.inclusive
5779
+ ? `${issue.maximum} ${sizing?.unit ?? ""} או פחות`
5780
+ : `פחות מ-${issue.maximum} ${sizing?.unit ?? ""}`;
5781
+ return `גדול מדי: ${subject} ${verb} להכיל ${comparison}`.trim();
5782
+ }
5783
+ const adj = issue.inclusive ? "<=" : "<";
5784
+ const be = verbFor(issue.origin ?? "value");
5785
+ if (sizing?.unit) {
5786
+ return `${sizing.longLabel} מדי: ${subject} ${be} ${adj}${issue.maximum.toString()} ${sizing.unit}`;
5787
+ }
5788
+ return `${sizing?.longLabel ?? "גדול"} מדי: ${subject} ${be} ${adj}${issue.maximum.toString()}`;
5706
5789
  }
5707
5790
  case "too_small": {
5708
- const adj = issue.inclusive ? ">=" : ">";
5709
5791
  const sizing = getSizing(issue.origin);
5710
- if (sizing) {
5711
- return `קטן מדי: ${issue.origin} צריך להיות ${adj}${issue.minimum.toString()} ${sizing.unit}`;
5792
+ const subject = withDefinite(issue.origin ?? "value");
5793
+ if (issue.origin === "string") {
5794
+ // Special handling for strings - more natural Hebrew
5795
+ return `${sizing?.shortLabel ?? "קצר"} מדי: ${subject} צריכה להכיל ${issue.minimum.toString()} ${sizing?.unit ?? ""} ${issue.inclusive ? "או יותר" : "לפחות"}`.trim();
5796
+ }
5797
+ if (issue.origin === "number") {
5798
+ // Natural Hebrew for numbers
5799
+ const comparison = issue.inclusive ? `גדול או שווה ל-${issue.minimum}` : `גדול מ-${issue.minimum}`;
5800
+ return `קטן מדי: ${subject} צריך להיות ${comparison}`;
5801
+ }
5802
+ if (issue.origin === "array" || issue.origin === "set") {
5803
+ // Natural Hebrew for arrays and sets
5804
+ const verb = issue.origin === "set" ? "צריכה" : "צריך";
5805
+ // Special case for singular (minimum === 1)
5806
+ if (issue.minimum === 1 && issue.inclusive) {
5807
+ const singularPhrase = issue.origin === "set" ? "לפחות פריט אחד" : "לפחות פריט אחד";
5808
+ return `קטן מדי: ${subject} ${verb} להכיל ${singularPhrase}`;
5809
+ }
5810
+ const comparison = issue.inclusive
5811
+ ? `${issue.minimum} ${sizing?.unit ?? ""} או יותר`
5812
+ : `יותר מ-${issue.minimum} ${sizing?.unit ?? ""}`;
5813
+ return `קטן מדי: ${subject} ${verb} להכיל ${comparison}`.trim();
5814
+ }
5815
+ const adj = issue.inclusive ? ">=" : ">";
5816
+ const be = verbFor(issue.origin ?? "value");
5817
+ if (sizing?.unit) {
5818
+ return `${sizing.shortLabel} מדי: ${subject} ${be} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
5712
5819
  }
5713
- return `קטן מדי: ${issue.origin} צריך להיות ${adj}${issue.minimum.toString()}`;
5820
+ return `${sizing?.shortLabel ?? "קטן"} מדי: ${subject} ${be} ${adj}${issue.minimum.toString()}`;
5714
5821
  }
5715
5822
  case "invalid_format": {
5716
5823
  const _issue = issue;
5824
+ // These apply to strings — use feminine grammar + ה׳ הידיעה
5717
5825
  if (_issue.format === "starts_with")
5718
- return `מחרוזת לא תקינה: חייבת להתחיל ב"${_issue.prefix}"`;
5826
+ return `המחרוזת חייבת להתחיל ב "${_issue.prefix}"`;
5719
5827
  if (_issue.format === "ends_with")
5720
- return `מחרוזת לא תקינה: חייבת להסתיים ב "${_issue.suffix}"`;
5828
+ return `המחרוזת חייבת להסתיים ב "${_issue.suffix}"`;
5721
5829
  if (_issue.format === "includes")
5722
- return `מחרוזת לא תקינה: חייבת לכלול "${_issue.includes}"`;
5830
+ return `המחרוזת חייבת לכלול "${_issue.includes}"`;
5723
5831
  if (_issue.format === "regex")
5724
- return `מחרוזת לא תקינה: חייבת להתאים לתבנית ${_issue.pattern}`;
5725
- return `${Nouns[_issue.format] ?? issue.format} לא תקין`;
5832
+ return `המחרוזת חייבת להתאים לתבנית ${_issue.pattern}`;
5833
+ // Handle gender agreement for formats
5834
+ const nounEntry = Nouns[_issue.format];
5835
+ const noun = nounEntry?.label ?? _issue.format;
5836
+ const gender = nounEntry?.gender ?? "m";
5837
+ const adjective = gender === "f" ? "תקינה" : "תקין";
5838
+ return `${noun} לא ${adjective}`;
5726
5839
  }
5727
5840
  case "not_multiple_of":
5728
5841
  return `מספר לא תקין: חייב להיות מכפלה של ${issue.divisor}`;
5729
5842
  case "unrecognized_keys":
5730
5843
  return `מפתח${issue.keys.length > 1 ? "ות" : ""} לא מזוה${issue.keys.length > 1 ? "ים" : "ה"}: ${util.joinValues(issue.keys, ", ")}`;
5731
- case "invalid_key":
5732
- return `מפתח לא תקין ב${issue.origin}`;
5844
+ case "invalid_key": {
5845
+ return `שדה לא תקין באובייקט`;
5846
+ }
5733
5847
  case "invalid_union":
5734
5848
  return "קלט לא תקין";
5735
- case "invalid_element":
5736
- return `ערך לא תקין ב${issue.origin}`;
5849
+ case "invalid_element": {
5850
+ const place = withDefinite(issue.origin ?? "array");
5851
+ return `ערך לא תקין ב${place}`;
5852
+ }
5737
5853
  default:
5738
5854
  return `קלט לא תקין`;
5739
5855
  }
@@ -7187,10 +7303,10 @@ const ms_error = () => {
7187
7303
 
7188
7304
  const nl_error = () => {
7189
7305
  const Sizable = {
7190
- string: { unit: "tekens" },
7191
- file: { unit: "bytes" },
7192
- array: { unit: "elementen" },
7193
- set: { unit: "elementen" },
7306
+ string: { unit: "tekens", verb: "te hebben" },
7307
+ file: { unit: "bytes", verb: "te hebben" },
7308
+ array: { unit: "elementen", verb: "te hebben" },
7309
+ set: { unit: "elementen", verb: "te hebben" },
7194
7310
  };
7195
7311
  function getSizing(origin) {
7196
7312
  return Sizable[origin] ?? null;
@@ -7257,16 +7373,16 @@ const nl_error = () => {
7257
7373
  const adj = issue.inclusive ? "<=" : "<";
7258
7374
  const sizing = getSizing(issue.origin);
7259
7375
  if (sizing)
7260
- return `Te lang: verwacht dat ${issue.origin ?? "waarde"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementen"} bevat`;
7261
- return `Te lang: verwacht dat ${issue.origin ?? "waarde"} ${adj}${issue.maximum.toString()} is`;
7376
+ return `Te groot: verwacht dat ${issue.origin ?? "waarde"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementen"}`;
7377
+ return `Te groot: verwacht dat ${issue.origin ?? "waarde"} ${adj}${issue.maximum.toString()} is`;
7262
7378
  }
7263
7379
  case "too_small": {
7264
7380
  const adj = issue.inclusive ? ">=" : ">";
7265
7381
  const sizing = getSizing(issue.origin);
7266
7382
  if (sizing) {
7267
- return `Te kort: verwacht dat ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} bevat`;
7383
+ return `Te klein: verwacht dat ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
7268
7384
  }
7269
- return `Te kort: verwacht dat ${issue.origin} ${adj}${issue.minimum.toString()} is`;
7385
+ return `Te klein: verwacht dat ${issue.origin} ${adj}${issue.minimum.toString()} is`;
7270
7386
  }
7271
7387
  case "invalid_format": {
7272
7388
  const _issue = issue;
@@ -9427,6 +9543,7 @@ const yo_error = () => {
9427
9543
 
9428
9544
 
9429
9545
  ;// CONCATENATED MODULE: ./node_modules/zod/v4/core/registries.js
9546
+ var _a;
9430
9547
  const $output = Symbol("ZodOutput");
9431
9548
  const $input = Symbol("ZodInput");
9432
9549
  class registries_$ZodRegistry {
@@ -9478,12 +9595,14 @@ class registries_$ZodRegistry {
9478
9595
  function registry() {
9479
9596
  return new registries_$ZodRegistry();
9480
9597
  }
9481
- const registries_globalRegistry = /*@__PURE__*/ registry();
9598
+ (_a = globalThis).__zod_globalRegistry ?? (_a.__zod_globalRegistry = registry());
9599
+ const registries_globalRegistry = globalThis.__zod_globalRegistry;
9482
9600
 
9483
9601
  ;// CONCATENATED MODULE: ./node_modules/zod/v4/core/api.js
9484
9602
 
9485
9603
 
9486
9604
 
9605
+
9487
9606
  function _string(Class, params) {
9488
9607
  return new Class({
9489
9608
  type: "string",
@@ -9644,6 +9763,15 @@ function _ipv6(Class, params) {
9644
9763
  ...normalizeParams(params),
9645
9764
  });
9646
9765
  }
9766
+ function _mac(Class, params) {
9767
+ return new Class({
9768
+ type: "string",
9769
+ format: "mac",
9770
+ check: "string_format",
9771
+ abort: false,
9772
+ ...util.normalizeParams(params),
9773
+ });
9774
+ }
9647
9775
  function _cidrv4(Class, params) {
9648
9776
  return new Class({
9649
9777
  type: "string",
@@ -10086,6 +10214,10 @@ function _toLowerCase() {
10086
10214
  function _toUpperCase() {
10087
10215
  return _overwrite((input) => input.toUpperCase());
10088
10216
  }
10217
+ // slugify
10218
+ function _slugify() {
10219
+ return _overwrite((input) => slugify(input));
10220
+ }
10089
10221
  function _array(Class, element, params) {
10090
10222
  return new Class({
10091
10223
  type: "array",
@@ -10333,6 +10465,28 @@ function _check(fn, params) {
10333
10465
  ch._zod.check = fn;
10334
10466
  return ch;
10335
10467
  }
10468
+ function describe(description) {
10469
+ const ch = new $ZodCheck({ check: "describe" });
10470
+ ch._zod.onattach = [
10471
+ (inst) => {
10472
+ const existing = registries_globalRegistry.get(inst) ?? {};
10473
+ registries_globalRegistry.add(inst, { ...existing, description });
10474
+ },
10475
+ ];
10476
+ ch._zod.check = () => { }; // no-op check
10477
+ return ch;
10478
+ }
10479
+ function meta(metadata) {
10480
+ const ch = new $ZodCheck({ check: "meta" });
10481
+ ch._zod.onattach = [
10482
+ (inst) => {
10483
+ const existing = registries_globalRegistry.get(inst) ?? {};
10484
+ registries_globalRegistry.add(inst, { ...existing, ...metadata });
10485
+ },
10486
+ ];
10487
+ ch._zod.check = () => { }; // no-op check
10488
+ return ch;
10489
+ }
10336
10490
  function _stringbool(Classes, _params) {
10337
10491
  const params = util.normalizeParams(_params);
10338
10492
  let truthyArray = params.truthy ?? ["true", "1", "yes", "on", "y", "enabled"];
@@ -10654,11 +10808,19 @@ class JSONSchemaGenerator {
10654
10808
  }
10655
10809
  case "union": {
10656
10810
  const json = _json;
10811
+ // Discriminated unions use oneOf (exactly one match) instead of anyOf (one or more matches)
10812
+ // because the discriminator field ensures mutual exclusivity between options in JSON Schema
10813
+ const isDiscriminated = def.discriminator !== undefined;
10657
10814
  const options = def.options.map((x, i) => this.process(x, {
10658
10815
  ...params,
10659
- path: [...params.path, "anyOf", i],
10816
+ path: [...params.path, isDiscriminated ? "oneOf" : "anyOf", i],
10660
10817
  }));
10661
- json.anyOf = options;
10818
+ if (isDiscriminated) {
10819
+ json.oneOf = options;
10820
+ }
10821
+ else {
10822
+ json.anyOf = options;
10823
+ }
10662
10824
  break;
10663
10825
  }
10664
10826
  case "intersection": {
@@ -11222,102 +11384,57 @@ function isTransforming(_schema, _ctx) {
11222
11384
  if (ctx.seen.has(_schema))
11223
11385
  return false;
11224
11386
  ctx.seen.add(_schema);
11225
- const schema = _schema;
11226
- const def = schema._zod.def;
11227
- switch (def.type) {
11228
- case "string":
11229
- case "number":
11230
- case "bigint":
11231
- case "boolean":
11232
- case "date":
11233
- case "symbol":
11234
- case "undefined":
11235
- case "null":
11236
- case "any":
11237
- case "unknown":
11238
- case "never":
11239
- case "void":
11240
- case "literal":
11241
- case "enum":
11242
- case "nan":
11243
- case "file":
11244
- case "template_literal":
11245
- return false;
11246
- case "array": {
11247
- return isTransforming(def.element, ctx);
11248
- }
11249
- case "object": {
11250
- for (const key in def.shape) {
11251
- if (isTransforming(def.shape[key], ctx))
11252
- return true;
11253
- }
11254
- return false;
11255
- }
11256
- case "union": {
11257
- for (const option of def.options) {
11258
- if (isTransforming(option, ctx))
11259
- return true;
11260
- }
11261
- return false;
11262
- }
11263
- case "intersection": {
11264
- return isTransforming(def.left, ctx) || isTransforming(def.right, ctx);
11265
- }
11266
- case "tuple": {
11267
- for (const item of def.items) {
11268
- if (isTransforming(item, ctx))
11269
- return true;
11270
- }
11271
- if (def.rest && isTransforming(def.rest, ctx))
11387
+ const def = _schema._zod.def;
11388
+ if (def.type === "transform")
11389
+ return true;
11390
+ if (def.type === "array")
11391
+ return isTransforming(def.element, ctx);
11392
+ if (def.type === "set")
11393
+ return isTransforming(def.valueType, ctx);
11394
+ if (def.type === "lazy")
11395
+ return isTransforming(def.getter(), ctx);
11396
+ if (def.type === "promise" ||
11397
+ def.type === "optional" ||
11398
+ def.type === "nonoptional" ||
11399
+ def.type === "nullable" ||
11400
+ def.type === "readonly" ||
11401
+ def.type === "default" ||
11402
+ def.type === "prefault") {
11403
+ return isTransforming(def.innerType, ctx);
11404
+ }
11405
+ if (def.type === "intersection") {
11406
+ return isTransforming(def.left, ctx) || isTransforming(def.right, ctx);
11407
+ }
11408
+ if (def.type === "record" || def.type === "map") {
11409
+ return isTransforming(def.keyType, ctx) || isTransforming(def.valueType, ctx);
11410
+ }
11411
+ if (def.type === "pipe") {
11412
+ return isTransforming(def.in, ctx) || isTransforming(def.out, ctx);
11413
+ }
11414
+ if (def.type === "object") {
11415
+ for (const key in def.shape) {
11416
+ if (isTransforming(def.shape[key], ctx))
11272
11417
  return true;
11273
- return false;
11274
- }
11275
- case "record": {
11276
- return isTransforming(def.keyType, ctx) || isTransforming(def.valueType, ctx);
11277
- }
11278
- case "map": {
11279
- return isTransforming(def.keyType, ctx) || isTransforming(def.valueType, ctx);
11280
- }
11281
- case "set": {
11282
- return isTransforming(def.valueType, ctx);
11283
- }
11284
- // inner types
11285
- case "promise":
11286
- case "optional":
11287
- case "nonoptional":
11288
- case "nullable":
11289
- case "readonly":
11290
- return isTransforming(def.innerType, ctx);
11291
- case "lazy":
11292
- return isTransforming(def.getter(), ctx);
11293
- case "default": {
11294
- return isTransforming(def.innerType, ctx);
11295
11418
  }
11296
- case "prefault": {
11297
- return isTransforming(def.innerType, ctx);
11419
+ return false;
11420
+ }
11421
+ if (def.type === "union") {
11422
+ for (const option of def.options) {
11423
+ if (isTransforming(option, ctx))
11424
+ return true;
11298
11425
  }
11299
- case "custom": {
11300
- return false;
11426
+ return false;
11427
+ }
11428
+ if (def.type === "tuple") {
11429
+ for (const item of def.items) {
11430
+ if (isTransforming(item, ctx))
11431
+ return true;
11301
11432
  }
11302
- case "transform": {
11433
+ if (def.rest && isTransforming(def.rest, ctx))
11303
11434
  return true;
11304
- }
11305
- case "pipe": {
11306
- return isTransforming(def.in, ctx) || isTransforming(def.out, ctx);
11307
- }
11308
- case "success": {
11309
- return false;
11310
- }
11311
- case "catch": {
11312
- return false;
11313
- }
11314
- case "function": {
11315
- return false;
11316
- }
11317
- default:
11318
- def;
11435
+ return false;
11319
11436
  }
11320
- throw new Error(`Unknown schema type: ${def.type}`);
11437
+ return false;
11321
11438
  }
11322
11439
 
11323
11440
  ;// CONCATENATED MODULE: ./node_modules/zod/v4/core/index.js
@@ -11547,6 +11664,7 @@ const _ZodString = /*@__PURE__*/ $constructor("_ZodString", (inst, def) => {
11547
11664
  inst.normalize = (...args) => inst.check(_normalize(...args));
11548
11665
  inst.toLowerCase = () => inst.check(_toLowerCase());
11549
11666
  inst.toUpperCase = () => inst.check(_toUpperCase());
11667
+ inst.slugify = () => inst.check(_slugify());
11550
11668
  });
11551
11669
  const ZodString = /*@__PURE__*/ $constructor("ZodString", (inst, def) => {
11552
11670
  $ZodString.init(inst, def);
@@ -11701,6 +11819,14 @@ const ZodIPv4 = /*@__PURE__*/ $constructor("ZodIPv4", (inst, def) => {
11701
11819
  function schemas_ipv4(params) {
11702
11820
  return core._ipv4(ZodIPv4, params);
11703
11821
  }
11822
+ const ZodMAC = /*@__PURE__*/ (/* unused pure expression or super */ null && (core.$constructor("ZodMAC", (inst, def) => {
11823
+ // ZodStringFormat.init(inst, def);
11824
+ core.$ZodMAC.init(inst, def);
11825
+ ZodStringFormat.init(inst, def);
11826
+ })));
11827
+ function schemas_mac(params) {
11828
+ return core._mac(ZodMAC, params);
11829
+ }
11704
11830
  const ZodIPv6 = /*@__PURE__*/ $constructor("ZodIPv6", (inst, def) => {
11705
11831
  // ZodStringFormat.init(inst, def);
11706
11832
  $ZodIPv6.init(inst, def);
@@ -12448,6 +12574,9 @@ function refine(fn, _params = {}) {
12448
12574
  function superRefine(fn) {
12449
12575
  return _superRefine(fn);
12450
12576
  }
12577
+ // Re-export describe and meta from core
12578
+ const schemas_describe = describe;
12579
+ const schemas_meta = meta;
12451
12580
  function _instanceof(cls, params = {
12452
12581
  error: `Input not instance of ${cls.name}`,
12453
12582
  }) {