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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/dist/auth/login.js +58 -52
  2. package/dist/auth/login.js.map +1 -1
  3. package/dist/auth/logout.js +44 -39
  4. package/dist/auth/logout.js.map +1 -1
  5. package/dist/auth/refresh.js +47 -45
  6. package/dist/auth/refresh.js.map +1 -1
  7. package/dist/cjs/withPayload.cjs +41 -65
  8. package/dist/cjs/withPayload.cjs.map +1 -1
  9. package/dist/config.js +0 -1
  10. package/dist/config.js.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +15 -9
  12. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +72 -26
  14. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +54 -36
  16. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/index.js +64 -42
  18. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +24 -8
  20. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  21. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +69 -61
  22. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  23. package/dist/elements/DocumentHeader/index.js +29 -11
  24. package/dist/elements/DocumentHeader/index.js.map +1 -1
  25. package/dist/elements/FormHeader/index.js +17 -10
  26. package/dist/elements/FormHeader/index.js.map +1 -1
  27. package/dist/elements/Logo/index.js +34 -19
  28. package/dist/elements/Logo/index.js.map +1 -1
  29. package/dist/elements/Nav/NavHamburger/index.js +45 -8
  30. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  31. package/dist/elements/Nav/NavWrapper/index.js +55 -15
  32. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  33. package/dist/elements/Nav/SettingsMenuButton/index.js +40 -11
  34. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  35. package/dist/elements/Nav/getNavPrefs.js +22 -27
  36. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  37. package/dist/elements/Nav/index.client.js +111 -42
  38. package/dist/elements/Nav/index.client.js.map +1 -1
  39. package/dist/elements/Nav/index.js +121 -90
  40. package/dist/elements/Nav/index.js.map +1 -1
  41. package/dist/exports/auth.js +0 -1
  42. package/dist/exports/auth.js.map +1 -1
  43. package/dist/exports/client.js +1 -1
  44. package/dist/exports/client.js.map +1 -1
  45. package/dist/exports/layouts.js +0 -1
  46. package/dist/exports/layouts.js.map +1 -1
  47. package/dist/exports/routes.js +0 -1
  48. package/dist/exports/routes.js.map +1 -1
  49. package/dist/exports/rsc.js +0 -1
  50. package/dist/exports/rsc.js.map +1 -1
  51. package/dist/exports/templates.js +0 -1
  52. package/dist/exports/templates.js.map +1 -1
  53. package/dist/exports/utilities.js +12 -7
  54. package/dist/exports/utilities.js.map +1 -1
  55. package/dist/exports/views.js +0 -1
  56. package/dist/exports/views.js.map +1 -1
  57. package/dist/index.js +0 -1
  58. package/dist/index.js.map +1 -1
  59. package/dist/layouts/Root/NestProviders.js +21 -13
  60. package/dist/layouts/Root/NestProviders.js.map +1 -1
  61. package/dist/layouts/Root/checkDependencies.js +41 -49
  62. package/dist/layouts/Root/checkDependencies.js.map +1 -1
  63. package/dist/layouts/Root/index.js +104 -64
  64. package/dist/layouts/Root/index.js.map +1 -1
  65. package/dist/prod/styles.css +1 -5
  66. package/dist/routes/graphql/handler.js +122 -114
  67. package/dist/routes/graphql/handler.js.map +1 -1
  68. package/dist/routes/graphql/index.js +0 -1
  69. package/dist/routes/graphql/index.js.map +1 -1
  70. package/dist/routes/graphql/playground.js +23 -24
  71. package/dist/routes/graphql/playground.js.map +1 -1
  72. package/dist/routes/index.js +0 -1
  73. package/dist/routes/index.js.map +1 -1
  74. package/dist/routes/rest/index.js +19 -20
  75. package/dist/routes/rest/index.js.map +1 -1
  76. package/dist/routes/rest/og/image.js +72 -60
  77. package/dist/routes/rest/og/image.js.map +1 -1
  78. package/dist/routes/rest/og/index.js +55 -46
  79. package/dist/routes/rest/og/index.js.map +1 -1
  80. package/dist/templates/Default/NavHamburger/index.js +21 -4
  81. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  82. package/dist/templates/Default/Wrapper/index.js +45 -14
  83. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  84. package/dist/templates/Default/index.js +133 -115
  85. package/dist/templates/Default/index.js.map +1 -1
  86. package/dist/templates/Minimal/index.js +18 -12
  87. package/dist/templates/Minimal/index.js.map +1 -1
  88. package/dist/utilities/getExistingAuthToken.js +2 -3
  89. package/dist/utilities/getExistingAuthToken.js.map +1 -1
  90. package/dist/utilities/getNextRequestI18n.js +13 -12
  91. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  92. package/dist/utilities/getPayloadHMR.js +5 -5
  93. package/dist/utilities/getPayloadHMR.js.map +1 -1
  94. package/dist/utilities/getPreferences.js +22 -27
  95. package/dist/utilities/getPreferences.js.map +1 -1
  96. package/dist/utilities/getRequestLocale.js +14 -13
  97. package/dist/utilities/getRequestLocale.js.map +1 -1
  98. package/dist/utilities/getRequestTheme.js +19 -19
  99. package/dist/utilities/getRequestTheme.js.map +1 -1
  100. package/dist/utilities/getRouteWithoutAdmin.js +5 -3
  101. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
  102. package/dist/utilities/getVisibleEntities.js +23 -12
  103. package/dist/utilities/getVisibleEntities.js.map +1 -1
  104. package/dist/utilities/handleAuthRedirect.js +36 -22
  105. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  106. package/dist/utilities/handleServerFunctions.js +39 -32
  107. package/dist/utilities/handleServerFunctions.js.map +1 -1
  108. package/dist/utilities/initReq.js +96 -78
  109. package/dist/utilities/initReq.js.map +1 -1
  110. package/dist/utilities/isCustomAdminView.js +26 -22
  111. package/dist/utilities/isCustomAdminView.js.map +1 -1
  112. package/dist/utilities/isPublicAdminRoute.js +20 -26
  113. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  114. package/dist/utilities/meta.js +63 -68
  115. package/dist/utilities/meta.js.map +1 -1
  116. package/dist/utilities/selectiveCache.js +26 -25
  117. package/dist/utilities/selectiveCache.js.map +1 -1
  118. package/dist/utilities/setPayloadAuthCookie.js +22 -19
  119. package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
  120. package/dist/utilities/slugify.js +33 -24
  121. package/dist/utilities/slugify.js.map +1 -1
  122. package/dist/utilities/timestamp.js +6 -7
  123. package/dist/utilities/timestamp.js.map +1 -1
  124. package/dist/views/API/LocaleSelector/index.js +39 -7
  125. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  126. package/dist/views/API/RenderJSON/index.js +119 -67
  127. package/dist/views/API/RenderJSON/index.js.map +1 -1
  128. package/dist/views/API/index.client.js +184 -132
  129. package/dist/views/API/index.client.js.map +1 -1
  130. package/dist/views/API/index.js +3 -2
  131. package/dist/views/API/index.js.map +1 -1
  132. package/dist/views/API/metadata.js +23 -18
  133. package/dist/views/API/metadata.js.map +1 -1
  134. package/dist/views/Account/ResetPreferences/index.js +91 -47
  135. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  136. package/dist/views/Account/Settings/LanguageSelector.js +48 -7
  137. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  138. package/dist/views/Account/Settings/index.js +29 -17
  139. package/dist/views/Account/Settings/index.js.map +1 -1
  140. package/dist/views/Account/ToggleTheme/index.js +56 -28
  141. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  142. package/dist/views/Account/index.client.js +32 -16
  143. package/dist/views/Account/index.client.js.map +1 -1
  144. package/dist/views/Account/index.js +156 -87
  145. package/dist/views/Account/index.js.map +1 -1
  146. package/dist/views/Account/metadata.js +12 -8
  147. package/dist/views/Account/metadata.js.map +1 -1
  148. package/dist/views/BrowseByFolder/buildView.js +159 -130
  149. package/dist/views/BrowseByFolder/buildView.js.map +1 -1
  150. package/dist/views/BrowseByFolder/index.js +16 -16
  151. package/dist/views/BrowseByFolder/index.js.map +1 -1
  152. package/dist/views/BrowseByFolder/metadata.js +15 -13
  153. package/dist/views/BrowseByFolder/metadata.js.map +1 -1
  154. package/dist/views/CollectionFolders/buildView.js +144 -114
  155. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  156. package/dist/views/CollectionFolders/index.js +16 -16
  157. package/dist/views/CollectionFolders/index.js.map +1 -1
  158. package/dist/views/CollectionFolders/metadata.js +21 -18
  159. package/dist/views/CollectionFolders/metadata.js.map +1 -1
  160. package/dist/views/CollectionFolders/renderFolderViewSlots.js +61 -58
  161. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -1
  162. package/dist/views/CollectionTrash/index.js +17 -17
  163. package/dist/views/CollectionTrash/index.js.map +1 -1
  164. package/dist/views/CollectionTrash/metadata.js +21 -18
  165. package/dist/views/CollectionTrash/metadata.js.map +1 -1
  166. package/dist/views/CreateFirstUser/index.client.js +98 -56
  167. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  168. package/dist/views/CreateFirstUser/index.js +82 -57
  169. package/dist/views/CreateFirstUser/index.js.map +1 -1
  170. package/dist/views/CreateFirstUser/metadata.js +12 -8
  171. package/dist/views/CreateFirstUser/metadata.js.map +1 -1
  172. package/dist/views/Dashboard/Default/index.js +128 -77
  173. package/dist/views/Dashboard/Default/index.js.map +1 -1
  174. package/dist/views/Dashboard/index.js +90 -78
  175. package/dist/views/Dashboard/index.js.map +1 -1
  176. package/dist/views/Dashboard/metadata.js +14 -10
  177. package/dist/views/Dashboard/metadata.js.map +1 -1
  178. package/dist/views/Document/getCustomDocumentViewByKey.js +2 -3
  179. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
  180. package/dist/views/Document/getCustomViewByRoute.js +30 -27
  181. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  182. package/dist/views/Document/getDocPreferences.js +41 -40
  183. package/dist/views/Document/getDocPreferences.js.map +1 -1
  184. package/dist/views/Document/getDocumentData.js +55 -44
  185. package/dist/views/Document/getDocumentData.js.map +1 -1
  186. package/dist/views/Document/getDocumentPermissions.js +80 -77
  187. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  188. package/dist/views/Document/getDocumentView.js +283 -313
  189. package/dist/views/Document/getDocumentView.js.map +1 -1
  190. package/dist/views/Document/getIsLocked.js +66 -66
  191. package/dist/views/Document/getIsLocked.js.map +1 -1
  192. package/dist/views/Document/getMetaBySegment.js +136 -130
  193. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  194. package/dist/views/Document/getVersions.js +194 -204
  195. package/dist/views/Document/getVersions.js.map +1 -1
  196. package/dist/views/Document/handleServerFunction.js +128 -103
  197. package/dist/views/Document/handleServerFunction.js.map +1 -1
  198. package/dist/views/Document/index.js +351 -250
  199. package/dist/views/Document/index.js.map +1 -1
  200. package/dist/views/Document/metadata.js +1 -2
  201. package/dist/views/Document/metadata.js.map +1 -1
  202. package/dist/views/Document/renderDocumentSlots.js +132 -121
  203. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  204. package/dist/views/Edit/index.js +7 -3
  205. package/dist/views/Edit/index.js.map +1 -1
  206. package/dist/views/Edit/metadata.js +46 -36
  207. package/dist/views/Edit/metadata.js.map +1 -1
  208. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +151 -70
  209. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  210. package/dist/views/ForgotPassword/index.js +61 -26
  211. package/dist/views/ForgotPassword/index.js.map +1 -1
  212. package/dist/views/ForgotPassword/metadata.js +12 -8
  213. package/dist/views/ForgotPassword/metadata.js.map +1 -1
  214. package/dist/views/List/createSerializableValue.js +11 -12
  215. package/dist/views/List/createSerializableValue.js.map +1 -1
  216. package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
  217. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  218. package/dist/views/List/extractRelationshipDisplayValue.js +14 -15
  219. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
  220. package/dist/views/List/extractValueOrRelationshipID.js +15 -16
  221. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
  222. package/dist/views/List/handleGroupBy.js +150 -133
  223. package/dist/views/List/handleGroupBy.js.map +1 -1
  224. package/dist/views/List/handleServerFunction.js +119 -96
  225. package/dist/views/List/handleServerFunction.js.map +1 -1
  226. package/dist/views/List/index.js +324 -284
  227. package/dist/views/List/index.js.map +1 -1
  228. package/dist/views/List/metadata.js +20 -17
  229. package/dist/views/List/metadata.js.map +1 -1
  230. package/dist/views/List/renderListViewSlots.js +75 -70
  231. package/dist/views/List/renderListViewSlots.js.map +1 -1
  232. package/dist/views/List/resolveAllFilterOptions.js +45 -43
  233. package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
  234. package/dist/views/List/transformColumnsToSelect.js +8 -9
  235. package/dist/views/List/transformColumnsToSelect.js.map +1 -1
  236. package/dist/views/Login/LoginField/index.js +90 -32
  237. package/dist/views/Login/LoginField/index.js.map +1 -1
  238. package/dist/views/Login/LoginForm/index.js +156 -55
  239. package/dist/views/Login/LoginForm/index.js.map +1 -1
  240. package/dist/views/Login/index.js +86 -50
  241. package/dist/views/Login/index.js.map +1 -1
  242. package/dist/views/Login/metadata.js +12 -8
  243. package/dist/views/Login/metadata.js.map +1 -1
  244. package/dist/views/Logout/LogoutClient.js +119 -54
  245. package/dist/views/Logout/LogoutClient.js.map +1 -1
  246. package/dist/views/Logout/index.js +30 -8
  247. package/dist/views/Logout/index.js.map +1 -1
  248. package/dist/views/Logout/metadata.js +11 -7
  249. package/dist/views/Logout/metadata.js.map +1 -1
  250. package/dist/views/NotFound/index.client.js +83 -32
  251. package/dist/views/NotFound/index.client.js.map +1 -1
  252. package/dist/views/NotFound/index.js +73 -44
  253. package/dist/views/NotFound/index.js.map +1 -1
  254. package/dist/views/NotFound/metadata.js +9 -7
  255. package/dist/views/NotFound/metadata.js.map +1 -1
  256. package/dist/views/ResetPassword/ResetPasswordForm/index.js +107 -49
  257. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  258. package/dist/views/ResetPassword/index.js +72 -29
  259. package/dist/views/ResetPassword/index.js.map +1 -1
  260. package/dist/views/ResetPassword/metadata.js +12 -8
  261. package/dist/views/ResetPassword/metadata.js.map +1 -1
  262. package/dist/views/Root/attachViewActions.js +23 -18
  263. package/dist/views/Root/attachViewActions.js.map +1 -1
  264. package/dist/views/Root/generateCustomViewMetadata.js +21 -19
  265. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
  266. package/dist/views/Root/getCustomViewByKey.js +14 -12
  267. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  268. package/dist/views/Root/getCustomViewByRoute.js +42 -31
  269. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  270. package/dist/views/Root/getDocumentViewInfo.js +23 -24
  271. package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
  272. package/dist/views/Root/getRouteData.js +325 -333
  273. package/dist/views/Root/getRouteData.js.map +1 -1
  274. package/dist/views/Root/index.js +265 -203
  275. package/dist/views/Root/index.js.map +1 -1
  276. package/dist/views/Root/isPathMatchingRoute.js +26 -21
  277. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  278. package/dist/views/Root/metadata.js +181 -176
  279. package/dist/views/Root/metadata.js.map +1 -1
  280. package/dist/views/Unauthorized/index.js +45 -18
  281. package/dist/views/Unauthorized/index.js.map +1 -1
  282. package/dist/views/Unauthorized/metadata.js +12 -8
  283. package/dist/views/Unauthorized/metadata.js.map +1 -1
  284. package/dist/views/Verify/index.client.js +43 -25
  285. package/dist/views/Verify/index.client.js.map +1 -1
  286. package/dist/views/Verify/index.js +62 -31
  287. package/dist/views/Verify/index.js.map +1 -1
  288. package/dist/views/Verify/metadata.js +12 -8
  289. package/dist/views/Verify/metadata.js.map +1 -1
  290. package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
  291. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  292. package/dist/views/Version/Default/SetStepNav.js +127 -86
  293. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  294. package/dist/views/Version/Default/index.js +236 -174
  295. package/dist/views/Version/Default/index.js.map +1 -1
  296. package/dist/views/Version/Default/types.js +1 -2
  297. package/dist/views/Version/Default/types.js.map +1 -1
  298. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +120 -54
  299. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  300. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +74 -37
  301. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  302. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +408 -363
  303. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  304. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +52 -12
  305. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  306. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +66 -21
  307. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  308. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +57 -15
  309. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  310. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +118 -55
  311. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  312. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +41 -36
  313. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  314. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +179 -65
  315. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  316. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +12 -5
  317. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  318. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +72 -34
  319. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  320. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +139 -57
  321. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  322. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +80 -42
  323. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  324. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +211 -103
  325. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  326. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +22 -23
  327. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  328. package/dist/views/Version/RenderFieldsToDiff/index.js +9 -4
  329. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  330. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +228 -213
  331. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  332. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +826 -1005
  333. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  334. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +1 -2
  335. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
  336. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +43 -44
  337. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
  338. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js +22 -25
  339. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js.map +1 -1
  340. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +36 -32
  341. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  342. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +129 -145
  343. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  344. package/dist/views/Version/Restore/index.js +92 -77
  345. package/dist/views/Version/Restore/index.js.map +1 -1
  346. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +50 -25
  347. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  348. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +227 -140
  349. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  350. package/dist/views/Version/SelectComparison/index.js +51 -44
  351. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  352. package/dist/views/Version/SelectComparison/types.js +1 -2
  353. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  354. package/dist/views/Version/SelectLocales/index.js +30 -16
  355. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  356. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +95 -37
  357. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  358. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +27 -23
  359. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
  360. package/dist/views/Version/fetchVersions.js +138 -113
  361. package/dist/views/Version/fetchVersions.js.map +1 -1
  362. package/dist/views/Version/index.js +323 -283
  363. package/dist/views/Version/index.js.map +1 -1
  364. package/dist/views/Version/metadata.js +50 -43
  365. package/dist/views/Version/metadata.js.map +1 -1
  366. package/dist/views/Versions/buildColumns.js +80 -47
  367. package/dist/views/Versions/buildColumns.js.map +1 -1
  368. package/dist/views/Versions/cells/AutosaveCell/index.js +39 -8
  369. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  370. package/dist/views/Versions/cells/CreatedAt/index.js +54 -25
  371. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  372. package/dist/views/Versions/cells/ID/index.js +9 -4
  373. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  374. package/dist/views/Versions/index.client.js +83 -28
  375. package/dist/views/Versions/index.client.js.map +1 -1
  376. package/dist/views/Versions/index.js +140 -94
  377. package/dist/views/Versions/index.js.map +1 -1
  378. package/dist/views/Versions/metadata.js +44 -37
  379. package/dist/views/Versions/metadata.js.map +1 -1
  380. package/dist/views/Versions/types.js +1 -2
  381. package/dist/views/Versions/types.js.map +1 -1
  382. package/dist/withPayload.d.ts +8 -2
  383. package/dist/withPayload.d.ts.map +1 -1
  384. package/dist/withPayload.js +145 -219
  385. package/dist/withPayload.js.map +1 -1
  386. package/dist/withPayload.utils.d.ts +58 -0
  387. package/dist/withPayload.utils.d.ts.map +1 -0
  388. package/dist/withPayload.utils.js +101 -0
  389. package/dist/withPayload.utils.js.map +1 -0
  390. package/dist/withPayloadLegacy.d.ts +6 -0
  391. package/dist/withPayloadLegacy.d.ts.map +1 -0
  392. package/dist/withPayloadLegacy.js +44 -0
  393. package/dist/withPayloadLegacy.js.map +1 -0
  394. package/package.json +15 -17
  395. package/dist/esbuildEntry.d.ts +0 -5
  396. package/dist/esbuildEntry.d.ts.map +0 -1
  397. package/dist/esbuildEntry.js +0 -6
  398. package/dist/esbuildEntry.js.map +0 -1
@@ -1,1039 +1,860 @@
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
- {
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);
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
31
26
  });
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);
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
58
340
  });
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);
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
82
381
  });
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);
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
109
432
  });
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 = {
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
486
+ });
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);
528
+ });
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);
567
+ });
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: {
132
587
  a: 'original',
133
588
  b: 'original',
134
589
  c: 'original'
135
- };
136
- const valueTo = {
590
+ },
591
+ de: {
592
+ a: 'original',
593
+ b: 'original',
594
+ c: 'original'
595
+ }
596
+ }
597
+ };
598
+ const valueTo = {
599
+ group: {
600
+ en: {
137
601
  a: 'changed',
138
602
  b: 'changed',
139
603
  c: 'original'
140
- };
141
- const result = countChangedFields({
142
- valueFrom,
143
- fields,
144
- valueTo,
145
- locales
146
- });
147
- expect(result).toBe(2);
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);
148
619
  });
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 = {
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: {
170
646
  a: 'original',
171
647
  b: 'original',
172
648
  c: 'original'
173
- };
174
- const valueTo = {
649
+ }
650
+ }
651
+ };
652
+ const valueTo = {
653
+ tab: {
654
+ en: {
175
655
  a: 'changed',
176
656
  b: 'changed',
177
657
  c: 'original'
178
- };
179
- const result = countChangedFields({
180
- valueFrom,
181
- fields,
182
- valueTo,
183
- locales
184
- });
185
- expect(result).toBe(2);
186
- });
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);
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);
229
673
  });
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 = {
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: [{
256
693
  a: 'original',
257
694
  b: 'original',
258
695
  c: 'original'
259
- };
260
- const valueTo = {
696
+ }],
697
+ de: [{
698
+ a: 'original',
699
+ b: 'original',
700
+ c: 'original'
701
+ }]
702
+ }
703
+ };
704
+ const valueTo = {
705
+ arrayField: {
706
+ en: [{
261
707
  a: 'changed',
262
708
  b: 'changed',
263
709
  c: 'original'
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);
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);
319
725
  });
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 = {
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',
333
749
  a: 'original',
334
- b: 'original'
335
- };
336
- const valueTo = {
750
+ b: 'original',
751
+ c: 'original'
752
+ }],
753
+ de: [{
754
+ blockType: 'blockA',
337
755
  a: 'original',
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
- });
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);
945
784
  });
785
+ });
946
786
  });
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);
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
988
818
  });
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);
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
1036
856
  });
857
+ expect(result).toBe(2);
858
+ });
1037
859
  });
1038
-
1039
860
  //# sourceMappingURL=countChangedFields.spec.js.map