@payloadcms/next 3.74.0-canary.6 → 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 (470) 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.js +1 -1
  62. package/dist/exports/client.js.map +1 -1
  63. package/dist/exports/layouts.js +1 -0
  64. package/dist/exports/layouts.js.map +1 -1
  65. package/dist/exports/routes.js +1 -0
  66. package/dist/exports/routes.js.map +1 -1
  67. package/dist/exports/rsc.js +1 -0
  68. package/dist/exports/rsc.js.map +1 -1
  69. package/dist/exports/templates.js +1 -0
  70. package/dist/exports/templates.js.map +1 -1
  71. package/dist/exports/utilities.js +7 -12
  72. package/dist/exports/utilities.js.map +1 -1
  73. package/dist/exports/views.js +1 -0
  74. package/dist/exports/views.js.map +1 -1
  75. package/dist/index.js +1 -0
  76. package/dist/index.js.map +1 -1
  77. package/dist/layouts/Root/NestProviders.js +21 -20
  78. package/dist/layouts/Root/NestProviders.js.map +1 -1
  79. package/dist/layouts/Root/checkDependencies.js +49 -41
  80. package/dist/layouts/Root/checkDependencies.js.map +1 -1
  81. package/dist/layouts/Root/index.js +128 -103
  82. package/dist/layouts/Root/index.js.map +1 -1
  83. package/dist/prod/styles.css +5 -1
  84. package/dist/routes/graphql/handler.js +114 -122
  85. package/dist/routes/graphql/handler.js.map +1 -1
  86. package/dist/routes/graphql/index.js +1 -0
  87. package/dist/routes/graphql/index.js.map +1 -1
  88. package/dist/routes/graphql/playground.js +28 -27
  89. package/dist/routes/graphql/playground.js.map +1 -1
  90. package/dist/routes/index.js +1 -0
  91. package/dist/routes/index.js.map +1 -1
  92. package/dist/routes/rest/index.js +23 -22
  93. package/dist/routes/rest/index.js.map +1 -1
  94. package/dist/routes/rest/og/image.js +103 -79
  95. package/dist/routes/rest/og/image.js.map +1 -1
  96. package/dist/routes/rest/og/index.js +59 -54
  97. package/dist/routes/rest/og/index.js.map +1 -1
  98. package/dist/templates/Default/NavHamburger/index.js +12 -20
  99. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  100. package/dist/templates/Default/Wrapper/index.js +20 -44
  101. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  102. package/dist/templates/Default/Wrapper/index.scss +58 -0
  103. package/dist/templates/Default/index.js +147 -116
  104. package/dist/templates/Default/index.js.map +1 -1
  105. package/dist/templates/Default/index.scss +79 -0
  106. package/dist/templates/Minimal/index.js +26 -17
  107. package/dist/templates/Minimal/index.js.map +1 -1
  108. package/dist/templates/Minimal/index.scss +30 -0
  109. package/dist/utilities/getExistingAuthToken.js +3 -2
  110. package/dist/utilities/getExistingAuthToken.js.map +1 -1
  111. package/dist/utilities/getNextRequestI18n.js +12 -13
  112. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  113. package/dist/utilities/getPayloadHMR.js +5 -5
  114. package/dist/utilities/getPayloadHMR.js.map +1 -1
  115. package/dist/utilities/getPreferences.js +27 -22
  116. package/dist/utilities/getPreferences.js.map +1 -1
  117. package/dist/utilities/getRequestLocale.js +13 -14
  118. package/dist/utilities/getRequestLocale.js.map +1 -1
  119. package/dist/utilities/getRequestTheme.js +19 -19
  120. package/dist/utilities/getRequestTheme.js.map +1 -1
  121. package/dist/utilities/getRouteWithoutAdmin.js +3 -5
  122. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
  123. package/dist/utilities/handleAuthRedirect.js +22 -36
  124. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  125. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  126. package/dist/utilities/handleServerFunctions.js +33 -41
  127. package/dist/utilities/handleServerFunctions.js.map +1 -1
  128. package/dist/utilities/initReq.d.ts +2 -13
  129. package/dist/utilities/initReq.d.ts.map +1 -1
  130. package/dist/utilities/initReq.js +78 -96
  131. package/dist/utilities/initReq.js.map +1 -1
  132. package/dist/utilities/isCustomAdminView.js +22 -26
  133. package/dist/utilities/isCustomAdminView.js.map +1 -1
  134. package/dist/utilities/isPublicAdminRoute.js +26 -20
  135. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  136. package/dist/utilities/meta.js +68 -63
  137. package/dist/utilities/meta.js.map +1 -1
  138. package/dist/utilities/selectiveCache.js +25 -26
  139. package/dist/utilities/selectiveCache.js.map +1 -1
  140. package/dist/utilities/setPayloadAuthCookie.js +19 -22
  141. package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
  142. package/dist/utilities/slugify.js +24 -33
  143. package/dist/utilities/slugify.js.map +1 -1
  144. package/dist/utilities/timestamp.js +7 -6
  145. package/dist/utilities/timestamp.js.map +1 -1
  146. package/dist/views/API/LocaleSelector/index.js +17 -39
  147. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  148. package/dist/views/API/RenderJSON/index.js +171 -126
  149. package/dist/views/API/RenderJSON/index.js.map +1 -1
  150. package/dist/views/API/RenderJSON/index.scss +129 -0
  151. package/dist/views/API/index.client.js +291 -199
  152. package/dist/views/API/index.client.js.map +1 -1
  153. package/dist/views/API/index.js +7 -2
  154. package/dist/views/API/index.js.map +1 -1
  155. package/dist/views/API/index.scss +119 -0
  156. package/dist/views/API/metadata.js +18 -23
  157. package/dist/views/API/metadata.js.map +1 -1
  158. package/dist/views/Account/ResetPreferences/index.js +78 -102
  159. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  160. package/dist/views/Account/Settings/LanguageSelector.js +18 -47
  161. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  162. package/dist/views/Account/Settings/index.js +60 -25
  163. package/dist/views/Account/Settings/index.js.map +1 -1
  164. package/dist/views/Account/Settings/index.scss +48 -0
  165. package/dist/views/Account/ToggleTheme/index.js +38 -55
  166. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  167. package/dist/views/Account/index.client.js +16 -32
  168. package/dist/views/Account/index.client.js.map +1 -1
  169. package/dist/views/Account/index.js +147 -158
  170. package/dist/views/Account/index.js.map +1 -1
  171. package/dist/views/Account/metadata.js +8 -12
  172. package/dist/views/Account/metadata.js.map +1 -1
  173. package/dist/views/BrowseByFolder/buildView.js +138 -157
  174. package/dist/views/BrowseByFolder/buildView.js.map +1 -1
  175. package/dist/views/BrowseByFolder/index.js +16 -16
  176. package/dist/views/BrowseByFolder/index.js.map +1 -1
  177. package/dist/views/BrowseByFolder/metadata.js +13 -15
  178. package/dist/views/BrowseByFolder/metadata.js.map +1 -1
  179. package/dist/views/CollectionFolders/buildView.js +122 -142
  180. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  181. package/dist/views/CollectionFolders/index.js +16 -16
  182. package/dist/views/CollectionFolders/index.js.map +1 -1
  183. package/dist/views/CollectionFolders/metadata.js +18 -21
  184. package/dist/views/CollectionFolders/metadata.js.map +1 -1
  185. package/dist/views/CollectionFolders/renderFolderViewSlots.js +58 -61
  186. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -1
  187. package/dist/views/CollectionTrash/index.js +17 -17
  188. package/dist/views/CollectionTrash/index.js.map +1 -1
  189. package/dist/views/CollectionTrash/metadata.js +18 -21
  190. package/dist/views/CollectionTrash/metadata.js.map +1 -1
  191. package/dist/views/CreateFirstUser/index.client.js +117 -103
  192. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  193. package/dist/views/CreateFirstUser/index.js +87 -81
  194. package/dist/views/CreateFirstUser/index.js.map +1 -1
  195. package/dist/views/CreateFirstUser/index.scss +21 -0
  196. package/dist/views/CreateFirstUser/metadata.js +8 -12
  197. package/dist/views/CreateFirstUser/metadata.js.map +1 -1
  198. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +147 -138
  199. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  200. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +423 -405
  201. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  202. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts.map +1 -1
  203. package/dist/views/Dashboard/Default/ModularDashboard/index.js +75 -75
  204. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  205. package/dist/views/Dashboard/Default/ModularDashboard/index.scss +316 -0
  206. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +62 -89
  207. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  208. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts.map +1 -1
  209. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +43 -47
  210. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
  211. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts.map +1 -1
  212. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +67 -65
  213. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  214. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +164 -147
  215. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  216. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +31 -30
  217. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -1
  218. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +223 -229
  219. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
  220. package/dist/views/Dashboard/Default/index.js +59 -45
  221. package/dist/views/Dashboard/Default/index.js.map +1 -1
  222. package/dist/views/Dashboard/index.js +46 -42
  223. package/dist/views/Dashboard/index.js.map +1 -1
  224. package/dist/views/Dashboard/metadata.js +10 -14
  225. package/dist/views/Dashboard/metadata.js.map +1 -1
  226. package/dist/views/Document/getCustomDocumentViewByKey.js +3 -2
  227. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
  228. package/dist/views/Document/getCustomViewByRoute.js +27 -30
  229. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  230. package/dist/views/Document/getDocPreferences.js +40 -41
  231. package/dist/views/Document/getDocPreferences.js.map +1 -1
  232. package/dist/views/Document/getDocumentData.js +44 -55
  233. package/dist/views/Document/getDocumentData.js.map +1 -1
  234. package/dist/views/Document/getDocumentPermissions.js +77 -80
  235. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  236. package/dist/views/Document/getDocumentView.js +313 -283
  237. package/dist/views/Document/getDocumentView.js.map +1 -1
  238. package/dist/views/Document/getIsLocked.js +73 -73
  239. package/dist/views/Document/getIsLocked.js.map +1 -1
  240. package/dist/views/Document/getMetaBySegment.js +130 -136
  241. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  242. package/dist/views/Document/getVersions.js +220 -213
  243. package/dist/views/Document/getVersions.js.map +1 -1
  244. package/dist/views/Document/handleServerFunction.d.ts.map +1 -1
  245. package/dist/views/Document/handleServerFunction.js +101 -130
  246. package/dist/views/Document/handleServerFunction.js.map +1 -1
  247. package/dist/views/Document/index.js +317 -355
  248. package/dist/views/Document/index.js.map +1 -1
  249. package/dist/views/Document/metadata.js +2 -1
  250. package/dist/views/Document/metadata.js.map +1 -1
  251. package/dist/views/Document/renderDocumentSlots.d.ts +3 -2
  252. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  253. package/dist/views/Document/renderDocumentSlots.js +142 -141
  254. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  255. package/dist/views/Edit/index.js +10 -6
  256. package/dist/views/Edit/index.js.map +1 -1
  257. package/dist/views/Edit/metadata.js +36 -46
  258. package/dist/views/Edit/metadata.js.map +1 -1
  259. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +130 -164
  260. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  261. package/dist/views/ForgotPassword/index.js +79 -62
  262. package/dist/views/ForgotPassword/index.js.map +1 -1
  263. package/dist/views/ForgotPassword/metadata.js +8 -12
  264. package/dist/views/ForgotPassword/metadata.js.map +1 -1
  265. package/dist/views/List/createSerializableValue.js +12 -11
  266. package/dist/views/List/createSerializableValue.js.map +1 -1
  267. package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
  268. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  269. package/dist/views/List/extractRelationshipDisplayValue.js +15 -14
  270. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
  271. package/dist/views/List/extractValueOrRelationshipID.js +16 -15
  272. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
  273. package/dist/views/List/handleGroupBy.js +133 -150
  274. package/dist/views/List/handleGroupBy.js.map +1 -1
  275. package/dist/views/List/handleServerFunction.d.ts.map +1 -1
  276. package/dist/views/List/handleServerFunction.js +97 -123
  277. package/dist/views/List/handleServerFunction.js.map +1 -1
  278. package/dist/views/List/index.d.ts +1 -0
  279. package/dist/views/List/index.d.ts.map +1 -1
  280. package/dist/views/List/index.js +303 -318
  281. package/dist/views/List/index.js.map +1 -1
  282. package/dist/views/List/metadata.js +17 -20
  283. package/dist/views/List/metadata.js.map +1 -1
  284. package/dist/views/List/renderListViewSlots.js +82 -75
  285. package/dist/views/List/renderListViewSlots.js.map +1 -1
  286. package/dist/views/List/resolveAllFilterOptions.js +43 -45
  287. package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
  288. package/dist/views/List/transformColumnsToSelect.js +9 -8
  289. package/dist/views/List/transformColumnsToSelect.js.map +1 -1
  290. package/dist/views/Login/LoginField/index.js +57 -89
  291. package/dist/views/Login/LoginField/index.js.map +1 -1
  292. package/dist/views/Login/LoginForm/index.js +107 -160
  293. package/dist/views/Login/LoginForm/index.js.map +1 -1
  294. package/dist/views/Login/LoginForm/index.scss +10 -0
  295. package/dist/views/Login/index.js +82 -85
  296. package/dist/views/Login/index.js.map +1 -1
  297. package/dist/views/Login/index.scss +10 -0
  298. package/dist/views/Login/metadata.js +8 -12
  299. package/dist/views/Login/metadata.js.map +1 -1
  300. package/dist/views/Logout/LogoutClient.js +84 -120
  301. package/dist/views/Logout/LogoutClient.js.map +1 -1
  302. package/dist/views/Logout/index.js +29 -29
  303. package/dist/views/Logout/index.js.map +1 -1
  304. package/dist/views/Logout/index.scss +25 -0
  305. package/dist/views/Logout/metadata.js +7 -11
  306. package/dist/views/Logout/metadata.js.map +1 -1
  307. package/dist/views/NotFound/index.client.js +71 -82
  308. package/dist/views/NotFound/index.client.js.map +1 -1
  309. package/dist/views/NotFound/index.js +72 -73
  310. package/dist/views/NotFound/index.js.map +1 -1
  311. package/dist/views/NotFound/index.scss +57 -0
  312. package/dist/views/NotFound/metadata.js +7 -9
  313. package/dist/views/NotFound/metadata.js.map +1 -1
  314. package/dist/views/ResetPassword/ResetPasswordForm/index.js +97 -108
  315. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  316. package/dist/views/ResetPassword/index.js +93 -73
  317. package/dist/views/ResetPassword/index.js.map +1 -1
  318. package/dist/views/ResetPassword/index.scss +11 -0
  319. package/dist/views/ResetPassword/metadata.js +8 -12
  320. package/dist/views/ResetPassword/metadata.js.map +1 -1
  321. package/dist/views/Root/attachViewActions.js +18 -23
  322. package/dist/views/Root/attachViewActions.js.map +1 -1
  323. package/dist/views/Root/generateCustomViewMetadata.js +19 -21
  324. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
  325. package/dist/views/Root/getCustomViewByKey.js +12 -14
  326. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  327. package/dist/views/Root/getCustomViewByRoute.js +31 -42
  328. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  329. package/dist/views/Root/getDocumentViewInfo.js +24 -23
  330. package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
  331. package/dist/views/Root/getRouteData.js +333 -325
  332. package/dist/views/Root/getRouteData.js.map +1 -1
  333. package/dist/views/Root/index.js +248 -270
  334. package/dist/views/Root/index.js.map +1 -1
  335. package/dist/views/Root/isPathMatchingRoute.js +21 -26
  336. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  337. package/dist/views/Root/metadata.js +176 -181
  338. package/dist/views/Root/metadata.js.map +1 -1
  339. package/dist/views/Unauthorized/index.js +54 -46
  340. package/dist/views/Unauthorized/index.js.map +1 -1
  341. package/dist/views/Unauthorized/index.scss +14 -0
  342. package/dist/views/Unauthorized/metadata.js +8 -12
  343. package/dist/views/Unauthorized/metadata.js.map +1 -1
  344. package/dist/views/Verify/index.client.js +25 -43
  345. package/dist/views/Verify/index.client.js.map +1 -1
  346. package/dist/views/Verify/index.js +69 -64
  347. package/dist/views/Verify/index.js.map +1 -1
  348. package/dist/views/Verify/index.scss +16 -0
  349. package/dist/views/Verify/metadata.js +8 -12
  350. package/dist/views/Verify/metadata.js.map +1 -1
  351. package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
  352. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  353. package/dist/views/Version/Default/SetStepNav.js +86 -127
  354. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  355. package/dist/views/Version/Default/index.js +380 -236
  356. package/dist/views/Version/Default/index.js.map +1 -1
  357. package/dist/views/Version/Default/index.scss +170 -0
  358. package/dist/views/Version/Default/types.js +2 -1
  359. package/dist/views/Version/Default/types.js.map +1 -1
  360. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +102 -119
  361. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  362. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +81 -0
  363. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +78 -73
  364. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  365. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +363 -408
  366. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  367. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +40 -51
  368. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  369. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +35 -67
  370. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  371. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +12 -0
  372. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +59 -56
  373. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  374. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +9 -0
  375. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +139 -117
  376. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  377. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +59 -0
  378. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +56 -61
  379. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  380. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +223 -204
  381. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  382. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +91 -0
  383. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -11
  384. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  385. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +48 -73
  386. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  387. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +4 -0
  388. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +132 -143
  389. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  390. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +9 -0
  391. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +56 -81
  392. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  393. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +4 -0
  394. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +252 -211
  395. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  396. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.scss +121 -0
  397. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +23 -22
  398. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  399. package/dist/views/Version/RenderFieldsToDiff/index.js +12 -9
  400. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  401. package/dist/views/Version/RenderFieldsToDiff/index.scss +24 -0
  402. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +213 -228
  403. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  404. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +1005 -826
  405. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  406. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +2 -1
  407. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
  408. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +44 -43
  409. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
  410. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +32 -36
  411. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  412. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +145 -129
  413. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  414. package/dist/views/Version/Restore/index.js +117 -93
  415. package/dist/views/Version/Restore/index.js.map +1 -1
  416. package/dist/views/Version/Restore/index.scss +84 -0
  417. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +33 -50
  418. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  419. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +170 -226
  420. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  421. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +18 -0
  422. package/dist/views/Version/SelectComparison/index.js +73 -50
  423. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  424. package/dist/views/Version/SelectComparison/index.scss +9 -0
  425. package/dist/views/Version/SelectComparison/types.js +2 -1
  426. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  427. package/dist/views/Version/SelectLocales/index.js +34 -32
  428. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  429. package/dist/views/Version/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
  430. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +107 -96
  431. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  432. package/dist/views/Version/VersionPillLabel/getVersionLabel.d.ts +3 -2
  433. package/dist/views/Version/VersionPillLabel/getVersionLabel.d.ts.map +1 -1
  434. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +30 -39
  435. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
  436. package/dist/views/Version/VersionPillLabel/index.scss +26 -0
  437. package/dist/views/Version/fetchVersions.js +113 -138
  438. package/dist/views/Version/fetchVersions.js.map +1 -1
  439. package/dist/views/Version/index.d.ts.map +1 -1
  440. package/dist/views/Version/index.js +328 -323
  441. package/dist/views/Version/index.js.map +1 -1
  442. package/dist/views/Version/metadata.js +43 -50
  443. package/dist/views/Version/metadata.js.map +1 -1
  444. package/dist/views/Versions/buildColumns.js +95 -79
  445. package/dist/views/Versions/buildColumns.js.map +1 -1
  446. package/dist/views/Versions/cells/AutosaveCell/index.js +34 -38
  447. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  448. package/dist/views/Versions/cells/AutosaveCell/index.scss +9 -0
  449. package/dist/views/Versions/cells/CreatedAt/index.js +32 -53
  450. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  451. package/dist/views/Versions/cells/ID/index.js +10 -8
  452. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  453. package/dist/views/Versions/index.client.js +106 -83
  454. package/dist/views/Versions/index.client.js.map +1 -1
  455. package/dist/views/Versions/index.js +164 -164
  456. package/dist/views/Versions/index.js.map +1 -1
  457. package/dist/views/Versions/index.scss +110 -0
  458. package/dist/views/Versions/metadata.js +37 -44
  459. package/dist/views/Versions/metadata.js.map +1 -1
  460. package/dist/views/Versions/types.js +2 -1
  461. package/dist/views/Versions/types.js.map +1 -1
  462. package/dist/withPayload/withPayload.js +232 -174
  463. package/dist/withPayload/withPayload.js.map +1 -1
  464. package/dist/withPayload/withPayload.spec.js +36 -35
  465. package/dist/withPayload/withPayload.spec.js.map +1 -1
  466. package/dist/withPayload/withPayload.utils.js +65 -73
  467. package/dist/withPayload/withPayload.utils.js.map +1 -1
  468. package/dist/withPayload/withPayloadLegacy.js +41 -40
  469. package/dist/withPayload/withPayloadLegacy.js.map +1 -1
  470. 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"}