@payloadcms/next 3.24.0-canary.72057b1 → 3.24.0-canary.f229d8d

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  2. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +1 -2
  3. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  4. package/dist/elements/DocumentHeader/index.scss +0 -2
  5. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  6. package/dist/elements/Nav/index.client.js +1 -3
  7. package/dist/elements/Nav/index.client.js.map +1 -1
  8. package/dist/elements/Nav/index.d.ts.map +1 -1
  9. package/dist/elements/Nav/index.js.map +1 -1
  10. package/dist/layouts/Root/index.d.ts.map +1 -1
  11. package/dist/layouts/Root/index.js +4 -4
  12. package/dist/layouts/Root/index.js.map +1 -1
  13. package/dist/prod/styles.css +1 -1
  14. package/dist/views/Dashboard/Default/index.d.ts +6 -1
  15. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  16. package/dist/views/Dashboard/Default/index.js +0 -3
  17. package/dist/views/Dashboard/Default/index.js.map +1 -1
  18. package/dist/views/Dashboard/index.d.ts.map +1 -1
  19. package/dist/views/Dashboard/index.js +0 -4
  20. package/dist/views/Dashboard/index.js.map +1 -1
  21. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  22. package/dist/views/ForgotPassword/index.js +1 -4
  23. package/dist/views/ForgotPassword/index.js.map +1 -1
  24. package/dist/views/LivePreview/Context/index.d.ts.map +1 -1
  25. package/dist/views/LivePreview/Context/index.js +5 -1
  26. package/dist/views/LivePreview/Context/index.js.map +1 -1
  27. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  28. package/dist/views/LivePreview/index.client.js +6 -3
  29. package/dist/views/LivePreview/index.client.js.map +1 -1
  30. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  31. package/dist/views/Login/LoginForm/index.js +1 -3
  32. package/dist/views/Login/LoginForm/index.js.map +1 -1
  33. package/dist/views/Login/index.d.ts.map +1 -1
  34. package/dist/views/Login/index.js.map +1 -1
  35. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  36. package/dist/views/Logout/LogoutClient.js +32 -30
  37. package/dist/views/Logout/LogoutClient.js.map +1 -1
  38. package/dist/views/NotFound/index.client.d.ts.map +1 -1
  39. package/dist/views/NotFound/index.client.js +0 -3
  40. package/dist/views/NotFound/index.client.js.map +1 -1
  41. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  42. package/dist/views/ResetPassword/index.js +1 -4
  43. package/dist/views/ResetPassword/index.js.map +1 -1
  44. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  45. package/dist/views/Unauthorized/index.js +0 -3
  46. package/dist/views/Unauthorized/index.js.map +1 -1
  47. package/dist/views/Verify/index.client.d.ts.map +1 -1
  48. package/dist/views/Verify/index.client.js +13 -9
  49. package/dist/views/Verify/index.client.js.map +1 -1
  50. package/dist/views/Version/Default/index.d.ts.map +1 -1
  51. package/dist/views/Version/Default/index.js +9 -5
  52. package/dist/views/Version/Default/index.js.map +1 -1
  53. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
  54. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +122 -59
  55. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  56. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  57. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +4 -2
  58. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  59. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  60. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +16 -11
  61. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  62. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts +5 -3
  63. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  64. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +12 -0
  65. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  66. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +3 -2
  67. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
  68. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +7 -6
  69. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  70. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  71. package/dist/views/Version/Restore/index.js +6 -3
  72. package/dist/views/Version/Restore/index.js.map +1 -1
  73. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  74. package/dist/views/Versions/cells/CreatedAt/index.js +1 -3
  75. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  76. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAO,cAAc,CAAA;AAKrB,KAAK,KAAK,GACN;IAEE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,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,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAEL,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA0EzC,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;AAGvC,OAAO,cAAc,CAAA;AAKrB,KAAK,KAAK,GACN;IAEE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,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,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAEL,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA6EzC,CAAA"}
@@ -1,76 +1,139 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
1
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ChevronIcon, Pill, useTranslation } from '@payloadcms/ui';
5
+ import { ChevronIcon, Pill, useConfig, useTranslation } from '@payloadcms/ui';
3
6
  import { fieldIsArrayType, fieldIsBlockType } from 'payload/shared';
4
7
  import React, { useState } from 'react';
5
8
  import Label from '../Label/index.js';
6
9
  import { countChangedFields, countChangedFieldsInRows } from '../utilities/countChangedFields.js';
7
10
  const baseClass = 'diff-collapser';
8
- export const DiffCollapser = ({
9
- children,
10
- comparison,
11
- field,
12
- fields,
13
- initCollapsed = false,
14
- isIterable = false,
15
- label,
16
- locales,
17
- version
18
- }) => {
11
+ export const DiffCollapser = t0 => {
12
+ const $ = _c(20);
13
+ const {
14
+ children,
15
+ comparison,
16
+ field,
17
+ fields,
18
+ initCollapsed: t1,
19
+ isIterable: t2,
20
+ label,
21
+ locales,
22
+ version
23
+ } = t0;
24
+ const initCollapsed = t1 === undefined ? false : t1;
25
+ const isIterable = t2 === undefined ? false : t2;
19
26
  const {
20
27
  t
21
28
  } = useTranslation();
22
29
  const [isCollapsed, setIsCollapsed] = useState(initCollapsed);
23
- let changeCount = 0;
24
- if (isIterable) {
25
- if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {
26
- throw new Error('DiffCollapser: field must be an array or blocks field when isIterable is true');
30
+ const {
31
+ config
32
+ } = useConfig();
33
+ let t3;
34
+ if ($[0] !== children || $[1] !== comparison || $[2] !== config || $[3] !== field || $[4] !== fields || $[5] !== isCollapsed || $[6] !== isIterable || $[7] !== label || $[8] !== locales || $[9] !== t || $[10] !== version) {
35
+ let changeCount;
36
+ if (isIterable) {
37
+ if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {
38
+ throw new Error("DiffCollapser: field must be an array or blocks field when isIterable is true");
39
+ }
40
+ let t4;
41
+ if ($[12] !== comparison) {
42
+ t4 = comparison ?? [];
43
+ $[12] = comparison;
44
+ $[13] = t4;
45
+ } else {
46
+ t4 = $[13];
47
+ }
48
+ const comparisonRows = t4;
49
+ let t5;
50
+ if ($[14] !== version) {
51
+ t5 = version ?? [];
52
+ $[14] = version;
53
+ $[15] = t5;
54
+ } else {
55
+ t5 = $[15];
56
+ }
57
+ const versionRows = t5;
58
+ if (!Array.isArray(comparisonRows) || !Array.isArray(versionRows)) {
59
+ throw new Error("DiffCollapser: comparison and version must be arrays when isIterable is true");
60
+ }
61
+ changeCount = countChangedFieldsInRows({
62
+ comparisonRows,
63
+ config,
64
+ field,
65
+ locales,
66
+ versionRows
67
+ });
68
+ } else {
69
+ changeCount = countChangedFields({
70
+ comparison,
71
+ config,
72
+ fields,
73
+ locales,
74
+ version
75
+ });
76
+ }
77
+ const t4 = isCollapsed && `${baseClass}__content--is-collapsed`;
78
+ let t5;
79
+ if ($[16] !== t4) {
80
+ t5 = [`${baseClass}__content`, t4].filter(Boolean);
81
+ $[16] = t4;
82
+ $[17] = t5;
83
+ } else {
84
+ t5 = $[17];
27
85
  }
28
- const comparisonRows = comparison ?? [];
29
- const versionRows = version ?? [];
30
- if (!Array.isArray(comparisonRows) || !Array.isArray(versionRows)) {
31
- throw new Error('DiffCollapser: comparison and version must be arrays when isIterable is true');
86
+ const contentClassNames = t5.join(" ");
87
+ let t6;
88
+ if ($[18] !== isCollapsed) {
89
+ t6 = () => setIsCollapsed(!isCollapsed);
90
+ $[18] = isCollapsed;
91
+ $[19] = t6;
92
+ } else {
93
+ t6 = $[19];
32
94
  }
33
- changeCount = countChangedFieldsInRows({
34
- comparisonRows,
35
- field,
36
- locales,
37
- versionRows
95
+ t3 = _jsxs("div", {
96
+ className: baseClass,
97
+ children: [_jsxs(Label, {
98
+ children: [_jsx("button", {
99
+ "aria-label": isCollapsed ? "Expand" : "Collapse",
100
+ className: `${baseClass}__toggle-button`,
101
+ onClick: t6,
102
+ type: "button",
103
+ children: _jsx(ChevronIcon, {
104
+ direction: isCollapsed ? "right" : "down"
105
+ })
106
+ }), _jsx("span", {
107
+ className: `${baseClass}__label`,
108
+ children: label
109
+ }), changeCount > 0 && _jsx(Pill, {
110
+ className: `${baseClass}__field-change-count`,
111
+ pillStyle: "light-gray",
112
+ size: "small",
113
+ children: t("version:changedFieldsCount", {
114
+ count: changeCount
115
+ })
116
+ })]
117
+ }), _jsx("div", {
118
+ className: contentClassNames,
119
+ children
120
+ })]
38
121
  });
122
+ $[0] = children;
123
+ $[1] = comparison;
124
+ $[2] = config;
125
+ $[3] = field;
126
+ $[4] = fields;
127
+ $[5] = isCollapsed;
128
+ $[6] = isIterable;
129
+ $[7] = label;
130
+ $[8] = locales;
131
+ $[9] = t;
132
+ $[10] = version;
133
+ $[11] = t3;
39
134
  } else {
40
- changeCount = countChangedFields({
41
- comparison,
42
- fields,
43
- locales,
44
- version
45
- });
135
+ t3 = $[11];
46
136
  }
47
- const contentClassNames = [`${baseClass}__content`, isCollapsed && `${baseClass}__content--is-collapsed`].filter(Boolean).join(' ');
48
- return /*#__PURE__*/_jsxs("div", {
49
- className: baseClass,
50
- children: [/*#__PURE__*/_jsxs(Label, {
51
- children: [/*#__PURE__*/_jsx("button", {
52
- "aria-label": isCollapsed ? 'Expand' : 'Collapse',
53
- className: `${baseClass}__toggle-button`,
54
- onClick: () => setIsCollapsed(!isCollapsed),
55
- type: "button",
56
- children: /*#__PURE__*/_jsx(ChevronIcon, {
57
- direction: isCollapsed ? 'right' : 'down'
58
- })
59
- }), /*#__PURE__*/_jsx("span", {
60
- className: `${baseClass}__label`,
61
- children: label
62
- }), changeCount > 0 && /*#__PURE__*/_jsx(Pill, {
63
- className: `${baseClass}__field-change-count`,
64
- pillStyle: "light-gray",
65
- size: "small",
66
- children: t('version:changedFieldsCount', {
67
- count: changeCount
68
- })
69
- })]
70
- }), /*#__PURE__*/_jsx("div", {
71
- className: contentClassNames,
72
- children: children
73
- })]
74
- });
137
+ return t3;
75
138
  };
76
139
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["ChevronIcon","Pill","useTranslation","fieldIsArrayType","fieldIsBlockType","React","useState","Label","countChangedFields","countChangedFieldsInRows","baseClass","DiffCollapser","children","comparison","field","fields","initCollapsed","isIterable","label","locales","version","t","isCollapsed","setIsCollapsed","changeCount","Error","comparisonRows","versionRows","Array","isArray","contentClassNames","filter","Boolean","join","_jsxs","className","_jsx","onClick","type","direction","pillStyle","size","count"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx"],"sourcesContent":["import type { ClientField } from 'payload'\n\nimport { ChevronIcon, Pill, useTranslation } from '@payloadcms/ui'\nimport { fieldIsArrayType, fieldIsBlockType } from 'payload/shared'\nimport React, { useState } from 'react'\n\nimport Label from '../Label/index.js'\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 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 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 version,\n}) => {\n const { t } = useTranslation()\n const [isCollapsed, setIsCollapsed] = useState(initCollapsed)\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 field,\n locales,\n versionRows,\n })\n } else {\n changeCount = countChangedFields({\n comparison,\n fields,\n locales,\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 <Label>\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 </Label>\n <div className={contentClassNames}>{children}</div>\n </div>\n )\n}\n"],"mappings":";AAEA,SAASA,WAAW,EAAEC,IAAI,EAAEC,cAAc,QAAQ;AAClD,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ;AACnD,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,OAAOC,KAAA,MAAW;AAElB,SAASC,kBAAkB,EAAEC,wBAAwB,QAAQ;AAE7D,MAAMC,SAAA,GAAY;AA4BlB,OAAO,MAAMC,aAAA,GAAiCA,CAAC;EAC7CC,QAAQ;EACRC,UAAU;EACVC,KAAK;EACLC,MAAM;EACNC,aAAA,GAAgB,KAAK;EACrBC,UAAA,GAAa,KAAK;EAClBC,KAAK;EACLC,OAAO;EACPC;AAAO,CACR;EACC,MAAM;IAAEC;EAAC,CAAE,GAAGnB,cAAA;EACd,MAAM,CAACoB,WAAA,EAAaC,cAAA,CAAe,GAAGjB,QAAA,CAASU,aAAA;EAE/C,IAAIQ,WAAA,GAAc;EAElB,IAAIP,UAAA,EAAY;IACd,IAAI,CAACd,gBAAA,CAAiBW,KAAA,KAAU,CAACV,gBAAA,CAAiBU,KAAA,GAAQ;MACxD,MAAM,IAAIW,KAAA,CACR;IAEJ;IACA,MAAMC,cAAA,GAAiBb,UAAA,IAAc,EAAE;IACvC,MAAMc,WAAA,GAAcP,OAAA,IAAW,EAAE;IAEjC,IAAI,CAACQ,KAAA,CAAMC,OAAO,CAACH,cAAA,KAAmB,CAACE,KAAA,CAAMC,OAAO,CAACF,WAAA,GAAc;MACjE,MAAM,IAAIF,KAAA,CACR;IAEJ;IAEAD,WAAA,GAAcf,wBAAA,CAAyB;MACrCiB,cAAA;MACAZ,KAAA;MACAK,OAAA;MACAQ;IACF;EACF,OAAO;IACLH,WAAA,GAAchB,kBAAA,CAAmB;MAC/BK,UAAA;MACAE,MAAA;MACAI,OAAA;MACAC;IACF;EACF;EAEA,MAAMU,iBAAA,GAAoB,CACxB,GAAGpB,SAAA,WAAoB,EACvBY,WAAA,IAAe,GAAGZ,SAAA,yBAAkC,CACrD,CACEqB,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;EAER,oBACEC,KAAA,CAAC;IAAIC,SAAA,EAAWzB,SAAA;4BACdwB,KAAA,CAAC3B,KAAA;8BACC6B,IAAA,CAAC;QACC,cAAYd,WAAA,GAAc,WAAW;QACrCa,SAAA,EAAW,GAAGzB,SAAA,iBAA0B;QACxC2B,OAAA,EAASA,CAAA,KAAMd,cAAA,CAAe,CAACD,WAAA;QAC/BgB,IAAA,EAAK;kBAEL,aAAAF,IAAA,CAACpC,WAAA;UAAYuC,SAAA,EAAWjB,WAAA,GAAc,UAAU;;uBAElDc,IAAA,CAAC;QAAKD,SAAA,EAAW,GAAGzB,SAAA,SAAkB;kBAAGQ;UACxCM,WAAA,GAAc,kBACbY,IAAA,CAACnC,IAAA;QAAKkC,SAAA,EAAW,GAAGzB,SAAA,sBAA+B;QAAE8B,SAAA,EAAU;QAAaC,IAAA,EAAK;kBAC9EpB,CAAA,CAAE,8BAA8B;UAAEqB,KAAA,EAAOlB;QAAY;;qBAI5DY,IAAA,CAAC;MAAID,SAAA,EAAWL,iBAAA;gBAAoBlB;;;AAG1C","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","ChevronIcon","Pill","useConfig","useTranslation","fieldIsArrayType","fieldIsBlockType","React","useState","Label","countChangedFields","countChangedFieldsInRows","baseClass","DiffCollapser","t0","$","children","comparison","field","fields","initCollapsed","t1","isIterable","t2","label","locales","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, Pill, useConfig, useTranslation } from '@payloadcms/ui'\nimport { fieldIsArrayType, fieldIsBlockType } from 'payload/shared'\nimport React, { useState } from 'react'\n\nimport Label from '../Label/index.js'\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 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 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 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 versionRows,\n })\n } else {\n changeCount = countChangedFields({\n comparison,\n config,\n fields,\n locales,\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 <Label>\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 </Label>\n <div className={contentClassNames}>{children}</div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -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;AAC1D,OAAO,KAAK,EAGV,oBAAoB,EACpB,KAAK,EACL,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,YAAY,EACb,MAAM,SAAS,CAAA;AAWhB,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,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,yNAe5B,sBAAsB,KAAG;IAC1B,aAAa,EAAE,YAAY,EAAE,CAAA;CAqG9B,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;AAC1D,OAAO,KAAK,EAGV,oBAAoB,EACpB,KAAK,EACL,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EAEV,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,YAAY,EACb,MAAM,SAAS,CAAA;AAWhB,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,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,yNAe5B,sBAAsB,KAAG;IAC1B,aAAa,EAAE,YAAY,EAAE,CAAA;CAqG9B,CAAA"}
@@ -247,12 +247,14 @@ const buildVersionField = ({
247
247
  for (let i = 0; i < blocksValue.length; i++) {
248
248
  const comparisonRow = comparisonValue?.[i] || {};
249
249
  const versionRow = blocksValue[i] || {};
250
- const versionBlock = field.blocks.find(block => block.slug === versionRow.blockType);
250
+ const blockSlugToMatch = versionRow.blockType;
251
+ const versionBlock = req.payload.blocks[blockSlugToMatch] ?? (field.blockReferences ?? field.blocks).find(block => typeof block !== 'string' && block.slug === blockSlugToMatch);
251
252
  let fields = [];
252
253
  if (versionRow.blockType === comparisonRow.blockType) {
253
254
  fields = versionBlock.fields;
254
255
  } else {
255
- const comparisonBlock = field.blocks.find(block => block.slug === comparisonRow.blockType);
256
+ const comparisonBlockSlugToMatch = versionRow.blockType;
257
+ const comparisonBlock = req.payload.blocks[comparisonBlockSlugToMatch] ?? (field.blockReferences ?? field.blocks).find(block => typeof block !== 'string' && block.slug === comparisonBlockSlugToMatch);
256
258
  if (comparisonBlock) {
257
259
  fields = getUniqueListBy([...versionBlock.fields, ...comparisonBlock.fields], 'name');
258
260
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"buildVersionFields.js","names":["RenderServerComponent","dequal","fieldIsID","getUniqueListBy","tabHasName","diffMethods","diffComponents","getFieldPathsModified","buildVersionFields","clientSchemaMap","comparisonSiblingData","customDiffComponents","entitySlug","fieldPermissions","fields","i18n","modifiedOnly","parentIndexPath","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","localized","fieldName","name","versionValue","comparisonValue","fieldByLocale","locale","localizedVersionField","buildVersionField","baseVersionField","push","diffMethod","type","hasPermission","read","subFieldPermissions","CustomComponent","admin","components","Diff","DefaultComponent","tabs","tabIndex","tab","isNamedTab","tabIndexPath","tabPath","tabSchemaPath","label","arrayValue","isArray","rows","i","length","comparisonRow","versionRow","blocksValue","versionBlock","blocks","find","block","slug","blockType","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 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, 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 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 parentPath,\n parentSchemaPath,\n req,\n selectedLocales,\n versionSiblingData,\n}: BuildVersionFieldsArgs): {\n versionFields: VersionField[]\n} => {\n const versionFields: VersionField[] = []\n let fieldIndex = -1\n for (const field of fields) {\n fieldIndex++\n if (fieldIsID(field)) {\n continue\n }\n\n const { indexPath, path, schemaPath } = getFieldPathsModified({\n field,\n index: fieldIndex,\n parentIndexPath: 'name' in field ? '' : 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 = 'localized' in field && field.localized\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 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 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 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 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 {\n indexPath: tabIndexPath,\n path: tabPath,\n schemaPath: tabSchemaPath,\n } = getFieldPathsModified({\n field: {\n ...tab,\n type: 'tab',\n },\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 parentPath: tabPath,\n parentSchemaPath: tabSchemaPath,\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`, 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 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 parentPath: path,\n parentSchemaPath: schemaPath,\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 const versionBlock = field.blocks.find((block) => block.slug === versionRow.blockType)\n\n let fields = []\n\n if (versionRow.blockType === comparisonRow.blockType) {\n fields = versionBlock.fields\n } else {\n const comparisonBlock = field.blocks.find((block) => block.slug === comparisonRow.blockType)\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 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 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","fieldIsID","getUniqueListBy","tabHasName","diffMethods","diffComponents","getFieldPathsModified","buildVersionFields","clientSchemaMap","comparisonSiblingData","customDiffComponents","entitySlug","fieldPermissions","fields","i18n","modifiedOnly","parentIndexPath","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","localized","fieldName","name","versionValue","comparisonValue","fieldByLocale","locale","localizedVersionField","buildVersionField","baseVersionField","push","diffMethod","type","hasPermission","read","subFieldPermissions","CustomComponent","admin","components","Diff","DefaultComponent","tabs","tabIndex","tab","isNamedTab","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, 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 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 parentPath,\n parentSchemaPath,\n req,\n selectedLocales,\n versionSiblingData,\n}: BuildVersionFieldsArgs): {\n versionFields: VersionField[]\n} => {\n const versionFields: VersionField[] = []\n let fieldIndex = -1\n for (const field of fields) {\n fieldIndex++\n if (fieldIsID(field)) {\n continue\n }\n\n const { indexPath, path, schemaPath } = getFieldPathsModified({\n field,\n index: fieldIndex,\n parentIndexPath: 'name' in field ? '' : 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 = 'localized' in field && field.localized\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 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 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 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 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 {\n indexPath: tabIndexPath,\n path: tabPath,\n schemaPath: tabSchemaPath,\n } = getFieldPathsModified({\n field: {\n ...tab,\n type: 'tab',\n },\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 parentPath: tabPath,\n parentSchemaPath: tabSchemaPath,\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`, 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 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 parentPath: path,\n parentSchemaPath: schemaPath,\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 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 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/Iterable/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAKnD,OAAO,cAAc,CAAA;AAGrB,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAmFnD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAKnD,OAAO,cAAc,CAAA;AAGrB,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAqFnD,CAAA"}
@@ -3,7 +3,7 @@
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 { useConfig, useTranslation } from '@payloadcms/ui';
7
7
  import { fieldIsArrayType, fieldIsBlockType } from 'payload/shared';
8
8
  import React from 'react';
9
9
  import { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js';
@@ -12,7 +12,7 @@ import { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js';
12
12
  import { getFieldsForRowComparison } from '../../utilities/getFieldsForRowComparison.js';
13
13
  const baseClass = 'iterable-diff';
14
14
  export const Iterable = t0 => {
15
- const $ = _c(13);
15
+ const $ = _c(14);
16
16
  const {
17
17
  baseVersionField,
18
18
  comparisonValue,
@@ -26,6 +26,9 @@ export const Iterable = t0 => {
26
26
  const {
27
27
  selectedLocales
28
28
  } = useSelectedLocales();
29
+ const {
30
+ config
31
+ } = useConfig();
29
32
  const versionRowCount = Array.isArray(versionValue) ? versionValue.length : 0;
30
33
  const comparisonRowCount = Array.isArray(comparisonValue) ? comparisonValue.length : 0;
31
34
  const maxRows = Math.max(versionRowCount, comparisonRowCount);
@@ -48,7 +51,7 @@ export const Iterable = t0 => {
48
51
  t1 = $[3];
49
52
  }
50
53
  let t2;
51
- if ($[4] !== baseVersionField || $[5] !== comparisonValue || $[6] !== field || $[7] !== i18n || $[8] !== maxRows || $[9] !== selectedLocales || $[10] !== t1 || $[11] !== versionValue) {
54
+ if ($[4] !== baseVersionField || $[5] !== comparisonValue || $[6] !== config || $[7] !== field || $[8] !== i18n || $[9] !== maxRows || $[10] !== selectedLocales || $[11] !== t1 || $[12] !== versionValue) {
52
55
  t2 = _jsx("div", {
53
56
  className: baseClass,
54
57
  children: _jsxs(DiffCollapser, {
@@ -69,6 +72,7 @@ export const Iterable = t0 => {
69
72
  } = getFieldsForRowComparison({
70
73
  baseVersionField,
71
74
  comparisonRow,
75
+ config,
72
76
  field,
73
77
  row: i,
74
78
  versionRow
@@ -99,15 +103,16 @@ export const Iterable = t0 => {
99
103
  });
100
104
  $[4] = baseVersionField;
101
105
  $[5] = comparisonValue;
102
- $[6] = field;
103
- $[7] = i18n;
104
- $[8] = maxRows;
105
- $[9] = selectedLocales;
106
- $[10] = t1;
107
- $[11] = versionValue;
108
- $[12] = t2;
106
+ $[6] = config;
107
+ $[7] = field;
108
+ $[8] = i18n;
109
+ $[9] = maxRows;
110
+ $[10] = selectedLocales;
111
+ $[11] = t1;
112
+ $[12] = versionValue;
113
+ $[13] = t2;
109
114
  } else {
110
- t2 = $[12];
115
+ t2 = $[13];
111
116
  }
112
117
  return t2;
113
118
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","useTranslation","fieldIsArrayType","fieldIsBlockType","React","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","getFieldsForRowComparison","baseClass","Iterable","t0","$","baseVersionField","comparisonValue","field","locale","versionValue","i18n","selectedLocales","versionRowCount","Array","isArray","length","comparisonRowCount","maxRows","Math","max","Error","type","t1","label","_jsxs","children","_jsx","className","t2","comparison","isIterable","version","from","keys","map","row","i","versionRow","comparisonRow","fields","versionFields","rowNumber","String","padStart","rowLabel","locales","t","labels","plural"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldDiffClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useTranslation } from '@payloadcms/ui'\n\nimport './index.scss'\n\nimport { fieldIsArrayType, fieldIsBlockType } from 'payload/shared'\nimport React from 'react'\n\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\nimport { getFieldsForRowComparison } from '../../utilities/getFieldsForRowComparison.js'\n\nconst baseClass = 'iterable-diff'\n\nexport const Iterable: React.FC<FieldDiffClientProps> = ({\n baseVersionField,\n comparisonValue,\n field,\n locale,\n versionValue,\n}) => {\n const { i18n } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n\n const versionRowCount = Array.isArray(versionValue) ? versionValue.length : 0\n const comparisonRowCount = Array.isArray(comparisonValue) ? comparisonValue.length : 0\n const maxRows = Math.max(versionRowCount, comparisonRowCount)\n\n if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {\n throw new Error(`Expected field to be an array or blocks type but got: ${field.type}`)\n }\n\n return (\n <div className={baseClass}>\n <DiffCollapser\n comparison={comparisonValue}\n field={field}\n isIterable\n label={\n 'label' in field &&\n field.label &&\n typeof field.label !== 'function' && (\n <span>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.label, i18n)}\n </span>\n )\n }\n locales={selectedLocales}\n version={versionValue}\n >\n {maxRows > 0 && (\n <div className={`${baseClass}__rows`}>\n {Array.from(Array(maxRows).keys()).map((row, i) => {\n const versionRow = versionValue?.[i] || {}\n const comparisonRow = comparisonValue?.[i] || {}\n\n const { fields, versionFields } = getFieldsForRowComparison({\n baseVersionField,\n comparisonRow,\n field,\n row: i,\n versionRow,\n })\n\n const rowNumber = String(i + 1).padStart(2, '0')\n const rowLabel = fieldIsArrayType(field) ? `Item ${rowNumber}` : `Block ${rowNumber}`\n\n return (\n <div className={`${baseClass}__row`} key={i}>\n <DiffCollapser\n comparison={comparisonRow}\n fields={fields}\n label={rowLabel}\n locales={selectedLocales}\n version={versionRow}\n >\n <RenderVersionFieldsToDiff versionFields={versionFields} />\n </DiffCollapser>\n </div>\n )\n })}\n </div>\n )}\n {maxRows === 0 && (\n <div className={`${baseClass}__no-rows`}>\n {i18n.t('version:noRowsFound', {\n label:\n 'labels' in field && field.labels?.plural\n ? getTranslation(field.labels.plural, i18n)\n : i18n.t('general:rows'),\n })}\n </div>\n )}\n </DiffCollapser>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","useConfig","useTranslation","fieldIsArrayType","fieldIsBlockType","React","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","getFieldsForRowComparison","baseClass","Iterable","t0","$","baseVersionField","comparisonValue","field","locale","versionValue","i18n","selectedLocales","config","versionRowCount","Array","isArray","length","comparisonRowCount","maxRows","Math","max","Error","type","t1","label","_jsxs","children","_jsx","className","t2","comparison","isIterable","version","from","keys","map","row","i","versionRow","comparisonRow","fields","versionFields","rowNumber","String","padStart","rowLabel","locales","t","labels","plural"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldDiffClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig, useTranslation } from '@payloadcms/ui'\n\nimport './index.scss'\n\nimport { fieldIsArrayType, fieldIsBlockType } from 'payload/shared'\nimport React from 'react'\n\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\nimport { getFieldsForRowComparison } from '../../utilities/getFieldsForRowComparison.js'\n\nconst baseClass = 'iterable-diff'\n\nexport const Iterable: React.FC<FieldDiffClientProps> = ({\n baseVersionField,\n comparisonValue,\n field,\n locale,\n versionValue,\n}) => {\n const { i18n } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n const { config } = useConfig()\n\n const versionRowCount = Array.isArray(versionValue) ? versionValue.length : 0\n const comparisonRowCount = Array.isArray(comparisonValue) ? comparisonValue.length : 0\n const maxRows = Math.max(versionRowCount, comparisonRowCount)\n\n if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {\n throw new Error(`Expected field to be an array or blocks type but got: ${field.type}`)\n }\n\n return (\n <div className={baseClass}>\n <DiffCollapser\n comparison={comparisonValue}\n field={field}\n isIterable\n label={\n 'label' in field &&\n field.label &&\n typeof field.label !== 'function' && (\n <span>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.label, i18n)}\n </span>\n )\n }\n locales={selectedLocales}\n version={versionValue}\n >\n {maxRows > 0 && (\n <div className={`${baseClass}__rows`}>\n {Array.from(Array(maxRows).keys()).map((row, i) => {\n const versionRow = versionValue?.[i] || {}\n const comparisonRow = comparisonValue?.[i] || {}\n\n const { fields, versionFields } = getFieldsForRowComparison({\n baseVersionField,\n comparisonRow,\n config,\n field,\n row: i,\n versionRow,\n })\n\n const rowNumber = String(i + 1).padStart(2, '0')\n const rowLabel = fieldIsArrayType(field) ? `Item ${rowNumber}` : `Block ${rowNumber}`\n\n return (\n <div className={`${baseClass}__row`} key={i}>\n <DiffCollapser\n comparison={comparisonRow}\n fields={fields}\n label={rowLabel}\n locales={selectedLocales}\n version={versionRow}\n >\n <RenderVersionFieldsToDiff versionFields={versionFields} />\n </DiffCollapser>\n </div>\n )\n })}\n </div>\n )}\n {maxRows === 0 && (\n <div className={`${baseClass}__no-rows`}>\n {i18n.t('version:noRowsFound', {\n label:\n 'labels' in field && field.labels?.plural\n ? getTranslation(field.labels.plural, i18n)\n : i18n.t('general:rows'),\n })}\n </div>\n )}\n </DiffCollapser>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
- import type { ArrayFieldClient, BlocksFieldClient, ClientField } from 'payload';
1
+ import type { ArrayFieldClient, BlocksFieldClient, ClientConfig, ClientField } from 'payload';
2
2
  type Args = {
3
3
  comparison: unknown;
4
+ config: ClientConfig;
4
5
  fields: ClientField[];
5
6
  locales: string[] | undefined;
6
7
  version: unknown;
@@ -9,13 +10,14 @@ type Args = {
9
10
  * Recursively counts the number of changed fields between comparison and
10
11
  * version data for a given set of fields.
11
12
  */
12
- export declare function countChangedFields({ comparison, fields, locales, version }: Args): number;
13
+ export declare function countChangedFields({ comparison, config, fields, locales, version }: Args): number;
13
14
  type countChangedFieldsInRowsArgs = {
14
15
  comparisonRows: unknown[];
16
+ config: ClientConfig;
15
17
  field: ArrayFieldClient | BlocksFieldClient;
16
18
  locales: string[] | undefined;
17
19
  versionRows: unknown[];
18
20
  };
19
- export declare function countChangedFieldsInRows({ comparisonRows, field, locales, versionRows, }: countChangedFieldsInRowsArgs): number;
21
+ export declare function countChangedFieldsInRows({ comparisonRows, config, field, locales, versionRows, }: countChangedFieldsInRowsArgs): number;
20
22
  export {};
21
23
  //# sourceMappingURL=countChangedFields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"countChangedFields.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/countChangedFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAK/E,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,OAAO,CAAA;IACnB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,UA8IhF;AAED,KAAK,4BAA4B,GAAG;IAClC,cAAc,EAAE,OAAO,EAAE,CAAA;IACzB,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAA;IAC3C,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,WAAW,EAAE,OAAO,EAAE,CAAA;CACvB,CAAA;AAED,wBAAgB,wBAAwB,CAAC,EACvC,cAAmB,EACnB,KAAK,EACL,OAAO,EACP,WAAgB,GACjB,EAAE,4BAA4B,UA0B9B"}
1
+ {"version":3,"file":"countChangedFields.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/countChangedFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAK7F,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,OAAO,CAAA;IACnB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,UA0JxF;AAED,KAAK,4BAA4B,GAAG;IAClC,cAAc,EAAE,OAAO,EAAE,CAAA;IACzB,MAAM,EAAE,YAAY,CAAA;IACpB,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAA;IAC3C,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,WAAW,EAAE,OAAO,EAAE,CAAA;CACvB,CAAA;AAED,wBAAgB,wBAAwB,CAAC,EACvC,cAAmB,EACnB,MAAM,EACN,KAAK,EACL,OAAO,EACP,WAAgB,GACjB,EAAE,4BAA4B,UA4B9B"}
@@ -6,6 +6,7 @@ import { getFieldsForRowComparison } from './getFieldsForRowComparison.js';
6
6
  */
7
7
  export function countChangedFields({
8
8
  comparison,
9
+ config,
9
10
  fields,
10
11
  locales,
11
12
  version
@@ -29,6 +30,7 @@ export function countChangedFields({
29
30
  const versionRows = version?.[field.name]?.[locale] ?? [];
30
31
  count += countChangedFieldsInRows({
31
32
  comparisonRows,
33
+ config,
32
34
  field,
33
35
  locales,
34
36
  versionRows
@@ -39,6 +41,7 @@ export function countChangedFields({
39
41
  const versionRows = version?.[field.name] ?? [];
40
42
  count += countChangedFieldsInRows({
41
43
  comparisonRows,
44
+ config,
42
45
  field,
43
46
  locales,
44
47
  versionRows
@@ -81,6 +84,7 @@ export function countChangedFields({
81
84
  {
82
85
  count += countChangedFields({
83
86
  comparison,
87
+ config,
84
88
  fields: field.fields,
85
89
  locales,
86
90
  version
@@ -94,6 +98,7 @@ export function countChangedFields({
94
98
  locales.forEach(locale => {
95
99
  count += countChangedFields({
96
100
  comparison: comparison?.[field.name]?.[locale],
101
+ config,
97
102
  fields: field.fields,
98
103
  locales,
99
104
  version: version?.[field.name]?.[locale]
@@ -102,6 +107,7 @@ export function countChangedFields({
102
107
  } else {
103
108
  count += countChangedFields({
104
109
  comparison: comparison?.[field.name],
110
+ config,
105
111
  fields: field.fields,
106
112
  locales,
107
113
  version: version?.[field.name]
@@ -119,6 +125,7 @@ export function countChangedFields({
119
125
  locales.forEach(locale => {
120
126
  count += countChangedFields({
121
127
  comparison: comparison?.[tab.name]?.[locale],
128
+ config,
122
129
  fields: tab.fields,
123
130
  locales,
124
131
  version: version?.[tab.name]?.[locale]
@@ -128,6 +135,7 @@ export function countChangedFields({
128
135
  // Named tab
129
136
  count += countChangedFields({
130
137
  comparison: comparison?.[tab.name],
138
+ config,
131
139
  fields: tab.fields,
132
140
  locales,
133
141
  version: version?.[tab.name]
@@ -136,6 +144,7 @@ export function countChangedFields({
136
144
  // Unnamed tab
137
145
  count += countChangedFields({
138
146
  comparison,
147
+ config,
139
148
  fields: tab.fields,
140
149
  locales,
141
150
  version
@@ -161,6 +170,7 @@ export function countChangedFields({
161
170
  }
162
171
  export function countChangedFieldsInRows({
163
172
  comparisonRows = [],
173
+ config,
164
174
  field,
165
175
  locales,
166
176
  versionRows = []
@@ -180,12 +190,14 @@ export function countChangedFieldsInRows({
180
190
  schemaPath: ''
181
191
  },
182
192
  comparisonRow,
193
+ config,
183
194
  field,
184
195
  row: i,
185
196
  versionRow
186
197
  });
187
198
  count += countChangedFields({
188
199
  comparison: comparisonRow,
200
+ config,
189
201
  fields: rowFields,
190
202
  locales,
191
203
  version: versionRow