@payloadcms/next 3.74.0-canary.5 → 3.74.0-internal-debug.1b84a48

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 (474) hide show
  1. package/dist/auth/login.d.ts +9 -12
  2. package/dist/auth/login.d.ts.map +1 -1
  3. package/dist/auth/login.js +52 -58
  4. package/dist/auth/login.js.map +1 -1
  5. package/dist/auth/logout.d.ts +2 -2
  6. package/dist/auth/logout.d.ts.map +1 -1
  7. package/dist/auth/logout.js +39 -44
  8. package/dist/auth/logout.js.map +1 -1
  9. package/dist/auth/refresh.d.ts +2 -1
  10. package/dist/auth/refresh.d.ts.map +1 -1
  11. package/dist/auth/refresh.js +45 -47
  12. package/dist/auth/refresh.js.map +1 -1
  13. package/dist/cjs/withPayload.cjs +65 -24
  14. package/dist/cjs/withPayload.cjs.map +2 -2
  15. package/dist/config.js +1 -0
  16. package/dist/config.js.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +9 -15
  18. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +40 -71
  20. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  21. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +65 -59
  22. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  23. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +38 -0
  24. package/dist/elements/DocumentHeader/Tabs/index.js +80 -70
  25. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  26. package/dist/elements/DocumentHeader/Tabs/index.scss +54 -0
  27. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +16 -23
  28. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  29. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.scss +10 -0
  30. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +61 -69
  31. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  32. package/dist/elements/DocumentHeader/index.js +48 -28
  33. package/dist/elements/DocumentHeader/index.js.map +1 -1
  34. package/dist/elements/DocumentHeader/index.scss +64 -0
  35. package/dist/elements/FormHeader/index.js +30 -16
  36. package/dist/elements/FormHeader/index.js.map +1 -1
  37. package/dist/elements/FormHeader/index.scss +8 -0
  38. package/dist/elements/Logo/index.js +19 -34
  39. package/dist/elements/Logo/index.js.map +1 -1
  40. package/dist/elements/Nav/NavHamburger/index.js +23 -44
  41. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  42. package/dist/elements/Nav/NavWrapper/index.js +28 -54
  43. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  44. package/dist/elements/Nav/NavWrapper/index.scss +27 -0
  45. package/dist/elements/Nav/SettingsMenuButton/index.js +33 -39
  46. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  47. package/dist/elements/Nav/SettingsMenuButton/index.scss +11 -0
  48. package/dist/elements/Nav/getNavPrefs.js +27 -22
  49. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  50. package/dist/elements/Nav/index.client.js +97 -118
  51. package/dist/elements/Nav/index.client.js.map +1 -1
  52. package/dist/elements/Nav/index.js +148 -127
  53. package/dist/elements/Nav/index.js.map +1 -1
  54. package/dist/elements/Nav/index.scss +173 -0
  55. package/dist/esbuildEntry.d.ts +5 -0
  56. package/dist/esbuildEntry.d.ts.map +1 -0
  57. package/dist/esbuildEntry.js +6 -0
  58. package/dist/esbuildEntry.js.map +1 -0
  59. package/dist/exports/auth.js +1 -0
  60. package/dist/exports/auth.js.map +1 -1
  61. package/dist/exports/client.d.ts +1 -0
  62. package/dist/exports/client.d.ts.map +1 -1
  63. package/dist/exports/client.js +2 -1
  64. package/dist/exports/client.js.map +1 -1
  65. package/dist/exports/layouts.js +1 -0
  66. package/dist/exports/layouts.js.map +1 -1
  67. package/dist/exports/routes.js +1 -0
  68. package/dist/exports/routes.js.map +1 -1
  69. package/dist/exports/rsc.d.ts +1 -0
  70. package/dist/exports/rsc.d.ts.map +1 -1
  71. package/dist/exports/rsc.js +2 -0
  72. package/dist/exports/rsc.js.map +1 -1
  73. package/dist/exports/templates.js +1 -0
  74. package/dist/exports/templates.js.map +1 -1
  75. package/dist/exports/utilities.js +7 -12
  76. package/dist/exports/utilities.js.map +1 -1
  77. package/dist/exports/views.js +1 -0
  78. package/dist/exports/views.js.map +1 -1
  79. package/dist/index.js +1 -0
  80. package/dist/index.js.map +1 -1
  81. package/dist/layouts/Root/NestProviders.js +21 -20
  82. package/dist/layouts/Root/NestProviders.js.map +1 -1
  83. package/dist/layouts/Root/checkDependencies.js +49 -41
  84. package/dist/layouts/Root/checkDependencies.js.map +1 -1
  85. package/dist/layouts/Root/index.js +128 -103
  86. package/dist/layouts/Root/index.js.map +1 -1
  87. package/dist/prod/styles.css +5 -1
  88. package/dist/routes/graphql/handler.js +114 -122
  89. package/dist/routes/graphql/handler.js.map +1 -1
  90. package/dist/routes/graphql/index.js +1 -0
  91. package/dist/routes/graphql/index.js.map +1 -1
  92. package/dist/routes/graphql/playground.js +28 -27
  93. package/dist/routes/graphql/playground.js.map +1 -1
  94. package/dist/routes/index.js +1 -0
  95. package/dist/routes/index.js.map +1 -1
  96. package/dist/routes/rest/index.js +23 -22
  97. package/dist/routes/rest/index.js.map +1 -1
  98. package/dist/routes/rest/og/image.js +103 -79
  99. package/dist/routes/rest/og/image.js.map +1 -1
  100. package/dist/routes/rest/og/index.js +59 -54
  101. package/dist/routes/rest/og/index.js.map +1 -1
  102. package/dist/templates/Default/NavHamburger/index.js +12 -20
  103. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  104. package/dist/templates/Default/Wrapper/index.js +20 -44
  105. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  106. package/dist/templates/Default/Wrapper/index.scss +58 -0
  107. package/dist/templates/Default/index.js +147 -116
  108. package/dist/templates/Default/index.js.map +1 -1
  109. package/dist/templates/Default/index.scss +79 -0
  110. package/dist/templates/Minimal/index.js +26 -17
  111. package/dist/templates/Minimal/index.js.map +1 -1
  112. package/dist/templates/Minimal/index.scss +30 -0
  113. package/dist/utilities/getExistingAuthToken.js +3 -2
  114. package/dist/utilities/getExistingAuthToken.js.map +1 -1
  115. package/dist/utilities/getNextRequestI18n.js +12 -13
  116. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  117. package/dist/utilities/getPayloadHMR.js +5 -5
  118. package/dist/utilities/getPayloadHMR.js.map +1 -1
  119. package/dist/utilities/getPreferences.js +27 -22
  120. package/dist/utilities/getPreferences.js.map +1 -1
  121. package/dist/utilities/getRequestLocale.js +13 -14
  122. package/dist/utilities/getRequestLocale.js.map +1 -1
  123. package/dist/utilities/getRequestTheme.js +19 -19
  124. package/dist/utilities/getRequestTheme.js.map +1 -1
  125. package/dist/utilities/getRouteWithoutAdmin.js +3 -5
  126. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
  127. package/dist/utilities/handleAuthRedirect.js +22 -36
  128. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  129. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  130. package/dist/utilities/handleServerFunctions.js +33 -41
  131. package/dist/utilities/handleServerFunctions.js.map +1 -1
  132. package/dist/utilities/initReq.d.ts +2 -13
  133. package/dist/utilities/initReq.d.ts.map +1 -1
  134. package/dist/utilities/initReq.js +78 -96
  135. package/dist/utilities/initReq.js.map +1 -1
  136. package/dist/utilities/isCustomAdminView.js +22 -26
  137. package/dist/utilities/isCustomAdminView.js.map +1 -1
  138. package/dist/utilities/isPublicAdminRoute.js +26 -20
  139. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  140. package/dist/utilities/meta.js +68 -63
  141. package/dist/utilities/meta.js.map +1 -1
  142. package/dist/utilities/selectiveCache.js +25 -26
  143. package/dist/utilities/selectiveCache.js.map +1 -1
  144. package/dist/utilities/setPayloadAuthCookie.js +19 -22
  145. package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
  146. package/dist/utilities/slugify.js +24 -33
  147. package/dist/utilities/slugify.js.map +1 -1
  148. package/dist/utilities/timestamp.js +7 -6
  149. package/dist/utilities/timestamp.js.map +1 -1
  150. package/dist/views/API/LocaleSelector/index.js +17 -39
  151. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  152. package/dist/views/API/RenderJSON/index.js +171 -126
  153. package/dist/views/API/RenderJSON/index.js.map +1 -1
  154. package/dist/views/API/RenderJSON/index.scss +129 -0
  155. package/dist/views/API/index.client.js +291 -199
  156. package/dist/views/API/index.client.js.map +1 -1
  157. package/dist/views/API/index.js +7 -2
  158. package/dist/views/API/index.js.map +1 -1
  159. package/dist/views/API/index.scss +119 -0
  160. package/dist/views/API/metadata.js +18 -23
  161. package/dist/views/API/metadata.js.map +1 -1
  162. package/dist/views/Account/ResetPreferences/index.js +78 -102
  163. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  164. package/dist/views/Account/Settings/LanguageSelector.js +18 -47
  165. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  166. package/dist/views/Account/Settings/index.js +60 -25
  167. package/dist/views/Account/Settings/index.js.map +1 -1
  168. package/dist/views/Account/Settings/index.scss +48 -0
  169. package/dist/views/Account/ToggleTheme/index.js +38 -55
  170. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  171. package/dist/views/Account/index.client.js +16 -32
  172. package/dist/views/Account/index.client.js.map +1 -1
  173. package/dist/views/Account/index.js +147 -158
  174. package/dist/views/Account/index.js.map +1 -1
  175. package/dist/views/Account/metadata.js +8 -12
  176. package/dist/views/Account/metadata.js.map +1 -1
  177. package/dist/views/BrowseByFolder/buildView.js +138 -157
  178. package/dist/views/BrowseByFolder/buildView.js.map +1 -1
  179. package/dist/views/BrowseByFolder/index.js +16 -16
  180. package/dist/views/BrowseByFolder/index.js.map +1 -1
  181. package/dist/views/BrowseByFolder/metadata.js +13 -15
  182. package/dist/views/BrowseByFolder/metadata.js.map +1 -1
  183. package/dist/views/CollectionFolders/buildView.js +122 -142
  184. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  185. package/dist/views/CollectionFolders/index.js +16 -16
  186. package/dist/views/CollectionFolders/index.js.map +1 -1
  187. package/dist/views/CollectionFolders/metadata.js +18 -21
  188. package/dist/views/CollectionFolders/metadata.js.map +1 -1
  189. package/dist/views/CollectionFolders/renderFolderViewSlots.js +58 -61
  190. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -1
  191. package/dist/views/CollectionTrash/index.js +17 -17
  192. package/dist/views/CollectionTrash/index.js.map +1 -1
  193. package/dist/views/CollectionTrash/metadata.js +18 -21
  194. package/dist/views/CollectionTrash/metadata.js.map +1 -1
  195. package/dist/views/CreateFirstUser/index.client.js +117 -103
  196. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  197. package/dist/views/CreateFirstUser/index.js +87 -81
  198. package/dist/views/CreateFirstUser/index.js.map +1 -1
  199. package/dist/views/CreateFirstUser/index.scss +21 -0
  200. package/dist/views/CreateFirstUser/metadata.js +8 -12
  201. package/dist/views/CreateFirstUser/metadata.js.map +1 -1
  202. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +147 -138
  203. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  204. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +423 -405
  205. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  206. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts.map +1 -1
  207. package/dist/views/Dashboard/Default/ModularDashboard/index.js +75 -75
  208. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  209. package/dist/views/Dashboard/Default/ModularDashboard/index.scss +316 -0
  210. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +62 -89
  211. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  212. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts.map +1 -1
  213. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +43 -47
  214. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
  215. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts.map +1 -1
  216. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +67 -65
  217. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  218. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +164 -147
  219. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  220. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +31 -30
  221. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -1
  222. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +223 -229
  223. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
  224. package/dist/views/Dashboard/Default/index.js +59 -45
  225. package/dist/views/Dashboard/Default/index.js.map +1 -1
  226. package/dist/views/Dashboard/index.js +46 -42
  227. package/dist/views/Dashboard/index.js.map +1 -1
  228. package/dist/views/Dashboard/metadata.js +10 -14
  229. package/dist/views/Dashboard/metadata.js.map +1 -1
  230. package/dist/views/Document/getCustomDocumentViewByKey.js +3 -2
  231. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
  232. package/dist/views/Document/getCustomViewByRoute.js +27 -30
  233. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  234. package/dist/views/Document/getDocPreferences.js +40 -41
  235. package/dist/views/Document/getDocPreferences.js.map +1 -1
  236. package/dist/views/Document/getDocumentData.js +44 -55
  237. package/dist/views/Document/getDocumentData.js.map +1 -1
  238. package/dist/views/Document/getDocumentPermissions.js +77 -80
  239. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  240. package/dist/views/Document/getDocumentView.js +313 -283
  241. package/dist/views/Document/getDocumentView.js.map +1 -1
  242. package/dist/views/Document/getIsLocked.js +73 -73
  243. package/dist/views/Document/getIsLocked.js.map +1 -1
  244. package/dist/views/Document/getMetaBySegment.js +130 -136
  245. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  246. package/dist/views/Document/getVersions.js +220 -213
  247. package/dist/views/Document/getVersions.js.map +1 -1
  248. package/dist/views/Document/handleServerFunction.d.ts.map +1 -1
  249. package/dist/views/Document/handleServerFunction.js +101 -130
  250. package/dist/views/Document/handleServerFunction.js.map +1 -1
  251. package/dist/views/Document/index.js +317 -355
  252. package/dist/views/Document/index.js.map +1 -1
  253. package/dist/views/Document/metadata.js +2 -1
  254. package/dist/views/Document/metadata.js.map +1 -1
  255. package/dist/views/Document/renderDocumentSlots.d.ts +3 -2
  256. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  257. package/dist/views/Document/renderDocumentSlots.js +142 -141
  258. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  259. package/dist/views/Edit/index.js +10 -6
  260. package/dist/views/Edit/index.js.map +1 -1
  261. package/dist/views/Edit/metadata.js +36 -46
  262. package/dist/views/Edit/metadata.js.map +1 -1
  263. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +130 -164
  264. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  265. package/dist/views/ForgotPassword/index.js +79 -62
  266. package/dist/views/ForgotPassword/index.js.map +1 -1
  267. package/dist/views/ForgotPassword/metadata.js +8 -12
  268. package/dist/views/ForgotPassword/metadata.js.map +1 -1
  269. package/dist/views/List/createSerializableValue.js +12 -11
  270. package/dist/views/List/createSerializableValue.js.map +1 -1
  271. package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
  272. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  273. package/dist/views/List/extractRelationshipDisplayValue.js +15 -14
  274. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
  275. package/dist/views/List/extractValueOrRelationshipID.js +16 -15
  276. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
  277. package/dist/views/List/handleGroupBy.js +133 -150
  278. package/dist/views/List/handleGroupBy.js.map +1 -1
  279. package/dist/views/List/handleServerFunction.d.ts.map +1 -1
  280. package/dist/views/List/handleServerFunction.js +97 -123
  281. package/dist/views/List/handleServerFunction.js.map +1 -1
  282. package/dist/views/List/index.d.ts +1 -0
  283. package/dist/views/List/index.d.ts.map +1 -1
  284. package/dist/views/List/index.js +303 -318
  285. package/dist/views/List/index.js.map +1 -1
  286. package/dist/views/List/metadata.js +17 -20
  287. package/dist/views/List/metadata.js.map +1 -1
  288. package/dist/views/List/renderListViewSlots.js +82 -75
  289. package/dist/views/List/renderListViewSlots.js.map +1 -1
  290. package/dist/views/List/resolveAllFilterOptions.js +43 -45
  291. package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
  292. package/dist/views/List/transformColumnsToSelect.js +9 -8
  293. package/dist/views/List/transformColumnsToSelect.js.map +1 -1
  294. package/dist/views/Login/LoginField/index.js +57 -89
  295. package/dist/views/Login/LoginField/index.js.map +1 -1
  296. package/dist/views/Login/LoginForm/index.js +107 -160
  297. package/dist/views/Login/LoginForm/index.js.map +1 -1
  298. package/dist/views/Login/LoginForm/index.scss +10 -0
  299. package/dist/views/Login/index.js +82 -85
  300. package/dist/views/Login/index.js.map +1 -1
  301. package/dist/views/Login/index.scss +10 -0
  302. package/dist/views/Login/metadata.js +8 -12
  303. package/dist/views/Login/metadata.js.map +1 -1
  304. package/dist/views/Logout/LogoutClient.js +84 -120
  305. package/dist/views/Logout/LogoutClient.js.map +1 -1
  306. package/dist/views/Logout/index.js +29 -29
  307. package/dist/views/Logout/index.js.map +1 -1
  308. package/dist/views/Logout/index.scss +25 -0
  309. package/dist/views/Logout/metadata.js +7 -11
  310. package/dist/views/Logout/metadata.js.map +1 -1
  311. package/dist/views/NotFound/index.client.js +71 -82
  312. package/dist/views/NotFound/index.client.js.map +1 -1
  313. package/dist/views/NotFound/index.js +72 -73
  314. package/dist/views/NotFound/index.js.map +1 -1
  315. package/dist/views/NotFound/index.scss +57 -0
  316. package/dist/views/NotFound/metadata.js +7 -9
  317. package/dist/views/NotFound/metadata.js.map +1 -1
  318. package/dist/views/ResetPassword/ResetPasswordForm/index.js +97 -108
  319. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  320. package/dist/views/ResetPassword/index.js +93 -73
  321. package/dist/views/ResetPassword/index.js.map +1 -1
  322. package/dist/views/ResetPassword/index.scss +11 -0
  323. package/dist/views/ResetPassword/metadata.js +8 -12
  324. package/dist/views/ResetPassword/metadata.js.map +1 -1
  325. package/dist/views/Root/attachViewActions.js +18 -23
  326. package/dist/views/Root/attachViewActions.js.map +1 -1
  327. package/dist/views/Root/generateCustomViewMetadata.js +19 -21
  328. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
  329. package/dist/views/Root/getCustomViewByKey.js +12 -14
  330. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  331. package/dist/views/Root/getCustomViewByRoute.js +31 -42
  332. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  333. package/dist/views/Root/getDocumentViewInfo.js +24 -23
  334. package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
  335. package/dist/views/Root/getRouteData.js +333 -325
  336. package/dist/views/Root/getRouteData.js.map +1 -1
  337. package/dist/views/Root/index.js +248 -270
  338. package/dist/views/Root/index.js.map +1 -1
  339. package/dist/views/Root/isPathMatchingRoute.js +21 -26
  340. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  341. package/dist/views/Root/metadata.js +176 -181
  342. package/dist/views/Root/metadata.js.map +1 -1
  343. package/dist/views/Unauthorized/index.js +54 -46
  344. package/dist/views/Unauthorized/index.js.map +1 -1
  345. package/dist/views/Unauthorized/index.scss +14 -0
  346. package/dist/views/Unauthorized/metadata.js +8 -12
  347. package/dist/views/Unauthorized/metadata.js.map +1 -1
  348. package/dist/views/Verify/index.client.js +25 -43
  349. package/dist/views/Verify/index.client.js.map +1 -1
  350. package/dist/views/Verify/index.js +69 -64
  351. package/dist/views/Verify/index.js.map +1 -1
  352. package/dist/views/Verify/index.scss +16 -0
  353. package/dist/views/Verify/metadata.js +8 -12
  354. package/dist/views/Verify/metadata.js.map +1 -1
  355. package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
  356. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  357. package/dist/views/Version/Default/SetStepNav.js +86 -127
  358. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  359. package/dist/views/Version/Default/index.js +380 -236
  360. package/dist/views/Version/Default/index.js.map +1 -1
  361. package/dist/views/Version/Default/index.scss +170 -0
  362. package/dist/views/Version/Default/types.js +2 -1
  363. package/dist/views/Version/Default/types.js.map +1 -1
  364. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +102 -119
  365. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  366. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +81 -0
  367. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +78 -73
  368. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  369. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +363 -408
  370. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  371. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +40 -51
  372. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  373. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +35 -67
  374. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  375. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +12 -0
  376. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +59 -56
  377. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  378. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +9 -0
  379. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +139 -117
  380. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  381. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +59 -0
  382. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +56 -61
  383. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  384. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +223 -204
  385. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  386. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +91 -0
  387. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -11
  388. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  389. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +48 -73
  390. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  391. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +4 -0
  392. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +132 -143
  393. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  394. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +9 -0
  395. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +56 -81
  396. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  397. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +4 -0
  398. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +252 -211
  399. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  400. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.scss +121 -0
  401. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +23 -22
  402. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  403. package/dist/views/Version/RenderFieldsToDiff/index.js +12 -9
  404. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  405. package/dist/views/Version/RenderFieldsToDiff/index.scss +24 -0
  406. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +213 -228
  407. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  408. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +1005 -826
  409. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  410. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +2 -1
  411. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
  412. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +44 -43
  413. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
  414. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +32 -36
  415. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  416. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +145 -129
  417. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  418. package/dist/views/Version/Restore/index.js +117 -93
  419. package/dist/views/Version/Restore/index.js.map +1 -1
  420. package/dist/views/Version/Restore/index.scss +84 -0
  421. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +33 -50
  422. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  423. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +170 -226
  424. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  425. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +18 -0
  426. package/dist/views/Version/SelectComparison/index.js +73 -50
  427. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  428. package/dist/views/Version/SelectComparison/index.scss +9 -0
  429. package/dist/views/Version/SelectComparison/types.js +2 -1
  430. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  431. package/dist/views/Version/SelectLocales/index.js +34 -32
  432. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  433. package/dist/views/Version/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
  434. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +107 -96
  435. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  436. package/dist/views/Version/VersionPillLabel/getVersionLabel.d.ts +3 -2
  437. package/dist/views/Version/VersionPillLabel/getVersionLabel.d.ts.map +1 -1
  438. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +30 -39
  439. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
  440. package/dist/views/Version/VersionPillLabel/index.scss +26 -0
  441. package/dist/views/Version/fetchVersions.js +113 -138
  442. package/dist/views/Version/fetchVersions.js.map +1 -1
  443. package/dist/views/Version/index.d.ts.map +1 -1
  444. package/dist/views/Version/index.js +328 -323
  445. package/dist/views/Version/index.js.map +1 -1
  446. package/dist/views/Version/metadata.js +43 -50
  447. package/dist/views/Version/metadata.js.map +1 -1
  448. package/dist/views/Versions/buildColumns.js +95 -79
  449. package/dist/views/Versions/buildColumns.js.map +1 -1
  450. package/dist/views/Versions/cells/AutosaveCell/index.js +34 -38
  451. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  452. package/dist/views/Versions/cells/AutosaveCell/index.scss +9 -0
  453. package/dist/views/Versions/cells/CreatedAt/index.js +32 -53
  454. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  455. package/dist/views/Versions/cells/ID/index.js +10 -8
  456. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  457. package/dist/views/Versions/index.client.js +106 -83
  458. package/dist/views/Versions/index.client.js.map +1 -1
  459. package/dist/views/Versions/index.js +164 -164
  460. package/dist/views/Versions/index.js.map +1 -1
  461. package/dist/views/Versions/index.scss +110 -0
  462. package/dist/views/Versions/metadata.js +37 -44
  463. package/dist/views/Versions/metadata.js.map +1 -1
  464. package/dist/views/Versions/types.js +2 -1
  465. package/dist/views/Versions/types.js.map +1 -1
  466. package/dist/withPayload/withPayload.js +232 -174
  467. package/dist/withPayload/withPayload.js.map +1 -1
  468. package/dist/withPayload/withPayload.spec.js +36 -35
  469. package/dist/withPayload/withPayload.spec.js.map +1 -1
  470. package/dist/withPayload/withPayload.utils.js +65 -73
  471. package/dist/withPayload/withPayload.utils.js.map +1 -1
  472. package/dist/withPayload/withPayloadLegacy.js +41 -40
  473. package/dist/withPayload/withPayloadLegacy.js.map +1 -1
  474. package/package.json +6 -6
@@ -1,99 +1,72 @@
1
1
  'use client';
2
-
3
- import { c as _c } from "react/compiler-runtime";
4
- import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { jsxDEV as _jsxDEV, Fragment as _Fragment } from "react/jsx-dev-runtime";
5
3
  import { ShimmerEffect, useServerFunctions } from '@payloadcms/ui';
6
4
  import React, { useCallback, useEffect, useRef } from 'react';
7
5
  /**
8
6
  * Utility to render a widget on-demand on the client.
9
- */
10
- export const RenderWidget = t0 => {
11
- const $ = _c(9);
12
- const {
13
- widgetId
14
- } = t0;
15
- const [Component, setComponent] = React.useState(null);
16
- const {
17
- serverFunction
18
- } = useServerFunctions();
19
- let t1;
20
- if ($[0] !== serverFunction || $[1] !== widgetId) {
21
- t1 = () => {
22
- const render = async function render() {
23
- ;
24
- try {
25
- const widgetSlug = widgetId.slice(0, widgetId.lastIndexOf("-"));
26
- const result = await serverFunction({
27
- name: "render-widget",
28
- args: {
29
- widgetSlug
30
- }
31
- });
32
- setComponent(result.component);
33
- } catch (t2) {
34
- setComponent(React.createElement("div", {
35
- style: {
36
- background: "var(--theme-error-50)",
37
- border: "1px solid var(--theme-error-200)",
38
- borderRadius: "4px",
39
- color: "var(--theme-error-text)",
40
- padding: "20px",
41
- textAlign: "center"
7
+ */ export const RenderWidget = /**
8
+ * Instance-specific data for this widget
9
+ */ // TODO: widgetData?: Record<string, unknown>
10
+ /**
11
+ * Unique ID for this widget instance (format: "slug-timestamp")
12
+ */ ({ /* widgetData, */ widgetId })=>{
13
+ const [Component, setComponent] = React.useState(null);
14
+ const { serverFunction } = useServerFunctions();
15
+ const renderWidget = useCallback(()=>{
16
+ async function render() {
17
+ try {
18
+ const widgetSlug = widgetId.slice(0, widgetId.lastIndexOf('-'));
19
+ const result = await serverFunction({
20
+ name: 'render-widget',
21
+ args: {
22
+ // TODO: widgets will support state in the future
23
+ // widgetData,
24
+ widgetSlug
25
+ }
26
+ });
27
+ setComponent(result.component);
28
+ } catch (error) {
29
+ // Log error but don't expose details to console in production
30
+ // Fallback error component
31
+ setComponent(/*#__PURE__*/ React.createElement('div', {
32
+ style: {
33
+ background: 'var(--theme-error-50)',
34
+ border: '1px solid var(--theme-error-200)',
35
+ borderRadius: '4px',
36
+ color: 'var(--theme-error-text)',
37
+ padding: '20px',
38
+ textAlign: 'center'
39
+ }
40
+ }, 'Failed to load widget. Please try again later.'));
42
41
  }
43
- }, "Failed to load widget. Please try again later."));
44
42
  }
45
- };
46
- render();
47
- };
48
- $[0] = serverFunction;
49
- $[1] = widgetId;
50
- $[2] = t1;
51
- } else {
52
- t1 = $[2];
53
- }
54
- const renderWidget = t1;
55
- const mounted = useRef(false);
56
- let t2;
57
- let t3;
58
- if ($[3] !== renderWidget) {
59
- t2 = () => {
60
- if (mounted.current) {
61
- return;
62
- }
63
- mounted.current = true;
64
- renderWidget();
65
- };
66
- t3 = [renderWidget];
67
- $[3] = renderWidget;
68
- $[4] = t2;
69
- $[5] = t3;
70
- } else {
71
- t2 = $[4];
72
- t3 = $[5];
73
- }
74
- useEffect(t2, t3);
75
- if (!Component) {
76
- let t4;
77
- if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
78
- t4 = _jsx(ShimmerEffect, {
79
- height: "100%"
80
- });
81
- $[6] = t4;
82
- } else {
83
- t4 = $[6];
43
+ void render();
44
+ }, [
45
+ serverFunction,
46
+ widgetId
47
+ ]);
48
+ /* widgetData, */ const mounted = useRef(false);
49
+ useEffect(()=>{
50
+ if (mounted.current) {
51
+ return;
52
+ }
53
+ mounted.current = true;
54
+ void renderWidget();
55
+ }, [
56
+ renderWidget
57
+ ]);
58
+ if (!Component) {
59
+ return /*#__PURE__*/ _jsxDEV(ShimmerEffect, {
60
+ height: "100%"
61
+ }, void 0, false, {
62
+ fileName: "src/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.tsx",
63
+ lineNumber: 78,
64
+ columnNumber: 12
65
+ }, this);
84
66
  }
85
- return t4;
86
- }
87
- let t4;
88
- if ($[7] !== Component) {
89
- t4 = _jsx(_Fragment, {
90
- children: Component
91
- });
92
- $[7] = Component;
93
- $[8] = t4;
94
- } else {
95
- t4 = $[8];
96
- }
97
- return t4;
67
+ return /*#__PURE__*/ _jsxDEV(_Fragment, {
68
+ children: Component
69
+ }, void 0, false);
98
70
  };
71
+
99
72
  //# sourceMappingURL=RenderWidget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderWidget.js","names":["c","_c","ShimmerEffect","useServerFunctions","React","useCallback","useEffect","useRef","RenderWidget","t0","$","widgetId","Component","setComponent","useState","serverFunction","t1","render","widgetSlug","slice","lastIndexOf","result","name","args","component","t2","createElement","style","background","border","borderRadius","color","padding","textAlign","renderWidget","mounted","t3","current","t4","Symbol","for","_jsx","height","_Fragment","children"],"sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.tsx"],"sourcesContent":["'use client'\n\nimport { ShimmerEffect, useServerFunctions } from '@payloadcms/ui'\nimport React, { useCallback, useEffect, useRef } from 'react'\n\nimport type {\n RenderWidgetServerFnArgs,\n RenderWidgetServerFnReturnType,\n} from './renderWidgetServerFn.js'\n\n/**\n * Utility to render a widget on-demand on the client.\n */\nexport const RenderWidget: React.FC<{\n /**\n * Instance-specific data for this widget\n */\n // TODO: widgetData?: Record<string, unknown>\n /**\n * Unique ID for this widget instance (format: \"slug-timestamp\")\n */\n widgetId: string\n}> = ({ /* widgetData, */ widgetId }) => {\n const [Component, setComponent] = React.useState<null | React.ReactNode>(null)\n const { serverFunction } = useServerFunctions()\n\n const renderWidget = useCallback(() => {\n async function render() {\n try {\n const widgetSlug = widgetId.slice(0, widgetId.lastIndexOf('-'))\n\n const result = (await serverFunction({\n name: 'render-widget',\n args: {\n // TODO: widgets will support state in the future\n // widgetData,\n widgetSlug,\n } as RenderWidgetServerFnArgs,\n })) as RenderWidgetServerFnReturnType\n\n setComponent(result.component)\n } catch (error) {\n // Log error but don't expose details to console in production\n\n // Fallback error component\n setComponent(\n React.createElement(\n 'div',\n {\n style: {\n background: 'var(--theme-error-50)',\n border: '1px solid var(--theme-error-200)',\n borderRadius: '4px',\n color: 'var(--theme-error-text)',\n padding: '20px',\n textAlign: 'center',\n },\n },\n 'Failed to load widget. Please try again later.',\n ),\n )\n }\n }\n void render()\n }, [serverFunction, widgetId /* widgetData, */])\n\n const mounted = useRef(false)\n\n useEffect(() => {\n if (mounted.current) {\n return\n }\n mounted.current = true\n void renderWidget()\n }, [renderWidget])\n\n if (!Component) {\n return <ShimmerEffect height=\"100%\" />\n }\n\n return <>{Component}</>\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,aAAa,EAAEC,kBAAkB,QAAQ;AAClD,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ;AAOtD;;;AAGA,OAAO,MAAMC,YAAA,GASRC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU;EAAA,IAAAF,EAA8B;EAClC,OAAAG,SAAA,EAAAC,YAAA,IAAkCT,KAAA,CAAAU,QAAA,KAAuC;EACzE;IAAAC;EAAA,IAA2BZ,kBAAA;EAAA,IAAAa,EAAA;EAAA,IAAAN,CAAA,QAAAK,cAAA,IAAAL,CAAA,QAAAC,QAAA;IAEMK,EAAA,GAAAA,CAAA;MAC/B,MAAAC,MAAA,kBAAAA,OAAA;QAAA;QAAA;UAEI,MAAAC,UAAA,GAAmBP,QAAA,CAAAQ,KAAA,IAAkBR,QAAA,CAAAS,WAAA,CAAqB;UAE1D,MAAAC,MAAA,SAAsBN,cAAA;YAAAO,IAAA,EACd;YAAAC,IAAA;cAAAL;YAAA;UAAA,CAMR;UAEAL,YAAA,CAAaQ,MAAA,CAAAG,SAAgB;QAAA,SAAAC,EAAA;UAK7BZ,YAAA,CACET,KAAA,CAAAsB,aAAA,CACE;YAAAC,KAAA;cAAAC,UAAA,EAGgB;cAAAC,MAAA,EACJ;cAAAC,YAAA,EACM;cAAAC,KAAA,EACP;cAAAC,OAAA,EACE;cAAAC,SAAA,EACE;YAAA;UAAA,GAGf;QAAA;MAAA;MAKHhB,MAAA;IAAA;IACPP,CAAA,MAAAK,cAAA;IAAAL,CAAA,MAAAC,QAAA;IAAAD,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAtCA,MAAAwB,YAAA,GAAqBlB,EAsC0B;EAE/C,MAAAmB,OAAA,GAAgB5B,MAAA,MAAO;EAAA,IAAAkB,EAAA;EAAA,IAAAW,EAAA;EAAA,IAAA1B,CAAA,QAAAwB,YAAA;IAEbT,EAAA,GAAAA,CAAA;MAAA,IACJU,OAAA,CAAAE,OAAA;QAAA;MAAA;MAGJF,OAAA,CAAAE,OAAA;MACKH,YAAA;IAAA;IACJE,EAAA,IAACF,YAAA;IAAaxB,CAAA,MAAAwB,YAAA;IAAAxB,CAAA,MAAAe,EAAA;IAAAf,CAAA,MAAA0B,EAAA;EAAA;IAAAX,EAAA,GAAAf,CAAA;IAAA0B,EAAA,GAAA1B,CAAA;EAAA;EANjBJ,SAAA,CAAUmB,EAMV,EAAGW,EAAc;EAAA,KAEZxB,SAAA;IAAA,IAAA0B,EAAA;IAAA,IAAA5B,CAAA,QAAA6B,MAAA,CAAAC,GAAA;MACIF,EAAA,GAAAG,IAAA,CAAAvC,aAAA;QAAAwC,MAAA,EAAsB;MAAA,C;;;;;WAAtBJ,E;;;;IAGFA,EAAA,GAAAG,IAAA,CAAAE,SAAA;MAAAC,QAAA,EAAGhC;IAAA,C;;;;;;SAAH0B,E;CACT","ignoreList":[]}
1
+ {"version":3,"sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.tsx"],"sourcesContent":["'use client'\n\nimport { ShimmerEffect, useServerFunctions } from '@payloadcms/ui'\nimport React, { useCallback, useEffect, useRef } from 'react'\n\nimport type {\n RenderWidgetServerFnArgs,\n RenderWidgetServerFnReturnType,\n} from './renderWidgetServerFn.js'\n\n/**\n * Utility to render a widget on-demand on the client.\n */\nexport const RenderWidget: React.FC<{\n /**\n * Instance-specific data for this widget\n */\n // TODO: widgetData?: Record<string, unknown>\n /**\n * Unique ID for this widget instance (format: \"slug-timestamp\")\n */\n widgetId: string\n}> = ({ /* widgetData, */ widgetId }) => {\n const [Component, setComponent] = React.useState<null | React.ReactNode>(null)\n const { serverFunction } = useServerFunctions()\n\n const renderWidget = useCallback(() => {\n async function render() {\n try {\n const widgetSlug = widgetId.slice(0, widgetId.lastIndexOf('-'))\n\n const result = (await serverFunction({\n name: 'render-widget',\n args: {\n // TODO: widgets will support state in the future\n // widgetData,\n widgetSlug,\n } as RenderWidgetServerFnArgs,\n })) as RenderWidgetServerFnReturnType\n\n setComponent(result.component)\n } catch (error) {\n // Log error but don't expose details to console in production\n\n // Fallback error component\n setComponent(\n React.createElement(\n 'div',\n {\n style: {\n background: 'var(--theme-error-50)',\n border: '1px solid var(--theme-error-200)',\n borderRadius: '4px',\n color: 'var(--theme-error-text)',\n padding: '20px',\n textAlign: 'center',\n },\n },\n 'Failed to load widget. Please try again later.',\n ),\n )\n }\n }\n void render()\n }, [serverFunction, widgetId /* widgetData, */])\n\n const mounted = useRef(false)\n\n useEffect(() => {\n if (mounted.current) {\n return\n }\n mounted.current = true\n void renderWidget()\n }, [renderWidget])\n\n if (!Component) {\n return <ShimmerEffect height=\"100%\" />\n }\n\n return <>{Component}</>\n}\n"],"names":["ShimmerEffect","useServerFunctions","React","useCallback","useEffect","useRef","RenderWidget","widgetId","Component","setComponent","useState","serverFunction","renderWidget","render","widgetSlug","slice","lastIndexOf","result","name","args","component","error","createElement","style","background","border","borderRadius","color","padding","textAlign","mounted","current","height"],"mappings":"AAAA;;AAEA,SAASA,aAAa,EAAEC,kBAAkB,QAAQ,iBAAgB;AAClE,OAAOC,SAASC,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,QAAO;AAO7D;;CAEC,GACD,OAAO,MAAMC,eACX;;GAEC,GACD,6CAA6C;AAC7C;;GAEC,GAEE,CAAC,EAAE,eAAe,GAAGC,QAAQ,EAAE;IAClC,MAAM,CAACC,WAAWC,aAAa,GAAGP,MAAMQ,QAAQ,CAAyB;IACzE,MAAM,EAAEC,cAAc,EAAE,GAAGV;IAE3B,MAAMW,eAAeT,YAAY;QAC/B,eAAeU;YACb,IAAI;gBACF,MAAMC,aAAaP,SAASQ,KAAK,CAAC,GAAGR,SAASS,WAAW,CAAC;gBAE1D,MAAMC,SAAU,MAAMN,eAAe;oBACnCO,MAAM;oBACNC,MAAM;wBACJ,iDAAiD;wBACjD,cAAc;wBACdL;oBACF;gBACF;gBAEAL,aAAaQ,OAAOG,SAAS;YAC/B,EAAE,OAAOC,OAAO;gBACd,8DAA8D;gBAE9D,2BAA2B;gBAC3BZ,2BACEP,MAAMoB,aAAa,CACjB,OACA;oBACEC,OAAO;wBACLC,YAAY;wBACZC,QAAQ;wBACRC,cAAc;wBACdC,OAAO;wBACPC,SAAS;wBACTC,WAAW;oBACb;gBACF,GACA;YAGN;QACF;QACA,KAAKhB;IACP,GAAG;QAACF;QAAgBJ;KAA2B;IAAlB,eAAe,GAE5C,MAAMuB,UAAUzB,OAAO;IAEvBD,UAAU;QACR,IAAI0B,QAAQC,OAAO,EAAE;YACnB;QACF;QACAD,QAAQC,OAAO,GAAG;QAClB,KAAKnB;IACP,GAAG;QAACA;KAAa;IAEjB,IAAI,CAACJ,WAAW;QACd,qBAAO,QAACR;YAAcgC,QAAO;;;;;;IAC/B;IAEA,qBAAO;kBAAGxB;;AACZ,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getDefaultLayoutServerFn.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,cAAc,EAGf,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,EAAE,oBAAoB,EAAc,MAAM,oBAAoB,CAAA;AAE1E,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAEhE,MAAM,MAAM,kCAAkC,GAAG;IAC/C,MAAM,EAAE,oBAAoB,EAAE,CAAA;CAC/B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,cAAc,CAClD,4BAA4B,EAC5B,OAAO,CAAC,kCAAkC,CAAC,CA2B5C,CAAA"}
1
+ {"version":3,"file":"getDefaultLayoutServerFn.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,cAAc,EAGf,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,EAAE,oBAAoB,EAAc,MAAM,oBAAoB,CAAA;AAE1E,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAEhE,MAAM,MAAM,kCAAkC,GAAG;IAC/C,MAAM,EAAE,oBAAoB,EAAE,CAAA;CAC/B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,cAAc,CAClD,4BAA4B,EAC5B,OAAO,CAAC,kCAAkC,CAAC,CA8B5C,CAAA"}
@@ -2,57 +2,53 @@ import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerCompo
2
2
  /**
3
3
  * Server function to get the default dashboard layout on-demand.
4
4
  * Used when resetting the dashboard to its default configuration.
5
- */
6
- export const getDefaultLayoutHandler = async ({
7
- req
8
- }) => {
9
- if (!req.user) {
10
- throw new Error('Unauthorized');
11
- }
12
- const {
13
- defaultLayout = [],
14
- widgets = []
15
- } = req.payload.config.admin.dashboard || {};
16
- const {
17
- importMap
18
- } = req.payload;
19
- const layoutItems = await getItemsFromConfig(defaultLayout, req, widgets);
20
- const layout = layoutItems.map(layoutItem => {
21
- const widgetSlug = layoutItem.id.slice(0, layoutItem.id.lastIndexOf('-'));
5
+ */ export const getDefaultLayoutHandler = async ({ cookies, locale, permissions, req })=>{
6
+ if (!req.user) {
7
+ throw new Error('Unauthorized');
8
+ }
9
+ const { defaultLayout = [], widgets = [] } = req.payload.config.admin.dashboard || {};
10
+ const { importMap } = req.payload;
11
+ const layoutItems = await getItemsFromConfig(defaultLayout, req, widgets);
12
+ const layout = layoutItems.map((layoutItem)=>{
13
+ const widgetSlug = layoutItem.id.slice(0, layoutItem.id.lastIndexOf('-'));
14
+ return {
15
+ component: RenderServerComponent({
16
+ Component: widgets.find((widget)=>widget.slug === widgetSlug)?.ComponentPath,
17
+ importMap,
18
+ serverProps: {
19
+ cookies,
20
+ locale,
21
+ permissions,
22
+ req,
23
+ widgetSlug
24
+ }
25
+ }),
26
+ item: layoutItem
27
+ };
28
+ });
22
29
  return {
23
- component: RenderServerComponent({
24
- Component: widgets.find(widget => widget.slug === widgetSlug)?.ComponentPath,
25
- importMap,
26
- serverProps: {
27
- req,
28
- widgetSlug
29
- }
30
- }),
31
- item: layoutItem
30
+ layout
32
31
  };
33
- });
34
- return {
35
- layout
36
- };
37
32
  };
38
33
  async function getItemsFromConfig(defaultLayout, req, widgets) {
39
- // Handle function format
40
- let widgetInstances;
41
- if (typeof defaultLayout === 'function') {
42
- widgetInstances = await defaultLayout({
43
- req
34
+ // Handle function format
35
+ let widgetInstances;
36
+ if (typeof defaultLayout === 'function') {
37
+ widgetInstances = await defaultLayout({
38
+ req
39
+ });
40
+ } else {
41
+ widgetInstances = defaultLayout;
42
+ }
43
+ return widgetInstances.map((widgetInstance, index)=>{
44
+ const widget = widgets.find((w)=>w.slug === widgetInstance.widgetSlug);
45
+ return {
46
+ id: `${widgetInstance.widgetSlug}-${index}`,
47
+ maxWidth: widget?.maxWidth ?? 'full',
48
+ minWidth: widget?.minWidth ?? 'x-small',
49
+ width: widgetInstance.width || 'x-small'
50
+ };
44
51
  });
45
- } else {
46
- widgetInstances = defaultLayout;
47
- }
48
- return widgetInstances.map((widgetInstance, index) => {
49
- const widget = widgets.find(w => w.slug === widgetInstance.widgetSlug);
50
- return {
51
- id: `${widgetInstance.widgetSlug}-${index}`,
52
- maxWidth: widget?.maxWidth ?? 'full',
53
- minWidth: widget?.minWidth ?? 'x-small',
54
- width: widgetInstance.width || 'x-small'
55
- };
56
- });
57
52
  }
53
+
58
54
  //# sourceMappingURL=getDefaultLayoutServerFn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getDefaultLayoutServerFn.js","names":["RenderServerComponent","getDefaultLayoutHandler","req","user","Error","defaultLayout","widgets","payload","config","admin","dashboard","importMap","layoutItems","getItemsFromConfig","layout","map","layoutItem","widgetSlug","id","slice","lastIndexOf","component","Component","find","widget","slug","ComponentPath","serverProps","item","widgetInstances","widgetInstance","index","w","maxWidth","minWidth","width"],"sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.ts"],"sourcesContent":["import type {\n DashboardConfig,\n PayloadRequest,\n ServerFunction,\n Widget,\n WidgetServerProps,\n} from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\n\nimport type { WidgetInstanceClient, WidgetItem } from '../index.client.js'\n\nexport type GetDefaultLayoutServerFnArgs = Record<string, never>\n\nexport type GetDefaultLayoutServerFnReturnType = {\n layout: WidgetInstanceClient[]\n}\n\n/**\n * Server function to get the default dashboard layout on-demand.\n * Used when resetting the dashboard to its default configuration.\n */\nexport const getDefaultLayoutHandler: ServerFunction<\n GetDefaultLayoutServerFnArgs,\n Promise<GetDefaultLayoutServerFnReturnType>\n> = async ({ req }) => {\n if (!req.user) {\n throw new Error('Unauthorized')\n }\n\n const { defaultLayout = [], widgets = [] } = req.payload.config.admin.dashboard || {}\n const { importMap } = req.payload\n\n const layoutItems = await getItemsFromConfig(defaultLayout, req, widgets)\n\n const layout: WidgetInstanceClient[] = layoutItems.map((layoutItem) => {\n const widgetSlug = layoutItem.id.slice(0, layoutItem.id.lastIndexOf('-'))\n return {\n component: RenderServerComponent({\n Component: widgets.find((widget) => widget.slug === widgetSlug)?.ComponentPath,\n importMap,\n serverProps: {\n req,\n widgetSlug,\n } satisfies WidgetServerProps,\n }),\n item: layoutItem,\n }\n })\n\n return { layout }\n}\n\nasync function getItemsFromConfig(\n defaultLayout: NonNullable<DashboardConfig['defaultLayout']>,\n req: PayloadRequest,\n widgets: Widget[],\n): Promise<WidgetItem[]> {\n // Handle function format\n let widgetInstances\n if (typeof defaultLayout === 'function') {\n widgetInstances = await defaultLayout({ req })\n } else {\n widgetInstances = defaultLayout\n }\n\n return widgetInstances.map((widgetInstance, index) => {\n const widget = widgets.find((w) => w.slug === widgetInstance.widgetSlug)\n return {\n id: `${widgetInstance.widgetSlug}-${index}`,\n maxWidth: widget?.maxWidth ?? 'full',\n minWidth: widget?.minWidth ?? 'x-small',\n width: widgetInstance.width || 'x-small',\n }\n })\n}\n"],"mappings":"AAQA,SAASA,qBAAqB,QAAQ;AAUtC;;;;AAIA,OAAO,MAAMC,uBAAA,GAGT,MAAAA,CAAO;EAAEC;AAAG,CAAE;EAChB,IAAI,CAACA,GAAA,CAAIC,IAAI,EAAE;IACb,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,MAAM;IAAEC,aAAA,GAAgB,EAAE;IAAEC,OAAA,GAAU;EAAE,CAAE,GAAGJ,GAAA,CAAIK,OAAO,CAACC,MAAM,CAACC,KAAK,CAACC,SAAS,IAAI,CAAC;EACpF,MAAM;IAAEC;EAAS,CAAE,GAAGT,GAAA,CAAIK,OAAO;EAEjC,MAAMK,WAAA,GAAc,MAAMC,kBAAA,CAAmBR,aAAA,EAAeH,GAAA,EAAKI,OAAA;EAEjE,MAAMQ,MAAA,GAAiCF,WAAA,CAAYG,GAAG,CAAEC,UAAA;IACtD,MAAMC,UAAA,GAAaD,UAAA,CAAWE,EAAE,CAACC,KAAK,CAAC,GAAGH,UAAA,CAAWE,EAAE,CAACE,WAAW,CAAC;IACpE,OAAO;MACLC,SAAA,EAAWrB,qBAAA,CAAsB;QAC/BsB,SAAA,EAAWhB,OAAA,CAAQiB,IAAI,CAAEC,MAAA,IAAWA,MAAA,CAAOC,IAAI,KAAKR,UAAA,GAAaS,aAAA;QACjEf,SAAA;QACAgB,WAAA,EAAa;UACXzB,GAAA;UACAe;QACF;MACF;MACAW,IAAA,EAAMZ;IACR;EACF;EAEA,OAAO;IAAEF;EAAO;AAClB;AAEA,eAAeD,mBACbR,aAA4D,EAC5DH,GAAmB,EACnBI,OAAiB;EAEjB;EACA,IAAIuB,eAAA;EACJ,IAAI,OAAOxB,aAAA,KAAkB,YAAY;IACvCwB,eAAA,GAAkB,MAAMxB,aAAA,CAAc;MAAEH;IAAI;EAC9C,OAAO;IACL2B,eAAA,GAAkBxB,aAAA;EACpB;EAEA,OAAOwB,eAAA,CAAgBd,GAAG,CAAC,CAACe,cAAA,EAAgBC,KAAA;IAC1C,MAAMP,MAAA,GAASlB,OAAA,CAAQiB,IAAI,CAAES,CAAA,IAAMA,CAAA,CAAEP,IAAI,KAAKK,cAAA,CAAeb,UAAU;IACvE,OAAO;MACLC,EAAA,EAAI,GAAGY,cAAA,CAAeb,UAAU,IAAIc,KAAA,EAAO;MAC3CE,QAAA,EAAUT,MAAA,EAAQS,QAAA,IAAY;MAC9BC,QAAA,EAAUV,MAAA,EAAQU,QAAA,IAAY;MAC9BC,KAAA,EAAOL,cAAA,CAAeK,KAAK,IAAI;IACjC;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.ts"],"sourcesContent":["import type {\n DashboardConfig,\n PayloadRequest,\n ServerFunction,\n Widget,\n WidgetServerProps,\n} from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\n\nimport type { WidgetInstanceClient, WidgetItem } from '../index.client.js'\n\nexport type GetDefaultLayoutServerFnArgs = Record<string, never>\n\nexport type GetDefaultLayoutServerFnReturnType = {\n layout: WidgetInstanceClient[]\n}\n\n/**\n * Server function to get the default dashboard layout on-demand.\n * Used when resetting the dashboard to its default configuration.\n */\nexport const getDefaultLayoutHandler: ServerFunction<\n GetDefaultLayoutServerFnArgs,\n Promise<GetDefaultLayoutServerFnReturnType>\n> = async ({ cookies, locale, permissions, req }) => {\n if (!req.user) {\n throw new Error('Unauthorized')\n }\n\n const { defaultLayout = [], widgets = [] } = req.payload.config.admin.dashboard || {}\n const { importMap } = req.payload\n\n const layoutItems = await getItemsFromConfig(defaultLayout, req, widgets)\n\n const layout: WidgetInstanceClient[] = layoutItems.map((layoutItem) => {\n const widgetSlug = layoutItem.id.slice(0, layoutItem.id.lastIndexOf('-'))\n return {\n component: RenderServerComponent({\n Component: widgets.find((widget) => widget.slug === widgetSlug)?.ComponentPath,\n importMap,\n serverProps: {\n cookies,\n locale,\n permissions,\n req,\n widgetSlug,\n } satisfies WidgetServerProps,\n }),\n item: layoutItem,\n }\n })\n\n return { layout }\n}\n\nasync function getItemsFromConfig(\n defaultLayout: NonNullable<DashboardConfig['defaultLayout']>,\n req: PayloadRequest,\n widgets: Widget[],\n): Promise<WidgetItem[]> {\n // Handle function format\n let widgetInstances\n if (typeof defaultLayout === 'function') {\n widgetInstances = await defaultLayout({ req })\n } else {\n widgetInstances = defaultLayout\n }\n\n return widgetInstances.map((widgetInstance, index) => {\n const widget = widgets.find((w) => w.slug === widgetInstance.widgetSlug)\n return {\n id: `${widgetInstance.widgetSlug}-${index}`,\n maxWidth: widget?.maxWidth ?? 'full',\n minWidth: widget?.minWidth ?? 'x-small',\n width: widgetInstance.width || 'x-small',\n }\n })\n}\n"],"names":["RenderServerComponent","getDefaultLayoutHandler","cookies","locale","permissions","req","user","Error","defaultLayout","widgets","payload","config","admin","dashboard","importMap","layoutItems","getItemsFromConfig","layout","map","layoutItem","widgetSlug","id","slice","lastIndexOf","component","Component","find","widget","slug","ComponentPath","serverProps","item","widgetInstances","widgetInstance","index","w","maxWidth","minWidth","width"],"mappings":"AAQA,SAASA,qBAAqB,QAAQ,gDAA+C;AAUrF;;;CAGC,GACD,OAAO,MAAMC,0BAGT,OAAO,EAAEC,OAAO,EAAEC,MAAM,EAAEC,WAAW,EAAEC,GAAG,EAAE;IAC9C,IAAI,CAACA,IAAIC,IAAI,EAAE;QACb,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAM,EAAEC,gBAAgB,EAAE,EAAEC,UAAU,EAAE,EAAE,GAAGJ,IAAIK,OAAO,CAACC,MAAM,CAACC,KAAK,CAACC,SAAS,IAAI,CAAC;IACpF,MAAM,EAAEC,SAAS,EAAE,GAAGT,IAAIK,OAAO;IAEjC,MAAMK,cAAc,MAAMC,mBAAmBR,eAAeH,KAAKI;IAEjE,MAAMQ,SAAiCF,YAAYG,GAAG,CAAC,CAACC;QACtD,MAAMC,aAAaD,WAAWE,EAAE,CAACC,KAAK,CAAC,GAAGH,WAAWE,EAAE,CAACE,WAAW,CAAC;QACpE,OAAO;YACLC,WAAWxB,sBAAsB;gBAC/ByB,WAAWhB,QAAQiB,IAAI,CAAC,CAACC,SAAWA,OAAOC,IAAI,KAAKR,aAAaS;gBACjEf;gBACAgB,aAAa;oBACX5B;oBACAC;oBACAC;oBACAC;oBACAe;gBACF;YACF;YACAW,MAAMZ;QACR;IACF;IAEA,OAAO;QAAEF;IAAO;AAClB,EAAC;AAED,eAAeD,mBACbR,aAA4D,EAC5DH,GAAmB,EACnBI,OAAiB;IAEjB,yBAAyB;IACzB,IAAIuB;IACJ,IAAI,OAAOxB,kBAAkB,YAAY;QACvCwB,kBAAkB,MAAMxB,cAAc;YAAEH;QAAI;IAC9C,OAAO;QACL2B,kBAAkBxB;IACpB;IAEA,OAAOwB,gBAAgBd,GAAG,CAAC,CAACe,gBAAgBC;QAC1C,MAAMP,SAASlB,QAAQiB,IAAI,CAAC,CAACS,IAAMA,EAAEP,IAAI,KAAKK,eAAeb,UAAU;QACvE,OAAO;YACLC,IAAI,GAAGY,eAAeb,UAAU,CAAC,CAAC,EAAEc,OAAO;YAC3CE,UAAUT,QAAQS,YAAY;YAC9BC,UAAUV,QAAQU,YAAY;YAC9BC,OAAOL,eAAeK,KAAK,IAAI;QACjC;IACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderWidgetServerFn.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAqB,MAAM,SAAS,CAAA;AAGhE,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IAGH;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG;IAC3C,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAC9C,wBAAwB,EACxB,8BAA8B,CAwE/B,CAAA"}
1
+ {"version":3,"file":"renderWidgetServerFn.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAqB,MAAM,SAAS,CAAA;AAGhE,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IAGH;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG;IAC3C,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAC9C,wBAAwB,EACxB,8BAA8B,CA2E/B,CAAA"}
@@ -1,72 +1,74 @@
1
1
  import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
2
2
  import React from 'react';
3
3
  /**
4
+ * Instance-specific data for this widget
5
+ */ // TODO: widgets will support state in the future
6
+ // widgetData?: Record<string, unknown>
7
+ /**
8
+ * The slug of the widget to render
9
+ */ /**
4
10
  * Server function to render a widget on-demand.
5
11
  * Similar to render-field but specifically for dashboard widgets.
6
- */
7
- export const renderWidgetHandler = ({
8
- req,
9
- /* widgetData, */widgetSlug
10
- }) => {
11
- if (!req.user) {
12
- throw new Error('Unauthorized');
13
- }
14
- const {
15
- widgets
16
- } = req.payload.config.admin.dashboard;
17
- const {
18
- importMap
19
- } = req.payload;
20
- // Find the widget configuration
21
- const widgetConfig = widgets.find(widget => widget.slug === widgetSlug);
22
- if (!widgetConfig) {
23
- return {
24
- component: React.createElement('div', {
25
- style: {
26
- background: 'var(--theme-elevation-50)',
27
- border: '1px solid var(--theme-elevation-200)',
28
- borderRadius: '4px',
29
- color: 'var(--theme-text)',
30
- padding: '20px',
31
- textAlign: 'center'
32
- }
33
- }, `Widget "${widgetSlug}" not found`)
34
- };
35
- }
36
- try {
37
- // Create server props for the widget
38
- const serverProps = {
39
- req,
40
- // TODO: widgetData: widgetData || {},
41
- widgetSlug
42
- };
43
- // Render the widget server component
44
- const component = RenderServerComponent({
45
- Component: widgetConfig.ComponentPath,
46
- importMap,
47
- serverProps
48
- });
49
- return {
50
- component
51
- };
52
- } catch (error) {
53
- const errorMessage = error instanceof Error ? error.message : String(error);
54
- req.payload.logger.error({
55
- err: error,
56
- msg: `Error rendering widget "${widgetSlug}": ${errorMessage}`
57
- });
58
- return {
59
- component: React.createElement('div', {
60
- style: {
61
- background: 'var(--theme-error-50)',
62
- border: '1px solid var(--theme-error-200)',
63
- borderRadius: '4px',
64
- color: 'var(--theme-error-text)',
65
- padding: '20px',
66
- textAlign: 'center'
67
- }
68
- }, 'Error loading widget')
69
- };
70
- }
12
+ */ export const renderWidgetHandler = ({ cookies, locale, permissions, req, widgetSlug })=>{
13
+ if (!req.user) {
14
+ throw new Error('Unauthorized');
15
+ }
16
+ const { widgets } = req.payload.config.admin.dashboard;
17
+ const { importMap } = req.payload;
18
+ // Find the widget configuration
19
+ const widgetConfig = widgets.find((widget)=>widget.slug === widgetSlug);
20
+ if (!widgetConfig) {
21
+ return {
22
+ component: React.createElement('div', {
23
+ style: {
24
+ background: 'var(--theme-elevation-50)',
25
+ border: '1px solid var(--theme-elevation-200)',
26
+ borderRadius: '4px',
27
+ color: 'var(--theme-text)',
28
+ padding: '20px',
29
+ textAlign: 'center'
30
+ }
31
+ }, `Widget "${widgetSlug}" not found`)
32
+ };
33
+ }
34
+ try {
35
+ // Create server props for the widget
36
+ const serverProps = {
37
+ req,
38
+ // TODO: widgetData: widgetData || {},
39
+ cookies,
40
+ locale,
41
+ permissions,
42
+ widgetSlug
43
+ };
44
+ // Render the widget server component
45
+ const component = RenderServerComponent({
46
+ Component: widgetConfig.ComponentPath,
47
+ importMap,
48
+ serverProps
49
+ });
50
+ return {
51
+ component
52
+ };
53
+ } catch (error) {
54
+ const errorMessage = error instanceof Error ? error.message : String(error);
55
+ req.payload.logger.error({
56
+ err: error,
57
+ msg: `Error rendering widget "${widgetSlug}": ${errorMessage}`
58
+ });
59
+ return {
60
+ component: React.createElement('div', {
61
+ style: {
62
+ background: 'var(--theme-error-50)',
63
+ border: '1px solid var(--theme-error-200)',
64
+ borderRadius: '4px',
65
+ color: 'var(--theme-error-text)',
66
+ padding: '20px',
67
+ textAlign: 'center'
68
+ }
69
+ }, 'Error loading widget')
70
+ };
71
+ }
71
72
  };
73
+
72
74
  //# sourceMappingURL=renderWidgetServerFn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderWidgetServerFn.js","names":["RenderServerComponent","React","renderWidgetHandler","req","widgetSlug","user","Error","widgets","payload","config","admin","dashboard","importMap","widgetConfig","find","widget","slug","component","createElement","style","background","border","borderRadius","color","padding","textAlign","serverProps","Component","ComponentPath","error","errorMessage","message","String","logger","err","msg"],"sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.ts"],"sourcesContent":["import type { ServerFunction, WidgetServerProps } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport React from 'react'\n\nexport type RenderWidgetServerFnArgs = {\n /**\n * Instance-specific data for this widget\n */\n // TODO: widgets will support state in the future\n // widgetData?: Record<string, unknown>\n /**\n * The slug of the widget to render\n */\n widgetSlug: string\n}\n\nexport type RenderWidgetServerFnReturnType = {\n component: React.ReactNode\n}\n\n/**\n * Server function to render a widget on-demand.\n * Similar to render-field but specifically for dashboard widgets.\n */\nexport const renderWidgetHandler: ServerFunction<\n RenderWidgetServerFnArgs,\n RenderWidgetServerFnReturnType\n> = ({ req, /* widgetData, */ widgetSlug }) => {\n if (!req.user) {\n throw new Error('Unauthorized')\n }\n\n const { widgets } = req.payload.config.admin.dashboard\n const { importMap } = req.payload\n\n // Find the widget configuration\n const widgetConfig = widgets.find((widget) => widget.slug === widgetSlug)\n\n if (!widgetConfig) {\n return {\n component: React.createElement(\n 'div',\n {\n style: {\n background: 'var(--theme-elevation-50)',\n border: '1px solid var(--theme-elevation-200)',\n borderRadius: '4px',\n color: 'var(--theme-text)',\n padding: '20px',\n textAlign: 'center',\n },\n },\n `Widget \"${widgetSlug}\" not found`,\n ),\n }\n }\n\n try {\n // Create server props for the widget\n const serverProps: WidgetServerProps = {\n req,\n // TODO: widgetData: widgetData || {},\n widgetSlug,\n }\n\n // Render the widget server component\n const component = RenderServerComponent({\n Component: widgetConfig.ComponentPath,\n importMap,\n serverProps,\n })\n\n return { component }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error)\n\n req.payload.logger.error({\n err: error,\n msg: `Error rendering widget \"${widgetSlug}\": ${errorMessage}`,\n })\n\n return {\n component: React.createElement(\n 'div',\n {\n style: {\n background: 'var(--theme-error-50)',\n border: '1px solid var(--theme-error-200)',\n borderRadius: '4px',\n color: 'var(--theme-error-text)',\n padding: '20px',\n textAlign: 'center',\n },\n },\n 'Error loading widget',\n ),\n }\n }\n}\n"],"mappings":"AAEA,SAASA,qBAAqB,QAAQ;AACtC,OAAOC,KAAA,MAAW;AAkBlB;;;;AAIA,OAAO,MAAMC,mBAAA,GAGTA,CAAC;EAAEC,GAAG;EAAE,iBAAkBC;AAAU,CAAE;EACxC,IAAI,CAACD,GAAA,CAAIE,IAAI,EAAE;IACb,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,MAAM;IAAEC;EAAO,CAAE,GAAGJ,GAAA,CAAIK,OAAO,CAACC,MAAM,CAACC,KAAK,CAACC,SAAS;EACtD,MAAM;IAAEC;EAAS,CAAE,GAAGT,GAAA,CAAIK,OAAO;EAEjC;EACA,MAAMK,YAAA,GAAeN,OAAA,CAAQO,IAAI,CAAEC,MAAA,IAAWA,MAAA,CAAOC,IAAI,KAAKZ,UAAA;EAE9D,IAAI,CAACS,YAAA,EAAc;IACjB,OAAO;MACLI,SAAA,EAAWhB,KAAA,CAAMiB,aAAa,CAC5B,OACA;QACEC,KAAA,EAAO;UACLC,UAAA,EAAY;UACZC,MAAA,EAAQ;UACRC,YAAA,EAAc;UACdC,KAAA,EAAO;UACPC,OAAA,EAAS;UACTC,SAAA,EAAW;QACb;MACF,GACA,WAAWrB,UAAA,aAAuB;IAEtC;EACF;EAEA,IAAI;IACF;IACA,MAAMsB,WAAA,GAAiC;MACrCvB,GAAA;MACA;MACAC;IACF;IAEA;IACA,MAAMa,SAAA,GAAYjB,qBAAA,CAAsB;MACtC2B,SAAA,EAAWd,YAAA,CAAae,aAAa;MACrChB,SAAA;MACAc;IACF;IAEA,OAAO;MAAET;IAAU;EACrB,EAAE,OAAOY,KAAA,EAAO;IACd,MAAMC,YAAA,GAAeD,KAAA,YAAiBvB,KAAA,GAAQuB,KAAA,CAAME,OAAO,GAAGC,MAAA,CAAOH,KAAA;IAErE1B,GAAA,CAAIK,OAAO,CAACyB,MAAM,CAACJ,KAAK,CAAC;MACvBK,GAAA,EAAKL,KAAA;MACLM,GAAA,EAAK,2BAA2B/B,UAAA,MAAgB0B,YAAA;IAClD;IAEA,OAAO;MACLb,SAAA,EAAWhB,KAAA,CAAMiB,aAAa,CAC5B,OACA;QACEC,KAAA,EAAO;UACLC,UAAA,EAAY;UACZC,MAAA,EAAQ;UACRC,YAAA,EAAc;UACdC,KAAA,EAAO;UACPC,OAAA,EAAS;UACTC,SAAA,EAAW;QACb;MACF,GACA;IAEJ;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.ts"],"sourcesContent":["import type { ServerFunction, WidgetServerProps } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport React from 'react'\n\nexport type RenderWidgetServerFnArgs = {\n /**\n * Instance-specific data for this widget\n */\n // TODO: widgets will support state in the future\n // widgetData?: Record<string, unknown>\n /**\n * The slug of the widget to render\n */\n widgetSlug: string\n}\n\nexport type RenderWidgetServerFnReturnType = {\n component: React.ReactNode\n}\n\n/**\n * Server function to render a widget on-demand.\n * Similar to render-field but specifically for dashboard widgets.\n */\nexport const renderWidgetHandler: ServerFunction<\n RenderWidgetServerFnArgs,\n RenderWidgetServerFnReturnType\n> = ({ cookies, locale, permissions, req, widgetSlug }) => {\n if (!req.user) {\n throw new Error('Unauthorized')\n }\n\n const { widgets } = req.payload.config.admin.dashboard\n const { importMap } = req.payload\n\n // Find the widget configuration\n const widgetConfig = widgets.find((widget) => widget.slug === widgetSlug)\n\n if (!widgetConfig) {\n return {\n component: React.createElement(\n 'div',\n {\n style: {\n background: 'var(--theme-elevation-50)',\n border: '1px solid var(--theme-elevation-200)',\n borderRadius: '4px',\n color: 'var(--theme-text)',\n padding: '20px',\n textAlign: 'center',\n },\n },\n `Widget \"${widgetSlug}\" not found`,\n ),\n }\n }\n\n try {\n // Create server props for the widget\n const serverProps: WidgetServerProps = {\n req,\n // TODO: widgetData: widgetData || {},\n cookies,\n locale,\n permissions,\n widgetSlug,\n }\n\n // Render the widget server component\n const component = RenderServerComponent({\n Component: widgetConfig.ComponentPath,\n importMap,\n serverProps,\n })\n\n return { component }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error)\n\n req.payload.logger.error({\n err: error,\n msg: `Error rendering widget \"${widgetSlug}\": ${errorMessage}`,\n })\n\n return {\n component: React.createElement(\n 'div',\n {\n style: {\n background: 'var(--theme-error-50)',\n border: '1px solid var(--theme-error-200)',\n borderRadius: '4px',\n color: 'var(--theme-error-text)',\n padding: '20px',\n textAlign: 'center',\n },\n },\n 'Error loading widget',\n ),\n }\n }\n}\n"],"names":["RenderServerComponent","React","renderWidgetHandler","cookies","locale","permissions","req","widgetSlug","user","Error","widgets","payload","config","admin","dashboard","importMap","widgetConfig","find","widget","slug","component","createElement","style","background","border","borderRadius","color","padding","textAlign","serverProps","Component","ComponentPath","error","errorMessage","message","String","logger","err","msg"],"mappings":"AAEA,SAASA,qBAAqB,QAAQ,gDAA+C;AACrF,OAAOC,WAAW,QAAO;AAGvB;;GAEC,GACD,iDAAiD;AACjD,uCAAuC;AACvC;;GAEC,GAQH;;;CAGC,GACD,OAAO,MAAMC,sBAGT,CAAC,EAAEC,OAAO,EAAEC,MAAM,EAAEC,WAAW,EAAEC,GAAG,EAAEC,UAAU,EAAE;IACpD,IAAI,CAACD,IAAIE,IAAI,EAAE;QACb,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAM,EAAEC,OAAO,EAAE,GAAGJ,IAAIK,OAAO,CAACC,MAAM,CAACC,KAAK,CAACC,SAAS;IACtD,MAAM,EAAEC,SAAS,EAAE,GAAGT,IAAIK,OAAO;IAEjC,gCAAgC;IAChC,MAAMK,eAAeN,QAAQO,IAAI,CAAC,CAACC,SAAWA,OAAOC,IAAI,KAAKZ;IAE9D,IAAI,CAACS,cAAc;QACjB,OAAO;YACLI,WAAWnB,MAAMoB,aAAa,CAC5B,OACA;gBACEC,OAAO;oBACLC,YAAY;oBACZC,QAAQ;oBACRC,cAAc;oBACdC,OAAO;oBACPC,SAAS;oBACTC,WAAW;gBACb;YACF,GACA,CAAC,QAAQ,EAAErB,WAAW,WAAW,CAAC;QAEtC;IACF;IAEA,IAAI;QACF,qCAAqC;QACrC,MAAMsB,cAAiC;YACrCvB;YACA,sCAAsC;YACtCH;YACAC;YACAC;YACAE;QACF;QAEA,qCAAqC;QACrC,MAAMa,YAAYpB,sBAAsB;YACtC8B,WAAWd,aAAae,aAAa;YACrChB;YACAc;QACF;QAEA,OAAO;YAAET;QAAU;IACrB,EAAE,OAAOY,OAAO;QACd,MAAMC,eAAeD,iBAAiBvB,QAAQuB,MAAME,OAAO,GAAGC,OAAOH;QAErE1B,IAAIK,OAAO,CAACyB,MAAM,CAACJ,KAAK,CAAC;YACvBK,KAAKL;YACLM,KAAK,CAAC,wBAAwB,EAAE/B,WAAW,GAAG,EAAE0B,cAAc;QAChE;QAEA,OAAO;YACLb,WAAWnB,MAAMoB,aAAa,CAC5B,OACA;gBACEC,OAAO;oBACLC,YAAY;oBACZC,QAAQ;oBACRC,cAAc;oBACdC,OAAO;oBACPC,SAAS;oBACTC,WAAW;gBACb;YACF,GACA;QAEJ;IACF;AACF,EAAC"}