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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (448) hide show
  1. package/dist/auth/login.js +52 -58
  2. package/dist/auth/login.js.map +1 -1
  3. package/dist/auth/logout.js +39 -44
  4. package/dist/auth/logout.js.map +1 -1
  5. package/dist/auth/refresh.js +45 -47
  6. package/dist/auth/refresh.js.map +1 -1
  7. package/dist/cjs/withPayload.cjs +61 -23
  8. package/dist/cjs/withPayload.cjs.map +2 -2
  9. package/dist/config.js +1 -0
  10. package/dist/config.js.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +9 -15
  12. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +40 -71
  14. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +65 -59
  16. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +38 -0
  18. package/dist/elements/DocumentHeader/Tabs/index.js +80 -70
  19. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  20. package/dist/elements/DocumentHeader/Tabs/index.scss +54 -0
  21. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +16 -23
  22. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  23. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.scss +9 -0
  24. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +61 -69
  25. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  26. package/dist/elements/DocumentHeader/index.js +48 -28
  27. package/dist/elements/DocumentHeader/index.js.map +1 -1
  28. package/dist/elements/DocumentHeader/index.scss +64 -0
  29. package/dist/elements/FormHeader/index.js +30 -16
  30. package/dist/elements/FormHeader/index.js.map +1 -1
  31. package/dist/elements/FormHeader/index.scss +8 -0
  32. package/dist/elements/Logo/index.js +19 -34
  33. package/dist/elements/Logo/index.js.map +1 -1
  34. package/dist/elements/Nav/NavHamburger/index.js +23 -44
  35. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  36. package/dist/elements/Nav/NavWrapper/index.js +28 -54
  37. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  38. package/dist/elements/Nav/NavWrapper/index.scss +27 -0
  39. package/dist/elements/Nav/SettingsMenuButton/index.js +33 -39
  40. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  41. package/dist/elements/Nav/SettingsMenuButton/index.scss +11 -0
  42. package/dist/elements/Nav/getNavPrefs.js +27 -22
  43. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  44. package/dist/elements/Nav/index.client.js +97 -118
  45. package/dist/elements/Nav/index.client.js.map +1 -1
  46. package/dist/elements/Nav/index.js +148 -127
  47. package/dist/elements/Nav/index.js.map +1 -1
  48. package/dist/elements/Nav/index.scss +173 -0
  49. package/dist/esbuildEntry.d.ts +5 -0
  50. package/dist/esbuildEntry.d.ts.map +1 -0
  51. package/dist/esbuildEntry.js +6 -0
  52. package/dist/esbuildEntry.js.map +1 -0
  53. package/dist/exports/auth.js +1 -0
  54. package/dist/exports/auth.js.map +1 -1
  55. package/dist/exports/client.js +1 -1
  56. package/dist/exports/client.js.map +1 -1
  57. package/dist/exports/layouts.js +1 -0
  58. package/dist/exports/layouts.js.map +1 -1
  59. package/dist/exports/routes.js +1 -0
  60. package/dist/exports/routes.js.map +1 -1
  61. package/dist/exports/rsc.js +1 -0
  62. package/dist/exports/rsc.js.map +1 -1
  63. package/dist/exports/templates.js +1 -0
  64. package/dist/exports/templates.js.map +1 -1
  65. package/dist/exports/utilities.js +7 -12
  66. package/dist/exports/utilities.js.map +1 -1
  67. package/dist/exports/views.js +1 -0
  68. package/dist/exports/views.js.map +1 -1
  69. package/dist/index.js +1 -0
  70. package/dist/index.js.map +1 -1
  71. package/dist/layouts/Root/NestProviders.js +21 -20
  72. package/dist/layouts/Root/NestProviders.js.map +1 -1
  73. package/dist/layouts/Root/checkDependencies.js +49 -41
  74. package/dist/layouts/Root/checkDependencies.js.map +1 -1
  75. package/dist/layouts/Root/index.js +128 -103
  76. package/dist/layouts/Root/index.js.map +1 -1
  77. package/dist/prod/styles.css +5 -1
  78. package/dist/routes/graphql/handler.js +114 -122
  79. package/dist/routes/graphql/handler.js.map +1 -1
  80. package/dist/routes/graphql/index.js +1 -0
  81. package/dist/routes/graphql/index.js.map +1 -1
  82. package/dist/routes/graphql/playground.js +28 -27
  83. package/dist/routes/graphql/playground.js.map +1 -1
  84. package/dist/routes/index.js +1 -0
  85. package/dist/routes/index.js.map +1 -1
  86. package/dist/routes/rest/index.js +23 -22
  87. package/dist/routes/rest/index.js.map +1 -1
  88. package/dist/routes/rest/og/image.js +103 -79
  89. package/dist/routes/rest/og/image.js.map +1 -1
  90. package/dist/routes/rest/og/index.js +59 -54
  91. package/dist/routes/rest/og/index.js.map +1 -1
  92. package/dist/templates/Default/NavHamburger/index.js +12 -20
  93. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  94. package/dist/templates/Default/Wrapper/index.js +20 -44
  95. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  96. package/dist/templates/Default/Wrapper/index.scss +58 -0
  97. package/dist/templates/Default/index.js +147 -116
  98. package/dist/templates/Default/index.js.map +1 -1
  99. package/dist/templates/Default/index.scss +79 -0
  100. package/dist/templates/Minimal/index.js +26 -17
  101. package/dist/templates/Minimal/index.js.map +1 -1
  102. package/dist/templates/Minimal/index.scss +30 -0
  103. package/dist/utilities/getExistingAuthToken.js +3 -2
  104. package/dist/utilities/getExistingAuthToken.js.map +1 -1
  105. package/dist/utilities/getNextRequestI18n.js +12 -13
  106. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  107. package/dist/utilities/getPayloadHMR.js +5 -5
  108. package/dist/utilities/getPayloadHMR.js.map +1 -1
  109. package/dist/utilities/getPreferences.js +27 -22
  110. package/dist/utilities/getPreferences.js.map +1 -1
  111. package/dist/utilities/getRequestLocale.js +13 -14
  112. package/dist/utilities/getRequestLocale.js.map +1 -1
  113. package/dist/utilities/getRequestTheme.js +19 -19
  114. package/dist/utilities/getRequestTheme.js.map +1 -1
  115. package/dist/utilities/getRouteWithoutAdmin.js +3 -5
  116. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
  117. package/dist/utilities/handleAuthRedirect.js +22 -36
  118. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  119. package/dist/utilities/handleServerFunctions.js +34 -41
  120. package/dist/utilities/handleServerFunctions.js.map +1 -1
  121. package/dist/utilities/initReq.js +78 -96
  122. package/dist/utilities/initReq.js.map +1 -1
  123. package/dist/utilities/isCustomAdminView.js +22 -26
  124. package/dist/utilities/isCustomAdminView.js.map +1 -1
  125. package/dist/utilities/isPublicAdminRoute.js +26 -20
  126. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  127. package/dist/utilities/meta.js +68 -63
  128. package/dist/utilities/meta.js.map +1 -1
  129. package/dist/utilities/selectiveCache.js +25 -26
  130. package/dist/utilities/selectiveCache.js.map +1 -1
  131. package/dist/utilities/setPayloadAuthCookie.js +19 -22
  132. package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
  133. package/dist/utilities/slugify.js +24 -33
  134. package/dist/utilities/slugify.js.map +1 -1
  135. package/dist/utilities/timestamp.js +7 -6
  136. package/dist/utilities/timestamp.js.map +1 -1
  137. package/dist/views/API/LocaleSelector/index.js +17 -39
  138. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  139. package/dist/views/API/RenderJSON/index.js +171 -126
  140. package/dist/views/API/RenderJSON/index.js.map +1 -1
  141. package/dist/views/API/RenderJSON/index.scss +129 -0
  142. package/dist/views/API/index.client.js +290 -197
  143. package/dist/views/API/index.client.js.map +1 -1
  144. package/dist/views/API/index.js +7 -2
  145. package/dist/views/API/index.js.map +1 -1
  146. package/dist/views/API/index.scss +119 -0
  147. package/dist/views/API/metadata.js +18 -23
  148. package/dist/views/API/metadata.js.map +1 -1
  149. package/dist/views/Account/ResetPreferences/index.js +78 -102
  150. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  151. package/dist/views/Account/Settings/LanguageSelector.js +18 -47
  152. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  153. package/dist/views/Account/Settings/index.js +60 -25
  154. package/dist/views/Account/Settings/index.js.map +1 -1
  155. package/dist/views/Account/Settings/index.scss +48 -0
  156. package/dist/views/Account/ToggleTheme/index.js +38 -55
  157. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  158. package/dist/views/Account/index.client.js +16 -32
  159. package/dist/views/Account/index.client.js.map +1 -1
  160. package/dist/views/Account/index.js +147 -158
  161. package/dist/views/Account/index.js.map +1 -1
  162. package/dist/views/Account/metadata.js +8 -12
  163. package/dist/views/Account/metadata.js.map +1 -1
  164. package/dist/views/BrowseByFolder/buildView.js +138 -157
  165. package/dist/views/BrowseByFolder/buildView.js.map +1 -1
  166. package/dist/views/BrowseByFolder/index.js +16 -16
  167. package/dist/views/BrowseByFolder/index.js.map +1 -1
  168. package/dist/views/BrowseByFolder/metadata.js +13 -15
  169. package/dist/views/BrowseByFolder/metadata.js.map +1 -1
  170. package/dist/views/CollectionFolders/buildView.js +122 -142
  171. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  172. package/dist/views/CollectionFolders/index.js +16 -16
  173. package/dist/views/CollectionFolders/index.js.map +1 -1
  174. package/dist/views/CollectionFolders/metadata.js +18 -21
  175. package/dist/views/CollectionFolders/metadata.js.map +1 -1
  176. package/dist/views/CollectionFolders/renderFolderViewSlots.js +58 -61
  177. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -1
  178. package/dist/views/CollectionTrash/index.js +17 -17
  179. package/dist/views/CollectionTrash/index.js.map +1 -1
  180. package/dist/views/CollectionTrash/metadata.js +18 -21
  181. package/dist/views/CollectionTrash/metadata.js.map +1 -1
  182. package/dist/views/CreateFirstUser/index.client.js +117 -103
  183. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  184. package/dist/views/CreateFirstUser/index.js +87 -81
  185. package/dist/views/CreateFirstUser/index.js.map +1 -1
  186. package/dist/views/CreateFirstUser/index.scss +21 -0
  187. package/dist/views/CreateFirstUser/metadata.js +8 -12
  188. package/dist/views/CreateFirstUser/metadata.js.map +1 -1
  189. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +147 -138
  190. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  191. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +423 -405
  192. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  193. package/dist/views/Dashboard/Default/ModularDashboard/index.js +72 -75
  194. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  195. package/dist/views/Dashboard/Default/ModularDashboard/index.scss +316 -0
  196. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +62 -89
  197. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  198. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +40 -47
  199. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
  200. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +64 -65
  201. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  202. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +164 -147
  203. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  204. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +31 -30
  205. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -1
  206. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +223 -229
  207. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
  208. package/dist/views/Dashboard/Default/index.js +59 -45
  209. package/dist/views/Dashboard/Default/index.js.map +1 -1
  210. package/dist/views/Dashboard/index.js +46 -42
  211. package/dist/views/Dashboard/index.js.map +1 -1
  212. package/dist/views/Dashboard/metadata.js +10 -14
  213. package/dist/views/Dashboard/metadata.js.map +1 -1
  214. package/dist/views/Document/getCustomDocumentViewByKey.js +3 -2
  215. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
  216. package/dist/views/Document/getCustomViewByRoute.js +27 -30
  217. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  218. package/dist/views/Document/getDocPreferences.js +40 -41
  219. package/dist/views/Document/getDocPreferences.js.map +1 -1
  220. package/dist/views/Document/getDocumentData.js +44 -55
  221. package/dist/views/Document/getDocumentData.js.map +1 -1
  222. package/dist/views/Document/getDocumentPermissions.js +77 -80
  223. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  224. package/dist/views/Document/getDocumentView.js +313 -283
  225. package/dist/views/Document/getDocumentView.js.map +1 -1
  226. package/dist/views/Document/getIsLocked.js +66 -66
  227. package/dist/views/Document/getIsLocked.js.map +1 -1
  228. package/dist/views/Document/getMetaBySegment.js +130 -136
  229. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  230. package/dist/views/Document/getVersions.js +205 -195
  231. package/dist/views/Document/getVersions.js.map +1 -1
  232. package/dist/views/Document/handleServerFunction.js +103 -128
  233. package/dist/views/Document/handleServerFunction.js.map +1 -1
  234. package/dist/views/Document/index.js +316 -355
  235. package/dist/views/Document/index.js.map +1 -1
  236. package/dist/views/Document/metadata.js +2 -1
  237. package/dist/views/Document/metadata.js.map +1 -1
  238. package/dist/views/Document/renderDocumentSlots.js +121 -132
  239. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  240. package/dist/views/Edit/index.js +10 -6
  241. package/dist/views/Edit/index.js.map +1 -1
  242. package/dist/views/Edit/metadata.js +36 -46
  243. package/dist/views/Edit/metadata.js.map +1 -1
  244. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +130 -164
  245. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  246. package/dist/views/ForgotPassword/index.js +79 -62
  247. package/dist/views/ForgotPassword/index.js.map +1 -1
  248. package/dist/views/ForgotPassword/metadata.js +8 -12
  249. package/dist/views/ForgotPassword/metadata.js.map +1 -1
  250. package/dist/views/List/createSerializableValue.js +12 -11
  251. package/dist/views/List/createSerializableValue.js.map +1 -1
  252. package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
  253. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  254. package/dist/views/List/extractRelationshipDisplayValue.js +15 -14
  255. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
  256. package/dist/views/List/extractValueOrRelationshipID.js +16 -15
  257. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
  258. package/dist/views/List/handleGroupBy.js +133 -150
  259. package/dist/views/List/handleGroupBy.js.map +1 -1
  260. package/dist/views/List/handleServerFunction.js +98 -121
  261. package/dist/views/List/handleServerFunction.js.map +1 -1
  262. package/dist/views/List/index.js +305 -323
  263. package/dist/views/List/index.js.map +1 -1
  264. package/dist/views/List/metadata.js +17 -20
  265. package/dist/views/List/metadata.js.map +1 -1
  266. package/dist/views/List/renderListViewSlots.js +82 -75
  267. package/dist/views/List/renderListViewSlots.js.map +1 -1
  268. package/dist/views/List/resolveAllFilterOptions.js +43 -45
  269. package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
  270. package/dist/views/List/transformColumnsToSelect.js +9 -8
  271. package/dist/views/List/transformColumnsToSelect.js.map +1 -1
  272. package/dist/views/Login/LoginField/index.js +57 -89
  273. package/dist/views/Login/LoginField/index.js.map +1 -1
  274. package/dist/views/Login/LoginForm/index.js +107 -160
  275. package/dist/views/Login/LoginForm/index.js.map +1 -1
  276. package/dist/views/Login/LoginForm/index.scss +10 -0
  277. package/dist/views/Login/index.js +82 -85
  278. package/dist/views/Login/index.js.map +1 -1
  279. package/dist/views/Login/index.scss +10 -0
  280. package/dist/views/Login/metadata.js +8 -12
  281. package/dist/views/Login/metadata.js.map +1 -1
  282. package/dist/views/Logout/LogoutClient.js +84 -120
  283. package/dist/views/Logout/LogoutClient.js.map +1 -1
  284. package/dist/views/Logout/index.js +29 -29
  285. package/dist/views/Logout/index.js.map +1 -1
  286. package/dist/views/Logout/index.scss +25 -0
  287. package/dist/views/Logout/metadata.js +7 -11
  288. package/dist/views/Logout/metadata.js.map +1 -1
  289. package/dist/views/NotFound/index.client.js +71 -82
  290. package/dist/views/NotFound/index.client.js.map +1 -1
  291. package/dist/views/NotFound/index.js +72 -73
  292. package/dist/views/NotFound/index.js.map +1 -1
  293. package/dist/views/NotFound/index.scss +57 -0
  294. package/dist/views/NotFound/metadata.js +7 -9
  295. package/dist/views/NotFound/metadata.js.map +1 -1
  296. package/dist/views/ResetPassword/ResetPasswordForm/index.js +97 -108
  297. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  298. package/dist/views/ResetPassword/index.js +93 -73
  299. package/dist/views/ResetPassword/index.js.map +1 -1
  300. package/dist/views/ResetPassword/index.scss +11 -0
  301. package/dist/views/ResetPassword/metadata.js +8 -12
  302. package/dist/views/ResetPassword/metadata.js.map +1 -1
  303. package/dist/views/Root/attachViewActions.js +18 -23
  304. package/dist/views/Root/attachViewActions.js.map +1 -1
  305. package/dist/views/Root/generateCustomViewMetadata.js +19 -21
  306. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
  307. package/dist/views/Root/getCustomViewByKey.js +12 -14
  308. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  309. package/dist/views/Root/getCustomViewByRoute.js +31 -42
  310. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  311. package/dist/views/Root/getDocumentViewInfo.js +24 -23
  312. package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
  313. package/dist/views/Root/getRouteData.js +333 -325
  314. package/dist/views/Root/getRouteData.js.map +1 -1
  315. package/dist/views/Root/index.js +248 -270
  316. package/dist/views/Root/index.js.map +1 -1
  317. package/dist/views/Root/isPathMatchingRoute.js +21 -26
  318. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  319. package/dist/views/Root/metadata.js +176 -181
  320. package/dist/views/Root/metadata.js.map +1 -1
  321. package/dist/views/Unauthorized/index.js +54 -46
  322. package/dist/views/Unauthorized/index.js.map +1 -1
  323. package/dist/views/Unauthorized/index.scss +14 -0
  324. package/dist/views/Unauthorized/metadata.js +8 -12
  325. package/dist/views/Unauthorized/metadata.js.map +1 -1
  326. package/dist/views/Verify/index.client.js +25 -43
  327. package/dist/views/Verify/index.client.js.map +1 -1
  328. package/dist/views/Verify/index.js +69 -64
  329. package/dist/views/Verify/index.js.map +1 -1
  330. package/dist/views/Verify/index.scss +16 -0
  331. package/dist/views/Verify/metadata.js +8 -12
  332. package/dist/views/Verify/metadata.js.map +1 -1
  333. package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
  334. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  335. package/dist/views/Version/Default/SetStepNav.js +86 -127
  336. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  337. package/dist/views/Version/Default/index.js +380 -236
  338. package/dist/views/Version/Default/index.js.map +1 -1
  339. package/dist/views/Version/Default/index.scss +170 -0
  340. package/dist/views/Version/Default/types.js +2 -1
  341. package/dist/views/Version/Default/types.js.map +1 -1
  342. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +102 -119
  343. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  344. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +81 -0
  345. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +78 -73
  346. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  347. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +363 -408
  348. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  349. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +40 -51
  350. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  351. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +35 -67
  352. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  353. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +12 -0
  354. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +59 -56
  355. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  356. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +9 -0
  357. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +139 -117
  358. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  359. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +59 -0
  360. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +36 -41
  361. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  362. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +192 -178
  363. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  364. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +91 -0
  365. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -11
  366. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  367. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +48 -73
  368. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  369. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +4 -0
  370. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +132 -143
  371. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  372. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +9 -0
  373. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +56 -81
  374. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  375. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +4 -0
  376. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +252 -210
  377. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  378. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.scss +121 -0
  379. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +23 -22
  380. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  381. package/dist/views/Version/RenderFieldsToDiff/index.js +12 -9
  382. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  383. package/dist/views/Version/RenderFieldsToDiff/index.scss +24 -0
  384. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +213 -228
  385. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  386. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +1005 -826
  387. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  388. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +2 -1
  389. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
  390. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +44 -43
  391. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
  392. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js +25 -22
  393. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js.map +1 -1
  394. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +32 -36
  395. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  396. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +145 -129
  397. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  398. package/dist/views/Version/Restore/index.js +117 -93
  399. package/dist/views/Version/Restore/index.js.map +1 -1
  400. package/dist/views/Version/Restore/index.scss +84 -0
  401. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +33 -50
  402. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  403. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +170 -226
  404. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  405. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +18 -0
  406. package/dist/views/Version/SelectComparison/index.js +73 -50
  407. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  408. package/dist/views/Version/SelectComparison/index.scss +9 -0
  409. package/dist/views/Version/SelectComparison/types.js +2 -1
  410. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  411. package/dist/views/Version/SelectLocales/index.js +34 -32
  412. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  413. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +104 -95
  414. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  415. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +23 -27
  416. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
  417. package/dist/views/Version/VersionPillLabel/index.scss +26 -0
  418. package/dist/views/Version/fetchVersions.js +113 -138
  419. package/dist/views/Version/fetchVersions.js.map +1 -1
  420. package/dist/views/Version/index.js +325 -323
  421. package/dist/views/Version/index.js.map +1 -1
  422. package/dist/views/Version/metadata.js +43 -50
  423. package/dist/views/Version/metadata.js.map +1 -1
  424. package/dist/views/Versions/buildColumns.js +95 -79
  425. package/dist/views/Versions/buildColumns.js.map +1 -1
  426. package/dist/views/Versions/cells/AutosaveCell/index.js +34 -38
  427. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  428. package/dist/views/Versions/cells/AutosaveCell/index.scss +9 -0
  429. package/dist/views/Versions/cells/CreatedAt/index.js +32 -53
  430. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  431. package/dist/views/Versions/cells/ID/index.js +10 -8
  432. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  433. package/dist/views/Versions/index.client.js +106 -83
  434. package/dist/views/Versions/index.client.js.map +1 -1
  435. package/dist/views/Versions/index.js +143 -143
  436. package/dist/views/Versions/index.js.map +1 -1
  437. package/dist/views/Versions/index.scss +110 -0
  438. package/dist/views/Versions/metadata.js +37 -44
  439. package/dist/views/Versions/metadata.js.map +1 -1
  440. package/dist/views/Versions/types.js +2 -1
  441. package/dist/views/Versions/types.js.map +1 -1
  442. package/dist/withPayload/withPayload.js +198 -143
  443. package/dist/withPayload/withPayload.js.map +1 -1
  444. package/dist/withPayload/withPayload.utils.js +92 -95
  445. package/dist/withPayload/withPayload.utils.js.map +1 -1
  446. package/dist/withPayload/withPayloadLegacy.js +42 -40
  447. package/dist/withPayload/withPayloadLegacy.js.map +1 -1
  448. package/package.json +7 -7
@@ -1,221 +1,263 @@
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 { getTranslation } from '@payloadcms/translations';
3
3
  import { FieldDiffContainer, File, getHTMLDiffComponents } from '@payloadcms/ui/rsc';
4
+ import './index.scss';
4
5
  import React from 'react';
5
6
  const baseClass = 'upload-diff';
6
- export const Upload = args => {
7
- const {
8
- comparisonValue: valueFrom,
9
- field,
10
- i18n,
11
- locale,
12
- nestingLevel,
13
- req,
14
- versionValue: valueTo
15
- } = args;
16
- const hasMany = 'hasMany' in field && field.hasMany && Array.isArray(valueTo);
17
- const polymorphic = Array.isArray(field.relationTo);
18
- if (hasMany) {
19
- return /*#__PURE__*/_jsx(HasManyUploadDiff, {
20
- field: field,
21
- i18n: i18n,
22
- locale: locale,
23
- nestingLevel: nestingLevel,
24
- polymorphic: polymorphic,
25
- req: req,
26
- valueFrom: valueFrom,
27
- valueTo: valueTo
28
- });
29
- }
30
- return /*#__PURE__*/_jsx(SingleUploadDiff, {
31
- field: field,
32
- i18n: i18n,
33
- locale: locale,
34
- nestingLevel: nestingLevel,
35
- polymorphic: polymorphic,
36
- req: req,
37
- valueFrom: valueFrom,
38
- valueTo: valueTo
39
- });
40
- };
41
- export const HasManyUploadDiff = async args => {
42
- const {
43
- field,
44
- i18n,
45
- locale,
46
- nestingLevel,
47
- polymorphic,
48
- req,
49
- valueFrom,
50
- valueTo
51
- } = args;
52
- const ReactDOMServer = (await import('react-dom/server')).default;
53
- let From = '';
54
- let To = '';
55
- const showCollectionSlug = Array.isArray(field.relationTo);
56
- const getUploadDocKey = uploadDoc => {
57
- if (typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {
58
- // Polymorphic case
59
- const value = uploadDoc.value;
60
- return typeof value === 'object' ? value.id : value;
7
+ export const Upload = (args)=>{
8
+ const { comparisonValue: valueFrom, field, i18n, locale, nestingLevel, req, versionValue: valueTo } = args;
9
+ const hasMany = 'hasMany' in field && field.hasMany && Array.isArray(valueTo);
10
+ const polymorphic = Array.isArray(field.relationTo);
11
+ if (hasMany) {
12
+ return /*#__PURE__*/ _jsxDEV(HasManyUploadDiff, {
13
+ field: field,
14
+ i18n: i18n,
15
+ locale: locale,
16
+ nestingLevel: nestingLevel,
17
+ polymorphic: polymorphic,
18
+ req: req,
19
+ valueFrom: valueFrom,
20
+ valueTo: valueTo
21
+ }, void 0, false, {
22
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx",
23
+ lineNumber: 38,
24
+ columnNumber: 7
25
+ }, this);
61
26
  }
62
- // Non-polymorphic case
63
- return typeof uploadDoc === 'object' ? uploadDoc.id : uploadDoc;
64
- };
65
- const FromComponents = valueFrom ? valueFrom.map(uploadDoc => /*#__PURE__*/_jsx(UploadDocumentDiff, {
66
- i18n: i18n,
67
- polymorphic: polymorphic,
68
- relationTo: field.relationTo,
69
- req: req,
70
- showCollectionSlug: showCollectionSlug,
71
- uploadDoc: uploadDoc
72
- }, getUploadDocKey(uploadDoc))) : null;
73
- const ToComponents = valueTo ? valueTo.map(uploadDoc => /*#__PURE__*/_jsx(UploadDocumentDiff, {
74
- i18n: i18n,
75
- polymorphic: polymorphic,
76
- relationTo: field.relationTo,
77
- req: req,
78
- showCollectionSlug: showCollectionSlug,
79
- uploadDoc: uploadDoc
80
- }, getUploadDocKey(uploadDoc))) : null;
81
- const diffResult = getHTMLDiffComponents({
82
- fromHTML: `<div class="${baseClass}-hasMany">` + (FromComponents ? FromComponents.map(component => `<div>${ReactDOMServer.renderToStaticMarkup(component)}</div>`).join('') : '') + '</div>',
83
- toHTML: `<div class="${baseClass}-hasMany">` + (ToComponents ? ToComponents.map(component => `<div>${ReactDOMServer.renderToStaticMarkup(component)}</div>`).join('') : '') + '</div>',
84
- tokenizeByCharacter: false
85
- });
86
- From = diffResult.From;
87
- To = diffResult.To;
88
- return /*#__PURE__*/_jsx(FieldDiffContainer, {
89
- className: `${baseClass}-container ${baseClass}-container--hasMany`,
90
- From: From,
91
- i18n: i18n,
92
- label: {
93
- label: field.label,
94
- locale
95
- },
96
- nestingLevel: nestingLevel,
97
- To: To
98
- });
27
+ return /*#__PURE__*/ _jsxDEV(SingleUploadDiff, {
28
+ field: field,
29
+ i18n: i18n,
30
+ locale: locale,
31
+ nestingLevel: nestingLevel,
32
+ polymorphic: polymorphic,
33
+ req: req,
34
+ valueFrom: valueFrom,
35
+ valueTo: valueTo
36
+ }, void 0, false, {
37
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx",
38
+ lineNumber: 52,
39
+ columnNumber: 5
40
+ }, this);
99
41
  };
100
- export const SingleUploadDiff = async args => {
101
- const {
102
- field,
103
- i18n,
104
- locale,
105
- nestingLevel,
106
- polymorphic,
107
- req,
108
- valueFrom,
109
- valueTo
110
- } = args;
111
- const ReactDOMServer = (await import('react-dom/server')).default;
112
- let From = '';
113
- let To = '';
114
- const showCollectionSlug = Array.isArray(field.relationTo);
115
- const FromComponent = valueFrom ? /*#__PURE__*/_jsx(UploadDocumentDiff, {
116
- i18n: i18n,
117
- polymorphic: polymorphic,
118
- relationTo: field.relationTo,
119
- req: req,
120
- showCollectionSlug: showCollectionSlug,
121
- uploadDoc: valueFrom
122
- }) : null;
123
- const ToComponent = valueTo ? /*#__PURE__*/_jsx(UploadDocumentDiff, {
124
- i18n: i18n,
125
- polymorphic: polymorphic,
126
- relationTo: field.relationTo,
127
- req: req,
128
- showCollectionSlug: showCollectionSlug,
129
- uploadDoc: valueTo
130
- }) : null;
131
- const fromHtml = FromComponent ? ReactDOMServer.renderToStaticMarkup(FromComponent) : '<p>' + '' + '</p>';
132
- const toHtml = ToComponent ? ReactDOMServer.renderToStaticMarkup(ToComponent) : '<p>' + '' + '</p>';
133
- const diffResult = getHTMLDiffComponents({
134
- fromHTML: fromHtml,
135
- toHTML: toHtml,
136
- tokenizeByCharacter: false
137
- });
138
- From = diffResult.From;
139
- To = diffResult.To;
140
- return /*#__PURE__*/_jsx(FieldDiffContainer, {
141
- className: `${baseClass}-container ${baseClass}-container--hasOne`,
142
- From: From,
143
- i18n: i18n,
144
- label: {
145
- label: field.label,
146
- locale
147
- },
148
- nestingLevel: nestingLevel,
149
- To: To
150
- });
42
+ export const HasManyUploadDiff = async (args)=>{
43
+ const { field, i18n, locale, nestingLevel, polymorphic, req, valueFrom, valueTo } = args;
44
+ const ReactDOMServer = (await import('react-dom/server')).default;
45
+ let From = '';
46
+ let To = '';
47
+ const showCollectionSlug = Array.isArray(field.relationTo);
48
+ const getUploadDocKey = (uploadDoc)=>{
49
+ if (typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {
50
+ // Polymorphic case
51
+ const value = uploadDoc.value;
52
+ return typeof value === 'object' ? value.id : value;
53
+ }
54
+ // Non-polymorphic case
55
+ return typeof uploadDoc === 'object' ? uploadDoc.id : uploadDoc;
56
+ };
57
+ const FromComponents = valueFrom ? valueFrom.map((uploadDoc)=>/*#__PURE__*/ _jsxDEV(UploadDocumentDiff, {
58
+ i18n: i18n,
59
+ polymorphic: polymorphic,
60
+ relationTo: field.relationTo,
61
+ req: req,
62
+ showCollectionSlug: showCollectionSlug,
63
+ uploadDoc: uploadDoc
64
+ }, getUploadDocKey(uploadDoc), false, {
65
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx",
66
+ lineNumber: 95,
67
+ columnNumber: 9
68
+ }, this)) : null;
69
+ const ToComponents = valueTo ? valueTo.map((uploadDoc)=>/*#__PURE__*/ _jsxDEV(UploadDocumentDiff, {
70
+ i18n: i18n,
71
+ polymorphic: polymorphic,
72
+ relationTo: field.relationTo,
73
+ req: req,
74
+ showCollectionSlug: showCollectionSlug,
75
+ uploadDoc: uploadDoc
76
+ }, getUploadDocKey(uploadDoc), false, {
77
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx",
78
+ lineNumber: 108,
79
+ columnNumber: 9
80
+ }, this)) : null;
81
+ const diffResult = getHTMLDiffComponents({
82
+ fromHTML: `<div class="${baseClass}-hasMany">` + (FromComponents ? FromComponents.map((component)=>`<div>${ReactDOMServer.renderToStaticMarkup(component)}</div>`).join('') : '') + '</div>',
83
+ toHTML: `<div class="${baseClass}-hasMany">` + (ToComponents ? ToComponents.map((component)=>`<div>${ReactDOMServer.renderToStaticMarkup(component)}</div>`).join('') : '') + '</div>',
84
+ tokenizeByCharacter: false
85
+ });
86
+ From = diffResult.From;
87
+ To = diffResult.To;
88
+ return /*#__PURE__*/ _jsxDEV(FieldDiffContainer, {
89
+ className: `${baseClass}-container ${baseClass}-container--hasMany`,
90
+ From: From,
91
+ i18n: i18n,
92
+ label: {
93
+ label: field.label,
94
+ locale
95
+ },
96
+ nestingLevel: nestingLevel,
97
+ To: To
98
+ }, void 0, false, {
99
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx",
100
+ lineNumber: 143,
101
+ columnNumber: 5
102
+ }, this);
151
103
  };
152
- const UploadDocumentDiff = args => {
153
- const {
154
- i18n,
155
- polymorphic,
156
- relationTo,
157
- req,
158
- showCollectionSlug,
159
- uploadDoc
160
- } = args;
161
- let thumbnailSRC = '';
162
- const value = polymorphic ? uploadDoc.value : uploadDoc;
163
- if (value && typeof value === 'object' && 'thumbnailURL' in value) {
164
- thumbnailSRC = typeof value.thumbnailURL === 'string' && value.thumbnailURL || typeof value.url === 'string' && value.url || '';
165
- }
166
- let filename;
167
- if (value && typeof value === 'object') {
168
- filename = value.filename;
169
- } else {
170
- filename = `${i18n.t('general:untitled')} - ID: ${uploadDoc}`;
171
- }
172
- let pillLabel = null;
173
- if (showCollectionSlug) {
174
- let collectionSlug;
175
- if (polymorphic && typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {
176
- collectionSlug = uploadDoc.relationTo;
104
+ export const SingleUploadDiff = async (args)=>{
105
+ const { field, i18n, locale, nestingLevel, polymorphic, req, valueFrom, valueTo } = args;
106
+ const ReactDOMServer = (await import('react-dom/server')).default;
107
+ let From = '';
108
+ let To = '';
109
+ const showCollectionSlug = Array.isArray(field.relationTo);
110
+ const FromComponent = valueFrom ? /*#__PURE__*/ _jsxDEV(UploadDocumentDiff, {
111
+ i18n: i18n,
112
+ polymorphic: polymorphic,
113
+ relationTo: field.relationTo,
114
+ req: req,
115
+ showCollectionSlug: showCollectionSlug,
116
+ uploadDoc: valueFrom
117
+ }, void 0, false, {
118
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx",
119
+ lineNumber: 177,
120
+ columnNumber: 5
121
+ }, this) : null;
122
+ const ToComponent = valueTo ? /*#__PURE__*/ _jsxDEV(UploadDocumentDiff, {
123
+ i18n: i18n,
124
+ polymorphic: polymorphic,
125
+ relationTo: field.relationTo,
126
+ req: req,
127
+ showCollectionSlug: showCollectionSlug,
128
+ uploadDoc: valueTo
129
+ }, void 0, false, {
130
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx",
131
+ lineNumber: 187,
132
+ columnNumber: 5
133
+ }, this) : null;
134
+ const fromHtml = FromComponent ? ReactDOMServer.renderToStaticMarkup(FromComponent) : '<p>' + '' + '</p>';
135
+ const toHtml = ToComponent ? ReactDOMServer.renderToStaticMarkup(ToComponent) : '<p>' + '' + '</p>';
136
+ const diffResult = getHTMLDiffComponents({
137
+ fromHTML: fromHtml,
138
+ toHTML: toHtml,
139
+ tokenizeByCharacter: false
140
+ });
141
+ From = diffResult.From;
142
+ To = diffResult.To;
143
+ return /*#__PURE__*/ _jsxDEV(FieldDiffContainer, {
144
+ className: `${baseClass}-container ${baseClass}-container--hasOne`,
145
+ From: From,
146
+ i18n: i18n,
147
+ label: {
148
+ label: field.label,
149
+ locale
150
+ },
151
+ nestingLevel: nestingLevel,
152
+ To: To
153
+ }, void 0, false, {
154
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx",
155
+ lineNumber: 213,
156
+ columnNumber: 5
157
+ }, this);
158
+ };
159
+ const UploadDocumentDiff = (args)=>{
160
+ const { i18n, polymorphic, relationTo, req, showCollectionSlug, uploadDoc } = args;
161
+ let thumbnailSRC = '';
162
+ const value = polymorphic ? uploadDoc.value : uploadDoc;
163
+ if (value && typeof value === 'object' && 'thumbnailURL' in value) {
164
+ thumbnailSRC = typeof value.thumbnailURL === 'string' && value.thumbnailURL || typeof value.url === 'string' && value.url || '';
165
+ }
166
+ let filename;
167
+ if (value && typeof value === 'object') {
168
+ filename = value.filename;
177
169
  } else {
178
- collectionSlug = typeof relationTo === 'string' ? relationTo : relationTo[0];
170
+ filename = `${i18n.t('general:untitled')} - ID: ${uploadDoc}`;
171
+ }
172
+ let pillLabel = null;
173
+ if (showCollectionSlug) {
174
+ let collectionSlug;
175
+ if (polymorphic && typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {
176
+ collectionSlug = uploadDoc.relationTo;
177
+ } else {
178
+ collectionSlug = typeof relationTo === 'string' ? relationTo : relationTo[0];
179
+ }
180
+ const uploadConfig = req.payload.collections[collectionSlug].config;
181
+ pillLabel = uploadConfig.labels?.singular ? getTranslation(uploadConfig.labels.singular, i18n) : uploadConfig.slug;
182
+ }
183
+ let id;
184
+ if (polymorphic && typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {
185
+ const polyValue = uploadDoc.value;
186
+ id = typeof polyValue === 'object' ? polyValue.id : polyValue;
187
+ } else if (typeof uploadDoc === 'object' && 'id' in uploadDoc) {
188
+ id = uploadDoc.id;
189
+ } else if (typeof uploadDoc === 'string' || typeof uploadDoc === 'number') {
190
+ id = uploadDoc;
179
191
  }
180
- const uploadConfig = req.payload.collections[collectionSlug].config;
181
- pillLabel = uploadConfig.labels?.singular ? getTranslation(uploadConfig.labels.singular, i18n) : uploadConfig.slug;
182
- }
183
- let id;
184
- if (polymorphic && typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {
185
- const polyValue = uploadDoc.value;
186
- id = typeof polyValue === 'object' ? polyValue.id : polyValue;
187
- } else if (typeof uploadDoc === 'object' && 'id' in uploadDoc) {
188
- id = uploadDoc.id;
189
- } else if (typeof uploadDoc === 'string' || typeof uploadDoc === 'number') {
190
- id = uploadDoc;
191
- }
192
- return /*#__PURE__*/_jsx("div", {
193
- className: `${baseClass}`,
194
- "data-enable-match": "true",
195
- "data-id": id,
196
- "data-relation-to": relationTo,
197
- children: /*#__PURE__*/_jsxs("div", {
198
- className: `${baseClass}__card`,
199
- children: [/*#__PURE__*/_jsx("div", {
200
- className: `${baseClass}__thumbnail`,
201
- children: thumbnailSRC?.length ? /*#__PURE__*/_jsx("img", {
202
- alt: filename,
203
- src: thumbnailSRC
204
- }) : /*#__PURE__*/_jsx(File, {})
205
- }), pillLabel && /*#__PURE__*/_jsx("div", {
206
- className: `${baseClass}__pill`,
207
- "data-enable-match": "false",
208
- children: /*#__PURE__*/_jsx("span", {
209
- children: pillLabel
210
- })
211
- }), /*#__PURE__*/_jsx("div", {
212
- className: `${baseClass}__info`,
213
- "data-enable-match": "false",
214
- children: /*#__PURE__*/_jsx("strong", {
215
- children: filename
216
- })
217
- })]
218
- })
219
- });
192
+ const alt = value && typeof value === 'object' && value.alt || filename || '';
193
+ return /*#__PURE__*/ _jsxDEV("div", {
194
+ className: `${baseClass}`,
195
+ "data-enable-match": "true",
196
+ "data-id": id,
197
+ "data-relation-to": relationTo,
198
+ children: /*#__PURE__*/ _jsxDEV("div", {
199
+ className: `${baseClass}__card`,
200
+ children: [
201
+ /*#__PURE__*/ _jsxDEV("div", {
202
+ className: `${baseClass}__thumbnail`,
203
+ children: thumbnailSRC?.length ? /*#__PURE__*/ _jsxDEV("img", {
204
+ alt: alt,
205
+ src: thumbnailSRC
206
+ }, void 0, false, {
207
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx",
208
+ lineNumber: 294,
209
+ columnNumber: 35
210
+ }, this) : /*#__PURE__*/ _jsxDEV(File, {}, void 0, false, {
211
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx",
212
+ lineNumber: 294,
213
+ columnNumber: 74
214
+ }, this)
215
+ }, void 0, false, {
216
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx",
217
+ lineNumber: 293,
218
+ columnNumber: 9
219
+ }, this),
220
+ pillLabel && /*#__PURE__*/ _jsxDEV("div", {
221
+ className: `${baseClass}__pill`,
222
+ "data-enable-match": "false",
223
+ children: /*#__PURE__*/ _jsxDEV("span", {
224
+ children: pillLabel
225
+ }, void 0, false, {
226
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx",
227
+ lineNumber: 298,
228
+ columnNumber: 13
229
+ }, this)
230
+ }, void 0, false, {
231
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx",
232
+ lineNumber: 297,
233
+ columnNumber: 11
234
+ }, this),
235
+ /*#__PURE__*/ _jsxDEV("div", {
236
+ className: `${baseClass}__info`,
237
+ "data-enable-match": "false",
238
+ children: /*#__PURE__*/ _jsxDEV("strong", {
239
+ children: filename
240
+ }, void 0, false, {
241
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx",
242
+ lineNumber: 302,
243
+ columnNumber: 11
244
+ }, this)
245
+ }, void 0, false, {
246
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx",
247
+ lineNumber: 301,
248
+ columnNumber: 9
249
+ }, this)
250
+ ]
251
+ }, void 0, true, {
252
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx",
253
+ lineNumber: 292,
254
+ columnNumber: 7
255
+ }, this)
256
+ }, void 0, false, {
257
+ fileName: "src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx",
258
+ lineNumber: 286,
259
+ columnNumber: 5
260
+ }, this);
220
261
  };
262
+
221
263
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","FieldDiffContainer","File","getHTMLDiffComponents","React","baseClass","Upload","args","comparisonValue","valueFrom","field","i18n","locale","nestingLevel","req","versionValue","valueTo","hasMany","Array","isArray","polymorphic","relationTo","_jsx","HasManyUploadDiff","SingleUploadDiff","ReactDOMServer","default","From","To","showCollectionSlug","getUploadDocKey","uploadDoc","value","id","FromComponents","map","UploadDocumentDiff","ToComponents","diffResult","fromHTML","component","renderToStaticMarkup","join","toHTML","tokenizeByCharacter","className","label","FromComponent","ToComponent","fromHtml","toHtml","thumbnailSRC","thumbnailURL","url","filename","t","pillLabel","collectionSlug","uploadConfig","payload","collections","config","labels","singular","slug","polyValue","_jsxs","length","alt","src"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx"],"sourcesContent":["import type {\n FileData,\n PayloadRequest,\n TypeWithID,\n UploadField,\n UploadFieldDiffServerComponent,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport { FieldDiffContainer, File, getHTMLDiffComponents } from '@payloadcms/ui/rsc'\n\nimport './index.scss'\n\nimport React from 'react'\n\nconst baseClass = 'upload-diff'\n\ntype NonPolyUploadDoc = (FileData & TypeWithID) | number | string\ntype PolyUploadDoc = { relationTo: string; value: (FileData & TypeWithID) | number | string }\n\ntype UploadDoc = NonPolyUploadDoc | PolyUploadDoc\n\nexport const Upload: UploadFieldDiffServerComponent = (args) => {\n const {\n comparisonValue: valueFrom,\n field,\n i18n,\n locale,\n nestingLevel,\n req,\n versionValue: valueTo,\n } = args\n const hasMany = 'hasMany' in field && field.hasMany && Array.isArray(valueTo)\n const polymorphic = Array.isArray(field.relationTo)\n\n if (hasMany) {\n return (\n <HasManyUploadDiff\n field={field}\n i18n={i18n}\n locale={locale}\n nestingLevel={nestingLevel}\n polymorphic={polymorphic}\n req={req}\n valueFrom={valueFrom as UploadDoc[]}\n valueTo={valueTo as UploadDoc[]}\n />\n )\n }\n\n return (\n <SingleUploadDiff\n field={field}\n i18n={i18n}\n locale={locale}\n nestingLevel={nestingLevel}\n polymorphic={polymorphic}\n req={req}\n valueFrom={valueFrom as UploadDoc}\n valueTo={valueTo as UploadDoc}\n />\n )\n}\n\nexport const HasManyUploadDiff: React.FC<{\n field: UploadField\n i18n: I18nClient\n locale: string\n nestingLevel?: number\n polymorphic: boolean\n req: PayloadRequest\n valueFrom: Array<UploadDoc>\n valueTo: Array<UploadDoc>\n}> = async (args) => {\n const { field, i18n, locale, nestingLevel, polymorphic, req, valueFrom, valueTo } = args\n const ReactDOMServer = (await import('react-dom/server')).default\n\n let From: React.ReactNode = ''\n let To: React.ReactNode = ''\n\n const showCollectionSlug = Array.isArray(field.relationTo)\n\n const getUploadDocKey = (uploadDoc: UploadDoc): number | string => {\n if (typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {\n // Polymorphic case\n const value = uploadDoc.value\n return typeof value === 'object' ? value.id : value\n }\n // Non-polymorphic case\n return typeof uploadDoc === 'object' ? uploadDoc.id : uploadDoc\n }\n\n const FromComponents = valueFrom\n ? valueFrom.map((uploadDoc) => (\n <UploadDocumentDiff\n i18n={i18n}\n key={getUploadDocKey(uploadDoc)}\n polymorphic={polymorphic}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={uploadDoc}\n />\n ))\n : null\n const ToComponents = valueTo\n ? valueTo.map((uploadDoc) => (\n <UploadDocumentDiff\n i18n={i18n}\n key={getUploadDocKey(uploadDoc)}\n polymorphic={polymorphic}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={uploadDoc}\n />\n ))\n : null\n\n const diffResult = getHTMLDiffComponents({\n fromHTML:\n `<div class=\"${baseClass}-hasMany\">` +\n (FromComponents\n ? FromComponents.map(\n (component) => `<div>${ReactDOMServer.renderToStaticMarkup(component)}</div>`,\n ).join('')\n : '') +\n '</div>',\n toHTML:\n `<div class=\"${baseClass}-hasMany\">` +\n (ToComponents\n ? ToComponents.map(\n (component) => `<div>${ReactDOMServer.renderToStaticMarkup(component)}</div>`,\n ).join('')\n : '') +\n '</div>',\n tokenizeByCharacter: false,\n })\n From = diffResult.From\n To = diffResult.To\n\n return (\n <FieldDiffContainer\n className={`${baseClass}-container ${baseClass}-container--hasMany`}\n From={From}\n i18n={i18n}\n label={{\n label: field.label,\n locale,\n }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n\nexport const SingleUploadDiff: React.FC<{\n field: UploadField\n i18n: I18nClient\n locale: string\n nestingLevel?: number\n polymorphic: boolean\n req: PayloadRequest\n valueFrom: UploadDoc\n valueTo: UploadDoc\n}> = async (args) => {\n const { field, i18n, locale, nestingLevel, polymorphic, req, valueFrom, valueTo } = args\n\n const ReactDOMServer = (await import('react-dom/server')).default\n\n let From: React.ReactNode = ''\n let To: React.ReactNode = ''\n\n const showCollectionSlug = Array.isArray(field.relationTo)\n\n const FromComponent = valueFrom ? (\n <UploadDocumentDiff\n i18n={i18n}\n polymorphic={polymorphic}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={valueFrom}\n />\n ) : null\n const ToComponent = valueTo ? (\n <UploadDocumentDiff\n i18n={i18n}\n polymorphic={polymorphic}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={valueTo}\n />\n ) : null\n\n const fromHtml = FromComponent\n ? ReactDOMServer.renderToStaticMarkup(FromComponent)\n : '<p>' + '' + '</p>'\n const toHtml = ToComponent\n ? ReactDOMServer.renderToStaticMarkup(ToComponent)\n : '<p>' + '' + '</p>'\n\n const diffResult = getHTMLDiffComponents({\n fromHTML: fromHtml,\n toHTML: toHtml,\n tokenizeByCharacter: false,\n })\n From = diffResult.From\n To = diffResult.To\n\n return (\n <FieldDiffContainer\n className={`${baseClass}-container ${baseClass}-container--hasOne`}\n From={From}\n i18n={i18n}\n label={{\n label: field.label,\n locale,\n }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n\nconst UploadDocumentDiff = (args: {\n i18n: I18nClient\n polymorphic: boolean\n relationTo: string | string[]\n req: PayloadRequest\n showCollectionSlug?: boolean\n uploadDoc: UploadDoc\n}) => {\n const { i18n, polymorphic, relationTo, req, showCollectionSlug, uploadDoc } = args\n\n let thumbnailSRC: string = ''\n\n const value = polymorphic\n ? (uploadDoc as { relationTo: string; value: FileData & TypeWithID }).value\n : (uploadDoc as FileData & TypeWithID)\n\n if (value && typeof value === 'object' && 'thumbnailURL' in value) {\n thumbnailSRC =\n (typeof value.thumbnailURL === 'string' && value.thumbnailURL) ||\n (typeof value.url === 'string' && value.url) ||\n ''\n }\n\n let filename: string\n if (value && typeof value === 'object') {\n filename = value.filename\n } else {\n filename = `${i18n.t('general:untitled')} - ID: ${uploadDoc as number | string}`\n }\n\n let pillLabel: null | string = null\n\n if (showCollectionSlug) {\n let collectionSlug: string\n if (polymorphic && typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {\n collectionSlug = uploadDoc.relationTo\n } else {\n collectionSlug = typeof relationTo === 'string' ? relationTo : relationTo[0]\n }\n const uploadConfig = req.payload.collections[collectionSlug].config\n pillLabel = uploadConfig.labels?.singular\n ? getTranslation(uploadConfig.labels.singular, i18n)\n : uploadConfig.slug\n }\n\n let id: number | string | undefined\n if (polymorphic && typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {\n const polyValue = uploadDoc.value\n id = typeof polyValue === 'object' ? polyValue.id : polyValue\n } else if (typeof uploadDoc === 'object' && 'id' in uploadDoc) {\n id = uploadDoc.id\n } else if (typeof uploadDoc === 'string' || typeof uploadDoc === 'number') {\n id = uploadDoc\n }\n\n return (\n <div\n className={`${baseClass}`}\n data-enable-match=\"true\"\n data-id={id}\n data-relation-to={relationTo}\n >\n <div className={`${baseClass}__card`}>\n <div className={`${baseClass}__thumbnail`}>\n {thumbnailSRC?.length ? <img alt={filename} src={thumbnailSRC} /> : <File />}\n </div>\n {pillLabel && (\n <div className={`${baseClass}__pill`} data-enable-match=\"false\">\n <span>{pillLabel}</span>\n </div>\n )}\n <div className={`${baseClass}__info`} data-enable-match=\"false\">\n <strong>{filename}</strong>\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx"],"sourcesContent":["import type {\n FileData,\n PayloadRequest,\n TypeWithID,\n UploadField,\n UploadFieldDiffServerComponent,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport { FieldDiffContainer, File, getHTMLDiffComponents } from '@payloadcms/ui/rsc'\n\nimport './index.scss'\n\nimport React from 'react'\n\nconst baseClass = 'upload-diff'\n\ntype NonPolyUploadDoc = (FileData & TypeWithID) | number | string\ntype PolyUploadDoc = { relationTo: string; value: (FileData & TypeWithID) | number | string }\n\ntype UploadDoc = NonPolyUploadDoc | PolyUploadDoc\n\nexport const Upload: UploadFieldDiffServerComponent = (args) => {\n const {\n comparisonValue: valueFrom,\n field,\n i18n,\n locale,\n nestingLevel,\n req,\n versionValue: valueTo,\n } = args\n const hasMany = 'hasMany' in field && field.hasMany && Array.isArray(valueTo)\n const polymorphic = Array.isArray(field.relationTo)\n\n if (hasMany) {\n return (\n <HasManyUploadDiff\n field={field}\n i18n={i18n}\n locale={locale}\n nestingLevel={nestingLevel}\n polymorphic={polymorphic}\n req={req}\n valueFrom={valueFrom as UploadDoc[]}\n valueTo={valueTo as UploadDoc[]}\n />\n )\n }\n\n return (\n <SingleUploadDiff\n field={field}\n i18n={i18n}\n locale={locale}\n nestingLevel={nestingLevel}\n polymorphic={polymorphic}\n req={req}\n valueFrom={valueFrom as UploadDoc}\n valueTo={valueTo as UploadDoc}\n />\n )\n}\n\nexport const HasManyUploadDiff: React.FC<{\n field: UploadField\n i18n: I18nClient\n locale: string\n nestingLevel?: number\n polymorphic: boolean\n req: PayloadRequest\n valueFrom: Array<UploadDoc>\n valueTo: Array<UploadDoc>\n}> = async (args) => {\n const { field, i18n, locale, nestingLevel, polymorphic, req, valueFrom, valueTo } = args\n const ReactDOMServer = (await import('react-dom/server')).default\n\n let From: React.ReactNode = ''\n let To: React.ReactNode = ''\n\n const showCollectionSlug = Array.isArray(field.relationTo)\n\n const getUploadDocKey = (uploadDoc: UploadDoc): number | string => {\n if (typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {\n // Polymorphic case\n const value = uploadDoc.value\n return typeof value === 'object' ? value.id : value\n }\n // Non-polymorphic case\n return typeof uploadDoc === 'object' ? uploadDoc.id : uploadDoc\n }\n\n const FromComponents = valueFrom\n ? valueFrom.map((uploadDoc) => (\n <UploadDocumentDiff\n i18n={i18n}\n key={getUploadDocKey(uploadDoc)}\n polymorphic={polymorphic}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={uploadDoc}\n />\n ))\n : null\n const ToComponents = valueTo\n ? valueTo.map((uploadDoc) => (\n <UploadDocumentDiff\n i18n={i18n}\n key={getUploadDocKey(uploadDoc)}\n polymorphic={polymorphic}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={uploadDoc}\n />\n ))\n : null\n\n const diffResult = getHTMLDiffComponents({\n fromHTML:\n `<div class=\"${baseClass}-hasMany\">` +\n (FromComponents\n ? FromComponents.map(\n (component) => `<div>${ReactDOMServer.renderToStaticMarkup(component)}</div>`,\n ).join('')\n : '') +\n '</div>',\n toHTML:\n `<div class=\"${baseClass}-hasMany\">` +\n (ToComponents\n ? ToComponents.map(\n (component) => `<div>${ReactDOMServer.renderToStaticMarkup(component)}</div>`,\n ).join('')\n : '') +\n '</div>',\n tokenizeByCharacter: false,\n })\n From = diffResult.From\n To = diffResult.To\n\n return (\n <FieldDiffContainer\n className={`${baseClass}-container ${baseClass}-container--hasMany`}\n From={From}\n i18n={i18n}\n label={{\n label: field.label,\n locale,\n }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n\nexport const SingleUploadDiff: React.FC<{\n field: UploadField\n i18n: I18nClient\n locale: string\n nestingLevel?: number\n polymorphic: boolean\n req: PayloadRequest\n valueFrom: UploadDoc\n valueTo: UploadDoc\n}> = async (args) => {\n const { field, i18n, locale, nestingLevel, polymorphic, req, valueFrom, valueTo } = args\n\n const ReactDOMServer = (await import('react-dom/server')).default\n\n let From: React.ReactNode = ''\n let To: React.ReactNode = ''\n\n const showCollectionSlug = Array.isArray(field.relationTo)\n\n const FromComponent = valueFrom ? (\n <UploadDocumentDiff\n i18n={i18n}\n polymorphic={polymorphic}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={valueFrom}\n />\n ) : null\n const ToComponent = valueTo ? (\n <UploadDocumentDiff\n i18n={i18n}\n polymorphic={polymorphic}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={valueTo}\n />\n ) : null\n\n const fromHtml = FromComponent\n ? ReactDOMServer.renderToStaticMarkup(FromComponent)\n : '<p>' + '' + '</p>'\n const toHtml = ToComponent\n ? ReactDOMServer.renderToStaticMarkup(ToComponent)\n : '<p>' + '' + '</p>'\n\n const diffResult = getHTMLDiffComponents({\n fromHTML: fromHtml,\n toHTML: toHtml,\n tokenizeByCharacter: false,\n })\n From = diffResult.From\n To = diffResult.To\n\n return (\n <FieldDiffContainer\n className={`${baseClass}-container ${baseClass}-container--hasOne`}\n From={From}\n i18n={i18n}\n label={{\n label: field.label,\n locale,\n }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n\nconst UploadDocumentDiff = (args: {\n i18n: I18nClient\n polymorphic: boolean\n relationTo: string | string[]\n req: PayloadRequest\n showCollectionSlug?: boolean\n uploadDoc: UploadDoc\n}) => {\n const { i18n, polymorphic, relationTo, req, showCollectionSlug, uploadDoc } = args\n\n let thumbnailSRC: string = ''\n\n const value = polymorphic\n ? (uploadDoc as { relationTo: string; value: FileData & TypeWithID }).value\n : (uploadDoc as FileData & TypeWithID)\n\n if (value && typeof value === 'object' && 'thumbnailURL' in value) {\n thumbnailSRC =\n (typeof value.thumbnailURL === 'string' && value.thumbnailURL) ||\n (typeof value.url === 'string' && value.url) ||\n ''\n }\n\n let filename: string\n if (value && typeof value === 'object') {\n filename = value.filename\n } else {\n filename = `${i18n.t('general:untitled')} - ID: ${uploadDoc as number | string}`\n }\n\n let pillLabel: null | string = null\n\n if (showCollectionSlug) {\n let collectionSlug: string\n if (polymorphic && typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {\n collectionSlug = uploadDoc.relationTo\n } else {\n collectionSlug = typeof relationTo === 'string' ? relationTo : relationTo[0]\n }\n const uploadConfig = req.payload.collections[collectionSlug].config\n pillLabel = uploadConfig.labels?.singular\n ? getTranslation(uploadConfig.labels.singular, i18n)\n : uploadConfig.slug\n }\n\n let id: number | string | undefined\n if (polymorphic && typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {\n const polyValue = uploadDoc.value\n id = typeof polyValue === 'object' ? polyValue.id : polyValue\n } else if (typeof uploadDoc === 'object' && 'id' in uploadDoc) {\n id = uploadDoc.id\n } else if (typeof uploadDoc === 'string' || typeof uploadDoc === 'number') {\n id = uploadDoc\n }\n\n const alt =\n (value && typeof value === 'object' && (value as { alt?: string }).alt) || filename || ''\n\n return (\n <div\n className={`${baseClass}`}\n data-enable-match=\"true\"\n data-id={id}\n data-relation-to={relationTo}\n >\n <div className={`${baseClass}__card`}>\n <div className={`${baseClass}__thumbnail`}>\n {thumbnailSRC?.length ? <img alt={alt} src={thumbnailSRC} /> : <File />}\n </div>\n {pillLabel && (\n <div className={`${baseClass}__pill`} data-enable-match=\"false\">\n <span>{pillLabel}</span>\n </div>\n )}\n <div className={`${baseClass}__info`} data-enable-match=\"false\">\n <strong>{filename}</strong>\n </div>\n </div>\n </div>\n )\n}\n"],"names":["getTranslation","FieldDiffContainer","File","getHTMLDiffComponents","React","baseClass","Upload","args","comparisonValue","valueFrom","field","i18n","locale","nestingLevel","req","versionValue","valueTo","hasMany","Array","isArray","polymorphic","relationTo","HasManyUploadDiff","SingleUploadDiff","ReactDOMServer","default","From","To","showCollectionSlug","getUploadDocKey","uploadDoc","value","id","FromComponents","map","UploadDocumentDiff","ToComponents","diffResult","fromHTML","component","renderToStaticMarkup","join","toHTML","tokenizeByCharacter","className","label","FromComponent","ToComponent","fromHtml","toHtml","thumbnailSRC","thumbnailURL","url","filename","t","pillLabel","collectionSlug","uploadConfig","payload","collections","config","labels","singular","slug","polyValue","alt","div","data-enable-match","data-id","data-relation-to","length","img","src","span","strong"],"mappings":"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"}