@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,11 +1,10 @@
1
1
  'use client';
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
- import { useModal } from '@faceless-ui/modal';
5
4
  import { getTranslation } from '@payloadcms/translations';
6
5
  import { formatAdminURL } from 'payload/shared';
7
6
  import * as qs from 'qs-esm';
8
- import React, { useCallback, useMemo, useState } from 'react';
7
+ import React, { useCallback, useMemo, useRef, useState } from 'react';
9
8
  import { toast } from 'sonner';
10
9
  import { useConfig } from '../../../providers/Config/index.js';
11
10
  import { useDocumentSelection } from '../../../providers/DocumentSelection/index.js';
@@ -13,9 +12,8 @@ import { useLocale } from '../../../providers/Locale/index.js';
13
12
  import { useTranslation } from '../../../providers/Translation/index.js';
14
13
  import { requests } from '../../../utilities/api.js';
15
14
  import { getEffectiveHierarchyCollections, getHierarchyCollectionRestrictions } from '../../../utilities/hierarchyCollectionRestrictions.js';
16
- import { ConfirmationModal } from '../../ConfirmationModal/index.js';
17
15
  import { ListSelectionButton } from '../../ListSelection/index.js';
18
- import { Translation } from '../../Translation/index.js';
16
+ import { HierarchyActionsMenu } from '../ActionsMenu/index.js';
19
17
  import { useHierarchyModal } from '../Modal/useHierarchyModal.js';
20
18
  export const baseClass = 'move-many';
21
19
  /**
@@ -29,7 +27,6 @@ export function MoveMany({
29
27
  currentParentID,
30
28
  hierarchySlug,
31
29
  Icon,
32
- modalPrefix,
33
30
  onSuccess,
34
31
  requiredCollections: requiredCollectionsProp,
35
32
  selections
@@ -40,9 +37,6 @@ export function MoveMany({
40
37
  } = useTranslation();
41
38
  const currentLocale = useLocale();
42
39
  const locale = currentLocale?.code;
43
- const {
44
- openModal
45
- } = useModal();
46
40
  const {
47
41
  config: {
48
42
  collections,
@@ -60,8 +54,6 @@ export function MoveMany({
60
54
  } = useMemo(() => getHierarchyCollectionRestrictions({
61
55
  collectionConfig: hierarchyCollectionConfig
62
56
  }), [hierarchyCollectionConfig]);
63
- const [destination, setDestination] = useState(null);
64
- const confirmMoveDrawerSlug = `${modalPrefix ? `${modalPrefix}-` : ''}confirm-move-many`;
65
57
  // Compute required collections from selection metadata
66
58
  // For related items: add their collection slug
67
59
  // For folders: add their allowedCollections values
@@ -108,7 +100,8 @@ export function MoveMany({
108
100
  // Calculate total count and label
109
101
  const {
110
102
  count,
111
- label
103
+ label,
104
+ modalTitleLabel
112
105
  } = useMemo(() => {
113
106
  let totalCount = 0;
114
107
  const labels = [];
@@ -124,38 +117,23 @@ export function MoveMany({
124
117
  }
125
118
  return {
126
119
  count: totalCount,
127
- label: labels.join(', ')
120
+ label: labels.join(', '),
121
+ modalTitleLabel: labels.length === 1 ? labels[0] : t(totalCount === 1 ? 'general:document' : 'general:documents')
128
122
  };
129
- }, [selections, collections, i18n]);
123
+ }, [selections, collections, i18n, t]);
130
124
  const parentFieldName = getParentFieldName(hierarchyCollectionConfig);
131
125
  // Check if hierarchy has a valid parentFieldName
132
126
  const canMove = parentFieldName !== undefined;
133
- const handleDrawerSave = useCallback(({
134
- selections: selectionsMap
135
- }) => {
136
- if (selectionsMap.size === 0) {
137
- return;
138
- }
139
- const firstSelection = selectionsMap.values().next().value;
140
- const destinationId = firstSelection?.id;
141
- const destinationTitle = firstSelection?.path?.[firstSelection.path.length - 1]?.title || String(destinationId);
142
- setDestination({
143
- id: destinationId,
144
- title: destinationTitle
145
- });
146
- openModal(confirmMoveDrawerSlug);
147
- }, [openModal, confirmMoveDrawerSlug]);
148
- const handleMoveToRoot = useCallback(() => {
149
- setDestination({
150
- id: null,
151
- title: t('hierarchy:noParent')
152
- });
153
- openModal(confirmMoveDrawerSlug);
154
- }, [openModal, confirmMoveDrawerSlug, t]);
155
- const handleConfirmMove = useCallback(async () => {
156
- if (destination === null) {
127
+ const hierarchyLabel = getTranslation(hierarchyCollectionConfig?.labels?.singular || hierarchySlug, i18n) || hierarchySlug;
128
+ const isMovingRef = useRef(false);
129
+ const [isMoving, setIsMoving] = useState(false);
130
+ const moveDocuments = useCallback(async destination => {
131
+ // A ref, not state, so a second click in the same frame still sees the first move
132
+ if (isMovingRef.current) {
157
133
  return;
158
134
  }
135
+ isMovingRef.current = true;
136
+ setIsMoving(true);
159
137
  let totalMoved = 0;
160
138
  let hasErrors = false;
161
139
  try {
@@ -224,61 +202,61 @@ export function MoveMany({
224
202
  } catch (_err) {
225
203
  toast.error(t('error:unknown'));
226
204
  } finally {
227
- setDestination(null);
205
+ isMovingRef.current = false;
206
+ setIsMoving(false);
228
207
  }
229
- }, [closeModal, destination, selections, parentFieldName, locale, api, i18n, t, label, onSuccess]);
208
+ }, [closeModal, selections, parentFieldName, locale, api, i18n, t, label, onSuccess]);
209
+ const handleModalSave = useCallback(({
210
+ selections: selectionsMap
211
+ }) => {
212
+ const firstSelection = selectionsMap.values().next().value;
213
+ if (!firstSelection) {
214
+ return;
215
+ }
216
+ const destinationTitle = firstSelection.path[firstSelection.path.length - 1]?.title || String(firstSelection.id);
217
+ void moveDocuments({
218
+ id: firstSelection.id,
219
+ title: destinationTitle
220
+ });
221
+ }, [moveDocuments]);
222
+ const handleMoveToRoot = useCallback(() => {
223
+ void moveDocuments({
224
+ id: null,
225
+ title: t('hierarchy:noParent')
226
+ });
227
+ }, [moveDocuments, t]);
228
+ const canRemoveFromHierarchy = currentParentID !== null && currentParentID !== undefined;
229
+ const initialSelections = currentParentID === null || currentParentID === undefined ? undefined : [currentParentID];
230
230
  if (count === 0 || !canMove) {
231
231
  return null;
232
232
  }
233
233
  return /*#__PURE__*/_jsxs(React.Fragment, {
234
- children: [/*#__PURE__*/_jsx(ListSelectionButton, {
235
- "aria-label": t('general:move'),
236
- className: `${baseClass}__toggle`,
237
- onClick: openHierarchyModal,
238
- children: t('general:move')
234
+ children: [/*#__PURE__*/_jsx(HierarchyActionsMenu, {
235
+ hasActions: canRemoveFromHierarchy,
236
+ hierarchyLabel: hierarchyLabel,
237
+ onMove: openHierarchyModal,
238
+ onRemove: handleMoveToRoot,
239
+ renderTrigger: triggerProps => /*#__PURE__*/_jsx(ListSelectionButton, {
240
+ "aria-label": t('general:move'),
241
+ className: `${baseClass}__toggle`,
242
+ extraButtonProps: triggerProps?.extraButtonProps,
243
+ onClick: triggerProps?.onClick ?? openHierarchyModal,
244
+ selected: triggerProps?.selected,
245
+ children: t('general:move')
246
+ }),
247
+ showActionIcons: true
239
248
  }), /*#__PURE__*/_jsx(HierarchyModal, {
249
+ confirmLabel: t('general:confirm'),
240
250
  hasMany: false,
241
- initialSelections: currentParentID ? [currentParentID] : null,
251
+ initialSelections: initialSelections,
252
+ isBusy: isMoving,
242
253
  onMoveToRoot: handleMoveToRoot,
243
- onSave: handleDrawerSave,
244
- showMoveToRoot: true
245
- }), /*#__PURE__*/_jsx(ConfirmationModal, {
246
- body: /*#__PURE__*/_jsx("p", {
247
- children: destination?.id === null ? /*#__PURE__*/_jsx(Translation, {
248
- elements: {
249
- '1': ({
250
- children
251
- }) => /*#__PURE__*/_jsx("strong", {
252
- children: children
253
- })
254
- },
255
- i18nKey: "hierarchy:moveItemsToRootConfirmation",
256
- t: t,
257
- variables: {
258
- count,
259
- label
260
- }
261
- }) : /*#__PURE__*/_jsx(Translation, {
262
- elements: {
263
- '1': ({
264
- children: children_0
265
- }) => /*#__PURE__*/_jsx("strong", {
266
- children: children_0
267
- })
268
- },
269
- i18nKey: "general:moveConfirm",
270
- t: t,
271
- variables: {
272
- count,
273
- destination: destination?.title || '',
274
- label
275
- }
276
- })
277
- }),
278
- confirmingLabel: t('general:moving'),
279
- heading: t('general:confirmMove'),
280
- modalSlug: confirmMoveDrawerSlug,
281
- onConfirm: handleConfirmMove
254
+ onSave: handleModalSave,
255
+ showMoveToRoot: true,
256
+ title: t('general:moveCount', {
257
+ count,
258
+ label: modalTitleLabel
259
+ })
282
260
  })]
283
261
  });
284
262
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","qs","React","useCallback","useMemo","useState","toast","useConfig","useDocumentSelection","useLocale","useTranslation","requests","getEffectiveHierarchyCollections","getHierarchyCollectionRestrictions","ConfirmationModal","ListSelectionButton","Translation","useHierarchyModal","baseClass","getParentFieldName","hierarchyConfig","config","hierarchy","undefined","parentFieldName","MoveMany","currentParentID","hierarchySlug","Icon","modalPrefix","onSuccess","requiredCollections","requiredCollectionsProp","selections","i18n","t","currentLocale","locale","code","openModal","collections","routes","api","getSelectionsWithMetadata","hierarchyCollectionConfig","find","c","slug","relatedCollectionSlugs","collectionConfig","destination","setDestination","confirmMoveDrawerSlug","inferredRequiredCollections","selectionsWithMeta","required","Set","collectionSlug","items","Object","entries","metadata","allowedCollections","add","size","Array","from","disabledIds","parentIds","ids","length","HierarchyModal","closeModal","openHierarchyModal","filterByCollection","hierarchyCollectionSlug","count","label","totalCount","labels","collectionLabel","plural","singular","push","join","canMove","handleDrawerSave","selectionsMap","firstSelection","values","next","value","destinationId","id","destinationTitle","path","title","String","handleMoveToRoot","handleConfirmMove","totalMoved","hasErrors","queryString","stringify","where","in","addQueryPrefix","url","apiRoute","response","patch","body","JSON","headers","language","credentials","json","status","errors","error","message","description","map","movedCount","docs","successKey","success","_err","_jsxs","Fragment","_jsx","className","onClick","hasMany","initialSelections","onMoveToRoot","onSave","showMoveToRoot","elements","1","children","i18nKey","variables","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../../src/elements/Hierarchy/MoveMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { SelectionWithPath } from '../Modal/types.js'\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentSelection } from '../../../providers/DocumentSelection/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { requests } from '../../../utilities/api.js'\nimport {\n getEffectiveHierarchyCollections,\n getHierarchyCollectionRestrictions,\n} from '../../../utilities/hierarchyCollectionRestrictions.js'\nimport { ConfirmationModal } from '../../ConfirmationModal/index.js'\nimport { ListSelectionButton } from '../../ListSelection/index.js'\nimport { Translation } from '../../Translation/index.js'\nimport { useHierarchyModal } from '../Modal/useHierarchyModal.js'\n\nexport const baseClass = 'move-many'\n\ntype MoveManyProps = {\n /** Current parent ID - modal will open expanded to this location */\n currentParentID?: null | number | string\n /** The hierarchy collection slug (e.g., 'folders') */\n hierarchySlug: string\n /** Icon to display in the hierarchy modal */\n Icon?: React.ReactNode\n /** When multiple MoveMany components are rendered on the page, this will differentiate them */\n modalPrefix?: string\n /** Callback after successful move */\n onSuccess?: () => void\n /** Collection slugs required by the selected documents at the destination. */\n requiredCollections?: string[]\n /** Selections grouped by collection slug */\n selections: Record<string, { ids: (number | string)[] }>\n}\n\n/**\n * Gets the parent field name from the hierarchy config.\n */\nfunction getParentFieldName(\n hierarchyConfig: ClientCollectionConfig | undefined,\n): string | undefined {\n const config =\n hierarchyConfig?.hierarchy && typeof hierarchyConfig.hierarchy === 'object'\n ? hierarchyConfig.hierarchy\n : undefined\n return config?.parentFieldName\n}\n\nexport function MoveMany({\n currentParentID,\n hierarchySlug,\n Icon,\n modalPrefix,\n onSuccess,\n requiredCollections: requiredCollectionsProp,\n selections,\n}: MoveManyProps) {\n const { i18n, t } = useTranslation()\n const currentLocale = useLocale()\n const locale = currentLocale?.code\n const { openModal } = useModal()\n const {\n config: {\n collections,\n routes: { api },\n },\n } = useConfig()\n\n const { getSelectionsWithMetadata } = useDocumentSelection()\n const hierarchyCollectionConfig = collections.find((c) => c.slug === hierarchySlug)\n\n const { relatedCollectionSlugs } = useMemo(\n () => getHierarchyCollectionRestrictions({ collectionConfig: hierarchyCollectionConfig }),\n [hierarchyCollectionConfig],\n )\n\n const [destination, setDestination] = useState<{\n id: null | number | string\n title: string\n } | null>(null)\n\n const confirmMoveDrawerSlug = `${modalPrefix ? `${modalPrefix}-` : ''}confirm-move-many`\n\n // Compute required collections from selection metadata\n // For related items: add their collection slug\n // For folders: add their allowedCollections values\n const inferredRequiredCollections = useMemo(() => {\n const selectionsWithMeta = getSelectionsWithMetadata()\n const required = new Set<string>()\n\n for (const [collectionSlug, { selections: items }] of Object.entries(selectionsWithMeta)) {\n if (collectionSlug === hierarchySlug) {\n // For folders, add their allowedCollections to required set\n for (const { metadata } of items) {\n for (const slug of getEffectiveHierarchyCollections({\n allowedCollections: metadata.allowedCollections,\n relatedCollectionSlugs,\n })) {\n required.add(slug)\n }\n }\n } else {\n // For related items, add their collection slug\n required.add(collectionSlug)\n }\n }\n\n return required.size > 0 ? Array.from(required) : undefined\n }, [getSelectionsWithMetadata, hierarchySlug, relatedCollectionSlugs])\n\n const requiredCollections = requiredCollectionsProp ?? inferredRequiredCollections\n\n // Folders being moved cannot be selected as destination (can't move into themselves)\n const disabledIds = useMemo(() => {\n const parentIds = selections[hierarchySlug]?.ids\n return parentIds?.length ? new Set(parentIds) : undefined\n }, [selections, hierarchySlug])\n\n const [HierarchyModal, , { closeModal, openModal: openHierarchyModal }] = useHierarchyModal({\n disabledIds,\n filterByCollection: requiredCollections,\n hierarchyCollectionSlug: hierarchySlug,\n Icon,\n })\n\n // Calculate total count and label\n const { count, label } = useMemo(() => {\n let totalCount = 0\n const labels: string[] = []\n\n for (const [collectionSlug, { ids }] of Object.entries(selections)) {\n const config = collections.find((c) => c.slug === collectionSlug)\n\n if (config && ids.length > 0) {\n totalCount += ids.length\n const collectionLabel = getTranslation(\n ids.length > 1 ? config.labels.plural : config.labels.singular,\n i18n,\n )\n labels.push(collectionLabel)\n }\n }\n\n return {\n count: totalCount,\n label: labels.join(', '),\n }\n }, [selections, collections, i18n])\n\n const parentFieldName = getParentFieldName(hierarchyCollectionConfig)\n\n // Check if hierarchy has a valid parentFieldName\n const canMove = parentFieldName !== undefined\n\n const handleDrawerSave = useCallback(\n ({ selections: selectionsMap }: { selections: Map<number | string, SelectionWithPath> }) => {\n if (selectionsMap.size === 0) {\n return\n }\n\n const firstSelection = selectionsMap.values().next().value\n const destinationId = firstSelection?.id\n const destinationTitle =\n firstSelection?.path?.[firstSelection.path.length - 1]?.title || String(destinationId)\n\n setDestination({ id: destinationId, title: destinationTitle })\n openModal(confirmMoveDrawerSlug)\n },\n [openModal, confirmMoveDrawerSlug],\n )\n\n const handleMoveToRoot = useCallback(() => {\n setDestination({ id: null, title: t('hierarchy:noParent') })\n openModal(confirmMoveDrawerSlug)\n }, [openModal, confirmMoveDrawerSlug, t])\n\n const handleConfirmMove = useCallback(async () => {\n if (destination === null) {\n return\n }\n\n let totalMoved = 0\n let hasErrors = false\n\n try {\n for (const [collectionSlug, { ids }] of Object.entries(selections)) {\n if (ids.length === 0) {\n continue\n }\n\n const queryString = qs.stringify(\n {\n locale,\n where: { id: { in: ids } },\n },\n { addQueryPrefix: true },\n )\n\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${queryString}`,\n })\n\n const response = await requests.patch(url, {\n body: JSON.stringify({ [parentFieldName]: destination.id }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n credentials: 'include',\n },\n })\n\n const json = await response.json()\n\n if (response.status >= 400) {\n hasErrors = true\n\n if (json?.errors?.length > 0) {\n toast.error(json.message || t('error:unknown'), {\n description: json.errors\n .map((error: { message: string }) => error.message)\n .join('\\n'),\n })\n } else {\n toast.error(json?.message || t('error:unknown'))\n }\n\n continue\n }\n\n const movedCount = json?.docs?.length || 0\n totalMoved += movedCount\n\n if (json?.errors?.length > 0) {\n hasErrors = true\n toast.error(json.message, {\n description: json.errors.map((error: { message: string }) => error.message).join('\\n'),\n })\n }\n }\n\n if (totalMoved > 0) {\n const successKey =\n destination.id === null ? 'hierarchy:itemsMovedToRoot' : 'hierarchy:itemsMovedTo'\n\n toast.success(\n t(successKey, {\n destination: destination.title,\n title: label,\n }),\n )\n }\n\n if (!hasErrors || totalMoved > 0) {\n closeModal()\n onSuccess?.()\n }\n } catch (_err) {\n toast.error(t('error:unknown'))\n } finally {\n setDestination(null)\n }\n }, [closeModal, destination, selections, parentFieldName, locale, api, i18n, t, label, onSuccess])\n\n if (count === 0 || !canMove) {\n return null\n }\n\n return (\n <React.Fragment>\n <ListSelectionButton\n aria-label={t('general:move')}\n className={`${baseClass}__toggle`}\n onClick={openHierarchyModal}\n >\n {t('general:move')}\n </ListSelectionButton>\n <HierarchyModal\n hasMany={false}\n initialSelections={currentParentID ? [currentParentID] : null}\n onMoveToRoot={handleMoveToRoot}\n onSave={handleDrawerSave}\n showMoveToRoot\n />\n <ConfirmationModal\n body={\n <p>\n {destination?.id === null ? (\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"hierarchy:moveItemsToRootConfirmation\"\n t={t}\n variables={{\n count,\n label,\n }}\n />\n ) : (\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:moveConfirm\"\n t={t}\n variables={{\n count,\n destination: destination?.title || '',\n label,\n }}\n />\n )}\n </p>\n }\n confirmingLabel={t('general:moving')}\n heading={t('general:confirmMove')}\n modalSlug={confirmMoveDrawerSlug}\n onConfirm={handleConfirmMove}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","formatAdminURL","qs","React","useCallback","useMemo","useRef","useState","toast","useConfig","useDocumentSelection","useLocale","useTranslation","requests","getEffectiveHierarchyCollections","getHierarchyCollectionRestrictions","ListSelectionButton","HierarchyActionsMenu","useHierarchyModal","baseClass","getParentFieldName","hierarchyConfig","config","hierarchy","undefined","parentFieldName","MoveMany","currentParentID","hierarchySlug","Icon","onSuccess","requiredCollections","requiredCollectionsProp","selections","i18n","t","currentLocale","locale","code","collections","routes","api","getSelectionsWithMetadata","hierarchyCollectionConfig","find","c","slug","relatedCollectionSlugs","collectionConfig","inferredRequiredCollections","selectionsWithMeta","required","Set","collectionSlug","items","Object","entries","metadata","allowedCollections","add","size","Array","from","disabledIds","parentIds","ids","length","HierarchyModal","closeModal","openModal","openHierarchyModal","filterByCollection","hierarchyCollectionSlug","count","label","modalTitleLabel","totalCount","labels","collectionLabel","plural","singular","push","join","canMove","hierarchyLabel","isMovingRef","isMoving","setIsMoving","moveDocuments","destination","current","totalMoved","hasErrors","queryString","stringify","where","id","in","addQueryPrefix","url","apiRoute","path","response","patch","body","JSON","headers","language","credentials","json","status","errors","error","message","description","map","movedCount","docs","successKey","success","title","_err","handleModalSave","selectionsMap","firstSelection","values","next","value","destinationTitle","String","handleMoveToRoot","canRemoveFromHierarchy","initialSelections","_jsxs","Fragment","_jsx","hasActions","onMove","onRemove","renderTrigger","triggerProps","className","extraButtonProps","onClick","selected","showActionIcons","confirmLabel","hasMany","isBusy","onMoveToRoot","onSave","showMoveToRoot"],"sources":["../../../../src/elements/Hierarchy/MoveMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { SelectionWithPath } from '../Modal/types.js'\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentSelection } from '../../../providers/DocumentSelection/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { requests } from '../../../utilities/api.js'\nimport {\n getEffectiveHierarchyCollections,\n getHierarchyCollectionRestrictions,\n} from '../../../utilities/hierarchyCollectionRestrictions.js'\nimport { ListSelectionButton } from '../../ListSelection/index.js'\nimport { HierarchyActionsMenu } from '../ActionsMenu/index.js'\nimport { useHierarchyModal } from '../Modal/useHierarchyModal.js'\n\nexport const baseClass = 'move-many'\n\ntype MoveManyProps = {\n /** Current parent ID - modal will open expanded to this location */\n currentParentID?: null | number | string\n /** The hierarchy collection slug (e.g., 'folders') */\n hierarchySlug: string\n /** Icon to display in the hierarchy modal */\n Icon?: React.ReactNode\n /** Callback after successful move */\n onSuccess?: () => void\n /** Collection slugs required by the selected documents at the destination. */\n requiredCollections?: string[]\n /** Selections grouped by collection slug */\n selections: Record<string, { ids: (number | string)[] }>\n}\n\n/**\n * Gets the parent field name from the hierarchy config.\n */\nfunction getParentFieldName(\n hierarchyConfig: ClientCollectionConfig | undefined,\n): string | undefined {\n const config =\n hierarchyConfig?.hierarchy && typeof hierarchyConfig.hierarchy === 'object'\n ? hierarchyConfig.hierarchy\n : undefined\n return config?.parentFieldName\n}\n\nexport function MoveMany({\n currentParentID,\n hierarchySlug,\n Icon,\n onSuccess,\n requiredCollections: requiredCollectionsProp,\n selections,\n}: MoveManyProps) {\n const { i18n, t } = useTranslation()\n const currentLocale = useLocale()\n const locale = currentLocale?.code\n const {\n config: {\n collections,\n routes: { api },\n },\n } = useConfig()\n\n const { getSelectionsWithMetadata } = useDocumentSelection()\n const hierarchyCollectionConfig = collections.find((c) => c.slug === hierarchySlug)\n\n const { relatedCollectionSlugs } = useMemo(\n () => getHierarchyCollectionRestrictions({ collectionConfig: hierarchyCollectionConfig }),\n [hierarchyCollectionConfig],\n )\n\n // Compute required collections from selection metadata\n // For related items: add their collection slug\n // For folders: add their allowedCollections values\n const inferredRequiredCollections = useMemo(() => {\n const selectionsWithMeta = getSelectionsWithMetadata()\n const required = new Set<string>()\n\n for (const [collectionSlug, { selections: items }] of Object.entries(selectionsWithMeta)) {\n if (collectionSlug === hierarchySlug) {\n // For folders, add their allowedCollections to required set\n for (const { metadata } of items) {\n for (const slug of getEffectiveHierarchyCollections({\n allowedCollections: metadata.allowedCollections,\n relatedCollectionSlugs,\n })) {\n required.add(slug)\n }\n }\n } else {\n // For related items, add their collection slug\n required.add(collectionSlug)\n }\n }\n\n return required.size > 0 ? Array.from(required) : undefined\n }, [getSelectionsWithMetadata, hierarchySlug, relatedCollectionSlugs])\n\n const requiredCollections = requiredCollectionsProp ?? inferredRequiredCollections\n\n // Folders being moved cannot be selected as destination (can't move into themselves)\n const disabledIds = useMemo(() => {\n const parentIds = selections[hierarchySlug]?.ids\n return parentIds?.length ? new Set(parentIds) : undefined\n }, [selections, hierarchySlug])\n\n const [HierarchyModal, , { closeModal, openModal: openHierarchyModal }] = useHierarchyModal({\n disabledIds,\n filterByCollection: requiredCollections,\n hierarchyCollectionSlug: hierarchySlug,\n Icon,\n })\n\n // Calculate total count and label\n const { count, label, modalTitleLabel } = useMemo(() => {\n let totalCount = 0\n const labels: string[] = []\n\n for (const [collectionSlug, { ids }] of Object.entries(selections)) {\n const config = collections.find((c) => c.slug === collectionSlug)\n\n if (config && ids.length > 0) {\n totalCount += ids.length\n const collectionLabel = getTranslation(\n ids.length > 1 ? config.labels.plural : config.labels.singular,\n i18n,\n )\n labels.push(collectionLabel)\n }\n }\n\n return {\n count: totalCount,\n label: labels.join(', '),\n modalTitleLabel:\n labels.length === 1\n ? labels[0]\n : t(totalCount === 1 ? 'general:document' : 'general:documents'),\n }\n }, [selections, collections, i18n, t])\n\n const parentFieldName = getParentFieldName(hierarchyCollectionConfig)\n\n // Check if hierarchy has a valid parentFieldName\n const canMove = parentFieldName !== undefined\n\n const hierarchyLabel =\n getTranslation(hierarchyCollectionConfig?.labels?.singular || hierarchySlug, i18n) ||\n hierarchySlug\n const isMovingRef = useRef(false)\n const [isMoving, setIsMoving] = useState(false)\n\n const moveDocuments = useCallback(\n async (destination: { id: null | number | string; title: string }) => {\n // A ref, not state, so a second click in the same frame still sees the first move\n if (isMovingRef.current) {\n return\n }\n\n isMovingRef.current = true\n setIsMoving(true)\n\n let totalMoved = 0\n let hasErrors = false\n\n try {\n for (const [collectionSlug, { ids }] of Object.entries(selections)) {\n if (ids.length === 0) {\n continue\n }\n\n const queryString = qs.stringify(\n {\n locale,\n where: { id: { in: ids } },\n },\n { addQueryPrefix: true },\n )\n\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${queryString}`,\n })\n\n const response = await requests.patch(url, {\n body: JSON.stringify({ [parentFieldName]: destination.id }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n credentials: 'include',\n },\n })\n\n const json = await response.json()\n\n if (response.status >= 400) {\n hasErrors = true\n\n if (json?.errors?.length > 0) {\n toast.error(json.message || t('error:unknown'), {\n description: json.errors\n .map((error: { message: string }) => error.message)\n .join('\\n'),\n })\n } else {\n toast.error(json?.message || t('error:unknown'))\n }\n\n continue\n }\n\n const movedCount = json?.docs?.length || 0\n totalMoved += movedCount\n\n if (json?.errors?.length > 0) {\n hasErrors = true\n toast.error(json.message, {\n description: json.errors\n .map((error: { message: string }) => error.message)\n .join('\\n'),\n })\n }\n }\n\n if (totalMoved > 0) {\n const successKey =\n destination.id === null ? 'hierarchy:itemsMovedToRoot' : 'hierarchy:itemsMovedTo'\n\n toast.success(\n t(successKey, {\n destination: destination.title,\n title: label,\n }),\n )\n }\n\n if (!hasErrors || totalMoved > 0) {\n closeModal()\n onSuccess?.()\n }\n } catch (_err) {\n toast.error(t('error:unknown'))\n } finally {\n isMovingRef.current = false\n setIsMoving(false)\n }\n },\n [closeModal, selections, parentFieldName, locale, api, i18n, t, label, onSuccess],\n )\n\n const handleModalSave = useCallback(\n ({ selections: selectionsMap }: { selections: Map<number | string, SelectionWithPath> }) => {\n const firstSelection = selectionsMap.values().next().value\n\n if (!firstSelection) {\n return\n }\n\n const destinationTitle =\n firstSelection.path[firstSelection.path.length - 1]?.title || String(firstSelection.id)\n\n void moveDocuments({ id: firstSelection.id, title: destinationTitle })\n },\n [moveDocuments],\n )\n\n const handleMoveToRoot = useCallback(() => {\n void moveDocuments({ id: null, title: t('hierarchy:noParent') })\n }, [moveDocuments, t])\n\n const canRemoveFromHierarchy = currentParentID !== null && currentParentID !== undefined\n const initialSelections =\n currentParentID === null || currentParentID === undefined ? undefined : [currentParentID]\n\n if (count === 0 || !canMove) {\n return null\n }\n\n return (\n <React.Fragment>\n <HierarchyActionsMenu\n hasActions={canRemoveFromHierarchy}\n hierarchyLabel={hierarchyLabel}\n onMove={openHierarchyModal}\n onRemove={handleMoveToRoot}\n renderTrigger={(triggerProps) => (\n <ListSelectionButton\n aria-label={t('general:move')}\n className={`${baseClass}__toggle`}\n extraButtonProps={triggerProps?.extraButtonProps}\n onClick={triggerProps?.onClick ?? openHierarchyModal}\n selected={triggerProps?.selected}\n >\n {t('general:move')}\n </ListSelectionButton>\n )}\n showActionIcons\n />\n <HierarchyModal\n confirmLabel={t('general:confirm')}\n hasMany={false}\n initialSelections={initialSelections}\n isBusy={isMoving}\n onMoveToRoot={handleMoveToRoot}\n onSave={handleModalSave}\n showMoveToRoot\n title={t('general:moveCount', { count, label: modalTitleLabel })}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,16 +3,6 @@ export type ListControlsProps = {
3
3
  readonly beforeActions?: React.ReactNode[];
4
4
  readonly collectionConfig: ClientCollectionConfig;
5
5
  readonly collectionSlug: string;
6
- /**
7
- * @deprecated
8
- * These are now handled by the `ListSelection` component
9
- */
10
- readonly disableBulkDelete?: boolean;
11
- /**
12
- * @deprecated
13
- * These are now handled by the `ListSelection` component
14
- */
15
- readonly disableBulkEdit?: boolean;
16
6
  readonly disableQueryPresets?: boolean;
17
7
  readonly enableColumns?: boolean;
18
8
  readonly enableFilters?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,WAAW,EACX,qBAAqB,EACrB,6BAA6B,EAC7B,SAAS,EACT,KAAK,EACN,MAAM,SAAS,CAAA;AAEhB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;IACjD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,6BAA6B,CAAA;IAC/D,QAAQ,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IACvD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;IACnE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAC9B,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,WAAW,EACX,qBAAqB,EACrB,6BAA6B,EAC7B,SAAS,EACT,KAAK,EACN,MAAM,SAAS,CAAA;AAEhB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;IACjD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,6BAA6B,CAAA;IAC/D,QAAQ,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IACvD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;IACnE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAC9B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ListControls/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n QueryPreset,\n ResolvedFilterOptions,\n SanitizedCollectionPermission,\n ViewTypes,\n Where,\n} from 'payload'\n\nexport type ListControlsProps = {\n readonly beforeActions?: React.ReactNode[]\n readonly collectionConfig: ClientCollectionConfig\n readonly collectionSlug: string\n /**\n * @deprecated\n * These are now handled by the `ListSelection` component\n */\n readonly disableBulkDelete?: boolean\n /**\n * @deprecated\n * These are now handled by the `ListSelection` component\n */\n readonly disableBulkEdit?: boolean\n readonly disableQueryPresets?: boolean\n readonly enableColumns?: boolean\n readonly enableFilters?: boolean\n readonly enableSort?: boolean\n readonly handleSearchChange?: (search: string) => void\n readonly handleSortChange?: (sort: string) => void\n readonly handleWhereChange?: (where: Where) => void\n readonly hasCreatePermission?: boolean\n readonly hasDeletePermission?: boolean\n readonly isWhereOpen?: boolean\n readonly layoutToggle?: React.ReactNode\n readonly listMenuItems?: React.ReactNode[]\n readonly newDocumentURL?: string\n readonly onWhereToggle?: () => void\n readonly queryPreset?: QueryPreset\n readonly queryPresetPermissions?: SanitizedCollectionPermission\n readonly renderedFilters?: Map<string, React.ReactNode>\n readonly resolvedFilterOptions?: Map<string, ResolvedFilterOptions>\n readonly viewType?: ViewTypes\n}\n"],"mappings":"AASA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ListControls/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n QueryPreset,\n ResolvedFilterOptions,\n SanitizedCollectionPermission,\n ViewTypes,\n Where,\n} from 'payload'\n\nexport type ListControlsProps = {\n readonly beforeActions?: React.ReactNode[]\n readonly collectionConfig: ClientCollectionConfig\n readonly collectionSlug: string\n readonly disableQueryPresets?: boolean\n readonly enableColumns?: boolean\n readonly enableFilters?: boolean\n readonly enableSort?: boolean\n readonly handleSearchChange?: (search: string) => void\n readonly handleSortChange?: (sort: string) => void\n readonly handleWhereChange?: (where: Where) => void\n readonly hasCreatePermission?: boolean\n readonly hasDeletePermission?: boolean\n readonly isWhereOpen?: boolean\n readonly layoutToggle?: React.ReactNode\n readonly listMenuItems?: React.ReactNode[]\n readonly newDocumentURL?: string\n readonly onWhereToggle?: () => void\n readonly queryPreset?: QueryPreset\n readonly queryPresetPermissions?: SanitizedCollectionPermission\n readonly renderedFilters?: Map<string, React.ReactNode>\n readonly resolvedFilterOptions?: Map<string, ResolvedFilterOptions>\n readonly viewType?: ViewTypes\n}\n"],"mappings":"AASA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAG/D,OAAO,KAAK,EACV,eAAe,EAGhB,MAAM,YAAY,CAAA;AAUnB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAiMvD,CAAA"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAG/D,OAAO,KAAK,EACV,eAAe,EAGhB,MAAM,YAAY,CAAA;AAUnB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAgMvD,CAAA"}
@@ -130,8 +130,7 @@ export const ListDrawerContent = ({
130
130
  if (typeof onSelect === 'function') {
131
131
  onSelect({
132
132
  collectionSlug: selectedOption?.value,
133
- doc,
134
- docID: doc.id
133
+ doc
135
134
  });
136
135
  }
137
136
  closeModal(documentDrawerSlug);
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["useModal","hoistQueryParamsToAnd","React","useCallback","useEffect","useState","useDocumentDrawer","useEffectEvent","useConfig","useServerFunctions","ListDrawerContextProvider","LoadingOverlay","ListDrawerContent","allowCreate","collectionSlugs","disableQueryPresets","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","overrideEntityVisibility","selectedCollection","collectionSlugFromProps","closeModal","isModalOpen","serverFunction","ListView","setListView","undefined","isLoading","setIsLoading","config","collections","getEntityConfig","isOpen","enabledCollections","filter","slug","includes","selectedOption","setSelectedOption","initialSelection","found","collectionSlug","label","labels","value","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","updateSelectedOption","refresh","query","newQuery","where","filterOption","result","name","args","disableBulkDelete","disableBulkEdit","List","_err","console","error","onCreateNew","doc","docID","id","onQueryChange","setMySelectedOption","incomingSelection","refreshSelf","incomingCollectionSlug","_jsxs","createNewDrawerSlug","selected","_Fragment","_jsx","className","onSave","animationDuration","overlayType","show"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { CollectionSlug, ListQuery } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { hoistQueryParamsToAnd } from 'payload/shared'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { ListDrawerContextProps, ListDrawerContextType } from '../ListDrawer/Provider.js'\nimport type {\n ListDrawerProps,\n RenderListServerFnArgs,\n RenderListServerFnReturnType,\n} from './types.js'\n\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { ListDrawerContextProvider } from '../ListDrawer/Provider.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { type Option } from '../ReactSelect/index.js'\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n allowCreate = true,\n collectionSlugs,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n overrideEntityVisibility = true,\n selectedCollection: collectionSlugFromProps,\n}) => {\n const { closeModal, isModalOpen } = useModal()\n\n const { serverFunction } = useServerFunctions()\n const [ListView, setListView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n\n const {\n config: { collections },\n getEntityConfig,\n } = useConfig()\n\n const isOpen = isModalOpen(drawerSlug)\n\n const enabledCollections = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedOption, setSelectedOption] = useState<Option<string>>(() => {\n const initialSelection = collectionSlugFromProps || enabledCollections[0]?.slug\n const found = getEntityConfig({ collectionSlug: initialSelection })\n\n return found\n ? {\n label: found.labels,\n value: found.slug,\n }\n : undefined\n })\n\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedOption.value,\n })\n\n const updateSelectedOption = useEffectEvent((collectionSlug: CollectionSlug) => {\n if (collectionSlug && collectionSlug !== selectedOption?.value) {\n setSelectedOption({\n label: getEntityConfig({ collectionSlug })?.labels,\n value: collectionSlug,\n })\n }\n })\n\n useEffect(() => {\n updateSelectedOption(collectionSlugFromProps)\n }, [collectionSlugFromProps])\n\n /**\n * This performs a full server round trip to get the list view for the selected collection.\n * On the server, the data is freshly queried for the list view and all components are fully rendered.\n * This work includes building column state, rendering custom components, etc.\n */\n const refresh = useCallback(\n async ({ slug, query }: { query?: ListQuery; slug: string }) => {\n try {\n const newQuery: ListQuery = { ...(query || {}), where: { ...(query?.where || {}) } }\n\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOption)\n }\n\n if (slug) {\n const result: RenderListServerFnReturnType = (await serverFunction({\n name: 'render-list',\n args: {\n collectionSlug: slug,\n disableBulkDelete: true,\n disableBulkEdit: true,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n overrideEntityVisibility,\n query: newQuery,\n } satisfies RenderListServerFnArgs,\n })) as RenderListServerFnReturnType\n\n setListView(result?.List || null)\n } else {\n setListView(null)\n }\n setIsLoading(false)\n } catch (_err) {\n console.error('Error rendering List View: ', _err) // eslint-disable-line no-console\n\n if (isOpen) {\n closeModal(drawerSlug)\n }\n }\n },\n [\n serverFunction,\n closeModal,\n drawerSlug,\n isOpen,\n enableRowSelections,\n filterOptions,\n overrideEntityVisibility,\n disableQueryPresets,\n ],\n )\n\n useEffect(() => {\n if (!ListView) {\n void refresh({ slug: selectedOption?.value })\n }\n }, [refresh, ListView, selectedOption.value])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedOption?.value,\n doc,\n docID: doc.id,\n })\n }\n\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedOption.value],\n )\n\n const onQueryChange: ListDrawerContextProps['onQueryChange'] = useCallback(\n (query) => {\n void refresh({ slug: selectedOption?.value, query })\n },\n [refresh, selectedOption.value],\n )\n\n const setMySelectedOption: ListDrawerContextProps['setSelectedOption'] = useCallback(\n (incomingSelection) => {\n setSelectedOption(incomingSelection)\n void refresh({ slug: incomingSelection?.value })\n },\n [refresh],\n )\n\n const refreshSelf: ListDrawerContextType['refresh'] = useCallback(\n async (incomingCollectionSlug) => {\n if (incomingCollectionSlug) {\n setSelectedOption({\n label: getEntityConfig({ collectionSlug: incomingCollectionSlug })?.labels,\n value: incomingCollectionSlug,\n })\n }\n\n await refresh({ slug: selectedOption.value || incomingCollectionSlug })\n },\n [getEntityConfig, refresh, selectedOption.value],\n )\n\n return (\n <ListDrawerContextProvider\n allowCreate={allowCreate}\n createNewDrawerSlug={documentDrawerSlug}\n DocumentDrawerToggler={DocumentDrawerToggler}\n drawerSlug={drawerSlug}\n enabledCollections={collectionSlugs}\n onBulkSelect={\n typeof onBulkSelect === 'function'\n ? (selected) => onBulkSelect(selected, selectedOption.value)\n : undefined\n }\n onQueryChange={onQueryChange}\n onSelect={onSelect}\n refresh={refreshSelf}\n selectedOption={selectedOption}\n setSelectedOption={setMySelectedOption}\n >\n {!isLoading && (\n <>\n <div className=\"drawer__fade-in\">{ListView}</div>\n <DocumentDrawer onSave={onCreateNew} />\n </>\n )}\n <LoadingOverlay animationDuration=\"200ms\" overlayType=\"drawer\" show={isLoading} />\n </ListDrawerContextProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["useModal","hoistQueryParamsToAnd","React","useCallback","useEffect","useState","useDocumentDrawer","useEffectEvent","useConfig","useServerFunctions","ListDrawerContextProvider","LoadingOverlay","ListDrawerContent","allowCreate","collectionSlugs","disableQueryPresets","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","overrideEntityVisibility","selectedCollection","collectionSlugFromProps","closeModal","isModalOpen","serverFunction","ListView","setListView","undefined","isLoading","setIsLoading","config","collections","getEntityConfig","isOpen","enabledCollections","filter","slug","includes","selectedOption","setSelectedOption","initialSelection","found","collectionSlug","label","labels","value","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","updateSelectedOption","refresh","query","newQuery","where","filterOption","result","name","args","disableBulkDelete","disableBulkEdit","List","_err","console","error","onCreateNew","doc","onQueryChange","setMySelectedOption","incomingSelection","refreshSelf","incomingCollectionSlug","_jsxs","createNewDrawerSlug","selected","_Fragment","_jsx","className","onSave","animationDuration","overlayType","show"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { CollectionSlug, ListQuery } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { hoistQueryParamsToAnd } from 'payload/shared'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { ListDrawerContextProps, ListDrawerContextType } from '../ListDrawer/Provider.js'\nimport type {\n ListDrawerProps,\n RenderListServerFnArgs,\n RenderListServerFnReturnType,\n} from './types.js'\n\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { ListDrawerContextProvider } from '../ListDrawer/Provider.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { type Option } from '../ReactSelect/index.js'\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n allowCreate = true,\n collectionSlugs,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n overrideEntityVisibility = true,\n selectedCollection: collectionSlugFromProps,\n}) => {\n const { closeModal, isModalOpen } = useModal()\n\n const { serverFunction } = useServerFunctions()\n const [ListView, setListView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n\n const {\n config: { collections },\n getEntityConfig,\n } = useConfig()\n\n const isOpen = isModalOpen(drawerSlug)\n\n const enabledCollections = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedOption, setSelectedOption] = useState<Option<string>>(() => {\n const initialSelection = collectionSlugFromProps || enabledCollections[0]?.slug\n const found = getEntityConfig({ collectionSlug: initialSelection })\n\n return found\n ? {\n label: found.labels,\n value: found.slug,\n }\n : undefined\n })\n\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedOption.value,\n })\n\n const updateSelectedOption = useEffectEvent((collectionSlug: CollectionSlug) => {\n if (collectionSlug && collectionSlug !== selectedOption?.value) {\n setSelectedOption({\n label: getEntityConfig({ collectionSlug })?.labels,\n value: collectionSlug,\n })\n }\n })\n\n useEffect(() => {\n updateSelectedOption(collectionSlugFromProps)\n }, [collectionSlugFromProps])\n\n /**\n * This performs a full server round trip to get the list view for the selected collection.\n * On the server, the data is freshly queried for the list view and all components are fully rendered.\n * This work includes building column state, rendering custom components, etc.\n */\n const refresh = useCallback(\n async ({ slug, query }: { query?: ListQuery; slug: string }) => {\n try {\n const newQuery: ListQuery = { ...(query || {}), where: { ...(query?.where || {}) } }\n\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOption)\n }\n\n if (slug) {\n const result: RenderListServerFnReturnType = (await serverFunction({\n name: 'render-list',\n args: {\n collectionSlug: slug,\n disableBulkDelete: true,\n disableBulkEdit: true,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n overrideEntityVisibility,\n query: newQuery,\n } satisfies RenderListServerFnArgs,\n })) as RenderListServerFnReturnType\n\n setListView(result?.List || null)\n } else {\n setListView(null)\n }\n setIsLoading(false)\n } catch (_err) {\n console.error('Error rendering List View: ', _err) // eslint-disable-line no-console\n\n if (isOpen) {\n closeModal(drawerSlug)\n }\n }\n },\n [\n serverFunction,\n closeModal,\n drawerSlug,\n isOpen,\n enableRowSelections,\n filterOptions,\n overrideEntityVisibility,\n disableQueryPresets,\n ],\n )\n\n useEffect(() => {\n if (!ListView) {\n void refresh({ slug: selectedOption?.value })\n }\n }, [refresh, ListView, selectedOption.value])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedOption?.value,\n doc,\n })\n }\n\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedOption.value],\n )\n\n const onQueryChange: ListDrawerContextProps['onQueryChange'] = useCallback(\n (query) => {\n void refresh({ slug: selectedOption?.value, query })\n },\n [refresh, selectedOption.value],\n )\n\n const setMySelectedOption: ListDrawerContextProps['setSelectedOption'] = useCallback(\n (incomingSelection) => {\n setSelectedOption(incomingSelection)\n void refresh({ slug: incomingSelection?.value })\n },\n [refresh],\n )\n\n const refreshSelf: ListDrawerContextType['refresh'] = useCallback(\n async (incomingCollectionSlug) => {\n if (incomingCollectionSlug) {\n setSelectedOption({\n label: getEntityConfig({ collectionSlug: incomingCollectionSlug })?.labels,\n value: incomingCollectionSlug,\n })\n }\n\n await refresh({ slug: selectedOption.value || incomingCollectionSlug })\n },\n [getEntityConfig, refresh, selectedOption.value],\n )\n\n return (\n <ListDrawerContextProvider\n allowCreate={allowCreate}\n createNewDrawerSlug={documentDrawerSlug}\n DocumentDrawerToggler={DocumentDrawerToggler}\n drawerSlug={drawerSlug}\n enabledCollections={collectionSlugs}\n onBulkSelect={\n typeof onBulkSelect === 'function'\n ? (selected) => onBulkSelect(selected, selectedOption.value)\n : undefined\n }\n onQueryChange={onQueryChange}\n onSelect={onSelect}\n refresh={refreshSelf}\n selectedOption={selectedOption}\n setSelectedOption={setMySelectedOption}\n >\n {!isLoading && (\n <>\n <div className=\"drawer__fade-in\">{ListView}</div>\n <DocumentDrawer onSave={onCreateNew} />\n </>\n )}\n <LoadingOverlay animationDuration=\"200ms\" overlayType=\"drawer\" show={isLoading} />\n </ListDrawerContextProvider>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,QAAQ,QAAQ;AACzB,SAASC,qBAAqB,QAAQ;AACtC,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ;AASxD,SAASC,iBAAiB,QAAQ;AAClC,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAC1B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,cAAc,QAAQ;AAG/B,OAAO,MAAMC,iBAAA,GAA+CA,CAAC;EAC3DC,WAAA,GAAc,IAAI;EAClBC,eAAe;EACfC,mBAAmB;EACnBC,UAAU;EACVC,mBAAmB;EACnBC,aAAa;EACbC,YAAY;EACZC,QAAQ;EACRC,wBAAA,GAA2B,IAAI;EAC/BC,kBAAA,EAAoBC;AAAuB,CAC5C;EACC,MAAM;IAAEC,UAAU;IAAEC;EAAW,CAAE,GAAGzB,QAAA;EAEpC,MAAM;IAAE0B;EAAc,CAAE,GAAGjB,kBAAA;EAC3B,MAAM,CAACkB,QAAA,EAAUC,WAAA,CAAY,GAAGvB,QAAA,CAA0BwB,SAAA;EAC1D,MAAM,CAACC,SAAA,EAAWC,YAAA,CAAa,GAAG1B,QAAA,CAAS;EAE3C,MAAM;IACJ2B,MAAA,EAAQ;MAAEC;IAAW,CAAE;IACvBC;EAAe,CAChB,GAAG1B,SAAA;EAEJ,MAAM2B,MAAA,GAASV,WAAA,CAAYT,UAAA;EAE3B,MAAMoB,kBAAA,GAAqBH,WAAA,CAAYI,MAAM,CAAC,CAAC;IAAEC;EAAI,CAAE;IACrD,OAAOxB,eAAA,CAAgByB,QAAQ,CAACD,IAAA;EAClC;EAEA,MAAM,CAACE,cAAA,EAAgBC,iBAAA,CAAkB,GAAGpC,QAAA,CAAyB;IACnE,MAAMqC,gBAAA,GAAmBnB,uBAAA,IAA2Ba,kBAAkB,CAAC,EAAE,EAAEE,IAAA;IAC3E,MAAMK,KAAA,GAAQT,eAAA,CAAgB;MAAEU,cAAA,EAAgBF;IAAiB;IAEjE,OAAOC,KAAA,GACH;MACEE,KAAA,EAAOF,KAAA,CAAMG,MAAM;MACnBC,KAAA,EAAOJ,KAAA,CAAML;IACf,IACAT,SAAA;EACN;EAEA,MAAM,CAACmB,cAAA,EAAgBC,qBAAA,EAAuB;IAAEjC,UAAA,EAAYkC;EAAkB,CAAE,CAAC,GAC/E5C,iBAAA,CAAkB;IAChBsC,cAAA,EAAgBJ,cAAA,CAAeO;EACjC;EAEF,MAAMI,oBAAA,GAAuB5C,cAAA,CAAgBqC,cAAA;IAC3C,IAAIA,cAAA,IAAkBA,cAAA,KAAmBJ,cAAA,EAAgBO,KAAA,EAAO;MAC9DN,iBAAA,CAAkB;QAChBI,KAAA,EAAOX,eAAA,CAAgB;UAAEU;QAAe,IAAIE,MAAA;QAC5CC,KAAA,EAAOH;MACT;IACF;EACF;EAEAxC,SAAA,CAAU;IACR+C,oBAAA,CAAqB5B,uBAAA;EACvB,GAAG,CAACA,uBAAA,CAAwB;EAE5B;;;;;EAKA,MAAM6B,OAAA,GAAUjD,WAAA,CACd,OAAO;IAAEmC,IAAI,EAAJA,MAAI;IAAEe;EAAK,CAAuC;IACzD,IAAI;MACF,MAAMC,QAAA,GAAsB;QAAE,IAAID,KAAA,IAAS,CAAC,CAAC;QAAGE,KAAA,EAAO;UAAE,IAAIF,KAAA,EAAOE,KAAA,IAAS,CAAC,CAAC;QAAE;MAAE;MAEnF,MAAMC,YAAA,GAAetC,aAAA,GAAgBoB,MAAA,CAAK;MAE1C,IAAIpB,aAAA,IAAiB,OAAOsC,YAAA,KAAiB,WAAW;QACtDF,QAAA,CAASC,KAAK,GAAGtD,qBAAA,CAAsBqD,QAAA,CAASC,KAAK,EAAEC,YAAA;MACzD;MAEA,IAAIlB,MAAA,EAAM;QACR,MAAMmB,MAAA,GAAwC,MAAM/B,cAAA,CAAe;UACjEgC,IAAA,EAAM;UACNC,IAAA,EAAM;YACJf,cAAA,EAAgBN,MAAA;YAChBsB,iBAAA,EAAmB;YACnBC,eAAA,EAAiB;YACjB9C,mBAAA;YACAC,UAAA;YACAC,mBAAA;YACAI,wBAAA;YACAgC,KAAA,EAAOC;UACT;QACF;QAEA1B,WAAA,CAAY6B,MAAA,EAAQK,IAAA,IAAQ;MAC9B,OAAO;QACLlC,WAAA,CAAY;MACd;MACAG,YAAA,CAAa;IACf,EAAE,OAAOgC,IAAA,EAAM;MACbC,OAAA,CAAQC,KAAK,CAAC,+BAA+BF,IAAA,GAAM;MAEnD,IAAI5B,MAAA,EAAQ;QACVX,UAAA,CAAWR,UAAA;MACb;IACF;EACF,GACA,CACEU,cAAA,EACAF,UAAA,EACAR,UAAA,EACAmB,MAAA,EACAlB,mBAAA,EACAC,aAAA,EACAG,wBAAA,EACAN,mBAAA,CACD;EAGHX,SAAA,CAAU;IACR,IAAI,CAACuB,QAAA,EAAU;MACb,KAAKyB,OAAA,CAAQ;QAAEd,IAAA,EAAME,cAAA,EAAgBO;MAAM;IAC7C;EACF,GAAG,CAACK,OAAA,EAASzB,QAAA,EAAUa,cAAA,CAAeO,KAAK,CAAC;EAE5C,MAAMmB,WAAA,GAAc/D,WAAA,CAClB,CAAC;IAAEgE;EAAG,CAAE;IACN,IAAI,OAAO/C,QAAA,KAAa,YAAY;MAClCA,QAAA,CAAS;QACPwB,cAAA,EAAgBJ,cAAA,EAAgBO,KAAA;QAChCoB;MACF;IACF;IAEA3C,UAAA,CAAW0B,kBAAA;IACX1B,UAAA,CAAWR,UAAA;EACb,GACA,CAACQ,UAAA,EAAY0B,kBAAA,EAAoBlC,UAAA,EAAYI,QAAA,EAAUoB,cAAA,CAAeO,KAAK,CAAC;EAG9E,MAAMqB,aAAA,GAAyDjE,WAAA,CAC5DkD,OAAA;IACC,KAAKD,OAAA,CAAQ;MAAEd,IAAA,EAAME,cAAA,EAAgBO,KAAA;MAAOM,KAAA,EAAAA;IAAM;EACpD,GACA,CAACD,OAAA,EAASZ,cAAA,CAAeO,KAAK,CAAC;EAGjC,MAAMsB,mBAAA,GAAmElE,WAAA,CACtEmE,iBAAA;IACC7B,iBAAA,CAAkB6B,iBAAA;IAClB,KAAKlB,OAAA,CAAQ;MAAEd,IAAA,EAAMgC,iBAAA,EAAmBvB;IAAM;EAChD,GACA,CAACK,OAAA,CAAQ;EAGX,MAAMmB,WAAA,GAAgDpE,WAAA,CACpD,MAAOqE,sBAAA;IACL,IAAIA,sBAAA,EAAwB;MAC1B/B,iBAAA,CAAkB;QAChBI,KAAA,EAAOX,eAAA,CAAgB;UAAEU,cAAA,EAAgB4B;QAAuB,IAAI1B,MAAA;QACpEC,KAAA,EAAOyB;MACT;IACF;IAEA,MAAMpB,OAAA,CAAQ;MAAEd,IAAA,EAAME,cAAA,CAAeO,KAAK,IAAIyB;IAAuB;EACvE,GACA,CAACtC,eAAA,EAAiBkB,OAAA,EAASZ,cAAA,CAAeO,KAAK,CAAC;EAGlD,oBACE0B,KAAA,CAAC/D,yBAAA;IACCG,WAAA,EAAaA,WAAA;IACb6D,mBAAA,EAAqBxB,kBAAA;IACrBD,qBAAA,EAAuBA,qBAAA;IACvBjC,UAAA,EAAYA,UAAA;IACZoB,kBAAA,EAAoBtB,eAAA;IACpBK,YAAA,EACE,OAAOA,YAAA,KAAiB,aACnBwD,QAAA,IAAaxD,YAAA,CAAawD,QAAA,EAAUnC,cAAA,CAAeO,KAAK,IACzDlB,SAAA;IAENuC,aAAA,EAAeA,aAAA;IACfhD,QAAA,EAAUA,QAAA;IACVgC,OAAA,EAASmB,WAAA;IACT/B,cAAA,EAAgBA,cAAA;IAChBC,iBAAA,EAAmB4B,mBAAA;eAElB,CAACvC,SAAA,iBACA2C,KAAA,CAAAG,SAAA;8BACEC,IAAA,CAAC;QAAIC,SAAA,EAAU;kBAAmBnD;uBAClCkD,IAAA,CAAC7B,cAAA;QAAe+B,MAAA,EAAQb;;qBAG5BW,IAAA,CAAClE,cAAA;MAAeqE,iBAAA,EAAkB;MAAQC,WAAA,EAAY;MAASC,IAAA,EAAMpD;;;AAG3E","ignoreList":[]}
@@ -13,12 +13,6 @@ export type ListDrawerContextProps = {
13
13
  readonly onSelect?: (args: {
14
14
  collectionSlug: CollectionSlug;
15
15
  doc: Data;
16
- /**
17
- * @deprecated
18
- * The `docID` property is deprecated and will be removed in the next major version of Payload.
19
- * Use `doc.id` instead.
20
- */
21
- docID: string;
22
16
  }) => void;
23
17
  readonly selectedOption?: Option<CollectionSlug>;
24
18
  readonly setSelectedOption?: (option: Option<CollectionSlug>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/Provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAI9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAErD,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IACjE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAA;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,CACtB,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,EACrD,cAAc,CAAC,EAAE,cAAc,KAC5B,IAAI,CAAA;IACT,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,cAAc,EAAE,cAAc,CAAA;QAC9B,GAAG,EAAE,IAAI,CAAA;QACT;;;;WAIG;QACH,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;IAChD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;CACtE,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACrE,GAAG,sBAAsB,CAAA;AAE1B,eAAO,MAAM,iBAAiB,gDAA6C,CAAA;AAE3E,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAC9C;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,OAAO,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAA;CAC1C,GAAG,sBAAsB,CAO3B,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,qBAQvC,CAAA"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/Provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAI9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAErD,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IACjE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAA;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,CACtB,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,EACrD,cAAc,CAAC,EAAE,cAAc,KAC5B,IAAI,CAAA;IACT,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,cAAc,EAAE,cAAc,CAAC;QAAC,GAAG,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAA;IACjF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;IAChD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;CACtE,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACrE,GAAG,sBAAsB,CAAA;AAE1B,eAAO,MAAM,iBAAiB,gDAA6C,CAAA;AAE3E,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAC9C;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,OAAO,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAA;CAC1C,GAAG,sBAAsB,CAO3B,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,qBAQvC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","names":["createContext","use","ListDrawerContext","ListDrawerContextProvider","children","rest","_jsx","value","isInDrawer","Boolean","drawerSlug","useListDrawerContext","context","Error"],"sources":["../../../src/elements/ListDrawer/Provider.tsx"],"sourcesContent":["import type { CollectionSlug, Data, ListQuery } from 'payload'\n\nimport { createContext, use } from 'react'\n\nimport type { useSelection } from '../../providers/Selection/index.js'\nimport type { UseDocumentDrawer } from '../DocumentDrawer/types.js'\nimport type { Option } from '../ReactSelect/index.js'\n\nexport type ListDrawerContextProps = {\n readonly allowCreate?: boolean\n readonly createNewDrawerSlug?: string\n readonly DocumentDrawerToggler?: ReturnType<UseDocumentDrawer>[1]\n readonly drawerSlug?: string\n readonly enabledCollections?: CollectionSlug[]\n readonly onBulkSelect?: (\n selected: ReturnType<typeof useSelection>['selected'],\n collectionSlug?: CollectionSlug,\n ) => void\n readonly onQueryChange?: (query: ListQuery) => void\n readonly onSelect?: (args: {\n collectionSlug: CollectionSlug\n doc: Data\n /**\n * @deprecated\n * The `docID` property is deprecated and will be removed in the next major version of Payload.\n * Use `doc.id` instead.\n */\n docID: string\n }) => void\n readonly selectedOption?: Option<CollectionSlug>\n readonly setSelectedOption?: (option: Option<CollectionSlug>) => void\n}\n\nexport type ListDrawerContextType = {\n readonly isInDrawer: boolean\n /**\n * When called, will either refresh the list view with its currently selected collection.\n * If an collection slug is provided, will use that instead of the currently selected one.\n */\n readonly refresh: (collectionSlug?: CollectionSlug) => Promise<void>\n} & ListDrawerContextProps\n\nexport const ListDrawerContext = createContext({} as ListDrawerContextType)\n\nexport const ListDrawerContextProvider: React.FC<\n {\n children: React.ReactNode\n refresh: ListDrawerContextType['refresh']\n } & ListDrawerContextProps\n> = ({ children, ...rest }) => {\n return (\n <ListDrawerContext value={{ isInDrawer: Boolean(rest.drawerSlug), ...rest }}>\n {children}\n </ListDrawerContext>\n )\n}\n\nexport const useListDrawerContext = (): ListDrawerContextType => {\n const context = use(ListDrawerContext)\n\n if (!context) {\n throw new Error('useListDrawerContext must be used within a ListDrawerContextProvider')\n }\n\n return context\n}\n"],"mappings":";AAEA,SAASA,aAAa,EAAEC,GAAG,QAAQ;AAwCnC,OAAO,MAAMC,iBAAA,gBAAoBF,aAAA,CAAc,CAAC;AAEhD,OAAO,MAAMG,yBAAA,GAKTA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAA,CAAM;EACxB,oBACEC,IAAA,CAACJ,iBAAA;IAAkBK,KAAA,EAAO;MAAEC,UAAA,EAAYC,OAAA,CAAQJ,IAAA,CAAKK,UAAU;MAAG,GAAGL;IAAK;cACvED;;AAGP;AAEA,OAAO,MAAMO,oBAAA,GAAuBA,CAAA;EAClC,MAAMC,OAAA,GAAUX,GAAA,CAAIC,iBAAA;EAEpB,IAAI,CAACU,OAAA,EAAS;IACZ,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,OAAOD,OAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"Provider.js","names":["createContext","use","ListDrawerContext","ListDrawerContextProvider","children","rest","_jsx","value","isInDrawer","Boolean","drawerSlug","useListDrawerContext","context","Error"],"sources":["../../../src/elements/ListDrawer/Provider.tsx"],"sourcesContent":["import type { CollectionSlug, Data, ListQuery } from 'payload'\n\nimport { createContext, use } from 'react'\n\nimport type { useSelection } from '../../providers/Selection/index.js'\nimport type { UseDocumentDrawer } from '../DocumentDrawer/types.js'\nimport type { Option } from '../ReactSelect/index.js'\n\nexport type ListDrawerContextProps = {\n readonly allowCreate?: boolean\n readonly createNewDrawerSlug?: string\n readonly DocumentDrawerToggler?: ReturnType<UseDocumentDrawer>[1]\n readonly drawerSlug?: string\n readonly enabledCollections?: CollectionSlug[]\n readonly onBulkSelect?: (\n selected: ReturnType<typeof useSelection>['selected'],\n collectionSlug?: CollectionSlug,\n ) => void\n readonly onQueryChange?: (query: ListQuery) => void\n readonly onSelect?: (args: { collectionSlug: CollectionSlug; doc: Data }) => void\n readonly selectedOption?: Option<CollectionSlug>\n readonly setSelectedOption?: (option: Option<CollectionSlug>) => void\n}\n\nexport type ListDrawerContextType = {\n readonly isInDrawer: boolean\n /**\n * When called, will either refresh the list view with its currently selected collection.\n * If an collection slug is provided, will use that instead of the currently selected one.\n */\n readonly refresh: (collectionSlug?: CollectionSlug) => Promise<void>\n} & ListDrawerContextProps\n\nexport const ListDrawerContext = createContext({} as ListDrawerContextType)\n\nexport const ListDrawerContextProvider: React.FC<\n {\n children: React.ReactNode\n refresh: ListDrawerContextType['refresh']\n } & ListDrawerContextProps\n> = ({ children, ...rest }) => {\n return (\n <ListDrawerContext value={{ isInDrawer: Boolean(rest.drawerSlug), ...rest }}>\n {children}\n </ListDrawerContext>\n )\n}\n\nexport const useListDrawerContext = (): ListDrawerContextType => {\n const context = use(ListDrawerContext)\n\n if (!context) {\n throw new Error('useListDrawerContext must be used within a ListDrawerContextProvider')\n }\n\n return context\n}\n"],"mappings":";AAEA,SAASA,aAAa,EAAEC,GAAG,QAAQ;AA+BnC,OAAO,MAAMC,iBAAA,gBAAoBF,aAAA,CAAc,CAAC;AAEhD,OAAO,MAAMG,yBAAA,GAKTA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAA,CAAM;EACxB,oBACEC,IAAA,CAACJ,iBAAA;IAAkBK,KAAA,EAAO;MAAEC,UAAA,EAAYC,OAAA,CAAQJ,IAAA,CAAKK,UAAU;MAAG,GAAGL;IAAK;cACvED;;AAGP;AAEA,OAAO,MAAMO,oBAAA,GAAuBA,CAAA;EAClC,MAAMC,OAAA,GAAUX,GAAA,CAAIC,iBAAA;EAEpB,IAAI,CAACU,OAAA,EAAS;IACZ,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,OAAOD,OAAA;AACT","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2D,MAAM,OAAO,CAAA;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAElF,cAAc,YAAY,CAAA;AAO1B,eAAO,MAAM,SAAS,gBAAgB,CAAA;AACtC,eAAO,MAAM,oBAAoB,qBAG9B;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,WAAmC,CAAA;AAEpC,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAmBxD,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAQhD,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,aAAa,EAAE,aA4F3B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2D,MAAM,OAAO,CAAA;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAElF,cAAc,YAAY,CAAA;AAO1B,eAAO,MAAM,SAAS,gBAAgB,CAAA;AACtC,eAAO,MAAM,oBAAoB,qBAG9B;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,WAAmC,CAAA;AAEpC,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAmBxD,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAYhD,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,aAAa,EAAE,aA4F3B,CAAA"}
@@ -37,7 +37,7 @@ export const ListDrawer = props => {
37
37
  drawerSlug
38
38
  } = props;
39
39
  return /*#__PURE__*/_jsx(Drawer, {
40
- className: baseClass,
40
+ className: [baseClass, props.className].filter(Boolean).join(' '),
41
41
  Header: null,
42
42
  slug: drawerSlug,
43
43
  children: /*#__PURE__*/_jsx(ListDrawerContent, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","React","useCallback","useEffect","useId","useMemo","useState","useConfig","useEditDepth","Drawer","DrawerToggler","ListDrawerContent","baseClass","formatListDrawerSlug","depth","uuid","ListDrawerToggler","children","className","disabled","drawerSlug","onClick","rest","_jsx","filter","Boolean","join","slug","ListDrawer","props","Header","useListDrawer","t0","$","collectionSlugs","collectionSlugsFromProps","filterOptions","selectedCollection","uploads","config","t1","collections","drawerDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","setCollectionSlugs","t2","t3","t4","t5","t6","length","filteredCollectionSlugs","t7","upload","map","_temp","toggleDrawer","t8","closeDrawer","t9","openDrawer","t10","_createElement","key","MemoizedDrawer","t11","props_0","MemoizedDrawerToggler","t12","isDrawerOpen","MemoizedDrawerState","t13"],"sources":["../../../src/elements/ListDrawer/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type { ListDrawerProps, ListTogglerProps, UseListDrawer } from './types.js'\n\nexport * from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { ListDrawerContent } from './DrawerContent.js'\n\nexport const baseClass = 'list-drawer'\nexport const formatListDrawerSlug = ({\n depth,\n uuid,\n}: {\n depth: number\n uuid: string // supply when creating a new document and no id is available\n}) => `list-drawer_${depth}_${uuid}`\n\nexport const ListDrawerToggler: React.FC<ListTogglerProps> = ({\n children,\n className,\n disabled,\n drawerSlug,\n onClick,\n ...rest\n}) => {\n return (\n <DrawerToggler\n className={[className, `${baseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n onClick={onClick}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const ListDrawer: React.FC<ListDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer className={baseClass} Header={null} slug={drawerSlug}>\n <ListDrawerContent {...props} />\n </Drawer>\n )\n}\n\n/**\n * Returns an array containing the ListDrawer component, the ListDrawerToggler component, and an object with state and methods for controlling the drawer.\n * @example\n * import { useListDrawer } from '@payloadcms/ui'\n *\n * // inside a React component\n * const [ListDrawer, ListDrawerToggler, { closeDrawer, openDrawer }] = useListDrawer({\n * collectionSlugs: ['users'],\n * selectedCollection: 'users',\n * })\n *\n * // inside the return statement\n * return (\n * <>\n * <ListDrawer />\n * <ListDrawerToggler onClick={openDrawer}>Open List Drawer</ListDrawerToggler>\n * </>\n * )\n */\nexport const useListDrawer: UseListDrawer = ({\n collectionSlugs: collectionSlugsFromProps,\n filterOptions,\n selectedCollection,\n uploads,\n}) => {\n const {\n config: { collections },\n } = useConfig()\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n const [collectionSlugs, setCollectionSlugs] = useState(collectionSlugsFromProps)\n\n const drawerSlug = formatListDrawerSlug({\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n useEffect(() => {\n if (!collectionSlugs || collectionSlugs.length === 0) {\n const filteredCollectionSlugs = collections.filter(({ upload }) => {\n if (uploads) {\n return Boolean(upload) === true\n }\n return true\n })\n\n setCollectionSlugs(filteredCollectionSlugs.map(({ slug }) => slug))\n }\n }, [collectionSlugs, uploads, collections])\n\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [drawerSlug, closeModal])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [drawerSlug, openModal])\n\n const MemoizedDrawer = useMemo(() => {\n return (props) => (\n <ListDrawer\n {...props}\n closeDrawer={closeDrawer}\n collectionSlugs={collectionSlugs}\n drawerSlug={drawerSlug}\n filterOptions={filterOptions}\n key={drawerSlug}\n selectedCollection={selectedCollection}\n uploads={uploads}\n />\n )\n }, [drawerSlug, collectionSlugs, uploads, closeDrawer, selectedCollection, filterOptions])\n\n const MemoizedDrawerToggler = useMemo(() => {\n return (props) => <ListDrawerToggler {...props} drawerSlug={drawerSlug} />\n }, [drawerSlug])\n\n const MemoizedDrawerState = useMemo(\n () => ({\n closeDrawer,\n collectionSlugs,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n setCollectionSlugs,\n toggleDrawer,\n }),\n [\n drawerDepth,\n drawerSlug,\n isOpen,\n toggleDrawer,\n closeDrawer,\n openDrawer,\n setCollectionSlugs,\n collectionSlugs,\n ],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;;AACA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,KAAK,EAAEC,OAAO,EAAEC,QAAQ,QAAQ;AAIxE,cAAc;AAEd,SAASC,SAAS,QAAQ;AAC1B,SAASC,YAAY,QAAQ;AAC7B,SAASC,MAAM,EAAEC,aAAa,QAAQ;AACtC,SAASC,iBAAiB,QAAQ;AAElC,OAAO,MAAMC,SAAA,GAAY;AACzB,OAAO,MAAMC,oBAAA,GAAuBA,CAAC;EACnCC,KAAK;EACLC;AAAI,CAIL,KAAK,eAAeD,KAAA,IAASC,IAAA,EAAM;AAEpC,OAAO,MAAMC,iBAAA,GAAgDA,CAAC;EAC5DC,QAAQ;EACRC,SAAS;EACTC,QAAQ;EACRC,UAAU;EACVC,OAAO;EACP,GAAGC;AAAA,CACJ;EACC,oBACEC,IAAA,CAACb,aAAA;IACCQ,SAAA,EAAW,CAACA,SAAA,EAAW,GAAGN,SAAA,WAAoB,CAAC,CAACY,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;IACrEP,QAAA,EAAUA,QAAA;IACVE,OAAA,EAASA,OAAA;IACTM,IAAA,EAAMP,UAAA;IACL,GAAGE,IAAI;cAEPL;;AAGP;AAEA,OAAO,MAAMW,UAAA,GAAyCC,KAAA;EACpD,MAAM;IAAET;EAAU,CAAE,GAAGS,KAAA;EAEvB,oBACEN,IAAA,CAACd,MAAA;IAAOS,SAAA,EAAWN,SAAA;IAAWkB,MAAA,EAAQ;IAAMH,IAAA,EAAMP,UAAA;cAChD,aAAAG,IAAA,CAACZ,iBAAA;MAAmB,GAAGkB;;;AAG7B;AAEA;;;;;;;;;;;;;;;;;;;AAmBA,OAAO,MAAME,aAAA,GAA+BC,EAAA;EAAA,MAAAC,CAAA,GAAAlC,EAAA;EAAC;IAAAmC,eAAA,EAAAC,wBAAA;IAAAC,aAAA;IAAAC,kBAAA;IAAAC;EAAA,IAAAN,EAK5C;EACC;IAAAO,MAAA,EAAAC;EAAA,IAEIjC,SAAA;EADM;IAAAkC;EAAA,IAAAD,EAAe;EAEzB,MAAAE,WAAA,GAAoBlC,YAAA;EACpB,MAAAO,IAAA,GAAaX,KAAA;EACb;IAAAuC,UAAA;IAAAC,UAAA;IAAAC,SAAA;IAAAC;EAAA,IAA2D9C,QAAA;EAC3D,OAAA+C,MAAA,EAAAC,SAAA,IAA4B1C,QAAA,MAAS;EACrC,OAAA4B,eAAA,EAAAe,kBAAA,IAA8C3C,QAAA,CAAS6B,wBAAA;EAAA,IAAAe,EAAA;EAAA,IAAAjB,CAAA,QAAAS,WAAA,IAAAT,CAAA,QAAAlB,IAAA;IAEpCmC,EAAA,GAAArC,oBAAA;MAAAC,KAAA,EACV4B,WAAA;MAAA3B;IAAA,CAET;IAAAkB,CAAA,MAAAS,WAAA;IAAAT,CAAA,MAAAlB,IAAA;IAAAkB,CAAA,MAAAiB,EAAA;EAAA;IAAAA,EAAA,GAAAjB,CAAA;EAAA;EAHA,MAAAb,UAAA,GAAmB8B,EAGnB;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAnB,CAAA,QAAAb,UAAA,IAAAa,CAAA,QAAAW,UAAA;IAEUO,EAAA,GAAAA,CAAA;MACRH,SAAA,CAAUvB,OAAA,CAAQmB,UAAU,CAACxB,UAAA,GAAA2B,MAAa;IAAA;IACzCK,EAAA,IAACR,UAAA,EAAYxB,UAAA;IAAWa,CAAA,MAAAb,UAAA;IAAAa,CAAA,MAAAW,UAAA;IAAAX,CAAA,MAAAkB,EAAA;IAAAlB,CAAA,MAAAmB,EAAA;EAAA;IAAAD,EAAA,GAAAlB,CAAA;IAAAmB,EAAA,GAAAnB,CAAA;EAAA;EAF3B9B,SAAA,CAAUgD,EAEV,EAAGC,EAAwB;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAArB,CAAA,QAAAC,eAAA,IAAAD,CAAA,QAAAQ,WAAA,IAAAR,CAAA,QAAAK,OAAA;IAEjBe,EAAA,GAAAA,CAAA;MAAA,IACJ,CAACnB,eAAA,IAAmBA,eAAA,CAAAqB,MAAA,MAA2B;QACjD,MAAAC,uBAAA,GAAgCf,WAAA,CAAAjB,MAAA,CAAAiC,EAAA;UAAoB;YAAAC;UAAA,IAAAD,EAAU;UAAA,IACxDnB,OAAA;YAAA,OACKb,OAAA,CAAQiC,MAAA,UAAY;UAAA;UAAA;QAAA,CAG/B;QAEAT,kBAAA,CAAmBO,uBAAA,CAAAG,GAAA,CAAAC,KAA0C;MAAA;IAAA;IAE9DN,EAAA,IAACpB,eAAA,EAAiBI,OAAA,EAASG,WAAA;IAAYR,CAAA,MAAAC,eAAA;IAAAD,CAAA,MAAAQ,WAAA;IAAAR,CAAA,MAAAK,OAAA;IAAAL,CAAA,OAAAoB,EAAA;IAAApB,CAAA,OAAAqB,EAAA;EAAA;IAAAD,EAAA,GAAApB,CAAA;IAAAqB,EAAA,GAAArB,CAAA;EAAA;EAX1C9B,SAAA,CAAUkD,EAWV,EAAGC,EAAuC;EAAA,IAAAG,EAAA;EAAA,IAAAxB,CAAA,SAAAb,UAAA,IAAAa,CAAA,SAAAa,WAAA;IAETW,EAAA,GAAAA,CAAA;MAC/BX,WAAA,CAAY1B,UAAA;IAAA;IACda,CAAA,OAAAb,UAAA;IAAAa,CAAA,OAAAa,WAAA;IAAAb,CAAA,OAAAwB,EAAA;EAAA;IAAAA,EAAA,GAAAxB,CAAA;EAAA;EAFA,MAAA4B,YAAA,GAAqBJ,EAEO;EAAA,IAAAK,EAAA;EAAA,IAAA7B,CAAA,SAAAU,UAAA,IAAAV,CAAA,SAAAb,UAAA;IAEI0C,EAAA,GAAAA,CAAA;MAC9BnB,UAAA,CAAWvB,UAAA;IAAA;IACba,CAAA,OAAAU,UAAA;IAAAV,CAAA,OAAAb,UAAA;IAAAa,CAAA,OAAA6B,EAAA;EAAA;IAAAA,EAAA,GAAA7B,CAAA;EAAA;EAFA,MAAA8B,WAAA,GAAoBD,EAEO;EAAA,IAAAE,EAAA;EAAA,IAAA/B,CAAA,SAAAb,UAAA,IAAAa,CAAA,SAAAY,SAAA;IAEImB,EAAA,GAAAA,CAAA;MAC7BnB,SAAA,CAAUzB,UAAA;IAAA;IACZa,CAAA,OAAAb,UAAA;IAAAa,CAAA,OAAAY,SAAA;IAAAZ,CAAA,OAAA+B,EAAA;EAAA;IAAAA,EAAA,GAAA/B,CAAA;EAAA;EAFA,MAAAgC,UAAA,GAAmBD,EAEO;EAAA,IAAAE,GAAA;EAAA,IAAAjC,CAAA,SAAA8B,WAAA,IAAA9B,CAAA,SAAAC,eAAA,IAAAD,CAAA,SAAAb,UAAA,IAAAa,CAAA,SAAAG,aAAA,IAAAH,CAAA,SAAAI,kBAAA,IAAAJ,CAAA,SAAAK,OAAA;IAGjB4B,GAAA,GAAArC,KAAA,IACLsC,cAAA,CAAAvC,UAAA;MAAA,GACMC,KAAK;MAAAkC,WAAA;MAAA7B,eAAA;MAAAd,UAAA;MAAAgB,aAAA;MAAAgC,GAAA,EAKJhD,UAAA;MAAAiB,kBAAA;MAAAC;IAAA,C;;;;;;;;;;;EARX,MAAA+B,cAAA,GACSH,G;EAYgF,IAAAI,GAAA;EAAA,IAAArC,CAAA,SAAAb,UAAA;IAGhFkD,GAAA,GAAAC,OAAA,IAAWhD,IAAA,CAAAP,iBAAA;MAAA,GAAuBa,OAAK;MAAAT;IAAA,C;;;;;;EADhD,MAAAoD,qBAAA,GACSF,G;EACM,IAAAG,GAAA;EAAA,IAAAxC,CAAA,SAAA8B,WAAA,IAAA9B,CAAA,SAAAC,eAAA,IAAAD,CAAA,SAAAS,WAAA,IAAAT,CAAA,SAAAb,UAAA,IAAAa,CAAA,SAAAc,MAAA,IAAAd,CAAA,SAAAgC,UAAA,IAAAhC,CAAA,SAAA4B,YAAA;IAGNY,GAAA;MAAAV,WAAA;MAAA7B,eAAA;MAAAQ,WAAA;MAAAtB,UAAA;MAAAsD,YAAA,EAKS3B,MAAA;MAAAkB,UAAA;MAAAhB,kBAAA;MAAAY;IAAA;IAIhB5B,CAAA,OAAA8B,WAAA;IAAA9B,CAAA,OAAAC,eAAA;IAAAD,CAAA,OAAAS,WAAA;IAAAT,CAAA,OAAAb,UAAA;IAAAa,CAAA,OAAAc,MAAA;IAAAd,CAAA,OAAAgC,UAAA;IAAAhC,CAAA,OAAA4B,YAAA;IAAA5B,CAAA,OAAAwC,GAAA;EAAA;IAAAA,GAAA,GAAAxC,CAAA;EAAA;EAVF,MAAA0C,mBAAA,GACSF,GASP;EAUC,IAAAG,GAAA;EAAA,IAAA3C,CAAA,SAAAoC,cAAA,IAAApC,CAAA,SAAA0C,mBAAA,IAAA1C,CAAA,SAAAuC,qBAAA;IAGII,GAAA,IAACP,cAAA,EAAgBG,qBAAA,EAAuBG,mBAAA;IAAoB1C,CAAA,OAAAoC,cAAA;IAAApC,CAAA,OAAA0C,mBAAA;IAAA1C,CAAA,OAAAuC,qBAAA;IAAAvC,CAAA,OAAA2C,GAAA;EAAA;IAAAA,GAAA,GAAA3C,CAAA;EAAA;EAAA,OAA5D2C,GAA4D;AAAA,CACrE;AA5F4C,SAAAhB,MAAA5B,EAAA;EAiCU;IAAAL;EAAA,IAAAK,EAAQ;EAAA,OAAKL,IAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","React","useCallback","useEffect","useId","useMemo","useState","useConfig","useEditDepth","Drawer","DrawerToggler","ListDrawerContent","baseClass","formatListDrawerSlug","depth","uuid","ListDrawerToggler","children","className","disabled","drawerSlug","onClick","rest","_jsx","filter","Boolean","join","slug","ListDrawer","props","Header","useListDrawer","t0","$","collectionSlugs","collectionSlugsFromProps","filterOptions","selectedCollection","uploads","config","t1","collections","drawerDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","setCollectionSlugs","t2","t3","t4","t5","t6","length","filteredCollectionSlugs","t7","upload","map","_temp","toggleDrawer","t8","closeDrawer","t9","openDrawer","t10","_createElement","key","MemoizedDrawer","t11","props_0","MemoizedDrawerToggler","t12","isDrawerOpen","MemoizedDrawerState","t13"],"sources":["../../../src/elements/ListDrawer/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type { ListDrawerProps, ListTogglerProps, UseListDrawer } from './types.js'\n\nexport * from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { ListDrawerContent } from './DrawerContent.js'\n\nexport const baseClass = 'list-drawer'\nexport const formatListDrawerSlug = ({\n depth,\n uuid,\n}: {\n depth: number\n uuid: string // supply when creating a new document and no id is available\n}) => `list-drawer_${depth}_${uuid}`\n\nexport const ListDrawerToggler: React.FC<ListTogglerProps> = ({\n children,\n className,\n disabled,\n drawerSlug,\n onClick,\n ...rest\n}) => {\n return (\n <DrawerToggler\n className={[className, `${baseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n onClick={onClick}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const ListDrawer: React.FC<ListDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer\n className={[baseClass, props.className].filter(Boolean).join(' ')}\n Header={null}\n slug={drawerSlug}\n >\n <ListDrawerContent {...props} />\n </Drawer>\n )\n}\n\n/**\n * Returns an array containing the ListDrawer component, the ListDrawerToggler component, and an object with state and methods for controlling the drawer.\n * @example\n * import { useListDrawer } from '@payloadcms/ui'\n *\n * // inside a React component\n * const [ListDrawer, ListDrawerToggler, { closeDrawer, openDrawer }] = useListDrawer({\n * collectionSlugs: ['users'],\n * selectedCollection: 'users',\n * })\n *\n * // inside the return statement\n * return (\n * <>\n * <ListDrawer />\n * <ListDrawerToggler onClick={openDrawer}>Open List Drawer</ListDrawerToggler>\n * </>\n * )\n */\nexport const useListDrawer: UseListDrawer = ({\n collectionSlugs: collectionSlugsFromProps,\n filterOptions,\n selectedCollection,\n uploads,\n}) => {\n const {\n config: { collections },\n } = useConfig()\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n const [collectionSlugs, setCollectionSlugs] = useState(collectionSlugsFromProps)\n\n const drawerSlug = formatListDrawerSlug({\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n useEffect(() => {\n if (!collectionSlugs || collectionSlugs.length === 0) {\n const filteredCollectionSlugs = collections.filter(({ upload }) => {\n if (uploads) {\n return Boolean(upload) === true\n }\n return true\n })\n\n setCollectionSlugs(filteredCollectionSlugs.map(({ slug }) => slug))\n }\n }, [collectionSlugs, uploads, collections])\n\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [drawerSlug, closeModal])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [drawerSlug, openModal])\n\n const MemoizedDrawer = useMemo(() => {\n return (props) => (\n <ListDrawer\n {...props}\n closeDrawer={closeDrawer}\n collectionSlugs={collectionSlugs}\n drawerSlug={drawerSlug}\n filterOptions={filterOptions}\n key={drawerSlug}\n selectedCollection={selectedCollection}\n uploads={uploads}\n />\n )\n }, [drawerSlug, collectionSlugs, uploads, closeDrawer, selectedCollection, filterOptions])\n\n const MemoizedDrawerToggler = useMemo(() => {\n return (props) => <ListDrawerToggler {...props} drawerSlug={drawerSlug} />\n }, [drawerSlug])\n\n const MemoizedDrawerState = useMemo(\n () => ({\n closeDrawer,\n collectionSlugs,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n setCollectionSlugs,\n toggleDrawer,\n }),\n [\n drawerDepth,\n drawerSlug,\n isOpen,\n toggleDrawer,\n closeDrawer,\n openDrawer,\n setCollectionSlugs,\n collectionSlugs,\n ],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"mappings":"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","ignoreList":[]}
@@ -27,6 +27,7 @@ export type RenderListServerFnReturnType = {
27
27
  };
28
28
  export type ListDrawerProps = {
29
29
  readonly allowCreate?: boolean;
30
+ readonly className?: string;
30
31
  readonly collectionSlugs: SanitizedCollectionConfig['slug'][];
31
32
  readonly disableQueryPresets?: boolean;
32
33
  readonly drawerSlug?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ListDrawer/types.ts"],"sourcesContent":["import type {\n CollectionPreferences,\n FilterOptionsResult,\n ListQuery,\n SanitizedCollectionConfig,\n} from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { ListDrawerContextProps } from './Provider.js'\n\n/**\n * @internal - this may change in a minor release\n */\nexport type RenderListServerFnArgs = {\n collectionSlug: string\n disableActions?: boolean\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n}\n\n/**\n * @internal - this may change in a minor release\n */\nexport type RenderListServerFnReturnType = {\n List: React.ReactNode\n preferences: CollectionPreferences\n}\n\nexport type ListDrawerProps = {\n readonly allowCreate?: boolean\n readonly collectionSlugs: SanitizedCollectionConfig['slug'][]\n readonly disableQueryPresets?: boolean\n readonly drawerSlug?: string\n readonly enableRowSelections?: boolean\n readonly filterOptions?: FilterOptionsResult\n readonly overrideEntityVisibility?: boolean\n readonly selectedCollection?: string\n} & ListDrawerContextProps\n\nexport type ListTogglerProps = {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n drawerSlug?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseListDrawer = (args: {\n collectionSlugs?: SanitizedCollectionConfig['slug'][]\n filterOptions?: FilterOptionsResult\n overrideEntityVisibility?: boolean\n selectedCollection?: SanitizedCollectionConfig['slug']\n uploads?: boolean // finds all collections with upload: true\n}) => [\n React.FC<Omit<ListDrawerProps, 'collectionSlugs'>>,\n React.FC<Omit<ListTogglerProps, 'drawerSlug'>>,\n {\n closeDrawer: () => void\n collectionSlugs: SanitizedCollectionConfig['slug'][]\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n setCollectionSlugs: React.Dispatch<React.SetStateAction<SanitizedCollectionConfig['slug'][]>>\n toggleDrawer: () => void\n },\n]\n"],"mappings":"AAsDA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ListDrawer/types.ts"],"sourcesContent":["import type {\n CollectionPreferences,\n FilterOptionsResult,\n ListQuery,\n SanitizedCollectionConfig,\n} from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { ListDrawerContextProps } from './Provider.js'\n\n/**\n * @internal - this may change in a minor release\n */\nexport type RenderListServerFnArgs = {\n collectionSlug: string\n disableActions?: boolean\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n}\n\n/**\n * @internal - this may change in a minor release\n */\nexport type RenderListServerFnReturnType = {\n List: React.ReactNode\n preferences: CollectionPreferences\n}\n\nexport type ListDrawerProps = {\n readonly allowCreate?: boolean\n readonly className?: string\n readonly collectionSlugs: SanitizedCollectionConfig['slug'][]\n readonly disableQueryPresets?: boolean\n readonly drawerSlug?: string\n readonly enableRowSelections?: boolean\n readonly filterOptions?: FilterOptionsResult\n readonly overrideEntityVisibility?: boolean\n readonly selectedCollection?: string\n} & ListDrawerContextProps\n\nexport type ListTogglerProps = {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n drawerSlug?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseListDrawer = (args: {\n collectionSlugs?: SanitizedCollectionConfig['slug'][]\n filterOptions?: FilterOptionsResult\n overrideEntityVisibility?: boolean\n selectedCollection?: SanitizedCollectionConfig['slug']\n uploads?: boolean // finds all collections with upload: true\n}) => [\n React.FC<Omit<ListDrawerProps, 'collectionSlugs'>>,\n React.FC<Omit<ListTogglerProps, 'drawerSlug'>>,\n {\n closeDrawer: () => void\n collectionSlugs: SanitizedCollectionConfig['slug'][]\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n setCollectionSlugs: React.Dispatch<React.SetStateAction<SanitizedCollectionConfig['slug'][]>>\n toggleDrawer: () => void\n },\n]\n"],"mappings":"AAuDA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ListHeader/DrawerRelationshipSelect/index.tsx"],"names":[],"mappings":"AAaA,eAAO,MAAM,wBAAwB,mCAqCpC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ListHeader/DrawerRelationshipSelect/index.tsx"],"names":[],"mappings":"AAcA,eAAO,MAAM,wBAAwB,mCAoCpC,CAAA"}