@payloadcms/next 3.0.0-canary.926cbeb → 3.0.0-canary.95fcd13
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/cjs/withPayload.cjs +10 -5
- package/dist/cjs/withPayload.cjs.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +5 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +7 -5
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +3 -5
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +2 -2
- package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/EmailAndUsername/index.d.ts +8 -0
- package/dist/elements/EmailAndUsername/index.d.ts.map +1 -0
- package/dist/elements/EmailAndUsername/index.js +33 -0
- package/dist/elements/EmailAndUsername/index.js.map +1 -0
- package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +2 -0
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/Nav/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/index.client.js +15 -5
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +0 -18
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/routes/graphql/handler.d.ts.map +1 -1
- package/dist/routes/graphql/handler.js +1 -5
- package/dist/routes/graphql/handler.js.map +1 -1
- package/dist/routes/rest/auth/login.d.ts.map +1 -1
- package/dist/routes/rest/auth/login.js +1 -1
- package/dist/routes/rest/auth/login.js.map +1 -1
- package/dist/routes/rest/auth/unlock.d.ts.map +1 -1
- package/dist/routes/rest/auth/unlock.js +7 -3
- package/dist/routes/rest/auth/unlock.js.map +1 -1
- package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
- package/dist/routes/rest/collections/restoreVersion.js +2 -0
- package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
- package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
- package/dist/routes/rest/globals/restoreVersion.js +2 -0
- package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
- package/dist/routes/rest/index.d.ts.map +1 -1
- package/dist/routes/rest/index.js +30 -5
- package/dist/routes/rest/index.js.map +1 -1
- package/dist/routes/rest/routeError.d.ts.map +1 -1
- package/dist/routes/rest/routeError.js +3 -3
- package/dist/routes/rest/routeError.js.map +1 -1
- package/dist/scss/app.scss +5 -10
- package/dist/scss/colors.scss +76 -76
- package/dist/scss/toastify.scss +59 -0
- package/dist/scss/toasts.scss +75 -45
- package/dist/scss/type.scss +14 -23
- package/dist/scss/vars.scss +26 -47
- package/dist/templates/Default/index.d.ts +2 -2
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
- package/dist/utilities/createPayloadRequest.js +11 -8
- package/dist/utilities/createPayloadRequest.js.map +1 -1
- package/dist/utilities/getNextRequestI18n.d.ts +3 -3
- package/dist/utilities/getNextRequestI18n.d.ts.map +1 -1
- package/dist/utilities/getNextRequestI18n.js +3 -1
- package/dist/utilities/getNextRequestI18n.js.map +1 -1
- package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
- package/dist/utilities/getPayloadHMR.js +11 -8
- package/dist/utilities/getPayloadHMR.js.map +1 -1
- package/dist/utilities/headersWithCors.d.ts.map +1 -1
- package/dist/utilities/headersWithCors.js +19 -3
- package/dist/utilities/headersWithCors.js.map +1 -1
- package/dist/utilities/initPage/handleAdminPage.d.ts +4 -0
- package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
- package/dist/utilities/initPage/handleAdminPage.js +17 -4
- package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
- package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
- package/dist/utilities/initPage/handleAuthRedirect.js +16 -4
- package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
- package/dist/utilities/initPage/index.js +1 -1
- package/dist/utilities/initPage/index.js.map +1 -1
- package/dist/utilities/initPage/shared.d.ts +14 -2
- package/dist/utilities/initPage/shared.d.ts.map +1 -1
- package/dist/utilities/initPage/shared.js +14 -4
- package/dist/utilities/initPage/shared.js.map +1 -1
- package/dist/utilities/mergeHeaders.d.ts +1 -1
- package/dist/utilities/mergeHeaders.d.ts.map +1 -1
- package/dist/utilities/mergeHeaders.js +7 -33
- package/dist/utilities/mergeHeaders.js.map +1 -1
- package/dist/utilities/meta.d.ts +2 -2
- package/dist/utilities/meta.d.ts.map +1 -1
- package/dist/utilities/meta.js +1 -1
- package/dist/utilities/meta.js.map +1 -1
- package/dist/views/Account/index.d.ts.map +1 -1
- package/dist/views/Account/index.js +14 -23
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.d.ts +2 -1
- package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +11 -13
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.js +11 -29
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/Dashboard/Default/index.d.ts +2 -2
- package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/index.js +13 -4
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/Default/index.scss +11 -7
- package/dist/views/Document/getDocumentData.d.ts +1 -0
- package/dist/views/Document/getDocumentData.d.ts.map +1 -1
- package/dist/views/Document/getDocumentData.js +4 -3
- package/dist/views/Document/getDocumentData.js.map +1 -1
- package/dist/views/Document/getMetaBySegment.d.ts +2 -2
- package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
- package/dist/views/Document/getMetaBySegment.js.map +1 -1
- package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
- package/dist/views/Document/getViewsFromConfig.js +19 -5
- 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 +24 -32
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -1
- package/dist/views/Edit/Default/Auth/APIKey.js +2 -1
- package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/Auth/index.js +65 -32
- package/dist/views/Edit/Default/Auth/index.js.map +1 -1
- package/dist/views/Edit/Default/Auth/index.scss +17 -2
- package/dist/views/Edit/Default/Auth/types.d.ts +4 -1
- package/dist/views/Edit/Default/Auth/types.d.ts.map +1 -1
- package/dist/views/Edit/Default/Auth/types.js.map +1 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.js +15 -5
- package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
- package/dist/views/Edit/Default/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/index.js +26 -23
- package/dist/views/Edit/Default/index.js.map +1 -1
- package/dist/views/Edit/Default/index.scss +2 -2
- package/dist/views/ForgotPassword/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/index.js +12 -4
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/List/Default/index.scss +2 -5
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +10 -4
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/meta.d.ts +2 -2
- package/dist/views/List/meta.d.ts.map +1 -1
- package/dist/views/List/meta.js.map +1 -1
- package/dist/views/LivePreview/Preview/index.js +1 -1
- package/dist/views/LivePreview/Preview/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/index.d.ts +2 -2
- package/dist/views/LivePreview/Toolbar/index.d.ts.map +1 -1
- package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/views/LivePreview/index.client.d.ts.map +1 -1
- package/dist/views/LivePreview/index.client.js.map +1 -1
- package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
- package/dist/views/Login/LoginField/index.d.ts +9 -0
- package/dist/views/Login/LoginField/index.d.ts.map +1 -0
- package/dist/views/Login/LoginField/index.js +46 -0
- package/dist/views/Login/LoginField/index.js.map +1 -0
- package/dist/views/Login/LoginForm/index.d.ts +3 -0
- package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
- package/dist/views/Login/LoginForm/index.js +30 -71
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Login/index.d.ts.map +1 -1
- package/dist/views/Login/index.js +7 -0
- package/dist/views/Login/index.js.map +1 -1
- package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
- package/dist/views/Logout/LogoutClient.js +7 -2
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.d.ts +2 -2
- package/dist/views/Logout/index.d.ts.map +1 -1
- package/dist/views/Logout/index.js +2 -2
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/NotFound/index.client.d.ts.map +1 -1
- package/dist/views/NotFound/index.client.js +3 -2
- 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 +5 -1
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/NotFound/meta.d.ts +2 -2
- 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.d.ts.map +1 -1
- package/dist/views/ResetPassword/index.client.js +19 -31
- package/dist/views/ResetPassword/index.client.js.map +1 -1
- package/dist/views/ResetPassword/index.d.ts.map +1 -1
- package/dist/views/ResetPassword/index.js +7 -3
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
- package/dist/views/Root/getViewFromConfig.js +5 -1
- package/dist/views/Root/getViewFromConfig.js.map +1 -1
- package/dist/views/Root/index.d.ts +2 -2
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +14 -8
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Unauthorized/index.d.ts.map +1 -1
- package/dist/views/Unauthorized/index.js +1 -0
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Verify/index.d.ts.map +1 -1
- package/dist/views/Verify/index.js +9 -2
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.d.ts +1 -3
- package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js +28 -13
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +15 -15
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/types.d.ts +3 -3
- package/dist/views/Version/Default/types.d.ts.map +1 -1
- package/dist/views/Version/Default/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +3 -4
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +3 -3
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +9 -9
- package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +1 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/types.d.ts +3 -4
- package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +46 -13
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/Restore/index.scss +31 -0
- package/dist/views/Version/Restore/types.d.ts +1 -0
- package/dist/views/Version/Restore/types.d.ts.map +1 -1
- package/dist/views/Version/Restore/types.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +49 -28
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.scss +1 -1
- package/dist/views/Version/SelectComparison/types.d.ts +2 -1
- package/dist/views/Version/SelectComparison/types.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/types.js.map +1 -1
- package/dist/views/Version/index.d.ts.map +1 -1
- package/dist/views/Version/index.js +24 -45
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/buildColumns.d.ts +3 -1
- package/dist/views/Versions/buildColumns.d.ts.map +1 -1
- package/dist/views/Versions/buildColumns.js +7 -4
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.d.ts +7 -1
- package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +31 -13
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +10 -4
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/getLatestVersion.d.ts +5 -0
- package/dist/views/Versions/getLatestVersion.d.ts.map +1 -0
- package/dist/views/Versions/getLatestVersion.js +29 -0
- package/dist/views/Versions/getLatestVersion.js.map +1 -0
- package/dist/views/Versions/index.client.d.ts.map +1 -1
- package/dist/views/Versions/index.client.js +3 -2
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.d.ts.map +1 -1
- package/dist/views/Versions/index.js +22 -2
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/withPayload.d.ts.map +1 -1
- package/dist/withPayload.js +10 -5
- package/dist/withPayload.js.map +1 -1
- package/package.json +19 -25
- package/dist/prod/index.js +0 -62
- package/dist/prod/payload/payload-favicon-dark.png +0 -0
- package/dist/prod/payload/payload-favicon-light.png +0 -0
- package/dist/prod/payload/static-og-image.png +0 -0
- package/dist/views/Version/shared.d.ts +0 -9
- package/dist/views/Version/shared.d.ts.map +0 -1
- package/dist/views/Version/shared.js +0 -10
- package/dist/views/Version/shared.js.map +0 -1
- package/dist/webpackEntry.d.ts +0 -5
- package/dist/webpackEntry.d.ts.map +0 -1
- package/dist/webpackEntry.js +0 -6
- package/dist/webpackEntry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { WithServerSideProps, formatAdminURL } 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: I18nClient\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 = formatAdminURL({\n adminRoute,\n path: `${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`,\n })\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 createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n }\n\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","formatAdminURL","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","params","searchParams","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","initPageOptions","templateClassName","templateType","dbHasUser","initPageResult","req","payload","db","findOne","collection","then","doc","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","RenderedView","Component","serverOnlyProps","className","i18n","locale","permissions","visibleEntities","globals"],"mappings":";AAIA,SAASA,mBAAmB,EAAEC,cAAc,QAAQ,wBAAuB;AAC3E,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,qBAAqB,EAAE,EAClDC,MAAMC,QAAQ,EACf,EACDJ,QAAQ,EAAED,OAAOM,UAAU,EAAE,EAC9B,GAAGV;IAEJ,MAAMW,eAAetB,eAAe;QAClCqB;QACAE,MAAM,CAAC,EAAEC,MAAMC,OAAO,CAACZ,OAAOa,QAAQ,IAAI,CAAC,CAAC,EAAEb,OAAOa,QAAQ,CAACC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;IAClF;IAEA,MAAMD,WAAWF,MAAMC,OAAO,CAACZ,OAAOa,QAAQ,IAAIb,OAAOa,QAAQ,GAAG,EAAE;IAEtE,MAAM,EAAEE,WAAW,EAAEC,eAAe,EAAEC,iBAAiB,EAAEC,YAAY,EAAE,GAAGvB,kBAAkB;QAC1Fa;QACAV;QACAW;QACAR;QACAY;IACF;IAEA,IAAIM,YAAY;IAEhB,IAAI,CAACJ,aAAa;QAChB3B;IACF;IAEA,MAAMgC,iBAAiB,MAAM1B,SAASsB;IAEtC,IAAII,gBAAgB;QAClBD,YAAY,MAAMC,gBAAgBC,IAAIC,QAAQC,GAC3CC,QAAQ;YACPC,YAAYlB;YACZc,KAAKD,gBAAgBC;QACvB,IACEK,KAAK,CAACC,MAAQ,CAAC,CAACA;QAEpB,MAAMC,uBAAuBzC,eAAe;YAAEqB;YAAYE,MAAML;QAAsB;QAEtF,MAAMwB,mBAAmB/B,OAAOgC,WAAW,CAACC,IAAI,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA,SAASzB;QACxE,MAAM0B,uBAAuBJ,kBAAkBK,MAAMD;QAErD,IAAIA,wBAAwBxB,iBAAiBmB,sBAAsB;YACjEvC,SAASmB;QACX;QAEA,IAAI,CAACW,aAAaV,iBAAiBmB,wBAAwB,CAACK,sBAAsB;YAChF5C,SAASuC;QACX;QAEA,IAAIT,aAAaV,iBAAiBmB,sBAAsB;YACtDvC,SAASmB;QACX;IACF;IAEA,MAAM2B,6BACJ,KAACjD;QACCkD,WAAWrB;QACXsB,iBACE;YACEjB;YACApB;YACAC;QACF;;IAKN,qBACE,MAACV;;YACE,CAAC2B,8BAAgB,KAAC3B;0BAAU4C;;YAC5BjB,iBAAiB,2BAChB,KAACzB;gBAAgB6C,WAAWrB;0BAAoBkB;;YAEjDjB,iBAAiB,2BAChB,KAAC1B;gBACC+C,MAAMnB,gBAAgBC,IAAIkB;gBAC1BC,QAAQpB,gBAAgBoB;gBACxBxC,QAAQA;gBACRsB,SAASF,gBAAgBC,IAAIC;gBAC7BmB,aAAarB,gBAAgBqB;gBAC7BxC,cAAcA;gBACdK,MAAMc,gBAAgBC,IAAIf;gBAC1BoC,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,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Unauthorized/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAMjD,OAAO,cAAc,CAAA;AAIrB,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAIxD,eAAO,MAAM,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Unauthorized/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAMjD,OAAO,cAAc,CAAA;AAIrB,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAIxD,eAAO,MAAM,gBAAgB,EAAE,kBA6B9B,CAAA"}
|
|
@@ -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
|
|
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\n Link={Link}\n className={`${baseClass}__button`}\n el=\"link\"\n size=\"large\"\n to={logoutRoute}\n >\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","size","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;gBACCI,MAAMA;gBACNc,WAAW,CAAC,EAAEX,UAAU,QAAQ,CAAC;gBACjCe,IAAG;gBACHC,MAAK;gBACLC,IAAIP;0BAEHN,KAAKS,CAAC,CAAC;;;;AAIhB,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Verify/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Verify/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,eAAe,WAAW,CAAA;AAEvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAoD3C,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { formatAdminURL } from '@payloadcms/ui/shared';
|
|
2
3
|
import { redirect } from 'next/navigation.js';
|
|
3
4
|
import React from 'react';
|
|
4
5
|
import { Logo } from '../../elements/Logo/index.js';
|
|
@@ -17,10 +18,16 @@ export const Verify = async ({ initPageResult, params, searchParams })=>{
|
|
|
17
18
|
collection: collectionSlug,
|
|
18
19
|
token
|
|
19
20
|
});
|
|
20
|
-
return redirect(
|
|
21
|
+
return redirect(formatAdminURL({
|
|
22
|
+
adminRoute,
|
|
23
|
+
path: '/login'
|
|
24
|
+
}));
|
|
21
25
|
} catch (e) {
|
|
22
26
|
// already verified
|
|
23
|
-
if (e?.status === 202) redirect(
|
|
27
|
+
if (e?.status === 202) redirect(formatAdminURL({
|
|
28
|
+
adminRoute,
|
|
29
|
+
path: '/login'
|
|
30
|
+
}));
|
|
24
31
|
textToRender = req.t('authentication:unableToVerify');
|
|
25
32
|
}
|
|
26
33
|
return /*#__PURE__*/ _jsxs(React.Fragment, {
|
|
@@ -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(
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Verify/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { formatAdminURL } from '@payloadcms/ui/shared'\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(formatAdminURL({ adminRoute, path: '/login' }))\n } catch (e) {\n // already verified\n if (e?.status === 202) redirect(formatAdminURL({ adminRoute, path: '/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":["formatAdminURL","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","path","e","status","t","Fragment","div","className","h2"],"mappings":";AAEA,SAASA,cAAc,QAAQ,wBAAuB;AACtD,SAASC,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,SAASD,eAAe;YAAEuB;YAAYI,MAAM;QAAS;IAC9D,EAAE,OAAOC,GAAG;QACV,mBAAmB;QACnB,IAAIA,GAAGC,WAAW,KAAK5B,SAASD,eAAe;YAAEuB;YAAYI,MAAM;QAAS;QAC5EH,eAAeR,IAAIc,CAAC,CAAC;IACvB;IAEA,qBACE,MAAC5B,MAAM6B,QAAQ;;0BACb,KAACC;gBAAIC,WAAW,CAAC,EAAE7B,gBAAgB,OAAO,CAAC;0BACzC,cAAA,KAACD;oBACCc,MAAMA;oBACNH,QAAQA;oBACRN,QAAQA;oBACRU,SAASA;oBACTH,aAAaA;oBACbN,cAAcA;oBACdW,MAAMA;;;0BAGV,KAACc;0BAAIV;;;;AAGX,EAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { FieldMap } from '
|
|
2
|
-
import type { ClientCollectionConfig, ClientGlobalConfig } from 'payload';
|
|
1
|
+
import type { ClientCollectionConfig, ClientGlobalConfig, FieldMap } from 'payload';
|
|
3
2
|
import type React from 'react';
|
|
4
3
|
export declare const SetStepNav: React.FC<{
|
|
5
4
|
collectionConfig?: ClientCollectionConfig;
|
|
@@ -9,6 +8,5 @@ export declare const SetStepNav: React.FC<{
|
|
|
9
8
|
globalConfig?: ClientGlobalConfig;
|
|
10
9
|
globalSlug?: string;
|
|
11
10
|
id?: number | string;
|
|
12
|
-
mostRecentDoc: any;
|
|
13
11
|
}>;
|
|
14
12
|
//# sourceMappingURL=SetStepNav.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetStepNav.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"SetStepNav.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACnF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,GAAG,EAAE,GAAG,CAAA;IACR,QAAQ,EAAE,QAAQ,CAAA;IAClB,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACrB,CA4GA,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { getTranslation } from '@payloadcms/translations';
|
|
2
2
|
import { useConfig, useLocale, useStepNav, useTranslation } from '@payloadcms/ui';
|
|
3
|
-
import { formatDate } from '@payloadcms/ui/shared';
|
|
3
|
+
import { formatAdminURL, formatDate } from '@payloadcms/ui/shared';
|
|
4
4
|
import { useEffect } from 'react';
|
|
5
|
-
export const SetStepNav = ({ id, collectionConfig, collectionSlug, doc, fieldMap, globalConfig, globalSlug
|
|
5
|
+
export const SetStepNav = ({ id, collectionConfig, collectionSlug, doc, fieldMap, globalConfig, globalSlug })=>{
|
|
6
6
|
const config = useConfig();
|
|
7
7
|
const { setStepNav } = useStepNav();
|
|
8
8
|
const { i18n, t } = useTranslation();
|
|
@@ -14,38 +14,48 @@ export const SetStepNav = ({ id, collectionConfig, collectionSlug, doc, fieldMap
|
|
|
14
14
|
let docLabel = '';
|
|
15
15
|
const useAsTitle = collectionConfig?.admin?.useAsTitle || 'id';
|
|
16
16
|
const pluralLabel = collectionConfig?.labels?.plural;
|
|
17
|
-
|
|
17
|
+
const formattedDoc = doc.version ? doc.version : doc;
|
|
18
|
+
if (formattedDoc) {
|
|
18
19
|
if (useAsTitle !== 'id') {
|
|
19
20
|
const titleField = fieldMap.find((f)=>{
|
|
20
21
|
const { isFieldAffectingData } = f;
|
|
21
22
|
const fieldName = 'name' in f ? f.name : undefined;
|
|
22
23
|
return Boolean(isFieldAffectingData && fieldName === useAsTitle);
|
|
23
24
|
});
|
|
24
|
-
if (titleField &&
|
|
25
|
+
if (titleField && formattedDoc[useAsTitle]) {
|
|
25
26
|
if (titleField.localized) {
|
|
26
|
-
docLabel =
|
|
27
|
+
docLabel = formattedDoc[useAsTitle]?.[locale.code];
|
|
27
28
|
} else {
|
|
28
|
-
docLabel =
|
|
29
|
+
docLabel = formattedDoc[useAsTitle];
|
|
29
30
|
}
|
|
30
31
|
} else {
|
|
31
32
|
docLabel = `[${t('general:untitled')}]`;
|
|
32
33
|
}
|
|
33
34
|
} else {
|
|
34
|
-
docLabel =
|
|
35
|
+
docLabel = doc.id;
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
38
|
nav = [
|
|
38
39
|
{
|
|
39
40
|
label: getTranslation(pluralLabel, i18n),
|
|
40
|
-
url:
|
|
41
|
+
url: formatAdminURL({
|
|
42
|
+
adminRoute,
|
|
43
|
+
path: `/collections/${collectionSlug}`
|
|
44
|
+
})
|
|
41
45
|
},
|
|
42
46
|
{
|
|
43
47
|
label: docLabel,
|
|
44
|
-
url:
|
|
48
|
+
url: formatAdminURL({
|
|
49
|
+
adminRoute,
|
|
50
|
+
path: `/collections/${collectionSlug}/${id}`
|
|
51
|
+
})
|
|
45
52
|
},
|
|
46
53
|
{
|
|
47
54
|
label: 'Versions',
|
|
48
|
-
url:
|
|
55
|
+
url: formatAdminURL({
|
|
56
|
+
adminRoute,
|
|
57
|
+
path: `/collections/${collectionSlug}/${id}/versions`
|
|
58
|
+
})
|
|
49
59
|
},
|
|
50
60
|
{
|
|
51
61
|
label: doc?.createdAt ? formatDate({
|
|
@@ -60,11 +70,17 @@ export const SetStepNav = ({ id, collectionConfig, collectionSlug, doc, fieldMap
|
|
|
60
70
|
nav = [
|
|
61
71
|
{
|
|
62
72
|
label: globalConfig.label,
|
|
63
|
-
url:
|
|
73
|
+
url: formatAdminURL({
|
|
74
|
+
adminRoute,
|
|
75
|
+
path: `/globals/${globalConfig.slug}`
|
|
76
|
+
})
|
|
64
77
|
},
|
|
65
78
|
{
|
|
66
79
|
label: 'Versions',
|
|
67
|
-
url:
|
|
80
|
+
url: formatAdminURL({
|
|
81
|
+
adminRoute,
|
|
82
|
+
path: `/globals/${globalConfig.slug}/versions`
|
|
83
|
+
})
|
|
68
84
|
},
|
|
69
85
|
{
|
|
70
86
|
label: doc?.createdAt ? formatDate({
|
|
@@ -82,7 +98,6 @@ export const SetStepNav = ({ id, collectionConfig, collectionSlug, doc, fieldMap
|
|
|
82
98
|
collectionSlug,
|
|
83
99
|
globalSlug,
|
|
84
100
|
doc,
|
|
85
|
-
mostRecentDoc,
|
|
86
101
|
id,
|
|
87
102
|
locale,
|
|
88
103
|
t,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"sourcesContent":["import type { StepNavItem } from '@payloadcms/ui'\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"sourcesContent":["import type { StepNavItem } from '@payloadcms/ui'\nimport type { ClientCollectionConfig, ClientGlobalConfig, FieldMap } from 'payload'\nimport type React from 'react'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig, useLocale, useStepNav, useTranslation } from '@payloadcms/ui'\nimport { formatAdminURL, 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}> = ({ id, collectionConfig, collectionSlug, doc, fieldMap, globalConfig, globalSlug }) => {\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 const formattedDoc = doc.version ? doc.version : doc\n\n if (formattedDoc) {\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 && formattedDoc[useAsTitle]) {\n if (titleField.localized) {\n docLabel = formattedDoc[useAsTitle]?.[locale.code]\n } else {\n docLabel = formattedDoc[useAsTitle]\n }\n } else {\n docLabel = `[${t('general:untitled')}]`\n }\n } else {\n docLabel = doc.id\n }\n }\n\n nav = [\n {\n label: getTranslation(pluralLabel, i18n),\n url: formatAdminURL({ adminRoute, path: `/collections/${collectionSlug}` }),\n },\n {\n label: docLabel,\n url: formatAdminURL({ adminRoute, path: `/collections/${collectionSlug}/${id}` }),\n },\n {\n label: 'Versions',\n url: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${id}/versions`,\n }),\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: formatAdminURL({\n adminRoute,\n path: `/globals/${globalConfig.slug}`,\n }),\n },\n {\n label: 'Versions',\n url: formatAdminURL({\n adminRoute,\n path: `/globals/${globalConfig.slug}/versions`,\n }),\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 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","formatAdminURL","formatDate","useEffect","SetStepNav","id","collectionConfig","collectionSlug","doc","fieldMap","globalConfig","globalSlug","config","setStepNav","i18n","t","locale","nav","admin","dateFormat","routes","adminRoute","docLabel","useAsTitle","pluralLabel","labels","plural","formattedDoc","version","titleField","find","f","isFieldAffectingData","fieldName","name","undefined","Boolean","localized","code","label","url","path","createdAt","date","pattern","slug"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAQzE,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAiIjE,CAAA"}
|
|
@@ -8,10 +8,9 @@ import RenderFieldsToDiff from '../RenderFieldsToDiff/index.js';
|
|
|
8
8
|
import Restore from '../Restore/index.js';
|
|
9
9
|
import { SelectComparison } from '../SelectComparison/index.js';
|
|
10
10
|
import { SelectLocales } from '../SelectLocales/index.js';
|
|
11
|
-
import { mostRecentVersionOption } from '../shared.js';
|
|
12
11
|
import { SetStepNav } from './SetStepNav.js';
|
|
13
12
|
const baseClass = 'view-version';
|
|
14
|
-
export const DefaultVersionView = ({ doc, docPermissions, initialComparisonDoc,
|
|
13
|
+
export const DefaultVersionView = ({ doc, docPermissions, initialComparisonDoc, latestDraftVersion, latestPublishedVersion, localeOptions, versionID })=>{
|
|
15
14
|
const config = useConfig();
|
|
16
15
|
const { i18n } = useTranslation();
|
|
17
16
|
const { id, collectionSlug, globalSlug } = useDocumentInfo();
|
|
@@ -27,27 +26,27 @@ export const DefaultVersionView = ({ doc, docPermissions, initialComparisonDoc,
|
|
|
27
26
|
const [collectionConfig] = useState(()=>config.collections.find((collection)=>collection.slug === collectionSlug));
|
|
28
27
|
const [globalConfig] = useState(()=>config.globals.find((global)=>global.slug === globalSlug));
|
|
29
28
|
const [locales, setLocales] = useState(localeOptions);
|
|
30
|
-
const [compareValue, setCompareValue] = useState(
|
|
29
|
+
const [compareValue, setCompareValue] = useState();
|
|
31
30
|
const { admin: { dateFormat }, localization, routes: { api: apiRoute }, serverURL } = config;
|
|
32
|
-
const
|
|
33
|
-
date: doc.
|
|
31
|
+
const versionCreatedAt = doc?.updatedAt ? formatDate({
|
|
32
|
+
date: doc.updatedAt,
|
|
34
33
|
i18n,
|
|
35
34
|
pattern: dateFormat
|
|
36
35
|
}) : '';
|
|
37
|
-
const originalDocFetchURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${collectionSlug || globalSlug}${collectionSlug ? `/${id}` : ''}`;
|
|
38
36
|
const compareBaseURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${collectionSlug || globalSlug}/versions`;
|
|
39
|
-
const compareFetchURL = compareValue?.value
|
|
37
|
+
const compareFetchURL = compareValue?.value && `${compareBaseURL}/${compareValue.value}`;
|
|
40
38
|
const [{ data: currentComparisonDoc }] = usePayloadAPI(compareFetchURL, {
|
|
41
39
|
initialData: initialComparisonDoc,
|
|
42
40
|
initialParams: {
|
|
43
41
|
depth: 1,
|
|
44
42
|
draft: 'true',
|
|
45
|
-
locale: '
|
|
43
|
+
locale: 'all'
|
|
46
44
|
}
|
|
47
45
|
});
|
|
48
|
-
const comparison = compareValue?.value
|
|
46
|
+
const comparison = compareValue?.value && currentComparisonDoc?.version // the `version` key is only present on `versions` documents
|
|
49
47
|
;
|
|
50
48
|
const canUpdate = docPermissions?.update?.permission;
|
|
49
|
+
const localeValues = locales && locales.map((locale)=>locale.value);
|
|
51
50
|
return /*#__PURE__*/ _jsxs("main", {
|
|
52
51
|
className: baseClass,
|
|
53
52
|
children: [
|
|
@@ -61,8 +60,7 @@ export const DefaultVersionView = ({ doc, docPermissions, initialComparisonDoc,
|
|
|
61
60
|
fieldMap: fieldMap,
|
|
62
61
|
globalConfig: globalConfig,
|
|
63
62
|
globalSlug: globalSlug,
|
|
64
|
-
id: id
|
|
65
|
-
mostRecentDoc: mostRecentDoc
|
|
63
|
+
id: id
|
|
66
64
|
}),
|
|
67
65
|
/*#__PURE__*/ _jsxs(Gutter, {
|
|
68
66
|
className: `${baseClass}__wrap`,
|
|
@@ -80,7 +78,7 @@ export const DefaultVersionView = ({ doc, docPermissions, initialComparisonDoc,
|
|
|
80
78
|
className: `${baseClass}__header`,
|
|
81
79
|
children: [
|
|
82
80
|
/*#__PURE__*/ _jsx("h2", {
|
|
83
|
-
children:
|
|
81
|
+
children: versionCreatedAt
|
|
84
82
|
}),
|
|
85
83
|
canUpdate && /*#__PURE__*/ _jsx(Restore, {
|
|
86
84
|
className: `${baseClass}__restore`,
|
|
@@ -88,7 +86,8 @@ export const DefaultVersionView = ({ doc, docPermissions, initialComparisonDoc,
|
|
|
88
86
|
globalSlug: globalSlug,
|
|
89
87
|
label: collectionConfig?.labels.singular || globalConfig?.label,
|
|
90
88
|
originalDocID: id,
|
|
91
|
-
|
|
89
|
+
status: doc?.version?._status,
|
|
90
|
+
versionDate: versionCreatedAt,
|
|
92
91
|
versionID: versionID
|
|
93
92
|
})
|
|
94
93
|
]
|
|
@@ -100,9 +99,10 @@ export const DefaultVersionView = ({ doc, docPermissions, initialComparisonDoc,
|
|
|
100
99
|
children: [
|
|
101
100
|
/*#__PURE__*/ _jsx(SelectComparison, {
|
|
102
101
|
baseURL: compareBaseURL,
|
|
102
|
+
latestDraftVersion: latestDraftVersion,
|
|
103
|
+
latestPublishedVersion: latestPublishedVersion,
|
|
103
104
|
onChange: setCompareValue,
|
|
104
105
|
parentID: id,
|
|
105
|
-
publishedDoc: publishedDoc,
|
|
106
106
|
value: compareValue,
|
|
107
107
|
versionID: versionID
|
|
108
108
|
}),
|
|
@@ -119,7 +119,7 @@ export const DefaultVersionView = ({ doc, docPermissions, initialComparisonDoc,
|
|
|
119
119
|
fieldMap: fieldMap,
|
|
120
120
|
fieldPermissions: docPermissions?.fields,
|
|
121
121
|
i18n: i18n,
|
|
122
|
-
locales:
|
|
122
|
+
locales: localeValues,
|
|
123
123
|
version: globalConfig ? {
|
|
124
124
|
...doc?.version,
|
|
125
125
|
createdAt: doc?.version?.createdAt || doc.createdAt,
|
|
@@ -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"],"mappings":"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"}
|
|
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 { 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 latestDraftVersion,\n latestPublishedVersion,\n localeOptions,\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\n const [compareValue, setCompareValue] = useState<CompareOption>()\n\n const {\n admin: { dateFormat },\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const versionCreatedAt = doc?.updatedAt\n ? formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat })\n : ''\n\n const compareBaseURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }/versions`\n\n const compareFetchURL = compareValue?.value && `${compareBaseURL}/${compareValue.value}`\n\n const [{ data: currentComparisonDoc }] = usePayloadAPI(compareFetchURL, {\n initialData: initialComparisonDoc,\n initialParams: { depth: 1, draft: 'true', locale: 'all' },\n })\n\n const comparison = compareValue?.value && currentComparisonDoc?.version // the `version` key is only present on `versions` documents\n\n const canUpdate = docPermissions?.update?.permission\n\n const localeValues = locales && locales.map((locale) => locale.value)\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 />\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>{versionCreatedAt}</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 status={doc?.version?._status}\n versionDate={versionCreatedAt}\n versionID={versionID}\n />\n )}\n </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\n latestDraftVersion={latestDraftVersion}\n latestPublishedVersion={latestPublishedVersion}\n onChange={setCompareValue}\n parentID={id}\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={localeValues}\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","SetStepNav","baseClass","DefaultVersionView","doc","docPermissions","initialComparisonDoc","latestDraftVersion","latestPublishedVersion","localeOptions","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","versionCreatedAt","updatedAt","date","pattern","compareBaseURL","compareFetchURL","value","data","currentComparisonDoc","initialData","initialParams","depth","draft","locale","comparison","version","canUpdate","update","permission","localeValues","map","main","className","actions","actionsMap","Edit","Version","div","p","t","autosave","header","h2","label","labels","singular","originalDocID","status","_status","versionDate","baseURL","onChange","parentID","options","fieldPermissions","fields","createdAt"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CollectionPermission, Document, GlobalPermission, OptionObject } from 'payload';
|
|
2
2
|
export type CompareOption = {
|
|
3
|
-
label: string;
|
|
3
|
+
label: React.ReactNode | string;
|
|
4
4
|
options?: CompareOption[];
|
|
5
5
|
relationTo?: string;
|
|
6
6
|
value: string;
|
|
@@ -9,9 +9,9 @@ export type DefaultVersionsViewProps = {
|
|
|
9
9
|
doc: Document;
|
|
10
10
|
docPermissions: CollectionPermission | GlobalPermission;
|
|
11
11
|
initialComparisonDoc: Document;
|
|
12
|
+
latestDraftVersion?: string;
|
|
13
|
+
latestPublishedVersion?: string;
|
|
12
14
|
localeOptions: OptionObject[];
|
|
13
|
-
mostRecentDoc: Document;
|
|
14
|
-
publishedDoc: Document;
|
|
15
15
|
versionID?: string;
|
|
16
16
|
};
|
|
17
17
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE7F,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE7F,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAA;IAC/B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,GAAG,EAAE,QAAQ,CAAA;IACb,cAAc,EAAE,oBAAoB,GAAG,gBAAgB,CAAA;IACvD,oBAAoB,EAAE,QAAQ,CAAA;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA"}
|
|
@@ -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
|
|
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: React.ReactNode | 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 latestDraftVersion?: string\n latestPublishedVersion?: string\n localeOptions: OptionObject[]\n versionID?: string\n}\n"],"names":[],"mappings":"AASA,WAQC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx"],"sourcesContent":["import type { MappedField } from '
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx"],"sourcesContent":["import type { MappedField } from 'payload'\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/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, MappedField } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { 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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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import type { SelectFieldProps } from '
|
|
2
|
-
import type { MappedField } from '@payloadcms/ui/utilities/buildComponentMap';
|
|
1
|
+
import type { MappedField, SelectFieldProps } from 'payload';
|
|
3
2
|
import React from 'react';
|
|
4
3
|
import type { Props } from '../types.js';
|
|
5
4
|
import './index.scss';
|
|
6
|
-
declare const Select: React.FC<
|
|
5
|
+
declare const Select: React.FC<{
|
|
7
6
|
field: MappedField & SelectFieldProps;
|
|
8
|
-
}
|
|
7
|
+
} & Omit<Props, 'field'>>;
|
|
9
8
|
export default Select;
|
|
10
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAA6B,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAGvF,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAKxC,OAAO,cAAc,CAAA;AAmCrB,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CACpB;IACE,KAAK,EAAE,WAAW,GAAG,gBAAgB,CAAA;CACtC,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAiCzB,CAAA;AAED,eAAe,MAAM,CAAA"}
|