@payloadcms/ui 4.0.0-internal.5d5a2b2 → 4.0.0-internal.688c4d0

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 (493) hide show
  1. package/dist/css/colors.css +107 -60
  2. package/dist/css/radius.css +1 -3
  3. package/dist/css/theme.css +4 -0
  4. package/dist/css/utilities.css +5 -0
  5. package/dist/elements/APIKeyInput/index.css +92 -0
  6. package/dist/elements/APIKeyInput/index.d.ts +14 -0
  7. package/dist/elements/APIKeyInput/index.d.ts.map +1 -0
  8. package/dist/elements/APIKeyInput/index.js +86 -0
  9. package/dist/elements/APIKeyInput/index.js.map +1 -0
  10. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  11. package/dist/elements/AddNewRelation/index.js +85 -103
  12. package/dist/elements/AddNewRelation/index.js.map +1 -1
  13. package/dist/elements/AppHeader/index.d.ts +2 -1
  14. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  15. package/dist/elements/AppHeader/index.js +7 -27
  16. package/dist/elements/AppHeader/index.js.map +1 -1
  17. package/dist/elements/BulkUpload/ActionsBar/index.css +10 -4
  18. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  19. package/dist/elements/BulkUpload/ActionsBar/index.js +43 -40
  20. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/AddFilesView/index.js +1 -1
  22. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/AddingFilesView/index.css +25 -0
  24. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +1 -1
  25. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  26. package/dist/elements/BulkUpload/AddingFilesView/index.js +1 -1
  27. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/EditForm/index.css +9 -0
  29. package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
  30. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  31. package/dist/elements/BulkUpload/EditForm/index.js +1 -1
  32. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  33. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts +1 -1
  34. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  35. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +59 -55
  36. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  37. package/dist/elements/BulkUpload/EditMany/index.css +71 -0
  38. package/dist/elements/BulkUpload/EditMany/index.d.ts +1 -1
  39. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  40. package/dist/elements/BulkUpload/EditMany/index.js +1 -1
  41. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  42. package/dist/elements/BulkUpload/FileSidebar/index.css +54 -75
  43. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  44. package/dist/elements/BulkUpload/FileSidebar/index.js +60 -50
  45. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  46. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  47. package/dist/elements/BulkUpload/FormsManager/index.js +13 -0
  48. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  49. package/dist/elements/Button/index.css +8 -0
  50. package/dist/elements/Chip/index.css +1 -1
  51. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  52. package/dist/elements/CodeEditor/CodeEditor.js +19 -0
  53. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  54. package/dist/elements/ColumnSelector/index.js +1 -1
  55. package/dist/elements/ColumnSelector/index.js.map +1 -1
  56. package/dist/elements/Combobox/index.css +9 -8
  57. package/dist/elements/ConfirmationModal/index.css +7 -0
  58. package/dist/elements/ConfirmationModal/index.d.ts +1 -0
  59. package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
  60. package/dist/elements/ConfirmationModal/index.js +7 -3
  61. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  62. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  63. package/dist/elements/DatePicker/DatePicker.js +4 -2
  64. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  65. package/dist/elements/DatePicker/index.css +5 -0
  66. package/dist/elements/DatePicker/index.js +1 -1
  67. package/dist/elements/DatePicker/index.js.map +1 -1
  68. package/dist/elements/DeleteMany/index.d.ts +3 -26
  69. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  70. package/dist/elements/DeleteMany/index.js +1 -95
  71. package/dist/elements/DeleteMany/index.js.map +1 -1
  72. package/dist/elements/Dialog/DialogModal/index.d.ts +1 -1
  73. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  74. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  75. package/dist/elements/Dialog/index.css +4 -0
  76. package/dist/elements/DocumentControls/index.css +10 -0
  77. package/dist/elements/DocumentControls/index.d.ts +6 -0
  78. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  79. package/dist/elements/DocumentControls/index.js +7 -6
  80. package/dist/elements/DocumentControls/index.js.map +1 -1
  81. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  82. package/dist/elements/DocumentDrawer/DrawerContent.js +10 -6
  83. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  84. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +76 -4
  85. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +7 -1
  86. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  87. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +148 -87
  88. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  89. package/dist/elements/DocumentDrawer/types.d.ts +1 -0
  90. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  91. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  92. package/dist/elements/DocumentFields/index.css +61 -2
  93. package/dist/elements/DraggableSortable/index.js.map +1 -1
  94. package/dist/elements/Drawer/index.css +57 -26
  95. package/dist/elements/Drawer/index.d.ts +25 -0
  96. package/dist/elements/Drawer/index.d.ts.map +1 -1
  97. package/dist/elements/Drawer/index.js +133 -54
  98. package/dist/elements/Drawer/index.js.map +1 -1
  99. package/dist/elements/Drawer/types.d.ts +1 -0
  100. package/dist/elements/Drawer/types.d.ts.map +1 -1
  101. package/dist/elements/Drawer/types.js.map +1 -1
  102. package/dist/elements/EditMany/DrawerContent.d.ts +1 -1
  103. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  104. package/dist/elements/EditMany/DrawerContent.js +76 -71
  105. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  106. package/dist/elements/EditMany/index.css +71 -0
  107. package/dist/elements/EditMany/index.d.ts +9 -11
  108. package/dist/elements/EditMany/index.d.ts.map +1 -1
  109. package/dist/elements/EditMany/index.js +2 -40
  110. package/dist/elements/EditMany/index.js.map +1 -1
  111. package/dist/elements/FieldSelect/index.css +3 -0
  112. package/dist/elements/FileDetails/DraggableFileDetails/index.css +32 -0
  113. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  114. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  115. package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -18
  116. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  117. package/dist/elements/GroupByControl/index.d.ts.map +1 -1
  118. package/dist/elements/GroupByControl/index.js +5 -6
  119. package/dist/elements/GroupByControl/index.js.map +1 -1
  120. package/dist/elements/Hierarchy/Drawer/index.css +3 -21
  121. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +1 -1
  122. package/dist/elements/Hierarchy/Drawer/index.js +5 -3
  123. package/dist/elements/Hierarchy/Drawer/index.js.map +1 -1
  124. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +36 -0
  125. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +1 -1
  126. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
  127. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +1 -1
  128. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
  129. package/dist/elements/Hierarchy/Field/index.client.d.ts +1 -1
  130. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  131. package/dist/elements/Hierarchy/Field/index.client.js +5 -2
  132. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  133. package/dist/elements/Hierarchy/Field/index.css +37 -0
  134. package/dist/elements/Hierarchy/MoveMany/index.d.ts +0 -1
  135. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  136. package/dist/elements/Hierarchy/MoveMany/index.js +0 -1
  137. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  138. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +27 -0
  139. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +1 -1
  140. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +1 -1
  141. package/dist/elements/Hierarchy/Tree/LoadMore/index.js +1 -1
  142. package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +1 -1
  143. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  144. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +36 -16
  145. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  146. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  147. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +20 -15
  148. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  149. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  150. package/dist/elements/ListControls/index.css +5 -0
  151. package/dist/elements/ListControls/index.d.ts.map +1 -1
  152. package/dist/elements/ListControls/index.js +1 -1
  153. package/dist/elements/ListControls/index.js.map +1 -1
  154. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  155. package/dist/elements/ListDrawer/DrawerContent.js +12 -6
  156. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  157. package/dist/elements/ListSelection/index.css +1 -1
  158. package/dist/elements/LoadMoreRow/index.css +34 -0
  159. package/dist/elements/LoadMoreRow/index.d.ts +1 -1
  160. package/dist/elements/LoadMoreRow/index.d.ts.map +1 -1
  161. package/dist/elements/LoadMoreRow/index.js +4 -8
  162. package/dist/elements/LoadMoreRow/index.js.map +1 -1
  163. package/dist/elements/Loading/index.css +28 -74
  164. package/dist/elements/Loading/index.d.ts.map +1 -1
  165. package/dist/elements/Loading/index.js +16 -60
  166. package/dist/elements/Loading/index.js.map +1 -1
  167. package/dist/elements/Localizer/index.d.ts.map +1 -1
  168. package/dist/elements/Localizer/index.js +3 -4
  169. package/dist/elements/Localizer/index.js.map +1 -1
  170. package/dist/elements/MenuSeparator/index.d.ts +4 -0
  171. package/dist/elements/MenuSeparator/index.d.ts.map +1 -0
  172. package/dist/elements/MenuSeparator/index.js +10 -0
  173. package/dist/elements/MenuSeparator/index.js.map +1 -0
  174. package/dist/elements/Nav/index.d.ts.map +1 -1
  175. package/dist/elements/Nav/index.js +4 -23
  176. package/dist/elements/Nav/index.js.map +1 -1
  177. package/dist/elements/Pill/index.css +1 -1
  178. package/dist/elements/PillSelector/index.css +1 -1
  179. package/dist/elements/Popup/PopupButtonList/index.css +43 -4
  180. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  181. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  182. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  183. package/dist/elements/Popup/PopupGroupLabel/index.css +12 -0
  184. package/dist/elements/Popup/index.d.ts +7 -0
  185. package/dist/elements/Popup/index.d.ts.map +1 -1
  186. package/dist/elements/Popup/index.js +125 -59
  187. package/dist/elements/Popup/index.js.map +1 -1
  188. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts +13 -0
  189. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -0
  190. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js +41 -0
  191. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js.map +1 -0
  192. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +1 -0
  193. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  194. package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
  195. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  196. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  197. package/dist/elements/PublishButton/index.js +4 -5
  198. package/dist/elements/PublishButton/index.js.map +1 -1
  199. package/dist/elements/ReactSelect/MultiValue/index.css +1 -1
  200. package/dist/elements/ReactSelect/index.css +53 -52
  201. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  202. package/dist/elements/ReactSelect/index.js +87 -11
  203. package/dist/elements/ReactSelect/index.js.map +1 -1
  204. package/dist/elements/ReactSelect/types.d.ts +6 -1
  205. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  206. package/dist/elements/ReactSelect/types.js.map +1 -1
  207. package/dist/elements/RenderTitle/index.css +10 -0
  208. package/dist/elements/RenderTitle/index.d.ts +5 -0
  209. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  210. package/dist/elements/RenderTitle/index.js +52 -27
  211. package/dist/elements/RenderTitle/index.js.map +1 -1
  212. package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
  213. package/dist/elements/SchedulePublishButton/index.js +6 -1
  214. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  215. package/dist/elements/SelectMany/index.js +1 -1
  216. package/dist/elements/SelectMany/index.js.map +1 -1
  217. package/dist/elements/Spinner/index.css +16 -0
  218. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  219. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +1 -2
  220. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  221. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  222. package/dist/elements/Table/OrderableRow.js +1 -1
  223. package/dist/elements/Table/OrderableRow.js.map +1 -1
  224. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  225. package/dist/elements/Table/RelationshipProvider/index.js +1 -0
  226. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  227. package/dist/elements/Table/index.css +17 -10
  228. package/dist/elements/Tabs/index.css +100 -0
  229. package/dist/elements/Tabs/index.d.ts +32 -0
  230. package/dist/elements/Tabs/index.d.ts.map +1 -0
  231. package/dist/elements/Tabs/index.js +62 -0
  232. package/dist/elements/Tabs/index.js.map +1 -0
  233. package/dist/elements/TimezonePicker/index.css +58 -24
  234. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  235. package/dist/elements/TimezonePicker/index.js +31 -4
  236. package/dist/elements/TimezonePicker/index.js.map +1 -1
  237. package/dist/elements/Tooltip/index.css +20 -4
  238. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  239. package/dist/elements/Tooltip/index.js +71 -3
  240. package/dist/elements/Tooltip/index.js.map +1 -1
  241. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  242. package/dist/elements/UnpublishButton/index.js +5 -13
  243. package/dist/elements/UnpublishButton/index.js.map +1 -1
  244. package/dist/elements/UserMenu/LanguageMenu/index.d.ts +6 -0
  245. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -0
  246. package/dist/elements/UserMenu/LanguageMenu/index.js +133 -0
  247. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -0
  248. package/dist/elements/UserMenu/SettingsMenu/index.d.ts +11 -0
  249. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -0
  250. package/dist/elements/UserMenu/SettingsMenu/index.js +114 -0
  251. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -0
  252. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts +6 -0
  253. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -0
  254. package/dist/elements/UserMenu/SubMenuHeader/index.js +34 -0
  255. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -0
  256. package/dist/elements/UserMenu/ThemeMenu/index.d.ts +6 -0
  257. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -0
  258. package/dist/elements/UserMenu/ThemeMenu/index.js +145 -0
  259. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -0
  260. package/dist/elements/UserMenu/index.css +80 -0
  261. package/dist/elements/UserMenu/index.d.ts +9 -0
  262. package/dist/elements/UserMenu/index.d.ts.map +1 -0
  263. package/dist/elements/UserMenu/index.js +201 -0
  264. package/dist/elements/UserMenu/index.js.map +1 -0
  265. package/dist/elements/WhereBuilder/Condition/index.css +1 -1
  266. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  267. package/dist/elements/WhereBuilder/Condition/index.js +3 -0
  268. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  269. package/dist/exports/client/index.d.ts +12 -1
  270. package/dist/exports/client/index.d.ts.map +1 -1
  271. package/dist/exports/client/index.js +2 -2
  272. package/dist/exports/client/index.js.map +3 -3
  273. package/dist/exports/shared/index.js +2 -2
  274. package/dist/exports/shared/index.js.map +2 -2
  275. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +1 -49
  276. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.d.ts.map +1 -1
  277. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +27 -20
  278. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  279. package/dist/fields/Blocks/BlockSelector/index.css +17 -3
  280. package/dist/fields/Blocks/BlockSelector/index.js +1 -1
  281. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  282. package/dist/fields/Blocks/index.d.ts.map +1 -1
  283. package/dist/fields/Blocks/index.js +6 -11
  284. package/dist/fields/Blocks/index.js.map +1 -1
  285. package/dist/fields/Group/index.css +1 -1
  286. package/dist/fields/Join/index.js +1 -1
  287. package/dist/fields/Join/index.js.map +1 -1
  288. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +3 -3
  289. package/dist/fields/Row/index.d.ts +1 -1
  290. package/dist/fields/Tabs/Tab/index.d.ts +0 -1
  291. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  292. package/dist/fields/Tabs/Tab/index.js +12 -23
  293. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  294. package/dist/fields/Tabs/index.d.ts.map +1 -1
  295. package/dist/fields/Tabs/index.js +37 -37
  296. package/dist/fields/Tabs/index.js.map +1 -1
  297. package/dist/fields/Upload/HasMany/index.css +4 -0
  298. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  299. package/dist/forms/RenderFields/RenderField.js +2 -1
  300. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  301. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -1
  302. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  303. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +1 -1
  304. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  305. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -1
  306. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  307. package/dist/forms/useField/index.js.map +1 -1
  308. package/dist/icons/Dots/index.css +4 -4
  309. package/dist/icons/Gear/index.d.ts.map +1 -1
  310. package/dist/icons/Gear/index.js +8 -1
  311. package/dist/icons/Gear/index.js.map +1 -1
  312. package/dist/icons/InteractionEnter/index.css +5 -0
  313. package/dist/icons/InteractionEnter/index.d.ts +11 -0
  314. package/dist/icons/InteractionEnter/index.d.ts.map +1 -0
  315. package/dist/icons/InteractionEnter/index.js +25 -0
  316. package/dist/icons/InteractionEnter/index.js.map +1 -0
  317. package/dist/icons/{Write → Key}/index.css +1 -1
  318. package/dist/icons/Key/index.d.ts +7 -0
  319. package/dist/icons/Key/index.d.ts.map +1 -0
  320. package/dist/icons/Key/index.js +24 -0
  321. package/dist/icons/Key/index.js.map +1 -0
  322. package/dist/icons/LogOut/index.js +2 -2
  323. package/dist/icons/LogOut/index.js.map +1 -1
  324. package/dist/icons/Schedule/index.d.ts.map +1 -1
  325. package/dist/icons/Schedule/index.js +38 -39
  326. package/dist/icons/Schedule/index.js.map +1 -1
  327. package/dist/icons/VariableColor/index.css +5 -0
  328. package/dist/icons/VariableColor/index.d.ts +7 -0
  329. package/dist/icons/VariableColor/index.d.ts.map +1 -0
  330. package/dist/icons/VariableColor/index.js +23 -0
  331. package/dist/icons/VariableColor/index.js.map +1 -0
  332. package/dist/icons/WarningTriangle/index.css +5 -0
  333. package/dist/icons/WarningTriangle/index.d.ts +6 -0
  334. package/dist/icons/WarningTriangle/index.d.ts.map +1 -0
  335. package/dist/icons/WarningTriangle/index.js +21 -0
  336. package/dist/icons/WarningTriangle/index.js.map +1 -0
  337. package/dist/icons/Write/index.d.ts +0 -1
  338. package/dist/icons/Write/index.d.ts.map +1 -1
  339. package/dist/icons/Write/index.js +1 -2
  340. package/dist/icons/Write/index.js.map +1 -1
  341. package/dist/providers/Auth/index.d.ts +3 -1
  342. package/dist/providers/Auth/index.d.ts.map +1 -1
  343. package/dist/providers/Auth/index.js +8 -3
  344. package/dist/providers/Auth/index.js.map +1 -1
  345. package/dist/providers/Config/index.js.map +1 -1
  346. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  347. package/dist/providers/DocumentInfo/index.js +4 -0
  348. package/dist/providers/DocumentInfo/index.js.map +1 -1
  349. package/dist/providers/DocumentInfo/types.d.ts +4 -0
  350. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  351. package/dist/providers/DocumentInfo/types.js.map +1 -1
  352. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  353. package/dist/providers/ListQuery/index.js +1 -8
  354. package/dist/providers/ListQuery/index.js.map +1 -1
  355. package/dist/providers/Root/index.d.ts.map +1 -1
  356. package/dist/providers/Root/index.js +27 -24
  357. package/dist/providers/Root/index.js.map +1 -1
  358. package/dist/providers/TableColumns/RenderDefaultCell/index.css +1 -0
  359. package/dist/providers/Theme/index.d.ts +17 -2
  360. package/dist/providers/Theme/index.d.ts.map +1 -1
  361. package/dist/providers/Theme/index.js +126 -75
  362. package/dist/providers/Theme/index.js.map +1 -1
  363. package/dist/styles.css +1 -1
  364. package/dist/templates/Default/index.d.ts.map +1 -1
  365. package/dist/templates/Default/index.js +9 -1
  366. package/dist/templates/Default/index.js.map +1 -1
  367. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +1 -2
  368. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  369. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +1 -2
  370. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  371. package/dist/utilities/copyDataFromLocale.js +1 -1
  372. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  373. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  374. package/dist/utilities/formatDocTitle/formatDateTitle.js +1 -1
  375. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  376. package/dist/utilities/getHasScheduledPublish.d.ts +12 -0
  377. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -0
  378. package/dist/utilities/getHasScheduledPublish.js +38 -0
  379. package/dist/utilities/getHasScheduledPublish.js.map +1 -0
  380. package/dist/utilities/getVersions.d.ts.map +1 -1
  381. package/dist/utilities/getVersions.js +1 -21
  382. package/dist/utilities/getVersions.js.map +1 -1
  383. package/dist/utilities/renderTable.js +1 -1
  384. package/dist/utilities/renderTable.js.map +1 -1
  385. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  386. package/dist/utilities/traverseForLocalizedFields.js +3 -0
  387. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  388. package/dist/views/Account/ResetPreferences/index.js +1 -0
  389. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  390. package/dist/views/Account/Settings/index.css +30 -13
  391. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  392. package/dist/views/Account/ToggleTheme/index.js +31 -47
  393. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  394. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  395. package/dist/views/Document/index.d.ts.map +1 -1
  396. package/dist/views/Document/index.js +10 -1
  397. package/dist/views/Document/index.js.map +1 -1
  398. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  399. package/dist/views/Edit/Auth/APIKey.js +10 -32
  400. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  401. package/dist/views/Edit/Auth/index.css +0 -67
  402. package/dist/views/Edit/index.d.ts.map +1 -1
  403. package/dist/views/Edit/index.js +62 -48
  404. package/dist/views/Edit/index.js.map +1 -1
  405. package/dist/views/HierarchyList/DocumentListSelection/index.js +4 -4
  406. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  407. package/dist/views/List/ListHeader/index.css +23 -1
  408. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  409. package/dist/views/List/ListHeader/index.js +0 -1
  410. package/dist/views/List/ListHeader/index.js.map +1 -1
  411. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  412. package/dist/views/List/ListSelection/index.js +80 -29
  413. package/dist/views/List/ListSelection/index.js.map +1 -1
  414. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  415. package/dist/views/List/handleGroupBy.js +9 -0
  416. package/dist/views/List/handleGroupBy.js.map +1 -1
  417. package/dist/views/List/index.client.d.ts.map +1 -1
  418. package/dist/views/List/index.client.js +4 -3
  419. package/dist/views/List/index.client.js.map +1 -1
  420. package/dist/views/List/index.css +15 -0
  421. package/dist/views/List/index.d.ts.map +1 -1
  422. package/dist/views/List/index.js +11 -4
  423. package/dist/views/List/index.js.map +1 -1
  424. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  425. package/dist/views/List/renderListViewSlots.js +8 -0
  426. package/dist/views/List/renderListViewSlots.js.map +1 -1
  427. package/dist/views/Logout/LogoutClient.d.ts +14 -0
  428. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  429. package/dist/views/Logout/LogoutClient.js +38 -32
  430. package/dist/views/Logout/LogoutClient.js.map +1 -1
  431. package/dist/views/Logout/index.d.ts.map +1 -1
  432. package/dist/views/Logout/index.js +7 -2
  433. package/dist/views/Logout/index.js.map +1 -1
  434. package/dist/views/Verify/index.client.d.ts +4 -0
  435. package/dist/views/Verify/index.client.d.ts.map +1 -1
  436. package/dist/views/Verify/index.client.js +81 -0
  437. package/dist/views/Verify/index.client.js.map +1 -1
  438. package/dist/views/Verify/index.css +38 -0
  439. package/dist/views/Verify/index.d.ts +1 -1
  440. package/dist/views/Verify/index.d.ts.map +1 -1
  441. package/dist/views/Verify/index.js +13 -19
  442. package/dist/views/Verify/index.js.map +1 -1
  443. package/dist/views/Version/Default/index.css +3 -5
  444. package/dist/views/Version/Default/index.d.ts.map +1 -1
  445. package/dist/views/Version/Default/index.js +7 -28
  446. package/dist/views/Version/Default/index.js.map +1 -1
  447. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +2 -2
  448. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  449. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  450. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
  451. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +3 -3
  452. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  453. package/dist/views/Version/Restore/index.css +2 -2
  454. package/dist/views/Version/SelectComparison/VersionDrawer/index.css +5 -0
  455. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts +1 -1
  456. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  457. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +1 -2
  458. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  459. package/dist/views/Version/SelectComparison/index.css +5 -0
  460. package/dist/views/Version/SelectComparison/index.d.ts +1 -1
  461. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  462. package/dist/views/Version/SelectComparison/index.js +1 -1
  463. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  464. package/dist/views/Version/SelectLocales/index.d.ts +1 -2
  465. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  466. package/dist/views/Version/SelectLocales/index.js +83 -32
  467. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  468. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  469. package/dist/views/Versions/index.css +20 -13
  470. package/dist/views/Versions/index.d.ts +1 -1
  471. package/dist/views/Versions/index.d.ts.map +1 -1
  472. package/dist/views/Versions/index.js +3 -26
  473. package/dist/views/Versions/index.js.map +1 -1
  474. package/package.json +5 -5
  475. package/dist/elements/BulkUpload/AddingFilesView/index.scss +0 -25
  476. package/dist/elements/BulkUpload/EditForm/index.scss +0 -11
  477. package/dist/elements/BulkUpload/EditMany/index.scss +0 -171
  478. package/dist/elements/EditMany/index.scss +0 -182
  479. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +0 -35
  480. package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +0 -78
  481. package/dist/elements/Hierarchy/Field/index.scss +0 -41
  482. package/dist/elements/Hierarchy/MoveMany/index.scss +0 -7
  483. package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +0 -26
  484. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +0 -7
  485. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +0 -1
  486. package/dist/elements/Hierarchy/Tree/TreeConnector.js +0 -23
  487. package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +0 -1
  488. package/dist/elements/LoadMoreRow/index.scss +0 -45
  489. package/dist/fields/Tabs/Tab/index.css +0 -82
  490. package/dist/views/Unauthorized/index.scss +0 -14
  491. package/dist/views/Verify/index.scss +0 -18
  492. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +0 -18
  493. package/dist/views/Version/SelectComparison/index.scss +0 -9
@@ -0,0 +1,38 @@
1
+ @layer payload-default {
2
+ .verify {
3
+ display: flex;
4
+ align-items: center;
5
+ text-align: center;
6
+ flex-wrap: wrap;
7
+ min-height: 100vh;
8
+ }
9
+
10
+ .verify .template-minimal__wrap {
11
+ max-width: unset;
12
+ }
13
+
14
+ .verify__brand {
15
+ display: flex;
16
+ justify-content: center;
17
+ width: 100%;
18
+ margin-bottom: var(--spacer-3);
19
+ }
20
+
21
+ .verify__content {
22
+ display: flex;
23
+ flex-direction: column;
24
+ align-items: center;
25
+ gap: var(--spacer-2);
26
+ width: 100%;
27
+ }
28
+
29
+ .verify__content p {
30
+ margin: 0;
31
+ color: var(--color-text-secondary);
32
+ }
33
+
34
+ .verify__content p a {
35
+ color: inherit;
36
+ text-decoration: underline;
37
+ }
38
+ }
@@ -1,6 +1,6 @@
1
1
  import type { AdminViewServerProps } from 'payload';
2
2
  import React from 'react';
3
- import './index.scss';
3
+ import './index.css';
4
4
  export declare const verifyBaseClass = "verify";
5
5
  export declare function Verify({ initPageResult, params, searchParams }: AdminViewServerProps): Promise<React.JSX.Element>;
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Verify/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAGnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,eAAe,WAAW,CAAA;AAEvC,wBAAsB,MAAM,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,oBAAoB,8BA2D1F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Verify/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAGnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,aAAa,CAAA;AAEpB,eAAO,MAAM,eAAe,WAAW,CAAA;AAEvC,wBAAsB,MAAM,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,oBAAoB,8BAqD1F"}
@@ -3,8 +3,8 @@ import { formatAdminURL } from 'payload/shared';
3
3
  import React from 'react';
4
4
  import { Logo } from '../../elements/Logo/index.js';
5
5
  // eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds
6
- import { ToastAndRedirect } from '../../exports/client/index.js';
7
- import './index.scss';
6
+ import { VerifyClient } from '../../exports/client/index.js';
7
+ import './index.css';
8
8
  export const verifyBaseClass = 'verify';
9
9
  export async function Verify({
10
10
  initPageResult,
@@ -29,10 +29,8 @@ export async function Verify({
29
29
  const {
30
30
  routes: {
31
31
  admin: adminRoute
32
- },
33
- serverURL
32
+ }
34
33
  } = config;
35
- let textToRender;
36
34
  let isVerified = false;
37
35
  try {
38
36
  await req.payload.verifyEmail({
@@ -40,19 +38,13 @@ export async function Verify({
40
38
  token
41
39
  });
42
40
  isVerified = true;
43
- textToRender = req.t('authentication:emailVerified');
44
- } catch (e) {
45
- textToRender = req.t('authentication:unableToVerify');
46
- }
47
- if (isVerified) {
48
- return /*#__PURE__*/_jsx(ToastAndRedirect, {
49
- message: req.t('authentication:emailVerified'),
50
- redirectTo: formatAdminURL({
51
- adminRoute,
52
- path: '/login'
53
- })
54
- });
41
+ } catch {
42
+ // Verification failed - isVerified stays false
55
43
  }
44
+ const loginRoute = formatAdminURL({
45
+ adminRoute,
46
+ path: '/login'
47
+ });
56
48
  return /*#__PURE__*/_jsxs(React.Fragment, {
57
49
  children: [/*#__PURE__*/_jsx("div", {
58
50
  className: `${verifyBaseClass}__brand`,
@@ -66,8 +58,10 @@ export async function Verify({
66
58
  server: req.server,
67
59
  user: user
68
60
  })
69
- }), /*#__PURE__*/_jsx("h2", {
70
- children: textToRender
61
+ }), isVerified ? /*#__PURE__*/_jsx(VerifyClient, {
62
+ loginRoute: loginRoute
63
+ }) : /*#__PURE__*/_jsx("h2", {
64
+ children: req.t('authentication:verificationFailedRequestNew')
71
65
  })]
72
66
  });
73
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["formatAdminURL","React","Logo","ToastAndRedirect","verifyBaseClass","Verify","initPageResult","params","searchParams","collectionSlug","verify","token","segments","locale","permissions","req","i18n","payload","config","user","routes","admin","adminRoute","serverURL","textToRender","isVerified","verifyEmail","collection","t","e","_jsx","message","redirectTo","path","_jsxs","Fragment","className","server"],"sources":["../../../src/views/Verify/index.tsx"],"sourcesContent":["import type { AdminViewServerProps } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nimport { Logo } from '../../elements/Logo/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds\nimport { ToastAndRedirect } from '../../exports/client/index.js'\nimport './index.scss'\n\nexport const verifyBaseClass = 'verify'\n\nexport async function Verify({ initPageResult, params, searchParams }: AdminViewServerProps) {\n // /:collectionSlug/verify/:token\n\n const [collectionSlug, verify, token] = params.segments\n const { locale, permissions, req } = initPageResult\n\n const {\n i18n,\n payload: { config },\n payload,\n user,\n } = req\n\n const {\n routes: { admin: adminRoute },\n serverURL,\n } = config\n\n let textToRender\n let isVerified = false\n\n try {\n await req.payload.verifyEmail({\n collection: collectionSlug,\n token,\n })\n\n isVerified = true\n textToRender = req.t('authentication:emailVerified')\n } catch (e) {\n textToRender = req.t('authentication:unableToVerify')\n }\n\n if (isVerified) {\n return (\n <ToastAndRedirect\n message={req.t('authentication:emailVerified')}\n redirectTo={formatAdminURL({ adminRoute, path: '/login' })}\n />\n )\n }\n\n return (\n <React.Fragment>\n <div className={`${verifyBaseClass}__brand`}>\n <Logo\n i18n={i18n}\n locale={locale}\n params={params}\n payload={payload}\n permissions={permissions}\n searchParams={searchParams}\n server={req.server}\n user={user}\n />\n </div>\n <h2>{textToRender}</h2>\n </React.Fragment>\n )\n}\n"],"mappings":";AAEA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,IAAI,QAAQ;AACrB;AACA,SAASC,gBAAgB,QAAQ;AACjC,OAAO;AAEP,OAAO,MAAMC,eAAA,GAAkB;AAE/B,OAAO,eAAeC,OAAO;EAAEC,cAAc;EAAEC,MAAM;EAAEC;AAAY,CAAwB;EACzF;EAEA,MAAM,CAACC,cAAA,EAAgBC,MAAA,EAAQC,KAAA,CAAM,GAAGJ,MAAA,CAAOK,QAAQ;EACvD,MAAM;IAAEC,MAAM;IAAEC,WAAW;IAAEC;EAAG,CAAE,GAAGT,cAAA;EAErC,MAAM;IACJU,IAAI;IACJC,OAAA,EAAS;MAAEC;IAAM,CAAE;IACnBD,OAAO;IACPE;EAAI,CACL,GAAGJ,GAAA;EAEJ,MAAM;IACJK,MAAA,EAAQ;MAAEC,KAAA,EAAOC;IAAU,CAAE;IAC7BC;EAAS,CACV,GAAGL,MAAA;EAEJ,IAAIM,YAAA;EACJ,IAAIC,UAAA,GAAa;EAEjB,IAAI;IACF,MAAMV,GAAA,CAAIE,OAAO,CAACS,WAAW,CAAC;MAC5BC,UAAA,EAAYlB,cAAA;MACZE;IACF;IAEAc,UAAA,GAAa;IACbD,YAAA,GAAeT,GAAA,CAAIa,CAAC,CAAC;EACvB,EAAE,OAAOC,CAAA,EAAG;IACVL,YAAA,GAAeT,GAAA,CAAIa,CAAC,CAAC;EACvB;EAEA,IAAIH,UAAA,EAAY;IACd,oBACEK,IAAA,CAAC3B,gBAAA;MACC4B,OAAA,EAAShB,GAAA,CAAIa,CAAC,CAAC;MACfI,UAAA,EAAYhC,cAAA,CAAe;QAAEsB,UAAA;QAAYW,IAAA,EAAM;MAAS;;EAG9D;EAEA,oBACEC,KAAA,CAACjC,KAAA,CAAMkC,QAAQ;4BACbL,IAAA,CAAC;MAAIM,SAAA,EAAW,GAAGhC,eAAA,SAAwB;gBACzC,aAAA0B,IAAA,CAAC5B,IAAA;QACCc,IAAA,EAAMA,IAAA;QACNH,MAAA,EAAQA,MAAA;QACRN,MAAA,EAAQA,MAAA;QACRU,OAAA,EAASA,OAAA;QACTH,WAAA,EAAaA,WAAA;QACbN,YAAA,EAAcA,YAAA;QACd6B,MAAA,EAAQtB,GAAA,CAAIsB,MAAM;QAClBlB,IAAA,EAAMA;;qBAGVW,IAAA,CAAC;gBAAIN;;;AAGX","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["formatAdminURL","React","Logo","VerifyClient","verifyBaseClass","Verify","initPageResult","params","searchParams","collectionSlug","verify","token","segments","locale","permissions","req","i18n","payload","config","user","routes","admin","adminRoute","isVerified","verifyEmail","collection","loginRoute","path","_jsxs","Fragment","_jsx","className","server","t"],"sources":["../../../src/views/Verify/index.tsx"],"sourcesContent":["import type { AdminViewServerProps } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nimport { Logo } from '../../elements/Logo/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds\nimport { VerifyClient } from '../../exports/client/index.js'\nimport './index.css'\n\nexport const verifyBaseClass = 'verify'\n\nexport async function Verify({ initPageResult, params, searchParams }: AdminViewServerProps) {\n // /:collectionSlug/verify/:token\n\n const [collectionSlug, verify, token] = params.segments\n const { locale, permissions, req } = initPageResult\n\n const {\n i18n,\n payload: { config },\n payload,\n user,\n } = req\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n let isVerified = false\n\n try {\n await req.payload.verifyEmail({\n collection: collectionSlug,\n token,\n })\n\n isVerified = true\n } catch {\n // Verification failed - isVerified stays false\n }\n\n const loginRoute = formatAdminURL({ adminRoute, path: '/login' })\n\n return (\n <React.Fragment>\n <div className={`${verifyBaseClass}__brand`}>\n <Logo\n i18n={i18n}\n locale={locale}\n params={params}\n payload={payload}\n permissions={permissions}\n searchParams={searchParams}\n server={req.server}\n user={user}\n />\n </div>\n {isVerified ? (\n <VerifyClient loginRoute={loginRoute} />\n ) : (\n <h2>{req.t('authentication:verificationFailedRequestNew')}</h2>\n )}\n </React.Fragment>\n )\n}\n"],"mappings":";AAEA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,IAAI,QAAQ;AACrB;AACA,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAEP,OAAO,MAAMC,eAAA,GAAkB;AAE/B,OAAO,eAAeC,OAAO;EAAEC,cAAc;EAAEC,MAAM;EAAEC;AAAY,CAAwB;EACzF;EAEA,MAAM,CAACC,cAAA,EAAgBC,MAAA,EAAQC,KAAA,CAAM,GAAGJ,MAAA,CAAOK,QAAQ;EACvD,MAAM;IAAEC,MAAM;IAAEC,WAAW;IAAEC;EAAG,CAAE,GAAGT,cAAA;EAErC,MAAM;IACJU,IAAI;IACJC,OAAA,EAAS;MAAEC;IAAM,CAAE;IACnBD,OAAO;IACPE;EAAI,CACL,GAAGJ,GAAA;EAEJ,MAAM;IACJK,MAAA,EAAQ;MAAEC,KAAA,EAAOC;IAAU;EAAE,CAC9B,GAAGJ,MAAA;EAEJ,IAAIK,UAAA,GAAa;EAEjB,IAAI;IACF,MAAMR,GAAA,CAAIE,OAAO,CAACO,WAAW,CAAC;MAC5BC,UAAA,EAAYhB,cAAA;MACZE;IACF;IAEAY,UAAA,GAAa;EACf,EAAE,MAAM;IACN;EAAA;EAGF,MAAMG,UAAA,GAAa1B,cAAA,CAAe;IAAEsB,UAAA;IAAYK,IAAA,EAAM;EAAS;EAE/D,oBACEC,KAAA,CAAC3B,KAAA,CAAM4B,QAAQ;4BACbC,IAAA,CAAC;MAAIC,SAAA,EAAW,GAAG3B,eAAA,SAAwB;gBACzC,aAAA0B,IAAA,CAAC5B,IAAA;QACCc,IAAA,EAAMA,IAAA;QACNH,MAAA,EAAQA,MAAA;QACRN,MAAA,EAAQA,MAAA;QACRU,OAAA,EAASA,OAAA;QACTH,WAAA,EAAaA,WAAA;QACbN,YAAA,EAAcA,YAAA;QACdwB,MAAA,EAAQjB,GAAA,CAAIiB,MAAM;QAClBb,IAAA,EAAMA;;QAGTI,UAAA,gBACCO,IAAA,CAAC3B,YAAA;MAAauB,UAAA,EAAYA;sBAE1BI,IAAA,CAAC;gBAAIf,GAAA,CAAIkB,CAAC,CAAC;;;AAInB","ignoreList":[]}
@@ -10,7 +10,7 @@
10
10
 
11
11
  .view-version-controls-top {
12
12
  border-bottom: var(--stroke-width-small) solid var(--color-border);
13
- padding: var(--spacer-2) var(--spacer-4);
13
+ padding: var(--spacer-2) var(--gutter-h);
14
14
  }
15
15
 
16
16
  .view-version-controls-top__wrapper {
@@ -39,7 +39,7 @@
39
39
 
40
40
  .view-version-controls-bottom {
41
41
  border-bottom: var(--stroke-width-small) solid var(--color-border);
42
- padding: var(--spacer-2-5) var(--spacer-4);
42
+ padding: var(--spacer-2-5) var(--gutter-h);
43
43
  position: relative;
44
44
 
45
45
  /* Vertical separator line */
@@ -138,7 +138,7 @@
138
138
  }
139
139
 
140
140
  .view-version__diff-wrap {
141
- padding: var(--spacer-3) var(--spacer-4);
141
+ padding: var(--spacer-3) var(--gutter-h);
142
142
  display: flex;
143
143
  flex-direction: column;
144
144
  gap: var(--spacer-3);
@@ -190,12 +190,10 @@
190
190
 
191
191
  .view-version-controls-top {
192
192
  order: 2;
193
- padding-inline: var(--spacer-3);
194
193
  }
195
194
 
196
195
  .view-version__diff-wrap {
197
196
  order: 3;
198
- padding: var(--spacer-3);
199
197
 
200
198
  /* Hide vertical separator on mobile */
201
199
  &::after {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2E,MAAM,OAAO,CAAA;AAG/F,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAczE,OAAO,aAAa,CAAA;AAQpB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA+PjE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2E,MAAM,OAAO,CAAA;AAG/F,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAYzE,OAAO,aAAa,CAAA;AAQpB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAkOjE,CAAA"}
@@ -2,10 +2,8 @@
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import React, { useCallback, useEffect, useMemo, useState } from 'react';
5
- import { Button } from '../../../elements/Button/index.js';
6
5
  import { Gutter } from '../../../elements/Gutter/index.js';
7
6
  import { CheckboxInput } from '../../../fields/Checkbox/Input.js';
8
- import { ChevronIcon } from '../../../icons/Chevron/index.js';
9
7
  import { useConfig } from '../../../providers/Config/index.js';
10
8
  import { useDocumentInfo } from '../../../providers/DocumentInfo/index.js';
11
9
  import { useLocale } from '../../../providers/Locale/index.js';
@@ -46,7 +44,6 @@ export const DefaultVersionView = ({
46
44
  t
47
45
  } = useTranslation();
48
46
  const [locales, setLocales] = useState([]);
49
- const [localeSelectorOpen, setLocaleSelectorOpen] = React.useState(false);
50
47
  useEffect(() => {
51
48
  if (config.localization) {
52
49
  const updatedLocales = config.localization.locales.map(locale => {
@@ -155,9 +152,9 @@ export const DefaultVersionView = ({
155
152
  }) : undefined, [versionFromCreatedAt, i18n, t]);
156
153
  return /*#__PURE__*/_jsxs("main", {
157
154
  className: baseClass,
158
- children: [/*#__PURE__*/_jsxs(Gutter, {
155
+ children: [/*#__PURE__*/_jsx(Gutter, {
159
156
  className: `${baseClass}-controls-top`,
160
- children: [/*#__PURE__*/_jsxs("div", {
157
+ children: /*#__PURE__*/_jsxs("div", {
161
158
  className: `${baseClass}-controls-top__wrapper`,
162
159
  children: [/*#__PURE__*/_jsx("h2", {
163
160
  children: i18n.t('version:compareVersions')
@@ -171,30 +168,12 @@ export const DefaultVersionView = ({
171
168
  label: i18n.t('version:modifiedOnly'),
172
169
  onToggle: onToggleModifiedOnly
173
170
  })
174
- }), localization && /*#__PURE__*/_jsxs(Button, {
175
- "aria-controls": `${baseClass}-locales`,
176
- "aria-expanded": localeSelectorOpen,
177
- buttonStyle: "pill",
178
- className: `${baseClass}__toggle-locales`,
179
- icon: /*#__PURE__*/_jsx(ChevronIcon, {
180
- direction: localeSelectorOpen ? 'up' : 'down'
181
- }),
182
- onClick: () => setLocaleSelectorOpen(localeSelectorOpen_0 => !localeSelectorOpen_0),
183
- size: "medium",
184
- children: [/*#__PURE__*/_jsxs("span", {
185
- className: `${baseClass}__toggle-locales-label`,
186
- children: [t('general:locales'), ":", ' ']
187
- }), /*#__PURE__*/_jsx("span", {
188
- className: `${baseClass}__toggle-locales-list`,
189
- children: locales.filter(locale_1 => locale_1.selected).map(locale_2 => locale_2.name).join(', ')
190
- })]
171
+ }), localization && /*#__PURE__*/_jsx(SelectLocales, {
172
+ locales: locales,
173
+ onChange: onChangeSelectedLocales
191
174
  })]
192
175
  })]
193
- }), localization && /*#__PURE__*/_jsx(SelectLocales, {
194
- locales: locales,
195
- localeSelectorOpen: localeSelectorOpen,
196
- onChange: onChangeSelectedLocales
197
- })]
176
+ })
198
177
  }), /*#__PURE__*/_jsx(Gutter, {
199
178
  className: `${baseClass}-controls-bottom`,
200
179
  children: /*#__PURE__*/_jsxs("div", {
@@ -253,7 +232,7 @@ export const DefaultVersionView = ({
253
232
  className: `${baseClass}__diff-wrap`,
254
233
  children: /*#__PURE__*/_jsx(SelectedLocalesContext, {
255
234
  value: {
256
- selectedLocales: locales.map(locale_3 => locale_3.name)
235
+ selectedLocales: locales.map(locale_1 => locale_1.name)
257
236
  },
258
237
  children: versionToCreatedAt && RenderedDiff
259
238
  })
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useMemo","useState","Button","Gutter","CheckboxInput","ChevronIcon","useConfig","useDocumentInfo","useLocale","usePathname","useRouter","useSearchParams","useRouteTransition","useTranslation","formatTimeToNow","Restore","SelectComparison","SelectLocales","SelectedLocalesContext","SetStepNav","baseClass","DefaultVersionView","canUpdate","modifiedOnly","modifiedOnlyProp","RenderedDiff","selectedLocales","selectedLocalesFromProps","versionFromCreatedAt","versionFromID","versionFromOptions","versionToCreatedAt","versionToCreatedAtFormatted","VersionToCreatedAtLabel","versionToID","versionToStatus","config","getEntityConfig","code","i18n","t","locales","setLocales","localeSelectorOpen","setLocaleSelectorOpen","localization","updatedLocales","map","locale","label","name","Label","selected","includes","id","originalDocID","collectionSlug","globalSlug","isTrashed","startRouteTransition","collectionConfig","globalConfig","router","pathname","searchParams","setModifiedOnly","updateSearchParams","args","current","URLSearchParams","Array","from","entries","set","length","delete","selectedLocaleCodes","push","JSON","stringify","search","toString","query","onToggleModifiedOnly","event","newModified","target","checked","onChangeSelectedLocales","onChangeVersionFrom","val","value","versionToTimeAgo","distance","date","versionFromTimeAgo","undefined","_jsxs","className","_jsx","onToggle","buttonStyle","icon","direction","onClick","size","filter","join","onChange","docID","labels","singular","status","versionDateFormatted","versionID"],"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { type FormEventHandler, useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { SelectablePill } from '../../../elements/PillSelector/index.js'\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { Gutter } from '../../../elements/Gutter/index.js'\nimport { CheckboxInput } from '../../../fields/Checkbox/Input.js'\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { usePathname, useRouter, useSearchParams } from '../../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { formatTimeToNow } from '../../../utilities/formatDocTitle/formatDateTitle.js'\nimport { Restore } from '../Restore/index.js'\nimport './index.css'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { type SelectedLocaleOnChange, SelectLocales } from '../SelectLocales/index.js'\nimport { SelectedLocalesContext } from './SelectedLocalesContext.js'\nimport { SetStepNav } from './SetStepNav.js'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n canUpdate,\n modifiedOnly: modifiedOnlyProp,\n RenderedDiff,\n selectedLocales: selectedLocalesFromProps,\n versionFromCreatedAt,\n versionFromID,\n versionFromOptions,\n versionToCreatedAt,\n versionToCreatedAtFormatted,\n VersionToCreatedAtLabel,\n versionToID,\n versionToStatus,\n}) => {\n const { config, getEntityConfig } = useConfig()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const [locales, setLocales] = useState<SelectablePill[]>([])\n const [localeSelectorOpen, setLocaleSelectorOpen] = React.useState(false)\n\n useEffect(() => {\n if (config.localization) {\n const updatedLocales = config.localization.locales.map((locale) => {\n let label = locale.label\n if (typeof locale.label !== 'string' && locale.label[code]) {\n label = locale.label[code]\n }\n\n return {\n name: locale.code,\n Label: label,\n selected: selectedLocalesFromProps.includes(locale.code),\n } as SelectablePill\n })\n setLocales(updatedLocales)\n }\n }, [code, config.localization, selectedLocalesFromProps])\n\n const { id: originalDocID, collectionSlug, globalSlug, isTrashed } = useDocumentInfo()\n const { startRouteTransition } = useRouteTransition()\n\n const { collectionConfig, globalConfig } = useMemo(() => {\n return {\n collectionConfig: getEntityConfig({ collectionSlug }),\n globalConfig: getEntityConfig({ globalSlug }),\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const router = useRouter()\n const pathname = usePathname()\n const searchParams = useSearchParams()\n const [modifiedOnly, setModifiedOnly] = useState(modifiedOnlyProp)\n\n const updateSearchParams = useCallback(\n (args: {\n modifiedOnly?: boolean\n selectedLocales?: SelectablePill[]\n versionFromID?: string\n }) => {\n // If the selected comparison doc or locales change, update URL params so that version page\n // This is so that RSC can update the version comparison state\n const current = new URLSearchParams(Array.from(searchParams.entries()))\n\n if (args?.versionFromID) {\n current.set('versionFrom', args?.versionFromID)\n }\n\n if (args?.selectedLocales) {\n if (!args.selectedLocales.length) {\n current.delete('localeCodes')\n } else {\n const selectedLocaleCodes: string[] = []\n for (const locale of args.selectedLocales) {\n if (locale.selected) {\n selectedLocaleCodes.push(locale.name)\n }\n }\n current.set('localeCodes', JSON.stringify(selectedLocaleCodes))\n }\n }\n\n if (args?.modifiedOnly === false) {\n current.set('modifiedOnly', 'false')\n } else if (args?.modifiedOnly === true) {\n current.delete('modifiedOnly')\n }\n\n const search = current.toString()\n const query = search ? `?${search}` : ''\n\n startRouteTransition(() => router.push(`${pathname}${query}`))\n },\n [pathname, router, searchParams, startRouteTransition],\n )\n\n const onToggleModifiedOnly: FormEventHandler<HTMLInputElement> = useCallback(\n (event) => {\n const newModified = (event.target as HTMLInputElement).checked\n setModifiedOnly(newModified)\n updateSearchParams({\n modifiedOnly: newModified,\n })\n },\n [updateSearchParams],\n )\n\n const onChangeSelectedLocales: SelectedLocaleOnChange = useCallback(\n ({ locales }) => {\n setLocales(locales)\n updateSearchParams({\n selectedLocales: locales,\n })\n },\n [updateSearchParams],\n )\n\n const onChangeVersionFrom: (val: CompareOption) => void = useCallback(\n (val) => {\n updateSearchParams({\n versionFromID: val.value,\n })\n },\n [updateSearchParams],\n )\n\n const { localization } = config\n\n const versionToTimeAgo = useMemo(\n () =>\n t('version:versionAgo', {\n distance: formatTimeToNow({\n date: versionToCreatedAt,\n i18n,\n }),\n }),\n [versionToCreatedAt, i18n, t],\n )\n\n const versionFromTimeAgo = useMemo(\n () =>\n versionFromCreatedAt\n ? t('version:versionAgo', {\n distance: formatTimeToNow({\n date: versionFromCreatedAt,\n i18n,\n }),\n })\n : undefined,\n [versionFromCreatedAt, i18n, t],\n )\n\n return (\n <main className={baseClass}>\n <Gutter className={`${baseClass}-controls-top`}>\n <div className={`${baseClass}-controls-top__wrapper`}>\n <h2>{i18n.t('version:compareVersions')}</h2>\n <div className={`${baseClass}-controls-top__wrapper-actions`}>\n <span className={`${baseClass}__modifiedCheckBox`}>\n <CheckboxInput\n checked={modifiedOnly}\n id={'modifiedOnly'}\n label={i18n.t('version:modifiedOnly')}\n onToggle={onToggleModifiedOnly}\n />\n </span>\n {localization && (\n <Button\n aria-controls={`${baseClass}-locales`}\n aria-expanded={localeSelectorOpen}\n buttonStyle=\"pill\"\n className={`${baseClass}__toggle-locales`}\n icon={<ChevronIcon direction={localeSelectorOpen ? 'up' : 'down'} />}\n onClick={() => setLocaleSelectorOpen((localeSelectorOpen) => !localeSelectorOpen)}\n size=\"medium\"\n >\n <span className={`${baseClass}__toggle-locales-label`}>\n {t('general:locales')}:{' '}\n </span>\n <span className={`${baseClass}__toggle-locales-list`}>\n {locales\n .filter((locale) => locale.selected)\n .map((locale) => locale.name)\n .join(', ')}\n </span>\n </Button>\n )}\n </div>\n </div>\n\n {localization && (\n <SelectLocales\n locales={locales}\n localeSelectorOpen={localeSelectorOpen}\n onChange={onChangeSelectedLocales}\n />\n )}\n </Gutter>\n <Gutter className={`${baseClass}-controls-bottom`}>\n <div className={`${baseClass}-controls-bottom__wrapper`}>\n <div className={`${baseClass}__version-from`}>\n <div className={`${baseClass}__version-from-labels`}>\n <span>{t('version:comparingAgainst')}</span>\n {versionFromTimeAgo && (\n <span className={`${baseClass}__time-elapsed`}>{versionFromTimeAgo}</span>\n )}\n </div>\n <SelectComparison\n collectionSlug={collectionSlug}\n docID={originalDocID}\n globalSlug={globalSlug}\n onChange={onChangeVersionFrom}\n versionFromID={versionFromID}\n versionFromOptions={versionFromOptions}\n />\n </div>\n\n <div className={`${baseClass}__version-to`}>\n <div className={`${baseClass}__version-to-labels`}>\n <span>{t('version:currentlyViewing')}</span>\n <span className={`${baseClass}__time-elapsed`}>{versionToTimeAgo}</span>\n </div>\n <div className={`${baseClass}__version-to-version`}>\n {VersionToCreatedAtLabel}\n {canUpdate && !isTrashed && (\n <Restore\n className={`${baseClass}__restore`}\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={originalDocID}\n status={versionToStatus}\n versionDateFormatted={versionToCreatedAtFormatted}\n versionID={versionToID}\n />\n )}\n </div>\n </div>\n </div>\n </Gutter>\n <SetStepNav\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n id={originalDocID}\n isTrashed={isTrashed}\n versionToCreatedAtFormatted={versionToCreatedAtFormatted}\n versionToID={versionToID}\n />\n <Gutter className={`${baseClass}__diff-wrap`}>\n <SelectedLocalesContext value={{ selectedLocales: locales.map((locale) => locale.name) }}>\n {versionToCreatedAt && RenderedDiff}\n </SelectedLocalesContext>\n </Gutter>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useMemo","useState","Gutter","CheckboxInput","useConfig","useDocumentInfo","useLocale","usePathname","useRouter","useSearchParams","useRouteTransition","useTranslation","formatTimeToNow","Restore","SelectComparison","SelectLocales","SelectedLocalesContext","SetStepNav","baseClass","DefaultVersionView","canUpdate","modifiedOnly","modifiedOnlyProp","RenderedDiff","selectedLocales","selectedLocalesFromProps","versionFromCreatedAt","versionFromID","versionFromOptions","versionToCreatedAt","versionToCreatedAtFormatted","VersionToCreatedAtLabel","versionToID","versionToStatus","config","getEntityConfig","code","i18n","t","locales","setLocales","localization","updatedLocales","map","locale","label","name","Label","selected","includes","id","originalDocID","collectionSlug","globalSlug","isTrashed","startRouteTransition","collectionConfig","globalConfig","router","pathname","searchParams","setModifiedOnly","updateSearchParams","args","current","URLSearchParams","Array","from","entries","set","length","delete","selectedLocaleCodes","push","JSON","stringify","search","toString","query","onToggleModifiedOnly","event","newModified","target","checked","onChangeSelectedLocales","onChangeVersionFrom","val","value","versionToTimeAgo","distance","date","versionFromTimeAgo","undefined","_jsxs","className","_jsx","onToggle","onChange","docID","labels","singular","status","versionDateFormatted","versionID"],"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { type FormEventHandler, useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { SelectablePill } from '../../../elements/PillSelector/index.js'\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport { Gutter } from '../../../elements/Gutter/index.js'\nimport { CheckboxInput } from '../../../fields/Checkbox/Input.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { usePathname, useRouter, useSearchParams } from '../../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { formatTimeToNow } from '../../../utilities/formatDocTitle/formatDateTitle.js'\nimport { Restore } from '../Restore/index.js'\nimport './index.css'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { type SelectedLocaleOnChange, SelectLocales } from '../SelectLocales/index.js'\nimport { SelectedLocalesContext } from './SelectedLocalesContext.js'\nimport { SetStepNav } from './SetStepNav.js'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n canUpdate,\n modifiedOnly: modifiedOnlyProp,\n RenderedDiff,\n selectedLocales: selectedLocalesFromProps,\n versionFromCreatedAt,\n versionFromID,\n versionFromOptions,\n versionToCreatedAt,\n versionToCreatedAtFormatted,\n VersionToCreatedAtLabel,\n versionToID,\n versionToStatus,\n}) => {\n const { config, getEntityConfig } = useConfig()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const [locales, setLocales] = useState<SelectablePill[]>([])\n\n useEffect(() => {\n if (config.localization) {\n const updatedLocales = config.localization.locales.map((locale) => {\n let label = locale.label\n if (typeof locale.label !== 'string' && locale.label[code]) {\n label = locale.label[code]\n }\n\n return {\n name: locale.code,\n Label: label,\n selected: selectedLocalesFromProps.includes(locale.code),\n } as SelectablePill\n })\n setLocales(updatedLocales)\n }\n }, [code, config.localization, selectedLocalesFromProps])\n\n const { id: originalDocID, collectionSlug, globalSlug, isTrashed } = useDocumentInfo()\n const { startRouteTransition } = useRouteTransition()\n\n const { collectionConfig, globalConfig } = useMemo(() => {\n return {\n collectionConfig: getEntityConfig({ collectionSlug }),\n globalConfig: getEntityConfig({ globalSlug }),\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const router = useRouter()\n const pathname = usePathname()\n const searchParams = useSearchParams()\n const [modifiedOnly, setModifiedOnly] = useState(modifiedOnlyProp)\n\n const updateSearchParams = useCallback(\n (args: {\n modifiedOnly?: boolean\n selectedLocales?: SelectablePill[]\n versionFromID?: string\n }) => {\n // If the selected comparison doc or locales change, update URL params so that version page\n // This is so that RSC can update the version comparison state\n const current = new URLSearchParams(Array.from(searchParams.entries()))\n\n if (args?.versionFromID) {\n current.set('versionFrom', args?.versionFromID)\n }\n\n if (args?.selectedLocales) {\n if (!args.selectedLocales.length) {\n current.delete('localeCodes')\n } else {\n const selectedLocaleCodes: string[] = []\n for (const locale of args.selectedLocales) {\n if (locale.selected) {\n selectedLocaleCodes.push(locale.name)\n }\n }\n current.set('localeCodes', JSON.stringify(selectedLocaleCodes))\n }\n }\n\n if (args?.modifiedOnly === false) {\n current.set('modifiedOnly', 'false')\n } else if (args?.modifiedOnly === true) {\n current.delete('modifiedOnly')\n }\n\n const search = current.toString()\n const query = search ? `?${search}` : ''\n\n startRouteTransition(() => router.push(`${pathname}${query}`))\n },\n [pathname, router, searchParams, startRouteTransition],\n )\n\n const onToggleModifiedOnly: FormEventHandler<HTMLInputElement> = useCallback(\n (event) => {\n const newModified = (event.target as HTMLInputElement).checked\n setModifiedOnly(newModified)\n updateSearchParams({\n modifiedOnly: newModified,\n })\n },\n [updateSearchParams],\n )\n\n const onChangeSelectedLocales: SelectedLocaleOnChange = useCallback(\n ({ locales }) => {\n setLocales(locales)\n updateSearchParams({\n selectedLocales: locales,\n })\n },\n [updateSearchParams],\n )\n\n const onChangeVersionFrom: (val: CompareOption) => void = useCallback(\n (val) => {\n updateSearchParams({\n versionFromID: val.value,\n })\n },\n [updateSearchParams],\n )\n\n const { localization } = config\n\n const versionToTimeAgo = useMemo(\n () =>\n t('version:versionAgo', {\n distance: formatTimeToNow({\n date: versionToCreatedAt,\n i18n,\n }),\n }),\n [versionToCreatedAt, i18n, t],\n )\n\n const versionFromTimeAgo = useMemo(\n () =>\n versionFromCreatedAt\n ? t('version:versionAgo', {\n distance: formatTimeToNow({\n date: versionFromCreatedAt,\n i18n,\n }),\n })\n : undefined,\n [versionFromCreatedAt, i18n, t],\n )\n\n return (\n <main className={baseClass}>\n <Gutter className={`${baseClass}-controls-top`}>\n <div className={`${baseClass}-controls-top__wrapper`}>\n <h2>{i18n.t('version:compareVersions')}</h2>\n <div className={`${baseClass}-controls-top__wrapper-actions`}>\n <span className={`${baseClass}__modifiedCheckBox`}>\n <CheckboxInput\n checked={modifiedOnly}\n id={'modifiedOnly'}\n label={i18n.t('version:modifiedOnly')}\n onToggle={onToggleModifiedOnly}\n />\n </span>\n {localization && <SelectLocales locales={locales} onChange={onChangeSelectedLocales} />}\n </div>\n </div>\n </Gutter>\n <Gutter className={`${baseClass}-controls-bottom`}>\n <div className={`${baseClass}-controls-bottom__wrapper`}>\n <div className={`${baseClass}__version-from`}>\n <div className={`${baseClass}__version-from-labels`}>\n <span>{t('version:comparingAgainst')}</span>\n {versionFromTimeAgo && (\n <span className={`${baseClass}__time-elapsed`}>{versionFromTimeAgo}</span>\n )}\n </div>\n <SelectComparison\n collectionSlug={collectionSlug}\n docID={originalDocID}\n globalSlug={globalSlug}\n onChange={onChangeVersionFrom}\n versionFromID={versionFromID}\n versionFromOptions={versionFromOptions}\n />\n </div>\n\n <div className={`${baseClass}__version-to`}>\n <div className={`${baseClass}__version-to-labels`}>\n <span>{t('version:currentlyViewing')}</span>\n <span className={`${baseClass}__time-elapsed`}>{versionToTimeAgo}</span>\n </div>\n <div className={`${baseClass}__version-to-version`}>\n {VersionToCreatedAtLabel}\n {canUpdate && !isTrashed && (\n <Restore\n className={`${baseClass}__restore`}\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={originalDocID}\n status={versionToStatus}\n versionDateFormatted={versionToCreatedAtFormatted}\n versionID={versionToID}\n />\n )}\n </div>\n </div>\n </div>\n </Gutter>\n <SetStepNav\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n id={originalDocID}\n isTrashed={isTrashed}\n versionToCreatedAtFormatted={versionToCreatedAtFormatted}\n versionToID={versionToID}\n />\n <Gutter className={`${baseClass}__diff-wrap`}>\n <SelectedLocalesContext value={{ selectedLocales: locales.map((locale) => locale.name) }}>\n {versionToCreatedAt && RenderedDiff}\n </SelectedLocalesContext>\n </Gutter>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -340,13 +340,13 @@ const buildVersionField = ({
340
340
  const fromRow = Array.isArray(valueFrom) && valueFrom?.[i] || {};
341
341
  const toRow = Array.isArray(valueTo) && valueTo?.[i] || {};
342
342
  const blockSlugToMatch = toRow?.blockType ?? fromRow?.blockType;
343
- const toBlock = req.payload.blocks[blockSlugToMatch] ?? (field.blockReferences ?? field.blocks).find(block => typeof block !== 'string' && block.slug === blockSlugToMatch);
343
+ const toBlock = req.payload.blocks[blockSlugToMatch] ?? field.blocks.find(block => typeof block !== 'string' && block.slug === blockSlugToMatch);
344
344
  let fields = [];
345
345
  if (toRow.blockType === fromRow.blockType) {
346
346
  fields = toBlock.fields;
347
347
  } else {
348
348
  const fromBlockSlugToMatch = fromRow?.blockType ?? toRow?.blockType;
349
- const fromBlock = req.payload.blocks[fromBlockSlugToMatch] ?? (field.blockReferences ?? field.blocks).find(block => typeof block !== 'string' && block.slug === fromBlockSlugToMatch);
349
+ const fromBlock = req.payload.blocks[fromBlockSlugToMatch] ?? field.blocks.find(block => typeof block !== 'string' && block.slug === fromBlockSlugToMatch);
350
350
  if (fromBlock) {
351
351
  fields = getUniqueListBy([...toBlock.fields, ...fromBlock.fields], 'name');
352
352
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"buildVersionFields.js","names":["dequal","MissingEditorProp","fieldIsID","fieldShouldBeLocalized","getFieldPaths","getUniqueListBy","tabHasName","RenderServerComponent","diffComponents","buildVersionFields","clientSchemaMap","customDiffComponents","entitySlug","fields","fieldsPermissions","i18n","modifiedOnly","nestingLevel","parentIndexPath","parentIsLocalized","parentPath","parentSchemaPath","req","selectedLocales","versionFromSiblingData","versionToSiblingData","versionFields","fieldIndex","field","indexPath","path","schemaPath","index","clientField","get","payload","logger","error","clientFieldKey","clientSchemaMapKeys","Array","from","keys","msg","Error","versionField","isLocalized","fieldName","name","valueFrom","valueTo","fieldByLocale","locale","localizedVersionField","buildVersionField","parentFieldsPermissions","baseVersionField","localized","Object","length","push","hasReadPermission","fieldPermissions","undefined","read","CustomComponent","type","editor","CellComponent","DiffComponent","admin","components","Diff","DefaultComponent","tabs","tabIndex","tab","isNamedTab","tabAsField","tabIndexPath","tabPath","tabSchemaPath","tabFieldsPermissions","tabPermissions","tabVersion","label","t","subFieldsPermissions","maxLength","Math","max","isArray","rows","i","fromRow","toRow","blockSlugToMatch","blockType","toBlock","blocks","blockReferences","find","block","slug","fromBlockSlugToMatch","fromBlock","blockFieldsPermissions","permissionsBlockSpecific","clientDiffProps","comparisonValue","diffMethod","versionValue","serverDiffProps","clientProps","Component","Fallback","importMap","key","serverProps"],"sources":["../../../../src/views/Version/RenderFieldsToDiff/buildVersionFields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport { dequal } from 'dequal/lite'\nimport {\n type BaseVersionField,\n type ClientField,\n type ClientFieldSchemaMap,\n type Field,\n type FieldDiffClientProps,\n type FieldDiffServerProps,\n type FieldTypes,\n type FlattenedBlock,\n MissingEditorProp,\n type PayloadComponent,\n type PayloadRequest,\n type SanitizedFieldPermissions,\n type SanitizedFieldsPermissions,\n type VersionField,\n} from 'payload'\nimport {\n fieldIsID,\n fieldShouldBeLocalized,\n getFieldPaths,\n getUniqueListBy,\n tabHasName,\n} from 'payload/shared'\n\nimport { RenderServerComponent } from '../../../elements/RenderServerComponent/index.js'\nimport { diffComponents } from './fields/index.js'\n\nexport type BuildVersionFieldsArgs = {\n clientSchemaMap: ClientFieldSchemaMap\n customDiffComponents: Partial<\n Record<FieldTypes, PayloadComponent<FieldDiffServerProps, FieldDiffClientProps>>\n >\n entitySlug: string\n fields: Field[]\n fieldsPermissions: SanitizedFieldsPermissions\n i18n: I18nClient\n modifiedOnly: boolean\n nestingLevel?: number\n parentIndexPath: string\n parentIsLocalized: boolean\n parentPath: string\n parentSchemaPath: string\n req: PayloadRequest\n selectedLocales: string[]\n versionFromSiblingData: object\n versionToSiblingData: object\n}\n\n/**\n * Build up an object that contains rendered diff components for each field.\n * This is then sent to the client to be rendered.\n *\n * Here, the server is responsible for traversing through the document data and building up this\n * version state object.\n */\nexport const buildVersionFields = ({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields,\n fieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel = 0,\n parentIndexPath,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n req,\n selectedLocales,\n versionFromSiblingData,\n versionToSiblingData,\n}: BuildVersionFieldsArgs): {\n versionFields: VersionField[]\n} => {\n const versionFields: VersionField[] = []\n let fieldIndex = -1\n\n for (const field of fields) {\n fieldIndex++\n\n if (fieldIsID(field)) {\n continue\n }\n\n const { indexPath, path, schemaPath } = getFieldPaths({\n field,\n index: fieldIndex,\n parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n const clientField = clientSchemaMap.get(entitySlug + '.' + schemaPath)\n\n if (!clientField) {\n req.payload.logger.error({\n clientFieldKey: entitySlug + '.' + schemaPath,\n clientSchemaMapKeys: Array.from(clientSchemaMap.keys()),\n msg: 'No client field found for ' + entitySlug + '.' + schemaPath,\n parentPath,\n parentSchemaPath,\n path,\n schemaPath,\n })\n throw new Error('No client field found for ' + entitySlug + '.' + schemaPath)\n }\n\n const versionField: VersionField = {}\n const isLocalized = fieldShouldBeLocalized({ field, parentIsLocalized })\n\n const fieldName: null | string = 'name' in field ? field.name : null\n\n const valueFrom = fieldName ? versionFromSiblingData?.[fieldName] : versionFromSiblingData\n const valueTo = fieldName ? versionToSiblingData?.[fieldName] : versionToSiblingData\n\n if (isLocalized) {\n versionField.fieldByLocale = {}\n\n for (const locale of selectedLocales) {\n const localizedVersionField = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n nestingLevel,\n parentFieldsPermissions: fieldsPermissions,\n parentIsLocalized: true,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom: valueFrom?.[locale],\n valueTo: valueTo?.[locale],\n })\n if (localizedVersionField) {\n versionField.fieldByLocale[locale] = localizedVersionField\n }\n }\n } else {\n const baseVersionField = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n i18n,\n indexPath,\n modifiedOnly,\n nestingLevel,\n parentFieldsPermissions: fieldsPermissions,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom,\n valueTo,\n })\n\n if (baseVersionField) {\n versionField.field = baseVersionField\n }\n }\n\n if (\n versionField.field ||\n (versionField.fieldByLocale && Object.keys(versionField.fieldByLocale).length)\n ) {\n versionFields.push(versionField)\n }\n }\n\n return {\n versionFields,\n }\n}\n\nconst buildVersionField = ({\n clientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n nestingLevel,\n parentFieldsPermissions,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom,\n valueTo,\n}: {\n clientField: ClientField\n field: Field\n indexPath: string\n locale?: string\n modifiedOnly?: boolean\n nestingLevel: number\n parentFieldsPermissions: SanitizedFieldsPermissions\n parentIsLocalized: boolean\n path: string\n schemaPath: string\n valueFrom: unknown\n valueTo: unknown\n} & Omit<\n BuildVersionFieldsArgs,\n | 'fields'\n | 'fieldsPermissions'\n | 'parentIndexPath'\n | 'versionFromSiblingData'\n | 'versionToSiblingData'\n>): BaseVersionField | null => {\n let hasReadPermission: boolean = false\n let fieldPermissions: SanitizedFieldPermissions | undefined = undefined\n\n if (typeof parentFieldsPermissions === 'boolean') {\n hasReadPermission = parentFieldsPermissions\n fieldPermissions = parentFieldsPermissions\n } else {\n if ('name' in field) {\n fieldPermissions = parentFieldsPermissions?.[field.name]\n if (typeof fieldPermissions === 'boolean') {\n hasReadPermission = fieldPermissions\n } else if (typeof fieldPermissions?.read === 'boolean') {\n hasReadPermission = fieldPermissions.read\n }\n } else {\n // If the field is unnamed and parentFieldsPermissions is an object, its sub-fields will decide their read permissions state.\n // As far as this field is concerned, we are allowed to read it, as we need to reach its sub-fields to determine their read permissions.\n hasReadPermission = true\n }\n }\n\n if (!hasReadPermission) {\n // HasReadPermission is only valid if the field has a name. E.g. for a tabs field it would incorrectly return `false`.\n return null\n }\n\n if (modifiedOnly && dequal(valueFrom, valueTo)) {\n return null\n }\n\n let CustomComponent = customDiffComponents?.[field.type]\n if (field?.type === 'richText') {\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (field.editor.CellComponent) {\n CustomComponent = field.editor.DiffComponent\n }\n }\n if (field?.admin?.components?.Diff) {\n CustomComponent = field.admin.components.Diff\n }\n\n const DefaultComponent = diffComponents?.[field.type]\n\n const baseVersionField: BaseVersionField = {\n type: field.type,\n fields: [],\n path,\n schemaPath,\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n baseVersionField.tabs = []\n let tabIndex = -1\n for (const tab of field.tabs) {\n tabIndex++\n const isNamedTab = tabHasName(tab)\n\n const tabAsField = { ...tab, type: 'tab' }\n\n const {\n indexPath: tabIndexPath,\n path: tabPath,\n schemaPath: tabSchemaPath,\n } = getFieldPaths({\n field: tabAsField,\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath: path,\n parentSchemaPath: schemaPath,\n })\n\n let tabFieldsPermissions: SanitizedFieldsPermissions = undefined\n\n // The tabs field does not have its own permissions as it's unnamed => use parentFieldsPermissions\n if (typeof parentFieldsPermissions === 'boolean') {\n tabFieldsPermissions = parentFieldsPermissions\n } else {\n if ('name' in tab) {\n const tabPermissions = parentFieldsPermissions?.[tab.name]\n if (typeof tabPermissions === 'boolean') {\n tabFieldsPermissions = tabPermissions\n } else {\n tabFieldsPermissions = tabPermissions?.fields\n }\n } else {\n tabFieldsPermissions = parentFieldsPermissions\n }\n }\n\n const tabVersion = {\n name: 'name' in tab ? tab.name : null,\n fields: buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields: tab.fields,\n fieldsPermissions: tabFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 1,\n parentIndexPath: isNamedTab ? '' : tabIndexPath,\n parentIsLocalized: parentIsLocalized || tab.localized,\n parentPath: isNamedTab ? tabPath : 'name' in field ? path : parentPath,\n parentSchemaPath: tabSchemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: 'name' in tab ? valueFrom?.[tab.name] : valueFrom,\n versionToSiblingData: 'name' in tab ? valueTo?.[tab.name] : valueTo,\n }).versionFields,\n label: typeof tab.label === 'function' ? tab.label({ i18n, t: i18n.t }) : tab.label,\n }\n if (tabVersion?.fields?.length) {\n baseVersionField.tabs.push(tabVersion)\n }\n }\n\n if (modifiedOnly && !baseVersionField.tabs.length) {\n return null\n }\n } // At this point, we are dealing with a `row`, `collapsible`, array`, etc\n else if ('fields' in field) {\n let subFieldsPermissions: SanitizedFieldsPermissions = undefined\n\n if ('name' in field && typeof fieldPermissions !== 'undefined') {\n // Named fields like arrays\n subFieldsPermissions =\n typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions.fields\n } else {\n // Unnamed fields like collapsible and row inherit directly from parent permissions\n subFieldsPermissions = parentFieldsPermissions\n }\n\n if (field.type === 'array' && (valueTo || valueFrom)) {\n const maxLength = Math.max(\n Array.isArray(valueTo) ? valueTo.length : 0,\n Array.isArray(valueFrom) ? valueFrom.length : 0,\n )\n baseVersionField.rows = []\n\n for (let i = 0; i < maxLength; i++) {\n const fromRow = (Array.isArray(valueFrom) && valueFrom?.[i]) || {}\n const toRow = (Array.isArray(valueTo) && valueTo?.[i]) || {}\n\n const versionFields = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields: field.fields,\n fieldsPermissions: subFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 2,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentPath: ('name' in field ? path : parentPath) + '.' + i,\n parentSchemaPath: schemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: fromRow,\n versionToSiblingData: toRow,\n }).versionFields\n\n if (versionFields?.length) {\n baseVersionField.rows[i] = versionFields\n }\n }\n\n if (!baseVersionField.rows?.length && modifiedOnly) {\n return null\n }\n } else {\n baseVersionField.fields = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields: field.fields,\n fieldsPermissions: subFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: field.type !== 'row' ? nestingLevel + 1 : nestingLevel,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: 'name' in field ? path : parentPath,\n parentSchemaPath: schemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: valueFrom as object,\n versionToSiblingData: valueTo as object,\n }).versionFields\n\n if (modifiedOnly && !baseVersionField.fields?.length) {\n return null\n }\n }\n } else if (field.type === 'blocks') {\n baseVersionField.rows = []\n\n const maxLength = Math.max(\n Array.isArray(valueTo) ? valueTo.length : 0,\n Array.isArray(valueFrom) ? valueFrom.length : 0,\n )\n\n for (let i = 0; i < maxLength; i++) {\n const fromRow = (Array.isArray(valueFrom) && valueFrom?.[i]) || {}\n const toRow = (Array.isArray(valueTo) && valueTo?.[i]) || {}\n\n const blockSlugToMatch: string = toRow?.blockType ?? fromRow?.blockType\n const toBlock =\n req.payload.blocks[blockSlugToMatch] ??\n ((field.blockReferences ?? field.blocks).find(\n (block) => typeof block !== 'string' && block.slug === blockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n let fields = []\n\n if (toRow.blockType === fromRow.blockType) {\n fields = toBlock.fields\n } else {\n const fromBlockSlugToMatch: string = fromRow?.blockType ?? toRow?.blockType\n\n const fromBlock =\n req.payload.blocks[fromBlockSlugToMatch] ??\n ((field.blockReferences ?? field.blocks).find(\n (block) => typeof block !== 'string' && block.slug === fromBlockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n if (fromBlock) {\n fields = getUniqueListBy<Field>([...toBlock.fields, ...fromBlock.fields], 'name')\n } else {\n fields = toBlock.fields\n }\n }\n\n let blockFieldsPermissions: SanitizedFieldsPermissions = undefined\n\n // fieldPermissions will be set here, as the blocks field has a name\n if (typeof fieldPermissions === 'boolean') {\n blockFieldsPermissions = fieldPermissions\n } else if (typeof fieldPermissions?.blocks === 'boolean') {\n blockFieldsPermissions = fieldPermissions.blocks\n } else {\n const permissionsBlockSpecific = fieldPermissions?.blocks?.[blockSlugToMatch]\n if (typeof permissionsBlockSpecific === 'boolean') {\n blockFieldsPermissions = permissionsBlockSpecific\n } else {\n blockFieldsPermissions = permissionsBlockSpecific?.fields\n }\n }\n\n const versionFields = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields,\n fieldsPermissions: blockFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 2,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: ('name' in field ? path : parentPath) + '.' + i,\n parentSchemaPath: schemaPath + '.' + toBlock.slug,\n req,\n selectedLocales,\n versionFromSiblingData: fromRow,\n versionToSiblingData: toRow,\n }).versionFields\n\n if (versionFields?.length) {\n baseVersionField.rows[i] = versionFields\n }\n }\n\n if (!baseVersionField.rows?.length && modifiedOnly) {\n return null\n }\n }\n\n const clientDiffProps: FieldDiffClientProps = {\n baseVersionField: {\n ...baseVersionField,\n CustomComponent: undefined,\n },\n /**\n * TODO: Change to valueFrom in 4.0\n */\n comparisonValue: valueFrom,\n /**\n * @deprecated remove in 4.0. Each field should handle its own diffing logic\n */\n diffMethod: 'diffWordsWithSpace',\n field: clientField,\n fieldPermissions:\n typeof fieldPermissions === 'undefined' ? parentFieldsPermissions : fieldPermissions,\n parentIsLocalized,\n\n nestingLevel: nestingLevel ? nestingLevel : undefined,\n /**\n * TODO: Change to valueTo in 4.0\n */\n versionValue: valueTo,\n }\n if (locale) {\n clientDiffProps.locale = locale\n }\n\n const serverDiffProps: FieldDiffServerProps = {\n ...clientDiffProps,\n clientField,\n field,\n i18n,\n req,\n selectedLocales,\n }\n\n baseVersionField.CustomComponent = RenderServerComponent({\n clientProps: clientDiffProps,\n Component: CustomComponent,\n Fallback: DefaultComponent,\n importMap: req.payload.importMap,\n key: 'diff component',\n serverProps: serverDiffProps,\n })\n\n return baseVersionField\n}\n"],"mappings":"AAEA,SAASA,MAAM,QAAQ;AACvB,SASEC,iBAAiB,QAMZ;AACP,SACEC,SAAS,EACTC,sBAAsB,EACtBC,aAAa,EACbC,eAAe,EACfC,UAAU,QACL;AAEP,SAASC,qBAAqB,QAAQ;AACtC,SAASC,cAAc,QAAQ;AAuB/B;;;;;;;AAOA,OAAO,MAAMC,kBAAA,GAAqBA,CAAC;EACjCC,eAAe;EACfC,oBAAoB;EACpBC,UAAU;EACVC,MAAM;EACNC,iBAAiB;EACjBC,IAAI;EACJC,YAAY;EACZC,YAAA,GAAe,CAAC;EAChBC,eAAe;EACfC,iBAAiB;EACjBC,UAAU;EACVC,gBAAgB;EAChBC,GAAG;EACHC,eAAe;EACfC,sBAAsB;EACtBC;AAAoB,CACG;EAGvB,MAAMC,aAAA,GAAgC,EAAE;EACxC,IAAIC,UAAA,GAAa,CAAC;EAElB,KAAK,MAAMC,KAAA,IAASf,MAAA,EAAQ;IAC1Bc,UAAA;IAEA,IAAIzB,SAAA,CAAU0B,KAAA,GAAQ;MACpB;IACF;IAEA,MAAM;MAAEC,SAAS;MAAEC,IAAI;MAAEC;IAAU,CAAE,GAAG3B,aAAA,CAAc;MACpDwB,KAAA;MACAI,KAAA,EAAOL,UAAA;MACPT,eAAA;MACAE,UAAA;MACAC;IACF;IAEA,MAAMY,WAAA,GAAcvB,eAAA,CAAgBwB,GAAG,CAACtB,UAAA,GAAa,MAAMmB,UAAA;IAE3D,IAAI,CAACE,WAAA,EAAa;MAChBX,GAAA,CAAIa,OAAO,CAACC,MAAM,CAACC,KAAK,CAAC;QACvBC,cAAA,EAAgB1B,UAAA,GAAa,MAAMmB,UAAA;QACnCQ,mBAAA,EAAqBC,KAAA,CAAMC,IAAI,CAAC/B,eAAA,CAAgBgC,IAAI;QACpDC,GAAA,EAAK,+BAA+B/B,UAAA,GAAa,MAAMmB,UAAA;QACvDX,UAAA;QACAC,gBAAA;QACAS,IAAA;QACAC;MACF;MACA,MAAM,IAAIa,KAAA,CAAM,+BAA+BhC,UAAA,GAAa,MAAMmB,UAAA;IACpE;IAEA,MAAMc,YAAA,GAA6B,CAAC;IACpC,MAAMC,WAAA,GAAc3C,sBAAA,CAAuB;MAAEyB,KAAA;MAAOT;IAAkB;IAEtE,MAAM4B,SAAA,GAA2B,UAAUnB,KAAA,GAAQA,KAAA,CAAMoB,IAAI,GAAG;IAEhE,MAAMC,SAAA,GAAYF,SAAA,GAAYvB,sBAAA,GAAyBuB,SAAA,CAAU,GAAGvB,sBAAA;IACpE,MAAM0B,OAAA,GAAUH,SAAA,GAAYtB,oBAAA,GAAuBsB,SAAA,CAAU,GAAGtB,oBAAA;IAEhE,IAAIqB,WAAA,EAAa;MACfD,YAAA,CAAaM,aAAa,GAAG,CAAC;MAE9B,KAAK,MAAMC,MAAA,IAAU7B,eAAA,EAAiB;QACpC,MAAM8B,qBAAA,GAAwBC,iBAAA,CAAkB;UAC9CrB,WAAA,EAAaA,WAAA;UACbvB,eAAA;UACAC,oBAAA;UACAC,UAAA;UACAgB,KAAA;UACAb,IAAA;UACAc,SAAA;UACAuB,MAAA;UACApC,YAAA;UACAC,YAAA;UACAsC,uBAAA,EAAyBzC,iBAAA;UACzBK,iBAAA,EAAmB;UACnBC,UAAA;UACAC,gBAAA;UACAS,IAAA;UACAR,GAAA;UACAS,UAAA;UACAR,eAAA;UACA0B,SAAA,EAAWA,SAAA,GAAYG,MAAA,CAAO;UAC9BF,OAAA,EAASA,OAAA,GAAUE,MAAA;QACrB;QACA,IAAIC,qBAAA,EAAuB;UACzBR,YAAA,CAAaM,aAAa,CAACC,MAAA,CAAO,GAAGC,qBAAA;QACvC;MACF;IACF,OAAO;MACL,MAAMG,gBAAA,GAAmBF,iBAAA,CAAkB;QACzCrB,WAAA,EAAaA,WAAA;QACbvB,eAAA;QACAC,oBAAA;QACAC,UAAA;QACAgB,KAAA;QACAb,IAAA;QACAc,SAAA;QACAb,YAAA;QACAC,YAAA;QACAsC,uBAAA,EAAyBzC,iBAAA;QACzBK,iBAAA,EAAmBA,iBAAA,IAAsB,eAAeS,KAAA,IAASA,KAAA,CAAM6B,SAAS;QAChFrC,UAAA;QACAC,gBAAA;QACAS,IAAA;QACAR,GAAA;QACAS,UAAA;QACAR,eAAA;QACA0B,SAAA;QACAC;MACF;MAEA,IAAIM,gBAAA,EAAkB;QACpBX,YAAA,CAAajB,KAAK,GAAG4B,gBAAA;MACvB;IACF;IAEA,IACEX,YAAA,CAAajB,KAAK,IACjBiB,YAAA,CAAaM,aAAa,IAAIO,MAAA,CAAOhB,IAAI,CAACG,YAAA,CAAaM,aAAa,EAAEQ,MAAM,EAC7E;MACAjC,aAAA,CAAckC,IAAI,CAACf,YAAA;IACrB;EACF;EAEA,OAAO;IACLnB;EACF;AACF;AAEA,MAAM4B,iBAAA,GAAoBA,CAAC;EACzBrB,WAAW;EACXvB,eAAe;EACfC,oBAAoB;EACpBC,UAAU;EACVgB,KAAK;EACLb,IAAI;EACJc,SAAS;EACTuB,MAAM;EACNpC,YAAY;EACZC,YAAY;EACZsC,uBAAuB;EACvBpC,iBAAiB;EACjBC,UAAU;EACVC,gBAAgB;EAChBS,IAAI;EACJR,GAAG;EACHS,UAAU;EACVR,eAAe;EACf0B,SAAS;EACTC;AAAO,CAqBR;EACC,IAAIW,iBAAA,GAA6B;EACjC,IAAIC,gBAAA,GAA0DC,SAAA;EAE9D,IAAI,OAAOR,uBAAA,KAA4B,WAAW;IAChDM,iBAAA,GAAoBN,uBAAA;IACpBO,gBAAA,GAAmBP,uBAAA;EACrB,OAAO;IACL,IAAI,UAAU3B,KAAA,EAAO;MACnBkC,gBAAA,GAAmBP,uBAAA,GAA0B3B,KAAA,CAAMoB,IAAI,CAAC;MACxD,IAAI,OAAOc,gBAAA,KAAqB,WAAW;QACzCD,iBAAA,GAAoBC,gBAAA;MACtB,OAAO,IAAI,OAAOA,gBAAA,EAAkBE,IAAA,KAAS,WAAW;QACtDH,iBAAA,GAAoBC,gBAAA,CAAiBE,IAAI;MAC3C;IACF,OAAO;MACL;MACA;MACAH,iBAAA,GAAoB;IACtB;EACF;EAEA,IAAI,CAACA,iBAAA,EAAmB;IACtB;IACA,OAAO;EACT;EAEA,IAAI7C,YAAA,IAAgBhB,MAAA,CAAOiD,SAAA,EAAWC,OAAA,GAAU;IAC9C,OAAO;EACT;EAEA,IAAIe,eAAA,GAAkBtD,oBAAA,GAAuBiB,KAAA,CAAMsC,IAAI,CAAC;EACxD,IAAItC,KAAA,EAAOsC,IAAA,KAAS,YAAY;IAC9B,IAAI,CAACtC,KAAA,EAAOuC,MAAA,EAAQ;MAClB,MAAM,IAAIlE,iBAAA,CAAkB2B,KAAA,EAAO;AAAA;IACrC;IAEA,IAAI,OAAOA,KAAA,EAAOuC,MAAA,KAAW,YAAY;MACvC,MAAM,IAAIvB,KAAA,CAAM;IAClB;IAEA,IAAIhB,KAAA,CAAMuC,MAAM,CAACC,aAAa,EAAE;MAC9BH,eAAA,GAAkBrC,KAAA,CAAMuC,MAAM,CAACE,aAAa;IAC9C;EACF;EACA,IAAIzC,KAAA,EAAO0C,KAAA,EAAOC,UAAA,EAAYC,IAAA,EAAM;IAClCP,eAAA,GAAkBrC,KAAA,CAAM0C,KAAK,CAACC,UAAU,CAACC,IAAI;EAC/C;EAEA,MAAMC,gBAAA,GAAmBjE,cAAA,GAAiBoB,KAAA,CAAMsC,IAAI,CAAC;EAErD,MAAMV,gBAAA,GAAqC;IACzCU,IAAA,EAAMtC,KAAA,CAAMsC,IAAI;IAChBrD,MAAA,EAAQ,EAAE;IACViB,IAAA;IACAC;EACF;EAEA,IAAIH,KAAA,CAAMsC,IAAI,KAAK,UAAU,UAAUtC,KAAA,EAAO;IAC5C4B,gBAAA,CAAiBkB,IAAI,GAAG,EAAE;IAC1B,IAAIC,QAAA,GAAW,CAAC;IAChB,KAAK,MAAMC,GAAA,IAAOhD,KAAA,CAAM8C,IAAI,EAAE;MAC5BC,QAAA;MACA,MAAME,UAAA,GAAavE,UAAA,CAAWsE,GAAA;MAE9B,MAAME,UAAA,GAAa;QAAE,GAAGF,GAAG;QAAEV,IAAA,EAAM;MAAM;MAEzC,MAAM;QACJrC,SAAA,EAAWkD,YAAY;QACvBjD,IAAA,EAAMkD,OAAO;QACbjD,UAAA,EAAYkD;MAAa,CAC1B,GAAG7E,aAAA,CAAc;QAChBwB,KAAA,EAAOkD,UAAA;QACP9C,KAAA,EAAO2C,QAAA;QACPzD,eAAA,EAAiBW,SAAA;QACjBT,UAAA,EAAYU,IAAA;QACZT,gBAAA,EAAkBU;MACpB;MAEA,IAAImD,oBAAA,GAAmDnB,SAAA;MAEvD;MACA,IAAI,OAAOR,uBAAA,KAA4B,WAAW;QAChD2B,oBAAA,GAAuB3B,uBAAA;MACzB,OAAO;QACL,IAAI,UAAUqB,GAAA,EAAK;UACjB,MAAMO,cAAA,GAAiB5B,uBAAA,GAA0BqB,GAAA,CAAI5B,IAAI,CAAC;UAC1D,IAAI,OAAOmC,cAAA,KAAmB,WAAW;YACvCD,oBAAA,GAAuBC,cAAA;UACzB,OAAO;YACLD,oBAAA,GAAuBC,cAAA,EAAgBtE,MAAA;UACzC;QACF,OAAO;UACLqE,oBAAA,GAAuB3B,uBAAA;QACzB;MACF;MAEA,MAAM6B,UAAA,GAAa;QACjBpC,IAAA,EAAM,UAAU4B,GAAA,GAAMA,GAAA,CAAI5B,IAAI,GAAG;QACjCnC,MAAA,EAAQJ,kBAAA,CAAmB;UACzBC,eAAA;UACAC,oBAAA;UACAC,UAAA;UACAC,MAAA,EAAQ+D,GAAA,CAAI/D,MAAM;UAClBC,iBAAA,EAAmBoE,oBAAA;UACnBnE,IAAA;UACAC,YAAA;UACAC,YAAA,EAAcA,YAAA,GAAe;UAC7BC,eAAA,EAAiB2D,UAAA,GAAa,KAAKE,YAAA;UACnC5D,iBAAA,EAAmBA,iBAAA,IAAqByD,GAAA,CAAInB,SAAS;UACrDrC,UAAA,EAAYyD,UAAA,GAAaG,OAAA,GAAU,UAAUpD,KAAA,GAAQE,IAAA,GAAOV,UAAA;UAC5DC,gBAAA,EAAkB4D,aAAA;UAClB3D,GAAA;UACAC,eAAA;UACAC,sBAAA,EAAwB,UAAUoD,GAAA,GAAM3B,SAAA,GAAY2B,GAAA,CAAI5B,IAAI,CAAC,GAAGC,SAAA;UAChExB,oBAAA,EAAsB,UAAUmD,GAAA,GAAM1B,OAAA,GAAU0B,GAAA,CAAI5B,IAAI,CAAC,GAAGE;QAC9D,GAAGxB,aAAa;QAChB2D,KAAA,EAAO,OAAOT,GAAA,CAAIS,KAAK,KAAK,aAAaT,GAAA,CAAIS,KAAK,CAAC;UAAEtE,IAAA;UAAMuE,CAAA,EAAGvE,IAAA,CAAKuE;QAAE,KAAKV,GAAA,CAAIS;MAChF;MACA,IAAID,UAAA,EAAYvE,MAAA,EAAQ8C,MAAA,EAAQ;QAC9BH,gBAAA,CAAiBkB,IAAI,CAACd,IAAI,CAACwB,UAAA;MAC7B;IACF;IAEA,IAAIpE,YAAA,IAAgB,CAACwC,gBAAA,CAAiBkB,IAAI,CAACf,MAAM,EAAE;MACjD,OAAO;IACT;EACF,OACK,IAAI,YAAY/B,KAAA,EAAO;IAC1B,IAAI2D,oBAAA,GAAmDxB,SAAA;IAEvD,IAAI,UAAUnC,KAAA,IAAS,OAAOkC,gBAAA,KAAqB,aAAa;MAC9D;MACAyB,oBAAA,GACE,OAAOzB,gBAAA,KAAqB,YAAYA,gBAAA,GAAmBA,gBAAA,CAAiBjD,MAAM;IACtF,OAAO;MACL;MACA0E,oBAAA,GAAuBhC,uBAAA;IACzB;IAEA,IAAI3B,KAAA,CAAMsC,IAAI,KAAK,YAAYhB,OAAA,IAAWD,SAAQ,GAAI;MACpD,MAAMuC,SAAA,GAAYC,IAAA,CAAKC,GAAG,CACxBlD,KAAA,CAAMmD,OAAO,CAACzC,OAAA,IAAWA,OAAA,CAAQS,MAAM,GAAG,GAC1CnB,KAAA,CAAMmD,OAAO,CAAC1C,SAAA,IAAaA,SAAA,CAAUU,MAAM,GAAG;MAEhDH,gBAAA,CAAiBoC,IAAI,GAAG,EAAE;MAE1B,KAAK,IAAIC,CAAA,GAAI,GAAGA,CAAA,GAAIL,SAAA,EAAWK,CAAA,IAAK;QAClC,MAAMC,OAAA,GAAUtD,KAAC,CAAMmD,OAAO,CAAC1C,SAAA,KAAcA,SAAA,GAAY4C,CAAA,CAAE,IAAK,CAAC;QACjE,MAAME,KAAA,GAAQvD,KAAC,CAAMmD,OAAO,CAACzC,OAAA,KAAYA,OAAA,GAAU2C,CAAA,CAAE,IAAK,CAAC;QAE3D,MAAMnE,aAAA,GAAgBjB,kBAAA,CAAmB;UACvCC,eAAA;UACAC,oBAAA;UACAC,UAAA;UACAC,MAAA,EAAQe,KAAA,CAAMf,MAAM;UACpBC,iBAAA,EAAmByE,oBAAA;UACnBxE,IAAA;UACAC,YAAA;UACAC,YAAA,EAAcA,YAAA,GAAe;UAC7BC,eAAA,EAAiB,UAAUU,KAAA,GAAQ,KAAKC,SAAA;UACxCV,iBAAA,EAAmBA,iBAAA,IAAqBS,KAAA,CAAM6B,SAAS;UACvDrC,UAAA,EAAY,CAAC,UAAUQ,KAAA,GAAQE,IAAA,GAAOV,UAAS,IAAK,MAAMyE,CAAA;UAC1DxE,gBAAA,EAAkBU,UAAA;UAClBT,GAAA;UACAC,eAAA;UACAC,sBAAA,EAAwBsE,OAAA;UACxBrE,oBAAA,EAAsBsE;QACxB,GAAGrE,aAAa;QAEhB,IAAIA,aAAA,EAAeiC,MAAA,EAAQ;UACzBH,gBAAA,CAAiBoC,IAAI,CAACC,CAAA,CAAE,GAAGnE,aAAA;QAC7B;MACF;MAEA,IAAI,CAAC8B,gBAAA,CAAiBoC,IAAI,EAAEjC,MAAA,IAAU3C,YAAA,EAAc;QAClD,OAAO;MACT;IACF,OAAO;MACLwC,gBAAA,CAAiB3C,MAAM,GAAGJ,kBAAA,CAAmB;QAC3CC,eAAA;QACAC,oBAAA;QACAC,UAAA;QACAC,MAAA,EAAQe,KAAA,CAAMf,MAAM;QACpBC,iBAAA,EAAmByE,oBAAA;QACnBxE,IAAA;QACAC,YAAA;QACAC,YAAA,EAAcW,KAAA,CAAMsC,IAAI,KAAK,QAAQjD,YAAA,GAAe,IAAIA,YAAA;QACxDC,eAAA,EAAiB,UAAUU,KAAA,GAAQ,KAAKC,SAAA;QACxCV,iBAAA,EAAmBA,iBAAA,IAAsB,eAAeS,KAAA,IAASA,KAAA,CAAM6B,SAAS;QAChFrC,UAAA,EAAY,UAAUQ,KAAA,GAAQE,IAAA,GAAOV,UAAA;QACrCC,gBAAA,EAAkBU,UAAA;QAClBT,GAAA;QACAC,eAAA;QACAC,sBAAA,EAAwByB,SAAA;QACxBxB,oBAAA,EAAsByB;MACxB,GAAGxB,aAAa;MAEhB,IAAIV,YAAA,IAAgB,CAACwC,gBAAA,CAAiB3C,MAAM,EAAE8C,MAAA,EAAQ;QACpD,OAAO;MACT;IACF;EACF,OAAO,IAAI/B,KAAA,CAAMsC,IAAI,KAAK,UAAU;IAClCV,gBAAA,CAAiBoC,IAAI,GAAG,EAAE;IAE1B,MAAMJ,SAAA,GAAYC,IAAA,CAAKC,GAAG,CACxBlD,KAAA,CAAMmD,OAAO,CAACzC,OAAA,IAAWA,OAAA,CAAQS,MAAM,GAAG,GAC1CnB,KAAA,CAAMmD,OAAO,CAAC1C,SAAA,IAAaA,SAAA,CAAUU,MAAM,GAAG;IAGhD,KAAK,IAAIkC,CAAA,GAAI,GAAGA,CAAA,GAAIL,SAAA,EAAWK,CAAA,IAAK;MAClC,MAAMC,OAAA,GAAUtD,KAAC,CAAMmD,OAAO,CAAC1C,SAAA,KAAcA,SAAA,GAAY4C,CAAA,CAAE,IAAK,CAAC;MACjE,MAAME,KAAA,GAAQvD,KAAC,CAAMmD,OAAO,CAACzC,OAAA,KAAYA,OAAA,GAAU2C,CAAA,CAAE,IAAK,CAAC;MAE3D,MAAMG,gBAAA,GAA2BD,KAAA,EAAOE,SAAA,IAAaH,OAAA,EAASG,SAAA;MAC9D,MAAMC,OAAA,GACJ5E,GAAA,CAAIa,OAAO,CAACgE,MAAM,CAACH,gBAAA,CAAiB,IACnC,CAACpE,KAAA,CAAMwE,eAAe,IAAIxE,KAAA,CAAMuE,MAAM,EAAEE,IAAI,CAC1CC,KAAA,IAAU,OAAOA,KAAA,KAAU,YAAYA,KAAA,CAAMC,IAAI,KAAKP,gBAAA;MAG3D,IAAInF,MAAA,GAAS,EAAE;MAEf,IAAIkF,KAAA,CAAME,SAAS,KAAKH,OAAA,CAAQG,SAAS,EAAE;QACzCpF,MAAA,GAASqF,OAAA,CAAQrF,MAAM;MACzB,OAAO;QACL,MAAM2F,oBAAA,GAA+BV,OAAA,EAASG,SAAA,IAAaF,KAAA,EAAOE,SAAA;QAElE,MAAMQ,SAAA,GACJnF,GAAA,CAAIa,OAAO,CAACgE,MAAM,CAACK,oBAAA,CAAqB,IACvC,CAAC5E,KAAA,CAAMwE,eAAe,IAAIxE,KAAA,CAAMuE,MAAM,EAAEE,IAAI,CAC1CC,KAAA,IAAU,OAAOA,KAAA,KAAU,YAAYA,KAAA,CAAMC,IAAI,KAAKC,oBAAA;QAG3D,IAAIC,SAAA,EAAW;UACb5F,MAAA,GAASR,eAAA,CAAuB,C,GAAI6F,OAAA,CAAQrF,MAAM,E,GAAK4F,SAAA,CAAU5F,MAAM,CAAC,EAAE;QAC5E,OAAO;UACLA,MAAA,GAASqF,OAAA,CAAQrF,MAAM;QACzB;MACF;MAEA,IAAI6F,sBAAA,GAAqD3C,SAAA;MAEzD;MACA,IAAI,OAAOD,gBAAA,KAAqB,WAAW;QACzC4C,sBAAA,GAAyB5C,gBAAA;MAC3B,OAAO,IAAI,OAAOA,gBAAA,EAAkBqC,MAAA,KAAW,WAAW;QACxDO,sBAAA,GAAyB5C,gBAAA,CAAiBqC,MAAM;MAClD,OAAO;QACL,MAAMQ,wBAAA,GAA2B7C,gBAAA,EAAkBqC,MAAA,GAASH,gBAAA,CAAiB;QAC7E,IAAI,OAAOW,wBAAA,KAA6B,WAAW;UACjDD,sBAAA,GAAyBC,wBAAA;QAC3B,OAAO;UACLD,sBAAA,GAAyBC,wBAAA,EAA0B9F,MAAA;QACrD;MACF;MAEA,MAAMa,aAAA,GAAgBjB,kBAAA,CAAmB;QACvCC,eAAA;QACAC,oBAAA;QACAC,UAAA;QACAC,MAAA;QACAC,iBAAA,EAAmB4F,sBAAA;QACnB3F,IAAA;QACAC,YAAA;QACAC,YAAA,EAAcA,YAAA,GAAe;QAC7BC,eAAA,EAAiB,UAAUU,KAAA,GAAQ,KAAKC,SAAA;QACxCV,iBAAA,EAAmBA,iBAAA,IAAsB,eAAeS,KAAA,IAASA,KAAA,CAAM6B,SAAS;QAChFrC,UAAA,EAAY,CAAC,UAAUQ,KAAA,GAAQE,IAAA,GAAOV,UAAS,IAAK,MAAMyE,CAAA;QAC1DxE,gBAAA,EAAkBU,UAAA,GAAa,MAAMmE,OAAA,CAAQK,IAAI;QACjDjF,GAAA;QACAC,eAAA;QACAC,sBAAA,EAAwBsE,OAAA;QACxBrE,oBAAA,EAAsBsE;MACxB,GAAGrE,aAAa;MAEhB,IAAIA,aAAA,EAAeiC,MAAA,EAAQ;QACzBH,gBAAA,CAAiBoC,IAAI,CAACC,CAAA,CAAE,GAAGnE,aAAA;MAC7B;IACF;IAEA,IAAI,CAAC8B,gBAAA,CAAiBoC,IAAI,EAAEjC,MAAA,IAAU3C,YAAA,EAAc;MAClD,OAAO;IACT;EACF;EAEA,MAAM4F,eAAA,GAAwC;IAC5CpD,gBAAA,EAAkB;MAChB,GAAGA,gBAAgB;MACnBS,eAAA,EAAiBF;IACnB;IACA;;;IAGA8C,eAAA,EAAiB5D,SAAA;IACjB;;;IAGA6D,UAAA,EAAY;IACZlF,KAAA,EAAOK,WAAA;IACP6B,gBAAA,EACE,OAAOA,gBAAA,KAAqB,cAAcP,uBAAA,GAA0BO,gBAAA;IACtE3C,iBAAA;IAEAF,YAAA,EAAcA,YAAA,GAAeA,YAAA,GAAe8C,SAAA;IAC5C;;;IAGAgD,YAAA,EAAc7D;EAChB;EACA,IAAIE,MAAA,EAAQ;IACVwD,eAAA,CAAgBxD,MAAM,GAAGA,MAAA;EAC3B;EAEA,MAAM4D,eAAA,GAAwC;IAC5C,GAAGJ,eAAe;IAClB3E,WAAA;IACAL,KAAA;IACAb,IAAA;IACAO,GAAA;IACAC;EACF;EAEAiC,gBAAA,CAAiBS,eAAe,GAAG1D,qBAAA,CAAsB;IACvD0G,WAAA,EAAaL,eAAA;IACbM,SAAA,EAAWjD,eAAA;IACXkD,QAAA,EAAU1C,gBAAA;IACV2C,SAAA,EAAW9F,GAAA,CAAIa,OAAO,CAACiF,SAAS;IAChCC,GAAA,EAAK;IACLC,WAAA,EAAaN;EACf;EAEA,OAAOxD,gBAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"buildVersionFields.js","names":["dequal","MissingEditorProp","fieldIsID","fieldShouldBeLocalized","getFieldPaths","getUniqueListBy","tabHasName","RenderServerComponent","diffComponents","buildVersionFields","clientSchemaMap","customDiffComponents","entitySlug","fields","fieldsPermissions","i18n","modifiedOnly","nestingLevel","parentIndexPath","parentIsLocalized","parentPath","parentSchemaPath","req","selectedLocales","versionFromSiblingData","versionToSiblingData","versionFields","fieldIndex","field","indexPath","path","schemaPath","index","clientField","get","payload","logger","error","clientFieldKey","clientSchemaMapKeys","Array","from","keys","msg","Error","versionField","isLocalized","fieldName","name","valueFrom","valueTo","fieldByLocale","locale","localizedVersionField","buildVersionField","parentFieldsPermissions","baseVersionField","localized","Object","length","push","hasReadPermission","fieldPermissions","undefined","read","CustomComponent","type","editor","CellComponent","DiffComponent","admin","components","Diff","DefaultComponent","tabs","tabIndex","tab","isNamedTab","tabAsField","tabIndexPath","tabPath","tabSchemaPath","tabFieldsPermissions","tabPermissions","tabVersion","label","t","subFieldsPermissions","maxLength","Math","max","isArray","rows","i","fromRow","toRow","blockSlugToMatch","blockType","toBlock","blocks","find","block","slug","fromBlockSlugToMatch","fromBlock","blockFieldsPermissions","permissionsBlockSpecific","clientDiffProps","comparisonValue","diffMethod","versionValue","serverDiffProps","clientProps","Component","Fallback","importMap","key","serverProps"],"sources":["../../../../src/views/Version/RenderFieldsToDiff/buildVersionFields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport { dequal } from 'dequal/lite'\nimport {\n type BaseVersionField,\n type ClientField,\n type ClientFieldSchemaMap,\n type Field,\n type FieldDiffClientProps,\n type FieldDiffServerProps,\n type FieldTypes,\n type FlattenedBlock,\n MissingEditorProp,\n type PayloadComponent,\n type PayloadRequest,\n type SanitizedFieldPermissions,\n type SanitizedFieldsPermissions,\n type VersionField,\n} from 'payload'\nimport {\n fieldIsID,\n fieldShouldBeLocalized,\n getFieldPaths,\n getUniqueListBy,\n tabHasName,\n} from 'payload/shared'\n\nimport { RenderServerComponent } from '../../../elements/RenderServerComponent/index.js'\nimport { diffComponents } from './fields/index.js'\n\nexport type BuildVersionFieldsArgs = {\n clientSchemaMap: ClientFieldSchemaMap\n customDiffComponents: Partial<\n Record<FieldTypes, PayloadComponent<FieldDiffServerProps, FieldDiffClientProps>>\n >\n entitySlug: string\n fields: Field[]\n fieldsPermissions: SanitizedFieldsPermissions\n i18n: I18nClient\n modifiedOnly: boolean\n nestingLevel?: number\n parentIndexPath: string\n parentIsLocalized: boolean\n parentPath: string\n parentSchemaPath: string\n req: PayloadRequest\n selectedLocales: string[]\n versionFromSiblingData: object\n versionToSiblingData: object\n}\n\n/**\n * Build up an object that contains rendered diff components for each field.\n * This is then sent to the client to be rendered.\n *\n * Here, the server is responsible for traversing through the document data and building up this\n * version state object.\n */\nexport const buildVersionFields = ({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields,\n fieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel = 0,\n parentIndexPath,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n req,\n selectedLocales,\n versionFromSiblingData,\n versionToSiblingData,\n}: BuildVersionFieldsArgs): {\n versionFields: VersionField[]\n} => {\n const versionFields: VersionField[] = []\n let fieldIndex = -1\n\n for (const field of fields) {\n fieldIndex++\n\n if (fieldIsID(field)) {\n continue\n }\n\n const { indexPath, path, schemaPath } = getFieldPaths({\n field,\n index: fieldIndex,\n parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n const clientField = clientSchemaMap.get(entitySlug + '.' + schemaPath)\n\n if (!clientField) {\n req.payload.logger.error({\n clientFieldKey: entitySlug + '.' + schemaPath,\n clientSchemaMapKeys: Array.from(clientSchemaMap.keys()),\n msg: 'No client field found for ' + entitySlug + '.' + schemaPath,\n parentPath,\n parentSchemaPath,\n path,\n schemaPath,\n })\n throw new Error('No client field found for ' + entitySlug + '.' + schemaPath)\n }\n\n const versionField: VersionField = {}\n const isLocalized = fieldShouldBeLocalized({ field, parentIsLocalized })\n\n const fieldName: null | string = 'name' in field ? field.name : null\n\n const valueFrom = fieldName ? versionFromSiblingData?.[fieldName] : versionFromSiblingData\n const valueTo = fieldName ? versionToSiblingData?.[fieldName] : versionToSiblingData\n\n if (isLocalized) {\n versionField.fieldByLocale = {}\n\n for (const locale of selectedLocales) {\n const localizedVersionField = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n nestingLevel,\n parentFieldsPermissions: fieldsPermissions,\n parentIsLocalized: true,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom: valueFrom?.[locale],\n valueTo: valueTo?.[locale],\n })\n if (localizedVersionField) {\n versionField.fieldByLocale[locale] = localizedVersionField\n }\n }\n } else {\n const baseVersionField = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n i18n,\n indexPath,\n modifiedOnly,\n nestingLevel,\n parentFieldsPermissions: fieldsPermissions,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom,\n valueTo,\n })\n\n if (baseVersionField) {\n versionField.field = baseVersionField\n }\n }\n\n if (\n versionField.field ||\n (versionField.fieldByLocale && Object.keys(versionField.fieldByLocale).length)\n ) {\n versionFields.push(versionField)\n }\n }\n\n return {\n versionFields,\n }\n}\n\nconst buildVersionField = ({\n clientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n nestingLevel,\n parentFieldsPermissions,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom,\n valueTo,\n}: {\n clientField: ClientField\n field: Field\n indexPath: string\n locale?: string\n modifiedOnly?: boolean\n nestingLevel: number\n parentFieldsPermissions: SanitizedFieldsPermissions\n parentIsLocalized: boolean\n path: string\n schemaPath: string\n valueFrom: unknown\n valueTo: unknown\n} & Omit<\n BuildVersionFieldsArgs,\n | 'fields'\n | 'fieldsPermissions'\n | 'parentIndexPath'\n | 'versionFromSiblingData'\n | 'versionToSiblingData'\n>): BaseVersionField | null => {\n let hasReadPermission: boolean = false\n let fieldPermissions: SanitizedFieldPermissions | undefined = undefined\n\n if (typeof parentFieldsPermissions === 'boolean') {\n hasReadPermission = parentFieldsPermissions\n fieldPermissions = parentFieldsPermissions\n } else {\n if ('name' in field) {\n fieldPermissions = parentFieldsPermissions?.[field.name]\n if (typeof fieldPermissions === 'boolean') {\n hasReadPermission = fieldPermissions\n } else if (typeof fieldPermissions?.read === 'boolean') {\n hasReadPermission = fieldPermissions.read\n }\n } else {\n // If the field is unnamed and parentFieldsPermissions is an object, its sub-fields will decide their read permissions state.\n // As far as this field is concerned, we are allowed to read it, as we need to reach its sub-fields to determine their read permissions.\n hasReadPermission = true\n }\n }\n\n if (!hasReadPermission) {\n // HasReadPermission is only valid if the field has a name. E.g. for a tabs field it would incorrectly return `false`.\n return null\n }\n\n if (modifiedOnly && dequal(valueFrom, valueTo)) {\n return null\n }\n\n let CustomComponent = customDiffComponents?.[field.type]\n if (field?.type === 'richText') {\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (field.editor.CellComponent) {\n CustomComponent = field.editor.DiffComponent\n }\n }\n if (field?.admin?.components?.Diff) {\n CustomComponent = field.admin.components.Diff\n }\n\n const DefaultComponent = diffComponents?.[field.type]\n\n const baseVersionField: BaseVersionField = {\n type: field.type,\n fields: [],\n path,\n schemaPath,\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n baseVersionField.tabs = []\n let tabIndex = -1\n for (const tab of field.tabs) {\n tabIndex++\n const isNamedTab = tabHasName(tab)\n\n const tabAsField = { ...tab, type: 'tab' }\n\n const {\n indexPath: tabIndexPath,\n path: tabPath,\n schemaPath: tabSchemaPath,\n } = getFieldPaths({\n field: tabAsField,\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath: path,\n parentSchemaPath: schemaPath,\n })\n\n let tabFieldsPermissions: SanitizedFieldsPermissions = undefined\n\n // The tabs field does not have its own permissions as it's unnamed => use parentFieldsPermissions\n if (typeof parentFieldsPermissions === 'boolean') {\n tabFieldsPermissions = parentFieldsPermissions\n } else {\n if ('name' in tab) {\n const tabPermissions = parentFieldsPermissions?.[tab.name]\n if (typeof tabPermissions === 'boolean') {\n tabFieldsPermissions = tabPermissions\n } else {\n tabFieldsPermissions = tabPermissions?.fields\n }\n } else {\n tabFieldsPermissions = parentFieldsPermissions\n }\n }\n\n const tabVersion = {\n name: 'name' in tab ? tab.name : null,\n fields: buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields: tab.fields,\n fieldsPermissions: tabFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 1,\n parentIndexPath: isNamedTab ? '' : tabIndexPath,\n parentIsLocalized: parentIsLocalized || tab.localized,\n parentPath: isNamedTab ? tabPath : 'name' in field ? path : parentPath,\n parentSchemaPath: tabSchemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: 'name' in tab ? valueFrom?.[tab.name] : valueFrom,\n versionToSiblingData: 'name' in tab ? valueTo?.[tab.name] : valueTo,\n }).versionFields,\n label: typeof tab.label === 'function' ? tab.label({ i18n, t: i18n.t }) : tab.label,\n }\n if (tabVersion?.fields?.length) {\n baseVersionField.tabs.push(tabVersion)\n }\n }\n\n if (modifiedOnly && !baseVersionField.tabs.length) {\n return null\n }\n } // At this point, we are dealing with a `row`, `collapsible`, array`, etc\n else if ('fields' in field) {\n let subFieldsPermissions: SanitizedFieldsPermissions = undefined\n\n if ('name' in field && typeof fieldPermissions !== 'undefined') {\n // Named fields like arrays\n subFieldsPermissions =\n typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions.fields\n } else {\n // Unnamed fields like collapsible and row inherit directly from parent permissions\n subFieldsPermissions = parentFieldsPermissions\n }\n\n if (field.type === 'array' && (valueTo || valueFrom)) {\n const maxLength = Math.max(\n Array.isArray(valueTo) ? valueTo.length : 0,\n Array.isArray(valueFrom) ? valueFrom.length : 0,\n )\n baseVersionField.rows = []\n\n for (let i = 0; i < maxLength; i++) {\n const fromRow = (Array.isArray(valueFrom) && valueFrom?.[i]) || {}\n const toRow = (Array.isArray(valueTo) && valueTo?.[i]) || {}\n\n const versionFields = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields: field.fields,\n fieldsPermissions: subFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 2,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentPath: ('name' in field ? path : parentPath) + '.' + i,\n parentSchemaPath: schemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: fromRow,\n versionToSiblingData: toRow,\n }).versionFields\n\n if (versionFields?.length) {\n baseVersionField.rows[i] = versionFields\n }\n }\n\n if (!baseVersionField.rows?.length && modifiedOnly) {\n return null\n }\n } else {\n baseVersionField.fields = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields: field.fields,\n fieldsPermissions: subFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: field.type !== 'row' ? nestingLevel + 1 : nestingLevel,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: 'name' in field ? path : parentPath,\n parentSchemaPath: schemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: valueFrom as object,\n versionToSiblingData: valueTo as object,\n }).versionFields\n\n if (modifiedOnly && !baseVersionField.fields?.length) {\n return null\n }\n }\n } else if (field.type === 'blocks') {\n baseVersionField.rows = []\n\n const maxLength = Math.max(\n Array.isArray(valueTo) ? valueTo.length : 0,\n Array.isArray(valueFrom) ? valueFrom.length : 0,\n )\n\n for (let i = 0; i < maxLength; i++) {\n const fromRow = (Array.isArray(valueFrom) && valueFrom?.[i]) || {}\n const toRow = (Array.isArray(valueTo) && valueTo?.[i]) || {}\n\n const blockSlugToMatch: string = toRow?.blockType ?? fromRow?.blockType\n const toBlock =\n req.payload.blocks[blockSlugToMatch] ??\n (field.blocks.find(\n (block) => typeof block !== 'string' && block.slug === blockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n let fields = []\n\n if (toRow.blockType === fromRow.blockType) {\n fields = toBlock.fields\n } else {\n const fromBlockSlugToMatch: string = fromRow?.blockType ?? toRow?.blockType\n\n const fromBlock =\n req.payload.blocks[fromBlockSlugToMatch] ??\n (field.blocks.find(\n (block) => typeof block !== 'string' && block.slug === fromBlockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n if (fromBlock) {\n fields = getUniqueListBy<Field>([...toBlock.fields, ...fromBlock.fields], 'name')\n } else {\n fields = toBlock.fields\n }\n }\n\n let blockFieldsPermissions: SanitizedFieldsPermissions = undefined\n\n // fieldPermissions will be set here, as the blocks field has a name\n if (typeof fieldPermissions === 'boolean') {\n blockFieldsPermissions = fieldPermissions\n } else if (typeof fieldPermissions?.blocks === 'boolean') {\n blockFieldsPermissions = fieldPermissions.blocks\n } else {\n const permissionsBlockSpecific = fieldPermissions?.blocks?.[blockSlugToMatch]\n if (typeof permissionsBlockSpecific === 'boolean') {\n blockFieldsPermissions = permissionsBlockSpecific\n } else {\n blockFieldsPermissions = permissionsBlockSpecific?.fields\n }\n }\n\n const versionFields = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields,\n fieldsPermissions: blockFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 2,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: ('name' in field ? path : parentPath) + '.' + i,\n parentSchemaPath: schemaPath + '.' + toBlock.slug,\n req,\n selectedLocales,\n versionFromSiblingData: fromRow,\n versionToSiblingData: toRow,\n }).versionFields\n\n if (versionFields?.length) {\n baseVersionField.rows[i] = versionFields\n }\n }\n\n if (!baseVersionField.rows?.length && modifiedOnly) {\n return null\n }\n }\n\n const clientDiffProps: FieldDiffClientProps = {\n baseVersionField: {\n ...baseVersionField,\n CustomComponent: undefined,\n },\n /**\n * TODO: Change to valueFrom in 4.0\n */\n comparisonValue: valueFrom,\n /**\n * @deprecated remove in 4.0. Each field should handle its own diffing logic\n */\n diffMethod: 'diffWordsWithSpace',\n field: clientField,\n fieldPermissions:\n typeof fieldPermissions === 'undefined' ? parentFieldsPermissions : fieldPermissions,\n parentIsLocalized,\n\n nestingLevel: nestingLevel ? nestingLevel : undefined,\n /**\n * TODO: Change to valueTo in 4.0\n */\n versionValue: valueTo,\n }\n if (locale) {\n clientDiffProps.locale = locale\n }\n\n const serverDiffProps: FieldDiffServerProps = {\n ...clientDiffProps,\n clientField,\n field,\n i18n,\n req,\n selectedLocales,\n }\n\n baseVersionField.CustomComponent = RenderServerComponent({\n clientProps: clientDiffProps,\n Component: CustomComponent,\n Fallback: DefaultComponent,\n importMap: req.payload.importMap,\n key: 'diff component',\n serverProps: serverDiffProps,\n })\n\n return baseVersionField\n}\n"],"mappings":"AAEA,SAASA,MAAM,QAAQ;AACvB,SASEC,iBAAiB,QAMZ;AACP,SACEC,SAAS,EACTC,sBAAsB,EACtBC,aAAa,EACbC,eAAe,EACfC,UAAU,QACL;AAEP,SAASC,qBAAqB,QAAQ;AACtC,SAASC,cAAc,QAAQ;AAuB/B;;;;;;;AAOA,OAAO,MAAMC,kBAAA,GAAqBA,CAAC;EACjCC,eAAe;EACfC,oBAAoB;EACpBC,UAAU;EACVC,MAAM;EACNC,iBAAiB;EACjBC,IAAI;EACJC,YAAY;EACZC,YAAA,GAAe,CAAC;EAChBC,eAAe;EACfC,iBAAiB;EACjBC,UAAU;EACVC,gBAAgB;EAChBC,GAAG;EACHC,eAAe;EACfC,sBAAsB;EACtBC;AAAoB,CACG;EAGvB,MAAMC,aAAA,GAAgC,EAAE;EACxC,IAAIC,UAAA,GAAa,CAAC;EAElB,KAAK,MAAMC,KAAA,IAASf,MAAA,EAAQ;IAC1Bc,UAAA;IAEA,IAAIzB,SAAA,CAAU0B,KAAA,GAAQ;MACpB;IACF;IAEA,MAAM;MAAEC,SAAS;MAAEC,IAAI;MAAEC;IAAU,CAAE,GAAG3B,aAAA,CAAc;MACpDwB,KAAA;MACAI,KAAA,EAAOL,UAAA;MACPT,eAAA;MACAE,UAAA;MACAC;IACF;IAEA,MAAMY,WAAA,GAAcvB,eAAA,CAAgBwB,GAAG,CAACtB,UAAA,GAAa,MAAMmB,UAAA;IAE3D,IAAI,CAACE,WAAA,EAAa;MAChBX,GAAA,CAAIa,OAAO,CAACC,MAAM,CAACC,KAAK,CAAC;QACvBC,cAAA,EAAgB1B,UAAA,GAAa,MAAMmB,UAAA;QACnCQ,mBAAA,EAAqBC,KAAA,CAAMC,IAAI,CAAC/B,eAAA,CAAgBgC,IAAI;QACpDC,GAAA,EAAK,+BAA+B/B,UAAA,GAAa,MAAMmB,UAAA;QACvDX,UAAA;QACAC,gBAAA;QACAS,IAAA;QACAC;MACF;MACA,MAAM,IAAIa,KAAA,CAAM,+BAA+BhC,UAAA,GAAa,MAAMmB,UAAA;IACpE;IAEA,MAAMc,YAAA,GAA6B,CAAC;IACpC,MAAMC,WAAA,GAAc3C,sBAAA,CAAuB;MAAEyB,KAAA;MAAOT;IAAkB;IAEtE,MAAM4B,SAAA,GAA2B,UAAUnB,KAAA,GAAQA,KAAA,CAAMoB,IAAI,GAAG;IAEhE,MAAMC,SAAA,GAAYF,SAAA,GAAYvB,sBAAA,GAAyBuB,SAAA,CAAU,GAAGvB,sBAAA;IACpE,MAAM0B,OAAA,GAAUH,SAAA,GAAYtB,oBAAA,GAAuBsB,SAAA,CAAU,GAAGtB,oBAAA;IAEhE,IAAIqB,WAAA,EAAa;MACfD,YAAA,CAAaM,aAAa,GAAG,CAAC;MAE9B,KAAK,MAAMC,MAAA,IAAU7B,eAAA,EAAiB;QACpC,MAAM8B,qBAAA,GAAwBC,iBAAA,CAAkB;UAC9CrB,WAAA,EAAaA,WAAA;UACbvB,eAAA;UACAC,oBAAA;UACAC,UAAA;UACAgB,KAAA;UACAb,IAAA;UACAc,SAAA;UACAuB,MAAA;UACApC,YAAA;UACAC,YAAA;UACAsC,uBAAA,EAAyBzC,iBAAA;UACzBK,iBAAA,EAAmB;UACnBC,UAAA;UACAC,gBAAA;UACAS,IAAA;UACAR,GAAA;UACAS,UAAA;UACAR,eAAA;UACA0B,SAAA,EAAWA,SAAA,GAAYG,MAAA,CAAO;UAC9BF,OAAA,EAASA,OAAA,GAAUE,MAAA;QACrB;QACA,IAAIC,qBAAA,EAAuB;UACzBR,YAAA,CAAaM,aAAa,CAACC,MAAA,CAAO,GAAGC,qBAAA;QACvC;MACF;IACF,OAAO;MACL,MAAMG,gBAAA,GAAmBF,iBAAA,CAAkB;QACzCrB,WAAA,EAAaA,WAAA;QACbvB,eAAA;QACAC,oBAAA;QACAC,UAAA;QACAgB,KAAA;QACAb,IAAA;QACAc,SAAA;QACAb,YAAA;QACAC,YAAA;QACAsC,uBAAA,EAAyBzC,iBAAA;QACzBK,iBAAA,EAAmBA,iBAAA,IAAsB,eAAeS,KAAA,IAASA,KAAA,CAAM6B,SAAS;QAChFrC,UAAA;QACAC,gBAAA;QACAS,IAAA;QACAR,GAAA;QACAS,UAAA;QACAR,eAAA;QACA0B,SAAA;QACAC;MACF;MAEA,IAAIM,gBAAA,EAAkB;QACpBX,YAAA,CAAajB,KAAK,GAAG4B,gBAAA;MACvB;IACF;IAEA,IACEX,YAAA,CAAajB,KAAK,IACjBiB,YAAA,CAAaM,aAAa,IAAIO,MAAA,CAAOhB,IAAI,CAACG,YAAA,CAAaM,aAAa,EAAEQ,MAAM,EAC7E;MACAjC,aAAA,CAAckC,IAAI,CAACf,YAAA;IACrB;EACF;EAEA,OAAO;IACLnB;EACF;AACF;AAEA,MAAM4B,iBAAA,GAAoBA,CAAC;EACzBrB,WAAW;EACXvB,eAAe;EACfC,oBAAoB;EACpBC,UAAU;EACVgB,KAAK;EACLb,IAAI;EACJc,SAAS;EACTuB,MAAM;EACNpC,YAAY;EACZC,YAAY;EACZsC,uBAAuB;EACvBpC,iBAAiB;EACjBC,UAAU;EACVC,gBAAgB;EAChBS,IAAI;EACJR,GAAG;EACHS,UAAU;EACVR,eAAe;EACf0B,SAAS;EACTC;AAAO,CAqBR;EACC,IAAIW,iBAAA,GAA6B;EACjC,IAAIC,gBAAA,GAA0DC,SAAA;EAE9D,IAAI,OAAOR,uBAAA,KAA4B,WAAW;IAChDM,iBAAA,GAAoBN,uBAAA;IACpBO,gBAAA,GAAmBP,uBAAA;EACrB,OAAO;IACL,IAAI,UAAU3B,KAAA,EAAO;MACnBkC,gBAAA,GAAmBP,uBAAA,GAA0B3B,KAAA,CAAMoB,IAAI,CAAC;MACxD,IAAI,OAAOc,gBAAA,KAAqB,WAAW;QACzCD,iBAAA,GAAoBC,gBAAA;MACtB,OAAO,IAAI,OAAOA,gBAAA,EAAkBE,IAAA,KAAS,WAAW;QACtDH,iBAAA,GAAoBC,gBAAA,CAAiBE,IAAI;MAC3C;IACF,OAAO;MACL;MACA;MACAH,iBAAA,GAAoB;IACtB;EACF;EAEA,IAAI,CAACA,iBAAA,EAAmB;IACtB;IACA,OAAO;EACT;EAEA,IAAI7C,YAAA,IAAgBhB,MAAA,CAAOiD,SAAA,EAAWC,OAAA,GAAU;IAC9C,OAAO;EACT;EAEA,IAAIe,eAAA,GAAkBtD,oBAAA,GAAuBiB,KAAA,CAAMsC,IAAI,CAAC;EACxD,IAAItC,KAAA,EAAOsC,IAAA,KAAS,YAAY;IAC9B,IAAI,CAACtC,KAAA,EAAOuC,MAAA,EAAQ;MAClB,MAAM,IAAIlE,iBAAA,CAAkB2B,KAAA,EAAO;AAAA;IACrC;IAEA,IAAI,OAAOA,KAAA,EAAOuC,MAAA,KAAW,YAAY;MACvC,MAAM,IAAIvB,KAAA,CAAM;IAClB;IAEA,IAAIhB,KAAA,CAAMuC,MAAM,CAACC,aAAa,EAAE;MAC9BH,eAAA,GAAkBrC,KAAA,CAAMuC,MAAM,CAACE,aAAa;IAC9C;EACF;EACA,IAAIzC,KAAA,EAAO0C,KAAA,EAAOC,UAAA,EAAYC,IAAA,EAAM;IAClCP,eAAA,GAAkBrC,KAAA,CAAM0C,KAAK,CAACC,UAAU,CAACC,IAAI;EAC/C;EAEA,MAAMC,gBAAA,GAAmBjE,cAAA,GAAiBoB,KAAA,CAAMsC,IAAI,CAAC;EAErD,MAAMV,gBAAA,GAAqC;IACzCU,IAAA,EAAMtC,KAAA,CAAMsC,IAAI;IAChBrD,MAAA,EAAQ,EAAE;IACViB,IAAA;IACAC;EACF;EAEA,IAAIH,KAAA,CAAMsC,IAAI,KAAK,UAAU,UAAUtC,KAAA,EAAO;IAC5C4B,gBAAA,CAAiBkB,IAAI,GAAG,EAAE;IAC1B,IAAIC,QAAA,GAAW,CAAC;IAChB,KAAK,MAAMC,GAAA,IAAOhD,KAAA,CAAM8C,IAAI,EAAE;MAC5BC,QAAA;MACA,MAAME,UAAA,GAAavE,UAAA,CAAWsE,GAAA;MAE9B,MAAME,UAAA,GAAa;QAAE,GAAGF,GAAG;QAAEV,IAAA,EAAM;MAAM;MAEzC,MAAM;QACJrC,SAAA,EAAWkD,YAAY;QACvBjD,IAAA,EAAMkD,OAAO;QACbjD,UAAA,EAAYkD;MAAa,CAC1B,GAAG7E,aAAA,CAAc;QAChBwB,KAAA,EAAOkD,UAAA;QACP9C,KAAA,EAAO2C,QAAA;QACPzD,eAAA,EAAiBW,SAAA;QACjBT,UAAA,EAAYU,IAAA;QACZT,gBAAA,EAAkBU;MACpB;MAEA,IAAImD,oBAAA,GAAmDnB,SAAA;MAEvD;MACA,IAAI,OAAOR,uBAAA,KAA4B,WAAW;QAChD2B,oBAAA,GAAuB3B,uBAAA;MACzB,OAAO;QACL,IAAI,UAAUqB,GAAA,EAAK;UACjB,MAAMO,cAAA,GAAiB5B,uBAAA,GAA0BqB,GAAA,CAAI5B,IAAI,CAAC;UAC1D,IAAI,OAAOmC,cAAA,KAAmB,WAAW;YACvCD,oBAAA,GAAuBC,cAAA;UACzB,OAAO;YACLD,oBAAA,GAAuBC,cAAA,EAAgBtE,MAAA;UACzC;QACF,OAAO;UACLqE,oBAAA,GAAuB3B,uBAAA;QACzB;MACF;MAEA,MAAM6B,UAAA,GAAa;QACjBpC,IAAA,EAAM,UAAU4B,GAAA,GAAMA,GAAA,CAAI5B,IAAI,GAAG;QACjCnC,MAAA,EAAQJ,kBAAA,CAAmB;UACzBC,eAAA;UACAC,oBAAA;UACAC,UAAA;UACAC,MAAA,EAAQ+D,GAAA,CAAI/D,MAAM;UAClBC,iBAAA,EAAmBoE,oBAAA;UACnBnE,IAAA;UACAC,YAAA;UACAC,YAAA,EAAcA,YAAA,GAAe;UAC7BC,eAAA,EAAiB2D,UAAA,GAAa,KAAKE,YAAA;UACnC5D,iBAAA,EAAmBA,iBAAA,IAAqByD,GAAA,CAAInB,SAAS;UACrDrC,UAAA,EAAYyD,UAAA,GAAaG,OAAA,GAAU,UAAUpD,KAAA,GAAQE,IAAA,GAAOV,UAAA;UAC5DC,gBAAA,EAAkB4D,aAAA;UAClB3D,GAAA;UACAC,eAAA;UACAC,sBAAA,EAAwB,UAAUoD,GAAA,GAAM3B,SAAA,GAAY2B,GAAA,CAAI5B,IAAI,CAAC,GAAGC,SAAA;UAChExB,oBAAA,EAAsB,UAAUmD,GAAA,GAAM1B,OAAA,GAAU0B,GAAA,CAAI5B,IAAI,CAAC,GAAGE;QAC9D,GAAGxB,aAAa;QAChB2D,KAAA,EAAO,OAAOT,GAAA,CAAIS,KAAK,KAAK,aAAaT,GAAA,CAAIS,KAAK,CAAC;UAAEtE,IAAA;UAAMuE,CAAA,EAAGvE,IAAA,CAAKuE;QAAE,KAAKV,GAAA,CAAIS;MAChF;MACA,IAAID,UAAA,EAAYvE,MAAA,EAAQ8C,MAAA,EAAQ;QAC9BH,gBAAA,CAAiBkB,IAAI,CAACd,IAAI,CAACwB,UAAA;MAC7B;IACF;IAEA,IAAIpE,YAAA,IAAgB,CAACwC,gBAAA,CAAiBkB,IAAI,CAACf,MAAM,EAAE;MACjD,OAAO;IACT;EACF,OACK,IAAI,YAAY/B,KAAA,EAAO;IAC1B,IAAI2D,oBAAA,GAAmDxB,SAAA;IAEvD,IAAI,UAAUnC,KAAA,IAAS,OAAOkC,gBAAA,KAAqB,aAAa;MAC9D;MACAyB,oBAAA,GACE,OAAOzB,gBAAA,KAAqB,YAAYA,gBAAA,GAAmBA,gBAAA,CAAiBjD,MAAM;IACtF,OAAO;MACL;MACA0E,oBAAA,GAAuBhC,uBAAA;IACzB;IAEA,IAAI3B,KAAA,CAAMsC,IAAI,KAAK,YAAYhB,OAAA,IAAWD,SAAQ,GAAI;MACpD,MAAMuC,SAAA,GAAYC,IAAA,CAAKC,GAAG,CACxBlD,KAAA,CAAMmD,OAAO,CAACzC,OAAA,IAAWA,OAAA,CAAQS,MAAM,GAAG,GAC1CnB,KAAA,CAAMmD,OAAO,CAAC1C,SAAA,IAAaA,SAAA,CAAUU,MAAM,GAAG;MAEhDH,gBAAA,CAAiBoC,IAAI,GAAG,EAAE;MAE1B,KAAK,IAAIC,CAAA,GAAI,GAAGA,CAAA,GAAIL,SAAA,EAAWK,CAAA,IAAK;QAClC,MAAMC,OAAA,GAAUtD,KAAC,CAAMmD,OAAO,CAAC1C,SAAA,KAAcA,SAAA,GAAY4C,CAAA,CAAE,IAAK,CAAC;QACjE,MAAME,KAAA,GAAQvD,KAAC,CAAMmD,OAAO,CAACzC,OAAA,KAAYA,OAAA,GAAU2C,CAAA,CAAE,IAAK,CAAC;QAE3D,MAAMnE,aAAA,GAAgBjB,kBAAA,CAAmB;UACvCC,eAAA;UACAC,oBAAA;UACAC,UAAA;UACAC,MAAA,EAAQe,KAAA,CAAMf,MAAM;UACpBC,iBAAA,EAAmByE,oBAAA;UACnBxE,IAAA;UACAC,YAAA;UACAC,YAAA,EAAcA,YAAA,GAAe;UAC7BC,eAAA,EAAiB,UAAUU,KAAA,GAAQ,KAAKC,SAAA;UACxCV,iBAAA,EAAmBA,iBAAA,IAAqBS,KAAA,CAAM6B,SAAS;UACvDrC,UAAA,EAAY,CAAC,UAAUQ,KAAA,GAAQE,IAAA,GAAOV,UAAS,IAAK,MAAMyE,CAAA;UAC1DxE,gBAAA,EAAkBU,UAAA;UAClBT,GAAA;UACAC,eAAA;UACAC,sBAAA,EAAwBsE,OAAA;UACxBrE,oBAAA,EAAsBsE;QACxB,GAAGrE,aAAa;QAEhB,IAAIA,aAAA,EAAeiC,MAAA,EAAQ;UACzBH,gBAAA,CAAiBoC,IAAI,CAACC,CAAA,CAAE,GAAGnE,aAAA;QAC7B;MACF;MAEA,IAAI,CAAC8B,gBAAA,CAAiBoC,IAAI,EAAEjC,MAAA,IAAU3C,YAAA,EAAc;QAClD,OAAO;MACT;IACF,OAAO;MACLwC,gBAAA,CAAiB3C,MAAM,GAAGJ,kBAAA,CAAmB;QAC3CC,eAAA;QACAC,oBAAA;QACAC,UAAA;QACAC,MAAA,EAAQe,KAAA,CAAMf,MAAM;QACpBC,iBAAA,EAAmByE,oBAAA;QACnBxE,IAAA;QACAC,YAAA;QACAC,YAAA,EAAcW,KAAA,CAAMsC,IAAI,KAAK,QAAQjD,YAAA,GAAe,IAAIA,YAAA;QACxDC,eAAA,EAAiB,UAAUU,KAAA,GAAQ,KAAKC,SAAA;QACxCV,iBAAA,EAAmBA,iBAAA,IAAsB,eAAeS,KAAA,IAASA,KAAA,CAAM6B,SAAS;QAChFrC,UAAA,EAAY,UAAUQ,KAAA,GAAQE,IAAA,GAAOV,UAAA;QACrCC,gBAAA,EAAkBU,UAAA;QAClBT,GAAA;QACAC,eAAA;QACAC,sBAAA,EAAwByB,SAAA;QACxBxB,oBAAA,EAAsByB;MACxB,GAAGxB,aAAa;MAEhB,IAAIV,YAAA,IAAgB,CAACwC,gBAAA,CAAiB3C,MAAM,EAAE8C,MAAA,EAAQ;QACpD,OAAO;MACT;IACF;EACF,OAAO,IAAI/B,KAAA,CAAMsC,IAAI,KAAK,UAAU;IAClCV,gBAAA,CAAiBoC,IAAI,GAAG,EAAE;IAE1B,MAAMJ,SAAA,GAAYC,IAAA,CAAKC,GAAG,CACxBlD,KAAA,CAAMmD,OAAO,CAACzC,OAAA,IAAWA,OAAA,CAAQS,MAAM,GAAG,GAC1CnB,KAAA,CAAMmD,OAAO,CAAC1C,SAAA,IAAaA,SAAA,CAAUU,MAAM,GAAG;IAGhD,KAAK,IAAIkC,CAAA,GAAI,GAAGA,CAAA,GAAIL,SAAA,EAAWK,CAAA,IAAK;MAClC,MAAMC,OAAA,GAAUtD,KAAC,CAAMmD,OAAO,CAAC1C,SAAA,KAAcA,SAAA,GAAY4C,CAAA,CAAE,IAAK,CAAC;MACjE,MAAME,KAAA,GAAQvD,KAAC,CAAMmD,OAAO,CAACzC,OAAA,KAAYA,OAAA,GAAU2C,CAAA,CAAE,IAAK,CAAC;MAE3D,MAAMG,gBAAA,GAA2BD,KAAA,EAAOE,SAAA,IAAaH,OAAA,EAASG,SAAA;MAC9D,MAAMC,OAAA,GACJ5E,GAAA,CAAIa,OAAO,CAACgE,MAAM,CAACH,gBAAA,CAAiB,IACnCpE,KAAA,CAAMuE,MAAM,CAACC,IAAI,CACfC,KAAA,IAAU,OAAOA,KAAA,KAAU,YAAYA,KAAA,CAAMC,IAAI,KAAKN,gBAAA;MAG3D,IAAInF,MAAA,GAAS,EAAE;MAEf,IAAIkF,KAAA,CAAME,SAAS,KAAKH,OAAA,CAAQG,SAAS,EAAE;QACzCpF,MAAA,GAASqF,OAAA,CAAQrF,MAAM;MACzB,OAAO;QACL,MAAM0F,oBAAA,GAA+BT,OAAA,EAASG,SAAA,IAAaF,KAAA,EAAOE,SAAA;QAElE,MAAMO,SAAA,GACJlF,GAAA,CAAIa,OAAO,CAACgE,MAAM,CAACI,oBAAA,CAAqB,IACvC3E,KAAA,CAAMuE,MAAM,CAACC,IAAI,CACfC,KAAA,IAAU,OAAOA,KAAA,KAAU,YAAYA,KAAA,CAAMC,IAAI,KAAKC,oBAAA;QAG3D,IAAIC,SAAA,EAAW;UACb3F,MAAA,GAASR,eAAA,CAAuB,C,GAAI6F,OAAA,CAAQrF,MAAM,E,GAAK2F,SAAA,CAAU3F,MAAM,CAAC,EAAE;QAC5E,OAAO;UACLA,MAAA,GAASqF,OAAA,CAAQrF,MAAM;QACzB;MACF;MAEA,IAAI4F,sBAAA,GAAqD1C,SAAA;MAEzD;MACA,IAAI,OAAOD,gBAAA,KAAqB,WAAW;QACzC2C,sBAAA,GAAyB3C,gBAAA;MAC3B,OAAO,IAAI,OAAOA,gBAAA,EAAkBqC,MAAA,KAAW,WAAW;QACxDM,sBAAA,GAAyB3C,gBAAA,CAAiBqC,MAAM;MAClD,OAAO;QACL,MAAMO,wBAAA,GAA2B5C,gBAAA,EAAkBqC,MAAA,GAASH,gBAAA,CAAiB;QAC7E,IAAI,OAAOU,wBAAA,KAA6B,WAAW;UACjDD,sBAAA,GAAyBC,wBAAA;QAC3B,OAAO;UACLD,sBAAA,GAAyBC,wBAAA,EAA0B7F,MAAA;QACrD;MACF;MAEA,MAAMa,aAAA,GAAgBjB,kBAAA,CAAmB;QACvCC,eAAA;QACAC,oBAAA;QACAC,UAAA;QACAC,MAAA;QACAC,iBAAA,EAAmB2F,sBAAA;QACnB1F,IAAA;QACAC,YAAA;QACAC,YAAA,EAAcA,YAAA,GAAe;QAC7BC,eAAA,EAAiB,UAAUU,KAAA,GAAQ,KAAKC,SAAA;QACxCV,iBAAA,EAAmBA,iBAAA,IAAsB,eAAeS,KAAA,IAASA,KAAA,CAAM6B,SAAS;QAChFrC,UAAA,EAAY,CAAC,UAAUQ,KAAA,GAAQE,IAAA,GAAOV,UAAS,IAAK,MAAMyE,CAAA;QAC1DxE,gBAAA,EAAkBU,UAAA,GAAa,MAAMmE,OAAA,CAAQI,IAAI;QACjDhF,GAAA;QACAC,eAAA;QACAC,sBAAA,EAAwBsE,OAAA;QACxBrE,oBAAA,EAAsBsE;MACxB,GAAGrE,aAAa;MAEhB,IAAIA,aAAA,EAAeiC,MAAA,EAAQ;QACzBH,gBAAA,CAAiBoC,IAAI,CAACC,CAAA,CAAE,GAAGnE,aAAA;MAC7B;IACF;IAEA,IAAI,CAAC8B,gBAAA,CAAiBoC,IAAI,EAAEjC,MAAA,IAAU3C,YAAA,EAAc;MAClD,OAAO;IACT;EACF;EAEA,MAAM2F,eAAA,GAAwC;IAC5CnD,gBAAA,EAAkB;MAChB,GAAGA,gBAAgB;MACnBS,eAAA,EAAiBF;IACnB;IACA;;;IAGA6C,eAAA,EAAiB3D,SAAA;IACjB;;;IAGA4D,UAAA,EAAY;IACZjF,KAAA,EAAOK,WAAA;IACP6B,gBAAA,EACE,OAAOA,gBAAA,KAAqB,cAAcP,uBAAA,GAA0BO,gBAAA;IACtE3C,iBAAA;IAEAF,YAAA,EAAcA,YAAA,GAAeA,YAAA,GAAe8C,SAAA;IAC5C;;;IAGA+C,YAAA,EAAc5D;EAChB;EACA,IAAIE,MAAA,EAAQ;IACVuD,eAAA,CAAgBvD,MAAM,GAAGA,MAAA;EAC3B;EAEA,MAAM2D,eAAA,GAAwC;IAC5C,GAAGJ,eAAe;IAClB1E,WAAA;IACAL,KAAA;IACAb,IAAA;IACAO,GAAA;IACAC;EACF;EAEAiC,gBAAA,CAAiBS,eAAe,GAAG1D,qBAAA,CAAsB;IACvDyG,WAAA,EAAaL,eAAA;IACbM,SAAA,EAAWhD,eAAA;IACXiD,QAAA,EAAUzC,gBAAA;IACV0C,SAAA,EAAW7F,GAAA,CAAIa,OAAO,CAACgF,SAAS;IAChCC,GAAA,EAAK;IACLC,WAAA,EAAaN;EACf;EAEA,OAAOvD,gBAAA;AACT","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","FieldDiffContainer","CheckIcon","useTranslation","baseClass","CheckboxIndicator","checked","variant","classNames","filter","Boolean","join","_jsx","className","size","Checkbox","t0","$","comparisonValue","valueFrom","field","locale","nestingLevel","versionValue","valueTo","i18n","t","checkedFrom","checkedTo","hasChanged","fromVariant","toVariant","t1","t2","label","From","_jsxs","children","To"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Checkbox/index.tsx"],"sourcesContent":["'use client'\nimport type { CheckboxFieldDiffClientComponent } from 'payload'\n\nimport React from 'react'\n\nimport { FieldDiffContainer } from '../../../../../elements/FieldDiffContainer/index.js'\nimport { CheckIcon } from '../../../../../icons/Check/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport './index.css'\n\nconst baseClass = 'checkbox-diff'\n\nconst CheckboxIndicator: React.FC<{\n checked: boolean\n variant?: 'create' | 'default' | 'delete'\n}> = ({ checked, variant = 'default' }) => {\n const classNames = [\n `${baseClass}__indicator`,\n `${baseClass}__indicator--${variant}`,\n checked && `${baseClass}__indicator--checked`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <span className={classNames}>\n <span className={`${baseClass}__icon`}>\n <CheckIcon size={16} />\n </span>\n </span>\n )\n}\n\nexport const Checkbox: CheckboxFieldDiffClientComponent = ({\n comparisonValue: valueFrom,\n field,\n locale,\n nestingLevel,\n versionValue: valueTo,\n}) => {\n const { i18n, t } = useTranslation()\n\n const checkedFrom = Boolean(valueFrom)\n const checkedTo = Boolean(valueTo)\n const hasChanged = checkedFrom !== checkedTo\n\n const fromVariant = hasChanged ? 'delete' : 'default'\n const toVariant = hasChanged ? 'create' : 'default'\n\n const From = (\n <div className={`${baseClass}__value ${baseClass}__value--${fromVariant}`}>\n <CheckboxIndicator checked={checkedFrom} variant={fromVariant} />\n <span className={`${baseClass}__label ${baseClass}__label--${fromVariant}`}>\n {checkedFrom ? t('general:checked') : t('general:unchecked')}\n </span>\n </div>\n )\n\n const To = (\n <div className={`${baseClass}__value ${baseClass}__value--${toVariant}`}>\n <CheckboxIndicator checked={checkedTo} variant={toVariant} />\n <span className={`${baseClass}__label ${baseClass}__label--${toVariant}`}>\n {checkedTo ? t('general:checked') : t('general:unchecked')}\n </span>\n </div>\n )\n\n return (\n <FieldDiffContainer\n className={baseClass}\n From={From}\n i18n={i18n}\n label={{ label: field.label, locale }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","FieldDiffContainer","CheckIcon","useTranslation","baseClass","CheckboxIndicator","checked","variant","classNames","filter","Boolean","join","_jsx","className","size","Checkbox","t0","$","comparisonValue","valueFrom","field","locale","nestingLevel","versionValue","valueTo","i18n","t","checkedFrom","checkedTo","hasChanged","fromVariant","toVariant","t1","t2","label","From","_jsxs","children","To"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Checkbox/index.tsx"],"sourcesContent":["'use client'\nimport type { CheckboxFieldDiffClientComponent } from 'payload'\n\nimport React from 'react'\n\nimport { FieldDiffContainer } from '../../../../../elements/FieldDiffContainer/index.js'\nimport { CheckIcon } from '../../../../../icons/Check/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport './index.css'\n\nconst baseClass = 'checkbox-diff'\n\nconst CheckboxIndicator: React.FC<{\n checked: boolean\n variant?: 'create' | 'default' | 'delete'\n}> = ({ checked, variant = 'default' }) => {\n const classNames = [\n `${baseClass}__indicator`,\n `${baseClass}__indicator--${variant}`,\n checked && `${baseClass}__indicator--checked`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <span className={classNames}>\n <span className={`${baseClass}__icon`}>\n <CheckIcon size={16} />\n </span>\n </span>\n )\n}\n\nexport const Checkbox: CheckboxFieldDiffClientComponent = ({\n comparisonValue: valueFrom,\n field,\n locale,\n nestingLevel,\n versionValue: valueTo,\n}) => {\n const { i18n, t } = useTranslation()\n\n const checkedFrom = Boolean(valueFrom)\n const checkedTo = Boolean(valueTo)\n const hasChanged = checkedFrom !== checkedTo\n\n const fromVariant = hasChanged ? 'delete' : 'default'\n const toVariant = hasChanged ? 'create' : 'default'\n\n const From = (\n <div className={`${baseClass}__value ${baseClass}__value--${fromVariant}`}>\n <CheckboxIndicator checked={checkedFrom} variant={fromVariant} />\n <span className={`${baseClass}__label ${baseClass}__label--${fromVariant}`}>\n {checkedFrom ? t('general:checked') : t('general:unchecked')}\n </span>\n </div>\n )\n\n const To = (\n <div className={`${baseClass}__value ${baseClass}__value--${toVariant}`}>\n <CheckboxIndicator checked={checkedTo} variant={toVariant} />\n <span className={`${baseClass}__label ${baseClass}__label--${toVariant}`}>\n {checkedTo ? t('general:checked') : t('general:unchecked')}\n </span>\n </div>\n )\n\n return (\n <FieldDiffContainer\n className={baseClass}\n From={From}\n i18n={i18n}\n label={{ label: field.label, locale }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getFieldsForRowComparison.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EAEjB,YAAY,EACZ,WAAW,EACX,YAAY,EACb,MAAM,SAAS,CAAA;AAIhB;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,GAAG,EACH,YAAY,EACZ,UAAU,GACX,EAAE;IACD,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,MAAM,EAAE,YAAY,CAAA;IACpB,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAA;IAC3C,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,GAAG,CAAA;IACjB,UAAU,EAAE,GAAG,CAAA;CAChB,GAAG;IAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAAC,aAAa,EAAE,YAAY,EAAE,CAAA;CAAE,CAwD3D"}
1
+ {"version":3,"file":"getFieldsForRowComparison.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EAEjB,YAAY,EACZ,WAAW,EACX,YAAY,EACb,MAAM,SAAS,CAAA;AAIhB;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,GAAG,EACH,YAAY,EACZ,UAAU,GACX,EAAE;IACD,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,MAAM,EAAE,YAAY,CAAA;IACpB,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAA;IAC3C,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,GAAG,CAAA;IACjB,UAAU,EAAE,GAAG,CAAA;CAChB,GAAG;IAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAAC,aAAa,EAAE,YAAY,EAAE,CAAA;CAAE,CAqD3D"}
@@ -20,16 +20,16 @@ export function getFieldsForRowComparison({
20
20
  versionFields = baseVersionField.rows?.length ? baseVersionField.rows[row] : baseVersionField.fields;
21
21
  } else if (field.type === 'blocks') {
22
22
  if (valueToRow?.blockType === valueFromRow?.blockType) {
23
- const matchedBlock = config?.blocksMap?.[valueToRow?.blockType] ?? (('blocks' in field || 'blockReferences' in field) && (field.blockReferences ?? field.blocks)?.find(block => typeof block !== 'string' && block.slug === valueToRow?.blockType) || {
23
+ const matchedBlock = config?.blocksMap?.[valueToRow?.blockType] ?? (field.blocks.find(block => typeof block !== 'string' && block.slug === valueToRow?.blockType) || {
24
24
  fields: []
25
25
  });
26
26
  fields = matchedBlock.fields;
27
27
  versionFields = baseVersionField.rows?.length ? baseVersionField.rows[row] : baseVersionField.fields;
28
28
  } else {
29
- const matchedVersionBlock = config?.blocksMap?.[valueToRow?.blockType] ?? (('blocks' in field || 'blockReferences' in field) && (field.blockReferences ?? field.blocks)?.find(block => typeof block !== 'string' && block.slug === valueToRow?.blockType) || {
29
+ const matchedVersionBlock = config?.blocksMap?.[valueToRow?.blockType] ?? (field.blocks.find(block => typeof block !== 'string' && block.slug === valueToRow?.blockType) || {
30
30
  fields: []
31
31
  });
32
- const matchedComparisonBlock = config?.blocksMap?.[valueFromRow?.blockType] ?? (('blocks' in field || 'blockReferences' in field) && (field.blockReferences ?? field.blocks)?.find(block => typeof block !== 'string' && block.slug === valueFromRow?.blockType) || {
32
+ const matchedComparisonBlock = config?.blocksMap?.[valueFromRow?.blockType] ?? (field.blocks.find(block => typeof block !== 'string' && block.slug === valueFromRow?.blockType) || {
33
33
  fields: []
34
34
  });
35
35
  fields = getUniqueListBy([...matchedVersionBlock.fields, ...matchedComparisonBlock.fields], 'name');
@@ -1 +1 @@
1
- {"version":3,"file":"getFieldsForRowComparison.js","names":["getUniqueListBy","getFieldsForRowComparison","baseVersionField","config","field","row","valueFromRow","valueToRow","fields","versionFields","type","rows","length","blockType","matchedBlock","blocksMap","blockReferences","blocks","find","block","slug","matchedVersionBlock","matchedComparisonBlock"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.ts"],"sourcesContent":["import type {\n ArrayFieldClient,\n BaseVersionField,\n BlocksFieldClient,\n ClientBlock,\n ClientConfig,\n ClientField,\n VersionField,\n} from 'payload'\n\nimport { getUniqueListBy } from 'payload/shared'\n\n/**\n * Get the fields for a row in an iterable field for comparison.\n * - Array fields: the fields of the array field, because the fields are the same for each row.\n * - Blocks fields: the union of fields from the comparison and version row,\n * because the fields from the version and comparison rows may differ.\n */\nexport function getFieldsForRowComparison({\n baseVersionField,\n config,\n field,\n row,\n valueFromRow,\n valueToRow,\n}: {\n baseVersionField: BaseVersionField\n config: ClientConfig\n field: ArrayFieldClient | BlocksFieldClient\n row: number\n valueFromRow: any\n valueToRow: any\n}): { fields: ClientField[]; versionFields: VersionField[] } {\n let fields: ClientField[] = []\n let versionFields: VersionField[] = []\n\n if (field.type === 'array' && 'fields' in field) {\n fields = field.fields\n versionFields = baseVersionField.rows?.length\n ? baseVersionField.rows[row]\n : baseVersionField.fields\n } else if (field.type === 'blocks') {\n if (valueToRow?.blockType === valueFromRow?.blockType) {\n const matchedBlock: ClientBlock =\n config?.blocksMap?.[valueToRow?.blockType] ??\n (((('blocks' in field || 'blockReferences' in field) &&\n (field.blockReferences ?? field.blocks)?.find(\n (block) => typeof block !== 'string' && block.slug === valueToRow?.blockType,\n )) || {\n fields: [],\n }) as ClientBlock)\n\n fields = matchedBlock.fields\n versionFields = baseVersionField.rows?.length\n ? baseVersionField.rows[row]\n : baseVersionField.fields\n } else {\n const matchedVersionBlock =\n config?.blocksMap?.[valueToRow?.blockType] ??\n (((('blocks' in field || 'blockReferences' in field) &&\n (field.blockReferences ?? field.blocks)?.find(\n (block) => typeof block !== 'string' && block.slug === valueToRow?.blockType,\n )) || {\n fields: [],\n }) as ClientBlock)\n\n const matchedComparisonBlock =\n config?.blocksMap?.[valueFromRow?.blockType] ??\n (((('blocks' in field || 'blockReferences' in field) &&\n (field.blockReferences ?? field.blocks)?.find(\n (block) => typeof block !== 'string' && block.slug === valueFromRow?.blockType,\n )) || {\n fields: [],\n }) as ClientBlock)\n\n fields = getUniqueListBy<ClientField>(\n [...matchedVersionBlock.fields, ...matchedComparisonBlock.fields],\n 'name',\n )\n\n // buildVersionFields already merged the fields of the version and comparison rows together\n versionFields = baseVersionField.rows?.length\n ? baseVersionField.rows[row]\n : baseVersionField.fields\n }\n }\n\n return { fields, versionFields }\n}\n"],"mappings":"AAUA,SAASA,eAAe,QAAQ;AAEhC;;;;;;AAMA,OAAO,SAASC,0BAA0B;EACxCC,gBAAgB;EAChBC,MAAM;EACNC,KAAK;EACLC,GAAG;EACHC,YAAY;EACZC;AAAU,CAQX;EACC,IAAIC,MAAA,GAAwB,EAAE;EAC9B,IAAIC,aAAA,GAAgC,EAAE;EAEtC,IAAIL,KAAA,CAAMM,IAAI,KAAK,WAAW,YAAYN,KAAA,EAAO;IAC/CI,MAAA,GAASJ,KAAA,CAAMI,MAAM;IACrBC,aAAA,GAAgBP,gBAAA,CAAiBS,IAAI,EAAEC,MAAA,GACnCV,gBAAA,CAAiBS,IAAI,CAACN,GAAA,CAAI,GAC1BH,gBAAA,CAAiBM,MAAM;EAC7B,OAAO,IAAIJ,KAAA,CAAMM,IAAI,KAAK,UAAU;IAClC,IAAIH,UAAA,EAAYM,SAAA,KAAcP,YAAA,EAAcO,SAAA,EAAW;MACrD,MAAMC,YAAA,GACJX,MAAA,EAAQY,SAAA,GAAYR,UAAA,EAAYM,SAAA,CAAU,KACxC,CAAE,YAAYT,KAAA,IAAS,qBAAqBA,KAAI,KAC/C,CAAAA,KAAA,CAAMY,eAAe,IAAIZ,KAAA,CAAMa,MAAM,GAAGC,IAAA,CACtCC,KAAA,IAAU,OAAOA,KAAA,KAAU,YAAYA,KAAA,CAAMC,IAAI,KAAKb,UAAA,EAAYM,SAAA,KAC/D;QACNL,MAAA,EAAQ;MACV;MAEFA,MAAA,GAASM,YAAA,CAAaN,MAAM;MAC5BC,aAAA,GAAgBP,gBAAA,CAAiBS,IAAI,EAAEC,MAAA,GACnCV,gBAAA,CAAiBS,IAAI,CAACN,GAAA,CAAI,GAC1BH,gBAAA,CAAiBM,MAAM;IAC7B,OAAO;MACL,MAAMa,mBAAA,GACJlB,MAAA,EAAQY,SAAA,GAAYR,UAAA,EAAYM,SAAA,CAAU,KACxC,CAAE,YAAYT,KAAA,IAAS,qBAAqBA,KAAI,KAC/C,CAAAA,KAAA,CAAMY,eAAe,IAAIZ,KAAA,CAAMa,MAAM,GAAGC,IAAA,CACtCC,KAAA,IAAU,OAAOA,KAAA,KAAU,YAAYA,KAAA,CAAMC,IAAI,KAAKb,UAAA,EAAYM,SAAA,KAC/D;QACNL,MAAA,EAAQ;MACV;MAEF,MAAMc,sBAAA,GACJnB,MAAA,EAAQY,SAAA,GAAYT,YAAA,EAAcO,SAAA,CAAU,KAC1C,CAAE,YAAYT,KAAA,IAAS,qBAAqBA,KAAI,KAC/C,CAAAA,KAAA,CAAMY,eAAe,IAAIZ,KAAA,CAAMa,MAAM,GAAGC,IAAA,CACtCC,KAAA,IAAU,OAAOA,KAAA,KAAU,YAAYA,KAAA,CAAMC,IAAI,KAAKd,YAAA,EAAcO,SAAA,KACjE;QACNL,MAAA,EAAQ;MACV;MAEFA,MAAA,GAASR,eAAA,CACP,C,GAAIqB,mBAAA,CAAoBb,MAAM,E,GAAKc,sBAAA,CAAuBd,MAAM,CAAC,EACjE;MAGF;MACAC,aAAA,GAAgBP,gBAAA,CAAiBS,IAAI,EAAEC,MAAA,GACnCV,gBAAA,CAAiBS,IAAI,CAACN,GAAA,CAAI,GAC1BH,gBAAA,CAAiBM,MAAM;IAC7B;EACF;EAEA,OAAO;IAAEA,MAAA;IAAQC;EAAc;AACjC","ignoreList":[]}
1
+ {"version":3,"file":"getFieldsForRowComparison.js","names":["getUniqueListBy","getFieldsForRowComparison","baseVersionField","config","field","row","valueFromRow","valueToRow","fields","versionFields","type","rows","length","blockType","matchedBlock","blocksMap","blocks","find","block","slug","matchedVersionBlock","matchedComparisonBlock"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.ts"],"sourcesContent":["import type {\n ArrayFieldClient,\n BaseVersionField,\n BlocksFieldClient,\n ClientBlock,\n ClientConfig,\n ClientField,\n VersionField,\n} from 'payload'\n\nimport { getUniqueListBy } from 'payload/shared'\n\n/**\n * Get the fields for a row in an iterable field for comparison.\n * - Array fields: the fields of the array field, because the fields are the same for each row.\n * - Blocks fields: the union of fields from the comparison and version row,\n * because the fields from the version and comparison rows may differ.\n */\nexport function getFieldsForRowComparison({\n baseVersionField,\n config,\n field,\n row,\n valueFromRow,\n valueToRow,\n}: {\n baseVersionField: BaseVersionField\n config: ClientConfig\n field: ArrayFieldClient | BlocksFieldClient\n row: number\n valueFromRow: any\n valueToRow: any\n}): { fields: ClientField[]; versionFields: VersionField[] } {\n let fields: ClientField[] = []\n let versionFields: VersionField[] = []\n\n if (field.type === 'array' && 'fields' in field) {\n fields = field.fields\n versionFields = baseVersionField.rows?.length\n ? baseVersionField.rows[row]\n : baseVersionField.fields\n } else if (field.type === 'blocks') {\n if (valueToRow?.blockType === valueFromRow?.blockType) {\n const matchedBlock: ClientBlock =\n config?.blocksMap?.[valueToRow?.blockType] ??\n ((field.blocks.find(\n (block) => typeof block !== 'string' && block.slug === valueToRow?.blockType,\n ) || {\n fields: [],\n }) as ClientBlock)\n\n fields = matchedBlock.fields\n versionFields = baseVersionField.rows?.length\n ? baseVersionField.rows[row]\n : baseVersionField.fields\n } else {\n const matchedVersionBlock =\n config?.blocksMap?.[valueToRow?.blockType] ??\n ((field.blocks.find(\n (block) => typeof block !== 'string' && block.slug === valueToRow?.blockType,\n ) || {\n fields: [],\n }) as ClientBlock)\n\n const matchedComparisonBlock =\n config?.blocksMap?.[valueFromRow?.blockType] ??\n ((field.blocks.find(\n (block) => typeof block !== 'string' && block.slug === valueFromRow?.blockType,\n ) || {\n fields: [],\n }) as ClientBlock)\n\n fields = getUniqueListBy<ClientField>(\n [...matchedVersionBlock.fields, ...matchedComparisonBlock.fields],\n 'name',\n )\n\n // buildVersionFields already merged the fields of the version and comparison rows together\n versionFields = baseVersionField.rows?.length\n ? baseVersionField.rows[row]\n : baseVersionField.fields\n }\n }\n\n return { fields, versionFields }\n}\n"],"mappings":"AAUA,SAASA,eAAe,QAAQ;AAEhC;;;;;;AAMA,OAAO,SAASC,0BAA0B;EACxCC,gBAAgB;EAChBC,MAAM;EACNC,KAAK;EACLC,GAAG;EACHC,YAAY;EACZC;AAAU,CAQX;EACC,IAAIC,MAAA,GAAwB,EAAE;EAC9B,IAAIC,aAAA,GAAgC,EAAE;EAEtC,IAAIL,KAAA,CAAMM,IAAI,KAAK,WAAW,YAAYN,KAAA,EAAO;IAC/CI,MAAA,GAASJ,KAAA,CAAMI,MAAM;IACrBC,aAAA,GAAgBP,gBAAA,CAAiBS,IAAI,EAAEC,MAAA,GACnCV,gBAAA,CAAiBS,IAAI,CAACN,GAAA,CAAI,GAC1BH,gBAAA,CAAiBM,MAAM;EAC7B,OAAO,IAAIJ,KAAA,CAAMM,IAAI,KAAK,UAAU;IAClC,IAAIH,UAAA,EAAYM,SAAA,KAAcP,YAAA,EAAcO,SAAA,EAAW;MACrD,MAAMC,YAAA,GACJX,MAAA,EAAQY,SAAA,GAAYR,UAAA,EAAYM,SAAA,CAAU,KACxCT,KAAA,CAAMY,MAAM,CAACC,IAAI,CAChBC,KAAA,IAAU,OAAOA,KAAA,KAAU,YAAYA,KAAA,CAAMC,IAAI,KAAKZ,UAAA,EAAYM,SAAA,KAChE;QACHL,MAAA,EAAQ;MACV;MAEFA,MAAA,GAASM,YAAA,CAAaN,MAAM;MAC5BC,aAAA,GAAgBP,gBAAA,CAAiBS,IAAI,EAAEC,MAAA,GACnCV,gBAAA,CAAiBS,IAAI,CAACN,GAAA,CAAI,GAC1BH,gBAAA,CAAiBM,MAAM;IAC7B,OAAO;MACL,MAAMY,mBAAA,GACJjB,MAAA,EAAQY,SAAA,GAAYR,UAAA,EAAYM,SAAA,CAAU,KACxCT,KAAA,CAAMY,MAAM,CAACC,IAAI,CAChBC,KAAA,IAAU,OAAOA,KAAA,KAAU,YAAYA,KAAA,CAAMC,IAAI,KAAKZ,UAAA,EAAYM,SAAA,KAChE;QACHL,MAAA,EAAQ;MACV;MAEF,MAAMa,sBAAA,GACJlB,MAAA,EAAQY,SAAA,GAAYT,YAAA,EAAcO,SAAA,CAAU,KAC1CT,KAAA,CAAMY,MAAM,CAACC,IAAI,CAChBC,KAAA,IAAU,OAAOA,KAAA,KAAU,YAAYA,KAAA,CAAMC,IAAI,KAAKb,YAAA,EAAcO,SAAA,KAClE;QACHL,MAAA,EAAQ;MACV;MAEFA,MAAA,GAASR,eAAA,CACP,C,GAAIoB,mBAAA,CAAoBZ,MAAM,E,GAAKa,sBAAA,CAAuBb,MAAM,CAAC,EACjE;MAGF;MACAC,aAAA,GAAgBP,gBAAA,CAAiBS,IAAI,EAAEC,MAAA,GACnCV,gBAAA,CAAiBS,IAAI,CAACN,GAAA,CAAI,GAC1BH,gBAAA,CAAiBM,MAAM;IAC7B;EACF;EAEA,OAAO;IAAEA,MAAA;IAAQC;EAAc;AACjC","ignoreList":[]}