@carlonicora/nextjs-jsonapi 1.0.3 → 1.0.5
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/dist/{AbstractService-BKlpJA61.d.mts → AbstractService-B2n_JdiC.d.mts} +1 -1
- package/dist/{AbstractService-D9eSVKNa.d.ts → AbstractService-DtQTYovo.d.ts} +1 -1
- package/dist/{content.interface-Dg2lt_An.d.mts → AuthComponent-CPLvEerw.d.mts} +11 -15
- package/dist/{content.interface-BhyAiOFq.d.ts → AuthComponent-m6Qp4Hz6.d.ts} +11 -15
- package/dist/{BlockNoteEditor-UVO3VZZE.mjs → BlockNoteEditor-BLVXQPXV.mjs} +14 -18
- package/dist/{BlockNoteEditor-UVO3VZZE.mjs.map → BlockNoteEditor-BLVXQPXV.mjs.map} +1 -1
- package/dist/{BlockNoteEditor-VFWG6LXI.js → BlockNoteEditor-ZTDHULFT.js} +15 -19
- package/dist/BlockNoteEditor-ZTDHULFT.js.map +1 -0
- package/dist/JsonApiRequest-O7BGUMFO.mjs +23 -0
- package/dist/JsonApiRequest-VARLNKAF.js +23 -0
- package/dist/JsonApiRequest-VARLNKAF.js.map +1 -0
- package/dist/chunk-2LM6LCJW.mjs +1 -0
- package/dist/chunk-3APORDYP.mjs +7783 -0
- package/dist/chunk-3APORDYP.mjs.map +1 -0
- package/dist/{chunk-TMVHSY3Y.js → chunk-5ZEADNNP.js} +36 -17
- package/dist/chunk-5ZEADNNP.js.map +1 -0
- package/dist/{chunk-ECDTZBYO.mjs → chunk-74F6BBHH.mjs} +21 -2
- package/dist/chunk-74F6BBHH.mjs.map +1 -0
- package/dist/{chunk-GYWPEPOH.mjs → chunk-7C5RAEBO.mjs} +72 -68
- package/dist/chunk-7C5RAEBO.mjs.map +1 -0
- package/dist/chunk-A5DDIABK.js +1 -0
- package/dist/{chunk-TEGF6ZWG.js → chunk-AGAJMJ4T.js} +47 -9
- package/dist/chunk-AGAJMJ4T.js.map +1 -0
- package/dist/{chunk-CXQOWQSY.js → chunk-AYHKQWHH.js} +15 -2
- package/dist/chunk-AYHKQWHH.js.map +1 -0
- package/dist/{chunk-I2REI7OA.js → chunk-HMHGLXWC.js} +33 -15
- package/dist/chunk-HMHGLXWC.js.map +1 -0
- package/dist/chunk-IWFGEPAA.mjs +1 -0
- package/dist/chunk-JC3WJK65.js +1 -0
- package/dist/{chunk-L6EQEAXU.mjs → chunk-PYF2U6WG.mjs} +25 -7
- package/dist/chunk-PYF2U6WG.mjs.map +1 -0
- package/dist/{chunk-YDVTFM7X.mjs → chunk-RBIVEH2K.mjs} +42 -4
- package/dist/chunk-RBIVEH2K.mjs.map +1 -0
- package/dist/{chunk-V2JJPI7N.js → chunk-RZO2LOW4.js} +237 -233
- package/dist/chunk-RZO2LOW4.js.map +1 -0
- package/dist/{chunk-X4BIHJ2B.mjs → chunk-SM63SZCP.mjs} +15 -2
- package/dist/chunk-SM63SZCP.mjs.map +1 -0
- package/dist/chunk-WEC4YMOS.js +7783 -0
- package/dist/chunk-WEC4YMOS.js.map +1 -0
- package/dist/client/index.d.mts +21 -2
- package/dist/client/index.d.ts +21 -2
- package/dist/client/index.js +18 -245
- package/dist/client/index.js.map +1 -1
- package/dist/client/index.mjs +28 -255
- package/dist/client/index.mjs.map +1 -1
- package/dist/components/index.d.mts +293 -8
- package/dist/components/index.d.ts +293 -8
- package/dist/components/index.js +78 -2323
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +172 -2417
- package/dist/components/index.mjs.map +1 -1
- package/dist/{config-hXufftVS.d.ts → config-BmnK65TD.d.mts} +1 -0
- package/dist/{config-hXufftVS.d.mts → config-BmnK65TD.d.ts} +1 -0
- package/dist/config-DQeAo9Kf.d.mts +49 -0
- package/dist/config-DQeAo9Kf.d.ts +49 -0
- package/dist/contexts/index.d.mts +109 -21
- package/dist/contexts/index.d.ts +109 -21
- package/dist/contexts/index.js +39 -7
- package/dist/contexts/index.js.map +1 -1
- package/dist/contexts/index.mjs +40 -8
- package/dist/core/index.d.mts +3 -4
- package/dist/core/index.d.ts +3 -4
- package/dist/core/index.js +3 -7
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.mjs +4 -8
- package/dist/{d3.link.interface-QMdB22bC.d.mts → d3.link.interface-ClC4Irqp.d.mts} +2 -1
- package/dist/{d3.link.interface-QMdB22bC.d.ts → d3.link.interface-ClC4Irqp.d.ts} +2 -1
- package/dist/features/index.d.mts +17 -86
- package/dist/features/index.d.ts +17 -86
- package/dist/features/index.js +7 -16
- package/dist/features/index.js.map +1 -1
- package/dist/features/index.mjs +10 -19
- package/dist/hooks/index.d.mts +18 -43
- package/dist/hooks/index.d.ts +18 -43
- package/dist/hooks/index.js +20 -7
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +19 -6
- package/dist/index.d.mts +10 -6
- package/dist/index.d.ts +10 -6
- package/dist/index.js +13 -10
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +22 -19
- package/dist/interfaces/index.d.mts +2 -1
- package/dist/interfaces/index.d.ts +2 -1
- package/dist/notification.interface-BBgMUdLR.d.mts +14 -0
- package/dist/notification.interface-gyvT-Z2F.d.ts +14 -0
- package/dist/permissions/index.d.mts +2 -3
- package/dist/permissions/index.d.ts +2 -3
- package/dist/server/index.d.mts +38 -18
- package/dist/server/index.d.ts +38 -18
- package/dist/server/index.js +70 -2
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +68 -0
- package/dist/server/index.mjs.map +1 -1
- package/dist/types-BUAlgqqh.d.ts +39 -0
- package/dist/{types-DluCaP1I.d.ts → types-Bl61ob-7.d.mts} +19 -2
- package/dist/{types-lQVA8d_P.d.mts → types-Bl61ob-7.d.ts} +19 -2
- package/dist/types-iVdVY7ba.d.mts +39 -0
- package/dist/useSocket-Cn7fB_B1.d.mts +25 -0
- package/dist/useSocket-DzMKRKCA.d.ts +25 -0
- package/dist/user.fields-CbdObSmS.d.mts +18 -0
- package/dist/user.fields-CbdObSmS.d.ts +18 -0
- package/dist/utils/index.d.mts +1 -2
- package/dist/utils/index.d.ts +1 -2
- package/package.json +6 -3
- package/src/atoms/index.ts +1 -0
- package/src/atoms/recentPagesAtom.ts +10 -0
- package/src/client/context/JsonApiContext.ts +61 -0
- package/src/client/context/JsonApiProvider.tsx +27 -0
- package/src/client/context/index.ts +2 -0
- package/src/client/hooks/index.ts +3 -0
- package/src/client/hooks/useJsonApiGet.ts +188 -0
- package/src/client/hooks/useJsonApiMutation.ts +193 -0
- package/src/client/hooks/useRehydration.ts +47 -0
- package/src/client/index.ts +24 -0
- package/src/client/request.ts +97 -0
- package/src/client/token.ts +10 -0
- package/src/components/containers/PageContainer.tsx +15 -0
- package/src/components/containers/ReactMarkdownContainer.tsx +119 -0
- package/src/components/containers/TabsContainer.tsx +93 -0
- package/src/components/containers/index.ts +3 -0
- package/src/components/contents/AttributeElement.tsx +20 -0
- package/src/components/contents/index.ts +1 -0
- package/src/components/details/AllowedUsersDetails.tsx +23 -0
- package/src/components/details/index.ts +1 -0
- package/src/components/editors/BlockNoteDiffInlineContent.tsx +152 -0
- package/src/components/editors/BlockNoteEditor.tsx +404 -0
- package/src/components/editors/BlockNoteEditorContainer.tsx +13 -0
- package/src/components/editors/BlockNoteEditorFormattingToolbar.tsx +38 -0
- package/src/components/editors/index.ts +1 -0
- package/src/components/errors/ErrorDetails.tsx +41 -0
- package/src/components/errors/errorToast.ts +9 -0
- package/src/components/errors/index.ts +2 -0
- package/src/components/forms/CommonAssociationForm.tsx +162 -0
- package/src/components/forms/CommonDeleter.tsx +94 -0
- package/src/components/forms/CommonEditorButtons.tsx +30 -0
- package/src/components/forms/CommonEditorHeader.tsx +35 -0
- package/src/components/forms/CommonEditorTrigger.tsx +26 -0
- package/src/components/forms/DatePickerPopover.tsx +219 -0
- package/src/components/forms/DateRangeSelector.tsx +110 -0
- package/src/components/forms/FileUploader.tsx +324 -0
- package/src/components/forms/FormCheckbox.tsx +66 -0
- package/src/components/forms/FormContainerGeneric.tsx +39 -0
- package/src/components/forms/FormDate.tsx +247 -0
- package/src/components/forms/FormDateTime.tsx +231 -0
- package/src/components/forms/FormInput.tsx +110 -0
- package/src/components/forms/FormPassword.tsx +54 -0
- package/src/components/forms/FormPlaceAutocomplete.tsx +286 -0
- package/src/components/forms/FormSelect.tsx +72 -0
- package/src/components/forms/FormSlider.tsx +51 -0
- package/src/components/forms/FormSwitch.tsx +25 -0
- package/src/components/forms/FormTextarea.tsx +44 -0
- package/src/components/forms/MultiFileUploader.tsx +107 -0
- package/src/components/forms/PasswordInput.tsx +47 -0
- package/src/components/forms/index.ts +22 -0
- package/src/components/index.ts +16 -0
- package/src/components/navigations/Breadcrumb.tsx +83 -0
- package/src/components/navigations/ContentTitle.tsx +39 -0
- package/src/components/navigations/Header.tsx +27 -0
- package/src/components/navigations/ModeToggleSwitch.tsx +25 -0
- package/src/components/navigations/PageSection.tsx +64 -0
- package/src/components/navigations/RecentPagesNavigator.tsx +52 -0
- package/src/components/navigations/index.ts +6 -0
- package/src/components/pages/PageContainerContentDetails.tsx +76 -0
- package/src/components/pages/PageContentContainer.tsx +31 -0
- package/src/components/pages/index.ts +2 -0
- package/src/components/tables/ContentListTable.tsx +166 -0
- package/src/components/tables/ContentTableSearch.tsx +105 -0
- package/src/components/tables/cells/cell.component.tsx +18 -0
- package/src/components/tables/cells/cell.date.tsx +16 -0
- package/src/components/tables/cells/cell.id.tsx +27 -0
- package/src/components/tables/cells/cell.link.tsx +18 -0
- package/src/components/tables/cells/cell.text.tsx +12 -0
- package/src/components/tables/cells/cell.url.tsx +13 -0
- package/src/components/tables/cells/index.ts +5 -0
- package/src/components/tables/index.ts +3 -0
- package/src/contexts/CommonContext.tsx +52 -0
- package/src/contexts/SharedContext.tsx +37 -0
- package/src/contexts/SocketContext.tsx +65 -0
- package/src/contexts/index.ts +7 -0
- package/src/core/abstracts/AbstractApiData.ts +138 -0
- package/src/core/abstracts/AbstractService.ts +263 -0
- package/src/core/abstracts/index.ts +2 -0
- package/src/core/endpoint/EndpointCreator.ts +97 -0
- package/src/core/endpoint/index.ts +1 -0
- package/src/core/factories/JsonApiDataFactory.ts +12 -0
- package/src/core/factories/RehydrationFactory.ts +30 -0
- package/src/core/factories/index.ts +2 -0
- package/src/core/fields/FieldSelector.ts +15 -0
- package/src/core/fields/index.ts +1 -0
- package/src/core/index.ts +20 -0
- package/src/core/interfaces/ApiData.ts +8 -0
- package/src/core/interfaces/ApiDataInterface.ts +15 -0
- package/src/core/interfaces/ApiRequestDataTypeInterface.ts +14 -0
- package/src/core/interfaces/ApiResponseInterface.ts +17 -0
- package/src/core/interfaces/JsonApiHydratedDataInterface.ts +5 -0
- package/src/core/interfaces/index.ts +5 -0
- package/{dist/chunk-DO2HLAZO.js → src/core/registry/DataClassRegistry.ts} +20 -17
- package/src/core/registry/ModuleRegistrar.ts +43 -0
- package/src/core/registry/ModuleRegistry.ts +64 -0
- package/src/core/registry/index.ts +3 -0
- package/src/core/utils/index.ts +2 -0
- package/src/core/utils/rehydrate.ts +24 -0
- package/src/core/utils/translateResponse.ts +125 -0
- package/src/features/auth/auth.module.ts +9 -0
- package/src/features/auth/components/containers/AuthContainer.tsx +32 -0
- package/src/features/auth/components/containers/index.ts +1 -0
- package/src/features/auth/components/details/LandingComponent.tsx +39 -0
- package/src/features/auth/components/details/index.ts +1 -0
- package/src/features/auth/components/forms/AcceptInvitation.tsx +136 -0
- package/src/features/auth/components/forms/ActivateAccount.tsx +75 -0
- package/src/features/auth/components/forms/Cookies.tsx +32 -0
- package/src/features/auth/components/forms/ForgotPassword.tsx +108 -0
- package/src/features/auth/components/forms/Login.tsx +118 -0
- package/src/features/auth/components/forms/Logout.tsx +19 -0
- package/src/features/auth/components/forms/RefreshUser.tsx +39 -0
- package/src/features/auth/components/forms/Register.tsx +150 -0
- package/src/features/auth/components/forms/ResetPassword.tsx +126 -0
- package/src/features/auth/components/forms/index.ts +9 -0
- package/src/features/auth/components/index.ts +3 -0
- package/src/features/auth/config.ts +57 -0
- package/src/features/auth/contexts/AuthContext.tsx +77 -0
- package/src/features/auth/contexts/index.ts +1 -0
- package/src/features/auth/data/auth.interface.ts +31 -0
- package/src/features/auth/data/auth.service.ts +159 -0
- package/src/features/auth/data/auth.ts +54 -0
- package/src/features/auth/data/index.ts +3 -0
- package/src/features/auth/enums/AuthComponent.ts +9 -0
- package/src/features/auth/enums/index.ts +1 -0
- package/src/features/auth/index.ts +4 -0
- package/src/features/auth/utils/AuthCookies.ts +134 -0
- package/src/features/auth/utils/index.ts +1 -0
- package/src/features/company/company.module.ts +10 -0
- package/src/features/company/components/containers/AdminCompanyContainer.tsx +26 -0
- package/src/features/company/components/containers/CompanyContainer.tsx +17 -0
- package/src/features/company/components/containers/index.ts +2 -0
- package/src/features/company/components/details/CompanyDetails.tsx +26 -0
- package/src/features/company/components/details/index.ts +1 -0
- package/src/features/company/components/forms/CompanyConfigurationEditor.tsx +151 -0
- package/src/features/company/components/forms/CompanyConfigurationSecurityForm.tsx +97 -0
- package/src/features/company/components/forms/CompanyDeleter.tsx +121 -0
- package/src/features/company/components/forms/CompanyEditor.tsx +245 -0
- package/src/features/company/components/forms/CompanyLicense.tsx +213 -0
- package/src/features/company/components/forms/index.ts +5 -0
- package/src/features/company/components/index.ts +4 -0
- package/src/features/company/components/lists/CompaniesList.tsx +31 -0
- package/src/features/company/components/lists/index.ts +1 -0
- package/src/features/company/contexts/CompanyContext.tsx +99 -0
- package/src/features/company/contexts/index.ts +0 -0
- package/src/features/company/data/company.fields.ts +6 -0
- package/src/features/company/data/company.interface.ts +28 -0
- package/src/features/company/data/company.service.ts +73 -0
- package/src/features/company/data/company.ts +104 -0
- package/src/features/company/data/index.ts +4 -0
- package/src/features/company/hooks/index.ts +1 -0
- package/src/features/company/hooks/useCompanyTableStructure.tsx +82 -0
- package/src/features/company/index.ts +2 -0
- package/src/features/content/content.module.ts +20 -0
- package/src/features/content/data/content.fields.ts +13 -0
- package/src/features/content/data/content.interface.ts +23 -0
- package/src/features/content/data/content.service.ts +75 -0
- package/src/features/content/data/content.ts +85 -0
- package/src/features/content/data/index.ts +4 -0
- package/src/features/content/index.ts +2 -0
- package/src/features/feature/components/forms/FormFeatures.tsx +150 -0
- package/src/features/feature/components/forms/index.ts +1 -0
- package/src/features/feature/components/index.ts +1 -0
- package/src/features/feature/data/feature.interface.ts +9 -0
- package/src/features/feature/data/feature.service.ts +19 -0
- package/src/features/feature/data/feature.ts +33 -0
- package/src/features/feature/data/index.ts +3 -0
- package/src/features/feature/feature.module.ts +10 -0
- package/src/features/feature/index.ts +2 -0
- package/src/features/index.ts +12 -0
- package/src/features/module/data/index.ts +2 -0
- package/src/features/module/data/module.interface.ts +12 -0
- package/src/features/module/data/module.ts +42 -0
- package/src/features/module/index.ts +2 -0
- package/src/features/module/module.module.ts +10 -0
- package/src/features/notification/components/common/NotificationErrorBoundary.tsx +51 -0
- package/src/features/notification/components/common/index.ts +1 -0
- package/src/features/notification/components/containers/NotificationsListContainer.tsx +44 -0
- package/src/features/notification/components/containers/index.ts +1 -0
- package/src/features/notification/components/index.ts +5 -0
- package/src/features/notification/components/lists/NotificationsList.tsx +129 -0
- package/src/features/notification/components/lists/index.ts +1 -0
- package/src/features/notification/components/modals/NotificationModal.tsx +220 -0
- package/src/features/notification/components/modals/index.ts +1 -0
- package/src/features/notification/components/notifications/Notification.tsx +120 -0
- package/src/features/notification/components/notifications/PushNotificationProvider.tsx +9 -0
- package/src/features/notification/components/notifications/index.ts +2 -0
- package/src/features/notification/contexts/NotificationContext.tsx +187 -0
- package/src/features/notification/contexts/index.ts +1 -0
- package/src/features/notification/data/index.ts +4 -0
- package/src/features/notification/data/notification.fields.ts +8 -0
- package/src/features/notification/data/notification.interface.ts +14 -0
- package/src/features/notification/data/notification.service.ts +34 -0
- package/src/features/notification/data/notification.ts +51 -0
- package/src/features/notification/index.ts +2 -0
- package/src/features/notification/notification.module.ts +10 -0
- package/src/features/push/data/index.ts +3 -0
- package/src/features/push/data/push.interface.ts +8 -0
- package/src/features/push/data/push.service.ts +17 -0
- package/src/features/push/data/push.ts +18 -0
- package/src/features/push/index.ts +2 -0
- package/src/features/push/push.module.ts +10 -0
- package/src/features/role/components/containers/RoleContainer.tsx +18 -0
- package/src/features/role/components/containers/index.ts +1 -0
- package/src/features/role/components/details/RoleDetails.tsx +21 -0
- package/src/features/role/components/details/index.ts +1 -0
- package/src/features/role/components/forms/FormRoles.tsx +82 -0
- package/src/features/role/components/forms/RemoveUserFromRole.tsx +108 -0
- package/src/features/role/components/forms/UserRoleAdd.tsx +128 -0
- package/src/features/role/components/forms/index.ts +3 -0
- package/src/features/role/components/index.ts +4 -0
- package/src/features/role/components/lists/RolesList.tsx +27 -0
- package/src/features/role/components/lists/UserRolesList.tsx +31 -0
- package/src/features/role/components/lists/index.ts +2 -0
- package/src/features/role/contexts/RoleContext.tsx +84 -0
- package/src/features/role/contexts/index.ts +1 -0
- package/src/features/role/data/index.ts +4 -0
- package/src/features/role/data/role.fields.ts +8 -0
- package/src/features/role/data/role.interface.ts +16 -0
- package/src/features/role/data/role.service.ts +117 -0
- package/src/features/role/data/role.ts +62 -0
- package/src/features/role/hooks/index.ts +1 -0
- package/src/features/role/hooks/useRoleTableStructure.tsx +72 -0
- package/src/features/role/index.ts +2 -0
- package/src/features/role/role.module.ts +10 -0
- package/src/features/s3/data/index.ts +3 -0
- package/src/features/s3/data/s3.interface.ts +11 -0
- package/src/features/s3/data/s3.service.ts +30 -0
- package/src/features/s3/data/s3.ts +60 -0
- package/src/features/s3/index.ts +2 -0
- package/src/features/s3/s3.module.ts +10 -0
- package/src/features/search/index.ts +1 -0
- package/src/features/search/interfaces/index.ts +1 -0
- package/src/features/search/interfaces/search.result.interface.ts +3 -0
- package/src/features/user/author.module.ts +10 -0
- package/src/features/user/components/containers/UserContainer.tsx +23 -0
- package/src/features/user/components/containers/UserIndexContainer.tsx +12 -0
- package/src/features/user/components/containers/UsersListContainer.tsx +36 -0
- package/src/features/user/components/containers/index.ts +3 -0
- package/src/features/user/components/details/UserDetails.tsx +74 -0
- package/src/features/user/components/details/UserIndexDetails.tsx +28 -0
- package/src/features/user/components/details/index.ts +2 -0
- package/src/features/user/components/forms/RoleUserAdd.tsx +93 -0
- package/src/features/user/components/forms/UserAvatarEditor.tsx +78 -0
- package/src/features/user/components/forms/UserDeleter.tsx +49 -0
- package/src/features/user/components/forms/UserEditor.tsx +319 -0
- package/src/features/user/components/forms/UserMultiSelect.tsx +218 -0
- package/src/features/user/components/forms/UserReactivator.tsx +79 -0
- package/src/features/user/components/forms/UserResentInvitationEmail.tsx +88 -0
- package/src/features/user/components/forms/UserSelector.tsx +185 -0
- package/src/features/user/components/forms/index.ts +8 -0
- package/src/features/user/components/index.ts +5 -0
- package/src/features/user/components/lists/AdminUsersList.tsx +41 -0
- package/src/features/user/components/lists/CompanyUsersList.tsx +44 -0
- package/src/features/user/components/lists/ContributorsList.tsx +41 -0
- package/src/features/user/components/lists/RelevantUsersList.tsx +30 -0
- package/src/features/user/components/lists/RoleUsersList.tsx +31 -0
- package/src/features/user/components/lists/UserListInAdd.tsx +53 -0
- package/src/features/user/components/lists/UsersList.tsx +30 -0
- package/src/features/user/components/lists/UsersListByContentIds.tsx +30 -0
- package/src/features/user/components/lists/index.ts +8 -0
- package/src/features/user/components/widgets/UserAvatar.tsx +86 -0
- package/src/features/user/components/widgets/UserAvatarList.tsx +31 -0
- package/src/features/user/components/widgets/UserSearchPopover.tsx +89 -0
- package/src/features/user/components/widgets/index.ts +1 -0
- package/src/features/user/contexts/CurrentUserContext.tsx +156 -0
- package/src/features/user/contexts/UserContext.tsx +106 -0
- package/src/features/user/contexts/index.ts +2 -0
- package/src/features/user/data/index.ts +4 -0
- package/src/features/user/data/user.fields.ts +8 -0
- package/src/features/user/data/user.interface.ts +41 -0
- package/src/features/user/data/user.service.ts +246 -0
- package/src/features/user/data/user.ts +162 -0
- package/src/features/user/hooks/index.ts +2 -0
- package/src/features/user/hooks/useUserSearch.ts +53 -0
- package/src/features/user/hooks/useUserTableStructure.tsx +115 -0
- package/src/features/user/index.ts +3 -0
- package/src/features/user/user.module.ts +21 -0
- package/src/hooks/TableGeneratorRegistry.ts +53 -0
- package/src/hooks/index.ts +37 -0
- package/src/hooks/types.ts +35 -0
- package/src/hooks/url.rewriter.ts +22 -0
- package/src/hooks/useCustomD3Graph.tsx +707 -0
- package/src/hooks/useDataListRetriever.ts +349 -0
- package/src/hooks/useDebounce.ts +33 -0
- package/src/hooks/useNotificationSync.ts +20 -0
- package/src/hooks/usePageTracker.ts +69 -0
- package/src/hooks/usePageUrlGenerator.ts +50 -0
- package/src/hooks/usePushNotifications.ts +82 -0
- package/src/hooks/useSocket.ts +201 -0
- package/src/hooks/useTableGenerator.ts +20 -0
- package/src/i18n/config.ts +74 -0
- package/src/i18n/index.ts +18 -0
- package/src/index.ts +20 -0
- package/src/interfaces/breadcrumb.item.data.interface.ts +4 -0
- package/src/interfaces/d3.link.interface.ts +8 -0
- package/src/interfaces/d3.node.interface.ts +12 -0
- package/src/interfaces/index.ts +3 -0
- package/src/permissions/check.ts +127 -0
- package/src/permissions/index.ts +2 -0
- package/src/permissions/types.ts +109 -0
- package/src/roles/config.ts +46 -0
- package/src/roles/index.ts +1 -0
- package/src/server/ServerSession.ts +103 -0
- package/src/server/cache.ts +28 -0
- package/src/server/index.ts +4 -0
- package/src/server/request.ts +113 -0
- package/src/server/token.ts +10 -0
- package/src/shadcnui/custom/kanban.tsx +1001 -0
- package/src/shadcnui/custom/link.tsx +18 -0
- package/src/shadcnui/custom/multi-select.tsx +382 -0
- package/src/shadcnui/index.ts +49 -0
- package/src/shadcnui/ui/accordion.tsx +52 -0
- package/src/shadcnui/ui/alert-dialog.tsx +141 -0
- package/src/shadcnui/ui/alert.tsx +43 -0
- package/src/shadcnui/ui/avatar.tsx +50 -0
- package/src/shadcnui/ui/badge.tsx +40 -0
- package/src/shadcnui/ui/breadcrumb.tsx +115 -0
- package/src/shadcnui/ui/button.tsx +51 -0
- package/src/shadcnui/ui/calendar.tsx +73 -0
- package/src/shadcnui/ui/card.tsx +43 -0
- package/src/shadcnui/ui/carousel.tsx +225 -0
- package/src/shadcnui/ui/chart.tsx +320 -0
- package/src/shadcnui/ui/checkbox.tsx +29 -0
- package/src/shadcnui/ui/collapsible.tsx +11 -0
- package/src/shadcnui/ui/command.tsx +155 -0
- package/src/shadcnui/ui/context-menu.tsx +179 -0
- package/src/shadcnui/ui/dialog.tsx +96 -0
- package/src/shadcnui/ui/drawer.tsx +89 -0
- package/src/shadcnui/ui/dropdown-menu.tsx +205 -0
- package/src/shadcnui/ui/form.tsx +138 -0
- package/src/shadcnui/ui/hover-card.tsx +29 -0
- package/src/shadcnui/ui/input.tsx +21 -0
- package/src/shadcnui/ui/label.tsx +26 -0
- package/src/shadcnui/ui/navigation-menu.tsx +168 -0
- package/src/shadcnui/ui/popover.tsx +33 -0
- package/src/shadcnui/ui/progress.tsx +25 -0
- package/src/shadcnui/ui/radio-group.tsx +37 -0
- package/src/shadcnui/ui/resizable.tsx +47 -0
- package/src/shadcnui/ui/scroll-area.tsx +40 -0
- package/src/shadcnui/ui/select.tsx +164 -0
- package/src/shadcnui/ui/separator.tsx +28 -0
- package/src/shadcnui/ui/sheet.tsx +139 -0
- package/src/shadcnui/ui/sidebar.tsx +677 -0
- package/src/shadcnui/ui/skeleton.tsx +13 -0
- package/src/shadcnui/ui/slider.tsx +25 -0
- package/src/shadcnui/ui/sonner.tsx +25 -0
- package/src/shadcnui/ui/switch.tsx +31 -0
- package/src/shadcnui/ui/table.tsx +120 -0
- package/src/shadcnui/ui/tabs.tsx +55 -0
- package/src/shadcnui/ui/textarea.tsx +24 -0
- package/src/shadcnui/ui/toggle.tsx +39 -0
- package/src/shadcnui/ui/tooltip.tsx +61 -0
- package/src/unified/JsonApiRequest.ts +348 -0
- package/src/unified/index.ts +1 -0
- package/src/utils/blocknote-diff.util.ts +815 -0
- package/src/utils/blocknote-word-diff-renderer.util.ts +413 -0
- package/src/utils/cn.ts +6 -0
- package/src/utils/compose-refs.ts +61 -0
- package/src/utils/date-formatter.ts +53 -0
- package/src/utils/exists.ts +7 -0
- package/src/utils/index.ts +15 -0
- package/src/utils/schemas/entity.object.schema.ts +8 -0
- package/src/utils/schemas/index.ts +2 -0
- package/src/utils/schemas/user.object.schema.ts +9 -0
- package/src/utils/table-options.ts +67 -0
- package/src/utils/use-mobile.tsx +21 -0
- package/dist/ApiRequestDataTypeInterface-CUKFDBx2.d.mts +0 -20
- package/dist/ApiRequestDataTypeInterface-CUKFDBx2.d.ts +0 -20
- package/dist/BlockNoteEditor-VFWG6LXI.js.map +0 -1
- package/dist/JsonApiRequest-S3ICLM7B.mjs +0 -20
- package/dist/JsonApiRequest-ZZLSP26T.js +0 -20
- package/dist/JsonApiRequest-ZZLSP26T.js.map +0 -1
- package/dist/chunk-366S2JCC.mjs +0 -31
- package/dist/chunk-366S2JCC.mjs.map +0 -1
- package/dist/chunk-5W6AKZE6.mjs +0 -131
- package/dist/chunk-5W6AKZE6.mjs.map +0 -1
- package/dist/chunk-A3J3AAYM.mjs +0 -97
- package/dist/chunk-A3J3AAYM.mjs.map +0 -1
- package/dist/chunk-AWONBQQP.js +0 -97
- package/dist/chunk-AWONBQQP.js.map +0 -1
- package/dist/chunk-CXQOWQSY.js.map +0 -1
- package/dist/chunk-DKKMWBP4.mjs +0 -1
- package/dist/chunk-DKKMWBP4.mjs.map +0 -1
- package/dist/chunk-DO2HLAZO.js.map +0 -1
- package/dist/chunk-DZXDB3K2.mjs +0 -17
- package/dist/chunk-DZXDB3K2.mjs.map +0 -1
- package/dist/chunk-ECDTZBYO.mjs.map +0 -1
- package/dist/chunk-FY4SXJGU.js +0 -806
- package/dist/chunk-FY4SXJGU.js.map +0 -1
- package/dist/chunk-GYWPEPOH.mjs.map +0 -1
- package/dist/chunk-H6FMOA6B.js +0 -1
- package/dist/chunk-H6FMOA6B.js.map +0 -1
- package/dist/chunk-I2REI7OA.js.map +0 -1
- package/dist/chunk-J4Q36PMP.js +0 -31
- package/dist/chunk-J4Q36PMP.js.map +0 -1
- package/dist/chunk-L6EQEAXU.mjs.map +0 -1
- package/dist/chunk-MFO27OHB.mjs +0 -48
- package/dist/chunk-MFO27OHB.mjs.map +0 -1
- package/dist/chunk-RAF7PNLG.js +0 -131
- package/dist/chunk-RAF7PNLG.js.map +0 -1
- package/dist/chunk-RUR22SVM.js +0 -17
- package/dist/chunk-RUR22SVM.js.map +0 -1
- package/dist/chunk-TEGF6ZWG.js.map +0 -1
- package/dist/chunk-TMVHSY3Y.js.map +0 -1
- package/dist/chunk-V2JJPI7N.js.map +0 -1
- package/dist/chunk-WWWMJZEF.mjs +0 -806
- package/dist/chunk-WWWMJZEF.mjs.map +0 -1
- package/dist/chunk-X4BIHJ2B.mjs.map +0 -1
- package/dist/chunk-YDVTFM7X.mjs.map +0 -1
- /package/dist/{JsonApiRequest-S3ICLM7B.mjs.map → JsonApiRequest-O7BGUMFO.mjs.map} +0 -0
package/dist/client/index.mjs
CHANGED
|
@@ -1,264 +1,34 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import {
|
|
3
|
+
JsonApiContext,
|
|
4
|
+
JsonApiProvider,
|
|
5
|
+
useJsonApiConfig,
|
|
6
|
+
useJsonApiConfigOptional,
|
|
7
|
+
useJsonApiGet,
|
|
8
|
+
useJsonApiMutation,
|
|
9
|
+
useRehydration,
|
|
10
|
+
useRehydrationList,
|
|
11
|
+
useRoleTableStructure,
|
|
12
|
+
useUserSearch,
|
|
13
|
+
useUserTableStructure
|
|
14
|
+
} from "../chunk-3APORDYP.mjs";
|
|
2
15
|
import {
|
|
3
16
|
directFetch
|
|
4
17
|
} from "../chunk-C7C7VY4F.mjs";
|
|
18
|
+
import "../chunk-IWFGEPAA.mjs";
|
|
19
|
+
import "../chunk-2LM6LCJW.mjs";
|
|
20
|
+
import "../chunk-7C5RAEBO.mjs";
|
|
5
21
|
import {
|
|
6
22
|
getClientToken
|
|
7
23
|
} from "../chunk-AUXK7QSA.mjs";
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
// src/client/context/JsonApiContext.ts
|
|
17
|
-
import { createContext, useContext } from "react";
|
|
18
|
-
var JsonApiContext = createContext(null);
|
|
19
|
-
function useJsonApiConfig() {
|
|
20
|
-
const config = useContext(JsonApiContext);
|
|
21
|
-
if (!config) {
|
|
22
|
-
throw new Error("useJsonApiConfig must be used within a JsonApiProvider");
|
|
23
|
-
}
|
|
24
|
-
return config;
|
|
25
|
-
}
|
|
26
|
-
__name(useJsonApiConfig, "useJsonApiConfig");
|
|
27
|
-
function useJsonApiConfigOptional() {
|
|
28
|
-
return useContext(JsonApiContext);
|
|
29
|
-
}
|
|
30
|
-
__name(useJsonApiConfigOptional, "useJsonApiConfigOptional");
|
|
31
|
-
|
|
32
|
-
// src/client/context/JsonApiProvider.tsx
|
|
33
|
-
import { useEffect, useMemo } from "react";
|
|
34
|
-
import { jsx } from "react/jsx-runtime";
|
|
35
|
-
function JsonApiProvider({ config, children }) {
|
|
36
|
-
useEffect(() => {
|
|
37
|
-
if (config.bootstrapper) {
|
|
38
|
-
config.bootstrapper();
|
|
39
|
-
}
|
|
40
|
-
}, [config.bootstrapper]);
|
|
41
|
-
const memoizedConfig = useMemo(() => config, [config]);
|
|
42
|
-
return /* @__PURE__ */ jsx(JsonApiContext.Provider, { value: memoizedConfig, children });
|
|
43
|
-
}
|
|
44
|
-
__name(JsonApiProvider, "JsonApiProvider");
|
|
45
|
-
|
|
46
|
-
// src/client/hooks/useJsonApiGet.ts
|
|
47
|
-
import { useState, useEffect as useEffect2, useCallback, useRef } from "react";
|
|
48
|
-
function useJsonApiGet(params) {
|
|
49
|
-
const [data, setData] = useState(null);
|
|
50
|
-
const [loading, setLoading] = useState(false);
|
|
51
|
-
const [error, setError] = useState(null);
|
|
52
|
-
const [response, setResponse] = useState(null);
|
|
53
|
-
const isMounted = useRef(true);
|
|
54
|
-
const fetchData = useCallback(async () => {
|
|
55
|
-
if (params.options?.enabled === false) return;
|
|
56
|
-
setLoading(true);
|
|
57
|
-
setError(null);
|
|
58
|
-
try {
|
|
59
|
-
const { JsonApiGet } = await import("../JsonApiRequest-S3ICLM7B.mjs");
|
|
60
|
-
const language = navigator.language.split("-")[0] || "en";
|
|
61
|
-
const apiResponse = await JsonApiGet({
|
|
62
|
-
classKey: params.classKey,
|
|
63
|
-
endpoint: params.endpoint,
|
|
64
|
-
companyId: params.companyId,
|
|
65
|
-
language
|
|
66
|
-
});
|
|
67
|
-
if (!isMounted.current) return;
|
|
68
|
-
setResponse(apiResponse);
|
|
69
|
-
if (apiResponse.ok) {
|
|
70
|
-
setData(apiResponse.data);
|
|
71
|
-
} else {
|
|
72
|
-
setError(apiResponse.error);
|
|
73
|
-
}
|
|
74
|
-
} catch (err) {
|
|
75
|
-
if (!isMounted.current) return;
|
|
76
|
-
setError(err instanceof Error ? err.message : "Unknown error");
|
|
77
|
-
} finally {
|
|
78
|
-
if (isMounted.current) {
|
|
79
|
-
setLoading(false);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}, [params.classKey, params.endpoint, params.companyId, params.options?.enabled]);
|
|
83
|
-
const fetchNextPage = useCallback(async () => {
|
|
84
|
-
if (!response?.nextPage) return;
|
|
85
|
-
setLoading(true);
|
|
86
|
-
try {
|
|
87
|
-
const nextResponse = await response.nextPage();
|
|
88
|
-
if (!isMounted.current) return;
|
|
89
|
-
setResponse(nextResponse);
|
|
90
|
-
if (nextResponse.ok) {
|
|
91
|
-
setData(nextResponse.data);
|
|
92
|
-
} else {
|
|
93
|
-
setError(nextResponse.error);
|
|
94
|
-
}
|
|
95
|
-
} catch (err) {
|
|
96
|
-
if (!isMounted.current) return;
|
|
97
|
-
setError(err instanceof Error ? err.message : "Unknown error");
|
|
98
|
-
} finally {
|
|
99
|
-
if (isMounted.current) {
|
|
100
|
-
setLoading(false);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}, [response]);
|
|
104
|
-
const fetchPreviousPage = useCallback(async () => {
|
|
105
|
-
if (!response?.prevPage) return;
|
|
106
|
-
setLoading(true);
|
|
107
|
-
try {
|
|
108
|
-
const prevResponse = await response.prevPage();
|
|
109
|
-
if (!isMounted.current) return;
|
|
110
|
-
setResponse(prevResponse);
|
|
111
|
-
if (prevResponse.ok) {
|
|
112
|
-
setData(prevResponse.data);
|
|
113
|
-
} else {
|
|
114
|
-
setError(prevResponse.error);
|
|
115
|
-
}
|
|
116
|
-
} catch (err) {
|
|
117
|
-
if (!isMounted.current) return;
|
|
118
|
-
setError(err instanceof Error ? err.message : "Unknown error");
|
|
119
|
-
} finally {
|
|
120
|
-
if (isMounted.current) {
|
|
121
|
-
setLoading(false);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}, [response]);
|
|
125
|
-
useEffect2(() => {
|
|
126
|
-
isMounted.current = true;
|
|
127
|
-
fetchData();
|
|
128
|
-
return () => {
|
|
129
|
-
isMounted.current = false;
|
|
130
|
-
};
|
|
131
|
-
}, [fetchData, ...params.options?.deps || []]);
|
|
132
|
-
return {
|
|
133
|
-
data,
|
|
134
|
-
loading,
|
|
135
|
-
error,
|
|
136
|
-
response,
|
|
137
|
-
refetch: fetchData,
|
|
138
|
-
hasNextPage: !!response?.next,
|
|
139
|
-
hasPreviousPage: !!response?.prev,
|
|
140
|
-
fetchNextPage,
|
|
141
|
-
fetchPreviousPage
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
__name(useJsonApiGet, "useJsonApiGet");
|
|
145
|
-
|
|
146
|
-
// src/client/hooks/useJsonApiMutation.ts
|
|
147
|
-
import { useState as useState2, useCallback as useCallback2 } from "react";
|
|
148
|
-
function useJsonApiMutation(config) {
|
|
149
|
-
const [data, setData] = useState2(null);
|
|
150
|
-
const [loading, setLoading] = useState2(false);
|
|
151
|
-
const [error, setError] = useState2(null);
|
|
152
|
-
const [response, setResponse] = useState2(null);
|
|
153
|
-
const reset = useCallback2(() => {
|
|
154
|
-
setData(null);
|
|
155
|
-
setLoading(false);
|
|
156
|
-
setError(null);
|
|
157
|
-
setResponse(null);
|
|
158
|
-
}, []);
|
|
159
|
-
const mutate = useCallback2(
|
|
160
|
-
async (params) => {
|
|
161
|
-
setLoading(true);
|
|
162
|
-
setError(null);
|
|
163
|
-
try {
|
|
164
|
-
const { JsonApiPost, JsonApiPut, JsonApiPatch, JsonApiDelete } = await import("../JsonApiRequest-S3ICLM7B.mjs");
|
|
165
|
-
const language = navigator.language.split("-")[0] || "en";
|
|
166
|
-
let apiResponse;
|
|
167
|
-
switch (config.method) {
|
|
168
|
-
case "POST":
|
|
169
|
-
apiResponse = await JsonApiPost({
|
|
170
|
-
classKey: config.classKey,
|
|
171
|
-
endpoint: params.endpoint,
|
|
172
|
-
companyId: params.companyId,
|
|
173
|
-
body: params.body,
|
|
174
|
-
overridesJsonApiCreation: params.overridesJsonApiCreation,
|
|
175
|
-
files: params.files,
|
|
176
|
-
language,
|
|
177
|
-
responseType: params.responseType
|
|
178
|
-
});
|
|
179
|
-
break;
|
|
180
|
-
case "PUT":
|
|
181
|
-
apiResponse = await JsonApiPut({
|
|
182
|
-
classKey: config.classKey,
|
|
183
|
-
endpoint: params.endpoint,
|
|
184
|
-
companyId: params.companyId,
|
|
185
|
-
body: params.body,
|
|
186
|
-
files: params.files,
|
|
187
|
-
language,
|
|
188
|
-
responseType: params.responseType
|
|
189
|
-
});
|
|
190
|
-
break;
|
|
191
|
-
case "PATCH":
|
|
192
|
-
apiResponse = await JsonApiPatch({
|
|
193
|
-
classKey: config.classKey,
|
|
194
|
-
endpoint: params.endpoint,
|
|
195
|
-
companyId: params.companyId,
|
|
196
|
-
body: params.body,
|
|
197
|
-
overridesJsonApiCreation: params.overridesJsonApiCreation,
|
|
198
|
-
files: params.files,
|
|
199
|
-
language,
|
|
200
|
-
responseType: params.responseType
|
|
201
|
-
});
|
|
202
|
-
break;
|
|
203
|
-
case "DELETE":
|
|
204
|
-
apiResponse = await JsonApiDelete({
|
|
205
|
-
classKey: config.classKey,
|
|
206
|
-
endpoint: params.endpoint,
|
|
207
|
-
companyId: params.companyId,
|
|
208
|
-
language,
|
|
209
|
-
responseType: params.responseType
|
|
210
|
-
});
|
|
211
|
-
break;
|
|
212
|
-
}
|
|
213
|
-
setResponse(apiResponse);
|
|
214
|
-
if (apiResponse.ok) {
|
|
215
|
-
const resultData = apiResponse.data;
|
|
216
|
-
setData(resultData);
|
|
217
|
-
config.onSuccess?.(resultData);
|
|
218
|
-
return resultData;
|
|
219
|
-
} else {
|
|
220
|
-
setError(apiResponse.error);
|
|
221
|
-
config.onError?.(apiResponse.error);
|
|
222
|
-
return null;
|
|
223
|
-
}
|
|
224
|
-
} catch (err) {
|
|
225
|
-
const errorMessage = err instanceof Error ? err.message : "Unknown error";
|
|
226
|
-
setError(errorMessage);
|
|
227
|
-
config.onError?.(errorMessage);
|
|
228
|
-
return null;
|
|
229
|
-
} finally {
|
|
230
|
-
setLoading(false);
|
|
231
|
-
}
|
|
232
|
-
},
|
|
233
|
-
[config]
|
|
234
|
-
);
|
|
235
|
-
return {
|
|
236
|
-
data,
|
|
237
|
-
loading,
|
|
238
|
-
error,
|
|
239
|
-
response,
|
|
240
|
-
mutate,
|
|
241
|
-
reset
|
|
242
|
-
};
|
|
243
|
-
}
|
|
244
|
-
__name(useJsonApiMutation, "useJsonApiMutation");
|
|
245
|
-
|
|
246
|
-
// src/client/hooks/useRehydration.ts
|
|
247
|
-
import { useMemo as useMemo2 } from "react";
|
|
248
|
-
function useRehydration(classKey, data) {
|
|
249
|
-
return useMemo2(() => {
|
|
250
|
-
if (!data) return null;
|
|
251
|
-
return RehydrationFactory.rehydrate(classKey, data);
|
|
252
|
-
}, [classKey, data]);
|
|
253
|
-
}
|
|
254
|
-
__name(useRehydration, "useRehydration");
|
|
255
|
-
function useRehydrationList(classKey, data) {
|
|
256
|
-
return useMemo2(() => {
|
|
257
|
-
if (!data || data.length === 0) return [];
|
|
258
|
-
return RehydrationFactory.rehydrateList(classKey, data);
|
|
259
|
-
}, [classKey, data]);
|
|
260
|
-
}
|
|
261
|
-
__name(useRehydrationList, "useRehydrationList");
|
|
24
|
+
import "../chunk-SM63SZCP.mjs";
|
|
25
|
+
import "../chunk-74F6BBHH.mjs";
|
|
26
|
+
import "../chunk-BLWVZK6J.mjs";
|
|
27
|
+
import "../chunk-Q2N6SQYW.mjs";
|
|
28
|
+
import "../chunk-PYF2U6WG.mjs";
|
|
29
|
+
import "../chunk-RBIVEH2K.mjs";
|
|
30
|
+
import "../chunk-DD3KISNB.mjs";
|
|
31
|
+
import "../chunk-PAWJFY3S.mjs";
|
|
262
32
|
export {
|
|
263
33
|
JsonApiContext,
|
|
264
34
|
JsonApiProvider,
|
|
@@ -269,6 +39,9 @@ export {
|
|
|
269
39
|
useJsonApiGet,
|
|
270
40
|
useJsonApiMutation,
|
|
271
41
|
useRehydration,
|
|
272
|
-
useRehydrationList
|
|
42
|
+
useRehydrationList,
|
|
43
|
+
useRoleTableStructure,
|
|
44
|
+
useUserSearch,
|
|
45
|
+
useUserTableStructure
|
|
273
46
|
};
|
|
274
47
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/client/context/JsonApiContext.ts","../../src/client/context/JsonApiProvider.tsx","../../src/client/hooks/useJsonApiGet.ts","../../src/client/hooks/useJsonApiMutation.ts","../../src/client/hooks/useRehydration.ts"],"sourcesContent":["\"use client\";\n\nimport { createContext, useContext } from \"react\";\n\nexport type CacheProfile = \"seconds\" | \"minutes\" | \"hours\" | \"days\" | \"weeks\" | \"max\" | \"default\";\n\nexport interface JsonApiConfig {\n /**\n * The base URL for API requests (e.g., https://api.example.com)\n */\n apiUrl: string;\n\n /**\n * Custom token getter function. If not provided, will use default cookie-based token retrieval.\n */\n tokenGetter?: () => Promise<string | undefined>;\n\n /**\n * Custom language getter function. If not provided, will use browser locale or next-intl.\n */\n languageGetter?: () => Promise<string>;\n\n /**\n * Default headers to include in all requests\n */\n defaultHeaders?: Record<string, string>;\n\n /**\n * Global error handler for failed requests (client-side only)\n */\n onError?: (status: number, message: string) => void;\n\n /**\n * Cache configuration\n */\n cacheConfig?: {\n defaultProfile: CacheProfile;\n };\n\n /**\n * Function to bootstrap the data class registry.\n * Will be called automatically when needed.\n */\n bootstrapper?: () => void;\n}\n\nconst JsonApiContext = createContext<JsonApiConfig | null>(null);\n\nexport function useJsonApiConfig(): JsonApiConfig {\n const config = useContext(JsonApiContext);\n if (!config) {\n throw new Error(\"useJsonApiConfig must be used within a JsonApiProvider\");\n }\n return config;\n}\n\nexport function useJsonApiConfigOptional(): JsonApiConfig | null {\n return useContext(JsonApiContext);\n}\n\nexport { JsonApiContext };\n","\"use client\";\n\nimport React, { useEffect, useMemo } from \"react\";\nimport { JsonApiConfig, JsonApiContext } from \"./JsonApiContext\";\n\nexport interface JsonApiProviderProps {\n config: JsonApiConfig;\n children: React.ReactNode;\n}\n\nexport function JsonApiProvider({ config, children }: JsonApiProviderProps) {\n // Run bootstrapper on mount if provided\n useEffect(() => {\n if (config.bootstrapper) {\n config.bootstrapper();\n }\n }, [config.bootstrapper]);\n\n // Memoize config to prevent unnecessary re-renders\n const memoizedConfig = useMemo(() => config, [config]);\n\n return (\n <JsonApiContext.Provider value={memoizedConfig}>\n {children}\n </JsonApiContext.Provider>\n );\n}\n","\"use client\";\n\nimport { useState, useEffect, useCallback, useRef } from \"react\";\nimport { ApiDataInterface } from \"../../core/interfaces/ApiDataInterface\";\nimport { ApiRequestDataTypeInterface } from \"../../core/interfaces/ApiRequestDataTypeInterface\";\nimport { ApiResponseInterface } from \"../../core/interfaces/ApiResponseInterface\";\n\nexport interface UseJsonApiGetOptions {\n /**\n * Whether to enable the query. If false, the query won't run.\n */\n enabled?: boolean;\n /**\n * Dependencies that trigger a refetch when changed.\n */\n deps?: any[];\n}\n\nexport interface UseJsonApiGetResult<T> {\n /**\n * The fetched data, or null if not yet fetched.\n */\n data: T | null;\n /**\n * Whether the query is currently loading.\n */\n loading: boolean;\n /**\n * Error message if the query failed.\n */\n error: string | null;\n /**\n * The full API response (includes raw data, pagination, etc.)\n */\n response: ApiResponseInterface | null;\n /**\n * Function to manually refetch the data.\n */\n refetch: () => Promise<void>;\n /**\n * Whether there is a next page available.\n */\n hasNextPage: boolean;\n /**\n * Whether there is a previous page available.\n */\n hasPreviousPage: boolean;\n /**\n * Function to fetch the next page.\n */\n fetchNextPage: () => Promise<void>;\n /**\n * Function to fetch the previous page.\n */\n fetchPreviousPage: () => Promise<void>;\n}\n\n/**\n * Hook for fetching data from a JSON:API endpoint.\n *\n * @example\n * ```tsx\n * const { data, loading, error, refetch } = useJsonApiGet<Article>({\n * classKey: Modules.Article,\n * endpoint: `/articles/${id}`,\n * });\n *\n * if (loading) return <Loading />;\n * if (error) return <Error message={error} />;\n * return <ArticleView article={data} />;\n * ```\n */\nexport function useJsonApiGet<T extends ApiDataInterface>(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n options?: UseJsonApiGetOptions;\n}): UseJsonApiGetResult<T> {\n const [data, setData] = useState<T | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n const [response, setResponse] = useState<ApiResponseInterface | null>(null);\n const isMounted = useRef(true);\n\n const fetchData = useCallback(async () => {\n if (params.options?.enabled === false) return;\n\n setLoading(true);\n setError(null);\n\n try {\n const { JsonApiGet } = await import(\"../../unified/JsonApiRequest\");\n const language = navigator.language.split(\"-\")[0] || \"en\";\n\n const apiResponse = await JsonApiGet({\n classKey: params.classKey,\n endpoint: params.endpoint,\n companyId: params.companyId,\n language,\n });\n\n if (!isMounted.current) return;\n\n setResponse(apiResponse);\n\n if (apiResponse.ok) {\n setData(apiResponse.data as T);\n } else {\n setError(apiResponse.error);\n }\n } catch (err) {\n if (!isMounted.current) return;\n setError(err instanceof Error ? err.message : \"Unknown error\");\n } finally {\n if (isMounted.current) {\n setLoading(false);\n }\n }\n }, [params.classKey, params.endpoint, params.companyId, params.options?.enabled]);\n\n const fetchNextPage = useCallback(async () => {\n if (!response?.nextPage) return;\n\n setLoading(true);\n try {\n const nextResponse = await response.nextPage();\n if (!isMounted.current) return;\n\n setResponse(nextResponse);\n if (nextResponse.ok) {\n setData(nextResponse.data as T);\n } else {\n setError(nextResponse.error);\n }\n } catch (err) {\n if (!isMounted.current) return;\n setError(err instanceof Error ? err.message : \"Unknown error\");\n } finally {\n if (isMounted.current) {\n setLoading(false);\n }\n }\n }, [response]);\n\n const fetchPreviousPage = useCallback(async () => {\n if (!response?.prevPage) return;\n\n setLoading(true);\n try {\n const prevResponse = await response.prevPage();\n if (!isMounted.current) return;\n\n setResponse(prevResponse);\n if (prevResponse.ok) {\n setData(prevResponse.data as T);\n } else {\n setError(prevResponse.error);\n }\n } catch (err) {\n if (!isMounted.current) return;\n setError(err instanceof Error ? err.message : \"Unknown error\");\n } finally {\n if (isMounted.current) {\n setLoading(false);\n }\n }\n }, [response]);\n\n useEffect(() => {\n isMounted.current = true;\n fetchData();\n return () => {\n isMounted.current = false;\n };\n }, [fetchData, ...(params.options?.deps || [])]);\n\n return {\n data,\n loading,\n error,\n response,\n refetch: fetchData,\n hasNextPage: !!response?.next,\n hasPreviousPage: !!response?.prev,\n fetchNextPage,\n fetchPreviousPage,\n };\n}\n","\"use client\";\n\nimport { useState, useCallback } from \"react\";\nimport { ApiDataInterface } from \"../../core/interfaces/ApiDataInterface\";\nimport { ApiRequestDataTypeInterface } from \"../../core/interfaces/ApiRequestDataTypeInterface\";\nimport { ApiResponseInterface } from \"../../core/interfaces/ApiResponseInterface\";\n\nexport type MutationMethod = \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n\nexport interface UseJsonApiMutationResult<T> {\n /**\n * The result data from the mutation, or null if not yet executed.\n */\n data: T | null;\n /**\n * Whether the mutation is currently in progress.\n */\n loading: boolean;\n /**\n * Error message if the mutation failed.\n */\n error: string | null;\n /**\n * The full API response.\n */\n response: ApiResponseInterface | null;\n /**\n * Execute the mutation.\n */\n mutate: (params: MutationParams) => Promise<T | null>;\n /**\n * Reset the mutation state.\n */\n reset: () => void;\n}\n\nexport interface MutationParams {\n /**\n * The endpoint to call.\n */\n endpoint: string;\n /**\n * The request body.\n */\n body?: any;\n /**\n * Files to upload.\n */\n files?: { [key: string]: File | Blob } | File | Blob;\n /**\n * Company ID for multi-tenant requests.\n */\n companyId?: string;\n /**\n * Override the default JSON:API body creation.\n */\n overridesJsonApiCreation?: boolean;\n /**\n * Response type if different from the request type.\n */\n responseType?: ApiRequestDataTypeInterface;\n}\n\n/**\n * Hook for making mutations (POST, PUT, PATCH, DELETE) to a JSON:API endpoint.\n *\n * @example\n * ```tsx\n * const { mutate, loading, error } = useJsonApiMutation<Article>({\n * method: \"POST\",\n * classKey: Modules.Article,\n * });\n *\n * const handleSubmit = async (data: ArticleInput) => {\n * const result = await mutate({\n * endpoint: \"/articles\",\n * body: data,\n * });\n * if (result) {\n * // Success!\n * }\n * };\n * ```\n */\nexport function useJsonApiMutation<T extends ApiDataInterface>(config: {\n method: MutationMethod;\n classKey: ApiRequestDataTypeInterface;\n onSuccess?: (data: T) => void;\n onError?: (error: string) => void;\n}): UseJsonApiMutationResult<T> {\n const [data, setData] = useState<T | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n const [response, setResponse] = useState<ApiResponseInterface | null>(null);\n\n const reset = useCallback(() => {\n setData(null);\n setLoading(false);\n setError(null);\n setResponse(null);\n }, []);\n\n const mutate = useCallback(\n async (params: MutationParams): Promise<T | null> => {\n setLoading(true);\n setError(null);\n\n try {\n const { JsonApiPost, JsonApiPut, JsonApiPatch, JsonApiDelete } = await import(\"../../unified/JsonApiRequest\");\n const language = navigator.language.split(\"-\")[0] || \"en\";\n\n let apiResponse: ApiResponseInterface;\n\n switch (config.method) {\n case \"POST\":\n apiResponse = await JsonApiPost({\n classKey: config.classKey,\n endpoint: params.endpoint,\n companyId: params.companyId,\n body: params.body,\n overridesJsonApiCreation: params.overridesJsonApiCreation,\n files: params.files,\n language,\n responseType: params.responseType,\n });\n break;\n case \"PUT\":\n apiResponse = await JsonApiPut({\n classKey: config.classKey,\n endpoint: params.endpoint,\n companyId: params.companyId,\n body: params.body,\n files: params.files,\n language,\n responseType: params.responseType,\n });\n break;\n case \"PATCH\":\n apiResponse = await JsonApiPatch({\n classKey: config.classKey,\n endpoint: params.endpoint,\n companyId: params.companyId,\n body: params.body,\n overridesJsonApiCreation: params.overridesJsonApiCreation,\n files: params.files,\n language,\n responseType: params.responseType,\n });\n break;\n case \"DELETE\":\n apiResponse = await JsonApiDelete({\n classKey: config.classKey,\n endpoint: params.endpoint,\n companyId: params.companyId,\n language,\n responseType: params.responseType,\n });\n break;\n }\n\n setResponse(apiResponse);\n\n if (apiResponse.ok) {\n const resultData = apiResponse.data as T;\n setData(resultData);\n config.onSuccess?.(resultData);\n return resultData;\n } else {\n setError(apiResponse.error);\n config.onError?.(apiResponse.error);\n return null;\n }\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : \"Unknown error\";\n setError(errorMessage);\n config.onError?.(errorMessage);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [config],\n );\n\n return {\n data,\n loading,\n error,\n response,\n mutate,\n reset,\n };\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport { ApiDataInterface } from \"../../core/interfaces/ApiDataInterface\";\nimport { ApiRequestDataTypeInterface } from \"../../core/interfaces/ApiRequestDataTypeInterface\";\nimport { JsonApiHydratedDataInterface } from \"../../core/interfaces/JsonApiHydratedDataInterface\";\nimport { RehydrationFactory } from \"../../core/factories/RehydrationFactory\";\n\n/**\n * Hook to rehydrate server-passed data into typed objects.\n * Use this when passing data from server components to client components.\n *\n * @example\n * ```tsx\n * // In server component\n * const article = await ArticleService.findOne(id);\n * return <ArticleDetails data={article.dehydrate()} />;\n *\n * // In client component\n * function ArticleDetails({ data }: { data: JsonApiHydratedDataInterface }) {\n * const article = useRehydration<Article>(Modules.Article, data);\n * return <div>{article.title}</div>;\n * }\n * ```\n */\nexport function useRehydration<T extends ApiDataInterface>(\n classKey: ApiRequestDataTypeInterface,\n data: JsonApiHydratedDataInterface | null | undefined,\n): T | null {\n return useMemo(() => {\n if (!data) return null;\n return RehydrationFactory.rehydrate<T>(classKey, data);\n }, [classKey, data]);\n}\n\n/**\n * Hook to rehydrate a list of server-passed data into typed objects.\n */\nexport function useRehydrationList<T extends ApiDataInterface>(\n classKey: ApiRequestDataTypeInterface,\n data: JsonApiHydratedDataInterface[] | null | undefined,\n): T[] {\n return useMemo(() => {\n if (!data || data.length === 0) return [];\n return RehydrationFactory.rehydrateList<T>(classKey, data);\n }, [classKey, data]);\n}\n"],"mappings":"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","names":["useEffect","useEffect","useState","useCallback","useState","useCallback","useMemo","useMemo"]}
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as React$1 from 'react';
|
|
3
|
-
import React__default, { ReactElement, ReactNode, Dispatch, SetStateAction } from 'react';
|
|
4
|
-
import {
|
|
5
|
-
import { C as ContentInterface } from '../
|
|
6
|
-
export { b as ContributorsList, U as UserAvatar } from '../content.interface-Dg2lt_An.mjs';
|
|
3
|
+
import React__default, { ReactElement, ReactNode, Dispatch, SetStateAction, Component, JSX } from 'react';
|
|
4
|
+
import { M as ModuleWithPermissions, a as Action } from '../types-Bl61ob-7.mjs';
|
|
5
|
+
import { C as ContentInterface, A as AuthComponent } from '../AuthComponent-CPLvEerw.mjs';
|
|
7
6
|
import { PartialBlock } from '@blocknote/core';
|
|
8
7
|
import { D as DataListRetriever } from '../useDataListRetriever-futhx3OP.mjs';
|
|
9
8
|
import { DateRange } from 'react-day-picker';
|
|
10
9
|
import { DropzoneState, DropzoneOptions } from 'react-dropzone';
|
|
10
|
+
import { F as FeatureInterface, C as CompanyInterface, U as UserInterface, R as RoleInterface } from '../user.interface-CAsTIbuQ.mjs';
|
|
11
11
|
import { B as BreadcrumbItemData } from '../breadcrumb.item.data.interface-CgB4_1EE.mjs';
|
|
12
12
|
import { ColumnDef } from '@tanstack/react-table';
|
|
13
|
-
import '../
|
|
14
|
-
import '
|
|
15
|
-
import '../
|
|
13
|
+
import { J as JsonApiHydratedDataInterface } from '../ApiDataInterface-DPP8s46n.mjs';
|
|
14
|
+
import { UseFormReturn } from 'react-hook-form';
|
|
15
|
+
import { N as NotificationInterface } from '../notification.interface-BBgMUdLR.mjs';
|
|
16
16
|
|
|
17
17
|
type PageContainerProps = {
|
|
18
18
|
children: React.ReactNode;
|
|
@@ -332,6 +332,15 @@ interface PasswordInputProps extends React$1.InputHTMLAttributes<HTMLInputElemen
|
|
|
332
332
|
}
|
|
333
333
|
declare const PasswordInput: React$1.ForwardRefExoticComponent<PasswordInputProps & React$1.RefAttributes<HTMLInputElement>>;
|
|
334
334
|
|
|
335
|
+
type FormFeaturesProps = {
|
|
336
|
+
form: any;
|
|
337
|
+
name?: string;
|
|
338
|
+
features: FeatureInterface[];
|
|
339
|
+
featureField?: string;
|
|
340
|
+
moduleField?: string;
|
|
341
|
+
};
|
|
342
|
+
declare function FormFeatures({ form, name, features, featureField, moduleField, }: FormFeaturesProps): react_jsx_runtime.JSX.Element;
|
|
343
|
+
|
|
335
344
|
type BreadcrumbProps = {
|
|
336
345
|
items: BreadcrumbItemData[];
|
|
337
346
|
};
|
|
@@ -438,4 +447,280 @@ type ContentTableSearchProps = {
|
|
|
438
447
|
};
|
|
439
448
|
declare function ContentTableSearch({ data }: ContentTableSearchProps): react_jsx_runtime.JSX.Element;
|
|
440
449
|
|
|
441
|
-
|
|
450
|
+
type AuthContainerProps = {
|
|
451
|
+
componentType: AuthComponent;
|
|
452
|
+
params?: {
|
|
453
|
+
code?: string;
|
|
454
|
+
};
|
|
455
|
+
};
|
|
456
|
+
declare function AuthContainer({ componentType, params }: AuthContainerProps): react_jsx_runtime.JSX.Element;
|
|
457
|
+
|
|
458
|
+
declare function LandingComponent(): react_jsx_runtime.JSX.Element;
|
|
459
|
+
|
|
460
|
+
declare function AcceptInvitation(): react_jsx_runtime.JSX.Element;
|
|
461
|
+
|
|
462
|
+
declare function ActivateAccount(): react_jsx_runtime.JSX.Element;
|
|
463
|
+
|
|
464
|
+
declare function Cookies({ dehydratedAuth, page }: {
|
|
465
|
+
dehydratedAuth: JsonApiHydratedDataInterface;
|
|
466
|
+
page?: string;
|
|
467
|
+
}): null;
|
|
468
|
+
|
|
469
|
+
declare function ForgotPassword(): react_jsx_runtime.JSX.Element;
|
|
470
|
+
|
|
471
|
+
declare function Login(): react_jsx_runtime.JSX.Element;
|
|
472
|
+
|
|
473
|
+
declare function Logout(): react_jsx_runtime.JSX.Element;
|
|
474
|
+
|
|
475
|
+
declare function RefreshUser(): null;
|
|
476
|
+
|
|
477
|
+
declare function ResetPassword(): react_jsx_runtime.JSX.Element;
|
|
478
|
+
|
|
479
|
+
declare function AdminCompanyContainer(): react_jsx_runtime.JSX.Element;
|
|
480
|
+
|
|
481
|
+
declare function CompanyContainer(): react_jsx_runtime.JSX.Element | null;
|
|
482
|
+
|
|
483
|
+
declare function CompanyDetails(): react_jsx_runtime.JSX.Element | null;
|
|
484
|
+
|
|
485
|
+
type CompanyConfigurationEditorProps = {
|
|
486
|
+
company: CompanyInterface;
|
|
487
|
+
};
|
|
488
|
+
declare function CompanyConfigurationEditor(props: CompanyConfigurationEditorProps): react_jsx_runtime.JSX.Element;
|
|
489
|
+
|
|
490
|
+
type SecurityConfigurationFormProps = {
|
|
491
|
+
form: UseFormReturn<any>;
|
|
492
|
+
};
|
|
493
|
+
declare function CompanyConfigurationSecurityForm({ form }: SecurityConfigurationFormProps): react_jsx_runtime.JSX.Element;
|
|
494
|
+
|
|
495
|
+
type CompanyDeleterProps = {
|
|
496
|
+
company: CompanyInterface;
|
|
497
|
+
};
|
|
498
|
+
declare function CompanyDeleter({ company }: CompanyDeleterProps): react_jsx_runtime.JSX.Element | null;
|
|
499
|
+
|
|
500
|
+
type CompanyEditorProps = {
|
|
501
|
+
company?: CompanyInterface;
|
|
502
|
+
propagateChanges?: (company: CompanyInterface) => void;
|
|
503
|
+
onRevalidate?: (path: string) => Promise<void>;
|
|
504
|
+
};
|
|
505
|
+
declare function CompanyEditor(props: CompanyEditorProps): react_jsx_runtime.JSX.Element;
|
|
506
|
+
|
|
507
|
+
declare function CompaniesList(): react_jsx_runtime.JSX.Element;
|
|
508
|
+
|
|
509
|
+
interface Props {
|
|
510
|
+
children: ReactNode;
|
|
511
|
+
fallback?: ReactNode;
|
|
512
|
+
}
|
|
513
|
+
interface State {
|
|
514
|
+
hasError: boolean;
|
|
515
|
+
error?: Error;
|
|
516
|
+
}
|
|
517
|
+
declare class NotificationErrorBoundary extends Component<Props, State> {
|
|
518
|
+
constructor(props: Props);
|
|
519
|
+
static getDerivedStateFromError(error: Error): State;
|
|
520
|
+
componentDidCatch(error: Error, errorInfo: React__default.ErrorInfo): void;
|
|
521
|
+
render(): string | number | bigint | boolean | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null | undefined;
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
declare function NotificationsListContainer(): react_jsx_runtime.JSX.Element;
|
|
525
|
+
|
|
526
|
+
type NotificationsListProps = {
|
|
527
|
+
archived: boolean;
|
|
528
|
+
};
|
|
529
|
+
declare function NotificationsList({ archived }: NotificationsListProps): react_jsx_runtime.JSX.Element;
|
|
530
|
+
|
|
531
|
+
interface NotificationModalProps {
|
|
532
|
+
isOpen: boolean;
|
|
533
|
+
setIsOpen: (open: boolean) => void;
|
|
534
|
+
}
|
|
535
|
+
declare function NotificationModal(props: NotificationModalProps): react_jsx_runtime.JSX.Element;
|
|
536
|
+
|
|
537
|
+
type TaskCommentedOnProps = {
|
|
538
|
+
notification: NotificationInterface;
|
|
539
|
+
closePopover: () => void;
|
|
540
|
+
};
|
|
541
|
+
declare const generateNotificationData: (params: {
|
|
542
|
+
notification: NotificationInterface;
|
|
543
|
+
generateUrl: any;
|
|
544
|
+
}) => {
|
|
545
|
+
title: string;
|
|
546
|
+
actor?: UserInterface;
|
|
547
|
+
url?: string;
|
|
548
|
+
taskId?: string;
|
|
549
|
+
};
|
|
550
|
+
declare function NotificationToast(notification: NotificationInterface, t: any, generateUrl: any, reouter: any): {
|
|
551
|
+
title: string;
|
|
552
|
+
description: string | ReactElement<any>;
|
|
553
|
+
action?: {
|
|
554
|
+
label: string;
|
|
555
|
+
onClick: () => void;
|
|
556
|
+
};
|
|
557
|
+
};
|
|
558
|
+
declare function NotificationMenuItem({ notification, closePopover }: TaskCommentedOnProps): react_jsx_runtime.JSX.Element;
|
|
559
|
+
|
|
560
|
+
declare function PushNotificationProvider({ children }: {
|
|
561
|
+
children: ReactNode;
|
|
562
|
+
}): JSX.Element;
|
|
563
|
+
|
|
564
|
+
declare function RoleContainer(): react_jsx_runtime.JSX.Element | null;
|
|
565
|
+
|
|
566
|
+
declare function RoleDetails(): react_jsx_runtime.JSX.Element | null;
|
|
567
|
+
|
|
568
|
+
type FormRolesProps = {
|
|
569
|
+
form: any;
|
|
570
|
+
id: string;
|
|
571
|
+
name: string;
|
|
572
|
+
roles: RoleInterface[];
|
|
573
|
+
};
|
|
574
|
+
declare function FormRoles({ form, id, name, roles }: FormRolesProps): react_jsx_runtime.JSX.Element;
|
|
575
|
+
|
|
576
|
+
type RemoveUserFromRoleProps = {
|
|
577
|
+
user: UserInterface;
|
|
578
|
+
role: RoleInterface;
|
|
579
|
+
refresh: () => Promise<void>;
|
|
580
|
+
};
|
|
581
|
+
declare function RemoveUserFromRole({ role, user, refresh }: RemoveUserFromRoleProps): react_jsx_runtime.JSX.Element;
|
|
582
|
+
|
|
583
|
+
type UserRoleAddProps = {
|
|
584
|
+
user: UserInterface;
|
|
585
|
+
refresh: () => Promise<void>;
|
|
586
|
+
};
|
|
587
|
+
declare function UserRoleAdd({ user, refresh }: UserRoleAddProps): react_jsx_runtime.JSX.Element;
|
|
588
|
+
|
|
589
|
+
declare function RolesList(): react_jsx_runtime.JSX.Element;
|
|
590
|
+
|
|
591
|
+
type UserRolesListProps = {
|
|
592
|
+
user: UserInterface;
|
|
593
|
+
};
|
|
594
|
+
declare function UserRolesList({ user }: UserRolesListProps): react_jsx_runtime.JSX.Element;
|
|
595
|
+
|
|
596
|
+
declare function UserContainer(): react_jsx_runtime.JSX.Element | null;
|
|
597
|
+
|
|
598
|
+
declare function UserIndexContainer(): react_jsx_runtime.JSX.Element | null;
|
|
599
|
+
|
|
600
|
+
declare function UsersListContainer(): react_jsx_runtime.JSX.Element;
|
|
601
|
+
|
|
602
|
+
type UserDetailsProps = {
|
|
603
|
+
user: UserInterface;
|
|
604
|
+
};
|
|
605
|
+
declare function UserDetails({ user }: UserDetailsProps): react_jsx_runtime.JSX.Element;
|
|
606
|
+
|
|
607
|
+
declare function UserIndexDetails(): react_jsx_runtime.JSX.Element | null;
|
|
608
|
+
|
|
609
|
+
type AddUserToRoleProps = {
|
|
610
|
+
role: RoleInterface;
|
|
611
|
+
refresh: () => Promise<void>;
|
|
612
|
+
};
|
|
613
|
+
declare function AddUserToRole(props: AddUserToRoleProps): react_jsx_runtime.JSX.Element;
|
|
614
|
+
|
|
615
|
+
type UserAvatarEditorProps = {
|
|
616
|
+
user?: UserInterface;
|
|
617
|
+
file?: File | null;
|
|
618
|
+
setFile: (file: File | null) => void;
|
|
619
|
+
resetImage: boolean;
|
|
620
|
+
setResetImage: (reset: boolean) => void;
|
|
621
|
+
};
|
|
622
|
+
declare function UserAvatarEditor({ user, file, setFile, resetImage, setResetImage }: UserAvatarEditorProps): react_jsx_runtime.JSX.Element;
|
|
623
|
+
|
|
624
|
+
type UserDeleterProps = {
|
|
625
|
+
user: UserInterface;
|
|
626
|
+
companyId?: string;
|
|
627
|
+
onDeleted?: () => void;
|
|
628
|
+
};
|
|
629
|
+
declare function UserDeleter(props: UserDeleterProps): react_jsx_runtime.JSX.Element | null;
|
|
630
|
+
|
|
631
|
+
type UserEditorProps = {
|
|
632
|
+
user?: UserInterface;
|
|
633
|
+
propagateChanges?: (user: UserInterface) => void;
|
|
634
|
+
adminCreated?: boolean;
|
|
635
|
+
trigger?: React.ReactNode;
|
|
636
|
+
onRevalidate?: (path: string) => Promise<void>;
|
|
637
|
+
};
|
|
638
|
+
declare function UserEditor(props: UserEditorProps): react_jsx_runtime.JSX.Element | null;
|
|
639
|
+
|
|
640
|
+
type UserMultiSelectProps = {
|
|
641
|
+
id: string;
|
|
642
|
+
form: any;
|
|
643
|
+
currentUser?: UserInterface;
|
|
644
|
+
label?: string;
|
|
645
|
+
placeholder?: string;
|
|
646
|
+
onChange?: (users?: UserInterface[]) => void;
|
|
647
|
+
maxCount?: number;
|
|
648
|
+
isRequired?: boolean;
|
|
649
|
+
};
|
|
650
|
+
declare function UserMultiSelect({ id, form, currentUser, label, placeholder, onChange, maxCount, isRequired, }: UserMultiSelectProps): react_jsx_runtime.JSX.Element;
|
|
651
|
+
|
|
652
|
+
type UserReactivatorProps = {
|
|
653
|
+
user: UserInterface;
|
|
654
|
+
propagateChanges: (user: UserInterface) => void;
|
|
655
|
+
};
|
|
656
|
+
declare function UserReactivator(props: UserReactivatorProps): react_jsx_runtime.JSX.Element | null;
|
|
657
|
+
|
|
658
|
+
type UserResentInvitationEmailProps = {
|
|
659
|
+
user: UserInterface;
|
|
660
|
+
};
|
|
661
|
+
declare function UserResentInvitationEmail(props: UserResentInvitationEmailProps): react_jsx_runtime.JSX.Element | null;
|
|
662
|
+
|
|
663
|
+
type UserSelectorProps = {
|
|
664
|
+
id: string;
|
|
665
|
+
form: any;
|
|
666
|
+
label?: string;
|
|
667
|
+
placeholder?: string;
|
|
668
|
+
onChange?: (user?: UserInterface) => void;
|
|
669
|
+
isRequired?: boolean;
|
|
670
|
+
};
|
|
671
|
+
declare function UserSelector({ id, form, label, placeholder, onChange, isRequired }: UserSelectorProps): react_jsx_runtime.JSX.Element;
|
|
672
|
+
|
|
673
|
+
declare function AdminUsersList(): react_jsx_runtime.JSX.Element | null;
|
|
674
|
+
|
|
675
|
+
type CompanyUsersListProps = {
|
|
676
|
+
isDeleted?: boolean;
|
|
677
|
+
};
|
|
678
|
+
declare function CompanyUsersList({ isDeleted }: CompanyUsersListProps): react_jsx_runtime.JSX.Element;
|
|
679
|
+
|
|
680
|
+
type ContributorsListProps = {
|
|
681
|
+
content: ContentInterface;
|
|
682
|
+
};
|
|
683
|
+
declare function ContributorsList({ content }: ContributorsListProps): react_jsx_runtime.JSX.Element;
|
|
684
|
+
|
|
685
|
+
type RelevantUsersListProps = {
|
|
686
|
+
id: string;
|
|
687
|
+
};
|
|
688
|
+
declare function RelevantUsersList({ id }: RelevantUsersListProps): react_jsx_runtime.JSX.Element;
|
|
689
|
+
|
|
690
|
+
type RoleUsersListProps = {
|
|
691
|
+
role: RoleInterface;
|
|
692
|
+
};
|
|
693
|
+
declare function RoleUsersList({ role }: RoleUsersListProps): react_jsx_runtime.JSX.Element;
|
|
694
|
+
|
|
695
|
+
type UserListInAddProps = {
|
|
696
|
+
data: DataListRetriever<UserInterface>;
|
|
697
|
+
existingUsers: UserInterface[] | null;
|
|
698
|
+
setSelectedUser: (user: UserInterface) => void;
|
|
699
|
+
setLevelOpen?: (open: boolean) => void;
|
|
700
|
+
};
|
|
701
|
+
declare function UserListInAdd({ data, existingUsers, setSelectedUser, setLevelOpen }: UserListInAddProps): react_jsx_runtime.JSX.Element;
|
|
702
|
+
|
|
703
|
+
type UsersListProps = {
|
|
704
|
+
data: DataListRetriever<UserInterface>;
|
|
705
|
+
optionComponents?: ReactElement<any>[];
|
|
706
|
+
removeFunction?: (user: UserInterface) => Promise<void>;
|
|
707
|
+
hideOptions?: boolean;
|
|
708
|
+
showRelevance?: boolean;
|
|
709
|
+
restrictToJoinRequests?: boolean;
|
|
710
|
+
};
|
|
711
|
+
declare function UsersList({ data, optionComponents, removeFunction, hideOptions, showRelevance }: UsersListProps): react_jsx_runtime.JSX.Element;
|
|
712
|
+
|
|
713
|
+
type UsersListByContentIdsProps = {
|
|
714
|
+
contentIds: string[];
|
|
715
|
+
};
|
|
716
|
+
declare function UsersListByContentIds({ contentIds }: UsersListByContentIdsProps): react_jsx_runtime.JSX.Element;
|
|
717
|
+
|
|
718
|
+
type UserAvatarProps = {
|
|
719
|
+
user: UserInterface;
|
|
720
|
+
className?: string;
|
|
721
|
+
showFull?: boolean;
|
|
722
|
+
showLink?: boolean;
|
|
723
|
+
};
|
|
724
|
+
declare function UserAvatar({ user, className, showFull, showLink }: UserAvatarProps): react_jsx_runtime.JSX.Element;
|
|
725
|
+
|
|
726
|
+
export { AcceptInvitation, ActivateAccount, AddUserToRole, AdminCompanyContainer, AdminUsersList, AllowedUsersDetails, AttributeElement, AuthContainer, BlockNoteEditorContainer, Breadcrumb, CommonAssociationCommandDialog, CommonAssociationTrigger, CommonDeleter, CommonEditorButtons, CommonEditorHeader, CommonEditorTrigger, CompaniesList, CompanyConfigurationEditor, CompanyConfigurationSecurityForm, CompanyContainer, CompanyDeleter, CompanyDetails, CompanyEditor, CompanyUsersList, ContentListTable, ContentTableSearch, ContentTitle, ContributorsList, Cookies, DatePickerPopover, DateRangeSelector, ErrorDetails, FileInput, FileUploader, FileUploaderContent, FileUploaderItem, ForgotPassword, FormCheckbox, FormContainerGeneric, FormDate, FormDateTime, FormFeatures, FormInput, FormPassword, FormPlaceAutocomplete, FormRoles, FormSelect, FormSlider, FormSwitch, FormTextarea, type GenerateTableStructureParams, Header, LandingComponent, Login, Logout, ModeToggleSwitch, NotificationErrorBoundary, NotificationMenuItem, NotificationModal, NotificationToast, NotificationsList, NotificationsListContainer, PageContainer, PageContainerContentDetails, type PageContainerItems, PageContentContainer, PageSection, PasswordInput, type PasswordInputProps, PushNotificationProvider, ReactMarkdownContainer, RecentPagesNavigator, RefreshUser, RelevantUsersList, RemoveUserFromRole, ResetPassword, RoleContainer, RoleDetails, RoleUsersList, RolesList, type Tab, TabsContainer, UserAvatar, UserAvatarEditor, UserContainer, UserDeleter, UserDetails, UserEditor, UserIndexContainer, UserIndexDetails, UserListInAdd, UserMultiSelect, UserReactivator, UserResentInvitationEmail, UserRoleAdd, UserRolesList, UserSelector, UsersList, UsersListByContentIds, UsersListContainer, cellComponent, cellDate, cellId, cellLink, cellUrl, errorToast, generateNotificationData, triggerAssociationToast, useFileUpload };
|