@payloadcms/next 3.68.0-internal-debug.3a174b1 → 3.68.0-internal-debug.591ab42

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 (386) 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/config.js +1 -0
  8. package/dist/config.js.map +1 -1
  9. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +9 -15
  10. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +40 -71
  12. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +65 -59
  14. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/index.js +80 -70
  16. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +16 -23
  18. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +61 -69
  20. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  21. package/dist/elements/DocumentHeader/index.js +48 -28
  22. package/dist/elements/DocumentHeader/index.js.map +1 -1
  23. package/dist/elements/FormHeader/index.js +30 -16
  24. package/dist/elements/FormHeader/index.js.map +1 -1
  25. package/dist/elements/Logo/index.js +19 -34
  26. package/dist/elements/Logo/index.js.map +1 -1
  27. package/dist/elements/Nav/NavHamburger/index.js +23 -44
  28. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  29. package/dist/elements/Nav/NavWrapper/index.js +28 -54
  30. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  31. package/dist/elements/Nav/SettingsMenuButton/index.js +33 -39
  32. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  33. package/dist/elements/Nav/getNavPrefs.js +27 -22
  34. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  35. package/dist/elements/Nav/index.client.js +97 -118
  36. package/dist/elements/Nav/index.client.js.map +1 -1
  37. package/dist/elements/Nav/index.js +148 -127
  38. package/dist/elements/Nav/index.js.map +1 -1
  39. package/dist/esbuildEntry.d.ts +5 -0
  40. package/dist/esbuildEntry.d.ts.map +1 -0
  41. package/dist/esbuildEntry.js +6 -0
  42. package/dist/esbuildEntry.js.map +1 -0
  43. package/dist/exports/auth.js +1 -0
  44. package/dist/exports/auth.js.map +1 -1
  45. package/dist/exports/client.js +1 -1
  46. package/dist/exports/client.js.map +1 -1
  47. package/dist/exports/layouts.js +1 -0
  48. package/dist/exports/layouts.js.map +1 -1
  49. package/dist/exports/routes.js +1 -0
  50. package/dist/exports/routes.js.map +1 -1
  51. package/dist/exports/rsc.js +1 -0
  52. package/dist/exports/rsc.js.map +1 -1
  53. package/dist/exports/templates.js +1 -0
  54. package/dist/exports/templates.js.map +1 -1
  55. package/dist/exports/utilities.js +7 -12
  56. package/dist/exports/utilities.js.map +1 -1
  57. package/dist/exports/views.js +1 -0
  58. package/dist/exports/views.js.map +1 -1
  59. package/dist/index.js +1 -0
  60. package/dist/index.js.map +1 -1
  61. package/dist/layouts/Root/NestProviders.js +21 -20
  62. package/dist/layouts/Root/NestProviders.js.map +1 -1
  63. package/dist/layouts/Root/checkDependencies.js +49 -41
  64. package/dist/layouts/Root/checkDependencies.js.map +1 -1
  65. package/dist/layouts/Root/index.js +128 -103
  66. package/dist/layouts/Root/index.js.map +1 -1
  67. package/dist/routes/graphql/handler.js +114 -122
  68. package/dist/routes/graphql/handler.js.map +1 -1
  69. package/dist/routes/graphql/index.js +1 -0
  70. package/dist/routes/graphql/index.js.map +1 -1
  71. package/dist/routes/graphql/playground.js +24 -23
  72. package/dist/routes/graphql/playground.js.map +1 -1
  73. package/dist/routes/index.js +1 -0
  74. package/dist/routes/index.js.map +1 -1
  75. package/dist/routes/rest/index.js +20 -19
  76. package/dist/routes/rest/index.js.map +1 -1
  77. package/dist/routes/rest/og/image.js +103 -79
  78. package/dist/routes/rest/og/image.js.map +1 -1
  79. package/dist/routes/rest/og/index.js +59 -54
  80. package/dist/routes/rest/og/index.js.map +1 -1
  81. package/dist/templates/Default/NavHamburger/index.js +12 -20
  82. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  83. package/dist/templates/Default/Wrapper/index.js +20 -44
  84. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  85. package/dist/templates/Default/index.js +183 -133
  86. package/dist/templates/Default/index.js.map +1 -1
  87. package/dist/templates/Minimal/index.js +26 -17
  88. package/dist/templates/Minimal/index.js.map +1 -1
  89. package/dist/utilities/getExistingAuthToken.js +3 -2
  90. package/dist/utilities/getExistingAuthToken.js.map +1 -1
  91. package/dist/utilities/getNextRequestI18n.js +12 -13
  92. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  93. package/dist/utilities/getPayloadHMR.js +5 -5
  94. package/dist/utilities/getPayloadHMR.js.map +1 -1
  95. package/dist/utilities/getPreferences.js +27 -22
  96. package/dist/utilities/getPreferences.js.map +1 -1
  97. package/dist/utilities/getRequestLocale.js +13 -14
  98. package/dist/utilities/getRequestLocale.js.map +1 -1
  99. package/dist/utilities/getRequestTheme.js +19 -19
  100. package/dist/utilities/getRequestTheme.js.map +1 -1
  101. package/dist/utilities/getRouteWithoutAdmin.js +3 -5
  102. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
  103. package/dist/utilities/getVisibleEntities.js +12 -23
  104. package/dist/utilities/getVisibleEntities.js.map +1 -1
  105. package/dist/utilities/handleAuthRedirect.js +22 -36
  106. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  107. package/dist/utilities/handleServerFunctions.js +32 -39
  108. package/dist/utilities/handleServerFunctions.js.map +1 -1
  109. package/dist/utilities/initReq.js +78 -96
  110. package/dist/utilities/initReq.js.map +1 -1
  111. package/dist/utilities/isCustomAdminView.js +22 -26
  112. package/dist/utilities/isCustomAdminView.js.map +1 -1
  113. package/dist/utilities/isPublicAdminRoute.js +26 -20
  114. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  115. package/dist/utilities/meta.js +68 -63
  116. package/dist/utilities/meta.js.map +1 -1
  117. package/dist/utilities/selectiveCache.js +25 -26
  118. package/dist/utilities/selectiveCache.js.map +1 -1
  119. package/dist/utilities/setPayloadAuthCookie.js +19 -22
  120. package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
  121. package/dist/utilities/slugify.js +24 -33
  122. package/dist/utilities/slugify.js.map +1 -1
  123. package/dist/utilities/timestamp.js +7 -6
  124. package/dist/utilities/timestamp.js.map +1 -1
  125. package/dist/views/API/LocaleSelector/index.js +17 -39
  126. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  127. package/dist/views/API/RenderJSON/index.js +171 -126
  128. package/dist/views/API/RenderJSON/index.js.map +1 -1
  129. package/dist/views/API/index.client.js +287 -197
  130. package/dist/views/API/index.client.js.map +1 -1
  131. package/dist/views/API/index.js +7 -2
  132. package/dist/views/API/index.js.map +1 -1
  133. package/dist/views/API/metadata.js +18 -23
  134. package/dist/views/API/metadata.js.map +1 -1
  135. package/dist/views/Account/ResetPreferences/index.js +74 -91
  136. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  137. package/dist/views/Account/Settings/LanguageSelector.js +18 -47
  138. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  139. package/dist/views/Account/Settings/index.js +62 -28
  140. package/dist/views/Account/Settings/index.js.map +1 -1
  141. package/dist/views/Account/ToggleTheme/index.js +38 -55
  142. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  143. package/dist/views/Account/index.client.js +16 -32
  144. package/dist/views/Account/index.client.js.map +1 -1
  145. package/dist/views/Account/index.js +144 -155
  146. package/dist/views/Account/index.js.map +1 -1
  147. package/dist/views/Account/metadata.js +8 -12
  148. package/dist/views/Account/metadata.js.map +1 -1
  149. package/dist/views/BrowseByFolder/buildView.js +139 -158
  150. package/dist/views/BrowseByFolder/buildView.js.map +1 -1
  151. package/dist/views/BrowseByFolder/index.js +16 -17
  152. package/dist/views/BrowseByFolder/index.js.map +1 -1
  153. package/dist/views/BrowseByFolder/metadata.js +13 -15
  154. package/dist/views/BrowseByFolder/metadata.js.map +1 -1
  155. package/dist/views/CollectionFolders/buildView.js +123 -143
  156. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  157. package/dist/views/CollectionFolders/index.js +16 -17
  158. package/dist/views/CollectionFolders/index.js.map +1 -1
  159. package/dist/views/CollectionFolders/metadata.js +18 -21
  160. package/dist/views/CollectionFolders/metadata.js.map +1 -1
  161. package/dist/views/CollectionFolders/renderFolderViewSlots.js +58 -61
  162. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -1
  163. package/dist/views/CollectionTrash/index.js +17 -18
  164. package/dist/views/CollectionTrash/index.js.map +1 -1
  165. package/dist/views/CollectionTrash/metadata.js +18 -21
  166. package/dist/views/CollectionTrash/metadata.js.map +1 -1
  167. package/dist/views/CreateFirstUser/index.client.js +114 -101
  168. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  169. package/dist/views/CreateFirstUser/index.js +87 -81
  170. package/dist/views/CreateFirstUser/index.js.map +1 -1
  171. package/dist/views/CreateFirstUser/metadata.js +8 -12
  172. package/dist/views/CreateFirstUser/metadata.js.map +1 -1
  173. package/dist/views/Dashboard/Default/index.js +176 -152
  174. package/dist/views/Dashboard/Default/index.js.map +1 -1
  175. package/dist/views/Dashboard/index.js +97 -90
  176. package/dist/views/Dashboard/index.js.map +1 -1
  177. package/dist/views/Dashboard/metadata.js +10 -14
  178. package/dist/views/Dashboard/metadata.js.map +1 -1
  179. package/dist/views/Document/getCustomDocumentViewByKey.js +3 -2
  180. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
  181. package/dist/views/Document/getCustomViewByRoute.js +27 -30
  182. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  183. package/dist/views/Document/getDocPreferences.js +40 -41
  184. package/dist/views/Document/getDocPreferences.js.map +1 -1
  185. package/dist/views/Document/getDocumentData.js +44 -55
  186. package/dist/views/Document/getDocumentData.js.map +1 -1
  187. package/dist/views/Document/getDocumentPermissions.js +77 -80
  188. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  189. package/dist/views/Document/getDocumentView.js +313 -283
  190. package/dist/views/Document/getDocumentView.js.map +1 -1
  191. package/dist/views/Document/getIsLocked.js +66 -66
  192. package/dist/views/Document/getIsLocked.js.map +1 -1
  193. package/dist/views/Document/getMetaBySegment.js +130 -136
  194. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  195. package/dist/views/Document/getVersions.js +204 -194
  196. package/dist/views/Document/getVersions.js.map +1 -1
  197. package/dist/views/Document/handleServerFunction.js +103 -128
  198. package/dist/views/Document/handleServerFunction.js.map +1 -1
  199. package/dist/views/Document/index.js +315 -354
  200. package/dist/views/Document/index.js.map +1 -1
  201. package/dist/views/Document/metadata.js +2 -1
  202. package/dist/views/Document/metadata.js.map +1 -1
  203. package/dist/views/Document/renderDocumentSlots.js +121 -132
  204. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  205. package/dist/views/Edit/index.js +10 -6
  206. package/dist/views/Edit/index.js.map +1 -1
  207. package/dist/views/Edit/metadata.js +36 -46
  208. package/dist/views/Edit/metadata.js.map +1 -1
  209. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +130 -164
  210. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  211. package/dist/views/ForgotPassword/index.js +79 -62
  212. package/dist/views/ForgotPassword/index.js.map +1 -1
  213. package/dist/views/ForgotPassword/metadata.js +8 -12
  214. package/dist/views/ForgotPassword/metadata.js.map +1 -1
  215. package/dist/views/List/createSerializableValue.js +12 -11
  216. package/dist/views/List/createSerializableValue.js.map +1 -1
  217. package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
  218. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  219. package/dist/views/List/extractRelationshipDisplayValue.js +15 -14
  220. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
  221. package/dist/views/List/extractValueOrRelationshipID.js +16 -15
  222. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
  223. package/dist/views/List/handleGroupBy.js +133 -150
  224. package/dist/views/List/handleGroupBy.js.map +1 -1
  225. package/dist/views/List/handleServerFunction.js +96 -119
  226. package/dist/views/List/handleServerFunction.js.map +1 -1
  227. package/dist/views/List/index.js +305 -324
  228. package/dist/views/List/index.js.map +1 -1
  229. package/dist/views/List/metadata.js +17 -20
  230. package/dist/views/List/metadata.js.map +1 -1
  231. package/dist/views/List/renderListViewSlots.js +82 -75
  232. package/dist/views/List/renderListViewSlots.js.map +1 -1
  233. package/dist/views/List/resolveAllFilterOptions.js +43 -45
  234. package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
  235. package/dist/views/List/transformColumnsToSelect.js +9 -8
  236. package/dist/views/List/transformColumnsToSelect.js.map +1 -1
  237. package/dist/views/Login/LoginField/index.js +57 -89
  238. package/dist/views/Login/LoginField/index.js.map +1 -1
  239. package/dist/views/Login/LoginForm/index.js +104 -157
  240. package/dist/views/Login/LoginForm/index.js.map +1 -1
  241. package/dist/views/Login/index.js +82 -85
  242. package/dist/views/Login/index.js.map +1 -1
  243. package/dist/views/Login/metadata.js +8 -12
  244. package/dist/views/Login/metadata.js.map +1 -1
  245. package/dist/views/Logout/LogoutClient.js +83 -119
  246. package/dist/views/Logout/LogoutClient.js.map +1 -1
  247. package/dist/views/Logout/index.js +29 -29
  248. package/dist/views/Logout/index.js.map +1 -1
  249. package/dist/views/Logout/metadata.js +7 -11
  250. package/dist/views/Logout/metadata.js.map +1 -1
  251. package/dist/views/NotFound/index.client.js +71 -82
  252. package/dist/views/NotFound/index.client.js.map +1 -1
  253. package/dist/views/NotFound/index.js +71 -72
  254. package/dist/views/NotFound/index.js.map +1 -1
  255. package/dist/views/NotFound/metadata.js +7 -9
  256. package/dist/views/NotFound/metadata.js.map +1 -1
  257. package/dist/views/ResetPassword/ResetPasswordForm/index.js +94 -107
  258. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  259. package/dist/views/ResetPassword/index.js +93 -73
  260. package/dist/views/ResetPassword/index.js.map +1 -1
  261. package/dist/views/ResetPassword/metadata.js +8 -12
  262. package/dist/views/ResetPassword/metadata.js.map +1 -1
  263. package/dist/views/Root/attachViewActions.js +18 -23
  264. package/dist/views/Root/attachViewActions.js.map +1 -1
  265. package/dist/views/Root/generateCustomViewMetadata.js +19 -21
  266. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
  267. package/dist/views/Root/getCustomViewByKey.js +12 -14
  268. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  269. package/dist/views/Root/getCustomViewByRoute.js +31 -42
  270. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  271. package/dist/views/Root/getDocumentViewInfo.js +24 -23
  272. package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
  273. package/dist/views/Root/getRouteData.js +333 -325
  274. package/dist/views/Root/getRouteData.js.map +1 -1
  275. package/dist/views/Root/index.js +247 -269
  276. package/dist/views/Root/index.js.map +1 -1
  277. package/dist/views/Root/isPathMatchingRoute.js +21 -26
  278. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  279. package/dist/views/Root/metadata.js +176 -181
  280. package/dist/views/Root/metadata.js.map +1 -1
  281. package/dist/views/Unauthorized/index.js +54 -46
  282. package/dist/views/Unauthorized/index.js.map +1 -1
  283. package/dist/views/Unauthorized/metadata.js +8 -12
  284. package/dist/views/Unauthorized/metadata.js.map +1 -1
  285. package/dist/views/Verify/index.client.js +25 -43
  286. package/dist/views/Verify/index.client.js.map +1 -1
  287. package/dist/views/Verify/index.js +68 -62
  288. package/dist/views/Verify/index.js.map +1 -1
  289. package/dist/views/Verify/metadata.js +8 -12
  290. package/dist/views/Verify/metadata.js.map +1 -1
  291. package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
  292. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  293. package/dist/views/Version/Default/SetStepNav.js +86 -127
  294. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  295. package/dist/views/Version/Default/index.js +380 -236
  296. package/dist/views/Version/Default/index.js.map +1 -1
  297. package/dist/views/Version/Default/types.js +2 -1
  298. package/dist/views/Version/Default/types.js.map +1 -1
  299. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +102 -119
  300. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  301. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +78 -73
  302. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  303. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +363 -408
  304. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  305. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +40 -51
  306. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  307. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +35 -67
  308. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  309. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +59 -56
  310. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  311. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +139 -117
  312. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  313. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +36 -41
  314. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  315. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +192 -178
  316. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  317. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -11
  318. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  319. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +48 -73
  320. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  321. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +132 -143
  322. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  323. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +56 -81
  324. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  325. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +251 -210
  326. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  327. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +23 -22
  328. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  329. package/dist/views/Version/RenderFieldsToDiff/index.js +12 -9
  330. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  331. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +213 -228
  332. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  333. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +1005 -826
  334. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  335. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +2 -1
  336. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
  337. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +44 -43
  338. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
  339. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js +25 -22
  340. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js.map +1 -1
  341. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +32 -36
  342. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  343. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +145 -129
  344. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  345. package/dist/views/Version/Restore/index.js +116 -91
  346. package/dist/views/Version/Restore/index.js.map +1 -1
  347. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +33 -50
  348. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  349. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +170 -226
  350. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  351. package/dist/views/Version/SelectComparison/index.js +73 -50
  352. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  353. package/dist/views/Version/SelectComparison/types.js +2 -1
  354. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  355. package/dist/views/Version/SelectLocales/index.js +34 -32
  356. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  357. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +104 -95
  358. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  359. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +23 -27
  360. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
  361. package/dist/views/Version/fetchVersions.js +113 -138
  362. package/dist/views/Version/fetchVersions.js.map +1 -1
  363. package/dist/views/Version/index.js +325 -323
  364. package/dist/views/Version/index.js.map +1 -1
  365. package/dist/views/Version/metadata.js +43 -50
  366. package/dist/views/Version/metadata.js.map +1 -1
  367. package/dist/views/Versions/buildColumns.js +95 -79
  368. package/dist/views/Versions/buildColumns.js.map +1 -1
  369. package/dist/views/Versions/cells/AutosaveCell/index.js +34 -38
  370. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  371. package/dist/views/Versions/cells/CreatedAt/index.js +32 -53
  372. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  373. package/dist/views/Versions/cells/ID/index.js +10 -8
  374. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  375. package/dist/views/Versions/index.client.js +106 -83
  376. package/dist/views/Versions/index.client.js.map +1 -1
  377. package/dist/views/Versions/index.js +140 -140
  378. package/dist/views/Versions/index.js.map +1 -1
  379. package/dist/views/Versions/metadata.js +37 -44
  380. package/dist/views/Versions/metadata.js.map +1 -1
  381. package/dist/views/Versions/types.js +2 -1
  382. package/dist/views/Versions/types.js.map +1 -1
  383. package/dist/withPayload.js +216 -169
  384. package/dist/withPayload.js.map +1 -1
  385. package/package.json +9 -8
  386. package/dist/prod/styles.css +0 -1
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
2
2
  import { formatDate } from '@payloadcms/ui/shared';
3
3
  import { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig';
4
4
  import { getClientSchemaMap } from '@payloadcms/ui/utilities/getClientSchemaMap';
@@ -12,338 +12,340 @@ import { RenderDiff } from './RenderFieldsToDiff/index.js';
12
12
  import { getVersionLabel } from './VersionPillLabel/getVersionLabel.js';
13
13
  import { VersionPillLabel } from './VersionPillLabel/VersionPillLabel.js';
14
14
  export async function VersionView(props) {
15
- const {
16
- hasPublishedDoc,
17
- i18n,
18
- initPageResult,
19
- routeSegments,
20
- searchParams
21
- } = props;
22
- const {
23
- collectionConfig,
24
- docID: id,
25
- globalConfig,
26
- permissions,
27
- req,
28
- req: {
29
- payload,
30
- payload: {
31
- config,
32
- config: {
33
- localization
34
- }
35
- } = {},
36
- user
37
- } = {}
38
- } = initPageResult;
39
- const versionToID = routeSegments[routeSegments.length - 1];
40
- const collectionSlug = collectionConfig?.slug;
41
- const globalSlug = globalConfig?.slug;
42
- const draftsEnabled = hasDraftsEnabled(collectionConfig || globalConfig);
43
- const localeCodesFromParams = searchParams.localeCodes ? JSON.parse(searchParams.localeCodes) : null;
44
- const versionFromIDFromParams = searchParams.versionFrom;
45
- const modifiedOnly = searchParams.modifiedOnly === 'false' ? false : true;
46
- const docPermissions = collectionSlug ? permissions.collections[collectionSlug] : permissions.globals[globalSlug];
47
- const versionTo = await fetchVersion({
48
- id: versionToID,
49
- collectionSlug,
50
- depth: 1,
51
- globalSlug,
52
- locale: 'all',
53
- overrideAccess: false,
54
- req,
55
- user
56
- });
57
- if (!versionTo) {
58
- return notFound();
59
- }
60
- const [previousVersionResult, versionFromResult, currentlyPublishedVersion, latestDraftVersion, previousPublishedVersionResult] = await Promise.all([
61
- // Previous version (the one before the versionTo)
62
- fetchVersions({
63
- collectionSlug,
64
- // If versionFromIDFromParams is provided, the previous version is only used in the version comparison dropdown => depth 0 is enough.
65
- // If it's not provided, this is used as `versionFrom` in the comparison, which expects populated data => depth 1 is needed.
66
- depth: versionFromIDFromParams ? 0 : 1,
67
- draft: true,
68
- globalSlug,
69
- limit: 1,
70
- locale: 'all',
71
- overrideAccess: false,
72
- parentID: id,
73
- req,
74
- sort: '-updatedAt',
75
- user,
76
- where: {
77
- and: [{
78
- updatedAt: {
79
- less_than: versionTo.updatedAt
80
- }
81
- }]
15
+ const { hasPublishedDoc, i18n, initPageResult, routeSegments, searchParams } = props;
16
+ const { collectionConfig, docID: id, globalConfig, permissions, req, req: { payload, payload: { config, config: { localization } } = {}, user } = {} } = initPageResult;
17
+ const versionToID = routeSegments[routeSegments.length - 1];
18
+ const collectionSlug = collectionConfig?.slug;
19
+ const globalSlug = globalConfig?.slug;
20
+ const draftsEnabled = hasDraftsEnabled(collectionConfig || globalConfig);
21
+ const localeCodesFromParams = searchParams.localeCodes ? JSON.parse(searchParams.localeCodes) : null;
22
+ const versionFromIDFromParams = searchParams.versionFrom;
23
+ const modifiedOnly = searchParams.modifiedOnly === 'false' ? false : true;
24
+ const docPermissions = collectionSlug ? permissions.collections[collectionSlug] : permissions.globals[globalSlug];
25
+ const versionTo = await fetchVersion({
26
+ id: versionToID,
27
+ collectionSlug,
28
+ depth: 1,
29
+ globalSlug,
30
+ locale: 'all',
31
+ overrideAccess: false,
32
+ req,
33
+ user
34
+ });
35
+ if (!versionTo) {
36
+ return notFound();
82
37
  }
83
- }),
84
- // Version from ID from params
85
- versionFromIDFromParams ? fetchVersion({
86
- id: versionFromIDFromParams,
87
- collectionSlug,
88
- depth: 1,
89
- globalSlug,
90
- locale: 'all',
91
- overrideAccess: false,
92
- req,
93
- user
94
- }) : Promise.resolve(null),
95
- // Currently published version - do note: currently published != latest published, as an unpublished version can be the latest published
96
- hasPublishedDoc ? fetchLatestVersion({
97
- collectionSlug,
98
- depth: 0,
99
- globalSlug,
100
- locale: 'all',
101
- overrideAccess: false,
102
- parentID: id,
103
- req,
104
- status: 'published',
105
- user
106
- }) : Promise.resolve(null),
107
- // Latest draft version
108
- draftsEnabled ? fetchLatestVersion({
109
- collectionSlug,
110
- depth: 0,
111
- globalSlug,
112
- locale: 'all',
113
- overrideAccess: false,
114
- parentID: id,
115
- req,
116
- status: 'draft',
117
- user
118
- }) : Promise.resolve(null),
119
- // Previous published version
120
- // Only query for published versions if drafts are enabled (since _status field only exists with drafts)
121
- draftsEnabled ? fetchVersions({
122
- collectionSlug,
123
- depth: 0,
124
- draft: true,
125
- globalSlug,
126
- limit: 1,
127
- locale: 'all',
128
- overrideAccess: false,
129
- parentID: id,
130
- req,
131
- sort: '-updatedAt',
132
- user,
133
- where: {
134
- and: [{
135
- updatedAt: {
136
- less_than: versionTo.updatedAt
38
+ const [previousVersionResult, versionFromResult, currentlyPublishedVersion, latestDraftVersion, previousPublishedVersionResult] = await Promise.all([
39
+ // Previous version (the one before the versionTo)
40
+ fetchVersions({
41
+ collectionSlug,
42
+ // If versionFromIDFromParams is provided, the previous version is only used in the version comparison dropdown => depth 0 is enough.
43
+ // If it's not provided, this is used as `versionFrom` in the comparison, which expects populated data => depth 1 is needed.
44
+ depth: versionFromIDFromParams ? 0 : 1,
45
+ draft: true,
46
+ globalSlug,
47
+ limit: 1,
48
+ locale: 'all',
49
+ overrideAccess: false,
50
+ parentID: id,
51
+ req,
52
+ sort: '-updatedAt',
53
+ user,
54
+ where: {
55
+ and: [
56
+ {
57
+ updatedAt: {
58
+ less_than: versionTo.updatedAt
59
+ }
60
+ }
61
+ ]
62
+ }
63
+ }),
64
+ // Version from ID from params
65
+ versionFromIDFromParams ? fetchVersion({
66
+ id: versionFromIDFromParams,
67
+ collectionSlug,
68
+ depth: 1,
69
+ globalSlug,
70
+ locale: 'all',
71
+ overrideAccess: false,
72
+ req,
73
+ user
74
+ }) : Promise.resolve(null),
75
+ // Currently published version - do note: currently published != latest published, as an unpublished version can be the latest published
76
+ hasPublishedDoc ? fetchLatestVersion({
77
+ collectionSlug,
78
+ depth: 0,
79
+ globalSlug,
80
+ locale: 'all',
81
+ overrideAccess: false,
82
+ parentID: id,
83
+ req,
84
+ status: 'published',
85
+ user
86
+ }) : Promise.resolve(null),
87
+ // Latest draft version
88
+ draftsEnabled ? fetchLatestVersion({
89
+ collectionSlug,
90
+ depth: 0,
91
+ globalSlug,
92
+ locale: 'all',
93
+ overrideAccess: false,
94
+ parentID: id,
95
+ req,
96
+ status: 'draft',
97
+ user
98
+ }) : Promise.resolve(null),
99
+ // Previous published version
100
+ // Only query for published versions if drafts are enabled (since _status field only exists with drafts)
101
+ draftsEnabled ? fetchVersions({
102
+ collectionSlug,
103
+ depth: 0,
104
+ draft: true,
105
+ globalSlug,
106
+ limit: 1,
107
+ locale: 'all',
108
+ overrideAccess: false,
109
+ parentID: id,
110
+ req,
111
+ sort: '-updatedAt',
112
+ user,
113
+ where: {
114
+ and: [
115
+ {
116
+ updatedAt: {
117
+ less_than: versionTo.updatedAt
118
+ }
119
+ },
120
+ {
121
+ 'version._status': {
122
+ equals: 'published'
123
+ }
124
+ }
125
+ ]
126
+ }
127
+ }) : Promise.resolve(null)
128
+ ]);
129
+ const previousVersion = previousVersionResult?.docs?.[0] ?? null;
130
+ const versionFrom = versionFromResult || // By default, we'll compare the previous version. => versionFrom = version previous to versionTo
131
+ previousVersion;
132
+ // Previous published version before the versionTo
133
+ const previousPublishedVersion = previousPublishedVersionResult?.docs?.[0] ?? null;
134
+ let selectedLocales = [];
135
+ if (localization) {
136
+ let locales = [];
137
+ if (localeCodesFromParams) {
138
+ for (const code of localeCodesFromParams){
139
+ const locale = localization.locales.find((locale)=>locale.code === code);
140
+ if (!locale) {
141
+ continue;
142
+ }
143
+ locales.push(locale);
144
+ }
145
+ } else {
146
+ locales = localization.locales;
137
147
  }
138
- }, {
139
- 'version._status': {
140
- equals: 'published'
148
+ if (localization.filterAvailableLocales) {
149
+ locales = await localization.filterAvailableLocales({
150
+ locales,
151
+ req
152
+ }) || [];
141
153
  }
142
- }]
154
+ selectedLocales = locales.map((locale)=>locale.code);
143
155
  }
144
- }) : Promise.resolve(null)]);
145
- const previousVersion = previousVersionResult?.docs?.[0] ?? null;
146
- const versionFrom = versionFromResult ||
147
- // By default, we'll compare the previous version. => versionFrom = version previous to versionTo
148
- previousVersion;
149
- // Previous published version before the versionTo
150
- const previousPublishedVersion = previousPublishedVersionResult?.docs?.[0] ?? null;
151
- let selectedLocales = [];
152
- if (localization) {
153
- let locales = [];
154
- if (localeCodesFromParams) {
155
- for (const code of localeCodesFromParams) {
156
- const locale = localization.locales.find(locale => locale.code === code);
157
- if (!locale) {
158
- continue;
159
- }
160
- locales.push(locale);
161
- }
162
- } else {
163
- locales = localization.locales;
164
- }
165
- if (localization.filterAvailableLocales) {
166
- locales = (await localization.filterAvailableLocales({
167
- locales,
168
- req
169
- })) || [];
170
- }
171
- selectedLocales = locales.map(locale => locale.code);
172
- }
173
- const schemaMap = getSchemaMap({
174
- collectionSlug,
175
- config,
176
- globalSlug,
177
- i18n
178
- });
179
- const clientSchemaMap = getClientSchemaMap({
180
- collectionSlug,
181
- config: getClientConfig({
182
- config: payload.config,
183
- i18n,
184
- importMap: payload.importMap,
185
- user
186
- }),
187
- globalSlug,
188
- i18n,
189
- payload,
190
- schemaMap
191
- });
192
- const RenderedDiff = RenderDiff({
193
- clientSchemaMap,
194
- customDiffComponents: {},
195
- entitySlug: collectionSlug || globalSlug,
196
- fields: (collectionConfig || globalConfig)?.fields,
197
- fieldsPermissions: docPermissions?.fields,
198
- i18n,
199
- modifiedOnly,
200
- parentIndexPath: '',
201
- parentIsLocalized: false,
202
- parentPath: '',
203
- parentSchemaPath: '',
204
- req,
205
- selectedLocales,
206
- versionFromSiblingData: {
207
- ...versionFrom?.version,
208
- updatedAt: versionFrom?.updatedAt
209
- },
210
- versionToSiblingData: {
211
- ...versionTo.version,
212
- updatedAt: versionTo.updatedAt
213
- }
214
- });
215
- const versionToCreatedAtFormatted = versionTo.updatedAt ? formatDate({
216
- date: typeof versionTo.updatedAt === 'string' ? new Date(versionTo.updatedAt) : versionTo.updatedAt,
217
- i18n,
218
- pattern: config.admin.dateFormat
219
- }) : '';
220
- const formatPill = ({
221
- doc,
222
- labelOverride,
223
- labelStyle,
224
- labelSuffix
225
- }) => {
226
- return /*#__PURE__*/_jsx(VersionPillLabel, {
227
- currentlyPublishedVersion: currentlyPublishedVersion,
228
- doc: doc,
229
- labelFirst: true,
230
- labelOverride: labelOverride,
231
- labelStyle: labelStyle ?? 'text',
232
- labelSuffix: labelSuffix,
233
- latestDraftVersion: latestDraftVersion
234
- }, doc.id);
235
- };
236
- // SelectComparison Options:
237
- //
238
- // Previous version: always, unless doesn't exist. Can be the same as previously published
239
- // Latest draft: only if no newer published exists (latestDraftVersion)
240
- // Currently published: always, if exists
241
- // Previously published: if there is a prior published version older than versionTo
242
- // Specific Version: only if not already present under other label (= versionFrom)
243
- let versionFromOptions = [];
244
- // Previous version
245
- if (previousVersion?.id) {
246
- versionFromOptions.push({
247
- doc: previousVersion,
248
- labelOverride: i18n.t('version:previousVersion'),
249
- updatedAt: new Date(previousVersion.updatedAt),
250
- value: previousVersion.id
251
- });
252
- }
253
- // Latest Draft
254
- const publishedNewerThanDraft = currentlyPublishedVersion?.updatedAt > latestDraftVersion?.updatedAt;
255
- if (latestDraftVersion && !publishedNewerThanDraft) {
256
- versionFromOptions.push({
257
- doc: latestDraftVersion,
258
- updatedAt: new Date(latestDraftVersion.updatedAt),
259
- value: latestDraftVersion.id
260
- });
261
- }
262
- // Currently Published
263
- if (currentlyPublishedVersion) {
264
- versionFromOptions.push({
265
- doc: currentlyPublishedVersion,
266
- updatedAt: new Date(currentlyPublishedVersion.updatedAt),
267
- value: currentlyPublishedVersion.id
156
+ const schemaMap = getSchemaMap({
157
+ collectionSlug,
158
+ config,
159
+ globalSlug,
160
+ i18n
268
161
  });
269
- }
270
- // Previous Published
271
- if (previousPublishedVersion && currentlyPublishedVersion?.id !== previousPublishedVersion.id) {
272
- versionFromOptions.push({
273
- doc: previousPublishedVersion,
274
- labelOverride: i18n.t('version:previouslyPublished'),
275
- updatedAt: new Date(previousPublishedVersion.updatedAt),
276
- value: previousPublishedVersion.id
162
+ const clientSchemaMap = getClientSchemaMap({
163
+ collectionSlug,
164
+ config: getClientConfig({
165
+ config: payload.config,
166
+ i18n,
167
+ importMap: payload.importMap,
168
+ user
169
+ }),
170
+ globalSlug,
171
+ i18n,
172
+ payload,
173
+ schemaMap
277
174
  });
278
- }
279
- // Specific Version
280
- if (versionFrom?.id && !versionFromOptions.some(option => option.value === versionFrom.id)) {
281
- // Only add "specific version" if it is not already in the options
282
- versionFromOptions.push({
283
- doc: versionFrom,
284
- labelOverride: i18n.t('version:specificVersion'),
285
- updatedAt: new Date(versionFrom.updatedAt),
286
- value: versionFrom.id
175
+ const RenderedDiff = RenderDiff({
176
+ clientSchemaMap,
177
+ customDiffComponents: {},
178
+ entitySlug: collectionSlug || globalSlug,
179
+ fields: (collectionConfig || globalConfig)?.fields,
180
+ fieldsPermissions: docPermissions?.fields,
181
+ i18n,
182
+ modifiedOnly,
183
+ parentIndexPath: '',
184
+ parentIsLocalized: false,
185
+ parentPath: '',
186
+ parentSchemaPath: '',
187
+ req,
188
+ selectedLocales,
189
+ versionFromSiblingData: {
190
+ ...versionFrom?.version,
191
+ updatedAt: versionFrom?.updatedAt
192
+ },
193
+ versionToSiblingData: {
194
+ ...versionTo.version,
195
+ updatedAt: versionTo.updatedAt
196
+ }
287
197
  });
288
- }
289
- versionFromOptions = versionFromOptions.sort((a, b) => {
290
- // Sort by updatedAt, newest first
291
- if (a && b) {
292
- return b.updatedAt.getTime() - a.updatedAt.getTime();
198
+ const versionToCreatedAtFormatted = versionTo.updatedAt ? formatDate({
199
+ date: typeof versionTo.updatedAt === 'string' ? new Date(versionTo.updatedAt) : versionTo.updatedAt,
200
+ i18n,
201
+ pattern: config.admin.dateFormat
202
+ }) : '';
203
+ const formatPill = ({ doc, labelOverride, labelStyle, labelSuffix })=>{
204
+ return /*#__PURE__*/ _jsxDEV(VersionPillLabel, {
205
+ currentlyPublishedVersion: currentlyPublishedVersion,
206
+ doc: doc,
207
+ labelFirst: true,
208
+ labelOverride: labelOverride,
209
+ labelStyle: labelStyle ?? 'text',
210
+ labelSuffix: labelSuffix,
211
+ latestDraftVersion: latestDraftVersion
212
+ }, doc.id, false, {
213
+ fileName: "src/views/Version/index.tsx",
214
+ lineNumber: 278,
215
+ columnNumber: 7
216
+ }, this);
217
+ };
218
+ // SelectComparison Options:
219
+ //
220
+ // Previous version: always, unless doesn't exist. Can be the same as previously published
221
+ // Latest draft: only if no newer published exists (latestDraftVersion)
222
+ // Currently published: always, if exists
223
+ // Previously published: if there is a prior published version older than versionTo
224
+ // Specific Version: only if not already present under other label (= versionFrom)
225
+ let versionFromOptions = [];
226
+ // Previous version
227
+ if (previousVersion?.id) {
228
+ versionFromOptions.push({
229
+ doc: previousVersion,
230
+ labelOverride: i18n.t('version:previousVersion'),
231
+ updatedAt: new Date(previousVersion.updatedAt),
232
+ value: previousVersion.id
233
+ });
234
+ }
235
+ // Latest Draft
236
+ const publishedNewerThanDraft = currentlyPublishedVersion?.updatedAt > latestDraftVersion?.updatedAt;
237
+ if (latestDraftVersion && !publishedNewerThanDraft) {
238
+ versionFromOptions.push({
239
+ doc: latestDraftVersion,
240
+ updatedAt: new Date(latestDraftVersion.updatedAt),
241
+ value: latestDraftVersion.id
242
+ });
243
+ }
244
+ // Currently Published
245
+ if (currentlyPublishedVersion) {
246
+ versionFromOptions.push({
247
+ doc: currentlyPublishedVersion,
248
+ updatedAt: new Date(currentlyPublishedVersion.updatedAt),
249
+ value: currentlyPublishedVersion.id
250
+ });
293
251
  }
294
- return 0;
295
- });
296
- const versionToIsVersionFrom = versionFrom?.id === versionTo.id;
297
- const versionFromComparisonOptions = [];
298
- for (const option of versionFromOptions) {
299
- const isVersionTo = option.value === versionTo.id;
300
- if (isVersionTo && !versionToIsVersionFrom) {
301
- continue;
252
+ // Previous Published
253
+ if (previousPublishedVersion && currentlyPublishedVersion?.id !== previousPublishedVersion.id) {
254
+ versionFromOptions.push({
255
+ doc: previousPublishedVersion,
256
+ labelOverride: i18n.t('version:previouslyPublished'),
257
+ updatedAt: new Date(previousPublishedVersion.updatedAt),
258
+ value: previousPublishedVersion.id
259
+ });
302
260
  }
303
- const alreadyAdded = versionFromComparisonOptions.some(existingOption => existingOption.value === option.value);
304
- if (alreadyAdded) {
305
- continue;
261
+ // Specific Version
262
+ if (versionFrom?.id && !versionFromOptions.some((option)=>option.value === versionFrom.id)) {
263
+ // Only add "specific version" if it is not already in the options
264
+ versionFromOptions.push({
265
+ doc: versionFrom,
266
+ labelOverride: i18n.t('version:specificVersion'),
267
+ updatedAt: new Date(versionFrom.updatedAt),
268
+ value: versionFrom.id
269
+ });
306
270
  }
307
- const otherOptionsWithSameID = versionFromOptions.filter(existingOption => existingOption.value === option.value && existingOption !== option);
308
- // Merge options with same ID to the same option
309
- const labelSuffix = otherOptionsWithSameID?.length ? /*#__PURE__*/_jsxs("span", {
310
- children: [' (', otherOptionsWithSameID.map((optionWithSameID, index) => {
311
- const label = optionWithSameID.labelOverride || getVersionLabel({
312
- currentlyPublishedVersion,
313
- latestDraftVersion,
314
- t: i18n.t,
315
- version: optionWithSameID.doc
316
- }).label;
317
- return /*#__PURE__*/_jsxs(React.Fragment, {
318
- children: [index > 0 ? ', ' : '', label]
319
- }, `${optionWithSameID.value}-${index}`);
320
- }), ')']
321
- }, `${option.value}-suffix`) : undefined;
322
- versionFromComparisonOptions.push({
323
- label: formatPill({
324
- doc: option.doc,
325
- labelOverride: option.labelOverride,
326
- labelSuffix
327
- }),
328
- value: option.value
271
+ versionFromOptions = versionFromOptions.sort((a, b)=>{
272
+ // Sort by updatedAt, newest first
273
+ if (a && b) {
274
+ return b.updatedAt.getTime() - a.updatedAt.getTime();
275
+ }
276
+ return 0;
329
277
  });
330
- }
331
- return /*#__PURE__*/_jsx(DefaultVersionView, {
332
- canUpdate: docPermissions?.update,
333
- modifiedOnly: modifiedOnly,
334
- RenderedDiff: RenderedDiff,
335
- selectedLocales: selectedLocales,
336
- versionFromCreatedAt: versionFrom?.createdAt,
337
- versionFromID: versionFrom?.id,
338
- versionFromOptions: versionFromComparisonOptions,
339
- versionToCreatedAt: versionTo.createdAt,
340
- versionToCreatedAtFormatted: versionToCreatedAtFormatted,
341
- VersionToCreatedAtLabel: formatPill({
342
- doc: versionTo,
343
- labelStyle: 'pill'
344
- }),
345
- versionToID: versionTo.id,
346
- versionToStatus: versionTo.version?._status
347
- });
278
+ const versionToIsVersionFrom = versionFrom?.id === versionTo.id;
279
+ const versionFromComparisonOptions = [];
280
+ for (const option of versionFromOptions){
281
+ const isVersionTo = option.value === versionTo.id;
282
+ if (isVersionTo && !versionToIsVersionFrom) {
283
+ continue;
284
+ }
285
+ const alreadyAdded = versionFromComparisonOptions.some((existingOption)=>existingOption.value === option.value);
286
+ if (alreadyAdded) {
287
+ continue;
288
+ }
289
+ const otherOptionsWithSameID = versionFromOptions.filter((existingOption)=>existingOption.value === option.value && existingOption !== option);
290
+ // Merge options with same ID to the same option
291
+ const labelSuffix = otherOptionsWithSameID?.length ? /*#__PURE__*/ _jsxDEV("span", {
292
+ children: [
293
+ ' (',
294
+ otherOptionsWithSameID.map((optionWithSameID, index)=>{
295
+ const label = optionWithSameID.labelOverride || getVersionLabel({
296
+ currentlyPublishedVersion,
297
+ latestDraftVersion,
298
+ t: i18n.t,
299
+ version: optionWithSameID.doc
300
+ }).label;
301
+ return /*#__PURE__*/ _jsxDEV(React.Fragment, {
302
+ children: [
303
+ index > 0 ? ', ' : '',
304
+ label
305
+ ]
306
+ }, `${optionWithSameID.value}-${index}`, true, {
307
+ fileName: "src/views/Version/index.tsx",
308
+ lineNumber: 403,
309
+ columnNumber: 13
310
+ }, this);
311
+ }),
312
+ ')'
313
+ ]
314
+ }, `${option.value}-suffix`, true, {
315
+ fileName: "src/views/Version/index.tsx",
316
+ lineNumber: 390,
317
+ columnNumber: 7
318
+ }, this) : undefined;
319
+ versionFromComparisonOptions.push({
320
+ label: formatPill({
321
+ doc: option.doc,
322
+ labelOverride: option.labelOverride,
323
+ labelSuffix
324
+ }),
325
+ value: option.value
326
+ });
327
+ }
328
+ return /*#__PURE__*/ _jsxDEV(DefaultVersionView, {
329
+ canUpdate: docPermissions?.update,
330
+ modifiedOnly: modifiedOnly,
331
+ RenderedDiff: RenderedDiff,
332
+ selectedLocales: selectedLocales,
333
+ versionFromCreatedAt: versionFrom?.createdAt,
334
+ versionFromID: versionFrom?.id,
335
+ versionFromOptions: versionFromComparisonOptions,
336
+ versionToCreatedAt: versionTo.createdAt,
337
+ versionToCreatedAtFormatted: versionToCreatedAtFormatted,
338
+ VersionToCreatedAtLabel: formatPill({
339
+ doc: versionTo,
340
+ labelStyle: 'pill'
341
+ }),
342
+ versionToID: versionTo.id,
343
+ versionToStatus: versionTo.version?._status
344
+ }, void 0, false, {
345
+ fileName: "src/views/Version/index.tsx",
346
+ lineNumber: 424,
347
+ columnNumber: 5
348
+ }, this);
348
349
  }
350
+
349
351
  //# sourceMappingURL=index.js.map