@payloadcms/next 3.56.0-internal.299316b → 3.56.0-internal.72f4fd2

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.
Files changed (37) hide show
  1. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +19 -41
  2. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  3. package/dist/elements/Nav/index.client.js +28 -48
  4. package/dist/elements/Nav/index.client.js.map +1 -1
  5. package/dist/routes/rest/index.js +1 -1
  6. package/dist/routes/rest/index.js.map +1 -1
  7. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  8. package/dist/utilities/handleServerFunctions.js +9 -3
  9. package/dist/utilities/handleServerFunctions.js.map +1 -1
  10. package/dist/views/List/resolveAllFilterOptions.d.ts +2 -1
  11. package/dist/views/List/resolveAllFilterOptions.d.ts.map +1 -1
  12. package/dist/views/List/resolveAllFilterOptions.js +14 -7
  13. package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
  14. package/dist/views/Logout/LogoutClient.js +29 -31
  15. package/dist/views/Logout/LogoutClient.js.map +1 -1
  16. package/dist/views/Root/index.d.ts.map +1 -1
  17. package/dist/views/Root/index.js +3 -1
  18. package/dist/views/Root/index.js.map +1 -1
  19. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +12 -28
  20. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  21. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +17 -27
  22. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  23. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +21 -31
  24. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  25. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +23 -33
  26. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  27. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +21 -30
  28. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  29. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +16 -50
  30. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  31. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +8 -12
  32. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  33. package/dist/views/Versions/cells/AutosaveCell/index.js +14 -23
  34. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  35. package/dist/views/Versions/cells/CreatedAt/index.js +27 -53
  36. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  37. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAIV,SAAS,EAET,eAAe,EAEhB,MAAM,SAAS,CAAA;AAOhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,oGAKlB;IACD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC,CAAA;IACF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,+BA0RA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAIV,SAAS,EAET,eAAe,EAEhB,MAAM,SAAS,CAAA;AAOhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,oGAKlB;IACD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC,CAAA;IACF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,+BA4RA,CAAA"}
@@ -134,7 +134,9 @@ export const RootPage = async ({
134
134
  if (collectionConfig && segments.length === 2) {
135
135
  if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {
136
136
  await getPreferences(`collection-${collectionConfig.slug}`, req.payload, req.user.id, config.admin.user).then(res => {
137
- collectionPreferences = res.value;
137
+ if (res && res.value) {
138
+ collectionPreferences = res.value;
139
+ }
138
140
  });
139
141
  }
140
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["RenderServerComponent","getClientConfig","notFound","redirect","formatAdminURL","qs","React","DefaultTemplate","MinimalTemplate","getPreferences","getVisibleEntities","handleAuthRedirect","initReq","isCustomAdminView","isPublicAdminRoute","getCustomViewByRoute","getRouteData","SyncClientConfig","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","isCollectionRoute","isGlobalRoute","collectionConfig","undefined","globalConfig","length","viewKey","collections","find","slug","globals","queryString","stringify","addQueryPrefix","cookies","locale","permissions","req","payload","key","overrides","fallbackLocale","query","parse","depth","ignoreQueryPrefix","urlSuffix","canAccessAdmin","route","collectionPreferences","folders","id","then","res","value","browseByFolderSlugs","DefaultView","documentSubViewType","routeParams","templateClassName","templateType","viewActions","viewType","dbHasUser","db","findOne","collection","doc","Component","payloadComponent","createFirstUserRoute","usersCollection","disableLocalStrategy","auth","clientConfig","i18n","visibleEntities","folderID","RenderedView","clientProps","Fallback","serverProps","docID","initPageResult","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","includes","push","label","translations","general","thisLanguage","_jsxs","Fragment","_jsx","className","collectionSlug","globalSlug"],"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 CollectionPreferences,\n ImportMap,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport { handleAuthRedirect } from '../../utilities/handleAuthRedirect.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { isCustomAdminView } from '../../utilities/isCustomAdminView.js'\nimport { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getRouteData } from './getRouteData.js'\nimport { SyncClientConfig } from './SyncClientConfig.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n const isCollectionRoute = segments[0] === 'collections'\n const isGlobalRoute = segments[0] === 'globals'\n let collectionConfig: SanitizedCollectionConfig = undefined\n let globalConfig: SanitizedGlobalConfig = undefined\n\n const searchParams = await searchParamsPromise\n\n // Redirect `${adminRoute}/collections` to `${adminRoute}`\n if (isCollectionRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/collections',\n })\n\n // Only redirect if there's NO custom view configured for /collections\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n collectionConfig = config.collections.find(({ slug }) => slug === segments[1])\n }\n }\n\n // Redirect `${adminRoute}/globals` to `${adminRoute}`\n if (isGlobalRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/globals',\n })\n\n // Only redirect if there's NO custom view configured for /globals\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n globalConfig = config.globals.find(({ slug }) => slug === segments[1])\n }\n }\n\n if ((isCollectionRoute && !collectionConfig) || (isGlobalRoute && !globalConfig)) {\n return notFound()\n }\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const {\n cookies,\n locale,\n permissions,\n req,\n req: { payload },\n } = await initReq({\n configPromise: config,\n importMap,\n key: 'initPage',\n overrides: {\n fallbackLocale: false,\n req: {\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n },\n urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`,\n },\n })\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route: currentRoute }) &&\n !isCustomAdminView({ adminRoute, config: payload.config, route: currentRoute })\n ) {\n redirect(\n handleAuthRedirect({\n config: payload.config,\n route: currentRoute,\n searchParams,\n user: req.user,\n }),\n )\n }\n\n let collectionPreferences: CollectionPreferences = undefined\n\n if (collectionConfig && segments.length === 2) {\n if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {\n await getPreferences<CollectionPreferences>(\n `collection-${collectionConfig.slug}`,\n req.payload,\n req.user.id,\n config.admin.user,\n ).then((res) => {\n collectionPreferences = res.value\n })\n }\n }\n\n const {\n browseByFolderSlugs,\n DefaultView,\n documentSubViewType,\n routeParams,\n templateClassName,\n templateType,\n viewActions,\n viewType,\n } = getRouteData({\n adminRoute,\n collectionConfig,\n collectionPreferences,\n currentRoute,\n globalConfig,\n payload,\n searchParams,\n segments,\n })\n\n req.routeParams = routeParams\n\n const dbHasUser =\n req.user ||\n (await req.payload.db\n .findOne({\n collection: userSlug,\n req,\n })\n ?.then((doc) => !!doc))\n\n /**\n * This function is responsible for handling the case where the view is not found.\n * The current route did not match any default views or custom route views.\n */\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const usersCollection = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = usersCollection?.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 if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n user: viewType === 'createFirstUser' ? true : req.user,\n })\n\n const visibleEntities = getVisibleEntities({ req })\n\n const folderID = routeParams.folderID\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n browseByFolderSlugs,\n clientConfig,\n documentSubViewType,\n viewType,\n } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n clientConfig,\n collectionConfig,\n docID: routeParams.id,\n folderID,\n globalConfig,\n i18n: req.i18n,\n importMap,\n initPageResult: {\n collectionConfig,\n cookies,\n docID: routeParams.id,\n globalConfig,\n languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n ),\n locale,\n permissions,\n req,\n translations: req.i18n.translations,\n visibleEntities,\n },\n params,\n payload: req.payload,\n searchParams,\n viewActions,\n } satisfies AdminViewServerPropsOnly,\n })\n\n return (\n <React.Fragment>\n <SyncClientConfig clientConfig={clientConfig} />\n {!templateType && <React.Fragment>{RenderedView}</React.Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={collectionConfig?.slug}\n docID={routeParams.id}\n documentSubViewType={documentSubViewType}\n globalSlug={globalConfig?.slug}\n i18n={req.i18n}\n locale={locale}\n params={params}\n payload={req.payload}\n permissions={permissions}\n req={req}\n searchParams={searchParams}\n user={req.user}\n viewActions={viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: visibleEntities?.collections,\n globals: visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["RenderServerComponent","getClientConfig","notFound","redirect","formatAdminURL","qs","React","DefaultTemplate","MinimalTemplate","getPreferences","getVisibleEntities","handleAuthRedirect","initReq","isCustomAdminView","isPublicAdminRoute","getCustomViewByRoute","getRouteData","SyncClientConfig","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","isCollectionRoute","isGlobalRoute","collectionConfig","undefined","globalConfig","length","viewKey","collections","find","slug","globals","queryString","stringify","addQueryPrefix","cookies","locale","permissions","req","payload","key","overrides","fallbackLocale","query","parse","depth","ignoreQueryPrefix","urlSuffix","canAccessAdmin","route","collectionPreferences","folders","id","then","res","value","browseByFolderSlugs","DefaultView","documentSubViewType","routeParams","templateClassName","templateType","viewActions","viewType","dbHasUser","db","findOne","collection","doc","Component","payloadComponent","createFirstUserRoute","usersCollection","disableLocalStrategy","auth","clientConfig","i18n","visibleEntities","folderID","RenderedView","clientProps","Fallback","serverProps","docID","initPageResult","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","includes","push","label","translations","general","thisLanguage","_jsxs","Fragment","_jsx","className","collectionSlug","globalSlug"],"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 CollectionPreferences,\n ImportMap,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport { handleAuthRedirect } from '../../utilities/handleAuthRedirect.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { isCustomAdminView } from '../../utilities/isCustomAdminView.js'\nimport { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getRouteData } from './getRouteData.js'\nimport { SyncClientConfig } from './SyncClientConfig.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n const isCollectionRoute = segments[0] === 'collections'\n const isGlobalRoute = segments[0] === 'globals'\n let collectionConfig: SanitizedCollectionConfig = undefined\n let globalConfig: SanitizedGlobalConfig = undefined\n\n const searchParams = await searchParamsPromise\n\n // Redirect `${adminRoute}/collections` to `${adminRoute}`\n if (isCollectionRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/collections',\n })\n\n // Only redirect if there's NO custom view configured for /collections\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n collectionConfig = config.collections.find(({ slug }) => slug === segments[1])\n }\n }\n\n // Redirect `${adminRoute}/globals` to `${adminRoute}`\n if (isGlobalRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/globals',\n })\n\n // Only redirect if there's NO custom view configured for /globals\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n globalConfig = config.globals.find(({ slug }) => slug === segments[1])\n }\n }\n\n if ((isCollectionRoute && !collectionConfig) || (isGlobalRoute && !globalConfig)) {\n return notFound()\n }\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const {\n cookies,\n locale,\n permissions,\n req,\n req: { payload },\n } = await initReq({\n configPromise: config,\n importMap,\n key: 'initPage',\n overrides: {\n fallbackLocale: false,\n req: {\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n },\n urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`,\n },\n })\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route: currentRoute }) &&\n !isCustomAdminView({ adminRoute, config: payload.config, route: currentRoute })\n ) {\n redirect(\n handleAuthRedirect({\n config: payload.config,\n route: currentRoute,\n searchParams,\n user: req.user,\n }),\n )\n }\n\n let collectionPreferences: CollectionPreferences = undefined\n\n if (collectionConfig && segments.length === 2) {\n if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {\n await getPreferences<CollectionPreferences>(\n `collection-${collectionConfig.slug}`,\n req.payload,\n req.user.id,\n config.admin.user,\n ).then((res) => {\n if (res && res.value) {\n collectionPreferences = res.value\n }\n })\n }\n }\n\n const {\n browseByFolderSlugs,\n DefaultView,\n documentSubViewType,\n routeParams,\n templateClassName,\n templateType,\n viewActions,\n viewType,\n } = getRouteData({\n adminRoute,\n collectionConfig,\n collectionPreferences,\n currentRoute,\n globalConfig,\n payload,\n searchParams,\n segments,\n })\n\n req.routeParams = routeParams\n\n const dbHasUser =\n req.user ||\n (await req.payload.db\n .findOne({\n collection: userSlug,\n req,\n })\n ?.then((doc) => !!doc))\n\n /**\n * This function is responsible for handling the case where the view is not found.\n * The current route did not match any default views or custom route views.\n */\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const usersCollection = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = usersCollection?.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 if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n user: viewType === 'createFirstUser' ? true : req.user,\n })\n\n const visibleEntities = getVisibleEntities({ req })\n\n const folderID = routeParams.folderID\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n browseByFolderSlugs,\n clientConfig,\n documentSubViewType,\n viewType,\n } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n clientConfig,\n collectionConfig,\n docID: routeParams.id,\n folderID,\n globalConfig,\n i18n: req.i18n,\n importMap,\n initPageResult: {\n collectionConfig,\n cookies,\n docID: routeParams.id,\n globalConfig,\n languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n ),\n locale,\n permissions,\n req,\n translations: req.i18n.translations,\n visibleEntities,\n },\n params,\n payload: req.payload,\n searchParams,\n viewActions,\n } satisfies AdminViewServerPropsOnly,\n })\n\n return (\n <React.Fragment>\n <SyncClientConfig clientConfig={clientConfig} />\n {!templateType && <React.Fragment>{RenderedView}</React.Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={collectionConfig?.slug}\n docID={routeParams.id}\n documentSubViewType={documentSubViewType}\n globalSlug={globalConfig?.slug}\n i18n={req.i18n}\n locale={locale}\n params={params}\n payload={req.payload}\n permissions={permissions}\n req={req}\n searchParams={searchParams}\n user={req.user}\n viewActions={viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: visibleEntities?.collections,\n globals: visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,7 @@ import React, { useState } from 'react';
8
8
  import { countChangedFields, countChangedFieldsInRows } from '../utilities/countChangedFields.js';
9
9
  const baseClass = 'diff-collapser';
10
10
  export const DiffCollapser = t0 => {
11
- const $ = _c(23);
11
+ const $ = _c(19);
12
12
  const {
13
13
  children,
14
14
  field,
@@ -39,24 +39,8 @@ export const DiffCollapser = t0 => {
39
39
  if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {
40
40
  throw new Error("DiffCollapser: field must be an array or blocks field when isIterable is true");
41
41
  }
42
- let t5;
43
- if ($[14] !== valueFrom) {
44
- t5 = valueFrom ?? [];
45
- $[14] = valueFrom;
46
- $[15] = t5;
47
- } else {
48
- t5 = $[15];
49
- }
50
- const comparisonRows = t5;
51
- let t6;
52
- if ($[16] !== valueTo) {
53
- t6 = valueTo ?? [];
54
- $[16] = valueTo;
55
- $[17] = t6;
56
- } else {
57
- t6 = $[17];
58
- }
59
- const versionRows = t6;
42
+ const comparisonRows = valueFrom ?? [];
43
+ const versionRows = valueTo ?? [];
60
44
  if (!Array.isArray(comparisonRows) || !Array.isArray(versionRows)) {
61
45
  throw new Error("DiffCollapser: comparison and version must be arrays when isIterable is true");
62
46
  }
@@ -81,22 +65,22 @@ export const DiffCollapser = t0 => {
81
65
  const t5 = isCollapsed && `${baseClass}__content--is-collapsed`;
82
66
  const t6 = hideGutter && `${baseClass}__content--hide-gutter`;
83
67
  let t7;
84
- if ($[18] !== t5 || $[19] !== t6) {
68
+ if ($[14] !== t5 || $[15] !== t6) {
85
69
  t7 = [`${baseClass}__content`, t5, t6].filter(Boolean);
86
- $[18] = t5;
87
- $[19] = t6;
88
- $[20] = t7;
70
+ $[14] = t5;
71
+ $[15] = t6;
72
+ $[16] = t7;
89
73
  } else {
90
- t7 = $[20];
74
+ t7 = $[16];
91
75
  }
92
76
  const contentClassNames = t7.join(" ");
93
77
  let t8;
94
- if ($[21] !== isCollapsed) {
78
+ if ($[17] !== isCollapsed) {
95
79
  t8 = () => setIsCollapsed(!isCollapsed);
96
- $[21] = isCollapsed;
97
- $[22] = t8;
80
+ $[17] = isCollapsed;
81
+ $[18] = t8;
98
82
  } else {
99
- t8 = $[22];
83
+ t8 = $[18];
100
84
  }
101
85
  t4 = _jsxs("div", {
102
86
  className: baseClass,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","ChevronIcon","FieldDiffLabel","useConfig","useTranslation","fieldIsArrayType","fieldIsBlockType","React","useState","countChangedFields","countChangedFieldsInRows","baseClass","DiffCollapser","t0","$","children","field","fields","hideGutter","t1","initCollapsed","t2","isIterable","t3","Label","locales","parentIsLocalized","valueFrom","valueTo","undefined","t","isCollapsed","setIsCollapsed","config","t4","changeCount","Error","t5","comparisonRows","t6","versionRows","Array","isArray","version","t7","filter","Boolean","contentClassNames","join","t8","_jsxs","className","onClick","type","_jsx","direction","size","count"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField } from 'payload'\n\nimport { ChevronIcon, FieldDiffLabel, useConfig, useTranslation } from '@payloadcms/ui'\nimport { fieldIsArrayType, fieldIsBlockType } from 'payload/shared'\nimport React, { useState } from 'react'\n\nimport './index.scss'\nimport { countChangedFields, countChangedFieldsInRows } from '../utilities/countChangedFields.js'\n\nconst baseClass = 'diff-collapser'\n\ntype Props = {\n hideGutter?: boolean\n initCollapsed?: boolean\n Label: React.ReactNode\n locales: string[] | undefined\n parentIsLocalized: boolean\n valueTo: unknown\n} & (\n | {\n // fields collapser\n children: React.ReactNode\n field?: never\n fields: ClientField[]\n isIterable?: false\n valueFrom: unknown\n }\n | {\n // iterable collapser\n children: React.ReactNode\n field: ClientField\n fields?: never\n isIterable: true\n valueFrom?: unknown\n }\n)\n\nexport const DiffCollapser: React.FC<Props> = ({\n children,\n field,\n fields,\n hideGutter = false,\n initCollapsed = false,\n isIterable = false,\n Label,\n locales,\n parentIsLocalized,\n valueFrom,\n valueTo,\n}) => {\n const { t } = useTranslation()\n const [isCollapsed, setIsCollapsed] = useState(initCollapsed)\n const { config } = useConfig()\n\n let changeCount = 0\n\n if (isIterable) {\n if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {\n throw new Error(\n 'DiffCollapser: field must be an array or blocks field when isIterable is true',\n )\n }\n const comparisonRows = valueFrom ?? []\n const versionRows = valueTo ?? []\n\n if (!Array.isArray(comparisonRows) || !Array.isArray(versionRows)) {\n throw new Error(\n 'DiffCollapser: comparison and version must be arrays when isIterable is true',\n )\n }\n\n changeCount = countChangedFieldsInRows({\n comparisonRows,\n config,\n field,\n locales,\n parentIsLocalized,\n versionRows,\n })\n } else {\n changeCount = countChangedFields({\n comparison: valueFrom,\n config,\n fields,\n locales,\n parentIsLocalized,\n version: valueTo,\n })\n }\n\n const contentClassNames = [\n `${baseClass}__content`,\n isCollapsed && `${baseClass}__content--is-collapsed`,\n hideGutter && `${baseClass}__content--hide-gutter`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div className={baseClass}>\n <FieldDiffLabel>\n <button\n aria-label={isCollapsed ? 'Expand' : 'Collapse'}\n className={`${baseClass}__toggle-button`}\n onClick={() => setIsCollapsed(!isCollapsed)}\n type=\"button\"\n >\n <div className={`${baseClass}__label`}>{Label}</div>\n\n <ChevronIcon direction={isCollapsed ? 'right' : 'down'} size={'small'} />\n </button>\n {changeCount > 0 && isCollapsed && (\n <span className={`${baseClass}__field-change-count`}>\n {t('version:changedFieldsCount', { count: changeCount })}\n </span>\n )}\n </FieldDiffLabel>\n <div className={contentClassNames}>{children}</div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","ChevronIcon","FieldDiffLabel","useConfig","useTranslation","fieldIsArrayType","fieldIsBlockType","React","useState","countChangedFields","countChangedFieldsInRows","baseClass","DiffCollapser","t0","$","children","field","fields","hideGutter","t1","initCollapsed","t2","isIterable","t3","Label","locales","parentIsLocalized","valueFrom","valueTo","undefined","t","isCollapsed","setIsCollapsed","config","t4","changeCount","Error","comparisonRows","versionRows","Array","isArray","version","t5","t6","t7","filter","Boolean","contentClassNames","join","t8","_jsxs","className","onClick","type","_jsx","direction","size","count"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField } from 'payload'\n\nimport { ChevronIcon, FieldDiffLabel, useConfig, useTranslation } from '@payloadcms/ui'\nimport { fieldIsArrayType, fieldIsBlockType } from 'payload/shared'\nimport React, { useState } from 'react'\n\nimport './index.scss'\nimport { countChangedFields, countChangedFieldsInRows } from '../utilities/countChangedFields.js'\n\nconst baseClass = 'diff-collapser'\n\ntype Props = {\n hideGutter?: boolean\n initCollapsed?: boolean\n Label: React.ReactNode\n locales: string[] | undefined\n parentIsLocalized: boolean\n valueTo: unknown\n} & (\n | {\n // fields collapser\n children: React.ReactNode\n field?: never\n fields: ClientField[]\n isIterable?: false\n valueFrom: unknown\n }\n | {\n // iterable collapser\n children: React.ReactNode\n field: ClientField\n fields?: never\n isIterable: true\n valueFrom?: unknown\n }\n)\n\nexport const DiffCollapser: React.FC<Props> = ({\n children,\n field,\n fields,\n hideGutter = false,\n initCollapsed = false,\n isIterable = false,\n Label,\n locales,\n parentIsLocalized,\n valueFrom,\n valueTo,\n}) => {\n const { t } = useTranslation()\n const [isCollapsed, setIsCollapsed] = useState(initCollapsed)\n const { config } = useConfig()\n\n let changeCount = 0\n\n if (isIterable) {\n if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {\n throw new Error(\n 'DiffCollapser: field must be an array or blocks field when isIterable is true',\n )\n }\n const comparisonRows = valueFrom ?? []\n const versionRows = valueTo ?? []\n\n if (!Array.isArray(comparisonRows) || !Array.isArray(versionRows)) {\n throw new Error(\n 'DiffCollapser: comparison and version must be arrays when isIterable is true',\n )\n }\n\n changeCount = countChangedFieldsInRows({\n comparisonRows,\n config,\n field,\n locales,\n parentIsLocalized,\n versionRows,\n })\n } else {\n changeCount = countChangedFields({\n comparison: valueFrom,\n config,\n fields,\n locales,\n parentIsLocalized,\n version: valueTo,\n })\n }\n\n const contentClassNames = [\n `${baseClass}__content`,\n isCollapsed && `${baseClass}__content--is-collapsed`,\n hideGutter && `${baseClass}__content--hide-gutter`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div className={baseClass}>\n <FieldDiffLabel>\n <button\n aria-label={isCollapsed ? 'Expand' : 'Collapse'}\n className={`${baseClass}__toggle-button`}\n onClick={() => setIsCollapsed(!isCollapsed)}\n type=\"button\"\n >\n <div className={`${baseClass}__label`}>{Label}</div>\n\n <ChevronIcon direction={isCollapsed ? 'right' : 'down'} size={'small'} />\n </button>\n {changeCount > 0 && isCollapsed && (\n <span className={`${baseClass}__field-change-count`}>\n {t('version:changedFieldsCount', { count: changeCount })}\n </span>\n )}\n </FieldDiffLabel>\n <div className={contentClassNames}>{children}</div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,7 @@ import { DiffCollapser } from '../../DiffCollapser/index.js';
10
10
  import { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js';
11
11
  const baseClass = 'collapsible-diff';
12
12
  export const Collapsible = t0 => {
13
- const $ = _c(11);
13
+ const $ = _c(8);
14
14
  const {
15
15
  baseVersionField,
16
16
  comparisonValue: valueFrom,
@@ -28,26 +28,16 @@ export const Collapsible = t0 => {
28
28
  return null;
29
29
  }
30
30
  let t1;
31
- if ($[0] !== field || $[1] !== i18n) {
32
- t1 = "label" in field && field.label && typeof field.label !== "function" && _jsx("span", {
33
- children: getTranslation(field.label, i18n)
34
- });
35
- $[0] = field;
36
- $[1] = i18n;
37
- $[2] = t1;
38
- } else {
39
- t1 = $[2];
40
- }
41
- const t2 = parentIsLocalized || field.localized;
42
- let t3;
43
- if ($[3] !== baseVersionField.fields || $[4] !== field.fields || $[5] !== selectedLocales || $[6] !== t1 || $[7] !== t2 || $[8] !== valueFrom || $[9] !== valueTo) {
44
- t3 = _jsx("div", {
31
+ if ($[0] !== baseVersionField.fields || $[1] !== field || $[2] !== i18n || $[3] !== parentIsLocalized || $[4] !== selectedLocales || $[5] !== valueFrom || $[6] !== valueTo) {
32
+ t1 = _jsx("div", {
45
33
  className: baseClass,
46
34
  children: _jsx(DiffCollapser, {
47
35
  fields: field.fields,
48
- Label: t1,
36
+ Label: "label" in field && field.label && typeof field.label !== "function" && _jsx("span", {
37
+ children: getTranslation(field.label, i18n)
38
+ }),
49
39
  locales: selectedLocales,
50
- parentIsLocalized: t2,
40
+ parentIsLocalized: parentIsLocalized || field.localized,
51
41
  valueFrom,
52
42
  valueTo,
53
43
  children: _jsx(RenderVersionFieldsToDiff, {
@@ -55,17 +45,17 @@ export const Collapsible = t0 => {
55
45
  })
56
46
  })
57
47
  });
58
- $[3] = baseVersionField.fields;
59
- $[4] = field.fields;
60
- $[5] = selectedLocales;
61
- $[6] = t1;
62
- $[7] = t2;
63
- $[8] = valueFrom;
64
- $[9] = valueTo;
65
- $[10] = t3;
48
+ $[0] = baseVersionField.fields;
49
+ $[1] = field;
50
+ $[2] = i18n;
51
+ $[3] = parentIsLocalized;
52
+ $[4] = selectedLocales;
53
+ $[5] = valueFrom;
54
+ $[6] = valueTo;
55
+ $[7] = t1;
66
56
  } else {
67
- t3 = $[10];
57
+ t1 = $[7];
68
58
  }
69
- return t3;
59
+ return t1;
70
60
  };
71
61
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","useTranslation","React","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","baseClass","Collapsible","t0","$","baseVersionField","comparisonValue","valueFrom","field","parentIsLocalized","versionValue","valueTo","i18n","selectedLocales","fields","length","t1","label","_jsx","children","t2","localized","t3","className","Label","versionFields"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Collapsible/index.tsx"],"sourcesContent":["'use client'\nimport type { CollapsibleFieldDiffClientComponent } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\n\nconst baseClass = 'collapsible-diff'\n\nexport const Collapsible: CollapsibleFieldDiffClientComponent = ({\n baseVersionField,\n comparisonValue: valueFrom,\n field,\n parentIsLocalized,\n versionValue: valueTo,\n}) => {\n const { i18n } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n\n if (!baseVersionField.fields?.length) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <DiffCollapser\n fields={field.fields}\n Label={\n 'label' in field &&\n field.label &&\n typeof field.label !== 'function' && <span>{getTranslation(field.label, i18n)}</span>\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized || field.localized}\n valueFrom={valueFrom}\n valueTo={valueTo}\n >\n <RenderVersionFieldsToDiff versionFields={baseVersionField.fields} />\n </DiffCollapser>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,aAAa,QAAQ;AAC9B,SAASC,yBAAyB,QAAQ;AAE1C,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,WAAA,GAAmDC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW,gBAAA;IAAAC,eAAA,EAAAC,SAAA;IAAAC,KAAA;IAAAC,iBAAA;IAAAC,YAAA,EAAAC;EAAA,IAAAR,EAMhE;EACC;IAAAS;EAAA,IAAiBhB,cAAA;EACjB;IAAAiB;EAAA,IAA4Bf,kBAAA;EAAA,KAEvBO,gBAAA,CAAAS,MAAA,EAAAC,MAAA;IAAA;EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAZ,CAAA,QAAAI,KAAA,IAAAJ,CAAA,QAAAQ,IAAA;IASGI,EAAA,cAAWR,KAAA,IACXA,KAAA,CAAAS,KAAW,IACX,OAAOT,KAAA,CAAAS,KAAA,KAAgB,cAAcC,IAAA,CAAC;MAAAC,QAAA,EAAMxB,cAAA,CAAea,KAAA,CAAAS,KAAA,EAAaL,IAAA;IAAA,C;;;;;;;EAGvD,MAAAQ,EAAA,GAAAX,iBAAA,IAAqBD,KAAA,CAAAa,SAAe;EAAA,IAAAC,EAAA;EAAA,IAAAlB,CAAA,QAAAC,gBAAA,CAAAS,MAAA,IAAAV,CAAA,QAAAI,KAAA,CAAAM,MAAA,IAAAV,CAAA,QAAAS,eAAA,IAAAT,CAAA,QAAAY,EAAA,IAAAZ,CAAA,QAAAgB,EAAA,IAAAhB,CAAA,QAAAG,SAAA,IAAAH,CAAA,QAAAO,OAAA;IAT3DW,EAAA,GAAAJ,IAAA,CAAC;MAAAK,SAAA,EAAAtB,SAAA;MAAAkB,QAAA,EACCD,IAAA,CAAAnB,aAAA;QAAAe,MAAA,EACUN,KAAA,CAAAM,MAAA;QAAAU,KAAA,EAENR,E;iBAIOH,eAAA;QAAAJ,iBAAA,EACUW,EAAoC;QAAAb,SAAA;QAAAI,OAAA;QAAAQ,QAAA,EAIvDD,IAAA,CAAAlB,yBAAA;UAAAyB,aAAA,EAA0CpB,gBAAA,CAAAS;QAAA,C;;;;;;;;;;;;;;SAb9CQ,E;CAiBJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","useTranslation","React","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","baseClass","Collapsible","t0","$","baseVersionField","comparisonValue","valueFrom","field","parentIsLocalized","versionValue","valueTo","i18n","selectedLocales","fields","length","t1","_jsx","className","children","Label","label","localized","versionFields"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Collapsible/index.tsx"],"sourcesContent":["'use client'\nimport type { CollapsibleFieldDiffClientComponent } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\n\nconst baseClass = 'collapsible-diff'\n\nexport const Collapsible: CollapsibleFieldDiffClientComponent = ({\n baseVersionField,\n comparisonValue: valueFrom,\n field,\n parentIsLocalized,\n versionValue: valueTo,\n}) => {\n const { i18n } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n\n if (!baseVersionField.fields?.length) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <DiffCollapser\n fields={field.fields}\n Label={\n 'label' in field &&\n field.label &&\n typeof field.label !== 'function' && <span>{getTranslation(field.label, i18n)}</span>\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized || field.localized}\n valueFrom={valueFrom}\n valueTo={valueTo}\n >\n <RenderVersionFieldsToDiff versionFields={baseVersionField.fields} />\n </DiffCollapser>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,aAAa,QAAQ;AAC9B,SAASC,yBAAyB,QAAQ;AAE1C,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,WAAA,GAAmDC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW,gBAAA;IAAAC,eAAA,EAAAC,SAAA;IAAAC,KAAA;IAAAC,iBAAA;IAAAC,YAAA,EAAAC;EAAA,IAAAR,EAMhE;EACC;IAAAS;EAAA,IAAiBhB,cAAA;EACjB;IAAAiB;EAAA,IAA4Bf,kBAAA;EAAA,KAEvBO,gBAAA,CAAAS,MAAA,EAAAC,MAAA;IAAA;EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAZ,CAAA,QAAAC,gBAAA,CAAAS,MAAA,IAAAV,CAAA,QAAAI,KAAA,IAAAJ,CAAA,QAAAQ,IAAA,IAAAR,CAAA,QAAAK,iBAAA,IAAAL,CAAA,QAAAS,eAAA,IAAAT,CAAA,QAAAG,SAAA,IAAAH,CAAA,QAAAO,OAAA;IAKHK,EAAA,GAAAC,IAAA,CAAC;MAAAC,SAAA,EAAAjB,SAAA;MAAAkB,QAAA,EACCF,IAAA,CAAAlB,aAAA;QAAAe,MAAA,EACUN,KAAA,CAAAM,MAAA;QAAAM,KAAA,EAEN,WAAWZ,KAAA,IACXA,KAAA,CAAAa,KAAW,IACX,OAAOb,KAAA,CAAAa,KAAA,KAAgB,cAAcJ,IAAA,CAAC;UAAAE,QAAA,EAAMxB,cAAA,CAAea,KAAA,CAAAa,KAAA,EAAaT,IAAA;QAAA,C;iBAEjEC,eAAA;QAAAJ,iBAAA,EACUA,iBAAA,IAAqBD,KAAA,CAAAc,SAAe;QAAAf,SAAA;QAAAI,OAAA;QAAAQ,QAAA,EAIvDF,IAAA,CAAAjB,yBAAA;UAAAuB,aAAA,EAA0ClB,gBAAA,CAAAS;QAAA,C;;;;;;;;;;;;;;SAb9CE,E;CAiBJ","ignoreList":[]}
@@ -10,7 +10,7 @@ import { DiffCollapser } from '../../DiffCollapser/index.js';
10
10
  import { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js';
11
11
  const baseClass = 'group-diff';
12
12
  export const Group = t0 => {
13
- const $ = _c(12);
13
+ const $ = _c(9);
14
14
  const {
15
15
  baseVersionField,
16
16
  comparisonValue: valueFrom,
@@ -26,30 +26,19 @@ export const Group = t0 => {
26
26
  selectedLocales
27
27
  } = useSelectedLocales();
28
28
  let t1;
29
- if ($[0] !== field || $[1] !== i18n || $[2] !== locale) {
30
- t1 = "label" in field && field.label && typeof field.label !== "function" && _jsxs("span", {
31
- children: [locale && _jsx("span", {
32
- className: `${baseClass}__locale-label`,
33
- children: locale
34
- }), getTranslation(field.label, i18n)]
35
- });
36
- $[0] = field;
37
- $[1] = i18n;
38
- $[2] = locale;
39
- $[3] = t1;
40
- } else {
41
- t1 = $[3];
42
- }
43
- const t2 = parentIsLocalized || field.localized;
44
- let t3;
45
- if ($[4] !== baseVersionField.fields || $[5] !== field.fields || $[6] !== selectedLocales || $[7] !== t1 || $[8] !== t2 || $[9] !== valueFrom || $[10] !== valueTo) {
46
- t3 = _jsx("div", {
29
+ if ($[0] !== baseVersionField.fields || $[1] !== field || $[2] !== i18n || $[3] !== locale || $[4] !== parentIsLocalized || $[5] !== selectedLocales || $[6] !== valueFrom || $[7] !== valueTo) {
30
+ t1 = _jsx("div", {
47
31
  className: baseClass,
48
32
  children: _jsx(DiffCollapser, {
49
33
  fields: field.fields,
50
- Label: t1,
34
+ Label: "label" in field && field.label && typeof field.label !== "function" && _jsxs("span", {
35
+ children: [locale && _jsx("span", {
36
+ className: `${baseClass}__locale-label`,
37
+ children: locale
38
+ }), getTranslation(field.label, i18n)]
39
+ }),
51
40
  locales: selectedLocales,
52
- parentIsLocalized: t2,
41
+ parentIsLocalized: parentIsLocalized || field.localized,
53
42
  valueFrom,
54
43
  valueTo,
55
44
  children: _jsx(RenderVersionFieldsToDiff, {
@@ -57,17 +46,18 @@ export const Group = t0 => {
57
46
  })
58
47
  })
59
48
  });
60
- $[4] = baseVersionField.fields;
61
- $[5] = field.fields;
62
- $[6] = selectedLocales;
63
- $[7] = t1;
64
- $[8] = t2;
65
- $[9] = valueFrom;
66
- $[10] = valueTo;
67
- $[11] = t3;
49
+ $[0] = baseVersionField.fields;
50
+ $[1] = field;
51
+ $[2] = i18n;
52
+ $[3] = locale;
53
+ $[4] = parentIsLocalized;
54
+ $[5] = selectedLocales;
55
+ $[6] = valueFrom;
56
+ $[7] = valueTo;
57
+ $[8] = t1;
68
58
  } else {
69
- t3 = $[11];
59
+ t1 = $[8];
70
60
  }
71
- return t3;
61
+ return t1;
72
62
  };
73
63
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","useTranslation","React","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","baseClass","Group","t0","$","baseVersionField","comparisonValue","valueFrom","field","locale","parentIsLocalized","versionValue","valueTo","i18n","selectedLocales","t1","label","_jsxs","children","_jsx","className","t2","localized","t3","fields","Label","versionFields"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Group/index.tsx"],"sourcesContent":["'use client'\nimport type { GroupFieldDiffClientComponent } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport './index.scss'\n\nimport { useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\n\nconst baseClass = 'group-diff'\n\nexport const Group: GroupFieldDiffClientComponent = ({\n baseVersionField,\n comparisonValue: valueFrom,\n field,\n locale,\n parentIsLocalized,\n versionValue: valueTo,\n}) => {\n const { i18n } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n\n return (\n <div className={baseClass}>\n <DiffCollapser\n fields={field.fields}\n Label={\n 'label' in field &&\n field.label &&\n typeof field.label !== 'function' && (\n <span>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.label, i18n)}\n </span>\n )\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized || field.localized}\n valueFrom={valueFrom}\n valueTo={valueTo}\n >\n <RenderVersionFieldsToDiff versionFields={baseVersionField.fields} />\n </DiffCollapser>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAI/B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,aAAa,QAAQ;AAC9B,SAASC,yBAAyB,QAAQ;AAE1C,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,KAAA,GAAuCC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW,gBAAA;IAAAC,eAAA,EAAAC,SAAA;IAAAC,KAAA;IAAAC,MAAA;IAAAC,iBAAA;IAAAC,YAAA,EAAAC;EAAA,IAAAT,EAOpD;EACC;IAAAU;EAAA,IAAiBjB,cAAA;EACjB;IAAAkB;EAAA,IAA4BhB,kBAAA;EAAA,IAAAiB,EAAA;EAAA,IAAAX,CAAA,QAAAI,KAAA,IAAAJ,CAAA,QAAAS,IAAA,IAAAT,CAAA,QAAAK,MAAA;IAOpBM,EAAA,cAAWP,KAAA,IACXA,KAAA,CAAAQ,KAAW,IACX,OAAOR,KAAA,CAAAQ,KAAA,KAAgB,cACrBC,KAAA,CAAC;MAAAC,QAAA,GACET,MAAA,IAAUU,IAAA,CAAC;QAAAC,SAAA,EAAgB,GAAAnB,SAAA,gBAA4B;QAAAiB,QAAA,EAAGT;MAAA,C,GAC1Dd,cAAA,CAAea,KAAA,CAAAQ,KAAA,EAAaH,IAAA;IAAA,C;;;;;;;;EAKhB,MAAAQ,EAAA,GAAAX,iBAAA,IAAqBF,KAAA,CAAAc,SAAe;EAAA,IAAAC,EAAA;EAAA,IAAAnB,CAAA,QAAAC,gBAAA,CAAAmB,MAAA,IAAApB,CAAA,QAAAI,KAAA,CAAAgB,MAAA,IAAApB,CAAA,QAAAU,eAAA,IAAAV,CAAA,QAAAW,EAAA,IAAAX,CAAA,QAAAiB,EAAA,IAAAjB,CAAA,QAAAG,SAAA,IAAAH,CAAA,SAAAQ,OAAA;IAd3DW,EAAA,GAAAJ,IAAA,CAAC;MAAAC,SAAA,EAAAnB,SAAA;MAAAiB,QAAA,EACCC,IAAA,CAAApB,aAAA;QAAAyB,MAAA,EACUhB,KAAA,CAAAgB,MAAA;QAAAC,KAAA,EAENV,E;iBASOD,eAAA;QAAAJ,iBAAA,EACUW,EAAoC;QAAAd,SAAA;QAAAK,OAAA;QAAAM,QAAA,EAIvDC,IAAA,CAAAnB,yBAAA;UAAA0B,aAAA,EAA0CrB,gBAAA,CAAAmB;QAAA,C;;;;;;;;;;;;;;SAlB9CD,E;CAsBJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","useTranslation","React","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","baseClass","Group","t0","$","baseVersionField","comparisonValue","valueFrom","field","locale","parentIsLocalized","versionValue","valueTo","i18n","selectedLocales","t1","fields","_jsx","className","children","Label","label","_jsxs","localized","versionFields"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Group/index.tsx"],"sourcesContent":["'use client'\nimport type { GroupFieldDiffClientComponent } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport './index.scss'\n\nimport { useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\n\nconst baseClass = 'group-diff'\n\nexport const Group: GroupFieldDiffClientComponent = ({\n baseVersionField,\n comparisonValue: valueFrom,\n field,\n locale,\n parentIsLocalized,\n versionValue: valueTo,\n}) => {\n const { i18n } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n\n return (\n <div className={baseClass}>\n <DiffCollapser\n fields={field.fields}\n Label={\n 'label' in field &&\n field.label &&\n typeof field.label !== 'function' && (\n <span>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.label, i18n)}\n </span>\n )\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized || field.localized}\n valueFrom={valueFrom}\n valueTo={valueTo}\n >\n <RenderVersionFieldsToDiff versionFields={baseVersionField.fields} />\n </DiffCollapser>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAI/B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,aAAa,QAAQ;AAC9B,SAASC,yBAAyB,QAAQ;AAE1C,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,KAAA,GAAuCC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW,gBAAA;IAAAC,eAAA,EAAAC,SAAA;IAAAC,KAAA;IAAAC,MAAA;IAAAC,iBAAA;IAAAC,YAAA,EAAAC;EAAA,IAAAT,EAOpD;EACC;IAAAU;EAAA,IAAiBjB,cAAA;EACjB;IAAAkB;EAAA,IAA4BhB,kBAAA;EAAA,IAAAiB,EAAA;EAAA,IAAAX,CAAA,QAAAC,gBAAA,CAAAW,MAAA,IAAAZ,CAAA,QAAAI,KAAA,IAAAJ,CAAA,QAAAS,IAAA,IAAAT,CAAA,QAAAK,MAAA,IAAAL,CAAA,QAAAM,iBAAA,IAAAN,CAAA,QAAAU,eAAA,IAAAV,CAAA,QAAAG,SAAA,IAAAH,CAAA,QAAAQ,OAAA;IAG1BG,EAAA,GAAAE,IAAA,CAAC;MAAAC,SAAA,EAAAjB,SAAA;MAAAkB,QAAA,EACCF,IAAA,CAAAlB,aAAA;QAAAiB,MAAA,EACUR,KAAA,CAAAQ,MAAA;QAAAI,KAAA,EAEN,WAAWZ,KAAA,IACXA,KAAA,CAAAa,KAAW,IACX,OAAOb,KAAA,CAAAa,KAAA,KAAgB,cACrBC,KAAA,CAAC;UAAAH,QAAA,GACEV,MAAA,IAAUQ,IAAA,CAAC;YAAAC,SAAA,EAAgB,GAAAjB,SAAA,gBAA4B;YAAAkB,QAAA,EAAGV;UAAA,C,GAC1Dd,cAAA,CAAea,KAAA,CAAAa,KAAA,EAAaR,IAAA;QAAA,C;iBAI1BC,eAAA;QAAAJ,iBAAA,EACUA,iBAAA,IAAqBF,KAAA,CAAAe,SAAe;QAAAhB,SAAA;QAAAK,OAAA;QAAAO,QAAA,EAIvDF,IAAA,CAAAjB,yBAAA;UAAAwB,aAAA,EAA0CnB,gBAAA,CAAAW;QAAA,C;;;;;;;;;;;;;;;SAlB9CD,E;CAsBJ","ignoreList":[]}
@@ -12,7 +12,7 @@ import { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js';
12
12
  import { getFieldsForRowComparison } from '../../utilities/getFieldsForRowComparison.js';
13
13
  const baseClass = 'iterable-diff';
14
14
  export const Iterable = t0 => {
15
- const $ = _c(16);
15
+ const $ = _c(12);
16
16
  const {
17
17
  baseVersionField,
18
18
  comparisonValue: valueFrom,
@@ -38,28 +38,18 @@ export const Iterable = t0 => {
38
38
  throw new Error(`Expected field to be an array or blocks type but got: ${field.type}`);
39
39
  }
40
40
  let t1;
41
- if ($[0] !== field || $[1] !== i18n || $[2] !== locale) {
42
- t1 = "label" in field && field.label && typeof field.label !== "function" && _jsxs("span", {
43
- children: [locale && _jsx("span", {
44
- className: `${baseClass}__locale-label`,
45
- children: locale
46
- }), getTranslation(field.label, i18n)]
47
- });
48
- $[0] = field;
49
- $[1] = i18n;
50
- $[2] = locale;
51
- $[3] = t1;
52
- } else {
53
- t1 = $[3];
54
- }
55
- let t2;
56
- if ($[4] !== baseVersionField || $[5] !== config || $[6] !== field || $[7] !== i18n || $[8] !== maxRows || $[9] !== parentIsLocalized || $[10] !== selectedLocales || $[11] !== t || $[12] !== t1 || $[13] !== valueFrom || $[14] !== valueTo) {
57
- t2 = _jsx("div", {
41
+ if ($[0] !== baseVersionField || $[1] !== config || $[2] !== field || $[3] !== i18n || $[4] !== locale || $[5] !== maxRows || $[6] !== parentIsLocalized || $[7] !== selectedLocales || $[8] !== t || $[9] !== valueFrom || $[10] !== valueTo) {
42
+ t1 = _jsx("div", {
58
43
  className: baseClass,
59
44
  children: _jsxs(DiffCollapser, {
60
45
  field,
61
46
  isIterable: true,
62
- Label: t1,
47
+ Label: "label" in field && field.label && typeof field.label !== "function" && _jsxs("span", {
48
+ children: [locale && _jsx("span", {
49
+ className: `${baseClass}__locale-label`,
50
+ children: locale
51
+ }), getTranslation(field.label, i18n)]
52
+ }),
63
53
  locales: selectedLocales,
64
54
  parentIsLocalized,
65
55
  valueFrom,
@@ -114,21 +104,21 @@ export const Iterable = t0 => {
114
104
  })]
115
105
  })
116
106
  });
117
- $[4] = baseVersionField;
118
- $[5] = config;
119
- $[6] = field;
120
- $[7] = i18n;
121
- $[8] = maxRows;
122
- $[9] = parentIsLocalized;
123
- $[10] = selectedLocales;
124
- $[11] = t;
125
- $[12] = t1;
126
- $[13] = valueFrom;
127
- $[14] = valueTo;
128
- $[15] = t2;
107
+ $[0] = baseVersionField;
108
+ $[1] = config;
109
+ $[2] = field;
110
+ $[3] = i18n;
111
+ $[4] = locale;
112
+ $[5] = maxRows;
113
+ $[6] = parentIsLocalized;
114
+ $[7] = selectedLocales;
115
+ $[8] = t;
116
+ $[9] = valueFrom;
117
+ $[10] = valueTo;
118
+ $[11] = t1;
129
119
  } else {
130
- t2 = $[15];
120
+ t1 = $[11];
131
121
  }
132
- return t2;
122
+ return t1;
133
123
  };
134
124
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","useConfig","useTranslation","fieldIsArrayType","fieldIsBlockType","React","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","getFieldsForRowComparison","baseClass","Iterable","t0","$","baseVersionField","comparisonValue","valueFrom","field","locale","parentIsLocalized","versionValue","valueTo","i18n","t","selectedLocales","config","versionRowCount","Array","isArray","length","comparisonRowCount","maxRows","Math","max","Error","type","t1","label","_jsxs","children","_jsx","className","t2","isIterable","Label","from","keys","map","row","i","versionRow","comparisonRow","fields","versionFields","rowNumber","String","padStart","rowLabel","hideGutter","localized","labels","plural"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldDiffClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig, useTranslation } from '@payloadcms/ui'\n\nimport './index.scss'\n\nimport { fieldIsArrayType, fieldIsBlockType } from 'payload/shared'\nimport React from 'react'\n\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\nimport { getFieldsForRowComparison } from '../../utilities/getFieldsForRowComparison.js'\n\nconst baseClass = 'iterable-diff'\n\nexport const Iterable: React.FC<FieldDiffClientProps> = ({\n baseVersionField,\n comparisonValue: valueFrom,\n field,\n locale,\n parentIsLocalized,\n versionValue: valueTo,\n}) => {\n const { i18n, t } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n const { config } = useConfig()\n\n const versionRowCount = Array.isArray(valueTo) ? valueTo.length : 0\n const comparisonRowCount = Array.isArray(valueFrom) ? valueFrom.length : 0\n const maxRows = Math.max(versionRowCount, comparisonRowCount)\n\n if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {\n throw new Error(`Expected field to be an array or blocks type but got: ${field.type}`)\n }\n\n return (\n <div className={baseClass}>\n <DiffCollapser\n field={field}\n isIterable\n Label={\n 'label' in field &&\n field.label &&\n typeof field.label !== 'function' && (\n <span>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.label, i18n)}\n </span>\n )\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized}\n valueFrom={valueFrom}\n valueTo={valueTo}\n >\n {maxRows > 0 && (\n <div className={`${baseClass}__rows`}>\n {Array.from(Array(maxRows).keys()).map((row, i) => {\n const versionRow = valueTo?.[i] || {}\n const comparisonRow = valueFrom?.[i] || {}\n\n const { fields, versionFields } = getFieldsForRowComparison({\n baseVersionField,\n comparisonRow,\n config,\n field,\n row: i,\n versionRow,\n })\n\n const rowNumber = String(i + 1).padStart(2, '0')\n const rowLabel = fieldIsArrayType(field)\n ? `${t('general:item')} ${rowNumber}`\n : `${t('fields:block')} ${rowNumber}`\n\n return (\n <div className={`${baseClass}__row`} key={i}>\n <DiffCollapser\n fields={fields}\n hideGutter={true}\n Label={\n <div className={`${baseClass}-label-container`}>\n <div className={`${baseClass}-label-prefix`}></div>\n <span className={`${baseClass}__label`}>{rowLabel}</span>\n </div>\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized || field.localized}\n valueFrom={comparisonRow}\n valueTo={versionRow}\n >\n <RenderVersionFieldsToDiff versionFields={versionFields} />\n </DiffCollapser>\n </div>\n )\n })}\n </div>\n )}\n {maxRows === 0 && (\n <div className={`${baseClass}__no-rows`}>\n {i18n.t('version:noRowsFound', {\n label:\n 'labels' in field && field.labels?.plural\n ? getTranslation(field.labels.plural, i18n)\n : i18n.t('general:rows'),\n })}\n </div>\n )}\n </DiffCollapser>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","useConfig","useTranslation","fieldIsArrayType","fieldIsBlockType","React","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","getFieldsForRowComparison","baseClass","Iterable","t0","$","baseVersionField","comparisonValue","valueFrom","field","locale","parentIsLocalized","versionValue","valueTo","i18n","t","selectedLocales","config","versionRowCount","Array","isArray","length","comparisonRowCount","maxRows","Math","max","Error","type","t1","_jsx","className","children","_jsxs","isIterable","Label","label","from","keys","map","row","i","versionRow","comparisonRow","fields","versionFields","rowNumber","String","padStart","rowLabel","hideGutter","localized","labels","plural"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldDiffClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig, useTranslation } from '@payloadcms/ui'\n\nimport './index.scss'\n\nimport { fieldIsArrayType, fieldIsBlockType } from 'payload/shared'\nimport React from 'react'\n\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\nimport { getFieldsForRowComparison } from '../../utilities/getFieldsForRowComparison.js'\n\nconst baseClass = 'iterable-diff'\n\nexport const Iterable: React.FC<FieldDiffClientProps> = ({\n baseVersionField,\n comparisonValue: valueFrom,\n field,\n locale,\n parentIsLocalized,\n versionValue: valueTo,\n}) => {\n const { i18n, t } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n const { config } = useConfig()\n\n const versionRowCount = Array.isArray(valueTo) ? valueTo.length : 0\n const comparisonRowCount = Array.isArray(valueFrom) ? valueFrom.length : 0\n const maxRows = Math.max(versionRowCount, comparisonRowCount)\n\n if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {\n throw new Error(`Expected field to be an array or blocks type but got: ${field.type}`)\n }\n\n return (\n <div className={baseClass}>\n <DiffCollapser\n field={field}\n isIterable\n Label={\n 'label' in field &&\n field.label &&\n typeof field.label !== 'function' && (\n <span>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.label, i18n)}\n </span>\n )\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized}\n valueFrom={valueFrom}\n valueTo={valueTo}\n >\n {maxRows > 0 && (\n <div className={`${baseClass}__rows`}>\n {Array.from(Array(maxRows).keys()).map((row, i) => {\n const versionRow = valueTo?.[i] || {}\n const comparisonRow = valueFrom?.[i] || {}\n\n const { fields, versionFields } = getFieldsForRowComparison({\n baseVersionField,\n comparisonRow,\n config,\n field,\n row: i,\n versionRow,\n })\n\n const rowNumber = String(i + 1).padStart(2, '0')\n const rowLabel = fieldIsArrayType(field)\n ? `${t('general:item')} ${rowNumber}`\n : `${t('fields:block')} ${rowNumber}`\n\n return (\n <div className={`${baseClass}__row`} key={i}>\n <DiffCollapser\n fields={fields}\n hideGutter={true}\n Label={\n <div className={`${baseClass}-label-container`}>\n <div className={`${baseClass}-label-prefix`}></div>\n <span className={`${baseClass}__label`}>{rowLabel}</span>\n </div>\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized || field.localized}\n valueFrom={comparisonRow}\n valueTo={versionRow}\n >\n <RenderVersionFieldsToDiff versionFields={versionFields} />\n </DiffCollapser>\n </div>\n )\n })}\n </div>\n )}\n {maxRows === 0 && (\n <div className={`${baseClass}__no-rows`}>\n {i18n.t('version:noRowsFound', {\n label:\n 'labels' in field && field.labels?.plural\n ? getTranslation(field.labels.plural, i18n)\n : i18n.t('general:rows'),\n })}\n </div>\n )}\n </DiffCollapser>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,EAAEC,cAAc,QAAQ;AAI1C,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ;AACnD,OAAOC,KAAA,MAAW;AAElB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,aAAa,QAAQ;AAC9B,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,yBAAyB,QAAQ;AAE1C,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,QAAA,GAA2CC,EAAA;EAAA,MAAAC,CAAA,GAAAd,EAAA;EAAC;IAAAe,gBAAA;IAAAC,eAAA,EAAAC,SAAA;IAAAC,KAAA;IAAAC,MAAA;IAAAC,iBAAA;IAAAC,YAAA,EAAAC;EAAA,IAAAT,EAOxD;EACC;IAAAU,IAAA;IAAAC;EAAA,IAAoBrB,cAAA;EACpB;IAAAsB;EAAA,IAA4BlB,kBAAA;EAC5B;IAAAmB;EAAA,IAAmBxB,SAAA;EAEnB,MAAAyB,eAAA,GAAwBC,KAAA,CAAAC,OAAA,CAAcP,OAAA,IAAWA,OAAA,CAAAQ,MAAA,IAAiB;EAClE,MAAAC,kBAAA,GAA2BH,KAAA,CAAAC,OAAA,CAAcZ,SAAA,IAAaA,SAAA,CAAAa,MAAA,IAAmB;EACzE,MAAAE,OAAA,GAAgBC,IAAA,CAAAC,GAAA,CAASP,eAAA,EAAiBI,kBAAA;EAAA,IAEtC,CAAC3B,gBAAA,CAAiBc,KAAA,MAAWb,gBAAA,CAAiBa,KAAA;IAAA,UAAAiB,KAAA,CAChC,yDAAyDjB,KAAA,CAAAkB,IAAA,EAAY;EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAvB,CAAA,QAAAC,gBAAA,IAAAD,CAAA,QAAAY,MAAA,IAAAZ,CAAA,QAAAI,KAAA,IAAAJ,CAAA,QAAAS,IAAA,IAAAT,CAAA,QAAAK,MAAA,IAAAL,CAAA,QAAAkB,OAAA,IAAAlB,CAAA,QAAAM,iBAAA,IAAAN,CAAA,QAAAW,eAAA,IAAAX,CAAA,QAAAU,CAAA,IAAAV,CAAA,QAAAG,SAAA,IAAAH,CAAA,SAAAQ,OAAA;IAIrFe,EAAA,GAAAC,IAAA,CAAC;MAAAC,SAAA,EAAA5B,SAAA;MAAA6B,QAAA,EACCC,KAAA,CAAAjC,aAAA;QAAAU,KAAA;QAAAwB,UAAA;QAAAC,KAAA,EAII,WAAWzB,KAAA,IACXA,KAAA,CAAA0B,KAAW,IACX,OAAO1B,KAAA,CAAA0B,KAAA,KAAgB,cACrBH,KAAA,CAAC;UAAAD,QAAA,GACErB,MAAA,IAAUmB,IAAA,CAAC;YAAAC,SAAA,EAAgB,GAAA5B,SAAA,gBAA4B;YAAA6B,QAAA,EAAGrB;UAAA,C,GAC1DlB,cAAA,CAAeiB,KAAA,CAAA0B,KAAA,EAAarB,IAAA;QAAA,C;iBAI1BE,eAAA;QAAAL,iBAAA;QAAAH,SAAA;QAAAK,OAAA;QAAAkB,QAAA,GAKRR,OAAA,IAAU,IACTM,IAAA,CAAC;UAAAC,SAAA,EAAe,GAAA5B,SAAA,QAAoB;UAAA6B,QAAA,EACjCZ,KAAA,CAAAiB,IAAA,CAAWjB,KAAA,CAAMI,OAAA,EAAAc,IAAA,CAAa,GAAAC,GAAA,EAAAC,GAAA,EAAAC,CAAA;YAC7B,MAAAC,UAAA,GAAmB5B,OAAA,GAAU2B,CAAA,OAAO;YACpC,MAAAE,aAAA,GAAsBlC,SAAA,GAAYgC,CAAA,OAAO;YAEzC;cAAAG,MAAA;cAAAC;YAAA,IAAkC3C,yBAAA;cAAAK,gBAAA;cAAAoC,aAAA;cAAAzB,MAAA;cAAAR,KAAA;cAAA8B,GAAA,EAK3BC,CAAA;cAAAC;YAAA,CAEP;YAEA,MAAAI,SAAA,GAAkBC,MAAA,CAAON,CAAA,IAAI,EAAAO,QAAA,IAAe;YAC5C,MAAAC,QAAA,GAAiBrD,gBAAA,CAAiBc,KAAA,IAC9B,GAAGM,CAAA,CAAE,mBAAmB8B,SAAA,EAAW,GACnC,GAAG9B,CAAA,CAAE,mBAAmB8B,SAAA,EAAW;YAAA,OAGrChB,IAAA,CAAC;cAAAC,SAAA,EAAe,GAAA5B,SAAA,OAAmB;cAAA6B,QAAA,EACjCF,IAAA,CAAA9B,aAAA;gBAAA4C,MAAA;gBAAAM,UAAA;gBAAAf,KAAA,EAIIF,KAAA,CAAC;kBAAAF,SAAA,EAAe,GAAA5B,SAAA,kBAA8B;kBAAA6B,QAAA,GAC5CF,IAAA,CAAC;oBAAAC,SAAA,EAAe,GAAA5B,SAAA;kBAA2B,C,GAC3C2B,IAAA,CAAC;oBAAAC,SAAA,EAAgB,GAAA5B,SAAA,SAAqB;oBAAA6B,QAAA,EAAGiB;kBAAA,C;;yBAGpChC,eAAA;gBAAAL,iBAAA,EACUA,iBAAA,IAAqBF,KAAA,CAAAyC,SAAe;gBAAA1C,SAAA,EAC5CkC,aAAA;gBAAA7B,OAAA,EACF4B,UAAA;gBAAAV,QAAA,EAETF,IAAA,CAAA7B,yBAAA;kBAAA4C;gBAAA,C;;eAfsCJ,CAAA;UAAA,CAmB9C;QAAA,C,GAGHjB,OAAA,MAAY,IACXM,IAAA,CAAC;UAAAC,SAAA,EAAe,GAAA5B,SAAA,WAAuB;UAAA6B,QAAA,EACpCjB,IAAA,CAAAC,CAAA,CAAO;YAAAoB,KAAA,EAEJ,YAAY1B,KAAA,IAASA,KAAA,CAAA0C,MAAA,EAAAC,MAAc,GAC/B5D,cAAA,CAAeiB,KAAA,CAAA0C,MAAA,CAAAC,MAAA,EAAqBtC,IAAA,IACpCA,IAAA,CAAAC,CAAA,CAAO;UAAA,CACf;QAAA,C;;;;;;;;;;;;;;;;;;SArERa,E;CA2EJ","ignoreList":[]}
@@ -101,7 +101,7 @@ export const Tabs = props => {
101
101
  return t0;
102
102
  };
103
103
  const Tab = t0 => {
104
- const $ = _c(12);
104
+ const $ = _c(10);
105
105
  const {
106
106
  comparisonValue: valueFrom,
107
107
  fieldTab,
@@ -120,45 +120,36 @@ const Tab = t0 => {
120
120
  return null;
121
121
  }
122
122
  let t1;
123
- if ($[0] !== i18n || $[1] !== locale || $[2] !== tab) {
124
- t1 = "label" in tab && tab.label && typeof tab.label !== "function" && _jsxs("span", {
125
- children: [locale && _jsx("span", {
126
- className: `${baseClass}__locale-label`,
127
- children: locale
128
- }), getTranslation(tab.label, i18n)]
129
- });
130
- $[0] = i18n;
131
- $[1] = locale;
132
- $[2] = tab;
133
- $[3] = t1;
134
- } else {
135
- t1 = $[3];
136
- }
137
- const t2 = parentIsLocalized || fieldTab.localized;
138
- let t3;
139
- if ($[4] !== fieldTab.fields || $[5] !== selectedLocales || $[6] !== t1 || $[7] !== t2 || $[8] !== tab.fields || $[9] !== valueFrom || $[10] !== valueTo) {
140
- t3 = _jsx(DiffCollapser, {
123
+ if ($[0] !== fieldTab.fields || $[1] !== fieldTab.localized || $[2] !== i18n || $[3] !== locale || $[4] !== parentIsLocalized || $[5] !== selectedLocales || $[6] !== tab || $[7] !== valueFrom || $[8] !== valueTo) {
124
+ t1 = _jsx(DiffCollapser, {
141
125
  fields: fieldTab.fields,
142
- Label: t1,
126
+ Label: "label" in tab && tab.label && typeof tab.label !== "function" && _jsxs("span", {
127
+ children: [locale && _jsx("span", {
128
+ className: `${baseClass}__locale-label`,
129
+ children: locale
130
+ }), getTranslation(tab.label, i18n)]
131
+ }),
143
132
  locales: selectedLocales,
144
- parentIsLocalized: t2,
133
+ parentIsLocalized: parentIsLocalized || fieldTab.localized,
145
134
  valueFrom,
146
135
  valueTo,
147
136
  children: _jsx(RenderVersionFieldsToDiff, {
148
137
  versionFields: tab.fields
149
138
  })
150
139
  });
151
- $[4] = fieldTab.fields;
140
+ $[0] = fieldTab.fields;
141
+ $[1] = fieldTab.localized;
142
+ $[2] = i18n;
143
+ $[3] = locale;
144
+ $[4] = parentIsLocalized;
152
145
  $[5] = selectedLocales;
153
- $[6] = t1;
154
- $[7] = t2;
155
- $[8] = tab.fields;
156
- $[9] = valueFrom;
157
- $[10] = valueTo;
158
- $[11] = t3;
146
+ $[6] = tab;
147
+ $[7] = valueFrom;
148
+ $[8] = valueTo;
149
+ $[9] = t1;
159
150
  } else {
160
- t3 = $[11];
151
+ t1 = $[9];
161
152
  }
162
- return t3;
153
+ return t1;
163
154
  };
164
155
  //# sourceMappingURL=index.js.map