@payloadcms/next 3.0.0-beta.53 → 3.0.0-beta.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/Logo/index.js.map +1 -1
- package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/exports/layouts.js.map +1 -1
- package/dist/exports/routes.js.map +1 -1
- package/dist/exports/templates.js.map +1 -1
- package/dist/exports/utilities.js.map +1 -1
- package/dist/exports/views.js.map +1 -1
- package/dist/fetchAPI-multipart/fileFactory.d.ts +0 -1
- package/dist/fetchAPI-multipart/fileFactory.d.ts.map +1 -1
- package/dist/fetchAPI-multipart/fileFactory.js.map +1 -1
- package/dist/fetchAPI-multipart/handlers.d.ts +0 -1
- package/dist/fetchAPI-multipart/handlers.d.ts.map +1 -1
- package/dist/fetchAPI-multipart/handlers.js.map +1 -1
- package/dist/fetchAPI-multipart/index.d.ts +0 -1
- package/dist/fetchAPI-multipart/index.d.ts.map +1 -1
- package/dist/fetchAPI-multipart/index.js.map +1 -1
- package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
- package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
- package/dist/fetchAPI-multipart/processNested.js.map +1 -1
- package/dist/fetchAPI-multipart/uploadTimer.js.map +1 -1
- package/dist/fetchAPI-multipart/utilities.d.ts.map +1 -1
- package/dist/fetchAPI-multipart/utilities.js.map +1 -1
- package/dist/fetchAPI-stream-file/index.d.ts +0 -1
- package/dist/fetchAPI-stream-file/index.d.ts.map +1 -1
- package/dist/fetchAPI-stream-file/index.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/index.js +10 -10
- package/dist/prod/styles.css +1 -1
- package/dist/routes/graphql/handler.d.ts.map +1 -1
- package/dist/routes/graphql/handler.js.map +1 -1
- package/dist/routes/graphql/index.js.map +1 -1
- package/dist/routes/graphql/playground.d.ts.map +1 -1
- package/dist/routes/graphql/playground.js.map +1 -1
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/rest/auth/access.js.map +1 -1
- package/dist/routes/rest/auth/forgotPassword.js.map +1 -1
- package/dist/routes/rest/auth/init.js.map +1 -1
- package/dist/routes/rest/auth/login.js.map +1 -1
- package/dist/routes/rest/auth/logout.js.map +1 -1
- package/dist/routes/rest/auth/me.js.map +1 -1
- package/dist/routes/rest/auth/refresh.js.map +1 -1
- package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
- package/dist/routes/rest/auth/resetPassword.js.map +1 -1
- package/dist/routes/rest/auth/unlock.js.map +1 -1
- package/dist/routes/rest/auth/verifyEmail.js.map +1 -1
- package/dist/routes/rest/buildFormState.js.map +1 -1
- package/dist/routes/rest/checkEndpoints.d.ts.map +1 -1
- package/dist/routes/rest/checkEndpoints.js.map +1 -1
- package/dist/routes/rest/collections/count.js.map +1 -1
- package/dist/routes/rest/collections/create.js.map +1 -1
- package/dist/routes/rest/collections/delete.js.map +1 -1
- package/dist/routes/rest/collections/deleteByID.js.map +1 -1
- package/dist/routes/rest/collections/docAccess.js.map +1 -1
- package/dist/routes/rest/collections/duplicate.js.map +1 -1
- package/dist/routes/rest/collections/find.js.map +1 -1
- package/dist/routes/rest/collections/findByID.js.map +1 -1
- package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
- package/dist/routes/rest/collections/findVersions.js.map +1 -1
- package/dist/routes/rest/collections/preview.js.map +1 -1
- package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
- package/dist/routes/rest/collections/update.js.map +1 -1
- package/dist/routes/rest/collections/updateByID.js.map +1 -1
- package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
- package/dist/routes/rest/files/getFile.d.ts.map +1 -1
- package/dist/routes/rest/files/getFile.js +8 -6
- package/dist/routes/rest/files/getFile.js.map +1 -1
- package/dist/routes/rest/files/getFileTypeFallback.js.map +1 -1
- package/dist/routes/rest/globals/docAccess.js.map +1 -1
- package/dist/routes/rest/globals/findOne.js.map +1 -1
- package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
- package/dist/routes/rest/globals/findVersions.js.map +1 -1
- package/dist/routes/rest/globals/preview.js.map +1 -1
- package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
- package/dist/routes/rest/globals/update.js.map +1 -1
- package/dist/routes/rest/index.d.ts.map +1 -1
- package/dist/routes/rest/index.js.map +1 -1
- package/dist/routes/rest/og/image.js.map +1 -1
- package/dist/routes/rest/og/index.js.map +1 -1
- package/dist/routes/rest/routeError.d.ts.map +1 -1
- package/dist/routes/rest/routeError.js.map +1 -1
- package/dist/routes/rest/types.js.map +1 -1
- package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -1
- package/dist/templates/Default/NavHamburger/index.js.map +1 -1
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/templates/Minimal/index.js.map +1 -1
- package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
- package/dist/utilities/addLocalesToRequest.js.map +1 -1
- package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
- package/dist/utilities/createPayloadRequest.js +0 -1
- package/dist/utilities/createPayloadRequest.js.map +1 -1
- package/dist/utilities/getNextRequestI18n.d.ts.map +1 -1
- package/dist/utilities/getNextRequestI18n.js.map +1 -1
- package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
- package/dist/utilities/getPayloadHMR.js.map +1 -1
- package/dist/utilities/getRequestLanguage.js.map +1 -1
- package/dist/utilities/getRequestLocales.js.map +1 -1
- package/dist/utilities/getRequestTheme.js.map +1 -1
- package/dist/utilities/headersWithCors.js.map +1 -1
- package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
- package/dist/utilities/initPage/handleAuthRedirect.d.ts +1 -1
- package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
- package/dist/utilities/initPage/handleAuthRedirect.js +4 -4
- package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
- package/dist/utilities/initPage/index.d.ts.map +1 -1
- package/dist/utilities/initPage/index.js.map +1 -1
- package/dist/utilities/initPage/shared.js.map +1 -1
- package/dist/utilities/initPage/types.js.map +1 -1
- package/dist/utilities/meta.d.ts.map +1 -1
- package/dist/utilities/meta.js +2 -2
- package/dist/utilities/meta.js.map +1 -1
- package/dist/utilities/timestamp.js.map +1 -1
- package/dist/views/API/LocaleSelector/index.js.map +1 -1
- package/dist/views/API/RenderJSON/index.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +4 -6
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/API/index.js.map +1 -1
- package/dist/views/API/meta.js.map +1 -1
- package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/Account/meta.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/CreateFirstUser/meta.js.map +1 -1
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Dashboard/meta.js.map +1 -1
- package/dist/views/Document/getCustomViewByKey.d.ts +1 -1
- package/dist/views/Document/getCustomViewByKey.js.map +1 -1
- package/dist/views/Document/getCustomViewByRoute.d.ts +1 -1
- package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Document/getDocumentData.d.ts.map +1 -1
- package/dist/views/Document/getDocumentData.js.map +1 -1
- package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -1
- package/dist/views/Document/getDocumentPermissions.js.map +1 -1
- package/dist/views/Document/getMetaBySegment.js.map +1 -1
- package/dist/views/Document/getViewsFromConfig.js.map +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +16 -11
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/meta.js.map +1 -1
- package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Default/Auth/index.js.map +1 -1
- package/dist/views/Edit/Default/Auth/types.js.map +1 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts +0 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
- package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts +0 -1
- package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/Default/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/index.js +6 -2
- package/dist/views/Edit/Default/index.js.map +1 -1
- package/dist/views/Edit/Default/types.js.map +1 -1
- package/dist/views/Edit/index.client.js.map +1 -1
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/Edit/meta.js.map +1 -1
- package/dist/views/Edit/sanitizeEditViewProps.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/ForgotPassword/meta.js.map +1 -1
- package/dist/views/List/Default/index.js.map +1 -1
- package/dist/views/List/Default/types.js.map +1 -1
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/meta.d.ts.map +1 -1
- package/dist/views/List/meta.js.map +1 -1
- package/dist/views/LivePreview/Context/collisionDetection.js.map +1 -1
- package/dist/views/LivePreview/Context/context.js.map +1 -1
- package/dist/views/LivePreview/Context/index.js.map +1 -1
- package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
- package/dist/views/LivePreview/Device/index.js.map +1 -1
- package/dist/views/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/views/LivePreview/IFrame/index.js.map +1 -1
- package/dist/views/LivePreview/Preview/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/views/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/views/LivePreview/index.client.js.map +1 -1
- package/dist/views/LivePreview/index.js.map +1 -1
- package/dist/views/LivePreview/meta.js.map +1 -1
- package/dist/views/LivePreview/usePopupWindow.d.ts +1 -1
- package/dist/views/LivePreview/usePopupWindow.d.ts.map +1 -1
- package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Login/index.js.map +1 -1
- package/dist/views/Login/meta.js.map +1 -1
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/Logout/meta.js.map +1 -1
- package/dist/views/NotFound/index.client.js.map +1 -1
- package/dist/views/NotFound/index.d.ts.map +1 -1
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/NotFound/meta.d.ts.map +1 -1
- package/dist/views/NotFound/meta.js.map +1 -1
- package/dist/views/ResetPassword/index.client.js.map +1 -1
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/ResetPassword/meta.js.map +1 -1
- package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Root/getViewFromConfig.d.ts +2 -2
- package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
- package/dist/views/Root/getViewFromConfig.js.map +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +6 -1
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
- package/dist/views/Root/meta.js.map +1 -1
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Unauthorized/meta.js.map +1 -1
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Verify/meta.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +3 -30
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/Restore/types.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/types.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/SelectLocales/types.js.map +1 -1
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Version/meta.js.map +1 -1
- package/dist/views/Version/shared.js.map +1 -1
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/ID/index.js.map +1 -1
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/views/Versions/meta.js.map +1 -1
- package/dist/views/Versions/types.js.map +1 -1
- package/dist/webpackEntry.js.map +1 -1
- package/dist/withPayload.d.ts +1 -1
- package/dist/withPayload.js.map +1 -1
- package/package.json +8 -8
- package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +0 -91
- package/dist/elements/DocumentHeader/Tabs/index.scss +0 -53
- package/dist/elements/DocumentHeader/index.scss +0 -51
- package/dist/elements/LeaveWithoutSaving/index.scss +0 -36
- package/dist/elements/Nav/NavWrapper/index.scss +0 -17
- package/dist/elements/Nav/index.scss +0 -150
- package/dist/routes/rest/og/roboto-regular.woff +0 -0
- package/dist/scss/app.scss +0 -208
- package/dist/scss/colors.scss +0 -269
- package/dist/scss/custom.css +0 -1
- package/dist/scss/queries.scss +0 -27
- package/dist/scss/resets.scss +0 -17
- package/dist/scss/styles.scss +0 -11
- package/dist/scss/svg.scss +0 -10
- package/dist/scss/toasts.scss +0 -111
- package/dist/scss/type.scss +0 -117
- package/dist/scss/vars.scss +0 -213
- package/dist/scss/z-index.scss +0 -9
- package/dist/templates/Default/Wrapper/index.scss +0 -25
- package/dist/templates/Default/index.scss +0 -67
- package/dist/templates/Minimal/index.scss +0 -28
- package/dist/views/API/RenderJSON/index.scss +0 -90
- package/dist/views/API/index.scss +0 -124
- package/dist/views/Account/Settings/index.scss +0 -46
- package/dist/views/CreateFirstUser/index.scss +0 -5
- package/dist/views/Dashboard/Default/index.scss +0 -58
- package/dist/views/Edit/Default/Auth/index.scss +0 -61
- package/dist/views/Edit/Default/index.scss +0 -21
- package/dist/views/List/Default/index.scss +0 -195
- package/dist/views/LivePreview/IFrame/index.scss +0 -7
- package/dist/views/LivePreview/Preview/index.scss +0 -41
- package/dist/views/LivePreview/Toolbar/Controls/index.scss +0 -59
- package/dist/views/LivePreview/Toolbar/SizeInput/index.scss +0 -10
- package/dist/views/LivePreview/Toolbar/index.scss +0 -41
- package/dist/views/LivePreview/ToolbarArea/index.scss +0 -4
- package/dist/views/LivePreview/index.scss +0 -66
- package/dist/views/Login/LoginForm/index.scss +0 -8
- package/dist/views/Login/index.scss +0 -8
- package/dist/views/Logout/index.scss +0 -20
- package/dist/views/NotFound/index.scss +0 -37
- package/dist/views/ResetPassword/index.scss +0 -5
- package/dist/views/Unauthorized/index.scss +0 -36
- package/dist/views/Verify/index.scss +0 -14
- package/dist/views/Version/Default/index.scss +0 -70
- package/dist/views/Version/RenderFieldsToDiff/Label/index.scss +0 -4
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +0 -34
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.scss +0 -12
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +0 -13
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +0 -13
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +0 -13
- package/dist/views/Version/RenderFieldsToDiff/index.scss +0 -18
- package/dist/views/Version/Restore/index.scss +0 -30
- package/dist/views/Version/SelectComparison/index.scss +0 -13
- package/dist/views/Version/SelectLocales/index.scss +0 -7
- package/dist/views/Versions/index.scss +0 -108
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/NotFound/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { AdminViewComponent, SanitizedConfig } from 'payload'\n\nimport { HydrateClientUser } from '@payloadcms/ui'\nimport React, { Fragment } from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { NotFoundClient } from './index.client.js'\n\nexport const generatePageMetadata = async ({\n config: configPromise,\n}: {\n config: Promise<SanitizedConfig> | SanitizedConfig\n params?: { [key: string]: string | string[] }\n //eslint-disable-next-line @typescript-eslint/require-await\n}): Promise<Metadata> => {\n const config = await configPromise\n\n const i18n = await getNextRequestI18n({\n config,\n })\n\n return {\n title: i18n.t('general:notFound'),\n }\n}\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18n\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const NotFoundPage = async ({\n config: configPromise,\n params,\n searchParams,\n}: {\n config: Promise<SanitizedConfig>\n params: {\n segments: string[]\n }\n searchParams: {\n [key: string]: string | string[]\n }\n}) => {\n const config = await configPromise\n const { routes: { admin: adminRoute } = {} } = config\n\n const initPageResult = await initPage({\n config,\n redirectUnauthenticatedUser: true,\n route: `${adminRoute}/not-found`,\n searchParams,\n })\n\n return (\n <Fragment>\n <HydrateClientUser permissions={initPageResult.permissions} user={initPageResult.req.user} />\n <DefaultTemplate\n i18n={initPageResult.req.i18n}\n locale={initPageResult.locale}\n params={params}\n payload={initPageResult.req.payload}\n permissions={initPageResult.permissions}\n searchParams={searchParams}\n user={initPageResult.req.user}\n visibleEntities={initPageResult.visibleEntities}\n >\n <NotFoundClient />\n </DefaultTemplate>\n </Fragment>\n )\n}\n\nexport const NotFoundView: AdminViewComponent = () => {\n return <NotFoundClient marginTop=\"large\" />\n}\n"],"names":["HydrateClientUser","React","Fragment","DefaultTemplate","getNextRequestI18n","initPage","NotFoundClient","generatePageMetadata","config","configPromise","i18n","title","t","NotFoundPage","params","searchParams","routes","admin","adminRoute","initPageResult","redirectUnauthenticatedUser","route","permissions","user","req","locale","payload","visibleEntities","NotFoundView","marginTop"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/views/NotFound/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { AdminViewComponent, SanitizedConfig } from 'payload'\n\nimport { HydrateClientUser } from '@payloadcms/ui'\nimport React, { Fragment } from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { NotFoundClient } from './index.client.js'\n\nexport const generatePageMetadata = async ({\n config: configPromise,\n}: {\n config: Promise<SanitizedConfig> | SanitizedConfig\n params?: { [key: string]: string | string[] }\n //eslint-disable-next-line @typescript-eslint/require-await\n}): Promise<Metadata> => {\n const config = await configPromise\n\n const i18n = await getNextRequestI18n({\n config,\n })\n\n return {\n title: i18n.t('general:notFound'),\n }\n}\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18n\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const NotFoundPage = async ({\n config: configPromise,\n params,\n searchParams,\n}: {\n config: Promise<SanitizedConfig>\n params: {\n segments: string[]\n }\n searchParams: {\n [key: string]: string | string[]\n }\n}) => {\n const config = await configPromise\n const { routes: { admin: adminRoute } = {} } = config\n\n const initPageResult = await initPage({\n config,\n redirectUnauthenticatedUser: true,\n route: `${adminRoute}/not-found`,\n searchParams,\n })\n\n return (\n <Fragment>\n <HydrateClientUser permissions={initPageResult.permissions} user={initPageResult.req.user} />\n <DefaultTemplate\n i18n={initPageResult.req.i18n}\n locale={initPageResult.locale}\n params={params}\n payload={initPageResult.req.payload}\n permissions={initPageResult.permissions}\n searchParams={searchParams}\n user={initPageResult.req.user}\n visibleEntities={initPageResult.visibleEntities}\n >\n <NotFoundClient />\n </DefaultTemplate>\n </Fragment>\n )\n}\n\nexport const NotFoundView: AdminViewComponent = () => {\n return <NotFoundClient marginTop=\"large\" />\n}\n"],"names":["HydrateClientUser","React","Fragment","DefaultTemplate","getNextRequestI18n","initPage","NotFoundClient","generatePageMetadata","config","configPromise","i18n","title","t","NotFoundPage","params","searchParams","routes","admin","adminRoute","initPageResult","redirectUnauthenticatedUser","route","permissions","user","req","locale","payload","visibleEntities","NotFoundView","marginTop"],"mappings":";AAIA,SAASA,iBAAiB,QAAQ,iBAAgB;AAClD,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,eAAe,QAAQ,mCAAkC;AAClE,SAASC,kBAAkB,QAAQ,wCAAuC;AAC1E,SAASC,QAAQ,QAAQ,oCAAmC;AAC5D,SAASC,cAAc,QAAQ,oBAAmB;AAElD,OAAO,MAAMC,uBAAuB,OAAO,EACzCC,QAAQC,aAAa,EAKtB;IACC,MAAMD,SAAS,MAAMC;IAErB,MAAMC,OAAO,MAAMN,mBAAmB;QACpCI;IACF;IAEA,OAAO;QACLG,OAAOD,KAAKE,CAAC,CAAC;IAChB;AACF,EAAC;AAQD,OAAO,MAAMC,eAAe,OAAO,EACjCL,QAAQC,aAAa,EACrBK,MAAM,EACNC,YAAY,EASb;IACC,MAAMP,SAAS,MAAMC;IACrB,MAAM,EAAEO,QAAQ,EAAEC,OAAOC,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,GAAGV;IAE/C,MAAMW,iBAAiB,MAAMd,SAAS;QACpCG;QACAY,6BAA6B;QAC7BC,OAAO,CAAC,EAAEH,WAAW,UAAU,CAAC;QAChCH;IACF;IAEA,qBACE,MAACb;;0BACC,KAACF;gBAAkBsB,aAAaH,eAAeG,WAAW;gBAAEC,MAAMJ,eAAeK,GAAG,CAACD,IAAI;;0BACzF,KAACpB;gBACCO,MAAMS,eAAeK,GAAG,CAACd,IAAI;gBAC7Be,QAAQN,eAAeM,MAAM;gBAC7BX,QAAQA;gBACRY,SAASP,eAAeK,GAAG,CAACE,OAAO;gBACnCJ,aAAaH,eAAeG,WAAW;gBACvCP,cAAcA;gBACdQ,MAAMJ,eAAeK,GAAG,CAACD,IAAI;gBAC7BI,iBAAiBR,eAAeQ,eAAe;0BAE/C,cAAA,KAACrB;;;;AAIT,EAAC;AAED,OAAO,MAAMsB,eAAmC;IAC9C,qBAAO,KAACtB;QAAeuB,WAAU;;AACnC,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/views/NotFound/meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,eAAO,MAAM,oBAAoB,sBAG9B;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;CACX,KAAG,
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/views/NotFound/meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,eAAO,MAAM,oBAAoB,sBAG9B;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;CACX,KAAG,OAAO,CAAC,QAAQ,CAMhB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/NotFound/meta.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { meta } from '../../utilities/meta.js'\n\nexport const generateNotFoundMeta = async ({\n config,\n i18n,\n}: {\n config: SanitizedConfig\n i18n: I18n\n}): Promise<Metadata> =>\n meta({\n description: i18n.t('general:pageNotFound'),\n keywords: `404 ${i18n.t('general:notFound')}`,\n serverURL: config.serverURL,\n title: i18n.t('general:notFound'),\n })\n"],"names":["meta","generateNotFoundMeta","config","i18n","description","t","keywords","serverURL","title"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/views/NotFound/meta.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { meta } from '../../utilities/meta.js'\n\nexport const generateNotFoundMeta = async ({\n config,\n i18n,\n}: {\n config: SanitizedConfig\n i18n: I18n\n}): Promise<Metadata> =>\n meta({\n description: i18n.t('general:pageNotFound'),\n keywords: `404 ${i18n.t('general:notFound')}`,\n serverURL: config.serverURL,\n title: i18n.t('general:notFound'),\n })\n"],"names":["meta","generateNotFoundMeta","config","i18n","description","t","keywords","serverURL","title"],"mappings":"AAIA,SAASA,IAAI,QAAQ,0BAAyB;AAE9C,OAAO,MAAMC,uBAAuB,OAAO,EACzCC,MAAM,EACNC,IAAI,EAIL,GACCH,KAAK;QACHI,aAAaD,KAAKE,CAAC,CAAC;QACpBC,UAAU,CAAC,IAAI,EAAEH,KAAKE,CAAC,CAAC,oBAAoB,CAAC;QAC7CE,WAAWL,OAAOK,SAAS;QAC3BC,OAAOL,KAAKE,CAAC,CAAC;IAChB,GAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/ResetPassword/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormState } from 'payload'\n\nimport {\n ConfirmPasswordField,\n Form,\n FormSubmit,\n HiddenField,\n PasswordField,\n useAuth,\n useConfig,\n useFormFields,\n useTranslation,\n} from '@payloadcms/ui'\nimport { useRouter } from 'next/navigation.js'\nimport React from 'react'\nimport { toast } from 'sonner'\n\ntype Args = {\n token: string\n}\n\nconst initialState: FormState = {\n 'confirm-password': {\n initialValue: '',\n valid: false,\n value: '',\n },\n password: {\n initialValue: '',\n valid: false,\n value: '',\n },\n}\n\nexport const ResetPasswordClient: React.FC<Args> = ({ token }) => {\n const i18n = useTranslation()\n const {\n admin: { user: userSlug },\n routes: { admin, api },\n serverURL,\n } = useConfig()\n\n const history = useRouter()\n\n const { fetchFullUser } = useAuth()\n\n const onSuccess = React.useCallback(\n async (data) => {\n if (data.token) {\n await fetchFullUser()\n history.push(`${admin}`)\n } else {\n history.push(`${admin}/login`)\n toast.success(i18n.t('general:updatedSuccessfully'))\n }\n },\n [fetchFullUser, history, admin, i18n],\n )\n\n return (\n <Form\n action={`${serverURL}${api}/${userSlug}/reset-password`}\n initialState={initialState}\n method=\"POST\"\n onSuccess={onSuccess}\n >\n <PasswordToConfirm />\n <ConfirmPasswordField />\n <HiddenField forceUsePathFromProps name=\"token\" value={token} />\n <FormSubmit>{i18n.t('authentication:resetPassword')}</FormSubmit>\n </Form>\n )\n}\n\nconst PasswordToConfirm = () => {\n const { t } = useTranslation()\n const { value: confirmValue } = useFormFields(\n ([fields]) => (fields && fields?.['confirm-password']) || null,\n )\n\n const validate = React.useCallback(\n (value: string) => {\n if (!value) {\n return t('validation:required')\n }\n\n if (value === confirmValue) {\n return true\n }\n\n return t('fields:passwordsDoNotMatch')\n },\n [confirmValue, t],\n )\n\n return (\n <PasswordField\n autoComplete=\"off\"\n label={t('authentication:newPassword')}\n name=\"password\"\n required\n validate={validate}\n />\n )\n}\n"],"names":["ConfirmPasswordField","Form","FormSubmit","HiddenField","PasswordField","useAuth","useConfig","useFormFields","useTranslation","useRouter","React","toast","initialState","initialValue","valid","value","password","ResetPasswordClient","token","i18n","admin","user","userSlug","routes","api","serverURL","history","fetchFullUser","onSuccess","useCallback","data","push","success","t","action","method","PasswordToConfirm","forceUsePathFromProps","name","confirmValue","fields","validate","autoComplete","label","required"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/views/ResetPassword/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormState } from 'payload'\n\nimport {\n ConfirmPasswordField,\n Form,\n FormSubmit,\n HiddenField,\n PasswordField,\n useAuth,\n useConfig,\n useFormFields,\n useTranslation,\n} from '@payloadcms/ui'\nimport { useRouter } from 'next/navigation.js'\nimport React from 'react'\nimport { toast } from 'sonner'\n\ntype Args = {\n token: string\n}\n\nconst initialState: FormState = {\n 'confirm-password': {\n initialValue: '',\n valid: false,\n value: '',\n },\n password: {\n initialValue: '',\n valid: false,\n value: '',\n },\n}\n\nexport const ResetPasswordClient: React.FC<Args> = ({ token }) => {\n const i18n = useTranslation()\n const {\n admin: { user: userSlug },\n routes: { admin, api },\n serverURL,\n } = useConfig()\n\n const history = useRouter()\n\n const { fetchFullUser } = useAuth()\n\n const onSuccess = React.useCallback(\n async (data) => {\n if (data.token) {\n await fetchFullUser()\n history.push(`${admin}`)\n } else {\n history.push(`${admin}/login`)\n toast.success(i18n.t('general:updatedSuccessfully'))\n }\n },\n [fetchFullUser, history, admin, i18n],\n )\n\n return (\n <Form\n action={`${serverURL}${api}/${userSlug}/reset-password`}\n initialState={initialState}\n method=\"POST\"\n onSuccess={onSuccess}\n >\n <PasswordToConfirm />\n <ConfirmPasswordField />\n <HiddenField forceUsePathFromProps name=\"token\" value={token} />\n <FormSubmit>{i18n.t('authentication:resetPassword')}</FormSubmit>\n </Form>\n )\n}\n\nconst PasswordToConfirm = () => {\n const { t } = useTranslation()\n const { value: confirmValue } = useFormFields(\n ([fields]) => (fields && fields?.['confirm-password']) || null,\n )\n\n const validate = React.useCallback(\n (value: string) => {\n if (!value) {\n return t('validation:required')\n }\n\n if (value === confirmValue) {\n return true\n }\n\n return t('fields:passwordsDoNotMatch')\n },\n [confirmValue, t],\n )\n\n return (\n <PasswordField\n autoComplete=\"off\"\n label={t('authentication:newPassword')}\n name=\"password\"\n required\n validate={validate}\n />\n )\n}\n"],"names":["ConfirmPasswordField","Form","FormSubmit","HiddenField","PasswordField","useAuth","useConfig","useFormFields","useTranslation","useRouter","React","toast","initialState","initialValue","valid","value","password","ResetPasswordClient","token","i18n","admin","user","userSlug","routes","api","serverURL","history","fetchFullUser","onSuccess","useCallback","data","push","success","t","action","method","PasswordToConfirm","forceUsePathFromProps","name","confirmValue","fields","validate","autoComplete","label","required"],"mappings":"AAAA;;AAGA,SACEA,oBAAoB,EACpBC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,aAAa,EACbC,OAAO,EACPC,SAAS,EACTC,aAAa,EACbC,cAAc,QACT,iBAAgB;AACvB,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,OAAOC,WAAW,QAAO;AACzB,SAASC,KAAK,QAAQ,SAAQ;AAM9B,MAAMC,eAA0B;IAC9B,oBAAoB;QAClBC,cAAc;QACdC,OAAO;QACPC,OAAO;IACT;IACAC,UAAU;QACRH,cAAc;QACdC,OAAO;QACPC,OAAO;IACT;AACF;AAEA,OAAO,MAAME,sBAAsC,CAAC,EAAEC,KAAK,EAAE;IAC3D,MAAMC,OAAOX;IACb,MAAM,EACJY,OAAO,EAAEC,MAAMC,QAAQ,EAAE,EACzBC,QAAQ,EAAEH,KAAK,EAAEI,GAAG,EAAE,EACtBC,SAAS,EACV,GAAGnB;IAEJ,MAAMoB,UAAUjB;IAEhB,MAAM,EAAEkB,aAAa,EAAE,GAAGtB;IAE1B,MAAMuB,YAAYlB,MAAMmB,WAAW,CACjC,OAAOC;QACL,IAAIA,KAAKZ,KAAK,EAAE;YACd,MAAMS;YACND,QAAQK,IAAI,CAAC,CAAC,EAAEX,MAAM,CAAC;QACzB,OAAO;YACLM,QAAQK,IAAI,CAAC,CAAC,EAAEX,MAAM,MAAM,CAAC;YAC7BT,MAAMqB,OAAO,CAACb,KAAKc,CAAC,CAAC;QACvB;IACF,GACA;QAACN;QAAeD;QAASN;QAAOD;KAAK;IAGvC,qBACE,MAAClB;QACCiC,QAAQ,CAAC,EAAET,UAAU,EAAED,IAAI,CAAC,EAAEF,SAAS,eAAe,CAAC;QACvDV,cAAcA;QACduB,QAAO;QACPP,WAAWA;;0BAEX,KAACQ;0BACD,KAACpC;0BACD,KAACG;gBAAYkC,qBAAqB;gBAACC,MAAK;gBAAQvB,OAAOG;;0BACvD,KAAChB;0BAAYiB,KAAKc,CAAC,CAAC;;;;AAG1B,EAAC;AAED,MAAMG,oBAAoB;IACxB,MAAM,EAAEH,CAAC,EAAE,GAAGzB;IACd,MAAM,EAAEO,OAAOwB,YAAY,EAAE,GAAGhC,cAC9B,CAAC,CAACiC,OAAO,GAAK,AAACA,UAAUA,QAAQ,CAAC,mBAAmB,IAAK;IAG5D,MAAMC,WAAW/B,MAAMmB,WAAW,CAChC,CAACd;QACC,IAAI,CAACA,OAAO;YACV,OAAOkB,EAAE;QACX;QAEA,IAAIlB,UAAUwB,cAAc;YAC1B,OAAO;QACT;QAEA,OAAON,EAAE;IACX,GACA;QAACM;QAAcN;KAAE;IAGnB,qBACE,KAAC7B;QACCsC,cAAa;QACbC,OAAOV,EAAE;QACTK,MAAK;QACLM,QAAQ;QACRH,UAAUA;;AAGhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/ResetPassword/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { Button, Translation } from '@payloadcms/ui'\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { ResetPasswordClient } from './index.client.js'\nimport './index.scss'\n\nexport const resetPasswordBaseClass = 'reset-password'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport { generateResetPasswordMetadata } from './meta.js'\n\nexport const ResetPassword: React.FC<AdminViewProps> = ({ initPageResult, params }) => {\n const { req } = initPageResult\n\n const {\n segments: [_, token],\n } = params\n\n const {\n i18n,\n payload: { config },\n user,\n } = req\n\n const {\n admin: {\n routes: { account: accountRoute },\n },\n routes: { admin },\n } = config\n\n if (user) {\n return (\n <MinimalTemplate className={resetPasswordBaseClass}>\n <div className={`${resetPasswordBaseClass}__wrap`}>\n <h1>{i18n.t('authentication:alreadyLoggedIn')}</h1>\n <p>\n <Translation\n elements={{\n '0': ({ children }) => <Link href={`${admin}${accountRoute}`}>{children}</Link>,\n }}\n i18nKey=\"authentication:loggedInChangePassword\"\n t={i18n.t}\n />\n </p>\n <br />\n <Button Link={Link} buttonStyle=\"secondary\" el=\"link\" to={admin}>\n {i18n.t('general:backToDashboard')}\n </Button>\n </div>\n </MinimalTemplate>\n )\n }\n\n return (\n <MinimalTemplate className={resetPasswordBaseClass}>\n <div className={`${resetPasswordBaseClass}__wrap`}>\n <h1>{i18n.t('authentication:resetPassword')}</h1>\n <ResetPasswordClient token={token} />\n </div>\n </MinimalTemplate>\n )\n}\n"],"names":["Button","Translation","LinkImport","React","MinimalTemplate","ResetPasswordClient","resetPasswordBaseClass","Link","default","generateResetPasswordMetadata","ResetPassword","initPageResult","params","req","segments","_","token","i18n","payload","config","user","admin","routes","account","accountRoute","className","div","h1","t","p","elements","children","href","i18nKey","br","buttonStyle","el","to"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/views/ResetPassword/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { Button, Translation } from '@payloadcms/ui'\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { ResetPasswordClient } from './index.client.js'\nimport './index.scss'\n\nexport const resetPasswordBaseClass = 'reset-password'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport { generateResetPasswordMetadata } from './meta.js'\n\nexport const ResetPassword: React.FC<AdminViewProps> = ({ initPageResult, params }) => {\n const { req } = initPageResult\n\n const {\n segments: [_, token],\n } = params\n\n const {\n i18n,\n payload: { config },\n user,\n } = req\n\n const {\n admin: {\n routes: { account: accountRoute },\n },\n routes: { admin },\n } = config\n\n if (user) {\n return (\n <MinimalTemplate className={resetPasswordBaseClass}>\n <div className={`${resetPasswordBaseClass}__wrap`}>\n <h1>{i18n.t('authentication:alreadyLoggedIn')}</h1>\n <p>\n <Translation\n elements={{\n '0': ({ children }) => <Link href={`${admin}${accountRoute}`}>{children}</Link>,\n }}\n i18nKey=\"authentication:loggedInChangePassword\"\n t={i18n.t}\n />\n </p>\n <br />\n <Button Link={Link} buttonStyle=\"secondary\" el=\"link\" to={admin}>\n {i18n.t('general:backToDashboard')}\n </Button>\n </div>\n </MinimalTemplate>\n )\n }\n\n return (\n <MinimalTemplate className={resetPasswordBaseClass}>\n <div className={`${resetPasswordBaseClass}__wrap`}>\n <h1>{i18n.t('authentication:resetPassword')}</h1>\n <ResetPasswordClient token={token} />\n </div>\n </MinimalTemplate>\n )\n}\n"],"names":["Button","Translation","LinkImport","React","MinimalTemplate","ResetPasswordClient","resetPasswordBaseClass","Link","default","generateResetPasswordMetadata","ResetPassword","initPageResult","params","req","segments","_","token","i18n","payload","config","user","admin","routes","account","accountRoute","className","div","h1","t","p","elements","children","href","i18nKey","br","buttonStyle","el","to"],"mappings":";AAEA,SAASA,MAAM,EAAEC,WAAW,QAAQ,iBAAgB;AACpD,OAAOC,gBAAgB,eAAc;AACrC,OAAOC,WAAW,QAAO;AAEzB,SAASC,eAAe,QAAQ,mCAAkC;AAClE,SAASC,mBAAmB,QAAQ,oBAAmB;AAGvD,OAAO,MAAMC,yBAAyB,iBAAgB;AAEtD,MAAMC,OAAQL,WAAWM,OAAO,IAAIN;AAEpC,SAASO,6BAA6B,QAAQ,YAAW;AAEzD,OAAO,MAAMC,gBAA0C,CAAC,EAAEC,cAAc,EAAEC,MAAM,EAAE;IAChF,MAAM,EAAEC,GAAG,EAAE,GAAGF;IAEhB,MAAM,EACJG,UAAU,CAACC,GAAGC,MAAM,EACrB,GAAGJ;IAEJ,MAAM,EACJK,IAAI,EACJC,SAAS,EAAEC,MAAM,EAAE,EACnBC,IAAI,EACL,GAAGP;IAEJ,MAAM,EACJQ,OAAO,EACLC,QAAQ,EAAEC,SAASC,YAAY,EAAE,EAClC,EACDF,QAAQ,EAAED,KAAK,EAAE,EAClB,GAAGF;IAEJ,IAAIC,MAAM;QACR,qBACE,KAAChB;YAAgBqB,WAAWnB;sBAC1B,cAAA,MAACoB;gBAAID,WAAW,CAAC,EAAEnB,uBAAuB,MAAM,CAAC;;kCAC/C,KAACqB;kCAAIV,KAAKW,CAAC,CAAC;;kCACZ,KAACC;kCACC,cAAA,KAAC5B;4BACC6B,UAAU;gCACR,KAAK,CAAC,EAAEC,QAAQ,EAAE,iBAAK,KAACxB;wCAAKyB,MAAM,CAAC,EAAEX,MAAM,EAAEG,aAAa,CAAC;kDAAGO;;4BACjE;4BACAE,SAAQ;4BACRL,GAAGX,KAAKW,CAAC;;;kCAGb,KAACM;kCACD,KAAClC;wBAAOO,MAAMA;wBAAM4B,aAAY;wBAAYC,IAAG;wBAAOC,IAAIhB;kCACvDJ,KAAKW,CAAC,CAAC;;;;;IAKlB;IAEA,qBACE,KAACxB;QAAgBqB,WAAWnB;kBAC1B,cAAA,MAACoB;YAAID,WAAW,CAAC,EAAEnB,uBAAuB,MAAM,CAAC;;8BAC/C,KAACqB;8BAAIV,KAAKW,CAAC,CAAC;;8BACZ,KAACvB;oBAAoBW,OAAOA;;;;;AAIpC,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/ResetPassword/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\n\nimport type { GenerateViewMetadata } from '../Root/index.js'\n\nimport { meta } from '../../utilities/meta.js'\n\nexport const generateResetPasswordMetadata: GenerateViewMetadata = async ({\n config,\n i18n: { t },\n}): Promise<Metadata> =>\n meta({\n description: t('authentication:resetPassword'),\n keywords: t('authentication:resetPassword'),\n serverURL: config.serverURL,\n title: t('authentication:resetPassword'),\n ...(config.admin.meta || {}),\n })\n"],"names":["meta","generateResetPasswordMetadata","config","i18n","t","description","keywords","serverURL","title","admin"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/views/ResetPassword/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\n\nimport type { GenerateViewMetadata } from '../Root/index.js'\n\nimport { meta } from '../../utilities/meta.js'\n\nexport const generateResetPasswordMetadata: GenerateViewMetadata = async ({\n config,\n i18n: { t },\n}): Promise<Metadata> =>\n meta({\n description: t('authentication:resetPassword'),\n keywords: t('authentication:resetPassword'),\n serverURL: config.serverURL,\n title: t('authentication:resetPassword'),\n ...(config.admin.meta || {}),\n })\n"],"names":["meta","generateResetPasswordMetadata","config","i18n","t","description","keywords","serverURL","title","admin"],"mappings":"AAIA,SAASA,IAAI,QAAQ,0BAAyB;AAE9C,OAAO,MAAMC,gCAAsD,OAAO,EACxEC,MAAM,EACNC,MAAM,EAAEC,CAAC,EAAE,EACZ,GACCJ,KAAK;QACHK,aAAaD,EAAE;QACfE,UAAUF,EAAE;QACZG,WAAWL,OAAOK,SAAS;QAC3BC,OAAOJ,EAAE;QACT,GAAIF,OAAOO,KAAK,CAACT,IAAI,IAAI,CAAC,CAAC;IAC7B,GAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Root/getCustomViewByRoute.tsx"],"sourcesContent":["import type { AdminViewComponent, SanitizedConfig } from 'payload'\n\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nexport const getCustomViewByRoute = ({\n config,\n currentRoute: currentRouteWithAdmin,\n}: {\n config: SanitizedConfig\n currentRoute: string\n}): AdminViewComponent => {\n const {\n admin: {\n components: { views },\n },\n routes: { admin: adminRoute },\n } = config\n\n const currentRoute = currentRouteWithAdmin.replace(adminRoute, '')\n\n const foundViewConfig =\n views &&\n typeof views === 'object' &&\n Object.entries(views).find(([, view]) => {\n if (typeof view === 'object') {\n return isPathMatchingRoute({\n currentRoute,\n exact: view.exact,\n path: view.path,\n sensitive: view.sensitive,\n strict: view.strict,\n })\n }\n })?.[1]\n\n return typeof foundViewConfig === 'object' ? foundViewConfig.Component : null\n}\n"],"names":["isPathMatchingRoute","getCustomViewByRoute","config","currentRoute","currentRouteWithAdmin","admin","components","views","routes","adminRoute","replace","foundViewConfig","Object","entries","find","view","exact","path","sensitive","strict","Component"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Root/getCustomViewByRoute.tsx"],"sourcesContent":["import type { AdminViewComponent, SanitizedConfig } from 'payload'\n\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nexport const getCustomViewByRoute = ({\n config,\n currentRoute: currentRouteWithAdmin,\n}: {\n config: SanitizedConfig\n currentRoute: string\n}): AdminViewComponent => {\n const {\n admin: {\n components: { views },\n },\n routes: { admin: adminRoute },\n } = config\n\n const currentRoute = currentRouteWithAdmin.replace(adminRoute, '')\n\n const foundViewConfig =\n views &&\n typeof views === 'object' &&\n Object.entries(views).find(([, view]) => {\n if (typeof view === 'object') {\n return isPathMatchingRoute({\n currentRoute,\n exact: view.exact,\n path: view.path,\n sensitive: view.sensitive,\n strict: view.strict,\n })\n }\n })?.[1]\n\n return typeof foundViewConfig === 'object' ? foundViewConfig.Component : null\n}\n"],"names":["isPathMatchingRoute","getCustomViewByRoute","config","currentRoute","currentRouteWithAdmin","admin","components","views","routes","adminRoute","replace","foundViewConfig","Object","entries","find","view","exact","path","sensitive","strict","Component"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ,2BAA0B;AAE9D,OAAO,MAAMC,uBAAuB,CAAC,EACnCC,MAAM,EACNC,cAAcC,qBAAqB,EAIpC;IACC,MAAM,EACJC,OAAO,EACLC,YAAY,EAAEC,KAAK,EAAE,EACtB,EACDC,QAAQ,EAAEH,OAAOI,UAAU,EAAE,EAC9B,GAAGP;IAEJ,MAAMC,eAAeC,sBAAsBM,OAAO,CAACD,YAAY;IAE/D,MAAME,kBACJJ,SACA,OAAOA,UAAU,YACjBK,OAAOC,OAAO,CAACN,OAAOO,IAAI,CAAC,CAAC,GAAGC,KAAK;QAClC,IAAI,OAAOA,SAAS,UAAU;YAC5B,OAAOf,oBAAoB;gBACzBG;gBACAa,OAAOD,KAAKC,KAAK;gBACjBC,MAAMF,KAAKE,IAAI;gBACfC,WAAWH,KAAKG,SAAS;gBACzBC,QAAQJ,KAAKI,MAAM;YACrB;QACF;IACF,IAAI,CAAC,EAAE;IAET,OAAO,OAAOR,oBAAoB,WAAWA,gBAAgBS,SAAS,GAAG;AAC3E,EAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AdminViewComponent, SanitizedConfig } from 'payload';
|
|
2
2
|
import type { initPage } from '../../utilities/initPage/index.js';
|
|
3
3
|
export declare const getViewFromConfig: ({ adminRoute, config, currentRoute, searchParams, segments, }: {
|
|
4
|
-
adminRoute;
|
|
4
|
+
adminRoute: any;
|
|
5
5
|
config: SanitizedConfig;
|
|
6
6
|
currentRoute: string;
|
|
7
7
|
searchParams: {
|
|
@@ -12,6 +12,6 @@ export declare const getViewFromConfig: ({ adminRoute, config, currentRoute, sea
|
|
|
12
12
|
DefaultView: AdminViewComponent;
|
|
13
13
|
initPageOptions: Parameters<typeof initPage>[0];
|
|
14
14
|
templateClassName: string;
|
|
15
|
-
templateType:
|
|
15
|
+
templateType: "default" | "minimal";
|
|
16
16
|
};
|
|
17
17
|
//# sourceMappingURL=getViewFromConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getViewFromConfig.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getViewFromConfig.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAElE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAsCjE,eAAO,MAAM,iBAAiB,kEAM3B;IACD,UAAU,
|
|
1
|
+
{"version":3,"file":"getViewFromConfig.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getViewFromConfig.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAElE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAsCjE,eAAO,MAAM,iBAAiB,kEAM3B;IACD,UAAU,MAAA;IACV,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,KAAG;IACF,WAAW,EAAE,kBAAkB,CAAA;IAC/B,eAAe,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;CAkIpC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Root/getViewFromConfig.tsx"],"sourcesContent":["import type { AdminViewComponent, SanitizedConfig } from 'payload'\n\nimport type { initPage } from '../../utilities/initPage/index.js'\n\nimport { Account } from '../Account/index.js'\nimport { CreateFirstUserView } from '../CreateFirstUser/index.js'\nimport { Dashboard } from '../Dashboard/index.js'\nimport { Document as DocumentView } from '../Document/index.js'\nimport { ForgotPasswordView, forgotPasswordBaseClass } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { LoginView, loginBaseClass } from '../Login/index.js'\nimport { LogoutInactivity, LogoutView } from '../Logout/index.js'\nimport { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { Verify, verifyBaseClass } from '../Verify/index.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nconst baseClasses = {\n account: 'account',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: AdminViewComponent\n}\n\nconst oneSegmentViews: OneSegmentViews = {\n account: Account,\n createFirstUser: CreateFirstUserView,\n forgot: ForgotPasswordView,\n inactivity: LogoutInactivity,\n login: LoginView,\n logout: LogoutView,\n unauthorized: UnauthorizedView,\n}\n\nexport const getViewFromConfig = ({\n adminRoute,\n config,\n currentRoute,\n searchParams,\n segments,\n}: {\n adminRoute\n config: SanitizedConfig\n currentRoute: string\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}): {\n DefaultView: AdminViewComponent\n initPageOptions: Parameters<typeof initPage>[0]\n templateClassName: string\n templateType: 'default' | 'minimal'\n} => {\n let ViewToRender: AdminViewComponent = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n\n const initPageOptions: Parameters<typeof initPage>[0] = {\n config,\n route: currentRoute,\n searchParams,\n }\n\n const [segmentOne, segmentTwo] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = Dashboard\n templateClassName = 'dashboard'\n templateType = 'default'\n initPageOptions.redirectUnauthenticatedUser = true\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewToRender: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: `${adminRoute}${route}`,\n })\n })\n\n if (matchedRoute) {\n viewToRender = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n if (oneSegmentViews[viewToRender]) {\n // --> /account\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = oneSegmentViews[viewToRender]\n templateClassName = baseClasses[viewToRender]\n templateType = 'minimal'\n\n if (viewToRender === 'account') {\n initPageOptions.redirectUnauthenticatedUser = true\n templateType = 'default'\n }\n }\n break\n }\n case 2: {\n if (segmentOne === 'reset') {\n // --> /reset/:token\n ViewToRender = ResetPassword\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n }\n\n if (isCollection) {\n // --> /collections/:collectionSlug\n initPageOptions.redirectUnauthenticatedUser = true\n ViewToRender = ListView\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n initPageOptions.redirectUnauthenticatedUser = true\n ViewToRender = DocumentView\n templateClassName = 'global-edit'\n templateType = 'default'\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n ViewToRender = Verify\n templateClassName = 'verify'\n templateType = 'minimal'\n } else if (isCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionId\n // --> /collections/:collectionSlug/:id/api\n initPageOptions.redirectUnauthenticatedUser = true\n ViewToRender = DocumentView\n templateClassName = `collection-default-edit`\n templateType = 'default'\n } else if (isGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/versions/:versionId\n // --> /globals/:globalSlug/api\n initPageOptions.redirectUnauthenticatedUser = true\n ViewToRender = DocumentView\n templateClassName = `global-edit`\n templateType = 'default'\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })\n }\n\n return {\n DefaultView: ViewToRender,\n initPageOptions,\n templateClassName,\n templateType,\n }\n}\n"],"names":["Account","CreateFirstUserView","Dashboard","Document","DocumentView","ForgotPasswordView","forgotPasswordBaseClass","ListView","LoginView","loginBaseClass","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","getCustomViewByRoute","isPathMatchingRoute","baseClasses","account","forgot","login","reset","verify","oneSegmentViews","createFirstUser","inactivity","logout","unauthorized","getViewFromConfig","adminRoute","config","currentRoute","searchParams","segments","ViewToRender","templateClassName","templateType","initPageOptions","route","segmentOne","segmentTwo","isGlobal","isCollection","length","redirectUnauthenticatedUser","viewToRender","admin","routes","matchedRoute","Object","entries","find","exact","path","DefaultView"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Root/getViewFromConfig.tsx"],"sourcesContent":["import type { AdminViewComponent, SanitizedConfig } from 'payload'\n\nimport type { initPage } from '../../utilities/initPage/index.js'\n\nimport { Account } from '../Account/index.js'\nimport { CreateFirstUserView } from '../CreateFirstUser/index.js'\nimport { Dashboard } from '../Dashboard/index.js'\nimport { Document as DocumentView } from '../Document/index.js'\nimport { ForgotPasswordView, forgotPasswordBaseClass } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { LoginView, loginBaseClass } from '../Login/index.js'\nimport { LogoutInactivity, LogoutView } from '../Logout/index.js'\nimport { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { Verify, verifyBaseClass } from '../Verify/index.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nconst baseClasses = {\n account: 'account',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: AdminViewComponent\n}\n\nconst oneSegmentViews: OneSegmentViews = {\n account: Account,\n createFirstUser: CreateFirstUserView,\n forgot: ForgotPasswordView,\n inactivity: LogoutInactivity,\n login: LoginView,\n logout: LogoutView,\n unauthorized: UnauthorizedView,\n}\n\nexport const getViewFromConfig = ({\n adminRoute,\n config,\n currentRoute,\n searchParams,\n segments,\n}: {\n adminRoute\n config: SanitizedConfig\n currentRoute: string\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}): {\n DefaultView: AdminViewComponent\n initPageOptions: Parameters<typeof initPage>[0]\n templateClassName: string\n templateType: 'default' | 'minimal'\n} => {\n let ViewToRender: AdminViewComponent = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n\n const initPageOptions: Parameters<typeof initPage>[0] = {\n config,\n route: currentRoute,\n searchParams,\n }\n\n const [segmentOne, segmentTwo] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = Dashboard\n templateClassName = 'dashboard'\n templateType = 'default'\n initPageOptions.redirectUnauthenticatedUser = true\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewToRender: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: `${adminRoute}${route}`,\n })\n })\n\n if (matchedRoute) {\n viewToRender = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n if (oneSegmentViews[viewToRender]) {\n // --> /account\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = oneSegmentViews[viewToRender]\n templateClassName = baseClasses[viewToRender]\n templateType = 'minimal'\n\n if (viewToRender === 'account') {\n initPageOptions.redirectUnauthenticatedUser = true\n templateType = 'default'\n }\n }\n break\n }\n case 2: {\n if (segmentOne === 'reset') {\n // --> /reset/:token\n ViewToRender = ResetPassword\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n }\n\n if (isCollection) {\n // --> /collections/:collectionSlug\n initPageOptions.redirectUnauthenticatedUser = true\n ViewToRender = ListView\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n initPageOptions.redirectUnauthenticatedUser = true\n ViewToRender = DocumentView\n templateClassName = 'global-edit'\n templateType = 'default'\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n ViewToRender = Verify\n templateClassName = 'verify'\n templateType = 'minimal'\n } else if (isCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionId\n // --> /collections/:collectionSlug/:id/api\n initPageOptions.redirectUnauthenticatedUser = true\n ViewToRender = DocumentView\n templateClassName = `collection-default-edit`\n templateType = 'default'\n } else if (isGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/versions/:versionId\n // --> /globals/:globalSlug/api\n initPageOptions.redirectUnauthenticatedUser = true\n ViewToRender = DocumentView\n templateClassName = `global-edit`\n templateType = 'default'\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })\n }\n\n return {\n DefaultView: ViewToRender,\n initPageOptions,\n templateClassName,\n templateType,\n }\n}\n"],"names":["Account","CreateFirstUserView","Dashboard","Document","DocumentView","ForgotPasswordView","forgotPasswordBaseClass","ListView","LoginView","loginBaseClass","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","getCustomViewByRoute","isPathMatchingRoute","baseClasses","account","forgot","login","reset","verify","oneSegmentViews","createFirstUser","inactivity","logout","unauthorized","getViewFromConfig","adminRoute","config","currentRoute","searchParams","segments","ViewToRender","templateClassName","templateType","initPageOptions","route","segmentOne","segmentTwo","isGlobal","isCollection","length","redirectUnauthenticatedUser","viewToRender","admin","routes","matchedRoute","Object","entries","find","exact","path","DefaultView"],"mappings":"AAIA,SAASA,OAAO,QAAQ,sBAAqB;AAC7C,SAASC,mBAAmB,QAAQ,8BAA6B;AACjE,SAASC,SAAS,QAAQ,wBAAuB;AACjD,SAASC,YAAYC,YAAY,QAAQ,uBAAsB;AAC/D,SAASC,kBAAkB,EAAEC,uBAAuB,QAAQ,6BAA4B;AACxF,SAASC,QAAQ,QAAQ,mBAAkB;AAC3C,SAASC,SAAS,EAAEC,cAAc,QAAQ,oBAAmB;AAC7D,SAASC,gBAAgB,EAAEC,UAAU,QAAQ,qBAAoB;AACjE,SAASC,aAAa,EAAEC,sBAAsB,QAAQ,4BAA2B;AACjF,SAASC,gBAAgB,QAAQ,2BAA0B;AAC3D,SAASC,MAAM,EAAEC,eAAe,QAAQ,qBAAoB;AAC5D,SAASC,oBAAoB,QAAQ,4BAA2B;AAChE,SAASC,mBAAmB,QAAQ,2BAA0B;AAE9D,MAAMC,cAAc;IAClBC,SAAS;IACTC,QAAQf;IACRgB,OAAOb;IACPc,OAAOV;IACPW,QAAQR;AACV;AAMA,MAAMS,kBAAmC;IACvCL,SAASpB;IACT0B,iBAAiBzB;IACjBoB,QAAQhB;IACRsB,YAAYjB;IACZY,OAAOd;IACPoB,QAAQjB;IACRkB,cAAcf;AAChB;AAEA,OAAO,MAAMgB,oBAAoB,CAAC,EAChCC,UAAU,EACVC,MAAM,EACNC,YAAY,EACZC,YAAY,EACZC,QAAQ,EAST;IAMC,IAAIC,eAAmC;IACvC,IAAIC;IACJ,IAAIC;IAEJ,MAAMC,kBAAkD;QACtDP;QACAQ,OAAOP;QACPC;IACF;IAEA,MAAM,CAACO,YAAYC,WAAW,GAAGP;IAEjC,MAAMQ,WAAWF,eAAe;IAChC,MAAMG,eAAeH,eAAe;IAEpC,OAAQN,SAASU,MAAM;QACrB,KAAK;YAAG;gBACN,IAAIZ,iBAAiBF,YAAY;oBAC/BK,eAAelC;oBACfmC,oBAAoB;oBACpBC,eAAe;oBACfC,gBAAgBO,2BAA2B,GAAG;gBAChD;gBACA;YACF;QACA,KAAK;YAAG;gBACN,kEAAkE;gBAClE,wEAAwE;gBACxE,IAAIC;gBAEJ,IAAIf,OAAOgB,KAAK,CAACC,MAAM,EAAE;oBACvB,MAAMC,eAAeC,OAAOC,OAAO,CAACpB,OAAOgB,KAAK,CAACC,MAAM,EAAEI,IAAI,CAAC,CAAC,GAAGb,MAAM;wBACtE,OAAOtB,oBAAoB;4BACzBe;4BACAqB,OAAO;4BACPC,MAAM,CAAC,EAAExB,WAAW,EAAES,MAAM,CAAC;wBAC/B;oBACF;oBAEA,IAAIU,cAAc;wBAChBH,eAAeG,YAAY,CAAC,EAAE;oBAChC;gBACF;gBAEA,IAAIzB,eAAe,CAACsB,aAAa,EAAE;oBACjC,eAAe;oBACf,yBAAyB;oBACzB,cAAc;oBACd,aAAa;oBACb,cAAc;oBACd,yBAAyB;oBACzB,oBAAoB;oBAEpBX,eAAeX,eAAe,CAACsB,aAAa;oBAC5CV,oBAAoBlB,WAAW,CAAC4B,aAAa;oBAC7CT,eAAe;oBAEf,IAAIS,iBAAiB,WAAW;wBAC9BR,gBAAgBO,2BAA2B,GAAG;wBAC9CR,eAAe;oBACjB;gBACF;gBACA;YACF;QACA,KAAK;YAAG;gBACN,IAAIG,eAAe,SAAS;oBAC1B,oBAAoB;oBACpBL,eAAexB;oBACfyB,oBAAoBlB,WAAW,CAACuB,WAAW;oBAC3CJ,eAAe;gBACjB;gBAEA,IAAIM,cAAc;oBAChB,mCAAmC;oBACnCL,gBAAgBO,2BAA2B,GAAG;oBAC9CV,eAAe7B;oBACf8B,oBAAoB,CAAC,EAAEK,WAAW,KAAK,CAAC;oBACxCJ,eAAe;gBACjB,OAAO,IAAIK,UAAU;oBACnB,2BAA2B;oBAC3BJ,gBAAgBO,2BAA2B,GAAG;oBAC9CV,eAAehC;oBACfiC,oBAAoB;oBACpBC,eAAe;gBACjB;gBACA;YACF;QACA;YACE,IAAII,eAAe,UAAU;gBAC3B,qCAAqC;gBACrCN,eAAerB;gBACfsB,oBAAoB;gBACpBC,eAAe;YACjB,OAAO,IAAIM,cAAc;gBACvB,eAAe;gBACf,uCAAuC;gBACvC,+CAA+C;gBAC/C,gDAAgD;gBAChD,2DAA2D;gBAC3D,2CAA2C;gBAC3CL,gBAAgBO,2BAA2B,GAAG;gBAC9CV,eAAehC;gBACfiC,oBAAoB,CAAC,uBAAuB,CAAC;gBAC7CC,eAAe;YACjB,OAAO,IAAIK,UAAU;gBACnB,eAAe;gBACf,oCAAoC;gBACpC,mCAAmC;gBACnC,+CAA+C;gBAC/C,+BAA+B;gBAC/BJ,gBAAgBO,2BAA2B,GAAG;gBAC9CV,eAAehC;gBACfiC,oBAAoB,CAAC,WAAW,CAAC;gBACjCC,eAAe;YACjB;YACA;IACJ;IAEA,IAAI,CAACF,cAAc;QACjBA,eAAenB,qBAAqB;YAAEe;YAAQC;QAAa;IAC7D;IAEA,OAAO;QACLuB,aAAapB;QACbG;QACAF;QACAC;IACF;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,qDAIlB;IACD,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,qDAIlB;IACD,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;IACD,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;CACF,+BAiGA,CAAA"}
|
package/dist/views/Root/index.js
CHANGED
|
@@ -30,7 +30,12 @@ export const RootPage = async ({ config: configPromise, params, searchParams })=
|
|
|
30
30
|
req: initPageResult?.req
|
|
31
31
|
})?.then((doc)=>!!doc);
|
|
32
32
|
const routeWithAdmin = `${adminRoute}${createFirstUserRoute}`;
|
|
33
|
-
|
|
33
|
+
const collectionConfig = config.collections.find(({ slug })=>slug === userSlug);
|
|
34
|
+
const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy;
|
|
35
|
+
if (disableLocalStrategy && currentRoute === routeWithAdmin) {
|
|
36
|
+
redirect(adminRoute);
|
|
37
|
+
}
|
|
38
|
+
if (!dbHasUser && currentRoute !== routeWithAdmin && !disableLocalStrategy) {
|
|
34
39
|
redirect(routeWithAdmin);
|
|
35
40
|
}
|
|
36
41
|
if (dbHasUser && currentRoute === routeWithAdmin) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { WithServerSideProps } from '@payloadcms/ui/shared'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getViewFromConfig } from './getViewFromConfig.js'\n\nexport { generatePageMetadata } from './meta.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18n\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n params,\n searchParams,\n}: {\n config: Promise<SanitizedConfig>\n params: {\n segments: string[]\n }\n searchParams: {\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 currentRoute = `${adminRoute}${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const { DefaultView, initPageOptions, templateClassName, templateType } = getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n searchParams,\n segments,\n })\n\n let dbHasUser = false\n\n if (!DefaultView) {\n notFound()\n }\n\n const initPageResult = await initPage(initPageOptions)\n\n if (initPageResult) {\n dbHasUser = await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc)\n\n const routeWithAdmin = `${adminRoute}${createFirstUserRoute}`\n\n if (!dbHasUser && currentRoute !== routeWithAdmin) {\n redirect(routeWithAdmin)\n }\n\n if (dbHasUser && currentRoute === routeWithAdmin) {\n redirect(adminRoute)\n }\n }\n\n const RenderedView = (\n <WithServerSideProps\n Component={DefaultView}\n serverOnlyProps={\n {\n initPageResult,\n params,\n searchParams,\n } as any\n }\n />\n )\n\n return (\n <Fragment>\n {!templateType && <Fragment>{RenderedView}</Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n searchParams={searchParams}\n user={initPageResult?.req.user}\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: initPageResult.visibleEntities?.collections,\n globals: initPageResult.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </Fragment>\n )\n}\n"],"names":["WithServerSideProps","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","params","searchParams","admin","routes","createFirstUser","createFirstUserRoute","user","userSlug","adminRoute","currentRoute","Array","isArray","segments","join","DefaultView","initPageOptions","templateClassName","templateType","dbHasUser","initPageResult","req","payload","db","findOne","collection","then","doc","routeWithAdmin","RenderedView","Component","serverOnlyProps","className","i18n","locale","permissions","visibleEntities","
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { WithServerSideProps } from '@payloadcms/ui/shared'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getViewFromConfig } from './getViewFromConfig.js'\n\nexport { generatePageMetadata } from './meta.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18n\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n params,\n searchParams,\n}: {\n config: Promise<SanitizedConfig>\n params: {\n segments: string[]\n }\n searchParams: {\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 currentRoute = `${adminRoute}${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const { DefaultView, initPageOptions, templateClassName, templateType } = getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n searchParams,\n segments,\n })\n\n let dbHasUser = false\n\n if (!DefaultView) {\n notFound()\n }\n\n const initPageResult = await initPage(initPageOptions)\n\n if (initPageResult) {\n dbHasUser = await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc)\n\n const routeWithAdmin = `${adminRoute}${createFirstUserRoute}`\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === routeWithAdmin) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== routeWithAdmin && !disableLocalStrategy) {\n redirect(routeWithAdmin)\n }\n\n if (dbHasUser && currentRoute === routeWithAdmin) {\n redirect(adminRoute)\n }\n }\n\n const RenderedView = (\n <WithServerSideProps\n Component={DefaultView}\n serverOnlyProps={\n {\n initPageResult,\n params,\n searchParams,\n } as any\n }\n />\n )\n\n return (\n <Fragment>\n {!templateType && <Fragment>{RenderedView}</Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n searchParams={searchParams}\n user={initPageResult?.req.user}\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: initPageResult.visibleEntities?.collections,\n globals: initPageResult.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </Fragment>\n )\n}\n"],"names":["WithServerSideProps","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","params","searchParams","admin","routes","createFirstUser","createFirstUserRoute","user","userSlug","adminRoute","currentRoute","Array","isArray","segments","join","DefaultView","initPageOptions","templateClassName","templateType","dbHasUser","initPageResult","req","payload","db","findOne","collection","then","doc","routeWithAdmin","collectionConfig","collections","find","slug","disableLocalStrategy","auth","RenderedView","Component","serverOnlyProps","className","i18n","locale","permissions","visibleEntities","globals"],"mappings":";AAIA,SAASA,mBAAmB,QAAQ,wBAAuB;AAC3D,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,qBAAoB;AACvD,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,eAAe,QAAQ,mCAAkC;AAClE,SAASC,eAAe,QAAQ,mCAAkC;AAClE,SAASC,QAAQ,QAAQ,oCAAmC;AAC5D,SAASC,iBAAiB,QAAQ,yBAAwB;AAE1D,SAASC,oBAAoB,QAAQ,YAAW;AAShD,OAAO,MAAMC,WAAW,OAAO,EAC7BC,QAAQC,aAAa,EACrBC,MAAM,EACNC,YAAY,EASb;IACC,MAAMH,SAAS,MAAMC;IAErB,MAAM,EACJG,OAAO,EACLC,QAAQ,EAAEC,iBAAiBC,oBAAoB,EAAE,EACjDC,MAAMC,QAAQ,EACf,EACDJ,QAAQ,EAAED,OAAOM,UAAU,EAAE,EAC9B,GAAGV;IAEJ,MAAMW,eAAe,CAAC,EAAED,WAAW,EAAEE,MAAMC,OAAO,CAACX,OAAOY,QAAQ,IAAI,CAAC,CAAC,EAAEZ,OAAOY,QAAQ,CAACC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;IAE5G,MAAMD,WAAWF,MAAMC,OAAO,CAACX,OAAOY,QAAQ,IAAIZ,OAAOY,QAAQ,GAAG,EAAE;IAEtE,MAAM,EAAEE,WAAW,EAAEC,eAAe,EAAEC,iBAAiB,EAAEC,YAAY,EAAE,GAAGtB,kBAAkB;QAC1Fa;QACAV;QACAW;QACAR;QACAW;IACF;IAEA,IAAIM,YAAY;IAEhB,IAAI,CAACJ,aAAa;QAChB1B;IACF;IAEA,MAAM+B,iBAAiB,MAAMzB,SAASqB;IAEtC,IAAII,gBAAgB;QAClBD,YAAY,MAAMC,gBAAgBC,IAAIC,QAAQC,GAC3CC,QAAQ;YACPC,YAAYjB;YACZa,KAAKD,gBAAgBC;QACvB,IACEK,KAAK,CAACC,MAAQ,CAAC,CAACA;QAEpB,MAAMC,iBAAiB,CAAC,EAAEnB,WAAW,EAAEH,qBAAqB,CAAC;QAE7D,MAAMuB,mBAAmB9B,OAAO+B,WAAW,CAACC,IAAI,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA,SAASxB;QACxE,MAAMyB,uBAAuBJ,kBAAkBK,MAAMD;QAErD,IAAIA,wBAAwBvB,iBAAiBkB,gBAAgB;YAC3DtC,SAASmB;QACX;QAEA,IAAI,CAACU,aAAaT,iBAAiBkB,kBAAkB,CAACK,sBAAsB;YAC1E3C,SAASsC;QACX;QAEA,IAAIT,aAAaT,iBAAiBkB,gBAAgB;YAChDtC,SAASmB;QACX;IACF;IAEA,MAAM0B,6BACJ,KAAC/C;QACCgD,WAAWrB;QACXsB,iBACE;YACEjB;YACAnB;YACAC;QACF;;IAKN,qBACE,MAACV;;YACE,CAAC0B,8BAAgB,KAAC1B;0BAAU2C;;YAC5BjB,iBAAiB,2BAChB,KAACxB;gBAAgB4C,WAAWrB;0BAAoBkB;;YAEjDjB,iBAAiB,2BAChB,KAACzB;gBACC8C,MAAMnB,gBAAgBC,IAAIkB;gBAC1BC,QAAQpB,gBAAgBoB;gBACxBvC,QAAQA;gBACRqB,SAASF,gBAAgBC,IAAIC;gBAC7BmB,aAAarB,gBAAgBqB;gBAC7BvC,cAAcA;gBACdK,MAAMa,gBAAgBC,IAAId;gBAC1BmC,iBAAiB;oBACf,+KAA+K;oBAC/K,2EAA2E;oBAC3EZ,aAAaV,eAAesB,eAAe,EAAEZ;oBAC7Ca,SAASvB,eAAesB,eAAe,EAAEC;gBAC3C;0BAECR;;;;AAKX,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"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 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) return currentRoute === viewRoute\n if (!exact) return viewRoute.startsWith(currentRoute)\n}\n"],"names":["pathToRegexp","isPathMatchingRoute","currentRoute","exact","path","viewPath","sensitive","strict","keys","regex","match","exec","viewRoute","startsWith"],"
|
|
1
|
+
{"version":3,"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 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) return currentRoute === viewRoute\n if (!exact) return viewRoute.startsWith(currentRoute)\n}\n"],"names":["pathToRegexp","isPathMatchingRoute","currentRoute","exact","path","viewPath","sensitive","strict","keys","regex","match","exec","viewRoute","startsWith"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAgB;AAE7C,OAAO,MAAMC,sBAAsB,CAAC,EAClCC,YAAY,EACZC,KAAK,EACLC,MAAMC,QAAQ,EACdC,SAAS,EACTC,MAAM,EAOP;IACC,MAAMC,OAAO,EAAE;IAEf,2EAA2E;IAC3E,4DAA4D;IAC5D,MAAMC,QAAQT,aAAaK,UAAUG,MAAM;QACzCF;QACAC;IACF;IAEA,MAAMG,QAAQD,MAAME,IAAI,CAACT;IACzB,MAAMU,YAAYF,OAAO,CAAC,EAAE,IAAIL;IAEhC,IAAIF,OAAO,OAAOD,iBAAiBU;IACnC,IAAI,CAACT,OAAO,OAAOS,UAAUC,UAAU,CAACX;AAC1C,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Root/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { generateAccountMetadata } from '../Account/index.js'\nimport { generateCreateFirstUserMetadata } from '../CreateFirstUser/index.js'\nimport { generateDashboardMetadata } from '../Dashboard/index.js'\nimport { generateDocumentMetadata } from '../Document/meta.js'\nimport { generateForgotPasswordMetadata } from '../ForgotPassword/index.js'\nimport { generateListMetadata } from '../List/index.js'\nimport { generateLoginMetadata } from '../Login/index.js'\nimport { generateNotFoundMeta } from '../NotFound/meta.js'\nimport { generateResetPasswordMetadata } from '../ResetPassword/index.js'\nimport { generateUnauthorizedMetadata } from '../Unauthorized/index.js'\nimport { generateVerifyMetadata } from '../Verify/index.js'\n\nconst oneSegmentMeta = {\n 'create-first-user': generateCreateFirstUserMetadata,\n forgot: generateForgotPasswordMetadata,\n login: generateLoginMetadata,\n logout: generateUnauthorizedMetadata,\n 'logout-inactivity': generateUnauthorizedMetadata,\n unauthorized: generateUnauthorizedMetadata,\n}\n\ntype Args = {\n config: Promise<SanitizedConfig>\n params: {\n [key: string]: string | string[]\n }\n searchParams: {\n [key: string]: string | string[]\n }\n}\n\nexport const generatePageMetadata = async ({ config: configPromise, params }: Args) => {\n const config = await configPromise\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const [segmentOne, segmentTwo] = 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 generateDashboardMetadata({ config, i18n })\n break\n }\n case 1: {\n if (oneSegmentMeta[segmentOne] && segmentOne !== 'account') {\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 } else if (segmentOne === 'account') {\n // --> /account\n meta = await generateAccountMetadata({ config, i18n })\n break\n }\n break\n }\n case 2: {\n if (segmentOne === 'reset') {\n // --> /reset/:token\n meta = await generateResetPasswordMetadata({ config, i18n })\n }\n if (isCollection) {\n // --> /collections/:collectionSlug\n meta = await generateListMetadata({ collectionConfig, config, i18n })\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n meta = await generateDocumentMetadata({\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 generateVerifyMetadata({ config, i18n })\n } else if (isCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:version\n // --> /collections/:collectionSlug/:id/api\n meta = await generateDocumentMetadata({ collectionConfig, config, i18n, params })\n } else if (isGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:version\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/api\n meta = await generateDocumentMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n }\n\n if (!meta) {\n meta = await generateNotFoundMeta({ config, i18n })\n }\n\n return meta\n}\n"],"names":["getNextRequestI18n","generateAccountMetadata","generateCreateFirstUserMetadata","generateDashboardMetadata","generateDocumentMetadata","generateForgotPasswordMetadata","generateListMetadata","generateLoginMetadata","generateNotFoundMeta","generateResetPasswordMetadata","generateUnauthorizedMetadata","generateVerifyMetadata","oneSegmentMeta","forgot","login","logout","unauthorized","generatePageMetadata","config","configPromise","params","segments","Array","isArray","segmentOne","segmentTwo","isGlobal","isCollection","i18n","meta","collectionConfig","length","collections","find","collection","slug","globalConfig","globals","global"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Root/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { generateAccountMetadata } from '../Account/index.js'\nimport { generateCreateFirstUserMetadata } from '../CreateFirstUser/index.js'\nimport { generateDashboardMetadata } from '../Dashboard/index.js'\nimport { generateDocumentMetadata } from '../Document/meta.js'\nimport { generateForgotPasswordMetadata } from '../ForgotPassword/index.js'\nimport { generateListMetadata } from '../List/index.js'\nimport { generateLoginMetadata } from '../Login/index.js'\nimport { generateNotFoundMeta } from '../NotFound/meta.js'\nimport { generateResetPasswordMetadata } from '../ResetPassword/index.js'\nimport { generateUnauthorizedMetadata } from '../Unauthorized/index.js'\nimport { generateVerifyMetadata } from '../Verify/index.js'\n\nconst oneSegmentMeta = {\n 'create-first-user': generateCreateFirstUserMetadata,\n forgot: generateForgotPasswordMetadata,\n login: generateLoginMetadata,\n logout: generateUnauthorizedMetadata,\n 'logout-inactivity': generateUnauthorizedMetadata,\n unauthorized: generateUnauthorizedMetadata,\n}\n\ntype Args = {\n config: Promise<SanitizedConfig>\n params: {\n [key: string]: string | string[]\n }\n searchParams: {\n [key: string]: string | string[]\n }\n}\n\nexport const generatePageMetadata = async ({ config: configPromise, params }: Args) => {\n const config = await configPromise\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const [segmentOne, segmentTwo] = 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 generateDashboardMetadata({ config, i18n })\n break\n }\n case 1: {\n if (oneSegmentMeta[segmentOne] && segmentOne !== 'account') {\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 } else if (segmentOne === 'account') {\n // --> /account\n meta = await generateAccountMetadata({ config, i18n })\n break\n }\n break\n }\n case 2: {\n if (segmentOne === 'reset') {\n // --> /reset/:token\n meta = await generateResetPasswordMetadata({ config, i18n })\n }\n if (isCollection) {\n // --> /collections/:collectionSlug\n meta = await generateListMetadata({ collectionConfig, config, i18n })\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n meta = await generateDocumentMetadata({\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 generateVerifyMetadata({ config, i18n })\n } else if (isCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:version\n // --> /collections/:collectionSlug/:id/api\n meta = await generateDocumentMetadata({ collectionConfig, config, i18n, params })\n } else if (isGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:version\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/api\n meta = await generateDocumentMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n }\n\n if (!meta) {\n meta = await generateNotFoundMeta({ config, i18n })\n }\n\n return meta\n}\n"],"names":["getNextRequestI18n","generateAccountMetadata","generateCreateFirstUserMetadata","generateDashboardMetadata","generateDocumentMetadata","generateForgotPasswordMetadata","generateListMetadata","generateLoginMetadata","generateNotFoundMeta","generateResetPasswordMetadata","generateUnauthorizedMetadata","generateVerifyMetadata","oneSegmentMeta","forgot","login","logout","unauthorized","generatePageMetadata","config","configPromise","params","segments","Array","isArray","segmentOne","segmentTwo","isGlobal","isCollection","i18n","meta","collectionConfig","length","collections","find","collection","slug","globalConfig","globals","global"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Unauthorized/index.tsx"],"sourcesContent":["import type { AdminViewComponent } from 'payload'\n\nimport { Button, Gutter } from '@payloadcms/ui'\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nimport './index.scss'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport { generateUnauthorizedMetadata } from './meta.js'\n\nconst baseClass = 'unauthorized'\n\nexport const UnauthorizedView: AdminViewComponent = ({ initPageResult }) => {\n const {\n req: {\n i18n,\n payload: {\n config: {\n admin: {\n routes: { logout: logoutRoute },\n },\n },\n },\n },\n } = initPageResult\n\n return (\n <Gutter className={baseClass}>\n <h2>{i18n.t('error:unauthorized')}</h2>\n <p>{i18n.t('error:notAllowedToAccessPage')}</p>\n <Button Link={Link} className={`${baseClass}__button`} el=\"link\" to={logoutRoute}>\n {i18n.t('authentication:logOut')}\n </Button>\n </Gutter>\n )\n}\n"],"names":["Button","Gutter","LinkImport","React","Link","default","generateUnauthorizedMetadata","baseClass","UnauthorizedView","initPageResult","req","i18n","payload","config","admin","routes","logout","logoutRoute","className","h2","t","p","el","to"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Unauthorized/index.tsx"],"sourcesContent":["import type { AdminViewComponent } from 'payload'\n\nimport { Button, Gutter } from '@payloadcms/ui'\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nimport './index.scss'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport { generateUnauthorizedMetadata } from './meta.js'\n\nconst baseClass = 'unauthorized'\n\nexport const UnauthorizedView: AdminViewComponent = ({ initPageResult }) => {\n const {\n req: {\n i18n,\n payload: {\n config: {\n admin: {\n routes: { logout: logoutRoute },\n },\n },\n },\n },\n } = initPageResult\n\n return (\n <Gutter className={baseClass}>\n <h2>{i18n.t('error:unauthorized')}</h2>\n <p>{i18n.t('error:notAllowedToAccessPage')}</p>\n <Button Link={Link} className={`${baseClass}__button`} el=\"link\" to={logoutRoute}>\n {i18n.t('authentication:logOut')}\n </Button>\n </Gutter>\n )\n}\n"],"names":["Button","Gutter","LinkImport","React","Link","default","generateUnauthorizedMetadata","baseClass","UnauthorizedView","initPageResult","req","i18n","payload","config","admin","routes","logout","logoutRoute","className","h2","t","p","el","to"],"mappings":";AAEA,SAASA,MAAM,EAAEC,MAAM,QAAQ,iBAAgB;AAC/C,OAAOC,gBAAgB,eAAc;AACrC,OAAOC,WAAW,QAAO;AAIzB,MAAMC,OAAQF,WAAWG,OAAO,IAAIH;AAEpC,SAASI,4BAA4B,QAAQ,YAAW;AAExD,MAAMC,YAAY;AAElB,OAAO,MAAMC,mBAAuC,CAAC,EAAEC,cAAc,EAAE;IACrE,MAAM,EACJC,KAAK,EACHC,IAAI,EACJC,SAAS,EACPC,QAAQ,EACNC,OAAO,EACLC,QAAQ,EAAEC,QAAQC,WAAW,EAAE,EAChC,EACF,EACF,EACF,EACF,GAAGR;IAEJ,qBACE,MAACR;QAAOiB,WAAWX;;0BACjB,KAACY;0BAAIR,KAAKS,CAAC,CAAC;;0BACZ,KAACC;0BAAGV,KAAKS,CAAC,CAAC;;0BACX,KAACpB;gBAAOI,MAAMA;gBAAMc,WAAW,CAAC,EAAEX,UAAU,QAAQ,CAAC;gBAAEe,IAAG;gBAAOC,IAAIN;0BAClEN,KAAKS,CAAC,CAAC;;;;AAIhB,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Unauthorized/meta.ts"],"sourcesContent":["import type { GenerateViewMetadata } from '../Root/index.js'\n\nimport { meta } from '../../utilities/meta.js'\n\nexport const generateUnauthorizedMetadata: GenerateViewMetadata = async ({ config, i18n: { t } }) =>\n meta({\n description: t('error:unauthorized'),\n keywords: t('error:unauthorized'),\n serverURL: config.serverURL,\n title: t('error:unauthorized'),\n ...(config.admin.meta || {}),\n })\n"],"names":["meta","generateUnauthorizedMetadata","config","i18n","t","description","keywords","serverURL","title","admin"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Unauthorized/meta.ts"],"sourcesContent":["import type { GenerateViewMetadata } from '../Root/index.js'\n\nimport { meta } from '../../utilities/meta.js'\n\nexport const generateUnauthorizedMetadata: GenerateViewMetadata = async ({ config, i18n: { t } }) =>\n meta({\n description: t('error:unauthorized'),\n keywords: t('error:unauthorized'),\n serverURL: config.serverURL,\n title: t('error:unauthorized'),\n ...(config.admin.meta || {}),\n })\n"],"names":["meta","generateUnauthorizedMetadata","config","i18n","t","description","keywords","serverURL","title","admin"],"mappings":"AAEA,SAASA,IAAI,QAAQ,0BAAyB;AAE9C,OAAO,MAAMC,+BAAqD,OAAO,EAAEC,MAAM,EAAEC,MAAM,EAAEC,CAAC,EAAE,EAAE,GAC9FJ,KAAK;QACHK,aAAaD,EAAE;QACfE,UAAUF,EAAE;QACZG,WAAWL,OAAOK,SAAS;QAC3BC,OAAOJ,EAAE;QACT,GAAIF,OAAOO,KAAK,CAACT,IAAI,IAAI,CAAC,CAAC;IAC7B,GAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Verify/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { redirect } from 'next/navigation.js'\nimport React from 'react'\n\nimport { Logo } from '../../elements/Logo/index.js'\nimport './index.scss'\n\nexport const verifyBaseClass = 'verify'\n\nexport { generateVerifyMetadata } from './meta.js'\n\nexport const Verify: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n // /:collectionSlug/verify/:token\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [collectionSlug, verify, token] = params.segments\n const { locale, permissions, req } = initPageResult\n\n const {\n i18n,\n payload: { config },\n payload,\n user,\n } = req\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n let textToRender\n\n try {\n await req.payload.verifyEmail({\n collection: collectionSlug,\n token,\n })\n\n return redirect(`${adminRoute}/login`)\n } catch (e) {\n // already verified\n if (e?.status === 202) redirect(`${adminRoute}/login`)\n textToRender = req.t('authentication:unableToVerify')\n }\n\n return (\n <React.Fragment>\n <div className={`${verifyBaseClass}__brand`}>\n <Logo\n i18n={i18n}\n locale={locale}\n params={params}\n payload={payload}\n permissions={permissions}\n searchParams={searchParams}\n user={user}\n />\n </div>\n <h2>{textToRender}</h2>\n </React.Fragment>\n )\n}\n"],"names":["redirect","React","Logo","verifyBaseClass","generateVerifyMetadata","Verify","initPageResult","params","searchParams","collectionSlug","verify","token","segments","locale","permissions","req","i18n","payload","config","user","routes","admin","adminRoute","textToRender","verifyEmail","collection","e","status","t","Fragment","div","className","h2"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Verify/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { redirect } from 'next/navigation.js'\nimport React from 'react'\n\nimport { Logo } from '../../elements/Logo/index.js'\nimport './index.scss'\n\nexport const verifyBaseClass = 'verify'\n\nexport { generateVerifyMetadata } from './meta.js'\n\nexport const Verify: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n // /:collectionSlug/verify/:token\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [collectionSlug, verify, token] = params.segments\n const { locale, permissions, req } = initPageResult\n\n const {\n i18n,\n payload: { config },\n payload,\n user,\n } = req\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n let textToRender\n\n try {\n await req.payload.verifyEmail({\n collection: collectionSlug,\n token,\n })\n\n return redirect(`${adminRoute}/login`)\n } catch (e) {\n // already verified\n if (e?.status === 202) redirect(`${adminRoute}/login`)\n textToRender = req.t('authentication:unableToVerify')\n }\n\n return (\n <React.Fragment>\n <div className={`${verifyBaseClass}__brand`}>\n <Logo\n i18n={i18n}\n locale={locale}\n params={params}\n payload={payload}\n permissions={permissions}\n searchParams={searchParams}\n user={user}\n />\n </div>\n <h2>{textToRender}</h2>\n </React.Fragment>\n )\n}\n"],"names":["redirect","React","Logo","verifyBaseClass","generateVerifyMetadata","Verify","initPageResult","params","searchParams","collectionSlug","verify","token","segments","locale","permissions","req","i18n","payload","config","user","routes","admin","adminRoute","textToRender","verifyEmail","collection","e","status","t","Fragment","div","className","h2"],"mappings":";AAEA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,WAAW,QAAO;AAEzB,SAASC,IAAI,QAAQ,+BAA8B;AAGnD,OAAO,MAAMC,kBAAkB,SAAQ;AAEvC,SAASC,sBAAsB,QAAQ,YAAW;AAElD,OAAO,MAAMC,SAAmC,OAAO,EACrDC,cAAc,EACdC,MAAM,EACNC,YAAY,EACb;IACC,iCAAiC;IACjC,6DAA6D;IAC7D,MAAM,CAACC,gBAAgBC,QAAQC,MAAM,GAAGJ,OAAOK,QAAQ;IACvD,MAAM,EAAEC,MAAM,EAAEC,WAAW,EAAEC,GAAG,EAAE,GAAGT;IAErC,MAAM,EACJU,IAAI,EACJC,SAAS,EAAEC,MAAM,EAAE,EACnBD,OAAO,EACPE,IAAI,EACL,GAAGJ;IAEJ,MAAM,EACJK,QAAQ,EAAEC,OAAOC,UAAU,EAAE,EAC9B,GAAGJ;IAEJ,IAAIK;IAEJ,IAAI;QACF,MAAMR,IAAIE,OAAO,CAACO,WAAW,CAAC;YAC5BC,YAAYhB;YACZE;QACF;QAEA,OAAOX,SAAS,CAAC,EAAEsB,WAAW,MAAM,CAAC;IACvC,EAAE,OAAOI,GAAG;QACV,mBAAmB;QACnB,IAAIA,GAAGC,WAAW,KAAK3B,SAAS,CAAC,EAAEsB,WAAW,MAAM,CAAC;QACrDC,eAAeR,IAAIa,CAAC,CAAC;IACvB;IAEA,qBACE,MAAC3B,MAAM4B,QAAQ;;0BACb,KAACC;gBAAIC,WAAW,CAAC,EAAE5B,gBAAgB,OAAO,CAAC;0BACzC,cAAA,KAACD;oBACCc,MAAMA;oBACNH,QAAQA;oBACRN,QAAQA;oBACRU,SAASA;oBACTH,aAAaA;oBACbN,cAAcA;oBACdW,MAAMA;;;0BAGV,KAACa;0BAAIT;;;;AAGX,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Verify/meta.ts"],"sourcesContent":["import type { GenerateViewMetadata } from '../Root/index.js'\n\nimport { meta } from '../../utilities/meta.js'\n\nexport const generateVerifyMetadata: GenerateViewMetadata = async ({ config, i18n: { t } }) =>\n meta({\n description: t('authentication:verifyUser'),\n keywords: t('authentication:verify'),\n serverURL: config.serverURL,\n title: t('authentication:verify'),\n ...(config.admin.meta || {}),\n })\n"],"names":["meta","generateVerifyMetadata","config","i18n","t","description","keywords","serverURL","title","admin"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Verify/meta.ts"],"sourcesContent":["import type { GenerateViewMetadata } from '../Root/index.js'\n\nimport { meta } from '../../utilities/meta.js'\n\nexport const generateVerifyMetadata: GenerateViewMetadata = async ({ config, i18n: { t } }) =>\n meta({\n description: t('authentication:verifyUser'),\n keywords: t('authentication:verify'),\n serverURL: config.serverURL,\n title: t('authentication:verify'),\n ...(config.admin.meta || {}),\n })\n"],"names":["meta","generateVerifyMetadata","config","i18n","t","description","keywords","serverURL","title","admin"],"mappings":"AAEA,SAASA,IAAI,QAAQ,0BAAyB;AAE9C,OAAO,MAAMC,yBAA+C,OAAO,EAAEC,MAAM,EAAEC,MAAM,EAAEC,CAAC,EAAE,EAAE,GACxFJ,KAAK;QACHK,aAAaD,EAAE;QACfE,UAAUF,EAAE;QACZG,WAAWL,OAAOK,SAAS;QAC3BC,OAAOJ,EAAE;QACT,GAAIF,OAAOO,KAAK,CAACT,IAAI,IAAI,CAAC,CAAC;IAC7B,GAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"sourcesContent":["import type { StepNavItem } from '@payloadcms/ui'\nimport type { FieldMap } from '@payloadcms/ui/utilities/buildComponentMap'\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\nimport type React from 'react'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig, useLocale, useStepNav, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { useEffect } from 'react'\n\nexport const SetStepNav: React.FC<{\n collectionConfig?: ClientCollectionConfig\n collectionSlug?: string\n doc: any\n fieldMap: FieldMap\n globalConfig?: ClientGlobalConfig\n globalSlug?: string\n id?: number | string\n mostRecentDoc: any\n}> = ({\n id,\n collectionConfig,\n collectionSlug,\n doc,\n fieldMap,\n globalConfig,\n globalSlug,\n mostRecentDoc,\n}) => {\n const config = useConfig()\n const { setStepNav } = useStepNav()\n const { i18n, t } = useTranslation()\n const locale = useLocale()\n\n useEffect(() => {\n let nav: StepNavItem[] = []\n\n const {\n admin: { dateFormat },\n routes: { admin: adminRoute },\n } = config\n\n if (collectionSlug) {\n let docLabel = ''\n\n const useAsTitle = collectionConfig?.admin?.useAsTitle || 'id'\n const pluralLabel = collectionConfig?.labels?.plural\n\n if (mostRecentDoc) {\n if (useAsTitle !== 'id') {\n const titleField = fieldMap.find((f) => {\n const { isFieldAffectingData } = f\n const fieldName = 'name' in f ? f.name : undefined\n return Boolean(isFieldAffectingData && fieldName === useAsTitle)\n })\n\n if (titleField && mostRecentDoc[useAsTitle]) {\n if (titleField.localized) {\n docLabel = mostRecentDoc[useAsTitle]?.[locale.code]\n } else {\n docLabel = mostRecentDoc[useAsTitle]\n }\n } else {\n docLabel = `[${t('general:untitled')}]`\n }\n } else {\n docLabel = mostRecentDoc.id\n }\n }\n\n nav = [\n {\n label: getTranslation(pluralLabel, i18n),\n url: `${adminRoute}/collections/${collectionSlug}`,\n },\n {\n label: docLabel,\n url: `${adminRoute}/collections/${collectionSlug}/${id}`,\n },\n {\n label: 'Versions',\n url: `${adminRoute}/collections/${collectionSlug}/${id}/versions`,\n },\n {\n label: doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: dateFormat })\n : '',\n },\n ]\n }\n\n if (globalSlug) {\n nav = [\n {\n label: globalConfig.label,\n url: `${adminRoute}/globals/${globalConfig.slug}`,\n },\n {\n label: 'Versions',\n url: `${adminRoute}/globals/${globalConfig.slug}/versions`,\n },\n {\n label: doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: dateFormat })\n : '',\n },\n ]\n }\n\n setStepNav(nav)\n }, [\n config,\n setStepNav,\n collectionSlug,\n globalSlug,\n doc,\n mostRecentDoc,\n id,\n locale,\n t,\n i18n,\n collectionConfig,\n fieldMap,\n globalConfig,\n ])\n\n return null\n}\n"],"names":["getTranslation","useConfig","useLocale","useStepNav","useTranslation","formatDate","useEffect","SetStepNav","id","collectionConfig","collectionSlug","doc","fieldMap","globalConfig","globalSlug","mostRecentDoc","config","setStepNav","i18n","t","locale","nav","admin","dateFormat","routes","adminRoute","docLabel","useAsTitle","pluralLabel","labels","plural","titleField","find","f","isFieldAffectingData","fieldName","name","undefined","Boolean","localized","code","label","url","createdAt","date","pattern","slug"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"sourcesContent":["import type { StepNavItem } from '@payloadcms/ui'\nimport type { FieldMap } from '@payloadcms/ui/utilities/buildComponentMap'\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\nimport type React from 'react'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig, useLocale, useStepNav, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { useEffect } from 'react'\n\nexport const SetStepNav: React.FC<{\n collectionConfig?: ClientCollectionConfig\n collectionSlug?: string\n doc: any\n fieldMap: FieldMap\n globalConfig?: ClientGlobalConfig\n globalSlug?: string\n id?: number | string\n mostRecentDoc: any\n}> = ({\n id,\n collectionConfig,\n collectionSlug,\n doc,\n fieldMap,\n globalConfig,\n globalSlug,\n mostRecentDoc,\n}) => {\n const config = useConfig()\n const { setStepNav } = useStepNav()\n const { i18n, t } = useTranslation()\n const locale = useLocale()\n\n useEffect(() => {\n let nav: StepNavItem[] = []\n\n const {\n admin: { dateFormat },\n routes: { admin: adminRoute },\n } = config\n\n if (collectionSlug) {\n let docLabel = ''\n\n const useAsTitle = collectionConfig?.admin?.useAsTitle || 'id'\n const pluralLabel = collectionConfig?.labels?.plural\n\n if (mostRecentDoc) {\n if (useAsTitle !== 'id') {\n const titleField = fieldMap.find((f) => {\n const { isFieldAffectingData } = f\n const fieldName = 'name' in f ? f.name : undefined\n return Boolean(isFieldAffectingData && fieldName === useAsTitle)\n })\n\n if (titleField && mostRecentDoc[useAsTitle]) {\n if (titleField.localized) {\n docLabel = mostRecentDoc[useAsTitle]?.[locale.code]\n } else {\n docLabel = mostRecentDoc[useAsTitle]\n }\n } else {\n docLabel = `[${t('general:untitled')}]`\n }\n } else {\n docLabel = mostRecentDoc.id\n }\n }\n\n nav = [\n {\n label: getTranslation(pluralLabel, i18n),\n url: `${adminRoute}/collections/${collectionSlug}`,\n },\n {\n label: docLabel,\n url: `${adminRoute}/collections/${collectionSlug}/${id}`,\n },\n {\n label: 'Versions',\n url: `${adminRoute}/collections/${collectionSlug}/${id}/versions`,\n },\n {\n label: doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: dateFormat })\n : '',\n },\n ]\n }\n\n if (globalSlug) {\n nav = [\n {\n label: globalConfig.label,\n url: `${adminRoute}/globals/${globalConfig.slug}`,\n },\n {\n label: 'Versions',\n url: `${adminRoute}/globals/${globalConfig.slug}/versions`,\n },\n {\n label: doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: dateFormat })\n : '',\n },\n ]\n }\n\n setStepNav(nav)\n }, [\n config,\n setStepNav,\n collectionSlug,\n globalSlug,\n doc,\n mostRecentDoc,\n id,\n locale,\n t,\n i18n,\n collectionConfig,\n fieldMap,\n globalConfig,\n ])\n\n return null\n}\n"],"names":["getTranslation","useConfig","useLocale","useStepNav","useTranslation","formatDate","useEffect","SetStepNav","id","collectionConfig","collectionSlug","doc","fieldMap","globalConfig","globalSlug","mostRecentDoc","config","setStepNav","i18n","t","locale","nav","admin","dateFormat","routes","adminRoute","docLabel","useAsTitle","pluralLabel","labels","plural","titleField","find","f","isFieldAffectingData","fieldName","name","undefined","Boolean","localized","code","label","url","createdAt","date","pattern","slug"],"mappings":"AAKA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,SAAS,EAAEC,SAAS,EAAEC,UAAU,EAAEC,cAAc,QAAQ,iBAAgB;AACjF,SAASC,UAAU,QAAQ,wBAAuB;AAClD,SAASC,SAAS,QAAQ,QAAO;AAEjC,OAAO,MAAMC,aASR,CAAC,EACJC,EAAE,EACFC,gBAAgB,EAChBC,cAAc,EACdC,GAAG,EACHC,QAAQ,EACRC,YAAY,EACZC,UAAU,EACVC,aAAa,EACd;IACC,MAAMC,SAASf;IACf,MAAM,EAAEgB,UAAU,EAAE,GAAGd;IACvB,MAAM,EAAEe,IAAI,EAAEC,CAAC,EAAE,GAAGf;IACpB,MAAMgB,SAASlB;IAEfI,UAAU;QACR,IAAIe,MAAqB,EAAE;QAE3B,MAAM,EACJC,OAAO,EAAEC,UAAU,EAAE,EACrBC,QAAQ,EAAEF,OAAOG,UAAU,EAAE,EAC9B,GAAGT;QAEJ,IAAIN,gBAAgB;YAClB,IAAIgB,WAAW;YAEf,MAAMC,aAAalB,kBAAkBa,OAAOK,cAAc;YAC1D,MAAMC,cAAcnB,kBAAkBoB,QAAQC;YAE9C,IAAIf,eAAe;gBACjB,IAAIY,eAAe,MAAM;oBACvB,MAAMI,aAAanB,SAASoB,IAAI,CAAC,CAACC;wBAChC,MAAM,EAAEC,oBAAoB,EAAE,GAAGD;wBACjC,MAAME,YAAY,UAAUF,IAAIA,EAAEG,IAAI,GAAGC;wBACzC,OAAOC,QAAQJ,wBAAwBC,cAAcR;oBACvD;oBAEA,IAAII,cAAchB,aAAa,CAACY,WAAW,EAAE;wBAC3C,IAAII,WAAWQ,SAAS,EAAE;4BACxBb,WAAWX,aAAa,CAACY,WAAW,EAAE,CAACP,OAAOoB,IAAI,CAAC;wBACrD,OAAO;4BACLd,WAAWX,aAAa,CAACY,WAAW;wBACtC;oBACF,OAAO;wBACLD,WAAW,CAAC,CAAC,EAAEP,EAAE,oBAAoB,CAAC,CAAC;oBACzC;gBACF,OAAO;oBACLO,WAAWX,cAAcP,EAAE;gBAC7B;YACF;YAEAa,MAAM;gBACJ;oBACEoB,OAAOzC,eAAe4B,aAAaV;oBACnCwB,KAAK,CAAC,EAAEjB,WAAW,aAAa,EAAEf,eAAe,CAAC;gBACpD;gBACA;oBACE+B,OAAOf;oBACPgB,KAAK,CAAC,EAAEjB,WAAW,aAAa,EAAEf,eAAe,CAAC,EAAEF,GAAG,CAAC;gBAC1D;gBACA;oBACEiC,OAAO;oBACPC,KAAK,CAAC,EAAEjB,WAAW,aAAa,EAAEf,eAAe,CAAC,EAAEF,GAAG,SAAS,CAAC;gBACnE;gBACA;oBACEiC,OAAO9B,KAAKgC,YACRtC,WAAW;wBAAEuC,MAAMjC,IAAIgC,SAAS;wBAAEzB;wBAAM2B,SAAStB;oBAAW,KAC5D;gBACN;aACD;QACH;QAEA,IAAIT,YAAY;YACdO,MAAM;gBACJ;oBACEoB,OAAO5B,aAAa4B,KAAK;oBACzBC,KAAK,CAAC,EAAEjB,WAAW,SAAS,EAAEZ,aAAaiC,IAAI,CAAC,CAAC;gBACnD;gBACA;oBACEL,OAAO;oBACPC,KAAK,CAAC,EAAEjB,WAAW,SAAS,EAAEZ,aAAaiC,IAAI,CAAC,SAAS,CAAC;gBAC5D;gBACA;oBACEL,OAAO9B,KAAKgC,YACRtC,WAAW;wBAAEuC,MAAMjC,IAAIgC,SAAS;wBAAEzB;wBAAM2B,SAAStB;oBAAW,KAC5D;gBACN;aACD;QACH;QAEAN,WAAWI;IACb,GAAG;QACDL;QACAC;QACAP;QACAI;QACAH;QACAI;QACAP;QACAY;QACAD;QACAD;QACAT;QACAG;QACAC;KACD;IAED,OAAO;AACT,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject } from 'payload'\n\nimport {\n Gutter,\n SetViewActions,\n useComponentMap,\n useConfig,\n useDocumentInfo,\n usePayloadAPI,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport React, { useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport diffComponents from '../RenderFieldsToDiff/fields/index.js'\nimport RenderFieldsToDiff from '../RenderFieldsToDiff/index.js'\nimport Restore from '../Restore/index.js'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { SelectLocales } from '../SelectLocales/index.js'\nimport { mostRecentVersionOption } from '../shared.js'\nimport { SetStepNav } from './SetStepNav.js'\nimport './index.scss'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n doc,\n docPermissions,\n initialComparisonDoc,\n localeOptions,\n mostRecentDoc,\n publishedDoc,\n versionID,\n}) => {\n const config = useConfig()\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const { getComponentMap, getFieldMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug, globalSlug })\n\n const [fieldMap] = useState(() => getFieldMap({ collectionSlug, globalSlug }))\n\n const [collectionConfig] = useState(() =>\n config.collections.find((collection) => collection.slug === collectionSlug),\n )\n\n const [globalConfig] = useState(() => config.globals.find((global) => global.slug === globalSlug))\n\n const [locales, setLocales] = useState<OptionObject[]>(localeOptions)\n const [compareValue, setCompareValue] = useState<CompareOption>(mostRecentVersionOption)\n\n const {\n admin: { dateFormat },\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const formattedCreatedAt = doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: dateFormat })\n : ''\n\n const originalDocFetchURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }${collectionSlug ? `/${id}` : ''}`\n\n const compareBaseURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }/versions`\n\n const compareFetchURL =\n compareValue?.value === 'mostRecent' || compareValue?.value === 'published'\n ? originalDocFetchURL\n : `${compareBaseURL}/${compareValue.value}`\n\n const [{ data: currentComparisonDoc }] = usePayloadAPI(compareFetchURL, {\n initialData: initialComparisonDoc,\n initialParams: { depth: 1, draft: 'true', locale: '*' },\n })\n\n const comparison =\n compareValue?.value === 'mostRecent'\n ? mostRecentDoc\n : compareValue?.value === 'published'\n ? publishedDoc\n : currentComparisonDoc?.version // the `version` key is only present on `versions` documents\n\n const canUpdate = docPermissions?.update?.permission\n\n return (\n <main className={baseClass}>\n <SetViewActions actions={componentMap?.actionsMap?.Edit?.Version} />\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fieldMap={fieldMap}\n globalConfig={globalConfig}\n globalSlug={globalSlug}\n id={id}\n mostRecentDoc={mostRecentDoc}\n />\n <Gutter className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__header-wrap`}>\n <p className={`${baseClass}__created-at`}>\n {i18n.t('version:versionCreatedOn', {\n version: i18n.t(doc?.autosave ? 'version:autosavedVersion' : 'version:version'),\n })}\n </p>\n <header className={`${baseClass}__header`}>\n <h2>{formattedCreatedAt}</h2>\n {canUpdate && (\n <Restore\n className={`${baseClass}__restore`}\n collectionSlug={collectionSlug}\n globalSlug={globalSlug}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={id}\n versionDate={formattedCreatedAt}\n versionID={versionID}\n />\n )}\n </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\n onChange={setCompareValue}\n parentID={id}\n publishedDoc={publishedDoc}\n value={compareValue}\n versionID={versionID}\n />\n {localization && (\n <SelectLocales onChange={setLocales} options={localeOptions} value={locales} />\n )}\n </div>\n {doc?.version && (\n <RenderFieldsToDiff\n comparison={comparison}\n diffComponents={diffComponents}\n fieldMap={fieldMap}\n fieldPermissions={docPermissions?.fields}\n i18n={i18n}\n locales={\n locales\n ? locales.map(({ label }) => (typeof label === 'string' ? label : undefined))\n : []\n }\n version={\n globalConfig\n ? {\n ...doc?.version,\n createdAt: doc?.version?.createdAt || doc.createdAt,\n updatedAt: doc?.version?.updatedAt || doc.updatedAt,\n }\n : doc?.version\n }\n />\n )}\n </Gutter>\n </main>\n )\n}\n"],"names":["Gutter","SetViewActions","useComponentMap","useConfig","useDocumentInfo","usePayloadAPI","useTranslation","formatDate","React","useState","diffComponents","RenderFieldsToDiff","Restore","SelectComparison","SelectLocales","mostRecentVersionOption","SetStepNav","baseClass","DefaultVersionView","doc","docPermissions","initialComparisonDoc","localeOptions","mostRecentDoc","publishedDoc","versionID","config","i18n","id","collectionSlug","globalSlug","getComponentMap","getFieldMap","componentMap","fieldMap","collectionConfig","collections","find","collection","slug","globalConfig","globals","global","locales","setLocales","compareValue","setCompareValue","admin","dateFormat","localization","routes","api","apiRoute","serverURL","formattedCreatedAt","createdAt","date","pattern","originalDocFetchURL","compareBaseURL","compareFetchURL","value","data","currentComparisonDoc","initialData","initialParams","depth","draft","locale","comparison","version","canUpdate","update","permission","main","className","actions","actionsMap","Edit","Version","div","p","t","autosave","header","h2","label","labels","singular","originalDocID","versionDate","baseURL","onChange","parentID","options","fieldPermissions","fields","map","undefined","updatedAt"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAGA,SACEA,MAAM,EACNC,cAAc,EACdC,eAAe,EACfC,SAAS,EACTC,eAAe,EACfC,aAAa,EACbC,cAAc,QACT,iBAAgB;AACvB,SAASC,UAAU,QAAQ,wBAAuB;AAClD,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAIvC,OAAOC,oBAAoB,wCAAuC;AAClE,OAAOC,wBAAwB,iCAAgC;AAC/D,OAAOC,aAAa,sBAAqB;AACzC,SAASC,gBAAgB,QAAQ,+BAA8B;AAC/D,SAASC,aAAa,QAAQ,4BAA2B;AACzD,SAASC,uBAAuB,QAAQ,eAAc;AACtD,SAASC,UAAU,QAAQ,kBAAiB;AAG5C,MAAMC,YAAY;AAElB,OAAO,MAAMC,qBAAyD,CAAC,EACrEC,GAAG,EACHC,cAAc,EACdC,oBAAoB,EACpBC,aAAa,EACbC,aAAa,EACbC,YAAY,EACZC,SAAS,EACV;IACC,MAAMC,SAASvB;IAEf,MAAM,EAAEwB,IAAI,EAAE,GAAGrB;IACjB,MAAM,EAAEsB,EAAE,EAAEC,cAAc,EAAEC,UAAU,EAAE,GAAG1B;IAE3C,MAAM,EAAE2B,eAAe,EAAEC,WAAW,EAAE,GAAG9B;IAEzC,MAAM+B,eAAeF,gBAAgB;QAAEF;QAAgBC;IAAW;IAElE,MAAM,CAACI,SAAS,GAAGzB,SAAS,IAAMuB,YAAY;YAAEH;YAAgBC;QAAW;IAE3E,MAAM,CAACK,iBAAiB,GAAG1B,SAAS,IAClCiB,OAAOU,WAAW,CAACC,IAAI,CAAC,CAACC,aAAeA,WAAWC,IAAI,KAAKV;IAG9D,MAAM,CAACW,aAAa,GAAG/B,SAAS,IAAMiB,OAAOe,OAAO,CAACJ,IAAI,CAAC,CAACK,SAAWA,OAAOH,IAAI,KAAKT;IAEtF,MAAM,CAACa,SAASC,WAAW,GAAGnC,SAAyBa;IACvD,MAAM,CAACuB,cAAcC,gBAAgB,GAAGrC,SAAwBM;IAEhE,MAAM,EACJgC,OAAO,EAAEC,UAAU,EAAE,EACrBC,YAAY,EACZC,QAAQ,EAAEC,KAAKC,QAAQ,EAAE,EACzBC,SAAS,EACV,GAAG3B;IAEJ,MAAM4B,qBAAqBnC,KAAKoC,YAC5BhD,WAAW;QAAEiD,MAAMrC,IAAIoC,SAAS;QAAE5B;QAAM8B,SAAST;IAAW,KAC5D;IAEJ,MAAMU,sBAAsB,CAAC,EAAEL,UAAU,EAAED,SAAS,CAAC,EAAEtB,aAAa,aAAa,GAAG,EAClFD,kBAAkBC,WACnB,EAAED,iBAAiB,CAAC,CAAC,EAAED,GAAG,CAAC,GAAG,GAAG,CAAC;IAEnC,MAAM+B,iBAAiB,CAAC,EAAEN,UAAU,EAAED,SAAS,CAAC,EAAEtB,aAAa,aAAa,GAAG,EAC7ED,kBAAkBC,WACnB,SAAS,CAAC;IAEX,MAAM8B,kBACJf,cAAcgB,UAAU,gBAAgBhB,cAAcgB,UAAU,cAC5DH,sBACA,CAAC,EAAEC,eAAe,CAAC,EAAEd,aAAagB,KAAK,CAAC,CAAC;IAE/C,MAAM,CAAC,EAAEC,MAAMC,oBAAoB,EAAE,CAAC,GAAG1D,cAAcuD,iBAAiB;QACtEI,aAAa3C;QACb4C,eAAe;YAAEC,OAAO;YAAGC,OAAO;YAAQC,QAAQ;QAAI;IACxD;IAEA,MAAMC,aACJxB,cAAcgB,UAAU,eACpBtC,gBACAsB,cAAcgB,UAAU,cACtBrC,eACAuC,sBAAsBO,QAAQ,4DAA4D;;IAElG,MAAMC,YAAYnD,gBAAgBoD,QAAQC;IAE1C,qBACE,MAACC;QAAKC,WAAW1D;;0BACf,KAAChB;gBAAe2E,SAAS3C,cAAc4C,YAAYC,MAAMC;;0BACzD,KAAC/D;gBACCmB,kBAAkBA;gBAClBN,gBAAgBA;gBAChBV,KAAKA;gBACLe,UAAUA;gBACVM,cAAcA;gBACdV,YAAYA;gBACZF,IAAIA;gBACJL,eAAeA;;0BAEjB,MAACvB;gBAAO2E,WAAW,CAAC,EAAE1D,UAAU,MAAM,CAAC;;kCACrC,MAAC+D;wBAAIL,WAAW,CAAC,EAAE1D,UAAU,aAAa,CAAC;;0CACzC,KAACgE;gCAAEN,WAAW,CAAC,EAAE1D,UAAU,YAAY,CAAC;0CACrCU,KAAKuD,CAAC,CAAC,4BAA4B;oCAClCZ,SAAS3C,KAAKuD,CAAC,CAAC/D,KAAKgE,WAAW,6BAA6B;gCAC/D;;0CAEF,MAACC;gCAAOT,WAAW,CAAC,EAAE1D,UAAU,QAAQ,CAAC;;kDACvC,KAACoE;kDAAI/B;;oCACJiB,2BACC,KAAC3D;wCACC+D,WAAW,CAAC,EAAE1D,UAAU,SAAS,CAAC;wCAClCY,gBAAgBA;wCAChBC,YAAYA;wCACZwD,OAAOnD,kBAAkBoD,OAAOC,YAAYhD,cAAc8C;wCAC1DG,eAAe7D;wCACf8D,aAAapC;wCACb7B,WAAWA;;;;;;kCAKnB,MAACuD;wBAAIL,WAAW,CAAC,EAAE1D,UAAU,UAAU,CAAC;;0CACtC,KAACJ;gCACC8E,SAAShC;gCACTiC,UAAU9C;gCACV+C,UAAUjE;gCACVJ,cAAcA;gCACdqC,OAAOhB;gCACPpB,WAAWA;;4BAEZwB,8BACC,KAACnC;gCAAc8E,UAAUhD;gCAAYkD,SAASxE;gCAAeuC,OAAOlB;;;;oBAGvExB,KAAKmD,yBACJ,KAAC3D;wBACC0D,YAAYA;wBACZ3D,gBAAgBA;wBAChBwB,UAAUA;wBACV6D,kBAAkB3E,gBAAgB4E;wBAClCrE,MAAMA;wBACNgB,SACEA,UACIA,QAAQsD,GAAG,CAAC,CAAC,EAAEX,KAAK,EAAE,GAAM,OAAOA,UAAU,WAAWA,QAAQY,aAChE,EAAE;wBAER5B,SACE9B,eACI;4BACE,GAAGrB,KAAKmD,OAAO;4BACff,WAAWpC,KAAKmD,SAASf,aAAapC,IAAIoC,SAAS;4BACnD4C,WAAWhF,KAAKmD,SAAS6B,aAAahF,IAAIgF,SAAS;wBACrD,IACAhF,KAAKmD;;;;;;AAOvB,EAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject } from 'payload'\n\nimport {\n Gutter,\n SetViewActions,\n useComponentMap,\n useConfig,\n useDocumentInfo,\n usePayloadAPI,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport React, { useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport diffComponents from '../RenderFieldsToDiff/fields/index.js'\nimport RenderFieldsToDiff from '../RenderFieldsToDiff/index.js'\nimport Restore from '../Restore/index.js'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { SelectLocales } from '../SelectLocales/index.js'\nimport { mostRecentVersionOption } from '../shared.js'\nimport { SetStepNav } from './SetStepNav.js'\nimport './index.scss'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n doc,\n docPermissions,\n initialComparisonDoc,\n localeOptions,\n mostRecentDoc,\n publishedDoc,\n versionID,\n}) => {\n const config = useConfig()\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const { getComponentMap, getFieldMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug, globalSlug })\n\n const [fieldMap] = useState(() => getFieldMap({ collectionSlug, globalSlug }))\n\n const [collectionConfig] = useState(() =>\n config.collections.find((collection) => collection.slug === collectionSlug),\n )\n\n const [globalConfig] = useState(() => config.globals.find((global) => global.slug === globalSlug))\n\n const [locales, setLocales] = useState<OptionObject[]>(localeOptions)\n const [compareValue, setCompareValue] = useState<CompareOption>(mostRecentVersionOption)\n\n const {\n admin: { dateFormat },\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const formattedCreatedAt = doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: dateFormat })\n : ''\n\n const originalDocFetchURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }${collectionSlug ? `/${id}` : ''}`\n\n const compareBaseURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }/versions`\n\n const compareFetchURL =\n compareValue?.value === 'mostRecent' || compareValue?.value === 'published'\n ? originalDocFetchURL\n : `${compareBaseURL}/${compareValue.value}`\n\n const [{ data: currentComparisonDoc }] = usePayloadAPI(compareFetchURL, {\n initialData: initialComparisonDoc,\n initialParams: { depth: 1, draft: 'true', locale: '*' },\n })\n\n const comparison =\n compareValue?.value === 'mostRecent'\n ? mostRecentDoc\n : compareValue?.value === 'published'\n ? publishedDoc\n : currentComparisonDoc?.version // the `version` key is only present on `versions` documents\n\n const canUpdate = docPermissions?.update?.permission\n\n return (\n <main className={baseClass}>\n <SetViewActions actions={componentMap?.actionsMap?.Edit?.Version} />\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fieldMap={fieldMap}\n globalConfig={globalConfig}\n globalSlug={globalSlug}\n id={id}\n mostRecentDoc={mostRecentDoc}\n />\n <Gutter className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__header-wrap`}>\n <p className={`${baseClass}__created-at`}>\n {i18n.t('version:versionCreatedOn', {\n version: i18n.t(doc?.autosave ? 'version:autosavedVersion' : 'version:version'),\n })}\n </p>\n <header className={`${baseClass}__header`}>\n <h2>{formattedCreatedAt}</h2>\n {canUpdate && (\n <Restore\n className={`${baseClass}__restore`}\n collectionSlug={collectionSlug}\n globalSlug={globalSlug}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={id}\n versionDate={formattedCreatedAt}\n versionID={versionID}\n />\n )}\n </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\n onChange={setCompareValue}\n parentID={id}\n publishedDoc={publishedDoc}\n value={compareValue}\n versionID={versionID}\n />\n {localization && (\n <SelectLocales onChange={setLocales} options={localeOptions} value={locales} />\n )}\n </div>\n {doc?.version && (\n <RenderFieldsToDiff\n comparison={comparison}\n diffComponents={diffComponents}\n fieldMap={fieldMap}\n fieldPermissions={docPermissions?.fields}\n i18n={i18n}\n locales={\n locales\n ? locales.map(({ label }) => (typeof label === 'string' ? label : undefined))\n : []\n }\n version={\n globalConfig\n ? {\n ...doc?.version,\n createdAt: doc?.version?.createdAt || doc.createdAt,\n updatedAt: doc?.version?.updatedAt || doc.updatedAt,\n }\n : doc?.version\n }\n />\n )}\n </Gutter>\n </main>\n )\n}\n"],"names":["Gutter","SetViewActions","useComponentMap","useConfig","useDocumentInfo","usePayloadAPI","useTranslation","formatDate","React","useState","diffComponents","RenderFieldsToDiff","Restore","SelectComparison","SelectLocales","mostRecentVersionOption","SetStepNav","baseClass","DefaultVersionView","doc","docPermissions","initialComparisonDoc","localeOptions","mostRecentDoc","publishedDoc","versionID","config","i18n","id","collectionSlug","globalSlug","getComponentMap","getFieldMap","componentMap","fieldMap","collectionConfig","collections","find","collection","slug","globalConfig","globals","global","locales","setLocales","compareValue","setCompareValue","admin","dateFormat","localization","routes","api","apiRoute","serverURL","formattedCreatedAt","createdAt","date","pattern","originalDocFetchURL","compareBaseURL","compareFetchURL","value","data","currentComparisonDoc","initialData","initialParams","depth","draft","locale","comparison","version","canUpdate","update","permission","main","className","actions","actionsMap","Edit","Version","div","p","t","autosave","header","h2","label","labels","singular","originalDocID","versionDate","baseURL","onChange","parentID","options","fieldPermissions","fields","map","undefined","updatedAt"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/Version/Default/types.ts"],"sourcesContent":["import type { CollectionPermission, Document, GlobalPermission, OptionObject } from 'payload'\n\nexport type CompareOption = {\n label: string\n options?: CompareOption[]\n relationTo?: string\n value: string\n}\n\nexport type DefaultVersionsViewProps = {\n doc: Document\n docPermissions: CollectionPermission | GlobalPermission\n initialComparisonDoc: Document\n localeOptions: OptionObject[]\n mostRecentDoc: Document\n publishedDoc: Document\n versionID?: string\n}\n"],"names":[],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/Version/Default/types.ts"],"sourcesContent":["import type { CollectionPermission, Document, GlobalPermission, OptionObject } from 'payload'\n\nexport type CompareOption = {\n label: string\n options?: CompareOption[]\n relationTo?: string\n value: string\n}\n\nexport type DefaultVersionsViewProps = {\n doc: Document\n docPermissions: CollectionPermission | GlobalPermission\n initialComparisonDoc: Document\n localeOptions: OptionObject[]\n mostRecentDoc: Document\n publishedDoc: Document\n versionID?: string\n}\n"],"names":[],"mappings":"AASA,WAQC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/views/Version/RenderFieldsToDiff/Label/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'field-diff-label'\n\nconst Label: React.FC<{ children?: React.ReactNode }> = ({ children }) => (\n <div className={baseClass}>{children}</div>\n)\n\nexport default Label\n"],"names":["React","baseClass","Label","children","div","className"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/views/Version/RenderFieldsToDiff/Label/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'field-diff-label'\n\nconst Label: React.FC<{ children?: React.ReactNode }> = ({ children }) => (\n <div className={baseClass}>{children}</div>\n)\n\nexport default Label\n"],"names":["React","baseClass","Label","children","div","className"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAIzB,MAAMC,YAAY;AAElB,MAAMC,QAAkD,CAAC,EAAEC,QAAQ,EAAE,iBACnE,KAACC;QAAIC,WAAWJ;kBAAYE;;AAG9B,eAAeD,MAAK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx"],"sourcesContent":["import type { MappedField } from '@payloadcms/ui/utilities/buildComponentMap'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { getUniqueListBy } from 'payload/shared'\nimport React from 'react'\n\nimport type { Props } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport RenderFieldsToDiff from '../../index.js'\nimport './index.scss'\n\nconst baseClass = 'iterable-diff'\n\nconst Iterable: React.FC<Props> = ({\n comparison,\n diffComponents,\n field,\n i18n,\n locale,\n locales,\n permissions,\n version,\n}) => {\n const versionRowCount = Array.isArray(version) ? version.length : 0\n const comparisonRowCount = Array.isArray(comparison) ? comparison.length : 0\n const maxRows = Math.max(versionRowCount, comparisonRowCount)\n\n return (\n <div className={baseClass}>\n {'label' in field.fieldComponentProps &&\n field.fieldComponentProps.label &&\n typeof field.fieldComponentProps.label !== 'function' && (\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.fieldComponentProps.label, i18n)}\n </Label>\n )}\n {maxRows > 0 && (\n <React.Fragment>\n {Array.from(Array(maxRows).keys()).map((row, i) => {\n const versionRow = version?.[i] || {}\n const comparisonRow = comparison?.[i] || {}\n\n let fieldMap: MappedField[] = []\n\n if (field.type === 'array' && 'fieldMap' in field.fieldComponentProps)\n fieldMap = field.fieldComponentProps.fieldMap\n\n if (field.type === 'blocks') {\n fieldMap = [\n // {\n // name: 'blockType',\n // label: i18n.t('fields:blockType'),\n // type: 'text',\n // },\n ]\n\n if (versionRow?.blockType === comparisonRow?.blockType) {\n const matchedBlock = ('blocks' in field.fieldComponentProps &&\n field.fieldComponentProps.blocks?.find(\n (block) => block.slug === versionRow?.blockType,\n )) || {\n fieldMap: [],\n }\n\n fieldMap = [...fieldMap, ...matchedBlock.fieldMap]\n } else {\n const matchedVersionBlock = ('blocks' in field.fieldComponentProps &&\n field.fieldComponentProps.blocks?.find(\n (block) => block.slug === versionRow?.blockType,\n )) || {\n fieldMap: [],\n }\n\n const matchedComparisonBlock = ('blocks' in field.fieldComponentProps &&\n field.fieldComponentProps.blocks?.find(\n (block) => block.slug === comparisonRow?.blockType,\n )) || {\n fieldMap: [],\n }\n\n fieldMap = getUniqueListBy<MappedField>(\n [\n ...fieldMap,\n ...matchedVersionBlock.fieldMap,\n ...matchedComparisonBlock.fieldMap,\n ],\n 'name',\n )\n }\n }\n\n return (\n <div className={`${baseClass}__wrap`} key={i}>\n <RenderFieldsToDiff\n comparison={comparisonRow}\n diffComponents={diffComponents}\n fieldMap={fieldMap}\n fieldPermissions={permissions}\n i18n={i18n}\n locales={locales}\n version={versionRow}\n />\n </div>\n )\n })}\n </React.Fragment>\n )}\n {maxRows === 0 && (\n <div className={`${baseClass}__no-rows`}>\n {i18n.t('version:noRowsFound', {\n label:\n 'labels' in field.fieldComponentProps && field.fieldComponentProps.labels?.plural\n ? getTranslation(field.fieldComponentProps.labels.plural, i18n)\n : i18n.t('general:rows'),\n })}\n </div>\n )}\n </div>\n )\n}\n\nexport default Iterable\n"],"names":["getTranslation","getUniqueListBy","React","Label","RenderFieldsToDiff","baseClass","Iterable","comparison","diffComponents","field","i18n","locale","locales","permissions","version","versionRowCount","Array","isArray","length","comparisonRowCount","maxRows","Math","max","div","className","fieldComponentProps","label","span","Fragment","from","keys","map","row","i","versionRow","comparisonRow","fieldMap","type","blockType","matchedBlock","blocks","find","block","slug","matchedVersionBlock","matchedComparisonBlock","fieldPermissions","t","labels","plural"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx"],"sourcesContent":["import type { MappedField } from '@payloadcms/ui/utilities/buildComponentMap'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { getUniqueListBy } from 'payload/shared'\nimport React from 'react'\n\nimport type { Props } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport RenderFieldsToDiff from '../../index.js'\nimport './index.scss'\n\nconst baseClass = 'iterable-diff'\n\nconst Iterable: React.FC<Props> = ({\n comparison,\n diffComponents,\n field,\n i18n,\n locale,\n locales,\n permissions,\n version,\n}) => {\n const versionRowCount = Array.isArray(version) ? version.length : 0\n const comparisonRowCount = Array.isArray(comparison) ? comparison.length : 0\n const maxRows = Math.max(versionRowCount, comparisonRowCount)\n\n return (\n <div className={baseClass}>\n {'label' in field.fieldComponentProps &&\n field.fieldComponentProps.label &&\n typeof field.fieldComponentProps.label !== 'function' && (\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.fieldComponentProps.label, i18n)}\n </Label>\n )}\n {maxRows > 0 && (\n <React.Fragment>\n {Array.from(Array(maxRows).keys()).map((row, i) => {\n const versionRow = version?.[i] || {}\n const comparisonRow = comparison?.[i] || {}\n\n let fieldMap: MappedField[] = []\n\n if (field.type === 'array' && 'fieldMap' in field.fieldComponentProps)\n fieldMap = field.fieldComponentProps.fieldMap\n\n if (field.type === 'blocks') {\n fieldMap = [\n // {\n // name: 'blockType',\n // label: i18n.t('fields:blockType'),\n // type: 'text',\n // },\n ]\n\n if (versionRow?.blockType === comparisonRow?.blockType) {\n const matchedBlock = ('blocks' in field.fieldComponentProps &&\n field.fieldComponentProps.blocks?.find(\n (block) => block.slug === versionRow?.blockType,\n )) || {\n fieldMap: [],\n }\n\n fieldMap = [...fieldMap, ...matchedBlock.fieldMap]\n } else {\n const matchedVersionBlock = ('blocks' in field.fieldComponentProps &&\n field.fieldComponentProps.blocks?.find(\n (block) => block.slug === versionRow?.blockType,\n )) || {\n fieldMap: [],\n }\n\n const matchedComparisonBlock = ('blocks' in field.fieldComponentProps &&\n field.fieldComponentProps.blocks?.find(\n (block) => block.slug === comparisonRow?.blockType,\n )) || {\n fieldMap: [],\n }\n\n fieldMap = getUniqueListBy<MappedField>(\n [\n ...fieldMap,\n ...matchedVersionBlock.fieldMap,\n ...matchedComparisonBlock.fieldMap,\n ],\n 'name',\n )\n }\n }\n\n return (\n <div className={`${baseClass}__wrap`} key={i}>\n <RenderFieldsToDiff\n comparison={comparisonRow}\n diffComponents={diffComponents}\n fieldMap={fieldMap}\n fieldPermissions={permissions}\n i18n={i18n}\n locales={locales}\n version={versionRow}\n />\n </div>\n )\n })}\n </React.Fragment>\n )}\n {maxRows === 0 && (\n <div className={`${baseClass}__no-rows`}>\n {i18n.t('version:noRowsFound', {\n label:\n 'labels' in field.fieldComponentProps && field.fieldComponentProps.labels?.plural\n ? getTranslation(field.fieldComponentProps.labels.plural, i18n)\n : i18n.t('general:rows'),\n })}\n </div>\n )}\n </div>\n )\n}\n\nexport default Iterable\n"],"names":["getTranslation","getUniqueListBy","React","Label","RenderFieldsToDiff","baseClass","Iterable","comparison","diffComponents","field","i18n","locale","locales","permissions","version","versionRowCount","Array","isArray","length","comparisonRowCount","maxRows","Math","max","div","className","fieldComponentProps","label","span","Fragment","from","keys","map","row","i","versionRow","comparisonRow","fieldMap","type","blockType","matchedBlock","blocks","find","block","slug","matchedVersionBlock","matchedComparisonBlock","fieldPermissions","t","labels","plural"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Nested/index.tsx"],"sourcesContent":["import { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { Props } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport RenderFieldsToDiff from '../../index.js'\nimport './index.scss'\n\nconst baseClass = 'nested-diff'\n\nconst Nested: React.FC<Props> = ({\n comparison,\n diffComponents,\n disableGutter = false,\n field,\n fieldMap,\n i18n,\n locale,\n locales,\n permissions,\n version,\n}) => {\n return (\n <div className={baseClass}>\n {'label' in field.fieldComponentProps &&\n field.fieldComponentProps.label &&\n typeof field.fieldComponentProps.label !== 'function' && (\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.fieldComponentProps.label, i18n)}\n </Label>\n )}\n <div\n className={[`${baseClass}__wrap`, !disableGutter && `${baseClass}__wrap--gutter`]\n .filter(Boolean)\n .join(' ')}\n >\n <RenderFieldsToDiff\n comparison={comparison}\n diffComponents={diffComponents}\n fieldMap={fieldMap}\n fieldPermissions={permissions}\n i18n={i18n}\n locales={locales}\n version={version}\n />\n </div>\n </div>\n )\n}\n\nexport default Nested\n"],"names":["getTranslation","React","Label","RenderFieldsToDiff","baseClass","Nested","comparison","diffComponents","disableGutter","field","fieldMap","i18n","locale","locales","permissions","version","div","className","fieldComponentProps","label","span","filter","Boolean","join","fieldPermissions"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Nested/index.tsx"],"sourcesContent":["import { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { Props } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport RenderFieldsToDiff from '../../index.js'\nimport './index.scss'\n\nconst baseClass = 'nested-diff'\n\nconst Nested: React.FC<Props> = ({\n comparison,\n diffComponents,\n disableGutter = false,\n field,\n fieldMap,\n i18n,\n locale,\n locales,\n permissions,\n version,\n}) => {\n return (\n <div className={baseClass}>\n {'label' in field.fieldComponentProps &&\n field.fieldComponentProps.label &&\n typeof field.fieldComponentProps.label !== 'function' && (\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.fieldComponentProps.label, i18n)}\n </Label>\n )}\n <div\n className={[`${baseClass}__wrap`, !disableGutter && `${baseClass}__wrap--gutter`]\n .filter(Boolean)\n .join(' ')}\n >\n <RenderFieldsToDiff\n comparison={comparison}\n diffComponents={diffComponents}\n fieldMap={fieldMap}\n fieldPermissions={permissions}\n i18n={i18n}\n locales={locales}\n version={version}\n />\n </div>\n </div>\n )\n}\n\nexport default Nested\n"],"names":["getTranslation","React","Label","RenderFieldsToDiff","baseClass","Nested","comparison","diffComponents","disableGutter","field","fieldMap","i18n","locale","locales","permissions","version","div","className","fieldComponentProps","label","span","filter","Boolean","join","fieldPermissions"],"mappings":";AAAA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAIzB,OAAOC,WAAW,uBAAsB;AACxC,OAAOC,wBAAwB,iBAAgB;AAG/C,MAAMC,YAAY;AAElB,MAAMC,SAA0B,CAAC,EAC/BC,UAAU,EACVC,cAAc,EACdC,gBAAgB,KAAK,EACrBC,KAAK,EACLC,QAAQ,EACRC,IAAI,EACJC,MAAM,EACNC,OAAO,EACPC,WAAW,EACXC,OAAO,EACR;IACC,qBACE,MAACC;QAAIC,WAAWb;;YACb,WAAWK,MAAMS,mBAAmB,IACnCT,MAAMS,mBAAmB,CAACC,KAAK,IAC/B,OAAOV,MAAMS,mBAAmB,CAACC,KAAK,KAAK,4BACzC,MAACjB;;oBACEU,wBAAU,KAACQ;wBAAKH,WAAW,CAAC,EAAEb,UAAU,cAAc,CAAC;kCAAGQ;;oBAC1DZ,eAAeS,MAAMS,mBAAmB,CAACC,KAAK,EAAER;;;0BAGvD,KAACK;gBACCC,WAAW;oBAAC,CAAC,EAAEb,UAAU,MAAM,CAAC;oBAAE,CAACI,iBAAiB,CAAC,EAAEJ,UAAU,cAAc,CAAC;iBAAC,CAC9EiB,MAAM,CAACC,SACPC,IAAI,CAAC;0BAER,cAAA,KAACpB;oBACCG,YAAYA;oBACZC,gBAAgBA;oBAChBG,UAAUA;oBACVc,kBAAkBV;oBAClBH,MAAMA;oBACNE,SAASA;oBACTE,SAASA;;;;;AAKnB;AAEA,eAAeV,OAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { type MappedField, useConfig } from '@payloadcms/ui'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared'\nimport React from 'react'\nimport ReactDiffViewerImport from 'react-diff-viewer-continued'\n\nimport type { Props } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport { diffStyles } from '../styles.js'\nimport './index.scss'\n\nconst ReactDiffViewer = (ReactDiffViewerImport.default ||\n ReactDiffViewerImport) as unknown as typeof ReactDiffViewerImport.default\n\nconst baseClass = 'relationship-diff'\n\ntype RelationshipValue = Record<string, any>\n\nconst generateLabelFromValue = (\n collections: ClientCollectionConfig[],\n field: MappedField,\n locale: string,\n value: { relationTo: string; value: RelationshipValue } | RelationshipValue,\n): string => {\n let relation: string\n let relatedDoc: RelationshipValue\n let valueToReturn = '' as any\n\n const relationTo =\n 'relationTo' in field.fieldComponentProps ? field.fieldComponentProps.relationTo : undefined\n\n if (value === null || typeof value === 'undefined') {\n return String(value)\n }\n\n if (Array.isArray(relationTo)) {\n if (typeof value === 'object') {\n relation = value.relationTo\n relatedDoc = value.value\n }\n } else {\n relation = relationTo\n relatedDoc = value\n }\n\n const relatedCollection = collections.find((c) => c.slug === relation)\n\n if (relatedCollection) {\n const useAsTitle = relatedCollection?.admin?.useAsTitle\n const useAsTitleField = relatedCollection.fields.find(\n (f) => fieldAffectsData(f) && !fieldIsPresentationalOnly(f) && f.name === useAsTitle,\n )\n let titleFieldIsLocalized = false\n\n if (useAsTitleField && fieldAffectsData(useAsTitleField))\n titleFieldIsLocalized = useAsTitleField.localized\n\n if (typeof relatedDoc?.[useAsTitle] !== 'undefined') {\n valueToReturn = relatedDoc[useAsTitle]\n } else if (typeof relatedDoc?.id !== 'undefined') {\n valueToReturn = relatedDoc.id\n }\n\n if (typeof valueToReturn === 'object' && titleFieldIsLocalized) {\n valueToReturn = valueToReturn[locale]\n }\n }\n\n return valueToReturn\n}\n\nconst Relationship: React.FC<Props> = ({ comparison, field, i18n, locale, version }) => {\n let placeholder = ''\n\n const { collections } = useConfig()\n\n if (version === comparison) placeholder = `[${i18n.t('general:noValue')}]`\n\n let versionToRender = version\n let comparisonToRender = comparison\n\n if ('hasMany' in field && field.hasMany) {\n if (Array.isArray(version))\n versionToRender = version\n .map((val) => generateLabelFromValue(collections, field, locale, val))\n .join(', ')\n if (Array.isArray(comparison))\n comparisonToRender = comparison\n .map((val) => generateLabelFromValue(collections, field, locale, val))\n .join(', ')\n } else {\n versionToRender = generateLabelFromValue(collections, field, locale, version)\n comparisonToRender = generateLabelFromValue(collections, field, locale, comparison)\n }\n\n const label =\n 'label' in field.fieldComponentProps &&\n typeof field.fieldComponentProps.label !== 'boolean' &&\n typeof field.fieldComponentProps.label !== 'function'\n ? field.fieldComponentProps.label\n : ''\n\n return (\n <div className={baseClass}>\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(label, i18n)}\n </Label>\n <ReactDiffViewer\n hideLineNumbers\n newValue={typeof versionToRender !== 'undefined' ? String(versionToRender) : placeholder}\n oldValue={\n typeof comparisonToRender !== 'undefined' ? String(comparisonToRender) : placeholder\n }\n showDiffOnly={false}\n splitView\n styles={diffStyles}\n />\n </div>\n )\n}\n\nexport default Relationship\n"],"names":["getTranslation","useConfig","fieldAffectsData","fieldIsPresentationalOnly","React","ReactDiffViewerImport","Label","diffStyles","ReactDiffViewer","default","baseClass","generateLabelFromValue","collections","field","locale","value","relation","relatedDoc","valueToReturn","relationTo","fieldComponentProps","undefined","String","Array","isArray","relatedCollection","find","c","slug","useAsTitle","admin","useAsTitleField","fields","f","name","titleFieldIsLocalized","localized","id","Relationship","comparison","i18n","version","placeholder","t","versionToRender","comparisonToRender","hasMany","map","val","join","label","div","className","span","hideLineNumbers","newValue","oldValue","showDiffOnly","splitView","styles"],"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { type MappedField, useConfig } from '@payloadcms/ui'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared'\nimport React from 'react'\nimport ReactDiffViewerImport from 'react-diff-viewer-continued'\n\nimport type { Props } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport { diffStyles } from '../styles.js'\nimport './index.scss'\n\nconst ReactDiffViewer = (ReactDiffViewerImport.default ||\n ReactDiffViewerImport) as unknown as typeof ReactDiffViewerImport.default\n\nconst baseClass = 'relationship-diff'\n\ntype RelationshipValue = Record<string, any>\n\nconst generateLabelFromValue = (\n collections: ClientCollectionConfig[],\n field: MappedField,\n locale: string,\n value: { relationTo: string; value: RelationshipValue } | RelationshipValue,\n): string => {\n let relation: string\n let relatedDoc: RelationshipValue\n let valueToReturn = '' as any\n\n const relationTo =\n 'relationTo' in field.fieldComponentProps ? field.fieldComponentProps.relationTo : undefined\n\n if (value === null || typeof value === 'undefined') {\n return String(value)\n }\n\n if (Array.isArray(relationTo)) {\n if (typeof value === 'object') {\n relation = value.relationTo\n relatedDoc = value.value\n }\n } else {\n relation = relationTo\n relatedDoc = value\n }\n\n const relatedCollection = collections.find((c) => c.slug === relation)\n\n if (relatedCollection) {\n const useAsTitle = relatedCollection?.admin?.useAsTitle\n const useAsTitleField = relatedCollection.fields.find(\n (f) => fieldAffectsData(f) && !fieldIsPresentationalOnly(f) && f.name === useAsTitle,\n )\n let titleFieldIsLocalized = false\n\n if (useAsTitleField && fieldAffectsData(useAsTitleField))\n titleFieldIsLocalized = useAsTitleField.localized\n\n if (typeof relatedDoc?.[useAsTitle] !== 'undefined') {\n valueToReturn = relatedDoc[useAsTitle]\n } else if (typeof relatedDoc?.id !== 'undefined') {\n valueToReturn = relatedDoc.id\n }\n\n if (typeof valueToReturn === 'object' && titleFieldIsLocalized) {\n valueToReturn = valueToReturn[locale]\n }\n }\n\n return valueToReturn\n}\n\nconst Relationship: React.FC<Props> = ({ comparison, field, i18n, locale, version }) => {\n let placeholder = ''\n\n const { collections } = useConfig()\n\n if (version === comparison) placeholder = `[${i18n.t('general:noValue')}]`\n\n let versionToRender = version\n let comparisonToRender = comparison\n\n if ('hasMany' in field && field.hasMany) {\n if (Array.isArray(version))\n versionToRender = version\n .map((val) => generateLabelFromValue(collections, field, locale, val))\n .join(', ')\n if (Array.isArray(comparison))\n comparisonToRender = comparison\n .map((val) => generateLabelFromValue(collections, field, locale, val))\n .join(', ')\n } else {\n versionToRender = generateLabelFromValue(collections, field, locale, version)\n comparisonToRender = generateLabelFromValue(collections, field, locale, comparison)\n }\n\n const label =\n 'label' in field.fieldComponentProps &&\n typeof field.fieldComponentProps.label !== 'boolean' &&\n typeof field.fieldComponentProps.label !== 'function'\n ? field.fieldComponentProps.label\n : ''\n\n return (\n <div className={baseClass}>\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(label, i18n)}\n </Label>\n <ReactDiffViewer\n hideLineNumbers\n newValue={typeof versionToRender !== 'undefined' ? String(versionToRender) : placeholder}\n oldValue={\n typeof comparisonToRender !== 'undefined' ? String(comparisonToRender) : placeholder\n }\n showDiffOnly={false}\n splitView\n styles={diffStyles}\n />\n </div>\n )\n}\n\nexport default Relationship\n"],"names":["getTranslation","useConfig","fieldAffectsData","fieldIsPresentationalOnly","React","ReactDiffViewerImport","Label","diffStyles","ReactDiffViewer","default","baseClass","generateLabelFromValue","collections","field","locale","value","relation","relatedDoc","valueToReturn","relationTo","fieldComponentProps","undefined","String","Array","isArray","relatedCollection","find","c","slug","useAsTitle","admin","useAsTitleField","fields","f","name","titleFieldIsLocalized","localized","id","Relationship","comparison","i18n","version","placeholder","t","versionToRender","comparisonToRender","hasMany","map","val","join","label","div","className","span","hideLineNumbers","newValue","oldValue","showDiffOnly","splitView","styles"],"mappings":"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"}
|