@payloadcms/next 3.0.0-beta.35 → 3.0.0-beta.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/withPayload.cjs +23 -0
- package/dist/cjs/withPayload.cjs.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +35 -15
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +31 -15
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/routes/rest/auth/access.d.ts.map +1 -1
- package/dist/routes/rest/auth/access.js +17 -7
- package/dist/routes/rest/auth/access.js.map +1 -1
- package/dist/routes/rest/og/image.js +64 -50
- package/dist/routes/rest/og/image.js.map +1 -1
- package/dist/routes/rest/og/index.js +2 -1
- package/dist/routes/rest/og/index.js.map +1 -1
- package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
- package/dist/utilities/getPayloadHMR.js +5 -3
- package/dist/utilities/getPayloadHMR.js.map +1 -1
- package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
- package/dist/utilities/getRequestLanguage.js +1 -1
- package/dist/utilities/getRequestLanguage.js.map +1 -1
- package/dist/utilities/getRequestTheme.d.ts +11 -0
- package/dist/utilities/getRequestTheme.d.ts.map +1 -0
- package/dist/utilities/getRequestTheme.js +19 -0
- package/dist/utilities/getRequestTheme.js.map +1 -0
- package/dist/utilities/initPage/index.d.ts.map +1 -1
- package/dist/utilities/initPage/index.js +1 -0
- package/dist/utilities/initPage/index.js.map +1 -1
- package/dist/views/API/RenderJSON/index.js +99 -70
- package/dist/views/API/RenderJSON/index.js.map +1 -1
- package/dist/views/API/index.client.js +128 -91
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/API/index.js +2 -1
- package/dist/views/API/index.js.map +1 -1
- package/dist/views/Account/Settings/index.js +27 -15
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/Account/ToggleTheme/index.js +2 -1
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.d.ts.map +1 -1
- package/dist/views/Account/index.js +54 -40
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +29 -19
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.js +16 -6
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/Dashboard/Default/index.client.js +67 -56
- package/dist/views/Dashboard/Default/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/index.js +28 -19
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/index.js +23 -17
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Document/getDocumentData.d.ts +10 -0
- package/dist/views/Document/getDocumentData.d.ts.map +1 -0
- package/dist/views/Document/getDocumentData.js +24 -0
- package/dist/views/Document/getDocumentData.js.map +1 -0
- package/dist/views/Document/getDocumentPermissions.d.ts +14 -0
- package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -0
- package/dist/views/Document/getDocumentPermissions.js +83 -0
- package/dist/views/Document/getDocumentPermissions.js.map +1 -0
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +63 -64
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Edit/Default/Auth/APIKey.js +41 -25
- package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Default/Auth/index.js +78 -50
- package/dist/views/Edit/Default/Auth/index.js.map +1 -1
- package/dist/views/Edit/Default/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/index.js +84 -65
- package/dist/views/Edit/Default/index.js.map +1 -1
- package/dist/views/Edit/index.client.js +10 -4
- package/dist/views/Edit/index.client.js.map +1 -1
- package/dist/views/Edit/index.js +2 -1
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +42 -20
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.js +37 -17
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/List/Default/index.js +151 -81
- package/dist/views/List/Default/index.js.map +1 -1
- package/dist/views/List/index.js +52 -43
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/LivePreview/Context/context.d.ts +1 -1
- package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
- package/dist/views/LivePreview/Context/context.js.map +1 -1
- package/dist/views/LivePreview/Context/index.js +9 -6
- package/dist/views/LivePreview/Context/index.js.map +1 -1
- package/dist/views/LivePreview/Device/index.js +5 -3
- package/dist/views/LivePreview/Device/index.js.map +1 -1
- package/dist/views/LivePreview/DeviceContainer/index.js +5 -3
- package/dist/views/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/views/LivePreview/IFrame/index.js +2 -1
- package/dist/views/LivePreview/IFrame/index.js.map +1 -1
- package/dist/views/LivePreview/Preview/index.js +25 -14
- package/dist/views/LivePreview/Preview/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/Controls/index.js +105 -57
- package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/SizeInput/index.js +2 -1
- package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/index.js +29 -14
- package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/views/LivePreview/ToolbarArea/index.js +5 -3
- package/dist/views/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/views/LivePreview/index.client.d.ts.map +1 -1
- package/dist/views/LivePreview/index.client.js +103 -76
- package/dist/views/LivePreview/index.client.js.map +1 -1
- package/dist/views/LivePreview/index.js +2 -1
- package/dist/views/LivePreview/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.js +62 -48
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Login/index.js +26 -19
- package/dist/views/Login/index.js.map +1 -1
- package/dist/views/Logout/LogoutClient.js +21 -7
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.js +13 -10
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/NotFound/index.client.js +22 -10
- package/dist/views/NotFound/index.client.js.map +1 -1
- package/dist/views/NotFound/index.js +21 -14
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/ResetPassword/index.client.js +17 -8
- package/dist/views/ResetPassword/index.client.js.map +1 -1
- package/dist/views/ResetPassword/index.js +46 -25
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +36 -16
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Unauthorized/index.js +19 -8
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Verify/index.js +20 -11
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Version/Default/index.js +83 -57
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/Label/index.js +5 -3
- package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +65 -50
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +30 -18
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +23 -12
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +2 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +22 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +31 -30
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +2 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +22 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js +90 -87
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/Restore/index.js +38 -18
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +32 -24
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.js +17 -11
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/index.js +2 -1
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/buildColumns.js +7 -6
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +25 -3
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +9 -7
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/ID/index.js +4 -1
- package/dist/views/Versions/cells/ID/index.js.map +1 -1
- package/dist/views/Versions/index.client.js +61 -29
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.js +31 -22
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/withPayload.d.ts.map +1 -1
- package/dist/withPayload.js +23 -0
- package/dist/withPayload.js.map +1 -1
- package/package.json +15 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject } from 'payload/types'\n\nimport { Gutter } from '@payloadcms/ui/elements/Gutter'\nimport usePayloadAPI from '@payloadcms/ui/hooks/usePayloadAPI'\nimport { SetViewActions } from '@payloadcms/ui/providers/Actions'\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { formatDate } from '@payloadcms/ui/utilities/formatDate'\nimport React, { useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport diffComponents from '../RenderFieldsToDiff/fields/index.js'\nimport RenderFieldsToDiff from '../RenderFieldsToDiff/index.js'\nimport Restore from '../Restore/index.js'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { SelectLocales } from '../SelectLocales/index.js'\nimport { mostRecentVersionOption } from '../shared.js'\nimport { SetStepNav } from './SetStepNav.js'\nimport './index.scss'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n doc,\n docPermissions,\n initialComparisonDoc,\n localeOptions,\n mostRecentDoc,\n publishedDoc,\n versionID,\n}) => {\n const config = useConfig()\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const { getComponentMap, getFieldMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug, globalSlug })\n\n const [fieldMap] = useState(() => getFieldMap({ collectionSlug, globalSlug }))\n\n const [collectionConfig] = useState(() =>\n config.collections.find((collection) => collection.slug === collectionSlug),\n )\n\n const [globalConfig] = useState(() => config.globals.find((global) => global.slug === globalSlug))\n\n const [locales, setLocales] = useState<OptionObject[]>(localeOptions)\n const [compareValue, setCompareValue] = useState<CompareOption>(mostRecentVersionOption)\n\n const {\n admin: { dateFormat },\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const formattedCreatedAt = doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: dateFormat })\n : ''\n\n const originalDocFetchURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }${collectionSlug ? `/${id}` : ''}`\n\n const compareBaseURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }/versions`\n\n const compareFetchURL =\n compareValue?.value === 'mostRecent' || compareValue?.value === 'published'\n ? originalDocFetchURL\n : `${compareBaseURL}/${compareValue.value}`\n\n const [{ data: currentComparisonDoc }] = usePayloadAPI(compareFetchURL, {\n initialData: initialComparisonDoc,\n initialParams: { depth: 1, draft: 'true', locale: '*' },\n })\n\n const comparison =\n compareValue?.value === 'mostRecent'\n ? mostRecentDoc\n : compareValue?.value === 'published'\n ? publishedDoc\n : currentComparisonDoc?.version // the `version` key is only present on `versions` documents\n\n const canUpdate = docPermissions?.update?.permission\n\n return (\n <main className={baseClass}>\n <SetViewActions actions={componentMap?.actionsMap?.Edit?.Version} />\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fieldMap={fieldMap}\n globalConfig={globalConfig}\n globalSlug={globalSlug}\n id={id}\n mostRecentDoc={mostRecentDoc}\n />\n <Gutter className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__header-wrap`}>\n <p className={`${baseClass}__created-at`}>\n {i18n.t('version:versionCreatedOn', {\n version: i18n.t(doc?.autosave ? 'version:autosavedVersion' : 'version:version'),\n })}\n </p>\n <header className={`${baseClass}__header`}>\n <h2>{formattedCreatedAt}</h2>\n {canUpdate && (\n <Restore\n className={`${baseClass}__restore`}\n collectionSlug={collectionSlug}\n globalSlug={globalSlug}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={id}\n versionDate={formattedCreatedAt}\n versionID={versionID}\n />\n )}\n </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\n onChange={setCompareValue}\n parentID={id}\n publishedDoc={publishedDoc}\n value={compareValue}\n versionID={versionID}\n />\n {localization && (\n <SelectLocales onChange={setLocales} options={localeOptions} value={locales} />\n )}\n </div>\n {doc?.version && (\n <RenderFieldsToDiff\n comparison={comparison}\n diffComponents={diffComponents}\n fieldMap={fieldMap}\n fieldPermissions={docPermissions?.fields}\n i18n={i18n}\n locales={\n locales\n ? locales.map(({ label }) => (typeof label === 'string' ? label : undefined))\n : []\n }\n version={\n globalConfig\n ? {\n ...doc?.version,\n createdAt: doc?.version?.createdAt || doc.createdAt,\n updatedAt: doc?.version?.updatedAt || doc.updatedAt,\n }\n : doc?.version\n }\n />\n )}\n </Gutter>\n </main>\n )\n}\n"],"names":["Gutter","usePayloadAPI","SetViewActions","useComponentMap","useConfig","useDocumentInfo","useTranslation","formatDate","React","useState","diffComponents","RenderFieldsToDiff","Restore","SelectComparison","SelectLocales","mostRecentVersionOption","SetStepNav","baseClass","DefaultVersionView","doc","docPermissions","initialComparisonDoc","localeOptions","mostRecentDoc","publishedDoc","versionID","config","i18n","id","collectionSlug","globalSlug","getComponentMap","getFieldMap","componentMap","fieldMap","collectionConfig","collections","find","collection","slug","globalConfig","globals","global","locales","setLocales","compareValue","setCompareValue","admin","dateFormat","localization","routes","api","apiRoute","serverURL","formattedCreatedAt","createdAt","date","pattern","originalDocFetchURL","compareBaseURL","compareFetchURL","value","data","currentComparisonDoc","initialData","initialParams","depth","draft","locale","comparison","version","canUpdate","update","permission","main","className","actions","actionsMap","Edit","Version","div","p","t","autosave","header","h2","label","labels","singular","originalDocID","versionDate","baseURL","onChange","parentID","options","fieldPermissions","fields","map","undefined","updatedAt"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject } from 'payload/types'\n\nimport { Gutter } from '@payloadcms/ui/elements/Gutter'\nimport usePayloadAPI from '@payloadcms/ui/hooks/usePayloadAPI'\nimport { SetViewActions } from '@payloadcms/ui/providers/Actions'\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { formatDate } from '@payloadcms/ui/utilities/formatDate'\nimport React, { useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport diffComponents from '../RenderFieldsToDiff/fields/index.js'\nimport RenderFieldsToDiff from '../RenderFieldsToDiff/index.js'\nimport Restore from '../Restore/index.js'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { SelectLocales } from '../SelectLocales/index.js'\nimport { mostRecentVersionOption } from '../shared.js'\nimport { SetStepNav } from './SetStepNav.js'\nimport './index.scss'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n doc,\n docPermissions,\n initialComparisonDoc,\n localeOptions,\n mostRecentDoc,\n publishedDoc,\n versionID,\n}) => {\n const config = useConfig()\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const { getComponentMap, getFieldMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug, globalSlug })\n\n const [fieldMap] = useState(() => getFieldMap({ collectionSlug, globalSlug }))\n\n const [collectionConfig] = useState(() =>\n config.collections.find((collection) => collection.slug === collectionSlug),\n )\n\n const [globalConfig] = useState(() => config.globals.find((global) => global.slug === globalSlug))\n\n const [locales, setLocales] = useState<OptionObject[]>(localeOptions)\n const [compareValue, setCompareValue] = useState<CompareOption>(mostRecentVersionOption)\n\n const {\n admin: { dateFormat },\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const formattedCreatedAt = doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: dateFormat })\n : ''\n\n const originalDocFetchURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }${collectionSlug ? `/${id}` : ''}`\n\n const compareBaseURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }/versions`\n\n const compareFetchURL =\n compareValue?.value === 'mostRecent' || compareValue?.value === 'published'\n ? originalDocFetchURL\n : `${compareBaseURL}/${compareValue.value}`\n\n const [{ data: currentComparisonDoc }] = usePayloadAPI(compareFetchURL, {\n initialData: initialComparisonDoc,\n initialParams: { depth: 1, draft: 'true', locale: '*' },\n })\n\n const comparison =\n compareValue?.value === 'mostRecent'\n ? mostRecentDoc\n : compareValue?.value === 'published'\n ? publishedDoc\n : currentComparisonDoc?.version // the `version` key is only present on `versions` documents\n\n const canUpdate = docPermissions?.update?.permission\n\n return (\n <main className={baseClass}>\n <SetViewActions actions={componentMap?.actionsMap?.Edit?.Version} />\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fieldMap={fieldMap}\n globalConfig={globalConfig}\n globalSlug={globalSlug}\n id={id}\n mostRecentDoc={mostRecentDoc}\n />\n <Gutter className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__header-wrap`}>\n <p className={`${baseClass}__created-at`}>\n {i18n.t('version:versionCreatedOn', {\n version: i18n.t(doc?.autosave ? 'version:autosavedVersion' : 'version:version'),\n })}\n </p>\n <header className={`${baseClass}__header`}>\n <h2>{formattedCreatedAt}</h2>\n {canUpdate && (\n <Restore\n className={`${baseClass}__restore`}\n collectionSlug={collectionSlug}\n globalSlug={globalSlug}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={id}\n versionDate={formattedCreatedAt}\n versionID={versionID}\n />\n )}\n </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\n onChange={setCompareValue}\n parentID={id}\n publishedDoc={publishedDoc}\n value={compareValue}\n versionID={versionID}\n />\n {localization && (\n <SelectLocales onChange={setLocales} options={localeOptions} value={locales} />\n )}\n </div>\n {doc?.version && (\n <RenderFieldsToDiff\n comparison={comparison}\n diffComponents={diffComponents}\n fieldMap={fieldMap}\n fieldPermissions={docPermissions?.fields}\n i18n={i18n}\n locales={\n locales\n ? locales.map(({ label }) => (typeof label === 'string' ? label : undefined))\n : []\n }\n version={\n globalConfig\n ? {\n ...doc?.version,\n createdAt: doc?.version?.createdAt || doc.createdAt,\n updatedAt: doc?.version?.updatedAt || doc.updatedAt,\n }\n : doc?.version\n }\n />\n )}\n </Gutter>\n </main>\n )\n}\n"],"names":["Gutter","usePayloadAPI","SetViewActions","useComponentMap","useConfig","useDocumentInfo","useTranslation","formatDate","React","useState","diffComponents","RenderFieldsToDiff","Restore","SelectComparison","SelectLocales","mostRecentVersionOption","SetStepNav","baseClass","DefaultVersionView","doc","docPermissions","initialComparisonDoc","localeOptions","mostRecentDoc","publishedDoc","versionID","config","i18n","id","collectionSlug","globalSlug","getComponentMap","getFieldMap","componentMap","fieldMap","collectionConfig","collections","find","collection","slug","globalConfig","globals","global","locales","setLocales","compareValue","setCompareValue","admin","dateFormat","localization","routes","api","apiRoute","serverURL","formattedCreatedAt","createdAt","date","pattern","originalDocFetchURL","compareBaseURL","compareFetchURL","value","data","currentComparisonDoc","initialData","initialParams","depth","draft","locale","comparison","version","canUpdate","update","permission","main","className","actions","actionsMap","Edit","Version","div","p","t","autosave","header","h2","label","labels","singular","originalDocID","versionDate","baseURL","onChange","parentID","options","fieldPermissions","fields","map","undefined","updatedAt"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAGA,SAASA,MAAM,QAAQ,iCAAgC;AACvD,OAAOC,mBAAmB,qCAAoC;AAC9D,SAASC,cAAc,QAAQ,mCAAkC;AACjE,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,UAAU,QAAQ,sCAAqC;AAChE,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAIvC,OAAOC,oBAAoB,wCAAuC;AAClE,OAAOC,wBAAwB,iCAAgC;AAC/D,OAAOC,aAAa,sBAAqB;AACzC,SAASC,gBAAgB,QAAQ,+BAA8B;AAC/D,SAASC,aAAa,QAAQ,4BAA2B;AACzD,SAASC,uBAAuB,QAAQ,eAAc;AACtD,SAASC,UAAU,QAAQ,kBAAiB;AAG5C,MAAMC,YAAY;AAElB,OAAO,MAAMC,qBAAyD,CAAC,EACrEC,GAAG,EACHC,cAAc,EACdC,oBAAoB,EACpBC,aAAa,EACbC,aAAa,EACbC,YAAY,EACZC,SAAS,EACV;IACC,MAAMC,SAAStB;IAEf,MAAM,EAAEuB,IAAI,EAAE,GAAGrB;IACjB,MAAM,EAAEsB,EAAE,EAAEC,cAAc,EAAEC,UAAU,EAAE,GAAGzB;IAE3C,MAAM,EAAE0B,eAAe,EAAEC,WAAW,EAAE,GAAG7B;IAEzC,MAAM8B,eAAeF,gBAAgB;QAAEF;QAAgBC;IAAW;IAElE,MAAM,CAACI,SAAS,GAAGzB,SAAS,IAAMuB,YAAY;YAAEH;YAAgBC;QAAW;IAE3E,MAAM,CAACK,iBAAiB,GAAG1B,SAAS,IAClCiB,OAAOU,WAAW,CAACC,IAAI,CAAC,CAACC,aAAeA,WAAWC,IAAI,KAAKV;IAG9D,MAAM,CAACW,aAAa,GAAG/B,SAAS,IAAMiB,OAAOe,OAAO,CAACJ,IAAI,CAAC,CAACK,SAAWA,OAAOH,IAAI,KAAKT;IAEtF,MAAM,CAACa,SAASC,WAAW,GAAGnC,SAAyBa;IACvD,MAAM,CAACuB,cAAcC,gBAAgB,GAAGrC,SAAwBM;IAEhE,MAAM,EACJgC,OAAO,EAAEC,UAAU,EAAE,EACrBC,YAAY,EACZC,QAAQ,EAAEC,KAAKC,QAAQ,EAAE,EACzBC,SAAS,EACV,GAAG3B;IAEJ,MAAM4B,qBAAqBnC,KAAKoC,YAC5BhD,WAAW;QAAEiD,MAAMrC,IAAIoC,SAAS;QAAE5B;QAAM8B,SAAST;IAAW,KAC5D;IAEJ,MAAMU,sBAAsB,CAAC,EAAEL,UAAU,EAAED,SAAS,CAAC,EAAEtB,aAAa,aAAa,GAAG,EAClFD,kBAAkBC,WACnB,EAAED,iBAAiB,CAAC,CAAC,EAAED,GAAG,CAAC,GAAG,GAAG,CAAC;IAEnC,MAAM+B,iBAAiB,CAAC,EAAEN,UAAU,EAAED,SAAS,CAAC,EAAEtB,aAAa,aAAa,GAAG,EAC7ED,kBAAkBC,WACnB,SAAS,CAAC;IAEX,MAAM8B,kBACJf,cAAcgB,UAAU,gBAAgBhB,cAAcgB,UAAU,cAC5DH,sBACA,CAAC,EAAEC,eAAe,CAAC,EAAEd,aAAagB,KAAK,CAAC,CAAC;IAE/C,MAAM,CAAC,EAAEC,MAAMC,oBAAoB,EAAE,CAAC,GAAG9D,cAAc2D,iBAAiB;QACtEI,aAAa3C;QACb4C,eAAe;YAAEC,OAAO;YAAGC,OAAO;YAAQC,QAAQ;QAAI;IACxD;IAEA,MAAMC,aACJxB,cAAcgB,UAAU,eACpBtC,gBACAsB,cAAcgB,UAAU,cACtBrC,eACAuC,sBAAsBO,QAAQ,4DAA4D;;IAElG,MAAMC,YAAYnD,gBAAgBoD,QAAQC;IAE1C,qBACE,MAACC;QAAKC,WAAW1D;;0BACf,KAACf;gBAAe0E,SAAS3C,cAAc4C,YAAYC,MAAMC;;0BACzD,KAAC/D;gBACCmB,kBAAkBA;gBAClBN,gBAAgBA;gBAChBV,KAAKA;gBACLe,UAAUA;gBACVM,cAAcA;gBACdV,YAAYA;gBACZF,IAAIA;gBACJL,eAAeA;;0BAEjB,MAACvB;gBAAO2E,WAAW,CAAC,EAAE1D,UAAU,MAAM,CAAC;;kCACrC,MAAC+D;wBAAIL,WAAW,CAAC,EAAE1D,UAAU,aAAa,CAAC;;0CACzC,KAACgE;gCAAEN,WAAW,CAAC,EAAE1D,UAAU,YAAY,CAAC;0CACrCU,KAAKuD,CAAC,CAAC,4BAA4B;oCAClCZ,SAAS3C,KAAKuD,CAAC,CAAC/D,KAAKgE,WAAW,6BAA6B;gCAC/D;;0CAEF,MAACC;gCAAOT,WAAW,CAAC,EAAE1D,UAAU,QAAQ,CAAC;;kDACvC,KAACoE;kDAAI/B;;oCACJiB,2BACC,KAAC3D;wCACC+D,WAAW,CAAC,EAAE1D,UAAU,SAAS,CAAC;wCAClCY,gBAAgBA;wCAChBC,YAAYA;wCACZwD,OAAOnD,kBAAkBoD,OAAOC,YAAYhD,cAAc8C;wCAC1DG,eAAe7D;wCACf8D,aAAapC;wCACb7B,WAAWA;;;;;;kCAKnB,MAACuD;wBAAIL,WAAW,CAAC,EAAE1D,UAAU,UAAU,CAAC;;0CACtC,KAACJ;gCACC8E,SAAShC;gCACTiC,UAAU9C;gCACV+C,UAAUjE;gCACVJ,cAAcA;gCACdqC,OAAOhB;gCACPpB,WAAWA;;4BAEZwB,8BACC,KAACnC;gCAAc8E,UAAUhD;gCAAYkD,SAASxE;gCAAeuC,OAAOlB;;;;oBAGvExB,KAAKmD,yBACJ,KAAC3D;wBACC0D,YAAYA;wBACZ3D,gBAAgBA;wBAChBwB,UAAUA;wBACV6D,kBAAkB3E,gBAAgB4E;wBAClCrE,MAAMA;wBACNgB,SACEA,UACIA,QAAQsD,GAAG,CAAC,CAAC,EAAEX,KAAK,EAAE,GAAM,OAAOA,UAAU,WAAWA,QAAQY,aAChE,EAAE;wBAER5B,SACE9B,eACI;4BACE,GAAGrB,KAAKmD,OAAO;4BACff,WAAWpC,KAAKmD,SAASf,aAAapC,IAAIoC,SAAS;4BACnD4C,WAAWhF,KAAKmD,SAAS6B,aAAahF,IAAIgF,SAAS;wBACrD,IACAhF,KAAKmD;;;;;;AAOvB,EAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
import React from 'react';
|
|
2
3
|
const baseClass = 'field-diff-label';
|
|
3
|
-
const Label = ({ children })=>/*#__PURE__*/
|
|
4
|
-
className: baseClass
|
|
5
|
-
|
|
4
|
+
const Label = ({ children })=>/*#__PURE__*/ _jsx("div", {
|
|
5
|
+
className: baseClass,
|
|
6
|
+
children: children
|
|
7
|
+
});
|
|
6
8
|
export default Label;
|
|
7
9
|
|
|
8
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/views/Version/RenderFieldsToDiff/Label/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'field-diff-label'\n\nconst Label: React.FC<{ children?: React.ReactNode }> = ({ children }) => (\n <div className={baseClass}>{children}</div>\n)\n\nexport default Label\n"],"names":["React","baseClass","Label","children","div","className"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/views/Version/RenderFieldsToDiff/Label/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'field-diff-label'\n\nconst Label: React.FC<{ children?: React.ReactNode }> = ({ children }) => (\n <div className={baseClass}>{children}</div>\n)\n\nexport default Label\n"],"names":["React","baseClass","Label","children","div","className"],"rangeMappings":";;;;;;;","mappings":";AAAA,OAAOA,WAAW,QAAO;AAIzB,MAAMC,YAAY;AAElB,MAAMC,QAAkD,CAAC,EAAEC,QAAQ,EAAE,iBACnE,KAACC;QAAIC,WAAWJ;kBAAYE;;AAG9B,eAAeD,MAAK"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
2
|
import { getTranslation } from '@payloadcms/translations';
|
|
2
3
|
import { getUniqueListBy } from 'payload/utilities';
|
|
3
4
|
import React from 'react';
|
|
@@ -8,56 +9,70 @@ const Iterable = ({ comparison, diffComponents, field, i18n, locale, locales, pe
|
|
|
8
9
|
const versionRowCount = Array.isArray(version) ? version.length : 0;
|
|
9
10
|
const comparisonRowCount = Array.isArray(comparison) ? comparison.length : 0;
|
|
10
11
|
const maxRows = Math.max(versionRowCount, comparisonRowCount);
|
|
11
|
-
return /*#__PURE__*/
|
|
12
|
-
className: baseClass
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
12
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
13
|
+
className: baseClass,
|
|
14
|
+
children: [
|
|
15
|
+
'label' in field.fieldComponentProps && field.fieldComponentProps.label && typeof field.fieldComponentProps.label !== 'function' && /*#__PURE__*/ _jsxs(Label, {
|
|
16
|
+
children: [
|
|
17
|
+
locale && /*#__PURE__*/ _jsx("span", {
|
|
18
|
+
className: `${baseClass}__locale-label`,
|
|
19
|
+
children: locale
|
|
20
|
+
}),
|
|
21
|
+
getTranslation(field.fieldComponentProps.label, i18n)
|
|
22
|
+
]
|
|
23
|
+
}),
|
|
24
|
+
maxRows > 0 && /*#__PURE__*/ _jsx(React.Fragment, {
|
|
25
|
+
children: Array.from(Array(maxRows).keys()).map((row, i)=>{
|
|
26
|
+
const versionRow = version?.[i] || {};
|
|
27
|
+
const comparisonRow = comparison?.[i] || {};
|
|
28
|
+
let fieldMap = [];
|
|
29
|
+
if (field.type === 'array' && 'fieldMap' in field.fieldComponentProps) fieldMap = field.fieldComponentProps.fieldMap;
|
|
30
|
+
if (field.type === 'blocks') {
|
|
31
|
+
fieldMap = [];
|
|
32
|
+
if (versionRow?.blockType === comparisonRow?.blockType) {
|
|
33
|
+
const matchedBlock = 'blocks' in field.fieldComponentProps && field.fieldComponentProps.blocks?.find((block)=>block.slug === versionRow?.blockType) || {
|
|
34
|
+
fieldMap: []
|
|
35
|
+
};
|
|
36
|
+
fieldMap = [
|
|
37
|
+
...fieldMap,
|
|
38
|
+
...matchedBlock.fieldMap
|
|
39
|
+
];
|
|
40
|
+
} else {
|
|
41
|
+
const matchedVersionBlock = 'blocks' in field.fieldComponentProps && field.fieldComponentProps.blocks?.find((block)=>block.slug === versionRow?.blockType) || {
|
|
42
|
+
fieldMap: []
|
|
43
|
+
};
|
|
44
|
+
const matchedComparisonBlock = 'blocks' in field.fieldComponentProps && field.fieldComponentProps.blocks?.find((block)=>block.slug === comparisonRow?.blockType) || {
|
|
45
|
+
fieldMap: []
|
|
46
|
+
};
|
|
47
|
+
fieldMap = getUniqueListBy([
|
|
48
|
+
...fieldMap,
|
|
49
|
+
...matchedVersionBlock.fieldMap,
|
|
50
|
+
...matchedComparisonBlock.fieldMap
|
|
51
|
+
], 'name');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
55
|
+
className: `${baseClass}__wrap`,
|
|
56
|
+
children: /*#__PURE__*/ _jsx(RenderFieldsToDiff, {
|
|
57
|
+
comparison: comparisonRow,
|
|
58
|
+
diffComponents: diffComponents,
|
|
59
|
+
fieldMap: fieldMap,
|
|
60
|
+
fieldPermissions: permissions,
|
|
61
|
+
i18n: i18n,
|
|
62
|
+
locales: locales,
|
|
63
|
+
version: versionRow
|
|
64
|
+
})
|
|
65
|
+
}, i);
|
|
66
|
+
})
|
|
67
|
+
}),
|
|
68
|
+
maxRows === 0 && /*#__PURE__*/ _jsx("div", {
|
|
69
|
+
className: `${baseClass}__no-rows`,
|
|
70
|
+
children: i18n.t('version:noRowsFound', {
|
|
71
|
+
label: 'labels' in field.fieldComponentProps && field.fieldComponentProps.labels?.plural ? getTranslation(field.fieldComponentProps.labels.plural, i18n) : i18n.t('general:rows')
|
|
72
|
+
})
|
|
73
|
+
})
|
|
74
|
+
]
|
|
75
|
+
});
|
|
61
76
|
};
|
|
62
77
|
export default Iterable;
|
|
63
78
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx"],"sourcesContent":["import type { MappedField } from '@payloadcms/ui/utilities/buildComponentMap'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { getUniqueListBy } from 'payload/utilities'\nimport React from 'react'\n\nimport type { Props } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport RenderFieldsToDiff from '../../index.js'\nimport './index.scss'\n\nconst baseClass = 'iterable-diff'\n\nconst Iterable: React.FC<Props> = ({\n comparison,\n diffComponents,\n field,\n i18n,\n locale,\n locales,\n permissions,\n version,\n}) => {\n const versionRowCount = Array.isArray(version) ? version.length : 0\n const comparisonRowCount = Array.isArray(comparison) ? comparison.length : 0\n const maxRows = Math.max(versionRowCount, comparisonRowCount)\n\n return (\n <div className={baseClass}>\n {'label' in field.fieldComponentProps &&\n field.fieldComponentProps.label &&\n typeof field.fieldComponentProps.label !== 'function' && (\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.fieldComponentProps.label, i18n)}\n </Label>\n )}\n {maxRows > 0 && (\n <React.Fragment>\n {Array.from(Array(maxRows).keys()).map((row, i) => {\n const versionRow = version?.[i] || {}\n const comparisonRow = comparison?.[i] || {}\n\n let fieldMap: MappedField[] = []\n\n if (field.type === 'array' && 'fieldMap' in field.fieldComponentProps)\n fieldMap = field.fieldComponentProps.fieldMap\n\n if (field.type === 'blocks') {\n fieldMap = [\n // {\n // name: 'blockType',\n // label: i18n.t('fields:blockType'),\n // type: 'text',\n // },\n ]\n\n if (versionRow?.blockType === comparisonRow?.blockType) {\n const matchedBlock = ('blocks' in field.fieldComponentProps &&\n field.fieldComponentProps.blocks?.find(\n (block) => block.slug === versionRow?.blockType,\n )) || {\n fieldMap: [],\n }\n\n fieldMap = [...fieldMap, ...matchedBlock.fieldMap]\n } else {\n const matchedVersionBlock = ('blocks' in field.fieldComponentProps &&\n field.fieldComponentProps.blocks?.find(\n (block) => block.slug === versionRow?.blockType,\n )) || {\n fieldMap: [],\n }\n\n const matchedComparisonBlock = ('blocks' in field.fieldComponentProps &&\n field.fieldComponentProps.blocks?.find(\n (block) => block.slug === comparisonRow?.blockType,\n )) || {\n fieldMap: [],\n }\n\n fieldMap = getUniqueListBy<MappedField>(\n [\n ...fieldMap,\n ...matchedVersionBlock.fieldMap,\n ...matchedComparisonBlock.fieldMap,\n ],\n 'name',\n )\n }\n }\n\n return (\n <div className={`${baseClass}__wrap`} key={i}>\n <RenderFieldsToDiff\n comparison={comparisonRow}\n diffComponents={diffComponents}\n fieldMap={fieldMap}\n fieldPermissions={permissions}\n i18n={i18n}\n locales={locales}\n version={versionRow}\n />\n </div>\n )\n })}\n </React.Fragment>\n )}\n {maxRows === 0 && (\n <div className={`${baseClass}__no-rows`}>\n {i18n.t('version:noRowsFound', {\n label:\n 'labels' in field.fieldComponentProps && field.fieldComponentProps.labels?.plural\n ? getTranslation(field.fieldComponentProps.labels.plural, i18n)\n : i18n.t('general:rows'),\n })}\n </div>\n )}\n </div>\n )\n}\n\nexport default Iterable\n"],"names":["getTranslation","getUniqueListBy","React","Label","RenderFieldsToDiff","baseClass","Iterable","comparison","diffComponents","field","i18n","locale","locales","permissions","version","versionRowCount","Array","isArray","length","comparisonRowCount","maxRows","Math","max","div","className","fieldComponentProps","label","span","Fragment","from","keys","map","row","i","versionRow","comparisonRow","fieldMap","type","blockType","matchedBlock","blocks","find","block","slug","matchedVersionBlock","matchedComparisonBlock","
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx"],"sourcesContent":["import type { MappedField } from '@payloadcms/ui/utilities/buildComponentMap'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { getUniqueListBy } from 'payload/utilities'\nimport React from 'react'\n\nimport type { Props } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport RenderFieldsToDiff from '../../index.js'\nimport './index.scss'\n\nconst baseClass = 'iterable-diff'\n\nconst Iterable: React.FC<Props> = ({\n comparison,\n diffComponents,\n field,\n i18n,\n locale,\n locales,\n permissions,\n version,\n}) => {\n const versionRowCount = Array.isArray(version) ? version.length : 0\n const comparisonRowCount = Array.isArray(comparison) ? comparison.length : 0\n const maxRows = Math.max(versionRowCount, comparisonRowCount)\n\n return (\n <div className={baseClass}>\n {'label' in field.fieldComponentProps &&\n field.fieldComponentProps.label &&\n typeof field.fieldComponentProps.label !== 'function' && (\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.fieldComponentProps.label, i18n)}\n </Label>\n )}\n {maxRows > 0 && (\n <React.Fragment>\n {Array.from(Array(maxRows).keys()).map((row, i) => {\n const versionRow = version?.[i] || {}\n const comparisonRow = comparison?.[i] || {}\n\n let fieldMap: MappedField[] = []\n\n if (field.type === 'array' && 'fieldMap' in field.fieldComponentProps)\n fieldMap = field.fieldComponentProps.fieldMap\n\n if (field.type === 'blocks') {\n fieldMap = [\n // {\n // name: 'blockType',\n // label: i18n.t('fields:blockType'),\n // type: 'text',\n // },\n ]\n\n if (versionRow?.blockType === comparisonRow?.blockType) {\n const matchedBlock = ('blocks' in field.fieldComponentProps &&\n field.fieldComponentProps.blocks?.find(\n (block) => block.slug === versionRow?.blockType,\n )) || {\n fieldMap: [],\n }\n\n fieldMap = [...fieldMap, ...matchedBlock.fieldMap]\n } else {\n const matchedVersionBlock = ('blocks' in field.fieldComponentProps &&\n field.fieldComponentProps.blocks?.find(\n (block) => block.slug === versionRow?.blockType,\n )) || {\n fieldMap: [],\n }\n\n const matchedComparisonBlock = ('blocks' in field.fieldComponentProps &&\n field.fieldComponentProps.blocks?.find(\n (block) => block.slug === comparisonRow?.blockType,\n )) || {\n fieldMap: [],\n }\n\n fieldMap = getUniqueListBy<MappedField>(\n [\n ...fieldMap,\n ...matchedVersionBlock.fieldMap,\n ...matchedComparisonBlock.fieldMap,\n ],\n 'name',\n )\n }\n }\n\n return (\n <div className={`${baseClass}__wrap`} key={i}>\n <RenderFieldsToDiff\n comparison={comparisonRow}\n diffComponents={diffComponents}\n fieldMap={fieldMap}\n fieldPermissions={permissions}\n i18n={i18n}\n locales={locales}\n version={versionRow}\n />\n </div>\n )\n })}\n </React.Fragment>\n )}\n {maxRows === 0 && (\n <div className={`${baseClass}__no-rows`}>\n {i18n.t('version:noRowsFound', {\n label:\n 'labels' in field.fieldComponentProps && field.fieldComponentProps.labels?.plural\n ? getTranslation(field.fieldComponentProps.labels.plural, i18n)\n : i18n.t('general:rows'),\n })}\n </div>\n )}\n </div>\n )\n}\n\nexport default Iterable\n"],"names":["getTranslation","getUniqueListBy","React","Label","RenderFieldsToDiff","baseClass","Iterable","comparison","diffComponents","field","i18n","locale","locales","permissions","version","versionRowCount","Array","isArray","length","comparisonRowCount","maxRows","Math","max","div","className","fieldComponentProps","label","span","Fragment","from","keys","map","row","i","versionRow","comparisonRow","fieldMap","type","blockType","matchedBlock","blocks","find","block","slug","matchedVersionBlock","matchedComparisonBlock","fieldPermissions","t","labels","plural"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1,27 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
2
|
import { getTranslation } from '@payloadcms/translations';
|
|
2
3
|
import React from 'react';
|
|
3
4
|
import Label from '../../Label/index.js';
|
|
4
5
|
import RenderFieldsToDiff from '../../index.js';
|
|
5
6
|
const baseClass = 'nested-diff';
|
|
6
7
|
const Nested = ({ comparison, diffComponents, disableGutter = false, field, fieldMap, i18n, locale, locales, permissions, version })=>{
|
|
7
|
-
return /*#__PURE__*/
|
|
8
|
-
className: baseClass
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
8
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
9
|
+
className: baseClass,
|
|
10
|
+
children: [
|
|
11
|
+
'label' in field.fieldComponentProps && field.fieldComponentProps.label && typeof field.fieldComponentProps.label !== 'function' && /*#__PURE__*/ _jsxs(Label, {
|
|
12
|
+
children: [
|
|
13
|
+
locale && /*#__PURE__*/ _jsx("span", {
|
|
14
|
+
className: `${baseClass}__locale-label`,
|
|
15
|
+
children: locale
|
|
16
|
+
}),
|
|
17
|
+
getTranslation(field.fieldComponentProps.label, i18n)
|
|
18
|
+
]
|
|
19
|
+
}),
|
|
20
|
+
/*#__PURE__*/ _jsx("div", {
|
|
21
|
+
className: [
|
|
22
|
+
`${baseClass}__wrap`,
|
|
23
|
+
!disableGutter && `${baseClass}__wrap--gutter`
|
|
24
|
+
].filter(Boolean).join(' '),
|
|
25
|
+
children: /*#__PURE__*/ _jsx(RenderFieldsToDiff, {
|
|
26
|
+
comparison: comparison,
|
|
27
|
+
diffComponents: diffComponents,
|
|
28
|
+
fieldMap: fieldMap,
|
|
29
|
+
fieldPermissions: permissions,
|
|
30
|
+
i18n: i18n,
|
|
31
|
+
locales: locales,
|
|
32
|
+
version: version
|
|
33
|
+
})
|
|
34
|
+
})
|
|
35
|
+
]
|
|
36
|
+
});
|
|
25
37
|
};
|
|
26
38
|
export default Nested;
|
|
27
39
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Nested/index.tsx"],"sourcesContent":["import { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { Props } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport RenderFieldsToDiff from '../../index.js'\nimport './index.scss'\n\nconst baseClass = 'nested-diff'\n\nconst Nested: React.FC<Props> = ({\n comparison,\n diffComponents,\n disableGutter = false,\n field,\n fieldMap,\n i18n,\n locale,\n locales,\n permissions,\n version,\n}) => {\n return (\n <div className={baseClass}>\n {'label' in field.fieldComponentProps &&\n field.fieldComponentProps.label &&\n typeof field.fieldComponentProps.label !== 'function' && (\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.fieldComponentProps.label, i18n)}\n </Label>\n )}\n <div\n className={[`${baseClass}__wrap`, !disableGutter && `${baseClass}__wrap--gutter`]\n .filter(Boolean)\n .join(' ')}\n >\n <RenderFieldsToDiff\n comparison={comparison}\n diffComponents={diffComponents}\n fieldMap={fieldMap}\n fieldPermissions={permissions}\n i18n={i18n}\n locales={locales}\n version={version}\n />\n </div>\n </div>\n )\n}\n\nexport default Nested\n"],"names":["getTranslation","React","Label","RenderFieldsToDiff","baseClass","Nested","comparison","diffComponents","disableGutter","field","fieldMap","i18n","locale","locales","permissions","version","div","className","fieldComponentProps","label","span","filter","Boolean","join","fieldPermissions"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Nested/index.tsx"],"sourcesContent":["import { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { Props } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport RenderFieldsToDiff from '../../index.js'\nimport './index.scss'\n\nconst baseClass = 'nested-diff'\n\nconst Nested: React.FC<Props> = ({\n comparison,\n diffComponents,\n disableGutter = false,\n field,\n fieldMap,\n i18n,\n locale,\n locales,\n permissions,\n version,\n}) => {\n return (\n <div className={baseClass}>\n {'label' in field.fieldComponentProps &&\n field.fieldComponentProps.label &&\n typeof field.fieldComponentProps.label !== 'function' && (\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.fieldComponentProps.label, i18n)}\n </Label>\n )}\n <div\n className={[`${baseClass}__wrap`, !disableGutter && `${baseClass}__wrap--gutter`]\n .filter(Boolean)\n .join(' ')}\n >\n <RenderFieldsToDiff\n comparison={comparison}\n diffComponents={diffComponents}\n fieldMap={fieldMap}\n fieldPermissions={permissions}\n i18n={i18n}\n locales={locales}\n version={version}\n />\n </div>\n </div>\n )\n}\n\nexport default Nested\n"],"names":["getTranslation","React","Label","RenderFieldsToDiff","baseClass","Nested","comparison","diffComponents","disableGutter","field","fieldMap","i18n","locale","locales","permissions","version","div","className","fieldComponentProps","label","span","filter","Boolean","join","fieldPermissions"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAIzB,OAAOC,WAAW,uBAAsB;AACxC,OAAOC,wBAAwB,iBAAgB;AAG/C,MAAMC,YAAY;AAElB,MAAMC,SAA0B,CAAC,EAC/BC,UAAU,EACVC,cAAc,EACdC,gBAAgB,KAAK,EACrBC,KAAK,EACLC,QAAQ,EACRC,IAAI,EACJC,MAAM,EACNC,OAAO,EACPC,WAAW,EACXC,OAAO,EACR;IACC,qBACE,MAACC;QAAIC,WAAWb;;YACb,WAAWK,MAAMS,mBAAmB,IACnCT,MAAMS,mBAAmB,CAACC,KAAK,IAC/B,OAAOV,MAAMS,mBAAmB,CAACC,KAAK,KAAK,4BACzC,MAACjB;;oBACEU,wBAAU,KAACQ;wBAAKH,WAAW,CAAC,EAAEb,UAAU,cAAc,CAAC;kCAAGQ;;oBAC1DZ,eAAeS,MAAMS,mBAAmB,CAACC,KAAK,EAAER;;;0BAGvD,KAACK;gBACCC,WAAW;oBAAC,CAAC,EAAEb,UAAU,MAAM,CAAC;oBAAE,CAACI,iBAAiB,CAAC,EAAEJ,UAAU,cAAc,CAAC;iBAAC,CAC9EiB,MAAM,CAACC,SACPC,IAAI,CAAC;0BAER,cAAA,KAACpB;oBACCG,YAAYA;oBACZC,gBAAgBA;oBAChBG,UAAUA;oBACVc,kBAAkBV;oBAClBH,MAAMA;oBACNE,SAASA;oBACTE,SAASA;;;;;AAKnB;AAEA,eAAeV,OAAM"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { getTranslation } from '@payloadcms/translations';
|
|
3
4
|
import { useConfig } from '@payloadcms/ui/providers/Config';
|
|
4
5
|
import { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/types';
|
|
@@ -56,18 +57,28 @@ const Relationship = ({ comparison, field, i18n, locale, version })=>{
|
|
|
56
57
|
comparisonToRender = generateLabelFromValue(collections, field, locale, comparison);
|
|
57
58
|
}
|
|
58
59
|
const label = 'label' in field.fieldComponentProps && typeof field.fieldComponentProps.label !== 'boolean' && typeof field.fieldComponentProps.label !== 'function' ? field.fieldComponentProps.label : '';
|
|
59
|
-
return /*#__PURE__*/
|
|
60
|
-
className: baseClass
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
60
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
61
|
+
className: baseClass,
|
|
62
|
+
children: [
|
|
63
|
+
/*#__PURE__*/ _jsxs(Label, {
|
|
64
|
+
children: [
|
|
65
|
+
locale && /*#__PURE__*/ _jsx("span", {
|
|
66
|
+
className: `${baseClass}__locale-label`,
|
|
67
|
+
children: locale
|
|
68
|
+
}),
|
|
69
|
+
getTranslation(label, i18n)
|
|
70
|
+
]
|
|
71
|
+
}),
|
|
72
|
+
/*#__PURE__*/ _jsx(ReactDiffViewer, {
|
|
73
|
+
hideLineNumbers: true,
|
|
74
|
+
newValue: typeof versionToRender !== 'undefined' ? String(versionToRender) : placeholder,
|
|
75
|
+
oldValue: typeof comparisonToRender !== 'undefined' ? String(comparisonToRender) : placeholder,
|
|
76
|
+
showDiffOnly: false,
|
|
77
|
+
splitView: true,
|
|
78
|
+
styles: diffStyles
|
|
79
|
+
})
|
|
80
|
+
]
|
|
81
|
+
});
|
|
71
82
|
};
|
|
72
83
|
export default Relationship;
|
|
73
84
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { MappedField } from '@payloadcms/ui/utilities/buildComponentMap'\nimport type { ClientCollectionConfig } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/types'\nimport React from 'react'\nimport ReactDiffViewerImport from 'react-diff-viewer-continued'\n\nimport type { Props } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport { diffStyles } from '../styles.js'\nimport './index.scss'\n\nconst ReactDiffViewer = (ReactDiffViewerImport.default ||\n ReactDiffViewerImport) as unknown as typeof ReactDiffViewerImport.default\n\nconst baseClass = 'relationship-diff'\n\ntype RelationshipValue = Record<string, any>\n\nconst generateLabelFromValue = (\n collections: ClientCollectionConfig[],\n field: MappedField,\n locale: string,\n value: { relationTo: string; value: RelationshipValue } | RelationshipValue,\n): string => {\n let relation: string\n let relatedDoc: RelationshipValue\n let valueToReturn = '' as any\n\n const relationTo =\n 'relationTo' in field.fieldComponentProps ? field.fieldComponentProps.relationTo : undefined\n\n if (value === null || typeof value === 'undefined') {\n return String(value)\n }\n\n if (Array.isArray(relationTo)) {\n if (typeof value === 'object') {\n relation = value.relationTo\n relatedDoc = value.value\n }\n } else {\n relation = relationTo\n relatedDoc = value\n }\n\n const relatedCollection = collections.find((c) => c.slug === relation)\n\n if (relatedCollection) {\n const useAsTitle = relatedCollection?.admin?.useAsTitle\n const useAsTitleField = relatedCollection.fields.find(\n (f) => fieldAffectsData(f) && !fieldIsPresentationalOnly(f) && f.name === useAsTitle,\n )\n let titleFieldIsLocalized = false\n\n if (useAsTitleField && fieldAffectsData(useAsTitleField))\n titleFieldIsLocalized = useAsTitleField.localized\n\n if (typeof relatedDoc?.[useAsTitle] !== 'undefined') {\n valueToReturn = relatedDoc[useAsTitle]\n } else if (typeof relatedDoc?.id !== 'undefined') {\n valueToReturn = relatedDoc.id\n }\n\n if (typeof valueToReturn === 'object' && titleFieldIsLocalized) {\n valueToReturn = valueToReturn[locale]\n }\n }\n\n return valueToReturn\n}\n\nconst Relationship: React.FC<Props> = ({ comparison, field, i18n, locale, version }) => {\n let placeholder = ''\n\n const { collections } = useConfig()\n\n if (version === comparison) placeholder = `[${i18n.t('general:noValue')}]`\n\n let versionToRender = version\n let comparisonToRender = comparison\n\n if ('hasMany' in field && field.hasMany) {\n if (Array.isArray(version))\n versionToRender = version\n .map((val) => generateLabelFromValue(collections, field, locale, val))\n .join(', ')\n if (Array.isArray(comparison))\n comparisonToRender = comparison\n .map((val) => generateLabelFromValue(collections, field, locale, val))\n .join(', ')\n } else {\n versionToRender = generateLabelFromValue(collections, field, locale, version)\n comparisonToRender = generateLabelFromValue(collections, field, locale, comparison)\n }\n\n const label =\n 'label' in field.fieldComponentProps &&\n typeof field.fieldComponentProps.label !== 'boolean' &&\n typeof field.fieldComponentProps.label !== 'function'\n ? field.fieldComponentProps.label\n : ''\n\n return (\n <div className={baseClass}>\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(label, i18n)}\n </Label>\n <ReactDiffViewer\n hideLineNumbers\n newValue={typeof versionToRender !== 'undefined' ? String(versionToRender) : placeholder}\n oldValue={\n typeof comparisonToRender !== 'undefined' ? String(comparisonToRender) : placeholder\n }\n showDiffOnly={false}\n splitView\n styles={diffStyles}\n />\n </div>\n )\n}\n\nexport default Relationship\n"],"names":["getTranslation","useConfig","fieldAffectsData","fieldIsPresentationalOnly","React","ReactDiffViewerImport","Label","diffStyles","ReactDiffViewer","default","baseClass","generateLabelFromValue","collections","field","locale","value","relation","relatedDoc","valueToReturn","relationTo","fieldComponentProps","undefined","String","Array","isArray","relatedCollection","find","c","slug","useAsTitle","admin","useAsTitleField","fields","f","name","titleFieldIsLocalized","localized","id","Relationship","comparison","i18n","version","placeholder","t","versionToRender","comparisonToRender","hasMany","map","val","join","label","div","className","span","hideLineNumbers","newValue","oldValue","showDiffOnly","splitView","styles"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { MappedField } from '@payloadcms/ui/utilities/buildComponentMap'\nimport type { ClientCollectionConfig } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/types'\nimport React from 'react'\nimport ReactDiffViewerImport from 'react-diff-viewer-continued'\n\nimport type { Props } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport { diffStyles } from '../styles.js'\nimport './index.scss'\n\nconst ReactDiffViewer = (ReactDiffViewerImport.default ||\n ReactDiffViewerImport) as unknown as typeof ReactDiffViewerImport.default\n\nconst baseClass = 'relationship-diff'\n\ntype RelationshipValue = Record<string, any>\n\nconst generateLabelFromValue = (\n collections: ClientCollectionConfig[],\n field: MappedField,\n locale: string,\n value: { relationTo: string; value: RelationshipValue } | RelationshipValue,\n): string => {\n let relation: string\n let relatedDoc: RelationshipValue\n let valueToReturn = '' as any\n\n const relationTo =\n 'relationTo' in field.fieldComponentProps ? field.fieldComponentProps.relationTo : undefined\n\n if (value === null || typeof value === 'undefined') {\n return String(value)\n }\n\n if (Array.isArray(relationTo)) {\n if (typeof value === 'object') {\n relation = value.relationTo\n relatedDoc = value.value\n }\n } else {\n relation = relationTo\n relatedDoc = value\n }\n\n const relatedCollection = collections.find((c) => c.slug === relation)\n\n if (relatedCollection) {\n const useAsTitle = relatedCollection?.admin?.useAsTitle\n const useAsTitleField = relatedCollection.fields.find(\n (f) => fieldAffectsData(f) && !fieldIsPresentationalOnly(f) && f.name === useAsTitle,\n )\n let titleFieldIsLocalized = false\n\n if (useAsTitleField && fieldAffectsData(useAsTitleField))\n titleFieldIsLocalized = useAsTitleField.localized\n\n if (typeof relatedDoc?.[useAsTitle] !== 'undefined') {\n valueToReturn = relatedDoc[useAsTitle]\n } else if (typeof relatedDoc?.id !== 'undefined') {\n valueToReturn = relatedDoc.id\n }\n\n if (typeof valueToReturn === 'object' && titleFieldIsLocalized) {\n valueToReturn = valueToReturn[locale]\n }\n }\n\n return valueToReturn\n}\n\nconst Relationship: React.FC<Props> = ({ comparison, field, i18n, locale, version }) => {\n let placeholder = ''\n\n const { collections } = useConfig()\n\n if (version === comparison) placeholder = `[${i18n.t('general:noValue')}]`\n\n let versionToRender = version\n let comparisonToRender = comparison\n\n if ('hasMany' in field && field.hasMany) {\n if (Array.isArray(version))\n versionToRender = version\n .map((val) => generateLabelFromValue(collections, field, locale, val))\n .join(', ')\n if (Array.isArray(comparison))\n comparisonToRender = comparison\n .map((val) => generateLabelFromValue(collections, field, locale, val))\n .join(', ')\n } else {\n versionToRender = generateLabelFromValue(collections, field, locale, version)\n comparisonToRender = generateLabelFromValue(collections, field, locale, comparison)\n }\n\n const label =\n 'label' in field.fieldComponentProps &&\n typeof field.fieldComponentProps.label !== 'boolean' &&\n typeof field.fieldComponentProps.label !== 'function'\n ? field.fieldComponentProps.label\n : ''\n\n return (\n <div className={baseClass}>\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(label, i18n)}\n </Label>\n <ReactDiffViewer\n hideLineNumbers\n newValue={typeof versionToRender !== 'undefined' ? String(versionToRender) : placeholder}\n oldValue={\n typeof comparisonToRender !== 'undefined' ? String(comparisonToRender) : placeholder\n }\n showDiffOnly={false}\n splitView\n styles={diffStyles}\n />\n </div>\n )\n}\n\nexport default Relationship\n"],"names":["getTranslation","useConfig","fieldAffectsData","fieldIsPresentationalOnly","React","ReactDiffViewerImport","Label","diffStyles","ReactDiffViewer","default","baseClass","generateLabelFromValue","collections","field","locale","value","relation","relatedDoc","valueToReturn","relationTo","fieldComponentProps","undefined","String","Array","isArray","relatedCollection","find","c","slug","useAsTitle","admin","useAsTitleField","fields","f","name","titleFieldIsLocalized","localized","id","Relationship","comparison","i18n","version","placeholder","t","versionToRender","comparisonToRender","hasMany","map","val","join","label","div","className","span","hideLineNumbers","newValue","oldValue","showDiffOnly","splitView","styles"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
3
|
import React from 'react';
|
|
3
4
|
import ReactDiffViewerImport, { DiffMethod } from 'react-diff-viewer-continued';
|
|
4
5
|
const ReactDiffViewer = ReactDiffViewerImport.default || ReactDiffViewerImport;
|
|
5
6
|
export const DiffViewer = ({ comparisonToRender, diffMethod, diffStyles, placeholder, versionToRender })=>{
|
|
6
|
-
return /*#__PURE__*/
|
|
7
|
+
return /*#__PURE__*/ _jsx(ReactDiffViewer, {
|
|
7
8
|
compareMethod: DiffMethod[diffMethod],
|
|
8
9
|
hideLineNumbers: true,
|
|
9
10
|
newValue: typeof versionToRender !== 'undefined' ? versionToRender : placeholder,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport ReactDiffViewerImport, { DiffMethod } from 'react-diff-viewer-continued'\n\nconst ReactDiffViewer = (ReactDiffViewerImport.default ||\n ReactDiffViewerImport) as unknown as typeof ReactDiffViewerImport.default\n\nexport const DiffViewer: React.FC<{\n comparisonToRender: string\n diffMethod: string\n diffStyles: any\n placeholder: string\n versionToRender: string\n}> = ({ comparisonToRender, diffMethod, diffStyles, placeholder, versionToRender }) => {\n return (\n <ReactDiffViewer\n compareMethod={DiffMethod[diffMethod]}\n hideLineNumbers\n newValue={typeof versionToRender !== 'undefined' ? versionToRender : placeholder}\n oldValue={comparisonToRender}\n showDiffOnly={false}\n splitView\n styles={diffStyles}\n />\n )\n}\n"],"names":["React","ReactDiffViewerImport","DiffMethod","ReactDiffViewer","default","DiffViewer","comparisonToRender","diffMethod","diffStyles","placeholder","versionToRender","compareMethod","hideLineNumbers","newValue","oldValue","showDiffOnly","splitView","styles"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport ReactDiffViewerImport, { DiffMethod } from 'react-diff-viewer-continued'\n\nconst ReactDiffViewer = (ReactDiffViewerImport.default ||\n ReactDiffViewerImport) as unknown as typeof ReactDiffViewerImport.default\n\nexport const DiffViewer: React.FC<{\n comparisonToRender: string\n diffMethod: string\n diffStyles: any\n placeholder: string\n versionToRender: string\n}> = ({ comparisonToRender, diffMethod, diffStyles, placeholder, versionToRender }) => {\n return (\n <ReactDiffViewer\n compareMethod={DiffMethod[diffMethod]}\n hideLineNumbers\n newValue={typeof versionToRender !== 'undefined' ? versionToRender : placeholder}\n oldValue={comparisonToRender}\n showDiffOnly={false}\n splitView\n styles={diffStyles}\n />\n )\n}\n"],"names":["React","ReactDiffViewerImport","DiffMethod","ReactDiffViewer","default","DiffViewer","comparisonToRender","diffMethod","diffStyles","placeholder","versionToRender","compareMethod","hideLineNumbers","newValue","oldValue","showDiffOnly","splitView","styles"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AACzB,OAAOC,yBAAyBC,UAAU,QAAQ,8BAA6B;AAE/E,MAAMC,kBAAmBF,sBAAsBG,OAAO,IACpDH;AAEF,OAAO,MAAMI,aAMR,CAAC,EAAEC,kBAAkB,EAAEC,UAAU,EAAEC,UAAU,EAAEC,WAAW,EAAEC,eAAe,EAAE;IAChF,qBACE,KAACP;QACCQ,eAAeT,UAAU,CAACK,WAAW;QACrCK,eAAe;QACfC,UAAU,OAAOH,oBAAoB,cAAcA,kBAAkBD;QACrEK,UAAUR;QACVS,cAAc;QACdC,SAAS;QACTC,QAAQT;;AAGd,EAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
2
|
import { getTranslation } from '@payloadcms/translations';
|
|
2
3
|
import React from 'react';
|
|
3
4
|
import Label from '../../Label/index.js';
|
|
@@ -22,17 +23,27 @@ const Select = ({ comparison, diffMethod, field, i18n, locale, version })=>{
|
|
|
22
23
|
const options = 'options' in field.fieldComponentProps && field.fieldComponentProps.options;
|
|
23
24
|
const comparisonToRender = typeof comparison !== 'undefined' ? getTranslatedOptions(getOptionsToRender(comparison, options, field.hasMany), i18n) : placeholder;
|
|
24
25
|
const versionToRender = typeof version !== 'undefined' ? getTranslatedOptions(getOptionsToRender(version, options, field.hasMany), i18n) : placeholder;
|
|
25
|
-
return /*#__PURE__*/
|
|
26
|
-
className: baseClass
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
26
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
27
|
+
className: baseClass,
|
|
28
|
+
children: [
|
|
29
|
+
/*#__PURE__*/ _jsxs(Label, {
|
|
30
|
+
children: [
|
|
31
|
+
locale && /*#__PURE__*/ _jsx("span", {
|
|
32
|
+
className: `${baseClass}__locale-label`,
|
|
33
|
+
children: locale
|
|
34
|
+
}),
|
|
35
|
+
'label' in field && getTranslation(field.label || '', i18n)
|
|
36
|
+
]
|
|
37
|
+
}),
|
|
38
|
+
/*#__PURE__*/ _jsx(DiffViewer, {
|
|
39
|
+
comparisonToRender: comparisonToRender,
|
|
40
|
+
diffMethod: diffMethod,
|
|
41
|
+
diffStyles: diffStyles,
|
|
42
|
+
placeholder: placeholder,
|
|
43
|
+
versionToRender: versionToRender
|
|
44
|
+
})
|
|
45
|
+
]
|
|
46
|
+
});
|
|
36
47
|
};
|
|
37
48
|
export default Select;
|
|
38
49
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { SelectFieldProps } from '@payloadcms/ui/fields/Select'\nimport type { MappedField } from '@payloadcms/ui/utilities/buildComponentMap'\nimport type { OptionObject, SelectField } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { Props } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport { diffStyles } from '../styles.js'\nimport { DiffViewer } from './DiffViewer/index.js'\nimport './index.scss'\n\nconst baseClass = 'select-diff'\n\nconst getOptionsToRender = (\n value: string,\n options: SelectField['options'],\n hasMany: boolean,\n): (OptionObject | string)[] | OptionObject | string => {\n if (hasMany && Array.isArray(value)) {\n return value.map(\n (val) =>\n options.find((option) => (typeof option === 'string' ? option : option.value) === val) ||\n String(val),\n )\n }\n return (\n options.find((option) => (typeof option === 'string' ? option : option.value) === value) ||\n String(value)\n )\n}\n\nconst getTranslatedOptions = (\n options: (OptionObject | string)[] | OptionObject | string,\n i18n: I18nClient,\n): string => {\n if (Array.isArray(options)) {\n return options\n .map((option) => (typeof option === 'string' ? option : getTranslation(option.label, i18n)))\n .join(', ')\n }\n\n return typeof options === 'string' ? options : getTranslation(options.label, i18n)\n}\n\nconst Select: React.FC<\n Omit<Props, 'field'> & {\n field: MappedField & SelectFieldProps\n }\n> = ({ comparison, diffMethod, field, i18n, locale, version }) => {\n let placeholder = ''\n\n if (version === comparison) placeholder = `[${i18n.t('general:noValue')}]`\n\n const options = 'options' in field.fieldComponentProps && field.fieldComponentProps.options\n\n const comparisonToRender =\n typeof comparison !== 'undefined'\n ? getTranslatedOptions(getOptionsToRender(comparison, options, field.hasMany), i18n)\n : placeholder\n\n const versionToRender =\n typeof version !== 'undefined'\n ? getTranslatedOptions(getOptionsToRender(version, options, field.hasMany), i18n)\n : placeholder\n\n return (\n <div className={baseClass}>\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {'label' in field && getTranslation(field.label || '', i18n)}\n </Label>\n <DiffViewer\n comparisonToRender={comparisonToRender}\n diffMethod={diffMethod}\n diffStyles={diffStyles}\n placeholder={placeholder}\n versionToRender={versionToRender}\n />\n </div>\n )\n}\n\nexport default Select\n"],"names":["getTranslation","React","Label","diffStyles","DiffViewer","baseClass","getOptionsToRender","value","options","hasMany","Array","isArray","map","val","find","option","String","getTranslatedOptions","i18n","label","join","Select","comparison","diffMethod","field","locale","version","placeholder","t","fieldComponentProps","comparisonToRender","versionToRender","div","className","span"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { SelectFieldProps } from '@payloadcms/ui/fields/Select'\nimport type { MappedField } from '@payloadcms/ui/utilities/buildComponentMap'\nimport type { OptionObject, SelectField } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { Props } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport { diffStyles } from '../styles.js'\nimport { DiffViewer } from './DiffViewer/index.js'\nimport './index.scss'\n\nconst baseClass = 'select-diff'\n\nconst getOptionsToRender = (\n value: string,\n options: SelectField['options'],\n hasMany: boolean,\n): (OptionObject | string)[] | OptionObject | string => {\n if (hasMany && Array.isArray(value)) {\n return value.map(\n (val) =>\n options.find((option) => (typeof option === 'string' ? option : option.value) === val) ||\n String(val),\n )\n }\n return (\n options.find((option) => (typeof option === 'string' ? option : option.value) === value) ||\n String(value)\n )\n}\n\nconst getTranslatedOptions = (\n options: (OptionObject | string)[] | OptionObject | string,\n i18n: I18nClient,\n): string => {\n if (Array.isArray(options)) {\n return options\n .map((option) => (typeof option === 'string' ? option : getTranslation(option.label, i18n)))\n .join(', ')\n }\n\n return typeof options === 'string' ? options : getTranslation(options.label, i18n)\n}\n\nconst Select: React.FC<\n Omit<Props, 'field'> & {\n field: MappedField & SelectFieldProps\n }\n> = ({ comparison, diffMethod, field, i18n, locale, version }) => {\n let placeholder = ''\n\n if (version === comparison) placeholder = `[${i18n.t('general:noValue')}]`\n\n const options = 'options' in field.fieldComponentProps && field.fieldComponentProps.options\n\n const comparisonToRender =\n typeof comparison !== 'undefined'\n ? getTranslatedOptions(getOptionsToRender(comparison, options, field.hasMany), i18n)\n : placeholder\n\n const versionToRender =\n typeof version !== 'undefined'\n ? getTranslatedOptions(getOptionsToRender(version, options, field.hasMany), i18n)\n : placeholder\n\n return (\n <div className={baseClass}>\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {'label' in field && getTranslation(field.label || '', i18n)}\n </Label>\n <DiffViewer\n comparisonToRender={comparisonToRender}\n diffMethod={diffMethod}\n diffStyles={diffStyles}\n placeholder={placeholder}\n versionToRender={versionToRender}\n />\n </div>\n )\n}\n\nexport default Select\n"],"names":["getTranslation","React","Label","diffStyles","DiffViewer","baseClass","getOptionsToRender","value","options","hasMany","Array","isArray","map","val","find","option","String","getTranslatedOptions","i18n","label","join","Select","comparison","diffMethod","field","locale","version","placeholder","t","fieldComponentProps","comparisonToRender","versionToRender","div","className","span"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAKA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAIzB,OAAOC,WAAW,uBAAsB;AACxC,SAASC,UAAU,QAAQ,eAAc;AACzC,SAASC,UAAU,QAAQ,wBAAuB;AAGlD,MAAMC,YAAY;AAElB,MAAMC,qBAAqB,CACzBC,OACAC,SACAC;IAEA,IAAIA,WAAWC,MAAMC,OAAO,CAACJ,QAAQ;QACnC,OAAOA,MAAMK,GAAG,CACd,CAACC,MACCL,QAAQM,IAAI,CAAC,CAACC,SAAW,AAAC,CAAA,OAAOA,WAAW,WAAWA,SAASA,OAAOR,KAAK,AAAD,MAAOM,QAClFG,OAAOH;IAEb;IACA,OACEL,QAAQM,IAAI,CAAC,CAACC,SAAW,AAAC,CAAA,OAAOA,WAAW,WAAWA,SAASA,OAAOR,KAAK,AAAD,MAAOA,UAClFS,OAAOT;AAEX;AAEA,MAAMU,uBAAuB,CAC3BT,SACAU;IAEA,IAAIR,MAAMC,OAAO,CAACH,UAAU;QAC1B,OAAOA,QACJI,GAAG,CAAC,CAACG,SAAY,OAAOA,WAAW,WAAWA,SAASf,eAAee,OAAOI,KAAK,EAAED,OACpFE,IAAI,CAAC;IACV;IAEA,OAAO,OAAOZ,YAAY,WAAWA,UAAUR,eAAeQ,QAAQW,KAAK,EAAED;AAC/E;AAEA,MAAMG,SAIF,CAAC,EAAEC,UAAU,EAAEC,UAAU,EAAEC,KAAK,EAAEN,IAAI,EAAEO,MAAM,EAAEC,OAAO,EAAE;IAC3D,IAAIC,cAAc;IAElB,IAAID,YAAYJ,YAAYK,cAAc,CAAC,CAAC,EAAET,KAAKU,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAE1E,MAAMpB,UAAU,aAAagB,MAAMK,mBAAmB,IAAIL,MAAMK,mBAAmB,CAACrB,OAAO;IAE3F,MAAMsB,qBACJ,OAAOR,eAAe,cAClBL,qBAAqBX,mBAAmBgB,YAAYd,SAASgB,MAAMf,OAAO,GAAGS,QAC7ES;IAEN,MAAMI,kBACJ,OAAOL,YAAY,cACfT,qBAAqBX,mBAAmBoB,SAASlB,SAASgB,MAAMf,OAAO,GAAGS,QAC1ES;IAEN,qBACE,MAACK;QAAIC,WAAW5B;;0BACd,MAACH;;oBACEuB,wBAAU,KAACS;wBAAKD,WAAW,CAAC,EAAE5B,UAAU,cAAc,CAAC;kCAAGoB;;oBAC1D,WAAWD,SAASxB,eAAewB,MAAML,KAAK,IAAI,IAAID;;;0BAEzD,KAACd;gBACC0B,oBAAoBA;gBACpBP,YAAYA;gBACZpB,YAAYA;gBACZwB,aAAaA;gBACbI,iBAAiBA;;;;AAIzB;AAEA,eAAeV,OAAM"}
|
|
@@ -1,38 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import RenderFieldsToDiff from '../../index.js';
|
|
3
4
|
import Nested from '../Nested/index.js';
|
|
4
5
|
const baseClass = 'tabs-diff';
|
|
5
6
|
const Tabs = ({ comparison, diffComponents, field, i18n, locale, locales, permissions, version })=>{
|
|
6
|
-
return /*#__PURE__*/
|
|
7
|
-
className: baseClass
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
})
|
|
35
|
-
})
|
|
7
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
8
|
+
className: baseClass,
|
|
9
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
10
|
+
className: `${baseClass}__wrap`,
|
|
11
|
+
children: field.tabs.map((tab, i)=>{
|
|
12
|
+
if ('name' in tab) {
|
|
13
|
+
return /*#__PURE__*/ _jsx(Nested, {
|
|
14
|
+
comparison: comparison?.[tab.name],
|
|
15
|
+
diffComponents: diffComponents,
|
|
16
|
+
field: field,
|
|
17
|
+
fieldMap: tab.fieldMap,
|
|
18
|
+
i18n: i18n,
|
|
19
|
+
locale: locale,
|
|
20
|
+
locales: locales,
|
|
21
|
+
permissions: permissions,
|
|
22
|
+
version: version?.[tab.name]
|
|
23
|
+
}, i);
|
|
24
|
+
}
|
|
25
|
+
return /*#__PURE__*/ _jsx(RenderFieldsToDiff, {
|
|
26
|
+
comparison: comparison,
|
|
27
|
+
diffComponents: diffComponents,
|
|
28
|
+
fieldMap: tab.fieldMap,
|
|
29
|
+
fieldPermissions: permissions,
|
|
30
|
+
i18n: i18n,
|
|
31
|
+
locales: locales,
|
|
32
|
+
version: version
|
|
33
|
+
}, i);
|
|
34
|
+
})
|
|
35
|
+
})
|
|
36
|
+
});
|
|
36
37
|
};
|
|
37
38
|
export default Tabs;
|
|
38
39
|
|