@payloadcms/next 3.0.0-beta.35 → 3.0.0-beta.36

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 (173) hide show
  1. package/dist/cjs/withPayload.cjs +23 -0
  2. package/dist/cjs/withPayload.cjs.map +1 -1
  3. package/dist/elements/LeaveWithoutSaving/index.js +35 -15
  4. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  5. package/dist/layouts/Root/index.d.ts.map +1 -1
  6. package/dist/layouts/Root/index.js +31 -15
  7. package/dist/layouts/Root/index.js.map +1 -1
  8. package/dist/prod/styles.css +1 -1
  9. package/dist/routes/rest/auth/access.d.ts.map +1 -1
  10. package/dist/routes/rest/auth/access.js +17 -7
  11. package/dist/routes/rest/auth/access.js.map +1 -1
  12. package/dist/routes/rest/og/image.js +64 -50
  13. package/dist/routes/rest/og/image.js.map +1 -1
  14. package/dist/routes/rest/og/index.js +2 -1
  15. package/dist/routes/rest/og/index.js.map +1 -1
  16. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  17. package/dist/utilities/getRequestLanguage.js +1 -1
  18. package/dist/utilities/getRequestLanguage.js.map +1 -1
  19. package/dist/utilities/getRequestTheme.d.ts +11 -0
  20. package/dist/utilities/getRequestTheme.d.ts.map +1 -0
  21. package/dist/utilities/getRequestTheme.js +19 -0
  22. package/dist/utilities/getRequestTheme.js.map +1 -0
  23. package/dist/utilities/initPage/index.d.ts.map +1 -1
  24. package/dist/utilities/initPage/index.js +1 -0
  25. package/dist/utilities/initPage/index.js.map +1 -1
  26. package/dist/views/API/RenderJSON/index.js +99 -70
  27. package/dist/views/API/RenderJSON/index.js.map +1 -1
  28. package/dist/views/API/index.client.js +128 -91
  29. package/dist/views/API/index.client.js.map +1 -1
  30. package/dist/views/API/index.js +2 -1
  31. package/dist/views/API/index.js.map +1 -1
  32. package/dist/views/Account/Settings/index.js +27 -15
  33. package/dist/views/Account/Settings/index.js.map +1 -1
  34. package/dist/views/Account/ToggleTheme/index.js +2 -1
  35. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  36. package/dist/views/Account/index.d.ts.map +1 -1
  37. package/dist/views/Account/index.js +53 -39
  38. package/dist/views/Account/index.js.map +1 -1
  39. package/dist/views/CreateFirstUser/index.client.js +29 -19
  40. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  41. package/dist/views/CreateFirstUser/index.js +16 -6
  42. package/dist/views/CreateFirstUser/index.js.map +1 -1
  43. package/dist/views/Dashboard/Default/index.client.js +67 -56
  44. package/dist/views/Dashboard/Default/index.client.js.map +1 -1
  45. package/dist/views/Dashboard/Default/index.js +28 -19
  46. package/dist/views/Dashboard/Default/index.js.map +1 -1
  47. package/dist/views/Dashboard/index.js +23 -17
  48. package/dist/views/Dashboard/index.js.map +1 -1
  49. package/dist/views/Document/getDocumentData.d.ts +10 -0
  50. package/dist/views/Document/getDocumentData.d.ts.map +1 -0
  51. package/dist/views/Document/getDocumentData.js +24 -0
  52. package/dist/views/Document/getDocumentData.js.map +1 -0
  53. package/dist/views/Document/getDocumentPermissions.d.ts +14 -0
  54. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -0
  55. package/dist/views/Document/getDocumentPermissions.js +83 -0
  56. package/dist/views/Document/getDocumentPermissions.js.map +1 -0
  57. package/dist/views/Document/index.d.ts.map +1 -1
  58. package/dist/views/Document/index.js +63 -64
  59. package/dist/views/Document/index.js.map +1 -1
  60. package/dist/views/Edit/Default/Auth/APIKey.js +41 -25
  61. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  62. package/dist/views/Edit/Default/Auth/index.js +78 -50
  63. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  64. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  65. package/dist/views/Edit/Default/index.js +84 -65
  66. package/dist/views/Edit/Default/index.js.map +1 -1
  67. package/dist/views/Edit/index.client.js +10 -4
  68. package/dist/views/Edit/index.client.js.map +1 -1
  69. package/dist/views/Edit/index.js +2 -1
  70. package/dist/views/Edit/index.js.map +1 -1
  71. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +42 -20
  72. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  73. package/dist/views/ForgotPassword/index.js +37 -17
  74. package/dist/views/ForgotPassword/index.js.map +1 -1
  75. package/dist/views/List/Default/index.js +151 -81
  76. package/dist/views/List/Default/index.js.map +1 -1
  77. package/dist/views/List/index.js +52 -43
  78. package/dist/views/List/index.js.map +1 -1
  79. package/dist/views/LivePreview/Context/context.d.ts +1 -1
  80. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  81. package/dist/views/LivePreview/Context/context.js.map +1 -1
  82. package/dist/views/LivePreview/Context/index.js +9 -6
  83. package/dist/views/LivePreview/Context/index.js.map +1 -1
  84. package/dist/views/LivePreview/Device/index.js +5 -3
  85. package/dist/views/LivePreview/Device/index.js.map +1 -1
  86. package/dist/views/LivePreview/DeviceContainer/index.js +5 -3
  87. package/dist/views/LivePreview/DeviceContainer/index.js.map +1 -1
  88. package/dist/views/LivePreview/IFrame/index.js +2 -1
  89. package/dist/views/LivePreview/IFrame/index.js.map +1 -1
  90. package/dist/views/LivePreview/Preview/index.js +25 -14
  91. package/dist/views/LivePreview/Preview/index.js.map +1 -1
  92. package/dist/views/LivePreview/Toolbar/Controls/index.js +105 -57
  93. package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
  94. package/dist/views/LivePreview/Toolbar/SizeInput/index.js +2 -1
  95. package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  96. package/dist/views/LivePreview/Toolbar/index.js +29 -14
  97. package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
  98. package/dist/views/LivePreview/ToolbarArea/index.js +5 -3
  99. package/dist/views/LivePreview/ToolbarArea/index.js.map +1 -1
  100. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  101. package/dist/views/LivePreview/index.client.js +103 -76
  102. package/dist/views/LivePreview/index.client.js.map +1 -1
  103. package/dist/views/LivePreview/index.js +2 -1
  104. package/dist/views/LivePreview/index.js.map +1 -1
  105. package/dist/views/Login/LoginForm/index.js +62 -48
  106. package/dist/views/Login/LoginForm/index.js.map +1 -1
  107. package/dist/views/Login/index.js +26 -19
  108. package/dist/views/Login/index.js.map +1 -1
  109. package/dist/views/Logout/LogoutClient.js +21 -7
  110. package/dist/views/Logout/LogoutClient.js.map +1 -1
  111. package/dist/views/Logout/index.js +13 -10
  112. package/dist/views/Logout/index.js.map +1 -1
  113. package/dist/views/NotFound/index.client.js +22 -10
  114. package/dist/views/NotFound/index.client.js.map +1 -1
  115. package/dist/views/NotFound/index.js +21 -14
  116. package/dist/views/NotFound/index.js.map +1 -1
  117. package/dist/views/ResetPassword/index.client.js +17 -8
  118. package/dist/views/ResetPassword/index.client.js.map +1 -1
  119. package/dist/views/ResetPassword/index.js +46 -25
  120. package/dist/views/ResetPassword/index.js.map +1 -1
  121. package/dist/views/Root/index.d.ts.map +1 -1
  122. package/dist/views/Root/index.js +29 -13
  123. package/dist/views/Root/index.js.map +1 -1
  124. package/dist/views/Unauthorized/index.js +19 -8
  125. package/dist/views/Unauthorized/index.js.map +1 -1
  126. package/dist/views/Verify/index.js +20 -11
  127. package/dist/views/Verify/index.js.map +1 -1
  128. package/dist/views/Version/Default/index.js +83 -57
  129. package/dist/views/Version/Default/index.js.map +1 -1
  130. package/dist/views/Version/RenderFieldsToDiff/Label/index.js +5 -3
  131. package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +1 -1
  132. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +65 -50
  133. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  134. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +30 -18
  135. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  136. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +23 -12
  137. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  138. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +2 -1
  139. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -1
  140. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +22 -11
  141. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  142. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +31 -30
  143. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  144. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +2 -1
  145. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -1
  146. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +22 -11
  147. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  148. package/dist/views/Version/RenderFieldsToDiff/index.js +90 -87
  149. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  150. package/dist/views/Version/Restore/index.js +38 -18
  151. package/dist/views/Version/Restore/index.js.map +1 -1
  152. package/dist/views/Version/SelectComparison/index.js +32 -24
  153. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  154. package/dist/views/Version/SelectLocales/index.js +17 -11
  155. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  156. package/dist/views/Version/index.js +2 -1
  157. package/dist/views/Version/index.js.map +1 -1
  158. package/dist/views/Versions/buildColumns.js +7 -6
  159. package/dist/views/Versions/buildColumns.js.map +1 -1
  160. package/dist/views/Versions/cells/AutosaveCell/index.js +25 -3
  161. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  162. package/dist/views/Versions/cells/CreatedAt/index.js +9 -7
  163. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  164. package/dist/views/Versions/cells/ID/index.js +4 -1
  165. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  166. package/dist/views/Versions/index.client.js +61 -29
  167. package/dist/views/Versions/index.client.js.map +1 -1
  168. package/dist/views/Versions/index.js +31 -22
  169. package/dist/views/Versions/index.js.map +1 -1
  170. package/dist/withPayload.d.ts.map +1 -1
  171. package/dist/withPayload.js +23 -0
  172. package/dist/withPayload.js.map +1 -1
  173. package/package.json +14 -10
@@ -1,99 +1,102 @@
1
1
  'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
2
3
  import React from 'react';
3
4
  import Nested from './fields/Nested/index.js';
4
5
  import { diffMethods } from './fields/diffMethods.js';
5
6
  const baseClass = 'render-field-diffs';
6
7
  const RenderFieldsToDiff = ({ comparison, diffComponents, fieldMap, fieldPermissions, i18n, locales, version })=>{
7
- return /*#__PURE__*/ React.createElement("div", {
8
- className: baseClass
9
- }, fieldMap?.map((field, i)=>{
10
- if ('name' in field && field.name === 'id') return null;
11
- const Component = diffComponents[field.type];
12
- const isRichText = field.type === 'richText';
13
- const diffMethod = diffMethods[field.type] || 'CHARS';
14
- if (Component) {
15
- if (field.isFieldAffectingData && 'name' in field) {
16
- const fieldName = field.name;
17
- const valueIsObject = field.type === 'code' || field.type === 'json';
18
- const versionValue = valueIsObject ? JSON.stringify(version?.[fieldName]) : version?.[fieldName];
19
- const comparisonValue = valueIsObject ? JSON.stringify(comparison?.[fieldName]) : comparison?.[fieldName];
20
- const hasPermission = fieldPermissions?.[fieldName]?.read?.permission;
21
- const subFieldPermissions = fieldPermissions?.[fieldName]?.fields;
22
- if (hasPermission === false) return null;
23
- const baseCellProps = {
24
- comparison: comparisonValue,
25
- diffComponents,
26
- diffMethod,
27
- field,
28
- fieldMap: 'fieldMap' in field.fieldComponentProps ? field.fieldComponentProps?.fieldMap : fieldMap,
29
- fieldPermissions: subFieldPermissions,
30
- i18n,
31
- isRichText,
32
- locales,
33
- version: versionValue
34
- };
35
- if (field.localized) {
36
- return /*#__PURE__*/ React.createElement("div", {
8
+ return /*#__PURE__*/ _jsx("div", {
9
+ className: baseClass,
10
+ children: fieldMap?.map((field, i)=>{
11
+ if ('name' in field && field.name === 'id') return null;
12
+ const Component = diffComponents[field.type];
13
+ const isRichText = field.type === 'richText';
14
+ const diffMethod = diffMethods[field.type] || 'CHARS';
15
+ if (Component) {
16
+ if (field.isFieldAffectingData && 'name' in field) {
17
+ const fieldName = field.name;
18
+ const valueIsObject = field.type === 'code' || field.type === 'json';
19
+ const versionValue = valueIsObject ? JSON.stringify(version?.[fieldName]) : version?.[fieldName];
20
+ const comparisonValue = valueIsObject ? JSON.stringify(comparison?.[fieldName]) : comparison?.[fieldName];
21
+ const hasPermission = fieldPermissions?.[fieldName]?.read?.permission;
22
+ const subFieldPermissions = fieldPermissions?.[fieldName]?.fields;
23
+ if (hasPermission === false) return null;
24
+ const baseCellProps = {
25
+ comparison: comparisonValue,
26
+ diffComponents,
27
+ diffMethod,
28
+ field,
29
+ fieldMap: 'fieldMap' in field.fieldComponentProps ? field.fieldComponentProps?.fieldMap : fieldMap,
30
+ fieldPermissions: subFieldPermissions,
31
+ i18n,
32
+ isRichText,
33
+ locales,
34
+ version: versionValue
35
+ };
36
+ if (field.localized) {
37
+ return /*#__PURE__*/ _jsx("div", {
38
+ className: `${baseClass}__field`,
39
+ children: locales.map((locale, index)=>{
40
+ const versionLocaleValue = versionValue?.[locale];
41
+ const comparisonLocaleValue = comparisonValue?.[locale];
42
+ const cellProps = {
43
+ ...baseCellProps,
44
+ comparison: comparisonLocaleValue,
45
+ version: versionLocaleValue
46
+ };
47
+ return /*#__PURE__*/ _jsx("div", {
48
+ className: `${baseClass}__locale`,
49
+ children: /*#__PURE__*/ _jsx("div", {
50
+ className: `${baseClass}__locale-value`,
51
+ children: /*#__PURE__*/ _jsx(Component, {
52
+ ...cellProps,
53
+ locale: locale
54
+ })
55
+ })
56
+ }, [
57
+ locale,
58
+ index
59
+ ].join('-'));
60
+ })
61
+ }, i);
62
+ }
63
+ return /*#__PURE__*/ _jsx("div", {
37
64
  className: `${baseClass}__field`,
38
- key: i
39
- }, locales.map((locale, index)=>{
40
- const versionLocaleValue = versionValue?.[locale];
41
- const comparisonLocaleValue = comparisonValue?.[locale];
42
- const cellProps = {
43
- ...baseCellProps,
44
- comparison: comparisonLocaleValue,
45
- version: versionLocaleValue
46
- };
47
- return /*#__PURE__*/ React.createElement("div", {
48
- className: `${baseClass}__locale`,
49
- key: [
50
- locale,
51
- index
52
- ].join('-')
53
- }, /*#__PURE__*/ React.createElement("div", {
54
- className: `${baseClass}__locale-value`
55
- }, /*#__PURE__*/ React.createElement(Component, {
56
- ...cellProps,
57
- locale: locale
58
- })));
59
- }));
65
+ children: /*#__PURE__*/ _jsx(Component, {
66
+ ...baseCellProps
67
+ })
68
+ }, i);
69
+ }
70
+ if (field.type === 'tabs' && 'fieldMap' in field.fieldComponentProps) {
71
+ const Tabs = diffComponents.tabs;
72
+ return /*#__PURE__*/ _jsx(Tabs, {
73
+ comparison: comparison,
74
+ diffComponents: diffComponents,
75
+ field: field,
76
+ fieldMap: field.fieldComponentProps.fieldMap,
77
+ i18n: i18n,
78
+ locales: locales,
79
+ version: version
80
+ }, i);
81
+ }
82
+ // At this point, we are dealing with a `row`, etc
83
+ if ('fieldMap' in field.fieldComponentProps) {
84
+ return /*#__PURE__*/ _jsx(Nested, {
85
+ comparison: comparison,
86
+ diffComponents: diffComponents,
87
+ disableGutter: true,
88
+ field: field,
89
+ fieldMap: field.fieldComponentProps.fieldMap,
90
+ i18n: i18n,
91
+ locales: locales,
92
+ permissions: fieldPermissions,
93
+ version: version
94
+ }, i);
60
95
  }
61
- return /*#__PURE__*/ React.createElement("div", {
62
- className: `${baseClass}__field`,
63
- key: i
64
- }, /*#__PURE__*/ React.createElement(Component, baseCellProps));
65
- }
66
- if (field.type === 'tabs' && 'fieldMap' in field.fieldComponentProps) {
67
- const Tabs = diffComponents.tabs;
68
- return /*#__PURE__*/ React.createElement(Tabs, {
69
- comparison: comparison,
70
- diffComponents: diffComponents,
71
- field: field,
72
- fieldMap: field.fieldComponentProps.fieldMap,
73
- i18n: i18n,
74
- key: i,
75
- locales: locales,
76
- version: version
77
- });
78
- }
79
- // At this point, we are dealing with a `row`, etc
80
- if ('fieldMap' in field.fieldComponentProps) {
81
- return /*#__PURE__*/ React.createElement(Nested, {
82
- comparison: comparison,
83
- diffComponents: diffComponents,
84
- disableGutter: true,
85
- field: field,
86
- fieldMap: field.fieldComponentProps.fieldMap,
87
- i18n: i18n,
88
- key: i,
89
- locales: locales,
90
- permissions: fieldPermissions,
91
- version: version
92
- });
93
96
  }
94
- }
95
- return null;
96
- }));
97
+ return null;
98
+ })
99
+ });
97
100
  };
98
101
  export default RenderFieldsToDiff;
99
102
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Version/RenderFieldsToDiff/index.tsx"],"sourcesContent":["'use client'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\n\nimport React from 'react'\n\nimport type { FieldDiffProps, Props } from './types.js'\n\nimport Nested from './fields/Nested/index.js'\nimport { diffMethods } from './fields/diffMethods.js'\nimport './index.scss'\n\nconst baseClass = 'render-field-diffs'\n\nconst RenderFieldsToDiff: React.FC<Props> = ({\n comparison,\n diffComponents,\n fieldMap,\n fieldPermissions,\n i18n,\n locales,\n version,\n}) => {\n return (\n <div className={baseClass}>\n {fieldMap?.map((field, i) => {\n if ('name' in field && field.name === 'id') return null\n\n const Component = diffComponents[field.type]\n\n const isRichText = field.type === 'richText'\n const diffMethod: DiffMethod = diffMethods[field.type] || 'CHARS'\n\n if (Component) {\n if (field.isFieldAffectingData && 'name' in field) {\n const fieldName = field.name\n const valueIsObject = field.type === 'code' || field.type === 'json'\n\n const versionValue = valueIsObject\n ? JSON.stringify(version?.[fieldName])\n : version?.[fieldName]\n\n const comparisonValue = valueIsObject\n ? JSON.stringify(comparison?.[fieldName])\n : comparison?.[fieldName]\n\n const hasPermission = fieldPermissions?.[fieldName]?.read?.permission\n\n const subFieldPermissions = fieldPermissions?.[fieldName]?.fields\n\n if (hasPermission === false) return null\n\n const baseCellProps: FieldDiffProps = {\n comparison: comparisonValue,\n diffComponents,\n diffMethod,\n field,\n fieldMap:\n 'fieldMap' in field.fieldComponentProps\n ? field.fieldComponentProps?.fieldMap\n : fieldMap,\n fieldPermissions: subFieldPermissions,\n i18n,\n isRichText,\n locales,\n version: versionValue,\n }\n\n if (field.localized) {\n return (\n <div className={`${baseClass}__field`} key={i}>\n {locales.map((locale, index) => {\n const versionLocaleValue = versionValue?.[locale]\n const comparisonLocaleValue = comparisonValue?.[locale]\n\n const cellProps = {\n ...baseCellProps,\n comparison: comparisonLocaleValue,\n version: versionLocaleValue,\n }\n\n return (\n <div className={`${baseClass}__locale`} key={[locale, index].join('-')}>\n <div className={`${baseClass}__locale-value`}>\n <Component {...cellProps} locale={locale} />\n </div>\n </div>\n )\n })}\n </div>\n )\n }\n\n return (\n <div className={`${baseClass}__field`} key={i}>\n <Component {...baseCellProps} />\n </div>\n )\n }\n\n if (field.type === 'tabs' && 'fieldMap' in field.fieldComponentProps) {\n const Tabs = diffComponents.tabs\n\n return (\n <Tabs\n comparison={comparison}\n diffComponents={diffComponents}\n field={field}\n fieldMap={field.fieldComponentProps.fieldMap}\n i18n={i18n}\n key={i}\n locales={locales}\n version={version}\n />\n )\n }\n\n // At this point, we are dealing with a `row`, etc\n if ('fieldMap' in field.fieldComponentProps) {\n return (\n <Nested\n comparison={comparison}\n diffComponents={diffComponents}\n disableGutter\n field={field}\n fieldMap={field.fieldComponentProps.fieldMap}\n i18n={i18n}\n key={i}\n locales={locales}\n permissions={fieldPermissions}\n version={version}\n />\n )\n }\n }\n\n return null\n })}\n </div>\n )\n}\n\nexport default RenderFieldsToDiff\n"],"names":["React","Nested","diffMethods","baseClass","RenderFieldsToDiff","comparison","diffComponents","fieldMap","fieldPermissions","i18n","locales","version","div","className","map","field","i","name","Component","type","isRichText","diffMethod","isFieldAffectingData","fieldName","valueIsObject","versionValue","JSON","stringify","comparisonValue","hasPermission","read","permission","subFieldPermissions","fields","baseCellProps","fieldComponentProps","localized","key","locale","index","versionLocaleValue","comparisonLocaleValue","cellProps","join","Tabs","tabs","disableGutter","permissions"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/views/Version/RenderFieldsToDiff/index.tsx"],"sourcesContent":["'use client'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\n\nimport React from 'react'\n\nimport type { FieldDiffProps, Props } from './types.js'\n\nimport Nested from './fields/Nested/index.js'\nimport { diffMethods } from './fields/diffMethods.js'\nimport './index.scss'\n\nconst baseClass = 'render-field-diffs'\n\nconst RenderFieldsToDiff: React.FC<Props> = ({\n comparison,\n diffComponents,\n fieldMap,\n fieldPermissions,\n i18n,\n locales,\n version,\n}) => {\n return (\n <div className={baseClass}>\n {fieldMap?.map((field, i) => {\n if ('name' in field && field.name === 'id') return null\n\n const Component = diffComponents[field.type]\n\n const isRichText = field.type === 'richText'\n const diffMethod: DiffMethod = diffMethods[field.type] || 'CHARS'\n\n if (Component) {\n if (field.isFieldAffectingData && 'name' in field) {\n const fieldName = field.name\n const valueIsObject = field.type === 'code' || field.type === 'json'\n\n const versionValue = valueIsObject\n ? JSON.stringify(version?.[fieldName])\n : version?.[fieldName]\n\n const comparisonValue = valueIsObject\n ? JSON.stringify(comparison?.[fieldName])\n : comparison?.[fieldName]\n\n const hasPermission = fieldPermissions?.[fieldName]?.read?.permission\n\n const subFieldPermissions = fieldPermissions?.[fieldName]?.fields\n\n if (hasPermission === false) return null\n\n const baseCellProps: FieldDiffProps = {\n comparison: comparisonValue,\n diffComponents,\n diffMethod,\n field,\n fieldMap:\n 'fieldMap' in field.fieldComponentProps\n ? field.fieldComponentProps?.fieldMap\n : fieldMap,\n fieldPermissions: subFieldPermissions,\n i18n,\n isRichText,\n locales,\n version: versionValue,\n }\n\n if (field.localized) {\n return (\n <div className={`${baseClass}__field`} key={i}>\n {locales.map((locale, index) => {\n const versionLocaleValue = versionValue?.[locale]\n const comparisonLocaleValue = comparisonValue?.[locale]\n\n const cellProps = {\n ...baseCellProps,\n comparison: comparisonLocaleValue,\n version: versionLocaleValue,\n }\n\n return (\n <div className={`${baseClass}__locale`} key={[locale, index].join('-')}>\n <div className={`${baseClass}__locale-value`}>\n <Component {...cellProps} locale={locale} />\n </div>\n </div>\n )\n })}\n </div>\n )\n }\n\n return (\n <div className={`${baseClass}__field`} key={i}>\n <Component {...baseCellProps} />\n </div>\n )\n }\n\n if (field.type === 'tabs' && 'fieldMap' in field.fieldComponentProps) {\n const Tabs = diffComponents.tabs\n\n return (\n <Tabs\n comparison={comparison}\n diffComponents={diffComponents}\n field={field}\n fieldMap={field.fieldComponentProps.fieldMap}\n i18n={i18n}\n key={i}\n locales={locales}\n version={version}\n />\n )\n }\n\n // At this point, we are dealing with a `row`, etc\n if ('fieldMap' in field.fieldComponentProps) {\n return (\n <Nested\n comparison={comparison}\n diffComponents={diffComponents}\n disableGutter\n field={field}\n fieldMap={field.fieldComponentProps.fieldMap}\n i18n={i18n}\n key={i}\n locales={locales}\n permissions={fieldPermissions}\n version={version}\n />\n )\n }\n }\n\n return null\n })}\n </div>\n )\n}\n\nexport default RenderFieldsToDiff\n"],"names":["React","Nested","diffMethods","baseClass","RenderFieldsToDiff","comparison","diffComponents","fieldMap","fieldPermissions","i18n","locales","version","div","className","map","field","i","name","Component","type","isRichText","diffMethod","isFieldAffectingData","fieldName","valueIsObject","versionValue","JSON","stringify","comparisonValue","hasPermission","read","permission","subFieldPermissions","fields","baseCellProps","fieldComponentProps","localized","locale","index","versionLocaleValue","comparisonLocaleValue","cellProps","join","Tabs","tabs","disableGutter","permissions"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import { getTranslation } from '@payloadcms/translations';
3
4
  import { Button } from '@payloadcms/ui/elements/Button';
4
5
  import { Modal, useModal } from '@payloadcms/ui/elements/Modal';
@@ -53,24 +54,43 @@ const Restore = ({ className, collectionSlug, globalSlug, label, originalDocID,
53
54
  i18n,
54
55
  router
55
56
  ]);
56
- return /*#__PURE__*/ React.createElement(Fragment, null, /*#__PURE__*/ React.createElement(Pill, {
57
- className: [
58
- baseClass,
59
- className
60
- ].filter(Boolean).join(' '),
61
- onClick: ()=>toggleModal(modalSlug)
62
- }, t('version:restoreThisVersion')), /*#__PURE__*/ React.createElement(Modal, {
63
- className: `${baseClass}__modal`,
64
- slug: modalSlug
65
- }, /*#__PURE__*/ React.createElement(MinimalTemplate, {
66
- className: `${baseClass}__modal-template`
67
- }, /*#__PURE__*/ React.createElement("h1", null, t('version:confirmVersionRestoration')), /*#__PURE__*/ React.createElement("p", null, restoreMessage), /*#__PURE__*/ React.createElement(Button, {
68
- buttonStyle: "secondary",
69
- onClick: processing ? undefined : ()=>toggleModal(modalSlug),
70
- type: "button"
71
- }, t('general:cancel')), /*#__PURE__*/ React.createElement(Button, {
72
- onClick: processing ? undefined : handleRestore
73
- }, processing ? t('version:restoring') : t('general:confirm')))));
57
+ return /*#__PURE__*/ _jsxs(Fragment, {
58
+ children: [
59
+ /*#__PURE__*/ _jsx(Pill, {
60
+ className: [
61
+ baseClass,
62
+ className
63
+ ].filter(Boolean).join(' '),
64
+ onClick: ()=>toggleModal(modalSlug),
65
+ children: t('version:restoreThisVersion')
66
+ }),
67
+ /*#__PURE__*/ _jsx(Modal, {
68
+ className: `${baseClass}__modal`,
69
+ slug: modalSlug,
70
+ children: /*#__PURE__*/ _jsxs(MinimalTemplate, {
71
+ className: `${baseClass}__modal-template`,
72
+ children: [
73
+ /*#__PURE__*/ _jsx("h1", {
74
+ children: t('version:confirmVersionRestoration')
75
+ }),
76
+ /*#__PURE__*/ _jsx("p", {
77
+ children: restoreMessage
78
+ }),
79
+ /*#__PURE__*/ _jsx(Button, {
80
+ buttonStyle: "secondary",
81
+ onClick: processing ? undefined : ()=>toggleModal(modalSlug),
82
+ type: "button",
83
+ children: t('general:cancel')
84
+ }),
85
+ /*#__PURE__*/ _jsx(Button, {
86
+ onClick: processing ? undefined : handleRestore,
87
+ children: processing ? t('version:restoring') : t('general:confirm')
88
+ })
89
+ ]
90
+ })
91
+ })
92
+ ]
93
+ });
74
94
  };
75
95
  export default Restore;
76
96
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button } from '@payloadcms/ui/elements/Button'\nimport { Modal, useModal } from '@payloadcms/ui/elements/Modal'\nimport { Pill } from '@payloadcms/ui/elements/Pill'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { MinimalTemplate } from '@payloadcms/ui/templates/Minimal'\nimport { requests } from '@payloadcms/ui/utilities/api'\nimport { useRouter } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nimport type { Props } from './types.js'\n\n// import { requests } from '../../../../api'\nimport './index.scss'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\nconst Restore: React.FC<Props> = ({\n className,\n collectionSlug,\n globalSlug,\n label,\n originalDocID,\n versionDate,\n versionID,\n}) => {\n const {\n routes: { admin, api },\n serverURL,\n } = useConfig()\n const { toggleModal } = useModal()\n const [processing, setProcessing] = useState(false)\n const router = useRouter()\n const { i18n, t } = useTranslation()\n\n const restoreMessage = t('version:aboutToRestoreGlobal', {\n label: getTranslation(label, i18n),\n versionDate,\n })\n\n let fetchURL = `${serverURL}${api}`\n let redirectURL: string\n\n if (collectionSlug) {\n fetchURL = `${fetchURL}/${collectionSlug}/versions/${versionID}`\n redirectURL = `${admin}/collections/${collectionSlug}/${originalDocID}`\n }\n\n if (globalSlug) {\n fetchURL = `${fetchURL}/globals/${globalSlug}/versions/${versionID}`\n redirectURL = `${admin}/globals/${globalSlug}`\n }\n\n const handleRestore = useCallback(async () => {\n setProcessing(true)\n\n const res = await requests.post(fetchURL, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (res.status === 200) {\n const json = await res.json()\n toast.success(json.message)\n router.push(redirectURL)\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [fetchURL, redirectURL, t, i18n, router])\n\n return (\n <Fragment>\n <Pill\n className={[baseClass, className].filter(Boolean).join(' ')}\n onClick={() => toggleModal(modalSlug)}\n >\n {t('version:restoreThisVersion')}\n </Pill>\n <Modal className={`${baseClass}__modal`} slug={modalSlug}>\n <MinimalTemplate className={`${baseClass}__modal-template`}>\n <h1>{t('version:confirmVersionRestoration')}</h1>\n <p>{restoreMessage}</p>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(modalSlug)}\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button onClick={processing ? undefined : handleRestore}>\n {processing ? t('version:restoring') : t('general:confirm')}\n </Button>\n </MinimalTemplate>\n </Modal>\n </Fragment>\n )\n}\n\nexport default Restore\n"],"names":["getTranslation","Button","Modal","useModal","Pill","useConfig","useTranslation","MinimalTemplate","requests","useRouter","React","Fragment","useCallback","useState","toast","baseClass","modalSlug","Restore","className","collectionSlug","globalSlug","label","originalDocID","versionDate","versionID","routes","admin","api","serverURL","toggleModal","processing","setProcessing","router","i18n","t","restoreMessage","fetchURL","redirectURL","handleRestore","res","post","headers","language","status","json","success","message","push","error","filter","Boolean","join","onClick","slug","h1","p","buttonStyle","undefined","type"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,MAAM,QAAQ,iCAAgC;AACvD,SAASC,KAAK,EAAEC,QAAQ,QAAQ,gCAA+B;AAC/D,SAASC,IAAI,QAAQ,+BAA8B;AACnD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,QAAQ,mCAAkC;AAClE,SAASC,QAAQ,QAAQ,+BAA8B;AACvD,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,OAAOC,SAASC,QAAQ,EAAEC,WAAW,EAAEC,QAAQ,QAAQ,QAAO;AAC9D,SAASC,KAAK,QAAQ,iBAAgB;AAOtC,MAAMC,YAAY;AAClB,MAAMC,YAAY;AAElB,MAAMC,UAA2B,CAAC,EAChCC,SAAS,EACTC,cAAc,EACdC,UAAU,EACVC,KAAK,EACLC,aAAa,EACbC,WAAW,EACXC,SAAS,EACV;IACC,MAAM,EACJC,QAAQ,EAAEC,KAAK,EAAEC,GAAG,EAAE,EACtBC,SAAS,EACV,GAAGvB;IACJ,MAAM,EAAEwB,WAAW,EAAE,GAAG1B;IACxB,MAAM,CAAC2B,YAAYC,cAAc,GAAGlB,SAAS;IAC7C,MAAMmB,SAASvB;IACf,MAAM,EAAEwB,IAAI,EAAEC,CAAC,EAAE,GAAG5B;IAEpB,MAAM6B,iBAAiBD,EAAE,gCAAgC;QACvDb,OAAOrB,eAAeqB,OAAOY;QAC7BV;IACF;IAEA,IAAIa,WAAW,CAAC,EAAER,UAAU,EAAED,IAAI,CAAC;IACnC,IAAIU;IAEJ,IAAIlB,gBAAgB;QAClBiB,WAAW,CAAC,EAAEA,SAAS,CAAC,EAAEjB,eAAe,UAAU,EAAEK,UAAU,CAAC;QAChEa,cAAc,CAAC,EAAEX,MAAM,aAAa,EAAEP,eAAe,CAAC,EAAEG,cAAc,CAAC;IACzE;IAEA,IAAIF,YAAY;QACdgB,WAAW,CAAC,EAAEA,SAAS,SAAS,EAAEhB,WAAW,UAAU,EAAEI,UAAU,CAAC;QACpEa,cAAc,CAAC,EAAEX,MAAM,SAAS,EAAEN,WAAW,CAAC;IAChD;IAEA,MAAMkB,gBAAgB1B,YAAY;QAChCmB,cAAc;QAEd,MAAMQ,MAAM,MAAM/B,SAASgC,IAAI,CAACJ,UAAU;YACxCK,SAAS;gBACP,mBAAmBR,KAAKS,QAAQ;YAClC;QACF;QAEA,IAAIH,IAAII,MAAM,KAAK,KAAK;YACtB,MAAMC,OAAO,MAAML,IAAIK,IAAI;YAC3B9B,MAAM+B,OAAO,CAACD,KAAKE,OAAO;YAC1Bd,OAAOe,IAAI,CAACV;QACd,OAAO;YACLvB,MAAMkC,KAAK,CAACd,EAAE;QAChB;IACF,GAAG;QAACE;QAAUC;QAAaH;QAAGD;QAAMD;KAAO;IAE3C,qBACE,oBAACrB,8BACC,oBAACP;QACCc,WAAW;YAACH;YAAWG;SAAU,CAAC+B,MAAM,CAACC,SAASC,IAAI,CAAC;QACvDC,SAAS,IAAMvB,YAAYb;OAE1BkB,EAAE,8CAEL,oBAAChC;QAAMgB,WAAW,CAAC,EAAEH,UAAU,OAAO,CAAC;QAAEsC,MAAMrC;qBAC7C,oBAACT;QAAgBW,WAAW,CAAC,EAAEH,UAAU,gBAAgB,CAAC;qBACxD,oBAACuC,YAAIpB,EAAE,qDACP,oBAACqB,WAAGpB,+BACJ,oBAAClC;QACCuD,aAAY;QACZJ,SAAStB,aAAa2B,YAAY,IAAM5B,YAAYb;QACpD0C,MAAK;OAEJxB,EAAE,kCAEL,oBAACjC;QAAOmD,SAAStB,aAAa2B,YAAYnB;OACvCR,aAAaI,EAAE,uBAAuBA,EAAE;AAMrD;AAEA,eAAejB,QAAO"}
1
+ {"version":3,"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button } from '@payloadcms/ui/elements/Button'\nimport { Modal, useModal } from '@payloadcms/ui/elements/Modal'\nimport { Pill } from '@payloadcms/ui/elements/Pill'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { MinimalTemplate } from '@payloadcms/ui/templates/Minimal'\nimport { requests } from '@payloadcms/ui/utilities/api'\nimport { useRouter } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nimport type { Props } from './types.js'\n\n// import { requests } from '../../../../api'\nimport './index.scss'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\nconst Restore: React.FC<Props> = ({\n className,\n collectionSlug,\n globalSlug,\n label,\n originalDocID,\n versionDate,\n versionID,\n}) => {\n const {\n routes: { admin, api },\n serverURL,\n } = useConfig()\n const { toggleModal } = useModal()\n const [processing, setProcessing] = useState(false)\n const router = useRouter()\n const { i18n, t } = useTranslation()\n\n const restoreMessage = t('version:aboutToRestoreGlobal', {\n label: getTranslation(label, i18n),\n versionDate,\n })\n\n let fetchURL = `${serverURL}${api}`\n let redirectURL: string\n\n if (collectionSlug) {\n fetchURL = `${fetchURL}/${collectionSlug}/versions/${versionID}`\n redirectURL = `${admin}/collections/${collectionSlug}/${originalDocID}`\n }\n\n if (globalSlug) {\n fetchURL = `${fetchURL}/globals/${globalSlug}/versions/${versionID}`\n redirectURL = `${admin}/globals/${globalSlug}`\n }\n\n const handleRestore = useCallback(async () => {\n setProcessing(true)\n\n const res = await requests.post(fetchURL, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (res.status === 200) {\n const json = await res.json()\n toast.success(json.message)\n router.push(redirectURL)\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [fetchURL, redirectURL, t, i18n, router])\n\n return (\n <Fragment>\n <Pill\n className={[baseClass, className].filter(Boolean).join(' ')}\n onClick={() => toggleModal(modalSlug)}\n >\n {t('version:restoreThisVersion')}\n </Pill>\n <Modal className={`${baseClass}__modal`} slug={modalSlug}>\n <MinimalTemplate className={`${baseClass}__modal-template`}>\n <h1>{t('version:confirmVersionRestoration')}</h1>\n <p>{restoreMessage}</p>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(modalSlug)}\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button onClick={processing ? undefined : handleRestore}>\n {processing ? t('version:restoring') : t('general:confirm')}\n </Button>\n </MinimalTemplate>\n </Modal>\n </Fragment>\n )\n}\n\nexport default Restore\n"],"names":["getTranslation","Button","Modal","useModal","Pill","useConfig","useTranslation","MinimalTemplate","requests","useRouter","React","Fragment","useCallback","useState","toast","baseClass","modalSlug","Restore","className","collectionSlug","globalSlug","label","originalDocID","versionDate","versionID","routes","admin","api","serverURL","toggleModal","processing","setProcessing","router","i18n","t","restoreMessage","fetchURL","redirectURL","handleRestore","res","post","headers","language","status","json","success","message","push","error","filter","Boolean","join","onClick","slug","h1","p","buttonStyle","undefined","type"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import { ReactSelect } from '@payloadcms/ui/elements/ReactSelect';
3
4
  import { fieldBaseClass } from '@payloadcms/ui/fields/shared';
4
5
  import { useConfig } from '@payloadcms/ui/providers/Config';
@@ -97,34 +98,41 @@ export const SelectComparison = (props)=>{
97
98
  }, [
98
99
  getResults
99
100
  ]);
100
- return /*#__PURE__*/ React.createElement("div", {
101
+ return /*#__PURE__*/ _jsxs("div", {
101
102
  className: [
102
103
  fieldBaseClass,
103
104
  baseClass,
104
105
  errorLoading && 'error-loading'
105
- ].filter(Boolean).join(' ')
106
- }, /*#__PURE__*/ React.createElement("div", {
107
- className: `${baseClass}__label`
108
- }, t('version:compareVersion')), !errorLoading && /*#__PURE__*/ React.createElement(ReactSelect, {
109
- isClearable: false,
110
- isSearchable: false,
111
- onChange: onChange,
112
- onMenuScrollToBottom: ()=>{
113
- void getResults({
114
- lastLoadedPage: lastLoadedPage + 1
115
- });
116
- },
117
- options: [
118
- ...publishedDoc?._status === 'published' ? [
119
- publishedVersionOption
120
- ] : [],
121
- ...options
122
- ],
123
- placeholder: t('version:selectVersionToCompare'),
124
- value: value
125
- }), errorLoading && /*#__PURE__*/ React.createElement("div", {
126
- className: `${baseClass}__error-loading`
127
- }, errorLoading));
106
+ ].filter(Boolean).join(' '),
107
+ children: [
108
+ /*#__PURE__*/ _jsx("div", {
109
+ className: `${baseClass}__label`,
110
+ children: t('version:compareVersion')
111
+ }),
112
+ !errorLoading && /*#__PURE__*/ _jsx(ReactSelect, {
113
+ isClearable: false,
114
+ isSearchable: false,
115
+ onChange: onChange,
116
+ onMenuScrollToBottom: ()=>{
117
+ void getResults({
118
+ lastLoadedPage: lastLoadedPage + 1
119
+ });
120
+ },
121
+ options: [
122
+ ...publishedDoc?._status === 'published' ? [
123
+ publishedVersionOption
124
+ ] : [],
125
+ ...options
126
+ ],
127
+ placeholder: t('version:selectVersionToCompare'),
128
+ value: value
129
+ }),
130
+ errorLoading && /*#__PURE__*/ _jsx("div", {
131
+ className: `${baseClass}__error-loading`,
132
+ children: errorLoading
133
+ })
134
+ ]
135
+ });
128
136
  };
129
137
 
130
138
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs } from 'payload/database'\nimport type { Where } from 'payload/types'\n\nimport { ReactSelect } from '@payloadcms/ui/elements/ReactSelect'\nimport { fieldBaseClass } from '@payloadcms/ui/fields/shared'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { formatDate } from '@payloadcms/ui/utilities/formatDate'\nimport qs from 'qs'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { mostRecentVersionOption, publishedVersionOption } from '../shared.js'\nimport './index.scss'\n\nconst baseClass = 'compare-version'\n\nconst maxResultsPerRequest = 10\n\nconst baseOptions = [mostRecentVersionOption]\n\nexport const SelectComparison: React.FC<Props> = (props) => {\n const { baseURL, onChange, parentID, publishedDoc, value, versionID } = props\n\n const {\n admin: { dateFormat },\n } = useConfig()\n\n const { docConfig } = useDocumentInfo()\n const [options, setOptions] = useState(baseOptions)\n const [lastLoadedPage, setLastLoadedPage] = useState(1)\n const [errorLoading, setErrorLoading] = useState('')\n const { i18n, t } = useTranslation()\n const loadedAllOptionsRef = React.useRef(false)\n\n const getResults = useCallback(\n async ({ lastLoadedPage: lastLoadedPageArg }) => {\n if (loadedAllOptionsRef.current) return\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n limit: maxResultsPerRequest,\n page: lastLoadedPageArg,\n where: {\n and: [\n {\n id: {\n not_equals: versionID,\n },\n },\n ],\n },\n }\n\n if (docConfig.versions?.drafts) {\n query.where.and.push({\n latest: {\n not_equals: true,\n },\n })\n }\n\n if (parentID) {\n query.where.and.push({\n parent: {\n equals: parentID,\n },\n })\n }\n\n const search = qs.stringify(query)\n\n const response = await fetch(`${baseURL}?${search}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (response.ok) {\n const data: PaginatedDocs = await response.json()\n if (data.docs.length > 0) {\n setOptions((existingOptions) => [\n ...existingOptions,\n ...data.docs.map((doc) => ({\n label: formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat }),\n value: doc.id,\n })),\n ])\n\n if (!data.hasNextPage) {\n loadedAllOptionsRef.current = true\n }\n setLastLoadedPage(data.page)\n }\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n },\n [dateFormat, baseURL, parentID, versionID, t, i18n, docConfig.versions?.drafts],\n )\n\n useEffect(() => {\n void getResults({ lastLoadedPage: 1 })\n }, [getResults])\n\n return (\n <div\n className={[fieldBaseClass, baseClass, errorLoading && 'error-loading']\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__label`}>{t('version:compareVersion')}</div>\n {!errorLoading && (\n <ReactSelect\n isClearable={false}\n isSearchable={false}\n onChange={onChange}\n onMenuScrollToBottom={() => {\n void getResults({ lastLoadedPage: lastLoadedPage + 1 })\n }}\n options={[\n ...(publishedDoc?._status === 'published' ? [publishedVersionOption] : []),\n ...options,\n ]}\n placeholder={t('version:selectVersionToCompare')}\n value={value}\n />\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n </div>\n )\n}\n"],"names":["ReactSelect","fieldBaseClass","useConfig","useDocumentInfo","useTranslation","formatDate","qs","React","useCallback","useEffect","useState","mostRecentVersionOption","publishedVersionOption","baseClass","maxResultsPerRequest","baseOptions","SelectComparison","props","baseURL","onChange","parentID","publishedDoc","value","versionID","admin","dateFormat","docConfig","options","setOptions","lastLoadedPage","setLastLoadedPage","errorLoading","setErrorLoading","i18n","t","loadedAllOptionsRef","useRef","getResults","lastLoadedPageArg","current","query","depth","limit","page","where","and","id","not_equals","versions","drafts","push","latest","parent","equals","search","stringify","response","fetch","credentials","headers","language","ok","data","json","docs","length","existingOptions","map","doc","label","date","updatedAt","pattern","hasNextPage","div","className","filter","Boolean","join","isClearable","isSearchable","onMenuScrollToBottom","_status","placeholder"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs } from 'payload/database'\nimport type { Where } from 'payload/types'\n\nimport { ReactSelect } from '@payloadcms/ui/elements/ReactSelect'\nimport { fieldBaseClass } from '@payloadcms/ui/fields/shared'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { formatDate } from '@payloadcms/ui/utilities/formatDate'\nimport qs from 'qs'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { mostRecentVersionOption, publishedVersionOption } from '../shared.js'\nimport './index.scss'\n\nconst baseClass = 'compare-version'\n\nconst maxResultsPerRequest = 10\n\nconst baseOptions = [mostRecentVersionOption]\n\nexport const SelectComparison: React.FC<Props> = (props) => {\n const { baseURL, onChange, parentID, publishedDoc, value, versionID } = props\n\n const {\n admin: { dateFormat },\n } = useConfig()\n\n const { docConfig } = useDocumentInfo()\n const [options, setOptions] = useState(baseOptions)\n const [lastLoadedPage, setLastLoadedPage] = useState(1)\n const [errorLoading, setErrorLoading] = useState('')\n const { i18n, t } = useTranslation()\n const loadedAllOptionsRef = React.useRef(false)\n\n const getResults = useCallback(\n async ({ lastLoadedPage: lastLoadedPageArg }) => {\n if (loadedAllOptionsRef.current) return\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n limit: maxResultsPerRequest,\n page: lastLoadedPageArg,\n where: {\n and: [\n {\n id: {\n not_equals: versionID,\n },\n },\n ],\n },\n }\n\n if (docConfig.versions?.drafts) {\n query.where.and.push({\n latest: {\n not_equals: true,\n },\n })\n }\n\n if (parentID) {\n query.where.and.push({\n parent: {\n equals: parentID,\n },\n })\n }\n\n const search = qs.stringify(query)\n\n const response = await fetch(`${baseURL}?${search}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (response.ok) {\n const data: PaginatedDocs = await response.json()\n if (data.docs.length > 0) {\n setOptions((existingOptions) => [\n ...existingOptions,\n ...data.docs.map((doc) => ({\n label: formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat }),\n value: doc.id,\n })),\n ])\n\n if (!data.hasNextPage) {\n loadedAllOptionsRef.current = true\n }\n setLastLoadedPage(data.page)\n }\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n },\n [dateFormat, baseURL, parentID, versionID, t, i18n, docConfig.versions?.drafts],\n )\n\n useEffect(() => {\n void getResults({ lastLoadedPage: 1 })\n }, [getResults])\n\n return (\n <div\n className={[fieldBaseClass, baseClass, errorLoading && 'error-loading']\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__label`}>{t('version:compareVersion')}</div>\n {!errorLoading && (\n <ReactSelect\n isClearable={false}\n isSearchable={false}\n onChange={onChange}\n onMenuScrollToBottom={() => {\n void getResults({ lastLoadedPage: lastLoadedPage + 1 })\n }}\n options={[\n ...(publishedDoc?._status === 'published' ? [publishedVersionOption] : []),\n ...options,\n ]}\n placeholder={t('version:selectVersionToCompare')}\n value={value}\n />\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n </div>\n )\n}\n"],"names":["ReactSelect","fieldBaseClass","useConfig","useDocumentInfo","useTranslation","formatDate","qs","React","useCallback","useEffect","useState","mostRecentVersionOption","publishedVersionOption","baseClass","maxResultsPerRequest","baseOptions","SelectComparison","props","baseURL","onChange","parentID","publishedDoc","value","versionID","admin","dateFormat","docConfig","options","setOptions","lastLoadedPage","setLastLoadedPage","errorLoading","setErrorLoading","i18n","t","loadedAllOptionsRef","useRef","getResults","lastLoadedPageArg","current","query","depth","limit","page","where","and","id","not_equals","versions","drafts","push","latest","parent","equals","search","stringify","response","fetch","credentials","headers","language","ok","data","json","docs","length","existingOptions","map","doc","label","date","updatedAt","pattern","hasNextPage","div","className","filter","Boolean","join","isClearable","isSearchable","onMenuScrollToBottom","_status","placeholder"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  import { ReactSelect } from '@payloadcms/ui/elements/ReactSelect';
2
3
  import { useLocale } from '@payloadcms/ui/providers/Locale';
3
4
  import { useTranslation } from '@payloadcms/ui/providers/Translation';
@@ -17,17 +18,22 @@ export const SelectLocales = ({ onChange, options, value })=>{
17
18
  }
18
19
  });
19
20
  };
20
- return /*#__PURE__*/ React.createElement("div", {
21
- className: baseClass
22
- }, /*#__PURE__*/ React.createElement("div", {
23
- className: `${baseClass}__label`
24
- }, t('version:showLocales')), /*#__PURE__*/ React.createElement(ReactSelect, {
25
- isMulti: true,
26
- onChange: onChange,
27
- options: format(options),
28
- placeholder: t('version:selectLocales'),
29
- value: format(value)
30
- }));
21
+ return /*#__PURE__*/ _jsxs("div", {
22
+ className: baseClass,
23
+ children: [
24
+ /*#__PURE__*/ _jsx("div", {
25
+ className: `${baseClass}__label`,
26
+ children: t('version:showLocales')
27
+ }),
28
+ /*#__PURE__*/ _jsx(ReactSelect, {
29
+ isMulti: true,
30
+ onChange: onChange,
31
+ options: format(options),
32
+ placeholder: t('version:selectLocales'),
33
+ value: format(value)
34
+ })
35
+ ]
36
+ });
31
37
  };
32
38
 
33
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Version/SelectLocales/index.tsx"],"sourcesContent":["import { ReactSelect } from '@payloadcms/ui/elements/ReactSelect'\nimport { useLocale } from '@payloadcms/ui/providers/Locale'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport './index.scss'\n\nconst baseClass = 'select-version-locales'\n\nexport const SelectLocales: React.FC<Props> = ({ onChange, options, value }) => {\n const { t } = useTranslation()\n const { code } = useLocale()\n\n const format = (items) => {\n return items.map((item) => {\n if (typeof item.label === 'string') return item\n if (typeof item.label !== 'string' && item.label[code]) {\n return {\n label: item.label[code],\n value: item.value,\n }\n }\n })\n }\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__label`}>{t('version:showLocales')}</div>\n <ReactSelect\n isMulti\n onChange={onChange}\n options={format(options)}\n placeholder={t('version:selectLocales')}\n value={format(value)}\n />\n </div>\n )\n}\n"],"names":["ReactSelect","useLocale","useTranslation","React","baseClass","SelectLocales","onChange","options","value","t","code","format","items","map","item","label","div","className","isMulti","placeholder"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,WAAW,QAAQ,sCAAqC;AACjE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAOC,WAAW,QAAO;AAMzB,MAAMC,YAAY;AAElB,OAAO,MAAMC,gBAAiC,CAAC,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,KAAK,EAAE;IACzE,MAAM,EAAEC,CAAC,EAAE,GAAGP;IACd,MAAM,EAAEQ,IAAI,EAAE,GAAGT;IAEjB,MAAMU,SAAS,CAACC;QACd,OAAOA,MAAMC,GAAG,CAAC,CAACC;YAChB,IAAI,OAAOA,KAAKC,KAAK,KAAK,UAAU,OAAOD;YAC3C,IAAI,OAAOA,KAAKC,KAAK,KAAK,YAAYD,KAAKC,KAAK,CAACL,KAAK,EAAE;gBACtD,OAAO;oBACLK,OAAOD,KAAKC,KAAK,CAACL,KAAK;oBACvBF,OAAOM,KAAKN,KAAK;gBACnB;YACF;QACF;IACF;IAEA,qBACE,oBAACQ;QAAIC,WAAWb;qBACd,oBAACY;QAAIC,WAAW,CAAC,EAAEb,UAAU,OAAO,CAAC;OAAGK,EAAE,uCAC1C,oBAACT;QACCkB,SAAAA;QACAZ,UAAUA;QACVC,SAASI,OAAOJ;QAChBY,aAAaV,EAAE;QACfD,OAAOG,OAAOH;;AAItB,EAAC"}
1
+ {"version":3,"sources":["../../../../src/views/Version/SelectLocales/index.tsx"],"sourcesContent":["import { ReactSelect } from '@payloadcms/ui/elements/ReactSelect'\nimport { useLocale } from '@payloadcms/ui/providers/Locale'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport './index.scss'\n\nconst baseClass = 'select-version-locales'\n\nexport const SelectLocales: React.FC<Props> = ({ onChange, options, value }) => {\n const { t } = useTranslation()\n const { code } = useLocale()\n\n const format = (items) => {\n return items.map((item) => {\n if (typeof item.label === 'string') return item\n if (typeof item.label !== 'string' && item.label[code]) {\n return {\n label: item.label[code],\n value: item.value,\n }\n }\n })\n }\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__label`}>{t('version:showLocales')}</div>\n <ReactSelect\n isMulti\n onChange={onChange}\n options={format(options)}\n placeholder={t('version:selectLocales')}\n value={format(value)}\n />\n </div>\n )\n}\n"],"names":["ReactSelect","useLocale","useTranslation","React","baseClass","SelectLocales","onChange","options","value","t","code","format","items","map","item","label","div","className","isMulti","placeholder"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAASA,WAAW,QAAQ,sCAAqC;AACjE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAOC,WAAW,QAAO;AAMzB,MAAMC,YAAY;AAElB,OAAO,MAAMC,gBAAiC,CAAC,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,KAAK,EAAE;IACzE,MAAM,EAAEC,CAAC,EAAE,GAAGP;IACd,MAAM,EAAEQ,IAAI,EAAE,GAAGT;IAEjB,MAAMU,SAAS,CAACC;QACd,OAAOA,MAAMC,GAAG,CAAC,CAACC;YAChB,IAAI,OAAOA,KAAKC,KAAK,KAAK,UAAU,OAAOD;YAC3C,IAAI,OAAOA,KAAKC,KAAK,KAAK,YAAYD,KAAKC,KAAK,CAACL,KAAK,EAAE;gBACtD,OAAO;oBACLK,OAAOD,KAAKC,KAAK,CAACL,KAAK;oBACvBF,OAAOM,KAAKN,KAAK;gBACnB;YACF;QACF;IACF;IAEA,qBACE,MAACQ;QAAIC,WAAWb;;0BACd,KAACY;gBAAIC,WAAW,CAAC,EAAEb,UAAU,OAAO,CAAC;0BAAGK,EAAE;;0BAC1C,KAACT;gBACCkB,OAAO;gBACPZ,UAAUA;gBACVC,SAASI,OAAOJ;gBAChBY,aAAaV,EAAE;gBACfD,OAAOG,OAAOH;;;;AAItB,EAAC"}
@@ -1,3 +1,4 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
1
2
  import { notFound } from 'next/navigation.js';
2
3
  import React from 'react';
3
4
  import { DefaultVersionView } from './Default/index.js';
@@ -88,7 +89,7 @@ export const VersionView = async (props)=>{
88
89
  if (!doc) {
89
90
  return notFound();
90
91
  }
91
- return /*#__PURE__*/ React.createElement(DefaultVersionView, {
92
+ return /*#__PURE__*/ _jsx(DefaultVersionView, {
92
93
  doc: doc,
93
94
  docPermissions: docPermissions,
94
95
  initialComparisonDoc: mostRecentDoc,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Version/index.tsx"],"sourcesContent":["import type { CollectionPermission, GlobalPermission } from 'payload/auth'\nimport type { OptionObject } from 'payload/types'\nimport type { Document, EditViewComponent } from 'payload/types'\n\nimport { notFound } from 'next/navigation.js'\nimport React from 'react'\n\nimport { DefaultVersionView } from './Default/index.js'\n\nexport const VersionView: EditViewComponent = async (props) => {\n const { initPageResult, routeSegments } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n permissions,\n req: { payload, payload: { config } = {}, user } = {},\n } = initPageResult\n\n const versionID = routeSegments[routeSegments.length - 1]\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n\n const { localization } = config\n\n let docPermissions: CollectionPermission | GlobalPermission\n let slug: string\n\n let doc: Document\n let publishedDoc: Document\n let mostRecentDoc: Document\n\n if (collectionSlug) {\n // /collections/:slug/:id/versions/:versionID\n slug = collectionSlug\n docPermissions = permissions.collections[collectionSlug]\n\n try {\n doc = await payload.findVersionByID({\n id: versionID,\n collection: slug,\n depth: 1,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n publishedDoc = await payload.findByID({\n id,\n collection: slug,\n depth: 1,\n draft: false,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n mostRecentDoc = await payload.findByID({\n id,\n collection: slug,\n depth: 1,\n draft: true,\n locale: '*',\n overrideAccess: false,\n user,\n })\n } catch (error) {\n return notFound()\n }\n }\n\n if (globalSlug) {\n // /globals/:slug/versions/:versionID\n slug = globalSlug\n docPermissions = permissions.globals[globalSlug]\n\n try {\n doc = await payload.findGlobalVersionByID({\n id: versionID,\n slug,\n depth: 1,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n publishedDoc = await payload.findGlobal({\n slug,\n depth: 1,\n draft: false,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n mostRecentDoc = await payload.findGlobal({\n slug,\n depth: 1,\n draft: true,\n locale: '*',\n overrideAccess: false,\n user,\n })\n } catch (error) {\n return notFound()\n }\n }\n\n const localeOptions: OptionObject[] =\n localization &&\n localization?.locales &&\n localization.locales.map(({ code, label }) => ({\n label: typeof label === 'string' ? label : '',\n value: code,\n }))\n\n if (!doc) {\n return notFound()\n }\n\n return (\n <DefaultVersionView\n doc={doc}\n docPermissions={docPermissions}\n initialComparisonDoc={mostRecentDoc}\n localeOptions={localeOptions}\n mostRecentDoc={mostRecentDoc}\n publishedDoc={publishedDoc}\n versionID={versionID}\n />\n )\n}\n"],"names":["notFound","React","DefaultVersionView","VersionView","props","initPageResult","routeSegments","collectionConfig","docID","id","globalConfig","permissions","req","payload","config","user","versionID","length","collectionSlug","slug","globalSlug","localization","docPermissions","doc","publishedDoc","mostRecentDoc","collections","findVersionByID","collection","depth","locale","overrideAccess","findByID","draft","error","globals","findGlobalVersionByID","findGlobal","localeOptions","locales","map","code","label","value","initialComparisonDoc"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,WAAW,QAAO;AAEzB,SAASC,kBAAkB,QAAQ,qBAAoB;AAEvD,OAAO,MAAMC,cAAiC,OAAOC;IACnD,MAAM,EAAEC,cAAc,EAAEC,aAAa,EAAE,GAAGF;IAE1C,MAAM,EACJG,gBAAgB,EAChBC,OAAOC,EAAE,EACTC,YAAY,EACZC,WAAW,EACXC,KAAK,EAAEC,OAAO,EAAEA,SAAS,EAAEC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAG,CAAC,CAAC,EACtD,GAAGV;IAEJ,MAAMW,YAAYV,aAAa,CAACA,cAAcW,MAAM,GAAG,EAAE;IAEzD,MAAMC,iBAAiBX,kBAAkBY;IACzC,MAAMC,aAAaV,cAAcS;IAEjC,MAAM,EAAEE,YAAY,EAAE,GAAGP;IAEzB,IAAIQ;IACJ,IAAIH;IAEJ,IAAII;IACJ,IAAIC;IACJ,IAAIC;IAEJ,IAAIP,gBAAgB;QAClB,6CAA6C;QAC7CC,OAAOD;QACPI,iBAAiBX,YAAYe,WAAW,CAACR,eAAe;QAExD,IAAI;YACFK,MAAM,MAAMV,QAAQc,eAAe,CAAC;gBAClClB,IAAIO;gBACJY,YAAYT;gBACZU,OAAO;gBACPC,QAAQ;gBACRC,gBAAgB;gBAChBhB;YACF;YAEAS,eAAe,MAAMX,QAAQmB,QAAQ,CAAC;gBACpCvB;gBACAmB,YAAYT;gBACZU,OAAO;gBACPI,OAAO;gBACPH,QAAQ;gBACRC,gBAAgB;gBAChBhB;YACF;YAEAU,gBAAgB,MAAMZ,QAAQmB,QAAQ,CAAC;gBACrCvB;gBACAmB,YAAYT;gBACZU,OAAO;gBACPI,OAAO;gBACPH,QAAQ;gBACRC,gBAAgB;gBAChBhB;YACF;QACF,EAAE,OAAOmB,OAAO;YACd,OAAOlC;QACT;IACF;IAEA,IAAIoB,YAAY;QACd,qCAAqC;QACrCD,OAAOC;QACPE,iBAAiBX,YAAYwB,OAAO,CAACf,WAAW;QAEhD,IAAI;YACFG,MAAM,MAAMV,QAAQuB,qBAAqB,CAAC;gBACxC3B,IAAIO;gBACJG;gBACAU,OAAO;gBACPC,QAAQ;gBACRC,gBAAgB;gBAChBhB;YACF;YAEAS,eAAe,MAAMX,QAAQwB,UAAU,CAAC;gBACtClB;gBACAU,OAAO;gBACPI,OAAO;gBACPH,QAAQ;gBACRC,gBAAgB;gBAChBhB;YACF;YAEAU,gBAAgB,MAAMZ,QAAQwB,UAAU,CAAC;gBACvClB;gBACAU,OAAO;gBACPI,OAAO;gBACPH,QAAQ;gBACRC,gBAAgB;gBAChBhB;YACF;QACF,EAAE,OAAOmB,OAAO;YACd,OAAOlC;QACT;IACF;IAEA,MAAMsC,gBACJjB,gBACAA,cAAckB,WACdlB,aAAakB,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAM,CAAA;YAC7CA,OAAO,OAAOA,UAAU,WAAWA,QAAQ;YAC3CC,OAAOF;QACT,CAAA;IAEF,IAAI,CAAClB,KAAK;QACR,OAAOvB;IACT;IAEA,qBACE,oBAACE;QACCqB,KAAKA;QACLD,gBAAgBA;QAChBsB,sBAAsBnB;QACtBa,eAAeA;QACfb,eAAeA;QACfD,cAAcA;QACdR,WAAWA;;AAGjB,EAAC"}
1
+ {"version":3,"sources":["../../../src/views/Version/index.tsx"],"sourcesContent":["import type { CollectionPermission, GlobalPermission } from 'payload/auth'\nimport type { OptionObject } from 'payload/types'\nimport type { Document, EditViewComponent } from 'payload/types'\n\nimport { notFound } from 'next/navigation.js'\nimport React from 'react'\n\nimport { DefaultVersionView } from './Default/index.js'\n\nexport const VersionView: EditViewComponent = async (props) => {\n const { initPageResult, routeSegments } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n permissions,\n req: { payload, payload: { config } = {}, user } = {},\n } = initPageResult\n\n const versionID = routeSegments[routeSegments.length - 1]\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n\n const { localization } = config\n\n let docPermissions: CollectionPermission | GlobalPermission\n let slug: string\n\n let doc: Document\n let publishedDoc: Document\n let mostRecentDoc: Document\n\n if (collectionSlug) {\n // /collections/:slug/:id/versions/:versionID\n slug = collectionSlug\n docPermissions = permissions.collections[collectionSlug]\n\n try {\n doc = await payload.findVersionByID({\n id: versionID,\n collection: slug,\n depth: 1,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n publishedDoc = await payload.findByID({\n id,\n collection: slug,\n depth: 1,\n draft: false,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n mostRecentDoc = await payload.findByID({\n id,\n collection: slug,\n depth: 1,\n draft: true,\n locale: '*',\n overrideAccess: false,\n user,\n })\n } catch (error) {\n return notFound()\n }\n }\n\n if (globalSlug) {\n // /globals/:slug/versions/:versionID\n slug = globalSlug\n docPermissions = permissions.globals[globalSlug]\n\n try {\n doc = await payload.findGlobalVersionByID({\n id: versionID,\n slug,\n depth: 1,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n publishedDoc = await payload.findGlobal({\n slug,\n depth: 1,\n draft: false,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n mostRecentDoc = await payload.findGlobal({\n slug,\n depth: 1,\n draft: true,\n locale: '*',\n overrideAccess: false,\n user,\n })\n } catch (error) {\n return notFound()\n }\n }\n\n const localeOptions: OptionObject[] =\n localization &&\n localization?.locales &&\n localization.locales.map(({ code, label }) => ({\n label: typeof label === 'string' ? label : '',\n value: code,\n }))\n\n if (!doc) {\n return notFound()\n }\n\n return (\n <DefaultVersionView\n doc={doc}\n docPermissions={docPermissions}\n initialComparisonDoc={mostRecentDoc}\n localeOptions={localeOptions}\n mostRecentDoc={mostRecentDoc}\n publishedDoc={publishedDoc}\n versionID={versionID}\n />\n )\n}\n"],"names":["notFound","React","DefaultVersionView","VersionView","props","initPageResult","routeSegments","collectionConfig","docID","id","globalConfig","permissions","req","payload","config","user","versionID","length","collectionSlug","slug","globalSlug","localization","docPermissions","doc","publishedDoc","mostRecentDoc","collections","findVersionByID","collection","depth","locale","overrideAccess","findByID","draft","error","globals","findGlobalVersionByID","findGlobal","localeOptions","locales","map","code","label","value","initialComparisonDoc"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAIA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,WAAW,QAAO;AAEzB,SAASC,kBAAkB,QAAQ,qBAAoB;AAEvD,OAAO,MAAMC,cAAiC,OAAOC;IACnD,MAAM,EAAEC,cAAc,EAAEC,aAAa,EAAE,GAAGF;IAE1C,MAAM,EACJG,gBAAgB,EAChBC,OAAOC,EAAE,EACTC,YAAY,EACZC,WAAW,EACXC,KAAK,EAAEC,OAAO,EAAEA,SAAS,EAAEC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAG,CAAC,CAAC,EACtD,GAAGV;IAEJ,MAAMW,YAAYV,aAAa,CAACA,cAAcW,MAAM,GAAG,EAAE;IAEzD,MAAMC,iBAAiBX,kBAAkBY;IACzC,MAAMC,aAAaV,cAAcS;IAEjC,MAAM,EAAEE,YAAY,EAAE,GAAGP;IAEzB,IAAIQ;IACJ,IAAIH;IAEJ,IAAII;IACJ,IAAIC;IACJ,IAAIC;IAEJ,IAAIP,gBAAgB;QAClB,6CAA6C;QAC7CC,OAAOD;QACPI,iBAAiBX,YAAYe,WAAW,CAACR,eAAe;QAExD,IAAI;YACFK,MAAM,MAAMV,QAAQc,eAAe,CAAC;gBAClClB,IAAIO;gBACJY,YAAYT;gBACZU,OAAO;gBACPC,QAAQ;gBACRC,gBAAgB;gBAChBhB;YACF;YAEAS,eAAe,MAAMX,QAAQmB,QAAQ,CAAC;gBACpCvB;gBACAmB,YAAYT;gBACZU,OAAO;gBACPI,OAAO;gBACPH,QAAQ;gBACRC,gBAAgB;gBAChBhB;YACF;YAEAU,gBAAgB,MAAMZ,QAAQmB,QAAQ,CAAC;gBACrCvB;gBACAmB,YAAYT;gBACZU,OAAO;gBACPI,OAAO;gBACPH,QAAQ;gBACRC,gBAAgB;gBAChBhB;YACF;QACF,EAAE,OAAOmB,OAAO;YACd,OAAOlC;QACT;IACF;IAEA,IAAIoB,YAAY;QACd,qCAAqC;QACrCD,OAAOC;QACPE,iBAAiBX,YAAYwB,OAAO,CAACf,WAAW;QAEhD,IAAI;YACFG,MAAM,MAAMV,QAAQuB,qBAAqB,CAAC;gBACxC3B,IAAIO;gBACJG;gBACAU,OAAO;gBACPC,QAAQ;gBACRC,gBAAgB;gBAChBhB;YACF;YAEAS,eAAe,MAAMX,QAAQwB,UAAU,CAAC;gBACtClB;gBACAU,OAAO;gBACPI,OAAO;gBACPH,QAAQ;gBACRC,gBAAgB;gBAChBhB;YACF;YAEAU,gBAAgB,MAAMZ,QAAQwB,UAAU,CAAC;gBACvClB;gBACAU,OAAO;gBACPI,OAAO;gBACPH,QAAQ;gBACRC,gBAAgB;gBAChBhB;YACF;QACF,EAAE,OAAOmB,OAAO;YACd,OAAOlC;QACT;IACF;IAEA,MAAMsC,gBACJjB,gBACAA,cAAckB,WACdlB,aAAakB,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAM,CAAA;YAC7CA,OAAO,OAAOA,UAAU,WAAWA,QAAQ;YAC3CC,OAAOF;QACT,CAAA;IAEF,IAAI,CAAClB,KAAK;QACR,OAAOvB;IACT;IAEA,qBACE,KAACE;QACCqB,KAAKA;QACLD,gBAAgBA;QAChBsB,sBAAsBnB;QACtBa,eAAeA;QACfb,eAAeA;QACfD,cAAcA;QACdR,WAAWA;;AAGjB,EAAC"}
@@ -1,3 +1,4 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
1
2
  import { SortColumn } from '@payloadcms/ui/elements/SortColumn';
2
3
  import React from 'react';
3
4
  import { AutosaveCell } from './cells/AutosaveCell/index.js';
@@ -13,12 +14,12 @@ export const buildVersionColumns = ({ collectionConfig, docID, globalConfig, i18
13
14
  accessor: 'updatedAt',
14
15
  active: true,
15
16
  components: {
16
- Cell: /*#__PURE__*/ React.createElement(CreatedAtCell, {
17
+ Cell: /*#__PURE__*/ _jsx(CreatedAtCell, {
17
18
  collectionSlug: collectionConfig?.slug,
18
19
  docID: docID,
19
20
  globalSlug: globalConfig?.slug
20
21
  }),
21
- Heading: /*#__PURE__*/ React.createElement(SortColumn, {
22
+ Heading: /*#__PURE__*/ _jsx(SortColumn, {
22
23
  Label: t('general:updatedAt'),
23
24
  name: "updatedAt"
24
25
  })
@@ -31,8 +32,8 @@ export const buildVersionColumns = ({ collectionConfig, docID, globalConfig, i18
31
32
  accessor: 'id',
32
33
  active: true,
33
34
  components: {
34
- Cell: /*#__PURE__*/ React.createElement(IDCell, null),
35
- Heading: /*#__PURE__*/ React.createElement(SortColumn, {
35
+ Cell: /*#__PURE__*/ _jsx(IDCell, {}),
36
+ Heading: /*#__PURE__*/ _jsx(SortColumn, {
36
37
  Label: t('version:versionID'),
37
38
  disable: true,
38
39
  name: "id"
@@ -48,8 +49,8 @@ export const buildVersionColumns = ({ collectionConfig, docID, globalConfig, i18
48
49
  accessor: '_status',
49
50
  active: true,
50
51
  components: {
51
- Cell: /*#__PURE__*/ React.createElement(AutosaveCell, null),
52
- Heading: /*#__PURE__*/ React.createElement(SortColumn, {
52
+ Cell: /*#__PURE__*/ _jsx(AutosaveCell, {}),
53
+ Heading: /*#__PURE__*/ _jsx(SortColumn, {
53
54
  Label: t('version:type'),
54
55
  disable: true,
55
56
  name: "autosave"