@payloadcms/next 3.80.0-internal-debug.7019cc9 → 3.80.0-internal.0311fce

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