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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/dist/auth/login.js +52 -58
  2. package/dist/auth/login.js.map +1 -1
  3. package/dist/auth/logout.js +39 -44
  4. package/dist/auth/logout.js.map +1 -1
  5. package/dist/auth/refresh.js +45 -47
  6. package/dist/auth/refresh.js.map +1 -1
  7. package/dist/config.js +1 -0
  8. package/dist/config.js.map +1 -1
  9. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +9 -15
  10. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +40 -71
  12. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +65 -59
  14. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/index.js +80 -70
  16. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +16 -23
  18. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +61 -69
  20. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  21. package/dist/elements/DocumentHeader/index.js +48 -28
  22. package/dist/elements/DocumentHeader/index.js.map +1 -1
  23. package/dist/elements/FormHeader/index.js +30 -16
  24. package/dist/elements/FormHeader/index.js.map +1 -1
  25. package/dist/elements/Logo/index.js +19 -34
  26. package/dist/elements/Logo/index.js.map +1 -1
  27. package/dist/elements/Nav/NavHamburger/index.js +23 -44
  28. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  29. package/dist/elements/Nav/NavWrapper/index.js +28 -54
  30. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  31. package/dist/elements/Nav/SettingsMenuButton/index.js +33 -39
  32. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  33. package/dist/elements/Nav/getNavPrefs.js +27 -22
  34. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  35. package/dist/elements/Nav/index.client.js +97 -118
  36. package/dist/elements/Nav/index.client.js.map +1 -1
  37. package/dist/elements/Nav/index.js +148 -127
  38. package/dist/elements/Nav/index.js.map +1 -1
  39. package/dist/esbuildEntry.d.ts +5 -0
  40. package/dist/esbuildEntry.d.ts.map +1 -0
  41. package/dist/esbuildEntry.js +6 -0
  42. package/dist/esbuildEntry.js.map +1 -0
  43. package/dist/exports/auth.js +1 -0
  44. package/dist/exports/auth.js.map +1 -1
  45. package/dist/exports/client.js +1 -1
  46. package/dist/exports/client.js.map +1 -1
  47. package/dist/exports/layouts.js +1 -0
  48. package/dist/exports/layouts.js.map +1 -1
  49. package/dist/exports/routes.js +1 -0
  50. package/dist/exports/routes.js.map +1 -1
  51. package/dist/exports/rsc.js +1 -0
  52. package/dist/exports/rsc.js.map +1 -1
  53. package/dist/exports/templates.js +1 -0
  54. package/dist/exports/templates.js.map +1 -1
  55. package/dist/exports/utilities.js +7 -12
  56. package/dist/exports/utilities.js.map +1 -1
  57. package/dist/exports/views.js +1 -0
  58. package/dist/exports/views.js.map +1 -1
  59. package/dist/index.js +1 -0
  60. package/dist/index.js.map +1 -1
  61. package/dist/layouts/Root/NestProviders.js +21 -20
  62. package/dist/layouts/Root/NestProviders.js.map +1 -1
  63. package/dist/layouts/Root/checkDependencies.js +49 -41
  64. package/dist/layouts/Root/checkDependencies.js.map +1 -1
  65. package/dist/layouts/Root/index.js +128 -103
  66. package/dist/layouts/Root/index.js.map +1 -1
  67. package/dist/routes/graphql/handler.js +114 -122
  68. package/dist/routes/graphql/handler.js.map +1 -1
  69. package/dist/routes/graphql/index.js +1 -0
  70. package/dist/routes/graphql/index.js.map +1 -1
  71. package/dist/routes/graphql/playground.js +24 -23
  72. package/dist/routes/graphql/playground.js.map +1 -1
  73. package/dist/routes/index.js +1 -0
  74. package/dist/routes/index.js.map +1 -1
  75. package/dist/routes/rest/index.js +20 -19
  76. package/dist/routes/rest/index.js.map +1 -1
  77. package/dist/routes/rest/og/image.js +103 -79
  78. package/dist/routes/rest/og/image.js.map +1 -1
  79. package/dist/routes/rest/og/index.js +59 -54
  80. package/dist/routes/rest/og/index.js.map +1 -1
  81. package/dist/templates/Default/NavHamburger/index.js +12 -20
  82. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  83. package/dist/templates/Default/Wrapper/index.js +20 -44
  84. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  85. package/dist/templates/Default/index.js +183 -133
  86. package/dist/templates/Default/index.js.map +1 -1
  87. package/dist/templates/Minimal/index.js +26 -17
  88. package/dist/templates/Minimal/index.js.map +1 -1
  89. package/dist/utilities/getExistingAuthToken.js +3 -2
  90. package/dist/utilities/getExistingAuthToken.js.map +1 -1
  91. package/dist/utilities/getNextRequestI18n.js +12 -13
  92. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  93. package/dist/utilities/getPayloadHMR.js +5 -5
  94. package/dist/utilities/getPayloadHMR.js.map +1 -1
  95. package/dist/utilities/getPreferences.js +27 -22
  96. package/dist/utilities/getPreferences.js.map +1 -1
  97. package/dist/utilities/getRequestLocale.js +13 -14
  98. package/dist/utilities/getRequestLocale.js.map +1 -1
  99. package/dist/utilities/getRequestTheme.js +19 -19
  100. package/dist/utilities/getRequestTheme.js.map +1 -1
  101. package/dist/utilities/getRouteWithoutAdmin.js +3 -5
  102. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
  103. package/dist/utilities/getVisibleEntities.js +12 -23
  104. package/dist/utilities/getVisibleEntities.js.map +1 -1
  105. package/dist/utilities/handleAuthRedirect.js +22 -36
  106. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  107. package/dist/utilities/handleServerFunctions.js +32 -39
  108. package/dist/utilities/handleServerFunctions.js.map +1 -1
  109. package/dist/utilities/initReq.js +78 -96
  110. package/dist/utilities/initReq.js.map +1 -1
  111. package/dist/utilities/isCustomAdminView.js +22 -26
  112. package/dist/utilities/isCustomAdminView.js.map +1 -1
  113. package/dist/utilities/isPublicAdminRoute.js +26 -20
  114. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  115. package/dist/utilities/meta.js +68 -63
  116. package/dist/utilities/meta.js.map +1 -1
  117. package/dist/utilities/selectiveCache.js +25 -26
  118. package/dist/utilities/selectiveCache.js.map +1 -1
  119. package/dist/utilities/setPayloadAuthCookie.js +19 -22
  120. package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
  121. package/dist/utilities/slugify.js +24 -33
  122. package/dist/utilities/slugify.js.map +1 -1
  123. package/dist/utilities/timestamp.js +7 -6
  124. package/dist/utilities/timestamp.js.map +1 -1
  125. package/dist/views/API/LocaleSelector/index.js +17 -39
  126. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  127. package/dist/views/API/RenderJSON/index.js +171 -126
  128. package/dist/views/API/RenderJSON/index.js.map +1 -1
  129. package/dist/views/API/index.client.js +287 -197
  130. package/dist/views/API/index.client.js.map +1 -1
  131. package/dist/views/API/index.js +7 -2
  132. package/dist/views/API/index.js.map +1 -1
  133. package/dist/views/API/metadata.js +18 -23
  134. package/dist/views/API/metadata.js.map +1 -1
  135. package/dist/views/Account/ResetPreferences/index.js +74 -91
  136. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  137. package/dist/views/Account/Settings/LanguageSelector.js +18 -47
  138. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  139. package/dist/views/Account/Settings/index.js +62 -28
  140. package/dist/views/Account/Settings/index.js.map +1 -1
  141. package/dist/views/Account/ToggleTheme/index.js +38 -55
  142. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  143. package/dist/views/Account/index.client.js +16 -32
  144. package/dist/views/Account/index.client.js.map +1 -1
  145. package/dist/views/Account/index.js +144 -155
  146. package/dist/views/Account/index.js.map +1 -1
  147. package/dist/views/Account/metadata.js +8 -12
  148. package/dist/views/Account/metadata.js.map +1 -1
  149. package/dist/views/BrowseByFolder/buildView.js +139 -158
  150. package/dist/views/BrowseByFolder/buildView.js.map +1 -1
  151. package/dist/views/BrowseByFolder/index.js +16 -17
  152. package/dist/views/BrowseByFolder/index.js.map +1 -1
  153. package/dist/views/BrowseByFolder/metadata.js +13 -15
  154. package/dist/views/BrowseByFolder/metadata.js.map +1 -1
  155. package/dist/views/CollectionFolders/buildView.js +123 -143
  156. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  157. package/dist/views/CollectionFolders/index.js +16 -17
  158. package/dist/views/CollectionFolders/index.js.map +1 -1
  159. package/dist/views/CollectionFolders/metadata.js +18 -21
  160. package/dist/views/CollectionFolders/metadata.js.map +1 -1
  161. package/dist/views/CollectionFolders/renderFolderViewSlots.js +58 -61
  162. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -1
  163. package/dist/views/CollectionTrash/index.js +17 -18
  164. package/dist/views/CollectionTrash/index.js.map +1 -1
  165. package/dist/views/CollectionTrash/metadata.js +18 -21
  166. package/dist/views/CollectionTrash/metadata.js.map +1 -1
  167. package/dist/views/CreateFirstUser/index.client.js +114 -101
  168. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  169. package/dist/views/CreateFirstUser/index.js +87 -81
  170. package/dist/views/CreateFirstUser/index.js.map +1 -1
  171. package/dist/views/CreateFirstUser/metadata.js +8 -12
  172. package/dist/views/CreateFirstUser/metadata.js.map +1 -1
  173. package/dist/views/Dashboard/Default/index.js +176 -152
  174. package/dist/views/Dashboard/Default/index.js.map +1 -1
  175. package/dist/views/Dashboard/index.js +97 -90
  176. package/dist/views/Dashboard/index.js.map +1 -1
  177. package/dist/views/Dashboard/metadata.js +10 -14
  178. package/dist/views/Dashboard/metadata.js.map +1 -1
  179. package/dist/views/Document/getCustomDocumentViewByKey.js +3 -2
  180. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
  181. package/dist/views/Document/getCustomViewByRoute.js +27 -30
  182. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  183. package/dist/views/Document/getDocPreferences.js +40 -41
  184. package/dist/views/Document/getDocPreferences.js.map +1 -1
  185. package/dist/views/Document/getDocumentData.js +44 -55
  186. package/dist/views/Document/getDocumentData.js.map +1 -1
  187. package/dist/views/Document/getDocumentPermissions.js +77 -80
  188. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  189. package/dist/views/Document/getDocumentView.js +313 -283
  190. package/dist/views/Document/getDocumentView.js.map +1 -1
  191. package/dist/views/Document/getIsLocked.js +66 -66
  192. package/dist/views/Document/getIsLocked.js.map +1 -1
  193. package/dist/views/Document/getMetaBySegment.js +130 -136
  194. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  195. package/dist/views/Document/getVersions.js +204 -194
  196. package/dist/views/Document/getVersions.js.map +1 -1
  197. package/dist/views/Document/handleServerFunction.js +103 -128
  198. package/dist/views/Document/handleServerFunction.js.map +1 -1
  199. package/dist/views/Document/index.js +315 -354
  200. package/dist/views/Document/index.js.map +1 -1
  201. package/dist/views/Document/metadata.js +2 -1
  202. package/dist/views/Document/metadata.js.map +1 -1
  203. package/dist/views/Document/renderDocumentSlots.js +121 -132
  204. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  205. package/dist/views/Edit/index.js +10 -6
  206. package/dist/views/Edit/index.js.map +1 -1
  207. package/dist/views/Edit/metadata.js +36 -46
  208. package/dist/views/Edit/metadata.js.map +1 -1
  209. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +130 -164
  210. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  211. package/dist/views/ForgotPassword/index.js +79 -62
  212. package/dist/views/ForgotPassword/index.js.map +1 -1
  213. package/dist/views/ForgotPassword/metadata.js +8 -12
  214. package/dist/views/ForgotPassword/metadata.js.map +1 -1
  215. package/dist/views/List/createSerializableValue.js +12 -11
  216. package/dist/views/List/createSerializableValue.js.map +1 -1
  217. package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
  218. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  219. package/dist/views/List/extractRelationshipDisplayValue.js +15 -14
  220. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
  221. package/dist/views/List/extractValueOrRelationshipID.js +16 -15
  222. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
  223. package/dist/views/List/handleGroupBy.js +133 -150
  224. package/dist/views/List/handleGroupBy.js.map +1 -1
  225. package/dist/views/List/handleServerFunction.js +96 -119
  226. package/dist/views/List/handleServerFunction.js.map +1 -1
  227. package/dist/views/List/index.js +305 -324
  228. package/dist/views/List/index.js.map +1 -1
  229. package/dist/views/List/metadata.js +17 -20
  230. package/dist/views/List/metadata.js.map +1 -1
  231. package/dist/views/List/renderListViewSlots.js +82 -75
  232. package/dist/views/List/renderListViewSlots.js.map +1 -1
  233. package/dist/views/List/resolveAllFilterOptions.js +43 -45
  234. package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
  235. package/dist/views/List/transformColumnsToSelect.js +9 -8
  236. package/dist/views/List/transformColumnsToSelect.js.map +1 -1
  237. package/dist/views/Login/LoginField/index.js +57 -89
  238. package/dist/views/Login/LoginField/index.js.map +1 -1
  239. package/dist/views/Login/LoginForm/index.js +104 -157
  240. package/dist/views/Login/LoginForm/index.js.map +1 -1
  241. package/dist/views/Login/index.js +82 -85
  242. package/dist/views/Login/index.js.map +1 -1
  243. package/dist/views/Login/metadata.js +8 -12
  244. package/dist/views/Login/metadata.js.map +1 -1
  245. package/dist/views/Logout/LogoutClient.js +83 -119
  246. package/dist/views/Logout/LogoutClient.js.map +1 -1
  247. package/dist/views/Logout/index.js +29 -29
  248. package/dist/views/Logout/index.js.map +1 -1
  249. package/dist/views/Logout/metadata.js +7 -11
  250. package/dist/views/Logout/metadata.js.map +1 -1
  251. package/dist/views/NotFound/index.client.js +71 -82
  252. package/dist/views/NotFound/index.client.js.map +1 -1
  253. package/dist/views/NotFound/index.js +71 -72
  254. package/dist/views/NotFound/index.js.map +1 -1
  255. package/dist/views/NotFound/metadata.js +7 -9
  256. package/dist/views/NotFound/metadata.js.map +1 -1
  257. package/dist/views/ResetPassword/ResetPasswordForm/index.js +94 -107
  258. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  259. package/dist/views/ResetPassword/index.js +93 -73
  260. package/dist/views/ResetPassword/index.js.map +1 -1
  261. package/dist/views/ResetPassword/metadata.js +8 -12
  262. package/dist/views/ResetPassword/metadata.js.map +1 -1
  263. package/dist/views/Root/attachViewActions.js +18 -23
  264. package/dist/views/Root/attachViewActions.js.map +1 -1
  265. package/dist/views/Root/generateCustomViewMetadata.js +19 -21
  266. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
  267. package/dist/views/Root/getCustomViewByKey.js +12 -14
  268. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  269. package/dist/views/Root/getCustomViewByRoute.js +31 -42
  270. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  271. package/dist/views/Root/getDocumentViewInfo.js +24 -23
  272. package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
  273. package/dist/views/Root/getRouteData.js +333 -325
  274. package/dist/views/Root/getRouteData.js.map +1 -1
  275. package/dist/views/Root/index.js +247 -269
  276. package/dist/views/Root/index.js.map +1 -1
  277. package/dist/views/Root/isPathMatchingRoute.js +21 -26
  278. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  279. package/dist/views/Root/metadata.js +176 -181
  280. package/dist/views/Root/metadata.js.map +1 -1
  281. package/dist/views/Unauthorized/index.js +54 -46
  282. package/dist/views/Unauthorized/index.js.map +1 -1
  283. package/dist/views/Unauthorized/metadata.js +8 -12
  284. package/dist/views/Unauthorized/metadata.js.map +1 -1
  285. package/dist/views/Verify/index.client.js +25 -43
  286. package/dist/views/Verify/index.client.js.map +1 -1
  287. package/dist/views/Verify/index.js +68 -62
  288. package/dist/views/Verify/index.js.map +1 -1
  289. package/dist/views/Verify/metadata.js +8 -12
  290. package/dist/views/Verify/metadata.js.map +1 -1
  291. package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
  292. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  293. package/dist/views/Version/Default/SetStepNav.js +86 -127
  294. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  295. package/dist/views/Version/Default/index.js +380 -236
  296. package/dist/views/Version/Default/index.js.map +1 -1
  297. package/dist/views/Version/Default/types.js +2 -1
  298. package/dist/views/Version/Default/types.js.map +1 -1
  299. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +102 -119
  300. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  301. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +78 -73
  302. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  303. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +363 -408
  304. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  305. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +40 -51
  306. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  307. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +35 -67
  308. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  309. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +59 -56
  310. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  311. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +139 -117
  312. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  313. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +36 -41
  314. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  315. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +192 -178
  316. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  317. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -11
  318. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  319. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +48 -73
  320. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  321. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +132 -143
  322. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  323. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +56 -81
  324. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  325. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +251 -210
  326. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  327. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +23 -22
  328. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  329. package/dist/views/Version/RenderFieldsToDiff/index.js +12 -9
  330. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  331. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +213 -228
  332. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  333. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +1005 -826
  334. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  335. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +2 -1
  336. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
  337. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +44 -43
  338. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
  339. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js +25 -22
  340. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js.map +1 -1
  341. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +32 -36
  342. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  343. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +145 -129
  344. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  345. package/dist/views/Version/Restore/index.js +116 -91
  346. package/dist/views/Version/Restore/index.js.map +1 -1
  347. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +33 -50
  348. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  349. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +170 -226
  350. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  351. package/dist/views/Version/SelectComparison/index.js +73 -50
  352. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  353. package/dist/views/Version/SelectComparison/types.js +2 -1
  354. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  355. package/dist/views/Version/SelectLocales/index.js +34 -32
  356. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  357. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +104 -95
  358. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  359. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +23 -27
  360. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
  361. package/dist/views/Version/fetchVersions.js +113 -138
  362. package/dist/views/Version/fetchVersions.js.map +1 -1
  363. package/dist/views/Version/index.js +325 -323
  364. package/dist/views/Version/index.js.map +1 -1
  365. package/dist/views/Version/metadata.js +43 -50
  366. package/dist/views/Version/metadata.js.map +1 -1
  367. package/dist/views/Versions/buildColumns.js +95 -79
  368. package/dist/views/Versions/buildColumns.js.map +1 -1
  369. package/dist/views/Versions/cells/AutosaveCell/index.js +34 -38
  370. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  371. package/dist/views/Versions/cells/CreatedAt/index.js +32 -53
  372. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  373. package/dist/views/Versions/cells/ID/index.js +10 -8
  374. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  375. package/dist/views/Versions/index.client.js +106 -83
  376. package/dist/views/Versions/index.client.js.map +1 -1
  377. package/dist/views/Versions/index.js +140 -140
  378. package/dist/views/Versions/index.js.map +1 -1
  379. package/dist/views/Versions/metadata.js +37 -44
  380. package/dist/views/Versions/metadata.js.map +1 -1
  381. package/dist/views/Versions/types.js +2 -1
  382. package/dist/views/Versions/types.js.map +1 -1
  383. package/dist/withPayload.js +216 -169
  384. package/dist/withPayload.js.map +1 -1
  385. package/package.json +9 -8
  386. package/dist/prod/styles.css +0 -1
@@ -1,860 +1,1039 @@
1
1
  import { countChangedFields, countChangedFieldsInRows } from './countChangedFields.js';
2
- describe('countChangedFields', () => {
3
- // locales can be undefined when not configured in payload.config.js
4
- const locales = undefined;
5
- it('should return 0 when no fields have changed', () => {
6
- const fields = [{
7
- name: 'a',
8
- type: 'text'
9
- }, {
10
- name: 'b',
11
- type: 'number'
12
- }];
13
- const valueFrom = {
14
- a: 'original',
15
- b: 123
16
- };
17
- const valueTo = {
18
- a: 'original',
19
- b: 123
20
- };
21
- const result = countChangedFields({
22
- valueFrom,
23
- fields,
24
- valueTo,
25
- locales
26
- });
27
- expect(result).toBe(0);
28
- });
29
- it('should count simple changed fields', () => {
30
- const fields = [{
31
- name: 'a',
32
- type: 'text'
33
- }, {
34
- name: 'b',
35
- type: 'number'
36
- }];
37
- const valueFrom = {
38
- a: 'original',
39
- b: 123
40
- };
41
- const valueTo = {
42
- a: 'changed',
43
- b: 123
44
- };
45
- const result = countChangedFields({
46
- valueFrom,
47
- fields,
48
- valueTo,
49
- locales
50
- });
51
- expect(result).toBe(1);
52
- });
53
- it('should count previously undefined fields', () => {
54
- const fields = [{
55
- name: 'a',
56
- type: 'text'
57
- }, {
58
- name: 'b',
59
- type: 'number'
60
- }];
61
- const valueFrom = {};
62
- const valueTo = {
63
- a: 'new',
64
- b: 123
65
- };
66
- const result = countChangedFields({
67
- valueFrom,
68
- fields,
69
- valueTo,
70
- locales
71
- });
72
- expect(result).toBe(2);
73
- });
74
- it('should not count the id field because it is not displayed in the version view', () => {
75
- const fields = [{
76
- name: 'id',
77
- type: 'text'
78
- }, {
79
- name: 'a',
80
- type: 'text'
81
- }];
82
- const valueFrom = {
83
- id: 'original',
84
- a: 'original'
85
- };
86
- const valueTo = {
87
- id: 'changed',
88
- a: 'original'
89
- };
90
- const result = countChangedFields({
91
- valueFrom,
92
- fields,
93
- valueTo,
94
- locales
95
- });
96
- expect(result).toBe(0);
97
- });
98
- it('should count changed fields inside collapsible fields', () => {
99
- const fields = [{
100
- type: 'collapsible',
101
- label: 'A collapsible field',
102
- fields: [{
103
- name: 'a',
104
- type: 'text'
105
- }, {
106
- name: 'b',
107
- type: 'text'
108
- }, {
109
- name: 'c',
110
- type: 'text'
111
- }]
112
- }];
113
- const valueFrom = {
114
- a: 'original',
115
- b: 'original',
116
- c: 'original'
117
- };
118
- const valueTo = {
119
- a: 'changed',
120
- b: 'changed',
121
- c: 'original'
122
- };
123
- const result = countChangedFields({
124
- valueFrom,
125
- fields,
126
- valueTo,
127
- locales
128
- });
129
- expect(result).toBe(2);
130
- });
131
- it('should count changed fields inside row fields', () => {
132
- const fields = [{
133
- type: 'row',
134
- fields: [{
135
- name: 'a',
136
- type: 'text'
137
- }, {
138
- name: 'b',
139
- type: 'text'
140
- }, {
141
- name: 'c',
142
- type: 'text'
143
- }]
144
- }];
145
- const valueFrom = {
146
- a: 'original',
147
- b: 'original',
148
- c: 'original'
149
- };
150
- const valueTo = {
151
- a: 'changed',
152
- b: 'changed',
153
- c: 'original'
154
- };
155
- const result = countChangedFields({
156
- valueFrom,
157
- fields,
158
- valueTo,
159
- locales
160
- });
161
- expect(result).toBe(2);
162
- });
163
- it('should count changed fields inside group fields', () => {
164
- const fields = [{
165
- type: 'group',
166
- name: 'group',
167
- fields: [{
168
- name: 'a',
169
- type: 'text'
170
- }, {
171
- name: 'b',
172
- type: 'text'
173
- }, {
174
- name: 'c',
175
- type: 'text'
176
- }]
177
- }];
178
- const valueFrom = {
179
- group: {
180
- a: 'original',
181
- b: 'original',
182
- c: 'original'
183
- }
184
- };
185
- const valueTo = {
186
- group: {
187
- a: 'changed',
188
- b: 'changed',
189
- c: 'original'
190
- }
191
- };
192
- const result = countChangedFields({
193
- valueFrom,
194
- fields,
195
- valueTo,
196
- locales
197
- });
198
- expect(result).toBe(2);
199
- });
200
- it('should count changed fields inside unnamed tabs ', () => {
201
- const fields = [{
202
- type: 'tabs',
203
- tabs: [{
204
- label: 'Unnamed tab',
205
- fields: [{
206
- name: 'a',
207
- type: 'text'
208
- }, {
209
- name: 'b',
210
- type: 'text'
211
- }, {
212
- name: 'c',
213
- type: 'text'
214
- }]
215
- }]
216
- }];
217
- const valueFrom = {
218
- a: 'original',
219
- b: 'original',
220
- c: 'original'
221
- };
222
- const valueTo = {
223
- a: 'changed',
224
- b: 'changed',
225
- c: 'original'
226
- };
227
- const result = countChangedFields({
228
- valueFrom,
229
- fields,
230
- valueTo,
231
- locales
232
- });
233
- expect(result).toBe(2);
234
- });
235
- it('should count changed fields inside named tabs ', () => {
236
- const fields = [{
237
- type: 'tabs',
238
- tabs: [{
239
- name: 'namedTab',
240
- fields: [{
241
- name: 'a',
242
- type: 'text'
243
- }, {
244
- name: 'b',
245
- type: 'text'
246
- }, {
247
- name: 'c',
248
- type: 'text'
249
- }]
250
- }]
251
- }];
252
- const valueFrom = {
253
- namedTab: {
254
- a: 'original',
255
- b: 'original',
256
- c: 'original'
257
- }
258
- };
259
- const valueTo = {
260
- namedTab: {
261
- a: 'changed',
262
- b: 'changed',
263
- c: 'original'
264
- }
265
- };
266
- const result = countChangedFields({
267
- valueFrom,
268
- fields,
269
- valueTo,
270
- locales
271
- });
272
- expect(result).toBe(2);
273
- });
274
- it('should ignore UI fields', () => {
275
- const fields = [{
276
- name: 'a',
277
- type: 'text'
278
- }, {
279
- name: 'b',
280
- type: 'ui',
281
- admin: {}
282
- }];
283
- const valueFrom = {
284
- a: 'original',
285
- b: 'original'
286
- };
287
- const valueTo = {
288
- a: 'original',
289
- b: 'changed'
290
- };
291
- const result = countChangedFields({
292
- valueFrom,
293
- fields,
294
- valueTo,
295
- locales
296
- });
297
- expect(result).toBe(0);
298
- });
299
- it('should count changed fields inside array fields', () => {
300
- const fields = [{
301
- name: 'arrayField',
302
- type: 'array',
303
- fields: [{
304
- name: 'a',
305
- type: 'text'
306
- }, {
307
- name: 'b',
308
- type: 'text'
309
- }, {
310
- name: 'c',
311
- type: 'text'
312
- }]
313
- }];
314
- const valueFrom = {
315
- arrayField: [{
316
- a: 'original',
317
- b: 'original',
318
- c: 'original'
319
- }, {
320
- a: 'original',
321
- b: 'original'
322
- }]
323
- };
324
- const valueTo = {
325
- arrayField: [{
326
- a: 'changed',
327
- b: 'changed',
328
- c: 'original'
329
- }, {
330
- a: 'changed',
331
- b: 'changed',
332
- c: 'changed'
333
- }]
334
- };
335
- const result = countChangedFields({
336
- valueFrom,
337
- fields,
338
- valueTo,
339
- locales
340
- });
341
- expect(result).toBe(5);
342
- });
343
- it('should count changed fields inside arrays nested inside of collapsibles', () => {
344
- const fields = [{
345
- type: 'collapsible',
346
- label: 'A collapsible field',
347
- fields: [{
348
- name: 'arrayField',
349
- type: 'array',
350
- fields: [{
351
- name: 'a',
352
- type: 'text'
353
- }, {
354
- name: 'b',
355
- type: 'text'
356
- }, {
357
- name: 'c',
358
- type: 'text'
359
- }]
360
- }]
361
- }];
362
- const valueFrom = {
363
- arrayField: [{
364
- a: 'original',
365
- b: 'original',
366
- c: 'original'
367
- }]
368
- };
369
- const valueTo = {
370
- arrayField: [{
371
- a: 'changed',
372
- b: 'changed',
373
- c: 'original'
374
- }]
375
- };
376
- const result = countChangedFields({
377
- valueFrom,
378
- fields,
379
- valueTo,
380
- locales
381
- });
382
- expect(result).toBe(2);
383
- });
384
- it('should count changed fields inside blocks fields', () => {
385
- const fields = [{
386
- name: 'blocks',
387
- type: 'blocks',
388
- blocks: [{
389
- slug: 'blockA',
390
- fields: [{
391
- name: 'a',
392
- type: 'text'
393
- }, {
394
- name: 'b',
395
- type: 'text'
396
- }, {
397
- name: 'c',
398
- type: 'text'
399
- }]
400
- }]
401
- }];
402
- const valueFrom = {
403
- blocks: [{
404
- blockType: 'blockA',
405
- a: 'original',
406
- b: 'original',
407
- c: 'original'
408
- }, {
409
- blockType: 'blockA',
410
- a: 'original',
411
- b: 'original'
412
- }]
413
- };
414
- const valueTo = {
415
- blocks: [{
416
- blockType: 'blockA',
417
- a: 'changed',
418
- b: 'changed',
419
- c: 'original'
420
- }, {
421
- blockType: 'blockA',
422
- a: 'changed',
423
- b: 'changed',
424
- c: 'changed'
425
- }]
426
- };
427
- const result = countChangedFields({
428
- valueFrom,
429
- fields,
430
- valueTo,
431
- locales
2
+ describe('countChangedFields', ()=>{
3
+ // locales can be undefined when not configured in payload.config.js
4
+ const locales = undefined;
5
+ it('should return 0 when no fields have changed', ()=>{
6
+ const fields = [
7
+ {
8
+ name: 'a',
9
+ type: 'text'
10
+ },
11
+ {
12
+ name: 'b',
13
+ type: 'number'
14
+ }
15
+ ];
16
+ const valueFrom = {
17
+ a: 'original',
18
+ b: 123
19
+ };
20
+ const valueTo = {
21
+ a: 'original',
22
+ b: 123
23
+ };
24
+ const result = countChangedFields({
25
+ valueFrom,
26
+ fields,
27
+ valueTo,
28
+ locales
29
+ });
30
+ expect(result).toBe(0);
432
31
  });
433
- expect(result).toBe(5);
434
- });
435
- it('should count changed fields between blocks with different slugs', () => {
436
- const fields = [{
437
- name: 'blocks',
438
- type: 'blocks',
439
- blocks: [{
440
- slug: 'blockA',
441
- fields: [{
442
- name: 'a',
443
- type: 'text'
444
- }, {
445
- name: 'b',
446
- type: 'text'
447
- }, {
448
- name: 'c',
449
- type: 'text'
450
- }]
451
- }, {
452
- slug: 'blockB',
453
- fields: [{
454
- name: 'b',
455
- type: 'text'
456
- }, {
457
- name: 'c',
458
- type: 'text'
459
- }, {
460
- name: 'd',
461
- type: 'text'
462
- }]
463
- }]
464
- }];
465
- const valueFrom = {
466
- blocks: [{
467
- blockType: 'blockA',
468
- a: 'removed',
469
- b: 'original',
470
- c: 'original'
471
- }]
472
- };
473
- const valueTo = {
474
- blocks: [{
475
- blockType: 'blockB',
476
- b: 'original',
477
- c: 'changed',
478
- d: 'new'
479
- }]
480
- };
481
- const result = countChangedFields({
482
- valueFrom,
483
- fields,
484
- valueTo,
485
- locales
32
+ it('should count simple changed fields', ()=>{
33
+ const fields = [
34
+ {
35
+ name: 'a',
36
+ type: 'text'
37
+ },
38
+ {
39
+ name: 'b',
40
+ type: 'number'
41
+ }
42
+ ];
43
+ const valueFrom = {
44
+ a: 'original',
45
+ b: 123
46
+ };
47
+ const valueTo = {
48
+ a: 'changed',
49
+ b: 123
50
+ };
51
+ const result = countChangedFields({
52
+ valueFrom,
53
+ fields,
54
+ valueTo,
55
+ locales
56
+ });
57
+ expect(result).toBe(1);
486
58
  });
487
- expect(result).toBe(3);
488
- });
489
- describe('localized fields', () => {
490
- const locales = ['en', 'de'];
491
- it('should count simple localized fields', () => {
492
- const fields = [{
493
- name: 'a',
494
- type: 'text',
495
- localized: true
496
- }, {
497
- name: 'b',
498
- type: 'text',
499
- localized: true
500
- }];
501
- const valueFrom = {
502
- a: {
503
- en: 'original',
504
- de: 'original'
505
- },
506
- b: {
507
- en: 'original',
508
- de: 'original'
509
- }
510
- };
511
- const valueTo = {
512
- a: {
513
- en: 'changed',
514
- de: 'original'
515
- },
516
- b: {
517
- en: 'original',
518
- de: 'original'
519
- }
520
- };
521
- const result = countChangedFields({
522
- valueFrom,
523
- fields,
524
- valueTo,
525
- locales
526
- });
527
- expect(result).toBe(1);
59
+ it('should count previously undefined fields', ()=>{
60
+ const fields = [
61
+ {
62
+ name: 'a',
63
+ type: 'text'
64
+ },
65
+ {
66
+ name: 'b',
67
+ type: 'number'
68
+ }
69
+ ];
70
+ const valueFrom = {};
71
+ const valueTo = {
72
+ a: 'new',
73
+ b: 123
74
+ };
75
+ const result = countChangedFields({
76
+ valueFrom,
77
+ fields,
78
+ valueTo,
79
+ locales
80
+ });
81
+ expect(result).toBe(2);
528
82
  });
529
- it('should count multiple locales of the same localized field', () => {
530
- const locales = ['en', 'de'];
531
- const fields = [{
532
- name: 'a',
533
- type: 'text',
534
- localized: true
535
- }, {
536
- name: 'b',
537
- type: 'text',
538
- localized: true
539
- }];
540
- const valueFrom = {
541
- a: {
542
- en: 'original',
543
- de: 'original'
544
- },
545
- b: {
546
- en: 'original',
547
- de: 'original'
548
- }
549
- };
550
- const valueTo = {
551
- a: {
552
- en: 'changed',
553
- de: 'changed'
554
- },
555
- b: {
556
- en: 'original',
557
- de: 'original'
558
- }
559
- };
560
- const result = countChangedFields({
561
- valueFrom,
562
- fields,
563
- valueTo,
564
- locales
565
- });
566
- expect(result).toBe(2);
83
+ it('should not count the id field because it is not displayed in the version view', ()=>{
84
+ const fields = [
85
+ {
86
+ name: 'id',
87
+ type: 'text'
88
+ },
89
+ {
90
+ name: 'a',
91
+ type: 'text'
92
+ }
93
+ ];
94
+ const valueFrom = {
95
+ id: 'original',
96
+ a: 'original'
97
+ };
98
+ const valueTo = {
99
+ id: 'changed',
100
+ a: 'original'
101
+ };
102
+ const result = countChangedFields({
103
+ valueFrom,
104
+ fields,
105
+ valueTo,
106
+ locales
107
+ });
108
+ expect(result).toBe(0);
567
109
  });
568
- it('should count changed fields inside localized groups fields', () => {
569
- const fields = [{
570
- type: 'group',
571
- name: 'group',
572
- localized: true,
573
- fields: [{
574
- name: 'a',
575
- type: 'text'
576
- }, {
577
- name: 'b',
578
- type: 'text'
579
- }, {
580
- name: 'c',
581
- type: 'text'
582
- }]
583
- }];
584
- const valueFrom = {
585
- group: {
586
- en: {
110
+ it('should count changed fields inside collapsible fields', ()=>{
111
+ const fields = [
112
+ {
113
+ type: 'collapsible',
114
+ label: 'A collapsible field',
115
+ fields: [
116
+ {
117
+ name: 'a',
118
+ type: 'text'
119
+ },
120
+ {
121
+ name: 'b',
122
+ type: 'text'
123
+ },
124
+ {
125
+ name: 'c',
126
+ type: 'text'
127
+ }
128
+ ]
129
+ }
130
+ ];
131
+ const valueFrom = {
587
132
  a: 'original',
588
133
  b: 'original',
589
134
  c: 'original'
590
- },
591
- de: {
592
- a: 'original',
593
- b: 'original',
594
- c: 'original'
595
- }
596
- }
597
- };
598
- const valueTo = {
599
- group: {
600
- en: {
135
+ };
136
+ const valueTo = {
601
137
  a: 'changed',
602
138
  b: 'changed',
603
139
  c: 'original'
604
- },
605
- de: {
606
- a: 'original',
607
- b: 'changed',
608
- c: 'original'
609
- }
610
- }
611
- };
612
- const result = countChangedFields({
613
- valueFrom,
614
- fields,
615
- valueTo,
616
- locales
617
- });
618
- expect(result).toBe(3);
140
+ };
141
+ const result = countChangedFields({
142
+ valueFrom,
143
+ fields,
144
+ valueTo,
145
+ locales
146
+ });
147
+ expect(result).toBe(2);
619
148
  });
620
- it('should count changed fields inside localized tabs', () => {
621
- const fields = [{
622
- type: 'tabs',
623
- tabs: [{
624
- name: 'tab',
625
- localized: true,
626
- fields: [{
627
- name: 'a',
628
- type: 'text'
629
- }, {
630
- name: 'b',
631
- type: 'text'
632
- }, {
633
- name: 'c',
634
- type: 'text'
635
- }]
636
- }]
637
- }];
638
- const valueFrom = {
639
- tab: {
640
- en: {
641
- a: 'original',
642
- b: 'original',
643
- c: 'original'
644
- },
645
- de: {
149
+ it('should count changed fields inside row fields', ()=>{
150
+ const fields = [
151
+ {
152
+ type: 'row',
153
+ fields: [
154
+ {
155
+ name: 'a',
156
+ type: 'text'
157
+ },
158
+ {
159
+ name: 'b',
160
+ type: 'text'
161
+ },
162
+ {
163
+ name: 'c',
164
+ type: 'text'
165
+ }
166
+ ]
167
+ }
168
+ ];
169
+ const valueFrom = {
646
170
  a: 'original',
647
171
  b: 'original',
648
172
  c: 'original'
649
- }
650
- }
651
- };
652
- const valueTo = {
653
- tab: {
654
- en: {
173
+ };
174
+ const valueTo = {
655
175
  a: 'changed',
656
176
  b: 'changed',
657
177
  c: 'original'
658
- },
659
- de: {
660
- a: 'original',
661
- b: 'changed',
662
- c: 'original'
663
- }
664
- }
665
- };
666
- const result = countChangedFields({
667
- valueFrom,
668
- fields,
669
- valueTo,
670
- locales
671
- });
672
- expect(result).toBe(3);
178
+ };
179
+ const result = countChangedFields({
180
+ valueFrom,
181
+ fields,
182
+ valueTo,
183
+ locales
184
+ });
185
+ expect(result).toBe(2);
673
186
  });
674
- it('should count changed fields inside localized array fields', () => {
675
- const fields = [{
676
- name: 'arrayField',
677
- type: 'array',
678
- localized: true,
679
- fields: [{
680
- name: 'a',
681
- type: 'text'
682
- }, {
683
- name: 'b',
684
- type: 'text'
685
- }, {
686
- name: 'c',
687
- type: 'text'
688
- }]
689
- }];
690
- const valueFrom = {
691
- arrayField: {
692
- en: [{
693
- a: 'original',
694
- b: 'original',
695
- c: 'original'
696
- }],
697
- de: [{
187
+ it('should count changed fields inside group fields', ()=>{
188
+ const fields = [
189
+ {
190
+ type: 'group',
191
+ name: 'group',
192
+ fields: [
193
+ {
194
+ name: 'a',
195
+ type: 'text'
196
+ },
197
+ {
198
+ name: 'b',
199
+ type: 'text'
200
+ },
201
+ {
202
+ name: 'c',
203
+ type: 'text'
204
+ }
205
+ ]
206
+ }
207
+ ];
208
+ const valueFrom = {
209
+ group: {
210
+ a: 'original',
211
+ b: 'original',
212
+ c: 'original'
213
+ }
214
+ };
215
+ const valueTo = {
216
+ group: {
217
+ a: 'changed',
218
+ b: 'changed',
219
+ c: 'original'
220
+ }
221
+ };
222
+ const result = countChangedFields({
223
+ valueFrom,
224
+ fields,
225
+ valueTo,
226
+ locales
227
+ });
228
+ expect(result).toBe(2);
229
+ });
230
+ it('should count changed fields inside unnamed tabs ', ()=>{
231
+ const fields = [
232
+ {
233
+ type: 'tabs',
234
+ tabs: [
235
+ {
236
+ label: 'Unnamed tab',
237
+ fields: [
238
+ {
239
+ name: 'a',
240
+ type: 'text'
241
+ },
242
+ {
243
+ name: 'b',
244
+ type: 'text'
245
+ },
246
+ {
247
+ name: 'c',
248
+ type: 'text'
249
+ }
250
+ ]
251
+ }
252
+ ]
253
+ }
254
+ ];
255
+ const valueFrom = {
698
256
  a: 'original',
699
257
  b: 'original',
700
258
  c: 'original'
701
- }]
702
- }
703
- };
704
- const valueTo = {
705
- arrayField: {
706
- en: [{
259
+ };
260
+ const valueTo = {
707
261
  a: 'changed',
708
262
  b: 'changed',
709
263
  c: 'original'
710
- }],
711
- de: [{
712
- a: 'original',
713
- b: 'changed',
714
- c: 'original'
715
- }]
716
- }
717
- };
718
- const result = countChangedFields({
719
- valueFrom,
720
- fields,
721
- valueTo,
722
- locales
723
- });
724
- expect(result).toBe(3);
264
+ };
265
+ const result = countChangedFields({
266
+ valueFrom,
267
+ fields,
268
+ valueTo,
269
+ locales
270
+ });
271
+ expect(result).toBe(2);
272
+ });
273
+ it('should count changed fields inside named tabs ', ()=>{
274
+ const fields = [
275
+ {
276
+ type: 'tabs',
277
+ tabs: [
278
+ {
279
+ name: 'namedTab',
280
+ fields: [
281
+ {
282
+ name: 'a',
283
+ type: 'text'
284
+ },
285
+ {
286
+ name: 'b',
287
+ type: 'text'
288
+ },
289
+ {
290
+ name: 'c',
291
+ type: 'text'
292
+ }
293
+ ]
294
+ }
295
+ ]
296
+ }
297
+ ];
298
+ const valueFrom = {
299
+ namedTab: {
300
+ a: 'original',
301
+ b: 'original',
302
+ c: 'original'
303
+ }
304
+ };
305
+ const valueTo = {
306
+ namedTab: {
307
+ a: 'changed',
308
+ b: 'changed',
309
+ c: 'original'
310
+ }
311
+ };
312
+ const result = countChangedFields({
313
+ valueFrom,
314
+ fields,
315
+ valueTo,
316
+ locales
317
+ });
318
+ expect(result).toBe(2);
725
319
  });
726
- it('should count changed fields inside localized blocks fields', () => {
727
- const fields = [{
728
- name: 'blocks',
729
- type: 'blocks',
730
- localized: true,
731
- blocks: [{
732
- slug: 'blockA',
733
- fields: [{
734
- name: 'a',
735
- type: 'text'
736
- }, {
737
- name: 'b',
738
- type: 'text'
739
- }, {
740
- name: 'c',
741
- type: 'text'
742
- }]
743
- }]
744
- }];
745
- const valueFrom = {
746
- blocks: {
747
- en: [{
748
- blockType: 'blockA',
320
+ it('should ignore UI fields', ()=>{
321
+ const fields = [
322
+ {
323
+ name: 'a',
324
+ type: 'text'
325
+ },
326
+ {
327
+ name: 'b',
328
+ type: 'ui',
329
+ admin: {}
330
+ }
331
+ ];
332
+ const valueFrom = {
749
333
  a: 'original',
750
- b: 'original',
751
- c: 'original'
752
- }],
753
- de: [{
754
- blockType: 'blockA',
334
+ b: 'original'
335
+ };
336
+ const valueTo = {
755
337
  a: 'original',
756
- b: 'original',
757
- c: 'original'
758
- }]
759
- }
760
- };
761
- const valueTo = {
762
- blocks: {
763
- en: [{
764
- blockType: 'blockA',
765
- a: 'changed',
766
- b: 'changed',
767
- c: 'original'
768
- }],
769
- de: [{
770
- blockType: 'blockA',
771
- a: 'original',
772
- b: 'changed',
773
- c: 'original'
774
- }]
775
- }
776
- };
777
- const result = countChangedFields({
778
- valueFrom,
779
- fields,
780
- valueTo,
781
- locales
782
- });
783
- expect(result).toBe(3);
338
+ b: 'changed'
339
+ };
340
+ const result = countChangedFields({
341
+ valueFrom,
342
+ fields,
343
+ valueTo,
344
+ locales
345
+ });
346
+ expect(result).toBe(0);
347
+ });
348
+ it('should count changed fields inside array fields', ()=>{
349
+ const fields = [
350
+ {
351
+ name: 'arrayField',
352
+ type: 'array',
353
+ fields: [
354
+ {
355
+ name: 'a',
356
+ type: 'text'
357
+ },
358
+ {
359
+ name: 'b',
360
+ type: 'text'
361
+ },
362
+ {
363
+ name: 'c',
364
+ type: 'text'
365
+ }
366
+ ]
367
+ }
368
+ ];
369
+ const valueFrom = {
370
+ arrayField: [
371
+ {
372
+ a: 'original',
373
+ b: 'original',
374
+ c: 'original'
375
+ },
376
+ {
377
+ a: 'original',
378
+ b: 'original'
379
+ }
380
+ ]
381
+ };
382
+ const valueTo = {
383
+ arrayField: [
384
+ {
385
+ a: 'changed',
386
+ b: 'changed',
387
+ c: 'original'
388
+ },
389
+ {
390
+ a: 'changed',
391
+ b: 'changed',
392
+ c: 'changed'
393
+ }
394
+ ]
395
+ };
396
+ const result = countChangedFields({
397
+ valueFrom,
398
+ fields,
399
+ valueTo,
400
+ locales
401
+ });
402
+ expect(result).toBe(5);
403
+ });
404
+ it('should count changed fields inside arrays nested inside of collapsibles', ()=>{
405
+ const fields = [
406
+ {
407
+ type: 'collapsible',
408
+ label: 'A collapsible field',
409
+ fields: [
410
+ {
411
+ name: 'arrayField',
412
+ type: 'array',
413
+ fields: [
414
+ {
415
+ name: 'a',
416
+ type: 'text'
417
+ },
418
+ {
419
+ name: 'b',
420
+ type: 'text'
421
+ },
422
+ {
423
+ name: 'c',
424
+ type: 'text'
425
+ }
426
+ ]
427
+ }
428
+ ]
429
+ }
430
+ ];
431
+ const valueFrom = {
432
+ arrayField: [
433
+ {
434
+ a: 'original',
435
+ b: 'original',
436
+ c: 'original'
437
+ }
438
+ ]
439
+ };
440
+ const valueTo = {
441
+ arrayField: [
442
+ {
443
+ a: 'changed',
444
+ b: 'changed',
445
+ c: 'original'
446
+ }
447
+ ]
448
+ };
449
+ const result = countChangedFields({
450
+ valueFrom,
451
+ fields,
452
+ valueTo,
453
+ locales
454
+ });
455
+ expect(result).toBe(2);
456
+ });
457
+ it('should count changed fields inside blocks fields', ()=>{
458
+ const fields = [
459
+ {
460
+ name: 'blocks',
461
+ type: 'blocks',
462
+ blocks: [
463
+ {
464
+ slug: 'blockA',
465
+ fields: [
466
+ {
467
+ name: 'a',
468
+ type: 'text'
469
+ },
470
+ {
471
+ name: 'b',
472
+ type: 'text'
473
+ },
474
+ {
475
+ name: 'c',
476
+ type: 'text'
477
+ }
478
+ ]
479
+ }
480
+ ]
481
+ }
482
+ ];
483
+ const valueFrom = {
484
+ blocks: [
485
+ {
486
+ blockType: 'blockA',
487
+ a: 'original',
488
+ b: 'original',
489
+ c: 'original'
490
+ },
491
+ {
492
+ blockType: 'blockA',
493
+ a: 'original',
494
+ b: 'original'
495
+ }
496
+ ]
497
+ };
498
+ const valueTo = {
499
+ blocks: [
500
+ {
501
+ blockType: 'blockA',
502
+ a: 'changed',
503
+ b: 'changed',
504
+ c: 'original'
505
+ },
506
+ {
507
+ blockType: 'blockA',
508
+ a: 'changed',
509
+ b: 'changed',
510
+ c: 'changed'
511
+ }
512
+ ]
513
+ };
514
+ const result = countChangedFields({
515
+ valueFrom,
516
+ fields,
517
+ valueTo,
518
+ locales
519
+ });
520
+ expect(result).toBe(5);
521
+ });
522
+ it('should count changed fields between blocks with different slugs', ()=>{
523
+ const fields = [
524
+ {
525
+ name: 'blocks',
526
+ type: 'blocks',
527
+ blocks: [
528
+ {
529
+ slug: 'blockA',
530
+ fields: [
531
+ {
532
+ name: 'a',
533
+ type: 'text'
534
+ },
535
+ {
536
+ name: 'b',
537
+ type: 'text'
538
+ },
539
+ {
540
+ name: 'c',
541
+ type: 'text'
542
+ }
543
+ ]
544
+ },
545
+ {
546
+ slug: 'blockB',
547
+ fields: [
548
+ {
549
+ name: 'b',
550
+ type: 'text'
551
+ },
552
+ {
553
+ name: 'c',
554
+ type: 'text'
555
+ },
556
+ {
557
+ name: 'd',
558
+ type: 'text'
559
+ }
560
+ ]
561
+ }
562
+ ]
563
+ }
564
+ ];
565
+ const valueFrom = {
566
+ blocks: [
567
+ {
568
+ blockType: 'blockA',
569
+ a: 'removed',
570
+ b: 'original',
571
+ c: 'original'
572
+ }
573
+ ]
574
+ };
575
+ const valueTo = {
576
+ blocks: [
577
+ {
578
+ blockType: 'blockB',
579
+ b: 'original',
580
+ c: 'changed',
581
+ d: 'new'
582
+ }
583
+ ]
584
+ };
585
+ const result = countChangedFields({
586
+ valueFrom,
587
+ fields,
588
+ valueTo,
589
+ locales
590
+ });
591
+ expect(result).toBe(3);
592
+ });
593
+ describe('localized fields', ()=>{
594
+ const locales = [
595
+ 'en',
596
+ 'de'
597
+ ];
598
+ it('should count simple localized fields', ()=>{
599
+ const fields = [
600
+ {
601
+ name: 'a',
602
+ type: 'text',
603
+ localized: true
604
+ },
605
+ {
606
+ name: 'b',
607
+ type: 'text',
608
+ localized: true
609
+ }
610
+ ];
611
+ const valueFrom = {
612
+ a: {
613
+ en: 'original',
614
+ de: 'original'
615
+ },
616
+ b: {
617
+ en: 'original',
618
+ de: 'original'
619
+ }
620
+ };
621
+ const valueTo = {
622
+ a: {
623
+ en: 'changed',
624
+ de: 'original'
625
+ },
626
+ b: {
627
+ en: 'original',
628
+ de: 'original'
629
+ }
630
+ };
631
+ const result = countChangedFields({
632
+ valueFrom,
633
+ fields,
634
+ valueTo,
635
+ locales
636
+ });
637
+ expect(result).toBe(1);
638
+ });
639
+ it('should count multiple locales of the same localized field', ()=>{
640
+ const locales = [
641
+ 'en',
642
+ 'de'
643
+ ];
644
+ const fields = [
645
+ {
646
+ name: 'a',
647
+ type: 'text',
648
+ localized: true
649
+ },
650
+ {
651
+ name: 'b',
652
+ type: 'text',
653
+ localized: true
654
+ }
655
+ ];
656
+ const valueFrom = {
657
+ a: {
658
+ en: 'original',
659
+ de: 'original'
660
+ },
661
+ b: {
662
+ en: 'original',
663
+ de: 'original'
664
+ }
665
+ };
666
+ const valueTo = {
667
+ a: {
668
+ en: 'changed',
669
+ de: 'changed'
670
+ },
671
+ b: {
672
+ en: 'original',
673
+ de: 'original'
674
+ }
675
+ };
676
+ const result = countChangedFields({
677
+ valueFrom,
678
+ fields,
679
+ valueTo,
680
+ locales
681
+ });
682
+ expect(result).toBe(2);
683
+ });
684
+ it('should count changed fields inside localized groups fields', ()=>{
685
+ const fields = [
686
+ {
687
+ type: 'group',
688
+ name: 'group',
689
+ localized: true,
690
+ fields: [
691
+ {
692
+ name: 'a',
693
+ type: 'text'
694
+ },
695
+ {
696
+ name: 'b',
697
+ type: 'text'
698
+ },
699
+ {
700
+ name: 'c',
701
+ type: 'text'
702
+ }
703
+ ]
704
+ }
705
+ ];
706
+ const valueFrom = {
707
+ group: {
708
+ en: {
709
+ a: 'original',
710
+ b: 'original',
711
+ c: 'original'
712
+ },
713
+ de: {
714
+ a: 'original',
715
+ b: 'original',
716
+ c: 'original'
717
+ }
718
+ }
719
+ };
720
+ const valueTo = {
721
+ group: {
722
+ en: {
723
+ a: 'changed',
724
+ b: 'changed',
725
+ c: 'original'
726
+ },
727
+ de: {
728
+ a: 'original',
729
+ b: 'changed',
730
+ c: 'original'
731
+ }
732
+ }
733
+ };
734
+ const result = countChangedFields({
735
+ valueFrom,
736
+ fields,
737
+ valueTo,
738
+ locales
739
+ });
740
+ expect(result).toBe(3);
741
+ });
742
+ it('should count changed fields inside localized tabs', ()=>{
743
+ const fields = [
744
+ {
745
+ type: 'tabs',
746
+ tabs: [
747
+ {
748
+ name: 'tab',
749
+ localized: true,
750
+ fields: [
751
+ {
752
+ name: 'a',
753
+ type: 'text'
754
+ },
755
+ {
756
+ name: 'b',
757
+ type: 'text'
758
+ },
759
+ {
760
+ name: 'c',
761
+ type: 'text'
762
+ }
763
+ ]
764
+ }
765
+ ]
766
+ }
767
+ ];
768
+ const valueFrom = {
769
+ tab: {
770
+ en: {
771
+ a: 'original',
772
+ b: 'original',
773
+ c: 'original'
774
+ },
775
+ de: {
776
+ a: 'original',
777
+ b: 'original',
778
+ c: 'original'
779
+ }
780
+ }
781
+ };
782
+ const valueTo = {
783
+ tab: {
784
+ en: {
785
+ a: 'changed',
786
+ b: 'changed',
787
+ c: 'original'
788
+ },
789
+ de: {
790
+ a: 'original',
791
+ b: 'changed',
792
+ c: 'original'
793
+ }
794
+ }
795
+ };
796
+ const result = countChangedFields({
797
+ valueFrom,
798
+ fields,
799
+ valueTo,
800
+ locales
801
+ });
802
+ expect(result).toBe(3);
803
+ });
804
+ it('should count changed fields inside localized array fields', ()=>{
805
+ const fields = [
806
+ {
807
+ name: 'arrayField',
808
+ type: 'array',
809
+ localized: true,
810
+ fields: [
811
+ {
812
+ name: 'a',
813
+ type: 'text'
814
+ },
815
+ {
816
+ name: 'b',
817
+ type: 'text'
818
+ },
819
+ {
820
+ name: 'c',
821
+ type: 'text'
822
+ }
823
+ ]
824
+ }
825
+ ];
826
+ const valueFrom = {
827
+ arrayField: {
828
+ en: [
829
+ {
830
+ a: 'original',
831
+ b: 'original',
832
+ c: 'original'
833
+ }
834
+ ],
835
+ de: [
836
+ {
837
+ a: 'original',
838
+ b: 'original',
839
+ c: 'original'
840
+ }
841
+ ]
842
+ }
843
+ };
844
+ const valueTo = {
845
+ arrayField: {
846
+ en: [
847
+ {
848
+ a: 'changed',
849
+ b: 'changed',
850
+ c: 'original'
851
+ }
852
+ ],
853
+ de: [
854
+ {
855
+ a: 'original',
856
+ b: 'changed',
857
+ c: 'original'
858
+ }
859
+ ]
860
+ }
861
+ };
862
+ const result = countChangedFields({
863
+ valueFrom,
864
+ fields,
865
+ valueTo,
866
+ locales
867
+ });
868
+ expect(result).toBe(3);
869
+ });
870
+ it('should count changed fields inside localized blocks fields', ()=>{
871
+ const fields = [
872
+ {
873
+ name: 'blocks',
874
+ type: 'blocks',
875
+ localized: true,
876
+ blocks: [
877
+ {
878
+ slug: 'blockA',
879
+ fields: [
880
+ {
881
+ name: 'a',
882
+ type: 'text'
883
+ },
884
+ {
885
+ name: 'b',
886
+ type: 'text'
887
+ },
888
+ {
889
+ name: 'c',
890
+ type: 'text'
891
+ }
892
+ ]
893
+ }
894
+ ]
895
+ }
896
+ ];
897
+ const valueFrom = {
898
+ blocks: {
899
+ en: [
900
+ {
901
+ blockType: 'blockA',
902
+ a: 'original',
903
+ b: 'original',
904
+ c: 'original'
905
+ }
906
+ ],
907
+ de: [
908
+ {
909
+ blockType: 'blockA',
910
+ a: 'original',
911
+ b: 'original',
912
+ c: 'original'
913
+ }
914
+ ]
915
+ }
916
+ };
917
+ const valueTo = {
918
+ blocks: {
919
+ en: [
920
+ {
921
+ blockType: 'blockA',
922
+ a: 'changed',
923
+ b: 'changed',
924
+ c: 'original'
925
+ }
926
+ ],
927
+ de: [
928
+ {
929
+ blockType: 'blockA',
930
+ a: 'original',
931
+ b: 'changed',
932
+ c: 'original'
933
+ }
934
+ ]
935
+ }
936
+ };
937
+ const result = countChangedFields({
938
+ valueFrom,
939
+ fields,
940
+ valueTo,
941
+ locales
942
+ });
943
+ expect(result).toBe(3);
944
+ });
784
945
  });
785
- });
786
946
  });
787
- describe('countChangedFieldsInRows', () => {
788
- it('should count fields in array rows', () => {
789
- const field = {
790
- name: 'myArray',
791
- type: 'array',
792
- fields: [{
793
- name: 'a',
794
- type: 'text'
795
- }, {
796
- name: 'b',
797
- type: 'text'
798
- }, {
799
- name: 'c',
800
- type: 'text'
801
- }]
802
- };
803
- const valueFromRows = [{
804
- a: 'original',
805
- b: 'original',
806
- c: 'original'
807
- }];
808
- const valueToRows = [{
809
- a: 'changed',
810
- b: 'changed',
811
- c: 'original'
812
- }];
813
- const result = countChangedFieldsInRows({
814
- valueFromRows,
815
- field,
816
- locales: undefined,
817
- valueToRows: valueToRows
947
+ describe('countChangedFieldsInRows', ()=>{
948
+ it('should count fields in array rows', ()=>{
949
+ const field = {
950
+ name: 'myArray',
951
+ type: 'array',
952
+ fields: [
953
+ {
954
+ name: 'a',
955
+ type: 'text'
956
+ },
957
+ {
958
+ name: 'b',
959
+ type: 'text'
960
+ },
961
+ {
962
+ name: 'c',
963
+ type: 'text'
964
+ }
965
+ ]
966
+ };
967
+ const valueFromRows = [
968
+ {
969
+ a: 'original',
970
+ b: 'original',
971
+ c: 'original'
972
+ }
973
+ ];
974
+ const valueToRows = [
975
+ {
976
+ a: 'changed',
977
+ b: 'changed',
978
+ c: 'original'
979
+ }
980
+ ];
981
+ const result = countChangedFieldsInRows({
982
+ valueFromRows,
983
+ field,
984
+ locales: undefined,
985
+ valueToRows: valueToRows
986
+ });
987
+ expect(result).toBe(2);
818
988
  });
819
- expect(result).toBe(2);
820
- });
821
- it('should count fields in blocks', () => {
822
- const field = {
823
- name: 'myBlocks',
824
- type: 'blocks',
825
- blocks: [{
826
- slug: 'blockA',
827
- fields: [{
828
- name: 'a',
829
- type: 'text'
830
- }, {
831
- name: 'b',
832
- type: 'text'
833
- }, {
834
- name: 'c',
835
- type: 'text'
836
- }]
837
- }]
838
- };
839
- const valueFromRows = [{
840
- blockType: 'blockA',
841
- a: 'original',
842
- b: 'original',
843
- c: 'original'
844
- }];
845
- const valueToRows = [{
846
- blockType: 'blockA',
847
- a: 'changed',
848
- b: 'changed',
849
- c: 'original'
850
- }];
851
- const result = countChangedFieldsInRows({
852
- valueFromRows,
853
- field,
854
- locales: undefined,
855
- valueToRows
989
+ it('should count fields in blocks', ()=>{
990
+ const field = {
991
+ name: 'myBlocks',
992
+ type: 'blocks',
993
+ blocks: [
994
+ {
995
+ slug: 'blockA',
996
+ fields: [
997
+ {
998
+ name: 'a',
999
+ type: 'text'
1000
+ },
1001
+ {
1002
+ name: 'b',
1003
+ type: 'text'
1004
+ },
1005
+ {
1006
+ name: 'c',
1007
+ type: 'text'
1008
+ }
1009
+ ]
1010
+ }
1011
+ ]
1012
+ };
1013
+ const valueFromRows = [
1014
+ {
1015
+ blockType: 'blockA',
1016
+ a: 'original',
1017
+ b: 'original',
1018
+ c: 'original'
1019
+ }
1020
+ ];
1021
+ const valueToRows = [
1022
+ {
1023
+ blockType: 'blockA',
1024
+ a: 'changed',
1025
+ b: 'changed',
1026
+ c: 'original'
1027
+ }
1028
+ ];
1029
+ const result = countChangedFieldsInRows({
1030
+ valueFromRows,
1031
+ field,
1032
+ locales: undefined,
1033
+ valueToRows
1034
+ });
1035
+ expect(result).toBe(2);
856
1036
  });
857
- expect(result).toBe(2);
858
- });
859
1037
  });
1038
+
860
1039
  //# sourceMappingURL=countChangedFields.spec.js.map