@payloadcms/next 3.70.0 → 3.71.0-internal-debug.80dab4c

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 (448) hide show
  1. package/dist/auth/login.js +52 -58
  2. package/dist/auth/login.js.map +1 -1
  3. package/dist/auth/logout.js +39 -44
  4. package/dist/auth/logout.js.map +1 -1
  5. package/dist/auth/refresh.js +45 -47
  6. package/dist/auth/refresh.js.map +1 -1
  7. package/dist/cjs/withPayload.cjs +61 -23
  8. package/dist/cjs/withPayload.cjs.map +2 -2
  9. package/dist/config.js +1 -0
  10. package/dist/config.js.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +9 -15
  12. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +40 -71
  14. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +65 -59
  16. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +38 -0
  18. package/dist/elements/DocumentHeader/Tabs/index.js +80 -70
  19. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  20. package/dist/elements/DocumentHeader/Tabs/index.scss +54 -0
  21. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +16 -23
  22. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  23. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.scss +9 -0
  24. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +61 -69
  25. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  26. package/dist/elements/DocumentHeader/index.js +48 -28
  27. package/dist/elements/DocumentHeader/index.js.map +1 -1
  28. package/dist/elements/DocumentHeader/index.scss +64 -0
  29. package/dist/elements/FormHeader/index.js +30 -16
  30. package/dist/elements/FormHeader/index.js.map +1 -1
  31. package/dist/elements/FormHeader/index.scss +8 -0
  32. package/dist/elements/Logo/index.js +19 -34
  33. package/dist/elements/Logo/index.js.map +1 -1
  34. package/dist/elements/Nav/NavHamburger/index.js +23 -44
  35. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  36. package/dist/elements/Nav/NavWrapper/index.js +28 -54
  37. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  38. package/dist/elements/Nav/NavWrapper/index.scss +27 -0
  39. package/dist/elements/Nav/SettingsMenuButton/index.js +33 -39
  40. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  41. package/dist/elements/Nav/SettingsMenuButton/index.scss +11 -0
  42. package/dist/elements/Nav/getNavPrefs.js +27 -22
  43. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  44. package/dist/elements/Nav/index.client.js +97 -118
  45. package/dist/elements/Nav/index.client.js.map +1 -1
  46. package/dist/elements/Nav/index.js +148 -127
  47. package/dist/elements/Nav/index.js.map +1 -1
  48. package/dist/elements/Nav/index.scss +173 -0
  49. package/dist/esbuildEntry.d.ts +5 -0
  50. package/dist/esbuildEntry.d.ts.map +1 -0
  51. package/dist/esbuildEntry.js +6 -0
  52. package/dist/esbuildEntry.js.map +1 -0
  53. package/dist/exports/auth.js +1 -0
  54. package/dist/exports/auth.js.map +1 -1
  55. package/dist/exports/client.js +1 -1
  56. package/dist/exports/client.js.map +1 -1
  57. package/dist/exports/layouts.js +1 -0
  58. package/dist/exports/layouts.js.map +1 -1
  59. package/dist/exports/routes.js +1 -0
  60. package/dist/exports/routes.js.map +1 -1
  61. package/dist/exports/rsc.js +1 -0
  62. package/dist/exports/rsc.js.map +1 -1
  63. package/dist/exports/templates.js +1 -0
  64. package/dist/exports/templates.js.map +1 -1
  65. package/dist/exports/utilities.js +7 -12
  66. package/dist/exports/utilities.js.map +1 -1
  67. package/dist/exports/views.js +1 -0
  68. package/dist/exports/views.js.map +1 -1
  69. package/dist/index.js +1 -0
  70. package/dist/index.js.map +1 -1
  71. package/dist/layouts/Root/NestProviders.js +21 -20
  72. package/dist/layouts/Root/NestProviders.js.map +1 -1
  73. package/dist/layouts/Root/checkDependencies.js +49 -41
  74. package/dist/layouts/Root/checkDependencies.js.map +1 -1
  75. package/dist/layouts/Root/index.js +128 -103
  76. package/dist/layouts/Root/index.js.map +1 -1
  77. package/dist/prod/styles.css +5 -1
  78. package/dist/routes/graphql/handler.js +114 -122
  79. package/dist/routes/graphql/handler.js.map +1 -1
  80. package/dist/routes/graphql/index.js +1 -0
  81. package/dist/routes/graphql/index.js.map +1 -1
  82. package/dist/routes/graphql/playground.js +28 -27
  83. package/dist/routes/graphql/playground.js.map +1 -1
  84. package/dist/routes/index.js +1 -0
  85. package/dist/routes/index.js.map +1 -1
  86. package/dist/routes/rest/index.js +23 -22
  87. package/dist/routes/rest/index.js.map +1 -1
  88. package/dist/routes/rest/og/image.js +103 -79
  89. package/dist/routes/rest/og/image.js.map +1 -1
  90. package/dist/routes/rest/og/index.js +59 -54
  91. package/dist/routes/rest/og/index.js.map +1 -1
  92. package/dist/templates/Default/NavHamburger/index.js +12 -20
  93. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  94. package/dist/templates/Default/Wrapper/index.js +20 -44
  95. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  96. package/dist/templates/Default/Wrapper/index.scss +58 -0
  97. package/dist/templates/Default/index.js +147 -116
  98. package/dist/templates/Default/index.js.map +1 -1
  99. package/dist/templates/Default/index.scss +79 -0
  100. package/dist/templates/Minimal/index.js +26 -17
  101. package/dist/templates/Minimal/index.js.map +1 -1
  102. package/dist/templates/Minimal/index.scss +30 -0
  103. package/dist/utilities/getExistingAuthToken.js +3 -2
  104. package/dist/utilities/getExistingAuthToken.js.map +1 -1
  105. package/dist/utilities/getNextRequestI18n.js +12 -13
  106. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  107. package/dist/utilities/getPayloadHMR.js +5 -5
  108. package/dist/utilities/getPayloadHMR.js.map +1 -1
  109. package/dist/utilities/getPreferences.js +27 -22
  110. package/dist/utilities/getPreferences.js.map +1 -1
  111. package/dist/utilities/getRequestLocale.js +13 -14
  112. package/dist/utilities/getRequestLocale.js.map +1 -1
  113. package/dist/utilities/getRequestTheme.js +19 -19
  114. package/dist/utilities/getRequestTheme.js.map +1 -1
  115. package/dist/utilities/getRouteWithoutAdmin.js +3 -5
  116. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
  117. package/dist/utilities/handleAuthRedirect.js +22 -36
  118. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  119. package/dist/utilities/handleServerFunctions.js +34 -41
  120. package/dist/utilities/handleServerFunctions.js.map +1 -1
  121. package/dist/utilities/initReq.js +78 -96
  122. package/dist/utilities/initReq.js.map +1 -1
  123. package/dist/utilities/isCustomAdminView.js +22 -26
  124. package/dist/utilities/isCustomAdminView.js.map +1 -1
  125. package/dist/utilities/isPublicAdminRoute.js +26 -20
  126. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  127. package/dist/utilities/meta.js +68 -63
  128. package/dist/utilities/meta.js.map +1 -1
  129. package/dist/utilities/selectiveCache.js +25 -26
  130. package/dist/utilities/selectiveCache.js.map +1 -1
  131. package/dist/utilities/setPayloadAuthCookie.js +19 -22
  132. package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
  133. package/dist/utilities/slugify.js +24 -33
  134. package/dist/utilities/slugify.js.map +1 -1
  135. package/dist/utilities/timestamp.js +7 -6
  136. package/dist/utilities/timestamp.js.map +1 -1
  137. package/dist/views/API/LocaleSelector/index.js +17 -39
  138. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  139. package/dist/views/API/RenderJSON/index.js +171 -126
  140. package/dist/views/API/RenderJSON/index.js.map +1 -1
  141. package/dist/views/API/RenderJSON/index.scss +129 -0
  142. package/dist/views/API/index.client.js +290 -197
  143. package/dist/views/API/index.client.js.map +1 -1
  144. package/dist/views/API/index.js +7 -2
  145. package/dist/views/API/index.js.map +1 -1
  146. package/dist/views/API/index.scss +119 -0
  147. package/dist/views/API/metadata.js +18 -23
  148. package/dist/views/API/metadata.js.map +1 -1
  149. package/dist/views/Account/ResetPreferences/index.js +78 -102
  150. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  151. package/dist/views/Account/Settings/LanguageSelector.js +18 -47
  152. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  153. package/dist/views/Account/Settings/index.js +60 -25
  154. package/dist/views/Account/Settings/index.js.map +1 -1
  155. package/dist/views/Account/Settings/index.scss +48 -0
  156. package/dist/views/Account/ToggleTheme/index.js +38 -55
  157. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  158. package/dist/views/Account/index.client.js +16 -32
  159. package/dist/views/Account/index.client.js.map +1 -1
  160. package/dist/views/Account/index.js +147 -158
  161. package/dist/views/Account/index.js.map +1 -1
  162. package/dist/views/Account/metadata.js +8 -12
  163. package/dist/views/Account/metadata.js.map +1 -1
  164. package/dist/views/BrowseByFolder/buildView.js +138 -157
  165. package/dist/views/BrowseByFolder/buildView.js.map +1 -1
  166. package/dist/views/BrowseByFolder/index.js +16 -16
  167. package/dist/views/BrowseByFolder/index.js.map +1 -1
  168. package/dist/views/BrowseByFolder/metadata.js +13 -15
  169. package/dist/views/BrowseByFolder/metadata.js.map +1 -1
  170. package/dist/views/CollectionFolders/buildView.js +122 -142
  171. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  172. package/dist/views/CollectionFolders/index.js +16 -16
  173. package/dist/views/CollectionFolders/index.js.map +1 -1
  174. package/dist/views/CollectionFolders/metadata.js +18 -21
  175. package/dist/views/CollectionFolders/metadata.js.map +1 -1
  176. package/dist/views/CollectionFolders/renderFolderViewSlots.js +58 -61
  177. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -1
  178. package/dist/views/CollectionTrash/index.js +17 -17
  179. package/dist/views/CollectionTrash/index.js.map +1 -1
  180. package/dist/views/CollectionTrash/metadata.js +18 -21
  181. package/dist/views/CollectionTrash/metadata.js.map +1 -1
  182. package/dist/views/CreateFirstUser/index.client.js +117 -103
  183. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  184. package/dist/views/CreateFirstUser/index.js +87 -81
  185. package/dist/views/CreateFirstUser/index.js.map +1 -1
  186. package/dist/views/CreateFirstUser/index.scss +21 -0
  187. package/dist/views/CreateFirstUser/metadata.js +8 -12
  188. package/dist/views/CreateFirstUser/metadata.js.map +1 -1
  189. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +147 -138
  190. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  191. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +423 -405
  192. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  193. package/dist/views/Dashboard/Default/ModularDashboard/index.js +72 -75
  194. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  195. package/dist/views/Dashboard/Default/ModularDashboard/index.scss +316 -0
  196. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +62 -89
  197. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  198. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +40 -47
  199. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
  200. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +64 -65
  201. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  202. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +164 -147
  203. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  204. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +31 -30
  205. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -1
  206. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +223 -229
  207. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
  208. package/dist/views/Dashboard/Default/index.js +59 -45
  209. package/dist/views/Dashboard/Default/index.js.map +1 -1
  210. package/dist/views/Dashboard/index.js +46 -42
  211. package/dist/views/Dashboard/index.js.map +1 -1
  212. package/dist/views/Dashboard/metadata.js +10 -14
  213. package/dist/views/Dashboard/metadata.js.map +1 -1
  214. package/dist/views/Document/getCustomDocumentViewByKey.js +3 -2
  215. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
  216. package/dist/views/Document/getCustomViewByRoute.js +27 -30
  217. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  218. package/dist/views/Document/getDocPreferences.js +40 -41
  219. package/dist/views/Document/getDocPreferences.js.map +1 -1
  220. package/dist/views/Document/getDocumentData.js +44 -55
  221. package/dist/views/Document/getDocumentData.js.map +1 -1
  222. package/dist/views/Document/getDocumentPermissions.js +77 -80
  223. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  224. package/dist/views/Document/getDocumentView.js +313 -283
  225. package/dist/views/Document/getDocumentView.js.map +1 -1
  226. package/dist/views/Document/getIsLocked.js +66 -66
  227. package/dist/views/Document/getIsLocked.js.map +1 -1
  228. package/dist/views/Document/getMetaBySegment.js +130 -136
  229. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  230. package/dist/views/Document/getVersions.js +205 -195
  231. package/dist/views/Document/getVersions.js.map +1 -1
  232. package/dist/views/Document/handleServerFunction.js +103 -128
  233. package/dist/views/Document/handleServerFunction.js.map +1 -1
  234. package/dist/views/Document/index.js +316 -355
  235. package/dist/views/Document/index.js.map +1 -1
  236. package/dist/views/Document/metadata.js +2 -1
  237. package/dist/views/Document/metadata.js.map +1 -1
  238. package/dist/views/Document/renderDocumentSlots.js +121 -132
  239. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  240. package/dist/views/Edit/index.js +10 -6
  241. package/dist/views/Edit/index.js.map +1 -1
  242. package/dist/views/Edit/metadata.js +36 -46
  243. package/dist/views/Edit/metadata.js.map +1 -1
  244. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +130 -164
  245. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  246. package/dist/views/ForgotPassword/index.js +79 -62
  247. package/dist/views/ForgotPassword/index.js.map +1 -1
  248. package/dist/views/ForgotPassword/metadata.js +8 -12
  249. package/dist/views/ForgotPassword/metadata.js.map +1 -1
  250. package/dist/views/List/createSerializableValue.js +12 -11
  251. package/dist/views/List/createSerializableValue.js.map +1 -1
  252. package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
  253. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  254. package/dist/views/List/extractRelationshipDisplayValue.js +15 -14
  255. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
  256. package/dist/views/List/extractValueOrRelationshipID.js +16 -15
  257. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
  258. package/dist/views/List/handleGroupBy.js +133 -150
  259. package/dist/views/List/handleGroupBy.js.map +1 -1
  260. package/dist/views/List/handleServerFunction.js +98 -121
  261. package/dist/views/List/handleServerFunction.js.map +1 -1
  262. package/dist/views/List/index.js +305 -323
  263. package/dist/views/List/index.js.map +1 -1
  264. package/dist/views/List/metadata.js +17 -20
  265. package/dist/views/List/metadata.js.map +1 -1
  266. package/dist/views/List/renderListViewSlots.js +82 -75
  267. package/dist/views/List/renderListViewSlots.js.map +1 -1
  268. package/dist/views/List/resolveAllFilterOptions.js +43 -45
  269. package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
  270. package/dist/views/List/transformColumnsToSelect.js +9 -8
  271. package/dist/views/List/transformColumnsToSelect.js.map +1 -1
  272. package/dist/views/Login/LoginField/index.js +57 -89
  273. package/dist/views/Login/LoginField/index.js.map +1 -1
  274. package/dist/views/Login/LoginForm/index.js +107 -160
  275. package/dist/views/Login/LoginForm/index.js.map +1 -1
  276. package/dist/views/Login/LoginForm/index.scss +10 -0
  277. package/dist/views/Login/index.js +82 -85
  278. package/dist/views/Login/index.js.map +1 -1
  279. package/dist/views/Login/index.scss +10 -0
  280. package/dist/views/Login/metadata.js +8 -12
  281. package/dist/views/Login/metadata.js.map +1 -1
  282. package/dist/views/Logout/LogoutClient.js +84 -120
  283. package/dist/views/Logout/LogoutClient.js.map +1 -1
  284. package/dist/views/Logout/index.js +29 -29
  285. package/dist/views/Logout/index.js.map +1 -1
  286. package/dist/views/Logout/index.scss +25 -0
  287. package/dist/views/Logout/metadata.js +7 -11
  288. package/dist/views/Logout/metadata.js.map +1 -1
  289. package/dist/views/NotFound/index.client.js +71 -82
  290. package/dist/views/NotFound/index.client.js.map +1 -1
  291. package/dist/views/NotFound/index.js +72 -73
  292. package/dist/views/NotFound/index.js.map +1 -1
  293. package/dist/views/NotFound/index.scss +57 -0
  294. package/dist/views/NotFound/metadata.js +7 -9
  295. package/dist/views/NotFound/metadata.js.map +1 -1
  296. package/dist/views/ResetPassword/ResetPasswordForm/index.js +97 -108
  297. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  298. package/dist/views/ResetPassword/index.js +93 -73
  299. package/dist/views/ResetPassword/index.js.map +1 -1
  300. package/dist/views/ResetPassword/index.scss +11 -0
  301. package/dist/views/ResetPassword/metadata.js +8 -12
  302. package/dist/views/ResetPassword/metadata.js.map +1 -1
  303. package/dist/views/Root/attachViewActions.js +18 -23
  304. package/dist/views/Root/attachViewActions.js.map +1 -1
  305. package/dist/views/Root/generateCustomViewMetadata.js +19 -21
  306. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
  307. package/dist/views/Root/getCustomViewByKey.js +12 -14
  308. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  309. package/dist/views/Root/getCustomViewByRoute.js +31 -42
  310. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  311. package/dist/views/Root/getDocumentViewInfo.js +24 -23
  312. package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
  313. package/dist/views/Root/getRouteData.js +333 -325
  314. package/dist/views/Root/getRouteData.js.map +1 -1
  315. package/dist/views/Root/index.js +248 -270
  316. package/dist/views/Root/index.js.map +1 -1
  317. package/dist/views/Root/isPathMatchingRoute.js +21 -26
  318. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  319. package/dist/views/Root/metadata.js +176 -181
  320. package/dist/views/Root/metadata.js.map +1 -1
  321. package/dist/views/Unauthorized/index.js +54 -46
  322. package/dist/views/Unauthorized/index.js.map +1 -1
  323. package/dist/views/Unauthorized/index.scss +14 -0
  324. package/dist/views/Unauthorized/metadata.js +8 -12
  325. package/dist/views/Unauthorized/metadata.js.map +1 -1
  326. package/dist/views/Verify/index.client.js +25 -43
  327. package/dist/views/Verify/index.client.js.map +1 -1
  328. package/dist/views/Verify/index.js +69 -64
  329. package/dist/views/Verify/index.js.map +1 -1
  330. package/dist/views/Verify/index.scss +16 -0
  331. package/dist/views/Verify/metadata.js +8 -12
  332. package/dist/views/Verify/metadata.js.map +1 -1
  333. package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
  334. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  335. package/dist/views/Version/Default/SetStepNav.js +86 -127
  336. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  337. package/dist/views/Version/Default/index.js +380 -236
  338. package/dist/views/Version/Default/index.js.map +1 -1
  339. package/dist/views/Version/Default/index.scss +170 -0
  340. package/dist/views/Version/Default/types.js +2 -1
  341. package/dist/views/Version/Default/types.js.map +1 -1
  342. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +102 -119
  343. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  344. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +81 -0
  345. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +78 -73
  346. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  347. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +363 -408
  348. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  349. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +40 -51
  350. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  351. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +35 -67
  352. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  353. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +12 -0
  354. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +59 -56
  355. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  356. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +9 -0
  357. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +139 -117
  358. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  359. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +59 -0
  360. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +36 -41
  361. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  362. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +192 -178
  363. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  364. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +91 -0
  365. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -11
  366. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  367. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +48 -73
  368. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  369. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +4 -0
  370. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +132 -143
  371. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  372. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +9 -0
  373. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +56 -81
  374. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  375. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +4 -0
  376. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +252 -210
  377. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  378. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.scss +121 -0
  379. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +23 -22
  380. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  381. package/dist/views/Version/RenderFieldsToDiff/index.js +12 -9
  382. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  383. package/dist/views/Version/RenderFieldsToDiff/index.scss +24 -0
  384. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +213 -228
  385. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  386. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +1005 -826
  387. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  388. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +2 -1
  389. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
  390. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +44 -43
  391. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
  392. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js +25 -22
  393. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js.map +1 -1
  394. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +32 -36
  395. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  396. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +145 -129
  397. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  398. package/dist/views/Version/Restore/index.js +117 -93
  399. package/dist/views/Version/Restore/index.js.map +1 -1
  400. package/dist/views/Version/Restore/index.scss +84 -0
  401. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +33 -50
  402. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  403. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +170 -226
  404. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  405. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +18 -0
  406. package/dist/views/Version/SelectComparison/index.js +73 -50
  407. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  408. package/dist/views/Version/SelectComparison/index.scss +9 -0
  409. package/dist/views/Version/SelectComparison/types.js +2 -1
  410. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  411. package/dist/views/Version/SelectLocales/index.js +34 -32
  412. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  413. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +104 -95
  414. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  415. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +23 -27
  416. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
  417. package/dist/views/Version/VersionPillLabel/index.scss +26 -0
  418. package/dist/views/Version/fetchVersions.js +113 -138
  419. package/dist/views/Version/fetchVersions.js.map +1 -1
  420. package/dist/views/Version/index.js +325 -323
  421. package/dist/views/Version/index.js.map +1 -1
  422. package/dist/views/Version/metadata.js +43 -50
  423. package/dist/views/Version/metadata.js.map +1 -1
  424. package/dist/views/Versions/buildColumns.js +95 -79
  425. package/dist/views/Versions/buildColumns.js.map +1 -1
  426. package/dist/views/Versions/cells/AutosaveCell/index.js +34 -38
  427. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  428. package/dist/views/Versions/cells/AutosaveCell/index.scss +9 -0
  429. package/dist/views/Versions/cells/CreatedAt/index.js +32 -53
  430. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  431. package/dist/views/Versions/cells/ID/index.js +10 -8
  432. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  433. package/dist/views/Versions/index.client.js +106 -83
  434. package/dist/views/Versions/index.client.js.map +1 -1
  435. package/dist/views/Versions/index.js +143 -143
  436. package/dist/views/Versions/index.js.map +1 -1
  437. package/dist/views/Versions/index.scss +110 -0
  438. package/dist/views/Versions/metadata.js +37 -44
  439. package/dist/views/Versions/metadata.js.map +1 -1
  440. package/dist/views/Versions/types.js +2 -1
  441. package/dist/views/Versions/types.js.map +1 -1
  442. package/dist/withPayload/withPayload.js +198 -143
  443. package/dist/withPayload/withPayload.js.map +1 -1
  444. package/dist/withPayload/withPayload.utils.js +92 -95
  445. package/dist/withPayload/withPayload.utils.js.map +1 -1
  446. package/dist/withPayload/withPayloadLegacy.js +42 -40
  447. package/dist/withPayload/withPayloadLegacy.js.map +1 -1
  448. package/package.json +7 -7
@@ -1,9 +1,8 @@
1
1
  'use client';
2
-
3
- import { c as _c } from "react/compiler-runtime";
4
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
5
3
  import { getTranslation } from '@payloadcms/translations';
6
4
  import { useConfig, useTranslation } from '@payloadcms/ui';
5
+ import './index.scss';
7
6
  import { fieldIsArrayType, fieldIsBlockType } from 'payload/shared';
8
7
  import React from 'react';
9
8
  import { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js';
@@ -11,119 +10,142 @@ import { DiffCollapser } from '../../DiffCollapser/index.js';
11
10
  import { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js';
12
11
  import { getFieldsForRowComparison } from '../../utilities/getFieldsForRowComparison.js';
13
12
  const baseClass = 'iterable-diff';
14
- export const Iterable = t0 => {
15
- const $ = _c(12);
16
- const {
17
- baseVersionField,
18
- comparisonValue: valueFrom,
19
- field,
20
- locale,
21
- parentIsLocalized,
22
- versionValue: valueTo
23
- } = t0;
24
- const {
25
- i18n,
26
- t
27
- } = useTranslation();
28
- const {
29
- selectedLocales
30
- } = useSelectedLocales();
31
- const {
32
- config
33
- } = useConfig();
34
- if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {
35
- throw new Error(`Expected field to be an array or blocks type but got: ${field.type}`);
36
- }
37
- const valueToRowCount = Array.isArray(valueTo) ? valueTo.length : 0;
38
- const valueFromRowCount = Array.isArray(valueFrom) ? valueFrom.length : 0;
39
- const maxRows = Math.max(valueToRowCount, valueFromRowCount);
40
- let t1;
41
- if ($[0] !== baseVersionField || $[1] !== config || $[2] !== field || $[3] !== i18n || $[4] !== locale || $[5] !== maxRows || $[6] !== parentIsLocalized || $[7] !== selectedLocales || $[8] !== t || $[9] !== valueFrom || $[10] !== valueTo) {
42
- t1 = _jsx("div", {
43
- className: baseClass,
44
- children: _jsxs(DiffCollapser, {
45
- field,
46
- isIterable: true,
47
- Label: "label" in field && field.label && typeof field.label !== "function" && _jsxs("span", {
48
- children: [locale && _jsx("span", {
49
- className: `${baseClass}__locale-label`,
50
- children: locale
51
- }), getTranslation(field.label, i18n)]
52
- }),
53
- locales: selectedLocales,
54
- parentIsLocalized,
55
- valueFrom,
56
- valueTo,
57
- children: [maxRows > 0 && _jsx("div", {
58
- className: `${baseClass}__rows`,
59
- children: Array.from({
60
- length: maxRows
61
- }, (_, i) => {
62
- const valueToRow = valueTo?.[i] || {};
63
- const valueFromRow = valueFrom?.[i] || {};
64
- const {
65
- fields,
66
- versionFields
67
- } = getFieldsForRowComparison({
68
- baseVersionField,
69
- config,
70
- field,
71
- row: i,
72
- valueFromRow,
73
- valueToRow
74
- });
75
- if (!versionFields?.length) {
76
- return null;
77
- }
78
- const rowNumber = String(i + 1).padStart(2, "0");
79
- const rowLabel = fieldIsArrayType(field) ? `${t("general:item")} ${rowNumber}` : `${t("fields:block")} ${rowNumber}`;
80
- return _jsx("div", {
81
- className: `${baseClass}__row`,
82
- children: _jsx(DiffCollapser, {
83
- fields,
84
- hideGutter: true,
85
- Label: _jsxs("div", {
86
- className: `${baseClass}-label-container`,
87
- children: [_jsx("div", {
88
- className: `${baseClass}-label-prefix`
89
- }), _jsx("span", {
90
- className: `${baseClass}__label`,
91
- children: rowLabel
92
- })]
93
- }),
94
- locales: selectedLocales,
95
- parentIsLocalized: parentIsLocalized || field.localized,
96
- valueFrom: valueFromRow,
97
- valueTo: valueToRow,
98
- children: _jsx(RenderVersionFieldsToDiff, {
99
- versionFields
100
- })
101
- })
102
- }, i);
103
- })
104
- }), maxRows === 0 && _jsx("div", {
105
- className: `${baseClass}__no-rows`,
106
- children: i18n.t("version:noRowsFound", {
107
- label: "labels" in field && field.labels?.plural ? getTranslation(field.labels.plural, i18n) : i18n.t("general:rows")
108
- })
109
- })]
110
- })
111
- });
112
- $[0] = baseVersionField;
113
- $[1] = config;
114
- $[2] = field;
115
- $[3] = i18n;
116
- $[4] = locale;
117
- $[5] = maxRows;
118
- $[6] = parentIsLocalized;
119
- $[7] = selectedLocales;
120
- $[8] = t;
121
- $[9] = valueFrom;
122
- $[10] = valueTo;
123
- $[11] = t1;
124
- } else {
125
- t1 = $[11];
126
- }
127
- return t1;
13
+ export const Iterable = ({ baseVersionField, comparisonValue: valueFrom, field, locale, parentIsLocalized, versionValue: valueTo })=>{
14
+ const { i18n, t } = useTranslation();
15
+ const { selectedLocales } = useSelectedLocales();
16
+ const { config } = useConfig();
17
+ if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {
18
+ throw new Error(`Expected field to be an array or blocks type but got: ${field.type}`);
19
+ }
20
+ const valueToRowCount = Array.isArray(valueTo) ? valueTo.length : 0;
21
+ const valueFromRowCount = Array.isArray(valueFrom) ? valueFrom.length : 0;
22
+ const maxRows = Math.max(valueToRowCount, valueFromRowCount);
23
+ return /*#__PURE__*/ _jsxDEV("div", {
24
+ className: baseClass,
25
+ children: /*#__PURE__*/ _jsxDEV(DiffCollapser, {
26
+ field: field,
27
+ isIterable: true,
28
+ Label: 'label' in field && field.label && typeof field.label !== 'function' && /*#__PURE__*/ _jsxDEV("span", {
29
+ children: [
30
+ locale && /*#__PURE__*/ _jsxDEV("span", {
31
+ className: `${baseClass}__locale-label`,
32
+ children: locale
33
+ }, void 0, false, {
34
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx",
35
+ lineNumber: 50,
36
+ columnNumber: 26
37
+ }, void 0),
38
+ getTranslation(field.label, i18n)
39
+ ]
40
+ }, void 0, true, {
41
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx",
42
+ lineNumber: 49,
43
+ columnNumber: 13
44
+ }, void 0),
45
+ locales: selectedLocales,
46
+ parentIsLocalized: parentIsLocalized,
47
+ valueFrom: valueFrom,
48
+ valueTo: valueTo,
49
+ children: [
50
+ maxRows > 0 && /*#__PURE__*/ _jsxDEV("div", {
51
+ className: `${baseClass}__rows`,
52
+ children: Array.from({
53
+ length: maxRows
54
+ }, (_, i)=>{
55
+ const valueToRow = valueTo?.[i] || {};
56
+ const valueFromRow = valueFrom?.[i] || {};
57
+ const { fields, versionFields } = getFieldsForRowComparison({
58
+ baseVersionField,
59
+ config,
60
+ field,
61
+ row: i,
62
+ valueFromRow,
63
+ valueToRow
64
+ });
65
+ if (!versionFields?.length) {
66
+ // Rows without a diff create "holes" in the baseVersionField.rows (=versionFields) array - this is to maintain the correct row indexes.
67
+ // It does mean that this row has no diff and should not be rendered => skip it.
68
+ return null;
69
+ }
70
+ const rowNumber = String(i + 1).padStart(2, '0');
71
+ const rowLabel = fieldIsArrayType(field) ? `${t('general:item')} ${rowNumber}` : `${t('fields:block')} ${rowNumber}`;
72
+ return /*#__PURE__*/ _jsxDEV("div", {
73
+ className: `${baseClass}__row`,
74
+ children: /*#__PURE__*/ _jsxDEV(DiffCollapser, {
75
+ fields: fields,
76
+ hideGutter: true,
77
+ Label: /*#__PURE__*/ _jsxDEV("div", {
78
+ className: `${baseClass}-label-container`,
79
+ children: [
80
+ /*#__PURE__*/ _jsxDEV("div", {
81
+ className: `${baseClass}-label-prefix`
82
+ }, void 0, false, {
83
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx",
84
+ lineNumber: 93,
85
+ columnNumber: 25
86
+ }, void 0),
87
+ /*#__PURE__*/ _jsxDEV("span", {
88
+ className: `${baseClass}__label`,
89
+ children: rowLabel
90
+ }, void 0, false, {
91
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx",
92
+ lineNumber: 94,
93
+ columnNumber: 25
94
+ }, void 0)
95
+ ]
96
+ }, void 0, true, {
97
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx",
98
+ lineNumber: 92,
99
+ columnNumber: 23
100
+ }, void 0),
101
+ locales: selectedLocales,
102
+ parentIsLocalized: parentIsLocalized || field.localized,
103
+ valueFrom: valueFromRow,
104
+ valueTo: valueToRow,
105
+ children: /*#__PURE__*/ _jsxDEV(RenderVersionFieldsToDiff, {
106
+ versionFields: versionFields
107
+ }, void 0, false, {
108
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx",
109
+ lineNumber: 102,
110
+ columnNumber: 21
111
+ }, this)
112
+ }, void 0, false, {
113
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx",
114
+ lineNumber: 88,
115
+ columnNumber: 19
116
+ }, this)
117
+ }, i, false, {
118
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx",
119
+ lineNumber: 87,
120
+ columnNumber: 17
121
+ }, this);
122
+ })
123
+ }, void 0, false, {
124
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx",
125
+ lineNumber: 61,
126
+ columnNumber: 11
127
+ }, this),
128
+ maxRows === 0 && /*#__PURE__*/ _jsxDEV("div", {
129
+ className: `${baseClass}__no-rows`,
130
+ children: i18n.t('version:noRowsFound', {
131
+ label: 'labels' in field && field.labels?.plural ? getTranslation(field.labels.plural, i18n) : i18n.t('general:rows')
132
+ })
133
+ }, void 0, false, {
134
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx",
135
+ lineNumber: 110,
136
+ columnNumber: 11
137
+ }, this)
138
+ ]
139
+ }, void 0, true, {
140
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx",
141
+ lineNumber: 42,
142
+ columnNumber: 7
143
+ }, this)
144
+ }, void 0, false, {
145
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx",
146
+ lineNumber: 41,
147
+ columnNumber: 5
148
+ }, this);
128
149
  };
150
+
129
151
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","useConfig","useTranslation","fieldIsArrayType","fieldIsBlockType","React","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","getFieldsForRowComparison","baseClass","Iterable","t0","$","baseVersionField","comparisonValue","valueFrom","field","locale","parentIsLocalized","versionValue","valueTo","i18n","t","selectedLocales","config","Error","type","valueToRowCount","Array","isArray","length","valueFromRowCount","maxRows","Math","max","t1","_jsx","className","children","_jsxs","isIterable","Label","label","from","_","i","valueToRow","valueFromRow","fields","versionFields","row","rowNumber","String","padStart","rowLabel","hideGutter","localized","labels","plural"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldDiffClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig, useTranslation } from '@payloadcms/ui'\n\nimport './index.scss'\n\nimport { fieldIsArrayType, fieldIsBlockType } from 'payload/shared'\nimport React from 'react'\n\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\nimport { getFieldsForRowComparison } from '../../utilities/getFieldsForRowComparison.js'\n\nconst baseClass = 'iterable-diff'\n\nexport const Iterable: React.FC<FieldDiffClientProps> = ({\n baseVersionField,\n comparisonValue: valueFrom,\n field,\n locale,\n parentIsLocalized,\n versionValue: valueTo,\n}) => {\n const { i18n, t } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n const { config } = useConfig()\n\n if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {\n throw new Error(`Expected field to be an array or blocks type but got: ${field.type}`)\n }\n\n const valueToRowCount = Array.isArray(valueTo) ? valueTo.length : 0\n const valueFromRowCount = Array.isArray(valueFrom) ? valueFrom.length : 0\n const maxRows = Math.max(valueToRowCount, valueFromRowCount)\n\n return (\n <div className={baseClass}>\n <DiffCollapser\n field={field}\n isIterable\n Label={\n 'label' in field &&\n field.label &&\n typeof field.label !== 'function' && (\n <span>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.label, i18n)}\n </span>\n )\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized}\n valueFrom={valueFrom}\n valueTo={valueTo}\n >\n {maxRows > 0 && (\n <div className={`${baseClass}__rows`}>\n {Array.from({ length: maxRows }, (_, i) => {\n const valueToRow = valueTo?.[i] || {}\n const valueFromRow = valueFrom?.[i] || {}\n\n const { fields, versionFields } = getFieldsForRowComparison({\n baseVersionField,\n config,\n field,\n row: i,\n valueFromRow,\n valueToRow,\n })\n\n if (!versionFields?.length) {\n // Rows without a diff create \"holes\" in the baseVersionField.rows (=versionFields) array - this is to maintain the correct row indexes.\n // It does mean that this row has no diff and should not be rendered => skip it.\n return null\n }\n\n const rowNumber = String(i + 1).padStart(2, '0')\n const rowLabel = fieldIsArrayType(field)\n ? `${t('general:item')} ${rowNumber}`\n : `${t('fields:block')} ${rowNumber}`\n\n return (\n <div className={`${baseClass}__row`} key={i}>\n <DiffCollapser\n fields={fields}\n hideGutter={true}\n Label={\n <div className={`${baseClass}-label-container`}>\n <div className={`${baseClass}-label-prefix`}></div>\n <span className={`${baseClass}__label`}>{rowLabel}</span>\n </div>\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized || field.localized}\n valueFrom={valueFromRow}\n valueTo={valueToRow}\n >\n <RenderVersionFieldsToDiff versionFields={versionFields} />\n </DiffCollapser>\n </div>\n )\n })}\n </div>\n )}\n {maxRows === 0 && (\n <div className={`${baseClass}__no-rows`}>\n {i18n.t('version:noRowsFound', {\n label:\n 'labels' in field && field.labels?.plural\n ? getTranslation(field.labels.plural, i18n)\n : i18n.t('general:rows'),\n })}\n </div>\n )}\n </DiffCollapser>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldDiffClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig, useTranslation } from '@payloadcms/ui'\n\nimport './index.scss'\n\nimport { fieldIsArrayType, fieldIsBlockType } from 'payload/shared'\nimport React from 'react'\n\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\nimport { getFieldsForRowComparison } from '../../utilities/getFieldsForRowComparison.js'\n\nconst baseClass = 'iterable-diff'\n\nexport const Iterable: React.FC<FieldDiffClientProps> = ({\n baseVersionField,\n comparisonValue: valueFrom,\n field,\n locale,\n parentIsLocalized,\n versionValue: valueTo,\n}) => {\n const { i18n, t } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n const { config } = useConfig()\n\n if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {\n throw new Error(`Expected field to be an array or blocks type but got: ${field.type}`)\n }\n\n const valueToRowCount = Array.isArray(valueTo) ? valueTo.length : 0\n const valueFromRowCount = Array.isArray(valueFrom) ? valueFrom.length : 0\n const maxRows = Math.max(valueToRowCount, valueFromRowCount)\n\n return (\n <div className={baseClass}>\n <DiffCollapser\n field={field}\n isIterable\n Label={\n 'label' in field &&\n field.label &&\n typeof field.label !== 'function' && (\n <span>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.label, i18n)}\n </span>\n )\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized}\n valueFrom={valueFrom}\n valueTo={valueTo}\n >\n {maxRows > 0 && (\n <div className={`${baseClass}__rows`}>\n {Array.from({ length: maxRows }, (_, i) => {\n const valueToRow = valueTo?.[i] || {}\n const valueFromRow = valueFrom?.[i] || {}\n\n const { fields, versionFields } = getFieldsForRowComparison({\n baseVersionField,\n config,\n field,\n row: i,\n valueFromRow,\n valueToRow,\n })\n\n if (!versionFields?.length) {\n // Rows without a diff create \"holes\" in the baseVersionField.rows (=versionFields) array - this is to maintain the correct row indexes.\n // It does mean that this row has no diff and should not be rendered => skip it.\n return null\n }\n\n const rowNumber = String(i + 1).padStart(2, '0')\n const rowLabel = fieldIsArrayType(field)\n ? `${t('general:item')} ${rowNumber}`\n : `${t('fields:block')} ${rowNumber}`\n\n return (\n <div className={`${baseClass}__row`} key={i}>\n <DiffCollapser\n fields={fields}\n hideGutter={true}\n Label={\n <div className={`${baseClass}-label-container`}>\n <div className={`${baseClass}-label-prefix`}></div>\n <span className={`${baseClass}__label`}>{rowLabel}</span>\n </div>\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized || field.localized}\n valueFrom={valueFromRow}\n valueTo={valueToRow}\n >\n <RenderVersionFieldsToDiff versionFields={versionFields} />\n </DiffCollapser>\n </div>\n )\n })}\n </div>\n )}\n {maxRows === 0 && (\n <div className={`${baseClass}__no-rows`}>\n {i18n.t('version:noRowsFound', {\n label:\n 'labels' in field && field.labels?.plural\n ? getTranslation(field.labels.plural, i18n)\n : i18n.t('general:rows'),\n })}\n </div>\n )}\n </DiffCollapser>\n </div>\n )\n}\n"],"names":["getTranslation","useConfig","useTranslation","fieldIsArrayType","fieldIsBlockType","React","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","getFieldsForRowComparison","baseClass","Iterable","baseVersionField","comparisonValue","valueFrom","field","locale","parentIsLocalized","versionValue","valueTo","i18n","t","selectedLocales","config","Error","type","valueToRowCount","Array","isArray","length","valueFromRowCount","maxRows","Math","max","div","className","isIterable","Label","label","span","locales","from","_","i","valueToRow","valueFromRow","fields","versionFields","row","rowNumber","String","padStart","rowLabel","hideGutter","localized","labels","plural"],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ @layer payload-default {
2
+ .iterable-diff {
3
+ &-label-container {
4
+ position: relative;
5
+ height: 20px;
6
+ display: flex;
7
+ flex-direction: row;
8
+ height: 100%;
9
+ }
10
+
11
+ &-label-prefix {
12
+ background-color: var(--theme-bg);
13
+ position: relative;
14
+ width: calc(var(--base) * 0.5);
15
+ height: 16px;
16
+ margin-left: calc((var(--base) * -0.5) - 5px);
17
+ margin-right: calc(var(--base) * 0.5);
18
+
19
+ &::before {
20
+ content: '';
21
+ position: absolute;
22
+ left: 1px;
23
+ top: 8px;
24
+ transform: translateY(-50%);
25
+ width: 6px;
26
+ height: 6px;
27
+ background-color: var(--theme-elevation-200);
28
+ border-radius: 50%;
29
+ margin-right: 5px;
30
+ }
31
+ }
32
+ &__label {
33
+ font-weight: 400;
34
+ color: var(--theme-elevation-600);
35
+ }
36
+
37
+ &__locale-label {
38
+ background: var(--theme-elevation-100);
39
+ border-radius: var(--style-radius-s);
40
+ padding: calc(var(--base) * 0.2);
41
+ // border-radius: $style-radius-m;
42
+ [dir='ltr'] & {
43
+ margin-right: calc(var(--base) * 0.25);
44
+ }
45
+ [dir='rtl'] & {
46
+ margin-left: calc(var(--base) * 0.25);
47
+ }
48
+ }
49
+
50
+ // Space between each row
51
+ &__row:not(:first-of-type) {
52
+ margin-top: calc(var(--base) * 0.5);
53
+ }
54
+
55
+ &__no-rows {
56
+ color: var(--theme-elevation-400);
57
+ }
58
+ }
59
+ }
@@ -1,45 +1,40 @@
1
1
  import { fieldAffectsData, fieldIsPresentationalOnly, fieldShouldBeLocalized, flattenTopLevelFields } from 'payload/shared';
2
- export const generateLabelFromValue = ({
3
- field,
4
- locale,
5
- parentIsLocalized,
6
- req,
7
- value
8
- }) => {
9
- let relatedDoc;
10
- let relationTo = field.relationTo;
11
- let valueToReturn = '';
12
- if (typeof value === 'object' && 'relationTo' in value) {
13
- relatedDoc = value.value;
14
- relationTo = value.relationTo;
15
- } else {
16
- // Non-polymorphic relationship or deleted document
17
- relatedDoc = value;
18
- }
19
- const relatedCollection = req.payload.collections[relationTo].config;
20
- const useAsTitle = relatedCollection?.admin?.useAsTitle;
21
- const flattenedRelatedCollectionFields = flattenTopLevelFields(relatedCollection.fields, {
22
- moveSubFieldsToTop: true
23
- });
24
- const useAsTitleField = flattenedRelatedCollectionFields.find(f => fieldAffectsData(f) && !fieldIsPresentationalOnly(f) && f.name === useAsTitle);
25
- let titleFieldIsLocalized = false;
26
- if (useAsTitleField && fieldAffectsData(useAsTitleField)) {
27
- titleFieldIsLocalized = fieldShouldBeLocalized({
28
- field: useAsTitleField,
29
- parentIsLocalized
2
+ export const generateLabelFromValue = ({ field, locale, parentIsLocalized, req, value })=>{
3
+ let relatedDoc;
4
+ let relationTo = field.relationTo;
5
+ let valueToReturn = '';
6
+ if (typeof value === 'object' && 'relationTo' in value) {
7
+ relatedDoc = value.value;
8
+ relationTo = value.relationTo;
9
+ } else {
10
+ // Non-polymorphic relationship or deleted document
11
+ relatedDoc = value;
12
+ }
13
+ const relatedCollection = req.payload.collections[relationTo].config;
14
+ const useAsTitle = relatedCollection?.admin?.useAsTitle;
15
+ const flattenedRelatedCollectionFields = flattenTopLevelFields(relatedCollection.fields, {
16
+ moveSubFieldsToTop: true
30
17
  });
31
- }
32
- if (typeof relatedDoc?.[useAsTitle] !== 'undefined') {
33
- valueToReturn = relatedDoc[useAsTitle];
34
- } else {
35
- valueToReturn = String(typeof relatedDoc === 'object' ? relatedDoc.id : `${req.i18n.t('general:untitled')} - ID: ${relatedDoc}`);
36
- }
37
- if (typeof valueToReturn === 'object' && valueToReturn && titleFieldIsLocalized && valueToReturn?.[locale]) {
38
- valueToReturn = valueToReturn[locale];
39
- }
40
- if (valueToReturn && typeof valueToReturn === 'object' && valueToReturn !== null || typeof valueToReturn !== 'string') {
41
- valueToReturn = JSON.stringify(valueToReturn);
42
- }
43
- return valueToReturn;
18
+ const useAsTitleField = flattenedRelatedCollectionFields.find((f)=>fieldAffectsData(f) && !fieldIsPresentationalOnly(f) && f.name === useAsTitle);
19
+ let titleFieldIsLocalized = false;
20
+ if (useAsTitleField && fieldAffectsData(useAsTitleField)) {
21
+ titleFieldIsLocalized = fieldShouldBeLocalized({
22
+ field: useAsTitleField,
23
+ parentIsLocalized
24
+ });
25
+ }
26
+ if (typeof relatedDoc?.[useAsTitle] !== 'undefined') {
27
+ valueToReturn = relatedDoc[useAsTitle];
28
+ } else {
29
+ valueToReturn = String(typeof relatedDoc === 'object' ? relatedDoc.id : `${req.i18n.t('general:untitled')} - ID: ${relatedDoc}`);
30
+ }
31
+ if (typeof valueToReturn === 'object' && valueToReturn && titleFieldIsLocalized && valueToReturn?.[locale]) {
32
+ valueToReturn = valueToReturn[locale];
33
+ }
34
+ if (valueToReturn && typeof valueToReturn === 'object' && valueToReturn !== null || typeof valueToReturn !== 'string') {
35
+ valueToReturn = JSON.stringify(valueToReturn);
36
+ }
37
+ return valueToReturn;
44
38
  };
39
+
45
40
  //# sourceMappingURL=generateLabelFromValue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateLabelFromValue.js","names":["fieldAffectsData","fieldIsPresentationalOnly","fieldShouldBeLocalized","flattenTopLevelFields","generateLabelFromValue","field","locale","parentIsLocalized","req","value","relatedDoc","relationTo","valueToReturn","relatedCollection","payload","collections","config","useAsTitle","admin","flattenedRelatedCollectionFields","fields","moveSubFieldsToTop","useAsTitleField","find","f","name","titleFieldIsLocalized","String","id","i18n","t","JSON","stringify"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.ts"],"sourcesContent":["import type { PayloadRequest, RelationshipField, TypeWithID } from 'payload'\n\nimport {\n fieldAffectsData,\n fieldIsPresentationalOnly,\n fieldShouldBeLocalized,\n flattenTopLevelFields,\n} from 'payload/shared'\n\nimport type { RelationshipValue } from './index.js'\n\nexport const generateLabelFromValue = ({\n field,\n locale,\n parentIsLocalized,\n req,\n value,\n}: {\n field: RelationshipField\n locale: string\n parentIsLocalized: boolean\n req: PayloadRequest\n value: RelationshipValue\n}): string => {\n let relatedDoc: number | string | TypeWithID\n let relationTo: string = field.relationTo as string\n let valueToReturn: string = ''\n\n if (typeof value === 'object' && 'relationTo' in value) {\n relatedDoc = value.value\n relationTo = value.relationTo\n } else {\n // Non-polymorphic relationship or deleted document\n relatedDoc = value\n }\n\n const relatedCollection = req.payload.collections[relationTo].config\n\n const useAsTitle = relatedCollection?.admin?.useAsTitle\n\n const flattenedRelatedCollectionFields = flattenTopLevelFields(relatedCollection.fields, {\n moveSubFieldsToTop: true,\n })\n\n const useAsTitleField = flattenedRelatedCollectionFields.find(\n (f) => fieldAffectsData(f) && !fieldIsPresentationalOnly(f) && f.name === useAsTitle,\n )\n let titleFieldIsLocalized = false\n\n if (useAsTitleField && fieldAffectsData(useAsTitleField)) {\n titleFieldIsLocalized = fieldShouldBeLocalized({ field: useAsTitleField, parentIsLocalized })\n }\n\n if (typeof relatedDoc?.[useAsTitle] !== 'undefined') {\n valueToReturn = relatedDoc[useAsTitle]\n } else {\n valueToReturn = String(\n typeof relatedDoc === 'object'\n ? relatedDoc.id\n : `${req.i18n.t('general:untitled')} - ID: ${relatedDoc}`,\n )\n }\n\n if (\n typeof valueToReturn === 'object' &&\n valueToReturn &&\n titleFieldIsLocalized &&\n valueToReturn?.[locale]\n ) {\n valueToReturn = valueToReturn[locale]\n }\n\n if (\n (valueToReturn && typeof valueToReturn === 'object' && valueToReturn !== null) ||\n typeof valueToReturn !== 'string'\n ) {\n valueToReturn = JSON.stringify(valueToReturn)\n }\n\n return valueToReturn\n}\n"],"mappings":"AAEA,SACEA,gBAAgB,EAChBC,yBAAyB,EACzBC,sBAAsB,EACtBC,qBAAqB,QAChB;AAIP,OAAO,MAAMC,sBAAA,GAAyBA,CAAC;EACrCC,KAAK;EACLC,MAAM;EACNC,iBAAiB;EACjBC,GAAG;EACHC;AAAK,CAON;EACC,IAAIC,UAAA;EACJ,IAAIC,UAAA,GAAqBN,KAAA,CAAMM,UAAU;EACzC,IAAIC,aAAA,GAAwB;EAE5B,IAAI,OAAOH,KAAA,KAAU,YAAY,gBAAgBA,KAAA,EAAO;IACtDC,UAAA,GAAaD,KAAA,CAAMA,KAAK;IACxBE,UAAA,GAAaF,KAAA,CAAME,UAAU;EAC/B,OAAO;IACL;IACAD,UAAA,GAAaD,KAAA;EACf;EAEA,MAAMI,iBAAA,GAAoBL,GAAA,CAAIM,OAAO,CAACC,WAAW,CAACJ,UAAA,CAAW,CAACK,MAAM;EAEpE,MAAMC,UAAA,GAAaJ,iBAAA,EAAmBK,KAAA,EAAOD,UAAA;EAE7C,MAAME,gCAAA,GAAmChB,qBAAA,CAAsBU,iBAAA,CAAkBO,MAAM,EAAE;IACvFC,kBAAA,EAAoB;EACtB;EAEA,MAAMC,eAAA,GAAkBH,gCAAA,CAAiCI,IAAI,CAC1DC,CAAA,IAAMxB,gBAAA,CAAiBwB,CAAA,KAAM,CAACvB,yBAAA,CAA0BuB,CAAA,KAAMA,CAAA,CAAEC,IAAI,KAAKR,UAAA;EAE5E,IAAIS,qBAAA,GAAwB;EAE5B,IAAIJ,eAAA,IAAmBtB,gBAAA,CAAiBsB,eAAA,GAAkB;IACxDI,qBAAA,GAAwBxB,sBAAA,CAAuB;MAAEG,KAAA,EAAOiB,eAAA;MAAiBf;IAAkB;EAC7F;EAEA,IAAI,OAAOG,UAAA,GAAaO,UAAA,CAAW,KAAK,aAAa;IACnDL,aAAA,GAAgBF,UAAU,CAACO,UAAA,CAAW;EACxC,OAAO;IACLL,aAAA,GAAgBe,MAAA,CACd,OAAOjB,UAAA,KAAe,WAClBA,UAAA,CAAWkB,EAAE,GACb,GAAGpB,GAAA,CAAIqB,IAAI,CAACC,CAAC,CAAC,6BAA6BpB,UAAA,EAAY;EAE/D;EAEA,IACE,OAAOE,aAAA,KAAkB,YACzBA,aAAA,IACAc,qBAAA,IACAd,aAAA,GAAgBN,MAAA,CAAO,EACvB;IACAM,aAAA,GAAgBA,aAAa,CAACN,MAAA,CAAO;EACvC;EAEA,IACEM,aAAC,IAAiB,OAAOA,aAAA,KAAkB,YAAYA,aAAA,KAAkB,QACzE,OAAOA,aAAA,KAAkB,UACzB;IACAA,aAAA,GAAgBmB,IAAA,CAAKC,SAAS,CAACpB,aAAA;EACjC;EAEA,OAAOA,aAAA;AACT","ignoreList":[]}
1
+ {"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.ts"],"sourcesContent":["import type { PayloadRequest, RelationshipField, TypeWithID } from 'payload'\n\nimport {\n fieldAffectsData,\n fieldIsPresentationalOnly,\n fieldShouldBeLocalized,\n flattenTopLevelFields,\n} from 'payload/shared'\n\nimport type { RelationshipValue } from './index.js'\n\nexport const generateLabelFromValue = ({\n field,\n locale,\n parentIsLocalized,\n req,\n value,\n}: {\n field: RelationshipField\n locale: string\n parentIsLocalized: boolean\n req: PayloadRequest\n value: RelationshipValue\n}): string => {\n let relatedDoc: number | string | TypeWithID\n let relationTo: string = field.relationTo as string\n let valueToReturn: string = ''\n\n if (typeof value === 'object' && 'relationTo' in value) {\n relatedDoc = value.value\n relationTo = value.relationTo\n } else {\n // Non-polymorphic relationship or deleted document\n relatedDoc = value\n }\n\n const relatedCollection = req.payload.collections[relationTo].config\n\n const useAsTitle = relatedCollection?.admin?.useAsTitle\n\n const flattenedRelatedCollectionFields = flattenTopLevelFields(relatedCollection.fields, {\n moveSubFieldsToTop: true,\n })\n\n const useAsTitleField = flattenedRelatedCollectionFields.find(\n (f) => fieldAffectsData(f) && !fieldIsPresentationalOnly(f) && f.name === useAsTitle,\n )\n let titleFieldIsLocalized = false\n\n if (useAsTitleField && fieldAffectsData(useAsTitleField)) {\n titleFieldIsLocalized = fieldShouldBeLocalized({ field: useAsTitleField, parentIsLocalized })\n }\n\n if (typeof relatedDoc?.[useAsTitle] !== 'undefined') {\n valueToReturn = relatedDoc[useAsTitle]\n } else {\n valueToReturn = String(\n typeof relatedDoc === 'object'\n ? relatedDoc.id\n : `${req.i18n.t('general:untitled')} - ID: ${relatedDoc}`,\n )\n }\n\n if (\n typeof valueToReturn === 'object' &&\n valueToReturn &&\n titleFieldIsLocalized &&\n valueToReturn?.[locale]\n ) {\n valueToReturn = valueToReturn[locale]\n }\n\n if (\n (valueToReturn && typeof valueToReturn === 'object' && valueToReturn !== null) ||\n typeof valueToReturn !== 'string'\n ) {\n valueToReturn = JSON.stringify(valueToReturn)\n }\n\n return valueToReturn\n}\n"],"names":["fieldAffectsData","fieldIsPresentationalOnly","fieldShouldBeLocalized","flattenTopLevelFields","generateLabelFromValue","field","locale","parentIsLocalized","req","value","relatedDoc","relationTo","valueToReturn","relatedCollection","payload","collections","config","useAsTitle","admin","flattenedRelatedCollectionFields","fields","moveSubFieldsToTop","useAsTitleField","find","f","name","titleFieldIsLocalized","String","id","i18n","t","JSON","stringify"],"mappings":"AAEA,SACEA,gBAAgB,EAChBC,yBAAyB,EACzBC,sBAAsB,EACtBC,qBAAqB,QAChB,iBAAgB;AAIvB,OAAO,MAAMC,yBAAyB,CAAC,EACrCC,KAAK,EACLC,MAAM,EACNC,iBAAiB,EACjBC,GAAG,EACHC,KAAK,EAON;IACC,IAAIC;IACJ,IAAIC,aAAqBN,MAAMM,UAAU;IACzC,IAAIC,gBAAwB;IAE5B,IAAI,OAAOH,UAAU,YAAY,gBAAgBA,OAAO;QACtDC,aAAaD,MAAMA,KAAK;QACxBE,aAAaF,MAAME,UAAU;IAC/B,OAAO;QACL,mDAAmD;QACnDD,aAAaD;IACf;IAEA,MAAMI,oBAAoBL,IAAIM,OAAO,CAACC,WAAW,CAACJ,WAAW,CAACK,MAAM;IAEpE,MAAMC,aAAaJ,mBAAmBK,OAAOD;IAE7C,MAAME,mCAAmChB,sBAAsBU,kBAAkBO,MAAM,EAAE;QACvFC,oBAAoB;IACtB;IAEA,MAAMC,kBAAkBH,iCAAiCI,IAAI,CAC3D,CAACC,IAAMxB,iBAAiBwB,MAAM,CAACvB,0BAA0BuB,MAAMA,EAAEC,IAAI,KAAKR;IAE5E,IAAIS,wBAAwB;IAE5B,IAAIJ,mBAAmBtB,iBAAiBsB,kBAAkB;QACxDI,wBAAwBxB,uBAAuB;YAAEG,OAAOiB;YAAiBf;QAAkB;IAC7F;IAEA,IAAI,OAAOG,YAAY,CAACO,WAAW,KAAK,aAAa;QACnDL,gBAAgBF,UAAU,CAACO,WAAW;IACxC,OAAO;QACLL,gBAAgBe,OACd,OAAOjB,eAAe,WAClBA,WAAWkB,EAAE,GACb,GAAGpB,IAAIqB,IAAI,CAACC,CAAC,CAAC,oBAAoB,OAAO,EAAEpB,YAAY;IAE/D;IAEA,IACE,OAAOE,kBAAkB,YACzBA,iBACAc,yBACAd,eAAe,CAACN,OAAO,EACvB;QACAM,gBAAgBA,aAAa,CAACN,OAAO;IACvC;IAEA,IACE,AAACM,iBAAiB,OAAOA,kBAAkB,YAAYA,kBAAkB,QACzE,OAAOA,kBAAkB,UACzB;QACAA,gBAAgBmB,KAAKC,SAAS,CAACpB;IACjC;IAEA,OAAOA;AACT,EAAC"}