@payloadcms/next 3.19.0 → 3.20.0-canary.0e01b65

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 +36 -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 +300 -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 -113
  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 +30 -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 +117 -15
  121. package/dist/views/Version/index.js.map +1 -1
  122. package/dist/views/Versions/getLatestVersion.d.ts +4 -1
  123. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -1
  124. package/dist/views/Versions/getLatestVersion.js +6 -0
  125. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  126. package/package.json +8 -8
  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 @@
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"}
@@ -0,0 +1,69 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs } 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 = 'group-diff';
12
+ export const Group = t0 => {
13
+ const $ = _c(11);
14
+ const {
15
+ baseVersionField,
16
+ comparisonValue,
17
+ field,
18
+ locale,
19
+ versionValue
20
+ } = t0;
21
+ const {
22
+ i18n
23
+ } = useTranslation();
24
+ const {
25
+ selectedLocales
26
+ } = useSelectedLocales();
27
+ let t1;
28
+ if ($[0] !== field || $[1] !== i18n || $[2] !== locale) {
29
+ t1 = "label" in field && field.label && typeof field.label !== "function" && _jsxs("span", {
30
+ children: [locale && _jsx("span", {
31
+ className: `${baseClass}__locale-label`,
32
+ children: locale
33
+ }), getTranslation(field.label, i18n)]
34
+ });
35
+ $[0] = field;
36
+ $[1] = i18n;
37
+ $[2] = locale;
38
+ $[3] = t1;
39
+ } else {
40
+ t1 = $[3];
41
+ }
42
+ let t2;
43
+ if ($[4] !== baseVersionField.fields || $[5] !== comparisonValue || $[6] !== field.fields || $[7] !== selectedLocales || $[8] !== t1 || $[9] !== versionValue) {
44
+ t2 = _jsx("div", {
45
+ className: baseClass,
46
+ children: _jsx(DiffCollapser, {
47
+ comparison: comparisonValue,
48
+ fields: field.fields,
49
+ label: t1,
50
+ locales: selectedLocales,
51
+ version: versionValue,
52
+ children: _jsx(RenderVersionFieldsToDiff, {
53
+ versionFields: baseVersionField.fields
54
+ })
55
+ })
56
+ });
57
+ $[4] = baseVersionField.fields;
58
+ $[5] = comparisonValue;
59
+ $[6] = field.fields;
60
+ $[7] = selectedLocales;
61
+ $[8] = t1;
62
+ $[9] = versionValue;
63
+ $[10] = t2;
64
+ } else {
65
+ t2 = $[10];
66
+ }
67
+ return t2;
68
+ };
69
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","useTranslation","React","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","baseClass","Group","t0","$","baseVersionField","comparisonValue","field","locale","versionValue","i18n","selectedLocales","t1","label","_jsxs","children","_jsx","className","t2","comparison","fields","version","versionFields"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Group/index.tsx"],"sourcesContent":["'use client'\nimport type { DiffComponentProps, GroupFieldClient } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport './index.scss'\n\nimport { useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\n\nconst baseClass = 'group-diff'\n\nexport const Group: React.FC<DiffComponentProps<GroupFieldClient>> = ({\n baseVersionField,\n comparisonValue,\n field,\n locale,\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' && (\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 <RenderVersionFieldsToDiff versionFields={baseVersionField.fields} />\n </DiffCollapser>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAI/B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,aAAa,QAAQ;AAC9B,SAASC,yBAAyB,QAAQ;AAE1C,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,KAAA,GAAwDC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW,gBAAA;IAAAC,eAAA;IAAAC,KAAA;IAAAC,MAAA;IAAAC;EAAA,IAAAN,EAMrE;EACC;IAAAO;EAAA,IAAiBd,cAAA;EACjB;IAAAe;EAAA,IAA4Bb,kBAAA;EAAA,IAAAc,EAAA;EAAA,IAAAR,CAAA,QAAAG,KAAA,IAAAH,CAAA,QAAAM,IAAA,IAAAN,CAAA,QAAAI,MAAA;IAQpBI,EAAA,cAAWL,KAAA,IACXA,KAAA,CAAAM,KAAW,IACX,OAAON,KAAA,CAAAM,KAAA,KAAgB,cACrBC,KAAA,CAAC;MAAAC,QAAA,GACEP,MAAA,IAAUQ,IAAA,CAAC;QAAAC,SAAA,EAAgB,GAAAhB,SAAA,gBAA4B;QAAAc,QAAA,EAAGP;MAAA,C,GAC1Db,cAAA,CAAeY,KAAA,CAAAM,KAAA,EAAaH,IAAA;IAAA,C;;;;;;;;;;IAVvCQ,EAAA,GAAAF,IAAA,CAAC;MAAAC,SAAA,EAAAhB,SAAA;MAAAc,QAAA,EACCC,IAAA,CAAAjB,aAAA;QAAAoB,UAAA,EACcb,eAAA;QAAAc,MAAA,EACJb,KAAA,CAAAa,MAAA;QAAAP,KAAA,EAEND,E;iBASOD,eAAA;QAAAU,OAAA,EACAZ,YAAA;QAAAM,QAAA,EAETC,IAAA,CAAAhB,yBAAA;UAAAsB,aAAA,EAA0CjB,gBAAA,CAAAe;QAAA,C;;;;;;;;;;;;;SAjB9CF,E;CAqBJ","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ @layer payload-default {
2
+ .group-diff {
3
+ &__locale-label {
4
+ background: var(--theme-elevation-100);
5
+ padding: calc(var(--base) * 0.25);
6
+ [dir='ltr'] & {
7
+ margin-right: calc(var(--base) * 0.25);
8
+ }
9
+ [dir='rtl'] & {
10
+ margin-left: calc(var(--base) * 0.25);
11
+ }
12
+ }
13
+ }
14
+ }
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import type { DiffComponentProps } from '../types.js';
1
+ import type { DiffComponentProps } from 'payload';
3
2
  import './index.scss';
4
- declare const Iterable: React.FC<DiffComponentProps>;
5
- export default Iterable;
3
+ import React from 'react';
4
+ export declare const Iterable: React.FC<DiffComponentProps>;
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAIrD,OAAO,cAAc,CAAA;AAIrB,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAgG1C,CAAA;AAED,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAMjD,OAAO,cAAc,CAAA;AAErB,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAmFjD,CAAA"}
@@ -1,77 +1,114 @@
1
1
  'use client';
2
2
 
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
5
  import { getTranslation } from '@payloadcms/translations';
5
- import { getUniqueListBy } from 'payload/shared';
6
+ import { useTranslation } from '@payloadcms/ui';
7
+ import { fieldIsArrayType, fieldIsBlockType } from 'payload/shared';
6
8
  import React from 'react';
7
- import RenderFieldsToDiff from '../../index.js';
8
- import Label from '../../Label/index.js';
9
+ import { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js';
10
+ import { DiffCollapser } from '../../DiffCollapser/index.js';
11
+ import { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js';
12
+ import { getFieldsForRowComparison } from '../../utilities/getFieldsForRowComparison.js';
9
13
  const baseClass = 'iterable-diff';
10
- const Iterable = ({
11
- comparison,
12
- diffComponents,
13
- field,
14
- fieldPermissions,
15
- i18n,
16
- locale,
17
- locales,
18
- version
19
- }) => {
20
- const versionRowCount = Array.isArray(version) ? version.length : 0;
21
- const comparisonRowCount = Array.isArray(comparison) ? comparison.length : 0;
14
+ export const Iterable = t0 => {
15
+ const $ = _c(13);
16
+ const {
17
+ baseVersionField,
18
+ comparisonValue,
19
+ field,
20
+ locale,
21
+ versionValue
22
+ } = t0;
23
+ const {
24
+ i18n
25
+ } = useTranslation();
26
+ const {
27
+ selectedLocales
28
+ } = useSelectedLocales();
29
+ const versionRowCount = Array.isArray(versionValue) ? versionValue.length : 0;
30
+ const comparisonRowCount = Array.isArray(comparisonValue) ? comparisonValue.length : 0;
22
31
  const maxRows = Math.max(versionRowCount, comparisonRowCount);
23
- return /*#__PURE__*/_jsxs("div", {
24
- className: baseClass,
25
- children: ['label' in field && field.label && typeof field.label !== 'function' && /*#__PURE__*/_jsxs(Label, {
26
- children: [locale && /*#__PURE__*/_jsx("span", {
32
+ if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {
33
+ throw new Error(`Expected field to be an array or blocks type but got: ${field.type}`);
34
+ }
35
+ let t1;
36
+ if ($[0] !== field || $[1] !== i18n || $[2] !== locale) {
37
+ t1 = "label" in field && field.label && typeof field.label !== "function" && _jsxs("span", {
38
+ children: [locale && _jsx("span", {
27
39
  className: `${baseClass}__locale-label`,
28
40
  children: locale
29
41
  }), getTranslation(field.label, i18n)]
30
- }), maxRows > 0 && /*#__PURE__*/_jsx(React.Fragment, {
31
- children: Array.from(Array(maxRows).keys()).map((row, i) => {
32
- const versionRow = version?.[i] || {};
33
- const comparisonRow = comparison?.[i] || {};
34
- let fields = [];
35
- if (field.type === 'array' && 'fields' in field) {
36
- fields = field.fields;
37
- }
38
- if (field.type === 'blocks') {
39
- fields = [];
40
- if (versionRow?.blockType === comparisonRow?.blockType) {
41
- const matchedBlock = 'blocks' in field && field.blocks?.find(block => block.slug === versionRow?.blockType) || {
42
- fields: []
43
- };
44
- fields = [...fields, ...matchedBlock.fields];
45
- } else {
46
- const matchedVersionBlock = 'blocks' in field && field.blocks?.find(block => block.slug === versionRow?.blockType) || {
47
- fields: []
48
- };
49
- const matchedComparisonBlock = 'blocks' in field && field.blocks?.find(block => block.slug === comparisonRow?.blockType) || {
50
- fields: []
51
- };
52
- fields = getUniqueListBy([...fields, ...matchedVersionBlock.fields, ...matchedComparisonBlock.fields], 'name');
53
- }
54
- }
55
- return /*#__PURE__*/_jsx("div", {
56
- className: `${baseClass}__wrap`,
57
- children: /*#__PURE__*/_jsx(RenderFieldsToDiff, {
58
- comparison: comparisonRow,
59
- diffComponents: diffComponents,
60
- fieldPermissions: fieldPermissions,
61
- fields: fields,
62
- i18n: i18n,
63
- locales: locales,
64
- version: versionRow
42
+ });
43
+ $[0] = field;
44
+ $[1] = i18n;
45
+ $[2] = locale;
46
+ $[3] = t1;
47
+ } else {
48
+ t1 = $[3];
49
+ }
50
+ let t2;
51
+ if ($[4] !== baseVersionField || $[5] !== comparisonValue || $[6] !== field || $[7] !== i18n || $[8] !== maxRows || $[9] !== selectedLocales || $[10] !== t1 || $[11] !== versionValue) {
52
+ t2 = _jsx("div", {
53
+ className: baseClass,
54
+ children: _jsxs(DiffCollapser, {
55
+ comparison: comparisonValue,
56
+ field,
57
+ isIterable: true,
58
+ label: t1,
59
+ locales: selectedLocales,
60
+ version: versionValue,
61
+ children: [maxRows > 0 && _jsx("div", {
62
+ className: `${baseClass}__rows`,
63
+ children: Array.from(Array(maxRows).keys()).map((row, i) => {
64
+ const versionRow = versionValue?.[i] || {};
65
+ const comparisonRow = comparisonValue?.[i] || {};
66
+ const {
67
+ fields,
68
+ versionFields
69
+ } = getFieldsForRowComparison({
70
+ baseVersionField,
71
+ comparisonRow,
72
+ field,
73
+ row: i,
74
+ versionRow
75
+ });
76
+ const rowNumber = String(i + 1).padStart(2, "0");
77
+ const rowLabel = fieldIsArrayType(field) ? `Item ${rowNumber}` : `Block ${rowNumber}`;
78
+ return _jsx("div", {
79
+ className: `${baseClass}__row`,
80
+ children: _jsx(DiffCollapser, {
81
+ comparison: comparisonRow,
82
+ fields,
83
+ label: rowLabel,
84
+ locales: selectedLocales,
85
+ version: versionRow,
86
+ children: _jsx(RenderVersionFieldsToDiff, {
87
+ versionFields
88
+ })
89
+ })
90
+ }, i);
65
91
  })
66
- }, i);
67
- })
68
- }), maxRows === 0 && /*#__PURE__*/_jsx("div", {
69
- className: `${baseClass}__no-rows`,
70
- children: i18n.t('version:noRowsFound', {
71
- label: 'labels' in field && field.labels?.plural ? getTranslation(field.labels.plural, i18n) : i18n.t('general:rows')
92
+ }), maxRows === 0 && _jsx("div", {
93
+ className: `${baseClass}__no-rows`,
94
+ children: i18n.t("version:noRowsFound", {
95
+ label: "labels" in field && field.labels?.plural ? getTranslation(field.labels.plural, i18n) : i18n.t("general:rows")
96
+ })
97
+ })]
72
98
  })
73
- })]
74
- });
99
+ });
100
+ $[4] = baseVersionField;
101
+ $[5] = comparisonValue;
102
+ $[6] = field;
103
+ $[7] = i18n;
104
+ $[8] = maxRows;
105
+ $[9] = selectedLocales;
106
+ $[10] = t1;
107
+ $[11] = versionValue;
108
+ $[12] = t2;
109
+ } else {
110
+ t2 = $[12];
111
+ }
112
+ return t2;
75
113
  };
76
- export default Iterable;
77
114
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","getUniqueListBy","React","RenderFieldsToDiff","Label","baseClass","Iterable","comparison","diffComponents","field","fieldPermissions","i18n","locale","locales","version","versionRowCount","Array","isArray","length","comparisonRowCount","maxRows","Math","max","_jsxs","className","label","_jsx","Fragment","from","keys","map","row","i","versionRow","comparisonRow","fields","type","blockType","matchedBlock","blocks","find","block","slug","matchedVersionBlock","matchedComparisonBlock","t","labels","plural"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { getUniqueListBy } from 'payload/shared'\nimport React from 'react'\n\nimport type { DiffComponentProps } from '../types.js'\n\nimport RenderFieldsToDiff from '../../index.js'\nimport Label from '../../Label/index.js'\nimport './index.scss'\n\nconst baseClass = 'iterable-diff'\n\nconst Iterable: React.FC<DiffComponentProps> = ({\n comparison,\n diffComponents,\n field,\n fieldPermissions,\n i18n,\n locale,\n locales,\n version,\n}) => {\n const versionRowCount = Array.isArray(version) ? version.length : 0\n const comparisonRowCount = Array.isArray(comparison) ? comparison.length : 0\n const maxRows = Math.max(versionRowCount, comparisonRowCount)\n\n return (\n <div className={baseClass}>\n {'label' in field && field.label && typeof field.label !== 'function' && (\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.label, i18n)}\n </Label>\n )}\n {maxRows > 0 && (\n <React.Fragment>\n {Array.from(Array(maxRows).keys()).map((row, i) => {\n const versionRow = version?.[i] || {}\n const comparisonRow = comparison?.[i] || {}\n\n let fields: ClientField[] = []\n\n if (field.type === 'array' && 'fields' in field) {\n fields = field.fields\n }\n\n if (field.type === 'blocks') {\n fields = [\n // {\n // name: 'blockType',\n // label: i18n.t('fields:blockType'),\n // type: 'text',\n // },\n ]\n\n if (versionRow?.blockType === comparisonRow?.blockType) {\n const matchedBlock = ('blocks' in field &&\n field.blocks?.find((block) => block.slug === versionRow?.blockType)) || {\n fields: [],\n }\n\n fields = [...fields, ...matchedBlock.fields]\n } else {\n const matchedVersionBlock = ('blocks' in field &&\n field.blocks?.find((block) => block.slug === versionRow?.blockType)) || {\n fields: [],\n }\n\n const matchedComparisonBlock = ('blocks' in field &&\n field.blocks?.find((block) => block.slug === comparisonRow?.blockType)) || {\n fields: [],\n }\n\n fields = getUniqueListBy<ClientField>(\n [...fields, ...matchedVersionBlock.fields, ...matchedComparisonBlock.fields],\n 'name',\n )\n }\n }\n\n return (\n <div className={`${baseClass}__wrap`} key={i}>\n <RenderFieldsToDiff\n comparison={comparisonRow}\n diffComponents={diffComponents}\n fieldPermissions={fieldPermissions}\n fields={fields}\n i18n={i18n}\n locales={locales}\n version={versionRow}\n />\n </div>\n )\n })}\n </React.Fragment>\n )}\n {maxRows === 0 && (\n <div className={`${baseClass}__no-rows`}>\n {i18n.t('version:noRowsFound', {\n label:\n 'labels' in field && field.labels?.plural\n ? getTranslation(field.labels.plural, i18n)\n : i18n.t('general:rows'),\n })}\n </div>\n )}\n </div>\n )\n}\n\nexport default Iterable\n"],"mappings":"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","ignoreList":[]}
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 { DiffComponentProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useTranslation } from '@payloadcms/ui'\nimport { fieldIsArrayType, fieldIsBlockType } from 'payload/shared'\n\nimport './index.scss'\n\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<DiffComponentProps> = ({\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,7 +1,5 @@
1
1
  @layer payload-default {
2
2
  .iterable-diff {
3
- margin-bottom: calc(var(--base) * 2);
4
-
5
3
  &__locale-label {
6
4
  background: var(--theme-elevation-100);
7
5
  padding: calc(var(--base) * 0.25);
@@ -14,16 +12,9 @@
14
12
  }
15
13
  }
16
14
 
17
- &__wrap {
18
- margin: calc(var(--base) * 0.5);
19
- [dir='ltr'] & {
20
- padding-left: calc(var(--base) * 0.5);
21
- // border-left: $style-stroke-width-s solid var(--theme-elevation-150);
22
- }
23
- [dir='rtl'] & {
24
- padding-right: calc(var(--base) * 0.5);
25
- // border-right: $style-stroke-width-s solid var(--theme-elevation-150);
26
- }
15
+ // Space between each row
16
+ &__row:not(:first-of-type) {
17
+ margin-top: calc(var(--base) * 0.5);
27
18
  }
28
19
 
29
20
  &__no-rows {
@@ -1,7 +1,5 @@
1
- import type { RelationshipFieldClient } from 'payload';
1
+ import type { DiffComponentProps, RelationshipFieldClient } from 'payload';
2
2
  import React from 'react';
3
- import type { DiffComponentProps } from '../types.js';
4
3
  import './index.scss';
5
- declare const Relationship: React.FC<DiffComponentProps<RelationshipFieldClient>>;
6
- export default Relationship;
4
+ export declare const Relationship: React.FC<DiffComponentProps<RelationshipFieldClient>>;
7
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuC,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAK3F,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAIrD,OAAO,cAAc,CAAA;AAwFrB,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CA2DvE,CAAA;AAED,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAyFrB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CA8D9E,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 { useConfig } from '@payloadcms/ui';
6
+ import { useConfig, useTranslation } from '@payloadcms/ui';
7
7
  import { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared';
8
8
  import React from 'react';
9
9
  import ReactDiffViewerImport from 'react-diff-viewer-continued';
@@ -60,15 +60,17 @@ const generateLabelFromValue = (collections, field, locale, value) => {
60
60
  }
61
61
  return valueToReturn;
62
62
  };
63
- const Relationship = t0 => {
63
+ export const Relationship = t0 => {
64
64
  const $ = _c(10);
65
65
  const {
66
- comparison,
66
+ comparisonValue,
67
67
  field,
68
- i18n,
69
68
  locale,
70
- version
69
+ versionValue
71
70
  } = t0;
71
+ const {
72
+ i18n
73
+ } = useTranslation();
72
74
  const placeholder = `[${i18n.t("general:noValue")}]`;
73
75
  const {
74
76
  config: t1
@@ -77,21 +79,21 @@ const Relationship = t0 => {
77
79
  collections
78
80
  } = t1;
79
81
  let t2;
80
- if ($[0] !== collections || $[1] !== comparison || $[2] !== field || $[3] !== i18n || $[4] !== locale || $[5] !== placeholder || $[6] !== version) {
82
+ if ($[0] !== collections || $[1] !== comparisonValue || $[2] !== field || $[3] !== i18n || $[4] !== locale || $[5] !== placeholder || $[6] !== versionValue) {
81
83
  let versionToRender = placeholder;
82
84
  let comparisonToRender = placeholder;
83
- if (version) {
84
- if ("hasMany" in field && field.hasMany && Array.isArray(version)) {
85
- versionToRender = version.map(val => generateLabelFromValue(collections, field, locale, val)).join(", ") || placeholder;
85
+ if (versionValue) {
86
+ if ("hasMany" in field && field.hasMany && Array.isArray(versionValue)) {
87
+ versionToRender = versionValue.map(val => generateLabelFromValue(collections, field, locale, val)).join(", ") || placeholder;
86
88
  } else {
87
- versionToRender = generateLabelFromValue(collections, field, locale, version) || placeholder;
89
+ versionToRender = generateLabelFromValue(collections, field, locale, versionValue) || placeholder;
88
90
  }
89
91
  }
90
- if (comparison) {
91
- if ("hasMany" in field && field.hasMany && Array.isArray(comparison)) {
92
- comparisonToRender = comparison.map(val_0 => generateLabelFromValue(collections, field, locale, val_0)).join(", ") || placeholder;
92
+ if (comparisonValue) {
93
+ if ("hasMany" in field && field.hasMany && Array.isArray(comparisonValue)) {
94
+ comparisonToRender = comparisonValue.map(val_0 => generateLabelFromValue(collections, field, locale, val_0)).join(", ") || placeholder;
93
95
  } else {
94
- comparisonToRender = generateLabelFromValue(collections, field, locale, comparison) || placeholder;
96
+ comparisonToRender = generateLabelFromValue(collections, field, locale, comparisonValue) || placeholder;
95
97
  }
96
98
  }
97
99
  const label = "label" in field && typeof field.label !== "boolean" && typeof field.label !== "function" ? field.label : "";
@@ -120,17 +122,16 @@ const Relationship = t0 => {
120
122
  })]
121
123
  });
122
124
  $[0] = collections;
123
- $[1] = comparison;
125
+ $[1] = comparisonValue;
124
126
  $[2] = field;
125
127
  $[3] = i18n;
126
128
  $[4] = locale;
127
129
  $[5] = placeholder;
128
- $[6] = version;
130
+ $[6] = versionValue;
129
131
  $[7] = t2;
130
132
  } else {
131
133
  t2 = $[7];
132
134
  }
133
135
  return t2;
134
136
  };
135
- export default Relationship;
136
137
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","useConfig","fieldAffectsData","fieldIsPresentationalOnly","React","ReactDiffViewerImport","Label","diffStyles","ReactDiffViewer","default","baseClass","generateLabelFromValue","collections","field","locale","value","Array","isArray","map","v","filter","Boolean","join","relatedDoc","valueToReturn","relationTo","undefined","String","relatedCollection","find","slug","useAsTitle","admin","useAsTitleField","fields","f","name","titleFieldIsLocalized","localized","id","JSON","stringify","Relationship","t0","$","comparison","i18n","version","placeholder","t","config","t1","t2","versionToRender","comparisonToRender","hasMany","val","val_0","label","t3","_jsx","className","children","_jsxs","hideLineNumbers","newValue","oldValue","showDiffOnly","splitView","styles"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientField, RelationshipFieldClient } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig } from '@payloadcms/ui'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared'\nimport React from 'react'\nimport ReactDiffViewerImport from 'react-diff-viewer-continued'\n\nimport type { DiffComponentProps } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport { diffStyles } from '../styles.js'\nimport './index.scss'\n\nconst ReactDiffViewer = (ReactDiffViewerImport.default ||\n ReactDiffViewerImport) as unknown as typeof ReactDiffViewerImport.default\n\nconst baseClass = 'relationship-diff'\n\ntype RelationshipValue = Record<string, any>\n\nconst generateLabelFromValue = (\n collections: ClientCollectionConfig[],\n field: ClientField,\n locale: string,\n value: { relationTo: string; value: RelationshipValue } | RelationshipValue,\n): string => {\n if (Array.isArray(value)) {\n return value\n .map((v) => generateLabelFromValue(collections, field, locale, v))\n .filter(Boolean) // Filters out any undefined or empty values\n .join(', ')\n }\n\n let relatedDoc: RelationshipValue\n let valueToReturn: RelationshipValue | string = ''\n\n const relationTo = 'relationTo' in field ? field.relationTo : undefined\n\n if (value === null || typeof value === 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string -- We want to return a string specifilly for null and undefined\n return String(value)\n }\n\n if (typeof value === 'object' && 'relationTo' in value) {\n relatedDoc = value.value\n } else {\n // Non-polymorphic relationship\n relatedDoc = value\n }\n\n const relatedCollection = relationTo\n ? collections.find(\n (c) =>\n c.slug ===\n (typeof value === 'object' && 'relationTo' in value ? value.relationTo : relationTo),\n )\n : null\n\n if (relatedCollection) {\n const useAsTitle = relatedCollection?.admin?.useAsTitle\n const useAsTitleField = relatedCollection.fields.find(\n (f) => fieldAffectsData(f) && !fieldIsPresentationalOnly(f) && f.name === useAsTitle,\n )\n let titleFieldIsLocalized = false\n\n if (useAsTitleField && fieldAffectsData(useAsTitleField)) {\n titleFieldIsLocalized = useAsTitleField.localized\n }\n\n if (typeof relatedDoc?.[useAsTitle] !== 'undefined') {\n valueToReturn = relatedDoc[useAsTitle]\n } else if (typeof relatedDoc?.id !== 'undefined') {\n valueToReturn = relatedDoc.id\n } else {\n valueToReturn = relatedDoc\n }\n\n if (typeof valueToReturn === 'object' && titleFieldIsLocalized && valueToReturn?.[locale]) {\n valueToReturn = valueToReturn[locale]\n }\n } else if (relatedDoc) {\n // Handle non-polymorphic `hasMany` relationships or fallback\n if (typeof relatedDoc?.id !== 'undefined') {\n valueToReturn = String(relatedDoc.id)\n } else {\n valueToReturn = relatedDoc\n }\n }\n\n if (\n (valueToReturn && typeof valueToReturn === 'object' && valueToReturn !== null) ||\n typeof valueToReturn !== 'string'\n ) {\n valueToReturn = JSON.stringify(valueToReturn)\n }\n\n return valueToReturn\n}\n\nconst Relationship: React.FC<DiffComponentProps<RelationshipFieldClient>> = ({\n comparison,\n field,\n i18n,\n locale,\n version,\n}) => {\n const placeholder = `[${i18n.t('general:noValue')}]`\n\n const {\n config: { collections },\n } = useConfig()\n\n let versionToRender: string | undefined = placeholder\n let comparisonToRender: string | undefined = placeholder\n\n if (version) {\n if ('hasMany' in field && field.hasMany && Array.isArray(version)) {\n versionToRender =\n version.map((val) => generateLabelFromValue(collections, field, locale, val)).join(', ') ||\n placeholder\n } else {\n versionToRender = generateLabelFromValue(collections, field, locale, version) || placeholder\n }\n }\n\n if (comparison) {\n if ('hasMany' in field && field.hasMany && Array.isArray(comparison)) {\n comparisonToRender =\n comparison\n .map((val) => generateLabelFromValue(collections, field, locale, val))\n .join(', ') || placeholder\n } else {\n comparisonToRender =\n generateLabelFromValue(collections, field, locale, comparison) || placeholder\n }\n }\n\n const label =\n 'label' in field && typeof field.label !== 'boolean' && typeof field.label !== 'function'\n ? field.label\n : ''\n\n return (\n <div className={baseClass}>\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(label, i18n)}\n </Label>\n <ReactDiffViewer\n hideLineNumbers\n newValue={versionToRender}\n oldValue={comparisonToRender}\n showDiffOnly={false}\n splitView\n styles={diffStyles}\n />\n </div>\n )\n}\n\nexport default Relationship\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","useConfig","useTranslation","fieldAffectsData","fieldIsPresentationalOnly","React","ReactDiffViewerImport","Label","diffStyles","ReactDiffViewer","default","baseClass","generateLabelFromValue","collections","field","locale","value","Array","isArray","map","v","filter","Boolean","join","relatedDoc","valueToReturn","relationTo","undefined","String","relatedCollection","find","slug","useAsTitle","admin","useAsTitleField","fields","f","name","titleFieldIsLocalized","localized","id","JSON","stringify","Relationship","t0","$","comparisonValue","versionValue","i18n","placeholder","t","config","t1","t2","versionToRender","comparisonToRender","hasMany","val","val_0","label","t3","_jsx","className","children","_jsxs","hideLineNumbers","newValue","oldValue","showDiffOnly","splitView","styles"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n ClientField,\n DiffComponentProps,\n RelationshipFieldClient,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig, useTranslation } from '@payloadcms/ui'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared'\nimport React from 'react'\nimport ReactDiffViewerImport from 'react-diff-viewer-continued'\n\nimport Label from '../../Label/index.js'\nimport './index.scss'\nimport { diffStyles } from '../styles.js'\n\nconst ReactDiffViewer = (ReactDiffViewerImport.default ||\n ReactDiffViewerImport) as unknown as typeof ReactDiffViewerImport.default\n\nconst baseClass = 'relationship-diff'\n\ntype RelationshipValue = Record<string, any>\n\nconst generateLabelFromValue = (\n collections: ClientCollectionConfig[],\n field: ClientField,\n locale: string,\n value: { relationTo: string; value: RelationshipValue } | RelationshipValue,\n): string => {\n if (Array.isArray(value)) {\n return value\n .map((v) => generateLabelFromValue(collections, field, locale, v))\n .filter(Boolean) // Filters out any undefined or empty values\n .join(', ')\n }\n\n let relatedDoc: RelationshipValue\n let valueToReturn: RelationshipValue | string = ''\n\n const relationTo = 'relationTo' in field ? field.relationTo : undefined\n\n if (value === null || typeof value === 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string -- We want to return a string specifilly for null and undefined\n return String(value)\n }\n\n if (typeof value === 'object' && 'relationTo' in value) {\n relatedDoc = value.value\n } else {\n // Non-polymorphic relationship\n relatedDoc = value\n }\n\n const relatedCollection = relationTo\n ? collections.find(\n (c) =>\n c.slug ===\n (typeof value === 'object' && 'relationTo' in value ? value.relationTo : relationTo),\n )\n : null\n\n if (relatedCollection) {\n const useAsTitle = relatedCollection?.admin?.useAsTitle\n const useAsTitleField = relatedCollection.fields.find(\n (f) => fieldAffectsData(f) && !fieldIsPresentationalOnly(f) && f.name === useAsTitle,\n )\n let titleFieldIsLocalized = false\n\n if (useAsTitleField && fieldAffectsData(useAsTitleField)) {\n titleFieldIsLocalized = useAsTitleField.localized\n }\n\n if (typeof relatedDoc?.[useAsTitle] !== 'undefined') {\n valueToReturn = relatedDoc[useAsTitle]\n } else if (typeof relatedDoc?.id !== 'undefined') {\n valueToReturn = relatedDoc.id\n } else {\n valueToReturn = relatedDoc\n }\n\n if (typeof valueToReturn === 'object' && titleFieldIsLocalized && valueToReturn?.[locale]) {\n valueToReturn = valueToReturn[locale]\n }\n } else if (relatedDoc) {\n // Handle non-polymorphic `hasMany` relationships or fallback\n if (typeof relatedDoc?.id !== 'undefined') {\n valueToReturn = String(relatedDoc.id)\n } else {\n valueToReturn = relatedDoc\n }\n }\n\n if (\n (valueToReturn && typeof valueToReturn === 'object' && valueToReturn !== null) ||\n typeof valueToReturn !== 'string'\n ) {\n valueToReturn = JSON.stringify(valueToReturn)\n }\n\n return valueToReturn\n}\n\nexport const Relationship: React.FC<DiffComponentProps<RelationshipFieldClient>> = ({\n comparisonValue,\n field,\n locale,\n versionValue,\n}) => {\n const { i18n } = useTranslation()\n\n const placeholder = `[${i18n.t('general:noValue')}]`\n\n const {\n config: { collections },\n } = useConfig()\n\n let versionToRender: string | undefined = placeholder\n let comparisonToRender: string | undefined = placeholder\n\n if (versionValue) {\n if ('hasMany' in field && field.hasMany && Array.isArray(versionValue)) {\n versionToRender =\n versionValue\n .map((val) => generateLabelFromValue(collections, field, locale, val))\n .join(', ') || placeholder\n } else {\n versionToRender =\n generateLabelFromValue(collections, field, locale, versionValue) || placeholder\n }\n }\n\n if (comparisonValue) {\n if ('hasMany' in field && field.hasMany && Array.isArray(comparisonValue)) {\n comparisonToRender =\n comparisonValue\n .map((val) => generateLabelFromValue(collections, field, locale, val))\n .join(', ') || placeholder\n } else {\n comparisonToRender =\n generateLabelFromValue(collections, field, locale, comparisonValue) || placeholder\n }\n }\n\n const label =\n 'label' in field && typeof field.label !== 'boolean' && typeof field.label !== 'function'\n ? field.label\n : ''\n\n return (\n <div className={baseClass}>\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(label, i18n)}\n </Label>\n <ReactDiffViewer\n hideLineNumbers\n newValue={versionToRender}\n oldValue={comparisonToRender}\n showDiffOnly={false}\n splitView\n styles={diffStyles}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { DiffComponentProps, RowFieldClient } from 'payload';
2
+ import React from 'react';
3
+ export declare const Row: React.FC<DiffComponentProps<RowFieldClient>>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Row/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAEjE,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,eAAO,MAAM,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAM5D,CAAA"}
@@ -0,0 +1,17 @@
1
+ 'use client';
2
+
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ import React from 'react';
5
+ import { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js';
6
+ const baseClass = 'row-diff';
7
+ export const Row = ({
8
+ baseVersionField
9
+ }) => {
10
+ return /*#__PURE__*/_jsx("div", {
11
+ className: baseClass,
12
+ children: /*#__PURE__*/_jsx(RenderVersionFieldsToDiff, {
13
+ versionFields: baseVersionField.fields
14
+ })
15
+ });
16
+ };
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","RenderVersionFieldsToDiff","baseClass","Row","baseVersionField","_jsx","className","versionFields","fields"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Row/index.tsx"],"sourcesContent":["'use client'\nimport type { DiffComponentProps, RowFieldClient } from 'payload'\n\nimport React from 'react'\n\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\n\nconst baseClass = 'row-diff'\n\nexport const Row: React.FC<DiffComponentProps<RowFieldClient>> = ({ baseVersionField }) => {\n return (\n <div className={baseClass}>\n <RenderVersionFieldsToDiff versionFields={baseVersionField.fields} />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,MAAW;AAElB,SAASC,yBAAyB,QAAQ;AAE1C,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,GAAA,GAAoDA,CAAC;EAAEC;AAAgB,CAAE;EACpF,oBACEC,IAAA,CAAC;IAAIC,SAAA,EAAWJ,SAAA;cACd,aAAAG,IAAA,CAACJ,yBAAA;MAA0BM,aAAA,EAAeH,gBAAA,CAAiBI;;;AAGjE","ignoreList":[]}
@@ -1,7 +1,5 @@
1
- import type { SelectFieldClient } from 'payload';
1
+ import type { DiffComponentProps, SelectFieldClient } from 'payload';
2
2
  import React from 'react';
3
- import type { DiffComponentProps } from '../types.js';
4
3
  import './index.scss';
5
- declare const Select: React.FC<DiffComponentProps<SelectFieldClient>>;
6
- export default Select;
4
+ export declare const Select: React.FC<DiffComponentProps<SelectFieldClient>>;
7
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA6B,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAG3E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAKrD,OAAO,cAAc,CAAA;AAmCrB,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAyC3D,CAAA;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAA6B,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAI/F,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAqCrB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAwDlE,CAAA"}