@ruya.sa/next 3.71.3
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/LICENSE.md +22 -0
- package/dist/auth/login.js +67 -0
- package/dist/auth/login.js.map +1 -0
- package/dist/auth/logout.js +52 -0
- package/dist/auth/logout.js.map +1 -0
- package/dist/auth/refresh.js +56 -0
- package/dist/auth/refresh.js.map +1 -0
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -0
- package/dist/dummy.css +0 -0
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +19 -0
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +81 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +66 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/index.js +78 -0
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +29 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +72 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -0
- package/dist/elements/DocumentHeader/index.js +36 -0
- package/dist/elements/DocumentHeader/index.js.map +1 -0
- package/dist/elements/FormHeader/index.js +20 -0
- package/dist/elements/FormHeader/index.js.map +1 -0
- package/dist/elements/Logo/index.js +39 -0
- package/dist/elements/Logo/index.js.map +1 -0
- package/dist/elements/Nav/NavHamburger/index.js +51 -0
- package/dist/elements/Nav/NavHamburger/index.js.map +1 -0
- package/dist/elements/Nav/NavWrapper/index.js +61 -0
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -0
- package/dist/elements/Nav/SettingsMenuButton/index.js +45 -0
- package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -0
- package/dist/elements/Nav/getNavPrefs.js +26 -0
- package/dist/elements/Nav/getNavPrefs.js.map +1 -0
- package/dist/elements/Nav/index.client.js +133 -0
- package/dist/elements/Nav/index.client.js.map +1 -0
- package/dist/elements/Nav/index.js +145 -0
- package/dist/elements/Nav/index.js.map +1 -0
- package/dist/esbuildEntry.js +5 -0
- package/dist/esbuildEntry.js.map +1 -0
- package/dist/exports/auth.js +4 -0
- package/dist/exports/auth.js.map +1 -0
- package/dist/exports/client.js +6 -0
- package/dist/exports/client.js.map +1 -0
- package/dist/exports/layouts.js +3 -0
- package/dist/exports/layouts.js.map +1 -0
- package/dist/exports/routes.js +3 -0
- package/dist/exports/routes.js.map +1 -0
- package/dist/exports/rsc.js +4 -0
- package/dist/exports/rsc.js.map +1 -0
- package/dist/exports/templates.js +3 -0
- package/dist/exports/templates.js.map +1 -0
- package/dist/exports/utilities.js +53 -0
- package/dist/exports/utilities.js.map +1 -0
- package/dist/exports/views.js +10 -0
- package/dist/exports/views.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/layouts/Root/NestProviders.js +24 -0
- package/dist/layouts/Root/NestProviders.js.map +1 -0
- package/dist/layouts/Root/checkDependencies.js +49 -0
- package/dist/layouts/Root/checkDependencies.js.map +1 -0
- package/dist/layouts/Root/index.js +120 -0
- package/dist/layouts/Root/index.js.map +1 -0
- package/dist/routes/graphql/handler.js +137 -0
- package/dist/routes/graphql/handler.js.map +1 -0
- package/dist/routes/graphql/index.js +3 -0
- package/dist/routes/graphql/index.js.map +1 -0
- package/dist/routes/graphql/playground.js +31 -0
- package/dist/routes/graphql/playground.js.map +1 -0
- package/dist/routes/index.js +3 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/rest/index.js +33 -0
- package/dist/routes/rest/index.js.map +1 -0
- package/dist/routes/rest/og/image.js +86 -0
- package/dist/routes/rest/og/image.js.map +1 -0
- package/dist/routes/rest/og/index.js +70 -0
- package/dist/routes/rest/og/index.js.map +1 -0
- package/dist/routes/rest/og/roboto-regular.woff +0 -0
- package/dist/templates/Default/NavHamburger/index.js +25 -0
- package/dist/templates/Default/NavHamburger/index.js.map +1 -0
- package/dist/templates/Default/Wrapper/index.js +49 -0
- package/dist/templates/Default/Wrapper/index.js.map +1 -0
- package/dist/templates/Default/index.js +129 -0
- package/dist/templates/Default/index.js.map +1 -0
- package/dist/templates/Minimal/index.js +21 -0
- package/dist/templates/Minimal/index.js.map +1 -0
- package/dist/utilities/getExistingAuthToken.js +6 -0
- package/dist/utilities/getExistingAuthToken.js.map +1 -0
- package/dist/utilities/getNextRequestI18n.js +22 -0
- package/dist/utilities/getNextRequestI18n.js.map +1 -0
- package/dist/utilities/getPayloadHMR.js +15 -0
- package/dist/utilities/getPayloadHMR.js.map +1 -0
- package/dist/utilities/getPreferences.js +26 -0
- package/dist/utilities/getPreferences.js.map +1 -0
- package/dist/utilities/getRequestLocale.js +20 -0
- package/dist/utilities/getRequestLocale.js.map +1 -0
- package/dist/utilities/getRequestTheme.js +22 -0
- package/dist/utilities/getRequestTheme.js.map +1 -0
- package/dist/utilities/getRouteWithoutAdmin.js +7 -0
- package/dist/utilities/getRouteWithoutAdmin.js.map +1 -0
- package/dist/utilities/handleAuthRedirect.js +41 -0
- package/dist/utilities/handleAuthRedirect.js.map +1 -0
- package/dist/utilities/handleServerFunctions.js +57 -0
- package/dist/utilities/handleServerFunctions.js.map +1 -0
- package/dist/utilities/initReq.js +110 -0
- package/dist/utilities/initReq.js.map +1 -0
- package/dist/utilities/isCustomAdminView.js +31 -0
- package/dist/utilities/isCustomAdminView.js.map +1 -0
- package/dist/utilities/isPublicAdminRoute.js +25 -0
- package/dist/utilities/isPublicAdminRoute.js.map +1 -0
- package/dist/utilities/meta.js +69 -0
- package/dist/utilities/meta.js.map +1 -0
- package/dist/utilities/selectiveCache.js +38 -0
- package/dist/utilities/selectiveCache.js.map +1 -0
- package/dist/utilities/setPayloadAuthCookie.js +27 -0
- package/dist/utilities/setPayloadAuthCookie.js.map +1 -0
- package/dist/utilities/slugify.js +47 -0
- package/dist/utilities/slugify.js.map +1 -0
- package/dist/utilities/timestamp.js +8 -0
- package/dist/utilities/timestamp.js.map +1 -0
- package/dist/views/API/LocaleSelector/index.js +44 -0
- package/dist/views/API/LocaleSelector/index.js.map +1 -0
- package/dist/views/API/RenderJSON/index.js +135 -0
- package/dist/views/API/RenderJSON/index.js.map +1 -0
- package/dist/views/API/index.client.js +209 -0
- package/dist/views/API/index.client.js.map +1 -0
- package/dist/views/API/index.js +7 -0
- package/dist/views/API/index.js.map +1 -0
- package/dist/views/API/metadata.js +29 -0
- package/dist/views/API/metadata.js.map +1 -0
- package/dist/views/Account/ResetPreferences/index.js +112 -0
- package/dist/views/Account/ResetPreferences/index.js.map +1 -0
- package/dist/views/Account/Settings/LanguageSelector.js +52 -0
- package/dist/views/Account/Settings/LanguageSelector.js.map +1 -0
- package/dist/views/Account/Settings/index.js +33 -0
- package/dist/views/Account/Settings/index.js.map +1 -0
- package/dist/views/Account/ToggleTheme/index.js +60 -0
- package/dist/views/Account/ToggleTheme/index.js.map +1 -0
- package/dist/views/Account/index.client.js +37 -0
- package/dist/views/Account/index.client.js.map +1 -0
- package/dist/views/Account/index.js +178 -0
- package/dist/views/Account/index.js.map +1 -0
- package/dist/views/Account/metadata.js +14 -0
- package/dist/views/Account/metadata.js.map +1 -0
- package/dist/views/BrowseByFolder/buildView.js +169 -0
- package/dist/views/BrowseByFolder/buildView.js.map +1 -0
- package/dist/views/BrowseByFolder/index.js +20 -0
- package/dist/views/BrowseByFolder/index.js.map +1 -0
- package/dist/views/BrowseByFolder/metadata.js +18 -0
- package/dist/views/BrowseByFolder/metadata.js.map +1 -0
- package/dist/views/CollectionFolders/buildView.js +156 -0
- package/dist/views/CollectionFolders/buildView.js.map +1 -0
- package/dist/views/CollectionFolders/index.js +20 -0
- package/dist/views/CollectionFolders/index.js.map +1 -0
- package/dist/views/CollectionFolders/metadata.js +25 -0
- package/dist/views/CollectionFolders/metadata.js.map +1 -0
- package/dist/views/CollectionFolders/renderFolderViewSlots.js +64 -0
- package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -0
- package/dist/views/CollectionTrash/index.js +21 -0
- package/dist/views/CollectionTrash/index.js.map +1 -0
- package/dist/views/CollectionTrash/metadata.js +25 -0
- package/dist/views/CollectionTrash/metadata.js.map +1 -0
- package/dist/views/CreateFirstUser/index.client.js +112 -0
- package/dist/views/CreateFirstUser/index.client.js.map +1 -0
- package/dist/views/CreateFirstUser/index.js +88 -0
- package/dist/views/CreateFirstUser/index.js.map +1 -0
- package/dist/views/CreateFirstUser/metadata.js +14 -0
- package/dist/views/CreateFirstUser/metadata.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +147 -0
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +431 -0
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/index.js +87 -0
- package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +99 -0
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +58 -0
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +72 -0
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +158 -0
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +38 -0
- package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +264 -0
- package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -0
- package/dist/views/Dashboard/Default/index.js +52 -0
- package/dist/views/Dashboard/Default/index.js.map +1 -0
- package/dist/views/Dashboard/index.js +50 -0
- package/dist/views/Dashboard/index.js.map +1 -0
- package/dist/views/Dashboard/metadata.js +16 -0
- package/dist/views/Dashboard/metadata.js.map +1 -0
- package/dist/views/Document/getCustomDocumentViewByKey.js +4 -0
- package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -0
- package/dist/views/Document/getCustomViewByRoute.js +35 -0
- package/dist/views/Document/getCustomViewByRoute.js.map +1 -0
- package/dist/views/Document/getDocPreferences.js +45 -0
- package/dist/views/Document/getDocPreferences.js.map +1 -0
- package/dist/views/Document/getDocumentData.js +60 -0
- package/dist/views/Document/getDocumentData.js.map +1 -0
- package/dist/views/Document/getDocumentPermissions.js +87 -0
- package/dist/views/Document/getDocumentPermissions.js.map +1 -0
- package/dist/views/Document/getDocumentView.js +310 -0
- package/dist/views/Document/getDocumentView.js.map +1 -0
- package/dist/views/Document/getIsLocked.js +79 -0
- package/dist/views/Document/getIsLocked.js.map +1 -0
- package/dist/views/Document/getMetaBySegment.js +150 -0
- package/dist/views/Document/getMetaBySegment.js.map +1 -0
- package/dist/views/Document/getVersions.js +210 -0
- package/dist/views/Document/getVersions.js.map +1 -0
- package/dist/views/Document/handleServerFunction.js +135 -0
- package/dist/views/Document/handleServerFunction.js.map +1 -0
- package/dist/views/Document/index.js +390 -0
- package/dist/views/Document/index.js.map +1 -0
- package/dist/views/Document/metadata.js +3 -0
- package/dist/views/Document/metadata.js.map +1 -0
- package/dist/views/Document/renderDocumentSlots.js +154 -0
- package/dist/views/Document/renderDocumentSlots.js.map +1 -0
- package/dist/views/Edit/index.js +11 -0
- package/dist/views/Edit/index.js.map +1 -0
- package/dist/views/Edit/metadata.js +52 -0
- package/dist/views/Edit/metadata.js.map +1 -0
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +179 -0
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -0
- package/dist/views/ForgotPassword/index.js +72 -0
- package/dist/views/ForgotPassword/index.js.map +1 -0
- package/dist/views/ForgotPassword/metadata.js +14 -0
- package/dist/views/ForgotPassword/metadata.js.map +1 -0
- package/dist/views/List/createSerializableValue.js +14 -0
- package/dist/views/List/createSerializableValue.js.map +1 -0
- package/dist/views/List/enrichDocsWithVersionStatus.js +96 -0
- package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -0
- package/dist/views/List/extractRelationshipDisplayValue.js +17 -0
- package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -0
- package/dist/views/List/extractValueOrRelationshipID.js +19 -0
- package/dist/views/List/extractValueOrRelationshipID.js.map +1 -0
- package/dist/views/List/handleGroupBy.js +160 -0
- package/dist/views/List/handleGroupBy.js.map +1 -0
- package/dist/views/List/handleServerFunction.js +130 -0
- package/dist/views/List/handleServerFunction.js.map +1 -0
- package/dist/views/List/index.js +356 -0
- package/dist/views/List/index.js.map +1 -0
- package/dist/views/List/metadata.js +24 -0
- package/dist/views/List/metadata.js.map +1 -0
- package/dist/views/List/renderListViewSlots.js +80 -0
- package/dist/views/List/renderListViewSlots.js.map +1 -0
- package/dist/views/List/resolveAllFilterOptions.js +49 -0
- package/dist/views/List/resolveAllFilterOptions.js.map +1 -0
- package/dist/views/List/transformColumnsToSelect.js +11 -0
- package/dist/views/List/transformColumnsToSelect.js.map +1 -0
- package/dist/views/Login/LoginField/index.js +98 -0
- package/dist/views/Login/LoginField/index.js.map +1 -0
- package/dist/views/Login/LoginForm/index.js +177 -0
- package/dist/views/Login/LoginForm/index.js.map +1 -0
- package/dist/views/Login/index.js +95 -0
- package/dist/views/Login/index.js.map +1 -0
- package/dist/views/Login/metadata.js +14 -0
- package/dist/views/Login/metadata.js.map +1 -0
- package/dist/views/Logout/LogoutClient.js +140 -0
- package/dist/views/Logout/LogoutClient.js.map +1 -0
- package/dist/views/Logout/index.js +36 -0
- package/dist/views/Logout/index.js.map +1 -0
- package/dist/views/Logout/metadata.js +13 -0
- package/dist/views/Logout/metadata.js.map +1 -0
- package/dist/views/NotFound/index.client.js +88 -0
- package/dist/views/NotFound/index.client.js.map +1 -0
- package/dist/views/NotFound/index.js +87 -0
- package/dist/views/NotFound/index.js.map +1 -0
- package/dist/views/NotFound/metadata.js +11 -0
- package/dist/views/NotFound/metadata.js.map +1 -0
- package/dist/views/ResetPassword/ResetPasswordForm/index.js +117 -0
- package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -0
- package/dist/views/ResetPassword/index.js +83 -0
- package/dist/views/ResetPassword/index.js.map +1 -0
- package/dist/views/ResetPassword/metadata.js +14 -0
- package/dist/views/ResetPassword/metadata.js.map +1 -0
- package/dist/views/Root/attachViewActions.js +27 -0
- package/dist/views/Root/attachViewActions.js.map +1 -0
- package/dist/views/Root/generateCustomViewMetadata.js +25 -0
- package/dist/views/Root/generateCustomViewMetadata.js.map +1 -0
- package/dist/views/Root/getCustomViewByKey.js +16 -0
- package/dist/views/Root/getCustomViewByKey.js.map +1 -0
- package/dist/views/Root/getCustomViewByRoute.js +48 -0
- package/dist/views/Root/getCustomViewByRoute.js.map +1 -0
- package/dist/views/Root/getDocumentViewInfo.js +28 -0
- package/dist/views/Root/getDocumentViewInfo.js.map +1 -0
- package/dist/views/Root/getRouteData.js +359 -0
- package/dist/views/Root/getRouteData.js.map +1 -0
- package/dist/views/Root/index.js +300 -0
- package/dist/views/Root/index.js.map +1 -0
- package/dist/views/Root/isPathMatchingRoute.js +29 -0
- package/dist/views/Root/isPathMatchingRoute.js.map +1 -0
- package/dist/views/Root/metadata.js +209 -0
- package/dist/views/Root/metadata.js.map +1 -0
- package/dist/views/Unauthorized/index.js +54 -0
- package/dist/views/Unauthorized/index.js.map +1 -0
- package/dist/views/Unauthorized/metadata.js +14 -0
- package/dist/views/Unauthorized/metadata.js.map +1 -0
- package/dist/views/Verify/index.client.js +50 -0
- package/dist/views/Verify/index.client.js.map +1 -0
- package/dist/views/Verify/index.js +71 -0
- package/dist/views/Verify/index.js.map +1 -0
- package/dist/views/Verify/metadata.js +14 -0
- package/dist/views/Verify/metadata.js.map +1 -0
- package/dist/views/Version/Default/SelectedLocalesContext.js +8 -0
- package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -0
- package/dist/views/Version/Default/SetStepNav.js +135 -0
- package/dist/views/Version/Default/SetStepNav.js.map +1 -0
- package/dist/views/Version/Default/index.js +253 -0
- package/dist/views/Version/Default/index.js.map +1 -0
- package/dist/views/Version/Default/types.js +2 -0
- package/dist/views/Version/Default/types.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +130 -0
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +80 -0
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +439 -0
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +61 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +75 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +66 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +129 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +45 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +188 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +87 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +155 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +100 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +222 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js +35 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/index.js +13 -0
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +242 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +861 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +4 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +47 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +45 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +135 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -0
- package/dist/views/Version/Restore/index.js +106 -0
- package/dist/views/Version/Restore/index.js.map +1 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +56 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js +240 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -0
- package/dist/views/Version/SelectComparison/index.js +57 -0
- package/dist/views/Version/SelectComparison/index.js.map +1 -0
- package/dist/views/Version/SelectComparison/types.js +2 -0
- package/dist/views/Version/SelectComparison/types.js.map +1 -0
- package/dist/views/Version/SelectLocales/index.js +39 -0
- package/dist/views/Version/SelectLocales/index.js.map +1 -0
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +110 -0
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -0
- package/dist/views/Version/VersionPillLabel/getVersionLabel.js +34 -0
- package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -0
- package/dist/views/Version/fetchVersions.js +151 -0
- package/dist/views/Version/fetchVersions.js.map +1 -0
- package/dist/views/Version/index.js +349 -0
- package/dist/views/Version/index.js.map +1 -0
- package/dist/views/Version/metadata.js +58 -0
- package/dist/views/Version/metadata.js.map +1 -0
- package/dist/views/Versions/buildColumns.js +88 -0
- package/dist/views/Versions/buildColumns.js.map +1 -0
- package/dist/views/Versions/cells/AutosaveCell/index.js +45 -0
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -0
- package/dist/views/Versions/cells/CreatedAt/index.js +60 -0
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -0
- package/dist/views/Versions/cells/ID/index.js +12 -0
- package/dist/views/Versions/cells/ID/index.js.map +1 -0
- package/dist/views/Versions/index.client.js +89 -0
- package/dist/views/Versions/index.client.js.map +1 -0
- package/dist/views/Versions/index.js +157 -0
- package/dist/views/Versions/index.js.map +1 -0
- package/dist/views/Versions/metadata.js +51 -0
- package/dist/views/Versions/metadata.js.map +1 -0
- package/dist/views/Versions/types.js +2 -0
- package/dist/views/Versions/types.js.map +1 -0
- package/dist/withPayload/withPayload.js +162 -0
- package/dist/withPayload/withPayload.js.map +1 -0
- package/dist/withPayload/withPayload.spec.js +40 -0
- package/dist/withPayload/withPayload.spec.js.map +1 -0
- package/dist/withPayload/withPayload.utils.js +133 -0
- package/dist/withPayload/withPayload.utils.js.map +1 -0
- package/dist/withPayload/withPayloadLegacy.js +47 -0
- package/dist/withPayload/withPayloadLegacy.js.map +1 -0
- package/package.json +153 -0
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { PageConfigProvider } from '@ruya.sa/ui';
|
|
3
|
+
import { RenderServerComponent } from '@ruya.sa/ui/elements/RenderServerComponent';
|
|
4
|
+
import { getVisibleEntities } from '@ruya.sa/ui/shared';
|
|
5
|
+
import { getClientConfig } from '@ruya.sa/ui/utilities/getClientConfig';
|
|
6
|
+
import { notFound, redirect } from 'next/navigation.js';
|
|
7
|
+
import { applyLocaleFiltering, formatAdminURL } from '@ruya.sa/payload/shared';
|
|
8
|
+
import * as qs from 'qs-esm';
|
|
9
|
+
import React from 'react';
|
|
10
|
+
import { DefaultTemplate } from '../../templates/Default/index.js';
|
|
11
|
+
import { MinimalTemplate } from '../../templates/Minimal/index.js';
|
|
12
|
+
import { getPreferences } from '../../utilities/getPreferences.js';
|
|
13
|
+
import { handleAuthRedirect } from '../../utilities/handleAuthRedirect.js';
|
|
14
|
+
import { initReq } from '../../utilities/initReq.js';
|
|
15
|
+
import { isCustomAdminView } from '../../utilities/isCustomAdminView.js';
|
|
16
|
+
import { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js';
|
|
17
|
+
import { getCustomViewByRoute } from './getCustomViewByRoute.js';
|
|
18
|
+
import { getRouteData } from './getRouteData.js';
|
|
19
|
+
export const RootPage = async ({
|
|
20
|
+
config: configPromise,
|
|
21
|
+
importMap,
|
|
22
|
+
params: paramsPromise,
|
|
23
|
+
searchParams: searchParamsPromise
|
|
24
|
+
}) => {
|
|
25
|
+
const config = await configPromise;
|
|
26
|
+
const {
|
|
27
|
+
admin: {
|
|
28
|
+
routes: {
|
|
29
|
+
createFirstUser: _createFirstUserRoute
|
|
30
|
+
},
|
|
31
|
+
user: userSlug
|
|
32
|
+
},
|
|
33
|
+
routes: {
|
|
34
|
+
admin: adminRoute
|
|
35
|
+
}
|
|
36
|
+
} = config;
|
|
37
|
+
const params = await paramsPromise;
|
|
38
|
+
const currentRoute = formatAdminURL({
|
|
39
|
+
adminRoute,
|
|
40
|
+
path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null
|
|
41
|
+
});
|
|
42
|
+
const segments = Array.isArray(params.segments) ? params.segments : [];
|
|
43
|
+
const isCollectionRoute = segments[0] === 'collections';
|
|
44
|
+
const isGlobalRoute = segments[0] === 'globals';
|
|
45
|
+
let collectionConfig = undefined;
|
|
46
|
+
let globalConfig = undefined;
|
|
47
|
+
const searchParams = await searchParamsPromise;
|
|
48
|
+
// Redirect `${adminRoute}/collections` to `${adminRoute}`
|
|
49
|
+
if (isCollectionRoute) {
|
|
50
|
+
if (segments.length === 1) {
|
|
51
|
+
const {
|
|
52
|
+
viewKey
|
|
53
|
+
} = getCustomViewByRoute({
|
|
54
|
+
config,
|
|
55
|
+
currentRoute: '/collections'
|
|
56
|
+
});
|
|
57
|
+
// Only redirect if there's NO custom view configured for /collections
|
|
58
|
+
if (!viewKey) {
|
|
59
|
+
redirect(adminRoute);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (segments[1]) {
|
|
63
|
+
collectionConfig = config.collections.find(({
|
|
64
|
+
slug
|
|
65
|
+
}) => slug === segments[1]);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// Redirect `${adminRoute}/globals` to `${adminRoute}`
|
|
69
|
+
if (isGlobalRoute) {
|
|
70
|
+
if (segments.length === 1) {
|
|
71
|
+
const {
|
|
72
|
+
viewKey
|
|
73
|
+
} = getCustomViewByRoute({
|
|
74
|
+
config,
|
|
75
|
+
currentRoute: '/globals'
|
|
76
|
+
});
|
|
77
|
+
// Only redirect if there's NO custom view configured for /globals
|
|
78
|
+
if (!viewKey) {
|
|
79
|
+
redirect(adminRoute);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (segments[1]) {
|
|
83
|
+
globalConfig = config.globals.find(({
|
|
84
|
+
slug
|
|
85
|
+
}) => slug === segments[1]);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if (isCollectionRoute && !collectionConfig || isGlobalRoute && !globalConfig) {
|
|
89
|
+
return notFound();
|
|
90
|
+
}
|
|
91
|
+
const queryString = `${qs.stringify(searchParams ?? {}, {
|
|
92
|
+
addQueryPrefix: true
|
|
93
|
+
})}`;
|
|
94
|
+
const {
|
|
95
|
+
cookies,
|
|
96
|
+
locale,
|
|
97
|
+
permissions,
|
|
98
|
+
req,
|
|
99
|
+
req: {
|
|
100
|
+
payload
|
|
101
|
+
}
|
|
102
|
+
} = await initReq({
|
|
103
|
+
configPromise: config,
|
|
104
|
+
importMap,
|
|
105
|
+
key: 'initPage',
|
|
106
|
+
overrides: {
|
|
107
|
+
fallbackLocale: false,
|
|
108
|
+
req: {
|
|
109
|
+
query: qs.parse(queryString, {
|
|
110
|
+
depth: 10,
|
|
111
|
+
ignoreQueryPrefix: true
|
|
112
|
+
})
|
|
113
|
+
},
|
|
114
|
+
// intentionally omit `serverURL` to keep URL relative
|
|
115
|
+
urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
if (!permissions.canAccessAdmin && !isPublicAdminRoute({
|
|
119
|
+
adminRoute,
|
|
120
|
+
config: payload.config,
|
|
121
|
+
route: currentRoute
|
|
122
|
+
}) && !isCustomAdminView({
|
|
123
|
+
adminRoute,
|
|
124
|
+
config: payload.config,
|
|
125
|
+
route: currentRoute
|
|
126
|
+
})) {
|
|
127
|
+
redirect(handleAuthRedirect({
|
|
128
|
+
config: payload.config,
|
|
129
|
+
route: currentRoute,
|
|
130
|
+
searchParams,
|
|
131
|
+
user: req.user
|
|
132
|
+
}));
|
|
133
|
+
}
|
|
134
|
+
let collectionPreferences = undefined;
|
|
135
|
+
if (collectionConfig && segments.length === 2) {
|
|
136
|
+
if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {
|
|
137
|
+
await getPreferences(`collection-${collectionConfig.slug}`, req.payload, req.user.id, config.admin.user).then(res => {
|
|
138
|
+
if (res && res.value) {
|
|
139
|
+
collectionPreferences = res.value;
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
const {
|
|
145
|
+
browseByFolderSlugs,
|
|
146
|
+
DefaultView,
|
|
147
|
+
documentSubViewType,
|
|
148
|
+
routeParams,
|
|
149
|
+
templateClassName,
|
|
150
|
+
templateType,
|
|
151
|
+
viewActions,
|
|
152
|
+
viewType
|
|
153
|
+
} = getRouteData({
|
|
154
|
+
adminRoute,
|
|
155
|
+
collectionConfig,
|
|
156
|
+
collectionPreferences,
|
|
157
|
+
currentRoute,
|
|
158
|
+
globalConfig,
|
|
159
|
+
payload,
|
|
160
|
+
searchParams,
|
|
161
|
+
segments
|
|
162
|
+
});
|
|
163
|
+
req.routeParams = routeParams;
|
|
164
|
+
const dbHasUser = req.user || (await req.payload.db.findOne({
|
|
165
|
+
collection: userSlug,
|
|
166
|
+
req
|
|
167
|
+
})?.then(doc => !!doc));
|
|
168
|
+
/**
|
|
169
|
+
* This function is responsible for handling the case where the view is not found.
|
|
170
|
+
* The current route did not match any default views or custom route views.
|
|
171
|
+
*/
|
|
172
|
+
if (!DefaultView?.Component && !DefaultView?.payloadComponent) {
|
|
173
|
+
if (req?.user) {
|
|
174
|
+
notFound();
|
|
175
|
+
}
|
|
176
|
+
if (dbHasUser) {
|
|
177
|
+
redirect(adminRoute);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
const usersCollection = config.collections.find(({
|
|
181
|
+
slug
|
|
182
|
+
}) => slug === userSlug);
|
|
183
|
+
const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy;
|
|
184
|
+
const createFirstUserRoute = formatAdminURL({
|
|
185
|
+
adminRoute,
|
|
186
|
+
path: _createFirstUserRoute
|
|
187
|
+
});
|
|
188
|
+
if (disableLocalStrategy && currentRoute === createFirstUserRoute) {
|
|
189
|
+
redirect(adminRoute);
|
|
190
|
+
}
|
|
191
|
+
if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {
|
|
192
|
+
redirect(createFirstUserRoute);
|
|
193
|
+
}
|
|
194
|
+
if (dbHasUser && currentRoute === createFirstUserRoute) {
|
|
195
|
+
redirect(adminRoute);
|
|
196
|
+
}
|
|
197
|
+
if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {
|
|
198
|
+
redirect(adminRoute);
|
|
199
|
+
}
|
|
200
|
+
const clientConfig = getClientConfig({
|
|
201
|
+
config,
|
|
202
|
+
i18n: req.i18n,
|
|
203
|
+
importMap,
|
|
204
|
+
user: viewType === 'createFirstUser' ? true : req.user
|
|
205
|
+
});
|
|
206
|
+
await applyLocaleFiltering({
|
|
207
|
+
clientConfig,
|
|
208
|
+
config,
|
|
209
|
+
req
|
|
210
|
+
});
|
|
211
|
+
// Ensure locale on req is still valid after filtering locales
|
|
212
|
+
if (clientConfig.localization && req.locale && !clientConfig.localization.localeCodes.includes(req.locale)) {
|
|
213
|
+
redirect(`${currentRoute}${qs.stringify({
|
|
214
|
+
...searchParams,
|
|
215
|
+
locale: clientConfig.localization.localeCodes.includes(clientConfig.localization.defaultLocale) ? clientConfig.localization.defaultLocale : clientConfig.localization.localeCodes[0]
|
|
216
|
+
}, {
|
|
217
|
+
addQueryPrefix: true
|
|
218
|
+
})}`);
|
|
219
|
+
}
|
|
220
|
+
const visibleEntities = getVisibleEntities({
|
|
221
|
+
req
|
|
222
|
+
});
|
|
223
|
+
const folderID = routeParams.folderID;
|
|
224
|
+
const RenderedView = RenderServerComponent({
|
|
225
|
+
clientProps: {
|
|
226
|
+
browseByFolderSlugs,
|
|
227
|
+
clientConfig,
|
|
228
|
+
documentSubViewType,
|
|
229
|
+
viewType
|
|
230
|
+
},
|
|
231
|
+
Component: DefaultView.payloadComponent,
|
|
232
|
+
Fallback: DefaultView.Component,
|
|
233
|
+
importMap,
|
|
234
|
+
serverProps: {
|
|
235
|
+
clientConfig,
|
|
236
|
+
collectionConfig,
|
|
237
|
+
docID: routeParams.id,
|
|
238
|
+
folderID,
|
|
239
|
+
globalConfig,
|
|
240
|
+
i18n: req.i18n,
|
|
241
|
+
importMap,
|
|
242
|
+
initPageResult: {
|
|
243
|
+
collectionConfig,
|
|
244
|
+
cookies,
|
|
245
|
+
docID: routeParams.id,
|
|
246
|
+
globalConfig,
|
|
247
|
+
languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce((acc, [language, languageConfig]) => {
|
|
248
|
+
if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {
|
|
249
|
+
acc.push({
|
|
250
|
+
label: languageConfig.translations.general.thisLanguage,
|
|
251
|
+
value: language
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
return acc;
|
|
255
|
+
}, []),
|
|
256
|
+
locale,
|
|
257
|
+
permissions,
|
|
258
|
+
req,
|
|
259
|
+
translations: req.i18n.translations,
|
|
260
|
+
visibleEntities
|
|
261
|
+
},
|
|
262
|
+
params,
|
|
263
|
+
payload: req.payload,
|
|
264
|
+
searchParams,
|
|
265
|
+
viewActions
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
return /*#__PURE__*/_jsxs(PageConfigProvider, {
|
|
269
|
+
config: clientConfig,
|
|
270
|
+
children: [!templateType && /*#__PURE__*/_jsx(React.Fragment, {
|
|
271
|
+
children: RenderedView
|
|
272
|
+
}), templateType === 'minimal' && /*#__PURE__*/_jsx(MinimalTemplate, {
|
|
273
|
+
className: templateClassName,
|
|
274
|
+
children: RenderedView
|
|
275
|
+
}), templateType === 'default' && /*#__PURE__*/_jsx(DefaultTemplate, {
|
|
276
|
+
collectionSlug: collectionConfig?.slug,
|
|
277
|
+
docID: routeParams.id,
|
|
278
|
+
documentSubViewType: documentSubViewType,
|
|
279
|
+
globalSlug: globalConfig?.slug,
|
|
280
|
+
i18n: req.i18n,
|
|
281
|
+
locale: locale,
|
|
282
|
+
params: params,
|
|
283
|
+
payload: req.payload,
|
|
284
|
+
permissions: permissions,
|
|
285
|
+
req: req,
|
|
286
|
+
searchParams: searchParams,
|
|
287
|
+
user: req.user,
|
|
288
|
+
viewActions: viewActions,
|
|
289
|
+
viewType: viewType,
|
|
290
|
+
visibleEntities: {
|
|
291
|
+
// The reason we are not passing in initPageResult.visibleEntities directly is due to a "Cannot assign to read only property of object '#<Object>" error introduced in React 19
|
|
292
|
+
// which this caused as soon as initPageResult.visibleEntities is passed in
|
|
293
|
+
collections: visibleEntities?.collections,
|
|
294
|
+
globals: visibleEntities?.globals
|
|
295
|
+
},
|
|
296
|
+
children: RenderedView
|
|
297
|
+
})]
|
|
298
|
+
});
|
|
299
|
+
};
|
|
300
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["PageConfigProvider","RenderServerComponent","getVisibleEntities","getClientConfig","notFound","redirect","applyLocaleFiltering","formatAdminURL","qs","React","DefaultTemplate","MinimalTemplate","getPreferences","handleAuthRedirect","initReq","isCustomAdminView","isPublicAdminRoute","getCustomViewByRoute","getRouteData","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","isCollectionRoute","isGlobalRoute","collectionConfig","undefined","globalConfig","length","viewKey","collections","find","slug","globals","queryString","stringify","addQueryPrefix","cookies","locale","permissions","req","payload","key","overrides","fallbackLocale","query","parse","depth","ignoreQueryPrefix","urlSuffix","canAccessAdmin","route","collectionPreferences","folders","id","then","res","value","browseByFolderSlugs","DefaultView","documentSubViewType","routeParams","templateClassName","templateType","viewActions","viewType","dbHasUser","db","findOne","collection","doc","Component","payloadComponent","usersCollection","disableLocalStrategy","auth","createFirstUserRoute","clientConfig","i18n","localization","localeCodes","includes","defaultLocale","visibleEntities","folderID","RenderedView","clientProps","Fallback","serverProps","docID","initPageResult","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","_jsxs","_jsx","Fragment","className","collectionSlug","globalSlug"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@ruya.sa/translations'\nimport type { Metadata } from 'next'\nimport type {\n AdminViewClientProps,\n AdminViewServerPropsOnly,\n CollectionPreferences,\n ImportMap,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from '@ruya.sa/payload'\n\nimport { PageConfigProvider } from '@ruya.sa/ui'\nimport { RenderServerComponent } from '@ruya.sa/ui/elements/RenderServerComponent'\nimport { getVisibleEntities } from '@ruya.sa/ui/shared'\nimport { getClientConfig } from '@ruya.sa/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { applyLocaleFiltering, formatAdminURL } from '@ruya.sa/payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { handleAuthRedirect } from '../../utilities/handleAuthRedirect.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { isCustomAdminView } from '../../utilities/isCustomAdminView.js'\nimport { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getRouteData } from './getRouteData.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n const isCollectionRoute = segments[0] === 'collections'\n const isGlobalRoute = segments[0] === 'globals'\n let collectionConfig: SanitizedCollectionConfig = undefined\n let globalConfig: SanitizedGlobalConfig = undefined\n\n const searchParams = await searchParamsPromise\n\n // Redirect `${adminRoute}/collections` to `${adminRoute}`\n if (isCollectionRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/collections',\n })\n\n // Only redirect if there's NO custom view configured for /collections\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n collectionConfig = config.collections.find(({ slug }) => slug === segments[1])\n }\n }\n\n // Redirect `${adminRoute}/globals` to `${adminRoute}`\n if (isGlobalRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/globals',\n })\n\n // Only redirect if there's NO custom view configured for /globals\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n globalConfig = config.globals.find(({ slug }) => slug === segments[1])\n }\n }\n\n if ((isCollectionRoute && !collectionConfig) || (isGlobalRoute && !globalConfig)) {\n return notFound()\n }\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n\n const {\n cookies,\n locale,\n permissions,\n req,\n req: { payload },\n } = await initReq({\n configPromise: config,\n importMap,\n key: 'initPage',\n overrides: {\n fallbackLocale: false,\n req: {\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n },\n // intentionally omit `serverURL` to keep URL relative\n urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`,\n },\n })\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route: currentRoute }) &&\n !isCustomAdminView({ adminRoute, config: payload.config, route: currentRoute })\n ) {\n redirect(\n handleAuthRedirect({\n config: payload.config,\n route: currentRoute,\n searchParams,\n user: req.user,\n }),\n )\n }\n\n let collectionPreferences: CollectionPreferences = undefined\n\n if (collectionConfig && segments.length === 2) {\n if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {\n await getPreferences<CollectionPreferences>(\n `collection-${collectionConfig.slug}`,\n req.payload,\n req.user.id,\n config.admin.user,\n ).then((res) => {\n if (res && res.value) {\n collectionPreferences = res.value\n }\n })\n }\n }\n\n const {\n browseByFolderSlugs,\n DefaultView,\n documentSubViewType,\n routeParams,\n templateClassName,\n templateType,\n viewActions,\n viewType,\n } = getRouteData({\n adminRoute,\n collectionConfig,\n collectionPreferences,\n currentRoute,\n globalConfig,\n payload,\n searchParams,\n segments,\n })\n\n req.routeParams = routeParams\n\n const dbHasUser =\n req.user ||\n (await req.payload.db\n .findOne({\n collection: userSlug,\n req,\n })\n ?.then((doc) => !!doc))\n\n /**\n * This function is responsible for handling the case where the view is not found.\n * The current route did not match any default views or custom route views.\n */\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n const usersCollection = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy\n\n const createFirstUserRoute = formatAdminURL({\n adminRoute,\n path: _createFirstUserRoute,\n })\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n user: viewType === 'createFirstUser' ? true : req.user,\n })\n\n await applyLocaleFiltering({ clientConfig, config, req })\n\n // Ensure locale on req is still valid after filtering locales\n if (\n clientConfig.localization &&\n req.locale &&\n !clientConfig.localization.localeCodes.includes(req.locale)\n ) {\n redirect(\n `${currentRoute}${qs.stringify(\n {\n ...searchParams,\n locale: clientConfig.localization.localeCodes.includes(\n clientConfig.localization.defaultLocale,\n )\n ? clientConfig.localization.defaultLocale\n : clientConfig.localization.localeCodes[0],\n },\n { addQueryPrefix: true },\n )}`,\n )\n }\n\n const visibleEntities = getVisibleEntities({ req })\n\n const folderID = routeParams.folderID\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n browseByFolderSlugs,\n clientConfig,\n documentSubViewType,\n viewType,\n } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n clientConfig,\n collectionConfig,\n docID: routeParams.id,\n folderID,\n globalConfig,\n i18n: req.i18n,\n importMap,\n initPageResult: {\n collectionConfig,\n cookies,\n docID: routeParams.id,\n globalConfig,\n languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n ),\n locale,\n permissions,\n req,\n translations: req.i18n.translations,\n visibleEntities,\n },\n params,\n payload: req.payload,\n searchParams,\n viewActions,\n } satisfies AdminViewServerPropsOnly,\n })\n\n return (\n <PageConfigProvider config={clientConfig}>\n {!templateType && <React.Fragment>{RenderedView}</React.Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={collectionConfig?.slug}\n docID={routeParams.id}\n documentSubViewType={documentSubViewType}\n globalSlug={globalConfig?.slug}\n i18n={req.i18n}\n locale={locale}\n params={params}\n payload={req.payload}\n permissions={permissions}\n req={req}\n searchParams={searchParams}\n user={req.user}\n viewActions={viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: visibleEntities?.collections,\n globals: visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </PageConfigProvider>\n )\n}\n"],"mappings":";AAYA,SAASA,kBAAkB,QAAQ;AACnC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,eAAe,QAAQ;AAChC,SAASC,QAAQ,EAAEC,QAAQ,QAAQ;AACnC,SAASC,oBAAoB,EAAEC,cAAc,QAAQ;AACrD,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,MAAW;AAElB,SAASC,eAAe,QAAQ;AAChC,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAC/B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,OAAO,QAAQ;AACxB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,YAAY,QAAQ;AAS7B,OAAO,MAAMC,QAAA,GAAW,MAAAA,CAAO;EAC7BC,MAAA,EAAQC,aAAa;EACrBC,SAAS;EACTC,MAAA,EAAQC,aAAa;EACrBC,YAAA,EAAcC;AAAmB,CAUlC;EACC,MAAMN,MAAA,GAAS,MAAMC,aAAA;EAErB,MAAM;IACJM,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,eAAA,EAAiBC;MAAqB,CAAE;MAClDC,IAAA,EAAMC;IAAQ,CACf;IACDJ,MAAA,EAAQ;MAAED,KAAA,EAAOM;IAAU;EAAE,CAC9B,GAAGb,MAAA;EAEJ,MAAMG,MAAA,GAAS,MAAMC,aAAA;EAErB,MAAMU,YAAA,GAAe3B,cAAA,CAAe;IAClC0B,UAAA;IACAE,IAAA,EAAMC,KAAA,CAAMC,OAAO,CAACd,MAAA,CAAOe,QAAQ,IAAI,IAAIf,MAAA,CAAOe,QAAQ,CAACC,IAAI,CAAC,MAAM,GAAG;EAC3E;EAEA,MAAMD,QAAA,GAAWF,KAAA,CAAMC,OAAO,CAACd,MAAA,CAAOe,QAAQ,IAAIf,MAAA,CAAOe,QAAQ,GAAG,EAAE;EACtE,MAAME,iBAAA,GAAoBF,QAAQ,CAAC,EAAE,KAAK;EAC1C,MAAMG,aAAA,GAAgBH,QAAQ,CAAC,EAAE,KAAK;EACtC,IAAII,gBAAA,GAA8CC,SAAA;EAClD,IAAIC,YAAA,GAAsCD,SAAA;EAE1C,MAAMlB,YAAA,GAAe,MAAMC,mBAAA;EAE3B;EACA,IAAIc,iBAAA,EAAmB;IACrB,IAAIF,QAAA,CAASO,MAAM,KAAK,GAAG;MACzB,MAAM;QAAEC;MAAO,CAAE,GAAG7B,oBAAA,CAAqB;QACvCG,MAAA;QACAc,YAAA,EAAc;MAChB;MAEA;MACA,IAAI,CAACY,OAAA,EAAS;QACZzC,QAAA,CAAS4B,UAAA;MACX;IACF;IAEA,IAAIK,QAAQ,CAAC,EAAE,EAAE;MACfI,gBAAA,GAAmBtB,MAAA,CAAO2B,WAAW,CAACC,IAAI,CAAC,CAAC;QAAEC;MAAI,CAAE,KAAKA,IAAA,KAASX,QAAQ,CAAC,EAAE;IAC/E;EACF;EAEA;EACA,IAAIG,aAAA,EAAe;IACjB,IAAIH,QAAA,CAASO,MAAM,KAAK,GAAG;MACzB,MAAM;QAAEC;MAAO,CAAE,GAAG7B,oBAAA,CAAqB;QACvCG,MAAA;QACAc,YAAA,EAAc;MAChB;MAEA;MACA,IAAI,CAACY,OAAA,EAAS;QACZzC,QAAA,CAAS4B,UAAA;MACX;IACF;IAEA,IAAIK,QAAQ,CAAC,EAAE,EAAE;MACfM,YAAA,GAAexB,MAAA,CAAO8B,OAAO,CAACF,IAAI,CAAC,CAAC;QAAEC;MAAI,CAAE,KAAKA,IAAA,KAASX,QAAQ,CAAC,EAAE;IACvE;EACF;EAEA,IAAIE,iBAAC,IAAqB,CAACE,gBAAA,IAAsBD,aAAA,IAAiB,CAACG,YAAA,EAAe;IAChF,OAAOxC,QAAA;EACT;EAEA,MAAM+C,WAAA,GAAc,GAAG3C,EAAA,CAAG4C,SAAS,CAAC3B,YAAA,IAAgB,CAAC,GAAG;IAAE4B,cAAA,EAAgB;EAAK,IAAI;EAEnF,MAAM;IACJC,OAAO;IACPC,MAAM;IACNC,WAAW;IACXC,GAAG;IACHA,GAAA,EAAK;MAAEC;IAAO;EAAE,CACjB,GAAG,MAAM5C,OAAA,CAAQ;IAChBO,aAAA,EAAeD,MAAA;IACfE,SAAA;IACAqC,GAAA,EAAK;IACLC,SAAA,EAAW;MACTC,cAAA,EAAgB;MAChBJ,GAAA,EAAK;QACHK,KAAA,EAAOtD,EAAA,CAAGuD,KAAK,CAACZ,WAAA,EAAa;UAC3Ba,KAAA,EAAO;UACPC,iBAAA,EAAmB;QACrB;MACF;MACA;MACAC,SAAA,EAAW,GAAGhC,YAAA,GAAeT,YAAA,GAAe0B,WAAA,GAAc;IAC5D;EACF;EAEA,IACE,CAACK,WAAA,CAAYW,cAAc,IAC3B,CAACnD,kBAAA,CAAmB;IAAEiB,UAAA;IAAYb,MAAA,EAAQsC,OAAA,CAAQtC,MAAM;IAAEgD,KAAA,EAAOlC;EAAa,MAC9E,CAACnB,iBAAA,CAAkB;IAAEkB,UAAA;IAAYb,MAAA,EAAQsC,OAAA,CAAQtC,MAAM;IAAEgD,KAAA,EAAOlC;EAAa,IAC7E;IACA7B,QAAA,CACEQ,kBAAA,CAAmB;MACjBO,MAAA,EAAQsC,OAAA,CAAQtC,MAAM;MACtBgD,KAAA,EAAOlC,YAAA;MACPT,YAAA;MACAM,IAAA,EAAM0B,GAAA,CAAI1B;IACZ;EAEJ;EAEA,IAAIsC,qBAAA,GAA+C1B,SAAA;EAEnD,IAAID,gBAAA,IAAoBJ,QAAA,CAASO,MAAM,KAAK,GAAG;IAC7C,IAAIzB,MAAA,CAAOkD,OAAO,IAAI5B,gBAAA,CAAiB4B,OAAO,IAAIhC,QAAQ,CAAC,EAAE,KAAKlB,MAAA,CAAOkD,OAAO,CAACrB,IAAI,EAAE;MACrF,MAAMrC,cAAA,CACJ,cAAc8B,gBAAA,CAAiBO,IAAI,EAAE,EACrCQ,GAAA,CAAIC,OAAO,EACXD,GAAA,CAAI1B,IAAI,CAACwC,EAAE,EACXnD,MAAA,CAAOO,KAAK,CAACI,IAAI,EACjByC,IAAI,CAAEC,GAAA;QACN,IAAIA,GAAA,IAAOA,GAAA,CAAIC,KAAK,EAAE;UACpBL,qBAAA,GAAwBI,GAAA,CAAIC,KAAK;QACnC;MACF;IACF;EACF;EAEA,MAAM;IACJC,mBAAmB;IACnBC,WAAW;IACXC,mBAAmB;IACnBC,WAAW;IACXC,iBAAiB;IACjBC,YAAY;IACZC,WAAW;IACXC;EAAQ,CACT,GAAGhE,YAAA,CAAa;IACfe,UAAA;IACAS,gBAAA;IACA2B,qBAAA;IACAnC,YAAA;IACAU,YAAA;IACAc,OAAA;IACAjC,YAAA;IACAa;EACF;EAEAmB,GAAA,CAAIqB,WAAW,GAAGA,WAAA;EAElB,MAAMK,SAAA,GACJ1B,GAAA,CAAI1B,IAAI,KACP,MAAM0B,GAAA,CAAIC,OAAO,CAAC0B,EAAE,CAClBC,OAAO,CAAC;IACPC,UAAA,EAAYtD,QAAA;IACZyB;EACF,IACEe,IAAA,CAAMe,GAAA,IAAQ,CAAC,CAACA,GAAA;EAEtB;;;;EAIA,IAAI,CAACX,WAAA,EAAaY,SAAA,IAAa,CAACZ,WAAA,EAAaa,gBAAA,EAAkB;IAC7D,IAAIhC,GAAA,EAAK1B,IAAA,EAAM;MACb3B,QAAA;IACF;IAEA,IAAI+E,SAAA,EAAW;MACb9E,QAAA,CAAS4B,UAAA;IACX;EACF;EAEA,MAAMyD,eAAA,GAAkBtE,MAAA,CAAO2B,WAAW,CAACC,IAAI,CAAC,CAAC;IAAEC;EAAI,CAAE,KAAKA,IAAA,KAASjB,QAAA;EACvE,MAAM2D,oBAAA,GAAuBD,eAAA,EAAiBE,IAAA,EAAMD,oBAAA;EAEpD,MAAME,oBAAA,GAAuBtF,cAAA,CAAe;IAC1C0B,UAAA;IACAE,IAAA,EAAML;EACR;EAEA,IAAI6D,oBAAA,IAAwBzD,YAAA,KAAiB2D,oBAAA,EAAsB;IACjExF,QAAA,CAAS4B,UAAA;EACX;EAEA,IAAI,CAACkD,SAAA,IAAajD,YAAA,KAAiB2D,oBAAA,IAAwB,CAACF,oBAAA,EAAsB;IAChFtF,QAAA,CAASwF,oBAAA;EACX;EAEA,IAAIV,SAAA,IAAajD,YAAA,KAAiB2D,oBAAA,EAAsB;IACtDxF,QAAA,CAAS4B,UAAA;EACX;EAEA,IAAI,CAAC2C,WAAA,EAAaY,SAAA,IAAa,CAACZ,WAAA,EAAaa,gBAAA,IAAoB,CAACN,SAAA,EAAW;IAC3E9E,QAAA,CAAS4B,UAAA;EACX;EAEA,MAAM6D,YAAA,GAAe3F,eAAA,CAAgB;IACnCiB,MAAA;IACA2E,IAAA,EAAMtC,GAAA,CAAIsC,IAAI;IACdzE,SAAA;IACAS,IAAA,EAAMmD,QAAA,KAAa,oBAAoB,OAAOzB,GAAA,CAAI1B;EACpD;EAEA,MAAMzB,oBAAA,CAAqB;IAAEwF,YAAA;IAAc1E,MAAA;IAAQqC;EAAI;EAEvD;EACA,IACEqC,YAAA,CAAaE,YAAY,IACzBvC,GAAA,CAAIF,MAAM,IACV,CAACuC,YAAA,CAAaE,YAAY,CAACC,WAAW,CAACC,QAAQ,CAACzC,GAAA,CAAIF,MAAM,GAC1D;IACAlD,QAAA,CACE,GAAG6B,YAAA,GAAe1B,EAAA,CAAG4C,SAAS,CAC5B;MACE,GAAG3B,YAAY;MACf8B,MAAA,EAAQuC,YAAA,CAAaE,YAAY,CAACC,WAAW,CAACC,QAAQ,CACpDJ,YAAA,CAAaE,YAAY,CAACG,aAAa,IAErCL,YAAA,CAAaE,YAAY,CAACG,aAAa,GACvCL,YAAA,CAAaE,YAAY,CAACC,WAAW,CAAC;IAC5C,GACA;MAAE5C,cAAA,EAAgB;IAAK,IACtB;EAEP;EAEA,MAAM+C,eAAA,GAAkBlG,kBAAA,CAAmB;IAAEuD;EAAI;EAEjD,MAAM4C,QAAA,GAAWvB,WAAA,CAAYuB,QAAQ;EAErC,MAAMC,YAAA,GAAerG,qBAAA,CAAsB;IACzCsG,WAAA,EAAa;MACX5B,mBAAA;MACAmB,YAAA;MACAjB,mBAAA;MACAK;IACF;IACAM,SAAA,EAAWZ,WAAA,CAAYa,gBAAgB;IACvCe,QAAA,EAAU5B,WAAA,CAAYY,SAAS;IAC/BlE,SAAA;IACAmF,WAAA,EAAa;MACXX,YAAA;MACApD,gBAAA;MACAgE,KAAA,EAAO5B,WAAA,CAAYP,EAAE;MACrB8B,QAAA;MACAzD,YAAA;MACAmD,IAAA,EAAMtC,GAAA,CAAIsC,IAAI;MACdzE,SAAA;MACAqF,cAAA,EAAgB;QACdjE,gBAAA;QACAY,OAAA;QACAoD,KAAA,EAAO5B,WAAA,CAAYP,EAAE;QACrB3B,YAAA;QACAgE,eAAA,EAAiBC,MAAA,CAAOC,OAAO,CAACrD,GAAA,CAAIC,OAAO,CAACtC,MAAM,CAAC2E,IAAI,CAACgB,kBAAkB,IAAI,CAAC,GAAGC,MAAM,CACtF,CAACC,GAAA,EAAK,CAACC,QAAA,EAAUC,cAAA,CAAe;UAC9B,IAAIN,MAAA,CAAOO,IAAI,CAAC3D,GAAA,CAAIC,OAAO,CAACtC,MAAM,CAAC2E,IAAI,CAACgB,kBAAkB,EAAEb,QAAQ,CAACgB,QAAA,GAAW;YAC9ED,GAAA,CAAII,IAAI,CAAC;cACPC,KAAA,EAAOH,cAAA,CAAeI,YAAY,CAACC,OAAO,CAACC,YAAY;cACvD/C,KAAA,EAAOwC;YACT;UACF;UAEA,OAAOD,GAAA;QACT,GACA,EAAE;QAEJ1D,MAAA;QACAC,WAAA;QACAC,GAAA;QACA8D,YAAA,EAAc9D,GAAA,CAAIsC,IAAI,CAACwB,YAAY;QACnCnB;MACF;MACA7E,MAAA;MACAmC,OAAA,EAASD,GAAA,CAAIC,OAAO;MACpBjC,YAAA;MACAwD;IACF;EACF;EAEA,oBACEyC,KAAA,CAAC1H,kBAAA;IAAmBoB,MAAA,EAAQ0E,YAAA;eACzB,CAACd,YAAA,iBAAgB2C,IAAA,CAAClH,KAAA,CAAMmH,QAAQ;gBAAEtB;QAClCtB,YAAA,KAAiB,0BAChB2C,IAAA,CAAChH,eAAA;MAAgBkH,SAAA,EAAW9C,iBAAA;gBAAoBuB;QAEjDtB,YAAA,KAAiB,0BAChB2C,IAAA,CAACjH,eAAA;MACCoH,cAAA,EAAgBpF,gBAAA,EAAkBO,IAAA;MAClCyD,KAAA,EAAO5B,WAAA,CAAYP,EAAE;MACrBM,mBAAA,EAAqBA,mBAAA;MACrBkD,UAAA,EAAYnF,YAAA,EAAcK,IAAA;MAC1B8C,IAAA,EAAMtC,GAAA,CAAIsC,IAAI;MACdxC,MAAA,EAAQA,MAAA;MACRhC,MAAA,EAAQA,MAAA;MACRmC,OAAA,EAASD,GAAA,CAAIC,OAAO;MACpBF,WAAA,EAAaA,WAAA;MACbC,GAAA,EAAKA,GAAA;MACLhC,YAAA,EAAcA,YAAA;MACdM,IAAA,EAAM0B,GAAA,CAAI1B,IAAI;MACdkD,WAAA,EAAaA,WAAA;MACbC,QAAA,EAAUA,QAAA;MACVkB,eAAA,EAAiB;QACf;QACA;QACArD,WAAA,EAAaqD,eAAA,EAAiBrD,WAAA;QAC9BG,OAAA,EAASkD,eAAA,EAAiBlD;MAC5B;gBAECoD;;;AAKX","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { pathToRegexp } from 'path-to-regexp';
|
|
2
|
+
export const isPathMatchingRoute = ({
|
|
3
|
+
currentRoute,
|
|
4
|
+
exact,
|
|
5
|
+
path: viewPath,
|
|
6
|
+
sensitive,
|
|
7
|
+
strict
|
|
8
|
+
}) => {
|
|
9
|
+
// if no path is defined, we cannot match it so return false early
|
|
10
|
+
if (!viewPath) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
const keys = [];
|
|
14
|
+
// run the view path through `pathToRegexp` to resolve any dynamic segments
|
|
15
|
+
// i.e. `/admin/custom-view/:id` -> `/admin/custom-view/123`
|
|
16
|
+
const regex = pathToRegexp(viewPath, keys, {
|
|
17
|
+
sensitive,
|
|
18
|
+
strict
|
|
19
|
+
});
|
|
20
|
+
const match = regex.exec(currentRoute);
|
|
21
|
+
const viewRoute = match?.[0] || viewPath;
|
|
22
|
+
if (exact) {
|
|
23
|
+
return currentRoute === viewRoute;
|
|
24
|
+
}
|
|
25
|
+
if (!exact) {
|
|
26
|
+
return viewRoute.startsWith(currentRoute);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=isPathMatchingRoute.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isPathMatchingRoute.js","names":["pathToRegexp","isPathMatchingRoute","currentRoute","exact","path","viewPath","sensitive","strict","keys","regex","match","exec","viewRoute","startsWith"],"sources":["../../../src/views/Root/isPathMatchingRoute.ts"],"sourcesContent":["import { pathToRegexp } from 'path-to-regexp'\n\nexport const isPathMatchingRoute = ({\n currentRoute,\n exact,\n path: viewPath,\n sensitive,\n strict,\n}: {\n currentRoute: string\n exact?: boolean\n path?: string\n sensitive?: boolean\n strict?: boolean\n}) => {\n // if no path is defined, we cannot match it so return false early\n if (!viewPath) {\n return false\n }\n\n const keys = []\n\n // run the view path through `pathToRegexp` to resolve any dynamic segments\n // i.e. `/admin/custom-view/:id` -> `/admin/custom-view/123`\n const regex = pathToRegexp(viewPath, keys, {\n sensitive,\n strict,\n })\n\n const match = regex.exec(currentRoute)\n const viewRoute = match?.[0] || viewPath\n\n if (exact) {\n return currentRoute === viewRoute\n }\n\n if (!exact) {\n return viewRoute.startsWith(currentRoute)\n }\n}\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ;AAE7B,OAAO,MAAMC,mBAAA,GAAsBA,CAAC;EAClCC,YAAY;EACZC,KAAK;EACLC,IAAA,EAAMC,QAAQ;EACdC,SAAS;EACTC;AAAM,CAOP;EACC;EACA,IAAI,CAACF,QAAA,EAAU;IACb,OAAO;EACT;EAEA,MAAMG,IAAA,GAAO,EAAE;EAEf;EACA;EACA,MAAMC,KAAA,GAAQT,YAAA,CAAaK,QAAA,EAAUG,IAAA,EAAM;IACzCF,SAAA;IACAC;EACF;EAEA,MAAMG,KAAA,GAAQD,KAAA,CAAME,IAAI,CAACT,YAAA;EACzB,MAAMU,SAAA,GAAYF,KAAA,GAAQ,EAAE,IAAIL,QAAA;EAEhC,IAAIF,KAAA,EAAO;IACT,OAAOD,YAAA,KAAiBU,SAAA;EAC1B;EAEA,IAAI,CAACT,KAAA,EAAO;IACV,OAAOS,SAAA,CAAUC,UAAU,CAACX,YAAA;EAC9B;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js';
|
|
2
|
+
import { generateAccountViewMetadata } from '../Account/metadata.js';
|
|
3
|
+
import { generateBrowseByFolderMetadata } from '../BrowseByFolder/metadata.js';
|
|
4
|
+
import { generateCollectionFolderMetadata } from '../CollectionFolders/metadata.js';
|
|
5
|
+
import { generateCollectionTrashMetadata } from '../CollectionTrash/metadata.js';
|
|
6
|
+
import { generateCreateFirstUserViewMetadata } from '../CreateFirstUser/metadata.js';
|
|
7
|
+
import { generateDashboardViewMetadata } from '../Dashboard/metadata.js';
|
|
8
|
+
import { generateDocumentViewMetadata } from '../Document/metadata.js';
|
|
9
|
+
import { generateForgotPasswordViewMetadata } from '../ForgotPassword/metadata.js';
|
|
10
|
+
import { generateListViewMetadata } from '../List/metadata.js';
|
|
11
|
+
import { generateLoginViewMetadata } from '../Login/metadata.js';
|
|
12
|
+
import { generateNotFoundViewMetadata } from '../NotFound/metadata.js';
|
|
13
|
+
import { generateResetPasswordViewMetadata } from '../ResetPassword/metadata.js';
|
|
14
|
+
import { generateUnauthorizedViewMetadata } from '../Unauthorized/metadata.js';
|
|
15
|
+
import { generateVerifyViewMetadata } from '../Verify/metadata.js';
|
|
16
|
+
import { generateCustomViewMetadata } from './generateCustomViewMetadata.js';
|
|
17
|
+
import { getCustomViewByRoute } from './getCustomViewByRoute.js';
|
|
18
|
+
const oneSegmentMeta = {
|
|
19
|
+
'create-first-user': generateCreateFirstUserViewMetadata,
|
|
20
|
+
folders: generateBrowseByFolderMetadata,
|
|
21
|
+
forgot: generateForgotPasswordViewMetadata,
|
|
22
|
+
login: generateLoginViewMetadata,
|
|
23
|
+
logout: generateUnauthorizedViewMetadata,
|
|
24
|
+
'logout-inactivity': generateUnauthorizedViewMetadata,
|
|
25
|
+
unauthorized: generateUnauthorizedViewMetadata
|
|
26
|
+
};
|
|
27
|
+
export const generatePageMetadata = async ({
|
|
28
|
+
config: configPromise,
|
|
29
|
+
params: paramsPromise
|
|
30
|
+
}) => {
|
|
31
|
+
const config = await configPromise;
|
|
32
|
+
const params = await paramsPromise;
|
|
33
|
+
const folderCollectionSlugs = config.collections.reduce((acc, {
|
|
34
|
+
slug,
|
|
35
|
+
folders
|
|
36
|
+
}) => {
|
|
37
|
+
if (folders) {
|
|
38
|
+
return [...acc, slug];
|
|
39
|
+
}
|
|
40
|
+
return acc;
|
|
41
|
+
}, []);
|
|
42
|
+
const segments = Array.isArray(params.segments) ? params.segments : [];
|
|
43
|
+
const currentRoute = `/${segments.join('/')}`;
|
|
44
|
+
const [segmentOne, segmentTwo, segmentThree] = segments;
|
|
45
|
+
const isGlobal = segmentOne === 'globals';
|
|
46
|
+
const isCollection = segmentOne === 'collections';
|
|
47
|
+
const i18n = await getNextRequestI18n({
|
|
48
|
+
config
|
|
49
|
+
});
|
|
50
|
+
let meta;
|
|
51
|
+
// TODO: handle custom routes
|
|
52
|
+
const collectionConfig = isCollection && segments.length > 1 && config?.collections?.find(collection => collection.slug === segmentTwo);
|
|
53
|
+
const globalConfig = isGlobal && segments.length > 1 && config?.globals?.find(global => global.slug === segmentTwo);
|
|
54
|
+
switch (segments.length) {
|
|
55
|
+
case 0:
|
|
56
|
+
{
|
|
57
|
+
meta = await generateDashboardViewMetadata({
|
|
58
|
+
config,
|
|
59
|
+
i18n
|
|
60
|
+
});
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
case 1:
|
|
64
|
+
{
|
|
65
|
+
if (folderCollectionSlugs.length && `/${segmentOne}` === config.admin.routes.browseByFolder) {
|
|
66
|
+
// --> /:folderCollectionSlug
|
|
67
|
+
meta = await oneSegmentMeta.folders({
|
|
68
|
+
config,
|
|
69
|
+
i18n
|
|
70
|
+
});
|
|
71
|
+
} else if (segmentOne === 'account') {
|
|
72
|
+
// --> /account
|
|
73
|
+
meta = await generateAccountViewMetadata({
|
|
74
|
+
config,
|
|
75
|
+
i18n
|
|
76
|
+
});
|
|
77
|
+
break;
|
|
78
|
+
} else if (oneSegmentMeta[segmentOne]) {
|
|
79
|
+
// --> /create-first-user
|
|
80
|
+
// --> /forgot
|
|
81
|
+
// --> /login
|
|
82
|
+
// --> /logout
|
|
83
|
+
// --> /logout-inactivity
|
|
84
|
+
// --> /unauthorized
|
|
85
|
+
meta = await oneSegmentMeta[segmentOne]({
|
|
86
|
+
config,
|
|
87
|
+
i18n
|
|
88
|
+
});
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
case 2:
|
|
94
|
+
{
|
|
95
|
+
if (`/${segmentOne}` === config.admin.routes.reset) {
|
|
96
|
+
// --> /reset/:token
|
|
97
|
+
meta = await generateResetPasswordViewMetadata({
|
|
98
|
+
config,
|
|
99
|
+
i18n
|
|
100
|
+
});
|
|
101
|
+
} else if (folderCollectionSlugs.length && `/${segmentOne}` === config.admin.routes.browseByFolder) {
|
|
102
|
+
// --> /browse-by-folder/:folderID
|
|
103
|
+
meta = await generateBrowseByFolderMetadata({
|
|
104
|
+
config,
|
|
105
|
+
i18n
|
|
106
|
+
});
|
|
107
|
+
} else if (isCollection) {
|
|
108
|
+
// --> /collections/:collectionSlug
|
|
109
|
+
meta = await generateListViewMetadata({
|
|
110
|
+
collectionConfig,
|
|
111
|
+
config,
|
|
112
|
+
i18n
|
|
113
|
+
});
|
|
114
|
+
} else if (isGlobal) {
|
|
115
|
+
// --> /globals/:globalSlug
|
|
116
|
+
meta = await generateDocumentViewMetadata({
|
|
117
|
+
config,
|
|
118
|
+
globalConfig,
|
|
119
|
+
i18n,
|
|
120
|
+
params
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
default:
|
|
126
|
+
{
|
|
127
|
+
if (segmentTwo === 'verify') {
|
|
128
|
+
// --> /:collectionSlug/verify/:token
|
|
129
|
+
meta = await generateVerifyViewMetadata({
|
|
130
|
+
config,
|
|
131
|
+
i18n
|
|
132
|
+
});
|
|
133
|
+
} else if (isCollection) {
|
|
134
|
+
if (segmentThree === 'trash' && segments.length === 3 && collectionConfig) {
|
|
135
|
+
// Collection Trash Views
|
|
136
|
+
// --> /collections/:collectionSlug/trash
|
|
137
|
+
meta = await generateCollectionTrashMetadata({
|
|
138
|
+
collectionConfig,
|
|
139
|
+
config,
|
|
140
|
+
i18n,
|
|
141
|
+
params
|
|
142
|
+
});
|
|
143
|
+
} else if (config.folders && segmentThree === config.folders.slug) {
|
|
144
|
+
if (folderCollectionSlugs.includes(collectionConfig.slug)) {
|
|
145
|
+
// Collection Folder Views
|
|
146
|
+
// --> /collections/:collectionSlug/:folderCollectionSlug
|
|
147
|
+
// --> /collections/:collectionSlug/:folderCollectionSlug/:id
|
|
148
|
+
meta = await generateCollectionFolderMetadata({
|
|
149
|
+
collectionConfig,
|
|
150
|
+
config,
|
|
151
|
+
i18n,
|
|
152
|
+
params
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
} else {
|
|
156
|
+
// Collection Document Views
|
|
157
|
+
// --> /collections/:collectionSlug/:id
|
|
158
|
+
// --> /collections/:collectionSlug/:id/versions
|
|
159
|
+
// --> /collections/:collectionSlug/:id/versions/:version
|
|
160
|
+
// --> /collections/:collectionSlug/:id/api
|
|
161
|
+
// --> /collections/:collectionSlug/trash/:id
|
|
162
|
+
meta = await generateDocumentViewMetadata({
|
|
163
|
+
collectionConfig,
|
|
164
|
+
config,
|
|
165
|
+
i18n,
|
|
166
|
+
params
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
} else if (isGlobal) {
|
|
170
|
+
// Global Document Views
|
|
171
|
+
// --> /globals/:globalSlug/versions
|
|
172
|
+
// --> /globals/:globalSlug/versions/:version
|
|
173
|
+
// --> /globals/:globalSlug/api
|
|
174
|
+
meta = await generateDocumentViewMetadata({
|
|
175
|
+
config,
|
|
176
|
+
globalConfig,
|
|
177
|
+
i18n,
|
|
178
|
+
params
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
break;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
if (!meta) {
|
|
185
|
+
const {
|
|
186
|
+
viewConfig,
|
|
187
|
+
viewKey
|
|
188
|
+
} = getCustomViewByRoute({
|
|
189
|
+
config,
|
|
190
|
+
currentRoute
|
|
191
|
+
});
|
|
192
|
+
if (viewKey) {
|
|
193
|
+
// Custom Views
|
|
194
|
+
// --> /:path
|
|
195
|
+
meta = await generateCustomViewMetadata({
|
|
196
|
+
config,
|
|
197
|
+
i18n,
|
|
198
|
+
viewConfig
|
|
199
|
+
});
|
|
200
|
+
} else {
|
|
201
|
+
meta = await generateNotFoundViewMetadata({
|
|
202
|
+
config,
|
|
203
|
+
i18n
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return meta;
|
|
208
|
+
};
|
|
209
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","names":["getNextRequestI18n","generateAccountViewMetadata","generateBrowseByFolderMetadata","generateCollectionFolderMetadata","generateCollectionTrashMetadata","generateCreateFirstUserViewMetadata","generateDashboardViewMetadata","generateDocumentViewMetadata","generateForgotPasswordViewMetadata","generateListViewMetadata","generateLoginViewMetadata","generateNotFoundViewMetadata","generateResetPasswordViewMetadata","generateUnauthorizedViewMetadata","generateVerifyViewMetadata","generateCustomViewMetadata","getCustomViewByRoute","oneSegmentMeta","folders","forgot","login","logout","unauthorized","generatePageMetadata","config","configPromise","params","paramsPromise","folderCollectionSlugs","collections","reduce","acc","slug","segments","Array","isArray","currentRoute","join","segmentOne","segmentTwo","segmentThree","isGlobal","isCollection","i18n","meta","collectionConfig","length","find","collection","globalConfig","globals","global","admin","routes","browseByFolder","reset","includes","viewConfig","viewKey"],"sources":["../../../src/views/Root/metadata.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { SanitizedConfig } from '@ruya.sa/payload'\n\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { generateAccountViewMetadata } from '../Account/metadata.js'\nimport { generateBrowseByFolderMetadata } from '../BrowseByFolder/metadata.js'\nimport { generateCollectionFolderMetadata } from '../CollectionFolders/metadata.js'\nimport { generateCollectionTrashMetadata } from '../CollectionTrash/metadata.js'\nimport { generateCreateFirstUserViewMetadata } from '../CreateFirstUser/metadata.js'\nimport { generateDashboardViewMetadata } from '../Dashboard/metadata.js'\nimport { generateDocumentViewMetadata } from '../Document/metadata.js'\nimport { generateForgotPasswordViewMetadata } from '../ForgotPassword/metadata.js'\nimport { generateListViewMetadata } from '../List/metadata.js'\nimport { generateLoginViewMetadata } from '../Login/metadata.js'\nimport { generateNotFoundViewMetadata } from '../NotFound/metadata.js'\nimport { generateResetPasswordViewMetadata } from '../ResetPassword/metadata.js'\nimport { generateUnauthorizedViewMetadata } from '../Unauthorized/metadata.js'\nimport { generateVerifyViewMetadata } from '../Verify/metadata.js'\nimport { generateCustomViewMetadata } from './generateCustomViewMetadata.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\n\nconst oneSegmentMeta = {\n 'create-first-user': generateCreateFirstUserViewMetadata,\n folders: generateBrowseByFolderMetadata,\n forgot: generateForgotPasswordViewMetadata,\n login: generateLoginViewMetadata,\n logout: generateUnauthorizedViewMetadata,\n 'logout-inactivity': generateUnauthorizedViewMetadata,\n unauthorized: generateUnauthorizedViewMetadata,\n}\n\ntype Args = {\n config: Promise<SanitizedConfig>\n params: Promise<{\n [key: string]: string | string[]\n }>\n searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}\n\nexport const generatePageMetadata = async ({\n config: configPromise,\n params: paramsPromise,\n}: Args) => {\n const config = await configPromise\n const params = await paramsPromise\n\n const folderCollectionSlugs = config.collections.reduce((acc, { slug, folders }) => {\n if (folders) {\n return [...acc, slug]\n }\n return acc\n }, [])\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const currentRoute = `/${segments.join('/')}`\n const [segmentOne, segmentTwo, segmentThree] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n const i18n = await getNextRequestI18n({\n config,\n })\n\n let meta: Metadata\n\n // TODO: handle custom routes\n\n const collectionConfig =\n isCollection &&\n segments.length > 1 &&\n config?.collections?.find((collection) => collection.slug === segmentTwo)\n\n const globalConfig =\n isGlobal && segments.length > 1 && config?.globals?.find((global) => global.slug === segmentTwo)\n\n switch (segments.length) {\n case 0: {\n meta = await generateDashboardViewMetadata({ config, i18n })\n break\n }\n case 1: {\n if (folderCollectionSlugs.length && `/${segmentOne}` === config.admin.routes.browseByFolder) {\n // --> /:folderCollectionSlug\n meta = await oneSegmentMeta.folders({ config, i18n })\n } else if (segmentOne === 'account') {\n // --> /account\n meta = await generateAccountViewMetadata({ config, i18n })\n break\n } else if (oneSegmentMeta[segmentOne]) {\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n meta = await oneSegmentMeta[segmentOne]({ config, i18n })\n break\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n meta = await generateResetPasswordViewMetadata({ config, i18n })\n } else if (\n folderCollectionSlugs.length &&\n `/${segmentOne}` === config.admin.routes.browseByFolder\n ) {\n // --> /browse-by-folder/:folderID\n meta = await generateBrowseByFolderMetadata({ config, i18n })\n } else if (isCollection) {\n // --> /collections/:collectionSlug\n meta = await generateListViewMetadata({ collectionConfig, config, i18n })\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n meta = await generateDocumentViewMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n default: {\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n meta = await generateVerifyViewMetadata({ config, i18n })\n } else if (isCollection) {\n if (segmentThree === 'trash' && segments.length === 3 && collectionConfig) {\n // Collection Trash Views\n // --> /collections/:collectionSlug/trash\n meta = await generateCollectionTrashMetadata({\n collectionConfig,\n config,\n i18n,\n params,\n })\n } else if (config.folders && segmentThree === config.folders.slug) {\n if (folderCollectionSlugs.includes(collectionConfig.slug)) {\n // Collection Folder Views\n // --> /collections/:collectionSlug/:folderCollectionSlug\n // --> /collections/:collectionSlug/:folderCollectionSlug/:id\n meta = await generateCollectionFolderMetadata({\n collectionConfig,\n config,\n i18n,\n params,\n })\n }\n } else {\n // Collection Document Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:version\n // --> /collections/:collectionSlug/:id/api\n // --> /collections/:collectionSlug/trash/:id\n meta = await generateDocumentViewMetadata({ collectionConfig, config, i18n, params })\n }\n } else if (isGlobal) {\n // Global Document Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:version\n // --> /globals/:globalSlug/api\n meta = await generateDocumentViewMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n }\n\n if (!meta) {\n const { viewConfig, viewKey } = getCustomViewByRoute({\n config,\n currentRoute,\n })\n\n if (viewKey) {\n // Custom Views\n // --> /:path\n meta = await generateCustomViewMetadata({\n config,\n i18n,\n viewConfig,\n })\n } else {\n meta = await generateNotFoundViewMetadata({ config, i18n })\n }\n }\n\n return meta\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button, Gutter } from '@ruya.sa/ui';
|
|
3
|
+
import { formatAdminURL } from '@ruya.sa/payload/shared';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { FormHeader } from '../../elements/FormHeader/index.js';
|
|
6
|
+
const baseClass = 'unauthorized';
|
|
7
|
+
export function UnauthorizedView({
|
|
8
|
+
initPageResult
|
|
9
|
+
}) {
|
|
10
|
+
const {
|
|
11
|
+
permissions,
|
|
12
|
+
req: {
|
|
13
|
+
i18n,
|
|
14
|
+
payload: {
|
|
15
|
+
config: {
|
|
16
|
+
admin: {
|
|
17
|
+
routes: {
|
|
18
|
+
logout: logoutRoute
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
routes: {
|
|
22
|
+
admin: adminRoute
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
user
|
|
27
|
+
}
|
|
28
|
+
} = initPageResult;
|
|
29
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
30
|
+
className: baseClass,
|
|
31
|
+
children: [/*#__PURE__*/_jsx(FormHeader, {
|
|
32
|
+
description: i18n.t('error:notAllowedToAccessPage'),
|
|
33
|
+
heading: i18n.t(user && !permissions.canAccessAdmin ? 'error:unauthorizedAdmin' : 'error:unauthorized')
|
|
34
|
+
}), /*#__PURE__*/_jsx(Button, {
|
|
35
|
+
className: `${baseClass}__button`,
|
|
36
|
+
el: "link",
|
|
37
|
+
size: "large",
|
|
38
|
+
to: formatAdminURL({
|
|
39
|
+
adminRoute,
|
|
40
|
+
path: logoutRoute
|
|
41
|
+
}),
|
|
42
|
+
children: i18n.t('authentication:logOut')
|
|
43
|
+
})]
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
export const UnauthorizedViewWithGutter = props => {
|
|
47
|
+
return /*#__PURE__*/_jsx(Gutter, {
|
|
48
|
+
className: [baseClass, `${baseClass}--with-gutter`].join(' '),
|
|
49
|
+
children: /*#__PURE__*/_jsx(UnauthorizedView, {
|
|
50
|
+
...props
|
|
51
|
+
})
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=index.js.map
|