@keycloakify/keycloak-account-ui 26.0.6-rc.1 → 260007.0.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.
- package/KcAccountUiLoader.d.ts +2 -4
- package/KcAccountUiLoader.js +34 -41
- package/KcAccountUiLoader.js.map +1 -1
- package/README.md +0 -49
- package/index.js.map +1 -1
- package/{KcAccountUi.js → keycloak-theme/account/KcAccountUi.tsx} +15 -7
- package/keycloak-theme/account/KcContext.ts +8 -0
- package/keycloak-theme/account/KcPage.tsx +11 -0
- package/{src → keycloak-theme/account}/account-security/AccountRow.tsx +8 -4
- package/{src → keycloak-theme/account}/account-security/DeviceActivity.tsx +11 -7
- package/{src → keycloak-theme/account}/account-security/LinkedAccounts.tsx +12 -8
- package/{src → keycloak-theme/account}/account-security/LinkedAccountsToolbar.tsx +4 -0
- package/{src → keycloak-theme/account}/account-security/SigningIn.tsx +12 -8
- package/{src → keycloak-theme/account}/api/constants.ts +4 -0
- package/{src → keycloak-theme/account}/api/methods.ts +9 -5
- package/{src → keycloak-theme/account}/api/parse-links.ts +4 -0
- package/{src → keycloak-theme/account}/api/parse-response.ts +6 -2
- package/{src → keycloak-theme/account}/api/representations.ts +4 -0
- package/{src → keycloak-theme/account}/api/request.ts +7 -3
- package/{src → keycloak-theme/account}/api.ts +11 -7
- package/{src → keycloak-theme/account}/applications/Applications.tsx +12 -8
- package/{src/public → keycloak-theme/account/assets}/content.ts +14 -20
- package/keycloak-theme/account/assets/favicon.svg +63 -0
- package/{src → keycloak-theme/account}/components/datalist/EmptyRow.tsx +4 -0
- package/{src → keycloak-theme/account}/components/page/Page.tsx +4 -0
- package/{src → keycloak-theme/account}/content/ContentComponent.tsx +10 -6
- package/keycloak-theme/account/content/fetchContent.ts +13 -0
- package/{src → keycloak-theme/account}/environment.ts +5 -1
- package/{src → keycloak-theme/account}/groups/Groups.tsx +9 -5
- package/{src → keycloak-theme/account/i18n}/i18n.ts +7 -5
- package/keycloak-theme/account/i18n/index.ts +5 -0
- package/{messages → keycloak-theme/account/i18n}/messages_ar.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_ca.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_cs.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_da.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_de.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_el.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_en.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_es.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_fa.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_fi.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_fr.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_hu.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_it.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_ja.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_ka.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_lt.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_lv.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_nl.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_no.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_pl.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_pt.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_pt_BR.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_ru.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_sk.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_sv.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_th.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_tr.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_uk.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_zh_CN.properties +8 -0
- package/{messages → keycloak-theme/account/i18n}/messages_zh_TW.properties +8 -0
- package/{src → keycloak-theme/account}/i18next.d.ts +4 -0
- package/{src → keycloak-theme/account}/oid4vci/Oid4Vci.tsx +9 -5
- package/{src → keycloak-theme/account}/organizations/Organizations.tsx +9 -5
- package/{src → keycloak-theme/account}/personal-info/PersonalInfo.tsx +13 -10
- package/{src → keycloak-theme/account}/resources/EditTheResource.tsx +8 -4
- package/{src → keycloak-theme/account}/resources/PermissionRequest.tsx +8 -4
- package/{src → keycloak-theme/account}/resources/ResourceToolbar.tsx +4 -0
- package/{src → keycloak-theme/account}/resources/Resources.tsx +6 -2
- package/{src → keycloak-theme/account}/resources/ResourcesTab.tsx +16 -12
- package/{src → keycloak-theme/account}/resources/ShareTheResource.tsx +9 -5
- package/{src → keycloak-theme/account}/resources/SharedWith.tsx +5 -1
- package/{src → keycloak-theme/account}/root/ErrorPage.tsx +4 -0
- package/{src → keycloak-theme/account}/root/Header.tsx +11 -6
- package/{src → keycloak-theme/account}/root/PageNav.tsx +9 -5
- package/{src → keycloak-theme/account}/root/Root.tsx +8 -4
- package/{src → keycloak-theme/account}/routes.tsx +18 -14
- package/{src → keycloak-theme/account}/utils/formatDate.ts +6 -3
- package/{src → keycloak-theme/account}/utils/joinPath.ts +4 -0
- package/{src → keycloak-theme/account}/utils/useAccountAlerts.ts +6 -2
- package/{src → keycloak-theme/account}/utils/usePromise.ts +4 -0
- package/package.json +18 -525
- package/src/KcAccountUiLoader.tsx +391 -370
- package/src/zKcContextLike.ts +31 -74
- package/tsconfig.tsbuildinfo +1 -0
- package/zKcContextLike.js +7 -7
- package/zKcContextLike.js.map +1 -1
- package/KcAccountUi.d.ts +0 -3
- package/KcAccountUi.js.map +0 -1
- package/account-security/AccountRow.d.ts +0 -8
- package/account-security/AccountRow.js +0 -37
- package/account-security/AccountRow.js.map +0 -1
- package/account-security/DeviceActivity.d.ts +0 -2
- package/account-security/DeviceActivity.js +0 -71
- package/account-security/DeviceActivity.js.map +0 -1
- package/account-security/LinkedAccounts.d.ts +0 -2
- package/account-security/LinkedAccounts.js +0 -40
- package/account-security/LinkedAccounts.js.map +0 -1
- package/account-security/LinkedAccountsToolbar.d.ts +0 -12
- package/account-security/LinkedAccountsToolbar.js +0 -24
- package/account-security/LinkedAccountsToolbar.js.map +0 -1
- package/account-security/SigningIn.d.ts +0 -2
- package/account-security/SigningIn.js +0 -65
- package/account-security/SigningIn.js.map +0 -1
- package/api/constants.d.ts +0 -2
- package/api/constants.js +0 -3
- package/api/constants.js.map +0 -1
- package/api/methods.d.ts +0 -31
- package/api/methods.js +0 -80
- package/api/methods.js.map +0 -1
- package/api/parse-links.d.ts +0 -5
- package/api/parse-links.js +0 -23
- package/api/parse-links.js.map +0 -1
- package/api/parse-response.d.ts +0 -5
- package/api/parse-response.js +0 -36
- package/api/parse-response.js.map +0 -1
- package/api/representations.d.ts +0 -202
- package/api/representations.js +0 -3
- package/api/representations.js.map +0 -1
- package/api/request.d.ts +0 -12
- package/api/request.js +0 -33
- package/api/request.js.map +0 -1
- package/api.d.ts +0 -13
- package/api.js +0 -46
- package/api.js.map +0 -1
- package/applications/Applications.d.ts +0 -2
- package/applications/Applications.js +0 -53
- package/applications/Applications.js.map +0 -1
- package/components/datalist/EmptyRow.d.ts +0 -5
- package/components/datalist/EmptyRow.js +0 -20
- package/components/datalist/EmptyRow.js.map +0 -1
- package/components/page/Page.d.ts +0 -7
- package/components/page/Page.js +0 -6
- package/components/page/Page.js.map +0 -1
- package/content/ContentComponent.d.ts +0 -2
- package/content/ContentComponent.js +0 -36
- package/content/ContentComponent.js.map +0 -1
- package/content/fetchContent.d.ts +0 -3
- package/content/fetchContent.js +0 -6
- package/content/fetchContent.js.map +0 -1
- package/environment.d.ts +0 -26
- package/environment.js +0 -3
- package/environment.js.map +0 -1
- package/groups/Groups.d.ts +0 -2
- package/groups/Groups.js +0 -45
- package/groups/Groups.js.map +0 -1
- package/i18n.d.ts +0 -4
- package/i18n.js +0 -32
- package/i18n.js.map +0 -1
- package/oid4vci/Oid4Vci.d.ts +0 -2
- package/oid4vci/Oid4Vci.js +0 -54
- package/oid4vci/Oid4Vci.js.map +0 -1
- package/organizations/Organizations.d.ts +0 -2
- package/organizations/Organizations.js +0 -19
- package/organizations/Organizations.js.map +0 -1
- package/personal-info/PersonalInfo.d.ts +0 -2
- package/personal-info/PersonalInfo.js +0 -69
- package/personal-info/PersonalInfo.js.map +0 -1
- package/public/content.d.ts +0 -37
- package/public/content.js +0 -50
- package/public/content.js.map +0 -1
- package/resources/EditTheResource.d.ts +0 -8
- package/resources/EditTheResource.js +0 -37
- package/resources/EditTheResource.js.map +0 -1
- package/resources/PermissionRequest.d.ts +0 -7
- package/resources/PermissionRequest.js +0 -40
- package/resources/PermissionRequest.js.map +0 -1
- package/resources/ResourceToolbar.d.ts +0 -12
- package/resources/ResourceToolbar.js +0 -24
- package/resources/ResourceToolbar.js.map +0 -1
- package/resources/Resources.d.ts +0 -2
- package/resources/Resources.js +0 -13
- package/resources/Resources.js.map +0 -1
- package/resources/ResourcesTab.d.ts +0 -5
- package/resources/ResourcesTab.js +0 -104
- package/resources/ResourcesTab.js.map +0 -1
- package/resources/ShareTheResource.d.ts +0 -9
- package/resources/ShareTheResource.js +0 -71
- package/resources/ShareTheResource.js.map +0 -1
- package/resources/SharedWith.d.ts +0 -6
- package/resources/SharedWith.js +0 -8
- package/resources/SharedWith.js.map +0 -1
- package/root/ErrorPage.d.ts +0 -5
- package/root/ErrorPage.js +0 -29
- package/root/ErrorPage.js.map +0 -1
- package/root/Header.d.ts +0 -1
- package/root/Header.js +0 -31
- package/root/Header.js.map +0 -1
- package/root/PageNav.d.ts +0 -22
- package/root/PageNav.js +0 -47
- package/root/PageNav.js.map +0 -1
- package/root/Root.d.ts +0 -1
- package/root/Root.js +0 -12
- package/root/Root.js.map +0 -1
- package/routes.d.ts +0 -16
- package/routes.js +0 -75
- package/routes.js.map +0 -1
- package/src/KcAccountUi.tsx +0 -25
- package/src/content/fetchContent.ts +0 -13
- package/src/global.d.ts +0 -9
- package/src/public/logo.svg +0 -1
- package/src/root/header.module.css +0 -3
- package/src/ui-shared/alerts/AlertPanel.tsx +0 -43
- package/src/ui-shared/alerts/Alerts.tsx +0 -82
- package/src/ui-shared/buttons/FormSubmitButton.tsx +0 -47
- package/src/ui-shared/context/ErrorPage.tsx +0 -60
- package/src/ui-shared/context/HelpContext.tsx +0 -30
- package/src/ui-shared/context/KeycloakContext.tsx +0 -97
- package/src/ui-shared/context/environment.ts +0 -50
- package/src/ui-shared/continue-cancel/ContinueCancelModal.tsx +0 -75
- package/src/ui-shared/controls/FormErrorText.tsx +0 -23
- package/src/ui-shared/controls/FormLabel.tsx +0 -40
- package/src/ui-shared/controls/HelpItem.tsx +0 -43
- package/src/ui-shared/controls/KeycloakSpinner.tsx +0 -12
- package/src/ui-shared/controls/NumberControl.tsx +0 -93
- package/src/ui-shared/controls/OrganizationTable.tsx +0 -122
- package/src/ui-shared/controls/PasswordControl.tsx +0 -71
- package/src/ui-shared/controls/PasswordInput.tsx +0 -50
- package/src/ui-shared/controls/SwitchControl.tsx +0 -67
- package/src/ui-shared/controls/TextAreaControl.tsx +0 -60
- package/src/ui-shared/controls/TextControl.tsx +0 -75
- package/src/ui-shared/controls/keycloak-text-area/KeycloakTextArea.tsx +0 -23
- package/src/ui-shared/controls/select-control/SelectControl.tsx +0 -75
- package/src/ui-shared/controls/select-control/SingleSelectControl.tsx +0 -109
- package/src/ui-shared/controls/select-control/TypeaheadSelectControl.tsx +0 -285
- package/src/ui-shared/controls/table/KeycloakDataTable.tsx +0 -597
- package/src/ui-shared/controls/table/ListEmptyState.tsx +0 -86
- package/src/ui-shared/controls/table/PaginatingTableToolbar.tsx +0 -106
- package/src/ui-shared/controls/table/TableToolbar.tsx +0 -92
- package/src/ui-shared/icons/IconMapper.tsx +0 -63
- package/src/ui-shared/index.ts +0 -1
- package/src/ui-shared/main.ts +0 -96
- package/src/ui-shared/masthead/DefaultAvatar.tsx +0 -109
- package/src/ui-shared/masthead/KeycloakDropdown.tsx +0 -48
- package/src/ui-shared/masthead/Masthead.tsx +0 -161
- package/src/ui-shared/scroll-form/FormPanel.tsx +0 -29
- package/src/ui-shared/scroll-form/FormTitle.tsx +0 -28
- package/src/ui-shared/scroll-form/ScrollForm.tsx +0 -98
- package/src/ui-shared/scroll-form/ScrollPanel.tsx +0 -21
- package/src/ui-shared/scroll-form/form-title.module.css +0 -4
- package/src/ui-shared/scroll-form/scroll-form.module.css +0 -8
- package/src/ui-shared/select/KeycloakSelect.tsx +0 -49
- package/src/ui-shared/select/SingleSelect.tsx +0 -89
- package/src/ui-shared/select/TypeaheadSelect.tsx +0 -198
- package/src/ui-shared/user-profile/LocaleSelector.tsx +0 -51
- package/src/ui-shared/user-profile/MultiInputComponent.tsx +0 -146
- package/src/ui-shared/user-profile/OptionsComponent.tsx +0 -63
- package/src/ui-shared/user-profile/SelectComponent.tsx +0 -109
- package/src/ui-shared/user-profile/TextAreaComponent.tsx +0 -23
- package/src/ui-shared/user-profile/TextComponent.tsx +0 -32
- package/src/ui-shared/user-profile/UserProfileFields.tsx +0 -243
- package/src/ui-shared/user-profile/UserProfileGroup.tsx +0 -71
- package/src/ui-shared/user-profile/utils.ts +0 -170
- package/src/ui-shared/utils/ErrorBoundary.tsx +0 -77
- package/src/ui-shared/utils/createNamedContext.ts +0 -11
- package/src/ui-shared/utils/darkMode.ts +0 -19
- package/src/ui-shared/utils/errors.ts +0 -55
- package/src/ui-shared/utils/generateId.ts +0 -1
- package/src/ui-shared/utils/getRuleValue.ts +0 -17
- package/src/ui-shared/utils/isDefined.ts +0 -3
- package/src/ui-shared/utils/useFetch.ts +0 -44
- package/src/ui-shared/utils/useRequiredContext.ts +0 -24
- package/src/ui-shared/utils/useSetTimeout.ts +0 -40
- package/src/ui-shared/utils/useStorageItem.ts +0 -51
- package/src/ui-shared/utils/useStoredState.ts +0 -38
- package/ui-shared/alerts/AlertPanel.d.ts +0 -6
- package/ui-shared/alerts/AlertPanel.js +0 -6
- package/ui-shared/alerts/AlertPanel.js.map +0 -1
- package/ui-shared/alerts/Alerts.d.ts +0 -16
- package/ui-shared/alerts/Alerts.js +0 -37
- package/ui-shared/alerts/Alerts.js.map +0 -1
- package/ui-shared/buttons/FormSubmitButton.d.ts +0 -10
- package/ui-shared/buttons/FormSubmitButton.js +0 -26
- package/ui-shared/buttons/FormSubmitButton.js.map +0 -1
- package/ui-shared/context/ErrorPage.d.ts +0 -5
- package/ui-shared/context/ErrorPage.js +0 -24
- package/ui-shared/context/ErrorPage.js.map +0 -1
- package/ui-shared/context/HelpContext.d.ts +0 -9
- package/ui-shared/context/HelpContext.js +0 -14
- package/ui-shared/context/HelpContext.js.map +0 -1
- package/ui-shared/context/KeycloakContext.d.ts +0 -12
- package/ui-shared/context/KeycloakContext.js +0 -53
- package/ui-shared/context/KeycloakContext.js.map +0 -1
- package/ui-shared/context/environment.d.ts +0 -36
- package/ui-shared/context/environment.js +0 -27
- package/ui-shared/context/environment.js.map +0 -1
- package/ui-shared/continue-cancel/ContinueCancelModal.d.ts +0 -15
- package/ui-shared/continue-cancel/ContinueCancelModal.js +0 -27
- package/ui-shared/continue-cancel/ContinueCancelModal.js.map +0 -1
- package/ui-shared/controls/FormErrorText.d.ts +0 -5
- package/ui-shared/controls/FormErrorText.js +0 -19
- package/ui-shared/controls/FormErrorText.js.map +0 -1
- package/ui-shared/controls/FormLabel.d.ts +0 -13
- package/ui-shared/controls/FormLabel.js +0 -20
- package/ui-shared/controls/FormLabel.js.map +0 -1
- package/ui-shared/controls/HelpItem.d.ts +0 -9
- package/ui-shared/controls/HelpItem.js +0 -9
- package/ui-shared/controls/HelpItem.js.map +0 -1
- package/ui-shared/controls/KeycloakSpinner.d.ts +0 -1
- package/ui-shared/controls/KeycloakSpinner.js +0 -8
- package/ui-shared/controls/KeycloakSpinner.js.map +0 -1
- package/ui-shared/controls/NumberControl.d.ts +0 -13
- package/ui-shared/controls/NumberControl.js +0 -33
- package/ui-shared/controls/NumberControl.js.map +0 -1
- package/ui-shared/controls/OrganizationTable.d.ts +0 -16
- package/ui-shared/controls/OrganizationTable.js +0 -45
- package/ui-shared/controls/OrganizationTable.js.map +0 -1
- package/ui-shared/controls/PasswordControl.d.ts +0 -9
- package/ui-shared/controls/PasswordControl.js +0 -25
- package/ui-shared/controls/PasswordControl.js.map +0 -1
- package/ui-shared/controls/PasswordInput.d.ts +0 -7
- package/ui-shared/controls/PasswordInput.js +0 -25
- package/ui-shared/controls/PasswordInput.js.map +0 -1
- package/ui-shared/controls/SwitchControl.d.ts +0 -11
- package/ui-shared/controls/SwitchControl.js +0 -29
- package/ui-shared/controls/SwitchControl.js.map +0 -1
- package/ui-shared/controls/TextAreaControl.d.ts +0 -8
- package/ui-shared/controls/TextAreaControl.js +0 -12
- package/ui-shared/controls/TextAreaControl.js.map +0 -1
- package/ui-shared/controls/TextControl.d.ts +0 -11
- package/ui-shared/controls/TextControl.js +0 -24
- package/ui-shared/controls/TextControl.js.map +0 -1
- package/ui-shared/controls/keycloak-text-area/KeycloakTextArea.d.ts +0 -4
- package/ui-shared/controls/keycloak-text-area/KeycloakTextArea.js +0 -5
- package/ui-shared/controls/keycloak-text-area/KeycloakTextArea.js.map +0 -1
- package/ui-shared/controls/select-control/SelectControl.d.ts +0 -31
- package/ui-shared/controls/select-control/SelectControl.js +0 -28
- package/ui-shared/controls/select-control/SelectControl.js.map +0 -1
- package/ui-shared/controls/select-control/SingleSelectControl.d.ts +0 -3
- package/ui-shared/controls/select-control/SingleSelectControl.js +0 -43
- package/ui-shared/controls/select-control/SingleSelectControl.js.map +0 -1
- package/ui-shared/controls/select-control/TypeaheadSelectControl.d.ts +0 -3
- package/ui-shared/controls/select-control/TypeaheadSelectControl.js +0 -140
- package/ui-shared/controls/select-control/TypeaheadSelectControl.js.map +0 -1
- package/ui-shared/controls/table/KeycloakDataTable.d.ts +0 -64
- package/ui-shared/controls/table/KeycloakDataTable.js +0 -279
- package/ui-shared/controls/table/KeycloakDataTable.js.map +0 -1
- package/ui-shared/controls/table/ListEmptyState.d.ts +0 -20
- package/ui-shared/controls/table/ListEmptyState.js +0 -11
- package/ui-shared/controls/table/ListEmptyState.js.map +0 -1
- package/ui-shared/controls/table/PaginatingTableToolbar.d.ts +0 -21
- package/ui-shared/controls/table/PaginatingTableToolbar.js +0 -27
- package/ui-shared/controls/table/PaginatingTableToolbar.js.map +0 -1
- package/ui-shared/controls/table/TableToolbar.d.ts +0 -12
- package/ui-shared/controls/table/TableToolbar.js +0 -30
- package/ui-shared/controls/table/TableToolbar.js.map +0 -1
- package/ui-shared/icons/IconMapper.d.ts +0 -5
- package/ui-shared/icons/IconMapper.js +0 -40
- package/ui-shared/icons/IconMapper.js.map +0 -1
- package/ui-shared/index.d.ts +0 -1
- package/ui-shared/index.js +0 -2
- package/ui-shared/index.js.map +0 -1
- package/ui-shared/main.d.ts +0 -45
- package/ui-shared/main.js +0 -41
- package/ui-shared/main.js.map +0 -1
- package/ui-shared/masthead/DefaultAvatar.d.ts +0 -7
- package/ui-shared/masthead/DefaultAvatar.js +0 -26
- package/ui-shared/masthead/DefaultAvatar.js.map +0 -1
- package/ui-shared/masthead/KeycloakDropdown.d.ts +0 -10
- package/ui-shared/masthead/KeycloakDropdown.js +0 -23
- package/ui-shared/masthead/KeycloakDropdown.js.map +0 -1
- package/ui-shared/masthead/Masthead.d.ts +0 -19
- package/ui-shared/masthead/Masthead.js +0 -55
- package/ui-shared/masthead/Masthead.js.map +0 -1
- package/ui-shared/scroll-form/FormPanel.d.ts +0 -8
- package/ui-shared/scroll-form/FormPanel.js +0 -9
- package/ui-shared/scroll-form/FormPanel.js.map +0 -1
- package/ui-shared/scroll-form/FormTitle.d.ts +0 -8
- package/ui-shared/scroll-form/FormTitle.js +0 -19
- package/ui-shared/scroll-form/FormTitle.js.map +0 -1
- package/ui-shared/scroll-form/ScrollForm.d.ts +0 -15
- package/ui-shared/scroll-form/ScrollForm.js +0 -38
- package/ui-shared/scroll-form/ScrollForm.js.map +0 -1
- package/ui-shared/scroll-form/ScrollPanel.d.ts +0 -7
- package/ui-shared/scroll-form/ScrollPanel.js +0 -18
- package/ui-shared/scroll-form/ScrollPanel.js.map +0 -1
- package/ui-shared/scroll-form/form-title.module.css +0 -4
- package/ui-shared/scroll-form/scroll-form.module.css +0 -8
- package/ui-shared/select/KeycloakSelect.d.ts +0 -30
- package/ui-shared/select/KeycloakSelect.js +0 -31
- package/ui-shared/select/KeycloakSelect.js.map +0 -1
- package/ui-shared/select/SingleSelect.d.ts +0 -4
- package/ui-shared/select/SingleSelect.js +0 -49
- package/ui-shared/select/SingleSelect.js.map +0 -1
- package/ui-shared/select/TypeaheadSelect.d.ts +0 -2
- package/ui-shared/select/TypeaheadSelect.js +0 -96
- package/ui-shared/select/TypeaheadSelect.js.map +0 -1
- package/ui-shared/user-profile/LocaleSelector.d.ts +0 -7
- package/ui-shared/user-profile/LocaleSelector.js +0 -28
- package/ui-shared/user-profile/LocaleSelector.js.map +0 -1
- package/ui-shared/user-profile/MultiInputComponent.d.ts +0 -15
- package/ui-shared/user-profile/MultiInputComponent.js +0 -61
- package/ui-shared/user-profile/MultiInputComponent.js.map +0 -1
- package/ui-shared/user-profile/OptionsComponent.d.ts +0 -2
- package/ui-shared/user-profile/OptionsComponent.js +0 -29
- package/ui-shared/user-profile/OptionsComponent.js.map +0 -1
- package/ui-shared/user-profile/SelectComponent.d.ts +0 -2
- package/ui-shared/user-profile/SelectComponent.js +0 -56
- package/ui-shared/user-profile/SelectComponent.js.map +0 -1
- package/ui-shared/user-profile/TextAreaComponent.d.ts +0 -2
- package/ui-shared/user-profile/TextAreaComponent.js +0 -11
- package/ui-shared/user-profile/TextAreaComponent.js.map +0 -1
- package/ui-shared/user-profile/TextComponent.d.ts +0 -2
- package/ui-shared/user-profile/TextComponent.js +0 -14
- package/ui-shared/user-profile/TextComponent.js.map +0 -1
- package/ui-shared/user-profile/UserProfileFields.d.ts +0 -37
- package/ui-shared/user-profile/UserProfileFields.js +0 -94
- package/ui-shared/user-profile/UserProfileFields.js.map +0 -1
- package/ui-shared/user-profile/UserProfileGroup.d.ts +0 -12
- package/ui-shared/user-profile/UserProfileGroup.js +0 -15
- package/ui-shared/user-profile/UserProfileGroup.js.map +0 -1
- package/ui-shared/user-profile/utils.d.ts +0 -32
- package/ui-shared/user-profile/utils.js +0 -84
- package/ui-shared/user-profile/utils.js.map +0 -1
- package/ui-shared/utils/ErrorBoundary.d.ts +0 -26
- package/ui-shared/utils/ErrorBoundary.js +0 -29
- package/ui-shared/utils/ErrorBoundary.js.map +0 -1
- package/ui-shared/utils/createNamedContext.d.ts +0 -3
- package/ui-shared/utils/createNamedContext.js +0 -7
- package/ui-shared/utils/createNamedContext.js.map +0 -1
- package/ui-shared/utils/darkMode.d.ts +0 -1
- package/ui-shared/utils/darkMode.js +0 -16
- package/ui-shared/utils/darkMode.js.map +0 -1
- package/ui-shared/utils/errors.d.ts +0 -4
- package/ui-shared/utils/errors.js +0 -42
- package/ui-shared/utils/errors.js.map +0 -1
- package/ui-shared/utils/generateId.d.ts +0 -1
- package/ui-shared/utils/generateId.js +0 -2
- package/ui-shared/utils/generateId.js.map +0 -1
- package/ui-shared/utils/getRuleValue.d.ts +0 -2
- package/ui-shared/utils/getRuleValue.js +0 -12
- package/ui-shared/utils/getRuleValue.js.map +0 -1
- package/ui-shared/utils/isDefined.d.ts +0 -1
- package/ui-shared/utils/isDefined.js +0 -4
- package/ui-shared/utils/isDefined.js.map +0 -1
- package/ui-shared/utils/useFetch.d.ts +0 -17
- package/ui-shared/utils/useFetch.js +0 -38
- package/ui-shared/utils/useFetch.js.map +0 -1
- package/ui-shared/utils/useRequiredContext.d.ts +0 -9
- package/ui-shared/utils/useRequiredContext.js +0 -17
- package/ui-shared/utils/useRequiredContext.js.map +0 -1
- package/ui-shared/utils/useSetTimeout.d.ts +0 -1
- package/ui-shared/utils/useSetTimeout.js +0 -32
- package/ui-shared/utils/useSetTimeout.js.map +0 -1
- package/ui-shared/utils/useStorageItem.d.ts +0 -10
- package/ui-shared/utils/useStorageItem.js +0 -40
- package/ui-shared/utils/useStorageItem.js.map +0 -1
- package/ui-shared/utils/useStoredState.d.ts +0 -13
- package/ui-shared/utils/useStoredState.js +0 -21
- package/ui-shared/utils/useStoredState.js.map +0 -1
- package/utils/formatDate.d.ts +0 -4
- package/utils/formatDate.js +0 -12
- package/utils/formatDate.js.map +0 -1
- package/utils/joinPath.d.ts +0 -1
- package/utils/joinPath.js +0 -18
- package/utils/joinPath.js.map +0 -1
- package/utils/useAccountAlerts.d.ts +0 -4
- package/utils/useAccountAlerts.js +0 -19
- package/utils/useAccountAlerts.js.map +0 -1
- package/utils/usePromise.d.ts +0 -41
- package/utils/usePromise.js +0 -59
- package/utils/usePromise.js.map +0 -1
- /package/{public → keycloak-theme/account/assets}/logo.svg +0 -0
- /package/{root → keycloak-theme/account/root}/header.module.css +0 -0
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo } from "react";
|
|
3
|
-
import { FormProvider } from "react-hook-form";
|
|
4
|
-
import { SelectControl } from "../../ui-shared/controls/select-control/SelectControl";
|
|
5
|
-
const localeToDisplayName = (locale) => {
|
|
6
|
-
try {
|
|
7
|
-
return new Intl.DisplayNames([locale], { type: "language" }).of(locale);
|
|
8
|
-
}
|
|
9
|
-
catch (_a) {
|
|
10
|
-
return locale;
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
export const LocaleSelector = ({ t, form, supportedLocales, currentLocale, }) => {
|
|
14
|
-
const locales = useMemo(() => supportedLocales
|
|
15
|
-
.map((locale) => {
|
|
16
|
-
var _a;
|
|
17
|
-
return ({
|
|
18
|
-
key: locale,
|
|
19
|
-
value: t(`locale_${locale}`, (_a = localeToDisplayName(locale)) !== null && _a !== void 0 ? _a : locale),
|
|
20
|
-
});
|
|
21
|
-
})
|
|
22
|
-
.sort((a, b) => a.value.localeCompare(b.value, currentLocale)), [supportedLocales, currentLocale, t]);
|
|
23
|
-
if (!locales.length) {
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
return (_jsx(FormProvider, Object.assign({}, form, { children: _jsx(SelectControl, { "data-testid": "locale-select", name: "attributes.locale", label: t("selectALocale"), controller: { defaultValue: "" }, options: locales, variant: locales.length >= 10 ? "typeahead" : "single" }) })));
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=LocaleSelector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LocaleSelector.js","sourceRoot":"","sources":["../../src/ui-shared/user-profile/LocaleSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kFAAkF,CAAC;AAGjH,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC7C,IAAI,CAAC;QACH,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,CAAC,EACD,IAAI,EACJ,gBAAgB,EAChB,aAAa,GACO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CACH,gBAAgB;SACb,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;;QAAC,OAAA,CAAC;YAChB,GAAG,EAAE,MAAM;YACX,KAAK,EAAE,CAAC,CAAC,UAAU,MAAM,EAAE,EAAE,MAAA,mBAAmB,CAAC,MAAM,CAAC,mCAAI,MAAM,CAAC;SACpE,CAAC,CAAA;KAAA,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,EAClE,CAAC,gBAAgB,EAAE,aAAa,EAAE,CAAC,CAAC,CACrC,CAAC;IAEF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CACL,KAAC,YAAY,oBAAK,IAAI,cACpB,KAAC,aAAa,mBACA,eAAe,EAC3B,IAAI,EAAC,mBAAmB,EACxB,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC,EACzB,UAAU,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAChC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,GACtD,IACW,CAChB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { TextInputProps } from "@patternfly/react-core";
|
|
2
|
-
import { type TFunction } from "i18next";
|
|
3
|
-
import { FieldPath, UseFormReturn } from "react-hook-form";
|
|
4
|
-
import { InputType, UserProfileFieldProps } from "../../ui-shared/user-profile/UserProfileFields";
|
|
5
|
-
import { UserFormFields } from "../../ui-shared/user-profile/utils";
|
|
6
|
-
export declare const MultiInputComponent: ({ t, form, attribute, renderer, ...rest }: UserProfileFieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
export type MultiLineInputProps = Omit<TextInputProps, "form"> & {
|
|
8
|
-
t: TFunction;
|
|
9
|
-
name: FieldPath<UserFormFields>;
|
|
10
|
-
form: UseFormReturn<UserFormFields>;
|
|
11
|
-
addButtonLabel?: string;
|
|
12
|
-
isDisabled?: boolean;
|
|
13
|
-
defaultValue?: string[];
|
|
14
|
-
inputType: InputType;
|
|
15
|
-
};
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
-
var t = {};
|
|
3
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
-
t[p] = s[p];
|
|
5
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
-
t[p[i]] = s[p[i]];
|
|
9
|
-
}
|
|
10
|
-
return t;
|
|
11
|
-
};
|
|
12
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
-
import { Button, ButtonVariant, InputGroup, TextInput, InputGroupItem, } from "@patternfly/react-core";
|
|
14
|
-
import { MinusCircleIcon, PlusCircleIcon } from "@patternfly/react-icons";
|
|
15
|
-
import { Fragment, useEffect, useMemo } from "react";
|
|
16
|
-
import { useWatch } from "react-hook-form";
|
|
17
|
-
import { UserProfileGroup } from "../../ui-shared/user-profile/UserProfileGroup";
|
|
18
|
-
import { fieldName, labelAttribute } from "../../ui-shared/user-profile/utils";
|
|
19
|
-
export const MultiInputComponent = (_a) => {
|
|
20
|
-
var { t, form, attribute, renderer } = _a, rest = __rest(_a, ["t", "form", "attribute", "renderer"]);
|
|
21
|
-
return (_jsx(UserProfileGroup, { t: t, form: form, attribute: attribute, renderer: renderer, children: _jsx(MultiLineInput, Object.assign({ t: t, form: form, "aria-label": labelAttribute(t, attribute), name: fieldName(attribute.name), addButtonLabel: t("addMultivaluedLabel", {
|
|
22
|
-
fieldLabel: labelAttribute(t, attribute),
|
|
23
|
-
}) }, rest)) }));
|
|
24
|
-
};
|
|
25
|
-
const MultiLineInput = (_a) => {
|
|
26
|
-
var { t, name, inputType, form, addButtonLabel, isDisabled = false, defaultValue, id } = _a, rest = __rest(_a, ["t", "name", "inputType", "form", "addButtonLabel", "isDisabled", "defaultValue", "id"]);
|
|
27
|
-
const { register, setValue, control } = form;
|
|
28
|
-
const value = useWatch({
|
|
29
|
-
name,
|
|
30
|
-
control,
|
|
31
|
-
defaultValue: defaultValue || "",
|
|
32
|
-
});
|
|
33
|
-
const fields = useMemo(() => {
|
|
34
|
-
return Array.isArray(value) && value.length !== 0
|
|
35
|
-
? value
|
|
36
|
-
: defaultValue || [""];
|
|
37
|
-
}, [value]);
|
|
38
|
-
const remove = (index) => {
|
|
39
|
-
update([...fields.slice(0, index), ...fields.slice(index + 1)]);
|
|
40
|
-
};
|
|
41
|
-
const append = () => {
|
|
42
|
-
update([...fields, ""]);
|
|
43
|
-
};
|
|
44
|
-
const updateValue = (index, value) => {
|
|
45
|
-
update([...fields.slice(0, index), value, ...fields.slice(index + 1)]);
|
|
46
|
-
};
|
|
47
|
-
const update = (values) => {
|
|
48
|
-
const fieldValue = values.flatMap((field) => field);
|
|
49
|
-
setValue(name, fieldValue, {
|
|
50
|
-
shouldDirty: true,
|
|
51
|
-
});
|
|
52
|
-
};
|
|
53
|
-
const type = inputType.startsWith("html")
|
|
54
|
-
? inputType.substring("html".length + 2)
|
|
55
|
-
: "text";
|
|
56
|
-
useEffect(() => {
|
|
57
|
-
register(name);
|
|
58
|
-
}, [register]);
|
|
59
|
-
return (_jsx("div", { id: id, children: fields.map((value, index) => (_jsxs(Fragment, { children: [_jsxs(InputGroup, { children: [_jsx(InputGroupItem, { isFill: true, children: _jsx(TextInput, Object.assign({ "data-testid": name + index, onChange: (_event, value) => updateValue(index, value), name: `${name}.${index}.value`, value: value, isDisabled: isDisabled, type: type }, rest)) }), _jsx(InputGroupItem, { children: _jsx(Button, { "data-testid": "remove" + index, variant: ButtonVariant.link, onClick: () => remove(index), tabIndex: -1, "aria-label": t("remove"), isDisabled: fields.length === 1 || isDisabled, children: _jsx(MinusCircleIcon, {}) }) })] }), index === fields.length - 1 && (_jsxs(Button, { variant: ButtonVariant.link, onClick: append, tabIndex: -1, "aria-label": t("add"), "data-testid": "addValue", isDisabled: !value || isDisabled, children: [_jsx(PlusCircleIcon, {}), " ", t(addButtonLabel || "add")] }))] }, index))) }));
|
|
60
|
-
};
|
|
61
|
-
//# sourceMappingURL=MultiInputComponent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MultiInputComponent.js","sourceRoot":"","sources":["../../src/ui-shared/user-profile/MultiInputComponent.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { Checkbox, Radio } from "@patternfly/react-core";
|
|
3
|
-
import { Controller } from "react-hook-form";
|
|
4
|
-
import { UserProfileGroup } from "../../ui-shared/user-profile/UserProfileGroup";
|
|
5
|
-
import { fieldName, isRequiredAttribute, label } from "../../ui-shared/user-profile/utils";
|
|
6
|
-
export const OptionComponent = (props) => {
|
|
7
|
-
var _a, _b, _c, _d;
|
|
8
|
-
const { form, inputType, attribute } = props;
|
|
9
|
-
const isRequired = isRequiredAttribute(attribute);
|
|
10
|
-
const isMultiSelect = inputType.startsWith("multiselect");
|
|
11
|
-
const Component = isMultiSelect ? Checkbox : Radio;
|
|
12
|
-
const options = ((_b = (_a = attribute.validators) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.options) || [];
|
|
13
|
-
const optionLabel = ((_c = attribute.annotations) === null || _c === void 0 ? void 0 : _c["inputOptionLabels"]) || {};
|
|
14
|
-
const prefix = (_d = attribute.annotations) === null || _d === void 0 ? void 0 : _d["inputOptionLabelsI18nPrefix"];
|
|
15
|
-
return (_jsx(UserProfileGroup, Object.assign({}, props, { children: _jsx(Controller, { name: fieldName(attribute.name), control: form.control, defaultValue: "", render: ({ field }) => (_jsx(_Fragment, { children: options.map((option) => (_jsx(Component, { id: option, "data-testid": option, label: label(props.t, optionLabel[option], option, prefix), value: option, isChecked: field.value.includes(option), onChange: () => {
|
|
16
|
-
if (isMultiSelect) {
|
|
17
|
-
if (field.value.includes(option)) {
|
|
18
|
-
field.onChange(field.value.filter((item) => item !== option));
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
field.onChange([...field.value, option]);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
field.onChange([option]);
|
|
26
|
-
}
|
|
27
|
-
}, readOnly: attribute.readOnly, isRequired: isRequired }, option))) })) }) })));
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=OptionsComponent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OptionsComponent.js","sourceRoot":"","sources":["../../src/ui-shared/user-profile/OptionsComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAM7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0EAA0E,CAAC;AAC5G,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,+DAA+D,CAAC;AAEtH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA4B,EAAE,EAAE;;IAC9D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC7C,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IACnD,MAAM,OAAO,GACX,CAAA,MAAC,MAAA,SAAS,CAAC,UAAU,0CAAE,OAA+B,0CAAE,OAAO,KAAI,EAAE,CAAC;IAExE,MAAM,WAAW,GACf,CAAC,MAAA,SAAS,CAAC,WAAW,0CAAG,mBAAmB,CAAiB,KAAI,EAAE,CAAC;IACtE,MAAM,MAAM,GAAG,MAAA,SAAS,CAAC,WAAW,0CAClC,6BAA6B,CACpB,CAAC;IAEZ,OAAO,CACL,KAAC,gBAAgB,oBAAK,KAAK,cACzB,KAAC,UAAU,IACT,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,YAAY,EAAC,EAAE,EACf,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACrB,4BACG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,KAAC,SAAS,IAER,EAAE,EAAE,MAAM,iBACG,MAAM,EACnB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAC1D,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EACvC,QAAQ,EAAE,GAAG,EAAE;wBACb,IAAI,aAAa,EAAE,CAAC;4BAClB,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gCACjC,KAAK,CAAC,QAAQ,CACZ,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CACtD,CAAC;4BACJ,CAAC;iCAAM,CAAC;gCACN,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;4BAC3C,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC3B,CAAC;oBACH,CAAC,EACD,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAC5B,UAAU,EAAE,UAAU,IApBjB,MAAM,CAqBX,CACH,CAAC,GACD,CACJ,GACD,IACe,CACpB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { SelectOption } from "@patternfly/react-core";
|
|
3
|
-
import { useState } from "react";
|
|
4
|
-
import { Controller } from "react-hook-form";
|
|
5
|
-
import { KeycloakSelect, SelectVariant } from "../../ui-shared/select/KeycloakSelect";
|
|
6
|
-
import { UserProfileGroup } from "../../ui-shared/user-profile/UserProfileGroup";
|
|
7
|
-
import { fieldName, label } from "../../ui-shared/user-profile/utils";
|
|
8
|
-
export const SelectComponent = (props) => {
|
|
9
|
-
var _a, _b, _c, _d;
|
|
10
|
-
const { t, form, inputType, attribute } = props;
|
|
11
|
-
const [open, setOpen] = useState(false);
|
|
12
|
-
const [filter, setFilter] = useState("");
|
|
13
|
-
const isMultiValue = inputType === "multiselect";
|
|
14
|
-
const setValue = (value, field) => {
|
|
15
|
-
if (isMultiValue) {
|
|
16
|
-
if (field.value.includes(value)) {
|
|
17
|
-
field.onChange(field.value.filter((item) => item !== value));
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
if (Array.isArray(field.value)) {
|
|
21
|
-
field.onChange([...field.value, value]);
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
field.onChange([value]);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
field.onChange(value === field.value ? "" : value);
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
const options = ((_b = (_a = attribute.validators) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.options) || [];
|
|
33
|
-
const optionLabel = ((_c = attribute.annotations) === null || _c === void 0 ? void 0 : _c["inputOptionLabels"]) || {};
|
|
34
|
-
const prefix = (_d = attribute.annotations) === null || _d === void 0 ? void 0 : _d["inputOptionLabelsI18nPrefix"];
|
|
35
|
-
const fetchLabel = (option) => label(props.t, optionLabel[option], option, prefix);
|
|
36
|
-
const convertOptions = (selected) => options
|
|
37
|
-
.filter((o) => fetchLabel(o).toLowerCase().includes(filter.toLowerCase()))
|
|
38
|
-
.map((option) => (_jsx(SelectOption, { selected: selected === option, value: option, children: fetchLabel(option) }, option)));
|
|
39
|
-
return (_jsx(UserProfileGroup, Object.assign({}, props, { children: _jsx(Controller, { name: fieldName(attribute.name), defaultValue: "", control: form.control, render: ({ field }) => (_jsx(KeycloakSelect, { toggleId: attribute.name, onToggle: (b) => setOpen(b), onClear: () => setValue("", field), onSelect: (value) => {
|
|
40
|
-
const option = value.toString();
|
|
41
|
-
setValue(option, field);
|
|
42
|
-
if (!Array.isArray(field.value)) {
|
|
43
|
-
setOpen(false);
|
|
44
|
-
}
|
|
45
|
-
}, selections: isMultiValue && Array.isArray(field.value)
|
|
46
|
-
? field.value
|
|
47
|
-
: fetchLabel(field.value), variant: isMultiValue
|
|
48
|
-
? SelectVariant.typeaheadMulti
|
|
49
|
-
: options.length >= 10
|
|
50
|
-
? SelectVariant.typeahead
|
|
51
|
-
: SelectVariant.single, "aria-label": t("selectOne"), isOpen: open, isDisabled: attribute.readOnly, onFilter: (value) => {
|
|
52
|
-
setFilter(value);
|
|
53
|
-
return convertOptions(field.value);
|
|
54
|
-
}, children: convertOptions(field.value) })) }) })));
|
|
55
|
-
};
|
|
56
|
-
//# sourceMappingURL=SelectComponent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SelectComponent.js","sourceRoot":"","sources":["../../src/ui-shared/user-profile/SelectComponent.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { KeycloakTextArea } from "../../ui-shared/controls/keycloak-text-area/KeycloakTextArea";
|
|
3
|
-
import { UserProfileGroup } from "../../ui-shared/user-profile/UserProfileGroup";
|
|
4
|
-
import { fieldName, isRequiredAttribute } from "../../ui-shared/user-profile/utils";
|
|
5
|
-
export const TextAreaComponent = (props) => {
|
|
6
|
-
var _a, _b;
|
|
7
|
-
const { form, attribute } = props;
|
|
8
|
-
const isRequired = isRequiredAttribute(attribute);
|
|
9
|
-
return (_jsx(UserProfileGroup, Object.assign({}, props, { children: _jsx(KeycloakTextArea, Object.assign({ id: attribute.name, "data-testid": attribute.name }, form.register(fieldName(attribute.name)), { cols: (_a = attribute.annotations) === null || _a === void 0 ? void 0 : _a["inputTypeCols"], rows: (_b = attribute.annotations) === null || _b === void 0 ? void 0 : _b["inputTypeRows"], readOnly: attribute.readOnly, isRequired: isRequired })) })));
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=TextAreaComponent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TextAreaComponent.js","sourceRoot":"","sources":["../../src/ui-shared/user-profile/TextAreaComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yFAAyF,CAAC;AAE3H,OAAO,EAAE,gBAAgB,EAAE,MAAM,0EAA0E,CAAC;AAC5G,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,+DAA+D,CAAC;AAE/G,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAA4B,EAAE,EAAE;;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAElD,OAAO,CACL,KAAC,gBAAgB,oBAAK,KAAK,cACzB,KAAC,gBAAgB,kBACf,EAAE,EAAE,SAAS,CAAC,IAAI,iBACL,SAAS,CAAC,IAAI,IACvB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAC5C,IAAI,EAAE,MAAA,SAAS,CAAC,WAAW,0CAAG,eAAe,CAAW,EACxD,IAAI,EAAE,MAAA,SAAS,CAAC,WAAW,0CAAG,eAAe,CAAW,EACxD,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAC5B,UAAU,EAAE,UAAU,IACtB,IACe,CACpB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { TextInput } from "@patternfly/react-core";
|
|
3
|
-
import { UserProfileGroup } from "../../ui-shared/user-profile/UserProfileGroup";
|
|
4
|
-
import { fieldName, isRequiredAttribute, label } from "../../ui-shared/user-profile/utils";
|
|
5
|
-
export const TextComponent = (props) => {
|
|
6
|
-
var _a, _b;
|
|
7
|
-
const { form, inputType, attribute } = props;
|
|
8
|
-
const isRequired = isRequiredAttribute(attribute);
|
|
9
|
-
const type = inputType.startsWith("html")
|
|
10
|
-
? inputType.substring("html".length + 2)
|
|
11
|
-
: "text";
|
|
12
|
-
return (_jsx(UserProfileGroup, Object.assign({}, props, { children: _jsx(TextInput, Object.assign({ id: attribute.name, "data-testid": attribute.name, type: type, placeholder: label(props.t, (_a = attribute.annotations) === null || _a === void 0 ? void 0 : _a["inputTypePlaceholder"], attribute.name, (_b = attribute.annotations) === null || _b === void 0 ? void 0 : _b["inputOptionLabelsI18nPrefix"]), readOnly: attribute.readOnly, isRequired: isRequired }, form.register(fieldName(attribute.name)))) })));
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=TextComponent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TextComponent.js","sourceRoot":"","sources":["../../src/ui-shared/user-profile/TextComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,wBAAwB,CAAC;AAGnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0EAA0E,CAAC;AAC5G,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,+DAA+D,CAAC;AAEtH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAA4B,EAAE,EAAE;;IAC5D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC7C,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;QACvC,CAAC,CAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAoB;QAC5D,CAAC,CAAC,MAAM,CAAC;IAEX,OAAO,CACL,KAAC,gBAAgB,oBAAK,KAAK,cACzB,KAAC,SAAS,kBACR,EAAE,EAAE,SAAS,CAAC,IAAI,iBACL,SAAS,CAAC,IAAI,EAC3B,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,KAAK,CAChB,KAAK,CAAC,CAAC,EACP,MAAA,SAAS,CAAC,WAAW,0CAAG,sBAAsB,CAAW,EACzD,SAAS,CAAC,IAAI,EACd,MAAA,SAAS,CAAC,WAAW,0CAAG,6BAA6B,CAAW,CACjE,EACD,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAC5B,UAAU,EAAE,UAAU,IAClB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAC5C,IACe,CACpB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { UserProfileAttributeMetadata, UserProfileMetadata } from "@keycloak/keycloak-admin-client/lib/defs/userProfileMetadata";
|
|
2
|
-
import { TFunction } from "i18next";
|
|
3
|
-
import { ReactNode, type JSX } from "react";
|
|
4
|
-
import { UseFormReturn } from "react-hook-form";
|
|
5
|
-
import { UserFormFields } from "../../ui-shared/user-profile/utils";
|
|
6
|
-
export type UserProfileError = {
|
|
7
|
-
responseData: {
|
|
8
|
-
errors?: {
|
|
9
|
-
errorMessage: string;
|
|
10
|
-
}[];
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
export type Options = {
|
|
14
|
-
options?: string[];
|
|
15
|
-
};
|
|
16
|
-
export type InputType = "text" | "textarea" | "select" | "select-radiobuttons" | "multiselect" | "multiselect-checkboxes" | "html5-email" | "html5-tel" | "html5-url" | "html5-number" | "html5-range" | "html5-datetime-local" | "html5-date" | "html5-month" | "html5-time" | "multi-input";
|
|
17
|
-
export type UserProfileFieldProps = {
|
|
18
|
-
t: TFunction;
|
|
19
|
-
form: UseFormReturn<UserFormFields>;
|
|
20
|
-
inputType: InputType;
|
|
21
|
-
attribute: UserProfileAttributeMetadata;
|
|
22
|
-
renderer?: (attribute: UserProfileAttributeMetadata) => ReactNode;
|
|
23
|
-
};
|
|
24
|
-
export type OptionLabel = Record<string, string> | undefined;
|
|
25
|
-
export declare const FIELDS: {
|
|
26
|
-
[type in InputType]: (props: UserProfileFieldProps) => JSX.Element;
|
|
27
|
-
};
|
|
28
|
-
export type UserProfileFieldsProps = {
|
|
29
|
-
t: TFunction;
|
|
30
|
-
form: UseFormReturn<UserFormFields>;
|
|
31
|
-
userProfileMetadata: UserProfileMetadata;
|
|
32
|
-
supportedLocales: string[];
|
|
33
|
-
currentLocale: string;
|
|
34
|
-
hideReadOnly?: boolean;
|
|
35
|
-
renderer?: (attribute: UserProfileAttributeMetadata) => JSX.Element | undefined;
|
|
36
|
-
};
|
|
37
|
-
export declare const UserProfileFields: ({ t, form, userProfileMetadata, supportedLocales, currentLocale, hideReadOnly, renderer, }: UserProfileFieldsProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Text } from "@patternfly/react-core";
|
|
3
|
-
import { useMemo } from "react";
|
|
4
|
-
import { ScrollForm } from "../../ui-shared/main";
|
|
5
|
-
import { LocaleSelector } from "../../ui-shared/user-profile/LocaleSelector";
|
|
6
|
-
import { MultiInputComponent } from "../../ui-shared/user-profile/MultiInputComponent";
|
|
7
|
-
import { OptionComponent } from "../../ui-shared/user-profile/OptionsComponent";
|
|
8
|
-
import { SelectComponent } from "../../ui-shared/user-profile/SelectComponent";
|
|
9
|
-
import { TextAreaComponent } from "../../ui-shared/user-profile/TextAreaComponent";
|
|
10
|
-
import { TextComponent } from "../../ui-shared/user-profile/TextComponent";
|
|
11
|
-
import { fieldName, isRootAttribute, label } from "../../ui-shared/user-profile/utils";
|
|
12
|
-
export const FIELDS = {
|
|
13
|
-
text: TextComponent,
|
|
14
|
-
textarea: TextAreaComponent,
|
|
15
|
-
select: SelectComponent,
|
|
16
|
-
"select-radiobuttons": OptionComponent,
|
|
17
|
-
multiselect: SelectComponent,
|
|
18
|
-
"multiselect-checkboxes": OptionComponent,
|
|
19
|
-
"html5-email": TextComponent,
|
|
20
|
-
"html5-tel": TextComponent,
|
|
21
|
-
"html5-url": TextComponent,
|
|
22
|
-
"html5-number": TextComponent,
|
|
23
|
-
"html5-range": TextComponent,
|
|
24
|
-
"html5-datetime-local": TextComponent,
|
|
25
|
-
"html5-date": TextComponent,
|
|
26
|
-
"html5-month": TextComponent,
|
|
27
|
-
"html5-time": TextComponent,
|
|
28
|
-
"multi-input": MultiInputComponent,
|
|
29
|
-
};
|
|
30
|
-
export const UserProfileFields = ({ t, form, userProfileMetadata, supportedLocales, currentLocale, hideReadOnly = false, renderer, }) => {
|
|
31
|
-
// Group attributes by group, for easier rendering.
|
|
32
|
-
const groupsWithAttributes = useMemo(() => {
|
|
33
|
-
var _a;
|
|
34
|
-
// If there are no attributes, there is no need to group them.
|
|
35
|
-
if (!userProfileMetadata.attributes) {
|
|
36
|
-
return [];
|
|
37
|
-
}
|
|
38
|
-
// Hide read-only attributes if 'hideReadOnly' is enabled.
|
|
39
|
-
const attributes = hideReadOnly
|
|
40
|
-
? userProfileMetadata.attributes.filter(({ readOnly }) => !readOnly)
|
|
41
|
-
: userProfileMetadata.attributes;
|
|
42
|
-
return [
|
|
43
|
-
// Insert an empty group for attributes without a group.
|
|
44
|
-
{ name: undefined },
|
|
45
|
-
...((_a = userProfileMetadata.groups) !== null && _a !== void 0 ? _a : []),
|
|
46
|
-
].map((group) => ({
|
|
47
|
-
group,
|
|
48
|
-
attributes: attributes.filter((attribute) => attribute.group === group.name),
|
|
49
|
-
}));
|
|
50
|
-
}, [
|
|
51
|
-
hideReadOnly,
|
|
52
|
-
userProfileMetadata.groups,
|
|
53
|
-
userProfileMetadata.attributes,
|
|
54
|
-
]);
|
|
55
|
-
if (groupsWithAttributes.length === 0) {
|
|
56
|
-
return null;
|
|
57
|
-
}
|
|
58
|
-
return (_jsx(ScrollForm, { label: t("jumpToSection"), sections: groupsWithAttributes
|
|
59
|
-
.filter((group) => group.attributes.length > 0)
|
|
60
|
-
.map(({ group, attributes }) => ({
|
|
61
|
-
title: label(t, group.displayHeader, group.name) || t("general"),
|
|
62
|
-
panel: (_jsxs("div", { className: "pf-v5-c-form", children: [group.displayDescription && (_jsx(Text, { className: "pf-v5-u-pb-lg", children: label(t, group.displayDescription, "") })), attributes.map((attribute) => (_jsx(FormField, { t: t, form: form, supportedLocales: supportedLocales, currentLocale: currentLocale, renderer: renderer, attribute: attribute }, attribute.name)))] })),
|
|
63
|
-
})) }));
|
|
64
|
-
};
|
|
65
|
-
const FormField = ({ t, form, renderer, supportedLocales, currentLocale, attribute, }) => {
|
|
66
|
-
var _a;
|
|
67
|
-
const value = form.watch(fieldName(attribute.name));
|
|
68
|
-
const inputType = useMemo(() => determineInputType(attribute), [attribute]);
|
|
69
|
-
const Component = attribute.multivalued ||
|
|
70
|
-
(isMultiValue(value) && ((_a = attribute.annotations) === null || _a === void 0 ? void 0 : _a.inputType) === undefined)
|
|
71
|
-
? FIELDS["multi-input"]
|
|
72
|
-
: FIELDS[inputType];
|
|
73
|
-
if (attribute.name === "locale")
|
|
74
|
-
return (_jsx(LocaleSelector, { form: form, supportedLocales: supportedLocales, currentLocale: currentLocale, t: t, attribute: attribute }));
|
|
75
|
-
return (_jsx(Component, { t: t, form: form, inputType: inputType, attribute: attribute, renderer: renderer }));
|
|
76
|
-
};
|
|
77
|
-
const DEFAULT_INPUT_TYPE = "text";
|
|
78
|
-
function determineInputType(attribute) {
|
|
79
|
-
var _a;
|
|
80
|
-
// Always treat the root attributes as a text field.
|
|
81
|
-
if (isRootAttribute(attribute.name)) {
|
|
82
|
-
return "text";
|
|
83
|
-
}
|
|
84
|
-
const inputType = (_a = attribute.annotations) === null || _a === void 0 ? void 0 : _a.inputType;
|
|
85
|
-
// if we have an valid input type use that to render
|
|
86
|
-
if (isValidInputType(inputType)) {
|
|
87
|
-
return inputType;
|
|
88
|
-
}
|
|
89
|
-
// In all other cases use the default
|
|
90
|
-
return DEFAULT_INPUT_TYPE;
|
|
91
|
-
}
|
|
92
|
-
const isValidInputType = (value) => typeof value === "string" && value in FIELDS;
|
|
93
|
-
const isMultiValue = (value) => Array.isArray(value) && value.length > 1;
|
|
94
|
-
//# sourceMappingURL=UserProfileFields.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UserProfileFields.js","sourceRoot":"","sources":["../../src/ui-shared/user-profile/UserProfileFields.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { UserProfileAttributeMetadata } from "@keycloak/keycloak-admin-client/lib/defs/userProfileMetadata";
|
|
2
|
-
import { TFunction } from "i18next";
|
|
3
|
-
import { PropsWithChildren, ReactNode } from "react";
|
|
4
|
-
import { UseFormReturn } from "react-hook-form";
|
|
5
|
-
import { UserFormFields } from "../../ui-shared/user-profile/utils";
|
|
6
|
-
export type UserProfileGroupProps = {
|
|
7
|
-
t: TFunction;
|
|
8
|
-
form: UseFormReturn<UserFormFields>;
|
|
9
|
-
attribute: UserProfileAttributeMetadata;
|
|
10
|
-
renderer?: (attribute: UserProfileAttributeMetadata) => ReactNode;
|
|
11
|
-
};
|
|
12
|
-
export declare const UserProfileGroup: ({ t, form, attribute, renderer, children, }: PropsWithChildren<UserProfileGroupProps>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { FormGroup, InputGroup } from "@patternfly/react-core";
|
|
3
|
-
import { get } from "lodash-es";
|
|
4
|
-
import { FormErrorText } from "../../ui-shared/controls/FormErrorText";
|
|
5
|
-
import { HelpItem } from "../../ui-shared/controls/HelpItem";
|
|
6
|
-
import { fieldName, isRequiredAttribute, label, labelAttribute, } from "../../ui-shared/user-profile/utils";
|
|
7
|
-
export const UserProfileGroup = ({ t, form, attribute, renderer, children, }) => {
|
|
8
|
-
var _a;
|
|
9
|
-
const helpText = label(t, (_a = attribute.annotations) === null || _a === void 0 ? void 0 : _a["inputHelperTextBefore"]);
|
|
10
|
-
const { formState: { errors }, } = form;
|
|
11
|
-
const component = renderer === null || renderer === void 0 ? void 0 : renderer(attribute);
|
|
12
|
-
const error = get(errors, fieldName(attribute.name));
|
|
13
|
-
return (_jsxs(FormGroup, { label: labelAttribute(t, attribute) || "", fieldId: attribute.name, isRequired: isRequiredAttribute(attribute), labelIcon: helpText ? (_jsx(HelpItem, { helpText: helpText, fieldLabelId: attribute.name })) : undefined, children: [component ? (_jsxs(InputGroup, { children: [children, component] })) : (children), error && (_jsx(FormErrorText, { "data-testid": `${attribute.name}-helper`, message: error.message }))] }, attribute.name));
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=UserProfileGroup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UserProfileGroup.js","sourceRoot":"","sources":["../../src/ui-shared/user-profile/UserProfileGroup.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAIhC,OAAO,EAAE,aAAa,EAAE,MAAM,mEAAmE,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,8DAA8D,CAAC;AACxF,OAAO,EAEL,SAAS,EACT,mBAAmB,EACnB,KAAK,EACL,cAAc,GACf,MAAM,+DAA+D,CAAC;AASvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,CAAC,EACD,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,QAAQ,GACiC,EAAE,EAAE;;IAC7C,MAAM,QAAQ,GAAG,KAAK,CACpB,CAAC,EACD,MAAA,SAAS,CAAC,WAAW,0CAAG,uBAAuB,CAAW,CAC3D,CAAC;IACF,MAAM,EACJ,SAAS,EAAE,EAAE,MAAM,EAAE,GACtB,GAAG,IAAI,CAAC;IAET,MAAM,SAAS,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,SAAS,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAe,CAAC;IAEnE,OAAO,CACL,MAAC,SAAS,IAER,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,EAAE,EACzC,OAAO,EAAE,SAAS,CAAC,IAAI,EACvB,UAAU,EAAE,mBAAmB,CAAC,SAAS,CAAC,EAC1C,SAAS,EACP,QAAQ,CAAC,CAAC,CAAC,CACT,KAAC,QAAQ,IAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,IAAK,GAAI,CAChE,CAAC,CAAC,CAAC,SAAS,aAGd,SAAS,CAAC,CAAC,CAAC,CACX,MAAC,UAAU,eACR,QAAQ,EACR,SAAS,IACC,CACd,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,EACA,KAAK,IAAI,CACR,KAAC,aAAa,mBACC,GAAG,SAAS,CAAC,IAAI,SAAS,EACvC,OAAO,EAAE,KAAK,CAAC,OAAiB,GAChC,CACH,KAvBI,SAAS,CAAC,IAAI,CAwBT,CACb,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { UserProfileAttributeMetadata } from "@keycloak/keycloak-admin-client/lib/defs/userProfileMetadata";
|
|
2
|
-
import UserRepresentation from "@keycloak/keycloak-admin-client/lib/defs/userRepresentation";
|
|
3
|
-
import { TFunction } from "i18next";
|
|
4
|
-
import { FieldPath } from "react-hook-form";
|
|
5
|
-
export type KeyValueType = {
|
|
6
|
-
key: string;
|
|
7
|
-
value: string;
|
|
8
|
-
};
|
|
9
|
-
export type UserFormFields = Omit<UserRepresentation, "attributes" | "userProfileMetadata"> & {
|
|
10
|
-
attributes?: KeyValueType[] | Record<string, string | string[]>;
|
|
11
|
-
};
|
|
12
|
-
type FieldError = {
|
|
13
|
-
field: string;
|
|
14
|
-
errorMessage: string;
|
|
15
|
-
params?: string[];
|
|
16
|
-
};
|
|
17
|
-
type ErrorArray = {
|
|
18
|
-
errors?: FieldError[];
|
|
19
|
-
};
|
|
20
|
-
export type UserProfileError = {
|
|
21
|
-
responseData: ErrorArray | FieldError;
|
|
22
|
-
};
|
|
23
|
-
export declare const label: (t: TFunction, text: string | undefined, fallback?: string, prefix?: string) => string;
|
|
24
|
-
export declare const labelAttribute: (t: TFunction, attribute: UserProfileAttributeMetadata) => string;
|
|
25
|
-
export declare const isRootAttribute: (attr?: string) => boolean | "" | undefined;
|
|
26
|
-
export declare const fieldName: (name?: string) => FieldPath<UserFormFields>;
|
|
27
|
-
export declare const beerify: <T extends string>(name: T) => string;
|
|
28
|
-
export declare const debeerify: <T extends string>(name: T) => string;
|
|
29
|
-
export declare function setUserProfileServerError<T>(error: UserProfileError, setError: (field: keyof T, params: object) => void, t: TFunction): void;
|
|
30
|
-
export declare function isRequiredAttribute({ required, validators, }: UserProfileAttributeMetadata): boolean;
|
|
31
|
-
export declare function isUserProfileError(error: unknown): error is UserProfileError;
|
|
32
|
-
export {};
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
const isBundleKey = (displayName) => displayName === null || displayName === void 0 ? void 0 : displayName.includes("${");
|
|
2
|
-
const unWrap = (key) => key.substring(2, key.length - 1);
|
|
3
|
-
export const label = (t, text, fallback, prefix) => {
|
|
4
|
-
const value = text || fallback;
|
|
5
|
-
const bundleKey = isBundleKey(value) ? unWrap(value) : value;
|
|
6
|
-
const key = prefix ? `${prefix}.${bundleKey}` : bundleKey;
|
|
7
|
-
return t(key || "");
|
|
8
|
-
};
|
|
9
|
-
export const labelAttribute = (t, attribute) => label(t, attribute.displayName, attribute.name);
|
|
10
|
-
const ROOT_ATTRIBUTES = ["username", "firstName", "lastName", "email"];
|
|
11
|
-
export const isRootAttribute = (attr) => attr && ROOT_ATTRIBUTES.includes(attr);
|
|
12
|
-
export const fieldName = (name) => `${isRootAttribute(name) ? "" : "attributes."}${name === null || name === void 0 ? void 0 : name.replaceAll(".", "🍺")}`;
|
|
13
|
-
export const beerify = (name) => name.replaceAll(".", "🍺");
|
|
14
|
-
export const debeerify = (name) => name.replaceAll("🍺", ".");
|
|
15
|
-
export function setUserProfileServerError(error, setError, t) {
|
|
16
|
-
(error.responseData.errors !== undefined
|
|
17
|
-
? error.responseData.errors
|
|
18
|
-
: [error.responseData]).forEach((e) => {
|
|
19
|
-
var _a;
|
|
20
|
-
const params = Object.assign({}, (_a = e.params) === null || _a === void 0 ? void 0 : _a.map((p) => (isBundleKey(p.toString()) ? t(unWrap(p)) : p)));
|
|
21
|
-
setError(fieldName(e.field), {
|
|
22
|
-
message: t(isBundleKey(e.errorMessage) ? unWrap(e.errorMessage) : e.errorMessage, Object.assign(Object.assign({}, params), { defaultValue: e.errorMessage || e.field })),
|
|
23
|
-
type: "server",
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
export function isRequiredAttribute({ required, validators, }) {
|
|
28
|
-
// Check if required is true or if the validators include a validation that would make the attribute implicitly required.
|
|
29
|
-
return required || hasRequiredValidators(validators);
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Checks whether the given validators include a validation that would make the attribute implicitly required.
|
|
33
|
-
*/
|
|
34
|
-
function hasRequiredValidators(validators) {
|
|
35
|
-
// If we don't have any validators, the attribute is not required.
|
|
36
|
-
if (!validators) {
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
// If the 'length' validator is defined and has a minimal length greater than zero the attribute is implicitly required.
|
|
40
|
-
// We have to do a lot of defensive coding here, because we don't have type information for the validators.
|
|
41
|
-
if ("length" in validators &&
|
|
42
|
-
"min" in validators.length &&
|
|
43
|
-
typeof validators.length.min === "number") {
|
|
44
|
-
return validators.length.min > 0;
|
|
45
|
-
}
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
export function isUserProfileError(error) {
|
|
49
|
-
// Check if the error is an object with a 'responseData' property.
|
|
50
|
-
if (typeof error !== "object" ||
|
|
51
|
-
error === null ||
|
|
52
|
-
!("responseData" in error)) {
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
const { responseData } = error;
|
|
56
|
-
if (isFieldError(responseData)) {
|
|
57
|
-
return true;
|
|
58
|
-
}
|
|
59
|
-
// Check if 'responseData' is an object with an 'errors' property that is an array.
|
|
60
|
-
if (typeof responseData !== "object" ||
|
|
61
|
-
responseData === null ||
|
|
62
|
-
!("errors" in responseData) ||
|
|
63
|
-
!Array.isArray(responseData.errors)) {
|
|
64
|
-
return false;
|
|
65
|
-
}
|
|
66
|
-
// Check if all errors are field errors.
|
|
67
|
-
return responseData.errors.every(isFieldError);
|
|
68
|
-
}
|
|
69
|
-
function isFieldError(error) {
|
|
70
|
-
// Check if the error is an object.
|
|
71
|
-
if (typeof error !== "object" || error === null) {
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
// Check if the error object has a 'field' property that is a string.
|
|
75
|
-
if (!("field" in error) || typeof error.field !== "string") {
|
|
76
|
-
return false;
|
|
77
|
-
}
|
|
78
|
-
// Check if the error object has an 'errorMessage' property that is a string.
|
|
79
|
-
if (!("errorMessage" in error) || typeof error.errorMessage !== "string") {
|
|
80
|
-
return false;
|
|
81
|
-
}
|
|
82
|
-
return true;
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ui-shared/user-profile/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Component, type ComponentType, type FunctionComponent, type GetDerivedStateFromError, type ReactNode } from "react";
|
|
2
|
-
export interface ErrorBoundaryContextValue {
|
|
3
|
-
error?: Error;
|
|
4
|
-
showBoundary: (error?: Error) => void;
|
|
5
|
-
}
|
|
6
|
-
export declare const useErrorBoundary: () => ErrorBoundaryContextValue;
|
|
7
|
-
export interface ErrorBoundaryProviderProps {
|
|
8
|
-
children: ReactNode;
|
|
9
|
-
}
|
|
10
|
-
export interface ErrorBoundaryProviderState {
|
|
11
|
-
error?: Error;
|
|
12
|
-
}
|
|
13
|
-
export declare class ErrorBoundaryProvider extends Component<ErrorBoundaryProviderProps, ErrorBoundaryProviderState> {
|
|
14
|
-
state: ErrorBoundaryProviderState;
|
|
15
|
-
static getDerivedStateFromError: GetDerivedStateFromError<ErrorBoundaryProviderProps, ErrorBoundaryProviderState>;
|
|
16
|
-
showBoundary: (error?: Error) => void;
|
|
17
|
-
render(): import("react/jsx-runtime").JSX.Element;
|
|
18
|
-
}
|
|
19
|
-
export interface FallbackProps {
|
|
20
|
-
error: Error;
|
|
21
|
-
}
|
|
22
|
-
export interface ErrorBoundaryFallbackProps {
|
|
23
|
-
fallback: ComponentType<FallbackProps>;
|
|
24
|
-
children: ReactNode;
|
|
25
|
-
}
|
|
26
|
-
export declare const ErrorBoundaryFallback: FunctionComponent<ErrorBoundaryFallbackProps>;
|