@payloadcms/ui 3.0.0-canary.78bbed6 → 3.0.0-canary.79ab53e

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 (591) hide show
  1. package/dist/elements/AddNewRelation/index.js +1 -1
  2. package/dist/elements/AddNewRelation/index.js.map +1 -1
  3. package/dist/elements/AppHeader/index.js +45 -84
  4. package/dist/elements/AppHeader/index.js.map +1 -1
  5. package/dist/elements/Autosave/index.d.ts.map +1 -1
  6. package/dist/elements/Autosave/index.js +149 -228
  7. package/dist/elements/Autosave/index.js.map +1 -1
  8. package/dist/elements/Banner/index.d.ts.map +1 -1
  9. package/dist/elements/Banner/index.js +6 -2
  10. package/dist/elements/Banner/index.js.map +1 -1
  11. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  12. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  13. package/dist/elements/BulkUpload/ActionsBar/index.scss +4 -4
  14. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  15. package/dist/elements/BulkUpload/AddFilesView/index.js +45 -30
  16. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  17. package/dist/elements/BulkUpload/AddFilesView/index.scss +13 -0
  18. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  19. package/dist/elements/BulkUpload/AddingFilesView/index.js +7 -7
  20. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.d.ts.map +1 -1
  22. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +14 -17
  23. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts +1 -2
  25. package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts.map +1 -1
  26. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +5 -8
  27. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  29. package/dist/elements/BulkUpload/EditForm/index.js +39 -32
  30. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  31. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  32. package/dist/elements/BulkUpload/FileSidebar/index.js +71 -59
  33. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  34. package/dist/elements/BulkUpload/FileSidebar/index.scss +16 -14
  35. package/dist/elements/BulkUpload/FormsManager/index.d.ts +4 -7
  36. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  37. package/dist/elements/BulkUpload/FormsManager/index.js +64 -36
  38. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  39. package/dist/elements/BulkUpload/Header/index.d.ts.map +1 -1
  40. package/dist/elements/BulkUpload/Header/index.js +1 -3
  41. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  42. package/dist/elements/BulkUpload/index.d.ts +21 -5
  43. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  44. package/dist/elements/BulkUpload/index.js +149 -52
  45. package/dist/elements/BulkUpload/index.js.map +1 -1
  46. package/dist/elements/Button/index.d.ts.map +1 -1
  47. package/dist/elements/Button/index.js +95 -219
  48. package/dist/elements/Button/index.js.map +1 -1
  49. package/dist/elements/Button/types.d.ts +2 -2
  50. package/dist/elements/Button/types.d.ts.map +1 -1
  51. package/dist/elements/Button/types.js.map +1 -1
  52. package/dist/elements/Card/index.d.ts +1 -1
  53. package/dist/elements/Card/index.d.ts.map +1 -1
  54. package/dist/elements/Card/index.js +2 -2
  55. package/dist/elements/Card/index.js.map +1 -1
  56. package/dist/elements/CodeEditor/index.js +1 -1
  57. package/dist/elements/CodeEditor/index.js.map +1 -1
  58. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  59. package/dist/elements/Collapsible/index.js +44 -62
  60. package/dist/elements/Collapsible/index.js.map +1 -1
  61. package/dist/elements/Collapsible/index.scss +15 -28
  62. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  63. package/dist/elements/ColumnSelector/index.js +2 -2
  64. package/dist/elements/ColumnSelector/index.js.map +1 -1
  65. package/dist/elements/CopyToClipboard/index.js +20 -54
  66. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  67. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  68. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  69. package/dist/elements/DatePicker/index.js +1 -1
  70. package/dist/elements/DatePicker/index.js.map +1 -1
  71. package/dist/elements/DeleteDocument/index.d.ts +9 -6
  72. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  73. package/dist/elements/DeleteDocument/index.js +65 -28
  74. package/dist/elements/DeleteDocument/index.js.map +1 -1
  75. package/dist/elements/DeleteDocument/index.scss +24 -11
  76. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  77. package/dist/elements/DeleteMany/index.js +26 -18
  78. package/dist/elements/DeleteMany/index.js.map +1 -1
  79. package/dist/elements/DeleteMany/index.scss +24 -5
  80. package/dist/elements/DocumentControls/index.d.ts +9 -1
  81. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  82. package/dist/elements/DocumentControls/index.js +26 -8
  83. package/dist/elements/DocumentControls/index.js.map +1 -1
  84. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  85. package/dist/elements/DocumentDrawer/DrawerContent.js +102 -37
  86. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  87. package/dist/elements/DocumentDrawer/index.js +1 -1
  88. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  89. package/dist/elements/DocumentDrawer/types.d.ts +6 -0
  90. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  91. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  92. package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
  93. package/dist/elements/DraggableSortable/index.js +2 -1
  94. package/dist/elements/DraggableSortable/index.js.map +1 -1
  95. package/dist/elements/Drawer/index.d.ts +1 -0
  96. package/dist/elements/Drawer/index.d.ts.map +1 -1
  97. package/dist/elements/Drawer/index.js +3 -3
  98. package/dist/elements/Drawer/index.js.map +1 -1
  99. package/dist/elements/Drawer/types.d.ts +1 -1
  100. package/dist/elements/Drawer/types.d.ts.map +1 -1
  101. package/dist/elements/Drawer/types.js.map +1 -1
  102. package/dist/elements/Dropzone/index.d.ts +3 -3
  103. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  104. package/dist/elements/Dropzone/index.js +58 -145
  105. package/dist/elements/Dropzone/index.js.map +1 -1
  106. package/dist/elements/Dropzone/index.scss +6 -23
  107. package/dist/elements/DuplicateDocument/index.d.ts +6 -3
  108. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  109. package/dist/elements/DuplicateDocument/index.js +95 -137
  110. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  111. package/dist/elements/DuplicateDocument/index.scss +25 -5
  112. package/dist/elements/EditMany/index.js +124 -230
  113. package/dist/elements/EditMany/index.js.map +1 -1
  114. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  115. package/dist/elements/EditUpload/index.js +140 -201
  116. package/dist/elements/EditUpload/index.js.map +1 -1
  117. package/dist/elements/ErrorPill/index.d.ts.map +1 -1
  118. package/dist/elements/ErrorPill/index.js +3 -1
  119. package/dist/elements/ErrorPill/index.js.map +1 -1
  120. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  121. package/dist/elements/FieldSelect/index.js +3 -1
  122. package/dist/elements/FieldSelect/index.js.map +1 -1
  123. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  124. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  125. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  126. package/dist/elements/FileDetails/StaticFileDetails/index.js +0 -1
  127. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  128. package/dist/elements/FileDetails/StaticFileDetails/index.scss +1 -0
  129. package/dist/elements/GenerateConfirmation/index.d.ts.map +1 -1
  130. package/dist/elements/GenerateConfirmation/index.js +31 -24
  131. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  132. package/dist/elements/GenerateConfirmation/index.scss +24 -5
  133. package/dist/elements/ListControls/index.d.ts.map +1 -1
  134. package/dist/elements/ListControls/index.js +89 -200
  135. package/dist/elements/ListControls/index.js.map +1 -1
  136. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  137. package/dist/elements/ListDrawer/DrawerContent.js +311 -233
  138. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  139. package/dist/elements/ListDrawer/index.js +1 -1
  140. package/dist/elements/ListDrawer/index.js.map +1 -1
  141. package/dist/elements/ListDrawer/index.scss +7 -0
  142. package/dist/elements/Localizer/index.d.ts.map +1 -1
  143. package/dist/elements/Localizer/index.js +1 -1
  144. package/dist/elements/Localizer/index.js.map +1 -1
  145. package/dist/elements/Logout/index.js +1 -1
  146. package/dist/elements/Logout/index.js.map +1 -1
  147. package/dist/elements/Nav/context.js +47 -83
  148. package/dist/elements/Nav/context.js.map +1 -1
  149. package/dist/elements/Pagination/index.d.ts.map +1 -1
  150. package/dist/elements/Pagination/index.js +20 -10
  151. package/dist/elements/Pagination/index.js.map +1 -1
  152. package/dist/elements/PerPage/index.d.ts.map +1 -1
  153. package/dist/elements/PerPage/index.js.map +1 -1
  154. package/dist/elements/Pill/index.d.ts.map +1 -1
  155. package/dist/elements/Pill/index.js +11 -5
  156. package/dist/elements/Pill/index.js.map +1 -1
  157. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  158. package/dist/elements/Popup/PopupTrigger/index.js +3 -1
  159. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  160. package/dist/elements/Popup/index.d.ts.map +1 -1
  161. package/dist/elements/Popup/index.js +4 -2
  162. package/dist/elements/Popup/index.js.map +1 -1
  163. package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -1
  164. package/dist/elements/PreviewButton/usePreviewURL.js +18 -6
  165. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  166. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  167. package/dist/elements/PreviewSizes/index.js +15 -5
  168. package/dist/elements/PreviewSizes/index.js.map +1 -1
  169. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  170. package/dist/elements/PublishButton/index.js +113 -48
  171. package/dist/elements/PublishButton/index.js.map +1 -1
  172. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  173. package/dist/elements/PublishMany/index.js +25 -17
  174. package/dist/elements/PublishMany/index.js.map +1 -1
  175. package/dist/elements/PublishMany/index.scss +23 -4
  176. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  177. package/dist/elements/ReactSelect/DropdownIndicator/index.js +3 -1
  178. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  179. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  180. package/dist/elements/ReactSelect/index.js +5 -3
  181. package/dist/elements/ReactSelect/index.js.map +1 -1
  182. package/dist/elements/ReactSelect/types.d.ts +9 -2
  183. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  184. package/dist/elements/ReactSelect/types.js.map +1 -1
  185. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  186. package/dist/elements/SaveButton/index.js +35 -84
  187. package/dist/elements/SaveButton/index.js.map +1 -1
  188. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  189. package/dist/elements/SaveDraftButton/index.js +63 -119
  190. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  191. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  192. package/dist/elements/SearchFilter/index.js +45 -81
  193. package/dist/elements/SearchFilter/index.js.map +1 -1
  194. package/dist/elements/SelectRow/index.js +29 -20
  195. package/dist/elements/SelectRow/index.js.map +1 -1
  196. package/dist/elements/ShimmerEffect/index.d.ts +3 -3
  197. package/dist/elements/ShimmerEffect/index.d.ts.map +1 -1
  198. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  199. package/dist/elements/SortColumn/index.d.ts +4 -4
  200. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  201. package/dist/elements/SortColumn/index.js +22 -39
  202. package/dist/elements/SortColumn/index.js.map +1 -1
  203. package/dist/elements/SortComplex/index.d.ts.map +1 -1
  204. package/dist/elements/SortComplex/index.js.map +1 -1
  205. package/dist/elements/Status/index.d.ts.map +1 -1
  206. package/dist/elements/Status/index.js +43 -27
  207. package/dist/elements/Status/index.js.map +1 -1
  208. package/dist/elements/Status/index.scss +26 -7
  209. package/dist/elements/StepNav/index.d.ts +1 -1
  210. package/dist/elements/StepNav/index.d.ts.map +1 -1
  211. package/dist/elements/StepNav/index.js +2 -2
  212. package/dist/elements/StepNav/index.js.map +1 -1
  213. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +2 -2
  214. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  215. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  216. package/dist/elements/Table/DefaultCell/fields/Code/index.js +1 -1
  217. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  218. package/dist/elements/Table/DefaultCell/fields/File/index.scss +5 -5
  219. package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -1
  220. package/dist/elements/Table/DefaultCell/fields/index.js +1 -1
  221. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  222. package/dist/elements/Table/RelationshipProvider/index.d.ts +1 -1
  223. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  224. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  225. package/dist/elements/Table/index.d.ts +2 -2
  226. package/dist/elements/Table/index.d.ts.map +1 -1
  227. package/dist/elements/Table/index.js +21 -16
  228. package/dist/elements/Table/index.js.map +1 -1
  229. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  230. package/dist/elements/TableColumns/buildColumnState.js +16 -13
  231. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  232. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  233. package/dist/elements/TableColumns/index.js +11 -33
  234. package/dist/elements/TableColumns/index.js.map +1 -1
  235. package/dist/elements/Thumbnail/index.d.ts +10 -6
  236. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  237. package/dist/elements/Thumbnail/index.js +84 -9
  238. package/dist/elements/Thumbnail/index.js.map +1 -1
  239. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  240. package/dist/elements/Tooltip/index.js.map +1 -1
  241. package/dist/elements/Translation/index.d.ts.map +1 -1
  242. package/dist/elements/Translation/index.js +0 -2
  243. package/dist/elements/Translation/index.js.map +1 -1
  244. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  245. package/dist/elements/UnpublishMany/index.js +26 -18
  246. package/dist/elements/UnpublishMany/index.js.map +1 -1
  247. package/dist/elements/UnpublishMany/index.scss +23 -4
  248. package/dist/elements/Upload/index.d.ts.map +1 -1
  249. package/dist/elements/Upload/index.js +183 -302
  250. package/dist/elements/Upload/index.js.map +1 -1
  251. package/dist/elements/Upload/index.scss +38 -0
  252. package/dist/elements/ViewDescription/index.d.ts +1 -1
  253. package/dist/elements/ViewDescription/index.d.ts.map +1 -1
  254. package/dist/elements/ViewDescription/index.js.map +1 -1
  255. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  256. package/dist/elements/WhereBuilder/Condition/index.js +2 -1
  257. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  258. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  259. package/dist/elements/WhereBuilder/index.js +5 -8
  260. package/dist/elements/WhereBuilder/index.js.map +1 -1
  261. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
  262. package/dist/elements/WhereBuilder/reduceClientFields.js +3 -1
  263. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
  264. package/dist/elements/WhereBuilder/types.d.ts +1 -1
  265. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  266. package/dist/elements/WhereBuilder/types.js.map +1 -1
  267. package/dist/elements/WindowInfo/index.d.ts +2 -2
  268. package/dist/elements/WindowInfo/index.d.ts.map +1 -1
  269. package/dist/elements/WindowInfo/index.js +2 -2
  270. package/dist/elements/WindowInfo/index.js.map +1 -1
  271. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  272. package/dist/exports/client/{CodeEditor-C4FLUUO7.js → CodeEditor-CHKRX3U2.js} +4 -4
  273. package/dist/exports/client/{CodeEditor-C4FLUUO7.js.map → CodeEditor-CHKRX3U2.js.map} +4 -4
  274. package/dist/exports/client/{DatePicker-E6IJFDN2.js → DatePicker-OLRZVTAD.js} +2 -2
  275. package/dist/exports/client/chunk-BGA6EPOL.js +14 -0
  276. package/dist/exports/client/chunk-BGA6EPOL.js.map +8 -0
  277. package/dist/exports/client/{chunk-OBXEO4WP.js → chunk-JINNHJP7.js} +1 -1
  278. package/dist/exports/client/{chunk-OBXEO4WP.js.map → chunk-JINNHJP7.js.map} +2 -2
  279. package/dist/exports/client/index.d.ts +5 -4
  280. package/dist/exports/client/index.d.ts.map +1 -1
  281. package/dist/exports/client/index.js +19 -19
  282. package/dist/exports/client/index.js.map +4 -4
  283. package/dist/exports/shared/index.d.ts +3 -2
  284. package/dist/exports/shared/index.d.ts.map +1 -1
  285. package/dist/exports/shared/index.js +2 -2
  286. package/dist/exports/shared/index.js.map +4 -4
  287. package/dist/fields/Array/ArrayRow.d.ts +1 -1
  288. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  289. package/dist/fields/Array/ArrayRow.js +6 -6
  290. package/dist/fields/Array/ArrayRow.js.map +1 -1
  291. package/dist/fields/Array/index.d.ts +11 -3
  292. package/dist/fields/Array/index.d.ts.map +1 -1
  293. package/dist/fields/Array/index.js +8 -5
  294. package/dist/fields/Array/index.js.map +1 -1
  295. package/dist/fields/Blocks/BlockRow.d.ts +2 -2
  296. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  297. package/dist/fields/Blocks/BlockRow.js +4 -4
  298. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  299. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  300. package/dist/fields/Blocks/BlocksDrawer/index.js +3 -1
  301. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  302. package/dist/fields/Blocks/RowActions.d.ts +1 -1
  303. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  304. package/dist/fields/Blocks/RowActions.js +1 -1
  305. package/dist/fields/Blocks/RowActions.js.map +1 -1
  306. package/dist/fields/Blocks/index.d.ts +8 -2
  307. package/dist/fields/Blocks/index.d.ts.map +1 -1
  308. package/dist/fields/Blocks/index.js +2 -5
  309. package/dist/fields/Blocks/index.js.map +1 -1
  310. package/dist/fields/Checkbox/Input.d.ts +1 -1
  311. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  312. package/dist/fields/Checkbox/Input.js +3 -3
  313. package/dist/fields/Checkbox/Input.js.map +1 -1
  314. package/dist/fields/Checkbox/index.d.ts +16 -4
  315. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  316. package/dist/fields/Checkbox/index.js +2 -2
  317. package/dist/fields/Checkbox/index.js.map +1 -1
  318. package/dist/fields/Checkbox/index.scss +13 -0
  319. package/dist/fields/Code/index.d.ts +9 -2
  320. package/dist/fields/Code/index.d.ts.map +1 -1
  321. package/dist/fields/Code/index.js +32 -37
  322. package/dist/fields/Code/index.js.map +1 -1
  323. package/dist/fields/Collapsible/index.d.ts +143 -2
  324. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  325. package/dist/fields/Collapsible/index.js +49 -42
  326. package/dist/fields/Collapsible/index.js.map +1 -1
  327. package/dist/fields/DateTime/index.d.ts +9 -2
  328. package/dist/fields/DateTime/index.d.ts.map +1 -1
  329. package/dist/fields/DateTime/index.js +33 -38
  330. package/dist/fields/DateTime/index.js.map +1 -1
  331. package/dist/fields/Email/index.d.ts +10 -2
  332. package/dist/fields/Email/index.d.ts.map +1 -1
  333. package/dist/fields/Email/index.js +29 -33
  334. package/dist/fields/Email/index.js.map +1 -1
  335. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  336. package/dist/fields/FieldLabel/index.js +7 -1
  337. package/dist/fields/FieldLabel/index.js.map +1 -1
  338. package/dist/fields/Group/index.d.ts +8 -3
  339. package/dist/fields/Group/index.d.ts.map +1 -1
  340. package/dist/fields/Group/index.js +1 -1
  341. package/dist/fields/Group/index.js.map +1 -1
  342. package/dist/fields/JSON/index.d.ts +8 -2
  343. package/dist/fields/JSON/index.d.ts.map +1 -1
  344. package/dist/fields/JSON/index.js +17 -11
  345. package/dist/fields/JSON/index.js.map +1 -1
  346. package/dist/fields/Number/index.d.ts +9 -2
  347. package/dist/fields/Number/index.d.ts.map +1 -1
  348. package/dist/fields/Number/index.js +36 -41
  349. package/dist/fields/Number/index.js.map +1 -1
  350. package/dist/fields/Password/index.js +3 -3
  351. package/dist/fields/Password/index.js.map +1 -1
  352. package/dist/fields/Password/input.js +7 -7
  353. package/dist/fields/Password/input.js.map +1 -1
  354. package/dist/fields/Password/types.d.ts +5 -5
  355. package/dist/fields/Password/types.d.ts.map +1 -1
  356. package/dist/fields/Password/types.js.map +1 -1
  357. package/dist/fields/Point/index.d.ts +10 -3
  358. package/dist/fields/Point/index.d.ts.map +1 -1
  359. package/dist/fields/Point/index.js +2 -1
  360. package/dist/fields/Point/index.js.map +1 -1
  361. package/dist/fields/RadioGroup/Radio/index.d.ts +2 -2
  362. package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  363. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  364. package/dist/fields/RadioGroup/index.d.ts +10 -2
  365. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  366. package/dist/fields/RadioGroup/index.js +36 -41
  367. package/dist/fields/RadioGroup/index.js.map +1 -1
  368. package/dist/fields/Relationship/createRelationMap.d.ts +1 -1
  369. package/dist/fields/Relationship/createRelationMap.d.ts.map +1 -1
  370. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  371. package/dist/fields/Relationship/index.d.ts +8 -2
  372. package/dist/fields/Relationship/index.d.ts.map +1 -1
  373. package/dist/fields/Relationship/index.js +418 -515
  374. package/dist/fields/Relationship/index.js.map +1 -1
  375. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  376. package/dist/fields/Relationship/optionsReducer.js +31 -1
  377. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  378. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts +6 -1
  379. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
  380. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +45 -82
  381. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  382. package/dist/fields/Relationship/select-components/MultiValueLabel/index.scss +4 -0
  383. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts +6 -1
  384. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
  385. package/dist/fields/Relationship/select-components/SingleValue/index.js +43 -92
  386. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  387. package/dist/fields/Relationship/select-components/SingleValue/index.scss +4 -0
  388. package/dist/fields/Relationship/types.d.ts +14 -5
  389. package/dist/fields/Relationship/types.d.ts.map +1 -1
  390. package/dist/fields/Relationship/types.js.map +1 -1
  391. package/dist/fields/RichText/index.d.ts +2 -2
  392. package/dist/fields/RichText/index.d.ts.map +1 -1
  393. package/dist/fields/RichText/index.js.map +1 -1
  394. package/dist/fields/Row/index.d.ts +9 -2
  395. package/dist/fields/Row/index.d.ts.map +1 -1
  396. package/dist/fields/Row/index.js.map +1 -1
  397. package/dist/fields/Row/index.scss +12 -2
  398. package/dist/fields/Select/Input.d.ts +5 -5
  399. package/dist/fields/Select/Input.d.ts.map +1 -1
  400. package/dist/fields/Select/Input.js +7 -7
  401. package/dist/fields/Select/Input.js.map +1 -1
  402. package/dist/fields/Select/index.d.ts +10 -2
  403. package/dist/fields/Select/index.d.ts.map +1 -1
  404. package/dist/fields/Select/index.js +11 -11
  405. package/dist/fields/Select/index.js.map +1 -1
  406. package/dist/fields/Tabs/index.d.ts +6 -2
  407. package/dist/fields/Tabs/index.d.ts.map +1 -1
  408. package/dist/fields/Tabs/index.js +1 -1
  409. package/dist/fields/Tabs/index.js.map +1 -1
  410. package/dist/fields/Text/Input.js +7 -7
  411. package/dist/fields/Text/Input.js.map +1 -1
  412. package/dist/fields/Text/index.d.ts +11 -3
  413. package/dist/fields/Text/index.d.ts.map +1 -1
  414. package/dist/fields/Text/index.js +4 -6
  415. package/dist/fields/Text/index.js.map +1 -1
  416. package/dist/fields/Text/types.d.ts +5 -5
  417. package/dist/fields/Text/types.d.ts.map +1 -1
  418. package/dist/fields/Text/types.js.map +1 -1
  419. package/dist/fields/Textarea/Input.js +7 -7
  420. package/dist/fields/Textarea/Input.js.map +1 -1
  421. package/dist/fields/Textarea/index.d.ts +13 -4
  422. package/dist/fields/Textarea/index.d.ts.map +1 -1
  423. package/dist/fields/Textarea/index.js +4 -6
  424. package/dist/fields/Textarea/index.js.map +1 -1
  425. package/dist/fields/Textarea/types.d.ts +5 -5
  426. package/dist/fields/Textarea/types.d.ts.map +1 -1
  427. package/dist/fields/Textarea/types.js.map +1 -1
  428. package/dist/fields/Upload/HasMany/index.d.ts +16 -2
  429. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
  430. package/dist/fields/Upload/HasMany/index.js +154 -223
  431. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  432. package/dist/fields/Upload/HasMany/index.scss +12 -56
  433. package/dist/fields/Upload/HasOne/index.d.ts +13 -9
  434. package/dist/fields/Upload/HasOne/index.d.ts.map +1 -1
  435. package/dist/fields/Upload/HasOne/index.js +36 -120
  436. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  437. package/dist/fields/Upload/HasOne/index.scss +0 -69
  438. package/dist/fields/Upload/{HasOne/Input.d.ts → Input.d.ts} +14 -9
  439. package/dist/fields/Upload/Input.d.ts.map +1 -0
  440. package/dist/fields/Upload/Input.js +672 -0
  441. package/dist/fields/Upload/Input.js.map +1 -0
  442. package/dist/fields/Upload/RelationshipContent/index.d.ts +21 -0
  443. package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -0
  444. package/dist/fields/Upload/RelationshipContent/index.js +140 -0
  445. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -0
  446. package/dist/fields/Upload/RelationshipContent/index.scss +54 -0
  447. package/dist/fields/Upload/UploadCard/index.d.ts +10 -0
  448. package/dist/fields/Upload/UploadCard/index.d.ts.map +1 -0
  449. package/dist/fields/Upload/UploadCard/index.js +15 -0
  450. package/dist/fields/Upload/UploadCard/index.js.map +1 -0
  451. package/dist/fields/Upload/UploadCard/index.scss +27 -0
  452. package/dist/fields/Upload/index.d.ts +6 -6
  453. package/dist/fields/Upload/index.d.ts.map +1 -1
  454. package/dist/fields/Upload/index.js +85 -90
  455. package/dist/fields/Upload/index.js.map +1 -1
  456. package/dist/fields/Upload/index.scss +62 -0
  457. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  458. package/dist/forms/Form/fieldReducer.js +6 -2
  459. package/dist/forms/Form/fieldReducer.js.map +1 -1
  460. package/dist/forms/Form/index.d.ts.map +1 -1
  461. package/dist/forms/Form/index.js +20 -8
  462. package/dist/forms/Form/index.js.map +1 -1
  463. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  464. package/dist/forms/Form/mergeServerFormState.js +3 -1
  465. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  466. package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
  467. package/dist/forms/Form/rowHelpers.js +9 -3
  468. package/dist/forms/Form/rowHelpers.js.map +1 -1
  469. package/dist/forms/Form/rows.d.ts.map +1 -1
  470. package/dist/forms/Form/rows.js +3 -1
  471. package/dist/forms/Form/rows.js.map +1 -1
  472. package/dist/forms/Form/types.d.ts +1 -1
  473. package/dist/forms/Form/types.d.ts.map +1 -1
  474. package/dist/forms/Form/types.js.map +1 -1
  475. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  476. package/dist/forms/NullifyField/index.js.map +1 -1
  477. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  478. package/dist/forms/RenderFields/RenderField.js +4 -2
  479. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  480. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  481. package/dist/forms/RenderFields/index.js +1 -1
  482. package/dist/forms/RenderFields/index.js.map +1 -1
  483. package/dist/forms/RowLabel/index.js +1 -1
  484. package/dist/forms/RowLabel/index.js.map +1 -1
  485. package/dist/forms/RowLabel/types.d.ts +1 -1
  486. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  487. package/dist/forms/RowLabel/types.js.map +1 -1
  488. package/dist/forms/Submit/index.js +12 -28
  489. package/dist/forms/Submit/index.js.map +1 -1
  490. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  491. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  492. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
  493. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +6 -2
  494. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  495. package/dist/graphics/Account/index.d.ts.map +1 -1
  496. package/dist/graphics/Account/index.js +1 -1
  497. package/dist/graphics/Account/index.js.map +1 -1
  498. package/dist/hooks/useDelay.js +15 -48
  499. package/dist/hooks/useDelay.js.map +1 -1
  500. package/dist/hooks/useDelayedRender.js +32 -71
  501. package/dist/hooks/useDelayedRender.js.map +1 -1
  502. package/dist/hooks/useHotkey.d.ts.map +1 -1
  503. package/dist/hooks/useHotkey.js.map +1 -1
  504. package/dist/hooks/useIgnoredEffect.d.ts +17 -0
  505. package/dist/hooks/useIgnoredEffect.d.ts.map +1 -0
  506. package/dist/hooks/useIgnoredEffect.js +28 -0
  507. package/dist/hooks/useIgnoredEffect.js.map +1 -0
  508. package/dist/hooks/useIntersect.d.ts.map +1 -1
  509. package/dist/hooks/useIntersect.js +14 -20
  510. package/dist/hooks/useIntersect.js.map +1 -1
  511. package/dist/hooks/useThrottledEffect.d.ts +7 -0
  512. package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
  513. package/dist/hooks/useThrottledEffect.js +7 -0
  514. package/dist/hooks/useThrottledEffect.js.map +1 -1
  515. package/dist/providers/Auth/index.d.ts +1 -1
  516. package/dist/providers/Auth/index.d.ts.map +1 -1
  517. package/dist/providers/Auth/index.js +6 -2
  518. package/dist/providers/Auth/index.js.map +1 -1
  519. package/dist/providers/Config/RenderComponent.d.ts +1 -1
  520. package/dist/providers/Config/RenderComponent.d.ts.map +1 -1
  521. package/dist/providers/Config/RenderComponent.js +2 -2
  522. package/dist/providers/Config/RenderComponent.js.map +1 -1
  523. package/dist/providers/Config/createClientConfig/collections.d.ts +6 -6
  524. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  525. package/dist/providers/Config/createClientConfig/collections.js +17 -13
  526. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  527. package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -1
  528. package/dist/providers/Config/createClientConfig/fields.js +31 -11
  529. package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
  530. package/dist/providers/Config/createClientConfig/getComponent.d.ts +1 -1
  531. package/dist/providers/Config/createClientConfig/getComponent.d.ts.map +1 -1
  532. package/dist/providers/Config/createClientConfig/getComponent.js +2 -2
  533. package/dist/providers/Config/createClientConfig/getComponent.js.map +1 -1
  534. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +1 -1
  535. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +3 -1
  536. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +1 -1
  537. package/dist/providers/Config/createClientConfig/globals.d.ts +4 -4
  538. package/dist/providers/Config/createClientConfig/globals.d.ts.map +1 -1
  539. package/dist/providers/Config/createClientConfig/globals.js +3 -3
  540. package/dist/providers/Config/createClientConfig/globals.js.map +1 -1
  541. package/dist/providers/Config/createClientConfig/index.d.ts +3 -3
  542. package/dist/providers/Config/createClientConfig/index.d.ts.map +1 -1
  543. package/dist/providers/Config/createClientConfig/index.js +20 -5
  544. package/dist/providers/Config/createClientConfig/index.js.map +1 -1
  545. package/dist/providers/DocumentEvents/index.js.map +1 -1
  546. package/dist/providers/DocumentInfo/index.d.ts +1 -1
  547. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  548. package/dist/providers/DocumentInfo/index.js +12 -4
  549. package/dist/providers/DocumentInfo/index.js.map +1 -1
  550. package/dist/providers/DocumentInfo/types.d.ts +20 -3
  551. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  552. package/dist/providers/DocumentInfo/types.js.map +1 -1
  553. package/dist/providers/ListInfo/index.d.ts +2 -2
  554. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  555. package/dist/providers/ListInfo/index.js.map +1 -1
  556. package/dist/providers/ListQuery/index.d.ts +12 -6
  557. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  558. package/dist/providers/ListQuery/index.js +32 -20
  559. package/dist/providers/ListQuery/index.js.map +1 -1
  560. package/dist/providers/Locale/index.d.ts.map +1 -1
  561. package/dist/providers/Locale/index.js.map +1 -1
  562. package/dist/providers/Preferences/index.d.ts.map +1 -1
  563. package/dist/providers/Preferences/index.js +4 -4
  564. package/dist/providers/Preferences/index.js.map +1 -1
  565. package/dist/providers/Root/index.d.ts +12 -12
  566. package/dist/providers/Root/index.d.ts.map +1 -1
  567. package/dist/providers/Root/index.js.map +1 -1
  568. package/dist/providers/Selection/index.d.ts +1 -1
  569. package/dist/providers/Selection/index.d.ts.map +1 -1
  570. package/dist/providers/Selection/index.js +118 -187
  571. package/dist/providers/Selection/index.js.map +1 -1
  572. package/dist/providers/WindowInfo/index.d.ts +1 -1
  573. package/dist/providers/WindowInfo/index.d.ts.map +1 -1
  574. package/dist/providers/WindowInfo/index.js +1 -1
  575. package/dist/providers/WindowInfo/index.js.map +1 -1
  576. package/dist/scss/app.scss +6 -6
  577. package/dist/scss/type.scss +4 -4
  578. package/dist/styles.css +1 -1
  579. package/dist/utilities/buildFormState.d.ts.map +1 -1
  580. package/dist/utilities/buildFormState.js +6 -2
  581. package/dist/utilities/buildFormState.js.map +1 -1
  582. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  583. package/dist/utilities/reduceFieldsToValuesWithValidation.js +6 -2
  584. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  585. package/package.json +13 -13
  586. package/dist/exports/client/chunk-UGBVRIVY.js +0 -14
  587. package/dist/exports/client/chunk-UGBVRIVY.js.map +0 -8
  588. package/dist/fields/Upload/HasOne/Input.d.ts.map +0 -1
  589. package/dist/fields/Upload/HasOne/Input.js +0 -324
  590. package/dist/fields/Upload/HasOne/Input.js.map +0 -1
  591. /package/dist/exports/client/{DatePicker-E6IJFDN2.js.map → DatePicker-OLRZVTAD.js.map} +0 -0
@@ -5,6 +5,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import { getTranslation } from '@payloadcms/translations';
6
6
  import React, { Fragment, useEffect } from 'react';
7
7
  import { useConfig } from '../../providers/Config/index.js';
8
+ import { useEditDepth } from '../../providers/EditDepth/index.js';
8
9
  import { useTranslation } from '../../providers/Translation/index.js';
9
10
  import { formatAdminURL } from '../../utilities/formatAdminURL.js';
10
11
  import { formatDate } from '../../utilities/formatDate.js';
@@ -27,14 +28,21 @@ export const DocumentControls = props => {
27
28
  slug,
28
29
  data,
29
30
  disableActions,
31
+ disableCreate,
30
32
  hasSavePermission,
31
33
  isAccountView,
32
34
  isEditing,
33
- permissions
35
+ onDelete,
36
+ onDrawerCreate,
37
+ onDuplicate,
38
+ permissions,
39
+ redirectAfterDelete,
40
+ redirectAfterDuplicate
34
41
  } = props;
35
42
  const {
36
43
  i18n
37
44
  } = useTranslation();
45
+ const editDepth = useEditDepth();
38
46
  const {
39
47
  config,
40
48
  getEntityConfig
@@ -172,15 +180,23 @@ export const DocumentControls = props => {
172
180
  verticalAlign: "bottom",
173
181
  children: _jsxs(PopupList.ButtonGroup, {
174
182
  children: [hasCreatePermission && _jsxs(React.Fragment, {
175
- children: [_jsx(PopupList.Button, {
176
- href: formatAdminURL({
177
- adminRoute,
178
- path: `/collections/${collectionConfig?.slug}/create`
179
- }),
180
- id: "action-create",
181
- children: i18n.t("general:createNew")
183
+ children: [!disableCreate && _jsx(Fragment, {
184
+ children: editDepth > 1 ? _jsx(PopupList.Button, {
185
+ id: "action-create",
186
+ onClick: onDrawerCreate,
187
+ children: i18n.t("general:createNew")
188
+ }) : _jsx(PopupList.Button, {
189
+ href: formatAdminURL({
190
+ adminRoute,
191
+ path: `/collections/${collectionConfig?.slug}/create`
192
+ }),
193
+ id: "action-create",
194
+ children: i18n.t("general:createNew")
195
+ })
182
196
  }), !collectionConfig.disableDuplicate && isEditing && _jsx(DuplicateDocument, {
183
197
  id: id.toString(),
198
+ onDuplicate,
199
+ redirectAfterDuplicate,
184
200
  singularLabel: collectionConfig?.labels?.singular,
185
201
  slug: collectionConfig?.slug
186
202
  })]
@@ -188,6 +204,8 @@ export const DocumentControls = props => {
188
204
  buttonId: "action-delete",
189
205
  collectionSlug: collectionConfig?.slug,
190
206
  id: id.toString(),
207
+ onDelete,
208
+ redirectAfterDelete,
191
209
  singularLabel: collectionConfig?.labels?.singular,
192
210
  useAsTitle: collectionConfig?.admin?.useAsTitle
193
211
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useEffect","useConfig","useTranslation","formatAdminURL","formatDate","Autosave","DeleteDocument","DuplicateDocument","Gutter","Popup","PopupList","PreviewButton","PublishButton","SaveButton","SaveDraftButton","Status","baseClass","DocumentControls","props","$","id","slug","data","disableActions","hasSavePermission","isAccountView","isEditing","permissions","i18n","config","getEntityConfig","collectionConfig","collectionSlug","globalConfig","globalSlug","admin","t0","routes","t1","dateFormat","adminRoute","updatedAt","setUpdatedAt","useState","createdAt","setCreatedAt","t2","t3","date","pattern","hasCreatePermission","create","permission","hasDeletePermission","delete","showDotMenu","Boolean","unsavedDraftWithValidations","versions","drafts","validate","_jsxs","className","children","_jsx","t","label","labels","singular","filter","join","autosave","collection","global","publishedDocUpdatedAt","timestamps","title","_isPreviewEnabled","CustomComponent","components","edit","elements","button","horizontalAlign","size","verticalAlign","ButtonGroup","Button","href","path","disableDuplicate","toString","singularLabel","buttonId","useAsTitle"],"sources":["../../../src/elements/DocumentControls/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n CollectionPermission,\n GlobalPermission,\n SanitizedCollectionConfig,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useEffect } from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { formatDate } from '../../utilities/formatDate.js'\nimport { Autosave } from '../Autosave/index.js'\nimport { DeleteDocument } from '../DeleteDocument/index.js'\nimport { DuplicateDocument } from '../DuplicateDocument/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { PreviewButton } from '../PreviewButton/index.js'\nimport { PublishButton } from '../PublishButton/index.js'\nimport { SaveButton } from '../SaveButton/index.js'\nimport { SaveDraftButton } from '../SaveDraftButton/index.js'\nimport { Status } from '../Status/index.js'\nimport './index.scss'\n\nconst baseClass = 'doc-controls'\n\nexport const DocumentControls: React.FC<{\n readonly apiURL: string\n readonly data?: any\n readonly disableActions?: boolean\n readonly hasPublishPermission?: boolean\n readonly hasSavePermission?: boolean\n readonly id?: number | string\n readonly isAccountView?: boolean\n readonly isEditing?: boolean\n readonly permissions: CollectionPermission | GlobalPermission | null\n readonly slug: SanitizedCollectionConfig['slug']\n}> = (props) => {\n const {\n id,\n slug,\n data,\n disableActions,\n hasSavePermission,\n isAccountView,\n isEditing,\n permissions,\n } = props\n\n const { i18n } = useTranslation()\n\n const { config, getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: slug }) as ClientCollectionConfig\n const globalConfig = getEntityConfig({ globalSlug: slug }) as ClientGlobalConfig\n\n const {\n admin: { dateFormat },\n routes: { admin: adminRoute },\n } = config\n\n // Settings these in state to avoid hydration issues if there is a mismatch between the server and client\n const [updatedAt, setUpdatedAt] = React.useState<string>('')\n const [createdAt, setCreatedAt] = React.useState<string>('')\n\n useEffect(() => {\n if (data?.updatedAt) {\n setUpdatedAt(formatDate({ date: data.updatedAt, i18n, pattern: dateFormat }))\n }\n if (data?.createdAt) {\n setCreatedAt(formatDate({ date: data.createdAt, i18n, pattern: dateFormat }))\n }\n }, [data, i18n, dateFormat])\n\n const hasCreatePermission =\n permissions && 'create' in permissions && permissions.create?.permission\n\n const hasDeletePermission =\n permissions && 'delete' in permissions && permissions.delete?.permission\n\n const showDotMenu = Boolean(\n collectionConfig && id && !disableActions && (hasCreatePermission || hasDeletePermission),\n )\n\n const unsavedDraftWithValidations =\n !id && collectionConfig?.versions?.drafts && collectionConfig.versions?.drafts.validate\n\n return (\n <Gutter className={baseClass}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <ul className={`${baseClass}__meta`}>\n {collectionConfig && !isEditing && !isAccountView && (\n <li className={`${baseClass}__list-item`}>\n <p className={`${baseClass}__value`}>\n {i18n.t('general:creatingNewLabel', {\n label: getTranslation(\n collectionConfig?.labels?.singular ?? i18n.t('general:document'),\n i18n,\n ),\n })}\n </p>\n </li>\n )}\n {(collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) && (\n <Fragment>\n {(globalConfig || (collectionConfig && isEditing)) && (\n <li\n className={[`${baseClass}__status`, `${baseClass}__list-item`]\n .filter(Boolean)\n .join(' ')}\n >\n <Status />\n </li>\n )}\n {((collectionConfig?.versions?.drafts &&\n collectionConfig?.versions?.drafts?.autosave &&\n !unsavedDraftWithValidations) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)) &&\n hasSavePermission && (\n <li className={`${baseClass}__list-item`}>\n <Autosave\n collection={collectionConfig}\n global={globalConfig}\n id={id}\n publishedDocUpdatedAt={data?.createdAt}\n />\n </li>\n )}\n </Fragment>\n )}\n {collectionConfig?.timestamps && (isEditing || isAccountView) && (\n <Fragment>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={data?.updatedAt ? updatedAt : ''}\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:lastModified')}:&nbsp;</p>\n {data?.updatedAt && <p className={`${baseClass}__value`}>{updatedAt}</p>}\n </li>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={data?.createdAt ? createdAt : ''}\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:created')}:&nbsp;</p>\n {data?.createdAt && <p className={`${baseClass}__value`}>{createdAt}</p>}\n </li>\n </Fragment>\n )}\n </ul>\n </div>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__controls`}>\n {(collectionConfig?._isPreviewEnabled || globalConfig?._isPreviewEnabled) && (\n <PreviewButton\n CustomComponent={\n collectionConfig?.admin?.components?.edit?.PreviewButton ||\n globalConfig?.admin?.components?.elements?.PreviewButton\n }\n />\n )}\n {hasSavePermission && (\n <React.Fragment>\n {collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts ? (\n <React.Fragment>\n {((collectionConfig?.versions?.drafts &&\n !collectionConfig?.versions?.drafts?.autosave) ||\n unsavedDraftWithValidations ||\n (globalConfig?.versions?.drafts &&\n !globalConfig?.versions?.drafts?.autosave)) && (\n <SaveDraftButton\n CustomComponent={\n collectionConfig?.admin?.components?.edit?.SaveDraftButton ||\n globalConfig?.admin?.components?.elements?.SaveDraftButton\n }\n />\n )}\n <PublishButton\n CustomComponent={\n collectionConfig?.admin?.components?.edit?.PublishButton ||\n globalConfig?.admin?.components?.elements?.PublishButton\n }\n />\n </React.Fragment>\n ) : (\n <SaveButton\n CustomComponent={\n collectionConfig?.admin?.components?.edit?.SaveButton ||\n globalConfig?.admin?.components?.elements?.SaveButton\n }\n />\n )}\n </React.Fragment>\n )}\n </div>\n {showDotMenu && (\n <Popup\n button={\n <div className={`${baseClass}__dots`}>\n <div />\n <div />\n <div />\n </div>\n }\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>\n {hasCreatePermission && (\n <React.Fragment>\n <PopupList.Button\n href={formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig?.slug}/create`,\n })}\n id=\"action-create\"\n >\n {i18n.t('general:createNew')}\n </PopupList.Button>\n {!collectionConfig.disableDuplicate && isEditing && (\n <DuplicateDocument\n id={id.toString()}\n singularLabel={collectionConfig?.labels?.singular}\n slug={collectionConfig?.slug}\n />\n )}\n </React.Fragment>\n )}\n {hasDeletePermission && (\n <DeleteDocument\n buttonId=\"action-delete\"\n collectionSlug={collectionConfig?.slug}\n id={id.toString()}\n singularLabel={collectionConfig?.labels?.singular}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n <div className={`${baseClass}__divider`} />\n </Gutter>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useEffect","useConfig","useEditDepth","useTranslation","formatAdminURL","formatDate","Autosave","DeleteDocument","DuplicateDocument","Gutter","Popup","PopupList","PreviewButton","PublishButton","SaveButton","SaveDraftButton","Status","baseClass","DocumentControls","props","$","id","slug","data","disableActions","disableCreate","hasSavePermission","isAccountView","isEditing","onDelete","onDrawerCreate","onDuplicate","permissions","redirectAfterDelete","redirectAfterDuplicate","i18n","editDepth","config","getEntityConfig","collectionConfig","collectionSlug","globalConfig","globalSlug","admin","t0","routes","t1","dateFormat","adminRoute","updatedAt","setUpdatedAt","useState","createdAt","setCreatedAt","t2","t3","date","pattern","hasCreatePermission","create","permission","hasDeletePermission","delete","showDotMenu","Boolean","unsavedDraftWithValidations","versions","drafts","validate","_jsxs","className","children","_jsx","t","label","labels","singular","filter","join","autosave","collection","global","publishedDocUpdatedAt","timestamps","title","_isPreviewEnabled","CustomComponent","components","edit","elements","button","horizontalAlign","size","verticalAlign","ButtonGroup","Button","onClick","href","path","disableDuplicate","toString","singularLabel","buttonId","useAsTitle"],"sources":["../../../src/elements/DocumentControls/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n CollectionPermission,\n GlobalPermission,\n SanitizedCollectionConfig,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useEffect } from 'react'\n\nimport type { DocumentInfoContext } from '../../providers/DocumentInfo/types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { formatDate } from '../../utilities/formatDate.js'\nimport { Autosave } from '../Autosave/index.js'\nimport { DeleteDocument } from '../DeleteDocument/index.js'\nimport { DuplicateDocument } from '../DuplicateDocument/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { PreviewButton } from '../PreviewButton/index.js'\nimport { PublishButton } from '../PublishButton/index.js'\nimport { SaveButton } from '../SaveButton/index.js'\nimport { SaveDraftButton } from '../SaveDraftButton/index.js'\nimport { Status } from '../Status/index.js'\nimport './index.scss'\n\nconst baseClass = 'doc-controls'\n\nexport const DocumentControls: React.FC<{\n readonly apiURL: string\n readonly data?: any\n readonly disableActions?: boolean\n readonly disableCreate?: boolean\n readonly hasPublishPermission?: boolean\n readonly hasSavePermission?: boolean\n id?: number | string\n readonly isAccountView?: boolean\n readonly isEditing?: boolean\n readonly onDelete?: DocumentInfoContext['onDelete']\n readonly onDrawerCreate?: () => void\n /* Only available if `redirectAfterDuplicate` is `false` */\n readonly onDuplicate?: DocumentInfoContext['onDuplicate']\n readonly onSave?: DocumentInfoContext['onSave']\n readonly permissions: CollectionPermission | GlobalPermission | null\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly slug: SanitizedCollectionConfig['slug']\n}> = (props) => {\n const {\n id,\n slug,\n data,\n disableActions,\n disableCreate,\n hasSavePermission,\n isAccountView,\n isEditing,\n onDelete,\n onDrawerCreate,\n onDuplicate,\n permissions,\n redirectAfterDelete,\n redirectAfterDuplicate,\n } = props\n\n const { i18n } = useTranslation()\n\n const editDepth = useEditDepth()\n\n const { config, getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: slug }) as ClientCollectionConfig\n const globalConfig = getEntityConfig({ globalSlug: slug }) as ClientGlobalConfig\n\n const {\n admin: { dateFormat },\n routes: { admin: adminRoute },\n } = config\n\n // Settings these in state to avoid hydration issues if there is a mismatch between the server and client\n const [updatedAt, setUpdatedAt] = React.useState<string>('')\n const [createdAt, setCreatedAt] = React.useState<string>('')\n\n useEffect(() => {\n if (data?.updatedAt) {\n setUpdatedAt(formatDate({ date: data.updatedAt, i18n, pattern: dateFormat }))\n }\n if (data?.createdAt) {\n setCreatedAt(formatDate({ date: data.createdAt, i18n, pattern: dateFormat }))\n }\n }, [data, i18n, dateFormat])\n\n const hasCreatePermission =\n permissions && 'create' in permissions && permissions.create?.permission\n\n const hasDeletePermission =\n permissions && 'delete' in permissions && permissions.delete?.permission\n\n const showDotMenu = Boolean(\n collectionConfig && id && !disableActions && (hasCreatePermission || hasDeletePermission),\n )\n\n const unsavedDraftWithValidations =\n !id && collectionConfig?.versions?.drafts && collectionConfig.versions?.drafts.validate\n\n return (\n <Gutter className={baseClass}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <ul className={`${baseClass}__meta`}>\n {collectionConfig && !isEditing && !isAccountView && (\n <li className={`${baseClass}__list-item`}>\n <p className={`${baseClass}__value`}>\n {i18n.t('general:creatingNewLabel', {\n label: getTranslation(\n collectionConfig?.labels?.singular ?? i18n.t('general:document'),\n i18n,\n ),\n })}\n </p>\n </li>\n )}\n {(collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) && (\n <Fragment>\n {(globalConfig || (collectionConfig && isEditing)) && (\n <li\n className={[`${baseClass}__status`, `${baseClass}__list-item`]\n .filter(Boolean)\n .join(' ')}\n >\n <Status />\n </li>\n )}\n {((collectionConfig?.versions?.drafts &&\n collectionConfig?.versions?.drafts?.autosave &&\n !unsavedDraftWithValidations) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)) &&\n hasSavePermission && (\n <li className={`${baseClass}__list-item`}>\n <Autosave\n collection={collectionConfig}\n global={globalConfig}\n id={id}\n publishedDocUpdatedAt={data?.createdAt}\n />\n </li>\n )}\n </Fragment>\n )}\n {collectionConfig?.timestamps && (isEditing || isAccountView) && (\n <Fragment>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={data?.updatedAt ? updatedAt : ''}\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:lastModified')}:&nbsp;</p>\n {data?.updatedAt && <p className={`${baseClass}__value`}>{updatedAt}</p>}\n </li>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={data?.createdAt ? createdAt : ''}\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:created')}:&nbsp;</p>\n {data?.createdAt && <p className={`${baseClass}__value`}>{createdAt}</p>}\n </li>\n </Fragment>\n )}\n </ul>\n </div>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__controls`}>\n {(collectionConfig?._isPreviewEnabled || globalConfig?._isPreviewEnabled) && (\n <PreviewButton\n CustomComponent={\n collectionConfig?.admin?.components?.edit?.PreviewButton ||\n globalConfig?.admin?.components?.elements?.PreviewButton\n }\n />\n )}\n {hasSavePermission && (\n <React.Fragment>\n {collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts ? (\n <React.Fragment>\n {((collectionConfig?.versions?.drafts &&\n !collectionConfig?.versions?.drafts?.autosave) ||\n unsavedDraftWithValidations ||\n (globalConfig?.versions?.drafts &&\n !globalConfig?.versions?.drafts?.autosave)) && (\n <SaveDraftButton\n CustomComponent={\n collectionConfig?.admin?.components?.edit?.SaveDraftButton ||\n globalConfig?.admin?.components?.elements?.SaveDraftButton\n }\n />\n )}\n <PublishButton\n CustomComponent={\n collectionConfig?.admin?.components?.edit?.PublishButton ||\n globalConfig?.admin?.components?.elements?.PublishButton\n }\n />\n </React.Fragment>\n ) : (\n <SaveButton\n CustomComponent={\n collectionConfig?.admin?.components?.edit?.SaveButton ||\n globalConfig?.admin?.components?.elements?.SaveButton\n }\n />\n )}\n </React.Fragment>\n )}\n </div>\n {showDotMenu && (\n <Popup\n button={\n <div className={`${baseClass}__dots`}>\n <div />\n <div />\n <div />\n </div>\n }\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>\n {hasCreatePermission && (\n <React.Fragment>\n {!disableCreate && (\n <Fragment>\n {editDepth > 1 ? (\n <PopupList.Button id=\"action-create\" onClick={onDrawerCreate}>\n {i18n.t('general:createNew')}\n </PopupList.Button>\n ) : (\n <PopupList.Button\n href={formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig?.slug}/create`,\n })}\n id=\"action-create\"\n >\n {i18n.t('general:createNew')}\n </PopupList.Button>\n )}\n </Fragment>\n )}\n {!collectionConfig.disableDuplicate && isEditing && (\n <DuplicateDocument\n id={id.toString()}\n onDuplicate={onDuplicate}\n redirectAfterDuplicate={redirectAfterDuplicate}\n singularLabel={collectionConfig?.labels?.singular}\n slug={collectionConfig?.slug}\n />\n )}\n </React.Fragment>\n )}\n {hasDeletePermission && (\n <DeleteDocument\n buttonId=\"action-delete\"\n collectionSlug={collectionConfig?.slug}\n id={id.toString()}\n onDelete={onDelete}\n redirectAfterDelete={redirectAfterDelete}\n singularLabel={collectionConfig?.labels?.singular}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n <div className={`${baseClass}__divider`} />\n </Gutter>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAG/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAcrD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA0F/D,CAAA"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAG/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAcrD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAoI/D,CAAA"}
@@ -6,8 +6,8 @@ import { useModal } from '@faceless-ui/modal';
6
6
  import React, { useCallback, useEffect, useState } from 'react';
7
7
  import { toast } from 'sonner';
8
8
  import { XIcon } from '../../icons/X/index.js';
9
- import { RenderComponent } from '../../providers/Config/RenderComponent.js';
10
9
  import { useConfig } from '../../providers/Config/index.js';
10
+ import { RenderComponent } from '../../providers/Config/RenderComponent.js';
11
11
  import { DocumentInfoProvider, useDocumentInfo } from '../../providers/DocumentInfo/index.js';
12
12
  import { useLocale } from '../../providers/Locale/index.js';
13
13
  import { useTranslation } from '../../providers/Translation/index.js';
@@ -17,13 +17,19 @@ import { IDLabel } from '../IDLabel/index.js';
17
17
  import { RenderTitle } from '../RenderTitle/index.js';
18
18
  import { baseClass } from './index.js';
19
19
  export const DocumentDrawerContent = t0 => {
20
- const $ = _c(29);
20
+ const $ = _c(44);
21
21
  const {
22
22
  id: existingDocID,
23
- Header,
23
+ AfterFields,
24
24
  collectionSlug,
25
+ disableActions,
25
26
  drawerSlug,
26
- onSave: onSaveFromProps
27
+ Header,
28
+ onDelete: onDeleteFromProps,
29
+ onDuplicate: onDuplicateFromProps,
30
+ onSave: onSaveFromProps,
31
+ redirectAfterDelete,
32
+ redirectAfterDuplicate
27
33
  } = t0;
28
34
  const {
29
35
  config
@@ -102,71 +108,130 @@ export const DocumentDrawerContent = t0 => {
102
108
  }
103
109
  const onSave = t5;
104
110
  let t6;
105
- if ($[12] !== Header) {
106
- t6 = Header || _jsx(RenderTitle, {
111
+ if ($[12] !== onDuplicateFromProps || $[13] !== collectionConfig) {
112
+ t6 = args_0 => {
113
+ setDocID(args_0.doc.id);
114
+ if (typeof onDuplicateFromProps === "function") {
115
+ onDuplicateFromProps({
116
+ ...args_0,
117
+ collectionConfig
118
+ });
119
+ }
120
+ };
121
+ $[12] = onDuplicateFromProps;
122
+ $[13] = collectionConfig;
123
+ $[14] = t6;
124
+ } else {
125
+ t6 = $[14];
126
+ }
127
+ const onDuplicate = t6;
128
+ let t7;
129
+ if ($[15] !== onDeleteFromProps || $[16] !== collectionConfig || $[17] !== closeModal || $[18] !== drawerSlug) {
130
+ t7 = args_1 => {
131
+ if (typeof onDeleteFromProps === "function") {
132
+ onDeleteFromProps({
133
+ ...args_1,
134
+ collectionConfig
135
+ });
136
+ }
137
+ closeModal(drawerSlug);
138
+ };
139
+ $[15] = onDeleteFromProps;
140
+ $[16] = collectionConfig;
141
+ $[17] = closeModal;
142
+ $[18] = drawerSlug;
143
+ $[19] = t7;
144
+ } else {
145
+ t7 = $[19];
146
+ }
147
+ const onDelete = t7;
148
+ let t8;
149
+ if ($[20] !== Header) {
150
+ t8 = Header || _jsx(RenderTitle, {
107
151
  element: "span"
108
152
  });
109
- $[12] = Header;
110
- $[13] = t6;
153
+ $[20] = Header;
154
+ $[21] = t8;
111
155
  } else {
112
- t6 = $[13];
156
+ t8 = $[21];
113
157
  }
114
- let t7;
115
- if ($[14] !== t6 || $[15] !== t || $[16] !== toggleModal || $[17] !== drawerSlug || $[18] !== Edit || $[19] !== apiURL || $[20] !== collectionConfig.slug || $[21] !== docID || $[22] !== isEditing || $[23] !== onLoadError || $[24] !== onSave) {
116
- let t8;
117
- if ($[26] !== toggleModal || $[27] !== drawerSlug) {
118
- t8 = () => toggleModal(drawerSlug);
119
- $[26] = toggleModal;
120
- $[27] = drawerSlug;
121
- $[28] = t8;
158
+ let t9;
159
+ if ($[22] !== t8 || $[23] !== t || $[24] !== toggleModal || $[25] !== drawerSlug || $[26] !== redirectAfterDelete || $[27] !== redirectAfterDuplicate || $[28] !== Edit || $[29] !== AfterFields || $[30] !== apiURL || $[31] !== collectionConfig.slug || $[32] !== disableActions || $[33] !== docID || $[34] !== isEditing || $[35] !== onDelete || $[36] !== onDuplicate || $[37] !== onLoadError || $[38] !== onSave) {
160
+ let t10;
161
+ if ($[40] !== toggleModal || $[41] !== drawerSlug) {
162
+ t10 = () => toggleModal(drawerSlug);
163
+ $[40] = toggleModal;
164
+ $[41] = drawerSlug;
165
+ $[42] = t10;
166
+ } else {
167
+ t10 = $[42];
168
+ }
169
+ let t11;
170
+ if ($[43] === Symbol.for("react.memo_cache_sentinel")) {
171
+ t11 = () => {
172
+ setDocID(null);
173
+ };
174
+ $[43] = t11;
122
175
  } else {
123
- t8 = $[28];
176
+ t11 = $[43];
124
177
  }
125
- t7 = _jsx(DocumentInfoProvider, {
178
+ t9 = _jsx(DocumentInfoProvider, {
179
+ AfterFields,
180
+ apiURL,
126
181
  BeforeDocument: _jsxs(Gutter, {
127
182
  className: `${baseClass}__header`,
128
183
  children: [_jsxs("div", {
129
184
  className: `${baseClass}__header-content`,
130
185
  children: [_jsx("h2", {
131
186
  className: `${baseClass}__header-text`,
132
- children: t6
187
+ children: t8
133
188
  }), _jsx("button", {
134
189
  "aria-label": t("general:close"),
135
190
  className: `${baseClass}__header-close`,
136
- onClick: t8,
191
+ onClick: t10,
137
192
  type: "button",
138
193
  children: _jsx(XIcon, {})
139
194
  })]
140
195
  }), _jsx(DocumentTitle, {})]
141
196
  }),
142
- apiURL,
143
197
  collectionSlug: collectionConfig.slug,
144
- disableActions: true,
198
+ disableActions,
145
199
  disableLeaveWithoutSaving: true,
146
200
  id: docID,
147
201
  isEditing,
202
+ onDelete,
203
+ onDrawerCreate: t11,
204
+ onDuplicate,
148
205
  onLoadError,
149
206
  onSave,
207
+ redirectAfterDelete: redirectAfterDelete !== undefined ? redirectAfterDelete : false,
208
+ redirectAfterDuplicate: redirectAfterDuplicate !== undefined ? redirectAfterDuplicate : false,
150
209
  children: _jsx(RenderComponent, {
151
210
  mappedComponent: Edit
152
211
  })
153
212
  });
154
- $[14] = t6;
155
- $[15] = t;
156
- $[16] = toggleModal;
157
- $[17] = drawerSlug;
158
- $[18] = Edit;
159
- $[19] = apiURL;
160
- $[20] = collectionConfig.slug;
161
- $[21] = docID;
162
- $[22] = isEditing;
163
- $[23] = onLoadError;
164
- $[24] = onSave;
165
- $[25] = t7;
213
+ $[22] = t8;
214
+ $[23] = t;
215
+ $[24] = toggleModal;
216
+ $[25] = drawerSlug;
217
+ $[26] = redirectAfterDelete;
218
+ $[27] = redirectAfterDuplicate;
219
+ $[28] = Edit;
220
+ $[29] = AfterFields;
221
+ $[30] = apiURL;
222
+ $[31] = collectionConfig.slug;
223
+ $[32] = disableActions;
224
+ $[33] = docID;
225
+ $[34] = isEditing;
226
+ $[35] = onDelete;
227
+ $[36] = onDuplicate;
228
+ $[37] = onLoadError;
229
+ $[38] = onSave;
230
+ $[39] = t9;
166
231
  } else {
167
- t7 = $[25];
232
+ t9 = $[39];
168
233
  }
169
- return t7;
234
+ return t9;
170
235
  };
171
236
  const DocumentTitle = () => {
172
237
  const $ = _c(3);
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","React","useCallback","useEffect","useState","toast","XIcon","RenderComponent","useConfig","DocumentInfoProvider","useDocumentInfo","useLocale","useTranslation","useRelatedCollections","Gutter","IDLabel","RenderTitle","baseClass","DocumentDrawerContent","t0","$","id","existingDocID","Header","collectionSlug","drawerSlug","onSave","onSaveFromProps","config","routes","t1","serverURL","api","apiRoute","closeModal","modalState","toggleModal","locale","t","docID","setDocID","isOpen","setIsOpen","collectionConfig","Edit","admin","components","views","edit","default","Component","isEditing","Boolean","apiURL","code","t2","t3","t4","data","error","errors","message","onLoadError","t5","args","doc","t6","_jsx","element","t8","t7","BeforeDocument","_jsxs","className","children","onClick","type","DocumentTitle","slug","disableActions","disableLeaveWithoutSaving","mappedComponent","title","toString"],"sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerProps } from './types.js'\n\nimport { XIcon } from '../../icons/X/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider, useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useRelatedCollections } from '../AddNewRelation/useRelatedCollections.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { IDLabel } from '../IDLabel/index.js'\nimport { RenderTitle } from '../RenderTitle/index.js'\nimport { baseClass } from './index.js'\n\nexport const DocumentDrawerContent: React.FC<DocumentDrawerProps> = ({\n id: existingDocID,\n Header,\n collectionSlug,\n drawerSlug,\n onSave: onSaveFromProps,\n}) => {\n const { config } = useConfig()\n\n const {\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const { closeModal, modalState, toggleModal } = useModal()\n const locale = useLocale()\n const { t } = useTranslation()\n const [docID, setDocID] = useState(existingDocID)\n const [isOpen, setIsOpen] = useState(false)\n const [collectionConfig] = useRelatedCollections(collectionSlug)\n\n const Edit = collectionConfig.admin.components.views.edit.default.Component\n\n const isEditing = Boolean(docID)\n const apiURL = docID\n ? `${serverURL}${apiRoute}/${collectionSlug}/${docID}${locale?.code ? `?locale=${locale.code}` : ''}`\n : null\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n const onLoadError = React.useCallback(\n (data) => {\n if (isOpen) {\n closeModal(drawerSlug)\n toast.error(data.errors?.[0].message || t('error:unspecific'))\n }\n },\n [closeModal, drawerSlug, isOpen, t],\n )\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n setDocID(args.doc.id)\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onSaveFromProps, collectionConfig],\n )\n\n return (\n <DocumentInfoProvider\n BeforeDocument={\n <Gutter className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {Header || <RenderTitle element=\"span\" />}\n </h2>\n {/* TODO: the `button` HTML element breaks CSS transitions on the drawer for some reason...\n i.e. changing to a `div` element will fix the animation issue but will break accessibility\n */}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => toggleModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <DocumentTitle />\n </Gutter>\n }\n apiURL={apiURL}\n collectionSlug={collectionConfig.slug}\n disableActions\n disableLeaveWithoutSaving\n id={docID}\n isEditing={isEditing}\n onLoadError={onLoadError}\n onSave={onSave}\n >\n <RenderComponent mappedComponent={Edit} />\n </DocumentInfoProvider>\n )\n}\n\nconst DocumentTitle: React.FC = () => {\n const { id, title } = useDocumentInfo()\n return id && id !== title ? <IDLabel id={id.toString()} /> : null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","React","useCallback","useEffect","useState","toast","XIcon","useConfig","RenderComponent","DocumentInfoProvider","useDocumentInfo","useLocale","useTranslation","useRelatedCollections","Gutter","IDLabel","RenderTitle","baseClass","DocumentDrawerContent","t0","$","id","existingDocID","AfterFields","collectionSlug","disableActions","drawerSlug","Header","onDelete","onDeleteFromProps","onDuplicate","onDuplicateFromProps","onSave","onSaveFromProps","redirectAfterDelete","redirectAfterDuplicate","config","routes","t1","serverURL","api","apiRoute","closeModal","modalState","toggleModal","locale","t","docID","setDocID","isOpen","setIsOpen","collectionConfig","Edit","admin","components","views","edit","default","Component","isEditing","Boolean","apiURL","code","t2","t3","t4","data","error","errors","message","onLoadError","t5","args","doc","t6","args_0","t7","args_1","t8","_jsx","element","t10","t11","Symbol","for","t9","BeforeDocument","_jsxs","className","children","onClick","type","DocumentTitle","slug","disableLeaveWithoutSaving","onDrawerCreate","undefined","mappedComponent","title","toString"],"sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerProps } from './types.js'\n\nimport { XIcon } from '../../icons/X/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { DocumentInfoProvider, useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useRelatedCollections } from '../AddNewRelation/useRelatedCollections.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { IDLabel } from '../IDLabel/index.js'\nimport { RenderTitle } from '../RenderTitle/index.js'\nimport { baseClass } from './index.js'\n\nexport const DocumentDrawerContent: React.FC<DocumentDrawerProps> = ({\n id: existingDocID,\n AfterFields,\n collectionSlug,\n disableActions,\n drawerSlug,\n Header,\n onDelete: onDeleteFromProps,\n onDuplicate: onDuplicateFromProps,\n onSave: onSaveFromProps,\n redirectAfterDelete,\n redirectAfterDuplicate,\n}) => {\n const { config } = useConfig()\n\n const {\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const { closeModal, modalState, toggleModal } = useModal()\n const locale = useLocale()\n const { t } = useTranslation()\n const [docID, setDocID] = useState(existingDocID)\n const [isOpen, setIsOpen] = useState(false)\n const [collectionConfig] = useRelatedCollections(collectionSlug)\n\n const Edit = collectionConfig.admin.components.views.edit.default.Component\n\n const isEditing = Boolean(docID)\n const apiURL = docID\n ? `${serverURL}${apiRoute}/${collectionSlug}/${docID}${locale?.code ? `?locale=${locale.code}` : ''}`\n : null\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n const onLoadError = React.useCallback(\n (data) => {\n if (isOpen) {\n closeModal(drawerSlug)\n toast.error(data.errors?.[0].message || t('error:unspecific'))\n }\n },\n [closeModal, drawerSlug, isOpen, t],\n )\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n setDocID(args.doc.id)\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onSaveFromProps, collectionConfig],\n )\n\n const onDuplicate = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n setDocID(args.doc.id)\n\n if (typeof onDuplicateFromProps === 'function') {\n void onDuplicateFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onDuplicateFromProps, collectionConfig],\n )\n\n const onDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n if (typeof onDeleteFromProps === 'function') {\n void onDeleteFromProps({\n ...args,\n collectionConfig,\n })\n }\n\n closeModal(drawerSlug)\n },\n [onDeleteFromProps, collectionConfig, closeModal, drawerSlug],\n )\n\n return (\n <DocumentInfoProvider\n AfterFields={AfterFields}\n apiURL={apiURL}\n BeforeDocument={\n <Gutter className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {Header || <RenderTitle element=\"span\" />}\n </h2>\n {/* TODO: the `button` HTML element breaks CSS transitions on the drawer for some reason...\n i.e. changing to a `div` element will fix the animation issue but will break accessibility\n */}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => toggleModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <DocumentTitle />\n </Gutter>\n }\n collectionSlug={collectionConfig.slug}\n disableActions={disableActions}\n disableLeaveWithoutSaving\n id={docID}\n isEditing={isEditing}\n onDelete={onDelete}\n onDrawerCreate={() => {\n setDocID(null)\n }}\n onDuplicate={onDuplicate}\n onLoadError={onLoadError}\n onSave={onSave}\n redirectAfterDelete={redirectAfterDelete !== undefined ? redirectAfterDelete : false}\n redirectAfterDuplicate={redirectAfterDuplicate !== undefined ? redirectAfterDuplicate : false}\n >\n <RenderComponent mappedComponent={Edit} />\n </DocumentInfoProvider>\n )\n}\n\nconst DocumentTitle: React.FC = () => {\n const { id, title } = useDocumentInfo()\n return id && id !== title ? <IDLabel id={id.toString()} /> : null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -102,9 +102,9 @@ export const DocumentDrawer = props => {
102
102
  drawerSlug
103
103
  } = props;
104
104
  return /*#__PURE__*/_jsx(Drawer, {
105
- Header: null,
106
105
  className: baseClass,
107
106
  gutter: false,
107
+ Header: null,
108
108
  slug: drawerSlug,
109
109
  children: /*#__PURE__*/_jsx(DocumentDrawerContent, {
110
110
  ...props
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","React","useCallback","useEffect","useId","useMemo","useState","useEditDepth","useTranslation","useRelatedCollections","Drawer","DrawerToggler","DocumentDrawerContent","baseClass","formatDocumentDrawerSlug","id","collectionSlug","depth","uuid","DocumentDrawerToggler","t0","$","className","disabled","drawerSlug","rest","children","i18n","t","collectionConfig","t1","t2","labels","singular","t3","label","t4","filter","Boolean","_jsx","join","slug","DocumentDrawer","props","Header","gutter","useDocumentDrawer","drawerDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","toggleDrawer","t5","closeDrawer","t6","openDrawer","t7","t8","_createElement","key","MemoizedDrawer","t9","t10","props_0","MemoizedDrawerToggler","t11","t12","isDrawerOpen","MemoizedDrawerState","t13"],"sources":["../../../src/elements/DocumentDrawer/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type { DocumentDrawerProps, DocumentTogglerProps, UseDocumentDrawer } from './types.js'\n\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useRelatedCollections } from '../AddNewRelation/useRelatedCollections.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { DocumentDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const baseClass = 'doc-drawer'\n\nconst formatDocumentDrawerSlug = ({\n id,\n collectionSlug,\n depth,\n uuid,\n}: {\n collectionSlug: string\n depth: number\n id: number | string\n uuid: string // supply when creating a new document and no id is available\n}) => `doc-drawer_${collectionSlug}_${depth}${id ? `_${id}` : ''}_${uuid}`\n\nexport const DocumentDrawerToggler: React.FC<DocumentTogglerProps> = ({\n id,\n children,\n className,\n collectionSlug,\n disabled,\n drawerSlug,\n ...rest\n}) => {\n const { i18n, t } = useTranslation()\n const [collectionConfig] = useRelatedCollections(collectionSlug)\n\n return (\n <DrawerToggler\n aria-label={t(!id ? 'fields:addNewLabel' : 'general:editLabel', {\n label: getTranslation(collectionConfig.labels.singular, i18n),\n })}\n className={[className, `${baseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const DocumentDrawer: React.FC<DocumentDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer Header={null} className={baseClass} gutter={false} slug={drawerSlug}>\n <DocumentDrawerContent {...props} />\n </Drawer>\n )\n}\n\nexport const useDocumentDrawer: UseDocumentDrawer = ({ id, collectionSlug }) => {\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n\n const drawerSlug = formatDocumentDrawerSlug({\n id,\n collectionSlug,\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [closeModal, drawerSlug])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [openModal, drawerSlug])\n\n const MemoizedDrawer = useMemo(() => {\n return (props) => (\n <DocumentDrawer\n {...props}\n collectionSlug={collectionSlug}\n drawerSlug={drawerSlug}\n id={id}\n key={drawerSlug}\n />\n )\n }, [id, drawerSlug, collectionSlug])\n\n const MemoizedDrawerToggler = useMemo(() => {\n return (props) => (\n <DocumentDrawerToggler\n {...props}\n collectionSlug={collectionSlug}\n drawerSlug={drawerSlug}\n id={id}\n />\n )\n }, [id, drawerSlug, collectionSlug])\n\n const MemoizedDrawerState = useMemo(\n () => ({\n closeDrawer,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n toggleDrawer,\n }),\n [drawerDepth, drawerSlug, isOpen, toggleDrawer, closeDrawer, openDrawer],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","React","useCallback","useEffect","useId","useMemo","useState","useEditDepth","useTranslation","useRelatedCollections","Drawer","DrawerToggler","DocumentDrawerContent","baseClass","formatDocumentDrawerSlug","id","collectionSlug","depth","uuid","DocumentDrawerToggler","t0","$","className","disabled","drawerSlug","rest","children","i18n","t","collectionConfig","t1","t2","labels","singular","t3","label","t4","filter","Boolean","_jsx","join","slug","DocumentDrawer","props","gutter","Header","useDocumentDrawer","drawerDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","toggleDrawer","t5","closeDrawer","t6","openDrawer","t7","t8","_createElement","key","MemoizedDrawer","t9","t10","props_0","MemoizedDrawerToggler","t11","t12","isDrawerOpen","MemoizedDrawerState","t13"],"sources":["../../../src/elements/DocumentDrawer/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type { DocumentDrawerProps, DocumentTogglerProps, UseDocumentDrawer } from './types.js'\n\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useRelatedCollections } from '../AddNewRelation/useRelatedCollections.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { DocumentDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const baseClass = 'doc-drawer'\n\nconst formatDocumentDrawerSlug = ({\n id,\n collectionSlug,\n depth,\n uuid,\n}: {\n collectionSlug: string\n depth: number\n id: number | string\n uuid: string // supply when creating a new document and no id is available\n}) => `doc-drawer_${collectionSlug}_${depth}${id ? `_${id}` : ''}_${uuid}`\n\nexport const DocumentDrawerToggler: React.FC<DocumentTogglerProps> = ({\n id,\n children,\n className,\n collectionSlug,\n disabled,\n drawerSlug,\n ...rest\n}) => {\n const { i18n, t } = useTranslation()\n const [collectionConfig] = useRelatedCollections(collectionSlug)\n\n return (\n <DrawerToggler\n aria-label={t(!id ? 'fields:addNewLabel' : 'general:editLabel', {\n label: getTranslation(collectionConfig.labels.singular, i18n),\n })}\n className={[className, `${baseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const DocumentDrawer: React.FC<DocumentDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer className={baseClass} gutter={false} Header={null} slug={drawerSlug}>\n <DocumentDrawerContent {...props} />\n </Drawer>\n )\n}\n\nexport const useDocumentDrawer: UseDocumentDrawer = ({ id, collectionSlug }) => {\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n\n const drawerSlug = formatDocumentDrawerSlug({\n id,\n collectionSlug,\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [closeModal, drawerSlug])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [openModal, drawerSlug])\n\n const MemoizedDrawer = useMemo(() => {\n return (props) => (\n <DocumentDrawer\n {...props}\n collectionSlug={collectionSlug}\n drawerSlug={drawerSlug}\n id={id}\n key={drawerSlug}\n />\n )\n }, [id, drawerSlug, collectionSlug])\n\n const MemoizedDrawerToggler = useMemo(() => {\n return (props) => (\n <DocumentDrawerToggler\n {...props}\n collectionSlug={collectionSlug}\n drawerSlug={drawerSlug}\n id={id}\n />\n )\n }, [id, drawerSlug, collectionSlug])\n\n const MemoizedDrawerState = useMemo(\n () => ({\n closeDrawer,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n toggleDrawer,\n }),\n [drawerDepth, drawerSlug, isOpen, toggleDrawer, closeDrawer, openDrawer],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;;AACA,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,KAAK,EAAEC,OAAO,EAAEC,QAAQ,QAAQ;AAIxE,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAC/B,SAASC,qBAAqB,QAAQ;AACtC,SAASC,MAAM,EAAEC,aAAa,QAAQ;AACtC,SAASC,qBAAqB,QAAQ;AACtC,OAAO;AAEP,OAAO,MAAMC,SAAA,GAAY;AAEzB,MAAMC,wBAAA,GAA2BA,CAAC;EAChCC,EAAE;EACFC,cAAc;EACdC,KAAK;EACLC;AAAI,CAML,KAAK,cAAcF,cAAA,IAAkBC,KAAA,GAAQF,EAAA,GAAK,IAAIA,EAAA,EAAI,GAAG,MAAMG,IAAA,EAAM;AAE1E,OAAO,MAAMC,qBAAA,GAAwDC,EAAA;EAAA,MAAAC,CAAA,GAAAvB,EAAA;EAAA,IAAAkB,cAAA;EAAA,IAAAD,EAAA;EAAA,IAAAO,SAAA;EAAA,IAAAC,QAAA;EAAA,IAAAC,UAAA;EAAA,IAAAC,IAAA;EAAA,IAAAC,QAAA;EAAA,IAAAL,CAAA,QAAAD,EAAA;IAAC;MAAAL,EAAA;MAAAW,QAAA;MAAAJ,SAAA;MAAAN,cAAA;MAAAO,QAAA;MAAAC,UAAA;MAAA,GAAAC;IAAA,IAAAL,EAQrE;IAAAC,CAAA,MAAAD,EAAA;IAAAC,CAAA,MAAAL,cAAA;IAAAK,CAAA,MAAAN,EAAA;IAAAM,CAAA,MAAAC,SAAA;IAAAD,CAAA,MAAAE,QAAA;IAAAF,CAAA,MAAAG,UAAA;IAAAH,CAAA,MAAAI,IAAA;IAAAJ,CAAA,MAAAK,QAAA;EAAA;IAAAV,cAAA,GAAAK,CAAA;IAAAN,EAAA,GAAAM,CAAA;IAAAC,SAAA,GAAAD,CAAA;IAAAE,QAAA,GAAAF,CAAA;IAAAG,UAAA,GAAAH,CAAA;IAAAI,IAAA,GAAAJ,CAAA;IAAAK,QAAA,GAAAL,CAAA;EAAA;EACC;IAAAM,IAAA;IAAAC;EAAA,IAAoBpB,cAAA;EACpB,OAAAqB,gBAAA,IAA2BpB,qBAAA,CAAsBO,cAAA;EAI/B,MAAAc,EAAA,IAACf,EAAA,GAAK,uBAAuB;EAAA,IAAAgB,EAAA;EAAA,IAAAV,CAAA,QAAAQ,gBAAA,CAAAG,MAAA,CAAAC,QAAA,IAAAZ,CAAA,QAAAM,IAAA,IAAAN,CAAA,SAAAO,CAAA,IAAAP,CAAA,SAAAS,EAAA,IAAAT,CAAA,SAAAC,SAAA,IAAAD,CAAA,SAAAE,QAAA,IAAAF,CAAA,SAAAG,UAAA,IAAAH,CAAA,SAAAI,IAAA,IAAAJ,CAAA,SAAAK,QAAA;IAA/B,MAAAQ,EAAA,GAAAN,CAAA,CAAEE,EAA6B;MAAAK,KAAA,EAClCnC,cAAA,CAAe6B,gBAAA,CAAAG,MAAA,CAAAC,QAAA,EAAkCN,IAAA;IAAA,CAC1D;IAAA,IAAAS,EAAA;IAAA,IAAAf,CAAA,SAAAC,SAAA;MACWc,EAAA,IAACd,SAAA,EAAW,GAAAT,SAAA,WAAuB,EAAAwB,MAAA,CAAAC,OAAS;MAAAjB,CAAA,OAAAC,SAAA;MAAAD,CAAA,OAAAe,EAAA;IAAA;MAAAA,EAAA,GAAAf,CAAA;IAAA;IAJzDU,EAAA,GAAAQ,IAAA,CAAA5B,aAAA;MAAA,cACcuB,EAEZ;MAAAZ,SAAA,EACWc,EAA4C,CAAAI,IAAA,CAAc;MAAAjB,QAAA;MAAAkB,IAAA,EAE/DjB,UAAA;MAAA,GACFC,IAAI;MAAAC;IAAA,C;;;;;;;;;;;;;;SAPVK,E;CAYJ;AAEA,OAAO,MAAMW,cAAA,GAAiDC,KAAA;EAC5D,MAAM;IAAEnB;EAAU,CAAE,GAAGmB,KAAA;EAEvB,oBACEJ,IAAA,CAAC7B,MAAA;IAAOY,SAAA,EAAWT,SAAA;IAAW+B,MAAA,EAAQ;IAAOC,MAAA,EAAQ;IAAMJ,IAAA,EAAMjB,UAAA;cAC/D,aAAAe,IAAA,CAAC3B,qBAAA;MAAuB,GAAG+B;;;AAGjC;AAEA,OAAO,MAAMG,iBAAA,GAAuC1B,EAAA;EAAA,MAAAC,CAAA,GAAAvB,EAAA;EAAC;IAAAiB,EAAA;IAAAC;EAAA,IAAAI,EAAsB;EACzE,MAAA2B,WAAA,GAAoBxC,YAAA;EACpB,MAAAW,IAAA,GAAad,KAAA;EACb;IAAA4C,UAAA;IAAAC,UAAA;IAAAC,SAAA;IAAAC;EAAA,IAA2DpD,QAAA;EAC3D,OAAAqD,MAAA,EAAAC,SAAA,IAA4B/C,QAAA,MAAS;EAAA,IAAAwB,EAAA;EAAA,IAAAT,CAAA,QAAAN,EAAA,IAAAM,CAAA,QAAAL,cAAA,IAAAK,CAAA,QAAA0B,WAAA,IAAA1B,CAAA,QAAAH,IAAA;IAElBY,EAAA,GAAAhB,wBAAA;MAAAC,EAAA;MAAAC,cAAA;MAAAC,KAAA,EAGV8B,WAAA;MAAA7B;IAAA,CAET;IAAAG,CAAA,MAAAN,EAAA;IAAAM,CAAA,MAAAL,cAAA;IAAAK,CAAA,MAAA0B,WAAA;IAAA1B,CAAA,MAAAH,IAAA;IAAAG,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EALA,MAAAG,UAAA,GAAmBM,EAKnB;EAAA,IAAAC,EAAA;EAAA,IAAAG,EAAA;EAAA,IAAAb,CAAA,QAAA4B,UAAA,IAAA5B,CAAA,QAAAG,UAAA;IAEUO,EAAA,GAAAA,CAAA;MACRsB,SAAA,CAAUf,OAAA,CAAQW,UAAU,CAACzB,UAAA,GAAA4B,MAAa;IAAA;IACzClB,EAAA,IAACe,UAAA,EAAYzB,UAAA;IAAWH,CAAA,MAAA4B,UAAA;IAAA5B,CAAA,MAAAG,UAAA;IAAAH,CAAA,MAAAU,EAAA;IAAAV,CAAA,MAAAa,EAAA;EAAA;IAAAH,EAAA,GAAAV,CAAA;IAAAa,EAAA,GAAAb,CAAA;EAAA;EAF3BlB,SAAA,CAAU4B,EAEV,EAAGG,EAAwB;EAAA,IAAAE,EAAA;EAAA,IAAAf,CAAA,QAAA8B,WAAA,IAAA9B,CAAA,SAAAG,UAAA;IAEMY,EAAA,GAAAA,CAAA;MAC/Be,WAAA,CAAY3B,UAAA;IAAA;IACdH,CAAA,MAAA8B,WAAA;IAAA9B,CAAA,OAAAG,UAAA;IAAAH,CAAA,OAAAe,EAAA;EAAA;IAAAA,EAAA,GAAAf,CAAA;EAAA;EAFA,MAAAiC,YAAA,GAAqBlB,EAEO;EAAA,IAAAmB,EAAA;EAAA,IAAAlC,CAAA,SAAA2B,UAAA,IAAA3B,CAAA,SAAAG,UAAA;IAEI+B,EAAA,GAAAA,CAAA;MAC9BP,UAAA,CAAWxB,UAAA;IAAA;IACbH,CAAA,OAAA2B,UAAA;IAAA3B,CAAA,OAAAG,UAAA;IAAAH,CAAA,OAAAkC,EAAA;EAAA;IAAAA,EAAA,GAAAlC,CAAA;EAAA;EAFA,MAAAmC,WAAA,GAAoBD,EAEO;EAAA,IAAAE,EAAA;EAAA,IAAApC,CAAA,SAAA6B,SAAA,IAAA7B,CAAA,SAAAG,UAAA;IAEIiC,EAAA,GAAAA,CAAA;MAC7BP,SAAA,CAAU1B,UAAA;IAAA;IACZH,CAAA,OAAA6B,SAAA;IAAA7B,CAAA,OAAAG,UAAA;IAAAH,CAAA,OAAAoC,EAAA;EAAA;IAAAA,EAAA,GAAApC,CAAA;EAAA;EAFA,MAAAqC,UAAA,GAAmBD,EAEO;EAAA,IAAAE,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAvC,CAAA,SAAAL,cAAA,IAAAK,CAAA,SAAAG,UAAA,IAAAH,CAAA,SAAAN,EAAA;IAGjB6C,EAAA,GAAAjB,KAAA,IACLkB,cAAA,CAAAnB,cAAA;MAAA,GACMC,KAAK;MAAA3B,cAAA;MAAAQ,UAAA;MAAAT,EAAA;MAAA+C,GAAA,EAIJtC;IAAA,C;;;;;;;;EANTmC,EAAA,GAAOC,E;EADT,MAAAG,cAAA,GAAuBJ,EAUY;EAAA,IAAAK,EAAA;EAAA,IAAAC,GAAA;EAAA,IAAA5C,CAAA,SAAAL,cAAA,IAAAK,CAAA,SAAAG,UAAA,IAAAH,CAAA,SAAAN,EAAA;IAG1BkD,GAAA,GAAAC,OAAA,IACL3B,IAAA,CAAApB,qBAAA;MAAA,GACMwB,OAAK;MAAA3B,cAAA;MAAAQ,UAAA;MAAAT;IAAA,C;;;;;;;;EAFbiD,EAAA,GAAOC,G;EADT,MAAAE,qBAAA,GAA8BH,EASK;EAAA,IAAAI,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAhD,CAAA,SAAAmC,WAAA,IAAAnC,CAAA,SAAA0B,WAAA,IAAA1B,CAAA,SAAAG,UAAA,IAAAH,CAAA,SAAA+B,MAAA,IAAA/B,CAAA,SAAAqC,UAAA,IAAArC,CAAA,SAAAiC,YAAA;IAG1Be,GAAA;MAAAb,WAAA;MAAAT,WAAA;MAAAvB,UAAA;MAAA8C,YAAA,EAISlB,MAAA;MAAAM,UAAA;MAAAJ;IAAA;IAGhBjC,CAAA,OAAAmC,WAAA;IAAAnC,CAAA,OAAA0B,WAAA;IAAA1B,CAAA,OAAAG,UAAA;IAAAH,CAAA,OAAA+B,MAAA;IAAA/B,CAAA,OAAAqC,UAAA;IAAArC,CAAA,OAAAiC,YAAA;IAAAjC,CAAA,OAAAgD,GAAA;EAAA;IAAAA,GAAA,GAAAhD,CAAA;EAAA;EAAA+C,GAAA,GAPOC,GAOP;EARF,MAAAE,mBAAA,GAA4BH,GAS8C;EAAA,IAAAI,GAAA;EAAA,IAAAnD,CAAA,SAAA0C,cAAA,IAAA1C,CAAA,SAAA8C,qBAAA,IAAA9C,CAAA,SAAAkD,mBAAA;IAGnEC,GAAA,IAACT,cAAA,EAAgBI,qBAAA,EAAuBI,mBAAA;IAAoBlD,CAAA,OAAA0C,cAAA;IAAA1C,CAAA,OAAA8C,qBAAA;IAAA9C,CAAA,OAAAkD,mBAAA;IAAAlD,CAAA,OAAAmD,GAAA;EAAA;IAAAA,GAAA,GAAAnD,CAAA;EAAA;EAAA,OAA5DmD,GAA4D;AAAA,CACrE","ignoreList":[]}
@@ -3,10 +3,16 @@ import type { HTMLAttributes } from 'react';
3
3
  import type { DocumentInfoContext } from '../../providers/DocumentInfo/types.js';
4
4
  import type { Props as DrawerProps } from '../Drawer/types.js';
5
5
  export type DocumentDrawerProps = {
6
+ readonly AfterFields?: React.ReactNode;
6
7
  readonly collectionSlug: string;
8
+ readonly disableActions?: boolean;
7
9
  readonly drawerSlug?: string;
8
10
  readonly id?: null | number | string;
11
+ readonly onDelete?: DocumentInfoContext['onDelete'];
12
+ readonly onDuplicate?: DocumentInfoContext['onDuplicate'];
9
13
  readonly onSave?: DocumentInfoContext['onSave'];
14
+ readonly redirectAfterDelete?: boolean;
15
+ readonly redirectAfterDuplicate?: boolean;
10
16
  } & Pick<DrawerProps, 'Header'>;
11
17
  export type DocumentTogglerProps = {
12
18
  readonly children?: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAChF,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAE9D,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;CAChD,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AAE/B,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,KAAK;IAC1F,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC7D;QACE,WAAW,EAAE,MAAM,IAAI,CAAA;QACvB,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,OAAO,CAAA;QACrB,UAAU,EAAE,MAAM,IAAI,CAAA;QACtB,YAAY,EAAE,MAAM,IAAI,CAAA;KACzB;CACF,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAChF,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAE9D,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAA;IACnD,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC/C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAC1C,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AAE/B,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,KAAK;IAC1F,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC7D;QACE,WAAW,EAAE,MAAM,IAAI,CAAA;QACvB,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,OAAO,CAAA;QACrB,UAAU,EAAE,MAAM,IAAI,CAAA;QACtB,YAAY,EAAE,MAAM,IAAI,CAAA;KACzB;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/DocumentDrawer/types.ts"],"sourcesContent":["import type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { DocumentInfoContext } from '../../providers/DocumentInfo/types.js'\nimport type { Props as DrawerProps } from '../Drawer/types.js'\n\nexport type DocumentDrawerProps = {\n readonly collectionSlug: string\n readonly drawerSlug?: string\n readonly id?: null | number | string\n readonly onSave?: DocumentInfoContext['onSave']\n} & Pick<DrawerProps, 'Header'>\n\nexport type DocumentTogglerProps = {\n readonly children?: React.ReactNode\n readonly className?: string\n readonly collectionSlug: string\n readonly disabled?: boolean\n readonly drawerSlug?: string\n readonly id?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseDocumentDrawer = (args: { collectionSlug: string; id?: number | string }) => [\n React.FC<Omit<DocumentDrawerProps, 'collectionSlug' | 'id'>>, // drawer\n React.FC<Omit<DocumentTogglerProps, 'collectionSlug' | 'id'>>, // toggler\n {\n closeDrawer: () => void\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n toggleDrawer: () => void\n },\n]\n"],"mappings":"AAsBA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/DocumentDrawer/types.ts"],"sourcesContent":["import type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { DocumentInfoContext } from '../../providers/DocumentInfo/types.js'\nimport type { Props as DrawerProps } from '../Drawer/types.js'\n\nexport type DocumentDrawerProps = {\n readonly AfterFields?: React.ReactNode\n readonly collectionSlug: string\n readonly disableActions?: boolean\n readonly drawerSlug?: string\n readonly id?: null | number | string\n readonly onDelete?: DocumentInfoContext['onDelete']\n readonly onDuplicate?: DocumentInfoContext['onDuplicate']\n readonly onSave?: DocumentInfoContext['onSave']\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n} & Pick<DrawerProps, 'Header'>\n\nexport type DocumentTogglerProps = {\n readonly children?: React.ReactNode\n readonly className?: string\n readonly collectionSlug: string\n readonly disabled?: boolean\n readonly drawerSlug?: string\n readonly id?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseDocumentDrawer = (args: { collectionSlug: string; id?: number | string }) => [\n React.FC<Omit<DocumentDrawerProps, 'collectionSlug' | 'id'>>, // drawer\n React.FC<Omit<DocumentTogglerProps, 'collectionSlug' | 'id'>>, // toggler\n {\n closeDrawer: () => void\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n toggleDrawer: () => void\n },\n]\n"],"mappings":"AA4BA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DraggableSortable/index.tsx"],"names":[],"mappings":"AAaA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAEjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAmD7C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DraggableSortable/index.tsx"],"names":[],"mappings":"AAaA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAEjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuD7C,CAAA"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
- import { DndContext, KeyboardSensor, PointerSensor, closestCenter, useDroppable, useSensor, useSensors } from '@dnd-kit/core';
5
+ import { closestCenter, DndContext, KeyboardSensor, PointerSensor, useDroppable, useSensor, useSensors } from '@dnd-kit/core';
6
6
  import { SortableContext, sortableKeyboardCoordinates } from '@dnd-kit/sortable';
7
7
  import React, { useCallback, useId } from 'react';
8
8
  export const DraggableSortable = props => {
@@ -55,6 +55,7 @@ export const DraggableSortable = props => {
55
55
  active,
56
56
  over
57
57
  } = event;
58
+ event.activatorEvent.stopPropagation();
58
59
  if (!active || !over) {
59
60
  return;
60
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","DndContext","KeyboardSensor","PointerSensor","closestCenter","useDroppable","useSensor","useSensors","SortableContext","sortableKeyboardCoordinates","React","useCallback","useId","DraggableSortable","props","$","children","className","ids","onDragEnd","id","t0","setNodeRef","t1","Symbol","for","activationConstraint","distance","t2","coordinateGetter","sensors","t3","event","active","over","moveFromIndex","findIndex","_id","moveToIndex","_id_0","handleDragEnd","t4","_jsx","collisionDetection","items","ref"],"sources":["../../../src/elements/DraggableSortable/index.tsx"],"sourcesContent":["'use client'\nimport type { DragEndEvent } from '@dnd-kit/core'\n\nimport {\n DndContext,\n KeyboardSensor,\n PointerSensor,\n closestCenter,\n useDroppable,\n useSensor,\n useSensors,\n} from '@dnd-kit/core'\nimport { SortableContext, sortableKeyboardCoordinates } from '@dnd-kit/sortable'\nimport React, { useCallback, useId } from 'react'\n\nimport type { Props } from './types.js'\n\nexport { Props }\n\nexport const DraggableSortable: React.FC<Props> = (props) => {\n const { children, className, ids, onDragEnd } = props\n\n const id = useId()\n\n const { setNodeRef } = useDroppable({\n id,\n })\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n distance: 5,\n },\n }),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n )\n\n const handleDragEnd = useCallback(\n (event: DragEndEvent) => {\n const { active, over } = event\n\n if (!active || !over) return\n\n if (typeof onDragEnd === 'function') {\n onDragEnd({\n event,\n moveFromIndex: ids.findIndex((_id) => _id === active.id),\n moveToIndex: ids.findIndex((_id) => _id === over.id),\n })\n }\n },\n [onDragEnd, ids],\n )\n\n return (\n <DndContext\n collisionDetection={closestCenter}\n id={id}\n onDragEnd={handleDragEnd}\n sensors={sensors}\n >\n <SortableContext items={ids}>\n <div className={className} ref={setNodeRef}>\n {children}\n </div>\n </SortableContext>\n </DndContext>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SACEC,UAAU,EACVC,cAAc,EACdC,aAAa,EACbC,aAAa,EACbC,YAAY,EACZC,SAAS,EACTC,UAAU,QACL;AACP,SAASC,eAAe,EAAEC,2BAA2B,QAAQ;AAC7D,OAAOC,KAAA,IAASC,WAAW,EAAEC,KAAK,QAAQ;AAM1C,OAAO,MAAMC,iBAAA,GAAqCC,KAAA;EAAA,MAAAC,CAAA,GAAAf,EAAA;EAChD;IAAAgB,QAAA;IAAAC,SAAA;IAAAC,GAAA;IAAAC;EAAA,IAAgDL,KAAA;EAEhD,MAAAM,EAAA,GAAWR,KAAA;EAAA,IAAAS,EAAA;EAAA,IAAAN,CAAA,QAAAK,EAAA;IAEyBC,EAAA;MAAAD;IAAA;IAEpCL,CAAA,MAAAK,EAAA;IAAAL,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAFA;IAAAO;EAAA,IAAuBjB,YAAA,CAAagB,EAEpC;EAAA,IAAAE,EAAA;EAAA,IAAAR,CAAA,QAAAS,MAAA,CAAAC,GAAA;IAG2BF,EAAA;MAAAG,oBAAA;QAAAC,QAAA;MAAA;IAAA;IAIzBZ,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAAA,IAAAa,EAAA;EAAA,IAAAb,CAAA,QAAAS,MAAA,CAAAC,GAAA;IAC0BG,EAAA;MAAAC,gBAAA,EAAApB;IAAA;IAE1BM,CAAA,MAAAa,EAAA;EAAA;IAAAA,EAAA,GAAAb,CAAA;EAAA;EARF,MAAAe,OAAA,GAAgBvB,UAAA,CACdD,SAAA,CAAAH,aAAA,EAAyBoB,EAIzB,GACAjB,SAAA,CAAAJ,cAAA,EAA0B0B,EAE1B;EAAA,IAAAG,EAAA;EAAA,IAAAhB,CAAA,QAAAI,SAAA,IAAAJ,CAAA,QAAAG,GAAA;IAIAa,EAAA,GAAAC,KAAA;MACE;QAAAC,MAAA;QAAAC;MAAA,IAAyBF,KAAA;MAAA,IAErB,CAACC,MAAA,KAAWC,IAAA;QAAA;MAAA;MAAA,IAEZ,OAAOf,SAAA,KAAc;QACvBA,SAAA;UAAAa,KAAA;UAAAG,aAAA,EAEiBjB,GAAA,CAAAkB,SAAA,CAAAC,GAAA,IAAuBA,GAAA,KAAQJ,MAAA,CAAAb,EAAS;UAAAkB,WAAA,EAC1CpB,GAAA,CAAAkB,SAAA,CAAAG,KAAA,IAAuBF,KAAA,KAAQH,IAAA,CAAAd,EAAO;QAAA,CACrD;MAAA;IAAA;IAEJL,CAAA,MAAAI,SAAA;IAAAJ,CAAA,MAAAG,GAAA;IAAAH,CAAA,MAAAgB,EAAA;EAAA;IAAAA,EAAA,GAAAhB,CAAA;EAAA;EAbF,MAAAyB,aAAA,GAAsBT,EAcJ;EAAA,IAAAU,EAAA;EAAA,IAAA1B,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAO,UAAA,IAAAP,CAAA,QAAAC,QAAA,IAAAD,CAAA,SAAAG,GAAA,IAAAH,CAAA,SAAAK,EAAA,IAAAL,CAAA,SAAAyB,aAAA,IAAAzB,CAAA,SAAAe,OAAA;IAIhBW,EAAA,GAAAC,IAAA,CAAAzC,UAAA;MAAA0C,kBAAA,EAAAvC,aAAA;MAAAgB,EAAA;MAAAD,SAAA,EAGaqB,aAAA;MAAAV,OAAA;MAAAd,QAAA,EAGX0B,IAAA,CAAAlC,eAAA;QAAAoC,KAAA,EAAwB1B,GAAA;QAAAF,QAAA,EACtB0B,IAAA,CAAC;UAAAzB,SAAA;UAAA4B,GAAA,EAA+BvB,UAAA;UAAAN;QAAA,C;;;;;;;;;;;;;;SAPpCyB,E;CAaJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","closestCenter","DndContext","KeyboardSensor","PointerSensor","useDroppable","useSensor","useSensors","SortableContext","sortableKeyboardCoordinates","React","useCallback","useId","DraggableSortable","props","$","children","className","ids","onDragEnd","id","t0","setNodeRef","t1","Symbol","for","activationConstraint","distance","t2","coordinateGetter","sensors","t3","event","active","over","activatorEvent","stopPropagation","moveFromIndex","findIndex","_id","moveToIndex","_id_0","handleDragEnd","t4","_jsx","collisionDetection","items","ref"],"sources":["../../../src/elements/DraggableSortable/index.tsx"],"sourcesContent":["'use client'\nimport type { DragEndEvent } from '@dnd-kit/core'\n\nimport {\n closestCenter,\n DndContext,\n KeyboardSensor,\n PointerSensor,\n useDroppable,\n useSensor,\n useSensors,\n} from '@dnd-kit/core'\nimport { SortableContext, sortableKeyboardCoordinates } from '@dnd-kit/sortable'\nimport React, { useCallback, useId } from 'react'\n\nimport type { Props } from './types.js'\n\nexport { Props }\n\nexport const DraggableSortable: React.FC<Props> = (props) => {\n const { children, className, ids, onDragEnd } = props\n\n const id = useId()\n\n const { setNodeRef } = useDroppable({\n id,\n })\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n distance: 5,\n },\n }),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n )\n\n const handleDragEnd = useCallback(\n (event: DragEndEvent) => {\n const { active, over } = event\n\n event.activatorEvent.stopPropagation()\n\n if (!active || !over) {\n return\n }\n\n if (typeof onDragEnd === 'function') {\n onDragEnd({\n event,\n moveFromIndex: ids.findIndex((_id) => _id === active.id),\n moveToIndex: ids.findIndex((_id) => _id === over.id),\n })\n }\n },\n [onDragEnd, ids],\n )\n\n return (\n <DndContext\n collisionDetection={closestCenter}\n id={id}\n onDragEnd={handleDragEnd}\n sensors={sensors}\n >\n <SortableContext items={ids}>\n <div className={className} ref={setNodeRef}>\n {children}\n </div>\n </SortableContext>\n </DndContext>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SACEC,aAAa,EACbC,UAAU,EACVC,cAAc,EACdC,aAAa,EACbC,YAAY,EACZC,SAAS,EACTC,UAAU,QACL;AACP,SAASC,eAAe,EAAEC,2BAA2B,QAAQ;AAC7D,OAAOC,KAAA,IAASC,WAAW,EAAEC,KAAK,QAAQ;AAM1C,OAAO,MAAMC,iBAAA,GAAqCC,KAAA;EAAA,MAAAC,CAAA,GAAAf,EAAA;EAChD;IAAAgB,QAAA;IAAAC,SAAA;IAAAC,GAAA;IAAAC;EAAA,IAAgDL,KAAA;EAEhD,MAAAM,EAAA,GAAWR,KAAA;EAAA,IAAAS,EAAA;EAAA,IAAAN,CAAA,QAAAK,EAAA;IAEyBC,EAAA;MAAAD;IAAA;IAEpCL,CAAA,MAAAK,EAAA;IAAAL,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAFA;IAAAO;EAAA,IAAuBjB,YAAA,CAAagB,EAEpC;EAAA,IAAAE,EAAA;EAAA,IAAAR,CAAA,QAAAS,MAAA,CAAAC,GAAA;IAG2BF,EAAA;MAAAG,oBAAA;QAAAC,QAAA;MAAA;IAAA;IAIzBZ,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAAA,IAAAa,EAAA;EAAA,IAAAb,CAAA,QAAAS,MAAA,CAAAC,GAAA;IAC0BG,EAAA;MAAAC,gBAAA,EAAApB;IAAA;IAE1BM,CAAA,MAAAa,EAAA;EAAA;IAAAA,EAAA,GAAAb,CAAA;EAAA;EARF,MAAAe,OAAA,GAAgBvB,UAAA,CACdD,SAAA,CAAAF,aAAA,EAAyBmB,EAIzB,GACAjB,SAAA,CAAAH,cAAA,EAA0ByB,EAE1B;EAAA,IAAAG,EAAA;EAAA,IAAAhB,CAAA,QAAAI,SAAA,IAAAJ,CAAA,QAAAG,GAAA;IAIAa,EAAA,GAAAC,KAAA;MACE;QAAAC,MAAA;QAAAC;MAAA,IAAyBF,KAAA;MAEzBA,KAAA,CAAAG,cAAA,CAAAC,eAAA,CAAoC;MAAA,IAEhC,CAACH,MAAA,KAAWC,IAAA;QAAA;MAAA;MAAA,IAIZ,OAAOf,SAAA,KAAc;QACvBA,SAAA;UAAAa,KAAA;UAAAK,aAAA,EAEiBnB,GAAA,CAAAoB,SAAA,CAAAC,GAAA,IAAuBA,GAAA,KAAQN,MAAA,CAAAb,EAAS;UAAAoB,WAAA,EAC1CtB,GAAA,CAAAoB,SAAA,CAAAG,KAAA,IAAuBF,KAAA,KAAQL,IAAA,CAAAd,EAAO;QAAA,CACrD;MAAA;IAAA;IAEJL,CAAA,MAAAI,SAAA;IAAAJ,CAAA,MAAAG,GAAA;IAAAH,CAAA,MAAAgB,EAAA;EAAA;IAAAA,EAAA,GAAAhB,CAAA;EAAA;EAjBF,MAAA2B,aAAA,GAAsBX,EAkBJ;EAAA,IAAAY,EAAA;EAAA,IAAA5B,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAO,UAAA,IAAAP,CAAA,QAAAC,QAAA,IAAAD,CAAA,SAAAG,GAAA,IAAAH,CAAA,SAAAK,EAAA,IAAAL,CAAA,SAAA2B,aAAA,IAAA3B,CAAA,SAAAe,OAAA;IAIhBa,EAAA,GAAAC,IAAA,CAAA1C,UAAA;MAAA2C,kBAAA,EAAA5C,aAAA;MAAAmB,EAAA;MAAAD,SAAA,EAGauB,aAAA;MAAAZ,OAAA;MAAAd,QAAA,EAGX4B,IAAA,CAAApC,eAAA;QAAAsC,KAAA,EAAwB5B,GAAA;QAAAF,QAAA,EACtB4B,IAAA,CAAC;UAAA3B,SAAA;UAAA8B,GAAA,EAA+BzB,UAAA;UAAAN;QAAA,C;;;;;;;;;;;;;;SAPpC2B,E;CAaJ","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { Props, TogglerProps } from './types.js';
3
3
  import './index.scss';
4
+ export declare const drawerZBase = 100;
4
5
  export declare const formatDrawerSlug: ({ slug, depth }: {
5
6
  depth: number;
6
7
  slug: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Drawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAMrD,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,gBAAgB,oBAAqB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,MACzD,CAAA;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAuBhD,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuFlC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Drawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAMrD,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,WAAW,MAAM,CAAA;AAE9B,eAAO,MAAM,gBAAgB,oBAAqB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,MACzD,CAAA;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAyBhD,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuFlC,CAAA"}