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

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 (176) 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/getPayloadHMR.d.ts.map +1 -1
  17. package/dist/utilities/getPayloadHMR.js +5 -3
  18. package/dist/utilities/getPayloadHMR.js.map +1 -1
  19. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  20. package/dist/utilities/getRequestLanguage.js +1 -1
  21. package/dist/utilities/getRequestLanguage.js.map +1 -1
  22. package/dist/utilities/getRequestTheme.d.ts +11 -0
  23. package/dist/utilities/getRequestTheme.d.ts.map +1 -0
  24. package/dist/utilities/getRequestTheme.js +19 -0
  25. package/dist/utilities/getRequestTheme.js.map +1 -0
  26. package/dist/utilities/initPage/index.d.ts.map +1 -1
  27. package/dist/utilities/initPage/index.js +1 -0
  28. package/dist/utilities/initPage/index.js.map +1 -1
  29. package/dist/views/API/RenderJSON/index.js +99 -70
  30. package/dist/views/API/RenderJSON/index.js.map +1 -1
  31. package/dist/views/API/index.client.js +128 -91
  32. package/dist/views/API/index.client.js.map +1 -1
  33. package/dist/views/API/index.js +2 -1
  34. package/dist/views/API/index.js.map +1 -1
  35. package/dist/views/Account/Settings/index.js +27 -15
  36. package/dist/views/Account/Settings/index.js.map +1 -1
  37. package/dist/views/Account/ToggleTheme/index.js +2 -1
  38. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  39. package/dist/views/Account/index.d.ts.map +1 -1
  40. package/dist/views/Account/index.js +54 -40
  41. package/dist/views/Account/index.js.map +1 -1
  42. package/dist/views/CreateFirstUser/index.client.js +29 -19
  43. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  44. package/dist/views/CreateFirstUser/index.js +16 -6
  45. package/dist/views/CreateFirstUser/index.js.map +1 -1
  46. package/dist/views/Dashboard/Default/index.client.js +67 -56
  47. package/dist/views/Dashboard/Default/index.client.js.map +1 -1
  48. package/dist/views/Dashboard/Default/index.js +28 -19
  49. package/dist/views/Dashboard/Default/index.js.map +1 -1
  50. package/dist/views/Dashboard/index.js +23 -17
  51. package/dist/views/Dashboard/index.js.map +1 -1
  52. package/dist/views/Document/getDocumentData.d.ts +10 -0
  53. package/dist/views/Document/getDocumentData.d.ts.map +1 -0
  54. package/dist/views/Document/getDocumentData.js +24 -0
  55. package/dist/views/Document/getDocumentData.js.map +1 -0
  56. package/dist/views/Document/getDocumentPermissions.d.ts +14 -0
  57. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -0
  58. package/dist/views/Document/getDocumentPermissions.js +83 -0
  59. package/dist/views/Document/getDocumentPermissions.js.map +1 -0
  60. package/dist/views/Document/index.d.ts.map +1 -1
  61. package/dist/views/Document/index.js +63 -64
  62. package/dist/views/Document/index.js.map +1 -1
  63. package/dist/views/Edit/Default/Auth/APIKey.js +41 -25
  64. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  65. package/dist/views/Edit/Default/Auth/index.js +78 -50
  66. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  67. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  68. package/dist/views/Edit/Default/index.js +84 -65
  69. package/dist/views/Edit/Default/index.js.map +1 -1
  70. package/dist/views/Edit/index.client.js +10 -4
  71. package/dist/views/Edit/index.client.js.map +1 -1
  72. package/dist/views/Edit/index.js +2 -1
  73. package/dist/views/Edit/index.js.map +1 -1
  74. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +42 -20
  75. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  76. package/dist/views/ForgotPassword/index.js +37 -17
  77. package/dist/views/ForgotPassword/index.js.map +1 -1
  78. package/dist/views/List/Default/index.js +151 -81
  79. package/dist/views/List/Default/index.js.map +1 -1
  80. package/dist/views/List/index.js +52 -43
  81. package/dist/views/List/index.js.map +1 -1
  82. package/dist/views/LivePreview/Context/context.d.ts +1 -1
  83. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  84. package/dist/views/LivePreview/Context/context.js.map +1 -1
  85. package/dist/views/LivePreview/Context/index.js +9 -6
  86. package/dist/views/LivePreview/Context/index.js.map +1 -1
  87. package/dist/views/LivePreview/Device/index.js +5 -3
  88. package/dist/views/LivePreview/Device/index.js.map +1 -1
  89. package/dist/views/LivePreview/DeviceContainer/index.js +5 -3
  90. package/dist/views/LivePreview/DeviceContainer/index.js.map +1 -1
  91. package/dist/views/LivePreview/IFrame/index.js +2 -1
  92. package/dist/views/LivePreview/IFrame/index.js.map +1 -1
  93. package/dist/views/LivePreview/Preview/index.js +25 -14
  94. package/dist/views/LivePreview/Preview/index.js.map +1 -1
  95. package/dist/views/LivePreview/Toolbar/Controls/index.js +105 -57
  96. package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
  97. package/dist/views/LivePreview/Toolbar/SizeInput/index.js +2 -1
  98. package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  99. package/dist/views/LivePreview/Toolbar/index.js +29 -14
  100. package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
  101. package/dist/views/LivePreview/ToolbarArea/index.js +5 -3
  102. package/dist/views/LivePreview/ToolbarArea/index.js.map +1 -1
  103. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  104. package/dist/views/LivePreview/index.client.js +103 -76
  105. package/dist/views/LivePreview/index.client.js.map +1 -1
  106. package/dist/views/LivePreview/index.js +2 -1
  107. package/dist/views/LivePreview/index.js.map +1 -1
  108. package/dist/views/Login/LoginForm/index.js +62 -48
  109. package/dist/views/Login/LoginForm/index.js.map +1 -1
  110. package/dist/views/Login/index.js +26 -19
  111. package/dist/views/Login/index.js.map +1 -1
  112. package/dist/views/Logout/LogoutClient.js +21 -7
  113. package/dist/views/Logout/LogoutClient.js.map +1 -1
  114. package/dist/views/Logout/index.js +13 -10
  115. package/dist/views/Logout/index.js.map +1 -1
  116. package/dist/views/NotFound/index.client.js +22 -10
  117. package/dist/views/NotFound/index.client.js.map +1 -1
  118. package/dist/views/NotFound/index.js +21 -14
  119. package/dist/views/NotFound/index.js.map +1 -1
  120. package/dist/views/ResetPassword/index.client.js +17 -8
  121. package/dist/views/ResetPassword/index.client.js.map +1 -1
  122. package/dist/views/ResetPassword/index.js +46 -25
  123. package/dist/views/ResetPassword/index.js.map +1 -1
  124. package/dist/views/Root/index.d.ts.map +1 -1
  125. package/dist/views/Root/index.js +36 -16
  126. package/dist/views/Root/index.js.map +1 -1
  127. package/dist/views/Unauthorized/index.js +19 -8
  128. package/dist/views/Unauthorized/index.js.map +1 -1
  129. package/dist/views/Verify/index.js +20 -11
  130. package/dist/views/Verify/index.js.map +1 -1
  131. package/dist/views/Version/Default/index.js +83 -57
  132. package/dist/views/Version/Default/index.js.map +1 -1
  133. package/dist/views/Version/RenderFieldsToDiff/Label/index.js +5 -3
  134. package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +1 -1
  135. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +65 -50
  136. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  137. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +30 -18
  138. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  139. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +23 -12
  140. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  141. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +2 -1
  142. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -1
  143. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +22 -11
  144. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  145. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +31 -30
  146. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  147. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +2 -1
  148. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -1
  149. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +22 -11
  150. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  151. package/dist/views/Version/RenderFieldsToDiff/index.js +90 -87
  152. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  153. package/dist/views/Version/Restore/index.js +38 -18
  154. package/dist/views/Version/Restore/index.js.map +1 -1
  155. package/dist/views/Version/SelectComparison/index.js +32 -24
  156. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  157. package/dist/views/Version/SelectLocales/index.js +17 -11
  158. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  159. package/dist/views/Version/index.js +2 -1
  160. package/dist/views/Version/index.js.map +1 -1
  161. package/dist/views/Versions/buildColumns.js +7 -6
  162. package/dist/views/Versions/buildColumns.js.map +1 -1
  163. package/dist/views/Versions/cells/AutosaveCell/index.js +25 -3
  164. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  165. package/dist/views/Versions/cells/CreatedAt/index.js +9 -7
  166. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  167. package/dist/views/Versions/cells/ID/index.js +4 -1
  168. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  169. package/dist/views/Versions/index.client.js +61 -29
  170. package/dist/views/Versions/index.client.js.map +1 -1
  171. package/dist/views/Versions/index.js +31 -22
  172. package/dist/views/Versions/index.js.map +1 -1
  173. package/dist/withPayload.d.ts.map +1 -1
  174. package/dist/withPayload.js +23 -0
  175. package/dist/withPayload.js.map +1 -1
  176. package/package.json +15 -11
@@ -1,3 +1,4 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  import { Gutter } from '@payloadcms/ui/elements/Gutter';
2
3
  import { SetStepNav } from '@payloadcms/ui/elements/StepNav';
3
4
  import { WithServerSideProps } from '@payloadcms/ui/elements/WithServerSideProps';
@@ -7,9 +8,8 @@ import { DefaultDashboardClient } from './index.client.js';
7
8
  const baseClass = 'dashboard';
8
9
  export const DefaultDashboard = (props)=>{
9
10
  const { Link, i18n, locale, params, payload: { config: { admin: { components: { afterDashboard, beforeDashboard } } } }, payload, permissions, searchParams, user, visibleEntities } = props;
10
- const BeforeDashboards = Array.isArray(beforeDashboard) ? beforeDashboard.map((Component, i)=>/*#__PURE__*/ React.createElement(WithServerSideProps, {
11
+ const BeforeDashboards = Array.isArray(beforeDashboard) ? beforeDashboard.map((Component, i)=>/*#__PURE__*/ _jsx(WithServerSideProps, {
11
12
  Component: Component,
12
- key: i,
13
13
  serverOnlyProps: {
14
14
  i18n,
15
15
  locale,
@@ -19,10 +19,9 @@ export const DefaultDashboard = (props)=>{
19
19
  searchParams,
20
20
  user
21
21
  }
22
- })) : null;
23
- const AfterDashboards = Array.isArray(afterDashboard) ? afterDashboard.map((Component, i)=>/*#__PURE__*/ React.createElement(WithServerSideProps, {
22
+ }, i)) : null;
23
+ const AfterDashboards = Array.isArray(afterDashboard) ? afterDashboard.map((Component, i)=>/*#__PURE__*/ _jsx(WithServerSideProps, {
24
24
  Component: Component,
25
- key: i,
26
25
  serverOnlyProps: {
27
26
  i18n,
28
27
  locale,
@@ -32,20 +31,30 @@ export const DefaultDashboard = (props)=>{
32
31
  searchParams,
33
32
  user
34
33
  }
35
- })) : null;
36
- return /*#__PURE__*/ React.createElement("div", {
37
- className: baseClass
38
- }, /*#__PURE__*/ React.createElement(SetStepNav, {
39
- nav: []
40
- }), /*#__PURE__*/ React.createElement(SetViewActions, {
41
- actions: []
42
- }), /*#__PURE__*/ React.createElement(Gutter, {
43
- className: `${baseClass}__wrap`
44
- }, Array.isArray(BeforeDashboards) && BeforeDashboards.map((Component)=>Component), /*#__PURE__*/ React.createElement(DefaultDashboardClient, {
45
- Link: Link,
46
- permissions: permissions,
47
- visibleEntities: visibleEntities
48
- }), Array.isArray(AfterDashboards) && AfterDashboards.map((Component)=>Component)));
34
+ }, i)) : null;
35
+ return /*#__PURE__*/ _jsxs("div", {
36
+ className: baseClass,
37
+ children: [
38
+ /*#__PURE__*/ _jsx(SetStepNav, {
39
+ nav: []
40
+ }),
41
+ /*#__PURE__*/ _jsx(SetViewActions, {
42
+ actions: []
43
+ }),
44
+ /*#__PURE__*/ _jsxs(Gutter, {
45
+ className: `${baseClass}__wrap`,
46
+ children: [
47
+ Array.isArray(BeforeDashboards) && BeforeDashboards.map((Component)=>Component),
48
+ /*#__PURE__*/ _jsx(DefaultDashboardClient, {
49
+ Link: Link,
50
+ permissions: permissions,
51
+ visibleEntities: visibleEntities
52
+ }),
53
+ Array.isArray(AfterDashboards) && AfterDashboards.map((Component)=>Component)
54
+ ]
55
+ })
56
+ ]
57
+ });
49
58
  };
50
59
 
51
60
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Dashboard/Default/index.tsx"],"sourcesContent":["import type { Permissions } from 'payload/auth'\nimport type { ServerProps } from 'payload/config'\nimport type { VisibleEntities } from 'payload/types'\n\nimport { Gutter } from '@payloadcms/ui/elements/Gutter'\nimport { SetStepNav } from '@payloadcms/ui/elements/StepNav'\nimport { WithServerSideProps } from '@payloadcms/ui/elements/WithServerSideProps'\nimport { SetViewActions } from '@payloadcms/ui/providers/Actions'\nimport React from 'react'\n\nimport { DefaultDashboardClient } from './index.client.js'\nimport './index.scss'\n\nconst baseClass = 'dashboard'\n\nexport type DashboardProps = ServerProps & {\n Link: React.ComponentType<any>\n\n permissions: Permissions\n visibleEntities: VisibleEntities\n}\n\nexport const DefaultDashboard: React.FC<DashboardProps> = (props) => {\n const {\n Link,\n i18n,\n locale,\n params,\n payload: {\n config: {\n admin: {\n components: { afterDashboard, beforeDashboard },\n },\n },\n },\n payload,\n permissions,\n searchParams,\n user,\n visibleEntities,\n } = props\n\n const BeforeDashboards = Array.isArray(beforeDashboard)\n ? beforeDashboard.map((Component, i) => (\n <WithServerSideProps\n Component={Component}\n key={i}\n serverOnlyProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n ))\n : null\n\n const AfterDashboards = Array.isArray(afterDashboard)\n ? afterDashboard.map((Component, i) => (\n <WithServerSideProps\n Component={Component}\n key={i}\n serverOnlyProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n ))\n : null\n\n return (\n <div className={baseClass}>\n <SetStepNav nav={[]} />\n <SetViewActions actions={[]} />\n <Gutter className={`${baseClass}__wrap`}>\n {Array.isArray(BeforeDashboards) && BeforeDashboards.map((Component) => Component)}\n\n <DefaultDashboardClient\n Link={Link}\n permissions={permissions}\n visibleEntities={visibleEntities}\n />\n {Array.isArray(AfterDashboards) && AfterDashboards.map((Component) => Component)}\n </Gutter>\n </div>\n )\n}\n"],"names":["Gutter","SetStepNav","WithServerSideProps","SetViewActions","React","DefaultDashboardClient","baseClass","DefaultDashboard","props","Link","i18n","locale","params","payload","config","admin","components","afterDashboard","beforeDashboard","permissions","searchParams","user","visibleEntities","BeforeDashboards","Array","isArray","map","Component","i","key","serverOnlyProps","AfterDashboards","div","className","nav","actions"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,SAASA,MAAM,QAAQ,iCAAgC;AACvD,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,mBAAmB,QAAQ,8CAA6C;AACjF,SAASC,cAAc,QAAQ,mCAAkC;AACjE,OAAOC,WAAW,QAAO;AAEzB,SAASC,sBAAsB,QAAQ,oBAAmB;AAG1D,MAAMC,YAAY;AASlB,OAAO,MAAMC,mBAA6C,CAACC;IACzD,MAAM,EACJC,IAAI,EACJC,IAAI,EACJC,MAAM,EACNC,MAAM,EACNC,SAAS,EACPC,QAAQ,EACNC,OAAO,EACLC,YAAY,EAAEC,cAAc,EAAEC,eAAe,EAAE,EAChD,EACF,EACF,EACDL,OAAO,EACPM,WAAW,EACXC,YAAY,EACZC,IAAI,EACJC,eAAe,EAChB,GAAGd;IAEJ,MAAMe,mBAAmBC,MAAMC,OAAO,CAACP,mBACnCA,gBAAgBQ,GAAG,CAAC,CAACC,WAAWC,kBAC9B,oBAAC1B;YACCyB,WAAWA;YACXE,KAAKD;YACLE,iBAAiB;gBACfpB;gBACAC;gBACAC;gBACAC;gBACAM;gBACAC;gBACAC;YACF;cAGJ;IAEJ,MAAMU,kBAAkBP,MAAMC,OAAO,CAACR,kBAClCA,eAAeS,GAAG,CAAC,CAACC,WAAWC,kBAC7B,oBAAC1B;YACCyB,WAAWA;YACXE,KAAKD;YACLE,iBAAiB;gBACfpB;gBACAC;gBACAC;gBACAC;gBACAM;gBACAC;gBACAC;YACF;cAGJ;IAEJ,qBACE,oBAACW;QAAIC,WAAW3B;qBACd,oBAACL;QAAWiC,KAAK,EAAE;sBACnB,oBAAC/B;QAAegC,SAAS,EAAE;sBAC3B,oBAACnC;QAAOiC,WAAW,CAAC,EAAE3B,UAAU,MAAM,CAAC;OACpCkB,MAAMC,OAAO,CAACF,qBAAqBA,iBAAiBG,GAAG,CAAC,CAACC,YAAcA,0BAExE,oBAACtB;QACCI,MAAMA;QACNU,aAAaA;QACbG,iBAAiBA;QAElBE,MAAMC,OAAO,CAACM,oBAAoBA,gBAAgBL,GAAG,CAAC,CAACC,YAAcA;AAI9E,EAAC"}
1
+ {"version":3,"sources":["../../../../src/views/Dashboard/Default/index.tsx"],"sourcesContent":["import type { Permissions } from 'payload/auth'\nimport type { ServerProps } from 'payload/config'\nimport type { VisibleEntities } from 'payload/types'\n\nimport { Gutter } from '@payloadcms/ui/elements/Gutter'\nimport { SetStepNav } from '@payloadcms/ui/elements/StepNav'\nimport { WithServerSideProps } from '@payloadcms/ui/elements/WithServerSideProps'\nimport { SetViewActions } from '@payloadcms/ui/providers/Actions'\nimport React from 'react'\n\nimport { DefaultDashboardClient } from './index.client.js'\nimport './index.scss'\n\nconst baseClass = 'dashboard'\n\nexport type DashboardProps = ServerProps & {\n Link: React.ComponentType<any>\n\n permissions: Permissions\n visibleEntities: VisibleEntities\n}\n\nexport const DefaultDashboard: React.FC<DashboardProps> = (props) => {\n const {\n Link,\n i18n,\n locale,\n params,\n payload: {\n config: {\n admin: {\n components: { afterDashboard, beforeDashboard },\n },\n },\n },\n payload,\n permissions,\n searchParams,\n user,\n visibleEntities,\n } = props\n\n const BeforeDashboards = Array.isArray(beforeDashboard)\n ? beforeDashboard.map((Component, i) => (\n <WithServerSideProps\n Component={Component}\n key={i}\n serverOnlyProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n ))\n : null\n\n const AfterDashboards = Array.isArray(afterDashboard)\n ? afterDashboard.map((Component, i) => (\n <WithServerSideProps\n Component={Component}\n key={i}\n serverOnlyProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n ))\n : null\n\n return (\n <div className={baseClass}>\n <SetStepNav nav={[]} />\n <SetViewActions actions={[]} />\n <Gutter className={`${baseClass}__wrap`}>\n {Array.isArray(BeforeDashboards) && BeforeDashboards.map((Component) => Component)}\n\n <DefaultDashboardClient\n Link={Link}\n permissions={permissions}\n visibleEntities={visibleEntities}\n />\n {Array.isArray(AfterDashboards) && AfterDashboards.map((Component) => Component)}\n </Gutter>\n </div>\n )\n}\n"],"names":["Gutter","SetStepNav","WithServerSideProps","SetViewActions","React","DefaultDashboardClient","baseClass","DefaultDashboard","props","Link","i18n","locale","params","payload","config","admin","components","afterDashboard","beforeDashboard","permissions","searchParams","user","visibleEntities","BeforeDashboards","Array","isArray","map","Component","i","serverOnlyProps","AfterDashboards","div","className","nav","actions"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAIA,SAASA,MAAM,QAAQ,iCAAgC;AACvD,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,mBAAmB,QAAQ,8CAA6C;AACjF,SAASC,cAAc,QAAQ,mCAAkC;AACjE,OAAOC,WAAW,QAAO;AAEzB,SAASC,sBAAsB,QAAQ,oBAAmB;AAG1D,MAAMC,YAAY;AASlB,OAAO,MAAMC,mBAA6C,CAACC;IACzD,MAAM,EACJC,IAAI,EACJC,IAAI,EACJC,MAAM,EACNC,MAAM,EACNC,SAAS,EACPC,QAAQ,EACNC,OAAO,EACLC,YAAY,EAAEC,cAAc,EAAEC,eAAe,EAAE,EAChD,EACF,EACF,EACDL,OAAO,EACPM,WAAW,EACXC,YAAY,EACZC,IAAI,EACJC,eAAe,EAChB,GAAGd;IAEJ,MAAMe,mBAAmBC,MAAMC,OAAO,CAACP,mBACnCA,gBAAgBQ,GAAG,CAAC,CAACC,WAAWC,kBAC9B,KAAC1B;YACCyB,WAAWA;YAEXE,iBAAiB;gBACfnB;gBACAC;gBACAC;gBACAC;gBACAM;gBACAC;gBACAC;YACF;WATKO,MAYT;IAEJ,MAAME,kBAAkBN,MAAMC,OAAO,CAACR,kBAClCA,eAAeS,GAAG,CAAC,CAACC,WAAWC,kBAC7B,KAAC1B;YACCyB,WAAWA;YAEXE,iBAAiB;gBACfnB;gBACAC;gBACAC;gBACAC;gBACAM;gBACAC;gBACAC;YACF;WATKO,MAYT;IAEJ,qBACE,MAACG;QAAIC,WAAW1B;;0BACd,KAACL;gBAAWgC,KAAK,EAAE;;0BACnB,KAAC9B;gBAAe+B,SAAS,EAAE;;0BAC3B,MAAClC;gBAAOgC,WAAW,CAAC,EAAE1B,UAAU,MAAM,CAAC;;oBACpCkB,MAAMC,OAAO,CAACF,qBAAqBA,iBAAiBG,GAAG,CAAC,CAACC,YAAcA;kCAExE,KAACtB;wBACCI,MAAMA;wBACNU,aAAaA;wBACbG,iBAAiBA;;oBAElBE,MAAMC,OAAO,CAACK,oBAAoBA,gBAAgBJ,GAAG,CAAC,CAACC,YAAcA;;;;;AAI9E,EAAC"}
@@ -1,3 +1,4 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  import { HydrateClientUser } from '@payloadcms/ui/elements/HydrateClientUser';
2
3
  import { RenderCustomComponent } from '@payloadcms/ui/elements/RenderCustomComponent';
3
4
  import LinkImport from 'next/link.js';
@@ -19,23 +20,28 @@ export const Dashboard = ({ initPageResult, params, searchParams })=>{
19
20
  user,
20
21
  visibleEntities
21
22
  };
22
- return /*#__PURE__*/ React.createElement(Fragment, null, /*#__PURE__*/ React.createElement(HydrateClientUser, {
23
- permissions: permissions,
24
- user: user
25
- }), /*#__PURE__*/ React.createElement(RenderCustomComponent, {
26
- CustomComponent: typeof CustomDashboardComponent === 'function' ? CustomDashboardComponent : undefined,
27
- DefaultComponent: DefaultDashboard,
28
- componentProps: viewComponentProps,
29
- serverOnlyProps: {
30
- i18n,
31
- locale,
32
- params,
33
- payload,
34
- permissions,
35
- searchParams,
36
- user
37
- }
38
- }));
23
+ return /*#__PURE__*/ _jsxs(Fragment, {
24
+ children: [
25
+ /*#__PURE__*/ _jsx(HydrateClientUser, {
26
+ permissions: permissions,
27
+ user: user
28
+ }),
29
+ /*#__PURE__*/ _jsx(RenderCustomComponent, {
30
+ CustomComponent: typeof CustomDashboardComponent === 'function' ? CustomDashboardComponent : undefined,
31
+ DefaultComponent: DefaultDashboard,
32
+ componentProps: viewComponentProps,
33
+ serverOnlyProps: {
34
+ i18n,
35
+ locale,
36
+ params,
37
+ payload,
38
+ permissions,
39
+ searchParams,
40
+ user
41
+ }
42
+ })
43
+ ]
44
+ });
39
45
  };
40
46
 
41
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Dashboard/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload/types'\n\nimport { HydrateClientUser } from '@payloadcms/ui/elements/HydrateClientUser'\nimport { RenderCustomComponent } from '@payloadcms/ui/elements/RenderCustomComponent'\nimport LinkImport from 'next/link.js'\nimport React, { Fragment } from 'react'\n\nimport type { DashboardProps } from './Default/index.js'\n\nimport { DefaultDashboard } from './Default/index.js'\n\nexport { generateDashboardMetadata } from './meta.js'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const Dashboard: React.FC<AdminViewProps> = ({ initPageResult, params, searchParams }) => {\n const {\n locale,\n permissions,\n req: {\n i18n,\n payload: { config },\n payload,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const CustomDashboardComponent = config.admin.components?.views?.Dashboard\n\n const viewComponentProps: DashboardProps = {\n Link,\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n visibleEntities,\n }\n\n return (\n <Fragment>\n <HydrateClientUser permissions={permissions} user={user} />\n <RenderCustomComponent\n CustomComponent={\n typeof CustomDashboardComponent === 'function' ? CustomDashboardComponent : undefined\n }\n DefaultComponent={DefaultDashboard}\n componentProps={viewComponentProps}\n serverOnlyProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n </Fragment>\n )\n}\n"],"names":["HydrateClientUser","RenderCustomComponent","LinkImport","React","Fragment","DefaultDashboard","generateDashboardMetadata","Link","default","Dashboard","initPageResult","params","searchParams","locale","permissions","req","i18n","payload","config","user","visibleEntities","CustomDashboardComponent","admin","components","views","viewComponentProps","CustomComponent","undefined","DefaultComponent","componentProps","serverOnlyProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,iBAAiB,QAAQ,4CAA2C;AAC7E,SAASC,qBAAqB,QAAQ,gDAA+C;AACrF,OAAOC,gBAAgB,eAAc;AACrC,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAIvC,SAASC,gBAAgB,QAAQ,qBAAoB;AAErD,SAASC,yBAAyB,QAAQ,YAAW;AAErD,MAAMC,OAAQL,WAAWM,OAAO,IAAIN;AAEpC,OAAO,MAAMO,YAAsC,CAAC,EAAEC,cAAc,EAAEC,MAAM,EAAEC,YAAY,EAAE;IAC1F,MAAM,EACJC,MAAM,EACNC,WAAW,EACXC,KAAK,EACHC,IAAI,EACJC,SAAS,EAAEC,MAAM,EAAE,EACnBD,OAAO,EACPE,IAAI,EACL,EACDC,eAAe,EAChB,GAAGV;IAEJ,MAAMW,2BAA2BH,OAAOI,KAAK,CAACC,UAAU,EAAEC,OAAOf;IAEjE,MAAMgB,qBAAqC;QACzClB;QACAS;QACAH;QACAF;QACAM;QACAH;QACAF;QACAO;QACAC;IACF;IAEA,qBACE,oBAAChB,8BACC,oBAACJ;QAAkBc,aAAaA;QAAaK,MAAMA;sBACnD,oBAAClB;QACCyB,iBACE,OAAOL,6BAA6B,aAAaA,2BAA2BM;QAE9EC,kBAAkBvB;QAClBwB,gBAAgBJ;QAChBK,iBAAiB;YACfd;YACAH;YACAF;YACAM;YACAH;YACAF;YACAO;QACF;;AAIR,EAAC"}
1
+ {"version":3,"sources":["../../../src/views/Dashboard/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload/types'\n\nimport { HydrateClientUser } from '@payloadcms/ui/elements/HydrateClientUser'\nimport { RenderCustomComponent } from '@payloadcms/ui/elements/RenderCustomComponent'\nimport LinkImport from 'next/link.js'\nimport React, { Fragment } from 'react'\n\nimport type { DashboardProps } from './Default/index.js'\n\nimport { DefaultDashboard } from './Default/index.js'\n\nexport { generateDashboardMetadata } from './meta.js'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const Dashboard: React.FC<AdminViewProps> = ({ initPageResult, params, searchParams }) => {\n const {\n locale,\n permissions,\n req: {\n i18n,\n payload: { config },\n payload,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const CustomDashboardComponent = config.admin.components?.views?.Dashboard\n\n const viewComponentProps: DashboardProps = {\n Link,\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n visibleEntities,\n }\n\n return (\n <Fragment>\n <HydrateClientUser permissions={permissions} user={user} />\n <RenderCustomComponent\n CustomComponent={\n typeof CustomDashboardComponent === 'function' ? CustomDashboardComponent : undefined\n }\n DefaultComponent={DefaultDashboard}\n componentProps={viewComponentProps}\n serverOnlyProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n </Fragment>\n )\n}\n"],"names":["HydrateClientUser","RenderCustomComponent","LinkImport","React","Fragment","DefaultDashboard","generateDashboardMetadata","Link","default","Dashboard","initPageResult","params","searchParams","locale","permissions","req","i18n","payload","config","user","visibleEntities","CustomDashboardComponent","admin","components","views","viewComponentProps","CustomComponent","undefined","DefaultComponent","componentProps","serverOnlyProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAEA,SAASA,iBAAiB,QAAQ,4CAA2C;AAC7E,SAASC,qBAAqB,QAAQ,gDAA+C;AACrF,OAAOC,gBAAgB,eAAc;AACrC,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAIvC,SAASC,gBAAgB,QAAQ,qBAAoB;AAErD,SAASC,yBAAyB,QAAQ,YAAW;AAErD,MAAMC,OAAQL,WAAWM,OAAO,IAAIN;AAEpC,OAAO,MAAMO,YAAsC,CAAC,EAAEC,cAAc,EAAEC,MAAM,EAAEC,YAAY,EAAE;IAC1F,MAAM,EACJC,MAAM,EACNC,WAAW,EACXC,KAAK,EACHC,IAAI,EACJC,SAAS,EAAEC,MAAM,EAAE,EACnBD,OAAO,EACPE,IAAI,EACL,EACDC,eAAe,EAChB,GAAGV;IAEJ,MAAMW,2BAA2BH,OAAOI,KAAK,CAACC,UAAU,EAAEC,OAAOf;IAEjE,MAAMgB,qBAAqC;QACzClB;QACAS;QACAH;QACAF;QACAM;QACAH;QACAF;QACAO;QACAC;IACF;IAEA,qBACE,MAAChB;;0BACC,KAACJ;gBAAkBc,aAAaA;gBAAaK,MAAMA;;0BACnD,KAAClB;gBACCyB,iBACE,OAAOL,6BAA6B,aAAaA,2BAA2BM;gBAE9EC,kBAAkBvB;gBAClBwB,gBAAgBJ;gBAChBK,iBAAiB;oBACfd;oBACAH;oBACAF;oBACAM;oBACAH;oBACAF;oBACAO;gBACF;;;;AAIR,EAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Data, Payload, PayloadRequest, SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload/types';
2
+ export declare const getDocumentData: (args: {
3
+ collectionConfig?: SanitizedCollectionConfig;
4
+ globalConfig?: SanitizedGlobalConfig;
5
+ id?: number | string;
6
+ locale: Locale;
7
+ payload: Payload;
8
+ req: PayloadRequest;
9
+ }) => Promise<Data>;
10
+ //# sourceMappingURL=getDocumentData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDocumentData.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getDocumentData.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,OAAO,EACP,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,eAAe,CAAA;AAEtB,eAAO,MAAM,eAAe,SAAgB;IAC1C,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,QAAQ,IAAI,CAyBf,CAAA"}
@@ -0,0 +1,24 @@
1
+ export const getDocumentData = async (args)=>{
2
+ const { id, collectionConfig, globalConfig, locale, payload, req } = args;
3
+ let data;
4
+ if (collectionConfig && id !== undefined && id !== null) {
5
+ data = await payload.findByID({
6
+ id,
7
+ collection: collectionConfig.slug,
8
+ depth: 0,
9
+ locale: locale.code,
10
+ req
11
+ });
12
+ }
13
+ if (globalConfig) {
14
+ data = await payload.findGlobal({
15
+ slug: globalConfig.slug,
16
+ depth: 0,
17
+ locale: locale.code,
18
+ req
19
+ });
20
+ }
21
+ return data;
22
+ };
23
+
24
+ //# sourceMappingURL=getDocumentData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/views/Document/getDocumentData.tsx"],"sourcesContent":["import type {\n Data,\n Payload,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n} from 'payload/types'\n\nexport const getDocumentData = async (args: {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n locale: Locale\n payload: Payload\n req: PayloadRequest\n}): Promise<Data> => {\n const { id, collectionConfig, globalConfig, locale, payload, req } = args\n\n let data: Data\n\n if (collectionConfig && id !== undefined && id !== null) {\n data = await payload.findByID({\n id,\n collection: collectionConfig.slug,\n depth: 0,\n locale: locale.code,\n req,\n })\n }\n\n if (globalConfig) {\n data = await payload.findGlobal({\n slug: globalConfig.slug,\n depth: 0,\n locale: locale.code,\n req,\n })\n }\n\n return data\n}\n"],"names":["getDocumentData","args","id","collectionConfig","globalConfig","locale","payload","req","data","undefined","findByID","collection","slug","depth","code","findGlobal"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;","mappings":"AAQA,OAAO,MAAMA,kBAAkB,OAAOC;IAQpC,MAAM,EAAEC,EAAE,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,MAAM,EAAEC,OAAO,EAAEC,GAAG,EAAE,GAAGN;IAErE,IAAIO;IAEJ,IAAIL,oBAAoBD,OAAOO,aAAaP,OAAO,MAAM;QACvDM,OAAO,MAAMF,QAAQI,QAAQ,CAAC;YAC5BR;YACAS,YAAYR,iBAAiBS,IAAI;YACjCC,OAAO;YACPR,QAAQA,OAAOS,IAAI;YACnBP;QACF;IACF;IAEA,IAAIH,cAAc;QAChBI,OAAO,MAAMF,QAAQS,UAAU,CAAC;YAC9BH,MAAMR,aAAaQ,IAAI;YACvBC,OAAO;YACPR,QAAQA,OAAOS,IAAI;YACnBP;QACF;IACF;IAEA,OAAOC;AACT,EAAC"}
@@ -0,0 +1,14 @@
1
+ import type { DocumentPermissions } from 'payload/auth';
2
+ import type { Data, PayloadRequest, SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload/types';
3
+ export declare const getDocumentPermissions: (args: {
4
+ collectionConfig?: SanitizedCollectionConfig;
5
+ data: Data;
6
+ globalConfig?: SanitizedGlobalConfig;
7
+ id?: number | string;
8
+ req: PayloadRequest;
9
+ }) => Promise<{
10
+ docPermissions: DocumentPermissions;
11
+ hasPublishPermission: boolean;
12
+ hasSavePermission: boolean;
13
+ }>;
14
+ //# sourceMappingURL=getDocumentPermissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDocumentPermissions.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getDocumentPermissions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,KAAK,EACV,IAAI,EACJ,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,eAAe,CAAA;AAMtB,eAAO,MAAM,sBAAsB,SAAgB;IACjD,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,IAAI,EAAE,IAAI,CAAA;IACV,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,QAAQ;IACV,cAAc,EAAE,mBAAmB,CAAA;IACnC,oBAAoB,EAAE,OAAO,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;CAC3B,CAkFA,CAAA"}
@@ -0,0 +1,83 @@
1
+ import { hasSavePermission as getHasSavePermission } from '@payloadcms/ui/utilities/hasSavePermission';
2
+ import { isEditing as getIsEditing } from '@payloadcms/ui/utilities/isEditing';
3
+ import { docAccessOperation, docAccessOperationGlobal } from 'payload/operations';
4
+ export const getDocumentPermissions = async (args)=>{
5
+ const { id, collectionConfig, data = {}, globalConfig, req } = args;
6
+ let docPermissions;
7
+ let hasPublishPermission = false;
8
+ if (collectionConfig) {
9
+ try {
10
+ docPermissions = await docAccessOperation({
11
+ id: id?.toString(),
12
+ collection: {
13
+ config: collectionConfig
14
+ },
15
+ req: {
16
+ ...req,
17
+ data
18
+ }
19
+ });
20
+ if (collectionConfig.versions?.drafts) {
21
+ hasPublishPermission = await docAccessOperation({
22
+ id: id?.toString(),
23
+ collection: {
24
+ config: collectionConfig
25
+ },
26
+ req: {
27
+ ...req,
28
+ data: {
29
+ ...data,
30
+ _status: 'published'
31
+ }
32
+ }
33
+ }).then(({ update })=>update?.permission);
34
+ }
35
+ } catch (error) {
36
+ console.error(error) // eslint-disable-line no-console
37
+ ;
38
+ }
39
+ }
40
+ if (globalConfig) {
41
+ try {
42
+ docPermissions = await docAccessOperationGlobal({
43
+ globalConfig,
44
+ req: {
45
+ ...req,
46
+ data
47
+ }
48
+ });
49
+ if (globalConfig.versions?.drafts) {
50
+ hasPublishPermission = await docAccessOperationGlobal({
51
+ globalConfig,
52
+ req: {
53
+ ...req,
54
+ data: {
55
+ ...data,
56
+ _status: 'published'
57
+ }
58
+ }
59
+ }).then(({ update })=>update?.permission);
60
+ }
61
+ } catch (error) {
62
+ console.error(error) // eslint-disable-line no-console
63
+ ;
64
+ }
65
+ }
66
+ const hasSavePermission = getHasSavePermission({
67
+ collectionSlug: collectionConfig?.slug,
68
+ docPermissions,
69
+ globalSlug: globalConfig?.slug,
70
+ isEditing: getIsEditing({
71
+ id,
72
+ collectionSlug: collectionConfig?.slug,
73
+ globalSlug: globalConfig?.slug
74
+ })
75
+ });
76
+ return {
77
+ docPermissions,
78
+ hasPublishPermission,
79
+ hasSavePermission
80
+ };
81
+ };
82
+
83
+ //# sourceMappingURL=getDocumentPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/views/Document/getDocumentPermissions.tsx"],"sourcesContent":["import type { DocumentPermissions } from 'payload/auth'\nimport type {\n Data,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n} from 'payload/types'\n\nimport { hasSavePermission as getHasSavePermission } from '@payloadcms/ui/utilities/hasSavePermission'\nimport { isEditing as getIsEditing } from '@payloadcms/ui/utilities/isEditing'\nimport { docAccessOperation, docAccessOperationGlobal } from 'payload/operations'\n\nexport const getDocumentPermissions = async (args: {\n collectionConfig?: SanitizedCollectionConfig\n data: Data\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n req: PayloadRequest\n}): Promise<{\n docPermissions: DocumentPermissions\n hasPublishPermission: boolean\n hasSavePermission: boolean\n}> => {\n const { id, collectionConfig, data = {}, globalConfig, req } = args\n\n let docPermissions: DocumentPermissions\n let hasPublishPermission = false\n\n if (collectionConfig) {\n try {\n docPermissions = await docAccessOperation({\n id: id?.toString(),\n collection: {\n config: collectionConfig,\n },\n req: {\n ...req,\n data,\n },\n })\n\n if (collectionConfig.versions?.drafts) {\n hasPublishPermission = await docAccessOperation({\n id: id?.toString(),\n collection: {\n config: collectionConfig,\n },\n req: {\n ...req,\n data: {\n ...data,\n _status: 'published',\n },\n },\n }).then(({ update }) => update?.permission)\n }\n } catch (error) {\n console.error(error) // eslint-disable-line no-console\n }\n }\n\n if (globalConfig) {\n try {\n docPermissions = await docAccessOperationGlobal({\n globalConfig,\n req: {\n ...req,\n data,\n },\n })\n\n if (globalConfig.versions?.drafts) {\n hasPublishPermission = await docAccessOperationGlobal({\n globalConfig,\n req: {\n ...req,\n data: {\n ...data,\n _status: 'published',\n },\n },\n }).then(({ update }) => update?.permission)\n }\n } catch (error) {\n console.error(error) // eslint-disable-line no-console\n }\n }\n\n const hasSavePermission = getHasSavePermission({\n collectionSlug: collectionConfig?.slug,\n docPermissions,\n globalSlug: globalConfig?.slug,\n isEditing: getIsEditing({\n id,\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n }),\n })\n\n return {\n docPermissions,\n hasPublishPermission,\n hasSavePermission,\n }\n}\n"],"names":["hasSavePermission","getHasSavePermission","isEditing","getIsEditing","docAccessOperation","docAccessOperationGlobal","getDocumentPermissions","args","id","collectionConfig","data","globalConfig","req","docPermissions","hasPublishPermission","toString","collection","config","versions","drafts","_status","then","update","permission","error","console","collectionSlug","slug","globalSlug"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAQA,SAASA,qBAAqBC,oBAAoB,QAAQ,6CAA4C;AACtG,SAASC,aAAaC,YAAY,QAAQ,qCAAoC;AAC9E,SAASC,kBAAkB,EAAEC,wBAAwB,QAAQ,qBAAoB;AAEjF,OAAO,MAAMC,yBAAyB,OAAOC;IAW3C,MAAM,EAAEC,EAAE,EAAEC,gBAAgB,EAAEC,OAAO,CAAC,CAAC,EAAEC,YAAY,EAAEC,GAAG,EAAE,GAAGL;IAE/D,IAAIM;IACJ,IAAIC,uBAAuB;IAE3B,IAAIL,kBAAkB;QACpB,IAAI;YACFI,iBAAiB,MAAMT,mBAAmB;gBACxCI,IAAIA,IAAIO;gBACRC,YAAY;oBACVC,QAAQR;gBACV;gBACAG,KAAK;oBACH,GAAGA,GAAG;oBACNF;gBACF;YACF;YAEA,IAAID,iBAAiBS,QAAQ,EAAEC,QAAQ;gBACrCL,uBAAuB,MAAMV,mBAAmB;oBAC9CI,IAAIA,IAAIO;oBACRC,YAAY;wBACVC,QAAQR;oBACV;oBACAG,KAAK;wBACH,GAAGA,GAAG;wBACNF,MAAM;4BACJ,GAAGA,IAAI;4BACPU,SAAS;wBACX;oBACF;gBACF,GAAGC,IAAI,CAAC,CAAC,EAAEC,MAAM,EAAE,GAAKA,QAAQC;YAClC;QACF,EAAE,OAAOC,OAAO;YACdC,QAAQD,KAAK,CAACA,OAAO,iCAAiC;;QACxD;IACF;IAEA,IAAIb,cAAc;QAChB,IAAI;YACFE,iBAAiB,MAAMR,yBAAyB;gBAC9CM;gBACAC,KAAK;oBACH,GAAGA,GAAG;oBACNF;gBACF;YACF;YAEA,IAAIC,aAAaO,QAAQ,EAAEC,QAAQ;gBACjCL,uBAAuB,MAAMT,yBAAyB;oBACpDM;oBACAC,KAAK;wBACH,GAAGA,GAAG;wBACNF,MAAM;4BACJ,GAAGA,IAAI;4BACPU,SAAS;wBACX;oBACF;gBACF,GAAGC,IAAI,CAAC,CAAC,EAAEC,MAAM,EAAE,GAAKA,QAAQC;YAClC;QACF,EAAE,OAAOC,OAAO;YACdC,QAAQD,KAAK,CAACA,OAAO,iCAAiC;;QACxD;IACF;IAEA,MAAMxB,oBAAoBC,qBAAqB;QAC7CyB,gBAAgBjB,kBAAkBkB;QAClCd;QACAe,YAAYjB,cAAcgB;QAC1BzB,WAAWC,aAAa;YACtBK;YACAkB,gBAAgBjB,kBAAkBkB;YAClCC,YAAYjB,cAAcgB;QAC5B;IACF;IAEA,OAAO;QACLd;QACAC;QACAd;IACF;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAYnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAMrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAEhG,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAqN7C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAUnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAQrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAEhG,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAoN7C,CAAA"}
@@ -1,15 +1,16 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  import { DocumentHeader } from '@payloadcms/ui/elements/DocumentHeader';
2
3
  import { HydrateClientUser } from '@payloadcms/ui/elements/HydrateClientUser';
3
4
  import { RenderCustomComponent } from '@payloadcms/ui/elements/RenderCustomComponent';
4
5
  import { DocumentInfoProvider } from '@payloadcms/ui/providers/DocumentInfo';
5
6
  import { EditDepthProvider } from '@payloadcms/ui/providers/EditDepth';
6
7
  import { FormQueryParamsProvider } from '@payloadcms/ui/providers/FormQueryParams';
7
- import { hasSavePermission as getHasSavePermission } from '@payloadcms/ui/utilities/hasSavePermission';
8
8
  import { isEditing as getIsEditing } from '@payloadcms/ui/utilities/isEditing';
9
9
  import { notFound, redirect } from 'next/navigation.js';
10
- import { docAccessOperation } from 'payload/operations';
11
10
  import React from 'react';
12
11
  import { NotFoundView } from '../NotFound/index.js';
12
+ import { getDocumentData } from './getDocumentData.js';
13
+ import { getDocumentPermissions } from './getDocumentPermissions.js';
13
14
  import { getMetaBySegment } from './getMetaBySegment.js';
14
15
  import { getViewsFromConfig } from './getViewsFromConfig.js';
15
16
  export const generateMetadata = async (args)=>getMetaBySegment(args);
@@ -27,31 +28,28 @@ export const Document = async ({ initPageResult, params, searchParams })=>{
27
28
  let CustomView;
28
29
  let DefaultView;
29
30
  let ErrorView;
30
- let docPermissions;
31
- let hasSavePermission;
32
31
  let apiURL;
33
32
  let action;
33
+ const data = await getDocumentData({
34
+ id,
35
+ collectionConfig,
36
+ globalConfig,
37
+ locale,
38
+ payload,
39
+ req
40
+ });
41
+ const { docPermissions, hasPublishPermission, hasSavePermission } = await getDocumentPermissions({
42
+ id,
43
+ collectionConfig,
44
+ data,
45
+ globalConfig,
46
+ req
47
+ });
34
48
  if (collectionConfig) {
35
49
  if (!visibleEntities?.collections?.find((visibleSlug)=>visibleSlug === collectionSlug)) {
36
50
  notFound();
37
51
  }
38
- try {
39
- docPermissions = await docAccessOperation({
40
- id,
41
- collection: {
42
- config: collectionConfig
43
- },
44
- req
45
- });
46
- } catch (error) {
47
- notFound();
48
- }
49
52
  action = `${serverURL}${apiRoute}/${collectionSlug}${isEditing ? `/${id}` : ''}`;
50
- hasSavePermission = getHasSavePermission({
51
- collectionSlug,
52
- docPermissions,
53
- isEditing
54
- });
55
53
  apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${id}?locale=${locale.code}${collectionConfig.versions?.drafts ? '&draft=true' : ''}`;
56
54
  const editConfig = collectionConfig?.admin?.components?.views?.Edit;
57
55
  ViewOverride = typeof editConfig === 'function' ? editConfig : null;
@@ -74,12 +72,6 @@ export const Document = async ({ initPageResult, params, searchParams })=>{
74
72
  if (!visibleEntities?.globals?.find((visibleSlug)=>visibleSlug === globalSlug)) {
75
73
  notFound();
76
74
  }
77
- docPermissions = permissions?.globals?.[globalSlug];
78
- hasSavePermission = getHasSavePermission({
79
- docPermissions,
80
- globalSlug,
81
- isEditing
82
- });
83
75
  action = `${serverURL}${apiRoute}/globals/${globalSlug}`;
84
76
  apiURL = `${serverURL}${apiRoute}/${globalSlug}?locale=${locale.code}${globalConfig.versions?.drafts ? '&draft=true' : ''}`;
85
77
  const editConfig = globalConfig?.admin?.components?.views?.Edit;
@@ -127,52 +119,59 @@ export const Document = async ({ initPageResult, params, searchParams })=>{
127
119
  routeSegments: segments,
128
120
  searchParams
129
121
  };
130
- return /*#__PURE__*/ React.createElement(DocumentInfoProvider, {
122
+ return /*#__PURE__*/ _jsxs(DocumentInfoProvider, {
131
123
  action: action,
132
124
  apiURL: apiURL,
133
125
  collectionSlug: collectionConfig?.slug,
134
126
  disableActions: false,
135
127
  docPermissions: docPermissions,
136
128
  globalSlug: globalConfig?.slug,
129
+ hasPublishPermission: hasPublishPermission,
137
130
  hasSavePermission: hasSavePermission,
138
131
  id: id,
139
- isEditing: isEditing
140
- }, !ViewOverride && /*#__PURE__*/ React.createElement(DocumentHeader, {
141
- collectionConfig: collectionConfig,
142
- config: payload.config,
143
- globalConfig: globalConfig,
144
- i18n: i18n,
145
- permissions: permissions
146
- }), /*#__PURE__*/ React.createElement(HydrateClientUser, {
147
- permissions: permissions,
148
- user: user
149
- }), /*#__PURE__*/ React.createElement(EditDepthProvider, {
150
- depth: 1,
151
- key: `${collectionSlug || globalSlug}-${locale.code}`
152
- }, /*#__PURE__*/ React.createElement(FormQueryParamsProvider, {
153
- initialParams: {
154
- depth: 0,
155
- 'fallback-locale': 'null',
156
- locale: locale.code,
157
- uploadEdits: undefined
158
- }
159
- }, ErrorView ? /*#__PURE__*/ React.createElement(ErrorView, {
160
- initPageResult: initPageResult,
161
- searchParams: searchParams
162
- }) : /*#__PURE__*/ React.createElement(RenderCustomComponent, {
163
- CustomComponent: ViewOverride || CustomView,
164
- DefaultComponent: DefaultView,
165
- componentProps: viewComponentProps,
166
- serverOnlyProps: {
167
- i18n,
168
- locale,
169
- params,
170
- payload,
171
- permissions,
172
- searchParams,
173
- user
174
- }
175
- }))));
132
+ isEditing: isEditing,
133
+ children: [
134
+ !ViewOverride && /*#__PURE__*/ _jsx(DocumentHeader, {
135
+ collectionConfig: collectionConfig,
136
+ config: payload.config,
137
+ globalConfig: globalConfig,
138
+ i18n: i18n,
139
+ permissions: permissions
140
+ }),
141
+ /*#__PURE__*/ _jsx(HydrateClientUser, {
142
+ permissions: permissions,
143
+ user: user
144
+ }),
145
+ /*#__PURE__*/ _jsx(EditDepthProvider, {
146
+ depth: 1,
147
+ children: /*#__PURE__*/ _jsx(FormQueryParamsProvider, {
148
+ initialParams: {
149
+ depth: 0,
150
+ 'fallback-locale': 'null',
151
+ locale: locale.code,
152
+ uploadEdits: undefined
153
+ },
154
+ children: ErrorView ? /*#__PURE__*/ _jsx(ErrorView, {
155
+ initPageResult: initPageResult,
156
+ searchParams: searchParams
157
+ }) : /*#__PURE__*/ _jsx(RenderCustomComponent, {
158
+ CustomComponent: ViewOverride || CustomView,
159
+ DefaultComponent: DefaultView,
160
+ componentProps: viewComponentProps,
161
+ serverOnlyProps: {
162
+ i18n,
163
+ locale,
164
+ params,
165
+ payload,
166
+ permissions,
167
+ searchParams,
168
+ user
169
+ }
170
+ })
171
+ })
172
+ }, `${collectionSlug || globalSlug}-${locale.code}`)
173
+ ]
174
+ });
176
175
  };
177
176
 
178
177
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type { EditViewComponent } from 'payload/config'\nimport type { AdminViewComponent, ServerSideEditViewProps } from 'payload/types'\nimport type { DocumentPermissions } from 'payload/types'\nimport type { AdminViewProps } from 'payload/types'\n\nimport { DocumentHeader } from '@payloadcms/ui/elements/DocumentHeader'\nimport { HydrateClientUser } from '@payloadcms/ui/elements/HydrateClientUser'\nimport { RenderCustomComponent } from '@payloadcms/ui/elements/RenderCustomComponent'\nimport { DocumentInfoProvider } from '@payloadcms/ui/providers/DocumentInfo'\nimport { EditDepthProvider } from '@payloadcms/ui/providers/EditDepth'\nimport { FormQueryParamsProvider } from '@payloadcms/ui/providers/FormQueryParams'\nimport { hasSavePermission as getHasSavePermission } from '@payloadcms/ui/utilities/hasSavePermission'\nimport { isEditing as getIsEditing } from '@payloadcms/ui/utilities/isEditing'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { docAccessOperation } from 'payload/operations'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\n\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getViewsFromConfig } from './getViewsFromConfig.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\nexport const Document: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n },\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const segments = Array.isArray(params?.segments) ? params.segments : []\n const collectionSlug = collectionConfig?.slug || undefined\n const globalSlug = globalConfig?.slug || undefined\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n\n let ViewOverride: EditViewComponent\n let CustomView: EditViewComponent\n let DefaultView: EditViewComponent\n let ErrorView: AdminViewComponent\n\n let docPermissions: DocumentPermissions\n let hasSavePermission: boolean\n let apiURL: string\n let action: string\n\n if (collectionConfig) {\n if (!visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) {\n notFound()\n }\n\n try {\n docPermissions = await docAccessOperation({\n id,\n collection: {\n config: collectionConfig,\n },\n req,\n })\n } catch (error) {\n notFound()\n }\n\n action = `${serverURL}${apiRoute}/${collectionSlug}${isEditing ? `/${id}` : ''}`\n\n hasSavePermission = getHasSavePermission({ collectionSlug, docPermissions, isEditing })\n\n apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${id}?locale=${locale.code}${\n collectionConfig.versions?.drafts ? '&draft=true' : ''\n }`\n\n const editConfig = collectionConfig?.admin?.components?.views?.Edit\n ViewOverride = typeof editConfig === 'function' ? editConfig : null\n\n if (!ViewOverride) {\n const collectionViews = getViewsFromConfig({\n collectionConfig,\n config,\n docPermissions,\n routeSegments: segments,\n })\n\n CustomView = collectionViews?.CustomView\n DefaultView = collectionViews?.DefaultView\n ErrorView = collectionViews?.ErrorView\n }\n\n if (!CustomView && !DefaultView && !ViewOverride && !ErrorView) {\n ErrorView = NotFoundView\n }\n }\n\n if (globalConfig) {\n if (!visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)) {\n notFound()\n }\n\n docPermissions = permissions?.globals?.[globalSlug]\n hasSavePermission = getHasSavePermission({ docPermissions, globalSlug, isEditing })\n\n action = `${serverURL}${apiRoute}/globals/${globalSlug}`\n\n apiURL = `${serverURL}${apiRoute}/${globalSlug}?locale=${locale.code}${\n globalConfig.versions?.drafts ? '&draft=true' : ''\n }`\n\n const editConfig = globalConfig?.admin?.components?.views?.Edit\n ViewOverride = typeof editConfig === 'function' ? editConfig : null\n\n if (!ViewOverride) {\n const globalViews = getViewsFromConfig({\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n })\n\n CustomView = globalViews?.CustomView\n DefaultView = globalViews?.DefaultView\n ErrorView = globalViews?.ErrorView\n\n if (!CustomView && !DefaultView && !ViewOverride && !ErrorView) {\n ErrorView = NotFoundView\n }\n }\n }\n\n /**\n * Handle case where autoSave is enabled and the document is being created\n * => create document and redirect\n */\n const shouldAutosave =\n hasSavePermission &&\n ((collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave))\n\n if (shouldAutosave && !id && collectionSlug) {\n const doc = await payload.create({\n collection: collectionSlug,\n data: {},\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale: locale.code,\n req,\n user,\n })\n\n if (doc?.id) {\n const redirectURL = `${serverURL}${adminRoute}/collections/${collectionSlug}/${doc.id}`\n redirect(redirectURL)\n } else {\n notFound()\n }\n }\n\n const viewComponentProps: ServerSideEditViewProps = {\n initPageResult,\n params,\n routeSegments: segments,\n searchParams,\n }\n\n return (\n <DocumentInfoProvider\n action={action}\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n disableActions={false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n >\n {!ViewOverride && (\n <DocumentHeader\n collectionConfig={collectionConfig}\n config={payload.config}\n globalConfig={globalConfig}\n i18n={i18n}\n permissions={permissions}\n />\n )}\n <HydrateClientUser permissions={permissions} user={user} />\n <EditDepthProvider depth={1} key={`${collectionSlug || globalSlug}-${locale.code}`}>\n <FormQueryParamsProvider\n initialParams={{\n depth: 0,\n 'fallback-locale': 'null',\n locale: locale.code,\n uploadEdits: undefined,\n }}\n >\n {ErrorView ? (\n <ErrorView initPageResult={initPageResult} searchParams={searchParams} />\n ) : (\n <RenderCustomComponent\n CustomComponent={ViewOverride || CustomView}\n DefaultComponent={DefaultView}\n componentProps={viewComponentProps}\n serverOnlyProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n )}\n </FormQueryParamsProvider>\n </EditDepthProvider>\n </DocumentInfoProvider>\n )\n}\n"],"names":["DocumentHeader","HydrateClientUser","RenderCustomComponent","DocumentInfoProvider","EditDepthProvider","FormQueryParamsProvider","hasSavePermission","getHasSavePermission","isEditing","getIsEditing","notFound","redirect","docAccessOperation","React","NotFoundView","getMetaBySegment","getViewsFromConfig","generateMetadata","args","Document","initPageResult","params","searchParams","collectionConfig","docID","id","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","serverURL","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","ViewOverride","CustomView","DefaultView","ErrorView","docPermissions","apiURL","action","collections","find","visibleSlug","collection","error","code","versions","drafts","editConfig","components","views","Edit","collectionViews","routeSegments","globals","globalViews","shouldAutosave","autosave","doc","create","data","depth","draft","fallbackLocale","redirectURL","viewComponentProps","disableActions","key","initialParams","uploadEdits","CustomComponent","DefaultComponent","componentProps","serverOnlyProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAKA,SAASA,cAAc,QAAQ,yCAAwC;AACvE,SAASC,iBAAiB,QAAQ,4CAA2C;AAC7E,SAASC,qBAAqB,QAAQ,gDAA+C;AACrF,SAASC,oBAAoB,QAAQ,wCAAuC;AAC5E,SAASC,iBAAiB,QAAQ,qCAAoC;AACtE,SAASC,uBAAuB,QAAQ,2CAA0C;AAClF,SAASC,qBAAqBC,oBAAoB,QAAQ,6CAA4C;AACtG,SAASC,aAAaC,YAAY,QAAQ,qCAAoC;AAC9E,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,qBAAoB;AACvD,SAASC,kBAAkB,QAAQ,qBAAoB;AACvD,OAAOC,WAAW,QAAO;AAIzB,SAASC,YAAY,QAAQ,uBAAsB;AACnD,SAASC,gBAAgB,QAAQ,wBAAuB;AACxD,SAASC,kBAAkB,QAAQ,0BAAyB;AAE5D,OAAO,MAAMC,mBAA6C,OAAOC,OAASH,iBAAiBG,MAAK;AAEhG,OAAO,MAAMC,WAAqC,OAAO,EACvDC,cAAc,EACdC,MAAM,EACNC,YAAY,EACb;IACC,MAAM,EACJC,gBAAgB,EAChBC,OAAOC,EAAE,EACTC,YAAY,EACZC,MAAM,EACNC,WAAW,EACXC,GAAG,EACHA,KAAK,EACHC,IAAI,EACJC,OAAO,EACPA,SAAS,EACPC,MAAM,EACNA,QAAQ,EACNC,QAAQ,EAAEC,OAAOC,UAAU,EAAEC,KAAKC,QAAQ,EAAE,EAC5CC,SAAS,EACV,EACF,EACDC,IAAI,EACL,EACDC,eAAe,EAChB,GAAGpB;IAEJ,MAAMqB,WAAWC,MAAMC,OAAO,CAACtB,QAAQoB,YAAYpB,OAAOoB,QAAQ,GAAG,EAAE;IACvE,MAAMG,iBAAiBrB,kBAAkBsB,QAAQC;IACjD,MAAMC,aAAarB,cAAcmB,QAAQC;IAEzC,MAAMtC,YAAYC,aAAa;QAAEgB;QAAImB;QAAgBG;IAAW;IAEhE,IAAIC;IACJ,IAAIC;IACJ,IAAIC;IACJ,IAAIC;IAEJ,IAAIC;IACJ,IAAI9C;IACJ,IAAI+C;IACJ,IAAIC;IAEJ,IAAI/B,kBAAkB;QACpB,IAAI,CAACiB,iBAAiBe,aAAaC,KAAK,CAACC,cAAgBA,gBAAgBb,iBAAiB;YACxFlC;QACF;QAEA,IAAI;YACF0C,iBAAiB,MAAMxC,mBAAmB;gBACxCa;gBACAiC,YAAY;oBACV1B,QAAQT;gBACV;gBACAM;YACF;QACF,EAAE,OAAO8B,OAAO;YACdjD;QACF;QAEA4C,SAAS,CAAC,EAAEhB,UAAU,EAAED,SAAS,CAAC,EAAEO,eAAe,EAAEpC,YAAY,CAAC,CAAC,EAAEiB,GAAG,CAAC,GAAG,GAAG,CAAC;QAEhFnB,oBAAoBC,qBAAqB;YAAEqC;YAAgBQ;YAAgB5C;QAAU;QAErF6C,SAAS,CAAC,EAAEf,UAAU,EAAED,SAAS,CAAC,EAAEO,eAAe,CAAC,EAAEnB,GAAG,QAAQ,EAAEE,OAAOiC,IAAI,CAAC,EAC7ErC,iBAAiBsC,QAAQ,EAAEC,SAAS,gBAAgB,GACrD,CAAC;QAEF,MAAMC,aAAaxC,kBAAkBW,OAAO8B,YAAYC,OAAOC;QAC/DlB,eAAe,OAAOe,eAAe,aAAaA,aAAa;QAE/D,IAAI,CAACf,cAAc;YACjB,MAAMmB,kBAAkBnD,mBAAmB;gBACzCO;gBACAS;gBACAoB;gBACAgB,eAAe3B;YACjB;YAEAQ,aAAakB,iBAAiBlB;YAC9BC,cAAciB,iBAAiBjB;YAC/BC,YAAYgB,iBAAiBhB;QAC/B;QAEA,IAAI,CAACF,cAAc,CAACC,eAAe,CAACF,gBAAgB,CAACG,WAAW;YAC9DA,YAAYrC;QACd;IACF;IAEA,IAAIY,cAAc;QAChB,IAAI,CAACc,iBAAiB6B,SAASb,KAAK,CAACC,cAAgBA,gBAAgBV,aAAa;YAChFrC;QACF;QAEA0C,iBAAiBxB,aAAayC,SAAS,CAACtB,WAAW;QACnDzC,oBAAoBC,qBAAqB;YAAE6C;YAAgBL;YAAYvC;QAAU;QAEjF8C,SAAS,CAAC,EAAEhB,UAAU,EAAED,SAAS,SAAS,EAAEU,WAAW,CAAC;QAExDM,SAAS,CAAC,EAAEf,UAAU,EAAED,SAAS,CAAC,EAAEU,WAAW,QAAQ,EAAEpB,OAAOiC,IAAI,CAAC,EACnElC,aAAamC,QAAQ,EAAEC,SAAS,gBAAgB,GACjD,CAAC;QAEF,MAAMC,aAAarC,cAAcQ,OAAO8B,YAAYC,OAAOC;QAC3DlB,eAAe,OAAOe,eAAe,aAAaA,aAAa;QAE/D,IAAI,CAACf,cAAc;YACjB,MAAMsB,cAActD,mBAAmB;gBACrCgB;gBACAoB;gBACA1B;gBACA0C,eAAe3B;YACjB;YAEAQ,aAAaqB,aAAarB;YAC1BC,cAAcoB,aAAapB;YAC3BC,YAAYmB,aAAanB;YAEzB,IAAI,CAACF,cAAc,CAACC,eAAe,CAACF,gBAAgB,CAACG,WAAW;gBAC9DA,YAAYrC;YACd;QACF;IACF;IAEA;;;GAGC,GACD,MAAMyD,iBACJjE,qBACC,CAAA,AAACiB,kBAAkBsC,UAAUC,UAAUvC,kBAAkBsC,UAAUC,QAAQU,YACzE9C,cAAcmC,UAAUC,UAAUpC,cAAcmC,UAAUC,QAAQU,QAAQ;IAE/E,IAAID,kBAAkB,CAAC9C,MAAMmB,gBAAgB;QAC3C,MAAM6B,MAAM,MAAM1C,QAAQ2C,MAAM,CAAC;YAC/BhB,YAAYd;YACZ+B,MAAM,CAAC;YACPC,OAAO;YACPC,OAAO;YACPC,gBAAgB;YAChBnD,QAAQA,OAAOiC,IAAI;YACnB/B;YACAU;QACF;QAEA,IAAIkC,KAAKhD,IAAI;YACX,MAAMsD,cAAc,CAAC,EAAEzC,UAAU,EAAEH,WAAW,aAAa,EAAES,eAAe,CAAC,EAAE6B,IAAIhD,EAAE,CAAC,CAAC;YACvFd,SAASoE;QACX,OAAO;YACLrE;QACF;IACF;IAEA,MAAMsE,qBAA8C;QAClD5D;QACAC;QACA+C,eAAe3B;QACfnB;IACF;IAEA,qBACE,oBAACnB;QACCmD,QAAQA;QACRD,QAAQA;QACRT,gBAAgBrB,kBAAkBsB;QAClCoC,gBAAgB;QAChB7B,gBAAgBA;QAChBL,YAAYrB,cAAcmB;QAC1BvC,mBAAmBA;QACnBmB,IAAIA;QACJjB,WAAWA;OAEV,CAACwC,8BACA,oBAAChD;QACCuB,kBAAkBA;QAClBS,QAAQD,QAAQC,MAAM;QACtBN,cAAcA;QACdI,MAAMA;QACNF,aAAaA;sBAGjB,oBAAC3B;QAAkB2B,aAAaA;QAAaW,MAAMA;sBACnD,oBAACnC;QAAkBwE,OAAO;QAAGM,KAAK,CAAC,EAAEtC,kBAAkBG,WAAW,CAAC,EAAEpB,OAAOiC,IAAI,CAAC,CAAC;qBAChF,oBAACvD;QACC8E,eAAe;YACbP,OAAO;YACP,mBAAmB;YACnBjD,QAAQA,OAAOiC,IAAI;YACnBwB,aAAatC;QACf;OAECK,0BACC,oBAACA;QAAU/B,gBAAgBA;QAAgBE,cAAcA;uBAEzD,oBAACpB;QACCmF,iBAAiBrC,gBAAgBC;QACjCqC,kBAAkBpC;QAClBqC,gBAAgBP;QAChBQ,iBAAiB;YACf1D;YACAH;YACAN;YACAU;YACAH;YACAN;YACAiB;QACF;;AAOd,EAAC"}
1
+ {"version":3,"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type { EditViewComponent } from 'payload/config'\nimport type { AdminViewComponent, ServerSideEditViewProps } from 'payload/types'\nimport type { AdminViewProps } from 'payload/types'\n\nimport { DocumentHeader } from '@payloadcms/ui/elements/DocumentHeader'\nimport { HydrateClientUser } from '@payloadcms/ui/elements/HydrateClientUser'\nimport { RenderCustomComponent } from '@payloadcms/ui/elements/RenderCustomComponent'\nimport { DocumentInfoProvider } from '@payloadcms/ui/providers/DocumentInfo'\nimport { EditDepthProvider } from '@payloadcms/ui/providers/EditDepth'\nimport { FormQueryParamsProvider } from '@payloadcms/ui/providers/FormQueryParams'\nimport { isEditing as getIsEditing } from '@payloadcms/ui/utilities/isEditing'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\n\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getDocumentData } from './getDocumentData.js'\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getViewsFromConfig } from './getViewsFromConfig.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\nexport const Document: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n },\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const segments = Array.isArray(params?.segments) ? params.segments : []\n const collectionSlug = collectionConfig?.slug || undefined\n const globalSlug = globalConfig?.slug || undefined\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n\n let ViewOverride: EditViewComponent\n let CustomView: EditViewComponent\n let DefaultView: EditViewComponent\n let ErrorView: AdminViewComponent\n\n let apiURL: string\n let action: string\n\n const data = await getDocumentData({\n id,\n collectionConfig,\n globalConfig,\n locale,\n payload,\n req,\n })\n\n const { docPermissions, hasPublishPermission, hasSavePermission } = await getDocumentPermissions({\n id,\n collectionConfig,\n data,\n globalConfig,\n req,\n })\n\n if (collectionConfig) {\n if (!visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) {\n notFound()\n }\n\n action = `${serverURL}${apiRoute}/${collectionSlug}${isEditing ? `/${id}` : ''}`\n\n apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${id}?locale=${locale.code}${\n collectionConfig.versions?.drafts ? '&draft=true' : ''\n }`\n\n const editConfig = collectionConfig?.admin?.components?.views?.Edit\n ViewOverride = typeof editConfig === 'function' ? editConfig : null\n\n if (!ViewOverride) {\n const collectionViews = getViewsFromConfig({\n collectionConfig,\n config,\n docPermissions,\n routeSegments: segments,\n })\n\n CustomView = collectionViews?.CustomView\n DefaultView = collectionViews?.DefaultView\n ErrorView = collectionViews?.ErrorView\n }\n\n if (!CustomView && !DefaultView && !ViewOverride && !ErrorView) {\n ErrorView = NotFoundView\n }\n }\n\n if (globalConfig) {\n if (!visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)) {\n notFound()\n }\n\n action = `${serverURL}${apiRoute}/globals/${globalSlug}`\n\n apiURL = `${serverURL}${apiRoute}/${globalSlug}?locale=${locale.code}${\n globalConfig.versions?.drafts ? '&draft=true' : ''\n }`\n\n const editConfig = globalConfig?.admin?.components?.views?.Edit\n ViewOverride = typeof editConfig === 'function' ? editConfig : null\n\n if (!ViewOverride) {\n const globalViews = getViewsFromConfig({\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n })\n\n CustomView = globalViews?.CustomView\n DefaultView = globalViews?.DefaultView\n ErrorView = globalViews?.ErrorView\n\n if (!CustomView && !DefaultView && !ViewOverride && !ErrorView) {\n ErrorView = NotFoundView\n }\n }\n }\n\n /**\n * Handle case where autoSave is enabled and the document is being created\n * => create document and redirect\n */\n const shouldAutosave =\n hasSavePermission &&\n ((collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave))\n\n if (shouldAutosave && !id && collectionSlug) {\n const doc = await payload.create({\n collection: collectionSlug,\n data: {},\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale: locale.code,\n req,\n user,\n })\n\n if (doc?.id) {\n const redirectURL = `${serverURL}${adminRoute}/collections/${collectionSlug}/${doc.id}`\n redirect(redirectURL)\n } else {\n notFound()\n }\n }\n\n const viewComponentProps: ServerSideEditViewProps = {\n initPageResult,\n params,\n routeSegments: segments,\n searchParams,\n }\n\n return (\n <DocumentInfoProvider\n action={action}\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n disableActions={false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n >\n {!ViewOverride && (\n <DocumentHeader\n collectionConfig={collectionConfig}\n config={payload.config}\n globalConfig={globalConfig}\n i18n={i18n}\n permissions={permissions}\n />\n )}\n <HydrateClientUser permissions={permissions} user={user} />\n <EditDepthProvider depth={1} key={`${collectionSlug || globalSlug}-${locale.code}`}>\n <FormQueryParamsProvider\n initialParams={{\n depth: 0,\n 'fallback-locale': 'null',\n locale: locale.code,\n uploadEdits: undefined,\n }}\n >\n {ErrorView ? (\n <ErrorView initPageResult={initPageResult} searchParams={searchParams} />\n ) : (\n <RenderCustomComponent\n CustomComponent={ViewOverride || CustomView}\n DefaultComponent={DefaultView}\n componentProps={viewComponentProps}\n serverOnlyProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n )}\n </FormQueryParamsProvider>\n </EditDepthProvider>\n </DocumentInfoProvider>\n )\n}\n"],"names":["DocumentHeader","HydrateClientUser","RenderCustomComponent","DocumentInfoProvider","EditDepthProvider","FormQueryParamsProvider","isEditing","getIsEditing","notFound","redirect","React","NotFoundView","getDocumentData","getDocumentPermissions","getMetaBySegment","getViewsFromConfig","generateMetadata","args","Document","initPageResult","params","searchParams","collectionConfig","docID","id","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","serverURL","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","ViewOverride","CustomView","DefaultView","ErrorView","apiURL","action","data","docPermissions","hasPublishPermission","hasSavePermission","collections","find","visibleSlug","code","versions","drafts","editConfig","components","views","Edit","collectionViews","routeSegments","globals","globalViews","shouldAutosave","autosave","doc","create","collection","depth","draft","fallbackLocale","redirectURL","viewComponentProps","disableActions","initialParams","uploadEdits","CustomComponent","DefaultComponent","componentProps","serverOnlyProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}