@payloadcms/next 3.33.0-internal.d1efdd8 → 3.33.0
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/prod/styles.css +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +2 -3
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +17 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +2 -3
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +2 -3
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +2 -3
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.d.ts +2 -29
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.js +7 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.js.map +1 -1
- package/package.json +6 -6
- package/dist/views/Version/RenderFieldsToDiff/Label/index.d.ts +0 -7
- package/dist/views/Version/RenderFieldsToDiff/Label/index.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/Label/index.js +0 -11
- package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/Label/index.scss +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,OAAO,KAAmB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,cAAc,CAAA;AAKrB,KAAK,KAAK,GACN;IAEE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;CACjB,GACD;IAEE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,EAAE,IAAI,CAAA;IAChB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAEL,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgFzC,CAAA"}
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
import { c as _c } from "react/compiler-runtime";
|
|
4
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
-
import { ChevronIcon, Pill, useConfig, useTranslation } from '@payloadcms/ui';
|
|
5
|
+
import { ChevronIcon, FieldDiffLabel, Pill, useConfig, useTranslation } from '@payloadcms/ui';
|
|
6
6
|
import { fieldIsArrayType, fieldIsBlockType } from 'payload/shared';
|
|
7
7
|
import React, { useState } from 'react';
|
|
8
|
-
import Label from '../Label/index.js';
|
|
9
8
|
import { countChangedFields, countChangedFieldsInRows } from '../utilities/countChangedFields.js';
|
|
10
9
|
const baseClass = 'diff-collapser';
|
|
11
10
|
export const DiffCollapser = t0 => {
|
|
@@ -97,7 +96,7 @@ export const DiffCollapser = t0 => {
|
|
|
97
96
|
}
|
|
98
97
|
t3 = _jsxs("div", {
|
|
99
98
|
className: baseClass,
|
|
100
|
-
children: [_jsxs(
|
|
99
|
+
children: [_jsxs(FieldDiffLabel, {
|
|
101
100
|
children: [_jsx("button", {
|
|
102
101
|
"aria-label": isCollapsed ? "Expand" : "Collapse",
|
|
103
102
|
className: `${baseClass}__toggle-button`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","ChevronIcon","Pill","useConfig","useTranslation","fieldIsArrayType","fieldIsBlockType","React","useState","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","ChevronIcon","FieldDiffLabel","Pill","useConfig","useTranslation","fieldIsArrayType","fieldIsBlockType","React","useState","countChangedFields","countChangedFieldsInRows","baseClass","DiffCollapser","t0","$","children","comparison","field","fields","initCollapsed","t1","isIterable","t2","label","locales","parentIsLocalized","version","undefined","t","isCollapsed","setIsCollapsed","config","t3","changeCount","Error","t4","comparisonRows","t5","versionRows","Array","isArray","filter","Boolean","contentClassNames","join","t6","_jsxs","className","_jsx","onClick","type","direction","pillStyle","size","count"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField } from 'payload'\n\nimport { ChevronIcon, FieldDiffLabel, Pill, 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 | {\n // fields collapser\n children: React.ReactNode\n comparison: unknown\n field?: never\n fields: ClientField[]\n initCollapsed?: boolean\n isIterable?: false\n label: React.ReactNode\n locales: string[] | undefined\n parentIsLocalized: boolean\n version: unknown\n }\n | {\n // iterable collapser\n children: React.ReactNode\n comparison?: unknown\n field: ClientField\n fields?: never\n initCollapsed?: boolean\n isIterable: true\n label: React.ReactNode\n locales: string[] | undefined\n parentIsLocalized: boolean\n version: unknown\n }\n\nexport const DiffCollapser: React.FC<Props> = ({\n children,\n comparison,\n field,\n fields,\n initCollapsed = false,\n isIterable = false,\n label,\n locales,\n parentIsLocalized,\n version,\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 = comparison ?? []\n const versionRows = version ?? []\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,\n config,\n fields,\n locales,\n parentIsLocalized,\n version,\n })\n }\n\n const contentClassNames = [\n `${baseClass}__content`,\n isCollapsed && `${baseClass}__content--is-collapsed`,\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 <ChevronIcon direction={isCollapsed ? 'right' : 'down'} />\n </button>\n <span className={`${baseClass}__label`}>{label}</span>\n {changeCount > 0 && (\n <Pill className={`${baseClass}__field-change-count`} pillStyle=\"light-gray\" size=\"small\">\n {t('version:changedFieldsCount', { count: changeCount })}\n </Pill>\n )}\n </FieldDiffLabel>\n <div className={contentClassNames}>{children}</div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { I18nClient } from '@payloadcms/translations';
|
|
2
|
-
import type
|
|
2
|
+
import { type ClientFieldSchemaMap, type Field, type FieldDiffClientProps, type FieldDiffServerProps, type FieldTypes, type PayloadComponent, type PayloadRequest, type SanitizedFieldPermissions, type VersionField } from 'payload';
|
|
3
3
|
export type BuildVersionFieldsArgs = {
|
|
4
4
|
clientSchemaMap: ClientFieldSchemaMap;
|
|
5
5
|
comparisonSiblingData: object;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildVersionFields.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/RenderFieldsToDiff/buildVersionFields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"buildVersionFields.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/RenderFieldsToDiff/buildVersionFields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAK1D,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,KAAK,EACV,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,UAAU,EAGf,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,yBAAyB,EAC9B,KAAK,YAAY,EAClB,MAAM,SAAS,CAAA;AAOhB,MAAM,MAAM,sBAAsB,GAAG;IACnC,eAAe,EAAE,oBAAoB,CAAA;IACrC,qBAAqB,EAAE,MAAM,CAAA;IAC7B,oBAAoB,EAAE,OAAO,CAC3B,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,CACjF,CAAA;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EACZ;QACE,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,CAAA;KACzC,GACD,IAAI,CAAA;IACR,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,UAAU,CAAA;IAChB,YAAY,EAAE,OAAO,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,kBAAkB,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,4OAgB5B,sBAAsB,KAAG;IAC1B,aAAa,EAAE,YAAY,EAAE,CAAA;CA0G9B,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
|
|
2
2
|
import { dequal } from 'dequal/lite';
|
|
3
|
+
import { MissingEditorProp } from 'payload';
|
|
3
4
|
import { fieldIsID, fieldShouldBeLocalized, getUniqueListBy, tabHasName } from 'payload/shared';
|
|
4
5
|
import { diffMethods } from './fields/diffMethods.js';
|
|
5
6
|
import { diffComponents } from './fields/index.js';
|
|
@@ -157,7 +158,22 @@ const buildVersionField = ({
|
|
|
157
158
|
if (modifiedOnly && dequal(versionValue, comparisonValue)) {
|
|
158
159
|
return null;
|
|
159
160
|
}
|
|
160
|
-
|
|
161
|
+
let CustomComponent = customDiffComponents?.[field.type];
|
|
162
|
+
if (field?.type === 'richText') {
|
|
163
|
+
if (!field?.editor) {
|
|
164
|
+
throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor
|
|
165
|
+
;
|
|
166
|
+
}
|
|
167
|
+
if (typeof field?.editor === 'function') {
|
|
168
|
+
throw new Error('Attempted to access unsanitized rich text editor.');
|
|
169
|
+
}
|
|
170
|
+
if (field.editor.CellComponent) {
|
|
171
|
+
CustomComponent = field.editor.DiffComponent;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
if (field?.admin?.components?.Diff) {
|
|
175
|
+
CustomComponent = field.admin.components.Diff;
|
|
176
|
+
}
|
|
161
177
|
const DefaultComponent = diffComponents?.[field.type];
|
|
162
178
|
const baseVersionField = {
|
|
163
179
|
type: field.type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildVersionFields.js","names":["RenderServerComponent","dequal","fieldIsID","fieldShouldBeLocalized","getUniqueListBy","tabHasName","diffMethods","diffComponents","getFieldPathsModified","buildVersionFields","clientSchemaMap","comparisonSiblingData","customDiffComponents","entitySlug","fieldPermissions","fields","i18n","modifiedOnly","parentIndexPath","parentIsLocalized","parentPath","parentSchemaPath","req","selectedLocales","versionSiblingData","versionFields","fieldIndex","field","indexPath","path","schemaPath","index","clientField","get","payload","logger","error","clientFieldKey","clientSchemaMapKeys","Array","from","keys","msg","Error","versionField","isLocalized","fieldName","name","versionValue","comparisonValue","fieldByLocale","locale","localizedVersionField","buildVersionField","baseVersionField","localized","push","diffMethod","type","hasPermission","read","subFieldPermissions","CustomComponent","admin","components","Diff","DefaultComponent","tabs","tabIndex","tab","isNamedTab","tabAsField","tabIndexPath","tabPath","tabSchemaPath","label","arrayValue","isArray","rows","i","length","comparisonRow","versionRow","blocksValue","blockSlugToMatch","blockType","versionBlock","blocks","blockReferences","find","block","slug","comparisonBlockSlugToMatch","comparisonBlock","clientCellProps","undefined","serverCellProps","clientProps","Component","Fallback","importMap","key","serverProps"],"sources":["../../../../src/views/Version/RenderFieldsToDiff/buildVersionFields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n BaseVersionField,\n ClientField,\n ClientFieldSchemaMap,\n Field,\n FieldDiffClientProps,\n FieldDiffServerProps,\n FieldTypes,\n FlattenedBlock,\n PayloadComponent,\n PayloadRequest,\n SanitizedFieldPermissions,\n VersionField,\n} from 'payload'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { dequal } from 'dequal/lite'\nimport { fieldIsID, fieldShouldBeLocalized, getUniqueListBy, tabHasName } from 'payload/shared'\n\nimport { diffMethods } from './fields/diffMethods.js'\nimport { diffComponents } from './fields/index.js'\nimport { getFieldPathsModified } from './utilities/getFieldPathsModified.js'\n\nexport type BuildVersionFieldsArgs = {\n clientSchemaMap: ClientFieldSchemaMap\n comparisonSiblingData: object\n customDiffComponents: Partial<\n Record<FieldTypes, PayloadComponent<FieldDiffServerProps, FieldDiffClientProps>>\n >\n entitySlug: string\n fieldPermissions:\n | {\n [key: string]: SanitizedFieldPermissions\n }\n | true\n fields: Field[]\n i18n: I18nClient\n modifiedOnly: boolean\n parentIndexPath: string\n parentIsLocalized: boolean\n parentPath: string\n parentSchemaPath: string\n req: PayloadRequest\n selectedLocales: string[]\n versionSiblingData: object\n}\n\n/**\n * Build up an object that contains rendered diff components for each field.\n * This is then sent to the client to be rendered.\n *\n * Here, the server is responsible for traversing through the document data and building up this\n * version state object.\n */\nexport const buildVersionFields = ({\n clientSchemaMap,\n comparisonSiblingData,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields,\n i18n,\n modifiedOnly,\n parentIndexPath,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n req,\n selectedLocales,\n versionSiblingData,\n}: BuildVersionFieldsArgs): {\n versionFields: VersionField[]\n} => {\n const versionFields: VersionField[] = []\n let fieldIndex = -1\n\n for (const field of fields) {\n fieldIndex++\n\n if (fieldIsID(field)) {\n continue\n }\n\n const { indexPath, path, schemaPath } = getFieldPathsModified({\n field,\n index: fieldIndex,\n parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n const clientField = clientSchemaMap.get(entitySlug + '.' + schemaPath)\n\n if (!clientField) {\n req.payload.logger.error({\n clientFieldKey: entitySlug + '.' + schemaPath,\n clientSchemaMapKeys: Array.from(clientSchemaMap.keys()),\n msg: 'No client field found for ' + entitySlug + '.' + schemaPath,\n parentPath,\n parentSchemaPath,\n path,\n schemaPath,\n })\n throw new Error('No client field found for ' + entitySlug + '.' + schemaPath)\n }\n\n const versionField: VersionField = {}\n const isLocalized = fieldShouldBeLocalized({ field, parentIsLocalized })\n\n const fieldName: null | string = 'name' in field ? field.name : null\n\n const versionValue = fieldName ? versionSiblingData?.[fieldName] : versionSiblingData\n\n const comparisonValue = fieldName ? comparisonSiblingData?.[fieldName] : comparisonSiblingData\n\n if (isLocalized) {\n versionField.fieldByLocale = {}\n\n for (const locale of selectedLocales) {\n const localizedVersionField = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n comparisonValue: comparisonValue?.[locale],\n customDiffComponents,\n entitySlug,\n field,\n fieldPermissions,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n parentIsLocalized: true,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n versionValue: versionValue?.[locale],\n })\n if (localizedVersionField) {\n versionField.fieldByLocale[locale] = localizedVersionField\n }\n }\n } else {\n const baseVersionField = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n comparisonValue,\n customDiffComponents,\n entitySlug,\n field,\n fieldPermissions,\n i18n,\n indexPath,\n modifiedOnly,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n versionValue,\n })\n\n if (baseVersionField) {\n versionField.field = baseVersionField\n }\n }\n\n versionFields.push(versionField)\n }\n\n return {\n versionFields,\n }\n}\n\nconst buildVersionField = ({\n clientField,\n clientSchemaMap,\n comparisonValue,\n customDiffComponents,\n entitySlug,\n field,\n fieldPermissions,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n versionValue,\n}: {\n clientField: ClientField\n comparisonValue: unknown\n field: Field\n indexPath: string\n locale?: string\n modifiedOnly?: boolean\n parentIsLocalized: boolean\n path: string\n schemaPath: string\n versionValue: unknown\n} & Omit<\n BuildVersionFieldsArgs,\n 'comparisonSiblingData' | 'fields' | 'parentIndexPath' | 'versionSiblingData'\n>): BaseVersionField | null => {\n const fieldName: null | string = 'name' in field ? field.name : null\n\n const diffMethod: DiffMethod = diffMethods[field.type] || 'CHARS'\n\n const hasPermission =\n fieldPermissions === true ||\n !fieldName ||\n fieldPermissions?.[fieldName] === true ||\n fieldPermissions?.[fieldName]?.read\n\n const subFieldPermissions =\n fieldPermissions === true ||\n !fieldName ||\n fieldPermissions?.[fieldName] === true ||\n fieldPermissions?.[fieldName]?.fields\n\n if (!hasPermission) {\n return null\n }\n\n if (modifiedOnly && dequal(versionValue, comparisonValue)) {\n return null\n }\n\n const CustomComponent = field?.admin?.components?.Diff ?? customDiffComponents?.[field.type]\n const DefaultComponent = diffComponents?.[field.type]\n\n const baseVersionField: BaseVersionField = {\n type: field.type,\n fields: [],\n path,\n schemaPath,\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n baseVersionField.tabs = []\n let tabIndex = -1\n for (const tab of field.tabs) {\n tabIndex++\n const isNamedTab = tabHasName(tab)\n\n const tabAsField = { ...tab, type: 'tab' }\n\n const {\n indexPath: tabIndexPath,\n path: tabPath,\n schemaPath: tabSchemaPath,\n } = getFieldPathsModified({\n field: tabAsField,\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath,\n parentSchemaPath,\n })\n baseVersionField.tabs.push({\n name: 'name' in tab ? tab.name : null,\n fields: buildVersionFields({\n clientSchemaMap,\n comparisonSiblingData: 'name' in tab ? comparisonValue?.[tab.name] : comparisonValue,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields: tab.fields,\n i18n,\n modifiedOnly,\n parentIndexPath: isNamedTab ? '' : tabIndexPath,\n parentIsLocalized: parentIsLocalized || tab.localized,\n parentPath: isNamedTab ? tabPath : path,\n parentSchemaPath: isNamedTab ? tabSchemaPath : parentSchemaPath,\n req,\n selectedLocales,\n versionSiblingData: 'name' in tab ? versionValue?.[tab.name] : versionValue,\n }).versionFields,\n label: tab.label,\n })\n }\n } // At this point, we are dealing with a `row`, `collapsible`, etc\n else if ('fields' in field) {\n if (field.type === 'array' && versionValue) {\n const arrayValue = Array.isArray(versionValue) ? versionValue : []\n baseVersionField.rows = []\n\n for (let i = 0; i < arrayValue.length; i++) {\n const comparisonRow = comparisonValue?.[i] || {}\n const versionRow = arrayValue?.[i] || {}\n baseVersionField.rows[i] = buildVersionFields({\n clientSchemaMap,\n comparisonSiblingData: comparisonRow,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields: field.fields,\n i18n,\n modifiedOnly,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentPath: path + '.' + i,\n parentSchemaPath: schemaPath,\n req,\n selectedLocales,\n versionSiblingData: versionRow,\n }).versionFields\n }\n } else {\n baseVersionField.fields = buildVersionFields({\n clientSchemaMap,\n comparisonSiblingData: comparisonValue as object,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields: field.fields,\n i18n,\n modifiedOnly,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: 'name' in field ? path : parentPath,\n parentSchemaPath: 'name' in field ? schemaPath : parentSchemaPath,\n req,\n selectedLocales,\n versionSiblingData: versionValue as object,\n }).versionFields\n }\n } else if (field.type === 'blocks') {\n baseVersionField.rows = []\n\n const blocksValue = Array.isArray(versionValue) ? versionValue : []\n\n for (let i = 0; i < blocksValue.length; i++) {\n const comparisonRow = comparisonValue?.[i] || {}\n const versionRow = blocksValue[i] || {}\n\n const blockSlugToMatch: string = versionRow.blockType\n const versionBlock =\n req.payload.blocks[blockSlugToMatch] ??\n ((field.blockReferences ?? field.blocks).find(\n (block) => typeof block !== 'string' && block.slug === blockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n let fields = []\n\n if (versionRow.blockType === comparisonRow.blockType) {\n fields = versionBlock.fields\n } else {\n const comparisonBlockSlugToMatch: string = versionRow.blockType\n\n const comparisonBlock =\n req.payload.blocks[comparisonBlockSlugToMatch] ??\n ((field.blockReferences ?? field.blocks).find(\n (block) => typeof block !== 'string' && block.slug === comparisonBlockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n if (comparisonBlock) {\n fields = getUniqueListBy<Field>(\n [...versionBlock.fields, ...comparisonBlock.fields],\n 'name',\n )\n } else {\n fields = versionBlock.fields\n }\n }\n\n baseVersionField.rows[i] = buildVersionFields({\n clientSchemaMap,\n comparisonSiblingData: comparisonRow,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields,\n i18n,\n modifiedOnly,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: path + '.' + i,\n parentSchemaPath: schemaPath + '.' + versionBlock.slug,\n req,\n selectedLocales,\n versionSiblingData: versionRow,\n }).versionFields\n }\n }\n\n const clientCellProps: FieldDiffClientProps = {\n baseVersionField: {\n ...baseVersionField,\n CustomComponent: undefined,\n },\n comparisonValue,\n diffMethod,\n field: clientField,\n fieldPermissions: subFieldPermissions,\n parentIsLocalized,\n versionValue,\n }\n\n const serverCellProps: FieldDiffServerProps = {\n ...clientCellProps,\n clientField,\n field,\n i18n,\n req,\n selectedLocales,\n }\n\n baseVersionField.CustomComponent = RenderServerComponent({\n clientProps: locale\n ? ({\n ...clientCellProps,\n locale,\n } as FieldDiffClientProps)\n : clientCellProps,\n Component: CustomComponent,\n Fallback: DefaultComponent,\n importMap: req.payload.importMap,\n key: 'diff component',\n serverProps: locale\n ? ({\n ...serverCellProps,\n locale,\n } as FieldDiffServerProps)\n : serverCellProps,\n })\n\n return baseVersionField\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"buildVersionFields.js","names":["RenderServerComponent","dequal","MissingEditorProp","fieldIsID","fieldShouldBeLocalized","getUniqueListBy","tabHasName","diffMethods","diffComponents","getFieldPathsModified","buildVersionFields","clientSchemaMap","comparisonSiblingData","customDiffComponents","entitySlug","fieldPermissions","fields","i18n","modifiedOnly","parentIndexPath","parentIsLocalized","parentPath","parentSchemaPath","req","selectedLocales","versionSiblingData","versionFields","fieldIndex","field","indexPath","path","schemaPath","index","clientField","get","payload","logger","error","clientFieldKey","clientSchemaMapKeys","Array","from","keys","msg","Error","versionField","isLocalized","fieldName","name","versionValue","comparisonValue","fieldByLocale","locale","localizedVersionField","buildVersionField","baseVersionField","localized","push","diffMethod","type","hasPermission","read","subFieldPermissions","CustomComponent","editor","CellComponent","DiffComponent","admin","components","Diff","DefaultComponent","tabs","tabIndex","tab","isNamedTab","tabAsField","tabIndexPath","tabPath","tabSchemaPath","label","arrayValue","isArray","rows","i","length","comparisonRow","versionRow","blocksValue","blockSlugToMatch","blockType","versionBlock","blocks","blockReferences","find","block","slug","comparisonBlockSlugToMatch","comparisonBlock","clientCellProps","undefined","serverCellProps","clientProps","Component","Fallback","importMap","key","serverProps"],"sources":["../../../../src/views/Version/RenderFieldsToDiff/buildVersionFields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { dequal } from 'dequal/lite'\nimport {\n type BaseVersionField,\n type ClientField,\n type ClientFieldSchemaMap,\n type Field,\n type FieldDiffClientProps,\n type FieldDiffServerProps,\n type FieldTypes,\n type FlattenedBlock,\n MissingEditorProp,\n type PayloadComponent,\n type PayloadRequest,\n type SanitizedFieldPermissions,\n type VersionField,\n} from 'payload'\nimport { fieldIsID, fieldShouldBeLocalized, getUniqueListBy, tabHasName } from 'payload/shared'\n\nimport { diffMethods } from './fields/diffMethods.js'\nimport { diffComponents } from './fields/index.js'\nimport { getFieldPathsModified } from './utilities/getFieldPathsModified.js'\n\nexport type BuildVersionFieldsArgs = {\n clientSchemaMap: ClientFieldSchemaMap\n comparisonSiblingData: object\n customDiffComponents: Partial<\n Record<FieldTypes, PayloadComponent<FieldDiffServerProps, FieldDiffClientProps>>\n >\n entitySlug: string\n fieldPermissions:\n | {\n [key: string]: SanitizedFieldPermissions\n }\n | true\n fields: Field[]\n i18n: I18nClient\n modifiedOnly: boolean\n parentIndexPath: string\n parentIsLocalized: boolean\n parentPath: string\n parentSchemaPath: string\n req: PayloadRequest\n selectedLocales: string[]\n versionSiblingData: object\n}\n\n/**\n * Build up an object that contains rendered diff components for each field.\n * This is then sent to the client to be rendered.\n *\n * Here, the server is responsible for traversing through the document data and building up this\n * version state object.\n */\nexport const buildVersionFields = ({\n clientSchemaMap,\n comparisonSiblingData,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields,\n i18n,\n modifiedOnly,\n parentIndexPath,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n req,\n selectedLocales,\n versionSiblingData,\n}: BuildVersionFieldsArgs): {\n versionFields: VersionField[]\n} => {\n const versionFields: VersionField[] = []\n let fieldIndex = -1\n\n for (const field of fields) {\n fieldIndex++\n\n if (fieldIsID(field)) {\n continue\n }\n\n const { indexPath, path, schemaPath } = getFieldPathsModified({\n field,\n index: fieldIndex,\n parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n const clientField = clientSchemaMap.get(entitySlug + '.' + schemaPath)\n\n if (!clientField) {\n req.payload.logger.error({\n clientFieldKey: entitySlug + '.' + schemaPath,\n clientSchemaMapKeys: Array.from(clientSchemaMap.keys()),\n msg: 'No client field found for ' + entitySlug + '.' + schemaPath,\n parentPath,\n parentSchemaPath,\n path,\n schemaPath,\n })\n throw new Error('No client field found for ' + entitySlug + '.' + schemaPath)\n }\n\n const versionField: VersionField = {}\n const isLocalized = fieldShouldBeLocalized({ field, parentIsLocalized })\n\n const fieldName: null | string = 'name' in field ? field.name : null\n\n const versionValue = fieldName ? versionSiblingData?.[fieldName] : versionSiblingData\n\n const comparisonValue = fieldName ? comparisonSiblingData?.[fieldName] : comparisonSiblingData\n\n if (isLocalized) {\n versionField.fieldByLocale = {}\n\n for (const locale of selectedLocales) {\n const localizedVersionField = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n comparisonValue: comparisonValue?.[locale],\n customDiffComponents,\n entitySlug,\n field,\n fieldPermissions,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n parentIsLocalized: true,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n versionValue: versionValue?.[locale],\n })\n if (localizedVersionField) {\n versionField.fieldByLocale[locale] = localizedVersionField\n }\n }\n } else {\n const baseVersionField = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n comparisonValue,\n customDiffComponents,\n entitySlug,\n field,\n fieldPermissions,\n i18n,\n indexPath,\n modifiedOnly,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n versionValue,\n })\n\n if (baseVersionField) {\n versionField.field = baseVersionField\n }\n }\n\n versionFields.push(versionField)\n }\n\n return {\n versionFields,\n }\n}\n\nconst buildVersionField = ({\n clientField,\n clientSchemaMap,\n comparisonValue,\n customDiffComponents,\n entitySlug,\n field,\n fieldPermissions,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n versionValue,\n}: {\n clientField: ClientField\n comparisonValue: unknown\n field: Field\n indexPath: string\n locale?: string\n modifiedOnly?: boolean\n parentIsLocalized: boolean\n path: string\n schemaPath: string\n versionValue: unknown\n} & Omit<\n BuildVersionFieldsArgs,\n 'comparisonSiblingData' | 'fields' | 'parentIndexPath' | 'versionSiblingData'\n>): BaseVersionField | null => {\n const fieldName: null | string = 'name' in field ? field.name : null\n\n const diffMethod: DiffMethod = diffMethods[field.type] || 'CHARS'\n\n const hasPermission =\n fieldPermissions === true ||\n !fieldName ||\n fieldPermissions?.[fieldName] === true ||\n fieldPermissions?.[fieldName]?.read\n\n const subFieldPermissions =\n fieldPermissions === true ||\n !fieldName ||\n fieldPermissions?.[fieldName] === true ||\n fieldPermissions?.[fieldName]?.fields\n\n if (!hasPermission) {\n return null\n }\n\n if (modifiedOnly && dequal(versionValue, comparisonValue)) {\n return null\n }\n\n let CustomComponent = customDiffComponents?.[field.type]\n if (field?.type === 'richText') {\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (field.editor.CellComponent) {\n CustomComponent = field.editor.DiffComponent\n }\n }\n if (field?.admin?.components?.Diff) {\n CustomComponent = field.admin.components.Diff\n }\n\n const DefaultComponent = diffComponents?.[field.type]\n\n const baseVersionField: BaseVersionField = {\n type: field.type,\n fields: [],\n path,\n schemaPath,\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n baseVersionField.tabs = []\n let tabIndex = -1\n for (const tab of field.tabs) {\n tabIndex++\n const isNamedTab = tabHasName(tab)\n\n const tabAsField = { ...tab, type: 'tab' }\n\n const {\n indexPath: tabIndexPath,\n path: tabPath,\n schemaPath: tabSchemaPath,\n } = getFieldPathsModified({\n field: tabAsField,\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath,\n parentSchemaPath,\n })\n baseVersionField.tabs.push({\n name: 'name' in tab ? tab.name : null,\n fields: buildVersionFields({\n clientSchemaMap,\n comparisonSiblingData: 'name' in tab ? comparisonValue?.[tab.name] : comparisonValue,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields: tab.fields,\n i18n,\n modifiedOnly,\n parentIndexPath: isNamedTab ? '' : tabIndexPath,\n parentIsLocalized: parentIsLocalized || tab.localized,\n parentPath: isNamedTab ? tabPath : path,\n parentSchemaPath: isNamedTab ? tabSchemaPath : parentSchemaPath,\n req,\n selectedLocales,\n versionSiblingData: 'name' in tab ? versionValue?.[tab.name] : versionValue,\n }).versionFields,\n label: tab.label,\n })\n }\n } // At this point, we are dealing with a `row`, `collapsible`, etc\n else if ('fields' in field) {\n if (field.type === 'array' && versionValue) {\n const arrayValue = Array.isArray(versionValue) ? versionValue : []\n baseVersionField.rows = []\n\n for (let i = 0; i < arrayValue.length; i++) {\n const comparisonRow = comparisonValue?.[i] || {}\n const versionRow = arrayValue?.[i] || {}\n baseVersionField.rows[i] = buildVersionFields({\n clientSchemaMap,\n comparisonSiblingData: comparisonRow,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields: field.fields,\n i18n,\n modifiedOnly,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentPath: path + '.' + i,\n parentSchemaPath: schemaPath,\n req,\n selectedLocales,\n versionSiblingData: versionRow,\n }).versionFields\n }\n } else {\n baseVersionField.fields = buildVersionFields({\n clientSchemaMap,\n comparisonSiblingData: comparisonValue as object,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields: field.fields,\n i18n,\n modifiedOnly,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: 'name' in field ? path : parentPath,\n parentSchemaPath: 'name' in field ? schemaPath : parentSchemaPath,\n req,\n selectedLocales,\n versionSiblingData: versionValue as object,\n }).versionFields\n }\n } else if (field.type === 'blocks') {\n baseVersionField.rows = []\n\n const blocksValue = Array.isArray(versionValue) ? versionValue : []\n\n for (let i = 0; i < blocksValue.length; i++) {\n const comparisonRow = comparisonValue?.[i] || {}\n const versionRow = blocksValue[i] || {}\n\n const blockSlugToMatch: string = versionRow.blockType\n const versionBlock =\n req.payload.blocks[blockSlugToMatch] ??\n ((field.blockReferences ?? field.blocks).find(\n (block) => typeof block !== 'string' && block.slug === blockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n let fields = []\n\n if (versionRow.blockType === comparisonRow.blockType) {\n fields = versionBlock.fields\n } else {\n const comparisonBlockSlugToMatch: string = versionRow.blockType\n\n const comparisonBlock =\n req.payload.blocks[comparisonBlockSlugToMatch] ??\n ((field.blockReferences ?? field.blocks).find(\n (block) => typeof block !== 'string' && block.slug === comparisonBlockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n if (comparisonBlock) {\n fields = getUniqueListBy<Field>(\n [...versionBlock.fields, ...comparisonBlock.fields],\n 'name',\n )\n } else {\n fields = versionBlock.fields\n }\n }\n\n baseVersionField.rows[i] = buildVersionFields({\n clientSchemaMap,\n comparisonSiblingData: comparisonRow,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields,\n i18n,\n modifiedOnly,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: path + '.' + i,\n parentSchemaPath: schemaPath + '.' + versionBlock.slug,\n req,\n selectedLocales,\n versionSiblingData: versionRow,\n }).versionFields\n }\n }\n\n const clientCellProps: FieldDiffClientProps = {\n baseVersionField: {\n ...baseVersionField,\n CustomComponent: undefined,\n },\n comparisonValue,\n diffMethod,\n field: clientField,\n fieldPermissions: subFieldPermissions,\n parentIsLocalized,\n versionValue,\n }\n\n const serverCellProps: FieldDiffServerProps = {\n ...clientCellProps,\n clientField,\n field,\n i18n,\n req,\n selectedLocales,\n }\n\n baseVersionField.CustomComponent = RenderServerComponent({\n clientProps: locale\n ? ({\n ...clientCellProps,\n locale,\n } as FieldDiffClientProps)\n : clientCellProps,\n Component: CustomComponent,\n Fallback: DefaultComponent,\n importMap: req.payload.importMap,\n key: 'diff component',\n serverProps: locale\n ? ({\n ...serverCellProps,\n locale,\n } as FieldDiffServerProps)\n : serverCellProps,\n })\n\n return baseVersionField\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIV,oCAAoC,EACrC,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIV,oCAAoC,EACrC,MAAM,SAAS,CAAA;AAQhB,OAAO,cAAc,CAAA;AAwFrB,eAAO,MAAM,YAAY,EAAE,oCAkF1B,CAAA"}
|
|
@@ -3,11 +3,10 @@
|
|
|
3
3
|
import { c as _c } from "react/compiler-runtime";
|
|
4
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
5
|
import { getTranslation } from '@payloadcms/translations';
|
|
6
|
-
import { useConfig, useTranslation } from '@payloadcms/ui';
|
|
6
|
+
import { FieldDiffLabel, useConfig, useTranslation } from '@payloadcms/ui';
|
|
7
7
|
import { fieldAffectsData, fieldIsPresentationalOnly, fieldShouldBeLocalized } from 'payload/shared';
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import ReactDiffViewer from 'react-diff-viewer-continued';
|
|
10
|
-
import Label from '../../Label/index.js';
|
|
11
10
|
import { diffStyles } from '../styles.js';
|
|
12
11
|
const baseClass = 'relationship-diff';
|
|
13
12
|
const generateLabelFromValue = (collections, field, locale, value, config, parentIsLocalized) => {
|
|
@@ -116,7 +115,7 @@ export const Relationship = t0 => {
|
|
|
116
115
|
}
|
|
117
116
|
t2 = _jsxs("div", {
|
|
118
117
|
className: baseClass,
|
|
119
|
-
children: [_jsxs(
|
|
118
|
+
children: [_jsxs(FieldDiffLabel, {
|
|
120
119
|
children: [t3, getTranslation(label, i18n)]
|
|
121
120
|
}), _jsx(ReactDiffViewer, {
|
|
122
121
|
hideLineNumbers: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","useConfig","useTranslation","fieldAffectsData","fieldIsPresentationalOnly","fieldShouldBeLocalized","React","ReactDiffViewer","Label","diffStyles","baseClass","generateLabelFromValue","collections","field","locale","value","config","parentIsLocalized","Array","isArray","map","v","filter","Boolean","join","relatedDoc","valueToReturn","relationTo","undefined","String","relatedCollection","find","slug","useAsTitle","admin","useAsTitleField","fields","f","name","titleFieldIsLocalized","id","JSON","stringify","Relationship","t0","$","comparisonValue","versionValue","i18n","placeholder","t","t1","t2","versionToRender","comparisonToRender","hasMany","val","val_0","label","t3","_jsx","className","children","_jsxs","hideLineNumbers","newValue","oldValue","showDiffOnly","splitView","styles"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n RelationshipFieldDiffClientComponent,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig, useTranslation } from '@payloadcms/ui'\nimport { fieldAffectsData, fieldIsPresentationalOnly, fieldShouldBeLocalized } from 'payload/shared'\nimport React from 'react'\nimport ReactDiffViewer from 'react-diff-viewer-continued'\n\nimport Label from '../../Label/index.js'\nimport './index.scss'\nimport { diffStyles } from '../styles.js'\n\nconst baseClass = 'relationship-diff'\n\ntype RelationshipValue = Record<string, any>\n\nconst generateLabelFromValue = (\n collections: ClientCollectionConfig[],\n field: ClientField,\n locale: string,\n value: { relationTo: string; value: RelationshipValue } | RelationshipValue,\n config: ClientConfig,\n parentIsLocalized: boolean,\n): string => {\n if (Array.isArray(value)) {\n return value\n .map((v) => generateLabelFromValue(collections, field, locale, v, config, parentIsLocalized))\n .filter(Boolean) // Filters out any undefined or empty values\n .join(', ')\n }\n\n let relatedDoc: RelationshipValue\n let valueToReturn: RelationshipValue | string = ''\n\n const relationTo = 'relationTo' in field ? field.relationTo : undefined\n\n if (value === null || typeof value === 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string -- We want to return a string specifilly for null and undefined\n return String(value)\n }\n\n if (typeof value === 'object' && 'relationTo' in value) {\n relatedDoc = value.value\n } else {\n // Non-polymorphic relationship\n relatedDoc = value\n }\n\n const relatedCollection = relationTo\n ? collections.find(\n (c) =>\n c.slug ===\n (typeof value === 'object' && 'relationTo' in value ? value.relationTo : relationTo),\n )\n : null\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 = fieldShouldBeLocalized({ field: useAsTitleField, parentIsLocalized })\n }\n\n if (typeof relatedDoc?.[useAsTitle] !== 'undefined') {\n valueToReturn = relatedDoc[useAsTitle]\n } else if (typeof relatedDoc?.id !== 'undefined') {\n valueToReturn = relatedDoc.id\n } else {\n valueToReturn = relatedDoc\n }\n\n if (typeof valueToReturn === 'object' && titleFieldIsLocalized && valueToReturn?.[locale]) {\n valueToReturn = valueToReturn[locale]\n }\n } else if (relatedDoc) {\n // Handle non-polymorphic `hasMany` relationships or fallback\n if (typeof relatedDoc?.id !== 'undefined') {\n valueToReturn = String(relatedDoc.id)\n } else {\n valueToReturn = relatedDoc\n }\n }\n\n if (\n (valueToReturn && typeof valueToReturn === 'object' && valueToReturn !== null) ||\n typeof valueToReturn !== 'string'\n ) {\n valueToReturn = JSON.stringify(valueToReturn)\n }\n\n return valueToReturn\n}\n\nexport const Relationship: RelationshipFieldDiffClientComponent = ({\n comparisonValue,\n field,\n locale,\n parentIsLocalized,\n versionValue,\n}) => {\n const { i18n } = useTranslation()\n const { config } = useConfig()\n\n const placeholder = `[${i18n.t('general:noValue')}]`\n\n const {\n config: { collections },\n } = useConfig()\n\n let versionToRender: string | undefined = placeholder\n let comparisonToRender: string | undefined = placeholder\n\n if (versionValue) {\n if ('hasMany' in field && field.hasMany && Array.isArray(versionValue)) {\n versionToRender =\n versionValue\n .map((val) =>\n generateLabelFromValue(collections, field, locale, val, config, parentIsLocalized),\n )\n .join(', ') || placeholder\n } else {\n versionToRender =\n generateLabelFromValue(\n collections,\n field,\n locale,\n versionValue,\n config,\n parentIsLocalized,\n ) || placeholder\n }\n }\n\n if (comparisonValue) {\n if ('hasMany' in field && field.hasMany && Array.isArray(comparisonValue)) {\n comparisonToRender =\n comparisonValue\n .map((val) =>\n generateLabelFromValue(collections, field, locale, val, config, parentIsLocalized),\n )\n .join(', ') || placeholder\n } else {\n comparisonToRender =\n generateLabelFromValue(\n collections,\n field,\n locale,\n comparisonValue,\n config,\n parentIsLocalized,\n ) || placeholder\n }\n }\n\n const label =\n 'label' in field && typeof field.label !== 'boolean' && typeof field.label !== 'function'\n ? field.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={versionToRender}\n oldValue={comparisonToRender}\n showDiffOnly={false}\n splitView\n styles={diffStyles}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","getTranslation","FieldDiffLabel","useConfig","useTranslation","fieldAffectsData","fieldIsPresentationalOnly","fieldShouldBeLocalized","React","ReactDiffViewer","diffStyles","baseClass","generateLabelFromValue","collections","field","locale","value","config","parentIsLocalized","Array","isArray","map","v","filter","Boolean","join","relatedDoc","valueToReturn","relationTo","undefined","String","relatedCollection","find","slug","useAsTitle","admin","useAsTitleField","fields","f","name","titleFieldIsLocalized","id","JSON","stringify","Relationship","t0","$","comparisonValue","versionValue","i18n","placeholder","t","t1","t2","versionToRender","comparisonToRender","hasMany","val","val_0","label","t3","_jsx","className","children","_jsxs","hideLineNumbers","newValue","oldValue","showDiffOnly","splitView","styles"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n RelationshipFieldDiffClientComponent,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDiffLabel, useConfig, useTranslation } from '@payloadcms/ui'\nimport { fieldAffectsData, fieldIsPresentationalOnly, fieldShouldBeLocalized } from 'payload/shared'\nimport React from 'react'\nimport ReactDiffViewer from 'react-diff-viewer-continued'\n\nimport './index.scss'\nimport { diffStyles } from '../styles.js'\n\nconst baseClass = 'relationship-diff'\n\ntype RelationshipValue = Record<string, any>\n\nconst generateLabelFromValue = (\n collections: ClientCollectionConfig[],\n field: ClientField,\n locale: string,\n value: { relationTo: string; value: RelationshipValue } | RelationshipValue,\n config: ClientConfig,\n parentIsLocalized: boolean,\n): string => {\n if (Array.isArray(value)) {\n return value\n .map((v) => generateLabelFromValue(collections, field, locale, v, config, parentIsLocalized))\n .filter(Boolean) // Filters out any undefined or empty values\n .join(', ')\n }\n\n let relatedDoc: RelationshipValue\n let valueToReturn: RelationshipValue | string = ''\n\n const relationTo = 'relationTo' in field ? field.relationTo : undefined\n\n if (value === null || typeof value === 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string -- We want to return a string specifilly for null and undefined\n return String(value)\n }\n\n if (typeof value === 'object' && 'relationTo' in value) {\n relatedDoc = value.value\n } else {\n // Non-polymorphic relationship\n relatedDoc = value\n }\n\n const relatedCollection = relationTo\n ? collections.find(\n (c) =>\n c.slug ===\n (typeof value === 'object' && 'relationTo' in value ? value.relationTo : relationTo),\n )\n : null\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 = fieldShouldBeLocalized({ field: useAsTitleField, parentIsLocalized })\n }\n\n if (typeof relatedDoc?.[useAsTitle] !== 'undefined') {\n valueToReturn = relatedDoc[useAsTitle]\n } else if (typeof relatedDoc?.id !== 'undefined') {\n valueToReturn = relatedDoc.id\n } else {\n valueToReturn = relatedDoc\n }\n\n if (typeof valueToReturn === 'object' && titleFieldIsLocalized && valueToReturn?.[locale]) {\n valueToReturn = valueToReturn[locale]\n }\n } else if (relatedDoc) {\n // Handle non-polymorphic `hasMany` relationships or fallback\n if (typeof relatedDoc?.id !== 'undefined') {\n valueToReturn = String(relatedDoc.id)\n } else {\n valueToReturn = relatedDoc\n }\n }\n\n if (\n (valueToReturn && typeof valueToReturn === 'object' && valueToReturn !== null) ||\n typeof valueToReturn !== 'string'\n ) {\n valueToReturn = JSON.stringify(valueToReturn)\n }\n\n return valueToReturn\n}\n\nexport const Relationship: RelationshipFieldDiffClientComponent = ({\n comparisonValue,\n field,\n locale,\n parentIsLocalized,\n versionValue,\n}) => {\n const { i18n } = useTranslation()\n const { config } = useConfig()\n\n const placeholder = `[${i18n.t('general:noValue')}]`\n\n const {\n config: { collections },\n } = useConfig()\n\n let versionToRender: string | undefined = placeholder\n let comparisonToRender: string | undefined = placeholder\n\n if (versionValue) {\n if ('hasMany' in field && field.hasMany && Array.isArray(versionValue)) {\n versionToRender =\n versionValue\n .map((val) =>\n generateLabelFromValue(collections, field, locale, val, config, parentIsLocalized),\n )\n .join(', ') || placeholder\n } else {\n versionToRender =\n generateLabelFromValue(\n collections,\n field,\n locale,\n versionValue,\n config,\n parentIsLocalized,\n ) || placeholder\n }\n }\n\n if (comparisonValue) {\n if ('hasMany' in field && field.hasMany && Array.isArray(comparisonValue)) {\n comparisonToRender =\n comparisonValue\n .map((val) =>\n generateLabelFromValue(collections, field, locale, val, config, parentIsLocalized),\n )\n .join(', ') || placeholder\n } else {\n comparisonToRender =\n generateLabelFromValue(\n collections,\n field,\n locale,\n comparisonValue,\n config,\n parentIsLocalized,\n ) || placeholder\n }\n }\n\n const label =\n 'label' in field && typeof field.label !== 'boolean' && typeof field.label !== 'function'\n ? field.label\n : ''\n\n return (\n <div className={baseClass}>\n <FieldDiffLabel>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(label, i18n)}\n </FieldDiffLabel>\n <ReactDiffViewer\n hideLineNumbers\n newValue={versionToRender}\n oldValue={comparisonToRender}\n showDiffOnly={false}\n splitView\n styles={diffStyles}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAuB,8BAA8B,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAuB,8BAA8B,EAAE,MAAM,SAAS,CAAA;AAMlF,OAAO,cAAc,CAAA;AAqDrB,eAAO,MAAM,MAAM,EAAE,8BAwDpB,CAAA"}
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
import { c as _c } from "react/compiler-runtime";
|
|
4
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
5
|
import { getTranslation } from '@payloadcms/translations';
|
|
6
|
-
import { useTranslation } from '@payloadcms/ui';
|
|
6
|
+
import { FieldDiffLabel, useTranslation } from '@payloadcms/ui';
|
|
7
7
|
import React from 'react';
|
|
8
|
-
import Label from '../../Label/index.js';
|
|
9
8
|
import { diffStyles } from '../styles.js';
|
|
10
9
|
import { DiffViewer } from './DiffViewer/index.js';
|
|
11
10
|
const baseClass = 'select-diff';
|
|
@@ -71,7 +70,7 @@ export const Select = t0 => {
|
|
|
71
70
|
}
|
|
72
71
|
t1 = _jsxs("div", {
|
|
73
72
|
className: baseClass,
|
|
74
|
-
children: [_jsxs(
|
|
73
|
+
children: [_jsxs(FieldDiffLabel, {
|
|
75
74
|
children: [t2, "label" in field && getTranslation(field.label || "", i18n)]
|
|
76
75
|
}), _jsx(DiffViewer, {
|
|
77
76
|
comparisonToRender,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","getTranslation","FieldDiffLabel","useTranslation","React","diffStyles","DiffViewer","baseClass","getOptionsToRender","value","options","hasMany","Array","isArray","map","val","find","option","String","getTranslatedOptions","i18n","translatedLabel","label","join","Select","t0","$","comparisonValue","diffMethod","field","locale","versionValue","placeholder","t","t1","comparisonToRender","JSON","stringify","versionToRender","t2","_jsx","className","children","_jsxs"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { Option, SelectField, SelectFieldDiffClientComponent } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDiffLabel, useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nimport './index.scss'\nimport { diffStyles } from '../styles.js'\nimport { DiffViewer } from './DiffViewer/index.js'\n\nconst baseClass = 'select-diff'\n\nconst getOptionsToRender = (\n value: string,\n options: SelectField['options'],\n hasMany: boolean,\n): Option | Option[] => {\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\n/**\n * Translates option labels while ensuring they are strings.\n * If `options.label` is a JSX element, it falls back to `options.value` because `DiffViewer`\n * expects all values to be strings.\n */\nconst getTranslatedOptions = (options: Option | Option[], i18n: I18nClient): string => {\n if (Array.isArray(options)) {\n return options\n .map((option) => {\n if (typeof option === 'string') {\n return option\n }\n const translatedLabel = getTranslation(option.label, i18n)\n\n // Ensure the result is a string, otherwise use option.value\n return typeof translatedLabel === 'string' ? translatedLabel : option.value\n })\n .join(', ')\n }\n\n if (typeof options === 'string') {\n return options\n }\n\n const translatedLabel = getTranslation(options.label, i18n)\n\n return typeof translatedLabel === 'string' ? translatedLabel : options.value\n}\n\nexport const Select: SelectFieldDiffClientComponent = ({\n comparisonValue,\n diffMethod,\n field,\n locale,\n versionValue,\n}) => {\n const { i18n } = useTranslation()\n\n let placeholder = ''\n\n if (versionValue == comparisonValue) {\n placeholder = `[${i18n.t('general:noValue')}]`\n }\n\n const options = 'options' in field && field.options\n\n const comparisonToRender =\n typeof comparisonValue !== 'undefined'\n ? getTranslatedOptions(\n getOptionsToRender(\n typeof comparisonValue === 'string' ? comparisonValue : JSON.stringify(comparisonValue),\n options,\n field.hasMany,\n ),\n i18n,\n )\n : placeholder\n\n const versionToRender =\n typeof versionValue !== 'undefined'\n ? getTranslatedOptions(\n getOptionsToRender(\n typeof versionValue === 'string' ? versionValue : JSON.stringify(versionValue),\n options,\n field.hasMany,\n ),\n i18n,\n )\n : placeholder\n\n return (\n <div className={baseClass}>\n <FieldDiffLabel>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {'label' in field && getTranslation(field.label || '', i18n)}\n </FieldDiffLabel>\n <DiffViewer\n comparisonToRender={comparisonToRender}\n diffMethod={diffMethod}\n diffStyles={diffStyles}\n placeholder={placeholder}\n versionToRender={versionToRender}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Text/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Text/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAA;AAM3D,OAAO,cAAc,CAAA;AAMrB,eAAO,MAAM,IAAI,EAAE,4BAqClB,CAAA"}
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
import { c as _c } from "react/compiler-runtime";
|
|
4
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
5
|
import { getTranslation } from '@payloadcms/translations';
|
|
6
|
-
import { useTranslation } from '@payloadcms/ui';
|
|
6
|
+
import { FieldDiffLabel, useTranslation } from '@payloadcms/ui';
|
|
7
7
|
import React from 'react';
|
|
8
|
-
import Label from '../../Label/index.js';
|
|
9
8
|
import { diffStyles } from '../styles.js';
|
|
10
9
|
import { DiffViewer } from './DiffViewer/index.js';
|
|
11
10
|
const baseClass = 'text-diff';
|
|
@@ -58,7 +57,7 @@ export const Text = t0 => {
|
|
|
58
57
|
if ($[6] !== comparisonToRender || $[7] !== diffMethod || $[8] !== field || $[9] !== i18n || $[10] !== placeholder || $[11] !== t3 || $[12] !== versionToRender) {
|
|
59
58
|
t4 = _jsxs("div", {
|
|
60
59
|
className: baseClass,
|
|
61
|
-
children: [_jsxs(
|
|
60
|
+
children: [_jsxs(FieldDiffLabel, {
|
|
62
61
|
children: [t3, "label" in field && typeof field.label !== "function" && getTranslation(field.label || "", i18n)]
|
|
63
62
|
}), _jsx(DiffViewer, {
|
|
64
63
|
comparisonToRender,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","getTranslation","FieldDiffLabel","useTranslation","React","diffStyles","DiffViewer","baseClass","Text","t0","$","comparisonValue","diffMethod","field","locale","versionValue","i18n","placeholder","t","t1","JSON","stringify","versionToRender","t2","comparisonToRender","t3","_jsx","className","children","t4","_jsxs","label"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Text/index.tsx"],"sourcesContent":["'use client'\nimport type { TextFieldDiffClientComponent } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDiffLabel, useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nimport './index.scss'\nimport { diffStyles } from '../styles.js'\nimport { DiffViewer } from './DiffViewer/index.js'\n\nconst baseClass = 'text-diff'\n\nexport const Text: TextFieldDiffClientComponent = ({\n comparisonValue,\n diffMethod,\n field,\n locale,\n versionValue,\n}) => {\n const { i18n } = useTranslation()\n\n let placeholder = ''\n\n if (versionValue == comparisonValue) {\n placeholder = `[${i18n.t('general:noValue')}]`\n }\n\n const versionToRender: string =\n typeof versionValue === 'string' ? versionValue : JSON.stringify(versionValue, null, 2)\n const comparisonToRender =\n typeof comparisonValue === 'string' ? comparisonValue : JSON.stringify(comparisonValue, null, 2)\n\n return (\n <div className={baseClass}>\n <FieldDiffLabel>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {'label' in field &&\n typeof field.label !== 'function' &&\n getTranslation(field.label || '', i18n)}\n </FieldDiffLabel>\n <DiffViewer\n comparisonToRender={comparisonToRender}\n diffMethod={diffMethod}\n diffStyles={diffStyles}\n placeholder={placeholder}\n versionToRender={versionToRender}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,EAAEC,cAAc,QAAQ;AAC/C,OAAOC,KAAA,MAAW;AAGlB,SAASC,UAAU,QAAQ;AAC3B,SAASC,UAAU,QAAQ;AAE3B,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,IAAA,GAAqCC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW,eAAA;IAAAC,UAAA;IAAAC,KAAA;IAAAC,MAAA;IAAAC;EAAA,IAAAN,EAMlD;EACC;IAAAO;EAAA,IAAiBb,cAAA;EAEjB,IAAAc,WAAA,GAAkB;EAAA,IAEdF,YAAA,IAAgBJ,eAAA;IAClBM,WAAA,CAAAA,CAAA,CAAcA,IAAID,IAAA,CAAAE,CAAA,CAAO,qBAAqB;EAA9C;EAAA,IAAAC,EAAA;EAAA,IAAAT,CAAA,QAAAK,YAAA;IAIAI,EAAA,UAAOJ,YAAA,KAAiB,WAAWA,YAAA,GAAeK,IAAA,CAAAC,SAAA,CAAeN,YAAA,SAAoB;IAAAL,CAAA,MAAAK,YAAA;IAAAL,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EADvF,MAAAY,eAAA,GACEH,EAAqF;EAAA,IAAAI,EAAA;EAAA,IAAAb,CAAA,QAAAC,eAAA;IAErFY,EAAA,UAAOZ,eAAA,KAAoB,WAAWA,eAAA,GAAkBS,IAAA,CAAAC,SAAA,CAAeV,eAAA,SAAuB;IAAAD,CAAA,MAAAC,eAAA;IAAAD,CAAA,MAAAa,EAAA;EAAA;IAAAA,EAAA,GAAAb,CAAA;EAAA;EADhG,MAAAc,kBAAA,GACED,EAA8F;EAAA,IAAAE,EAAA;EAAA,IAAAf,CAAA,QAAAI,MAAA;IAKzFW,EAAA,GAAAX,MAAA,IAAUY,IAAA,CAAC;MAAAC,SAAA,EAAgB,GAAApB,SAAA,gBAA4B;MAAAqB,QAAA,EAAGd;IAAA,C;;;;;;;;IAF/De,EAAA,GAAAC,KAAA,CAAC;MAAAH,SAAA,EAAApB,SAAA;MAAAqB,QAAA,GACCE,KAAA,CAAA5B,cAAA;QAAA0B,QAAA,GACGH,E,EACA,WAAWZ,KAAA,IACV,OAAOA,KAAA,CAAAkB,KAAA,KAAgB,cACvB9B,cAAA,CAAeY,KAAA,CAAAkB,KAAA,IAAe,IAAIf,IAAA;MAAA,C,GAEtCU,IAAA,CAAApB,UAAA;QAAAkB,kBAAA;QAAAZ,UAAA;QAAAP,UAAA;QAAAY,WAAA;QAAAK;MAAA,C;;;;;;;;;;;;;SAPFO,E;CAgBJ","ignoreList":[]}
|
|
@@ -1,30 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
minWidth: string;
|
|
4
|
-
};
|
|
5
|
-
variables: {
|
|
6
|
-
dark: {
|
|
7
|
-
addedBackground: string;
|
|
8
|
-
addedColor: string;
|
|
9
|
-
diffViewerBackground: string;
|
|
10
|
-
diffViewerColor: string;
|
|
11
|
-
emptyLineBackground: string;
|
|
12
|
-
removedBackground: string;
|
|
13
|
-
removedColor: string;
|
|
14
|
-
wordAddedBackground: string;
|
|
15
|
-
wordRemovedBackground: string;
|
|
16
|
-
};
|
|
17
|
-
light: {
|
|
18
|
-
addedBackground: string;
|
|
19
|
-
addedColor: string;
|
|
20
|
-
diffViewerBackground: string;
|
|
21
|
-
diffViewerColor: string;
|
|
22
|
-
emptyLineBackground: string;
|
|
23
|
-
removedBackground: string;
|
|
24
|
-
removedColor: string;
|
|
25
|
-
wordAddedBackground: string;
|
|
26
|
-
wordRemovedBackground: string;
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
};
|
|
1
|
+
import type { ReactDiffViewerStylesOverride } from 'react-diff-viewer-continued';
|
|
2
|
+
export declare const diffStyles: ReactDiffViewerStylesOverride;
|
|
30
3
|
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/styles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAA;AAEhF,eAAO,MAAM,UAAU,EAAE,6BAmCxB,CAAA"}
|
|
@@ -25,6 +25,13 @@ export const diffStyles = {
|
|
|
25
25
|
wordAddedBackground: 'var(--theme-success-200)',
|
|
26
26
|
wordRemovedBackground: 'var(--theme-error-200)'
|
|
27
27
|
}
|
|
28
|
+
},
|
|
29
|
+
wordAdded: {
|
|
30
|
+
color: 'var(--theme-success-600)'
|
|
31
|
+
},
|
|
32
|
+
wordRemoved: {
|
|
33
|
+
color: 'var(--theme-error-600)',
|
|
34
|
+
textDecorationLine: 'line-through'
|
|
28
35
|
}
|
|
29
36
|
};
|
|
30
37
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["diffStyles","diffContainer","minWidth","variables","dark","addedBackground","addedColor","diffViewerBackground","diffViewerColor","emptyLineBackground","removedBackground","removedColor","wordAddedBackground","wordRemovedBackground","light"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/styles.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"styles.js","names":["diffStyles","diffContainer","minWidth","variables","dark","addedBackground","addedColor","diffViewerBackground","diffViewerColor","emptyLineBackground","removedBackground","removedColor","wordAddedBackground","wordRemovedBackground","light","wordAdded","color","wordRemoved","textDecorationLine"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/styles.ts"],"sourcesContent":["import type { ReactDiffViewerStylesOverride } from 'react-diff-viewer-continued'\n\nexport const diffStyles: ReactDiffViewerStylesOverride = {\n diffContainer: {\n minWidth: 'unset',\n },\n variables: {\n dark: {\n addedBackground: 'var(--theme-success-900)',\n addedColor: 'var(--theme-success-100)',\n diffViewerBackground: 'transparent',\n diffViewerColor: 'var(--theme-text)',\n emptyLineBackground: 'var(--theme-elevation-50)',\n removedBackground: 'var(--theme-error-900)',\n removedColor: 'var(--theme-error-100)',\n wordAddedBackground: 'var(--theme-success-800)',\n wordRemovedBackground: 'var(--theme-error-800)',\n },\n light: {\n addedBackground: 'var(--theme-success-100)',\n addedColor: 'var(--theme-success-900)',\n diffViewerBackground: 'transparent',\n diffViewerColor: 'var(--theme-text)',\n emptyLineBackground: 'var(--theme-elevation-50)',\n removedBackground: 'var(--theme-error-100)',\n removedColor: 'var(--theme-error-900)',\n wordAddedBackground: 'var(--theme-success-200)',\n wordRemovedBackground: 'var(--theme-error-200)',\n },\n },\n wordAdded: {\n color: 'var(--theme-success-600)',\n },\n wordRemoved: {\n color: 'var(--theme-error-600)',\n textDecorationLine: 'line-through',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,UAAA,GAA4C;EACvDC,aAAA,EAAe;IACbC,QAAA,EAAU;EACZ;EACAC,SAAA,EAAW;IACTC,IAAA,EAAM;MACJC,eAAA,EAAiB;MACjBC,UAAA,EAAY;MACZC,oBAAA,EAAsB;MACtBC,eAAA,EAAiB;MACjBC,mBAAA,EAAqB;MACrBC,iBAAA,EAAmB;MACnBC,YAAA,EAAc;MACdC,mBAAA,EAAqB;MACrBC,qBAAA,EAAuB;IACzB;IACAC,KAAA,EAAO;MACLT,eAAA,EAAiB;MACjBC,UAAA,EAAY;MACZC,oBAAA,EAAsB;MACtBC,eAAA,EAAiB;MACjBC,mBAAA,EAAqB;MACrBC,iBAAA,EAAmB;MACnBC,YAAA,EAAc;MACdC,mBAAA,EAAqB;MACrBC,qBAAA,EAAuB;IACzB;EACF;EACAE,SAAA,EAAW;IACTC,KAAA,EAAO;EACT;EACAC,WAAA,EAAa;IACXD,KAAA,EAAO;IACPE,kBAAA,EAAoB;EACtB;AACF","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/next",
|
|
3
|
-
"version": "3.33.0
|
|
3
|
+
"version": "3.33.0",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -79,9 +79,9 @@
|
|
|
79
79
|
"react-diff-viewer-continued": "4.0.5",
|
|
80
80
|
"sass": "1.77.4",
|
|
81
81
|
"uuid": "10.0.0",
|
|
82
|
-
"@payloadcms/graphql": "3.33.0
|
|
83
|
-
"@payloadcms/translations": "3.33.0
|
|
84
|
-
"@payloadcms/ui": "3.33.0
|
|
82
|
+
"@payloadcms/graphql": "3.33.0",
|
|
83
|
+
"@payloadcms/translations": "3.33.0",
|
|
84
|
+
"@payloadcms/ui": "3.33.0"
|
|
85
85
|
},
|
|
86
86
|
"devDependencies": {
|
|
87
87
|
"@babel/cli": "7.26.4",
|
|
@@ -100,12 +100,12 @@
|
|
|
100
100
|
"eslint-plugin-react-compiler": "19.0.0-beta-714736e-20250131",
|
|
101
101
|
"swc-plugin-transform-remove-imports": "3.1.0",
|
|
102
102
|
"@payloadcms/eslint-config": "3.28.0",
|
|
103
|
-
"payload": "3.33.0
|
|
103
|
+
"payload": "3.33.0"
|
|
104
104
|
},
|
|
105
105
|
"peerDependencies": {
|
|
106
106
|
"graphql": "^16.8.1",
|
|
107
107
|
"next": "^15.2.3",
|
|
108
|
-
"payload": "3.33.0
|
|
108
|
+
"payload": "3.33.0"
|
|
109
109
|
},
|
|
110
110
|
"engines": {
|
|
111
111
|
"node": "^18.20.2 || >=20.9.0"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/Label/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAIrB,QAAA,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAEnD,CAAA;AAED,eAAe,KAAK,CAAA"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import React from 'react';
|
|
3
|
-
const baseClass = 'field-diff-label';
|
|
4
|
-
const Label = ({
|
|
5
|
-
children
|
|
6
|
-
}) => /*#__PURE__*/_jsx("div", {
|
|
7
|
-
className: baseClass,
|
|
8
|
-
children: children
|
|
9
|
-
});
|
|
10
|
-
export default Label;
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","baseClass","Label","children","_jsx","className"],"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"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAIlB,MAAMC,SAAA,GAAY;AAElB,MAAMC,KAAA,GAAkDA,CAAC;EAAEC;AAAQ,CAAE,kBACnEC,IAAA,CAAC;EAAIC,SAAA,EAAWJ,SAAA;YAAYE;;AAG9B,eAAeD,KAAA","ignoreList":[]}
|