@ruya.sa/next 3.71.3

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