keycloakify 10.0.0-rc.8 → 10.0.0-rc.80
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.
- package/PUBLIC_URL.d.ts +1 -1
- package/PUBLIC_URL.js +3 -3
- package/PUBLIC_URL.js.map +1 -1
- package/README.md +2 -3
- package/account/DefaultPage.d.ts +5 -0
- package/account/{Fallback.js → DefaultPage.js} +3 -3
- package/account/DefaultPage.js.map +1 -0
- package/account/{kcContext → KcContext}/KcContext.d.ts +13 -0
- package/account/KcContext/KcContext.js.map +1 -0
- package/account/KcContext/getKcContextMock.d.ts +24 -0
- package/account/KcContext/getKcContextMock.js +28 -0
- package/account/KcContext/getKcContextMock.js.map +1 -0
- package/account/KcContext/index.d.ts +2 -0
- package/account/KcContext/index.js +2 -0
- package/account/KcContext/index.js.map +1 -0
- package/account/{kcContext → KcContext}/kcContextMocks.d.ts +1 -1
- package/account/KcContext/kcContextMocks.js +143 -0
- package/account/KcContext/kcContextMocks.js.map +1 -0
- package/account/Template.d.ts +2 -2
- package/account/Template.js +12 -12
- package/account/Template.js.map +1 -1
- package/account/TemplateProps.d.ts +3 -5
- package/account/i18n/baseMessages/ar.d.ts +2 -0
- package/account/i18n/baseMessages/ar.js +3 -1
- package/account/i18n/baseMessages/ar.js.map +1 -1
- package/account/i18n/baseMessages/ca.d.ts +2 -0
- package/account/i18n/baseMessages/ca.js +3 -1
- package/account/i18n/baseMessages/ca.js.map +1 -1
- package/account/i18n/baseMessages/cs.d.ts +2 -0
- package/account/i18n/baseMessages/cs.js +3 -1
- package/account/i18n/baseMessages/cs.js.map +1 -1
- package/account/i18n/baseMessages/da.d.ts +2 -0
- package/account/i18n/baseMessages/da.js +3 -1
- package/account/i18n/baseMessages/da.js.map +1 -1
- package/account/i18n/baseMessages/de.d.ts +2 -0
- package/account/i18n/baseMessages/de.js +3 -1
- package/account/i18n/baseMessages/de.js.map +1 -1
- package/account/i18n/baseMessages/el.d.ts +2 -0
- package/account/i18n/baseMessages/el.js +3 -1
- package/account/i18n/baseMessages/el.js.map +1 -1
- package/account/i18n/baseMessages/en.d.ts +2 -0
- package/account/i18n/baseMessages/en.js +3 -1
- package/account/i18n/baseMessages/en.js.map +1 -1
- package/account/i18n/baseMessages/es.d.ts +2 -0
- package/account/i18n/baseMessages/es.js +3 -1
- package/account/i18n/baseMessages/es.js.map +1 -1
- package/account/i18n/baseMessages/fa.d.ts +2 -0
- package/account/i18n/baseMessages/fa.js +3 -1
- package/account/i18n/baseMessages/fa.js.map +1 -1
- package/account/i18n/baseMessages/fi.d.ts +2 -0
- package/account/i18n/baseMessages/fi.js +3 -1
- package/account/i18n/baseMessages/fi.js.map +1 -1
- package/account/i18n/baseMessages/fr.d.ts +2 -0
- package/account/i18n/baseMessages/fr.js +3 -1
- package/account/i18n/baseMessages/fr.js.map +1 -1
- package/account/i18n/baseMessages/hu.d.ts +2 -0
- package/account/i18n/baseMessages/hu.js +3 -1
- package/account/i18n/baseMessages/hu.js.map +1 -1
- package/account/i18n/baseMessages/index.d.ts +18 -0
- package/account/i18n/baseMessages/index.js.map +1 -1
- package/account/i18n/baseMessages/it.d.ts +2 -0
- package/account/i18n/baseMessages/it.js +3 -1
- package/account/i18n/baseMessages/it.js.map +1 -1
- package/account/i18n/baseMessages/ja.d.ts +2 -0
- package/account/i18n/baseMessages/ja.js +3 -1
- package/account/i18n/baseMessages/ja.js.map +1 -1
- package/account/i18n/baseMessages/lt.d.ts +2 -0
- package/account/i18n/baseMessages/lt.js +3 -1
- package/account/i18n/baseMessages/lt.js.map +1 -1
- package/account/i18n/baseMessages/lv.d.ts +2 -0
- package/account/i18n/baseMessages/lv.js +3 -1
- package/account/i18n/baseMessages/lv.js.map +1 -1
- package/account/i18n/baseMessages/nl.d.ts +2 -0
- package/account/i18n/baseMessages/nl.js +3 -1
- package/account/i18n/baseMessages/nl.js.map +1 -1
- package/account/i18n/baseMessages/no.d.ts +2 -0
- package/account/i18n/baseMessages/no.js +3 -1
- package/account/i18n/baseMessages/no.js.map +1 -1
- package/account/i18n/baseMessages/pl.d.ts +2 -0
- package/account/i18n/baseMessages/pl.js +3 -1
- package/account/i18n/baseMessages/pl.js.map +1 -1
- package/account/i18n/baseMessages/pt-BR.d.ts +2 -0
- package/account/i18n/baseMessages/pt-BR.js +3 -1
- package/account/i18n/baseMessages/pt-BR.js.map +1 -1
- package/account/i18n/baseMessages/ru.d.ts +2 -0
- package/account/i18n/baseMessages/ru.js +3 -1
- package/account/i18n/baseMessages/ru.js.map +1 -1
- package/account/i18n/baseMessages/sk.d.ts +2 -0
- package/account/i18n/baseMessages/sk.js +3 -1
- package/account/i18n/baseMessages/sk.js.map +1 -1
- package/account/i18n/baseMessages/sv.d.ts +2 -0
- package/account/i18n/baseMessages/sv.js +3 -1
- package/account/i18n/baseMessages/sv.js.map +1 -1
- package/account/i18n/baseMessages/th.d.ts +2 -0
- package/account/i18n/baseMessages/th.js +3 -1
- package/account/i18n/baseMessages/th.js.map +1 -1
- package/account/i18n/baseMessages/tr.d.ts +2 -0
- package/account/i18n/baseMessages/tr.js +3 -1
- package/account/i18n/baseMessages/tr.js.map +1 -1
- package/account/i18n/baseMessages/uk.d.ts +2 -0
- package/account/i18n/baseMessages/uk.js +3 -1
- package/account/i18n/baseMessages/uk.js.map +1 -1
- package/account/i18n/baseMessages/zh-CN.d.ts +2 -0
- package/account/i18n/baseMessages/zh-CN.js +3 -1
- package/account/i18n/baseMessages/zh-CN.js.map +1 -1
- package/account/i18n/i18n.d.ts +34 -35
- package/account/i18n/i18n.js +116 -97
- package/account/i18n/i18n.js.map +1 -1
- package/account/i18n/index.d.ts +5 -1
- package/account/i18n/index.js +2 -1
- package/account/i18n/index.js.map +1 -1
- package/account/i18n/useI18n.d.ts +13 -0
- package/account/i18n/useI18n.js +26 -0
- package/account/i18n/useI18n.js.map +1 -0
- package/account/index.d.ts +3 -7
- package/account/index.js +1 -5
- package/account/index.js.map +1 -1
- package/account/lib/kcClsx.d.ts +9 -0
- package/account/lib/kcClsx.js +19 -0
- package/account/lib/kcClsx.js.map +1 -0
- package/account/pages/Account.d.ts +1 -1
- package/account/pages/Account.js +7 -6
- package/account/pages/Account.js.map +1 -1
- package/account/pages/Applications.d.ts +1 -1
- package/account/pages/Applications.js +7 -8
- package/account/pages/Applications.js.map +1 -1
- package/account/pages/FederatedIdentity.d.ts +3 -3
- package/account/pages/FederatedIdentity.js +1 -1
- package/account/pages/FederatedIdentity.js.map +1 -1
- package/account/pages/Log.d.ts +1 -1
- package/account/pages/Log.js +3 -3
- package/account/pages/Log.js.map +1 -1
- package/account/pages/PageProps.d.ts +4 -6
- package/account/pages/Password.d.ts +1 -1
- package/account/pages/Password.js +16 -13
- package/account/pages/Password.js.map +1 -1
- package/account/pages/Sessions.d.ts +1 -1
- package/account/pages/Sessions.js +3 -4
- package/account/pages/Sessions.js.map +1 -1
- package/account/pages/Totp.d.ts +1 -1
- package/account/pages/Totp.js +5 -10
- package/account/pages/Totp.js.map +1 -1
- package/bin/180.index.js +4664 -0
- package/bin/193.index.js +160 -0
- package/bin/266.index.js +806 -0
- package/bin/304.index.js +1108 -0
- package/bin/36.index.js +9980 -0
- package/bin/430.index.js +1349 -0
- package/bin/440.index.js +1455 -0
- package/bin/453.index.js +769 -0
- package/bin/456.index.js +6200 -0
- package/bin/490.index.js +75195 -0
- package/bin/525.index.js +41826 -0
- package/bin/526.index.js +973 -0
- package/bin/538.index.js +108 -0
- package/bin/720.index.js +243 -0
- package/bin/751.index.js +732 -0
- package/bin/837.index.js +794 -0
- package/bin/877.index.js +275 -0
- package/bin/932.index.js +269 -0
- package/bin/97.index.js +676 -0
- package/bin/main.js +7679 -146380
- package/bin/shared/KeycloakVersionRange.d.ts +5 -0
- package/bin/shared/KeycloakVersionRange.js.map +1 -0
- package/bin/shared/buildContext.d.ts +67 -0
- package/bin/shared/buildContext.js.map +1 -0
- package/bin/shared/constants.d.ts +17 -0
- package/bin/shared/constants.js +58 -0
- package/bin/shared/constants.js.map +1 -0
- package/bin/shared/copyKeycloakResourcesToPublic.d.ts +8 -0
- package/bin/shared/copyKeycloakResourcesToPublic.js.map +1 -0
- package/bin/shared/downloadKeycloakDefaultTheme.d.ts +10 -0
- package/bin/shared/downloadKeycloakDefaultTheme.js.map +1 -0
- package/bin/shared/downloadKeycloakStaticResources.d.ts +9 -0
- package/bin/shared/downloadKeycloakStaticResources.js.map +1 -0
- package/bin/shared/generateKcGenTs.d.ts +12 -0
- package/bin/shared/generateKcGenTs.js.map +1 -0
- package/bin/shared/metaInfKeycloakThemes.d.ts +13 -0
- package/bin/shared/metaInfKeycloakThemes.js.map +1 -0
- package/bin/shared/promptKeycloakVersion.d.ts +7 -0
- package/bin/shared/promptKeycloakVersion.js.map +1 -0
- package/lib/BASE_URL.js.map +1 -1
- package/lib/getKcClsx.d.ts +11 -0
- package/lib/getKcClsx.js +55 -0
- package/lib/getKcClsx.js.map +1 -0
- package/login/{Fallback.d.ts → DefaultPage.d.ts} +7 -6
- package/login/{Fallback.js → DefaultPage.js} +2 -2
- package/login/DefaultPage.js.map +1 -0
- package/login/{kcContext → KcContext}/KcContext.d.ts +36 -17
- package/login/KcContext/KcContext.js.map +1 -0
- package/login/KcContext/getKcContextMock.d.ts +24 -0
- package/login/KcContext/getKcContextMock.js +28 -0
- package/login/KcContext/getKcContextMock.js.map +1 -0
- package/login/KcContext/index.d.ts +2 -0
- package/login/KcContext/index.js +2 -0
- package/login/KcContext/index.js.map +1 -0
- package/login/{kcContext → KcContext}/kcContextMocks.d.ts +1 -1
- package/login/KcContext/kcContextMocks.js +334 -0
- package/login/KcContext/kcContextMocks.js.map +1 -0
- package/login/Template.d.ts +2 -2
- package/login/Template.js +23 -23
- package/login/Template.js.map +1 -1
- package/login/TemplateProps.d.ts +3 -5
- package/login/UserProfileFormFields.d.ts +3 -20
- package/login/UserProfileFormFields.js +78 -122
- package/login/UserProfileFormFields.js.map +1 -1
- package/login/UserProfileFormFieldsProps.d.ts +24 -0
- package/login/UserProfileFormFieldsProps.js +2 -0
- package/login/UserProfileFormFieldsProps.js.map +1 -0
- package/login/i18n/baseMessages/ar.d.ts +9 -0
- package/login/i18n/baseMessages/ar.js +10 -1
- package/login/i18n/baseMessages/ar.js.map +1 -1
- package/login/i18n/baseMessages/ca.d.ts +10 -1
- package/login/i18n/baseMessages/ca.js +11 -2
- package/login/i18n/baseMessages/ca.js.map +1 -1
- package/login/i18n/baseMessages/cs.d.ts +9 -0
- package/login/i18n/baseMessages/cs.js +10 -1
- package/login/i18n/baseMessages/cs.js.map +1 -1
- package/login/i18n/baseMessages/da.d.ts +9 -0
- package/login/i18n/baseMessages/da.js +10 -1
- package/login/i18n/baseMessages/da.js.map +1 -1
- package/login/i18n/baseMessages/de.d.ts +9 -0
- package/login/i18n/baseMessages/de.js +10 -1
- package/login/i18n/baseMessages/de.js.map +1 -1
- package/login/i18n/baseMessages/el.d.ts +9 -1
- package/login/i18n/baseMessages/el.js +10 -2
- package/login/i18n/baseMessages/el.js.map +1 -1
- package/login/i18n/baseMessages/en.d.ts +10 -1
- package/login/i18n/baseMessages/en.js +11 -2
- package/login/i18n/baseMessages/en.js.map +1 -1
- package/login/i18n/baseMessages/es.d.ts +10 -1
- package/login/i18n/baseMessages/es.js +11 -2
- package/login/i18n/baseMessages/es.js.map +1 -1
- package/login/i18n/baseMessages/fa.d.ts +9 -1
- package/login/i18n/baseMessages/fa.js +10 -2
- package/login/i18n/baseMessages/fa.js.map +1 -1
- package/login/i18n/baseMessages/fi.d.ts +9 -0
- package/login/i18n/baseMessages/fi.js +10 -1
- package/login/i18n/baseMessages/fi.js.map +1 -1
- package/login/i18n/baseMessages/fr.d.ts +9 -0
- package/login/i18n/baseMessages/fr.js +10 -1
- package/login/i18n/baseMessages/fr.js.map +1 -1
- package/login/i18n/baseMessages/hu.d.ts +10 -1
- package/login/i18n/baseMessages/hu.js +11 -2
- package/login/i18n/baseMessages/hu.js.map +1 -1
- package/login/i18n/baseMessages/index.d.ts +109 -2
- package/login/i18n/baseMessages/index.js.map +1 -1
- package/login/i18n/baseMessages/it.d.ts +9 -0
- package/login/i18n/baseMessages/it.js +10 -1
- package/login/i18n/baseMessages/it.js.map +1 -1
- package/login/i18n/baseMessages/ja.d.ts +9 -0
- package/login/i18n/baseMessages/ja.js +10 -1
- package/login/i18n/baseMessages/ja.js.map +1 -1
- package/login/i18n/baseMessages/lt.d.ts +9 -0
- package/login/i18n/baseMessages/lt.js +10 -1
- package/login/i18n/baseMessages/lt.js.map +1 -1
- package/login/i18n/baseMessages/lv.d.ts +9 -0
- package/login/i18n/baseMessages/lv.js +10 -1
- package/login/i18n/baseMessages/lv.js.map +1 -1
- package/login/i18n/baseMessages/nl.d.ts +9 -0
- package/login/i18n/baseMessages/nl.js +10 -1
- package/login/i18n/baseMessages/nl.js.map +1 -1
- package/login/i18n/baseMessages/no.d.ts +9 -0
- package/login/i18n/baseMessages/no.js +10 -1
- package/login/i18n/baseMessages/no.js.map +1 -1
- package/login/i18n/baseMessages/pl.d.ts +9 -0
- package/login/i18n/baseMessages/pl.js +10 -1
- package/login/i18n/baseMessages/pl.js.map +1 -1
- package/login/i18n/baseMessages/pt-BR.d.ts +9 -0
- package/login/i18n/baseMessages/pt-BR.js +10 -1
- package/login/i18n/baseMessages/pt-BR.js.map +1 -1
- package/login/i18n/baseMessages/ru.d.ts +9 -0
- package/login/i18n/baseMessages/ru.js +10 -1
- package/login/i18n/baseMessages/ru.js.map +1 -1
- package/login/i18n/baseMessages/sk.d.ts +9 -0
- package/login/i18n/baseMessages/sk.js +10 -1
- package/login/i18n/baseMessages/sk.js.map +1 -1
- package/login/i18n/baseMessages/sv.d.ts +9 -0
- package/login/i18n/baseMessages/sv.js +10 -1
- package/login/i18n/baseMessages/sv.js.map +1 -1
- package/login/i18n/baseMessages/th.d.ts +9 -0
- package/login/i18n/baseMessages/th.js +10 -1
- package/login/i18n/baseMessages/th.js.map +1 -1
- package/login/i18n/baseMessages/tr.d.ts +9 -0
- package/login/i18n/baseMessages/tr.js +10 -1
- package/login/i18n/baseMessages/tr.js.map +1 -1
- package/login/i18n/baseMessages/uk.d.ts +9 -0
- package/login/i18n/baseMessages/uk.js +10 -1
- package/login/i18n/baseMessages/uk.js.map +1 -1
- package/login/i18n/baseMessages/zh-CN.d.ts +10 -1
- package/login/i18n/baseMessages/zh-CN.js +11 -2
- package/login/i18n/baseMessages/zh-CN.js.map +1 -1
- package/login/i18n/i18n.d.ts +38 -37
- package/login/i18n/i18n.js +132 -99
- package/login/i18n/i18n.js.map +1 -1
- package/login/i18n/index.d.ts +5 -1
- package/login/i18n/index.js +2 -1
- package/login/i18n/index.js.map +1 -1
- package/login/i18n/useI18n.d.ts +13 -0
- package/login/i18n/useI18n.js +26 -0
- package/login/i18n/useI18n.js.map +1 -0
- package/login/index.d.ts +3 -7
- package/login/index.js +1 -5
- package/login/index.js.map +1 -1
- package/login/lib/kcClsx.d.ts +9 -0
- package/login/lib/kcClsx.js +130 -0
- package/login/lib/kcClsx.js.map +1 -0
- package/login/lib/useDownloadTerms.d.ts +15 -5
- package/login/lib/useDownloadTerms.js +37 -21
- package/login/lib/useDownloadTerms.js.map +1 -1
- package/login/lib/useUserProfileForm.d.ts +20 -8
- package/login/lib/useUserProfileForm.js +402 -295
- package/login/lib/useUserProfileForm.js.map +1 -1
- package/login/pages/Code.d.ts +1 -1
- package/login/pages/Code.js +3 -3
- package/login/pages/Code.js.map +1 -1
- package/login/pages/DeleteAccountConfirm.d.ts +1 -1
- package/login/pages/DeleteAccountConfirm.js +7 -4
- package/login/pages/DeleteAccountConfirm.js.map +1 -1
- package/login/pages/DeleteCredential.d.ts +1 -1
- package/login/pages/DeleteCredential.js +3 -4
- package/login/pages/DeleteCredential.js.map +1 -1
- package/login/pages/Error.d.ts +1 -1
- package/login/pages/Error.js +1 -1
- package/login/pages/Error.js.map +1 -1
- package/login/pages/FrontchannelLogout.d.ts +1 -1
- package/login/pages/FrontchannelLogout.js +1 -1
- package/login/pages/FrontchannelLogout.js.map +1 -1
- package/login/pages/IdpReviewUserProfile.d.ts +4 -3
- package/login/pages/IdpReviewUserProfile.js +4 -5
- package/login/pages/IdpReviewUserProfile.js.map +1 -1
- package/login/pages/Info.d.ts +1 -1
- package/login/pages/Info.js +5 -7
- package/login/pages/Info.js.map +1 -1
- package/login/pages/Login.d.ts +1 -1
- package/login/pages/Login.js +7 -7
- package/login/pages/Login.js.map +1 -1
- package/login/pages/LoginConfigTotp.d.ts +1 -1
- package/login/pages/LoginConfigTotp.js +6 -7
- package/login/pages/LoginConfigTotp.js.map +1 -1
- package/login/pages/LoginIdpLinkConfirm.d.ts +1 -1
- package/login/pages/LoginIdpLinkConfirm.js +3 -4
- package/login/pages/LoginIdpLinkConfirm.js.map +1 -1
- package/login/pages/LoginIdpLinkEmail.d.ts +2 -2
- package/login/pages/LoginIdpLinkEmail.js +1 -1
- package/login/pages/LoginIdpLinkEmail.js.map +1 -1
- package/login/pages/LoginOauth2DeviceVerifyUserCode.d.ts +3 -3
- package/login/pages/LoginOauth2DeviceVerifyUserCode.js +3 -4
- package/login/pages/LoginOauth2DeviceVerifyUserCode.js.map +1 -1
- package/login/pages/LoginOauthGrant.d.ts +3 -3
- package/login/pages/LoginOauthGrant.js +4 -5
- package/login/pages/LoginOauthGrant.js.map +1 -1
- package/login/pages/LoginOtp.d.ts +1 -1
- package/login/pages/LoginOtp.js +3 -4
- package/login/pages/LoginOtp.js.map +1 -1
- package/login/pages/LoginPageExpired.d.ts +1 -1
- package/login/pages/LoginPageExpired.js +1 -1
- package/login/pages/LoginPageExpired.js.map +1 -1
- package/login/pages/LoginPassword.d.ts +1 -1
- package/login/pages/LoginPassword.js +6 -6
- package/login/pages/LoginPassword.js.map +1 -1
- package/login/pages/LoginRecoveryAuthnCodeConfig.d.ts +1 -1
- package/login/pages/LoginRecoveryAuthnCodeConfig.js +16 -16
- package/login/pages/LoginRecoveryAuthnCodeConfig.js.map +1 -1
- package/login/pages/LoginRecoveryAuthnCodeInput.d.ts +1 -1
- package/login/pages/LoginRecoveryAuthnCodeInput.js +3 -4
- package/login/pages/LoginRecoveryAuthnCodeInput.js.map +1 -1
- package/login/pages/LoginResetOtp.d.ts +1 -1
- package/login/pages/LoginResetOtp.js +3 -4
- package/login/pages/LoginResetOtp.js.map +1 -1
- package/login/pages/LoginResetPassword.d.ts +1 -1
- package/login/pages/LoginResetPassword.js +4 -5
- package/login/pages/LoginResetPassword.js.map +1 -1
- package/login/pages/LoginUpdatePassword.d.ts +1 -1
- package/login/pages/LoginUpdatePassword.js +7 -8
- package/login/pages/LoginUpdatePassword.js.map +1 -1
- package/login/pages/LoginUpdateProfile.d.ts +4 -3
- package/login/pages/LoginUpdateProfile.js +5 -9
- package/login/pages/LoginUpdateProfile.js.map +1 -1
- package/login/pages/LoginUsername.d.ts +1 -1
- package/login/pages/LoginUsername.js +5 -5
- package/login/pages/LoginUsername.js.map +1 -1
- package/login/pages/LoginVerifyEmail.d.ts +1 -1
- package/login/pages/LoginVerifyEmail.js +1 -1
- package/login/pages/LoginVerifyEmail.js.map +1 -1
- package/login/pages/LoginX509Info.d.ts +1 -1
- package/login/pages/LoginX509Info.js +3 -4
- package/login/pages/LoginX509Info.js.map +1 -1
- package/login/pages/LogoutConfirm.d.ts +1 -1
- package/login/pages/LogoutConfirm.js +3 -4
- package/login/pages/LogoutConfirm.js.map +1 -1
- package/login/pages/PageProps.d.ts +3 -5
- package/login/pages/Register.d.ts +4 -3
- package/login/pages/Register.js +12 -17
- package/login/pages/Register.js.map +1 -1
- package/login/pages/SamlPostForm.d.ts +1 -1
- package/login/pages/SamlPostForm.js +1 -1
- package/login/pages/SamlPostForm.js.map +1 -1
- package/login/pages/SelectAuthenticator.d.ts +2 -2
- package/login/pages/SelectAuthenticator.js +3 -7
- package/login/pages/SelectAuthenticator.js.map +1 -1
- package/login/pages/Terms.d.ts +2 -2
- package/login/pages/Terms.js +8 -7
- package/login/pages/Terms.js.map +1 -1
- package/login/pages/UpdateEmail.d.ts +3 -2
- package/login/pages/UpdateEmail.js +6 -10
- package/login/pages/UpdateEmail.js.map +1 -1
- package/login/pages/WebauthnAuthenticate.d.ts +1 -1
- package/login/pages/WebauthnAuthenticate.js +25 -22
- package/login/pages/WebauthnAuthenticate.js.map +1 -1
- package/login/pages/WebauthnError.d.ts +1 -1
- package/login/pages/WebauthnError.js +4 -5
- package/login/pages/WebauthnError.js.map +1 -1
- package/login/pages/WebauthnRegister.d.ts +1 -1
- package/login/pages/WebauthnRegister.js +15 -16
- package/login/pages/WebauthnRegister.js.map +1 -1
- package/package.json +433 -319
- package/src/PUBLIC_URL.ts +3 -3
- package/src/account/{Fallback.tsx → DefaultPage.tsx} +5 -5
- package/src/account/{kcContext → KcContext}/KcContext.ts +24 -2
- package/src/account/KcContext/getKcContextMock.ts +69 -0
- package/src/account/KcContext/index.ts +2 -0
- package/src/account/KcContext/kcContextMocks.ts +190 -0
- package/src/account/Template.tsx +14 -16
- package/src/account/TemplateProps.ts +4 -5
- package/src/account/i18n/baseMessages/ar.ts +3 -1
- package/src/account/i18n/baseMessages/ca.ts +3 -1
- package/src/account/i18n/baseMessages/cs.ts +3 -1
- package/src/account/i18n/baseMessages/da.ts +3 -1
- package/src/account/i18n/baseMessages/de.ts +3 -1
- package/src/account/i18n/baseMessages/el.ts +3 -1
- package/src/account/i18n/baseMessages/en.ts +3 -1
- package/src/account/i18n/baseMessages/es.ts +3 -1
- package/src/account/i18n/baseMessages/fa.ts +3 -1
- package/src/account/i18n/baseMessages/fi.ts +3 -1
- package/src/account/i18n/baseMessages/fr.ts +3 -1
- package/src/account/i18n/baseMessages/hu.ts +3 -1
- package/src/account/i18n/baseMessages/it.ts +3 -1
- package/src/account/i18n/baseMessages/ja.ts +3 -1
- package/src/account/i18n/baseMessages/lt.ts +3 -1
- package/src/account/i18n/baseMessages/lv.ts +3 -1
- package/src/account/i18n/baseMessages/nl.ts +3 -1
- package/src/account/i18n/baseMessages/no.ts +3 -1
- package/src/account/i18n/baseMessages/pl.ts +3 -1
- package/src/account/i18n/baseMessages/pt-BR.ts +3 -1
- package/src/account/i18n/baseMessages/ru.ts +3 -1
- package/src/account/i18n/baseMessages/sk.ts +3 -1
- package/src/account/i18n/baseMessages/sv.ts +3 -1
- package/src/account/i18n/baseMessages/th.ts +3 -1
- package/src/account/i18n/baseMessages/tr.ts +3 -1
- package/src/account/i18n/baseMessages/uk.ts +3 -1
- package/src/account/i18n/baseMessages/zh-CN.ts +3 -1
- package/src/account/i18n/i18n.tsx +201 -142
- package/src/account/i18n/index.ts +5 -1
- package/src/account/i18n/useI18n.ts +44 -0
- package/src/account/index.ts +3 -10
- package/src/account/lib/kcClsx.ts +25 -0
- package/src/account/pages/Account.tsx +12 -18
- package/src/account/pages/Applications.tsx +8 -9
- package/src/account/pages/FederatedIdentity.tsx +3 -3
- package/src/account/pages/Log.tsx +5 -5
- package/src/account/pages/PageProps.ts +4 -6
- package/src/account/pages/Password.tsx +17 -19
- package/src/account/pages/Sessions.tsx +5 -6
- package/src/account/pages/Totp.tsx +18 -38
- package/src/bin/add-story.ts +104 -0
- package/src/bin/copy-keycloak-resources-to-public.ts +3 -6
- package/src/bin/eject-page.ts +256 -0
- package/src/bin/initialize-email-theme.ts +30 -26
- package/src/bin/keycloakify/buildJars/buildJar.ts +138 -77
- package/src/bin/keycloakify/buildJars/buildJars.ts +35 -31
- package/src/bin/keycloakify/buildJars/extensionVersions.ts +3 -2
- package/src/bin/keycloakify/buildJars/generatePom.ts +19 -11
- package/src/bin/keycloakify/buildJars/getKeycloakVersionRangeForJar.ts +42 -10
- package/src/bin/keycloakify/generateFtl/generateFtl.ts +64 -42
- package/src/bin/keycloakify/generateFtl/{ftl_object_to_js_code_declaring_an_object.ftl → kcContextDeclarationTemplate.ftl} +232 -193
- package/src/bin/keycloakify/generateResources/bringInAccountV1.ts +89 -0
- package/src/bin/keycloakify/{generateSrcMainResources → generateResources}/generateMessageProperties.ts +47 -53
- package/src/bin/keycloakify/generateResources/generateResources.ts +42 -0
- package/src/bin/keycloakify/generateResources/generateResourcesForMainTheme.ts +299 -0
- package/src/bin/keycloakify/generateResources/generateResourcesForThemeVariant.ts +70 -0
- package/src/bin/keycloakify/generateResources/index.ts +1 -0
- package/src/bin/keycloakify/{generateSrcMainResources → generateResources}/readExtraPageNames.ts +21 -7
- package/src/bin/keycloakify/{generateSrcMainResources → generateResources}/readFieldNameUsage.ts +34 -7
- package/src/bin/keycloakify/keycloakify.ts +50 -16
- package/src/bin/keycloakify/replacers/replaceImportsInCssCode.ts +42 -46
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.ts +14 -11
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/vite.ts +31 -16
- package/src/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.ts +53 -18
- package/src/bin/main.ts +96 -44
- package/src/bin/shared/KeycloakVersionRange.ts +4 -2
- package/src/bin/shared/buildContext.ts +768 -0
- package/src/bin/shared/constants.ts +8 -4
- package/src/bin/shared/copyKeycloakResourcesToPublic.ts +35 -21
- package/src/bin/shared/downloadKeycloakDefaultTheme.ts +276 -0
- package/src/bin/shared/downloadKeycloakStaticResources.ts +30 -26
- package/src/bin/shared/generateKcGenTs.ts +68 -0
- package/src/bin/shared/metaInfKeycloakThemes.ts +25 -19
- package/src/bin/shared/promptKeycloakVersion.ts +39 -15
- package/src/bin/start-keycloak/appBuild.ts +129 -0
- package/src/bin/start-keycloak/index.ts +1 -0
- package/src/bin/start-keycloak/keycloakifyBuild.ts +42 -0
- package/src/bin/start-keycloak/myrealm-realm-18.json +2155 -0
- package/src/bin/start-keycloak/myrealm-realm-19.json +2186 -0
- package/src/bin/start-keycloak/myrealm-realm-20.json +2197 -0
- package/src/bin/start-keycloak/myrealm-realm-21.json +2201 -0
- package/src/bin/start-keycloak/myrealm-realm-23.json +2150 -0
- package/src/bin/start-keycloak/myrealm-realm-24.json +2318 -0
- package/src/bin/start-keycloak/myrealm-realm-25.json +2400 -0
- package/src/bin/start-keycloak/start-keycloak.ts +451 -0
- package/src/bin/tools/SemVer.ts +32 -13
- package/src/bin/tools/String.prototype.replaceAll.ts +9 -2
- package/src/bin/tools/crawl.ts +4 -1
- package/src/bin/tools/crc32.ts +42 -24
- package/src/bin/tools/downloadAndExtractArchive/downloadAndExtractArchive.ts +262 -0
- package/src/bin/tools/{fetchProxyOptions.ts → downloadAndExtractArchive/fetchProxyOptions.ts} +39 -8
- package/src/bin/tools/downloadAndExtractArchive/index.ts +1 -0
- package/src/bin/tools/escapeStringForPropertiesFile.ts +64 -0
- package/src/bin/tools/extractArchive.ts +140 -0
- package/src/bin/tools/getAbsoluteAndInOsFormatPath.ts +10 -2
- package/src/bin/tools/getNpmWorkspaceRootDirPath.ts +52 -6
- package/src/bin/tools/octokit-addons/getLatestsSemVersionedTag.ts +8 -2
- package/src/bin/tools/octokit-addons/listTags.ts +15 -4
- package/src/bin/tools/partitionPromiseSettledResults.ts +12 -3
- package/src/bin/tools/readThisNpmPackageVersion.ts +5 -1
- package/src/bin/tools/transformCodebase.ts +29 -10
- package/src/bin/tools/trimIndent.ts +4 -1
- package/src/bin/tsconfig.json +4 -3
- package/src/bin/update-kc-gen.ts +13 -0
- package/src/lib/getKcClsx.ts +89 -0
- package/src/login/{Fallback.tsx → DefaultPage.tsx} +7 -6
- package/src/login/{kcContext → KcContext}/KcContext.ts +58 -30
- package/src/login/KcContext/getKcContextMock.ts +69 -0
- package/src/login/KcContext/index.ts +8 -0
- package/src/login/KcContext/kcContextMocks.ts +583 -0
- package/src/login/Template.tsx +54 -57
- package/src/login/TemplateProps.ts +3 -6
- package/src/login/UserProfileFormFields.tsx +125 -210
- package/src/login/UserProfileFormFieldsProps.tsx +22 -0
- package/src/login/i18n/baseMessages/ar.ts +10 -1
- package/src/login/i18n/baseMessages/ca.ts +11 -2
- package/src/login/i18n/baseMessages/cs.ts +10 -1
- package/src/login/i18n/baseMessages/da.ts +10 -1
- package/src/login/i18n/baseMessages/de.ts +10 -1
- package/src/login/i18n/baseMessages/el.ts +10 -2
- package/src/login/i18n/baseMessages/en.ts +11 -2
- package/src/login/i18n/baseMessages/es.ts +11 -2
- package/src/login/i18n/baseMessages/fa.ts +10 -2
- package/src/login/i18n/baseMessages/fi.ts +10 -1
- package/src/login/i18n/baseMessages/fr.ts +10 -1
- package/src/login/i18n/baseMessages/hu.ts +11 -2
- package/src/login/i18n/baseMessages/it.ts +10 -1
- package/src/login/i18n/baseMessages/ja.ts +10 -1
- package/src/login/i18n/baseMessages/lt.ts +10 -1
- package/src/login/i18n/baseMessages/lv.ts +10 -1
- package/src/login/i18n/baseMessages/nl.ts +10 -1
- package/src/login/i18n/baseMessages/no.ts +10 -1
- package/src/login/i18n/baseMessages/pl.ts +10 -1
- package/src/login/i18n/baseMessages/pt-BR.ts +10 -1
- package/src/login/i18n/baseMessages/ru.ts +10 -1
- package/src/login/i18n/baseMessages/sk.ts +10 -1
- package/src/login/i18n/baseMessages/sv.ts +10 -1
- package/src/login/i18n/baseMessages/th.ts +10 -1
- package/src/login/i18n/baseMessages/tr.ts +10 -1
- package/src/login/i18n/baseMessages/uk.ts +10 -1
- package/src/login/i18n/baseMessages/zh-CN.ts +11 -2
- package/src/login/i18n/i18n.tsx +231 -143
- package/src/login/i18n/index.ts +5 -1
- package/src/login/i18n/useI18n.ts +44 -0
- package/src/login/index.ts +3 -10
- package/src/login/lib/kcClsx.ts +143 -0
- package/src/login/lib/useDownloadTerms.tsx +88 -0
- package/src/login/lib/useUserProfileForm.tsx +480 -351
- package/src/login/pages/Code.tsx +8 -5
- package/src/login/pages/DeleteAccountConfirm.tsx +15 -10
- package/src/login/pages/DeleteCredential.tsx +9 -7
- package/src/login/pages/Error.tsx +9 -2
- package/src/login/pages/FrontchannelLogout.tsx +6 -3
- package/src/login/pages/IdpReviewUserProfile.tsx +20 -21
- package/src/login/pages/Info.tsx +5 -8
- package/src/login/pages/Login.tsx +34 -53
- package/src/login/pages/LoginConfigTotp.tsx +35 -39
- package/src/login/pages/LoginIdpLinkConfirm.tsx +7 -18
- package/src/login/pages/LoginIdpLinkEmail.tsx +9 -3
- package/src/login/pages/LoginOauth2DeviceVerifyUserCode.tsx +24 -23
- package/src/login/pages/LoginOauthGrant.tsx +14 -20
- package/src/login/pages/LoginOtp.tsx +27 -30
- package/src/login/pages/LoginPageExpired.tsx +2 -2
- package/src/login/pages/LoginPassword.tsx +21 -31
- package/src/login/pages/LoginRecoveryAuthnCodeConfig.tsx +34 -34
- package/src/login/pages/LoginRecoveryAuthnCodeInput.tsx +19 -22
- package/src/login/pages/LoginResetOtp.tsx +19 -22
- package/src/login/pages/LoginResetPassword.tsx +21 -24
- package/src/login/pages/LoginUpdatePassword.tsx +40 -50
- package/src/login/pages/LoginUpdateProfile.tsx +32 -30
- package/src/login/pages/LoginUsername.tsx +23 -34
- package/src/login/pages/LoginVerifyEmail.tsx +5 -2
- package/src/login/pages/LoginX509Info.tsx +24 -33
- package/src/login/pages/LogoutConfirm.tsx +8 -14
- package/src/login/pages/PageProps.ts +3 -5
- package/src/login/pages/Register.tsx +48 -59
- package/src/login/pages/SamlPostForm.tsx +2 -2
- package/src/login/pages/SelectAuthenticator.tsx +23 -24
- package/src/login/pages/Terms.tsx +25 -24
- package/src/login/pages/UpdateEmail.tsx +30 -33
- package/src/login/pages/WebauthnAuthenticate.tsx +40 -44
- package/src/login/pages/WebauthnError.tsx +15 -19
- package/src/login/pages/WebauthnRegister.tsx +28 -37
- package/src/tools/Array.prototype.every.ts +4 -1
- package/src/tools/ExtractAfterStartingWith.ts +4 -0
- package/src/tools/LazyOrNot.ts +3 -1
- package/src/tools/Object.fromEntries.ts +23 -0
- package/src/tools/StatefulObservable/README.md +16 -0
- package/src/tools/StatefulObservable/StatefulObservable.ts +58 -0
- package/src/tools/StatefulObservable/hooks/index.ts +2 -0
- package/src/tools/StatefulObservable/hooks/useObservable.ts +25 -0
- package/src/tools/StatefulObservable/hooks/useRerenderOnChange.ts +19 -0
- package/src/tools/StatefulObservable/index.ts +2 -0
- package/src/tools/ValueOf.ts +2 -0
- package/src/tools/clsx.ts +6 -42
- package/src/tools/clsx_withTransform.ts +55 -0
- package/src/tools/deepAssign.ts +57 -19
- package/src/tools/formatNumber.ts +7 -3
- package/src/tools/react-markdown.ts +3 -0
- package/src/tools/structuredCloneButFunctions.ts +24 -0
- package/src/tools/useConstCallback.ts +3 -1
- package/src/tools/useInsertLinkTags.ts +78 -74
- package/src/tools/useInsertScriptTags.ts +69 -73
- package/src/tools/useOnFirstMount.ts +18 -0
- package/src/tools/useSetClassName.ts +4 -1
- package/src/vite-plugin/vite-plugin.ts +73 -37
- package/stories/account/pages/Account.stories.tsx +18 -0
- package/stories/account/pages/FederatedIdentity.stories.tsx +38 -0
- package/stories/account/pages/Log.stories.tsx +356 -0
- package/stories/account/pages/Password.stories.tsx +28 -0
- package/stories/account/pages/Sessions.stories.tsx +59 -0
- package/stories/account/pages/Totp.stories.tsx +182 -0
- package/stories/login/pages/Code.stories.tsx +18 -0
- package/stories/login/pages/DeleteAccountConfirm.stories.tsx +18 -0
- package/stories/login/pages/DeleteCredential.stories.tsx +18 -0
- package/stories/login/pages/Error.stories.tsx +28 -0
- package/stories/login/pages/FrontchannelLogout.stories.tsx +18 -0
- package/stories/login/pages/IdpReviewUserProfile.stories.tsx +18 -0
- package/stories/login/pages/Info.stories.tsx +52 -0
- package/stories/login/pages/Login.stories.tsx +221 -0
- package/stories/login/pages/LoginConfigTotp.stories.tsx +43 -0
- package/stories/login/pages/LoginDeviceVerifyUserCode.stories.tsx +18 -0
- package/stories/login/pages/LoginIdpLinkConfirm.stories.tsx +18 -0
- package/stories/login/pages/LoginIdpLinkEmail.stories.tsx +18 -0
- package/stories/login/pages/LoginOauth2DeviceVerifyUserCode.stories.tsx +18 -0
- package/stories/login/pages/LoginOauthGrant.stories.tsx +18 -0
- package/stories/login/pages/LoginOtp.stories.tsx +18 -0
- package/stories/login/pages/LoginPageExpired.stories.tsx +18 -0
- package/stories/login/pages/LoginPassword.stories.tsx +18 -0
- package/stories/login/pages/LoginRecoveryAuthnCodeConfig.stories.tsx +18 -0
- package/stories/login/pages/LoginRecoveryAuthnCodeInput.stories.tsx +18 -0
- package/stories/login/pages/LoginResetOtp.stories.tsx +18 -0
- package/stories/login/pages/LoginResetPassword.stories.tsx +31 -0
- package/stories/login/pages/LoginUpdatePassword.stories.tsx +18 -0
- package/stories/login/pages/LoginUpdateProfile.stories.tsx +18 -0
- package/stories/login/pages/LoginUsername.stories.tsx +31 -0
- package/stories/login/pages/LoginVerifyEmail.stories.tsx +30 -0
- package/stories/login/pages/LoginX509Info.stories.tsx +18 -0
- package/stories/login/pages/LogoutConfirm.stories.tsx +18 -0
- package/stories/login/pages/Register.stories.tsx +135 -0
- package/stories/login/pages/SamlPostForm.stories.tsx +18 -0
- package/stories/login/pages/SelectAuthenticator.stories.tsx +43 -0
- package/stories/login/pages/Terms.stories.tsx +42 -0
- package/stories/login/pages/UpdateEmail.stories.tsx +18 -0
- package/stories/login/pages/WebauthnAuthenticate.stories.tsx +18 -0
- package/stories/login/pages/WebauthnError.stories.tsx +18 -0
- package/stories/login/pages/WebauthnRegister.stories.tsx +18 -0
- package/tools/Array.prototype.every.js +2 -1
- package/tools/Array.prototype.every.js.map +1 -1
- package/tools/ExtractAfterStartingWith.d.ts +1 -0
- package/tools/ExtractAfterStartingWith.js +2 -0
- package/tools/ExtractAfterStartingWith.js.map +1 -0
- package/tools/HTMLElement.prototype.prepend.js.map +1 -1
- package/tools/Object.fromEntries.d.ts +1 -0
- package/tools/Object.fromEntries.js +17 -0
- package/tools/Object.fromEntries.js.map +1 -0
- package/tools/StatefulObservable/StatefulObservable.d.ts +8 -0
- package/tools/StatefulObservable/StatefulObservable.js +36 -0
- package/tools/StatefulObservable/StatefulObservable.js.map +1 -0
- package/tools/StatefulObservable/hooks/index.d.ts +2 -0
- package/tools/StatefulObservable/hooks/index.js +3 -0
- package/tools/StatefulObservable/hooks/index.js.map +1 -0
- package/tools/StatefulObservable/hooks/useObservable.d.ts +8 -0
- package/tools/StatefulObservable/hooks/useObservable.js +17 -0
- package/tools/StatefulObservable/hooks/useObservable.js.map +1 -0
- package/tools/StatefulObservable/hooks/useRerenderOnChange.d.ts +5 -0
- package/tools/StatefulObservable/hooks/useRerenderOnChange.js +14 -0
- package/tools/StatefulObservable/hooks/useRerenderOnChange.js.map +1 -0
- package/tools/StatefulObservable/index.d.ts +2 -0
- package/tools/StatefulObservable/index.js +3 -0
- package/tools/StatefulObservable/index.js.map +1 -0
- package/tools/ValueOf.d.ts +2 -0
- package/tools/ValueOf.js +2 -0
- package/tools/ValueOf.js.map +1 -0
- package/tools/clsx.d.ts +3 -2
- package/tools/clsx.js +5 -41
- package/tools/clsx.js.map +1 -1
- package/tools/clsx_withTransform.d.ts +5 -0
- package/tools/clsx_withTransform.js +43 -0
- package/tools/clsx_withTransform.js.map +1 -0
- package/tools/deepAssign.d.ts +1 -0
- package/tools/deepAssign.js +41 -16
- package/tools/deepAssign.js.map +1 -1
- package/tools/formatNumber.js +2 -1
- package/tools/formatNumber.js.map +1 -1
- package/tools/react-markdown.d.ts +3 -0
- package/tools/react-markdown.js +4 -0
- package/tools/react-markdown.js.map +1 -0
- package/tools/structuredCloneButFunctions.d.ts +7 -0
- package/tools/structuredCloneButFunctions.js +19 -0
- package/tools/structuredCloneButFunctions.js.map +1 -0
- package/tools/useConstCallback.js.map +1 -1
- package/tools/useInsertLinkTags.d.ts +11 -6
- package/tools/useInsertLinkTags.js +53 -52
- package/tools/useInsertLinkTags.js.map +1 -1
- package/tools/useInsertScriptTags.d.ts +15 -6
- package/tools/useInsertScriptTags.js +56 -61
- package/tools/useInsertScriptTags.js.map +1 -1
- package/tools/useOnFirstMount.d.ts +2 -0
- package/tools/useOnFirstMount.js +15 -0
- package/tools/useOnFirstMount.js.map +1 -0
- package/tools/useSetClassName.js.map +1 -1
- package/vite-plugin/index.d.ts +1 -0
- package/vite-plugin/index.js +53394 -0
- package/vite-plugin/vite-plugin.d.ts +5 -0
- package/account/Fallback.d.ts +0 -5
- package/account/Fallback.js.map +0 -1
- package/account/kcContext/KcContext.js.map +0 -1
- package/account/kcContext/createGetKcContext.d.ts +0 -19
- package/account/kcContext/createGetKcContext.js +0 -73
- package/account/kcContext/createGetKcContext.js.map +0 -1
- package/account/kcContext/getKcContext.d.ts +0 -13
- package/account/kcContext/getKcContext.js +0 -13
- package/account/kcContext/getKcContext.js.map +0 -1
- package/account/kcContext/getKcContextFromWindow.d.ts +0 -8
- package/account/kcContext/getKcContextFromWindow.js +0 -5
- package/account/kcContext/getKcContextFromWindow.js.map +0 -1
- package/account/kcContext/index.d.ts +0 -1
- package/account/kcContext/index.js +0 -2
- package/account/kcContext/index.js.map +0 -1
- package/account/kcContext/kcContextMocks.js +0 -215
- package/account/kcContext/kcContextMocks.js.map +0 -1
- package/account/lib/useGetClassName.d.ts +0 -7
- package/account/lib/useGetClassName.js +0 -19
- package/account/lib/useGetClassName.js.map +0 -1
- package/lib/isStorybook.d.ts +0 -1
- package/lib/isStorybook.js +0 -2
- package/lib/isStorybook.js.map +0 -1
- package/lib/useGetClassName.d.ts +0 -10
- package/lib/useGetClassName.js +0 -14
- package/lib/useGetClassName.js.map +0 -1
- package/login/Fallback.js.map +0 -1
- package/login/kcContext/KcContext.js.map +0 -1
- package/login/kcContext/createGetKcContext.d.ts +0 -19
- package/login/kcContext/createGetKcContext.js +0 -109
- package/login/kcContext/createGetKcContext.js.map +0 -1
- package/login/kcContext/getKcContext.d.ts +0 -13
- package/login/kcContext/getKcContext.js +0 -13
- package/login/kcContext/getKcContext.js.map +0 -1
- package/login/kcContext/getKcContextFromWindow.d.ts +0 -8
- package/login/kcContext/getKcContextFromWindow.js +0 -5
- package/login/kcContext/getKcContextFromWindow.js.map +0 -1
- package/login/kcContext/index.d.ts +0 -1
- package/login/kcContext/index.js +0 -2
- package/login/kcContext/index.js.map +0 -1
- package/login/kcContext/kcContextMocks.js +0 -390
- package/login/kcContext/kcContextMocks.js.map +0 -1
- package/login/lib/useGetClassName.d.ts +0 -7
- package/login/lib/useGetClassName.js +0 -130
- package/login/lib/useGetClassName.js.map +0 -1
- package/src/account/kcContext/createGetKcContext.ts +0 -108
- package/src/account/kcContext/getKcContext.ts +0 -21
- package/src/account/kcContext/getKcContextFromWindow.ts +0 -11
- package/src/account/kcContext/index.ts +0 -1
- package/src/account/kcContext/kcContextMocks.ts +0 -260
- package/src/account/lib/useGetClassName.ts +0 -20
- package/src/bin/download-builtin-keycloak-theme.ts +0 -30
- package/src/bin/eject-keycloak-page.ts +0 -126
- package/src/bin/keycloakify/generateSrcMainResources/bringInAccountV1.ts +0 -79
- package/src/bin/keycloakify/generateSrcMainResources/generateSrcMainResources.ts +0 -32
- package/src/bin/keycloakify/generateSrcMainResources/generateSrcMainResourcesForMainTheme.ts +0 -261
- package/src/bin/keycloakify/generateSrcMainResources/generateSrcMainResourcesForThemeVariant.ts +0 -56
- package/src/bin/keycloakify/generateSrcMainResources/index.ts +0 -1
- package/src/bin/keycloakify/generateStartKeycloakTestingContainer.ts +0 -60
- package/src/bin/keycloakify/replacers/replaceImportsInInlineCssCode.ts +0 -24
- package/src/bin/shared/buildOptions.ts +0 -277
- package/src/bin/shared/downloadAndUnzip.ts +0 -203
- package/src/bin/shared/downloadBuiltinKeycloakTheme.ts +0 -264
- package/src/bin/shared/getJarFileBasename.ts +0 -9
- package/src/bin/shared/getThemeSrcDirPath.ts +0 -47
- package/src/bin/start-keycloak.ts +0 -236
- package/src/bin/tools/unzip.ts +0 -141
- package/src/lib/isStorybook.ts +0 -1
- package/src/lib/useGetClassName.ts +0 -18
- package/src/login/kcContext/createGetKcContext.ts +0 -159
- package/src/login/kcContext/getKcContext.ts +0 -21
- package/src/login/kcContext/getKcContextFromWindow.ts +0 -11
- package/src/login/kcContext/index.ts +0 -1
- package/src/login/kcContext/kcContextMocks.ts +0 -630
- package/src/login/lib/useDownloadTerms.ts +0 -57
- package/src/login/lib/useGetClassName.ts +0 -132
- package/src/tools/AndByDiscriminatingKey.ts +0 -25
- package/src/tools/Markdown.ts +0 -3
- package/src/tools/deepClone.ts +0 -17
- package/src/tools/memoize.ts +0 -55
- package/tools/AndByDiscriminatingKey.d.ts +0 -5
- package/tools/AndByDiscriminatingKey.js +0 -2
- package/tools/AndByDiscriminatingKey.js.map +0 -1
- package/tools/Markdown.d.ts +0 -2
- package/tools/Markdown.js +0 -3
- package/tools/Markdown.js.map +0 -1
- package/tools/deepClone.d.ts +0 -2
- package/tools/deepClone.js +0 -14
- package/tools/deepClone.js.map +0 -1
- package/tools/memoize.d.ts +0 -7
- package/tools/memoize.js +0 -38
- package/tools/memoize.js.map +0 -1
- /package/account/{kcContext → KcContext}/KcContext.js +0 -0
- /package/login/{kcContext → KcContext}/KcContext.js +0 -0
@@ -12,22 +12,24 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
13
13
|
import "../../tools/Array.prototype.every";
|
14
14
|
import { useMemo, useReducer, useEffect, Fragment } from "react";
|
15
|
+
import { assert } from "tsafe/assert";
|
15
16
|
import { id } from "tsafe/id";
|
17
|
+
import { structuredCloneButFunctions } from "../../tools/structuredCloneButFunctions";
|
16
18
|
import { useConstCallback } from "../../tools/useConstCallback";
|
17
19
|
import { emailRegexp } from "../../tools/emailRegExp";
|
18
|
-
import { assert } from "tsafe/assert";
|
19
20
|
import { formatNumber } from "../../tools/formatNumber";
|
20
|
-
import {
|
21
|
-
|
21
|
+
import { useInsertScriptTags } from "../../tools/useInsertScriptTags";
|
22
|
+
assert();
|
22
23
|
export function useUserProfileForm(params) {
|
23
24
|
var _a, _b;
|
24
25
|
const { kcContext, i18n, doMakeUserConfirmPassword } = params;
|
25
26
|
const { insertScriptTags } = useInsertScriptTags({
|
26
|
-
"
|
27
|
+
componentOrHookName: "useUserProfileForm",
|
28
|
+
scriptTags: Object.keys((_b = (_a = kcContext.profile) === null || _a === void 0 ? void 0 : _a.html5DataAnnotations) !== null && _b !== void 0 ? _b : {})
|
27
29
|
.filter(key => key !== "kcMultivalued" && key !== "kcNumberFormat") // NOTE: Keycloakify handles it.
|
28
30
|
.map(key => ({
|
29
|
-
|
30
|
-
|
31
|
+
type: "module",
|
32
|
+
src: `${kcContext.url.resourcesPath}/js/${key}.js`
|
31
33
|
}))
|
32
34
|
});
|
33
35
|
useEffect(() => {
|
@@ -38,170 +40,213 @@ export function useUserProfileForm(params) {
|
|
38
40
|
i18n
|
39
41
|
});
|
40
42
|
const initialState = useMemo(() => {
|
43
|
+
var _a, _b;
|
41
44
|
// NOTE: We don't use te kcContext.profile.attributes directly because
|
42
45
|
// they don't includes the password and password confirm fields and we want to add them.
|
43
|
-
//
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
}
|
78
|
-
})()
|
79
|
-
});
|
46
|
+
// We also want to apply some retro-compatibility and consistency patches.
|
47
|
+
const attributes = (() => {
|
48
|
+
var _a;
|
49
|
+
mock_user_profile_attributes_for_older_keycloak_versions: {
|
50
|
+
if ("profile" in kcContext &&
|
51
|
+
"attributesByName" in kcContext.profile &&
|
52
|
+
Object.keys(kcContext.profile.attributesByName).length !== 0) {
|
53
|
+
break mock_user_profile_attributes_for_older_keycloak_versions;
|
54
|
+
}
|
55
|
+
if ("register" in kcContext && kcContext.register instanceof Object && "formData" in kcContext.register) {
|
56
|
+
//NOTE: Handle legacy register.ftl page
|
57
|
+
return ["firstName", "lastName", "email", "username"]
|
58
|
+
.filter(name => (name !== "username" ? true : !kcContext.realm.registrationEmailAsUsername))
|
59
|
+
.map(name => {
|
60
|
+
var _a;
|
61
|
+
return id({
|
62
|
+
name: name,
|
63
|
+
displayName: id(`\${${name}}`),
|
64
|
+
required: true,
|
65
|
+
value: (_a = kcContext.register.formData[name]) !== null && _a !== void 0 ? _a : "",
|
66
|
+
html5DataAnnotations: {},
|
67
|
+
readOnly: false,
|
68
|
+
validators: {},
|
69
|
+
annotations: {},
|
70
|
+
autocomplete: (() => {
|
71
|
+
switch (name) {
|
72
|
+
case "email":
|
73
|
+
return "email";
|
74
|
+
case "username":
|
75
|
+
return "username";
|
76
|
+
default:
|
77
|
+
return undefined;
|
78
|
+
}
|
79
|
+
})()
|
80
80
|
});
|
81
|
-
}
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
}
|
107
|
-
})
|
81
|
+
});
|
82
|
+
}
|
83
|
+
if ("user" in kcContext && kcContext.user instanceof Object) {
|
84
|
+
//NOTE: Handle legacy login-update-profile.ftl
|
85
|
+
return ["username", "email", "firstName", "lastName"]
|
86
|
+
.filter(name => (name !== "username" ? true : kcContext.user.editUsernameAllowed))
|
87
|
+
.map(name => {
|
88
|
+
var _a;
|
89
|
+
return id({
|
90
|
+
name: name,
|
91
|
+
displayName: id(`\${${name}}`),
|
92
|
+
required: true,
|
93
|
+
value: (_a = kcContext.user[name]) !== null && _a !== void 0 ? _a : "",
|
94
|
+
html5DataAnnotations: {},
|
95
|
+
readOnly: false,
|
96
|
+
validators: {},
|
97
|
+
annotations: {},
|
98
|
+
autocomplete: (() => {
|
99
|
+
switch (name) {
|
100
|
+
case "email":
|
101
|
+
return "email";
|
102
|
+
case "username":
|
103
|
+
return "username";
|
104
|
+
default:
|
105
|
+
return undefined;
|
106
|
+
}
|
107
|
+
})()
|
108
108
|
});
|
109
|
-
}
|
110
|
-
if ("email" in kcContext && kcContext.email instanceof Object) {
|
111
|
-
//NOTE: Handle legacy update-email.ftl
|
112
|
-
return [
|
113
|
-
id({
|
114
|
-
"name": "email",
|
115
|
-
"displayName": id(`\${email}`),
|
116
|
-
"required": true,
|
117
|
-
"value": (_a = kcContext.email.value) !== null && _a !== void 0 ? _a : "",
|
118
|
-
"html5DataAnnotations": {},
|
119
|
-
"readOnly": false,
|
120
|
-
"validators": {},
|
121
|
-
"annotations": {},
|
122
|
-
"autocomplete": "email"
|
123
|
-
})
|
124
|
-
];
|
125
|
-
}
|
126
|
-
assert(false, "Unable to mock user profile from the current kcContext");
|
127
|
-
}
|
128
|
-
return kcContext.profile.attributes.map(attribute_pre_group_patch => {
|
129
|
-
if (typeof attribute_pre_group_patch.group === "string" && attribute_pre_group_patch.group !== "") {
|
130
|
-
const _a = attribute_pre_group_patch, { group, groupDisplayHeader, groupDisplayDescription, groupAnnotations } = _a, rest = __rest(_a, ["group", "groupDisplayHeader", "groupDisplayDescription", "groupAnnotations"]);
|
131
|
-
return id(Object.assign(Object.assign({}, rest), { "group": {
|
132
|
-
"name": group,
|
133
|
-
"displayHeader": groupDisplayHeader,
|
134
|
-
"displayDescription": groupDisplayDescription,
|
135
|
-
"html5DataAnnotations": {}
|
136
|
-
} }));
|
137
|
-
}
|
138
|
-
return attribute_pre_group_patch;
|
139
|
-
});
|
140
|
-
})();
|
141
|
-
for (const attribute of attributes) {
|
142
|
-
syntheticAttributes.push(attribute);
|
143
|
-
add_password_and_password_confirm: {
|
144
|
-
if (!kcContext.passwordRequired) {
|
145
|
-
break add_password_and_password_confirm;
|
146
|
-
}
|
147
|
-
if (attribute.name !== (kcContext.realm.registrationEmailAsUsername ? "email" : "username")) {
|
148
|
-
// NOTE: We want to add password and password-confirm after the field that identifies the user.
|
149
|
-
// It's either email or username.
|
150
|
-
break add_password_and_password_confirm;
|
151
|
-
}
|
152
|
-
syntheticAttributes.push(Object.assign({ "name": "password", "displayName": id("${password}"), "required": true, "readOnly": false, "validators": {}, "annotations": {}, "autocomplete": "new-password", "html5DataAnnotations": {} }, { "groupAnnotations": {} }), Object.assign({ "name": "password-confirm", "displayName": id("${passwordConfirm}"), "required": true, "readOnly": false, "validators": {}, "annotations": {}, "html5DataAnnotations": {}, "autocomplete": "new-password" }, { "groupAnnotations": {} }));
|
109
|
+
});
|
153
110
|
}
|
154
|
-
|
155
|
-
|
111
|
+
if ("email" in kcContext && kcContext.email instanceof Object) {
|
112
|
+
//NOTE: Handle legacy update-email.ftl
|
113
|
+
return [
|
114
|
+
id({
|
115
|
+
name: "email",
|
116
|
+
displayName: id(`\${email}`),
|
117
|
+
required: true,
|
118
|
+
value: (_a = kcContext.email.value) !== null && _a !== void 0 ? _a : "",
|
119
|
+
html5DataAnnotations: {},
|
120
|
+
readOnly: false,
|
121
|
+
validators: {},
|
122
|
+
annotations: {},
|
123
|
+
autocomplete: "email"
|
124
|
+
})
|
125
|
+
];
|
126
|
+
}
|
127
|
+
assert(false, "Unable to mock user profile from the current kcContext");
|
128
|
+
}
|
129
|
+
return Object.values(kcContext.profile.attributesByName).map(structuredCloneButFunctions);
|
156
130
|
})();
|
157
|
-
|
131
|
+
// Retro-compatibility and consistency patches
|
132
|
+
attributes.forEach(attribute => {
|
158
133
|
var _a, _b, _c;
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
134
|
+
patch_legacy_group: {
|
135
|
+
if (typeof attribute.group !== "string") {
|
136
|
+
break patch_legacy_group;
|
137
|
+
}
|
138
|
+
const { group, groupDisplayHeader, groupDisplayDescription /*, groupAnnotations*/ } = attribute;
|
139
|
+
delete attribute.group;
|
140
|
+
// @ts-expect-error
|
141
|
+
delete attribute.groupDisplayHeader;
|
142
|
+
// @ts-expect-error
|
143
|
+
delete attribute.groupDisplayDescription;
|
144
|
+
// @ts-expect-error
|
145
|
+
delete attribute.groupAnnotations;
|
146
|
+
if (group === "") {
|
147
|
+
break patch_legacy_group;
|
148
|
+
}
|
149
|
+
attribute.group = {
|
150
|
+
name: group,
|
151
|
+
displayHeader: groupDisplayHeader,
|
152
|
+
displayDescription: groupDisplayDescription,
|
153
|
+
html5DataAnnotations: {}
|
154
|
+
};
|
155
|
+
}
|
156
|
+
// Attributes with options rendered by default as select inputs
|
157
|
+
if (attribute.validators.options !== undefined && attribute.annotations.inputType === undefined) {
|
158
|
+
attribute.annotations.inputType = "select";
|
159
|
+
}
|
160
|
+
// Consistency patch on values/value property
|
161
|
+
{
|
162
|
+
if (getIsMultivaluedSingleField({ attribute })) {
|
163
|
+
attribute.multivalued = true;
|
164
|
+
}
|
165
|
+
if (attribute.multivalued) {
|
166
|
+
(_a = attribute.values) !== null && _a !== void 0 ? _a : (attribute.values = attribute.value !== undefined ? [attribute.value] : []);
|
167
|
+
delete attribute.value;
|
168
|
+
}
|
169
|
+
else {
|
170
|
+
(_b = attribute.value) !== null && _b !== void 0 ? _b : (attribute.value = (_c = attribute.values) === null || _c === void 0 ? void 0 : _c[0]);
|
171
|
+
delete attribute.values;
|
172
|
+
}
|
173
|
+
}
|
174
|
+
});
|
175
|
+
add_password_and_password_confirm: {
|
176
|
+
if (!kcContext.passwordRequired) {
|
177
|
+
break add_password_and_password_confirm;
|
178
|
+
}
|
179
|
+
attributes.forEach((attribute, i) => {
|
180
|
+
if (attribute.name !== (kcContext.realm.registrationEmailAsUsername ? "email" : "username")) {
|
181
|
+
// NOTE: We want to add password and password-confirm after the field that identifies the user.
|
182
|
+
// It's either email or username.
|
183
|
+
return;
|
184
|
+
}
|
185
|
+
attributes.splice(i + 1, 0, {
|
186
|
+
name: "password",
|
187
|
+
displayName: id("${password}"),
|
188
|
+
required: true,
|
189
|
+
readOnly: false,
|
190
|
+
validators: {},
|
191
|
+
annotations: {},
|
192
|
+
autocomplete: "new-password",
|
193
|
+
html5DataAnnotations: {}
|
194
|
+
}, {
|
195
|
+
name: "password-confirm",
|
196
|
+
displayName: id("${passwordConfirm}"),
|
197
|
+
required: true,
|
198
|
+
readOnly: false,
|
199
|
+
validators: {},
|
200
|
+
annotations: {},
|
201
|
+
html5DataAnnotations: {},
|
202
|
+
autocomplete: "new-password"
|
203
|
+
});
|
204
|
+
});
|
205
|
+
}
|
206
|
+
const initialFormFieldState = [];
|
207
|
+
for (const attribute of attributes) {
|
208
|
+
handle_multi_valued_attribute: {
|
209
|
+
if (!attribute.multivalued) {
|
210
|
+
break handle_multi_valued_attribute;
|
211
|
+
}
|
212
|
+
const values = ((_a = attribute.values) === null || _a === void 0 ? void 0 : _a.length) ? attribute.values : [""];
|
213
|
+
apply_validator_min_range: {
|
214
|
+
if (getIsMultivaluedSingleField({ attribute })) {
|
215
|
+
break apply_validator_min_range;
|
164
216
|
}
|
165
|
-
const
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
break apply_validator_min_range;
|
177
|
-
}
|
178
|
-
const min = parseInt(`${minStr}`);
|
179
|
-
for (let index = values.length; index < min; index++) {
|
180
|
-
values.push("");
|
181
|
-
}
|
217
|
+
const validator = attribute.validators.multivalued;
|
218
|
+
if (validator === undefined) {
|
219
|
+
break apply_validator_min_range;
|
220
|
+
}
|
221
|
+
const { min: minStr } = validator;
|
222
|
+
if (!minStr) {
|
223
|
+
break apply_validator_min_range;
|
224
|
+
}
|
225
|
+
const min = parseInt(`${minStr}`);
|
226
|
+
for (let index = values.length; index < min; index++) {
|
227
|
+
values.push("");
|
182
228
|
}
|
183
|
-
out.push({
|
184
|
-
attribute,
|
185
|
-
"valueOrValues": values
|
186
|
-
});
|
187
|
-
continue;
|
188
229
|
}
|
189
|
-
|
230
|
+
initialFormFieldState.push({
|
190
231
|
attribute,
|
191
|
-
|
232
|
+
valueOrValues: values
|
192
233
|
});
|
234
|
+
continue;
|
193
235
|
}
|
194
|
-
|
195
|
-
|
236
|
+
initialFormFieldState.push({
|
237
|
+
attribute,
|
238
|
+
valueOrValues: (_b = attribute.value) !== null && _b !== void 0 ? _b : ""
|
239
|
+
});
|
240
|
+
}
|
196
241
|
const initialState = {
|
197
|
-
|
242
|
+
formFieldStates: initialFormFieldState.map(({ attribute, valueOrValues }) => ({
|
198
243
|
attribute,
|
199
|
-
|
200
|
-
|
201
|
-
|
244
|
+
errors: getErrors({
|
245
|
+
attributeName: attribute.name,
|
246
|
+
formFieldStates: initialFormFieldState
|
202
247
|
}),
|
203
|
-
|
204
|
-
|
248
|
+
hasLostFocusAtLeastOnce: valueOrValues instanceof Array && !getIsMultivaluedSingleField({ attribute }) ? valueOrValues.map(() => false) : false,
|
249
|
+
valueOrValues: valueOrValues
|
205
250
|
}))
|
206
251
|
};
|
207
252
|
return initialState;
|
@@ -217,7 +262,7 @@ export function useUserProfileForm(params) {
|
|
217
262
|
apply_formatters: {
|
218
263
|
const { attribute } = formFieldState;
|
219
264
|
const { kcNumberFormat } = (_a = attribute.html5DataAnnotations) !== null && _a !== void 0 ? _a : {};
|
220
|
-
if (kcNumberFormat
|
265
|
+
if (!kcNumberFormat) {
|
221
266
|
break apply_formatters;
|
222
267
|
}
|
223
268
|
if (formFieldState.valueOrValues instanceof Array) {
|
@@ -228,8 +273,8 @@ export function useUserProfileForm(params) {
|
|
228
273
|
}
|
229
274
|
}
|
230
275
|
formFieldState.errors = getErrors({
|
231
|
-
|
232
|
-
|
276
|
+
attributeName: formAction.name,
|
277
|
+
formFieldStates: state.formFieldStates
|
233
278
|
});
|
234
279
|
update_password_confirm: {
|
235
280
|
if (doMakeUserConfirmPassword) {
|
@@ -239,9 +284,9 @@ export function useUserProfileForm(params) {
|
|
239
284
|
break update_password_confirm;
|
240
285
|
}
|
241
286
|
state = reducer(state, {
|
242
|
-
|
243
|
-
|
244
|
-
|
287
|
+
action: "update",
|
288
|
+
name: "password-confirm",
|
289
|
+
valueOrValues: formAction.valueOrValues
|
245
290
|
});
|
246
291
|
}
|
247
292
|
return;
|
@@ -260,9 +305,9 @@ export function useUserProfileForm(params) {
|
|
260
305
|
return Object.assign({}, state);
|
261
306
|
}, initialState);
|
262
307
|
const formState = useMemo(() => ({
|
263
|
-
|
308
|
+
formFieldStates: state.formFieldStates.map((_a) => {
|
264
309
|
var { errors, hasLostFocusAtLeastOnce: hasLostFocusAtLeastOnceOrArr, attribute } = _a, valueOrValuesWrap = __rest(_a, ["errors", "hasLostFocusAtLeastOnce", "attribute"]);
|
265
|
-
return (Object.assign({
|
310
|
+
return (Object.assign({ displayableErrors: errors.filter(error => {
|
266
311
|
const hasLostFocusAtLeastOnce = typeof hasLostFocusAtLeastOnceOrArr === "boolean"
|
267
312
|
? hasLostFocusAtLeastOnceOrArr
|
268
313
|
: error.fieldIndex !== undefined
|
@@ -316,19 +361,20 @@ export function useUserProfileForm(params) {
|
|
316
361
|
}
|
317
362
|
}), attribute }, valueOrValuesWrap));
|
318
363
|
}),
|
319
|
-
|
364
|
+
isFormSubmittable: state.formFieldStates.every(({ errors }) => errors.length === 0)
|
320
365
|
}), [state]);
|
321
366
|
return {
|
322
367
|
formState,
|
323
368
|
dispatchFormAction
|
324
369
|
};
|
325
370
|
}
|
371
|
+
assert();
|
326
372
|
function useGetErrors(params) {
|
327
373
|
const { kcContext, i18n } = params;
|
328
374
|
const { messagesPerField, passwordPolicies } = kcContext;
|
329
375
|
const { msg, msgStr, advancedMsg, advancedMsgStr } = i18n;
|
330
376
|
const getErrors = useConstCallback((params) => {
|
331
|
-
var _a, _b
|
377
|
+
var _a, _b;
|
332
378
|
const { attributeName, formFieldStates } = params;
|
333
379
|
const formFieldState = formFieldStates.find(({ attribute }) => attribute.name === attributeName);
|
334
380
|
assert(formFieldState !== undefined);
|
@@ -338,7 +384,7 @@ function useGetErrors(params) {
|
|
338
384
|
let { valueOrValues } = formFieldState;
|
339
385
|
unFormat_number: {
|
340
386
|
const { kcNumberUnFormat } = (_a = attribute.html5DataAnnotations) !== null && _a !== void 0 ? _a : {};
|
341
|
-
if (kcNumberUnFormat
|
387
|
+
if (!kcNumberUnFormat) {
|
342
388
|
break unFormat_number;
|
343
389
|
}
|
344
390
|
if (valueOrValues instanceof Array) {
|
@@ -353,7 +399,7 @@ function useGetErrors(params) {
|
|
353
399
|
assert(attribute !== undefined);
|
354
400
|
server_side_error: {
|
355
401
|
if (attribute.multivalued) {
|
356
|
-
const defaultValues = (_a = attribute.values)
|
402
|
+
const defaultValues = ((_a = attribute.values) === null || _a === void 0 ? void 0 : _a.length) ? attribute.values : [""];
|
357
403
|
assert(valueOrValues instanceof Array);
|
358
404
|
const values = valueOrValues;
|
359
405
|
if (JSON.stringify(defaultValues) !== JSON.stringify(values.slice(0, defaultValues.length))) {
|
@@ -372,7 +418,7 @@ function useGetErrors(params) {
|
|
372
418
|
try {
|
373
419
|
doesErrorExist = messagesPerField.existsError(attributeName);
|
374
420
|
}
|
375
|
-
catch (
|
421
|
+
catch (_c) {
|
376
422
|
break server_side_error;
|
377
423
|
}
|
378
424
|
if (!doesErrorExist) {
|
@@ -382,10 +428,10 @@ function useGetErrors(params) {
|
|
382
428
|
return [
|
383
429
|
{
|
384
430
|
errorMessageStr,
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
431
|
+
errorMessage: _jsx("span", { children: errorMessageStr }, 0),
|
432
|
+
fieldIndex: undefined,
|
433
|
+
source: {
|
434
|
+
type: "server"
|
389
435
|
}
|
390
436
|
}
|
391
437
|
];
|
@@ -394,7 +440,7 @@ function useGetErrors(params) {
|
|
394
440
|
if (!attribute.multivalued) {
|
395
441
|
break handle_multi_valued_multi_fields;
|
396
442
|
}
|
397
|
-
if ((
|
443
|
+
if (getIsMultivaluedSingleField({ attribute })) {
|
398
444
|
break handle_multi_valued_multi_fields;
|
399
445
|
}
|
400
446
|
assert(valueOrValues instanceof Array);
|
@@ -403,12 +449,12 @@ function useGetErrors(params) {
|
|
403
449
|
.map((...[, index]) => {
|
404
450
|
const specificValueErrors = getErrors({
|
405
451
|
attributeName,
|
406
|
-
|
452
|
+
formFieldStates: formFieldStates.map(formFieldState => {
|
407
453
|
if (formFieldState.attribute.name === attributeName) {
|
408
454
|
assert(formFieldState.valueOrValues instanceof Array);
|
409
455
|
return {
|
410
|
-
|
411
|
-
|
456
|
+
attribute: Object.assign(Object.assign({}, attribute), { annotations: Object.assign(Object.assign({}, attribute.annotations), { inputType: undefined }), multivalued: false }),
|
457
|
+
valueOrValues: formFieldState.valueOrValues[index]
|
412
458
|
};
|
413
459
|
}
|
414
460
|
return formFieldState;
|
@@ -421,7 +467,7 @@ function useGetErrors(params) {
|
|
421
467
|
}
|
422
468
|
return true;
|
423
469
|
})
|
424
|
-
.map((error) => (Object.assign(Object.assign({}, error), {
|
470
|
+
.map((error) => (Object.assign(Object.assign({}, error), { fieldIndex: index })));
|
425
471
|
})
|
426
472
|
.reduce((acc, errors) => [...acc, ...errors], []);
|
427
473
|
required_field: {
|
@@ -433,12 +479,12 @@ function useGetErrors(params) {
|
|
433
479
|
}
|
434
480
|
const msgArgs = ["error-user-attribute-required"];
|
435
481
|
errors.push({
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
482
|
+
errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
|
483
|
+
errorMessageStr: msgStr(...msgArgs),
|
484
|
+
fieldIndex: undefined,
|
485
|
+
source: {
|
486
|
+
type: "other",
|
487
|
+
rule: "requiredField"
|
442
488
|
}
|
443
489
|
});
|
444
490
|
}
|
@@ -448,7 +494,7 @@ function useGetErrors(params) {
|
|
448
494
|
if (!attribute.multivalued) {
|
449
495
|
break handle_multi_valued_single_field;
|
450
496
|
}
|
451
|
-
if (!(
|
497
|
+
if (!getIsMultivaluedSingleField({ attribute })) {
|
452
498
|
break handle_multi_valued_single_field;
|
453
499
|
}
|
454
500
|
const validatorName = "multivalued";
|
@@ -457,10 +503,10 @@ function useGetErrors(params) {
|
|
457
503
|
return [];
|
458
504
|
}
|
459
505
|
const { min: minStr } = validator;
|
460
|
-
const min = minStr
|
506
|
+
const min = minStr ? parseInt(`${minStr}`) : attribute.required ? 1 : 0;
|
461
507
|
assert(!isNaN(min));
|
462
508
|
const { max: maxStr } = validator;
|
463
|
-
const max = maxStr
|
509
|
+
const max = !maxStr ? Infinity : parseInt(`${maxStr}`);
|
464
510
|
assert(!isNaN(max));
|
465
511
|
assert(valueOrValues instanceof Array);
|
466
512
|
const values = valueOrValues;
|
@@ -470,12 +516,12 @@ function useGetErrors(params) {
|
|
470
516
|
const msgArgs = ["error-invalid-multivalued-size", `${min}`, `${max}`];
|
471
517
|
return [
|
472
518
|
{
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
519
|
+
errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, 0),
|
520
|
+
errorMessageStr: msgStr(...msgArgs),
|
521
|
+
fieldIndex: undefined,
|
522
|
+
source: {
|
523
|
+
type: "validator",
|
524
|
+
name: validatorName
|
479
525
|
}
|
480
526
|
}
|
481
527
|
];
|
@@ -493,7 +539,7 @@ function useGetErrors(params) {
|
|
493
539
|
check_password_policy_x: {
|
494
540
|
const policyName = "length";
|
495
541
|
const policy = passwordPolicies[policyName];
|
496
|
-
if (policy
|
542
|
+
if (!policy) {
|
497
543
|
break check_password_policy_x;
|
498
544
|
}
|
499
545
|
const minLength = policy;
|
@@ -502,19 +548,19 @@ function useGetErrors(params) {
|
|
502
548
|
}
|
503
549
|
const msgArgs = ["invalidPasswordMinLengthMessage", `${minLength}`];
|
504
550
|
errors.push({
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
551
|
+
errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
|
552
|
+
errorMessageStr: msgStr(...msgArgs),
|
553
|
+
fieldIndex: undefined,
|
554
|
+
source: {
|
555
|
+
type: "passwordPolicy",
|
556
|
+
name: policyName
|
511
557
|
}
|
512
558
|
});
|
513
559
|
}
|
514
560
|
check_password_policy_x: {
|
515
561
|
const policyName = "digits";
|
516
562
|
const policy = passwordPolicies[policyName];
|
517
|
-
if (policy
|
563
|
+
if (!policy) {
|
518
564
|
break check_password_policy_x;
|
519
565
|
}
|
520
566
|
const minNumberOfDigits = policy;
|
@@ -523,19 +569,19 @@ function useGetErrors(params) {
|
|
523
569
|
}
|
524
570
|
const msgArgs = ["invalidPasswordMinDigitsMessage", `${minNumberOfDigits}`];
|
525
571
|
errors.push({
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
572
|
+
errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
|
573
|
+
errorMessageStr: msgStr(...msgArgs),
|
574
|
+
fieldIndex: undefined,
|
575
|
+
source: {
|
576
|
+
type: "passwordPolicy",
|
577
|
+
name: policyName
|
532
578
|
}
|
533
579
|
});
|
534
580
|
}
|
535
581
|
check_password_policy_x: {
|
536
582
|
const policyName = "lowerCase";
|
537
583
|
const policy = passwordPolicies[policyName];
|
538
|
-
if (policy
|
584
|
+
if (!policy) {
|
539
585
|
break check_password_policy_x;
|
540
586
|
}
|
541
587
|
const minNumberOfLowerCaseChar = policy;
|
@@ -544,19 +590,19 @@ function useGetErrors(params) {
|
|
544
590
|
}
|
545
591
|
const msgArgs = ["invalidPasswordMinLowerCaseCharsMessage", `${minNumberOfLowerCaseChar}`];
|
546
592
|
errors.push({
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
593
|
+
errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
|
594
|
+
errorMessageStr: msgStr(...msgArgs),
|
595
|
+
fieldIndex: undefined,
|
596
|
+
source: {
|
597
|
+
type: "passwordPolicy",
|
598
|
+
name: policyName
|
553
599
|
}
|
554
600
|
});
|
555
601
|
}
|
556
602
|
check_password_policy_x: {
|
557
603
|
const policyName = "upperCase";
|
558
604
|
const policy = passwordPolicies[policyName];
|
559
|
-
if (policy
|
605
|
+
if (!policy) {
|
560
606
|
break check_password_policy_x;
|
561
607
|
}
|
562
608
|
const minNumberOfUpperCaseChar = policy;
|
@@ -565,19 +611,19 @@ function useGetErrors(params) {
|
|
565
611
|
}
|
566
612
|
const msgArgs = ["invalidPasswordMinUpperCaseCharsMessage", `${minNumberOfUpperCaseChar}`];
|
567
613
|
errors.push({
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
614
|
+
errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
|
615
|
+
errorMessageStr: msgStr(...msgArgs),
|
616
|
+
fieldIndex: undefined,
|
617
|
+
source: {
|
618
|
+
type: "passwordPolicy",
|
619
|
+
name: policyName
|
574
620
|
}
|
575
621
|
});
|
576
622
|
}
|
577
623
|
check_password_policy_x: {
|
578
624
|
const policyName = "specialChars";
|
579
625
|
const policy = passwordPolicies[policyName];
|
580
|
-
if (policy
|
626
|
+
if (!policy) {
|
581
627
|
break check_password_policy_x;
|
582
628
|
}
|
583
629
|
const minNumberOfSpecialChar = policy;
|
@@ -586,12 +632,12 @@ function useGetErrors(params) {
|
|
586
632
|
}
|
587
633
|
const msgArgs = ["invalidPasswordMinSpecialCharsMessage", `${minNumberOfSpecialChar}`];
|
588
634
|
errors.push({
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
635
|
+
errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
|
636
|
+
errorMessageStr: msgStr(...msgArgs),
|
637
|
+
fieldIndex: undefined,
|
638
|
+
source: {
|
639
|
+
type: "passwordPolicy",
|
640
|
+
name: policyName
|
595
641
|
}
|
596
642
|
});
|
597
643
|
}
|
@@ -602,7 +648,7 @@ function useGetErrors(params) {
|
|
602
648
|
break check_password_policy_x;
|
603
649
|
}
|
604
650
|
const usernameFormFieldState = formFieldStates.find(formFieldState => formFieldState.attribute.name === "username");
|
605
|
-
if (usernameFormFieldState
|
651
|
+
if (!usernameFormFieldState) {
|
606
652
|
break check_password_policy_x;
|
607
653
|
}
|
608
654
|
const usernameValue = (() => {
|
@@ -611,24 +657,27 @@ function useGetErrors(params) {
|
|
611
657
|
assert(typeof valueOrValues === "string");
|
612
658
|
unFormat_number: {
|
613
659
|
const { kcNumberUnFormat } = (_a = attribute.html5DataAnnotations) !== null && _a !== void 0 ? _a : {};
|
614
|
-
if (kcNumberUnFormat
|
660
|
+
if (!kcNumberUnFormat) {
|
615
661
|
break unFormat_number;
|
616
662
|
}
|
617
663
|
valueOrValues = formatNumber(valueOrValues, kcNumberUnFormat);
|
618
664
|
}
|
619
665
|
return valueOrValues;
|
620
666
|
})();
|
667
|
+
if (usernameValue === "") {
|
668
|
+
break check_password_policy_x;
|
669
|
+
}
|
621
670
|
if (value !== usernameValue) {
|
622
671
|
break check_password_policy_x;
|
623
672
|
}
|
624
673
|
const msgArgs = ["invalidPasswordNotUsernameMessage"];
|
625
674
|
errors.push({
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
675
|
+
errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
|
676
|
+
errorMessageStr: msgStr(...msgArgs),
|
677
|
+
fieldIndex: undefined,
|
678
|
+
source: {
|
679
|
+
type: "passwordPolicy",
|
680
|
+
name: policyName
|
632
681
|
}
|
633
682
|
});
|
634
683
|
}
|
@@ -639,24 +688,27 @@ function useGetErrors(params) {
|
|
639
688
|
break check_password_policy_x;
|
640
689
|
}
|
641
690
|
const emailFormFieldState = formFieldStates.find(formFieldState => formFieldState.attribute.name === "email");
|
642
|
-
if (emailFormFieldState
|
691
|
+
if (!emailFormFieldState) {
|
643
692
|
break check_password_policy_x;
|
644
693
|
}
|
645
694
|
assert(typeof emailFormFieldState.valueOrValues === "string");
|
646
695
|
{
|
647
696
|
const emailValue = emailFormFieldState.valueOrValues;
|
697
|
+
if (emailValue === "") {
|
698
|
+
break check_password_policy_x;
|
699
|
+
}
|
648
700
|
if (value !== emailValue) {
|
649
701
|
break check_password_policy_x;
|
650
702
|
}
|
651
703
|
}
|
652
704
|
const msgArgs = ["invalidPasswordNotEmailMessage"];
|
653
705
|
errors.push({
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
706
|
+
errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
|
707
|
+
errorMessageStr: msgStr(...msgArgs),
|
708
|
+
fieldIndex: undefined,
|
709
|
+
source: {
|
710
|
+
type: "passwordPolicy",
|
711
|
+
name: policyName
|
660
712
|
}
|
661
713
|
});
|
662
714
|
}
|
@@ -676,12 +728,12 @@ function useGetErrors(params) {
|
|
676
728
|
}
|
677
729
|
const msgArgs = ["invalidPasswordConfirmMessage"];
|
678
730
|
errors.push({
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
|
731
|
+
errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
|
732
|
+
errorMessageStr: msgStr(...msgArgs),
|
733
|
+
fieldIndex: undefined,
|
734
|
+
source: {
|
735
|
+
type: "other",
|
736
|
+
rule: "passwordConfirmMatchesPassword"
|
685
737
|
}
|
686
738
|
});
|
687
739
|
}
|
@@ -695,19 +747,19 @@ function useGetErrors(params) {
|
|
695
747
|
}
|
696
748
|
const msgArgs = ["error-user-attribute-required"];
|
697
749
|
errors.push({
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
|
750
|
+
errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
|
751
|
+
errorMessageStr: msgStr(...msgArgs),
|
752
|
+
fieldIndex: undefined,
|
753
|
+
source: {
|
754
|
+
type: "other",
|
755
|
+
rule: "requiredField"
|
704
756
|
}
|
705
757
|
});
|
706
758
|
}
|
707
759
|
validator_x: {
|
708
760
|
const validatorName = "length";
|
709
761
|
const validator = validators[validatorName];
|
710
|
-
if (validator
|
762
|
+
if (!validator) {
|
711
763
|
break validator_x;
|
712
764
|
}
|
713
765
|
const { "ignore.empty.value": ignoreEmptyValue = false, max, min } = validator;
|
@@ -715,24 +767,24 @@ function useGetErrors(params) {
|
|
715
767
|
break validator_x;
|
716
768
|
}
|
717
769
|
const source = {
|
718
|
-
|
719
|
-
|
770
|
+
type: "validator",
|
771
|
+
name: validatorName
|
720
772
|
};
|
721
|
-
if (max
|
773
|
+
if (max && value.length > parseInt(`${max}`)) {
|
722
774
|
const msgArgs = ["error-invalid-length-too-long", `${max}`];
|
723
775
|
errors.push({
|
724
|
-
|
725
|
-
|
726
|
-
|
776
|
+
errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
|
777
|
+
errorMessageStr: msgStr(...msgArgs),
|
778
|
+
fieldIndex: undefined,
|
727
779
|
source
|
728
780
|
});
|
729
781
|
}
|
730
|
-
if (min
|
782
|
+
if (min && value.length < parseInt(`${min}`)) {
|
731
783
|
const msgArgs = ["error-invalid-length-too-short", `${min}`];
|
732
784
|
errors.push({
|
733
|
-
|
734
|
-
|
735
|
-
|
785
|
+
errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
|
786
|
+
errorMessageStr: msgStr(...msgArgs),
|
787
|
+
fieldIndex: undefined,
|
736
788
|
source
|
737
789
|
});
|
738
790
|
}
|
@@ -752,12 +804,12 @@ function useGetErrors(params) {
|
|
752
804
|
}
|
753
805
|
const msgArgs = [errorMessageKey !== null && errorMessageKey !== void 0 ? errorMessageKey : id("shouldMatchPattern"), pattern];
|
754
806
|
errors.push({
|
755
|
-
|
756
|
-
|
757
|
-
|
758
|
-
|
759
|
-
|
760
|
-
|
807
|
+
errorMessage: _jsx(Fragment, { children: advancedMsg(...msgArgs) }, `${attributeName}-${errors.length}`),
|
808
|
+
errorMessageStr: advancedMsgStr(...msgArgs),
|
809
|
+
fieldIndex: undefined,
|
810
|
+
source: {
|
811
|
+
type: "validator",
|
812
|
+
name: validatorName
|
761
813
|
}
|
762
814
|
});
|
763
815
|
}
|
@@ -782,12 +834,12 @@ function useGetErrors(params) {
|
|
782
834
|
}
|
783
835
|
const msgArgs = [id("invalidEmailMessage")];
|
784
836
|
errors.push({
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
837
|
+
errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
|
838
|
+
errorMessageStr: msgStr(...msgArgs),
|
839
|
+
fieldIndex: undefined,
|
840
|
+
source: {
|
841
|
+
type: "validator",
|
842
|
+
name: validatorName
|
791
843
|
}
|
792
844
|
});
|
793
845
|
}
|
@@ -803,35 +855,35 @@ function useGetErrors(params) {
|
|
803
855
|
}
|
804
856
|
const intValue = parseInt(value);
|
805
857
|
const source = {
|
806
|
-
|
807
|
-
|
858
|
+
type: "validator",
|
859
|
+
name: validatorName
|
808
860
|
};
|
809
861
|
if (isNaN(intValue)) {
|
810
862
|
const msgArgs = ["mustBeAnInteger"];
|
811
863
|
errors.push({
|
812
|
-
|
813
|
-
|
814
|
-
|
864
|
+
errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
|
865
|
+
errorMessageStr: msgStr(...msgArgs),
|
866
|
+
fieldIndex: undefined,
|
815
867
|
source
|
816
868
|
});
|
817
869
|
break validator_x;
|
818
870
|
}
|
819
|
-
if (max
|
871
|
+
if (max && intValue > parseInt(`${max}`)) {
|
820
872
|
const msgArgs = ["error-number-out-of-range-too-big", `${max}`];
|
821
873
|
errors.push({
|
822
|
-
|
823
|
-
|
824
|
-
|
874
|
+
errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
|
875
|
+
errorMessageStr: msgStr(...msgArgs),
|
876
|
+
fieldIndex: undefined,
|
825
877
|
source
|
826
878
|
});
|
827
879
|
break validator_x;
|
828
880
|
}
|
829
|
-
if (min
|
881
|
+
if (min && intValue < parseInt(`${min}`)) {
|
830
882
|
const msgArgs = ["error-number-out-of-range-too-small", `${min}`];
|
831
883
|
errors.push({
|
832
|
-
|
833
|
-
|
834
|
-
|
884
|
+
errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
|
885
|
+
errorMessageStr: msgStr(...msgArgs),
|
886
|
+
fieldIndex: undefined,
|
835
887
|
source
|
836
888
|
});
|
837
889
|
break validator_x;
|
@@ -851,12 +903,12 @@ function useGetErrors(params) {
|
|
851
903
|
}
|
852
904
|
const msgArgs = [id("notAValidOption")];
|
853
905
|
errors.push({
|
854
|
-
|
855
|
-
|
856
|
-
|
857
|
-
|
858
|
-
|
859
|
-
|
906
|
+
errorMessage: _jsx(Fragment, { children: advancedMsg(...msgArgs) }, `${attributeName}-${errors.length}`),
|
907
|
+
errorMessageStr: advancedMsgStr(...msgArgs),
|
908
|
+
fieldIndex: undefined,
|
909
|
+
source: {
|
910
|
+
type: "validator",
|
911
|
+
name: validatorName
|
860
912
|
}
|
861
913
|
});
|
862
914
|
}
|
@@ -865,4 +917,59 @@ function useGetErrors(params) {
|
|
865
917
|
});
|
866
918
|
return { getErrors };
|
867
919
|
}
|
920
|
+
function getIsMultivaluedSingleField(params) {
|
921
|
+
var _a, _b;
|
922
|
+
const { attribute } = params;
|
923
|
+
return (_b = (_a = attribute.annotations.inputType) === null || _a === void 0 ? void 0 : _a.startsWith("multiselect")) !== null && _b !== void 0 ? _b : false;
|
924
|
+
}
|
925
|
+
export function getButtonToDisplayForMultivaluedAttributeField(params) {
|
926
|
+
const { attribute, values, fieldIndex } = params;
|
927
|
+
const hasRemove = (() => {
|
928
|
+
if (values.length === 1) {
|
929
|
+
return false;
|
930
|
+
}
|
931
|
+
const minCount = (() => {
|
932
|
+
const { multivalued } = attribute.validators;
|
933
|
+
if (multivalued === undefined) {
|
934
|
+
return undefined;
|
935
|
+
}
|
936
|
+
const minStr = multivalued.min;
|
937
|
+
if (minStr === undefined) {
|
938
|
+
return undefined;
|
939
|
+
}
|
940
|
+
return parseInt(`${minStr}`);
|
941
|
+
})();
|
942
|
+
if (minCount === undefined) {
|
943
|
+
return true;
|
944
|
+
}
|
945
|
+
if (values.length === minCount) {
|
946
|
+
return false;
|
947
|
+
}
|
948
|
+
return true;
|
949
|
+
})();
|
950
|
+
const hasAdd = (() => {
|
951
|
+
if (fieldIndex + 1 !== values.length) {
|
952
|
+
return false;
|
953
|
+
}
|
954
|
+
const maxCount = (() => {
|
955
|
+
const { multivalued } = attribute.validators;
|
956
|
+
if (multivalued === undefined) {
|
957
|
+
return undefined;
|
958
|
+
}
|
959
|
+
const maxStr = multivalued.max;
|
960
|
+
if (maxStr === undefined) {
|
961
|
+
return undefined;
|
962
|
+
}
|
963
|
+
return parseInt(`${maxStr}`);
|
964
|
+
})();
|
965
|
+
if (maxCount === undefined) {
|
966
|
+
return false;
|
967
|
+
}
|
968
|
+
if (values.length === maxCount) {
|
969
|
+
return false;
|
970
|
+
}
|
971
|
+
return true;
|
972
|
+
})();
|
973
|
+
return { hasRemove, hasAdd };
|
974
|
+
}
|
868
975
|
//# sourceMappingURL=useUserProfileForm.js.map
|