@payloadcms/next 3.20.0-canary.9f2bca1 → 3.20.0-canary.a7d4b94

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 (135) hide show
  1. package/dist/prod/styles.css +1 -1
  2. package/dist/views/Account/index.d.ts.map +1 -1
  3. package/dist/views/Account/index.js +2 -1
  4. package/dist/views/Account/index.js.map +1 -1
  5. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  6. package/dist/views/CreateFirstUser/index.client.js +4 -2
  7. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  8. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  9. package/dist/views/CreateFirstUser/index.js +2 -1
  10. package/dist/views/CreateFirstUser/index.js.map +1 -1
  11. package/dist/views/Document/getDocumentPermissions.js +2 -2
  12. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  13. package/dist/views/Document/index.d.ts.map +1 -1
  14. package/dist/views/Document/index.js +2 -1
  15. package/dist/views/Document/index.js.map +1 -1
  16. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  17. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +2 -0
  18. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  19. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  20. package/dist/views/LivePreview/index.client.js +5 -2
  21. package/dist/views/LivePreview/index.client.js.map +1 -1
  22. package/dist/views/Version/Default/SelectedLocalesContext.d.ts +8 -0
  23. package/dist/views/Version/Default/SelectedLocalesContext.d.ts.map +1 -0
  24. package/dist/views/Version/Default/SelectedLocalesContext.js +10 -0
  25. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -0
  26. package/dist/views/Version/Default/index.d.ts.map +1 -1
  27. package/dist/views/Version/Default/index.js +89 -159
  28. package/dist/views/Version/Default/index.js.map +1 -1
  29. package/dist/views/Version/Default/types.d.ts +4 -4
  30. package/dist/views/Version/Default/types.d.ts.map +1 -1
  31. package/dist/views/Version/Default/types.js.map +1 -1
  32. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +27 -0
  33. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -0
  34. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +76 -0
  35. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -0
  36. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +46 -0
  37. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts +6 -0
  38. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -0
  39. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +34 -0
  40. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -0
  41. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts +30 -0
  42. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -0
  43. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +288 -0
  44. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -0
  45. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.d.ts +4 -0
  46. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.d.ts.map +1 -0
  47. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +64 -0
  48. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -0
  49. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts +5 -0
  50. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts.map +1 -0
  51. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +69 -0
  52. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -0
  53. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +14 -0
  54. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts +3 -4
  55. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  56. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +100 -63
  57. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  58. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +3 -12
  59. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +2 -4
  60. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
  61. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +18 -17
  62. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  63. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.d.ts +4 -0
  64. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.d.ts.map +1 -0
  65. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -0
  66. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -0
  67. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +2 -4
  68. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  69. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +56 -28
  70. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  71. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +3 -4
  72. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  73. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +146 -42
  74. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  75. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +20 -0
  76. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts +2 -4
  77. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  78. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +71 -37
  79. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  80. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +2 -22
  81. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  82. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +13 -9
  83. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  84. package/dist/views/Version/RenderFieldsToDiff/index.d.ts +2 -5
  85. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  86. package/dist/views/Version/RenderFieldsToDiff/index.js +8 -114
  87. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  88. package/dist/views/Version/RenderFieldsToDiff/types.d.ts +2 -20
  89. package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  90. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  91. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts +21 -0
  92. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -0
  93. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +194 -0
  94. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -0
  95. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +860 -0
  96. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -0
  97. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.d.ts +2 -0
  98. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.d.ts.map +1 -0
  99. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +4 -0
  100. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -0
  101. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +46 -0
  102. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -0
  103. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.d.ts +27 -0
  104. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.d.ts.map +1 -0
  105. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js +26 -0
  106. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js.map +1 -0
  107. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +18 -0
  108. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -0
  109. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +44 -0
  110. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -0
  111. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +122 -0
  112. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -0
  113. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  114. package/dist/views/Version/Restore/index.js +2 -2
  115. package/dist/views/Version/Restore/index.js.map +1 -1
  116. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  117. package/dist/views/Version/SelectComparison/index.js +7 -3
  118. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  119. package/dist/views/Version/index.d.ts.map +1 -1
  120. package/dist/views/Version/index.js +103 -13
  121. package/dist/views/Version/index.js.map +1 -1
  122. package/dist/views/Versions/getLatestVersion.d.ts +1 -0
  123. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -1
  124. package/dist/views/Versions/getLatestVersion.js +2 -0
  125. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  126. package/package.json +7 -7
  127. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts +0 -6
  128. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts.map +0 -1
  129. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +0 -43
  130. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +0 -1
  131. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.scss +0 -14
  132. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +0 -22
  133. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +0 -1
  134. package/dist/views/Version/RenderFieldsToDiff/fields/types.js +0 -2
  135. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +0 -1
@@ -0,0 +1,76 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ChevronIcon, Pill, useTranslation } from '@payloadcms/ui';
3
+ import { fieldIsArrayType, fieldIsBlockType } from 'payload/shared';
4
+ import React, { useState } from 'react';
5
+ import Label from '../Label/index.js';
6
+ import { countChangedFields, countChangedFieldsInRows } from '../utilities/countChangedFields.js';
7
+ 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
+ }) => {
19
+ const {
20
+ t
21
+ } = useTranslation();
22
+ 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');
27
+ }
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');
32
+ }
33
+ changeCount = countChangedFieldsInRows({
34
+ comparisonRows,
35
+ field,
36
+ locales,
37
+ versionRows
38
+ });
39
+ } else {
40
+ changeCount = countChangedFields({
41
+ comparison,
42
+ fields,
43
+ locales,
44
+ version
45
+ });
46
+ }
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
+ });
75
+ };
76
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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":[]}
@@ -0,0 +1,46 @@
1
+ @layer payload-default {
2
+ .diff-collapser {
3
+ &__toggle-button {
4
+ all: unset;
5
+ cursor: pointer;
6
+ // Align the chevron visually with the label text
7
+ vertical-align: 1px;
8
+ }
9
+
10
+ &__label {
11
+ // Add space between label, chevron, and change count
12
+ margin: 0 calc(var(--base) * 0.25);
13
+ }
14
+
15
+ &__field-change-count {
16
+ // Reset the font weight of the change count to normal
17
+ font-weight: normal;
18
+ }
19
+
20
+ &__content {
21
+ [dir='ltr'] & {
22
+ // Vertical gutter
23
+ border-left: 3px solid var(--theme-elevation-50);
24
+ // Center-align the gutter with the chevron
25
+ margin-left: 3px;
26
+ // Content indentation
27
+ padding-left: calc(var(--base) * 0.5);
28
+ }
29
+ [dir='rtl'] & {
30
+ // Vertical gutter
31
+ border-right: 3px solid var(--theme-elevation-50);
32
+ // Center-align the gutter with the chevron
33
+ margin-right: 3px;
34
+ // Content indentation
35
+ padding-right: calc(var(--base) * 0.5);
36
+ }
37
+ }
38
+
39
+ &__content--is-collapsed {
40
+ // Hide the content when collapsed. We use display: none instead of
41
+ // conditional rendering to avoid loosing children's collapsed state when
42
+ // remounting.
43
+ display: none;
44
+ }
45
+ }
46
+ }
@@ -0,0 +1,6 @@
1
+ import type { VersionField } from 'payload';
2
+ import './index.scss';
3
+ export declare const RenderVersionFieldsToDiff: ({ versionFields, }: {
4
+ versionFields: VersionField[];
5
+ }) => React.ReactNode;
6
+ //# sourceMappingURL=RenderVersionFieldsToDiff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderVersionFieldsToDiff.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,yBAAyB,uBAEnC;IACD,aAAa,EAAE,YAAY,EAAE,CAAA;CAC9B,KAAG,KAAK,CAAC,SA8BT,CAAA"}
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ const baseClass = 'render-field-diffs';
3
+ export const RenderVersionFieldsToDiff = ({
4
+ versionFields
5
+ }) => {
6
+ return /*#__PURE__*/_jsx("div", {
7
+ className: baseClass,
8
+ children: versionFields?.map((field, fieldIndex) => {
9
+ if (field.fieldByLocale) {
10
+ const LocaleComponents = [];
11
+ for (const [locale, baseField] of Object.entries(field.fieldByLocale)) {
12
+ LocaleComponents.push(/*#__PURE__*/_jsx("div", {
13
+ className: `${baseClass}__locale`,
14
+ children: /*#__PURE__*/_jsx("div", {
15
+ className: `${baseClass}__locale-value`,
16
+ children: baseField.CustomComponent
17
+ })
18
+ }, [locale, fieldIndex].join('-')));
19
+ }
20
+ return /*#__PURE__*/_jsx("div", {
21
+ className: `${baseClass}__field`,
22
+ children: LocaleComponents
23
+ }, fieldIndex);
24
+ } else if (field.field) {
25
+ return /*#__PURE__*/_jsx("div", {
26
+ className: `${baseClass}__field field__${field.type}`,
27
+ children: field.field.CustomComponent
28
+ }, fieldIndex);
29
+ }
30
+ return null;
31
+ })
32
+ });
33
+ };
34
+ //# sourceMappingURL=RenderVersionFieldsToDiff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderVersionFieldsToDiff.js","names":["baseClass","RenderVersionFieldsToDiff","versionFields","_jsx","className","map","field","fieldIndex","fieldByLocale","LocaleComponents","locale","baseField","Object","entries","push","CustomComponent","join","type"],"sources":["../../../../src/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.tsx"],"sourcesContent":["const baseClass = 'render-field-diffs'\nimport type { VersionField } from 'payload'\n\nimport './index.scss'\n\nexport const RenderVersionFieldsToDiff = ({\n versionFields,\n}: {\n versionFields: VersionField[]\n}): React.ReactNode => {\n return (\n <div className={baseClass}>\n {versionFields?.map((field, fieldIndex) => {\n if (field.fieldByLocale) {\n const LocaleComponents: React.ReactNode[] = []\n for (const [locale, baseField] of Object.entries(field.fieldByLocale)) {\n LocaleComponents.push(\n <div className={`${baseClass}__locale`} key={[locale, fieldIndex].join('-')}>\n <div className={`${baseClass}__locale-value`}>{baseField.CustomComponent}</div>\n </div>,\n )\n }\n return (\n <div className={`${baseClass}__field`} key={fieldIndex}>\n {LocaleComponents}\n </div>\n )\n } else if (field.field) {\n return (\n <div className={`${baseClass}__field field__${field.type}`} key={fieldIndex}>\n {field.field.CustomComponent}\n </div>\n )\n }\n\n return null\n })}\n </div>\n )\n}\n"],"mappings":";AAAA,MAAMA,SAAA,GAAY;AAKlB,OAAO,MAAMC,yBAAA,GAA4BA,CAAC;EACxCC;AAAa,CAGd;EACC,oBACEC,IAAA,CAAC;IAAIC,SAAA,EAAWJ,SAAA;cACbE,aAAA,EAAeG,GAAA,CAAI,CAACC,KAAA,EAAOC,UAAA;MAC1B,IAAID,KAAA,CAAME,aAAa,EAAE;QACvB,MAAMC,gBAAA,GAAsC,EAAE;QAC9C,KAAK,MAAM,CAACC,MAAA,EAAQC,SAAA,CAAU,IAAIC,MAAA,CAAOC,OAAO,CAACP,KAAA,CAAME,aAAa,GAAG;UACrEC,gBAAA,CAAiBK,IAAI,cACnBX,IAAA,CAAC;YAAIC,SAAA,EAAW,GAAGJ,SAAA,UAAmB;sBACpC,aAAAG,IAAA,CAAC;cAAIC,SAAA,EAAW,GAAGJ,SAAA,gBAAyB;wBAAGW,SAAA,CAAUI;;aADd,CAACL,MAAA,EAAQH,UAAA,CAAW,CAACS,IAAI,CAAC;QAI3E;QACA,oBACEb,IAAA,CAAC;UAAIC,SAAA,EAAW,GAAGJ,SAAA,SAAkB;oBAClCS;WADyCF,UAAA;MAIhD,OAAO,IAAID,KAAA,CAAMA,KAAK,EAAE;QACtB,oBACEH,IAAA,CAAC;UAAIC,SAAA,EAAW,GAAGJ,SAAA,kBAA2BM,KAAA,CAAMW,IAAI,EAAE;oBACvDX,KAAA,CAAMA,KAAK,CAACS;WADkDR,UAAA;MAIrE;MAEA,OAAO;IACT;;AAGN","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ import type { I18nClient } from '@payloadcms/translations';
2
+ import type { ClientFieldSchemaMap, DiffComponentProps, DiffComponentServerProps, Field, FieldTypes, PayloadComponent, PayloadRequest, SanitizedFieldPermissions, VersionField } from 'payload';
3
+ export type BuildVersionFieldsArgs = {
4
+ clientSchemaMap: ClientFieldSchemaMap;
5
+ comparisonSiblingData: object;
6
+ customDiffComponents: Partial<Record<FieldTypes, PayloadComponent<DiffComponentServerProps, DiffComponentProps>>>;
7
+ entitySlug: string;
8
+ fieldPermissions: {
9
+ [key: string]: SanitizedFieldPermissions;
10
+ } | true;
11
+ fields: Field[];
12
+ i18n: I18nClient;
13
+ parentIndexPath: string;
14
+ parentPath: string;
15
+ parentSchemaPath: string;
16
+ req: PayloadRequest;
17
+ selectedLocales: string[];
18
+ versionSiblingData: object;
19
+ };
20
+ /**
21
+ * Build up an object that contains rendered diff components for each field.
22
+ * This is then sent to the client to be rendered.
23
+ *
24
+ * Here, the server is responsible for traversing through the document data and building up this
25
+ * version state object.
26
+ */
27
+ export declare const buildVersionFields: ({ clientSchemaMap, comparisonSiblingData, customDiffComponents, entitySlug, fieldPermissions, fields, i18n, parentIndexPath, parentPath, parentSchemaPath, req, selectedLocales, versionSiblingData, }: BuildVersionFieldsArgs) => {
28
+ versionFields: VersionField[];
29
+ };
30
+ //# sourceMappingURL=buildVersionFields.d.ts.map
@@ -0,0 +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,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,EACL,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,YAAY,EACb,MAAM,SAAS,CAAA;AAUhB,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,wBAAwB,EAAE,kBAAkB,CAAC,CAAC,CACnF,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,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,2MAc5B,sBAAsB,KAAG;IAC1B,aAAa,EAAE,YAAY,EAAE,CAAA;CAiF9B,CAAA"}
@@ -0,0 +1,288 @@
1
+ import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
2
+ import { fieldIsID, getUniqueListBy, tabHasName } from 'payload/shared';
3
+ import { diffMethods } from './fields/diffMethods.js';
4
+ import { diffComponents } from './fields/index.js';
5
+ import { getFieldPathsModified } from './utilities/getFieldPathsModified.js';
6
+ /**
7
+ * Build up an object that contains rendered diff components for each field.
8
+ * This is then sent to the client to be rendered.
9
+ *
10
+ * Here, the server is responsible for traversing through the document data and building up this
11
+ * version state object.
12
+ */
13
+ export const buildVersionFields = ({
14
+ clientSchemaMap,
15
+ comparisonSiblingData,
16
+ customDiffComponents,
17
+ entitySlug,
18
+ fieldPermissions,
19
+ fields,
20
+ i18n,
21
+ parentIndexPath,
22
+ parentPath,
23
+ parentSchemaPath,
24
+ req,
25
+ selectedLocales,
26
+ versionSiblingData
27
+ }) => {
28
+ const versionFields = [];
29
+ let fieldIndex = -1;
30
+ for (const field of fields) {
31
+ fieldIndex++;
32
+ if (fieldIsID(field)) {
33
+ continue;
34
+ }
35
+ const {
36
+ indexPath,
37
+ path,
38
+ schemaPath
39
+ } = getFieldPathsModified({
40
+ field,
41
+ index: fieldIndex,
42
+ parentIndexPath: 'name' in field ? '' : parentIndexPath,
43
+ parentPath,
44
+ parentSchemaPath
45
+ });
46
+ const clientField = clientSchemaMap.get(entitySlug + '.' + schemaPath);
47
+ const versionField = {
48
+ type: field.type
49
+ };
50
+ const isLocalized = 'localized' in field && field.localized;
51
+ const fieldName = 'name' in field ? field.name : null;
52
+ const versionValue = fieldName ? versionSiblingData?.[fieldName] : versionSiblingData;
53
+ const comparisonValue = fieldName ? comparisonSiblingData?.[fieldName] : comparisonSiblingData;
54
+ if (isLocalized) {
55
+ versionField.fieldByLocale = {};
56
+ for (const locale of selectedLocales) {
57
+ versionField.fieldByLocale[locale] = buildVersionField({
58
+ clientField: clientField,
59
+ clientSchemaMap,
60
+ comparisonValue: comparisonValue?.[locale],
61
+ customDiffComponents,
62
+ entitySlug,
63
+ field,
64
+ fieldPermissions,
65
+ i18n,
66
+ indexPath,
67
+ locale,
68
+ parentPath,
69
+ parentSchemaPath,
70
+ path,
71
+ req,
72
+ schemaPath,
73
+ selectedLocales,
74
+ versionValue: versionValue?.[locale]
75
+ });
76
+ }
77
+ } else {
78
+ versionField.field = buildVersionField({
79
+ clientField: clientField,
80
+ clientSchemaMap,
81
+ comparisonValue,
82
+ customDiffComponents,
83
+ entitySlug,
84
+ field,
85
+ fieldPermissions,
86
+ i18n,
87
+ indexPath,
88
+ parentPath,
89
+ parentSchemaPath,
90
+ path,
91
+ req,
92
+ schemaPath,
93
+ selectedLocales,
94
+ versionValue
95
+ });
96
+ }
97
+ versionFields.push(versionField);
98
+ }
99
+ return {
100
+ versionFields
101
+ };
102
+ };
103
+ const buildVersionField = ({
104
+ clientField,
105
+ clientSchemaMap,
106
+ comparisonValue,
107
+ customDiffComponents,
108
+ entitySlug,
109
+ field,
110
+ fieldPermissions,
111
+ i18n,
112
+ indexPath,
113
+ locale,
114
+ parentPath,
115
+ parentSchemaPath,
116
+ path,
117
+ req,
118
+ schemaPath,
119
+ selectedLocales,
120
+ versionValue
121
+ }) => {
122
+ const fieldName = 'name' in field ? field.name : null;
123
+ const diffMethod = diffMethods[field.type] || 'CHARS';
124
+ const hasPermission = fieldPermissions === true || !fieldName || fieldPermissions?.[fieldName] === true || fieldPermissions?.[fieldName]?.read;
125
+ const subFieldPermissions = fieldPermissions === true || !fieldName || fieldPermissions?.[fieldName] === true || fieldPermissions?.[fieldName]?.fields;
126
+ if (!hasPermission) {
127
+ return null;
128
+ }
129
+ const CustomComponent = field?.admin?.components?.Diff ?? customDiffComponents?.[field.type];
130
+ const DefaultComponent = diffComponents?.[field.type];
131
+ const baseVersionField = {
132
+ fields: []
133
+ };
134
+ if (field.type === 'tabs' && 'tabs' in field) {
135
+ baseVersionField.tabs = [];
136
+ let tabIndex = -1;
137
+ for (const tab of field.tabs) {
138
+ tabIndex++;
139
+ const isNamedTab = tabHasName(tab);
140
+ const {
141
+ indexPath: tabIndexPath,
142
+ path: tabPath,
143
+ schemaPath: tabSchemaPath
144
+ } = getFieldPathsModified({
145
+ field: {
146
+ ...tab,
147
+ type: 'tab'
148
+ },
149
+ index: tabIndex,
150
+ parentIndexPath: indexPath,
151
+ parentPath,
152
+ parentSchemaPath
153
+ });
154
+ baseVersionField.tabs.push({
155
+ name: 'name' in tab ? tab.name : null,
156
+ fields: buildVersionFields({
157
+ clientSchemaMap,
158
+ comparisonSiblingData: 'name' in tab ? comparisonValue?.[tab.name] : comparisonValue,
159
+ customDiffComponents,
160
+ entitySlug,
161
+ fieldPermissions,
162
+ fields: tab.fields,
163
+ i18n,
164
+ parentIndexPath: isNamedTab ? '' : tabIndexPath,
165
+ parentPath: tabPath,
166
+ parentSchemaPath: tabSchemaPath,
167
+ req,
168
+ selectedLocales,
169
+ versionSiblingData: 'name' in tab ? versionValue?.[tab.name] : versionValue
170
+ }).versionFields,
171
+ label: tab.label
172
+ });
173
+ }
174
+ } else if ('fields' in field) {
175
+ if (field.type === 'array') {
176
+ if (!Array.isArray(versionValue)) {
177
+ throw new Error('Expected versionValue to be an array');
178
+ }
179
+ baseVersionField.rows = [];
180
+ for (let i = 0; i < versionValue.length; i++) {
181
+ const comparisonRow = comparisonValue?.[i] || {};
182
+ const versionRow = versionValue?.[i] || {};
183
+ baseVersionField.rows[i] = buildVersionFields({
184
+ clientSchemaMap,
185
+ comparisonSiblingData: comparisonRow,
186
+ customDiffComponents,
187
+ entitySlug,
188
+ fieldPermissions,
189
+ fields: field.fields,
190
+ i18n,
191
+ parentIndexPath: 'name' in field ? '' : indexPath,
192
+ parentPath: path + '.' + i,
193
+ parentSchemaPath: schemaPath,
194
+ req,
195
+ selectedLocales,
196
+ versionSiblingData: versionRow
197
+ }).versionFields;
198
+ }
199
+ } else {
200
+ baseVersionField.fields = buildVersionFields({
201
+ clientSchemaMap,
202
+ comparisonSiblingData: comparisonValue,
203
+ customDiffComponents,
204
+ entitySlug,
205
+ fieldPermissions,
206
+ fields: field.fields,
207
+ i18n,
208
+ parentIndexPath: 'name' in field ? '' : indexPath,
209
+ parentPath: path,
210
+ parentSchemaPath: schemaPath,
211
+ req,
212
+ selectedLocales,
213
+ versionSiblingData: versionValue
214
+ }).versionFields;
215
+ }
216
+ } else if (field.type === 'blocks') {
217
+ baseVersionField.rows = [];
218
+ if (!Array.isArray(versionValue)) {
219
+ throw new Error('Expected versionValue to be an array');
220
+ }
221
+ for (let i = 0; i < versionValue.length; i++) {
222
+ const comparisonRow = comparisonValue?.[i] || {};
223
+ const versionRow = versionValue[i] || {};
224
+ const versionBlock = field.blocks.find(block => block.slug === versionRow.blockType);
225
+ let fields = [];
226
+ if (versionRow.blockType === comparisonRow.blockType) {
227
+ fields = versionBlock.fields;
228
+ } else {
229
+ const comparisonBlock = field.blocks.find(block => block.slug === comparisonRow.blockType);
230
+ if (comparisonBlock) {
231
+ fields = getUniqueListBy([...versionBlock.fields, ...comparisonBlock.fields], 'name');
232
+ } else {
233
+ fields = versionBlock.fields;
234
+ }
235
+ }
236
+ baseVersionField.rows[i] = buildVersionFields({
237
+ clientSchemaMap,
238
+ comparisonSiblingData: comparisonRow,
239
+ customDiffComponents,
240
+ entitySlug,
241
+ fieldPermissions,
242
+ fields,
243
+ i18n,
244
+ parentIndexPath: 'name' in field ? '' : indexPath,
245
+ parentPath: path + '.' + i,
246
+ parentSchemaPath: schemaPath + '.' + versionBlock.slug,
247
+ req,
248
+ selectedLocales,
249
+ versionSiblingData: versionRow
250
+ }).versionFields;
251
+ }
252
+ }
253
+ const clientCellProps = {
254
+ baseVersionField: {
255
+ ...baseVersionField,
256
+ CustomComponent: undefined
257
+ },
258
+ comparisonValue,
259
+ diffMethod,
260
+ field: clientField,
261
+ fieldPermissions: subFieldPermissions,
262
+ versionValue
263
+ };
264
+ const serverCellProps = {
265
+ ...clientCellProps,
266
+ clientField,
267
+ field,
268
+ i18n,
269
+ req,
270
+ selectedLocales
271
+ };
272
+ baseVersionField.CustomComponent = RenderServerComponent({
273
+ clientProps: locale ? {
274
+ ...clientCellProps,
275
+ locale
276
+ } : clientCellProps,
277
+ Component: CustomComponent,
278
+ Fallback: DefaultComponent,
279
+ importMap: req.payload.importMap,
280
+ key: 'diff component',
281
+ serverProps: locale ? {
282
+ ...serverCellProps,
283
+ locale
284
+ } : serverCellProps
285
+ });
286
+ return baseVersionField;
287
+ };
288
+ //# sourceMappingURL=buildVersionFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildVersionFields.js","names":["RenderServerComponent","fieldIsID","getUniqueListBy","tabHasName","diffMethods","diffComponents","getFieldPathsModified","buildVersionFields","clientSchemaMap","comparisonSiblingData","customDiffComponents","entitySlug","fieldPermissions","fields","i18n","parentIndexPath","parentPath","parentSchemaPath","req","selectedLocales","versionSiblingData","versionFields","fieldIndex","field","indexPath","path","schemaPath","index","clientField","get","versionField","type","isLocalized","localized","fieldName","name","versionValue","comparisonValue","fieldByLocale","locale","buildVersionField","push","diffMethod","hasPermission","read","subFieldPermissions","CustomComponent","admin","components","Diff","DefaultComponent","baseVersionField","tabs","tabIndex","tab","isNamedTab","tabIndexPath","tabPath","tabSchemaPath","label","Array","isArray","Error","rows","i","length","comparisonRow","versionRow","versionBlock","blocks","find","block","slug","blockType","comparisonBlock","clientCellProps","undefined","serverCellProps","clientProps","Component","Fallback","importMap","payload","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 DiffComponentProps,\n DiffComponentServerProps,\n Field,\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 { 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<DiffComponentServerProps, DiffComponentProps>>\n >\n entitySlug: string\n fieldPermissions:\n | {\n [key: string]: SanitizedFieldPermissions\n }\n | true\n fields: Field[]\n i18n: I18nClient\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 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 const versionField: VersionField = {\n type: field.type,\n }\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 versionField.fieldByLocale[locale] = 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 parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n versionValue: versionValue?.[locale],\n })\n }\n } else {\n versionField.field = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n comparisonValue,\n customDiffComponents,\n entitySlug,\n field,\n fieldPermissions,\n i18n,\n indexPath,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n versionValue,\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 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 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 const CustomComponent = field?.admin?.components?.Diff ?? customDiffComponents?.[field.type]\n const DefaultComponent = diffComponents?.[field.type]\n\n const baseVersionField: BaseVersionField = {\n fields: [],\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 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') {\n if (!Array.isArray(versionValue)) {\n throw new Error('Expected versionValue to be an array')\n }\n baseVersionField.rows = []\n\n for (let i = 0; i < versionValue.length; i++) {\n const comparisonRow = comparisonValue?.[i] || {}\n const versionRow = versionValue?.[i] || {}\n baseVersionField.rows[i] = buildVersionFields({\n clientSchemaMap,\n comparisonSiblingData: comparisonRow,\n customDiffComponents,\n entitySlug,\n fieldPermissions,\n fields: field.fields,\n i18n,\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 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 if (!Array.isArray(versionValue)) {\n throw new Error('Expected versionValue to be an array')\n }\n\n for (let i = 0; i < versionValue.length; i++) {\n const comparisonRow = comparisonValue?.[i] || {}\n const versionRow = versionValue[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 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: DiffComponentProps = {\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: DiffComponentServerProps = {\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 DiffComponentProps)\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 DiffComponentServerProps)\n : serverCellProps,\n })\n\n return baseVersionField\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { CollapsibleFieldClient, DiffComponentProps } from 'payload';
2
+ import React from 'react';
3
+ export declare const Collapsible: React.FC<DiffComponentProps<CollapsibleFieldClient>>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Collapsible/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAIzE,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CA0B5E,CAAA"}
@@ -0,0 +1,64 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ import { getTranslation } from '@payloadcms/translations';
6
+ import { useTranslation } from '@payloadcms/ui';
7
+ import React from 'react';
8
+ import { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js';
9
+ import { DiffCollapser } from '../../DiffCollapser/index.js';
10
+ import { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js';
11
+ const baseClass = 'collapsible-diff';
12
+ export const Collapsible = t0 => {
13
+ const $ = _c(10);
14
+ const {
15
+ baseVersionField,
16
+ comparisonValue,
17
+ field,
18
+ versionValue
19
+ } = t0;
20
+ const {
21
+ i18n
22
+ } = useTranslation();
23
+ const {
24
+ selectedLocales
25
+ } = useSelectedLocales();
26
+ let t1;
27
+ if ($[0] !== field || $[1] !== i18n) {
28
+ t1 = "label" in field && field.label && typeof field.label !== "function" && _jsx("span", {
29
+ children: getTranslation(field.label, i18n)
30
+ });
31
+ $[0] = field;
32
+ $[1] = i18n;
33
+ $[2] = t1;
34
+ } else {
35
+ t1 = $[2];
36
+ }
37
+ let t2;
38
+ if ($[3] !== baseVersionField.fields || $[4] !== comparisonValue || $[5] !== field.fields || $[6] !== selectedLocales || $[7] !== t1 || $[8] !== versionValue) {
39
+ t2 = _jsx("div", {
40
+ className: baseClass,
41
+ children: _jsx(DiffCollapser, {
42
+ comparison: comparisonValue,
43
+ fields: field.fields,
44
+ label: t1,
45
+ locales: selectedLocales,
46
+ version: versionValue,
47
+ children: _jsx(RenderVersionFieldsToDiff, {
48
+ versionFields: baseVersionField.fields
49
+ })
50
+ })
51
+ });
52
+ $[3] = baseVersionField.fields;
53
+ $[4] = comparisonValue;
54
+ $[5] = field.fields;
55
+ $[6] = selectedLocales;
56
+ $[7] = t1;
57
+ $[8] = versionValue;
58
+ $[9] = t2;
59
+ } else {
60
+ t2 = $[9];
61
+ }
62
+ return t2;
63
+ };
64
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","useTranslation","React","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","baseClass","Collapsible","t0","$","baseVersionField","comparisonValue","field","versionValue","i18n","selectedLocales","t1","label","_jsx","children","t2","className","comparison","fields","version","versionFields"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Collapsible/index.tsx"],"sourcesContent":["'use client'\nimport type { CollapsibleFieldClient, DiffComponentProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\n\nconst baseClass = 'collapsible-diff'\n\nexport const Collapsible: React.FC<DiffComponentProps<CollapsibleFieldClient>> = ({\n baseVersionField,\n comparisonValue,\n field,\n versionValue,\n}) => {\n const { i18n } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n\n return (\n <div className={baseClass}>\n <DiffCollapser\n comparison={comparisonValue}\n fields={field.fields}\n label={\n 'label' in field &&\n field.label &&\n typeof field.label !== 'function' && <span>{getTranslation(field.label, i18n)}</span>\n }\n locales={selectedLocales}\n version={versionValue}\n >\n <RenderVersionFieldsToDiff versionFields={baseVersionField.fields} />\n </DiffCollapser>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,aAAa,QAAQ;AAC9B,SAASC,yBAAyB,QAAQ;AAE1C,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,WAAA,GAAoEC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW,gBAAA;IAAAC,eAAA;IAAAC,KAAA;IAAAC;EAAA,IAAAL,EAKjF;EACC;IAAAM;EAAA,IAAiBb,cAAA;EACjB;IAAAc;EAAA,IAA4BZ,kBAAA;EAAA,IAAAa,EAAA;EAAA,IAAAP,CAAA,QAAAG,KAAA,IAAAH,CAAA,QAAAK,IAAA;IAQpBE,EAAA,cAAWJ,KAAA,IACXA,KAAA,CAAAK,KAAW,IACX,OAAOL,KAAA,CAAAK,KAAA,KAAgB,cAAcC,IAAA,CAAC;MAAAC,QAAA,EAAMnB,cAAA,CAAeY,KAAA,CAAAK,KAAA,EAAaH,IAAA;IAAA,C;;;;;;;;;IAP9EM,EAAA,GAAAF,IAAA,CAAC;MAAAG,SAAA,EAAAf,SAAA;MAAAa,QAAA,EACCD,IAAA,CAAAd,aAAA;QAAAkB,UAAA,EACcX,eAAA;QAAAY,MAAA,EACJX,KAAA,CAAAW,MAAA;QAAAN,KAAA,EAEND,E;iBAIOD,eAAA;QAAAS,OAAA,EACAX,YAAA;QAAAM,QAAA,EAETD,IAAA,CAAAb,yBAAA;UAAAoB,aAAA,EAA0Cf,gBAAA,CAAAa;QAAA,C;;;;;;;;;;;;;SAZ9CH,E;CAgBJ","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import type { DiffComponentProps, GroupFieldClient } from 'payload';
2
+ import './index.scss';
3
+ import React from 'react';
4
+ export declare const Group: React.FC<DiffComponentProps<GroupFieldClient>>;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Group/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAInE,OAAO,cAAc,CAAA;AAGrB,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAgChE,CAAA"}