@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
@@ -0,0 +1,263 @@
1
+ import { deepCopyObjectSimple, fieldAffectsData, fieldShouldBeLocalized, tabHasName } from 'payload/shared';
2
+ import * as qs from 'qs-esm';
3
+ import { requests } from '../../utilities/api.js';
4
+ function projectValidationDataForSiblingLocales({
5
+ blocksMap,
6
+ data,
7
+ fields
8
+ }) {
9
+ const projectedData = deepCopyObjectSimple(data);
10
+ const status = projectedData._status;
11
+ removeLocalizedFieldValues({
12
+ blocksMap,
13
+ data: projectedData,
14
+ fields,
15
+ parentIsLocalized: false
16
+ });
17
+ if (status !== undefined) {
18
+ projectedData._status = status;
19
+ }
20
+ return projectedData;
21
+ }
22
+ export async function validateDocumentLocales({
23
+ activeLocale,
24
+ blocksMap,
25
+ data,
26
+ endpoint,
27
+ fields,
28
+ locales,
29
+ signal
30
+ }) {
31
+ const selectedLocales = locales.filter((locale, index) => locales.indexOf(locale) === index);
32
+ const validationResults = [];
33
+ if (selectedLocales.length === 0) {
34
+ throw new Error('Document validation requires at least one locale.');
35
+ }
36
+ if (selectedLocales.includes(activeLocale)) {
37
+ validationResults.push(await requestDocumentValidation({
38
+ body: data,
39
+ endpoint,
40
+ locales: [activeLocale],
41
+ signal
42
+ }));
43
+ }
44
+ const siblingLocales = selectedLocales.filter(locale => locale !== activeLocale);
45
+ if (siblingLocales.length > 0) {
46
+ validationResults.push(await requestDocumentValidation({
47
+ body: projectValidationDataForSiblingLocales({
48
+ blocksMap,
49
+ data,
50
+ fields
51
+ }),
52
+ endpoint,
53
+ locales: siblingLocales,
54
+ signal
55
+ }));
56
+ }
57
+ const errors = validationResults.flatMap(({
58
+ errors
59
+ }) => errors);
60
+ return {
61
+ errors,
62
+ valid: validationResults.every(({
63
+ valid
64
+ }) => valid)
65
+ };
66
+ }
67
+ async function requestDocumentValidation({
68
+ body,
69
+ endpoint,
70
+ locales,
71
+ signal
72
+ }) {
73
+ const query = qs.stringify({
74
+ locale: locales
75
+ }, {
76
+ addQueryPrefix: true,
77
+ arrayFormat: 'repeat'
78
+ });
79
+ const response = await requests.post(`${endpoint}${query}`, {
80
+ body: JSON.stringify(body),
81
+ headers: {
82
+ 'Content-Type': 'application/json'
83
+ },
84
+ signal
85
+ });
86
+ const responseData = await response.json();
87
+ if (!response.ok) {
88
+ throw new Error(getResponseErrorMessage(responseData) || response.statusText);
89
+ }
90
+ const result = parseValidationResult(responseData);
91
+ if (result) {
92
+ return result;
93
+ }
94
+ throw new Error(getResponseErrorMessage(responseData) || response.statusText);
95
+ }
96
+ function parseValidationResult(responseData) {
97
+ if (!isObject(responseData)) {
98
+ return null;
99
+ }
100
+ if (typeof responseData.valid === 'boolean' && Array.isArray(responseData.errors)) {
101
+ return {
102
+ errors: responseData.errors.filter(isValidationFieldError),
103
+ valid: responseData.valid
104
+ };
105
+ }
106
+ if (Array.isArray(responseData.errors)) {
107
+ const errors = responseData.errors.flatMap(error => {
108
+ if (!isObject(error) || !isObject(error.data) || !Array.isArray(error.data.errors)) {
109
+ return [];
110
+ }
111
+ return error.data.errors.filter(isValidationFieldError);
112
+ });
113
+ if (errors.length > 0) {
114
+ return {
115
+ errors,
116
+ valid: false
117
+ };
118
+ }
119
+ }
120
+ return null;
121
+ }
122
+ function getResponseErrorMessage(responseData) {
123
+ if (!isObject(responseData)) {
124
+ return null;
125
+ }
126
+ if (typeof responseData.message === 'string') {
127
+ return responseData.message;
128
+ }
129
+ if (Array.isArray(responseData.errors)) {
130
+ const errorWithMessage = responseData.errors.find(error => isObject(error) && typeof error.message === 'string');
131
+ if (isObject(errorWithMessage) && typeof errorWithMessage.message === 'string') {
132
+ return errorWithMessage.message;
133
+ }
134
+ }
135
+ return null;
136
+ }
137
+ function isValidationFieldError(value) {
138
+ return isObject(value) && typeof value.message === 'string' && typeof value.path === 'string' && (value.locale === undefined || typeof value.locale === 'string');
139
+ }
140
+ function removeLocalizedFieldValues({
141
+ blocksMap,
142
+ data,
143
+ fields,
144
+ parentIsLocalized
145
+ }) {
146
+ for (const field of fields) {
147
+ if (fieldAffectsData(field)) {
148
+ if (parentIsLocalized || fieldShouldBeLocalized({
149
+ field,
150
+ parentIsLocalized
151
+ })) {
152
+ delete data[field.name];
153
+ continue;
154
+ }
155
+ const fieldValue = data[field.name];
156
+ switch (field.type) {
157
+ case 'array':
158
+ {
159
+ if (Array.isArray(fieldValue)) {
160
+ for (const row of fieldValue) {
161
+ if (isObject(row)) {
162
+ removeLocalizedFieldValues({
163
+ blocksMap,
164
+ data: row,
165
+ fields: field.fields,
166
+ parentIsLocalized: false
167
+ });
168
+ }
169
+ }
170
+ }
171
+ break;
172
+ }
173
+ case 'blocks':
174
+ {
175
+ if (Array.isArray(fieldValue)) {
176
+ for (const row of fieldValue) {
177
+ if (!isObject(row) || typeof row.blockType !== 'string') {
178
+ continue;
179
+ }
180
+ const blockOrSlug = field.blocks.find(block => {
181
+ return (typeof block === 'string' ? block : block.slug) === row.blockType;
182
+ });
183
+ const block = typeof blockOrSlug === 'string' ? blocksMap[blockOrSlug] : blockOrSlug;
184
+ if (block) {
185
+ removeLocalizedFieldValues({
186
+ blocksMap,
187
+ data: row,
188
+ fields: block.fields,
189
+ parentIsLocalized: false
190
+ });
191
+ }
192
+ }
193
+ }
194
+ break;
195
+ }
196
+ case 'group':
197
+ {
198
+ if (isObject(fieldValue)) {
199
+ removeLocalizedFieldValues({
200
+ blocksMap,
201
+ data: fieldValue,
202
+ fields: field.fields,
203
+ parentIsLocalized: false
204
+ });
205
+ }
206
+ break;
207
+ }
208
+ }
209
+ } else {
210
+ switch (field.type) {
211
+ case 'collapsible':
212
+ case 'group':
213
+ case 'row':
214
+ {
215
+ const isLocalized = parentIsLocalized || fieldShouldBeLocalized({
216
+ field,
217
+ parentIsLocalized
218
+ });
219
+ removeLocalizedFieldValues({
220
+ blocksMap,
221
+ data,
222
+ fields: field.fields,
223
+ parentIsLocalized: isLocalized
224
+ });
225
+ break;
226
+ }
227
+ case 'tabs':
228
+ {
229
+ for (const tab of field.tabs) {
230
+ const isLocalized = parentIsLocalized || fieldShouldBeLocalized({
231
+ field: tab,
232
+ parentIsLocalized
233
+ });
234
+ if (tabHasName(tab)) {
235
+ if (isLocalized) {
236
+ delete data[tab.name];
237
+ } else if (isObject(data[tab.name])) {
238
+ removeLocalizedFieldValues({
239
+ blocksMap,
240
+ data: data[tab.name],
241
+ fields: tab.fields,
242
+ parentIsLocalized: false
243
+ });
244
+ }
245
+ } else {
246
+ removeLocalizedFieldValues({
247
+ blocksMap,
248
+ data,
249
+ fields: tab.fields,
250
+ parentIsLocalized: isLocalized
251
+ });
252
+ }
253
+ }
254
+ break;
255
+ }
256
+ }
257
+ }
258
+ }
259
+ }
260
+ function isObject(value) {
261
+ return Boolean(value) && typeof value === 'object' && !Array.isArray(value);
262
+ }
263
+ //# sourceMappingURL=validateAllLocales.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateAllLocales.js","names":["deepCopyObjectSimple","fieldAffectsData","fieldShouldBeLocalized","tabHasName","qs","requests","projectValidationDataForSiblingLocales","blocksMap","data","fields","projectedData","status","_status","removeLocalizedFieldValues","parentIsLocalized","undefined","validateDocumentLocales","activeLocale","endpoint","locales","signal","selectedLocales","filter","locale","index","indexOf","validationResults","length","Error","includes","push","requestDocumentValidation","body","siblingLocales","errors","flatMap","valid","every","query","stringify","addQueryPrefix","arrayFormat","response","post","JSON","headers","responseData","json","ok","getResponseErrorMessage","statusText","result","parseValidationResult","isObject","Array","isArray","isValidationFieldError","error","message","errorWithMessage","find","value","path","field","name","fieldValue","type","row","blockType","blockOrSlug","blocks","block","slug","isLocalized","tab","tabs","Boolean"],"sources":["../../../src/elements/PublishButton/validateAllLocales.ts"],"sourcesContent":["import type {\n ClientBlock,\n ClientField,\n Data,\n ValidationFieldError,\n ValidationResult,\n} from 'payload'\n\nimport {\n deepCopyObjectSimple,\n fieldAffectsData,\n fieldShouldBeLocalized,\n tabHasName,\n} from 'payload/shared'\nimport * as qs from 'qs-esm'\n\nimport { requests } from '../../utilities/api.js'\n\ntype DocumentValidationRequestArgs = {\n body: Data\n endpoint: string\n locales: string[]\n signal?: AbortSignal\n}\n\nfunction projectValidationDataForSiblingLocales({\n blocksMap,\n data,\n fields,\n}: {\n blocksMap: Record<string, ClientBlock>\n data: Data\n fields: ClientField[]\n}): Data {\n const projectedData = deepCopyObjectSimple(data)\n const status = projectedData._status\n\n removeLocalizedFieldValues({\n blocksMap,\n data: projectedData,\n fields,\n parentIsLocalized: false,\n })\n\n if (status !== undefined) {\n projectedData._status = status\n }\n\n return projectedData\n}\n\nexport async function validateDocumentLocales({\n activeLocale,\n blocksMap,\n data,\n endpoint,\n fields,\n locales,\n signal,\n}: {\n activeLocale: string\n blocksMap: Record<string, ClientBlock>\n data: Data\n endpoint: string\n fields: ClientField[]\n locales: string[]\n signal?: AbortSignal\n}): Promise<ValidationResult> {\n const selectedLocales = locales.filter((locale, index) => locales.indexOf(locale) === index)\n const validationResults: ValidationResult[] = []\n\n if (selectedLocales.length === 0) {\n throw new Error('Document validation requires at least one locale.')\n }\n\n if (selectedLocales.includes(activeLocale)) {\n validationResults.push(\n await requestDocumentValidation({\n body: data,\n endpoint,\n locales: [activeLocale],\n signal,\n }),\n )\n }\n\n const siblingLocales = selectedLocales.filter((locale) => locale !== activeLocale)\n\n if (siblingLocales.length > 0) {\n validationResults.push(\n await requestDocumentValidation({\n body: projectValidationDataForSiblingLocales({\n blocksMap,\n data,\n fields,\n }),\n endpoint,\n locales: siblingLocales,\n signal,\n }),\n )\n }\n\n const errors = validationResults.flatMap(({ errors }) => errors)\n\n return {\n errors,\n valid: validationResults.every(({ valid }) => valid),\n }\n}\n\nasync function requestDocumentValidation({\n body,\n endpoint,\n locales,\n signal,\n}: DocumentValidationRequestArgs): Promise<ValidationResult> {\n const query = qs.stringify(\n { locale: locales },\n {\n addQueryPrefix: true,\n arrayFormat: 'repeat',\n },\n )\n const response = await requests.post(`${endpoint}${query}`, {\n body: JSON.stringify(body),\n headers: {\n 'Content-Type': 'application/json',\n },\n signal,\n })\n const responseData = (await response.json()) as unknown\n\n if (!response.ok) {\n throw new Error(getResponseErrorMessage(responseData) || response.statusText)\n }\n\n const result = parseValidationResult(responseData)\n\n if (result) {\n return result\n }\n\n throw new Error(getResponseErrorMessage(responseData) || response.statusText)\n}\n\nfunction parseValidationResult(responseData: unknown): null | ValidationResult {\n if (!isObject(responseData)) {\n return null\n }\n\n if (typeof responseData.valid === 'boolean' && Array.isArray(responseData.errors)) {\n return {\n errors: responseData.errors.filter(isValidationFieldError),\n valid: responseData.valid,\n }\n }\n\n if (Array.isArray(responseData.errors)) {\n const errors = responseData.errors.flatMap((error) => {\n if (!isObject(error) || !isObject(error.data) || !Array.isArray(error.data.errors)) {\n return []\n }\n\n return error.data.errors.filter(isValidationFieldError)\n })\n\n if (errors.length > 0) {\n return {\n errors,\n valid: false,\n }\n }\n }\n\n return null\n}\n\nfunction getResponseErrorMessage(responseData: unknown): null | string {\n if (!isObject(responseData)) {\n return null\n }\n\n if (typeof responseData.message === 'string') {\n return responseData.message\n }\n\n if (Array.isArray(responseData.errors)) {\n const errorWithMessage = responseData.errors.find(\n (error) => isObject(error) && typeof error.message === 'string',\n )\n\n if (isObject(errorWithMessage) && typeof errorWithMessage.message === 'string') {\n return errorWithMessage.message\n }\n }\n\n return null\n}\n\nfunction isValidationFieldError(value: unknown): value is ValidationFieldError {\n return (\n isObject(value) &&\n typeof value.message === 'string' &&\n typeof value.path === 'string' &&\n (value.locale === undefined || typeof value.locale === 'string')\n )\n}\n\nfunction removeLocalizedFieldValues({\n blocksMap,\n data,\n fields,\n parentIsLocalized,\n}: {\n blocksMap: Record<string, ClientBlock>\n data: Data\n fields: ClientField[]\n parentIsLocalized: boolean\n}): void {\n for (const field of fields) {\n if (fieldAffectsData(field)) {\n if (parentIsLocalized || fieldShouldBeLocalized({ field, parentIsLocalized })) {\n delete data[field.name]\n continue\n }\n\n const fieldValue = data[field.name]\n\n switch (field.type) {\n case 'array': {\n if (Array.isArray(fieldValue)) {\n for (const row of fieldValue) {\n if (isObject(row)) {\n removeLocalizedFieldValues({\n blocksMap,\n data: row,\n fields: field.fields,\n parentIsLocalized: false,\n })\n }\n }\n }\n break\n }\n\n case 'blocks': {\n if (Array.isArray(fieldValue)) {\n for (const row of fieldValue) {\n if (!isObject(row) || typeof row.blockType !== 'string') {\n continue\n }\n\n const blockOrSlug = field.blocks.find((block) => {\n return (typeof block === 'string' ? block : block.slug) === row.blockType\n })\n const block = typeof blockOrSlug === 'string' ? blocksMap[blockOrSlug] : blockOrSlug\n\n if (block) {\n removeLocalizedFieldValues({\n blocksMap,\n data: row,\n fields: block.fields,\n parentIsLocalized: false,\n })\n }\n }\n }\n break\n }\n\n case 'group': {\n if (isObject(fieldValue)) {\n removeLocalizedFieldValues({\n blocksMap,\n data: fieldValue,\n fields: field.fields,\n parentIsLocalized: false,\n })\n }\n break\n }\n }\n } else {\n switch (field.type) {\n case 'collapsible':\n case 'group':\n case 'row': {\n const isLocalized =\n parentIsLocalized || fieldShouldBeLocalized({ field, parentIsLocalized })\n\n removeLocalizedFieldValues({\n blocksMap,\n data,\n fields: field.fields,\n parentIsLocalized: isLocalized,\n })\n break\n }\n\n case 'tabs': {\n for (const tab of field.tabs) {\n const isLocalized =\n parentIsLocalized || fieldShouldBeLocalized({ field: tab, parentIsLocalized })\n\n if (tabHasName(tab)) {\n if (isLocalized) {\n delete data[tab.name]\n } else if (isObject(data[tab.name])) {\n removeLocalizedFieldValues({\n blocksMap,\n data: data[tab.name],\n fields: tab.fields,\n parentIsLocalized: false,\n })\n }\n } else {\n removeLocalizedFieldValues({\n blocksMap,\n data,\n fields: tab.fields,\n parentIsLocalized: isLocalized,\n })\n }\n }\n break\n }\n }\n }\n }\n}\n\nfunction isObject(value: unknown): value is Data {\n return Boolean(value) && typeof value === 'object' && !Array.isArray(value)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"AddNewButton.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/AddNewButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAI3E,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAK1E,eAAO,MAAM,YAAY,0HAYtB;IACD,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,sBAAsB,EAAE,CAAA;IACrC,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,WAAW,EAAE,oBAAoB,CAAA;IACjC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC9B,gCA0DA,CAAA"}
1
+ {"version":3,"file":"AddNewButton.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/AddNewButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAI3E,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAK1E,eAAO,MAAM,YAAY,0HAYtB;IACD,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,sBAAsB,EAAE,CAAA;IACrC,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,WAAW,EAAE,oBAAoB,CAAA;IACjC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC9B,gCA8DA,CAAA"}
@@ -22,6 +22,9 @@ export const AddNewButton = ({
22
22
  }
23
23
  const isPolymorphic = Array.isArray(relationTo);
24
24
  if (!isPolymorphic) {
25
+ if (!permissions?.collections?.[relationTo]?.create) {
26
+ return null;
27
+ }
25
28
  return /*#__PURE__*/_jsx(Button, {
26
29
  buttonStyle: buttonStyle,
27
30
  className: [className, 'doc-drawer__toggler'].filter(Boolean).join(' '),
@@ -1 +1 @@
1
- {"version":3,"file":"AddNewButton.js","names":["getTranslation","Button","Popup","PopupList","AddNewButton","allowCreate","baseClass","buttonStyle","className","collections","i18n","icon","label","onClick","permissions","relationTo","isPolymorphic","Array","isArray","_jsx","filter","Boolean","join","button","buttonType","horizontalAlign","popupType","render","close","closePopup","ButtonGroup","map","relatedCollection","create","find","each","slug","labels","singular"],"sources":["../../../src/elements/RelationshipTable/AddNewButton.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, SanitizedPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { Props as ButtonProps } from '../../elements/Button/types.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\n\nexport const AddNewButton = ({\n allowCreate,\n baseClass,\n buttonStyle,\n className,\n collections,\n i18n,\n icon,\n label,\n onClick,\n permissions,\n relationTo,\n}: {\n allowCreate: boolean\n baseClass: string\n buttonStyle?: ButtonProps['buttonStyle']\n className?: string\n collections: ClientCollectionConfig[]\n i18n: I18nClient\n icon?: ButtonProps['icon']\n label: string\n onClick: (selectedCollection?: string) => void\n permissions: SanitizedPermissions\n relationTo: string | string[]\n}) => {\n if (!allowCreate) {\n return null\n }\n\n const isPolymorphic = Array.isArray(relationTo)\n\n if (!isPolymorphic) {\n return (\n <Button\n buttonStyle={buttonStyle}\n className={[className, 'doc-drawer__toggler'].filter(Boolean).join(' ')}\n onClick={() => onClick()}\n >\n {label}\n </Button>\n )\n }\n\n return (\n <div className={`${baseClass}__add-new-polymorphic-wrapper`}>\n <Popup\n button={\n <Button buttonStyle={buttonStyle} className={className} icon={icon}>\n {label}\n </Button>\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n popupType=\"menu\"\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relationTo.map((relatedCollection) => {\n if (permissions.collections[relatedCollection]?.create) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection}`}\n key={relatedCollection}\n onClick={() => {\n closePopup()\n onClick(relatedCollection)\n }}\n >\n {getTranslation(\n collections.find((each) => each.slug === relatedCollection).labels.singular,\n i18n,\n )}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,cAAc,QAAQ;AAI/B,SAASC,MAAM,QAAQ;AACvB,SAASC,KAAK,EAAEC,SAAS,QAAQ;AAEjC,OAAO,MAAMC,YAAA,GAAeA,CAAC;EAC3BC,WAAW;EACXC,SAAS;EACTC,WAAW;EACXC,SAAS;EACTC,WAAW;EACXC,IAAI;EACJC,IAAI;EACJC,KAAK;EACLC,OAAO;EACPC,WAAW;EACXC;AAAU,CAaX;EACC,IAAI,CAACV,WAAA,EAAa;IAChB,OAAO;EACT;EAEA,MAAMW,aAAA,GAAgBC,KAAA,CAAMC,OAAO,CAACH,UAAA;EAEpC,IAAI,CAACC,aAAA,EAAe;IAClB,oBACEG,IAAA,CAAClB,MAAA;MACCM,WAAA,EAAaA,WAAA;MACbC,SAAA,EAAW,CAACA,SAAA,EAAW,sBAAsB,CAACY,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;MACnET,OAAA,EAASA,CAAA,KAAMA,OAAA;gBAEdD;;EAGP;EAEA,oBACEO,IAAA,CAAC;IAAIX,SAAA,EAAW,GAAGF,SAAA,+BAAwC;cACzD,aAAAa,IAAA,CAACjB,KAAA;MACCqB,MAAA,eACEJ,IAAA,CAAClB,MAAA;QAAOM,WAAA,EAAaA,WAAA;QAAaC,SAAA,EAAWA,SAAA;QAAWG,IAAA,EAAMA,IAAA;kBAC3DC;;MAGLY,UAAA,EAAW;MACXC,eAAA,EAAgB;MAChBC,SAAA,EAAU;MACVC,MAAA,EAAQA,CAAC;QAAEC,KAAA,EAAOC;MAAU,CAAE,kBAC5BV,IAAA,CAAChB,SAAA,CAAU2B,WAAW;kBACnBf,UAAA,CAAWgB,GAAG,CAAEC,iBAAA;UACf,IAAIlB,WAAA,CAAYL,WAAW,CAACuB,iBAAA,CAAkB,EAAEC,MAAA,EAAQ;YACtD,oBACEd,IAAA,CAAChB,SAAA,CAAUF,MAAM;cACfO,SAAA,EAAW,GAAGF,SAAA,sBAA+B0B,iBAAA,EAAmB;cAEhEnB,OAAA,EAASA,CAAA;gBACPgB,UAAA;gBACAhB,OAAA,CAAQmB,iBAAA;cACV;wBAEChC,cAAA,CACCS,WAAA,CAAYyB,IAAI,CAAEC,IAAA,IAASA,IAAA,CAAKC,IAAI,KAAKJ,iBAAA,EAAmBK,MAAM,CAACC,QAAQ,EAC3E5B,IAAA;eARGsB,iBAAA;UAYX;UAEA,OAAO;QACT;;;;AAMZ","ignoreList":[]}
1
+ {"version":3,"file":"AddNewButton.js","names":["getTranslation","Button","Popup","PopupList","AddNewButton","allowCreate","baseClass","buttonStyle","className","collections","i18n","icon","label","onClick","permissions","relationTo","isPolymorphic","Array","isArray","create","_jsx","filter","Boolean","join","button","buttonType","horizontalAlign","popupType","render","close","closePopup","ButtonGroup","map","relatedCollection","find","each","slug","labels","singular"],"sources":["../../../src/elements/RelationshipTable/AddNewButton.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, SanitizedPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { Props as ButtonProps } from '../../elements/Button/types.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\n\nexport const AddNewButton = ({\n allowCreate,\n baseClass,\n buttonStyle,\n className,\n collections,\n i18n,\n icon,\n label,\n onClick,\n permissions,\n relationTo,\n}: {\n allowCreate: boolean\n baseClass: string\n buttonStyle?: ButtonProps['buttonStyle']\n className?: string\n collections: ClientCollectionConfig[]\n i18n: I18nClient\n icon?: ButtonProps['icon']\n label: string\n onClick: (selectedCollection?: string) => void\n permissions: SanitizedPermissions\n relationTo: string | string[]\n}) => {\n if (!allowCreate) {\n return null\n }\n\n const isPolymorphic = Array.isArray(relationTo)\n\n if (!isPolymorphic) {\n if (!permissions?.collections?.[relationTo]?.create) {\n return null\n }\n\n return (\n <Button\n buttonStyle={buttonStyle}\n className={[className, 'doc-drawer__toggler'].filter(Boolean).join(' ')}\n onClick={() => onClick()}\n >\n {label}\n </Button>\n )\n }\n\n return (\n <div className={`${baseClass}__add-new-polymorphic-wrapper`}>\n <Popup\n button={\n <Button buttonStyle={buttonStyle} className={className} icon={icon}>\n {label}\n </Button>\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n popupType=\"menu\"\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relationTo.map((relatedCollection) => {\n if (permissions.collections[relatedCollection]?.create) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection}`}\n key={relatedCollection}\n onClick={() => {\n closePopup()\n onClick(relatedCollection)\n }}\n >\n {getTranslation(\n collections.find((each) => each.slug === relatedCollection).labels.singular,\n i18n,\n )}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,cAAc,QAAQ;AAI/B,SAASC,MAAM,QAAQ;AACvB,SAASC,KAAK,EAAEC,SAAS,QAAQ;AAEjC,OAAO,MAAMC,YAAA,GAAeA,CAAC;EAC3BC,WAAW;EACXC,SAAS;EACTC,WAAW;EACXC,SAAS;EACTC,WAAW;EACXC,IAAI;EACJC,IAAI;EACJC,KAAK;EACLC,OAAO;EACPC,WAAW;EACXC;AAAU,CAaX;EACC,IAAI,CAACV,WAAA,EAAa;IAChB,OAAO;EACT;EAEA,MAAMW,aAAA,GAAgBC,KAAA,CAAMC,OAAO,CAACH,UAAA;EAEpC,IAAI,CAACC,aAAA,EAAe;IAClB,IAAI,CAACF,WAAA,EAAaL,WAAA,GAAcM,UAAA,CAAW,EAAEI,MAAA,EAAQ;MACnD,OAAO;IACT;IAEA,oBACEC,IAAA,CAACnB,MAAA;MACCM,WAAA,EAAaA,WAAA;MACbC,SAAA,EAAW,CAACA,SAAA,EAAW,sBAAsB,CAACa,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;MACnEV,OAAA,EAASA,CAAA,KAAMA,OAAA;gBAEdD;;EAGP;EAEA,oBACEQ,IAAA,CAAC;IAAIZ,SAAA,EAAW,GAAGF,SAAA,+BAAwC;cACzD,aAAAc,IAAA,CAAClB,KAAA;MACCsB,MAAA,eACEJ,IAAA,CAACnB,MAAA;QAAOM,WAAA,EAAaA,WAAA;QAAaC,SAAA,EAAWA,SAAA;QAAWG,IAAA,EAAMA,IAAA;kBAC3DC;;MAGLa,UAAA,EAAW;MACXC,eAAA,EAAgB;MAChBC,SAAA,EAAU;MACVC,MAAA,EAAQA,CAAC;QAAEC,KAAA,EAAOC;MAAU,CAAE,kBAC5BV,IAAA,CAACjB,SAAA,CAAU4B,WAAW;kBACnBhB,UAAA,CAAWiB,GAAG,CAAEC,iBAAA;UACf,IAAInB,WAAA,CAAYL,WAAW,CAACwB,iBAAA,CAAkB,EAAEd,MAAA,EAAQ;YACtD,oBACEC,IAAA,CAACjB,SAAA,CAAUF,MAAM;cACfO,SAAA,EAAW,GAAGF,SAAA,sBAA+B2B,iBAAA,EAAmB;cAEhEpB,OAAA,EAASA,CAAA;gBACPiB,UAAA;gBACAjB,OAAA,CAAQoB,iBAAA;cACV;wBAECjC,cAAA,CACCS,WAAA,CAAYyB,IAAI,CAAEC,IAAA,IAASA,IAAA,CAAKC,IAAI,KAAKH,iBAAA,EAAmBI,MAAM,CAACC,QAAQ,EAC3E5B,IAAA;eARGuB,iBAAA;UAYX;UAEA,OAAO;QACT;;;;AAMZ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SaveDraftButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAGzD,OAAO,KAA8B,MAAM,OAAO,CAAA;AAclD,wBAAgB,eAAe,CAAC,KAAK,EAAE,0BAA0B,qBAuFhE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SaveDraftButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAIzD,OAAO,KAA8B,MAAM,OAAO,CAAA;AAelD,wBAAgB,eAAe,CAAC,KAAK,EAAE,0BAA0B,qBA2GhE"}
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
4
  import { formatAdminURL } from 'payload/shared';
5
+ import * as qs from 'qs-esm';
5
6
  import React, { useCallback, useRef } from 'react';
6
7
  import { useForm, useFormModified } from '../../forms/Form/context.js';
7
8
  import { FormSubmit } from '../../forms/Submit/index.js';
@@ -12,6 +13,7 @@ import { useEditDepth } from '../../providers/EditDepth/index.js';
12
13
  import { useLocale } from '../../providers/Locale/index.js';
13
14
  import { useOperation } from '../../providers/Operation/index.js';
14
15
  import { useTranslation } from '../../providers/Translation/index.js';
16
+ import { useUploadEdits } from '../../providers/UploadEdits/index.js';
15
17
  const baseClass = 'save-draft';
16
18
  export function SaveDraftButton(props) {
17
19
  const {
@@ -39,13 +41,24 @@ export function SaveDraftButton(props) {
39
41
  const {
40
42
  submit
41
43
  } = useForm();
44
+ const {
45
+ uploadEdits
46
+ } = useUploadEdits();
42
47
  const operation = useOperation();
43
48
  const disabled = operation === 'update' && !modified || uploadStatus === 'uploading';
44
49
  const saveDraft = useCallback(async () => {
45
50
  if (disabled) {
46
51
  return;
47
52
  }
48
- const search = `?locale=${locale}&depth=0&fallback-locale=null&draft=true`;
53
+ const search = qs.stringify({
54
+ depth: 0,
55
+ draft: true,
56
+ 'fallback-locale': 'null',
57
+ locale,
58
+ uploadEdits: uploadEdits || undefined
59
+ }, {
60
+ addQueryPrefix: true
61
+ });
49
62
  let action;
50
63
  let method = 'POST';
51
64
  if (collectionSlug) {
@@ -72,7 +85,7 @@ export function SaveDraftButton(props) {
72
85
  skipValidation: true
73
86
  });
74
87
  setUnpublishedVersionCount(count => count + 1);
75
- }, [submit, collectionSlug, globalSlug, api, locale, id, disabled, setUnpublishedVersionCount]);
88
+ }, [submit, collectionSlug, globalSlug, api, locale, id, disabled, setUnpublishedVersionCount, uploadEdits]);
76
89
  useHotkey({
77
90
  cmdCtrlKey: true,
78
91
  editDepth,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["formatAdminURL","React","useCallback","useRef","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","baseClass","SaveDraftButton","props","config","routes","api","id","collectionSlug","globalSlug","setUnpublishedVersionCount","uploadStatus","modified","currentLocale","locale","code","ref","editDepth","t","submit","operation","disabled","saveDraft","search","action","method","apiRoute","path","overrides","_status","skipValidation","count","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","current","click","_jsx","buttonId","buttonStyle","className","onClick","size","type"],"sources":["../../../src/elements/SaveDraftButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SaveDraftButtonClientProps } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback, useRef } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nconst baseClass = 'save-draft'\n\nexport function SaveDraftButton(props: SaveDraftButtonClientProps) {\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n\n const { id, collectionSlug, globalSlug, setUnpublishedVersionCount, uploadStatus } =\n useDocumentInfo()\n\n const modified = useFormModified()\n const currentLocale = useLocale()\n const locale = currentLocale?.code\n const ref = useRef<HTMLButtonElement>(null)\n const editDepth = useEditDepth()\n const { t } = useTranslation()\n const { submit } = useForm()\n const operation = useOperation()\n\n const disabled = (operation === 'update' && !modified) || uploadStatus === 'uploading'\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const search = `?locale=${locale}&depth=0&fallback-locale=null&draft=true`\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${id ? `/${id}` : ''}${search}`,\n })\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = formatAdminURL({\n apiRoute: api,\n path: `/globals/${globalSlug}${search}`,\n })\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n\n setUnpublishedVersionCount((count) => count + 1)\n }, [submit, collectionSlug, globalSlug, api, locale, id, disabled, setUnpublishedVersionCount])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n if (disabled) {\n // absorb the event\n }\n\n e.preventDefault()\n e.stopPropagation()\n if (ref?.current) {\n ref.current.click()\n }\n })\n\n return (\n <FormSubmit\n buttonId=\"action-save-draft\"\n buttonStyle=\"secondary\"\n className={baseClass}\n disabled={disabled}\n onClick={() => {\n return void saveDraft()\n }}\n ref={ref}\n size=\"medium\"\n type=\"button\"\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["formatAdminURL","qs","React","useCallback","useRef","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","useUploadEdits","baseClass","SaveDraftButton","props","config","routes","api","id","collectionSlug","globalSlug","setUnpublishedVersionCount","uploadStatus","modified","currentLocale","locale","code","ref","editDepth","t","submit","uploadEdits","operation","disabled","saveDraft","search","stringify","depth","draft","undefined","addQueryPrefix","action","method","apiRoute","path","overrides","_status","skipValidation","count","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","current","click","_jsx","buttonId","buttonStyle","className","onClick","size","type"],"sources":["../../../src/elements/SaveDraftButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SaveDraftButtonClientProps } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useRef } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\n\nconst baseClass = 'save-draft'\n\nexport function SaveDraftButton(props: SaveDraftButtonClientProps) {\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n\n const { id, collectionSlug, globalSlug, setUnpublishedVersionCount, uploadStatus } =\n useDocumentInfo()\n\n const modified = useFormModified()\n const currentLocale = useLocale()\n const locale = currentLocale?.code\n const ref = useRef<HTMLButtonElement>(null)\n const editDepth = useEditDepth()\n const { t } = useTranslation()\n const { submit } = useForm()\n const { uploadEdits } = useUploadEdits()\n const operation = useOperation()\n\n const disabled = (operation === 'update' && !modified) || uploadStatus === 'uploading'\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const search = qs.stringify(\n {\n depth: 0,\n draft: true,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n },\n { addQueryPrefix: true },\n )\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${id ? `/${id}` : ''}${search}`,\n })\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = formatAdminURL({\n apiRoute: api,\n path: `/globals/${globalSlug}${search}`,\n })\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n\n setUnpublishedVersionCount((count) => count + 1)\n }, [\n submit,\n collectionSlug,\n globalSlug,\n api,\n locale,\n id,\n disabled,\n setUnpublishedVersionCount,\n uploadEdits,\n ])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n if (disabled) {\n // absorb the event\n }\n\n e.preventDefault()\n e.stopPropagation()\n if (ref?.current) {\n ref.current.click()\n }\n })\n\n return (\n <FormSubmit\n buttonId=\"action-save-draft\"\n buttonStyle=\"secondary\"\n className={baseClass}\n disabled={disabled}\n onClick={() => {\n return void saveDraft()\n }}\n ref={ref}\n size=\"medium\"\n type=\"button\"\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","hasAutosaveEnabled","hasScheduledPublishEnabled","React","useMemo","useState","useFormModified","ScheduleIcon","useConfig","useDocumentInfo","useTranslation","Button","ScheduleDrawer","Tooltip","SchedulePublishButton","disabled","id","collectionSlug","globalSlug","hasPublishPermission","hasScheduledPublish","setHasScheduledPublish","unpublishedVersionCount","getEntityConfig","isModalOpen","toggleModal","t","modified","hovered","setHovered","entityConfig","scheduledPublishEnabled","hasAutosave","canSchedulePublish","Boolean","drawerSlug","hasNewerVersions","label","_jsxs","Fragment","onPointerEnter","onPointerLeave","style","position","_jsx","buttonStyle","icon","active","onClick","delay","show","defaultType","onUpcomingChange","schedulePublishConfig","versions","drafts","schedulePublish","undefined","slug"],"sources":["../../../src/elements/SchedulePublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { hasAutosaveEnabled, hasScheduledPublishEnabled } from 'payload/shared'\nimport React, { useMemo, useState } from 'react'\n\nimport { useFormModified } from '../../forms/Form/context.js'\nimport { ScheduleIcon } from '../../icons/Schedule/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { ScheduleDrawer } from '../PublishButton/ScheduleDrawer/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\n\nexport const SchedulePublishButton: React.FC<{ disabled?: boolean }> = ({ disabled }) => {\n const {\n id,\n collectionSlug,\n globalSlug,\n hasPublishPermission,\n hasScheduledPublish,\n setHasScheduledPublish,\n unpublishedVersionCount,\n } = useDocumentInfo()\n\n const { getEntityConfig } = useConfig()\n const { isModalOpen, toggleModal } = useModal()\n const { t } = useTranslation()\n const modified = useFormModified()\n const [hovered, setHovered] = useState(false)\n\n const entityConfig = useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const scheduledPublishEnabled = hasScheduledPublishEnabled(entityConfig)\n const hasAutosave = hasAutosaveEnabled(entityConfig)\n\n const canSchedulePublish = Boolean(\n scheduledPublishEnabled &&\n hasPublishPermission &&\n (globalSlug || (collectionSlug && id)) &&\n (hasAutosave || !modified),\n )\n\n const drawerSlug = `schedule-publish-${id}`\n const hasNewerVersions = unpublishedVersionCount > 0\n\n if (!canSchedulePublish) {\n return null\n }\n\n const label = t('version:schedulePublish')\n\n return (\n <React.Fragment>\n <span\n onPointerEnter={() => setHovered(true)}\n onPointerLeave={() => setHovered(false)}\n style={{ position: 'relative' }}\n >\n <Button\n buttonStyle=\"ghost\"\n disabled={disabled}\n icon={<ScheduleIcon active={hasScheduledPublish} />}\n id=\"schedule-publish-button\"\n onClick={() => toggleModal(drawerSlug)}\n />\n <Tooltip delay={0} show={hovered}>\n {label}\n </Tooltip>\n </span>\n {isModalOpen(drawerSlug) && (\n <ScheduleDrawer\n defaultType={!hasNewerVersions ? 'unpublish' : 'publish'}\n onUpcomingChange={setHasScheduledPublish}\n schedulePublishConfig={\n scheduledPublishEnabled &&\n typeof entityConfig.versions.drafts.schedulePublish === 'object'\n ? entityConfig.versions.drafts.schedulePublish\n : undefined\n }\n slug={drawerSlug}\n />\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;;AAEA,SAASA,QAAQ,QAAQ;AACzB,SAASC,kBAAkB,EAAEC,0BAA0B,QAAQ;AAC/D,OAAOC,KAAA,IAASC,OAAO,EAAEC,QAAQ,QAAQ;AAEzC,SAASC,eAAe,QAAQ;AAChC,SAASC,YAAY,QAAQ;AAC7B,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,cAAc,QAAQ;AAC/B,SAASC,OAAO,QAAQ;AAExB,OAAO,MAAMC,qBAAA,GAA0DA,CAAC;EAAEC;AAAQ,CAAE;EAClF,MAAM;IACJC,EAAE;IACFC,cAAc;IACdC,UAAU;IACVC,oBAAoB;IACpBC,mBAAmB;IACnBC,sBAAsB;IACtBC;EAAuB,CACxB,GAAGb,eAAA;EAEJ,MAAM;IAAEc;EAAe,CAAE,GAAGf,SAAA;EAC5B,MAAM;IAAEgB,WAAW;IAAEC;EAAW,CAAE,GAAGzB,QAAA;EACrC,MAAM;IAAE0B;EAAC,CAAE,GAAGhB,cAAA;EACd,MAAMiB,QAAA,GAAWrB,eAAA;EACjB,MAAM,CAACsB,OAAA,EAASC,UAAA,CAAW,GAAGxB,QAAA,CAAS;EAEvC,MAAMyB,YAAA,GAAe1B,OAAA,CAAQ;IAC3B,IAAIa,cAAA,EAAgB;MAClB,OAAOM,eAAA,CAAgB;QAAEN;MAAe;IAC1C;IACA,IAAIC,UAAA,EAAY;MACd,OAAOK,eAAA,CAAgB;QAAEL;MAAW;IACtC;EACF,GAAG,CAACD,cAAA,EAAgBC,UAAA,EAAYK,eAAA,CAAgB;EAEhD,MAAMQ,uBAAA,GAA0B7B,0BAAA,CAA2B4B,YAAA;EAC3D,MAAME,WAAA,GAAc/B,kBAAA,CAAmB6B,YAAA;EAEvC,MAAMG,kBAAA,GAAqBC,OAAA,CACzBH,uBAAA,IACEZ,oBAAA,KACCD,UAAA,IAAeD,cAAA,IAAkBD,EAAE,MACnCgB,WAAA,IAAe,CAACL,QAAO;EAG5B,MAAMQ,UAAA,GAAa,oBAAoBnB,EAAA,EAAI;EAC3C,MAAMoB,gBAAA,GAAmBd,uBAAA,GAA0B;EAEnD,IAAI,CAACW,kBAAA,EAAoB;IACvB,OAAO;EACT;EAEA,MAAMI,KAAA,GAAQX,CAAA,CAAE;EAEhB,oBACEY,KAAA,CAACnC,KAAA,CAAMoC,QAAQ;4BACbD,KAAA,CAAC;MACCE,cAAA,EAAgBA,CAAA,KAAMX,UAAA,CAAW;MACjCY,cAAA,EAAgBA,CAAA,KAAMZ,UAAA,CAAW;MACjCa,KAAA,EAAO;QAAEC,QAAA,EAAU;MAAW;8BAE9BC,IAAA,CAACjC,MAAA;QACCkC,WAAA,EAAY;QACZ9B,QAAA,EAAUA,QAAA;QACV+B,IAAA,eAAMF,IAAA,CAACrC,YAAA;UAAawC,MAAA,EAAQ3B;;QAC5BJ,EAAA,EAAG;QACHgC,OAAA,EAASA,CAAA,KAAMvB,WAAA,CAAYU,UAAA;uBAE7BS,IAAA,CAAC/B,OAAA;QAAQoC,KAAA,EAAO;QAAGC,IAAA,EAAMtB,OAAA;kBACtBS;;QAGJb,WAAA,CAAYW,UAAA,kBACXS,IAAA,CAAChC,cAAA;MACCuC,WAAA,EAAa,CAACf,gBAAA,GAAmB,cAAc;MAC/CgB,gBAAA,EAAkB/B,sBAAA;MAClBgC,qBAAA,EACEtB,uBAAA,IACA,OAAOD,YAAA,CAAawB,QAAQ,CAACC,MAAM,CAACC,eAAe,KAAK,WACpD1B,YAAA,CAAawB,QAAQ,CAACC,MAAM,CAACC,eAAe,GAC5CC,SAAA;MAENC,IAAA,EAAMvB;;;AAKhB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","hasAutosaveEnabled","hasScheduledPublishEnabled","React","useMemo","useState","useFormModified","ScheduleIcon","useConfig","useDocumentInfo","useTranslation","Button","ScheduleDrawer","Tooltip","SchedulePublishButton","disabled","id","collectionSlug","globalSlug","hasPublishPermission","hasScheduledPublish","setHasScheduledPublish","unpublishedVersionCount","getEntityConfig","isModalOpen","toggleModal","t","modified","hovered","setHovered","entityConfig","scheduledPublishEnabled","hasAutosave","canSchedulePublish","Boolean","drawerSlug","hasNewerVersions","label","_jsxs","Fragment","onPointerEnter","onPointerLeave","style","position","_jsx","buttonStyle","icon","active","onClick","delay","show","defaultType","onUpcomingChange","schedulePublishConfig","versions","drafts","schedulePublish","undefined","slug"],"sources":["../../../src/elements/SchedulePublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { hasAutosaveEnabled, hasScheduledPublishEnabled } from 'payload/shared'\nimport React, { useMemo, useState } from 'react'\n\nimport { useFormModified } from '../../forms/Form/context.js'\nimport { ScheduleIcon } from '../../icons/Schedule/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { ScheduleDrawer } from '../PublishButton/ScheduleDrawer/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\n\nexport const SchedulePublishButton: React.FC<{ disabled?: boolean }> = ({ disabled }) => {\n const {\n id,\n collectionSlug,\n globalSlug,\n hasPublishPermission,\n hasScheduledPublish,\n setHasScheduledPublish,\n unpublishedVersionCount,\n } = useDocumentInfo()\n\n const { getEntityConfig } = useConfig()\n const { isModalOpen, toggleModal } = useModal()\n const { t } = useTranslation()\n const modified = useFormModified()\n const [hovered, setHovered] = useState(false)\n\n const entityConfig = useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const scheduledPublishEnabled = hasScheduledPublishEnabled(entityConfig)\n const hasAutosave = hasAutosaveEnabled(entityConfig)\n\n const canSchedulePublish = Boolean(\n scheduledPublishEnabled &&\n hasPublishPermission &&\n (globalSlug || (collectionSlug && id)) &&\n (hasAutosave || !modified),\n )\n\n const drawerSlug = `schedule-publish-${id}`\n const hasNewerVersions = unpublishedVersionCount > 0\n\n if (!canSchedulePublish) {\n return null\n }\n\n const label = t('version:schedulePublish')\n\n return (\n <React.Fragment>\n <span\n onPointerEnter={() => setHovered(true)}\n onPointerLeave={() => setHovered(false)}\n style={{ position: 'relative' }}\n >\n <Button\n buttonStyle=\"ghost\"\n disabled={disabled}\n icon={<ScheduleIcon active={hasScheduledPublish} />}\n id=\"schedule-publish-button\"\n onClick={() => toggleModal(drawerSlug)}\n />\n <Tooltip delay={0} show={hovered}>\n {label}\n </Tooltip>\n </span>\n {isModalOpen(drawerSlug) && (\n <ScheduleDrawer\n defaultType={!hasNewerVersions ? 'unpublish' : 'publish'}\n onUpcomingChange={setHasScheduledPublish}\n schedulePublishConfig={\n scheduledPublishEnabled &&\n typeof entityConfig.versions.drafts.schedulePublish === 'object'\n ? entityConfig.versions.drafts.schedulePublish\n : undefined\n }\n slug={drawerSlug}\n />\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;;AAEA,SAASA,QAAQ,QAAQ;AACzB,SAASC,kBAAkB,EAAEC,0BAA0B,QAAQ;AAC/D,OAAOC,KAAA,IAASC,OAAO,EAAEC,QAAQ,QAAQ;AAEzC,SAASC,eAAe,QAAQ;AAChC,SAASC,YAAY,QAAQ;AAC7B,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,cAAc,QAAQ;AAC/B,SAASC,OAAO,QAAQ;AAExB,OAAO,MAAMC,qBAAA,GAA0DA,CAAC;EAAEC;AAAQ,CAAE;EAClF,MAAM;IACJC,EAAE;IACFC,cAAc;IACdC,UAAU;IACVC,oBAAoB;IACpBC,mBAAmB;IACnBC,sBAAsB;IACtBC;EAAuB,CACxB,GAAGb,eAAA;EAEJ,MAAM;IAAEc;EAAe,CAAE,GAAGf,SAAA;EAC5B,MAAM;IAAEgB,WAAW;IAAEC;EAAW,CAAE,GAAGzB,QAAA;EACrC,MAAM;IAAE0B;EAAC,CAAE,GAAGhB,cAAA;EACd,MAAMiB,QAAA,GAAWrB,eAAA;EACjB,MAAM,CAACsB,OAAA,EAASC,UAAA,CAAW,GAAGxB,QAAA,CAAS;EAEvC,MAAMyB,YAAA,GAAe1B,OAAA,CAAQ;IAC3B,IAAIa,cAAA,EAAgB;MAClB,OAAOM,eAAA,CAAgB;QAAEN;MAAe;IAC1C;IACA,IAAIC,UAAA,EAAY;MACd,OAAOK,eAAA,CAAgB;QAAEL;MAAW;IACtC;EACF,GAAG,CAACD,cAAA,EAAgBC,UAAA,EAAYK,eAAA,CAAgB;EAEhD,MAAMQ,uBAAA,GAA0B7B,0BAAA,CAA2B4B,YAAA;EAC3D,MAAME,WAAA,GAAc/B,kBAAA,CAAmB6B,YAAA;EAEvC,MAAMG,kBAAA,GAAqBC,OAAA,CACzBH,uBAAA,IACAZ,oBAAA,KACCD,UAAA,IAAeD,cAAA,IAAkBD,EAAE,MACnCgB,WAAA,IAAe,CAACL,QAAO;EAG1B,MAAMQ,UAAA,GAAa,oBAAoBnB,EAAA,EAAI;EAC3C,MAAMoB,gBAAA,GAAmBd,uBAAA,GAA0B;EAEnD,IAAI,CAACW,kBAAA,EAAoB;IACvB,OAAO;EACT;EAEA,MAAMI,KAAA,GAAQX,CAAA,CAAE;EAEhB,oBACEY,KAAA,CAACnC,KAAA,CAAMoC,QAAQ;4BACbD,KAAA,CAAC;MACCE,cAAA,EAAgBA,CAAA,KAAMX,UAAA,CAAW;MACjCY,cAAA,EAAgBA,CAAA,KAAMZ,UAAA,CAAW;MACjCa,KAAA,EAAO;QAAEC,QAAA,EAAU;MAAW;8BAE9BC,IAAA,CAACjC,MAAA;QACCkC,WAAA,EAAY;QACZ9B,QAAA,EAAUA,QAAA;QACV+B,IAAA,eAAMF,IAAA,CAACrC,YAAA;UAAawC,MAAA,EAAQ3B;;QAC5BJ,EAAA,EAAG;QACHgC,OAAA,EAASA,CAAA,KAAMvB,WAAA,CAAYU,UAAA;uBAE7BS,IAAA,CAAC/B,OAAA;QAAQoC,KAAA,EAAO;QAAGC,IAAA,EAAMtB,OAAA;kBACtBS;;QAGJb,WAAA,CAAYW,UAAA,kBACXS,IAAA,CAAChC,cAAA;MACCuC,WAAA,EAAa,CAACf,gBAAA,GAAmB,cAAc;MAC/CgB,gBAAA,EAAkB/B,sBAAA;MAClBgC,qBAAA,EACEtB,uBAAA,IACA,OAAOD,YAAA,CAAawB,QAAQ,CAACC,MAAM,CAACC,eAAe,KAAK,WACpD1B,YAAA,CAAawB,QAAQ,CAACC,MAAM,CAACC,eAAe,GAC5CC,SAAA;MAENC,IAAA,EAAMvB;;;AAKhB","ignoreList":[]}
@@ -1,9 +1,52 @@
1
1
  @layer payload-default {
2
- .segmented-control { display: flex; margin: 0; border: none; padding: var(--spacer-0); min-width: 0; line-height: 0; }
3
- .segmented-control__options { display: inline-flex; width: 100%; padding: var(--spacer-0); border-radius: var(--radius-medium); background-color: var(--color-bg-secondary); }
4
- .segmented-control__option { position: relative; display: inline-block; flex: 1; }
5
- .segmented-control__input { position: absolute; inset: var(--spacer-0); width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
6
- .segmented-control__icon { display: flex; align-items: center; justify-content: center; width: var(--spacer-4); height: var(--spacer-4); padding: var(--spacer-0); border-radius: var(--radius-medium); background-color: transparent; color: var(--color-text-secondary); }
7
- .segmented-control__input:checked + .segmented-control__icon { background-color: var(--color-bg); box-shadow: inset 0 0 0 var(--stroke-width-small) var(--color-border); color: var(--color-text); }
8
- .segmented-control__input:focus-visible + .segmented-control__icon { outline: var(--stroke-width-small) solid var(--color-border-selected); outline-offset: -1px; box-shadow: none; }
2
+ .segmented-control {
3
+ display: flex;
4
+ margin: 0;
5
+ border: none;
6
+ padding: var(--spacer-0);
7
+ min-width: 0;
8
+ line-height: 0;
9
+ }
10
+ .segmented-control__options {
11
+ display: inline-flex;
12
+ width: 100%;
13
+ padding: var(--spacer-0);
14
+ border-radius: var(--radius-medium);
15
+ background-color: var(--color-bg-secondary);
16
+ }
17
+ .segmented-control__option {
18
+ position: relative;
19
+ display: inline-block;
20
+ flex: 1;
21
+ }
22
+ .segmented-control__input {
23
+ position: absolute;
24
+ inset: var(--spacer-0);
25
+ width: 100%;
26
+ height: 100%;
27
+ margin: 0;
28
+ opacity: 0;
29
+ cursor: pointer;
30
+ }
31
+ .segmented-control__icon {
32
+ display: flex;
33
+ align-items: center;
34
+ justify-content: center;
35
+ width: var(--spacer-4);
36
+ height: var(--spacer-4);
37
+ padding: var(--spacer-0);
38
+ border-radius: var(--radius-medium);
39
+ background-color: transparent;
40
+ color: var(--color-text-secondary);
41
+ }
42
+ .segmented-control__input:checked + .segmented-control__icon {
43
+ background-color: var(--color-bg);
44
+ box-shadow: inset 0 0 0 var(--stroke-width-small) var(--color-border);
45
+ color: var(--color-text);
46
+ }
47
+ .segmented-control__input:focus-visible + .segmented-control__icon {
48
+ outline: var(--stroke-width-small) solid var(--color-border-selected);
49
+ outline-offset: -1px;
50
+ box-shadow: none;
51
+ }
9
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/File/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EACzB,eAAe,EACf,iBAAiB,EAClB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,aAAa,CAAA;AAKpB,MAAM,WAAW,aACf,SAAQ,yBAAyB,CAAC,eAAe,GAAG,iBAAiB,CAAC;IACtE,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;CAClD;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA+C5C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/File/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EACzB,eAAe,EACf,iBAAiB,EAClB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,aAAa,CAAA;AAKpB,MAAM,WAAW,aAAc,SAAQ,yBAAyB,CAC9D,eAAe,GAAG,iBAAiB,CACpC;IACC,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;CAClD;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA+C5C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getBestFitFromSizes","isImage","React","Thumbnail","baseClass","FileCell","cellData","filename","collectionConfig","field","rowData","fieldPreviewAllowed","displayPreview","undefined","previewAllowed","upload","isFileImage","mimeType","fileSrc","thumbnailURL","url","sizes","variants","width","uploadConfig","imageCacheTag","cacheTags","updatedAt","_jsxs","className","_jsx","collectionSlug","slug","doc","size","String","_Fragment"],"sources":["../../../../../../src/elements/Table/DefaultCell/fields/File/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n DefaultCellComponentProps,\n TextFieldClient,\n UploadFieldClient,\n} from 'payload'\n\nimport { getBestFitFromSizes, isImage } from 'payload/shared'\nimport React from 'react'\n\nimport './index.css'\nimport { Thumbnail } from '../../../../Thumbnail/index.js'\n\nconst baseClass = 'file'\n\nexport interface FileCellProps\n extends DefaultCellComponentProps<TextFieldClient | UploadFieldClient> {\n readonly collectionConfig: ClientCollectionConfig\n}\n\nexport const FileCell: React.FC<FileCellProps> = ({\n cellData: filename,\n collectionConfig,\n field,\n rowData,\n}) => {\n const fieldPreviewAllowed = 'displayPreview' in field ? field.displayPreview : undefined\n const previewAllowed = fieldPreviewAllowed ?? collectionConfig.upload?.displayPreview ?? true\n\n if (previewAllowed) {\n const isFileImage = isImage(rowData?.mimeType)\n let fileSrc: string | undefined = isFileImage\n ? rowData?.thumbnailURL || rowData?.url\n : rowData?.thumbnailURL\n\n if (isFileImage) {\n fileSrc = getBestFitFromSizes({\n sizes: rowData?.variants,\n thumbnailURL: rowData?.thumbnailURL,\n url: rowData?.url,\n width: rowData?.width,\n })\n }\n\n const uploadConfig = collectionConfig?.upload\n const imageCacheTag = uploadConfig?.cacheTags && rowData?.updatedAt\n\n return (\n <div className={baseClass}>\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n collectionSlug={collectionConfig?.slug}\n doc={{\n ...rowData,\n filename,\n }}\n fileSrc={fileSrc}\n imageCacheTag={imageCacheTag}\n size=\"small\"\n uploadConfig={uploadConfig}\n />\n <span className={`${baseClass}__filename`}>{String(filename)}</span>\n </div>\n )\n } else {\n return <>{String(filename)}</>\n }\n}\n"],"mappings":"AAAA;;;AAQA,SAASA,mBAAmB,EAAEC,OAAO,QAAQ;AAC7C,OAAOC,KAAA,MAAW;AAElB,OAAO;AACP,SAASC,SAAS,QAAQ;AAE1B,MAAMC,SAAA,GAAY;AAOlB,OAAO,MAAMC,QAAA,GAAoCA,CAAC;EAChDC,QAAA,EAAUC,QAAQ;EAClBC,gBAAgB;EAChBC,KAAK;EACLC;AAAO,CACR;EACC,MAAMC,mBAAA,GAAsB,oBAAoBF,KAAA,GAAQA,KAAA,CAAMG,cAAc,GAAGC,SAAA;EAC/E,MAAMC,cAAA,GAAiBH,mBAAA,IAAuBH,gBAAA,CAAiBO,MAAM,EAAEH,cAAA,IAAkB;EAEzF,IAAIE,cAAA,EAAgB;IAClB,MAAME,WAAA,GAAcf,OAAA,CAAQS,OAAA,EAASO,QAAA;IACrC,IAAIC,OAAA,GAA8BF,WAAA,GAC9BN,OAAA,EAASS,YAAA,IAAgBT,OAAA,EAASU,GAAA,GAClCV,OAAA,EAASS,YAAA;IAEb,IAAIH,WAAA,EAAa;MACfE,OAAA,GAAUlB,mBAAA,CAAoB;QAC5BqB,KAAA,EAAOX,OAAA,EAASY,QAAA;QAChBH,YAAA,EAAcT,OAAA,EAASS,YAAA;QACvBC,GAAA,EAAKV,OAAA,EAASU,GAAA;QACdG,KAAA,EAAOb,OAAA,EAASa;MAClB;IACF;IAEA,MAAMC,YAAA,GAAehB,gBAAA,EAAkBO,MAAA;IACvC,MAAMU,aAAA,GAAgBD,YAAA,EAAcE,SAAA,IAAahB,OAAA,EAASiB,SAAA;IAE1D,oBACEC,KAAA,CAAC;MAAIC,SAAA,EAAWzB,SAAA;8BACd0B,IAAA,CAAC3B,SAAA;QACC0B,SAAA,EAAW,GAAGzB,SAAA,aAAsB;QACpC2B,cAAA,EAAgBvB,gBAAA,EAAkBwB,IAAA;QAClCC,GAAA,EAAK;UACH,GAAGvB,OAAO;UACVH;QACF;QACAW,OAAA,EAASA,OAAA;QACTO,aAAA,EAAeA,aAAA;QACfS,IAAA,EAAK;QACLV,YAAA,EAAcA;uBAEhBM,IAAA,CAAC;QAAKD,SAAA,EAAW,GAAGzB,SAAA,YAAqB;kBAAG+B,MAAA,CAAO5B,QAAA;;;EAGzD,OAAO;IACL,oBAAOuB,IAAA,CAAAM,SAAA;gBAAGD,MAAA,CAAO5B,QAAA;;EACnB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getBestFitFromSizes","isImage","React","Thumbnail","baseClass","FileCell","cellData","filename","collectionConfig","field","rowData","fieldPreviewAllowed","displayPreview","undefined","previewAllowed","upload","isFileImage","mimeType","fileSrc","thumbnailURL","url","sizes","variants","width","uploadConfig","imageCacheTag","cacheTags","updatedAt","_jsxs","className","_jsx","collectionSlug","slug","doc","size","String","_Fragment"],"sources":["../../../../../../src/elements/Table/DefaultCell/fields/File/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n DefaultCellComponentProps,\n TextFieldClient,\n UploadFieldClient,\n} from 'payload'\n\nimport { getBestFitFromSizes, isImage } from 'payload/shared'\nimport React from 'react'\n\nimport './index.css'\nimport { Thumbnail } from '../../../../Thumbnail/index.js'\n\nconst baseClass = 'file'\n\nexport interface FileCellProps extends DefaultCellComponentProps<\n TextFieldClient | UploadFieldClient\n> {\n readonly collectionConfig: ClientCollectionConfig\n}\n\nexport const FileCell: React.FC<FileCellProps> = ({\n cellData: filename,\n collectionConfig,\n field,\n rowData,\n}) => {\n const fieldPreviewAllowed = 'displayPreview' in field ? field.displayPreview : undefined\n const previewAllowed = fieldPreviewAllowed ?? collectionConfig.upload?.displayPreview ?? true\n\n if (previewAllowed) {\n const isFileImage = isImage(rowData?.mimeType)\n let fileSrc: string | undefined = isFileImage\n ? rowData?.thumbnailURL || rowData?.url\n : rowData?.thumbnailURL\n\n if (isFileImage) {\n fileSrc = getBestFitFromSizes({\n sizes: rowData?.variants,\n thumbnailURL: rowData?.thumbnailURL,\n url: rowData?.url,\n width: rowData?.width,\n })\n }\n\n const uploadConfig = collectionConfig?.upload\n const imageCacheTag = uploadConfig?.cacheTags && rowData?.updatedAt\n\n return (\n <div className={baseClass}>\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n collectionSlug={collectionConfig?.slug}\n doc={{\n ...rowData,\n filename,\n }}\n fileSrc={fileSrc}\n imageCacheTag={imageCacheTag}\n size=\"small\"\n uploadConfig={uploadConfig}\n />\n <span className={`${baseClass}__filename`}>{String(filename)}</span>\n </div>\n )\n } else {\n return <>{String(filename)}</>\n }\n}\n"],"mappings":"AAAA;;;AAQA,SAASA,mBAAmB,EAAEC,OAAO,QAAQ;AAC7C,OAAOC,KAAA,MAAW;AAElB,OAAO;AACP,SAASC,SAAS,QAAQ;AAE1B,MAAMC,SAAA,GAAY;AAQlB,OAAO,MAAMC,QAAA,GAAoCA,CAAC;EAChDC,QAAA,EAAUC,QAAQ;EAClBC,gBAAgB;EAChBC,KAAK;EACLC;AAAO,CACR;EACC,MAAMC,mBAAA,GAAsB,oBAAoBF,KAAA,GAAQA,KAAA,CAAMG,cAAc,GAAGC,SAAA;EAC/E,MAAMC,cAAA,GAAiBH,mBAAA,IAAuBH,gBAAA,CAAiBO,MAAM,EAAEH,cAAA,IAAkB;EAEzF,IAAIE,cAAA,EAAgB;IAClB,MAAME,WAAA,GAAcf,OAAA,CAAQS,OAAA,EAASO,QAAA;IACrC,IAAIC,OAAA,GAA8BF,WAAA,GAC9BN,OAAA,EAASS,YAAA,IAAgBT,OAAA,EAASU,GAAA,GAClCV,OAAA,EAASS,YAAA;IAEb,IAAIH,WAAA,EAAa;MACfE,OAAA,GAAUlB,mBAAA,CAAoB;QAC5BqB,KAAA,EAAOX,OAAA,EAASY,QAAA;QAChBH,YAAA,EAAcT,OAAA,EAASS,YAAA;QACvBC,GAAA,EAAKV,OAAA,EAASU,GAAA;QACdG,KAAA,EAAOb,OAAA,EAASa;MAClB;IACF;IAEA,MAAMC,YAAA,GAAehB,gBAAA,EAAkBO,MAAA;IACvC,MAAMU,aAAA,GAAgBD,YAAA,EAAcE,SAAA,IAAahB,OAAA,EAASiB,SAAA;IAE1D,oBACEC,KAAA,CAAC;MAAIC,SAAA,EAAWzB,SAAA;8BACd0B,IAAA,CAAC3B,SAAA;QACC0B,SAAA,EAAW,GAAGzB,SAAA,aAAsB;QACpC2B,cAAA,EAAgBvB,gBAAA,EAAkBwB,IAAA;QAClCC,GAAA,EAAK;UACH,GAAGvB,OAAO;UACVH;QACF;QACAW,OAAA,EAASA,OAAA;QACTO,aAAA,EAAeA,aAAA;QACfS,IAAA,EAAK;QACLV,YAAA,EAAcA;uBAEhBM,IAAA,CAAC;QAAKD,SAAA,EAAW,GAAGzB,SAAA,YAAqB;kBAAG+B,MAAA,CAAO5B,QAAA;;;EAGzD,OAAO;IACL,oBAAOuB,IAAA,CAAAM,SAAA;gBAAGD,MAAA,CAAO5B,QAAA;;EACnB;AACF","ignoreList":[]}
@@ -24,13 +24,4 @@
24
24
  text-overflow: ellipsis;
25
25
  white-space: nowrap;
26
26
  }
27
-
28
- /* Dividers span the full menu width rather than sitting inside the list's inline padding. */
29
- .hierarchy-cell__popup-content .popup-divider {
30
- margin-inline: calc(var(--spacer-2) * -1);
31
- }
32
-
33
- .hierarchy-cell__control {
34
- display: contents;
35
- }
36
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Hierarchy/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAEjF,OAAO,KAA4D,MAAM,OAAO,CAAA;AAmBhF,OAAO,aAAa,CAAA;AAKpB,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,uBAAuB,CAAC,CAAA;AAEnF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA2QtD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Hierarchy/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAGjF,OAAO,KAA4D,MAAM,OAAO,CAAA;AAqBhF,OAAO,aAAa,CAAA;AAKpB,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,uBAAuB,CAAC,CAAA;AAEnF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAmTtD,CAAA"}