@payloadcms/next 3.68.0-internal-debug.e9b66ee → 3.68.0-internal.10bf491

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