@plumile/backoffice-react 0.1.70 → 0.1.73
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/lib/esm/{auth/pages/AcceptInvitationScreen.js → AcceptInvitationScreen-CNLlSbdx.js} +25 -29
- package/lib/esm/AcceptInvitationScreen-CNLlSbdx.js.map +1 -0
- package/lib/esm/{auth/login/AuthPanel.js → AuthPanel-ttoH9YxE.js} +7 -7
- package/lib/esm/AuthPanel-ttoH9YxE.js.map +1 -0
- package/lib/esm/BackofficeAcceptInvitationPage-DRxM1Z-U.js +30 -0
- package/lib/esm/BackofficeAcceptInvitationPage-DRxM1Z-U.js.map +1 -0
- package/lib/esm/BackofficeDashboardPage-GKyT60qb.js +195 -0
- package/lib/esm/BackofficeDashboardPage-GKyT60qb.js.map +1 -0
- package/lib/esm/BackofficeDetailPayload-B-qs8Fai.js +94 -0
- package/lib/esm/BackofficeDetailPayload-B-qs8Fai.js.map +1 -0
- package/lib/esm/{components/backoffice/actions/BackofficeEntityActionFormDialog.js → BackofficeEntityActionFormDialog-FHlW0vys.js} +120 -131
- package/lib/esm/BackofficeEntityActionFormDialog-FHlW0vys.js.map +1 -0
- package/lib/esm/{pages/detail/BackofficeEntityDetailLayoutContext.js → BackofficeEntityDetailLayoutContext-C_tBqkVq.js} +2 -2
- package/lib/esm/BackofficeEntityDetailLayoutContext-C_tBqkVq.js.map +1 -0
- package/lib/esm/BackofficeEntityDetailLayoutPage-DXjRqvcZ.js +18 -0
- package/lib/esm/BackofficeEntityDetailLayoutPage-DXjRqvcZ.js.map +1 -0
- package/lib/esm/BackofficeEntityDetailPage-CdrMXu5a.js +991 -0
- package/lib/esm/BackofficeEntityDetailPage-CdrMXu5a.js.map +1 -0
- package/lib/esm/{pages/BackofficeEntityDetailUnknownPageRedirect.js → BackofficeEntityDetailUnknownPageRedirect-DRWTeox-.js} +3 -3
- package/lib/esm/BackofficeEntityDetailUnknownPageRedirect-DRWTeox-.js.map +1 -0
- package/lib/esm/BackofficeEntityListPage-BxgqdFpL.js +385 -0
- package/lib/esm/BackofficeEntityListPage-BxgqdFpL.js.map +1 -0
- package/lib/esm/BackofficeLayoutPage-k9OkLfXb.js +485 -0
- package/lib/esm/BackofficeLayoutPage-k9OkLfXb.js.map +1 -0
- package/lib/esm/BackofficeLoginPage-C64BcxMw.js +50 -0
- package/lib/esm/BackofficeLoginPage-C64BcxMw.js.map +1 -0
- package/lib/esm/BackofficePasswordResetCompletePage-BA7kkUxN.js +60 -0
- package/lib/esm/BackofficePasswordResetCompletePage-BA7kkUxN.js.map +1 -0
- package/lib/esm/{pages/BackofficePasswordResetRequestPage.js → BackofficePasswordResetRequestPage-B9wSZcyn.js} +15 -13
- package/lib/esm/BackofficePasswordResetRequestPage-B9wSZcyn.js.map +1 -0
- package/lib/esm/BackofficeRightPageLayout-ktdlvTZJ.js +107 -0
- package/lib/esm/BackofficeRightPageLayout-ktdlvTZJ.js.map +1 -0
- package/lib/esm/{components/backoffice/layout/breadcrumb/BackofficeTopbarPortalContext.js → BackofficeTopbarPortalContext-iD7dm4_h.js} +2 -2
- package/lib/esm/BackofficeTopbarPortalContext-iD7dm4_h.js.map +1 -0
- package/lib/esm/BackofficeVerifyEmailPage-CAzMqo2K.js +59 -0
- package/lib/esm/BackofficeVerifyEmailPage-CAzMqo2K.js.map +1 -0
- package/lib/esm/EntityFilterValue-SC_jkj4O.js +77 -0
- package/lib/esm/EntityFilterValue-SC_jkj4O.js.map +1 -0
- package/lib/esm/EntityIdPickerDialog-FMC5Hx_I.js +308 -0
- package/lib/esm/EntityIdPickerDialog-FMC5Hx_I.js.map +1 -0
- package/lib/esm/LazyBackofficeEntityActionFormDialog-DOEgoIfT.js +486 -0
- package/lib/esm/LazyBackofficeEntityActionFormDialog-DOEgoIfT.js.map +1 -0
- package/lib/esm/{auth/pages/PasswordResetCompleteScreen.js → PasswordResetCompleteScreen-C4GQdavL.js} +21 -25
- package/lib/esm/PasswordResetCompleteScreen-C4GQdavL.js.map +1 -0
- package/lib/esm/{auth/pages/PasswordResetRequestScreen.js → PasswordResetRequestScreen-aUY_yDqM.js} +19 -23
- package/lib/esm/PasswordResetRequestScreen-aUY_yDqM.js.map +1 -0
- package/lib/esm/VerifyEmailScreen-2DuHJgdY.js +62 -0
- package/lib/esm/VerifyEmailScreen-2DuHJgdY.js.map +1 -0
- package/lib/esm/backoffice-react.js +1804 -0
- package/lib/esm/backoffice-react.js.map +1 -0
- package/lib/esm/{router/backofficeAuthPaths.js → backofficeAuthPaths-BiJvoI5Q.js} +2 -2
- package/lib/esm/backofficeAuthPaths-BiJvoI5Q.js.map +1 -0
- package/lib/esm/{components/backoffice/layout/breadcrumb/buildBreadcrumbs.js → buildBreadcrumbs-CqF9Nh6x.js} +3 -7
- package/lib/esm/buildBreadcrumbs-CqF9Nh6x.js.map +1 -0
- package/lib/esm/{relay/environment.js → environment-BJeJTbIN.js} +91 -71
- package/lib/esm/environment-BJeJTbIN.js.map +1 -0
- package/lib/esm/loginPage.css-BDQJNcSr.js +12 -0
- package/lib/esm/loginPage.css-BDQJNcSr.js.map +1 -0
- package/lib/esm/{relay/mutationResult.js → mutationResult-CcQMY13J.js} +2 -2
- package/lib/esm/mutationResult-CcQMY13J.js.map +1 -0
- package/lib/esm/{pages/detail/pageResolution.js → pageResolution-hAQA5C6S.js} +2 -2
- package/lib/esm/pageResolution-hAQA5C6S.js.map +1 -0
- package/lib/esm/{components/backoffice/layout/sidebarUtils.js → sidebarUtils-CuwJ_3mD.js} +2 -12
- package/lib/esm/{components/backoffice/layout/sidebarUtils.js.map → sidebarUtils-CuwJ_3mD.js.map} +1 -1
- package/lib/esm/{provider/BackofficeConfigContext.js → sprinkles.css.ts.vanilla-n-NK_DwW.js} +2 -2
- package/lib/esm/sprinkles.css.ts.vanilla-n-NK_DwW.js.map +1 -0
- package/lib/esm/style.css +1 -1
- package/lib/esm/synchronizeAuthStatusQuery-lLR0XFew.js +323 -0
- package/lib/esm/synchronizeAuthStatusQuery-lLR0XFew.js.map +1 -0
- package/lib/esm/{components/backoffice/actions/toastViewAction.js → toastViewAction-BGTS7vqm.js} +2 -2
- package/lib/esm/{components/backoffice/actions/toastViewAction.js.map → toastViewAction-BGTS7vqm.js.map} +1 -1
- package/lib/esm/useAuth-AczFS-oL.js +543 -0
- package/lib/esm/useAuth-AczFS-oL.js.map +1 -0
- package/lib/esm/useBackofficeAuth-BHteJQzA.js +89 -0
- package/lib/esm/useBackofficeAuth-BHteJQzA.js.map +1 -0
- package/lib/esm/{provider/useBackofficeLazyValue.js → useBackofficeLazyValue-B0-ckL6e.js} +7 -15
- package/lib/esm/useBackofficeLazyValue-B0-ckL6e.js.map +1 -0
- package/lib/esm/{hooks/useBackofficeListUrlState.js → useBackofficeListUrlState-D4fx5O7u.js} +2 -2
- package/lib/esm/useBackofficeListUrlState-D4fx5O7u.js.map +1 -0
- package/lib/esm/{components/backoffice/errors/BackofficeErrorBoundary.js → useBackofficeReactTranslation-WfXU8kCf.js} +9 -3
- package/lib/esm/useBackofficeReactTranslation-WfXU8kCf.js.map +1 -0
- package/lib/esm/{relay/useRelayEnvironment.js → useRelayEnvironment-vQ86aW-n.js} +2 -2
- package/lib/esm/useRelayEnvironment-vQ86aW-n.js.map +1 -0
- package/lib/types/auth/login/EmailCapturePanel.d.ts.map +1 -1
- package/lib/types/auth/login/MethodChooser.d.ts.map +1 -1
- package/lib/types/auth/login/MfaChallengeForm.d.ts.map +1 -1
- package/lib/types/auth/login/PasskeyLoginForm.d.ts.map +1 -1
- package/lib/types/auth/login/PasswordLoginPanel.d.ts +1 -1
- package/lib/types/auth/login/PasswordLoginPanel.d.ts.map +1 -1
- package/lib/types/auth/pages/AcceptInvitationScreen.d.ts.map +1 -1
- package/lib/types/auth/pages/PasswordResetCompleteScreen.d.ts.map +1 -1
- package/lib/types/auth/pages/PasswordResetRequestScreen.d.ts.map +1 -1
- package/lib/types/auth/pages/VerifyEmailScreen.d.ts.map +1 -1
- package/lib/types/components/backoffice/detail/BackofficeDetailErrorList.d.ts.map +1 -1
- package/lib/types/components/backoffice/detail/BackofficeDetailField.d.ts.map +1 -1
- package/lib/types/components/backoffice/filters/BackofficeFilterAction.d.ts.map +1 -1
- package/lib/types/components/backoffice/layout/buildSidebarSections.d.ts +1 -1
- package/lib/types/components/backoffice/layout/buildSidebarSections.d.ts.map +1 -1
- package/lib/types/components/backoffice/pickers/EntityIdPickerDialog.d.ts.map +1 -1
- package/lib/types/components/backoffice/scaffolds/BackofficeEntityListScaffold.d.ts.map +1 -1
- package/lib/types/filters/filterHelpers.d.ts +1 -1
- package/lib/types/filters/filterHelpers.d.ts.map +1 -1
- package/lib/types/i18n/resources.d.ts +0 -12
- package/lib/types/i18n/resources.d.ts.map +1 -1
- package/lib/types/index.d.ts +5 -6
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/pages/BackofficeEntityDetailPage.d.ts.map +1 -1
- package/lib/types/provider/BackofficeConfigContext.d.ts +1 -0
- package/lib/types/provider/BackofficeConfigContext.d.ts.map +1 -1
- package/lib/types/provider/BackofficeProvider.d.ts.map +1 -1
- package/lib/types/provider/types.d.ts +4 -1
- package/lib/types/provider/types.d.ts.map +1 -1
- package/lib/types/relay/environment.d.ts +1 -0
- package/lib/types/relay/environment.d.ts.map +1 -1
- package/lib/types/router/createBackofficeRoutes.d.ts +1 -1
- package/lib/types/router/createBackofficeRoutes.d.ts.map +1 -1
- package/package.json +9 -9
- package/lib/esm/auth/login/AuthPanel.js.map +0 -1
- package/lib/esm/auth/login/EmailCapturePanel.js +0 -52
- package/lib/esm/auth/login/EmailCapturePanel.js.map +0 -1
- package/lib/esm/auth/login/LoginFlow.js +0 -130
- package/lib/esm/auth/login/LoginFlow.js.map +0 -1
- package/lib/esm/auth/login/MethodChooser.js +0 -51
- package/lib/esm/auth/login/MethodChooser.js.map +0 -1
- package/lib/esm/auth/login/MfaChallengeForm.js +0 -83
- package/lib/esm/auth/login/MfaChallengeForm.js.map +0 -1
- package/lib/esm/auth/login/OidcButtons.js +0 -29
- package/lib/esm/auth/login/OidcButtons.js.map +0 -1
- package/lib/esm/auth/login/PasskeyLoginForm.js +0 -84
- package/lib/esm/auth/login/PasskeyLoginForm.js.map +0 -1
- package/lib/esm/auth/login/PasswordLoginPanel.js +0 -37
- package/lib/esm/auth/login/PasswordLoginPanel.js.map +0 -1
- package/lib/esm/auth/login/loginPage.css.js +0 -8
- package/lib/esm/auth/login/loginPage.css.js.map +0 -1
- package/lib/esm/auth/login/synchronizeAuthStatusQuery.js +0 -10
- package/lib/esm/auth/login/synchronizeAuthStatusQuery.js.map +0 -1
- package/lib/esm/auth/pages/AcceptInvitationScreen.js.map +0 -1
- package/lib/esm/auth/pages/PasswordResetCompleteScreen.js.map +0 -1
- package/lib/esm/auth/pages/PasswordResetRequestScreen.js.map +0 -1
- package/lib/esm/auth/pages/VerifyEmailScreen.js +0 -65
- package/lib/esm/auth/pages/VerifyEmailScreen.js.map +0 -1
- package/lib/esm/components/backoffice/actions/BackofficeEntityActionFormDialog.js.map +0 -1
- package/lib/esm/components/backoffice/actions/LazyBackofficeEntityActionFormDialog.js +0 -11
- package/lib/esm/components/backoffice/actions/LazyBackofficeEntityActionFormDialog.js.map +0 -1
- package/lib/esm/components/backoffice/actions/backofficeEntityActionFormDialog.css.js +0 -8
- package/lib/esm/components/backoffice/actions/backofficeEntityActionFormDialog.css.js.map +0 -1
- package/lib/esm/components/backoffice/columns/buildDataTableColumns.js +0 -59
- package/lib/esm/components/backoffice/columns/buildDataTableColumns.js.map +0 -1
- package/lib/esm/components/backoffice/detail/BackofficeDetailBadgeRow.js +0 -22
- package/lib/esm/components/backoffice/detail/BackofficeDetailBadgeRow.js.map +0 -1
- package/lib/esm/components/backoffice/detail/BackofficeDetailErrorList.js +0 -41
- package/lib/esm/components/backoffice/detail/BackofficeDetailErrorList.js.map +0 -1
- package/lib/esm/components/backoffice/detail/BackofficeDetailField.js +0 -31
- package/lib/esm/components/backoffice/detail/BackofficeDetailField.js.map +0 -1
- package/lib/esm/components/backoffice/detail/BackofficeDetailFlagTag.css.js +0 -8
- package/lib/esm/components/backoffice/detail/BackofficeDetailFlagTag.css.js.map +0 -1
- package/lib/esm/components/backoffice/detail/BackofficeDetailFlagTag.js +0 -24
- package/lib/esm/components/backoffice/detail/BackofficeDetailFlagTag.js.map +0 -1
- package/lib/esm/components/backoffice/detail/BackofficeDetailLayout.js +0 -20
- package/lib/esm/components/backoffice/detail/BackofficeDetailLayout.js.map +0 -1
- package/lib/esm/components/backoffice/detail/BackofficeDetailPayload.js +0 -18
- package/lib/esm/components/backoffice/detail/BackofficeDetailPayload.js.map +0 -1
- package/lib/esm/components/backoffice/detail/BackofficeDetailRelationLink.js +0 -49
- package/lib/esm/components/backoffice/detail/BackofficeDetailRelationLink.js.map +0 -1
- package/lib/esm/components/backoffice/detail/BackofficeDetailRelationList.js +0 -11
- package/lib/esm/components/backoffice/detail/BackofficeDetailRelationList.js.map +0 -1
- package/lib/esm/components/backoffice/detail/BackofficeDetailRelationListBlock.js +0 -115
- package/lib/esm/components/backoffice/detail/BackofficeDetailRelationListBlock.js.map +0 -1
- package/lib/esm/components/backoffice/detail/BackofficeDetailSection.js +0 -33
- package/lib/esm/components/backoffice/detail/BackofficeDetailSection.js.map +0 -1
- package/lib/esm/components/backoffice/detail/BackofficeDetailTaggedValue.js +0 -18
- package/lib/esm/components/backoffice/detail/BackofficeDetailTaggedValue.js.map +0 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailBadgeRow.css.js +0 -8
- package/lib/esm/components/backoffice/detail/backofficeDetailBadgeRow.css.js.map +0 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailErrorList.css.js +0 -8
- package/lib/esm/components/backoffice/detail/backofficeDetailErrorList.css.js.map +0 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailField.css.js +0 -15
- package/lib/esm/components/backoffice/detail/backofficeDetailField.css.js.map +0 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailLayout.css.js +0 -8
- package/lib/esm/components/backoffice/detail/backofficeDetailLayout.css.js.map +0 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailRelationLink.css.js +0 -8
- package/lib/esm/components/backoffice/detail/backofficeDetailRelationLink.css.js.map +0 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailRelationList.css.js +0 -8
- package/lib/esm/components/backoffice/detail/backofficeDetailRelationList.css.js.map +0 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailSection.css.js +0 -8
- package/lib/esm/components/backoffice/detail/backofficeDetailSection.css.js.map +0 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailTaggedValue.css.js +0 -8
- package/lib/esm/components/backoffice/detail/backofficeDetailTaggedValue.css.js.map +0 -1
- package/lib/esm/components/backoffice/detail/detailPayloadUtils.js +0 -17
- package/lib/esm/components/backoffice/detail/detailPayloadUtils.js.map +0 -1
- package/lib/esm/components/backoffice/errors/BackofficeErrorBoundary.js.map +0 -1
- package/lib/esm/components/backoffice/filters/BackofficeFilterAction.js +0 -43
- package/lib/esm/components/backoffice/filters/BackofficeFilterAction.js.map +0 -1
- package/lib/esm/components/backoffice/filters/EntityFilterValue.js +0 -46
- package/lib/esm/components/backoffice/filters/EntityFilterValue.js.map +0 -1
- package/lib/esm/components/backoffice/filters/EntityIdFilterField.js +0 -51
- package/lib/esm/components/backoffice/filters/EntityIdFilterField.js.map +0 -1
- package/lib/esm/components/backoffice/filters/backofficeFilterAction.css.js +0 -8
- package/lib/esm/components/backoffice/filters/backofficeFilterAction.css.js.map +0 -1
- package/lib/esm/components/backoffice/filters/entityIdFilterField.css.js +0 -8
- package/lib/esm/components/backoffice/filters/entityIdFilterField.css.js.map +0 -1
- package/lib/esm/components/backoffice/layout/backofficeSidebarActions.css.js +0 -8
- package/lib/esm/components/backoffice/layout/backofficeSidebarActions.css.js.map +0 -1
- package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.js +0 -10
- package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.js.map +0 -1
- package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.js +0 -38
- package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.js.map +0 -1
- package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarPortal.js +0 -12
- package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarPortal.js.map +0 -1
- package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarPortalContext.js.map +0 -1
- package/lib/esm/components/backoffice/layout/breadcrumb/assertValidBreadcrumb.js +0 -16
- package/lib/esm/components/backoffice/layout/breadcrumb/assertValidBreadcrumb.js.map +0 -1
- package/lib/esm/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.js +0 -8
- package/lib/esm/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.js.map +0 -1
- package/lib/esm/components/backoffice/layout/breadcrumb/buildBreadcrumbs.js.map +0 -1
- package/lib/esm/components/backoffice/layout/breadcrumb/types.js +0 -0
- package/lib/esm/components/backoffice/layout/buildSidebarSections.js +0 -183
- package/lib/esm/components/backoffice/layout/buildSidebarSections.js.map +0 -1
- package/lib/esm/components/backoffice/layout/mapViewerToSidebarProfileView.js +0 -18
- package/lib/esm/components/backoffice/layout/mapViewerToSidebarProfileView.js.map +0 -1
- package/lib/esm/components/backoffice/list/RowFlagsCell.css.js +0 -7
- package/lib/esm/components/backoffice/list/RowFlagsCell.css.js.map +0 -1
- package/lib/esm/components/backoffice/list/RowFlagsCell.js +0 -37
- package/lib/esm/components/backoffice/list/RowFlagsCell.js.map +0 -1
- package/lib/esm/components/backoffice/overview/BackofficeOverviewLayout.js +0 -31
- package/lib/esm/components/backoffice/overview/BackofficeOverviewLayout.js.map +0 -1
- package/lib/esm/components/backoffice/overview/backofficeOverviewLayout.css.js +0 -8
- package/lib/esm/components/backoffice/overview/backofficeOverviewLayout.css.js.map +0 -1
- package/lib/esm/components/backoffice/pickers/EntityIdPickerDialog.js +0 -106
- package/lib/esm/components/backoffice/pickers/EntityIdPickerDialog.js.map +0 -1
- package/lib/esm/components/backoffice/pickers/entityIdPickerDialog.css.js +0 -8
- package/lib/esm/components/backoffice/pickers/entityIdPickerDialog.css.js.map +0 -1
- package/lib/esm/components/backoffice/pickers/shared/EntityPickerList.js +0 -23
- package/lib/esm/components/backoffice/pickers/shared/EntityPickerList.js.map +0 -1
- package/lib/esm/components/backoffice/pickers/shared/EntityPickerRowBase.js +0 -23
- package/lib/esm/components/backoffice/pickers/shared/EntityPickerRowBase.js.map +0 -1
- package/lib/esm/components/backoffice/pickers/shared/EntityPickerShell.js +0 -24
- package/lib/esm/components/backoffice/pickers/shared/EntityPickerShell.js.map +0 -1
- package/lib/esm/components/backoffice/pickers/types.js +0 -0
- package/lib/esm/components/backoffice/refs/BackofficeEntityIdRef.js +0 -35
- package/lib/esm/components/backoffice/refs/BackofficeEntityIdRef.js.map +0 -1
- package/lib/esm/components/backoffice/refs/BackofficeRelatedCountLink.js +0 -54
- package/lib/esm/components/backoffice/refs/BackofficeRelatedCountLink.js.map +0 -1
- package/lib/esm/components/backoffice/refs/backofficeEntityIdRef.css.js +0 -8
- package/lib/esm/components/backoffice/refs/backofficeEntityIdRef.css.js.map +0 -1
- package/lib/esm/components/backoffice/refs/backofficeRelatedCountLink.css.js +0 -8
- package/lib/esm/components/backoffice/refs/backofficeRelatedCountLink.css.js.map +0 -1
- package/lib/esm/components/backoffice/routing/BackofficeContentBoundary.js +0 -24
- package/lib/esm/components/backoffice/routing/BackofficeContentBoundary.js.map +0 -1
- package/lib/esm/components/backoffice/routing/BackofficeContentError.js +0 -38
- package/lib/esm/components/backoffice/routing/BackofficeContentError.js.map +0 -1
- package/lib/esm/components/backoffice/routing/BackofficeContentFallback.js +0 -47
- package/lib/esm/components/backoffice/routing/BackofficeContentFallback.js.map +0 -1
- package/lib/esm/components/backoffice/routing/BackofficeRouteFallback.js +0 -22
- package/lib/esm/components/backoffice/routing/BackofficeRouteFallback.js.map +0 -1
- package/lib/esm/components/backoffice/routing/BackofficeRoutePendingBar.js +0 -12
- package/lib/esm/components/backoffice/routing/BackofficeRoutePendingBar.js.map +0 -1
- package/lib/esm/components/backoffice/routing/backofficeContentBoundary.css.js +0 -8
- package/lib/esm/components/backoffice/routing/backofficeContentBoundary.css.js.map +0 -1
- package/lib/esm/components/backoffice/routing/backofficeContentError.css.js +0 -8
- package/lib/esm/components/backoffice/routing/backofficeContentError.css.js.map +0 -1
- package/lib/esm/components/backoffice/routing/backofficeContentFallback.css.js +0 -8
- package/lib/esm/components/backoffice/routing/backofficeContentFallback.css.js.map +0 -1
- package/lib/esm/components/backoffice/routing/backofficeRouteFallback.css.js +0 -8
- package/lib/esm/components/backoffice/routing/backofficeRouteFallback.css.js.map +0 -1
- package/lib/esm/components/backoffice/routing/backofficeRoutePendingBar.css.js +0 -8
- package/lib/esm/components/backoffice/routing/backofficeRoutePendingBar.css.js.map +0 -1
- package/lib/esm/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.js +0 -11
- package/lib/esm/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.js.map +0 -1
- package/lib/esm/components/backoffice/scaffolds/BackofficeEntityListScaffold.js +0 -438
- package/lib/esm/components/backoffice/scaffolds/BackofficeEntityListScaffold.js.map +0 -1
- package/lib/esm/components/backoffice/scaffolds/BackofficeListFilterContext.js +0 -40
- package/lib/esm/components/backoffice/scaffolds/BackofficeListFilterContext.js.map +0 -1
- package/lib/esm/components/backoffice/scaffolds/BackofficeTabbedDetailShell.js +0 -24
- package/lib/esm/components/backoffice/scaffolds/BackofficeTabbedDetailShell.js.map +0 -1
- package/lib/esm/components/backoffice/scaffolds/backofficeEntityListScaffold.css.js +0 -8
- package/lib/esm/components/backoffice/scaffolds/backofficeEntityListScaffold.css.js.map +0 -1
- package/lib/esm/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.js +0 -8
- package/lib/esm/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.js.map +0 -1
- package/lib/esm/components/backoffice/shared/BackofficeInlineFilterRow.js +0 -12
- package/lib/esm/components/backoffice/shared/BackofficeInlineFilterRow.js.map +0 -1
- package/lib/esm/components/backoffice/shared/backofficeInlineFilterRow.css.js +0 -8
- package/lib/esm/components/backoffice/shared/backofficeInlineFilterRow.css.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js +0 -40
- package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsErrorFallback.js +0 -48
- package/lib/esm/components/backoffice/tools/BackofficeToolsErrorFallback.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsJsonForm.js +0 -58
- package/lib/esm/components/backoffice/tools/BackofficeToolsJsonForm.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsPageLayout.js +0 -81
- package/lib/esm/components/backoffice/tools/BackofficeToolsPageLayout.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsParamsContext.js +0 -16
- package/lib/esm/components/backoffice/tools/BackofficeToolsParamsContext.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsProjectPicker.js +0 -56
- package/lib/esm/components/backoffice/tools/BackofficeToolsProjectPicker.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsQueryBoundary.js +0 -20
- package/lib/esm/components/backoffice/tools/BackofficeToolsQueryBoundary.js.map +0 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsScopePicker.js +0 -56
- package/lib/esm/components/backoffice/tools/BackofficeToolsScopePicker.js.map +0 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js +0 -8
- package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js.map +0 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js +0 -8
- package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js.map +0 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js +0 -8
- package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js.map +0 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsPageLayout.css.js +0 -8
- package/lib/esm/components/backoffice/tools/backofficeToolsPageLayout.css.js.map +0 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsProjectPicker.css.js +0 -8
- package/lib/esm/components/backoffice/tools/backofficeToolsProjectPicker.css.js.map +0 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsScopePicker.css.js +0 -8
- package/lib/esm/components/backoffice/tools/backofficeToolsScopePicker.css.js.map +0 -1
- package/lib/esm/filters/filterHelpers.js +0 -36
- package/lib/esm/filters/filterHelpers.js.map +0 -1
- package/lib/esm/hooks/useAuth.js +0 -439
- package/lib/esm/hooks/useAuth.js.map +0 -1
- package/lib/esm/hooks/useBackofficeAuth.js +0 -89
- package/lib/esm/hooks/useBackofficeAuth.js.map +0 -1
- package/lib/esm/hooks/useBackofficeListRefetch.js +0 -40
- package/lib/esm/hooks/useBackofficeListRefetch.js.map +0 -1
- package/lib/esm/hooks/useBackofficeListUrlState.js.map +0 -1
- package/lib/esm/hooks/useBackofficeLoadMore.js +0 -18
- package/lib/esm/hooks/useBackofficeLoadMore.js.map +0 -1
- package/lib/esm/hooks/useBackofficeSessionAuth.js +0 -28
- package/lib/esm/hooks/useBackofficeSessionAuth.js.map +0 -1
- package/lib/esm/hooks/useBackofficeSidebarPins.js +0 -70
- package/lib/esm/hooks/useBackofficeSidebarPins.js.map +0 -1
- package/lib/esm/hooks/useBackofficeToolsUrlParams.js +0 -15
- package/lib/esm/hooks/useBackofficeToolsUrlParams.js.map +0 -1
- package/lib/esm/hooks/useConditionalSubscription.js +0 -57
- package/lib/esm/hooks/useConditionalSubscription.js.map +0 -1
- package/lib/esm/hooks/useCopyToClipboard.js +0 -31
- package/lib/esm/hooks/useCopyToClipboard.js.map +0 -1
- package/lib/esm/hooks/useRefetchNeededReload.js +0 -23
- package/lib/esm/hooks/useRefetchNeededReload.js.map +0 -1
- package/lib/esm/hooks/useSidebarGroupCollapse.js +0 -35
- package/lib/esm/hooks/useSidebarGroupCollapse.js.map +0 -1
- package/lib/esm/i18n/createI18nInstance.js +0 -62
- package/lib/esm/i18n/createI18nInstance.js.map +0 -1
- package/lib/esm/i18n/locales/en/backofficeReact.js +0 -249
- package/lib/esm/i18n/locales/en/backofficeReact.js.map +0 -1
- package/lib/esm/i18n/locales/en/shared.js +0 -207
- package/lib/esm/i18n/locales/en/shared.js.map +0 -1
- package/lib/esm/i18n/locales/fr/backofficeReact.js +0 -251
- package/lib/esm/i18n/locales/fr/backofficeReact.js.map +0 -1
- package/lib/esm/i18n/locales/fr/shared.js +0 -207
- package/lib/esm/i18n/locales/fr/shared.js.map +0 -1
- package/lib/esm/i18n/mergeResourceLanguages.js +0 -19
- package/lib/esm/i18n/mergeResourceLanguages.js.map +0 -1
- package/lib/esm/i18n/resources.js +0 -19
- package/lib/esm/i18n/resources.js.map +0 -1
- package/lib/esm/i18n/useBackofficeFormats.js +0 -23
- package/lib/esm/i18n/useBackofficeFormats.js.map +0 -1
- package/lib/esm/i18n/useBackofficeReactTranslation.js +0 -9
- package/lib/esm/i18n/useBackofficeReactTranslation.js.map +0 -1
- package/lib/esm/i18n/useReviewStatusLabel.js +0 -19
- package/lib/esm/i18n/useReviewStatusLabel.js.map +0 -1
- package/lib/esm/i18n/useSharedEnumLabels.js +0 -22
- package/lib/esm/i18n/useSharedEnumLabels.js.map +0 -1
- package/lib/esm/i18n/useSharedTranslation.js +0 -9
- package/lib/esm/i18n/useSharedTranslation.js.map +0 -1
- package/lib/esm/index.js +0 -43
- package/lib/esm/modules/access/viewerPermissionsPolicy.js +0 -17
- package/lib/esm/modules/access/viewerPermissionsPolicy.js.map +0 -1
- package/lib/esm/modules/base64.js +0 -23
- package/lib/esm/modules/base64.js.map +0 -1
- package/lib/esm/modules/billing/usageChartMappers.js +0 -49
- package/lib/esm/modules/billing/usageChartMappers.js.map +0 -1
- package/lib/esm/modules/formatFileSize.js +0 -28
- package/lib/esm/modules/formatFileSize.js.map +0 -1
- package/lib/esm/modules/merge/taskMergeRun.js +0 -67
- package/lib/esm/modules/merge/taskMergeRun.js.map +0 -1
- package/lib/esm/modules/projectIngestionStatus.js +0 -25
- package/lib/esm/modules/projectIngestionStatus.js.map +0 -1
- package/lib/esm/modules/sharedSchemaTypes.js +0 -0
- package/lib/esm/modules/webauthn.js +0 -33
- package/lib/esm/modules/webauthn.js.map +0 -1
- package/lib/esm/pages/BackofficeAcceptInvitationPage.js +0 -24
- package/lib/esm/pages/BackofficeAcceptInvitationPage.js.map +0 -1
- package/lib/esm/pages/BackofficeDashboardPage.js +0 -197
- package/lib/esm/pages/BackofficeDashboardPage.js.map +0 -1
- package/lib/esm/pages/BackofficeEntityDetailLayoutPage.js +0 -18
- package/lib/esm/pages/BackofficeEntityDetailLayoutPage.js.map +0 -1
- package/lib/esm/pages/BackofficeEntityDetailPage.js +0 -837
- package/lib/esm/pages/BackofficeEntityDetailPage.js.map +0 -1
- package/lib/esm/pages/BackofficeEntityDetailUnknownPageRedirect.js.map +0 -1
- package/lib/esm/pages/BackofficeEntityListPage.js +0 -363
- package/lib/esm/pages/BackofficeEntityListPage.js.map +0 -1
- package/lib/esm/pages/BackofficeLayoutPage.js +0 -137
- package/lib/esm/pages/BackofficeLayoutPage.js.map +0 -1
- package/lib/esm/pages/BackofficeLoginPage.js +0 -46
- package/lib/esm/pages/BackofficeLoginPage.js.map +0 -1
- package/lib/esm/pages/BackofficePasswordResetCompletePage.js +0 -59
- package/lib/esm/pages/BackofficePasswordResetCompletePage.js.map +0 -1
- package/lib/esm/pages/BackofficePasswordResetRequestPage.js.map +0 -1
- package/lib/esm/pages/BackofficeToolsOperationPage.js +0 -464
- package/lib/esm/pages/BackofficeToolsOperationPage.js.map +0 -1
- package/lib/esm/pages/BackofficeVerifyEmailPage.js +0 -59
- package/lib/esm/pages/BackofficeVerifyEmailPage.js.map +0 -1
- package/lib/esm/pages/backofficeDashboardPage.css.js +0 -8
- package/lib/esm/pages/backofficeDashboardPage.css.js.map +0 -1
- package/lib/esm/pages/backofficeEntityDetailPage.css.js +0 -8
- package/lib/esm/pages/backofficeEntityDetailPage.css.js.map +0 -1
- package/lib/esm/pages/backofficeEntityListPage.css.js +0 -8
- package/lib/esm/pages/backofficeEntityListPage.css.js.map +0 -1
- package/lib/esm/pages/detail/BackofficeEntityDetailLayoutContext.js.map +0 -1
- package/lib/esm/pages/detail/buildTabsItems.js +0 -10
- package/lib/esm/pages/detail/buildTabsItems.js.map +0 -1
- package/lib/esm/pages/detail/pageResolution.js.map +0 -1
- package/lib/esm/provider/BackofficeConfigContext.js.map +0 -1
- package/lib/esm/provider/BackofficeProvider.js +0 -150
- package/lib/esm/provider/BackofficeProvider.js.map +0 -1
- package/lib/esm/provider/entityRegistry.js +0 -91
- package/lib/esm/provider/entityRegistry.js.map +0 -1
- package/lib/esm/provider/lazyValue.js +0 -14
- package/lib/esm/provider/lazyValue.js.map +0 -1
- package/lib/esm/provider/types.js +0 -0
- package/lib/esm/provider/useBackofficeEntityLoader.js +0 -137
- package/lib/esm/provider/useBackofficeEntityLoader.js.map +0 -1
- package/lib/esm/provider/useBackofficeLazyValue.js.map +0 -1
- package/lib/esm/relay/RelayProvider.js +0 -12
- package/lib/esm/relay/RelayProvider.js.map +0 -1
- package/lib/esm/relay/createInlineDataReader.js +0 -2
- package/lib/esm/relay/createInlineReader.js +0 -7
- package/lib/esm/relay/createInlineReader.js.map +0 -1
- package/lib/esm/relay/envHelpers.js +0 -46
- package/lib/esm/relay/envHelpers.js.map +0 -1
- package/lib/esm/relay/environment.js.map +0 -1
- package/lib/esm/relay/identityView.js +0 -6
- package/lib/esm/relay/identityView.js.map +0 -1
- package/lib/esm/relay/mutationResult.js.map +0 -1
- package/lib/esm/relay/useRelayEnvironment.js.map +0 -1
- package/lib/esm/router/backofficeAuthPaths.js.map +0 -1
- package/lib/esm/router/createBackofficeRoutes.js +0 -273
- package/lib/esm/router/createBackofficeRoutes.js.map +0 -1
- package/lib/esm/style.js +0 -1
- package/lib/esm/subscriptions/conversationStream.js +0 -38
- package/lib/esm/subscriptions/conversationStream.js.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsDocPanel.d.ts +0 -11
- package/lib/types/components/backoffice/tools/BackofficeToolsDocPanel.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts +0 -8
- package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts +0 -15
- package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsPageLayout.d.ts +0 -13
- package/lib/types/components/backoffice/tools/BackofficeToolsPageLayout.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsParamsContext.d.ts +0 -14
- package/lib/types/components/backoffice/tools/BackofficeToolsParamsContext.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsProjectPicker.d.ts +0 -8
- package/lib/types/components/backoffice/tools/BackofficeToolsProjectPicker.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsQueryBoundary.d.ts +0 -7
- package/lib/types/components/backoffice/tools/BackofficeToolsQueryBoundary.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsScopePicker.d.ts +0 -8
- package/lib/types/components/backoffice/tools/BackofficeToolsScopePicker.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts +0 -8
- package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/backofficeToolsForm.css.d.ts +0 -6
- package/lib/types/components/backoffice/tools/backofficeToolsForm.css.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/backofficeToolsJsonForm.css.d.ts +0 -4
- package/lib/types/components/backoffice/tools/backofficeToolsJsonForm.css.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/backofficeToolsPageLayout.css.d.ts +0 -13
- package/lib/types/components/backoffice/tools/backofficeToolsPageLayout.css.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/backofficeToolsProjectPicker.css.d.ts +0 -4
- package/lib/types/components/backoffice/tools/backofficeToolsProjectPicker.css.d.ts.map +0 -1
- package/lib/types/components/backoffice/tools/backofficeToolsScopePicker.css.d.ts +0 -4
- package/lib/types/components/backoffice/tools/backofficeToolsScopePicker.css.d.ts.map +0 -1
- package/lib/types/hooks/useBackofficeToolsUrlParams.d.ts +0 -8
- package/lib/types/hooks/useBackofficeToolsUrlParams.d.ts.map +0 -1
- package/lib/types/i18n/useSharedEnumLabels.d.ts +0 -6
- package/lib/types/i18n/useSharedEnumLabels.d.ts.map +0 -1
- package/lib/types/modules/access/viewerPermissionsPolicy.d.ts +0 -38
- package/lib/types/modules/access/viewerPermissionsPolicy.d.ts.map +0 -1
- package/lib/types/modules/billing/usageChartMappers.d.ts +0 -26
- package/lib/types/modules/billing/usageChartMappers.d.ts.map +0 -1
- package/lib/types/modules/merge/taskMergeRun.d.ts +0 -48
- package/lib/types/modules/merge/taskMergeRun.d.ts.map +0 -1
- package/lib/types/modules/projectIngestionStatus.d.ts +0 -9
- package/lib/types/modules/projectIngestionStatus.d.ts.map +0 -1
- package/lib/types/pages/BackofficeToolsOperationPage.d.ts +0 -9
- package/lib/types/pages/BackofficeToolsOperationPage.d.ts.map +0 -1
- package/lib/types/subscriptions/conversationStream.d.ts +0 -12
- package/lib/types/subscriptions/conversationStream.d.ts.map +0 -1
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/* empty css */
|
|
2
|
-
/* empty css */
|
|
3
|
-
//#region src/pages/backofficeEntityListPage.css.ts
|
|
4
|
-
var e = "c0tad0 vncd899io vncd89co vncd89ao6 vncd89ajx", t = "c0tad1", n = "c0tad2";
|
|
5
|
-
//#endregion
|
|
6
|
-
export { n as actionTrigger, t as actionsColumnCell, e as headerActions };
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=backofficeEntityListPage.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"backofficeEntityListPage.css.js","names":[],"sources":["../../../src/pages/backofficeEntityListPage.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles } from '@plumile/ui/theme/sprinkles.css.js';\n\nexport const headerActions = sprinkles({\n display: 'flex',\n alignItems: 'center',\n gap: 2,\n flexWrap: 'wrap',\n});\n\nexport const actionsColumnCell = style({\n justifyContent: 'flex-end',\n});\n\nexport const actionTrigger = style({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '2rem',\n height: '2rem',\n flexShrink: 0,\n});\n"],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BackofficeEntityDetailLayoutContext.js","names":[],"sources":["../../../../src/pages/detail/BackofficeEntityDetailLayoutContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nexport type BackofficeEntityDetailLayoutContextValue = {\n layoutView: unknown;\n};\n\nconst BackofficeEntityDetailLayoutContext =\n createContext<BackofficeEntityDetailLayoutContextValue | null>(null);\n\nexport const BackofficeEntityDetailLayoutContextProvider =\n BackofficeEntityDetailLayoutContext.Provider;\n\nexport const useBackofficeEntityDetailLayoutContext =\n (): BackofficeEntityDetailLayoutContextValue => {\n const context = useContext(BackofficeEntityDetailLayoutContext);\n if (context == null) {\n throw new Error(\n 'BackofficeEntityDetailLayoutContext is missing. Ensure detail pages are rendered under the entity layout route.',\n );\n }\n return context;\n };\n"],"mappings":";;AAMA,IAAM,IACJ,EAA+D,KAAK,EAEzD,IACX,EAAoC,UAEzB,UACqC;CAC9C,IAAM,IAAU,EAAW,EAAoC;AAC/D,KAAI,KAAW,KACb,OAAU,MACR,kHACD;AAEH,QAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buildTabsItems.js","names":[],"sources":["../../../../src/pages/detail/buildTabsItems.ts"],"sourcesContent":["import type { BackofficeDetailPageRouteSpec } from '@plumile/backoffice-core/types.js';\nimport type { BackofficeTabItem } from '@plumile/ui';\nimport type { TFunction } from 'i18next';\n\ntype DetailPage<Node> = BackofficeDetailPageRouteSpec<Node>;\n\nexport const buildTabsItems = <Node>(input: {\n pages: readonly DetailPage<Node>[];\n id: string;\n tApp: TFunction;\n detailPageHref: (id: string, pageId: string) => string;\n}): readonly BackofficeTabItem[] => {\n return input.pages.map((page) => {\n return {\n id: page.id,\n label: page.label(input.tApp),\n to: input.detailPageHref(input.id, page.id),\n };\n });\n};\n"],"mappings":";AAMA,IAAa,KAAwB,MAM5B,EAAM,MAAM,KAAK,OACf;CACL,IAAI,EAAK;CACT,OAAO,EAAK,MAAM,EAAM,KAAK;CAC7B,IAAI,EAAM,eAAe,EAAM,IAAI,EAAK,GAAG;CAC5C,EACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pageResolution.js","names":[],"sources":["../../../../src/pages/detail/pageResolution.ts"],"sourcesContent":["type DetailPageBase<ShellView> = {\n id: string;\n path: string;\n isVisible?: (layout: ShellView) => boolean;\n};\n\ntype PageResolutionInput<\n ShellView,\n MainPage extends DetailPageBase<ShellView>,\n SubPage extends DetailPageBase<ShellView> = MainPage,\n> = {\n mainPage: MainPage;\n subPages?: readonly SubPage[];\n activePagePath?: string;\n node: ShellView;\n};\n\nexport type ResolvedDetailPages<Page> = {\n pages: readonly Page[];\n activePage: Page | null;\n hasVisiblePages: boolean;\n hasMultiplePages: boolean;\n};\n\nconst normalizePath = (value: string): string => {\n return value.trim().replace(/^\\/+|\\/+$/g, '');\n};\n\nexport const resolveVisibleDetailPages = <\n ShellView,\n MainPage extends DetailPageBase<ShellView>,\n SubPage extends DetailPageBase<ShellView> = MainPage,\n>(\n input: PageResolutionInput<ShellView, MainPage, SubPage>,\n): ResolvedDetailPages<MainPage | SubPage> => {\n const allPages = [input.mainPage, ...(input.subPages ?? [])] as readonly (\n | MainPage\n | SubPage\n )[];\n const visiblePages = allPages.filter((page) => {\n if (page.isVisible == null) {\n return true;\n }\n return page.isVisible(input.node);\n });\n\n if (visiblePages.length === 0) {\n return {\n pages: [],\n activePage: null,\n hasVisiblePages: false,\n hasMultiplePages: false,\n };\n }\n\n const activePath = normalizePath(input.activePagePath ?? '');\n let activeByPath: MainPage | SubPage | null = null;\n if (activePath !== '') {\n activeByPath =\n visiblePages.find((page) => {\n return normalizePath(page.path) === activePath;\n }) ?? null;\n }\n\n const defaultPage =\n visiblePages.find((page) => {\n return page.id === input.mainPage.id;\n }) ?? visiblePages[0];\n if (defaultPage == null) {\n return {\n pages: [],\n activePage: null,\n hasVisiblePages: false,\n hasMultiplePages: false,\n };\n }\n\n const activePage = activeByPath ?? defaultPage;\n\n return {\n pages: visiblePages,\n activePage,\n hasVisiblePages: true,\n hasMultiplePages: visiblePages.length > 1,\n };\n};\n"],"mappings":";AAwBA,IAAM,KAAiB,MACd,EAAM,MAAM,CAAC,QAAQ,cAAc,GAAG,EAGlC,KAKX,MAC4C;CAK5C,IAAM,IAJW,CAAC,EAAM,UAAU,GAAI,EAAM,YAAY,EAAE,CAAE,CAI9B,QAAQ,MAChC,EAAK,aAAa,OACb,KAEF,EAAK,UAAU,EAAM,KAAK,CACjC;AAEF,KAAI,EAAa,WAAW,EAC1B,QAAO;EACL,OAAO,EAAE;EACT,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;EACnB;CAGH,IAAM,IAAa,EAAc,EAAM,kBAAkB,GAAG,EACxD,IAA0C;AAC9C,CAAI,MAAe,OACjB,IACE,EAAa,MAAM,MACV,EAAc,EAAK,KAAK,KAAK,EACpC,IAAI;CAGV,IAAM,IACJ,EAAa,MAAM,MACV,EAAK,OAAO,EAAM,SAAS,GAClC,IAAI,EAAa;AAYrB,QAXI,KAAe,OACV;EACL,OAAO,EAAE;EACT,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;EACnB,GAKI;EACL,OAAO;EACP,YAJiB,KAAgB;EAKjC,iBAAiB;EACjB,kBAAkB,EAAa,SAAS;EACzC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BackofficeConfigContext.js","names":[],"sources":["../../../src/provider/BackofficeConfigContext.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nimport type { BackofficeEntityManifestMap } from '@plumile/backoffice-core/types.js';\n\nimport type {\n BackofficeAuthConfig,\n BackofficeDashboardModule,\n BackofficeGraphQLConfig,\n BackofficeSidebarConfig,\n} from './types.js';\nimport type { BackofficeEntityRegistry } from './entityRegistry.js';\n\nexport type BackofficeConfigContextValue = {\n basePath: string;\n entities: BackofficeEntityManifestMap;\n entityManifest: BackofficeEntityManifestMap;\n entityRegistry: BackofficeEntityRegistry;\n sidebar?: BackofficeSidebarConfig;\n dashboard?: BackofficeDashboardModule;\n auth: BackofficeAuthConfig;\n graphql: BackofficeGraphQLConfig;\n};\n\nconst BackofficeConfigContext =\n createContext<BackofficeConfigContextValue | null>(null);\n\nexport const BackofficeConfigProvider = BackofficeConfigContext.Provider;\n\n/**\n * Hook to access the Backoffice configuration context\n */\nexport function useBackofficeConfig(): BackofficeConfigContextValue {\n const context = useContext(BackofficeConfigContext);\n if (context == null) {\n throw new Error('BackofficeProvider is missing in the component tree.');\n }\n return context;\n}\n\nexport default BackofficeConfigContext;\n"],"mappings":";;AAuBA,IAAM,IACJ,EAAmD,KAAK,EAE7C,IAA2B,EAAwB;AAKhE,SAAgB,IAAoD;CAClE,IAAM,IAAU,EAAW,EAAwB;AACnD,KAAI,KAAW,KACb,OAAU,MAAM,uDAAuD;AAEzE,QAAO"}
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import { BackofficeConfigProvider as e } from "./BackofficeConfigContext.js";
|
|
2
|
-
import { BackofficeRouteFallback as t } from "../components/backoffice/routing/BackofficeRouteFallback.js";
|
|
3
|
-
import { BackofficeRoutePendingBar as n } from "../components/backoffice/routing/BackofficeRoutePendingBar.js";
|
|
4
|
-
import { configureRelayEnvironment as r } from "../relay/environment.js";
|
|
5
|
-
import { useRelayEnvironment as i } from "../relay/useRelayEnvironment.js";
|
|
6
|
-
import { createI18nInstance as a } from "../i18n/createI18nInstance.js";
|
|
7
|
-
import { mergeResourceLanguages as o } from "../i18n/mergeResourceLanguages.js";
|
|
8
|
-
import { backofficeReactI18nResources as s } from "../i18n/resources.js";
|
|
9
|
-
import { RelayProvider as c } from "../relay/RelayProvider.js";
|
|
10
|
-
import { createBackofficeRoutes as l } from "../router/createBackofficeRoutes.js";
|
|
11
|
-
import { createBackofficeEntityRegistry as u } from "./entityRegistry.js";
|
|
12
|
-
import { jsx as d } from "react/jsx-runtime";
|
|
13
|
-
import { I18nextProvider as f } from "react-i18next";
|
|
14
|
-
import { StrictMode as p, useEffect as m, useMemo as h } from "react";
|
|
15
|
-
import { RouterRenderer as g, RoutingContext as _, createRouter as v } from "@plumile/router";
|
|
16
|
-
import { createInstance as y } from "i18next";
|
|
17
|
-
import { ThemeProvider as b } from "@plumile/ui/theme/ThemeProvider";
|
|
18
|
-
//#region src/provider/BackofficeProvider.tsx
|
|
19
|
-
var x = (e) => e.trim() === "" || e === "/" ? "/" : e.startsWith("/") ? e.endsWith("/") ? e.slice(0, -1) : e : `/${e}`, S = (e, t) => {
|
|
20
|
-
let n = x(t), r = x(e);
|
|
21
|
-
return r === "/" || n === r || n.startsWith(`${r}/`) ? n : n === "/" ? r : `${r}${n}`;
|
|
22
|
-
}, C = (e, t) => Object.fromEntries(Object.entries(e).map(([e, n]) => [e, {
|
|
23
|
-
...n,
|
|
24
|
-
routes: {
|
|
25
|
-
list: S(t, n.routes.list),
|
|
26
|
-
detail: (e) => S(t, n.routes.detail(e)),
|
|
27
|
-
detailPage: (e, r) => S(t, n.routes.detailPage(e, r))
|
|
28
|
-
}
|
|
29
|
-
}])), w = (e) => typeof e == "object" && !Array.isArray(e) ? e : {}, T = ({ routes: e, instrumentations: r }) => {
|
|
30
|
-
let a = i(), o = h(() => ({ relayEnvironment: a }), [a]), s = h(() => v(e, {
|
|
31
|
-
context: o,
|
|
32
|
-
instrumentations: r
|
|
33
|
-
}), [
|
|
34
|
-
r,
|
|
35
|
-
e,
|
|
36
|
-
o
|
|
37
|
-
]);
|
|
38
|
-
return m(() => () => {
|
|
39
|
-
s.cleanup();
|
|
40
|
-
}, [s]), /* @__PURE__ */ d(_.Provider, {
|
|
41
|
-
value: s.context,
|
|
42
|
-
children: /* @__PURE__ */ d(g, {
|
|
43
|
-
enableTransition: !0,
|
|
44
|
-
fallback: /* @__PURE__ */ d(t, {}),
|
|
45
|
-
pending: /* @__PURE__ */ d(n, {})
|
|
46
|
-
})
|
|
47
|
-
});
|
|
48
|
-
}, E = (t) => {
|
|
49
|
-
let n = x(t.basePath ?? "/"), i = h(() => C(t.entityManifest, n), [n, t.entityManifest]), g = h(() => u(i, { basePath: n }), [n, i]), _ = t.graphql;
|
|
50
|
-
m(() => {
|
|
51
|
-
r({
|
|
52
|
-
httpUrl: _.httpUrl ?? _.endpoint,
|
|
53
|
-
wsUrl: _.wsUrl ?? _.wsEndpoint,
|
|
54
|
-
logEvents: _.logEvents,
|
|
55
|
-
getAuthHeaders: _.getAuthHeaders
|
|
56
|
-
});
|
|
57
|
-
}, [
|
|
58
|
-
_.endpoint,
|
|
59
|
-
_.getAuthHeaders,
|
|
60
|
-
_.httpUrl,
|
|
61
|
-
_.logEvents,
|
|
62
|
-
_.wsEndpoint,
|
|
63
|
-
_.wsUrl
|
|
64
|
-
]);
|
|
65
|
-
let v = h(() => {
|
|
66
|
-
let e = t.i18n?.resources ?? {}, n = s, r = new Set([...Object.keys(n), ...Object.keys(e)]), i = {};
|
|
67
|
-
return r.forEach((t) => {
|
|
68
|
-
let r = w(n[t]), a = w(e[t]);
|
|
69
|
-
i[t] = {
|
|
70
|
-
...r,
|
|
71
|
-
...a,
|
|
72
|
-
backofficeReact: o(w(r.backofficeReact), w(a.backofficeReact)),
|
|
73
|
-
shared: o(w(r.shared), w(a.shared))
|
|
74
|
-
};
|
|
75
|
-
}), i;
|
|
76
|
-
}, [t.i18n?.resources]), S = h(() => t.i18n?.instance ?? y(), [t.i18n?.instance]);
|
|
77
|
-
return m(() => {
|
|
78
|
-
let e = t.i18n?.initOptions ?? {}, n = e.defaultNS ?? "translations", r = e.ns ?? [
|
|
79
|
-
"backofficeReact",
|
|
80
|
-
"translations",
|
|
81
|
-
"shared",
|
|
82
|
-
"ui"
|
|
83
|
-
];
|
|
84
|
-
a({
|
|
85
|
-
resources: v,
|
|
86
|
-
lng: t.i18n?.lng,
|
|
87
|
-
fallbackLng: t.i18n?.fallbackLng,
|
|
88
|
-
initOptions: {
|
|
89
|
-
...e,
|
|
90
|
-
defaultNS: n,
|
|
91
|
-
ns: r
|
|
92
|
-
},
|
|
93
|
-
instance: S,
|
|
94
|
-
useLanguageDetector: t.i18n?.useLanguageDetector,
|
|
95
|
-
detection: t.i18n?.detection
|
|
96
|
-
}).catch(console.error);
|
|
97
|
-
}, [
|
|
98
|
-
S,
|
|
99
|
-
v,
|
|
100
|
-
t.i18n?.initOptions,
|
|
101
|
-
t.i18n?.detection,
|
|
102
|
-
t.i18n?.fallbackLng,
|
|
103
|
-
t.i18n?.lng,
|
|
104
|
-
t.i18n?.useLanguageDetector
|
|
105
|
-
]), /* @__PURE__ */ d(p, { children: /* @__PURE__ */ d(f, {
|
|
106
|
-
i18n: S,
|
|
107
|
-
children: /* @__PURE__ */ d(b, { children: /* @__PURE__ */ d(c, { children: /* @__PURE__ */ d(e, {
|
|
108
|
-
value: h(() => ({
|
|
109
|
-
basePath: n,
|
|
110
|
-
entities: i,
|
|
111
|
-
entityManifest: i,
|
|
112
|
-
entityRegistry: g,
|
|
113
|
-
sidebar: t.sidebar,
|
|
114
|
-
dashboard: t.dashboard,
|
|
115
|
-
auth: t.auth,
|
|
116
|
-
graphql: t.graphql
|
|
117
|
-
}), [
|
|
118
|
-
n,
|
|
119
|
-
t.auth,
|
|
120
|
-
t.dashboard,
|
|
121
|
-
i,
|
|
122
|
-
g,
|
|
123
|
-
t.graphql,
|
|
124
|
-
t.sidebar
|
|
125
|
-
]),
|
|
126
|
-
children: /* @__PURE__ */ d(T, {
|
|
127
|
-
routes: h(() => l({
|
|
128
|
-
basePath: n,
|
|
129
|
-
entityManifest: i,
|
|
130
|
-
entityRegistry: g,
|
|
131
|
-
sidebar: t.sidebar,
|
|
132
|
-
auth: t.auth,
|
|
133
|
-
dashboard: t.dashboard
|
|
134
|
-
}), [
|
|
135
|
-
n,
|
|
136
|
-
i,
|
|
137
|
-
g,
|
|
138
|
-
t.auth,
|
|
139
|
-
t.dashboard,
|
|
140
|
-
t.sidebar
|
|
141
|
-
]),
|
|
142
|
-
instrumentations: t.instrumentations
|
|
143
|
-
})
|
|
144
|
-
}) }) })
|
|
145
|
-
}) });
|
|
146
|
-
};
|
|
147
|
-
//#endregion
|
|
148
|
-
export { E as BackofficeProvider, E as default };
|
|
149
|
-
|
|
150
|
-
//# sourceMappingURL=BackofficeProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BackofficeProvider.js","names":[],"sources":["../../../src/provider/BackofficeProvider.tsx"],"sourcesContent":["import { StrictMode, useEffect, useMemo, type JSX } from 'react';\nimport {\n createInstance,\n type Resource,\n type ResourceKey,\n type ResourceLanguage,\n} from 'i18next';\nimport { I18nextProvider } from 'react-i18next';\nimport { createRouter, RouterRenderer, RoutingContext } from '@plumile/router';\nimport { ThemeProvider } from '@plumile/ui/theme/ThemeProvider';\n\nimport { type BackofficeEntityManifestMap } from '@plumile/backoffice-core/types.js';\n\nimport { createI18nInstance } from '../i18n/createI18nInstance.js';\nimport { mergeResourceLanguages } from '../i18n/mergeResourceLanguages.js';\nimport { backofficeReactI18nResources } from '../i18n/resources.js';\nimport { RelayProvider } from '../relay/RelayProvider.js';\nimport { useRelayEnvironment } from '../relay/useRelayEnvironment.js';\nimport { configureRelayEnvironment } from '../relay/environment.js';\nimport { BackofficeConfigProvider } from './BackofficeConfigContext.js';\nimport { createBackofficeRoutes } from '../router/createBackofficeRoutes.js';\nimport type { BackofficeProviderProps } from './types.js';\nimport { BackofficeRouteFallback } from '../components/backoffice/routing/BackofficeRouteFallback.js';\nimport { BackofficeRoutePendingBar } from '../components/backoffice/routing/BackofficeRoutePendingBar.js';\nimport { createBackofficeEntityRegistry } from './entityRegistry.js';\n\nconst normalizeAbsolutePath = (value: string): string => {\n if (value.trim() === '' || value === '/') {\n return '/';\n }\n if (!value.startsWith('/')) {\n return `/${value}`;\n }\n if (value.endsWith('/')) {\n return value.slice(0, -1);\n }\n return value;\n};\n\nconst prefixRoutePath = (basePath: string, value: string): string => {\n const normalizedPath = normalizeAbsolutePath(value);\n const normalizedBasePath = normalizeAbsolutePath(basePath);\n if (normalizedBasePath === '/') {\n return normalizedPath;\n }\n if (\n normalizedPath === normalizedBasePath ||\n normalizedPath.startsWith(`${normalizedBasePath}/`)\n ) {\n return normalizedPath;\n }\n if (normalizedPath === '/') {\n return normalizedBasePath;\n }\n return `${normalizedBasePath}${normalizedPath}`;\n};\n\nconst resolveEntityManifest = (\n manifest: BackofficeEntityManifestMap,\n basePath: string,\n): BackofficeEntityManifestMap => {\n return Object.fromEntries(\n Object.entries(manifest).map(([entityId, item]) => {\n return [\n entityId,\n {\n ...item,\n routes: {\n list: prefixRoutePath(basePath, item.routes.list),\n detail: (id: string) => {\n return prefixRoutePath(basePath, item.routes.detail(id));\n },\n detailPage: (id: string, pageId: string) => {\n return prefixRoutePath(\n basePath,\n item.routes.detailPage(id, pageId),\n );\n },\n },\n } satisfies BackofficeEntityManifestMap[string],\n ] as const;\n }),\n );\n};\n\nconst asResourceLanguage = (\n value: ResourceKey | undefined,\n): ResourceLanguage => {\n if (typeof value === 'object' && !Array.isArray(value)) {\n return value as ResourceLanguage;\n }\n return {};\n};\n\ntype RouterShellProps = {\n routes: ReturnType<typeof createBackofficeRoutes>;\n instrumentations?: BackofficeProviderProps['instrumentations'];\n};\n\nconst RouterShell = ({\n routes,\n instrumentations,\n}: RouterShellProps): JSX.Element => {\n const relayEnvironment = useRelayEnvironment();\n\n const routerContext = useMemo(() => {\n return { relayEnvironment };\n }, [relayEnvironment]);\n\n const router = useMemo(() => {\n return createRouter(routes, {\n context: routerContext,\n instrumentations,\n });\n }, [instrumentations, routes, routerContext]);\n\n useEffect(() => {\n return () => {\n router.cleanup();\n };\n }, [router]);\n\n return (\n <RoutingContext.Provider value={router.context}>\n <RouterRenderer\n enableTransition\n fallback={<BackofficeRouteFallback />}\n pending={<BackofficeRoutePendingBar />}\n />\n </RoutingContext.Provider>\n );\n};\n\nexport const BackofficeProvider = (\n props: BackofficeProviderProps,\n): JSX.Element => {\n const basePath = normalizeAbsolutePath(props.basePath ?? '/');\n\n const entityManifest = useMemo(() => {\n return resolveEntityManifest(props.entityManifest, basePath);\n }, [basePath, props.entityManifest]);\n const entityRegistry = useMemo(() => {\n return createBackofficeEntityRegistry(entityManifest, { basePath });\n }, [basePath, entityManifest]);\n\n const graphQLConfig = props.graphql;\n\n useEffect(() => {\n const httpUrl = graphQLConfig.httpUrl ?? graphQLConfig.endpoint;\n const wsUrl = graphQLConfig.wsUrl ?? graphQLConfig.wsEndpoint;\n configureRelayEnvironment({\n httpUrl,\n wsUrl,\n logEvents: graphQLConfig.logEvents,\n getAuthHeaders: graphQLConfig.getAuthHeaders,\n });\n }, [\n graphQLConfig.endpoint,\n graphQLConfig.getAuthHeaders,\n graphQLConfig.httpUrl,\n graphQLConfig.logEvents,\n graphQLConfig.wsEndpoint,\n graphQLConfig.wsUrl,\n ]);\n\n const mergedResources = useMemo(() => {\n const appResources: Resource = props.i18n?.resources ?? {};\n const backofficeReactResources = backofficeReactI18nResources as Resource;\n const locales = new Set([\n ...Object.keys(backofficeReactResources),\n ...Object.keys(appResources),\n ]);\n\n const output: Resource = {};\n\n locales.forEach((locale) => {\n const packageLocale = asResourceLanguage(\n backofficeReactResources[locale],\n );\n const appLocale = asResourceLanguage(appResources[locale]);\n output[locale] = {\n ...packageLocale,\n ...appLocale,\n backofficeReact: mergeResourceLanguages(\n asResourceLanguage(packageLocale.backofficeReact),\n asResourceLanguage(appLocale.backofficeReact),\n ),\n shared: mergeResourceLanguages(\n asResourceLanguage(packageLocale.shared),\n asResourceLanguage(appLocale.shared),\n ),\n };\n });\n\n return output;\n }, [props.i18n?.resources]);\n\n const i18nInstance = useMemo(() => {\n return props.i18n?.instance ?? createInstance();\n }, [props.i18n?.instance]);\n\n useEffect(() => {\n const initOptions = props.i18n?.initOptions ?? {};\n const defaultNs = initOptions.defaultNS ?? 'translations';\n const ns = initOptions.ns ?? [\n 'backofficeReact',\n 'translations',\n 'shared',\n 'ui',\n ];\n createI18nInstance({\n resources: mergedResources,\n lng: props.i18n?.lng,\n fallbackLng: props.i18n?.fallbackLng,\n initOptions: {\n ...initOptions,\n defaultNS: defaultNs,\n ns,\n },\n instance: i18nInstance,\n useLanguageDetector: props.i18n?.useLanguageDetector,\n detection: props.i18n?.detection,\n // eslint-disable-next-line no-console\n }).catch(console.error);\n }, [\n i18nInstance,\n mergedResources,\n props.i18n?.initOptions,\n props.i18n?.detection,\n props.i18n?.fallbackLng,\n props.i18n?.lng,\n props.i18n?.useLanguageDetector,\n ]);\n\n const configValue = useMemo(() => {\n return {\n basePath,\n entities: entityManifest,\n entityManifest,\n entityRegistry,\n sidebar: props.sidebar,\n dashboard: props.dashboard,\n auth: props.auth,\n graphql: props.graphql,\n };\n }, [\n basePath,\n props.auth,\n props.dashboard,\n entityManifest,\n entityRegistry,\n props.graphql,\n props.sidebar,\n ]);\n\n const routes = useMemo(() => {\n return createBackofficeRoutes({\n basePath,\n entityManifest,\n entityRegistry,\n sidebar: props.sidebar,\n auth: props.auth,\n dashboard: props.dashboard,\n });\n }, [\n basePath,\n entityManifest,\n entityRegistry,\n props.auth,\n props.dashboard,\n props.sidebar,\n ]);\n\n return (\n <StrictMode>\n <I18nextProvider i18n={i18nInstance}>\n <ThemeProvider>\n <RelayProvider>\n <BackofficeConfigProvider value={configValue}>\n <RouterShell\n routes={routes}\n instrumentations={props.instrumentations}\n />\n </BackofficeConfigProvider>\n </RelayProvider>\n </ThemeProvider>\n </I18nextProvider>\n </StrictMode>\n );\n};\n\nexport default BackofficeProvider;\n"],"mappings":"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"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { resolveBackofficeLoadedFacetModule as e } from "@plumile/backoffice-core/resolve.js";
|
|
2
|
-
//#region src/provider/entityRegistry.ts
|
|
3
|
-
var t = "cache-first", n = "detail-page", r = "detail-layout", i = "list", a = "picker", o = "tool", s = (e) => e.kind === "list-detail", c = (e) => e.kind === "tool", l = (e, t, r) => t === n ? `${e}:${t}:${r ?? ""}` : `${e}:${t}`, u = (e) => e instanceof Error ? e : Error(String(e)), d = (e) => e?.status !== "loaded" || e.module == null ? null : e.module, f = (e, t) => {
|
|
4
|
-
let n = e[t];
|
|
5
|
-
if (n == null) throw Error(`Unknown backoffice entity: ${t}`);
|
|
6
|
-
return n;
|
|
7
|
-
}, p = (p, m) => {
|
|
8
|
-
let h = /* @__PURE__ */ new Map(), g = (e) => p[e] ?? null, _ = async (e, n, r) => {
|
|
9
|
-
if ((n?.mode ?? t) === "cache-first") {
|
|
10
|
-
let t = d(h.get(e));
|
|
11
|
-
if (t != null) return t;
|
|
12
|
-
let n = h.get(e);
|
|
13
|
-
if (n?.status === "loading" && n.promise != null) return n.promise;
|
|
14
|
-
}
|
|
15
|
-
let i = r().then((t) => (h.set(e, {
|
|
16
|
-
status: "loaded",
|
|
17
|
-
module: t
|
|
18
|
-
}), t)).catch((t) => {
|
|
19
|
-
let n = u(t);
|
|
20
|
-
throw h.set(e, {
|
|
21
|
-
status: "error",
|
|
22
|
-
error: n
|
|
23
|
-
}), n;
|
|
24
|
-
});
|
|
25
|
-
return h.set(e, {
|
|
26
|
-
status: "loading",
|
|
27
|
-
promise: i
|
|
28
|
-
}), i;
|
|
29
|
-
};
|
|
30
|
-
return {
|
|
31
|
-
getManifest: g,
|
|
32
|
-
getLoadedListEntity: (e) => d(h.get(l(e, i))),
|
|
33
|
-
getLoadedPickerEntity: (e) => d(h.get(l(e, a))),
|
|
34
|
-
getLoadedDetailLayoutEntity: (e) => d(h.get(l(e, r))),
|
|
35
|
-
getLoadedDetailPageEntity: (e, t) => d(h.get(l(e, n, t))),
|
|
36
|
-
getLoadedToolEntity: (e) => d(h.get(l(e, o))),
|
|
37
|
-
loadListEntity: async (t, n) => {
|
|
38
|
-
let r = f(p, t);
|
|
39
|
-
if (!s(r)) throw Error(`Backoffice entity ${t} does not expose a list facet.`);
|
|
40
|
-
let a = r.facets.list;
|
|
41
|
-
if (a == null) throw Error(`Backoffice entity ${t} does not expose a list facet.`);
|
|
42
|
-
return _(l(t, i), n, async () => {
|
|
43
|
-
let n = e(r, await a(), m);
|
|
44
|
-
if (n.kind !== i) throw Error(`Backoffice entity ${t} did not resolve to a list facet.`);
|
|
45
|
-
return n;
|
|
46
|
-
});
|
|
47
|
-
},
|
|
48
|
-
loadPickerEntity: async (t, n) => {
|
|
49
|
-
let r = f(p, t);
|
|
50
|
-
if (!s(r)) throw Error(`Backoffice entity ${t} does not expose a picker facet.`);
|
|
51
|
-
let i = r.facets.picker;
|
|
52
|
-
if (i == null) throw Error(`Backoffice entity ${t} does not expose a picker facet.`);
|
|
53
|
-
return _(l(t, a), n, async () => {
|
|
54
|
-
let n = e(r, await i(), m);
|
|
55
|
-
if (n.kind !== a) throw Error(`Backoffice entity ${t} did not resolve to a picker facet.`);
|
|
56
|
-
return n;
|
|
57
|
-
});
|
|
58
|
-
},
|
|
59
|
-
loadDetailLayoutEntity: async (t, n) => {
|
|
60
|
-
let i = f(p, t);
|
|
61
|
-
if (!s(i)) throw Error(`Backoffice entity ${t} does not expose a detail-layout facet.`);
|
|
62
|
-
return _(l(t, r), n, async () => {
|
|
63
|
-
let n = e(i, await i.facets.detailLayout(), m);
|
|
64
|
-
if (n.kind !== r) throw Error(`Backoffice entity ${t} did not resolve to a detail-layout facet.`);
|
|
65
|
-
return n;
|
|
66
|
-
});
|
|
67
|
-
},
|
|
68
|
-
loadDetailPageEntity: async (t, r, i) => {
|
|
69
|
-
let a = f(p, t);
|
|
70
|
-
if (!s(a)) throw Error(`Backoffice entity ${t} does not expose a detail-page facet.`);
|
|
71
|
-
return _(l(t, n, r), i, async () => {
|
|
72
|
-
let i = e(a, await a.facets.detailPage(r), m);
|
|
73
|
-
if (i.kind !== n) throw Error(`Backoffice entity ${t} did not resolve to a detail-page facet.`);
|
|
74
|
-
return i;
|
|
75
|
-
});
|
|
76
|
-
},
|
|
77
|
-
loadToolEntity: async (t, n) => {
|
|
78
|
-
let r = f(p, t);
|
|
79
|
-
if (!c(r)) throw Error(`Backoffice entity ${t} does not expose a tool facet.`);
|
|
80
|
-
return _(l(t, o), n, async () => {
|
|
81
|
-
let n = e(r, await r.facets.tool(), m);
|
|
82
|
-
if (n.kind !== o) throw Error(`Backoffice entity ${t} did not resolve to a tool facet.`);
|
|
83
|
-
return n;
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
};
|
|
88
|
-
//#endregion
|
|
89
|
-
export { p as createBackofficeEntityRegistry, p as default };
|
|
90
|
-
|
|
91
|
-
//# sourceMappingURL=entityRegistry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entityRegistry.js","names":[],"sources":["../../../src/provider/entityRegistry.ts"],"sourcesContent":["import {\n resolveBackofficeLoadedFacetModule,\n type ResolveBackofficeEntityOptions,\n} from '@plumile/backoffice-core/resolve.js';\nimport type {\n BackofficeEntityFacetModuleCacheEntry,\n BackofficeEntityLoadMode,\n BackofficeEntityManifestMap,\n BackofficeListDetailFacetLoaderMap,\n BackofficeToolFacetLoaderMap,\n BackofficeResolvedDetailLayoutFacetModule,\n BackofficeResolvedDetailPageFacetModule,\n BackofficeResolvedListFacetModule,\n BackofficeResolvedPickerFacetModule,\n BackofficeResolvedToolFacetModule,\n} from '@plumile/backoffice-core/types.js';\n\nexport type BackofficeEntityRegistry = {\n getManifest: (entityId: string) => BackofficeEntityManifestMap[string] | null;\n getLoadedListEntity: (\n entityId: string,\n ) => BackofficeResolvedListFacetModule | null;\n getLoadedPickerEntity: (\n entityId: string,\n ) => BackofficeResolvedPickerFacetModule | null;\n getLoadedDetailLayoutEntity: (\n entityId: string,\n ) => BackofficeResolvedDetailLayoutFacetModule | null;\n getLoadedDetailPageEntity: (\n entityId: string,\n pageId: string,\n ) => BackofficeResolvedDetailPageFacetModule | null;\n getLoadedToolEntity: (\n entityId: string,\n ) => BackofficeResolvedToolFacetModule | null;\n loadListEntity: (\n entityId: string,\n options?: { mode?: BackofficeEntityLoadMode },\n ) => Promise<BackofficeResolvedListFacetModule>;\n loadPickerEntity: (\n entityId: string,\n options?: { mode?: BackofficeEntityLoadMode },\n ) => Promise<BackofficeResolvedPickerFacetModule>;\n loadDetailLayoutEntity: (\n entityId: string,\n options?: { mode?: BackofficeEntityLoadMode },\n ) => Promise<BackofficeResolvedDetailLayoutFacetModule>;\n loadDetailPageEntity: (\n entityId: string,\n pageId: string,\n options?: { mode?: BackofficeEntityLoadMode },\n ) => Promise<BackofficeResolvedDetailPageFacetModule>;\n loadToolEntity: (\n entityId: string,\n options?: { mode?: BackofficeEntityLoadMode },\n ) => Promise<BackofficeResolvedToolFacetModule>;\n};\n\nconst DEFAULT_LOAD_MODE: BackofficeEntityLoadMode = 'cache-first';\nconst DETAIL_PAGE_FACET_KIND = 'detail-page';\nconst DETAIL_LAYOUT_FACET_KIND = 'detail-layout';\nconst LIST_FACET_KIND = 'list';\nconst PICKER_FACET_KIND = 'picker';\nconst TOOL_FACET_KIND = 'tool';\n\nconst hasListFacets = (\n manifestItem: BackofficeEntityManifestMap[string],\n): manifestItem is BackofficeEntityManifestMap[string] & {\n facets: BackofficeListDetailFacetLoaderMap;\n} => {\n return manifestItem.kind === 'list-detail';\n};\n\nconst hasToolFacet = (\n manifestItem: BackofficeEntityManifestMap[string],\n): manifestItem is BackofficeEntityManifestMap[string] & {\n facets: BackofficeToolFacetLoaderMap;\n} => {\n return manifestItem.kind === 'tool';\n};\n\nconst buildFacetCacheKey = (\n entityId: string,\n kind: 'list' | 'picker' | 'detail-layout' | 'detail-page' | 'tool',\n pageId?: string,\n): string => {\n if (kind === DETAIL_PAGE_FACET_KIND) {\n return `${entityId}:${kind}:${pageId ?? ''}`;\n }\n return `${entityId}:${kind}`;\n};\n\nconst toError = (error: unknown): Error => {\n if (error instanceof Error) {\n return error;\n }\n return new Error(String(error));\n};\n\nconst getLoadedModule = <TModule>(\n entry: BackofficeEntityFacetModuleCacheEntry | undefined,\n): TModule | null => {\n if (entry?.status !== 'loaded' || entry.module == null) {\n return null;\n }\n return entry.module as TModule;\n};\n\nconst resolveManifest = (\n manifest: BackofficeEntityManifestMap,\n entityId: string,\n): BackofficeEntityManifestMap[string] => {\n const manifestItem = manifest[entityId];\n if (manifestItem == null) {\n throw new Error(`Unknown backoffice entity: ${entityId}`);\n }\n return manifestItem;\n};\n\nexport const createBackofficeEntityRegistry = (\n manifest: BackofficeEntityManifestMap,\n options: ResolveBackofficeEntityOptions,\n): BackofficeEntityRegistry => {\n const cache = new Map<string, BackofficeEntityFacetModuleCacheEntry>();\n\n const getManifest: BackofficeEntityRegistry['getManifest'] = (entityId) => {\n return manifest[entityId] ?? null;\n };\n\n const loadFacet = async <TModule>(\n cacheKey: string,\n loadOptions: { mode?: BackofficeEntityLoadMode } | undefined,\n loader: () => Promise<TModule>,\n ): Promise<TModule> => {\n const resolvedMode = loadOptions?.mode ?? DEFAULT_LOAD_MODE;\n\n if (resolvedMode === 'cache-first') {\n const loadedModule = getLoadedModule<TModule>(cache.get(cacheKey));\n if (loadedModule != null) {\n return loadedModule;\n }\n\n const existing = cache.get(cacheKey);\n if (existing?.status === 'loading' && existing.promise != null) {\n return existing.promise as Promise<TModule>;\n }\n }\n\n const promise = loader()\n .then((module) => {\n cache.set(cacheKey, {\n status: 'loaded',\n module: module as never,\n });\n return module;\n })\n .catch((error: unknown) => {\n const resolvedError = toError(error);\n cache.set(cacheKey, {\n status: 'error',\n error: resolvedError,\n });\n throw resolvedError;\n });\n\n cache.set(cacheKey, {\n status: 'loading',\n promise: promise as never,\n });\n\n return promise;\n };\n\n const getLoadedListEntity: BackofficeEntityRegistry['getLoadedListEntity'] = (\n entityId,\n ) => {\n return getLoadedModule(\n cache.get(buildFacetCacheKey(entityId, LIST_FACET_KIND)),\n );\n };\n\n const getLoadedPickerEntity: BackofficeEntityRegistry['getLoadedPickerEntity'] =\n (entityId) => {\n return getLoadedModule(\n cache.get(buildFacetCacheKey(entityId, PICKER_FACET_KIND)),\n );\n };\n\n const getLoadedDetailLayoutEntity: BackofficeEntityRegistry['getLoadedDetailLayoutEntity'] =\n (entityId) => {\n return getLoadedModule(\n cache.get(buildFacetCacheKey(entityId, DETAIL_LAYOUT_FACET_KIND)),\n );\n };\n\n const getLoadedDetailPageEntity: BackofficeEntityRegistry['getLoadedDetailPageEntity'] =\n (entityId, pageId) => {\n return getLoadedModule(\n cache.get(buildFacetCacheKey(entityId, DETAIL_PAGE_FACET_KIND, pageId)),\n );\n };\n\n const getLoadedToolEntity: BackofficeEntityRegistry['getLoadedToolEntity'] = (\n entityId,\n ) => {\n return getLoadedModule(\n cache.get(buildFacetCacheKey(entityId, TOOL_FACET_KIND)),\n );\n };\n\n const loadListEntity: BackofficeEntityRegistry['loadListEntity'] = async (\n entityId,\n loadOptions,\n ) => {\n const manifestItem = resolveManifest(manifest, entityId);\n if (!hasListFacets(manifestItem)) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a list facet.`,\n );\n }\n const facetLoader = manifestItem.facets.list;\n if (facetLoader == null) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a list facet.`,\n );\n }\n return loadFacet(\n buildFacetCacheKey(entityId, LIST_FACET_KIND),\n loadOptions,\n async () => {\n const loaded = await facetLoader();\n const resolved = resolveBackofficeLoadedFacetModule(\n manifestItem,\n loaded,\n options,\n );\n if (resolved.kind !== LIST_FACET_KIND) {\n throw new Error(\n `Backoffice entity ${entityId} did not resolve to a list facet.`,\n );\n }\n return resolved;\n },\n );\n };\n\n const loadPickerEntity: BackofficeEntityRegistry['loadPickerEntity'] = async (\n entityId,\n loadOptions,\n ) => {\n const manifestItem = resolveManifest(manifest, entityId);\n if (!hasListFacets(manifestItem)) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a picker facet.`,\n );\n }\n const facetLoader = manifestItem.facets.picker;\n if (facetLoader == null) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a picker facet.`,\n );\n }\n return loadFacet(\n buildFacetCacheKey(entityId, PICKER_FACET_KIND),\n loadOptions,\n async () => {\n const loaded = await facetLoader();\n const resolved = resolveBackofficeLoadedFacetModule(\n manifestItem,\n loaded,\n options,\n );\n if (resolved.kind !== PICKER_FACET_KIND) {\n throw new Error(\n `Backoffice entity ${entityId} did not resolve to a picker facet.`,\n );\n }\n return resolved;\n },\n );\n };\n\n const loadDetailLayoutEntity: BackofficeEntityRegistry['loadDetailLayoutEntity'] =\n async (entityId, loadOptions) => {\n const manifestItem = resolveManifest(manifest, entityId);\n if (!hasListFacets(manifestItem)) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a detail-layout facet.`,\n );\n }\n return loadFacet(\n buildFacetCacheKey(entityId, DETAIL_LAYOUT_FACET_KIND),\n loadOptions,\n async () => {\n const loaded = await manifestItem.facets.detailLayout();\n const resolved = resolveBackofficeLoadedFacetModule(\n manifestItem,\n loaded,\n options,\n );\n if (resolved.kind !== DETAIL_LAYOUT_FACET_KIND) {\n throw new Error(\n `Backoffice entity ${entityId} did not resolve to a detail-layout facet.`,\n );\n }\n return resolved;\n },\n );\n };\n\n const loadDetailPageEntity: BackofficeEntityRegistry['loadDetailPageEntity'] =\n async (entityId, pageId, loadOptions) => {\n const manifestItem = resolveManifest(manifest, entityId);\n if (!hasListFacets(manifestItem)) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a detail-page facet.`,\n );\n }\n return loadFacet(\n buildFacetCacheKey(entityId, DETAIL_PAGE_FACET_KIND, pageId),\n loadOptions,\n async () => {\n const loaded = await manifestItem.facets.detailPage(pageId);\n const resolved = resolveBackofficeLoadedFacetModule(\n manifestItem,\n loaded,\n options,\n );\n if (resolved.kind !== DETAIL_PAGE_FACET_KIND) {\n throw new Error(\n `Backoffice entity ${entityId} did not resolve to a detail-page facet.`,\n );\n }\n return resolved;\n },\n );\n };\n\n const loadToolEntity: BackofficeEntityRegistry['loadToolEntity'] = async (\n entityId,\n loadOptions,\n ) => {\n const manifestItem = resolveManifest(manifest, entityId);\n if (!hasToolFacet(manifestItem)) {\n throw new Error(\n `Backoffice entity ${entityId} does not expose a tool facet.`,\n );\n }\n return loadFacet(\n buildFacetCacheKey(entityId, TOOL_FACET_KIND),\n loadOptions,\n async () => {\n const loaded = await manifestItem.facets.tool();\n const resolved = resolveBackofficeLoadedFacetModule(\n manifestItem,\n loaded,\n options,\n );\n if (resolved.kind !== TOOL_FACET_KIND) {\n throw new Error(\n `Backoffice entity ${entityId} did not resolve to a tool facet.`,\n );\n }\n return resolved;\n },\n );\n };\n\n return {\n getManifest,\n getLoadedListEntity,\n getLoadedPickerEntity,\n getLoadedDetailLayoutEntity,\n getLoadedDetailPageEntity,\n getLoadedToolEntity,\n loadListEntity,\n loadPickerEntity,\n loadDetailLayoutEntity,\n loadDetailPageEntity,\n loadToolEntity,\n };\n};\n\nexport default createBackofficeEntityRegistry;\n"],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
//#region src/provider/lazyValue.ts
|
|
2
|
-
var e = (e) => {
|
|
3
|
-
let t = null, n = null;
|
|
4
|
-
return {
|
|
5
|
-
get: () => t,
|
|
6
|
-
load: async () => t ?? (n ??= e().then((e) => (t = e, e)).finally(() => {
|
|
7
|
-
n = null;
|
|
8
|
-
}), n)
|
|
9
|
-
};
|
|
10
|
-
};
|
|
11
|
-
//#endregion
|
|
12
|
-
export { e as createBackofficeLazyValue, e as default };
|
|
13
|
-
|
|
14
|
-
//# sourceMappingURL=lazyValue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lazyValue.js","names":[],"sources":["../../../src/provider/lazyValue.ts"],"sourcesContent":["export type BackofficeLazyValue<TValue> = {\n get: () => TValue | null;\n load: () => Promise<TValue>;\n};\n\nexport const createBackofficeLazyValue = <TValue>(\n loader: () => Promise<TValue>,\n): BackofficeLazyValue<TValue> => {\n let loadedValue: TValue | null = null;\n let inFlightPromise: Promise<TValue> | null = null;\n\n return {\n get: () => {\n return loadedValue;\n },\n load: async () => {\n if (loadedValue != null) {\n return loadedValue;\n }\n if (inFlightPromise != null) {\n return inFlightPromise;\n }\n\n inFlightPromise = loader()\n .then((value) => {\n loadedValue = value;\n return value;\n })\n .finally(() => {\n inFlightPromise = null;\n });\n\n return inFlightPromise;\n },\n };\n};\n\nexport default createBackofficeLazyValue;\n"],"mappings":";AAKA,IAAa,KACX,MACgC;CAChC,IAAI,IAA6B,MAC7B,IAA0C;AAE9C,QAAO;EACL,WACS;EAET,MAAM,YACA,MAGA,AAIJ,MAAkB,GAAQ,CACvB,MAAM,OACL,IAAc,GACP,GACP,CACD,cAAc;AACb,OAAkB;IAClB,EAVK;EAcZ"}
|
|
File without changes
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import { useBackofficeConfig as e } from "./BackofficeConfigContext.js";
|
|
2
|
-
import { useEffect as t, useMemo as n, useState as r } from "react";
|
|
3
|
-
//#region src/provider/useBackofficeEntityLoader.ts
|
|
4
|
-
var i = (e) => e instanceof Error ? e : Error(String(e)), a = (e) => [...new Set(e)].sort(), o = (e, t) => ({
|
|
5
|
-
status: e,
|
|
6
|
-
modules: t,
|
|
7
|
-
error: null
|
|
8
|
-
}), s = (e, t) => e === t ? !0 : e == null || t == null ? !1 : e.name === t.name && e.message === t.message, c = (e, t) => {
|
|
9
|
-
let n = Object.keys(e), r = Object.keys(t);
|
|
10
|
-
if (n.length !== r.length) return !1;
|
|
11
|
-
for (let r of n) if (!(r in t) || e[r] !== t[r]) return !1;
|
|
12
|
-
return !0;
|
|
13
|
-
}, l = (e, t) => e.status !== t.status || e.module !== t.module ? !1 : s(e.error, t.error), u = (e, t) => e.status !== t.status || !c(e.modules, t.modules) ? !1 : s(e.error, t.error), d = (e, t) => l(e, t) ? e : t, f = (e, t) => u(e, t) ? e : t, p = (e, n, a, o = !0) => {
|
|
14
|
-
let s = n(e), [c, l] = r(() => s == null ? {
|
|
15
|
-
status: "loading",
|
|
16
|
-
module: null,
|
|
17
|
-
error: null
|
|
18
|
-
} : {
|
|
19
|
-
status: "loaded",
|
|
20
|
-
module: s,
|
|
21
|
-
error: null
|
|
22
|
-
});
|
|
23
|
-
return t(() => {
|
|
24
|
-
if (!o) {
|
|
25
|
-
let t = n(e);
|
|
26
|
-
l((e) => {
|
|
27
|
-
let n;
|
|
28
|
-
return n = t == null ? {
|
|
29
|
-
status: "loading",
|
|
30
|
-
module: null,
|
|
31
|
-
error: null
|
|
32
|
-
} : {
|
|
33
|
-
status: "loaded",
|
|
34
|
-
module: t,
|
|
35
|
-
error: null
|
|
36
|
-
}, d(e, n);
|
|
37
|
-
});
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
let t = n(e);
|
|
41
|
-
if (t != null) {
|
|
42
|
-
l((e) => d(e, {
|
|
43
|
-
status: "loaded",
|
|
44
|
-
module: t,
|
|
45
|
-
error: null
|
|
46
|
-
}));
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
let r = !1;
|
|
50
|
-
return l((e) => d(e, {
|
|
51
|
-
status: "loading",
|
|
52
|
-
module: null,
|
|
53
|
-
error: null
|
|
54
|
-
})), a(e).then((e) => {
|
|
55
|
-
r || l((t) => d(t, {
|
|
56
|
-
status: "loaded",
|
|
57
|
-
module: e,
|
|
58
|
-
error: null
|
|
59
|
-
}));
|
|
60
|
-
}).catch((e) => {
|
|
61
|
-
if (r) return;
|
|
62
|
-
let t = i(e);
|
|
63
|
-
l((e) => d(e, {
|
|
64
|
-
status: "error",
|
|
65
|
-
module: null,
|
|
66
|
-
error: t
|
|
67
|
-
}));
|
|
68
|
-
}), () => {
|
|
69
|
-
r = !0;
|
|
70
|
-
};
|
|
71
|
-
}, [
|
|
72
|
-
o,
|
|
73
|
-
e,
|
|
74
|
-
n,
|
|
75
|
-
a
|
|
76
|
-
]), c;
|
|
77
|
-
}, m = (t, n) => {
|
|
78
|
-
let { entityRegistry: r } = e();
|
|
79
|
-
return p(t, r.getLoadedListEntity, r.loadListEntity, n?.enabled);
|
|
80
|
-
}, h = (t, n) => {
|
|
81
|
-
let { entityRegistry: r } = e();
|
|
82
|
-
return p(t, r.getLoadedPickerEntity, r.loadPickerEntity, n?.enabled);
|
|
83
|
-
}, g = (t, n) => {
|
|
84
|
-
let { entityRegistry: r } = e();
|
|
85
|
-
return p(t, r.getLoadedToolEntity, r.loadToolEntity, n?.enabled);
|
|
86
|
-
}, _ = (s) => {
|
|
87
|
-
let { entityRegistry: c } = e(), l = n(() => a(s), [s]), u = l.join("|"), [d, p] = r(() => {
|
|
88
|
-
let e = {}, t = !0;
|
|
89
|
-
for (let n of l) {
|
|
90
|
-
let r = c.getLoadedListEntity(n);
|
|
91
|
-
r == null ? t = !1 : e[n] = r;
|
|
92
|
-
}
|
|
93
|
-
return o(t ? "loaded" : "loading", e);
|
|
94
|
-
});
|
|
95
|
-
return t(() => {
|
|
96
|
-
let e = {}, t = !0;
|
|
97
|
-
for (let n of l) {
|
|
98
|
-
let r = c.getLoadedListEntity(n);
|
|
99
|
-
r == null ? t = !1 : e[n] = r;
|
|
100
|
-
}
|
|
101
|
-
if (t) {
|
|
102
|
-
let t = o("loaded", e);
|
|
103
|
-
p((e) => f(e, t));
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
let n = !1;
|
|
107
|
-
return p((t) => f(t, {
|
|
108
|
-
status: "loading",
|
|
109
|
-
modules: e,
|
|
110
|
-
error: null
|
|
111
|
-
})), Promise.all(l.map(async (e) => [e, await c.loadListEntity(e)])).then((e) => {
|
|
112
|
-
n || p((t) => f(t, {
|
|
113
|
-
status: "loaded",
|
|
114
|
-
modules: Object.fromEntries(e),
|
|
115
|
-
error: null
|
|
116
|
-
}));
|
|
117
|
-
}).catch((t) => {
|
|
118
|
-
if (n) return;
|
|
119
|
-
let r = i(t);
|
|
120
|
-
p((t) => f(t, {
|
|
121
|
-
status: "error",
|
|
122
|
-
modules: e,
|
|
123
|
-
error: r
|
|
124
|
-
}));
|
|
125
|
-
}), () => {
|
|
126
|
-
n = !0;
|
|
127
|
-
};
|
|
128
|
-
}, [
|
|
129
|
-
u,
|
|
130
|
-
c,
|
|
131
|
-
l
|
|
132
|
-
]), d;
|
|
133
|
-
};
|
|
134
|
-
//#endregion
|
|
135
|
-
export { _ as useBackofficeListEntitiesLoader, m as useBackofficeListEntityLoader, h as useBackofficePickerEntityLoader, g as useBackofficeToolEntityLoader };
|
|
136
|
-
|
|
137
|
-
//# sourceMappingURL=useBackofficeEntityLoader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useBackofficeEntityLoader.js","names":[],"sources":["../../../src/provider/useBackofficeEntityLoader.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react';\n\nimport type {\n BackofficeResolvedListFacetModule,\n BackofficeResolvedPickerFacetModule,\n BackofficeResolvedToolFacetModule,\n} from '@plumile/backoffice-core/types.js';\n\nimport { useBackofficeConfig } from './BackofficeConfigContext.js';\n\ntype LoadState<TModule> =\n | {\n status: 'loading';\n module: null;\n error: null;\n }\n | {\n status: 'loaded';\n module: TModule;\n error: null;\n }\n | {\n status: 'error';\n module: null;\n error: Error;\n };\n\ntype MultiLoadState<TModule> =\n | {\n status: 'loading';\n modules: Record<string, TModule>;\n error: null;\n }\n | {\n status: 'loaded';\n modules: Record<string, TModule>;\n error: null;\n }\n | {\n status: 'error';\n modules: Record<string, TModule>;\n error: Error;\n };\n\nconst toError = (error: unknown): Error => {\n if (error instanceof Error) {\n return error;\n }\n return new Error(String(error));\n};\n\nconst buildSortedEntityIds = (\n entityIds: readonly string[],\n): readonly string[] => {\n return [...new Set(entityIds)].sort();\n};\n\nconst createMultiLoadState = <TModule>(\n status: 'loading' | 'loaded',\n modules: Record<string, TModule>,\n): MultiLoadState<TModule> => {\n return {\n status,\n modules,\n error: null,\n };\n};\n\nconst areErrorsEqual = (left: Error | null, right: Error | null): boolean => {\n if (left === right) {\n return true;\n }\n if (left == null || right == null) {\n return false;\n }\n return left.name === right.name && left.message === right.message;\n};\n\nconst areModuleMapsEqual = <TModule>(\n left: Record<string, TModule>,\n right: Record<string, TModule>,\n): boolean => {\n const leftKeys = Object.keys(left);\n const rightKeys = Object.keys(right);\n\n if (leftKeys.length !== rightKeys.length) {\n return false;\n }\n\n for (const key of leftKeys) {\n if (!(key in right) || left[key] !== right[key]) {\n return false;\n }\n }\n\n return true;\n};\n\nconst areLoadStatesEqual = <TModule>(\n left: LoadState<TModule>,\n right: LoadState<TModule>,\n): boolean => {\n if (left.status !== right.status) {\n return false;\n }\n\n if (left.module !== right.module) {\n return false;\n }\n\n return areErrorsEqual(left.error, right.error);\n};\n\nconst areMultiLoadStatesEqual = <TModule>(\n left: MultiLoadState<TModule>,\n right: MultiLoadState<TModule>,\n): boolean => {\n if (left.status !== right.status) {\n return false;\n }\n\n if (!areModuleMapsEqual(left.modules, right.modules)) {\n return false;\n }\n\n return areErrorsEqual(left.error, right.error);\n};\n\nconst selectLoadState = <TModule>(\n currentState: LoadState<TModule>,\n nextState: LoadState<TModule>,\n): LoadState<TModule> => {\n if (areLoadStatesEqual(currentState, nextState)) {\n return currentState;\n }\n return nextState;\n};\n\nconst selectMultiLoadState = <TModule>(\n currentState: MultiLoadState<TModule>,\n nextState: MultiLoadState<TModule>,\n): MultiLoadState<TModule> => {\n if (areMultiLoadStatesEqual(currentState, nextState)) {\n return currentState;\n }\n return nextState;\n};\n\nconst useFacetLoader = <TModule>(\n entityId: string,\n getLoaded: (entityId: string) => TModule | null,\n load: (entityId: string) => Promise<TModule>,\n enabled = true,\n): LoadState<TModule> => {\n const initialModule = getLoaded(entityId);\n const [state, setState] = useState<LoadState<TModule>>(() => {\n if (initialModule != null) {\n return {\n status: 'loaded',\n module: initialModule,\n error: null,\n };\n }\n return {\n status: 'loading',\n module: null,\n error: null,\n };\n });\n\n useEffect(() => {\n if (!enabled) {\n const loadedModule = getLoaded(entityId);\n setState((currentState) => {\n let nextState: LoadState<TModule>;\n\n if (loadedModule != null) {\n nextState = {\n status: 'loaded',\n module: loadedModule,\n error: null,\n };\n } else {\n nextState = {\n status: 'loading',\n module: null,\n error: null,\n };\n }\n\n return selectLoadState(currentState, nextState);\n });\n return undefined;\n }\n\n const loadedModule = getLoaded(entityId);\n if (loadedModule != null) {\n setState((currentState) => {\n const nextState: LoadState<TModule> = {\n status: 'loaded',\n module: loadedModule,\n error: null,\n };\n return selectLoadState(currentState, nextState);\n });\n return undefined;\n }\n\n let cancelled = false;\n setState((currentState) => {\n const nextState: LoadState<TModule> = {\n status: 'loading',\n module: null,\n error: null,\n };\n return selectLoadState(currentState, nextState);\n });\n\n load(entityId)\n .then((module) => {\n if (cancelled) {\n return;\n }\n setState((currentState) => {\n const nextState: LoadState<TModule> = {\n status: 'loaded',\n module,\n error: null,\n };\n return selectLoadState(currentState, nextState);\n });\n })\n .catch((error: unknown) => {\n if (cancelled) {\n return;\n }\n const nextError = toError(error);\n setState((currentState) => {\n const nextState: LoadState<TModule> = {\n status: 'error',\n module: null,\n error: nextError,\n };\n return selectLoadState(currentState, nextState);\n });\n });\n\n return () => {\n cancelled = true;\n };\n }, [enabled, entityId, getLoaded, load]);\n\n return state;\n};\n\nexport const useBackofficeListEntityLoader = (\n entityId: string,\n options?: { enabled?: boolean },\n): LoadState<BackofficeResolvedListFacetModule> => {\n const { entityRegistry } = useBackofficeConfig();\n return useFacetLoader(\n entityId,\n entityRegistry.getLoadedListEntity,\n entityRegistry.loadListEntity,\n options?.enabled,\n );\n};\n\nexport const useBackofficePickerEntityLoader = (\n entityId: string,\n options?: { enabled?: boolean },\n): LoadState<BackofficeResolvedPickerFacetModule> => {\n const { entityRegistry } = useBackofficeConfig();\n return useFacetLoader(\n entityId,\n entityRegistry.getLoadedPickerEntity,\n entityRegistry.loadPickerEntity,\n options?.enabled,\n );\n};\n\nexport const useBackofficeToolEntityLoader = (\n entityId: string,\n options?: { enabled?: boolean },\n): LoadState<BackofficeResolvedToolFacetModule> => {\n const { entityRegistry } = useBackofficeConfig();\n return useFacetLoader(\n entityId,\n entityRegistry.getLoadedToolEntity,\n entityRegistry.loadToolEntity,\n options?.enabled,\n );\n};\n\nexport const useBackofficeListEntitiesLoader = (\n entityIds: readonly string[],\n): MultiLoadState<BackofficeResolvedListFacetModule> => {\n const { entityRegistry } = useBackofficeConfig();\n const normalizedEntityIds = useMemo(() => {\n return buildSortedEntityIds(entityIds);\n }, [entityIds]);\n const entityIdsKey = normalizedEntityIds.join('|');\n const [state, setState] = useState<\n MultiLoadState<BackofficeResolvedListFacetModule>\n >(() => {\n const modules: Record<string, BackofficeResolvedListFacetModule> = {};\n let isComplete = true;\n\n for (const entityId of normalizedEntityIds) {\n const module = entityRegistry.getLoadedListEntity(entityId);\n if (module == null) {\n isComplete = false;\n } else {\n modules[entityId] = module;\n }\n }\n\n if (isComplete) {\n return createMultiLoadState('loaded', modules);\n }\n return createMultiLoadState('loading', modules);\n });\n\n useEffect(() => {\n const modules: Record<string, BackofficeResolvedListFacetModule> = {};\n let isComplete = true;\n\n for (const entityId of normalizedEntityIds) {\n const module = entityRegistry.getLoadedListEntity(entityId);\n if (module == null) {\n isComplete = false;\n } else {\n modules[entityId] = module;\n }\n }\n\n if (isComplete) {\n const nextState = createMultiLoadState('loaded', modules);\n setState((currentState) => {\n return selectMultiLoadState(currentState, nextState);\n });\n return undefined;\n }\n\n let cancelled = false;\n setState((currentState) => {\n const nextState: MultiLoadState<BackofficeResolvedListFacetModule> = {\n status: 'loading',\n modules,\n error: null,\n };\n return selectMultiLoadState(currentState, nextState);\n });\n\n Promise.all(\n normalizedEntityIds.map(async (entityId) => {\n const module = await entityRegistry.loadListEntity(entityId);\n return [entityId, module] as const;\n }),\n )\n .then((entries) => {\n if (cancelled) {\n return;\n }\n setState((currentState) => {\n const nextState: MultiLoadState<BackofficeResolvedListFacetModule> = {\n status: 'loaded',\n modules: Object.fromEntries(entries),\n error: null,\n };\n return selectMultiLoadState(currentState, nextState);\n });\n })\n .catch((error: unknown) => {\n if (cancelled) {\n return;\n }\n const nextError = toError(error);\n setState((currentState) => {\n const nextState: MultiLoadState<BackofficeResolvedListFacetModule> = {\n status: 'error',\n modules,\n error: nextError,\n };\n return selectMultiLoadState(currentState, nextState);\n });\n });\n\n return () => {\n cancelled = true;\n };\n }, [entityIdsKey, entityRegistry, normalizedEntityIds]);\n\n return state;\n};\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useBackofficeLazyValue.js","names":[],"sources":["../../../src/provider/useBackofficeLazyValue.ts"],"sourcesContent":["import type { BackofficeDashboardConfig } from '@plumile/backoffice-core/types.js';\n\nimport { useBackofficeConfig } from './BackofficeConfigContext.js';\nimport type {\n BackofficeResolvedAuthLoginConfig,\n BackofficeResolvedAuthLogoutConfig,\n BackofficeResolvedAuthPasswordResetCompleteConfig,\n BackofficeResolvedAuthPasswordResetRequestConfig,\n BackofficeResolvedAuthSessionConfig,\n BackofficeResolvedAuthVerifyEmailConfig,\n} from './types.js';\nimport type { BackofficeLazyValue } from './lazyValue.js';\n\nconst useResolvedLazyValue = <TValue>(\n resource: BackofficeLazyValue<TValue> | null | undefined,\n): TValue | null => {\n if (resource == null) {\n return null;\n }\n const loadedValue = resource.get();\n if (loadedValue != null) {\n return loadedValue;\n }\n // React Suspense expects a pending promise to be thrown while the lazy value loads.\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw resource.load();\n};\n\nexport const useBackofficeAuthSessionConfig =\n (): BackofficeResolvedAuthSessionConfig => {\n const { auth } = useBackofficeConfig();\n const resolved = useResolvedLazyValue(auth.session);\n if (resolved == null) {\n throw new Error('Missing backoffice auth session config.');\n }\n return resolved;\n };\n\nexport const useBackofficeAuthLoginConfig =\n (): BackofficeResolvedAuthLoginConfig => {\n const { auth } = useBackofficeConfig();\n const resolved = useResolvedLazyValue(auth.login);\n if (resolved == null) {\n throw new Error('Missing backoffice auth login config.');\n }\n return resolved;\n };\n\nexport const useBackofficeAuthLogoutConfig =\n (): BackofficeResolvedAuthLogoutConfig => {\n const { auth } = useBackofficeConfig();\n const resolved = useResolvedLazyValue(auth.logout);\n if (resolved == null) {\n throw new Error('Missing backoffice logout auth config.');\n }\n return resolved;\n };\n\nexport const useBackofficeAuthPasswordResetRequestConfig =\n (): BackofficeResolvedAuthPasswordResetRequestConfig => {\n const { auth } = useBackofficeConfig();\n const resolved = useResolvedLazyValue(auth.passwordResetRequest);\n if (resolved == null) {\n throw new Error('Missing backoffice password reset request auth config.');\n }\n return resolved;\n };\n\nexport const useBackofficeAuthPasswordResetCompleteConfig =\n (): BackofficeResolvedAuthPasswordResetCompleteConfig => {\n const { auth } = useBackofficeConfig();\n const resolved = useResolvedLazyValue(auth.passwordResetComplete);\n if (resolved == null) {\n throw new Error(\n 'Missing backoffice password reset completion auth config.',\n );\n }\n return resolved;\n };\n\nexport const useBackofficeAuthVerifyEmailConfig =\n (): BackofficeResolvedAuthVerifyEmailConfig => {\n const { auth } = useBackofficeConfig();\n const resolved = useResolvedLazyValue(auth.verifyEmail);\n if (resolved == null) {\n throw new Error('Missing backoffice verify email auth config.');\n }\n return resolved;\n };\n\nexport const useBackofficeDashboardConfig =\n (): BackofficeDashboardConfig | null => {\n const { dashboard } = useBackofficeConfig();\n return useResolvedLazyValue(dashboard);\n };\n\nexport default useResolvedLazyValue;\n"],"mappings":";;AAaA,IAAM,KACJ,MACkB;AAClB,KAAI,KAAY,KACd,QAAO;CAET,IAAM,IAAc,EAAS,KAAK;AAClC,KAAI,KAAe,KACjB,QAAO;AAIT,OAAM,EAAS,MAAM;GAGV,UACgC;CACzC,IAAM,EAAE,YAAS,GAAqB,EAChC,IAAW,EAAqB,EAAK,QAAQ;AACnD,KAAI,KAAY,KACd,OAAU,MAAM,0CAA0C;AAE5D,QAAO;GAGE,UAC8B;CACvC,IAAM,EAAE,YAAS,GAAqB,EAChC,IAAW,EAAqB,EAAK,MAAM;AACjD,KAAI,KAAY,KACd,OAAU,MAAM,wCAAwC;AAE1D,QAAO;GAGE,UAC+B;CACxC,IAAM,EAAE,YAAS,GAAqB,EAChC,IAAW,EAAqB,EAAK,OAAO;AAClD,KAAI,KAAY,KACd,OAAU,MAAM,yCAAyC;AAE3D,QAAO;GAGE,UAC6C;CACtD,IAAM,EAAE,YAAS,GAAqB,EAChC,IAAW,EAAqB,EAAK,qBAAqB;AAChE,KAAI,KAAY,KACd,OAAU,MAAM,yDAAyD;AAE3E,QAAO;GAGE,UAC8C;CACvD,IAAM,EAAE,YAAS,GAAqB,EAChC,IAAW,EAAqB,EAAK,sBAAsB;AACjE,KAAI,KAAY,KACd,OAAU,MACR,4DACD;AAEH,QAAO;GAGE,UACoC;CAC7C,IAAM,EAAE,YAAS,GAAqB,EAChC,IAAW,EAAqB,EAAK,YAAY;AACvD,KAAI,KAAY,KACd,OAAU,MAAM,+CAA+C;AAEjE,QAAO;GAGE,UAC6B;CACtC,IAAM,EAAE,iBAAc,GAAqB;AAC3C,QAAO,EAAqB,EAAU"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { getEnvironment as e } from "./environment.js";
|
|
2
|
-
import { jsx as t } from "react/jsx-runtime";
|
|
3
|
-
import * as n from "react-relay";
|
|
4
|
-
//#region src/relay/RelayProvider.tsx
|
|
5
|
-
var { RelayEnvironmentProvider: r } = n, i = ({ children: n }) => /* @__PURE__ */ t(r, {
|
|
6
|
-
environment: e(),
|
|
7
|
-
children: n
|
|
8
|
-
});
|
|
9
|
-
//#endregion
|
|
10
|
-
export { i as RelayProvider, i as default };
|
|
11
|
-
|
|
12
|
-
//# sourceMappingURL=RelayProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RelayProvider.js","names":[],"sources":["../../../src/relay/RelayProvider.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\nimport * as ReactRelay from 'react-relay';\n\nimport { getEnvironment } from './environment.js';\n\nconst { RelayEnvironmentProvider } = ReactRelay;\n\ntype Props = {\n children: ReactNode;\n};\n\nexport const RelayProvider = ({ children }: Props): JSX.Element => {\n const environment = getEnvironment();\n\n return (\n <RelayEnvironmentProvider environment={environment}>\n {children}\n </RelayEnvironmentProvider>\n );\n};\n\nexport default RelayProvider;\n"],"mappings":";;;;AAKA,IAAM,EAAE,gCAA6B,GAMxB,KAAiB,EAAE,kBAI5B,kBAAC,GAAD;CAAuC,aAHrB,GAAgB;CAI/B;CACwB,CAAA"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as e from "react-relay";
|
|
2
|
-
//#region src/relay/createInlineReader.ts
|
|
3
|
-
var { readInlineData: t } = e, n = (e) => (n) => t(e, n), r = n;
|
|
4
|
-
//#endregion
|
|
5
|
-
export { n as createInlineDataReader, r as createInlineReader };
|
|
6
|
-
|
|
7
|
-
//# sourceMappingURL=createInlineReader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createInlineReader.js","names":[],"sources":["../../../src/relay/createInlineReader.ts"],"sourcesContent":["import * as ReactRelay from 'react-relay';\nimport type { GraphQLTaggedNode } from 'relay-runtime';\n\nconst { readInlineData } = ReactRelay;\n\n// Reserved for non-React helpers that explicitly read `@inline` fragments.\nexport const createInlineDataReader = <TRef, TData>(\n fragment: GraphQLTaggedNode,\n): ((ref: TRef) => TData) => {\n return (ref: TRef) => {\n return readInlineData(fragment, ref as never) as TData;\n };\n};\n\n// Legacy alias kept for incremental migration of existing callsites.\nexport const createInlineReader = createInlineDataReader;\n"],"mappings":";;AAGA,IAAM,EAAE,sBAAmB,GAGd,KACX,OAEQ,MACC,EAAe,GAAU,EAAa,EAKpC,IAAqB"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
//#region src/relay/envHelpers.ts
|
|
2
|
-
var e = (() => {
|
|
3
|
-
try {
|
|
4
|
-
let e = import.meta;
|
|
5
|
-
return e.env == null ? {} : e.env;
|
|
6
|
-
} catch {
|
|
7
|
-
return {};
|
|
8
|
-
}
|
|
9
|
-
})();
|
|
10
|
-
function t(t) {
|
|
11
|
-
let n = e[t];
|
|
12
|
-
if (typeof n != "string") return;
|
|
13
|
-
let r = n.trim();
|
|
14
|
-
if (r !== "") return r;
|
|
15
|
-
}
|
|
16
|
-
function n(t) {
|
|
17
|
-
let n = e[t];
|
|
18
|
-
if (n === !0 || n === !1) return n;
|
|
19
|
-
if (typeof n == "string") {
|
|
20
|
-
if (n === "true") return !0;
|
|
21
|
-
if (n === "false") return !1;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
function r() {
|
|
25
|
-
return !!n("DEV");
|
|
26
|
-
}
|
|
27
|
-
function i(e) {
|
|
28
|
-
let { envKeys: n, fallback: r, read: i = t } = e;
|
|
29
|
-
for (let e of n) {
|
|
30
|
-
let t = i(e);
|
|
31
|
-
if (t != null) return t;
|
|
32
|
-
}
|
|
33
|
-
return r;
|
|
34
|
-
}
|
|
35
|
-
function a(e) {
|
|
36
|
-
let { envKeys: n, fallback: r, httpEndpoint: i, read: a = t } = e;
|
|
37
|
-
for (let e of n) {
|
|
38
|
-
let t = a(e);
|
|
39
|
-
if (t != null) return t;
|
|
40
|
-
}
|
|
41
|
-
return i.startsWith("http") ? i.replace(/^http/, "ws") : i.startsWith("/") ? i.replace(/\/graphql$/, "/ws") : r;
|
|
42
|
-
}
|
|
43
|
-
//#endregion
|
|
44
|
-
export { r as isDevEnv, n as readBooleanEnv, t as readEnv, i as resolveHttpEndpoint, a as resolveWebsocketEndpoint };
|
|
45
|
-
|
|
46
|
-
//# sourceMappingURL=envHelpers.js.map
|