@payloadcms/ui 4.0.0-internal.f15737c → 4.0.0-internal.f2a04f7

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 (330) hide show
  1. package/dist/css/preflight.css +21 -2
  2. package/dist/elements/AppHeader/index.css +1 -1
  3. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  4. package/dist/elements/AppHeader/index.js +5 -1
  5. package/dist/elements/AppHeader/index.js.map +1 -1
  6. package/dist/elements/Autosave/index.d.ts.map +1 -1
  7. package/dist/elements/Autosave/index.js +10 -3
  8. package/dist/elements/Autosave/index.js.map +1 -1
  9. package/dist/elements/Button/index.css +24 -0
  10. package/dist/elements/Button/types.d.ts +1 -1
  11. package/dist/elements/Button/types.d.ts.map +1 -1
  12. package/dist/elements/Button/types.js.map +1 -1
  13. package/dist/elements/CloseModalOnRouteChange/index.d.ts.map +1 -1
  14. package/dist/elements/CloseModalOnRouteChange/index.js +27 -19
  15. package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
  16. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  17. package/dist/elements/CodeEditor/CodeEditor.js +5 -0
  18. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  19. package/dist/elements/DatePicker/DatePicker.js +6 -2
  20. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  21. package/dist/elements/DatePicker/index.css +35 -25
  22. package/dist/elements/DocumentControls/index.css +13 -10
  23. package/dist/elements/DocumentControls/index.d.ts +4 -2
  24. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  25. package/dist/elements/DocumentControls/index.js.map +1 -1
  26. package/dist/elements/DocumentDrawer/types.d.ts +1 -5
  27. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  28. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  29. package/dist/elements/DocumentFields/index.css +7 -7
  30. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  31. package/dist/elements/DocumentFields/index.js +1 -2
  32. package/dist/elements/DocumentFields/index.js.map +1 -1
  33. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  34. package/dist/elements/Drawer/types.d.ts +2 -2
  35. package/dist/elements/Drawer/types.d.ts.map +1 -1
  36. package/dist/elements/Drawer/types.js.map +1 -1
  37. package/dist/elements/EditUpload/library.css +6 -13
  38. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  39. package/dist/elements/FileManager/index.d.ts.map +1 -1
  40. package/dist/elements/FileManager/index.js +6 -1
  41. package/dist/elements/FileManager/index.js.map +1 -1
  42. package/dist/elements/Hierarchy/ActionsMenu/index.css +18 -0
  43. package/dist/elements/Hierarchy/ActionsMenu/index.d.ts +35 -0
  44. package/dist/elements/Hierarchy/ActionsMenu/index.d.ts.map +1 -0
  45. package/dist/elements/Hierarchy/ActionsMenu/index.js +99 -0
  46. package/dist/elements/Hierarchy/ActionsMenu/index.js.map +1 -0
  47. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +18 -16
  48. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  49. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +2 -0
  50. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  51. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  52. package/dist/elements/Hierarchy/DocHeaderButton/index.css +12 -0
  53. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  54. package/dist/elements/Hierarchy/DocHeaderButton/index.js +61 -14
  55. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  56. package/dist/elements/Hierarchy/Modal/Footer/index.css +33 -0
  57. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +21 -0
  58. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
  59. package/dist/elements/Hierarchy/Modal/Footer/index.js +122 -0
  60. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
  61. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +8 -3
  62. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  63. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +38 -12
  64. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  65. package/dist/elements/Hierarchy/Modal/index.css +0 -56
  66. package/dist/elements/Hierarchy/Modal/index.d.ts +5 -3
  67. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  68. package/dist/elements/Hierarchy/Modal/index.js +64 -65
  69. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  70. package/dist/elements/Hierarchy/Modal/types.d.ts +2 -0
  71. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
  72. package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
  73. package/dist/elements/Hierarchy/MoveMany/index.d.ts +1 -3
  74. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  75. package/dist/elements/Hierarchy/MoveMany/index.js +62 -84
  76. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  77. package/dist/elements/ListControls/types.d.ts +0 -10
  78. package/dist/elements/ListControls/types.d.ts.map +1 -1
  79. package/dist/elements/ListControls/types.js.map +1 -1
  80. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  81. package/dist/elements/ListDrawer/DrawerContent.js +1 -2
  82. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  83. package/dist/elements/ListDrawer/Provider.d.ts +0 -6
  84. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  85. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  86. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  87. package/dist/elements/ListDrawer/index.js +1 -1
  88. package/dist/elements/ListDrawer/index.js.map +1 -1
  89. package/dist/elements/ListDrawer/types.d.ts +1 -0
  90. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  91. package/dist/elements/ListDrawer/types.js.map +1 -1
  92. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  93. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +24 -20
  94. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  95. package/dist/elements/LivePreview/Window/index.css +7 -1
  96. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  97. package/dist/elements/Nav/NavWrapper/index.js +19 -14
  98. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  99. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  100. package/dist/elements/PublishButton/index.js +71 -8
  101. package/dist/elements/PublishButton/index.js.map +1 -1
  102. package/dist/elements/PublishButton/validateAllLocales.d.ts +11 -0
  103. package/dist/elements/PublishButton/validateAllLocales.d.ts.map +1 -0
  104. package/dist/elements/PublishButton/validateAllLocales.js +263 -0
  105. package/dist/elements/PublishButton/validateAllLocales.js.map +1 -0
  106. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  107. package/dist/elements/RelationshipTable/AddNewButton.js +3 -0
  108. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  109. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  110. package/dist/elements/SaveDraftButton/index.js +15 -2
  111. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  112. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  113. package/dist/elements/SegmentedControl/index.css +50 -7
  114. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  115. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  116. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +0 -9
  117. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  118. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +63 -40
  119. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  120. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  121. package/dist/elements/Table/DefaultCell/index.js +6 -1
  122. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  123. package/dist/elements/Table/index.js.map +1 -1
  124. package/dist/elements/Tabs/index.css +4 -3
  125. package/dist/elements/Upload/getEditorFileSrc.d.ts +11 -0
  126. package/dist/elements/Upload/getEditorFileSrc.d.ts.map +1 -0
  127. package/dist/elements/Upload/getEditorFileSrc.js +6 -0
  128. package/dist/elements/Upload/getEditorFileSrc.js.map +1 -0
  129. package/dist/elements/Upload/index.d.ts.map +1 -1
  130. package/dist/elements/Upload/index.js +6 -1
  131. package/dist/elements/Upload/index.js.map +1 -1
  132. package/dist/exports/client/{CodeEditor-UKD3EPUY.js → CodeEditor-I6PL55BF.js} +2 -2
  133. package/dist/exports/client/{DatePicker-POZJVQP4.js → DatePicker-XAKGIULG.js} +2 -2
  134. package/dist/exports/client/{chunk-2AY67NFV.js → chunk-36JJSMEB.js} +2 -2
  135. package/dist/exports/client/chunk-36JJSMEB.js.map +7 -0
  136. package/dist/exports/client/chunk-R7M6BG75.js +27 -0
  137. package/dist/exports/client/chunk-R7M6BG75.js.map +7 -0
  138. package/dist/exports/client/index.d.ts +3 -0
  139. package/dist/exports/client/index.d.ts.map +1 -1
  140. package/dist/exports/client/index.js +27 -27
  141. package/dist/exports/client/index.js.map +4 -4
  142. package/dist/exports/shared/index.js +2 -2
  143. package/dist/exports/shared/index.js.map +3 -3
  144. package/dist/fields/Group/index.css +3 -5
  145. package/dist/fields/Tabs/index.css +14 -14
  146. package/dist/fields/Upload/Input.d.ts.map +1 -1
  147. package/dist/fields/Upload/Input.js +3 -1
  148. package/dist/fields/Upload/Input.js.map +1 -1
  149. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  150. package/dist/forms/Form/fieldReducer.js +6 -9
  151. package/dist/forms/Form/fieldReducer.js.map +1 -1
  152. package/dist/forms/Form/index.d.ts.map +1 -1
  153. package/dist/forms/Form/index.js +0 -1
  154. package/dist/forms/Form/index.js.map +1 -1
  155. package/dist/forms/Form/types.d.ts +0 -5
  156. package/dist/forms/Form/types.d.ts.map +1 -1
  157. package/dist/forms/Form/types.js.map +1 -1
  158. package/dist/forms/RenderFields/index.css +2 -2
  159. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +2 -2
  160. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  161. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  162. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -2
  163. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  164. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  165. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -2
  166. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  167. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  168. package/dist/forms/fieldSchemasToFormState/types.d.ts +2 -2
  169. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  170. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  171. package/dist/forms/useField/types.d.ts +0 -4
  172. package/dist/forms/useField/types.d.ts.map +1 -1
  173. package/dist/forms/useField/types.js.map +1 -1
  174. package/dist/icons/Arrow/index.d.ts +1 -1
  175. package/dist/icons/Arrow/index.d.ts.map +1 -1
  176. package/dist/icons/Arrow/index.js +7 -1
  177. package/dist/icons/Arrow/index.js.map +1 -1
  178. package/dist/icons/Clock/index.d.ts +6 -0
  179. package/dist/icons/Clock/index.d.ts.map +1 -0
  180. package/dist/icons/Clock/index.js +18 -0
  181. package/dist/icons/Clock/index.js.map +1 -0
  182. package/dist/icons/Pin/index.d.ts +7 -0
  183. package/dist/icons/Pin/index.d.ts.map +1 -0
  184. package/dist/icons/Pin/index.js +23 -0
  185. package/dist/icons/Pin/index.js.map +1 -0
  186. package/dist/icons/Sidebar/index.d.ts.map +1 -1
  187. package/dist/icons/Sidebar/index.js +2 -0
  188. package/dist/icons/Sidebar/index.js.map +1 -1
  189. package/dist/icons/Table/index.css +5 -1
  190. package/dist/layouts/Root/getRootLayoutData.d.ts +2 -2
  191. package/dist/layouts/Root/getRootLayoutData.d.ts.map +1 -1
  192. package/dist/layouts/Root/getRootLayoutData.js +8 -4
  193. package/dist/layouts/Root/getRootLayoutData.js.map +1 -1
  194. package/dist/layouts/Root/index.d.ts +1 -1
  195. package/dist/layouts/Root/index.d.ts.map +1 -1
  196. package/dist/layouts/Root/index.js +5 -20
  197. package/dist/layouts/Root/index.js.map +1 -1
  198. package/dist/providers/ListQuery/types.d.ts +0 -4
  199. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  200. package/dist/providers/ListQuery/types.js.map +1 -1
  201. package/dist/providers/RouteCache/index.d.ts.map +1 -1
  202. package/dist/providers/RouteCache/index.js +37 -25
  203. package/dist/providers/RouteCache/index.js.map +1 -1
  204. package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
  205. package/dist/providers/TableColumns/RenderDefaultCell/index.js +1 -2
  206. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  207. package/dist/providers/TableColumns/types.d.ts +1 -34
  208. package/dist/providers/TableColumns/types.d.ts.map +1 -1
  209. package/dist/providers/TableColumns/types.js.map +1 -1
  210. package/dist/styles.css +22 -3
  211. package/dist/templates/Default/index.css +0 -1
  212. package/dist/utilities/appendCacheTag.d.ts +1 -0
  213. package/dist/utilities/appendCacheTag.d.ts.map +1 -1
  214. package/dist/utilities/appendCacheTag.js +2 -1
  215. package/dist/utilities/appendCacheTag.js.map +1 -1
  216. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
  217. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +32 -6
  218. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  219. package/dist/utilities/getDisplayedFieldValue.d.ts +8 -2
  220. package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
  221. package/dist/utilities/getDisplayedFieldValue.js +11 -1
  222. package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
  223. package/dist/utilities/getDocumentThumbnail.d.ts +6 -0
  224. package/dist/utilities/getDocumentThumbnail.d.ts.map +1 -0
  225. package/dist/utilities/getDocumentThumbnail.js +27 -0
  226. package/dist/utilities/getDocumentThumbnail.js.map +1 -0
  227. package/dist/utilities/getDocumentThumbnailPopulate.d.ts +7 -0
  228. package/dist/utilities/getDocumentThumbnailPopulate.d.ts.map +1 -0
  229. package/dist/utilities/getDocumentThumbnailPopulate.js +23 -0
  230. package/dist/utilities/getDocumentThumbnailPopulate.js.map +1 -0
  231. package/dist/utilities/getDocumentThumbnailSelect.d.ts +7 -0
  232. package/dist/utilities/getDocumentThumbnailSelect.d.ts.map +1 -0
  233. package/dist/utilities/getDocumentThumbnailSelect.js +24 -0
  234. package/dist/utilities/getDocumentThumbnailSelect.js.map +1 -0
  235. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  236. package/dist/utilities/handleLivePreview.js.map +1 -1
  237. package/dist/utilities/hasSavePermission.js.map +1 -1
  238. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  239. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  240. package/dist/utilities/serverFunctionRegistry.js +2 -0
  241. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  242. package/dist/utilities/traverseForLocalizedFields.d.ts +7 -2
  243. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  244. package/dist/utilities/traverseForLocalizedFields.js +22 -8
  245. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  246. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  247. package/dist/views/CreateFirstUser/index.js +4 -2
  248. package/dist/views/CreateFirstUser/index.js.map +1 -1
  249. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  250. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +30 -21
  251. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  252. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts +1 -1
  253. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
  254. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +16 -4
  255. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  256. package/dist/views/Edit/index.css +26 -0
  257. package/dist/views/Edit/index.d.ts.map +1 -1
  258. package/dist/views/Edit/index.js +1 -1
  259. package/dist/views/Edit/index.js.map +1 -1
  260. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  261. package/dist/views/HierarchyList/DocumentListSelection/index.js +0 -1
  262. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  263. package/dist/views/List/DocumentGrid/index.d.ts.map +1 -1
  264. package/dist/views/List/DocumentGrid/index.js +2 -37
  265. package/dist/views/List/DocumentGrid/index.js.map +1 -1
  266. package/dist/views/List/enrichDocsWithVersionStatus.d.ts.map +1 -1
  267. package/dist/views/List/enrichDocsWithVersionStatus.js +3 -1
  268. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  269. package/dist/views/List/index.d.ts.map +1 -1
  270. package/dist/views/List/index.js +11 -24
  271. package/dist/views/List/index.js.map +1 -1
  272. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +2 -12
  273. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  274. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +2 -2
  275. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  276. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +2 -2
  277. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  278. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +2 -2
  279. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  280. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +2 -2
  281. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  282. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +2 -2
  283. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  284. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +2 -2
  285. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  286. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  287. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +2 -2
  288. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  289. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +8 -8
  290. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  291. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +2 -2
  292. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  293. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -1
  294. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +2 -2
  295. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  296. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -1
  297. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +31 -5
  298. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -1
  299. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.css +41 -0
  300. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts +19 -0
  301. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts.map +1 -0
  302. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js +121 -0
  303. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js.map +1 -0
  304. package/dist/widgets/RecentlyViewed/getDocuments.d.ts +20 -0
  305. package/dist/widgets/RecentlyViewed/getDocuments.d.ts.map +1 -0
  306. package/dist/widgets/RecentlyViewed/getDocuments.js +254 -0
  307. package/dist/widgets/RecentlyViewed/getDocuments.js.map +1 -0
  308. package/dist/widgets/RecentlyViewed/index.client.d.ts +41 -0
  309. package/dist/widgets/RecentlyViewed/index.client.d.ts.map +1 -0
  310. package/dist/widgets/RecentlyViewed/index.client.js +409 -0
  311. package/dist/widgets/RecentlyViewed/index.client.js.map +1 -0
  312. package/dist/widgets/RecentlyViewed/index.css +352 -0
  313. package/dist/widgets/RecentlyViewed/index.d.ts +1 -1
  314. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -1
  315. package/dist/widgets/RecentlyViewed/index.js +33 -134
  316. package/dist/widgets/RecentlyViewed/index.js.map +1 -1
  317. package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts +18 -0
  318. package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts.map +1 -0
  319. package/dist/widgets/RecentlyViewed/pinnedPreferences.js +81 -0
  320. package/dist/widgets/RecentlyViewed/pinnedPreferences.js.map +1 -0
  321. package/dist/widgets/RecentlyViewed/recents.d.ts +8 -0
  322. package/dist/widgets/RecentlyViewed/recents.d.ts.map +1 -0
  323. package/dist/widgets/RecentlyViewed/recents.js +19 -0
  324. package/dist/widgets/RecentlyViewed/recents.js.map +1 -0
  325. package/package.json +16 -16
  326. package/dist/exports/client/chunk-2AY67NFV.js.map +0 -7
  327. package/dist/exports/client/chunk-6XCSN54Q.js +0 -27
  328. package/dist/exports/client/chunk-6XCSN54Q.js.map +0 -7
  329. /package/dist/exports/client/{CodeEditor-UKD3EPUY.js.map → CodeEditor-I6PL55BF.js.map} +0 -0
  330. /package/dist/exports/client/{DatePicker-POZJVQP4.js.map → DatePicker-XAKGIULG.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","fieldIsArrayType","fieldIsBlockType","React","useConfig","useTranslation","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","countChangedFieldsInRows","getFieldsForRowComparison","baseClass","Iterable","t0","$","baseVersionField","comparisonValue","valueFrom","field","locale","parentIsLocalized","versionValue","valueTo","i18n","t","selectedLocales","config","Error","type","valueToRowCount","Array","isArray","length","valueFromRowCount","maxRows","Math","max","t1","_jsx","className","children","_jsxs","isIterable","Label","label","from","_","i","valueToRow","valueFromRow","fields","versionFields","row","changeCount","locales","localized","valueFromRows","valueToRows","rowNumber","String","padStart","rowLabel","hideGutter","labels","plural"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldDiffClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { fieldIsArrayType, fieldIsBlockType } from 'payload/shared'\nimport React from 'react'\n\nimport './index.css'\nimport { useConfig } from '../../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\nimport { countChangedFieldsInRows } from '../../utilities/countChangedFields.js'\nimport { getFieldsForRowComparison } from '../../utilities/getFieldsForRowComparison.js'\n\nconst baseClass = 'iterable-diff'\n\nexport const Iterable: React.FC<FieldDiffClientProps> = ({\n baseVersionField,\n comparisonValue: valueFrom,\n field,\n locale,\n parentIsLocalized,\n versionValue: valueTo,\n}) => {\n const { i18n, t } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n const { config } = useConfig()\n\n if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {\n throw new Error(`Expected field to be an array or blocks type but got: ${field.type}`)\n }\n\n const valueToRowCount = Array.isArray(valueTo) ? valueTo.length : 0\n const valueFromRowCount = Array.isArray(valueFrom) ? valueFrom.length : 0\n const maxRows = Math.max(valueToRowCount, valueFromRowCount)\n\n return (\n <div className={baseClass}>\n <DiffCollapser\n field={field}\n isIterable\n Label={\n 'label' in field &&\n field.label &&\n typeof field.label !== 'function' && (\n <span>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.label, i18n)}\n </span>\n )\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized}\n valueFrom={valueFrom}\n valueTo={valueTo}\n >\n {maxRows > 0 && (\n <div className={`${baseClass}__rows`}>\n {Array.from({ length: maxRows }, (_, i) => {\n const valueToRow = valueTo?.[i] || {}\n const valueFromRow = valueFrom?.[i] || {}\n\n const { fields, versionFields } = getFieldsForRowComparison({\n baseVersionField,\n config,\n field,\n row: i,\n valueFromRow,\n valueToRow,\n })\n const changeCount = countChangedFieldsInRows({\n config,\n field,\n locales: selectedLocales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFromRows: [valueFromRow],\n valueToRows: [valueToRow],\n })\n\n if (!versionFields?.length) {\n // Rows without a diff create \"holes\" in the baseVersionField.rows (=versionFields) array - this is to maintain the correct row indexes.\n // It does mean that this row has no diff and should not be rendered => skip it.\n return null\n }\n\n const rowNumber = String(i + 1).padStart(2, '0')\n const rowLabel = fieldIsArrayType(field)\n ? `${t('general:item')} ${rowNumber}`\n : `${t('fields:block')} ${rowNumber}`\n\n return (\n <div className={`${baseClass}__row`} key={i}>\n <DiffCollapser\n changeCount={changeCount}\n fields={fields}\n hideGutter={true}\n Label={\n <div className={`${baseClass}-label-container`}>\n <div className={`${baseClass}-label-prefix`}></div>\n <span className={`${baseClass}__label`}>{rowLabel}</span>\n </div>\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized || field.localized}\n valueFrom={valueFromRow}\n valueTo={valueToRow}\n >\n <RenderVersionFieldsToDiff versionFields={versionFields} />\n </DiffCollapser>\n </div>\n )\n })}\n </div>\n )}\n {maxRows === 0 && (\n <div className={`${baseClass}__no-rows`}>\n {i18n.t('version:noRowsFound', {\n label:\n 'labels' in field && field.labels?.plural\n ? getTranslation(field.labels.plural, i18n)\n : i18n.t('general:rows'),\n })}\n </div>\n )}\n </DiffCollapser>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","fieldIsArrayType","fieldIsBlockType","React","useConfig","useTranslation","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","countChangedFieldsInRows","getFieldsForRowComparison","baseClass","Iterable","t0","$","baseVersionField","field","locale","parentIsLocalized","valueFrom","valueTo","i18n","t","selectedLocales","config","Error","type","valueToRowCount","Array","isArray","length","valueFromRowCount","maxRows","Math","max","t1","_jsx","className","children","_jsxs","isIterable","Label","label","from","_","i","valueToRow","valueFromRow","fields","versionFields","row","changeCount","locales","localized","valueFromRows","valueToRows","rowNumber","String","padStart","rowLabel","hideGutter","labels","plural"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldDiffClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { fieldIsArrayType, fieldIsBlockType } from 'payload/shared'\nimport React from 'react'\n\nimport './index.css'\nimport { useConfig } from '../../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\nimport { countChangedFieldsInRows } from '../../utilities/countChangedFields.js'\nimport { getFieldsForRowComparison } from '../../utilities/getFieldsForRowComparison.js'\n\nconst baseClass = 'iterable-diff'\n\nexport const Iterable: React.FC<FieldDiffClientProps> = ({\n baseVersionField,\n field,\n locale,\n parentIsLocalized,\n valueFrom,\n valueTo,\n}) => {\n const { i18n, t } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n const { config } = useConfig()\n\n if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {\n throw new Error(`Expected field to be an array or blocks type but got: ${field.type}`)\n }\n\n const valueToRowCount = Array.isArray(valueTo) ? valueTo.length : 0\n const valueFromRowCount = Array.isArray(valueFrom) ? valueFrom.length : 0\n const maxRows = Math.max(valueToRowCount, valueFromRowCount)\n\n return (\n <div className={baseClass}>\n <DiffCollapser\n field={field}\n isIterable\n Label={\n 'label' in field &&\n field.label &&\n typeof field.label !== 'function' && (\n <span>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.label, i18n)}\n </span>\n )\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized}\n valueFrom={valueFrom}\n valueTo={valueTo}\n >\n {maxRows > 0 && (\n <div className={`${baseClass}__rows`}>\n {Array.from({ length: maxRows }, (_, i) => {\n const valueToRow = valueTo?.[i] || {}\n const valueFromRow = valueFrom?.[i] || {}\n\n const { fields, versionFields } = getFieldsForRowComparison({\n baseVersionField,\n config,\n field,\n row: i,\n valueFromRow,\n valueToRow,\n })\n const changeCount = countChangedFieldsInRows({\n config,\n field,\n locales: selectedLocales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFromRows: [valueFromRow],\n valueToRows: [valueToRow],\n })\n\n if (!versionFields?.length) {\n // Rows without a diff create \"holes\" in the baseVersionField.rows (=versionFields) array - this is to maintain the correct row indexes.\n // It does mean that this row has no diff and should not be rendered => skip it.\n return null\n }\n\n const rowNumber = String(i + 1).padStart(2, '0')\n const rowLabel = fieldIsArrayType(field)\n ? `${t('general:item')} ${rowNumber}`\n : `${t('fields:block')} ${rowNumber}`\n\n return (\n <div className={`${baseClass}__row`} key={i}>\n <DiffCollapser\n changeCount={changeCount}\n fields={fields}\n hideGutter={true}\n Label={\n <div className={`${baseClass}-label-container`}>\n <div className={`${baseClass}-label-prefix`}></div>\n <span className={`${baseClass}__label`}>{rowLabel}</span>\n </div>\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized || field.localized}\n valueFrom={valueFromRow}\n valueTo={valueToRow}\n >\n <RenderVersionFieldsToDiff versionFields={versionFields} />\n </DiffCollapser>\n </div>\n )\n })}\n </div>\n )}\n {maxRows === 0 && (\n <div className={`${baseClass}__no-rows`}>\n {i18n.t('version:noRowsFound', {\n label:\n 'labels' in field && field.labels?.plural\n ? getTranslation(field.labels.plural, i18n)\n : i18n.t('general:rows'),\n })}\n </div>\n )}\n </DiffCollapser>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -7,14 +7,14 @@ import { generateLabelFromValue } from './generateLabelFromValue.js';
7
7
  import './index.css';
8
8
  const baseClass = 'relationship-diff';
9
9
  export const Relationship = ({
10
- comparisonValue: valueFrom,
11
10
  field,
12
11
  i18n,
13
12
  locale,
14
13
  nestingLevel,
15
14
  parentIsLocalized,
16
15
  req,
17
- versionValue: valueTo
16
+ valueFrom,
17
+ valueTo
18
18
  }) => {
19
19
  const hasMany = 'hasMany' in field && field.hasMany ||
20
20
  // Check data structure (handles block swaps where schema may not match data)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","FieldDiffContainer","getHTMLDiffComponents","generateLabelFromValue","baseClass","Relationship","comparisonValue","valueFrom","field","i18n","locale","nestingLevel","parentIsLocalized","req","versionValue","valueTo","hasMany","Array","isArray","polymorphic","relationTo","_jsx","ManyRelationshipDiff","SingleRelationshipDiff","args","ReactDOMServer","default","localeToUse","payload","config","localization","defaultLocale","titleFrom","titleTo","Promise","all","value","resolve","FromComponent","RelationshipDocumentDiff","showPill","title","ToComponent","NoValue","className","t","From","To","fromHTML","renderToStaticMarkup","toHTML","diff","tokenizeByCharacter","label","fromArr","toArr","titlesFrom","titlesTo","map","val","makeNodes","list","titles","idx","hasFrom","length","hasTo","fromNodes","toNodes","_Fragment","pillLabel","collectionConfig","collections","labels","singular","slug","_jsxs","id"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"sourcesContent":["import type {\n PayloadRequest,\n RelationshipField,\n RelationshipFieldDiffServerProps,\n TypeWithID,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { FieldDiffContainer } from '../../../../../elements/FieldDiffContainer/index.js'\nimport { getHTMLDiffComponents } from '../../../../../elements/HTMLDiff/index.js'\nimport { generateLabelFromValue } from './generateLabelFromValue.js'\nimport './index.css'\n\nconst baseClass = 'relationship-diff'\n\nexport type RelationshipValue =\n | { relationTo: string; value: number | string | TypeWithID }\n | (number | string | TypeWithID)\n\nexport const Relationship: React.FC<RelationshipFieldDiffServerProps> = ({\n comparisonValue: valueFrom,\n field,\n i18n,\n locale,\n nestingLevel,\n parentIsLocalized,\n req,\n versionValue: valueTo,\n}) => {\n const hasMany =\n ('hasMany' in field && field.hasMany) ||\n // Check data structure (handles block swaps where schema may not match data)\n Array.isArray(valueFrom) ||\n Array.isArray(valueTo)\n const polymorphic = Array.isArray(field.relationTo)\n\n if (hasMany) {\n return (\n <ManyRelationshipDiff\n field={field}\n i18n={i18n}\n locale={locale}\n nestingLevel={nestingLevel}\n parentIsLocalized={parentIsLocalized}\n polymorphic={polymorphic}\n req={req}\n valueFrom={valueFrom as RelationshipValue[] | undefined}\n valueTo={valueTo as RelationshipValue[] | undefined}\n />\n )\n }\n\n return (\n <SingleRelationshipDiff\n field={field}\n i18n={i18n}\n locale={locale}\n nestingLevel={nestingLevel}\n parentIsLocalized={parentIsLocalized}\n polymorphic={polymorphic}\n req={req}\n valueFrom={valueFrom as RelationshipValue}\n valueTo={valueTo as RelationshipValue}\n />\n )\n}\n\nexport const SingleRelationshipDiff: React.FC<{\n field: RelationshipField\n i18n: I18nClient\n locale: string\n nestingLevel?: number\n parentIsLocalized: boolean\n polymorphic: boolean\n req: PayloadRequest\n valueFrom: RelationshipValue\n valueTo: RelationshipValue\n}> = async (args) => {\n const {\n field,\n i18n,\n locale,\n nestingLevel,\n parentIsLocalized,\n polymorphic,\n req,\n valueFrom,\n valueTo,\n } = args\n\n const ReactDOMServer = (await import('react-dom/server')).default\n\n const localeToUse =\n locale ??\n (req.payload.config?.localization && req.payload.config?.localization?.defaultLocale) ??\n 'en'\n\n // Generate titles asynchronously before creating components\n const [titleFrom, titleTo] = await Promise.all([\n valueFrom\n ? generateLabelFromValue({\n field,\n locale: localeToUse,\n parentIsLocalized,\n req,\n value: valueFrom,\n })\n : Promise.resolve(null),\n valueTo\n ? generateLabelFromValue({\n field,\n locale: localeToUse,\n parentIsLocalized,\n req,\n value: valueTo,\n })\n : Promise.resolve(null),\n ])\n\n const FromComponent = valueFrom ? (\n <RelationshipDocumentDiff\n field={field}\n i18n={i18n}\n locale={locale}\n parentIsLocalized={parentIsLocalized}\n polymorphic={polymorphic}\n relationTo={\n polymorphic\n ? (valueFrom as { relationTo: string; value: TypeWithID }).relationTo\n : (field.relationTo as string)\n }\n req={req}\n showPill={true}\n title={titleFrom}\n value={valueFrom}\n />\n ) : null\n const ToComponent = valueTo ? (\n <RelationshipDocumentDiff\n field={field}\n i18n={i18n}\n locale={locale}\n parentIsLocalized={parentIsLocalized}\n polymorphic={polymorphic}\n relationTo={\n polymorphic\n ? (valueTo as { relationTo: string; value: TypeWithID }).relationTo\n : (field.relationTo as string)\n }\n req={req}\n showPill={true}\n title={titleTo}\n value={valueTo}\n />\n ) : null\n\n const NoValue = <div className=\"diff-no-value\">{i18n.t('general:noValue')}</div>\n\n let From: React.ReactNode = NoValue\n let To: React.ReactNode = NoValue\n\n if (FromComponent || ToComponent) {\n const fromHTML = FromComponent ? ReactDOMServer.renderToStaticMarkup(FromComponent) : '<p></p>'\n const toHTML = ToComponent ? ReactDOMServer.renderToStaticMarkup(ToComponent) : '<p></p>'\n\n const diff = getHTMLDiffComponents({\n fromHTML,\n toHTML,\n tokenizeByCharacter: false,\n })\n\n From = FromComponent ? diff.From : NoValue\n To = ToComponent ? diff.To : NoValue\n }\n\n return (\n <FieldDiffContainer\n className={`${baseClass}-container ${baseClass}-container--hasOne`}\n From={From}\n i18n={i18n}\n label={{ label: field.label, locale }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n\nconst ManyRelationshipDiff: React.FC<{\n field: RelationshipField\n i18n: I18nClient\n locale: string\n nestingLevel?: number\n parentIsLocalized: boolean\n polymorphic: boolean\n req: PayloadRequest\n valueFrom: RelationshipValue[] | undefined\n valueTo: RelationshipValue[] | undefined\n}> = async ({\n field,\n i18n,\n locale,\n nestingLevel,\n parentIsLocalized,\n polymorphic,\n req,\n valueFrom,\n valueTo,\n}) => {\n const ReactDOMServer = (await import('react-dom/server')).default\n\n const fromArr = Array.isArray(valueFrom) ? valueFrom : []\n const toArr = Array.isArray(valueTo) ? valueTo : []\n\n const localeToUse =\n locale ??\n (req.payload.config?.localization && req.payload.config?.localization?.defaultLocale) ??\n 'en'\n\n // Generate all titles asynchronously before creating components\n const [titlesFrom, titlesTo] = await Promise.all([\n Promise.all(\n fromArr.map((val) =>\n generateLabelFromValue({\n field,\n locale: localeToUse,\n parentIsLocalized,\n req,\n value: val,\n }),\n ),\n ),\n Promise.all(\n toArr.map((val) =>\n generateLabelFromValue({\n field,\n locale: localeToUse,\n parentIsLocalized,\n req,\n value: val,\n }),\n ),\n ),\n ])\n\n const makeNodes = (list: RelationshipValue[], titles: string[]) =>\n list.map((val, idx) => (\n <RelationshipDocumentDiff\n field={field}\n i18n={i18n}\n key={idx}\n locale={locale}\n parentIsLocalized={parentIsLocalized}\n polymorphic={polymorphic}\n relationTo={\n polymorphic\n ? (val as { relationTo: string; value: TypeWithID }).relationTo\n : (field.relationTo as string)\n }\n req={req}\n showPill={polymorphic}\n title={titles[idx]}\n value={val}\n />\n ))\n\n const NoValue = <div className=\"diff-no-value\">{i18n.t('general:noValue')}</div>\n\n const hasFrom = fromArr.length > 0\n const hasTo = toArr.length > 0\n\n let From: React.ReactNode = NoValue\n let To: React.ReactNode = NoValue\n\n if (hasFrom || hasTo) {\n const fromNodes = hasFrom ? makeNodes(fromArr, titlesFrom) : []\n const toNodes = hasTo ? makeNodes(toArr, titlesTo) : []\n\n const fromHTML = hasFrom ? ReactDOMServer.renderToStaticMarkup(<>{fromNodes}</>) : ''\n const toHTML = hasTo ? ReactDOMServer.renderToStaticMarkup(<>{toNodes}</>) : ''\n\n const diff = getHTMLDiffComponents({\n fromHTML,\n toHTML,\n tokenizeByCharacter: false,\n })\n\n From = hasFrom ? diff.From : NoValue\n To = hasTo ? diff.To : NoValue\n }\n\n return (\n <FieldDiffContainer\n className={`${baseClass}-container ${baseClass}-container--hasMany`}\n From={From}\n i18n={i18n}\n label={{ label: field.label, locale }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n\nconst RelationshipDocumentDiff = ({\n field,\n i18n,\n locale,\n parentIsLocalized,\n polymorphic,\n relationTo,\n req,\n showPill = false,\n title,\n value,\n}: {\n field: RelationshipField\n i18n: I18nClient\n locale: string\n parentIsLocalized: boolean\n polymorphic: boolean\n relationTo: string\n req: PayloadRequest\n showPill?: boolean\n title: null | string\n value: RelationshipValue\n}) => {\n let pillLabel: null | string = null\n if (showPill) {\n const collectionConfig = req.payload.collections[relationTo].config\n pillLabel = collectionConfig.labels?.singular\n ? getTranslation(collectionConfig.labels.singular, i18n)\n : collectionConfig.slug\n }\n\n return (\n <div\n className={`${baseClass}`}\n data-enable-match=\"true\"\n data-id={\n polymorphic\n ? (value as { relationTo: string; value: TypeWithID }).value.id\n : (value as TypeWithID).id\n }\n data-relation-to={relationTo}\n >\n {pillLabel && (\n <span className={`${baseClass}__pill`} data-enable-match=\"false\">\n {pillLabel}\n </span>\n )}\n <strong className={`${baseClass}__info`} data-enable-match=\"false\">\n {title}\n </strong>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","FieldDiffContainer","getHTMLDiffComponents","generateLabelFromValue","baseClass","Relationship","field","i18n","locale","nestingLevel","parentIsLocalized","req","valueFrom","valueTo","hasMany","Array","isArray","polymorphic","relationTo","_jsx","ManyRelationshipDiff","SingleRelationshipDiff","args","ReactDOMServer","default","localeToUse","payload","config","localization","defaultLocale","titleFrom","titleTo","Promise","all","value","resolve","FromComponent","RelationshipDocumentDiff","showPill","title","ToComponent","NoValue","className","t","From","To","fromHTML","renderToStaticMarkup","toHTML","diff","tokenizeByCharacter","label","fromArr","toArr","titlesFrom","titlesTo","map","val","makeNodes","list","titles","idx","hasFrom","length","hasTo","fromNodes","toNodes","_Fragment","pillLabel","collectionConfig","collections","labels","singular","slug","_jsxs","id"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"sourcesContent":["import type {\n PayloadRequest,\n RelationshipField,\n RelationshipFieldDiffServerProps,\n TypeWithID,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { FieldDiffContainer } from '../../../../../elements/FieldDiffContainer/index.js'\nimport { getHTMLDiffComponents } from '../../../../../elements/HTMLDiff/index.js'\nimport { generateLabelFromValue } from './generateLabelFromValue.js'\nimport './index.css'\n\nconst baseClass = 'relationship-diff'\n\nexport type RelationshipValue =\n | { relationTo: string; value: number | string | TypeWithID }\n | (number | string | TypeWithID)\n\nexport const Relationship: React.FC<RelationshipFieldDiffServerProps> = ({\n field,\n i18n,\n locale,\n nestingLevel,\n parentIsLocalized,\n req,\n valueFrom,\n valueTo,\n}) => {\n const hasMany =\n ('hasMany' in field && field.hasMany) ||\n // Check data structure (handles block swaps where schema may not match data)\n Array.isArray(valueFrom) ||\n Array.isArray(valueTo)\n const polymorphic = Array.isArray(field.relationTo)\n\n if (hasMany) {\n return (\n <ManyRelationshipDiff\n field={field}\n i18n={i18n}\n locale={locale}\n nestingLevel={nestingLevel}\n parentIsLocalized={parentIsLocalized}\n polymorphic={polymorphic}\n req={req}\n valueFrom={valueFrom as RelationshipValue[] | undefined}\n valueTo={valueTo as RelationshipValue[] | undefined}\n />\n )\n }\n\n return (\n <SingleRelationshipDiff\n field={field}\n i18n={i18n}\n locale={locale}\n nestingLevel={nestingLevel}\n parentIsLocalized={parentIsLocalized}\n polymorphic={polymorphic}\n req={req}\n valueFrom={valueFrom as RelationshipValue}\n valueTo={valueTo as RelationshipValue}\n />\n )\n}\n\nexport const SingleRelationshipDiff: React.FC<{\n field: RelationshipField\n i18n: I18nClient\n locale: string\n nestingLevel?: number\n parentIsLocalized: boolean\n polymorphic: boolean\n req: PayloadRequest\n valueFrom: RelationshipValue\n valueTo: RelationshipValue\n}> = async (args) => {\n const {\n field,\n i18n,\n locale,\n nestingLevel,\n parentIsLocalized,\n polymorphic,\n req,\n valueFrom,\n valueTo,\n } = args\n\n const ReactDOMServer = (await import('react-dom/server')).default\n\n const localeToUse =\n locale ??\n (req.payload.config?.localization && req.payload.config?.localization?.defaultLocale) ??\n 'en'\n\n // Generate titles asynchronously before creating components\n const [titleFrom, titleTo] = await Promise.all([\n valueFrom\n ? generateLabelFromValue({\n field,\n locale: localeToUse,\n parentIsLocalized,\n req,\n value: valueFrom,\n })\n : Promise.resolve(null),\n valueTo\n ? generateLabelFromValue({\n field,\n locale: localeToUse,\n parentIsLocalized,\n req,\n value: valueTo,\n })\n : Promise.resolve(null),\n ])\n\n const FromComponent = valueFrom ? (\n <RelationshipDocumentDiff\n field={field}\n i18n={i18n}\n locale={locale}\n parentIsLocalized={parentIsLocalized}\n polymorphic={polymorphic}\n relationTo={\n polymorphic\n ? (valueFrom as { relationTo: string; value: TypeWithID }).relationTo\n : (field.relationTo as string)\n }\n req={req}\n showPill={true}\n title={titleFrom}\n value={valueFrom}\n />\n ) : null\n const ToComponent = valueTo ? (\n <RelationshipDocumentDiff\n field={field}\n i18n={i18n}\n locale={locale}\n parentIsLocalized={parentIsLocalized}\n polymorphic={polymorphic}\n relationTo={\n polymorphic\n ? (valueTo as { relationTo: string; value: TypeWithID }).relationTo\n : (field.relationTo as string)\n }\n req={req}\n showPill={true}\n title={titleTo}\n value={valueTo}\n />\n ) : null\n\n const NoValue = <div className=\"diff-no-value\">{i18n.t('general:noValue')}</div>\n\n let From: React.ReactNode = NoValue\n let To: React.ReactNode = NoValue\n\n if (FromComponent || ToComponent) {\n const fromHTML = FromComponent ? ReactDOMServer.renderToStaticMarkup(FromComponent) : '<p></p>'\n const toHTML = ToComponent ? ReactDOMServer.renderToStaticMarkup(ToComponent) : '<p></p>'\n\n const diff = getHTMLDiffComponents({\n fromHTML,\n toHTML,\n tokenizeByCharacter: false,\n })\n\n From = FromComponent ? diff.From : NoValue\n To = ToComponent ? diff.To : NoValue\n }\n\n return (\n <FieldDiffContainer\n className={`${baseClass}-container ${baseClass}-container--hasOne`}\n From={From}\n i18n={i18n}\n label={{ label: field.label, locale }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n\nconst ManyRelationshipDiff: React.FC<{\n field: RelationshipField\n i18n: I18nClient\n locale: string\n nestingLevel?: number\n parentIsLocalized: boolean\n polymorphic: boolean\n req: PayloadRequest\n valueFrom: RelationshipValue[] | undefined\n valueTo: RelationshipValue[] | undefined\n}> = async ({\n field,\n i18n,\n locale,\n nestingLevel,\n parentIsLocalized,\n polymorphic,\n req,\n valueFrom,\n valueTo,\n}) => {\n const ReactDOMServer = (await import('react-dom/server')).default\n\n const fromArr = Array.isArray(valueFrom) ? valueFrom : []\n const toArr = Array.isArray(valueTo) ? valueTo : []\n\n const localeToUse =\n locale ??\n (req.payload.config?.localization && req.payload.config?.localization?.defaultLocale) ??\n 'en'\n\n // Generate all titles asynchronously before creating components\n const [titlesFrom, titlesTo] = await Promise.all([\n Promise.all(\n fromArr.map((val) =>\n generateLabelFromValue({\n field,\n locale: localeToUse,\n parentIsLocalized,\n req,\n value: val,\n }),\n ),\n ),\n Promise.all(\n toArr.map((val) =>\n generateLabelFromValue({\n field,\n locale: localeToUse,\n parentIsLocalized,\n req,\n value: val,\n }),\n ),\n ),\n ])\n\n const makeNodes = (list: RelationshipValue[], titles: string[]) =>\n list.map((val, idx) => (\n <RelationshipDocumentDiff\n field={field}\n i18n={i18n}\n key={idx}\n locale={locale}\n parentIsLocalized={parentIsLocalized}\n polymorphic={polymorphic}\n relationTo={\n polymorphic\n ? (val as { relationTo: string; value: TypeWithID }).relationTo\n : (field.relationTo as string)\n }\n req={req}\n showPill={polymorphic}\n title={titles[idx]}\n value={val}\n />\n ))\n\n const NoValue = <div className=\"diff-no-value\">{i18n.t('general:noValue')}</div>\n\n const hasFrom = fromArr.length > 0\n const hasTo = toArr.length > 0\n\n let From: React.ReactNode = NoValue\n let To: React.ReactNode = NoValue\n\n if (hasFrom || hasTo) {\n const fromNodes = hasFrom ? makeNodes(fromArr, titlesFrom) : []\n const toNodes = hasTo ? makeNodes(toArr, titlesTo) : []\n\n const fromHTML = hasFrom ? ReactDOMServer.renderToStaticMarkup(<>{fromNodes}</>) : ''\n const toHTML = hasTo ? ReactDOMServer.renderToStaticMarkup(<>{toNodes}</>) : ''\n\n const diff = getHTMLDiffComponents({\n fromHTML,\n toHTML,\n tokenizeByCharacter: false,\n })\n\n From = hasFrom ? diff.From : NoValue\n To = hasTo ? diff.To : NoValue\n }\n\n return (\n <FieldDiffContainer\n className={`${baseClass}-container ${baseClass}-container--hasMany`}\n From={From}\n i18n={i18n}\n label={{ label: field.label, locale }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n\nconst RelationshipDocumentDiff = ({\n field,\n i18n,\n locale,\n parentIsLocalized,\n polymorphic,\n relationTo,\n req,\n showPill = false,\n title,\n value,\n}: {\n field: RelationshipField\n i18n: I18nClient\n locale: string\n parentIsLocalized: boolean\n polymorphic: boolean\n relationTo: string\n req: PayloadRequest\n showPill?: boolean\n title: null | string\n value: RelationshipValue\n}) => {\n let pillLabel: null | string = null\n if (showPill) {\n const collectionConfig = req.payload.collections[relationTo].config\n pillLabel = collectionConfig.labels?.singular\n ? getTranslation(collectionConfig.labels.singular, i18n)\n : collectionConfig.slug\n }\n\n return (\n <div\n className={`${baseClass}`}\n data-enable-match=\"true\"\n data-id={\n polymorphic\n ? (value as { relationTo: string; value: TypeWithID }).value.id\n : (value as TypeWithID).id\n }\n data-relation-to={relationTo}\n >\n {pillLabel && (\n <span className={`${baseClass}__pill`} data-enable-match=\"false\">\n {pillLabel}\n </span>\n )}\n <strong className={`${baseClass}__info`} data-enable-match=\"false\">\n {title}\n </strong>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAuB,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAG9E,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,OAAO,aAAa,CAAA;AAmDpB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAwDvD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAuB,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAG9E,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,OAAO,aAAa,CAAA;AAmDpB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAuDvD,CAAA"}
@@ -40,11 +40,11 @@ const getTranslatedOptions = (options, i18n) => {
40
40
  export const Select = t0 => {
41
41
  const $ = _c(7);
42
42
  const {
43
- comparisonValue: valueFrom,
44
43
  field,
45
44
  locale,
46
45
  nestingLevel,
47
- versionValue: valueTo
46
+ valueFrom,
47
+ valueTo
48
48
  } = t0;
49
49
  const {
50
50
  i18n
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","FieldDiffContainer","escapeDiffHTML","getHTMLDiffComponents","unescapeDiffHTML","useTranslation","baseClass","getOptionsToRender","value","options","hasMany","Array","isArray","map","val","find","option","String","getTranslatedOptions","i18n","translatedLabel","label","join","Select","t0","$","comparisonValue","valueFrom","field","locale","nestingLevel","versionValue","valueTo","renderedValueFrom","JSON","stringify","renderedValueTo","t1","t2","t3","From","To","fromHTML","postProcess","toHTML","tokenizeByCharacter","_jsx","className"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { Option, SelectField, SelectFieldDiffClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { FieldDiffContainer } from '../../../../../elements/FieldDiffContainer/index.js'\nimport {\n escapeDiffHTML,\n getHTMLDiffComponents,\n unescapeDiffHTML,\n} from '../../../../../elements/HTMLDiff/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport './index.css'\n\nconst baseClass = 'select-diff'\n\nconst getOptionsToRender = (\n value: string,\n options: SelectField['options'],\n hasMany: boolean,\n): Option | Option[] => {\n if (hasMany && Array.isArray(value)) {\n return value.map(\n (val) =>\n options.find((option) => (typeof option === 'string' ? option : option.value) === val) ||\n String(val),\n )\n }\n return (\n options.find((option) => (typeof option === 'string' ? option : option.value) === value) ||\n String(value)\n )\n}\n\n/**\n * Translates option labels while ensuring they are strings.\n * If `options.label` is a JSX element, it falls back to `options.value` because `DiffViewer`\n * expects all values to be strings.\n */\nconst getTranslatedOptions = (options: Option | Option[], i18n: I18nClient): string => {\n if (Array.isArray(options)) {\n return options\n .map((option) => {\n if (typeof option === 'string') {\n return option\n }\n const translatedLabel = getTranslation(option.label, i18n)\n\n // Ensure the result is a string, otherwise use option.value\n return typeof translatedLabel === 'string' ? translatedLabel : option.value\n })\n .join(', ')\n }\n\n if (typeof options === 'string') {\n return options\n }\n\n const translatedLabel = getTranslation(options.label, i18n)\n\n return typeof translatedLabel === 'string' ? translatedLabel : options.value\n}\n\nexport const Select: React.FC<SelectFieldDiffClientProps> = ({\n comparisonValue: valueFrom,\n diffMethod,\n field,\n locale,\n nestingLevel,\n versionValue: valueTo,\n}) => {\n const { i18n } = useTranslation()\n\n const options = 'options' in field && field.options\n\n const renderedValueFrom =\n typeof valueFrom !== 'undefined'\n ? getTranslatedOptions(\n getOptionsToRender(\n typeof valueFrom === 'string' ? valueFrom : JSON.stringify(valueFrom),\n options,\n field.hasMany,\n ),\n i18n,\n )\n : ''\n\n const renderedValueTo =\n typeof valueTo !== 'undefined'\n ? getTranslatedOptions(\n getOptionsToRender(\n typeof valueTo === 'string' ? valueTo : JSON.stringify(valueTo),\n options,\n field.hasMany,\n ),\n i18n,\n )\n : ''\n\n const { From, To } = getHTMLDiffComponents({\n fromHTML: '<p>' + escapeDiffHTML(renderedValueFrom) + '</p>',\n postProcess: unescapeDiffHTML,\n toHTML: '<p>' + escapeDiffHTML(renderedValueTo) + '</p>',\n tokenizeByCharacter: true,\n })\n\n return (\n <FieldDiffContainer\n className={baseClass}\n From={From}\n i18n={i18n}\n label={{\n label: field.label,\n locale,\n }}\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","getTranslation","React","FieldDiffContainer","escapeDiffHTML","getHTMLDiffComponents","unescapeDiffHTML","useTranslation","baseClass","getOptionsToRender","value","options","hasMany","Array","isArray","map","val","find","option","String","getTranslatedOptions","i18n","translatedLabel","label","join","Select","t0","$","field","locale","nestingLevel","valueFrom","valueTo","renderedValueFrom","JSON","stringify","renderedValueTo","t1","t2","t3","From","To","fromHTML","postProcess","toHTML","tokenizeByCharacter","_jsx","className"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { Option, SelectField, SelectFieldDiffClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { FieldDiffContainer } from '../../../../../elements/FieldDiffContainer/index.js'\nimport {\n escapeDiffHTML,\n getHTMLDiffComponents,\n unescapeDiffHTML,\n} from '../../../../../elements/HTMLDiff/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport './index.css'\n\nconst baseClass = 'select-diff'\n\nconst getOptionsToRender = (\n value: string,\n options: SelectField['options'],\n hasMany: boolean,\n): Option | Option[] => {\n if (hasMany && Array.isArray(value)) {\n return value.map(\n (val) =>\n options.find((option) => (typeof option === 'string' ? option : option.value) === val) ||\n String(val),\n )\n }\n return (\n options.find((option) => (typeof option === 'string' ? option : option.value) === value) ||\n String(value)\n )\n}\n\n/**\n * Translates option labels while ensuring they are strings.\n * If `options.label` is a JSX element, it falls back to `options.value` because `DiffViewer`\n * expects all values to be strings.\n */\nconst getTranslatedOptions = (options: Option | Option[], i18n: I18nClient): string => {\n if (Array.isArray(options)) {\n return options\n .map((option) => {\n if (typeof option === 'string') {\n return option\n }\n const translatedLabel = getTranslation(option.label, i18n)\n\n // Ensure the result is a string, otherwise use option.value\n return typeof translatedLabel === 'string' ? translatedLabel : option.value\n })\n .join(', ')\n }\n\n if (typeof options === 'string') {\n return options\n }\n\n const translatedLabel = getTranslation(options.label, i18n)\n\n return typeof translatedLabel === 'string' ? translatedLabel : options.value\n}\n\nexport const Select: React.FC<SelectFieldDiffClientProps> = ({\n field,\n locale,\n nestingLevel,\n valueFrom,\n valueTo,\n}) => {\n const { i18n } = useTranslation()\n\n const options = 'options' in field && field.options\n\n const renderedValueFrom =\n typeof valueFrom !== 'undefined'\n ? getTranslatedOptions(\n getOptionsToRender(\n typeof valueFrom === 'string' ? valueFrom : JSON.stringify(valueFrom),\n options,\n field.hasMany,\n ),\n i18n,\n )\n : ''\n\n const renderedValueTo =\n typeof valueTo !== 'undefined'\n ? getTranslatedOptions(\n getOptionsToRender(\n typeof valueTo === 'string' ? valueTo : JSON.stringify(valueTo),\n options,\n field.hasMany,\n ),\n i18n,\n )\n : ''\n\n const { From, To } = getHTMLDiffComponents({\n fromHTML: '<p>' + escapeDiffHTML(renderedValueFrom) + '</p>',\n postProcess: unescapeDiffHTML,\n toHTML: '<p>' + escapeDiffHTML(renderedValueTo) + '</p>',\n tokenizeByCharacter: true,\n })\n\n return (\n <FieldDiffContainer\n className={baseClass}\n From={From}\n i18n={i18n}\n label={{\n label: field.label,\n locale,\n }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -14,9 +14,9 @@ export const Tabs = props => {
14
14
  const $ = _c(13);
15
15
  const {
16
16
  baseVersionField,
17
- comparisonValue: valueFrom,
18
17
  field,
19
- versionValue: valueTo
18
+ valueFrom,
19
+ valueTo
20
20
  } = props;
21
21
  const {
22
22
  selectedLocales
@@ -40,11 +40,11 @@ export const Tabs = props => {
40
40
  return selectedLocales.map((locale, index) => {
41
41
  const localizedTabProps = {
42
42
  ...props,
43
- comparisonValue: valueFrom?.[tab.name]?.[locale],
44
43
  fieldTab,
45
44
  locale,
46
45
  tab,
47
- versionValue: valueTo?.[tab.name]?.[locale]
46
+ valueFrom: valueFrom?.[tab.name]?.[locale],
47
+ valueTo: valueTo?.[tab.name]?.[locale]
48
48
  };
49
49
  return _jsx("div", {
50
50
  className: `${baseClass}__tab-locale`,
@@ -60,10 +60,10 @@ export const Tabs = props => {
60
60
  if ("name" in tab && tab.name) {
61
61
  const namedTabProps = {
62
62
  ...props,
63
- comparisonValue: valueFrom?.[tab.name],
64
63
  fieldTab,
65
64
  tab,
66
- versionValue: valueTo?.[tab.name]
65
+ valueFrom: valueFrom?.[tab.name],
66
+ valueTo: valueTo?.[tab.name]
67
67
  };
68
68
  return _jsx(Tab, {
69
69
  ...namedTabProps
@@ -107,12 +107,12 @@ export const Tabs = props => {
107
107
  const Tab = t0 => {
108
108
  const $ = _c(10);
109
109
  const {
110
- comparisonValue: valueFrom,
111
110
  fieldTab,
112
111
  locale,
113
112
  parentIsLocalized,
114
113
  tab,
115
- versionValue: valueTo
114
+ valueFrom,
115
+ valueTo
116
116
  } = t0;
117
117
  const {
118
118
  i18n
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useTranslation","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","baseClass","Tabs","props","$","baseVersionField","comparisonValue","valueFrom","field","versionValue","valueTo","selectedLocales","t0","tabs","t1","tab","i","fields","length","fieldTab","_jsx","className","children","localized","map","locale","index","localizedTabProps","name","Tab","join","namedTabProps","parentIsLocalized","i18n","Label","label","_jsxs","versionFields"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Tabs/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientTab,\n FieldDiffClientProps,\n TabsFieldClient,\n TabsFieldDiffClientProps,\n VersionTab,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport './index.css'\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\n\nconst baseClass = 'tabs-diff'\n\nexport const Tabs: React.FC<TabsFieldDiffClientProps> = (props) => {\n const { baseVersionField, comparisonValue: valueFrom, field, versionValue: valueTo } = props\n const { selectedLocales } = useSelectedLocales()\n\n return (\n <div className={baseClass}>\n {baseVersionField.tabs.map((tab, i) => {\n if (!tab?.fields?.length) {\n return null\n }\n const fieldTab = field.tabs?.[i]\n if (!fieldTab) {\n return null\n }\n return (\n <div className={`${baseClass}__tab`} key={i}>\n {(() => {\n if ('name' in fieldTab && selectedLocales && fieldTab.localized) {\n // Named localized tab\n return selectedLocales.map((locale, index) => {\n const localizedTabProps: TabProps = {\n ...props,\n comparisonValue: valueFrom?.[tab.name]?.[locale],\n fieldTab,\n locale,\n tab,\n versionValue: valueTo?.[tab.name]?.[locale],\n }\n return (\n <div className={`${baseClass}__tab-locale`} key={[locale, index].join('-')}>\n <div className={`${baseClass}__tab-locale-value`}>\n <Tab key={locale} {...localizedTabProps} />\n </div>\n </div>\n )\n })\n } else if ('name' in tab && tab.name) {\n // Named tab\n const namedTabProps: TabProps = {\n ...props,\n comparisonValue: valueFrom?.[tab.name],\n fieldTab,\n tab,\n versionValue: valueTo?.[tab.name],\n }\n return <Tab key={i} {...namedTabProps} />\n } else {\n // Unnamed tab\n return <Tab fieldTab={fieldTab} key={i} {...props} tab={tab} />\n }\n })()}\n </div>\n )\n })}\n </div>\n )\n}\n\ntype TabProps = {\n fieldTab: ClientTab\n tab: VersionTab\n} & FieldDiffClientProps<TabsFieldClient>\n\nconst Tab: React.FC<TabProps> = ({\n comparisonValue: valueFrom,\n fieldTab,\n locale,\n parentIsLocalized,\n tab,\n versionValue: valueTo,\n}) => {\n const { i18n } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n\n if (!tab.fields?.length) {\n return null\n }\n\n return (\n <DiffCollapser\n fields={fieldTab.fields}\n Label={\n 'label' in tab &&\n tab.label &&\n typeof tab.label !== 'function' && (\n <span>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(tab.label, i18n)}\n </span>\n )\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized || fieldTab.localized}\n valueFrom={valueFrom}\n valueTo={valueTo}\n >\n <RenderVersionFieldsToDiff versionFields={tab.fields} />\n </DiffCollapser>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useTranslation","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","baseClass","Tabs","props","$","baseVersionField","field","valueFrom","valueTo","selectedLocales","t0","tabs","t1","tab","i","fields","length","fieldTab","_jsx","className","children","localized","map","locale","index","localizedTabProps","name","Tab","join","namedTabProps","parentIsLocalized","i18n","Label","label","_jsxs","versionFields"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Tabs/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientTab,\n FieldDiffClientProps,\n TabsFieldClient,\n TabsFieldDiffClientProps,\n VersionTab,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport './index.css'\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\n\nconst baseClass = 'tabs-diff'\n\nexport const Tabs: React.FC<TabsFieldDiffClientProps> = (props) => {\n const { baseVersionField, field, valueFrom, valueTo } = props\n const { selectedLocales } = useSelectedLocales()\n\n return (\n <div className={baseClass}>\n {baseVersionField.tabs.map((tab, i) => {\n if (!tab?.fields?.length) {\n return null\n }\n const fieldTab = field.tabs?.[i]\n if (!fieldTab) {\n return null\n }\n return (\n <div className={`${baseClass}__tab`} key={i}>\n {(() => {\n if ('name' in fieldTab && selectedLocales && fieldTab.localized) {\n // Named localized tab\n return selectedLocales.map((locale, index) => {\n const localizedTabProps: TabProps = {\n ...props,\n fieldTab,\n locale,\n tab,\n valueFrom: valueFrom?.[tab.name]?.[locale],\n valueTo: valueTo?.[tab.name]?.[locale],\n }\n return (\n <div className={`${baseClass}__tab-locale`} key={[locale, index].join('-')}>\n <div className={`${baseClass}__tab-locale-value`}>\n <Tab key={locale} {...localizedTabProps} />\n </div>\n </div>\n )\n })\n } else if ('name' in tab && tab.name) {\n // Named tab\n const namedTabProps: TabProps = {\n ...props,\n fieldTab,\n tab,\n valueFrom: valueFrom?.[tab.name],\n valueTo: valueTo?.[tab.name],\n }\n return <Tab key={i} {...namedTabProps} />\n } else {\n // Unnamed tab\n return <Tab fieldTab={fieldTab} key={i} {...props} tab={tab} />\n }\n })()}\n </div>\n )\n })}\n </div>\n )\n}\n\ntype TabProps = {\n fieldTab: ClientTab\n tab: VersionTab\n} & FieldDiffClientProps<TabsFieldClient>\n\nconst Tab: React.FC<TabProps> = ({\n fieldTab,\n locale,\n parentIsLocalized,\n tab,\n valueFrom,\n valueTo,\n}) => {\n const { i18n } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n\n if (!tab.fields?.length) {\n return null\n }\n\n return (\n <DiffCollapser\n fields={fieldTab.fields}\n Label={\n 'label' in tab &&\n tab.label &&\n typeof tab.label !== 'function' && (\n <span>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(tab.label, i18n)}\n </span>\n )\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized || fieldTab.localized}\n valueFrom={valueFrom}\n valueTo={valueTo}\n >\n <RenderVersionFieldsToDiff versionFields={tab.fields} />\n </DiffCollapser>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -41,11 +41,11 @@ function formatValue(value) {
41
41
  export const Text = t0 => {
42
42
  const $ = _c(8);
43
43
  const {
44
- comparisonValue: valueFrom,
45
44
  field,
46
45
  locale,
47
46
  nestingLevel,
48
- versionValue: valueTo
47
+ valueFrom,
48
+ valueTo
49
49
  } = t0;
50
50
  const {
51
51
  i18n
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","FieldDiffContainer","escapeDiffHTML","getHTMLDiffComponents","unescapeDiffHTML","useTranslation","baseClass","formatValue","value","tokenizeByCharacter","String","JSON","stringify","undefined","Text","t0","$","comparisonValue","valueFrom","field","locale","nestingLevel","versionValue","valueTo","i18n","placeholder","t1","label","formattedValueFrom","formattedValueTo","length","renderedValueFrom","renderedValueTo","From","To","fromHTML","fromLabel","t","postProcess","toHTML","toLabel","_jsx","className"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Text/index.tsx"],"sourcesContent":["'use client'\nimport type { TextFieldDiffClientProps } from 'payload'\n\nimport React from 'react'\n\nimport { FieldDiffContainer } from '../../../../../elements/FieldDiffContainer/index.js'\nimport {\n escapeDiffHTML,\n getHTMLDiffComponents,\n unescapeDiffHTML,\n} from '../../../../../elements/HTMLDiff/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport './index.css'\n\nconst baseClass = 'text-diff'\n\nfunction formatValue(value: unknown): {\n tokenizeByCharacter: boolean\n value: string\n} {\n if (typeof value === 'string') {\n return { tokenizeByCharacter: true, value: escapeDiffHTML(value) }\n }\n if (typeof value === 'number') {\n return {\n tokenizeByCharacter: true,\n value: String(value),\n }\n }\n if (typeof value === 'boolean') {\n return {\n tokenizeByCharacter: false,\n value: String(value),\n }\n }\n\n if (value && typeof value === 'object') {\n return {\n tokenizeByCharacter: false,\n value: `<pre>${escapeDiffHTML(JSON.stringify(value, null, 2))}</pre>`,\n }\n }\n\n return {\n tokenizeByCharacter: true,\n value: undefined,\n }\n}\n\nexport const Text: React.FC<TextFieldDiffClientProps> = ({\n comparisonValue: valueFrom,\n field,\n locale,\n nestingLevel,\n versionValue: valueTo,\n}) => {\n const { i18n } = useTranslation()\n\n let placeholder = ''\n\n if (valueTo == valueFrom) {\n placeholder = `<span class=\"html-diff-no-value\"><span>`\n }\n\n const formattedValueFrom = formatValue(valueFrom)\n const formattedValueTo = formatValue(valueTo)\n\n let tokenizeByCharacter = true\n if (formattedValueFrom.value?.length) {\n tokenizeByCharacter = formattedValueFrom.tokenizeByCharacter\n } else if (formattedValueTo.value?.length) {\n tokenizeByCharacter = formattedValueTo.tokenizeByCharacter\n }\n\n const renderedValueFrom = formattedValueFrom.value ?? placeholder\n const renderedValueTo: string = formattedValueTo.value ?? placeholder\n\n const { From, To } = getHTMLDiffComponents({\n fromHTML: '<p>' + renderedValueFrom + '</p>',\n fromLabel: i18n.t('version:comparingAgainst'),\n postProcess: unescapeDiffHTML,\n toHTML: '<p>' + renderedValueTo + '</p>',\n tokenizeByCharacter,\n toLabel: i18n.t('version:version'),\n })\n\n return (\n <FieldDiffContainer\n className={baseClass}\n From={From}\n i18n={i18n}\n label={{\n label: field.label,\n locale,\n }}\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","escapeDiffHTML","getHTMLDiffComponents","unescapeDiffHTML","useTranslation","baseClass","formatValue","value","tokenizeByCharacter","String","JSON","stringify","undefined","Text","t0","$","field","locale","nestingLevel","valueFrom","valueTo","i18n","placeholder","t1","label","formattedValueFrom","formattedValueTo","length","renderedValueFrom","renderedValueTo","From","To","fromHTML","fromLabel","t","postProcess","toHTML","toLabel","_jsx","className"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Text/index.tsx"],"sourcesContent":["'use client'\nimport type { TextFieldDiffClientProps } from 'payload'\n\nimport React from 'react'\n\nimport { FieldDiffContainer } from '../../../../../elements/FieldDiffContainer/index.js'\nimport {\n escapeDiffHTML,\n getHTMLDiffComponents,\n unescapeDiffHTML,\n} from '../../../../../elements/HTMLDiff/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport './index.css'\n\nconst baseClass = 'text-diff'\n\nfunction formatValue(value: unknown): {\n tokenizeByCharacter: boolean\n value: string\n} {\n if (typeof value === 'string') {\n return { tokenizeByCharacter: true, value: escapeDiffHTML(value) }\n }\n if (typeof value === 'number') {\n return {\n tokenizeByCharacter: true,\n value: String(value),\n }\n }\n if (typeof value === 'boolean') {\n return {\n tokenizeByCharacter: false,\n value: String(value),\n }\n }\n\n if (value && typeof value === 'object') {\n return {\n tokenizeByCharacter: false,\n value: `<pre>${escapeDiffHTML(JSON.stringify(value, null, 2))}</pre>`,\n }\n }\n\n return {\n tokenizeByCharacter: true,\n value: undefined,\n }\n}\n\nexport const Text: React.FC<TextFieldDiffClientProps> = ({\n field,\n locale,\n nestingLevel,\n valueFrom,\n valueTo,\n}) => {\n const { i18n } = useTranslation()\n\n let placeholder = ''\n\n if (valueTo == valueFrom) {\n placeholder = `<span class=\"html-diff-no-value\"><span>`\n }\n\n const formattedValueFrom = formatValue(valueFrom)\n const formattedValueTo = formatValue(valueTo)\n\n let tokenizeByCharacter = true\n if (formattedValueFrom.value?.length) {\n tokenizeByCharacter = formattedValueFrom.tokenizeByCharacter\n } else if (formattedValueTo.value?.length) {\n tokenizeByCharacter = formattedValueTo.tokenizeByCharacter\n }\n\n const renderedValueFrom = formattedValueFrom.value ?? placeholder\n const renderedValueTo: string = formattedValueTo.value ?? placeholder\n\n const { From, To } = getHTMLDiffComponents({\n fromHTML: '<p>' + renderedValueFrom + '</p>',\n fromLabel: i18n.t('version:comparingAgainst'),\n postProcess: unescapeDiffHTML,\n toHTML: '<p>' + renderedValueTo + '</p>',\n tokenizeByCharacter,\n toLabel: i18n.t('version:version'),\n })\n\n return (\n <FieldDiffContainer\n className={baseClass}\n From={From}\n i18n={i18n}\n label={{\n label: field.label,\n locale,\n }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,UAAU,EACV,WAAW,EACX,0BAA0B,EAC3B,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,aAAa,CAAA;AAKpB,KAAK,gBAAgB,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,MAAM,GAAG,MAAM,CAAA;AACjE,KAAK,aAAa,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,CAAA;AAE7F,KAAK,SAAS,GAAG,gBAAgB,GAAG,aAAa,CAAA;AAEjD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAwCvD,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;IACnB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC3B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;CAC1B,CAiFA,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;IACnB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,SAAS,CAAA;CACnB,CA2DA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,UAAU,EACV,WAAW,EACX,0BAA0B,EAC3B,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,aAAa,CAAA;AAKpB,KAAK,gBAAgB,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,MAAM,GAAG,MAAM,CAAA;AACjE,KAAK,aAAa,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,CAAA;AAE7F,KAAK,SAAS,GAAG,gBAAgB,GAAG,aAAa,CAAA;AAEjD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAgCvD,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;IACnB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC3B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;CAC1B,CAiFA,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;IACnB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,SAAS,CAAA;CACnB,CA2DA,CAAA"}
@@ -8,13 +8,13 @@ import { File } from '../../../../../graphics/File/index.js';
8
8
  const baseClass = 'upload-diff';
9
9
  export const Upload = args => {
10
10
  const {
11
- comparisonValue: valueFrom,
12
11
  field,
13
12
  i18n,
14
13
  locale,
15
14
  nestingLevel,
16
15
  req,
17
- versionValue: valueTo
16
+ valueFrom,
17
+ valueTo
18
18
  } = args;
19
19
  const hasMany = 'hasMany' in field && field.hasMany && Array.isArray(valueTo);
20
20
  const polymorphic = Array.isArray(field.relationTo);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","FieldDiffContainer","getHTMLDiffComponents","File","baseClass","Upload","args","comparisonValue","valueFrom","field","i18n","locale","nestingLevel","req","versionValue","valueTo","hasMany","Array","isArray","polymorphic","relationTo","_jsx","HasManyUploadDiff","SingleUploadDiff","ReactDOMServer","default","From","To","showCollectionSlug","getUploadDocKey","uploadDoc","value","id","FromComponents","map","UploadDocumentDiff","ToComponents","diffResult","fromHTML","component","renderToStaticMarkup","join","toHTML","tokenizeByCharacter","className","label","FromComponent","ToComponent","fromHtml","toHtml","thumbnailSRC","thumbnailURL","url","filename","t","pillLabel","collectionSlug","uploadConfig","payload","collections","config","labels","singular","slug","polyValue","alt","_jsxs","length","src"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx"],"sourcesContent":["import type {\n FileData,\n PayloadRequest,\n TypeWithID,\n UploadField,\n UploadFieldDiffServerProps,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { FieldDiffContainer } from '../../../../../elements/FieldDiffContainer/index.js'\nimport { getHTMLDiffComponents } from '../../../../../elements/HTMLDiff/index.js'\nimport './index.css'\nimport { File } from '../../../../../graphics/File/index.js'\n\nconst baseClass = 'upload-diff'\n\ntype NonPolyUploadDoc = (FileData & TypeWithID) | number | string\ntype PolyUploadDoc = { relationTo: string; value: (FileData & TypeWithID) | number | string }\n\ntype UploadDoc = NonPolyUploadDoc | PolyUploadDoc\n\nexport const Upload: React.FC<UploadFieldDiffServerProps> = (args) => {\n const {\n comparisonValue: valueFrom,\n field,\n i18n,\n locale,\n nestingLevel,\n req,\n versionValue: valueTo,\n } = args\n const hasMany = 'hasMany' in field && field.hasMany && Array.isArray(valueTo)\n const polymorphic = Array.isArray(field.relationTo)\n\n if (hasMany) {\n return (\n <HasManyUploadDiff\n field={field}\n i18n={i18n}\n locale={locale}\n nestingLevel={nestingLevel}\n polymorphic={polymorphic}\n req={req}\n valueFrom={valueFrom as UploadDoc[]}\n valueTo={valueTo as UploadDoc[]}\n />\n )\n }\n\n return (\n <SingleUploadDiff\n field={field}\n i18n={i18n}\n locale={locale}\n nestingLevel={nestingLevel}\n polymorphic={polymorphic}\n req={req}\n valueFrom={valueFrom as UploadDoc}\n valueTo={valueTo as UploadDoc}\n />\n )\n}\n\nexport const HasManyUploadDiff: React.FC<{\n field: UploadField\n i18n: I18nClient\n locale: string\n nestingLevel?: number\n polymorphic: boolean\n req: PayloadRequest\n valueFrom: Array<UploadDoc>\n valueTo: Array<UploadDoc>\n}> = async (args) => {\n const { field, i18n, locale, nestingLevel, polymorphic, req, valueFrom, valueTo } = args\n const ReactDOMServer = (await import('react-dom/server')).default\n\n let From: React.ReactNode = ''\n let To: React.ReactNode = ''\n\n const showCollectionSlug = Array.isArray(field.relationTo)\n\n const getUploadDocKey = (uploadDoc: UploadDoc): number | string => {\n if (typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {\n // Polymorphic case\n const value = uploadDoc.value\n return typeof value === 'object' ? value.id : value\n }\n // Non-polymorphic case\n return typeof uploadDoc === 'object' ? uploadDoc.id : uploadDoc\n }\n\n const FromComponents = valueFrom\n ? valueFrom.map((uploadDoc) => (\n <UploadDocumentDiff\n i18n={i18n}\n key={getUploadDocKey(uploadDoc)}\n polymorphic={polymorphic}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={uploadDoc}\n />\n ))\n : null\n const ToComponents = valueTo\n ? valueTo.map((uploadDoc) => (\n <UploadDocumentDiff\n i18n={i18n}\n key={getUploadDocKey(uploadDoc)}\n polymorphic={polymorphic}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={uploadDoc}\n />\n ))\n : null\n\n const diffResult = getHTMLDiffComponents({\n fromHTML:\n `<div class=\"${baseClass}-hasMany\">` +\n (FromComponents\n ? FromComponents.map(\n (component) => `<div>${ReactDOMServer.renderToStaticMarkup(component)}</div>`,\n ).join('')\n : '') +\n '</div>',\n toHTML:\n `<div class=\"${baseClass}-hasMany\">` +\n (ToComponents\n ? ToComponents.map(\n (component) => `<div>${ReactDOMServer.renderToStaticMarkup(component)}</div>`,\n ).join('')\n : '') +\n '</div>',\n tokenizeByCharacter: false,\n })\n From = diffResult.From\n To = diffResult.To\n\n return (\n <FieldDiffContainer\n className={`${baseClass}-container ${baseClass}-container--hasMany`}\n From={From}\n i18n={i18n}\n label={{\n label: field.label,\n locale,\n }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n\nexport const SingleUploadDiff: React.FC<{\n field: UploadField\n i18n: I18nClient\n locale: string\n nestingLevel?: number\n polymorphic: boolean\n req: PayloadRequest\n valueFrom: UploadDoc\n valueTo: UploadDoc\n}> = async (args) => {\n const { field, i18n, locale, nestingLevel, polymorphic, req, valueFrom, valueTo } = args\n\n const ReactDOMServer = (await import('react-dom/server')).default\n\n let From: React.ReactNode = ''\n let To: React.ReactNode = ''\n\n const showCollectionSlug = Array.isArray(field.relationTo)\n\n const FromComponent = valueFrom ? (\n <UploadDocumentDiff\n i18n={i18n}\n polymorphic={polymorphic}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={valueFrom}\n />\n ) : null\n const ToComponent = valueTo ? (\n <UploadDocumentDiff\n i18n={i18n}\n polymorphic={polymorphic}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={valueTo}\n />\n ) : null\n\n const fromHtml = FromComponent\n ? ReactDOMServer.renderToStaticMarkup(FromComponent)\n : '<p>' + '' + '</p>'\n const toHtml = ToComponent\n ? ReactDOMServer.renderToStaticMarkup(ToComponent)\n : '<p>' + '' + '</p>'\n\n const diffResult = getHTMLDiffComponents({\n fromHTML: fromHtml,\n toHTML: toHtml,\n tokenizeByCharacter: false,\n })\n From = diffResult.From\n To = diffResult.To\n\n return (\n <FieldDiffContainer\n className={`${baseClass}-container ${baseClass}-container--hasOne`}\n From={From}\n i18n={i18n}\n label={{\n label: field.label,\n locale,\n }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n\nconst UploadDocumentDiff = (args: {\n i18n: I18nClient\n polymorphic: boolean\n relationTo: string | string[]\n req: PayloadRequest\n showCollectionSlug?: boolean\n uploadDoc: UploadDoc\n}) => {\n const { i18n, polymorphic, relationTo, req, showCollectionSlug, uploadDoc } = args\n\n let thumbnailSRC: string = ''\n\n const value = polymorphic\n ? (uploadDoc as { relationTo: string; value: FileData & TypeWithID }).value\n : (uploadDoc as FileData & TypeWithID)\n\n if (value && typeof value === 'object' && 'thumbnailURL' in value) {\n thumbnailSRC =\n (typeof value.thumbnailURL === 'string' && value.thumbnailURL) ||\n (typeof value.url === 'string' && value.url) ||\n ''\n }\n\n let filename: string\n if (value && typeof value === 'object') {\n filename = value.filename\n } else {\n filename = `${i18n.t('general:untitled')} - ID: ${uploadDoc as number | string}`\n }\n\n let pillLabel: null | string = null\n\n if (showCollectionSlug) {\n let collectionSlug: string\n if (polymorphic && typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {\n collectionSlug = uploadDoc.relationTo\n } else {\n collectionSlug = typeof relationTo === 'string' ? relationTo : relationTo[0]\n }\n const uploadConfig = req.payload.collections[collectionSlug].config\n pillLabel = uploadConfig.labels?.singular\n ? getTranslation(uploadConfig.labels.singular, i18n)\n : uploadConfig.slug\n }\n\n let id: number | string | undefined\n if (polymorphic && typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {\n const polyValue = uploadDoc.value\n id = typeof polyValue === 'object' ? polyValue.id : polyValue\n } else if (typeof uploadDoc === 'object' && 'id' in uploadDoc) {\n id = uploadDoc.id\n } else if (typeof uploadDoc === 'string' || typeof uploadDoc === 'number') {\n id = uploadDoc\n }\n\n const alt =\n (value && typeof value === 'object' && (value as { alt?: string }).alt) || filename || ''\n\n return (\n <div\n className={`${baseClass}`}\n data-enable-match=\"true\"\n data-id={id}\n data-relation-to={relationTo}\n >\n <div className={`${baseClass}__card`}>\n <div className={`${baseClass}__thumbnail`}>\n {thumbnailSRC?.length ? <img alt={alt} src={thumbnailSRC} /> : <File />}\n </div>\n {pillLabel && (\n <div className={`${baseClass}__pill`} data-enable-match=\"false\">\n <span>{pillLabel}</span>\n </div>\n )}\n <div className={`${baseClass}__info`} data-enable-match=\"false\">\n <strong>{filename}</strong>\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","FieldDiffContainer","getHTMLDiffComponents","File","baseClass","Upload","args","field","i18n","locale","nestingLevel","req","valueFrom","valueTo","hasMany","Array","isArray","polymorphic","relationTo","_jsx","HasManyUploadDiff","SingleUploadDiff","ReactDOMServer","default","From","To","showCollectionSlug","getUploadDocKey","uploadDoc","value","id","FromComponents","map","UploadDocumentDiff","ToComponents","diffResult","fromHTML","component","renderToStaticMarkup","join","toHTML","tokenizeByCharacter","className","label","FromComponent","ToComponent","fromHtml","toHtml","thumbnailSRC","thumbnailURL","url","filename","t","pillLabel","collectionSlug","uploadConfig","payload","collections","config","labels","singular","slug","polyValue","alt","_jsxs","length","src"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Upload/index.tsx"],"sourcesContent":["import type {\n FileData,\n PayloadRequest,\n TypeWithID,\n UploadField,\n UploadFieldDiffServerProps,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { FieldDiffContainer } from '../../../../../elements/FieldDiffContainer/index.js'\nimport { getHTMLDiffComponents } from '../../../../../elements/HTMLDiff/index.js'\nimport './index.css'\nimport { File } from '../../../../../graphics/File/index.js'\n\nconst baseClass = 'upload-diff'\n\ntype NonPolyUploadDoc = (FileData & TypeWithID) | number | string\ntype PolyUploadDoc = { relationTo: string; value: (FileData & TypeWithID) | number | string }\n\ntype UploadDoc = NonPolyUploadDoc | PolyUploadDoc\n\nexport const Upload: React.FC<UploadFieldDiffServerProps> = (args) => {\n const { field, i18n, locale, nestingLevel, req, valueFrom, valueTo } = args\n const hasMany = 'hasMany' in field && field.hasMany && Array.isArray(valueTo)\n const polymorphic = Array.isArray(field.relationTo)\n\n if (hasMany) {\n return (\n <HasManyUploadDiff\n field={field}\n i18n={i18n}\n locale={locale}\n nestingLevel={nestingLevel}\n polymorphic={polymorphic}\n req={req}\n valueFrom={valueFrom as UploadDoc[]}\n valueTo={valueTo as UploadDoc[]}\n />\n )\n }\n\n return (\n <SingleUploadDiff\n field={field}\n i18n={i18n}\n locale={locale}\n nestingLevel={nestingLevel}\n polymorphic={polymorphic}\n req={req}\n valueFrom={valueFrom as UploadDoc}\n valueTo={valueTo as UploadDoc}\n />\n )\n}\n\nexport const HasManyUploadDiff: React.FC<{\n field: UploadField\n i18n: I18nClient\n locale: string\n nestingLevel?: number\n polymorphic: boolean\n req: PayloadRequest\n valueFrom: Array<UploadDoc>\n valueTo: Array<UploadDoc>\n}> = async (args) => {\n const { field, i18n, locale, nestingLevel, polymorphic, req, valueFrom, valueTo } = args\n const ReactDOMServer = (await import('react-dom/server')).default\n\n let From: React.ReactNode = ''\n let To: React.ReactNode = ''\n\n const showCollectionSlug = Array.isArray(field.relationTo)\n\n const getUploadDocKey = (uploadDoc: UploadDoc): number | string => {\n if (typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {\n // Polymorphic case\n const value = uploadDoc.value\n return typeof value === 'object' ? value.id : value\n }\n // Non-polymorphic case\n return typeof uploadDoc === 'object' ? uploadDoc.id : uploadDoc\n }\n\n const FromComponents = valueFrom\n ? valueFrom.map((uploadDoc) => (\n <UploadDocumentDiff\n i18n={i18n}\n key={getUploadDocKey(uploadDoc)}\n polymorphic={polymorphic}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={uploadDoc}\n />\n ))\n : null\n const ToComponents = valueTo\n ? valueTo.map((uploadDoc) => (\n <UploadDocumentDiff\n i18n={i18n}\n key={getUploadDocKey(uploadDoc)}\n polymorphic={polymorphic}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={uploadDoc}\n />\n ))\n : null\n\n const diffResult = getHTMLDiffComponents({\n fromHTML:\n `<div class=\"${baseClass}-hasMany\">` +\n (FromComponents\n ? FromComponents.map(\n (component) => `<div>${ReactDOMServer.renderToStaticMarkup(component)}</div>`,\n ).join('')\n : '') +\n '</div>',\n toHTML:\n `<div class=\"${baseClass}-hasMany\">` +\n (ToComponents\n ? ToComponents.map(\n (component) => `<div>${ReactDOMServer.renderToStaticMarkup(component)}</div>`,\n ).join('')\n : '') +\n '</div>',\n tokenizeByCharacter: false,\n })\n From = diffResult.From\n To = diffResult.To\n\n return (\n <FieldDiffContainer\n className={`${baseClass}-container ${baseClass}-container--hasMany`}\n From={From}\n i18n={i18n}\n label={{\n label: field.label,\n locale,\n }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n\nexport const SingleUploadDiff: React.FC<{\n field: UploadField\n i18n: I18nClient\n locale: string\n nestingLevel?: number\n polymorphic: boolean\n req: PayloadRequest\n valueFrom: UploadDoc\n valueTo: UploadDoc\n}> = async (args) => {\n const { field, i18n, locale, nestingLevel, polymorphic, req, valueFrom, valueTo } = args\n\n const ReactDOMServer = (await import('react-dom/server')).default\n\n let From: React.ReactNode = ''\n let To: React.ReactNode = ''\n\n const showCollectionSlug = Array.isArray(field.relationTo)\n\n const FromComponent = valueFrom ? (\n <UploadDocumentDiff\n i18n={i18n}\n polymorphic={polymorphic}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={valueFrom}\n />\n ) : null\n const ToComponent = valueTo ? (\n <UploadDocumentDiff\n i18n={i18n}\n polymorphic={polymorphic}\n relationTo={field.relationTo}\n req={req}\n showCollectionSlug={showCollectionSlug}\n uploadDoc={valueTo}\n />\n ) : null\n\n const fromHtml = FromComponent\n ? ReactDOMServer.renderToStaticMarkup(FromComponent)\n : '<p>' + '' + '</p>'\n const toHtml = ToComponent\n ? ReactDOMServer.renderToStaticMarkup(ToComponent)\n : '<p>' + '' + '</p>'\n\n const diffResult = getHTMLDiffComponents({\n fromHTML: fromHtml,\n toHTML: toHtml,\n tokenizeByCharacter: false,\n })\n From = diffResult.From\n To = diffResult.To\n\n return (\n <FieldDiffContainer\n className={`${baseClass}-container ${baseClass}-container--hasOne`}\n From={From}\n i18n={i18n}\n label={{\n label: field.label,\n locale,\n }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n\nconst UploadDocumentDiff = (args: {\n i18n: I18nClient\n polymorphic: boolean\n relationTo: string | string[]\n req: PayloadRequest\n showCollectionSlug?: boolean\n uploadDoc: UploadDoc\n}) => {\n const { i18n, polymorphic, relationTo, req, showCollectionSlug, uploadDoc } = args\n\n let thumbnailSRC: string = ''\n\n const value = polymorphic\n ? (uploadDoc as { relationTo: string; value: FileData & TypeWithID }).value\n : (uploadDoc as FileData & TypeWithID)\n\n if (value && typeof value === 'object' && 'thumbnailURL' in value) {\n thumbnailSRC =\n (typeof value.thumbnailURL === 'string' && value.thumbnailURL) ||\n (typeof value.url === 'string' && value.url) ||\n ''\n }\n\n let filename: string\n if (value && typeof value === 'object') {\n filename = value.filename\n } else {\n filename = `${i18n.t('general:untitled')} - ID: ${uploadDoc as number | string}`\n }\n\n let pillLabel: null | string = null\n\n if (showCollectionSlug) {\n let collectionSlug: string\n if (polymorphic && typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {\n collectionSlug = uploadDoc.relationTo\n } else {\n collectionSlug = typeof relationTo === 'string' ? relationTo : relationTo[0]\n }\n const uploadConfig = req.payload.collections[collectionSlug].config\n pillLabel = uploadConfig.labels?.singular\n ? getTranslation(uploadConfig.labels.singular, i18n)\n : uploadConfig.slug\n }\n\n let id: number | string | undefined\n if (polymorphic && typeof uploadDoc === 'object' && 'relationTo' in uploadDoc) {\n const polyValue = uploadDoc.value\n id = typeof polyValue === 'object' ? polyValue.id : polyValue\n } else if (typeof uploadDoc === 'object' && 'id' in uploadDoc) {\n id = uploadDoc.id\n } else if (typeof uploadDoc === 'string' || typeof uploadDoc === 'number') {\n id = uploadDoc\n }\n\n const alt =\n (value && typeof value === 'object' && (value as { alt?: string }).alt) || filename || ''\n\n return (\n <div\n className={`${baseClass}`}\n data-enable-match=\"true\"\n data-id={id}\n data-relation-to={relationTo}\n >\n <div className={`${baseClass}__card`}>\n <div className={`${baseClass}__thumbnail`}>\n {thumbnailSRC?.length ? <img alt={alt} src={thumbnailSRC} /> : <File />}\n </div>\n {pillLabel && (\n <div className={`${baseClass}__pill`} data-enable-match=\"false\">\n <span>{pillLabel}</span>\n </div>\n )}\n <div className={`${baseClass}__info`} data-enable-match=\"false\">\n <strong>{filename}</strong>\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/widgets/RecentlyViewed/CollectionsField/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAwB,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAG3E,OAAO,KAA+B,MAAM,OAAO,CAAA;AAMnD,OAAO,aAAa,CAAA;AAOpB;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAmD3E,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/widgets/RecentlyViewed/CollectionsField/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAwB,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAG3E,OAAO,KAAsC,MAAM,OAAO,CAAA;AAQ1D,OAAO,aAAa,CAAA;AAOpB;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAwE3E,CAAA"}
@@ -2,8 +2,10 @@
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { getTranslation } from '@payloadcms/translations';
5
- import React, { useCallback, useMemo } from 'react';
5
+ import React, { useCallback, useId, useMemo } from 'react';
6
+ import { RenderCustomComponent } from '../../../elements/RenderCustomComponent/index.js';
6
7
  import { CheckboxInput } from '../../../fields/Checkbox/Input.js';
8
+ import { FieldDescription } from '../../../fields/FieldDescription/index.js';
7
9
  import { FieldLabel } from '../../../fields/FieldLabel/index.js';
8
10
  import { useField } from '../../../forms/useField/index.js';
9
11
  import { useTranslation } from '../../../providers/Translation/index.js';
@@ -25,18 +27,27 @@ export const RecentlyViewedCollectionsField = ({
25
27
  readOnly
26
28
  }) => {
27
29
  const {
30
+ admin: {
31
+ description
32
+ } = {},
28
33
  label
29
34
  } = field;
30
35
  const {
36
+ customComponents: {
37
+ Description
38
+ } = {},
31
39
  path,
32
40
  setValue,
33
41
  value
34
42
  } = useField({
35
43
  potentiallyStalePath: pathFromProps
36
44
  });
45
+ const hasDescription = Boolean(Description || description);
37
46
  const {
38
47
  i18n
39
48
  } = useTranslation();
49
+ const labelID = useId();
50
+ const descriptionID = useId();
40
51
  const excludedSlugs = useMemo(() => new Set(Array.isArray(value) ? value : []), [value]);
41
52
  const options = useMemo(() => (field.options ?? []).map(normalizeOption), [field.options]);
42
53
  const toggleCollection = useCallback((slug, isIncluded) => {
@@ -49,11 +60,17 @@ export const RecentlyViewedCollectionsField = ({
49
60
  setValue(Array.from(nextExcluded));
50
61
  }, [excludedSlugs, setValue]);
51
62
  return /*#__PURE__*/_jsxs("div", {
63
+ "aria-describedby": hasDescription ? descriptionID : undefined,
64
+ "aria-labelledby": labelID,
52
65
  className: baseClass,
53
- children: [/*#__PURE__*/_jsx(FieldLabel, {
54
- as: "span",
55
- label: label,
56
- path: path
66
+ role: "group",
67
+ children: [/*#__PURE__*/_jsx("span", {
68
+ id: labelID,
69
+ children: /*#__PURE__*/_jsx(FieldLabel, {
70
+ as: "span",
71
+ label: label,
72
+ path: path
73
+ })
57
74
  }), /*#__PURE__*/_jsx("ul", {
58
75
  className: `${baseClass}__list`,
59
76
  children: options.map(option => {
@@ -70,6 +87,15 @@ export const RecentlyViewedCollectionsField = ({
70
87
  })
71
88
  }, option.value);
72
89
  })
90
+ }), /*#__PURE__*/_jsx("div", {
91
+ id: descriptionID,
92
+ children: /*#__PURE__*/_jsx(RenderCustomComponent, {
93
+ CustomComponent: Description,
94
+ Fallback: /*#__PURE__*/_jsx(FieldDescription, {
95
+ description: description,
96
+ path: path
97
+ })
98
+ })
73
99
  })]
74
100
  });
75
101
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","useCallback","useMemo","CheckboxInput","FieldLabel","useField","useTranslation","baseClass","normalizeOption","option","label","value","RecentlyViewedCollectionsField","field","path","pathFromProps","readOnly","setValue","potentiallyStalePath","i18n","excludedSlugs","Set","Array","isArray","options","map","toggleCollection","slug","isIncluded","nextExcluded","delete","add","from","_jsxs","className","_jsx","as","has","resolvedLabel","checked","name","onToggle","event","target"],"sources":["../../../../src/widgets/RecentlyViewed/CollectionsField/index.tsx"],"sourcesContent":["'use client'\nimport type { Option, OptionObject, SelectFieldClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useMemo } from 'react'\n\nimport { CheckboxInput } from '../../../fields/Checkbox/Input.js'\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { useField } from '../../../forms/useField/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.css'\n\nconst baseClass = 'recently-viewed-collections-field'\n\nconst normalizeOption = (option: Option): OptionObject =>\n typeof option === 'string' ? { label: option, value: option } : option\n\n/**\n * Widget config field shared by collection checklists. The value is stored as an exclusion list\n * (`excludedCollections`), but the user sees an inclusion filter: every collection is checked by\n * default and unchecking one adds it to the stored exclusions. Storing exclusions means collections\n * added later are visible by default.\n */\nexport const RecentlyViewedCollectionsField: React.FC<SelectFieldClientProps> = ({\n field,\n path: pathFromProps,\n readOnly,\n}) => {\n const { label } = field\n const { path, setValue, value } = useField<string[]>({ potentiallyStalePath: pathFromProps })\n const { i18n } = useTranslation()\n\n const excludedSlugs = useMemo(() => new Set<string>(Array.isArray(value) ? value : []), [value])\n\n const options = useMemo(() => (field.options ?? []).map(normalizeOption), [field.options])\n\n const toggleCollection = useCallback(\n (slug: string, isIncluded: boolean) => {\n const nextExcluded = new Set(excludedSlugs)\n\n if (isIncluded) {\n nextExcluded.delete(slug)\n } else {\n nextExcluded.add(slug)\n }\n\n setValue(Array.from(nextExcluded))\n },\n [excludedSlugs, setValue],\n )\n\n return (\n <div className={baseClass}>\n <FieldLabel as=\"span\" label={label} path={path} />\n <ul className={`${baseClass}__list`}>\n {options.map((option) => {\n const isIncluded = !excludedSlugs.has(option.value)\n const resolvedLabel = getTranslation(option.label, i18n)\n\n return (\n <li className={`${baseClass}__option`} key={option.value}>\n <CheckboxInput\n checked={isIncluded}\n label={typeof resolvedLabel === 'string' ? resolvedLabel : option.value}\n name={`${path}__${option.value}`}\n onToggle={(event) => toggleCollection(option.value, event.target.checked)}\n readOnly={readOnly}\n />\n </li>\n )\n })}\n </ul>\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,WAAW,EAAEC,OAAO,QAAQ;AAE5C,SAASC,aAAa,QAAQ;AAC9B,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,MAAMC,eAAA,GAAmBC,MAAA,IACvB,OAAOA,MAAA,KAAW,WAAW;EAAEC,KAAA,EAAOD,MAAA;EAAQE,KAAA,EAAOF;AAAO,IAAIA,MAAA;AAElE;;;;;;AAMA,OAAO,MAAMG,8BAAA,GAAmEA,CAAC;EAC/EC,KAAK;EACLC,IAAA,EAAMC,aAAa;EACnBC;AAAQ,CACT;EACC,MAAM;IAAEN;EAAK,CAAE,GAAGG,KAAA;EAClB,MAAM;IAAEC,IAAI;IAAEG,QAAQ;IAAEN;EAAK,CAAE,GAAGN,QAAA,CAAmB;IAAEa,oBAAA,EAAsBH;EAAc;EAC3F,MAAM;IAAEI;EAAI,CAAE,GAAGb,cAAA;EAEjB,MAAMc,aAAA,GAAgBlB,OAAA,CAAQ,MAAM,IAAImB,GAAA,CAAYC,KAAA,CAAMC,OAAO,CAACZ,KAAA,IAASA,KAAA,GAAQ,EAAE,GAAG,CAACA,KAAA,CAAM;EAE/F,MAAMa,OAAA,GAAUtB,OAAA,CAAQ,MAAM,CAACW,KAAA,CAAMW,OAAO,IAAI,EAAE,EAAEC,GAAG,CAACjB,eAAA,GAAkB,CAACK,KAAA,CAAMW,OAAO,CAAC;EAEzF,MAAME,gBAAA,GAAmBzB,WAAA,CACvB,CAAC0B,IAAA,EAAcC,UAAA;IACb,MAAMC,YAAA,GAAe,IAAIR,GAAA,CAAID,aAAA;IAE7B,IAAIQ,UAAA,EAAY;MACdC,YAAA,CAAaC,MAAM,CAACH,IAAA;IACtB,OAAO;MACLE,YAAA,CAAaE,GAAG,CAACJ,IAAA;IACnB;IAEAV,QAAA,CAASK,KAAA,CAAMU,IAAI,CAACH,YAAA;EACtB,GACA,CAACT,aAAA,EAAeH,QAAA,CAAS;EAG3B,oBACEgB,KAAA,CAAC;IAAIC,SAAA,EAAW3B,SAAA;4BACd4B,IAAA,CAAC/B,UAAA;MAAWgC,EAAA,EAAG;MAAO1B,KAAA,EAAOA,KAAA;MAAOI,IAAA,EAAMA;qBAC1CqB,IAAA,CAAC;MAAGD,SAAA,EAAW,GAAG3B,SAAA,QAAiB;gBAChCiB,OAAA,CAAQC,GAAG,CAAEhB,MAAA;QACZ,MAAMmB,YAAA,GAAa,CAACR,aAAA,CAAciB,GAAG,CAAC5B,MAAA,CAAOE,KAAK;QAClD,MAAM2B,aAAA,GAAgBvC,cAAA,CAAeU,MAAA,CAAOC,KAAK,EAAES,IAAA;QAEnD,oBACEgB,IAAA,CAAC;UAAGD,SAAA,EAAW,GAAG3B,SAAA,UAAmB;oBACnC,aAAA4B,IAAA,CAAChC,aAAA;YACCoC,OAAA,EAASX,YAAA;YACTlB,KAAA,EAAO,OAAO4B,aAAA,KAAkB,WAAWA,aAAA,GAAgB7B,MAAA,CAAOE,KAAK;YACvE6B,IAAA,EAAM,GAAG1B,IAAA,KAASL,MAAA,CAAOE,KAAK,EAAE;YAChC8B,QAAA,EAAWC,KAAA,IAAUhB,gBAAA,CAAiBjB,MAAA,CAAOE,KAAK,EAAE+B,KAAA,CAAMC,MAAM,CAACJ,OAAO;YACxEvB,QAAA,EAAUA;;WAN8BP,MAAA,CAAOE,KAAK;MAU5D;;;AAIR","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","useCallback","useId","useMemo","RenderCustomComponent","CheckboxInput","FieldDescription","FieldLabel","useField","useTranslation","baseClass","normalizeOption","option","label","value","RecentlyViewedCollectionsField","field","path","pathFromProps","readOnly","admin","description","customComponents","Description","setValue","potentiallyStalePath","hasDescription","Boolean","i18n","labelID","descriptionID","excludedSlugs","Set","Array","isArray","options","map","toggleCollection","slug","isIncluded","nextExcluded","delete","add","from","_jsxs","undefined","className","role","_jsx","id","as","has","resolvedLabel","checked","name","onToggle","event","target","CustomComponent","Fallback"],"sources":["../../../../src/widgets/RecentlyViewed/CollectionsField/index.tsx"],"sourcesContent":["'use client'\nimport type { Option, OptionObject, SelectFieldClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useId, useMemo } from 'react'\n\nimport { RenderCustomComponent } from '../../../elements/RenderCustomComponent/index.js'\nimport { CheckboxInput } from '../../../fields/Checkbox/Input.js'\nimport { FieldDescription } from '../../../fields/FieldDescription/index.js'\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { useField } from '../../../forms/useField/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.css'\n\nconst baseClass = 'recently-viewed-collections-field'\n\nconst normalizeOption = (option: Option): OptionObject =>\n typeof option === 'string' ? { label: option, value: option } : option\n\n/**\n * Widget config field shared by collection checklists. The value is stored as an exclusion list\n * (`excludedCollections`), but the user sees an inclusion filter: every collection is checked by\n * default and unchecking one adds it to the stored exclusions. Storing exclusions means collections\n * added later are visible by default.\n */\nexport const RecentlyViewedCollectionsField: React.FC<SelectFieldClientProps> = ({\n field,\n path: pathFromProps,\n readOnly,\n}) => {\n const { admin: { description } = {}, label } = field\n const {\n customComponents: { Description } = {},\n path,\n setValue,\n value,\n } = useField<string[]>({ potentiallyStalePath: pathFromProps })\n const hasDescription = Boolean(Description || description)\n const { i18n } = useTranslation()\n const labelID = useId()\n const descriptionID = useId()\n\n const excludedSlugs = useMemo(() => new Set<string>(Array.isArray(value) ? value : []), [value])\n\n const options = useMemo(() => (field.options ?? []).map(normalizeOption), [field.options])\n\n const toggleCollection = useCallback(\n (slug: string, isIncluded: boolean) => {\n const nextExcluded = new Set(excludedSlugs)\n\n if (isIncluded) {\n nextExcluded.delete(slug)\n } else {\n nextExcluded.add(slug)\n }\n\n setValue(Array.from(nextExcluded))\n },\n [excludedSlugs, setValue],\n )\n\n return (\n <div\n aria-describedby={hasDescription ? descriptionID : undefined}\n aria-labelledby={labelID}\n className={baseClass}\n role=\"group\"\n >\n <span id={labelID}>\n <FieldLabel as=\"span\" label={label} path={path} />\n </span>\n <ul className={`${baseClass}__list`}>\n {options.map((option) => {\n const isIncluded = !excludedSlugs.has(option.value)\n const resolvedLabel = getTranslation(option.label, i18n)\n\n return (\n <li className={`${baseClass}__option`} key={option.value}>\n <CheckboxInput\n checked={isIncluded}\n label={typeof resolvedLabel === 'string' ? resolvedLabel : option.value}\n name={`${path}__${option.value}`}\n onToggle={(event) => toggleCollection(option.value, event.target.checked)}\n readOnly={readOnly}\n />\n </li>\n )\n })}\n </ul>\n <div id={descriptionID}>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,WAAW,EAAEC,KAAK,EAAEC,OAAO,QAAQ;AAEnD,SAASC,qBAAqB,QAAQ;AACtC,SAASC,aAAa,QAAQ;AAC9B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,MAAMC,eAAA,GAAmBC,MAAA,IACvB,OAAOA,MAAA,KAAW,WAAW;EAAEC,KAAA,EAAOD,MAAA;EAAQE,KAAA,EAAOF;AAAO,IAAIA,MAAA;AAElE;;;;;;AAMA,OAAO,MAAMG,8BAAA,GAAmEA,CAAC;EAC/EC,KAAK;EACLC,IAAA,EAAMC,aAAa;EACnBC;AAAQ,CACT;EACC,MAAM;IAAEC,KAAA,EAAO;MAAEC;IAAW,CAAE,GAAG,CAAC,CAAC;IAAER;EAAK,CAAE,GAAGG,KAAA;EAC/C,MAAM;IACJM,gBAAA,EAAkB;MAAEC;IAAW,CAAE,GAAG,CAAC,CAAC;IACtCN,IAAI;IACJO,QAAQ;IACRV;EAAK,CACN,GAAGN,QAAA,CAAmB;IAAEiB,oBAAA,EAAsBP;EAAc;EAC7D,MAAMQ,cAAA,GAAiBC,OAAA,CAAQJ,WAAA,IAAeF,WAAA;EAC9C,MAAM;IAAEO;EAAI,CAAE,GAAGnB,cAAA;EACjB,MAAMoB,OAAA,GAAU3B,KAAA;EAChB,MAAM4B,aAAA,GAAgB5B,KAAA;EAEtB,MAAM6B,aAAA,GAAgB5B,OAAA,CAAQ,MAAM,IAAI6B,GAAA,CAAYC,KAAA,CAAMC,OAAO,CAACpB,KAAA,IAASA,KAAA,GAAQ,EAAE,GAAG,CAACA,KAAA,CAAM;EAE/F,MAAMqB,OAAA,GAAUhC,OAAA,CAAQ,MAAM,CAACa,KAAA,CAAMmB,OAAO,IAAI,EAAE,EAAEC,GAAG,CAACzB,eAAA,GAAkB,CAACK,KAAA,CAAMmB,OAAO,CAAC;EAEzF,MAAME,gBAAA,GAAmBpC,WAAA,CACvB,CAACqC,IAAA,EAAcC,UAAA;IACb,MAAMC,YAAA,GAAe,IAAIR,GAAA,CAAID,aAAA;IAE7B,IAAIQ,UAAA,EAAY;MACdC,YAAA,CAAaC,MAAM,CAACH,IAAA;IACtB,OAAO;MACLE,YAAA,CAAaE,GAAG,CAACJ,IAAA;IACnB;IAEAd,QAAA,CAASS,KAAA,CAAMU,IAAI,CAACH,YAAA;EACtB,GACA,CAACT,aAAA,EAAeP,QAAA,CAAS;EAG3B,oBACEoB,KAAA,CAAC;IACC,oBAAkBlB,cAAA,GAAiBI,aAAA,GAAgBe,SAAA;IACnD,mBAAiBhB,OAAA;IACjBiB,SAAA,EAAWpC,SAAA;IACXqC,IAAA,EAAK;4BAELC,IAAA,CAAC;MAAKC,EAAA,EAAIpB,OAAA;gBACR,aAAAmB,IAAA,CAACzC,UAAA;QAAW2C,EAAA,EAAG;QAAOrC,KAAA,EAAOA,KAAA;QAAOI,IAAA,EAAMA;;qBAE5C+B,IAAA,CAAC;MAAGF,SAAA,EAAW,GAAGpC,SAAA,QAAiB;gBAChCyB,OAAA,CAAQC,GAAG,CAAExB,MAAA;QACZ,MAAM2B,YAAA,GAAa,CAACR,aAAA,CAAcoB,GAAG,CAACvC,MAAA,CAAOE,KAAK;QAClD,MAAMsC,aAAA,GAAgBrD,cAAA,CAAea,MAAA,CAAOC,KAAK,EAAEe,IAAA;QAEnD,oBACEoB,IAAA,CAAC;UAAGF,SAAA,EAAW,GAAGpC,SAAA,UAAmB;oBACnC,aAAAsC,IAAA,CAAC3C,aAAA;YACCgD,OAAA,EAASd,YAAA;YACT1B,KAAA,EAAO,OAAOuC,aAAA,KAAkB,WAAWA,aAAA,GAAgBxC,MAAA,CAAOE,KAAK;YACvEwC,IAAA,EAAM,GAAGrC,IAAA,KAASL,MAAA,CAAOE,KAAK,EAAE;YAChCyC,QAAA,EAAWC,KAAA,IAAUnB,gBAAA,CAAiBzB,MAAA,CAAOE,KAAK,EAAE0C,KAAA,CAAMC,MAAM,CAACJ,OAAO;YACxElC,QAAA,EAAUA;;WAN8BP,MAAA,CAAOE,KAAK;MAU5D;qBAEFkC,IAAA,CAAC;MAAIC,EAAA,EAAInB,aAAA;gBACP,aAAAkB,IAAA,CAAC5C,qBAAA;QACCsD,eAAA,EAAiBnC,WAAA;QACjBoC,QAAA,eAAUX,IAAA,CAAC1C,gBAAA;UAAiBe,WAAA,EAAaA,WAAA;UAAaJ,IAAA,EAAMA;;;;;AAKtE","ignoreList":[]}