@payloadcms/next 3.24.0-canary.72057b1 → 3.24.0-canary.80e034e
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/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +1 -2
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +2 -2
- 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/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +2 -0
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.scss +0 -2
- package/dist/elements/Nav/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/index.client.js +1 -3
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.d.ts.map +1 -1
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +4 -4
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +1 -2
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/API/index.d.ts +3 -2
- package/dist/views/API/index.d.ts.map +1 -1
- package/dist/views/API/index.js +2 -2
- package/dist/views/API/index.js.map +1 -1
- package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -1
- package/dist/views/Account/ResetPreferences/index.js +83 -56
- package/dist/views/Account/ResetPreferences/index.js.map +1 -1
- package/dist/views/Account/index.d.ts +2 -2
- package/dist/views/Account/index.d.ts.map +1 -1
- package/dist/views/Account/index.js +4 -3
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/CreateFirstUser/index.d.ts +2 -2
- package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.js +3 -3
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/Dashboard/Default/index.d.ts +13 -6
- package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/index.js +2 -5
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/index.d.ts +2 -2
- package/dist/views/Dashboard/index.d.ts.map +1 -1
- package/dist/views/Dashboard/index.js +3 -7
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Document/getVersions.d.ts +1 -1
- package/dist/views/Document/getVersions.d.ts.map +1 -1
- package/dist/views/Document/getVersions.js +9 -8
- package/dist/views/Document/getVersions.js.map +1 -1
- package/dist/views/Document/getViewsFromConfig.d.ts +4 -4
- package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
- package/dist/views/Document/getViewsFromConfig.js.map +1 -1
- package/dist/views/Document/handleServerFunction.d.ts.map +1 -1
- package/dist/views/Document/handleServerFunction.js +2 -0
- package/dist/views/Document/handleServerFunction.js.map +1 -1
- package/dist/views/Document/index.d.ts +4 -3
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +7 -7
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
- package/dist/views/Document/renderDocumentSlots.js +6 -5
- package/dist/views/Document/renderDocumentSlots.js.map +1 -1
- package/dist/views/Edit/index.d.ts +2 -2
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.d.ts +2 -2
- package/dist/views/ForgotPassword/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/index.js +4 -7
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/List/handleServerFunction.d.ts.map +1 -1
- package/dist/views/List/handleServerFunction.js +2 -0
- package/dist/views/List/handleServerFunction.js.map +1 -1
- package/dist/views/List/index.d.ts +6 -5
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +30 -30
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/renderListViewSlots.d.ts +3 -4
- package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
- package/dist/views/List/renderListViewSlots.js +20 -11
- package/dist/views/List/renderListViewSlots.js.map +1 -1
- package/dist/views/LivePreview/Context/index.d.ts.map +1 -1
- package/dist/views/LivePreview/Context/index.js +5 -1
- package/dist/views/LivePreview/Context/index.js.map +1 -1
- package/dist/views/LivePreview/index.client.d.ts.map +1 -1
- package/dist/views/LivePreview/index.client.js +6 -3
- package/dist/views/LivePreview/index.client.js.map +1 -1
- package/dist/views/LivePreview/index.d.ts +3 -2
- package/dist/views/LivePreview/index.d.ts.map +1 -1
- package/dist/views/LivePreview/index.js +2 -2
- package/dist/views/LivePreview/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
- package/dist/views/Login/LoginForm/index.js +1 -3
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Login/index.d.ts +2 -2
- package/dist/views/Login/index.d.ts.map +1 -1
- package/dist/views/Login/index.js +3 -4
- 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 +32 -30
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.d.ts +3 -3
- 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 +0 -3
- package/dist/views/NotFound/index.client.js.map +1 -1
- package/dist/views/NotFound/index.d.ts +2 -2
- package/dist/views/NotFound/index.d.ts.map +1 -1
- package/dist/views/NotFound/index.js +2 -2
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/ResetPassword/index.d.ts +2 -2
- package/dist/views/ResetPassword/index.d.ts.map +1 -1
- package/dist/views/ResetPassword/index.js +4 -7
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/Root/getViewFromConfig.d.ts +3 -3
- 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.map +1 -1
- package/dist/views/Unauthorized/index.d.ts +3 -2
- package/dist/views/Unauthorized/index.d.ts.map +1 -1
- package/dist/views/Unauthorized/index.js +3 -6
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Verify/index.client.d.ts.map +1 -1
- package/dist/views/Verify/index.client.js +13 -9
- package/dist/views/Verify/index.client.js.map +1 -1
- package/dist/views/Verify/index.d.ts +2 -2
- package/dist/views/Verify/index.d.ts.map +1 -1
- package/dist/views/Verify/index.js +4 -4
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +9 -5
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +2 -0
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +126 -59
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts +2 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +18 -4
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +12 -8
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +12 -8
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +20 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +30 -21
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +13 -9
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts +7 -3
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +36 -3
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +3 -2
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +7 -6
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +12 -32
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/index.d.ts +3 -2
- package/dist/views/Version/index.d.ts.map +1 -1
- package/dist/views/Version/index.js +3 -2
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/buildColumns.d.ts +1 -2
- package/dist/views/Versions/buildColumns.d.ts.map +1 -1
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +1 -3
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/index.client.d.ts +1 -2
- package/dist/views/Versions/index.client.d.ts.map +1 -1
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.d.ts +3 -2
- package/dist/views/Versions/index.d.ts.map +1 -1
- package/dist/views/Versions/index.js +2 -2
- package/dist/views/Versions/index.js.map +1 -1
- package/package.json +7 -8
- package/dist/views/Account/ResetPreferences/ConfirmResetModal/index.d.ts +0 -6
- package/dist/views/Account/ResetPreferences/ConfirmResetModal/index.d.ts.map +0 -1
- package/dist/views/Account/ResetPreferences/ConfirmResetModal/index.js +0 -83
- package/dist/views/Account/ResetPreferences/ConfirmResetModal/index.js.map +0 -1
- package/dist/views/Account/ResetPreferences/ConfirmResetModal/index.scss +0 -40
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["RenderServerComponent","formatAdminURL","getClientConfig","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","documentSubViewType","initPageOptions","serverProps","templateClassName","templateType","viewType","initPageResult","dbHasUser","req","payload","db","findOne","collection","then","doc","Component","payloadComponent","redirectTo","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","clientConfig","i18n","RenderedView","clientProps","Fallback","docID","_jsxs","_jsx","className","collectionSlug","globalSlug","globalConfig","locale","permissions","viewActions","visibleEntities","globals"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { ImportMap, SanitizedConfig } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\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 importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: `${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const searchParams = await searchParamsPromise\n\n const {\n DefaultView,\n documentSubViewType,\n initPageOptions,\n serverProps,\n templateClassName,\n templateType,\n viewType,\n } = getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n })\n\n const initPageResult = await initPage(initPageOptions)\n\n const dbHasUser =\n initPageResult.req.user ||\n (await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc))\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (initPageResult?.req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n if (typeof initPageResult?.redirectTo === 'string') {\n redirect(initPageResult.redirectTo)\n }\n\n if (initPageResult) {\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 if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: initPageResult?.req.i18n,\n importMap,\n })\n\n const RenderedView = RenderServerComponent({\n clientProps: { clientConfig, documentSubViewType, viewType },\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n ...serverProps,\n clientConfig,\n docID: initPageResult?.docID,\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\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 collectionSlug={initPageResult?.collectionConfig?.slug}\n docID={initPageResult?.docID}\n documentSubViewType={documentSubViewType}\n globalSlug={initPageResult?.globalConfig?.slug}\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 viewActions={serverProps.viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: initPageResult?.visibleEntities?.collections,\n globals: initPageResult?.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["RenderServerComponent","formatAdminURL","getClientConfig","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","documentSubViewType","initPageOptions","serverProps","templateClassName","templateType","viewType","initPageResult","dbHasUser","req","payload","db","findOne","collection","then","doc","Component","payloadComponent","redirectTo","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","clientConfig","i18n","RenderedView","clientProps","Fallback","docID","_jsxs","_jsx","className","collectionSlug","globalSlug","globalConfig","locale","permissions","viewActions","visibleEntities","globals"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type {\n AdminViewClientProps,\n AdminViewServerPropsOnly,\n ImportMap,\n SanitizedConfig,\n} from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\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 importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: `${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const searchParams = await searchParamsPromise\n\n const {\n DefaultView,\n documentSubViewType,\n initPageOptions,\n serverProps,\n templateClassName,\n templateType,\n viewType,\n } = getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n })\n\n const initPageResult = await initPage(initPageOptions)\n\n const dbHasUser =\n initPageResult.req.user ||\n (await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc))\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (initPageResult?.req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n if (typeof initPageResult?.redirectTo === 'string') {\n redirect(initPageResult.redirectTo)\n }\n\n if (initPageResult) {\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 if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: initPageResult?.req.i18n,\n importMap,\n })\n\n const RenderedView = RenderServerComponent({\n clientProps: { clientConfig, documentSubViewType, viewType } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n ...serverProps,\n clientConfig,\n docID: initPageResult?.docID,\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\n } satisfies AdminViewServerPropsOnly,\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 collectionSlug={initPageResult?.collectionConfig?.slug}\n docID={initPageResult?.docID}\n documentSubViewType={documentSubViewType}\n globalSlug={initPageResult?.globalConfig?.slug}\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 viewActions={serverProps.viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: initPageResult?.visibleEntities?.collections,\n globals: initPageResult?.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AdminViewServerProps } from 'payload';
|
|
2
|
+
import React from 'react';
|
|
2
3
|
import './index.scss';
|
|
3
4
|
export { generateUnauthorizedMetadata } from './meta.js';
|
|
4
|
-
export declare
|
|
5
|
+
export declare function UnauthorizedView({ initPageResult }: AdminViewServerProps): React.JSX.Element;
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Unauthorized/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Unauthorized/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAInD,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAIxD,wBAAgB,gBAAgB,CAAC,EAAE,cAAc,EAAE,EAAE,oBAAoB,qBAsCxE"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Button } from '@payloadcms/ui';
|
|
3
3
|
import { formatAdminURL } from '@payloadcms/ui/shared';
|
|
4
|
-
import LinkImport from 'next/link.js';
|
|
5
4
|
import React from 'react';
|
|
6
5
|
import { FormHeader } from '../../elements/FormHeader/index.js';
|
|
7
|
-
const Link = LinkImport.default || LinkImport;
|
|
8
6
|
export { generateUnauthorizedMetadata } from './meta.js';
|
|
9
7
|
const baseClass = 'unauthorized';
|
|
10
|
-
export
|
|
8
|
+
export function UnauthorizedView({
|
|
11
9
|
initPageResult
|
|
12
|
-
})
|
|
10
|
+
}) {
|
|
13
11
|
const {
|
|
14
12
|
permissions,
|
|
15
13
|
req: {
|
|
@@ -37,7 +35,6 @@ export const UnauthorizedView = ({
|
|
|
37
35
|
}), /*#__PURE__*/_jsx(Button, {
|
|
38
36
|
className: `${baseClass}__button`,
|
|
39
37
|
el: "link",
|
|
40
|
-
Link: Link,
|
|
41
38
|
size: "large",
|
|
42
39
|
to: formatAdminURL({
|
|
43
40
|
adminRoute,
|
|
@@ -46,5 +43,5 @@ export const UnauthorizedView = ({
|
|
|
46
43
|
children: i18n.t('authentication:logOut')
|
|
47
44
|
})]
|
|
48
45
|
});
|
|
49
|
-
}
|
|
46
|
+
}
|
|
50
47
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Button","formatAdminURL","
|
|
1
|
+
{"version":3,"file":"index.js","names":["Button","formatAdminURL","React","FormHeader","generateUnauthorizedMetadata","baseClass","UnauthorizedView","initPageResult","permissions","req","i18n","payload","config","admin","routes","logout","logoutRoute","adminRoute","user","_jsxs","className","_jsx","description","t","heading","canAccessAdmin","el","size","to","path"],"sources":["../../../src/views/Unauthorized/index.tsx"],"sourcesContent":["import type { AdminViewServerProps } from 'payload'\n\nimport { Button } from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { FormHeader } from '../../elements/FormHeader/index.js'\nimport './index.scss'\n\nexport { generateUnauthorizedMetadata } from './meta.js'\n\nconst baseClass = 'unauthorized'\n\nexport function UnauthorizedView({ initPageResult }: AdminViewServerProps) {\n const {\n permissions,\n req: {\n i18n,\n payload: {\n config: {\n admin: {\n routes: { logout: logoutRoute },\n },\n routes: { admin: adminRoute },\n },\n },\n user,\n },\n } = initPageResult\n\n return (\n <div className={baseClass}>\n <FormHeader\n description={i18n.t('error:notAllowedToAccessPage')}\n heading={i18n.t(\n user && !permissions.canAccessAdmin ? 'error:unauthorizedAdmin' : 'error:unauthorized',\n )}\n />\n <Button\n className={`${baseClass}__button`}\n el=\"link\"\n size=\"large\"\n to={formatAdminURL({\n adminRoute,\n path: logoutRoute,\n })}\n >\n {i18n.t('authentication:logOut')}\n </Button>\n </div>\n )\n}\n"],"mappings":";AAEA,SAASA,MAAM,QAAQ;AACvB,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAG3B,SAASC,4BAA4B,QAAQ;AAE7C,MAAMC,SAAA,GAAY;AAElB,OAAO,SAASC,iBAAiB;EAAEC;AAAc,CAAwB;EACvE,MAAM;IACJC,WAAW;IACXC,GAAA,EAAK;MACHC,IAAI;MACJC,OAAA,EAAS;QACPC,MAAA,EAAQ;UACNC,KAAA,EAAO;YACLC,MAAA,EAAQ;cAAEC,MAAA,EAAQC;YAAW;UAAE,CAChC;UACDF,MAAA,EAAQ;YAAED,KAAA,EAAOI;UAAU;QAAE;MAC9B,CACF;MACDC;IAAI;EACL,CACF,GAAGX,cAAA;EAEJ,oBACEY,KAAA,CAAC;IAAIC,SAAA,EAAWf,SAAA;4BACdgB,IAAA,CAAClB,UAAA;MACCmB,WAAA,EAAaZ,IAAA,CAAKa,CAAC,CAAC;MACpBC,OAAA,EAASd,IAAA,CAAKa,CAAC,CACbL,IAAA,IAAQ,CAACV,WAAA,CAAYiB,cAAc,GAAG,4BAA4B;qBAGtEJ,IAAA,CAACrB,MAAA;MACCoB,SAAA,EAAW,GAAGf,SAAA,UAAmB;MACjCqB,EAAA,EAAG;MACHC,IAAA,EAAK;MACLC,EAAA,EAAI3B,cAAA,CAAe;QACjBgB,UAAA;QACAY,IAAA,EAAMb;MACR;gBAECN,IAAA,CAAKa,CAAC,CAAC;;;AAIhB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/Verify/index.client.tsx"],"names":[],"mappings":"AAKA,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AACD,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/Verify/index.client.tsx"],"names":[],"mappings":"AAKA,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AACD,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,KAAK,OAwB9D"}
|
|
@@ -1,27 +1,30 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { c as _c } from "react/compiler-runtime";
|
|
4
|
-
import { toast } from '@payloadcms/ui';
|
|
4
|
+
import { toast, useRouteTransition } from '@payloadcms/ui';
|
|
5
5
|
import { useRouter } from 'next/navigation.js';
|
|
6
6
|
import React, { useEffect } from 'react';
|
|
7
7
|
export function ToastAndRedirect(t0) {
|
|
8
|
-
const $ = _c(
|
|
8
|
+
const $ = _c(6);
|
|
9
9
|
const {
|
|
10
10
|
message,
|
|
11
11
|
redirectTo
|
|
12
12
|
} = t0;
|
|
13
13
|
const router = useRouter();
|
|
14
|
+
const {
|
|
15
|
+
startRouteTransition
|
|
16
|
+
} = useRouteTransition();
|
|
14
17
|
const hasToastedRef = React.useRef(false);
|
|
15
18
|
let t1;
|
|
16
19
|
let t2;
|
|
17
|
-
if ($[0] !== message || $[1] !== redirectTo || $[2] !== router) {
|
|
20
|
+
if ($[0] !== message || $[1] !== redirectTo || $[2] !== router || $[3] !== startRouteTransition) {
|
|
18
21
|
t1 = () => {
|
|
19
22
|
let timeoutID;
|
|
20
23
|
if (toast) {
|
|
21
24
|
timeoutID = setTimeout(() => {
|
|
22
25
|
toast.success(message);
|
|
23
26
|
hasToastedRef.current = true;
|
|
24
|
-
router.push(redirectTo);
|
|
27
|
+
startRouteTransition(() => router.push(redirectTo));
|
|
25
28
|
}, 100);
|
|
26
29
|
}
|
|
27
30
|
return () => {
|
|
@@ -30,15 +33,16 @@ export function ToastAndRedirect(t0) {
|
|
|
30
33
|
}
|
|
31
34
|
};
|
|
32
35
|
};
|
|
33
|
-
t2 = [router, redirectTo, message];
|
|
36
|
+
t2 = [router, redirectTo, message, startRouteTransition];
|
|
34
37
|
$[0] = message;
|
|
35
38
|
$[1] = redirectTo;
|
|
36
39
|
$[2] = router;
|
|
37
|
-
$[3] =
|
|
38
|
-
$[4] =
|
|
40
|
+
$[3] = startRouteTransition;
|
|
41
|
+
$[4] = t1;
|
|
42
|
+
$[5] = t2;
|
|
39
43
|
} else {
|
|
40
|
-
t1 = $[
|
|
41
|
-
t2 = $[
|
|
44
|
+
t1 = $[4];
|
|
45
|
+
t2 = $[5];
|
|
42
46
|
}
|
|
43
47
|
useEffect(t1, t2);
|
|
44
48
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.js","names":["c","_c","toast","useRouter","React","useEffect","ToastAndRedirect","t0","$","message","redirectTo","router","hasToastedRef","useRef","t1","t2","timeoutID","current","push","clearTimeout"],"sources":["../../../src/views/Verify/index.client.tsx"],"sourcesContent":["'use client'\nimport { toast } from '@payloadcms/ui'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useEffect } from 'react'\n\ntype Props = {\n message: string\n redirectTo: string\n}\nexport function ToastAndRedirect({ message, redirectTo }: Props) {\n const router = useRouter()\n const hasToastedRef = React.useRef(false)\n\n useEffect(() => {\n let timeoutID\n if (toast) {\n timeoutID = setTimeout(() => {\n toast.success(message)\n hasToastedRef.current = true\n router.push(redirectTo)\n }, 100)\n }\n\n return () => {\n if (timeoutID) {\n clearTimeout(timeoutID)\n }\n }\n }, [router, redirectTo, message])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AACA,SAASC,KAAK,QAAQ;
|
|
1
|
+
{"version":3,"file":"index.client.js","names":["c","_c","toast","useRouteTransition","useRouter","React","useEffect","ToastAndRedirect","t0","$","message","redirectTo","router","startRouteTransition","hasToastedRef","useRef","t1","t2","timeoutID","current","push","clearTimeout"],"sources":["../../../src/views/Verify/index.client.tsx"],"sourcesContent":["'use client'\nimport { toast, useRouteTransition } from '@payloadcms/ui'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useEffect } from 'react'\n\ntype Props = {\n message: string\n redirectTo: string\n}\nexport function ToastAndRedirect({ message, redirectTo }: Props) {\n const router = useRouter()\n const { startRouteTransition } = useRouteTransition()\n const hasToastedRef = React.useRef(false)\n\n useEffect(() => {\n let timeoutID\n\n if (toast) {\n timeoutID = setTimeout(() => {\n toast.success(message)\n hasToastedRef.current = true\n startRouteTransition(() => router.push(redirectTo))\n }, 100)\n }\n\n return () => {\n if (timeoutID) {\n clearTimeout(timeoutID)\n }\n }\n }, [router, redirectTo, message, startRouteTransition])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AACA,SAASC,KAAK,EAAEC,kBAAkB,QAAQ;AAC1C,SAASC,SAAS,QAAQ;AAC1B,OAAOC,KAAA,IAASC,SAAS,QAAQ;AAMjC,OAAO,SAAAC,iBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EAA0B;IAAAS,OAAA;IAAAC;EAAA,IAAAH,EAA8B;EAC7D,MAAAI,MAAA,GAAeR,SAAA;EACf;IAAAS;EAAA,IAAiCV,kBAAA;EACjC,MAAAW,aAAA,GAAsBT,KAAA,CAAAU,MAAA,MAAa;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAR,CAAA,QAAAC,OAAA,IAAAD,CAAA,QAAAE,UAAA,IAAAF,CAAA,QAAAG,MAAA,IAAAH,CAAA,QAAAI,oBAAA;IAEzBG,EAAA,GAAAA,CAAA;MACJE,GAAA,CAAAA,SAAA;MAAA,IAAAhB,KAAA;QAGFgB,SAAA,CAAAA,CAAA,CAAYA,aAAA,CAAAA,EAAA,CAAAA;UACVA,cAAcR,OAAA;UACdI,aAAA,CAAAK,OAAA;UACAN,oBAAA,OAA2BD,MAAA,CAAAQ,IAAA,CAAYT,UAAA;QAAA,MACtC;MAJH;MAAA;QAAA,IAQIO,SAAA;UACFG,YAAA,CAAaH,SAAA;QAAA;MAAA;IAAA;IAGhBD,EAAA,IAACL,MAAA,EAAQD,UAAA,EAAYD,OAAA,EAASG,oBAAA;IAAqBJ,CAAA,MAAAC,OAAA;IAAAD,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAG,MAAA;IAAAH,CAAA,MAAAI,oBAAA;IAAAJ,CAAA,MAAAO,EAAA;IAAAP,CAAA,MAAAQ,EAAA;EAAA;IAAAD,EAAA,GAAAP,CAAA;IAAAQ,EAAA,GAAAR,CAAA;EAAA;EAhBtDH,SAAA,CAAUU,EAgBV,EAAGC,EAAmD;EAAA;AAAA","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AdminViewServerProps } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import './index.scss';
|
|
4
4
|
export declare const verifyBaseClass = "verify";
|
|
5
5
|
export { generateVerifyMetadata } from './meta.js';
|
|
6
|
-
export declare
|
|
6
|
+
export declare function Verify({ initPageResult, params, searchParams }: AdminViewServerProps): Promise<React.JSX.Element>;
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Verify/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Verify/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAGnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,eAAe,WAAW,CAAA;AAEvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,wBAAsB,MAAM,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,oBAAoB,8BAyD1F"}
|
|
@@ -5,13 +5,13 @@ import { Logo } from '../../elements/Logo/index.js';
|
|
|
5
5
|
import { ToastAndRedirect } from './index.client.js';
|
|
6
6
|
export const verifyBaseClass = 'verify';
|
|
7
7
|
export { generateVerifyMetadata } from './meta.js';
|
|
8
|
-
export
|
|
8
|
+
export async function Verify({
|
|
9
9
|
initPageResult,
|
|
10
10
|
params,
|
|
11
11
|
searchParams
|
|
12
|
-
})
|
|
12
|
+
}) {
|
|
13
13
|
// /:collectionSlug/verify/:token
|
|
14
|
-
const [collectionSlug,
|
|
14
|
+
const [collectionSlug, token] = params.segments;
|
|
15
15
|
const {
|
|
16
16
|
locale,
|
|
17
17
|
permissions,
|
|
@@ -67,5 +67,5 @@ export const Verify = async ({
|
|
|
67
67
|
children: textToRender
|
|
68
68
|
})]
|
|
69
69
|
});
|
|
70
|
-
}
|
|
70
|
+
}
|
|
71
71
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["formatAdminURL","React","Logo","ToastAndRedirect","verifyBaseClass","generateVerifyMetadata","Verify","initPageResult","params","searchParams","collectionSlug","
|
|
1
|
+
{"version":3,"file":"index.js","names":["formatAdminURL","React","Logo","ToastAndRedirect","verifyBaseClass","generateVerifyMetadata","Verify","initPageResult","params","searchParams","collectionSlug","token","segments","locale","permissions","req","i18n","payload","config","user","routes","admin","adminRoute","textToRender","isVerified","verifyEmail","collection","t","e","_jsx","message","redirectTo","path","_jsxs","Fragment","className"],"sources":["../../../src/views/Verify/index.tsx"],"sourcesContent":["import type { AdminViewServerProps } from 'payload'\n\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { Logo } from '../../elements/Logo/index.js'\nimport { ToastAndRedirect } from './index.client.js'\nimport './index.scss'\n\nexport const verifyBaseClass = 'verify'\n\nexport { generateVerifyMetadata } from './meta.js'\n\nexport async function Verify({ initPageResult, params, searchParams }: AdminViewServerProps) {\n // /:collectionSlug/verify/:token\n\n const [collectionSlug, 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 let isVerified = false\n\n try {\n await req.payload.verifyEmail({\n collection: collectionSlug,\n token,\n })\n\n isVerified = true\n textToRender = req.t('authentication:emailVerified')\n } catch (e) {\n textToRender = req.t('authentication:unableToVerify')\n }\n\n if (isVerified) {\n return (\n <ToastAndRedirect\n message={req.t('authentication:emailVerified')}\n redirectTo={formatAdminURL({ adminRoute, path: '/login' })}\n />\n )\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"],"mappings":";AAEA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,IAAI,QAAQ;AACrB,SAASC,gBAAgB,QAAQ;AAGjC,OAAO,MAAMC,eAAA,GAAkB;AAE/B,SAASC,sBAAsB,QAAQ;AAEvC,OAAO,eAAeC,OAAO;EAAEC,cAAc;EAAEC,MAAM;EAAEC;AAAY,CAAwB;EACzF;EAEA,MAAM,CAACC,cAAA,EAAgBC,KAAA,CAAM,GAAGH,MAAA,CAAOI,QAAQ;EAC/C,MAAM;IAAEC,MAAM;IAAEC,WAAW;IAAEC;EAAG,CAAE,GAAGR,cAAA;EAErC,MAAM;IACJS,IAAI;IACJC,OAAA,EAAS;MAAEC;IAAM,CAAE;IACnBD,OAAO;IACPE;EAAI,CACL,GAAGJ,GAAA;EAEJ,MAAM;IACJK,MAAA,EAAQ;MAAEC,KAAA,EAAOC;IAAU;EAAE,CAC9B,GAAGJ,MAAA;EAEJ,IAAIK,YAAA;EACJ,IAAIC,UAAA,GAAa;EAEjB,IAAI;IACF,MAAMT,GAAA,CAAIE,OAAO,CAACQ,WAAW,CAAC;MAC5BC,UAAA,EAAYhB,cAAA;MACZC;IACF;IAEAa,UAAA,GAAa;IACbD,YAAA,GAAeR,GAAA,CAAIY,CAAC,CAAC;EACvB,EAAE,OAAOC,CAAA,EAAG;IACVL,YAAA,GAAeR,GAAA,CAAIY,CAAC,CAAC;EACvB;EAEA,IAAIH,UAAA,EAAY;IACd,oBACEK,IAAA,CAAC1B,gBAAA;MACC2B,OAAA,EAASf,GAAA,CAAIY,CAAC,CAAC;MACfI,UAAA,EAAY/B,cAAA,CAAe;QAAEsB,UAAA;QAAYU,IAAA,EAAM;MAAS;;EAG9D;EAEA,oBACEC,KAAA,CAAChC,KAAA,CAAMiC,QAAQ;4BACbL,IAAA,CAAC;MAAIM,SAAA,EAAW,GAAG/B,eAAA,SAAwB;gBACzC,aAAAyB,IAAA,CAAC3B,IAAA;QACCc,IAAA,EAAMA,IAAA;QACNH,MAAA,EAAQA,MAAA;QACRL,MAAA,EAAQA,MAAA;QACRS,OAAA,EAASA,OAAA;QACTH,WAAA,EAAaA,WAAA;QACbL,YAAA,EAAcA,YAAA;QACdU,IAAA,EAAMA;;qBAGVU,IAAA,CAAC;gBAAIN;;;AAGX","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAE3D,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAIzE,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAsKjE,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
-
import { CheckboxInput, Gutter, useConfig, useDocumentInfo, useTranslation } from '@payloadcms/ui';
|
|
4
|
+
import { CheckboxInput, Gutter, useConfig, useDocumentInfo, useRouteTransition, useTranslation } from '@payloadcms/ui';
|
|
5
5
|
import { formatDate } from '@payloadcms/ui/shared';
|
|
6
6
|
import { usePathname, useRouter, useSearchParams } from 'next/navigation.js';
|
|
7
7
|
import React, { useEffect, useMemo, useState } from 'react';
|
|
@@ -37,6 +37,9 @@ export const DefaultVersionView = ({
|
|
|
37
37
|
collectionSlug,
|
|
38
38
|
globalSlug
|
|
39
39
|
} = useDocumentInfo();
|
|
40
|
+
const {
|
|
41
|
+
startRouteTransition
|
|
42
|
+
} = useRouteTransition();
|
|
40
43
|
const [collectionConfig] = useState(() => getEntityConfig({
|
|
41
44
|
collectionSlug
|
|
42
45
|
}));
|
|
@@ -53,8 +56,8 @@ export const DefaultVersionView = ({
|
|
|
53
56
|
setModifiedOnly(!modifiedOnly);
|
|
54
57
|
}
|
|
55
58
|
useEffect(() => {
|
|
56
|
-
// If the selected comparison doc or locales change, update URL params so that version page
|
|
57
|
-
// can update the version comparison state
|
|
59
|
+
// If the selected comparison doc or locales change, update URL params so that version page
|
|
60
|
+
// This is so that RSC can update the version comparison state
|
|
58
61
|
const current = new URLSearchParams(Array.from(searchParams.entries()));
|
|
59
62
|
if (!compareValue) {
|
|
60
63
|
current.delete('compareValue');
|
|
@@ -73,8 +76,9 @@ export const DefaultVersionView = ({
|
|
|
73
76
|
}
|
|
74
77
|
const search = current.toString();
|
|
75
78
|
const query = search ? `?${search}` : '';
|
|
76
|
-
|
|
77
|
-
|
|
79
|
+
// TODO: this transition occurs multiple times during the initial rendering phases, need to evaluate
|
|
80
|
+
startRouteTransition(() => router.push(`${pathname}${query}`));
|
|
81
|
+
}, [compareValue, pathname, router, searchParams, selectedLocales, modifiedOnly, startRouteTransition]);
|
|
78
82
|
const {
|
|
79
83
|
admin: {
|
|
80
84
|
dateFormat
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["CheckboxInput","Gutter","useConfig","useDocumentInfo","useTranslation","formatDate","usePathname","useRouter","useSearchParams","React","useEffect","useMemo","useState","Restore","SelectComparison","SelectLocales","SelectedLocalesContext","SetStepNav","baseClass","DefaultVersionView","canUpdate","doc","latestDraftVersion","latestPublishedVersion","modifiedOnly","modifiedOnlyProp","RenderedDiff","selectedLocales","selectedLocalesProp","versionID","config","getEntityConfig","availableLocales","localization","locales","map","locale","label","value","code","i18n","id","collectionSlug","globalSlug","collectionConfig","globalConfig","setSelectedLocales","compareValue","setCompareValue","router","pathname","searchParams","setModifiedOnly","onToggleModifiedOnly","current","URLSearchParams","Array","from","entries","delete","set","JSON","stringify","search","toString","query","push","admin","dateFormat","routes","api","apiRoute","serverURL","versionCreatedAt","updatedAt","date","pattern","compareBaseURL","draftsEnabled","Boolean","versions","drafts","_jsxs","className","_jsx","fields","t","version","autosave","labels","singular","originalDocID","status","_status","versionDate","checked","onToggle","baseURL","onChange","parentID","options","Provider"],"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject } from 'payload'\n\nimport { CheckboxInput, Gutter, useConfig, useDocumentInfo, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { usePathname, useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { useEffect, useMemo, useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport Restore from '../Restore/index.js'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport './index.scss'\nimport { SelectLocales } from '../SelectLocales/index.js'\nimport { SelectedLocalesContext } from './SelectedLocalesContext.js'\nimport { SetStepNav } from './SetStepNav.js'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n canUpdate,\n doc,\n latestDraftVersion,\n latestPublishedVersion,\n modifiedOnly: modifiedOnlyProp,\n RenderedDiff,\n selectedLocales: selectedLocalesProp,\n versionID,\n}) => {\n const { config, getEntityConfig } = useConfig()\n\n const availableLocales = useMemo(\n () =>\n config.localization\n ? config.localization.locales.map((locale) => ({\n label: locale.label,\n value: locale.code,\n }))\n : [],\n [config.localization],\n )\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug }))\n\n const [globalConfig] = useState(() => getEntityConfig({ globalSlug }))\n\n const [selectedLocales, setSelectedLocales] = useState<OptionObject[]>(selectedLocalesProp)\n\n const [compareValue, setCompareValue] = useState<CompareOption>()\n const router = useRouter()\n const pathname = usePathname()\n const searchParams = useSearchParams()\n const [modifiedOnly, setModifiedOnly] = useState(modifiedOnlyProp)\n function onToggleModifiedOnly() {\n setModifiedOnly(!modifiedOnly)\n }\n\n useEffect(() => {\n // If the selected comparison doc or locales change, update URL params so that version page RSC\n // can update the version comparison state\n const current = new URLSearchParams(Array.from(searchParams.entries()))\n\n if (!compareValue) {\n current.delete('compareValue')\n } else {\n current.set('compareValue', compareValue?.value)\n }\n if (!selectedLocales) {\n current.delete('localeCodes')\n } else {\n current.set('localeCodes', JSON.stringify(selectedLocales.map((locale) => locale.value)))\n }\n\n if (!modifiedOnly) {\n current.delete('modifiedOnly')\n } else {\n current.set('modifiedOnly', 'true')\n }\n\n const search = current.toString()\n const query = search ? `?${search}` : ''\n router.push(`${pathname}${query}`)\n }, [compareValue, pathname, router, searchParams, selectedLocales, modifiedOnly])\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 draftsEnabled = Boolean((collectionConfig || globalConfig)?.versions.drafts)\n\n return (\n <main className={baseClass}>\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fields={(collectionConfig || globalConfig)?.fields}\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 <span className={`${baseClass}__modifiedCheckBox`}>\n <CheckboxInput\n checked={modifiedOnly}\n id={'modifiedOnly'}\n label={i18n.t('version:modifiedOnly')}\n onToggle={onToggleModifiedOnly}\n />\n </span>\n </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\n draftsEnabled={draftsEnabled}\n latestDraftVersion={latestDraftVersion}\n latestPublishedVersion={latestPublishedVersion}\n onChange={setCompareValue}\n parentID={id}\n value={compareValue}\n versionID={versionID}\n />\n {localization && (\n <SelectLocales\n onChange={setSelectedLocales}\n options={availableLocales}\n value={selectedLocales}\n />\n )}\n </div>\n <SelectedLocalesContext.Provider\n value={{ selectedLocales: selectedLocales.map((locale) => locale.value) }}\n >\n {doc?.version && RenderedDiff}\n </SelectedLocalesContext.Provider>\n </Gutter>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["CheckboxInput","Gutter","useConfig","useDocumentInfo","useRouteTransition","useTranslation","formatDate","usePathname","useRouter","useSearchParams","React","useEffect","useMemo","useState","Restore","SelectComparison","SelectLocales","SelectedLocalesContext","SetStepNav","baseClass","DefaultVersionView","canUpdate","doc","latestDraftVersion","latestPublishedVersion","modifiedOnly","modifiedOnlyProp","RenderedDiff","selectedLocales","selectedLocalesProp","versionID","config","getEntityConfig","availableLocales","localization","locales","map","locale","label","value","code","i18n","id","collectionSlug","globalSlug","startRouteTransition","collectionConfig","globalConfig","setSelectedLocales","compareValue","setCompareValue","router","pathname","searchParams","setModifiedOnly","onToggleModifiedOnly","current","URLSearchParams","Array","from","entries","delete","set","JSON","stringify","search","toString","query","push","admin","dateFormat","routes","api","apiRoute","serverURL","versionCreatedAt","updatedAt","date","pattern","compareBaseURL","draftsEnabled","Boolean","versions","drafts","_jsxs","className","_jsx","fields","t","version","autosave","labels","singular","originalDocID","status","_status","versionDate","checked","onToggle","baseURL","onChange","parentID","options","Provider"],"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject } from 'payload'\n\nimport {\n CheckboxInput,\n Gutter,\n useConfig,\n useDocumentInfo,\n useRouteTransition,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { usePathname, useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { useEffect, useMemo, useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport Restore from '../Restore/index.js'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport './index.scss'\nimport { SelectLocales } from '../SelectLocales/index.js'\nimport { SelectedLocalesContext } from './SelectedLocalesContext.js'\nimport { SetStepNav } from './SetStepNav.js'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n canUpdate,\n doc,\n latestDraftVersion,\n latestPublishedVersion,\n modifiedOnly: modifiedOnlyProp,\n RenderedDiff,\n selectedLocales: selectedLocalesProp,\n versionID,\n}) => {\n const { config, getEntityConfig } = useConfig()\n\n const availableLocales = useMemo(\n () =>\n config.localization\n ? config.localization.locales.map((locale) => ({\n label: locale.label,\n value: locale.code,\n }))\n : [],\n [config.localization],\n )\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { startRouteTransition } = useRouteTransition()\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug }))\n\n const [globalConfig] = useState(() => getEntityConfig({ globalSlug }))\n\n const [selectedLocales, setSelectedLocales] = useState<OptionObject[]>(selectedLocalesProp)\n\n const [compareValue, setCompareValue] = useState<CompareOption>()\n const router = useRouter()\n const pathname = usePathname()\n const searchParams = useSearchParams()\n const [modifiedOnly, setModifiedOnly] = useState(modifiedOnlyProp)\n function onToggleModifiedOnly() {\n setModifiedOnly(!modifiedOnly)\n }\n\n useEffect(() => {\n // If the selected comparison doc or locales change, update URL params so that version page\n // This is so that RSC can update the version comparison state\n const current = new URLSearchParams(Array.from(searchParams.entries()))\n\n if (!compareValue) {\n current.delete('compareValue')\n } else {\n current.set('compareValue', compareValue?.value)\n }\n\n if (!selectedLocales) {\n current.delete('localeCodes')\n } else {\n current.set('localeCodes', JSON.stringify(selectedLocales.map((locale) => locale.value)))\n }\n\n if (!modifiedOnly) {\n current.delete('modifiedOnly')\n } else {\n current.set('modifiedOnly', 'true')\n }\n\n const search = current.toString()\n const query = search ? `?${search}` : ''\n\n // TODO: this transition occurs multiple times during the initial rendering phases, need to evaluate\n startRouteTransition(() => router.push(`${pathname}${query}`))\n }, [\n compareValue,\n pathname,\n router,\n searchParams,\n selectedLocales,\n modifiedOnly,\n startRouteTransition,\n ])\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 draftsEnabled = Boolean((collectionConfig || globalConfig)?.versions.drafts)\n\n return (\n <main className={baseClass}>\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fields={(collectionConfig || globalConfig)?.fields}\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 <span className={`${baseClass}__modifiedCheckBox`}>\n <CheckboxInput\n checked={modifiedOnly}\n id={'modifiedOnly'}\n label={i18n.t('version:modifiedOnly')}\n onToggle={onToggleModifiedOnly}\n />\n </span>\n </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\n draftsEnabled={draftsEnabled}\n latestDraftVersion={latestDraftVersion}\n latestPublishedVersion={latestPublishedVersion}\n onChange={setCompareValue}\n parentID={id}\n value={compareValue}\n versionID={versionID}\n />\n {localization && (\n <SelectLocales\n onChange={setSelectedLocales}\n options={availableLocales}\n value={selectedLocales}\n />\n )}\n </div>\n <SelectedLocalesContext.Provider\n value={{ selectedLocales: selectedLocales.map((locale) => locale.value) }}\n >\n {doc?.version && RenderedDiff}\n </SelectedLocalesContext.Provider>\n </Gutter>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ type Props = {
|
|
|
10
10
|
isIterable?: false;
|
|
11
11
|
label: React.ReactNode;
|
|
12
12
|
locales: string[] | undefined;
|
|
13
|
+
parentIsLocalized: boolean;
|
|
13
14
|
version: unknown;
|
|
14
15
|
} | {
|
|
15
16
|
children: React.ReactNode;
|
|
@@ -20,6 +21,7 @@ type Props = {
|
|
|
20
21
|
isIterable: true;
|
|
21
22
|
label: React.ReactNode;
|
|
22
23
|
locales: string[] | undefined;
|
|
24
|
+
parentIsLocalized: boolean;
|
|
23
25
|
version: unknown;
|
|
24
26
|
};
|
|
25
27
|
export declare const DiffCollapser: React.FC<Props>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAO,cAAc,CAAA;AAKrB,KAAK,KAAK,GACN;IAEE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;CACjB,GACD;IAEE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,EAAE,IAAI,CAAA;IAChB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAEL,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgFzC,CAAA"}
|
|
@@ -1,76 +1,143 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
1
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { ChevronIcon, Pill, useTranslation } from '@payloadcms/ui';
|
|
5
|
+
import { ChevronIcon, Pill, useConfig, useTranslation } from '@payloadcms/ui';
|
|
3
6
|
import { fieldIsArrayType, fieldIsBlockType } from 'payload/shared';
|
|
4
7
|
import React, { useState } from 'react';
|
|
5
8
|
import Label from '../Label/index.js';
|
|
6
9
|
import { countChangedFields, countChangedFieldsInRows } from '../utilities/countChangedFields.js';
|
|
7
10
|
const baseClass = 'diff-collapser';
|
|
8
|
-
export const DiffCollapser =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
export const DiffCollapser = t0 => {
|
|
12
|
+
const $ = _c(21);
|
|
13
|
+
const {
|
|
14
|
+
children,
|
|
15
|
+
comparison,
|
|
16
|
+
field,
|
|
17
|
+
fields,
|
|
18
|
+
initCollapsed: t1,
|
|
19
|
+
isIterable: t2,
|
|
20
|
+
label,
|
|
21
|
+
locales,
|
|
22
|
+
parentIsLocalized,
|
|
23
|
+
version
|
|
24
|
+
} = t0;
|
|
25
|
+
const initCollapsed = t1 === undefined ? false : t1;
|
|
26
|
+
const isIterable = t2 === undefined ? false : t2;
|
|
19
27
|
const {
|
|
20
28
|
t
|
|
21
29
|
} = useTranslation();
|
|
22
30
|
const [isCollapsed, setIsCollapsed] = useState(initCollapsed);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
31
|
+
const {
|
|
32
|
+
config
|
|
33
|
+
} = useConfig();
|
|
34
|
+
let t3;
|
|
35
|
+
if ($[0] !== children || $[1] !== comparison || $[2] !== config || $[3] !== field || $[4] !== fields || $[5] !== isCollapsed || $[6] !== isIterable || $[7] !== label || $[8] !== locales || $[9] !== parentIsLocalized || $[10] !== t || $[11] !== version) {
|
|
36
|
+
let changeCount;
|
|
37
|
+
if (isIterable) {
|
|
38
|
+
if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {
|
|
39
|
+
throw new Error("DiffCollapser: field must be an array or blocks field when isIterable is true");
|
|
40
|
+
}
|
|
41
|
+
let t4;
|
|
42
|
+
if ($[13] !== comparison) {
|
|
43
|
+
t4 = comparison ?? [];
|
|
44
|
+
$[13] = comparison;
|
|
45
|
+
$[14] = t4;
|
|
46
|
+
} else {
|
|
47
|
+
t4 = $[14];
|
|
48
|
+
}
|
|
49
|
+
const comparisonRows = t4;
|
|
50
|
+
let t5;
|
|
51
|
+
if ($[15] !== version) {
|
|
52
|
+
t5 = version ?? [];
|
|
53
|
+
$[15] = version;
|
|
54
|
+
$[16] = t5;
|
|
55
|
+
} else {
|
|
56
|
+
t5 = $[16];
|
|
57
|
+
}
|
|
58
|
+
const versionRows = t5;
|
|
59
|
+
if (!Array.isArray(comparisonRows) || !Array.isArray(versionRows)) {
|
|
60
|
+
throw new Error("DiffCollapser: comparison and version must be arrays when isIterable is true");
|
|
61
|
+
}
|
|
62
|
+
changeCount = countChangedFieldsInRows({
|
|
63
|
+
comparisonRows,
|
|
64
|
+
config,
|
|
65
|
+
field,
|
|
66
|
+
locales,
|
|
67
|
+
parentIsLocalized,
|
|
68
|
+
versionRows
|
|
69
|
+
});
|
|
70
|
+
} else {
|
|
71
|
+
changeCount = countChangedFields({
|
|
72
|
+
comparison,
|
|
73
|
+
config,
|
|
74
|
+
fields,
|
|
75
|
+
locales,
|
|
76
|
+
parentIsLocalized,
|
|
77
|
+
version
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
const t4 = isCollapsed && `${baseClass}__content--is-collapsed`;
|
|
81
|
+
let t5;
|
|
82
|
+
if ($[17] !== t4) {
|
|
83
|
+
t5 = [`${baseClass}__content`, t4].filter(Boolean);
|
|
84
|
+
$[17] = t4;
|
|
85
|
+
$[18] = t5;
|
|
86
|
+
} else {
|
|
87
|
+
t5 = $[18];
|
|
27
88
|
}
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
if (
|
|
31
|
-
|
|
89
|
+
const contentClassNames = t5.join(" ");
|
|
90
|
+
let t6;
|
|
91
|
+
if ($[19] !== isCollapsed) {
|
|
92
|
+
t6 = () => setIsCollapsed(!isCollapsed);
|
|
93
|
+
$[19] = isCollapsed;
|
|
94
|
+
$[20] = t6;
|
|
95
|
+
} else {
|
|
96
|
+
t6 = $[20];
|
|
32
97
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
98
|
+
t3 = _jsxs("div", {
|
|
99
|
+
className: baseClass,
|
|
100
|
+
children: [_jsxs(Label, {
|
|
101
|
+
children: [_jsx("button", {
|
|
102
|
+
"aria-label": isCollapsed ? "Expand" : "Collapse",
|
|
103
|
+
className: `${baseClass}__toggle-button`,
|
|
104
|
+
onClick: t6,
|
|
105
|
+
type: "button",
|
|
106
|
+
children: _jsx(ChevronIcon, {
|
|
107
|
+
direction: isCollapsed ? "right" : "down"
|
|
108
|
+
})
|
|
109
|
+
}), _jsx("span", {
|
|
110
|
+
className: `${baseClass}__label`,
|
|
111
|
+
children: label
|
|
112
|
+
}), changeCount > 0 && _jsx(Pill, {
|
|
113
|
+
className: `${baseClass}__field-change-count`,
|
|
114
|
+
pillStyle: "light-gray",
|
|
115
|
+
size: "small",
|
|
116
|
+
children: t("version:changedFieldsCount", {
|
|
117
|
+
count: changeCount
|
|
118
|
+
})
|
|
119
|
+
})]
|
|
120
|
+
}), _jsx("div", {
|
|
121
|
+
className: contentClassNames,
|
|
122
|
+
children
|
|
123
|
+
})]
|
|
38
124
|
});
|
|
125
|
+
$[0] = children;
|
|
126
|
+
$[1] = comparison;
|
|
127
|
+
$[2] = config;
|
|
128
|
+
$[3] = field;
|
|
129
|
+
$[4] = fields;
|
|
130
|
+
$[5] = isCollapsed;
|
|
131
|
+
$[6] = isIterable;
|
|
132
|
+
$[7] = label;
|
|
133
|
+
$[8] = locales;
|
|
134
|
+
$[9] = parentIsLocalized;
|
|
135
|
+
$[10] = t;
|
|
136
|
+
$[11] = version;
|
|
137
|
+
$[12] = t3;
|
|
39
138
|
} else {
|
|
40
|
-
|
|
41
|
-
comparison,
|
|
42
|
-
fields,
|
|
43
|
-
locales,
|
|
44
|
-
version
|
|
45
|
-
});
|
|
139
|
+
t3 = $[12];
|
|
46
140
|
}
|
|
47
|
-
|
|
48
|
-
return /*#__PURE__*/_jsxs("div", {
|
|
49
|
-
className: baseClass,
|
|
50
|
-
children: [/*#__PURE__*/_jsxs(Label, {
|
|
51
|
-
children: [/*#__PURE__*/_jsx("button", {
|
|
52
|
-
"aria-label": isCollapsed ? 'Expand' : 'Collapse',
|
|
53
|
-
className: `${baseClass}__toggle-button`,
|
|
54
|
-
onClick: () => setIsCollapsed(!isCollapsed),
|
|
55
|
-
type: "button",
|
|
56
|
-
children: /*#__PURE__*/_jsx(ChevronIcon, {
|
|
57
|
-
direction: isCollapsed ? 'right' : 'down'
|
|
58
|
-
})
|
|
59
|
-
}), /*#__PURE__*/_jsx("span", {
|
|
60
|
-
className: `${baseClass}__label`,
|
|
61
|
-
children: label
|
|
62
|
-
}), changeCount > 0 && /*#__PURE__*/_jsx(Pill, {
|
|
63
|
-
className: `${baseClass}__field-change-count`,
|
|
64
|
-
pillStyle: "light-gray",
|
|
65
|
-
size: "small",
|
|
66
|
-
children: t('version:changedFieldsCount', {
|
|
67
|
-
count: changeCount
|
|
68
|
-
})
|
|
69
|
-
})]
|
|
70
|
-
}), /*#__PURE__*/_jsx("div", {
|
|
71
|
-
className: contentClassNames,
|
|
72
|
-
children: children
|
|
73
|
-
})]
|
|
74
|
-
});
|
|
141
|
+
return t3;
|
|
75
142
|
};
|
|
76
143
|
//# sourceMappingURL=index.js.map
|